snice 2.3.0 → 2.4.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/README.md +76 -4
- package/bin/templates/base/src/main.ts +3 -0
- package/bin/templates/base/src/pages/about-page.ts +10 -1
- package/bin/templates/base/src/pages/home-page.ts +10 -1
- package/bin/templates/base/src/router.ts +3 -2
- package/dist/components/drawer/snice-drawer.d.ts +4 -0
- package/dist/components/drawer/snice-drawer.js +58 -23
- package/dist/components/drawer/snice-drawer.js.map +1 -1
- package/dist/components/drawer/snice-drawer.types.d.ts +1 -0
- package/dist/components/layout/snice-layout-blog.d.ts +10 -1
- package/dist/components/layout/snice-layout-blog.js +47 -8
- package/dist/components/layout/snice-layout-blog.js.map +1 -1
- package/dist/components/layout/snice-layout-dashboard.d.ts +12 -1
- package/dist/components/layout/snice-layout-dashboard.js +92 -13
- package/dist/components/layout/snice-layout-dashboard.js.map +1 -1
- package/dist/components/layout/snice-layout-landing.d.ts +10 -1
- package/dist/components/layout/snice-layout-landing.js +47 -8
- package/dist/components/layout/snice-layout-landing.js.map +1 -1
- package/dist/components/layout/snice-layout-sidebar.d.ts +13 -1
- package/dist/components/layout/snice-layout-sidebar.js +69 -28
- package/dist/components/layout/snice-layout-sidebar.js.map +1 -1
- package/dist/components/layout/snice-layout.d.ts +9 -1
- package/dist/components/layout/snice-layout.js +35 -8
- package/dist/components/layout/snice-layout.js.map +1 -1
- package/dist/components/layout/snice-layout.types.d.ts +2 -1
- package/dist/components/nav/snice-nav.d.ts +16 -0
- package/dist/components/nav/snice-nav.js +158 -0
- package/dist/components/nav/snice-nav.js.map +1 -0
- package/dist/components/nav/snice-nav.types.d.ts +11 -0
- package/dist/index.cjs +243 -45
- package/dist/index.cjs.map +1 -1
- package/dist/index.esm.js +242 -42
- package/dist/index.esm.js.map +1 -1
- package/dist/index.iife.js +243 -45
- package/dist/index.iife.js.map +1 -1
- package/dist/symbols.cjs.map +1 -1
- package/dist/symbols.esm.js +8 -2
- package/dist/symbols.esm.js.map +1 -1
- package/dist/transitions.esm.js +1 -1
- package/dist/types/controller.d.ts +1 -1
- package/dist/types/element.d.ts +70 -3
- package/dist/types/events.d.ts +2 -2
- package/dist/types/global.d.ts +1 -1
- package/dist/types/index.d.ts +3 -2
- package/dist/types/observe.d.ts +1 -1
- package/dist/types/request-response.d.ts +2 -2
- package/dist/types/router.d.ts +2 -2
- package/dist/types/symbols.d.ts +5 -0
- package/dist/types/testing.d.ts +1 -1
- package/dist/types/transitions.d.ts +1 -1
- package/dist/types/types/adopted-options.d.ts +4 -0
- package/dist/types/types/app-context.d.ts +81 -0
- package/dist/types/types/guard.d.ts +19 -0
- package/dist/types/types/index.d.ts +23 -17
- package/dist/types/types/moved-options.d.ts +4 -0
- package/dist/types/types/{PageOptions.d.ts → page-options.d.ts} +13 -4
- package/dist/types/types/placard.d.ts +90 -0
- package/dist/types/types/{PropertyOptions.d.ts → property-options.d.ts} +2 -2
- package/dist/types/types/route-params.d.ts +21 -0
- package/dist/types/types/{RouterInstance.d.ts → router-instance.d.ts} +5 -3
- package/dist/types/types/{RouterOptions.d.ts → router-options.d.ts} +1 -1
- package/package.json +3 -3
- /package/dist/types/types/{DispatchOptions.d.ts → dispatch-options.d.ts} +0 -0
- /package/dist/types/types/{IController.d.ts → i-controller.d.ts} +0 -0
- /package/dist/types/types/{ObserveOptions.d.ts → observe-options.d.ts} +0 -0
- /package/dist/types/types/{OnOptions.d.ts → on-options.d.ts} +0 -0
- /package/dist/types/types/{PartOptions.d.ts → part-options.d.ts} +0 -0
- /package/dist/types/types/{PropertyConverter.d.ts → property-converter.d.ts} +0 -0
- /package/dist/types/types/{QueryOptions.d.ts → query-options.d.ts} +0 -0
- /package/dist/types/types/{RequestOptions.d.ts → request-options.d.ts} +0 -0
- /package/dist/types/types/{RespondOptions.d.ts → respond-options.d.ts} +0 -0
- /package/dist/types/types/{SimpleArray.d.ts → simple-array.d.ts} +0 -0
- /package/dist/types/types/{SniceElement.d.ts → snice-element.d.ts} +0 -0
- /package/dist/types/types/{SniceGlobal.d.ts → snice-global.d.ts} +0 -0
- /package/dist/types/types/{Transition.d.ts → transition.d.ts} +0 -0
package/README.md
CHANGED
|
@@ -538,13 +538,12 @@ class AdminPage extends HTMLElement {
|
|
|
538
538
|
}
|
|
539
539
|
|
|
540
540
|
// Guard that uses route params to check resource-specific permissions
|
|
541
|
-
const canEditUser: Guard<AppContext> =
|
|
541
|
+
const canEditUser: Guard<AppContext> = (ctx, params) => {
|
|
542
542
|
const user = ctx.getUser();
|
|
543
543
|
if (!user) return false;
|
|
544
|
-
|
|
544
|
+
|
|
545
545
|
// params.id comes from route '/users/:id/edit'
|
|
546
|
-
|
|
547
|
-
return response.ok;
|
|
546
|
+
return ctx.hasPermission('users.edit', params.id);
|
|
548
547
|
};
|
|
549
548
|
|
|
550
549
|
// Guard that checks ownership
|
|
@@ -1028,6 +1027,79 @@ renderSearchResults() { /* ... */ }
|
|
|
1028
1027
|
|
|
1029
1028
|
The `@part` decorator is ideal when you have components with multiple independent sections that update at different frequencies or from different data sources.
|
|
1030
1029
|
|
|
1030
|
+
## Lifecycle Callbacks
|
|
1031
|
+
|
|
1032
|
+
Snice provides decorators for advanced DOM lifecycle events that go beyond basic connected/disconnected callbacks:
|
|
1033
|
+
|
|
1034
|
+
### @moved Decorator
|
|
1035
|
+
|
|
1036
|
+
The `@moved` decorator runs methods when an element is moved within the DOM using `Element.moveBefore()`. This is useful for handling position changes without full disconnection/reconnection:
|
|
1037
|
+
|
|
1038
|
+
```typescript
|
|
1039
|
+
@element('my-element')
|
|
1040
|
+
class MyElement extends HTMLElement {
|
|
1041
|
+
@moved()
|
|
1042
|
+
onElementMoved() {
|
|
1043
|
+
console.log('Element moved to new position');
|
|
1044
|
+
this.updatePosition();
|
|
1045
|
+
}
|
|
1046
|
+
|
|
1047
|
+
// With timing options
|
|
1048
|
+
@moved({ debounce: 100 })
|
|
1049
|
+
onMovedDebounced() {
|
|
1050
|
+
// Only called once after moves stop for 100ms
|
|
1051
|
+
this.recalculateLayout();
|
|
1052
|
+
}
|
|
1053
|
+
|
|
1054
|
+
@moved({ throttle: 500 })
|
|
1055
|
+
onMovedThrottled() {
|
|
1056
|
+
// Called at most once every 500ms during rapid moves
|
|
1057
|
+
this.optimizePerformance();
|
|
1058
|
+
}
|
|
1059
|
+
}
|
|
1060
|
+
```
|
|
1061
|
+
|
|
1062
|
+
### @adopted Decorator
|
|
1063
|
+
|
|
1064
|
+
The `@adopted` decorator runs methods when an element is moved to a new document (like iframes or document fragments):
|
|
1065
|
+
|
|
1066
|
+
```typescript
|
|
1067
|
+
@element('portable-element')
|
|
1068
|
+
class PortableElement extends HTMLElement {
|
|
1069
|
+
@adopted()
|
|
1070
|
+
onAdoptedToNewDocument() {
|
|
1071
|
+
console.log('Element moved to new document');
|
|
1072
|
+
this.updateDocumentReferences();
|
|
1073
|
+
}
|
|
1074
|
+
|
|
1075
|
+
// With timing options
|
|
1076
|
+
@adopted({ debounce: 200 })
|
|
1077
|
+
onAdoptedDebounced() {
|
|
1078
|
+
// Debounced for performance during rapid document moves
|
|
1079
|
+
this.reinitializeForNewContext();
|
|
1080
|
+
}
|
|
1081
|
+
}
|
|
1082
|
+
```
|
|
1083
|
+
|
|
1084
|
+
### Timing Options
|
|
1085
|
+
|
|
1086
|
+
Both decorators support the same timing options as `@part`:
|
|
1087
|
+
|
|
1088
|
+
- **`debounce`** - Delays execution until after calls stop for the specified milliseconds
|
|
1089
|
+
- **`throttle`** - Limits execution to once per specified milliseconds
|
|
1090
|
+
|
|
1091
|
+
```typescript
|
|
1092
|
+
// Examples of timing control
|
|
1093
|
+
@moved({ debounce: 150 }) // Wait 150ms after moves stop
|
|
1094
|
+
@adopted({ throttle: 300 }) // Maximum once per 300ms
|
|
1095
|
+
```
|
|
1096
|
+
|
|
1097
|
+
These lifecycle callbacks are perfect for:
|
|
1098
|
+
- **Performance optimization** during rapid DOM changes
|
|
1099
|
+
- **Layout recalculation** when elements move
|
|
1100
|
+
- **Context updates** when elements move between documents
|
|
1101
|
+
- **Resource cleanup/setup** during document adoption
|
|
1102
|
+
|
|
1031
1103
|
## Documentation
|
|
1032
1104
|
|
|
1033
1105
|
- [Elements API](./docs/elements.md) - Complete guide to creating elements with properties, queries, and styling
|
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
import { page } from '../router';
|
|
2
|
+
import type { Placard } from 'snice';
|
|
2
3
|
|
|
3
|
-
|
|
4
|
+
const placard: Placard = {
|
|
5
|
+
name: 'about',
|
|
6
|
+
title: 'About',
|
|
7
|
+
icon: 'ℹ️',
|
|
8
|
+
show: true,
|
|
9
|
+
order: 2
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
@page({ tag: 'about-page', routes: ['/about'], placard })
|
|
4
13
|
export class AboutPage extends HTMLElement {
|
|
5
14
|
html() {
|
|
6
15
|
return /*html*/`
|
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
import { page } from '../router';
|
|
2
|
+
import type { Placard } from 'snice';
|
|
2
3
|
|
|
3
|
-
|
|
4
|
+
const placard: Placard = {
|
|
5
|
+
name: 'home',
|
|
6
|
+
title: 'Home',
|
|
7
|
+
icon: '🏠',
|
|
8
|
+
show: true,
|
|
9
|
+
order: 1
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
@page({ tag: 'home-page', routes: ['/'], placard })
|
|
4
13
|
export class HomePage extends HTMLElement {
|
|
5
14
|
html() {
|
|
6
15
|
return /*html*/`
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { Router } from 'snice';
|
|
2
2
|
|
|
3
|
-
const { page, initialize, navigate } = Router({
|
|
4
|
-
target: '#app',
|
|
3
|
+
const { page, initialize, navigate } = Router({
|
|
4
|
+
target: '#app',
|
|
5
5
|
type: 'hash',
|
|
6
|
+
layout: 'snice-layout',
|
|
6
7
|
transition: {
|
|
7
8
|
mode: 'simultaneous',
|
|
8
9
|
outDuration: 200,
|
|
@@ -9,6 +9,7 @@ export declare class SniceDrawer extends HTMLElement implements SniceDrawerEleme
|
|
|
9
9
|
noFocusTrap: boolean;
|
|
10
10
|
persistent: boolean;
|
|
11
11
|
pushContent: boolean;
|
|
12
|
+
contained: boolean;
|
|
12
13
|
drawerElement?: HTMLElement;
|
|
13
14
|
backdropElement?: HTMLElement;
|
|
14
15
|
closeButton?: HTMLButtonElement;
|
|
@@ -19,6 +20,7 @@ export declare class SniceDrawer extends HTMLElement implements SniceDrawerEleme
|
|
|
19
20
|
html(): string;
|
|
20
21
|
css(): string;
|
|
21
22
|
init(): void;
|
|
23
|
+
private _isHandlingOpenChange;
|
|
22
24
|
handleOpenChange(): void;
|
|
23
25
|
handleBackdropClick(e: MouseEvent): void;
|
|
24
26
|
handleCloseClick(e: MouseEvent): void;
|
|
@@ -28,6 +30,8 @@ export declare class SniceDrawer extends HTMLElement implements SniceDrawerEleme
|
|
|
28
30
|
private handleClose;
|
|
29
31
|
private updatePushContent;
|
|
30
32
|
private getFocusableElements;
|
|
33
|
+
private _lastEventType;
|
|
34
|
+
private _lastEventTime;
|
|
31
35
|
private dispatchOpenEvent;
|
|
32
36
|
private dispatchCloseEvent;
|
|
33
37
|
cleanup(): void;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { __runInitializers, __esDecorate } from 'tslib';
|
|
2
|
-
import { element, property, query, ready, watch, on,
|
|
2
|
+
import { element, property, query, ready, watch, on, dispose } from 'snice';
|
|
3
3
|
|
|
4
|
-
var css = ":host {\n --drawer-width-small: 15rem; /* 240px */\n --drawer-width-medium: 20rem; /* 320px */\n --drawer-width-large: 30rem; /* 480px */\n --drawer-width-xl: 40rem; /* 640px */\n --drawer-width-xxl: 50rem; /* 800px */\n --drawer-width-xxxl: 60rem; /* 960px */\n --drawer-height-small: 12.5rem; /* 200px */\n --drawer-height-medium: 25rem; /* 400px */\n --drawer-height-large: 37.5rem; /* 600px */\n --drawer-height-xl: 70vh;\n --drawer-height-xxl: 80vh;\n --drawer-height-xxxl: 90vh;\n --drawer-bg: white;\n --drawer-shadow: 0 0 20px rgba(0, 0, 0, 0.2);\n --drawer-backdrop: rgba(0, 0, 0, 0.5);\n --drawer-transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n --drawer-z-index: 1000;\n \n display: block;\n}\n\n.drawer-backdrop {\n position: fixed;\n inset: 0;\n background: var(--drawer-backdrop);\n opacity: 0;\n transition: opacity 0.3s ease-in-out;\n z-index: var(--drawer-z-index);\n pointer-events: none;\n visibility: hidden;\n}\n\n:host([open]) .drawer-backdrop {\n opacity: 1;\n pointer-events: auto;\n visibility: visible;\n}\n\n:host([no-backdrop]) .drawer-backdrop {\n display: none;\n}\n\n.drawer {\n position: fixed;\n background: var(--drawer-bg);\n box-shadow: var(--drawer-shadow);\n transition: var(--drawer-transition);\n z-index: calc(var(--drawer-z-index) + 1);\n display: flex;\n flex-direction: column;\n outline: none;\n overflow: hidden;\n visibility: hidden;\n}\n\n:host([open]) .drawer {\n visibility: visible;\n}\n\n/* Default styles when no position attribute (defaults to left) */\n:host(:not([position])) .drawer {\n top: 0;\n left: 0;\n height: 100%;\n width: var(--drawer-width-medium);\n transform: translateX(-100%);\n}\n\n:host(:not([position])[open]) .drawer {\n transform: translateX(0);\n}\n\n/* Position: Left */\n:host([position=\"left\"]) .drawer {\n top: 0;\n left: 0;\n height: 100%;\n width: var(--drawer-width-medium); /* Default width */\n transform: translateX(-100%);\n}\n\n:host([position=\"left\"][size=\"small\"]) .drawer {\n width: var(--drawer-width-small);\n}\n\n:host([position=\"left\"][size=\"medium\"]) .drawer {\n width: var(--drawer-width-medium);\n}\n\n:host([position=\"left\"][size=\"large\"]) .drawer {\n width: var(--drawer-width-large);\n}\n\n:host([position=\"left\"][size=\"xl\"]) .drawer {\n width: var(--drawer-width-xl);\n}\n\n:host([position=\"left\"][size=\"xxl\"]) .drawer {\n width: var(--drawer-width-xxl);\n}\n\n:host([position=\"left\"][size=\"xxxl\"]) .drawer {\n width: var(--drawer-width-xxxl);\n}\n\n:host([position=\"left\"][size=\"full\"]) .drawer {\n width: 100%;\n}\n\n:host([position=\"left\"][open]) .drawer {\n transform: translateX(0);\n}\n\n/* Position: Right */\n:host([position=\"right\"]) .drawer {\n top: 0;\n right: 0;\n height: 100%;\n width: var(--drawer-width-medium); /* Default width */\n transform: translateX(100%);\n}\n\n:host([position=\"right\"][size=\"small\"]) .drawer {\n width: var(--drawer-width-small);\n}\n\n:host([position=\"right\"][size=\"medium\"]) .drawer {\n width: var(--drawer-width-medium);\n}\n\n:host([position=\"right\"][size=\"large\"]) .drawer {\n width: var(--drawer-width-large);\n}\n\n:host([position=\"right\"][size=\"xl\"]) .drawer {\n width: var(--drawer-width-xl);\n}\n\n:host([position=\"right\"][size=\"xxl\"]) .drawer {\n width: var(--drawer-width-xxl);\n}\n\n:host([position=\"right\"][size=\"xxxl\"]) .drawer {\n width: var(--drawer-width-xxxl);\n}\n\n:host([position=\"right\"][size=\"full\"]) .drawer {\n width: 100%;\n}\n\n:host([position=\"right\"][open]) .drawer {\n transform: translateX(0);\n}\n\n/* Position: Top */\n:host([position=\"top\"]) .drawer {\n top: 0;\n left: 0;\n width: 100%;\n height: var(--drawer-height-medium); /* Default height */\n transform: translateY(-100%);\n}\n\n:host([position=\"top\"][size=\"small\"]) .drawer {\n height: var(--drawer-height-small);\n}\n\n:host([position=\"top\"][size=\"medium\"]) .drawer {\n height: var(--drawer-height-medium);\n}\n\n:host([position=\"top\"][size=\"large\"]) .drawer {\n height: var(--drawer-height-large);\n}\n\n:host([position=\"top\"][size=\"xl\"]) .drawer {\n height: var(--drawer-height-xl);\n}\n\n:host([position=\"top\"][size=\"xxl\"]) .drawer {\n height: var(--drawer-height-xxl);\n}\n\n:host([position=\"top\"][size=\"xxxl\"]) .drawer {\n height: var(--drawer-height-xxxl);\n}\n\n:host([position=\"top\"][size=\"full\"]) .drawer {\n height: 100%;\n}\n\n:host([position=\"top\"][open]) .drawer {\n transform: translateY(0);\n}\n\n/* Position: Bottom */\n:host([position=\"bottom\"]) .drawer {\n bottom: 0;\n left: 0;\n width: 100%;\n height: var(--drawer-height-medium); /* Default height */\n transform: translateY(100%);\n}\n\n:host([position=\"bottom\"][size=\"small\"]) .drawer {\n height: var(--drawer-height-small);\n}\n\n:host([position=\"bottom\"][size=\"medium\"]) .drawer {\n height: var(--drawer-height-medium);\n}\n\n:host([position=\"bottom\"][size=\"large\"]) .drawer {\n height: var(--drawer-height-large);\n}\n\n:host([position=\"bottom\"][size=\"xl\"]) .drawer {\n height: var(--drawer-height-xl);\n}\n\n:host([position=\"bottom\"][size=\"xxl\"]) .drawer {\n height: var(--drawer-height-xxl);\n}\n\n:host([position=\"bottom\"][size=\"xxxl\"]) .drawer {\n height: var(--drawer-height-xxxl);\n}\n\n:host([position=\"bottom\"][size=\"full\"]) .drawer {\n height: 100%;\n}\n\n:host([position=\"bottom\"][open]) .drawer {\n transform: translateY(0);\n}\n\n/* Drawer Header */\n.drawer-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 1rem 1.25rem; /* 16px 20px */\n border-bottom: 1px solid #e5e7eb;\n flex-shrink: 0;\n}\n\n.drawer-header:has(.drawer-title:empty):not(:has(.drawer-close)) {\n display: none;\n}\n\n.drawer-title {\n font-size: 1.125rem; /* 18px */\n font-weight: 600;\n margin: 0;\n color: #111827;\n}\n\n.drawer-close {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 2rem; /* 32px */\n height: 2rem; /* 32px */\n border: none;\n background: transparent;\n border-radius: 6px;\n cursor: pointer;\n color: #6b7280;\n transition: all 0.2s;\n}\n\n.drawer-close:hover {\n background: #f3f4f6;\n color: #111827;\n}\n\n.drawer-close:focus-visible {\n outline: 2px solid #3b82f6;\n outline-offset: 2px;\n}\n\n/* Drawer Body */\n.drawer-body {\n flex: 1;\n padding: 1.25rem; /* 20px */\n overflow-y: auto;\n overflow-x: hidden;\n}\n\n/* Drawer Footer */\n.drawer-footer {\n padding: 1rem 1.25rem; /* 16px 20px */\n border-top: 1px solid #e5e7eb;\n flex-shrink: 0;\n}\n\n.drawer-footer:empty {\n display: none;\n}\n\n/* Animations */\n@media (prefers-reduced-motion: reduce) {\n .drawer,\n .drawer-backdrop {\n transition: none;\n }\n}\n\n/* Responsive */\n@media (max-width: 640px) {\n :host([position=\"left\"][size=\"medium\"]) .drawer,\n :host([position=\"left\"][size=\"large\"]) .drawer,\n :host([position=\"left\"][size=\"xl\"]) .drawer,\n :host([position=\"left\"][size=\"xxl\"]) .drawer,\n :host([position=\"left\"][size=\"xxxl\"]) .drawer,\n :host([position=\"right\"][size=\"medium\"]) .drawer,\n :host([position=\"right\"][size=\"large\"]) .drawer,\n :host([position=\"right\"][size=\"xl\"]) .drawer,\n :host([position=\"right\"][size=\"xxl\"]) .drawer,\n :host([position=\"right\"][size=\"xxxl\"]) .drawer {\n width: calc(100% - 2.5rem); /* 40px */\n }\n}\n\n/* Focus trap styles */\n.focus-trap-start,\n.focus-trap-end {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n/* Push content mode */\n:host([push-content]) {\n --drawer-push-amount: 0px;\n}\n\n/* Left position push amounts */\n:host([push-content][position=\"left\"][open][size=\"small\"]) {\n --drawer-push-amount: var(--drawer-width-small);\n}\n\n:host([push-content][position=\"left\"][open][size=\"medium\"]) {\n --drawer-push-amount: var(--drawer-width-medium);\n}\n\n:host([push-content][position=\"left\"][open][size=\"large\"]) {\n --drawer-push-amount: var(--drawer-width-large);\n}\n\n:host([push-content][position=\"left\"][open][size=\"xl\"]) {\n --drawer-push-amount: var(--drawer-width-xl);\n}\n\n:host([push-content][position=\"left\"][open][size=\"xxl\"]) {\n --drawer-push-amount: var(--drawer-width-xxl);\n}\n\n:host([push-content][position=\"left\"][open][size=\"xxxl\"]) {\n --drawer-push-amount: var(--drawer-width-xxxl);\n}\n\n:host([push-content][position=\"left\"][open][size=\"full\"]) {\n --drawer-push-amount: 100vw;\n}\n\n/* Also handle when no size is specified (defaults to medium) */\n:host([push-content][position=\"left\"][open]:not([size])) {\n --drawer-push-amount: var(--drawer-width-medium);\n}\n\n/* Right position push amounts */\n:host([push-content][position=\"right\"][open][size=\"small\"]) {\n --drawer-push-amount: calc(-1 * var(--drawer-width-small));\n}\n\n:host([push-content][position=\"right\"][open][size=\"medium\"]) {\n --drawer-push-amount: calc(-1 * var(--drawer-width-medium));\n}\n\n:host([push-content][position=\"right\"][open][size=\"large\"]) {\n --drawer-push-amount: calc(-1 * var(--drawer-width-large));\n}\n\n:host([push-content][position=\"right\"][open][size=\"xl\"]) {\n --drawer-push-amount: calc(-1 * var(--drawer-width-xl));\n}\n\n:host([push-content][position=\"right\"][open][size=\"xxl\"]) {\n --drawer-push-amount: calc(-1 * var(--drawer-width-xxl));\n}\n\n:host([push-content][position=\"right\"][open][size=\"xxxl\"]) {\n --drawer-push-amount: calc(-1 * var(--drawer-width-xxxl));\n}\n\n:host([push-content][position=\"right\"][open][size=\"full\"]) {\n --drawer-push-amount: -100vw;\n}\n\n:host([push-content][position=\"right\"][open]:not([size])) {\n --drawer-push-amount: calc(-1 * var(--drawer-width-medium));\n}\n\n/* Top position push amounts */\n:host([push-content][position=\"top\"][open][size=\"small\"]) {\n --drawer-push-amount: var(--drawer-height-small);\n}\n\n:host([push-content][position=\"top\"][open][size=\"medium\"]) {\n --drawer-push-amount: var(--drawer-height-medium);\n}\n\n:host([push-content][position=\"top\"][open][size=\"large\"]) {\n --drawer-push-amount: var(--drawer-height-large);\n}\n\n:host([push-content][position=\"top\"][open][size=\"xl\"]) {\n --drawer-push-amount: var(--drawer-height-xl);\n}\n\n:host([push-content][position=\"top\"][open][size=\"xxl\"]) {\n --drawer-push-amount: var(--drawer-height-xxl);\n}\n\n:host([push-content][position=\"top\"][open][size=\"xxxl\"]) {\n --drawer-push-amount: var(--drawer-height-xxxl);\n}\n\n:host([push-content][position=\"top\"][open][size=\"full\"]) {\n --drawer-push-amount: 100vh;\n}\n\n:host([push-content][position=\"top\"][open]:not([size])) {\n --drawer-push-amount: var(--drawer-height-medium);\n}\n\n/* Bottom position push amounts */\n:host([push-content][position=\"bottom\"][open][size=\"small\"]) {\n --drawer-push-amount: calc(-1 * var(--drawer-height-small));\n}\n\n:host([push-content][position=\"bottom\"][open][size=\"medium\"]) {\n --drawer-push-amount: calc(-1 * var(--drawer-height-medium));\n}\n\n:host([push-content][position=\"bottom\"][open][size=\"large\"]) {\n --drawer-push-amount: calc(-1 * var(--drawer-height-large));\n}\n\n:host([push-content][position=\"bottom\"][open][size=\"xl\"]) {\n --drawer-push-amount: calc(-1 * var(--drawer-height-xl));\n}\n\n:host([push-content][position=\"bottom\"][open][size=\"xxl\"]) {\n --drawer-push-amount: calc(-1 * var(--drawer-height-xxl));\n}\n\n:host([push-content][position=\"bottom\"][open][size=\"xxxl\"]) {\n --drawer-push-amount: calc(-1 * var(--drawer-height-xxxl));\n}\n\n:host([push-content][position=\"bottom\"][open][size=\"full\"]) {\n --drawer-push-amount: -100vh;\n}\n\n:host([push-content][position=\"bottom\"][open]:not([size])) {\n --drawer-push-amount: calc(-1 * var(--drawer-height-medium));\n}";
|
|
4
|
+
var css = ":host {\n /* Drawer sizes with theme integration and rem units */\n --drawer-width-small: var(--snice-size-drawer-small, 15rem); /* 240px */\n --drawer-width-medium: var(--snice-size-drawer-medium, 20rem); /* 320px */\n --drawer-width-large: var(--snice-size-drawer-large, 30rem); /* 480px */\n --drawer-width-xl: var(--snice-size-drawer-xl, 40rem); /* 640px */\n --drawer-width-xxl: var(--snice-size-drawer-xxl, 50rem); /* 800px */\n --drawer-width-xxxl: var(--snice-size-drawer-xxxl, 60rem); /* 960px */\n --drawer-height-small: var(--snice-size-drawer-height-small, 12.5rem); /* 200px */\n --drawer-height-medium: var(--snice-size-drawer-height-medium, 25rem); /* 400px */\n --drawer-height-large: var(--snice-size-drawer-height-large, 37.5rem); /* 600px */\n --drawer-height-xl: var(--snice-size-drawer-height-xl, 70vh);\n --drawer-height-xxl: var(--snice-size-drawer-height-xxl, 80vh);\n --drawer-height-xxxl: var(--snice-size-drawer-height-xxxl, 90vh);\n\n /* Theme-integrated colors and effects */\n --drawer-bg: var(--snice-color-background, white);\n --drawer-shadow: var(--snice-shadow-lg, 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1));\n --drawer-backdrop: var(--snice-color-backdrop, rgba(0, 0, 0, 0.5));\n --drawer-transition: transform var(--snice-transition-medium, 250ms) cubic-bezier(0.4, 0, 0.2, 1);\n --drawer-z-index: var(--snice-z-index-modal, 1050);\n\n /* Default: fixed positioning (modal behavior) */\n display: block;\n position: fixed;\n top: 0;\n left: 0;\n width: 100vw;\n height: 100vh;\n pointer-events: none;\n isolation: isolate;\n font-family: var(--snice-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif);\n contain: layout style paint;\n}\n\n/* Contained variant - position within parent */\n:host([contained]) {\n position: absolute;\n width: 100%;\n height: 100%;\n}\n\n.drawer-backdrop {\n position: absolute;\n inset: 0;\n background: var(--drawer-backdrop);\n opacity: 0;\n transition: opacity 0.3s ease-in-out;\n z-index: var(--drawer-z-index);\n pointer-events: none;\n visibility: hidden;\n}\n\n:host([open]) {\n pointer-events: auto;\n}\n\n:host([open]) .drawer-backdrop {\n opacity: 1;\n pointer-events: auto;\n visibility: visible;\n}\n\n:host([no-backdrop]) .drawer-backdrop {\n display: none;\n}\n\n.drawer {\n position: absolute;\n background: var(--drawer-bg);\n box-shadow: var(--drawer-shadow);\n transition:\n transform var(--snice-transition-medium, 250ms) cubic-bezier(0.4, 0, 0.2, 1),\n opacity var(--snice-transition-medium, 250ms) cubic-bezier(0.2, 0, 0.8, 1);\n z-index: calc(var(--drawer-z-index) + 1);\n display: flex;\n flex-direction: column;\n outline: none;\n overflow: hidden;\n opacity: 0;\n pointer-events: auto;\n}\n\n:host([open]) .drawer {\n opacity: 1;\n}\n\n/* Default styles when no position attribute (defaults to left) */\n:host(:not([position])) .drawer {\n top: 0;\n left: 0;\n height: 100%;\n width: var(--drawer-width-medium);\n transform: translateX(-100%);\n}\n\n:host(:not([position])[open]) .drawer {\n transform: translateX(0);\n}\n\n/* Position: Left */\n:host([position=\"left\"]) .drawer {\n top: 0;\n left: 0;\n height: 100%;\n width: var(--drawer-width-medium); /* Default width */\n transform: translateX(-100%);\n}\n\n:host([position=\"left\"][size=\"small\"]) .drawer {\n width: var(--drawer-width-small);\n}\n\n:host([position=\"left\"][size=\"medium\"]) .drawer {\n width: var(--drawer-width-medium);\n}\n\n:host([position=\"left\"][size=\"large\"]) .drawer {\n width: var(--drawer-width-large);\n}\n\n:host([position=\"left\"][size=\"xl\"]) .drawer {\n width: var(--drawer-width-xl);\n}\n\n:host([position=\"left\"][size=\"xxl\"]) .drawer {\n width: var(--drawer-width-xxl);\n}\n\n:host([position=\"left\"][size=\"xxxl\"]) .drawer {\n width: var(--drawer-width-xxxl);\n}\n\n:host([position=\"left\"][size=\"full\"]) .drawer {\n width: 100%;\n}\n\n:host([position=\"left\"][open]) .drawer {\n transform: translateX(0);\n}\n\n/* Position: Right */\n:host([position=\"right\"]) .drawer {\n top: 0;\n right: 0;\n height: 100%;\n width: var(--drawer-width-medium); /* Default width */\n transform: translateX(100%);\n}\n\n:host([position=\"right\"][size=\"small\"]) .drawer {\n width: var(--drawer-width-small);\n}\n\n:host([position=\"right\"][size=\"medium\"]) .drawer {\n width: var(--drawer-width-medium);\n}\n\n:host([position=\"right\"][size=\"large\"]) .drawer {\n width: var(--drawer-width-large);\n}\n\n:host([position=\"right\"][size=\"xl\"]) .drawer {\n width: var(--drawer-width-xl);\n}\n\n:host([position=\"right\"][size=\"xxl\"]) .drawer {\n width: var(--drawer-width-xxl);\n}\n\n:host([position=\"right\"][size=\"xxxl\"]) .drawer {\n width: var(--drawer-width-xxxl);\n}\n\n:host([position=\"right\"][size=\"full\"]) .drawer {\n width: 100%;\n}\n\n:host([position=\"right\"][open]) .drawer {\n transform: translateX(0);\n}\n\n/* Position: Top */\n:host([position=\"top\"]) .drawer {\n top: 0;\n left: 0;\n width: 100%;\n height: var(--drawer-height-medium); /* Default height */\n transform: translateY(-100%);\n}\n\n:host([position=\"top\"][size=\"small\"]) .drawer {\n height: var(--drawer-height-small);\n}\n\n:host([position=\"top\"][size=\"medium\"]) .drawer {\n height: var(--drawer-height-medium);\n}\n\n:host([position=\"top\"][size=\"large\"]) .drawer {\n height: var(--drawer-height-large);\n}\n\n:host([position=\"top\"][size=\"xl\"]) .drawer {\n height: var(--drawer-height-xl);\n}\n\n:host([position=\"top\"][size=\"xxl\"]) .drawer {\n height: var(--drawer-height-xxl);\n}\n\n:host([position=\"top\"][size=\"xxxl\"]) .drawer {\n height: var(--drawer-height-xxxl);\n}\n\n:host([position=\"top\"][size=\"full\"]) .drawer {\n height: 100%;\n}\n\n:host([position=\"top\"][open]) .drawer {\n transform: translateY(0);\n}\n\n/* Position: Bottom */\n:host([position=\"bottom\"]) .drawer {\n bottom: 0;\n left: 0;\n width: 100%;\n height: var(--drawer-height-medium); /* Default height */\n transform: translateY(100%);\n}\n\n:host([position=\"bottom\"][size=\"small\"]) .drawer {\n height: var(--drawer-height-small);\n}\n\n:host([position=\"bottom\"][size=\"medium\"]) .drawer {\n height: var(--drawer-height-medium);\n}\n\n:host([position=\"bottom\"][size=\"large\"]) .drawer {\n height: var(--drawer-height-large);\n}\n\n:host([position=\"bottom\"][size=\"xl\"]) .drawer {\n height: var(--drawer-height-xl);\n}\n\n:host([position=\"bottom\"][size=\"xxl\"]) .drawer {\n height: var(--drawer-height-xxl);\n}\n\n:host([position=\"bottom\"][size=\"xxxl\"]) .drawer {\n height: var(--drawer-height-xxxl);\n}\n\n:host([position=\"bottom\"][size=\"full\"]) .drawer {\n height: 100%;\n}\n\n:host([position=\"bottom\"][open]) .drawer {\n transform: translateY(0);\n}\n\n/* Drawer Header */\n.drawer-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: var(--snice-spacing-md, 1rem) var(--snice-spacing-lg, 1.25rem); /* 16px 20px */\n border-bottom: 1px solid var(--snice-color-border, rgb(229 231 235));\n background: var(--snice-color-background, white);\n flex-shrink: 0;\n}\n\n.drawer-header:has(.drawer-title:empty):not(:has(.drawer-close)) {\n display: none;\n}\n\n.drawer-title {\n font-size: var(--snice-font-size-lg, 1.125rem); /* 18px */\n font-weight: var(--snice-font-weight-semibold, 600);\n margin: 0;\n color: var(--snice-color-text, rgb(17 24 39));\n line-height: var(--snice-line-height-tight, 1.25);\n}\n\n.drawer-close {\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--snice-size-control-md, 2rem); /* 32px */\n height: var(--snice-size-control-md, 2rem); /* 32px */\n border: none;\n background: transparent;\n border-radius: var(--snice-border-radius-md, 6px);\n cursor: pointer;\n color: var(--snice-color-text-secondary, rgb(107 114 128));\n transition: all var(--snice-transition-fast, 150ms) ease;\n}\n\n.drawer-close:hover {\n background: var(--snice-color-background-hover, rgb(243 244 246));\n color: var(--snice-color-text, rgb(17 24 39));\n}\n\n.drawer-close:focus-visible {\n outline: var(--snice-focus-ring-width, 2px) solid var(--snice-focus-ring-color, rgb(59 130 246));\n outline-offset: var(--snice-focus-ring-offset, 2px);\n}\n\n/* Drawer Body */\n.drawer-body {\n flex: 1;\n padding: var(--snice-spacing-lg, 1.25rem); /* 20px */\n overflow-y: auto;\n overflow-x: hidden;\n color: var(--snice-color-text, rgb(17 24 39));\n}\n\n/* Drawer Footer */\n.drawer-footer {\n padding: var(--snice-spacing-md, 1rem) var(--snice-spacing-lg, 1.25rem); /* 16px 20px */\n border-top: 1px solid var(--snice-color-border, rgb(229 231 235));\n background: var(--snice-color-background, white);\n flex-shrink: 0;\n}\n\n.drawer-footer:empty {\n display: none;\n}\n\n/* Animations */\n@media (prefers-reduced-motion: reduce) {\n .drawer,\n .drawer-backdrop {\n transition: none;\n }\n}\n\n/* Responsive */\n@media (max-width: 640px) {\n :host([position=\"left\"][size=\"medium\"]) .drawer,\n :host([position=\"left\"][size=\"large\"]) .drawer,\n :host([position=\"left\"][size=\"xl\"]) .drawer,\n :host([position=\"left\"][size=\"xxl\"]) .drawer,\n :host([position=\"left\"][size=\"xxxl\"]) .drawer,\n :host([position=\"right\"][size=\"medium\"]) .drawer,\n :host([position=\"right\"][size=\"large\"]) .drawer,\n :host([position=\"right\"][size=\"xl\"]) .drawer,\n :host([position=\"right\"][size=\"xxl\"]) .drawer,\n :host([position=\"right\"][size=\"xxxl\"]) .drawer {\n width: calc(100% - 2.5rem); /* 40px */\n }\n}\n\n/* Focus trap styles */\n.focus-trap-start,\n.focus-trap-end {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n/* Push content mode */\n:host([push-content]) {\n --drawer-push-amount: 0px;\n}\n\n/* Left position push amounts */\n:host([push-content][position=\"left\"][open][size=\"small\"]) {\n --drawer-push-amount: var(--drawer-width-small);\n}\n\n:host([push-content][position=\"left\"][open][size=\"medium\"]) {\n --drawer-push-amount: var(--drawer-width-medium);\n}\n\n:host([push-content][position=\"left\"][open][size=\"large\"]) {\n --drawer-push-amount: var(--drawer-width-large);\n}\n\n:host([push-content][position=\"left\"][open][size=\"xl\"]) {\n --drawer-push-amount: var(--drawer-width-xl);\n}\n\n:host([push-content][position=\"left\"][open][size=\"xxl\"]) {\n --drawer-push-amount: var(--drawer-width-xxl);\n}\n\n:host([push-content][position=\"left\"][open][size=\"xxxl\"]) {\n --drawer-push-amount: var(--drawer-width-xxxl);\n}\n\n:host([push-content][position=\"left\"][open][size=\"full\"]) {\n --drawer-push-amount: 100vw;\n}\n\n/* Also handle when no size is specified (defaults to medium) */\n:host([push-content][position=\"left\"][open]:not([size])) {\n --drawer-push-amount: var(--drawer-width-medium);\n}\n\n/* Right position push amounts */\n:host([push-content][position=\"right\"][open][size=\"small\"]) {\n --drawer-push-amount: calc(-1 * var(--drawer-width-small));\n}\n\n:host([push-content][position=\"right\"][open][size=\"medium\"]) {\n --drawer-push-amount: calc(-1 * var(--drawer-width-medium));\n}\n\n:host([push-content][position=\"right\"][open][size=\"large\"]) {\n --drawer-push-amount: calc(-1 * var(--drawer-width-large));\n}\n\n:host([push-content][position=\"right\"][open][size=\"xl\"]) {\n --drawer-push-amount: calc(-1 * var(--drawer-width-xl));\n}\n\n:host([push-content][position=\"right\"][open][size=\"xxl\"]) {\n --drawer-push-amount: calc(-1 * var(--drawer-width-xxl));\n}\n\n:host([push-content][position=\"right\"][open][size=\"xxxl\"]) {\n --drawer-push-amount: calc(-1 * var(--drawer-width-xxxl));\n}\n\n:host([push-content][position=\"right\"][open][size=\"full\"]) {\n --drawer-push-amount: -100vw;\n}\n\n:host([push-content][position=\"right\"][open]:not([size])) {\n --drawer-push-amount: calc(-1 * var(--drawer-width-medium));\n}\n\n/* Top position push amounts */\n:host([push-content][position=\"top\"][open][size=\"small\"]) {\n --drawer-push-amount: var(--drawer-height-small);\n}\n\n:host([push-content][position=\"top\"][open][size=\"medium\"]) {\n --drawer-push-amount: var(--drawer-height-medium);\n}\n\n:host([push-content][position=\"top\"][open][size=\"large\"]) {\n --drawer-push-amount: var(--drawer-height-large);\n}\n\n:host([push-content][position=\"top\"][open][size=\"xl\"]) {\n --drawer-push-amount: var(--drawer-height-xl);\n}\n\n:host([push-content][position=\"top\"][open][size=\"xxl\"]) {\n --drawer-push-amount: var(--drawer-height-xxl);\n}\n\n:host([push-content][position=\"top\"][open][size=\"xxxl\"]) {\n --drawer-push-amount: var(--drawer-height-xxxl);\n}\n\n:host([push-content][position=\"top\"][open][size=\"full\"]) {\n --drawer-push-amount: 100vh;\n}\n\n:host([push-content][position=\"top\"][open]:not([size])) {\n --drawer-push-amount: var(--drawer-height-medium);\n}\n\n/* Bottom position push amounts */\n:host([push-content][position=\"bottom\"][open][size=\"small\"]) {\n --drawer-push-amount: calc(-1 * var(--drawer-height-small));\n}\n\n:host([push-content][position=\"bottom\"][open][size=\"medium\"]) {\n --drawer-push-amount: calc(-1 * var(--drawer-height-medium));\n}\n\n:host([push-content][position=\"bottom\"][open][size=\"large\"]) {\n --drawer-push-amount: calc(-1 * var(--drawer-height-large));\n}\n\n:host([push-content][position=\"bottom\"][open][size=\"xl\"]) {\n --drawer-push-amount: calc(-1 * var(--drawer-height-xl));\n}\n\n:host([push-content][position=\"bottom\"][open][size=\"xxl\"]) {\n --drawer-push-amount: calc(-1 * var(--drawer-height-xxl));\n}\n\n:host([push-content][position=\"bottom\"][open][size=\"xxxl\"]) {\n --drawer-push-amount: calc(-1 * var(--drawer-height-xxxl));\n}\n\n:host([push-content][position=\"bottom\"][open][size=\"full\"]) {\n --drawer-push-amount: -100vh;\n}\n\n:host([push-content][position=\"bottom\"][open]:not([size])) {\n --drawer-push-amount: calc(-1 * var(--drawer-height-medium));\n}";
|
|
5
5
|
|
|
6
6
|
let SniceDrawer = (() => {
|
|
7
7
|
let _classDecorators = [element('snice-drawer')];
|
|
@@ -37,6 +37,9 @@ let SniceDrawer = (() => {
|
|
|
37
37
|
let _pushContent_decorators;
|
|
38
38
|
let _pushContent_initializers = [];
|
|
39
39
|
let _pushContent_extraInitializers = [];
|
|
40
|
+
let _contained_decorators;
|
|
41
|
+
let _contained_initializers = [];
|
|
42
|
+
let _contained_extraInitializers = [];
|
|
40
43
|
let _drawerElement_decorators;
|
|
41
44
|
let _drawerElement_initializers = [];
|
|
42
45
|
let _drawerElement_extraInitializers = [];
|
|
@@ -58,8 +61,6 @@ let SniceDrawer = (() => {
|
|
|
58
61
|
let _handleCloseClick_decorators;
|
|
59
62
|
let _handleFocusTrapStart_decorators;
|
|
60
63
|
let _handleFocusTrapEnd_decorators;
|
|
61
|
-
let _dispatchOpenEvent_decorators;
|
|
62
|
-
let _dispatchCloseEvent_decorators;
|
|
63
64
|
let _cleanup_decorators;
|
|
64
65
|
(class extends _classSuper {
|
|
65
66
|
static { _classThis = this; }
|
|
@@ -74,12 +75,16 @@ let SniceDrawer = (() => {
|
|
|
74
75
|
this.noFocusTrap = (__runInitializers(this, _noEscapeDismiss_extraInitializers), __runInitializers(this, _noFocusTrap_initializers, false));
|
|
75
76
|
this.persistent = (__runInitializers(this, _noFocusTrap_extraInitializers), __runInitializers(this, _persistent_initializers, false));
|
|
76
77
|
this.pushContent = (__runInitializers(this, _persistent_extraInitializers), __runInitializers(this, _pushContent_initializers, false));
|
|
77
|
-
this.
|
|
78
|
+
this.contained = (__runInitializers(this, _pushContent_extraInitializers), __runInitializers(this, _contained_initializers, false));
|
|
79
|
+
this.drawerElement = (__runInitializers(this, _contained_extraInitializers), __runInitializers(this, _drawerElement_initializers, void 0));
|
|
78
80
|
this.backdropElement = (__runInitializers(this, _drawerElement_extraInitializers), __runInitializers(this, _backdropElement_initializers, void 0));
|
|
79
81
|
this.closeButton = (__runInitializers(this, _backdropElement_extraInitializers), __runInitializers(this, _closeButton_initializers, void 0));
|
|
80
82
|
this.focusTrapStart = (__runInitializers(this, _closeButton_extraInitializers), __runInitializers(this, _focusTrapStart_initializers, void 0));
|
|
81
83
|
this.focusTrapEnd = (__runInitializers(this, _focusTrapStart_extraInitializers), __runInitializers(this, _focusTrapEnd_initializers, void 0));
|
|
82
84
|
this.previousFocus = __runInitializers(this, _focusTrapEnd_extraInitializers);
|
|
85
|
+
this._isHandlingOpenChange = false;
|
|
86
|
+
this._lastEventType = null;
|
|
87
|
+
this._lastEventTime = 0;
|
|
83
88
|
}
|
|
84
89
|
static {
|
|
85
90
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
@@ -92,6 +97,7 @@ let SniceDrawer = (() => {
|
|
|
92
97
|
_noFocusTrap_decorators = [property({ type: Boolean, attribute: 'no-focus-trap', })];
|
|
93
98
|
_persistent_decorators = [property({ type: Boolean, })];
|
|
94
99
|
_pushContent_decorators = [property({ type: Boolean, attribute: 'push-content', })];
|
|
100
|
+
_contained_decorators = [property({ type: Boolean, })];
|
|
95
101
|
_drawerElement_decorators = [query('.drawer')];
|
|
96
102
|
_backdropElement_decorators = [query('.drawer-backdrop')];
|
|
97
103
|
_closeButton_decorators = [query('.drawer-close')];
|
|
@@ -103,8 +109,6 @@ let SniceDrawer = (() => {
|
|
|
103
109
|
_handleCloseClick_decorators = [on('click', '.drawer-close')];
|
|
104
110
|
_handleFocusTrapStart_decorators = [on('focus', '.focus-trap-start')];
|
|
105
111
|
_handleFocusTrapEnd_decorators = [on('focus', '.focus-trap-end')];
|
|
106
|
-
_dispatchOpenEvent_decorators = [dispatch('drawer-open', { bubbles: true, composed: true })];
|
|
107
|
-
_dispatchCloseEvent_decorators = [dispatch('drawer-close', { bubbles: true, composed: true })];
|
|
108
112
|
_cleanup_decorators = [dispose()];
|
|
109
113
|
__esDecorate(this, null, _init_decorators, { kind: "method", name: "init", static: false, private: false, access: { has: obj => "init" in obj, get: obj => obj.init }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
110
114
|
__esDecorate(this, null, _handleOpenChange_decorators, { kind: "method", name: "handleOpenChange", static: false, private: false, access: { has: obj => "handleOpenChange" in obj, get: obj => obj.handleOpenChange }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
@@ -112,8 +116,6 @@ let SniceDrawer = (() => {
|
|
|
112
116
|
__esDecorate(this, null, _handleCloseClick_decorators, { kind: "method", name: "handleCloseClick", static: false, private: false, access: { has: obj => "handleCloseClick" in obj, get: obj => obj.handleCloseClick }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
113
117
|
__esDecorate(this, null, _handleFocusTrapStart_decorators, { kind: "method", name: "handleFocusTrapStart", static: false, private: false, access: { has: obj => "handleFocusTrapStart" in obj, get: obj => obj.handleFocusTrapStart }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
114
118
|
__esDecorate(this, null, _handleFocusTrapEnd_decorators, { kind: "method", name: "handleFocusTrapEnd", static: false, private: false, access: { has: obj => "handleFocusTrapEnd" in obj, get: obj => obj.handleFocusTrapEnd }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
115
|
-
__esDecorate(this, null, _dispatchOpenEvent_decorators, { kind: "method", name: "dispatchOpenEvent", static: false, private: false, access: { has: obj => "dispatchOpenEvent" in obj, get: obj => obj.dispatchOpenEvent }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
116
|
-
__esDecorate(this, null, _dispatchCloseEvent_decorators, { kind: "method", name: "dispatchCloseEvent", static: false, private: false, access: { has: obj => "dispatchCloseEvent" in obj, get: obj => obj.dispatchCloseEvent }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
117
119
|
__esDecorate(this, null, _cleanup_decorators, { kind: "method", name: "cleanup", static: false, private: false, access: { has: obj => "cleanup" in obj, get: obj => obj.cleanup }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
118
120
|
__esDecorate(null, null, _open_decorators, { kind: "field", name: "open", static: false, private: false, access: { has: obj => "open" in obj, get: obj => obj.open, set: (obj, value) => { obj.open = value; } }, metadata: _metadata }, _open_initializers, _open_extraInitializers);
|
|
119
121
|
__esDecorate(null, null, _position_decorators, { kind: "field", name: "position", static: false, private: false, access: { has: obj => "position" in obj, get: obj => obj.position, set: (obj, value) => { obj.position = value; } }, metadata: _metadata }, _position_initializers, _position_extraInitializers);
|
|
@@ -124,6 +126,7 @@ let SniceDrawer = (() => {
|
|
|
124
126
|
__esDecorate(null, null, _noFocusTrap_decorators, { kind: "field", name: "noFocusTrap", static: false, private: false, access: { has: obj => "noFocusTrap" in obj, get: obj => obj.noFocusTrap, set: (obj, value) => { obj.noFocusTrap = value; } }, metadata: _metadata }, _noFocusTrap_initializers, _noFocusTrap_extraInitializers);
|
|
125
127
|
__esDecorate(null, null, _persistent_decorators, { kind: "field", name: "persistent", static: false, private: false, access: { has: obj => "persistent" in obj, get: obj => obj.persistent, set: (obj, value) => { obj.persistent = value; } }, metadata: _metadata }, _persistent_initializers, _persistent_extraInitializers);
|
|
126
128
|
__esDecorate(null, null, _pushContent_decorators, { kind: "field", name: "pushContent", static: false, private: false, access: { has: obj => "pushContent" in obj, get: obj => obj.pushContent, set: (obj, value) => { obj.pushContent = value; } }, metadata: _metadata }, _pushContent_initializers, _pushContent_extraInitializers);
|
|
129
|
+
__esDecorate(null, null, _contained_decorators, { kind: "field", name: "contained", static: false, private: false, access: { has: obj => "contained" in obj, get: obj => obj.contained, set: (obj, value) => { obj.contained = value; } }, metadata: _metadata }, _contained_initializers, _contained_extraInitializers);
|
|
127
130
|
__esDecorate(null, null, _drawerElement_decorators, { kind: "field", name: "drawerElement", static: false, private: false, access: { has: obj => "drawerElement" in obj, get: obj => obj.drawerElement, set: (obj, value) => { obj.drawerElement = value; } }, metadata: _metadata }, _drawerElement_initializers, _drawerElement_extraInitializers);
|
|
128
131
|
__esDecorate(null, null, _backdropElement_decorators, { kind: "field", name: "backdropElement", static: false, private: false, access: { has: obj => "backdropElement" in obj, get: obj => obj.backdropElement, set: (obj, value) => { obj.backdropElement = value; } }, metadata: _metadata }, _backdropElement_initializers, _backdropElement_extraInitializers);
|
|
129
132
|
__esDecorate(null, null, _closeButton_decorators, { kind: "field", name: "closeButton", static: false, private: false, access: { has: obj => "closeButton" in obj, get: obj => obj.closeButton, set: (obj, value) => { obj.closeButton = value; } }, metadata: _metadata }, _closeButton_initializers, _closeButton_extraInitializers);
|
|
@@ -191,12 +194,21 @@ let SniceDrawer = (() => {
|
|
|
191
194
|
}
|
|
192
195
|
}
|
|
193
196
|
handleOpenChange() {
|
|
194
|
-
|
|
195
|
-
if (this.
|
|
196
|
-
|
|
197
|
+
// Prevent duplicate handling
|
|
198
|
+
if (this._isHandlingOpenChange)
|
|
199
|
+
return;
|
|
200
|
+
this._isHandlingOpenChange = true;
|
|
201
|
+
try {
|
|
202
|
+
this.setAttribute('aria-hidden', String(!this.open));
|
|
203
|
+
if (this.open) {
|
|
204
|
+
this.handleOpen();
|
|
205
|
+
}
|
|
206
|
+
else {
|
|
207
|
+
this.handleClose();
|
|
208
|
+
}
|
|
197
209
|
}
|
|
198
|
-
|
|
199
|
-
this.
|
|
210
|
+
finally {
|
|
211
|
+
this._isHandlingOpenChange = false;
|
|
200
212
|
}
|
|
201
213
|
}
|
|
202
214
|
handleBackdropClick(e) {
|
|
@@ -240,17 +252,17 @@ let SniceDrawer = (() => {
|
|
|
240
252
|
};
|
|
241
253
|
document.addEventListener('keydown', this.boundHandleEscape);
|
|
242
254
|
}
|
|
243
|
-
//
|
|
244
|
-
|
|
255
|
+
// REMOVED: No longer manipulating document.body.style.overflow
|
|
256
|
+
// The drawer is now contained and doesn't need to prevent body scroll
|
|
245
257
|
// Focus management
|
|
246
258
|
if (!this.noFocusTrap) {
|
|
247
259
|
requestAnimationFrame(() => {
|
|
248
260
|
if (this.drawerElement) {
|
|
249
|
-
this.drawerElement.focus();
|
|
261
|
+
this.drawerElement.focus({ preventScroll: true });
|
|
250
262
|
}
|
|
251
263
|
});
|
|
252
264
|
}
|
|
253
|
-
// Push content if enabled
|
|
265
|
+
// Push content if enabled (still supported for those who need it)
|
|
254
266
|
if (this.pushContent) {
|
|
255
267
|
this.updatePushContent();
|
|
256
268
|
}
|
|
@@ -262,8 +274,7 @@ let SniceDrawer = (() => {
|
|
|
262
274
|
document.removeEventListener('keydown', this.boundHandleEscape);
|
|
263
275
|
this.boundHandleEscape = undefined;
|
|
264
276
|
}
|
|
265
|
-
//
|
|
266
|
-
document.body.style.overflow = '';
|
|
277
|
+
// REMOVED: No longer manipulating document.body.style.overflow
|
|
267
278
|
// Restore focus
|
|
268
279
|
if (this.previousFocus && this.previousFocus.focus) {
|
|
269
280
|
this.previousFocus.focus();
|
|
@@ -308,16 +319,40 @@ let SniceDrawer = (() => {
|
|
|
308
319
|
'[tabindex]:not([tabindex="-1"])');
|
|
309
320
|
}
|
|
310
321
|
dispatchOpenEvent() {
|
|
311
|
-
|
|
322
|
+
// Prevent duplicate events within 100ms
|
|
323
|
+
const now = Date.now();
|
|
324
|
+
if (this._lastEventType === 'open' && (now - this._lastEventTime) < 100) {
|
|
325
|
+
return;
|
|
326
|
+
}
|
|
327
|
+
this._lastEventType = 'open';
|
|
328
|
+
this._lastEventTime = now;
|
|
329
|
+
// Manually dispatch event
|
|
330
|
+
this.dispatchEvent(new CustomEvent('@snice/drawer-open', {
|
|
331
|
+
bubbles: true,
|
|
332
|
+
composed: true,
|
|
333
|
+
detail: { drawer: this }
|
|
334
|
+
}));
|
|
312
335
|
}
|
|
313
336
|
dispatchCloseEvent() {
|
|
314
|
-
|
|
337
|
+
// Prevent duplicate events within 100ms
|
|
338
|
+
const now = Date.now();
|
|
339
|
+
if (this._lastEventType === 'close' && (now - this._lastEventTime) < 100) {
|
|
340
|
+
return;
|
|
341
|
+
}
|
|
342
|
+
this._lastEventType = 'close';
|
|
343
|
+
this._lastEventTime = now;
|
|
344
|
+
// Manually dispatch event
|
|
345
|
+
this.dispatchEvent(new CustomEvent('@snice/drawer-close', {
|
|
346
|
+
bubbles: true,
|
|
347
|
+
composed: true,
|
|
348
|
+
detail: { drawer: this }
|
|
349
|
+
}));
|
|
315
350
|
}
|
|
316
351
|
cleanup() {
|
|
317
352
|
if (this.boundHandleEscape) {
|
|
318
353
|
document.removeEventListener('keydown', this.boundHandleEscape);
|
|
319
354
|
}
|
|
320
|
-
document.body.style.overflow
|
|
355
|
+
// REMOVED: No longer manipulating document.body.style.overflow
|
|
321
356
|
}
|
|
322
357
|
// Public API
|
|
323
358
|
show() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snice-drawer.js","sources":["../../../components/drawer/snice-drawer.css?inline","../../../../components/drawer/snice-drawer.ts"],"sourcesContent":["export default \":host {\\n --drawer-width-small: 15rem; /* 240px */\\n --drawer-width-medium: 20rem; /* 320px */\\n --drawer-width-large: 30rem; /* 480px */\\n --drawer-width-xl: 40rem; /* 640px */\\n --drawer-width-xxl: 50rem; /* 800px */\\n --drawer-width-xxxl: 60rem; /* 960px */\\n --drawer-height-small: 12.5rem; /* 200px */\\n --drawer-height-medium: 25rem; /* 400px */\\n --drawer-height-large: 37.5rem; /* 600px */\\n --drawer-height-xl: 70vh;\\n --drawer-height-xxl: 80vh;\\n --drawer-height-xxxl: 90vh;\\n --drawer-bg: white;\\n --drawer-shadow: 0 0 20px rgba(0, 0, 0, 0.2);\\n --drawer-backdrop: rgba(0, 0, 0, 0.5);\\n --drawer-transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);\\n --drawer-z-index: 1000;\\n \\n display: block;\\n}\\n\\n.drawer-backdrop {\\n position: fixed;\\n inset: 0;\\n background: var(--drawer-backdrop);\\n opacity: 0;\\n transition: opacity 0.3s ease-in-out;\\n z-index: var(--drawer-z-index);\\n pointer-events: none;\\n visibility: hidden;\\n}\\n\\n:host([open]) .drawer-backdrop {\\n opacity: 1;\\n pointer-events: auto;\\n visibility: visible;\\n}\\n\\n:host([no-backdrop]) .drawer-backdrop {\\n display: none;\\n}\\n\\n.drawer {\\n position: fixed;\\n background: var(--drawer-bg);\\n box-shadow: var(--drawer-shadow);\\n transition: var(--drawer-transition);\\n z-index: calc(var(--drawer-z-index) + 1);\\n display: flex;\\n flex-direction: column;\\n outline: none;\\n overflow: hidden;\\n visibility: hidden;\\n}\\n\\n:host([open]) .drawer {\\n visibility: visible;\\n}\\n\\n/* Default styles when no position attribute (defaults to left) */\\n:host(:not([position])) .drawer {\\n top: 0;\\n left: 0;\\n height: 100%;\\n width: var(--drawer-width-medium);\\n transform: translateX(-100%);\\n}\\n\\n:host(:not([position])[open]) .drawer {\\n transform: translateX(0);\\n}\\n\\n/* Position: Left */\\n:host([position=\\\"left\\\"]) .drawer {\\n top: 0;\\n left: 0;\\n height: 100%;\\n width: var(--drawer-width-medium); /* Default width */\\n transform: translateX(-100%);\\n}\\n\\n:host([position=\\\"left\\\"][size=\\\"small\\\"]) .drawer {\\n width: var(--drawer-width-small);\\n}\\n\\n:host([position=\\\"left\\\"][size=\\\"medium\\\"]) .drawer {\\n width: var(--drawer-width-medium);\\n}\\n\\n:host([position=\\\"left\\\"][size=\\\"large\\\"]) .drawer {\\n width: var(--drawer-width-large);\\n}\\n\\n:host([position=\\\"left\\\"][size=\\\"xl\\\"]) .drawer {\\n width: var(--drawer-width-xl);\\n}\\n\\n:host([position=\\\"left\\\"][size=\\\"xxl\\\"]) .drawer {\\n width: var(--drawer-width-xxl);\\n}\\n\\n:host([position=\\\"left\\\"][size=\\\"xxxl\\\"]) .drawer {\\n width: var(--drawer-width-xxxl);\\n}\\n\\n:host([position=\\\"left\\\"][size=\\\"full\\\"]) .drawer {\\n width: 100%;\\n}\\n\\n:host([position=\\\"left\\\"][open]) .drawer {\\n transform: translateX(0);\\n}\\n\\n/* Position: Right */\\n:host([position=\\\"right\\\"]) .drawer {\\n top: 0;\\n right: 0;\\n height: 100%;\\n width: var(--drawer-width-medium); /* Default width */\\n transform: translateX(100%);\\n}\\n\\n:host([position=\\\"right\\\"][size=\\\"small\\\"]) .drawer {\\n width: var(--drawer-width-small);\\n}\\n\\n:host([position=\\\"right\\\"][size=\\\"medium\\\"]) .drawer {\\n width: var(--drawer-width-medium);\\n}\\n\\n:host([position=\\\"right\\\"][size=\\\"large\\\"]) .drawer {\\n width: var(--drawer-width-large);\\n}\\n\\n:host([position=\\\"right\\\"][size=\\\"xl\\\"]) .drawer {\\n width: var(--drawer-width-xl);\\n}\\n\\n:host([position=\\\"right\\\"][size=\\\"xxl\\\"]) .drawer {\\n width: var(--drawer-width-xxl);\\n}\\n\\n:host([position=\\\"right\\\"][size=\\\"xxxl\\\"]) .drawer {\\n width: var(--drawer-width-xxxl);\\n}\\n\\n:host([position=\\\"right\\\"][size=\\\"full\\\"]) .drawer {\\n width: 100%;\\n}\\n\\n:host([position=\\\"right\\\"][open]) .drawer {\\n transform: translateX(0);\\n}\\n\\n/* Position: Top */\\n:host([position=\\\"top\\\"]) .drawer {\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: var(--drawer-height-medium); /* Default height */\\n transform: translateY(-100%);\\n}\\n\\n:host([position=\\\"top\\\"][size=\\\"small\\\"]) .drawer {\\n height: var(--drawer-height-small);\\n}\\n\\n:host([position=\\\"top\\\"][size=\\\"medium\\\"]) .drawer {\\n height: var(--drawer-height-medium);\\n}\\n\\n:host([position=\\\"top\\\"][size=\\\"large\\\"]) .drawer {\\n height: var(--drawer-height-large);\\n}\\n\\n:host([position=\\\"top\\\"][size=\\\"xl\\\"]) .drawer {\\n height: var(--drawer-height-xl);\\n}\\n\\n:host([position=\\\"top\\\"][size=\\\"xxl\\\"]) .drawer {\\n height: var(--drawer-height-xxl);\\n}\\n\\n:host([position=\\\"top\\\"][size=\\\"xxxl\\\"]) .drawer {\\n height: var(--drawer-height-xxxl);\\n}\\n\\n:host([position=\\\"top\\\"][size=\\\"full\\\"]) .drawer {\\n height: 100%;\\n}\\n\\n:host([position=\\\"top\\\"][open]) .drawer {\\n transform: translateY(0);\\n}\\n\\n/* Position: Bottom */\\n:host([position=\\\"bottom\\\"]) .drawer {\\n bottom: 0;\\n left: 0;\\n width: 100%;\\n height: var(--drawer-height-medium); /* Default height */\\n transform: translateY(100%);\\n}\\n\\n:host([position=\\\"bottom\\\"][size=\\\"small\\\"]) .drawer {\\n height: var(--drawer-height-small);\\n}\\n\\n:host([position=\\\"bottom\\\"][size=\\\"medium\\\"]) .drawer {\\n height: var(--drawer-height-medium);\\n}\\n\\n:host([position=\\\"bottom\\\"][size=\\\"large\\\"]) .drawer {\\n height: var(--drawer-height-large);\\n}\\n\\n:host([position=\\\"bottom\\\"][size=\\\"xl\\\"]) .drawer {\\n height: var(--drawer-height-xl);\\n}\\n\\n:host([position=\\\"bottom\\\"][size=\\\"xxl\\\"]) .drawer {\\n height: var(--drawer-height-xxl);\\n}\\n\\n:host([position=\\\"bottom\\\"][size=\\\"xxxl\\\"]) .drawer {\\n height: var(--drawer-height-xxxl);\\n}\\n\\n:host([position=\\\"bottom\\\"][size=\\\"full\\\"]) .drawer {\\n height: 100%;\\n}\\n\\n:host([position=\\\"bottom\\\"][open]) .drawer {\\n transform: translateY(0);\\n}\\n\\n/* Drawer Header */\\n.drawer-header {\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n padding: 1rem 1.25rem; /* 16px 20px */\\n border-bottom: 1px solid #e5e7eb;\\n flex-shrink: 0;\\n}\\n\\n.drawer-header:has(.drawer-title:empty):not(:has(.drawer-close)) {\\n display: none;\\n}\\n\\n.drawer-title {\\n font-size: 1.125rem; /* 18px */\\n font-weight: 600;\\n margin: 0;\\n color: #111827;\\n}\\n\\n.drawer-close {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n width: 2rem; /* 32px */\\n height: 2rem; /* 32px */\\n border: none;\\n background: transparent;\\n border-radius: 6px;\\n cursor: pointer;\\n color: #6b7280;\\n transition: all 0.2s;\\n}\\n\\n.drawer-close:hover {\\n background: #f3f4f6;\\n color: #111827;\\n}\\n\\n.drawer-close:focus-visible {\\n outline: 2px solid #3b82f6;\\n outline-offset: 2px;\\n}\\n\\n/* Drawer Body */\\n.drawer-body {\\n flex: 1;\\n padding: 1.25rem; /* 20px */\\n overflow-y: auto;\\n overflow-x: hidden;\\n}\\n\\n/* Drawer Footer */\\n.drawer-footer {\\n padding: 1rem 1.25rem; /* 16px 20px */\\n border-top: 1px solid #e5e7eb;\\n flex-shrink: 0;\\n}\\n\\n.drawer-footer:empty {\\n display: none;\\n}\\n\\n/* Animations */\\n@media (prefers-reduced-motion: reduce) {\\n .drawer,\\n .drawer-backdrop {\\n transition: none;\\n }\\n}\\n\\n/* Responsive */\\n@media (max-width: 640px) {\\n :host([position=\\\"left\\\"][size=\\\"medium\\\"]) .drawer,\\n :host([position=\\\"left\\\"][size=\\\"large\\\"]) .drawer,\\n :host([position=\\\"left\\\"][size=\\\"xl\\\"]) .drawer,\\n :host([position=\\\"left\\\"][size=\\\"xxl\\\"]) .drawer,\\n :host([position=\\\"left\\\"][size=\\\"xxxl\\\"]) .drawer,\\n :host([position=\\\"right\\\"][size=\\\"medium\\\"]) .drawer,\\n :host([position=\\\"right\\\"][size=\\\"large\\\"]) .drawer,\\n :host([position=\\\"right\\\"][size=\\\"xl\\\"]) .drawer,\\n :host([position=\\\"right\\\"][size=\\\"xxl\\\"]) .drawer,\\n :host([position=\\\"right\\\"][size=\\\"xxxl\\\"]) .drawer {\\n width: calc(100% - 2.5rem); /* 40px */\\n }\\n}\\n\\n/* Focus trap styles */\\n.focus-trap-start,\\n.focus-trap-end {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n margin: -1px;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border: 0;\\n}\\n\\n/* Push content mode */\\n:host([push-content]) {\\n --drawer-push-amount: 0px;\\n}\\n\\n/* Left position push amounts */\\n:host([push-content][position=\\\"left\\\"][open][size=\\\"small\\\"]) {\\n --drawer-push-amount: var(--drawer-width-small);\\n}\\n\\n:host([push-content][position=\\\"left\\\"][open][size=\\\"medium\\\"]) {\\n --drawer-push-amount: var(--drawer-width-medium);\\n}\\n\\n:host([push-content][position=\\\"left\\\"][open][size=\\\"large\\\"]) {\\n --drawer-push-amount: var(--drawer-width-large);\\n}\\n\\n:host([push-content][position=\\\"left\\\"][open][size=\\\"xl\\\"]) {\\n --drawer-push-amount: var(--drawer-width-xl);\\n}\\n\\n:host([push-content][position=\\\"left\\\"][open][size=\\\"xxl\\\"]) {\\n --drawer-push-amount: var(--drawer-width-xxl);\\n}\\n\\n:host([push-content][position=\\\"left\\\"][open][size=\\\"xxxl\\\"]) {\\n --drawer-push-amount: var(--drawer-width-xxxl);\\n}\\n\\n:host([push-content][position=\\\"left\\\"][open][size=\\\"full\\\"]) {\\n --drawer-push-amount: 100vw;\\n}\\n\\n/* Also handle when no size is specified (defaults to medium) */\\n:host([push-content][position=\\\"left\\\"][open]:not([size])) {\\n --drawer-push-amount: var(--drawer-width-medium);\\n}\\n\\n/* Right position push amounts */\\n:host([push-content][position=\\\"right\\\"][open][size=\\\"small\\\"]) {\\n --drawer-push-amount: calc(-1 * var(--drawer-width-small));\\n}\\n\\n:host([push-content][position=\\\"right\\\"][open][size=\\\"medium\\\"]) {\\n --drawer-push-amount: calc(-1 * var(--drawer-width-medium));\\n}\\n\\n:host([push-content][position=\\\"right\\\"][open][size=\\\"large\\\"]) {\\n --drawer-push-amount: calc(-1 * var(--drawer-width-large));\\n}\\n\\n:host([push-content][position=\\\"right\\\"][open][size=\\\"xl\\\"]) {\\n --drawer-push-amount: calc(-1 * var(--drawer-width-xl));\\n}\\n\\n:host([push-content][position=\\\"right\\\"][open][size=\\\"xxl\\\"]) {\\n --drawer-push-amount: calc(-1 * var(--drawer-width-xxl));\\n}\\n\\n:host([push-content][position=\\\"right\\\"][open][size=\\\"xxxl\\\"]) {\\n --drawer-push-amount: calc(-1 * var(--drawer-width-xxxl));\\n}\\n\\n:host([push-content][position=\\\"right\\\"][open][size=\\\"full\\\"]) {\\n --drawer-push-amount: -100vw;\\n}\\n\\n:host([push-content][position=\\\"right\\\"][open]:not([size])) {\\n --drawer-push-amount: calc(-1 * var(--drawer-width-medium));\\n}\\n\\n/* Top position push amounts */\\n:host([push-content][position=\\\"top\\\"][open][size=\\\"small\\\"]) {\\n --drawer-push-amount: var(--drawer-height-small);\\n}\\n\\n:host([push-content][position=\\\"top\\\"][open][size=\\\"medium\\\"]) {\\n --drawer-push-amount: var(--drawer-height-medium);\\n}\\n\\n:host([push-content][position=\\\"top\\\"][open][size=\\\"large\\\"]) {\\n --drawer-push-amount: var(--drawer-height-large);\\n}\\n\\n:host([push-content][position=\\\"top\\\"][open][size=\\\"xl\\\"]) {\\n --drawer-push-amount: var(--drawer-height-xl);\\n}\\n\\n:host([push-content][position=\\\"top\\\"][open][size=\\\"xxl\\\"]) {\\n --drawer-push-amount: var(--drawer-height-xxl);\\n}\\n\\n:host([push-content][position=\\\"top\\\"][open][size=\\\"xxxl\\\"]) {\\n --drawer-push-amount: var(--drawer-height-xxxl);\\n}\\n\\n:host([push-content][position=\\\"top\\\"][open][size=\\\"full\\\"]) {\\n --drawer-push-amount: 100vh;\\n}\\n\\n:host([push-content][position=\\\"top\\\"][open]:not([size])) {\\n --drawer-push-amount: var(--drawer-height-medium);\\n}\\n\\n/* Bottom position push amounts */\\n:host([push-content][position=\\\"bottom\\\"][open][size=\\\"small\\\"]) {\\n --drawer-push-amount: calc(-1 * var(--drawer-height-small));\\n}\\n\\n:host([push-content][position=\\\"bottom\\\"][open][size=\\\"medium\\\"]) {\\n --drawer-push-amount: calc(-1 * var(--drawer-height-medium));\\n}\\n\\n:host([push-content][position=\\\"bottom\\\"][open][size=\\\"large\\\"]) {\\n --drawer-push-amount: calc(-1 * var(--drawer-height-large));\\n}\\n\\n:host([push-content][position=\\\"bottom\\\"][open][size=\\\"xl\\\"]) {\\n --drawer-push-amount: calc(-1 * var(--drawer-height-xl));\\n}\\n\\n:host([push-content][position=\\\"bottom\\\"][open][size=\\\"xxl\\\"]) {\\n --drawer-push-amount: calc(-1 * var(--drawer-height-xxl));\\n}\\n\\n:host([push-content][position=\\\"bottom\\\"][open][size=\\\"xxxl\\\"]) {\\n --drawer-push-amount: calc(-1 * var(--drawer-height-xxxl));\\n}\\n\\n:host([push-content][position=\\\"bottom\\\"][open][size=\\\"full\\\"]) {\\n --drawer-push-amount: -100vh;\\n}\\n\\n:host([push-content][position=\\\"bottom\\\"][open]:not([size])) {\\n --drawer-push-amount: calc(-1 * var(--drawer-height-medium));\\n}\";",null],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"snice-drawer.js","sources":["../../../components/drawer/snice-drawer.css?inline","../../../../components/drawer/snice-drawer.ts"],"sourcesContent":["export default \":host {\\n /* Drawer sizes with theme integration and rem units */\\n --drawer-width-small: var(--snice-size-drawer-small, 15rem); /* 240px */\\n --drawer-width-medium: var(--snice-size-drawer-medium, 20rem); /* 320px */\\n --drawer-width-large: var(--snice-size-drawer-large, 30rem); /* 480px */\\n --drawer-width-xl: var(--snice-size-drawer-xl, 40rem); /* 640px */\\n --drawer-width-xxl: var(--snice-size-drawer-xxl, 50rem); /* 800px */\\n --drawer-width-xxxl: var(--snice-size-drawer-xxxl, 60rem); /* 960px */\\n --drawer-height-small: var(--snice-size-drawer-height-small, 12.5rem); /* 200px */\\n --drawer-height-medium: var(--snice-size-drawer-height-medium, 25rem); /* 400px */\\n --drawer-height-large: var(--snice-size-drawer-height-large, 37.5rem); /* 600px */\\n --drawer-height-xl: var(--snice-size-drawer-height-xl, 70vh);\\n --drawer-height-xxl: var(--snice-size-drawer-height-xxl, 80vh);\\n --drawer-height-xxxl: var(--snice-size-drawer-height-xxxl, 90vh);\\n\\n /* Theme-integrated colors and effects */\\n --drawer-bg: var(--snice-color-background, white);\\n --drawer-shadow: var(--snice-shadow-lg, 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1));\\n --drawer-backdrop: var(--snice-color-backdrop, rgba(0, 0, 0, 0.5));\\n --drawer-transition: transform var(--snice-transition-medium, 250ms) cubic-bezier(0.4, 0, 0.2, 1);\\n --drawer-z-index: var(--snice-z-index-modal, 1050);\\n\\n /* Default: fixed positioning (modal behavior) */\\n display: block;\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100vw;\\n height: 100vh;\\n pointer-events: none;\\n isolation: isolate;\\n font-family: var(--snice-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif);\\n contain: layout style paint;\\n}\\n\\n/* Contained variant - position within parent */\\n:host([contained]) {\\n position: absolute;\\n width: 100%;\\n height: 100%;\\n}\\n\\n.drawer-backdrop {\\n position: absolute;\\n inset: 0;\\n background: var(--drawer-backdrop);\\n opacity: 0;\\n transition: opacity 0.3s ease-in-out;\\n z-index: var(--drawer-z-index);\\n pointer-events: none;\\n visibility: hidden;\\n}\\n\\n:host([open]) {\\n pointer-events: auto;\\n}\\n\\n:host([open]) .drawer-backdrop {\\n opacity: 1;\\n pointer-events: auto;\\n visibility: visible;\\n}\\n\\n:host([no-backdrop]) .drawer-backdrop {\\n display: none;\\n}\\n\\n.drawer {\\n position: absolute;\\n background: var(--drawer-bg);\\n box-shadow: var(--drawer-shadow);\\n transition:\\n transform var(--snice-transition-medium, 250ms) cubic-bezier(0.4, 0, 0.2, 1),\\n opacity var(--snice-transition-medium, 250ms) cubic-bezier(0.2, 0, 0.8, 1);\\n z-index: calc(var(--drawer-z-index) + 1);\\n display: flex;\\n flex-direction: column;\\n outline: none;\\n overflow: hidden;\\n opacity: 0;\\n pointer-events: auto;\\n}\\n\\n:host([open]) .drawer {\\n opacity: 1;\\n}\\n\\n/* Default styles when no position attribute (defaults to left) */\\n:host(:not([position])) .drawer {\\n top: 0;\\n left: 0;\\n height: 100%;\\n width: var(--drawer-width-medium);\\n transform: translateX(-100%);\\n}\\n\\n:host(:not([position])[open]) .drawer {\\n transform: translateX(0);\\n}\\n\\n/* Position: Left */\\n:host([position=\\\"left\\\"]) .drawer {\\n top: 0;\\n left: 0;\\n height: 100%;\\n width: var(--drawer-width-medium); /* Default width */\\n transform: translateX(-100%);\\n}\\n\\n:host([position=\\\"left\\\"][size=\\\"small\\\"]) .drawer {\\n width: var(--drawer-width-small);\\n}\\n\\n:host([position=\\\"left\\\"][size=\\\"medium\\\"]) .drawer {\\n width: var(--drawer-width-medium);\\n}\\n\\n:host([position=\\\"left\\\"][size=\\\"large\\\"]) .drawer {\\n width: var(--drawer-width-large);\\n}\\n\\n:host([position=\\\"left\\\"][size=\\\"xl\\\"]) .drawer {\\n width: var(--drawer-width-xl);\\n}\\n\\n:host([position=\\\"left\\\"][size=\\\"xxl\\\"]) .drawer {\\n width: var(--drawer-width-xxl);\\n}\\n\\n:host([position=\\\"left\\\"][size=\\\"xxxl\\\"]) .drawer {\\n width: var(--drawer-width-xxxl);\\n}\\n\\n:host([position=\\\"left\\\"][size=\\\"full\\\"]) .drawer {\\n width: 100%;\\n}\\n\\n:host([position=\\\"left\\\"][open]) .drawer {\\n transform: translateX(0);\\n}\\n\\n/* Position: Right */\\n:host([position=\\\"right\\\"]) .drawer {\\n top: 0;\\n right: 0;\\n height: 100%;\\n width: var(--drawer-width-medium); /* Default width */\\n transform: translateX(100%);\\n}\\n\\n:host([position=\\\"right\\\"][size=\\\"small\\\"]) .drawer {\\n width: var(--drawer-width-small);\\n}\\n\\n:host([position=\\\"right\\\"][size=\\\"medium\\\"]) .drawer {\\n width: var(--drawer-width-medium);\\n}\\n\\n:host([position=\\\"right\\\"][size=\\\"large\\\"]) .drawer {\\n width: var(--drawer-width-large);\\n}\\n\\n:host([position=\\\"right\\\"][size=\\\"xl\\\"]) .drawer {\\n width: var(--drawer-width-xl);\\n}\\n\\n:host([position=\\\"right\\\"][size=\\\"xxl\\\"]) .drawer {\\n width: var(--drawer-width-xxl);\\n}\\n\\n:host([position=\\\"right\\\"][size=\\\"xxxl\\\"]) .drawer {\\n width: var(--drawer-width-xxxl);\\n}\\n\\n:host([position=\\\"right\\\"][size=\\\"full\\\"]) .drawer {\\n width: 100%;\\n}\\n\\n:host([position=\\\"right\\\"][open]) .drawer {\\n transform: translateX(0);\\n}\\n\\n/* Position: Top */\\n:host([position=\\\"top\\\"]) .drawer {\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: var(--drawer-height-medium); /* Default height */\\n transform: translateY(-100%);\\n}\\n\\n:host([position=\\\"top\\\"][size=\\\"small\\\"]) .drawer {\\n height: var(--drawer-height-small);\\n}\\n\\n:host([position=\\\"top\\\"][size=\\\"medium\\\"]) .drawer {\\n height: var(--drawer-height-medium);\\n}\\n\\n:host([position=\\\"top\\\"][size=\\\"large\\\"]) .drawer {\\n height: var(--drawer-height-large);\\n}\\n\\n:host([position=\\\"top\\\"][size=\\\"xl\\\"]) .drawer {\\n height: var(--drawer-height-xl);\\n}\\n\\n:host([position=\\\"top\\\"][size=\\\"xxl\\\"]) .drawer {\\n height: var(--drawer-height-xxl);\\n}\\n\\n:host([position=\\\"top\\\"][size=\\\"xxxl\\\"]) .drawer {\\n height: var(--drawer-height-xxxl);\\n}\\n\\n:host([position=\\\"top\\\"][size=\\\"full\\\"]) .drawer {\\n height: 100%;\\n}\\n\\n:host([position=\\\"top\\\"][open]) .drawer {\\n transform: translateY(0);\\n}\\n\\n/* Position: Bottom */\\n:host([position=\\\"bottom\\\"]) .drawer {\\n bottom: 0;\\n left: 0;\\n width: 100%;\\n height: var(--drawer-height-medium); /* Default height */\\n transform: translateY(100%);\\n}\\n\\n:host([position=\\\"bottom\\\"][size=\\\"small\\\"]) .drawer {\\n height: var(--drawer-height-small);\\n}\\n\\n:host([position=\\\"bottom\\\"][size=\\\"medium\\\"]) .drawer {\\n height: var(--drawer-height-medium);\\n}\\n\\n:host([position=\\\"bottom\\\"][size=\\\"large\\\"]) .drawer {\\n height: var(--drawer-height-large);\\n}\\n\\n:host([position=\\\"bottom\\\"][size=\\\"xl\\\"]) .drawer {\\n height: var(--drawer-height-xl);\\n}\\n\\n:host([position=\\\"bottom\\\"][size=\\\"xxl\\\"]) .drawer {\\n height: var(--drawer-height-xxl);\\n}\\n\\n:host([position=\\\"bottom\\\"][size=\\\"xxxl\\\"]) .drawer {\\n height: var(--drawer-height-xxxl);\\n}\\n\\n:host([position=\\\"bottom\\\"][size=\\\"full\\\"]) .drawer {\\n height: 100%;\\n}\\n\\n:host([position=\\\"bottom\\\"][open]) .drawer {\\n transform: translateY(0);\\n}\\n\\n/* Drawer Header */\\n.drawer-header {\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n padding: var(--snice-spacing-md, 1rem) var(--snice-spacing-lg, 1.25rem); /* 16px 20px */\\n border-bottom: 1px solid var(--snice-color-border, rgb(229 231 235));\\n background: var(--snice-color-background, white);\\n flex-shrink: 0;\\n}\\n\\n.drawer-header:has(.drawer-title:empty):not(:has(.drawer-close)) {\\n display: none;\\n}\\n\\n.drawer-title {\\n font-size: var(--snice-font-size-lg, 1.125rem); /* 18px */\\n font-weight: var(--snice-font-weight-semibold, 600);\\n margin: 0;\\n color: var(--snice-color-text, rgb(17 24 39));\\n line-height: var(--snice-line-height-tight, 1.25);\\n}\\n\\n.drawer-close {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n width: var(--snice-size-control-md, 2rem); /* 32px */\\n height: var(--snice-size-control-md, 2rem); /* 32px */\\n border: none;\\n background: transparent;\\n border-radius: var(--snice-border-radius-md, 6px);\\n cursor: pointer;\\n color: var(--snice-color-text-secondary, rgb(107 114 128));\\n transition: all var(--snice-transition-fast, 150ms) ease;\\n}\\n\\n.drawer-close:hover {\\n background: var(--snice-color-background-hover, rgb(243 244 246));\\n color: var(--snice-color-text, rgb(17 24 39));\\n}\\n\\n.drawer-close:focus-visible {\\n outline: var(--snice-focus-ring-width, 2px) solid var(--snice-focus-ring-color, rgb(59 130 246));\\n outline-offset: var(--snice-focus-ring-offset, 2px);\\n}\\n\\n/* Drawer Body */\\n.drawer-body {\\n flex: 1;\\n padding: var(--snice-spacing-lg, 1.25rem); /* 20px */\\n overflow-y: auto;\\n overflow-x: hidden;\\n color: var(--snice-color-text, rgb(17 24 39));\\n}\\n\\n/* Drawer Footer */\\n.drawer-footer {\\n padding: var(--snice-spacing-md, 1rem) var(--snice-spacing-lg, 1.25rem); /* 16px 20px */\\n border-top: 1px solid var(--snice-color-border, rgb(229 231 235));\\n background: var(--snice-color-background, white);\\n flex-shrink: 0;\\n}\\n\\n.drawer-footer:empty {\\n display: none;\\n}\\n\\n/* Animations */\\n@media (prefers-reduced-motion: reduce) {\\n .drawer,\\n .drawer-backdrop {\\n transition: none;\\n }\\n}\\n\\n/* Responsive */\\n@media (max-width: 640px) {\\n :host([position=\\\"left\\\"][size=\\\"medium\\\"]) .drawer,\\n :host([position=\\\"left\\\"][size=\\\"large\\\"]) .drawer,\\n :host([position=\\\"left\\\"][size=\\\"xl\\\"]) .drawer,\\n :host([position=\\\"left\\\"][size=\\\"xxl\\\"]) .drawer,\\n :host([position=\\\"left\\\"][size=\\\"xxxl\\\"]) .drawer,\\n :host([position=\\\"right\\\"][size=\\\"medium\\\"]) .drawer,\\n :host([position=\\\"right\\\"][size=\\\"large\\\"]) .drawer,\\n :host([position=\\\"right\\\"][size=\\\"xl\\\"]) .drawer,\\n :host([position=\\\"right\\\"][size=\\\"xxl\\\"]) .drawer,\\n :host([position=\\\"right\\\"][size=\\\"xxxl\\\"]) .drawer {\\n width: calc(100% - 2.5rem); /* 40px */\\n }\\n}\\n\\n/* Focus trap styles */\\n.focus-trap-start,\\n.focus-trap-end {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n margin: -1px;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border: 0;\\n}\\n\\n/* Push content mode */\\n:host([push-content]) {\\n --drawer-push-amount: 0px;\\n}\\n\\n/* Left position push amounts */\\n:host([push-content][position=\\\"left\\\"][open][size=\\\"small\\\"]) {\\n --drawer-push-amount: var(--drawer-width-small);\\n}\\n\\n:host([push-content][position=\\\"left\\\"][open][size=\\\"medium\\\"]) {\\n --drawer-push-amount: var(--drawer-width-medium);\\n}\\n\\n:host([push-content][position=\\\"left\\\"][open][size=\\\"large\\\"]) {\\n --drawer-push-amount: var(--drawer-width-large);\\n}\\n\\n:host([push-content][position=\\\"left\\\"][open][size=\\\"xl\\\"]) {\\n --drawer-push-amount: var(--drawer-width-xl);\\n}\\n\\n:host([push-content][position=\\\"left\\\"][open][size=\\\"xxl\\\"]) {\\n --drawer-push-amount: var(--drawer-width-xxl);\\n}\\n\\n:host([push-content][position=\\\"left\\\"][open][size=\\\"xxxl\\\"]) {\\n --drawer-push-amount: var(--drawer-width-xxxl);\\n}\\n\\n:host([push-content][position=\\\"left\\\"][open][size=\\\"full\\\"]) {\\n --drawer-push-amount: 100vw;\\n}\\n\\n/* Also handle when no size is specified (defaults to medium) */\\n:host([push-content][position=\\\"left\\\"][open]:not([size])) {\\n --drawer-push-amount: var(--drawer-width-medium);\\n}\\n\\n/* Right position push amounts */\\n:host([push-content][position=\\\"right\\\"][open][size=\\\"small\\\"]) {\\n --drawer-push-amount: calc(-1 * var(--drawer-width-small));\\n}\\n\\n:host([push-content][position=\\\"right\\\"][open][size=\\\"medium\\\"]) {\\n --drawer-push-amount: calc(-1 * var(--drawer-width-medium));\\n}\\n\\n:host([push-content][position=\\\"right\\\"][open][size=\\\"large\\\"]) {\\n --drawer-push-amount: calc(-1 * var(--drawer-width-large));\\n}\\n\\n:host([push-content][position=\\\"right\\\"][open][size=\\\"xl\\\"]) {\\n --drawer-push-amount: calc(-1 * var(--drawer-width-xl));\\n}\\n\\n:host([push-content][position=\\\"right\\\"][open][size=\\\"xxl\\\"]) {\\n --drawer-push-amount: calc(-1 * var(--drawer-width-xxl));\\n}\\n\\n:host([push-content][position=\\\"right\\\"][open][size=\\\"xxxl\\\"]) {\\n --drawer-push-amount: calc(-1 * var(--drawer-width-xxxl));\\n}\\n\\n:host([push-content][position=\\\"right\\\"][open][size=\\\"full\\\"]) {\\n --drawer-push-amount: -100vw;\\n}\\n\\n:host([push-content][position=\\\"right\\\"][open]:not([size])) {\\n --drawer-push-amount: calc(-1 * var(--drawer-width-medium));\\n}\\n\\n/* Top position push amounts */\\n:host([push-content][position=\\\"top\\\"][open][size=\\\"small\\\"]) {\\n --drawer-push-amount: var(--drawer-height-small);\\n}\\n\\n:host([push-content][position=\\\"top\\\"][open][size=\\\"medium\\\"]) {\\n --drawer-push-amount: var(--drawer-height-medium);\\n}\\n\\n:host([push-content][position=\\\"top\\\"][open][size=\\\"large\\\"]) {\\n --drawer-push-amount: var(--drawer-height-large);\\n}\\n\\n:host([push-content][position=\\\"top\\\"][open][size=\\\"xl\\\"]) {\\n --drawer-push-amount: var(--drawer-height-xl);\\n}\\n\\n:host([push-content][position=\\\"top\\\"][open][size=\\\"xxl\\\"]) {\\n --drawer-push-amount: var(--drawer-height-xxl);\\n}\\n\\n:host([push-content][position=\\\"top\\\"][open][size=\\\"xxxl\\\"]) {\\n --drawer-push-amount: var(--drawer-height-xxxl);\\n}\\n\\n:host([push-content][position=\\\"top\\\"][open][size=\\\"full\\\"]) {\\n --drawer-push-amount: 100vh;\\n}\\n\\n:host([push-content][position=\\\"top\\\"][open]:not([size])) {\\n --drawer-push-amount: var(--drawer-height-medium);\\n}\\n\\n/* Bottom position push amounts */\\n:host([push-content][position=\\\"bottom\\\"][open][size=\\\"small\\\"]) {\\n --drawer-push-amount: calc(-1 * var(--drawer-height-small));\\n}\\n\\n:host([push-content][position=\\\"bottom\\\"][open][size=\\\"medium\\\"]) {\\n --drawer-push-amount: calc(-1 * var(--drawer-height-medium));\\n}\\n\\n:host([push-content][position=\\\"bottom\\\"][open][size=\\\"large\\\"]) {\\n --drawer-push-amount: calc(-1 * var(--drawer-height-large));\\n}\\n\\n:host([push-content][position=\\\"bottom\\\"][open][size=\\\"xl\\\"]) {\\n --drawer-push-amount: calc(-1 * var(--drawer-height-xl));\\n}\\n\\n:host([push-content][position=\\\"bottom\\\"][open][size=\\\"xxl\\\"]) {\\n --drawer-push-amount: calc(-1 * var(--drawer-height-xxl));\\n}\\n\\n:host([push-content][position=\\\"bottom\\\"][open][size=\\\"xxxl\\\"]) {\\n --drawer-push-amount: calc(-1 * var(--drawer-height-xxxl));\\n}\\n\\n:host([push-content][position=\\\"bottom\\\"][open][size=\\\"full\\\"]) {\\n --drawer-push-amount: -100vh;\\n}\\n\\n:host([push-content][position=\\\"bottom\\\"][open]:not([size])) {\\n --drawer-push-amount: calc(-1 * var(--drawer-height-medium));\\n}\";",null],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
import type { AppContext, Placard, RouteParams, Layout } from 'snice';
|
|
2
|
+
import '../nav/snice-nav.ts';
|
|
3
|
+
import type { SniceNav } from '../nav/snice-nav.ts';
|
|
4
|
+
export declare class SniceLayoutBlog extends HTMLElement implements Layout {
|
|
5
|
+
navElement?: SniceNav;
|
|
6
|
+
useNav: boolean;
|
|
7
|
+
private placards;
|
|
8
|
+
private currentRoute;
|
|
2
9
|
html(): string;
|
|
3
10
|
css(): string;
|
|
11
|
+
update(_appContext: AppContext, placards: Placard[], currentRoute: string, _routeParams: RouteParams): void;
|
|
12
|
+
renderNav(): string;
|
|
4
13
|
}
|