@shibui-ui/ui 1.20.0 → 1.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/dist/angular/directives.ts +14 -14
  2. package/dist/components/atoms/{glass-card → card/glass-card}/lib-glass-card.component.d.ts +1 -1
  3. package/dist/components/atoms/card/glass-card/lib-glass-card.component.d.ts.map +1 -0
  4. package/dist/components/atoms/{glass-card → card/glass-card}/lib-glass-card.html.d.ts +1 -6
  5. package/dist/components/atoms/card/glass-card/lib-glass-card.html.d.ts.map +1 -0
  6. package/dist/components/atoms/card/glass-card/lib-glass-card.stories.d.ts.map +1 -0
  7. package/dist/components/atoms/card/glass-card/lib-glass-card.types.d.ts +7 -0
  8. package/dist/components/atoms/card/glass-card/lib-glass-card.types.d.ts.map +1 -0
  9. package/dist/components/atoms/card/lib-card.component.d.ts +5 -3
  10. package/dist/components/atoms/card/lib-card.component.d.ts.map +1 -1
  11. package/dist/components/atoms/card/lib-card.stories.d.ts +2 -1
  12. package/dist/components/atoms/card/lib-card.stories.d.ts.map +1 -1
  13. package/dist/components/atoms/card/lib-card.types.d.ts +1 -1
  14. package/dist/components/atoms/card/lib-card.types.d.ts.map +1 -1
  15. package/dist/components/atoms/{spotlight-card → card/spotlight-card}/lib-spotlight-card.component.d.ts +1 -1
  16. package/dist/components/atoms/card/spotlight-card/lib-spotlight-card.component.d.ts.map +1 -0
  17. package/dist/components/atoms/{spotlight-card/lib-spotlight-card.component.html.d.ts → card/spotlight-card/lib-spotlight-card.html.d.ts} +2 -8
  18. package/dist/components/atoms/card/spotlight-card/lib-spotlight-card.html.d.ts.map +1 -0
  19. package/dist/components/atoms/card/spotlight-card/lib-spotlight-card.stories.d.ts.map +1 -0
  20. package/dist/components/atoms/card/spotlight-card/lib-spotlight-card.types.d.ts +8 -0
  21. package/dist/components/atoms/card/spotlight-card/lib-spotlight-card.types.d.ts.map +1 -0
  22. package/dist/custom-elements.json +207 -199
  23. package/dist/index.d.ts +2 -2
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js.map +1 -1
  26. package/dist/index10.js.map +1 -1
  27. package/dist/index20.js.map +1 -1
  28. package/dist/index207.js.map +1 -1
  29. package/dist/index228.js +1 -1
  30. package/dist/index235.js.map +1 -1
  31. package/dist/index25.js.map +1 -1
  32. package/dist/index281.js +1 -1
  33. package/dist/index307.js +1 -1
  34. package/dist/index316.js +4 -4
  35. package/dist/index332.js +1 -1
  36. package/dist/index352.js +32 -14
  37. package/dist/index352.js.map +1 -1
  38. package/dist/index353.js +7 -21
  39. package/dist/index353.js.map +1 -1
  40. package/dist/index354.js +19 -57
  41. package/dist/index354.js.map +1 -1
  42. package/dist/index355.js +57 -55
  43. package/dist/index355.js.map +1 -1
  44. package/dist/index356.js +63 -24
  45. package/dist/index356.js.map +1 -1
  46. package/dist/index357.js +19 -26
  47. package/dist/index357.js.map +1 -1
  48. package/dist/index360.js +32 -143
  49. package/dist/index360.js.map +1 -1
  50. package/dist/index361.js +131 -115
  51. package/dist/index361.js.map +1 -1
  52. package/dist/index362.js +129 -34
  53. package/dist/index362.js.map +1 -1
  54. package/dist/react/index.ts +3 -3
  55. package/dist/src/components/atoms/{glass-card → card/glass-card}/lib-glass-card.component.d.ts +1 -1
  56. package/dist/src/components/atoms/card/glass-card/lib-glass-card.component.d.ts.map +1 -0
  57. package/dist/src/components/atoms/{glass-card → card/glass-card}/lib-glass-card.html.d.ts +1 -6
  58. package/dist/src/components/atoms/card/glass-card/lib-glass-card.html.d.ts.map +1 -0
  59. package/dist/src/components/atoms/card/glass-card/lib-glass-card.stories.d.ts.map +1 -0
  60. package/dist/src/components/atoms/card/glass-card/lib-glass-card.types.d.ts +7 -0
  61. package/dist/src/components/atoms/card/glass-card/lib-glass-card.types.d.ts.map +1 -0
  62. package/dist/src/components/atoms/card/lib-card.component.d.ts +5 -3
  63. package/dist/src/components/atoms/card/lib-card.component.d.ts.map +1 -1
  64. package/dist/src/components/atoms/card/lib-card.stories.d.ts +2 -1
  65. package/dist/src/components/atoms/card/lib-card.stories.d.ts.map +1 -1
  66. package/dist/src/components/atoms/card/lib-card.types.d.ts +1 -1
  67. package/dist/src/components/atoms/card/lib-card.types.d.ts.map +1 -1
  68. package/dist/src/components/atoms/{spotlight-card → card/spotlight-card}/lib-spotlight-card.component.d.ts +1 -1
  69. package/dist/src/components/atoms/card/spotlight-card/lib-spotlight-card.component.d.ts.map +1 -0
  70. package/dist/src/components/atoms/{spotlight-card/lib-spotlight-card.component.html.d.ts → card/spotlight-card/lib-spotlight-card.html.d.ts} +2 -8
  71. package/dist/src/components/atoms/card/spotlight-card/lib-spotlight-card.html.d.ts.map +1 -0
  72. package/dist/src/components/atoms/card/spotlight-card/lib-spotlight-card.stories.d.ts.map +1 -0
  73. package/dist/src/components/atoms/card/spotlight-card/lib-spotlight-card.types.d.ts +8 -0
  74. package/dist/src/components/atoms/card/spotlight-card/lib-spotlight-card.types.d.ts.map +1 -0
  75. package/dist/src/index.d.ts +2 -2
  76. package/dist/src/index.d.ts.map +1 -1
  77. package/dist/svelte/shibui-elements.d.ts +8 -8
  78. package/package.json +1 -1
  79. package/dist/components/atoms/glass-card/lib-glass-card.component.d.ts.map +0 -1
  80. package/dist/components/atoms/glass-card/lib-glass-card.html.d.ts.map +0 -1
  81. package/dist/components/atoms/glass-card/lib-glass-card.stories.d.ts.map +0 -1
  82. package/dist/components/atoms/spotlight-card/lib-spotlight-card.component.d.ts.map +0 -1
  83. package/dist/components/atoms/spotlight-card/lib-spotlight-card.component.html.d.ts.map +0 -1
  84. package/dist/components/atoms/spotlight-card/lib-spotlight-card.stories.d.ts.map +0 -1
  85. package/dist/src/components/atoms/glass-card/lib-glass-card.component.d.ts.map +0 -1
  86. package/dist/src/components/atoms/glass-card/lib-glass-card.html.d.ts.map +0 -1
  87. package/dist/src/components/atoms/glass-card/lib-glass-card.stories.d.ts.map +0 -1
  88. package/dist/src/components/atoms/spotlight-card/lib-spotlight-card.component.d.ts.map +0 -1
  89. package/dist/src/components/atoms/spotlight-card/lib-spotlight-card.component.html.d.ts.map +0 -1
  90. package/dist/src/components/atoms/spotlight-card/lib-spotlight-card.stories.d.ts.map +0 -1
  91. /package/dist/components/atoms/{glass-card → card/glass-card}/lib-glass-card.stories.d.ts +0 -0
  92. /package/dist/components/atoms/{spotlight-card → card/spotlight-card}/lib-spotlight-card.stories.d.ts +0 -0
  93. /package/dist/src/components/atoms/{glass-card → card/glass-card}/lib-glass-card.stories.d.ts +0 -0
  94. /package/dist/src/components/atoms/{spotlight-card → card/spotlight-card}/lib-spotlight-card.stories.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index355.js","sources":["../src/components/molecules/header/templates/header-app-bar.html.ts"],"sourcesContent":["import { html, nothing, TemplateResult } from 'lit';\nimport type { LibHeader } from '../lib-header.component';\nimport type { HeaderAction } from '../lib-header.types';\nimport { renderBreadcrumbs, svgSearch, svgBell } from './header-shared.html';\n\n/**\n * Template variante app-bar:\n * logomark | breadcrumbs | search | spacer | actions | notif | avatar\n * No usa el drawer móvil — sus acciones son contextuales.\n * En móvil: breadcrumbs se truncan, search colapsa a icono.\n */\nexport function renderAppBar(ctx: LibHeader): TemplateResult {\n return html`\n <div class=\"hdr\">\n\n <!-- Logo mark (sin texto) -->\n <div class=\"hdr-logo-mark\" style=\"flex-shrink:0;\"></div>\n\n <!-- Breadcrumbs -->\n ${ctx.breadcrumbs.length ? renderBreadcrumbs(ctx.breadcrumbs) : nothing}\n\n <!-- Divider oculto en móvil -->\n <div class=\"hdr-divider hdr-divider--desktop\"></div>\n\n <!-- Search — full en desktop, icono en móvil -->\n ${ctx.showSearch ? html`\n <div class=\"hdr-search\">\n ${svgSearch}\n <input\n type=\"search\"\n placeholder=\"${ctx.searchPlaceholder}\"\n @input=\"${(e: Event): void =>\n ctx._onSearch((e.target as HTMLInputElement).value)}\"\n />\n <span class=\"hdr-search-kbd\">⌘K</span>\n </div>\n ` : nothing}\n\n <div class=\"hdr-spacer\"></div>\n\n <!-- Context actions — ocultos en móvil -->\n ${ctx.actions.length ? html`\n <div class=\"hdr-actions hdr-actions--desktop\">\n ${ctx.actions.map((action: HeaderAction) => html`\n <a href=\"${action.href || '#'}\"\n class=\"hdr-action ${action.variant === 'outline'\n ? 'hdr-action--outline' : 'hdr-action--kaki'}\"\n style=\"height:32px;font-size:8px;\"\n >${action.label}</a>\n `)}\n </div>\n ` : nothing}\n\n <!-- Status (compact mode) — oculto en móvil -->\n ${ctx.compact ? html`\n <div class=\"hdr-status hdr-status--desktop\">\n <div class=\"hdr-status-dot\"></div>\n <span class=\"hdr-status-text\">Online · 42ms</span>\n </div>\n ` : nothing}\n\n <div class=\"hdr-divider\"></div>\n\n <!-- Notificaciones -->\n <div class=\"hdr-notif\">\n ${svgBell}\n ${ctx.notifications ? html`<span class=\"hdr-notif-dot\"></span>` : nothing}\n </div>\n\n <!-- Avatar -->\n <div class=\"hdr-avatar\">${ctx.userInitials || ctx.userName.slice(0, 1)}</div>\n\n </div>`;\n}"],"names":[],"mappings":";;AAWO,SAAS,aAAa,KAAgC;AAC3D,SAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAOD,IAAI,YAAY,SAAS,kBAAkB,IAAI,WAAW,IAAI,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAMrE,IAAI,aAAa;AAAA;AAAA,YAEb,SAAS;AAAA;AAAA;AAAA,2BAGM,IAAI,iBAAiB;AAAA,sBAC1B,CAAC,MACT,IAAI,UAAW,EAAE,OAA4B,KAAK,CAAC;AAAA;AAAA;AAAA;AAAA,UAIvD,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,QAKT,IAAI,QAAQ,SAAS;AAAA;AAAA,YAEjB,IAAI,QAAQ,IAAI,CAAC,WAAyB;AAAA,uBAC/B,OAAO,QAAQ,GAAG;AAAA,kCACP,OAAO,YAAY,YACnC,wBAAwB,kBAAkB;AAAA;AAAA,eAE7C,OAAO,KAAK;AAAA,WAChB,CAAC;AAAA;AAAA,UAEF,OAAO;AAAA;AAAA;AAAA,QAGT,IAAI,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA,UAKZ,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAMP,OAAO;AAAA,UACP,IAAI,gBAAgB,4CAA4C,OAAO;AAAA;AAAA;AAAA;AAAA,gCAIjD,IAAI,gBAAgB,IAAI,SAAS,MAAM,GAAG,CAAC,CAAC;AAAA;AAAA;AAG5E;"}
1
+ {"version":3,"file":"index355.js","sources":["../src/components/molecules/header/templates/header-mega.html.ts"],"sourcesContent":["import { html, nothing, TemplateResult } from 'lit';\nimport type { LibHeader } from '../lib-header.component';\nimport { renderLogo, renderActions, svgChevron } from './header-shared.html';\nimport { renderHamburger, renderMobileDrawer } from './header-mobile.html';\n\n/**\n * Template variante mega:\n * Panel full-width al hover sobre el link con dropdown.\n * En móvil el panel se oculta y el drawer cubre los mega-columns.\n */\nexport function renderMega(ctx: LibHeader): TemplateResult {\n return html`\n <div class=\"hdr\">\n ${renderLogo(ctx)}\n <nav class=\"hdr-nav\">\n ${ctx.links.map(link =>\n link.dropdown?.length\n ? html`\n <div\n class=\"hdr-dd\"\n @mouseenter=\"${(): void => ctx._openMega()}\"\n @mouseleave=\"${(): void => ctx._closeMega()}\"\n >\n <span class=\"hdr-link\">\n ${link.label} ${svgChevron}\n </span>\n </div>`\n : html`<a href=\"${link.href || '#'}\" class=\"hdr-link\">${link.label}</a>`\n )}\n </nav>\n ${renderActions(ctx)}\n ${renderHamburger(ctx)}\n </div>\n\n <!-- Overlay detrás del panel -->\n <div\n class=\"hdr-mega-overlay ${ctx._megaOpen ? 'is-open' : ''}\"\n @mouseenter=\"${(): void => ctx._closeMega()}\"\n ></div>\n\n <!-- Panel full-width -->\n <div\n class=\"hdr-mega-panel ${ctx._megaOpen ? 'is-open' : ''}\"\n @mouseenter=\"${(): void => ctx._openMega()}\"\n @mouseleave=\"${(): void => ctx._closeMega()}\"\n >\n <div class=\"hdr-mega-inner\">\n ${ctx.megaColumns.map(col => html`\n <div>\n <div class=\"hdr-mega-group-title\">${col.title}</div>\n ${col.items.map(item => html`\n <a href=\"${item.href || '#'}\" class=\"hdr-mega-link\">${item.label}</a>\n `)}\n </div>\n `)}\n ${ctx.megaCta ? html`\n <div class=\"hdr-mega-cta\">\n <div class=\"hdr-mega-cta-label\">${ctx.megaCta.label}</div>\n <div class=\"hdr-mega-cta-title\">${ctx.megaCta.title}</div>\n <div class=\"hdr-mega-cta-desc\">${ctx.megaCta.desc}</div>\n <a href=\"${ctx.megaCta.href || '#'}\"\n class=\"hdr-action hdr-action--kaki\"\n style=\"height:32px;font-size:8px;\"\n >${ctx.megaCta.cta}</a>\n </div>\n ` : nothing}\n </div>\n </div>\n\n ${renderMobileDrawer(ctx)}`;\n}"],"names":[],"mappings":";;;AAUO,SAAS,WAAW,KAAgC;AACzD,SAAO;AAAA;AAAA,QAED,WAAW,GAAG,CAAC;AAAA;AAAA,UAEb,IAAI,MAAM;AAAA,IAAI,CAAA,SAAA;;AACd,yBAAK,aAAL,mBAAe,UACX;AAAA;AAAA;AAAA,iCAGmB,MAAY,IAAI,WAAW;AAAA,iCAC3B,MAAY,IAAI,YAAY;AAAA;AAAA;AAAA,sBAGvC,KAAK,KAAK,IAAI,UAAU;AAAA;AAAA,0BAGhC,gBAAgB,KAAK,QAAQ,GAAG,sBAAsB,KAAK,KAAK;AAAA;AAAA,EAAA,CACrE;AAAA;AAAA,QAED,cAAc,GAAG,CAAC;AAAA,QAClB,gBAAgB,GAAG,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,gCAKI,IAAI,YAAY,YAAY,EAAE;AAAA,qBACzC,MAAY,IAAI,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA,8BAKnB,IAAI,YAAY,YAAY,EAAE;AAAA,qBACvC,MAAY,IAAI,WAAW;AAAA,qBAC3B,MAAY,IAAI,YAAY;AAAA;AAAA;AAAA,UAGvC,IAAI,YAAY,IAAI,CAAA,QAAO;AAAA;AAAA,gDAEW,IAAI,KAAK;AAAA,cAC3C,IAAI,MAAM,IAAI,CAAA,SAAQ;AAAA,yBACX,KAAK,QAAQ,GAAG,2BAA2B,KAAK,KAAK;AAAA,aACjE,CAAC;AAAA;AAAA,SAEL,CAAC;AAAA,UACA,IAAI,UAAU;AAAA;AAAA,8CAEsB,IAAI,QAAQ,KAAK;AAAA,8CACjB,IAAI,QAAQ,KAAK;AAAA,6CAClB,IAAI,QAAQ,IAAI;AAAA,uBACtC,IAAI,QAAQ,QAAQ,GAAG;AAAA;AAAA;AAAA,eAG/B,IAAI,QAAQ,GAAG;AAAA;AAAA,YAElB,OAAO;AAAA;AAAA;AAAA;AAAA,MAIb,mBAAmB,GAAG,CAAC;AAC7B;"}
package/dist/index356.js CHANGED
@@ -1,28 +1,67 @@
1
- import { nothing as A, noChange as E } from "./index358.js";
2
- import { Directive as i, PartType as t, directive as e$1 } from "./index359.js";
3
- /**
4
- * @license
5
- * Copyright 2017 Google LLC
6
- * SPDX-License-Identifier: BSD-3-Clause
7
- */
8
- class e extends i {
9
- constructor(i2) {
10
- if (super(i2), this.it = A, i2.type !== t.CHILD) throw Error(this.constructor.directiveName + "() can only be used in child bindings");
11
- }
12
- render(r) {
13
- if (r === A || null == r) return this._t = void 0, this.it = r;
14
- if (r === E) return r;
15
- if ("string" != typeof r) throw Error(this.constructor.directiveName + "() called with a non-string value");
16
- if (r === this.it) return this._t;
17
- this.it = r;
18
- const s = [r];
19
- return s.raw = s, this._t = { _$litType$: this.constructor.resultType, strings: s, values: [] };
20
- }
1
+ import { nothing, html } from "lit";
2
+ import { svgBell, renderBreadcrumbs, svgSearch } from "./index361.js";
3
+ function renderAppBar(ctx) {
4
+ return html`
5
+ <div class="hdr">
6
+
7
+ <!-- Logo mark (sin texto) -->
8
+ <div class="hdr-logo-mark" style="flex-shrink:0;"></div>
9
+
10
+ <!-- Breadcrumbs -->
11
+ ${ctx.breadcrumbs.length ? renderBreadcrumbs(ctx.breadcrumbs) : nothing}
12
+
13
+ <!-- Divider oculto en móvil -->
14
+ <div class="hdr-divider hdr-divider--desktop"></div>
15
+
16
+ <!-- Search full en desktop, icono en móvil -->
17
+ ${ctx.showSearch ? html`
18
+ <div class="hdr-search">
19
+ ${svgSearch}
20
+ <input
21
+ type="search"
22
+ placeholder="${ctx.searchPlaceholder}"
23
+ @input="${(e) => ctx._onSearch(e.target.value)}"
24
+ />
25
+ <span class="hdr-search-kbd">⌘K</span>
26
+ </div>
27
+ ` : nothing}
28
+
29
+ <div class="hdr-spacer"></div>
30
+
31
+ <!-- Context actions — ocultos en móvil -->
32
+ ${ctx.actions.length ? html`
33
+ <div class="hdr-actions hdr-actions--desktop">
34
+ ${ctx.actions.map((action) => html`
35
+ <a href="${action.href || "#"}"
36
+ class="hdr-action ${action.variant === "outline" ? "hdr-action--outline" : "hdr-action--kaki"}"
37
+ style="height:32px;font-size:8px;"
38
+ >${action.label}</a>
39
+ `)}
40
+ </div>
41
+ ` : nothing}
42
+
43
+ <!-- Status (compact mode) — oculto en móvil -->
44
+ ${ctx.compact ? html`
45
+ <div class="hdr-status hdr-status--desktop">
46
+ <div class="hdr-status-dot"></div>
47
+ <span class="hdr-status-text">Online · 42ms</span>
48
+ </div>
49
+ ` : nothing}
50
+
51
+ <div class="hdr-divider"></div>
52
+
53
+ <!-- Notificaciones -->
54
+ <div class="hdr-notif">
55
+ ${svgBell}
56
+ ${ctx.notifications ? html`<span class="hdr-notif-dot"></span>` : nothing}
57
+ </div>
58
+
59
+ <!-- Avatar -->
60
+ <div class="hdr-avatar">${ctx.userInitials || ctx.userName.slice(0, 1)}</div>
61
+
62
+ </div>`;
21
63
  }
22
- e.directiveName = "unsafeHTML", e.resultType = 1;
23
- const o = e$1(e);
24
64
  export {
25
- e as UnsafeHTMLDirective,
26
- o as unsafeHTML
65
+ renderAppBar
27
66
  };
28
67
  //# sourceMappingURL=index356.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index356.js","sources":["../../../node_modules/.pnpm/lit-html@3.3.2/node_modules/lit-html/directives/unsafe-html.js"],"sourcesContent":["import{nothing as t,noChange as i}from\"../lit-html.js\";import{directive as r,Directive as s,PartType as n}from\"../directive.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */class e extends s{constructor(i){if(super(i),this.it=t,i.type!==n.CHILD)throw Error(this.constructor.directiveName+\"() can only be used in child bindings\")}render(r){if(r===t||null==r)return this._t=void 0,this.it=r;if(r===i)return r;if(\"string\"!=typeof r)throw Error(this.constructor.directiveName+\"() called with a non-string value\");if(r===this.it)return this._t;this.it=r;const s=[r];return s.raw=s,this._t={_$litType$:this.constructor.resultType,strings:s,values:[]}}}e.directiveName=\"unsafeHTML\",e.resultType=1;const o=r(e);export{e as UnsafeHTMLDirective,o as unsafeHTML};\n//# sourceMappingURL=unsafe-html.js.map\n"],"names":["s","i","t","n","r"],"mappings":";;AACA;AAAA;AAAA;AAAA;AAAA;AAIG,MAAM,UAAUA,EAAC;AAAA,EAAC,YAAYC,IAAE;AAAC,QAAG,MAAMA,EAAC,GAAE,KAAK,KAAGC,GAAED,GAAE,SAAOE,EAAE,MAAM,OAAM,MAAM,KAAK,YAAY,gBAAc,uCAAuC;AAAA,EAAC;AAAA,EAAC,OAAO,GAAE;AAAC,QAAG,MAAID,KAAG,QAAM,EAAE,QAAO,KAAK,KAAG,QAAO,KAAK,KAAG;AAAE,QAAG,MAAID,EAAE,QAAO;AAAE,QAAG,YAAU,OAAO,EAAE,OAAM,MAAM,KAAK,YAAY,gBAAc,mCAAmC;AAAE,QAAG,MAAI,KAAK,GAAG,QAAO,KAAK;AAAG,SAAK,KAAG;AAAE,UAAM,IAAE,CAAC,CAAC;AAAE,WAAO,EAAE,MAAI,GAAE,KAAK,KAAG,EAAC,YAAW,KAAK,YAAY,YAAW,SAAQ,GAAE,QAAO,CAAA,EAAE;AAAA,EAAC;AAAC;AAAC,EAAE,gBAAc,cAAa,EAAE,aAAW;AAAO,MAAC,IAAEG,IAAE,CAAC;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index356.js","sources":["../src/components/molecules/header/templates/header-app-bar.html.ts"],"sourcesContent":["import { html, nothing, TemplateResult } from 'lit';\nimport type { LibHeader } from '../lib-header.component';\nimport type { HeaderAction } from '../lib-header.types';\nimport { renderBreadcrumbs, svgSearch, svgBell } from './header-shared.html';\n\n/**\n * Template variante app-bar:\n * logomark | breadcrumbs | search | spacer | actions | notif | avatar\n * No usa el drawer móvil — sus acciones son contextuales.\n * En móvil: breadcrumbs se truncan, search colapsa a icono.\n */\nexport function renderAppBar(ctx: LibHeader): TemplateResult {\n return html`\n <div class=\"hdr\">\n\n <!-- Logo mark (sin texto) -->\n <div class=\"hdr-logo-mark\" style=\"flex-shrink:0;\"></div>\n\n <!-- Breadcrumbs -->\n ${ctx.breadcrumbs.length ? renderBreadcrumbs(ctx.breadcrumbs) : nothing}\n\n <!-- Divider oculto en móvil -->\n <div class=\"hdr-divider hdr-divider--desktop\"></div>\n\n <!-- Search — full en desktop, icono en móvil -->\n ${ctx.showSearch ? html`\n <div class=\"hdr-search\">\n ${svgSearch}\n <input\n type=\"search\"\n placeholder=\"${ctx.searchPlaceholder}\"\n @input=\"${(e: Event): void =>\n ctx._onSearch((e.target as HTMLInputElement).value)}\"\n />\n <span class=\"hdr-search-kbd\">⌘K</span>\n </div>\n ` : nothing}\n\n <div class=\"hdr-spacer\"></div>\n\n <!-- Context actions — ocultos en móvil -->\n ${ctx.actions.length ? html`\n <div class=\"hdr-actions hdr-actions--desktop\">\n ${ctx.actions.map((action: HeaderAction) => html`\n <a href=\"${action.href || '#'}\"\n class=\"hdr-action ${action.variant === 'outline'\n ? 'hdr-action--outline' : 'hdr-action--kaki'}\"\n style=\"height:32px;font-size:8px;\"\n >${action.label}</a>\n `)}\n </div>\n ` : nothing}\n\n <!-- Status (compact mode) — oculto en móvil -->\n ${ctx.compact ? html`\n <div class=\"hdr-status hdr-status--desktop\">\n <div class=\"hdr-status-dot\"></div>\n <span class=\"hdr-status-text\">Online · 42ms</span>\n </div>\n ` : nothing}\n\n <div class=\"hdr-divider\"></div>\n\n <!-- Notificaciones -->\n <div class=\"hdr-notif\">\n ${svgBell}\n ${ctx.notifications ? html`<span class=\"hdr-notif-dot\"></span>` : nothing}\n </div>\n\n <!-- Avatar -->\n <div class=\"hdr-avatar\">${ctx.userInitials || ctx.userName.slice(0, 1)}</div>\n\n </div>`;\n}"],"names":[],"mappings":";;AAWO,SAAS,aAAa,KAAgC;AAC3D,SAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAOD,IAAI,YAAY,SAAS,kBAAkB,IAAI,WAAW,IAAI,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAMrE,IAAI,aAAa;AAAA;AAAA,YAEb,SAAS;AAAA;AAAA;AAAA,2BAGM,IAAI,iBAAiB;AAAA,sBAC1B,CAAC,MACT,IAAI,UAAW,EAAE,OAA4B,KAAK,CAAC;AAAA;AAAA;AAAA;AAAA,UAIvD,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,QAKT,IAAI,QAAQ,SAAS;AAAA;AAAA,YAEjB,IAAI,QAAQ,IAAI,CAAC,WAAyB;AAAA,uBAC/B,OAAO,QAAQ,GAAG;AAAA,kCACP,OAAO,YAAY,YACnC,wBAAwB,kBAAkB;AAAA;AAAA,eAE7C,OAAO,KAAK;AAAA,WAChB,CAAC;AAAA;AAAA,UAEF,OAAO;AAAA;AAAA;AAAA,QAGT,IAAI,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA,UAKZ,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAMP,OAAO;AAAA,UACP,IAAI,gBAAgB,4CAA4C,OAAO;AAAA;AAAA;AAAA;AAAA,gCAIjD,IAAI,gBAAgB,IAAI,SAAS,MAAM,GAAG,CAAC,CAAC;AAAA;AAAA;AAG5E;"}
package/dist/index357.js CHANGED
@@ -1,35 +1,28 @@
1
- import { noChange as E } from "./index358.js";
2
- import { directive as e$1, Directive as i, PartType as t } from "./index359.js";
1
+ import { nothing as A, noChange as E } from "./index358.js";
2
+ import { Directive as i, PartType as t, directive as e$1 } from "./index359.js";
3
3
  /**
4
4
  * @license
5
- * Copyright 2018 Google LLC
5
+ * Copyright 2017 Google LLC
6
6
  * SPDX-License-Identifier: BSD-3-Clause
7
7
  */
8
- const e = e$1(class extends i {
9
- constructor(t$1) {
10
- var _a;
11
- if (super(t$1), t$1.type !== t.ATTRIBUTE || "class" !== t$1.name || ((_a = t$1.strings) == null ? void 0 : _a.length) > 2) throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.");
8
+ class e extends i {
9
+ constructor(i2) {
10
+ if (super(i2), this.it = A, i2.type !== t.CHILD) throw Error(this.constructor.directiveName + "() can only be used in child bindings");
12
11
  }
13
- render(t2) {
14
- return " " + Object.keys(t2).filter((s) => t2[s]).join(" ") + " ";
12
+ render(r) {
13
+ if (r === A || null == r) return this._t = void 0, this.it = r;
14
+ if (r === E) return r;
15
+ if ("string" != typeof r) throw Error(this.constructor.directiveName + "() called with a non-string value");
16
+ if (r === this.it) return this._t;
17
+ this.it = r;
18
+ const s = [r];
19
+ return s.raw = s, this._t = { _$litType$: this.constructor.resultType, strings: s, values: [] };
15
20
  }
16
- update(s, [i2]) {
17
- var _a, _b;
18
- if (void 0 === this.st) {
19
- this.st = /* @__PURE__ */ new Set(), void 0 !== s.strings && (this.nt = new Set(s.strings.join(" ").split(/\s/).filter((t2) => "" !== t2)));
20
- for (const t2 in i2) i2[t2] && !((_a = this.nt) == null ? void 0 : _a.has(t2)) && this.st.add(t2);
21
- return this.render(i2);
22
- }
23
- const r = s.element.classList;
24
- for (const t2 of this.st) t2 in i2 || (r.remove(t2), this.st.delete(t2));
25
- for (const t2 in i2) {
26
- const s2 = !!i2[t2];
27
- s2 === this.st.has(t2) || ((_b = this.nt) == null ? void 0 : _b.has(t2)) || (s2 ? (r.add(t2), this.st.add(t2)) : (r.remove(t2), this.st.delete(t2)));
28
- }
29
- return E;
30
- }
31
- });
21
+ }
22
+ e.directiveName = "unsafeHTML", e.resultType = 1;
23
+ const o = e$1(e);
32
24
  export {
33
- e as classMap
25
+ e as UnsafeHTMLDirective,
26
+ o as unsafeHTML
34
27
  };
35
28
  //# sourceMappingURL=index357.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index357.js","sources":["../../../node_modules/.pnpm/lit-html@3.3.2/node_modules/lit-html/directives/class-map.js"],"sourcesContent":["import{noChange as t}from\"../lit-html.js\";import{directive as s,Directive as i,PartType as r}from\"../directive.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const e=s(class extends i{constructor(t){if(super(t),t.type!==r.ATTRIBUTE||\"class\"!==t.name||t.strings?.length>2)throw Error(\"`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.\")}render(t){return\" \"+Object.keys(t).filter(s=>t[s]).join(\" \")+\" \"}update(s,[i]){if(void 0===this.st){this.st=new Set,void 0!==s.strings&&(this.nt=new Set(s.strings.join(\" \").split(/\\s/).filter(t=>\"\"!==t)));for(const t in i)i[t]&&!this.nt?.has(t)&&this.st.add(t);return this.render(i)}const r=s.element.classList;for(const t of this.st)t in i||(r.remove(t),this.st.delete(t));for(const t in i){const s=!!i[t];s===this.st.has(t)||this.nt?.has(t)||(s?(r.add(t),this.st.add(t)):(r.remove(t),this.st.delete(t)))}return t}});export{e as classMap};\n//# sourceMappingURL=class-map.js.map\n"],"names":["s","t","r","i"],"mappings":";;AACA;AAAA;AAAA;AAAA;AAAA;AAIQ,MAAC,IAAEA,IAAE,cAAc,EAAC;AAAA,EAAC,YAAYC,KAAE;;AAAC,QAAG,MAAMA,GAAC,GAAEA,IAAE,SAAOC,EAAE,aAAW,YAAUD,IAAE,UAAMA,SAAE,YAAFA,mBAAW,UAAO,EAAE,OAAM,MAAM,oGAAoG;AAAA,EAAC;AAAA,EAAC,OAAOA,IAAE;AAAC,WAAM,MAAI,OAAO,KAAKA,EAAC,EAAE,OAAO,OAAGA,GAAE,CAAC,CAAC,EAAE,KAAK,GAAG,IAAE;AAAA,EAAG;AAAA,EAAC,OAAO,GAAE,CAACE,EAAC,GAAE;;AAAC,QAAG,WAAS,KAAK,IAAG;AAAC,WAAK,KAAG,oBAAI,OAAI,WAAS,EAAE,YAAU,KAAK,KAAG,IAAI,IAAI,EAAE,QAAQ,KAAK,GAAG,EAAE,MAAM,IAAI,EAAE,OAAO,CAAAF,OAAG,OAAKA,EAAC,CAAC;AAAG,iBAAUA,MAAKE,GAAE,CAAAA,GAAEF,EAAC,KAAG,GAAC,UAAK,OAAL,mBAAS,IAAIA,QAAI,KAAK,GAAG,IAAIA,EAAC;AAAE,aAAO,KAAK,OAAOE,EAAC;AAAA,IAAC;AAAC,UAAM,IAAE,EAAE,QAAQ;AAAU,eAAUF,MAAK,KAAK,GAAG,CAAAA,MAAKE,OAAI,EAAE,OAAOF,EAAC,GAAE,KAAK,GAAG,OAAOA,EAAC;AAAG,eAAUA,MAAKE,IAAE;AAAC,YAAMH,KAAE,CAAC,CAACG,GAAEF,EAAC;AAAE,MAAAD,OAAI,KAAK,GAAG,IAAIC,EAAC,OAAG,UAAK,OAAL,mBAAS,IAAIA,SAAKD,MAAG,EAAE,IAAIC,EAAC,GAAE,KAAK,GAAG,IAAIA,EAAC,MAAI,EAAE,OAAOA,EAAC,GAAE,KAAK,GAAG,OAAOA,EAAC;AAAA,IAAG;AAAC,WAAOA;AAAAA,EAAC;AAAC,CAAC;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index357.js","sources":["../../../node_modules/.pnpm/lit-html@3.3.2/node_modules/lit-html/directives/unsafe-html.js"],"sourcesContent":["import{nothing as t,noChange as i}from\"../lit-html.js\";import{directive as r,Directive as s,PartType as n}from\"../directive.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */class e extends s{constructor(i){if(super(i),this.it=t,i.type!==n.CHILD)throw Error(this.constructor.directiveName+\"() can only be used in child bindings\")}render(r){if(r===t||null==r)return this._t=void 0,this.it=r;if(r===i)return r;if(\"string\"!=typeof r)throw Error(this.constructor.directiveName+\"() called with a non-string value\");if(r===this.it)return this._t;this.it=r;const s=[r];return s.raw=s,this._t={_$litType$:this.constructor.resultType,strings:s,values:[]}}}e.directiveName=\"unsafeHTML\",e.resultType=1;const o=r(e);export{e as UnsafeHTMLDirective,o as unsafeHTML};\n//# sourceMappingURL=unsafe-html.js.map\n"],"names":["s","i","t","n","r"],"mappings":";;AACA;AAAA;AAAA;AAAA;AAAA;AAIG,MAAM,UAAUA,EAAC;AAAA,EAAC,YAAYC,IAAE;AAAC,QAAG,MAAMA,EAAC,GAAE,KAAK,KAAGC,GAAED,GAAE,SAAOE,EAAE,MAAM,OAAM,MAAM,KAAK,YAAY,gBAAc,uCAAuC;AAAA,EAAC;AAAA,EAAC,OAAO,GAAE;AAAC,QAAG,MAAID,KAAG,QAAM,EAAE,QAAO,KAAK,KAAG,QAAO,KAAK,KAAG;AAAE,QAAG,MAAID,EAAE,QAAO;AAAE,QAAG,YAAU,OAAO,EAAE,OAAM,MAAM,KAAK,YAAY,gBAAc,mCAAmC;AAAE,QAAG,MAAI,KAAK,GAAG,QAAO,KAAK;AAAG,SAAK,KAAG;AAAE,UAAM,IAAE,CAAC,CAAC;AAAE,WAAO,EAAE,MAAI,GAAE,KAAK,KAAG,EAAC,YAAW,KAAK,YAAY,YAAW,SAAQ,GAAE,QAAO,CAAA,EAAE;AAAA,EAAC;AAAC;AAAC,EAAE,gBAAc,cAAa,EAAE,aAAW;AAAO,MAAC,IAAEG,IAAE,CAAC;","x_google_ignoreList":[0]}
package/dist/index360.js CHANGED
@@ -1,149 +1,38 @@
1
- import { html, nothing } from "lit";
2
- const svgChevron = html`
3
- <svg class="hdr-link-chevron" width="9" height="6" viewBox="0 0 10 6"
4
- fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round">
5
- <polyline points="1,1 5,5 9,1"/>
6
- </svg>`;
7
- const svgSearch = html`
8
- <svg width="12" height="12" viewBox="0 0 16 16" fill="none"
9
- stroke="currentColor" stroke-width="1.6" stroke-linecap="round">
10
- <circle cx="7" cy="7" r="5"/><line x1="11" y1="11" x2="14" y2="14"/>
11
- </svg>`;
12
- const svgBell = html`
13
- <svg width="15" height="15" viewBox="0 0 16 16" fill="none"
14
- stroke="currentColor" stroke-width="1.5" stroke-linecap="round">
15
- <path d="M8 1a5 5 0 00-5 5v2l-1 2v1h12v-1l-1-2V6A5 5 0 008 1z"/>
16
- <path d="M6 13a2 2 0 004 0"/>
17
- </svg>`;
18
- function renderLogoMark(ctx) {
19
- if (ctx.variant === "kintsugi") {
20
- return html`
21
- <div class="hdr-logo-mark">
22
- <span class="hdr-logo-mark-text">${ctx.logoMark}</span>
23
- </div>`;
24
- }
25
- return html`<div class="hdr-logo-mark">${ctx.logoMark}</div>`;
26
- }
27
- function renderLogo(ctx) {
28
- if (ctx.variant === "glitch") {
29
- return html`
30
- <a href="${ctx.logoHref}" class="hdr-logo-glitch">
31
- ⌗ ${ctx.brandName.toUpperCase()}
32
- <span class="hdr-logo-glitch-badge">SYS</span>
33
- </a>`;
34
- }
35
- if (ctx.variant === "minimal") {
36
- return html`
37
- <a href="${ctx.logoHref}" class="hdr-logo">
38
- <span class="hdr-brand-name">${ctx.logoMark}</span>
39
- </a>`;
40
- }
41
- return html`
42
- <a href="${ctx.logoHref}" class="hdr-logo">
43
- ${renderLogoMark(ctx)}
44
- <div>
45
- <div class="hdr-brand-name">${ctx.brandName}
46
- ${ctx.variant === "kintsugi" ? html` <em style="font-style:italic;color:var(--color-kaki-400);">金</em>` : nothing}
47
- </div>
48
- ${ctx.brandTagline && ctx.variant === "shrink" ? html`<div class="hdr-tagline">${ctx.brandTagline}</div>` : nothing}
49
- </div>
50
- ${ctx.version && ctx.variant === "dark" ? html`<span class="hdr-version">${ctx.version}</span>` : nothing}
51
- </a>`;
52
- }
53
- function renderDropdown(_ctx, link) {
1
+ import { _$LH as j } from "./index358.js";
2
+ /**
3
+ * @license
4
+ * Copyright 2020 Google LLC
5
+ * SPDX-License-Identifier: BSD-3-Clause
6
+ */
7
+ const { I: t } = j, i = (o) => o, s = () => document.createComment(""), v = (o, n, e) => {
54
8
  var _a;
55
- return html`
56
- <div class="hdr-dd">
57
- <span class="hdr-link">
58
- ${link.label}
59
- ${svgChevron}
60
- </span>
61
- <div class="hdr-dd-menu">
62
- ${(_a = link.dropdown) == null ? void 0 : _a.map((item) => html`
63
- <a href="${item.href || "#"}"
64
- class="hdr-dd-item ${item.divider ? "hdr-dd-item--divider" : ""}">
65
- ${item.label}
66
- </a>
67
- `)}
68
- </div>
69
- </div>`;
70
- }
71
- function renderLinks(ctx, links) {
72
- return html`
73
- ${links.map(
74
- (link) => {
75
- var _a;
76
- return ((_a = link.dropdown) == null ? void 0 : _a.length) ? renderDropdown(ctx, link) : html`
77
- <a href="${link.href || "#"}"
78
- class="hdr-link ${link.active ? "is-active" : ""}"
79
- @click="${(e) => {
80
- e.preventDefault();
81
- ctx._onLinkClick(link.id);
82
- }}"
83
- >
84
- ${ctx.variant === "glitch" ? html`<span>&gt;</span>` : nothing}
85
- ${link.label}
86
- </a>`;
9
+ const l = o._$AA.parentNode, d = void 0 === n ? o._$AB : n._$AA;
10
+ if (void 0 === e) {
11
+ const i2 = l.insertBefore(s(), d), n2 = l.insertBefore(s(), d);
12
+ e = new t(i2, n2, o, o.options);
13
+ } else {
14
+ const t2 = e._$AB.nextSibling, n2 = e._$AM, c = n2 !== o;
15
+ if (c) {
16
+ let t3;
17
+ (_a = e._$AQ) == null ? void 0 : _a.call(e, o), e._$AM = o, void 0 !== e._$AP && (t3 = o._$AU) !== n2._$AU && e._$AP(t3);
87
18
  }
88
- )}`;
89
- }
90
- const ACTION_VARIANT_MAP = {
91
- classic: "kaki",
92
- centered: "outline",
93
- dark: "kaki",
94
- transparent: "kaki",
95
- kintsugi: "kintsugi",
96
- glitch: "glitch",
97
- mega: "kaki",
98
- shrink: "kaki",
99
- minimal: ""
19
+ if (t2 !== d || c) {
20
+ let o2 = e._$AA;
21
+ for (; o2 !== t2; ) {
22
+ const t3 = i(o2).nextSibling;
23
+ i(l).insertBefore(o2, d), o2 = t3;
24
+ }
25
+ }
26
+ }
27
+ return e;
28
+ }, u = (o, t2, i2 = o) => (o._$AI(t2, i2), o), m = {}, p = (o, t2 = m) => o._$AH = t2, M = (o) => o._$AH, h = (o) => {
29
+ o._$AR(), o._$AA.remove();
100
30
  };
101
- function renderActions(ctx) {
102
- return html`
103
- <div class="hdr-actions">
104
- ${ctx.loginLabel ? html`
105
- <a href="${ctx.loginHref || "#"}" class="hdr-login">${ctx.loginLabel}</a>
106
- ` : nothing}
107
-
108
- ${ctx.actions.map((action) => {
109
- const cls = action.variant ? `hdr-action--${action.variant}` : `hdr-action--${ACTION_VARIANT_MAP[ctx.variant] || "kaki"}`;
110
- return html`
111
- <a href="${action.href || "#"}"
112
- class="hdr-action ${cls}"
113
- @click="${(e) => {
114
- e.preventDefault();
115
- ctx._onActionClick(action);
116
- }}"
117
- >${action.label}</a>`;
118
- })}
119
-
120
- ${ctx.variant === "glitch" ? html`
121
- <div class="hdr-online">● online</div>
122
- ` : nothing}
123
-
124
- ${ctx.variant === "minimal" && ctx.contactLabel ? html`
125
- <a href="${ctx.contactHref || "#"}" class="hdr-contact">${ctx.contactLabel} →</a>
126
- ` : nothing}
127
- </div>`;
128
- }
129
- function renderBreadcrumbs(items) {
130
- return html`
131
- <nav class="hdr-breadcrumbs" aria-label="breadcrumb">
132
- ${items.map((item, i) => html`
133
- ${i > 0 ? html`<span class="hdr-breadcrumb-sep">/</span>` : nothing}
134
- ${i < items.length - 1 ? html`<a href="${item.href || "#"}" class="hdr-breadcrumb-link">${item.label}</a>` : html`<span class="hdr-breadcrumb-current">${item.label}</span>`}
135
- `)}
136
- </nav>`;
137
- }
138
31
  export {
139
- renderActions,
140
- renderBreadcrumbs,
141
- renderDropdown,
142
- renderLinks,
143
- renderLogo,
144
- renderLogoMark,
145
- svgBell,
146
- svgChevron,
147
- svgSearch
32
+ M as getCommittedValue,
33
+ v as insertPart,
34
+ h as removePart,
35
+ u as setChildPartValue,
36
+ p as setCommittedValue
148
37
  };
149
38
  //# sourceMappingURL=index360.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index360.js","sources":["../src/components/molecules/header/templates/header-shared.html.ts"],"sourcesContent":["import { html, nothing, TemplateResult } from 'lit';\nimport type { LibHeader } from '../lib-header.component';\nimport type { NavLink, DropdownItem, HeaderAction, BreadcrumbItem } from '../lib-header.types';\n\n/* ══════════════════════════════════════\n SVG HELPERS (cambiar a iconos phosfor)\n ══════════════════════════════════════ */\n\nexport const svgChevron = html`\n <svg class=\"hdr-link-chevron\" width=\"9\" height=\"6\" viewBox=\"0 0 10 6\"\n fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\">\n <polyline points=\"1,1 5,5 9,1\"/>\n </svg>`;\n\nexport const svgSearch = html`\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 16 16\" fill=\"none\"\n stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\">\n <circle cx=\"7\" cy=\"7\" r=\"5\"/><line x1=\"11\" y1=\"11\" x2=\"14\" y2=\"14\"/>\n </svg>`;\n\nexport const svgBell = html`\n <svg width=\"15\" height=\"15\" viewBox=\"0 0 16 16\" fill=\"none\"\n stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\">\n <path d=\"M8 1a5 5 0 00-5 5v2l-1 2v1h12v-1l-1-2V6A5 5 0 008 1z\"/>\n <path d=\"M6 13a2 2 0 004 0\"/>\n </svg>`;\n\n/* ══════════════════════════════════════\n LOGO MARK\n ══════════════════════════════════════ */\n\nexport function renderLogoMark(ctx: LibHeader): TemplateResult {\n if (ctx.variant === 'kintsugi') {\n return html`\n <div class=\"hdr-logo-mark\">\n <span class=\"hdr-logo-mark-text\">${ctx.logoMark}</span>\n </div>`;\n }\n return html`<div class=\"hdr-logo-mark\">${ctx.logoMark}</div>`;\n}\n\n/* ══════════════════════════════════════\n LOGO\n ══════════════════════════════════════ */\n\nexport function renderLogo(ctx: LibHeader): TemplateResult {\n if (ctx.variant === 'glitch') {\n return html`\n <a href=\"${ctx.logoHref}\" class=\"hdr-logo-glitch\">\n ⌗ ${ctx.brandName.toUpperCase()}\n <span class=\"hdr-logo-glitch-badge\">SYS</span>\n </a>`;\n }\n\n if (ctx.variant === 'minimal') {\n return html`\n <a href=\"${ctx.logoHref}\" class=\"hdr-logo\">\n <span class=\"hdr-brand-name\">${ctx.logoMark}</span>\n </a>`;\n }\n\n return html`\n <a href=\"${ctx.logoHref}\" class=\"hdr-logo\">\n ${renderLogoMark(ctx)}\n <div>\n <div class=\"hdr-brand-name\">${ctx.brandName}\n ${ctx.variant === 'kintsugi'\n ? html` <em style=\"font-style:italic;color:var(--color-kaki-400);\">金</em>`\n : nothing}\n </div>\n ${ctx.brandTagline && ctx.variant === 'shrink'\n ? html`<div class=\"hdr-tagline\">${ctx.brandTagline}</div>`\n : nothing}\n </div>\n ${ctx.version && ctx.variant === 'dark'\n ? html`<span class=\"hdr-version\">${ctx.version}</span>`\n : nothing}\n </a>`;\n}\n\n/* ══════════════════════════════════════\n DROPDOWN (desktop)\n ══════════════════════════════════════ */\n\nexport function renderDropdown(_ctx: LibHeader, link: NavLink): TemplateResult {\n return html`\n <div class=\"hdr-dd\">\n <span class=\"hdr-link\">\n ${link.label}\n ${svgChevron}\n </span>\n <div class=\"hdr-dd-menu\">\n ${link.dropdown?.map((item: DropdownItem) => html`\n <a href=\"${item.href || '#'}\"\n class=\"hdr-dd-item ${item.divider ? 'hdr-dd-item--divider' : ''}\">\n ${item.label}\n </a>\n `)}\n </div>\n </div>`;\n}\n\n/* ══════════════════════════════════════\n NAV LINKS (desktop)\n ══════════════════════════════════════ */\n\nexport function renderLinks(ctx: LibHeader, links: NavLink[]): TemplateResult {\n return html`\n ${links.map(link =>\n link.dropdown?.length\n ? renderDropdown(ctx, link)\n : html`\n <a href=\"${link.href || '#'}\"\n class=\"hdr-link ${link.active ? 'is-active' : ''}\"\n @click=\"${(e: Event): void => {\n e.preventDefault();\n ctx._onLinkClick(link.id);\n }}\"\n >\n ${ctx.variant === 'glitch' ? html`<span>&gt;</span>` : nothing}\n ${link.label}\n </a>`\n )}`;\n}\n\n/* ══════════════════════════════════════\n ACTIONS (desktop)\n ══════════════════════════════════════ */\n\nconst ACTION_VARIANT_MAP: Record<string, string> = {\n classic: 'kaki',\n centered: 'outline',\n dark: 'kaki',\n transparent: 'kaki',\n kintsugi: 'kintsugi',\n glitch: 'glitch',\n mega: 'kaki',\n shrink: 'kaki',\n minimal: '',\n};\n\nexport function renderActions(ctx: LibHeader): TemplateResult {\n return html`\n <div class=\"hdr-actions\">\n ${ctx.loginLabel ? html`\n <a href=\"${ctx.loginHref || '#'}\" class=\"hdr-login\">${ctx.loginLabel}</a>\n ` : nothing}\n\n ${ctx.actions.map((action: HeaderAction) => {\n const cls = action.variant\n ? `hdr-action--${action.variant}`\n : `hdr-action--${ACTION_VARIANT_MAP[ctx.variant] || 'kaki'}`;\n return html`\n <a href=\"${action.href || '#'}\"\n class=\"hdr-action ${cls}\"\n @click=\"${(e: Event): void => {\n e.preventDefault();\n ctx._onActionClick(action);\n }}\"\n >${action.label}</a>`;\n })}\n\n ${ctx.variant === 'glitch' ? html`\n <div class=\"hdr-online\">● online</div>\n ` : nothing}\n\n ${ctx.variant === 'minimal' && ctx.contactLabel ? html`\n <a href=\"${ctx.contactHref || '#'}\" class=\"hdr-contact\">${ctx.contactLabel} →</a>\n ` : nothing}\n </div>`;\n}\n\n/* ══════════════════════════════════════\n BREADCRUMBS (app-bar)\n ══════════════════════════════════════ */\n\nexport function renderBreadcrumbs(items: BreadcrumbItem[]): TemplateResult {\n return html`\n <nav class=\"hdr-breadcrumbs\" aria-label=\"breadcrumb\">\n ${items.map((item, i) => html`\n ${i > 0 ? html`<span class=\"hdr-breadcrumb-sep\">/</span>` : nothing}\n ${i < items.length - 1\n ? html`<a href=\"${item.href || '#'}\" class=\"hdr-breadcrumb-link\">${item.label}</a>`\n : html`<span class=\"hdr-breadcrumb-current\">${item.label}</span>`}\n `)}\n </nav>`;\n}"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index360.js","sources":["../../../node_modules/.pnpm/lit-html@3.3.2/node_modules/lit-html/directive-helpers.js"],"sourcesContent":["import{_$LH as o}from\"./lit-html.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{I:t}=o,i=o=>o,n=o=>null===o||\"object\"!=typeof o&&\"function\"!=typeof o,e={HTML:1,SVG:2,MATHML:3},l=(o,t)=>void 0===t?void 0!==o?._$litType$:o?._$litType$===t,d=o=>null!=o?._$litType$?.h,c=o=>void 0!==o?._$litDirective$,f=o=>o?._$litDirective$,r=o=>void 0===o.strings,s=()=>document.createComment(\"\"),v=(o,n,e)=>{const l=o._$AA.parentNode,d=void 0===n?o._$AB:n._$AA;if(void 0===e){const i=l.insertBefore(s(),d),n=l.insertBefore(s(),d);e=new t(i,n,o,o.options)}else{const t=e._$AB.nextSibling,n=e._$AM,c=n!==o;if(c){let t;e._$AQ?.(o),e._$AM=o,void 0!==e._$AP&&(t=o._$AU)!==n._$AU&&e._$AP(t)}if(t!==d||c){let o=e._$AA;for(;o!==t;){const t=i(o).nextSibling;i(l).insertBefore(o,d),o=t}}}return e},u=(o,t,i=o)=>(o._$AI(t,i),o),m={},p=(o,t=m)=>o._$AH=t,M=o=>o._$AH,h=o=>{o._$AR(),o._$AA.remove()},j=o=>{o._$AR()};export{e as TemplateResultType,j as clearPart,M as getCommittedValue,f as getDirectiveClass,v as insertPart,d as isCompiledTemplateResult,c as isDirectiveResult,n as isPrimitive,r as isSingleExpression,l as isTemplateResult,h as removePart,u as setChildPartValue,p as setCommittedValue};\n//# sourceMappingURL=directive-helpers.js.map\n"],"names":["o","i","n","t"],"mappings":";AACA;AAAA;AAAA;AAAA;AAAA;AAIO,MAAC,EAAC,GAAE,EAAC,IAAEA,GAAE,IAAE,OAAG,GAA8P,IAAE,MAAI,SAAS,cAAc,EAAE,GAAE,IAAE,CAAC,GAAE,GAAE,MAAI;;AAAC,QAAM,IAAE,EAAE,KAAK,YAAW,IAAE,WAAS,IAAE,EAAE,OAAK,EAAE;AAAK,MAAG,WAAS,GAAE;AAAC,UAAMC,KAAE,EAAE,aAAa,EAAC,GAAG,CAAC,GAAEC,KAAE,EAAE,aAAa,EAAC,GAAG,CAAC;AAAE,QAAE,IAAI,EAAED,IAAEC,IAAE,GAAE,EAAE,OAAO;AAAA,EAAC,OAAK;AAAC,UAAMC,KAAE,EAAE,KAAK,aAAYD,KAAE,EAAE,MAAK,IAAEA,OAAI;AAAE,QAAG,GAAE;AAAC,UAAIC;AAAE,cAAE,SAAF,2BAAS,IAAG,EAAE,OAAK,GAAE,WAAS,EAAE,SAAOA,KAAE,EAAE,UAAQD,GAAE,QAAM,EAAE,KAAKC,EAAC;AAAA,IAAC;AAAC,QAAGA,OAAI,KAAG,GAAE;AAAC,UAAIH,KAAE,EAAE;AAAK,aAAKA,OAAIG,MAAG;AAAC,cAAMA,KAAE,EAAEH,EAAC,EAAE;AAAY,UAAE,CAAC,EAAE,aAAaA,IAAE,CAAC,GAAEA,KAAEG;AAAA,MAAC;AAAA,IAAC;AAAA,EAAC;AAAC,SAAO;AAAC,GAAE,IAAE,CAAC,GAAEA,IAAEF,KAAE,OAAK,EAAE,KAAKE,IAAEF,EAAC,GAAE,IAAG,IAAE,CAAA,GAAG,IAAE,CAAC,GAAEE,KAAE,MAAI,EAAE,OAAKA,IAAE,IAAE,OAAG,EAAE,MAAK,IAAE,OAAG;AAAC,IAAE,KAAI,GAAG,EAAE,KAAK;AAAQ;","x_google_ignoreList":[0]}