@vuetify/nightly 3.8.10-dev.2025-06-18 → 3.8.10-master.2025-06-18

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 (209) hide show
  1. package/CHANGELOG.md +3 -54
  2. package/dist/json/attributes.json +1259 -1655
  3. package/dist/json/importMap-labs.json +22 -26
  4. package/dist/json/importMap.json +160 -160
  5. package/dist/json/tags.json +2 -106
  6. package/dist/json/web-types.json +2705 -4334
  7. package/dist/vuetify-labs.cjs +180 -750
  8. package/dist/vuetify-labs.css +4655 -4700
  9. package/dist/vuetify-labs.d.ts +3083 -10404
  10. package/dist/vuetify-labs.esm.js +181 -751
  11. package/dist/vuetify-labs.esm.js.map +1 -1
  12. package/dist/vuetify-labs.js +180 -750
  13. package/dist/vuetify-labs.min.css +2 -2
  14. package/dist/vuetify.cjs +166 -478
  15. package/dist/vuetify.cjs.map +1 -1
  16. package/dist/vuetify.css +3324 -3369
  17. package/dist/vuetify.d.ts +2088 -2790
  18. package/dist/vuetify.esm.js +167 -479
  19. package/dist/vuetify.esm.js.map +1 -1
  20. package/dist/vuetify.js +166 -478
  21. package/dist/vuetify.js.map +1 -1
  22. package/dist/vuetify.min.css +2 -2
  23. package/dist/vuetify.min.js +1232 -1254
  24. package/dist/vuetify.min.js.map +1 -1
  25. package/lib/components/VAlert/VAlert.css +1 -6
  26. package/lib/components/VAlert/VAlert.d.ts +0 -35
  27. package/lib/components/VAlert/VAlert.js +10 -15
  28. package/lib/components/VAlert/VAlert.js.map +1 -1
  29. package/lib/components/VAlert/VAlert.sass +1 -7
  30. package/lib/components/VAppBar/VAppBar.d.ts +3 -15
  31. package/lib/components/VAppBar/VAppBarNavIcon.d.ts +10 -20
  32. package/lib/components/VAutocomplete/VAutocomplete.d.ts +110 -175
  33. package/lib/components/VAutocomplete/VAutocomplete.js +3 -21
  34. package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
  35. package/lib/components/VBadge/VBadge.d.ts +0 -60
  36. package/lib/components/VBadge/VBadge.js +2 -7
  37. package/lib/components/VBadge/VBadge.js.map +1 -1
  38. package/lib/components/VBtn/VBtn.d.ts +10 -20
  39. package/lib/components/VBtnGroup/VBtnGroup.css +7 -30
  40. package/lib/components/VBtnGroup/VBtnGroup.d.ts +32 -58
  41. package/lib/components/VBtnGroup/VBtnGroup.js +3 -7
  42. package/lib/components/VBtnGroup/VBtnGroup.js.map +1 -1
  43. package/lib/components/VBtnGroup/VBtnGroup.sass +17 -44
  44. package/lib/components/VBtnToggle/VBtnToggle.d.ts +0 -25
  45. package/lib/components/VCard/VCard.d.ts +10 -20
  46. package/lib/components/VCheckbox/VCheckbox.d.ts +13 -23
  47. package/lib/components/VCheckbox/VCheckboxBtn.d.ts +10 -20
  48. package/lib/components/VChip/VChip.d.ts +10 -20
  49. package/lib/components/VChipGroup/VChipGroup.d.ts +0 -10
  50. package/lib/components/VCombobox/VCombobox.d.ts +110 -175
  51. package/lib/components/VCombobox/VCombobox.js +3 -22
  52. package/lib/components/VCombobox/VCombobox.js.map +1 -1
  53. package/lib/components/VDataTable/VDataTable.d.ts +0 -60
  54. package/lib/components/VDataTable/VDataTableHeaders.d.ts +0 -13
  55. package/lib/components/VDataTable/VDataTableHeaders.js +2 -4
  56. package/lib/components/VDataTable/VDataTableHeaders.js.map +1 -1
  57. package/lib/components/VDataTable/VDataTableServer.d.ts +0 -42
  58. package/lib/components/VDataTable/VDataTableVirtual.d.ts +0 -42
  59. package/lib/components/VDatePicker/VDatePicker.d.ts +5 -80
  60. package/lib/components/VDatePicker/VDatePicker.js +4 -10
  61. package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
  62. package/lib/components/VDatePicker/VDatePickerMonth.d.ts +0 -10
  63. package/lib/components/VDatePicker/VDatePickerMonth.js +1 -1
  64. package/lib/components/VDatePicker/VDatePickerMonth.js.map +1 -1
  65. package/lib/components/VExpansionPanel/VExpansionPanel.d.ts +10 -20
  66. package/lib/components/VExpansionPanel/VExpansionPanelTitle.d.ts +10 -20
  67. package/lib/components/VExpansionPanel/VExpansionPanels.d.ts +10 -20
  68. package/lib/components/VFab/VFab.d.ts +10 -20
  69. package/lib/components/VField/VField.d.ts +3 -3
  70. package/lib/components/VFileInput/VFileInput.d.ts +15 -15
  71. package/lib/components/VInfiniteScroll/VInfiniteScroll.d.ts +3 -9
  72. package/lib/components/VInfiniteScroll/VInfiniteScroll.js +0 -29
  73. package/lib/components/VInfiniteScroll/VInfiniteScroll.js.map +1 -1
  74. package/lib/components/VInput/VInput.d.ts +4 -4
  75. package/lib/components/VKbd/VKbd.css +2 -13
  76. package/lib/components/VKbd/VKbd.sass +1 -2
  77. package/lib/components/VKbd/_variables.scss +1 -12
  78. package/lib/components/VKbd/index.d.ts +95 -1
  79. package/lib/components/VKbd/index.js +4 -1
  80. package/lib/components/VKbd/index.js.map +1 -1
  81. package/lib/components/VList/VList.d.ts +0 -13
  82. package/lib/components/VList/VList.js +1 -4
  83. package/lib/components/VList/VList.js.map +1 -1
  84. package/lib/components/VList/VListChildren.js.map +1 -1
  85. package/lib/components/VList/VListItem.d.ts +10 -28
  86. package/lib/components/VList/VListItem.js +3 -7
  87. package/lib/components/VList/VListItem.js.map +1 -1
  88. package/lib/components/VList/list.d.ts +2 -9
  89. package/lib/components/VList/list.js +0 -7
  90. package/lib/components/VList/list.js.map +1 -1
  91. package/lib/components/VMenu/VMenu.d.ts +0 -13
  92. package/lib/components/VMenu/VMenu.js +1 -2
  93. package/lib/components/VMenu/VMenu.js.map +1 -1
  94. package/lib/components/VNumberInput/VNumberInput.d.ts +89 -114
  95. package/lib/components/VNumberInput/VNumberInput.js +20 -43
  96. package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
  97. package/lib/components/VOtpInput/VOtpInput.js +1 -2
  98. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  99. package/lib/components/VOverlay/VOverlay.css +1 -1
  100. package/lib/components/VOverlay/_variables.scss +1 -1
  101. package/lib/components/VRadio/VRadio.d.ts +10 -20
  102. package/lib/components/VRadioGroup/VRadioGroup.d.ts +13 -23
  103. package/lib/components/VRangeSlider/VRangeSlider.d.ts +3 -3
  104. package/lib/components/VSelect/VSelect.d.ts +118 -204
  105. package/lib/components/VSelect/VSelect.js +3 -21
  106. package/lib/components/VSelect/VSelect.js.map +1 -1
  107. package/lib/components/VSelectionControl/VSelectionControl.d.ts +10 -20
  108. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.d.ts +14 -28
  109. package/lib/components/VSlideGroup/VSlideGroup.d.ts +0 -10
  110. package/lib/components/VSlideGroup/VSlideGroup.js +1 -2
  111. package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
  112. package/lib/components/VSlider/VSlider.d.ts +3 -3
  113. package/lib/components/VSlider/VSliderThumb.d.ts +10 -20
  114. package/lib/components/VSpeedDial/VSpeedDial.d.ts +0 -13
  115. package/lib/components/VStepper/VStepperItem.d.ts +14 -28
  116. package/lib/components/VSwitch/VSwitch.d.ts +13 -23
  117. package/lib/components/VTable/VTable.css +0 -6
  118. package/lib/components/VTable/VTable.d.ts +24 -55
  119. package/lib/components/VTable/VTable.js +2 -9
  120. package/lib/components/VTable/VTable.js.map +1 -1
  121. package/lib/components/VTable/VTable.sass +0 -14
  122. package/lib/components/VTable/_variables.scss +0 -1
  123. package/lib/components/VTabs/VTab.d.ts +28 -56
  124. package/lib/components/VTabs/VTabs.d.ts +0 -10
  125. package/lib/components/VTextField/VTextField.d.ts +27 -27
  126. package/lib/components/VTextarea/VTextarea.d.ts +15 -15
  127. package/lib/components/VToolbar/VToolbar.d.ts +3 -15
  128. package/lib/components/VToolbar/VToolbar.js +3 -6
  129. package/lib/components/VToolbar/VToolbar.js.map +1 -1
  130. package/lib/composables/calendar.d.ts +0 -5
  131. package/lib/composables/calendar.js +1 -2
  132. package/lib/composables/calendar.js.map +1 -1
  133. package/lib/composables/date/DateAdapter.d.ts +3 -3
  134. package/lib/composables/date/DateAdapter.js.map +1 -1
  135. package/lib/composables/date/adapters/vuetify.d.ts +1 -1
  136. package/lib/composables/date/adapters/vuetify.js +4 -4
  137. package/lib/composables/date/adapters/vuetify.js.map +1 -1
  138. package/lib/composables/date/date.d.ts +3 -3
  139. package/lib/composables/date/index.d.ts +0 -1
  140. package/lib/composables/date/index.js +0 -1
  141. package/lib/composables/date/index.js.map +1 -1
  142. package/lib/composables/filter.js +0 -3
  143. package/lib/composables/filter.js.map +1 -1
  144. package/lib/composables/locale.d.ts +1 -5
  145. package/lib/composables/locale.js.map +1 -1
  146. package/lib/composables/theme.d.ts +1 -6
  147. package/lib/composables/theme.js +29 -97
  148. package/lib/composables/theme.js.map +1 -1
  149. package/lib/composables/virtual.js +1 -6
  150. package/lib/composables/virtual.js.map +1 -1
  151. package/lib/directives/ripple/index.d.ts +1 -2
  152. package/lib/directives/ripple/index.js +7 -12
  153. package/lib/directives/ripple/index.js.map +1 -1
  154. package/lib/entry-bundler.d.ts +3 -4
  155. package/lib/entry-bundler.js +1 -1
  156. package/lib/entry-bundler.js.map +1 -1
  157. package/lib/framework.d.ts +67 -86
  158. package/lib/framework.js +1 -1
  159. package/lib/framework.js.map +1 -1
  160. package/lib/labs/VCalendar/VCalendar.d.ts +0 -10
  161. package/lib/labs/VColorInput/VColorInput.d.ts +3 -3
  162. package/lib/labs/VDateInput/VDateInput.d.ts +87 -97
  163. package/lib/labs/VFileUpload/VFileUpload.d.ts +3 -3
  164. package/lib/labs/VFileUpload/VFileUploadItem.d.ts +10 -20
  165. package/lib/labs/VIconBtn/VIconBtn.d.ts +29 -29
  166. package/lib/labs/VIconBtn/VIconBtn.js +11 -7
  167. package/lib/labs/VIconBtn/VIconBtn.js.map +1 -1
  168. package/lib/labs/VStepperVertical/VStepperVertical.d.ts +10 -20
  169. package/lib/labs/VStepperVertical/VStepperVerticalItem.d.ts +10 -20
  170. package/lib/labs/VTreeview/VTreeview.d.ts +38 -51
  171. package/lib/labs/VTreeview/VTreeview.js +1 -1
  172. package/lib/labs/VTreeview/VTreeview.js.map +1 -1
  173. package/lib/labs/VTreeview/VTreeviewChildren.d.ts +0 -35
  174. package/lib/labs/VTreeview/VTreeviewChildren.js +2 -19
  175. package/lib/labs/VTreeview/VTreeviewChildren.js.map +1 -1
  176. package/lib/labs/VTreeview/VTreeviewItem.d.ts +10 -20
  177. package/lib/labs/components.d.ts +0 -1
  178. package/lib/labs/components.js +0 -1
  179. package/lib/labs/components.js.map +1 -1
  180. package/lib/labs/entry-bundler.d.ts +3 -4
  181. package/lib/locale/adapters/vue-i18n.js +1 -6
  182. package/lib/locale/adapters/vue-i18n.js.map +1 -1
  183. package/lib/locale/adapters/vuetify.js +1 -7
  184. package/lib/locale/adapters/vuetify.js.map +1 -1
  185. package/lib/util/globals.d.ts +0 -1
  186. package/lib/util/globals.js +0 -1
  187. package/lib/util/globals.js.map +1 -1
  188. package/lib/util/helpers.d.ts +1 -2
  189. package/lib/util/helpers.js +7 -12
  190. package/lib/util/helpers.js.map +1 -1
  191. package/package.json +1 -3
  192. package/lib/components/VKbd/VKbd.d.ts +0 -221
  193. package/lib/components/VKbd/VKbd.js +0 -55
  194. package/lib/components/VKbd/VKbd.js.map +0 -1
  195. package/lib/composables/date/adapters/string.d.ts +0 -54
  196. package/lib/composables/date/adapters/string.js +0 -153
  197. package/lib/composables/date/adapters/string.js.map +0 -1
  198. package/lib/composables/iconSizes.d.ts +0 -28
  199. package/lib/composables/iconSizes.js +0 -23
  200. package/lib/composables/iconSizes.js.map +0 -1
  201. package/lib/composables/mask.d.ts +0 -38
  202. package/lib/composables/mask.js +0 -183
  203. package/lib/composables/mask.js.map +0 -1
  204. package/lib/labs/VMaskInput/VMaskInput.d.ts +0 -6993
  205. package/lib/labs/VMaskInput/VMaskInput.js +0 -67
  206. package/lib/labs/VMaskInput/VMaskInput.js.map +0 -1
  207. package/lib/labs/VMaskInput/index.d.ts +0 -1
  208. package/lib/labs/VMaskInput/index.js +0 -2
  209. package/lib/labs/VMaskInput/index.js.map +0 -1
@@ -1,183 +0,0 @@
1
- // Utilities
2
- import { computed, shallowRef } from 'vue';
3
- import { isObject, propsFactory } from "../util/index.js"; // Types
4
- export const makeMaskProps = propsFactory({
5
- mask: [String, Object],
6
- returnMaskedValue: Boolean
7
- }, 'mask');
8
- export const defaultDelimiters = /[-!$%^&*()_+|~=`{}[\]:";'<>?,./\\ ]/;
9
- const presets = {
10
- 'credit-card': '#### - #### - #### - ####',
11
- date: '##/##/####',
12
- 'date-time': '##/##/#### ##:##',
13
- 'iso-date': '####-##-##',
14
- 'iso-date-time': '####-##-## ##:##',
15
- phone: '(###) ### - ####',
16
- social: '###-##-####',
17
- time: '##:##',
18
- 'time-with-seconds': '##:##:##'
19
- };
20
- export function isMaskDelimiter(char) {
21
- return char ? defaultDelimiters.test(char) : false;
22
- }
23
- const defaultTokens = {
24
- '#': {
25
- pattern: /[0-9]/
26
- },
27
- A: {
28
- pattern: /[A-Z]/i,
29
- convert: v => v.toUpperCase()
30
- },
31
- a: {
32
- pattern: /[a-z]/i,
33
- convert: v => v.toLowerCase()
34
- },
35
- N: {
36
- pattern: /[0-9A-Z]/i,
37
- convert: v => v.toUpperCase()
38
- },
39
- n: {
40
- pattern: /[0-9a-z]/i,
41
- convert: v => v.toLowerCase()
42
- },
43
- X: {
44
- pattern: defaultDelimiters
45
- }
46
- };
47
- export function useMask(props, inputRef) {
48
- const mask = computed(() => {
49
- if (typeof props.mask === 'string') {
50
- if (props.mask in presets) return presets[props.mask];
51
- return props.mask;
52
- }
53
- return props.mask?.mask ?? '';
54
- });
55
- const tokens = computed(() => {
56
- return {
57
- ...defaultTokens,
58
- ...(isObject(props.mask) ? props.mask.tokens : null)
59
- };
60
- });
61
- const selection = shallowRef(0);
62
- const lazySelection = shallowRef(0);
63
- function isMask(char) {
64
- return char in tokens.value;
65
- }
66
- function maskValidates(mask, char) {
67
- if (char == null || !isMask(mask)) return false;
68
- const item = tokens.value[mask];
69
- if (item.pattern) return item.pattern.test(char);
70
- return item.test(char);
71
- }
72
- function convert(mask, char) {
73
- const item = tokens.value[mask];
74
- return item.convert ? item.convert(char) : char;
75
- }
76
- function maskText(text) {
77
- const trimmedText = text?.trim().replace(/\s+/g, ' ');
78
- if (trimmedText == null) return '';
79
- if (!mask.value.length || !trimmedText.length) return trimmedText;
80
- let textIndex = 0;
81
- let maskIndex = 0;
82
- let newText = '';
83
- while (maskIndex < mask.value.length) {
84
- const mchar = mask.value[maskIndex];
85
- const tchar = trimmedText[textIndex];
86
-
87
- // Escaped character in mask, the next mask character is inserted
88
- if (mchar === '\\') {
89
- newText += mask.value[maskIndex + 1];
90
- maskIndex += 2;
91
- continue;
92
- }
93
- if (!isMask(mchar)) {
94
- newText += mchar;
95
- if (tchar === mchar) {
96
- textIndex++;
97
- }
98
- } else if (maskValidates(mchar, tchar)) {
99
- newText += convert(mchar, tchar);
100
- textIndex++;
101
- } else {
102
- break;
103
- }
104
- maskIndex++;
105
- }
106
- return newText;
107
- }
108
- function unmaskText(text) {
109
- if (text == null) return null;
110
- if (!mask.value.length || !text.length) return text;
111
- let textIndex = 0;
112
- let maskIndex = 0;
113
- let newText = '';
114
- while (true) {
115
- const mchar = mask.value[maskIndex];
116
- const tchar = text[textIndex];
117
- if (tchar == null) break;
118
- if (mchar == null) {
119
- newText += tchar;
120
- textIndex++;
121
- continue;
122
- }
123
-
124
- // Escaped character in mask, skip the next input character
125
- if (mchar === '\\') {
126
- if (tchar === mask.value[maskIndex + 1]) {
127
- textIndex++;
128
- }
129
- maskIndex += 2;
130
- continue;
131
- }
132
- if (maskValidates(mchar, tchar)) {
133
- // masked char
134
- newText += tchar;
135
- textIndex++;
136
- maskIndex++;
137
- continue;
138
- } else if (mchar !== tchar) {
139
- // input doesn't match mask, skip forward until it does
140
- while (true) {
141
- const mchar = mask.value[maskIndex++];
142
- if (mchar == null || maskValidates(mchar, tchar)) break;
143
- }
144
- continue;
145
- }
146
- textIndex++;
147
- maskIndex++;
148
- }
149
- return newText;
150
- }
151
- function setCaretPosition(newSelection) {
152
- selection.value = newSelection;
153
- inputRef.value && inputRef.value.setSelectionRange(selection.value, selection.value);
154
- }
155
- function resetSelections() {
156
- if (!inputRef.value?.selectionEnd) return;
157
- selection.value = inputRef.value.selectionEnd;
158
- lazySelection.value = 0;
159
- for (let index = 0; index < selection.value; index++) {
160
- isMaskDelimiter(inputRef.value.value[index]) || lazySelection.value++;
161
- }
162
- }
163
- function updateRange() {
164
- if (!inputRef.value) return;
165
- resetSelections();
166
- let selection = 0;
167
- const newValue = inputRef.value.value;
168
- if (newValue) {
169
- for (let index = 0; index < newValue.length; index++) {
170
- if (lazySelection.value <= 0) break;
171
- isMaskDelimiter(newValue[index]) || lazySelection.value--;
172
- selection++;
173
- }
174
- }
175
- setCaretPosition(selection);
176
- }
177
- return {
178
- updateRange,
179
- maskText,
180
- unmaskText
181
- };
182
- }
183
- //# sourceMappingURL=mask.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mask.js","names":["computed","shallowRef","isObject","propsFactory","makeMaskProps","mask","String","Object","returnMaskedValue","Boolean","defaultDelimiters","presets","date","phone","social","time","isMaskDelimiter","char","test","defaultTokens","pattern","A","convert","v","toUpperCase","a","toLowerCase","N","n","X","useMask","props","inputRef","tokens","selection","lazySelection","isMask","value","maskValidates","item","maskText","text","trimmedText","trim","replace","length","textIndex","maskIndex","newText","mchar","tchar","unmaskText","setCaretPosition","newSelection","setSelectionRange","resetSelections","selectionEnd","index","updateRange","newValue"],"sources":["../../src/composables/mask.ts"],"sourcesContent":["// Utilities\nimport { computed, shallowRef } from 'vue'\nimport { isObject, propsFactory } from '@/util'\n\n// Types\nimport type { PropType, Ref } from 'vue'\n\nexport interface MaskProps {\n mask: string | MaskOptions | undefined\n returnMaskedValue?: Boolean\n}\n\nexport interface MaskOptions {\n mask: string\n tokens: Record<string, MaskItem>\n}\n\nexport const makeMaskProps = propsFactory({\n mask: [String, Object] as PropType<string | MaskOptions>,\n returnMaskedValue: Boolean,\n}, 'mask')\n\nexport type MaskItem = {\n convert?: (char: string) => string\n} & ({\n pattern?: never\n test: (char: string) => boolean\n} | {\n pattern: RegExp\n test?: never\n})\n\nexport const defaultDelimiters = /[-!$%^&*()_+|~=`{}[\\]:\";'<>?,./\\\\ ]/\n\nconst presets: Record<string, string> = {\n 'credit-card': '#### - #### - #### - ####',\n date: '##/##/####',\n 'date-time': '##/##/#### ##:##',\n 'iso-date': '####-##-##',\n 'iso-date-time': '####-##-## ##:##',\n phone: '(###) ### - ####',\n social: '###-##-####',\n time: '##:##',\n 'time-with-seconds': '##:##:##',\n}\n\nexport function isMaskDelimiter (char: string): boolean {\n return char ? defaultDelimiters.test(char) : false\n}\n\nconst defaultTokens: Record<string, MaskItem> = {\n '#': {\n pattern: /[0-9]/,\n },\n A: {\n pattern: /[A-Z]/i,\n convert: v => v.toUpperCase(),\n },\n a: {\n pattern: /[a-z]/i,\n convert: v => v.toLowerCase(),\n },\n N: {\n pattern: /[0-9A-Z]/i,\n convert: v => v.toUpperCase(),\n },\n n: {\n pattern: /[0-9a-z]/i,\n convert: v => v.toLowerCase(),\n },\n X: {\n pattern: defaultDelimiters,\n },\n}\n\nexport function useMask (props: MaskProps, inputRef: Ref<HTMLInputElement | undefined>) {\n const mask = computed(() => {\n if (typeof props.mask === 'string') {\n if (props.mask in presets) return presets[props.mask]\n return props.mask\n }\n return props.mask?.mask ?? ''\n })\n const tokens = computed(() => {\n return {\n ...defaultTokens,\n ...(isObject(props.mask) ? props.mask.tokens : null),\n }\n })\n const selection = shallowRef(0)\n const lazySelection = shallowRef(0)\n\n function isMask (char: string): boolean {\n return char in tokens.value\n }\n\n function maskValidates (mask: string, char: string): boolean {\n if (char == null || !isMask(mask)) return false\n const item = tokens.value[mask]\n if (item.pattern) return item.pattern.test(char)\n return item.test(char)\n }\n\n function convert (mask: string, char: string): string {\n const item = tokens.value[mask]\n return item.convert ? item.convert(char) : char\n }\n\n function maskText (text: string | null | undefined): string {\n const trimmedText = text?.trim().replace(/\\s+/g, ' ')\n\n if (trimmedText == null) return ''\n\n if (!mask.value.length || !trimmedText.length) return trimmedText\n\n let textIndex = 0\n let maskIndex = 0\n let newText = ''\n\n while (maskIndex < mask.value.length) {\n const mchar = mask.value[maskIndex]\n const tchar = trimmedText[textIndex]\n\n // Escaped character in mask, the next mask character is inserted\n if (mchar === '\\\\') {\n newText += mask.value[maskIndex + 1]\n maskIndex += 2\n continue\n }\n\n if (!isMask(mchar)) {\n newText += mchar\n if (tchar === mchar) {\n textIndex++\n }\n } else if (maskValidates(mchar, tchar)) {\n newText += convert(mchar, tchar)\n textIndex++\n } else {\n break\n }\n\n maskIndex++\n }\n return newText\n }\n\n function unmaskText (text: string | null): string | null {\n if (text == null) return null\n\n if (!mask.value.length || !text.length) return text\n\n let textIndex = 0\n let maskIndex = 0\n let newText = ''\n\n while (true) {\n const mchar = mask.value[maskIndex]\n const tchar = text[textIndex]\n\n if (tchar == null) break\n\n if (mchar == null) {\n newText += tchar\n textIndex++\n continue\n }\n\n // Escaped character in mask, skip the next input character\n if (mchar === '\\\\') {\n if (tchar === mask.value[maskIndex + 1]) {\n textIndex++\n }\n maskIndex += 2\n continue\n }\n\n if (maskValidates(mchar, tchar)) {\n // masked char\n newText += tchar\n textIndex++\n maskIndex++\n continue\n } else if (mchar !== tchar) {\n // input doesn't match mask, skip forward until it does\n while (true) {\n const mchar = mask.value[maskIndex++]\n if (mchar == null || maskValidates(mchar, tchar)) break\n }\n continue\n }\n\n textIndex++\n maskIndex++\n }\n return newText\n }\n\n function setCaretPosition (newSelection: number) {\n selection.value = newSelection\n inputRef.value && inputRef.value.setSelectionRange(selection.value, selection.value)\n }\n\n function resetSelections () {\n if (!inputRef.value?.selectionEnd) return\n\n selection.value = inputRef.value.selectionEnd\n lazySelection.value = 0\n\n for (let index = 0; index < selection.value; index++) {\n isMaskDelimiter(inputRef.value.value[index]) || lazySelection.value++\n }\n }\n\n function updateRange () {\n if (!inputRef.value) return\n resetSelections()\n\n let selection = 0\n const newValue = inputRef.value.value\n\n if (newValue) {\n for (let index = 0; index < newValue.length; index++) {\n if (lazySelection.value <= 0) break\n isMaskDelimiter(newValue[index]) || lazySelection.value--\n selection++\n }\n }\n setCaretPosition(selection)\n }\n\n return {\n updateRange,\n maskText,\n unmaskText,\n }\n}\n"],"mappings":"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","ignoreList":[]}