vuetify 3.4.0-beta.1 → 3.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (150) hide show
  1. package/dist/json/attributes.json +1947 -1967
  2. package/dist/json/importMap.json +86 -86
  3. package/dist/json/tags.json +2 -7
  4. package/dist/json/web-types.json +3738 -3886
  5. package/dist/vuetify-labs.css +2203 -2195
  6. package/dist/vuetify-labs.d.ts +1977 -9281
  7. package/dist/vuetify-labs.esm.js +106 -90
  8. package/dist/vuetify-labs.esm.js.map +1 -1
  9. package/dist/vuetify-labs.js +106 -90
  10. package/dist/vuetify-labs.min.css +2 -2
  11. package/dist/vuetify.css +1361 -1353
  12. package/dist/vuetify.d.ts +2031 -9325
  13. package/dist/vuetify.esm.js +106 -90
  14. package/dist/vuetify.esm.js.map +1 -1
  15. package/dist/vuetify.js +106 -90
  16. package/dist/vuetify.js.map +1 -1
  17. package/dist/vuetify.min.css +2 -2
  18. package/dist/vuetify.min.js +75 -74
  19. package/dist/vuetify.min.js.map +1 -1
  20. package/lib/blueprints/index.d.mts +0 -2
  21. package/lib/blueprints/md1.d.mts +0 -2
  22. package/lib/blueprints/md2.d.mts +0 -2
  23. package/lib/blueprints/md3.d.mts +0 -2
  24. package/lib/components/VAutocomplete/VAutocomplete.mjs +3 -3
  25. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  26. package/lib/components/VAutocomplete/index.d.mts +74 -98
  27. package/lib/components/VBottomNavigation/VBottomNavigation.mjs +1 -1
  28. package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
  29. package/lib/components/VBottomNavigation/index.d.mts +44 -69
  30. package/lib/components/VBtn/VBtn.css +0 -1
  31. package/lib/components/VBtn/VBtn.mjs +1 -1
  32. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  33. package/lib/components/VBtn/_variables.scss +1 -1
  34. package/lib/components/VBtn/index.d.mts +11 -11
  35. package/lib/components/VBtnGroup/VBtnGroup.css +0 -1
  36. package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
  37. package/lib/components/VBtnToggle/index.d.mts +45 -71
  38. package/lib/components/VCarousel/VCarousel.mjs +1 -1
  39. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  40. package/lib/components/VCarousel/index.d.mts +73 -513
  41. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  42. package/lib/components/VCheckbox/VCheckboxBtn.mjs +1 -1
  43. package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
  44. package/lib/components/VCheckbox/index.d.mts +100 -482
  45. package/lib/components/VChip/index.d.mts +15 -18
  46. package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
  47. package/lib/components/VChipGroup/index.d.mts +49 -189
  48. package/lib/components/VCombobox/VCombobox.mjs +3 -3
  49. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  50. package/lib/components/VCombobox/index.d.mts +74 -98
  51. package/lib/components/VDataIterator/index.d.mts +8 -6
  52. package/lib/components/VDataTable/VDataTable.css +3 -0
  53. package/lib/components/VDataTable/VDataTable.mjs.map +1 -1
  54. package/lib/components/VDataTable/VDataTable.sass +2 -0
  55. package/lib/components/VDataTable/VDataTableRow.mjs.map +1 -1
  56. package/lib/components/VDataTable/VDataTableRows.mjs.map +1 -1
  57. package/lib/components/VDataTable/VDataTableServer.mjs +2 -2
  58. package/lib/components/VDataTable/VDataTableServer.mjs.map +1 -1
  59. package/lib/components/VDataTable/VDataTableVirtual.mjs +4 -3
  60. package/lib/components/VDataTable/VDataTableVirtual.mjs.map +1 -1
  61. package/lib/components/VDataTable/composables/items.mjs.map +1 -1
  62. package/lib/components/VDataTable/composables/paginate.mjs.map +1 -1
  63. package/lib/components/VDataTable/composables/select.mjs.map +1 -1
  64. package/lib/components/VDataTable/index.d.mts +431 -4162
  65. package/lib/components/VDataTable/types.mjs.map +1 -1
  66. package/lib/components/VDatePicker/VDatePicker.css +4 -0
  67. package/lib/components/VDatePicker/VDatePicker.mjs +29 -22
  68. package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
  69. package/lib/components/VDatePicker/VDatePicker.sass +4 -0
  70. package/lib/components/VDatePicker/VDatePickerMonth.mjs +3 -1
  71. package/lib/components/VDatePicker/VDatePickerMonth.mjs.map +1 -1
  72. package/lib/components/VDatePicker/VDatePickerYears.mjs +1 -1
  73. package/lib/components/VDatePicker/VDatePickerYears.mjs.map +1 -1
  74. package/lib/components/VDatePicker/index.d.mts +32 -36
  75. package/lib/components/VDialog/VDialog.css +4 -1
  76. package/lib/components/VDialog/VDialog.sass +4 -3
  77. package/lib/components/VField/VField.mjs +1 -1
  78. package/lib/components/VField/VField.mjs.map +1 -1
  79. package/lib/components/VField/index.d.mts +33 -41
  80. package/lib/components/VFileInput/index.d.mts +144 -385
  81. package/lib/components/VGrid/VSpacer.mjs +3 -0
  82. package/lib/components/VGrid/VSpacer.mjs.map +1 -1
  83. package/lib/components/VImg/VImg.mjs +10 -2
  84. package/lib/components/VImg/VImg.mjs.map +1 -1
  85. package/lib/components/VInput/VInput.mjs +1 -1
  86. package/lib/components/VInput/VInput.mjs.map +1 -1
  87. package/lib/components/VInput/index.d.mts +72 -154
  88. package/lib/components/VItemGroup/VItemGroup.mjs +1 -1
  89. package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
  90. package/lib/components/VItemGroup/index.d.mts +49 -189
  91. package/lib/components/VList/VList.mjs +2 -2
  92. package/lib/components/VList/VList.mjs.map +1 -1
  93. package/lib/components/VList/index.d.mts +58 -95
  94. package/lib/components/VOtpInput/index.d.mts +8 -11
  95. package/lib/components/VRadio/index.d.mts +1 -1
  96. package/lib/components/VRadioGroup/VRadioGroup.mjs +1 -1
  97. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  98. package/lib/components/VRadioGroup/index.d.mts +77 -211
  99. package/lib/components/VRangeSlider/index.d.mts +22 -25
  100. package/lib/components/VSelect/VSelect.mjs +2 -2
  101. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  102. package/lib/components/VSelect/index.d.mts +67 -91
  103. package/lib/components/VSelectionControl/VSelectionControl.mjs +2 -2
  104. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  105. package/lib/components/VSelectionControl/index.d.mts +9 -18
  106. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +1 -1
  107. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
  108. package/lib/components/VSelectionControlGroup/index.d.mts +46 -68
  109. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  110. package/lib/components/VSlideGroup/index.d.mts +47 -101
  111. package/lib/components/VSlider/index.d.mts +22 -25
  112. package/lib/components/VStepper/VStepperWindow.mjs +8 -6
  113. package/lib/components/VStepper/VStepperWindow.mjs.map +1 -1
  114. package/lib/components/VStepper/VStepperWindowItem.mjs +3 -1
  115. package/lib/components/VStepper/VStepperWindowItem.mjs.map +1 -1
  116. package/lib/components/VStepper/index.d.mts +18 -140
  117. package/lib/components/VSwitch/VSwitch.mjs +7 -5
  118. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  119. package/lib/components/VSwitch/index.d.mts +90 -303
  120. package/lib/components/VTextField/index.d.mts +173 -451
  121. package/lib/components/VTextarea/index.d.mts +144 -385
  122. package/lib/components/VValidation/VValidation.mjs +2 -2
  123. package/lib/components/VValidation/VValidation.mjs.map +1 -1
  124. package/lib/components/VValidation/index.d.mts +88 -359
  125. package/lib/components/VWindow/VWindow.mjs +1 -1
  126. package/lib/components/VWindow/VWindow.mjs.map +1 -1
  127. package/lib/components/VWindow/index.d.mts +58 -245
  128. package/lib/components/index.d.mts +1974 -9264
  129. package/lib/composables/date/DateAdapter.mjs.map +1 -1
  130. package/lib/composables/date/adapters/vuetify.mjs +1 -13
  131. package/lib/composables/date/adapters/vuetify.mjs.map +1 -1
  132. package/lib/composables/date/date.mjs +1 -1
  133. package/lib/composables/date/date.mjs.map +1 -1
  134. package/lib/composables/form.mjs.map +1 -1
  135. package/lib/composables/group.mjs.map +1 -1
  136. package/lib/composables/nested/nested.mjs.map +1 -1
  137. package/lib/composables/proxiedModel.mjs.map +1 -1
  138. package/lib/composables/validation.mjs.map +1 -1
  139. package/lib/composables/virtual.mjs +11 -13
  140. package/lib/composables/virtual.mjs.map +1 -1
  141. package/lib/entry-bundler.mjs +1 -1
  142. package/lib/entry-bundler.mjs.map +1 -1
  143. package/lib/framework.mjs +1 -1
  144. package/lib/framework.mjs.map +1 -1
  145. package/lib/index.d.mts +24 -28
  146. package/lib/labs/VConfirmEdit/index.d.mts +0 -10
  147. package/lib/labs/components.d.mts +0 -10
  148. package/lib/util/defineComponent.mjs.map +1 -1
  149. package/lib/util/helpers.mjs.map +1 -1
  150. package/package.json +3 -3
@@ -1,5 +1,5 @@
1
1
  import * as vue from 'vue';
2
- import { ComponentPropsOptions, ExtractPropTypes, PropType, JSXComponent } from 'vue';
2
+ import { ComponentPropsOptions, ExtractPropTypes, PropType } from 'vue';
3
3
 
4
4
  declare const block: readonly ["top", "bottom"];
5
5
  declare const inline: readonly ["start", "end", "left", "right"];
@@ -1703,35 +1703,6 @@ declare const VStepperHeader: {
1703
1703
  }>>;
1704
1704
  type VStepperHeader = InstanceType<typeof VStepperHeader>;
1705
1705
 
1706
- interface TouchHandlers {
1707
- start?: (wrapperEvent: {
1708
- originalEvent: TouchEvent;
1709
- } & TouchData) => void;
1710
- end?: (wrapperEvent: {
1711
- originalEvent: TouchEvent;
1712
- } & TouchData) => void;
1713
- move?: (wrapperEvent: {
1714
- originalEvent: TouchEvent;
1715
- } & TouchData) => void;
1716
- left?: (wrapper: TouchData) => void;
1717
- right?: (wrapper: TouchData) => void;
1718
- up?: (wrapper: TouchData) => void;
1719
- down?: (wrapper: TouchData) => void;
1720
- }
1721
- interface TouchData {
1722
- touchstartX: number;
1723
- touchstartY: number;
1724
- touchmoveX: number;
1725
- touchmoveY: number;
1726
- touchendX: number;
1727
- touchendY: number;
1728
- offsetX: number;
1729
- offsetY: number;
1730
- }
1731
-
1732
- type IconValue = string | (string | [path: string, opacity: number])[] | JSXComponent;
1733
- declare const IconValue: PropType<IconValue>;
1734
-
1735
1706
  declare const VStepperWindow: {
1736
1707
  new (...args: any[]): {
1737
1708
  $: vue.ComponentInternalInstance;
@@ -1742,28 +1713,17 @@ declare const VStepperWindow: {
1742
1713
  style: vue.StyleValue;
1743
1714
  disabled: boolean;
1744
1715
  tag: string;
1745
- mandatory: NonNullable<boolean | "force">;
1746
- touch: boolean | TouchHandlers;
1747
1716
  selectedClass: string;
1748
- continuous: boolean;
1749
- nextIcon: IconValue;
1750
- prevIcon: IconValue;
1751
1717
  }> & Omit<{
1752
1718
  reverse: boolean;
1753
1719
  direction: "horizontal" | "vertical";
1754
1720
  style: vue.StyleValue;
1755
1721
  disabled: boolean;
1756
1722
  tag: string;
1757
- mandatory: NonNullable<boolean | "force">;
1758
1723
  selectedClass: string;
1759
- continuous: boolean;
1760
- nextIcon: IconValue;
1761
- prevIcon: IconValue;
1762
1724
  class?: any;
1763
- touch?: boolean | TouchHandlers | undefined;
1764
1725
  theme?: string | undefined;
1765
1726
  modelValue?: any;
1766
- showArrows?: string | boolean | undefined;
1767
1727
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
1768
1728
  default?: (() => vue.VNodeChild) | undefined;
1769
1729
  };
@@ -1778,17 +1738,11 @@ declare const VStepperWindow: {
1778
1738
  style: vue.StyleValue;
1779
1739
  disabled: boolean;
1780
1740
  tag: string;
1781
- mandatory: NonNullable<boolean | "force">;
1782
1741
  selectedClass: string;
1783
- continuous: boolean;
1784
- nextIcon: IconValue;
1785
- prevIcon: IconValue;
1786
1742
  } & {
1787
1743
  class?: any;
1788
- touch?: boolean | TouchHandlers | undefined;
1789
1744
  theme?: string | undefined;
1790
1745
  modelValue?: any;
1791
- showArrows?: string | boolean | undefined;
1792
1746
  } & {
1793
1747
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
1794
1748
  default?: (() => vue.VNodeChild) | undefined;
@@ -1800,7 +1754,7 @@ declare const VStepperWindow: {
1800
1754
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
1801
1755
  } & {
1802
1756
  "onUpdate:modelValue"?: ((v: unknown) => any) | undefined;
1803
- }, "reverse" | "direction" | "style" | "disabled" | "tag" | "mandatory" | "touch" | "selectedClass" | "continuous" | "nextIcon" | "prevIcon">;
1757
+ }, "reverse" | "direction" | "style" | "disabled" | "tag" | "selectedClass">;
1804
1758
  $attrs: {
1805
1759
  [x: string]: unknown;
1806
1760
  };
@@ -1822,17 +1776,11 @@ declare const VStepperWindow: {
1822
1776
  style: vue.StyleValue;
1823
1777
  disabled: boolean;
1824
1778
  tag: string;
1825
- mandatory: NonNullable<boolean | "force">;
1826
1779
  selectedClass: string;
1827
- continuous: boolean;
1828
- nextIcon: IconValue;
1829
- prevIcon: IconValue;
1830
1780
  } & {
1831
1781
  class?: any;
1832
- touch?: boolean | TouchHandlers | undefined;
1833
1782
  theme?: string | undefined;
1834
1783
  modelValue?: any;
1835
- showArrows?: string | boolean | undefined;
1836
1784
  } & {
1837
1785
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
1838
1786
  default?: (() => vue.VNodeChild) | undefined;
@@ -1852,12 +1800,7 @@ declare const VStepperWindow: {
1852
1800
  style: vue.StyleValue;
1853
1801
  disabled: boolean;
1854
1802
  tag: string;
1855
- mandatory: NonNullable<boolean | "force">;
1856
- touch: boolean | TouchHandlers;
1857
1803
  selectedClass: string;
1858
- continuous: boolean;
1859
- nextIcon: IconValue;
1860
- prevIcon: IconValue;
1861
1804
  }, {}, string, vue.SlotsType<Partial<{
1862
1805
  default: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
1863
1806
  [key: string]: any;
@@ -1888,17 +1831,11 @@ declare const VStepperWindow: {
1888
1831
  style: vue.StyleValue;
1889
1832
  disabled: boolean;
1890
1833
  tag: string;
1891
- mandatory: NonNullable<boolean | "force">;
1892
1834
  selectedClass: string;
1893
- continuous: boolean;
1894
- nextIcon: IconValue;
1895
- prevIcon: IconValue;
1896
1835
  } & {
1897
1836
  class?: any;
1898
- touch?: boolean | TouchHandlers | undefined;
1899
1837
  theme?: string | undefined;
1900
1838
  modelValue?: any;
1901
- showArrows?: string | boolean | undefined;
1902
1839
  } & {
1903
1840
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
1904
1841
  default?: (() => vue.VNodeChild) | undefined;
@@ -1920,17 +1857,11 @@ declare const VStepperWindow: {
1920
1857
  style: vue.StyleValue;
1921
1858
  disabled: boolean;
1922
1859
  tag: string;
1923
- mandatory: NonNullable<boolean | "force">;
1924
1860
  selectedClass: string;
1925
- continuous: boolean;
1926
- nextIcon: IconValue;
1927
- prevIcon: IconValue;
1928
1861
  } & {
1929
1862
  class?: any;
1930
- touch?: boolean | TouchHandlers | undefined;
1931
1863
  theme?: string | undefined;
1932
1864
  modelValue?: any;
1933
- showArrows?: string | boolean | undefined;
1934
1865
  } & {
1935
1866
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
1936
1867
  default?: (() => vue.VNodeChild) | undefined;
@@ -1950,108 +1881,55 @@ declare const VStepperWindow: {
1950
1881
  style: vue.StyleValue;
1951
1882
  disabled: boolean;
1952
1883
  tag: string;
1953
- mandatory: NonNullable<boolean | "force">;
1954
- touch: boolean | TouchHandlers;
1955
1884
  selectedClass: string;
1956
- continuous: boolean;
1957
- nextIcon: IconValue;
1958
- prevIcon: IconValue;
1959
1885
  }, {}, string, vue.SlotsType<Partial<{
1960
1886
  default: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
1961
1887
  [key: string]: any;
1962
1888
  }>[];
1963
1889
  }>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
1964
- theme: StringConstructor;
1965
- tag: {
1966
- type: StringConstructor;
1890
+ reverse: BooleanConstructor;
1891
+ direction: {
1892
+ type: vue.PropType<"horizontal" | "vertical">;
1967
1893
  default: string;
1968
1894
  };
1969
- class: vue.PropType<any>;
1970
1895
  style: {
1971
1896
  type: vue.PropType<vue.StyleValue>;
1972
1897
  default: null;
1973
1898
  };
1974
- continuous: BooleanConstructor;
1975
- nextIcon: {
1976
- type: vue.PropType<IconValue>;
1977
- default: string;
1978
- };
1979
- prevIcon: {
1980
- type: vue.PropType<IconValue>;
1981
- default: string;
1982
- };
1983
- reverse: BooleanConstructor;
1984
- showArrows: {
1985
- type: (StringConstructor | BooleanConstructor)[];
1986
- validator: (v: any) => boolean;
1987
- };
1988
- touch: {
1989
- type: vue.PropType<boolean | TouchHandlers>;
1990
- default: undefined;
1991
- };
1992
- direction: {
1993
- type: vue.PropType<"horizontal" | "vertical">;
1899
+ disabled: BooleanConstructor;
1900
+ class: vue.PropType<any>;
1901
+ tag: {
1902
+ type: StringConstructor;
1994
1903
  default: string;
1995
1904
  };
1905
+ theme: StringConstructor;
1996
1906
  modelValue: null;
1997
- disabled: BooleanConstructor;
1998
1907
  selectedClass: {
1999
1908
  type: StringConstructor;
2000
1909
  default: string;
2001
1910
  };
2002
- mandatory: Omit<{
2003
- type: vue.PropType<boolean | "force">;
2004
- default: "force";
2005
- }, "type" | "default"> & {
2006
- type: vue.PropType<NonNullable<boolean | "force">>;
2007
- default: NonNullable<boolean | "force">;
2008
- };
2009
1911
  }, vue.ExtractPropTypes<{
2010
- theme: StringConstructor;
2011
- tag: {
2012
- type: StringConstructor;
1912
+ reverse: BooleanConstructor;
1913
+ direction: {
1914
+ type: vue.PropType<"horizontal" | "vertical">;
2013
1915
  default: string;
2014
1916
  };
2015
- class: vue.PropType<any>;
2016
1917
  style: {
2017
1918
  type: vue.PropType<vue.StyleValue>;
2018
1919
  default: null;
2019
1920
  };
2020
- continuous: BooleanConstructor;
2021
- nextIcon: {
2022
- type: vue.PropType<IconValue>;
2023
- default: string;
2024
- };
2025
- prevIcon: {
2026
- type: vue.PropType<IconValue>;
2027
- default: string;
2028
- };
2029
- reverse: BooleanConstructor;
2030
- showArrows: {
2031
- type: (StringConstructor | BooleanConstructor)[];
2032
- validator: (v: any) => boolean;
2033
- };
2034
- touch: {
2035
- type: vue.PropType<boolean | TouchHandlers>;
2036
- default: undefined;
2037
- };
2038
- direction: {
2039
- type: vue.PropType<"horizontal" | "vertical">;
1921
+ disabled: BooleanConstructor;
1922
+ class: vue.PropType<any>;
1923
+ tag: {
1924
+ type: StringConstructor;
2040
1925
  default: string;
2041
1926
  };
1927
+ theme: StringConstructor;
2042
1928
  modelValue: null;
2043
- disabled: BooleanConstructor;
2044
1929
  selectedClass: {
2045
1930
  type: StringConstructor;
2046
1931
  default: string;
2047
1932
  };
2048
- mandatory: Omit<{
2049
- type: vue.PropType<boolean | "force">;
2050
- default: "force";
2051
- }, "type" | "default"> & {
2052
- type: vue.PropType<NonNullable<boolean | "force">>;
2053
- default: NonNullable<boolean | "force">;
2054
- };
2055
1933
  }>>;
2056
1934
  type VStepperWindow = InstanceType<typeof VStepperWindow>;
2057
1935
 
@@ -30,8 +30,8 @@ export const VSwitch = genericComponent()({
30
30
  props: makeVSwitchProps(),
31
31
  emits: {
32
32
  'update:focused': focused => true,
33
- 'update:modelValue': () => true,
34
- 'update:indeterminate': val => true
33
+ 'update:modelValue': value => true,
34
+ 'update:indeterminate': value => true
35
35
  },
36
36
  setup(props, _ref) {
37
37
  let {
@@ -73,11 +73,13 @@ export const VSwitch = genericComponent()({
73
73
  'v-switch--inset': props.inset
74
74
  }, {
75
75
  'v-switch--indeterminate': indeterminate.value
76
- }, loaderClasses.value, props.class],
77
- "style": props.style
76
+ }, loaderClasses.value, props.class]
78
77
  }, rootAttrs, inputProps, {
78
+ "modelValue": model.value,
79
+ "onUpdate:modelValue": $event => model.value = $event,
79
80
  "id": id.value,
80
- "focused": isFocused.value
81
+ "focused": isFocused.value,
82
+ "style": props.style
81
83
  }), {
82
84
  ...slots,
83
85
  default: _ref2 => {
@@ -1 +1 @@
1
- {"version":3,"file":"VSwitch.mjs","names":["VScaleTransition","VIcon","makeVInputProps","VInput","VProgressCircular","makeVSelectionControlProps","VSelectionControl","useFocus","LoaderSlot","useLoader","useProxiedModel","computed","ref","filterInputAttrs","genericComponent","getUid","propsFactory","useRender","makeVSwitchProps","indeterminate","Boolean","inset","flat","loading","type","String","default","VSwitch","name","inheritAttrs","props","emits","focused","update:modelValue","val","setup","_ref","attrs","slots","model","loaderClasses","isFocused","focus","blur","control","loaderColor","color","uid","id","onChange","value","onTrackClick","e","stopPropagation","preventDefault","input","click","rootAttrs","controlAttrs","inputProps","filterProps","controlProps","_createVNode","_mergeProps","class","style","_ref2","messagesId","isDisabled","isReadonly","isValid","$event","undefined","_ref3","backgroundColorClasses","backgroundColorStyles","_ref4","inputNode","icon","_Fragment","slotProps","loader","isActive"],"sources":["../../../src/components/VSwitch/VSwitch.tsx"],"sourcesContent":["// Styles\nimport './VSwitch.sass'\n\n// Components\nimport { VScaleTransition } from '@/components/transitions'\nimport { VIcon } from '@/components/VIcon'\nimport { makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { VProgressCircular } from '@/components/VProgressCircular'\nimport { makeVSelectionControlProps, VSelectionControl } from '@/components/VSelectionControl/VSelectionControl'\n\n// Composables\nimport { useFocus } from '@/composables/focus'\nimport { LoaderSlot, useLoader } from '@/composables/loader'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, ref } from 'vue'\nimport { filterInputAttrs, genericComponent, getUid, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { VInputSlots } from '@/components/VInput/VInput'\nimport type { VSelectionControlSlots } from '@/components/VSelectionControl/VSelectionControl'\nimport type { LoaderSlotProps } from '@/composables/loader'\n\nexport type VSwitchSlots =\n & VInputSlots\n & VSelectionControlSlots\n & { loader: LoaderSlotProps }\n\nexport const makeVSwitchProps = propsFactory({\n indeterminate: Boolean,\n inset: Boolean,\n flat: Boolean,\n loading: {\n type: [Boolean, String],\n default: false,\n },\n\n ...makeVInputProps(),\n ...makeVSelectionControlProps(),\n}, 'VSwitch')\n\nexport const VSwitch = genericComponent<VSwitchSlots>()({\n name: 'VSwitch',\n\n inheritAttrs: false,\n\n props: makeVSwitchProps(),\n\n emits: {\n 'update:focused': (focused: boolean) => true,\n 'update:modelValue': () => true,\n 'update:indeterminate': (val: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const indeterminate = useProxiedModel(props, 'indeterminate')\n const model = useProxiedModel(props, 'modelValue')\n const { loaderClasses } = useLoader(props)\n const { isFocused, focus, blur } = useFocus(props)\n const control = ref<VSelectionControl>()\n\n const loaderColor = computed(() => {\n return typeof props.loading === 'string' && props.loading !== ''\n ? props.loading\n : props.color\n })\n\n const uid = getUid()\n const id = computed(() => props.id || `switch-${uid}`)\n\n function onChange () {\n if (indeterminate.value) {\n indeterminate.value = false\n }\n }\n function onTrackClick (e: Event) {\n e.stopPropagation()\n e.preventDefault()\n control.value?.input?.click()\n }\n\n useRender(() => {\n const [rootAttrs, controlAttrs] = filterInputAttrs(attrs)\n const inputProps = VInput.filterProps(props)\n const controlProps = VSelectionControl.filterProps(props)\n\n return (\n <VInput\n class={[\n 'v-switch',\n { 'v-switch--inset': props.inset },\n { 'v-switch--indeterminate': indeterminate.value },\n loaderClasses.value,\n props.class,\n ]}\n style={ props.style }\n { ...rootAttrs }\n { ...inputProps }\n id={ id.value }\n focused={ isFocused.value }\n >\n {{\n ...slots,\n default: ({\n id,\n messagesId,\n isDisabled,\n isReadonly,\n isValid,\n }) => (\n <VSelectionControl\n ref={ control }\n { ...controlProps }\n v-model={ model.value }\n id={ id.value }\n aria-describedby={ messagesId.value }\n type=\"checkbox\"\n onUpdate:modelValue={ onChange }\n aria-checked={ indeterminate.value ? 'mixed' : undefined }\n disabled={ isDisabled.value }\n readonly={ isReadonly.value }\n onFocus={ focus }\n onBlur={ blur }\n { ...controlAttrs }\n >\n {{\n ...slots,\n default: ({ backgroundColorClasses, backgroundColorStyles }) => (\n <div\n class={[\n 'v-switch__track',\n ...backgroundColorClasses.value,\n ]}\n style={ backgroundColorStyles.value }\n onClick={ onTrackClick }\n ></div>\n ),\n input: ({ inputNode, icon, backgroundColorClasses, backgroundColorStyles }) => (\n <>\n { inputNode }\n <div\n class={[\n 'v-switch__thumb',\n { 'v-switch__thumb--filled': icon || props.loading },\n props.inset ? undefined : backgroundColorClasses.value,\n ]}\n style={ props.inset ? undefined : backgroundColorStyles.value }\n >\n <VScaleTransition>\n { !props.loading ? (\n icon && <VIcon key={ icon as any } icon={ icon } size=\"x-small\" />\n ) : (\n <LoaderSlot\n name=\"v-switch\"\n active\n color={ isValid.value === false ? undefined : loaderColor.value }\n >\n { slotProps => (\n slots.loader\n ? slots.loader(slotProps)\n : (\n <VProgressCircular\n active={ slotProps.isActive }\n color={ slotProps.color }\n indeterminate\n size=\"16\"\n width=\"2\"\n />\n )\n )}\n </LoaderSlot>\n )}\n </VScaleTransition>\n </div>\n </>\n ),\n }}\n </VSelectionControl>\n ),\n }}\n </VInput>\n )\n })\n\n return {}\n },\n})\n\nexport type VSwitch = InstanceType<typeof VSwitch>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VSwitch.mjs","names":["VScaleTransition","VIcon","makeVInputProps","VInput","VProgressCircular","makeVSelectionControlProps","VSelectionControl","useFocus","LoaderSlot","useLoader","useProxiedModel","computed","ref","filterInputAttrs","genericComponent","getUid","propsFactory","useRender","makeVSwitchProps","indeterminate","Boolean","inset","flat","loading","type","String","default","VSwitch","name","inheritAttrs","props","emits","focused","value","setup","_ref","attrs","slots","model","loaderClasses","isFocused","focus","blur","control","loaderColor","color","uid","id","onChange","onTrackClick","e","stopPropagation","preventDefault","input","click","rootAttrs","controlAttrs","inputProps","filterProps","controlProps","_createVNode","_mergeProps","class","$event","style","_ref2","messagesId","isDisabled","isReadonly","isValid","undefined","_ref3","backgroundColorClasses","backgroundColorStyles","_ref4","inputNode","icon","_Fragment","slotProps","loader","isActive"],"sources":["../../../src/components/VSwitch/VSwitch.tsx"],"sourcesContent":["// Styles\nimport './VSwitch.sass'\n\n// Components\nimport { VScaleTransition } from '@/components/transitions'\nimport { VIcon } from '@/components/VIcon'\nimport { makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { VProgressCircular } from '@/components/VProgressCircular'\nimport { makeVSelectionControlProps, VSelectionControl } from '@/components/VSelectionControl/VSelectionControl'\n\n// Composables\nimport { useFocus } from '@/composables/focus'\nimport { LoaderSlot, useLoader } from '@/composables/loader'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, ref } from 'vue'\nimport { filterInputAttrs, genericComponent, getUid, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { VInputSlots } from '@/components/VInput/VInput'\nimport type { VSelectionControlSlots } from '@/components/VSelectionControl/VSelectionControl'\nimport type { LoaderSlotProps } from '@/composables/loader'\nimport type { GenericProps } from '@/util'\n\nexport type VSwitchSlots =\n & VInputSlots\n & VSelectionControlSlots\n & { loader: LoaderSlotProps }\n\nexport const makeVSwitchProps = propsFactory({\n indeterminate: Boolean,\n inset: Boolean,\n flat: Boolean,\n loading: {\n type: [Boolean, String],\n default: false,\n },\n\n ...makeVInputProps(),\n ...makeVSelectionControlProps(),\n}, 'VSwitch')\n\nexport const VSwitch = genericComponent<new <T>(\n props: {\n modelValue?: T | null\n 'onUpdate:modelValue'?: (value: T | null) => void\n },\n slots: VSwitchSlots,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VSwitch',\n\n inheritAttrs: false,\n\n props: makeVSwitchProps(),\n\n emits: {\n 'update:focused': (focused: boolean) => true,\n 'update:modelValue': (value: any) => true,\n 'update:indeterminate': (value: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const indeterminate = useProxiedModel(props, 'indeterminate')\n const model = useProxiedModel(props, 'modelValue')\n const { loaderClasses } = useLoader(props)\n const { isFocused, focus, blur } = useFocus(props)\n const control = ref<VSelectionControl>()\n\n const loaderColor = computed(() => {\n return typeof props.loading === 'string' && props.loading !== ''\n ? props.loading\n : props.color\n })\n\n const uid = getUid()\n const id = computed(() => props.id || `switch-${uid}`)\n\n function onChange () {\n if (indeterminate.value) {\n indeterminate.value = false\n }\n }\n function onTrackClick (e: Event) {\n e.stopPropagation()\n e.preventDefault()\n control.value?.input?.click()\n }\n\n useRender(() => {\n const [rootAttrs, controlAttrs] = filterInputAttrs(attrs)\n const inputProps = VInput.filterProps(props)\n const controlProps = VSelectionControl.filterProps(props)\n\n return (\n <VInput\n class={[\n 'v-switch',\n { 'v-switch--inset': props.inset },\n { 'v-switch--indeterminate': indeterminate.value },\n loaderClasses.value,\n props.class,\n ]}\n { ...rootAttrs }\n { ...inputProps }\n v-model={ model.value }\n id={ id.value }\n focused={ isFocused.value }\n style={ props.style }\n >\n {{\n ...slots,\n default: ({\n id,\n messagesId,\n isDisabled,\n isReadonly,\n isValid,\n }) => (\n <VSelectionControl\n ref={ control }\n { ...controlProps }\n v-model={ model.value }\n id={ id.value }\n aria-describedby={ messagesId.value }\n type=\"checkbox\"\n onUpdate:modelValue={ onChange }\n aria-checked={ indeterminate.value ? 'mixed' : undefined }\n disabled={ isDisabled.value }\n readonly={ isReadonly.value }\n onFocus={ focus }\n onBlur={ blur }\n { ...controlAttrs }\n >\n {{\n ...slots,\n default: ({ backgroundColorClasses, backgroundColorStyles }) => (\n <div\n class={[\n 'v-switch__track',\n ...backgroundColorClasses.value,\n ]}\n style={ backgroundColorStyles.value }\n onClick={ onTrackClick }\n ></div>\n ),\n input: ({ inputNode, icon, backgroundColorClasses, backgroundColorStyles }) => (\n <>\n { inputNode }\n <div\n class={[\n 'v-switch__thumb',\n { 'v-switch__thumb--filled': icon || props.loading },\n props.inset ? undefined : backgroundColorClasses.value,\n ]}\n style={ props.inset ? undefined : backgroundColorStyles.value }\n >\n <VScaleTransition>\n { !props.loading ? (\n icon && <VIcon key={ icon as any } icon={ icon } size=\"x-small\" />\n ) : (\n <LoaderSlot\n name=\"v-switch\"\n active\n color={ isValid.value === false ? undefined : loaderColor.value }\n >\n { slotProps => (\n slots.loader\n ? slots.loader(slotProps)\n : (\n <VProgressCircular\n active={ slotProps.isActive }\n color={ slotProps.color }\n indeterminate\n size=\"16\"\n width=\"2\"\n />\n )\n )}\n </LoaderSlot>\n )}\n </VScaleTransition>\n </div>\n </>\n ),\n }}\n </VSelectionControl>\n ),\n }}\n </VInput>\n )\n })\n\n return {}\n },\n})\n\nexport type VSwitch = InstanceType<typeof VSwitch>\n"],"mappings":"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"}