vuetify 3.3.13 → 3.3.15

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 (119) hide show
  1. package/dist/json/attributes.json +70 -66
  2. package/dist/json/importMap.json +12 -12
  3. package/dist/json/tags.json +5 -4
  4. package/dist/json/web-types.json +274 -185
  5. package/dist/vuetify-labs.css +565 -486
  6. package/dist/vuetify-labs.d.ts +831 -462
  7. package/dist/vuetify-labs.esm.js +453 -310
  8. package/dist/vuetify-labs.esm.js.map +1 -1
  9. package/dist/vuetify-labs.js +452 -309
  10. package/dist/vuetify-labs.min.css +2 -2
  11. package/dist/vuetify.css +318 -239
  12. package/dist/vuetify.d.ts +678 -301
  13. package/dist/vuetify.esm.js +253 -173
  14. package/dist/vuetify.esm.js.map +1 -1
  15. package/dist/vuetify.js +252 -172
  16. package/dist/vuetify.js.map +1 -1
  17. package/dist/vuetify.min.css +2 -2
  18. package/dist/vuetify.min.js +842 -830
  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 +12 -2
  23. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  24. package/lib/components/VBadge/VBadge.css +1 -1
  25. package/lib/components/VBadge/_variables.scss +1 -1
  26. package/lib/components/VBtnToggle/VBtnToggle.css +13 -2
  27. package/lib/components/VBtnToggle/VBtnToggle.sass +3 -3
  28. package/lib/components/VBtnToggle/_variables.scss +2 -1
  29. package/lib/components/VCheckbox/VCheckbox.mjs +2 -2
  30. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  31. package/lib/components/VCheckbox/VCheckboxBtn.mjs +14 -11
  32. package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
  33. package/lib/components/VCheckbox/index.d.mts +203 -87
  34. package/lib/components/VColorPicker/VColorPickerEdit.css +4 -2
  35. package/lib/components/VColorPicker/VColorPickerPreview.css +11 -6
  36. package/lib/components/VCombobox/VCombobox.mjs +11 -1
  37. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  38. package/lib/components/VField/VField.css +25 -7
  39. package/lib/components/VField/VField.sass +15 -1
  40. package/lib/components/VGrid/VGrid.css +153 -142
  41. package/lib/components/VIcon/VIcon.css +1 -0
  42. package/lib/components/VIcon/VIcon.sass +1 -0
  43. package/lib/components/VOverlay/useActivator.mjs +1 -1
  44. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  45. package/lib/components/VProgressLinear/VProgressLinear.css +3 -2
  46. package/lib/components/VRadio/index.d.mts +82 -23
  47. package/lib/components/VRadioGroup/VRadioGroup.mjs +2 -2
  48. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  49. package/lib/components/VRadioGroup/index.d.mts +75 -109
  50. package/lib/components/VRangeSlider/index.d.mts +114 -33
  51. package/lib/components/VSelect/VSelect.mjs +12 -2
  52. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  53. package/lib/components/VSelectionControl/VSelectionControl.mjs +19 -3
  54. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  55. package/lib/components/VSelectionControl/index.d.mts +19 -5
  56. package/lib/components/VSlider/VSlider.mjs.map +1 -1
  57. package/lib/components/VSlider/VSliderThumb.css +8 -4
  58. package/lib/components/VSlider/VSliderTrack.css +22 -12
  59. package/lib/components/VSlider/index.d.mts +114 -33
  60. package/lib/components/VSwitch/VSwitch.css +7 -5
  61. package/lib/components/VSwitch/VSwitch.mjs +26 -16
  62. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  63. package/lib/components/VSwitch/VSwitch.sass +6 -4
  64. package/lib/components/VSwitch/_variables.scss +5 -3
  65. package/lib/components/VSwitch/index.d.mts +82 -23
  66. package/lib/components/VTable/VTable.css +3 -0
  67. package/lib/components/VTable/VTable.sass +4 -0
  68. package/lib/components/VTable/_variables.scss +3 -0
  69. package/lib/components/VTabs/VTab.mjs +2 -2
  70. package/lib/components/VTabs/VTab.mjs.map +1 -1
  71. package/lib/components/VTextarea/VTextarea.mjs +1 -0
  72. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  73. package/lib/components/VTimeline/VTimeline.css +19 -10
  74. package/lib/components/VTimeline/VTimeline.sass +5 -0
  75. package/lib/components/VToolbar/VToolbar.css +4 -2
  76. package/lib/components/index.d.mts +676 -299
  77. package/lib/composables/color.mjs +6 -1
  78. package/lib/composables/color.mjs.map +1 -1
  79. package/lib/composables/defaults.mjs +9 -9
  80. package/lib/composables/defaults.mjs.map +1 -1
  81. package/lib/composables/theme.mjs +8 -7
  82. package/lib/composables/theme.mjs.map +1 -1
  83. package/lib/entry-bundler.mjs +1 -1
  84. package/lib/framework.mjs +1 -1
  85. package/lib/index.d.mts +3 -3
  86. package/lib/labs/VDateInput/index.d.mts +2 -2
  87. package/lib/labs/VDatePicker/VDateCard.mjs +3 -0
  88. package/lib/labs/VDatePicker/VDateCard.mjs.map +1 -1
  89. package/lib/labs/VDatePicker/VDatePicker.mjs +51 -21
  90. package/lib/labs/VDatePicker/VDatePicker.mjs.map +1 -1
  91. package/lib/labs/VDatePicker/VDatePickerControls.css +1 -1
  92. package/lib/labs/VDatePicker/VDatePickerControls.mjs +53 -35
  93. package/lib/labs/VDatePicker/VDatePickerControls.mjs.map +1 -1
  94. package/lib/labs/VDatePicker/VDatePickerMonth.mjs +37 -28
  95. package/lib/labs/VDatePicker/VDatePickerMonth.mjs.map +1 -1
  96. package/lib/labs/VDatePicker/VDatePickerYears.mjs +19 -17
  97. package/lib/labs/VDatePicker/VDatePickerYears.mjs.map +1 -1
  98. package/lib/labs/VDatePicker/index.d.mts +148 -156
  99. package/lib/labs/VDateRangePicker/VDateRangeCard.mjs +3 -0
  100. package/lib/labs/VDateRangePicker/VDateRangeCard.mjs.map +1 -1
  101. package/lib/labs/VDateRangePicker/index.d.mts +59 -52
  102. package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -1
  103. package/lib/labs/VSkeletonLoader/index.d.mts +8 -8
  104. package/lib/labs/components.d.mts +156 -164
  105. package/lib/locale/bg.mjs +23 -23
  106. package/lib/locale/bg.mjs.map +1 -1
  107. package/lib/locale/fa.mjs +16 -16
  108. package/lib/locale/fa.mjs.map +1 -1
  109. package/lib/locale/no.mjs +1 -1
  110. package/lib/locale/no.mjs.map +1 -1
  111. package/lib/styles/tools/_rtl.sass +4 -2
  112. package/lib/styles/tools/_states.sass +5 -5
  113. package/lib/util/colorUtils.mjs +6 -0
  114. package/lib/util/colorUtils.mjs.map +1 -1
  115. package/lib/util/helpers.mjs +10 -4
  116. package/lib/util/helpers.mjs.map +1 -1
  117. package/lib/util/injectSelf.mjs +2 -1
  118. package/lib/util/injectSelf.mjs.map +1 -1
  119. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"useActivator.mjs","names":["VMenuSymbol","makeDelayProps","useDelay","computed","effectScope","inject","mergeProps","nextTick","onScopeDispose","ref","watch","watchEffect","bindProps","getCurrentInstance","IN_BROWSER","matchesSelector","propsFactory","refElement","unbindProps","makeActivatorProps","activator","String","Object","activatorProps","type","default","openOnClick","Boolean","undefined","openOnHover","openOnFocus","closeOnContentClick","useActivator","props","_ref","isActive","isTop","activatorEl","isHovered","isFocused","firstEnter","value","runOpenDelay","runCloseDelay","availableEvents","onClick","e","stopPropagation","currentTarget","target","onMouseenter","sourceCapabilities","firesTouchEvents","onMouseleave","onFocus","onBlur","activatorEvents","events","contentEvents","onFocusin","onFocusout","menu","closeParents","scrimEvents","val","activatorRef","vm","scope","run","_useActivator","stop","flush","immediate","_ref2","oldVal","getActivator","unbindActivatorProps","bindActivatorProps","el","arguments","length","_props","selector","proxy","$el","parentNode","hasAttribute","document","querySelector","nodeType","Node","ELEMENT_NODE"],"sources":["../../../src/components/VOverlay/useActivator.tsx"],"sourcesContent":["// Components\nimport { VMenuSymbol } from '@/components/VMenu/shared'\n\n// Composables\nimport { makeDelayProps, useDelay } from '@/composables/delay'\n\n// Utilities\nimport {\n computed,\n effectScope,\n inject,\n mergeProps,\n nextTick,\n onScopeDispose,\n ref,\n watch,\n watchEffect,\n} from 'vue'\nimport {\n bindProps,\n getCurrentInstance,\n IN_BROWSER,\n matchesSelector,\n propsFactory,\n refElement,\n unbindProps,\n} from '@/util'\n\n// Types\nimport type {\n ComponentInternalInstance,\n ComponentPublicInstance,\n EffectScope,\n PropType,\n Ref,\n} from 'vue'\nimport type { DelayProps } from '@/composables/delay'\n\ninterface ActivatorProps extends DelayProps {\n activator?: 'parent' | string | Element | ComponentPublicInstance\n activatorProps: Record<string, any>\n\n openOnClick: boolean | undefined\n openOnHover: boolean\n openOnFocus: boolean | undefined\n\n closeOnContentClick: boolean\n}\n\nexport const makeActivatorProps = propsFactory({\n activator: [String, Object] as PropType<ActivatorProps['activator']>,\n activatorProps: {\n type: Object as PropType<ActivatorProps['activatorProps']>,\n default: () => ({}),\n },\n\n openOnClick: {\n type: Boolean,\n default: undefined,\n },\n openOnHover: Boolean,\n openOnFocus: {\n type: Boolean,\n default: undefined,\n },\n\n closeOnContentClick: Boolean,\n\n ...makeDelayProps(),\n}, 'VOverlay-activator')\n\nexport function useActivator (\n props: ActivatorProps,\n { isActive, isTop }: { isActive: Ref<boolean>, isTop: Ref<boolean> }\n) {\n const activatorEl = ref<HTMLElement>()\n\n let isHovered = false\n let isFocused = false\n let firstEnter = true\n\n const openOnFocus = computed(() => props.openOnFocus || (props.openOnFocus == null && props.openOnHover))\n const openOnClick = computed(() => props.openOnClick || (props.openOnClick == null && !props.openOnHover && !openOnFocus.value))\n\n const { runOpenDelay, runCloseDelay } = useDelay(props, value => {\n if (\n value === (\n (props.openOnHover && isHovered) ||\n (openOnFocus.value && isFocused)\n ) && !(props.openOnHover && isActive.value && !isTop.value)\n ) {\n if (isActive.value !== value) {\n firstEnter = true\n }\n isActive.value = value\n }\n })\n\n const availableEvents = {\n onClick: (e: MouseEvent) => {\n e.stopPropagation()\n activatorEl.value = (e.currentTarget || e.target) as HTMLElement\n isActive.value = !isActive.value\n },\n onMouseenter: (e: MouseEvent) => {\n if (e.sourceCapabilities?.firesTouchEvents) return\n\n isHovered = true\n activatorEl.value = (e.currentTarget || e.target) as HTMLElement\n runOpenDelay()\n },\n onMouseleave: (e: MouseEvent) => {\n isHovered = false\n runCloseDelay()\n },\n onFocus: (e: FocusEvent) => {\n if (matchesSelector(e.target as HTMLElement, ':focus-visible') === false) return\n\n isFocused = true\n e.stopPropagation()\n activatorEl.value = (e.currentTarget || e.target) as HTMLElement\n\n runOpenDelay()\n },\n onBlur: (e: FocusEvent) => {\n isFocused = false\n e.stopPropagation()\n\n runCloseDelay()\n },\n }\n\n const activatorEvents = computed(() => {\n const events: Partial<typeof availableEvents> = {}\n\n if (openOnClick.value) {\n events.onClick = availableEvents.onClick\n }\n if (props.openOnHover) {\n events.onMouseenter = availableEvents.onMouseenter\n events.onMouseleave = availableEvents.onMouseleave\n }\n if (openOnFocus.value) {\n events.onFocus = availableEvents.onFocus\n events.onBlur = availableEvents.onBlur\n }\n\n return events\n })\n\n const contentEvents = computed(() => {\n const events: Record<string, EventListener> = {}\n\n if (props.openOnHover) {\n events.onMouseenter = () => {\n isHovered = true\n runOpenDelay()\n }\n events.onMouseleave = () => {\n isHovered = false\n runCloseDelay()\n }\n }\n\n if (openOnFocus.value) {\n events.onFocusin = () => {\n isFocused = true\n runOpenDelay()\n }\n events.onFocusout = () => {\n isFocused = false\n runCloseDelay()\n }\n }\n\n if (props.closeOnContentClick) {\n const menu = inject(VMenuSymbol, null)\n events.onClick = () => {\n isActive.value = false\n menu?.closeParents()\n }\n }\n\n return events\n })\n\n const scrimEvents = computed(() => {\n const events: Record<string, EventListener> = {}\n\n if (props.openOnHover) {\n events.onMouseenter = () => {\n if (firstEnter) {\n isHovered = true\n firstEnter = false\n runOpenDelay()\n }\n }\n events.onMouseleave = () => {\n isHovered = false\n runCloseDelay()\n }\n }\n\n return events\n })\n\n watch(isTop, val => {\n if (val && (\n (props.openOnHover && !isHovered && (!openOnFocus.value || !isFocused)) ||\n (openOnFocus.value && !isFocused && (!props.openOnHover || !isHovered))\n )) {\n isActive.value = false\n }\n })\n\n const activatorRef = ref()\n watchEffect(() => {\n if (!activatorRef.value) return\n\n nextTick(() => {\n activatorEl.value = refElement(activatorRef.value)\n })\n })\n\n const vm = getCurrentInstance('useActivator')\n let scope: EffectScope\n watch(() => !!props.activator, val => {\n if (val && IN_BROWSER) {\n scope = effectScope()\n scope.run(() => {\n _useActivator(props, vm, { activatorEl, activatorEvents })\n })\n } else if (scope) {\n scope.stop()\n }\n }, { flush: 'post', immediate: true })\n\n onScopeDispose(() => {\n scope?.stop()\n })\n\n return { activatorEl, activatorRef, activatorEvents, contentEvents, scrimEvents }\n}\n\nfunction _useActivator (\n props: ActivatorProps,\n vm: ComponentInternalInstance,\n { activatorEl, activatorEvents }: Pick<ReturnType<typeof useActivator>, 'activatorEl' | 'activatorEvents'>\n) {\n watch(() => props.activator, (val, oldVal) => {\n if (oldVal && val !== oldVal) {\n const activator = getActivator(oldVal)\n activator && unbindActivatorProps(activator)\n }\n if (val) {\n nextTick(() => bindActivatorProps())\n }\n }, { immediate: true })\n\n watch(() => props.activatorProps, () => {\n bindActivatorProps()\n })\n\n onScopeDispose(() => {\n unbindActivatorProps()\n })\n\n function bindActivatorProps (el = getActivator(), _props = props.activatorProps) {\n if (!el) return\n\n bindProps(el, mergeProps(activatorEvents.value, _props))\n }\n\n function unbindActivatorProps (el = getActivator(), _props = props.activatorProps) {\n if (!el) return\n\n unbindProps(el, mergeProps(activatorEvents.value, _props))\n }\n\n function getActivator (selector = props.activator): HTMLElement | undefined {\n let activator\n if (selector) {\n if (selector === 'parent') {\n let el = vm?.proxy?.$el?.parentNode\n while (el.hasAttribute('data-no-activator')) {\n el = el.parentNode\n }\n activator = el\n } else if (typeof selector === 'string') {\n // Selector\n activator = document.querySelector(selector)\n } else if ('$el' in selector) {\n // Component (ref)\n activator = selector.$el\n } else {\n // HTMLElement | Element\n activator = selector\n }\n }\n\n // The activator should only be a valid element (Ignore comments and text nodes)\n activatorEl.value = activator?.nodeType === Node.ELEMENT_NODE ? activator : null\n\n return activatorEl.value\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useActivator.mjs","names":["VMenuSymbol","makeDelayProps","useDelay","computed","effectScope","inject","mergeProps","nextTick","onScopeDispose","ref","watch","watchEffect","bindProps","getCurrentInstance","IN_BROWSER","matchesSelector","propsFactory","refElement","unbindProps","makeActivatorProps","activator","String","Object","activatorProps","type","default","openOnClick","Boolean","undefined","openOnHover","openOnFocus","closeOnContentClick","useActivator","props","_ref","isActive","isTop","activatorEl","isHovered","isFocused","firstEnter","value","runOpenDelay","runCloseDelay","availableEvents","onClick","e","stopPropagation","currentTarget","target","onMouseenter","sourceCapabilities","firesTouchEvents","onMouseleave","onFocus","onBlur","activatorEvents","events","contentEvents","onFocusin","onFocusout","menu","closeParents","scrimEvents","val","activatorRef","vm","scope","run","_useActivator","stop","flush","immediate","_ref2","oldVal","getActivator","unbindActivatorProps","bindActivatorProps","el","arguments","length","_props","selector","proxy","$el","parentNode","hasAttribute","document","querySelector","nodeType","Node","ELEMENT_NODE"],"sources":["../../../src/components/VOverlay/useActivator.tsx"],"sourcesContent":["// Components\nimport { VMenuSymbol } from '@/components/VMenu/shared'\n\n// Composables\nimport { makeDelayProps, useDelay } from '@/composables/delay'\n\n// Utilities\nimport {\n computed,\n effectScope,\n inject,\n mergeProps,\n nextTick,\n onScopeDispose,\n ref,\n watch,\n watchEffect,\n} from 'vue'\nimport {\n bindProps,\n getCurrentInstance,\n IN_BROWSER,\n matchesSelector,\n propsFactory,\n refElement,\n unbindProps,\n} from '@/util'\n\n// Types\nimport type {\n ComponentInternalInstance,\n ComponentPublicInstance,\n EffectScope,\n PropType,\n Ref,\n} from 'vue'\nimport type { DelayProps } from '@/composables/delay'\n\ninterface ActivatorProps extends DelayProps {\n activator?: 'parent' | string | Element | ComponentPublicInstance\n activatorProps: Record<string, any>\n\n openOnClick: boolean | undefined\n openOnHover: boolean\n openOnFocus: boolean | undefined\n\n closeOnContentClick: boolean\n}\n\nexport const makeActivatorProps = propsFactory({\n activator: [String, Object] as PropType<ActivatorProps['activator']>,\n activatorProps: {\n type: Object as PropType<ActivatorProps['activatorProps']>,\n default: () => ({}),\n },\n\n openOnClick: {\n type: Boolean,\n default: undefined,\n },\n openOnHover: Boolean,\n openOnFocus: {\n type: Boolean,\n default: undefined,\n },\n\n closeOnContentClick: Boolean,\n\n ...makeDelayProps(),\n}, 'VOverlay-activator')\n\nexport function useActivator (\n props: ActivatorProps,\n { isActive, isTop }: { isActive: Ref<boolean>, isTop: Ref<boolean> }\n) {\n const activatorEl = ref<HTMLElement>()\n\n let isHovered = false\n let isFocused = false\n let firstEnter = true\n\n const openOnFocus = computed(() => props.openOnFocus || (props.openOnFocus == null && props.openOnHover))\n const openOnClick = computed(() => props.openOnClick || (props.openOnClick == null && !props.openOnHover && !openOnFocus.value))\n\n const { runOpenDelay, runCloseDelay } = useDelay(props, value => {\n if (\n value === (\n (props.openOnHover && isHovered) ||\n (openOnFocus.value && isFocused)\n ) && !(props.openOnHover && isActive.value && !isTop.value)\n ) {\n if (isActive.value !== value) {\n firstEnter = true\n }\n isActive.value = value\n }\n })\n\n const availableEvents = {\n onClick: (e: MouseEvent) => {\n e.stopPropagation()\n activatorEl.value = (e.currentTarget || e.target) as HTMLElement\n isActive.value = !isActive.value\n },\n onMouseenter: (e: MouseEvent) => {\n if (e.sourceCapabilities?.firesTouchEvents) return\n\n isHovered = true\n activatorEl.value = (e.currentTarget || e.target) as HTMLElement\n runOpenDelay()\n },\n onMouseleave: (e: MouseEvent) => {\n isHovered = false\n runCloseDelay()\n },\n onFocus: (e: FocusEvent) => {\n if (matchesSelector(e.target as HTMLElement, ':focus-visible') === false) return\n\n isFocused = true\n e.stopPropagation()\n activatorEl.value = (e.currentTarget || e.target) as HTMLElement\n\n runOpenDelay()\n },\n onBlur: (e: FocusEvent) => {\n isFocused = false\n e.stopPropagation()\n\n runCloseDelay()\n },\n }\n\n const activatorEvents = computed(() => {\n const events: Partial<typeof availableEvents> = {}\n\n if (openOnClick.value) {\n events.onClick = availableEvents.onClick\n }\n if (props.openOnHover) {\n events.onMouseenter = availableEvents.onMouseenter\n events.onMouseleave = availableEvents.onMouseleave\n }\n if (openOnFocus.value) {\n events.onFocus = availableEvents.onFocus\n events.onBlur = availableEvents.onBlur\n }\n\n return events\n })\n\n const contentEvents = computed(() => {\n const events: Record<string, EventListener> = {}\n\n if (props.openOnHover) {\n events.onMouseenter = () => {\n isHovered = true\n runOpenDelay()\n }\n events.onMouseleave = () => {\n isHovered = false\n runCloseDelay()\n }\n }\n\n if (openOnFocus.value) {\n events.onFocusin = () => {\n isFocused = true\n runOpenDelay()\n }\n events.onFocusout = () => {\n isFocused = false\n runCloseDelay()\n }\n }\n\n if (props.closeOnContentClick) {\n const menu = inject(VMenuSymbol, null)\n events.onClick = () => {\n isActive.value = false\n menu?.closeParents()\n }\n }\n\n return events\n })\n\n const scrimEvents = computed(() => {\n const events: Record<string, EventListener> = {}\n\n if (props.openOnHover) {\n events.onMouseenter = () => {\n if (firstEnter) {\n isHovered = true\n firstEnter = false\n runOpenDelay()\n }\n }\n events.onMouseleave = () => {\n isHovered = false\n runCloseDelay()\n }\n }\n\n return events\n })\n\n watch(isTop, val => {\n if (val && (\n (props.openOnHover && !isHovered && (!openOnFocus.value || !isFocused)) ||\n (openOnFocus.value && !isFocused && (!props.openOnHover || !isHovered))\n )) {\n isActive.value = false\n }\n })\n\n const activatorRef = ref()\n watchEffect(() => {\n if (!activatorRef.value) return\n\n nextTick(() => {\n activatorEl.value = refElement(activatorRef.value)\n })\n })\n\n const vm = getCurrentInstance('useActivator')\n let scope: EffectScope\n watch(() => !!props.activator, val => {\n if (val && IN_BROWSER) {\n scope = effectScope()\n scope.run(() => {\n _useActivator(props, vm, { activatorEl, activatorEvents })\n })\n } else if (scope) {\n scope.stop()\n }\n }, { flush: 'post', immediate: true })\n\n onScopeDispose(() => {\n scope?.stop()\n })\n\n return { activatorEl, activatorRef, activatorEvents, contentEvents, scrimEvents }\n}\n\nfunction _useActivator (\n props: ActivatorProps,\n vm: ComponentInternalInstance,\n { activatorEl, activatorEvents }: Pick<ReturnType<typeof useActivator>, 'activatorEl' | 'activatorEvents'>\n) {\n watch(() => props.activator, (val, oldVal) => {\n if (oldVal && val !== oldVal) {\n const activator = getActivator(oldVal)\n activator && unbindActivatorProps(activator)\n }\n if (val) {\n nextTick(() => bindActivatorProps())\n }\n }, { immediate: true })\n\n watch(() => props.activatorProps, () => {\n bindActivatorProps()\n })\n\n onScopeDispose(() => {\n unbindActivatorProps()\n })\n\n function bindActivatorProps (el = getActivator(), _props = props.activatorProps) {\n if (!el) return\n\n bindProps(el, mergeProps(activatorEvents.value, _props))\n }\n\n function unbindActivatorProps (el = getActivator(), _props = props.activatorProps) {\n if (!el) return\n\n unbindProps(el, mergeProps(activatorEvents.value, _props))\n }\n\n function getActivator (selector = props.activator): HTMLElement | undefined {\n let activator\n if (selector) {\n if (selector === 'parent') {\n let el = vm?.proxy?.$el?.parentNode\n while (el?.hasAttribute('data-no-activator')) {\n el = el.parentNode\n }\n activator = el\n } else if (typeof selector === 'string') {\n // Selector\n activator = document.querySelector(selector)\n } else if ('$el' in selector) {\n // Component (ref)\n activator = selector.$el\n } else {\n // HTMLElement | Element\n activator = selector\n }\n }\n\n // The activator should only be a valid element (Ignore comments and text nodes)\n activatorEl.value = activator?.nodeType === Node.ELEMENT_NODE ? activator : null\n\n return activatorEl.value\n }\n}\n"],"mappings":"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"}
@@ -138,11 +138,12 @@
138
138
  .v-progress-linear--rounded-bar .v-progress-linear__stream + .v-progress-linear__background {
139
139
  border-radius: 9999px;
140
140
  }
141
- .v-progress-linear--rounded-bar .v-progress-linear__determinate.v-locale--is-ltr, .v-locale--is-ltr .v-progress-linear--rounded-bar .v-progress-linear__determinate {
141
+ .v-locale--is-ltr.v-progress-linear--rounded-bar .v-progress-linear__determinate, .v-locale--is-ltr .v-progress-linear--rounded-bar .v-progress-linear__determinate {
142
142
  border-top-left-radius: 0;
143
143
  border-bottom-left-radius: 0;
144
144
  }
145
- .v-progress-linear--rounded-bar .v-progress-linear__determinate.v-locale--is-rtl, .v-locale--is-rtl .v-progress-linear--rounded-bar .v-progress-linear__determinate {
145
+
146
+ .v-locale--is-rtl.v-progress-linear--rounded-bar .v-progress-linear__determinate, .v-locale--is-rtl .v-progress-linear--rounded-bar .v-progress-linear__determinate {
146
147
  border-top-right-radius: 0;
147
148
  border-bottom-right-radius: 0;
148
149
  }
@@ -16,6 +16,8 @@ type SelectionControlSlot = {
16
16
  model: WritableComputedRef<any>;
17
17
  textColorClasses: Ref<string[]>;
18
18
  textColorStyles: Ref<CSSProperties>;
19
+ backgroundColorClasses: Ref<string[]>;
20
+ backgroundColorStyles: Ref<CSSProperties>;
19
21
  inputNode: VNode;
20
22
  icon: IconValue | undefined;
21
23
  props: {
@@ -49,21 +51,33 @@ declare const VRadio: {
49
51
  value?: any;
50
52
  label?: string | undefined;
51
53
  class?: any;
52
- $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
53
- default?: (() => vue.VNodeChild) | undefined;
54
+ $children?: vue.VNodeChild | {
55
+ default?: ((arg: {
56
+ backgroundColorClasses: vue.Ref<string[]>;
57
+ backgroundColorStyles: vue.Ref<vue.CSSProperties>;
58
+ }) => vue.VNodeChild) | undefined;
54
59
  label?: ((arg: {
55
60
  label: string | undefined;
56
61
  props: Record<string, unknown>;
57
62
  }) => vue.VNodeChild) | undefined;
58
63
  input?: ((arg: SelectionControlSlot) => vue.VNodeChild) | undefined;
59
- };
64
+ } | ((arg: {
65
+ backgroundColorClasses: vue.Ref<string[]>;
66
+ backgroundColorStyles: vue.Ref<vue.CSSProperties>;
67
+ }) => vue.VNodeChild);
60
68
  ref?: vue.VNodeRef | undefined;
61
69
  ref_for?: boolean | undefined;
62
70
  ref_key?: string | undefined;
63
71
  theme?: string | undefined;
64
- "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
72
+ "v-slot:default"?: false | ((arg: {
73
+ backgroundColorClasses: vue.Ref<string[]>;
74
+ backgroundColorStyles: vue.Ref<vue.CSSProperties>;
75
+ }) => vue.VNodeChild) | undefined;
65
76
  'v-slots'?: {
66
- default?: false | (() => vue.VNodeChild) | undefined;
77
+ default?: false | ((arg: {
78
+ backgroundColorClasses: vue.Ref<string[]>;
79
+ backgroundColorStyles: vue.Ref<vue.CSSProperties>;
80
+ }) => vue.VNodeChild) | undefined;
67
81
  label?: false | ((arg: {
68
82
  label: string | undefined;
69
83
  props: Record<string, unknown>;
@@ -125,7 +139,10 @@ declare const VRadio: {
125
139
  [x: string]: unknown;
126
140
  };
127
141
  $slots: Readonly<{
128
- default?: (() => vue.VNode<vue.RendererNode, vue.RendererElement, {
142
+ default?: ((arg: {
143
+ backgroundColorClasses: vue.Ref<string[]>;
144
+ backgroundColorStyles: vue.Ref<vue.CSSProperties>;
145
+ }) => vue.VNode<vue.RendererNode, vue.RendererElement, {
129
146
  [key: string]: any;
130
147
  }>[]) | undefined;
131
148
  label?: ((arg: {
@@ -168,16 +185,25 @@ declare const VRadio: {
168
185
  trueValue?: any;
169
186
  falseValue?: any;
170
187
  } & {
171
- $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
172
- default?: (() => vue.VNodeChild) | undefined;
188
+ $children?: vue.VNodeChild | {
189
+ default?: ((arg: {
190
+ backgroundColorClasses: vue.Ref<string[]>;
191
+ backgroundColorStyles: vue.Ref<vue.CSSProperties>;
192
+ }) => vue.VNodeChild) | undefined;
173
193
  label?: ((arg: {
174
194
  label: string | undefined;
175
195
  props: Record<string, unknown>;
176
196
  }) => vue.VNodeChild) | undefined;
177
197
  input?: ((arg: SelectionControlSlot) => vue.VNodeChild) | undefined;
178
- };
198
+ } | ((arg: {
199
+ backgroundColorClasses: vue.Ref<string[]>;
200
+ backgroundColorStyles: vue.Ref<vue.CSSProperties>;
201
+ }) => vue.VNodeChild);
179
202
  'v-slots'?: {
180
- default?: false | (() => vue.VNodeChild) | undefined;
203
+ default?: false | ((arg: {
204
+ backgroundColorClasses: vue.Ref<string[]>;
205
+ backgroundColorStyles: vue.Ref<vue.CSSProperties>;
206
+ }) => vue.VNodeChild) | undefined;
181
207
  label?: false | ((arg: {
182
208
  label: string | undefined;
183
209
  props: Record<string, unknown>;
@@ -185,7 +211,10 @@ declare const VRadio: {
185
211
  input?: false | ((arg: SelectionControlSlot) => vue.VNodeChild) | undefined;
186
212
  } | undefined;
187
213
  } & {
188
- "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
214
+ "v-slot:default"?: false | ((arg: {
215
+ backgroundColorClasses: vue.Ref<string[]>;
216
+ backgroundColorStyles: vue.Ref<vue.CSSProperties>;
217
+ }) => vue.VNodeChild) | undefined;
189
218
  "v-slot:label"?: false | ((arg: {
190
219
  label: string | undefined;
191
220
  props: Record<string, unknown>;
@@ -204,7 +233,10 @@ declare const VRadio: {
204
233
  trueIcon: NonNullable<IconValue>;
205
234
  valueComparator: typeof deepEqual;
206
235
  }, {}, string, vue.SlotsType<Partial<{
207
- default: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
236
+ default: (arg: {
237
+ backgroundColorClasses: vue.Ref<string[]>;
238
+ backgroundColorStyles: vue.Ref<vue.CSSProperties>;
239
+ }) => vue.VNode<vue.RendererNode, vue.RendererElement, {
208
240
  [key: string]: any;
209
241
  }>[];
210
242
  label: (arg: {
@@ -262,16 +294,25 @@ declare const VRadio: {
262
294
  trueValue?: any;
263
295
  falseValue?: any;
264
296
  } & {
265
- $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
266
- default?: (() => vue.VNodeChild) | undefined;
297
+ $children?: vue.VNodeChild | {
298
+ default?: ((arg: {
299
+ backgroundColorClasses: vue.Ref<string[]>;
300
+ backgroundColorStyles: vue.Ref<vue.CSSProperties>;
301
+ }) => vue.VNodeChild) | undefined;
267
302
  label?: ((arg: {
268
303
  label: string | undefined;
269
304
  props: Record<string, unknown>;
270
305
  }) => vue.VNodeChild) | undefined;
271
306
  input?: ((arg: SelectionControlSlot) => vue.VNodeChild) | undefined;
272
- };
307
+ } | ((arg: {
308
+ backgroundColorClasses: vue.Ref<string[]>;
309
+ backgroundColorStyles: vue.Ref<vue.CSSProperties>;
310
+ }) => vue.VNodeChild);
273
311
  'v-slots'?: {
274
- default?: false | (() => vue.VNodeChild) | undefined;
312
+ default?: false | ((arg: {
313
+ backgroundColorClasses: vue.Ref<string[]>;
314
+ backgroundColorStyles: vue.Ref<vue.CSSProperties>;
315
+ }) => vue.VNodeChild) | undefined;
275
316
  label?: false | ((arg: {
276
317
  label: string | undefined;
277
318
  props: Record<string, unknown>;
@@ -279,7 +320,10 @@ declare const VRadio: {
279
320
  input?: false | ((arg: SelectionControlSlot) => vue.VNodeChild) | undefined;
280
321
  } | undefined;
281
322
  } & {
282
- "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
323
+ "v-slot:default"?: false | ((arg: {
324
+ backgroundColorClasses: vue.Ref<string[]>;
325
+ backgroundColorStyles: vue.Ref<vue.CSSProperties>;
326
+ }) => vue.VNodeChild) | undefined;
283
327
  "v-slot:label"?: false | ((arg: {
284
328
  label: string | undefined;
285
329
  props: Record<string, unknown>;
@@ -315,16 +359,25 @@ declare const VRadio: {
315
359
  trueValue?: any;
316
360
  falseValue?: any;
317
361
  } & {
318
- $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
319
- default?: (() => vue.VNodeChild) | undefined;
362
+ $children?: vue.VNodeChild | {
363
+ default?: ((arg: {
364
+ backgroundColorClasses: vue.Ref<string[]>;
365
+ backgroundColorStyles: vue.Ref<vue.CSSProperties>;
366
+ }) => vue.VNodeChild) | undefined;
320
367
  label?: ((arg: {
321
368
  label: string | undefined;
322
369
  props: Record<string, unknown>;
323
370
  }) => vue.VNodeChild) | undefined;
324
371
  input?: ((arg: SelectionControlSlot) => vue.VNodeChild) | undefined;
325
- };
372
+ } | ((arg: {
373
+ backgroundColorClasses: vue.Ref<string[]>;
374
+ backgroundColorStyles: vue.Ref<vue.CSSProperties>;
375
+ }) => vue.VNodeChild);
326
376
  'v-slots'?: {
327
- default?: false | (() => vue.VNodeChild) | undefined;
377
+ default?: false | ((arg: {
378
+ backgroundColorClasses: vue.Ref<string[]>;
379
+ backgroundColorStyles: vue.Ref<vue.CSSProperties>;
380
+ }) => vue.VNodeChild) | undefined;
328
381
  label?: false | ((arg: {
329
382
  label: string | undefined;
330
383
  props: Record<string, unknown>;
@@ -332,7 +385,10 @@ declare const VRadio: {
332
385
  input?: false | ((arg: SelectionControlSlot) => vue.VNodeChild) | undefined;
333
386
  } | undefined;
334
387
  } & {
335
- "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
388
+ "v-slot:default"?: false | ((arg: {
389
+ backgroundColorClasses: vue.Ref<string[]>;
390
+ backgroundColorStyles: vue.Ref<vue.CSSProperties>;
391
+ }) => vue.VNodeChild) | undefined;
336
392
  "v-slot:label"?: false | ((arg: {
337
393
  label: string | undefined;
338
394
  props: Record<string, unknown>;
@@ -351,7 +407,10 @@ declare const VRadio: {
351
407
  trueIcon: NonNullable<IconValue>;
352
408
  valueComparator: typeof deepEqual;
353
409
  }, {}, string, vue.SlotsType<Partial<{
354
- default: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
410
+ default: (arg: {
411
+ backgroundColorClasses: vue.Ref<string[]>;
412
+ backgroundColorStyles: vue.Ref<vue.CSSProperties>;
413
+ }) => vue.VNode<vue.RendererNode, vue.RendererElement, {
355
414
  [key: string]: any;
356
415
  }>[];
357
416
  label: (arg: {
@@ -47,7 +47,7 @@ export const VRadioGroup = genericComponent()({
47
47
  const id = computed(() => props.id || `radio-group-${uid}`);
48
48
  const model = useProxiedModel(props, 'modelValue');
49
49
  useRender(() => {
50
- const [inputAttrs, controlAttrs] = filterInputAttrs(attrs);
50
+ const [rootAttrs, controlAttrs] = filterInputAttrs(attrs);
51
51
  const [inputProps, _1] = VInput.filterProps(props);
52
52
  const [controlProps, _2] = VSelectionControl.filterProps(props);
53
53
  const label = slots.label ? slots.label({
@@ -59,7 +59,7 @@ export const VRadioGroup = genericComponent()({
59
59
  return _createVNode(VInput, _mergeProps({
60
60
  "class": ['v-radio-group', props.class],
61
61
  "style": props.style
62
- }, inputAttrs, inputProps, {
62
+ }, rootAttrs, inputProps, {
63
63
  "modelValue": model.value,
64
64
  "onUpdate:modelValue": $event => model.value = $event,
65
65
  "id": id.value
@@ -1 +1 @@
1
- {"version":3,"file":"VRadioGroup.mjs","names":["makeVInputProps","VInput","VLabel","VSelectionControl","makeSelectionControlGroupProps","VSelectionControlGroup","IconValue","useProxiedModel","computed","filterInputAttrs","genericComponent","getUid","omit","propsFactory","useRender","makeVRadioGroupProps","height","type","Number","String","default","trueIcon","falseIcon","VRadioGroup","name","inheritAttrs","props","emits","val","setup","_ref","attrs","slots","uid","id","model","inputAttrs","controlAttrs","inputProps","_1","filterProps","controlProps","_2","label","for","value","_createVNode","_mergeProps","class","style","$event","_ref2","messagesId","isDisabled","isReadonly","_Fragment","undefined"],"sources":["../../../src/components/VRadioGroup/VRadioGroup.tsx"],"sourcesContent":["// Styles\nimport './VRadioGroup.sass'\n\n// Components\nimport { makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { VLabel } from '@/components/VLabel'\nimport { VSelectionControl } from '@/components/VSelectionControl'\nimport { makeSelectionControlGroupProps, VSelectionControlGroup } from '@/components/VSelectionControlGroup/VSelectionControlGroup'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\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 { VInputSlots } from '@/components/VInput/VInput'\nimport type { VSelectionControlSlots } from '@/components/VSelectionControl/VSelectionControl'\n\nexport type VRadioGroupSlots = VInputSlots & VSelectionControlSlots\n\nexport const makeVRadioGroupProps = propsFactory({\n height: {\n type: [Number, String],\n default: 'auto',\n },\n\n ...makeVInputProps(),\n ...omit(makeSelectionControlGroupProps(), ['multiple']),\n\n trueIcon: {\n type: IconValue,\n default: '$radioOn',\n },\n falseIcon: {\n type: IconValue,\n default: '$radioOff',\n },\n type: {\n type: String,\n default: 'radio',\n },\n}, 'VRadioGroup')\n\nexport const VRadioGroup = genericComponent<VRadioGroupSlots>()({\n name: 'VRadioGroup',\n\n inheritAttrs: false,\n\n props: makeVRadioGroupProps(),\n\n emits: {\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { attrs, slots }) {\n const uid = getUid()\n const id = computed(() => props.id || `radio-group-${uid}`)\n const model = useProxiedModel(props, 'modelValue')\n\n useRender(() => {\n const [inputAttrs, controlAttrs] = filterInputAttrs(attrs)\n const [inputProps, _1] = VInput.filterProps(props)\n const [controlProps, _2] = VSelectionControl.filterProps(props)\n const label = slots.label\n ? slots.label({\n label: props.label,\n props: { for: id.value },\n })\n : props.label\n\n return (\n <VInput\n class={[\n 'v-radio-group',\n props.class,\n ]}\n style={ props.style }\n { ...inputAttrs }\n { ...inputProps }\n v-model={ model.value }\n id={ id.value }\n >\n {{\n ...slots,\n default: ({\n id,\n messagesId,\n isDisabled,\n isReadonly,\n }) => (\n <>\n { label && (\n <VLabel id={ id.value }>\n { label }\n </VLabel>\n )}\n\n <VSelectionControlGroup\n { ...controlProps }\n id={ id.value }\n aria-describedby={ messagesId.value }\n defaultsTarget=\"VRadio\"\n trueIcon={ props.trueIcon }\n falseIcon={ props.falseIcon }\n type={ props.type }\n disabled={ isDisabled.value }\n readonly={ isReadonly.value }\n aria-labelledby={ label ? id.value : undefined }\n multiple={ false }\n { ...controlAttrs }\n v-model={ model.value }\n v-slots={ slots }\n />\n </>\n ),\n }}\n </VInput>\n )\n })\n\n return {}\n },\n})\n\nexport type VRadioGroup = InstanceType<typeof VRadioGroup>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VRadioGroup.mjs","names":["makeVInputProps","VInput","VLabel","VSelectionControl","makeSelectionControlGroupProps","VSelectionControlGroup","IconValue","useProxiedModel","computed","filterInputAttrs","genericComponent","getUid","omit","propsFactory","useRender","makeVRadioGroupProps","height","type","Number","String","default","trueIcon","falseIcon","VRadioGroup","name","inheritAttrs","props","emits","val","setup","_ref","attrs","slots","uid","id","model","rootAttrs","controlAttrs","inputProps","_1","filterProps","controlProps","_2","label","for","value","_createVNode","_mergeProps","class","style","$event","_ref2","messagesId","isDisabled","isReadonly","_Fragment","undefined"],"sources":["../../../src/components/VRadioGroup/VRadioGroup.tsx"],"sourcesContent":["// Styles\nimport './VRadioGroup.sass'\n\n// Components\nimport { makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { VLabel } from '@/components/VLabel'\nimport { VSelectionControl } from '@/components/VSelectionControl'\nimport { makeSelectionControlGroupProps, VSelectionControlGroup } from '@/components/VSelectionControlGroup/VSelectionControlGroup'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\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 { VInputSlots } from '@/components/VInput/VInput'\n\nexport type VRadioGroupSlots = Omit<VInputSlots, 'default'> & {\n default: never\n label: {\n label: string | undefined\n props: Record<string, any>\n }\n}\n\nexport const makeVRadioGroupProps = propsFactory({\n height: {\n type: [Number, String],\n default: 'auto',\n },\n\n ...makeVInputProps(),\n ...omit(makeSelectionControlGroupProps(), ['multiple']),\n\n trueIcon: {\n type: IconValue,\n default: '$radioOn',\n },\n falseIcon: {\n type: IconValue,\n default: '$radioOff',\n },\n type: {\n type: String,\n default: 'radio',\n },\n}, 'VRadioGroup')\n\nexport const VRadioGroup = genericComponent<VRadioGroupSlots>()({\n name: 'VRadioGroup',\n\n inheritAttrs: false,\n\n props: makeVRadioGroupProps(),\n\n emits: {\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { attrs, slots }) {\n const uid = getUid()\n const id = computed(() => props.id || `radio-group-${uid}`)\n const model = useProxiedModel(props, 'modelValue')\n\n useRender(() => {\n const [rootAttrs, controlAttrs] = filterInputAttrs(attrs)\n const [inputProps, _1] = VInput.filterProps(props)\n const [controlProps, _2] = VSelectionControl.filterProps(props)\n const label = slots.label\n ? slots.label({\n label: props.label,\n props: { for: id.value },\n })\n : props.label\n\n return (\n <VInput\n class={[\n 'v-radio-group',\n props.class,\n ]}\n style={ props.style }\n { ...rootAttrs }\n { ...inputProps }\n v-model={ model.value }\n id={ id.value }\n >\n {{\n ...slots,\n default: ({\n id,\n messagesId,\n isDisabled,\n isReadonly,\n }) => (\n <>\n { label && (\n <VLabel id={ id.value }>\n { label }\n </VLabel>\n )}\n\n <VSelectionControlGroup\n { ...controlProps }\n id={ id.value }\n aria-describedby={ messagesId.value }\n defaultsTarget=\"VRadio\"\n trueIcon={ props.trueIcon }\n falseIcon={ props.falseIcon }\n type={ props.type }\n disabled={ isDisabled.value }\n readonly={ isReadonly.value }\n aria-labelledby={ label ? id.value : undefined }\n multiple={ false }\n { ...controlAttrs }\n v-model={ model.value }\n v-slots={ slots }\n />\n </>\n ),\n }}\n </VInput>\n )\n })\n\n return {}\n },\n})\n\nexport type VRadioGroup = InstanceType<typeof VRadioGroup>\n"],"mappings":"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"}