@volverjs/ui-vue 0.0.10-beta.3 → 0.0.10-beta.31
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 +106 -10
- package/auto-imports.d.ts +7 -2
- package/bin/icons.cjs +1 -1
- package/bin/icons.js +22 -15
- package/dist/Volver.d.ts +1 -1
- package/dist/components/VvAccordion/VvAccordion.es.js +192 -103
- package/dist/components/VvAccordion/VvAccordion.umd.js +1 -1
- package/dist/components/VvAccordion/VvAccordion.vue.d.ts +160 -8
- package/dist/components/VvAccordion/index.d.ts +8 -9
- package/dist/components/VvAccordionGroup/VvAccordionGroup.es.js +451 -172
- package/dist/components/VvAccordionGroup/VvAccordionGroup.umd.js +1 -1
- package/dist/components/VvAccordionGroup/VvAccordionGroup.vue.d.ts +58 -13
- package/dist/components/VvAccordionGroup/index.d.ts +14 -6
- package/dist/components/VvAction/VvAction.es.js +78 -27
- package/dist/components/VvAction/VvAction.umd.js +1 -1
- package/dist/components/VvAction/VvAction.vue.d.ts +57 -22
- package/dist/components/VvAction/index.d.ts +25 -9
- package/dist/components/VvAlert/VvAlert.es.js +204 -171
- package/dist/components/VvAlert/VvAlert.umd.js +1 -1
- package/dist/components/VvAlert/VvAlert.vue.d.ts +24 -14
- package/dist/components/VvAlert/index.d.ts +17 -9
- package/dist/components/VvAlertGroup/VvAlertGroup.es.js +250 -188
- package/dist/components/VvAlertGroup/VvAlertGroup.umd.js +1 -1
- package/dist/components/VvAlertGroup/VvAlertGroup.vue.d.ts +16 -9
- package/dist/components/VvAlertGroup/index.d.ts +6 -14
- package/dist/components/VvAvatar/VvAvatar.es.js +61 -21
- package/dist/components/VvAvatar/VvAvatar.umd.js +1 -1
- package/dist/components/VvAvatar/VvAvatar.vue.d.ts +12 -4
- package/dist/components/VvAvatar/index.d.ts +4 -1
- package/dist/components/VvAvatarGroup/VvAvatarGroup.es.js +118 -48
- package/dist/components/VvAvatarGroup/VvAvatarGroup.umd.js +1 -1
- package/dist/components/VvAvatarGroup/VvAvatarGroup.vue.d.ts +10 -3
- package/dist/components/VvAvatarGroup/index.d.ts +4 -1
- package/dist/components/VvBadge/VvBadge.es.js +78 -28
- package/dist/components/VvBadge/VvBadge.umd.js +1 -1
- package/dist/components/VvBadge/VvBadge.vue.d.ts +12 -4
- package/dist/components/VvBadge/index.d.ts +4 -1
- package/dist/components/VvBreadcrumb/VvBreadcrumb.es.js +276 -60
- package/dist/components/VvBreadcrumb/VvBreadcrumb.umd.js +1 -1
- package/dist/components/VvBreadcrumb/VvBreadcrumb.vue.d.ts +27 -7
- package/dist/components/VvBreadcrumb/index.d.ts +6 -10
- package/dist/components/VvButton/VvButton.es.js +291 -252
- package/dist/components/VvButton/VvButton.umd.js +1 -1
- package/dist/components/VvButton/VvButton.vue.d.ts +94 -40
- package/dist/components/VvButton/index.d.ts +51 -29
- package/dist/components/VvButtonGroup/VvButtonGroup.es.js +81 -40
- package/dist/components/VvButtonGroup/VvButtonGroup.umd.js +1 -1
- package/dist/components/VvButtonGroup/VvButtonGroup.vue.d.ts +24 -11
- package/dist/components/VvButtonGroup/index.d.ts +8 -2
- package/dist/components/VvCard/VvCard.es.js +86 -36
- package/dist/components/VvCard/VvCard.umd.js +1 -1
- package/dist/components/VvCard/VvCard.vue.d.ts +12 -4
- package/dist/components/VvCard/index.d.ts +4 -1
- package/dist/components/VvCheckbox/VvCheckbox.es.js +177 -120
- package/dist/components/VvCheckbox/VvCheckbox.umd.js +1 -1
- package/dist/components/VvCheckbox/VvCheckbox.vue.d.ts +105 -33
- package/dist/components/VvCheckbox/index.d.ts +47 -14
- package/dist/components/VvCheckboxGroup/VvCheckboxGroup.es.js +190 -107
- package/dist/components/VvCheckboxGroup/VvCheckboxGroup.umd.js +1 -1
- package/dist/components/VvCheckboxGroup/VvCheckboxGroup.vue.d.ts +101 -30
- package/dist/components/VvCheckboxGroup/index.d.ts +45 -12
- package/dist/components/VvCombobox/VvCombobox.es.js +806 -581
- package/dist/components/VvCombobox/VvCombobox.umd.js +1 -1
- package/dist/components/VvCombobox/VvCombobox.vue.d.ts +171 -104
- package/dist/components/VvCombobox/index.d.ts +62 -26
- package/dist/components/VvDialog/VvDialog.es.js +140 -153
- package/dist/components/VvDialog/VvDialog.umd.js +1 -1
- package/dist/components/VvDialog/VvDialog.vue.d.ts +4 -4
- package/dist/components/VvDropdown/VvDropdown.es.js +138 -71
- package/dist/components/VvDropdown/VvDropdown.umd.js +1 -1
- package/dist/components/VvDropdown/VvDropdown.vue.d.ts +101 -75
- package/dist/components/VvDropdown/VvDropdownAction.vue.d.ts +66 -25
- package/dist/components/VvDropdown/VvDropdownItem.vue.d.ts +13 -1
- package/dist/components/VvDropdown/VvDropdownOptgroup.vue.d.ts +12 -4
- package/dist/components/VvDropdown/VvDropdownOption.vue.d.ts +35 -7
- package/dist/components/VvDropdown/index.d.ts +52 -10
- package/dist/components/VvDropdownAction/VvDropdownAction.es.js +152 -39
- package/dist/components/VvDropdownAction/VvDropdownAction.umd.js +1 -1
- package/dist/components/VvDropdownItem/VvDropdownItem.es.js +335 -8
- 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 +23 -96
- package/dist/components/VvIcon/VvIcon.umd.js +1 -1
- package/dist/components/VvIcon/VvIcon.vue.d.ts +23 -66
- 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 +359 -0
- package/dist/components/VvInputFile/index.d.ts +200 -0
- package/dist/components/VvInputText/VvInputClearAction.d.ts +7 -5
- package/dist/components/VvInputText/VvInputPasswordAction.d.ts +10 -8
- package/dist/components/VvInputText/VvInputStepAction.d.ts +2 -2
- package/dist/components/VvInputText/VvInputText.es.js +1237 -324
- package/dist/components/VvInputText/VvInputText.umd.js +1 -1
- package/dist/components/VvInputText/VvInputText.vue.d.ts +207 -57
- package/dist/components/VvInputText/index.d.ts +99 -29
- package/dist/components/VvNav/VvNav.es.js +135 -56
- package/dist/components/VvNav/VvNav.umd.js +1 -1
- package/dist/components/VvNav/VvNav.vue.d.ts +32 -9
- 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 +91 -33
- package/dist/components/VvNavItem/VvNavItem.umd.js +1 -1
- package/dist/components/VvProgress/VvProgress.es.js +72 -26
- package/dist/components/VvProgress/VvProgress.umd.js +1 -1
- package/dist/components/VvProgress/VvProgress.vue.d.ts +10 -3
- package/dist/components/VvProgress/index.d.ts +4 -1
- package/dist/components/VvRadio/VvRadio.es.js +160 -103
- package/dist/components/VvRadio/VvRadio.umd.js +1 -1
- package/dist/components/VvRadio/VvRadio.vue.d.ts +103 -31
- package/dist/components/VvRadio/index.d.ts +50 -17
- package/dist/components/VvRadioGroup/VvRadioGroup.es.js +190 -107
- package/dist/components/VvRadioGroup/VvRadioGroup.umd.js +1 -1
- package/dist/components/VvRadioGroup/VvRadioGroup.vue.d.ts +101 -30
- package/dist/components/VvRadioGroup/index.d.ts +45 -12
- package/dist/components/VvSelect/VvSelect.es.js +251 -238
- package/dist/components/VvSelect/VvSelect.umd.js +1 -1
- package/dist/components/VvSelect/VvSelect.vue.d.ts +117 -44
- package/dist/components/VvSelect/index.d.ts +48 -14
- package/dist/components/VvTab/VvTab.es.js +191 -75
- package/dist/components/VvTab/VvTab.umd.js +1 -1
- package/dist/components/VvTab/VvTab.vue.d.ts +31 -7
- package/dist/components/VvTab/index.d.ts +4 -1
- package/dist/components/VvTextarea/VvTextarea.es.js +232 -224
- package/dist/components/VvTextarea/VvTextarea.umd.js +1 -1
- package/dist/components/VvTextarea/VvTextarea.vue.d.ts +156 -49
- package/dist/components/VvTextarea/index.d.ts +68 -19
- package/dist/components/VvTooltip/VvTooltip.es.js +79 -29
- package/dist/components/VvTooltip/VvTooltip.umd.js +1 -1
- package/dist/components/VvTooltip/VvTooltip.vue.d.ts +13 -6
- package/dist/components/VvTooltip/index.d.ts +5 -2
- package/dist/components/common/HintSlot.d.ts +1 -1
- package/dist/components/index.d.ts +10 -0
- package/dist/components/index.es.js +3534 -1650
- package/dist/components/index.umd.js +1 -1
- package/dist/composables/alert/useAlert.d.ts +99 -4
- package/dist/composables/alert/useInjectAlert.d.ts +1 -6
- package/dist/composables/dropdown/useInjectDropdown.d.ts +3 -23
- package/dist/composables/dropdown/useProvideDropdown.d.ts +3 -4
- package/dist/composables/group/useInjectedGroupState.d.ts +4 -5
- package/dist/composables/group/useProvideGroupState.d.ts +3 -3
- package/dist/composables/index.d.ts +1 -0
- package/dist/composables/index.es.js +92 -3
- package/dist/composables/index.umd.js +1 -1
- package/dist/composables/useBlurhash.d.ts +7 -0
- package/dist/composables/useComponentIcon.d.ts +9 -8
- package/dist/composables/usePersistence.d.ts +2 -0
- package/dist/composables/useVolver.d.ts +1 -1
- package/dist/constants.d.ts +34 -32
- package/dist/directives/index.d.ts +3 -5
- package/dist/directives/index.es.js +99 -43
- package/dist/directives/index.umd.js +1 -1
- package/dist/directives/v-tooltip.es.js +97 -38
- package/dist/directives/v-tooltip.umd.js +1 -1
- package/dist/icons.es.js +267 -267
- package/dist/icons.umd.js +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.es.js +90 -16
- package/dist/index.umd.js +1 -1
- package/dist/props/index.d.ts +272 -81
- 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/AccordionGroup/AccordionGroup.stories.d.ts +143 -89
- package/dist/stories/AccordionGroup/AccordionGroupSlots.stories.d.ts +1075 -492
- package/dist/stories/AlertGroup/AlertGroupWithComposable.stories.d.ts +1 -1
- package/dist/stories/Blurhash/BlurhashComposable.stories.d.ts +4 -0
- package/dist/stories/Button/Button.settings.d.ts +0 -1
- package/dist/stories/Combobox/Combobox.settings.d.ts +8 -0
- package/dist/stories/Icon/Icon.settings.d.ts +1 -0
- package/dist/stories/InputFile/InputFile.settings.d.ts +56 -0
- package/dist/stories/InputFile/InputFile.stories.d.ts +12 -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/Tab/Tab.settings.d.ts +2 -15
- package/dist/test/expect.d.ts +1 -1
- package/dist/types/alert.d.ts +9 -7
- package/dist/types/blurhash.d.ts +12 -0
- 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 +16 -0
- package/dist/types/nav.d.ts +2 -2
- package/dist/utils/ObjectUtilities.d.ts +0 -1
- package/dist/workers/blurhash.d.ts +1 -0
- package/package.json +78 -78
- package/src/Volver.ts +31 -20
- 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 +121 -58
- package/src/components/VvAccordion/index.ts +8 -23
- package/src/components/VvAccordionGroup/VvAccordionGroup.vue +164 -47
- package/src/components/VvAccordionGroup/index.ts +6 -6
- package/src/components/VvAction/VvAction.vue +17 -5
- package/src/components/VvAlert/index.ts +14 -9
- package/src/components/VvAlertGroup/index.ts +3 -15
- package/src/components/VvBreadcrumb/VvBreadcrumb.vue +20 -19
- package/src/components/VvBreadcrumb/index.ts +2 -8
- package/src/components/VvButton/VvButton.vue +17 -7
- package/src/components/VvButton/index.ts +9 -16
- package/src/components/VvButtonGroup/VvButtonGroup.vue +1 -2
- package/src/components/VvCheckbox/index.ts +2 -2
- package/src/components/VvCheckboxGroup/VvCheckboxGroup.vue +1 -2
- package/src/components/VvCombobox/VvCombobox.vue +15 -12
- package/src/components/VvCombobox/index.ts +4 -0
- package/src/components/VvDropdown/VvDropdown.vue +11 -2
- package/src/components/VvDropdown/VvDropdownItem.vue +4 -1
- package/src/components/VvDropdown/VvDropdownOption.vue +4 -21
- package/src/components/VvDropdown/index.ts +35 -1
- package/src/components/VvIcon/VvIcon.vue +2 -2
- package/src/components/VvIcon/index.ts +35 -48
- package/src/components/VvInputFile/VvInputFile.vue +395 -0
- package/src/components/VvInputFile/index.ts +135 -0
- package/src/components/VvInputText/VvInputClearAction.ts +10 -6
- package/src/components/VvInputText/VvInputPasswordAction.ts +13 -9
- package/src/components/VvInputText/VvInputText.vue +141 -33
- package/src/components/VvInputText/index.ts +31 -16
- package/src/components/VvNav/VvNav.vue +4 -2
- package/src/components/VvRadio/index.ts +5 -5
- package/src/components/VvRadioGroup/VvRadioGroup.vue +1 -2
- package/src/components/VvSelect/VvSelect.vue +5 -8
- package/src/components/VvTab/VvTab.vue +5 -1
- package/src/components/VvTextarea/VvTextarea.vue +6 -9
- package/src/components/index.ts +10 -0
- package/src/composables/alert/useAlert.ts +12 -9
- package/src/composables/dropdown/useProvideDropdown.ts +4 -4
- package/src/composables/group/useInjectedGroupState.ts +20 -16
- package/src/composables/group/useProvideGroupState.ts +10 -15
- package/src/composables/index.ts +1 -0
- package/src/composables/useBlurhash.ts +76 -0
- package/src/composables/useComponentIcon.ts +15 -14
- package/src/composables/usePersistence.ts +76 -0
- package/src/composables/useUniqueId.ts +2 -2
- package/src/constants.ts +47 -32
- package/src/directives/index.ts +3 -6
- package/src/directives/v-tooltip.ts +19 -10
- package/src/index.ts +3 -1
- package/src/props/index.ts +108 -31
- package/src/resolvers/unplugin.ts +24 -14
- package/src/stories/Accordion/Accordion.test.ts +1 -1
- package/src/stories/AccordionGroup/AccordionGroup.settings.ts +2 -2
- package/src/stories/AccordionGroup/AccordionGroup.test.ts +17 -11
- package/src/stories/AccordionGroup/AccordionGroupSlots.stories.ts +1 -1
- package/src/stories/Alert/Alert.test.ts +1 -1
- package/src/stories/AlertGroup/AlertGroup.test.ts +1 -1
- package/src/stories/AlertGroup/AlertGroupWithComposable.stories.ts +2 -2
- package/src/stories/Avatar/Avatar.test.ts +1 -1
- package/src/stories/AvatarGroup/AvatarGroup.test.ts +1 -1
- package/src/stories/Badge/Badge.test.ts +1 -1
- package/src/stories/Blurhash/BlurhashComposable.stories.ts +195 -0
- package/src/stories/Button/Button.settings.ts +1 -4
- package/src/stories/Button/Button.test.ts +1 -1
- package/src/stories/ButtonGroup/ButtonGroup.test.ts +1 -1
- package/src/stories/Card/Card.test.ts +1 -1
- package/src/stories/Checkbox/Checkbox.test.ts +1 -1
- package/src/stories/CheckboxGroup/CheckboxGroup.test.ts +1 -1
- package/src/stories/Combobox/Combobox.settings.ts +8 -0
- package/src/stories/Combobox/Combobox.test.ts +1 -1
- package/src/stories/Dialog/Dialog.test.ts +2 -2
- package/src/stories/Dropdown/Dropdown.test.ts +1 -1
- package/src/stories/Icon/Icon.settings.ts +3 -3
- package/src/stories/InputFile/InputFile.settings.ts +36 -0
- package/src/stories/InputFile/InputFile.stories.ts +89 -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.test.ts +1 -1
- package/src/stories/Nav/Nav.test.ts +1 -1
- package/src/stories/Progress/Progress.test.ts +1 -1
- package/src/stories/Radio/Radio.test.ts +1 -1
- package/src/stories/RadioGroup/RadioGroup.test.ts +1 -1
- package/src/stories/Select/Select.test.ts +1 -1
- package/src/stories/Tab/Tab.settings.ts +2 -2
- package/src/stories/Tab/Tab.test.ts +1 -1
- package/src/stories/Textarea/Textarea.test.ts +1 -1
- package/src/stories/Tooltip/Tooltip.test.ts +1 -1
- package/src/stories/argTypes.ts +1 -1
- package/src/test/expect.ts +2 -4
- package/src/types/alert.ts +11 -7
- package/src/types/blurhash.ts +21 -0
- package/src/types/generic.ts +3 -3
- package/src/types/group.ts +22 -14
- package/src/types/index.ts +7 -0
- package/src/types/input-file.ts +18 -0
- package/src/types/nav.ts +2 -3
- package/src/utils/ObjectUtilities.ts +0 -11
- package/src/workers/blurhash.ts +9 -0
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import { inject, provide, ref, defineComponent, watch, openBlock, createElementBlock, mergeProps, unref, renderSlot, computed, toRefs, createBlock, normalizeClass, withCtx, createElementVNode, normalizeProps, guardReactiveProps, createTextVNode, toDisplayString } from "vue";
|
|
2
2
|
import "mitt";
|
|
3
3
|
import { useElementHover, useFocus, useFocusWithin } from "@vueuse/core";
|
|
4
|
+
var StorageType = /* @__PURE__ */ ((StorageType2) => {
|
|
5
|
+
StorageType2["local"] = "local";
|
|
6
|
+
StorageType2["session"] = "session";
|
|
7
|
+
return StorageType2;
|
|
8
|
+
})(StorageType || {});
|
|
4
9
|
var Strategy = /* @__PURE__ */ ((Strategy2) => {
|
|
5
10
|
Strategy2["absolute"] = "absolute";
|
|
6
11
|
Strategy2["fixed"] = "fixed";
|
|
@@ -35,64 +40,30 @@ var ButtonType = /* @__PURE__ */ ((ButtonType2) => {
|
|
|
35
40
|
ButtonType2["reset"] = "reset";
|
|
36
41
|
return ButtonType2;
|
|
37
42
|
})(ButtonType || {});
|
|
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 || {});
|
|
38
50
|
var ActionRoles = /* @__PURE__ */ ((ActionRoles2) => {
|
|
39
51
|
ActionRoles2["button"] = "button";
|
|
40
52
|
ActionRoles2["link"] = "link";
|
|
41
53
|
ActionRoles2["menuitem"] = "menuitem";
|
|
42
54
|
return ActionRoles2;
|
|
43
55
|
})(ActionRoles || {});
|
|
44
|
-
var
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
return AnchorTarget2;
|
|
50
|
-
})(AnchorTarget || {});
|
|
56
|
+
var DropdownRole = /* @__PURE__ */ ((DropdownRole2) => {
|
|
57
|
+
DropdownRole2["listbox"] = "listbox";
|
|
58
|
+
DropdownRole2["menu"] = "menu";
|
|
59
|
+
return DropdownRole2;
|
|
60
|
+
})(DropdownRole || {});
|
|
51
61
|
const INJECTION_KEY_DROPDOWN_ITEM = Symbol.for(
|
|
52
62
|
"dropdownItem"
|
|
53
63
|
);
|
|
54
64
|
const INJECTION_KEY_DROPDOWN_ACTION = Symbol.for(
|
|
55
65
|
"dropdownAction"
|
|
56
66
|
);
|
|
57
|
-
function useInjectedDropdownItem() {
|
|
58
|
-
return inject(INJECTION_KEY_DROPDOWN_ITEM, {});
|
|
59
|
-
}
|
|
60
|
-
function useProvideDropdownAction({
|
|
61
|
-
expanded
|
|
62
|
-
}) {
|
|
63
|
-
provide(INJECTION_KEY_DROPDOWN_ACTION, {
|
|
64
|
-
role: ref(ActionRoles.menuitem),
|
|
65
|
-
expanded
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
const __default__$1 = {
|
|
69
|
-
name: "VvDropdownItem"
|
|
70
|
-
};
|
|
71
|
-
const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
72
|
-
...__default__$1,
|
|
73
|
-
setup(__props) {
|
|
74
|
-
const { role, expanded } = useInjectedDropdownItem();
|
|
75
|
-
const element = ref(null);
|
|
76
|
-
useProvideDropdownAction({ expanded });
|
|
77
|
-
const hovered = useElementHover(element);
|
|
78
|
-
const { focused } = useFocus(element);
|
|
79
|
-
const { focused: focusedWithin } = useFocusWithin(element);
|
|
80
|
-
watch(hovered, (newValue) => {
|
|
81
|
-
if (newValue) {
|
|
82
|
-
focused.value = true;
|
|
83
|
-
}
|
|
84
|
-
});
|
|
85
|
-
return (_ctx, _cache) => {
|
|
86
|
-
return openBlock(), createElementBlock("div", mergeProps({ role: unref(role) }, {
|
|
87
|
-
ref_key: "element",
|
|
88
|
-
ref: element,
|
|
89
|
-
class: ["vv-dropdown__item", { "focus-visible": unref(focused) || unref(focusedWithin) }]
|
|
90
|
-
}), [
|
|
91
|
-
renderSlot(_ctx.$slots, "default")
|
|
92
|
-
], 16);
|
|
93
|
-
};
|
|
94
|
-
}
|
|
95
|
-
});
|
|
96
67
|
const LinkProps = {
|
|
97
68
|
/**
|
|
98
69
|
* The router-link/nuxt-link property, if it is defined the button is rendered as a ruouter-link or nuxt-link.
|
|
@@ -108,10 +79,7 @@ const LinkProps = {
|
|
|
108
79
|
/**
|
|
109
80
|
* Anchor target
|
|
110
81
|
*/
|
|
111
|
-
target:
|
|
112
|
-
type: String,
|
|
113
|
-
validator: (value) => Object.values(AnchorTarget).includes(value)
|
|
114
|
-
},
|
|
82
|
+
target: String,
|
|
115
83
|
/**
|
|
116
84
|
* Anchor rel
|
|
117
85
|
*/
|
|
@@ -124,50 +92,74 @@ const DisabledProps = {
|
|
|
124
92
|
/**
|
|
125
93
|
* Whether the form control is disabled
|
|
126
94
|
*/
|
|
127
|
-
disabled:
|
|
95
|
+
disabled: {
|
|
96
|
+
type: Boolean,
|
|
97
|
+
default: false
|
|
98
|
+
}
|
|
128
99
|
};
|
|
129
100
|
const SelectedProps = {
|
|
130
101
|
/**
|
|
131
102
|
* Whether the item is selected
|
|
132
103
|
*/
|
|
133
|
-
selected:
|
|
104
|
+
selected: {
|
|
105
|
+
type: Boolean,
|
|
106
|
+
default: false
|
|
107
|
+
}
|
|
134
108
|
};
|
|
135
109
|
const ActiveProps = {
|
|
136
110
|
/**
|
|
137
111
|
* Whether the item is active
|
|
138
112
|
*/
|
|
139
|
-
active:
|
|
113
|
+
active: {
|
|
114
|
+
type: Boolean,
|
|
115
|
+
default: false
|
|
116
|
+
}
|
|
140
117
|
};
|
|
141
118
|
const CurrentProps = {
|
|
142
119
|
/**
|
|
143
120
|
* Whether the item is current
|
|
144
121
|
*/
|
|
145
|
-
current:
|
|
122
|
+
current: {
|
|
123
|
+
type: Boolean,
|
|
124
|
+
default: false
|
|
125
|
+
}
|
|
146
126
|
};
|
|
147
127
|
const PressedProps = {
|
|
148
128
|
/**
|
|
149
129
|
* Whether the item is pressed
|
|
150
130
|
*/
|
|
151
|
-
pressed:
|
|
131
|
+
pressed: {
|
|
132
|
+
type: Boolean,
|
|
133
|
+
default: false
|
|
134
|
+
}
|
|
152
135
|
};
|
|
153
136
|
const LabelProps = {
|
|
154
137
|
/**
|
|
155
138
|
* The item label
|
|
156
139
|
*/
|
|
157
|
-
label:
|
|
140
|
+
label: {
|
|
141
|
+
type: [String, Number],
|
|
142
|
+
default: void 0
|
|
143
|
+
}
|
|
158
144
|
};
|
|
159
145
|
const ModifiersProps = {
|
|
160
146
|
/**
|
|
161
147
|
* Component BEM modifiers
|
|
162
148
|
*/
|
|
163
|
-
modifiers:
|
|
149
|
+
modifiers: {
|
|
150
|
+
type: [String, Array],
|
|
151
|
+
default: void 0
|
|
152
|
+
}
|
|
164
153
|
};
|
|
165
154
|
({
|
|
166
155
|
/**
|
|
167
156
|
* VvIcon name or props
|
|
168
157
|
* @see VVIcon
|
|
169
158
|
*/
|
|
170
|
-
icon: {
|
|
159
|
+
icon: {
|
|
160
|
+
type: [String, Object],
|
|
161
|
+
default: void 0
|
|
162
|
+
},
|
|
171
163
|
/**
|
|
172
164
|
* VvIcon position
|
|
173
165
|
*/
|
|
@@ -183,7 +175,14 @@ const UnselectableProps = {
|
|
|
183
175
|
*/
|
|
184
176
|
unselectable: { type: Boolean, default: true }
|
|
185
177
|
};
|
|
186
|
-
|
|
178
|
+
const IdProps = {
|
|
179
|
+
/**
|
|
180
|
+
* Global attribute id
|
|
181
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/id
|
|
182
|
+
*/
|
|
183
|
+
id: [String, Number]
|
|
184
|
+
};
|
|
185
|
+
const DropdownProps = {
|
|
187
186
|
/**
|
|
188
187
|
* Dropdown placement
|
|
189
188
|
*/
|
|
@@ -204,7 +203,8 @@ const UnselectableProps = {
|
|
|
204
203
|
* Dropdown show / hide transition name
|
|
205
204
|
*/
|
|
206
205
|
transitionName: {
|
|
207
|
-
type: String
|
|
206
|
+
type: String,
|
|
207
|
+
default: void 0
|
|
208
208
|
},
|
|
209
209
|
/**
|
|
210
210
|
* Offset of the dropdown from the trigger
|
|
@@ -272,9 +272,10 @@ const UnselectableProps = {
|
|
|
272
272
|
* Set dropdown width to the same as the trigger
|
|
273
273
|
*/
|
|
274
274
|
triggerWidth: {
|
|
275
|
-
type: Boolean
|
|
275
|
+
type: Boolean,
|
|
276
|
+
default: false
|
|
276
277
|
}
|
|
277
|
-
}
|
|
278
|
+
};
|
|
278
279
|
({
|
|
279
280
|
...DisabledProps,
|
|
280
281
|
...LabelProps,
|
|
@@ -296,6 +297,120 @@ const UnselectableProps = {
|
|
|
296
297
|
ariaLabel: {
|
|
297
298
|
type: String,
|
|
298
299
|
default: void 0
|
|
300
|
+
},
|
|
301
|
+
/**
|
|
302
|
+
* Default tag for the action
|
|
303
|
+
*/
|
|
304
|
+
defaultTag: {
|
|
305
|
+
type: String,
|
|
306
|
+
default: ActionTag.button
|
|
307
|
+
}
|
|
308
|
+
});
|
|
309
|
+
({
|
|
310
|
+
storageType: {
|
|
311
|
+
type: String,
|
|
312
|
+
default: StorageType.local,
|
|
313
|
+
validator: (value) => Object.values(StorageType).includes(value)
|
|
314
|
+
},
|
|
315
|
+
storageKey: String
|
|
316
|
+
});
|
|
317
|
+
({
|
|
318
|
+
...IdProps,
|
|
319
|
+
...DropdownProps,
|
|
320
|
+
...ModifiersProps,
|
|
321
|
+
/**
|
|
322
|
+
* Show / hide dropdown programmatically
|
|
323
|
+
*/
|
|
324
|
+
modelValue: {
|
|
325
|
+
type: Boolean,
|
|
326
|
+
default: void 0
|
|
327
|
+
},
|
|
328
|
+
/**
|
|
329
|
+
* Dropdown trigger element
|
|
330
|
+
*/
|
|
331
|
+
reference: {
|
|
332
|
+
type: Object,
|
|
333
|
+
default: null
|
|
334
|
+
},
|
|
335
|
+
/**
|
|
336
|
+
* Dropdown role
|
|
337
|
+
*/
|
|
338
|
+
role: {
|
|
339
|
+
type: String,
|
|
340
|
+
default: DropdownRole.menu,
|
|
341
|
+
validator: (value) => Object.values(DropdownRole).includes(value)
|
|
342
|
+
}
|
|
343
|
+
});
|
|
344
|
+
const VvDropdownItemProps = {
|
|
345
|
+
focusOnHover: {
|
|
346
|
+
type: Boolean,
|
|
347
|
+
default: false
|
|
348
|
+
}
|
|
349
|
+
};
|
|
350
|
+
const VvDropdownOptionProps = {
|
|
351
|
+
...DisabledProps,
|
|
352
|
+
...SelectedProps,
|
|
353
|
+
...UnselectableProps,
|
|
354
|
+
...ModifiersProps,
|
|
355
|
+
deselectHintLabel: {
|
|
356
|
+
type: String
|
|
357
|
+
},
|
|
358
|
+
selectHintLabel: {
|
|
359
|
+
type: String
|
|
360
|
+
},
|
|
361
|
+
selectedHintLabel: {
|
|
362
|
+
type: String
|
|
363
|
+
},
|
|
364
|
+
focusOnHover: {
|
|
365
|
+
type: Boolean,
|
|
366
|
+
default: false
|
|
367
|
+
}
|
|
368
|
+
};
|
|
369
|
+
function useInjectedDropdownItem() {
|
|
370
|
+
return inject(INJECTION_KEY_DROPDOWN_ITEM, {});
|
|
371
|
+
}
|
|
372
|
+
function useProvideDropdownAction({
|
|
373
|
+
expanded
|
|
374
|
+
}) {
|
|
375
|
+
provide(INJECTION_KEY_DROPDOWN_ACTION, {
|
|
376
|
+
role: ref(ActionRoles.menuitem),
|
|
377
|
+
expanded
|
|
378
|
+
});
|
|
379
|
+
}
|
|
380
|
+
const __default__$1 = {
|
|
381
|
+
name: "VvDropdownItem"
|
|
382
|
+
};
|
|
383
|
+
const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
384
|
+
...__default__$1,
|
|
385
|
+
props: VvDropdownItemProps,
|
|
386
|
+
setup(__props) {
|
|
387
|
+
const props = __props;
|
|
388
|
+
const { role, expanded } = useInjectedDropdownItem();
|
|
389
|
+
const element = ref(null);
|
|
390
|
+
useProvideDropdownAction({ expanded });
|
|
391
|
+
const hovered = useElementHover(element);
|
|
392
|
+
const { focused } = useFocus(element);
|
|
393
|
+
const { focused: focusedWithin } = useFocusWithin(element);
|
|
394
|
+
watch(hovered, (newValue) => {
|
|
395
|
+
if (newValue && props.focusOnHover) {
|
|
396
|
+
focused.value = true;
|
|
397
|
+
}
|
|
398
|
+
});
|
|
399
|
+
return (_ctx, _cache) => {
|
|
400
|
+
return openBlock(), createElementBlock(
|
|
401
|
+
"div",
|
|
402
|
+
mergeProps({ role: unref(role) }, {
|
|
403
|
+
ref_key: "element",
|
|
404
|
+
ref: element,
|
|
405
|
+
class: ["vv-dropdown__item", { "focus-visible": unref(focused) || unref(focusedWithin) }]
|
|
406
|
+
}),
|
|
407
|
+
[
|
|
408
|
+
renderSlot(_ctx.$slots, "default")
|
|
409
|
+
],
|
|
410
|
+
16
|
|
411
|
+
/* FULL_PROPS */
|
|
412
|
+
);
|
|
413
|
+
};
|
|
299
414
|
}
|
|
300
415
|
});
|
|
301
416
|
function useModifiers(prefix, modifiers, others) {
|
|
@@ -327,21 +442,7 @@ const __default__ = {
|
|
|
327
442
|
};
|
|
328
443
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
329
444
|
...__default__,
|
|
330
|
-
props:
|
|
331
|
-
...DisabledProps,
|
|
332
|
-
...SelectedProps,
|
|
333
|
-
...UnselectableProps,
|
|
334
|
-
...ModifiersProps,
|
|
335
|
-
deselectHintLabel: {
|
|
336
|
-
type: String
|
|
337
|
-
},
|
|
338
|
-
selectHintLabel: {
|
|
339
|
-
type: String
|
|
340
|
-
},
|
|
341
|
-
selectedHintLabel: {
|
|
342
|
-
type: String
|
|
343
|
-
}
|
|
344
|
-
},
|
|
445
|
+
props: VvDropdownOptionProps,
|
|
345
446
|
setup(__props) {
|
|
346
447
|
const props = __props;
|
|
347
448
|
const { modifiers } = toRefs(props);
|
|
@@ -361,13 +462,15 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
361
462
|
if (!props.disabled) {
|
|
362
463
|
return props.selectHintLabel;
|
|
363
464
|
}
|
|
465
|
+
return "";
|
|
364
466
|
});
|
|
365
467
|
return (_ctx, _cache) => {
|
|
366
468
|
return openBlock(), createBlock(_sfc_main$1, {
|
|
367
469
|
class: normalizeClass(unref(bemCssClasses)),
|
|
368
470
|
tabindex: _ctx.disabled ? -1 : 0,
|
|
369
471
|
"aria-selected": _ctx.selected,
|
|
370
|
-
"aria-disabled": _ctx.disabled
|
|
472
|
+
"aria-disabled": _ctx.disabled,
|
|
473
|
+
"focus-on-hover": _ctx.focusOnHover
|
|
371
474
|
}, {
|
|
372
475
|
default: withCtx(() => [
|
|
373
476
|
renderSlot(_ctx.$slots, "default"),
|
|
@@ -376,12 +479,17 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
376
479
|
title: unref(hintLabel)
|
|
377
480
|
}, [
|
|
378
481
|
renderSlot(_ctx.$slots, "hint", normalizeProps(guardReactiveProps({ disabled: _ctx.disabled, selected: _ctx.selected, unselectable: _ctx.unselectable })), () => [
|
|
379
|
-
createTextVNode(
|
|
482
|
+
createTextVNode(
|
|
483
|
+
toDisplayString(unref(hintLabel)),
|
|
484
|
+
1
|
|
485
|
+
/* TEXT */
|
|
486
|
+
)
|
|
380
487
|
])
|
|
381
488
|
], 8, _hoisted_1)
|
|
382
489
|
]),
|
|
383
490
|
_: 3
|
|
384
|
-
|
|
491
|
+
/* FORWARDED */
|
|
492
|
+
}, 8, ["class", "tabindex", "aria-selected", "aria-disabled", "focus-on-hover"]);
|
|
385
493
|
};
|
|
386
494
|
}
|
|
387
495
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue"),require("mitt"),require("@vueuse/core")):"function"==typeof define&&define.amd?define(["vue","mitt","@vueuse/core"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VvDropdownOption=t(e.vue,null,e.core)}(this,(function(e,t,o){"use strict";var n=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue"),require("mitt"),require("@vueuse/core")):"function"==typeof define&&define.amd?define(["vue","mitt","@vueuse/core"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VvDropdownOption=t(e.vue,null,e.core)}(this,(function(e,t,o){"use strict";var n=(e=>(e.local="local",e.session="session",e))(n||{}),l=(e=>(e.absolute="absolute",e.fixed="fixed",e))(l||{}),r=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(r||{}),s=(e=>(e.topStart="top-start",e.topEnd="top-end",e.bottomStart="bottom-start",e.bottomEnd="bottom-end",e.leftStart="left-start",e.leftEnd="left-end",e.rightStart="right-start",e.rightEnd="right-end",e))(s||{}),a=(e=>(e.before="before",e.after="after",e))(a||{}),d=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(d||{}),i=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(i||{}),u=(e=>(e.button="button",e.link="link",e.menuitem="menuitem",e))(u||{}),c=(e=>(e.listbox="listbox",e.menu="menu",e))(c||{});const f=Symbol.for("dropdownItem"),p=Symbol.for("dropdownAction"),b={disabled:{type:Boolean,default:!1}},m={selected:{type:Boolean,default:!1}},v=(Boolean,Boolean,Boolean,{modifiers:{type:[String,Array],default:void 0}});a.before;const y={unselectable:{type:Boolean,default:!0}};r.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean;d.button,i.button,n.local,Boolean,c.menu;const B={focusOnHover:{type:Boolean,default:!1}},h={...b,...m,...y,...v,deselectHintLabel:{type:String},selectHintLabel:{type:String},selectedHintLabel:{type:String},focusOnHover:{type:Boolean,default:!1}};const g=e.defineComponent({name:"VvDropdownItem",props:B,setup(t){const n=t,{role:l,expanded:r}=e.inject(f,{}),s=e.ref(null);!function({expanded:t}){e.provide(p,{role:e.ref(u.menuitem),expanded:t})}({expanded:r});const a=o.useElementHover(s),{focused:d}=o.useFocus(s),{focused:i}=o.useFocusWithin(s);return e.watch(a,(e=>{e&&n.focusOnHover&&(d.value=!0)})),(t,o)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({role:e.unref(l)},{ref_key:"element",ref:s,class:["vv-dropdown__item",{"focus-visible":e.unref(d)||e.unref(i)}]}),[e.renderSlot(t.$slots,"default")],16))}});const x=["title"];return e.defineComponent({name:"VvDropdownOption",props:h,setup(t){const o=t,{modifiers:n}=e.toRefs(o),l=function(t,o,n){return e.computed((()=>{const l={[t]:!0},r="string"==typeof(null==o?void 0:o.value)?o.value.split(" "):null==o?void 0:o.value;return r&&Array.isArray(r)&&r.forEach((e=>{e&&(l[`${t}--${e}`]=!0)})),n&&Object.keys(n.value).forEach((o=>{l[`${t}--${o}`]=e.unref(n.value[o])})),l}))}("vv-dropdown-option",n,e.computed((()=>({disabled:o.disabled,selected:o.selected,unselectable:o.unselectable&&o.selected})))),r=e.computed((()=>o.selected?o.unselectable?o.deselectHintLabel:o.selectedHintLabel:o.disabled?"":o.selectHintLabel));return(t,o)=>(e.openBlock(),e.createBlock(g,{class:e.normalizeClass(e.unref(l)),tabindex:t.disabled?-1:0,"aria-selected":t.selected,"aria-disabled":t.disabled,"focus-on-hover":t.focusOnHover},{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default"),e.createElementVNode("span",{class:"vv-dropdown-option__hint",title:e.unref(r)},[e.renderSlot(t.$slots,"hint",e.normalizeProps(e.guardReactiveProps({disabled:t.disabled,selected:t.selected,unselectable:t.unselectable})),(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)),1)]))],8,x)])),_:3},8,["class","tabindex","aria-selected","aria-disabled","focus-on-hover"]))}})}));
|
|
@@ -1,98 +1,8 @@
|
|
|
1
|
-
import { inject, computed, unref, defineComponent, ref, toRefs, openBlock, createBlock, mergeProps, createCommentVNode } from "vue";
|
|
1
|
+
import { inject, computed, unref, defineComponent, mergeDefaults, ref, toRefs, openBlock, createBlock, mergeProps, createCommentVNode } from "vue";
|
|
2
2
|
import { iconExists, Icon, addIcon } from "@iconify/vue";
|
|
3
|
-
const
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
*/
|
|
7
|
-
color: String,
|
|
8
|
-
/**
|
|
9
|
-
* Width
|
|
10
|
-
*/
|
|
11
|
-
width: {
|
|
12
|
-
type: [String, Number]
|
|
13
|
-
},
|
|
14
|
-
/**
|
|
15
|
-
* Height
|
|
16
|
-
*/
|
|
17
|
-
height: {
|
|
18
|
-
type: [String, Number]
|
|
19
|
-
},
|
|
20
|
-
/**
|
|
21
|
-
* Icon name
|
|
22
|
-
* Can be the full composition of iconify name "@{provider}:{prefix}:{name}" or "{prefix}:{name}" or "{name}"
|
|
23
|
-
* https://docs.iconify.design/api/providers.html#provider-in-icon-name
|
|
24
|
-
*/
|
|
25
|
-
name: {
|
|
26
|
-
type: String,
|
|
27
|
-
required: true
|
|
28
|
-
},
|
|
29
|
-
/**
|
|
30
|
-
* By default 'vv'
|
|
31
|
-
* If custom collection is not added with "addCollection" DS class method, this prop could not be used
|
|
32
|
-
* Icon provider: https://docs.iconify.design/api/providers.html#provider-in-icon-name
|
|
33
|
-
*/
|
|
34
|
-
provider: {
|
|
35
|
-
type: String
|
|
36
|
-
},
|
|
37
|
-
/**
|
|
38
|
-
* The name of icon set.
|
|
39
|
-
* Icon default options prefix: simple | normal | detailed
|
|
40
|
-
*/
|
|
41
|
-
prefix: {
|
|
42
|
-
type: String,
|
|
43
|
-
default: "normal"
|
|
44
|
-
},
|
|
45
|
-
/**
|
|
46
|
-
* Url remote SVG icon
|
|
47
|
-
*/
|
|
48
|
-
src: String,
|
|
49
|
-
/**
|
|
50
|
-
* Horizontal flip
|
|
51
|
-
*/
|
|
52
|
-
horizontalFlip: Boolean,
|
|
53
|
-
/**
|
|
54
|
-
* Vertical flip
|
|
55
|
-
*/
|
|
56
|
-
verticalFlip: Boolean,
|
|
57
|
-
/**
|
|
58
|
-
* String alternative to "horizontalFlip" and "verticalFlip".
|
|
59
|
-
* Example: https://docs.iconify.design/icon-components/vue/transform.html
|
|
60
|
-
*/
|
|
61
|
-
flip: String,
|
|
62
|
-
/**
|
|
63
|
-
* Icon render mode
|
|
64
|
-
* 'style' = 'bg' or 'mask', depending on icon content
|
|
65
|
-
* 'bg' = span with style using `background`
|
|
66
|
-
* 'mask' = span with style using `mask`
|
|
67
|
-
* 'svg' = svg
|
|
68
|
-
* Iconify doc: https://docs.iconify.design/iconify-icon/modes.html
|
|
69
|
-
*/
|
|
70
|
-
mode: String,
|
|
71
|
-
/**
|
|
72
|
-
* Toggles inline or block mode
|
|
73
|
-
* Example https://docs.iconify.design/icon-components/vue/inline.html
|
|
74
|
-
*/
|
|
75
|
-
inline: Boolean,
|
|
76
|
-
/**
|
|
77
|
-
* rotates icon
|
|
78
|
-
* Example https://docs.iconify.design/icon-components/vue/transform.html
|
|
79
|
-
*/
|
|
80
|
-
rotate: [Number, String],
|
|
81
|
-
/**
|
|
82
|
-
* A callback that is called when icon data has been loaded
|
|
83
|
-
*/
|
|
84
|
-
onLoad: Function,
|
|
85
|
-
/**
|
|
86
|
-
* SVG icon string
|
|
87
|
-
*/
|
|
88
|
-
svg: String,
|
|
89
|
-
/**
|
|
90
|
-
* Icon modifiers: vv-icon css helper classes, value/s are concatened with prefix 'vv-icon--'
|
|
91
|
-
* @values string | string[]
|
|
92
|
-
*/
|
|
93
|
-
modifiers: {
|
|
94
|
-
type: [String, Array]
|
|
95
|
-
}
|
|
3
|
+
const VvIconPropsDefaults = {
|
|
4
|
+
prefix: "normal"
|
|
5
|
+
/* normal */
|
|
96
6
|
};
|
|
97
7
|
const INJECTION_KEY_VOLVER = Symbol.for("volver");
|
|
98
8
|
function useVolver() {
|
|
@@ -126,7 +36,24 @@ const __default__ = {
|
|
|
126
36
|
};
|
|
127
37
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
128
38
|
...__default__,
|
|
129
|
-
props:
|
|
39
|
+
props: /* @__PURE__ */ mergeDefaults({
|
|
40
|
+
name: {},
|
|
41
|
+
color: {},
|
|
42
|
+
width: {},
|
|
43
|
+
height: {},
|
|
44
|
+
provider: {},
|
|
45
|
+
prefix: {},
|
|
46
|
+
src: {},
|
|
47
|
+
horizontalFlip: { type: Boolean },
|
|
48
|
+
verticalFlip: { type: Boolean },
|
|
49
|
+
flip: {},
|
|
50
|
+
mode: {},
|
|
51
|
+
inline: { type: Boolean },
|
|
52
|
+
rotate: {},
|
|
53
|
+
onLoad: { type: Function },
|
|
54
|
+
svg: {},
|
|
55
|
+
modifiers: {}
|
|
56
|
+
}, VvIconPropsDefaults),
|
|
130
57
|
setup(__props) {
|
|
131
58
|
const props = __props;
|
|
132
59
|
const hasRotate = computed(() => {
|
|
@@ -213,7 +140,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
213
140
|
color: _ctx.color,
|
|
214
141
|
onLoad: _ctx.onLoad,
|
|
215
142
|
icon: unref(icon)
|
|
216
|
-
}), null, 16, ["class"])) : createCommentVNode("", true);
|
|
143
|
+
}), null, 16, ["class"])) : createCommentVNode("v-if", true);
|
|
217
144
|
};
|
|
218
145
|
}
|
|
219
146
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,
|
|
1
|
+
!function(e,o){"object"==typeof exports&&"undefined"!=typeof module?module.exports=o(require("vue"),require("@iconify/vue")):"function"==typeof define&&define.amd?define(["vue","@iconify/vue"],o):(e="undefined"!=typeof globalThis?globalThis:e||self).VvIcon=o(e.vue,e.vue$1)}(this,(function(e,o){"use strict";const n={prefix:"normal"},i=Symbol.for("volver");return e.defineComponent({name:"VvIcon",props:e.mergeDefaults({name:{},color:{},width:{},height:{},provider:{},prefix:{},src:{},horizontalFlip:{type:Boolean},verticalFlip:{type:Boolean},flip:{},mode:{},inline:{type:Boolean},rotate:{},onLoad:{type:Function},svg:{},modifiers:{}},n),setup(n){const r=n,t=e.computed((()=>"string"==typeof r.rotate?parseFloat(r.rotate):r.rotate)),l=e.ref(!0),u=e.inject(i),{modifiers:c}=e.toRefs(r),a=function(o,n,i){return e.computed((()=>{const r={[o]:!0},t="string"==typeof(null==n?void 0:n.value)?n.value.split(" "):null==n?void 0:n.value;return t&&Array.isArray(t)&&t.forEach((e=>{e&&(r[`${o}--${e}`]=!0)})),i&&Object.keys(i.value).forEach((n=>{r[`${o}--${n}`]=e.unref(i.value[n])})),r}))}("vv-icon",c),s=e.computed((()=>r.provider||(null==u?void 0:u.iconsProvider))),f=e.computed((()=>{const e=r.name??"",n=`@${s.value}:${r.prefix}:${e}`;if(o.iconExists(n))return n;const i=null==u?void 0:u.iconsCollections.find((n=>{const i=`@${s.value}:${n.prefix}:${e}`;return o.iconExists(i)}));return i?`@${s.value}:${i.prefix}:${e}`:e}));function d(e){const n=function(e){let o;if("undefined"==typeof window){const{JSDOM:e}=require("jsdom");o=(new e).window}return(o?new o.DOMParser:new window.DOMParser).parseFromString(e,"text/html").querySelector("svg")}(e),i=(null==n?void 0:n.innerHTML.trim())||"";n&&i&&o.addIcon(`@${s.value}:${r.prefix}:${r.name}`,{body:i,height:n.viewBox.baseVal.height,width:n.viewBox.baseVal.width})}return u&&r.src&&!o.iconExists(`@${s.value}:${r.prefix}:${r.name}`)&&(l.value=!1,u.fetchIcon(r.src).then((e=>{e&&(d(e),l.value=!0)})).catch((e=>{throw new Error(`Error during fetch icon: ${null==e?void 0:e.message}`)}))),r.svg&&d(r.svg),(n,i)=>e.unref(l)?(e.openBlock(),e.createBlock(e.unref(o.Icon),e.mergeProps({key:0,class:e.unref(a)},{inline:n.inline,width:n.width,height:n.height,horizontalFlip:n.horizontalFlip,verticalFlip:n.verticalFlip,flip:n.flip,rotate:e.unref(t),color:n.color,onLoad:n.onLoad,icon:e.unref(f)}),null,16,["class"])):e.createCommentVNode("v-if",!0)}})}));
|
|
@@ -1,69 +1,26 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
type: (StringConstructor | NumberConstructor)[];
|
|
8
|
-
};
|
|
9
|
-
name: {
|
|
10
|
-
type: StringConstructor;
|
|
11
|
-
required: boolean;
|
|
12
|
-
};
|
|
13
|
-
provider: {
|
|
14
|
-
type: StringConstructor;
|
|
15
|
-
};
|
|
16
|
-
prefix: {
|
|
17
|
-
type: globalThis.PropType<string>;
|
|
18
|
-
default: string;
|
|
19
|
-
};
|
|
20
|
-
src: StringConstructor;
|
|
21
|
-
horizontalFlip: BooleanConstructor;
|
|
22
|
-
verticalFlip: BooleanConstructor;
|
|
23
|
-
flip: StringConstructor;
|
|
24
|
-
mode: globalThis.PropType<import("@iconify/vue").IconifyRenderMode>;
|
|
25
|
-
inline: BooleanConstructor;
|
|
26
|
-
rotate: (StringConstructor | NumberConstructor)[];
|
|
27
|
-
onLoad: globalThis.PropType<import("@iconify/vue").IconifyIconOnLoad>;
|
|
28
|
-
svg: StringConstructor;
|
|
29
|
-
modifiers: {
|
|
30
|
-
type: globalThis.PropType<string | string[]>;
|
|
31
|
-
};
|
|
32
|
-
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
33
|
-
color: StringConstructor;
|
|
34
|
-
width: {
|
|
35
|
-
type: (StringConstructor | NumberConstructor)[];
|
|
36
|
-
};
|
|
37
|
-
height: {
|
|
38
|
-
type: (StringConstructor | NumberConstructor)[];
|
|
39
|
-
};
|
|
40
|
-
name: {
|
|
41
|
-
type: StringConstructor;
|
|
42
|
-
required: boolean;
|
|
43
|
-
};
|
|
44
|
-
provider: {
|
|
45
|
-
type: StringConstructor;
|
|
46
|
-
};
|
|
47
|
-
prefix: {
|
|
48
|
-
type: globalThis.PropType<string>;
|
|
49
|
-
default: string;
|
|
50
|
-
};
|
|
51
|
-
src: StringConstructor;
|
|
52
|
-
horizontalFlip: BooleanConstructor;
|
|
53
|
-
verticalFlip: BooleanConstructor;
|
|
54
|
-
flip: StringConstructor;
|
|
55
|
-
mode: globalThis.PropType<import("@iconify/vue").IconifyRenderMode>;
|
|
56
|
-
inline: BooleanConstructor;
|
|
57
|
-
rotate: (StringConstructor | NumberConstructor)[];
|
|
58
|
-
onLoad: globalThis.PropType<import("@iconify/vue").IconifyIconOnLoad>;
|
|
59
|
-
svg: StringConstructor;
|
|
60
|
-
modifiers: {
|
|
61
|
-
type: globalThis.PropType<string | string[]>;
|
|
62
|
-
};
|
|
63
|
-
}>>, {
|
|
1
|
+
import { type VvIconProps } from '.';
|
|
2
|
+
declare const _default: import("vue").DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToOption<VvIconProps>, {
|
|
3
|
+
prefix: import(".").IconPrefix;
|
|
4
|
+
}>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<globalThis.ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<VvIconProps>, {
|
|
5
|
+
prefix: import(".").IconPrefix;
|
|
6
|
+
}>>>, {
|
|
64
7
|
prefix: string;
|
|
65
|
-
horizontalFlip: boolean;
|
|
66
|
-
verticalFlip: boolean;
|
|
67
|
-
inline: boolean;
|
|
68
8
|
}, {}>;
|
|
69
9
|
export default _default;
|
|
10
|
+
type __VLS_WithDefaults<P, D> = {
|
|
11
|
+
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
|
|
12
|
+
default: D[K];
|
|
13
|
+
}> : P[K];
|
|
14
|
+
};
|
|
15
|
+
type __VLS_Prettify<T> = {
|
|
16
|
+
[K in keyof T]: T[K];
|
|
17
|
+
} & {};
|
|
18
|
+
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
19
|
+
type __VLS_TypePropsToOption<T> = {
|
|
20
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
21
|
+
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
22
|
+
} : {
|
|
23
|
+
type: import('vue').PropType<T[K]>;
|
|
24
|
+
required: true;
|
|
25
|
+
};
|
|
26
|
+
};
|