@vuetify/nightly 3.0.0-beta.10 → 3.0.0-beta.13

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 (224) hide show
  1. package/CHANGELOG.md +13 -2
  2. package/dist/json/attributes.json +37 -29
  3. package/dist/json/importMap.json +46 -46
  4. package/dist/json/tags.json +10 -8
  5. package/dist/json/web-types.json +101 -87
  6. package/dist/vuetify.css +545 -441
  7. package/dist/vuetify.d.ts +12095 -10059
  8. package/dist/vuetify.esm.js +401 -266
  9. package/dist/vuetify.esm.js.map +1 -1
  10. package/dist/vuetify.js +371 -236
  11. package/dist/vuetify.js.map +1 -1
  12. package/dist/vuetify.min.css +3 -3
  13. package/dist/vuetify.min.js +496 -490
  14. package/dist/vuetify.min.js.map +1 -1
  15. package/lib/blueprints/index.d.ts +171 -0
  16. package/lib/blueprints/md1.d.ts +167 -0
  17. package/lib/blueprints/md2.d.ts +167 -0
  18. package/lib/blueprints/md3.d.ts +167 -0
  19. package/lib/components/VAlert/index.d.ts +185 -0
  20. package/lib/components/VApp/index.d.ts +83 -0
  21. package/lib/components/VAppBar/VAppBar.css +3 -0
  22. package/lib/components/VAppBar/VAppBar.sass +3 -0
  23. package/lib/components/VAppBar/index.d.ts +156 -0
  24. package/lib/components/VAutocomplete/VAutocomplete.mjs +1 -1
  25. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  26. package/lib/components/VAutocomplete/index.d.ts +1569 -0
  27. package/lib/components/VAvatar/VAvatar.css +44 -2
  28. package/lib/components/VAvatar/VAvatar.mjs +16 -12
  29. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  30. package/lib/components/VAvatar/VAvatar.sass +5 -1
  31. package/lib/components/VAvatar/_variables.scss +9 -4
  32. package/lib/components/VAvatar/index.d.ts +80 -0
  33. package/lib/components/VBadge/index.d.ts +123 -0
  34. package/lib/components/VBanner/index.d.ts +122 -0
  35. package/lib/components/VBottomNavigation/index.d.ts +143 -0
  36. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +2 -2
  37. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
  38. package/lib/components/VBreadcrumbs/index.d.ts +301 -0
  39. package/lib/components/VBtn/VBtn.css +8 -3
  40. package/lib/components/VBtn/VBtn.mjs +16 -6
  41. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  42. package/lib/components/VBtn/index.d.ts +210 -0
  43. package/lib/components/VBtnGroup/index.d.ts +65 -0
  44. package/lib/components/VBtnToggle/VBtnToggle.mjs +1 -3
  45. package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
  46. package/lib/components/VBtnToggle/index.d.ts +175 -0
  47. package/lib/components/VCard/VCard.css +8 -3
  48. package/lib/components/VCard/index.d.ts +230 -0
  49. package/lib/components/VCarousel/VCarousel.mjs +3 -3
  50. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  51. package/lib/components/VCarousel/index.d.ts +80 -0
  52. package/lib/components/VCheckbox/index.d.ts +291 -0
  53. package/lib/components/VChip/index.d.ts +195 -0
  54. package/lib/components/VChipGroup/index.d.ts +89 -0
  55. package/lib/components/VCode/index.d.ts +19 -0
  56. package/lib/components/VColorPicker/index.d.ts +116 -0
  57. package/lib/components/VCombobox/VCombobox.mjs +1 -1
  58. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  59. package/lib/components/VCombobox/index.d.ts +1590 -0
  60. package/lib/components/VCounter/index.d.ts +223 -0
  61. package/lib/components/VDefaultsProvider/index.d.ts +26 -0
  62. package/lib/components/VDialog/VDialog.css +2 -0
  63. package/lib/components/VDialog/VDialog.mjs +17 -12
  64. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  65. package/lib/components/VDialog/VDialog.sass +2 -0
  66. package/lib/components/VDialog/index.d.ts +859 -0
  67. package/lib/components/VDivider/index.d.ts +22 -0
  68. package/lib/components/VExpansionPanel/VExpansionPanel.css +8 -3
  69. package/lib/components/VExpansionPanel/index.d.ts +206 -0
  70. package/lib/components/VField/VField.css +27 -24
  71. package/lib/components/VField/VField.mjs +1 -1
  72. package/lib/components/VField/VField.mjs.map +1 -1
  73. package/lib/components/VField/VField.sass +23 -21
  74. package/lib/components/VField/index.d.ts +332 -0
  75. package/lib/components/VFileInput/VFileInput.mjs +3 -3
  76. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  77. package/lib/components/VFileInput/index.d.ts +236 -0
  78. package/lib/components/VFooter/VFooter.css +7 -0
  79. package/lib/components/VFooter/VFooter.sass +1 -1
  80. package/lib/components/VFooter/_variables.scss +11 -0
  81. package/lib/components/VFooter/index.d.ts +76 -0
  82. package/lib/components/VForm/index.d.ts +72 -0
  83. package/lib/components/VGrid/index.d.ts +154 -0
  84. package/lib/components/VHover/index.d.ts +30 -0
  85. package/lib/components/VIcon/index.d.ts +124 -0
  86. package/lib/components/VImg/VImg.mjs +29 -27
  87. package/lib/components/VImg/VImg.mjs.map +1 -1
  88. package/lib/components/VImg/index.d.ts +89 -0
  89. package/lib/components/VInput/VInput.mjs +4 -4
  90. package/lib/components/VInput/VInput.mjs.map +1 -1
  91. package/lib/components/VInput/index.d.ts +325 -0
  92. package/lib/components/VItemGroup/index.d.ts +210 -0
  93. package/lib/components/VKbd/index.d.ts +19 -0
  94. package/lib/components/VLabel/VLabel.css +4 -1
  95. package/lib/components/VLabel/VLabel.mjs +4 -1
  96. package/lib/components/VLabel/VLabel.mjs.map +1 -1
  97. package/lib/components/VLabel/VLabel.sass +3 -1
  98. package/lib/components/VLabel/index.d.ts +16 -0
  99. package/lib/components/VLayout/index.d.ts +75 -0
  100. package/lib/components/VLazy/index.d.ts +85 -0
  101. package/lib/components/VList/VListItem.css +8 -3
  102. package/lib/components/VList/VListItem.mjs +4 -4
  103. package/lib/components/VList/VListItem.mjs.map +1 -1
  104. package/lib/components/VList/index.d.ts +1250 -0
  105. package/lib/components/VLocaleProvider/index.d.ts +23 -0
  106. package/lib/components/VMain/index.d.ts +26 -0
  107. package/lib/components/VMenu/VMenu.mjs +16 -3
  108. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  109. package/lib/components/VMenu/index.d.ts +817 -0
  110. package/lib/components/VMessages/index.d.ts +234 -0
  111. package/lib/components/VNavigationDrawer/index.d.ts +148 -0
  112. package/lib/components/VNoSsr/index.d.ts +7 -0
  113. package/lib/components/VOverlay/VOverlay.mjs +4 -3
  114. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  115. package/lib/components/VOverlay/index.d.ts +579 -0
  116. package/lib/components/VOverlay/useActivator.mjs +27 -1
  117. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  118. package/lib/components/VPagination/VPagination.mjs +6 -3
  119. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  120. package/lib/components/VPagination/index.d.ts +247 -0
  121. package/lib/components/VParallax/VParallax.mjs +24 -10
  122. package/lib/components/VParallax/VParallax.mjs.map +1 -1
  123. package/lib/components/VParallax/index.d.ts +18 -0
  124. package/lib/components/VProgressCircular/index.d.ts +68 -0
  125. package/lib/components/VProgressLinear/index.d.ts +101 -0
  126. package/lib/components/VRadio/index.d.ts +103 -0
  127. package/lib/components/VRadioGroup/VRadioGroup.css +2 -3
  128. package/lib/components/VRadioGroup/VRadioGroup.mjs +2 -1
  129. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  130. package/lib/components/VRadioGroup/VRadioGroup.sass +2 -2
  131. package/lib/components/VRadioGroup/_variables.scss +0 -1
  132. package/lib/components/VRadioGroup/index.d.ts +186 -0
  133. package/lib/components/VRangeSlider/VRangeSlider.mjs +12 -2
  134. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  135. package/lib/components/VRangeSlider/index.d.ts +242 -0
  136. package/lib/components/VRating/index.d.ts +356 -0
  137. package/lib/components/VResponsive/index.d.ts +23 -0
  138. package/lib/components/VSelect/VSelect.mjs +1 -1
  139. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  140. package/lib/components/VSelect/index.d.ts +1521 -0
  141. package/lib/components/VSelectionControl/VSelectionControl.mjs +2 -1
  142. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  143. package/lib/components/VSelectionControl/index.d.ts +275 -0
  144. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.css +5 -0
  145. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +3 -1
  146. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
  147. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.sass +5 -0
  148. package/lib/components/VSelectionControlGroup/index.d.ts +47 -0
  149. package/lib/components/VSheet/index.d.ts +68 -0
  150. package/lib/components/VSlideGroup/index.d.ts +151 -0
  151. package/lib/components/VSlider/VSlider.css +7 -2
  152. package/lib/components/VSlider/VSlider.mjs +14 -4
  153. package/lib/components/VSlider/VSlider.mjs.map +1 -1
  154. package/lib/components/VSlider/VSlider.sass +6 -2
  155. package/lib/components/VSlider/VSliderTrack.css +20 -20
  156. package/lib/components/VSlider/VSliderTrack.mjs +7 -3
  157. package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
  158. package/lib/components/VSlider/VSliderTrack.sass +14 -14
  159. package/lib/components/VSlider/_variables.scss +2 -2
  160. package/lib/components/VSlider/index.d.ts +239 -0
  161. package/lib/components/VSlider/slider.mjs +2 -2
  162. package/lib/components/VSlider/slider.mjs.map +1 -1
  163. package/lib/components/VSnackbar/VSnackbar.mjs +3 -2
  164. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  165. package/lib/components/VSnackbar/index.d.ts +892 -0
  166. package/lib/components/VSwitch/index.d.ts +175 -0
  167. package/lib/components/VSystemBar/index.d.ts +61 -0
  168. package/lib/components/VTable/index.d.ts +39 -0
  169. package/lib/components/VTabs/VTab.mjs +1 -0
  170. package/lib/components/VTabs/VTab.mjs.map +1 -1
  171. package/lib/components/VTabs/index.d.ts +178 -0
  172. package/lib/components/VTextField/VTextField.css +2 -3
  173. package/lib/components/VTextField/VTextField.sass +2 -4
  174. package/lib/components/VTextField/index.d.ts +582 -0
  175. package/lib/components/VTextarea/VTextarea.css +5 -3
  176. package/lib/components/VTextarea/VTextarea.mjs +2 -1
  177. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  178. package/lib/components/VTextarea/VTextarea.sass +5 -4
  179. package/lib/components/VTextarea/index.d.ts +218 -0
  180. package/lib/components/VThemeProvider/index.d.ts +24 -0
  181. package/lib/components/VTimeline/VTimeline.css +21 -6
  182. package/lib/components/VTimeline/VTimeline.mjs +6 -1
  183. package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
  184. package/lib/components/VTimeline/VTimeline.sass +16 -2
  185. package/lib/components/VTimeline/_variables.scss +4 -3
  186. package/lib/components/VTimeline/index.d.ts +154 -0
  187. package/lib/components/VToolbar/VToolbar.css +0 -1
  188. package/lib/components/VToolbar/VToolbar.sass +0 -1
  189. package/lib/components/VToolbar/index.d.ts +414 -0
  190. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  191. package/lib/components/VTooltip/index.d.ts +799 -0
  192. package/lib/components/VValidation/index.d.ts +61 -0
  193. package/lib/components/VWindow/index.d.ts +428 -0
  194. package/lib/components/index.d.ts +12037 -10009
  195. package/lib/components/transitions/index.d.ts +454 -0
  196. package/lib/composables/display.mjs +3 -3
  197. package/lib/composables/display.mjs.map +1 -1
  198. package/lib/composables/items.mjs.map +1 -1
  199. package/lib/composables/locale.mjs +10 -3
  200. package/lib/composables/locale.mjs.map +1 -1
  201. package/lib/composables/proxiedModel.mjs +28 -10
  202. package/lib/composables/proxiedModel.mjs.map +1 -1
  203. package/lib/composables/router.mjs +10 -2
  204. package/lib/composables/router.mjs.map +1 -1
  205. package/lib/composables/selectLink.mjs +4 -4
  206. package/lib/composables/selectLink.mjs.map +1 -1
  207. package/lib/composables/theme.mjs +37 -33
  208. package/lib/composables/theme.mjs.map +1 -1
  209. package/lib/composables/validation.mjs +1 -1
  210. package/lib/composables/validation.mjs.map +1 -1
  211. package/lib/entry-bundler.mjs +1 -1
  212. package/lib/framework.mjs +46 -51
  213. package/lib/framework.mjs.map +1 -1
  214. package/lib/index.d.ts +31 -22
  215. package/lib/locale/adapters/vue-i18n.d.ts +35 -0
  216. package/lib/locale/adapters/vue-intl.d.ts +42 -0
  217. package/lib/styles/main.css +73 -73
  218. package/lib/styles/settings/_colors.scss +84 -84
  219. package/lib/styles/tools/_states.sass +8 -3
  220. package/lib/util/getCurrentInstance.mjs +2 -3
  221. package/lib/util/getCurrentInstance.mjs.map +1 -1
  222. package/lib/util/helpers.mjs +6 -11
  223. package/lib/util/helpers.mjs.map +1 -1
  224. package/package.json +4 -2
@@ -198,7 +198,8 @@ export const VSelectionControl = genericComponent()({
198
198
  id: id.value
199
199
  }
200
200
  })]), [[_resolveDirective("ripple"), props.ripple && [!props.disabled && !props.readonly, null, ['center', 'circle']]]])]), label && _createVNode(VLabel, {
201
- "for": id.value
201
+ "for": id.value,
202
+ "clickable": true
202
203
  }, {
203
204
  default: () => [label]
204
205
  })]);
@@ -1 +1 @@
1
- {"version":3,"file":"VSelectionControl.mjs","names":["VIcon","VLabel","VSelectionControlGroupSymbol","Ripple","IconValue","makeDensityProps","useDensity","makeThemeProps","useProxiedModel","useTextColor","computed","inject","ref","deepEqual","filterInputAttrs","genericComponent","getUid","pick","propsFactory","SUPPORTS_FOCUS_VISIBLE","useRender","wrapInArray","makeSelectionControlProps","color","String","disabled","Boolean","error","id","inline","label","falseIcon","trueIcon","ripple","type","default","multiple","name","readonly","trueValue","falseValue","modelValue","value","valueComparator","Function","useSelectionControl","props","group","undefined","densityClasses","isMultiple","Array","isArray","model","get","val","some","v","set","currentValue","newVal","filter","item","textColorClasses","textColorStyles","icon","VSelectionControl","directives","inheritAttrs","emits","setup","attrs","slots","uid","isFocused","isFocusVisible","input","onFocus","e","target","matches","onBlur","onInput","checked","for","rootAttrs","inputAttrs","filterControlProps","Object","keys"],"sources":["../../../src/components/VSelectionControl/VSelectionControl.tsx"],"sourcesContent":["// Styles\nimport './VSelectionControl.sass'\n\n// Components\nimport { VIcon } from '@/components/VIcon'\nimport { VLabel } from '@/components/VLabel'\nimport { VSelectionControlGroupSymbol } from '@/components/VSelectionControlGroup/VSelectionControlGroup'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeThemeProps } from '@/composables/theme'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed, inject, ref } from 'vue'\nimport {\n deepEqual,\n filterInputAttrs,\n genericComponent,\n getUid,\n pick,\n propsFactory,\n SUPPORTS_FOCUS_VISIBLE,\n useRender,\n wrapInArray,\n} from '@/util'\n\n// Types\nimport type { ComputedRef, ExtractPropTypes, PropType, Ref, WritableComputedRef } from 'vue'\nimport type { MakeSlots } from '@/util'\n\nexport type SelectionControlSlot = {\n model: WritableComputedRef<any>\n isReadonly: ComputedRef<boolean>\n isDisabled: ComputedRef<boolean>\n textColorClasses: Ref<string[]>\n props: {\n onBlur: (e: Event) => void\n onFocus: (e: FocusEvent) => void\n id: string\n }\n}\n\nexport const makeSelectionControlProps = propsFactory({\n color: String,\n disabled: Boolean,\n error: Boolean,\n id: String,\n inline: Boolean,\n label: String,\n falseIcon: IconValue,\n trueIcon: IconValue,\n ripple: {\n type: Boolean,\n default: true,\n },\n multiple: {\n type: Boolean as PropType<boolean | null>,\n default: null,\n },\n name: String,\n readonly: Boolean,\n trueValue: null,\n falseValue: null,\n modelValue: null,\n type: String,\n value: null,\n valueComparator: {\n type: Function as PropType<typeof deepEqual>,\n default: deepEqual,\n },\n\n ...makeThemeProps(),\n ...makeDensityProps(),\n})\n\nexport function useSelectionControl (\n props: ExtractPropTypes<ReturnType<typeof makeSelectionControlProps>> & {\n 'onUpdate:modelValue': ((val: any) => void) | undefined\n }\n) {\n const group = inject(VSelectionControlGroupSymbol, undefined)\n const { densityClasses } = useDensity(props)\n const modelValue = useProxiedModel(props, 'modelValue')\n const trueValue = computed(() => (\n props.trueValue !== undefined ? props.trueValue\n : props.value !== undefined ? props.value\n : true\n ))\n const falseValue = computed(() => props.falseValue !== undefined ? props.falseValue : false)\n const isMultiple = computed(() => (\n group?.multiple.value ||\n !!props.multiple ||\n (props.multiple == null && Array.isArray(modelValue.value))\n ))\n const model = computed({\n get () {\n const val = group ? group.modelValue.value : modelValue.value\n\n return isMultiple.value\n ? val.some((v: any) => props.valueComparator(v, trueValue.value))\n : props.valueComparator(val, trueValue.value)\n },\n set (val: boolean) {\n if (props.readonly) return\n\n const currentValue = val ? trueValue.value : falseValue.value\n\n let newVal = currentValue\n\n if (isMultiple.value) {\n newVal = val\n ? [...wrapInArray(modelValue.value), currentValue]\n : wrapInArray(modelValue.value).filter((item: any) => !props.valueComparator(item, trueValue.value))\n }\n\n if (group) {\n group.modelValue.value = newVal\n } else {\n modelValue.value = newVal\n }\n },\n })\n const { textColorClasses, textColorStyles } = useTextColor(computed(() => {\n return (\n model.value &&\n !props.error &&\n !props.disabled\n ) ? props.color : undefined\n }))\n const icon = computed(() => {\n return model.value\n ? group?.trueIcon.value ?? props.trueIcon\n : group?.falseIcon.value ?? props.falseIcon\n })\n\n return {\n group,\n densityClasses,\n trueValue,\n falseValue,\n model,\n textColorClasses,\n textColorStyles,\n icon,\n }\n}\n\nexport const VSelectionControl = genericComponent<new <T>() => {\n $props: {\n modelValue?: T\n 'onUpdate:modelValue'?: (val: T) => any\n }\n $slots: MakeSlots<{\n default: []\n input: [SelectionControlSlot]\n }>\n}>()({\n name: 'VSelectionControl',\n\n directives: { Ripple },\n\n inheritAttrs: false,\n\n props: makeSelectionControlProps(),\n\n emits: {\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { attrs, slots }) {\n const {\n densityClasses,\n group,\n icon,\n model,\n textColorClasses,\n textColorStyles,\n trueValue,\n } = useSelectionControl(props)\n const uid = getUid()\n const id = computed(() => props.id || `input-${uid}`)\n const isFocused = ref(false)\n const isFocusVisible = ref(false)\n const input = ref<HTMLInputElement>()\n\n function onFocus (e: FocusEvent) {\n isFocused.value = true\n if (\n !SUPPORTS_FOCUS_VISIBLE ||\n (SUPPORTS_FOCUS_VISIBLE && (e.target as HTMLElement).matches(':focus-visible'))\n ) {\n isFocusVisible.value = true\n }\n }\n\n function onBlur () {\n isFocused.value = false\n isFocusVisible.value = false\n }\n\n function onInput (e: Event) {\n model.value = (e.target as HTMLInputElement).checked\n }\n\n useRender(() => {\n const label = slots.label\n ? slots.label({\n label: props.label,\n props: { for: id.value },\n })\n : props.label\n const type = group?.type.value ?? props.type\n const [rootAttrs, inputAttrs] = filterInputAttrs(attrs)\n\n return (\n <div\n class={[\n 'v-selection-control',\n {\n 'v-selection-control--dirty': model.value,\n 'v-selection-control--disabled': props.disabled,\n 'v-selection-control--error': props.error,\n 'v-selection-control--focused': isFocused.value,\n 'v-selection-control--focus-visible': isFocusVisible.value,\n 'v-selection-control--inline': group?.inline.value || props.inline,\n },\n densityClasses.value,\n ]}\n { ...rootAttrs }\n >\n <div\n class={[\n 'v-selection-control__wrapper',\n textColorClasses.value,\n ]}\n style={ textColorStyles.value }\n >\n { slots.default?.() }\n\n <div\n class={[\n 'v-selection-control__input',\n ]}\n v-ripple={ props.ripple && [\n !props.disabled && !props.readonly,\n null,\n ['center', 'circle'],\n ]}\n >\n { icon.value && <VIcon key=\"icon\" icon={ icon.value } /> }\n\n <input\n ref={ input }\n checked={ model.value }\n disabled={ props.disabled }\n id={ id.value }\n onBlur={ onBlur }\n onFocus={ onFocus }\n onInput={ onInput }\n aria-readonly={ props.readonly }\n type={ type }\n value={ trueValue.value }\n name={ group?.name.value ?? props.name }\n aria-checked={ type === 'checkbox' ? model.value : undefined }\n { ...inputAttrs }\n />\n\n { slots.input?.({\n model,\n textColorClasses,\n props: {\n onFocus,\n onBlur,\n id: id.value,\n },\n }) }\n </div>\n </div>\n\n { label && (\n <VLabel for={ id.value }>\n { label }\n </VLabel>\n ) }\n </div>\n )\n })\n\n return {\n isFocused,\n input,\n }\n },\n})\n\nexport type VSelectionControl = InstanceType<typeof VSelectionControl>\n\nexport function filterControlProps (props: ExtractPropTypes<ReturnType<typeof makeSelectionControlProps>>) {\n return pick(props, Object.keys(VSelectionControl.props) as any)\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"VSelectionControl.mjs","names":["VIcon","VLabel","VSelectionControlGroupSymbol","Ripple","IconValue","makeDensityProps","useDensity","makeThemeProps","useProxiedModel","useTextColor","computed","inject","ref","deepEqual","filterInputAttrs","genericComponent","getUid","pick","propsFactory","SUPPORTS_FOCUS_VISIBLE","useRender","wrapInArray","makeSelectionControlProps","color","String","disabled","Boolean","error","id","inline","label","falseIcon","trueIcon","ripple","type","default","multiple","name","readonly","trueValue","falseValue","modelValue","value","valueComparator","Function","useSelectionControl","props","group","undefined","densityClasses","isMultiple","Array","isArray","model","get","val","some","v","set","currentValue","newVal","filter","item","textColorClasses","textColorStyles","icon","VSelectionControl","directives","inheritAttrs","emits","setup","attrs","slots","uid","isFocused","isFocusVisible","input","onFocus","e","target","matches","onBlur","onInput","checked","for","rootAttrs","inputAttrs","filterControlProps","Object","keys"],"sources":["../../../src/components/VSelectionControl/VSelectionControl.tsx"],"sourcesContent":["// Styles\nimport './VSelectionControl.sass'\n\n// Components\nimport { VIcon } from '@/components/VIcon'\nimport { VLabel } from '@/components/VLabel'\nimport { VSelectionControlGroupSymbol } from '@/components/VSelectionControlGroup/VSelectionControlGroup'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeThemeProps } from '@/composables/theme'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed, inject, ref } from 'vue'\nimport {\n deepEqual,\n filterInputAttrs,\n genericComponent,\n getUid,\n pick,\n propsFactory,\n SUPPORTS_FOCUS_VISIBLE,\n useRender,\n wrapInArray,\n} from '@/util'\n\n// Types\nimport type { ComputedRef, ExtractPropTypes, PropType, Ref, WritableComputedRef } from 'vue'\nimport type { MakeSlots } from '@/util'\n\nexport type SelectionControlSlot = {\n model: WritableComputedRef<any>\n isReadonly: ComputedRef<boolean>\n isDisabled: ComputedRef<boolean>\n textColorClasses: Ref<string[]>\n props: {\n onBlur: (e: Event) => void\n onFocus: (e: FocusEvent) => void\n id: string\n }\n}\n\nexport const makeSelectionControlProps = propsFactory({\n color: String,\n disabled: Boolean,\n error: Boolean,\n id: String,\n inline: Boolean,\n label: String,\n falseIcon: IconValue,\n trueIcon: IconValue,\n ripple: {\n type: Boolean,\n default: true,\n },\n multiple: {\n type: Boolean as PropType<boolean | null>,\n default: null,\n },\n name: String,\n readonly: Boolean,\n trueValue: null,\n falseValue: null,\n modelValue: null,\n type: String,\n value: null,\n valueComparator: {\n type: Function as PropType<typeof deepEqual>,\n default: deepEqual,\n },\n\n ...makeThemeProps(),\n ...makeDensityProps(),\n})\n\nexport function useSelectionControl (\n props: ExtractPropTypes<ReturnType<typeof makeSelectionControlProps>> & {\n 'onUpdate:modelValue': ((val: any) => void) | undefined\n }\n) {\n const group = inject(VSelectionControlGroupSymbol, undefined)\n const { densityClasses } = useDensity(props)\n const modelValue = useProxiedModel(props, 'modelValue')\n const trueValue = computed(() => (\n props.trueValue !== undefined ? props.trueValue\n : props.value !== undefined ? props.value\n : true\n ))\n const falseValue = computed(() => props.falseValue !== undefined ? props.falseValue : false)\n const isMultiple = computed(() => (\n group?.multiple.value ||\n !!props.multiple ||\n (props.multiple == null && Array.isArray(modelValue.value))\n ))\n const model = computed({\n get () {\n const val = group ? group.modelValue.value : modelValue.value\n\n return isMultiple.value\n ? val.some((v: any) => props.valueComparator(v, trueValue.value))\n : props.valueComparator(val, trueValue.value)\n },\n set (val: boolean) {\n if (props.readonly) return\n\n const currentValue = val ? trueValue.value : falseValue.value\n\n let newVal = currentValue\n\n if (isMultiple.value) {\n newVal = val\n ? [...wrapInArray(modelValue.value), currentValue]\n : wrapInArray(modelValue.value).filter((item: any) => !props.valueComparator(item, trueValue.value))\n }\n\n if (group) {\n group.modelValue.value = newVal\n } else {\n modelValue.value = newVal\n }\n },\n })\n const { textColorClasses, textColorStyles } = useTextColor(computed(() => {\n return (\n model.value &&\n !props.error &&\n !props.disabled\n ) ? props.color : undefined\n }))\n const icon = computed(() => {\n return model.value\n ? group?.trueIcon.value ?? props.trueIcon\n : group?.falseIcon.value ?? props.falseIcon\n })\n\n return {\n group,\n densityClasses,\n trueValue,\n falseValue,\n model,\n textColorClasses,\n textColorStyles,\n icon,\n }\n}\n\nexport const VSelectionControl = genericComponent<new <T>() => {\n $props: {\n modelValue?: T\n 'onUpdate:modelValue'?: (val: T) => any\n }\n $slots: MakeSlots<{\n default: []\n input: [SelectionControlSlot]\n }>\n}>()({\n name: 'VSelectionControl',\n\n directives: { Ripple },\n\n inheritAttrs: false,\n\n props: makeSelectionControlProps(),\n\n emits: {\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { attrs, slots }) {\n const {\n densityClasses,\n group,\n icon,\n model,\n textColorClasses,\n textColorStyles,\n trueValue,\n } = useSelectionControl(props)\n const uid = getUid()\n const id = computed(() => props.id || `input-${uid}`)\n const isFocused = ref(false)\n const isFocusVisible = ref(false)\n const input = ref<HTMLInputElement>()\n\n function onFocus (e: FocusEvent) {\n isFocused.value = true\n if (\n !SUPPORTS_FOCUS_VISIBLE ||\n (SUPPORTS_FOCUS_VISIBLE && (e.target as HTMLElement).matches(':focus-visible'))\n ) {\n isFocusVisible.value = true\n }\n }\n\n function onBlur () {\n isFocused.value = false\n isFocusVisible.value = false\n }\n\n function onInput (e: Event) {\n model.value = (e.target as HTMLInputElement).checked\n }\n\n useRender(() => {\n const label = slots.label\n ? slots.label({\n label: props.label,\n props: { for: id.value },\n })\n : props.label\n const type = group?.type.value ?? props.type\n const [rootAttrs, inputAttrs] = filterInputAttrs(attrs)\n\n return (\n <div\n class={[\n 'v-selection-control',\n {\n 'v-selection-control--dirty': model.value,\n 'v-selection-control--disabled': props.disabled,\n 'v-selection-control--error': props.error,\n 'v-selection-control--focused': isFocused.value,\n 'v-selection-control--focus-visible': isFocusVisible.value,\n 'v-selection-control--inline': group?.inline.value || props.inline,\n },\n densityClasses.value,\n ]}\n { ...rootAttrs }\n >\n <div\n class={[\n 'v-selection-control__wrapper',\n textColorClasses.value,\n ]}\n style={ textColorStyles.value }\n >\n { slots.default?.() }\n\n <div\n class={[\n 'v-selection-control__input',\n ]}\n v-ripple={ props.ripple && [\n !props.disabled && !props.readonly,\n null,\n ['center', 'circle'],\n ]}\n >\n { icon.value && <VIcon key=\"icon\" icon={ icon.value } /> }\n\n <input\n ref={ input }\n checked={ model.value }\n disabled={ props.disabled }\n id={ id.value }\n onBlur={ onBlur }\n onFocus={ onFocus }\n onInput={ onInput }\n aria-readonly={ props.readonly }\n type={ type }\n value={ trueValue.value }\n name={ group?.name.value ?? props.name }\n aria-checked={ type === 'checkbox' ? model.value : undefined }\n { ...inputAttrs }\n />\n\n { slots.input?.({\n model,\n textColorClasses,\n props: {\n onFocus,\n onBlur,\n id: id.value,\n },\n }) }\n </div>\n </div>\n\n { label && (\n <VLabel for={ id.value } clickable>\n { label }\n </VLabel>\n ) }\n </div>\n )\n })\n\n return {\n isFocused,\n input,\n }\n },\n})\n\nexport type VSelectionControl = InstanceType<typeof VSelectionControl>\n\nexport function filterControlProps (props: ExtractPropTypes<ReturnType<typeof makeSelectionControlProps>>) {\n return pick(props, Object.keys(VSelectionControl.props) as any)\n}\n"],"mappings":"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"}
@@ -0,0 +1,275 @@
1
+ import * as vue from 'vue';
2
+ import { VNodeChild, JSXComponent, PropType, ExtractPropTypes, Ref, WritableComputedRef, ComputedRef } from 'vue';
3
+
4
+ declare type SlotsToProps<T extends Record<string, Slot>> = {
5
+ $children: () => (T['default'] | VNodeChild | {
6
+ [K in keyof T]?: T[K];
7
+ });
8
+ 'v-slots': new () => {
9
+ [K in keyof T]?: T[K] | false;
10
+ };
11
+ };
12
+ declare type Slot<T extends any[] = any[]> = (...args: T) => VNodeChild;
13
+ declare type MakeSlots<T extends Record<string, any[]>> = {
14
+ [K in keyof T]?: Slot<T[K]>;
15
+ };
16
+
17
+ declare function deepEqual(a: any, b: any): boolean;
18
+
19
+ declare type IconValue = string | JSXComponent;
20
+ declare const IconValue: PropType<IconValue>;
21
+
22
+ declare type SelectionControlSlot = {
23
+ model: WritableComputedRef<any>;
24
+ isReadonly: ComputedRef<boolean>;
25
+ isDisabled: ComputedRef<boolean>;
26
+ textColorClasses: Ref<string[]>;
27
+ props: {
28
+ onBlur: (e: Event) => void;
29
+ onFocus: (e: FocusEvent) => void;
30
+ id: string;
31
+ };
32
+ };
33
+ declare const VSelectionControl: {
34
+ new (...args: any[]): {
35
+ $: vue.ComponentInternalInstance;
36
+ $data: {};
37
+ $props: Partial<{
38
+ inline: boolean;
39
+ error: boolean;
40
+ disabled: boolean;
41
+ multiple: boolean | null;
42
+ readonly: boolean;
43
+ density: "default" | "compact" | "comfortable" | null;
44
+ ripple: boolean;
45
+ valueComparator: typeof deepEqual;
46
+ }> & Omit<Readonly<ExtractPropTypes<Omit<{
47
+ density: {
48
+ type: PropType<"default" | "compact" | "comfortable" | null>;
49
+ default: string;
50
+ validator: (v: any) => boolean;
51
+ };
52
+ theme: StringConstructor;
53
+ color: StringConstructor;
54
+ disabled: BooleanConstructor;
55
+ error: BooleanConstructor;
56
+ id: StringConstructor;
57
+ inline: BooleanConstructor;
58
+ label: StringConstructor;
59
+ falseIcon: PropType<IconValue>;
60
+ trueIcon: PropType<IconValue>;
61
+ ripple: {
62
+ type: BooleanConstructor;
63
+ default: boolean;
64
+ };
65
+ multiple: {
66
+ type: PropType<boolean | null>;
67
+ default: null;
68
+ };
69
+ name: StringConstructor;
70
+ readonly: BooleanConstructor;
71
+ trueValue: null;
72
+ falseValue: null;
73
+ modelValue: null;
74
+ type: StringConstructor;
75
+ value: null;
76
+ valueComparator: {
77
+ type: PropType<typeof deepEqual>;
78
+ default: typeof deepEqual;
79
+ };
80
+ }, "onUpdate:modelValue" | "modelValue"> & SlotsToProps<MakeSlots<{
81
+ default: [];
82
+ input: [SelectionControlSlot];
83
+ }>>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "inline" | "error" | "disabled" | "multiple" | "readonly" | "density" | "ripple" | "valueComparator">;
84
+ $attrs: {
85
+ [x: string]: unknown;
86
+ };
87
+ $refs: {
88
+ [x: string]: unknown;
89
+ };
90
+ $slots: Readonly<{
91
+ [name: string]: vue.Slot | undefined;
92
+ }>;
93
+ $root: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>> | null;
94
+ $parent: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>> | null;
95
+ $emit: (event: string, ...args: any[]) => void;
96
+ $el: any;
97
+ $options: vue.ComponentOptionsBase<Readonly<ExtractPropTypes<Omit<{
98
+ density: {
99
+ type: PropType<"default" | "compact" | "comfortable" | null>;
100
+ default: string;
101
+ validator: (v: any) => boolean;
102
+ };
103
+ theme: StringConstructor;
104
+ color: StringConstructor;
105
+ disabled: BooleanConstructor;
106
+ error: BooleanConstructor;
107
+ id: StringConstructor;
108
+ inline: BooleanConstructor;
109
+ label: StringConstructor;
110
+ falseIcon: PropType<IconValue>;
111
+ trueIcon: PropType<IconValue>;
112
+ ripple: {
113
+ type: BooleanConstructor;
114
+ default: boolean;
115
+ };
116
+ multiple: {
117
+ type: PropType<boolean | null>;
118
+ default: null;
119
+ };
120
+ name: StringConstructor;
121
+ readonly: BooleanConstructor;
122
+ trueValue: null;
123
+ falseValue: null;
124
+ modelValue: null;
125
+ type: StringConstructor;
126
+ value: null;
127
+ valueComparator: {
128
+ type: PropType<typeof deepEqual>;
129
+ default: typeof deepEqual;
130
+ };
131
+ }, "onUpdate:modelValue" | "modelValue"> & SlotsToProps<MakeSlots<{
132
+ default: [];
133
+ input: [SelectionControlSlot];
134
+ }>>>>, {
135
+ isFocused: Ref<boolean>;
136
+ input: Ref<HTMLInputElement | undefined>;
137
+ }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Omit<{
138
+ 'update:modelValue': (val: any) => boolean;
139
+ }, "update:modelValue" | "modelValue">, string, {
140
+ inline: boolean;
141
+ error: boolean;
142
+ disabled: boolean;
143
+ multiple: boolean | null;
144
+ readonly: boolean;
145
+ density: "default" | "compact" | "comfortable" | null;
146
+ ripple: boolean;
147
+ valueComparator: typeof deepEqual;
148
+ }> & {
149
+ beforeCreate?: ((() => void) | (() => void)[]) | undefined;
150
+ created?: ((() => void) | (() => void)[]) | undefined;
151
+ beforeMount?: ((() => void) | (() => void)[]) | undefined;
152
+ mounted?: ((() => void) | (() => void)[]) | undefined;
153
+ beforeUpdate?: ((() => void) | (() => void)[]) | undefined;
154
+ updated?: ((() => void) | (() => void)[]) | undefined;
155
+ activated?: ((() => void) | (() => void)[]) | undefined;
156
+ deactivated?: ((() => void) | (() => void)[]) | undefined;
157
+ beforeDestroy?: ((() => void) | (() => void)[]) | undefined;
158
+ beforeUnmount?: ((() => void) | (() => void)[]) | undefined;
159
+ destroyed?: ((() => void) | (() => void)[]) | undefined;
160
+ unmounted?: ((() => void) | (() => void)[]) | undefined;
161
+ renderTracked?: (((e: vue.DebuggerEvent) => void) | ((e: vue.DebuggerEvent) => void)[]) | undefined;
162
+ renderTriggered?: (((e: vue.DebuggerEvent) => void) | ((e: vue.DebuggerEvent) => void)[]) | undefined;
163
+ errorCaptured?: (((err: unknown, instance: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>> | null, info: string) => boolean | void) | ((err: unknown, instance: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>> | null, info: string) => boolean | void)[]) | undefined;
164
+ };
165
+ $forceUpdate: () => void;
166
+ $nextTick: typeof vue.nextTick;
167
+ $watch(source: string | Function, cb: Function, options?: vue.WatchOptions<boolean> | undefined): vue.WatchStopHandle;
168
+ } & Readonly<ExtractPropTypes<Omit<{
169
+ density: {
170
+ type: PropType<"default" | "compact" | "comfortable" | null>;
171
+ default: string;
172
+ validator: (v: any) => boolean;
173
+ };
174
+ theme: StringConstructor;
175
+ color: StringConstructor;
176
+ disabled: BooleanConstructor;
177
+ error: BooleanConstructor;
178
+ id: StringConstructor;
179
+ inline: BooleanConstructor;
180
+ label: StringConstructor;
181
+ falseIcon: PropType<IconValue>;
182
+ trueIcon: PropType<IconValue>;
183
+ ripple: {
184
+ type: BooleanConstructor;
185
+ default: boolean;
186
+ };
187
+ multiple: {
188
+ type: PropType<boolean | null>;
189
+ default: null;
190
+ };
191
+ name: StringConstructor;
192
+ readonly: BooleanConstructor;
193
+ trueValue: null;
194
+ falseValue: null;
195
+ modelValue: null;
196
+ type: StringConstructor;
197
+ value: null;
198
+ valueComparator: {
199
+ type: PropType<typeof deepEqual>;
200
+ default: typeof deepEqual;
201
+ };
202
+ }, "onUpdate:modelValue" | "modelValue"> & SlotsToProps<MakeSlots<{
203
+ default: [];
204
+ input: [SelectionControlSlot];
205
+ }>>>> & vue.ShallowUnwrapRef<{
206
+ isFocused: Ref<boolean>;
207
+ input: Ref<HTMLInputElement | undefined>;
208
+ }> & {} & vue.ComponentCustomProperties;
209
+ __isFragment?: undefined;
210
+ __isTeleport?: undefined;
211
+ __isSuspense?: undefined;
212
+ } & vue.ComponentOptionsBase<Readonly<ExtractPropTypes<Omit<{
213
+ density: {
214
+ type: PropType<"default" | "compact" | "comfortable" | null>;
215
+ default: string;
216
+ validator: (v: any) => boolean;
217
+ };
218
+ theme: StringConstructor;
219
+ color: StringConstructor;
220
+ disabled: BooleanConstructor;
221
+ error: BooleanConstructor;
222
+ id: StringConstructor;
223
+ inline: BooleanConstructor;
224
+ label: StringConstructor;
225
+ falseIcon: PropType<IconValue>;
226
+ trueIcon: PropType<IconValue>;
227
+ ripple: {
228
+ type: BooleanConstructor;
229
+ default: boolean;
230
+ };
231
+ multiple: {
232
+ type: PropType<boolean | null>;
233
+ default: null;
234
+ };
235
+ name: StringConstructor;
236
+ readonly: BooleanConstructor;
237
+ trueValue: null;
238
+ falseValue: null;
239
+ modelValue: null;
240
+ type: StringConstructor;
241
+ value: null;
242
+ valueComparator: {
243
+ type: PropType<typeof deepEqual>;
244
+ default: typeof deepEqual;
245
+ };
246
+ }, "onUpdate:modelValue" | "modelValue"> & SlotsToProps<MakeSlots<{
247
+ default: [];
248
+ input: [SelectionControlSlot];
249
+ }>>>>, {
250
+ isFocused: Ref<boolean>;
251
+ input: Ref<HTMLInputElement | undefined>;
252
+ }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Omit<{
253
+ 'update:modelValue': (val: any) => boolean;
254
+ }, "update:modelValue" | "modelValue">, string, {
255
+ inline: boolean;
256
+ error: boolean;
257
+ disabled: boolean;
258
+ multiple: boolean | null;
259
+ readonly: boolean;
260
+ density: "default" | "compact" | "comfortable" | null;
261
+ ripple: boolean;
262
+ valueComparator: typeof deepEqual;
263
+ }> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & (new <T>() => {
264
+ $props: {
265
+ modelValue?: T | undefined;
266
+ 'onUpdate:modelValue'?: ((val: T) => any) | undefined;
267
+ };
268
+ $slots: MakeSlots<{
269
+ default: [];
270
+ input: [SelectionControlSlot];
271
+ }>;
272
+ });
273
+ declare type VSelectionControl = InstanceType<typeof VSelectionControl>;
274
+
275
+ export { VSelectionControl };
@@ -1,3 +1,8 @@
1
1
  .v-selection-control-group {
2
2
  grid-area: control;
3
+ display: flex;
4
+ flex-direction: column;
5
+ }
6
+ .v-selection-control-group--inline {
7
+ flex-direction: row;
3
8
  }
@@ -53,7 +53,9 @@ export const VSelectionControlGroup = defineComponent({
53
53
  var _slots$default;
54
54
 
55
55
  return _createVNode("div", {
56
- "class": "v-selection-control-group",
56
+ "class": ['v-selection-control-group', {
57
+ 'v-selection-control-group--inline': props.inline
58
+ }],
57
59
  "aria-labelled-by": props.type === 'radio' ? id.value : undefined,
58
60
  "role": props.type === 'radio' ? 'radiogroup' : undefined
59
61
  }, [(_slots$default = slots.default) == null ? void 0 : _slots$default.call(slots)]);
@@ -1 +1 @@
1
- {"version":3,"file":"VSelectionControlGroup.mjs","names":["IconValue","useProxiedModel","computed","provide","toRef","defineComponent","getUid","useRender","VSelectionControlGroupSymbol","Symbol","for","VSelectionControlGroup","name","props","disabled","Boolean","id","String","inline","falseIcon","trueIcon","multiple","type","default","readonly","modelValue","emits","val","setup","slots","uid","value","Array","isArray","undefined"],"sources":["../../../src/components/VSelectionControlGroup/VSelectionControlGroup.tsx"],"sourcesContent":["// Styles\nimport './VSelectionControlGroup.sass'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, provide, toRef } from 'vue'\nimport { defineComponent, getUid, useRender } from '@/util'\n\n// Types\nimport type { InjectionKey, PropType, Ref } from 'vue'\n\nexport interface VSelectionGroupContext {\n disabled: Ref<boolean>\n inline: Ref<boolean>\n name: Ref<string | undefined>\n modelValue: Ref<any>\n multiple: Ref<boolean>\n trueIcon: Ref<IconValue | undefined>\n falseIcon: Ref<IconValue | undefined>\n readonly: Ref<boolean>\n type: Ref<string | undefined>\n}\n\nexport const VSelectionControlGroupSymbol: InjectionKey<VSelectionGroupContext> = Symbol.for('vuetify:selection-control-group')\n\nexport const VSelectionControlGroup = defineComponent({\n name: 'VSelectionControlGroup',\n\n props: {\n disabled: Boolean,\n id: String,\n inline: Boolean,\n name: String,\n falseIcon: IconValue,\n trueIcon: IconValue,\n multiple: {\n type: Boolean as PropType<boolean | null>,\n default: null,\n },\n readonly: Boolean,\n type: String,\n modelValue: null,\n },\n\n emits: {\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { slots }) {\n const modelValue = useProxiedModel(props, 'modelValue')\n const uid = getUid()\n const id = computed(() => props.id || `v-selection-control-group-${uid}`)\n const name = computed(() => props.name || id.value)\n\n provide(VSelectionControlGroupSymbol, {\n disabled: toRef(props, 'disabled'),\n inline: toRef(props, 'inline'),\n modelValue,\n multiple: computed(() => !!props.multiple || (props.multiple == null && Array.isArray(modelValue.value))),\n name,\n falseIcon: toRef(props, 'falseIcon'),\n trueIcon: toRef(props, 'trueIcon'),\n readonly: toRef(props, 'readonly'),\n type: toRef(props, 'type'),\n })\n\n useRender(() => (\n <div\n class=\"v-selection-control-group\"\n aria-labelled-by={ props.type === 'radio' ? id.value : undefined }\n role={ props.type === 'radio' ? 'radiogroup' : undefined }\n >\n { slots.default?.() }\n </div>\n ))\n\n return {}\n },\n})\n\nexport type VSelectionControlGroup = InstanceType<typeof VSelectionControlGroup>\n"],"mappings":";AAAA;AACA,sC,CAEA;;SACSA,S;SACAC,e,8CAET;;AACA,SAASC,QAAT,EAAmBC,OAAnB,EAA4BC,KAA5B,QAAyC,KAAzC;SACSC,e,EAAiBC,M,EAAQC,S,gCAElC;;AAeA,OAAO,MAAMC,4BAAkE,GAAGC,MAAM,CAACC,GAAP,CAAW,iCAAX,CAA3E;AAEP,OAAO,MAAMC,sBAAsB,GAAGN,eAAe,CAAC;EACpDO,IAAI,EAAE,wBAD8C;EAGpDC,KAAK,EAAE;IACLC,QAAQ,EAAEC,OADL;IAELC,EAAE,EAAEC,MAFC;IAGLC,MAAM,EAAEH,OAHH;IAILH,IAAI,EAAEK,MAJD;IAKLE,SAAS,EAAEnB,SALN;IAMLoB,QAAQ,EAAEpB,SANL;IAOLqB,QAAQ,EAAE;MACRC,IAAI,EAAEP,OADE;MAERQ,OAAO,EAAE;IAFD,CAPL;IAWLC,QAAQ,EAAET,OAXL;IAYLO,IAAI,EAAEL,MAZD;IAaLQ,UAAU,EAAE;EAbP,CAH6C;EAmBpDC,KAAK,EAAE;IACL,qBAAsBC,GAAD,IAAc;EAD9B,CAnB6C;;EAuBpDC,KAAK,CAAEf,KAAF,QAAoB;IAAA,IAAX;MAAEgB;IAAF,CAAW;IACvB,MAAMJ,UAAU,GAAGxB,eAAe,CAACY,KAAD,EAAQ,YAAR,CAAlC;IACA,MAAMiB,GAAG,GAAGxB,MAAM,EAAlB;IACA,MAAMU,EAAE,GAAGd,QAAQ,CAAC,MAAMW,KAAK,CAACG,EAAN,IAAa,6BAA4Bc,GAAI,EAApD,CAAnB;IACA,MAAMlB,IAAI,GAAGV,QAAQ,CAAC,MAAMW,KAAK,CAACD,IAAN,IAAcI,EAAE,CAACe,KAAxB,CAArB;IAEA5B,OAAO,CAACK,4BAAD,EAA+B;MACpCM,QAAQ,EAAEV,KAAK,CAACS,KAAD,EAAQ,UAAR,CADqB;MAEpCK,MAAM,EAAEd,KAAK,CAACS,KAAD,EAAQ,QAAR,CAFuB;MAGpCY,UAHoC;MAIpCJ,QAAQ,EAAEnB,QAAQ,CAAC,MAAM,CAAC,CAACW,KAAK,CAACQ,QAAR,IAAqBR,KAAK,CAACQ,QAAN,IAAkB,IAAlB,IAA0BW,KAAK,CAACC,OAAN,CAAcR,UAAU,CAACM,KAAzB,CAAtD,CAJkB;MAKpCnB,IALoC;MAMpCO,SAAS,EAAEf,KAAK,CAACS,KAAD,EAAQ,WAAR,CANoB;MAOpCO,QAAQ,EAAEhB,KAAK,CAACS,KAAD,EAAQ,UAAR,CAPqB;MAQpCW,QAAQ,EAAEpB,KAAK,CAACS,KAAD,EAAQ,UAAR,CARqB;MASpCS,IAAI,EAAElB,KAAK,CAACS,KAAD,EAAQ,MAAR;IATyB,CAA/B,CAAP;IAYAN,SAAS,CAAC;MAAA;;MAAA;QAAA,SAEA,2BAFA;QAAA,oBAGaM,KAAK,CAACS,IAAN,KAAe,OAAf,GAAyBN,EAAE,CAACe,KAA5B,GAAoCG,SAHjD;QAAA,QAICrB,KAAK,CAACS,IAAN,KAAe,OAAf,GAAyB,YAAzB,GAAwCY;MAJzC,sBAMJL,KAAK,CAACN,OANF,qBAMJ,oBAAAM,KAAK,CAND;IAAA,CAAD,CAAT;IAUA,OAAO,EAAP;EACD;;AApDmD,CAAD,CAA9C"}
1
+ {"version":3,"file":"VSelectionControlGroup.mjs","names":["IconValue","useProxiedModel","computed","provide","toRef","defineComponent","getUid","useRender","VSelectionControlGroupSymbol","Symbol","for","VSelectionControlGroup","name","props","disabled","Boolean","id","String","inline","falseIcon","trueIcon","multiple","type","default","readonly","modelValue","emits","val","setup","slots","uid","value","Array","isArray","undefined"],"sources":["../../../src/components/VSelectionControlGroup/VSelectionControlGroup.tsx"],"sourcesContent":["// Styles\nimport './VSelectionControlGroup.sass'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, provide, toRef } from 'vue'\nimport { defineComponent, getUid, useRender } from '@/util'\n\n// Types\nimport type { InjectionKey, PropType, Ref } from 'vue'\n\nexport interface VSelectionGroupContext {\n disabled: Ref<boolean>\n inline: Ref<boolean>\n name: Ref<string | undefined>\n modelValue: Ref<any>\n multiple: Ref<boolean>\n trueIcon: Ref<IconValue | undefined>\n falseIcon: Ref<IconValue | undefined>\n readonly: Ref<boolean>\n type: Ref<string | undefined>\n}\n\nexport const VSelectionControlGroupSymbol: InjectionKey<VSelectionGroupContext> = Symbol.for('vuetify:selection-control-group')\n\nexport const VSelectionControlGroup = defineComponent({\n name: 'VSelectionControlGroup',\n\n props: {\n disabled: Boolean,\n id: String,\n inline: Boolean,\n name: String,\n falseIcon: IconValue,\n trueIcon: IconValue,\n multiple: {\n type: Boolean as PropType<boolean | null>,\n default: null,\n },\n readonly: Boolean,\n type: String,\n modelValue: null,\n },\n\n emits: {\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { slots }) {\n const modelValue = useProxiedModel(props, 'modelValue')\n const uid = getUid()\n const id = computed(() => props.id || `v-selection-control-group-${uid}`)\n const name = computed(() => props.name || id.value)\n\n provide(VSelectionControlGroupSymbol, {\n disabled: toRef(props, 'disabled'),\n inline: toRef(props, 'inline'),\n modelValue,\n multiple: computed(() => !!props.multiple || (props.multiple == null && Array.isArray(modelValue.value))),\n name,\n falseIcon: toRef(props, 'falseIcon'),\n trueIcon: toRef(props, 'trueIcon'),\n readonly: toRef(props, 'readonly'),\n type: toRef(props, 'type'),\n })\n\n useRender(() => (\n <div\n class={[\n 'v-selection-control-group',\n { 'v-selection-control-group--inline': props.inline },\n ]}\n aria-labelled-by={ props.type === 'radio' ? id.value : undefined }\n role={ props.type === 'radio' ? 'radiogroup' : undefined }\n >\n { slots.default?.() }\n </div>\n ))\n\n return {}\n },\n})\n\nexport type VSelectionControlGroup = InstanceType<typeof VSelectionControlGroup>\n"],"mappings":";AAAA;AACA,sC,CAEA;;SACSA,S;SACAC,e,8CAET;;AACA,SAASC,QAAT,EAAmBC,OAAnB,EAA4BC,KAA5B,QAAyC,KAAzC;SACSC,e,EAAiBC,M,EAAQC,S,gCAElC;;AAeA,OAAO,MAAMC,4BAAkE,GAAGC,MAAM,CAACC,GAAP,CAAW,iCAAX,CAA3E;AAEP,OAAO,MAAMC,sBAAsB,GAAGN,eAAe,CAAC;EACpDO,IAAI,EAAE,wBAD8C;EAGpDC,KAAK,EAAE;IACLC,QAAQ,EAAEC,OADL;IAELC,EAAE,EAAEC,MAFC;IAGLC,MAAM,EAAEH,OAHH;IAILH,IAAI,EAAEK,MAJD;IAKLE,SAAS,EAAEnB,SALN;IAMLoB,QAAQ,EAAEpB,SANL;IAOLqB,QAAQ,EAAE;MACRC,IAAI,EAAEP,OADE;MAERQ,OAAO,EAAE;IAFD,CAPL;IAWLC,QAAQ,EAAET,OAXL;IAYLO,IAAI,EAAEL,MAZD;IAaLQ,UAAU,EAAE;EAbP,CAH6C;EAmBpDC,KAAK,EAAE;IACL,qBAAsBC,GAAD,IAAc;EAD9B,CAnB6C;;EAuBpDC,KAAK,CAAEf,KAAF,QAAoB;IAAA,IAAX;MAAEgB;IAAF,CAAW;IACvB,MAAMJ,UAAU,GAAGxB,eAAe,CAACY,KAAD,EAAQ,YAAR,CAAlC;IACA,MAAMiB,GAAG,GAAGxB,MAAM,EAAlB;IACA,MAAMU,EAAE,GAAGd,QAAQ,CAAC,MAAMW,KAAK,CAACG,EAAN,IAAa,6BAA4Bc,GAAI,EAApD,CAAnB;IACA,MAAMlB,IAAI,GAAGV,QAAQ,CAAC,MAAMW,KAAK,CAACD,IAAN,IAAcI,EAAE,CAACe,KAAxB,CAArB;IAEA5B,OAAO,CAACK,4BAAD,EAA+B;MACpCM,QAAQ,EAAEV,KAAK,CAACS,KAAD,EAAQ,UAAR,CADqB;MAEpCK,MAAM,EAAEd,KAAK,CAACS,KAAD,EAAQ,QAAR,CAFuB;MAGpCY,UAHoC;MAIpCJ,QAAQ,EAAEnB,QAAQ,CAAC,MAAM,CAAC,CAACW,KAAK,CAACQ,QAAR,IAAqBR,KAAK,CAACQ,QAAN,IAAkB,IAAlB,IAA0BW,KAAK,CAACC,OAAN,CAAcR,UAAU,CAACM,KAAzB,CAAtD,CAJkB;MAKpCnB,IALoC;MAMpCO,SAAS,EAAEf,KAAK,CAACS,KAAD,EAAQ,WAAR,CANoB;MAOpCO,QAAQ,EAAEhB,KAAK,CAACS,KAAD,EAAQ,UAAR,CAPqB;MAQpCW,QAAQ,EAAEpB,KAAK,CAACS,KAAD,EAAQ,UAAR,CARqB;MASpCS,IAAI,EAAElB,KAAK,CAACS,KAAD,EAAQ,MAAR;IATyB,CAA/B,CAAP;IAYAN,SAAS,CAAC;MAAA;;MAAA;QAAA,SAEC,CACL,2BADK,EAEL;UAAE,qCAAqCM,KAAK,CAACK;QAA7C,CAFK,CAFD;QAAA,oBAMaL,KAAK,CAACS,IAAN,KAAe,OAAf,GAAyBN,EAAE,CAACe,KAA5B,GAAoCG,SANjD;QAAA,QAOCrB,KAAK,CAACS,IAAN,KAAe,OAAf,GAAyB,YAAzB,GAAwCY;MAPzC,sBASJL,KAAK,CAACN,OATF,qBASJ,oBAAAM,KAAK,CATD;IAAA,CAAD,CAAT;IAaA,OAAO,EAAP;EACD;;AAvDmD,CAAD,CAA9C"}
@@ -2,3 +2,8 @@
2
2
 
3
3
  .v-selection-control-group
4
4
  grid-area: $selection-control-group-grid-area
5
+ display: flex
6
+ flex-direction: column
7
+
8
+ &--inline
9
+ flex-direction: row
@@ -0,0 +1,47 @@
1
+ import * as vue from 'vue';
2
+ import { JSXComponent, PropType } from 'vue';
3
+
4
+ declare type IconValue = string | JSXComponent;
5
+ declare const IconValue: PropType<IconValue>;
6
+
7
+ declare const VSelectionControlGroup: vue.DefineComponent<{
8
+ disabled: BooleanConstructor;
9
+ id: StringConstructor;
10
+ inline: BooleanConstructor;
11
+ name: StringConstructor;
12
+ falseIcon: PropType<IconValue>;
13
+ trueIcon: PropType<IconValue>;
14
+ multiple: {
15
+ type: PropType<boolean | null>;
16
+ default: null;
17
+ };
18
+ readonly: BooleanConstructor;
19
+ type: StringConstructor;
20
+ modelValue: null;
21
+ }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
22
+ 'update:modelValue': (val: any) => true;
23
+ }, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<vue.ExtractPropTypes<{
24
+ disabled: BooleanConstructor;
25
+ id: StringConstructor;
26
+ inline: BooleanConstructor;
27
+ name: StringConstructor;
28
+ falseIcon: PropType<IconValue>;
29
+ trueIcon: PropType<IconValue>;
30
+ multiple: {
31
+ type: PropType<boolean | null>;
32
+ default: null;
33
+ };
34
+ readonly: BooleanConstructor;
35
+ type: StringConstructor;
36
+ modelValue: null;
37
+ }>> & {
38
+ "onUpdate:modelValue"?: ((val: any) => any) | undefined;
39
+ }, {
40
+ inline: boolean;
41
+ disabled: boolean;
42
+ multiple: boolean | null;
43
+ readonly: boolean;
44
+ }>;
45
+ declare type VSelectionControlGroup = InstanceType<typeof VSelectionControlGroup>;
46
+
47
+ export { VSelectionControlGroup };
@@ -0,0 +1,68 @@
1
+ import * as vue from 'vue';
2
+
3
+ declare const block: readonly ["top", "bottom"];
4
+ declare const inline: readonly ["start", "end", "left", "right"];
5
+ declare type Tblock = typeof block[number];
6
+ declare type Tinline = typeof inline[number];
7
+ declare type Anchor = Tblock | Tinline | 'center' | 'center center' | `${Tblock} ${Tinline | 'center'}` | `${Tinline} ${Tblock | 'center'}`;
8
+
9
+ declare const VSheet: vue.DefineComponent<{
10
+ theme: StringConstructor;
11
+ tag: {
12
+ type: StringConstructor;
13
+ default: string;
14
+ };
15
+ rounded: {
16
+ type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
17
+ default: undefined;
18
+ };
19
+ position: {
20
+ type: vue.PropType<"fixed" | "absolute" | "static" | "relative" | "sticky">;
21
+ validator: (v: any) => boolean;
22
+ };
23
+ location: vue.PropType<Anchor>;
24
+ elevation: {
25
+ type: (StringConstructor | NumberConstructor)[];
26
+ validator(v: any): boolean;
27
+ };
28
+ height: (StringConstructor | NumberConstructor)[];
29
+ maxHeight: (StringConstructor | NumberConstructor)[];
30
+ maxWidth: (StringConstructor | NumberConstructor)[];
31
+ minHeight: (StringConstructor | NumberConstructor)[];
32
+ minWidth: (StringConstructor | NumberConstructor)[];
33
+ width: (StringConstructor | NumberConstructor)[];
34
+ border: (StringConstructor | BooleanConstructor | NumberConstructor)[];
35
+ color: StringConstructor;
36
+ }, () => JSX.Element, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<vue.ExtractPropTypes<{
37
+ theme: StringConstructor;
38
+ tag: {
39
+ type: StringConstructor;
40
+ default: string;
41
+ };
42
+ rounded: {
43
+ type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
44
+ default: undefined;
45
+ };
46
+ position: {
47
+ type: vue.PropType<"fixed" | "absolute" | "static" | "relative" | "sticky">;
48
+ validator: (v: any) => boolean;
49
+ };
50
+ location: vue.PropType<Anchor>;
51
+ elevation: {
52
+ type: (StringConstructor | NumberConstructor)[];
53
+ validator(v: any): boolean;
54
+ };
55
+ height: (StringConstructor | NumberConstructor)[];
56
+ maxHeight: (StringConstructor | NumberConstructor)[];
57
+ maxWidth: (StringConstructor | NumberConstructor)[];
58
+ minHeight: (StringConstructor | NumberConstructor)[];
59
+ minWidth: (StringConstructor | NumberConstructor)[];
60
+ width: (StringConstructor | NumberConstructor)[];
61
+ border: (StringConstructor | BooleanConstructor | NumberConstructor)[];
62
+ color: StringConstructor;
63
+ }>>, {
64
+ tag: string;
65
+ rounded: string | number | boolean;
66
+ }>;
67
+
68
+ export { VSheet };