@volverjs/ui-vue 0.0.10-beta.5 → 0.0.10-beta.50
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 +2304 -1992
- package/dist/components/VvCombobox/VvCombobox.umd.js +1 -1
- package/dist/components/VvCombobox/VvCombobox.vue.d.ts +258 -672
- package/dist/components/VvCombobox/index.d.ts +377 -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 +1491 -551
- 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 +606 -597
- 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 +4086 -2029
- 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 +277 -193
- 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 +655 -619
- package/src/components/VvCombobox/index.ts +210 -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 +652 -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 +461 -384
- 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, openBlock, createElementBlock, normalizeClass, withDirectives, createElementVNode, vModelRadio, 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_RADIO_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_RADIO_GROUP = Symbol.for(
|
|
52
|
+
"radioGroup"
|
|
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 VvRadioGroupProps = CheckboxRadioGroupProps;
|
|
434
|
+
const VvRadioGroupEvents = ["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
|
}
|
|
@@ -607,21 +651,15 @@ const VvRadioProps = CheckboxRadioProps;
|
|
|
607
651
|
const VvRadioEvents = ["click", "update:modelValue", "change", "blur"];
|
|
608
652
|
function useGroupProps(props, emit) {
|
|
609
653
|
const { id } = toRefs(props);
|
|
610
|
-
const { group, isInGroup, getGroupOrLocalRef } =
|
|
654
|
+
const { group, isInGroup, getGroupOrLocalRef } = useGroupStateInject(INJECTION_KEY_RADIO_GROUP);
|
|
611
655
|
const modelValue = getGroupOrLocalRef("modelValue", props, emit);
|
|
612
656
|
const valid = getGroupOrLocalRef("valid", props);
|
|
613
657
|
const invalid = getGroupOrLocalRef("invalid", props);
|
|
614
658
|
const readonly = computed(
|
|
615
|
-
() =>
|
|
616
|
-
var _a;
|
|
617
|
-
return Boolean(props.readonly || ((_a = group == null ? void 0 : group.value) == null ? void 0 : _a.readonly.value));
|
|
618
|
-
}
|
|
659
|
+
() => Boolean(props.readonly || (group == null ? void 0 : group.readonly.value))
|
|
619
660
|
);
|
|
620
661
|
const disabled = computed(
|
|
621
|
-
() =>
|
|
622
|
-
var _a;
|
|
623
|
-
return Boolean(props.disabled || ((_a = group == null ? void 0 : group.value) == null ? void 0 : _a.disabled.value));
|
|
624
|
-
}
|
|
662
|
+
() => Boolean(props.disabled || (group == null ? void 0 : group.disabled.value))
|
|
625
663
|
);
|
|
626
664
|
return {
|
|
627
665
|
// local props
|
|
@@ -692,7 +730,9 @@ function useDefaults(componentName, propsDefinition, props) {
|
|
|
692
730
|
}, {});
|
|
693
731
|
});
|
|
694
732
|
}
|
|
695
|
-
|
|
733
|
+
function useUniqueId(id) {
|
|
734
|
+
return computed(() => String((id == null ? void 0 : id.value) || useId()));
|
|
735
|
+
}
|
|
696
736
|
function useModifiers(prefix, modifiers, others) {
|
|
697
737
|
return computed(() => {
|
|
698
738
|
const toReturn = {
|
|
@@ -725,8 +765,9 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
725
765
|
...__default__$1,
|
|
726
766
|
props: VvRadioProps,
|
|
727
767
|
emits: VvRadioEvents,
|
|
728
|
-
setup(__props, { emit }) {
|
|
768
|
+
setup(__props, { emit: __emit }) {
|
|
729
769
|
const props = __props;
|
|
770
|
+
const emit = __emit;
|
|
730
771
|
const slots = useSlots();
|
|
731
772
|
const propsDefaults = useDefaults(
|
|
732
773
|
"VvRadio",
|
|
@@ -807,12 +848,19 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
807
848
|
[vModelRadio, unref(localModelValue)]
|
|
808
849
|
]),
|
|
809
850
|
renderSlot(_ctx.$slots, "default", { value: unref(modelValue) }, () => [
|
|
810
|
-
createTextVNode(
|
|
851
|
+
createTextVNode(
|
|
852
|
+
toDisplayString(_ctx.label),
|
|
853
|
+
1
|
|
854
|
+
/* TEXT */
|
|
855
|
+
)
|
|
811
856
|
]),
|
|
812
857
|
createVNode(unref(HintSlot), {
|
|
813
858
|
id: unref(hasHintId),
|
|
814
859
|
class: "vv-radio__hint"
|
|
815
|
-
}, createSlots({
|
|
860
|
+
}, createSlots({
|
|
861
|
+
_: 2
|
|
862
|
+
/* DYNAMIC */
|
|
863
|
+
}, [
|
|
816
864
|
_ctx.$slots.hint ? {
|
|
817
865
|
name: "hint",
|
|
818
866
|
fn: withCtx(() => [
|
|
@@ -846,41 +894,48 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
846
894
|
};
|
|
847
895
|
}
|
|
848
896
|
});
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
function useProvideGroupState(groupState) {
|
|
852
|
-
if (Object.keys(groupState).some(
|
|
853
|
-
(k) => k !== "key" && !isRef(groupState[k])
|
|
854
|
-
))
|
|
855
|
-
throw Error("One or more groupState props aren't ref.");
|
|
856
|
-
provide(
|
|
857
|
-
groupState.key,
|
|
858
|
-
computed(() => groupState)
|
|
859
|
-
);
|
|
897
|
+
function useGroupStateProvide(key, groupState) {
|
|
898
|
+
provide(key, groupState);
|
|
860
899
|
}
|
|
861
900
|
function useOptions(props) {
|
|
862
901
|
const { options, labelKey, valueKey, disabledKey } = toRefs(props);
|
|
863
902
|
const getOptionLabel = (option) => {
|
|
864
|
-
if (typeof option
|
|
903
|
+
if (typeof option === "string") {
|
|
865
904
|
return option;
|
|
905
|
+
}
|
|
906
|
+
if (typeof labelKey.value === "function") {
|
|
907
|
+
return labelKey.value(option);
|
|
908
|
+
}
|
|
866
909
|
return String(
|
|
867
|
-
|
|
910
|
+
labelKey.value ? get(option, labelKey.value) : option
|
|
868
911
|
);
|
|
869
912
|
};
|
|
870
913
|
const getOptionValue = (option) => {
|
|
871
|
-
if (typeof option
|
|
914
|
+
if (typeof option === "string") {
|
|
872
915
|
return option;
|
|
873
|
-
|
|
916
|
+
}
|
|
917
|
+
if (typeof valueKey.value === "function") {
|
|
918
|
+
return valueKey.value(option);
|
|
919
|
+
}
|
|
920
|
+
return valueKey.value ? get(option, valueKey.value) : option;
|
|
874
921
|
};
|
|
875
922
|
const isOptionDisabled = (option) => {
|
|
876
|
-
if (typeof option
|
|
923
|
+
if (typeof option === "string") {
|
|
877
924
|
return false;
|
|
878
|
-
|
|
925
|
+
}
|
|
926
|
+
if (typeof disabledKey.value === "function") {
|
|
927
|
+
return disabledKey.value(option);
|
|
928
|
+
}
|
|
929
|
+
return disabledKey.value ? get(option, disabledKey.value) : false;
|
|
879
930
|
};
|
|
880
931
|
const getOptionGrouped = (option) => {
|
|
881
|
-
if (typeof option
|
|
932
|
+
if (typeof option == "string") {
|
|
882
933
|
return [];
|
|
883
|
-
|
|
934
|
+
}
|
|
935
|
+
if (typeof option === "object" && option && "options" in option) {
|
|
936
|
+
return option.options;
|
|
937
|
+
}
|
|
938
|
+
return [];
|
|
884
939
|
};
|
|
885
940
|
return {
|
|
886
941
|
options,
|
|
@@ -899,8 +954,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
899
954
|
...__default__,
|
|
900
955
|
props: VvRadioGroupProps,
|
|
901
956
|
emits: VvRadioGroupEvents,
|
|
902
|
-
setup(__props, { emit }) {
|
|
957
|
+
setup(__props, { emit: __emit }) {
|
|
903
958
|
const props = __props;
|
|
959
|
+
const emit = __emit;
|
|
904
960
|
const slots = useSlots();
|
|
905
961
|
const propsDefaults = useDefaults(
|
|
906
962
|
"VvRadioGroup",
|
|
@@ -909,8 +965,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
909
965
|
);
|
|
910
966
|
const modelValue = useVModel(props, "modelValue", emit);
|
|
911
967
|
const { disabled, readonly, vertical, valid, invalid, modifiers } = toRefs(props);
|
|
912
|
-
|
|
913
|
-
key: INJECTION_KEY_RADIO_GROUP,
|
|
968
|
+
useGroupStateProvide(INJECTION_KEY_RADIO_GROUP, {
|
|
914
969
|
modelValue,
|
|
915
970
|
disabled,
|
|
916
971
|
readonly,
|
|
@@ -929,59 +984,89 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
929
984
|
invalid: invalid.value
|
|
930
985
|
}))
|
|
931
986
|
);
|
|
932
|
-
|
|
987
|
+
function getOptionProps(option, index) {
|
|
933
988
|
return {
|
|
934
989
|
id: `${props.name}_opt${index}`,
|
|
935
990
|
name: props.name,
|
|
936
991
|
label: getOptionLabel(option),
|
|
937
992
|
value: getOptionValue(option)
|
|
938
993
|
};
|
|
939
|
-
}
|
|
994
|
+
}
|
|
940
995
|
const { HintSlot, hintSlotScope } = HintSlotFactory(propsDefaults, slots);
|
|
941
996
|
return (_ctx, _cache) => {
|
|
942
|
-
return openBlock(), createElementBlock(
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
997
|
+
return openBlock(), createElementBlock(
|
|
998
|
+
"fieldset",
|
|
999
|
+
{
|
|
1000
|
+
class: normalizeClass(unref(bemCssClasses))
|
|
1001
|
+
},
|
|
1002
|
+
[
|
|
1003
|
+
_ctx.label ? (openBlock(), createElementBlock("legend", {
|
|
1004
|
+
key: 0,
|
|
1005
|
+
textContent: toDisplayString(_ctx.label)
|
|
1006
|
+
}, null, 8, _hoisted_1)) : createCommentVNode("v-if", true),
|
|
1007
|
+
createElementVNode("div", _hoisted_2, [
|
|
1008
|
+
_ctx.options.length > 0 ? (openBlock(true), createElementBlock(
|
|
1009
|
+
Fragment,
|
|
1010
|
+
{ key: 0 },
|
|
1011
|
+
renderList(_ctx.options, (option, index) => {
|
|
1012
|
+
return openBlock(), createBlock(
|
|
1013
|
+
_sfc_main$1,
|
|
1014
|
+
mergeProps({
|
|
1015
|
+
key: index,
|
|
1016
|
+
ref_for: true
|
|
1017
|
+
}, getOptionProps(option, index)),
|
|
1018
|
+
null,
|
|
1019
|
+
16
|
|
1020
|
+
/* FULL_PROPS */
|
|
1021
|
+
);
|
|
1022
|
+
}),
|
|
1023
|
+
128
|
|
1024
|
+
/* KEYED_FRAGMENT */
|
|
1025
|
+
)) : renderSlot(_ctx.$slots, "default", { key: 1 })
|
|
1026
|
+
]),
|
|
1027
|
+
createVNode(
|
|
1028
|
+
unref(HintSlot),
|
|
1029
|
+
{ class: "vv-radio-group__hint" },
|
|
1030
|
+
createSlots({
|
|
1031
|
+
_: 2
|
|
1032
|
+
/* DYNAMIC */
|
|
1033
|
+
}, [
|
|
1034
|
+
_ctx.$slots.hint ? {
|
|
1035
|
+
name: "hint",
|
|
1036
|
+
fn: withCtx(() => [
|
|
1037
|
+
renderSlot(_ctx.$slots, "hint", normalizeProps(guardReactiveProps(unref(hintSlotScope))))
|
|
1038
|
+
]),
|
|
1039
|
+
key: "0"
|
|
1040
|
+
} : void 0,
|
|
1041
|
+
_ctx.$slots.loading ? {
|
|
1042
|
+
name: "loading",
|
|
1043
|
+
fn: withCtx(() => [
|
|
1044
|
+
renderSlot(_ctx.$slots, "loading", normalizeProps(guardReactiveProps(unref(hintSlotScope))))
|
|
1045
|
+
]),
|
|
1046
|
+
key: "1"
|
|
1047
|
+
} : void 0,
|
|
1048
|
+
_ctx.$slots.valid ? {
|
|
1049
|
+
name: "valid",
|
|
1050
|
+
fn: withCtx(() => [
|
|
1051
|
+
renderSlot(_ctx.$slots, "valid", normalizeProps(guardReactiveProps(unref(hintSlotScope))))
|
|
1052
|
+
]),
|
|
1053
|
+
key: "2"
|
|
1054
|
+
} : void 0,
|
|
1055
|
+
_ctx.$slots.invalid ? {
|
|
1056
|
+
name: "invalid",
|
|
1057
|
+
fn: withCtx(() => [
|
|
1058
|
+
renderSlot(_ctx.$slots, "invalid", normalizeProps(guardReactiveProps(unref(hintSlotScope))))
|
|
1059
|
+
]),
|
|
1060
|
+
key: "3"
|
|
1061
|
+
} : void 0
|
|
980
1062
|
]),
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
1063
|
+
1024
|
|
1064
|
+
/* DYNAMIC_SLOTS */
|
|
1065
|
+
)
|
|
1066
|
+
],
|
|
1067
|
+
2
|
|
1068
|
+
/* CLASS */
|
|
1069
|
+
);
|
|
985
1070
|
};
|
|
986
1071
|
}
|
|
987
1072
|
});
|