@nhtio/lucid-resourceful-vue-components 0.1.0-master-92cf468a → 0.1.0-master-4212d8b5
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.
- package/{VChip-cvRAefVz.mjs → VChip-BDyK2TcI.mjs} +2 -2
- package/{VChip-cvRAefVz.mjs.map → VChip-BDyK2TcI.mjs.map} +1 -1
- package/{VDatePicker-BIguCVc-.mjs → VDatePicker-DQIK8Y9D.mjs} +4 -4
- package/{VDatePicker-BIguCVc-.mjs.map → VDatePicker-DQIK8Y9D.mjs.map} +1 -1
- package/{VDialog-B3zmrWE3.mjs → VDialog-BgbYLU4T.mjs} +3 -3
- package/{VDialog-B3zmrWE3.mjs.map → VDialog-BgbYLU4T.mjs.map} +1 -1
- package/{VEmptyState-xSkyGTvh.mjs → VEmptyState-BPx3OaCS.mjs} +2 -2
- package/{VEmptyState-xSkyGTvh.mjs.map → VEmptyState-BPx3OaCS.mjs.map} +1 -1
- package/{VHover-9B6zOfMl.mjs → VHover-DFxPLX5O.mjs} +3 -3
- package/{VHover-9B6zOfMl.mjs.map → VHover-DFxPLX5O.mjs.map} +1 -1
- package/{VListItem-Db3fin2X.mjs → VListItem-Bm6UEqPQ.mjs} +3 -3
- package/{VListItem-Db3fin2X.mjs.map → VListItem-Bm6UEqPQ.mjs.map} +1 -1
- package/{VMenu-CJJRgsgx.mjs → VMenu-BsiZ61Ef.mjs} +3 -3
- package/{VMenu-CJJRgsgx.mjs.map → VMenu-BsiZ61Ef.mjs.map} +1 -1
- package/{VPicker-BMIzQQeC.mjs → VPicker-BVs5uDku.mjs} +4 -4
- package/{VPicker-BMIzQQeC.mjs.map → VPicker-BVs5uDku.mjs.map} +1 -1
- package/{VRadioGroup-CiJi3SA5.mjs → VRadioGroup-D3SiTdVL.mjs} +4 -4
- package/{VRadioGroup-CiJi3SA5.mjs.map → VRadioGroup-D3SiTdVL.mjs.map} +1 -1
- package/{VRow-DY9jxlUT.mjs → VRow-2uWyKH1m.mjs} +2 -2
- package/{VRow-DY9jxlUT.mjs.map → VRow-2uWyKH1m.mjs.map} +1 -1
- package/{VSheet-DMm59Y3v.mjs → VSheet-Be4VY_Mp.mjs} +2 -2
- package/{VSheet-DMm59Y3v.mjs.map → VSheet-Be4VY_Mp.mjs.map} +1 -1
- package/{actions-DRtd5rpe.mjs → actions-BEwmoQjX.mjs} +12 -12
- package/{actions-DRtd5rpe.mjs.map → actions-BEwmoQjX.mjs.map} +1 -1
- package/{alert-BXserbWZ.mjs → alert-CoXST_AQ.mjs} +11 -11
- package/{alert-BXserbWZ.mjs.map → alert-CoXST_AQ.mjs.map} +1 -1
- package/{bigint-DTkus69Q.mjs → bigint-D0uhiche.mjs} +7 -7
- package/{bigint-DTkus69Q.mjs.map → bigint-D0uhiche.mjs.map} +1 -1
- package/{boolean-DC5WviWG.mjs → boolean-CTCdgV-D.mjs} +10 -10
- package/{boolean-DC5WviWG.mjs.map → boolean-CTCdgV-D.mjs.map} +1 -1
- package/{clipboard-GzUF8F1H.mjs → clipboard-DpDxswGb.mjs} +7 -7
- package/{clipboard-GzUF8F1H.mjs.map → clipboard-DpDxswGb.mjs.map} +1 -1
- package/{common-y26hBhM2.mjs → common-CLTkmLpt.mjs} +15 -15
- package/{common-y26hBhM2.mjs.map → common-CLTkmLpt.mjs.map} +1 -1
- package/components/autorefresh_controller.mjs +1 -1
- package/components/control_button.mjs +1 -1
- package/components/control_button_bar.mjs +2 -2
- package/components/control_menu.mjs +1 -1
- package/components/custom_field.mjs +1 -1
- package/components/exporter.mjs +1 -1
- package/components/fields/bigint.mjs +1 -1
- package/components/fields/boolean.mjs +1 -1
- package/components/fields/date.mjs +1 -1
- package/components/fields/date_time.mjs +1 -1
- package/components/fields/enum.mjs +1 -1
- package/components/fields/integer.mjs +1 -1
- package/components/fields/number.mjs +1 -1
- package/components/fields/string.mjs +1 -1
- package/components/fields/unsigned_integer.mjs +1 -1
- package/components/fields.mjs +9 -9
- package/components/form_with_validation.mjs +1 -1
- package/components/resourceful_alerter.mjs +1 -1
- package/components/resourceful_index.mjs +1 -1
- package/components/resourceful_record.mjs +2 -2
- package/components/resourceful_record_default_form.mjs +1 -1
- package/components/resourceful_record_form.mjs +1 -1
- package/components/sortable.mjs +1 -1
- package/components/svg_icon.mjs +1 -1
- package/components/timezone_picker.mjs +1 -1
- package/components.mjs +23 -23
- package/composables.mjs +11 -11
- package/{custom-D0tUJjUR.mjs → custom-L63bag5r.mjs} +7 -7
- package/{custom-D0tUJjUR.mjs.map → custom-L63bag5r.mjs.map} +1 -1
- package/{date-3y6HlkRS.mjs → date-Bu_GWv3J.mjs} +10 -10
- package/{date-3y6HlkRS.mjs.map → date-Bu_GWv3J.mjs.map} +1 -1
- package/{date_time-Dok0C-ky.mjs → date_time-XbWpsj-a.mjs} +18 -18
- package/{date_time-Dok0C-ky.mjs.map → date_time-XbWpsj-a.mjs.map} +1 -1
- package/{display-C7AHwUDP.mjs → display-BgFCfUhw.mjs} +4 -4
- package/{display-C7AHwUDP.mjs.map → display-BgFCfUhw.mjs.map} +1 -1
- package/{display-8m6WLbhM.mjs → display-DSFGrK61.mjs} +29 -29
- package/{display-8m6WLbhM.mjs.map → display-DSFGrK61.mjs.map} +1 -1
- package/{enum-Y_vMbRQU.mjs → enum-CNS1LcyE.mjs} +9 -9
- package/{enum-Y_vMbRQU.mjs.map → enum-CNS1LcyE.mjs.map} +1 -1
- package/{exceptions-BzaXvPKn.mjs → exceptions-CSGrOAdA.mjs} +2 -2
- package/{exceptions-BzaXvPKn.mjs.map → exceptions-CSGrOAdA.mjs.map} +1 -1
- package/exceptions.mjs +2 -2
- package/factories.mjs +2 -2
- package/{field_composer-BGsudu0f.mjs → field_composer-CqDUYus4.mjs} +3 -3
- package/{field_composer-BGsudu0f.mjs.map → field_composer-CqDUYus4.mjs.map} +1 -1
- package/{form-Zz9ovJUk.mjs → form-xWfoyo_J.mjs} +15 -15
- package/{form-Zz9ovJUk.mjs.map → form-xWfoyo_J.mjs.map} +1 -1
- package/{guards-DkKUpPFY.mjs → guards-DUfveiTB.mjs} +2 -2
- package/{guards-DkKUpPFY.mjs.map → guards-DUfveiTB.mjs.map} +1 -1
- package/guards.mjs +4 -4
- package/helpers.mjs +12 -12
- package/{http-DDqKp3_h.mjs → http-C6gl85rL.mjs} +2 -2
- package/{http-DDqKp3_h.mjs.map → http-C6gl85rL.mjs.map} +1 -1
- package/{http-C_Q-oPS8.mjs → http-DBeWvRRv.mjs} +2 -2
- package/{http-C_Q-oPS8.mjs.map → http-DBeWvRRv.mjs.map} +1 -1
- package/http.mjs +1 -1
- package/{index-BGXumd5X.mjs → index-BttGLFbV.mjs} +3 -3
- package/{index-BGXumd5X.mjs.map → index-BttGLFbV.mjs.map} +1 -1
- package/{index-CKsAcMGI.mjs → index-BuANv93B.mjs} +4 -4
- package/{index-CKsAcMGI.mjs.map → index-BuANv93B.mjs.map} +1 -1
- package/{index-BMbQH0ri.mjs → index-BuM2Non6.mjs} +43 -43
- package/{index-BMbQH0ri.mjs.map → index-BuM2Non6.mjs.map} +1 -1
- package/{index-gEAkqNVM.mjs → index-C-69XC46.mjs} +2 -2
- package/{index-gEAkqNVM.mjs.map → index-C-69XC46.mjs.map} +1 -1
- package/{index-C53bXEIe.mjs → index-C83PbHSi.mjs} +6 -6
- package/{index-C53bXEIe.mjs.map → index-C83PbHSi.mjs.map} +1 -1
- package/{index-5y76H-oT.mjs → index-Cf51NF_C.mjs} +3 -3
- package/{index-5y76H-oT.mjs.map → index-Cf51NF_C.mjs.map} +1 -1
- package/{index-CFXxepQ0.mjs → index-CnRNmJnf.mjs} +8 -8
- package/{index-CFXxepQ0.mjs.map → index-CnRNmJnf.mjs.map} +1 -1
- package/{index-DrvODG-6.mjs → index-D-pRjfro.mjs} +8 -8
- package/{index-DrvODG-6.mjs.map → index-D-pRjfro.mjs.map} +1 -1
- package/{index-Dak2Iq66.mjs → index-DFHFiM3G.mjs} +8 -8
- package/{index-Dak2Iq66.mjs.map → index-DFHFiM3G.mjs.map} +1 -1
- package/{index-BQSLJOMM.mjs → index-xiL4gRps.mjs} +15 -15
- package/{index-BQSLJOMM.mjs.map → index-xiL4gRps.mjs.map} +1 -1
- package/index.mjs +37 -37
- package/{integer-CCFl1__b.mjs → integer-D08s3du-.mjs} +3 -3
- package/{integer-CCFl1__b.mjs.map → integer-D08s3du-.mjs.map} +1 -1
- package/{ioc-VpXEFTA_.mjs → ioc-XSkiYED4.mjs} +2 -2
- package/{ioc-VpXEFTA_.mjs.map → ioc-XSkiYED4.mjs.map} +1 -1
- package/ioc.mjs +1 -1
- package/{mdi-BNDL0Fmp.mjs → mdi-Sfb04KxJ.mjs} +15 -15
- package/{mdi-BNDL0Fmp.mjs.map → mdi-Sfb04KxJ.mjs.map} +1 -1
- package/{number-iw3XUChR.mjs → number-M3fatRCC.mjs} +8 -8
- package/{number-iw3XUChR.mjs.map → number-M3fatRCC.mjs.map} +1 -1
- package/package.json +1 -1
- package/{props-BzOIfizB.mjs → props-CmKs0tOi.mjs} +6 -6
- package/{props-BzOIfizB.mjs.map → props-CmKs0tOi.mjs.map} +1 -1
- package/{props-d2vGsoV2.mjs → props-T2-chZAO.mjs} +4 -4
- package/{props-d2vGsoV2.mjs.map → props-T2-chZAO.mjs.map} +1 -1
- package/{renderers-DzeB-7t5.mjs → renderers-DVerxUh1.mjs} +14 -14
- package/{renderers-DzeB-7t5.mjs.map → renderers-DVerxUh1.mjs.map} +1 -1
- package/{string-CYZ4HJOE.mjs → string-BegCdRUf.mjs} +13 -13
- package/{string-CYZ4HJOE.mjs.map → string-BegCdRUf.mjs.map} +1 -1
- package/{unsigned_integer-CtzLbU9B.mjs → unsigned_integer-JAzC2D19.mjs} +4 -4
- package/{unsigned_integer-CtzLbU9B.mjs.map → unsigned_integer-JAzC2D19.mjs.map} +1 -1
- package/{utils-bmb0VKX5.mjs → utils-DPixZO5a.mjs} +13 -6
- package/utils-DPixZO5a.mjs.map +1 -0
- package/{validation-D9xMBA0E.mjs → validation-CpCLjEty.mjs} +6 -6
- package/{validation-D9xMBA0E.mjs.map → validation-CpCLjEty.mjs.map} +1 -1
- package/{vendor-nhtio-vuetifiable-ZisC21Mr.mjs → vendor-nhtio-vuetifiable--NpO78cs.mjs} +17 -17
- package/{vendor-nhtio-vuetifiable-ZisC21Mr.mjs.map → vendor-nhtio-vuetifiable--NpO78cs.mjs.map} +1 -1
- package/{vendor-xlsx-B6rmmoFO.mjs → vendor-xlsx-Cm0x3txX.mjs} +2 -2
- package/{vendor-xlsx-B6rmmoFO.mjs.map → vendor-xlsx-Cm0x3txX.mjs.map} +1 -1
- package/utils-bmb0VKX5.mjs.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { k as useBrowser } from "./ioc-
|
|
1
|
+
import { k as useBrowser } from "./ioc-XSkiYED4.mjs";
|
|
2
2
|
import { useDisplay } from "vuetify";
|
|
3
|
-
import { t as toUnreactive, f as isHTMLElement } from "./utils-
|
|
4
|
-
import { n as getCurrentInstanceName, S as SUPPORTS_INTERSECTION, d as debounce, I as IN_BROWSER } from "./vendor-nhtio-vuetifiable
|
|
3
|
+
import { t as toUnreactive, f as isHTMLElement } from "./utils-DPixZO5a.mjs";
|
|
4
|
+
import { n as getCurrentInstanceName, S as SUPPORTS_INTERSECTION, d as debounce, I as IN_BROWSER } from "./vendor-nhtio-vuetifiable--NpO78cs.mjs";
|
|
5
5
|
import { shallowRef, reactive, onMounted, watch, onUnmounted, toRefs, triggerRef, nextTick } from "vue";
|
|
6
6
|
const SUPPORTS_RESIZE_OBSERVATION = IN_BROWSER && "ResizeObserver" in window;
|
|
7
7
|
const SUPPORTS_VISUAL_VIEWPORT = IN_BROWSER && "visualViewport" in window;
|
|
@@ -261,4 +261,4 @@ export {
|
|
|
261
261
|
SUPPORTS_VISUAL_VIEWPORT as a,
|
|
262
262
|
useScopedDisplay as u
|
|
263
263
|
};
|
|
264
|
-
//# sourceMappingURL=display-
|
|
264
|
+
//# sourceMappingURL=display-BgFCfUhw.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"display-C7AHwUDP.mjs","sources":["../src/private/ux/display.ts"],"sourcesContent":["import { useBrowser } from '../ioc'\nimport { useDisplay } from 'vuetify'\nimport { toUnreactive } from '../common/utils'\nimport { isHTMLElement } from '../common/guards'\nimport { debounce } from '@nhtio/vuetifiable/util/helpers'\nimport { IN_BROWSER, SUPPORTS_INTERSECTION } from '@nhtio/vuetifiable/util/globals'\nimport { getCurrentInstanceName } from '@nhtio/vuetifiable/util/getCurrentInstance'\nimport {\n reactive,\n shallowRef,\n triggerRef,\n toRefs,\n watch,\n onMounted,\n onUnmounted,\n nextTick,\n} from 'vue'\nimport type { Ref, ComponentPublicInstance, UnwrapRef, WatchStopHandle } from 'vue'\nimport type { DisplayInstance, DisplayBreakpoint, DisplayThresholds } from 'vuetify'\n\nexport const SUPPORTS_RESIZE_OBSERVATION = IN_BROWSER && 'ResizeObserver' in window\n\nexport const SUPPORTS_VISUAL_VIEWPORT = IN_BROWSER && 'visualViewport' in window\n\ntype DisplayPlatform = DisplayInstance['platform']\n\nexport type ReferencedContainer = Ref<HTMLElement | ComponentPublicInstance | null>\n\nexport const ScopedDisplayOrientation = ['landscape', 'portrait', 'square'] as const\nexport type ScopedDisplayOrientation = (typeof ScopedDisplayOrientation)[number]\n\nexport type ScopedDisplayInstance = DisplayInstance & {\n ssr: boolean\n intersecting: Ref<boolean>\n visible: Ref<boolean>\n orientation: Ref<ScopedDisplayOrientation>\n}\n\n// Extract the ref types as non-ref types and exclude functions\ntype InternalReactiveScopedDisplayStateTypes = {\n [key in keyof ScopedDisplayInstance]: ScopedDisplayInstance[key] extends Ref<any>\n ? UnwrapRef<ScopedDisplayInstance[key]>\n : ScopedDisplayInstance[key] extends Function\n ? never\n : ScopedDisplayInstance[key]\n}\n\n// Create a type that only includes the non-excluded keys\ntype InternalReactiveScopedDisplayState = {\n [K in keyof InternalReactiveScopedDisplayStateTypes as InternalReactiveScopedDisplayStateTypes[K] extends never\n ? never\n : K]: InternalReactiveScopedDisplayStateTypes[K]\n}\n\nexport const useScopedDisplay = (\n container: ReferencedContainer,\n name: string = getCurrentInstanceName('resourcefulComposables')\n) => {\n const vuetifyState = useDisplay({ mobile: null }, name)\n const {\n mobile,\n mobileBreakpoint,\n platform,\n thresholds,\n ssr,\n update: vuetifyUseDisplayUpdate,\n } = vuetifyState\n // despite the urge to use a Set here, an array is more peformant for doing simple iterations\n const watchStopHandles: WatchStopHandle[] = []\n let resizeObserver: ResizeObserver | undefined\n let intersectionObserver: IntersectionObserver | undefined\n const width = shallowRef<number>(0)\n const height = shallowRef<number>(0)\n const intersecting = shallowRef<boolean>(false)\n const visible = shallowRef<boolean>(false)\n const state = reactive<Omit<InternalReactiveScopedDisplayState, 'ssr'>>({\n xs: false,\n sm: false,\n md: false,\n lg: false,\n xl: false,\n xxl: false,\n smAndUp: false,\n mdAndUp: false,\n lgAndUp: false,\n xlAndUp: false,\n smAndDown: false,\n mdAndDown: false,\n lgAndDown: false,\n xlAndDown: false,\n name: 'xs' as const,\n width: 0,\n height: 0,\n mobile: false,\n mobileBreakpoint: toUnreactive(mobileBreakpoint),\n platform: toUnreactive(platform),\n thresholds: toUnreactive(thresholds),\n intersecting: false,\n visible: false,\n orientation: 'square' as ScopedDisplayOrientation,\n })\n const resizeObserverHandler = (entries: ResizeObserverEntry[]) => {\n let w: number = 0\n let h: number = 0\n for (const entry of entries) {\n if ('contentBoxSize' in entry && 'undefined' !== typeof entry.contentBoxSize) {\n const contentBoxSize = Array.isArray(entry.contentBoxSize)\n ? (entry.contentBoxSize[0] as ResizeObserverSize)\n : // Old versions of Firefox treat ResizeObserverSize as a single item\n (entry.contentBoxSize as unknown as ResizeObserverSize)\n w = contentBoxSize.inlineSize\n } else {\n w = entry.contentRect.width\n }\n h = entry.contentRect.height\n updateDimensions(w, h)\n }\n }\n const intersectionObserverHandler = (entries: IntersectionObserverEntry[]) => {\n const isIntersecting = entries.some((entry) => entry.isIntersecting)\n const isVisible = entries.some((entry) =>\n 'isVisible' in entry ? (entry as any).isVisible : entry.isIntersecting\n )\n intersecting.value = isIntersecting\n visible.value = isVisible\n triggerRef(intersecting)\n triggerRef(visible)\n }\n // helper utility to ensure that the width and height are updated\n const updateDimensions = (w: number = 0, h: number = 0) => {\n width.value = w\n height.value = h\n triggerRef(width)\n triggerRef(height)\n }\n // an exposed method to force an update of the display state\n const update = () => {\n vuetifyUseDisplayUpdate()\n const el = getContainerHtmlElement()\n if (el) {\n const rect = el.getBoundingClientRect()\n updateDimensions(rect.width, rect.height)\n } else {\n updateDimensions(0, 0)\n }\n }\n // helper utility to get the mobile breakpoint as a number for comparisons\n const getMobileBreakpointAsNumber = () => {\n if (typeof state.mobileBreakpoint === 'number') {\n return state.mobileBreakpoint\n }\n if (state.mobileBreakpoint in state.thresholds) {\n return state.thresholds[state.mobileBreakpoint]\n }\n // fallback to 600\n return 600\n }\n // helper utility to get the element from a referenced value\n // used to get the container element from the reference, and in watchers\n const getReferencedHtmlElement = (value: HTMLElement | ComponentPublicInstance | null) => {\n const browser = useBrowser()\n if (!value || browser.ssr) return undefined\n if (isHTMLElement(value)) return value\n if ('$el' in value && isHTMLElement(value.$el)) {\n return value.$el\n }\n return undefined\n }\n // helper utility to get the referenced container element\n const getContainerHtmlElement = (): HTMLElement | undefined => {\n return getReferencedHtmlElement(container.value)\n }\n // observers for changes in the values from vuetify's useDisplay composable\n const vuetifyUseDisplayMobileObserver = (is: boolean) => {\n if (true === is) {\n state.mobile = true\n } else if (width.value < getMobileBreakpointAsNumber()) {\n state.mobile = true\n } else {\n state.mobile = false\n }\n }\n const vuetifyUseDisplayMobileBreakpointObserver = (is: number | DisplayBreakpoint) => {\n state.mobileBreakpoint = toUnreactive(is)\n queueMicrotask(() => vuetifyUseDisplayMobileObserver(mobile.value))\n }\n const vuetifyUseDisplayPlatformObserver = (is: DisplayPlatform) => {\n state.platform = toUnreactive(is)\n }\n const vuetifyUseDisplayThresholdsObserver = (is: DisplayThresholds) => {\n state.thresholds = toUnreactive(is)\n queueMicrotask(() => vuetifyUseDisplayMobileObserver(mobile.value))\n }\n const containerObserver = (\n is: HTMLElement | ComponentPublicInstance | null,\n was: HTMLElement | ComponentPublicInstance | null | undefined\n ) => {\n const newEl = getReferencedHtmlElement(is)\n const oldEl = getReferencedHtmlElement(was ?? null)\n if (newEl === oldEl) return\n if (intersectionObserver) {\n if (oldEl) {\n intersectionObserver.unobserve(oldEl)\n }\n if (newEl) {\n intersectionObserver.observe(newEl)\n }\n }\n if (resizeObserver) {\n if (oldEl) {\n resizeObserver.unobserve(oldEl)\n }\n if (newEl) {\n resizeObserver.observe(newEl)\n }\n }\n const el = getContainerHtmlElement()\n if (el) {\n const rect = el.getBoundingClientRect()\n updateDimensions(rect.width, rect.height)\n } else {\n updateDimensions(0, 0)\n }\n }\n const dimensionsObserver = debounce(() => {\n state.width = width.value\n state.height = height.value\n vuetifyUseDisplayMobileObserver(mobile.value)\n const xs = width.value < thresholds.value.sm\n const sm = width.value < thresholds.value.md && !xs\n const md = width.value < thresholds.value.lg && !(sm || xs)\n const lg = width.value < thresholds.value.xl && !(md || sm || xs)\n const xl = width.value < thresholds.value.xxl && !(lg || md || sm || xs)\n const xxl = width.value >= thresholds.value.xxl\n const breakpointName = xs ? 'xs' : sm ? 'sm' : md ? 'md' : lg ? 'lg' : xl ? 'xl' : 'xxl'\n const smAndUp = !xs\n const mdAndUp = !(xs || sm)\n const lgAndUp = !(xs || sm || md)\n const xlAndUp = !(xs || sm || md || lg)\n const smAndDown = !(md || lg || xl || xxl)\n const mdAndDown = !(lg || xl || xxl)\n const lgAndDown = !(xl || xxl)\n const xlAndDown = !xxl\n const orientation: ScopedDisplayOrientation =\n width.value > height.value ? 'landscape' : height.value > width.value ? 'portrait' : 'square'\n state.xs = xs\n state.sm = sm\n state.md = md\n state.lg = lg\n state.xl = xl\n state.xxl = xxl\n state.name = breakpointName\n state.smAndUp = smAndUp\n state.mdAndUp = mdAndUp\n state.lgAndUp = lgAndUp\n state.xlAndUp = xlAndUp\n state.smAndDown = smAndDown\n state.mdAndDown = mdAndDown\n state.lgAndDown = lgAndDown\n state.xlAndDown = xlAndDown\n state.orientation = orientation\n }, 50)\n const intersectionAndVisibilityObserver = debounce(() => {\n state.intersecting = intersecting.value\n state.visible = visible.value\n }, 50)\n const windowResizeHandler = debounce(() => {\n // Update Vuetify's display state (handles viewport breakpoints)\n vuetifyUseDisplayUpdate()\n // Give the process a tick and then force an update\n nextTick(update)\n }, 50)\n onMounted(() => {\n watchStopHandles.push(watch(mobile, vuetifyUseDisplayMobileObserver, { immediate: true }))\n watchStopHandles.push(\n watch(mobileBreakpoint, vuetifyUseDisplayMobileBreakpointObserver, { immediate: true })\n )\n watchStopHandles.push(watch(platform, vuetifyUseDisplayPlatformObserver, { immediate: true }))\n watchStopHandles.push(\n watch(thresholds, vuetifyUseDisplayThresholdsObserver, { immediate: true })\n )\n if (SUPPORTS_RESIZE_OBSERVATION) {\n resizeObserver = new ResizeObserver(resizeObserverHandler)\n }\n if (SUPPORTS_INTERSECTION) {\n intersectionObserver = new IntersectionObserver(intersectionObserverHandler)\n }\n watchStopHandles.push(watch(container, containerObserver, { immediate: true }))\n watchStopHandles.push(watch(width, dimensionsObserver, { immediate: true }))\n watchStopHandles.push(watch(height, dimensionsObserver, { immediate: true }))\n watchStopHandles.push(\n watch(intersecting, intersectionAndVisibilityObserver, { immediate: true })\n )\n watchStopHandles.push(watch(visible, intersectionAndVisibilityObserver, { immediate: true }))\n // Add window resize listener\n if (IN_BROWSER) {\n window.addEventListener('resize', windowResizeHandler)\n }\n // Add visual viewport listeners\n if (SUPPORTS_VISUAL_VIEWPORT) {\n window.visualViewport!.addEventListener('resize', windowResizeHandler)\n window.visualViewport!.addEventListener('scroll', windowResizeHandler)\n }\n })\n onUnmounted(() => {\n // Remove window resize listener\n if (IN_BROWSER) {\n window.removeEventListener('resize', windowResizeHandler)\n }\n // Remove visual viewport listeners\n if (SUPPORTS_VISUAL_VIEWPORT) {\n window.visualViewport!.removeEventListener('resize', windowResizeHandler)\n window.visualViewport!.removeEventListener('scroll', windowResizeHandler)\n }\n // clear all of the watch stop handles\n watchStopHandles.forEach((stopHandle) => stopHandle())\n watchStopHandles.splice(0, watchStopHandles.length)\n // cleanup the resize observer\n if (resizeObserver) {\n resizeObserver.disconnect()\n resizeObserver = undefined\n }\n // cleanup the intersection observer\n if (intersectionObserver) {\n intersectionObserver.disconnect()\n intersectionObserver = undefined\n }\n })\n return { ...toRefs(state), update, ssr: !!ssr }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"display-BgFCfUhw.mjs","sources":["../src/private/ux/display.ts"],"sourcesContent":["import { useBrowser } from '../ioc'\nimport { useDisplay } from 'vuetify'\nimport { toUnreactive } from '../common/utils'\nimport { isHTMLElement } from '../common/guards'\nimport { debounce } from '@nhtio/vuetifiable/util/helpers'\nimport { IN_BROWSER, SUPPORTS_INTERSECTION } from '@nhtio/vuetifiable/util/globals'\nimport { getCurrentInstanceName } from '@nhtio/vuetifiable/util/getCurrentInstance'\nimport {\n reactive,\n shallowRef,\n triggerRef,\n toRefs,\n watch,\n onMounted,\n onUnmounted,\n nextTick,\n} from 'vue'\nimport type { Ref, ComponentPublicInstance, UnwrapRef, WatchStopHandle } from 'vue'\nimport type { DisplayInstance, DisplayBreakpoint, DisplayThresholds } from 'vuetify'\n\nexport const SUPPORTS_RESIZE_OBSERVATION = IN_BROWSER && 'ResizeObserver' in window\n\nexport const SUPPORTS_VISUAL_VIEWPORT = IN_BROWSER && 'visualViewport' in window\n\ntype DisplayPlatform = DisplayInstance['platform']\n\nexport type ReferencedContainer = Ref<HTMLElement | ComponentPublicInstance | null>\n\nexport const ScopedDisplayOrientation = ['landscape', 'portrait', 'square'] as const\nexport type ScopedDisplayOrientation = (typeof ScopedDisplayOrientation)[number]\n\nexport type ScopedDisplayInstance = DisplayInstance & {\n ssr: boolean\n intersecting: Ref<boolean>\n visible: Ref<boolean>\n orientation: Ref<ScopedDisplayOrientation>\n}\n\n// Extract the ref types as non-ref types and exclude functions\ntype InternalReactiveScopedDisplayStateTypes = {\n [key in keyof ScopedDisplayInstance]: ScopedDisplayInstance[key] extends Ref<any>\n ? UnwrapRef<ScopedDisplayInstance[key]>\n : ScopedDisplayInstance[key] extends Function\n ? never\n : ScopedDisplayInstance[key]\n}\n\n// Create a type that only includes the non-excluded keys\ntype InternalReactiveScopedDisplayState = {\n [K in keyof InternalReactiveScopedDisplayStateTypes as InternalReactiveScopedDisplayStateTypes[K] extends never\n ? never\n : K]: InternalReactiveScopedDisplayStateTypes[K]\n}\n\nexport const useScopedDisplay = (\n container: ReferencedContainer,\n name: string = getCurrentInstanceName('resourcefulComposables')\n) => {\n const vuetifyState = useDisplay({ mobile: null }, name)\n const {\n mobile,\n mobileBreakpoint,\n platform,\n thresholds,\n ssr,\n update: vuetifyUseDisplayUpdate,\n } = vuetifyState\n // despite the urge to use a Set here, an array is more peformant for doing simple iterations\n const watchStopHandles: WatchStopHandle[] = []\n let resizeObserver: ResizeObserver | undefined\n let intersectionObserver: IntersectionObserver | undefined\n const width = shallowRef<number>(0)\n const height = shallowRef<number>(0)\n const intersecting = shallowRef<boolean>(false)\n const visible = shallowRef<boolean>(false)\n const state = reactive<Omit<InternalReactiveScopedDisplayState, 'ssr'>>({\n xs: false,\n sm: false,\n md: false,\n lg: false,\n xl: false,\n xxl: false,\n smAndUp: false,\n mdAndUp: false,\n lgAndUp: false,\n xlAndUp: false,\n smAndDown: false,\n mdAndDown: false,\n lgAndDown: false,\n xlAndDown: false,\n name: 'xs' as const,\n width: 0,\n height: 0,\n mobile: false,\n mobileBreakpoint: toUnreactive(mobileBreakpoint),\n platform: toUnreactive(platform),\n thresholds: toUnreactive(thresholds),\n intersecting: false,\n visible: false,\n orientation: 'square' as ScopedDisplayOrientation,\n })\n const resizeObserverHandler = (entries: ResizeObserverEntry[]) => {\n let w: number = 0\n let h: number = 0\n for (const entry of entries) {\n if ('contentBoxSize' in entry && 'undefined' !== typeof entry.contentBoxSize) {\n const contentBoxSize = Array.isArray(entry.contentBoxSize)\n ? (entry.contentBoxSize[0] as ResizeObserverSize)\n : // Old versions of Firefox treat ResizeObserverSize as a single item\n (entry.contentBoxSize as unknown as ResizeObserverSize)\n w = contentBoxSize.inlineSize\n } else {\n w = entry.contentRect.width\n }\n h = entry.contentRect.height\n updateDimensions(w, h)\n }\n }\n const intersectionObserverHandler = (entries: IntersectionObserverEntry[]) => {\n const isIntersecting = entries.some((entry) => entry.isIntersecting)\n const isVisible = entries.some((entry) =>\n 'isVisible' in entry ? (entry as any).isVisible : entry.isIntersecting\n )\n intersecting.value = isIntersecting\n visible.value = isVisible\n triggerRef(intersecting)\n triggerRef(visible)\n }\n // helper utility to ensure that the width and height are updated\n const updateDimensions = (w: number = 0, h: number = 0) => {\n width.value = w\n height.value = h\n triggerRef(width)\n triggerRef(height)\n }\n // an exposed method to force an update of the display state\n const update = () => {\n vuetifyUseDisplayUpdate()\n const el = getContainerHtmlElement()\n if (el) {\n const rect = el.getBoundingClientRect()\n updateDimensions(rect.width, rect.height)\n } else {\n updateDimensions(0, 0)\n }\n }\n // helper utility to get the mobile breakpoint as a number for comparisons\n const getMobileBreakpointAsNumber = () => {\n if (typeof state.mobileBreakpoint === 'number') {\n return state.mobileBreakpoint\n }\n if (state.mobileBreakpoint in state.thresholds) {\n return state.thresholds[state.mobileBreakpoint]\n }\n // fallback to 600\n return 600\n }\n // helper utility to get the element from a referenced value\n // used to get the container element from the reference, and in watchers\n const getReferencedHtmlElement = (value: HTMLElement | ComponentPublicInstance | null) => {\n const browser = useBrowser()\n if (!value || browser.ssr) return undefined\n if (isHTMLElement(value)) return value\n if ('$el' in value && isHTMLElement(value.$el)) {\n return value.$el\n }\n return undefined\n }\n // helper utility to get the referenced container element\n const getContainerHtmlElement = (): HTMLElement | undefined => {\n return getReferencedHtmlElement(container.value)\n }\n // observers for changes in the values from vuetify's useDisplay composable\n const vuetifyUseDisplayMobileObserver = (is: boolean) => {\n if (true === is) {\n state.mobile = true\n } else if (width.value < getMobileBreakpointAsNumber()) {\n state.mobile = true\n } else {\n state.mobile = false\n }\n }\n const vuetifyUseDisplayMobileBreakpointObserver = (is: number | DisplayBreakpoint) => {\n state.mobileBreakpoint = toUnreactive(is)\n queueMicrotask(() => vuetifyUseDisplayMobileObserver(mobile.value))\n }\n const vuetifyUseDisplayPlatformObserver = (is: DisplayPlatform) => {\n state.platform = toUnreactive(is)\n }\n const vuetifyUseDisplayThresholdsObserver = (is: DisplayThresholds) => {\n state.thresholds = toUnreactive(is)\n queueMicrotask(() => vuetifyUseDisplayMobileObserver(mobile.value))\n }\n const containerObserver = (\n is: HTMLElement | ComponentPublicInstance | null,\n was: HTMLElement | ComponentPublicInstance | null | undefined\n ) => {\n const newEl = getReferencedHtmlElement(is)\n const oldEl = getReferencedHtmlElement(was ?? null)\n if (newEl === oldEl) return\n if (intersectionObserver) {\n if (oldEl) {\n intersectionObserver.unobserve(oldEl)\n }\n if (newEl) {\n intersectionObserver.observe(newEl)\n }\n }\n if (resizeObserver) {\n if (oldEl) {\n resizeObserver.unobserve(oldEl)\n }\n if (newEl) {\n resizeObserver.observe(newEl)\n }\n }\n const el = getContainerHtmlElement()\n if (el) {\n const rect = el.getBoundingClientRect()\n updateDimensions(rect.width, rect.height)\n } else {\n updateDimensions(0, 0)\n }\n }\n const dimensionsObserver = debounce(() => {\n state.width = width.value\n state.height = height.value\n vuetifyUseDisplayMobileObserver(mobile.value)\n const xs = width.value < thresholds.value.sm\n const sm = width.value < thresholds.value.md && !xs\n const md = width.value < thresholds.value.lg && !(sm || xs)\n const lg = width.value < thresholds.value.xl && !(md || sm || xs)\n const xl = width.value < thresholds.value.xxl && !(lg || md || sm || xs)\n const xxl = width.value >= thresholds.value.xxl\n const breakpointName = xs ? 'xs' : sm ? 'sm' : md ? 'md' : lg ? 'lg' : xl ? 'xl' : 'xxl'\n const smAndUp = !xs\n const mdAndUp = !(xs || sm)\n const lgAndUp = !(xs || sm || md)\n const xlAndUp = !(xs || sm || md || lg)\n const smAndDown = !(md || lg || xl || xxl)\n const mdAndDown = !(lg || xl || xxl)\n const lgAndDown = !(xl || xxl)\n const xlAndDown = !xxl\n const orientation: ScopedDisplayOrientation =\n width.value > height.value ? 'landscape' : height.value > width.value ? 'portrait' : 'square'\n state.xs = xs\n state.sm = sm\n state.md = md\n state.lg = lg\n state.xl = xl\n state.xxl = xxl\n state.name = breakpointName\n state.smAndUp = smAndUp\n state.mdAndUp = mdAndUp\n state.lgAndUp = lgAndUp\n state.xlAndUp = xlAndUp\n state.smAndDown = smAndDown\n state.mdAndDown = mdAndDown\n state.lgAndDown = lgAndDown\n state.xlAndDown = xlAndDown\n state.orientation = orientation\n }, 50)\n const intersectionAndVisibilityObserver = debounce(() => {\n state.intersecting = intersecting.value\n state.visible = visible.value\n }, 50)\n const windowResizeHandler = debounce(() => {\n // Update Vuetify's display state (handles viewport breakpoints)\n vuetifyUseDisplayUpdate()\n // Give the process a tick and then force an update\n nextTick(update)\n }, 50)\n onMounted(() => {\n watchStopHandles.push(watch(mobile, vuetifyUseDisplayMobileObserver, { immediate: true }))\n watchStopHandles.push(\n watch(mobileBreakpoint, vuetifyUseDisplayMobileBreakpointObserver, { immediate: true })\n )\n watchStopHandles.push(watch(platform, vuetifyUseDisplayPlatformObserver, { immediate: true }))\n watchStopHandles.push(\n watch(thresholds, vuetifyUseDisplayThresholdsObserver, { immediate: true })\n )\n if (SUPPORTS_RESIZE_OBSERVATION) {\n resizeObserver = new ResizeObserver(resizeObserverHandler)\n }\n if (SUPPORTS_INTERSECTION) {\n intersectionObserver = new IntersectionObserver(intersectionObserverHandler)\n }\n watchStopHandles.push(watch(container, containerObserver, { immediate: true }))\n watchStopHandles.push(watch(width, dimensionsObserver, { immediate: true }))\n watchStopHandles.push(watch(height, dimensionsObserver, { immediate: true }))\n watchStopHandles.push(\n watch(intersecting, intersectionAndVisibilityObserver, { immediate: true })\n )\n watchStopHandles.push(watch(visible, intersectionAndVisibilityObserver, { immediate: true }))\n // Add window resize listener\n if (IN_BROWSER) {\n window.addEventListener('resize', windowResizeHandler)\n }\n // Add visual viewport listeners\n if (SUPPORTS_VISUAL_VIEWPORT) {\n window.visualViewport!.addEventListener('resize', windowResizeHandler)\n window.visualViewport!.addEventListener('scroll', windowResizeHandler)\n }\n })\n onUnmounted(() => {\n // Remove window resize listener\n if (IN_BROWSER) {\n window.removeEventListener('resize', windowResizeHandler)\n }\n // Remove visual viewport listeners\n if (SUPPORTS_VISUAL_VIEWPORT) {\n window.visualViewport!.removeEventListener('resize', windowResizeHandler)\n window.visualViewport!.removeEventListener('scroll', windowResizeHandler)\n }\n // clear all of the watch stop handles\n watchStopHandles.forEach((stopHandle) => stopHandle())\n watchStopHandles.splice(0, watchStopHandles.length)\n // cleanup the resize observer\n if (resizeObserver) {\n resizeObserver.disconnect()\n resizeObserver = undefined\n }\n // cleanup the intersection observer\n if (intersectionObserver) {\n intersectionObserver.disconnect()\n intersectionObserver = undefined\n }\n })\n return { ...toRefs(state), update, ssr: !!ssr }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -3816,21 +3816,21 @@ export {
|
|
|
3816
3816
|
omit as J,
|
|
3817
3817
|
focusChild as K,
|
|
3818
3818
|
getNextElement as L,
|
|
3819
|
-
|
|
3820
|
-
|
|
3821
|
-
|
|
3822
|
-
|
|
3823
|
-
|
|
3824
|
-
|
|
3825
|
-
|
|
3826
|
-
|
|
3827
|
-
|
|
3819
|
+
VSlideYTransition as M,
|
|
3820
|
+
filterInputAttrs as N,
|
|
3821
|
+
VBtnGroup as O,
|
|
3822
|
+
breakpoints as P,
|
|
3823
|
+
getCurrentInstance as Q,
|
|
3824
|
+
useVariant as R,
|
|
3825
|
+
useToggleScope as S,
|
|
3826
|
+
refElement as T,
|
|
3827
|
+
genOverlays as U,
|
|
3828
3828
|
VProgressLinear as V,
|
|
3829
|
-
|
|
3830
|
-
|
|
3831
|
-
|
|
3832
|
-
|
|
3833
|
-
|
|
3829
|
+
makeVariantProps as W,
|
|
3830
|
+
useLocale as X,
|
|
3831
|
+
clamp as Y,
|
|
3832
|
+
extractNumber as Z,
|
|
3833
|
+
escapeForRegex as _,
|
|
3834
3834
|
VImg as a,
|
|
3835
3835
|
makeLoaderProps as a$,
|
|
3836
3836
|
SUPPORTS_MATCH_MEDIA as a0,
|
|
@@ -3923,22 +3923,22 @@ export {
|
|
|
3923
3923
|
isEmpty as bn,
|
|
3924
3924
|
VBtn as c,
|
|
3925
3925
|
VIcon as d,
|
|
3926
|
-
|
|
3927
|
-
|
|
3926
|
+
provideTheme as e,
|
|
3927
|
+
useBackgroundColor as f,
|
|
3928
3928
|
genericComponent as g,
|
|
3929
|
-
|
|
3930
|
-
|
|
3931
|
-
|
|
3932
|
-
|
|
3933
|
-
|
|
3934
|
-
|
|
3935
|
-
|
|
3936
|
-
|
|
3929
|
+
useDimension as h,
|
|
3930
|
+
useDisplay as i,
|
|
3931
|
+
useRender as j,
|
|
3932
|
+
VDefaultsProvider as k,
|
|
3933
|
+
convertToUnit as l,
|
|
3934
|
+
makeThemeProps as m,
|
|
3935
|
+
makeSizeProps as n,
|
|
3936
|
+
makeDimensionProps as o,
|
|
3937
3937
|
propsFactory as p,
|
|
3938
|
-
|
|
3939
|
-
|
|
3940
|
-
|
|
3941
|
-
|
|
3938
|
+
makeComponentProps as q,
|
|
3939
|
+
IconValue as r,
|
|
3940
|
+
IN_BROWSER as s,
|
|
3941
|
+
focusableChildren as t,
|
|
3942
3942
|
useProxiedModel as u,
|
|
3943
3943
|
useBorder as v,
|
|
3944
3944
|
useElevation as w,
|
|
@@ -3946,4 +3946,4 @@ export {
|
|
|
3946
3946
|
usePosition as y,
|
|
3947
3947
|
useRounded as z
|
|
3948
3948
|
};
|
|
3949
|
-
//# sourceMappingURL=display-
|
|
3949
|
+
//# sourceMappingURL=display-DSFGrK61.mjs.map
|