@volverjs/ui-vue 0.0.10-beta.5 → 0.0.10-beta.51
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +148 -51
- package/auto-imports.d.ts +25 -12
- package/bin/icons.cjs +1 -1
- package/bin/icons.js +28 -20
- package/dist/Volver.d.ts +11 -11
- package/dist/components/VvAccordion/VvAccordion.es.js +192 -104
- package/dist/components/VvAccordion/VvAccordion.umd.js +1 -1
- package/dist/components/VvAccordion/VvAccordion.vue.d.ts +29 -10
- package/dist/components/VvAccordion/index.d.ts +8 -9
- package/dist/components/VvAccordionGroup/VvAccordionGroup.es.js +485 -206
- package/dist/components/VvAccordionGroup/VvAccordionGroup.umd.js +1 -1
- package/dist/components/VvAccordionGroup/VvAccordionGroup.vue.d.ts +61 -18
- package/dist/components/VvAccordionGroup/index.d.ts +16 -8
- package/dist/components/VvAction/VvAction.es.js +84 -33
- package/dist/components/VvAction/VvAction.umd.js +1 -1
- package/dist/components/VvAction/VvAction.vue.d.ts +61 -28
- package/dist/components/VvAction/index.d.ts +26 -10
- package/dist/components/VvAlert/VvAlert.es.js +350 -318
- package/dist/components/VvAlert/VvAlert.umd.js +1 -1
- package/dist/components/VvAlert/VvAlert.vue.d.ts +25 -17
- package/dist/components/VvAlert/index.d.ts +20 -11
- package/dist/components/VvAlertGroup/VvAlertGroup.es.js +388 -327
- package/dist/components/VvAlertGroup/VvAlertGroup.umd.js +1 -1
- package/dist/components/VvAlertGroup/VvAlertGroup.vue.d.ts +22 -17
- package/dist/components/VvAlertGroup/index.d.ts +10 -18
- package/dist/components/VvAvatar/VvAvatar.es.js +66 -28
- package/dist/components/VvAvatar/VvAvatar.umd.js +1 -1
- package/dist/components/VvAvatar/VvAvatar.vue.d.ts +13 -5
- package/dist/components/VvAvatar/index.d.ts +4 -1
- package/dist/components/VvAvatarGroup/VvAvatarGroup.es.js +147 -74
- package/dist/components/VvAvatarGroup/VvAvatarGroup.umd.js +1 -1
- package/dist/components/VvAvatarGroup/VvAvatarGroup.vue.d.ts +17 -10
- package/dist/components/VvAvatarGroup/index.d.ts +6 -3
- package/dist/components/VvBadge/VvBadge.es.js +78 -34
- package/dist/components/VvBadge/VvBadge.umd.js +1 -1
- package/dist/components/VvBadge/VvBadge.vue.d.ts +13 -5
- package/dist/components/VvBadge/index.d.ts +4 -1
- package/dist/components/VvBreadcrumb/VvBreadcrumb.es.js +294 -83
- package/dist/components/VvBreadcrumb/VvBreadcrumb.umd.js +1 -1
- package/dist/components/VvBreadcrumb/VvBreadcrumb.vue.d.ts +28 -8
- package/dist/components/VvBreadcrumb/index.d.ts +6 -10
- package/dist/components/VvButton/VvButton.es.js +510 -488
- package/dist/components/VvButton/VvButton.umd.js +1 -1
- package/dist/components/VvButton/VvButton.vue.d.ts +97 -45
- package/dist/components/VvButton/index.d.ts +52 -30
- package/dist/components/VvButtonGroup/VvButtonGroup.es.js +95 -45
- package/dist/components/VvButtonGroup/VvButtonGroup.umd.js +1 -1
- package/dist/components/VvButtonGroup/VvButtonGroup.vue.d.ts +35 -17
- package/dist/components/VvButtonGroup/index.d.ts +13 -4
- package/dist/components/VvCard/VvCard.es.js +87 -42
- package/dist/components/VvCard/VvCard.umd.js +1 -1
- package/dist/components/VvCard/VvCard.vue.d.ts +13 -5
- package/dist/components/VvCard/index.d.ts +4 -1
- package/dist/components/VvCheckbox/VvCheckbox.es.js +177 -136
- package/dist/components/VvCheckbox/VvCheckbox.umd.js +1 -1
- package/dist/components/VvCheckbox/VvCheckbox.vue.d.ts +105 -35
- package/dist/components/VvCheckbox/index.d.ts +52 -19
- package/dist/components/VvCheckboxGroup/VvCheckboxGroup.es.js +408 -322
- package/dist/components/VvCheckboxGroup/VvCheckboxGroup.umd.js +1 -1
- package/dist/components/VvCheckboxGroup/VvCheckboxGroup.vue.d.ts +103 -34
- package/dist/components/VvCheckboxGroup/index.d.ts +45 -12
- package/dist/components/VvCombobox/VvCombobox.es.js +1963 -1639
- package/dist/components/VvCombobox/VvCombobox.umd.js +1 -1
- package/dist/components/VvCombobox/VvCombobox.vue.d.ts +260 -672
- package/dist/components/VvCombobox/index.d.ts +385 -135
- package/dist/components/VvDialog/VvDialog.es.js +177 -297
- package/dist/components/VvDialog/VvDialog.umd.js +1 -1
- package/dist/components/VvDialog/VvDialog.vue.d.ts +23 -7
- package/dist/components/VvDialog/index.d.ts +12 -0
- package/dist/components/VvDropdown/VvDropdown.es.js +172 -102
- package/dist/components/VvDropdown/VvDropdown.umd.js +1 -1
- package/dist/components/VvDropdown/VvDropdown.vue.d.ts +110 -315
- package/dist/components/VvDropdown/VvDropdownAction.vue.d.ts +77 -28
- package/dist/components/VvDropdown/VvDropdownItem.vue.d.ts +13 -1
- package/dist/components/VvDropdown/VvDropdownOptgroup.vue.d.ts +13 -5
- package/dist/components/VvDropdown/VvDropdownOption.vue.d.ts +38 -10
- package/dist/components/VvDropdown/index.d.ts +52 -118
- package/dist/components/VvDropdownAction/VvDropdownAction.es.js +165 -60
- package/dist/components/VvDropdownAction/VvDropdownAction.umd.js +1 -1
- package/dist/components/VvDropdownItem/VvDropdownItem.es.js +337 -10
- package/dist/components/VvDropdownItem/VvDropdownItem.umd.js +1 -1
- package/dist/components/VvDropdownOptgroup/VvDropdownOptgroup.es.js +63 -20
- package/dist/components/VvDropdownOptgroup/VvDropdownOptgroup.umd.js +1 -1
- package/dist/components/VvDropdownOption/VvDropdownOption.es.js +188 -80
- package/dist/components/VvDropdownOption/VvDropdownOption.umd.js +1 -1
- package/dist/components/VvIcon/VvIcon.es.js +24 -102
- package/dist/components/VvIcon/VvIcon.umd.js +1 -1
- package/dist/components/VvIcon/VvIcon.vue.d.ts +4 -68
- package/dist/components/VvIcon/index.d.ts +33 -48
- package/dist/components/VvInputFile/VvInputFile.es.js +1777 -0
- package/dist/components/VvInputFile/VvInputFile.umd.js +1 -0
- package/dist/components/VvInputFile/VvInputFile.vue.d.ts +317 -0
- package/dist/components/VvInputFile/index.d.ts +193 -0
- package/dist/components/VvInputText/VvInputClearAction.d.ts +16 -10
- package/dist/components/VvInputText/VvInputPasswordAction.d.ts +20 -14
- package/dist/components/VvInputText/VvInputStepAction.d.ts +11 -7
- package/dist/components/VvInputText/VvInputText.es.js +1495 -548
- package/dist/components/VvInputText/VvInputText.umd.js +1 -1
- package/dist/components/VvInputText/VvInputText.vue.d.ts +216 -68
- package/dist/components/VvInputText/index.d.ts +101 -31
- package/dist/components/VvNav/VvNav.es.js +155 -75
- package/dist/components/VvNav/VvNav.umd.js +1 -1
- package/dist/components/VvNav/VvNav.vue.d.ts +32 -11
- package/dist/components/VvNav/VvNavItem.vue.d.ts +1 -1
- package/dist/components/VvNav/VvNavSeparator.vue.d.ts +1 -1
- package/dist/components/VvNav/index.d.ts +5 -2
- package/dist/components/VvNavItem/VvNavItem.es.js +100 -39
- package/dist/components/VvNavItem/VvNavItem.umd.js +1 -1
- package/dist/components/VvProgress/VvProgress.es.js +73 -27
- package/dist/components/VvProgress/VvProgress.umd.js +1 -1
- package/dist/components/VvProgress/VvProgress.vue.d.ts +13 -6
- package/dist/components/VvProgress/index.d.ts +4 -1
- package/dist/components/VvRadio/VvRadio.es.js +175 -135
- package/dist/components/VvRadio/VvRadio.umd.js +1 -1
- package/dist/components/VvRadio/VvRadio.vue.d.ts +103 -33
- package/dist/components/VvRadio/index.d.ts +50 -17
- package/dist/components/VvRadioGroup/VvRadioGroup.es.js +406 -321
- package/dist/components/VvRadioGroup/VvRadioGroup.umd.js +1 -1
- package/dist/components/VvRadioGroup/VvRadioGroup.vue.d.ts +103 -34
- package/dist/components/VvRadioGroup/index.d.ts +45 -12
- package/dist/components/VvSelect/VvSelect.es.js +677 -611
- package/dist/components/VvSelect/VvSelect.umd.js +1 -1
- package/dist/components/VvSelect/VvSelect.vue.d.ts +107 -199
- package/dist/components/VvSelect/index.d.ts +196 -16
- package/dist/components/VvTab/VvTab.es.js +230 -110
- package/dist/components/VvTab/VvTab.umd.js +1 -1
- package/dist/components/VvTab/VvTab.vue.d.ts +34 -12
- package/dist/components/VvTab/index.d.ts +6 -3
- package/dist/components/VvTextarea/VvTextarea.es.js +278 -255
- package/dist/components/VvTextarea/VvTextarea.umd.js +1 -1
- package/dist/components/VvTextarea/VvTextarea.vue.d.ts +159 -54
- package/dist/components/VvTextarea/index.d.ts +69 -20
- package/dist/components/VvTooltip/VvTooltip.es.js +83 -30
- package/dist/components/VvTooltip/VvTooltip.umd.js +1 -1
- package/dist/components/VvTooltip/VvTooltip.vue.d.ts +16 -9
- package/dist/components/VvTooltip/index.d.ts +5 -2
- package/dist/components/common/HintSlot.d.ts +8 -9
- package/dist/components/index.d.ts +10 -0
- package/dist/components/index.es.js +4303 -2228
- package/dist/components/index.umd.js +1 -1
- package/dist/composables/alert/useAlerInject.d.ts +4 -0
- package/dist/composables/alert/useAlert.d.ts +71 -6
- package/dist/composables/alert/{useProvideAlert.d.ts → useAlertProvide.d.ts} +1 -1
- package/dist/composables/dropdown/useDropdownContextmenu.d.ts +18 -0
- package/dist/composables/dropdown/useDropdownInject.d.ts +12 -0
- package/dist/composables/dropdown/{useProvideDropdown.d.ts → useDropdownProvide.d.ts} +6 -7
- package/dist/composables/dropdown/useDropdownVirtualElement.d.ts +17 -0
- package/dist/composables/group/useGroupStateInject.d.ts +9 -0
- package/dist/composables/group/useGroupStateProvide.d.ts +6 -0
- package/dist/composables/index.d.ts +3 -0
- package/dist/composables/index.es.js +178 -6
- package/dist/composables/index.umd.js +1 -1
- package/dist/composables/useBlurhash.d.ts +7 -0
- package/dist/composables/useComponentFocus.d.ts +2 -2
- package/dist/composables/useComponentIcon.d.ts +9 -8
- package/dist/composables/useOptions.d.ts +5 -5
- package/dist/composables/usePersistence.d.ts +3 -0
- package/dist/composables/useUniqueId.d.ts +2 -2
- package/dist/composables/useVolver.d.ts +1 -1
- package/dist/constants.d.ts +35 -33
- package/dist/directives/index.d.ts +3 -5
- package/dist/directives/index.es.js +247 -82
- package/dist/directives/index.umd.js +1 -1
- package/dist/directives/v-contextmenu.es.js +137 -31
- package/dist/directives/v-contextmenu.umd.js +1 -1
- package/dist/directives/v-tooltip.es.js +101 -39
- package/dist/directives/v-tooltip.umd.js +1 -1
- package/dist/icons.d.ts +17 -17
- package/dist/icons.es.js +516 -516
- package/dist/icons.umd.js +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.es.js +74 -6
- package/dist/index.umd.js +1 -1
- package/dist/props/index.d.ts +288 -198
- package/dist/resolvers/unplugin.d.ts +6 -1
- package/dist/resolvers/unplugin.es.js +87 -10
- package/dist/resolvers/unplugin.umd.js +1 -1
- package/dist/stories/Accordion/Accordion.settings.d.ts +2 -57
- package/dist/stories/AccordionGroup/AccordionGroup.settings.d.ts +2 -66
- package/dist/stories/AccordionGroup/AccordionGroup.stories.d.ts +2 -127
- package/dist/stories/AccordionGroup/AccordionGroupSlots.stories.d.ts +1304 -538
- package/dist/stories/Alert/Alert.settings.d.ts +2 -109
- package/dist/stories/AlertGroup/AlertGroup.settings.d.ts +2 -85
- package/dist/stories/AlertGroup/AlertGroupWithComposable.stories.d.ts +1 -1
- package/dist/stories/AvatarGroup/AvatarGroup.settings.d.ts +2 -38
- package/dist/stories/Badge/Badge.settings.d.ts +2 -26
- package/dist/stories/Badge/Badge.test.d.ts +1 -1
- package/dist/stories/Blurhash/BlurhashComposable.stories.d.ts +4 -0
- package/dist/stories/Breadcrumb/Breadcrumb.settings.d.ts +2 -18
- package/dist/stories/Breadcrumb/Breadcrumb.test.d.ts +1 -1
- package/dist/stories/Button/Button.settings.d.ts +2 -194
- package/dist/stories/ButtonGroup/ButtonGroup.settings.d.ts +2 -40
- package/dist/stories/Card/Card.settings.d.ts +2 -63
- package/dist/stories/Checkbox/Checkbox.settings.d.ts +2 -132
- package/dist/stories/CheckboxGroup/CheckboxGroup.settings.d.ts +1 -141
- package/dist/stories/Combobox/Combobox.settings.d.ts +2 -609
- package/dist/stories/Combobox/Combobox.stories.d.ts +1 -0
- package/dist/stories/Combobox/ComboboxMultiple.stories.d.ts +1 -0
- package/dist/stories/Dialog/Dialog.settings.d.ts +2 -47
- package/dist/stories/Dialog/DialogModifiers.stories.d.ts +8 -0
- package/dist/stories/Dropdown/Dropdown.settings.d.ts +2 -205
- package/dist/stories/Icon/Icon.settings.d.ts +3 -68
- package/dist/stories/InputFile/InputFile.settings.d.ts +6 -0
- package/dist/stories/InputFile/InputFile.stories.d.ts +13 -0
- package/dist/stories/InputFile/InputFileDropArea.stories.d.ts +9 -0
- package/dist/stories/InputFile/InputFileIconPosition.stories.d.ts +8 -0
- package/dist/stories/InputFile/InputFileSlots.stories.d.ts +7 -0
- package/dist/stories/InputText/InputText.settings.d.ts +2 -438
- package/dist/stories/Nav/Nav.settings.d.ts +2 -10
- package/dist/stories/Progress/Progress.settings.d.ts +2 -27
- package/dist/stories/Radio/Radio.settings.d.ts +1 -110
- package/dist/stories/RadioGroup/RadioGroup.settings.d.ts +1 -141
- package/dist/stories/Select/Select.settings.d.ts +2 -246
- package/dist/stories/Select/Select.stories.d.ts +1 -0
- package/dist/stories/Tab/Tab.settings.d.ts +2 -15
- package/dist/stories/Textarea/Textarea.settings.d.ts +2 -287
- package/dist/stories/argTypes.d.ts +27 -866
- package/dist/test/expect.d.ts +1 -2
- package/dist/test/options.d.ts +1 -1
- package/dist/test/sleep.d.ts +1 -1
- package/dist/types/alert.d.ts +9 -7
- package/dist/types/blurhash.d.ts +12 -0
- package/dist/types/floating-ui.d.ts +1 -1
- package/dist/types/generic.d.ts +1 -2
- package/dist/types/group.d.ts +37 -15
- package/dist/types/index.d.ts +7 -0
- package/dist/types/input-file.d.ts +9 -0
- package/dist/types/nav.d.ts +2 -2
- package/dist/utils/DomUtilities.d.ts +1 -0
- package/dist/utils/ObjectUtilities.d.ts +8 -9
- package/dist/workers/blurhash.d.ts +1 -0
- package/package.json +238 -246
- package/src/Volver.ts +251 -246
- package/src/assets/icons/detailed.json +1 -1
- package/src/assets/icons/normal.json +1 -1
- package/src/assets/icons/simple.json +1 -1
- package/src/components/VvAccordion/VvAccordion.vue +163 -100
- package/src/components/VvAccordion/index.ts +65 -80
- package/src/components/VvAccordionGroup/VvAccordionGroup.vue +224 -106
- package/src/components/VvAccordionGroup/index.ts +42 -42
- package/src/components/VvAction/VvAction.vue +144 -130
- package/src/components/VvAlert/VvAlert.vue +72 -70
- package/src/components/VvAlert/index.ts +149 -147
- package/src/components/VvAlertGroup/VvAlertGroup.vue +57 -56
- package/src/components/VvAlertGroup/index.ts +102 -118
- package/src/components/VvAvatar/VvAvatar.vue +20 -14
- package/src/components/VvAvatar/index.ts +5 -5
- package/src/components/VvAvatarGroup/VvAvatarGroup.vue +58 -53
- package/src/components/VvAvatarGroup/index.ts +21 -21
- package/src/components/VvBadge/VvBadge.vue +15 -14
- package/src/components/VvBadge/index.ts +2 -2
- package/src/components/VvBreadcrumb/VvBreadcrumb.vue +50 -48
- package/src/components/VvBreadcrumb/index.ts +3 -9
- package/src/components/VvButton/VvButton.vue +163 -152
- package/src/components/VvButton/index.ts +104 -111
- package/src/components/VvButtonGroup/VvButtonGroup.vue +73 -65
- package/src/components/VvButtonGroup/index.ts +23 -22
- package/src/components/VvCard/VvCard.vue +30 -30
- package/src/components/VvCard/index.ts +2 -2
- package/src/components/VvCheckbox/VvCheckbox.vue +186 -184
- package/src/components/VvCheckbox/index.ts +45 -45
- package/src/components/VvCheckboxGroup/VvCheckboxGroup.vue +88 -87
- package/src/components/VvCombobox/VvCombobox.vue +657 -619
- package/src/components/VvCombobox/index.ts +212 -168
- package/src/components/VvDialog/VvDialog.vue +139 -129
- package/src/components/VvDialog/index.ts +42 -36
- package/src/components/VvDropdown/VvDropdown.vue +466 -445
- package/src/components/VvDropdown/VvDropdownAction.vue +37 -39
- package/src/components/VvDropdown/VvDropdownItem.vue +30 -26
- package/src/components/VvDropdown/VvDropdownOptgroup.vue +13 -12
- package/src/components/VvDropdown/VvDropdownOption.vue +47 -64
- package/src/components/VvDropdown/index.ts +61 -27
- package/src/components/VvIcon/README.md +1 -1
- package/src/components/VvIcon/VvIcon.vue +133 -133
- package/src/components/VvIcon/index.ts +84 -97
- package/src/components/VvInputFile/VvInputFile.vue +413 -0
- package/src/components/VvInputFile/index.ts +143 -0
- package/src/components/VvInputText/VvInputClearAction.ts +51 -47
- package/src/components/VvInputText/VvInputPasswordAction.ts +66 -62
- package/src/components/VvInputText/VvInputStepAction.ts +43 -43
- package/src/components/VvInputText/VvInputText.vue +653 -516
- package/src/components/VvInputText/VvInputTextActions.ts +87 -87
- package/src/components/VvInputText/index.ts +201 -186
- package/src/components/VvNav/VvNav.vue +40 -36
- package/src/components/VvNav/VvNavItem.vue +12 -12
- package/src/components/VvNav/VvNavSeparator.vue +6 -6
- package/src/components/VvNav/index.ts +2 -2
- package/src/components/VvProgress/VvProgress.vue +27 -27
- package/src/components/VvProgress/index.ts +28 -28
- package/src/components/VvRadio/VvRadio.vue +115 -112
- package/src/components/VvRadio/index.ts +29 -29
- package/src/components/VvRadioGroup/VvRadioGroup.vue +91 -90
- package/src/components/VvSelect/VvSelect.vue +262 -241
- package/src/components/VvSelect/index.ts +88 -63
- package/src/components/VvTab/VvTab.vue +79 -69
- package/src/components/VvTab/index.ts +13 -13
- package/src/components/VvTextarea/VvTextarea.vue +218 -219
- package/src/components/VvTextarea/index.ts +35 -35
- package/src/components/VvTooltip/VvTooltip.vue +22 -16
- package/src/components/VvTooltip/index.ts +12 -12
- package/src/components/common/HintSlot.ts +151 -152
- package/src/components/index.ts +10 -0
- package/src/composables/alert/{useInjectAlert.ts → useAlerInject.ts} +1 -1
- package/src/composables/alert/useAlert.ts +76 -73
- package/src/composables/alert/{useProvideAlert.ts → useAlertProvide.ts} +12 -12
- package/src/composables/dropdown/useDropdownContextmenu.ts +22 -0
- package/src/composables/dropdown/{useInjectDropdown.ts → useDropdownInject.ts} +6 -6
- package/src/composables/dropdown/useDropdownProvide.ts +94 -0
- package/src/composables/dropdown/useDropdownVirtualElement.ts +53 -0
- package/src/composables/group/useGroupStateInject.ts +55 -0
- package/src/composables/group/useGroupStateProvide.ts +14 -0
- package/src/composables/index.ts +3 -0
- package/src/composables/useBlurhash.ts +68 -0
- package/src/composables/useComponentFocus.ts +9 -9
- package/src/composables/useComponentIcon.ts +36 -35
- package/src/composables/useDebouncedInput.ts +25 -25
- package/src/composables/useDefaults.ts +81 -80
- package/src/composables/useModifiers.ts +29 -29
- package/src/composables/useOptions.ts +51 -42
- package/src/composables/usePersistence.ts +74 -0
- package/src/composables/useTextCount.ts +46 -46
- package/src/composables/useUniqueId.ts +4 -4
- package/src/composables/useVolver.ts +1 -1
- package/src/constants.ts +98 -83
- package/src/directives/index.ts +3 -6
- package/src/directives/v-contextmenu.ts +26 -34
- package/src/directives/v-tooltip.ts +20 -11
- package/src/icons.ts +2 -2
- package/src/index.ts +6 -4
- package/src/props/index.ts +467 -383
- package/src/resolvers/unplugin.ts +154 -144
- package/src/shims.d.ts +4 -5
- package/src/stories/Accordion/Accordion.settings.ts +51 -50
- package/src/stories/Accordion/Accordion.stories.ts +21 -21
- package/src/stories/Accordion/Accordion.test.ts +56 -54
- package/src/stories/Accordion/AccordionSlots.stories.ts +13 -13
- package/src/stories/AccordionGroup/AccordionGroup.settings.ts +70 -67
- package/src/stories/AccordionGroup/AccordionGroup.stories.ts +41 -39
- package/src/stories/AccordionGroup/AccordionGroup.test.ts +49 -45
- package/src/stories/AccordionGroup/AccordionGroupSlots.stories.ts +36 -36
- package/src/stories/Alert/Alert.settings.ts +117 -116
- package/src/stories/Alert/Alert.stories.ts +30 -30
- package/src/stories/Alert/Alert.test.ts +78 -80
- package/src/stories/Alert/AlertModifiers.stories.ts +45 -45
- package/src/stories/Alert/AlertSlots.stories.ts +35 -35
- package/src/stories/AlertGroup/AlertGroup.settings.ts +107 -105
- package/src/stories/AlertGroup/AlertGroup.stories.ts +25 -25
- package/src/stories/AlertGroup/AlertGroup.test.ts +69 -71
- package/src/stories/AlertGroup/AlertGroupPosition.stories.ts +68 -68
- package/src/stories/AlertGroup/AlertGroupSlots.stories.ts +23 -23
- package/src/stories/AlertGroup/AlertGroupWithComposable.stories.ts +58 -58
- package/src/stories/Avatar/Avatar.settings.ts +29 -29
- package/src/stories/Avatar/Avatar.stories.ts +22 -22
- package/src/stories/Avatar/Avatar.test.ts +22 -24
- package/src/stories/Avatar/AvatarBadge.stories.ts +15 -15
- package/src/stories/Avatar/AvatarModifiers.stories.ts +60 -60
- package/src/stories/Avatar/AvatarSlots.stories.ts +17 -17
- package/src/stories/AvatarGroup/AvatarGroup.settings.ts +54 -53
- package/src/stories/AvatarGroup/AvatarGroup.stories.ts +17 -17
- package/src/stories/AvatarGroup/AvatarGroup.test.ts +24 -26
- package/src/stories/AvatarGroup/AvatarGroupModifiers.stories.ts +15 -15
- package/src/stories/AvatarGroup/AvatarGroupSlotDefault.stories.ts +17 -17
- package/src/stories/Badge/Badge.settings.ts +21 -20
- package/src/stories/Badge/Badge.stories.ts +24 -24
- package/src/stories/Badge/Badge.test.ts +8 -8
- package/src/stories/Badge/BadgeSlots.stories.ts +10 -10
- package/src/stories/Blurhash/BlurhashComposable.stories.ts +116 -0
- package/src/stories/Breadcrumb/Breadcrumb.settings.ts +35 -34
- package/src/stories/Breadcrumb/Breadcrumb.stories.ts +23 -23
- package/src/stories/Breadcrumb/Breadcrumb.test.ts +44 -43
- package/src/stories/Breadcrumb/BreadcrumbSlots.stories.ts +19 -19
- package/src/stories/Button/Button.settings.ts +147 -151
- package/src/stories/Button/Button.stories.ts +19 -19
- package/src/stories/Button/Button.test.ts +41 -42
- package/src/stories/Button/ButtonIcon.stories.ts +42 -42
- package/src/stories/Button/ButtonLink.stories.ts +24 -24
- package/src/stories/Button/ButtonLoading.stories.ts +22 -22
- package/src/stories/Button/ButtonModifiers.stories.ts +91 -91
- package/src/stories/Button/ButtonSlots.stories.ts +47 -47
- package/src/stories/Button/ButtonState.stories.ts +23 -23
- package/src/stories/Button/ButtonToggle.stories.ts +30 -30
- package/src/stories/ButtonGroup/ButtonGroup.settings.ts +33 -24
- package/src/stories/ButtonGroup/ButtonGroup.stories.ts +19 -19
- package/src/stories/ButtonGroup/ButtonGroup.test.ts +23 -26
- package/src/stories/ButtonGroup/ButtonGroupModifiers.stories.ts +20 -20
- package/src/stories/ButtonGroup/ButtonGroupSlots.stories.ts +17 -17
- package/src/stories/ButtonGroup/ButtonGroupToggle.stories.ts +22 -22
- package/src/stories/Card/Card.settings.ts +49 -48
- package/src/stories/Card/Card.stories.ts +22 -22
- package/src/stories/Card/Card.test.ts +14 -16
- package/src/stories/Card/CardSlots.stories.ts +42 -42
- package/src/stories/Checkbox/Checkbox.settings.ts +36 -35
- package/src/stories/Checkbox/Checkbox.stories.ts +57 -57
- package/src/stories/Checkbox/Checkbox.test.ts +63 -66
- package/src/stories/Checkbox/CheckboxBinary.stories.ts +18 -18
- package/src/stories/Checkbox/CheckboxSlots.stories.ts +15 -15
- package/src/stories/CheckboxGroup/CheckboxGroup.settings.ts +9 -9
- package/src/stories/CheckboxGroup/CheckboxGroup.stories.ts +50 -50
- package/src/stories/CheckboxGroup/CheckboxGroup.test.ts +64 -68
- package/src/stories/CheckboxGroup/CheckboxGroupOptions.stories.ts +34 -34
- package/src/stories/CheckboxGroup/CheckboxGroupSlots.stories.ts +23 -23
- package/src/stories/Combobox/Combobox.settings.ts +408 -385
- package/src/stories/Combobox/Combobox.stories.ts +116 -107
- package/src/stories/Combobox/Combobox.test.ts +92 -92
- package/src/stories/Combobox/ComboboxIconPosition.stories.ts +25 -24
- package/src/stories/Combobox/ComboboxMultiple.stories.ts +32 -22
- package/src/stories/Combobox/ComboboxOptions.stories.ts +81 -84
- package/src/stories/Combobox/ComboboxSlots.stories.ts +55 -54
- package/src/stories/Dialog/Dialog.settings.ts +49 -40
- package/src/stories/Dialog/Dialog.stories.ts +28 -28
- package/src/stories/Dialog/Dialog.test.ts +49 -54
- package/src/stories/Dialog/DialogModifiers.stories.ts +42 -0
- package/src/stories/Dialog/DialogSlots.stories.ts +20 -20
- package/src/stories/Dropdown/Dropdown.settings.ts +62 -61
- package/src/stories/Dropdown/Dropdown.stories.ts +60 -60
- package/src/stories/Dropdown/Dropdown.test.ts +9 -13
- package/src/stories/Dropdown/DropdownContextmenuDirective.stories.ts +18 -19
- package/src/stories/Dropdown/DropdownMultilevel.stories.ts +19 -19
- package/src/stories/Dropdown/DropdownSlots.stories.ts +51 -51
- package/src/stories/Icon/Icon.settings.ts +66 -65
- package/src/stories/Icon/Icon.stories.ts +29 -30
- package/src/stories/Icon/IconsCollection.stories.ts +24 -24
- package/src/stories/InputFile/InputFile.settings.ts +37 -0
- package/src/stories/InputFile/InputFile.stories.ts +97 -0
- package/src/stories/InputFile/InputFileDropArea.stories.ts +56 -0
- package/src/stories/InputFile/InputFileIconPosition.stories.ts +43 -0
- package/src/stories/InputFile/InputFileSlots.stories.ts +33 -0
- package/src/stories/InputText/InputText.settings.ts +248 -246
- package/src/stories/InputText/InputText.stories.ts +68 -68
- package/src/stories/InputText/InputText.test.ts +119 -122
- package/src/stories/InputText/InputTextIconPosition.stories.ts +24 -24
- package/src/stories/InputText/InputTextLength.stories.ts +33 -33
- package/src/stories/InputText/InputTextMask.stories.ts +91 -91
- package/src/stories/InputText/InputTextMinMax.stories.ts +30 -30
- package/src/stories/InputText/InputTextSlots.stories.ts +20 -20
- package/src/stories/InputText/InputTextType.stories.ts +70 -70
- package/src/stories/Nav/Nav.settings.ts +27 -27
- package/src/stories/Nav/Nav.stories.ts +18 -18
- package/src/stories/Nav/Nav.test.ts +10 -12
- package/src/stories/Nav/NavModifiers.stories.ts +25 -25
- package/src/stories/Progress/Progress.settings.ts +24 -23
- package/src/stories/Progress/Progress.stories.ts +23 -23
- package/src/stories/Progress/Progress.test.ts +5 -5
- package/src/stories/Radio/Radio.settings.ts +9 -9
- package/src/stories/Radio/Radio.stories.ts +47 -47
- package/src/stories/Radio/Radio.test.ts +54 -57
- package/src/stories/Radio/RadioSlots.stories.ts +15 -15
- package/src/stories/RadioGroup/RadioGroup.settings.ts +9 -9
- package/src/stories/RadioGroup/RadioGroup.stories.ts +51 -52
- package/src/stories/RadioGroup/RadioGroup.test.ts +64 -68
- package/src/stories/RadioGroup/RadioGroupOptions.stories.ts +35 -35
- package/src/stories/RadioGroup/RadioGroupSlots.stories.ts +23 -23
- package/src/stories/Select/Select.settings.ts +72 -71
- package/src/stories/Select/Select.stories.ts +75 -66
- package/src/stories/Select/Select.test.ts +67 -70
- package/src/stories/Select/SelectIconPosition.stories.ts +27 -26
- package/src/stories/Select/SelectOptions.stories.ts +55 -55
- package/src/stories/Select/SelectSlots.stories.ts +21 -20
- package/src/stories/Tab/Tab.settings.ts +34 -34
- package/src/stories/Tab/Tab.stories.ts +16 -16
- package/src/stories/Tab/Tab.test.ts +17 -19
- package/src/stories/Textarea/Textarea.settings.ts +80 -78
- package/src/stories/Textarea/Textarea.stories.ts +63 -63
- package/src/stories/Textarea/Textarea.test.ts +70 -73
- package/src/stories/Textarea/TextareaLength.stories.ts +33 -33
- package/src/stories/Textarea/TextareaSlots.stories.ts +20 -20
- package/src/stories/Textarea/TextareatIconPosition.stories.ts +24 -24
- package/src/stories/Tooltip/Tooltip.settings.ts +16 -17
- package/src/stories/Tooltip/Tooltip.stories.ts +18 -18
- package/src/stories/Tooltip/Tooltip.test.ts +53 -54
- package/src/stories/Tooltip/TooltipDirective.stories.ts +37 -37
- package/src/stories/argTypes.ts +506 -505
- package/src/test/expect.ts +74 -79
- package/src/test/options.ts +17 -16
- package/src/test/sleep.ts +3 -2
- package/src/test/types.d.ts +12 -12
- package/src/types/alert.ts +21 -17
- package/src/types/blurhash.ts +21 -0
- package/src/types/floating-ui.ts +1 -1
- package/src/types/generic.ts +2 -3
- package/src/types/group.ts +35 -27
- package/src/types/index.ts +7 -0
- package/src/types/input-file.ts +10 -0
- package/src/types/nav.ts +13 -14
- package/src/utils/DomUtilities.ts +15 -0
- package/src/utils/ObjectUtilities.ts +192 -188
- package/src/workers/blurhash.ts +9 -0
- package/dist/composables/alert/useInjectAlert.d.ts +0 -9
- package/dist/composables/dropdown/useInjectDropdown.d.ts +0 -32
- package/dist/composables/group/useInjectedGroupState.d.ts +0 -10
- package/dist/composables/group/useProvideGroupState.d.ts +0 -6
- package/src/composables/dropdown/useProvideDropdown.ts +0 -94
- package/src/composables/group/useInjectedGroupState.ts +0 -51
- package/src/composables/group/useProvideGroupState.ts +0 -20
- /package/src/assets/icons/normal/{dulicate.svg → duplicate.svg} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
1
|
+
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<globalThis.ExtractPropTypes<{
|
|
2
2
|
title: StringConstructor;
|
|
3
3
|
modelValue: {
|
|
4
4
|
type: BooleanConstructor;
|
|
@@ -13,11 +13,19 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
13
13
|
type: BooleanConstructor;
|
|
14
14
|
default: boolean;
|
|
15
15
|
};
|
|
16
|
+
labelClose: {
|
|
17
|
+
type: StringConstructor;
|
|
18
|
+
default: string;
|
|
19
|
+
};
|
|
16
20
|
id: (StringConstructor | NumberConstructor)[];
|
|
17
|
-
|
|
21
|
+
modifiers: {
|
|
22
|
+
type: PropType<string | string[]>;
|
|
23
|
+
default: undefined;
|
|
24
|
+
};
|
|
25
|
+
}>, {
|
|
18
26
|
close: () => void;
|
|
19
27
|
open: () => void;
|
|
20
|
-
},
|
|
28
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<globalThis.ExtractPropTypes<{
|
|
21
29
|
title: StringConstructor;
|
|
22
30
|
modelValue: {
|
|
23
31
|
type: BooleanConstructor;
|
|
@@ -32,14 +40,22 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
32
40
|
type: BooleanConstructor;
|
|
33
41
|
default: boolean;
|
|
34
42
|
};
|
|
43
|
+
labelClose: {
|
|
44
|
+
type: StringConstructor;
|
|
45
|
+
default: string;
|
|
46
|
+
};
|
|
35
47
|
id: (StringConstructor | NumberConstructor)[];
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
48
|
+
modifiers: {
|
|
49
|
+
type: PropType<string | string[]>;
|
|
50
|
+
default: undefined;
|
|
51
|
+
};
|
|
52
|
+
}>> & Readonly<{}>, {
|
|
39
53
|
modelValue: boolean;
|
|
54
|
+
modifiers: string | string[];
|
|
40
55
|
transition: string;
|
|
41
56
|
keepOpen: boolean;
|
|
42
|
-
|
|
57
|
+
labelClose: string;
|
|
58
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, {
|
|
43
59
|
header?(_: {}): any;
|
|
44
60
|
default?(_: {}): any;
|
|
45
61
|
footer?(_: {}): any;
|
|
@@ -20,6 +20,7 @@ export declare const VvDialogProps: {
|
|
|
20
20
|
};
|
|
21
21
|
/**
|
|
22
22
|
* Dialog size
|
|
23
|
+
* @deprecated use modifiers instead
|
|
23
24
|
*/
|
|
24
25
|
size: StringConstructor;
|
|
25
26
|
/**
|
|
@@ -29,5 +30,16 @@ export declare const VvDialogProps: {
|
|
|
29
30
|
type: BooleanConstructor;
|
|
30
31
|
default: boolean;
|
|
31
32
|
};
|
|
33
|
+
/**
|
|
34
|
+
* Close button label
|
|
35
|
+
*/
|
|
36
|
+
labelClose: {
|
|
37
|
+
type: StringConstructor;
|
|
38
|
+
default: string;
|
|
39
|
+
};
|
|
32
40
|
id: (StringConstructor | NumberConstructor)[];
|
|
41
|
+
modifiers: {
|
|
42
|
+
type: PropType<string | string[]>;
|
|
43
|
+
default: undefined;
|
|
44
|
+
};
|
|
33
45
|
};
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
import { computed, defineComponent, provide, h, Fragment, unref, toRefs, useAttrs, ref, onMounted, watch, nextTick, openBlock, createElementBlock, createVNode, withCtx, renderSlot, normalizeProps, guardReactiveProps, Transition, mergeProps, toHandlers, withDirectives, createElementVNode, normalizeStyle, normalizeClass, createCommentVNode, vShow } from "vue";
|
|
1
|
+
import { computed, useId, defineComponent, provide, h, Fragment, unref, toRefs, useAttrs, ref, onMounted, watch, nextTick, openBlock, createElementBlock, createVNode, withCtx, renderSlot, normalizeProps, guardReactiveProps, Transition, mergeProps, toHandlers, withDirectives, createElementVNode, normalizeStyle, normalizeClass, createCommentVNode, vShow } from "vue";
|
|
2
2
|
import { autoPlacement, flip, shift, size, offset, arrow, useFloating, autoUpdate } from "@floating-ui/vue";
|
|
3
|
-
import {
|
|
4
|
-
import { useMutationObserver, useVModel, onClickOutside, useFocusWithin, onKeyStroke } from "@vueuse/core";
|
|
3
|
+
import { useMutationObserver, useVModel, onClickOutside, useFocusWithin, useElementHover, onKeyStroke } from "@vueuse/core";
|
|
5
4
|
import mitt from "mitt";
|
|
5
|
+
var StorageType = /* @__PURE__ */ ((StorageType2) => {
|
|
6
|
+
StorageType2["local"] = "local";
|
|
7
|
+
StorageType2["session"] = "session";
|
|
8
|
+
return StorageType2;
|
|
9
|
+
})(StorageType || {});
|
|
6
10
|
var Strategy = /* @__PURE__ */ ((Strategy2) => {
|
|
7
11
|
Strategy2["absolute"] = "absolute";
|
|
8
12
|
Strategy2["fixed"] = "fixed";
|
|
@@ -37,6 +41,13 @@ var ButtonType = /* @__PURE__ */ ((ButtonType2) => {
|
|
|
37
41
|
ButtonType2["reset"] = "reset";
|
|
38
42
|
return ButtonType2;
|
|
39
43
|
})(ButtonType || {});
|
|
44
|
+
var ActionTag = /* @__PURE__ */ ((ActionTag2) => {
|
|
45
|
+
ActionTag2["nuxtLink"] = "nuxt-link";
|
|
46
|
+
ActionTag2["routerLink"] = "router-link";
|
|
47
|
+
ActionTag2["a"] = "a";
|
|
48
|
+
ActionTag2["button"] = "button";
|
|
49
|
+
return ActionTag2;
|
|
50
|
+
})(ActionTag || {});
|
|
40
51
|
var DropdownRole = /* @__PURE__ */ ((DropdownRole2) => {
|
|
41
52
|
DropdownRole2["listbox"] = "listbox";
|
|
42
53
|
DropdownRole2["menu"] = "menu";
|
|
@@ -47,13 +58,6 @@ var DropdownItemRole = /* @__PURE__ */ ((DropdownItemRole2) => {
|
|
|
47
58
|
DropdownItemRole2["presentation"] = "presentation";
|
|
48
59
|
return DropdownItemRole2;
|
|
49
60
|
})(DropdownItemRole || {});
|
|
50
|
-
var AnchorTarget = /* @__PURE__ */ ((AnchorTarget2) => {
|
|
51
|
-
AnchorTarget2["_blank"] = "_blank";
|
|
52
|
-
AnchorTarget2["_self"] = "_self";
|
|
53
|
-
AnchorTarget2["_parent"] = "_parent";
|
|
54
|
-
AnchorTarget2["_top"] = "_top";
|
|
55
|
-
return AnchorTarget2;
|
|
56
|
-
})(AnchorTarget || {});
|
|
57
61
|
const INJECTION_KEY_DROPDOWN_TRIGGER = Symbol.for(
|
|
58
62
|
"dropdownTrigger"
|
|
59
63
|
);
|
|
@@ -75,10 +79,7 @@ const LinkProps = {
|
|
|
75
79
|
/**
|
|
76
80
|
* Anchor target
|
|
77
81
|
*/
|
|
78
|
-
target:
|
|
79
|
-
type: String,
|
|
80
|
-
validator: (value) => Object.values(AnchorTarget).includes(value)
|
|
81
|
-
},
|
|
82
|
+
target: String,
|
|
82
83
|
/**
|
|
83
84
|
* Anchor rel
|
|
84
85
|
*/
|
|
@@ -91,44 +92,65 @@ const DisabledProps = {
|
|
|
91
92
|
/**
|
|
92
93
|
* Whether the form control is disabled
|
|
93
94
|
*/
|
|
94
|
-
disabled:
|
|
95
|
+
disabled: {
|
|
96
|
+
type: Boolean,
|
|
97
|
+
default: false
|
|
98
|
+
}
|
|
95
99
|
};
|
|
96
100
|
const ActiveProps = {
|
|
97
101
|
/**
|
|
98
102
|
* Whether the item is active
|
|
99
103
|
*/
|
|
100
|
-
active:
|
|
104
|
+
active: {
|
|
105
|
+
type: Boolean,
|
|
106
|
+
default: false
|
|
107
|
+
}
|
|
101
108
|
};
|
|
102
109
|
const CurrentProps = {
|
|
103
110
|
/**
|
|
104
111
|
* Whether the item is current
|
|
105
112
|
*/
|
|
106
|
-
current:
|
|
113
|
+
current: {
|
|
114
|
+
type: Boolean,
|
|
115
|
+
default: false
|
|
116
|
+
}
|
|
107
117
|
};
|
|
108
118
|
const PressedProps = {
|
|
109
119
|
/**
|
|
110
120
|
* Whether the item is pressed
|
|
111
121
|
*/
|
|
112
|
-
pressed:
|
|
122
|
+
pressed: {
|
|
123
|
+
type: Boolean,
|
|
124
|
+
default: false
|
|
125
|
+
}
|
|
113
126
|
};
|
|
114
127
|
const LabelProps = {
|
|
115
128
|
/**
|
|
116
129
|
* The item label
|
|
117
130
|
*/
|
|
118
|
-
label:
|
|
131
|
+
label: {
|
|
132
|
+
type: [String, Number],
|
|
133
|
+
default: void 0
|
|
134
|
+
}
|
|
119
135
|
};
|
|
120
136
|
const ModifiersProps = {
|
|
121
137
|
/**
|
|
122
138
|
* Component BEM modifiers
|
|
123
139
|
*/
|
|
124
|
-
modifiers:
|
|
140
|
+
modifiers: {
|
|
141
|
+
type: [String, Array],
|
|
142
|
+
default: void 0
|
|
143
|
+
}
|
|
125
144
|
};
|
|
126
145
|
({
|
|
127
146
|
/**
|
|
128
147
|
* VvIcon name or props
|
|
129
148
|
* @see VVIcon
|
|
130
149
|
*/
|
|
131
|
-
icon: {
|
|
150
|
+
icon: {
|
|
151
|
+
type: [String, Object],
|
|
152
|
+
default: void 0
|
|
153
|
+
},
|
|
132
154
|
/**
|
|
133
155
|
* VvIcon position
|
|
134
156
|
*/
|
|
@@ -166,7 +188,8 @@ const DropdownProps = {
|
|
|
166
188
|
* Dropdown show / hide transition name
|
|
167
189
|
*/
|
|
168
190
|
transitionName: {
|
|
169
|
-
type: String
|
|
191
|
+
type: String,
|
|
192
|
+
default: void 0
|
|
170
193
|
},
|
|
171
194
|
/**
|
|
172
195
|
* Offset of the dropdown from the trigger
|
|
@@ -234,7 +257,8 @@ const DropdownProps = {
|
|
|
234
257
|
* Set dropdown width to the same as the trigger
|
|
235
258
|
*/
|
|
236
259
|
triggerWidth: {
|
|
237
|
-
type: Boolean
|
|
260
|
+
type: Boolean,
|
|
261
|
+
default: false
|
|
238
262
|
}
|
|
239
263
|
};
|
|
240
264
|
({
|
|
@@ -258,8 +282,23 @@ const DropdownProps = {
|
|
|
258
282
|
ariaLabel: {
|
|
259
283
|
type: String,
|
|
260
284
|
default: void 0
|
|
285
|
+
},
|
|
286
|
+
/**
|
|
287
|
+
* Default tag for the action
|
|
288
|
+
*/
|
|
289
|
+
defaultTag: {
|
|
290
|
+
type: String,
|
|
291
|
+
default: ActionTag.button
|
|
261
292
|
}
|
|
262
293
|
});
|
|
294
|
+
({
|
|
295
|
+
storageType: {
|
|
296
|
+
type: String,
|
|
297
|
+
default: StorageType.local,
|
|
298
|
+
validator: (value) => Object.values(StorageType).includes(value)
|
|
299
|
+
},
|
|
300
|
+
storageKey: String
|
|
301
|
+
});
|
|
263
302
|
const VvDropdownProps = {
|
|
264
303
|
...IdProps,
|
|
265
304
|
...DropdownProps,
|
|
@@ -287,8 +326,10 @@ const VvDropdownProps = {
|
|
|
287
326
|
validator: (value) => Object.values(DropdownRole).includes(value)
|
|
288
327
|
}
|
|
289
328
|
};
|
|
290
|
-
|
|
291
|
-
|
|
329
|
+
function useUniqueId(id) {
|
|
330
|
+
return computed(() => String((id == null ? void 0 : id.value) || useId()));
|
|
331
|
+
}
|
|
332
|
+
function useDropdownProvideTrigger({
|
|
292
333
|
reference,
|
|
293
334
|
id,
|
|
294
335
|
expanded,
|
|
@@ -316,16 +357,16 @@ function useProvideDropdownTrigger({
|
|
|
316
357
|
component
|
|
317
358
|
};
|
|
318
359
|
}
|
|
319
|
-
function
|
|
360
|
+
function useDropdownProvideItem({
|
|
320
361
|
role,
|
|
321
|
-
|
|
362
|
+
...others
|
|
322
363
|
}) {
|
|
323
364
|
const itemRole = computed(
|
|
324
365
|
() => role.value === DropdownRole.listbox ? DropdownItemRole.option : DropdownItemRole.presentation
|
|
325
366
|
);
|
|
326
367
|
provide(INJECTION_KEY_DROPDOWN_ITEM, {
|
|
327
368
|
role: itemRole,
|
|
328
|
-
|
|
369
|
+
...others
|
|
329
370
|
});
|
|
330
371
|
return { itemRole };
|
|
331
372
|
}
|
|
@@ -362,6 +403,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
362
403
|
props: VvDropdownProps,
|
|
363
404
|
emits: [
|
|
364
405
|
"update:modelValue",
|
|
406
|
+
"beforeEnter",
|
|
407
|
+
"afterLeave",
|
|
365
408
|
"beforeExpand",
|
|
366
409
|
"beforeCollapse",
|
|
367
410
|
"afterExpand",
|
|
@@ -369,23 +412,24 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
369
412
|
"before-enter",
|
|
370
413
|
"after-leave",
|
|
371
414
|
"enter",
|
|
372
|
-
"
|
|
373
|
-
"
|
|
374
|
-
"
|
|
415
|
+
"afterEnter",
|
|
416
|
+
"enterCancelled",
|
|
417
|
+
"beforeLeave",
|
|
375
418
|
"leave",
|
|
376
|
-
"
|
|
419
|
+
"leaveCancelled"
|
|
377
420
|
],
|
|
378
|
-
setup(__props, { expose: __expose, emit }) {
|
|
421
|
+
setup(__props, { expose: __expose, emit: __emit }) {
|
|
379
422
|
const props = __props;
|
|
423
|
+
const emit = __emit;
|
|
380
424
|
const { id } = toRefs(props);
|
|
381
425
|
const hasId = useUniqueId(id);
|
|
382
426
|
const attrs = useAttrs();
|
|
383
427
|
const maxWidth = ref("auto");
|
|
384
428
|
const maxHeight = ref("auto");
|
|
385
|
-
const localReferenceEl = ref(
|
|
429
|
+
const localReferenceEl = ref();
|
|
386
430
|
const floatingEl = ref();
|
|
387
|
-
const arrowEl = ref(
|
|
388
|
-
const listEl = ref(
|
|
431
|
+
const arrowEl = ref();
|
|
432
|
+
const listEl = ref();
|
|
389
433
|
const referenceEl = computed({
|
|
390
434
|
get: () => props.reference ?? localReferenceEl.value,
|
|
391
435
|
set: (newValue) => {
|
|
@@ -531,18 +575,18 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
531
575
|
modelValue.value = newValue;
|
|
532
576
|
}
|
|
533
577
|
});
|
|
534
|
-
|
|
578
|
+
function show() {
|
|
535
579
|
expanded.value = true;
|
|
536
|
-
}
|
|
537
|
-
|
|
580
|
+
}
|
|
581
|
+
function hide() {
|
|
538
582
|
expanded.value = false;
|
|
539
|
-
}
|
|
540
|
-
|
|
583
|
+
}
|
|
584
|
+
function toggle() {
|
|
541
585
|
expanded.value = !expanded.value;
|
|
542
|
-
}
|
|
543
|
-
|
|
586
|
+
}
|
|
587
|
+
function init(el) {
|
|
544
588
|
referenceEl.value = el;
|
|
545
|
-
}
|
|
589
|
+
}
|
|
546
590
|
__expose({
|
|
547
591
|
toggle,
|
|
548
592
|
show,
|
|
@@ -582,7 +626,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
582
626
|
"aria-haspopup": true,
|
|
583
627
|
"aria-expanded": expanded.value
|
|
584
628
|
}));
|
|
585
|
-
const { component: VvDropdownTriggerProvider, bus } =
|
|
629
|
+
const { component: VvDropdownTriggerProvider, bus } = useDropdownProvideTrigger({
|
|
586
630
|
reference: referenceEl,
|
|
587
631
|
id: hasId,
|
|
588
632
|
expanded,
|
|
@@ -590,7 +634,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
590
634
|
});
|
|
591
635
|
bus.on("click", toggle);
|
|
592
636
|
const { role, modifiers } = toRefs(props);
|
|
593
|
-
const { itemRole } = useProvideDropdownItem({ role, expanded });
|
|
594
637
|
const bemCssClasses = useModifiers(
|
|
595
638
|
"vv-dropdown",
|
|
596
639
|
modifiers,
|
|
@@ -611,7 +654,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
611
654
|
(el) => !el.hasAttribute("disabled") && !el.getAttribute("aria-hidden")
|
|
612
655
|
);
|
|
613
656
|
}
|
|
614
|
-
|
|
657
|
+
function focusNext() {
|
|
615
658
|
nextTick(() => {
|
|
616
659
|
if (focused.value) {
|
|
617
660
|
const focusableElements = getKeyboardFocusableElements(
|
|
@@ -634,8 +677,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
634
677
|
}
|
|
635
678
|
}
|
|
636
679
|
});
|
|
637
|
-
}
|
|
638
|
-
|
|
680
|
+
}
|
|
681
|
+
function focusPrev() {
|
|
639
682
|
nextTick(() => {
|
|
640
683
|
if (focused.value) {
|
|
641
684
|
const focusableElements = getKeyboardFocusableElements(
|
|
@@ -658,7 +701,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
658
701
|
}
|
|
659
702
|
}
|
|
660
703
|
});
|
|
661
|
-
}
|
|
704
|
+
}
|
|
705
|
+
const hovered = useElementHover(floatingEl);
|
|
706
|
+
const { itemRole } = useDropdownProvideItem({
|
|
707
|
+
role,
|
|
708
|
+
expanded,
|
|
709
|
+
focused,
|
|
710
|
+
hovered
|
|
711
|
+
});
|
|
662
712
|
onKeyStroke("Escape", (e) => {
|
|
663
713
|
if (expanded.value) {
|
|
664
714
|
e.preventDefault();
|
|
@@ -686,76 +736,96 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
686
736
|
const dropdownTransitionHandlers = {
|
|
687
737
|
"before-enter": () => {
|
|
688
738
|
emit(expanded.value ? "beforeExpand" : "beforeCollapse");
|
|
689
|
-
emit("
|
|
739
|
+
emit("beforeEnter");
|
|
690
740
|
},
|
|
691
741
|
"after-leave": () => {
|
|
692
742
|
emit(expanded.value ? "afterExpand" : "afterCollapse");
|
|
693
|
-
emit("
|
|
743
|
+
emit("afterLeave");
|
|
694
744
|
},
|
|
695
|
-
enter: () => {
|
|
745
|
+
"enter": () => {
|
|
696
746
|
emit("enter");
|
|
697
747
|
},
|
|
698
748
|
"after-enter": () => {
|
|
699
|
-
emit("
|
|
749
|
+
emit("afterEnter");
|
|
700
750
|
},
|
|
701
751
|
"enter-cancelled": () => {
|
|
702
|
-
emit("
|
|
752
|
+
emit("enterCancelled");
|
|
703
753
|
},
|
|
704
754
|
"before-leave": () => {
|
|
705
|
-
emit("
|
|
755
|
+
emit("beforeLeave");
|
|
706
756
|
},
|
|
707
|
-
leave: () => {
|
|
757
|
+
"leave": () => {
|
|
708
758
|
emit("leave");
|
|
709
759
|
},
|
|
710
760
|
"leave-cancelled": () => {
|
|
711
|
-
emit("
|
|
761
|
+
emit("leaveCancelled");
|
|
712
762
|
}
|
|
713
763
|
};
|
|
714
764
|
return (_ctx, _cache) => {
|
|
715
|
-
return openBlock(), createElementBlock(
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
765
|
+
return openBlock(), createElementBlock(
|
|
766
|
+
Fragment,
|
|
767
|
+
null,
|
|
768
|
+
[
|
|
769
|
+
createVNode(unref(VvDropdownTriggerProvider), null, {
|
|
770
|
+
default: withCtx(() => [
|
|
771
|
+
renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps({ init, show, hide, toggle, expanded: unref(expanded), aria: unref(referenceAria) })))
|
|
772
|
+
]),
|
|
773
|
+
_: 3
|
|
774
|
+
/* FORWARDED */
|
|
775
|
+
}),
|
|
776
|
+
createVNode(Transition, mergeProps({ name: _ctx.transitionName }, toHandlers(dropdownTransitionHandlers), { persisted: "" }), {
|
|
777
|
+
default: withCtx(() => [
|
|
778
|
+
withDirectives(createElementVNode(
|
|
779
|
+
"div",
|
|
780
|
+
{
|
|
781
|
+
ref_key: "floatingEl",
|
|
782
|
+
ref: floatingEl,
|
|
783
|
+
style: normalizeStyle(unref(dropdownPlacement)),
|
|
784
|
+
class: normalizeClass(unref(bemCssClasses))
|
|
785
|
+
},
|
|
786
|
+
[
|
|
787
|
+
props.arrow ? (openBlock(), createElementBlock(
|
|
788
|
+
"div",
|
|
789
|
+
{
|
|
790
|
+
key: 0,
|
|
791
|
+
ref_key: "arrowEl",
|
|
792
|
+
ref: arrowEl,
|
|
793
|
+
style: normalizeStyle(unref(arrowPlacement)),
|
|
794
|
+
class: "vv-dropdown__arrow"
|
|
795
|
+
},
|
|
796
|
+
null,
|
|
797
|
+
4
|
|
798
|
+
/* STYLE */
|
|
799
|
+
)) : createCommentVNode("v-if", true),
|
|
800
|
+
renderSlot(_ctx.$slots, "before", normalizeProps(guardReactiveProps({ expanded: unref(expanded) }))),
|
|
801
|
+
createElementVNode("div", mergeProps(unref(attrs), {
|
|
802
|
+
id: unref(hasId),
|
|
803
|
+
ref_key: "listEl",
|
|
804
|
+
ref: listEl,
|
|
805
|
+
tabindex: !unref(expanded) ? -1 : void 0,
|
|
806
|
+
role: unref(role),
|
|
807
|
+
"aria-labelledby": unref(hasAriaLabelledby),
|
|
808
|
+
class: "vv-dropdown__list"
|
|
809
|
+
}), [
|
|
810
|
+
renderSlot(_ctx.$slots, "items", normalizeProps(guardReactiveProps({
|
|
811
|
+
role: unref(itemRole)
|
|
812
|
+
})))
|
|
813
|
+
], 16, _hoisted_1),
|
|
814
|
+
renderSlot(_ctx.$slots, "after", normalizeProps(guardReactiveProps({ expanded: unref(expanded) })))
|
|
815
|
+
],
|
|
816
|
+
6
|
|
817
|
+
/* CLASS, STYLE */
|
|
818
|
+
), [
|
|
819
|
+
[vShow, unref(expanded)]
|
|
820
|
+
])
|
|
821
|
+
]),
|
|
822
|
+
_: 3
|
|
823
|
+
/* FORWARDED */
|
|
824
|
+
}, 16, ["name"])
|
|
825
|
+
],
|
|
826
|
+
64
|
|
827
|
+
/* STABLE_FRAGMENT */
|
|
828
|
+
);
|
|
759
829
|
};
|
|
760
830
|
}
|
|
761
831
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue"),require("@floating-ui/vue"),require("
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue"),require("@floating-ui/vue"),require("@vueuse/core"),require("mitt")):"function"==typeof define&&define.amd?define(["vue","@floating-ui/vue","@vueuse/core","mitt"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VvDropdown=t(e.vue,e.vue$1,e.core,e.mitt)}(this,(function(e,t,o,r){"use strict";var l=(e=>(e.local="local",e.session="session",e))(l||{}),a=(e=>(e.absolute="absolute",e.fixed="fixed",e))(a||{}),n=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(n||{}),u=(e=>(e.topStart="top-start",e.topEnd="top-end",e.bottomStart="bottom-start",e.bottomEnd="bottom-end",e.leftStart="left-start",e.leftEnd="left-end",e.rightStart="right-start",e.rightEnd="right-end",e))(u||{}),i=(e=>(e.before="before",e.after="after",e))(i||{}),d=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(d||{}),s=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(s||{}),f=(e=>(e.listbox="listbox",e.menu="menu",e))(f||{}),p=(e=>(e.option="option",e.presentation="presentation",e))(p||{});const c=Symbol.for("dropdownTrigger"),v=Symbol.for("dropdownItem"),m=(Boolean,Boolean,Boolean,Boolean,{modifiers:{type:[String,Array],default:void 0}});i.before;const b={id:[String,Number]},g={placement:{type:String,default:n.bottom,validator:e=>Object.values(n).includes(e)||Object.values(u).includes(e)},strategy:{type:String,default:void 0,validator:e=>Object.values(a).includes(e)},transitionName:{type:String,default:void 0},offset:{type:[Number,String,Object],default:0},shift:{type:[Boolean,Object],default:!1},flip:{type:[Boolean,Object],default:!0},size:{type:[Boolean,Object],default:()=>({padding:10})},autoPlacement:{type:[Boolean,Object],default:!1},arrow:{type:Boolean,default:!1},keepOpen:{type:Boolean,default:!1},autofocusFirst:{type:Boolean,default:!0},triggerWidth:{type:Boolean,default:!1}};d.button,s.button,l.local;const h={...b,...g,...m,modelValue:{type:Boolean,default:void 0},reference:{type:Object,default:null},role:{type:String,default:f.menu,validator:e=>Object.values(f).includes(e)}};const y=["id","tabindex","role","aria-labelledby"];return e.defineComponent({name:"VvDropdown",inheritAttrs:!1,props:h,emits:["update:modelValue","beforeEnter","afterLeave","beforeExpand","beforeCollapse","afterExpand","afterCollapse","before-enter","after-leave","enter","afterEnter","enterCancelled","beforeLeave","leave","leaveCancelled"],setup(l,{expose:u,emit:i}){const d=l,s=i,{id:m}=e.toRefs(d),b=function(t){return e.computed((()=>String((null==t?void 0:t.value)||e.useId())))}(m),g=e.useAttrs(),h=e.ref("auto"),x=e.ref("auto"),w=e.ref(),S=e.ref(),E=e.ref(),k=e.ref(),P=e.computed({get:()=>d.reference??w.value,set:e=>{w.value=e}}),B=e.ref(!1);e.onMounted((()=>{o.useMutationObserver(S.value,(()=>{var e;B.value="true"===(null==(e=window.getComputedStyle(S.value).getPropertyValue("--dropdown-custom-position"))?void 0:e.trim())}),{attributeFilter:["style"],window:window})}));const O=e.computed((()=>{const e=[];if(d.autoPlacement?"boolean"==typeof d.autoPlacement?e.push(t.autoPlacement()):e.push(t.autoPlacement(d.autoPlacement)):d.flip&&("boolean"==typeof d.flip?e.push(t.flip({fallbackStrategy:"initialPlacement"})):e.push(t.flip(d.flip))),d.shift&&("boolean"==typeof d.shift?e.push(t.shift()):e.push(t.shift(d.shift))),d.size){const o=({availableWidth:e,availableHeight:t})=>{h.value=`${e}px`,x.value=`${t}px`};"boolean"==typeof d.size?e.push(t.size({apply:o})):e.push(t.size({...d.size,apply:o}))}return d.offset&&(e.push(t.offset(Number(d.offset))),["string","number"].includes(typeof d.offset)?e.push(t.offset(Number(d.offset))):e.push(t.offset(d.offset))),d.arrow&&e.push(t.arrow({element:E})),e})),{x:$,y:C,middlewareData:z,placement:V,strategy:j}=t.useFloating(P,S,{whileElementsMounted:(...e)=>t.autoUpdate(...e,{animationFrame:d.strategy===a.fixed}),placement:e.computed((()=>d.placement)),strategy:e.computed((()=>d.strategy)),middleware:O}),A=e.computed((()=>{var e;if(B.value)return;const t=d.triggerWidth&&P.value?`${null==(e=P.value)?void 0:e.offsetWidth}px`:void 0;return{position:j.value,top:`${C.value??0}px`,left:`${$.value??0}px`,maxWidth:t?void 0:h.value,maxHeight:x.value,width:t}})),N=e.computed((()=>V.value.split("-")[0])),D=e.computed((()=>{var e,t,o,r,l;if(B.value)return;const a={[n.top]:n.bottom,[n.right]:n.left,[n.bottom]:n.top,[n.left]:n.right}[N.value];return{left:void 0!==(null==(e=z.value.arrow)?void 0:e.x)?`${null==(t=z.value.arrow)?void 0:t.x}px`:void 0,top:void 0!==(null==(o=z.value.arrow)?void 0:o.y)?`${null==(r=z.value.arrow)?void 0:r.y}px`:void 0,[a]:-((null==(l=E.value)?void 0:l.offsetWidth)??0)/2+"px"}})),_=o.useVModel(d,"modelValue",s),F=e.ref(!1),R=e.computed({get:()=>_.value??F.value,set:e=>{void 0!==_.value?_.value=e:F.value=e}});function T(){R.value=!0}function W(){R.value=!1}function L(){R.value=!R.value}function q(e){P.value=e}u({toggle:L,show:T,hide:W,init:q,customPosition:B}),e.watch(R,(t=>{t&&d.autofocusFirst&&e.nextTick((()=>{const e=X(S.value);e.length>0&&e[0].focus({preventScroll:!0})}))})),o.onClickOutside(S,(()=>{!d.keepOpen&&R.value&&(R.value=!1)}),{ignore:[P]});const H=e.computed((()=>{var e,t;return(null==(t=null==(e=P.value)?void 0:e.getAttribute)?void 0:t.call(e,"id"))??void 0})),K=e.computed((()=>({"aria-controls":b.value,"aria-haspopup":!0,"aria-expanded":R.value}))),{component:M,bus:I}=function({reference:t,id:o,expanded:l,aria:a}){const n=r(),u=e.defineComponent({name:"VvDropdownTriggerProvider",setup(){e.provide(c,{reference:t,id:o,expanded:l,aria:a,bus:n})},render(){var t,o;return e.h(e.Fragment,{},null==(o=(t=this.$slots).default)?void 0:o.call(t))}});return{bus:n,component:u}}({reference:P,id:b,expanded:R,aria:K});I.on("click",L);const{role:U,modifiers:G}=e.toRefs(d),J=function(t,o,r){return e.computed((()=>{const l={[t]:!0},a="string"==typeof(null==o?void 0:o.value)?o.value.split(" "):null==o?void 0:o.value;return a&&Array.isArray(a)&&a.forEach((e=>{e&&(l[`${t}--${e}`]=!0)})),r&&Object.keys(r.value).forEach((o=>{l[`${t}--${o}`]=e.unref(r.value[o])})),l}))}("vv-dropdown",G,e.computed((()=>({arrow:d.arrow})))),{focused:Q}=o.useFocusWithin(S);function X(e){return e?[...e.querySelectorAll('a[href], button, input, textarea, select, details, [tabindex]:not([tabindex="-1"])')].filter((e=>!e.hasAttribute("disabled")&&!e.getAttribute("aria-hidden"))):[]}const Y=o.useElementHover(S),{itemRole:Z}=function({role:t,...o}){const r=e.computed((()=>t.value===f.listbox?p.option:p.presentation));return e.provide(v,{role:r,...o}),{itemRole:r}}({role:U,expanded:R,focused:Q,hovered:Y});o.onKeyStroke("Escape",(e=>{R.value&&(e.preventDefault(),W())})),o.onKeyStroke("ArrowDown",(t=>{R.value&&Q.value&&(t.preventDefault(),e.nextTick((()=>{if(Q.value){const e=X(S.value);if(0===e.length||!document.activeElement)return;const t=e.indexOf(document.activeElement);t<e.length-1?e[t+1].focus({preventScroll:!0}):e[0].focus({preventScroll:!0})}})))})),o.onKeyStroke("ArrowUp",(t=>{R.value&&Q.value&&(t.preventDefault(),e.nextTick((()=>{if(Q.value){const e=X(S.value);if(0===e.length||!document.activeElement)return;const t=e.indexOf(document.activeElement);t>0?e[t-1].focus({preventScroll:!0}):e[e.length-1].focus({preventScroll:!0})}})))})),o.onKeyStroke([" ","Enter"],(e=>{const t=e.target;R.value&&Q.value&&t&&(null==t||t.click())}));const ee={"before-enter":()=>{s(R.value?"beforeExpand":"beforeCollapse"),s("beforeEnter")},"after-leave":()=>{s(R.value?"afterExpand":"afterCollapse"),s("afterLeave")},enter:()=>{s("enter")},"after-enter":()=>{s("afterEnter")},"enter-cancelled":()=>{s("enterCancelled")},"before-leave":()=>{s("beforeLeave")},leave:()=>{s("leave")},"leave-cancelled":()=>{s("leaveCancelled")}};return(t,o)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(e.unref(M),null,{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default",e.normalizeProps(e.guardReactiveProps({init:q,show:T,hide:W,toggle:L,expanded:e.unref(R),aria:e.unref(K)})))])),_:3}),e.createVNode(e.Transition,e.mergeProps({name:t.transitionName},e.toHandlers(ee),{persisted:""}),{default:e.withCtx((()=>[e.withDirectives(e.createElementVNode("div",{ref_key:"floatingEl",ref:S,style:e.normalizeStyle(e.unref(A)),class:e.normalizeClass(e.unref(J))},[d.arrow?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"arrowEl",ref:E,style:e.normalizeStyle(e.unref(D)),class:"vv-dropdown__arrow"},null,4)):e.createCommentVNode("v-if",!0),e.renderSlot(t.$slots,"before",e.normalizeProps(e.guardReactiveProps({expanded:e.unref(R)}))),e.createElementVNode("div",e.mergeProps(e.unref(g),{id:e.unref(b),ref_key:"listEl",ref:k,tabindex:e.unref(R)?void 0:-1,role:e.unref(U),"aria-labelledby":e.unref(H),class:"vv-dropdown__list"}),[e.renderSlot(t.$slots,"items",e.normalizeProps(e.guardReactiveProps({role:e.unref(Z)})))],16,y),e.renderSlot(t.$slots,"after",e.normalizeProps(e.guardReactiveProps({expanded:e.unref(R)})))],6),[[e.vShow,e.unref(R)]])])),_:3},16,["name"])],64))}})}));
|