@vuetify/nightly 3.5.3-dev.2024-02-08 → 3.5.3-dev.2024-02-25

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 (52) hide show
  1. package/CHANGELOG.md +4 -2
  2. package/dist/json/attributes.json +5 -5
  3. package/dist/json/importMap-labs.json +8 -8
  4. package/dist/json/importMap.json +126 -126
  5. package/dist/json/web-types.json +6 -6
  6. package/dist/vuetify-labs.css +2131 -2131
  7. package/dist/vuetify-labs.d.ts +22 -21
  8. package/dist/vuetify-labs.esm.js +58 -62
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +57 -61
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.css +1360 -1360
  13. package/dist/vuetify.d.ts +62 -61
  14. package/dist/vuetify.esm.js +58 -62
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +57 -61
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +2 -2
  19. package/dist/vuetify.min.js +909 -914
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/components/VApp/VApp.mjs +5 -2
  22. package/lib/components/VApp/VApp.mjs.map +1 -1
  23. package/lib/components/VApp/index.d.mts +6 -6
  24. package/lib/components/VAppBar/VAppBar.mjs +5 -5
  25. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  26. package/lib/components/VAppBar/index.d.mts +2 -2
  27. package/lib/components/VBottomNavigation/VBottomNavigation.mjs +5 -3
  28. package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
  29. package/lib/components/VBottomNavigation/index.d.mts +2 -2
  30. package/lib/components/VFooter/VFooter.mjs +3 -2
  31. package/lib/components/VFooter/VFooter.mjs.map +1 -1
  32. package/lib/components/VLabel/VLabel.sass +1 -1
  33. package/lib/components/VLabel/_variables.scss +1 -0
  34. package/lib/components/VLayout/VLayout.mjs +5 -2
  35. package/lib/components/VLayout/VLayout.mjs.map +1 -1
  36. package/lib/components/VLayout/VLayoutItem.mjs +6 -4
  37. package/lib/components/VLayout/VLayoutItem.mjs.map +1 -1
  38. package/lib/components/VLayout/index.d.mts +9 -9
  39. package/lib/components/VMain/VMain.mjs +3 -2
  40. package/lib/components/VMain/VMain.mjs.map +1 -1
  41. package/lib/components/VMain/index.d.mts +2 -2
  42. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +7 -7
  43. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  44. package/lib/components/index.d.mts +21 -21
  45. package/lib/composables/layout.mjs +14 -37
  46. package/lib/composables/layout.mjs.map +1 -1
  47. package/lib/entry-bundler.mjs +1 -1
  48. package/lib/framework.mjs +1 -1
  49. package/lib/index.d.mts +41 -40
  50. package/lib/util/helpers.mjs +11 -1
  51. package/lib/util/helpers.mjs.map +1 -1
  52. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import { createVNode as _createVNode } from "vue";
1
+ import { createVNode as _createVNode, Fragment as _Fragment } from "vue";
2
2
  // Styles
3
3
  import "./VApp.css";
4
4
 
@@ -7,6 +7,7 @@ import { makeComponentProps } from "../../composables/component.mjs";
7
7
  import { createLayout, makeLayoutProps } from "../../composables/layout.mjs";
8
8
  import { useRtl } from "../../composables/locale.mjs";
9
9
  import { makeThemeProps, provideTheme } from "../../composables/theme.mjs"; // Utilities
10
+ import { Suspense } from 'vue';
10
11
  import { genericComponent, propsFactory, useRender } from "../../util/index.mjs";
11
12
  export const makeVAppProps = propsFactory({
12
13
  ...makeComponentProps(),
@@ -38,7 +39,9 @@ export const VApp = genericComponent()({
38
39
  "style": [props.style]
39
40
  }, [_createVNode("div", {
40
41
  "class": "v-application__wrap"
41
- }, [slots.default?.()])]));
42
+ }, [_createVNode(Suspense, null, {
43
+ default: () => [_createVNode(_Fragment, null, [slots.default?.()])]
44
+ })])]));
42
45
  return {
43
46
  getLayoutItem,
44
47
  items,
@@ -1 +1 @@
1
- {"version":3,"file":"VApp.mjs","names":["makeComponentProps","createLayout","makeLayoutProps","useRtl","makeThemeProps","provideTheme","genericComponent","propsFactory","useRender","makeVAppProps","fullHeight","VApp","name","props","setup","_ref","slots","theme","layoutClasses","getLayoutItem","items","layoutRef","rtlClasses","_createVNode","themeClasses","value","class","style","default"],"sources":["../../../src/components/VApp/VApp.tsx"],"sourcesContent":["// Styles\nimport './VApp.sass'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { createLayout, makeLayoutProps } from '@/composables/layout'\nimport { useRtl } from '@/composables/locale'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVAppProps = propsFactory({\n ...makeComponentProps(),\n ...makeLayoutProps({ fullHeight: true }),\n ...makeThemeProps(),\n}, 'VApp')\n\nexport const VApp = genericComponent()({\n name: 'VApp',\n\n props: makeVAppProps(),\n\n setup (props, { slots }) {\n const theme = provideTheme(props)\n const { layoutClasses, getLayoutItem, items, layoutRef } = createLayout(props)\n const { rtlClasses } = useRtl()\n\n useRender(() => (\n <div\n ref={ layoutRef }\n class={[\n 'v-application',\n theme.themeClasses.value,\n layoutClasses.value,\n rtlClasses.value,\n props.class,\n ]}\n style={[\n props.style,\n ]}\n >\n <div class=\"v-application__wrap\">\n { slots.default?.() }\n </div>\n </div>\n ))\n\n return {\n getLayoutItem,\n items,\n theme,\n }\n },\n})\n\nexport type VApp = InstanceType<typeof VApp>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,kBAAkB;AAAA,SAClBC,YAAY,EAAEC,eAAe;AAAA,SAC7BC,MAAM;AAAA,SACNC,cAAc,EAAEC,YAAY,uCAErC;AAAA,SACSC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS;AAElD,OAAO,MAAMC,aAAa,GAAGF,YAAY,CAAC;EACxC,GAAGP,kBAAkB,CAAC,CAAC;EACvB,GAAGE,eAAe,CAAC;IAAEQ,UAAU,EAAE;EAAK,CAAC,CAAC;EACxC,GAAGN,cAAc,CAAC;AACpB,CAAC,EAAE,MAAM,CAAC;AAEV,OAAO,MAAMO,IAAI,GAAGL,gBAAgB,CAAC,CAAC,CAAC;EACrCM,IAAI,EAAE,MAAM;EAEZC,KAAK,EAAEJ,aAAa,CAAC,CAAC;EAEtBK,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAME,KAAK,GAAGZ,YAAY,CAACQ,KAAK,CAAC;IACjC,MAAM;MAAEK,aAAa;MAAEC,aAAa;MAAEC,KAAK;MAAEC;IAAU,CAAC,GAAGpB,YAAY,CAACY,KAAK,CAAC;IAC9E,MAAM;MAAES;IAAW,CAAC,GAAGnB,MAAM,CAAC,CAAC;IAE/BK,SAAS,CAAC,MAAAe,YAAA;MAAA,OAEAF,SAAS;MAAA,SACR,CACL,eAAe,EACfJ,KAAK,CAACO,YAAY,CAACC,KAAK,EACxBP,aAAa,CAACO,KAAK,EACnBH,UAAU,CAACG,KAAK,EAChBZ,KAAK,CAACa,KAAK,CACZ;MAAA,SACM,CACLb,KAAK,CAACc,KAAK;IACZ,IAAAJ,YAAA;MAAA;IAAA,IAGGP,KAAK,CAACY,OAAO,GAAG,CAAC,IAGxB,CAAC;IAEF,OAAO;MACLT,aAAa;MACbC,KAAK;MACLH;IACF,CAAC;EACH;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"VApp.mjs","names":["makeComponentProps","createLayout","makeLayoutProps","useRtl","makeThemeProps","provideTheme","Suspense","genericComponent","propsFactory","useRender","makeVAppProps","fullHeight","VApp","name","props","setup","_ref","slots","theme","layoutClasses","getLayoutItem","items","layoutRef","rtlClasses","_createVNode","themeClasses","value","class","style","default","_Fragment"],"sources":["../../../src/components/VApp/VApp.tsx"],"sourcesContent":["// Styles\nimport './VApp.sass'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { createLayout, makeLayoutProps } from '@/composables/layout'\nimport { useRtl } from '@/composables/locale'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { Suspense } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVAppProps = propsFactory({\n ...makeComponentProps(),\n ...makeLayoutProps({ fullHeight: true }),\n ...makeThemeProps(),\n}, 'VApp')\n\nexport const VApp = genericComponent()({\n name: 'VApp',\n\n props: makeVAppProps(),\n\n setup (props, { slots }) {\n const theme = provideTheme(props)\n const { layoutClasses, getLayoutItem, items, layoutRef } = createLayout(props)\n const { rtlClasses } = useRtl()\n\n useRender(() => (\n <div\n ref={ layoutRef }\n class={[\n 'v-application',\n theme.themeClasses.value,\n layoutClasses.value,\n rtlClasses.value,\n props.class,\n ]}\n style={[\n props.style,\n ]}\n >\n <div class=\"v-application__wrap\">\n <Suspense>\n <>\n { slots.default?.() }\n </>\n </Suspense>\n </div>\n </div>\n ))\n\n return {\n getLayoutItem,\n items,\n theme,\n }\n },\n})\n\nexport type VApp = InstanceType<typeof VApp>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,kBAAkB;AAAA,SAClBC,YAAY,EAAEC,eAAe;AAAA,SAC7BC,MAAM;AAAA,SACNC,cAAc,EAAEC,YAAY,uCAErC;AACA,SAASC,QAAQ,QAAQ,KAAK;AAAA,SACrBC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS;AAElD,OAAO,MAAMC,aAAa,GAAGF,YAAY,CAAC;EACxC,GAAGR,kBAAkB,CAAC,CAAC;EACvB,GAAGE,eAAe,CAAC;IAAES,UAAU,EAAE;EAAK,CAAC,CAAC;EACxC,GAAGP,cAAc,CAAC;AACpB,CAAC,EAAE,MAAM,CAAC;AAEV,OAAO,MAAMQ,IAAI,GAAGL,gBAAgB,CAAC,CAAC,CAAC;EACrCM,IAAI,EAAE,MAAM;EAEZC,KAAK,EAAEJ,aAAa,CAAC,CAAC;EAEtBK,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAME,KAAK,GAAGb,YAAY,CAACS,KAAK,CAAC;IACjC,MAAM;MAAEK,aAAa;MAAEC,aAAa;MAAEC,KAAK;MAAEC;IAAU,CAAC,GAAGrB,YAAY,CAACa,KAAK,CAAC;IAC9E,MAAM;MAAES;IAAW,CAAC,GAAGpB,MAAM,CAAC,CAAC;IAE/BM,SAAS,CAAC,MAAAe,YAAA;MAAA,OAEAF,SAAS;MAAA,SACR,CACL,eAAe,EACfJ,KAAK,CAACO,YAAY,CAACC,KAAK,EACxBP,aAAa,CAACO,KAAK,EACnBH,UAAU,CAACG,KAAK,EAChBZ,KAAK,CAACa,KAAK,CACZ;MAAA,SACM,CACLb,KAAK,CAACc,KAAK;IACZ,IAAAJ,YAAA;MAAA;IAAA,IAAAA,YAAA,CAAAlB,QAAA;MAAAuB,OAAA,EAAAA,CAAA,MAAAL,YAAA,CAAAM,SAAA,SAKOb,KAAK,CAACY,OAAO,GAAG,CAAC;IAAA,MAK5B,CAAC;IAEF,OAAO;MACLT,aAAa;MACbC,KAAK;MACLH;IACF,CAAC;EACH;AACF,CAAC,CAAC"}
@@ -74,7 +74,7 @@ declare const VApp: {
74
74
  right: number;
75
75
  id: string;
76
76
  } | undefined;
77
- items: vue.ComputedRef<{
77
+ items: Readonly<vue.Ref<{
78
78
  size: number;
79
79
  position: "left" | "top" | "bottom" | "right";
80
80
  top: number;
@@ -82,7 +82,7 @@ declare const VApp: {
82
82
  left: number;
83
83
  right: number;
84
84
  id: string;
85
- }[]>;
85
+ }[]>>;
86
86
  theme: ThemeInstance;
87
87
  }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
88
88
  style: vue.StyleValue;
@@ -140,7 +140,7 @@ declare const VApp: {
140
140
  right: number;
141
141
  id: string;
142
142
  } | undefined;
143
- items: vue.ComputedRef<{
143
+ items: Readonly<vue.Ref<{
144
144
  size: number;
145
145
  position: "left" | "top" | "bottom" | "right";
146
146
  top: number;
@@ -148,7 +148,7 @@ declare const VApp: {
148
148
  left: number;
149
149
  right: number;
150
150
  id: string;
151
- }[]>;
151
+ }[]>>;
152
152
  theme: ThemeInstance;
153
153
  }, {}, {}, {}, {
154
154
  style: vue.StyleValue;
@@ -183,7 +183,7 @@ declare const VApp: {
183
183
  right: number;
184
184
  id: string;
185
185
  } | undefined;
186
- items: vue.ComputedRef<{
186
+ items: Readonly<vue.Ref<{
187
187
  size: number;
188
188
  position: "left" | "top" | "bottom" | "right";
189
189
  top: number;
@@ -191,7 +191,7 @@ declare const VApp: {
191
191
  left: number;
192
192
  right: number;
193
193
  id: string;
194
- }[]>;
194
+ }[]>>;
195
195
  theme: ThemeInstance;
196
196
  }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
197
197
  style: vue.StyleValue;
@@ -74,9 +74,8 @@ export const VAppBar = genericComponent()({
74
74
  const isFlat = computed(() => props.flat || scrollBehavior.value.elevate && (scrollBehavior.value.inverted ? currentScroll.value > 0 : currentScroll.value === 0));
75
75
  const opacity = computed(() => scrollBehavior.value.fadeImage ? scrollBehavior.value.inverted ? 1 - scrollRatio.value : scrollRatio.value : undefined);
76
76
  const height = computed(() => {
77
- if (scrollBehavior.value.hide && scrollBehavior.value.inverted) return 0;
78
- const height = vToolbarRef.value?.contentHeight ?? 0;
79
- const extensionHeight = vToolbarRef.value?.extensionHeight ?? 0;
77
+ const height = Number(vToolbarRef.value?.contentHeight ?? props.height);
78
+ const extensionHeight = Number(vToolbarRef.value?.extensionHeight ?? 0);
80
79
  return height + extensionHeight;
81
80
  });
82
81
  useToggleScope(computed(() => !!props.scrollBehavior), () => {
@@ -96,7 +95,8 @@ export const VAppBar = genericComponent()({
96
95
  ssrBootStyles
97
96
  } = useSsrBoot();
98
97
  const {
99
- layoutItemStyles
98
+ layoutItemStyles,
99
+ layoutIsReady
100
100
  } = useLayoutItem({
101
101
  id: props.name,
102
102
  order: computed(() => parseInt(props.order, 10)),
@@ -124,7 +124,7 @@ export const VAppBar = genericComponent()({
124
124
  "flat": isFlat.value
125
125
  }), slots);
126
126
  });
127
- return {};
127
+ return layoutIsReady;
128
128
  }
129
129
  });
130
130
  //# sourceMappingURL=VAppBar.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"VAppBar.mjs","names":["makeVToolbarProps","VToolbar","makeLayoutItemProps","useLayoutItem","useProxiedModel","makeScrollProps","useScroll","useSsrBoot","useToggleScope","computed","ref","shallowRef","toRef","watchEffect","genericComponent","propsFactory","useRender","makeVAppBarProps","scrollBehavior","String","modelValue","type","Boolean","default","location","validator","value","includes","height","Number","VAppBar","name","props","emits","setup","_ref","slots","vToolbarRef","isActive","behavior","Set","split","hide","has","inverted","collapse","elevate","fadeImage","canScroll","currentScroll","scrollThreshold","isScrollingUp","scrollRatio","isCollapsed","isFlat","flat","opacity","undefined","contentHeight","extensionHeight","ssrBootStyles","layoutItemStyles","id","order","parseInt","position","layoutSize","elementSize","active","absolute","toolbarProps","filterProps","_createVNode","_mergeProps","class","style"],"sources":["../../../src/components/VAppBar/VAppBar.tsx"],"sourcesContent":["// Styles\nimport './VAppBar.sass'\n\n// Components\nimport { makeVToolbarProps, VToolbar } from '@/components/VToolbar/VToolbar'\n\n// Composables\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeScrollProps, useScroll } from '@/composables/scroll'\nimport { useSsrBoot } from '@/composables/ssrBoot'\nimport { useToggleScope } from '@/composables/toggleScope'\n\n// Utilities\nimport { computed, ref, shallowRef, toRef, watchEffect } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VToolbarSlots } from '@/components/VToolbar/VToolbar'\n\nexport const makeVAppBarProps = propsFactory({\n scrollBehavior: String as PropType<'hide' | 'inverted' | 'collapse' | 'elevate' | 'fade-image' | (string & {})>,\n modelValue: {\n type: Boolean,\n default: true,\n },\n location: {\n type: String as PropType<'top' | 'bottom'>,\n default: 'top',\n validator: (value: any) => ['top', 'bottom'].includes(value),\n },\n\n ...makeVToolbarProps(),\n ...makeLayoutItemProps(),\n ...makeScrollProps(),\n\n height: {\n type: [Number, String],\n default: 64,\n },\n}, 'VAppBar')\n\nexport const VAppBar = genericComponent<VToolbarSlots>()({\n name: 'VAppBar',\n\n props: makeVAppBarProps(),\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const vToolbarRef = ref<VToolbar>()\n const isActive = useProxiedModel(props, 'modelValue')\n const scrollBehavior = computed(() => {\n const behavior = new Set(props.scrollBehavior?.split(' ') ?? [])\n return {\n hide: behavior.has('hide'),\n // fullyHide: behavior.has('fully-hide'),\n inverted: behavior.has('inverted'),\n collapse: behavior.has('collapse'),\n elevate: behavior.has('elevate'),\n fadeImage: behavior.has('fade-image'),\n // shrink: behavior.has('shrink'),\n }\n })\n const canScroll = computed(() => {\n const behavior = scrollBehavior.value\n return (\n behavior.hide ||\n // behavior.fullyHide ||\n behavior.inverted ||\n behavior.collapse ||\n behavior.elevate ||\n behavior.fadeImage ||\n // behavior.shrink ||\n !isActive.value\n )\n })\n const {\n currentScroll,\n scrollThreshold,\n isScrollingUp,\n scrollRatio,\n } = useScroll(props, { canScroll })\n\n const isCollapsed = computed(() => props.collapse || (\n scrollBehavior.value.collapse &&\n (scrollBehavior.value.inverted ? scrollRatio.value > 0 : scrollRatio.value === 0)\n ))\n const isFlat = computed(() => props.flat || (\n scrollBehavior.value.elevate &&\n (scrollBehavior.value.inverted ? currentScroll.value > 0 : currentScroll.value === 0)\n ))\n const opacity = computed(() => (\n scrollBehavior.value.fadeImage\n ? (scrollBehavior.value.inverted ? 1 - scrollRatio.value : scrollRatio.value)\n : undefined\n ))\n const height = computed(() => {\n if (scrollBehavior.value.hide && scrollBehavior.value.inverted) return 0\n\n const height = vToolbarRef.value?.contentHeight ?? 0\n const extensionHeight = vToolbarRef.value?.extensionHeight ?? 0\n\n return (height + extensionHeight)\n })\n\n useToggleScope(computed(() => !!props.scrollBehavior), () => {\n watchEffect(() => {\n if (scrollBehavior.value.hide) {\n if (scrollBehavior.value.inverted) {\n isActive.value = currentScroll.value > scrollThreshold.value\n } else {\n isActive.value = isScrollingUp.value || (currentScroll.value < scrollThreshold.value)\n }\n } else {\n isActive.value = true\n }\n })\n })\n\n const { ssrBootStyles } = useSsrBoot()\n const { layoutItemStyles } = useLayoutItem({\n id: props.name,\n order: computed(() => parseInt(props.order, 10)),\n position: toRef(props, 'location'),\n layoutSize: height,\n elementSize: shallowRef(undefined),\n active: isActive,\n absolute: toRef(props, 'absolute'),\n })\n\n useRender(() => {\n const toolbarProps = VToolbar.filterProps(props)\n\n return (\n <VToolbar\n ref={ vToolbarRef }\n class={[\n 'v-app-bar',\n {\n 'v-app-bar--bottom': props.location === 'bottom',\n },\n props.class,\n ]}\n style={[\n {\n ...layoutItemStyles.value,\n '--v-toolbar-image-opacity': opacity.value,\n height: undefined,\n ...ssrBootStyles.value,\n },\n props.style,\n ]}\n { ...toolbarProps }\n collapse={ isCollapsed.value }\n flat={ isFlat.value }\n v-slots={ slots }\n />\n )\n })\n\n return {}\n },\n})\n\nexport type VAppBar = InstanceType<typeof VAppBar>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VAppBar.mjs","names":["makeVToolbarProps","VToolbar","makeLayoutItemProps","useLayoutItem","useProxiedModel","makeScrollProps","useScroll","useSsrBoot","useToggleScope","computed","ref","shallowRef","toRef","watchEffect","genericComponent","propsFactory","useRender","makeVAppBarProps","scrollBehavior","String","modelValue","type","Boolean","default","location","validator","value","includes","height","Number","VAppBar","name","props","emits","setup","_ref","slots","vToolbarRef","isActive","behavior","Set","split","hide","has","inverted","collapse","elevate","fadeImage","canScroll","currentScroll","scrollThreshold","isScrollingUp","scrollRatio","isCollapsed","isFlat","flat","opacity","undefined","contentHeight","extensionHeight","ssrBootStyles","layoutItemStyles","layoutIsReady","id","order","parseInt","position","layoutSize","elementSize","active","absolute","toolbarProps","filterProps","_createVNode","_mergeProps","class","style"],"sources":["../../../src/components/VAppBar/VAppBar.tsx"],"sourcesContent":["// Styles\nimport './VAppBar.sass'\n\n// Components\nimport { makeVToolbarProps, VToolbar } from '@/components/VToolbar/VToolbar'\n\n// Composables\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeScrollProps, useScroll } from '@/composables/scroll'\nimport { useSsrBoot } from '@/composables/ssrBoot'\nimport { useToggleScope } from '@/composables/toggleScope'\n\n// Utilities\nimport { computed, ref, shallowRef, toRef, watchEffect } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VToolbarSlots } from '@/components/VToolbar/VToolbar'\n\nexport const makeVAppBarProps = propsFactory({\n scrollBehavior: String as PropType<'hide' | 'inverted' | 'collapse' | 'elevate' | 'fade-image' | (string & {})>,\n modelValue: {\n type: Boolean,\n default: true,\n },\n location: {\n type: String as PropType<'top' | 'bottom'>,\n default: 'top',\n validator: (value: any) => ['top', 'bottom'].includes(value),\n },\n\n ...makeVToolbarProps(),\n ...makeLayoutItemProps(),\n ...makeScrollProps(),\n\n height: {\n type: [Number, String],\n default: 64,\n },\n}, 'VAppBar')\n\nexport const VAppBar = genericComponent<VToolbarSlots>()({\n name: 'VAppBar',\n\n props: makeVAppBarProps(),\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const vToolbarRef = ref<VToolbar>()\n const isActive = useProxiedModel(props, 'modelValue')\n const scrollBehavior = computed(() => {\n const behavior = new Set(props.scrollBehavior?.split(' ') ?? [])\n return {\n hide: behavior.has('hide'),\n // fullyHide: behavior.has('fully-hide'),\n inverted: behavior.has('inverted'),\n collapse: behavior.has('collapse'),\n elevate: behavior.has('elevate'),\n fadeImage: behavior.has('fade-image'),\n // shrink: behavior.has('shrink'),\n }\n })\n const canScroll = computed(() => {\n const behavior = scrollBehavior.value\n return (\n behavior.hide ||\n // behavior.fullyHide ||\n behavior.inverted ||\n behavior.collapse ||\n behavior.elevate ||\n behavior.fadeImage ||\n // behavior.shrink ||\n !isActive.value\n )\n })\n const {\n currentScroll,\n scrollThreshold,\n isScrollingUp,\n scrollRatio,\n } = useScroll(props, { canScroll })\n\n const isCollapsed = computed(() => props.collapse || (\n scrollBehavior.value.collapse &&\n (scrollBehavior.value.inverted ? scrollRatio.value > 0 : scrollRatio.value === 0)\n ))\n const isFlat = computed(() => props.flat || (\n scrollBehavior.value.elevate &&\n (scrollBehavior.value.inverted ? currentScroll.value > 0 : currentScroll.value === 0)\n ))\n const opacity = computed(() => (\n scrollBehavior.value.fadeImage\n ? (scrollBehavior.value.inverted ? 1 - scrollRatio.value : scrollRatio.value)\n : undefined\n ))\n const height = computed(() => {\n const height = Number(vToolbarRef.value?.contentHeight ?? props.height)\n const extensionHeight = Number(vToolbarRef.value?.extensionHeight ?? 0)\n\n return (height + extensionHeight)\n })\n\n useToggleScope(computed(() => !!props.scrollBehavior), () => {\n watchEffect(() => {\n if (scrollBehavior.value.hide) {\n if (scrollBehavior.value.inverted) {\n isActive.value = currentScroll.value > scrollThreshold.value\n } else {\n isActive.value = isScrollingUp.value || (currentScroll.value < scrollThreshold.value)\n }\n } else {\n isActive.value = true\n }\n })\n })\n\n const { ssrBootStyles } = useSsrBoot()\n const { layoutItemStyles, layoutIsReady } = useLayoutItem({\n id: props.name,\n order: computed(() => parseInt(props.order, 10)),\n position: toRef(props, 'location'),\n layoutSize: height,\n elementSize: shallowRef(undefined),\n active: isActive,\n absolute: toRef(props, 'absolute'),\n })\n\n useRender(() => {\n const toolbarProps = VToolbar.filterProps(props)\n\n return (\n <VToolbar\n ref={ vToolbarRef }\n class={[\n 'v-app-bar',\n {\n 'v-app-bar--bottom': props.location === 'bottom',\n },\n props.class,\n ]}\n style={[\n {\n ...layoutItemStyles.value,\n '--v-toolbar-image-opacity': opacity.value,\n height: undefined,\n ...ssrBootStyles.value,\n },\n props.style,\n ]}\n { ...toolbarProps }\n collapse={ isCollapsed.value }\n flat={ isFlat.value }\n v-slots={ slots }\n />\n )\n })\n\n return layoutIsReady\n },\n})\n\nexport type VAppBar = InstanceType<typeof VAppBar>\n"],"mappings":"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"}
@@ -69,7 +69,7 @@ declare const VAppBar: {
69
69
  "v-slot:extension"?: false | (() => vue.VNodeChild) | undefined;
70
70
  } & {
71
71
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
72
- }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
72
+ }, void, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
73
73
  'update:modelValue': (value: boolean) => boolean;
74
74
  }, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
75
75
  flat: boolean;
@@ -292,7 +292,7 @@ declare const VAppBar: {
292
292
  "v-slot:extension"?: false | (() => vue.VNodeChild) | undefined;
293
293
  } & {
294
294
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
295
- }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
295
+ }, void, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
296
296
  'update:modelValue': (value: boolean) => boolean;
297
297
  }, string, {
298
298
  flat: boolean;
@@ -12,6 +12,7 @@ import { makeDensityProps, useDensity } from "../../composables/density.mjs";
12
12
  import { makeElevationProps, useElevation } from "../../composables/elevation.mjs";
13
13
  import { makeGroupProps, useGroup } from "../../composables/group.mjs";
14
14
  import { makeLayoutItemProps, useLayoutItem } from "../../composables/layout.mjs";
15
+ import { useProxiedModel } from "../../composables/proxiedModel.mjs";
15
16
  import { makeRoundedProps, useRounded } from "../../composables/rounded.mjs";
16
17
  import { useSsrBoot } from "../../composables/ssrBoot.mjs";
17
18
  import { makeTagProps } from "../../composables/tag.mjs";
@@ -84,9 +85,10 @@ export const VBottomNavigation = genericComponent()({
84
85
  ssrBootStyles
85
86
  } = useSsrBoot();
86
87
  const height = computed(() => Number(props.height) - (props.density === 'comfortable' ? 8 : 0) - (props.density === 'compact' ? 16 : 0));
87
- const isActive = toRef(props, 'active');
88
+ const isActive = useProxiedModel(props, 'modelValue', props.modelValue);
88
89
  const {
89
- layoutItemStyles
90
+ layoutItemStyles,
91
+ layoutIsReady
90
92
  } = useLayoutItem({
91
93
  id: props.name,
92
94
  order: computed(() => parseInt(props.order, 10)),
@@ -124,7 +126,7 @@ export const VBottomNavigation = genericComponent()({
124
126
  }, [slots.default()])]
125
127
  });
126
128
  });
127
- return {};
129
+ return layoutIsReady;
128
130
  }
129
131
  });
130
132
  //# sourceMappingURL=VBottomNavigation.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"VBottomNavigation.mjs","names":["VBtnToggleSymbol","makeBorderProps","useBorder","useBackgroundColor","makeComponentProps","provideDefaults","makeDensityProps","useDensity","makeElevationProps","useElevation","makeGroupProps","useGroup","makeLayoutItemProps","useLayoutItem","makeRoundedProps","useRounded","useSsrBoot","makeTagProps","makeThemeProps","useTheme","computed","toRef","convertToUnit","genericComponent","propsFactory","useRender","makeVBottomNavigationProps","bgColor","String","color","grow","Boolean","mode","type","validator","v","includes","height","Number","default","active","name","tag","modelValue","selectedClass","VBottomNavigation","props","emits","value","setup","_ref","slots","themeClasses","borderClasses","backgroundColorClasses","backgroundColorStyles","densityClasses","elevationClasses","roundedClasses","ssrBootStyles","density","isActive","layoutItemStyles","id","order","parseInt","position","layoutSize","elementSize","absolute","VBtn","stacked","variant","scoped","_createVNode","class","transform","style"],"sources":["../../../src/components/VBottomNavigation/VBottomNavigation.tsx"],"sourcesContent":["// Styles\nimport './VBottomNavigation.sass'\n\n// Components\nimport { VBtnToggleSymbol } from '@/components/VBtnToggle/VBtnToggle'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupProps, useGroup } from '@/composables/group'\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { useSsrBoot } from '@/composables/ssrBoot'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, useTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { GenericProps } from '@/util'\n\nexport const makeVBottomNavigationProps = propsFactory({\n bgColor: String,\n color: String,\n grow: Boolean,\n mode: {\n type: String,\n validator: (v: any) => !v || ['horizontal', 'shift'].includes(v),\n },\n height: {\n type: [Number, String],\n default: 56,\n },\n active: {\n type: Boolean,\n default: true,\n },\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeLayoutItemProps({ name: 'bottom-navigation' }),\n ...makeTagProps({ tag: 'header' }),\n ...makeGroupProps({\n modelValue: true,\n selectedClass: 'v-btn--selected',\n }),\n ...makeThemeProps(),\n}, 'VBottomNavigation')\n\nexport const VBottomNavigation = genericComponent<new <T>(\n props: {\n modelValue?: T\n 'onUpdate:modelValue'?: (value: T) => void\n },\n slots: { default: never },\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VBottomNavigation',\n\n props: makeVBottomNavigationProps(),\n\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { slots }) {\n const { themeClasses } = useTheme()\n const { borderClasses } = useBorder(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'bgColor'))\n const { densityClasses } = useDensity(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { ssrBootStyles } = useSsrBoot()\n const height = computed(() => (\n Number(props.height) -\n (props.density === 'comfortable' ? 8 : 0) -\n (props.density === 'compact' ? 16 : 0)\n ))\n const isActive = toRef(props, 'active')\n const { layoutItemStyles } = useLayoutItem({\n id: props.name,\n order: computed(() => parseInt(props.order, 10)),\n position: computed(() => 'bottom'),\n layoutSize: computed(() => isActive.value ? height.value : 0),\n elementSize: height,\n active: isActive,\n absolute: toRef(props, 'absolute'),\n })\n\n useGroup(props, VBtnToggleSymbol)\n\n provideDefaults({\n VBtn: {\n color: toRef(props, 'color'),\n density: toRef(props, 'density'),\n stacked: computed(() => props.mode !== 'horizontal'),\n variant: 'text',\n },\n }, { scoped: true })\n\n useRender(() => {\n return (\n <props.tag\n class={[\n 'v-bottom-navigation',\n {\n 'v-bottom-navigation--active': isActive.value,\n 'v-bottom-navigation--grow': props.grow,\n 'v-bottom-navigation--shift': props.mode === 'shift',\n },\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n layoutItemStyles.value,\n {\n height: convertToUnit(height.value),\n transform: `translateY(${convertToUnit(!isActive.value ? 100 : 0, '%')})`,\n },\n ssrBootStyles.value,\n props.style,\n ]}\n >\n { slots.default && (\n <div class=\"v-bottom-navigation__content\">\n { slots.default() }\n </div>\n )}\n </props.tag>\n )\n })\n\n return {}\n },\n})\n\nexport type VBottomNavigation = InstanceType<typeof VBottomNavigation>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VBottomNavigation.mjs","names":["VBtnToggleSymbol","makeBorderProps","useBorder","useBackgroundColor","makeComponentProps","provideDefaults","makeDensityProps","useDensity","makeElevationProps","useElevation","makeGroupProps","useGroup","makeLayoutItemProps","useLayoutItem","useProxiedModel","makeRoundedProps","useRounded","useSsrBoot","makeTagProps","makeThemeProps","useTheme","computed","toRef","convertToUnit","genericComponent","propsFactory","useRender","makeVBottomNavigationProps","bgColor","String","color","grow","Boolean","mode","type","validator","v","includes","height","Number","default","active","name","tag","modelValue","selectedClass","VBottomNavigation","props","emits","value","setup","_ref","slots","themeClasses","borderClasses","backgroundColorClasses","backgroundColorStyles","densityClasses","elevationClasses","roundedClasses","ssrBootStyles","density","isActive","layoutItemStyles","layoutIsReady","id","order","parseInt","position","layoutSize","elementSize","absolute","VBtn","stacked","variant","scoped","_createVNode","class","transform","style"],"sources":["../../../src/components/VBottomNavigation/VBottomNavigation.tsx"],"sourcesContent":["// Styles\nimport './VBottomNavigation.sass'\n\n// Components\nimport { VBtnToggleSymbol } from '@/components/VBtnToggle/VBtnToggle'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupProps, useGroup } from '@/composables/group'\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { useSsrBoot } from '@/composables/ssrBoot'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, useTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { GenericProps } from '@/util'\n\nexport const makeVBottomNavigationProps = propsFactory({\n bgColor: String,\n color: String,\n grow: Boolean,\n mode: {\n type: String,\n validator: (v: any) => !v || ['horizontal', 'shift'].includes(v),\n },\n height: {\n type: [Number, String],\n default: 56,\n },\n active: {\n type: Boolean,\n default: true,\n },\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeLayoutItemProps({ name: 'bottom-navigation' }),\n ...makeTagProps({ tag: 'header' }),\n ...makeGroupProps({\n modelValue: true,\n selectedClass: 'v-btn--selected',\n }),\n ...makeThemeProps(),\n}, 'VBottomNavigation')\n\nexport const VBottomNavigation = genericComponent<new <T>(\n props: {\n modelValue?: T\n 'onUpdate:modelValue'?: (value: T) => void\n },\n slots: { default: never },\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VBottomNavigation',\n\n props: makeVBottomNavigationProps(),\n\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { slots }) {\n const { themeClasses } = useTheme()\n const { borderClasses } = useBorder(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'bgColor'))\n const { densityClasses } = useDensity(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { ssrBootStyles } = useSsrBoot()\n const height = computed(() => (\n Number(props.height) -\n (props.density === 'comfortable' ? 8 : 0) -\n (props.density === 'compact' ? 16 : 0)\n ))\n const isActive = useProxiedModel(props, 'modelValue', props.modelValue)\n const { layoutItemStyles, layoutIsReady } = useLayoutItem({\n id: props.name,\n order: computed(() => parseInt(props.order, 10)),\n position: computed(() => 'bottom'),\n layoutSize: computed(() => isActive.value ? height.value : 0),\n elementSize: height,\n active: isActive,\n absolute: toRef(props, 'absolute'),\n })\n\n useGroup(props, VBtnToggleSymbol)\n\n provideDefaults({\n VBtn: {\n color: toRef(props, 'color'),\n density: toRef(props, 'density'),\n stacked: computed(() => props.mode !== 'horizontal'),\n variant: 'text',\n },\n }, { scoped: true })\n\n useRender(() => {\n return (\n <props.tag\n class={[\n 'v-bottom-navigation',\n {\n 'v-bottom-navigation--active': isActive.value,\n 'v-bottom-navigation--grow': props.grow,\n 'v-bottom-navigation--shift': props.mode === 'shift',\n },\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n layoutItemStyles.value,\n {\n height: convertToUnit(height.value),\n transform: `translateY(${convertToUnit(!isActive.value ? 100 : 0, '%')})`,\n },\n ssrBootStyles.value,\n props.style,\n ]}\n >\n { slots.default && (\n <div class=\"v-bottom-navigation__content\">\n { slots.default() }\n </div>\n )}\n </props.tag>\n )\n })\n\n return layoutIsReady\n },\n})\n\nexport type VBottomNavigation = InstanceType<typeof VBottomNavigation>\n"],"mappings":"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"}
@@ -57,7 +57,7 @@ declare const VBottomNavigation: {
57
57
  theme?: string | undefined;
58
58
  rounded?: string | number | boolean | undefined;
59
59
  bgColor?: string | undefined;
60
- } & {}, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Omit<{
60
+ } & {}, void, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Omit<{
61
61
  'update:modelValue': (value: any) => boolean;
62
62
  }, "$children" | "v-slot:default" | "v-slots" | "modelValue" | "update:modelValue">, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
63
63
  absolute: boolean;
@@ -174,7 +174,7 @@ declare const VBottomNavigation: {
174
174
  theme?: string | undefined;
175
175
  rounded?: string | number | boolean | undefined;
176
176
  bgColor?: string | undefined;
177
- } & {}, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Omit<{
177
+ } & {}, void, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Omit<{
178
178
  'update:modelValue': (value: any) => boolean;
179
179
  }, "$children" | "v-slot:default" | "v-slots" | "modelValue" | "update:modelValue">, string, {
180
180
  absolute: boolean;
@@ -63,7 +63,8 @@ export const VFooter = genericComponent()({
63
63
  });
64
64
  const height = computed(() => props.height === 'auto' ? autoHeight.value : parseInt(props.height, 10));
65
65
  const {
66
- layoutItemStyles
66
+ layoutItemStyles,
67
+ layoutIsReady
67
68
  } = useLayoutItem({
68
69
  id: props.name,
69
70
  order: computed(() => parseInt(props.order, 10)),
@@ -80,7 +81,7 @@ export const VFooter = genericComponent()({
80
81
  height: convertToUnit(props.height)
81
82
  }, props.style]
82
83
  }, slots));
83
- return {};
84
+ return props.app ? layoutIsReady : {};
84
85
  }
85
86
  });
86
87
  //# sourceMappingURL=VFooter.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"VFooter.mjs","names":["makeBorderProps","useBorder","useBackgroundColor","makeComponentProps","makeElevationProps","useElevation","makeLayoutItemProps","useLayoutItem","useResizeObserver","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","computed","shallowRef","toRef","convertToUnit","genericComponent","propsFactory","useRender","makeVFooterProps","app","Boolean","color","String","height","type","Number","default","tag","VFooter","name","props","setup","_ref","slots","themeClasses","backgroundColorClasses","backgroundColorStyles","borderClasses","elevationClasses","roundedClasses","autoHeight","resizeRef","entries","length","value","target","clientHeight","parseInt","layoutItemStyles","id","order","position","layoutSize","elementSize","undefined","active","absolute","_createVNode","class","style"],"sources":["../../../src/components/VFooter/VFooter.tsx"],"sourcesContent":["// Styles\nimport './VFooter.sass'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { useResizeObserver } from '@/composables/resizeObserver'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, shallowRef, toRef } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVFooterProps = propsFactory({\n app: Boolean,\n color: String,\n height: {\n type: [Number, String],\n default: 'auto',\n },\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeElevationProps(),\n ...makeLayoutItemProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'footer' }),\n ...makeThemeProps(),\n}, 'VFooter')\n\nexport const VFooter = genericComponent()({\n name: 'VFooter',\n\n props: makeVFooterProps(),\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { borderClasses } = useBorder(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n\n const autoHeight = shallowRef(32)\n const { resizeRef } = useResizeObserver(entries => {\n if (!entries.length) return\n autoHeight.value = entries[0].target.clientHeight\n })\n const height = computed(() => props.height === 'auto' ? autoHeight.value : parseInt(props.height, 10))\n const { layoutItemStyles } = useLayoutItem({\n id: props.name,\n order: computed(() => parseInt(props.order, 10)),\n position: computed(() => 'bottom'),\n layoutSize: height,\n elementSize: computed(() => props.height === 'auto' ? undefined : height.value),\n active: computed(() => props.app),\n absolute: toRef(props, 'absolute'),\n })\n\n useRender(() => (\n <props.tag\n ref={ resizeRef }\n class={[\n 'v-footer',\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 props.app ? layoutItemStyles.value : {\n height: convertToUnit(props.height),\n },\n props.style,\n ]}\n v-slots={ slots }\n />\n ))\n\n return {}\n },\n})\n\nexport type VFooter = InstanceType<typeof VFooter>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VFooter.mjs","names":["makeBorderProps","useBorder","useBackgroundColor","makeComponentProps","makeElevationProps","useElevation","makeLayoutItemProps","useLayoutItem","useResizeObserver","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","computed","shallowRef","toRef","convertToUnit","genericComponent","propsFactory","useRender","makeVFooterProps","app","Boolean","color","String","height","type","Number","default","tag","VFooter","name","props","setup","_ref","slots","themeClasses","backgroundColorClasses","backgroundColorStyles","borderClasses","elevationClasses","roundedClasses","autoHeight","resizeRef","entries","length","value","target","clientHeight","parseInt","layoutItemStyles","layoutIsReady","id","order","position","layoutSize","elementSize","undefined","active","absolute","_createVNode","class","style"],"sources":["../../../src/components/VFooter/VFooter.tsx"],"sourcesContent":["// Styles\nimport './VFooter.sass'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { useResizeObserver } from '@/composables/resizeObserver'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, shallowRef, toRef } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVFooterProps = propsFactory({\n app: Boolean,\n color: String,\n height: {\n type: [Number, String],\n default: 'auto',\n },\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeElevationProps(),\n ...makeLayoutItemProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'footer' }),\n ...makeThemeProps(),\n}, 'VFooter')\n\nexport const VFooter = genericComponent()({\n name: 'VFooter',\n\n props: makeVFooterProps(),\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { borderClasses } = useBorder(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n\n const autoHeight = shallowRef(32)\n const { resizeRef } = useResizeObserver(entries => {\n if (!entries.length) return\n autoHeight.value = entries[0].target.clientHeight\n })\n const height = computed(() => props.height === 'auto' ? autoHeight.value : parseInt(props.height, 10))\n const { layoutItemStyles, layoutIsReady } = useLayoutItem({\n id: props.name,\n order: computed(() => parseInt(props.order, 10)),\n position: computed(() => 'bottom'),\n layoutSize: height,\n elementSize: computed(() => props.height === 'auto' ? undefined : height.value),\n active: computed(() => props.app),\n absolute: toRef(props, 'absolute'),\n })\n\n useRender(() => (\n <props.tag\n ref={ resizeRef }\n class={[\n 'v-footer',\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 props.app ? layoutItemStyles.value : {\n height: convertToUnit(props.height),\n },\n props.style,\n ]}\n v-slots={ slots }\n />\n ))\n\n return props.app ? layoutIsReady : {}\n },\n})\n\nexport type VFooter = InstanceType<typeof VFooter>\n"],"mappings":"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"}
@@ -9,7 +9,7 @@
9
9
  font-size: $label-font-size
10
10
  letter-spacing: $label-letter-spacing
11
11
  min-width: 0
12
- opacity: var(--v-medium-emphasis-opacity)
12
+ opacity: $label-opacity
13
13
  overflow: hidden
14
14
  text-overflow: ellipsis
15
15
  white-space: nowrap
@@ -7,3 +7,4 @@ $label-display: inline-flex !default;
7
7
  $label-error-color: rgb(var(--v-theme-error)) !default;
8
8
  $label-font-size: 1rem !default;
9
9
  $label-letter-spacing: .009375em !default;
10
+ $label-opacity: var(--v-medium-emphasis-opacity) !default;
@@ -1,10 +1,11 @@
1
- import { createVNode as _createVNode } from "vue";
1
+ import { createVNode as _createVNode, Fragment as _Fragment } from "vue";
2
2
  // Styles
3
3
  import "./VLayout.css";
4
4
 
5
5
  // Composables
6
6
  import { makeComponentProps } from "../../composables/component.mjs";
7
7
  import { createLayout, makeLayoutProps } from "../../composables/layout.mjs"; // Utilities
8
+ import { Suspense } from 'vue';
8
9
  import { genericComponent, propsFactory, useRender } from "../../util/index.mjs";
9
10
  export const makeVLayoutProps = propsFactory({
10
11
  ...makeComponentProps(),
@@ -28,7 +29,9 @@ export const VLayout = genericComponent()({
28
29
  "ref": layoutRef,
29
30
  "class": [layoutClasses.value, props.class],
30
31
  "style": [layoutStyles.value, props.style]
31
- }, [slots.default?.()]));
32
+ }, [_createVNode(Suspense, null, {
33
+ default: () => [_createVNode(_Fragment, null, [slots.default?.()])]
34
+ })]));
32
35
  return {
33
36
  getLayoutItem,
34
37
  items
@@ -1 +1 @@
1
- {"version":3,"file":"VLayout.mjs","names":["makeComponentProps","createLayout","makeLayoutProps","genericComponent","propsFactory","useRender","makeVLayoutProps","VLayout","name","props","setup","_ref","slots","layoutClasses","layoutStyles","getLayoutItem","items","layoutRef","_createVNode","value","class","style","default"],"sources":["../../../src/components/VLayout/VLayout.tsx"],"sourcesContent":["// Styles\nimport './VLayout.sass'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { createLayout, makeLayoutProps } from '@/composables/layout'\n\n// Utilities\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVLayoutProps = propsFactory({\n ...makeComponentProps(),\n ...makeLayoutProps(),\n}, 'VLayout')\n\nexport const VLayout = genericComponent()({\n name: 'VLayout',\n\n props: makeVLayoutProps(),\n\n setup (props, { slots }) {\n const { layoutClasses, layoutStyles, getLayoutItem, items, layoutRef } = createLayout(props)\n\n useRender(() => (\n <div\n ref={ layoutRef }\n class={[\n layoutClasses.value,\n props.class,\n ]}\n style={[\n layoutStyles.value,\n props.style,\n ]}\n >\n { slots.default?.() }\n </div>\n ))\n\n return {\n getLayoutItem,\n items,\n }\n },\n})\n\nexport type VLayout = InstanceType<typeof VLayout>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,kBAAkB;AAAA,SAClBC,YAAY,EAAEC,eAAe,wCAEtC;AAAA,SACSC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS;AAElD,OAAO,MAAMC,gBAAgB,GAAGF,YAAY,CAAC;EAC3C,GAAGJ,kBAAkB,CAAC,CAAC;EACvB,GAAGE,eAAe,CAAC;AACrB,CAAC,EAAE,SAAS,CAAC;AAEb,OAAO,MAAMK,OAAO,GAAGJ,gBAAgB,CAAC,CAAC,CAAC;EACxCK,IAAI,EAAE,SAAS;EAEfC,KAAK,EAAEH,gBAAgB,CAAC,CAAC;EAEzBI,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAM;MAAEE,aAAa;MAAEC,YAAY;MAAEC,aAAa;MAAEC,KAAK;MAAEC;IAAU,CAAC,GAAGhB,YAAY,CAACQ,KAAK,CAAC;IAE5FJ,SAAS,CAAC,MAAAa,YAAA;MAAA,OAEAD,SAAS;MAAA,SACR,CACLJ,aAAa,CAACM,KAAK,EACnBV,KAAK,CAACW,KAAK,CACZ;MAAA,SACM,CACLN,YAAY,CAACK,KAAK,EAClBV,KAAK,CAACY,KAAK;IACZ,IAECT,KAAK,CAACU,OAAO,GAAG,CAAC,EAEtB,CAAC;IAEF,OAAO;MACLP,aAAa;MACbC;IACF,CAAC;EACH;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"VLayout.mjs","names":["makeComponentProps","createLayout","makeLayoutProps","Suspense","genericComponent","propsFactory","useRender","makeVLayoutProps","VLayout","name","props","setup","_ref","slots","layoutClasses","layoutStyles","getLayoutItem","items","layoutRef","_createVNode","value","class","style","default","_Fragment"],"sources":["../../../src/components/VLayout/VLayout.tsx"],"sourcesContent":["// Styles\nimport './VLayout.sass'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { createLayout, makeLayoutProps } from '@/composables/layout'\n\n// Utilities\nimport { Suspense } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVLayoutProps = propsFactory({\n ...makeComponentProps(),\n ...makeLayoutProps(),\n}, 'VLayout')\n\nexport const VLayout = genericComponent()({\n name: 'VLayout',\n\n props: makeVLayoutProps(),\n\n setup (props, { slots }) {\n const { layoutClasses, layoutStyles, getLayoutItem, items, layoutRef } = createLayout(props)\n\n useRender(() => (\n <div\n ref={ layoutRef }\n class={[\n layoutClasses.value,\n props.class,\n ]}\n style={[\n layoutStyles.value,\n props.style,\n ]}\n >\n <Suspense>\n <>\n { slots.default?.() }\n </>\n </Suspense>\n </div>\n ))\n\n return {\n getLayoutItem,\n items,\n }\n },\n})\n\nexport type VLayout = InstanceType<typeof VLayout>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,kBAAkB;AAAA,SAClBC,YAAY,EAAEC,eAAe,wCAEtC;AACA,SAASC,QAAQ,QAAQ,KAAK;AAAA,SACrBC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS;AAElD,OAAO,MAAMC,gBAAgB,GAAGF,YAAY,CAAC;EAC3C,GAAGL,kBAAkB,CAAC,CAAC;EACvB,GAAGE,eAAe,CAAC;AACrB,CAAC,EAAE,SAAS,CAAC;AAEb,OAAO,MAAMM,OAAO,GAAGJ,gBAAgB,CAAC,CAAC,CAAC;EACxCK,IAAI,EAAE,SAAS;EAEfC,KAAK,EAAEH,gBAAgB,CAAC,CAAC;EAEzBI,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAM;MAAEE,aAAa;MAAEC,YAAY;MAAEC,aAAa;MAAEC,KAAK;MAAEC;IAAU,CAAC,GAAGjB,YAAY,CAACS,KAAK,CAAC;IAE5FJ,SAAS,CAAC,MAAAa,YAAA;MAAA,OAEAD,SAAS;MAAA,SACR,CACLJ,aAAa,CAACM,KAAK,EACnBV,KAAK,CAACW,KAAK,CACZ;MAAA,SACM,CACLN,YAAY,CAACK,KAAK,EAClBV,KAAK,CAACY,KAAK;IACZ,IAAAH,YAAA,CAAAhB,QAAA;MAAAoB,OAAA,EAAAA,CAAA,MAAAJ,YAAA,CAAAK,SAAA,SAIKX,KAAK,CAACU,OAAO,GAAG,CAAC;IAAA,IAI1B,CAAC;IAEF,OAAO;MACLP,aAAa;MACbC;IACF,CAAC;EACH;AACF,CAAC,CAAC"}
@@ -6,7 +6,7 @@ import "./VLayoutItem.css";
6
6
  import { makeComponentProps } from "../../composables/component.mjs";
7
7
  import { makeLayoutItemProps, useLayoutItem } from "../../composables/layout.mjs"; // Utilities
8
8
  import { computed, toRef } from 'vue';
9
- import { genericComponent, propsFactory } from "../../util/index.mjs"; // Types
9
+ import { genericComponent, propsFactory, useRender } from "../../util/index.mjs"; // Types
10
10
  export const makeVLayoutItemProps = propsFactory({
11
11
  position: {
12
12
  type: String,
@@ -28,7 +28,8 @@ export const VLayoutItem = genericComponent()({
28
28
  slots
29
29
  } = _ref;
30
30
  const {
31
- layoutItemStyles
31
+ layoutItemStyles,
32
+ layoutIsReady
32
33
  } = useLayoutItem({
33
34
  id: props.name,
34
35
  order: computed(() => parseInt(props.order, 10)),
@@ -38,10 +39,11 @@ export const VLayoutItem = genericComponent()({
38
39
  active: toRef(props, 'modelValue'),
39
40
  absolute: toRef(props, 'absolute')
40
41
  });
41
- return () => _createVNode("div", {
42
+ useRender(() => _createVNode("div", {
42
43
  "class": ['v-layout-item', props.class],
43
44
  "style": [layoutItemStyles.value, props.style]
44
- }, [slots.default?.()]);
45
+ }, [slots.default?.()]));
46
+ return layoutIsReady;
45
47
  }
46
48
  });
47
49
  //# sourceMappingURL=VLayoutItem.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"VLayoutItem.mjs","names":["makeComponentProps","makeLayoutItemProps","useLayoutItem","computed","toRef","genericComponent","propsFactory","makeVLayoutItemProps","position","type","String","required","size","Number","default","modelValue","Boolean","VLayoutItem","name","props","setup","_ref","slots","layoutItemStyles","id","order","parseInt","elementSize","layoutSize","active","absolute","_createVNode","class","value","style"],"sources":["../../../src/components/VLayout/VLayoutItem.tsx"],"sourcesContent":["// Styles\nimport './VLayoutItem.sass'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { genericComponent, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const makeVLayoutItemProps = propsFactory({\n position: {\n type: String as PropType<'top' | 'right' | 'bottom' | 'left'>,\n required: true,\n },\n size: {\n type: [Number, String],\n default: 300,\n },\n modelValue: Boolean,\n\n ...makeComponentProps(),\n ...makeLayoutItemProps(),\n}, 'VLayoutItem')\n\nexport const VLayoutItem = genericComponent()({\n name: 'VLayoutItem',\n\n props: makeVLayoutItemProps(),\n\n setup (props, { slots }) {\n const { layoutItemStyles } = useLayoutItem({\n id: props.name,\n order: computed(() => parseInt(props.order, 10)),\n position: toRef(props, 'position'),\n elementSize: toRef(props, 'size'),\n layoutSize: toRef(props, 'size'),\n active: toRef(props, 'modelValue'),\n absolute: toRef(props, 'absolute'),\n })\n\n return () => (\n <div\n class={[\n 'v-layout-item',\n props.class,\n ]}\n style={[\n layoutItemStyles.value,\n props.style,\n ]}\n >\n { slots.default?.() }\n </div>\n )\n },\n})\n\nexport type VLayoutItem = InstanceType<typeof VLayoutItem>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,kBAAkB;AAAA,SAClBC,mBAAmB,EAAEC,aAAa,wCAE3C;AACA,SAASC,QAAQ,EAAEC,KAAK,QAAQ,KAAK;AAAA,SAC5BC,gBAAgB,EAAEC,YAAY,gCAEvC;AAGA,OAAO,MAAMC,oBAAoB,GAAGD,YAAY,CAAC;EAC/CE,QAAQ,EAAE;IACRC,IAAI,EAAEC,MAAuD;IAC7DC,QAAQ,EAAE;EACZ,CAAC;EACDC,IAAI,EAAE;IACJH,IAAI,EAAE,CAACI,MAAM,EAAEH,MAAM,CAAC;IACtBI,OAAO,EAAE;EACX,CAAC;EACDC,UAAU,EAAEC,OAAO;EAEnB,GAAGhB,kBAAkB,CAAC,CAAC;EACvB,GAAGC,mBAAmB,CAAC;AACzB,CAAC,EAAE,aAAa,CAAC;AAEjB,OAAO,MAAMgB,WAAW,GAAGZ,gBAAgB,CAAC,CAAC,CAAC;EAC5Ca,IAAI,EAAE,aAAa;EAEnBC,KAAK,EAAEZ,oBAAoB,CAAC,CAAC;EAE7Ba,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAM;MAAEE;IAAiB,CAAC,GAAGrB,aAAa,CAAC;MACzCsB,EAAE,EAAEL,KAAK,CAACD,IAAI;MACdO,KAAK,EAAEtB,QAAQ,CAAC,MAAMuB,QAAQ,CAACP,KAAK,CAACM,KAAK,EAAE,EAAE,CAAC,CAAC;MAChDjB,QAAQ,EAAEJ,KAAK,CAACe,KAAK,EAAE,UAAU,CAAC;MAClCQ,WAAW,EAAEvB,KAAK,CAACe,KAAK,EAAE,MAAM,CAAC;MACjCS,UAAU,EAAExB,KAAK,CAACe,KAAK,EAAE,MAAM,CAAC;MAChCU,MAAM,EAAEzB,KAAK,CAACe,KAAK,EAAE,YAAY,CAAC;MAClCW,QAAQ,EAAE1B,KAAK,CAACe,KAAK,EAAE,UAAU;IACnC,CAAC,CAAC;IAEF,OAAO,MAAAY,YAAA;MAAA,SAEI,CACL,eAAe,EACfZ,KAAK,CAACa,KAAK,CACZ;MAAA,SACM,CACLT,gBAAgB,CAACU,KAAK,EACtBd,KAAK,CAACe,KAAK;IACZ,IAECZ,KAAK,CAACR,OAAO,GAAG,CAAC,EAEtB;EACH;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"VLayoutItem.mjs","names":["makeComponentProps","makeLayoutItemProps","useLayoutItem","computed","toRef","genericComponent","propsFactory","useRender","makeVLayoutItemProps","position","type","String","required","size","Number","default","modelValue","Boolean","VLayoutItem","name","props","setup","_ref","slots","layoutItemStyles","layoutIsReady","id","order","parseInt","elementSize","layoutSize","active","absolute","_createVNode","class","value","style"],"sources":["../../../src/components/VLayout/VLayoutItem.tsx"],"sourcesContent":["// Styles\nimport './VLayoutItem.sass'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const makeVLayoutItemProps = propsFactory({\n position: {\n type: String as PropType<'top' | 'right' | 'bottom' | 'left'>,\n required: true,\n },\n size: {\n type: [Number, String],\n default: 300,\n },\n modelValue: Boolean,\n\n ...makeComponentProps(),\n ...makeLayoutItemProps(),\n}, 'VLayoutItem')\n\nexport const VLayoutItem = genericComponent()({\n name: 'VLayoutItem',\n\n props: makeVLayoutItemProps(),\n\n setup (props, { slots }) {\n const { layoutItemStyles, layoutIsReady } = useLayoutItem({\n id: props.name,\n order: computed(() => parseInt(props.order, 10)),\n position: toRef(props, 'position'),\n elementSize: toRef(props, 'size'),\n layoutSize: toRef(props, 'size'),\n active: toRef(props, 'modelValue'),\n absolute: toRef(props, 'absolute'),\n })\n\n useRender(() => (\n <div\n class={[\n 'v-layout-item',\n props.class,\n ]}\n style={[\n layoutItemStyles.value,\n props.style,\n ]}\n >\n { slots.default?.() }\n </div>\n ))\n\n return layoutIsReady\n },\n})\n\nexport type VLayoutItem = InstanceType<typeof VLayoutItem>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,kBAAkB;AAAA,SAClBC,mBAAmB,EAAEC,aAAa,wCAE3C;AACA,SAASC,QAAQ,EAAEC,KAAK,QAAQ,KAAK;AAAA,SAC5BC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS,gCAElD;AAGA,OAAO,MAAMC,oBAAoB,GAAGF,YAAY,CAAC;EAC/CG,QAAQ,EAAE;IACRC,IAAI,EAAEC,MAAuD;IAC7DC,QAAQ,EAAE;EACZ,CAAC;EACDC,IAAI,EAAE;IACJH,IAAI,EAAE,CAACI,MAAM,EAAEH,MAAM,CAAC;IACtBI,OAAO,EAAE;EACX,CAAC;EACDC,UAAU,EAAEC,OAAO;EAEnB,GAAGjB,kBAAkB,CAAC,CAAC;EACvB,GAAGC,mBAAmB,CAAC;AACzB,CAAC,EAAE,aAAa,CAAC;AAEjB,OAAO,MAAMiB,WAAW,GAAGb,gBAAgB,CAAC,CAAC,CAAC;EAC5Cc,IAAI,EAAE,aAAa;EAEnBC,KAAK,EAAEZ,oBAAoB,CAAC,CAAC;EAE7Ba,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAM;MAAEE,gBAAgB;MAAEC;IAAc,CAAC,GAAGvB,aAAa,CAAC;MACxDwB,EAAE,EAAEN,KAAK,CAACD,IAAI;MACdQ,KAAK,EAAExB,QAAQ,CAAC,MAAMyB,QAAQ,CAACR,KAAK,CAACO,KAAK,EAAE,EAAE,CAAC,CAAC;MAChDlB,QAAQ,EAAEL,KAAK,CAACgB,KAAK,EAAE,UAAU,CAAC;MAClCS,WAAW,EAAEzB,KAAK,CAACgB,KAAK,EAAE,MAAM,CAAC;MACjCU,UAAU,EAAE1B,KAAK,CAACgB,KAAK,EAAE,MAAM,CAAC;MAChCW,MAAM,EAAE3B,KAAK,CAACgB,KAAK,EAAE,YAAY,CAAC;MAClCY,QAAQ,EAAE5B,KAAK,CAACgB,KAAK,EAAE,UAAU;IACnC,CAAC,CAAC;IAEFb,SAAS,CAAC,MAAA0B,YAAA;MAAA,SAEC,CACL,eAAe,EACfb,KAAK,CAACc,KAAK,CACZ;MAAA,SACM,CACLV,gBAAgB,CAACW,KAAK,EACtBf,KAAK,CAACgB,KAAK;IACZ,IAECb,KAAK,CAACR,OAAO,GAAG,CAAC,EAEtB,CAAC;IAEF,OAAOU,aAAa;EACtB;AACF,CAAC,CAAC"}
@@ -31,7 +31,7 @@ declare const VLayout: {
31
31
  right: number;
32
32
  id: string;
33
33
  } | undefined;
34
- items: vue.ComputedRef<{
34
+ items: Readonly<vue.Ref<{
35
35
  size: number;
36
36
  position: "left" | "top" | "bottom" | "right";
37
37
  top: number;
@@ -39,7 +39,7 @@ declare const VLayout: {
39
39
  left: number;
40
40
  right: number;
41
41
  id: string;
42
- }[]>;
42
+ }[]>>;
43
43
  }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
44
44
  style: vue.StyleValue;
45
45
  fullHeight: boolean;
@@ -94,7 +94,7 @@ declare const VLayout: {
94
94
  right: number;
95
95
  id: string;
96
96
  } | undefined;
97
- items: vue.ComputedRef<{
97
+ items: Readonly<vue.Ref<{
98
98
  size: number;
99
99
  position: "left" | "top" | "bottom" | "right";
100
100
  top: number;
@@ -102,7 +102,7 @@ declare const VLayout: {
102
102
  left: number;
103
103
  right: number;
104
104
  id: string;
105
- }[]>;
105
+ }[]>>;
106
106
  }, {}, {}, {}, {
107
107
  style: vue.StyleValue;
108
108
  fullHeight: boolean;
@@ -135,7 +135,7 @@ declare const VLayout: {
135
135
  right: number;
136
136
  id: string;
137
137
  } | undefined;
138
- items: vue.ComputedRef<{
138
+ items: Readonly<vue.Ref<{
139
139
  size: number;
140
140
  position: "left" | "top" | "bottom" | "right";
141
141
  top: number;
@@ -143,7 +143,7 @@ declare const VLayout: {
143
143
  left: number;
144
144
  right: number;
145
145
  id: string;
146
- }[]>;
146
+ }[]>>;
147
147
  }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
148
148
  style: vue.StyleValue;
149
149
  fullHeight: boolean;
@@ -190,7 +190,7 @@ declare const VLayoutItem: {
190
190
  } | undefined;
191
191
  } & {
192
192
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
193
- }, () => JSX.Element, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
193
+ }, void, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
194
194
  absolute: boolean;
195
195
  order: string | number;
196
196
  position: "left" | "top" | "bottom" | "right";
@@ -245,7 +245,7 @@ declare const VLayoutItem: {
245
245
  } | undefined;
246
246
  } & {
247
247
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
248
- }, () => JSX.Element, {}, {}, {}, {
248
+ }, {}, {}, {}, {}, {
249
249
  absolute: boolean;
250
250
  order: string | number;
251
251
  style: vue.StyleValue;
@@ -274,7 +274,7 @@ declare const VLayoutItem: {
274
274
  } | undefined;
275
275
  } & {
276
276
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
277
- }, () => JSX.Element, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
277
+ }, void, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
278
278
  absolute: boolean;
279
279
  order: string | number;
280
280
  style: vue.StyleValue;
@@ -23,7 +23,8 @@ export const VMain = genericComponent()({
23
23
  slots
24
24
  } = _ref;
25
25
  const {
26
- mainStyles
26
+ mainStyles,
27
+ layoutIsReady
27
28
  } = useLayout();
28
29
  const {
29
30
  ssrBootStyles
@@ -38,7 +39,7 @@ export const VMain = genericComponent()({
38
39
  "class": "v-main__scroller"
39
40
  }, [slots.default?.()]) : slots.default?.()]
40
41
  }));
41
- return {};
42
+ return layoutIsReady;
42
43
  }
43
44
  });
44
45
  //# sourceMappingURL=VMain.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"VMain.mjs","names":["makeComponentProps","useLayout","useSsrBoot","makeTagProps","genericComponent","propsFactory","useRender","makeVMainProps","scrollable","Boolean","tag","VMain","name","props","setup","_ref","slots","mainStyles","ssrBootStyles","_createVNode","class","value","style","default"],"sources":["../../../src/components/VMain/VMain.tsx"],"sourcesContent":["// Styles\nimport './VMain.sass'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { useLayout } from '@/composables/layout'\nimport { useSsrBoot } from '@/composables/ssrBoot'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVMainProps = propsFactory({\n scrollable: Boolean,\n\n ...makeComponentProps(),\n ...makeTagProps({ tag: 'main' }),\n}, 'VMain')\n\nexport const VMain = genericComponent()({\n name: 'VMain',\n\n props: makeVMainProps(),\n\n setup (props, { slots }) {\n const { mainStyles } = useLayout()\n const { ssrBootStyles } = useSsrBoot()\n\n useRender(() => (\n <props.tag\n class={[\n 'v-main',\n { 'v-main--scrollable': props.scrollable },\n props.class,\n ]}\n style={[\n mainStyles.value,\n ssrBootStyles.value,\n props.style,\n ]}\n >\n { props.scrollable\n ? (\n <div class=\"v-main__scroller\">\n { slots.default?.() }\n </div>\n )\n : slots.default?.()\n }\n </props.tag>\n ))\n\n return {}\n },\n})\n\nexport type VMain = InstanceType<typeof VMain>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,kBAAkB;AAAA,SAClBC,SAAS;AAAA,SACTC,UAAU;AAAA,SACVC,YAAY,qCAErB;AAAA,SACSC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS;AAElD,OAAO,MAAMC,cAAc,GAAGF,YAAY,CAAC;EACzCG,UAAU,EAAEC,OAAO;EAEnB,GAAGT,kBAAkB,CAAC,CAAC;EACvB,GAAGG,YAAY,CAAC;IAAEO,GAAG,EAAE;EAAO,CAAC;AACjC,CAAC,EAAE,OAAO,CAAC;AAEX,OAAO,MAAMC,KAAK,GAAGP,gBAAgB,CAAC,CAAC,CAAC;EACtCQ,IAAI,EAAE,OAAO;EAEbC,KAAK,EAAEN,cAAc,CAAC,CAAC;EAEvBO,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAM;MAAEE;IAAW,CAAC,GAAGhB,SAAS,CAAC,CAAC;IAClC,MAAM;MAAEiB;IAAc,CAAC,GAAGhB,UAAU,CAAC,CAAC;IAEtCI,SAAS,CAAC,MAAAa,YAAA,CAAAN,KAAA,CAAAH,GAAA;MAAA,SAEC,CACL,QAAQ,EACR;QAAE,oBAAoB,EAAEG,KAAK,CAACL;MAAW,CAAC,EAC1CK,KAAK,CAACO,KAAK,CACZ;MAAA,SACM,CACLH,UAAU,CAACI,KAAK,EAChBH,aAAa,CAACG,KAAK,EACnBR,KAAK,CAACS,KAAK;IACZ;MAAAC,OAAA,EAAAA,CAAA,MAECV,KAAK,CAACL,UAAU,GAAAW,YAAA;QAAA;MAAA,IAGVH,KAAK,CAACO,OAAO,GAAG,CAAC,KAGrBP,KAAK,CAACO,OAAO,GAAG,CAAC;IAAA,EAGxB,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"VMain.mjs","names":["makeComponentProps","useLayout","useSsrBoot","makeTagProps","genericComponent","propsFactory","useRender","makeVMainProps","scrollable","Boolean","tag","VMain","name","props","setup","_ref","slots","mainStyles","layoutIsReady","ssrBootStyles","_createVNode","class","value","style","default"],"sources":["../../../src/components/VMain/VMain.tsx"],"sourcesContent":["// Styles\nimport './VMain.sass'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { useLayout } from '@/composables/layout'\nimport { useSsrBoot } from '@/composables/ssrBoot'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVMainProps = propsFactory({\n scrollable: Boolean,\n\n ...makeComponentProps(),\n ...makeTagProps({ tag: 'main' }),\n}, 'VMain')\n\nexport const VMain = genericComponent()({\n name: 'VMain',\n\n props: makeVMainProps(),\n\n setup (props, { slots }) {\n const { mainStyles, layoutIsReady } = useLayout()\n const { ssrBootStyles } = useSsrBoot()\n\n useRender(() => (\n <props.tag\n class={[\n 'v-main',\n { 'v-main--scrollable': props.scrollable },\n props.class,\n ]}\n style={[\n mainStyles.value,\n ssrBootStyles.value,\n props.style,\n ]}\n >\n { props.scrollable\n ? (\n <div class=\"v-main__scroller\">\n { slots.default?.() }\n </div>\n )\n : slots.default?.()\n }\n </props.tag>\n ))\n\n return layoutIsReady\n },\n})\n\nexport type VMain = InstanceType<typeof VMain>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,kBAAkB;AAAA,SAClBC,SAAS;AAAA,SACTC,UAAU;AAAA,SACVC,YAAY,qCAErB;AAAA,SACSC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS;AAElD,OAAO,MAAMC,cAAc,GAAGF,YAAY,CAAC;EACzCG,UAAU,EAAEC,OAAO;EAEnB,GAAGT,kBAAkB,CAAC,CAAC;EACvB,GAAGG,YAAY,CAAC;IAAEO,GAAG,EAAE;EAAO,CAAC;AACjC,CAAC,EAAE,OAAO,CAAC;AAEX,OAAO,MAAMC,KAAK,GAAGP,gBAAgB,CAAC,CAAC,CAAC;EACtCQ,IAAI,EAAE,OAAO;EAEbC,KAAK,EAAEN,cAAc,CAAC,CAAC;EAEvBO,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAM;MAAEE,UAAU;MAAEC;IAAc,CAAC,GAAGjB,SAAS,CAAC,CAAC;IACjD,MAAM;MAAEkB;IAAc,CAAC,GAAGjB,UAAU,CAAC,CAAC;IAEtCI,SAAS,CAAC,MAAAc,YAAA,CAAAP,KAAA,CAAAH,GAAA;MAAA,SAEC,CACL,QAAQ,EACR;QAAE,oBAAoB,EAAEG,KAAK,CAACL;MAAW,CAAC,EAC1CK,KAAK,CAACQ,KAAK,CACZ;MAAA,SACM,CACLJ,UAAU,CAACK,KAAK,EAChBH,aAAa,CAACG,KAAK,EACnBT,KAAK,CAACU,KAAK;IACZ;MAAAC,OAAA,EAAAA,CAAA,MAECX,KAAK,CAACL,UAAU,GAAAY,YAAA;QAAA;MAAA,IAGVJ,KAAK,CAACQ,OAAO,GAAG,CAAC,KAGrBR,KAAK,CAACQ,OAAO,GAAG,CAAC;IAAA,EAGxB,CAAC;IAEF,OAAON,aAAa;EACtB;AACF,CAAC,CAAC"}
@@ -21,7 +21,7 @@ declare const VMain: {
21
21
  } | undefined;
22
22
  } & {
23
23
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
24
- }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
24
+ }, void, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
25
25
  style: vue.StyleValue;
26
26
  tag: string;
27
27
  scrollable: boolean;
@@ -89,7 +89,7 @@ declare const VMain: {
89
89
  } | undefined;
90
90
  } & {
91
91
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
92
- }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
92
+ }, void, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
93
93
  style: vue.StyleValue;
94
94
  tag: string;
95
95
  scrollable: boolean;