vuetify 3.3.12 → 3.4.0-alpha.0

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 (267) hide show
  1. package/dist/json/attributes.json +152 -16
  2. package/dist/json/importMap.json +4 -4
  3. package/dist/json/tags.json +34 -0
  4. package/dist/json/web-types.json +462 -48
  5. package/dist/vuetify-labs.css +1718 -606
  6. package/dist/vuetify-labs.d.ts +880 -276
  7. package/dist/vuetify-labs.esm.js +373 -189
  8. package/dist/vuetify-labs.esm.js.map +1 -1
  9. package/dist/vuetify-labs.js +372 -188
  10. package/dist/vuetify-labs.min.css +2 -2
  11. package/dist/vuetify.css +1591 -479
  12. package/dist/vuetify.d.ts +865 -267
  13. package/dist/vuetify.esm.js +373 -189
  14. package/dist/vuetify.esm.js.map +1 -1
  15. package/dist/vuetify.js +372 -188
  16. package/dist/vuetify.js.map +1 -1
  17. package/dist/vuetify.min.css +2 -2
  18. package/dist/vuetify.min.js +920 -905
  19. package/dist/vuetify.min.js.map +1 -1
  20. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  21. package/lib/components/VAppBar/index.d.mts +6 -6
  22. package/lib/components/VAutocomplete/VAutocomplete.mjs +6 -2
  23. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  24. package/lib/components/VAutocomplete/index.d.mts +62 -14
  25. package/lib/components/VAvatar/VAvatar.mjs +2 -1
  26. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  27. package/lib/components/VAvatar/index.d.mts +6 -0
  28. package/lib/components/VBanner/VBanner.mjs +5 -3
  29. package/lib/components/VBanner/VBanner.mjs.map +1 -1
  30. package/lib/components/VBanner/index.d.mts +10 -0
  31. package/lib/components/VBottomNavigation/VBottomNavigation.css +1 -0
  32. package/lib/components/VBottomNavigation/VBottomNavigation.sass +1 -0
  33. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +9 -4
  34. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
  35. package/lib/components/VBreadcrumbs/index.d.mts +28 -2
  36. package/lib/components/VBtn/VBtn.css +3 -0
  37. package/lib/components/VBtn/VBtn.sass +3 -0
  38. package/lib/components/VCarousel/index.d.mts +26 -0
  39. package/lib/components/VCheckbox/VCheckbox.mjs +2 -2
  40. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  41. package/lib/components/VCheckbox/VCheckboxBtn.mjs +14 -11
  42. package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
  43. package/lib/components/VCheckbox/index.d.mts +15 -1
  44. package/lib/components/VColorPicker/VColorPickerEdit.css +4 -2
  45. package/lib/components/VColorPicker/VColorPickerPreview.css +16 -6
  46. package/lib/components/VColorPicker/VColorPickerPreview.mjs +28 -2
  47. package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
  48. package/lib/components/VColorPicker/VColorPickerPreview.sass +4 -0
  49. package/lib/components/VColorPicker/_variables.scss +1 -0
  50. package/lib/components/VCombobox/VCombobox.mjs +6 -2
  51. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  52. package/lib/components/VCombobox/index.d.mts +62 -14
  53. package/lib/components/VDialog/index.d.mts +41 -20
  54. package/lib/components/VField/VField.css +11 -6
  55. package/lib/components/VField/VField.mjs +5 -3
  56. package/lib/components/VField/VField.mjs.map +1 -1
  57. package/lib/components/VField/VField.sass +1 -0
  58. package/lib/components/VField/index.d.mts +4 -4
  59. package/lib/components/VFileInput/VFileInput.css +4 -0
  60. package/lib/components/VFileInput/VFileInput.sass +5 -1
  61. package/lib/components/VFileInput/_variables.scss +2 -1
  62. package/lib/components/VFileInput/index.d.mts +4 -4
  63. package/lib/components/VGrid/VGrid.css +153 -142
  64. package/lib/components/VImg/VImg.mjs +13 -1
  65. package/lib/components/VImg/VImg.mjs.map +1 -1
  66. package/lib/components/VImg/index.d.mts +26 -0
  67. package/lib/components/VList/VList.css +1 -1
  68. package/lib/components/VList/VList.sass +1 -1
  69. package/lib/components/VList/VListItem.css +15 -10
  70. package/lib/components/VList/VListItem.mjs +6 -3
  71. package/lib/components/VList/VListItem.mjs.map +1 -1
  72. package/lib/components/VList/VListItem.sass +17 -10
  73. package/lib/components/VList/index.d.mts +12 -12
  74. package/lib/components/VMenu/VMenu.mjs +4 -3
  75. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  76. package/lib/components/VMenu/index.d.mts +46 -25
  77. package/lib/components/VNavigationDrawer/VNavigationDrawer.css +0 -1
  78. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +5 -3
  79. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  80. package/lib/components/VNavigationDrawer/VNavigationDrawer.sass +0 -1
  81. package/lib/components/VNavigationDrawer/_variables.scss +0 -1
  82. package/lib/components/VNavigationDrawer/index.d.mts +10 -0
  83. package/lib/components/VOverlay/VOverlay.mjs +9 -4
  84. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  85. package/lib/components/VOverlay/index.d.mts +17 -8
  86. package/lib/components/VOverlay/locationStrategies.mjs +9 -9
  87. package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
  88. package/lib/components/VOverlay/scrollStrategies.mjs +3 -3
  89. package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
  90. package/lib/components/VOverlay/useActivator.mjs +50 -21
  91. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  92. package/lib/components/VProgressLinear/VProgressLinear.css +3 -2
  93. package/lib/components/VRadio/index.d.mts +9 -1
  94. package/lib/components/VRadioGroup/VRadioGroup.css +6 -1
  95. package/lib/components/VRadioGroup/VRadioGroup.mjs +2 -2
  96. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  97. package/lib/components/VRadioGroup/VRadioGroup.sass +5 -0
  98. package/lib/components/VRadioGroup/_variables.scss +3 -1
  99. package/lib/components/VRadioGroup/index.d.mts +3 -1
  100. package/lib/components/VRangeSlider/VRangeSlider.mjs +4 -2
  101. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  102. package/lib/components/VRangeSlider/index.d.mts +128 -33
  103. package/lib/components/VSelect/VSelect.mjs +14 -2
  104. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  105. package/lib/components/VSelect/index.d.mts +62 -14
  106. package/lib/components/VSelectionControl/VSelectionControl.mjs +27 -21
  107. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  108. package/lib/components/VSelectionControl/index.d.mts +33 -25
  109. package/lib/components/VSlideGroup/VSlideGroup.mjs +5 -3
  110. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  111. package/lib/components/VSlideGroup/index.d.mts +10 -0
  112. package/lib/components/VSlider/VSlider.mjs +2 -1
  113. package/lib/components/VSlider/VSlider.mjs.map +1 -1
  114. package/lib/components/VSlider/VSliderThumb.css +8 -4
  115. package/lib/components/VSlider/VSliderTrack.css +22 -12
  116. package/lib/components/VSlider/index.d.mts +128 -33
  117. package/lib/components/VSlider/slider.mjs +5 -1
  118. package/lib/components/VSlider/slider.mjs.map +1 -1
  119. package/lib/components/VSnackbar/index.d.mts +41 -20
  120. package/lib/components/VSwitch/VSwitch.css +24 -17
  121. package/lib/components/VSwitch/VSwitch.mjs +37 -28
  122. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  123. package/lib/components/VSwitch/VSwitch.sass +20 -11
  124. package/lib/components/VSwitch/_variables.scss +18 -6
  125. package/lib/components/VSwitch/index.d.mts +9 -1
  126. package/lib/components/VTabs/index.d.mts +10 -0
  127. package/lib/components/VTextField/VTextField.css +9 -2
  128. package/lib/components/VTextField/VTextField.mjs +6 -3
  129. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  130. package/lib/components/VTextField/VTextField.sass +10 -3
  131. package/lib/components/VTextField/index.d.mts +22 -16
  132. package/lib/components/VTextarea/VTextarea.mjs +1 -2
  133. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  134. package/lib/components/VTextarea/index.d.mts +4 -4
  135. package/lib/components/VTimeline/VTimeline.css +21 -11
  136. package/lib/components/VTimeline/VTimeline.sass +6 -1
  137. package/lib/components/VToolbar/VToolbar.css +4 -2
  138. package/lib/components/VTooltip/index.d.mts +41 -20
  139. package/lib/components/index.d.mts +836 -265
  140. package/lib/components/transitions/dialog-transition.mjs +4 -3
  141. package/lib/components/transitions/dialog-transition.mjs.map +1 -1
  142. package/lib/components/transitions/index.d.mts +6 -6
  143. package/lib/composables/defaults.mjs +9 -9
  144. package/lib/composables/defaults.mjs.map +1 -1
  145. package/lib/composables/directiveComponent.mjs +69 -0
  146. package/lib/composables/directiveComponent.mjs.map +1 -0
  147. package/lib/composables/display.mjs +23 -3
  148. package/lib/composables/display.mjs.map +1 -1
  149. package/lib/composables/theme.mjs +7 -7
  150. package/lib/composables/theme.mjs.map +1 -1
  151. package/lib/entry-bundler.mjs +1 -1
  152. package/lib/entry-bundler.mjs.map +1 -1
  153. package/lib/framework.mjs +1 -1
  154. package/lib/framework.mjs.map +1 -1
  155. package/lib/iconsets/fa.mjs +2 -1
  156. package/lib/iconsets/fa.mjs.map +1 -1
  157. package/lib/iconsets/fa4.mjs +2 -1
  158. package/lib/iconsets/fa4.mjs.map +1 -1
  159. package/lib/iconsets/md.mjs +2 -1
  160. package/lib/iconsets/md.mjs.map +1 -1
  161. package/lib/iconsets/mdi-svg.mjs +2 -1
  162. package/lib/iconsets/mdi-svg.mjs.map +1 -1
  163. package/lib/iconsets/mdi.mjs +2 -1
  164. package/lib/iconsets/mdi.mjs.map +1 -1
  165. package/lib/index.d.mts +33 -2
  166. package/lib/labs/VBottomSheet/index.d.mts +14 -8
  167. package/lib/labs/VDateInput/index.d.mts +10 -4
  168. package/lib/labs/VDatePicker/VDatePickerControls.css +1 -1
  169. package/lib/labs/VOtpInput/index.d.mts +4 -4
  170. package/lib/labs/components.d.mts +18 -12
  171. package/lib/locale/af.mjs +1 -0
  172. package/lib/locale/af.mjs.map +1 -1
  173. package/lib/locale/ar.mjs +1 -0
  174. package/lib/locale/ar.mjs.map +1 -1
  175. package/lib/locale/az.mjs +1 -0
  176. package/lib/locale/az.mjs.map +1 -1
  177. package/lib/locale/bg.mjs +1 -0
  178. package/lib/locale/bg.mjs.map +1 -1
  179. package/lib/locale/ca.mjs +1 -0
  180. package/lib/locale/ca.mjs.map +1 -1
  181. package/lib/locale/ckb.mjs +1 -0
  182. package/lib/locale/ckb.mjs.map +1 -1
  183. package/lib/locale/cs.mjs +1 -0
  184. package/lib/locale/cs.mjs.map +1 -1
  185. package/lib/locale/da.mjs +1 -0
  186. package/lib/locale/da.mjs.map +1 -1
  187. package/lib/locale/de.mjs +1 -0
  188. package/lib/locale/de.mjs.map +1 -1
  189. package/lib/locale/el.mjs +1 -0
  190. package/lib/locale/el.mjs.map +1 -1
  191. package/lib/locale/en.mjs +1 -0
  192. package/lib/locale/en.mjs.map +1 -1
  193. package/lib/locale/es.mjs +1 -0
  194. package/lib/locale/es.mjs.map +1 -1
  195. package/lib/locale/et.mjs +1 -0
  196. package/lib/locale/et.mjs.map +1 -1
  197. package/lib/locale/fa.mjs +1 -0
  198. package/lib/locale/fa.mjs.map +1 -1
  199. package/lib/locale/fi.mjs +1 -0
  200. package/lib/locale/fi.mjs.map +1 -1
  201. package/lib/locale/fr.mjs +1 -0
  202. package/lib/locale/fr.mjs.map +1 -1
  203. package/lib/locale/he.mjs +1 -0
  204. package/lib/locale/he.mjs.map +1 -1
  205. package/lib/locale/hr.mjs +1 -0
  206. package/lib/locale/hr.mjs.map +1 -1
  207. package/lib/locale/hu.mjs +1 -0
  208. package/lib/locale/hu.mjs.map +1 -1
  209. package/lib/locale/id.mjs +1 -0
  210. package/lib/locale/id.mjs.map +1 -1
  211. package/lib/locale/index.d.mts +42 -0
  212. package/lib/locale/it.mjs +1 -0
  213. package/lib/locale/it.mjs.map +1 -1
  214. package/lib/locale/ja.mjs +1 -0
  215. package/lib/locale/ja.mjs.map +1 -1
  216. package/lib/locale/ko.mjs +1 -0
  217. package/lib/locale/ko.mjs.map +1 -1
  218. package/lib/locale/lt.mjs +1 -0
  219. package/lib/locale/lt.mjs.map +1 -1
  220. package/lib/locale/lv.mjs +1 -0
  221. package/lib/locale/lv.mjs.map +1 -1
  222. package/lib/locale/nl.mjs +1 -0
  223. package/lib/locale/nl.mjs.map +1 -1
  224. package/lib/locale/no.mjs +1 -0
  225. package/lib/locale/no.mjs.map +1 -1
  226. package/lib/locale/pl.mjs +1 -0
  227. package/lib/locale/pl.mjs.map +1 -1
  228. package/lib/locale/pt.mjs +1 -0
  229. package/lib/locale/pt.mjs.map +1 -1
  230. package/lib/locale/ro.mjs +1 -0
  231. package/lib/locale/ro.mjs.map +1 -1
  232. package/lib/locale/ru.mjs +1 -0
  233. package/lib/locale/ru.mjs.map +1 -1
  234. package/lib/locale/sk.mjs +1 -0
  235. package/lib/locale/sk.mjs.map +1 -1
  236. package/lib/locale/sl.mjs +1 -0
  237. package/lib/locale/sl.mjs.map +1 -1
  238. package/lib/locale/sr-Cyrl.mjs +1 -0
  239. package/lib/locale/sr-Cyrl.mjs.map +1 -1
  240. package/lib/locale/sr-Latn.mjs +1 -0
  241. package/lib/locale/sr-Latn.mjs.map +1 -1
  242. package/lib/locale/sv.mjs +1 -0
  243. package/lib/locale/sv.mjs.map +1 -1
  244. package/lib/locale/th.mjs +1 -0
  245. package/lib/locale/th.mjs.map +1 -1
  246. package/lib/locale/tr.mjs +1 -0
  247. package/lib/locale/tr.mjs.map +1 -1
  248. package/lib/locale/uk.mjs +1 -0
  249. package/lib/locale/uk.mjs.map +1 -1
  250. package/lib/locale/vi.mjs +1 -0
  251. package/lib/locale/vi.mjs.map +1 -1
  252. package/lib/locale/zh-Hans.mjs +1 -0
  253. package/lib/locale/zh-Hans.mjs.map +1 -1
  254. package/lib/locale/zh-Hant.mjs +1 -0
  255. package/lib/locale/zh-Hant.mjs.map +1 -1
  256. package/lib/styles/main.css +1026 -0
  257. package/lib/styles/settings/_utilities.scss +20 -0
  258. package/lib/styles/tools/_rtl.sass +4 -2
  259. package/lib/util/box.mjs +12 -0
  260. package/lib/util/box.mjs.map +1 -1
  261. package/lib/util/globals.mjs +1 -0
  262. package/lib/util/globals.mjs.map +1 -1
  263. package/lib/util/helpers.mjs +19 -5
  264. package/lib/util/helpers.mjs.map +1 -1
  265. package/lib/util/injectSelf.mjs +2 -1
  266. package/lib/util/injectSelf.mjs.map +1 -1
  267. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"VBreadcrumbs.mjs","names":["VBreadcrumbsDivider","VBreadcrumbsItem","VDefaultsProvider","VIcon","useBackgroundColor","makeComponentProps","provideDefaults","makeDensityProps","useDensity","IconValue","makeRoundedProps","useRounded","makeTagProps","computed","toRef","genericComponent","propsFactory","useRender","makeVBreadcrumbsProps","activeClass","String","activeColor","bgColor","color","disabled","Boolean","divider","type","default","icon","items","Array","tag","VBreadcrumbs","name","props","setup","_ref","slots","backgroundColorClasses","backgroundColorStyles","densityClasses","roundedClasses","map","item","title","raw","hasPrepend","prepend","_createVNode","value","class","style","start","_ref2","index","array","_Fragment","_mergeProps","length","undefined"],"sources":["../../../src/components/VBreadcrumbs/VBreadcrumbs.tsx"],"sourcesContent":["// Styles\nimport './VBreadcrumbs.sass'\n\n// Components\nimport { VBreadcrumbsDivider } from './VBreadcrumbsDivider'\nimport { VBreadcrumbsItem } from './VBreadcrumbsItem'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { IconValue } from '@/composables/icons'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { LinkProps } from '@/composables/router'\nimport type { GenericProps } from '@/util'\n\nexport type BreadcrumbItem = string | (Partial<LinkProps> & {\n title: string\n disabled?: boolean\n})\n\nexport const makeVBreadcrumbsProps = propsFactory({\n activeClass: String,\n activeColor: String,\n bgColor: String,\n color: String,\n disabled: Boolean,\n divider: {\n type: String,\n default: '/',\n },\n icon: IconValue,\n items: {\n type: Array as PropType<readonly BreadcrumbItem[]>,\n default: () => ([]),\n },\n\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'ul' }),\n}, 'VBreadcrumbs')\n\nexport const VBreadcrumbs = genericComponent<new <T extends BreadcrumbItem>(\n props: {\n items?: T[]\n },\n slots: {\n prepend: never\n title: { item: T, index: number }\n divider: { item: T, index: number }\n default: never\n }\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VBreadcrumbs',\n\n props: makeVBreadcrumbsProps(),\n\n setup (props, { slots }) {\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'bgColor'))\n const { densityClasses } = useDensity(props)\n const { roundedClasses } = useRounded(props)\n\n provideDefaults({\n VBreadcrumbsDivider: {\n divider: toRef(props, 'divider'),\n },\n VBreadcrumbsItem: {\n activeClass: toRef(props, 'activeClass'),\n activeColor: toRef(props, 'activeColor'),\n color: toRef(props, 'color'),\n disabled: toRef(props, 'disabled'),\n },\n })\n\n const items = computed(() => props.items.map(item => {\n return typeof item === 'string' ? { item: { title: item }, raw: item } : { item, raw: item }\n }))\n\n useRender(() => {\n const hasPrepend = !!(slots.prepend || props.icon)\n\n return (\n <props.tag\n class={[\n 'v-breadcrumbs',\n backgroundColorClasses.value,\n densityClasses.value,\n roundedClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n props.style,\n ]}\n >\n { hasPrepend && (\n <li key=\"prepend\" class=\"v-breadcrumbs__prepend\">\n { !slots.prepend ? (\n <VIcon\n key=\"prepend-icon\"\n start\n icon={ props.icon }\n />\n ) : (\n <VDefaultsProvider\n key=\"prepend-defaults\"\n disabled={ !props.icon }\n defaults={{\n VIcon: {\n icon: props.icon,\n start: true,\n },\n }}\n v-slots:default={ slots.prepend }\n />\n )}\n </li>\n )}\n\n { items.value.map(({ item, raw }, index, array) => (\n <>\n <VBreadcrumbsItem\n key={ item.title }\n disabled={ index >= array.length - 1 }\n { ...item }\n v-slots={{\n default: slots.title ? () => slots.title?.({ item: raw, index }) : undefined,\n }}\n />\n\n { index < array.length - 1 && (\n <VBreadcrumbsDivider\n v-slots={{\n default: slots.divider ? () => slots.divider?.({ item: raw, index }) : undefined,\n }}\n />\n )}\n </>\n ))}\n\n { slots.default?.() }\n </props.tag>\n )\n })\n\n return {}\n },\n})\n\nexport type VBreadcrumbs = InstanceType<typeof VBreadcrumbs>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VBreadcrumbs.mjs","names":["VBreadcrumbsDivider","VBreadcrumbsItem","VDefaultsProvider","VIcon","useBackgroundColor","makeComponentProps","provideDefaults","makeDensityProps","useDensity","IconValue","makeRoundedProps","useRounded","makeTagProps","computed","toRef","genericComponent","propsFactory","useRender","makeVBreadcrumbsProps","activeClass","String","activeColor","bgColor","color","disabled","Boolean","divider","type","default","icon","items","Array","tag","VBreadcrumbs","name","props","setup","_ref","slots","backgroundColorClasses","backgroundColorStyles","densityClasses","roundedClasses","map","item","title","raw","hasPrepend","prepend","_createVNode","value","class","style","start","_ref2","index","array","_Fragment","_mergeProps","length","undefined"],"sources":["../../../src/components/VBreadcrumbs/VBreadcrumbs.tsx"],"sourcesContent":["// Styles\nimport './VBreadcrumbs.sass'\n\n// Components\nimport { VBreadcrumbsDivider } from './VBreadcrumbsDivider'\nimport { VBreadcrumbsItem } from './VBreadcrumbsItem'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { IconValue } from '@/composables/icons'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { LinkProps } from '@/composables/router'\nimport type { GenericProps } from '@/util'\n\nexport type BreadcrumbItem = string | (Partial<LinkProps> & {\n title: string\n disabled?: boolean\n})\n\nexport const makeVBreadcrumbsProps = propsFactory({\n activeClass: String,\n activeColor: String,\n bgColor: String,\n color: String,\n disabled: Boolean,\n divider: {\n type: String,\n default: '/',\n },\n icon: IconValue,\n items: {\n type: Array as PropType<readonly BreadcrumbItem[]>,\n default: () => ([]),\n },\n\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'ul' }),\n}, 'VBreadcrumbs')\n\nexport const VBreadcrumbs = genericComponent<new <T extends BreadcrumbItem>(\n props: {\n items?: T[]\n },\n slots: {\n prepend: never\n title: { item: T, index: number }\n divider: { item: T, index: number }\n item: { item: T, index: number }\n default: never\n }\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VBreadcrumbs',\n\n props: makeVBreadcrumbsProps(),\n\n setup (props, { slots }) {\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'bgColor'))\n const { densityClasses } = useDensity(props)\n const { roundedClasses } = useRounded(props)\n\n provideDefaults({\n VBreadcrumbsDivider: {\n divider: toRef(props, 'divider'),\n },\n VBreadcrumbsItem: {\n activeClass: toRef(props, 'activeClass'),\n activeColor: toRef(props, 'activeColor'),\n color: toRef(props, 'color'),\n disabled: toRef(props, 'disabled'),\n },\n })\n\n const items = computed(() => props.items.map(item => {\n return typeof item === 'string' ? { item: { title: item }, raw: item } : { item, raw: item }\n }))\n\n useRender(() => {\n const hasPrepend = !!(slots.prepend || props.icon)\n\n return (\n <props.tag\n class={[\n 'v-breadcrumbs',\n backgroundColorClasses.value,\n densityClasses.value,\n roundedClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n props.style,\n ]}\n >\n { hasPrepend && (\n <li key=\"prepend\" class=\"v-breadcrumbs__prepend\">\n { !slots.prepend ? (\n <VIcon\n key=\"prepend-icon\"\n start\n icon={ props.icon }\n />\n ) : (\n <VDefaultsProvider\n key=\"prepend-defaults\"\n disabled={ !props.icon }\n defaults={{\n VIcon: {\n icon: props.icon,\n start: true,\n },\n }}\n v-slots:default={ slots.prepend }\n />\n )}\n </li>\n )}\n\n { items.value.map(({ item, raw }, index, array) => (\n <>\n { slots.item?.({ item, index }) ?? (\n <VBreadcrumbsItem\n key={ index }\n disabled={ index >= array.length - 1 }\n { ...(typeof item === 'string' ? { title: item } : item) }\n v-slots={{\n default: slots.title ? () => slots.title?.({ item, index }) : undefined,\n }}\n />\n )}\n\n { index < array.length - 1 && (\n <VBreadcrumbsDivider\n v-slots={{\n default: slots.divider ? () => slots.divider?.({ item: raw, index }) : undefined,\n }}\n />\n )}\n </>\n ))}\n\n { slots.default?.() }\n </props.tag>\n )\n })\n\n return {}\n },\n})\n\nexport type VBreadcrumbs = InstanceType<typeof VBreadcrumbs>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,mBAAmB;AAAA,SACnBC,gBAAgB;AAAA,SAChBC,iBAAiB;AAAA,SACjBC,KAAK,8BAEd;AAAA,SACSC,kBAAkB;AAAA,SAClBC,kBAAkB;AAAA,SAClBC,eAAe;AAAA,SACfC,gBAAgB,EAAEC,UAAU;AAAA,SAC5BC,SAAS;AAAA,SACTC,gBAAgB,EAAEC,UAAU;AAAA,SAC5BC,YAAY,qCAErB;AACA,SAASC,QAAQ,EAAEC,KAAK,QAAQ,KAAK;AAAA,SAC5BC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS,gCAElD;AAUA,OAAO,MAAMC,qBAAqB,GAAGF,YAAY,CAAC;EAChDG,WAAW,EAAEC,MAAM;EACnBC,WAAW,EAAED,MAAM;EACnBE,OAAO,EAAEF,MAAM;EACfG,KAAK,EAAEH,MAAM;EACbI,QAAQ,EAAEC,OAAO;EACjBC,OAAO,EAAE;IACPC,IAAI,EAAEP,MAAM;IACZQ,OAAO,EAAE;EACX,CAAC;EACDC,IAAI,EAAEpB,SAAS;EACfqB,KAAK,EAAE;IACLH,IAAI,EAAEI,KAA4C;IAClDH,OAAO,EAAEA,CAAA,KAAO;EAClB,CAAC;EAED,GAAGvB,kBAAkB,EAAE;EACvB,GAAGE,gBAAgB,EAAE;EACrB,GAAGG,gBAAgB,EAAE;EACrB,GAAGE,YAAY,CAAC;IAAEoB,GAAG,EAAE;EAAK,CAAC;AAC/B,CAAC,EAAE,cAAc,CAAC;AAElB,OAAO,MAAMC,YAAY,GAAGlB,gBAAgB,EAWI,CAAC;EAC/CmB,IAAI,EAAE,cAAc;EAEpBC,KAAK,EAAEjB,qBAAqB,EAAE;EAE9BkB,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAM;MAAEE,sBAAsB;MAAEC;IAAsB,CAAC,GAAGpC,kBAAkB,CAACU,KAAK,CAACqB,KAAK,EAAE,SAAS,CAAC,CAAC;IACrG,MAAM;MAAEM;IAAe,CAAC,GAAGjC,UAAU,CAAC2B,KAAK,CAAC;IAC5C,MAAM;MAAEO;IAAe,CAAC,GAAG/B,UAAU,CAACwB,KAAK,CAAC;IAE5C7B,eAAe,CAAC;MACdN,mBAAmB,EAAE;QACnB0B,OAAO,EAAEZ,KAAK,CAACqB,KAAK,EAAE,SAAS;MACjC,CAAC;MACDlC,gBAAgB,EAAE;QAChBkB,WAAW,EAAEL,KAAK,CAACqB,KAAK,EAAE,aAAa,CAAC;QACxCd,WAAW,EAAEP,KAAK,CAACqB,KAAK,EAAE,aAAa,CAAC;QACxCZ,KAAK,EAAET,KAAK,CAACqB,KAAK,EAAE,OAAO,CAAC;QAC5BX,QAAQ,EAAEV,KAAK,CAACqB,KAAK,EAAE,UAAU;MACnC;IACF,CAAC,CAAC;IAEF,MAAML,KAAK,GAAGjB,QAAQ,CAAC,MAAMsB,KAAK,CAACL,KAAK,CAACa,GAAG,CAACC,IAAI,IAAI;MACnD,OAAO,OAAOA,IAAI,KAAK,QAAQ,GAAG;QAAEA,IAAI,EAAE;UAAEC,KAAK,EAAED;QAAK,CAAC;QAAEE,GAAG,EAAEF;MAAK,CAAC,GAAG;QAAEA,IAAI;QAAEE,GAAG,EAAEF;MAAK,CAAC;IAC9F,CAAC,CAAC,CAAC;IAEH3B,SAAS,CAAC,MAAM;MACd,MAAM8B,UAAU,GAAG,CAAC,EAAET,KAAK,CAACU,OAAO,IAAIb,KAAK,CAACN,IAAI,CAAC;MAElD,OAAAoB,YAAA,CAAAd,KAAA,CAAAH,GAAA;QAAA,SAEW,CACL,eAAe,EACfO,sBAAsB,CAACW,KAAK,EAC5BT,cAAc,CAACS,KAAK,EACpBR,cAAc,CAACQ,KAAK,EACpBf,KAAK,CAACgB,KAAK,CACZ;QAAA,SACM,CACLX,qBAAqB,CAACU,KAAK,EAC3Bf,KAAK,CAACiB,KAAK;MACZ;QAAAxB,OAAA,EAAAA,CAAA,MAECmB,UAAU,IAAAE,YAAA;UAAA,OACF,SAAS;UAAA,SAAO;QAAwB,IAC5C,CAACX,KAAK,CAACU,OAAO,GAAAC,YAAA,CAAA9C,KAAA;UAAA,OAER,cAAc;UAAA;UAAA,QAEXgC,KAAK,CAACN;QAAI,WAAAoB,YAAA,CAAA/C,iBAAA;UAAA,OAIb,kBAAkB;UAAA,YACX,CAACiC,KAAK,CAACN,IAAI;UAAA,YACZ;YACR1B,KAAK,EAAE;cACL0B,IAAI,EAAEM,KAAK,CAACN,IAAI;cAChBwB,KAAK,EAAE;YACT;UACF;QAAC,GACiBf,KAAK,CAACU,OAAO,CAElC,EAEJ,EAEClB,KAAK,CAACoB,KAAK,CAACP,GAAG,CAAC,CAAAW,KAAA,EAAgBC,KAAK,EAAEC,KAAK;UAAA,IAA3B;YAAEZ,IAAI;YAAEE;UAAI,CAAC,GAAAQ,KAAA;UAAA,OAAAL,YAAA,CAAAQ,SAAA,SAE1BnB,KAAK,CAACM,IAAI,GAAG;YAAEA,IAAI;YAAEW;UAAM,CAAC,CAAC,IAAAN,YAAA,CAAAhD,gBAAA,EAAAyD,WAAA;YAAA,OAErBH,KAAK;YAAA,YACAA,KAAK,IAAIC,KAAK,CAACG,MAAM,GAAG;UAAC,GAC9B,OAAOf,IAAI,KAAK,QAAQ,GAAG;YAAEC,KAAK,EAAED;UAAK,CAAC,GAAGA,IAAI,GAC9C;YACPhB,OAAO,EAAEU,KAAK,CAACO,KAAK,GAAG,MAAMP,KAAK,CAACO,KAAK,GAAG;cAAED,IAAI;cAAEW;YAAM,CAAC,CAAC,GAAGK;UAChE,CAAC,CAEJ,EAECL,KAAK,GAAGC,KAAK,CAACG,MAAM,GAAG,CAAC,IAAAV,YAAA,CAAAjD,mBAAA,QAEb;YACP4B,OAAO,EAAEU,KAAK,CAACZ,OAAO,GAAG,MAAMY,KAAK,CAACZ,OAAO,GAAG;cAAEkB,IAAI,EAAEE,GAAG;cAAES;YAAM,CAAC,CAAC,GAAGK;UACzE,CAAC,CAEJ;QAAA,CAEJ,CAAC,EAEAtB,KAAK,CAACV,OAAO,IAAI;MAAA;IAGzB,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
@@ -132,6 +132,12 @@ declare const VBreadcrumbs: {
132
132
  }) => vue.VNode<vue.RendererNode, vue.RendererElement, {
133
133
  [key: string]: any;
134
134
  }>[]) | undefined;
135
+ item?: ((arg: {
136
+ item: BreadcrumbItem;
137
+ index: number;
138
+ }) => vue.VNode<vue.RendererNode, vue.RendererElement, {
139
+ [key: string]: any;
140
+ }>[]) | undefined;
135
141
  default?: (() => vue.VNode<vue.RendererNode, vue.RendererElement, {
136
142
  [key: string]: any;
137
143
  }>[]) | undefined;
@@ -154,7 +160,7 @@ declare const VBreadcrumbs: {
154
160
  bgColor?: string | undefined;
155
161
  activeClass?: string | undefined;
156
162
  activeColor?: string | undefined;
157
- }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Omit<Record<string, any>, "$children" | "v-slot:default" | "items" | "v-slots" | "v-slot:title" | "v-slot:prepend" | "v-slot:divider">, string, {
163
+ }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Omit<Record<string, any>, "$children" | "v-slot:default" | "items" | "v-slots" | "v-slot:title" | "v-slot:prepend" | "v-slot:item" | "v-slot:divider">, string, {
158
164
  style: vue.StyleValue;
159
165
  disabled: boolean;
160
166
  tag: string;
@@ -177,6 +183,12 @@ declare const VBreadcrumbs: {
177
183
  }) => vue.VNode<vue.RendererNode, vue.RendererElement, {
178
184
  [key: string]: any;
179
185
  }>[];
186
+ item: (arg: {
187
+ item: BreadcrumbItem;
188
+ index: number;
189
+ }) => vue.VNode<vue.RendererNode, vue.RendererElement, {
190
+ [key: string]: any;
191
+ }>[];
180
192
  default: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
181
193
  [key: string]: any;
182
194
  }>[];
@@ -232,7 +244,7 @@ declare const VBreadcrumbs: {
232
244
  bgColor?: string | undefined;
233
245
  activeClass?: string | undefined;
234
246
  activeColor?: string | undefined;
235
- }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Omit<Record<string, any>, "$children" | "v-slot:default" | "items" | "v-slots" | "v-slot:title" | "v-slot:prepend" | "v-slot:divider">, string, {
247
+ }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Omit<Record<string, any>, "$children" | "v-slot:default" | "items" | "v-slots" | "v-slot:title" | "v-slot:prepend" | "v-slot:item" | "v-slot:divider">, string, {
236
248
  style: vue.StyleValue;
237
249
  disabled: boolean;
238
250
  tag: string;
@@ -255,6 +267,12 @@ declare const VBreadcrumbs: {
255
267
  }) => vue.VNode<vue.RendererNode, vue.RendererElement, {
256
268
  [key: string]: any;
257
269
  }>[];
270
+ item: (arg: {
271
+ item: BreadcrumbItem;
272
+ index: number;
273
+ }) => vue.VNode<vue.RendererNode, vue.RendererElement, {
274
+ [key: string]: any;
275
+ }>[];
258
276
  default: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
259
277
  [key: string]: any;
260
278
  }>[];
@@ -270,6 +288,10 @@ declare const VBreadcrumbs: {
270
288
  item: T_1;
271
289
  index: number;
272
290
  };
291
+ item: {
292
+ item: T_1;
293
+ index: number;
294
+ };
273
295
  default: never;
274
296
  }) => GenericProps<{
275
297
  items?: T_1[] | undefined;
@@ -283,6 +305,10 @@ declare const VBreadcrumbs: {
283
305
  item: T_1;
284
306
  index: number;
285
307
  };
308
+ item: {
309
+ item: T_1;
310
+ index: number;
311
+ };
286
312
  default: never;
287
313
  }>) & FilterPropsOptions<{
288
314
  tag: Omit<{
@@ -310,6 +310,9 @@
310
310
  .v-btn--rounded {
311
311
  border-radius: 24px;
312
312
  }
313
+ .v-btn--rounded.v-btn--icon {
314
+ border-radius: 4px;
315
+ }
313
316
  .v-btn .v-icon {
314
317
  --v-icon-size-multiplier: 0.8571428571;
315
318
  }
@@ -148,6 +148,9 @@
148
148
  &--rounded
149
149
  @include tools.rounded($button-rounded-border-radius)
150
150
 
151
+ &.v-btn--icon
152
+ @include tools.rounded($button-border-radius)
153
+
151
154
  .v-icon
152
155
  --v-icon-size-multiplier: #{calc(18/21)}
153
156
 
@@ -964,6 +964,7 @@ declare const VCarouselItem: {
964
964
  inline?: boolean | undefined;
965
965
  transition?: string | boolean | undefined;
966
966
  style?: vue.StyleValue | undefined;
967
+ draggable?: boolean | "false" | "true" | undefined;
967
968
  eager?: boolean | undefined;
968
969
  disabled?: boolean | undefined;
969
970
  options?: IntersectionObserverInit | undefined;
@@ -986,7 +987,9 @@ declare const VCarouselItem: {
986
987
  error?: (() => vue.VNodeChild) | undefined;
987
988
  sources?: (() => vue.VNodeChild) | undefined;
988
989
  };
990
+ referrerpolicy?: "origin" | "same-origin" | "no-referrer" | "no-referrer-when-downgrade" | "origin-when-cross-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url" | undefined;
989
991
  alt?: string | undefined;
992
+ crossorigin?: "" | "anonymous" | "use-credentials" | undefined;
990
993
  sizes?: string | undefined;
991
994
  srcset?: string | undefined;
992
995
  ref?: vue.VNodeRef | undefined;
@@ -1087,8 +1090,11 @@ declare const VCarouselItem: {
1087
1090
  minWidth?: string | number | undefined;
1088
1091
  transition?: string | boolean | undefined;
1089
1092
  value?: any;
1093
+ draggable?: boolean | "false" | "true" | undefined;
1090
1094
  class?: any;
1095
+ referrerpolicy?: "origin" | "same-origin" | "no-referrer" | "no-referrer-when-downgrade" | "origin-when-cross-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url" | undefined;
1091
1096
  alt?: string | undefined;
1097
+ crossorigin?: "" | "anonymous" | "use-credentials" | undefined;
1092
1098
  sizes?: string | undefined;
1093
1099
  srcset?: string | undefined;
1094
1100
  contentClass?: string | undefined;
@@ -1118,6 +1124,7 @@ declare const VCarouselItem: {
1118
1124
  inline: boolean;
1119
1125
  transition: string | boolean;
1120
1126
  style: vue.StyleValue;
1127
+ draggable: boolean | "false" | "true";
1121
1128
  eager: boolean;
1122
1129
  disabled: boolean;
1123
1130
  options: IntersectionObserverInit;
@@ -1175,8 +1182,11 @@ declare const VCarouselItem: {
1175
1182
  minWidth?: string | number | undefined;
1176
1183
  transition?: string | boolean | undefined;
1177
1184
  value?: any;
1185
+ draggable?: boolean | "false" | "true" | undefined;
1178
1186
  class?: any;
1187
+ referrerpolicy?: "origin" | "same-origin" | "no-referrer" | "no-referrer-when-downgrade" | "origin-when-cross-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url" | undefined;
1179
1188
  alt?: string | undefined;
1189
+ crossorigin?: "" | "anonymous" | "use-credentials" | undefined;
1180
1190
  sizes?: string | undefined;
1181
1191
  srcset?: string | undefined;
1182
1192
  contentClass?: string | undefined;
@@ -1224,8 +1234,11 @@ declare const VCarouselItem: {
1224
1234
  minWidth?: string | number | undefined;
1225
1235
  transition?: string | boolean | undefined;
1226
1236
  value?: any;
1237
+ draggable?: boolean | "false" | "true" | undefined;
1227
1238
  class?: any;
1239
+ referrerpolicy?: "origin" | "same-origin" | "no-referrer" | "no-referrer-when-downgrade" | "origin-when-cross-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url" | undefined;
1228
1240
  alt?: string | undefined;
1241
+ crossorigin?: "" | "anonymous" | "use-credentials" | undefined;
1229
1242
  sizes?: string | undefined;
1230
1243
  srcset?: string | undefined;
1231
1244
  contentClass?: string | undefined;
@@ -1255,6 +1268,7 @@ declare const VCarouselItem: {
1255
1268
  inline: boolean;
1256
1269
  transition: string | boolean;
1257
1270
  style: vue.StyleValue;
1271
+ draggable: boolean | "false" | "true";
1258
1272
  eager: boolean;
1259
1273
  disabled: boolean;
1260
1274
  options: IntersectionObserverInit;
@@ -1303,6 +1317,10 @@ declare const VCarouselItem: {
1303
1317
  inline: BooleanConstructor;
1304
1318
  alt: StringConstructor;
1305
1319
  cover: BooleanConstructor;
1320
+ draggable: {
1321
+ type: vue.PropType<boolean | "false" | "true">;
1322
+ default: undefined;
1323
+ };
1306
1324
  gradient: StringConstructor;
1307
1325
  lazySrc: StringConstructor;
1308
1326
  options: {
@@ -1318,6 +1336,8 @@ declare const VCarouselItem: {
1318
1336
  type: vue.PropType<string | srcObject>;
1319
1337
  default: string;
1320
1338
  };
1339
+ crossorigin: vue.PropType<"" | "anonymous" | "use-credentials">;
1340
+ referrerpolicy: vue.PropType<"origin" | "same-origin" | "no-referrer" | "no-referrer-when-downgrade" | "origin-when-cross-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url">;
1321
1341
  srcset: StringConstructor;
1322
1342
  }, vue.ExtractPropTypes<{
1323
1343
  eager: BooleanConstructor;
@@ -1348,6 +1368,10 @@ declare const VCarouselItem: {
1348
1368
  inline: BooleanConstructor;
1349
1369
  alt: StringConstructor;
1350
1370
  cover: BooleanConstructor;
1371
+ draggable: {
1372
+ type: vue.PropType<boolean | "false" | "true">;
1373
+ default: undefined;
1374
+ };
1351
1375
  gradient: StringConstructor;
1352
1376
  lazySrc: StringConstructor;
1353
1377
  options: {
@@ -1363,6 +1387,8 @@ declare const VCarouselItem: {
1363
1387
  type: vue.PropType<string | srcObject>;
1364
1388
  default: string;
1365
1389
  };
1390
+ crossorigin: vue.PropType<"" | "anonymous" | "use-credentials">;
1391
+ referrerpolicy: vue.PropType<"origin" | "same-origin" | "no-referrer" | "no-referrer-when-downgrade" | "origin-when-cross-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url">;
1366
1392
  srcset: StringConstructor;
1367
1393
  }>>;
1368
1394
  type VCarouselItem = InstanceType<typeof VCarouselItem>;
@@ -35,12 +35,12 @@ export const VCheckbox = genericComponent()({
35
35
  const uid = getUid();
36
36
  const id = computed(() => props.id || `checkbox-${uid}`);
37
37
  useRender(() => {
38
- const [inputAttrs, controlAttrs] = filterInputAttrs(attrs);
38
+ const [rootAttrs, controlAttrs] = filterInputAttrs(attrs);
39
39
  const [inputProps, _1] = VInput.filterProps(props);
40
40
  const [checkboxProps, _2] = VCheckboxBtn.filterProps(props);
41
41
  return _createVNode(VInput, _mergeProps({
42
42
  "class": ['v-checkbox', props.class]
43
- }, inputAttrs, inputProps, {
43
+ }, rootAttrs, inputProps, {
44
44
  "modelValue": model.value,
45
45
  "onUpdate:modelValue": $event => model.value = $event,
46
46
  "id": id.value,
@@ -1 +1 @@
1
- {"version":3,"file":"VCheckbox.mjs","names":["makeVCheckboxBtnProps","VCheckboxBtn","makeVInputProps","VInput","useFocus","useProxiedModel","computed","filterInputAttrs","genericComponent","getUid","omit","propsFactory","useRender","makeVCheckboxProps","VCheckbox","name","inheritAttrs","props","emits","value","focused","setup","_ref","attrs","slots","model","isFocused","focus","blur","uid","id","inputAttrs","controlAttrs","inputProps","_1","filterProps","checkboxProps","_2","_createVNode","_mergeProps","class","$event","style","default","_ref2","messagesId","isDisabled","isReadonly"],"sources":["../../../src/components/VCheckbox/VCheckbox.tsx"],"sourcesContent":["// Styles\nimport './VCheckbox.sass'\n\n// Components\nimport { makeVCheckboxBtnProps, VCheckboxBtn } from './VCheckboxBtn'\nimport { makeVInputProps, VInput } from '@/components/VInput/VInput'\n\n// Composables\nimport { useFocus } from '@/composables/focus'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed } from 'vue'\nimport { filterInputAttrs, genericComponent, getUid, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { VSelectionControlSlots } from '../VSelectionControl/VSelectionControl'\nimport type { VInputSlots } from '@/components/VInput/VInput'\n\nexport type VCheckboxSlots = VInputSlots & VSelectionControlSlots\n\nexport const makeVCheckboxProps = propsFactory({\n ...makeVInputProps(),\n ...omit(makeVCheckboxBtnProps(), ['inline']),\n}, 'VCheckbox')\n\nexport const VCheckbox = genericComponent<VCheckboxSlots>()({\n name: 'VCheckbox',\n\n inheritAttrs: false,\n\n props: makeVCheckboxProps(),\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n 'update:focused': (focused: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const model = useProxiedModel(props, 'modelValue')\n const { isFocused, focus, blur } = useFocus(props)\n\n const uid = getUid()\n const id = computed(() => props.id || `checkbox-${uid}`)\n\n useRender(() => {\n const [inputAttrs, controlAttrs] = filterInputAttrs(attrs)\n const [inputProps, _1] = VInput.filterProps(props)\n const [checkboxProps, _2] = VCheckboxBtn.filterProps(props)\n\n return (\n <VInput\n class={[\n 'v-checkbox',\n props.class,\n ]}\n { ...inputAttrs }\n { ...inputProps }\n v-model={ model.value }\n id={ id.value }\n focused={ isFocused.value }\n style={ props.style }\n >\n {{\n ...slots,\n default: ({\n id,\n messagesId,\n isDisabled,\n isReadonly,\n }) => (\n <VCheckboxBtn\n { ...checkboxProps }\n id={ id.value }\n aria-describedby={ messagesId.value }\n disabled={ isDisabled.value }\n readonly={ isReadonly.value }\n { ...controlAttrs }\n v-model={ model.value }\n onFocus={ focus }\n onBlur={ blur }\n v-slots={ slots }\n />\n ),\n }}\n </VInput>\n )\n })\n\n return {}\n },\n})\n\nexport type VCheckbox = InstanceType<typeof VCheckbox>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,qBAAqB,EAAEC,YAAY;AAAA,SACnCC,eAAe,EAAEC,MAAM,gCAEhC;AAAA,SACSC,QAAQ;AAAA,SACRC,eAAe,8CAExB;AACA,SAASC,QAAQ,QAAQ,KAAK;AAAA,SACrBC,gBAAgB,EAAEC,gBAAgB,EAAEC,MAAM,EAAEC,IAAI,EAAEC,YAAY,EAAEC,SAAS,gCAElF;AAMA,OAAO,MAAMC,kBAAkB,GAAGF,YAAY,CAAC;EAC7C,GAAGT,eAAe,EAAE;EACpB,GAAGQ,IAAI,CAACV,qBAAqB,EAAE,EAAE,CAAC,QAAQ,CAAC;AAC7C,CAAC,EAAE,WAAW,CAAC;AAEf,OAAO,MAAMc,SAAS,GAAGN,gBAAgB,EAAkB,CAAC;EAC1DO,IAAI,EAAE,WAAW;EAEjBC,YAAY,EAAE,KAAK;EAEnBC,KAAK,EAAEJ,kBAAkB,EAAE;EAE3BK,KAAK,EAAE;IACL,mBAAmB,EAAGC,KAAc,IAAK,IAAI;IAC7C,gBAAgB,EAAGC,OAAgB,IAAK;EAC1C,CAAC;EAEDC,KAAKA,CAAEJ,KAAK,EAAAK,IAAA,EAAoB;IAAA,IAAlB;MAAEC,KAAK;MAAEC;IAAM,CAAC,GAAAF,IAAA;IAC5B,MAAMG,KAAK,GAAGpB,eAAe,CAACY,KAAK,EAAE,YAAY,CAAC;IAClD,MAAM;MAAES,SAAS;MAAEC,KAAK;MAAEC;IAAK,CAAC,GAAGxB,QAAQ,CAACa,KAAK,CAAC;IAElD,MAAMY,GAAG,GAAGpB,MAAM,EAAE;IACpB,MAAMqB,EAAE,GAAGxB,QAAQ,CAAC,MAAMW,KAAK,CAACa,EAAE,IAAK,YAAWD,GAAI,EAAC,CAAC;IAExDjB,SAAS,CAAC,MAAM;MACd,MAAM,CAACmB,UAAU,EAAEC,YAAY,CAAC,GAAGzB,gBAAgB,CAACgB,KAAK,CAAC;MAC1D,MAAM,CAACU,UAAU,EAAEC,EAAE,CAAC,GAAG/B,MAAM,CAACgC,WAAW,CAAClB,KAAK,CAAC;MAClD,MAAM,CAACmB,aAAa,EAAEC,EAAE,CAAC,GAAGpC,YAAY,CAACkC,WAAW,CAAClB,KAAK,CAAC;MAE3D,OAAAqB,YAAA,CAAAnC,MAAA,EAAAoC,WAAA;QAAA,SAEW,CACL,YAAY,EACZtB,KAAK,CAACuB,KAAK;MACZ,GACIT,UAAU,EACVE,UAAU;QAAA,cACLR,KAAK,CAACN,KAAK;QAAA,uBAAAsB,MAAA,IAAXhB,KAAK,CAACN,KAAK,GAAAsB,MAAA;QAAA,MAChBX,EAAE,CAACX,KAAK;QAAA,WACHO,SAAS,CAACP,KAAK;QAAA,SACjBF,KAAK,CAACyB;MAAK;QAGjB,GAAGlB,KAAK;QACRmB,OAAO,EAAEC,KAAA;UAAA,IAAC;YACRd,EAAE;YACFe,UAAU;YACVC,UAAU;YACVC;UACF,CAAC,GAAAH,KAAA;UAAA,OAAAN,YAAA,CAAArC,YAAA,EAAAsC,WAAA,CAEQH,aAAa;YAAA,MACbN,EAAE,CAACX,KAAK;YAAA,oBACM0B,UAAU,CAAC1B,KAAK;YAAA,YACxB2B,UAAU,CAAC3B,KAAK;YAAA,YAChB4B,UAAU,CAAC5B;UAAK,GACtBa,YAAY;YAAA,cACPP,KAAK,CAACN,KAAK;YAAA,uBAAAsB,MAAA,IAAXhB,KAAK,CAACN,KAAK,GAAAsB,MAAA;YAAA,WACXd,KAAK;YAAA,UACNC;UAAI,IACHJ,KAAK;QAAA;MAElB;IAIT,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"VCheckbox.mjs","names":["makeVCheckboxBtnProps","VCheckboxBtn","makeVInputProps","VInput","useFocus","useProxiedModel","computed","filterInputAttrs","genericComponent","getUid","omit","propsFactory","useRender","makeVCheckboxProps","VCheckbox","name","inheritAttrs","props","emits","value","focused","setup","_ref","attrs","slots","model","isFocused","focus","blur","uid","id","rootAttrs","controlAttrs","inputProps","_1","filterProps","checkboxProps","_2","_createVNode","_mergeProps","class","$event","style","default","_ref2","messagesId","isDisabled","isReadonly"],"sources":["../../../src/components/VCheckbox/VCheckbox.tsx"],"sourcesContent":["// Styles\nimport './VCheckbox.sass'\n\n// Components\nimport { makeVCheckboxBtnProps, VCheckboxBtn } from './VCheckboxBtn'\nimport { makeVInputProps, VInput } from '@/components/VInput/VInput'\n\n// Composables\nimport { useFocus } from '@/composables/focus'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed } from 'vue'\nimport { filterInputAttrs, genericComponent, getUid, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { VSelectionControlSlots } from '../VSelectionControl/VSelectionControl'\nimport type { VInputSlots } from '@/components/VInput/VInput'\n\nexport type VCheckboxSlots = VInputSlots & VSelectionControlSlots\n\nexport const makeVCheckboxProps = propsFactory({\n ...makeVInputProps(),\n ...omit(makeVCheckboxBtnProps(), ['inline']),\n}, 'VCheckbox')\n\nexport const VCheckbox = genericComponent<VCheckboxSlots>()({\n name: 'VCheckbox',\n\n inheritAttrs: false,\n\n props: makeVCheckboxProps(),\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n 'update:focused': (focused: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const model = useProxiedModel(props, 'modelValue')\n const { isFocused, focus, blur } = useFocus(props)\n\n const uid = getUid()\n const id = computed(() => props.id || `checkbox-${uid}`)\n\n useRender(() => {\n const [rootAttrs, controlAttrs] = filterInputAttrs(attrs)\n const [inputProps, _1] = VInput.filterProps(props)\n const [checkboxProps, _2] = VCheckboxBtn.filterProps(props)\n\n return (\n <VInput\n class={[\n 'v-checkbox',\n props.class,\n ]}\n { ...rootAttrs }\n { ...inputProps }\n v-model={ model.value }\n id={ id.value }\n focused={ isFocused.value }\n style={ props.style }\n >\n {{\n ...slots,\n default: ({\n id,\n messagesId,\n isDisabled,\n isReadonly,\n }) => (\n <VCheckboxBtn\n { ...checkboxProps }\n id={ id.value }\n aria-describedby={ messagesId.value }\n disabled={ isDisabled.value }\n readonly={ isReadonly.value }\n { ...controlAttrs }\n v-model={ model.value }\n onFocus={ focus }\n onBlur={ blur }\n v-slots={ slots }\n />\n ),\n }}\n </VInput>\n )\n })\n\n return {}\n },\n})\n\nexport type VCheckbox = InstanceType<typeof VCheckbox>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,qBAAqB,EAAEC,YAAY;AAAA,SACnCC,eAAe,EAAEC,MAAM,gCAEhC;AAAA,SACSC,QAAQ;AAAA,SACRC,eAAe,8CAExB;AACA,SAASC,QAAQ,QAAQ,KAAK;AAAA,SACrBC,gBAAgB,EAAEC,gBAAgB,EAAEC,MAAM,EAAEC,IAAI,EAAEC,YAAY,EAAEC,SAAS,gCAElF;AAMA,OAAO,MAAMC,kBAAkB,GAAGF,YAAY,CAAC;EAC7C,GAAGT,eAAe,EAAE;EACpB,GAAGQ,IAAI,CAACV,qBAAqB,EAAE,EAAE,CAAC,QAAQ,CAAC;AAC7C,CAAC,EAAE,WAAW,CAAC;AAEf,OAAO,MAAMc,SAAS,GAAGN,gBAAgB,EAAkB,CAAC;EAC1DO,IAAI,EAAE,WAAW;EAEjBC,YAAY,EAAE,KAAK;EAEnBC,KAAK,EAAEJ,kBAAkB,EAAE;EAE3BK,KAAK,EAAE;IACL,mBAAmB,EAAGC,KAAc,IAAK,IAAI;IAC7C,gBAAgB,EAAGC,OAAgB,IAAK;EAC1C,CAAC;EAEDC,KAAKA,CAAEJ,KAAK,EAAAK,IAAA,EAAoB;IAAA,IAAlB;MAAEC,KAAK;MAAEC;IAAM,CAAC,GAAAF,IAAA;IAC5B,MAAMG,KAAK,GAAGpB,eAAe,CAACY,KAAK,EAAE,YAAY,CAAC;IAClD,MAAM;MAAES,SAAS;MAAEC,KAAK;MAAEC;IAAK,CAAC,GAAGxB,QAAQ,CAACa,KAAK,CAAC;IAElD,MAAMY,GAAG,GAAGpB,MAAM,EAAE;IACpB,MAAMqB,EAAE,GAAGxB,QAAQ,CAAC,MAAMW,KAAK,CAACa,EAAE,IAAK,YAAWD,GAAI,EAAC,CAAC;IAExDjB,SAAS,CAAC,MAAM;MACd,MAAM,CAACmB,SAAS,EAAEC,YAAY,CAAC,GAAGzB,gBAAgB,CAACgB,KAAK,CAAC;MACzD,MAAM,CAACU,UAAU,EAAEC,EAAE,CAAC,GAAG/B,MAAM,CAACgC,WAAW,CAAClB,KAAK,CAAC;MAClD,MAAM,CAACmB,aAAa,EAAEC,EAAE,CAAC,GAAGpC,YAAY,CAACkC,WAAW,CAAClB,KAAK,CAAC;MAE3D,OAAAqB,YAAA,CAAAnC,MAAA,EAAAoC,WAAA;QAAA,SAEW,CACL,YAAY,EACZtB,KAAK,CAACuB,KAAK;MACZ,GACIT,SAAS,EACTE,UAAU;QAAA,cACLR,KAAK,CAACN,KAAK;QAAA,uBAAAsB,MAAA,IAAXhB,KAAK,CAACN,KAAK,GAAAsB,MAAA;QAAA,MAChBX,EAAE,CAACX,KAAK;QAAA,WACHO,SAAS,CAACP,KAAK;QAAA,SACjBF,KAAK,CAACyB;MAAK;QAGjB,GAAGlB,KAAK;QACRmB,OAAO,EAAEC,KAAA;UAAA,IAAC;YACRd,EAAE;YACFe,UAAU;YACVC,UAAU;YACVC;UACF,CAAC,GAAAH,KAAA;UAAA,OAAAN,YAAA,CAAArC,YAAA,EAAAsC,WAAA,CAEQH,aAAa;YAAA,MACbN,EAAE,CAACX,KAAK;YAAA,oBACM0B,UAAU,CAAC1B,KAAK;YAAA,YACxB2B,UAAU,CAAC3B,KAAK;YAAA,YAChB4B,UAAU,CAAC5B;UAAK,GACtBa,YAAY;YAAA,cACPP,KAAK,CAACN,KAAK;YAAA,uBAAAsB,MAAA,IAAXhB,KAAK,CAACN,KAAK,GAAAsB,MAAA;YAAA,WACXd,KAAK;YAAA,UACNC;UAAI,IACHJ,KAAK;QAAA;MAElB;IAIT,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
@@ -4,7 +4,7 @@ import { makeVSelectionControlProps, VSelectionControl } from "../VSelectionCont
4
4
  import { IconValue } from "../../composables/icons.mjs";
5
5
  import { useProxiedModel } from "../../composables/proxiedModel.mjs"; // Utilities
6
6
  import { computed } from 'vue';
7
- import { genericComponent, propsFactory, useRender } from "../../util/index.mjs"; // Types
7
+ import { genericComponent, omit, propsFactory, useRender } from "../../util/index.mjs"; // Types
8
8
  export const makeVCheckboxBtnProps = propsFactory({
9
9
  indeterminate: Boolean,
10
10
  indeterminateIcon: {
@@ -40,16 +40,19 @@ export const VCheckboxBtn = genericComponent()({
40
40
  const trueIcon = computed(() => {
41
41
  return indeterminate.value ? props.indeterminateIcon : props.trueIcon;
42
42
  });
43
- useRender(() => _createVNode(VSelectionControl, _mergeProps(props, {
44
- "modelValue": model.value,
45
- "onUpdate:modelValue": [$event => model.value = $event, onChange],
46
- "class": ['v-checkbox-btn', props.class],
47
- "style": props.style,
48
- "type": "checkbox",
49
- "falseIcon": falseIcon.value,
50
- "trueIcon": trueIcon.value,
51
- "aria-checked": indeterminate.value ? 'mixed' : undefined
52
- }), slots));
43
+ useRender(() => {
44
+ const controlProps = omit(VSelectionControl.filterProps(props)[0], ['modelValue']);
45
+ return _createVNode(VSelectionControl, _mergeProps(controlProps, {
46
+ "modelValue": model.value,
47
+ "onUpdate:modelValue": [$event => model.value = $event, onChange],
48
+ "class": ['v-checkbox-btn', props.class],
49
+ "style": props.style,
50
+ "type": "checkbox",
51
+ "falseIcon": falseIcon.value,
52
+ "trueIcon": trueIcon.value,
53
+ "aria-checked": indeterminate.value ? 'mixed' : undefined
54
+ }), slots);
55
+ });
53
56
  return {};
54
57
  }
55
58
  });
@@ -1 +1 @@
1
- {"version":3,"file":"VCheckboxBtn.mjs","names":["makeVSelectionControlProps","VSelectionControl","IconValue","useProxiedModel","computed","genericComponent","propsFactory","useRender","makeVCheckboxBtnProps","indeterminate","Boolean","indeterminateIcon","type","default","falseIcon","trueIcon","VCheckboxBtn","name","props","emits","value","val","setup","_ref","slots","model","onChange","v","_createVNode","_mergeProps","$event","class","style","undefined"],"sources":["../../../src/components/VCheckbox/VCheckboxBtn.tsx"],"sourcesContent":["// Components\nimport { makeVSelectionControlProps, VSelectionControl } from '@/components/VSelectionControl/VSelectionControl'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { VSelectionControlSlots } from '@/components/VSelectionControl/VSelectionControl'\n\nexport const makeVCheckboxBtnProps = propsFactory({\n indeterminate: Boolean,\n indeterminateIcon: {\n type: IconValue,\n default: '$checkboxIndeterminate',\n },\n\n ...makeVSelectionControlProps({\n falseIcon: '$checkboxOff',\n trueIcon: '$checkboxOn',\n }),\n}, 'VCheckboxBtn')\n\nexport const VCheckboxBtn = genericComponent<VSelectionControlSlots>()({\n name: 'VCheckboxBtn',\n\n props: makeVCheckboxBtnProps(),\n\n emits: {\n 'update:modelValue': (value: any) => true,\n 'update:indeterminate': (val: boolean) => true,\n },\n\n setup (props, { slots }) {\n const indeterminate = useProxiedModel(props, 'indeterminate')\n const model = useProxiedModel(props, 'modelValue')\n\n function onChange (v: any) {\n if (indeterminate.value) {\n indeterminate.value = false\n }\n }\n\n const falseIcon = computed(() => {\n return indeterminate.value\n ? props.indeterminateIcon\n : props.falseIcon\n })\n\n const trueIcon = computed(() => {\n return indeterminate.value\n ? props.indeterminateIcon\n : props.trueIcon\n })\n\n useRender(() => (\n <VSelectionControl\n { ...props }\n v-model={ model.value }\n class={[\n 'v-checkbox-btn',\n props.class,\n ]}\n style={ props.style }\n type=\"checkbox\"\n onUpdate:modelValue={ onChange }\n falseIcon={ falseIcon.value }\n trueIcon={ trueIcon.value }\n aria-checked={ indeterminate.value ? 'mixed' : undefined }\n v-slots={ slots }\n />\n ))\n\n return {}\n },\n})\n\nexport type VCheckboxBtn = InstanceType<typeof VCheckboxBtn>\n"],"mappings":";AAAA;AAAA,SACSA,0BAA0B,EAAEC,iBAAiB,sDAEtD;AAAA,SACSC,SAAS;AAAA,SACTC,eAAe,8CAExB;AACA,SAASC,QAAQ,QAAQ,KAAK;AAAA,SACrBC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS,gCAElD;AAGA,OAAO,MAAMC,qBAAqB,GAAGF,YAAY,CAAC;EAChDG,aAAa,EAAEC,OAAO;EACtBC,iBAAiB,EAAE;IACjBC,IAAI,EAAEV,SAAS;IACfW,OAAO,EAAE;EACX,CAAC;EAED,GAAGb,0BAA0B,CAAC;IAC5Bc,SAAS,EAAE,cAAc;IACzBC,QAAQ,EAAE;EACZ,CAAC;AACH,CAAC,EAAE,cAAc,CAAC;AAElB,OAAO,MAAMC,YAAY,GAAGX,gBAAgB,EAA0B,CAAC;EACrEY,IAAI,EAAE,cAAc;EAEpBC,KAAK,EAAEV,qBAAqB,EAAE;EAE9BW,KAAK,EAAE;IACL,mBAAmB,EAAGC,KAAU,IAAK,IAAI;IACzC,sBAAsB,EAAGC,GAAY,IAAK;EAC5C,CAAC;EAEDC,KAAKA,CAAEJ,KAAK,EAAAK,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAMd,aAAa,GAAGN,eAAe,CAACe,KAAK,EAAE,eAAe,CAAC;IAC7D,MAAMO,KAAK,GAAGtB,eAAe,CAACe,KAAK,EAAE,YAAY,CAAC;IAElD,SAASQ,QAAQA,CAAEC,CAAM,EAAE;MACzB,IAAIlB,aAAa,CAACW,KAAK,EAAE;QACvBX,aAAa,CAACW,KAAK,GAAG,KAAK;MAC7B;IACF;IAEA,MAAMN,SAAS,GAAGV,QAAQ,CAAC,MAAM;MAC/B,OAAOK,aAAa,CAACW,KAAK,GACtBF,KAAK,CAACP,iBAAiB,GACvBO,KAAK,CAACJ,SAAS;IACrB,CAAC,CAAC;IAEF,MAAMC,QAAQ,GAAGX,QAAQ,CAAC,MAAM;MAC9B,OAAOK,aAAa,CAACW,KAAK,GACtBF,KAAK,CAACP,iBAAiB,GACvBO,KAAK,CAACH,QAAQ;IACpB,CAAC,CAAC;IAEFR,SAAS,CAAC,MAAAqB,YAAA,CAAA3B,iBAAA,EAAA4B,WAAA,CAEDX,KAAK;MAAA,cACAO,KAAK,CAACL,KAAK;MAAA,wBAAAU,MAAA,IAAXL,KAAK,CAACL,KAAK,GAAAU,MAAA,EAOCJ,QAAQ;MAAA,SANvB,CACL,gBAAgB,EAChBR,KAAK,CAACa,KAAK,CACZ;MAAA,SACOb,KAAK,CAACc,KAAK;MAAA,QACd,UAAU;MAAA,aAEHlB,SAAS,CAACM,KAAK;MAAA,YAChBL,QAAQ,CAACK,KAAK;MAAA,gBACVX,aAAa,CAACW,KAAK,GAAG,OAAO,GAAGa;IAAS,IAC9CT,KAAK,CAElB,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"VCheckboxBtn.mjs","names":["makeVSelectionControlProps","VSelectionControl","IconValue","useProxiedModel","computed","genericComponent","omit","propsFactory","useRender","makeVCheckboxBtnProps","indeterminate","Boolean","indeterminateIcon","type","default","falseIcon","trueIcon","VCheckboxBtn","name","props","emits","value","val","setup","_ref","slots","model","onChange","v","controlProps","filterProps","_createVNode","_mergeProps","$event","class","style","undefined"],"sources":["../../../src/components/VCheckbox/VCheckboxBtn.tsx"],"sourcesContent":["// Components\nimport { makeVSelectionControlProps, VSelectionControl } from '@/components/VSelectionControl/VSelectionControl'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { VSelectionControlSlots } from '@/components/VSelectionControl/VSelectionControl'\n\nexport const makeVCheckboxBtnProps = propsFactory({\n indeterminate: Boolean,\n indeterminateIcon: {\n type: IconValue,\n default: '$checkboxIndeterminate',\n },\n\n ...makeVSelectionControlProps({\n falseIcon: '$checkboxOff',\n trueIcon: '$checkboxOn',\n }),\n}, 'VCheckboxBtn')\n\nexport const VCheckboxBtn = genericComponent<VSelectionControlSlots>()({\n name: 'VCheckboxBtn',\n\n props: makeVCheckboxBtnProps(),\n\n emits: {\n 'update:modelValue': (value: any) => true,\n 'update:indeterminate': (val: boolean) => true,\n },\n\n setup (props, { slots }) {\n const indeterminate = useProxiedModel(props, 'indeterminate')\n const model = useProxiedModel(props, 'modelValue')\n\n function onChange (v: any) {\n if (indeterminate.value) {\n indeterminate.value = false\n }\n }\n\n const falseIcon = computed(() => {\n return indeterminate.value\n ? props.indeterminateIcon\n : props.falseIcon\n })\n\n const trueIcon = computed(() => {\n return indeterminate.value\n ? props.indeterminateIcon\n : props.trueIcon\n })\n\n useRender(() => {\n const controlProps = omit(VSelectionControl.filterProps(props)[0], ['modelValue'])\n return (\n <VSelectionControl\n { ...controlProps }\n v-model={ model.value }\n class={[\n 'v-checkbox-btn',\n props.class,\n ]}\n style={ props.style }\n type=\"checkbox\"\n onUpdate:modelValue={ onChange }\n falseIcon={ falseIcon.value }\n trueIcon={ trueIcon.value }\n aria-checked={ indeterminate.value ? 'mixed' : undefined }\n v-slots={ slots }\n />\n )\n })\n\n return {}\n },\n})\n\nexport type VCheckboxBtn = InstanceType<typeof VCheckboxBtn>\n"],"mappings":";AAAA;AAAA,SACSA,0BAA0B,EAAEC,iBAAiB,sDAEtD;AAAA,SACSC,SAAS;AAAA,SACTC,eAAe,8CAExB;AACA,SAASC,QAAQ,QAAQ,KAAK;AAAA,SACrBC,gBAAgB,EAAEC,IAAI,EAAEC,YAAY,EAAEC,SAAS,gCAExD;AAGA,OAAO,MAAMC,qBAAqB,GAAGF,YAAY,CAAC;EAChDG,aAAa,EAAEC,OAAO;EACtBC,iBAAiB,EAAE;IACjBC,IAAI,EAAEX,SAAS;IACfY,OAAO,EAAE;EACX,CAAC;EAED,GAAGd,0BAA0B,CAAC;IAC5Be,SAAS,EAAE,cAAc;IACzBC,QAAQ,EAAE;EACZ,CAAC;AACH,CAAC,EAAE,cAAc,CAAC;AAElB,OAAO,MAAMC,YAAY,GAAGZ,gBAAgB,EAA0B,CAAC;EACrEa,IAAI,EAAE,cAAc;EAEpBC,KAAK,EAAEV,qBAAqB,EAAE;EAE9BW,KAAK,EAAE;IACL,mBAAmB,EAAGC,KAAU,IAAK,IAAI;IACzC,sBAAsB,EAAGC,GAAY,IAAK;EAC5C,CAAC;EAEDC,KAAKA,CAAEJ,KAAK,EAAAK,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAMd,aAAa,GAAGP,eAAe,CAACgB,KAAK,EAAE,eAAe,CAAC;IAC7D,MAAMO,KAAK,GAAGvB,eAAe,CAACgB,KAAK,EAAE,YAAY,CAAC;IAElD,SAASQ,QAAQA,CAAEC,CAAM,EAAE;MACzB,IAAIlB,aAAa,CAACW,KAAK,EAAE;QACvBX,aAAa,CAACW,KAAK,GAAG,KAAK;MAC7B;IACF;IAEA,MAAMN,SAAS,GAAGX,QAAQ,CAAC,MAAM;MAC/B,OAAOM,aAAa,CAACW,KAAK,GACtBF,KAAK,CAACP,iBAAiB,GACvBO,KAAK,CAACJ,SAAS;IACrB,CAAC,CAAC;IAEF,MAAMC,QAAQ,GAAGZ,QAAQ,CAAC,MAAM;MAC9B,OAAOM,aAAa,CAACW,KAAK,GACtBF,KAAK,CAACP,iBAAiB,GACvBO,KAAK,CAACH,QAAQ;IACpB,CAAC,CAAC;IAEFR,SAAS,CAAC,MAAM;MACd,MAAMqB,YAAY,GAAGvB,IAAI,CAACL,iBAAiB,CAAC6B,WAAW,CAACX,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;MAClF,OAAAY,YAAA,CAAA9B,iBAAA,EAAA+B,WAAA,CAESH,YAAY;QAAA,cACPH,KAAK,CAACL,KAAK;QAAA,wBAAAY,MAAA,IAAXP,KAAK,CAACL,KAAK,GAAAY,MAAA,EAOCN,QAAQ;QAAA,SANzB,CACL,gBAAgB,EAChBR,KAAK,CAACe,KAAK,CACZ;QAAA,SACOf,KAAK,CAACgB,KAAK;QAAA,QACZ,UAAU;QAAA,aAEHpB,SAAS,CAACM,KAAK;QAAA,YAChBL,QAAQ,CAACK,KAAK;QAAA,gBACZX,aAAa,CAACW,KAAK,GAAG,OAAO,GAAGe;MAAS,IAC5CX,KAAK;IAGrB,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import * as vue from 'vue';
2
- import { ComponentPropsOptions, ExtractPropTypes, PropType, JSXComponent, WritableComputedRef, Ref, CSSProperties, ComputedRef } from 'vue';
2
+ import { ComponentPropsOptions, ExtractPropTypes, PropType, JSXComponent, WritableComputedRef, Ref, CSSProperties, VNode, ComputedRef } from 'vue';
3
3
 
4
4
  interface FilterPropsOptions<PropsOptions extends Readonly<ComponentPropsOptions>, Props = ExtractPropTypes<PropsOptions>> {
5
5
  filterProps<T extends Partial<Props>, U extends Exclude<keyof Props, Exclude<keyof Props, keyof T>>>(props: T): [yes: Partial<Pick<T, U>>, no: Omit<T, U>];
@@ -18,6 +18,8 @@ type SelectionControlSlot = {
18
18
  model: WritableComputedRef<any>;
19
19
  textColorClasses: Ref<string[]>;
20
20
  textColorStyles: Ref<CSSProperties>;
21
+ inputNode: VNode;
22
+ icon: IconValue | undefined;
21
23
  props: {
22
24
  onBlur: (e: Event) => void;
23
25
  onFocus: (e: FocusEvent) => void;
@@ -153,6 +155,7 @@ declare const VCheckbox: {
153
155
  prependIcon?: IconValue | undefined;
154
156
  appendIcon?: IconValue | undefined;
155
157
  defaultsTarget?: string | undefined;
158
+ baseColor?: string | undefined;
156
159
  trueValue?: any;
157
160
  falseValue?: any;
158
161
  "v-slot:input"?: false | ((arg: SelectionControlSlot) => vue.VNodeChild) | undefined;
@@ -240,6 +243,7 @@ declare const VCheckbox: {
240
243
  prependIcon?: IconValue | undefined;
241
244
  appendIcon?: IconValue | undefined;
242
245
  defaultsTarget?: string | undefined;
246
+ baseColor?: string | undefined;
243
247
  trueValue?: any;
244
248
  falseValue?: any;
245
249
  'onClick:append'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
@@ -391,6 +395,7 @@ declare const VCheckbox: {
391
395
  prependIcon?: IconValue | undefined;
392
396
  appendIcon?: IconValue | undefined;
393
397
  defaultsTarget?: string | undefined;
398
+ baseColor?: string | undefined;
394
399
  trueValue?: any;
395
400
  falseValue?: any;
396
401
  'onClick:append'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
@@ -477,6 +482,7 @@ declare const VCheckbox: {
477
482
  prependIcon?: IconValue | undefined;
478
483
  appendIcon?: IconValue | undefined;
479
484
  defaultsTarget?: string | undefined;
485
+ baseColor?: string | undefined;
480
486
  trueValue?: any;
481
487
  falseValue?: any;
482
488
  'onClick:append'?: EventProp<[MouseEvent], (args_0: MouseEvent) => any> | undefined;
@@ -621,6 +627,7 @@ declare const VCheckbox: {
621
627
  type: vue.PropType<typeof deepEqual>;
622
628
  default: typeof deepEqual;
623
629
  };
630
+ baseColor: StringConstructor;
624
631
  trueValue: null;
625
632
  falseValue: null;
626
633
  indeterminateIcon: {
@@ -710,6 +717,7 @@ declare const VCheckbox: {
710
717
  type: vue.PropType<typeof deepEqual>;
711
718
  default: typeof deepEqual;
712
719
  };
720
+ baseColor: StringConstructor;
713
721
  trueValue: null;
714
722
  falseValue: null;
715
723
  indeterminateIcon: {
@@ -843,6 +851,7 @@ declare const VCheckboxBtn: {
843
851
  modelValue?: any;
844
852
  "onUpdate:modelValue"?: ((value: any) => any) | undefined;
845
853
  defaultsTarget?: string | undefined;
854
+ baseColor?: string | undefined;
846
855
  trueValue?: any;
847
856
  falseValue?: any;
848
857
  "v-slot:input"?: false | ((arg: SelectionControlSlot) => vue.VNodeChild) | undefined;
@@ -901,6 +910,7 @@ declare const VCheckboxBtn: {
901
910
  theme?: string | undefined;
902
911
  modelValue?: any;
903
912
  defaultsTarget?: string | undefined;
913
+ baseColor?: string | undefined;
904
914
  trueValue?: any;
905
915
  falseValue?: any;
906
916
  } & {
@@ -1005,6 +1015,7 @@ declare const VCheckboxBtn: {
1005
1015
  theme?: string | undefined;
1006
1016
  modelValue?: any;
1007
1017
  defaultsTarget?: string | undefined;
1018
+ baseColor?: string | undefined;
1008
1019
  trueValue?: any;
1009
1020
  falseValue?: any;
1010
1021
  } & {
@@ -1063,6 +1074,7 @@ declare const VCheckboxBtn: {
1063
1074
  theme?: string | undefined;
1064
1075
  modelValue?: any;
1065
1076
  defaultsTarget?: string | undefined;
1077
+ baseColor?: string | undefined;
1066
1078
  trueValue?: any;
1067
1079
  falseValue?: any;
1068
1080
  } & {
@@ -1168,6 +1180,7 @@ declare const VCheckboxBtn: {
1168
1180
  default: typeof deepEqual;
1169
1181
  };
1170
1182
  label: StringConstructor;
1183
+ baseColor: StringConstructor;
1171
1184
  trueValue: null;
1172
1185
  falseValue: null;
1173
1186
  value: null;
@@ -1222,6 +1235,7 @@ declare const VCheckboxBtn: {
1222
1235
  default: typeof deepEqual;
1223
1236
  };
1224
1237
  label: StringConstructor;
1238
+ baseColor: StringConstructor;
1225
1239
  trueValue: null;
1226
1240
  falseValue: null;
1227
1241
  value: null;
@@ -10,12 +10,14 @@
10
10
  justify-content: center;
11
11
  text-align: center;
12
12
  }
13
- .v-color-picker-edit__input:not(:last-child).v-locale--is-ltr, .v-locale--is-ltr .v-color-picker-edit__input:not(:last-child) {
13
+ .v-locale--is-ltr.v-color-picker-edit__input:not(:last-child), .v-locale--is-ltr .v-color-picker-edit__input:not(:last-child) {
14
14
  margin-right: 8px;
15
15
  }
16
- .v-color-picker-edit__input:not(:last-child).v-locale--is-rtl, .v-locale--is-rtl .v-color-picker-edit__input:not(:last-child) {
16
+
17
+ .v-locale--is-rtl.v-color-picker-edit__input:not(:last-child), .v-locale--is-rtl .v-color-picker-edit__input:not(:last-child) {
17
18
  margin-left: 8px;
18
19
  }
20
+
19
21
  .v-color-picker-edit__input input {
20
22
  border-radius: 4px;
21
23
  margin-bottom: 8px;
@@ -1,12 +1,14 @@
1
1
  .v-color-picker-preview__alpha .v-slider-track__background {
2
2
  background-color: transparent !important;
3
3
  }
4
- .v-color-picker-preview__alpha .v-slider-track__background.v-locale--is-ltr, .v-locale--is-ltr .v-color-picker-preview__alpha .v-slider-track__background {
4
+ .v-locale--is-ltr.v-color-picker-preview__alpha .v-slider-track__background, .v-locale--is-ltr .v-color-picker-preview__alpha .v-slider-track__background {
5
5
  background-image: linear-gradient(to right, transparent, var(--v-color-picker-color-hsv));
6
6
  }
7
- .v-color-picker-preview__alpha .v-slider-track__background.v-locale--is-rtl, .v-locale--is-rtl .v-color-picker-preview__alpha .v-slider-track__background {
7
+
8
+ .v-locale--is-rtl.v-color-picker-preview__alpha .v-slider-track__background, .v-locale--is-rtl .v-color-picker-preview__alpha .v-slider-track__background {
8
9
  background-image: linear-gradient(to left, transparent, var(--v-color-picker-color-hsv));
9
10
  }
11
+
10
12
  .v-color-picker-preview__alpha .v-slider-track__background::after {
11
13
  content: "";
12
14
  z-index: -1;
@@ -33,21 +35,24 @@
33
35
  border-radius: 50%;
34
36
  overflow: hidden;
35
37
  }
36
- .v-color-picker-preview__dot.v-locale--is-ltr, .v-locale--is-ltr .v-color-picker-preview__dot {
38
+ .v-locale--is-ltr.v-color-picker-preview__dot, .v-locale--is-ltr .v-color-picker-preview__dot {
37
39
  margin-right: 24px;
38
40
  }
39
- .v-color-picker-preview__dot.v-locale--is-rtl, .v-locale--is-rtl .v-color-picker-preview__dot {
41
+
42
+ .v-locale--is-rtl.v-color-picker-preview__dot, .v-locale--is-rtl .v-color-picker-preview__dot {
40
43
  margin-left: 24px;
41
44
  }
45
+
42
46
  .v-color-picker-preview__dot > div {
43
47
  width: 100%;
44
48
  height: 100%;
45
49
  }
46
50
 
47
- .v-color-picker-preview__hue:not(.v-input--is-disabled) .v-slider-track__background.v-locale--is-ltr, .v-locale--is-ltr .v-color-picker-preview__hue:not(.v-input--is-disabled) .v-slider-track__background {
51
+ .v-locale--is-ltr.v-color-picker-preview__hue:not(.v-input--is-disabled) .v-slider-track__background, .v-locale--is-ltr .v-color-picker-preview__hue:not(.v-input--is-disabled) .v-slider-track__background {
48
52
  background: linear-gradient(to right, #F00 0%, #FF0 16.66%, #0F0 33.33%, #0FF 50%, #00F 66.66%, #F0F 83.33%, #F00 100%);
49
53
  }
50
- .v-color-picker-preview__hue:not(.v-input--is-disabled) .v-slider-track__background.v-locale--is-rtl, .v-locale--is-rtl .v-color-picker-preview__hue:not(.v-input--is-disabled) .v-slider-track__background {
54
+
55
+ .v-locale--is-rtl.v-color-picker-preview__hue:not(.v-input--is-disabled) .v-slider-track__background, .v-locale--is-rtl .v-color-picker-preview__hue:not(.v-input--is-disabled) .v-slider-track__background {
51
56
  background: linear-gradient(to left, #F00 0%, #FF0 16.66%, #0F0 33.33%, #0FF 50%, #00F 66.66%, #F0F 83.33%, #F00 100%);
52
57
  }
53
58
 
@@ -64,4 +69,9 @@
64
69
  align-items: center;
65
70
  display: flex;
66
71
  margin-bottom: 0;
72
+ }
73
+
74
+ .v-color-picker-preview__eye-dropper {
75
+ position: relative;
76
+ margin-right: 12px;
67
77
  }
@@ -3,10 +3,12 @@ import { createVNode as _createVNode } from "vue";
3
3
  import "./VColorPickerPreview.css";
4
4
 
5
5
  // Components
6
+ import { VBtn } from "../VBtn/index.mjs";
6
7
  import { VSlider } from "../VSlider/index.mjs"; // Composables
7
8
  import { makeComponentProps } from "../../composables/component.mjs"; // Utilities
9
+ import { onUnmounted } from 'vue';
8
10
  import { nullColor } from "./util/index.mjs";
9
- import { defineComponent, HSVtoCSS, propsFactory, useRender } from "../../util/index.mjs"; // Types
11
+ import { defineComponent, HexToHSV, HSVtoCSS, propsFactory, SUPPORTS_EYE_DROPPER, useRender } from "../../util/index.mjs"; // Types
10
12
  export const makeVColorPickerPreviewProps = propsFactory({
11
13
  color: {
12
14
  type: Object
@@ -25,12 +27,36 @@ export const VColorPickerPreview = defineComponent({
25
27
  let {
26
28
  emit
27
29
  } = _ref;
30
+ const abortController = new AbortController();
31
+ onUnmounted(() => abortController.abort());
32
+ async function openEyeDropper() {
33
+ if (!SUPPORTS_EYE_DROPPER) return;
34
+ const eyeDropper = new window.EyeDropper();
35
+ try {
36
+ const result = await eyeDropper.open({
37
+ signal: abortController.signal
38
+ });
39
+ const colorHexValue = HexToHSV(result.sRGBHex);
40
+ emit('update:color', {
41
+ ...(props.color ?? nullColor),
42
+ ...colorHexValue
43
+ });
44
+ } catch (e) {}
45
+ }
28
46
  useRender(() => _createVNode("div", {
29
47
  "class": ['v-color-picker-preview', {
30
48
  'v-color-picker-preview--hide-alpha': props.hideAlpha
31
49
  }, props.class],
32
50
  "style": props.style
33
- }, [_createVNode("div", {
51
+ }, [SUPPORTS_EYE_DROPPER && _createVNode("div", {
52
+ "class": "v-color-picker-preview__eye-dropper",
53
+ "key": "eyeDropper"
54
+ }, [_createVNode(VBtn, {
55
+ "onClick": openEyeDropper,
56
+ "icon": "$eyeDropper",
57
+ "variant": "plain",
58
+ "density": "comfortable"
59
+ }, null)]), _createVNode("div", {
34
60
  "class": "v-color-picker-preview__dot"
35
61
  }, [_createVNode("div", {
36
62
  "style": {