snice 2.5.1 → 2.5.3

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.
@@ -9,12 +9,13 @@
9
9
  "type-check": "tsc --noEmit"
10
10
  },
11
11
  "dependencies": {
12
- "snice": "^1.2.0"
12
+ "snice": "^2.5.1"
13
13
  },
14
14
  "devDependencies": {
15
15
  "@types/node": "^20.0.0",
16
16
  "terser": "^5.24.0",
17
17
  "typescript": "^5.3.3",
18
+ "unplugin-swc": "^1.5.7",
18
19
  "vite": "^5.0.10"
19
20
  }
20
21
  }
@@ -8,8 +8,8 @@ const { page, initialize, navigate } = Router({
8
8
  mode: 'simultaneous',
9
9
  outDuration: 200,
10
10
  inDuration: 200,
11
- out: 'opacity: 0; transform: translateX(-10px);',
12
- in: 'opacity: 1; transform: translateX(0);'
11
+ out: 'opacity: 0;',
12
+ in: 'opacity: 1;'
13
13
  }
14
14
  });
15
15
 
@@ -1,6 +1,23 @@
1
1
  import { defineConfig } from 'vite';
2
+ import swc from 'unplugin-swc';
2
3
 
3
4
  export default defineConfig({
5
+ plugins: [
6
+ swc.vite({
7
+ jsc: {
8
+ parser: {
9
+ syntax: 'typescript',
10
+ decorators: true,
11
+ },
12
+ target: 'es2022',
13
+ transform: {
14
+ decoratorMetadata: false,
15
+ decoratorVersion: '2022-03',
16
+ useDefineForClassFields: false,
17
+ },
18
+ },
19
+ }),
20
+ ],
4
21
  build: {
5
22
  target: 'es2015',
6
23
  minify: 'terser',
@@ -64,7 +64,7 @@ let SniceLayoutBlog = (() => {
64
64
  <div class="container">
65
65
  <div class="content-area">
66
66
  <article class="article">
67
- <slot></slot>
67
+ <slot name="page"></slot>
68
68
  </article>
69
69
 
70
70
  <aside class="sidebar">
@@ -37,7 +37,7 @@ let SniceLayoutCard = (() => {
37
37
 
38
38
  <main class="main">
39
39
  <div class="grid">
40
- <slot></slot>
40
+ <slot name="page"></slot>
41
41
  </div>
42
42
  </main>
43
43
 
@@ -27,7 +27,7 @@ let SniceLayoutCentered = (() => {
27
27
  return /*html*/ `
28
28
  <div class="layout">
29
29
  <div class="container">
30
- <slot></slot>
30
+ <slot name="page"></slot>
31
31
  </div>
32
32
  </div>
33
33
  `;
@@ -35,7 +35,7 @@ let SniceLayoutFullscreen = (() => {
35
35
  </div>
36
36
 
37
37
  <div class="content">
38
- <slot></slot>
38
+ <slot name="page"></slot>
39
39
  </div>
40
40
 
41
41
  <div class="controls">
@@ -69,7 +69,7 @@ let SniceLayoutLanding = (() => {
69
69
  </section>
70
70
 
71
71
  <div class="content">
72
- <slot></slot>
72
+ <slot name="page"></slot>
73
73
  </div>
74
74
  </main>
75
75
 
@@ -22,7 +22,7 @@ let SniceLayoutMinimal = (() => {
22
22
  return /*html*/ `
23
23
  <div class="layout">
24
24
  <main class="main">
25
- <slot></slot>
25
+ <slot name="page"></slot>
26
26
  </main>
27
27
  </div>
28
28
  `;
@@ -7,6 +7,7 @@ export declare class SniceLayout extends HTMLElement implements Layout {
7
7
  private currentRoute;
8
8
  html(): string;
9
9
  css(): string;
10
+ onReady(): void;
10
11
  update(_appContext: AppContext, placards: Placard[], currentRoute: string, _routeParams: RouteParams): void;
11
- renderNav(): string;
12
+ updateNav(): void;
12
13
  }
@@ -1,5 +1,5 @@
1
1
  import { __runInitializers, __esDecorate } from 'tslib';
2
- import { element, query, part } from 'snice';
2
+ import { element, query, ready } from 'snice';
3
3
  import '../nav/snice-nav.js';
4
4
 
5
5
  var css = "/* Layout Component Styles */\n:host {\n display: block;\n font-family: var(--snice-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif);\n}\n\n.layout {\n display: grid;\n grid-template-rows: auto 1fr auto;\n min-height: 100vh;\n}\n\n.header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: var(--snice-spacing-md, 1rem) var(--snice-spacing-lg, 2rem);\n background: var(--snice-color-background, white);\n border-bottom: 1px solid var(--snice-color-border, #d1d5db);\n box-shadow: 0 2px 4px rgba(0,0,0,0.1);\n}\n\n.brand h1 {\n margin: 0;\n font-size: var(--snice-font-size-xl, 1.5rem);\n color: var(--snice-color-text, #374151);\n font-weight: var(--snice-font-weight-semibold, 600);\n}\n\n.nav {\n display: flex;\n gap: var(--snice-spacing-lg, 2rem);\n}\n\n.nav ::slotted(a) {\n text-decoration: none;\n color: var(--snice-color-text-secondary, #6b7280);\n font-weight: var(--snice-font-weight-medium, 500);\n padding: var(--snice-spacing-xs, 0.5rem) var(--snice-spacing-md, 1rem);\n border-radius: var(--snice-border-radius-md, 4px);\n transition: all var(--snice-transition-fast, 0.15s) ease;\n}\n\n.nav ::slotted(a:hover) {\n color: var(--snice-color-primary, #3b82f6);\n background: var(--snice-color-background-secondary, #f8fafc);\n}\n\n.nav ::slotted(a.active) {\n color: var(--snice-color-primary, #3b82f6);\n background: var(--snice-color-primary-light, #dbeafe);\n font-weight: var(--snice-font-weight-semibold, 600);\n}\n\n.main {\n padding: var(--snice-spacing-lg, 2rem);\n background: var(--snice-color-background-secondary, #f8fafc);\n overflow-y: auto;\n}\n\n.footer {\n padding: var(--snice-spacing-md, 1rem) var(--snice-spacing-lg, 2rem);\n background: var(--snice-color-background, white);\n border-top: 1px solid var(--snice-color-border, #d1d5db);\n text-align: center;\n color: var(--snice-color-text-secondary, #6b7280);\n font-size: var(--snice-font-size-sm, 0.875rem);\n}\n\n.footer p {\n margin: 0;\n}";
@@ -14,7 +14,7 @@ let SniceLayout = (() => {
14
14
  let _navElement_decorators;
15
15
  let _navElement_initializers = [];
16
16
  let _navElement_extraInitializers = [];
17
- let _renderNav_decorators;
17
+ let _onReady_decorators;
18
18
  (class extends _classSuper {
19
19
  static { _classThis = this; }
20
20
  constructor() {
@@ -26,8 +26,8 @@ let SniceLayout = (() => {
26
26
  static {
27
27
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
28
28
  _navElement_decorators = [query('snice-nav')];
29
- _renderNav_decorators = [part('nav')];
30
- __esDecorate(this, null, _renderNav_decorators, { kind: "method", name: "renderNav", static: false, private: false, access: { has: obj => "renderNav" in obj, get: obj => obj.renderNav }, metadata: _metadata }, null, _instanceExtraInitializers);
29
+ _onReady_decorators = [ready()];
30
+ __esDecorate(this, null, _onReady_decorators, { kind: "method", name: "onReady", static: false, private: false, access: { has: obj => "onReady" in obj, get: obj => obj.onReady }, metadata: _metadata }, null, _instanceExtraInitializers);
31
31
  __esDecorate(null, null, _navElement_decorators, { kind: "field", name: "navElement", static: false, private: false, access: { has: obj => "navElement" in obj, get: obj => obj.navElement, set: (obj, value) => { obj.navElement = value; } }, metadata: _metadata }, _navElement_initializers, _navElement_extraInitializers);
32
32
  __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
33
33
  _classThis = _classDescriptor.value;
@@ -43,7 +43,7 @@ let SniceLayout = (() => {
43
43
  <h1>App</h1>
44
44
  </slot>
45
45
  </div>
46
- <snice-nav class="nav" part="nav" variant="flat" orientation="horizontal"></snice-nav>
46
+ <snice-nav class="nav" variant="flat" orientation="horizontal"></snice-nav>
47
47
  </header>
48
48
 
49
49
  <main class="main">
@@ -60,18 +60,24 @@ let SniceLayout = (() => {
60
60
  css() {
61
61
  return css;
62
62
  }
63
+ onReady() {
64
+ // Update nav if we already have placards
65
+ if (this.placards.length > 0) {
66
+ this.updateNav();
67
+ }
68
+ }
63
69
  update(_appContext, placards, currentRoute, _routeParams) {
64
70
  this.placards = placards;
65
71
  this.currentRoute = currentRoute;
66
- // Update navigation
67
- this.renderNav();
72
+ // Update navigation - only if shadow DOM exists
73
+ if (this.shadowRoot) {
74
+ this.updateNav();
75
+ }
68
76
  }
69
- renderNav() {
77
+ updateNav() {
70
78
  if (this.navElement) {
71
- this.navElement.placards = this.placards;
72
- this.navElement.currentRoute = this.currentRoute;
79
+ this.navElement.update(this.placards, this.currentRoute);
73
80
  }
74
- return '';
75
81
  }
76
82
  });
77
83
  return _classThis;
@@ -1 +1 @@
1
- {"version":3,"file":"snice-layout.js","sources":["../../../components/layout/snice-layout.css?inline","../../../../components/layout/snice-layout.ts"],"sourcesContent":["export default \"/* Layout Component Styles */\\n:host {\\n display: block;\\n font-family: var(--snice-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif);\\n}\\n\\n.layout {\\n display: grid;\\n grid-template-rows: auto 1fr auto;\\n min-height: 100vh;\\n}\\n\\n.header {\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n padding: var(--snice-spacing-md, 1rem) var(--snice-spacing-lg, 2rem);\\n background: var(--snice-color-background, white);\\n border-bottom: 1px solid var(--snice-color-border, #d1d5db);\\n box-shadow: 0 2px 4px rgba(0,0,0,0.1);\\n}\\n\\n.brand h1 {\\n margin: 0;\\n font-size: var(--snice-font-size-xl, 1.5rem);\\n color: var(--snice-color-text, #374151);\\n font-weight: var(--snice-font-weight-semibold, 600);\\n}\\n\\n.nav {\\n display: flex;\\n gap: var(--snice-spacing-lg, 2rem);\\n}\\n\\n.nav ::slotted(a) {\\n text-decoration: none;\\n color: var(--snice-color-text-secondary, #6b7280);\\n font-weight: var(--snice-font-weight-medium, 500);\\n padding: var(--snice-spacing-xs, 0.5rem) var(--snice-spacing-md, 1rem);\\n border-radius: var(--snice-border-radius-md, 4px);\\n transition: all var(--snice-transition-fast, 0.15s) ease;\\n}\\n\\n.nav ::slotted(a:hover) {\\n color: var(--snice-color-primary, #3b82f6);\\n background: var(--snice-color-background-secondary, #f8fafc);\\n}\\n\\n.nav ::slotted(a.active) {\\n color: var(--snice-color-primary, #3b82f6);\\n background: var(--snice-color-primary-light, #dbeafe);\\n font-weight: var(--snice-font-weight-semibold, 600);\\n}\\n\\n.main {\\n padding: var(--snice-spacing-lg, 2rem);\\n background: var(--snice-color-background-secondary, #f8fafc);\\n overflow-y: auto;\\n}\\n\\n.footer {\\n padding: var(--snice-spacing-md, 1rem) var(--snice-spacing-lg, 2rem);\\n background: var(--snice-color-background, white);\\n border-top: 1px solid var(--snice-color-border, #d1d5db);\\n text-align: center;\\n color: var(--snice-color-text-secondary, #6b7280);\\n font-size: var(--snice-font-size-sm, 0.875rem);\\n}\\n\\n.footer p {\\n margin: 0;\\n}\";",null],"names":[],"mappings":";;;;AAAA,UAAe,m/DAAm/D;;ICOr/D,WAAW,GAAA,CAAA,MAAA;4BADvB,OAAO,CAAC,cAAc,CAAC,CAAA;;;;sBACS,WAAW;;;;;;AAAnB,KAAA,cAAQ,WAAW,CAAA;;;;YAE1C,IAAA,CAAA,UAAU,IAFC,mDAAW,EAAA,iBAAA,CAAA,IAAA,EAAA,wBAAA,EAAA,MAAA,CAAA,CAAA;YAId,IAAA,CAAA,QAAQ,IAAA,iBAAA,CAAA,IAAA,EAAA,6BAAA,CAAA,EAAc,EAAE,CAAA;YACxB,IAAA,CAAA,YAAY,GAAG,EAAE;QA8C3B;;;sCAlDG,KAAK,CAAC,WAAW,CAAC,CAAA;qCA0ClB,IAAI,CAAC,KAAK,CAAC,CAAA;AACZ,YAAA,YAAA,CAAA,IAAA,EAAA,IAAA,EAAA,qBAAA,EAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,WAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,GAAA,IAAA,WAAA,IAAA,GAAA,EAAA,GAAA,EAAA,GAAA,IAAA,GAAA,CAAA,SAAS,EAAA,EAAA,QAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,0BAAA,CAAA;YA1CT,YAAA,CAAA,IAAA,EAAA,IAAA,EAAA,sBAAA,EAAA,EAAA,IAAA,EAAA,OAAA,EAAA,IAAA,EAAA,YAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,GAAA,IAAA,YAAA,IAAA,GAAA,EAAA,GAAA,EAAA,GAAA,IAAA,GAAA,CAAA,UAAU,EAAA,GAAA,EAAA,CAAA,GAAA,EAAA,KAAA,KAAA,EAAA,GAAA,CAAV,UAAU,GAAA,KAAA,CAAA,CAAA,CAAA,EAAA,EAAA,QAAA,EAAA,SAAA,EAAA,EAAA,wBAAA,EAAA,6BAAA,CAAA;YAFZ,YAAA,CAAA,IAAA,EAAA,gBAAA,GAAA,EAAA,KAAA,EAAA,UAAA,EAAA,EAAA,gBAAA,EAAA,EAAA,IAAA,EAAA,OAAA,EAAA,IAAA,EAAA,UAAA,CAAA,IAAA,EAAA,QAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,uBAAA,CAAA;;;YAAa,iBAAA,CAAA,UAAA,EAAA,uBAAA,CAAA;;QAOX,IAAI,GAAA;AACF,YAAA,gBAAe;;;;;;;;;;;;;;;;;;;;KAoBd;QACH;QAEA,GAAG,GAAA;AACD,YAAA,OAAO,GAAG;QACZ;AAEA,QAAA,MAAM,CAAC,WAAuB,EAAE,QAAmB,EAAE,YAAoB,EAAE,YAAyB,EAAA;AAClG,YAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;AACxB,YAAA,IAAI,CAAC,YAAY,GAAG,YAAY;;YAGhC,IAAI,CAAC,SAAS,EAAE;QAClB;QAGA,SAAS,GAAA;AACP,YAAA,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ;gBACxC,IAAI,CAAC,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY;YAClD;AACA,YAAA,OAAO,EAAE;QACX;;;;;;;"}
1
+ {"version":3,"file":"snice-layout.js","sources":["../../../components/layout/snice-layout.css?inline","../../../../components/layout/snice-layout.ts"],"sourcesContent":["export default \"/* Layout Component Styles */\\n:host {\\n display: block;\\n font-family: var(--snice-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif);\\n}\\n\\n.layout {\\n display: grid;\\n grid-template-rows: auto 1fr auto;\\n min-height: 100vh;\\n}\\n\\n.header {\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n padding: var(--snice-spacing-md, 1rem) var(--snice-spacing-lg, 2rem);\\n background: var(--snice-color-background, white);\\n border-bottom: 1px solid var(--snice-color-border, #d1d5db);\\n box-shadow: 0 2px 4px rgba(0,0,0,0.1);\\n}\\n\\n.brand h1 {\\n margin: 0;\\n font-size: var(--snice-font-size-xl, 1.5rem);\\n color: var(--snice-color-text, #374151);\\n font-weight: var(--snice-font-weight-semibold, 600);\\n}\\n\\n.nav {\\n display: flex;\\n gap: var(--snice-spacing-lg, 2rem);\\n}\\n\\n.nav ::slotted(a) {\\n text-decoration: none;\\n color: var(--snice-color-text-secondary, #6b7280);\\n font-weight: var(--snice-font-weight-medium, 500);\\n padding: var(--snice-spacing-xs, 0.5rem) var(--snice-spacing-md, 1rem);\\n border-radius: var(--snice-border-radius-md, 4px);\\n transition: all var(--snice-transition-fast, 0.15s) ease;\\n}\\n\\n.nav ::slotted(a:hover) {\\n color: var(--snice-color-primary, #3b82f6);\\n background: var(--snice-color-background-secondary, #f8fafc);\\n}\\n\\n.nav ::slotted(a.active) {\\n color: var(--snice-color-primary, #3b82f6);\\n background: var(--snice-color-primary-light, #dbeafe);\\n font-weight: var(--snice-font-weight-semibold, 600);\\n}\\n\\n.main {\\n padding: var(--snice-spacing-lg, 2rem);\\n background: var(--snice-color-background-secondary, #f8fafc);\\n overflow-y: auto;\\n}\\n\\n.footer {\\n padding: var(--snice-spacing-md, 1rem) var(--snice-spacing-lg, 2rem);\\n background: var(--snice-color-background, white);\\n border-top: 1px solid var(--snice-color-border, #d1d5db);\\n text-align: center;\\n color: var(--snice-color-text-secondary, #6b7280);\\n font-size: var(--snice-font-size-sm, 0.875rem);\\n}\\n\\n.footer p {\\n margin: 0;\\n}\";",null],"names":[],"mappings":";;;;AAAA,UAAe,m/DAAm/D;;ICOr/D,WAAW,GAAA,CAAA,MAAA;4BADvB,OAAO,CAAC,cAAc,CAAC,CAAA;;;;sBACS,WAAW;;;;;;AAAnB,KAAA,cAAQ,WAAW,CAAA;;;;YAE1C,IAAA,CAAA,UAAU,IAFC,mDAAW,EAAA,iBAAA,CAAA,IAAA,EAAA,wBAAA,EAAA,MAAA,CAAA,CAAA;YAId,IAAA,CAAA,QAAQ,IAAA,iBAAA,CAAA,IAAA,EAAA,6BAAA,CAAA,EAAc,EAAE,CAAA;YACxB,IAAA,CAAA,YAAY,GAAG,EAAE;QAqD3B;;;sCAzDG,KAAK,CAAC,WAAW,CAAC,CAAA;AAkClB,YAAA,mBAAA,GAAA,CAAA,KAAK,EAAE,CAAA;AACR,YAAA,YAAA,CAAA,IAAA,EAAA,IAAA,EAAA,mBAAA,EAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,SAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,GAAA,IAAA,SAAA,IAAA,GAAA,EAAA,GAAA,EAAA,GAAA,IAAA,GAAA,CAAA,OAAO,EAAA,EAAA,QAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,0BAAA,CAAA;YAlCP,YAAA,CAAA,IAAA,EAAA,IAAA,EAAA,sBAAA,EAAA,EAAA,IAAA,EAAA,OAAA,EAAA,IAAA,EAAA,YAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,GAAA,IAAA,YAAA,IAAA,GAAA,EAAA,GAAA,EAAA,GAAA,IAAA,GAAA,CAAA,UAAU,EAAA,GAAA,EAAA,CAAA,GAAA,EAAA,KAAA,KAAA,EAAA,GAAA,CAAV,UAAU,GAAA,KAAA,CAAA,CAAA,CAAA,EAAA,EAAA,QAAA,EAAA,SAAA,EAAA,EAAA,wBAAA,EAAA,6BAAA,CAAA;YAFZ,YAAA,CAAA,IAAA,EAAA,gBAAA,GAAA,EAAA,KAAA,EAAA,UAAA,EAAA,EAAA,gBAAA,EAAA,EAAA,IAAA,EAAA,OAAA,EAAA,IAAA,EAAA,UAAA,CAAA,IAAA,EAAA,QAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,uBAAA,CAAA;;;YAAa,iBAAA,CAAA,UAAA,EAAA,uBAAA,CAAA;;QAOX,IAAI,GAAA;AACF,YAAA,gBAAe;;;;;;;;;;;;;;;;;;;;KAoBd;QACH;QAEA,GAAG,GAAA;AACD,YAAA,OAAO,GAAG;QACZ;QAGA,OAAO,GAAA;;YAEL,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC5B,IAAI,CAAC,SAAS,EAAE;YAClB;QACF;AAEA,QAAA,MAAM,CAAC,WAAuB,EAAE,QAAmB,EAAE,YAAoB,EAAE,YAAyB,EAAA;AAClG,YAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;AACxB,YAAA,IAAI,CAAC,YAAY,GAAG,YAAY;;AAGhC,YAAA,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,IAAI,CAAC,SAAS,EAAE;YAClB;QACF;QAEA,SAAS,GAAA;AACP,YAAA,IAAI,IAAI,CAAC,UAAU,EAAE;AACnB,gBAAA,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC;YAC1D;QACF;;;;;;;"}
@@ -13,4 +13,6 @@ export declare class SniceNav extends HTMLElement implements SniceNavElement {
13
13
  private renderNavItem;
14
14
  private renderNavLink;
15
15
  private isActive;
16
+ update(placards: Placard[], currentRoute: string): void;
17
+ renderNavContent(): string;
16
18
  }
@@ -1,5 +1,5 @@
1
1
  import { __esDecorate, __runInitializers } from 'tslib';
2
- import { element, property } from 'snice';
2
+ import { element, property, part } from 'snice';
3
3
 
4
4
  var css = ":host {\n display: block;\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.nav {\n display: flex;\n gap: var(--snice-spacing-md, 1rem);\n}\n\n.nav--horizontal {\n flex-direction: row;\n align-items: center;\n}\n\n.nav--vertical {\n flex-direction: column;\n align-items: stretch;\n}\n\n.nav__item {\n position: relative;\n}\n\n.nav__link {\n display: flex;\n align-items: center;\n gap: var(--snice-spacing-sm, 0.75rem);\n padding: var(--snice-spacing-sm, 0.75rem) var(--snice-spacing-md, 1rem);\n color: var(--snice-color-text-secondary, rgb(107 114 128));\n text-decoration: none;\n border-radius: var(--snice-border-radius-md, 0.375rem);\n font-size: var(--snice-font-size-md, 1rem);\n font-weight: var(--snice-font-weight-medium, 500);\n transition:\n background-color var(--snice-transition-fast, 150ms) ease,\n color var(--snice-transition-fast, 150ms) ease;\n}\n\n.nav__link:hover {\n background-color: var(--snice-color-background-secondary, rgb(243 244 246));\n color: var(--snice-color-text, rgb(23 23 23));\n}\n\n.nav__link:focus-visible {\n outline: var(--snice-focus-ring-width, 2px) solid var(--snice-focus-ring-color, rgb(59 130 246 / 0.5));\n outline-offset: var(--snice-focus-ring-offset, 2px);\n}\n\n.nav__link--active {\n background-color: var(--snice-color-primary, rgb(37 99 235));\n color: var(--snice-color-text-inverse, rgb(250 250 250));\n}\n\n.nav__link--active:hover {\n background-color: var(--snice-color-primary-dark, rgb(29 78 216));\n color: var(--snice-color-text-inverse, rgb(250 250 250));\n}\n\n.nav__icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n font-size: var(--snice-font-size-lg, 1.125rem);\n}\n\n.nav__label {\n white-space: nowrap;\n}\n\n/* Hierarchical variant */\n.nav--hierarchical {\n flex-direction: column;\n gap: var(--snice-spacing-xs, 0.5rem);\n}\n\n.nav--hierarchical .nav__group {\n display: flex;\n flex-direction: column;\n gap: var(--snice-spacing-xs, 0.5rem);\n}\n\n.nav--hierarchical .nav__submenu {\n list-style: none;\n margin: 0;\n padding: 0 0 0 var(--snice-spacing-xl, 2rem);\n display: flex;\n flex-direction: column;\n gap: var(--snice-spacing-2xs, 0.25rem);\n}\n\n.nav--hierarchical .nav__submenu .nav__item {\n margin: 0;\n}\n\n.nav--hierarchical .nav__submenu .nav__link {\n font-size: var(--snice-font-size-sm, 0.875rem);\n padding: var(--snice-spacing-xs, 0.5rem) var(--snice-spacing-md, 1rem);\n}\n\n/* Grouped variant */\n.nav--grouped {\n flex-direction: column;\n gap: var(--snice-spacing-lg, 1.5rem);\n}\n\n.nav--grouped .nav__group {\n display: flex;\n flex-direction: column;\n gap: var(--snice-spacing-xs, 0.5rem);\n}\n\n.nav--grouped .nav__group-label {\n font-size: var(--snice-font-size-xs, 0.75rem);\n font-weight: var(--snice-font-weight-semibold, 600);\n color: var(--snice-color-text-tertiary, rgb(115 115 115));\n text-transform: uppercase;\n letter-spacing: 0.05em;\n padding: 0 var(--snice-spacing-md, 1rem);\n margin-bottom: var(--snice-spacing-2xs, 0.25rem);\n}\n\n/* Vertical orientation specific */\n.nav--vertical .nav__item,\n.nav--vertical .nav__link {\n width: 100%;\n}\n\n/* Responsive adjustments */\n@media (max-width: 768px) {\n .nav--horizontal {\n flex-wrap: wrap;\n }\n\n .nav__label {\n font-size: var(--snice-font-size-sm, 0.875rem);\n }\n}\n";
5
5
 
@@ -9,9 +9,7 @@ let SniceNav = (() => {
9
9
  let _classExtraInitializers = [];
10
10
  let _classThis;
11
11
  let _classSuper = HTMLElement;
12
- let _placards_decorators;
13
- let _placards_initializers = [];
14
- let _placards_extraInitializers = [];
12
+ let _instanceExtraInitializers = [];
15
13
  let _currentRoute_decorators;
16
14
  let _currentRoute_initializers = [];
17
15
  let _currentRoute_extraInitializers = [];
@@ -21,15 +19,16 @@ let SniceNav = (() => {
21
19
  let _orientation_decorators;
22
20
  let _orientation_initializers = [];
23
21
  let _orientation_extraInitializers = [];
22
+ let _renderNavContent_decorators;
24
23
  (class extends _classSuper {
25
24
  static { _classThis = this; }
26
25
  static {
27
26
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
28
- _placards_decorators = [property({ type: Array })];
29
27
  _currentRoute_decorators = [property()];
30
28
  _variant_decorators = [property()];
31
29
  _orientation_decorators = [property()];
32
- __esDecorate(null, null, _placards_decorators, { kind: "field", name: "placards", static: false, private: false, access: { has: obj => "placards" in obj, get: obj => obj.placards, set: (obj, value) => { obj.placards = value; } }, metadata: _metadata }, _placards_initializers, _placards_extraInitializers);
30
+ _renderNavContent_decorators = [part('nav-content')];
31
+ __esDecorate(this, null, _renderNavContent_decorators, { kind: "method", name: "renderNavContent", static: false, private: false, access: { has: obj => "renderNavContent" in obj, get: obj => obj.renderNavContent }, metadata: _metadata }, null, _instanceExtraInitializers);
33
32
  __esDecorate(null, null, _currentRoute_decorators, { kind: "field", name: "currentRoute", static: false, private: false, access: { has: obj => "currentRoute" in obj, get: obj => obj.currentRoute, set: (obj, value) => { obj.currentRoute = value; } }, metadata: _metadata }, _currentRoute_initializers, _currentRoute_extraInitializers);
34
33
  __esDecorate(null, null, _variant_decorators, { kind: "field", name: "variant", static: false, private: false, access: { has: obj => "variant" in obj, get: obj => obj.variant, set: (obj, value) => { obj.variant = value; } }, metadata: _metadata }, _variant_initializers, _variant_extraInitializers);
35
34
  __esDecorate(null, null, _orientation_decorators, { kind: "field", name: "orientation", static: false, private: false, access: { has: obj => "orientation" in obj, get: obj => obj.orientation, set: (obj, value) => { obj.orientation = value; } }, metadata: _metadata }, _orientation_initializers, _orientation_extraInitializers);
@@ -39,19 +38,7 @@ let SniceNav = (() => {
39
38
  __runInitializers(_classThis, _classExtraInitializers);
40
39
  }
41
40
  html() {
42
- const navItems = this.placards
43
- .filter(p => !p.parent && p.show !== false)
44
- .sort((a, b) => (a.order || 0) - (b.order || 0));
45
- if (navItems.length === 0) {
46
- return '<slot></slot>';
47
- }
48
- if (this.variant === 'grouped') {
49
- return this.renderGrouped(navItems);
50
- }
51
- if (this.variant === 'hierarchical') {
52
- return this.renderHierarchical(navItems);
53
- }
54
- return this.renderFlat(navItems);
41
+ return /*html*/ `<div part="nav-content"></div><slot></slot>`;
55
42
  }
56
43
  css() {
57
44
  return css;
@@ -142,10 +129,30 @@ let SniceNav = (() => {
142
129
  this.currentRoute.startsWith(`/${placard.name}`) ||
143
130
  (placard.name === 'home' && this.currentRoute === '/');
144
131
  }
132
+ update(placards, currentRoute) {
133
+ this.placards = placards;
134
+ this.currentRoute = currentRoute;
135
+ this.renderNavContent();
136
+ }
137
+ renderNavContent() {
138
+ const navItems = this.placards
139
+ .filter(p => !p.parent && p.show !== false)
140
+ .sort((a, b) => (a.order || 0) - (b.order || 0));
141
+ if (navItems.length === 0) {
142
+ return '';
143
+ }
144
+ if (this.variant === 'grouped') {
145
+ return this.renderGrouped(navItems);
146
+ }
147
+ if (this.variant === 'hierarchical') {
148
+ return this.renderHierarchical(navItems);
149
+ }
150
+ return this.renderFlat(navItems);
151
+ }
145
152
  constructor() {
146
153
  super(...arguments);
147
- this.placards = __runInitializers(this, _placards_initializers, []);
148
- this.currentRoute = (__runInitializers(this, _placards_extraInitializers), __runInitializers(this, _currentRoute_initializers, ''));
154
+ this.placards = (__runInitializers(this, _instanceExtraInitializers), []);
155
+ this.currentRoute = __runInitializers(this, _currentRoute_initializers, '');
149
156
  this.variant = (__runInitializers(this, _currentRoute_extraInitializers), __runInitializers(this, _variant_initializers, 'flat'));
150
157
  this.orientation = (__runInitializers(this, _variant_extraInitializers), __runInitializers(this, _orientation_initializers, 'horizontal'));
151
158
  __runInitializers(this, _orientation_extraInitializers);
@@ -1 +1 @@
1
- {"version":3,"file":"snice-nav.js","sources":["../../../components/nav/snice-nav.css?inline","../../../../components/nav/snice-nav.ts"],"sourcesContent":["export default \":host {\\n display: block;\\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.nav {\\n display: flex;\\n gap: var(--snice-spacing-md, 1rem);\\n}\\n\\n.nav--horizontal {\\n flex-direction: row;\\n align-items: center;\\n}\\n\\n.nav--vertical {\\n flex-direction: column;\\n align-items: stretch;\\n}\\n\\n.nav__item {\\n position: relative;\\n}\\n\\n.nav__link {\\n display: flex;\\n align-items: center;\\n gap: var(--snice-spacing-sm, 0.75rem);\\n padding: var(--snice-spacing-sm, 0.75rem) var(--snice-spacing-md, 1rem);\\n color: var(--snice-color-text-secondary, rgb(107 114 128));\\n text-decoration: none;\\n border-radius: var(--snice-border-radius-md, 0.375rem);\\n font-size: var(--snice-font-size-md, 1rem);\\n font-weight: var(--snice-font-weight-medium, 500);\\n transition:\\n background-color var(--snice-transition-fast, 150ms) ease,\\n color var(--snice-transition-fast, 150ms) ease;\\n}\\n\\n.nav__link:hover {\\n background-color: var(--snice-color-background-secondary, rgb(243 244 246));\\n color: var(--snice-color-text, rgb(23 23 23));\\n}\\n\\n.nav__link:focus-visible {\\n outline: var(--snice-focus-ring-width, 2px) solid var(--snice-focus-ring-color, rgb(59 130 246 / 0.5));\\n outline-offset: var(--snice-focus-ring-offset, 2px);\\n}\\n\\n.nav__link--active {\\n background-color: var(--snice-color-primary, rgb(37 99 235));\\n color: var(--snice-color-text-inverse, rgb(250 250 250));\\n}\\n\\n.nav__link--active:hover {\\n background-color: var(--snice-color-primary-dark, rgb(29 78 216));\\n color: var(--snice-color-text-inverse, rgb(250 250 250));\\n}\\n\\n.nav__icon {\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n font-size: var(--snice-font-size-lg, 1.125rem);\\n}\\n\\n.nav__label {\\n white-space: nowrap;\\n}\\n\\n/* Hierarchical variant */\\n.nav--hierarchical {\\n flex-direction: column;\\n gap: var(--snice-spacing-xs, 0.5rem);\\n}\\n\\n.nav--hierarchical .nav__group {\\n display: flex;\\n flex-direction: column;\\n gap: var(--snice-spacing-xs, 0.5rem);\\n}\\n\\n.nav--hierarchical .nav__submenu {\\n list-style: none;\\n margin: 0;\\n padding: 0 0 0 var(--snice-spacing-xl, 2rem);\\n display: flex;\\n flex-direction: column;\\n gap: var(--snice-spacing-2xs, 0.25rem);\\n}\\n\\n.nav--hierarchical .nav__submenu .nav__item {\\n margin: 0;\\n}\\n\\n.nav--hierarchical .nav__submenu .nav__link {\\n font-size: var(--snice-font-size-sm, 0.875rem);\\n padding: var(--snice-spacing-xs, 0.5rem) var(--snice-spacing-md, 1rem);\\n}\\n\\n/* Grouped variant */\\n.nav--grouped {\\n flex-direction: column;\\n gap: var(--snice-spacing-lg, 1.5rem);\\n}\\n\\n.nav--grouped .nav__group {\\n display: flex;\\n flex-direction: column;\\n gap: var(--snice-spacing-xs, 0.5rem);\\n}\\n\\n.nav--grouped .nav__group-label {\\n font-size: var(--snice-font-size-xs, 0.75rem);\\n font-weight: var(--snice-font-weight-semibold, 600);\\n color: var(--snice-color-text-tertiary, rgb(115 115 115));\\n text-transform: uppercase;\\n letter-spacing: 0.05em;\\n padding: 0 var(--snice-spacing-md, 1rem);\\n margin-bottom: var(--snice-spacing-2xs, 0.25rem);\\n}\\n\\n/* Vertical orientation specific */\\n.nav--vertical .nav__item,\\n.nav--vertical .nav__link {\\n width: 100%;\\n}\\n\\n/* Responsive adjustments */\\n@media (max-width: 768px) {\\n .nav--horizontal {\\n flex-wrap: wrap;\\n }\\n\\n .nav__label {\\n font-size: var(--snice-font-size-sm, 0.875rem);\\n }\\n}\\n\";",null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"snice-nav.js","sources":["../../../components/nav/snice-nav.css?inline","../../../../components/nav/snice-nav.ts"],"sourcesContent":["export default \":host {\\n display: block;\\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.nav {\\n display: flex;\\n gap: var(--snice-spacing-md, 1rem);\\n}\\n\\n.nav--horizontal {\\n flex-direction: row;\\n align-items: center;\\n}\\n\\n.nav--vertical {\\n flex-direction: column;\\n align-items: stretch;\\n}\\n\\n.nav__item {\\n position: relative;\\n}\\n\\n.nav__link {\\n display: flex;\\n align-items: center;\\n gap: var(--snice-spacing-sm, 0.75rem);\\n padding: var(--snice-spacing-sm, 0.75rem) var(--snice-spacing-md, 1rem);\\n color: var(--snice-color-text-secondary, rgb(107 114 128));\\n text-decoration: none;\\n border-radius: var(--snice-border-radius-md, 0.375rem);\\n font-size: var(--snice-font-size-md, 1rem);\\n font-weight: var(--snice-font-weight-medium, 500);\\n transition:\\n background-color var(--snice-transition-fast, 150ms) ease,\\n color var(--snice-transition-fast, 150ms) ease;\\n}\\n\\n.nav__link:hover {\\n background-color: var(--snice-color-background-secondary, rgb(243 244 246));\\n color: var(--snice-color-text, rgb(23 23 23));\\n}\\n\\n.nav__link:focus-visible {\\n outline: var(--snice-focus-ring-width, 2px) solid var(--snice-focus-ring-color, rgb(59 130 246 / 0.5));\\n outline-offset: var(--snice-focus-ring-offset, 2px);\\n}\\n\\n.nav__link--active {\\n background-color: var(--snice-color-primary, rgb(37 99 235));\\n color: var(--snice-color-text-inverse, rgb(250 250 250));\\n}\\n\\n.nav__link--active:hover {\\n background-color: var(--snice-color-primary-dark, rgb(29 78 216));\\n color: var(--snice-color-text-inverse, rgb(250 250 250));\\n}\\n\\n.nav__icon {\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n font-size: var(--snice-font-size-lg, 1.125rem);\\n}\\n\\n.nav__label {\\n white-space: nowrap;\\n}\\n\\n/* Hierarchical variant */\\n.nav--hierarchical {\\n flex-direction: column;\\n gap: var(--snice-spacing-xs, 0.5rem);\\n}\\n\\n.nav--hierarchical .nav__group {\\n display: flex;\\n flex-direction: column;\\n gap: var(--snice-spacing-xs, 0.5rem);\\n}\\n\\n.nav--hierarchical .nav__submenu {\\n list-style: none;\\n margin: 0;\\n padding: 0 0 0 var(--snice-spacing-xl, 2rem);\\n display: flex;\\n flex-direction: column;\\n gap: var(--snice-spacing-2xs, 0.25rem);\\n}\\n\\n.nav--hierarchical .nav__submenu .nav__item {\\n margin: 0;\\n}\\n\\n.nav--hierarchical .nav__submenu .nav__link {\\n font-size: var(--snice-font-size-sm, 0.875rem);\\n padding: var(--snice-spacing-xs, 0.5rem) var(--snice-spacing-md, 1rem);\\n}\\n\\n/* Grouped variant */\\n.nav--grouped {\\n flex-direction: column;\\n gap: var(--snice-spacing-lg, 1.5rem);\\n}\\n\\n.nav--grouped .nav__group {\\n display: flex;\\n flex-direction: column;\\n gap: var(--snice-spacing-xs, 0.5rem);\\n}\\n\\n.nav--grouped .nav__group-label {\\n font-size: var(--snice-font-size-xs, 0.75rem);\\n font-weight: var(--snice-font-weight-semibold, 600);\\n color: var(--snice-color-text-tertiary, rgb(115 115 115));\\n text-transform: uppercase;\\n letter-spacing: 0.05em;\\n padding: 0 var(--snice-spacing-md, 1rem);\\n margin-bottom: var(--snice-spacing-2xs, 0.25rem);\\n}\\n\\n/* Vertical orientation specific */\\n.nav--vertical .nav__item,\\n.nav--vertical .nav__link {\\n width: 100%;\\n}\\n\\n/* Responsive adjustments */\\n@media (max-width: 768px) {\\n .nav--horizontal {\\n flex-wrap: wrap;\\n }\\n\\n .nav__label {\\n font-size: var(--snice-font-size-sm, 0.875rem);\\n }\\n}\\n\";",null],"names":[],"mappings":"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"}
package/dist/index.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v2.5.0
2
+ * snice v2.5.2
3
3
  * Imperative TypeScript framework for building vanilla web components with decorators, routing, and controllers. No virtual DOM, no build complexity.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
package/dist/index.esm.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v2.5.0
2
+ * snice v2.5.2
3
3
  * Imperative TypeScript framework for building vanilla web components with decorators, routing, and controllers. No virtual DOM, no build complexity.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v2.5.0
2
+ * snice v2.5.2
3
3
  * Imperative TypeScript framework for building vanilla web components with decorators, routing, and controllers. No virtual DOM, no build complexity.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v2.5.0
2
+ * snice v2.5.2
3
3
  * Imperative TypeScript framework for building vanilla web components with decorators, routing, and controllers. No virtual DOM, no build complexity.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v2.5.0
2
+ * snice v2.5.2
3
3
  * Imperative TypeScript framework for building vanilla web components with decorators, routing, and controllers. No virtual DOM, no build complexity.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "snice",
3
- "version": "2.5.1",
3
+ "version": "2.5.3",
4
4
  "type": "module",
5
5
  "description": "Imperative TypeScript framework for building vanilla web components with decorators, routing, and controllers. No virtual DOM, no build complexity.",
6
6
  "main": "dist/index.cjs",