@kodaris/krubble-app-components 1.0.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.
- package/LICENSE +14 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -0
- package/dist/krubble-app.bundled.js +3572 -0
- package/dist/krubble-app.bundled.js.map +1 -0
- package/dist/krubble-app.bundled.min.js +2005 -0
- package/dist/krubble-app.bundled.min.js.map +1 -0
- package/dist/krubble-app.umd.js +3577 -0
- package/dist/krubble-app.umd.js.map +1 -0
- package/dist/krubble-app.umd.min.js +2005 -0
- package/dist/krubble-app.umd.min.js.map +1 -0
- package/dist/scaffold/nav-item-edit.d.ts +34 -0
- package/dist/scaffold/nav-item-edit.d.ts.map +1 -0
- package/dist/scaffold/nav-item-edit.js +216 -0
- package/dist/scaffold/nav-item-edit.js.map +1 -0
- package/dist/scaffold.d.ts +368 -0
- package/dist/scaffold.d.ts.map +1 -0
- package/dist/scaffold.js +1853 -0
- package/dist/scaffold.js.map +1 -0
- package/dist/screen-detail.d.ts +34 -0
- package/dist/screen-detail.d.ts.map +1 -0
- package/dist/screen-detail.js +104 -0
- package/dist/screen-detail.js.map +1 -0
- package/dist/screen-nav.d.ts +93 -0
- package/dist/screen-nav.d.ts.map +1 -0
- package/dist/screen-nav.js +297 -0
- package/dist/screen-nav.js.map +1 -0
- package/dist/shell.d.ts +104 -0
- package/dist/shell.d.ts.map +1 -0
- package/dist/shell.js +860 -0
- package/dist/shell.js.map +1 -0
- package/dist/subbar.d.ts +34 -0
- package/dist/subbar.d.ts.map +1 -0
- package/dist/subbar.js +133 -0
- package/dist/subbar.js.map +1 -0
- package/package.json +47 -0
package/dist/shell.d.ts
ADDED
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
/**
|
|
3
|
+
* Application definition for the app switcher
|
|
4
|
+
*/
|
|
5
|
+
export interface KRApp {
|
|
6
|
+
/** Unique identifier */
|
|
7
|
+
id: string;
|
|
8
|
+
/** Display name (shown in tooltip) */
|
|
9
|
+
name: string;
|
|
10
|
+
/** Icon - SVG string or emoji */
|
|
11
|
+
icon: string;
|
|
12
|
+
/** URL to navigate to */
|
|
13
|
+
url: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* User profile interface for the shell
|
|
17
|
+
*/
|
|
18
|
+
export interface KRShellUser {
|
|
19
|
+
/** User's display name */
|
|
20
|
+
name: string;
|
|
21
|
+
/** User's email */
|
|
22
|
+
email?: string;
|
|
23
|
+
/** Avatar URL or initials will be generated from name */
|
|
24
|
+
avatar?: string;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* User menu item for customization
|
|
28
|
+
*/
|
|
29
|
+
export interface KRShellMenuItem {
|
|
30
|
+
/** Unique identifier */
|
|
31
|
+
id: string;
|
|
32
|
+
/** Display label */
|
|
33
|
+
label: string;
|
|
34
|
+
/** Icon - SVG string or emoji */
|
|
35
|
+
icon?: string;
|
|
36
|
+
/** Whether this is a divider */
|
|
37
|
+
divider?: boolean;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Global shell component with app bar for app switching.
|
|
41
|
+
*
|
|
42
|
+
* The shell provides a horizontal app bar across the top of the viewport containing:
|
|
43
|
+
* - Logo/home link on the left
|
|
44
|
+
* - App switcher icons in the middle
|
|
45
|
+
* - User avatar/menu on the right
|
|
46
|
+
*
|
|
47
|
+
* This allows individual apps (using kr-scaffold) to utilize the full width
|
|
48
|
+
* of the browser window while maintaining consistent global navigation.
|
|
49
|
+
*
|
|
50
|
+
* @slot - The main content (typically kr-scaffold with the app)
|
|
51
|
+
*
|
|
52
|
+
* @property {string} logo - URL for the logo image
|
|
53
|
+
* @property {KRApp[]} apps - Available applications for the switcher
|
|
54
|
+
* @property {string} activeAppId - ID of the currently active app
|
|
55
|
+
* @property {KRShellUser} user - User profile data
|
|
56
|
+
* @property {KRShellMenuItem[]} menuItems - Custom menu items for user menu
|
|
57
|
+
*
|
|
58
|
+
* @fires app-click - When an app icon is clicked. Detail: { app: KRApp }
|
|
59
|
+
* @fires menu-item-click - When a menu item is clicked. Detail: { item: KRShellMenuItem }
|
|
60
|
+
* @fires logout - When logout is clicked
|
|
61
|
+
*/
|
|
62
|
+
export declare class KRShell extends LitElement {
|
|
63
|
+
static styles: import("lit").CSSResult;
|
|
64
|
+
logo: string;
|
|
65
|
+
apps: KRApp[];
|
|
66
|
+
activeAppId: string;
|
|
67
|
+
user: KRShellUser | null;
|
|
68
|
+
menuItems: KRShellMenuItem[];
|
|
69
|
+
private isUserMenuOpen;
|
|
70
|
+
private isAppsMenuOpen;
|
|
71
|
+
private pendingRequests;
|
|
72
|
+
private originalFetch;
|
|
73
|
+
private originalXhrOpen;
|
|
74
|
+
connectedCallback(): void;
|
|
75
|
+
disconnectedCallback(): void;
|
|
76
|
+
/**
|
|
77
|
+
* Installs global interceptors for fetch and XMLHttpRequest to track pending HTTP requests.
|
|
78
|
+
* Updates `pendingRequests` state when requests start/complete.
|
|
79
|
+
*/
|
|
80
|
+
private installFetchInterceptor;
|
|
81
|
+
/**
|
|
82
|
+
* Restores the original fetch and XMLHttpRequest functions.
|
|
83
|
+
*/
|
|
84
|
+
private uninstallFetchInterceptor;
|
|
85
|
+
private defaultLogoutIcon;
|
|
86
|
+
private appsGridIcon;
|
|
87
|
+
private handleLogoClick;
|
|
88
|
+
private toggleUserMenu;
|
|
89
|
+
private closeUserMenu;
|
|
90
|
+
private toggleAppsMenu;
|
|
91
|
+
private closeAppsMenu;
|
|
92
|
+
private handleMenuItemClick;
|
|
93
|
+
private handleLogout;
|
|
94
|
+
private closeIcon;
|
|
95
|
+
private renderAppsMenu;
|
|
96
|
+
private renderUserMenu;
|
|
97
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
98
|
+
}
|
|
99
|
+
declare global {
|
|
100
|
+
interface HTMLElementTagNameMap {
|
|
101
|
+
'kr-shell': KRShell;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=shell.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../src/shell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAsB,MAAM,KAAK,CAAC;AAKrD;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,yBAAyB;IACzB,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yDAAyD;IACzD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,iCAAiC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gCAAgC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBACa,OAAQ,SAAQ,UAAU;IACrC,OAAgB,MAAM,0BA8gBpB;IAGF,IAAI,SAAmG;IAGvG,IAAI,EAAE,KAAK,EAAE,CAAM;IAGnB,WAAW,SAAM;IAGjB,IAAI,EAAE,WAAW,GAAG,IAAI,CAAQ;IAGhC,SAAS,EAAE,eAAe,EAAE,CAAM;IAGlC,OAAO,CAAC,cAAc,CAAS;IAG/B,OAAO,CAAC,cAAc,CAAS;IAG/B,OAAO,CAAC,eAAe,CAAK;IAE5B,OAAO,CAAC,aAAa,CAA6B;IAElD,OAAO,CAAC,eAAe,CAAqD;IAEnE,iBAAiB;IAKjB,oBAAoB;IAK7B;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IA8B/B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAYjC,OAAO,CAAC,iBAAiB,CAAsN;IAC/O,OAAO,CAAC,YAAY,CAA6O;IAEjQ,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,SAAS,CAA6M;IAE9N,OAAO,CAAC,cAAc;IAyDtB,OAAO,CAAC,cAAc;IAoEb,MAAM;CAgDhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,UAAU,EAAE,OAAO,CAAC;KACrB;CACF"}
|