@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.
- package/CHANGELOG.md +4 -2
- package/dist/json/attributes.json +5 -5
- package/dist/json/importMap-labs.json +8 -8
- package/dist/json/importMap.json +126 -126
- package/dist/json/web-types.json +6 -6
- package/dist/vuetify-labs.css +2131 -2131
- package/dist/vuetify-labs.d.ts +22 -21
- package/dist/vuetify-labs.esm.js +58 -62
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +57 -61
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +1360 -1360
- package/dist/vuetify.d.ts +62 -61
- package/dist/vuetify.esm.js +58 -62
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +57 -61
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +909 -914
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VApp/VApp.mjs +5 -2
- package/lib/components/VApp/VApp.mjs.map +1 -1
- package/lib/components/VApp/index.d.mts +6 -6
- package/lib/components/VAppBar/VAppBar.mjs +5 -5
- package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
- package/lib/components/VAppBar/index.d.mts +2 -2
- package/lib/components/VBottomNavigation/VBottomNavigation.mjs +5 -3
- package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
- package/lib/components/VBottomNavigation/index.d.mts +2 -2
- package/lib/components/VFooter/VFooter.mjs +3 -2
- package/lib/components/VFooter/VFooter.mjs.map +1 -1
- package/lib/components/VLabel/VLabel.sass +1 -1
- package/lib/components/VLabel/_variables.scss +1 -0
- package/lib/components/VLayout/VLayout.mjs +5 -2
- package/lib/components/VLayout/VLayout.mjs.map +1 -1
- package/lib/components/VLayout/VLayoutItem.mjs +6 -4
- package/lib/components/VLayout/VLayoutItem.mjs.map +1 -1
- package/lib/components/VLayout/index.d.mts +9 -9
- package/lib/components/VMain/VMain.mjs +3 -2
- package/lib/components/VMain/VMain.mjs.map +1 -1
- package/lib/components/VMain/index.d.mts +2 -2
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +7 -7
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
- package/lib/components/index.d.mts +21 -21
- package/lib/composables/layout.mjs +14 -37
- package/lib/composables/layout.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.mts +41 -40
- package/lib/util/helpers.mjs +11 -1
- package/lib/util/helpers.mjs.map +1 -1
- 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
|
-
}, [
|
|
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,
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
-
|
|
78
|
-
const
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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 =
|
|
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 =
|
|
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
|
-
} & {},
|
|
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
|
-
} & {},
|
|
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":";AAAA;AACA;;AAEA;AAAA,SACSA,eAAe,EAAEC,SAAS;AAAA,SAC1BC,kBAAkB;AAAA,SAClBC,kBAAkB;AAAA,SAClBC,kBAAkB,EAAEC,YAAY;AAAA,SAChCC,mBAAmB,EAAEC,aAAa;AAAA,SAClCC,iBAAiB;AAAA,SACjBC,gBAAgB,EAAEC,UAAU;AAAA,SAC5BC,YAAY;AAAA,SACZC,cAAc,EAAEC,YAAY,uCAErC;AACA,SAASC,QAAQ,EAAEC,UAAU,EAAEC,KAAK,QAAQ,KAAK;AAAA,SACxCC,aAAa,EAAEC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS;AAEjE,OAAO,MAAMC,gBAAgB,GAAGF,YAAY,CAAC;EAC3CG,GAAG,EAAEC,OAAO;EACZC,KAAK,EAAEC,MAAM;EACbC,MAAM,EAAE;IACNC,IAAI,EAAE,CAACC,MAAM,EAAEH,MAAM,CAAC;IACtBI,OAAO,EAAE;EACX,CAAC;EAED,GAAG7B,eAAe,CAAC,CAAC;EACpB,GAAGG,kBAAkB,CAAC,CAAC;EACvB,GAAGC,kBAAkB,CAAC,CAAC;EACvB,GAAGE,mBAAmB,CAAC,CAAC;EACxB,GAAGG,gBAAgB,CAAC,CAAC;EACrB,GAAGE,YAAY,CAAC;IAAEmB,GAAG,EAAE;EAAS,CAAC,CAAC;EAClC,GAAGlB,cAAc,CAAC;AACpB,CAAC,EAAE,SAAS,CAAC;AAEb,OAAO,MAAMmB,OAAO,GAAGb,gBAAgB,CAAC,CAAC,CAAC;EACxCc,IAAI,EAAE,SAAS;EAEfC,KAAK,EAAEZ,gBAAgB,CAAC,CAAC;EAEzBa,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAM;MAAEE;IAAa,CAAC,GAAGxB,YAAY,CAACoB,KAAK,CAAC;IAC5C,MAAM;MAAEK,sBAAsB;MAAEC;IAAsB,CAAC,GAAGrC,kBAAkB,CAACc,KAAK,CAACiB,KAAK,EAAE,OAAO,CAAC,CAAC;IACnG,MAAM;MAAEO;IAAc,CAAC,GAAGvC,SAAS,CAACgC,KAAK,CAAC;IAC1C,MAAM;MAAEQ;IAAiB,CAAC,GAAGpC,YAAY,CAAC4B,KAAK,CAAC;IAChD,MAAM;MAAES;IAAe,CAAC,GAAGhC,UAAU,CAACuB,KAAK,CAAC;IAE5C,MAAMU,UAAU,GAAG5B,UAAU,CAAC,EAAE,CAAC;IACjC,MAAM;MAAE6B;IAAU,CAAC,GAAGpC,iBAAiB,CAACqC,OAAO,IAAI;MACjD,IAAI,CAACA,OAAO,CAACC,MAAM,EAAE;MACrBH,UAAU,CAACI,KAAK,GAAGF,OAAO,CAAC,CAAC,CAAC,CAACG,MAAM,CAACC,YAAY;IACnD,CAAC,CAAC;IACF,MAAMvB,MAAM,GAAGZ,QAAQ,CAAC,MAAMmB,KAAK,CAACP,MAAM,KAAK,MAAM,GAAGiB,UAAU,CAACI,KAAK,GAAGG,QAAQ,CAACjB,KAAK,CAACP,MAAM,EAAE,EAAE,CAAC,CAAC;IACtG,MAAM;MAAEyB;
|
|
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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"}
|
|
@@ -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
|
-
}, [
|
|
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,
|
|
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
|
-
|
|
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
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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
|
|
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
|
-
},
|
|
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
|
-
},
|
|
92
|
+
}, void, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
|
|
93
93
|
style: vue.StyleValue;
|
|
94
94
|
tag: string;
|
|
95
95
|
scrollable: boolean;
|