- Add nuxt-skills (vue, nuxt, nuxt-ui) to .claude/skills/ - Create useCustomerSelection() composable for managing insured/buyer selection - Create usePolicyApi() composable for policy API operations - Update auto quote components to use insured/buyer instead of client - Update vehicle fields: remove valorVehiculo, add market_value, requested_value, rc_limits - Make chassis_number and engine_number optional - Update auto quote types and composables to match new API structure - Update auto quote page to submit to policy API with new structure
46 lines
1.9 KiB
Markdown
46 lines
1.9 KiB
Markdown
# DropdownMenu
|
|
|
|
A menu to display actions when clicking on an element.
|
|
|
|
> Based on [Reka UI DropdownMenu](https://reka-ui.com/docs/components/dropdown-menu)
|
|
|
|
## Key Props
|
|
|
|
- `items`: as an array of objects with the following properties:
|
|
|
|
- `label?: string`{lang="ts-type"}
|
|
- `icon?: string`{lang="ts-type"}
|
|
- `avatar?: AvatarProps`{lang="ts-type"}
|
|
- `kbds?: string[] | KbdProps[]`{lang="ts-type"}
|
|
- [`type?: "link" | "label" | "separator" | "checkbox"`{lang="ts-type"}](#with-checkbox-items)
|
|
- [`color?: "error" | "primary" | "secondary" | "success" | "info" | "warning" | "neutral"`{lang="ts-type"}](#with-color-items)
|
|
- [`checked?: boolean`{lang="ts-type"}](#with-checkbox-items)
|
|
- `disabled?: boolean`{lang="ts-type"}
|
|
- [`slot?: string`{lang="ts-type"}](#with-custom-slot)
|
|
- `onSelect?: (e: Event) => void`{lang="ts-type"}
|
|
- [`onUpdateChecked?: (checked: boolean) => void`{lang="ts-type"}](#with-checkbox-items)
|
|
- `children?: DropdownMenuItem[] | DropdownMenuItem[][]`{lang="ts-type"}
|
|
- `class?: any`{lang="ts-type"}
|
|
- `ui?: { item?: ClassNameValue, label?: ClassNameValue, separator?: ClassNameValue, itemLeadingIcon?: ClassNameValue, itemLeadingAvatarSize?: ClassNameValue, itemLeadingAvatar?: ClassNameValue, itemLabel?: ClassNameValue, itemLabelExternalIcon?: ClassNameValue, itemTrailing?: ClassNameValue, itemTrailingIcon?: ClassNameValue, itemTrailingKbds?: ClassNameValue, itemTrailingKbdsSize?: ClassNameValue }`{lang="ts-type"}
|
|
|
|
You can pass any property from the [Link](/docs/components/link#props) component such as `to`, `target`, etc.
|
|
|
|
- `content`: to control how the DropdownMenu content is rendered, like its `align` or `side` for example.
|
|
- `arrow`: to display an arrow on the DropdownMenu.
|
|
- `size`: to control the size of the DropdownMenu.
|
|
- `modal`: to control whether the DropdownMenu blocks interaction with outside content.
|
|
- `disabled`: to disable the DropdownMenu.
|
|
- `slot`:
|
|
|
|
## Usage
|
|
|
|
```vue
|
|
<UDropdownMenu
|
|
<!-- props here -->
|
|
/>
|
|
```
|
|
|
|
## Slots
|
|
|
|
- `#item`
|