vuetify 3.9.0-beta.0 → 3.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (337) hide show
  1. package/dist/_component-variables-labs.sass +1 -0
  2. package/dist/json/attributes.json +3590 -3502
  3. package/dist/json/importMap-labs.json +16 -12
  4. package/dist/json/importMap.json +186 -186
  5. package/dist/json/tags.json +31 -4
  6. package/dist/json/web-types.json +6626 -6392
  7. package/dist/vuetify-labs.cjs +1082 -195
  8. package/dist/vuetify-labs.css +4654 -4339
  9. package/dist/vuetify-labs.d.ts +2027 -493
  10. package/dist/vuetify-labs.esm.js +1082 -196
  11. package/dist/vuetify-labs.esm.js.map +1 -1
  12. package/dist/vuetify-labs.js +1082 -195
  13. package/dist/vuetify-labs.min.css +2 -2
  14. package/dist/vuetify.cjs +663 -170
  15. package/dist/vuetify.cjs.map +1 -1
  16. package/dist/vuetify.css +4744 -4671
  17. package/dist/vuetify.d.ts +1575 -267
  18. package/dist/vuetify.esm.js +663 -171
  19. package/dist/vuetify.esm.js.map +1 -1
  20. package/dist/vuetify.js +663 -170
  21. package/dist/vuetify.js.map +1 -1
  22. package/dist/vuetify.min.css +2 -2
  23. package/dist/vuetify.min.js +1182 -1126
  24. package/dist/vuetify.min.js.map +1 -1
  25. package/lib/components/VAutocomplete/VAutocomplete.d.ts +39 -14
  26. package/lib/components/VAutocomplete/VAutocomplete.js +2 -2
  27. package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
  28. package/lib/components/VBtn/VBtn.sass +3 -1
  29. package/lib/components/VCarousel/VCarousel.css +0 -1
  30. package/lib/components/VCarousel/VCarousel.js +1 -0
  31. package/lib/components/VCarousel/VCarousel.js.map +1 -1
  32. package/lib/components/VCarousel/VCarousel.sass +0 -1
  33. package/lib/components/VCombobox/VCombobox.d.ts +39 -14
  34. package/lib/components/VCombobox/VCombobox.js +2 -2
  35. package/lib/components/VCombobox/VCombobox.js.map +1 -1
  36. package/lib/components/VDataIterator/composables/items.d.ts +2 -1
  37. package/lib/components/VDataIterator/composables/items.js.map +1 -1
  38. package/lib/components/VDataTable/VDataTable.css +12 -1
  39. package/lib/components/VDataTable/VDataTable.d.ts +20 -38
  40. package/lib/components/VDataTable/VDataTable.sass +12 -2
  41. package/lib/components/VDataTable/VDataTableColumn.d.ts +9 -3
  42. package/lib/components/VDataTable/VDataTableColumn.js +12 -4
  43. package/lib/components/VDataTable/VDataTableColumn.js.map +1 -1
  44. package/lib/components/VDataTable/VDataTableHeaders.d.ts +0 -13
  45. package/lib/components/VDataTable/VDataTableHeaders.js +10 -9
  46. package/lib/components/VDataTable/VDataTableHeaders.js.map +1 -1
  47. package/lib/components/VDataTable/VDataTableRow.js +2 -0
  48. package/lib/components/VDataTable/VDataTableRow.js.map +1 -1
  49. package/lib/components/VDataTable/VDataTableServer.d.ts +10 -23
  50. package/lib/components/VDataTable/VDataTableVirtual.d.ts +10 -23
  51. package/lib/components/VDataTable/composables/headers.d.ts +22 -14
  52. package/lib/components/VDataTable/composables/headers.js +51 -22
  53. package/lib/components/VDataTable/composables/headers.js.map +1 -1
  54. package/lib/components/VDataTable/composables/sort.js +2 -1
  55. package/lib/components/VDataTable/composables/sort.js.map +1 -1
  56. package/lib/components/VDataTable/types.d.ts +4 -2
  57. package/lib/components/VDataTable/types.js.map +1 -1
  58. package/lib/components/VDatePicker/VDatePicker.js +2 -1
  59. package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
  60. package/lib/components/VDatePicker/VDatePickerControls.css +1 -0
  61. package/lib/components/VDatePicker/VDatePickerControls.sass +1 -0
  62. package/lib/components/VDatePicker/VDatePickerMonth.css +3 -8
  63. package/lib/components/VDatePicker/VDatePickerMonth.js +7 -3
  64. package/lib/components/VDatePicker/VDatePickerMonth.js.map +1 -1
  65. package/lib/components/VDatePicker/VDatePickerMonth.sass +3 -8
  66. package/lib/components/VField/VField.js +2 -10
  67. package/lib/components/VField/VField.js.map +1 -1
  68. package/lib/components/VKbd/VKbd.css +14 -5
  69. package/lib/components/VKbd/VKbd.js.map +1 -1
  70. package/lib/components/VKbd/VKbd.scss +26 -0
  71. package/lib/components/VKbd/_variables.scss +12 -6
  72. package/lib/components/VKbd/index.js.map +1 -1
  73. package/lib/components/VList/VList.d.ts +24 -27
  74. package/lib/components/VList/VList.js +1 -5
  75. package/lib/components/VList/VList.js.map +1 -1
  76. package/lib/components/VList/VListGroup.d.ts +13 -0
  77. package/lib/components/VList/VListGroup.js +2 -1
  78. package/lib/components/VList/VListGroup.js.map +1 -1
  79. package/lib/components/VList/VListItem.d.ts +6 -3
  80. package/lib/components/VList/VListItem.js +1 -1
  81. package/lib/components/VList/VListItem.js.map +1 -1
  82. package/lib/components/VNumberInput/VNumberInput.js +4 -10
  83. package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
  84. package/lib/components/VNumberInput/hold.js +4 -0
  85. package/lib/components/VNumberInput/hold.js.map +1 -1
  86. package/lib/components/VOtpInput/VOtpInput.js +17 -14
  87. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  88. package/lib/components/VOverlay/locationStrategies.js +1 -1
  89. package/lib/components/VOverlay/locationStrategies.js.map +1 -1
  90. package/lib/components/VSelect/VSelect.d.ts +58 -22
  91. package/lib/components/VSelect/VSelect.js +2 -2
  92. package/lib/components/VSelect/VSelect.js.map +1 -1
  93. package/lib/components/VTextField/VTextField.js +1 -1
  94. package/lib/components/VTextField/VTextField.js.map +1 -1
  95. package/lib/components/VTimePicker/VTimePicker.css +1 -6
  96. package/lib/components/VTimePicker/VTimePicker.sass +1 -6
  97. package/lib/components/VTimePicker/VTimePickerClock.css +5 -4
  98. package/lib/components/VTimePicker/VTimePickerClock.sass +5 -4
  99. package/lib/components/VTimePicker/VTimePickerControls.css +2 -1
  100. package/lib/components/VTimePicker/VTimePickerControls.sass +2 -3
  101. package/lib/components/VTreeview/VTreeview.d.ts +235 -188
  102. package/lib/components/VTreeview/VTreeview.js +13 -12
  103. package/lib/components/VTreeview/VTreeview.js.map +1 -1
  104. package/lib/components/VTreeview/VTreeviewChildren.d.ts +94 -10
  105. package/lib/components/VTreeview/VTreeviewChildren.js +61 -17
  106. package/lib/components/VTreeview/VTreeviewChildren.js.map +1 -1
  107. package/lib/components/VTreeview/VTreeviewGroup.d.ts +13 -0
  108. package/lib/components/VTreeview/VTreeviewItem.css +57 -0
  109. package/lib/components/VTreeview/VTreeviewItem.d.ts +1334 -97
  110. package/lib/components/VTreeview/VTreeviewItem.js +25 -16
  111. package/lib/components/VTreeview/VTreeviewItem.js.map +1 -1
  112. package/lib/components/VTreeview/VTreeviewItem.sass +60 -0
  113. package/lib/components/VTreeview/_variables.scss +15 -0
  114. package/lib/composables/calendar.d.ts +2 -1
  115. package/lib/composables/calendar.js +8 -8
  116. package/lib/composables/calendar.js.map +1 -1
  117. package/lib/composables/date/adapters/vuetify.js +1 -1
  118. package/lib/composables/date/adapters/vuetify.js.map +1 -1
  119. package/lib/composables/filter.d.ts +1 -0
  120. package/lib/composables/filter.js +1 -1
  121. package/lib/composables/filter.js.map +1 -1
  122. package/lib/composables/hotkey/hotkey-parsing.d.ts +15 -0
  123. package/lib/composables/hotkey/hotkey-parsing.js +154 -0
  124. package/lib/composables/hotkey/hotkey-parsing.js.map +1 -0
  125. package/lib/composables/hotkey/hotkey.d.ts +9 -0
  126. package/lib/composables/{hotkey.js → hotkey/hotkey.js} +31 -39
  127. package/lib/composables/hotkey/hotkey.js.map +1 -0
  128. package/lib/composables/hotkey/index.d.ts +1 -0
  129. package/lib/composables/hotkey/index.js +2 -0
  130. package/lib/composables/hotkey/index.js.map +1 -0
  131. package/lib/composables/hotkey/key-aliases.d.ts +14 -0
  132. package/lib/composables/hotkey/key-aliases.js +38 -0
  133. package/lib/composables/hotkey/key-aliases.js.map +1 -0
  134. package/lib/composables/icons.d.ts +11 -0
  135. package/lib/composables/icons.js.map +1 -1
  136. package/lib/composables/index.d.ts +1 -0
  137. package/lib/composables/index.js +1 -0
  138. package/lib/composables/index.js.map +1 -1
  139. package/lib/composables/list-items.d.ts +14 -1
  140. package/lib/composables/list-items.js +9 -3
  141. package/lib/composables/list-items.js.map +1 -1
  142. package/lib/composables/nested/nested.d.ts +7 -4
  143. package/lib/composables/nested/nested.js +24 -14
  144. package/lib/composables/nested/nested.js.map +1 -1
  145. package/lib/composables/nested/selectStrategies.d.ts +2 -1
  146. package/lib/composables/nested/selectStrategies.js +22 -11
  147. package/lib/composables/nested/selectStrategies.js.map +1 -1
  148. package/lib/composables/virtual.js +1 -1
  149. package/lib/composables/virtual.js.map +1 -1
  150. package/lib/entry-bundler.js +1 -1
  151. package/lib/entry-bundler.js.map +1 -1
  152. package/lib/framework.d.ts +91 -66
  153. package/lib/framework.js +1 -1
  154. package/lib/framework.js.map +1 -1
  155. package/lib/iconsets/fa.js +12 -1
  156. package/lib/iconsets/fa.js.map +1 -1
  157. package/lib/iconsets/fa4.js +12 -1
  158. package/lib/iconsets/fa4.js.map +1 -1
  159. package/lib/iconsets/md.js +12 -1
  160. package/lib/iconsets/md.js.map +1 -1
  161. package/lib/iconsets/mdi-svg.js +12 -1
  162. package/lib/iconsets/mdi-svg.js.map +1 -1
  163. package/lib/iconsets/mdi.js +12 -1
  164. package/lib/iconsets/mdi.js.map +1 -1
  165. package/lib/labs/VCalendar/VCalendar.d.ts +33 -33
  166. package/lib/labs/VCalendar/VCalendar.js +10 -10
  167. package/lib/labs/VCalendar/VCalendar.js.map +1 -1
  168. package/lib/labs/VCalendar/VCalendarDay.d.ts +33 -33
  169. package/lib/labs/VCalendar/VCalendarDay.js +1 -1
  170. package/lib/labs/VCalendar/VCalendarDay.js.map +1 -1
  171. package/lib/labs/VCalendar/VCalendarInterval.d.ts +36 -36
  172. package/lib/labs/VCalendar/VCalendarInterval.js +9 -9
  173. package/lib/labs/VCalendar/VCalendarInterval.js.map +1 -1
  174. package/lib/labs/VCalendar/VCalendarIntervalEvent.d.ts +12 -12
  175. package/lib/labs/VCalendar/VCalendarIntervalEvent.js +1 -1
  176. package/lib/labs/VCalendar/VCalendarIntervalEvent.js.map +1 -1
  177. package/lib/labs/VCalendar/VCalendarMonthDay.d.ts +36 -36
  178. package/lib/labs/VCalendar/VCalendarMonthDay.js +4 -4
  179. package/lib/labs/VCalendar/VCalendarMonthDay.js.map +1 -1
  180. package/lib/labs/VHotkey/VHotkey.css +242 -0
  181. package/lib/labs/VHotkey/VHotkey.d.ts +387 -0
  182. package/lib/labs/VHotkey/VHotkey.js +432 -0
  183. package/lib/labs/VHotkey/VHotkey.js.map +1 -0
  184. package/lib/labs/VHotkey/VHotkey.scss +253 -0
  185. package/lib/labs/VHotkey/_variables.scss +43 -0
  186. package/lib/labs/VHotkey/index.d.ts +1 -0
  187. package/lib/labs/VHotkey/index.js +2 -0
  188. package/lib/labs/VHotkey/index.js.map +1 -0
  189. package/lib/labs/VIconBtn/VIconBtn.js +1 -0
  190. package/lib/labs/VIconBtn/VIconBtn.js.map +1 -1
  191. package/lib/labs/VPicker/VPicker.css +4 -0
  192. package/lib/labs/VPicker/VPicker.sass +4 -0
  193. package/lib/labs/components.d.ts +1 -0
  194. package/lib/labs/components.js +1 -0
  195. package/lib/labs/components.js.map +1 -1
  196. package/lib/locale/af.d.ts +18 -0
  197. package/lib/locale/af.js +18 -0
  198. package/lib/locale/af.js.map +1 -1
  199. package/lib/locale/ar.d.ts +18 -0
  200. package/lib/locale/ar.js +18 -0
  201. package/lib/locale/ar.js.map +1 -1
  202. package/lib/locale/az.d.ts +18 -0
  203. package/lib/locale/az.js +18 -0
  204. package/lib/locale/az.js.map +1 -1
  205. package/lib/locale/bg.d.ts +18 -0
  206. package/lib/locale/bg.js +18 -0
  207. package/lib/locale/bg.js.map +1 -1
  208. package/lib/locale/ca.d.ts +18 -0
  209. package/lib/locale/ca.js +18 -0
  210. package/lib/locale/ca.js.map +1 -1
  211. package/lib/locale/ckb.d.ts +18 -0
  212. package/lib/locale/ckb.js +18 -0
  213. package/lib/locale/ckb.js.map +1 -1
  214. package/lib/locale/cs.d.ts +18 -0
  215. package/lib/locale/cs.js +18 -0
  216. package/lib/locale/cs.js.map +1 -1
  217. package/lib/locale/da.d.ts +18 -0
  218. package/lib/locale/da.js +18 -0
  219. package/lib/locale/da.js.map +1 -1
  220. package/lib/locale/de.d.ts +18 -0
  221. package/lib/locale/de.js +18 -0
  222. package/lib/locale/de.js.map +1 -1
  223. package/lib/locale/el.d.ts +18 -0
  224. package/lib/locale/el.js +18 -0
  225. package/lib/locale/el.js.map +1 -1
  226. package/lib/locale/en.d.ts +18 -0
  227. package/lib/locale/en.js +18 -0
  228. package/lib/locale/en.js.map +1 -1
  229. package/lib/locale/es.d.ts +18 -0
  230. package/lib/locale/es.js +18 -0
  231. package/lib/locale/es.js.map +1 -1
  232. package/lib/locale/et.d.ts +18 -0
  233. package/lib/locale/et.js +18 -0
  234. package/lib/locale/et.js.map +1 -1
  235. package/lib/locale/fa.d.ts +18 -0
  236. package/lib/locale/fa.js +18 -0
  237. package/lib/locale/fa.js.map +1 -1
  238. package/lib/locale/fi.d.ts +18 -0
  239. package/lib/locale/fi.js +18 -0
  240. package/lib/locale/fi.js.map +1 -1
  241. package/lib/locale/fr.d.ts +18 -0
  242. package/lib/locale/fr.js +18 -0
  243. package/lib/locale/fr.js.map +1 -1
  244. package/lib/locale/he.d.ts +18 -0
  245. package/lib/locale/he.js +18 -0
  246. package/lib/locale/he.js.map +1 -1
  247. package/lib/locale/hr.d.ts +18 -0
  248. package/lib/locale/hr.js +18 -0
  249. package/lib/locale/hr.js.map +1 -1
  250. package/lib/locale/hu.d.ts +18 -0
  251. package/lib/locale/hu.js +18 -0
  252. package/lib/locale/hu.js.map +1 -1
  253. package/lib/locale/id.d.ts +18 -0
  254. package/lib/locale/id.js +18 -0
  255. package/lib/locale/id.js.map +1 -1
  256. package/lib/locale/it.d.ts +18 -0
  257. package/lib/locale/it.js +18 -0
  258. package/lib/locale/it.js.map +1 -1
  259. package/lib/locale/ja.d.ts +18 -0
  260. package/lib/locale/ja.js +18 -0
  261. package/lib/locale/ja.js.map +1 -1
  262. package/lib/locale/km.d.ts +18 -0
  263. package/lib/locale/km.js +18 -0
  264. package/lib/locale/km.js.map +1 -1
  265. package/lib/locale/ko.d.ts +18 -0
  266. package/lib/locale/ko.js +18 -0
  267. package/lib/locale/ko.js.map +1 -1
  268. package/lib/locale/lt.d.ts +18 -0
  269. package/lib/locale/lt.js +18 -0
  270. package/lib/locale/lt.js.map +1 -1
  271. package/lib/locale/lv.d.ts +18 -0
  272. package/lib/locale/lv.js +18 -0
  273. package/lib/locale/lv.js.map +1 -1
  274. package/lib/locale/nl.d.ts +18 -0
  275. package/lib/locale/nl.js +18 -0
  276. package/lib/locale/nl.js.map +1 -1
  277. package/lib/locale/no.d.ts +18 -0
  278. package/lib/locale/no.js +18 -0
  279. package/lib/locale/no.js.map +1 -1
  280. package/lib/locale/pl.d.ts +18 -0
  281. package/lib/locale/pl.js +18 -0
  282. package/lib/locale/pl.js.map +1 -1
  283. package/lib/locale/pt.d.ts +18 -0
  284. package/lib/locale/pt.js +18 -0
  285. package/lib/locale/pt.js.map +1 -1
  286. package/lib/locale/ro.d.ts +18 -0
  287. package/lib/locale/ro.js +18 -0
  288. package/lib/locale/ro.js.map +1 -1
  289. package/lib/locale/ru.d.ts +18 -0
  290. package/lib/locale/ru.js +18 -0
  291. package/lib/locale/ru.js.map +1 -1
  292. package/lib/locale/sk.d.ts +18 -0
  293. package/lib/locale/sk.js +18 -0
  294. package/lib/locale/sk.js.map +1 -1
  295. package/lib/locale/sl.d.ts +18 -0
  296. package/lib/locale/sl.js +18 -0
  297. package/lib/locale/sl.js.map +1 -1
  298. package/lib/locale/sr-Cyrl.d.ts +18 -0
  299. package/lib/locale/sr-Cyrl.js +18 -0
  300. package/lib/locale/sr-Cyrl.js.map +1 -1
  301. package/lib/locale/sr-Latn.d.ts +18 -0
  302. package/lib/locale/sr-Latn.js +18 -0
  303. package/lib/locale/sr-Latn.js.map +1 -1
  304. package/lib/locale/sv.d.ts +18 -0
  305. package/lib/locale/sv.js +18 -0
  306. package/lib/locale/sv.js.map +1 -1
  307. package/lib/locale/th.d.ts +18 -0
  308. package/lib/locale/th.js +18 -0
  309. package/lib/locale/th.js.map +1 -1
  310. package/lib/locale/tr.d.ts +18 -0
  311. package/lib/locale/tr.js +18 -0
  312. package/lib/locale/tr.js.map +1 -1
  313. package/lib/locale/uk.d.ts +18 -0
  314. package/lib/locale/uk.js +18 -0
  315. package/lib/locale/uk.js.map +1 -1
  316. package/lib/locale/vi.d.ts +18 -0
  317. package/lib/locale/vi.js +18 -0
  318. package/lib/locale/vi.js.map +1 -1
  319. package/lib/locale/zh-Hans.d.ts +18 -0
  320. package/lib/locale/zh-Hans.js +18 -0
  321. package/lib/locale/zh-Hans.js.map +1 -1
  322. package/lib/locale/zh-Hant.d.ts +18 -0
  323. package/lib/locale/zh-Hant.js +18 -0
  324. package/lib/locale/zh-Hant.js.map +1 -1
  325. package/lib/util/helpers.d.ts +3 -0
  326. package/lib/util/helpers.js +4 -0
  327. package/lib/util/helpers.js.map +1 -1
  328. package/lib/util/indentLines.d.ts +17 -0
  329. package/lib/util/indentLines.js +34 -0
  330. package/lib/util/indentLines.js.map +1 -0
  331. package/lib/util/index.d.ts +1 -0
  332. package/lib/util/index.js +1 -0
  333. package/lib/util/index.js.map +1 -1
  334. package/package.json +2 -2
  335. package/lib/components/VKbd/VKbd.sass +0 -15
  336. package/lib/composables/hotkey.d.ts +0 -9
  337. package/lib/composables/hotkey.js.map +0 -1
@@ -165,7 +165,7 @@ export function useVirtual(props, items) {
165
165
  raf = requestAnimationFrame(_calculateVisibleItems);
166
166
  }
167
167
  function _calculateVisibleItems() {
168
- if (!containerRef.value || !viewportHeight.value) return;
168
+ if (!containerRef.value || !viewportHeight.value || !itemHeight.value) return;
169
169
  const scrollTop = lastScrollTop - markerOffset;
170
170
  const direction = Math.sign(scrollVelocity);
171
171
  const startPx = Math.max(0, scrollTop - BUFFER_PX);
@@ -1 +1 @@
1
- {"version":3,"file":"virtual.js","names":["useDisplay","useResizeObserver","computed","nextTick","onScopeDispose","ref","shallowRef","watch","watchEffect","clamp","debounce","getPropertyFromItem","IN_BROWSER","propsFactory","UP","DOWN","BUFFER_PX","makeVirtualProps","itemHeight","type","Number","String","default","itemKey","Array","Function","height","useVirtual","props","items","display","value","parseFloat","first","last","Math","ceil","parseInt","paddingTop","paddingBottom","containerRef","markerRef","markerOffset","resizeRef","contentRect","viewportHeight","document","documentElement","hasInitialRender","sizes","from","length","offsets","updateTime","targetScrollIndex","getSize","index","updateOffsets","start","performance","now","i","max","unwatch","v","offsetTop","immediate","calculateVisibleItems","window","requestAnimationFrame","scrollToIndex","clear","handleItemResize","prevHeight","prevMinHeight","min","calculateOffset","whole","floor","fraction","next","wholeOffset","nextOffset","calculateIndex","scrollTop","binaryClosest","lastScrollTop","scrollVelocity","lastScrollTime","val","oldVal","scrollTimeout","handleScroll","scrollTime","scrollDeltaT","sign","clearTimeout","setTimeout","handleScrollend","raf","cancelAnimationFrame","_calculateVisibleItems","direction","startPx","endPx","end","topOverflow","bottomOverflow","bufferOverflow","offset","computedItems","slice","map","item","_index","raw","key","deep","arr","high","low","mid","target"],"sources":["../../src/composables/virtual.ts"],"sourcesContent":["// Composables\nimport { useDisplay } from '@/composables/display'\nimport { useResizeObserver } from '@/composables/resizeObserver'\n\n// Utilities\nimport { computed, nextTick, onScopeDispose, ref, shallowRef, watch, watchEffect } from 'vue'\nimport { clamp, debounce, getPropertyFromItem, IN_BROWSER, propsFactory } from '@/util'\n\n// Types\nimport type { PropType, Ref } from 'vue'\nimport type { SelectItemKey } from '@/util'\n\nconst UP = -1\nconst DOWN = 1\n\n/** Determines how large each batch of items should be */\nconst BUFFER_PX = 100\n\ntype VirtualProps = {\n itemHeight: number | string | null | undefined\n itemKey: SelectItemKey\n height: number | string | undefined\n}\n\nexport const makeVirtualProps = propsFactory({\n itemHeight: {\n type: [Number, String],\n default: null,\n },\n itemKey: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: null,\n },\n height: [Number, String],\n}, 'virtual')\n\nexport function useVirtual <T> (props: VirtualProps, items: Ref<readonly T[]>) {\n const display = useDisplay()\n\n const itemHeight = shallowRef(0)\n watchEffect(() => {\n itemHeight.value = parseFloat(props.itemHeight || 0)\n })\n\n const first = shallowRef(0)\n const last = shallowRef(Math.ceil(\n // Assume 16px items filling the entire screen height if\n // not provided. This is probably incorrect but it minimises\n // the chance of ending up with empty space at the bottom.\n // The default value is set here to avoid poisoning getSize()\n (parseInt(props.height!) || display.height.value) / (itemHeight.value || 16)\n ) || 1)\n const paddingTop = shallowRef(0)\n const paddingBottom = shallowRef(0)\n\n /** The scrollable element */\n const containerRef = ref<HTMLElement>()\n /** An element marking the top of the scrollable area,\n * used to add an offset if there's padding or other elements above the virtual list */\n const markerRef = ref<HTMLElement>()\n /** markerRef's offsetTop, lazily evaluated */\n let markerOffset = 0\n\n const { resizeRef, contentRect } = useResizeObserver()\n watchEffect(() => {\n resizeRef.value = containerRef.value\n })\n const viewportHeight = computed(() => {\n return containerRef.value === document.documentElement\n ? display.height.value\n : contentRect.value?.height || parseInt(props.height!) || 0\n })\n /** All static elements have been rendered and we have an assumed item height */\n const hasInitialRender = computed(() => {\n return !!(containerRef.value && markerRef.value && viewportHeight.value && itemHeight.value)\n })\n\n let sizes = Array.from<number | null>({ length: items.value.length })\n let offsets = Array.from<number>({ length: items.value.length })\n const updateTime = shallowRef(0)\n let targetScrollIndex = -1\n\n function getSize (index: number) {\n return sizes[index] || itemHeight.value\n }\n\n const updateOffsets = debounce(() => {\n const start = performance.now()\n offsets[0] = 0\n const length = items.value.length\n for (let i = 1; i <= length - 1; i++) {\n offsets[i] = (offsets[i - 1] || 0) + getSize(i - 1)\n }\n updateTime.value = Math.max(updateTime.value, performance.now() - start)\n }, updateTime)\n\n const unwatch = watch(hasInitialRender, v => {\n if (!v) return\n // First render is complete, update offsets and visible\n // items in case our assumed item height was incorrect\n\n unwatch()\n markerOffset = markerRef.value!.offsetTop\n updateOffsets.immediate()\n calculateVisibleItems()\n\n if (!~targetScrollIndex) return\n\n nextTick(() => {\n IN_BROWSER && window.requestAnimationFrame(() => {\n scrollToIndex(targetScrollIndex)\n targetScrollIndex = -1\n })\n })\n })\n\n onScopeDispose(() => {\n updateOffsets.clear()\n })\n\n function handleItemResize (index: number, height: number) {\n const prevHeight = sizes[index]\n const prevMinHeight = itemHeight.value\n\n itemHeight.value = prevMinHeight ? Math.min(itemHeight.value, height) : height\n\n if (prevHeight !== height || prevMinHeight !== itemHeight.value) {\n sizes[index] = height\n updateOffsets()\n }\n }\n\n function calculateOffset (index: number) {\n index = clamp(index, 0, items.value.length - 1)\n const whole = Math.floor(index)\n const fraction = index % 1\n const next = whole + 1\n const wholeOffset = offsets[whole] || 0\n const nextOffset = offsets[next] || wholeOffset\n return wholeOffset + (nextOffset - wholeOffset) * fraction\n }\n\n function calculateIndex (scrollTop: number) {\n return binaryClosest(offsets, scrollTop)\n }\n\n let lastScrollTop = 0\n let scrollVelocity = 0\n let lastScrollTime = 0\n\n watch(viewportHeight, (val, oldVal) => {\n if (oldVal) {\n calculateVisibleItems()\n if (val < oldVal) {\n requestAnimationFrame(() => {\n scrollVelocity = 0\n calculateVisibleItems()\n })\n }\n }\n })\n\n let scrollTimeout = -1\n function handleScroll () {\n if (!containerRef.value || !markerRef.value) return\n\n const scrollTop = containerRef.value.scrollTop\n const scrollTime = performance.now()\n const scrollDeltaT = scrollTime - lastScrollTime\n\n if (scrollDeltaT > 500) {\n scrollVelocity = Math.sign(scrollTop - lastScrollTop)\n\n // Not super important, only update at the\n // start of a scroll sequence to avoid reflows\n markerOffset = markerRef.value.offsetTop\n } else {\n scrollVelocity = scrollTop - lastScrollTop\n }\n\n lastScrollTop = scrollTop\n lastScrollTime = scrollTime\n\n window.clearTimeout(scrollTimeout)\n scrollTimeout = window.setTimeout(handleScrollend, 500)\n\n calculateVisibleItems()\n }\n function handleScrollend () {\n if (!containerRef.value || !markerRef.value) return\n\n scrollVelocity = 0\n lastScrollTime = 0\n\n window.clearTimeout(scrollTimeout)\n calculateVisibleItems()\n }\n\n let raf = -1\n function calculateVisibleItems () {\n cancelAnimationFrame(raf)\n raf = requestAnimationFrame(_calculateVisibleItems)\n }\n function _calculateVisibleItems () {\n if (!containerRef.value || !viewportHeight.value) return\n const scrollTop = lastScrollTop - markerOffset\n const direction = Math.sign(scrollVelocity)\n\n const startPx = Math.max(0, scrollTop - BUFFER_PX)\n const start = clamp(calculateIndex(startPx), 0, items.value.length)\n\n const endPx = scrollTop + viewportHeight.value + BUFFER_PX\n const end = clamp(calculateIndex(endPx) + 1, start + 1, items.value.length)\n\n if (\n // Only update the side we're scrolling towards,\n // the other side will be updated incidentally\n (direction !== UP || start < first.value) &&\n (direction !== DOWN || end > last.value)\n ) {\n const topOverflow = calculateOffset(first.value) - calculateOffset(start)\n const bottomOverflow = calculateOffset(end) - calculateOffset(last.value)\n const bufferOverflow = Math.max(topOverflow, bottomOverflow)\n\n if (bufferOverflow > BUFFER_PX) {\n first.value = start\n last.value = end\n } else {\n // Only update the side that's reached its limit if there's still buffer left\n if (start <= 0) first.value = start\n if (end >= items.value.length) last.value = end\n }\n }\n\n paddingTop.value = calculateOffset(first.value)\n paddingBottom.value = calculateOffset(items.value.length) - calculateOffset(last.value)\n }\n\n function scrollToIndex (index: number) {\n const offset = calculateOffset(index)\n if (!containerRef.value || (index && !offset)) {\n targetScrollIndex = index\n } else {\n containerRef.value.scrollTop = offset\n }\n }\n\n const computedItems = computed(() => {\n return items.value.slice(first.value, last.value).map((item, index) => {\n const _index = index + first.value\n return {\n raw: item,\n index: _index,\n key: getPropertyFromItem(item, props.itemKey, _index),\n }\n })\n })\n\n watch(items, () => {\n sizes = Array.from({ length: items.value.length })\n offsets = Array.from({ length: items.value.length })\n updateOffsets.immediate()\n calculateVisibleItems()\n }, { deep: 1 })\n\n return {\n calculateVisibleItems,\n containerRef,\n markerRef,\n computedItems,\n paddingTop,\n paddingBottom,\n scrollToIndex,\n handleScroll,\n handleScrollend,\n handleItemResize,\n }\n}\n\n// https://gist.github.com/robertleeplummerjr/1cc657191d34ecd0a324\nfunction binaryClosest (arr: ArrayLike<number>, val: number) {\n let high = arr.length - 1\n let low = 0\n let mid = 0\n let item = null\n let target = -1\n\n if (arr[high]! < val) {\n return high\n }\n\n while (low <= high) {\n mid = (low + high) >> 1\n item = arr[mid]!\n\n if (item > val) {\n high = mid - 1\n } else if (item < val) {\n target = mid\n low = mid + 1\n } else if (item === val) {\n return mid\n } else {\n return low\n }\n }\n\n return target\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"virtual.js","names":["useDisplay","useResizeObserver","computed","nextTick","onScopeDispose","ref","shallowRef","watch","watchEffect","clamp","debounce","getPropertyFromItem","IN_BROWSER","propsFactory","UP","DOWN","BUFFER_PX","makeVirtualProps","itemHeight","type","Number","String","default","itemKey","Array","Function","height","useVirtual","props","items","display","value","parseFloat","first","last","Math","ceil","parseInt","paddingTop","paddingBottom","containerRef","markerRef","markerOffset","resizeRef","contentRect","viewportHeight","document","documentElement","hasInitialRender","sizes","from","length","offsets","updateTime","targetScrollIndex","getSize","index","updateOffsets","start","performance","now","i","max","unwatch","v","offsetTop","immediate","calculateVisibleItems","window","requestAnimationFrame","scrollToIndex","clear","handleItemResize","prevHeight","prevMinHeight","min","calculateOffset","whole","floor","fraction","next","wholeOffset","nextOffset","calculateIndex","scrollTop","binaryClosest","lastScrollTop","scrollVelocity","lastScrollTime","val","oldVal","scrollTimeout","handleScroll","scrollTime","scrollDeltaT","sign","clearTimeout","setTimeout","handleScrollend","raf","cancelAnimationFrame","_calculateVisibleItems","direction","startPx","endPx","end","topOverflow","bottomOverflow","bufferOverflow","offset","computedItems","slice","map","item","_index","raw","key","deep","arr","high","low","mid","target"],"sources":["../../src/composables/virtual.ts"],"sourcesContent":["// Composables\nimport { useDisplay } from '@/composables/display'\nimport { useResizeObserver } from '@/composables/resizeObserver'\n\n// Utilities\nimport { computed, nextTick, onScopeDispose, ref, shallowRef, watch, watchEffect } from 'vue'\nimport { clamp, debounce, getPropertyFromItem, IN_BROWSER, propsFactory } from '@/util'\n\n// Types\nimport type { PropType, Ref } from 'vue'\nimport type { SelectItemKey } from '@/util'\n\nconst UP = -1\nconst DOWN = 1\n\n/** Determines how large each batch of items should be */\nconst BUFFER_PX = 100\n\ntype VirtualProps = {\n itemHeight: number | string | null | undefined\n itemKey: SelectItemKey\n height: number | string | undefined\n}\n\nexport const makeVirtualProps = propsFactory({\n itemHeight: {\n type: [Number, String],\n default: null,\n },\n itemKey: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: null,\n },\n height: [Number, String],\n}, 'virtual')\n\nexport function useVirtual <T> (props: VirtualProps, items: Ref<readonly T[]>) {\n const display = useDisplay()\n\n const itemHeight = shallowRef(0)\n watchEffect(() => {\n itemHeight.value = parseFloat(props.itemHeight || 0)\n })\n\n const first = shallowRef(0)\n const last = shallowRef(Math.ceil(\n // Assume 16px items filling the entire screen height if\n // not provided. This is probably incorrect but it minimises\n // the chance of ending up with empty space at the bottom.\n // The default value is set here to avoid poisoning getSize()\n (parseInt(props.height!) || display.height.value) / (itemHeight.value || 16)\n ) || 1)\n const paddingTop = shallowRef(0)\n const paddingBottom = shallowRef(0)\n\n /** The scrollable element */\n const containerRef = ref<HTMLElement>()\n /** An element marking the top of the scrollable area,\n * used to add an offset if there's padding or other elements above the virtual list */\n const markerRef = ref<HTMLElement>()\n /** markerRef's offsetTop, lazily evaluated */\n let markerOffset = 0\n\n const { resizeRef, contentRect } = useResizeObserver()\n watchEffect(() => {\n resizeRef.value = containerRef.value\n })\n const viewportHeight = computed(() => {\n return containerRef.value === document.documentElement\n ? display.height.value\n : contentRect.value?.height || parseInt(props.height!) || 0\n })\n /** All static elements have been rendered and we have an assumed item height */\n const hasInitialRender = computed(() => {\n return !!(containerRef.value && markerRef.value && viewportHeight.value && itemHeight.value)\n })\n\n let sizes = Array.from<number | null>({ length: items.value.length })\n let offsets = Array.from<number>({ length: items.value.length })\n const updateTime = shallowRef(0)\n let targetScrollIndex = -1\n\n function getSize (index: number) {\n return sizes[index] || itemHeight.value\n }\n\n const updateOffsets = debounce(() => {\n const start = performance.now()\n offsets[0] = 0\n const length = items.value.length\n for (let i = 1; i <= length - 1; i++) {\n offsets[i] = (offsets[i - 1] || 0) + getSize(i - 1)\n }\n updateTime.value = Math.max(updateTime.value, performance.now() - start)\n }, updateTime)\n\n const unwatch = watch(hasInitialRender, v => {\n if (!v) return\n // First render is complete, update offsets and visible\n // items in case our assumed item height was incorrect\n\n unwatch()\n markerOffset = markerRef.value!.offsetTop\n updateOffsets.immediate()\n calculateVisibleItems()\n\n if (!~targetScrollIndex) return\n\n nextTick(() => {\n IN_BROWSER && window.requestAnimationFrame(() => {\n scrollToIndex(targetScrollIndex)\n targetScrollIndex = -1\n })\n })\n })\n\n onScopeDispose(() => {\n updateOffsets.clear()\n })\n\n function handleItemResize (index: number, height: number) {\n const prevHeight = sizes[index]\n const prevMinHeight = itemHeight.value\n\n itemHeight.value = prevMinHeight ? Math.min(itemHeight.value, height) : height\n\n if (prevHeight !== height || prevMinHeight !== itemHeight.value) {\n sizes[index] = height\n updateOffsets()\n }\n }\n\n function calculateOffset (index: number) {\n index = clamp(index, 0, items.value.length - 1)\n const whole = Math.floor(index)\n const fraction = index % 1\n const next = whole + 1\n const wholeOffset = offsets[whole] || 0\n const nextOffset = offsets[next] || wholeOffset\n return wholeOffset + (nextOffset - wholeOffset) * fraction\n }\n\n function calculateIndex (scrollTop: number) {\n return binaryClosest(offsets, scrollTop)\n }\n\n let lastScrollTop = 0\n let scrollVelocity = 0\n let lastScrollTime = 0\n\n watch(viewportHeight, (val, oldVal) => {\n if (oldVal) {\n calculateVisibleItems()\n if (val < oldVal) {\n requestAnimationFrame(() => {\n scrollVelocity = 0\n calculateVisibleItems()\n })\n }\n }\n })\n\n let scrollTimeout = -1\n function handleScroll () {\n if (!containerRef.value || !markerRef.value) return\n\n const scrollTop = containerRef.value.scrollTop\n const scrollTime = performance.now()\n const scrollDeltaT = scrollTime - lastScrollTime\n\n if (scrollDeltaT > 500) {\n scrollVelocity = Math.sign(scrollTop - lastScrollTop)\n\n // Not super important, only update at the\n // start of a scroll sequence to avoid reflows\n markerOffset = markerRef.value.offsetTop\n } else {\n scrollVelocity = scrollTop - lastScrollTop\n }\n\n lastScrollTop = scrollTop\n lastScrollTime = scrollTime\n\n window.clearTimeout(scrollTimeout)\n scrollTimeout = window.setTimeout(handleScrollend, 500)\n\n calculateVisibleItems()\n }\n function handleScrollend () {\n if (!containerRef.value || !markerRef.value) return\n\n scrollVelocity = 0\n lastScrollTime = 0\n\n window.clearTimeout(scrollTimeout)\n calculateVisibleItems()\n }\n\n let raf = -1\n function calculateVisibleItems () {\n cancelAnimationFrame(raf)\n raf = requestAnimationFrame(_calculateVisibleItems)\n }\n function _calculateVisibleItems () {\n if (!containerRef.value || !viewportHeight.value || !itemHeight.value) return\n const scrollTop = lastScrollTop - markerOffset\n const direction = Math.sign(scrollVelocity)\n\n const startPx = Math.max(0, scrollTop - BUFFER_PX)\n const start = clamp(calculateIndex(startPx), 0, items.value.length)\n\n const endPx = scrollTop + viewportHeight.value + BUFFER_PX\n const end = clamp(calculateIndex(endPx) + 1, start + 1, items.value.length)\n\n if (\n // Only update the side we're scrolling towards,\n // the other side will be updated incidentally\n (direction !== UP || start < first.value) &&\n (direction !== DOWN || end > last.value)\n ) {\n const topOverflow = calculateOffset(first.value) - calculateOffset(start)\n const bottomOverflow = calculateOffset(end) - calculateOffset(last.value)\n const bufferOverflow = Math.max(topOverflow, bottomOverflow)\n\n if (bufferOverflow > BUFFER_PX) {\n first.value = start\n last.value = end\n } else {\n // Only update the side that's reached its limit if there's still buffer left\n if (start <= 0) first.value = start\n if (end >= items.value.length) last.value = end\n }\n }\n\n paddingTop.value = calculateOffset(first.value)\n paddingBottom.value = calculateOffset(items.value.length) - calculateOffset(last.value)\n }\n\n function scrollToIndex (index: number) {\n const offset = calculateOffset(index)\n if (!containerRef.value || (index && !offset)) {\n targetScrollIndex = index\n } else {\n containerRef.value.scrollTop = offset\n }\n }\n\n const computedItems = computed(() => {\n return items.value.slice(first.value, last.value).map((item, index) => {\n const _index = index + first.value\n return {\n raw: item,\n index: _index,\n key: getPropertyFromItem(item, props.itemKey, _index),\n }\n })\n })\n\n watch(items, () => {\n sizes = Array.from({ length: items.value.length })\n offsets = Array.from({ length: items.value.length })\n updateOffsets.immediate()\n calculateVisibleItems()\n }, { deep: 1 })\n\n return {\n calculateVisibleItems,\n containerRef,\n markerRef,\n computedItems,\n paddingTop,\n paddingBottom,\n scrollToIndex,\n handleScroll,\n handleScrollend,\n handleItemResize,\n }\n}\n\n// https://gist.github.com/robertleeplummerjr/1cc657191d34ecd0a324\nfunction binaryClosest (arr: ArrayLike<number>, val: number) {\n let high = arr.length - 1\n let low = 0\n let mid = 0\n let item = null\n let target = -1\n\n if (arr[high]! < val) {\n return high\n }\n\n while (low <= high) {\n mid = (low + high) >> 1\n item = arr[mid]!\n\n if (item > val) {\n high = mid - 1\n } else if (item < val) {\n target = mid\n low = mid + 1\n } else if (item === val) {\n return mid\n } else {\n return low\n }\n }\n\n return target\n}\n"],"mappings":"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","ignoreList":[]}
@@ -16,7 +16,7 @@ export const createVuetify = function () {
16
16
  ...options
17
17
  });
18
18
  };
19
- export const version = "3.9.0-beta.0";
19
+ export const version = "3.9.0";
20
20
  createVuetify.version = version;
21
21
  export { blueprints, components, directives };
22
22
  export * from "./composables/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"entry-bundler.js","names":["blueprints","components","directives","createVuetify","_createVuetify","options","arguments","length","undefined","version"],"sources":["../src/entry-bundler.ts"],"sourcesContent":["/* eslint-disable local-rules/sort-imports */\n\n// Styles\nimport './styles/main.sass'\n\n// Components\nimport * as blueprints from './blueprints'\nimport * as components from './components'\nimport * as directives from './directives'\nimport { createVuetify as _createVuetify } from './framework'\n\n// Types\nimport type { VuetifyOptions } from './framework'\n\nexport const createVuetify = (options: VuetifyOptions = {}) => {\n return _createVuetify({ components, directives, ...options })\n}\n\nexport const version = __VUETIFY_VERSION__\ncreateVuetify.version = version\n\nexport {\n blueprints,\n components,\n directives,\n}\nexport * from './composables'\n"],"mappings":"AAAA;;AAEA;AACA;;AAEA;AAAA,OACO,KAAKA,UAAU;AAAA,OACf,KAAKC,UAAU;AAAA,OACf,KAAKC,UAAU;AAAA,SACbC,aAAa,IAAIC,cAAc,0BAExC;AAGA,OAAO,MAAMD,aAAa,GAAG,SAAAA,CAAA,EAAkC;EAAA,IAAjCE,OAAuB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACxD,OAAOF,cAAc,CAAC;IAAEH,UAAU;IAAEC,UAAU;IAAE,GAAGG;EAAQ,CAAC,CAAC;AAC/D,CAAC;AAED,OAAO,MAAMI,OAAO,iBAAsB;AAC1CN,aAAa,CAACM,OAAO,GAAGA,OAAO;AAE/B,SACET,UAAU,EACVC,UAAU,EACVC,UAAU;AACX","ignoreList":[]}
1
+ {"version":3,"file":"entry-bundler.js","names":["blueprints","components","directives","createVuetify","_createVuetify","options","arguments","length","undefined","version"],"sources":["../src/entry-bundler.ts"],"sourcesContent":["/* eslint-disable local-rules/sort-imports */\n\n// Styles\nimport './styles/main.sass'\n\n// Components\nimport * as blueprints from './blueprints'\nimport * as components from './components'\nimport * as directives from './directives'\nimport { createVuetify as _createVuetify } from './framework'\n\n// Types\nimport type { VuetifyOptions } from './framework'\n\nexport const createVuetify = (options: VuetifyOptions = {}) => {\n return _createVuetify({ components, directives, ...options })\n}\n\nexport const version = __VUETIFY_VERSION__\ncreateVuetify.version = version\n\nexport {\n blueprints,\n components,\n directives,\n}\nexport * from './composables'\n"],"mappings":"AAAA;;AAEA;AACA;;AAEA;AAAA,OACO,KAAKA,UAAU;AAAA,OACf,KAAKC,UAAU;AAAA,OACf,KAAKC,UAAU;AAAA,SACbC,aAAa,IAAIC,cAAc,0BAExC;AAGA,OAAO,MAAMD,aAAa,GAAG,SAAAA,CAAA,EAAkC;EAAA,IAAjCE,OAAuB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACxD,OAAOF,cAAc,CAAC;IAAEH,UAAU;IAAEC,UAAU;IAAE,GAAGG;EAAQ,CAAC,CAAC;AAC/D,CAAC;AAED,OAAO,MAAMI,OAAO,UAAsB;AAC1CN,aAAa,CAACM,OAAO,GAAGA,OAAO;AAE/B,SACET,UAAU,EACVC,UAAU,EACVC,UAAU;AACX","ignoreList":[]}
@@ -220,6 +220,7 @@ type ClassValue = any;
220
220
 
221
221
  declare function deepEqual(a: any, b: any): boolean;
222
222
  type SelectItemKey<T = Record<string, any>> = boolean | null | undefined | string | readonly (string | number)[] | ((item: T, fallback?: any) => any);
223
+ type MaybeRef<T> = T | Ref<T>;
223
224
  type EventProp<T extends any[] = any[], F = (...args: T) => void> = F;
224
225
  declare const EventProp: <T extends any[] = any[]>() => PropType<EventProp<T>>;
225
226
  type TemplateRef = {
@@ -273,6 +274,17 @@ interface IconAliases {
273
274
  eyeDropper: IconValue;
274
275
  upload: IconValue;
275
276
  color: IconValue;
277
+ command: IconValue;
278
+ ctrl: IconValue;
279
+ space: IconValue;
280
+ shift: IconValue;
281
+ alt: IconValue;
282
+ enter: IconValue;
283
+ arrowup: IconValue;
284
+ arrowdown: IconValue;
285
+ arrowleft: IconValue;
286
+ arrowright: IconValue;
287
+ backspace: IconValue;
276
288
  }
277
289
  interface IconProps {
278
290
  tag: string | JSXComponent;
@@ -405,6 +417,14 @@ declare function useLayout(): {
405
417
  mainStyles: Ref<CSSProperties, CSSProperties>;
406
418
  };
407
419
 
420
+ interface HotkeyOptions {
421
+ event?: MaybeRef<'keydown' | 'keyup'>;
422
+ inputs?: MaybeRef<boolean>;
423
+ preventDefault?: MaybeRef<boolean>;
424
+ sequenceTimeout?: MaybeRef<number>;
425
+ }
426
+ declare function useHotkey(keys: MaybeRef<string | undefined>, callback: (e: KeyboardEvent) => void, options?: HotkeyOptions): () => void;
427
+
408
428
  /**
409
429
  * - boolean: match without highlight
410
430
  * - number: single match (index), length already known
@@ -419,6 +439,7 @@ type FilterFunction = (value: string, query: string, item?: InternalItem) => Fil
419
439
  interface InternalItem<T = any> {
420
440
  value: any;
421
441
  raw: T;
442
+ type?: string;
422
443
  }
423
444
 
424
445
  type ValidationResult = string | boolean;
@@ -479,9 +500,10 @@ type SelectStrategyFunction = (data: {
479
500
  selected: Map<unknown, 'on' | 'off' | 'indeterminate'>;
480
501
  children: Map<unknown, unknown[]>;
481
502
  parents: Map<unknown, unknown>;
503
+ disabled: Set<unknown>;
482
504
  event?: Event;
483
505
  }) => Map<unknown, 'on' | 'off' | 'indeterminate'>;
484
- type SelectStrategyTransformInFunction = (v: readonly unknown[] | undefined, children: Map<unknown, unknown[]>, parents: Map<unknown, unknown>) => Map<unknown, 'on' | 'off' | 'indeterminate'>;
506
+ type SelectStrategyTransformInFunction = (v: readonly unknown[] | undefined, children: Map<unknown, unknown[]>, parents: Map<unknown, unknown>, disabled: Set<unknown>) => Map<unknown, 'on' | 'off' | 'indeterminate'>;
485
507
  type SelectStrategyTransformOutFunction = (v: Map<unknown, 'on' | 'off' | 'indeterminate'>, children: Map<unknown, unknown[]>, parents: Map<unknown, unknown>) => unknown[];
486
508
  type SelectStrategy = {
487
509
  select: SelectStrategyFunction;
@@ -570,7 +592,7 @@ type DataTableHeader<T = Record<string, any>> = {
570
592
  key?: 'data-table-group' | 'data-table-select' | 'data-table-expand' | (string & {});
571
593
  value?: SelectItemKey<T>;
572
594
  title?: string;
573
- fixed?: boolean;
595
+ fixed?: boolean | 'start' | 'end';
574
596
  align?: 'start' | 'end' | 'center';
575
597
  width?: number | string;
576
598
  minWidth?: number | string;
@@ -589,13 +611,15 @@ type InternalDataTableHeader = Omit<DataTableHeader, 'key' | 'value' | 'children
589
611
  value: SelectItemKey | null;
590
612
  sortable: boolean;
591
613
  fixedOffset?: number;
614
+ fixedEndOffset?: number;
592
615
  lastFixed?: boolean;
616
+ firstFixedEnd?: boolean;
593
617
  nowrap?: boolean;
594
618
  colspan?: number;
595
619
  rowspan?: number;
596
620
  children?: InternalDataTableHeader[];
597
621
  };
598
- interface DataTableItem<T = any> extends InternalItem<T>, GroupableItem<T>, SelectableItem {
622
+ interface DataTableItem<T = any> extends Omit<InternalItem<T>, 'type'>, GroupableItem<T>, SelectableItem {
599
623
  key: any;
600
624
  index: number;
601
625
  columns: {
@@ -2515,7 +2539,7 @@ declare namespace createVuetify {
2515
2539
  }
2516
2540
  declare const version: string;
2517
2541
 
2518
- export { DateModule, createVuetify, useDate, useDefaults, useDisplay, useGoTo, useLayout, useLocale, useRtl, useTheme, version };
2542
+ export { DateModule, createVuetify, useDate, useDefaults, useDisplay, useGoTo, useHotkey, useLayout, useLocale, useRtl, useTheme, version };
2519
2543
  export type { ActiveStrategy, Anchor, Blueprint, CellPropsFunction as DataTableCellPropsFunction, DataTableCompareFunction, DataTableHeader, HeaderCellPropsFunction as DataTableHeaderCellPropsFunction, RowPropsFunction as DataTableRowPropsFunction, SortItem as DataTableSortItem, DateInstance, DateOptions, DefaultsInstance, DisplayBreakpoint, DisplayInstance, DisplayThresholds, FilterFunction, FilterMatch, GoToInstance, IconAliases, IconOptions, IconProps, IconSet, InternalItem, JSXComponent, LocaleInstance, LocaleMessages, LocaleOptions, LocationStrategyFunction, OpenStrategy, RtlInstance, RtlOptions, ScrollStrategyFunction, SelectStrategy, SnackbarMessage as SnackbarQueueMessage, SubmitEventPromise, ThemeDefinition, ThemeInstance, ValidationRule, VuetifyOptions };
2520
2544
 
2521
2545
  /* eslint-disable local-rules/sort-imports */
@@ -2553,70 +2577,78 @@ declare module 'vue' {
2553
2577
  $children?: VNodeChild
2554
2578
  }
2555
2579
  export interface GlobalComponents {
2580
+ VApp: typeof import('vuetify/components')['VApp']
2556
2581
  VAppBar: typeof import('vuetify/components')['VAppBar']
2557
2582
  VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
2558
2583
  VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
2559
- VApp: typeof import('vuetify/components')['VApp']
2560
2584
  VAlert: typeof import('vuetify/components')['VAlert']
2561
2585
  VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
2586
+ VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
2562
2587
  VAvatar: typeof import('vuetify/components')['VAvatar']
2563
2588
  VBadge: typeof import('vuetify/components')['VBadge']
2564
- VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
2589
+ VBanner: typeof import('vuetify/components')['VBanner']
2590
+ VBannerActions: typeof import('vuetify/components')['VBannerActions']
2591
+ VBannerText: typeof import('vuetify/components')['VBannerText']
2565
2592
  VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
2593
+ VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
2594
+ VBtn: typeof import('vuetify/components')['VBtn']
2595
+ VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
2596
+ VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
2566
2597
  VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
2567
2598
  VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
2568
2599
  VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
2569
- VBtn: typeof import('vuetify/components')['VBtn']
2570
- VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
2571
- VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
2600
+ VCarousel: typeof import('vuetify/components')['VCarousel']
2601
+ VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
2572
2602
  VCard: typeof import('vuetify/components')['VCard']
2573
2603
  VCardActions: typeof import('vuetify/components')['VCardActions']
2574
2604
  VCardItem: typeof import('vuetify/components')['VCardItem']
2575
2605
  VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
2576
2606
  VCardText: typeof import('vuetify/components')['VCardText']
2577
2607
  VCardTitle: typeof import('vuetify/components')['VCardTitle']
2578
- VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
2579
- VCarousel: typeof import('vuetify/components')['VCarousel']
2580
- VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
2608
+ VCode: typeof import('vuetify/components')['VCode']
2609
+ VChip: typeof import('vuetify/components')['VChip']
2610
+ VCombobox: typeof import('vuetify/components')['VCombobox']
2611
+ VColorPicker: typeof import('vuetify/components')['VColorPicker']
2612
+ VChipGroup: typeof import('vuetify/components')['VChipGroup']
2581
2613
  VCheckbox: typeof import('vuetify/components')['VCheckbox']
2582
2614
  VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
2583
2615
  VCounter: typeof import('vuetify/components')['VCounter']
2584
- VChipGroup: typeof import('vuetify/components')['VChipGroup']
2585
- VColorPicker: typeof import('vuetify/components')['VColorPicker']
2586
- VCode: typeof import('vuetify/components')['VCode']
2616
+ VDataTable: typeof import('vuetify/components')['VDataTable']
2617
+ VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
2618
+ VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
2619
+ VDataTableRows: typeof import('vuetify/components')['VDataTableRows']
2620
+ VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
2621
+ VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
2622
+ VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
2587
2623
  VDatePicker: typeof import('vuetify/components')['VDatePicker']
2588
2624
  VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
2589
2625
  VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
2590
2626
  VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
2591
2627
  VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
2592
2628
  VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
2593
- VChip: typeof import('vuetify/components')['VChip']
2594
- VCombobox: typeof import('vuetify/components')['VCombobox']
2595
- VDivider: typeof import('vuetify/components')['VDivider']
2596
- VDialog: typeof import('vuetify/components')['VDialog']
2597
- VField: typeof import('vuetify/components')['VField']
2598
- VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
2629
+ VEmptyState: typeof import('vuetify/components')['VEmptyState']
2599
2630
  VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
2600
2631
  VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
2601
2632
  VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
2602
2633
  VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
2603
- VFab: typeof import('vuetify/components')['VFab']
2604
- VFileInput: typeof import('vuetify/components')['VFileInput']
2634
+ VDialog: typeof import('vuetify/components')['VDialog']
2635
+ VDivider: typeof import('vuetify/components')['VDivider']
2636
+ VField: typeof import('vuetify/components')['VField']
2637
+ VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
2605
2638
  VFooter: typeof import('vuetify/components')['VFooter']
2606
- VEmptyState: typeof import('vuetify/components')['VEmptyState']
2639
+ VFileInput: typeof import('vuetify/components')['VFileInput']
2640
+ VFab: typeof import('vuetify/components')['VFab']
2607
2641
  VIcon: typeof import('vuetify/components')['VIcon']
2608
2642
  VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
2609
2643
  VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
2610
2644
  VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
2611
2645
  VClassIcon: typeof import('vuetify/components')['VClassIcon']
2612
- VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
2613
2646
  VImg: typeof import('vuetify/components')['VImg']
2614
2647
  VItemGroup: typeof import('vuetify/components')['VItemGroup']
2615
2648
  VItem: typeof import('vuetify/components')['VItem']
2649
+ VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
2616
2650
  VInput: typeof import('vuetify/components')['VInput']
2617
- VLabel: typeof import('vuetify/components')['VLabel']
2618
2651
  VKbd: typeof import('vuetify/components')['VKbd']
2619
- VMenu: typeof import('vuetify/components')['VMenu']
2620
2652
  VList: typeof import('vuetify/components')['VList']
2621
2653
  VListGroup: typeof import('vuetify/components')['VListGroup']
2622
2654
  VListImg: typeof import('vuetify/components')['VListImg']
@@ -2626,89 +2658,77 @@ declare module 'vue' {
2626
2658
  VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
2627
2659
  VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
2628
2660
  VListSubheader: typeof import('vuetify/components')['VListSubheader']
2661
+ VLabel: typeof import('vuetify/components')['VLabel']
2662
+ VMenu: typeof import('vuetify/components')['VMenu']
2629
2663
  VMain: typeof import('vuetify/components')['VMain']
2664
+ VMessages: typeof import('vuetify/components')['VMessages']
2630
2665
  VNumberInput: typeof import('vuetify/components')['VNumberInput']
2631
2666
  VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
2632
- VMessages: typeof import('vuetify/components')['VMessages']
2633
- VPagination: typeof import('vuetify/components')['VPagination']
2634
- VOverlay: typeof import('vuetify/components')['VOverlay']
2635
2667
  VOtpInput: typeof import('vuetify/components')['VOtpInput']
2636
- VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
2637
2668
  VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
2669
+ VPagination: typeof import('vuetify/components')['VPagination']
2670
+ VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
2638
2671
  VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
2639
2672
  VRating: typeof import('vuetify/components')['VRating']
2640
- VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
2641
2673
  VSelect: typeof import('vuetify/components')['VSelect']
2642
- VSlider: typeof import('vuetify/components')['VSlider']
2674
+ VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
2643
2675
  VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
2676
+ VSheet: typeof import('vuetify/components')['VSheet']
2677
+ VSlider: typeof import('vuetify/components')['VSlider']
2644
2678
  VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
2645
2679
  VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
2646
- VSnackbar: typeof import('vuetify/components')['VSnackbar']
2647
- VSheet: typeof import('vuetify/components')['VSheet']
2648
2680
  VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
2681
+ VSnackbar: typeof import('vuetify/components')['VSnackbar']
2682
+ VSwitch: typeof import('vuetify/components')['VSwitch']
2649
2683
  VStepper: typeof import('vuetify/components')['VStepper']
2650
2684
  VStepperActions: typeof import('vuetify/components')['VStepperActions']
2651
2685
  VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
2652
2686
  VStepperItem: typeof import('vuetify/components')['VStepperItem']
2653
2687
  VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
2654
2688
  VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
2655
- VSwitch: typeof import('vuetify/components')['VSwitch']
2656
- VSystemBar: typeof import('vuetify/components')['VSystemBar']
2657
- VTable: typeof import('vuetify/components')['VTable']
2658
2689
  VTab: typeof import('vuetify/components')['VTab']
2659
2690
  VTabs: typeof import('vuetify/components')['VTabs']
2660
2691
  VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
2661
2692
  VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
2662
- VTextarea: typeof import('vuetify/components')['VTextarea']
2663
2693
  VTextField: typeof import('vuetify/components')['VTextField']
2664
- VToolbar: typeof import('vuetify/components')['VToolbar']
2665
- VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
2666
- VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
2694
+ VSystemBar: typeof import('vuetify/components')['VSystemBar']
2695
+ VTable: typeof import('vuetify/components')['VTable']
2667
2696
  VTimeline: typeof import('vuetify/components')['VTimeline']
2668
2697
  VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
2669
- VTooltip: typeof import('vuetify/components')['VTooltip']
2698
+ VTextarea: typeof import('vuetify/components')['VTextarea']
2670
2699
  VTimePicker: typeof import('vuetify/components')['VTimePicker']
2671
2700
  VTimePickerClock: typeof import('vuetify/components')['VTimePickerClock']
2672
2701
  VTimePickerControls: typeof import('vuetify/components')['VTimePickerControls']
2673
- VTreeview: typeof import('vuetify/components')['VTreeview']
2674
- VTreeviewItem: typeof import('vuetify/components')['VTreeviewItem']
2675
- VTreeviewGroup: typeof import('vuetify/components')['VTreeviewGroup']
2676
2702
  VWindow: typeof import('vuetify/components')['VWindow']
2677
2703
  VWindowItem: typeof import('vuetify/components')['VWindowItem']
2704
+ VToolbar: typeof import('vuetify/components')['VToolbar']
2705
+ VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
2706
+ VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
2707
+ VTooltip: typeof import('vuetify/components')['VTooltip']
2678
2708
  VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
2679
2709
  VDataIterator: typeof import('vuetify/components')['VDataIterator']
2680
2710
  VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
2711
+ VForm: typeof import('vuetify/components')['VForm']
2681
2712
  VContainer: typeof import('vuetify/components')['VContainer']
2682
2713
  VCol: typeof import('vuetify/components')['VCol']
2683
2714
  VRow: typeof import('vuetify/components')['VRow']
2684
2715
  VSpacer: typeof import('vuetify/components')['VSpacer']
2685
2716
  VHover: typeof import('vuetify/components')['VHover']
2686
- VForm: typeof import('vuetify/components')['VForm']
2717
+ VLayout: typeof import('vuetify/components')['VLayout']
2718
+ VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
2687
2719
  VLazy: typeof import('vuetify/components')['VLazy']
2688
2720
  VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
2689
2721
  VNoSsr: typeof import('vuetify/components')['VNoSsr']
2690
2722
  VParallax: typeof import('vuetify/components')['VParallax']
2691
- VRadio: typeof import('vuetify/components')['VRadio']
2692
2723
  VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
2693
- VResponsive: typeof import('vuetify/components')['VResponsive']
2694
- VSnackbarQueue: typeof import('vuetify/components')['VSnackbarQueue']
2724
+ VRadio: typeof import('vuetify/components')['VRadio']
2725
+ VOverlay: typeof import('vuetify/components')['VOverlay']
2695
2726
  VSparkline: typeof import('vuetify/components')['VSparkline']
2727
+ VSnackbarQueue: typeof import('vuetify/components')['VSnackbarQueue']
2696
2728
  VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
2697
2729
  VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
2698
2730
  VValidation: typeof import('vuetify/components')['VValidation']
2699
2731
  VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
2700
- VDataTable: typeof import('vuetify/components')['VDataTable']
2701
- VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
2702
- VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
2703
- VDataTableRows: typeof import('vuetify/components')['VDataTableRows']
2704
- VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
2705
- VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
2706
- VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
2707
- VLayout: typeof import('vuetify/components')['VLayout']
2708
- VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
2709
- VBanner: typeof import('vuetify/components')['VBanner']
2710
- VBannerActions: typeof import('vuetify/components')['VBannerActions']
2711
- VBannerText: typeof import('vuetify/components')['VBannerText']
2712
2732
  VFabTransition: typeof import('vuetify/components')['VFabTransition']
2713
2733
  VDialogBottomTransition: typeof import('vuetify/components')['VDialogBottomTransition']
2714
2734
  VDialogTopTransition: typeof import('vuetify/components')['VDialogTopTransition']
@@ -2725,24 +2745,29 @@ declare module 'vue' {
2725
2745
  VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
2726
2746
  VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
2727
2747
  VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
2748
+ VTreeview: typeof import('vuetify/components')['VTreeview']
2749
+ VTreeviewItem: typeof import('vuetify/components')['VTreeviewItem']
2750
+ VTreeviewGroup: typeof import('vuetify/components')['VTreeviewGroup']
2751
+ VResponsive: typeof import('vuetify/components')['VResponsive']
2752
+ VColorInput: typeof import('vuetify/labs/components')['VColorInput']
2728
2753
  VCalendar: typeof import('vuetify/labs/components')['VCalendar']
2729
2754
  VCalendarDay: typeof import('vuetify/labs/components')['VCalendarDay']
2730
2755
  VCalendarHeader: typeof import('vuetify/labs/components')['VCalendarHeader']
2731
2756
  VCalendarInterval: typeof import('vuetify/labs/components')['VCalendarInterval']
2732
2757
  VCalendarIntervalEvent: typeof import('vuetify/labs/components')['VCalendarIntervalEvent']
2733
2758
  VCalendarMonthDay: typeof import('vuetify/labs/components')['VCalendarMonthDay']
2759
+ VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
2734
2760
  VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
2735
2761
  VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
2736
- VColorInput: typeof import('vuetify/labs/components')['VColorInput']
2737
- VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
2738
2762
  VPicker: typeof import('vuetify/labs/components')['VPicker']
2739
2763
  VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
2764
+ VHotkey: typeof import('vuetify/labs/components')['VHotkey']
2740
2765
  VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
2741
2766
  VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
2742
2767
  VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
2743
- VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
2744
- VMaskInput: typeof import('vuetify/labs/components')['VMaskInput']
2745
2768
  VDateInput: typeof import('vuetify/labs/components')['VDateInput']
2769
+ VMaskInput: typeof import('vuetify/labs/components')['VMaskInput']
2770
+ VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
2746
2771
  }
2747
2772
  export interface GlobalDirectives {
2748
2773
  vClickOutside: typeof import('vuetify/directives')['ClickOutside']
package/lib/framework.js CHANGED
@@ -109,7 +109,7 @@ export function createVuetify() {
109
109
  };
110
110
  });
111
111
  }
112
- export const version = "3.9.0-beta.0";
112
+ export const version = "3.9.0";
113
113
  createVuetify.version = version;
114
114
 
115
115
  // Vue's inject() can only be used in setup
@@ -1 +1 @@
1
- {"version":3,"file":"framework.js","names":["createDate","DateAdapterSymbol","DateOptionsSymbol","createDefaults","DefaultsSymbol","createDisplay","DisplaySymbol","createGoTo","GoToSymbol","createIcons","IconSymbol","createLocale","LocaleSymbol","createTheme","ThemeSymbol","effectScope","nextTick","reactive","defineComponent","IN_BROWSER","mergeDeep","createVuetify","vuetify","arguments","length","undefined","blueprint","rest","options","aliases","components","directives","scope","run","defaults","display","ssr","theme","icons","locale","date","goTo","install","app","key","directive","component","name","aliasName","appScope","onUnmount","stop","provide","instance","$nuxt","hook","update","mount","vm","__VUE_OPTIONS_API__","mixin","computed","$vuetify","inject","call","unmount","version","$","provides","parent","vnode","appContext"],"sources":["../src/framework.ts"],"sourcesContent":["// Composables\nimport { createDate, DateAdapterSymbol, DateOptionsSymbol } from '@/composables/date/date'\nimport { createDefaults, DefaultsSymbol } from '@/composables/defaults'\nimport { createDisplay, DisplaySymbol } from '@/composables/display'\nimport { createGoTo, GoToSymbol } from '@/composables/goto'\nimport { createIcons, IconSymbol } from '@/composables/icons'\nimport { createLocale, LocaleSymbol } from '@/composables/locale'\nimport { createTheme, ThemeSymbol } from '@/composables/theme'\n\n// Utilities\nimport { effectScope, nextTick, reactive } from 'vue'\nimport { defineComponent, IN_BROWSER, mergeDeep } from '@/util'\n\n// Types\nimport type { App, ComponentPublicInstance, InjectionKey } from 'vue'\nimport type { DateOptions } from '@/composables/date'\nimport type { DefaultsOptions } from '@/composables/defaults'\nimport type { DisplayOptions, SSROptions } from '@/composables/display'\nimport type { GoToOptions } from '@/composables/goto'\nimport type { IconOptions } from '@/composables/icons'\nimport type { LocaleOptions, RtlOptions } from '@/composables/locale'\nimport type { ThemeOptions } from '@/composables/theme'\n\n// Exports\nexport * from './composables'\nexport * from './types'\n\nexport interface VuetifyOptions {\n aliases?: Record<string, any>\n blueprint?: Blueprint\n components?: Record<string, any>\n date?: DateOptions\n directives?: Record<string, any>\n defaults?: DefaultsOptions\n display?: DisplayOptions\n goTo?: GoToOptions\n theme?: ThemeOptions\n icons?: IconOptions\n locale?: LocaleOptions & RtlOptions\n ssr?: SSROptions\n}\n\nexport interface Blueprint extends Omit<VuetifyOptions, 'blueprint'> {}\n\nexport function createVuetify (vuetify: VuetifyOptions = {}) {\n const { blueprint, ...rest } = vuetify\n const options: VuetifyOptions = mergeDeep(blueprint, rest)\n const {\n aliases = {},\n components = {},\n directives = {},\n } = options\n\n const scope = effectScope()\n return scope.run(() => {\n const defaults = createDefaults(options.defaults)\n const display = createDisplay(options.display, options.ssr)\n const theme = createTheme(options.theme)\n const icons = createIcons(options.icons)\n const locale = createLocale(options.locale)\n const date = createDate(options.date, locale)\n const goTo = createGoTo(options.goTo, locale)\n\n function install (app: App) {\n for (const key in directives) {\n app.directive(key, directives[key])\n }\n\n for (const key in components) {\n app.component(key, components[key])\n }\n\n for (const key in aliases) {\n app.component(key, defineComponent({\n ...aliases[key],\n name: key,\n aliasName: aliases[key].name,\n }))\n }\n\n const appScope = effectScope()\n appScope.run(() => {\n theme.install(app)\n })\n app.onUnmount(() => appScope.stop())\n\n app.provide(DefaultsSymbol, defaults)\n app.provide(DisplaySymbol, display)\n app.provide(ThemeSymbol, theme)\n app.provide(IconSymbol, icons)\n app.provide(LocaleSymbol, locale)\n app.provide(DateOptionsSymbol, date.options)\n app.provide(DateAdapterSymbol, date.instance)\n app.provide(GoToSymbol, goTo)\n\n if (IN_BROWSER && options.ssr) {\n if (app.$nuxt) {\n app.$nuxt.hook('app:suspense:resolve', () => {\n display.update()\n })\n } else {\n const { mount } = app\n app.mount = (...args) => {\n const vm = mount(...args)\n nextTick(() => display.update())\n app.mount = mount\n return vm\n }\n }\n }\n\n if (typeof __VUE_OPTIONS_API__ !== 'boolean' || __VUE_OPTIONS_API__) {\n app.mixin({\n computed: {\n $vuetify () {\n return reactive({\n defaults: inject.call(this, DefaultsSymbol),\n display: inject.call(this, DisplaySymbol),\n theme: inject.call(this, ThemeSymbol),\n icons: inject.call(this, IconSymbol),\n locale: inject.call(this, LocaleSymbol),\n date: inject.call(this, DateAdapterSymbol),\n })\n },\n },\n })\n }\n }\n\n function unmount () {\n scope.stop()\n }\n\n return {\n install,\n unmount,\n defaults,\n display,\n theme,\n icons,\n locale,\n date,\n goTo,\n }\n })!\n}\n\nexport const version = __VUETIFY_VERSION__\ncreateVuetify.version = version\n\n// Vue's inject() can only be used in setup\nfunction inject (this: ComponentPublicInstance, key: InjectionKey<any> | string) {\n const vm = this.$\n\n const provides = vm.parent?.provides ?? vm.vnode.appContext?.provides\n\n if (provides && (key as any) in provides) {\n return provides[(key as string)]\n }\n}\n"],"mappings":"AAAA;AAAA,SACSA,UAAU,EAAEC,iBAAiB,EAAEC,iBAAiB;AAAA,SAChDC,cAAc,EAAEC,cAAc;AAAA,SAC9BC,aAAa,EAAEC,aAAa;AAAA,SAC5BC,UAAU,EAAEC,UAAU;AAAA,SACtBC,WAAW,EAAEC,UAAU;AAAA,SACvBC,YAAY,EAAEC,YAAY;AAAA,SAC1BC,WAAW,EAAEC,WAAW,kCAEjC;AACA,SAASC,WAAW,EAAEC,QAAQ,EAAEC,QAAQ,QAAQ,KAAK;AAAA,SAC5CC,eAAe,EAAEC,UAAU,EAAEC,SAAS,2BAE/C;AAUA;AAAA;AAAA;AAqBA,OAAO,SAASC,aAAaA,CAAA,EAAgC;EAAA,IAA9BC,OAAuB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACzD,MAAM;IAAEG,SAAS;IAAE,GAAGC;EAAK,CAAC,GAAGL,OAAO;EACtC,MAAMM,OAAuB,GAAGR,SAAS,CAACM,SAAS,EAAEC,IAAI,CAAC;EAC1D,MAAM;IACJE,OAAO,GAAG,CAAC,CAAC;IACZC,UAAU,GAAG,CAAC,CAAC;IACfC,UAAU,GAAG,CAAC;EAChB,CAAC,GAAGH,OAAO;EAEX,MAAMI,KAAK,GAAGjB,WAAW,CAAC,CAAC;EAC3B,OAAOiB,KAAK,CAACC,GAAG,CAAC,MAAM;IACrB,MAAMC,QAAQ,GAAG/B,cAAc,CAACyB,OAAO,CAACM,QAAQ,CAAC;IACjD,MAAMC,OAAO,GAAG9B,aAAa,CAACuB,OAAO,CAACO,OAAO,EAAEP,OAAO,CAACQ,GAAG,CAAC;IAC3D,MAAMC,KAAK,GAAGxB,WAAW,CAACe,OAAO,CAACS,KAAK,CAAC;IACxC,MAAMC,KAAK,GAAG7B,WAAW,CAACmB,OAAO,CAACU,KAAK,CAAC;IACxC,MAAMC,MAAM,GAAG5B,YAAY,CAACiB,OAAO,CAACW,MAAM,CAAC;IAC3C,MAAMC,IAAI,GAAGxC,UAAU,CAAC4B,OAAO,CAACY,IAAI,EAAED,MAAM,CAAC;IAC7C,MAAME,IAAI,GAAGlC,UAAU,CAACqB,OAAO,CAACa,IAAI,EAAEF,MAAM,CAAC;IAE7C,SAASG,OAAOA,CAAEC,GAAQ,EAAE;MAC1B,KAAK,MAAMC,GAAG,IAAIb,UAAU,EAAE;QAC5BY,GAAG,CAACE,SAAS,CAACD,GAAG,EAAEb,UAAU,CAACa,GAAG,CAAC,CAAC;MACrC;MAEA,KAAK,MAAMA,GAAG,IAAId,UAAU,EAAE;QAC5Ba,GAAG,CAACG,SAAS,CAACF,GAAG,EAAEd,UAAU,CAACc,GAAG,CAAC,CAAC;MACrC;MAEA,KAAK,MAAMA,GAAG,IAAIf,OAAO,EAAE;QACzBc,GAAG,CAACG,SAAS,CAACF,GAAG,EAAE1B,eAAe,CAAC;UACjC,GAAGW,OAAO,CAACe,GAAG,CAAC;UACfG,IAAI,EAAEH,GAAG;UACTI,SAAS,EAAEnB,OAAO,CAACe,GAAG,CAAC,CAACG;QAC1B,CAAC,CAAC,CAAC;MACL;MAEA,MAAME,QAAQ,GAAGlC,WAAW,CAAC,CAAC;MAC9BkC,QAAQ,CAAChB,GAAG,CAAC,MAAM;QACjBI,KAAK,CAACK,OAAO,CAACC,GAAG,CAAC;MACpB,CAAC,CAAC;MACFA,GAAG,CAACO,SAAS,CAAC,MAAMD,QAAQ,CAACE,IAAI,CAAC,CAAC,CAAC;MAEpCR,GAAG,CAACS,OAAO,CAAChD,cAAc,EAAE8B,QAAQ,CAAC;MACrCS,GAAG,CAACS,OAAO,CAAC9C,aAAa,EAAE6B,OAAO,CAAC;MACnCQ,GAAG,CAACS,OAAO,CAACtC,WAAW,EAAEuB,KAAK,CAAC;MAC/BM,GAAG,CAACS,OAAO,CAAC1C,UAAU,EAAE4B,KAAK,CAAC;MAC9BK,GAAG,CAACS,OAAO,CAACxC,YAAY,EAAE2B,MAAM,CAAC;MACjCI,GAAG,CAACS,OAAO,CAAClD,iBAAiB,EAAEsC,IAAI,CAACZ,OAAO,CAAC;MAC5Ce,GAAG,CAACS,OAAO,CAACnD,iBAAiB,EAAEuC,IAAI,CAACa,QAAQ,CAAC;MAC7CV,GAAG,CAACS,OAAO,CAAC5C,UAAU,EAAEiC,IAAI,CAAC;MAE7B,IAAItB,UAAU,IAAIS,OAAO,CAACQ,GAAG,EAAE;QAC7B,IAAIO,GAAG,CAACW,KAAK,EAAE;UACbX,GAAG,CAACW,KAAK,CAACC,IAAI,CAAC,sBAAsB,EAAE,MAAM;YAC3CpB,OAAO,CAACqB,MAAM,CAAC,CAAC;UAClB,CAAC,CAAC;QACJ,CAAC,MAAM;UACL,MAAM;YAAEC;UAAM,CAAC,GAAGd,GAAG;UACrBA,GAAG,CAACc,KAAK,GAAG,YAAa;YACvB,MAAMC,EAAE,GAAGD,KAAK,CAAC,GAAAlC,SAAO,CAAC;YACzBP,QAAQ,CAAC,MAAMmB,OAAO,CAACqB,MAAM,CAAC,CAAC,CAAC;YAChCb,GAAG,CAACc,KAAK,GAAGA,KAAK;YACjB,OAAOC,EAAE;UACX,CAAC;QACH;MACF;MAEA,IAAI,OAAOC,mBAAmB,KAAK,SAAS,IAAIA,mBAAmB,EAAE;QACnEhB,GAAG,CAACiB,KAAK,CAAC;UACRC,QAAQ,EAAE;YACRC,QAAQA,CAAA,EAAI;cACV,OAAO7C,QAAQ,CAAC;gBACdiB,QAAQ,EAAE6B,MAAM,CAACC,IAAI,CAAC,IAAI,EAAE5D,cAAc,CAAC;gBAC3C+B,OAAO,EAAE4B,MAAM,CAACC,IAAI,CAAC,IAAI,EAAE1D,aAAa,CAAC;gBACzC+B,KAAK,EAAE0B,MAAM,CAACC,IAAI,CAAC,IAAI,EAAElD,WAAW,CAAC;gBACrCwB,KAAK,EAAEyB,MAAM,CAACC,IAAI,CAAC,IAAI,EAAEtD,UAAU,CAAC;gBACpC6B,MAAM,EAAEwB,MAAM,CAACC,IAAI,CAAC,IAAI,EAAEpD,YAAY,CAAC;gBACvC4B,IAAI,EAAEuB,MAAM,CAACC,IAAI,CAAC,IAAI,EAAE/D,iBAAiB;cAC3C,CAAC,CAAC;YACJ;UACF;QACF,CAAC,CAAC;MACJ;IACF;IAEA,SAASgE,OAAOA,CAAA,EAAI;MAClBjC,KAAK,CAACmB,IAAI,CAAC,CAAC;IACd;IAEA,OAAO;MACLT,OAAO;MACPuB,OAAO;MACP/B,QAAQ;MACRC,OAAO;MACPE,KAAK;MACLC,KAAK;MACLC,MAAM;MACNC,IAAI;MACJC;IACF,CAAC;EACH,CAAC,CAAC;AACJ;AAEA,OAAO,MAAMyB,OAAO,iBAAsB;AAC1C7C,aAAa,CAAC6C,OAAO,GAAGA,OAAO;;AAE/B;AACA,SAASH,MAAMA,CAAiCnB,GAA+B,EAAE;EAC/E,MAAMc,EAAE,GAAG,IAAI,CAACS,CAAC;EAEjB,MAAMC,QAAQ,GAAGV,EAAE,CAACW,MAAM,EAAED,QAAQ,IAAIV,EAAE,CAACY,KAAK,CAACC,UAAU,EAAEH,QAAQ;EAErE,IAAIA,QAAQ,IAAKxB,GAAG,IAAYwB,QAAQ,EAAE;IACxC,OAAOA,QAAQ,CAAExB,GAAG,CAAY;EAClC;AACF","ignoreList":[]}
1
+ {"version":3,"file":"framework.js","names":["createDate","DateAdapterSymbol","DateOptionsSymbol","createDefaults","DefaultsSymbol","createDisplay","DisplaySymbol","createGoTo","GoToSymbol","createIcons","IconSymbol","createLocale","LocaleSymbol","createTheme","ThemeSymbol","effectScope","nextTick","reactive","defineComponent","IN_BROWSER","mergeDeep","createVuetify","vuetify","arguments","length","undefined","blueprint","rest","options","aliases","components","directives","scope","run","defaults","display","ssr","theme","icons","locale","date","goTo","install","app","key","directive","component","name","aliasName","appScope","onUnmount","stop","provide","instance","$nuxt","hook","update","mount","vm","__VUE_OPTIONS_API__","mixin","computed","$vuetify","inject","call","unmount","version","$","provides","parent","vnode","appContext"],"sources":["../src/framework.ts"],"sourcesContent":["// Composables\nimport { createDate, DateAdapterSymbol, DateOptionsSymbol } from '@/composables/date/date'\nimport { createDefaults, DefaultsSymbol } from '@/composables/defaults'\nimport { createDisplay, DisplaySymbol } from '@/composables/display'\nimport { createGoTo, GoToSymbol } from '@/composables/goto'\nimport { createIcons, IconSymbol } from '@/composables/icons'\nimport { createLocale, LocaleSymbol } from '@/composables/locale'\nimport { createTheme, ThemeSymbol } from '@/composables/theme'\n\n// Utilities\nimport { effectScope, nextTick, reactive } from 'vue'\nimport { defineComponent, IN_BROWSER, mergeDeep } from '@/util'\n\n// Types\nimport type { App, ComponentPublicInstance, InjectionKey } from 'vue'\nimport type { DateOptions } from '@/composables/date'\nimport type { DefaultsOptions } from '@/composables/defaults'\nimport type { DisplayOptions, SSROptions } from '@/composables/display'\nimport type { GoToOptions } from '@/composables/goto'\nimport type { IconOptions } from '@/composables/icons'\nimport type { LocaleOptions, RtlOptions } from '@/composables/locale'\nimport type { ThemeOptions } from '@/composables/theme'\n\n// Exports\nexport * from './composables'\nexport * from './types'\n\nexport interface VuetifyOptions {\n aliases?: Record<string, any>\n blueprint?: Blueprint\n components?: Record<string, any>\n date?: DateOptions\n directives?: Record<string, any>\n defaults?: DefaultsOptions\n display?: DisplayOptions\n goTo?: GoToOptions\n theme?: ThemeOptions\n icons?: IconOptions\n locale?: LocaleOptions & RtlOptions\n ssr?: SSROptions\n}\n\nexport interface Blueprint extends Omit<VuetifyOptions, 'blueprint'> {}\n\nexport function createVuetify (vuetify: VuetifyOptions = {}) {\n const { blueprint, ...rest } = vuetify\n const options: VuetifyOptions = mergeDeep(blueprint, rest)\n const {\n aliases = {},\n components = {},\n directives = {},\n } = options\n\n const scope = effectScope()\n return scope.run(() => {\n const defaults = createDefaults(options.defaults)\n const display = createDisplay(options.display, options.ssr)\n const theme = createTheme(options.theme)\n const icons = createIcons(options.icons)\n const locale = createLocale(options.locale)\n const date = createDate(options.date, locale)\n const goTo = createGoTo(options.goTo, locale)\n\n function install (app: App) {\n for (const key in directives) {\n app.directive(key, directives[key])\n }\n\n for (const key in components) {\n app.component(key, components[key])\n }\n\n for (const key in aliases) {\n app.component(key, defineComponent({\n ...aliases[key],\n name: key,\n aliasName: aliases[key].name,\n }))\n }\n\n const appScope = effectScope()\n appScope.run(() => {\n theme.install(app)\n })\n app.onUnmount(() => appScope.stop())\n\n app.provide(DefaultsSymbol, defaults)\n app.provide(DisplaySymbol, display)\n app.provide(ThemeSymbol, theme)\n app.provide(IconSymbol, icons)\n app.provide(LocaleSymbol, locale)\n app.provide(DateOptionsSymbol, date.options)\n app.provide(DateAdapterSymbol, date.instance)\n app.provide(GoToSymbol, goTo)\n\n if (IN_BROWSER && options.ssr) {\n if (app.$nuxt) {\n app.$nuxt.hook('app:suspense:resolve', () => {\n display.update()\n })\n } else {\n const { mount } = app\n app.mount = (...args) => {\n const vm = mount(...args)\n nextTick(() => display.update())\n app.mount = mount\n return vm\n }\n }\n }\n\n if (typeof __VUE_OPTIONS_API__ !== 'boolean' || __VUE_OPTIONS_API__) {\n app.mixin({\n computed: {\n $vuetify () {\n return reactive({\n defaults: inject.call(this, DefaultsSymbol),\n display: inject.call(this, DisplaySymbol),\n theme: inject.call(this, ThemeSymbol),\n icons: inject.call(this, IconSymbol),\n locale: inject.call(this, LocaleSymbol),\n date: inject.call(this, DateAdapterSymbol),\n })\n },\n },\n })\n }\n }\n\n function unmount () {\n scope.stop()\n }\n\n return {\n install,\n unmount,\n defaults,\n display,\n theme,\n icons,\n locale,\n date,\n goTo,\n }\n })!\n}\n\nexport const version = __VUETIFY_VERSION__\ncreateVuetify.version = version\n\n// Vue's inject() can only be used in setup\nfunction inject (this: ComponentPublicInstance, key: InjectionKey<any> | string) {\n const vm = this.$\n\n const provides = vm.parent?.provides ?? vm.vnode.appContext?.provides\n\n if (provides && (key as any) in provides) {\n return provides[(key as string)]\n }\n}\n"],"mappings":"AAAA;AAAA,SACSA,UAAU,EAAEC,iBAAiB,EAAEC,iBAAiB;AAAA,SAChDC,cAAc,EAAEC,cAAc;AAAA,SAC9BC,aAAa,EAAEC,aAAa;AAAA,SAC5BC,UAAU,EAAEC,UAAU;AAAA,SACtBC,WAAW,EAAEC,UAAU;AAAA,SACvBC,YAAY,EAAEC,YAAY;AAAA,SAC1BC,WAAW,EAAEC,WAAW,kCAEjC;AACA,SAASC,WAAW,EAAEC,QAAQ,EAAEC,QAAQ,QAAQ,KAAK;AAAA,SAC5CC,eAAe,EAAEC,UAAU,EAAEC,SAAS,2BAE/C;AAUA;AAAA;AAAA;AAqBA,OAAO,SAASC,aAAaA,CAAA,EAAgC;EAAA,IAA9BC,OAAuB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACzD,MAAM;IAAEG,SAAS;IAAE,GAAGC;EAAK,CAAC,GAAGL,OAAO;EACtC,MAAMM,OAAuB,GAAGR,SAAS,CAACM,SAAS,EAAEC,IAAI,CAAC;EAC1D,MAAM;IACJE,OAAO,GAAG,CAAC,CAAC;IACZC,UAAU,GAAG,CAAC,CAAC;IACfC,UAAU,GAAG,CAAC;EAChB,CAAC,GAAGH,OAAO;EAEX,MAAMI,KAAK,GAAGjB,WAAW,CAAC,CAAC;EAC3B,OAAOiB,KAAK,CAACC,GAAG,CAAC,MAAM;IACrB,MAAMC,QAAQ,GAAG/B,cAAc,CAACyB,OAAO,CAACM,QAAQ,CAAC;IACjD,MAAMC,OAAO,GAAG9B,aAAa,CAACuB,OAAO,CAACO,OAAO,EAAEP,OAAO,CAACQ,GAAG,CAAC;IAC3D,MAAMC,KAAK,GAAGxB,WAAW,CAACe,OAAO,CAACS,KAAK,CAAC;IACxC,MAAMC,KAAK,GAAG7B,WAAW,CAACmB,OAAO,CAACU,KAAK,CAAC;IACxC,MAAMC,MAAM,GAAG5B,YAAY,CAACiB,OAAO,CAACW,MAAM,CAAC;IAC3C,MAAMC,IAAI,GAAGxC,UAAU,CAAC4B,OAAO,CAACY,IAAI,EAAED,MAAM,CAAC;IAC7C,MAAME,IAAI,GAAGlC,UAAU,CAACqB,OAAO,CAACa,IAAI,EAAEF,MAAM,CAAC;IAE7C,SAASG,OAAOA,CAAEC,GAAQ,EAAE;MAC1B,KAAK,MAAMC,GAAG,IAAIb,UAAU,EAAE;QAC5BY,GAAG,CAACE,SAAS,CAACD,GAAG,EAAEb,UAAU,CAACa,GAAG,CAAC,CAAC;MACrC;MAEA,KAAK,MAAMA,GAAG,IAAId,UAAU,EAAE;QAC5Ba,GAAG,CAACG,SAAS,CAACF,GAAG,EAAEd,UAAU,CAACc,GAAG,CAAC,CAAC;MACrC;MAEA,KAAK,MAAMA,GAAG,IAAIf,OAAO,EAAE;QACzBc,GAAG,CAACG,SAAS,CAACF,GAAG,EAAE1B,eAAe,CAAC;UACjC,GAAGW,OAAO,CAACe,GAAG,CAAC;UACfG,IAAI,EAAEH,GAAG;UACTI,SAAS,EAAEnB,OAAO,CAACe,GAAG,CAAC,CAACG;QAC1B,CAAC,CAAC,CAAC;MACL;MAEA,MAAME,QAAQ,GAAGlC,WAAW,CAAC,CAAC;MAC9BkC,QAAQ,CAAChB,GAAG,CAAC,MAAM;QACjBI,KAAK,CAACK,OAAO,CAACC,GAAG,CAAC;MACpB,CAAC,CAAC;MACFA,GAAG,CAACO,SAAS,CAAC,MAAMD,QAAQ,CAACE,IAAI,CAAC,CAAC,CAAC;MAEpCR,GAAG,CAACS,OAAO,CAAChD,cAAc,EAAE8B,QAAQ,CAAC;MACrCS,GAAG,CAACS,OAAO,CAAC9C,aAAa,EAAE6B,OAAO,CAAC;MACnCQ,GAAG,CAACS,OAAO,CAACtC,WAAW,EAAEuB,KAAK,CAAC;MAC/BM,GAAG,CAACS,OAAO,CAAC1C,UAAU,EAAE4B,KAAK,CAAC;MAC9BK,GAAG,CAACS,OAAO,CAACxC,YAAY,EAAE2B,MAAM,CAAC;MACjCI,GAAG,CAACS,OAAO,CAAClD,iBAAiB,EAAEsC,IAAI,CAACZ,OAAO,CAAC;MAC5Ce,GAAG,CAACS,OAAO,CAACnD,iBAAiB,EAAEuC,IAAI,CAACa,QAAQ,CAAC;MAC7CV,GAAG,CAACS,OAAO,CAAC5C,UAAU,EAAEiC,IAAI,CAAC;MAE7B,IAAItB,UAAU,IAAIS,OAAO,CAACQ,GAAG,EAAE;QAC7B,IAAIO,GAAG,CAACW,KAAK,EAAE;UACbX,GAAG,CAACW,KAAK,CAACC,IAAI,CAAC,sBAAsB,EAAE,MAAM;YAC3CpB,OAAO,CAACqB,MAAM,CAAC,CAAC;UAClB,CAAC,CAAC;QACJ,CAAC,MAAM;UACL,MAAM;YAAEC;UAAM,CAAC,GAAGd,GAAG;UACrBA,GAAG,CAACc,KAAK,GAAG,YAAa;YACvB,MAAMC,EAAE,GAAGD,KAAK,CAAC,GAAAlC,SAAO,CAAC;YACzBP,QAAQ,CAAC,MAAMmB,OAAO,CAACqB,MAAM,CAAC,CAAC,CAAC;YAChCb,GAAG,CAACc,KAAK,GAAGA,KAAK;YACjB,OAAOC,EAAE;UACX,CAAC;QACH;MACF;MAEA,IAAI,OAAOC,mBAAmB,KAAK,SAAS,IAAIA,mBAAmB,EAAE;QACnEhB,GAAG,CAACiB,KAAK,CAAC;UACRC,QAAQ,EAAE;YACRC,QAAQA,CAAA,EAAI;cACV,OAAO7C,QAAQ,CAAC;gBACdiB,QAAQ,EAAE6B,MAAM,CAACC,IAAI,CAAC,IAAI,EAAE5D,cAAc,CAAC;gBAC3C+B,OAAO,EAAE4B,MAAM,CAACC,IAAI,CAAC,IAAI,EAAE1D,aAAa,CAAC;gBACzC+B,KAAK,EAAE0B,MAAM,CAACC,IAAI,CAAC,IAAI,EAAElD,WAAW,CAAC;gBACrCwB,KAAK,EAAEyB,MAAM,CAACC,IAAI,CAAC,IAAI,EAAEtD,UAAU,CAAC;gBACpC6B,MAAM,EAAEwB,MAAM,CAACC,IAAI,CAAC,IAAI,EAAEpD,YAAY,CAAC;gBACvC4B,IAAI,EAAEuB,MAAM,CAACC,IAAI,CAAC,IAAI,EAAE/D,iBAAiB;cAC3C,CAAC,CAAC;YACJ;UACF;QACF,CAAC,CAAC;MACJ;IACF;IAEA,SAASgE,OAAOA,CAAA,EAAI;MAClBjC,KAAK,CAACmB,IAAI,CAAC,CAAC;IACd;IAEA,OAAO;MACLT,OAAO;MACPuB,OAAO;MACP/B,QAAQ;MACRC,OAAO;MACPE,KAAK;MACLC,KAAK;MACLC,MAAM;MACNC,IAAI;MACJC;IACF,CAAC;EACH,CAAC,CAAC;AACJ;AAEA,OAAO,MAAMyB,OAAO,UAAsB;AAC1C7C,aAAa,CAAC6C,OAAO,GAAGA,OAAO;;AAE/B;AACA,SAASH,MAAMA,CAAiCnB,GAA+B,EAAE;EAC/E,MAAMc,EAAE,GAAG,IAAI,CAACS,CAAC;EAEjB,MAAMC,QAAQ,GAAGV,EAAE,CAACW,MAAM,EAAED,QAAQ,IAAIV,EAAE,CAACY,KAAK,CAACC,UAAU,EAAEH,QAAQ;EAErE,IAAIA,QAAQ,IAAKxB,GAAG,IAAYwB,QAAQ,EAAE;IACxC,OAAOA,QAAQ,CAAExB,GAAG,CAAY;EAClC;AACF","ignoreList":[]}
@@ -45,7 +45,18 @@ const aliases = {
45
45
  treeviewExpand: 'fas fa-caret-right',
46
46
  eyeDropper: 'fas fa-eye-dropper',
47
47
  upload: 'fas fa-cloud-upload-alt',
48
- color: 'fas fa-palette'
48
+ color: 'fas fa-palette',
49
+ command: 'fas fa-keyboard',
50
+ ctrl: 'fas fa-keyboard',
51
+ shift: 'fas fa-arrow-up',
52
+ alt: 'fas fa-keyboard',
53
+ space: 'fas fa-square',
54
+ enter: 'fas fa-reply',
55
+ arrowup: 'fas fa-arrow-up',
56
+ arrowdown: 'fas fa-arrow-down',
57
+ arrowleft: 'fas fa-arrow-left',
58
+ arrowright: 'fas fa-arrow-right',
59
+ backspace: 'fas fa-backspace'
49
60
  };
50
61
  const fa = {
51
62
  component: VClassIcon
@@ -1 +1 @@
1
- {"version":3,"file":"fa.js","names":["VClassIcon","aliases","collapse","complete","cancel","close","delete","clear","success","info","warning","error","prev","next","checkboxOn","checkboxOff","checkboxIndeterminate","delimiter","sortAsc","sortDesc","expand","menu","subgroup","dropdown","radioOn","radioOff","edit","ratingEmpty","ratingFull","ratingHalf","loading","first","last","unfold","file","plus","minus","calendar","treeviewCollapse","treeviewExpand","eyeDropper","upload","color","fa","component"],"sources":["../../src/iconsets/fa.ts"],"sourcesContent":["// Composables\nimport { VClassIcon } from '@/composables/icons'\n\n// Types\nimport type { IconAliases, IconSet } from '@/composables/icons'\n\nconst aliases: IconAliases = {\n collapse: 'fas fa-chevron-up',\n complete: 'fas fa-check',\n cancel: 'fas fa-times-circle',\n close: 'fas fa-times',\n delete: 'fas fa-times-circle', // delete (e.g. v-chip close)\n clear: 'fas fa-times-circle', // delete (e.g. v-chip close)\n success: 'fas fa-check-circle',\n info: 'fas fa-info-circle',\n warning: 'fas fa-exclamation',\n error: 'fas fa-exclamation-triangle',\n prev: 'fas fa-chevron-left',\n next: 'fas fa-chevron-right',\n checkboxOn: 'fas fa-check-square',\n checkboxOff: 'far fa-square', // note 'far'\n checkboxIndeterminate: 'fas fa-minus-square',\n delimiter: 'fas fa-circle', // for carousel\n sortAsc: 'fas fa-arrow-up',\n sortDesc: 'fas fa-arrow-down',\n expand: 'fas fa-chevron-down',\n menu: 'fas fa-bars',\n subgroup: 'fas fa-caret-down',\n dropdown: 'fas fa-caret-down',\n radioOn: 'far fa-dot-circle',\n radioOff: 'far fa-circle',\n edit: 'fas fa-edit',\n ratingEmpty: 'far fa-star',\n ratingFull: 'fas fa-star',\n ratingHalf: 'fas fa-star-half',\n loading: 'fas fa-sync',\n first: 'fas fa-step-backward',\n last: 'fas fa-step-forward',\n unfold: 'fas fa-arrows-alt-v',\n file: 'fas fa-paperclip',\n plus: 'fas fa-plus',\n minus: 'fas fa-minus',\n calendar: 'fas fa-calendar',\n treeviewCollapse: 'fas fa-caret-down',\n treeviewExpand: 'fas fa-caret-right',\n eyeDropper: 'fas fa-eye-dropper',\n upload: 'fas fa-cloud-upload-alt',\n color: 'fas fa-palette',\n}\n\nconst fa: IconSet = {\n component: VClassIcon,\n}\n\nexport { aliases, fa }\n"],"mappings":"AAAA;AAAA,SACSA,UAAU,mCAEnB;AAGA,MAAMC,OAAoB,GAAG;EAC3BC,QAAQ,EAAE,mBAAmB;EAC7BC,QAAQ,EAAE,cAAc;EACxBC,MAAM,EAAE,qBAAqB;EAC7BC,KAAK,EAAE,cAAc;EACrBC,MAAM,EAAE,qBAAqB;EAAE;EAC/BC,KAAK,EAAE,qBAAqB;EAAE;EAC9BC,OAAO,EAAE,qBAAqB;EAC9BC,IAAI,EAAE,oBAAoB;EAC1BC,OAAO,EAAE,oBAAoB;EAC7BC,KAAK,EAAE,6BAA6B;EACpCC,IAAI,EAAE,qBAAqB;EAC3BC,IAAI,EAAE,sBAAsB;EAC5BC,UAAU,EAAE,qBAAqB;EACjCC,WAAW,EAAE,eAAe;EAAE;EAC9BC,qBAAqB,EAAE,qBAAqB;EAC5CC,SAAS,EAAE,eAAe;EAAE;EAC5BC,OAAO,EAAE,iBAAiB;EAC1BC,QAAQ,EAAE,mBAAmB;EAC7BC,MAAM,EAAE,qBAAqB;EAC7BC,IAAI,EAAE,aAAa;EACnBC,QAAQ,EAAE,mBAAmB;EAC7BC,QAAQ,EAAE,mBAAmB;EAC7BC,OAAO,EAAE,mBAAmB;EAC5BC,QAAQ,EAAE,eAAe;EACzBC,IAAI,EAAE,aAAa;EACnBC,WAAW,EAAE,aAAa;EAC1BC,UAAU,EAAE,aAAa;EACzBC,UAAU,EAAE,kBAAkB;EAC9BC,OAAO,EAAE,aAAa;EACtBC,KAAK,EAAE,sBAAsB;EAC7BC,IAAI,EAAE,qBAAqB;EAC3BC,MAAM,EAAE,qBAAqB;EAC7BC,IAAI,EAAE,kBAAkB;EACxBC,IAAI,EAAE,aAAa;EACnBC,KAAK,EAAE,cAAc;EACrBC,QAAQ,EAAE,iBAAiB;EAC3BC,gBAAgB,EAAE,mBAAmB;EACrCC,cAAc,EAAE,oBAAoB;EACpCC,UAAU,EAAE,oBAAoB;EAChCC,MAAM,EAAE,yBAAyB;EACjCC,KAAK,EAAE;AACT,CAAC;AAED,MAAMC,EAAW,GAAG;EAClBC,SAAS,EAAE5C;AACb,CAAC;AAED,SAASC,OAAO,EAAE0C,EAAE","ignoreList":[]}
1
+ {"version":3,"file":"fa.js","names":["VClassIcon","aliases","collapse","complete","cancel","close","delete","clear","success","info","warning","error","prev","next","checkboxOn","checkboxOff","checkboxIndeterminate","delimiter","sortAsc","sortDesc","expand","menu","subgroup","dropdown","radioOn","radioOff","edit","ratingEmpty","ratingFull","ratingHalf","loading","first","last","unfold","file","plus","minus","calendar","treeviewCollapse","treeviewExpand","eyeDropper","upload","color","command","ctrl","shift","alt","space","enter","arrowup","arrowdown","arrowleft","arrowright","backspace","fa","component"],"sources":["../../src/iconsets/fa.ts"],"sourcesContent":["// Composables\nimport { VClassIcon } from '@/composables/icons'\n\n// Types\nimport type { IconAliases, IconSet } from '@/composables/icons'\n\nconst aliases: IconAliases = {\n collapse: 'fas fa-chevron-up',\n complete: 'fas fa-check',\n cancel: 'fas fa-times-circle',\n close: 'fas fa-times',\n delete: 'fas fa-times-circle', // delete (e.g. v-chip close)\n clear: 'fas fa-times-circle', // delete (e.g. v-chip close)\n success: 'fas fa-check-circle',\n info: 'fas fa-info-circle',\n warning: 'fas fa-exclamation',\n error: 'fas fa-exclamation-triangle',\n prev: 'fas fa-chevron-left',\n next: 'fas fa-chevron-right',\n checkboxOn: 'fas fa-check-square',\n checkboxOff: 'far fa-square', // note 'far'\n checkboxIndeterminate: 'fas fa-minus-square',\n delimiter: 'fas fa-circle', // for carousel\n sortAsc: 'fas fa-arrow-up',\n sortDesc: 'fas fa-arrow-down',\n expand: 'fas fa-chevron-down',\n menu: 'fas fa-bars',\n subgroup: 'fas fa-caret-down',\n dropdown: 'fas fa-caret-down',\n radioOn: 'far fa-dot-circle',\n radioOff: 'far fa-circle',\n edit: 'fas fa-edit',\n ratingEmpty: 'far fa-star',\n ratingFull: 'fas fa-star',\n ratingHalf: 'fas fa-star-half',\n loading: 'fas fa-sync',\n first: 'fas fa-step-backward',\n last: 'fas fa-step-forward',\n unfold: 'fas fa-arrows-alt-v',\n file: 'fas fa-paperclip',\n plus: 'fas fa-plus',\n minus: 'fas fa-minus',\n calendar: 'fas fa-calendar',\n treeviewCollapse: 'fas fa-caret-down',\n treeviewExpand: 'fas fa-caret-right',\n eyeDropper: 'fas fa-eye-dropper',\n upload: 'fas fa-cloud-upload-alt',\n color: 'fas fa-palette',\n command: 'fas fa-keyboard',\n ctrl: 'fas fa-keyboard',\n shift: 'fas fa-arrow-up',\n alt: 'fas fa-keyboard',\n space: 'fas fa-square',\n enter: 'fas fa-reply',\n arrowup: 'fas fa-arrow-up',\n arrowdown: 'fas fa-arrow-down',\n arrowleft: 'fas fa-arrow-left',\n arrowright: 'fas fa-arrow-right',\n backspace: 'fas fa-backspace',\n}\n\nconst fa: IconSet = {\n component: VClassIcon,\n}\n\nexport { aliases, fa }\n"],"mappings":"AAAA;AAAA,SACSA,UAAU,mCAEnB;AAGA,MAAMC,OAAoB,GAAG;EAC3BC,QAAQ,EAAE,mBAAmB;EAC7BC,QAAQ,EAAE,cAAc;EACxBC,MAAM,EAAE,qBAAqB;EAC7BC,KAAK,EAAE,cAAc;EACrBC,MAAM,EAAE,qBAAqB;EAAE;EAC/BC,KAAK,EAAE,qBAAqB;EAAE;EAC9BC,OAAO,EAAE,qBAAqB;EAC9BC,IAAI,EAAE,oBAAoB;EAC1BC,OAAO,EAAE,oBAAoB;EAC7BC,KAAK,EAAE,6BAA6B;EACpCC,IAAI,EAAE,qBAAqB;EAC3BC,IAAI,EAAE,sBAAsB;EAC5BC,UAAU,EAAE,qBAAqB;EACjCC,WAAW,EAAE,eAAe;EAAE;EAC9BC,qBAAqB,EAAE,qBAAqB;EAC5CC,SAAS,EAAE,eAAe;EAAE;EAC5BC,OAAO,EAAE,iBAAiB;EAC1BC,QAAQ,EAAE,mBAAmB;EAC7BC,MAAM,EAAE,qBAAqB;EAC7BC,IAAI,EAAE,aAAa;EACnBC,QAAQ,EAAE,mBAAmB;EAC7BC,QAAQ,EAAE,mBAAmB;EAC7BC,OAAO,EAAE,mBAAmB;EAC5BC,QAAQ,EAAE,eAAe;EACzBC,IAAI,EAAE,aAAa;EACnBC,WAAW,EAAE,aAAa;EAC1BC,UAAU,EAAE,aAAa;EACzBC,UAAU,EAAE,kBAAkB;EAC9BC,OAAO,EAAE,aAAa;EACtBC,KAAK,EAAE,sBAAsB;EAC7BC,IAAI,EAAE,qBAAqB;EAC3BC,MAAM,EAAE,qBAAqB;EAC7BC,IAAI,EAAE,kBAAkB;EACxBC,IAAI,EAAE,aAAa;EACnBC,KAAK,EAAE,cAAc;EACrBC,QAAQ,EAAE,iBAAiB;EAC3BC,gBAAgB,EAAE,mBAAmB;EACrCC,cAAc,EAAE,oBAAoB;EACpCC,UAAU,EAAE,oBAAoB;EAChCC,MAAM,EAAE,yBAAyB;EACjCC,KAAK,EAAE,gBAAgB;EACvBC,OAAO,EAAE,iBAAiB;EAC1BC,IAAI,EAAE,iBAAiB;EACvBC,KAAK,EAAE,iBAAiB;EACxBC,GAAG,EAAE,iBAAiB;EACtBC,KAAK,EAAE,eAAe;EACtBC,KAAK,EAAE,cAAc;EACrBC,OAAO,EAAE,iBAAiB;EAC1BC,SAAS,EAAE,mBAAmB;EAC9BC,SAAS,EAAE,mBAAmB;EAC9BC,UAAU,EAAE,oBAAoB;EAChCC,SAAS,EAAE;AACb,CAAC;AAED,MAAMC,EAAW,GAAG;EAClBC,SAAS,EAAEvD;AACb,CAAC;AAED,SAASC,OAAO,EAAEqD,EAAE","ignoreList":[]}
@@ -48,7 +48,18 @@ const aliases = {
48
48
  treeviewExpand: 'fa-caret-right',
49
49
  eyeDropper: 'fa-eye-dropper',
50
50
  upload: 'fa-cloud-upload',
51
- color: 'fa-paint-brush'
51
+ color: 'fa-paint-brush',
52
+ command: 'fa-keyboard-o',
53
+ ctrl: 'fa-keyboard-o',
54
+ shift: 'fa-arrow-up',
55
+ alt: 'fa-keyboard-o',
56
+ space: 'fa-square-o',
57
+ enter: 'fa-reply',
58
+ arrowup: 'fa-arrow-up',
59
+ arrowdown: 'fa-arrow-down',
60
+ arrowleft: 'fa-arrow-left',
61
+ arrowright: 'fa-arrow-right',
62
+ backspace: 'fa-undo'
52
63
  };
53
64
  const fa = {
54
65
  // Not using mergeProps here, functional components merge props by default (?)