vuetify 3.3.12 → 3.4.0-alpha.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 (267) hide show
  1. package/dist/json/attributes.json +152 -16
  2. package/dist/json/importMap.json +4 -4
  3. package/dist/json/tags.json +34 -0
  4. package/dist/json/web-types.json +462 -48
  5. package/dist/vuetify-labs.css +1718 -606
  6. package/dist/vuetify-labs.d.ts +880 -276
  7. package/dist/vuetify-labs.esm.js +373 -189
  8. package/dist/vuetify-labs.esm.js.map +1 -1
  9. package/dist/vuetify-labs.js +372 -188
  10. package/dist/vuetify-labs.min.css +2 -2
  11. package/dist/vuetify.css +1591 -479
  12. package/dist/vuetify.d.ts +865 -267
  13. package/dist/vuetify.esm.js +373 -189
  14. package/dist/vuetify.esm.js.map +1 -1
  15. package/dist/vuetify.js +372 -188
  16. package/dist/vuetify.js.map +1 -1
  17. package/dist/vuetify.min.css +2 -2
  18. package/dist/vuetify.min.js +920 -905
  19. package/dist/vuetify.min.js.map +1 -1
  20. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  21. package/lib/components/VAppBar/index.d.mts +6 -6
  22. package/lib/components/VAutocomplete/VAutocomplete.mjs +6 -2
  23. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  24. package/lib/components/VAutocomplete/index.d.mts +62 -14
  25. package/lib/components/VAvatar/VAvatar.mjs +2 -1
  26. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  27. package/lib/components/VAvatar/index.d.mts +6 -0
  28. package/lib/components/VBanner/VBanner.mjs +5 -3
  29. package/lib/components/VBanner/VBanner.mjs.map +1 -1
  30. package/lib/components/VBanner/index.d.mts +10 -0
  31. package/lib/components/VBottomNavigation/VBottomNavigation.css +1 -0
  32. package/lib/components/VBottomNavigation/VBottomNavigation.sass +1 -0
  33. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +9 -4
  34. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
  35. package/lib/components/VBreadcrumbs/index.d.mts +28 -2
  36. package/lib/components/VBtn/VBtn.css +3 -0
  37. package/lib/components/VBtn/VBtn.sass +3 -0
  38. package/lib/components/VCarousel/index.d.mts +26 -0
  39. package/lib/components/VCheckbox/VCheckbox.mjs +2 -2
  40. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  41. package/lib/components/VCheckbox/VCheckboxBtn.mjs +14 -11
  42. package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
  43. package/lib/components/VCheckbox/index.d.mts +15 -1
  44. package/lib/components/VColorPicker/VColorPickerEdit.css +4 -2
  45. package/lib/components/VColorPicker/VColorPickerPreview.css +16 -6
  46. package/lib/components/VColorPicker/VColorPickerPreview.mjs +28 -2
  47. package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
  48. package/lib/components/VColorPicker/VColorPickerPreview.sass +4 -0
  49. package/lib/components/VColorPicker/_variables.scss +1 -0
  50. package/lib/components/VCombobox/VCombobox.mjs +6 -2
  51. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  52. package/lib/components/VCombobox/index.d.mts +62 -14
  53. package/lib/components/VDialog/index.d.mts +41 -20
  54. package/lib/components/VField/VField.css +11 -6
  55. package/lib/components/VField/VField.mjs +5 -3
  56. package/lib/components/VField/VField.mjs.map +1 -1
  57. package/lib/components/VField/VField.sass +1 -0
  58. package/lib/components/VField/index.d.mts +4 -4
  59. package/lib/components/VFileInput/VFileInput.css +4 -0
  60. package/lib/components/VFileInput/VFileInput.sass +5 -1
  61. package/lib/components/VFileInput/_variables.scss +2 -1
  62. package/lib/components/VFileInput/index.d.mts +4 -4
  63. package/lib/components/VGrid/VGrid.css +153 -142
  64. package/lib/components/VImg/VImg.mjs +13 -1
  65. package/lib/components/VImg/VImg.mjs.map +1 -1
  66. package/lib/components/VImg/index.d.mts +26 -0
  67. package/lib/components/VList/VList.css +1 -1
  68. package/lib/components/VList/VList.sass +1 -1
  69. package/lib/components/VList/VListItem.css +15 -10
  70. package/lib/components/VList/VListItem.mjs +6 -3
  71. package/lib/components/VList/VListItem.mjs.map +1 -1
  72. package/lib/components/VList/VListItem.sass +17 -10
  73. package/lib/components/VList/index.d.mts +12 -12
  74. package/lib/components/VMenu/VMenu.mjs +4 -3
  75. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  76. package/lib/components/VMenu/index.d.mts +46 -25
  77. package/lib/components/VNavigationDrawer/VNavigationDrawer.css +0 -1
  78. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +5 -3
  79. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  80. package/lib/components/VNavigationDrawer/VNavigationDrawer.sass +0 -1
  81. package/lib/components/VNavigationDrawer/_variables.scss +0 -1
  82. package/lib/components/VNavigationDrawer/index.d.mts +10 -0
  83. package/lib/components/VOverlay/VOverlay.mjs +9 -4
  84. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  85. package/lib/components/VOverlay/index.d.mts +17 -8
  86. package/lib/components/VOverlay/locationStrategies.mjs +9 -9
  87. package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
  88. package/lib/components/VOverlay/scrollStrategies.mjs +3 -3
  89. package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
  90. package/lib/components/VOverlay/useActivator.mjs +50 -21
  91. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  92. package/lib/components/VProgressLinear/VProgressLinear.css +3 -2
  93. package/lib/components/VRadio/index.d.mts +9 -1
  94. package/lib/components/VRadioGroup/VRadioGroup.css +6 -1
  95. package/lib/components/VRadioGroup/VRadioGroup.mjs +2 -2
  96. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  97. package/lib/components/VRadioGroup/VRadioGroup.sass +5 -0
  98. package/lib/components/VRadioGroup/_variables.scss +3 -1
  99. package/lib/components/VRadioGroup/index.d.mts +3 -1
  100. package/lib/components/VRangeSlider/VRangeSlider.mjs +4 -2
  101. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  102. package/lib/components/VRangeSlider/index.d.mts +128 -33
  103. package/lib/components/VSelect/VSelect.mjs +14 -2
  104. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  105. package/lib/components/VSelect/index.d.mts +62 -14
  106. package/lib/components/VSelectionControl/VSelectionControl.mjs +27 -21
  107. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  108. package/lib/components/VSelectionControl/index.d.mts +33 -25
  109. package/lib/components/VSlideGroup/VSlideGroup.mjs +5 -3
  110. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  111. package/lib/components/VSlideGroup/index.d.mts +10 -0
  112. package/lib/components/VSlider/VSlider.mjs +2 -1
  113. package/lib/components/VSlider/VSlider.mjs.map +1 -1
  114. package/lib/components/VSlider/VSliderThumb.css +8 -4
  115. package/lib/components/VSlider/VSliderTrack.css +22 -12
  116. package/lib/components/VSlider/index.d.mts +128 -33
  117. package/lib/components/VSlider/slider.mjs +5 -1
  118. package/lib/components/VSlider/slider.mjs.map +1 -1
  119. package/lib/components/VSnackbar/index.d.mts +41 -20
  120. package/lib/components/VSwitch/VSwitch.css +24 -17
  121. package/lib/components/VSwitch/VSwitch.mjs +37 -28
  122. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  123. package/lib/components/VSwitch/VSwitch.sass +20 -11
  124. package/lib/components/VSwitch/_variables.scss +18 -6
  125. package/lib/components/VSwitch/index.d.mts +9 -1
  126. package/lib/components/VTabs/index.d.mts +10 -0
  127. package/lib/components/VTextField/VTextField.css +9 -2
  128. package/lib/components/VTextField/VTextField.mjs +6 -3
  129. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  130. package/lib/components/VTextField/VTextField.sass +10 -3
  131. package/lib/components/VTextField/index.d.mts +22 -16
  132. package/lib/components/VTextarea/VTextarea.mjs +1 -2
  133. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  134. package/lib/components/VTextarea/index.d.mts +4 -4
  135. package/lib/components/VTimeline/VTimeline.css +21 -11
  136. package/lib/components/VTimeline/VTimeline.sass +6 -1
  137. package/lib/components/VToolbar/VToolbar.css +4 -2
  138. package/lib/components/VTooltip/index.d.mts +41 -20
  139. package/lib/components/index.d.mts +836 -265
  140. package/lib/components/transitions/dialog-transition.mjs +4 -3
  141. package/lib/components/transitions/dialog-transition.mjs.map +1 -1
  142. package/lib/components/transitions/index.d.mts +6 -6
  143. package/lib/composables/defaults.mjs +9 -9
  144. package/lib/composables/defaults.mjs.map +1 -1
  145. package/lib/composables/directiveComponent.mjs +69 -0
  146. package/lib/composables/directiveComponent.mjs.map +1 -0
  147. package/lib/composables/display.mjs +23 -3
  148. package/lib/composables/display.mjs.map +1 -1
  149. package/lib/composables/theme.mjs +7 -7
  150. package/lib/composables/theme.mjs.map +1 -1
  151. package/lib/entry-bundler.mjs +1 -1
  152. package/lib/entry-bundler.mjs.map +1 -1
  153. package/lib/framework.mjs +1 -1
  154. package/lib/framework.mjs.map +1 -1
  155. package/lib/iconsets/fa.mjs +2 -1
  156. package/lib/iconsets/fa.mjs.map +1 -1
  157. package/lib/iconsets/fa4.mjs +2 -1
  158. package/lib/iconsets/fa4.mjs.map +1 -1
  159. package/lib/iconsets/md.mjs +2 -1
  160. package/lib/iconsets/md.mjs.map +1 -1
  161. package/lib/iconsets/mdi-svg.mjs +2 -1
  162. package/lib/iconsets/mdi-svg.mjs.map +1 -1
  163. package/lib/iconsets/mdi.mjs +2 -1
  164. package/lib/iconsets/mdi.mjs.map +1 -1
  165. package/lib/index.d.mts +33 -2
  166. package/lib/labs/VBottomSheet/index.d.mts +14 -8
  167. package/lib/labs/VDateInput/index.d.mts +10 -4
  168. package/lib/labs/VDatePicker/VDatePickerControls.css +1 -1
  169. package/lib/labs/VOtpInput/index.d.mts +4 -4
  170. package/lib/labs/components.d.mts +18 -12
  171. package/lib/locale/af.mjs +1 -0
  172. package/lib/locale/af.mjs.map +1 -1
  173. package/lib/locale/ar.mjs +1 -0
  174. package/lib/locale/ar.mjs.map +1 -1
  175. package/lib/locale/az.mjs +1 -0
  176. package/lib/locale/az.mjs.map +1 -1
  177. package/lib/locale/bg.mjs +1 -0
  178. package/lib/locale/bg.mjs.map +1 -1
  179. package/lib/locale/ca.mjs +1 -0
  180. package/lib/locale/ca.mjs.map +1 -1
  181. package/lib/locale/ckb.mjs +1 -0
  182. package/lib/locale/ckb.mjs.map +1 -1
  183. package/lib/locale/cs.mjs +1 -0
  184. package/lib/locale/cs.mjs.map +1 -1
  185. package/lib/locale/da.mjs +1 -0
  186. package/lib/locale/da.mjs.map +1 -1
  187. package/lib/locale/de.mjs +1 -0
  188. package/lib/locale/de.mjs.map +1 -1
  189. package/lib/locale/el.mjs +1 -0
  190. package/lib/locale/el.mjs.map +1 -1
  191. package/lib/locale/en.mjs +1 -0
  192. package/lib/locale/en.mjs.map +1 -1
  193. package/lib/locale/es.mjs +1 -0
  194. package/lib/locale/es.mjs.map +1 -1
  195. package/lib/locale/et.mjs +1 -0
  196. package/lib/locale/et.mjs.map +1 -1
  197. package/lib/locale/fa.mjs +1 -0
  198. package/lib/locale/fa.mjs.map +1 -1
  199. package/lib/locale/fi.mjs +1 -0
  200. package/lib/locale/fi.mjs.map +1 -1
  201. package/lib/locale/fr.mjs +1 -0
  202. package/lib/locale/fr.mjs.map +1 -1
  203. package/lib/locale/he.mjs +1 -0
  204. package/lib/locale/he.mjs.map +1 -1
  205. package/lib/locale/hr.mjs +1 -0
  206. package/lib/locale/hr.mjs.map +1 -1
  207. package/lib/locale/hu.mjs +1 -0
  208. package/lib/locale/hu.mjs.map +1 -1
  209. package/lib/locale/id.mjs +1 -0
  210. package/lib/locale/id.mjs.map +1 -1
  211. package/lib/locale/index.d.mts +42 -0
  212. package/lib/locale/it.mjs +1 -0
  213. package/lib/locale/it.mjs.map +1 -1
  214. package/lib/locale/ja.mjs +1 -0
  215. package/lib/locale/ja.mjs.map +1 -1
  216. package/lib/locale/ko.mjs +1 -0
  217. package/lib/locale/ko.mjs.map +1 -1
  218. package/lib/locale/lt.mjs +1 -0
  219. package/lib/locale/lt.mjs.map +1 -1
  220. package/lib/locale/lv.mjs +1 -0
  221. package/lib/locale/lv.mjs.map +1 -1
  222. package/lib/locale/nl.mjs +1 -0
  223. package/lib/locale/nl.mjs.map +1 -1
  224. package/lib/locale/no.mjs +1 -0
  225. package/lib/locale/no.mjs.map +1 -1
  226. package/lib/locale/pl.mjs +1 -0
  227. package/lib/locale/pl.mjs.map +1 -1
  228. package/lib/locale/pt.mjs +1 -0
  229. package/lib/locale/pt.mjs.map +1 -1
  230. package/lib/locale/ro.mjs +1 -0
  231. package/lib/locale/ro.mjs.map +1 -1
  232. package/lib/locale/ru.mjs +1 -0
  233. package/lib/locale/ru.mjs.map +1 -1
  234. package/lib/locale/sk.mjs +1 -0
  235. package/lib/locale/sk.mjs.map +1 -1
  236. package/lib/locale/sl.mjs +1 -0
  237. package/lib/locale/sl.mjs.map +1 -1
  238. package/lib/locale/sr-Cyrl.mjs +1 -0
  239. package/lib/locale/sr-Cyrl.mjs.map +1 -1
  240. package/lib/locale/sr-Latn.mjs +1 -0
  241. package/lib/locale/sr-Latn.mjs.map +1 -1
  242. package/lib/locale/sv.mjs +1 -0
  243. package/lib/locale/sv.mjs.map +1 -1
  244. package/lib/locale/th.mjs +1 -0
  245. package/lib/locale/th.mjs.map +1 -1
  246. package/lib/locale/tr.mjs +1 -0
  247. package/lib/locale/tr.mjs.map +1 -1
  248. package/lib/locale/uk.mjs +1 -0
  249. package/lib/locale/uk.mjs.map +1 -1
  250. package/lib/locale/vi.mjs +1 -0
  251. package/lib/locale/vi.mjs.map +1 -1
  252. package/lib/locale/zh-Hans.mjs +1 -0
  253. package/lib/locale/zh-Hans.mjs.map +1 -1
  254. package/lib/locale/zh-Hant.mjs +1 -0
  255. package/lib/locale/zh-Hant.mjs.map +1 -1
  256. package/lib/styles/main.css +1026 -0
  257. package/lib/styles/settings/_utilities.scss +20 -0
  258. package/lib/styles/tools/_rtl.sass +4 -2
  259. package/lib/util/box.mjs +12 -0
  260. package/lib/util/box.mjs.map +1 -1
  261. package/lib/util/globals.mjs +1 -0
  262. package/lib/util/globals.mjs.map +1 -1
  263. package/lib/util/helpers.mjs +19 -5
  264. package/lib/util/helpers.mjs.map +1 -1
  265. package/lib/util/injectSelf.mjs +2 -1
  266. package/lib/util/injectSelf.mjs.map +1 -1
  267. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"VMenu.mjs","names":["VDialogTransition","VDefaultsProvider","VOverlay","makeVOverlayProps","forwardRefs","useProxiedModel","useScopeId","computed","inject","mergeProps","provide","ref","shallowRef","watch","VMenuSymbol","focusableChildren","focusChild","genericComponent","getNextElement","getUid","omit","propsFactory","useRender","makeVMenuProps","id","String","closeDelay","closeOnContentClick","locationStrategy","openDelay","scrim","scrollStrategy","transition","component","VMenu","name","props","emits","value","setup","_ref","slots","isActive","scopeId","uid","overlay","parent","openChildren","register","unregister","closeParents","setTimeout","onFocusIn","e","before","relatedTarget","after","target","contentEl","globalTop","document","includes","contains","focusable","focus","val","addEventListener","once","removeEventListener","onClickOutside","onKeydown","disabled","key","nextElement","shiftKey","el","tabIndex","activatorEl","onActivatorKeydown","preventDefault","activatorProps","overlayProps","filterProps","_createVNode","_mergeProps","class","style","$event","activator","default","_len","arguments","length","args","Array","_key","ΨopenChildren"],"sources":["../../../src/components/VMenu/VMenu.tsx"],"sourcesContent":["// Styles\nimport './VMenu.sass'\n\n// Components\nimport { VDialogTransition } from '@/components/transitions'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VOverlay } from '@/components/VOverlay'\nimport { makeVOverlayProps } from '@/components/VOverlay/VOverlay'\n\n// Composables\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useScopeId } from '@/composables/scopeId'\n\n// Utilities\nimport { computed, inject, mergeProps, provide, ref, shallowRef, watch } from 'vue'\nimport { VMenuSymbol } from './shared'\nimport { focusableChildren, focusChild, genericComponent, getNextElement, getUid, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { Component } from 'vue'\nimport type { OverlaySlots } from '@/components/VOverlay/VOverlay'\n\nexport const makeVMenuProps = propsFactory({\n // TODO\n // disableKeys: Boolean,\n id: String,\n\n ...omit(makeVOverlayProps({\n closeDelay: 250,\n closeOnContentClick: true,\n locationStrategy: 'connected' as const,\n openDelay: 300,\n scrim: false,\n scrollStrategy: 'reposition' as const,\n transition: { component: VDialogTransition as Component },\n }), ['absolute']),\n}, 'VMenu')\n\nexport const VMenu = genericComponent<OverlaySlots>()({\n name: 'VMenu',\n\n props: makeVMenuProps(),\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n const { scopeId } = useScopeId()\n\n const uid = getUid()\n const id = computed(() => props.id || `v-menu-${uid}`)\n\n const overlay = ref<VOverlay>()\n\n const parent = inject(VMenuSymbol, null)\n const openChildren = shallowRef(0)\n provide(VMenuSymbol, {\n register () {\n ++openChildren.value\n },\n unregister () {\n --openChildren.value\n },\n closeParents () {\n setTimeout(() => {\n if (!openChildren.value) {\n isActive.value = false\n parent?.closeParents()\n }\n }, 40)\n },\n })\n\n function onFocusIn (e: FocusEvent) {\n const before = e.relatedTarget as HTMLElement | null\n const after = e.target as HTMLElement | null\n\n if (\n before !== after &&\n overlay.value?.contentEl &&\n // We're the topmost menu\n overlay.value?.globalTop &&\n // It isn't the document or the menu body\n ![document, overlay.value.contentEl].includes(after!) &&\n // It isn't inside the menu body\n !overlay.value.contentEl.contains(after)\n ) {\n const focusable = focusableChildren(overlay.value.contentEl)\n focusable[0]?.focus()\n }\n }\n\n watch(isActive, val => {\n if (val) {\n parent?.register()\n document.addEventListener('focusin', onFocusIn, { once: true })\n } else {\n parent?.unregister()\n document.removeEventListener('focusin', onFocusIn)\n }\n })\n\n function onClickOutside () {\n parent?.closeParents()\n }\n\n function onKeydown (e: KeyboardEvent) {\n if (props.disabled) return\n\n if (e.key === 'Tab') {\n const nextElement = getNextElement(\n focusableChildren(overlay.value?.contentEl as Element, false),\n e.shiftKey ? 'prev' : 'next',\n (el: HTMLElement) => el.tabIndex >= 0\n )\n if (!nextElement) {\n isActive.value = false\n overlay.value?.activatorEl?.focus()\n }\n }\n }\n\n function onActivatorKeydown (e: KeyboardEvent) {\n if (props.disabled) return\n\n const el = overlay.value?.contentEl\n if (el && isActive.value) {\n if (e.key === 'ArrowDown') {\n e.preventDefault()\n focusChild(el, 'next')\n } else if (e.key === 'ArrowUp') {\n e.preventDefault()\n focusChild(el, 'prev')\n }\n } else if (['ArrowDown', 'ArrowUp'].includes(e.key)) {\n isActive.value = true\n e.preventDefault()\n setTimeout(() => setTimeout(() => onActivatorKeydown(e)))\n }\n }\n\n const activatorProps = computed(() =>\n mergeProps({\n 'aria-haspopup': 'menu',\n 'aria-expanded': String(isActive.value),\n 'aria-owns': id.value,\n onKeydown: onActivatorKeydown,\n }, props.activatorProps)\n )\n\n useRender(() => {\n const [overlayProps] = VOverlay.filterProps(props)\n\n return (\n <VOverlay\n ref={ overlay }\n class={[\n 'v-menu',\n props.class,\n ]}\n style={ props.style }\n { ...overlayProps }\n v-model={ isActive.value }\n absolute\n activatorProps={ activatorProps.value }\n onClick:outside={ onClickOutside }\n onKeydown={ onKeydown }\n { ...scopeId }\n >\n {{\n activator: slots.activator,\n default: (...args) => (\n <VDefaultsProvider root=\"VMenu\">\n { slots.default?.(...args) }\n </VDefaultsProvider>\n ),\n }}\n </VOverlay>\n )\n })\n\n return forwardRefs({ id, ΨopenChildren: openChildren }, overlay)\n },\n})\n\nexport type VMenu = InstanceType<typeof VMenu>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VMenu.mjs","names":["VDialogTransition","VDefaultsProvider","VOverlay","makeVOverlayProps","forwardRefs","useProxiedModel","useScopeId","computed","inject","mergeProps","nextTick","provide","ref","shallowRef","watch","VMenuSymbol","focusableChildren","focusChild","genericComponent","getNextElement","getUid","omit","propsFactory","useRender","makeVMenuProps","id","String","closeDelay","closeOnContentClick","locationStrategy","openDelay","scrim","scrollStrategy","transition","component","VMenu","name","props","emits","value","setup","_ref","slots","isActive","scopeId","uid","overlay","parent","openChildren","register","unregister","closeParents","setTimeout","onFocusIn","e","before","relatedTarget","after","target","contentEl","globalTop","document","includes","contains","focusable","focus","val","addEventListener","once","removeEventListener","onClickOutside","onKeydown","disabled","key","nextElement","shiftKey","el","tabIndex","activatorEl","onActivatorKeydown","preventDefault","activatorProps","overlayProps","filterProps","_createVNode","_mergeProps","class","style","$event","activator","default","_len","arguments","length","args","Array","_key","ΨopenChildren"],"sources":["../../../src/components/VMenu/VMenu.tsx"],"sourcesContent":["// Styles\nimport './VMenu.sass'\n\n// Components\nimport { VDialogTransition } from '@/components/transitions'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VOverlay } from '@/components/VOverlay'\nimport { makeVOverlayProps } from '@/components/VOverlay/VOverlay'\n\n// Composables\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useScopeId } from '@/composables/scopeId'\n\n// Utilities\nimport { computed, inject, mergeProps, nextTick, provide, ref, shallowRef, watch } from 'vue'\nimport { VMenuSymbol } from './shared'\nimport { focusableChildren, focusChild, genericComponent, getNextElement, getUid, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { Component } from 'vue'\nimport type { OverlaySlots } from '@/components/VOverlay/VOverlay'\n\nexport const makeVMenuProps = propsFactory({\n // TODO\n // disableKeys: Boolean,\n id: String,\n\n ...omit(makeVOverlayProps({\n closeDelay: 250,\n closeOnContentClick: true,\n locationStrategy: 'connected' as const,\n openDelay: 300,\n scrim: false,\n scrollStrategy: 'reposition' as const,\n transition: { component: VDialogTransition as Component },\n }), ['absolute']),\n}, 'VMenu')\n\nexport const VMenu = genericComponent<OverlaySlots>()({\n name: 'VMenu',\n\n props: makeVMenuProps(),\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n const { scopeId } = useScopeId()\n\n const uid = getUid()\n const id = computed(() => props.id || `v-menu-${uid}`)\n\n const overlay = ref<VOverlay>()\n\n const parent = inject(VMenuSymbol, null)\n const openChildren = shallowRef(0)\n provide(VMenuSymbol, {\n register () {\n ++openChildren.value\n },\n unregister () {\n --openChildren.value\n },\n closeParents () {\n setTimeout(() => {\n if (!openChildren.value) {\n isActive.value = false\n parent?.closeParents()\n }\n }, 40)\n },\n })\n\n async function onFocusIn (e: FocusEvent) {\n const before = e.relatedTarget as HTMLElement | null\n const after = e.target as HTMLElement | null\n\n await nextTick()\n\n if (\n isActive.value &&\n before !== after &&\n overlay.value?.contentEl &&\n // We're the topmost menu\n overlay.value?.globalTop &&\n // It isn't the document or the menu body\n ![document, overlay.value.contentEl].includes(after!) &&\n // It isn't inside the menu body\n !overlay.value.contentEl.contains(after)\n ) {\n const focusable = focusableChildren(overlay.value.contentEl)\n focusable[0]?.focus()\n }\n }\n\n watch(isActive, val => {\n if (val) {\n parent?.register()\n document.addEventListener('focusin', onFocusIn, { once: true })\n } else {\n parent?.unregister()\n document.removeEventListener('focusin', onFocusIn)\n }\n })\n\n function onClickOutside () {\n parent?.closeParents()\n }\n\n function onKeydown (e: KeyboardEvent) {\n if (props.disabled) return\n\n if (e.key === 'Tab') {\n const nextElement = getNextElement(\n focusableChildren(overlay.value?.contentEl as Element, false),\n e.shiftKey ? 'prev' : 'next',\n (el: HTMLElement) => el.tabIndex >= 0\n )\n if (!nextElement) {\n isActive.value = false\n overlay.value?.activatorEl?.focus()\n }\n }\n }\n\n function onActivatorKeydown (e: KeyboardEvent) {\n if (props.disabled) return\n\n const el = overlay.value?.contentEl\n if (el && isActive.value) {\n if (e.key === 'ArrowDown') {\n e.preventDefault()\n focusChild(el, 'next')\n } else if (e.key === 'ArrowUp') {\n e.preventDefault()\n focusChild(el, 'prev')\n }\n } else if (['ArrowDown', 'ArrowUp'].includes(e.key)) {\n isActive.value = true\n e.preventDefault()\n setTimeout(() => setTimeout(() => onActivatorKeydown(e)))\n }\n }\n\n const activatorProps = computed(() =>\n mergeProps({\n 'aria-haspopup': 'menu',\n 'aria-expanded': String(isActive.value),\n 'aria-owns': id.value,\n onKeydown: onActivatorKeydown,\n }, props.activatorProps)\n )\n\n useRender(() => {\n const [overlayProps] = VOverlay.filterProps(props)\n\n return (\n <VOverlay\n ref={ overlay }\n class={[\n 'v-menu',\n props.class,\n ]}\n style={ props.style }\n { ...overlayProps }\n v-model={ isActive.value }\n absolute\n activatorProps={ activatorProps.value }\n onClick:outside={ onClickOutside }\n onKeydown={ onKeydown }\n { ...scopeId }\n >\n {{\n activator: slots.activator,\n default: (...args) => (\n <VDefaultsProvider root=\"VMenu\">\n { slots.default?.(...args) }\n </VDefaultsProvider>\n ),\n }}\n </VOverlay>\n )\n })\n\n return forwardRefs({ id, ΨopenChildren: openChildren }, overlay)\n },\n})\n\nexport type VMenu = InstanceType<typeof VMenu>\n"],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import * as vue from 'vue';
2
- import { Ref, EffectScope, ComponentPropsOptions, ExtractPropTypes, Component } from 'vue';
2
+ import { Ref, EffectScope, ComponentPropsOptions, ExtractPropTypes, Component, nextTick } from 'vue';
3
3
 
4
4
  interface ScrollStrategyData {
5
5
  root: Ref<HTMLElement | undefined>;
6
6
  contentEl: Ref<HTMLElement | undefined>;
7
- activatorEl: Ref<HTMLElement | undefined>;
7
+ targetEl: Ref<HTMLElement | undefined>;
8
8
  isActive: Ref<boolean>;
9
9
  updateLocation: Ref<((e: Event) => void) | undefined>;
10
10
  }
@@ -52,7 +52,7 @@ interface FilterPropsOptions<PropsOptions extends Readonly<ComponentPropsOptions
52
52
 
53
53
  interface LocationStrategyData {
54
54
  contentEl: Ref<HTMLElement | undefined>;
55
- activatorEl: Ref<HTMLElement | undefined>;
55
+ target: Ref<HTMLElement | [x: number, y: number] | undefined>;
56
56
  isActive: Ref<boolean>;
57
57
  isRtl: Ref<boolean>;
58
58
  }
@@ -126,6 +126,7 @@ declare const VMenu: {
126
126
  maxWidth?: string | number | undefined;
127
127
  minHeight?: string | number | undefined;
128
128
  minWidth?: string | number | undefined;
129
+ target?: Element | "cursor" | "parent" | (string & {}) | vue.ComponentPublicInstance | [x: number, y: number] | undefined;
129
130
  class?: any;
130
131
  $children?: vue.VNodeChild | {
131
132
  default?: ((arg: {
@@ -194,7 +195,7 @@ declare const VMenu: {
194
195
  [key: string]: any;
195
196
  }>) => void)[] | undefined;
196
197
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
197
- activator?: string | Element | vue.ComponentPublicInstance | undefined;
198
+ activator?: Element | "parent" | (string & {}) | vue.ComponentPublicInstance | undefined;
198
199
  "v-slot:activator"?: false | ((arg: {
199
200
  isActive: boolean;
200
201
  props: Record<string, any>;
@@ -261,10 +262,11 @@ declare const VMenu: {
261
262
  maxWidth?: string | number | undefined;
262
263
  minHeight?: string | number | undefined;
263
264
  minWidth?: string | number | undefined;
265
+ target?: Element | "cursor" | "parent" | (string & {}) | vue.ComponentPublicInstance | [x: number, y: number] | undefined;
264
266
  class?: any;
265
267
  theme?: string | undefined;
266
268
  contentClass?: any;
267
- activator?: string | Element | vue.ComponentPublicInstance | undefined;
269
+ activator?: Element | "parent" | (string & {}) | vue.ComponentPublicInstance | undefined;
268
270
  openOnClick?: boolean | undefined;
269
271
  openOnFocus?: boolean | undefined;
270
272
  contentProps?: any;
@@ -341,6 +343,7 @@ declare const VMenu: {
341
343
  maxWidth?: string | number | undefined;
342
344
  minHeight?: string | number | undefined;
343
345
  minWidth?: string | number | undefined;
346
+ target?: Element | "cursor" | "parent" | (string & {}) | vue.ComponentPublicInstance | [x: number, y: number] | undefined;
344
347
  class?: any;
345
348
  onAfterLeave?: (() => any) | undefined;
346
349
  $children?: vue.VNodeChild | {
@@ -410,7 +413,7 @@ declare const VMenu: {
410
413
  [key: string]: any;
411
414
  }>) => void)[] | undefined;
412
415
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
413
- activator?: string | Element | vue.ComponentPublicInstance | undefined;
416
+ activator?: Element | "parent" | (string & {}) | vue.ComponentPublicInstance | undefined;
414
417
  "v-slot:activator"?: false | ((arg: {
415
418
  isActive: boolean;
416
419
  props: Record<string, any>;
@@ -477,10 +480,11 @@ declare const VMenu: {
477
480
  maxWidth?: string | number | undefined;
478
481
  minHeight?: string | number | undefined;
479
482
  minWidth?: string | number | undefined;
483
+ target?: Element | "cursor" | "parent" | (string & {}) | vue.ComponentPublicInstance | [x: number, y: number] | undefined;
480
484
  class?: any;
481
485
  theme?: string | undefined;
482
486
  contentClass?: any;
483
- activator?: string | Element | vue.ComponentPublicInstance | undefined;
487
+ activator?: Element | "parent" | (string & {}) | vue.ComponentPublicInstance | undefined;
484
488
  closeDelay?: string | number | undefined;
485
489
  openDelay?: string | number | undefined;
486
490
  openOnClick?: boolean | undefined;
@@ -522,6 +526,7 @@ declare const VMenu: {
522
526
  "onClick:outside"?: ((e: MouseEvent) => any) | undefined;
523
527
  }, {
524
528
  activatorEl: vue.Ref<HTMLElement | undefined>;
529
+ target: vue.ComputedRef<HTMLElement | [x: number, y: number] | undefined>;
525
530
  animateClick: () => void;
526
531
  contentEl: vue.Ref<HTMLElement | undefined>;
527
532
  globalTop: Readonly<vue.Ref<boolean>>;
@@ -588,7 +593,7 @@ declare const VMenu: {
588
593
  errorCaptured?: (((err: unknown, instance: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null, info: string) => boolean | void) | ((err: unknown, instance: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null, info: string) => boolean | void)[]) | undefined;
589
594
  };
590
595
  $forceUpdate: () => void;
591
- $nextTick: typeof vue.nextTick;
596
+ $nextTick: typeof nextTick;
592
597
  $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: vue.WatchOptions<boolean> | undefined): vue.WatchStopHandle;
593
598
  } & {
594
599
  absolute: boolean;
@@ -623,10 +628,11 @@ declare const VMenu: {
623
628
  maxWidth?: string | number | undefined;
624
629
  minHeight?: string | number | undefined;
625
630
  minWidth?: string | number | undefined;
631
+ target?: Element | "cursor" | "parent" | (string & {}) | vue.ComponentPublicInstance | [x: number, y: number] | undefined;
626
632
  class?: any;
627
633
  theme?: string | undefined;
628
634
  contentClass?: any;
629
- activator?: string | Element | vue.ComponentPublicInstance | undefined;
635
+ activator?: Element | "parent" | (string & {}) | vue.ComponentPublicInstance | undefined;
630
636
  closeDelay?: string | number | undefined;
631
637
  openDelay?: string | number | undefined;
632
638
  openOnClick?: boolean | undefined;
@@ -668,12 +674,13 @@ declare const VMenu: {
668
674
  "onClick:outside"?: ((e: MouseEvent) => any) | undefined;
669
675
  } & vue.ShallowUnwrapRef<{
670
676
  activatorEl: vue.Ref<HTMLElement | undefined>;
677
+ target: vue.ComputedRef<HTMLElement | [x: number, y: number] | undefined>;
671
678
  animateClick: () => void;
672
679
  contentEl: vue.Ref<HTMLElement | undefined>;
673
680
  globalTop: Readonly<vue.Ref<boolean>>;
674
681
  localTop: vue.ComputedRef<boolean>;
675
682
  updateLocation: vue.Ref<((e: Event) => void) | undefined>;
676
- }> & {} & vue.ComponentCustomProperties & {}, "offset" | "key" | "height" | "width" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "class" | "onAfterLeave" | "$children" | "ref" | "ref_for" | "ref_key" | "theme" | "v-slot:default" | "v-slots" | "contentClass" | "onVnodeBeforeMount" | "onVnodeMounted" | "onVnodeBeforeUpdate" | "onVnodeUpdated" | "onVnodeBeforeUnmount" | "onVnodeUnmounted" | "onUpdate:modelValue" | "activator" | "v-slot:activator" | "closeDelay" | "openDelay" | "contentProps" | "attach" | "onClick:outside" | ("absolute" | "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "modelValue" | "locationStrategy" | "scrollStrategy" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "closeOnBack" | "contained" | "noClickAnimation" | "persistent" | "scrim" | "_disableGlobalStack")>, `$${any}`>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
683
+ }> & {} & vue.ComponentCustomProperties & {}, "offset" | "key" | "height" | "width" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "target" | "class" | "onAfterLeave" | "$children" | "ref" | "ref_for" | "ref_key" | "theme" | "v-slot:default" | "v-slots" | "contentClass" | "onVnodeBeforeMount" | "onVnodeMounted" | "onVnodeBeforeUpdate" | "onVnodeUpdated" | "onVnodeBeforeUnmount" | "onVnodeUnmounted" | "onUpdate:modelValue" | "activator" | "v-slot:activator" | "closeDelay" | "openDelay" | "contentProps" | "attach" | "onClick:outside" | ("absolute" | "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "modelValue" | "locationStrategy" | "scrollStrategy" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "closeOnBack" | "contained" | "noClickAnimation" | "persistent" | "scrim" | "_disableGlobalStack")>, `$${any}`>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
677
684
  'update:modelValue': (value: boolean) => boolean;
678
685
  }, string, {
679
686
  location: Anchor;
@@ -734,7 +741,7 @@ declare const VMenu: {
734
741
  errorCaptured?: (((err: unknown, instance: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null, info: string) => boolean | void) | ((err: unknown, instance: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null, info: string) => boolean | void)[]) | undefined;
735
742
  };
736
743
  $forceUpdate: () => void;
737
- $nextTick: typeof vue.nextTick;
744
+ $nextTick: typeof nextTick;
738
745
  $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: vue.WatchOptions<boolean> | undefined): vue.WatchStopHandle;
739
746
  } & {
740
747
  location: Anchor;
@@ -772,10 +779,11 @@ declare const VMenu: {
772
779
  maxWidth?: string | number | undefined;
773
780
  minHeight?: string | number | undefined;
774
781
  minWidth?: string | number | undefined;
782
+ target?: Element | "cursor" | "parent" | (string & {}) | vue.ComponentPublicInstance | [x: number, y: number] | undefined;
775
783
  class?: any;
776
784
  theme?: string | undefined;
777
785
  contentClass?: any;
778
- activator?: string | Element | vue.ComponentPublicInstance | undefined;
786
+ activator?: Element | "parent" | (string & {}) | vue.ComponentPublicInstance | undefined;
779
787
  openOnClick?: boolean | undefined;
780
788
  openOnFocus?: boolean | undefined;
781
789
  contentProps?: any;
@@ -852,6 +860,7 @@ declare const VMenu: {
852
860
  maxWidth?: string | number | undefined;
853
861
  minHeight?: string | number | undefined;
854
862
  minWidth?: string | number | undefined;
863
+ target?: Element | "cursor" | "parent" | (string & {}) | vue.ComponentPublicInstance | [x: number, y: number] | undefined;
855
864
  class?: any;
856
865
  onAfterLeave?: (() => any) | undefined;
857
866
  $children?: vue.VNodeChild | {
@@ -921,7 +930,7 @@ declare const VMenu: {
921
930
  [key: string]: any;
922
931
  }>) => void)[] | undefined;
923
932
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
924
- activator?: string | Element | vue.ComponentPublicInstance | undefined;
933
+ activator?: Element | "parent" | (string & {}) | vue.ComponentPublicInstance | undefined;
925
934
  "v-slot:activator"?: false | ((arg: {
926
935
  isActive: boolean;
927
936
  props: Record<string, any>;
@@ -988,10 +997,11 @@ declare const VMenu: {
988
997
  maxWidth?: string | number | undefined;
989
998
  minHeight?: string | number | undefined;
990
999
  minWidth?: string | number | undefined;
1000
+ target?: Element | "cursor" | "parent" | (string & {}) | vue.ComponentPublicInstance | [x: number, y: number] | undefined;
991
1001
  class?: any;
992
1002
  theme?: string | undefined;
993
1003
  contentClass?: any;
994
- activator?: string | Element | vue.ComponentPublicInstance | undefined;
1004
+ activator?: Element | "parent" | (string & {}) | vue.ComponentPublicInstance | undefined;
995
1005
  closeDelay?: string | number | undefined;
996
1006
  openDelay?: string | number | undefined;
997
1007
  openOnClick?: boolean | undefined;
@@ -1033,6 +1043,7 @@ declare const VMenu: {
1033
1043
  "onClick:outside"?: ((e: MouseEvent) => any) | undefined;
1034
1044
  }, {
1035
1045
  activatorEl: vue.Ref<HTMLElement | undefined>;
1046
+ target: vue.ComputedRef<HTMLElement | [x: number, y: number] | undefined>;
1036
1047
  animateClick: () => void;
1037
1048
  contentEl: vue.Ref<HTMLElement | undefined>;
1038
1049
  globalTop: Readonly<vue.Ref<boolean>>;
@@ -1099,7 +1110,7 @@ declare const VMenu: {
1099
1110
  errorCaptured?: (((err: unknown, instance: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null, info: string) => boolean | void) | ((err: unknown, instance: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null, info: string) => boolean | void)[]) | undefined;
1100
1111
  };
1101
1112
  $forceUpdate: () => void;
1102
- $nextTick: typeof vue.nextTick;
1113
+ $nextTick: typeof nextTick;
1103
1114
  $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: vue.WatchOptions<boolean> | undefined): vue.WatchStopHandle;
1104
1115
  } & {
1105
1116
  absolute: boolean;
@@ -1134,10 +1145,11 @@ declare const VMenu: {
1134
1145
  maxWidth?: string | number | undefined;
1135
1146
  minHeight?: string | number | undefined;
1136
1147
  minWidth?: string | number | undefined;
1148
+ target?: Element | "cursor" | "parent" | (string & {}) | vue.ComponentPublicInstance | [x: number, y: number] | undefined;
1137
1149
  class?: any;
1138
1150
  theme?: string | undefined;
1139
1151
  contentClass?: any;
1140
- activator?: string | Element | vue.ComponentPublicInstance | undefined;
1152
+ activator?: Element | "parent" | (string & {}) | vue.ComponentPublicInstance | undefined;
1141
1153
  closeDelay?: string | number | undefined;
1142
1154
  openDelay?: string | number | undefined;
1143
1155
  openOnClick?: boolean | undefined;
@@ -1179,12 +1191,13 @@ declare const VMenu: {
1179
1191
  "onClick:outside"?: ((e: MouseEvent) => any) | undefined;
1180
1192
  } & vue.ShallowUnwrapRef<{
1181
1193
  activatorEl: vue.Ref<HTMLElement | undefined>;
1194
+ target: vue.ComputedRef<HTMLElement | [x: number, y: number] | undefined>;
1182
1195
  animateClick: () => void;
1183
1196
  contentEl: vue.Ref<HTMLElement | undefined>;
1184
1197
  globalTop: Readonly<vue.Ref<boolean>>;
1185
1198
  localTop: vue.ComputedRef<boolean>;
1186
1199
  updateLocation: vue.Ref<((e: Event) => void) | undefined>;
1187
- }> & {} & vue.ComponentCustomProperties & {}, "offset" | "key" | "height" | "width" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "class" | "onAfterLeave" | "$children" | "ref" | "ref_for" | "ref_key" | "theme" | "v-slot:default" | "v-slots" | "contentClass" | "onVnodeBeforeMount" | "onVnodeMounted" | "onVnodeBeforeUpdate" | "onVnodeUpdated" | "onVnodeBeforeUnmount" | "onVnodeUnmounted" | "onUpdate:modelValue" | "activator" | "v-slot:activator" | "closeDelay" | "openDelay" | "contentProps" | "attach" | "onClick:outside" | ("absolute" | "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "modelValue" | "locationStrategy" | "scrollStrategy" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "closeOnBack" | "contained" | "noClickAnimation" | "persistent" | "scrim" | "_disableGlobalStack")>, `$${any}`>> & {} & vue.ComponentCustomProperties & {};
1200
+ }> & {} & vue.ComponentCustomProperties & {}, "offset" | "key" | "height" | "width" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "target" | "class" | "onAfterLeave" | "$children" | "ref" | "ref_for" | "ref_key" | "theme" | "v-slot:default" | "v-slots" | "contentClass" | "onVnodeBeforeMount" | "onVnodeMounted" | "onVnodeBeforeUpdate" | "onVnodeUpdated" | "onVnodeBeforeUnmount" | "onVnodeUnmounted" | "onUpdate:modelValue" | "activator" | "v-slot:activator" | "closeDelay" | "openDelay" | "contentProps" | "attach" | "onClick:outside" | ("absolute" | "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "modelValue" | "locationStrategy" | "scrollStrategy" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "closeOnBack" | "contained" | "noClickAnimation" | "persistent" | "scrim" | "_disableGlobalStack")>, `$${any}`>> & {} & vue.ComponentCustomProperties & {};
1188
1201
  __isFragment?: undefined;
1189
1202
  __isTeleport?: undefined;
1190
1203
  __isSuspense?: undefined;
@@ -1224,10 +1237,11 @@ declare const VMenu: {
1224
1237
  maxWidth?: string | number | undefined;
1225
1238
  minHeight?: string | number | undefined;
1226
1239
  minWidth?: string | number | undefined;
1240
+ target?: Element | "cursor" | "parent" | (string & {}) | vue.ComponentPublicInstance | [x: number, y: number] | undefined;
1227
1241
  class?: any;
1228
1242
  theme?: string | undefined;
1229
1243
  contentClass?: any;
1230
- activator?: string | Element | vue.ComponentPublicInstance | undefined;
1244
+ activator?: Element | "parent" | (string & {}) | vue.ComponentPublicInstance | undefined;
1231
1245
  openOnClick?: boolean | undefined;
1232
1246
  openOnFocus?: boolean | undefined;
1233
1247
  contentProps?: any;
@@ -1304,6 +1318,7 @@ declare const VMenu: {
1304
1318
  maxWidth?: string | number | undefined;
1305
1319
  minHeight?: string | number | undefined;
1306
1320
  minWidth?: string | number | undefined;
1321
+ target?: Element | "cursor" | "parent" | (string & {}) | vue.ComponentPublicInstance | [x: number, y: number] | undefined;
1307
1322
  class?: any;
1308
1323
  onAfterLeave?: (() => any) | undefined;
1309
1324
  $children?: vue.VNodeChild | {
@@ -1373,7 +1388,7 @@ declare const VMenu: {
1373
1388
  [key: string]: any;
1374
1389
  }>) => void)[] | undefined;
1375
1390
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
1376
- activator?: string | Element | vue.ComponentPublicInstance | undefined;
1391
+ activator?: Element | "parent" | (string & {}) | vue.ComponentPublicInstance | undefined;
1377
1392
  "v-slot:activator"?: false | ((arg: {
1378
1393
  isActive: boolean;
1379
1394
  props: Record<string, any>;
@@ -1440,10 +1455,11 @@ declare const VMenu: {
1440
1455
  maxWidth?: string | number | undefined;
1441
1456
  minHeight?: string | number | undefined;
1442
1457
  minWidth?: string | number | undefined;
1458
+ target?: Element | "cursor" | "parent" | (string & {}) | vue.ComponentPublicInstance | [x: number, y: number] | undefined;
1443
1459
  class?: any;
1444
1460
  theme?: string | undefined;
1445
1461
  contentClass?: any;
1446
- activator?: string | Element | vue.ComponentPublicInstance | undefined;
1462
+ activator?: Element | "parent" | (string & {}) | vue.ComponentPublicInstance | undefined;
1447
1463
  closeDelay?: string | number | undefined;
1448
1464
  openDelay?: string | number | undefined;
1449
1465
  openOnClick?: boolean | undefined;
@@ -1485,6 +1501,7 @@ declare const VMenu: {
1485
1501
  "onClick:outside"?: ((e: MouseEvent) => any) | undefined;
1486
1502
  }, {
1487
1503
  activatorEl: vue.Ref<HTMLElement | undefined>;
1504
+ target: vue.ComputedRef<HTMLElement | [x: number, y: number] | undefined>;
1488
1505
  animateClick: () => void;
1489
1506
  contentEl: vue.Ref<HTMLElement | undefined>;
1490
1507
  globalTop: Readonly<vue.Ref<boolean>>;
@@ -1551,7 +1568,7 @@ declare const VMenu: {
1551
1568
  errorCaptured?: (((err: unknown, instance: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null, info: string) => boolean | void) | ((err: unknown, instance: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null, info: string) => boolean | void)[]) | undefined;
1552
1569
  };
1553
1570
  $forceUpdate: () => void;
1554
- $nextTick: typeof vue.nextTick;
1571
+ $nextTick: typeof nextTick;
1555
1572
  $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: vue.WatchOptions<boolean> | undefined): vue.WatchStopHandle;
1556
1573
  } & {
1557
1574
  absolute: boolean;
@@ -1586,10 +1603,11 @@ declare const VMenu: {
1586
1603
  maxWidth?: string | number | undefined;
1587
1604
  minHeight?: string | number | undefined;
1588
1605
  minWidth?: string | number | undefined;
1606
+ target?: Element | "cursor" | "parent" | (string & {}) | vue.ComponentPublicInstance | [x: number, y: number] | undefined;
1589
1607
  class?: any;
1590
1608
  theme?: string | undefined;
1591
1609
  contentClass?: any;
1592
- activator?: string | Element | vue.ComponentPublicInstance | undefined;
1610
+ activator?: Element | "parent" | (string & {}) | vue.ComponentPublicInstance | undefined;
1593
1611
  closeDelay?: string | number | undefined;
1594
1612
  openDelay?: string | number | undefined;
1595
1613
  openOnClick?: boolean | undefined;
@@ -1631,12 +1649,13 @@ declare const VMenu: {
1631
1649
  "onClick:outside"?: ((e: MouseEvent) => any) | undefined;
1632
1650
  } & vue.ShallowUnwrapRef<{
1633
1651
  activatorEl: vue.Ref<HTMLElement | undefined>;
1652
+ target: vue.ComputedRef<HTMLElement | [x: number, y: number] | undefined>;
1634
1653
  animateClick: () => void;
1635
1654
  contentEl: vue.Ref<HTMLElement | undefined>;
1636
1655
  globalTop: Readonly<vue.Ref<boolean>>;
1637
1656
  localTop: vue.ComputedRef<boolean>;
1638
1657
  updateLocation: vue.Ref<((e: Event) => void) | undefined>;
1639
- }> & {} & vue.ComponentCustomProperties & {}, "offset" | "key" | "height" | "width" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "class" | "onAfterLeave" | "$children" | "ref" | "ref_for" | "ref_key" | "theme" | "v-slot:default" | "v-slots" | "contentClass" | "onVnodeBeforeMount" | "onVnodeMounted" | "onVnodeBeforeUpdate" | "onVnodeUpdated" | "onVnodeBeforeUnmount" | "onVnodeUnmounted" | "onUpdate:modelValue" | "activator" | "v-slot:activator" | "closeDelay" | "openDelay" | "contentProps" | "attach" | "onClick:outside" | ("absolute" | "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "modelValue" | "locationStrategy" | "scrollStrategy" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "closeOnBack" | "contained" | "noClickAnimation" | "persistent" | "scrim" | "_disableGlobalStack")>, `$${any}`>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
1658
+ }> & {} & vue.ComponentCustomProperties & {}, "offset" | "key" | "height" | "width" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "target" | "class" | "onAfterLeave" | "$children" | "ref" | "ref_for" | "ref_key" | "theme" | "v-slot:default" | "v-slots" | "contentClass" | "onVnodeBeforeMount" | "onVnodeMounted" | "onVnodeBeforeUpdate" | "onVnodeUpdated" | "onVnodeBeforeUnmount" | "onVnodeUnmounted" | "onUpdate:modelValue" | "activator" | "v-slot:activator" | "closeDelay" | "openDelay" | "contentProps" | "attach" | "onClick:outside" | ("absolute" | "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "modelValue" | "locationStrategy" | "scrollStrategy" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "closeOnBack" | "contained" | "noClickAnimation" | "persistent" | "scrim" | "_disableGlobalStack")>, `$${any}`>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
1640
1659
  'update:modelValue': (value: boolean) => boolean;
1641
1660
  }, string, {
1642
1661
  location: Anchor;
@@ -1721,13 +1740,14 @@ declare const VMenu: {
1721
1740
  type: vue.PropType<vue.StyleValue>;
1722
1741
  default: null;
1723
1742
  };
1743
+ target: vue.PropType<Element | "cursor" | "parent" | (string & {}) | vue.ComponentPublicInstance | [x: number, y: number] | undefined>;
1724
1744
  eager: BooleanConstructor;
1725
1745
  disabled: BooleanConstructor;
1726
1746
  class: vue.PropType<any>;
1727
1747
  theme: StringConstructor;
1728
1748
  contentClass: null;
1729
1749
  modelValue: BooleanConstructor;
1730
- activator: vue.PropType<string | Element | vue.ComponentPublicInstance | undefined>;
1750
+ activator: vue.PropType<Element | "parent" | (string & {}) | vue.ComponentPublicInstance | undefined>;
1731
1751
  locationStrategy: Omit<{
1732
1752
  type: vue.PropType<"connected" | "static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => {
1733
1753
  updateLocation: (e: Event) => void;
@@ -1834,13 +1854,14 @@ declare const VMenu: {
1834
1854
  type: vue.PropType<vue.StyleValue>;
1835
1855
  default: null;
1836
1856
  };
1857
+ target: vue.PropType<Element | "cursor" | "parent" | (string & {}) | vue.ComponentPublicInstance | [x: number, y: number] | undefined>;
1837
1858
  eager: BooleanConstructor;
1838
1859
  disabled: BooleanConstructor;
1839
1860
  class: vue.PropType<any>;
1840
1861
  theme: StringConstructor;
1841
1862
  contentClass: null;
1842
1863
  modelValue: BooleanConstructor;
1843
- activator: vue.PropType<string | Element | vue.ComponentPublicInstance | undefined>;
1864
+ activator: vue.PropType<Element | "parent" | (string & {}) | vue.ComponentPublicInstance | undefined>;
1844
1865
  locationStrategy: Omit<{
1845
1866
  type: vue.PropType<"connected" | "static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => {
1846
1867
  updateLocation: (e: Event) => void;
@@ -9,7 +9,6 @@
9
9
  transition-duration: 0.2s;
10
10
  transition-property: box-shadow, transform, visibility, width, height, left, right, top, bottom;
11
11
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
12
- will-change: transform;
13
12
  position: absolute;
14
13
  border-color: rgba(var(--v-border-color), var(--v-border-opacity));
15
14
  border-style: solid;
@@ -10,7 +10,7 @@ import { makeBorderProps, useBorder } from "../../composables/border.mjs";
10
10
  import { useBackgroundColor } from "../../composables/color.mjs";
11
11
  import { makeComponentProps } from "../../composables/component.mjs";
12
12
  import { provideDefaults } from "../../composables/defaults.mjs";
13
- import { useDisplay } from "../../composables/display.mjs";
13
+ import { makeDisplayProps, useDisplay } from "../../composables/display.mjs";
14
14
  import { makeElevationProps, useElevation } from "../../composables/elevation.mjs";
15
15
  import { makeLayoutItemProps, useLayoutItem } from "../../composables/layout.mjs";
16
16
  import { useProxiedModel } from "../../composables/proxiedModel.mjs";
@@ -61,6 +61,7 @@ export const makeVNavigationDrawerProps = propsFactory({
61
61
  sticky: Boolean,
62
62
  ...makeBorderProps(),
63
63
  ...makeComponentProps(),
64
+ ...makeDisplayProps(),
64
65
  ...makeElevationProps(),
65
66
  ...makeLayoutItemProps(),
66
67
  ...makeRoundedProps(),
@@ -99,8 +100,9 @@ export const VNavigationDrawer = genericComponent()({
99
100
  elevationClasses
100
101
  } = useElevation(props);
101
102
  const {
103
+ displayClasses,
102
104
  mobile
103
- } = useDisplay();
105
+ } = useDisplay(props);
104
106
  const {
105
107
  roundedClasses
106
108
  } = useRounded(props);
@@ -211,7 +213,7 @@ export const VNavigationDrawer = genericComponent()({
211
213
  'v-navigation-drawer--temporary': isTemporary.value,
212
214
  'v-navigation-drawer--active': isActive.value,
213
215
  'v-navigation-drawer--sticky': isSticky.value
214
- }, themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, props.class],
216
+ }, themeClasses.value, backgroundColorClasses.value, borderClasses.value, displayClasses.value, elevationClasses.value, roundedClasses.value, props.class],
215
217
  "style": [backgroundColorStyles.value, layoutItemStyles.value, dragStyles.value, ssrBootStyles.value, stickyStyles.value, props.style]
216
218
  }, scopeId, attrs), {
217
219
  default: () => [hasImage && _createVNode("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"VNavigationDrawer.mjs","names":["useSticky","useTouch","useRtl","makeBorderProps","useBorder","useBackgroundColor","makeComponentProps","provideDefaults","useDisplay","makeElevationProps","useElevation","makeLayoutItemProps","useLayoutItem","useProxiedModel","makeRoundedProps","useRounded","useRouter","useScopeId","useSsrBoot","makeTagProps","makeThemeProps","provideTheme","computed","nextTick","onBeforeMount","ref","shallowRef","toRef","Transition","watch","genericComponent","propsFactory","toPhysical","useRender","locations","makeVNavigationDrawerProps","color","String","disableResizeWatcher","Boolean","disableRouteWatcher","expandOnHover","floating","modelValue","type","default","permanent","rail","railWidth","Number","scrim","image","temporary","touchless","width","location","validator","value","includes","sticky","tag","VNavigationDrawer","name","props","emits","val","setup","_ref","attrs","emit","slots","isRtl","themeClasses","borderClasses","backgroundColorClasses","backgroundColorStyles","elevationClasses","mobile","roundedClasses","router","isActive","v","ssrBootStyles","scopeId","rootEl","isHovering","isTemporary","isSticky","currentRoute","isDragging","dragProgress","dragStyles","position","layoutSize","size","layoutItemStyles","layoutItemScrimStyles","id","order","parseInt","elementSize","active","disableTransitions","absolute","isStuck","stickyStyles","scrimColor","scrimStyles","opacity","transition","undefined","VList","bgColor","onMouseenter","onMouseleave","hasImage","_createVNode","_Fragment","_mergeProps","class","style","prepend","append","onClick"],"sources":["../../../src/components/VNavigationDrawer/VNavigationDrawer.tsx"],"sourcesContent":["// Styles\nimport './VNavigationDrawer.sass'\n\n// Composables\nimport { useSticky } from './sticky'\nimport { useTouch } from './touch'\nimport { useRtl } from '@/composables'\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { provideDefaults } from '@/composables/defaults'\nimport { useDisplay } from '@/composables/display'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { useRouter } from '@/composables/router'\nimport { useScopeId } from '@/composables/scopeId'\nimport { useSsrBoot } from '@/composables/ssrBoot'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, nextTick, onBeforeMount, ref, shallowRef, toRef, Transition, watch } from 'vue'\nimport { genericComponent, propsFactory, toPhysical, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport type VNavigationDrawerImageSlot = {\n image: string | undefined\n}\n\nexport type VNavigationDrawerSlots = {\n default: never\n prepend: never\n append: never\n image: VNavigationDrawerImageSlot\n}\n\nconst locations = ['start', 'end', 'left', 'right', 'top', 'bottom'] as const\n\nexport const makeVNavigationDrawerProps = propsFactory({\n color: String,\n disableResizeWatcher: Boolean,\n disableRouteWatcher: Boolean,\n expandOnHover: Boolean,\n floating: Boolean,\n modelValue: {\n type: Boolean as PropType<boolean | null>,\n default: null,\n },\n permanent: Boolean,\n rail: {\n type: Boolean as PropType<boolean | null>,\n default: null,\n },\n railWidth: {\n type: [Number, String],\n default: 56,\n },\n scrim: {\n type: [Boolean, String],\n default: true,\n },\n image: String,\n temporary: Boolean,\n touchless: Boolean,\n width: {\n type: [Number, String],\n default: 256,\n },\n location: {\n type: String as PropType<typeof locations[number]>,\n default: 'start',\n validator: (value: any) => locations.includes(value),\n },\n sticky: Boolean,\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeElevationProps(),\n ...makeLayoutItemProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'nav' }),\n ...makeThemeProps(),\n}, 'VNavigationDrawer')\n\nexport const VNavigationDrawer = genericComponent<VNavigationDrawerSlots>()({\n name: 'VNavigationDrawer',\n\n props: makeVNavigationDrawerProps(),\n\n emits: {\n 'update:modelValue': (val: boolean) => true,\n 'update:rail': (val: boolean) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const { isRtl } = useRtl()\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { elevationClasses } = useElevation(props)\n const { mobile } = useDisplay()\n const { roundedClasses } = useRounded(props)\n const router = useRouter()\n const isActive = useProxiedModel(props, 'modelValue', null, v => !!v)\n const { ssrBootStyles } = useSsrBoot()\n const { scopeId } = useScopeId()\n\n const rootEl = ref<HTMLElement>()\n const isHovering = shallowRef(false)\n\n const width = computed(() => {\n return (props.rail && props.expandOnHover && isHovering.value)\n ? Number(props.width)\n : Number(props.rail ? props.railWidth : props.width)\n })\n const location = computed(() => {\n return toPhysical(props.location, isRtl.value) as 'left' | 'right' | 'bottom'\n })\n const isTemporary = computed(() => !props.permanent && (mobile.value || props.temporary))\n const isSticky = computed(() =>\n props.sticky &&\n !isTemporary.value &&\n location.value !== 'bottom'\n )\n\n if (props.expandOnHover && props.rail != null) {\n watch(isHovering, val => emit('update:rail', !val))\n }\n\n if (!props.disableResizeWatcher) {\n watch(isTemporary, val => !props.permanent && (nextTick(() => isActive.value = !val)))\n }\n\n if (!props.disableRouteWatcher && router) {\n watch(router.currentRoute, () => isTemporary.value && (isActive.value = false))\n }\n\n watch(() => props.permanent, val => {\n if (val) isActive.value = true\n })\n\n onBeforeMount(() => {\n if (props.modelValue != null || isTemporary.value) return\n\n isActive.value = props.permanent || !mobile.value\n })\n\n const { isDragging, dragProgress, dragStyles } = useTouch({\n isActive,\n isTemporary,\n width,\n touchless: toRef(props, 'touchless'),\n position: location,\n })\n\n const layoutSize = computed(() => {\n const size = isTemporary.value ? 0\n : props.rail && props.expandOnHover ? Number(props.railWidth)\n : width.value\n\n return isDragging.value ? size * dragProgress.value : size\n })\n\n const { layoutItemStyles, layoutItemScrimStyles } = useLayoutItem({\n id: props.name,\n order: computed(() => parseInt(props.order, 10)),\n position: location,\n layoutSize,\n elementSize: width,\n active: computed(() => isActive.value || isDragging.value),\n disableTransitions: computed(() => isDragging.value),\n absolute: computed(() =>\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n props.absolute || (isSticky.value && typeof isStuck.value !== 'string')\n ),\n })\n\n const { isStuck, stickyStyles } = useSticky({ rootEl, isSticky, layoutItemStyles })\n\n const scrimColor = useBackgroundColor(computed(() => {\n return typeof props.scrim === 'string' ? props.scrim : null\n }))\n const scrimStyles = computed(() => ({\n ...isDragging.value ? {\n opacity: dragProgress.value * 0.2,\n transition: 'none',\n } : undefined,\n ...layoutItemScrimStyles.value,\n }))\n\n provideDefaults({\n VList: {\n bgColor: 'transparent',\n },\n })\n\n function onMouseenter () {\n isHovering.value = true\n }\n function onMouseleave () {\n isHovering.value = false\n }\n\n useRender(() => {\n const hasImage = (slots.image || props.image)\n\n return (\n <>\n <props.tag\n ref={ rootEl }\n onMouseenter={ onMouseenter }\n onMouseleave={ onMouseleave }\n class={[\n 'v-navigation-drawer',\n `v-navigation-drawer--${location.value}`,\n {\n 'v-navigation-drawer--expand-on-hover': props.expandOnHover,\n 'v-navigation-drawer--floating': props.floating,\n 'v-navigation-drawer--is-hovering': isHovering.value,\n 'v-navigation-drawer--rail': props.rail,\n 'v-navigation-drawer--temporary': isTemporary.value,\n 'v-navigation-drawer--active': isActive.value,\n 'v-navigation-drawer--sticky': isSticky.value,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n layoutItemStyles.value,\n dragStyles.value,\n ssrBootStyles.value,\n stickyStyles.value,\n props.style,\n ]}\n { ...scopeId }\n { ...attrs }\n >\n { hasImage && (\n <div key=\"image\" class=\"v-navigation-drawer__img\">\n { slots.image\n ? slots.image?.({ image: props.image })\n : (<img src={ props.image } alt=\"\" />)\n }\n </div>\n )}\n\n { slots.prepend && (\n <div class=\"v-navigation-drawer__prepend\">\n { slots.prepend?.() }\n </div>\n )}\n\n <div class=\"v-navigation-drawer__content\">\n { slots.default?.() }\n </div>\n\n { slots.append && (\n <div class=\"v-navigation-drawer__append\">\n { slots.append?.() }\n </div>\n )}\n </props.tag>\n\n <Transition name=\"fade-transition\">\n { isTemporary.value && (isDragging.value || isActive.value) && !!props.scrim && (\n <div\n class={['v-navigation-drawer__scrim', scrimColor.backgroundColorClasses.value]}\n style={[scrimStyles.value, scrimColor.backgroundColorStyles.value]}\n onClick={ () => isActive.value = false }\n { ...scopeId }\n />\n )}\n </Transition>\n </>\n )\n })\n\n return {\n isStuck,\n }\n },\n})\n\nexport type VNavigationDrawer = InstanceType<typeof VNavigationDrawer>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VNavigationDrawer.mjs","names":["useSticky","useTouch","useRtl","makeBorderProps","useBorder","useBackgroundColor","makeComponentProps","provideDefaults","makeDisplayProps","useDisplay","makeElevationProps","useElevation","makeLayoutItemProps","useLayoutItem","useProxiedModel","makeRoundedProps","useRounded","useRouter","useScopeId","useSsrBoot","makeTagProps","makeThemeProps","provideTheme","computed","nextTick","onBeforeMount","ref","shallowRef","toRef","Transition","watch","genericComponent","propsFactory","toPhysical","useRender","locations","makeVNavigationDrawerProps","color","String","disableResizeWatcher","Boolean","disableRouteWatcher","expandOnHover","floating","modelValue","type","default","permanent","rail","railWidth","Number","scrim","image","temporary","touchless","width","location","validator","value","includes","sticky","tag","VNavigationDrawer","name","props","emits","val","setup","_ref","attrs","emit","slots","isRtl","themeClasses","borderClasses","backgroundColorClasses","backgroundColorStyles","elevationClasses","displayClasses","mobile","roundedClasses","router","isActive","v","ssrBootStyles","scopeId","rootEl","isHovering","isTemporary","isSticky","currentRoute","isDragging","dragProgress","dragStyles","position","layoutSize","size","layoutItemStyles","layoutItemScrimStyles","id","order","parseInt","elementSize","active","disableTransitions","absolute","isStuck","stickyStyles","scrimColor","scrimStyles","opacity","transition","undefined","VList","bgColor","onMouseenter","onMouseleave","hasImage","_createVNode","_Fragment","_mergeProps","class","style","prepend","append","onClick"],"sources":["../../../src/components/VNavigationDrawer/VNavigationDrawer.tsx"],"sourcesContent":["// Styles\nimport './VNavigationDrawer.sass'\n\n// Composables\nimport { useSticky } from './sticky'\nimport { useTouch } from './touch'\nimport { useRtl } from '@/composables'\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeDisplayProps, useDisplay } from '@/composables/display'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { useRouter } from '@/composables/router'\nimport { useScopeId } from '@/composables/scopeId'\nimport { useSsrBoot } from '@/composables/ssrBoot'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, nextTick, onBeforeMount, ref, shallowRef, toRef, Transition, watch } from 'vue'\nimport { genericComponent, propsFactory, toPhysical, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport type VNavigationDrawerImageSlot = {\n image: string | undefined\n}\n\nexport type VNavigationDrawerSlots = {\n default: never\n prepend: never\n append: never\n image: VNavigationDrawerImageSlot\n}\n\nconst locations = ['start', 'end', 'left', 'right', 'top', 'bottom'] as const\n\nexport const makeVNavigationDrawerProps = propsFactory({\n color: String,\n disableResizeWatcher: Boolean,\n disableRouteWatcher: Boolean,\n expandOnHover: Boolean,\n floating: Boolean,\n modelValue: {\n type: Boolean as PropType<boolean | null>,\n default: null,\n },\n permanent: Boolean,\n rail: {\n type: Boolean as PropType<boolean | null>,\n default: null,\n },\n railWidth: {\n type: [Number, String],\n default: 56,\n },\n scrim: {\n type: [Boolean, String],\n default: true,\n },\n image: String,\n temporary: Boolean,\n touchless: Boolean,\n width: {\n type: [Number, String],\n default: 256,\n },\n location: {\n type: String as PropType<typeof locations[number]>,\n default: 'start',\n validator: (value: any) => locations.includes(value),\n },\n sticky: Boolean,\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDisplayProps(),\n ...makeElevationProps(),\n ...makeLayoutItemProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'nav' }),\n ...makeThemeProps(),\n}, 'VNavigationDrawer')\n\nexport const VNavigationDrawer = genericComponent<VNavigationDrawerSlots>()({\n name: 'VNavigationDrawer',\n\n props: makeVNavigationDrawerProps(),\n\n emits: {\n 'update:modelValue': (val: boolean) => true,\n 'update:rail': (val: boolean) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const { isRtl } = useRtl()\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { elevationClasses } = useElevation(props)\n const { displayClasses, mobile } = useDisplay(props)\n const { roundedClasses } = useRounded(props)\n const router = useRouter()\n const isActive = useProxiedModel(props, 'modelValue', null, v => !!v)\n const { ssrBootStyles } = useSsrBoot()\n const { scopeId } = useScopeId()\n\n const rootEl = ref<HTMLElement>()\n const isHovering = shallowRef(false)\n\n const width = computed(() => {\n return (props.rail && props.expandOnHover && isHovering.value)\n ? Number(props.width)\n : Number(props.rail ? props.railWidth : props.width)\n })\n const location = computed(() => {\n return toPhysical(props.location, isRtl.value) as 'left' | 'right' | 'bottom'\n })\n const isTemporary = computed(() => !props.permanent && (mobile.value || props.temporary))\n const isSticky = computed(() =>\n props.sticky &&\n !isTemporary.value &&\n location.value !== 'bottom'\n )\n\n if (props.expandOnHover && props.rail != null) {\n watch(isHovering, val => emit('update:rail', !val))\n }\n\n if (!props.disableResizeWatcher) {\n watch(isTemporary, val => !props.permanent && (nextTick(() => isActive.value = !val)))\n }\n\n if (!props.disableRouteWatcher && router) {\n watch(router.currentRoute, () => isTemporary.value && (isActive.value = false))\n }\n\n watch(() => props.permanent, val => {\n if (val) isActive.value = true\n })\n\n onBeforeMount(() => {\n if (props.modelValue != null || isTemporary.value) return\n\n isActive.value = props.permanent || !mobile.value\n })\n\n const { isDragging, dragProgress, dragStyles } = useTouch({\n isActive,\n isTemporary,\n width,\n touchless: toRef(props, 'touchless'),\n position: location,\n })\n\n const layoutSize = computed(() => {\n const size = isTemporary.value ? 0\n : props.rail && props.expandOnHover ? Number(props.railWidth)\n : width.value\n\n return isDragging.value ? size * dragProgress.value : size\n })\n\n const { layoutItemStyles, layoutItemScrimStyles } = useLayoutItem({\n id: props.name,\n order: computed(() => parseInt(props.order, 10)),\n position: location,\n layoutSize,\n elementSize: width,\n active: computed(() => isActive.value || isDragging.value),\n disableTransitions: computed(() => isDragging.value),\n absolute: computed(() =>\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n props.absolute || (isSticky.value && typeof isStuck.value !== 'string')\n ),\n })\n\n const { isStuck, stickyStyles } = useSticky({ rootEl, isSticky, layoutItemStyles })\n\n const scrimColor = useBackgroundColor(computed(() => {\n return typeof props.scrim === 'string' ? props.scrim : null\n }))\n const scrimStyles = computed(() => ({\n ...isDragging.value ? {\n opacity: dragProgress.value * 0.2,\n transition: 'none',\n } : undefined,\n ...layoutItemScrimStyles.value,\n }))\n\n provideDefaults({\n VList: {\n bgColor: 'transparent',\n },\n })\n\n function onMouseenter () {\n isHovering.value = true\n }\n function onMouseleave () {\n isHovering.value = false\n }\n\n useRender(() => {\n const hasImage = (slots.image || props.image)\n\n return (\n <>\n <props.tag\n ref={ rootEl }\n onMouseenter={ onMouseenter }\n onMouseleave={ onMouseleave }\n class={[\n 'v-navigation-drawer',\n `v-navigation-drawer--${location.value}`,\n {\n 'v-navigation-drawer--expand-on-hover': props.expandOnHover,\n 'v-navigation-drawer--floating': props.floating,\n 'v-navigation-drawer--is-hovering': isHovering.value,\n 'v-navigation-drawer--rail': props.rail,\n 'v-navigation-drawer--temporary': isTemporary.value,\n 'v-navigation-drawer--active': isActive.value,\n 'v-navigation-drawer--sticky': isSticky.value,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n displayClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n layoutItemStyles.value,\n dragStyles.value,\n ssrBootStyles.value,\n stickyStyles.value,\n props.style,\n ]}\n { ...scopeId }\n { ...attrs }\n >\n { hasImage && (\n <div key=\"image\" class=\"v-navigation-drawer__img\">\n { slots.image\n ? slots.image?.({ image: props.image })\n : (<img src={ props.image } alt=\"\" />)\n }\n </div>\n )}\n\n { slots.prepend && (\n <div class=\"v-navigation-drawer__prepend\">\n { slots.prepend?.() }\n </div>\n )}\n\n <div class=\"v-navigation-drawer__content\">\n { slots.default?.() }\n </div>\n\n { slots.append && (\n <div class=\"v-navigation-drawer__append\">\n { slots.append?.() }\n </div>\n )}\n </props.tag>\n\n <Transition name=\"fade-transition\">\n { isTemporary.value && (isDragging.value || isActive.value) && !!props.scrim && (\n <div\n class={['v-navigation-drawer__scrim', scrimColor.backgroundColorClasses.value]}\n style={[scrimStyles.value, scrimColor.backgroundColorStyles.value]}\n onClick={ () => isActive.value = false }\n { ...scopeId }\n />\n )}\n </Transition>\n </>\n )\n })\n\n return {\n isStuck,\n }\n },\n})\n\nexport type VNavigationDrawer = InstanceType<typeof VNavigationDrawer>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,SAAS;AAAA,SACTC,QAAQ;AAAA,SACRC,MAAM;AAAA,SACNC,eAAe,EAAEC,SAAS;AAAA,SAC1BC,kBAAkB;AAAA,SAClBC,kBAAkB;AAAA,SAClBC,eAAe;AAAA,SACfC,gBAAgB,EAAEC,UAAU;AAAA,SAC5BC,kBAAkB,EAAEC,YAAY;AAAA,SAChCC,mBAAmB,EAAEC,aAAa;AAAA,SAClCC,eAAe;AAAA,SACfC,gBAAgB,EAAEC,UAAU;AAAA,SAC5BC,SAAS;AAAA,SACTC,UAAU;AAAA,SACVC,UAAU;AAAA,SACVC,YAAY;AAAA,SACZC,cAAc,EAAEC,YAAY,uCAErC;AACA,SAASC,QAAQ,EAAEC,QAAQ,EAAEC,aAAa,EAAEC,GAAG,EAAEC,UAAU,EAAEC,KAAK,EAAEC,UAAU,EAAEC,KAAK,QAAQ,KAAK;AAAA,SACzFC,gBAAgB,EAAEC,YAAY,EAAEC,UAAU,EAAEC,SAAS,gCAE9D;AAcA,MAAMC,SAAS,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAU;AAE7E,OAAO,MAAMC,0BAA0B,GAAGJ,YAAY,CAAC;EACrDK,KAAK,EAAEC,MAAM;EACbC,oBAAoB,EAAEC,OAAO;EAC7BC,mBAAmB,EAAED,OAAO;EAC5BE,aAAa,EAAEF,OAAO;EACtBG,QAAQ,EAAEH,OAAO;EACjBI,UAAU,EAAE;IACVC,IAAI,EAAEL,OAAmC;IACzCM,OAAO,EAAE;EACX,CAAC;EACDC,SAAS,EAAEP,OAAO;EAClBQ,IAAI,EAAE;IACJH,IAAI,EAAEL,OAAmC;IACzCM,OAAO,EAAE;EACX,CAAC;EACDG,SAAS,EAAE;IACTJ,IAAI,EAAE,CAACK,MAAM,EAAEZ,MAAM,CAAC;IACtBQ,OAAO,EAAE;EACX,CAAC;EACDK,KAAK,EAAE;IACLN,IAAI,EAAE,CAACL,OAAO,EAAEF,MAAM,CAAC;IACvBQ,OAAO,EAAE;EACX,CAAC;EACDM,KAAK,EAAEd,MAAM;EACbe,SAAS,EAAEb,OAAO;EAClBc,SAAS,EAAEd,OAAO;EAClBe,KAAK,EAAE;IACLV,IAAI,EAAE,CAACK,MAAM,EAAEZ,MAAM,CAAC;IACtBQ,OAAO,EAAE;EACX,CAAC;EACDU,QAAQ,EAAE;IACRX,IAAI,EAAEP,MAA4C;IAClDQ,OAAO,EAAE,OAAO;IAChBW,SAAS,EAAGC,KAAU,IAAKvB,SAAS,CAACwB,QAAQ,CAACD,KAAK;EACrD,CAAC;EACDE,MAAM,EAAEpB,OAAO;EAEf,GAAGrC,eAAe,EAAE;EACpB,GAAGG,kBAAkB,EAAE;EACvB,GAAGE,gBAAgB,EAAE;EACrB,GAAGE,kBAAkB,EAAE;EACvB,GAAGE,mBAAmB,EAAE;EACxB,GAAGG,gBAAgB,EAAE;EACrB,GAAGK,YAAY,CAAC;IAAEyC,GAAG,EAAE;EAAM,CAAC,CAAC;EAC/B,GAAGxC,cAAc;AACnB,CAAC,EAAE,mBAAmB,CAAC;AAEvB,OAAO,MAAMyC,iBAAiB,GAAG/B,gBAAgB,EAA0B,CAAC;EAC1EgC,IAAI,EAAE,mBAAmB;EAEzBC,KAAK,EAAE5B,0BAA0B,EAAE;EAEnC6B,KAAK,EAAE;IACL,mBAAmB,EAAGC,GAAY,IAAK,IAAI;IAC3C,aAAa,EAAGA,GAAY,IAAK;EACnC,CAAC;EAEDC,KAAKA,CAAEH,KAAK,EAAAI,IAAA,EAA0B;IAAA,IAAxB;MAAEC,KAAK;MAAEC,IAAI;MAAEC;IAAM,CAAC,GAAAH,IAAA;IAClC,MAAM;MAAEI;IAAM,CAAC,GAAGtE,MAAM,EAAE;IAC1B,MAAM;MAAEuE;IAAa,CAAC,GAAGnD,YAAY,CAAC0C,KAAK,CAAC;IAC5C,MAAM;MAAEU;IAAc,CAAC,GAAGtE,SAAS,CAAC4D,KAAK,CAAC;IAC1C,MAAM;MAAEW,sBAAsB;MAAEC;IAAsB,CAAC,GAAGvE,kBAAkB,CAACuB,KAAK,CAACoC,KAAK,EAAE,OAAO,CAAC,CAAC;IACnG,MAAM;MAAEa;IAAiB,CAAC,GAAGlE,YAAY,CAACqD,KAAK,CAAC;IAChD,MAAM;MAAEc,cAAc;MAAEC;IAAO,CAAC,GAAGtE,UAAU,CAACuD,KAAK,CAAC;IACpD,MAAM;MAAEgB;IAAe,CAAC,GAAGhE,UAAU,CAACgD,KAAK,CAAC;IAC5C,MAAMiB,MAAM,GAAGhE,SAAS,EAAE;IAC1B,MAAMiE,QAAQ,GAAGpE,eAAe,CAACkD,KAAK,EAAE,YAAY,EAAE,IAAI,EAAEmB,CAAC,IAAI,CAAC,CAACA,CAAC,CAAC;IACrE,MAAM;MAAEC;IAAc,CAAC,GAAGjE,UAAU,EAAE;IACtC,MAAM;MAAEkE;IAAQ,CAAC,GAAGnE,UAAU,EAAE;IAEhC,MAAMoE,MAAM,GAAG5D,GAAG,EAAe;IACjC,MAAM6D,UAAU,GAAG5D,UAAU,CAAC,KAAK,CAAC;IAEpC,MAAM4B,KAAK,GAAGhC,QAAQ,CAAC,MAAM;MAC3B,OAAQyC,KAAK,CAAChB,IAAI,IAAIgB,KAAK,CAACtB,aAAa,IAAI6C,UAAU,CAAC7B,KAAK,GACzDR,MAAM,CAACc,KAAK,CAACT,KAAK,CAAC,GACnBL,MAAM,CAACc,KAAK,CAAChB,IAAI,GAAGgB,KAAK,CAACf,SAAS,GAAGe,KAAK,CAACT,KAAK,CAAC;IACxD,CAAC,CAAC;IACF,MAAMC,QAAQ,GAAGjC,QAAQ,CAAC,MAAM;MAC9B,OAAOU,UAAU,CAAC+B,KAAK,CAACR,QAAQ,EAAEgB,KAAK,CAACd,KAAK,CAAC;IAChD,CAAC,CAAC;IACF,MAAM8B,WAAW,GAAGjE,QAAQ,CAAC,MAAM,CAACyC,KAAK,CAACjB,SAAS,KAAKgC,MAAM,CAACrB,KAAK,IAAIM,KAAK,CAACX,SAAS,CAAC,CAAC;IACzF,MAAMoC,QAAQ,GAAGlE,QAAQ,CAAC,MACxByC,KAAK,CAACJ,MAAM,IACZ,CAAC4B,WAAW,CAAC9B,KAAK,IAClBF,QAAQ,CAACE,KAAK,KAAK,QAAQ,CAC5B;IAED,IAAIM,KAAK,CAACtB,aAAa,IAAIsB,KAAK,CAAChB,IAAI,IAAI,IAAI,EAAE;MAC7ClB,KAAK,CAACyD,UAAU,EAAErB,GAAG,IAAII,IAAI,CAAC,aAAa,EAAE,CAACJ,GAAG,CAAC,CAAC;IACrD;IAEA,IAAI,CAACF,KAAK,CAACzB,oBAAoB,EAAE;MAC/BT,KAAK,CAAC0D,WAAW,EAAEtB,GAAG,IAAI,CAACF,KAAK,CAACjB,SAAS,IAAKvB,QAAQ,CAAC,MAAM0D,QAAQ,CAACxB,KAAK,GAAG,CAACQ,GAAG,CAAE,CAAC;IACxF;IAEA,IAAI,CAACF,KAAK,CAACvB,mBAAmB,IAAIwC,MAAM,EAAE;MACxCnD,KAAK,CAACmD,MAAM,CAACS,YAAY,EAAE,MAAMF,WAAW,CAAC9B,KAAK,KAAKwB,QAAQ,CAACxB,KAAK,GAAG,KAAK,CAAC,CAAC;IACjF;IAEA5B,KAAK,CAAC,MAAMkC,KAAK,CAACjB,SAAS,EAAEmB,GAAG,IAAI;MAClC,IAAIA,GAAG,EAAEgB,QAAQ,CAACxB,KAAK,GAAG,IAAI;IAChC,CAAC,CAAC;IAEFjC,aAAa,CAAC,MAAM;MAClB,IAAIuC,KAAK,CAACpB,UAAU,IAAI,IAAI,IAAI4C,WAAW,CAAC9B,KAAK,EAAE;MAEnDwB,QAAQ,CAACxB,KAAK,GAAGM,KAAK,CAACjB,SAAS,IAAI,CAACgC,MAAM,CAACrB,KAAK;IACnD,CAAC,CAAC;IAEF,MAAM;MAAEiC,UAAU;MAAEC,YAAY;MAAEC;IAAW,CAAC,GAAG5F,QAAQ,CAAC;MACxDiF,QAAQ;MACRM,WAAW;MACXjC,KAAK;MACLD,SAAS,EAAE1B,KAAK,CAACoC,KAAK,EAAE,WAAW,CAAC;MACpC8B,QAAQ,EAAEtC;IACZ,CAAC,CAAC;IAEF,MAAMuC,UAAU,GAAGxE,QAAQ,CAAC,MAAM;MAChC,MAAMyE,IAAI,GAAGR,WAAW,CAAC9B,KAAK,GAAG,CAAC,GAC9BM,KAAK,CAAChB,IAAI,IAAIgB,KAAK,CAACtB,aAAa,GAAGQ,MAAM,CAACc,KAAK,CAACf,SAAS,CAAC,GAC3DM,KAAK,CAACG,KAAK;MAEf,OAAOiC,UAAU,CAACjC,KAAK,GAAGsC,IAAI,GAAGJ,YAAY,CAAClC,KAAK,GAAGsC,IAAI;IAC5D,CAAC,CAAC;IAEF,MAAM;MAAEC,gBAAgB;MAAEC;IAAsB,CAAC,GAAGrF,aAAa,CAAC;MAChEsF,EAAE,EAAEnC,KAAK,CAACD,IAAI;MACdqC,KAAK,EAAE7E,QAAQ,CAAC,MAAM8E,QAAQ,CAACrC,KAAK,CAACoC,KAAK,EAAE,EAAE,CAAC,CAAC;MAChDN,QAAQ,EAAEtC,QAAQ;MAClBuC,UAAU;MACVO,WAAW,EAAE/C,KAAK;MAClBgD,MAAM,EAAEhF,QAAQ,CAAC,MAAM2D,QAAQ,CAACxB,KAAK,IAAIiC,UAAU,CAACjC,KAAK,CAAC;MAC1D8C,kBAAkB,EAAEjF,QAAQ,CAAC,MAAMoE,UAAU,CAACjC,KAAK,CAAC;MACpD+C,QAAQ,EAAElF,QAAQ,CAAC;MACjB;MACAyC,KAAK,CAACyC,QAAQ,IAAKhB,QAAQ,CAAC/B,KAAK,IAAI,OAAOgD,OAAO,CAAChD,KAAK,KAAK,QAAS;IAE3E,CAAC,CAAC;IAEF,MAAM;MAAEgD,OAAO;MAAEC;IAAa,CAAC,GAAG3G,SAAS,CAAC;MAAEsF,MAAM;MAAEG,QAAQ;MAAEQ;IAAiB,CAAC,CAAC;IAEnF,MAAMW,UAAU,GAAGvG,kBAAkB,CAACkB,QAAQ,CAAC,MAAM;MACnD,OAAO,OAAOyC,KAAK,CAACb,KAAK,KAAK,QAAQ,GAAGa,KAAK,CAACb,KAAK,GAAG,IAAI;IAC7D,CAAC,CAAC,CAAC;IACH,MAAM0D,WAAW,GAAGtF,QAAQ,CAAC,OAAO;MAClC,IAAGoE,UAAU,CAACjC,KAAK,GAAG;QACpBoD,OAAO,EAAElB,YAAY,CAAClC,KAAK,GAAG,GAAG;QACjCqD,UAAU,EAAE;MACd,CAAC,GAAGC,SAAS;MACb,GAAGd,qBAAqB,CAACxC;IAC3B,CAAC,CAAC,CAAC;IAEHnD,eAAe,CAAC;MACd0G,KAAK,EAAE;QACLC,OAAO,EAAE;MACX;IACF,CAAC,CAAC;IAEF,SAASC,YAAYA,CAAA,EAAI;MACvB5B,UAAU,CAAC7B,KAAK,GAAG,IAAI;IACzB;IACA,SAAS0D,YAAYA,CAAA,EAAI;MACvB7B,UAAU,CAAC7B,KAAK,GAAG,KAAK;IAC1B;IAEAxB,SAAS,CAAC,MAAM;MACd,MAAMmF,QAAQ,GAAI9C,KAAK,CAACnB,KAAK,IAAIY,KAAK,CAACZ,KAAM;MAE7C,OAAAkE,YAAA,CAAAC,SAAA,SAAAD,YAAA,CAAAtD,KAAA,CAAAH,GAAA,EAAA2D,WAAA;QAAA,OAGYlC,MAAM;QAAA,gBACG6B,YAAY;QAAA,gBACZC,YAAY;QAAA,SACpB,CACL,qBAAqB,EACpB,wBAAuB5D,QAAQ,CAACE,KAAM,EAAC,EACxC;UACE,sCAAsC,EAAEM,KAAK,CAACtB,aAAa;UAC3D,+BAA+B,EAAEsB,KAAK,CAACrB,QAAQ;UAC/C,kCAAkC,EAAE4C,UAAU,CAAC7B,KAAK;UACpD,2BAA2B,EAAEM,KAAK,CAAChB,IAAI;UACvC,gCAAgC,EAAEwC,WAAW,CAAC9B,KAAK;UACnD,6BAA6B,EAAEwB,QAAQ,CAACxB,KAAK;UAC7C,6BAA6B,EAAE+B,QAAQ,CAAC/B;QAC1C,CAAC,EACDe,YAAY,CAACf,KAAK,EAClBiB,sBAAsB,CAACjB,KAAK,EAC5BgB,aAAa,CAAChB,KAAK,EACnBoB,cAAc,CAACpB,KAAK,EACpBmB,gBAAgB,CAACnB,KAAK,EACtBsB,cAAc,CAACtB,KAAK,EACpBM,KAAK,CAACyD,KAAK,CACZ;QAAA,SACM,CACL7C,qBAAqB,CAAClB,KAAK,EAC3BuC,gBAAgB,CAACvC,KAAK,EACtBmC,UAAU,CAACnC,KAAK,EAChB0B,aAAa,CAAC1B,KAAK,EACnBiD,YAAY,CAACjD,KAAK,EAClBM,KAAK,CAAC0D,KAAK;MACZ,GACIrC,OAAO,EACPhB,KAAK;QAAAvB,OAAA,EAAAA,CAAA,MAERuE,QAAQ,IAAAC,YAAA;UAAA,OACC,OAAO;UAAA,SAAO;QAA0B,IAC7C/C,KAAK,CAACnB,KAAK,GACTmB,KAAK,CAACnB,KAAK,GAAG;UAAEA,KAAK,EAAEY,KAAK,CAACZ;QAAM,CAAC,CAAC,GAAAkE,YAAA;UAAA,OACzBtD,KAAK,CAACZ,KAAK;UAAA,OAAO;QAAE,QAAI,EAG3C,EAECmB,KAAK,CAACoD,OAAO,IAAAL,YAAA;UAAA,SACF;QAA8B,IACrC/C,KAAK,CAACoD,OAAO,IAAI,EAEtB,EAAAL,YAAA;UAAA,SAEU;QAA8B,IACrC/C,KAAK,CAACzB,OAAO,IAAI,IAGnByB,KAAK,CAACqD,MAAM,IAAAN,YAAA;UAAA,SACD;QAA6B,IACpC/C,KAAK,CAACqD,MAAM,IAAI,EAErB;MAAA,IAAAN,YAAA,CAAAzF,UAAA;QAAA,QAGc;MAAiB;QAAAiB,OAAA,EAAAA,CAAA,MAC9B0C,WAAW,CAAC9B,KAAK,KAAKiC,UAAU,CAACjC,KAAK,IAAIwB,QAAQ,CAACxB,KAAK,CAAC,IAAI,CAAC,CAACM,KAAK,CAACb,KAAK,IAAAmE,YAAA,QAAAE,WAAA;UAAA,SAEjE,CAAC,4BAA4B,EAAEZ,UAAU,CAACjC,sBAAsB,CAACjB,KAAK,CAAC;UAAA,SACvE,CAACmD,WAAW,CAACnD,KAAK,EAAEkD,UAAU,CAAChC,qBAAqB,CAAClB,KAAK,CAAC;UAAA,WACxDmE,CAAA,KAAM3C,QAAQ,CAACxB,KAAK,GAAG;QAAK,GACjC2B,OAAO,QAEf;MAAA;IAIT,CAAC,CAAC;IAEF,OAAO;MACLqB;IACF,CAAC;EACH;AACF,CAAC,CAAC"}
@@ -12,7 +12,6 @@
12
12
  transition-duration: $navigation-drawer-transition-duration
13
13
  transition-property: $navigation-drawer-transition-property
14
14
  transition-timing-function: $navigation-drawer-transition-timing-function
15
- will-change: $navigation-drawer-will-change
16
15
  position: absolute
17
16
 
18
17
  @include tools.border($navigation-drawer-border...)
@@ -23,7 +23,6 @@ $navigation-drawer-temporary-elevation: 16 !default;
23
23
  $navigation-drawer-transition-duration: 0.2s !default;
24
24
  $navigation-drawer-transition-property: box-shadow, transform, visibility, width, height, left, right, top, bottom !default;
25
25
  $navigation-drawer-transition-timing-function: settings.$standard-easing !default;
26
- $navigation-drawer-will-change: transform !default;
27
26
  $navigation-drawer-scrim-opacity: .2 !default;
28
27
 
29
28
  // Lists