@volverjs/ui-vue 0.0.4 → 0.0.5-beta.1

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.
Files changed (204) hide show
  1. package/README.md +2 -2
  2. package/auto-imports.d.ts +12 -3
  3. package/bin/icons.cjs +1 -73
  4. package/dist/Volver.d.ts +19 -11
  5. package/dist/components/VvAccordion/VvAccordion.es.js +165 -106
  6. package/dist/components/VvAccordion/VvAccordion.umd.js +1 -1
  7. package/dist/components/VvAccordion/VvAccordion.vue.d.ts +4 -1
  8. package/dist/components/VvAccordion/index.d.ts +8 -3
  9. package/dist/components/VvAccordionGroup/VvAccordionGroup.es.js +264 -164
  10. package/dist/components/VvAccordionGroup/VvAccordionGroup.umd.js +1 -1
  11. package/dist/components/VvAccordionGroup/VvAccordionGroup.vue.d.ts +15 -12
  12. package/dist/components/VvAccordionGroup/index.d.ts +8 -0
  13. package/dist/components/VvAction/VvAction.es.js +266 -98
  14. package/dist/components/VvAction/VvAction.umd.js +1 -1
  15. package/dist/components/VvAction/VvAction.vue.d.ts +12 -12
  16. package/dist/components/VvAction/index.d.ts +2 -2
  17. package/dist/components/VvBadge/VvBadge.es.js +203 -44
  18. package/dist/components/VvBadge/VvBadge.umd.js +1 -1
  19. package/dist/components/VvBadge/VvBadge.vue.d.ts +2 -2
  20. package/dist/components/VvBadge/index.d.ts +1 -1
  21. package/dist/components/VvBreadcrumb/VvBreadcrumb.es.js +237 -75
  22. package/dist/components/VvBreadcrumb/VvBreadcrumb.umd.js +1 -1
  23. package/dist/components/VvBreadcrumb/VvBreadcrumb.vue.d.ts +11 -11
  24. package/dist/components/VvBreadcrumb/index.d.ts +1 -1
  25. package/dist/components/VvButton/VvButton.es.js +636 -360
  26. package/dist/components/VvButton/VvButton.umd.js +1 -1
  27. package/dist/components/VvButton/VvButton.vue.d.ts +18 -18
  28. package/dist/components/VvButton/index.d.ts +13 -13
  29. package/dist/components/VvButtonGroup/VvButtonGroup.es.js +251 -79
  30. package/dist/components/VvButtonGroup/VvButtonGroup.umd.js +1 -1
  31. package/dist/components/VvButtonGroup/VvButtonGroup.vue.d.ts +2 -2
  32. package/dist/components/VvButtonGroup/index.d.ts +1 -1
  33. package/dist/components/VvCard/VvCard.es.js +57 -38
  34. package/dist/components/VvCard/VvCard.umd.js +1 -1
  35. package/dist/components/VvCheckbox/VvCheckbox.es.js +552 -274
  36. package/dist/components/VvCheckbox/VvCheckbox.umd.js +1 -1
  37. package/dist/components/VvCheckbox/VvCheckbox.vue.d.ts +2 -2
  38. package/dist/components/VvCheckbox/index.d.ts +5 -5
  39. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.es.js +651 -340
  40. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.umd.js +1 -1
  41. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.vue.d.ts +7 -7
  42. package/dist/components/VvCheckboxGroup/index.d.ts +3 -3
  43. package/dist/components/VvCombobox/VvCombobox.es.js +1532 -983
  44. package/dist/components/VvCombobox/VvCombobox.umd.js +1 -1
  45. package/dist/components/VvCombobox/VvCombobox.vue.d.ts +125 -51
  46. package/dist/components/VvCombobox/index.d.ts +36 -10
  47. package/dist/components/VvDialog/VvDialog.es.js +377 -141
  48. package/dist/components/VvDialog/VvDialog.umd.js +1 -1
  49. package/dist/components/VvDialog/VvDialog.vue.d.ts +12 -3
  50. package/dist/components/VvDialog/index.d.ts +4 -1
  51. package/dist/components/VvDropdown/VvDropdown.es.js +440 -244
  52. package/dist/components/VvDropdown/VvDropdown.umd.js +1 -1
  53. package/dist/components/VvDropdown/VvDropdown.vue.d.ts +113 -41
  54. package/dist/components/VvDropdown/VvDropdownAction.vue.d.ts +13 -13
  55. package/dist/components/VvDropdown/VvDropdownOption.vue.d.ts +2 -2
  56. package/dist/components/VvDropdown/index.d.ts +35 -11
  57. package/dist/components/VvDropdownAction/VvDropdownAction.es.js +363 -160
  58. package/dist/components/VvDropdownAction/VvDropdownAction.umd.js +1 -1
  59. package/dist/components/VvDropdownItem/VvDropdownItem.es.js +43 -28
  60. package/dist/components/VvDropdownItem/VvDropdownItem.umd.js +1 -1
  61. package/dist/components/VvDropdownOption/VvDropdownOption.es.js +275 -90
  62. package/dist/components/VvDropdownOption/VvDropdownOption.umd.js +1 -1
  63. package/dist/components/VvIcon/VvIcon.es.js +113 -65
  64. package/dist/components/VvIcon/VvIcon.umd.js +1 -1
  65. package/dist/components/VvIcon/VvIcon.vue.d.ts +7 -7
  66. package/dist/components/VvIcon/index.d.ts +2 -2
  67. package/dist/components/VvInputText/VvInputPasswordAction.d.ts +2 -2
  68. package/dist/components/VvInputText/VvInputStepAction.d.ts +1 -1
  69. package/dist/components/VvInputText/VvInputText.es.js +974 -460
  70. package/dist/components/VvInputText/VvInputText.umd.js +1 -1
  71. package/dist/components/VvInputText/VvInputText.vue.d.ts +96 -16
  72. package/dist/components/VvInputText/VvInputTextActions.d.ts +1 -1
  73. package/dist/components/VvInputText/index.d.ts +64 -11
  74. package/dist/components/VvProgress/VvProgress.es.js +206 -45
  75. package/dist/components/VvProgress/VvProgress.umd.js +1 -1
  76. package/dist/components/VvProgress/VvProgress.vue.d.ts +2 -2
  77. package/dist/components/VvProgress/index.d.ts +1 -1
  78. package/dist/components/VvRadio/VvRadio.es.js +489 -238
  79. package/dist/components/VvRadio/VvRadio.umd.js +1 -1
  80. package/dist/components/VvRadio/VvRadio.vue.d.ts +2 -2
  81. package/dist/components/VvRadio/index.d.ts +5 -5
  82. package/dist/components/VvRadioGroup/VvRadioGroup.es.js +588 -304
  83. package/dist/components/VvRadioGroup/VvRadioGroup.umd.js +1 -1
  84. package/dist/components/VvRadioGroup/VvRadioGroup.vue.d.ts +7 -7
  85. package/dist/components/VvRadioGroup/index.d.ts +3 -3
  86. package/dist/components/VvSelect/VvSelect.es.js +621 -324
  87. package/dist/components/VvSelect/VvSelect.umd.js +1 -1
  88. package/dist/components/VvSelect/VvSelect.vue.d.ts +13 -13
  89. package/dist/components/VvSelect/index.d.ts +3 -3
  90. package/dist/components/VvTextarea/VvTextarea.es.js +664 -353
  91. package/dist/components/VvTextarea/VvTextarea.umd.js +1 -1
  92. package/dist/components/VvTextarea/VvTextarea.vue.d.ts +10 -10
  93. package/dist/components/VvTextarea/index.d.ts +2 -2
  94. package/dist/components/VvTooltip/VvTooltip.es.js +205 -47
  95. package/dist/components/VvTooltip/VvTooltip.umd.js +1 -1
  96. package/dist/components/VvTooltip/VvTooltip.vue.d.ts +7 -7
  97. package/dist/components/VvTooltip/index.d.ts +2 -2
  98. package/dist/components/index.es.js +3508 -2231
  99. package/dist/components/index.umd.js +1 -1
  100. package/dist/composables/dropdown/useInjectDropdown.d.ts +1 -1
  101. package/dist/composables/dropdown/useProvideDropdown.d.ts +3 -3
  102. package/dist/composables/group/useInjectedGroupState.d.ts +2 -2
  103. package/dist/composables/group/useProvideGroupState.d.ts +1 -1
  104. package/dist/composables/useComponentFocus.d.ts +1 -1
  105. package/dist/composables/useComponentIcon.d.ts +7 -7
  106. package/dist/composables/useDebouncedInput.d.ts +4 -1
  107. package/dist/composables/useDefaults.d.ts +2 -0
  108. package/dist/composables/useModifiers.d.ts +1 -1
  109. package/dist/composables/useOptions.d.ts +2 -2
  110. package/dist/composables/useTextCount.d.ts +3 -3
  111. package/dist/composables/useUniqueId.d.ts +1 -1
  112. package/dist/composables/useVolver.d.ts +1 -1
  113. package/dist/directives/index.es.js +215 -55
  114. package/dist/directives/index.umd.js +1 -1
  115. package/dist/directives/v-tooltip.es.js +212 -53
  116. package/dist/directives/v-tooltip.umd.js +1 -1
  117. package/dist/icons.es.js +38 -23
  118. package/dist/icons.umd.js +1 -1
  119. package/dist/index.d.ts +0 -1
  120. package/dist/index.es.js +112 -3607
  121. package/dist/index.umd.js +1 -1
  122. package/dist/props/index.d.ts +40 -16
  123. package/dist/resolvers/unplugin.d.ts +7 -1
  124. package/dist/resolvers/unplugin.es.js +77 -37
  125. package/dist/resolvers/unplugin.umd.js +1 -1
  126. package/dist/stories/InputText/InputText.settings.d.ts +53 -0
  127. package/dist/stories/argTypes.d.ts +1 -1
  128. package/package.json +114 -36
  129. package/src/Volver.ts +49 -22
  130. package/src/assets/icons/detailed.json +1 -1
  131. package/src/assets/icons/normal.json +1 -1
  132. package/src/assets/icons/simple.json +1 -1
  133. package/src/components/VvAccordion/VvAccordion.vue +19 -22
  134. package/src/components/VvAccordion/index.ts +12 -4
  135. package/src/components/VvAccordionGroup/VvAccordionGroup.vue +19 -10
  136. package/src/components/VvAccordionGroup/index.ts +8 -0
  137. package/src/components/VvAction/VvAction.vue +7 -7
  138. package/src/components/VvAction/index.ts +1 -1
  139. package/src/components/VvBadge/VvBadge.vue +2 -2
  140. package/src/components/VvBadge/index.ts +1 -1
  141. package/src/components/VvBreadcrumb/VvBreadcrumb.vue +3 -3
  142. package/src/components/VvButton/VvButton.vue +11 -11
  143. package/src/components/VvButton/index.ts +10 -9
  144. package/src/components/VvButtonGroup/VvButtonGroup.vue +4 -7
  145. package/src/components/VvButtonGroup/index.ts +1 -1
  146. package/src/components/VvCard/VvCard.vue +2 -2
  147. package/src/components/VvCheckbox/VvCheckbox.vue +3 -7
  148. package/src/components/VvCheckbox/index.ts +11 -7
  149. package/src/components/VvCheckboxGroup/VvCheckboxGroup.vue +7 -10
  150. package/src/components/VvCheckboxGroup/index.ts +1 -1
  151. package/src/components/VvCombobox/VvCombobox.vue +39 -23
  152. package/src/components/VvCombobox/index.ts +1 -1
  153. package/src/components/VvDialog/VvDialog.vue +28 -11
  154. package/src/components/VvDialog/index.ts +5 -2
  155. package/src/components/VvDropdown/VvDropdown.vue +6 -5
  156. package/src/components/VvDropdown/VvDropdownAction.vue +7 -5
  157. package/src/components/VvDropdown/VvDropdownOption.vue +17 -10
  158. package/src/components/VvDropdown/index.ts +3 -3
  159. package/src/components/VvIcon/VvIcon.vue +3 -3
  160. package/src/components/VvIcon/index.ts +3 -3
  161. package/src/components/VvInputText/VvInputClearAction.ts +2 -2
  162. package/src/components/VvInputText/VvInputPasswordAction.ts +3 -4
  163. package/src/components/VvInputText/VvInputStepAction.ts +3 -2
  164. package/src/components/VvInputText/VvInputText.vue +128 -35
  165. package/src/components/VvInputText/VvInputTextActions.ts +5 -8
  166. package/src/components/VvInputText/index.ts +62 -1
  167. package/src/components/VvProgress/VvProgress.vue +2 -2
  168. package/src/components/VvProgress/index.ts +1 -1
  169. package/src/components/VvRadio/VvRadio.vue +3 -7
  170. package/src/components/VvRadio/index.ts +11 -7
  171. package/src/components/VvRadioGroup/VvRadioGroup.vue +7 -10
  172. package/src/components/VvRadioGroup/index.ts +1 -1
  173. package/src/components/VvSelect/VvSelect.vue +4 -4
  174. package/src/components/VvSelect/index.ts +1 -1
  175. package/src/components/VvTextarea/VvTextarea.vue +4 -4
  176. package/src/components/VvTextarea/index.ts +1 -1
  177. package/src/components/VvTooltip/VvTooltip.vue +2 -2
  178. package/src/components/VvTooltip/index.ts +3 -3
  179. package/src/composables/dropdown/useInjectDropdown.ts +2 -2
  180. package/src/composables/dropdown/useProvideDropdown.ts +2 -2
  181. package/src/composables/group/useInjectedGroupState.ts +1 -1
  182. package/src/composables/group/useProvideGroupState.ts +1 -1
  183. package/src/composables/useComponentIcon.ts +1 -1
  184. package/src/composables/useDebouncedInput.ts +10 -3
  185. package/src/composables/useDefaults.ts +89 -0
  186. package/src/composables/useModifiers.ts +4 -2
  187. package/src/composables/useOptions.ts +1 -1
  188. package/src/composables/useVolver.ts +2 -2
  189. package/src/directives/index.ts +1 -1
  190. package/src/directives/v-tooltip.ts +2 -2
  191. package/src/index.ts +0 -2
  192. package/src/props/index.ts +8 -8
  193. package/src/resolvers/unplugin.ts +15 -1
  194. package/src/stories/Accordion/Accordion.stories.mdx +8 -2
  195. package/src/stories/Accordion/Accordion.test.ts +21 -15
  196. package/src/stories/Accordion/AccordionSlots.stories.mdx +8 -8
  197. package/src/stories/AccordionGroup/AccordionGroup.stories.mdx +17 -1
  198. package/src/stories/AccordionGroup/AccordionGroup.test.ts +18 -12
  199. package/src/stories/AccordionGroup/AccordionGroupSlots.stories.mdx +1 -1
  200. package/src/stories/InputText/InputText.settings.ts +53 -0
  201. package/src/stories/InputText/InputText.stories.mdx +40 -0
  202. package/src/stories/InputText/InputText.test.ts +5 -2
  203. package/src/stories/argTypes.ts +2 -2
  204. package/src/types/group.d.ts +5 -0
@@ -1,6 +1,51 @@
1
- import { inject as v, defineComponent as D, ref as I, watch as L, computed as c, openBlock as P, createBlock as E, resolveDynamicComponent as R, unref as f, mergeProps as V, withCtx as B, renderSlot as x, createTextVNode as M, toDisplayString as w } from "vue";
2
- var d = /* @__PURE__ */ ((e) => (e.left = "left", e.right = "right", e.top = "top", e.bottom = "bottom", e))(d || {}), _ = /* @__PURE__ */ ((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))(_ || {}), p = /* @__PURE__ */ ((e) => (e.before = "before", e.after = "after", e))(p || {}), b = /* @__PURE__ */ ((e) => (e.button = "button", e.submit = "submit", e.reset = "reset", e))(b || {}), n = /* @__PURE__ */ ((e) => (e.nuxtLink = "nuxt-link", e.routerLink = "router-link", e.a = "a", e.button = "button", e))(n || {}), O = /* @__PURE__ */ ((e) => (e._blank = "_blank", e._self = "_self", e._parent = "_parent", e._top = "_top", e))(O || {});
3
- const J = Symbol.for("volver"), K = Symbol.for("dropdownTrigger"), W = Symbol.for("dropdownAction"), Y = {
1
+ import { inject, defineComponent, ref, watch, computed, openBlock, createBlock, resolveDynamicComponent, unref, mergeProps, withCtx, renderSlot, createTextVNode, toDisplayString } from "vue";
2
+ var Side = /* @__PURE__ */ ((Side2) => {
3
+ Side2["left"] = "left";
4
+ Side2["right"] = "right";
5
+ Side2["top"] = "top";
6
+ Side2["bottom"] = "bottom";
7
+ return Side2;
8
+ })(Side || {});
9
+ var Placement = /* @__PURE__ */ ((Placement2) => {
10
+ Placement2["topStart"] = "top-start";
11
+ Placement2["topEnd"] = "top-end";
12
+ Placement2["bottomStart"] = "bottom-start";
13
+ Placement2["bottomEnd"] = "bottom-end";
14
+ Placement2["leftStart"] = "left-start";
15
+ Placement2["leftEnd"] = "left-end";
16
+ Placement2["rightStart"] = "right-start";
17
+ Placement2["rightEnd"] = "right-end";
18
+ return Placement2;
19
+ })(Placement || {});
20
+ var Position = /* @__PURE__ */ ((Position2) => {
21
+ Position2["before"] = "before";
22
+ Position2["after"] = "after";
23
+ return Position2;
24
+ })(Position || {});
25
+ var ButtonType = /* @__PURE__ */ ((ButtonType2) => {
26
+ ButtonType2["button"] = "button";
27
+ ButtonType2["submit"] = "submit";
28
+ ButtonType2["reset"] = "reset";
29
+ return ButtonType2;
30
+ })(ButtonType || {});
31
+ var ActionTag = /* @__PURE__ */ ((ActionTag2) => {
32
+ ActionTag2["nuxtLink"] = "nuxt-link";
33
+ ActionTag2["routerLink"] = "router-link";
34
+ ActionTag2["a"] = "a";
35
+ ActionTag2["button"] = "button";
36
+ return ActionTag2;
37
+ })(ActionTag || {});
38
+ var AnchorTarget = /* @__PURE__ */ ((AnchorTarget2) => {
39
+ AnchorTarget2["_blank"] = "_blank";
40
+ AnchorTarget2["_self"] = "_self";
41
+ AnchorTarget2["_parent"] = "_parent";
42
+ AnchorTarget2["_top"] = "_top";
43
+ return AnchorTarget2;
44
+ })(AnchorTarget || {});
45
+ const INJECTION_KEY_VOLVER = Symbol.for("volver");
46
+ const INJECTION_KEY_DROPDOWN_TRIGGER = Symbol.for("dropdownTrigger");
47
+ const INJECTION_KEY_DROPDOWN_ACTION = Symbol.for("dropdownAction");
48
+ const LinkProps = {
4
49
  /**
5
50
  * The router-link/nuxt-link property, if it is defined the button is rendered as a ruouter-link or nuxt-link.
6
51
  * @see Documentation of [router-link](https://router.vuejs.org/api/#router-link) and [nuxt-link](https://nuxtjs.org/api/components-nuxt-link/)
@@ -17,7 +62,7 @@ const J = Symbol.for("volver"), K = Symbol.for("dropdownTrigger"), W = Symbol.fo
17
62
  */
18
63
  target: {
19
64
  type: String,
20
- validator: (e) => Object.values(O).includes(e)
65
+ validator: (value) => Object.values(AnchorTarget).includes(value)
21
66
  },
22
67
  /**
23
68
  * Anchor rel
@@ -26,145 +71,268 @@ const J = Symbol.for("volver"), K = Symbol.for("dropdownTrigger"), W = Symbol.fo
26
71
  type: String,
27
72
  default: "noopener noreferrer"
28
73
  }
29
- }, G = {
74
+ };
75
+ const DisabledProps = {
30
76
  /**
31
77
  * Whether the form control is disabled
32
78
  */
33
79
  disabled: Boolean
34
- }, T = {
80
+ };
81
+ const ActiveProps = {
35
82
  /**
36
83
  * Whether the item is active
37
84
  */
38
85
  active: Boolean
39
- }, $ = {
86
+ };
87
+ const PressedProps = {
40
88
  /**
41
89
  * Whether the item is pressed
42
90
  */
43
91
  pressed: Boolean
44
- }, z = {
92
+ };
93
+ const LabelProps = {
45
94
  /**
46
95
  * The item label
47
96
  */
48
97
  label: [String, Number]
49
98
  };
50
- p.before;
51
- d.bottom;
52
- const A = {
53
- ...G,
54
- ...z,
55
- ...$,
56
- ...T,
57
- ...Y,
99
+ ({
100
+ /**
101
+ * VvIcon name or props
102
+ * @see VVIcon
103
+ */
104
+ icon: { type: [String, Object] },
105
+ /**
106
+ * VvIcon position
107
+ */
108
+ iconPosition: {
109
+ type: String,
110
+ default: Position.before,
111
+ validation: (value) => Object.values(Position).includes(value)
112
+ }
113
+ });
114
+ ({
115
+ /**
116
+ * Dropdown placement
117
+ */
118
+ placement: {
119
+ type: String,
120
+ default: Side.bottom,
121
+ validator: (value) => {
122
+ return Object.values(Side).includes(value) || Object.values(Placement).includes(value);
123
+ }
124
+ },
125
+ /**
126
+ * Dropdown show / hide transition name
127
+ */
128
+ transitionName: {
129
+ type: String
130
+ },
131
+ /**
132
+ * Offset of the dropdown from the trigger
133
+ * @see https://floating-ui.com/docs/offset
134
+ */
135
+ offset: {
136
+ type: [Number, String, Object],
137
+ default: 0
138
+ },
139
+ /**
140
+ * Move dropdown to the side if there is no space in the default position
141
+ * @see https://floating-ui.com/docs/shift
142
+ */
143
+ shift: {
144
+ type: [Boolean, Object],
145
+ default: false
146
+ },
147
+ /**
148
+ * Flip dropdown position if there is no space in the default position
149
+ * @see https://floating-ui.com/docs/flip
150
+ */
151
+ flip: {
152
+ type: [Boolean, Object],
153
+ default: true
154
+ },
155
+ /**
156
+ * Size of the dropdown
157
+ * @see https://floating-ui.com/docs/size
158
+ */
159
+ size: {
160
+ type: [Boolean, Object],
161
+ default: () => ({ padding: 10 })
162
+ },
163
+ /**
164
+ * Automatically change the position of the dropdown
165
+ * @see https://floating-ui.com/docs/autoPlacement
166
+ */
167
+ autoPlacement: {
168
+ type: [Boolean, Object],
169
+ default: false
170
+ },
171
+ /**
172
+ * Add arrow to the dropdown
173
+ * @see https://floating-ui.com/docs/arrow
174
+ */
175
+ arrow: {
176
+ type: Boolean,
177
+ default: false
178
+ },
179
+ /**
180
+ * Close dropdown on click outside
181
+ */
182
+ autoClose: {
183
+ type: Boolean,
184
+ default: true
185
+ },
186
+ /**
187
+ * Autofocus first item on dropdown open
188
+ */
189
+ autofocusFirst: {
190
+ type: Boolean,
191
+ default: true
192
+ },
193
+ /**
194
+ * Set dropdown width to the same as the trigger
195
+ */
196
+ triggerWidth: {
197
+ type: Boolean
198
+ }
199
+ });
200
+ const ActionProps = {
201
+ ...DisabledProps,
202
+ ...LabelProps,
203
+ ...PressedProps,
204
+ ...ActiveProps,
205
+ ...LinkProps,
58
206
  /**
59
207
  * Button type
60
208
  */
61
209
  type: {
62
210
  type: String,
63
- default: b.button,
64
- validator: (e) => Object.values(b).includes(e)
211
+ default: ButtonType.button,
212
+ validator: (value) => Object.values(ButtonType).includes(value)
65
213
  }
66
- }, F = ["click", "mouseover", "mouseleave"], q = A;
67
- function H() {
68
- return v(J);
214
+ };
215
+ const VvActionEvents = ["click", "mouseover", "mouseleave"];
216
+ const VvActionProps = ActionProps;
217
+ function useVolver() {
218
+ return inject(INJECTION_KEY_VOLVER);
69
219
  }
70
- function Q() {
71
- return v(K, {});
220
+ function useInjectedDropdownTrigger() {
221
+ return inject(INJECTION_KEY_DROPDOWN_TRIGGER, {});
72
222
  }
73
- function U() {
74
- return v(W, {});
223
+ function useInjectedDropdownAction() {
224
+ return inject(INJECTION_KEY_DROPDOWN_ACTION, {});
75
225
  }
76
- const X = {
226
+ const __default__ = {
77
227
  name: "VvAction"
78
- }, te = /* @__PURE__ */ D({
79
- ...X,
80
- props: q,
81
- emits: F,
82
- setup(e, { expose: k, emit: s }) {
83
- const r = e, a = H(), l = I(null);
84
- k({ $el: l });
228
+ };
229
+ const _sfc_main = /* @__PURE__ */ defineComponent({
230
+ ...__default__,
231
+ props: VvActionProps,
232
+ emits: VvActionEvents,
233
+ setup(__props, { expose, emit }) {
234
+ const props = __props;
235
+ const volver = useVolver();
236
+ const element = ref(null);
237
+ expose({ $el: element });
85
238
  const {
86
- reference: m,
87
- bus: o,
88
- aria: u,
89
- expanded: i
90
- } = Q();
91
- L(
92
- () => l.value,
93
- (t) => {
94
- m && (m.value = t);
239
+ reference: dropdownTriggerReference,
240
+ bus: dropdownEventBus,
241
+ aria: dropdownAria,
242
+ expanded: dropdownExpanded
243
+ } = useInjectedDropdownTrigger();
244
+ watch(
245
+ () => element.value,
246
+ (newValue) => {
247
+ if (dropdownTriggerReference) {
248
+ dropdownTriggerReference.value = newValue;
249
+ }
95
250
  }
96
251
  );
97
- const g = c(() => r.pressed || (i == null ? void 0 : i.value)), { role: S } = U(), y = c(() => {
98
- switch (!0) {
99
- case r.disabled:
100
- return n.button;
101
- case r.to !== void 0:
102
- return a != null && a.nuxt ? n.nuxtLink : n.routerLink;
103
- case r.href !== void 0:
104
- return n.a;
252
+ const pressed = computed(() => {
253
+ return props.pressed || (dropdownExpanded == null ? void 0 : dropdownExpanded.value);
254
+ });
255
+ const { role } = useInjectedDropdownAction();
256
+ const hasTag = computed(() => {
257
+ switch (true) {
258
+ case props.disabled:
259
+ return ActionTag.button;
260
+ case props.to !== void 0:
261
+ return (volver == null ? void 0 : volver.nuxt) ? ActionTag.nuxtLink : ActionTag.routerLink;
262
+ case props.href !== void 0:
263
+ return ActionTag.a;
105
264
  default:
106
- return n.button;
265
+ return ActionTag.button;
107
266
  }
108
- }), h = c(() => {
109
- const t = {
110
- ...u == null ? void 0 : u.value,
111
- "aria-pressed": g.value ? !0 : void 0,
112
- role: S
267
+ });
268
+ const hasProps = computed(() => {
269
+ const toReturn = {
270
+ ...dropdownAria == null ? void 0 : dropdownAria.value,
271
+ "aria-pressed": pressed.value ? true : void 0,
272
+ role
113
273
  };
114
- switch (y.value) {
115
- case n.a:
274
+ switch (hasTag.value) {
275
+ case ActionTag.a:
116
276
  return {
117
- ...t,
118
- href: r.href,
119
- target: r.target,
120
- rel: r.rel
277
+ ...toReturn,
278
+ href: props.href,
279
+ target: props.target,
280
+ rel: props.rel
121
281
  };
122
- case n.routerLink:
123
- case n.nuxtLink:
282
+ case ActionTag.routerLink:
283
+ case ActionTag.nuxtLink:
124
284
  return {
125
- ...t,
126
- to: r.to,
127
- target: r.target
285
+ ...toReturn,
286
+ to: props.to,
287
+ target: props.target
128
288
  };
129
289
  default:
130
290
  return {
131
- ...t,
132
- type: r.type,
133
- disabled: r.disabled
291
+ ...toReturn,
292
+ type: props.type,
293
+ disabled: props.disabled
134
294
  };
135
295
  }
136
- }), j = (t) => {
137
- if (r.disabled) {
138
- t.preventDefault();
296
+ });
297
+ const onClick = (e) => {
298
+ if (props.disabled) {
299
+ e.preventDefault();
139
300
  return;
140
301
  }
141
- o == null || o.emit("click", t), s("click", t);
142
- }, N = (t) => {
143
- o == null || o.emit("mouseover", t), s("mouseover", t);
144
- }, C = (t) => {
145
- o == null || o.emit("mouseleave", t), s("mouseleave", t);
302
+ dropdownEventBus == null ? void 0 : dropdownEventBus.emit("click", e);
303
+ emit("click", e);
304
+ };
305
+ const onMouseover = (e) => {
306
+ dropdownEventBus == null ? void 0 : dropdownEventBus.emit("mouseover", e);
307
+ emit("mouseover", e);
308
+ };
309
+ const onMouseleave = (e) => {
310
+ dropdownEventBus == null ? void 0 : dropdownEventBus.emit("mouseleave", e);
311
+ emit("mouseleave", e);
312
+ };
313
+ return (_ctx, _cache) => {
314
+ return openBlock(), createBlock(resolveDynamicComponent(unref(hasTag)), mergeProps(unref(hasProps), {
315
+ ref_key: "element",
316
+ ref: element,
317
+ class: {
318
+ active: _ctx.active,
319
+ pressed: unref(pressed),
320
+ disabled: _ctx.disabled
321
+ },
322
+ onClickPassive: onClick,
323
+ onMouseoverPassive: onMouseover,
324
+ onMouseleavePassive: onMouseleave
325
+ }), {
326
+ default: withCtx(() => [
327
+ renderSlot(_ctx.$slots, "default", {}, () => [
328
+ createTextVNode(toDisplayString(_ctx.label), 1)
329
+ ])
330
+ ]),
331
+ _: 3
332
+ }, 16, ["class"]);
146
333
  };
147
- return (t, Z) => (P(), E(R(f(y)), V(f(h), {
148
- ref_key: "element",
149
- ref: l,
150
- class: {
151
- active: t.active,
152
- pressed: f(g),
153
- disabled: t.disabled
154
- },
155
- onClickPassive: j,
156
- onMouseoverPassive: N,
157
- onMouseleavePassive: C
158
- }), {
159
- default: B(() => [
160
- x(t.$slots, "default", {}, () => [
161
- M(w(t.label), 1)
162
- ])
163
- ]),
164
- _: 3
165
- }, 16, ["class"]));
166
334
  }
167
335
  });
168
336
  export {
169
- te as default
337
+ _sfc_main as default
170
338
  };
@@ -1 +1 @@
1
- (function(t,a){typeof exports=="object"&&typeof module<"u"?module.exports=a(require("vue")):typeof define=="function"&&define.amd?define(["vue"],a):(t=typeof globalThis<"u"?globalThis:t||self,t.VvAction=a(t.vue))})(this,function(t){"use strict";var a=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(a||{}),b=(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))(b||{}),i=(e=>(e.before="before",e.after="after",e))(i||{}),l=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(l||{}),n=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(n||{}),m=(e=>(e._blank="_blank",e._self="_self",e._parent="_parent",e._top="_top",e))(m||{});const _=Symbol.for("volver"),O=Symbol.for("dropdownTrigger"),h=Symbol.for("dropdownAction"),k={to:{type:[String,Object]},href:String,target:{type:String,validator:e=>Object.values(m).includes(e)},rel:{type:String,default:"noopener noreferrer"}},j={disabled:Boolean},S={active:Boolean},N={pressed:Boolean},C={label:[String,Number]};i.before,a.bottom;const D={...j,...C,...N,...S,...k,type:{type:String,default:l.button,validator:e=>Object.values(l).includes(e)}},I=["click","mouseover","mouseleave"],L=D;function P(){return t.inject(_)}function V(){return t.inject(O,{})}function E(){return t.inject(h,{})}const R={name:"VvAction"};return t.defineComponent({...R,props:L,emits:I,setup(e,{expose:x,emit:u}){const o=e,c=P(),f=t.ref(null);x({$el:f});const{reference:g,bus:s,aria:d,expanded:p}=V();t.watch(()=>f.value,r=>{g&&(g.value=r)});const v=t.computed(()=>o.pressed||(p==null?void 0:p.value)),{role:B}=E(),y=t.computed(()=>{switch(!0){case o.disabled:return n.button;case o.to!==void 0:return c!=null&&c.nuxt?n.nuxtLink:n.routerLink;case o.href!==void 0:return n.a;default:return n.button}}),M=t.computed(()=>{const r={...d==null?void 0:d.value,"aria-pressed":v.value?!0:void 0,role:B};switch(y.value){case n.a:return{...r,href:o.href,target:o.target,rel:o.rel};case n.routerLink:case n.nuxtLink:return{...r,to:o.to,target:o.target};default:return{...r,type:o.type,disabled:o.disabled}}}),T=r=>{if(o.disabled){r.preventDefault();return}s==null||s.emit("click",r),u("click",r)},w=r=>{s==null||s.emit("mouseover",r),u("mouseover",r)},J=r=>{s==null||s.emit("mouseleave",r),u("mouseleave",r)};return(r,W)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(y)),t.mergeProps(t.unref(M),{ref_key:"element",ref:f,class:{active:r.active,pressed:t.unref(v),disabled:r.disabled},onClickPassive:T,onMouseoverPassive:w,onMouseleavePassive:J}),{default:t.withCtx(()=>[t.renderSlot(r.$slots,"default",{},()=>[t.createTextVNode(t.toDisplayString(r.label),1)])]),_:3},16,["class"]))}})});
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue")):"function"==typeof define&&define.amd?define(["vue"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VvAction=t(e.vue)}(this,(function(e){"use strict";var t=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(t||{}),o=(e=>(e.before="before",e.after="after",e))(o||{}),n=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(n||{}),r=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(r||{}),l=(e=>(e._blank="_blank",e._self="_self",e._parent="_parent",e._top="_top",e))(l||{});const a=Symbol.for("volver"),u=Symbol.for("dropdownTrigger"),i=Symbol.for("dropdownAction"),s={to:{type:[String,Object]},href:String,target:{type:String,validator:e=>Object.values(l).includes(e)},rel:{type:String,default:"noopener noreferrer"}},d={disabled:Boolean},c={active:Boolean},f={pressed:Boolean},p={label:[String,Number]};o.before,t.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean;const v={...d,...p,...f,...c,...s,type:{type:String,default:n.button,validator:e=>Object.values(n).includes(e)}};return e.defineComponent({name:"VvAction",props:v,emits:["click","mouseover","mouseleave"],setup(t,{expose:o,emit:n}){const l=t,s=e.inject(a),d=e.ref(null);o({$el:d});const{reference:c,bus:f,aria:p,expanded:v}=e.inject(u,{});e.watch((()=>d.value),(e=>{c&&(c.value=e)}));const b=e.computed((()=>l.pressed||(null==v?void 0:v.value))),{role:m}=e.inject(i,{}),g=e.computed((()=>{switch(!0){case l.disabled:return r.button;case void 0!==l.to:return(null==s?void 0:s.nuxt)?r.nuxtLink:r.routerLink;case void 0!==l.href:return r.a;default:return r.button}})),k=e.computed((()=>{const e={...null==p?void 0:p.value,"aria-pressed":!!b.value||void 0,role:m};switch(g.value){case r.a:return{...e,href:l.href,target:l.target,rel:l.rel};case r.routerLink:case r.nuxtLink:return{...e,to:l.to,target:l.target};default:return{...e,type:l.type,disabled:l.disabled}}})),y=e=>{l.disabled?e.preventDefault():(null==f||f.emit("click",e),n("click",e))},h=e=>{null==f||f.emit("mouseover",e),n("mouseover",e)},B=e=>{null==f||f.emit("mouseleave",e),n("mouseleave",e)};return(t,o)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(g)),e.mergeProps(e.unref(k),{ref_key:"element",ref:d,class:{active:t.active,pressed:e.unref(b),disabled:t.disabled},onClickPassive:y,onMouseoverPassive:h,onMouseleavePassive:B}),{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default",{},(()=>[e.createTextVNode(e.toDisplayString(t.label),1)]))])),_:3},16,["class"]))}})}));
@@ -1,16 +1,16 @@
1
1
  declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
2
2
  type: {
3
- type: StringConstructor;
4
- default: import("@/constants").ButtonType;
5
- validator: (value: import("@/constants").ButtonType) => boolean;
3
+ type: globalThis.PropType<"button" | "submit" | "reset">;
4
+ default: import("../../constants").ButtonType;
5
+ validator: (value: import("../../constants").ButtonType) => boolean;
6
6
  };
7
7
  to: {
8
8
  type: (StringConstructor | ObjectConstructor)[];
9
9
  };
10
10
  href: StringConstructor;
11
11
  target: {
12
- type: import("vue").PropType<import("@/constants").AnchorTarget>;
13
- validator: (value: import("@/constants").AnchorTarget) => boolean;
12
+ type: globalThis.PropType<"_blank" | "_self" | "_parent" | "_top">;
13
+ validator: (value: import("../../constants").AnchorTarget) => boolean;
14
14
  };
15
15
  rel: {
16
16
  type: StringConstructor;
@@ -21,20 +21,20 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
21
21
  label: (StringConstructor | NumberConstructor)[];
22
22
  disabled: BooleanConstructor;
23
23
  }, {
24
- $el: import("vue").Ref<HTMLElement | null>;
24
+ $el: globalThis.Ref<HTMLElement | null>;
25
25
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, string[], string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
26
26
  type: {
27
- type: StringConstructor;
28
- default: import("@/constants").ButtonType;
29
- validator: (value: import("@/constants").ButtonType) => boolean;
27
+ type: globalThis.PropType<"button" | "submit" | "reset">;
28
+ default: import("../../constants").ButtonType;
29
+ validator: (value: import("../../constants").ButtonType) => boolean;
30
30
  };
31
31
  to: {
32
32
  type: (StringConstructor | ObjectConstructor)[];
33
33
  };
34
34
  href: StringConstructor;
35
35
  target: {
36
- type: import("vue").PropType<import("@/constants").AnchorTarget>;
37
- validator: (value: import("@/constants").AnchorTarget) => boolean;
36
+ type: globalThis.PropType<"_blank" | "_self" | "_parent" | "_top">;
37
+ validator: (value: import("../../constants").AnchorTarget) => boolean;
38
38
  };
39
39
  rel: {
40
40
  type: StringConstructor;
@@ -48,7 +48,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
48
48
  [x: `on${Capitalize<string>}`]: ((...args: any[]) => any) | undefined;
49
49
  }, {
50
50
  disabled: boolean;
51
- type: string;
51
+ type: "button" | "submit" | "reset";
52
52
  rel: string;
53
53
  active: boolean;
54
54
  pressed: boolean;
@@ -1,7 +1,7 @@
1
1
  export declare const VvActionEvents: string[];
2
2
  export declare const VvActionProps: {
3
3
  type: {
4
- type: StringConstructor;
4
+ type: globalThis.PropType<"button" | "submit" | "reset">;
5
5
  default: import("../../constants").ButtonType;
6
6
  validator: (value: import("../../constants").ButtonType) => boolean;
7
7
  };
@@ -10,7 +10,7 @@ export declare const VvActionProps: {
10
10
  };
11
11
  href: StringConstructor;
12
12
  target: {
13
- type: import("vue").PropType<import("../../constants").AnchorTarget>;
13
+ type: globalThis.PropType<"_blank" | "_self" | "_parent" | "_top">;
14
14
  validator: (value: import("../../constants").AnchorTarget) => boolean;
15
15
  };
16
16
  rel: {