@luster-ui/ui 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/PUBLISHING.md +469 -0
- package/README.md +423 -0
- package/dist/cjs/index-Couc0LVo.js +1571 -0
- package/dist/cjs/index.cjs.js +2 -0
- package/dist/cjs/loader.cjs.js +12 -0
- package/dist/cjs/luster-accordion_19.cjs.entry.js +555 -0
- package/dist/cjs/luster-card.cjs.entry.js +25 -0
- package/dist/cjs/luster.cjs.js +24 -0
- package/dist/collection/collection-manifest.json +32 -0
- package/dist/collection/components/luster-accordion/luster-accordion.css +76 -0
- package/dist/collection/components/luster-accordion/luster-accordion.js +160 -0
- package/dist/collection/components/luster-accordion/luster-accordion.stories.js +88 -0
- package/dist/collection/components/luster-activity-item/luster-activity-item.css +102 -0
- package/dist/collection/components/luster-activity-item/luster-activity-item.js +188 -0
- package/dist/collection/components/luster-activity-item/luster-activity-item.stories.js +94 -0
- package/dist/collection/components/luster-alert/luster-alert.css +71 -0
- package/dist/collection/components/luster-alert/luster-alert.js +171 -0
- package/dist/collection/components/luster-alert/luster-alert.stories.js +82 -0
- package/dist/collection/components/luster-article-card/luster-article-card.css +120 -0
- package/dist/collection/components/luster-article-card/luster-article-card.js +192 -0
- package/dist/collection/components/luster-article-card/luster-article-card.stories.js +82 -0
- package/dist/collection/components/luster-badge/luster-badge.css +38 -0
- package/dist/collection/components/luster-badge/luster-badge.js +87 -0
- package/dist/collection/components/luster-badge/luster-badge.stories.js +86 -0
- package/dist/collection/components/luster-button/luster-button.css +121 -0
- package/dist/collection/components/luster-button/luster-button.js +179 -0
- package/dist/collection/components/luster-button/luster-button.stories.js +103 -0
- package/dist/collection/components/luster-card/luster-card.css +29 -0
- package/dist/collection/components/luster-card/luster-card.js +92 -0
- package/dist/collection/components/luster-card/luster-card.stories.js +67 -0
- package/dist/collection/components/luster-checkbox/luster-checkbox.css +42 -0
- package/dist/collection/components/luster-checkbox/luster-checkbox.js +162 -0
- package/dist/collection/components/luster-checkbox/luster-checkbox.stories.js +78 -0
- package/dist/collection/components/luster-color-swatch/luster-color-swatch.css +33 -0
- package/dist/collection/components/luster-color-swatch/luster-color-swatch.js +108 -0
- package/dist/collection/components/luster-color-swatch/luster-color-swatch.stories.js +58 -0
- package/dist/collection/components/luster-feature-quote/luster-feature-quote.css +84 -0
- package/dist/collection/components/luster-feature-quote/luster-feature-quote.js +108 -0
- package/dist/collection/components/luster-feature-quote/luster-feature-quote.stories.js +52 -0
- package/dist/collection/components/luster-hero/luster-hero.css +119 -0
- package/dist/collection/components/luster-hero/luster-hero.js +129 -0
- package/dist/collection/components/luster-hero/luster-hero.stories.js +72 -0
- package/dist/collection/components/luster-input/luster-input.css +72 -0
- package/dist/collection/components/luster-input/luster-input.js +332 -0
- package/dist/collection/components/luster-input/luster-input.stories.js +106 -0
- package/dist/collection/components/luster-modal/luster-modal.css +103 -0
- package/dist/collection/components/luster-modal/luster-modal.js +215 -0
- package/dist/collection/components/luster-modal/luster-modal.stories.js +78 -0
- package/dist/collection/components/luster-navbar/luster-navbar.css +151 -0
- package/dist/collection/components/luster-navbar/luster-navbar.js +87 -0
- package/dist/collection/components/luster-navbar/luster-navbar.stories.js +41 -0
- package/dist/collection/components/luster-profile-card/luster-profile-card.css +89 -0
- package/dist/collection/components/luster-profile-card/luster-profile-card.js +194 -0
- package/dist/collection/components/luster-profile-card/luster-profile-card.stories.js +56 -0
- package/dist/collection/components/luster-resource-table/luster-resource-table.css +141 -0
- package/dist/collection/components/luster-resource-table/luster-resource-table.js +78 -0
- package/dist/collection/components/luster-resource-table/luster-resource-table.stories.js +44 -0
- package/dist/collection/components/luster-sidebar/luster-sidebar.css +152 -0
- package/dist/collection/components/luster-sidebar/luster-sidebar.js +78 -0
- package/dist/collection/components/luster-sidebar/luster-sidebar.stories.js +34 -0
- package/dist/collection/components/luster-stat-card/luster-stat-card.css +82 -0
- package/dist/collection/components/luster-stat-card/luster-stat-card.js +194 -0
- package/dist/collection/components/luster-stat-card/luster-stat-card.stories.js +75 -0
- package/dist/collection/components/luster-tabs/luster-tabs.css +35 -0
- package/dist/collection/components/luster-tabs/luster-tabs.js +116 -0
- package/dist/collection/components/luster-tabs/luster-tabs.stories.js +56 -0
- package/dist/collection/components/luster-toggle/luster-toggle.css +48 -0
- package/dist/collection/components/luster-toggle/luster-toggle.js +120 -0
- package/dist/collection/components/luster-toggle/luster-toggle.stories.js +66 -0
- package/dist/components/index.d.ts +33 -0
- package/dist/components/index.js +1 -0
- package/dist/components/luster-accordion.d.ts +11 -0
- package/dist/components/luster-accordion.js +1 -0
- package/dist/components/luster-activity-item.d.ts +11 -0
- package/dist/components/luster-activity-item.js +1 -0
- package/dist/components/luster-alert.d.ts +11 -0
- package/dist/components/luster-alert.js +1 -0
- package/dist/components/luster-article-card.d.ts +11 -0
- package/dist/components/luster-article-card.js +1 -0
- package/dist/components/luster-badge.d.ts +11 -0
- package/dist/components/luster-badge.js +1 -0
- package/dist/components/luster-badge2.js +1 -0
- package/dist/components/luster-button.d.ts +11 -0
- package/dist/components/luster-button.js +1 -0
- package/dist/components/luster-button2.js +1 -0
- package/dist/components/luster-card.d.ts +11 -0
- package/dist/components/luster-card.js +1 -0
- package/dist/components/luster-checkbox.d.ts +11 -0
- package/dist/components/luster-checkbox.js +1 -0
- package/dist/components/luster-color-swatch.d.ts +11 -0
- package/dist/components/luster-color-swatch.js +1 -0
- package/dist/components/luster-feature-quote.d.ts +11 -0
- package/dist/components/luster-feature-quote.js +1 -0
- package/dist/components/luster-hero.d.ts +11 -0
- package/dist/components/luster-hero.js +1 -0
- package/dist/components/luster-input.d.ts +11 -0
- package/dist/components/luster-input.js +1 -0
- package/dist/components/luster-modal.d.ts +11 -0
- package/dist/components/luster-modal.js +1 -0
- package/dist/components/luster-navbar.d.ts +11 -0
- package/dist/components/luster-navbar.js +1 -0
- package/dist/components/luster-profile-card.d.ts +11 -0
- package/dist/components/luster-profile-card.js +1 -0
- package/dist/components/luster-resource-table.d.ts +11 -0
- package/dist/components/luster-resource-table.js +1 -0
- package/dist/components/luster-sidebar.d.ts +11 -0
- package/dist/components/luster-sidebar.js +1 -0
- package/dist/components/luster-stat-card.d.ts +11 -0
- package/dist/components/luster-stat-card.js +1 -0
- package/dist/components/luster-tabs.d.ts +11 -0
- package/dist/components/luster-tabs.js +1 -0
- package/dist/components/luster-toggle.d.ts +11 -0
- package/dist/components/luster-toggle.js +1 -0
- package/dist/components/luster-toggle2.js +1 -0
- package/dist/esm/index-CeYIN8dN.js +1563 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/loader.js +10 -0
- package/dist/esm/luster-accordion_19.entry.js +535 -0
- package/dist/esm/luster-card.entry.js +23 -0
- package/dist/esm/luster.js +20 -0
- package/dist/index.cjs.js +1 -0
- package/dist/index.js +1 -0
- package/dist/luster/index.esm.js +0 -0
- package/dist/luster/luster.css +313 -0
- package/dist/luster/luster.esm.js +1 -0
- package/dist/luster/p-3c4ce897.entry.js +1 -0
- package/dist/luster/p-CeYIN8dN.js +2 -0
- package/dist/luster/p-e368ec08.entry.js +1 -0
- package/dist/types/.stencil/luster-accordion/luster-accordion.d.ts +13 -0
- package/dist/types/.stencil/luster-accordion/luster-accordion.stories.d.ts +10 -0
- package/dist/types/.stencil/luster-activity-item/luster-activity-item.d.ts +11 -0
- package/dist/types/.stencil/luster-activity-item/luster-activity-item.stories.d.ts +9 -0
- package/dist/types/.stencil/luster-alert/luster-alert.d.ts +13 -0
- package/dist/types/.stencil/luster-alert/luster-alert.stories.d.ts +10 -0
- package/dist/types/.stencil/luster-article-card/luster-article-card.d.ts +11 -0
- package/dist/types/.stencil/luster-article-card/luster-article-card.stories.d.ts +8 -0
- package/dist/types/.stencil/luster-badge/luster-badge.d.ts +6 -0
- package/dist/types/.stencil/luster-badge/luster-badge.stories.d.ts +12 -0
- package/dist/types/.stencil/luster-button/luster-button.d.ts +12 -0
- package/dist/types/.stencil/luster-button/luster-button.stories.d.ts +13 -0
- package/dist/types/.stencil/luster-card/luster-card.d.ts +6 -0
- package/dist/types/.stencil/luster-card/luster-card.stories.d.ts +10 -0
- package/dist/types/.stencil/luster-checkbox/luster-checkbox.d.ts +13 -0
- package/dist/types/.stencil/luster-checkbox/luster-checkbox.stories.d.ts +10 -0
- package/dist/types/.stencil/luster-color-swatch/luster-color-swatch.d.ts +7 -0
- package/dist/types/.stencil/luster-color-swatch/luster-color-swatch.stories.d.ts +8 -0
- package/dist/types/.stencil/luster-feature-quote/luster-feature-quote.d.ts +7 -0
- package/dist/types/.stencil/luster-feature-quote/luster-feature-quote.stories.d.ts +8 -0
- package/dist/types/.stencil/luster-hero/luster-hero.d.ts +8 -0
- package/dist/types/.stencil/luster-hero/luster-hero.stories.d.ts +8 -0
- package/dist/types/.stencil/luster-input/luster-input.d.ts +25 -0
- package/dist/types/.stencil/luster-input/luster-input.stories.d.ts +9 -0
- package/dist/types/.stencil/luster-modal/luster-modal.d.ts +17 -0
- package/dist/types/.stencil/luster-modal/luster-modal.stories.d.ts +8 -0
- package/dist/types/.stencil/luster-navbar/luster-navbar.d.ts +6 -0
- package/dist/types/.stencil/luster-navbar/luster-navbar.stories.d.ts +6 -0
- package/dist/types/.stencil/luster-profile-card/luster-profile-card.d.ts +11 -0
- package/dist/types/.stencil/luster-profile-card/luster-profile-card.stories.d.ts +7 -0
- package/dist/types/.stencil/luster-resource-table/luster-resource-table.d.ts +14 -0
- package/dist/types/.stencil/luster-resource-table/luster-resource-table.stories.d.ts +6 -0
- package/dist/types/.stencil/luster-sidebar/luster-sidebar.d.ts +9 -0
- package/dist/types/.stencil/luster-sidebar/luster-sidebar.stories.d.ts +8 -0
- package/dist/types/.stencil/luster-stat-card/luster-stat-card.d.ts +11 -0
- package/dist/types/.stencil/luster-stat-card/luster-stat-card.stories.d.ts +8 -0
- package/dist/types/.stencil/luster-tabs/luster-tabs.d.ts +15 -0
- package/dist/types/.stencil/luster-tabs/luster-tabs.stories.d.ts +7 -0
- package/dist/types/.stencil/luster-toggle/luster-toggle.d.ts +11 -0
- package/dist/types/.stencil/luster-toggle/luster-toggle.stories.d.ts +9 -0
- package/dist/types/components.d.ts +1355 -0
- package/dist/types/stencil-public-runtime.d.ts +1860 -0
- package/loader/cdn.js +1 -0
- package/loader/index.cjs.js +1 -0
- package/loader/index.d.ts +24 -0
- package/loader/index.es2017.js +1 -0
- package/loader/index.js +2 -0
- package/package.json +73 -0
|
@@ -0,0 +1,535 @@
|
|
|
1
|
+
import { r as registerInstance, c as createEvent, h } from './index-CeYIN8dN.js';
|
|
2
|
+
|
|
3
|
+
const lusterAccordionCss = () => `:host{display:block}.accordion{background:var(--dc-surface-container-high);border-radius:var(--dc-round-3);overflow:hidden;transition:box-shadow var(--dc-transition-base)}.accordion--expanded{box-shadow:var(--dc-shadow-sm)}.accordion__trigger{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--dc-space-4);width:100%;padding:var(--dc-space-4) var(--dc-space-5);background:none;border:none;cursor:pointer;text-align:left;transition:background var(--dc-transition-fast)}.accordion__trigger:hover{background:var(--dc-hover-tint)}.accordion__trigger-left{display:flex;flex-direction:column;gap:var(--dc-space-2);flex:1}.accordion__titles{display:flex;flex-direction:column;gap:4px}.accordion__title{font-family:var(--dc-font-display);font-size:var(--dc-title-sm);font-weight:700;color:var(--dc-on-surface)}.accordion__subtitle{font-size:var(--dc-body-sm);color:var(--dc-on-surface-variant);line-height:1.5}.accordion__chevron{color:var(--dc-on-surface-variant);display:flex;align-items:center;transition:transform var(--dc-transition-base);flex-shrink:0;margin-top:var(--dc-space-1)}.accordion__chevron--up{transform:rotate(180deg)}.accordion__content{max-height:0;overflow:hidden;transition:max-height var(--dc-transition-slow) cubic-bezier(0.4, 0, 0.2, 1)}.accordion--expanded .accordion__content{max-height:600px}.accordion__inner{padding:0 var(--dc-space-5) var(--dc-space-5);color:var(--dc-on-surface-variant);font-size:var(--dc-body-sm);line-height:1.6}`;
|
|
4
|
+
|
|
5
|
+
const DcAccordion = class {
|
|
6
|
+
constructor(hostRef) {
|
|
7
|
+
registerInstance(this, hostRef);
|
|
8
|
+
this.dcToggle = createEvent(this, "dcToggle");
|
|
9
|
+
this.heading = '';
|
|
10
|
+
this.subtitle = '';
|
|
11
|
+
this.badge = '';
|
|
12
|
+
this.badgeVariant = 'default';
|
|
13
|
+
this.expanded = false;
|
|
14
|
+
this.isExpanded = false;
|
|
15
|
+
this.handleToggle = () => {
|
|
16
|
+
this.isExpanded = !this.isExpanded;
|
|
17
|
+
this.dcToggle.emit(this.isExpanded);
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
componentWillLoad() {
|
|
21
|
+
this.isExpanded = this.expanded;
|
|
22
|
+
}
|
|
23
|
+
render() {
|
|
24
|
+
return (h("div", { key: '8354addfd70119cc5c50b0cadb414d341f5c4dd1', class: `accordion ${this.isExpanded ? 'accordion--expanded' : ''}` }, h("button", { key: 'bffcbfdef833e817b8e03c79fa72b5a5a4edbbb0', class: "accordion__trigger", onClick: this.handleToggle, "aria-expanded": this.isExpanded ? 'true' : 'false' }, h("div", { key: '5b6e51d9e0eabb125b50b54ebd54667432a672b3', class: "accordion__trigger-left" }, this.badge && (h("luster-badge", { key: '1894640145ac7ab6df3867b9710e475573c99b5b', variant: this.badgeVariant, size: "sm" }, this.badge)), h("div", { key: '30e6782a85ceec036d91b12c936c5c2863a4f017', class: "accordion__titles" }, h("span", { key: '7c7bf525077ba806efb13ddee674a6049af64204', class: "accordion__title" }, this.heading), this.subtitle && (h("span", { key: 'd888d5b78704713aa1c4c9cc902dbd04979503e2', class: "accordion__subtitle" }, this.subtitle)))), h("span", { key: '98601396b5fcd1d777935d400a1f01072c9d437a', class: `accordion__chevron ${this.isExpanded ? 'accordion__chevron--up' : ''}` }, h("svg", { key: '5c9c4af605307d12973f82c5166d8e3873e402c3', width: "16", height: "16", viewBox: "0 0 24 24", fill: "none" }, h("polyline", { key: 'd59e9cc24f98cdd87c317f3107b34ba9c732b3af', points: "6,9 12,15 18,9", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" })))), h("div", { key: '3b7245e52cc48797637756d8ec66bcf1868adfe4', class: "accordion__content", "aria-hidden": !this.isExpanded ? 'true' : 'false' }, h("div", { key: 'ab1069f5ab0d102b16fc02ef71365c4cd4525af8', class: "accordion__inner" }, h("slot", { key: 'cfc15924e2effa62732dd221d846f44baeff0901' })))));
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
DcAccordion.style = lusterAccordionCss();
|
|
28
|
+
|
|
29
|
+
const lusterActivityItemCss = () => `:host{display:block}.activity-item{display:flex;align-items:flex-start;gap:var(--dc-space-3);padding:var(--dc-space-3) 0}.activity-item+.activity-item{border-top:1px solid var(--dc-divider)}.activity-item__icon{width:28px;height:28px;border-radius:var(--dc-round-full);background:var(--dc-icon-bg);display:flex;align-items:center;justify-content:center;color:var(--dc-primary);flex-shrink:0}.activity-item__content{flex:1;display:flex;flex-direction:column;gap:2px;overflow:hidden}.activity-item__title{font-size:var(--dc-body-sm);font-weight:600;color:var(--dc-on-surface);line-height:1.3}.activity-item__desc{font-size:var(--dc-label-md);color:var(--dc-on-surface-variant);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.activity-item__time{font-size:var(--dc-label-sm);color:var(--dc-on-surface-variant);margin-top:var(--dc-space-1)}.activity-item--file{align-items:center;background:var(--dc-surface-container);border-radius:var(--dc-round-3);padding:var(--dc-space-3) var(--dc-space-4);transition:background var(--dc-transition-fast)}.activity-item--file+.activity-item--file{border-top:none;margin-top:var(--dc-space-2)}.activity-item--file:hover{background:var(--dc-surface-container-high)}.activity-item__file-icon{width:36px;height:36px;border-radius:var(--dc-round-2);background:var(--dc-icon-bg);display:flex;align-items:center;justify-content:center;color:var(--dc-primary);flex-shrink:0}.activity-item__meta{display:flex;align-items:center;gap:var(--dc-space-1);font-size:var(--dc-label-sm);color:var(--dc-on-surface-variant)}.activity-item__download{background:none;border:none;cursor:pointer;color:var(--dc-on-surface-variant);display:flex;align-items:center;padding:var(--dc-space-1);border-radius:var(--dc-round-1);flex-shrink:0;opacity:0.6;transition:opacity var(--dc-transition-fast)}.activity-item__download:hover{opacity:1}`;
|
|
30
|
+
|
|
31
|
+
const DcActivityItem = class {
|
|
32
|
+
constructor(hostRef) {
|
|
33
|
+
registerInstance(this, hostRef);
|
|
34
|
+
this.label = '';
|
|
35
|
+
this.description = '';
|
|
36
|
+
this.time = '';
|
|
37
|
+
this.variant = 'activity';
|
|
38
|
+
this.icon = 'edit';
|
|
39
|
+
this.fileSize = '';
|
|
40
|
+
this.downloadable = false;
|
|
41
|
+
}
|
|
42
|
+
getIcon() {
|
|
43
|
+
switch (this.icon) {
|
|
44
|
+
case 'edit':
|
|
45
|
+
return (h("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none" }, h("path", { d: "M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round" }), h("path", { d: "M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" })));
|
|
46
|
+
case 'sync':
|
|
47
|
+
return (h("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none" }, h("polyline", { points: "1 4 1 10 7 10", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }), h("path", { d: "M3.51 15a9 9 0 1 0 .49-8.49", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round" })));
|
|
48
|
+
case 'user':
|
|
49
|
+
return (h("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none" }, h("path", { d: "M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2", stroke: "currentColor", "stroke-width": "2" }), h("circle", { cx: "12", cy: "7", r: "4", stroke: "currentColor", "stroke-width": "2" })));
|
|
50
|
+
case 'file':
|
|
51
|
+
return (h("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none" }, h("path", { d: "M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z", stroke: "currentColor", "stroke-width": "2" }), h("polyline", { points: "14,2 14,8 20,8", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round" })));
|
|
52
|
+
default:
|
|
53
|
+
return (h("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none" }, h("circle", { cx: "12", cy: "12", r: "10", stroke: "currentColor", "stroke-width": "2" })));
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
render() {
|
|
57
|
+
if (this.variant === 'file') {
|
|
58
|
+
return (h("div", { class: "activity-item activity-item--file" }, h("div", { class: "activity-item__file-icon" }, this.getIcon()), h("div", { class: "activity-item__content" }, h("span", { class: "activity-item__title" }, this.label), h("span", { class: "activity-item__meta" }, this.fileSize && h("span", null, this.fileSize), this.time && h("span", null, "\u00B7 ", this.time))), this.downloadable && (h("button", { class: "activity-item__download", "aria-label": "Download" }, h("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none" }, h("path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round" }), h("polyline", { points: "7,10 12,15 17,10", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }), h("line", { x1: "12", y1: "15", x2: "12", y2: "3", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round" }))))));
|
|
59
|
+
}
|
|
60
|
+
return (h("div", { class: "activity-item" }, h("div", { class: "activity-item__icon" }, this.getIcon()), h("div", { class: "activity-item__content" }, h("span", { class: "activity-item__title" }, this.label), this.description && (h("span", { class: "activity-item__desc" }, this.description)), this.time && h("span", { class: "activity-item__time" }, this.time))));
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
DcActivityItem.style = lusterActivityItemCss();
|
|
64
|
+
|
|
65
|
+
const lusterAlertCss = () => `:host{display:block}.alert{display:flex;align-items:flex-start;gap:var(--dc-space-3);padding:var(--dc-space-3) var(--dc-space-4);border-radius:var(--dc-round-3);border-left:3px solid currentColor;animation:slideIn 0.2s ease-out}.alert--info{background:rgba(163, 166, 255, 0.08);color:var(--dc-primary)}.alert--success{background:rgba(76, 206, 172, 0.08);color:var(--dc-success)}.alert--warning{background:rgba(255, 209, 102, 0.08);color:var(--dc-warning)}.alert--error{background:rgba(255, 180, 171, 0.08);color:var(--dc-error)}.alert__icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}.alert__body{flex:1;display:flex;flex-direction:column;gap:2px}.alert__title{font-family:var(--dc-font-body);font-size:var(--dc-body-sm);font-weight:600;color:var(--dc-on-surface)}.alert__message{font-size:var(--dc-body-sm);color:var(--dc-on-surface-variant)}.alert__time{font-size:var(--dc-label-sm);color:var(--dc-on-surface-variant);margin-top:var(--dc-space-1)}.alert__close{background:none;border:none;cursor:pointer;color:var(--dc-on-surface-variant);display:flex;align-items:center;justify-content:center;padding:var(--dc-space-1);border-radius:var(--dc-round-1);flex-shrink:0;opacity:0.6;transition:opacity var(--dc-transition-fast)}.alert__close:hover{opacity:1}@keyframes slideIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}`;
|
|
66
|
+
|
|
67
|
+
const DcAlert = class {
|
|
68
|
+
constructor(hostRef) {
|
|
69
|
+
registerInstance(this, hostRef);
|
|
70
|
+
this.dcDismiss = createEvent(this, "dcDismiss");
|
|
71
|
+
this.heading = '';
|
|
72
|
+
this.message = '';
|
|
73
|
+
this.variant = 'info';
|
|
74
|
+
this.dismissible = true;
|
|
75
|
+
this.timestamp = '';
|
|
76
|
+
this.visible = true;
|
|
77
|
+
this.dismiss = () => {
|
|
78
|
+
this.visible = false;
|
|
79
|
+
this.dcDismiss.emit();
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
getIcon() {
|
|
83
|
+
switch (this.variant) {
|
|
84
|
+
case 'success':
|
|
85
|
+
return (h("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none" }, h("circle", { cx: "12", cy: "12", r: "10", stroke: "currentColor", "stroke-width": "2" }), h("path", { d: "M8 12l3 3 5-5", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" })));
|
|
86
|
+
case 'error':
|
|
87
|
+
return (h("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none" }, h("circle", { cx: "12", cy: "12", r: "10", stroke: "currentColor", "stroke-width": "2" }), h("line", { x1: "15", y1: "9", x2: "9", y2: "15", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round" }), h("line", { x1: "9", y1: "9", x2: "15", y2: "15", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round" })));
|
|
88
|
+
case 'warning':
|
|
89
|
+
return (h("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none" }, h("path", { d: "M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z", stroke: "currentColor", "stroke-width": "2" }), h("line", { x1: "12", y1: "9", x2: "12", y2: "13", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round" }), h("line", { x1: "12", y1: "17", x2: "12.01", y2: "17", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round" })));
|
|
90
|
+
default:
|
|
91
|
+
return (h("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none" }, h("circle", { cx: "12", cy: "12", r: "10", stroke: "currentColor", "stroke-width": "2" }), h("line", { x1: "12", y1: "8", x2: "12", y2: "12", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round" }), h("line", { x1: "12", y1: "16", x2: "12.01", y2: "16", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round" })));
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
render() {
|
|
95
|
+
if (!this.visible)
|
|
96
|
+
return null;
|
|
97
|
+
return (h("div", { class: `alert alert--${this.variant}`, role: "alert" }, h("span", { class: "alert__icon" }, this.getIcon()), h("div", { class: "alert__body" }, this.heading && h("span", { class: "alert__title" }, this.heading), this.message && h("span", { class: "alert__message" }, this.message), this.timestamp && h("span", { class: "alert__time" }, this.timestamp)), this.dismissible && (h("button", { class: "alert__close", onClick: this.dismiss, "aria-label": "Dismiss" }, h("svg", { width: "12", height: "12", viewBox: "0 0 24 24", fill: "none" }, h("line", { x1: "18", y1: "6", x2: "6", y2: "18", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round" }), h("line", { x1: "6", y1: "6", x2: "18", y2: "18", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round" }))))));
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
DcAlert.style = lusterAlertCss();
|
|
101
|
+
|
|
102
|
+
const lusterArticleCardCss = () => `:host{display:block}.article-card{background:var(--dc-surface-container-high);border-radius:var(--dc-round-4);overflow:hidden;display:flex;flex-direction:column;transition:background var(--dc-transition-base);cursor:pointer}.article-card:hover{background:var(--dc-surface-bright)}.article-card__image{position:relative;height:160px;overflow:hidden}.article-card__image img{width:100%;height:100%;object-fit:cover}.article-card__image-overlay{position:absolute;inset:0;background:linear-gradient(to bottom, var(--dc-image-overlay-top) 0%, var(--dc-image-overlay-bottom) 100%)}.article-card__body{padding:var(--dc-space-5);display:flex;flex-direction:column;gap:var(--dc-space-3);flex:1}.article-card__category{font-size:var(--dc-label-sm);font-weight:700;color:var(--dc-primary);letter-spacing:var(--dc-tracking-wider);text-transform:uppercase}.article-card__date{font-size:var(--dc-label-sm);color:var(--dc-on-surface-variant)}.article-card__title{font-family:var(--dc-font-display);font-size:var(--dc-title-lg);font-weight:700;color:var(--dc-on-surface);letter-spacing:var(--dc-tracking-tight);line-height:1.3;margin:0}.article-card--featured .article-card__title{font-size:var(--dc-headline-sm)}.article-card__excerpt{font-size:var(--dc-body-sm);color:var(--dc-on-surface-variant);line-height:1.6;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.article-card__byline{display:flex;align-items:center;gap:var(--dc-space-2);margin-top:auto}.article-card__author-avatar{width:24px;height:24px;border-radius:var(--dc-round-full);background:linear-gradient(135deg, var(--dc-primary), var(--dc-primary-dim));display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:var(--dc-on-primary);flex-shrink:0}.article-card__author{display:block;font-size:var(--dc-label-md);font-weight:600;color:var(--dc-on-surface)}.article-card__author-role{display:block;font-size:var(--dc-label-sm);color:var(--dc-on-surface-variant)}.article-card__read-more{display:flex;align-items:center;gap:var(--dc-space-1);font-size:var(--dc-label-sm);color:var(--dc-primary);margin-left:auto}`;
|
|
103
|
+
|
|
104
|
+
const DcArticleCard = class {
|
|
105
|
+
constructor(hostRef) {
|
|
106
|
+
registerInstance(this, hostRef);
|
|
107
|
+
this.category = '';
|
|
108
|
+
this.heading = '';
|
|
109
|
+
this.excerpt = '';
|
|
110
|
+
this.date = '';
|
|
111
|
+
this.author = '';
|
|
112
|
+
this.authorRole = '';
|
|
113
|
+
this.imageUrl = '';
|
|
114
|
+
this.featured = false;
|
|
115
|
+
}
|
|
116
|
+
render() {
|
|
117
|
+
return (h("article", { key: '520f8dc527b674523094963a9fe21caa1bfe1cff', class: `article-card ${this.featured ? 'article-card--featured' : ''}` }, this.featured && this.imageUrl && (h("div", { key: '8f190538fbacc6e87be7573a5d91fce8c1f9dd53', class: "article-card__image" }, h("img", { key: '120e1b8d46076ab89333565f9b0c6b98ad6b2850', src: this.imageUrl, alt: this.heading }), h("div", { key: 'a31961b7c434a95ba063f5a0a121c5b3b4709484', class: "article-card__image-overlay" }))), h("div", { key: 'dd331d9b8896566747539b658d4e3c77eff11798', class: "article-card__body" }, this.category && (h("span", { key: '26f6c42e629c2576715d3c0b43ec61a73edbf8f1', class: "article-card__category" }, this.category)), this.date && !this.featured && (h("span", { key: '3d05f2ae1b3b102558422307b545f144ea920cd4', class: "article-card__date" }, this.date)), this.date && this.featured && (h("span", { key: '492c6989b62416e891349a7027ce9cade8be229a', class: "article-card__date" }, this.date)), h("h3", { key: 'aa7a850253dbf612ba16fa9b628a2abd25a74083', class: "article-card__title" }, this.heading), this.excerpt && (h("p", { key: '933fd34f4f424d95f94d05eacbe6b4694cc580a8', class: "article-card__excerpt" }, this.excerpt)), (this.author || this.authorRole) && (h("div", { key: 'b0a42dd52449991dab675fd2d492c6646f7f9dfc', class: "article-card__byline" }, h("div", { key: '2ea5b62143c7f4796f46faca3e6f1fa7419b6c93', class: "article-card__author-avatar" }, this.author.charAt(0)), h("div", { key: 'b1e7ff029659a237da73c7421f5742b1ce655a60' }, h("span", { key: 'e4a71f5e73610d6b5fcce237cd30a1f9eb8512ea', class: "article-card__author" }, this.author), this.authorRole && h("span", { key: '936042578927a847d0601bdfba58afafcc57cbf9', class: "article-card__author-role" }, this.authorRole)), h("span", { key: '5435de2d1ecb991c8500bbb3c7e22b3f3dc7f361', class: "article-card__read-more" }, h("svg", { key: '49186537061817a26ded5538a8b5cf185b5c5e1e', width: "14", height: "14", viewBox: "0 0 24 24", fill: "none" }, h("path", { key: '7304d21f204471e939ebeeeb51d3eb817e392262', d: "M5 12h14M12 5l7 7-7 7", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" })), "More"))))));
|
|
118
|
+
}
|
|
119
|
+
};
|
|
120
|
+
DcArticleCard.style = lusterArticleCardCss();
|
|
121
|
+
|
|
122
|
+
const lusterBadgeCss = () => `:host{display:inline-flex}.badge{display:inline-flex;align-items:center;gap:var(--dc-space-1);border-radius:var(--dc-round-full);font-family:var(--dc-font-body);font-weight:700;letter-spacing:var(--dc-tracking-wide);text-transform:uppercase;white-space:nowrap}.badge--sm{padding:2px var(--dc-space-2);font-size:10px}.badge--md{padding:var(--dc-space-1) var(--dc-space-3);font-size:var(--dc-label-sm)}.badge__dot{width:6px;height:6px;border-radius:var(--dc-round-full);background:currentColor;flex-shrink:0}.badge--default{background:rgba(64, 72, 93, 0.4);color:var(--dc-on-surface-variant)}.badge--primary{background:rgba(163, 166, 255, 0.15);color:var(--dc-primary)}.badge--success{background:rgba(76, 206, 172, 0.15);color:var(--dc-success)}.badge--warning{background:rgba(255, 209, 102, 0.15);color:var(--dc-warning)}.badge--error{background:rgba(255, 180, 171, 0.15);color:var(--dc-error)}.badge--beta{background:rgba(182, 174, 228, 0.15);color:var(--dc-secondary)}.badge--live{background:rgba(76, 206, 172, 0.2);color:var(--dc-success);animation:pulse 2s infinite}@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.7}}`;
|
|
123
|
+
|
|
124
|
+
const DcBadge = class {
|
|
125
|
+
constructor(hostRef) {
|
|
126
|
+
registerInstance(this, hostRef);
|
|
127
|
+
this.variant = 'default';
|
|
128
|
+
this.dot = false;
|
|
129
|
+
this.size = 'md';
|
|
130
|
+
}
|
|
131
|
+
render() {
|
|
132
|
+
return (h("span", { key: '4d49db25a7cb0f0bc72b5b7da55c7bdaca4a56a6', class: `badge badge--${this.variant} badge--${this.size}` }, this.dot && h("span", { key: '592ddbcbdfaa412bec7fa021c1e0d230d6716f41', class: "badge__dot" }), h("slot", { key: '8dcb4f58ac4c236ba6a1de5e22afed861bf78a7f' })));
|
|
133
|
+
}
|
|
134
|
+
};
|
|
135
|
+
DcBadge.style = lusterBadgeCss();
|
|
136
|
+
|
|
137
|
+
const lusterButtonCss = () => `:host{display:inline-flex}:host([full-width]){display:flex;width:100%}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--dc-space-2);border:none;border-radius:var(--dc-round-2);font-family:var(--dc-font-body);font-weight:600;cursor:pointer;text-decoration:none;white-space:nowrap;position:relative;overflow:hidden;transition:all var(--dc-transition-base);letter-spacing:0.01em}.btn--full{width:100%}.btn--sm{padding:var(--dc-space-1) var(--dc-space-3);font-size:var(--dc-label-md);height:32px}.btn--md{padding:var(--dc-space-2) var(--dc-space-5);font-size:var(--dc-body-md);height:40px}.btn--lg{padding:var(--dc-space-3) var(--dc-space-6);font-size:var(--dc-body-lg);height:48px}.btn--primary{background:linear-gradient(135deg, var(--dc-primary) 0%, var(--dc-primary-dim) 100%);color:var(--dc-on-primary);box-shadow:var(--dc-btn-primary-shadow)}.btn--primary:hover:not(:disabled){background:var(--dc-btn-primary-gradient-hover);box-shadow:var(--dc-btn-primary-shadow-hover);transform:translateY(-1px)}.btn--primary:active:not(:disabled){transform:translateY(0);box-shadow:var(--dc-btn-primary-shadow-press)}.btn--secondary{background:transparent;color:var(--dc-on-surface);border:1px solid var(--dc-border-strong)}.btn--secondary:hover:not(:disabled){background:var(--dc-hover-tint-icon);border-color:var(--dc-border-hover)}.btn--tertiary{background:transparent;color:var(--dc-primary);padding-left:var(--dc-space-2);padding-right:var(--dc-space-2)}.btn--tertiary:hover:not(:disabled){color:var(--dc-primary-fixed);background:var(--dc-hover-tint-strong)}.btn--destructive{background:transparent;color:var(--dc-error);border:1px solid var(--dc-error-border)}.btn--destructive:hover:not(:disabled){background:var(--dc-error-bg);border-color:var(--dc-error-border-hover)}.btn:disabled{opacity:0.4;cursor:not-allowed;transform:none !important;box-shadow:none !important}.btn--loading{cursor:wait}.btn__spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--dc-spinner-border);border-top-color:currentColor;border-radius:var(--dc-round-full);animation:spin 0.6s linear infinite}.btn__content{display:inline-flex;align-items:center;gap:var(--dc-space-2)}@keyframes spin{to{transform:rotate(360deg)}}`;
|
|
138
|
+
|
|
139
|
+
const DcButton = class {
|
|
140
|
+
constructor(hostRef) {
|
|
141
|
+
registerInstance(this, hostRef);
|
|
142
|
+
this.dcClick = createEvent(this, "dcClick");
|
|
143
|
+
this.variant = 'primary';
|
|
144
|
+
this.size = 'md';
|
|
145
|
+
this.disabled = false;
|
|
146
|
+
this.loading = false;
|
|
147
|
+
this.fullWidth = false;
|
|
148
|
+
this.type = 'button';
|
|
149
|
+
this.handleClick = () => {
|
|
150
|
+
if (!this.disabled && !this.loading) {
|
|
151
|
+
this.dcClick.emit();
|
|
152
|
+
}
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
render() {
|
|
156
|
+
return (h("button", { key: 'b1f275431288cf48cdcd77fd0ff0ce94ed6c7471', class: [
|
|
157
|
+
'btn',
|
|
158
|
+
`btn--${this.variant}`,
|
|
159
|
+
`btn--${this.size}`,
|
|
160
|
+
this.loading ? 'btn--loading' : '',
|
|
161
|
+
this.fullWidth ? 'btn--full' : '',
|
|
162
|
+
].filter(Boolean).join(' '), disabled: this.disabled || this.loading, type: this.type, onClick: this.handleClick }, this.loading && (h("span", { key: '024a89db11699ec8f4a2606cf550ad060cf9981a', class: "btn__spinner", "aria-hidden": "true" })), h("span", { key: '8586524c1551bdf8dc6d5c597f5fc5ecebd54054', class: "btn__content" }, h("slot", { key: '5f8ace974b28574208c5f4fc146573d0bdb100c3' }))));
|
|
163
|
+
}
|
|
164
|
+
};
|
|
165
|
+
DcButton.style = lusterButtonCss();
|
|
166
|
+
|
|
167
|
+
const lusterCheckboxCss = () => `:host{display:inline-flex}.checkbox{display:inline-flex;align-items:center;gap:var(--dc-space-3);cursor:pointer;user-select:none}.checkbox--disabled{opacity:0.4;cursor:not-allowed}.checkbox__box{width:18px;height:18px;border-radius:var(--dc-round-1);border:1.5px solid var(--dc-border-strong);background:var(--dc-surface-container-lowest);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--dc-transition-fast);color:var(--dc-on-primary)}.checkbox__box--checked,.checkbox__box--indeterminate{background:var(--dc-primary);border-color:var(--dc-primary)}.checkbox:hover .checkbox__box:not(.checkbox__box--checked){border-color:var(--dc-primary);background:var(--dc-hover-tint-strong)}.checkbox__label{font-family:var(--dc-font-body);font-size:var(--dc-body-md);color:var(--dc-on-surface)}`;
|
|
168
|
+
|
|
169
|
+
const DcCheckbox = class {
|
|
170
|
+
constructor(hostRef) {
|
|
171
|
+
registerInstance(this, hostRef);
|
|
172
|
+
this.dcChange = createEvent(this, "dcChange");
|
|
173
|
+
this.label = '';
|
|
174
|
+
this.checked = false;
|
|
175
|
+
this.disabled = false;
|
|
176
|
+
this.indeterminate = false;
|
|
177
|
+
this.value = '';
|
|
178
|
+
this.innerChecked = false;
|
|
179
|
+
this.handleChange = () => {
|
|
180
|
+
if (!this.disabled) {
|
|
181
|
+
this.innerChecked = !this.innerChecked;
|
|
182
|
+
this.dcChange.emit(this.innerChecked);
|
|
183
|
+
}
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
componentWillLoad() {
|
|
187
|
+
this.innerChecked = this.checked;
|
|
188
|
+
}
|
|
189
|
+
render() {
|
|
190
|
+
return (h("label", { key: '045e94d76f2ba6cc1ebbcbb3bfa82289fc761d31', class: `checkbox ${this.disabled ? 'checkbox--disabled' : ''}`, onClick: this.handleChange }, h("span", { key: '2ec03e604ef10657e8cdde93c9878b22525a3b35', class: `checkbox__box ${this.innerChecked ? 'checkbox__box--checked' : ''} ${this.indeterminate ? 'checkbox__box--indeterminate' : ''}` }, this.innerChecked && !this.indeterminate && (h("svg", { key: 'ab90b16c273244ca84f22ae31053f28c620480fd', width: "10", height: "8", viewBox: "0 0 10 8", fill: "none" }, h("path", { key: 'c333e014a043775ceddeebbefbac1e05441e942e', d: "M1 4L3.5 6.5L9 1", stroke: "currentColor", "stroke-width": "1.8", "stroke-linecap": "round", "stroke-linejoin": "round" }))), this.indeterminate && (h("svg", { key: '919fbd28b4d3d69a799ee92ff8bce515a855a4c1', width: "10", height: "2", viewBox: "0 0 10 2", fill: "none" }, h("line", { key: '055debe6bfd40ed0a67c62553c1219e3d30a8d52', x1: "1", y1: "1", x2: "9", y2: "1", stroke: "currentColor", "stroke-width": "1.8", "stroke-linecap": "round" })))), this.label && h("span", { key: '6e0a0ab1e3d2a61df2c97fa407761eabd927ef76', class: "checkbox__label" }, this.label)));
|
|
191
|
+
}
|
|
192
|
+
};
|
|
193
|
+
DcCheckbox.style = lusterCheckboxCss();
|
|
194
|
+
|
|
195
|
+
const lusterColorSwatchCss = () => `:host{display:inline-flex}.swatch{display:flex;flex-direction:column;gap:var(--dc-space-2)}.swatch__color{border-radius:var(--dc-round-3);transition:transform var(--dc-transition-fast)}.swatch__color:hover{transform:scale(1.03)}.swatch--sm .swatch__color{width:60px;height:60px}.swatch--md .swatch__color{width:80px;height:80px}.swatch--lg .swatch__color{width:100px;height:100px}.swatch__info{display:flex;flex-direction:column;gap:2px}.swatch__name{font-size:var(--dc-label-sm);font-weight:600;color:var(--dc-on-surface);white-space:nowrap}.swatch__hex{font-size:var(--dc-label-sm);color:var(--dc-on-surface-variant);font-family:monospace}`;
|
|
196
|
+
|
|
197
|
+
const DcColorSwatch = class {
|
|
198
|
+
constructor(hostRef) {
|
|
199
|
+
registerInstance(this, hostRef);
|
|
200
|
+
this.color = '#a3a6ff';
|
|
201
|
+
this.name = '';
|
|
202
|
+
this.hex = '';
|
|
203
|
+
this.size = 'md';
|
|
204
|
+
}
|
|
205
|
+
render() {
|
|
206
|
+
return (h("div", { key: '6ea9cb759f0d060dd393e6de23429c4b515d7139', class: `swatch swatch--${this.size}` }, h("div", { key: '8b6883cc045ed739c80b10bc416d64156a873109', class: "swatch__color", style: { backgroundColor: this.color } }), h("div", { key: '5c9b62e83b8442a29a623bd8ac1503f78bc965e5', class: "swatch__info" }, this.name && h("span", { key: '5ab7e003ed7158297661bde476f1fbc66e96ff88', class: "swatch__name" }, this.name), this.hex && h("span", { key: 'df26e2458cad5537e2cbd00765256ae2b4eae9ca', class: "swatch__hex" }, this.hex))));
|
|
207
|
+
}
|
|
208
|
+
};
|
|
209
|
+
DcColorSwatch.style = lusterColorSwatchCss();
|
|
210
|
+
|
|
211
|
+
const lusterFeatureQuoteCss = () => `:host{display:block}.feature-quote{margin:0;padding:var(--dc-space-6) var(--dc-space-8);border-left:4px solid var(--dc-primary);background:var(--dc-surface-container-high);border-radius:0 var(--dc-round-4) var(--dc-round-4) 0;position:relative}.feature-quote--large{padding:var(--dc-space-8) var(--dc-space-10);border-radius:var(--dc-round-4);border-left:4px solid var(--dc-primary)}.feature-quote--inline{background:transparent;padding:var(--dc-space-4) var(--dc-space-6)}.feature-quote__mark{position:absolute;top:var(--dc-space-3);left:var(--dc-space-5);font-family:var(--dc-font-display);font-size:3rem;color:var(--dc-primary);opacity:0.4;line-height:1}.feature-quote__text{font-family:var(--dc-font-display);font-size:var(--dc-headline-sm);font-weight:700;font-style:italic;color:var(--dc-primary-fixed);line-height:1.4;letter-spacing:var(--dc-tracking-tight);margin:0}.feature-quote--large .feature-quote__text{font-size:var(--dc-headline-md)}.feature-quote__attribution{margin-top:var(--dc-space-4)}.feature-quote__author-wrap{display:flex;align-items:center;gap:var(--dc-space-3)}.feature-quote__author-avatar{width:28px;height:28px;border-radius:var(--dc-round-full);background:linear-gradient(135deg, var(--dc-primary), var(--dc-primary-dim));display:flex;align-items:center;justify-content:center;font-size:var(--dc-label-sm);font-weight:700;color:var(--dc-on-primary);flex-shrink:0}.feature-quote__author{display:block;font-size:var(--dc-label-md);font-weight:600;color:var(--dc-on-surface)}.feature-quote__role{display:block;font-size:var(--dc-label-sm);color:var(--dc-on-surface-variant)}`;
|
|
212
|
+
|
|
213
|
+
const DcFeatureQuote = class {
|
|
214
|
+
constructor(hostRef) {
|
|
215
|
+
registerInstance(this, hostRef);
|
|
216
|
+
this.quote = '';
|
|
217
|
+
this.author = '';
|
|
218
|
+
this.role = '';
|
|
219
|
+
this.variant = 'default';
|
|
220
|
+
}
|
|
221
|
+
render() {
|
|
222
|
+
return (h("blockquote", { key: '4ed1344a05bfd89c63005ba64b8cd9a32db0f6c5', class: `feature-quote feature-quote--${this.variant}` }, h("span", { key: '47bdfd40fe685f876b64b421ff706afdc42c0541', class: "feature-quote__mark" }, "\""), h("p", { key: '1b3f0735be2544ab0332455875f12c4d3ca51865', class: "feature-quote__text" }, this.quote || h("slot", { key: 'f012c749d221d62ef919c898e181547a154e4b85' })), (this.author || this.role) && (h("footer", { key: '04740fe325d696cfa258e4e946b2385cfa5b2173', class: "feature-quote__attribution" }, this.author && (h("div", { key: '25c2a6ca4d16b965d7563a495ee8350a7ca93e4a', class: "feature-quote__author-wrap" }, h("div", { key: '9e8a34dfe0c05de5440a3d63700fec4b749264c3', class: "feature-quote__author-avatar" }, this.author.charAt(0)), h("div", { key: '113098f2c5fdbecf0d8088d265ddef76c0751776' }, h("span", { key: 'e140de5e35d6aec4fe974d55f2f3b14b4f6c33b8', class: "feature-quote__author" }, this.author), this.role && h("span", { key: 'fd6bd76a054ba0eda2deec30d596d2dc35495bd3', class: "feature-quote__role" }, this.role))))))));
|
|
223
|
+
}
|
|
224
|
+
};
|
|
225
|
+
DcFeatureQuote.style = lusterFeatureQuoteCss();
|
|
226
|
+
|
|
227
|
+
const lusterHeroCss = () => `:host{display:block}.hero{position:relative;min-height:320px;border-radius:var(--dc-round-4);overflow:hidden;display:flex;align-items:flex-end}.hero__bg{position:absolute;inset:0}.hero__bg-img{width:100%;height:100%;object-fit:cover;object-position:center}.hero__bg-overlay{position:absolute;inset:0;background:var(--dc-overlay-surface)}.hero__bg-gradient{position:absolute;inset:0;background:linear-gradient( to top, var(--dc-image-overlay-bottom) 0%, var(--dc-image-overlay-top) 50%, transparent 100% )}.hero--parallax .hero__bg::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 20% 30%, var(--dc-hero-glow-primary) 0%, transparent 50%), radial-gradient(ellipse at 80% 60%, var(--dc-hero-glow-dim) 0%, transparent 40%), radial-gradient(ellipse at 50% 80%, var(--dc-hero-glow-secondary) 0%, transparent 40%), var(--dc-surface-container);z-index:1}.hero__content{position:relative;z-index:2;padding:var(--dc-space-10) var(--dc-space-10) var(--dc-space-8);display:flex;flex-direction:column;gap:var(--dc-space-4);width:100%}.hero__section{font-size:var(--dc-label-sm);font-weight:700;color:var(--dc-primary);letter-spacing:var(--dc-tracking-wider);text-transform:uppercase}.hero__title{font-family:var(--dc-font-display);font-size:var(--dc-display-md);font-weight:800;color:var(--dc-on-surface);letter-spacing:var(--dc-tracking-tight);line-height:1.05;margin:0;max-width:560px}.hero__subtitle{font-size:var(--dc-body-md);color:var(--dc-on-surface-variant);max-width:480px;margin:0;line-height:1.6}.hero__actions{display:flex;gap:var(--dc-space-3);flex-wrap:wrap}.hero__layer-badge{position:absolute;top:var(--dc-space-4);right:var(--dc-space-4);z-index:2;display:flex;flex-direction:column;align-items:flex-end;gap:2px}.hero__layer-text{font-size:var(--dc-label-sm);font-weight:600;color:var(--dc-hero-badge-text);letter-spacing:var(--dc-tracking-wide)}.hero__layer-sub{font-size:10px;color:var(--dc-hero-badge-sub);font-family:monospace}`;
|
|
228
|
+
|
|
229
|
+
const DcHero = class {
|
|
230
|
+
constructor(hostRef) {
|
|
231
|
+
registerInstance(this, hostRef);
|
|
232
|
+
this.heading = '';
|
|
233
|
+
this.subtitle = '';
|
|
234
|
+
this.section = '';
|
|
235
|
+
this.imageUrl = '';
|
|
236
|
+
this.parallax = false;
|
|
237
|
+
}
|
|
238
|
+
render() {
|
|
239
|
+
return (h("section", { key: '1cb214e7059158e7153d468b9fa840ce98f10aeb', class: `hero ${this.parallax ? 'hero--parallax' : ''}` }, h("div", { key: '4547dbead7926629a4e915ea8cf33d56679baa49', class: "hero__bg" }, this.imageUrl && (h("img", { key: 'c07cc9f3c5416a05f6034ae5d4ac0a8ada6f6f8f', class: "hero__bg-img", src: this.imageUrl, alt: "", "aria-hidden": "true" })), h("div", { key: 'e81099f7d4601beac31e59058488195ac4a0fc22', class: "hero__bg-overlay" }), h("div", { key: 'e5cc125505c0b58ad75d31417b07d298743407ec', class: "hero__bg-gradient" })), h("div", { key: '74a713512ea9aba2e79202814b21d50017169576', class: "hero__content" }, this.section && (h("span", { key: '7d05f909669493c03fabc623b6716a8bd86e2493', class: "hero__section" }, this.section)), h("h1", { key: '4fdfe3e350c16222b084490593fb231d090b490a', class: "hero__title" }, this.heading), this.subtitle && (h("p", { key: 'f30209ac7d84bfe259b0852b2779c50bc1a9f4bd', class: "hero__subtitle" }, this.subtitle)), h("div", { key: 'b2f9656bdb0a921d95b328771457ac841ed03df9', class: "hero__actions" }, h("slot", { key: '758806782726fc7e4b66b037afe554e524d05c74' }))), h("div", { key: 'b6468db237dfc6b2e859117bd1419c746a8e0032', class: "hero__layer-badge" }, h("span", { key: '2bc5f3dc8f6b16bfb3ac18c76d8cd656e48c4bfa', class: "hero__layer-text" }, "Parallax Layer 01"), h("span", { key: '87d7d56dc8964cfd479e5cfea348424158f6fa7d', class: "hero__layer-sub" }, "depth: 0.3"))));
|
|
240
|
+
}
|
|
241
|
+
};
|
|
242
|
+
DcHero.style = lusterHeroCss();
|
|
243
|
+
|
|
244
|
+
const lusterInputCss = () => `:host{display:block}.input-wrapper{display:flex;flex-direction:column;gap:var(--dc-space-2)}.input__label{font-family:var(--dc-font-body);font-size:var(--dc-label-md);font-weight:600;color:var(--dc-on-surface-variant);letter-spacing:var(--dc-tracking-wide);text-transform:uppercase}.input__field-box{position:relative;border-radius:var(--dc-round-2);border:1px solid var(--dc-border-faint);background:var(--dc-surface-container-lowest);transition:border-color var(--dc-transition-base), box-shadow var(--dc-transition-base);overflow:hidden}.input-wrapper--focused .input__field-box{border-color:var(--dc-primary);box-shadow:0 0 0 3px var(--dc-focus-ring)}.input-wrapper--error .input__field-box{border-color:var(--dc-error);box-shadow:0 0 0 3px var(--dc-error-focus-ring)}.input-wrapper--disabled{opacity:0.5;pointer-events:none}.input__field{display:block;width:100%;padding:var(--dc-space-2) var(--dc-space-4);background:transparent;border:none;outline:none;color:var(--dc-on-surface);font-family:var(--dc-font-body);font-size:var(--dc-body-md);height:44px}.input__field::placeholder{color:var(--dc-on-surface-variant);opacity:0.6}.input__message{display:flex;align-items:center;gap:var(--dc-space-1);font-size:var(--dc-label-sm);color:var(--dc-on-surface-variant)}.input__message--error{color:var(--dc-error)}`;
|
|
245
|
+
|
|
246
|
+
const DcInput = class {
|
|
247
|
+
constructor(hostRef) {
|
|
248
|
+
registerInstance(this, hostRef);
|
|
249
|
+
this.dcChange = createEvent(this, "dcChange");
|
|
250
|
+
this.dcInput = createEvent(this, "dcInput");
|
|
251
|
+
this.dcFocus = createEvent(this, "dcFocus");
|
|
252
|
+
this.dcBlur = createEvent(this, "dcBlur");
|
|
253
|
+
this.label = '';
|
|
254
|
+
this.placeholder = '';
|
|
255
|
+
this.value = '';
|
|
256
|
+
this.type = 'text';
|
|
257
|
+
this.error = false;
|
|
258
|
+
this.errorMessage = '';
|
|
259
|
+
this.helperText = '';
|
|
260
|
+
this.disabled = false;
|
|
261
|
+
this.readonly = false;
|
|
262
|
+
this.name = '';
|
|
263
|
+
this.focused = false;
|
|
264
|
+
this.innerValue = '';
|
|
265
|
+
this.handleInput = (e) => {
|
|
266
|
+
const target = e.target;
|
|
267
|
+
this.innerValue = target.value;
|
|
268
|
+
this.dcInput.emit(target.value);
|
|
269
|
+
};
|
|
270
|
+
this.handleChange = (e) => {
|
|
271
|
+
const target = e.target;
|
|
272
|
+
this.dcChange.emit(target.value);
|
|
273
|
+
};
|
|
274
|
+
this.handleFocus = () => {
|
|
275
|
+
this.focused = true;
|
|
276
|
+
this.dcFocus.emit();
|
|
277
|
+
};
|
|
278
|
+
this.handleBlur = () => {
|
|
279
|
+
this.focused = false;
|
|
280
|
+
this.dcBlur.emit();
|
|
281
|
+
};
|
|
282
|
+
}
|
|
283
|
+
componentWillLoad() {
|
|
284
|
+
this.innerValue = this.value;
|
|
285
|
+
}
|
|
286
|
+
render() {
|
|
287
|
+
const hasError = this.error;
|
|
288
|
+
const wrapperClass = [
|
|
289
|
+
'input-wrapper',
|
|
290
|
+
hasError ? 'input-wrapper--error' : '',
|
|
291
|
+
this.focused ? 'input-wrapper--focused' : '',
|
|
292
|
+
this.disabled ? 'input-wrapper--disabled' : '',
|
|
293
|
+
].filter(Boolean).join(' ');
|
|
294
|
+
return (h("div", { key: '9973fc5e101503b63bc060f0e0c5f3eba3367543', class: wrapperClass }, this.label && (h("label", { key: '0fcf79b73c6a04ecd40b2d0f1cc85f87cc5fd6ac', class: "input__label" }, this.label)), h("div", { key: '135a4b38ddcaf1a09e968cc629ee3cf59a2261af', class: "input__field-box" }, h("input", { key: '9aa11ddc2c5808ee174f5279b8d5544a3392f389', class: "input__field", type: this.type, placeholder: this.placeholder, value: this.innerValue, disabled: this.disabled, readonly: this.readonly, name: this.name, onInput: this.handleInput, onChange: this.handleChange, onFocus: this.handleFocus, onBlur: this.handleBlur })), hasError && this.errorMessage && (h("span", { key: 'eafa6c55b09c8b8fbcd5cd1f2350993cf7c9199f', class: "input__message input__message--error" }, h("svg", { key: '619cef649ef4e5b82df131844e336a06f3881ad1', width: "12", height: "12", viewBox: "0 0 24 24", fill: "none" }, h("circle", { key: '23c0e89e4c895e2884ff99031c0f282fa8435e96', cx: "12", cy: "12", r: "10", stroke: "currentColor", "stroke-width": "2" }), h("line", { key: '377ffaea6f80ee4806ad824fd0de312d94fd0f52', x1: "12", y1: "8", x2: "12", y2: "12", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round" }), h("line", { key: 'd1d67467a4f4f4a97b4da3822d536031ad63112a', x1: "12", y1: "16", x2: "12.01", y2: "16", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round" })), this.errorMessage)), !hasError && this.helperText && (h("span", { key: 'ac62c67973896a90db17efd5c0029695a1a7fe79', class: "input__message" }, this.helperText))));
|
|
295
|
+
}
|
|
296
|
+
};
|
|
297
|
+
DcInput.style = lusterInputCss();
|
|
298
|
+
|
|
299
|
+
const lusterModalCss = () => `:host{display:block}.modal-overlay{position:fixed;inset:0;background:var(--dc-overlay-modal);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--dc-space-6);animation:fadeIn 0.2s ease-out}.modal{background:var(--dc-surface-container-highest);border-radius:var(--dc-round-5);box-shadow:var(--dc-shadow-xl);border:1px solid var(--dc-border-default);display:flex;flex-direction:column;animation:scaleIn 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);overflow:hidden;max-height:90vh}.modal--sm{width:380px}.modal--md{width:520px}.modal--lg{width:680px}.modal__header{padding:var(--dc-space-6);padding-bottom:var(--dc-space-4);position:relative;display:flex;flex-direction:column;gap:var(--dc-space-2)}.modal__title{font-family:var(--dc-font-display);font-size:var(--dc-headline-sm);font-weight:700;color:var(--dc-on-surface);letter-spacing:var(--dc-tracking-tight);margin:0;padding-right:var(--dc-space-8)}.modal__subtitle{font-size:var(--dc-body-sm);color:var(--dc-on-surface-variant);margin:0;line-height:1.5}.modal__close{position:absolute;top:var(--dc-space-5);right:var(--dc-space-5);width:32px;height:32px;background:var(--dc-close-bg);border:none;border-radius:var(--dc-round-full);color:var(--dc-on-surface-variant);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--dc-transition-fast)}.modal__close:hover{background:var(--dc-close-hover);color:var(--dc-on-surface)}.modal__body{padding:var(--dc-space-4) var(--dc-space-6);flex:1;overflow-y:auto}.modal__footer{padding:var(--dc-space-4) var(--dc-space-6) var(--dc-space-6);display:flex;justify-content:flex-end;gap:var(--dc-space-3);border-top:1px solid var(--dc-border-faint)}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes scaleIn{from{opacity:0;transform:scale(0.94) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}`;
|
|
300
|
+
|
|
301
|
+
const DcModal = class {
|
|
302
|
+
constructor(hostRef) {
|
|
303
|
+
registerInstance(this, hostRef);
|
|
304
|
+
this.dcClose = createEvent(this, "dcClose");
|
|
305
|
+
this.dcConfirm = createEvent(this, "dcConfirm");
|
|
306
|
+
this.open = false;
|
|
307
|
+
this.heading = '';
|
|
308
|
+
this.subtitle = '';
|
|
309
|
+
this.confirmLabel = 'Proceed';
|
|
310
|
+
this.cancelLabel = 'Cancel';
|
|
311
|
+
this.size = 'md';
|
|
312
|
+
this.visible = false;
|
|
313
|
+
this.handleClose = () => {
|
|
314
|
+
this.open = false;
|
|
315
|
+
this.visible = false;
|
|
316
|
+
this.dcClose.emit();
|
|
317
|
+
};
|
|
318
|
+
this.handleConfirm = () => {
|
|
319
|
+
this.dcConfirm.emit();
|
|
320
|
+
this.handleClose();
|
|
321
|
+
};
|
|
322
|
+
}
|
|
323
|
+
watchOpen(newValue) {
|
|
324
|
+
this.visible = newValue;
|
|
325
|
+
}
|
|
326
|
+
componentWillLoad() {
|
|
327
|
+
this.visible = this.open;
|
|
328
|
+
}
|
|
329
|
+
render() {
|
|
330
|
+
if (!this.visible)
|
|
331
|
+
return null;
|
|
332
|
+
return (h("div", { class: "modal-overlay", onClick: e => {
|
|
333
|
+
if (e.target.classList.contains('modal-overlay'))
|
|
334
|
+
this.handleClose();
|
|
335
|
+
} }, h("div", { class: `modal modal--${this.size}`, role: "dialog", "aria-modal": "true" }, h("div", { class: "modal__header" }, this.heading && h("h2", { class: "modal__title" }, this.heading), this.subtitle && h("p", { class: "modal__subtitle" }, this.subtitle), h("button", { class: "modal__close", onClick: this.handleClose, "aria-label": "Close" }, h("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none" }, h("line", { x1: "18", y1: "6", x2: "6", y2: "18", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round" }), h("line", { x1: "6", y1: "6", x2: "18", y2: "18", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round" })))), h("div", { class: "modal__body" }, h("slot", null)), h("div", { class: "modal__footer" }, h("slot", { name: "footer" }, h("luster-button", { variant: "secondary", onDcClick: this.handleClose }, this.cancelLabel), h("luster-button", { variant: "primary", onDcClick: this.handleConfirm }, this.confirmLabel))))));
|
|
336
|
+
}
|
|
337
|
+
static get watchers() { return {
|
|
338
|
+
"open": [{
|
|
339
|
+
"watchOpen": 0
|
|
340
|
+
}]
|
|
341
|
+
}; }
|
|
342
|
+
};
|
|
343
|
+
DcModal.style = lusterModalCss();
|
|
344
|
+
|
|
345
|
+
const lusterNavbarCss = () => `:host{display:block;position:sticky;top:0;z-index:100}.navbar{display:flex;align-items:center;gap:var(--dc-space-6);padding:var(--dc-space-3) var(--dc-space-6);background:var(--dc-glass-nav);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--dc-border-default)}.navbar__logo{display:flex;align-items:center;gap:var(--dc-space-3);flex-shrink:0;text-decoration:none}.navbar__logo-text{display:flex;flex-direction:column;line-height:1.2}.navbar__logo-title{font-family:var(--dc-font-display);font-size:var(--dc-label-lg);font-weight:700;color:var(--dc-on-surface);white-space:nowrap}.navbar__logo-sub{font-size:var(--dc-label-sm);font-weight:600;color:var(--dc-on-surface-variant);letter-spacing:var(--dc-tracking-wider);text-transform:uppercase}.navbar__nav{display:flex;align-items:center;gap:var(--dc-space-1);flex:1}.navbar__link{font-size:var(--dc-body-md);font-weight:500;color:var(--dc-on-surface-variant);text-decoration:none;cursor:pointer;padding:var(--dc-space-1) var(--dc-space-3);border-radius:var(--dc-round-2);transition:color var(--dc-transition-fast), background var(--dc-transition-fast)}.navbar__link:hover{color:var(--dc-on-surface);background:var(--dc-hover-tint-md)}.navbar__link--active{color:var(--dc-on-surface);font-weight:600}.navbar__actions{display:flex;align-items:center;gap:var(--dc-space-2);flex-shrink:0}.navbar__search{display:flex;align-items:center;gap:var(--dc-space-2);background:var(--dc-glass-search);border:1px solid var(--dc-border-medium);border-radius:var(--dc-round-full);padding:var(--dc-space-1) var(--dc-space-3);transition:border-color var(--dc-transition-fast)}.navbar__search:focus-within{border-color:var(--dc-focus-ring-hover)}.navbar__search-icon{color:var(--dc-on-surface-variant);flex-shrink:0}.navbar__search-input{background:none;border:none;outline:none;color:var(--dc-on-surface);font-family:var(--dc-font-body);font-size:var(--dc-body-sm);width:140px}.navbar__search-input::placeholder{color:var(--dc-on-surface-variant)}.navbar__icon-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;background:none;border:none;border-radius:var(--dc-round-full);color:var(--dc-on-surface-variant);cursor:pointer;transition:background var(--dc-transition-fast), color var(--dc-transition-fast)}.navbar__icon-btn:hover{background:var(--dc-hover-tint-icon-md);color:var(--dc-on-surface)}.navbar__avatar{width:30px;height:30px;border-radius:var(--dc-round-full);background:linear-gradient(135deg, var(--dc-primary), var(--dc-primary-dim));display:flex;align-items:center;justify-content:center;font-family:var(--dc-font-display);font-size:10px;font-weight:700;color:var(--dc-on-primary);cursor:pointer;flex-shrink:0}`;
|
|
346
|
+
|
|
347
|
+
const DcNavbar = class {
|
|
348
|
+
constructor(hostRef) {
|
|
349
|
+
registerInstance(this, hostRef);
|
|
350
|
+
this.logoTitle = 'The Digital Curator';
|
|
351
|
+
this.logoSub = 'EDITORIAL SYSTEM';
|
|
352
|
+
this.activeLink = 'explorer';
|
|
353
|
+
}
|
|
354
|
+
render() {
|
|
355
|
+
return (h("nav", { key: 'e5dbbb0cc263cb87e559918ef5cc38fb3cfde204', class: "navbar" }, h("div", { key: 'f95606c6b5af2ae3ce1cab758f7c66b2f87f515c', class: "navbar__logo" }, h("div", { key: 'd482f382cddea590500018f3deb56bce9a3d1c14', class: "navbar__logo-icon" }, h("svg", { key: 'bc8261415478dfb00d86a6d39a0325c0cf93c95e', width: "22", height: "22", viewBox: "0 0 22 22", fill: "none" }, h("rect", { key: 'f13bf8767bbc656a51fbb2a93fb1cc47facaa35c', x: "2", y: "2", width: "8", height: "8", rx: "1.5", fill: "var(--dc-primary)", opacity: "0.9" }), h("rect", { key: 'd0424e2e33f7e13e2bf7a8058495f29bf9f6db8c', x: "12", y: "2", width: "8", height: "8", rx: "1.5", fill: "var(--dc-primary)", opacity: "0.55" }), h("rect", { key: '7c60e5ad1f221330882f26bedcdb091b4ce1d52a', x: "2", y: "12", width: "8", height: "8", rx: "1.5", fill: "var(--dc-primary)", opacity: "0.55" }), h("rect", { key: '2b513e2d6290e8879620533aa9c58ab49b1e4b32', x: "12", y: "12", width: "8", height: "8", rx: "1.5", fill: "var(--dc-primary)", opacity: "0.25" }))), h("div", { key: 'b3ca9864b28b79126c08275bca941fcf98354bc2', class: "navbar__logo-text" }, h("span", { key: 'aec2170c04b5d40cf32e5e8cfa2d860c84b002d0', class: "navbar__logo-title" }, this.logoTitle), h("span", { key: '5408c53b4aabcb10620b48d358d11ddc0f54c0b4', class: "navbar__logo-sub" }, this.logoSub))), h("div", { key: 'b0a4f7d1c7b157f87f3139bc9d97404c34108811', class: "navbar__nav" }, h("a", { key: '2db3c86508d3221e2f536121bc34be11a3f19d81', class: `navbar__link ${this.activeLink === 'explorer' ? 'navbar__link--active' : ''}` }, "Design System Explorer"), h("a", { key: '969e28208f8ed5b827c0a4bbe5ca355a3a7e04f2', class: "navbar__link" }, "Docs"), h("a", { key: 'b6acdb1baee7870c2cb58bb45aae9eb7d17a2159', class: "navbar__link" }, "Updates"), h("a", { key: 'dd590a967203a59a0f5200af95d11f0069da51a1', class: "navbar__link" }, "Community")), h("div", { key: 'c19d890b314017cdd5d4322e3b57ce5f4ae2051e', class: "navbar__actions" }, h("div", { key: '2cb9d4b178f73f85deda72a3a1838afbafae4bd0', class: "navbar__search" }, h("svg", { key: 'c2b50cfbb95a8910f18ed9a65771c4231f821640', class: "navbar__search-icon", width: "13", height: "13", viewBox: "0 0 24 24", fill: "none" }, h("circle", { key: 'b0844d54bdf2488c0f1631e2f1303b917fcbcafa', cx: "11", cy: "11", r: "8", stroke: "currentColor", "stroke-width": "2.5" }), h("path", { key: '8ae57987a06dc1adb093340e48b5507317b00159', d: "m21 21-4.35-4.35", stroke: "currentColor", "stroke-width": "2.5", "stroke-linecap": "round" })), h("input", { key: '4effb00bb7c2a3b6bd136cc579586953f7d138a4', class: "navbar__search-input", placeholder: "Search components..." })), h("button", { key: '87f4634d7546500bbfdd2a8e47654d745b1e6fe3', class: "navbar__icon-btn", "aria-label": "Notifications" }, h("svg", { key: '0cf8c5e5b4cd9856d17b377f456316ebe2293fb0', width: "17", height: "17", viewBox: "0 0 24 24", fill: "none" }, h("path", { key: '89b2fe4434e9a3021ff3c7d8782dba2956334ebb', d: "M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }), h("path", { key: '74aabe2b9558adb47eb460d995993423517c2baa', d: "M13.73 21a2 2 0 0 1-3.46 0", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round" }))), h("button", { key: '225948849df6c7f5b117a00a5a1ecf812c02b099', class: "navbar__icon-btn", "aria-label": "Settings" }, h("svg", { key: '841e4d3fa5a43c128a225cf242a9abe6958d4b09', width: "17", height: "17", viewBox: "0 0 24 24", fill: "none" }, h("circle", { key: 'df0e9409049654cab0aaf04a377f0ef829efa0be', cx: "12", cy: "12", r: "3", stroke: "currentColor", "stroke-width": "2" }), h("path", { key: 'f4e5f61b6706fc390c7221584dcd9e3ae6d86b9a', d: "M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83-2.83l.06-.06A1.65 1.65 0 0 0 4.68 15a1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 2.83-2.83l.06.06A1.65 1.65 0 0 0 9 4.68a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 2.83l-.06.06A1.65 1.65 0 0 0 19.4 9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z", stroke: "currentColor", "stroke-width": "2" }))), h("div", { key: '5fa98a2166329a036352f71f8f5e68e1d053460b', class: "navbar__avatar" }, "DC"))));
|
|
356
|
+
}
|
|
357
|
+
};
|
|
358
|
+
DcNavbar.style = lusterNavbarCss();
|
|
359
|
+
|
|
360
|
+
const lusterProfileCardCss = () => `:host{display:block}.profile-card{display:flex;flex-direction:column;align-items:center;gap:var(--dc-space-4);padding:var(--dc-space-6);background:var(--dc-surface-container-high);border-radius:var(--dc-round-4);text-align:center}.profile-card__avatar{width:80px;height:80px;border-radius:var(--dc-round-full);background:linear-gradient(135deg, var(--dc-primary-dim), var(--dc-secondary-container));display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;box-shadow:0 0 0 3px var(--dc-focus-ring)}.profile-card__avatar-img{width:100%;height:100%;object-fit:cover}.profile-card__avatar-initials{font-family:var(--dc-font-display);font-size:var(--dc-headline-sm);font-weight:800;color:var(--dc-on-primary)}.profile-card__info{display:flex;flex-direction:column;gap:var(--dc-space-1)}.profile-card__name{font-family:var(--dc-font-display);font-size:var(--dc-title-lg);font-weight:700;color:var(--dc-on-surface);margin:0;letter-spacing:var(--dc-tracking-tight)}.profile-card__role{font-size:var(--dc-body-sm);color:var(--dc-on-surface-variant)}.profile-card__stats{display:flex;gap:var(--dc-space-6);width:100%;justify-content:center;padding:var(--dc-space-3) 0;border-top:1px solid var(--dc-border-faint);border-bottom:1px solid var(--dc-border-faint)}.profile-card__stat{display:flex;flex-direction:column;align-items:center;gap:2px}.profile-card__stat-value{font-family:var(--dc-font-display);font-size:var(--dc-headline-sm);font-weight:800;color:var(--dc-on-surface)}.profile-card__stat-label{font-size:var(--dc-label-sm);color:var(--dc-on-surface-variant);text-transform:uppercase;letter-spacing:var(--dc-tracking-wide)}`;
|
|
361
|
+
|
|
362
|
+
const DcProfileCard = class {
|
|
363
|
+
constructor(hostRef) {
|
|
364
|
+
registerInstance(this, hostRef);
|
|
365
|
+
this.name = '';
|
|
366
|
+
this.role = '';
|
|
367
|
+
this.avatar = '';
|
|
368
|
+
this.stat1Value = '';
|
|
369
|
+
this.stat1Label = '';
|
|
370
|
+
this.stat2Value = '';
|
|
371
|
+
this.stat2Label = '';
|
|
372
|
+
this.ctaLabel = 'View Portfolio';
|
|
373
|
+
}
|
|
374
|
+
render() {
|
|
375
|
+
return (h("div", { key: '69a8fff167fee4805499b3bb754d286c2287413b', class: "profile-card" }, h("div", { key: 'd2547d0cec607d9d001b3074f69557f06d863e3d', class: "profile-card__avatar" }, this.avatar
|
|
376
|
+
? h("img", { src: this.avatar, alt: this.name, class: "profile-card__avatar-img" })
|
|
377
|
+
: h("span", { class: "profile-card__avatar-initials" }, this.name.split(' ').map(n => n[0]).join('').slice(0, 2))), h("div", { key: '22f74d3a2982647a4fcfb807fb8ece81a59d2b9c', class: "profile-card__info" }, h("h3", { key: '06d8567c4c4be29e3653d39357fbf0235a907303', class: "profile-card__name" }, this.name), h("span", { key: '9e8500c7a3d5ee6c895d6209c067c9441dce7d2f', class: "profile-card__role" }, this.role)), (this.stat1Value || this.stat2Value) && (h("div", { key: '5dd61dcd4d290b140e50de1bf4ca3befb81d6f3a', class: "profile-card__stats" }, this.stat1Value && (h("div", { key: '2c972fdc9dd621540e7d7fc572df27bb61fef70a', class: "profile-card__stat" }, h("span", { key: '9693a5bb68e674a3c21681c8ba4b99ca12bf934c', class: "profile-card__stat-value" }, this.stat1Value), h("span", { key: 'ece29d1b9fdc7ebdc4461298bcae931f6d83e8ed', class: "profile-card__stat-label" }, this.stat1Label))), this.stat2Value && (h("div", { key: '211198eda038b08f6093289b7f97c8d5fdac6b6e', class: "profile-card__stat" }, h("span", { key: 'ce84623aeeed41e2b48f0e50a10b4b633fd5b246', class: "profile-card__stat-value" }, this.stat2Value), h("span", { key: 'dcfad2516563bdef51e37623a8fd3c474bea40a6', class: "profile-card__stat-label" }, this.stat2Label))))), h("luster-button", { key: '5de015471f6e29cc283aef60bb7097ec384b3b15', variant: "primary", "full-width": true }, this.ctaLabel)));
|
|
378
|
+
}
|
|
379
|
+
};
|
|
380
|
+
DcProfileCard.style = lusterProfileCardCss();
|
|
381
|
+
|
|
382
|
+
const lusterResourceTableCss = () => `:host{display:block}.resource-table{background:var(--dc-surface-container-high);border-radius:var(--dc-round-4);overflow:hidden}.resource-table__header{display:flex;align-items:center;justify-content:space-between;padding:var(--dc-space-4) var(--dc-space-6);border-bottom:1px solid var(--dc-border-faint)}.resource-table__section-label{font-family:var(--dc-font-display);font-size:var(--dc-title-sm);font-weight:700;color:var(--dc-on-surface)}.resource-table__actions{display:flex;align-items:center;gap:var(--dc-space-3)}.resource-table__filter-btn{display:flex;align-items:center;gap:var(--dc-space-2);padding:var(--dc-space-1) var(--dc-space-3);background:var(--dc-close-bg);border:1px solid var(--dc-border-medium);border-radius:var(--dc-round-2);color:var(--dc-on-surface-variant);font-family:var(--dc-font-body);font-size:var(--dc-label-md);font-weight:500;cursor:pointer;transition:all var(--dc-transition-fast)}.resource-table__filter-btn:hover{background:var(--dc-close-hover);color:var(--dc-on-surface)}.resource-table__table{width:100%;border-collapse:collapse}.resource-table__th{padding:var(--dc-space-3) var(--dc-space-6);text-align:left;font-size:var(--dc-label-sm);font-weight:700;color:var(--dc-on-surface-variant);letter-spacing:var(--dc-tracking-wide);text-transform:uppercase;background:var(--dc-surface-container)}.resource-table__row{transition:background var(--dc-transition-fast);border-bottom:1px solid var(--dc-divider)}.resource-table__row:hover{background:var(--dc-hover-tint)}.resource-table__row:last-child{border-bottom:none}.resource-table__td{padding:var(--dc-space-3) var(--dc-space-6);vertical-align:middle}.resource-table__name-cell{display:flex;align-items:center;gap:var(--dc-space-3)}.resource-table__row-icon{width:32px;height:32px;border-radius:var(--dc-round-2);background:var(--dc-icon-bg);flex-shrink:0}.resource-table__name{font-size:var(--dc-body-sm);font-weight:600;color:var(--dc-on-surface)}.resource-table__category{font-size:var(--dc-body-sm);color:var(--dc-on-surface-variant)}.score-bar{display:flex;align-items:center;gap:var(--dc-space-3)}.score-bar__track{flex:1;height:4px;background:var(--dc-close-hover);border-radius:var(--dc-round-full);overflow:hidden;min-width:80px}.score-bar__fill{height:100%;border-radius:var(--dc-round-full);transition:width var(--dc-transition-slow)}.score-bar__label{font-size:var(--dc-label-sm);color:var(--dc-on-surface-variant);min-width:24px}.resource-table__action-btn{background:none;border:none;color:var(--dc-on-surface-variant);cursor:pointer;padding:var(--dc-space-1);border-radius:var(--dc-round-2);display:flex;align-items:center;transition:all var(--dc-transition-fast)}.resource-table__action-btn:hover{background:var(--dc-hover-tint-icon-md);color:var(--dc-on-surface)}`;
|
|
383
|
+
|
|
384
|
+
const DcResourceTable = class {
|
|
385
|
+
constructor(hostRef) {
|
|
386
|
+
registerInstance(this, hostRef);
|
|
387
|
+
this.rows = '[]';
|
|
388
|
+
this.parsedRows = [];
|
|
389
|
+
}
|
|
390
|
+
componentWillLoad() {
|
|
391
|
+
if (typeof this.rows === 'string') {
|
|
392
|
+
try {
|
|
393
|
+
this.parsedRows = JSON.parse(this.rows);
|
|
394
|
+
}
|
|
395
|
+
catch (_a) {
|
|
396
|
+
this.parsedRows = [];
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
else {
|
|
400
|
+
this.parsedRows = this.rows;
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
getStatusVariant(status) {
|
|
404
|
+
if (status === 'active')
|
|
405
|
+
return 'success';
|
|
406
|
+
if (status === 'stable')
|
|
407
|
+
return 'primary';
|
|
408
|
+
if (status === 'beta')
|
|
409
|
+
return 'beta';
|
|
410
|
+
return 'error';
|
|
411
|
+
}
|
|
412
|
+
renderScoreBar(score) {
|
|
413
|
+
const color = score >= 80 ? 'var(--dc-primary)' : score >= 50 ? 'var(--dc-warning)' : 'var(--dc-error)';
|
|
414
|
+
return (h("div", { class: "score-bar" }, h("div", { class: "score-bar__track" }, h("div", { class: "score-bar__fill", style: { width: `${score}%`, background: color } })), h("span", { class: "score-bar__label" }, score)));
|
|
415
|
+
}
|
|
416
|
+
render() {
|
|
417
|
+
return (h("div", { key: '6bdeb9b52ef5582e7f0e8c393c9227c80f84f008', class: "resource-table" }, h("div", { key: 'e0487a74bad62fa8b102dff89a0830a5699b5ed0', class: "resource-table__header" }, h("span", { key: '569ff5a31ce8851b717d860cac1572a2276b4570', class: "resource-table__section-label" }, "Resource Registry"), h("div", { key: '1188c11c3ac56f061e7b8e429ca4124cf4eb9003', class: "resource-table__actions" }, h("button", { key: '6918269ebfdc7036de0f215af7917f6c4fd30fef', class: "resource-table__filter-btn" }, h("svg", { key: 'df3013ce155e854c73e119b4cb6460a64dc8c745', width: "14", height: "14", viewBox: "0 0 24 24", fill: "none" }, h("polygon", { key: '8c6e8e05f16f1ae2381ea5854cfbe895d649b50c', points: "22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3", stroke: "currentColor", "stroke-width": "2", "stroke-linejoin": "round" })), "Filter"), h("luster-button", { key: '8f279527c0c382383606b8adc630fd073d1a0228', variant: "primary", size: "sm" }, h("svg", { key: '9084bef4d4a7c36a65ec2ad638e8ac2306fe9e8b', width: "12", height: "12", viewBox: "0 0 24 24", fill: "none" }, h("line", { key: 'f0fe5080bf336f57543d7c2674c89133799c446e', x1: "12", y1: "5", x2: "12", y2: "19", stroke: "currentColor", "stroke-width": "2.5", "stroke-linecap": "round" }), h("line", { key: '2ba13c955df243e207f23412fd83711d739bd7c7', x1: "5", y1: "12", x2: "19", y2: "12", stroke: "currentColor", "stroke-width": "2.5", "stroke-linecap": "round" })), "New Resource"))), h("table", { key: 'babbd76b01ed435059b1aa464bfb8b18d232b055', class: "resource-table__table" }, h("thead", { key: 'c4c6c3da19b5fc1ffd6054972d5984559e91ba21' }, h("tr", { key: '99ef959a0097257388338bd19fdd5bc5c3034135' }, h("th", { key: '4620f3a90752404ed11a6b0fb5bd61b46593bdc6', class: "resource-table__th" }, "Resource Name"), h("th", { key: '56a8d39b968cb1792df91eb33a15f52e25b5f033', class: "resource-table__th" }, "Category"), h("th", { key: '2f73489d579a24238ff62bccd275869afcf5ca5e', class: "resource-table__th" }, "Status"), h("th", { key: '6bacb56a5f7243da34c64da024aee65eadf86183', class: "resource-table__th" }, "Score"), h("th", { key: '7a0d111e4a20b1d249343c3b0f7c5a1125aff7eb', class: "resource-table__th" }, "Actions"))), h("tbody", { key: '86dbffb47088aac4ca6f549e5813c3cab148419a' }, this.parsedRows.map((row, i) => (h("tr", { key: i, class: "resource-table__row" }, h("td", { class: "resource-table__td resource-table__td--name" }, h("div", { class: "resource-table__name-cell" }, h("div", { class: "resource-table__row-icon" }), h("span", { class: "resource-table__name" }, row.name))), h("td", { class: "resource-table__td" }, h("span", { class: "resource-table__category" }, row.category)), h("td", { class: "resource-table__td" }, h("luster-badge", { variant: this.getStatusVariant(row.status), dot: true }, row.status.charAt(0).toUpperCase() + row.status.slice(1))), h("td", { class: "resource-table__td" }, this.renderScoreBar(row.score)), h("td", { class: "resource-table__td" }, h("button", { class: "resource-table__action-btn", "aria-label": "More actions" }, h("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none" }, h("circle", { cx: "12", cy: "5", r: "1.5", fill: "currentColor" }), h("circle", { cx: "12", cy: "12", r: "1.5", fill: "currentColor" }), h("circle", { cx: "12", cy: "19", r: "1.5", fill: "currentColor" })))))))))));
|
|
418
|
+
}
|
|
419
|
+
};
|
|
420
|
+
DcResourceTable.style = lusterResourceTableCss();
|
|
421
|
+
|
|
422
|
+
const lusterSidebarCss = () => `:host{display:flex;flex-direction:column;width:196px;min-width:196px;background:var(--dc-surface-container-low);height:100%;overflow:hidden}.sidebar{display:flex;flex-direction:column;height:100%;padding:var(--dc-space-4) 0}.sidebar__nav{flex:1;display:flex;flex-direction:column;gap:2px;padding:0 var(--dc-space-3);overflow-y:auto}.sidebar__item{display:flex;align-items:center;gap:var(--dc-space-3);padding:var(--dc-space-2) var(--dc-space-3);border-radius:var(--dc-round-2);cursor:pointer;text-decoration:none;color:var(--dc-on-surface-variant);font-family:var(--dc-font-body);font-size:var(--dc-body-md);font-weight:500;transition:all var(--dc-transition-fast);line-height:1.3}.sidebar__item:hover{background:var(--dc-hover-tint-md);color:var(--dc-on-surface)}.sidebar__item--active{background:var(--dc-focus-ring);color:var(--dc-primary)}.sidebar__item--active .sidebar__icon{color:var(--dc-primary)}.sidebar__item--sm{padding:var(--dc-space-1) var(--dc-space-3);font-size:var(--dc-label-md)}.sidebar__icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:inherit}.sidebar__label{line-height:1.2}.sidebar__bottom{padding:var(--dc-space-3) var(--dc-space-3) 0;display:flex;flex-direction:column;gap:var(--dc-space-2);border-top:1px solid var(--dc-border-default);margin-top:var(--dc-space-3)}.sidebar__new-btn{display:flex;align-items:center;justify-content:center;gap:var(--dc-space-2);padding:var(--dc-space-2) var(--dc-space-3);background:var(--dc-hover-tint-strong);border:1px solid var(--dc-focus-ring);border-radius:var(--dc-round-2);color:var(--dc-primary);font-family:var(--dc-font-body);font-size:var(--dc-label-md);font-weight:600;cursor:pointer;transition:all var(--dc-transition-fast);width:100%}.sidebar__new-btn:hover{background:var(--dc-hover-tint-strong);border-color:var(--dc-focus-ring-hover)}.sidebar__footer-links{display:flex;flex-direction:column;gap:2px}.sidebar__user{display:flex;align-items:center;gap:var(--dc-space-3);padding:var(--dc-space-2) 0 var(--dc-space-2) var(--dc-space-1)}.sidebar__user-avatar{width:30px;height:30px;border-radius:var(--dc-round-full);background:linear-gradient(135deg, var(--dc-primary), var(--dc-primary-dim));display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:var(--dc-on-primary);flex-shrink:0}.sidebar__user-info{display:flex;flex-direction:column;gap:1px;overflow:hidden}.sidebar__user-name{font-size:var(--dc-label-md);font-weight:600;color:var(--dc-on-surface);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar__user-role{font-size:var(--dc-label-sm);color:var(--dc-on-surface-variant)}`;
|
|
423
|
+
|
|
424
|
+
const DcSidebar = class {
|
|
425
|
+
constructor(hostRef) {
|
|
426
|
+
registerInstance(this, hostRef);
|
|
427
|
+
this.dcNavChange = createEvent(this, "dcNavChange");
|
|
428
|
+
this.active = 'foundations';
|
|
429
|
+
this.handleNav = (key) => {
|
|
430
|
+
this.dcNavChange.emit(key);
|
|
431
|
+
};
|
|
432
|
+
this.navItems = [
|
|
433
|
+
{ key: 'foundations', label: 'Foundations' },
|
|
434
|
+
{ key: 'buttons-inputs', label: 'Buttons & Inputs' },
|
|
435
|
+
{ key: 'navigation', label: 'Navigation & Feedback' },
|
|
436
|
+
{ key: 'cards', label: 'Cards & Data' },
|
|
437
|
+
];
|
|
438
|
+
this.icons = {
|
|
439
|
+
foundations: (h("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none" }, h("polygon", { points: "12,3 22,21 2,21", stroke: "currentColor", "stroke-width": "2", "stroke-linejoin": "round" }))),
|
|
440
|
+
'buttons-inputs': (h("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none" }, h("rect", { x: "3", y: "9", width: "18", height: "7", rx: "3.5", stroke: "currentColor", "stroke-width": "2" }))),
|
|
441
|
+
navigation: (h("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none" }, h("path", { d: "M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round" }), h("path", { d: "M13.73 21a2 2 0 0 1-3.46 0", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round" }))),
|
|
442
|
+
cards: (h("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none" }, h("rect", { x: "2", y: "4", width: "20", height: "13", rx: "2", stroke: "currentColor", "stroke-width": "2" }), h("path", { d: "M8 21h8M12 17v4", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round" }))),
|
|
443
|
+
};
|
|
444
|
+
}
|
|
445
|
+
render() {
|
|
446
|
+
return (h("aside", { key: '156bbdcd26532849231a17a0a25ada7e0b3ee49a', class: "sidebar" }, h("nav", { key: '0792a2cb932ef1e01be65b0e71b9b120007173ae', class: "sidebar__nav" }, this.navItems.map(item => (h("a", { key: item.key, class: `sidebar__item ${this.active === item.key ? 'sidebar__item--active' : ''}`, onClick: () => this.handleNav(item.key) }, h("span", { class: "sidebar__icon" }, this.icons[item.key]), h("span", { class: "sidebar__label" }, item.label))))), h("div", { key: '6569f9b239cc95c7af704bf6b8967912891e4669', class: "sidebar__bottom" }, h("button", { key: '5e49de90b28d51d366e30429308f5b088ea79de7', class: "sidebar__new-btn" }, h("svg", { key: 'b4adaf5f40fd916ee79cfa4ed31539cca891c3c0', width: "14", height: "14", viewBox: "0 0 24 24", fill: "none" }, h("line", { key: '2a1a1342289c742b5a19e9726d880f82d5391ae5', x1: "12", y1: "5", x2: "12", y2: "19", stroke: "currentColor", "stroke-width": "2.5", "stroke-linecap": "round" }), h("line", { key: '1c1af82ededac05213f765bf2b59dfaf842b72f3', x1: "5", y1: "12", x2: "19", y2: "12", stroke: "currentColor", "stroke-width": "2.5", "stroke-linecap": "round" })), "New Component"), h("div", { key: '415530b5a67ee42bec580664a27e5f050a124f64', class: "sidebar__footer-links" }, h("a", { key: 'f063c1d69506f587936dce24bf95ec475ab2c49a', class: "sidebar__item sidebar__item--sm" }, h("span", { key: '38aa317619f9f1a513f36e59fcfa6d0a9425472b', class: "sidebar__icon" }, h("svg", { key: 'ad5890e87a9e6ed96b2aea2267b773f2f0a22adc', width: "15", height: "15", viewBox: "0 0 24 24", fill: "none" }, h("circle", { key: 'cffb2dd618636cf8eb382f9ebdfbd3ff3f5e5474', cx: "12", cy: "12", r: "3", stroke: "currentColor", "stroke-width": "2" }), h("path", { key: 'a31d2b3c9ca5379940350f385a62520e141c4af5', d: "M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83-2.83l.06-.06A1.65 1.65 0 0 0 4.68 15a1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 2.83-2.83l.06.06A1.65 1.65 0 0 0 9 4.68a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 2.83l-.06.06A1.65 1.65 0 0 0 19.4 9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z", stroke: "currentColor", "stroke-width": "2" }))), h("span", { key: '9551440506113e8fb2e58ac849882962a2775a7a', class: "sidebar__label" }, "Settings")), h("a", { key: 'b406df93302d530917a0486b3e397339d0356092', class: "sidebar__item sidebar__item--sm" }, h("span", { key: 'd04b4f834fd2e84c08545e4cf73330c8bd6d3b79', class: "sidebar__icon" }, h("svg", { key: 'f9098ac49052cf9f959cea295b8dd9493a9d3635', width: "15", height: "15", viewBox: "0 0 24 24", fill: "none" }, h("circle", { key: 'cbb8a5bea8c9dfaa4413a435a670c87691d808ff', cx: "12", cy: "12", r: "10", stroke: "currentColor", "stroke-width": "2" }), h("path", { key: '38b50c506b9ec19bb443e555d1bae07f4819d134', d: "M12 16v-4M12 8h.01", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round" }))), h("span", { key: '65eb38a28de5d699eab95214ff7fd3c239d81d3e', class: "sidebar__label" }, "Support"))), h("div", { key: '13a36b659c7e9f3330c875477b051d6437822920', class: "sidebar__user" }, h("div", { key: 'cbf4b6a7ccd4bf4849c15762a967d612d67d487e', class: "sidebar__user-avatar" }, "AV"), h("div", { key: '2af195de05155ecd5ffcd9c612ec83f037316ad6', class: "sidebar__user-info" }, h("span", { key: 'a004b37c87e90aad0feae298da542966baabc871', class: "sidebar__user-name" }, "Alex Curator"), h("span", { key: '421c4155582025707eb780b30a71e1412ebabd19', class: "sidebar__user-role" }, "Lead Editor"))))));
|
|
447
|
+
}
|
|
448
|
+
};
|
|
449
|
+
DcSidebar.style = lusterSidebarCss();
|
|
450
|
+
|
|
451
|
+
const lusterStatCardCss = () => `:host{display:block}.stat-card{background:var(--dc-surface-container-high);border-radius:var(--dc-round-4);padding:var(--dc-space-5);display:flex;flex-direction:column;gap:var(--dc-space-4);transition:background var(--dc-transition-base), box-shadow var(--dc-transition-base);cursor:default}.stat-card:hover{background:var(--dc-surface-bright);box-shadow:var(--dc-shadow-md)}.stat-card__header{display:flex;justify-content:space-between;align-items:flex-start}.stat-card__icon-wrap{width:40px;height:40px;border-radius:var(--dc-round-3);background:var(--dc-icon-bg);display:flex;align-items:center;justify-content:center}.stat-card__icon{color:var(--dc-primary);display:flex}.stat-card__icon-placeholder{width:20px;height:20px;border-radius:var(--dc-round-1);background:var(--dc-primary-dim);opacity:0.4}.stat-card__body{flex:1;display:flex;flex-direction:column;gap:var(--dc-space-2)}.stat-card__title{font-family:var(--dc-font-display);font-size:var(--dc-title-md);font-weight:700;color:var(--dc-on-surface);margin:0}.stat-card__desc{font-size:var(--dc-body-sm);color:var(--dc-on-surface-variant);margin:0;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.stat-card__footer{display:flex;align-items:center;justify-content:space-between;gap:var(--dc-space-2)}.stat-card__meta{display:flex;align-items:center;gap:var(--dc-space-2);flex-wrap:wrap}.stat-card__users{display:flex;align-items:center;gap:var(--dc-space-1);font-size:var(--dc-label-sm);color:var(--dc-on-surface-variant)}`;
|
|
452
|
+
|
|
453
|
+
const DcStatCard = class {
|
|
454
|
+
constructor(hostRef) {
|
|
455
|
+
registerInstance(this, hostRef);
|
|
456
|
+
this.heading = '';
|
|
457
|
+
this.description = '';
|
|
458
|
+
this.version = '';
|
|
459
|
+
this.status = 'active';
|
|
460
|
+
this.users = '';
|
|
461
|
+
this.hasToggle = false;
|
|
462
|
+
this.toggleOn = false;
|
|
463
|
+
this.icon = '';
|
|
464
|
+
}
|
|
465
|
+
render() {
|
|
466
|
+
return (h("div", { key: '67edcd065e8dbe0bbab3293a1c2d3113966b2e92', class: "stat-card" }, h("div", { key: '34def7d2976c9aa72c80cf97f016fe0198fcb224', class: "stat-card__header" }, h("div", { key: '7dd6a1fddc56da32b1c4ab70d95a47e62b32b201', class: "stat-card__icon-wrap" }, this.icon
|
|
467
|
+
? h("span", { class: "stat-card__icon", innerHTML: this.icon })
|
|
468
|
+
: h("div", { class: "stat-card__icon-placeholder" }))), h("div", { key: '927d66d98c96284de9d702b4722f9a248f1fd5ad', class: "stat-card__body" }, h("h4", { key: 'd3e4ec0f889cb4c7a5dbae3c91be59af454cff69', class: "stat-card__title" }, this.heading), h("p", { key: 'cf66fdc344ce596626b4431e81c8a3dd9108dab9', class: "stat-card__desc" }, this.description)), h("div", { key: '7b8b1dc652ace8c975d944b8833af5ab01c7bfed', class: "stat-card__footer" }, h("div", { key: '3154ab32f16a58f3640cfae5e4a26ad402f2a306', class: "stat-card__meta" }, this.version && h("luster-badge", { key: '3cb211b7547c2e67d737c683f2f1aaa8023bf17e', variant: "default", size: "sm" }, this.version), this.status === 'beta' && h("luster-badge", { key: '81ef69da5d4fb0c22f17f48d133e262d3189aa18', variant: "beta", size: "sm" }, "Beta"), this.users && (h("span", { key: 'eab97e42ba598fb004be8bd1b995e2575ff0a769', class: "stat-card__users" }, h("svg", { key: '0b44cb51ab317b08c3ea4dc516e046101a3825ab', width: "12", height: "12", viewBox: "0 0 24 24", fill: "none" }, h("path", { key: 'a727ca4a5b7b4d47c4f4c29f716fa43999da498a', d: "M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2", stroke: "currentColor", "stroke-width": "2" }), h("circle", { key: '486f29a519eae561aaf9489bcad926e964bfe48f', cx: "9", cy: "7", r: "4", stroke: "currentColor", "stroke-width": "2" }), h("path", { key: 'bfcacb0897e2074d5fdc79c979e81357c7b8adea', d: "M23 21v-2a4 4 0 0 0-3-3.87M16 3.13a4 4 0 0 1 0 7.75", stroke: "currentColor", "stroke-width": "2" })), this.users))), this.hasToggle && h("luster-toggle", { key: '30b1744edb34562a3db4ae1773fa4b8ef7a33a79', checked: this.toggleOn }))));
|
|
469
|
+
}
|
|
470
|
+
};
|
|
471
|
+
DcStatCard.style = lusterStatCardCss();
|
|
472
|
+
|
|
473
|
+
const lusterTabsCss = () => `:host{display:block}.tabs{display:flex;flex-direction:column;gap:var(--dc-space-4)}.tabs__list{display:flex;align-items:center;gap:var(--dc-space-1);background:var(--dc-surface-container-low);border-radius:var(--dc-round-2);padding:var(--dc-space-1);width:fit-content}.tabs__tab{padding:var(--dc-space-1) var(--dc-space-4);border:none;border-radius:var(--dc-round-1);background:transparent;color:var(--dc-on-surface-variant);font-family:var(--dc-font-body);font-size:var(--dc-body-sm);font-weight:500;cursor:pointer;transition:all var(--dc-transition-fast);white-space:nowrap}.tabs__tab:hover{color:var(--dc-on-surface);background:rgba(64, 72, 93, 0.3)}.tabs__tab--active{background:var(--dc-surface-container-high);color:var(--dc-on-surface);font-weight:600}`;
|
|
474
|
+
|
|
475
|
+
const DcTabs = class {
|
|
476
|
+
constructor(hostRef) {
|
|
477
|
+
registerInstance(this, hostRef);
|
|
478
|
+
this.dcTabChange = createEvent(this, "dcTabChange");
|
|
479
|
+
this.tabs = '';
|
|
480
|
+
this.active = '';
|
|
481
|
+
this.activeTab = '';
|
|
482
|
+
this.parsedTabs = [];
|
|
483
|
+
}
|
|
484
|
+
componentWillLoad() {
|
|
485
|
+
var _a, _b;
|
|
486
|
+
if (typeof this.tabs === 'string') {
|
|
487
|
+
try {
|
|
488
|
+
this.parsedTabs = JSON.parse(this.tabs);
|
|
489
|
+
}
|
|
490
|
+
catch (_c) {
|
|
491
|
+
this.parsedTabs = [];
|
|
492
|
+
}
|
|
493
|
+
}
|
|
494
|
+
else {
|
|
495
|
+
this.parsedTabs = this.tabs;
|
|
496
|
+
}
|
|
497
|
+
this.activeTab = this.active || ((_b = (_a = this.parsedTabs[0]) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : '');
|
|
498
|
+
}
|
|
499
|
+
selectTab(value) {
|
|
500
|
+
this.activeTab = value;
|
|
501
|
+
this.dcTabChange.emit(value);
|
|
502
|
+
}
|
|
503
|
+
render() {
|
|
504
|
+
return (h("div", { key: '68e5a001a3c7e9f98a9239b18a3a54c8ded0c961', class: "tabs" }, h("div", { key: '5d14c39512d3e64c8a76745480b8a5789349d488', class: "tabs__list", role: "tablist" }, this.parsedTabs.map(tab => (h("button", { key: tab.value, class: `tabs__tab ${this.activeTab === tab.value ? 'tabs__tab--active' : ''}`, role: "tab", "aria-selected": this.activeTab === tab.value ? 'true' : 'false', onClick: () => this.selectTab(tab.value) }, tab.label)))), h("slot", { key: '2412bfdc1670989f3c348b1f289572cec10bd80f' })));
|
|
505
|
+
}
|
|
506
|
+
};
|
|
507
|
+
DcTabs.style = lusterTabsCss();
|
|
508
|
+
|
|
509
|
+
const lusterToggleCss = () => `:host{display:inline-flex}.toggle{display:inline-flex;align-items:center;gap:var(--dc-space-3);cursor:pointer}.toggle--disabled{opacity:0.4;cursor:not-allowed}.toggle__label{font-size:var(--dc-body-md);color:var(--dc-on-surface)}.toggle__track{position:relative;width:40px;height:22px;border-radius:var(--dc-round-full);background:var(--dc-border-strong);border:none;cursor:pointer;transition:background var(--dc-transition-base);padding:0;flex-shrink:0}.toggle__track--on{background:var(--dc-primary-dim)}.toggle__thumb{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:var(--dc-round-full);background:white;transition:transform var(--dc-transition-base);display:block}.toggle__track--on .toggle__thumb{transform:translateX(18px)}`;
|
|
510
|
+
|
|
511
|
+
const DcToggle = class {
|
|
512
|
+
constructor(hostRef) {
|
|
513
|
+
registerInstance(this, hostRef);
|
|
514
|
+
this.dcChange = createEvent(this, "dcChange");
|
|
515
|
+
this.label = '';
|
|
516
|
+
this.checked = false;
|
|
517
|
+
this.disabled = false;
|
|
518
|
+
this.innerChecked = false;
|
|
519
|
+
this.handleToggle = () => {
|
|
520
|
+
if (!this.disabled) {
|
|
521
|
+
this.innerChecked = !this.innerChecked;
|
|
522
|
+
this.dcChange.emit(this.innerChecked);
|
|
523
|
+
}
|
|
524
|
+
};
|
|
525
|
+
}
|
|
526
|
+
componentWillLoad() {
|
|
527
|
+
this.innerChecked = this.checked;
|
|
528
|
+
}
|
|
529
|
+
render() {
|
|
530
|
+
return (h("label", { key: '539add927a6a67d6a1461946a31299ca0e86d848', class: `toggle ${this.disabled ? 'toggle--disabled' : ''}` }, this.label && h("span", { key: '8c881782b2dfe533c03db72bc94a3abd3c83e4a7', class: "toggle__label" }, this.label), h("button", { key: '6f512fd79089b7008386fc9a546870ccd694ca87', class: `toggle__track ${this.innerChecked ? 'toggle__track--on' : ''}`, role: "switch", "aria-checked": this.innerChecked ? 'true' : 'false', disabled: this.disabled, onClick: this.handleToggle }, h("span", { key: '341416b72ffe057213e369a5ee3ef403a65f1b20', class: "toggle__thumb" }))));
|
|
531
|
+
}
|
|
532
|
+
};
|
|
533
|
+
DcToggle.style = lusterToggleCss();
|
|
534
|
+
|
|
535
|
+
export { DcAccordion as luster_accordion, DcActivityItem as luster_activity_item, DcAlert as luster_alert, DcArticleCard as luster_article_card, DcBadge as luster_badge, DcButton as luster_button, DcCheckbox as luster_checkbox, DcColorSwatch as luster_color_swatch, DcFeatureQuote as luster_feature_quote, DcHero as luster_hero, DcInput as luster_input, DcModal as luster_modal, DcNavbar as luster_navbar, DcProfileCard as luster_profile_card, DcResourceTable as luster_resource_table, DcSidebar as luster_sidebar, DcStatCard as luster_stat_card, DcTabs as luster_tabs, DcToggle as luster_toggle };
|