vuetify 3.1.6 → 3.1.8

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 (195) hide show
  1. package/dist/json/attributes.json +33 -33
  2. package/dist/json/importMap.json +4 -4
  3. package/dist/json/web-types.json +967 -79
  4. package/dist/vuetify-labs.css +544 -401
  5. package/dist/vuetify-labs.d.ts +3453 -144
  6. package/dist/vuetify-labs.esm.js +66 -44
  7. package/dist/vuetify-labs.esm.js.map +1 -1
  8. package/dist/vuetify-labs.js +66 -44
  9. package/dist/vuetify-labs.min.css +2 -2
  10. package/dist/vuetify.css +1398 -1255
  11. package/dist/vuetify.d.ts +1918 -67
  12. package/dist/vuetify.esm.js +33 -32
  13. package/dist/vuetify.esm.js.map +1 -1
  14. package/dist/vuetify.js +33 -32
  15. package/dist/vuetify.js.map +1 -1
  16. package/dist/vuetify.min.css +2 -2
  17. package/dist/vuetify.min.js +209 -210
  18. package/dist/vuetify.min.js.map +1 -1
  19. package/lib/components/VAlert/VAlert.css +1 -1
  20. package/lib/components/VAlert/VAlert.mjs.map +1 -1
  21. package/lib/components/VAlert/_variables.scss +1 -1
  22. package/lib/components/VAlert/index.d.ts +22 -0
  23. package/lib/components/VApp/index.d.ts +6 -0
  24. package/lib/components/VAppBar/index.d.ts +36 -0
  25. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  26. package/lib/components/VAutocomplete/index.d.ts +117 -6
  27. package/lib/components/VAvatar/index.d.ts +6 -0
  28. package/lib/components/VBadge/index.d.ts +8 -0
  29. package/lib/components/VBanner/VBanner.mjs.map +1 -1
  30. package/lib/components/VBanner/index.d.ts +24 -0
  31. package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
  32. package/lib/components/VBottomNavigation/index.d.ts +6 -0
  33. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
  34. package/lib/components/VBreadcrumbs/index.d.ts +28 -4
  35. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  36. package/lib/components/VBtn/index.d.ts +12 -0
  37. package/lib/components/VBtnGroup/index.d.ts +6 -0
  38. package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
  39. package/lib/components/VBtnToggle/index.d.ts +6 -0
  40. package/lib/components/VCard/VCard.mjs.map +1 -1
  41. package/lib/components/VCard/VCardItem.mjs.map +1 -1
  42. package/lib/components/VCard/index.d.ts +60 -0
  43. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  44. package/lib/components/VCarousel/index.d.ts +60 -0
  45. package/lib/components/VCheckbox/index.d.ts +38 -0
  46. package/lib/components/VChip/VChip.mjs.map +1 -1
  47. package/lib/components/VChip/index.d.ts +12 -0
  48. package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
  49. package/lib/components/VChipGroup/index.d.ts +6 -0
  50. package/lib/components/VCode/index.d.ts +6 -0
  51. package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
  52. package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
  53. package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
  54. package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
  55. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  56. package/lib/components/VCombobox/index.d.ts +117 -6
  57. package/lib/components/VCounter/index.d.ts +24 -0
  58. package/lib/components/VDefaultsProvider/index.d.ts +6 -0
  59. package/lib/components/VDialog/index.d.ts +64 -1
  60. package/lib/components/VDivider/VDivider.mjs.map +1 -1
  61. package/lib/components/VDivider/index.d.ts +6 -0
  62. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  63. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -1
  64. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
  65. package/lib/components/VExpansionPanel/index.d.ts +49 -12
  66. package/lib/components/VField/VField.mjs.map +1 -1
  67. package/lib/components/VField/index.d.ts +20 -6
  68. package/lib/components/VFileInput/VFileInput.mjs +1 -0
  69. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  70. package/lib/components/VFileInput/index.d.ts +43 -1
  71. package/lib/components/VFooter/index.d.ts +6 -0
  72. package/lib/components/VForm/index.d.ts +6 -0
  73. package/lib/components/VGrid/index.d.ts +24 -0
  74. package/lib/components/VHover/index.d.ts +12 -0
  75. package/lib/components/VIcon/index.d.ts +12 -0
  76. package/lib/components/VImg/index.d.ts +12 -0
  77. package/lib/components/VInput/VInput.mjs.map +1 -1
  78. package/lib/components/VInput/index.d.ts +12 -0
  79. package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
  80. package/lib/components/VItemGroup/index.d.ts +12 -0
  81. package/lib/components/VKbd/index.d.ts +6 -0
  82. package/lib/components/VLabel/index.d.ts +6 -0
  83. package/lib/components/VLayout/index.d.ts +12 -0
  84. package/lib/components/VLazy/index.d.ts +6 -0
  85. package/lib/components/VList/VListGroup.mjs.map +1 -1
  86. package/lib/components/VList/VListItem.mjs.map +1 -1
  87. package/lib/components/VList/VListSubheader.mjs.map +1 -1
  88. package/lib/components/VList/index.d.ts +77 -6
  89. package/lib/components/VLocaleProvider/index.d.ts +6 -0
  90. package/lib/components/VMain/index.d.ts +6 -0
  91. package/lib/components/VMenu/index.d.ts +64 -1
  92. package/lib/components/VMessages/VMessages.mjs.map +1 -1
  93. package/lib/components/VMessages/index.d.ts +24 -0
  94. package/lib/components/VNavigationDrawer/index.d.ts +12 -0
  95. package/lib/components/VNoSsr/index.d.ts +6 -0
  96. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  97. package/lib/components/VOverlay/index.d.ts +18 -0
  98. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  99. package/lib/components/VPagination/index.d.ts +14 -0
  100. package/lib/components/VParallax/index.d.ts +12 -0
  101. package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
  102. package/lib/components/VProgressCircular/index.d.ts +6 -0
  103. package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
  104. package/lib/components/VProgressLinear/index.d.ts +12 -0
  105. package/lib/components/VRadio/index.d.ts +16 -0
  106. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  107. package/lib/components/VRadioGroup/index.d.ts +22 -0
  108. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  109. package/lib/components/VRangeSlider/index.d.ts +16 -0
  110. package/lib/components/VRating/VRating.mjs.map +1 -1
  111. package/lib/components/VRating/index.d.ts +8 -0
  112. package/lib/components/VResponsive/index.d.ts +8 -0
  113. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  114. package/lib/components/VSelect/index.d.ts +183 -6
  115. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  116. package/lib/components/VSelectionControl/index.d.ts +14 -6
  117. package/lib/components/VSelectionControlGroup/index.d.ts +6 -0
  118. package/lib/components/VSheet/index.d.ts +6 -0
  119. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  120. package/lib/components/VSlideGroup/index.d.ts +26 -0
  121. package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
  122. package/lib/components/VSlider/index.d.ts +16 -0
  123. package/lib/components/VSnackbar/VSnackbar.css +0 -2
  124. package/lib/components/VSnackbar/VSnackbar.mjs +6 -8
  125. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  126. package/lib/components/VSnackbar/VSnackbar.sass +0 -2
  127. package/lib/components/VSnackbar/index.d.ts +44 -1
  128. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  129. package/lib/components/VSwitch/index.d.ts +22 -0
  130. package/lib/components/VSystemBar/index.d.ts +6 -0
  131. package/lib/components/VTable/VTable.mjs.map +1 -1
  132. package/lib/components/VTable/index.d.ts +12 -0
  133. package/lib/components/VTabs/VTab.mjs.map +1 -1
  134. package/lib/components/VTabs/VTabs.mjs.map +1 -1
  135. package/lib/components/VTabs/index.d.ts +12 -0
  136. package/lib/components/VTextField/VTextField.mjs +1 -0
  137. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  138. package/lib/components/VTextField/index.d.ts +54 -6
  139. package/lib/components/VTextarea/VTextarea.mjs +1 -0
  140. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  141. package/lib/components/VTextarea/index.d.ts +39 -1
  142. package/lib/components/VThemeProvider/index.d.ts +6 -0
  143. package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
  144. package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
  145. package/lib/components/VTimeline/index.d.ts +16 -0
  146. package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
  147. package/lib/components/VToolbar/VToolbarTitle.mjs.map +1 -1
  148. package/lib/components/VToolbar/index.d.ts +30 -0
  149. package/lib/components/VTooltip/index.d.ts +46 -1
  150. package/lib/components/VValidation/index.d.ts +6 -0
  151. package/lib/components/VWindow/index.d.ts +34 -0
  152. package/lib/components/index.d.ts +1916 -65
  153. package/lib/components/transitions/createTransition.mjs +1 -1
  154. package/lib/components/transitions/createTransition.mjs.map +1 -1
  155. package/lib/components/transitions/index.d.ts +96 -0
  156. package/lib/composables/display.mjs +13 -10
  157. package/lib/composables/display.mjs.map +1 -1
  158. package/lib/composables/loader.mjs.map +1 -1
  159. package/lib/composables/theme.mjs +7 -10
  160. package/lib/composables/theme.mjs.map +1 -1
  161. package/lib/composables/variant.mjs.map +1 -1
  162. package/lib/entry-bundler.mjs +1 -1
  163. package/lib/framework.mjs +1 -1
  164. package/lib/index.d.ts +1 -1
  165. package/lib/labs/VDataTable/VDataTable.mjs +4 -2
  166. package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
  167. package/lib/labs/VDataTable/VDataTableFooter.mjs.map +1 -1
  168. package/lib/labs/VDataTable/VDataTableHeaders.mjs.map +1 -1
  169. package/lib/labs/VDataTable/VDataTableRow.mjs.map +1 -1
  170. package/lib/labs/VDataTable/VDataTableRows.mjs +4 -6
  171. package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
  172. package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
  173. package/lib/labs/VDataTable/VDataTableVirtual.mjs +4 -2
  174. package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
  175. package/lib/labs/VDataTable/composables/options.mjs +7 -1
  176. package/lib/labs/VDataTable/composables/options.mjs.map +1 -1
  177. package/lib/labs/VDataTable/index.d.ts +1503 -48
  178. package/lib/labs/VVirtualScroll/VVirtualScroll.mjs +15 -2
  179. package/lib/labs/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
  180. package/lib/labs/VVirtualScroll/index.d.ts +9 -6
  181. package/lib/labs/components.d.ts +1512 -54
  182. package/lib/locale/index.mjs +1 -1
  183. package/lib/locale/index.mjs.map +1 -1
  184. package/lib/styles/elements/_global.sass +0 -4
  185. package/lib/styles/generic/_index.scss +0 -1
  186. package/lib/styles/generic/_transitions.scss +111 -9
  187. package/lib/styles/main.css +312 -167
  188. package/lib/styles/tools/_sheet.sass +3 -6
  189. package/lib/styles/utilities/_display.sass +6 -5
  190. package/lib/styles/utilities/_elevation.scss +13 -0
  191. package/lib/styles/utilities/_index.sass +3 -2
  192. package/lib/styles/utilities/_screenreaders.sass +13 -11
  193. package/lib/util/defineComponent.mjs.map +1 -1
  194. package/package.json +18 -4
  195. package/lib/styles/generic/_elevation.scss +0 -10
@@ -65,6 +65,30 @@ declare const VCarousel: vue.DefineComponent<{
65
65
  };
66
66
  }) => vue.VNodeChild) | undefined;
67
67
  };
68
+ $slots?: {
69
+ default?: ((args_0: {
70
+ group: GroupProvide;
71
+ }) => vue.VNodeChild) | undefined;
72
+ additional?: ((args_0: {
73
+ group: GroupProvide;
74
+ }) => vue.VNodeChild) | undefined;
75
+ prev?: ((args_0: {
76
+ props: {
77
+ icon: IconValue;
78
+ class: string;
79
+ onClick: () => void;
80
+ ariaLabel: string;
81
+ };
82
+ }) => vue.VNodeChild) | undefined;
83
+ next?: ((args_0: {
84
+ props: {
85
+ icon: IconValue;
86
+ class: string;
87
+ onClick: () => void;
88
+ ariaLabel: string;
89
+ };
90
+ }) => vue.VNodeChild) | undefined;
91
+ } | undefined;
68
92
  'v-slots'?: {
69
93
  default?: false | ((args_0: {
70
94
  group: GroupProvide;
@@ -152,6 +176,30 @@ declare const VCarousel: vue.DefineComponent<{
152
176
  };
153
177
  }) => vue.VNodeChild) | undefined;
154
178
  };
179
+ $slots?: {
180
+ default?: ((args_0: {
181
+ group: GroupProvide;
182
+ }) => vue.VNodeChild) | undefined;
183
+ additional?: ((args_0: {
184
+ group: GroupProvide;
185
+ }) => vue.VNodeChild) | undefined;
186
+ prev?: ((args_0: {
187
+ props: {
188
+ icon: IconValue;
189
+ class: string;
190
+ onClick: () => void;
191
+ ariaLabel: string;
192
+ };
193
+ }) => vue.VNodeChild) | undefined;
194
+ next?: ((args_0: {
195
+ props: {
196
+ icon: IconValue;
197
+ class: string;
198
+ onClick: () => void;
199
+ ariaLabel: string;
200
+ };
201
+ }) => vue.VNodeChild) | undefined;
202
+ } | undefined;
155
203
  'v-slots'?: {
156
204
  default?: false | ((args_0: {
157
205
  group: GroupProvide;
@@ -221,6 +269,12 @@ declare const VCarouselItem: vue.DefineComponent<{} & {
221
269
  error?: (() => vue.VNodeChild) | undefined;
222
270
  sources?: (() => vue.VNodeChild) | undefined;
223
271
  };
272
+ $slots?: {
273
+ default?: (() => vue.VNodeChild) | undefined;
274
+ placeholder?: (() => vue.VNodeChild) | undefined;
275
+ error?: (() => vue.VNodeChild) | undefined;
276
+ sources?: (() => vue.VNodeChild) | undefined;
277
+ } | undefined;
224
278
  'v-slots'?: {
225
279
  default?: false | (() => vue.VNodeChild) | undefined;
226
280
  placeholder?: false | (() => vue.VNodeChild) | undefined;
@@ -241,6 +295,12 @@ declare const VCarouselItem: vue.DefineComponent<{} & {
241
295
  error?: (() => vue.VNodeChild) | undefined;
242
296
  sources?: (() => vue.VNodeChild) | undefined;
243
297
  };
298
+ $slots?: {
299
+ default?: (() => vue.VNodeChild) | undefined;
300
+ placeholder?: (() => vue.VNodeChild) | undefined;
301
+ error?: (() => vue.VNodeChild) | undefined;
302
+ sources?: (() => vue.VNodeChild) | undefined;
303
+ } | undefined;
244
304
  'v-slots'?: {
245
305
  default?: false | (() => vue.VNodeChild) | undefined;
246
306
  placeholder?: false | (() => vue.VNodeChild) | undefined;
@@ -87,6 +87,17 @@ declare const VCheckbox: vue.DefineComponent<{
87
87
  }) => vue.VNodeChild) | undefined;
88
88
  input?: ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
89
89
  };
90
+ $slots?: {
91
+ default?: (((args_0: VInputSlot) => vue.VNodeChild) & (() => vue.VNodeChild)) | undefined;
92
+ prepend?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
93
+ append?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
94
+ details?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
95
+ label?: ((args_0: {
96
+ label: string | undefined;
97
+ props: Record<string, unknown>;
98
+ }) => vue.VNodeChild) | undefined;
99
+ input?: ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
100
+ } | undefined;
90
101
  'v-slots'?: {
91
102
  default?: false | (((args_0: VInputSlot) => vue.VNodeChild) & (() => vue.VNodeChild)) | undefined;
92
103
  prepend?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
@@ -159,6 +170,17 @@ declare const VCheckbox: vue.DefineComponent<{
159
170
  }) => vue.VNodeChild) | undefined;
160
171
  input?: ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
161
172
  };
173
+ $slots?: {
174
+ default?: (((args_0: VInputSlot) => vue.VNodeChild) & (() => vue.VNodeChild)) | undefined;
175
+ prepend?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
176
+ append?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
177
+ details?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
178
+ label?: ((args_0: {
179
+ label: string | undefined;
180
+ props: Record<string, unknown>;
181
+ }) => vue.VNodeChild) | undefined;
182
+ input?: ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
183
+ } | undefined;
162
184
  'v-slots'?: {
163
185
  default?: false | (((args_0: VInputSlot) => vue.VNodeChild) & (() => vue.VNodeChild)) | undefined;
164
186
  prepend?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
@@ -237,6 +259,14 @@ declare const VCheckboxBtn: vue.DefineComponent<{
237
259
  }) => vue.VNodeChild) | undefined;
238
260
  input?: ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
239
261
  };
262
+ $slots?: {
263
+ default?: (() => vue.VNodeChild) | undefined;
264
+ label?: ((args_0: {
265
+ label: string | undefined;
266
+ props: Record<string, unknown>;
267
+ }) => vue.VNodeChild) | undefined;
268
+ input?: ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
269
+ } | undefined;
240
270
  'v-slots'?: {
241
271
  default?: false | (() => vue.VNodeChild) | undefined;
242
272
  label?: false | ((args_0: {
@@ -288,6 +318,14 @@ declare const VCheckboxBtn: vue.DefineComponent<{
288
318
  }) => vue.VNodeChild) | undefined;
289
319
  input?: ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
290
320
  };
321
+ $slots?: {
322
+ default?: (() => vue.VNodeChild) | undefined;
323
+ label?: ((args_0: {
324
+ label: string | undefined;
325
+ props: Record<string, unknown>;
326
+ }) => vue.VNodeChild) | undefined;
327
+ input?: ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
328
+ } | undefined;
291
329
  'v-slots'?: {
292
330
  default?: false | (() => vue.VNodeChild) | undefined;
293
331
  label?: false | ((args_0: {
@@ -1 +1 @@
1
- {"version":3,"file":"VChip.mjs","names":["VAvatar","VChipGroupSymbol","VDefaultsProvider","VExpandXTransition","VIcon","genOverlays","makeVariantProps","useVariant","makeBorderProps","useBorder","makeDensityProps","useDensity","makeElevationProps","useElevation","makeGroupItemProps","useGroupItem","makeRoundedProps","useRounded","makeRouterProps","useLink","makeSizeProps","useSize","makeTagProps","makeThemeProps","provideTheme","useProxiedModel","IconValue","useLocale","Ripple","EventProp","genericComponent","computed","VChip","name","directives","props","activeClass","String","appendAvatar","appendIcon","closable","Boolean","closeIcon","type","default","closeLabel","draggable","filter","filterIcon","label","link","undefined","pill","prependAvatar","prependIcon","ripple","text","modelValue","onClick","onClickOnce","tag","variant","emits","e","value","val","click","setup","attrs","emit","slots","t","borderClasses","colorClasses","colorStyles","variantClasses","densityClasses","elevationClasses","roundedClasses","sizeClasses","themeClasses","isActive","group","isLink","isClickable","disabled","onCloseClick","navigate","toggle","onKeyDown","key","preventDefault","Tag","hasAppend","append","hasClose","close","hasFilter","hasPrepend","prepend","hasColor","isSelected","selectedClass","href","icon","image","select","size"],"sources":["../../../src/components/VChip/VChip.tsx"],"sourcesContent":["/* eslint-disable complexity */\n// Styles\nimport './VChip.sass'\n\n// Components\nimport { VAvatar } from '@/components/VAvatar'\nimport { VChipGroupSymbol } from '@/components/VChipGroup/VChipGroup'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VExpandXTransition } from '@/components/transitions'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { IconValue } from '@/composables/icons'\nimport { useLocale } from '@/composables/locale'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { EventProp, genericComponent } from '@/util'\nimport { computed } from 'vue'\n\n// Types\nimport type { MakeSlots } from '@/util'\n\nexport type VChipSlots = MakeSlots<{\n default: []\n label: []\n prepend: []\n append: []\n}>\n\nexport const VChip = genericComponent<VChipSlots>()({\n name: 'VChip',\n\n directives: { Ripple },\n\n props: {\n activeClass: String,\n appendAvatar: String,\n appendIcon: IconValue,\n closable: Boolean,\n closeIcon: {\n type: IconValue,\n default: '$delete',\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n draggable: Boolean,\n filter: Boolean,\n filterIcon: {\n type: String,\n default: '$complete',\n },\n label: Boolean,\n link: {\n type: Boolean,\n default: undefined,\n },\n pill: Boolean,\n prependAvatar: String,\n prependIcon: IconValue,\n ripple: {\n type: Boolean,\n default: true,\n },\n text: String,\n modelValue: {\n type: Boolean,\n default: true,\n },\n\n onClick: EventProp,\n onClickOnce: EventProp,\n\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'span' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'tonal' } as const),\n },\n\n emits: {\n 'click:close': (e: Event) => true,\n 'update:modelValue': (value: boolean) => true,\n 'group:selected': (val: { value: boolean }) => true,\n click: (e: MouseEvent | KeyboardEvent) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const { t } = useLocale()\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n const { densityClasses } = useDensity(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { sizeClasses } = useSize(props)\n const { themeClasses } = provideTheme(props)\n\n const isActive = useProxiedModel(props, 'modelValue')\n const group = useGroupItem(props, VChipGroupSymbol, false)\n const link = useLink(props, attrs)\n const isLink = computed(() => props.link !== false && link.isLink.value)\n const isClickable = computed(() =>\n !props.disabled &&\n props.link !== false &&\n (!!group || props.link || link.isClickable.value)\n )\n\n function onCloseClick (e: Event) {\n isActive.value = false\n\n emit('click:close', e)\n }\n\n function onClick (e: MouseEvent) {\n emit('click', e)\n\n if (!isClickable.value) return\n\n link.navigate?.(e)\n group?.toggle()\n }\n\n function onKeyDown (e: KeyboardEvent) {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n onClick(e as any as MouseEvent)\n }\n }\n\n return () => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasAppend = !!(slots.append || props.appendIcon || props.appendAvatar)\n const hasClose = !!(slots.close || props.closable)\n const hasFilter = !!(slots.filter || props.filter) && group\n const hasPrepend = !!(slots.prepend || props.prependIcon || props.prependAvatar)\n const hasColor = !group || group.isSelected.value\n\n return isActive.value && (\n <Tag\n class={[\n 'v-chip',\n {\n 'v-chip--disabled': props.disabled,\n 'v-chip--label': props.label,\n 'v-chip--link': isClickable.value,\n 'v-chip--filter': hasFilter,\n 'v-chip--pill': props.pill,\n },\n themeClasses.value,\n borderClasses.value,\n hasColor ? colorClasses.value : undefined,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n variantClasses.value,\n group?.selectedClass.value,\n ]}\n style={[\n hasColor ? colorStyles.value : undefined,\n ]}\n disabled={ props.disabled || undefined }\n draggable={ props.draggable }\n href={ link.href.value }\n tabindex={ isClickable.value ? 0 : undefined }\n onClick={ onClick }\n onKeydown={ isClickable.value && !isLink.value && onKeyDown }\n v-ripple={ [isClickable.value && props.ripple, null] }\n >\n { genOverlays(isClickable.value, 'v-chip') }\n\n { hasFilter && (\n <VDefaultsProvider\n key=\"filter\"\n defaults={{\n VIcon: { icon: props.filterIcon },\n }}\n >\n <VExpandXTransition>\n <div\n class=\"v-chip__filter\"\n v-show={ group.isSelected.value }\n >\n { slots.filter ? slots.filter() : (<VIcon />) }\n </div>\n </VExpandXTransition>\n </VDefaultsProvider>\n ) }\n\n { hasPrepend && (\n <VDefaultsProvider\n key=\"prepend\"\n defaults={{\n VAvatar: {\n image: props.prependAvatar,\n },\n VIcon: {\n icon: props.prependIcon,\n },\n }}\n >\n { slots.prepend\n ? (\n <div class=\"v-chip__prepend\">\n { slots.prepend() }\n </div>\n )\n : props.prependAvatar ? (<VAvatar start />)\n : props.prependIcon ? (<VIcon start />)\n : undefined\n }\n </VDefaultsProvider>\n ) }\n\n { slots.default?.({\n isSelected: group?.isSelected.value,\n selectedClass: group?.selectedClass.value,\n select: group?.select,\n toggle: group?.toggle,\n value: group?.value.value,\n disabled: props.disabled,\n }) ?? props.text }\n\n { hasAppend && (\n <VDefaultsProvider\n key=\"append\"\n defaults={{\n VAvatar: {\n image: props.appendAvatar,\n },\n VIcon: {\n icon: props.appendIcon,\n },\n }}\n >\n { slots.append\n ? (\n <div class=\"v-chip__append\">\n { slots.append() }\n </div>\n )\n : props.appendAvatar ? (<VAvatar end />)\n : props.appendIcon ? (<VIcon end />)\n : undefined\n }\n </VDefaultsProvider>\n ) }\n\n { hasClose && (\n <VDefaultsProvider\n key=\"close\"\n defaults={{\n VIcon: {\n icon: props.closeIcon,\n size: 'x-small',\n },\n }}\n >\n <div\n class=\"v-chip__close\"\n aria-label={ t(props.closeLabel) }\n onClick={ onCloseClick }\n >\n { slots.close ? slots.close() : (<VIcon />) }\n </div>\n </VDefaultsProvider>\n ) }\n </Tag>\n )\n }\n },\n})\n\nexport type VChip = InstanceType<typeof VChip>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VChip.mjs","names":["VAvatar","VChipGroupSymbol","VDefaultsProvider","VExpandXTransition","VIcon","genOverlays","makeVariantProps","useVariant","makeBorderProps","useBorder","makeDensityProps","useDensity","makeElevationProps","useElevation","makeGroupItemProps","useGroupItem","makeRoundedProps","useRounded","makeRouterProps","useLink","makeSizeProps","useSize","makeTagProps","makeThemeProps","provideTheme","useProxiedModel","IconValue","useLocale","Ripple","EventProp","genericComponent","computed","VChip","name","directives","props","activeClass","String","appendAvatar","appendIcon","closable","Boolean","closeIcon","type","default","closeLabel","draggable","filter","filterIcon","label","link","undefined","pill","prependAvatar","prependIcon","ripple","text","modelValue","onClick","onClickOnce","tag","variant","emits","e","value","val","click","setup","attrs","emit","slots","t","borderClasses","colorClasses","colorStyles","variantClasses","densityClasses","elevationClasses","roundedClasses","sizeClasses","themeClasses","isActive","group","isLink","isClickable","disabled","onCloseClick","navigate","toggle","onKeyDown","key","preventDefault","Tag","hasAppend","append","hasClose","close","hasFilter","hasPrepend","prepend","hasColor","isSelected","selectedClass","href","icon","image","select","size"],"sources":["../../../src/components/VChip/VChip.tsx"],"sourcesContent":["/* eslint-disable complexity */\n// Styles\nimport './VChip.sass'\n\n// Components\nimport { VAvatar } from '@/components/VAvatar'\nimport { VChipGroupSymbol } from '@/components/VChipGroup/VChipGroup'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VExpandXTransition } from '@/components/transitions'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { IconValue } from '@/composables/icons'\nimport { useLocale } from '@/composables/locale'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { EventProp, genericComponent } from '@/util'\nimport { computed } from 'vue'\n\n// Types\nimport type { MakeSlots } from '@/util'\n\nexport type VChipSlots = MakeSlots<{\n default: []\n label: []\n prepend: []\n append: []\n}>\n\nexport const VChip = genericComponent<VChipSlots>()({\n name: 'VChip',\n\n directives: { Ripple },\n\n props: {\n activeClass: String,\n appendAvatar: String,\n appendIcon: IconValue,\n closable: Boolean,\n closeIcon: {\n type: IconValue,\n default: '$delete',\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n draggable: Boolean,\n filter: Boolean,\n filterIcon: {\n type: String,\n default: '$complete',\n },\n label: Boolean,\n link: {\n type: Boolean,\n default: undefined,\n },\n pill: Boolean,\n prependAvatar: String,\n prependIcon: IconValue,\n ripple: {\n type: Boolean,\n default: true,\n },\n text: String,\n modelValue: {\n type: Boolean,\n default: true,\n },\n\n onClick: EventProp,\n onClickOnce: EventProp,\n\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'span' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'tonal' } as const),\n },\n\n emits: {\n 'click:close': (e: Event) => true,\n 'update:modelValue': (value: boolean) => true,\n 'group:selected': (val: { value: boolean }) => true,\n click: (e: MouseEvent | KeyboardEvent) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const { t } = useLocale()\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n const { densityClasses } = useDensity(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { sizeClasses } = useSize(props)\n const { themeClasses } = provideTheme(props)\n\n const isActive = useProxiedModel(props, 'modelValue')\n const group = useGroupItem(props, VChipGroupSymbol, false)\n const link = useLink(props, attrs)\n const isLink = computed(() => props.link !== false && link.isLink.value)\n const isClickable = computed(() =>\n !props.disabled &&\n props.link !== false &&\n (!!group || props.link || link.isClickable.value)\n )\n\n function onCloseClick (e: Event) {\n isActive.value = false\n\n emit('click:close', e)\n }\n\n function onClick (e: MouseEvent) {\n emit('click', e)\n\n if (!isClickable.value) return\n\n link.navigate?.(e)\n group?.toggle()\n }\n\n function onKeyDown (e: KeyboardEvent) {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n onClick(e as any as MouseEvent)\n }\n }\n\n return () => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasAppend = !!(slots.append || props.appendIcon || props.appendAvatar)\n const hasClose = !!(slots.close || props.closable)\n const hasFilter = !!(slots.filter || props.filter) && group\n const hasPrepend = !!(slots.prepend || props.prependIcon || props.prependAvatar)\n const hasColor = !group || group.isSelected.value\n\n return isActive.value && (\n <Tag\n class={[\n 'v-chip',\n {\n 'v-chip--disabled': props.disabled,\n 'v-chip--label': props.label,\n 'v-chip--link': isClickable.value,\n 'v-chip--filter': hasFilter,\n 'v-chip--pill': props.pill,\n },\n themeClasses.value,\n borderClasses.value,\n hasColor ? colorClasses.value : undefined,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n variantClasses.value,\n group?.selectedClass.value,\n ]}\n style={[\n hasColor ? colorStyles.value : undefined,\n ]}\n disabled={ props.disabled || undefined }\n draggable={ props.draggable }\n href={ link.href.value }\n tabindex={ isClickable.value ? 0 : undefined }\n onClick={ onClick }\n onKeydown={ isClickable.value && !isLink.value && onKeyDown }\n v-ripple={[isClickable.value && props.ripple, null]}\n >\n { genOverlays(isClickable.value, 'v-chip') }\n\n { hasFilter && (\n <VDefaultsProvider\n key=\"filter\"\n defaults={{\n VIcon: { icon: props.filterIcon },\n }}\n >\n <VExpandXTransition>\n <div\n class=\"v-chip__filter\"\n v-show={ group.isSelected.value }\n >\n { slots.filter ? slots.filter() : (<VIcon />) }\n </div>\n </VExpandXTransition>\n </VDefaultsProvider>\n )}\n\n { hasPrepend && (\n <VDefaultsProvider\n key=\"prepend\"\n defaults={{\n VAvatar: {\n image: props.prependAvatar,\n },\n VIcon: {\n icon: props.prependIcon,\n },\n }}\n >\n { slots.prepend\n ? (\n <div class=\"v-chip__prepend\">\n { slots.prepend() }\n </div>\n )\n : props.prependAvatar ? (<VAvatar start />)\n : props.prependIcon ? (<VIcon start />)\n : undefined\n }\n </VDefaultsProvider>\n )}\n\n { slots.default?.({\n isSelected: group?.isSelected.value,\n selectedClass: group?.selectedClass.value,\n select: group?.select,\n toggle: group?.toggle,\n value: group?.value.value,\n disabled: props.disabled,\n }) ?? props.text }\n\n { hasAppend && (\n <VDefaultsProvider\n key=\"append\"\n defaults={{\n VAvatar: {\n image: props.appendAvatar,\n },\n VIcon: {\n icon: props.appendIcon,\n },\n }}\n >\n { slots.append\n ? (\n <div class=\"v-chip__append\">\n { slots.append() }\n </div>\n )\n : props.appendAvatar ? (<VAvatar end />)\n : props.appendIcon ? (<VIcon end />)\n : undefined\n }\n </VDefaultsProvider>\n )}\n\n { hasClose && (\n <VDefaultsProvider\n key=\"close\"\n defaults={{\n VIcon: {\n icon: props.closeIcon,\n size: 'x-small',\n },\n }}\n >\n <div\n class=\"v-chip__close\"\n aria-label={ t(props.closeLabel) }\n onClick={ onCloseClick }\n >\n { slots.close ? slots.close() : (<VIcon />) }\n </div>\n </VDefaultsProvider>\n )}\n </Tag>\n )\n }\n },\n})\n\nexport type VChip = InstanceType<typeof VChip>\n"],"mappings":"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"}
@@ -55,6 +55,12 @@ declare const VChip: vue.DefineComponent<{
55
55
  prepend?: (() => vue.VNodeChild) | undefined;
56
56
  append?: (() => vue.VNodeChild) | undefined;
57
57
  };
58
+ $slots?: {
59
+ default?: (() => vue.VNodeChild) | undefined;
60
+ label?: (() => vue.VNodeChild) | undefined;
61
+ prepend?: (() => vue.VNodeChild) | undefined;
62
+ append?: (() => vue.VNodeChild) | undefined;
63
+ } | undefined;
58
64
  'v-slots'?: {
59
65
  default?: false | (() => vue.VNodeChild) | undefined;
60
66
  label?: false | (() => vue.VNodeChild) | undefined;
@@ -117,6 +123,12 @@ declare const VChip: vue.DefineComponent<{
117
123
  prepend?: (() => vue.VNodeChild) | undefined;
118
124
  append?: (() => vue.VNodeChild) | undefined;
119
125
  };
126
+ $slots?: {
127
+ default?: (() => vue.VNodeChild) | undefined;
128
+ label?: (() => vue.VNodeChild) | undefined;
129
+ prepend?: (() => vue.VNodeChild) | undefined;
130
+ append?: (() => vue.VNodeChild) | undefined;
131
+ } | undefined;
120
132
  'v-slots'?: {
121
133
  default?: false | (() => vue.VNodeChild) | undefined;
122
134
  label?: false | (() => vue.VNodeChild) | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"VChipGroup.mjs","names":["makeGroupProps","useGroup","makeTagProps","makeThemeProps","provideTheme","makeVariantProps","provideDefaults","deepEqual","genericComponent","useRender","toRef","VChipGroupSymbol","Symbol","for","VChipGroup","name","props","column","Boolean","filter","valueComparator","type","Function","default","selectedClass","variant","emits","value","setup","slots","themeClasses","isSelected","select","next","prev","selected","VChip","color","disabled"],"sources":["../../../src/components/VChipGroup/VChipGroup.tsx"],"sourcesContent":["// Styles\nimport './VChipGroup.sass'\n\n// Composables\nimport { makeGroupProps, useGroup } from '@/composables/group'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeVariantProps } from '@/composables/variant'\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utilities\nimport { deepEqual, genericComponent, useRender } from '@/util'\nimport { toRef } from 'vue'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const VChipGroupSymbol = Symbol.for('vuetify:v-chip-group')\n\nexport const VChipGroup = genericComponent()({\n name: 'VChipGroup',\n\n props: {\n column: Boolean,\n filter: Boolean,\n valueComparator: {\n type: Function as PropType<typeof deepEqual>,\n default: deepEqual,\n },\n\n ...makeGroupProps({ selectedClass: 'v-chip--selected' }),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'tonal' } as const),\n },\n\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { isSelected, select, next, prev, selected } = useGroup(props, VChipGroupSymbol)\n\n provideDefaults({\n VChip: {\n color: toRef(props, 'color'),\n disabled: toRef(props, 'disabled'),\n filter: toRef(props, 'filter'),\n variant: toRef(props, 'variant'),\n },\n })\n\n useRender(() => (\n <props.tag\n class={[\n 'v-chip-group',\n {\n 'v-chip-group--column': props.column,\n },\n themeClasses.value,\n ]}\n >\n { slots.default?.({\n isSelected,\n select,\n next,\n prev,\n selected: selected.value,\n }) }\n </props.tag>\n ))\n\n return {}\n },\n})\n\nexport type VChipGroup = InstanceType<typeof VChipGroup>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,cAAc,EAAEC,QAAQ;AAAA,SACxBC,YAAY;AAAA,SACZC,cAAc,EAAEC,YAAY;AAAA,SAC5BC,gBAAgB;AAAA,SAChBC,eAAe,0CAExB;AAAA,SACSC,SAAS,EAAEC,gBAAgB,EAAEC,SAAS;AAC/C,SAASC,KAAK,QAAQ,KAAK;;AAE3B;;AAGA,OAAO,MAAMC,gBAAgB,GAAGC,MAAM,CAACC,GAAG,CAAC,sBAAsB,CAAC;AAElE,OAAO,MAAMC,UAAU,GAAGN,gBAAgB,EAAE,CAAC;EAC3CO,IAAI,EAAE,YAAY;EAElBC,KAAK,EAAE;IACLC,MAAM,EAAEC,OAAO;IACfC,MAAM,EAAED,OAAO;IACfE,eAAe,EAAE;MACfC,IAAI,EAAEC,QAAsC;MAC5CC,OAAO,EAAEhB;IACX,CAAC;IAED,GAAGP,cAAc,CAAC;MAAEwB,aAAa,EAAE;IAAmB,CAAC,CAAC;IACxD,GAAGtB,YAAY,EAAE;IACjB,GAAGC,cAAc,EAAE;IACnB,GAAGE,gBAAgB,CAAC;MAAEoB,OAAO,EAAE;IAAQ,CAAC;EAC1C,CAAC;EAEDC,KAAK,EAAE;IACL,mBAAmB,EAAGC,KAAU,IAAK;EACvC,CAAC;EAEDC,KAAK,CAAEZ,KAAK,QAAa;IAAA,IAAX;MAAEa;IAAM,CAAC;IACrB,MAAM;MAAEC;IAAa,CAAC,GAAG1B,YAAY,CAACY,KAAK,CAAC;IAC5C,MAAM;MAAEe,UAAU;MAAEC,MAAM;MAAEC,IAAI;MAAEC,IAAI;MAAEC;IAAS,CAAC,GAAGlC,QAAQ,CAACe,KAAK,EAAEL,gBAAgB,CAAC;IAEtFL,eAAe,CAAC;MACd8B,KAAK,EAAE;QACLC,KAAK,EAAE3B,KAAK,CAACM,KAAK,EAAE,OAAO,CAAC;QAC5BsB,QAAQ,EAAE5B,KAAK,CAACM,KAAK,EAAE,UAAU,CAAC;QAClCG,MAAM,EAAET,KAAK,CAACM,KAAK,EAAE,QAAQ,CAAC;QAC9BS,OAAO,EAAEf,KAAK,CAACM,KAAK,EAAE,SAAS;MACjC;IACF,CAAC,CAAC;IAEFP,SAAS,CAAC;MAAA,SAEC,CACL,cAAc,EACd;QACE,sBAAsB,EAAEO,KAAK,CAACC;MAChC,CAAC,EACDa,YAAY,CAACH,KAAK;IACnB;MAAA,gBAECE,KAAK,CAACN,OAAO,GAAG;QAChBQ,UAAU;QACVC,MAAM;QACNC,IAAI;QACJC,IAAI;QACJC,QAAQ,EAAEA,QAAQ,CAACR;MACrB,CAAC,CAAC;IAAA,EAEL,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"VChipGroup.mjs","names":["makeGroupProps","useGroup","makeTagProps","makeThemeProps","provideTheme","makeVariantProps","provideDefaults","deepEqual","genericComponent","useRender","toRef","VChipGroupSymbol","Symbol","for","VChipGroup","name","props","column","Boolean","filter","valueComparator","type","Function","default","selectedClass","variant","emits","value","setup","slots","themeClasses","isSelected","select","next","prev","selected","VChip","color","disabled"],"sources":["../../../src/components/VChipGroup/VChipGroup.tsx"],"sourcesContent":["// Styles\nimport './VChipGroup.sass'\n\n// Composables\nimport { makeGroupProps, useGroup } from '@/composables/group'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeVariantProps } from '@/composables/variant'\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utilities\nimport { deepEqual, genericComponent, useRender } from '@/util'\nimport { toRef } from 'vue'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const VChipGroupSymbol = Symbol.for('vuetify:v-chip-group')\n\nexport const VChipGroup = genericComponent()({\n name: 'VChipGroup',\n\n props: {\n column: Boolean,\n filter: Boolean,\n valueComparator: {\n type: Function as PropType<typeof deepEqual>,\n default: deepEqual,\n },\n\n ...makeGroupProps({ selectedClass: 'v-chip--selected' }),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'tonal' } as const),\n },\n\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { isSelected, select, next, prev, selected } = useGroup(props, VChipGroupSymbol)\n\n provideDefaults({\n VChip: {\n color: toRef(props, 'color'),\n disabled: toRef(props, 'disabled'),\n filter: toRef(props, 'filter'),\n variant: toRef(props, 'variant'),\n },\n })\n\n useRender(() => (\n <props.tag\n class={[\n 'v-chip-group',\n {\n 'v-chip-group--column': props.column,\n },\n themeClasses.value,\n ]}\n >\n { slots.default?.({\n isSelected,\n select,\n next,\n prev,\n selected: selected.value,\n })}\n </props.tag>\n ))\n\n return {}\n },\n})\n\nexport type VChipGroup = InstanceType<typeof VChipGroup>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,cAAc,EAAEC,QAAQ;AAAA,SACxBC,YAAY;AAAA,SACZC,cAAc,EAAEC,YAAY;AAAA,SAC5BC,gBAAgB;AAAA,SAChBC,eAAe,0CAExB;AAAA,SACSC,SAAS,EAAEC,gBAAgB,EAAEC,SAAS;AAC/C,SAASC,KAAK,QAAQ,KAAK;;AAE3B;;AAGA,OAAO,MAAMC,gBAAgB,GAAGC,MAAM,CAACC,GAAG,CAAC,sBAAsB,CAAC;AAElE,OAAO,MAAMC,UAAU,GAAGN,gBAAgB,EAAE,CAAC;EAC3CO,IAAI,EAAE,YAAY;EAElBC,KAAK,EAAE;IACLC,MAAM,EAAEC,OAAO;IACfC,MAAM,EAAED,OAAO;IACfE,eAAe,EAAE;MACfC,IAAI,EAAEC,QAAsC;MAC5CC,OAAO,EAAEhB;IACX,CAAC;IAED,GAAGP,cAAc,CAAC;MAAEwB,aAAa,EAAE;IAAmB,CAAC,CAAC;IACxD,GAAGtB,YAAY,EAAE;IACjB,GAAGC,cAAc,EAAE;IACnB,GAAGE,gBAAgB,CAAC;MAAEoB,OAAO,EAAE;IAAQ,CAAC;EAC1C,CAAC;EAEDC,KAAK,EAAE;IACL,mBAAmB,EAAGC,KAAU,IAAK;EACvC,CAAC;EAEDC,KAAK,CAAEZ,KAAK,QAAa;IAAA,IAAX;MAAEa;IAAM,CAAC;IACrB,MAAM;MAAEC;IAAa,CAAC,GAAG1B,YAAY,CAACY,KAAK,CAAC;IAC5C,MAAM;MAAEe,UAAU;MAAEC,MAAM;MAAEC,IAAI;MAAEC,IAAI;MAAEC;IAAS,CAAC,GAAGlC,QAAQ,CAACe,KAAK,EAAEL,gBAAgB,CAAC;IAEtFL,eAAe,CAAC;MACd8B,KAAK,EAAE;QACLC,KAAK,EAAE3B,KAAK,CAACM,KAAK,EAAE,OAAO,CAAC;QAC5BsB,QAAQ,EAAE5B,KAAK,CAACM,KAAK,EAAE,UAAU,CAAC;QAClCG,MAAM,EAAET,KAAK,CAACM,KAAK,EAAE,QAAQ,CAAC;QAC9BS,OAAO,EAAEf,KAAK,CAACM,KAAK,EAAE,SAAS;MACjC;IACF,CAAC,CAAC;IAEFP,SAAS,CAAC;MAAA,SAEC,CACL,cAAc,EACd;QACE,sBAAsB,EAAEO,KAAK,CAACC;MAChC,CAAC,EACDa,YAAY,CAACH,KAAK;IACnB;MAAA,gBAECE,KAAK,CAACN,OAAO,GAAG;QAChBQ,UAAU;QACVC,MAAM;QACNC,IAAI;QACJC,IAAI;QACJC,QAAQ,EAAEA,QAAQ,CAACR;MACrB,CAAC,CAAC;IAAA,EAEL,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
@@ -21,6 +21,9 @@ declare const VChipGroup: vue.DefineComponent<{
21
21
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
22
22
  default?: (() => vue.VNodeChild) | undefined;
23
23
  };
24
+ $slots?: {
25
+ default?: (() => vue.VNodeChild) | undefined;
26
+ } | undefined;
24
27
  'v-slots'?: {
25
28
  default?: false | (() => vue.VNodeChild) | undefined;
26
29
  } | undefined;
@@ -47,6 +50,9 @@ declare const VChipGroup: vue.DefineComponent<{
47
50
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
48
51
  default?: (() => vue.VNodeChild) | undefined;
49
52
  };
53
+ $slots?: {
54
+ default?: (() => vue.VNodeChild) | undefined;
55
+ } | undefined;
50
56
  'v-slots'?: {
51
57
  default?: false | (() => vue.VNodeChild) | undefined;
52
58
  } | undefined;
@@ -6,6 +6,9 @@ declare const VCode: vue.DefineComponent<{
6
6
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
7
7
  default?: (() => vue.VNodeChild) | undefined;
8
8
  };
9
+ $slots?: {
10
+ default?: (() => vue.VNodeChild) | undefined;
11
+ } | undefined;
9
12
  'v-slots'?: {
10
13
  default?: false | (() => vue.VNodeChild) | undefined;
11
14
  } | undefined;
@@ -19,6 +22,9 @@ declare const VCode: vue.DefineComponent<{
19
22
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
20
23
  default?: (() => vue.VNodeChild) | undefined;
21
24
  };
25
+ $slots?: {
26
+ default?: (() => vue.VNodeChild) | undefined;
27
+ } | undefined;
22
28
  'v-slots'?: {
23
29
  default?: false | (() => vue.VNodeChild) | undefined;
24
30
  } | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"VColorPicker.mjs","names":["VColorPickerCanvas","VColorPickerEdit","VColorPickerPreview","VColorPickerSwatches","VSheet","makeElevationProps","makeRoundedProps","makeThemeProps","useProxiedModel","provideDefaults","defineComponent","HSVtoCSS","useRender","extractColor","modes","nullColor","parseColor","onMounted","ref","VColorPicker","name","props","canvasHeight","type","String","Number","default","disabled","Boolean","dotSize","hideCanvas","hideSliders","hideInputs","mode","validator","v","Object","keys","includes","Array","isArray","every","m","showSwatches","swatches","swatchesMaxHeight","modelValue","width","emits","color","setup","lastPickedColor","currentColor","undefined","c","value","h","updateColor","hsva","VSlider","trackColor","trackFillColor","rounded","elevation","theme","a","endsWith"],"sources":["../../../src/components/VColorPicker/VColorPicker.tsx"],"sourcesContent":["// Styles\nimport './VColorPicker.sass'\n\n// Components\nimport { VColorPickerCanvas } from './VColorPickerCanvas'\nimport { VColorPickerEdit } from './VColorPickerEdit'\nimport { VColorPickerPreview } from './VColorPickerPreview'\nimport { VColorPickerSwatches } from './VColorPickerSwatches'\nimport { VSheet } from '@/components/VSheet'\n\n// Composables\nimport { makeElevationProps } from '@/composables/elevation'\nimport { makeRoundedProps } from '@/composables/rounded'\nimport { makeThemeProps } from '@/composables/theme'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utilities\nimport { defineComponent, HSVtoCSS, useRender } from '@/util'\nimport { extractColor, modes, nullColor, parseColor } from './util'\nimport { onMounted, ref } from 'vue'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { HSV } from '@/util'\n\nexport const VColorPicker = defineComponent({\n name: 'VColorPicker',\n\n props: {\n canvasHeight: {\n type: [String, Number],\n default: 150,\n },\n disabled: Boolean,\n dotSize: {\n type: [Number, String],\n default: 10,\n },\n hideCanvas: Boolean,\n hideSliders: Boolean,\n hideInputs: Boolean,\n mode: {\n type: String,\n default: 'rgba',\n validator: (v: string) => Object.keys(modes).includes(v),\n },\n modes: {\n type: Array as PropType<string[]>,\n default: () => Object.keys(modes),\n validator: (v: any) => Array.isArray(v) && v.every(m => Object.keys(modes).includes(m)),\n },\n showSwatches: Boolean,\n swatches: Array as PropType<string[][]>,\n swatchesMaxHeight: {\n type: [Number, String],\n default: 150,\n },\n modelValue: {\n type: [Object, String] as PropType<Record<string, unknown> | string | undefined | null>,\n },\n width: {\n type: [Number, String],\n default: 300,\n },\n\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:modelValue': (color: any) => true,\n 'update:mode': (mode: string) => true,\n },\n\n setup (props) {\n const mode = useProxiedModel(props, 'mode')\n const lastPickedColor = ref<HSV | null>(null)\n const currentColor = useProxiedModel(\n props,\n 'modelValue',\n undefined,\n v => {\n let c = parseColor(v)\n\n if (!c) return null\n\n if (lastPickedColor.value) {\n c = { ...c, h: lastPickedColor.value.h }\n lastPickedColor.value = null\n }\n\n return c\n },\n v => {\n if (!v) return null\n\n return extractColor(v, props.modelValue)\n }\n )\n\n const updateColor = (hsva: HSV) => {\n currentColor.value = hsva\n lastPickedColor.value = hsva\n }\n\n onMounted(() => {\n if (!props.modes.includes(mode.value)) mode.value = props.modes[0]\n })\n\n provideDefaults({\n VSlider: {\n color: undefined,\n trackColor: undefined,\n trackFillColor: undefined,\n },\n })\n\n useRender(() => (\n <VSheet\n rounded={ props.rounded }\n elevation={ props.elevation }\n theme={ props.theme }\n class={[\n 'v-color-picker',\n ]}\n style={{\n '--v-color-picker-color-hsv': HSVtoCSS({ ...(currentColor.value ?? nullColor), a: 1 }),\n }}\n maxWidth={ props.width }\n >\n { !props.hideCanvas && (\n <VColorPickerCanvas\n key=\"canvas\"\n color={ currentColor.value }\n onUpdate:color={ updateColor }\n disabled={ props.disabled }\n dotSize={ props.dotSize }\n width={ props.width }\n height={ props.canvasHeight }\n />\n ) }\n\n { (!props.hideSliders || !props.hideInputs) && (\n <div key=\"controls\" class=\"v-color-picker__controls\">\n { !props.hideSliders && (\n <VColorPickerPreview\n key=\"preview\"\n color={ currentColor.value }\n onUpdate:color={ updateColor }\n hideAlpha={ !mode.value.endsWith('a') }\n disabled={ props.disabled }\n />\n ) }\n\n { !props.hideInputs && (\n <VColorPickerEdit\n key=\"edit\"\n modes={ props.modes }\n mode={ mode.value }\n onUpdate:mode={ m => mode.value = m }\n color={ currentColor.value }\n onUpdate:color={ updateColor }\n disabled={ props.disabled }\n />\n ) }\n </div>\n ) }\n\n { props.showSwatches && (\n <VColorPickerSwatches\n key=\"swatches\"\n color={ currentColor.value }\n onUpdate:color={ updateColor }\n maxHeight={ props.swatchesMaxHeight }\n swatches={ props.swatches }\n disabled={ props.disabled }\n />\n ) }\n </VSheet>\n ))\n\n return {}\n },\n})\n\nexport type VColorPicker = InstanceType<typeof VColorPicker>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VColorPicker.mjs","names":["VColorPickerCanvas","VColorPickerEdit","VColorPickerPreview","VColorPickerSwatches","VSheet","makeElevationProps","makeRoundedProps","makeThemeProps","useProxiedModel","provideDefaults","defineComponent","HSVtoCSS","useRender","extractColor","modes","nullColor","parseColor","onMounted","ref","VColorPicker","name","props","canvasHeight","type","String","Number","default","disabled","Boolean","dotSize","hideCanvas","hideSliders","hideInputs","mode","validator","v","Object","keys","includes","Array","isArray","every","m","showSwatches","swatches","swatchesMaxHeight","modelValue","width","emits","color","setup","lastPickedColor","currentColor","undefined","c","value","h","updateColor","hsva","VSlider","trackColor","trackFillColor","rounded","elevation","theme","a","endsWith"],"sources":["../../../src/components/VColorPicker/VColorPicker.tsx"],"sourcesContent":["// Styles\nimport './VColorPicker.sass'\n\n// Components\nimport { VColorPickerCanvas } from './VColorPickerCanvas'\nimport { VColorPickerEdit } from './VColorPickerEdit'\nimport { VColorPickerPreview } from './VColorPickerPreview'\nimport { VColorPickerSwatches } from './VColorPickerSwatches'\nimport { VSheet } from '@/components/VSheet'\n\n// Composables\nimport { makeElevationProps } from '@/composables/elevation'\nimport { makeRoundedProps } from '@/composables/rounded'\nimport { makeThemeProps } from '@/composables/theme'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utilities\nimport { defineComponent, HSVtoCSS, useRender } from '@/util'\nimport { extractColor, modes, nullColor, parseColor } from './util'\nimport { onMounted, ref } from 'vue'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { HSV } from '@/util'\n\nexport const VColorPicker = defineComponent({\n name: 'VColorPicker',\n\n props: {\n canvasHeight: {\n type: [String, Number],\n default: 150,\n },\n disabled: Boolean,\n dotSize: {\n type: [Number, String],\n default: 10,\n },\n hideCanvas: Boolean,\n hideSliders: Boolean,\n hideInputs: Boolean,\n mode: {\n type: String,\n default: 'rgba',\n validator: (v: string) => Object.keys(modes).includes(v),\n },\n modes: {\n type: Array as PropType<string[]>,\n default: () => Object.keys(modes),\n validator: (v: any) => Array.isArray(v) && v.every(m => Object.keys(modes).includes(m)),\n },\n showSwatches: Boolean,\n swatches: Array as PropType<string[][]>,\n swatchesMaxHeight: {\n type: [Number, String],\n default: 150,\n },\n modelValue: {\n type: [Object, String] as PropType<Record<string, unknown> | string | undefined | null>,\n },\n width: {\n type: [Number, String],\n default: 300,\n },\n\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:modelValue': (color: any) => true,\n 'update:mode': (mode: string) => true,\n },\n\n setup (props) {\n const mode = useProxiedModel(props, 'mode')\n const lastPickedColor = ref<HSV | null>(null)\n const currentColor = useProxiedModel(\n props,\n 'modelValue',\n undefined,\n v => {\n let c = parseColor(v)\n\n if (!c) return null\n\n if (lastPickedColor.value) {\n c = { ...c, h: lastPickedColor.value.h }\n lastPickedColor.value = null\n }\n\n return c\n },\n v => {\n if (!v) return null\n\n return extractColor(v, props.modelValue)\n }\n )\n\n const updateColor = (hsva: HSV) => {\n currentColor.value = hsva\n lastPickedColor.value = hsva\n }\n\n onMounted(() => {\n if (!props.modes.includes(mode.value)) mode.value = props.modes[0]\n })\n\n provideDefaults({\n VSlider: {\n color: undefined,\n trackColor: undefined,\n trackFillColor: undefined,\n },\n })\n\n useRender(() => (\n <VSheet\n rounded={ props.rounded }\n elevation={ props.elevation }\n theme={ props.theme }\n class={[\n 'v-color-picker',\n ]}\n style={{\n '--v-color-picker-color-hsv': HSVtoCSS({ ...(currentColor.value ?? nullColor), a: 1 }),\n }}\n maxWidth={ props.width }\n >\n { !props.hideCanvas && (\n <VColorPickerCanvas\n key=\"canvas\"\n color={ currentColor.value }\n onUpdate:color={ updateColor }\n disabled={ props.disabled }\n dotSize={ props.dotSize }\n width={ props.width }\n height={ props.canvasHeight }\n />\n )}\n\n { (!props.hideSliders || !props.hideInputs) && (\n <div key=\"controls\" class=\"v-color-picker__controls\">\n { !props.hideSliders && (\n <VColorPickerPreview\n key=\"preview\"\n color={ currentColor.value }\n onUpdate:color={ updateColor }\n hideAlpha={ !mode.value.endsWith('a') }\n disabled={ props.disabled }\n />\n )}\n\n { !props.hideInputs && (\n <VColorPickerEdit\n key=\"edit\"\n modes={ props.modes }\n mode={ mode.value }\n onUpdate:mode={ m => mode.value = m }\n color={ currentColor.value }\n onUpdate:color={ updateColor }\n disabled={ props.disabled }\n />\n )}\n </div>\n )}\n\n { props.showSwatches && (\n <VColorPickerSwatches\n key=\"swatches\"\n color={ currentColor.value }\n onUpdate:color={ updateColor }\n maxHeight={ props.swatchesMaxHeight }\n swatches={ props.swatches }\n disabled={ props.disabled }\n />\n )}\n </VSheet>\n ))\n\n return {}\n },\n})\n\nexport type VColorPicker = InstanceType<typeof VColorPicker>\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"VColorPickerEdit.mjs","names":["VBtn","computed","defineComponent","useRender","modes","nullColor","VColorPickerInput","label","rest","VColorPickerEdit","name","props","color","Object","disabled","Boolean","mode","type","String","default","validator","v","keys","includes","Array","isArray","every","m","emits","setup","emit","enabledModes","map","key","inputs","value","find","to","getValue","getColor","inputProps","onChange","e","target","from","length","mi","findIndex"],"sources":["../../../src/components/VColorPicker/VColorPickerEdit.tsx"],"sourcesContent":["// Styles\nimport './VColorPickerEdit.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Utilities\nimport { computed } from 'vue'\nimport { defineComponent, useRender } from '@/util'\nimport { modes, nullColor } from './util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { HSV } from '@/util/colorUtils'\n\nconst VColorPickerInput = ({ label, ...rest }: any) => {\n return (\n <div\n class=\"v-color-picker-edit__input\"\n >\n <input {...rest} />\n <span>{ label }</span>\n </div>\n )\n}\n\nexport const VColorPickerEdit = defineComponent({\n name: 'VColorPickerEdit',\n\n props: {\n color: Object as PropType<HSV | null>,\n disabled: Boolean,\n mode: {\n type: String,\n default: 'rgba',\n validator: (v: string) => Object.keys(modes).includes(v),\n },\n modes: {\n type: Array as PropType<string[]>,\n default: () => Object.keys(modes),\n validator: (v: any) => Array.isArray(v) && v.every(m => Object.keys(modes).includes(m)),\n },\n },\n\n emits: {\n 'update:color': (color: HSV) => true,\n 'update:mode': (mode: string) => true,\n },\n\n setup (props, { emit }) {\n const enabledModes = computed(() => {\n return props.modes.map(key => ({ ...modes[key], name: key }))\n })\n\n const inputs = computed(() => {\n const mode = enabledModes.value.find(m => m.name === props.mode)\n\n if (!mode) return []\n\n const color = props.color ? mode.to(props.color) : null\n\n return mode.inputs?.map(({ getValue, getColor, ...inputProps }) => {\n return {\n ...mode.inputProps,\n ...inputProps,\n disabled: props.disabled,\n value: color && getValue(color),\n onChange: (e: InputEvent) => {\n const target = e.target as HTMLInputElement | null\n\n if (!target) return\n\n emit('update:color', mode.from(getColor(color ?? nullColor, target.value)))\n },\n }\n })\n })\n\n useRender(() => (\n <div\n class=\"v-color-picker-edit\"\n >\n { inputs.value?.map(props => (\n <VColorPickerInput {...props} />\n )) }\n { enabledModes.value.length > 1 && (\n <VBtn\n icon=\"$unfold\"\n size=\"x-small\"\n variant=\"plain\"\n onClick={ () => {\n const mi = enabledModes.value.findIndex(m => m.name === props.mode)\n\n emit('update:mode', enabledModes.value[(mi + 1) % enabledModes.value.length].name)\n } }\n />\n ) }\n </div>\n ))\n\n return {}\n },\n})\n\nexport type VColorPickerEdit = InstanceType<typeof VColorPickerEdit>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VColorPickerEdit.mjs","names":["VBtn","computed","defineComponent","useRender","modes","nullColor","VColorPickerInput","label","rest","VColorPickerEdit","name","props","color","Object","disabled","Boolean","mode","type","String","default","validator","v","keys","includes","Array","isArray","every","m","emits","setup","emit","enabledModes","map","key","inputs","value","find","to","getValue","getColor","inputProps","onChange","e","target","from","length","mi","findIndex"],"sources":["../../../src/components/VColorPicker/VColorPickerEdit.tsx"],"sourcesContent":["// Styles\nimport './VColorPickerEdit.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Utilities\nimport { computed } from 'vue'\nimport { defineComponent, useRender } from '@/util'\nimport { modes, nullColor } from './util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { HSV } from '@/util/colorUtils'\n\nconst VColorPickerInput = ({ label, ...rest }: any) => {\n return (\n <div\n class=\"v-color-picker-edit__input\"\n >\n <input { ...rest } />\n <span>{ label }</span>\n </div>\n )\n}\n\nexport const VColorPickerEdit = defineComponent({\n name: 'VColorPickerEdit',\n\n props: {\n color: Object as PropType<HSV | null>,\n disabled: Boolean,\n mode: {\n type: String,\n default: 'rgba',\n validator: (v: string) => Object.keys(modes).includes(v),\n },\n modes: {\n type: Array as PropType<string[]>,\n default: () => Object.keys(modes),\n validator: (v: any) => Array.isArray(v) && v.every(m => Object.keys(modes).includes(m)),\n },\n },\n\n emits: {\n 'update:color': (color: HSV) => true,\n 'update:mode': (mode: string) => true,\n },\n\n setup (props, { emit }) {\n const enabledModes = computed(() => {\n return props.modes.map(key => ({ ...modes[key], name: key }))\n })\n\n const inputs = computed(() => {\n const mode = enabledModes.value.find(m => m.name === props.mode)\n\n if (!mode) return []\n\n const color = props.color ? mode.to(props.color) : null\n\n return mode.inputs?.map(({ getValue, getColor, ...inputProps }) => {\n return {\n ...mode.inputProps,\n ...inputProps,\n disabled: props.disabled,\n value: color && getValue(color),\n onChange: (e: InputEvent) => {\n const target = e.target as HTMLInputElement | null\n\n if (!target) return\n\n emit('update:color', mode.from(getColor(color ?? nullColor, target.value)))\n },\n }\n })\n })\n\n useRender(() => (\n <div\n class=\"v-color-picker-edit\"\n >\n { inputs.value?.map(props => (\n <VColorPickerInput { ...props } />\n ))}\n { enabledModes.value.length > 1 && (\n <VBtn\n icon=\"$unfold\"\n size=\"x-small\"\n variant=\"plain\"\n onClick={ () => {\n const mi = enabledModes.value.findIndex(m => m.name === props.mode)\n\n emit('update:mode', enabledModes.value[(mi + 1) % enabledModes.value.length].name)\n }}\n />\n )}\n </div>\n ))\n\n return {}\n },\n})\n\nexport type VColorPickerEdit = InstanceType<typeof VColorPickerEdit>\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"VColorPickerPreview.mjs","names":["VSlider","defineComponent","HSVtoCSS","useRender","nullColor","VColorPickerPreview","name","props","color","type","Object","disabled","Boolean","hideAlpha","emits","setup","emit","background","h","a"],"sources":["../../../src/components/VColorPicker/VColorPickerPreview.tsx"],"sourcesContent":["// Styles\nimport './VColorPickerPreview.sass'\n\n// Components\nimport { VSlider } from '@/components/VSlider'\n\n// Utilities\nimport { defineComponent, HSVtoCSS, useRender } from '@/util'\nimport { nullColor } from './util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { HSV } from '@/util'\n\nexport const VColorPickerPreview = defineComponent({\n name: 'VColorPickerPreview',\n\n props: {\n color: {\n type: Object as PropType<HSV | null>,\n },\n disabled: Boolean,\n hideAlpha: Boolean,\n },\n\n emits: {\n 'update:color': (color: HSV) => true,\n },\n\n setup (props, { emit }) {\n useRender(() => (\n <div\n class={[\n 'v-color-picker-preview',\n {\n 'v-color-picker-preview--hide-alpha': props.hideAlpha,\n },\n ]}\n >\n <div class=\"v-color-picker-preview__dot\">\n <div style={{ background: HSVtoCSS(props.color ?? nullColor) }} />\n </div>\n\n <div class=\"v-color-picker-preview__sliders\">\n <VSlider\n class=\"v-color-picker-preview__track v-color-picker-preview__hue\"\n modelValue={ props.color?.h }\n onUpdate:modelValue={ h => emit('update:color', { ...(props.color ?? nullColor), h }) }\n step={ 0 }\n min={ 0 }\n max={ 360 }\n disabled={ props.disabled }\n thumbSize={ 14 }\n trackSize={ 8 }\n trackFillColor=\"white\"\n hideDetails\n />\n\n { !props.hideAlpha && (\n <VSlider\n class=\"v-color-picker-preview__track v-color-picker-preview__alpha\"\n modelValue={ props.color?.a ?? 1 }\n onUpdate:modelValue={ a => emit('update:color', { ...(props.color ?? nullColor), a }) }\n step={ 1 / 256 }\n min={ 0 }\n max={ 1 }\n disabled={ props.disabled }\n thumbSize={ 14 }\n trackSize={ 8 }\n trackFillColor=\"white\"\n hideDetails\n />\n ) }\n </div>\n </div>\n ))\n\n return {}\n },\n})\n\nexport type VColorPickerPreview = InstanceType<typeof VColorPickerPreview>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,OAAO,gCAEhB;AAAA,SACSC,eAAe,EAAEC,QAAQ,EAAEC,SAAS;AAAA,SACpCC,SAAS,4BAElB;AAIA,OAAO,MAAMC,mBAAmB,GAAGJ,eAAe,CAAC;EACjDK,IAAI,EAAE,qBAAqB;EAE3BC,KAAK,EAAE;IACLC,KAAK,EAAE;MACLC,IAAI,EAAEC;IACR,CAAC;IACDC,QAAQ,EAAEC,OAAO;IACjBC,SAAS,EAAED;EACb,CAAC;EAEDE,KAAK,EAAE;IACL,cAAc,EAAGN,KAAU,IAAK;EAClC,CAAC;EAEDO,KAAK,CAAER,KAAK,QAAY;IAAA,IAAV;MAAES;IAAK,CAAC;IACpBb,SAAS,CAAC;MAAA,SAEC,CACL,wBAAwB,EACxB;QACE,oCAAoC,EAAEI,KAAK,CAACM;MAC9C,CAAC;IACF;MAAA,SAEU;IAA6B;MAAA,SAC1B;QAAEI,UAAU,EAAEf,QAAQ,CAACK,KAAK,CAACC,KAAK,IAAIJ,SAAS;MAAE;IAAC;MAAA,SAGrD;IAAiC;MAAA,SAElC,2DAA2D;MAAA,cACpDG,KAAK,CAACC,KAAK,EAAEU,CAAC;MAAA,uBACLA,CAAC,IAAIF,IAAI,CAAC,cAAc,EAAE;QAAE,IAAIT,KAAK,CAACC,KAAK,IAAIJ,SAAS,CAAC;QAAEc;MAAE,CAAC,CAAC;MAAA,QAC9E,CAAC;MAAA,OACF,CAAC;MAAA,OACD,GAAG;MAAA,YACEX,KAAK,CAACI,QAAQ;MAAA,aACb,EAAE;MAAA,aACF,CAAC;MAAA,kBACE,OAAO;MAAA;IAAA,UAItB,CAACJ,KAAK,CAACM,SAAS;MAAA,SAER,6DAA6D;MAAA,cACtDN,KAAK,CAACC,KAAK,EAAEW,CAAC,IAAI,CAAC;MAAA,uBACVA,CAAC,IAAIH,IAAI,CAAC,cAAc,EAAE;QAAE,IAAIT,KAAK,CAACC,KAAK,IAAIJ,SAAS,CAAC;QAAEe;MAAE,CAAC,CAAC;MAAA,QAC9E,CAAC,GAAG,GAAG;MAAA,OACR,CAAC;MAAA,OACD,CAAC;MAAA,YACIZ,KAAK,CAACI,QAAQ;MAAA,aACb,EAAE;MAAA,aACF,CAAC;MAAA,kBACE,OAAO;MAAA;IAAA,QAGzB,IAGN,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"VColorPickerPreview.mjs","names":["VSlider","defineComponent","HSVtoCSS","useRender","nullColor","VColorPickerPreview","name","props","color","type","Object","disabled","Boolean","hideAlpha","emits","setup","emit","background","h","a"],"sources":["../../../src/components/VColorPicker/VColorPickerPreview.tsx"],"sourcesContent":["// Styles\nimport './VColorPickerPreview.sass'\n\n// Components\nimport { VSlider } from '@/components/VSlider'\n\n// Utilities\nimport { defineComponent, HSVtoCSS, useRender } from '@/util'\nimport { nullColor } from './util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { HSV } from '@/util'\n\nexport const VColorPickerPreview = defineComponent({\n name: 'VColorPickerPreview',\n\n props: {\n color: {\n type: Object as PropType<HSV | null>,\n },\n disabled: Boolean,\n hideAlpha: Boolean,\n },\n\n emits: {\n 'update:color': (color: HSV) => true,\n },\n\n setup (props, { emit }) {\n useRender(() => (\n <div\n class={[\n 'v-color-picker-preview',\n {\n 'v-color-picker-preview--hide-alpha': props.hideAlpha,\n },\n ]}\n >\n <div class=\"v-color-picker-preview__dot\">\n <div style={{ background: HSVtoCSS(props.color ?? nullColor) }} />\n </div>\n\n <div class=\"v-color-picker-preview__sliders\">\n <VSlider\n class=\"v-color-picker-preview__track v-color-picker-preview__hue\"\n modelValue={ props.color?.h }\n onUpdate:modelValue={ h => emit('update:color', { ...(props.color ?? nullColor), h }) }\n step={ 0 }\n min={ 0 }\n max={ 360 }\n disabled={ props.disabled }\n thumbSize={ 14 }\n trackSize={ 8 }\n trackFillColor=\"white\"\n hideDetails\n />\n\n { !props.hideAlpha && (\n <VSlider\n class=\"v-color-picker-preview__track v-color-picker-preview__alpha\"\n modelValue={ props.color?.a ?? 1 }\n onUpdate:modelValue={ a => emit('update:color', { ...(props.color ?? nullColor), a }) }\n step={ 1 / 256 }\n min={ 0 }\n max={ 1 }\n disabled={ props.disabled }\n thumbSize={ 14 }\n trackSize={ 8 }\n trackFillColor=\"white\"\n hideDetails\n />\n )}\n </div>\n </div>\n ))\n\n return {}\n },\n})\n\nexport type VColorPickerPreview = InstanceType<typeof VColorPickerPreview>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,OAAO,gCAEhB;AAAA,SACSC,eAAe,EAAEC,QAAQ,EAAEC,SAAS;AAAA,SACpCC,SAAS,4BAElB;AAIA,OAAO,MAAMC,mBAAmB,GAAGJ,eAAe,CAAC;EACjDK,IAAI,EAAE,qBAAqB;EAE3BC,KAAK,EAAE;IACLC,KAAK,EAAE;MACLC,IAAI,EAAEC;IACR,CAAC;IACDC,QAAQ,EAAEC,OAAO;IACjBC,SAAS,EAAED;EACb,CAAC;EAEDE,KAAK,EAAE;IACL,cAAc,EAAGN,KAAU,IAAK;EAClC,CAAC;EAEDO,KAAK,CAAER,KAAK,QAAY;IAAA,IAAV;MAAES;IAAK,CAAC;IACpBb,SAAS,CAAC;MAAA,SAEC,CACL,wBAAwB,EACxB;QACE,oCAAoC,EAAEI,KAAK,CAACM;MAC9C,CAAC;IACF;MAAA,SAEU;IAA6B;MAAA,SAC1B;QAAEI,UAAU,EAAEf,QAAQ,CAACK,KAAK,CAACC,KAAK,IAAIJ,SAAS;MAAE;IAAC;MAAA,SAGrD;IAAiC;MAAA,SAElC,2DAA2D;MAAA,cACpDG,KAAK,CAACC,KAAK,EAAEU,CAAC;MAAA,uBACLA,CAAC,IAAIF,IAAI,CAAC,cAAc,EAAE;QAAE,IAAIT,KAAK,CAACC,KAAK,IAAIJ,SAAS,CAAC;QAAEc;MAAE,CAAC,CAAC;MAAA,QAC9E,CAAC;MAAA,OACF,CAAC;MAAA,OACD,GAAG;MAAA,YACEX,KAAK,CAACI,QAAQ;MAAA,aACb,EAAE;MAAA,aACF,CAAC;MAAA,kBACE,OAAO;MAAA;IAAA,UAItB,CAACJ,KAAK,CAACM,SAAS;MAAA,SAER,6DAA6D;MAAA,cACtDN,KAAK,CAACC,KAAK,EAAEW,CAAC,IAAI,CAAC;MAAA,uBACVA,CAAC,IAAIH,IAAI,CAAC,cAAc,EAAE;QAAE,IAAIT,KAAK,CAACC,KAAK,IAAIJ,SAAS,CAAC;QAAEe;MAAE,CAAC,CAAC;MAAA,QAC9E,CAAC,GAAG,GAAG;MAAA,OACR,CAAC;MAAA,OACD,CAAC;MAAA,YACIZ,KAAK,CAACI,QAAQ;MAAA,aACb,EAAE;MAAA,aACF,CAAC;MAAA,kBACE,OAAO;MAAA;IAAA,QAGzB,IAGN,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"VColorPickerSwatches.mjs","names":["VIcon","convertToUnit","deepEqual","defineComponent","getContrast","useRender","parseColor","colors","parseDefaultColors","Object","keys","map","key","color","base","darken4","darken3","darken2","darken1","lighten1","lighten2","lighten3","lighten4","lighten5","black","white","transparent","VColorPickerSwatches","name","props","swatches","type","Array","default","disabled","Boolean","maxHeight","Number","String","emits","setup","emit","swatch","hsva","background","undefined"],"sources":["../../../src/components/VColorPicker/VColorPickerSwatches.tsx"],"sourcesContent":["// Styles\nimport './VColorPickerSwatches.sass'\n\n// Components\nimport { VIcon } from '@/components/VIcon'\n\n// Utilities\nimport { convertToUnit, deepEqual, defineComponent, getContrast, useRender } from '@/util'\nimport { parseColor } from './util'\nimport colors from '@/util/colors'\n\n// Types\nimport type { HSV } from '@/util'\nimport type { PropType } from 'vue'\n\nfunction parseDefaultColors (colors: Record<string, Record<string, string>>) {\n return Object.keys(colors).map(key => {\n const color = colors[key]\n return color.base ? [\n color.base,\n color.darken4,\n color.darken3,\n color.darken2,\n color.darken1,\n color.lighten1,\n color.lighten2,\n color.lighten3,\n color.lighten4,\n color.lighten5,\n ] : [\n color.black,\n color.white,\n color.transparent,\n ]\n })\n}\n\nexport const VColorPickerSwatches = defineComponent({\n name: 'VColorPickerSwatches',\n\n props: {\n swatches: {\n type: Array as PropType<string[][]>,\n default: () => parseDefaultColors(colors),\n },\n disabled: Boolean,\n color: Object as PropType<HSV | null>,\n maxHeight: [Number, String],\n },\n\n emits: {\n 'update:color': (color: HSV) => true,\n },\n\n setup (props, { emit }) {\n useRender(() => (\n <div\n class=\"v-color-picker-swatches\"\n style={{\n maxHeight: convertToUnit(props.maxHeight),\n }}\n >\n <div>\n { props.swatches.map(swatch => (\n <div class=\"v-color-picker-swatches__swatch\">\n { swatch.map(color => {\n const hsva = parseColor(color)\n\n return (\n <div\n class=\"v-color-picker-swatches__color\"\n onClick={() => hsva && emit('update:color', hsva)}\n >\n <div style={{ background: color }}>\n { props.color && deepEqual(props.color, hsva)\n ? <VIcon size=\"x-small\" icon=\"$success\" color={getContrast(color, '#FFFFFF') > 2 ? 'white' : 'black' } />\n : undefined\n }\n </div>\n </div>\n )\n }) }\n </div>\n ))}\n </div>\n </div>\n ))\n\n return {}\n },\n})\n\nexport type VColorPickerSwatches = InstanceType<typeof VColorPickerSwatches>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,KAAK,8BAEd;AAAA,SACSC,aAAa,EAAEC,SAAS,EAAEC,eAAe,EAAEC,WAAW,EAAEC,SAAS;AAAA,SACjEC,UAAU;AAAA,OACZC,MAAM,+BAEb;AAIA,SAASC,kBAAkB,CAAED,MAA8C,EAAE;EAC3E,OAAOE,MAAM,CAACC,IAAI,CAACH,MAAM,CAAC,CAACI,GAAG,CAACC,GAAG,IAAI;IACpC,MAAMC,KAAK,GAAGN,MAAM,CAACK,GAAG,CAAC;IACzB,OAAOC,KAAK,CAACC,IAAI,GAAG,CAClBD,KAAK,CAACC,IAAI,EACVD,KAAK,CAACE,OAAO,EACbF,KAAK,CAACG,OAAO,EACbH,KAAK,CAACI,OAAO,EACbJ,KAAK,CAACK,OAAO,EACbL,KAAK,CAACM,QAAQ,EACdN,KAAK,CAACO,QAAQ,EACdP,KAAK,CAACQ,QAAQ,EACdR,KAAK,CAACS,QAAQ,EACdT,KAAK,CAACU,QAAQ,CACf,GAAG,CACFV,KAAK,CAACW,KAAK,EACXX,KAAK,CAACY,KAAK,EACXZ,KAAK,CAACa,WAAW,CAClB;EACH,CAAC,CAAC;AACJ;AAEA,OAAO,MAAMC,oBAAoB,GAAGxB,eAAe,CAAC;EAClDyB,IAAI,EAAE,sBAAsB;EAE5BC,KAAK,EAAE;IACLC,QAAQ,EAAE;MACRC,IAAI,EAAEC,KAA6B;MACnCC,OAAO,EAAE,MAAMzB,kBAAkB,CAACD,MAAM;IAC1C,CAAC;IACD2B,QAAQ,EAAEC,OAAO;IACjBtB,KAAK,EAAEJ,MAA8B;IACrC2B,SAAS,EAAE,CAACC,MAAM,EAAEC,MAAM;EAC5B,CAAC;EAEDC,KAAK,EAAE;IACL,cAAc,EAAG1B,KAAU,IAAK;EAClC,CAAC;EAED2B,KAAK,CAAEX,KAAK,QAAY;IAAA,IAAV;MAAEY;IAAK,CAAC;IACpBpC,SAAS,CAAC;MAAA,SAEA,yBAAyB;MAAA,SACxB;QACL+B,SAAS,EAAEnC,aAAa,CAAC4B,KAAK,CAACO,SAAS;MAC1C;IAAC,+BAGGP,KAAK,CAACC,QAAQ,CAACnB,GAAG,CAAC+B,MAAM;MAAA,SACd;IAAiC,IACxCA,MAAM,CAAC/B,GAAG,CAACE,KAAK,IAAI;MACpB,MAAM8B,IAAI,GAAGrC,UAAU,CAACO,KAAK,CAAC;MAE9B;QAAA,SAEU,gCAAgC;QAAA,WAC7B,MAAM8B,IAAI,IAAIF,IAAI,CAAC,cAAc,EAAEE,IAAI;MAAC;QAAA,SAErC;UAAEC,UAAU,EAAE/B;QAAM;MAAC,IAC7BgB,KAAK,CAAChB,KAAK,IAAIX,SAAS,CAAC2B,KAAK,CAAChB,KAAK,EAAE8B,IAAI,CAAC;QAAA,QAC7B,SAAS;QAAA,QAAM,UAAU;QAAA,SAAQvC,WAAW,CAACS,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG,OAAO,GAAG;MAAO,WAClGgC,SAAS;IAKrB,CAAC,CAAC,EAEL,CAAC,IAGP,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"VColorPickerSwatches.mjs","names":["VIcon","convertToUnit","deepEqual","defineComponent","getContrast","useRender","parseColor","colors","parseDefaultColors","Object","keys","map","key","color","base","darken4","darken3","darken2","darken1","lighten1","lighten2","lighten3","lighten4","lighten5","black","white","transparent","VColorPickerSwatches","name","props","swatches","type","Array","default","disabled","Boolean","maxHeight","Number","String","emits","setup","emit","swatch","hsva","background","undefined"],"sources":["../../../src/components/VColorPicker/VColorPickerSwatches.tsx"],"sourcesContent":["// Styles\nimport './VColorPickerSwatches.sass'\n\n// Components\nimport { VIcon } from '@/components/VIcon'\n\n// Utilities\nimport { convertToUnit, deepEqual, defineComponent, getContrast, useRender } from '@/util'\nimport { parseColor } from './util'\nimport colors from '@/util/colors'\n\n// Types\nimport type { HSV } from '@/util'\nimport type { PropType } from 'vue'\n\nfunction parseDefaultColors (colors: Record<string, Record<string, string>>) {\n return Object.keys(colors).map(key => {\n const color = colors[key]\n return color.base ? [\n color.base,\n color.darken4,\n color.darken3,\n color.darken2,\n color.darken1,\n color.lighten1,\n color.lighten2,\n color.lighten3,\n color.lighten4,\n color.lighten5,\n ] : [\n color.black,\n color.white,\n color.transparent,\n ]\n })\n}\n\nexport const VColorPickerSwatches = defineComponent({\n name: 'VColorPickerSwatches',\n\n props: {\n swatches: {\n type: Array as PropType<string[][]>,\n default: () => parseDefaultColors(colors),\n },\n disabled: Boolean,\n color: Object as PropType<HSV | null>,\n maxHeight: [Number, String],\n },\n\n emits: {\n 'update:color': (color: HSV) => true,\n },\n\n setup (props, { emit }) {\n useRender(() => (\n <div\n class=\"v-color-picker-swatches\"\n style={{\n maxHeight: convertToUnit(props.maxHeight),\n }}\n >\n <div>\n { props.swatches.map(swatch => (\n <div class=\"v-color-picker-swatches__swatch\">\n { swatch.map(color => {\n const hsva = parseColor(color)\n\n return (\n <div\n class=\"v-color-picker-swatches__color\"\n onClick={ () => hsva && emit('update:color', hsva) }\n >\n <div style={{ background: color }}>\n { props.color && deepEqual(props.color, hsva)\n ? <VIcon size=\"x-small\" icon=\"$success\" color={ getContrast(color, '#FFFFFF') > 2 ? 'white' : 'black' } />\n : undefined\n }\n </div>\n </div>\n )\n })}\n </div>\n ))}\n </div>\n </div>\n ))\n\n return {}\n },\n})\n\nexport type VColorPickerSwatches = InstanceType<typeof VColorPickerSwatches>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,KAAK,8BAEd;AAAA,SACSC,aAAa,EAAEC,SAAS,EAAEC,eAAe,EAAEC,WAAW,EAAEC,SAAS;AAAA,SACjEC,UAAU;AAAA,OACZC,MAAM,+BAEb;AAIA,SAASC,kBAAkB,CAAED,MAA8C,EAAE;EAC3E,OAAOE,MAAM,CAACC,IAAI,CAACH,MAAM,CAAC,CAACI,GAAG,CAACC,GAAG,IAAI;IACpC,MAAMC,KAAK,GAAGN,MAAM,CAACK,GAAG,CAAC;IACzB,OAAOC,KAAK,CAACC,IAAI,GAAG,CAClBD,KAAK,CAACC,IAAI,EACVD,KAAK,CAACE,OAAO,EACbF,KAAK,CAACG,OAAO,EACbH,KAAK,CAACI,OAAO,EACbJ,KAAK,CAACK,OAAO,EACbL,KAAK,CAACM,QAAQ,EACdN,KAAK,CAACO,QAAQ,EACdP,KAAK,CAACQ,QAAQ,EACdR,KAAK,CAACS,QAAQ,EACdT,KAAK,CAACU,QAAQ,CACf,GAAG,CACFV,KAAK,CAACW,KAAK,EACXX,KAAK,CAACY,KAAK,EACXZ,KAAK,CAACa,WAAW,CAClB;EACH,CAAC,CAAC;AACJ;AAEA,OAAO,MAAMC,oBAAoB,GAAGxB,eAAe,CAAC;EAClDyB,IAAI,EAAE,sBAAsB;EAE5BC,KAAK,EAAE;IACLC,QAAQ,EAAE;MACRC,IAAI,EAAEC,KAA6B;MACnCC,OAAO,EAAE,MAAMzB,kBAAkB,CAACD,MAAM;IAC1C,CAAC;IACD2B,QAAQ,EAAEC,OAAO;IACjBtB,KAAK,EAAEJ,MAA8B;IACrC2B,SAAS,EAAE,CAACC,MAAM,EAAEC,MAAM;EAC5B,CAAC;EAEDC,KAAK,EAAE;IACL,cAAc,EAAG1B,KAAU,IAAK;EAClC,CAAC;EAED2B,KAAK,CAAEX,KAAK,QAAY;IAAA,IAAV;MAAEY;IAAK,CAAC;IACpBpC,SAAS,CAAC;MAAA,SAEA,yBAAyB;MAAA,SACxB;QACL+B,SAAS,EAAEnC,aAAa,CAAC4B,KAAK,CAACO,SAAS;MAC1C;IAAC,+BAGGP,KAAK,CAACC,QAAQ,CAACnB,GAAG,CAAC+B,MAAM;MAAA,SACd;IAAiC,IACxCA,MAAM,CAAC/B,GAAG,CAACE,KAAK,IAAI;MACpB,MAAM8B,IAAI,GAAGrC,UAAU,CAACO,KAAK,CAAC;MAE9B;QAAA,SAEU,gCAAgC;QAAA,WAC5B,MAAM8B,IAAI,IAAIF,IAAI,CAAC,cAAc,EAAEE,IAAI;MAAC;QAAA,SAEtC;UAAEC,UAAU,EAAE/B;QAAM;MAAC,IAC7BgB,KAAK,CAAChB,KAAK,IAAIX,SAAS,CAAC2B,KAAK,CAAChB,KAAK,EAAE8B,IAAI,CAAC;QAAA,QAC7B,SAAS;QAAA,QAAM,UAAU;QAAA,SAASvC,WAAW,CAACS,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG,OAAO,GAAG;MAAO,WACnGgC,SAAS;IAKrB,CAAC,CAAC,EAEL,CAAC,IAGP,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}