@nonsuch/component-library 0.11.0 → 0.12.1
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.
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { NsAppShellTab, NsAppShellNavItem } from './types';
|
|
1
|
+
import type { NsAppShellTab, NsAppShellNavItem, NsAppShellUserMenuItem } from './types';
|
|
2
2
|
/**
|
|
3
3
|
* NsAppShell — Primary responsive app layout template.
|
|
4
4
|
*
|
|
@@ -27,22 +27,28 @@ export interface NsAppShellProps {
|
|
|
27
27
|
collapsible?: boolean;
|
|
28
28
|
/** Currently active tab name */
|
|
29
29
|
modelValue?: string;
|
|
30
|
+
/** User display name shown in the avatar dropdown */
|
|
31
|
+
userName?: string;
|
|
32
|
+
/** User initials rendered inside the avatar (e.g. "JD") */
|
|
33
|
+
userInitials?: string;
|
|
34
|
+
/** Menu items for the user avatar dropdown */
|
|
35
|
+
userMenuItems?: NsAppShellUserMenuItem[];
|
|
30
36
|
}
|
|
31
|
-
declare var __VLS_33: {}, __VLS_67: {},
|
|
37
|
+
declare var __VLS_33: {}, __VLS_67: {}, __VLS_225: {
|
|
32
38
|
mini: boolean;
|
|
33
|
-
},
|
|
39
|
+
}, __VLS_278: {}, __VLS_292: {}, __VLS_300: {};
|
|
34
40
|
type __VLS_Slots = {} & {
|
|
35
41
|
'header-left'?: (props: typeof __VLS_33) => any;
|
|
36
42
|
} & {
|
|
37
43
|
'header-actions'?: (props: typeof __VLS_67) => any;
|
|
38
44
|
} & {
|
|
39
|
-
'drawer-header'?: (props: typeof
|
|
45
|
+
'drawer-header'?: (props: typeof __VLS_225) => any;
|
|
40
46
|
} & {
|
|
41
|
-
'drawer-footer'?: (props: typeof
|
|
47
|
+
'drawer-footer'?: (props: typeof __VLS_278) => any;
|
|
42
48
|
} & {
|
|
43
|
-
default?: (props: typeof
|
|
49
|
+
default?: (props: typeof __VLS_292) => any;
|
|
44
50
|
} & {
|
|
45
|
-
'bottom-bar-above'?: (props: typeof
|
|
51
|
+
'bottom-bar-above'?: (props: typeof __VLS_300) => any;
|
|
46
52
|
};
|
|
47
53
|
declare const __VLS_base: import("vue").DefineComponent<NsAppShellProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
48
54
|
search: (query: string) => any;
|
|
@@ -50,12 +56,14 @@ declare const __VLS_base: import("vue").DefineComponent<NsAppShellProps, {}, {},
|
|
|
50
56
|
"tab-change": (name: string | number) => any;
|
|
51
57
|
"drawer-toggle": (open: boolean) => any;
|
|
52
58
|
"drawer-collapse": (collapsed: boolean) => any;
|
|
59
|
+
"user-menu-action": (name: string) => any;
|
|
53
60
|
}, string, import("vue").PublicProps, Readonly<NsAppShellProps> & Readonly<{
|
|
54
61
|
onSearch?: ((query: string) => any) | undefined;
|
|
55
62
|
"onUpdate:modelValue"?: ((name: string) => any) | undefined;
|
|
56
63
|
"onTab-change"?: ((name: string | number) => any) | undefined;
|
|
57
64
|
"onDrawer-toggle"?: ((open: boolean) => any) | undefined;
|
|
58
65
|
"onDrawer-collapse"?: ((collapsed: boolean) => any) | undefined;
|
|
66
|
+
"onUser-menu-action"?: ((name: string) => any) | undefined;
|
|
59
67
|
}>, {
|
|
60
68
|
modelValue: string;
|
|
61
69
|
tabs: NsAppShellTab[];
|
|
@@ -65,6 +73,9 @@ declare const __VLS_base: import("vue").DefineComponent<NsAppShellProps, {}, {},
|
|
|
65
73
|
drawerBreakpoint: number;
|
|
66
74
|
fullDrawerBreakpoint: number;
|
|
67
75
|
collapsible: boolean;
|
|
76
|
+
userName: string;
|
|
77
|
+
userInitials: string;
|
|
78
|
+
userMenuItems: NsAppShellUserMenuItem[];
|
|
68
79
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
69
80
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
70
81
|
declare const _default: typeof __VLS_export;
|
|
@@ -7,6 +7,17 @@ export interface NsAppShellTab {
|
|
|
7
7
|
/** Material icon name */
|
|
8
8
|
icon: string;
|
|
9
9
|
}
|
|
10
|
+
/** Represents an item in the user avatar dropdown menu. */
|
|
11
|
+
export interface NsAppShellUserMenuItem {
|
|
12
|
+
/** Unique identifier for the menu item (emitted with user-menu-action) */
|
|
13
|
+
name: string;
|
|
14
|
+
/** Display label */
|
|
15
|
+
label: string;
|
|
16
|
+
/** Material icon name */
|
|
17
|
+
icon?: string;
|
|
18
|
+
/** Separator before this item */
|
|
19
|
+
separator?: boolean;
|
|
20
|
+
}
|
|
10
21
|
/** Represents a navigation item in the side drawer. */
|
|
11
22
|
export interface NsAppShellNavItem {
|
|
12
23
|
/** Unique identifier for the nav item */
|
package/dist/index.d.ts
CHANGED
|
@@ -102,7 +102,7 @@ export { default as NsToolbarTitle } from './components/NsToolbarTitle/NsToolbar
|
|
|
102
102
|
export type { NsToolbarTitleProps } from './components/NsToolbarTitle/NsToolbarTitle.vue';
|
|
103
103
|
export { default as NsAppShell } from './components/NsAppShell/NsAppShell.vue';
|
|
104
104
|
export type { NsAppShellProps } from './components/NsAppShell/NsAppShell.vue';
|
|
105
|
-
export type { NsAppShellTab, NsAppShellNavItem } from './components/NsAppShell/types';
|
|
105
|
+
export type { NsAppShellTab, NsAppShellNavItem, NsAppShellUserMenuItem, } from './components/NsAppShell/types';
|
|
106
106
|
export { default as NsAuthLayout } from './components/NsAuthLayout/NsAuthLayout.vue';
|
|
107
107
|
export type { NsAuthLayoutProps } from './components/NsAuthLayout/NsAuthLayout.vue';
|
|
108
108
|
export { default as NsDashboardGrid } from './components/NsDashboardGrid/NsDashboardGrid.vue';
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
.ns-button[data-v-59b40e5f]{font-family:var(--ns-font-family-text);font-weight:var(--ns-font-weight-medium);letter-spacing:var(--ns-letter-spacing-wide)}.ns-skeleton[data-v-dfd40b8a]{border-radius:var(--ns-radius-md)}.ns-input[data-v-7ebf3284],.ns-input[data-v-7ebf3284] .q-field__label{font-family:var(--ns-font-family-text)}.ns-input[data-v-7ebf3284] .q-field__control{border-radius:var(--ns-radius-md)}.ns-card[data-v-7769879a]{border-radius:var(--ns-radius-lg);box-shadow:var(--ns-shadow-sm);font-family:var(--ns-font-family-text);transition:box-shadow var(--ns-duration-normal) var(--ns-easing-default)}.ns-card[data-v-7769879a]:hover{box-shadow:var(--ns-shadow-md)}.ns-card--flat[data-v-7769879a],.ns-card--flat[data-v-7769879a]:hover{box-shadow:none}.ns-card__header[data-v-7769879a]{font-family:var(--ns-font-family-display)}.ns-select[data-v-081cebe3],.ns-select[data-v-081cebe3] .q-field__label{font-family:var(--ns-font-family-text)}.ns-select[data-v-081cebe3] .q-field__control{border-radius:var(--ns-radius-md)}.ns-checkbox[data-v-2e481f8b],.ns-toggle[data-v-f8c90530],.ns-form[data-v-e20d14ce]{font-family:var(--ns-font-family-text)}.ns-dialog__card[data-v-4fca48ca]{border-radius:var(--ns-radius-lg);font-family:var(--ns-font-family-text);min-width:320px}.ns-dialog__header[data-v-4fca48ca]{font-family:var(--ns-font-family-display)}.ns-drawer[data-v-66ca96b0],.ns-expansion-item[data-v-c07366a7]{font-family:var(--ns-font-family-text)}.ns-banner[data-v-18ebd6f5]{font-family:var(--ns-font-family-text);border-radius:var(--ns-radius-md)}.ns-banner--info[data-v-18ebd6f5]{background-color:var(--ns-color-info-bg
|
|
1
|
+
.ns-button[data-v-59b40e5f]{font-family:var(--ns-font-family-text);font-weight:var(--ns-font-weight-medium);letter-spacing:var(--ns-letter-spacing-wide)}.ns-skeleton[data-v-dfd40b8a]{border-radius:var(--ns-radius-md)}.ns-input[data-v-7ebf3284],.ns-input[data-v-7ebf3284] .q-field__label{font-family:var(--ns-font-family-text)}.ns-input[data-v-7ebf3284] .q-field__control{border-radius:var(--ns-radius-md)}.ns-card[data-v-7769879a]{border-radius:var(--ns-radius-lg);box-shadow:var(--ns-shadow-sm);font-family:var(--ns-font-family-text);transition:box-shadow var(--ns-duration-normal) var(--ns-easing-default)}.ns-card[data-v-7769879a]:hover{box-shadow:var(--ns-shadow-md)}.ns-card--flat[data-v-7769879a],.ns-card--flat[data-v-7769879a]:hover{box-shadow:none}.ns-card__header[data-v-7769879a]{font-family:var(--ns-font-family-display)}.ns-select[data-v-081cebe3],.ns-select[data-v-081cebe3] .q-field__label{font-family:var(--ns-font-family-text)}.ns-select[data-v-081cebe3] .q-field__control{border-radius:var(--ns-radius-md)}.ns-checkbox[data-v-2e481f8b],.ns-toggle[data-v-f8c90530],.ns-form[data-v-e20d14ce]{font-family:var(--ns-font-family-text)}.ns-dialog__card[data-v-4fca48ca]{border-radius:var(--ns-radius-lg);font-family:var(--ns-font-family-text);min-width:320px}.ns-dialog__header[data-v-4fca48ca]{font-family:var(--ns-font-family-display)}.ns-drawer[data-v-66ca96b0],.ns-expansion-item[data-v-c07366a7]{font-family:var(--ns-font-family-text)}.ns-banner[data-v-18ebd6f5]{font-family:var(--ns-font-family-text);border-radius:var(--ns-radius-md)}.ns-banner--info[data-v-18ebd6f5]{background-color:var(--ns-color-info-bg,#e3f2fd);color:var(--ns-color-info-text,#0d47a1)}.ns-banner--success[data-v-18ebd6f5]{background-color:var(--ns-color-success-bg,#e8f5e9);color:var(--ns-color-success-text,#1b5e20)}.ns-banner--warning[data-v-18ebd6f5]{background-color:var(--ns-color-warning-bg,#fff3e0);color:var(--ns-color-warning-text,#e65100)}.ns-banner--error[data-v-18ebd6f5]{background-color:var(--ns-color-error-bg,#ffebee);color:var(--ns-color-error-text,#b71c1c)}.ns-avatar[data-v-6a1b44b8]{font-family:var(--ns-font-family-text);font-weight:var(--ns-font-weight-medium)}.ns-chip[data-v-1a2191f1]{font-family:var(--ns-font-family-text);border-radius:var(--ns-radius-full,9999px)}.ns-list[data-v-65aec20e]{font-family:var(--ns-font-family-text);border-radius:var(--ns-radius-md)}.ns-tooltip[data-v-9cb6af8f]{font-family:var(--ns-font-family-text);font-size:var(--ns-font-size-sm,.875rem);border-radius:var(--ns-radius-sm);padding:var(--ns-space-1,4px) var(--ns-space-2,8px)}.ns-badge[data-v-4ca05f24],.ns-breadcrumbs[data-v-dee98f71],.ns-breadcrumb-element[data-v-37bfe51b],.ns-button-toggle[data-v-93652c3e],.ns-card-actions[data-v-0d6f776d],.ns-card-section[data-v-781d42ef],.ns-footer[data-v-1fb919cd],.ns-header[data-v-80d27841],.ns-image[data-v-c9c9f6c1],.ns-inner-loading[data-v-080672c1],.ns-item[data-v-47978f87],.ns-item-label[data-v-df6024af],.ns-item-section[data-v-340a753a],.ns-layout[data-v-cf90e270],.ns-linear-progress[data-v-79c6443f],.ns-menu[data-v-47a4b7d0],.ns-page[data-v-25e2841e],.ns-page-container[data-v-ac167da5],.ns-pagination[data-v-12fa9287],.ns-separator[data-v-0c2b2ac1],.ns-space[data-v-273ca5fc],.ns-spinner[data-v-5b99a17b],.ns-spinner-dots[data-v-20a70106],.ns-tab[data-v-b97f2cd1],.ns-table[data-v-a45d30cf],.ns-table-cell[data-v-ca0da61b],.ns-tab-panel[data-v-d8f64358],.ns-tab-panels[data-v-dec8ab0f],.ns-tabs[data-v-81224e01],.ns-timeline[data-v-1bf558aa],.ns-timeline-entry[data-v-fa149ea0],.ns-toolbar[data-v-e26a45db],.ns-toolbar-title[data-v-42928844]{font-family:var(--ns-font-family-text)}.ns-app-shell__menu-btn[data-v-a4f97484],.ns-app-shell__search-btn[data-v-a4f97484],.ns-app-shell__user-btn[data-v-a4f97484]{min-width:var(--ns-touch-target);min-height:var(--ns-touch-target)}.ns-app-shell__search-inline[data-v-a4f97484]{min-width:200px;max-width:320px}.ns-app-shell__search-input[data-v-a4f97484]{width:100%}.ns-app-shell__drawer[data-v-a4f97484]{overflow:hidden}.ns-app-shell__collapse-toggle[data-v-a4f97484],.ns-app-shell__nav-item[data-v-a4f97484],.ns-app-shell__user-menu-item[data-v-a4f97484]{min-height:var(--ns-touch-target)}.ns-app-shell__bottom-bar[data-v-a4f97484]{padding-bottom:env(safe-area-inset-bottom,0px)}.ns-app-shell__bottom-tabs[data-v-a4f97484] .q-tabs__content{justify-content:space-around}.ns-app-shell__bottom-tab[data-v-a4f97484]{min-height:56px;min-width:var(--ns-touch-target);flex:1 1 0;max-width:20%}.ns-app-shell__bottom-tab[data-v-a4f97484] .q-tab__label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.ns-app-shell__page--has-bottom-bar[data-v-a4f97484]{padding-bottom:calc(56px + env(safe-area-inset-bottom,0px))}.ns-auth-layout__page[data-v-a5a78d9c]{min-height:inherit;padding:var(--ns-space-4);justify-content:center;align-items:center;display:flex}.ns-auth-layout__container[data-v-a5a78d9c]{width:100%;margin:0 auto}.ns-auth-layout__branding[data-v-a5a78d9c]{text-align:center;margin-bottom:var(--ns-space-6)}.ns-auth-layout__card[data-v-a5a78d9c]{width:100%}
|
|
2
|
+
/*$vite$:1*/
|