@prefabs.tech/vue3-layout 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +145 -0
  3. package/dist/NavMenuItem-BPQBXe7I.js +4 -0
  4. package/dist/PrefabsTechVue3Layout.es.js +19 -0
  5. package/dist/PrefabsTechVue3Layout.umd.js +1 -0
  6. package/dist/index-F-mM76Og.js +1890 -0
  7. package/dist/src/Layout.vue.d.ts +22 -0
  8. package/dist/src/Layout.vue.d.ts.map +1 -0
  9. package/dist/src/components/AppFooter.vue.d.ts +12 -0
  10. package/dist/src/components/AppFooter.vue.d.ts.map +1 -0
  11. package/dist/src/components/AppHeader.vue.d.ts +31 -0
  12. package/dist/src/components/AppHeader.vue.d.ts.map +1 -0
  13. package/dist/src/components/Copyright.vue.d.ts +26 -0
  14. package/dist/src/components/Copyright.vue.d.ts.map +1 -0
  15. package/dist/src/components/Logo.vue.d.ts +41 -0
  16. package/dist/src/components/Logo.vue.d.ts.map +1 -0
  17. package/dist/src/components/MainMenu.vue.d.ts +24 -0
  18. package/dist/src/components/MainMenu.vue.d.ts.map +1 -0
  19. package/dist/src/components/NavMenu.vue.d.ts +25 -0
  20. package/dist/src/components/NavMenu.vue.d.ts.map +1 -0
  21. package/dist/src/components/NavMenuItem.vue.d.ts +25 -0
  22. package/dist/src/components/NavMenuItem.vue.d.ts.map +1 -0
  23. package/dist/src/components/Sidebar.vue.d.ts +39 -0
  24. package/dist/src/components/Sidebar.vue.d.ts.map +1 -0
  25. package/dist/src/components/StickyCollapsibleFooter.vue.d.ts +22 -0
  26. package/dist/src/components/StickyCollapsibleFooter.vue.d.ts.map +1 -0
  27. package/dist/src/index.d.ts +44 -0
  28. package/dist/src/index.d.ts.map +1 -0
  29. package/dist/src/layouts/BasicLayout.vue.d.ts +26 -0
  30. package/dist/src/layouts/BasicLayout.vue.d.ts.map +1 -0
  31. package/dist/src/layouts/NullLayout.vue.d.ts +3 -0
  32. package/dist/src/layouts/NullLayout.vue.d.ts.map +1 -0
  33. package/dist/src/layouts/SidebarHeaderLayout.vue.d.ts +52 -0
  34. package/dist/src/layouts/SidebarHeaderLayout.vue.d.ts.map +1 -0
  35. package/dist/src/layouts/SidebarOnlyLayout.vue.d.ts +39 -0
  36. package/dist/src/layouts/SidebarOnlyLayout.vue.d.ts.map +1 -0
  37. package/dist/src/types/config.d.ts +16 -0
  38. package/dist/src/types/config.d.ts.map +1 -0
  39. package/dist/src/types/index.d.ts +4 -0
  40. package/dist/src/types/index.d.ts.map +1 -0
  41. package/dist/src/types/layout.d.ts +3 -0
  42. package/dist/src/types/layout.d.ts.map +1 -0
  43. package/dist/src/types/menu.d.ts +18 -0
  44. package/dist/src/types/menu.d.ts.map +1 -0
  45. package/dist/vue3-layout.css +1 -0
  46. package/package.json +74 -0
@@ -0,0 +1,22 @@
1
+ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<import("vue").ExtractPropTypes<{
2
+ defaultLayout: {
3
+ default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
4
+ type: ObjectConstructor;
5
+ };
6
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
7
+ defaultLayout: {
8
+ default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
9
+ type: ObjectConstructor;
10
+ };
11
+ }>> & Readonly<{}>, {
12
+ defaultLayout: Record<string, any>;
13
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, Record<string, (_: {}) => any> & {
14
+ default: (_: {}) => any;
15
+ }>;
16
+ export default _default;
17
+ type __VLS_WithTemplateSlots<T, S> = T & {
18
+ new (): {
19
+ $slots: S;
20
+ };
21
+ };
22
+ //# sourceMappingURL=Layout.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Layout.vue.d.ts","sourceRoot":"","sources":["../../src/Layout.vue.ts"],"names":[],"mappings":";;;;;;;;;;;;wGA2H4D,GAAG;aAEtD,CAAC,CAAC,IAAgB,KAAK,GAAG;;AA1GnC,wBAyHc;AACd,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAAE,QAAO;QAAE,MAAM,EAAE,CAAC,CAAA;KAAE,CAAA;CAAE,CAAC"}
@@ -0,0 +1,12 @@
1
+ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, {
2
+ copyright: (_: {}) => any;
3
+ social: (_: {}) => any;
4
+ version: (_: {}) => any;
5
+ }>;
6
+ export default _default;
7
+ type __VLS_WithTemplateSlots<T, S> = T & {
8
+ new (): {
9
+ $slots: S;
10
+ };
11
+ };
12
+ //# sourceMappingURL=AppFooter.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppFooter.vue.d.ts","sourceRoot":"","sources":["../../../src/components/AppFooter.vue.ts"],"names":[],"mappings":";eA4FW,CAAC,CAAC,IAAgB,KAAK,GAAG;YAC7B,CAAC,CAAC,IAAgB,KAAK,GAAG;aACzB,CAAC,CAAC,IAAgB,KAAK,GAAG;;AAtFnC,wBAqGc;AACd,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAAE,QAAO;QAAE,MAAM,EAAE,CAAC,CAAA;KAAE,CAAA;CAAE,CAAC"}
@@ -0,0 +1,31 @@
1
+ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<import("vue").ExtractPropTypes<{
2
+ noLocaleSwitcher: BooleanConstructor;
3
+ noLogo: BooleanConstructor;
4
+ noMainMenu: BooleanConstructor;
5
+ }>, {
6
+ expanded: import("vue").Ref<boolean, boolean>;
7
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
8
+ noLocaleSwitcher: BooleanConstructor;
9
+ noLogo: BooleanConstructor;
10
+ noMainMenu: BooleanConstructor;
11
+ }>> & Readonly<{}>, {
12
+ noLocaleSwitcher: boolean;
13
+ noLogo: boolean;
14
+ noMainMenu: boolean;
15
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, {
16
+ logo: (_: {
17
+ class: string;
18
+ }) => any;
19
+ menu: (_: {}) => any;
20
+ userMenu: (_: {}) => any;
21
+ addon: (_: {}) => any;
22
+ locales: (_: {}) => any;
23
+ toggle: (_: {}) => any;
24
+ }>;
25
+ export default _default;
26
+ type __VLS_WithTemplateSlots<T, S> = T & {
27
+ new (): {
28
+ $slots: S;
29
+ };
30
+ };
31
+ //# sourceMappingURL=AppHeader.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppHeader.vue.d.ts","sourceRoot":"","sources":["../../../src/components/AppHeader.vue.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;UAsNM,CAAC,CAAC;;KAAgB,KAAK,GAAG;UAC1B,CAAC,CAAC,IAAgB,KAAK,GAAG;cACtB,CAAC,CAAC,IAAiB,KAAK,GAAG;WAC9B,CAAC,CAAC,IAAiB,KAAK,GAAG;aACzB,CAAC,CAAC,IAAiB,KAAK,GAAG;YAC5B,CAAC,CAAC,IAAiB,KAAK,GAAG;;AAhNnC,wBAuOc;AACd,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAAE,QAAO;QAAE,MAAM,EAAE,CAAC,CAAA;KAAE,CAAA;CAAE,CAAC"}
@@ -0,0 +1,26 @@
1
+ import type { PropType } from "vue";
2
+ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
3
+ holder: {
4
+ required: true;
5
+ type: PropType<string>;
6
+ };
7
+ showDisclaimer: BooleanConstructor;
8
+ url: {
9
+ required: true;
10
+ type: PropType<string>;
11
+ };
12
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
13
+ holder: {
14
+ required: true;
15
+ type: PropType<string>;
16
+ };
17
+ showDisclaimer: BooleanConstructor;
18
+ url: {
19
+ required: true;
20
+ type: PropType<string>;
21
+ };
22
+ }>> & Readonly<{}>, {
23
+ showDisclaimer: boolean;
24
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
25
+ export default _default;
26
+ //# sourceMappingURL=Copyright.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Copyright.vue.d.ts","sourceRoot":"","sources":["../../../src/components/Copyright.vue.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;;;;cA8BhB,QAAQ,CAAC,MAAM,CAAC;;;;;cAKhB,QAAQ,CAAC,MAAM,CAAC;;;;;cALhB,QAAQ,CAAC,MAAM,CAAC;;;;;cAKhB,QAAQ,CAAC,MAAM,CAAC;;;;;AAhCpC,wBAoGc"}
@@ -0,0 +1,41 @@
1
+ import type { PropType } from "vue";
2
+ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<import("vue").ExtractPropTypes<{
3
+ alt: {
4
+ default: undefined;
5
+ type: StringConstructor;
6
+ };
7
+ route: {
8
+ default: undefined;
9
+ type: PropType<string>;
10
+ };
11
+ src: {
12
+ default: undefined;
13
+ type: StringConstructor;
14
+ };
15
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
16
+ alt: {
17
+ default: undefined;
18
+ type: StringConstructor;
19
+ };
20
+ route: {
21
+ default: undefined;
22
+ type: PropType<string>;
23
+ };
24
+ src: {
25
+ default: undefined;
26
+ type: StringConstructor;
27
+ };
28
+ }>> & Readonly<{}>, {
29
+ alt: string;
30
+ route: string;
31
+ src: string;
32
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, {
33
+ default: (_: {}) => any;
34
+ }>;
35
+ export default _default;
36
+ type __VLS_WithTemplateSlots<T, S> = T & {
37
+ new (): {
38
+ $slots: S;
39
+ };
40
+ };
41
+ //# sourceMappingURL=Logo.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Logo.vue.d.ts","sourceRoot":"","sources":["../../../src/components/Logo.vue.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;;;;;;;;cA8ChB,QAAQ,CAAC,MAAM,CAAC;;;;;;;;;;;;;cAAhB,QAAQ,CAAC,MAAM,CAAC;;;;;;;;;;;aA6F3B,CAAC,CAAC,IAAgB,KAAK,GAAG;;AAxInC,wBAwJc;AACd,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAAE,QAAO;QAAE,MAAM,EAAE,CAAC,CAAA;KAAE,CAAA;CAAE,CAAC"}
@@ -0,0 +1,24 @@
1
+ import type { PropType } from "vue";
2
+ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
3
+ routes: {
4
+ required: true;
5
+ type: PropType<{
6
+ name: string;
7
+ route: string;
8
+ }[]>;
9
+ };
10
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
11
+ close: () => void;
12
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
13
+ routes: {
14
+ required: true;
15
+ type: PropType<{
16
+ name: string;
17
+ route: string;
18
+ }[]>;
19
+ };
20
+ }>> & Readonly<{
21
+ onClose?: (() => any) | undefined;
22
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
23
+ export default _default;
24
+ //# sourceMappingURL=MainMenu.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MainMenu.vue.d.ts","sourceRoot":"","sources":["../../../src/components/MainMenu.vue.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;;;;cAmDjB,QAAQ,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;;;iBA8EP,IAAI;;;;cA9ExC,QAAQ,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;;;;;AAhD9D,wBAuHc"}
@@ -0,0 +1,25 @@
1
+ import type { SidebarMenu } from "../types";
2
+ import type { PropType } from "vue";
3
+ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
4
+ menu: {
5
+ required: true;
6
+ type: PropType<SidebarMenu[]>;
7
+ };
8
+ sidebarActive: {
9
+ default: boolean;
10
+ required: true;
11
+ type: BooleanConstructor;
12
+ };
13
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
14
+ menu: {
15
+ required: true;
16
+ type: PropType<SidebarMenu[]>;
17
+ };
18
+ sidebarActive: {
19
+ default: boolean;
20
+ required: true;
21
+ type: BooleanConstructor;
22
+ };
23
+ }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
24
+ export default _default;
25
+ //# sourceMappingURL=NavMenu.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavMenu.vue.d.ts","sourceRoot":"","sources":["../../../src/components/NavMenu.vue.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;;;;cA0CjB,QAAQ,CAAC,WAAW,EAAE,CAAC;;;;;;;;;;cAAvB,QAAQ,CAAC,WAAW,EAAE,CAAC;;;;;;;;AAvC1C,wBAsHc"}
@@ -0,0 +1,25 @@
1
+ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
2
+ item: {
3
+ required: true;
4
+ type: ObjectConstructor;
5
+ };
6
+ sidebarActive: {
7
+ default: boolean;
8
+ required: true;
9
+ type: BooleanConstructor;
10
+ };
11
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
12
+ item: {
13
+ required: true;
14
+ type: ObjectConstructor;
15
+ };
16
+ sidebarActive: {
17
+ default: boolean;
18
+ required: true;
19
+ type: BooleanConstructor;
20
+ };
21
+ }>> & Readonly<{}>, {}, {}, {
22
+ NavMenuItem: () => Promise<typeof import("./NavMenuItem.vue")>;
23
+ }, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
24
+ export default _default;
25
+ //# sourceMappingURL=NavMenuItem.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavMenuItem.vue.d.ts","sourceRoot":"","sources":["../../../src/components/NavMenuItem.vue.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAOA,wBAqPc"}
@@ -0,0 +1,39 @@
1
+ import type { SidebarMenu } from "../types";
2
+ import type { PropType } from "vue";
3
+ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<import("vue").ExtractPropTypes<{
4
+ menu: {
5
+ required: true;
6
+ type: PropType<SidebarMenu[]>;
7
+ };
8
+ noHeader: {
9
+ default: boolean;
10
+ type: BooleanConstructor;
11
+ };
12
+ }>, {
13
+ sidebarActive: import("vue").Ref<boolean, boolean>;
14
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
15
+ menu: {
16
+ required: true;
17
+ type: PropType<SidebarMenu[]>;
18
+ };
19
+ noHeader: {
20
+ default: boolean;
21
+ type: BooleanConstructor;
22
+ };
23
+ }>> & Readonly<{}>, {
24
+ noHeader: boolean;
25
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, {
26
+ title: (_: {}) => any;
27
+ default: (_: {}) => any;
28
+ links: (_: {}) => any;
29
+ afterNavLinks: (_: {}) => any;
30
+ afterSidebarMenu: (_: {}) => any;
31
+ footer: (_: {}) => any;
32
+ }>;
33
+ export default _default;
34
+ type __VLS_WithTemplateSlots<T, S> = T & {
35
+ new (): {
36
+ $slots: S;
37
+ };
38
+ };
39
+ //# sourceMappingURL=Sidebar.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Sidebar.vue.d.ts","sourceRoot":"","sources":["../../../src/components/Sidebar.vue.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;;;;cAmDjB,QAAQ,CAAC,WAAW,EAAE,CAAC;;;;;;;;;;;cAAvB,QAAQ,CAAC,WAAW,EAAE,CAAC;;;;;;;;;WA+MnC,CAAC,CAAC,IAAgB,KAAK,GAAG;aACxB,CAAC,CAAC,IAAgB,KAAK,GAAG;WAC5B,CAAC,CAAC,IAAiB,KAAK,GAAG;mBACnB,CAAC,CAAC,IAAiB,KAAK,GAAG;sBACxB,CAAC,CAAC,IAAiB,KAAK,GAAG;YACrC,CAAC,CAAC,IAAiB,KAAK,GAAG;;AApQnC,wBAsRc;AACd,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAAE,QAAO;QAAE,MAAM,EAAE,CAAC,CAAA;KAAE,CAAA;CAAE,CAAC"}
@@ -0,0 +1,22 @@
1
+ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<import("vue").ExtractPropTypes<{
2
+ fixed: {
3
+ default: boolean;
4
+ type: BooleanConstructor;
5
+ };
6
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
7
+ fixed: {
8
+ default: boolean;
9
+ type: BooleanConstructor;
10
+ };
11
+ }>> & Readonly<{}>, {
12
+ fixed: boolean;
13
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, {
14
+ default: (_: {}) => any;
15
+ }>;
16
+ export default _default;
17
+ type __VLS_WithTemplateSlots<T, S> = T & {
18
+ new (): {
19
+ $slots: S;
20
+ };
21
+ };
22
+ //# sourceMappingURL=StickyCollapsibleFooter.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StickyCollapsibleFooter.vue.d.ts","sourceRoot":"","sources":["../../../src/components/StickyCollapsibleFooter.vue.ts"],"names":[],"mappings":";;;;;;;;;;;;;aAmES,CAAC,CAAC,IAAgB,KAAK,GAAG;;AAjEnC,wBA8Ec;AACd,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAAE,QAAO;QAAE,MAAM,EAAE,CAAC,CAAA;KAAE,CAAA;CAAE,CAAC"}
@@ -0,0 +1,44 @@
1
+ import "./assets/css/index.css";
2
+ import AppFooter from "./components/AppFooter.vue";
3
+ import AppHeader from "./components/AppHeader.vue";
4
+ import Copyright from "./components/Copyright.vue";
5
+ import Logo from "./components/Logo.vue";
6
+ import MainMenu from "./components/MainMenu.vue";
7
+ import Sidebar from "./components/Sidebar.vue";
8
+ import StickyCollapsibleFooter from "./components/StickyCollapsibleFooter.vue";
9
+ import Layout from "./Layout.vue";
10
+ import BasicLayout from "./layouts/BasicLayout.vue";
11
+ import NullLayout from "./layouts/NullLayout.vue";
12
+ import SidebarHeaderLayout from "./layouts/SidebarHeaderLayout.vue";
13
+ import SidebarOnlyLayout from "./layouts/SidebarOnlyLayout.vue";
14
+ import type { PrefabsTechVue3LayoutConfig, PrefabsTechVue3LayoutPluginOptions, LayoutType } from "./types";
15
+ import type { App } from "vue";
16
+ declare module "@prefabs.tech/vue3-config" {
17
+ interface AppConfig {
18
+ layout?: PrefabsTechVue3LayoutConfig;
19
+ }
20
+ }
21
+ declare module "vue-router" {
22
+ interface RouteMeta {
23
+ layout?: LayoutType;
24
+ }
25
+ }
26
+ declare const useTranslations: () => {
27
+ en: {
28
+ copyright: {
29
+ disclaimer: string;
30
+ };
31
+ };
32
+ fr: {
33
+ copyright: {
34
+ disclaimer: string;
35
+ };
36
+ };
37
+ };
38
+ declare const plugin: {
39
+ install: (app: App, options: PrefabsTechVue3LayoutPluginOptions) => void;
40
+ };
41
+ export default plugin;
42
+ export { AppFooter, AppHeader, BasicLayout, Copyright, Layout, Logo, MainMenu, NullLayout, Sidebar, SidebarHeaderLayout, SidebarOnlyLayout, StickyCollapsibleFooter, useTranslations, };
43
+ export type { PrefabsTechVue3LayoutConfig, PrefabsTechVue3LayoutPluginOptions, LayoutType, MenuItem, SidebarMenu, } from "./types";
44
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,wBAAwB,CAAC;AAKhC,OAAO,SAAS,MAAM,4BAA4B,CAAC;AACnD,OAAO,SAAS,MAAM,4BAA4B,CAAC;AACnD,OAAO,SAAS,MAAM,4BAA4B,CAAC;AACnD,OAAO,IAAI,MAAM,uBAAuB,CAAC;AACzC,OAAO,QAAQ,MAAM,2BAA2B,CAAC;AACjD,OAAO,OAAO,MAAM,0BAA0B,CAAC;AAC/C,OAAO,uBAAuB,MAAM,0CAA0C,CAAC;AAC/E,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,OAAO,WAAW,MAAM,2BAA2B,CAAC;AACpD,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAClD,OAAO,mBAAmB,MAAM,mCAAmC,CAAC;AACpE,OAAO,iBAAiB,MAAM,iCAAiC,CAAC;AAGhE,OAAO,KAAK,EACV,2BAA2B,EAC3B,kCAAkC,EAClC,UAAU,EACX,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE/B,OAAO,QAAQ,2BAA2B,CAAC;IACzC,UAAU,SAAS;QACjB,MAAM,CAAC,EAAE,2BAA2B,CAAC;KACtC;CACF;AAED,OAAO,QAAQ,YAAY,CAAC;IAC1B,UAAU,SAAS;QACjB,MAAM,CAAC,EAAE,UAAU,CAAC;KACrB;CACF;AAMD,QAAA,MAAM,eAAe;;;;;;;;;;;CAEpB,CAAC;AAEF,QAAA,MAAM,MAAM;mBACK,GAAG,WAAW,kCAAkC,KAAG,IAAI;CASvE,CAAC;AAEF,eAAe,MAAM,CAAC;AAEtB,OAAO,EACL,SAAS,EACT,SAAS,EACT,WAAW,EACX,SAAS,EACT,MAAM,EACN,IAAI,EACJ,QAAQ,EACR,UAAU,EACV,OAAO,EACP,mBAAmB,EACnB,iBAAiB,EACjB,uBAAuB,EACvB,eAAe,GAChB,CAAC;AAEF,YAAY,EACV,2BAA2B,EAC3B,kCAAkC,EAClC,UAAU,EACV,QAAQ,EACR,WAAW,GACZ,MAAM,SAAS,CAAC"}
@@ -0,0 +1,26 @@
1
+ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<import("vue").ExtractPropTypes<{
2
+ noLocaleSwitcher: BooleanConstructor;
3
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
4
+ noLocaleSwitcher: BooleanConstructor;
5
+ }>> & Readonly<{}>, {
6
+ noLocaleSwitcher: boolean;
7
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, {
8
+ header: (_: {}) => any;
9
+ logo: (_: {}) => any;
10
+ addon: (_: {}) => any;
11
+ menu: (_: {}) => any;
12
+ userMenu: (_: {}) => any;
13
+ locales: (_: {}) => any;
14
+ default: (_: {}) => any;
15
+ footer: (_: {}) => any;
16
+ copyright: (_: {}) => any;
17
+ social: (_: {}) => any;
18
+ version: (_: {}) => any;
19
+ }>;
20
+ export default _default;
21
+ type __VLS_WithTemplateSlots<T, S> = T & {
22
+ new (): {
23
+ $slots: S;
24
+ };
25
+ };
26
+ //# sourceMappingURL=BasicLayout.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BasicLayout.vue.d.ts","sourceRoot":"","sources":["../../../src/layouts/BasicLayout.vue.ts"],"names":[],"mappings":";;;;;;;YA0OQ,CAAC,CAAC,IAAgB,KAAK,GAAG;UAC5B,CAAC,CAAC,IAAgB,KAAK,GAAG;WACzB,CAAC,CAAC,IAAiB,KAAK,GAAG;UAC5B,CAAC,CAAC,IAAiB,KAAK,GAAG;cACvB,CAAC,CAAC,IAAiB,KAAK,GAAG;aAC5B,CAAC,CAAC,IAAiB,KAAK,GAAG;aAC3B,CAAC,CAAC,IAAiB,KAAK,GAAG;YAC5B,CAAC,CAAC,IAAiB,KAAK,GAAG;eACxB,CAAC,CAAC,IAAiB,KAAK,GAAG;YAC9B,CAAC,CAAC,IAAiB,KAAK,GAAG;aAC1B,CAAC,CAAC,IAAiB,KAAK,GAAG;;AA/OpC,wBA8Pc;AACd,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAAE,QAAO;QAAE,MAAM,EAAE,CAAC,CAAA;KAAE,CAAA;CAAE,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ export default _default;
3
+ //# sourceMappingURL=NullLayout.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NullLayout.vue.d.ts","sourceRoot":"","sources":["../../../src/layouts/NullLayout.vue.ts"],"names":[],"mappings":";AACA,wBAEG"}
@@ -0,0 +1,52 @@
1
+ import type { SidebarMenu } from "../types";
2
+ import type { PropType } from "vue";
3
+ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<import("vue").ExtractPropTypes<{
4
+ menu: {
5
+ required: true;
6
+ type: PropType<SidebarMenu[]>;
7
+ };
8
+ noLocaleSwitcher: BooleanConstructor;
9
+ noSidebarHeader: {
10
+ default: boolean;
11
+ type: BooleanConstructor;
12
+ };
13
+ userMenuLocation: {
14
+ default: string;
15
+ type: StringConstructor;
16
+ validator: (value: string) => boolean;
17
+ };
18
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
19
+ menu: {
20
+ required: true;
21
+ type: PropType<SidebarMenu[]>;
22
+ };
23
+ noLocaleSwitcher: BooleanConstructor;
24
+ noSidebarHeader: {
25
+ default: boolean;
26
+ type: BooleanConstructor;
27
+ };
28
+ userMenuLocation: {
29
+ default: string;
30
+ type: StringConstructor;
31
+ validator: (value: string) => boolean;
32
+ };
33
+ }>> & Readonly<{}>, {
34
+ noLocaleSwitcher: boolean;
35
+ noSidebarHeader: boolean;
36
+ userMenuLocation: string;
37
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, {
38
+ header: (_: {}) => any;
39
+ userMenu: (_: {}) => any;
40
+ locales: (_: {}) => any;
41
+ afterNavLinks: (_: {}) => any;
42
+ afterSidebarMenu: (_: {}) => any;
43
+ footer: (_: {}) => any;
44
+ default: (_: {}) => any;
45
+ }>;
46
+ export default _default;
47
+ type __VLS_WithTemplateSlots<T, S> = T & {
48
+ new (): {
49
+ $slots: S;
50
+ };
51
+ };
52
+ //# sourceMappingURL=SidebarHeaderLayout.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarHeaderLayout.vue.d.ts","sourceRoot":"","sources":["../../../src/layouts/SidebarHeaderLayout.vue.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;;;;cA8DjB,QAAQ,CAAC,WAAW,EAAE,CAAC;;;;;;;;;;2BAUnB,MAAM;;;;;cAVV,QAAQ,CAAC,WAAW,EAAE,CAAC;;;;;;;;;;2BAUnB,MAAM;;;;;;;YA0OrB,CAAC,CAAC,IAAgB,KAAK,GAAG;cACxB,CAAC,CAAC,IAAiB,KAAK,GAAG;aAC5B,CAAC,CAAC,IAAiB,KAAK,GAAG;mBACrB,CAAC,CAAC,IAAiB,KAAK,GAAG;sBACxB,CAAC,CAAC,IAAiB,KAAK,GAAG;YACrC,CAAC,CAAC,IAAiB,KAAK,GAAG;aAC1B,CAAC,CAAC,IAAiB,KAAK,GAAG;;AAtTpC,wBA0Uc;AACd,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAAE,QAAO;QAAE,MAAM,EAAE,CAAC,CAAA;KAAE,CAAA;CAAE,CAAC"}
@@ -0,0 +1,39 @@
1
+ import type { SidebarMenu } from "../types";
2
+ import type { PropType } from "vue";
3
+ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<import("vue").ExtractPropTypes<{
4
+ menu: {
5
+ required: true;
6
+ type: PropType<SidebarMenu[]>;
7
+ };
8
+ noLocaleSwitcher: BooleanConstructor;
9
+ noHeader: {
10
+ default: boolean;
11
+ type: BooleanConstructor;
12
+ };
13
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
14
+ menu: {
15
+ required: true;
16
+ type: PropType<SidebarMenu[]>;
17
+ };
18
+ noLocaleSwitcher: BooleanConstructor;
19
+ noHeader: {
20
+ default: boolean;
21
+ type: BooleanConstructor;
22
+ };
23
+ }>> & Readonly<{}>, {
24
+ noLocaleSwitcher: boolean;
25
+ noHeader: boolean;
26
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, {
27
+ afterNavLinks: (_: {}) => any;
28
+ afterSidebarMenu: (_: {}) => any;
29
+ userMenu: (_: {}) => any;
30
+ locales: (_: {}) => any;
31
+ default: (_: {}) => any;
32
+ }>;
33
+ export default _default;
34
+ type __VLS_WithTemplateSlots<T, S> = T & {
35
+ new (): {
36
+ $slots: S;
37
+ };
38
+ };
39
+ //# sourceMappingURL=SidebarOnlyLayout.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarOnlyLayout.vue.d.ts","sourceRoot":"","sources":["../../../src/layouts/SidebarOnlyLayout.vue.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;;;;cAmBjB,QAAQ,CAAC,WAAW,EAAE,CAAC;;;;;;;;;;cAAvB,QAAQ,CAAC,WAAW,EAAE,CAAC;;;;;;;;;;;mBAiK3B,CAAC,CAAC,IAAgB,KAAK,GAAG;sBACvB,CAAC,CAAC,IAAiB,KAAK,GAAG;cACnC,CAAC,CAAC,IAAiB,KAAK,GAAG;aAC5B,CAAC,CAAC,IAAiB,KAAK,GAAG;aAC3B,CAAC,CAAC,IAAiB,KAAK,GAAG;;AAtLpC,wBAsMc;AACd,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAAE,QAAO;QAAE,MAAM,EAAE,CAAC,CAAA;KAAE,CAAA;CAAE,CAAC"}
@@ -0,0 +1,16 @@
1
+ import type { MenuItem } from "./menu";
2
+ import type { AppConfig } from "@prefabs.tech/vue3-config";
3
+ import type { LocaleMessages, VueMessageType } from "@prefabs.tech/vue3-i18n";
4
+ interface PrefabsTechVue3LayoutConfig {
5
+ homeRoute?: "home" | string;
6
+ logo?: string;
7
+ logoAlt?: string;
8
+ logoRoute?: string;
9
+ mainMenu?: MenuItem[];
10
+ }
11
+ interface PrefabsTechVue3LayoutPluginOptions {
12
+ config: AppConfig;
13
+ translations?: LocaleMessages<VueMessageType>;
14
+ }
15
+ export type { PrefabsTechVue3LayoutConfig, PrefabsTechVue3LayoutPluginOptions };
16
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/types/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9E,UAAU,2BAA2B;IACnC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;CACvB;AAED,UAAU,kCAAkC;IAC1C,MAAM,EAAE,SAAS,CAAC;IAClB,YAAY,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;CAC/C;AAED,YAAY,EAAE,2BAA2B,EAAE,kCAAkC,EAAE,CAAC"}
@@ -0,0 +1,4 @@
1
+ export type { PrefabsTechVue3LayoutConfig, PrefabsTechVue3LayoutPluginOptions, } from "./config";
2
+ export type { LayoutType } from "./layout";
3
+ export type { MenuItem, SidebarMenu } from "./menu";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,2BAA2B,EAC3B,kCAAkC,GACnC,MAAM,UAAU,CAAC;AAElB,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import Layout from "../Layout.vue";
2
+ export type LayoutType = InstanceType<typeof Layout>;
3
+ //# sourceMappingURL=layout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../../src/types/layout.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,eAAe,CAAC;AAEnC,MAAM,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,MAAM,CAAC,CAAC"}
@@ -0,0 +1,18 @@
1
+ interface MenuItem {
2
+ children?: Array<MenuItem>;
3
+ hide?: boolean;
4
+ icon?: string;
5
+ name: string;
6
+ route: string;
7
+ shortName?: string;
8
+ }
9
+ interface SidebarMenu {
10
+ children?: Array<SidebarMenu>;
11
+ name: string;
12
+ icon?: string;
13
+ routeName: string;
14
+ shortName?: string;
15
+ hide?: boolean;
16
+ }
17
+ export type { MenuItem, SidebarMenu };
18
+ //# sourceMappingURL=menu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu.d.ts","sourceRoot":"","sources":["../../../src/types/menu.ts"],"names":[],"mappings":"AAAA,UAAU,QAAQ;IAChB,QAAQ,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC3B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,WAAW;IACnB,QAAQ,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ .layout.basic{--layout-basic-padding-h: 1em;display:grid;grid-template-areas:"header" "main" "footer";gap:var(--layout-basic-gap);grid-template-rows:auto 1fr auto;height:100dvh;min-height:100dvh}.layout.basic>:is(footer,header,main){margin:0 auto;max-width:var(--layout-basic-max-width);padding-left:var(--layout-basic-padding-h);padding-right:var(--layout-basic-padding-h);width:100%}.layout.basic>footer{grid-area:footer}.layout.basic>header{--header-logo-max-width: 120px;grid-area:header;height:var(--layout-header-height, 5.5rem);padding-inline:var(--layout-header-padding-h, 1rem)}.layout.basic>header>nav{gap:.25rem}.layout.basic>header>nav[data-expanded=true]{--layout-basic-padding-left: 0;--layout-basic-padding-right: 0;left:calc(var(--layout-basic-padding-h)*-1);opacity:1;padding:0;padding-inline:var(--layout-header-padding-h, 1rem);right:calc(var(--layout-basic-padding-h)*-1)}.layout.basic>header>nav[data-expanded=true]>.menu{--_layout-nav-menu-padding-v: var(--layout-nav-menu-padding-v, .75rem);--_layout-nav-menu-padding-h: 0;padding:var(--_layout-nav-menu-padding-v) var(--_layout-nav-menu-padding-h)}.layout.basic>header>nav[data-expanded=true]>.menu>ul{--menu-margin-left: 0}.layout.basic>header>nav[data-expanded=true] .addon{font-size:var(--header-font-size)}.layout.basic>header>nav[data-expanded=true] ul>li>a{--_nav-item-padding-h: var(--layout-menu-item-padding-h, 1rem);--_nav-item-padding-v: var(--layout-menu-item-padding-v, .625rem);font-size:var(--header-font-size);padding:var(--_nav-item-padding-v) var(--_nav-item-padding-h)}.layout.basic>header>nav[data-expanded=true] nav.locale-switcher{--_layout-nav-menu-margin-v: var(--layout-nav-menu-margin-v, .75rem);--locale-switcher-width: 100%;font-size:var(--header-font-size);margin-top:var(--_layout-nav-menu-margin-v);margin-bottom:.25rem}.layout.basic>header>nav[data-expanded=true] nav.locale-switcher .dropdown{left:0}.layout.basic>header nav .addon,.layout.basic>header nav.locale-switcher,.layout.basic>header nav.menu li>a{--_menu-item-padding-h: 1em;--_menu-item-padding-v: .625rem;font-size:.9rem}.layout.basic>main{max-width:100%;min-width:100%;grid-area:main;overflow-y:auto}@media screen and (min-width: 1200px){.layout.basic>:is(footer,main){padding-left:2rem;padding-right:2rem}.layout.basic>header{--header-logo-max-width: 150px;padding-inline:var(--layout-header-padding-h, 2rem)}.layout.basic>header>nav{gap:var(--header-gap, 1.5rem)}.layout.basic>header>nav[data-expanded=true]{padding:0}.layout.basic>header>nav[data-expanded=true]>.menu{--_layout-nav-menu-padding-v: 1rem;--_layout-nav-menu-padding-h: 1rem;padding:var(--_layout-nav-menu-padding-v) var(--_layout-nav-menu-padding-h)}.layout.basic>header nav .addon,.layout.basic>header nav.locale-switcher,.layout.basic>header nav.menu li>a{--_menu-item-padding-h: 1.5rem;--_menu-item-padding-v: .625rem;font-size:1rem}.layout.basic>header>nav[data-expanded=true] nav.locale-switcher{--locale-switcher-width: 9rem}}.layout>footer{--footer-bg-color: transparent;--footer-border-color: var(--border-color);--footer-font-size: var(--font-size, 1rem);--footer-gap: .5em;--footer-padding-v: 1em;align-items:center;background-color:var(--footer-bg-color);border-top:1px solid var(--footer-border-color);box-shadow:0 0 0 100vmax var(--footer-bg-color);clip-path:inset(0 -100vmax);display:flex;flex-direction:row;font-size:var(--footer-font-size);gap:var(--footer-gap);justify-content:space-between;padding-bottom:var(--footer-padding-v);padding-top:var(--footer-padding-v);text-align:center}.layout>header{--header-bg-color: transparent;--header-border-color: var(--border-color);--header-font-size: var(--font-size);--header-gap: 1.5rem;--header-logo-max-width: 150px;--header-padding-v: 1em;align-items:center;border-bottom:1px solid var(--header-border-color);display:grid;font-size:var(--header-font-size);gap:0 var(--header-gap);grid-template-areas:"logo toggle" "nav nav";grid-template-columns:var(--header-logo-max-width) 1fr;grid-template-rows:auto auto;justify-items:center;padding-bottom:var(--header-padding-v);padding-top:var(--header-padding-v);position:relative;z-index:100}.layout>header:before{content:"";background-color:var(--header-bg-color);box-shadow:0 0 0 100vmax var(--header-bg-color);clip-path:inset(calc(-1 * var(--header-padding-top)) -100vmax calc(-1 * var(--header-padding-bottom, 1em)) -100vmax);grid-column:1 / span 2;grid-row:1 / 1;height:100%;position:absolute;width:100%;z-index:-1}.layout>header>nav{align-items:stretch;background-color:#fff;border-bottom:1px solid var(--menu-border-color, #000);opacity:1;display:flex;flex-direction:column;gap:var(--menu-gap, 1em);grid-area:nav;justify-content:flex-start;left:0;margin-left:calc(-1 * var(--layout-basic-padding-left, 1em));margin-right:calc(-1 * var(--layout-basic-padding-right, 1em));padding-bottom:var(--header-padding-bottom, 1em);padding-left:var(--layout-basic-padding-left, 1em);padding-right:var(--layout-basic-padding-right, 1em);padding-top:var(--header-padding-top, 1em);position:absolute;right:0;top:var(--header-padding-top, 1em);z-index:1}.layout>header:not(:has(.logo)):not(:has(.main-menu)){display:flex;justify-content:end}.layout header:not(:has(.logo)):not(:has(.main-menu)) .toggle{--_justify-self: left;--_padding-left: 1rem;padding-left:var(--_padding-left);width:100%}.layout>header>nav[data-expanded=false]{display:none}.layout>header .logo{grid-area:logo;max-width:var(--header-logo-max-width, 150px)}.layout>header .toggle{--_justify-self: right;cursor:pointer;grid-area:toggle;justify-self:var(--_justify-self)}.layout>header .main-menu{flex:1}@media screen and (min-width: 768px){.layout>header{grid-template-areas:"logo nav";justify-items:stretch}.layout>header>nav{align-items:center;background-color:var(--header-bg-color);border:none;display:flex;flex-direction:row;justify-content:flex-end;margin:0;padding:0;position:relative;top:0}.layout>header>nav[data-expanded=false]{display:flex}.layout>header .toggle{display:none}}.layout .logo{--_layout-logo-max-width: var(--layout-logo-max-width, 150px)}.layout .logo img{max-width:var(--_layout-logo-max-width)}.layout .logo>a{color:var(--color, #545454);text-decoration:none}.layout .logo .logo-default{align-items:center;display:flex;font-weight:500;gap:.5rem;text-transform:capitalize}.layout .logo .logo-default>span:first-child{align-items:center;background:#2d2d2d40;border-radius:50%;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.layout .logo .logo-default>span:not(:first-child){max-width:200px;overflow:hidden;text-overflow:ellipsis;text-wrap:nowrap}.nav-menu-item>.link.active{--_bg-color: var(--nav-menu-bg-color, #0870e5);background-color:var(--_bg-color)}.nav-menu-item>.link{--_font-size: var(--font-size-min, .8rem);--_font-weight: var(--font-weight, 450);--_height: var(--nav-menu-height, 3rem);--_padding-h: var(--sidebar-padding-h, 1rem);align-items:center;cursor:pointer;display:flex;font-size:var(--_font-size);font-weight:var(--_font-weight);gap:.5rem;height:var(--_height);padding-left:var(--_padding-h);text-decoration:none;transition:.5s}.nav-menu-item>.link:hover{--_hover-bg-color: var(--nav-menu-bg-color, #0870e5);background-color:var(--_hover-bg-color)}.nav-menu-item>.link:has(.icon-only){font-size:.9rem;justify-content:center;padding-left:0}.nav-menu-item .toggle-menu>svg{transition:transform .3s ease}.nav-menu-item .toggle-menu>svg.up-chevron{transform:rotate(180deg)}.sub-menu-item{--_gap: var(--nav-menu-gap, .25rem);display:flex;flex-direction:column;gap:var(--_gap);max-height:100dvh;overflow:hidden;transition:max-height .5s ease-in-out}.sub-menu-item.fade-enter-active,.sub-menu-item.fade-leave-active{transition:max-height .5s ease-in-out}.sub-menu-item.fade-enter-from,.sub-menu-item.fade-leave-to{max-height:0}.sub-menu-item .link{--_submenu-padding-left: var(--nav-menu-padding-left, 2rem);--_submenu-padding-right: var(--nav-menu-padding-right, 2rem);padding-left:var(--_submenu-padding-left);padding-right:var(--_submenu-padding-right)}.toggle-menu{--_margin-right: 1rem;--_width: 1rem;margin-left:auto;margin-right:var(--_margin-right);width:var(--_width)}.nav-menu>.menu{--_border-color: var(--border-color, #dee2e6);--_gap: var(--nav-menu-gap, .25rem);--_padding-h: var(--padding-h, 0);--_padding-v: var(--padding-v, 1.5rem);border-bottom:1px solid var(--_border-color);display:flex;flex-direction:column;gap:var(--_gap);padding-bottom:var(--_padding-v);padding-left:var(--_padding-h);padding-top:var(--_padding-v)}.no-sidebar{--_bg-color: var(--sidebar-bg-color, #007aff);--_border-radius: 2rem;--_width: 2rem;background-color:var(--_bg-color);border-radius:0 var(--_border-radius) var(--_border-radius) 0;cursor:pointer;margin-top:1rem;padding-block:.25rem;width:var(--_width)}.no-sidebar>img{--_width: var(--sidebar-toggle-icon-width, 1.5rem);width:var(--_width)}.sidebar{--_bg-color: var(--sidebar-bg-color, #007aff);--_color: var(--sidebar-color, #fff);--_height: var(--sidebar-height, auto);--_position: var(--sidebar-position, fixed);--_width: var(--sidebar-width, 16rem);background-color:var(--_bg-color);bottom:0;color:var(--_color);display:flex;flex-direction:column;height:var(--_height);left:0;overflow:hidden;position:var(--_position);top:0;transition:.2s ease-out;width:var(--_width)}.sidebar .sidebar-menu-wrapper{display:flex;flex:1;flex-direction:column}.sidebar .sidebar-menu-wrapper>ul:has(.nav-menu-item){flex:1}.sidebar>.footer{--_bg-color: var(--sidebar-bg-color, transparent);--_border-color: var(--sidebar-border-color, #dee2e6);--_font-size: var(--sidebar-font-size, 1rem);--_gap: var(--footer-gap, 1rem);--_justify-content: var(--sidebar-justify-content, center);--_padding-top: var(--footer-padding-v, 1rem);--_padding-bottom: var(--footer-padding-v, 1rem);--_width: var(--sidebar-width, 100%);align-items:center;background-color:var(--_bg-color);border-top:1px solid var(--_border-color);box-shadow:0 0 0 100vmax var(--_bg-color);clip-path:inset(0 -100vmax);display:flex;flex-direction:column;font-size:var(--_font-size);gap:var(--_gap);justify-content:var(--_justify-content);padding-bottom:var(--_padding-bottom);padding-top:var(--_padding-top);text-align:center;width:var(--_width)}.sidebar>.header{--_border-color: var(--sidebar-border-color, #dee2e6);--_padding-h: var(--sidebar-padding-h, 1rem);--_padding-v: var(--sidebar-padding-v, 1.5rem);align-items:center;border-bottom:1px solid var(--_border-color);display:flex;justify-content:space-between;padding:var(--_padding-v) var(--_padding-h)}.sidebar>.header>.logo{--_max-width: var(--sidebar-logo-max-width, 150px);max-width:var(--_max-width);width:100%}.sidebar>.header>.toggle{cursor:pointer;width:var(--sidebar-toggle-icon-width, 1.5rem)}.sidebar-toggle-enter-active{transition:opacity .3s ease-in-out}.sidebar-toggle-enter-from{opacity:0}.sidebar:has(.extend){--_width: var(--sidebar-collapsed-width, 6rem);overflow:visible;width:var(--_width)}.sidebar:has(.extend)>.header>.logo{width:max-content}.toggle>.extend{--_bg-color: var(--sidebar-bg-color, #007aff);--_border-color: var(--sidebar-border-color, #fff);--_border-radius: 2rem;--_width: 2rem;background-color:var(--_bg-color);border:solid 1px var(--_border-color);border-radius:var(--_border-radius);left:5rem;position:absolute;padding:.25rem;top:1rem;width:var(--_width)}.sticky-collapsible .content{background-color:#fff;border-top:1px solid #dbdbdb;width:100%}@media screen and (min-width: 576px){.sticky-collapsible{background:transparent;bottom:0;left:0;overflow:hidden;position:absolute;right:0;width:100%;z-index:1}.sticky-collapsible.fixed{position:fixed}.sticky-collapsible .content{padding:var(--collapsible-footer-padding-v, 1rem) var(--collapsible-footer-padding-h, 1rem);transform:translateY(100%);transition:transform .3s ease-in-out}.sticky-collapsible:hover .content{transform:translateY(0)}}.layout.sidebar-header-layout{display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr;grid-template-areas:"header" "main";min-height:100dvh;transition:all .25s ease-in-out}.layout.sidebar-header-layout:has(.no-sidebar){grid-template-columns:1fr;grid-template-areas:"header" "main"}.layout.sidebar-header-layout>.no-sidebar{display:none;position:fixed;top:0}.layout.sidebar-header-layout .layout-sidebar>.header{--_padding-v: 1rem;height:var(--layout-header-height, 5.5rem)}.layout.sidebar-header-layout footer{--_gap: .5rem;--_padding-h: var(--sidebar-padding-h, 1rem);--_padding-v: var(--sidebar-padding-v, 1.5rem);align-items:center;display:flex;flex-wrap:wrap;font-size:.875rem;gap:var(--_gap);justify-content:space-between;padding:0 var(--_padding-h);width:100%}.sidebar-header-layout .copyright a:after{content:""}.sidebar-header-layout:has(.extend) .sidebar-menu-wrapper .locales .dropdown{right:-7rem}.sidebar-header-layout .sidebar-menu-wrapper .locales{border-top:1px solid var(--layout-border-color, #dee2e6a6);width:100%}.sidebar-header-layout .sidebar-menu-wrapper .locales>.locale-trigger{--locale-switcher-padding-v: 1rem;height:var(--sidebar-menu-height, 3rem)}.sidebar-header-layout .sidebar-menu-wrapper .locales.expanded,.sidebar-header-layout .sidebar-menu-wrapper .locales:hover{--locale-switcher-hover-color: #0870e5}.sidebar-header-layout .sidebar-menu-wrapper .locales .truncated>img{transition:transform .3s ease}.sidebar-header-layout .sidebar-menu-wrapper .locales.expanded .truncated>img{transform:rotate(180deg)}.sidebar-header-layout .sidebar-menu-wrapper .locales ul.dropdown{--locale-switcher-bg-color: #007aff;--locale-switcher-border: none;left:0;right:0;top:unset;bottom:100%;border-top:1px solid #0870e5}.sidebar-header-layout .sidebar-menu-wrapper .locales ul.dropdown .badge{--locale-switcher-badge-bg-color: #60a7f3}.layout.sidebar-header-layout:has(.extend){grid-template-columns:var(--sidebar-collapsed-width, 6rem) 1fr;grid-template-areas:"sidebar header" "sidebar main"}.layout.sidebar-header-layout:has(.extend)>header{--header-padding-v: 1rem}.layout.sidebar-header-layout:has(.extend)>header .toggle{visibility:hidden}.layout.sidebar-header-layout>.layout-sidebar{grid-area:sidebar;transition:width .3s ease-in-out;z-index:100}.layout.sidebar-header-layout>header{--header-padding-h: 1rem;background-color:#fff;grid-area:header;height:var(--layout-header-height, 5.5rem);padding-right:var(--header-padding-h);position:sticky;top:0;z-index:100}.layout.sidebar-header-layout>header>nav[data-expanded=true]{display:none}.layout.sidebar-header-layout>main{grid-area:main;transition:all .3s ease-in-out}.sidebar-header-layout main{padding:var(--layout-default-padding-v, 1.5rem) var(--layout-default-padding-h, 1rem);z-index:99}@media screen and (min-width: 1024px){.layout.sidebar-header-layout{grid-template-columns:var(--sidebar-width, 16rem) 1fr;grid-template-areas:"sidebar header" "sidebar main"}}@media screen and (min-width: 768px){.layout.sidebar-header-layout>.no-sidebar{display:block}.layout.sidebar-header-layout:has(.extend)>header{--header-padding-v: 1.1rem}.sidebar-header-layout main{padding:var(--layout-default-padding-v, 2.5rem) var(--layout-default-padding-h, 2rem)}}.layout.sidebar-only{display:grid;grid-template-columns:1fr;grid-template-rows:1fr;grid-template-areas:"main";min-height:100dvh;transition:all .25s ease-in-out}.layout.sidebar-only footer{--_padding-h: var(--sidebar-padding-h, 1rem);--_padding-v: var(--sidebar-padding-v, 1.5rem);align-items:center;display:flex;flex-wrap:wrap;font-size:.875rem;justify-content:space-between;padding:0 var(--_padding-h);width:100%}.layout.sidebar-only .copyright a:after{content:""}.layout.sidebar-only:has(.extend) .locales .dropdown{right:-7rem}.layout.sidebar-only .locales{border-top:1px solid var(--layout-border-color, #dee2e6a6);width:100%}.layout.sidebar-only .sidebar-menu-wrapper .locales>.locale-trigger{--locale-switcher-padding-v: 1rem;height:var(--sidebar-menu-height, 3rem)}.layout.sidebar-only .locales.expanded,.layout.sidebar-only .locales:hover{--locale-switcher-hover-color: #0870e5}.layout.sidebar-only .locales .truncated>img{transition:transform .3s ease}.layout.sidebar-only .locales.expanded .truncated>img{transform:rotate(180deg)}.layout.sidebar-only .locales ul.dropdown{--locale-switcher-bg-color: #007aff;--locale-switcher-border: none;left:0;right:0;top:unset;bottom:100%;border-top:1px solid #0870e5}.layout.sidebar-only .locales ul.dropdown .badge{--locale-switcher-badge-bg-color: #60a7f3}.layout.sidebar-only:has(.extend){grid-template-areas:"sidebar main";grid-template-columns:var(--sidebar-collapsed-width, 6rem) 1fr}.layout.sidebar-only:has(.no-sidebar){grid-template-areas:"main";grid-template-columns:1fr}.layout.sidebar-only>.no-sidebar{position:fixed;top:0}.layout.sidebar-only>.layout-sidebar{grid-area:sidebar;transition:width .3s ease-in-out;z-index:100}.layout.sidebar-only>main{grid-area:main;transition:all .3s ease-in-out}.layout-sidebar{transition:width .3s ease-in-out}main{padding:var(--layout-default-padding-v, 2.5rem) var(--layout-default-padding-h, 2rem);z-index:99}@media screen and (min-width: 1024px){.layout.sidebar-only{grid-template-columns:var(--sidebar-width, 16rem) 1fr;grid-template-areas:"sidebar main"}}