@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,7 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { uid } from "uid";
|
|
1
|
+
import { computed, isRef, defineComponent, h, inject, toRef, toRefs, useId, unref, useSlots, ref, watchEffect, watch, onMounted, openBlock, createElementBlock, normalizeClass, withDirectives, createElementVNode, vModelCheckbox, renderSlot, createTextVNode, toDisplayString, createVNode, createSlots, withCtx, normalizeProps, guardReactiveProps, provide, createCommentVNode, Fragment, renderList, createBlock, mergeProps } from "vue";
|
|
3
2
|
import { useVModel } from "@vueuse/core";
|
|
4
3
|
import { get } from "ts-dot-prop";
|
|
4
|
+
var StorageType = /* @__PURE__ */ ((StorageType2) => {
|
|
5
|
+
StorageType2["local"] = "local";
|
|
6
|
+
StorageType2["session"] = "session";
|
|
7
|
+
return StorageType2;
|
|
8
|
+
})(StorageType || {});
|
|
5
9
|
var Strategy = /* @__PURE__ */ ((Strategy2) => {
|
|
6
10
|
Strategy2["absolute"] = "absolute";
|
|
7
11
|
Strategy2["fixed"] = "fixed";
|
|
@@ -36,218 +40,17 @@ var ButtonType = /* @__PURE__ */ ((ButtonType2) => {
|
|
|
36
40
|
ButtonType2["reset"] = "reset";
|
|
37
41
|
return ButtonType2;
|
|
38
42
|
})(ButtonType || {});
|
|
39
|
-
var
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
return
|
|
45
|
-
})(
|
|
43
|
+
var ActionTag = /* @__PURE__ */ ((ActionTag2) => {
|
|
44
|
+
ActionTag2["nuxtLink"] = "nuxt-link";
|
|
45
|
+
ActionTag2["routerLink"] = "router-link";
|
|
46
|
+
ActionTag2["a"] = "a";
|
|
47
|
+
ActionTag2["button"] = "button";
|
|
48
|
+
return ActionTag2;
|
|
49
|
+
})(ActionTag || {});
|
|
46
50
|
const INJECTION_KEY_VOLVER = Symbol.for("volver");
|
|
47
|
-
const INJECTION_KEY_CHECK_GROUP = Symbol.for(
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
return resolveFieldData(obj1, field) === resolveFieldData(obj2, field);
|
|
51
|
-
}
|
|
52
|
-
return deepEquals(obj1, obj2);
|
|
53
|
-
}
|
|
54
|
-
function deepEquals(a, b) {
|
|
55
|
-
if (a === b)
|
|
56
|
-
return true;
|
|
57
|
-
if (a && b && typeof a == "object" && typeof b == "object") {
|
|
58
|
-
const arrA = Array.isArray(a);
|
|
59
|
-
const arrB = Array.isArray(b);
|
|
60
|
-
let i, length, key;
|
|
61
|
-
if (arrA && arrB) {
|
|
62
|
-
length = a.length;
|
|
63
|
-
if (length != b.length)
|
|
64
|
-
return false;
|
|
65
|
-
for (i = length; i-- !== 0; )
|
|
66
|
-
if (!deepEquals(a[i], b[i]))
|
|
67
|
-
return false;
|
|
68
|
-
return true;
|
|
69
|
-
}
|
|
70
|
-
if (arrA != arrB)
|
|
71
|
-
return false;
|
|
72
|
-
const dateA = a instanceof Date, dateB = b instanceof Date;
|
|
73
|
-
if (dateA != dateB)
|
|
74
|
-
return false;
|
|
75
|
-
if (dateA && dateB)
|
|
76
|
-
return a.getTime() == b.getTime();
|
|
77
|
-
const regexpA = a instanceof RegExp, regexpB = b instanceof RegExp;
|
|
78
|
-
if (regexpA != regexpB)
|
|
79
|
-
return false;
|
|
80
|
-
if (regexpA && regexpB)
|
|
81
|
-
return a.toString() == b.toString();
|
|
82
|
-
const keys = Object.keys(a);
|
|
83
|
-
length = keys.length;
|
|
84
|
-
if (length !== Object.keys(b).length)
|
|
85
|
-
return false;
|
|
86
|
-
for (i = length; i-- !== 0; )
|
|
87
|
-
if (!Object.prototype.hasOwnProperty.call(b, keys[i]))
|
|
88
|
-
return false;
|
|
89
|
-
for (i = length; i-- !== 0; ) {
|
|
90
|
-
key = keys[i];
|
|
91
|
-
if (!deepEquals(a[key], b[key]))
|
|
92
|
-
return false;
|
|
93
|
-
}
|
|
94
|
-
return true;
|
|
95
|
-
}
|
|
96
|
-
return a !== a && b !== b;
|
|
97
|
-
}
|
|
98
|
-
function resolveFieldData(data, field) {
|
|
99
|
-
if (data && Object.keys(data).length && field) {
|
|
100
|
-
if (field.indexOf(".") === -1) {
|
|
101
|
-
return data[field];
|
|
102
|
-
} else {
|
|
103
|
-
const fields = field.split(".");
|
|
104
|
-
let value = data;
|
|
105
|
-
for (let i = 0, len = fields.length; i < len; ++i) {
|
|
106
|
-
if (data == null) {
|
|
107
|
-
return null;
|
|
108
|
-
}
|
|
109
|
-
value = value[fields[i]];
|
|
110
|
-
}
|
|
111
|
-
return value;
|
|
112
|
-
}
|
|
113
|
-
} else {
|
|
114
|
-
return null;
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
function contains(value, list) {
|
|
118
|
-
if (value != null && list && list.length) {
|
|
119
|
-
for (const val of list) {
|
|
120
|
-
if (equals(value, val)) {
|
|
121
|
-
return true;
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
return false;
|
|
126
|
-
}
|
|
127
|
-
function isEmpty(value) {
|
|
128
|
-
return ((value2) => value2 === null || value2 === void 0 || value2 === "" || Array.isArray(value2) && value2.length === 0 || !(value2 instanceof Date) && typeof value2 === "object" && Object.keys(value2).length === 0)(unref(value));
|
|
129
|
-
}
|
|
130
|
-
function isString(value) {
|
|
131
|
-
return typeof value === "string" || value instanceof String;
|
|
132
|
-
}
|
|
133
|
-
function joinLines(items) {
|
|
134
|
-
if (Array.isArray(items)) {
|
|
135
|
-
return items.filter((item) => isString(item)).join(" ");
|
|
136
|
-
}
|
|
137
|
-
return items;
|
|
138
|
-
}
|
|
139
|
-
function HintSlotFactory(propsOrRef, slots) {
|
|
140
|
-
const props = computed(() => {
|
|
141
|
-
if (isRef(propsOrRef)) {
|
|
142
|
-
return propsOrRef.value;
|
|
143
|
-
}
|
|
144
|
-
return propsOrRef;
|
|
145
|
-
});
|
|
146
|
-
const invalidLabel = computed(() => joinLines(props.value.invalidLabel));
|
|
147
|
-
const validLabel = computed(() => joinLines(props.value.validLabel));
|
|
148
|
-
const loadingLabel = computed(() => props.value.loadingLabel);
|
|
149
|
-
const hintLabel = computed(() => props.value.hintLabel);
|
|
150
|
-
const hasLoadingLabelOrSlot = computed(
|
|
151
|
-
() => Boolean(props.value.loading && (slots.loading || loadingLabel.value))
|
|
152
|
-
);
|
|
153
|
-
const hasInvalidLabelOrSlot = computed(
|
|
154
|
-
() => !hasLoadingLabelOrSlot.value && Boolean(
|
|
155
|
-
props.value.invalid && (slots.invalid || invalidLabel.value)
|
|
156
|
-
)
|
|
157
|
-
);
|
|
158
|
-
const hasValidLabelOrSlot = computed(
|
|
159
|
-
() => !hasLoadingLabelOrSlot.value && !hasInvalidLabelOrSlot.value && Boolean(props.value.valid && (slots.valid || validLabel.value))
|
|
160
|
-
);
|
|
161
|
-
const hasHintLabelOrSlot = computed(
|
|
162
|
-
() => !hasLoadingLabelOrSlot.value && !hasInvalidLabelOrSlot.value && !hasValidLabelOrSlot.value && Boolean(slots.hint || hintLabel.value)
|
|
163
|
-
);
|
|
164
|
-
const isVisible = computed(
|
|
165
|
-
() => hasInvalidLabelOrSlot.value || hasValidLabelOrSlot.value || hasLoadingLabelOrSlot.value || hasHintLabelOrSlot.value
|
|
166
|
-
);
|
|
167
|
-
const hintSlotScope = computed(() => ({
|
|
168
|
-
modelValue: props.value.modelValue,
|
|
169
|
-
valid: props.value.valid,
|
|
170
|
-
invalid: props.value.invalid,
|
|
171
|
-
loading: props.value.loading
|
|
172
|
-
}));
|
|
173
|
-
const HintSlot = defineComponent({
|
|
174
|
-
name: "HintSlot",
|
|
175
|
-
props: {
|
|
176
|
-
tag: {
|
|
177
|
-
type: String,
|
|
178
|
-
default: "small"
|
|
179
|
-
}
|
|
180
|
-
},
|
|
181
|
-
setup() {
|
|
182
|
-
return {
|
|
183
|
-
isVisible,
|
|
184
|
-
invalidLabel,
|
|
185
|
-
validLabel,
|
|
186
|
-
loadingLabel,
|
|
187
|
-
hintLabel,
|
|
188
|
-
hasInvalidLabelOrSlot,
|
|
189
|
-
hasValidLabelOrSlot,
|
|
190
|
-
hasLoadingLabelOrSlot,
|
|
191
|
-
hasHintLabelOrSlot
|
|
192
|
-
};
|
|
193
|
-
},
|
|
194
|
-
render() {
|
|
195
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
196
|
-
if (this.isVisible) {
|
|
197
|
-
let role;
|
|
198
|
-
if (this.hasInvalidLabelOrSlot) {
|
|
199
|
-
role = "alert";
|
|
200
|
-
}
|
|
201
|
-
if (this.hasValidLabelOrSlot) {
|
|
202
|
-
role = "status";
|
|
203
|
-
}
|
|
204
|
-
if (this.hasLoadingLabelOrSlot) {
|
|
205
|
-
return h(
|
|
206
|
-
this.tag,
|
|
207
|
-
{
|
|
208
|
-
role
|
|
209
|
-
},
|
|
210
|
-
((_b = (_a = this.$slots).loading) == null ? void 0 : _b.call(_a)) ?? this.loadingLabel
|
|
211
|
-
);
|
|
212
|
-
}
|
|
213
|
-
if (this.hasInvalidLabelOrSlot) {
|
|
214
|
-
return h(
|
|
215
|
-
this.tag,
|
|
216
|
-
{
|
|
217
|
-
role
|
|
218
|
-
},
|
|
219
|
-
((_d = (_c = this.$slots).invalid) == null ? void 0 : _d.call(_c)) ?? this.$slots.invalid ?? this.invalidLabel
|
|
220
|
-
);
|
|
221
|
-
}
|
|
222
|
-
if (this.hasValidLabelOrSlot) {
|
|
223
|
-
return h(
|
|
224
|
-
this.tag,
|
|
225
|
-
{
|
|
226
|
-
role
|
|
227
|
-
},
|
|
228
|
-
((_f = (_e = this.$slots).valid) == null ? void 0 : _f.call(_e)) ?? this.validLabel
|
|
229
|
-
);
|
|
230
|
-
}
|
|
231
|
-
return h(
|
|
232
|
-
this.tag,
|
|
233
|
-
{
|
|
234
|
-
role
|
|
235
|
-
},
|
|
236
|
-
((_h = (_g = this.$slots).hint) == null ? void 0 : _h.call(_g)) ?? this.$slots.hint ?? this.hintLabel
|
|
237
|
-
);
|
|
238
|
-
}
|
|
239
|
-
return null;
|
|
240
|
-
}
|
|
241
|
-
});
|
|
242
|
-
return {
|
|
243
|
-
hasInvalidLabelOrSlot,
|
|
244
|
-
hasHintLabelOrSlot,
|
|
245
|
-
hasValidLabelOrSlot,
|
|
246
|
-
hasLoadingLabelOrSlot,
|
|
247
|
-
hintSlotScope,
|
|
248
|
-
HintSlot
|
|
249
|
-
};
|
|
250
|
-
}
|
|
51
|
+
const INJECTION_KEY_CHECK_GROUP = Symbol.for(
|
|
52
|
+
"checkGroup"
|
|
53
|
+
);
|
|
251
54
|
const LinkProps = {
|
|
252
55
|
/**
|
|
253
56
|
* The router-link/nuxt-link property, if it is defined the button is rendered as a ruouter-link or nuxt-link.
|
|
@@ -263,10 +66,7 @@ const LinkProps = {
|
|
|
263
66
|
/**
|
|
264
67
|
* Anchor target
|
|
265
68
|
*/
|
|
266
|
-
target:
|
|
267
|
-
type: String,
|
|
268
|
-
validator: (value) => Object.values(AnchorTarget).includes(value)
|
|
269
|
-
},
|
|
69
|
+
target: String,
|
|
270
70
|
/**
|
|
271
71
|
* Anchor rel
|
|
272
72
|
*/
|
|
@@ -279,27 +79,33 @@ const ValidProps = {
|
|
|
279
79
|
/**
|
|
280
80
|
* Valid status
|
|
281
81
|
*/
|
|
282
|
-
valid: Boolean,
|
|
82
|
+
valid: { type: Boolean, default: false },
|
|
283
83
|
/**
|
|
284
84
|
* Valid label
|
|
285
85
|
*/
|
|
286
|
-
validLabel: [String, Array]
|
|
86
|
+
validLabel: { type: [String, Array], default: void 0 }
|
|
287
87
|
};
|
|
288
88
|
const InvalidProps = {
|
|
289
89
|
/**
|
|
290
90
|
* Invalid status
|
|
291
91
|
*/
|
|
292
|
-
invalid:
|
|
92
|
+
invalid: {
|
|
93
|
+
type: Boolean,
|
|
94
|
+
default: false
|
|
95
|
+
},
|
|
293
96
|
/**
|
|
294
97
|
* Invalid label
|
|
295
98
|
*/
|
|
296
|
-
invalidLabel: [String, Array]
|
|
99
|
+
invalidLabel: { type: [String, Array], default: void 0 }
|
|
297
100
|
};
|
|
298
101
|
const LoadingProps = {
|
|
299
102
|
/**
|
|
300
103
|
* Loading status
|
|
301
104
|
*/
|
|
302
|
-
loading:
|
|
105
|
+
loading: {
|
|
106
|
+
type: Boolean,
|
|
107
|
+
default: false
|
|
108
|
+
},
|
|
303
109
|
/**
|
|
304
110
|
* Loading label
|
|
305
111
|
*/
|
|
@@ -312,43 +118,64 @@ const DisabledProps = {
|
|
|
312
118
|
/**
|
|
313
119
|
* Whether the form control is disabled
|
|
314
120
|
*/
|
|
315
|
-
disabled:
|
|
121
|
+
disabled: {
|
|
122
|
+
type: Boolean,
|
|
123
|
+
default: false
|
|
124
|
+
}
|
|
316
125
|
};
|
|
317
126
|
const ActiveProps = {
|
|
318
127
|
/**
|
|
319
128
|
* Whether the item is active
|
|
320
129
|
*/
|
|
321
|
-
active:
|
|
130
|
+
active: {
|
|
131
|
+
type: Boolean,
|
|
132
|
+
default: false
|
|
133
|
+
}
|
|
322
134
|
};
|
|
323
135
|
const CurrentProps = {
|
|
324
136
|
/**
|
|
325
137
|
* Whether the item is current
|
|
326
138
|
*/
|
|
327
|
-
current:
|
|
139
|
+
current: {
|
|
140
|
+
type: Boolean,
|
|
141
|
+
default: false
|
|
142
|
+
}
|
|
328
143
|
};
|
|
329
144
|
const PressedProps = {
|
|
330
145
|
/**
|
|
331
146
|
* Whether the item is pressed
|
|
332
147
|
*/
|
|
333
|
-
pressed:
|
|
148
|
+
pressed: {
|
|
149
|
+
type: Boolean,
|
|
150
|
+
default: false
|
|
151
|
+
}
|
|
334
152
|
};
|
|
335
153
|
const LabelProps = {
|
|
336
154
|
/**
|
|
337
155
|
* The item label
|
|
338
156
|
*/
|
|
339
|
-
label:
|
|
157
|
+
label: {
|
|
158
|
+
type: [String, Number],
|
|
159
|
+
default: void 0
|
|
160
|
+
}
|
|
340
161
|
};
|
|
341
162
|
const ReadonlyProps = {
|
|
342
163
|
/**
|
|
343
164
|
* The value is not editable
|
|
344
165
|
*/
|
|
345
|
-
readonly:
|
|
166
|
+
readonly: {
|
|
167
|
+
type: Boolean,
|
|
168
|
+
default: false
|
|
169
|
+
}
|
|
346
170
|
};
|
|
347
171
|
const ModifiersProps = {
|
|
348
172
|
/**
|
|
349
173
|
* Component BEM modifiers
|
|
350
174
|
*/
|
|
351
|
-
modifiers:
|
|
175
|
+
modifiers: {
|
|
176
|
+
type: [String, Array],
|
|
177
|
+
default: void 0
|
|
178
|
+
}
|
|
352
179
|
};
|
|
353
180
|
const HintProps = {
|
|
354
181
|
hintLabel: { type: String, default: "" }
|
|
@@ -379,7 +206,10 @@ const OptionsProps = {
|
|
|
379
206
|
* VvIcon name or props
|
|
380
207
|
* @see VVIcon
|
|
381
208
|
*/
|
|
382
|
-
icon: {
|
|
209
|
+
icon: {
|
|
210
|
+
type: [String, Object],
|
|
211
|
+
default: void 0
|
|
212
|
+
},
|
|
383
213
|
/**
|
|
384
214
|
* VvIcon position
|
|
385
215
|
*/
|
|
@@ -424,7 +254,8 @@ const IdProps = {
|
|
|
424
254
|
* Dropdown show / hide transition name
|
|
425
255
|
*/
|
|
426
256
|
transitionName: {
|
|
427
|
-
type: String
|
|
257
|
+
type: String,
|
|
258
|
+
default: void 0
|
|
428
259
|
},
|
|
429
260
|
/**
|
|
430
261
|
* Offset of the dropdown from the trigger
|
|
@@ -492,7 +323,8 @@ const IdProps = {
|
|
|
492
323
|
* Set dropdown width to the same as the trigger
|
|
493
324
|
*/
|
|
494
325
|
triggerWidth: {
|
|
495
|
-
type: Boolean
|
|
326
|
+
type: Boolean,
|
|
327
|
+
default: false
|
|
496
328
|
}
|
|
497
329
|
});
|
|
498
330
|
const IdNameProps = {
|
|
@@ -519,11 +351,17 @@ const CheckboxRadioProps = {
|
|
|
519
351
|
* Input value
|
|
520
352
|
* @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#value
|
|
521
353
|
*/
|
|
522
|
-
value:
|
|
354
|
+
value: {
|
|
355
|
+
type: [String, Number, Boolean],
|
|
356
|
+
default: void 0
|
|
357
|
+
},
|
|
523
358
|
/**
|
|
524
359
|
* Input value
|
|
525
360
|
*/
|
|
526
|
-
modelValue:
|
|
361
|
+
modelValue: {
|
|
362
|
+
type: [Object, Number, Boolean, String],
|
|
363
|
+
default: void 0
|
|
364
|
+
}
|
|
527
365
|
};
|
|
528
366
|
const CheckboxRadioGroupProps = {
|
|
529
367
|
...ValidProps,
|
|
@@ -538,7 +376,10 @@ const CheckboxRadioGroupProps = {
|
|
|
538
376
|
/**
|
|
539
377
|
* Input value
|
|
540
378
|
*/
|
|
541
|
-
modelValue:
|
|
379
|
+
modelValue: {
|
|
380
|
+
type: [String, Array, Boolean, Number, Symbol],
|
|
381
|
+
default: void 0
|
|
382
|
+
},
|
|
542
383
|
/**
|
|
543
384
|
* Input name
|
|
544
385
|
*/
|
|
@@ -546,7 +387,10 @@ const CheckboxRadioGroupProps = {
|
|
|
546
387
|
/**
|
|
547
388
|
* If true, the group will be displayed in a vertical column
|
|
548
389
|
*/
|
|
549
|
-
vertical:
|
|
390
|
+
vertical: {
|
|
391
|
+
type: Boolean,
|
|
392
|
+
default: false
|
|
393
|
+
}
|
|
550
394
|
};
|
|
551
395
|
({
|
|
552
396
|
...DisabledProps,
|
|
@@ -569,17 +413,216 @@ const CheckboxRadioGroupProps = {
|
|
|
569
413
|
ariaLabel: {
|
|
570
414
|
type: String,
|
|
571
415
|
default: void 0
|
|
416
|
+
},
|
|
417
|
+
/**
|
|
418
|
+
* Default tag for the action
|
|
419
|
+
*/
|
|
420
|
+
defaultTag: {
|
|
421
|
+
type: String,
|
|
422
|
+
default: ActionTag.button
|
|
572
423
|
}
|
|
573
424
|
});
|
|
574
|
-
|
|
425
|
+
({
|
|
426
|
+
storageType: {
|
|
427
|
+
type: String,
|
|
428
|
+
default: StorageType.local,
|
|
429
|
+
validator: (value) => Object.values(StorageType).includes(value)
|
|
430
|
+
},
|
|
431
|
+
storageKey: String
|
|
432
|
+
});
|
|
433
|
+
const VvCheckboxGroupProps = CheckboxRadioGroupProps;
|
|
434
|
+
const VvCheckboxGroupEvents = ["update:modelValue", "change"];
|
|
435
|
+
function equals(obj1, obj2, field) {
|
|
436
|
+
return deepEquals(obj1, obj2);
|
|
437
|
+
}
|
|
438
|
+
function deepEquals(a, b) {
|
|
439
|
+
if (a === b)
|
|
440
|
+
return true;
|
|
441
|
+
if (a && b && typeof a == "object" && typeof b == "object") {
|
|
442
|
+
const arrA = Array.isArray(a);
|
|
443
|
+
const arrB = Array.isArray(b);
|
|
444
|
+
let i, length, key;
|
|
445
|
+
if (arrA && arrB) {
|
|
446
|
+
length = a.length;
|
|
447
|
+
if (length !== b.length)
|
|
448
|
+
return false;
|
|
449
|
+
for (i = length; i-- !== 0; ) {
|
|
450
|
+
if (!deepEquals(a[i], b[i]))
|
|
451
|
+
return false;
|
|
452
|
+
}
|
|
453
|
+
return true;
|
|
454
|
+
}
|
|
455
|
+
if (arrA !== arrB)
|
|
456
|
+
return false;
|
|
457
|
+
const dateA = a instanceof Date;
|
|
458
|
+
const dateB = b instanceof Date;
|
|
459
|
+
if (dateA !== dateB)
|
|
460
|
+
return false;
|
|
461
|
+
if (dateA && dateB)
|
|
462
|
+
return a.getTime() === b.getTime();
|
|
463
|
+
const regexpA = a instanceof RegExp;
|
|
464
|
+
const regexpB = b instanceof RegExp;
|
|
465
|
+
if (regexpA !== regexpB)
|
|
466
|
+
return false;
|
|
467
|
+
if (regexpA && regexpB)
|
|
468
|
+
return a.toString() === b.toString();
|
|
469
|
+
const keys = Object.keys(a);
|
|
470
|
+
length = keys.length;
|
|
471
|
+
if (length !== Object.keys(b).length)
|
|
472
|
+
return false;
|
|
473
|
+
for (i = length; i-- !== 0; ) {
|
|
474
|
+
if (!Object.prototype.hasOwnProperty.call(b, keys[i]))
|
|
475
|
+
return false;
|
|
476
|
+
}
|
|
477
|
+
for (i = length; i-- !== 0; ) {
|
|
478
|
+
key = keys[i];
|
|
479
|
+
if (!deepEquals(a[key], b[key]))
|
|
480
|
+
return false;
|
|
481
|
+
}
|
|
482
|
+
return true;
|
|
483
|
+
}
|
|
484
|
+
return Number.isNaN(a) && Number.isNaN(b);
|
|
485
|
+
}
|
|
486
|
+
function contains(value, list) {
|
|
487
|
+
if (value != null && list && list.length) {
|
|
488
|
+
for (const val of list) {
|
|
489
|
+
if (equals(value, val)) {
|
|
490
|
+
return true;
|
|
491
|
+
}
|
|
492
|
+
}
|
|
493
|
+
}
|
|
494
|
+
return false;
|
|
495
|
+
}
|
|
496
|
+
function isString(value) {
|
|
497
|
+
return typeof value === "string" || value instanceof String;
|
|
498
|
+
}
|
|
499
|
+
function joinLines(items) {
|
|
500
|
+
if (Array.isArray(items)) {
|
|
501
|
+
return items.filter((item) => isString(item)).join(" ");
|
|
502
|
+
}
|
|
503
|
+
return items;
|
|
504
|
+
}
|
|
505
|
+
function HintSlotFactory(propsOrRef, slots) {
|
|
506
|
+
const props = computed(() => {
|
|
507
|
+
if (isRef(propsOrRef)) {
|
|
508
|
+
return propsOrRef.value;
|
|
509
|
+
}
|
|
510
|
+
return propsOrRef;
|
|
511
|
+
});
|
|
512
|
+
const invalidLabel = computed(() => joinLines(props.value.invalidLabel));
|
|
513
|
+
const validLabel = computed(() => joinLines(props.value.validLabel));
|
|
514
|
+
const loadingLabel = computed(() => props.value.loadingLabel);
|
|
515
|
+
const hintLabel = computed(() => props.value.hintLabel);
|
|
516
|
+
const hasLoadingLabelOrSlot = computed(
|
|
517
|
+
() => Boolean(props.value.loading && (slots.loading || loadingLabel.value))
|
|
518
|
+
);
|
|
519
|
+
const hasInvalidLabelOrSlot = computed(
|
|
520
|
+
() => !hasLoadingLabelOrSlot.value && Boolean(
|
|
521
|
+
props.value.invalid && (slots.invalid || invalidLabel.value)
|
|
522
|
+
)
|
|
523
|
+
);
|
|
524
|
+
const hasValidLabelOrSlot = computed(
|
|
525
|
+
() => !hasLoadingLabelOrSlot.value && !hasInvalidLabelOrSlot.value && Boolean(props.value.valid && (slots.valid || validLabel.value))
|
|
526
|
+
);
|
|
527
|
+
const hasHintLabelOrSlot = computed(
|
|
528
|
+
() => !hasLoadingLabelOrSlot.value && !hasInvalidLabelOrSlot.value && !hasValidLabelOrSlot.value && Boolean(slots.hint || hintLabel.value)
|
|
529
|
+
);
|
|
530
|
+
const isVisible = computed(
|
|
531
|
+
() => hasInvalidLabelOrSlot.value || hasValidLabelOrSlot.value || hasLoadingLabelOrSlot.value || hasHintLabelOrSlot.value
|
|
532
|
+
);
|
|
533
|
+
const hintSlotScope = computed(() => ({
|
|
534
|
+
modelValue: props.value.modelValue,
|
|
535
|
+
valid: props.value.valid,
|
|
536
|
+
invalid: props.value.invalid,
|
|
537
|
+
loading: props.value.loading
|
|
538
|
+
}));
|
|
539
|
+
const HintSlot = defineComponent({
|
|
540
|
+
name: "HintSlot",
|
|
541
|
+
props: {
|
|
542
|
+
tag: {
|
|
543
|
+
type: String,
|
|
544
|
+
default: "small"
|
|
545
|
+
}
|
|
546
|
+
},
|
|
547
|
+
setup() {
|
|
548
|
+
return {
|
|
549
|
+
isVisible,
|
|
550
|
+
invalidLabel,
|
|
551
|
+
validLabel,
|
|
552
|
+
loadingLabel,
|
|
553
|
+
hintLabel,
|
|
554
|
+
hasInvalidLabelOrSlot,
|
|
555
|
+
hasValidLabelOrSlot,
|
|
556
|
+
hasLoadingLabelOrSlot,
|
|
557
|
+
hasHintLabelOrSlot
|
|
558
|
+
};
|
|
559
|
+
},
|
|
560
|
+
render() {
|
|
561
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
562
|
+
if (this.isVisible) {
|
|
563
|
+
let role;
|
|
564
|
+
if (this.hasInvalidLabelOrSlot) {
|
|
565
|
+
role = "alert";
|
|
566
|
+
}
|
|
567
|
+
if (this.hasValidLabelOrSlot) {
|
|
568
|
+
role = "status";
|
|
569
|
+
}
|
|
570
|
+
if (this.hasLoadingLabelOrSlot) {
|
|
571
|
+
return h(
|
|
572
|
+
this.tag,
|
|
573
|
+
{
|
|
574
|
+
role
|
|
575
|
+
},
|
|
576
|
+
((_b = (_a = this.$slots).loading) == null ? void 0 : _b.call(_a)) ?? this.loadingLabel
|
|
577
|
+
);
|
|
578
|
+
}
|
|
579
|
+
if (this.hasInvalidLabelOrSlot) {
|
|
580
|
+
return h(
|
|
581
|
+
this.tag,
|
|
582
|
+
{
|
|
583
|
+
role
|
|
584
|
+
},
|
|
585
|
+
((_d = (_c = this.$slots).invalid) == null ? void 0 : _d.call(_c)) ?? this.$slots.invalid ?? this.invalidLabel
|
|
586
|
+
);
|
|
587
|
+
}
|
|
588
|
+
if (this.hasValidLabelOrSlot) {
|
|
589
|
+
return h(
|
|
590
|
+
this.tag,
|
|
591
|
+
{
|
|
592
|
+
role
|
|
593
|
+
},
|
|
594
|
+
((_f = (_e = this.$slots).valid) == null ? void 0 : _f.call(_e)) ?? this.validLabel
|
|
595
|
+
);
|
|
596
|
+
}
|
|
597
|
+
return h(
|
|
598
|
+
this.tag,
|
|
599
|
+
{
|
|
600
|
+
role
|
|
601
|
+
},
|
|
602
|
+
((_h = (_g = this.$slots).hint) == null ? void 0 : _h.call(_g)) ?? this.$slots.hint ?? this.hintLabel
|
|
603
|
+
);
|
|
604
|
+
}
|
|
605
|
+
return null;
|
|
606
|
+
}
|
|
607
|
+
});
|
|
608
|
+
return {
|
|
609
|
+
hasInvalidLabelOrSlot,
|
|
610
|
+
hasHintLabelOrSlot,
|
|
611
|
+
hasValidLabelOrSlot,
|
|
612
|
+
hasLoadingLabelOrSlot,
|
|
613
|
+
hintSlotScope,
|
|
614
|
+
HintSlot
|
|
615
|
+
};
|
|
616
|
+
}
|
|
617
|
+
function useGroupStateInject(groupKey) {
|
|
575
618
|
const group = inject(groupKey, void 0);
|
|
576
|
-
const isInGroup = computed(() =>
|
|
619
|
+
const isInGroup = computed(() => group !== void 0);
|
|
577
620
|
function getGroupOrLocalRef(propName, props, emit) {
|
|
578
|
-
|
|
579
|
-
|
|
621
|
+
const groupPropValue = group == null ? void 0 : group[propName];
|
|
622
|
+
if (groupPropValue) {
|
|
580
623
|
return computed({
|
|
581
624
|
get() {
|
|
582
|
-
return groupPropValue
|
|
625
|
+
return groupPropValue.value;
|
|
583
626
|
},
|
|
584
627
|
set(value) {
|
|
585
628
|
groupPropValue.value = value;
|
|
@@ -592,8 +635,9 @@ function useInjectedGroupState(groupKey) {
|
|
|
592
635
|
return propRef.value;
|
|
593
636
|
},
|
|
594
637
|
set(value) {
|
|
595
|
-
if (emit)
|
|
638
|
+
if (emit) {
|
|
596
639
|
emit(`update:${propName}`, value);
|
|
640
|
+
}
|
|
597
641
|
}
|
|
598
642
|
});
|
|
599
643
|
}
|
|
@@ -621,22 +665,16 @@ const VvCheckboxProps = {
|
|
|
621
665
|
};
|
|
622
666
|
const VvCheckboxEvents = ["click", "update:modelValue", "change", "blur"];
|
|
623
667
|
function useGroupProps(props, emit) {
|
|
624
|
-
const { group, isInGroup, getGroupOrLocalRef } =
|
|
668
|
+
const { group, isInGroup, getGroupOrLocalRef } = useGroupStateInject(INJECTION_KEY_CHECK_GROUP);
|
|
625
669
|
const { id, switch: propsSwitch, indeterminate } = toRefs(props);
|
|
626
670
|
const modelValue = getGroupOrLocalRef("modelValue", props, emit);
|
|
627
671
|
const valid = getGroupOrLocalRef("valid", props);
|
|
628
672
|
const invalid = getGroupOrLocalRef("invalid", props);
|
|
629
673
|
const readonly = computed(
|
|
630
|
-
() =>
|
|
631
|
-
var _a;
|
|
632
|
-
return Boolean(props.readonly || ((_a = group == null ? void 0 : group.value) == null ? void 0 : _a.readonly.value));
|
|
633
|
-
}
|
|
674
|
+
() => Boolean(props.readonly || (group == null ? void 0 : group.readonly.value))
|
|
634
675
|
);
|
|
635
676
|
const disabled = computed(
|
|
636
|
-
() =>
|
|
637
|
-
var _a;
|
|
638
|
-
return Boolean(props.disabled || ((_a = group == null ? void 0 : group.value) == null ? void 0 : _a.disabled.value));
|
|
639
|
-
}
|
|
677
|
+
() => Boolean(props.disabled || (group == null ? void 0 : group.disabled.value))
|
|
640
678
|
);
|
|
641
679
|
return {
|
|
642
680
|
// local props
|
|
@@ -709,7 +747,9 @@ function useDefaults(componentName, propsDefinition, props) {
|
|
|
709
747
|
}, {});
|
|
710
748
|
});
|
|
711
749
|
}
|
|
712
|
-
|
|
750
|
+
function useUniqueId(id) {
|
|
751
|
+
return computed(() => String((id == null ? void 0 : id.value) || useId()));
|
|
752
|
+
}
|
|
713
753
|
function useModifiers(prefix, modifiers, others) {
|
|
714
754
|
return computed(() => {
|
|
715
755
|
const toReturn = {
|
|
@@ -742,8 +782,9 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
742
782
|
...__default__$1,
|
|
743
783
|
props: VvCheckboxProps,
|
|
744
784
|
emits: VvCheckboxEvents,
|
|
745
|
-
setup(__props, { emit }) {
|
|
785
|
+
setup(__props, { emit: __emit }) {
|
|
746
786
|
const props = __props;
|
|
787
|
+
const emit = __emit;
|
|
747
788
|
const slots = useSlots();
|
|
748
789
|
const propsDefaults = useDefaults(
|
|
749
790
|
"VvCheckbox",
|
|
@@ -807,8 +848,9 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
807
848
|
if (isBinary.value) {
|
|
808
849
|
modelValue.value = newValue ? props.value : props.uncheckedValue;
|
|
809
850
|
} else if (Array.isArray(modelValue.value) || isInGroup.value) {
|
|
851
|
+
const currentValue = modelValue.value ?? [];
|
|
810
852
|
const toReturn = new Set(
|
|
811
|
-
Array.isArray(
|
|
853
|
+
Array.isArray(currentValue) ? currentValue : [currentValue]
|
|
812
854
|
);
|
|
813
855
|
if (newValue) {
|
|
814
856
|
toReturn.add(props.value);
|
|
@@ -886,12 +928,19 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
886
928
|
[vModelCheckbox, unref(localModelValue)]
|
|
887
929
|
]),
|
|
888
930
|
renderSlot(_ctx.$slots, "default", { value: unref(modelValue) }, () => [
|
|
889
|
-
createTextVNode(
|
|
931
|
+
createTextVNode(
|
|
932
|
+
toDisplayString(_ctx.label),
|
|
933
|
+
1
|
|
934
|
+
/* TEXT */
|
|
935
|
+
)
|
|
890
936
|
]),
|
|
891
937
|
createVNode(unref(HintSlot), {
|
|
892
938
|
id: unref(hasHintId),
|
|
893
939
|
class: "vv-checkbox__hint"
|
|
894
|
-
}, createSlots({
|
|
940
|
+
}, createSlots({
|
|
941
|
+
_: 2
|
|
942
|
+
/* DYNAMIC */
|
|
943
|
+
}, [
|
|
895
944
|
_ctx.$slots.hint ? {
|
|
896
945
|
name: "hint",
|
|
897
946
|
fn: withCtx(() => [
|
|
@@ -925,41 +974,48 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
925
974
|
};
|
|
926
975
|
}
|
|
927
976
|
});
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
function useProvideGroupState(groupState) {
|
|
931
|
-
if (Object.keys(groupState).some(
|
|
932
|
-
(k) => k !== "key" && !isRef(groupState[k])
|
|
933
|
-
))
|
|
934
|
-
throw Error("One or more groupState props aren't ref.");
|
|
935
|
-
provide(
|
|
936
|
-
groupState.key,
|
|
937
|
-
computed(() => groupState)
|
|
938
|
-
);
|
|
977
|
+
function useGroupStateProvide(key, groupState) {
|
|
978
|
+
provide(key, groupState);
|
|
939
979
|
}
|
|
940
980
|
function useOptions(props) {
|
|
941
981
|
const { options, labelKey, valueKey, disabledKey } = toRefs(props);
|
|
942
982
|
const getOptionLabel = (option) => {
|
|
943
|
-
if (typeof option
|
|
983
|
+
if (typeof option === "string") {
|
|
944
984
|
return option;
|
|
985
|
+
}
|
|
986
|
+
if (typeof labelKey.value === "function") {
|
|
987
|
+
return labelKey.value(option);
|
|
988
|
+
}
|
|
945
989
|
return String(
|
|
946
|
-
|
|
990
|
+
labelKey.value ? get(option, labelKey.value) : option
|
|
947
991
|
);
|
|
948
992
|
};
|
|
949
993
|
const getOptionValue = (option) => {
|
|
950
|
-
if (typeof option
|
|
994
|
+
if (typeof option === "string") {
|
|
951
995
|
return option;
|
|
952
|
-
|
|
996
|
+
}
|
|
997
|
+
if (typeof valueKey.value === "function") {
|
|
998
|
+
return valueKey.value(option);
|
|
999
|
+
}
|
|
1000
|
+
return valueKey.value ? get(option, valueKey.value) : option;
|
|
953
1001
|
};
|
|
954
1002
|
const isOptionDisabled = (option) => {
|
|
955
|
-
if (typeof option
|
|
1003
|
+
if (typeof option === "string") {
|
|
956
1004
|
return false;
|
|
957
|
-
|
|
1005
|
+
}
|
|
1006
|
+
if (typeof disabledKey.value === "function") {
|
|
1007
|
+
return disabledKey.value(option);
|
|
1008
|
+
}
|
|
1009
|
+
return disabledKey.value ? get(option, disabledKey.value) : false;
|
|
958
1010
|
};
|
|
959
1011
|
const getOptionGrouped = (option) => {
|
|
960
|
-
if (typeof option
|
|
1012
|
+
if (typeof option == "string") {
|
|
961
1013
|
return [];
|
|
962
|
-
|
|
1014
|
+
}
|
|
1015
|
+
if (typeof option === "object" && option && "options" in option) {
|
|
1016
|
+
return option.options;
|
|
1017
|
+
}
|
|
1018
|
+
return [];
|
|
963
1019
|
};
|
|
964
1020
|
return {
|
|
965
1021
|
options,
|
|
@@ -978,8 +1034,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
978
1034
|
...__default__,
|
|
979
1035
|
props: VvCheckboxGroupProps,
|
|
980
1036
|
emits: VvCheckboxGroupEvents,
|
|
981
|
-
setup(__props, { emit }) {
|
|
1037
|
+
setup(__props, { emit: __emit }) {
|
|
982
1038
|
const props = __props;
|
|
1039
|
+
const emit = __emit;
|
|
983
1040
|
const slots = useSlots();
|
|
984
1041
|
const propsDefaults = useDefaults(
|
|
985
1042
|
"VvCheckboxGroup",
|
|
@@ -988,8 +1045,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
988
1045
|
);
|
|
989
1046
|
const modelValue = useVModel(props, "modelValue", emit);
|
|
990
1047
|
const { disabled, readonly, vertical, valid, invalid, modifiers } = toRefs(props);
|
|
991
|
-
|
|
992
|
-
key: INJECTION_KEY_CHECK_GROUP,
|
|
1048
|
+
useGroupStateProvide(INJECTION_KEY_CHECK_GROUP, {
|
|
993
1049
|
modelValue,
|
|
994
1050
|
disabled,
|
|
995
1051
|
readonly,
|
|
@@ -1008,59 +1064,89 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1008
1064
|
invalid: invalid.value
|
|
1009
1065
|
}))
|
|
1010
1066
|
);
|
|
1011
|
-
|
|
1067
|
+
function getOptionProps(option, index) {
|
|
1012
1068
|
return {
|
|
1013
1069
|
id: `${props.name}_opt${index}`,
|
|
1014
1070
|
name: props.name,
|
|
1015
1071
|
label: getOptionLabel(option),
|
|
1016
1072
|
value: getOptionValue(option)
|
|
1017
1073
|
};
|
|
1018
|
-
}
|
|
1074
|
+
}
|
|
1019
1075
|
const { HintSlot, hintSlotScope } = HintSlotFactory(propsDefaults, slots);
|
|
1020
1076
|
return (_ctx, _cache) => {
|
|
1021
|
-
return openBlock(), createElementBlock(
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1077
|
+
return openBlock(), createElementBlock(
|
|
1078
|
+
"fieldset",
|
|
1079
|
+
{
|
|
1080
|
+
class: normalizeClass(unref(bemCssClasses))
|
|
1081
|
+
},
|
|
1082
|
+
[
|
|
1083
|
+
_ctx.label ? (openBlock(), createElementBlock("legend", {
|
|
1084
|
+
key: 0,
|
|
1085
|
+
textContent: toDisplayString(_ctx.label)
|
|
1086
|
+
}, null, 8, _hoisted_1)) : createCommentVNode("v-if", true),
|
|
1087
|
+
createElementVNode("div", _hoisted_2, [
|
|
1088
|
+
_ctx.options.length > 0 ? (openBlock(true), createElementBlock(
|
|
1089
|
+
Fragment,
|
|
1090
|
+
{ key: 0 },
|
|
1091
|
+
renderList(_ctx.options, (option, index) => {
|
|
1092
|
+
return openBlock(), createBlock(
|
|
1093
|
+
_sfc_main$1,
|
|
1094
|
+
mergeProps({
|
|
1095
|
+
key: index,
|
|
1096
|
+
ref_for: true
|
|
1097
|
+
}, getOptionProps(option, index)),
|
|
1098
|
+
null,
|
|
1099
|
+
16
|
|
1100
|
+
/* FULL_PROPS */
|
|
1101
|
+
);
|
|
1102
|
+
}),
|
|
1103
|
+
128
|
|
1104
|
+
/* KEYED_FRAGMENT */
|
|
1105
|
+
)) : renderSlot(_ctx.$slots, "default", { key: 1 })
|
|
1106
|
+
]),
|
|
1107
|
+
createVNode(
|
|
1108
|
+
unref(HintSlot),
|
|
1109
|
+
{ class: "vv-checkbox-group__hint" },
|
|
1110
|
+
createSlots({
|
|
1111
|
+
_: 2
|
|
1112
|
+
/* DYNAMIC */
|
|
1113
|
+
}, [
|
|
1114
|
+
_ctx.$slots.hint ? {
|
|
1115
|
+
name: "hint",
|
|
1116
|
+
fn: withCtx(() => [
|
|
1117
|
+
renderSlot(_ctx.$slots, "hint", normalizeProps(guardReactiveProps(unref(hintSlotScope))))
|
|
1118
|
+
]),
|
|
1119
|
+
key: "0"
|
|
1120
|
+
} : void 0,
|
|
1121
|
+
_ctx.$slots.loading ? {
|
|
1122
|
+
name: "loading",
|
|
1123
|
+
fn: withCtx(() => [
|
|
1124
|
+
renderSlot(_ctx.$slots, "loading", normalizeProps(guardReactiveProps(unref(hintSlotScope))))
|
|
1125
|
+
]),
|
|
1126
|
+
key: "1"
|
|
1127
|
+
} : void 0,
|
|
1128
|
+
_ctx.$slots.valid ? {
|
|
1129
|
+
name: "valid",
|
|
1130
|
+
fn: withCtx(() => [
|
|
1131
|
+
renderSlot(_ctx.$slots, "valid", normalizeProps(guardReactiveProps(unref(hintSlotScope))))
|
|
1132
|
+
]),
|
|
1133
|
+
key: "2"
|
|
1134
|
+
} : void 0,
|
|
1135
|
+
_ctx.$slots.invalid ? {
|
|
1136
|
+
name: "invalid",
|
|
1137
|
+
fn: withCtx(() => [
|
|
1138
|
+
renderSlot(_ctx.$slots, "invalid", normalizeProps(guardReactiveProps(unref(hintSlotScope))))
|
|
1139
|
+
]),
|
|
1140
|
+
key: "3"
|
|
1141
|
+
} : void 0
|
|
1059
1142
|
]),
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1143
|
+
1024
|
|
1144
|
+
/* DYNAMIC_SLOTS */
|
|
1145
|
+
)
|
|
1146
|
+
],
|
|
1147
|
+
2
|
|
1148
|
+
/* CLASS */
|
|
1149
|
+
);
|
|
1064
1150
|
};
|
|
1065
1151
|
}
|
|
1066
1152
|
});
|