@api-client/ui 0.6.9 → 0.6.11
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/build/src/md/button/internals/group.styles.d.ts.map +1 -1
- package/build/src/md/button/internals/group.styles.js +1 -0
- package/build/src/md/button/internals/group.styles.js.map +1 -1
- package/build/src/modeling/domain-template-browser.d.ts.map +1 -1
- package/build/src/modeling/domain-template-browser.js +2 -1
- package/build/src/modeling/domain-template-browser.js.map +1 -1
- package/build/src/modeling/internals/DomainTemplateBrowser.d.ts.map +1 -1
- package/build/src/modeling/internals/DomainTemplateBrowser.js +25 -1
- package/build/src/modeling/internals/DomainTemplateBrowser.js.map +1 -1
- package/build/src/modeling/internals/styles/DomainTemplateBrowser.styles.d.ts.map +1 -1
- package/build/src/modeling/internals/styles/DomainTemplateBrowser.styles.js +12 -0
- package/build/src/modeling/internals/styles/DomainTemplateBrowser.styles.js.map +1 -1
- package/build/src/styles/m3/tokens.js +33 -33
- package/build/src/styles/m3/tokens.js.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/md/button/internals/group.styles.ts +1 -0
- package/src/modeling/domain-template-browser.ts +2 -1
- package/src/modeling/internals/DomainTemplateBrowser.ts +26 -1
- package/src/modeling/internals/styles/DomainTemplateBrowser.styles.ts +12 -0
- package/src/styles/m3/tokens.ts +33 -33
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"group.styles.d.ts","sourceRoot":"","sources":["../../../../../src/md/button/internals/group.styles.ts"],"names":[],"mappings":";AAGA,
|
|
1
|
+
{"version":3,"file":"group.styles.d.ts","sourceRoot":"","sources":["../../../../../src/md/button/internals/group.styles.ts"],"names":[],"mappings":";AAGA,wBAmGC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"group.styles.js","sourceRoot":"","sources":["../../../../../src/md/button/internals/group.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAEzB,qEAAqE;AACrE,eAAe,GAAG,CAAA
|
|
1
|
+
{"version":3,"file":"group.styles.js","sourceRoot":"","sources":["../../../../../src/md/button/internals/group.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAEzB,qEAAqE;AACrE,eAAe,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmGjB,CAAA","sourcesContent":["import { css } from 'lit'\n\n/* Material Design 3 Expressive Button - CSS-Native Implementation */\nexport default css`\n :host {\n display: flex;\n flex-wrap: wrap;\n\n --_gap: 8px;\n --_xs-radius: 16px;\n --_s-radius: 20px;\n --_m-radius: 28px;\n --_l-radius: 48px;\n --_xl-radius: 68px;\n\n gap: var(--_gap);\n }\n\n :host([size='xs'][type='standard']) {\n --_gap: 18px;\n }\n :host([size='xs'][type='connected']) {\n --_gap: 2px;\n }\n\n :host([size='s'][type='standard']) {\n --_gap: 12px;\n }\n :host([size='s'][type='connected']) {\n --_gap: 2px;\n }\n\n :host([size='m'][type='standard']) {\n --_gap: 8px;\n }\n :host([size='m'][type='connected']) {\n --_gap: 2px;\n }\n\n :host([size='l'][type='standard']) {\n --_gap: 8px;\n }\n :host([size='l'][type='connected']) {\n --_gap: 2px;\n }\n\n :host([size='xl'][type='standard']) {\n --_gap: 8px;\n }\n :host([size='xl'][type='connected']) {\n --_gap: 2px;\n }\n\n :host([type='connected']) ::slotted(ui-button[size='xs']:first-child) {\n --ui-button-shape-start-start: var(--_xs-radius);\n --ui-button-shape-end-start: var(--_xs-radius);\n }\n\n :host([type='connected']) ::slotted(ui-button[size='s']:first-child) {\n --ui-button-shape-start-start: var(--_s-radius);\n --ui-button-shape-end-start: var(--_s-radius);\n }\n\n :host([type='connected']) ::slotted(ui-button[size='m']:first-child) {\n --ui-button-shape-start-start: var(--_m-radius);\n --ui-button-shape-end-start: var(--_m-radius);\n }\n\n :host([type='connected']) ::slotted(ui-button[size='l']:first-child) {\n --ui-button-shape-start-start: var(--_l-radius);\n --ui-button-shape-end-start: var(--_l-radius);\n }\n\n :host([type='connected']) ::slotted(ui-button[size='xl']:first-child) {\n --ui-button-shape-start-start: var(--_xl-radius);\n --ui-button-shape-end-start: var(--_xl-radius);\n }\n\n :host([type='connected']) ::slotted(ui-button[size='xs']:last-child) {\n --ui-button-shape-start-end: var(--_xs-radius);\n --ui-button-shape-end-end: var(--_xs-radius);\n }\n\n :host([type='connected']) ::slotted(ui-button[size='s']:last-child) {\n --ui-button-shape-start-end: var(--_s-radius);\n --ui-button-shape-end-end: var(--_s-radius);\n }\n\n :host([type='connected']) ::slotted(ui-button[size='m']:last-child) {\n --ui-button-shape-start-end: var(--_m-radius);\n --ui-button-shape-end-end: var(--_m-radius);\n }\n\n :host([type='connected']) ::slotted(ui-button[size='l']:last-child) {\n --ui-button-shape-start-end: var(--_l-radius);\n --ui-button-shape-end-end: var(--_l-radius);\n }\n\n :host([type='connected']) ::slotted(ui-button[size='xl']:last-child) {\n --ui-button-shape-start-end: var(--_xl-radius);\n --ui-button-shape-end-end: var(--_xl-radius);\n }\n`\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domain-template-browser.d.ts","sourceRoot":"","sources":["../../../src/modeling/domain-template-browser.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,sCAAsC,CAAA;
|
|
1
|
+
{"version":3,"file":"domain-template-browser.d.ts","sourceRoot":"","sources":["../../../src/modeling/domain-template-browser.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,sCAAsC,CAAA;AAI1D,OAAO,2BAA2B,CAAA;AAClC,OAAO,iCAAiC,CAAA;AACxC,OAAO,wBAAwB,CAAA;AAC/B,OAAO,4CAA4C,CAAA;AAEnD,qBACa,4BAA6B,SAAQ,OAAO;IACvD,OAAgB,MAAM,4BAAuB;CAC9C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,yBAAyB,EAAE,4BAA4B,CAAA;KACxD;CACF"}
|
|
@@ -2,6 +2,7 @@ import { __esDecorate, __runInitializers } from "tslib";
|
|
|
2
2
|
import { customElement } from 'lit/decorators.js';
|
|
3
3
|
import Element from './internals/DomainTemplateBrowser.js';
|
|
4
4
|
import styles from './internals/styles/DomainTemplateBrowser.styles.js';
|
|
5
|
+
import typography from '../styles/m3/typography.module.js';
|
|
5
6
|
import '../md/button/ui-button.js';
|
|
6
7
|
import '../md/button/ui-button-group.js';
|
|
7
8
|
import '../md/icons/ui-icon.js';
|
|
@@ -20,7 +21,7 @@ let DomainTemplateBrowserElement = (() => {
|
|
|
20
21
|
DomainTemplateBrowserElement = _classThis = _classDescriptor.value;
|
|
21
22
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
22
23
|
}
|
|
23
|
-
static styles = [styles];
|
|
24
|
+
static styles = [styles, typography];
|
|
24
25
|
static {
|
|
25
26
|
__runInitializers(_classThis, _classExtraInitializers);
|
|
26
27
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domain-template-browser.js","sourceRoot":"","sources":["../../../src/modeling/domain-template-browser.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,OAAO,MAAM,sCAAsC,CAAA;AAC1D,OAAO,MAAM,MAAM,oDAAoD,CAAA;
|
|
1
|
+
{"version":3,"file":"domain-template-browser.js","sourceRoot":"","sources":["../../../src/modeling/domain-template-browser.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,OAAO,MAAM,sCAAsC,CAAA;AAC1D,OAAO,MAAM,MAAM,oDAAoD,CAAA;AACvE,OAAO,UAAU,MAAM,mCAAmC,CAAA;AAE1D,OAAO,2BAA2B,CAAA;AAClC,OAAO,iCAAiC,CAAA;AACxC,OAAO,wBAAwB,CAAA;AAC/B,OAAO,4CAA4C,CAAA;IAGtC,4BAA4B;4BADxC,aAAa,CAAC,yBAAyB,CAAC;;;;sBACS,OAAO;4CAAf,SAAQ,WAAO;;;;YAAzD,6KAEC;;;;QADC,MAAM,CAAU,MAAM,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;;YADlC,uDAA4B;;;;;SAA5B,4BAA4B","sourcesContent":["import { customElement } from 'lit/decorators.js'\nimport Element from './internals/DomainTemplateBrowser.js'\nimport styles from './internals/styles/DomainTemplateBrowser.styles.js'\nimport typography from '../styles/m3/typography.module.js'\n\nimport '../md/button/ui-button.js'\nimport '../md/button/ui-button-group.js'\nimport '../md/icons/ui-icon.js'\nimport '../md/text-field/ui-outlined-text-field.js'\n\n@customElement('domain-template-browser')\nexport class DomainTemplateBrowserElement extends Element {\n static override styles = [styles, typography]\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'domain-template-browser': DomainTemplateBrowserElement\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DomainTemplateBrowser.d.ts","sourceRoot":"","sources":["../../../../src/modeling/internals/DomainTemplateBrowser.ts"],"names":[],"mappings":"AACA,OAAO,EAAQ,KAAK,cAAc,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAE3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAcvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAA;AAClE,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,sBAAsB,EACtB,UAAU,EACV,SAAS,EACT,aAAa,EACb,YAAY,EACb,MAAM,uCAAuC,CAAA;AAE9C;;GAEG;AACH,eAAO,MAAM,0BAA0B,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAa5D,CAAA;AAEV,eAAO,MAAM,mBAAmB,EAAuC,CAAC,MAAM,OAAO,mBAAmB,CAAC,EAAE,CAAA;AAE3G;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,YAAY,GAAG,QAAQ,CAqBzD;
|
|
1
|
+
{"version":3,"file":"DomainTemplateBrowser.d.ts","sourceRoot":"","sources":["../../../../src/modeling/internals/DomainTemplateBrowser.ts"],"names":[],"mappings":"AACA,OAAO,EAAQ,KAAK,cAAc,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAE3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAcvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAA;AAClE,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,sBAAsB,EACtB,UAAU,EACV,SAAS,EACT,aAAa,EACb,YAAY,EACb,MAAM,uCAAuC,CAAA;AAE9C;;GAEG;AACH,eAAO,MAAM,0BAA0B,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAa5D,CAAA;AAEV,eAAO,MAAM,mBAAmB,EAAuC,CAAC,MAAM,OAAO,mBAAmB,CAAC,EAAE,CAAA;AAE3G;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,YAAY,GAAG,QAAQ,CAqBzD;AAmCD;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,UAAU;IAC3D;;;;OAIG;IACyB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IAE9D;;;;OAIG;IACyB,QAAQ,CAAC,QAAQ,EAAE,MAAM,OAAO,mBAAmB,GAAG,SAAS,CAAA;IAE3F;;;OAGG;IACM,QAAQ,CAAC,SAAS,EAAE,sBAAsB,EAAE,CAAiD;IAEtG;;OAEG;IACM,QAAQ,CAAC,eAAe,EAAE,cAAc,GAAG,SAAS,CAAA;IAE7D;;;OAGG;IACH,SAAS,CAAC,mBAAmB,CAAC,CAAC,EAAE,aAAa,GAAG,IAAI;IAarD;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAS5B,SAAS,CAAC,iBAAiB,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;IAgB3C,SAAS,CAAC,oBAAoB,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;IAc9C,SAAS,CAAC,qBAAqB,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;IAa/C,SAAS,CAAC,kBAAkB,IAAI,IAAI;cAIjB,MAAM,IAAI,cAAc;IAW3C,SAAS,CAAC,iBAAiB,IAAI,cAAc;IAQ7C,SAAS,CAAC,iBAAiB,IAAI,cAAc;IAe7C,SAAS,CAAC,qBAAqB,IAAI,cAAc;IAgCjD,SAAS,CAAC,mBAAmB,IAAI,cAAc;IAM/C,SAAS,CAAC,kBAAkB,CAAC,QAAQ,EAAE,sBAAsB,GAAG,cAAc;IA0B9E,SAAS,CAAC,gBAAgB,IAAI,cAAc;IAmB5C,iBAAiB,IAAI,cAAc;IAYnC,SAAS,CAAC,qBAAqB,CAAC,QAAQ,EAAE,cAAc,GAAG,cAAc;IA6CzE,SAAS,CAAC,qBAAqB,CAAC,QAAQ,EAAE,cAAc,GAAG,cAAc;IAOzE,SAAS,CAAC,gBAAgB,CAAC,UAAU,EAAE,aAAa,EAAE,GAAG,cAAc;IAsBvE,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,cAAc;IAmB3D,SAAS,CAAC,kBAAkB,CAAC,MAAM,EAAE,UAAU,GAAG,cAAc;IAyChE,SAAS,CAAC,cAAc,CAAC,QAAQ,EAAE,YAAY,GAAG,cAAc;IA4ChE,SAAS,CAAC,iBAAiB,CAAC,WAAW,EAAE,eAAe,GAAG,cAAc;CA8B1E"}
|
|
@@ -67,6 +67,26 @@ function searchTemplates(query) {
|
|
|
67
67
|
template.description.toLowerCase().includes(searchTerm) ||
|
|
68
68
|
template.tags.some((tag) => tag.toLowerCase().includes(searchTerm)));
|
|
69
69
|
}
|
|
70
|
+
function getVerticalName(id) {
|
|
71
|
+
switch (id) {
|
|
72
|
+
case 'businessServices':
|
|
73
|
+
return 'Business Services';
|
|
74
|
+
case 'educationTraining':
|
|
75
|
+
return 'Education & Training';
|
|
76
|
+
case 'healthcareLifeSciences':
|
|
77
|
+
return 'Healthcare & Life Sciences';
|
|
78
|
+
case 'manufacturingLogistics':
|
|
79
|
+
return 'Manufacturing & Logistics';
|
|
80
|
+
case 'publicSector':
|
|
81
|
+
return 'Public Sector';
|
|
82
|
+
case 'realEstateConstruction':
|
|
83
|
+
return 'Real Estate & Construction';
|
|
84
|
+
case 'technologyMedia':
|
|
85
|
+
return 'Technology & Media';
|
|
86
|
+
default:
|
|
87
|
+
return id;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
70
90
|
let DomainTemplateBrowser = (() => {
|
|
71
91
|
let _classSuper = LitElement;
|
|
72
92
|
let _query_decorators;
|
|
@@ -255,7 +275,7 @@ let DomainTemplateBrowser = (() => {
|
|
|
255
275
|
?selected="${isSelected}"
|
|
256
276
|
@click="${this.handleFilterClick}"
|
|
257
277
|
>
|
|
258
|
-
${category}
|
|
278
|
+
${getVerticalName(category)}
|
|
259
279
|
</ui-button>`;
|
|
260
280
|
})}
|
|
261
281
|
</ui-button-group>
|
|
@@ -273,6 +293,10 @@ let DomainTemplateBrowser = (() => {
|
|
|
273
293
|
const templateDescription = template.description || 'No description available';
|
|
274
294
|
return html `
|
|
275
295
|
<div class="template-card">
|
|
296
|
+
<div class="meta">
|
|
297
|
+
<span class="value body-small" title="Updated at">${new Date(template.updatedAt).toLocaleDateString()}</span>
|
|
298
|
+
<span class="value body-small" title="Version">v${template.version}</span>
|
|
299
|
+
</div>
|
|
276
300
|
<h3 class="template-title display-small">${templateName}</h3>
|
|
277
301
|
<p class="template-description body-medium">${templateDescription}</p>
|
|
278
302
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DomainTemplateBrowser.js","sourceRoot":"","sources":["../../../../src/modeling/internals/DomainTemplateBrowser.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable max-len */\nimport { html, type TemplateResult, LitElement } from 'lit'\nimport { state, property } from 'lit/decorators.js'\nimport type { IconType } from '../../md/icons/Icons.js'\n// Template metadata imports\nimport ecommercePlatformMetadata from '@api-client/domain-templates/meta/ecommerce-platform.json' with { type: 'json' }\nimport blogPublishingPlatformMetadata from '@api-client/domain-templates/meta/blog-publishing-platform.json' with { type: 'json' }\nimport healthcareManagementPlatformMetadata from '@api-client/domain-templates/meta/healthcare-management-platform.json' with { type: 'json' }\nimport financialServicesPlatformMetadata from '@api-client/domain-templates/meta/financial-services-platform.json' with { type: 'json' }\nimport educationManagementPlatformMetadata from '@api-client/domain-templates/meta/education-management-platform.json' with { type: 'json' }\nimport realEstateManagementPlatformMetadata from '@api-client/domain-templates/meta/real-estate-management-platform.json' with { type: 'json' }\nimport manufacturingPlatformMetadata from '@api-client/domain-templates/meta/manufacturing-platform.json' with { type: 'json' }\nimport hospitalityPlatformMetadata from '@api-client/domain-templates/meta/hospitality-platform.json' with { type: 'json' }\nimport legalServicesPlatformMetadata from '@api-client/domain-templates/meta/legal-services-platform.json' with { type: 'json' }\nimport nonProfitPlatformMetadata from '@api-client/domain-templates/meta/non-profit-platform.json' with { type: 'json' }\nimport iotSmartHomePlatformMetadata from '@api-client/domain-templates/meta/iot-smart-home-platform.json' with { type: 'json' }\nimport gamingPlatformMetadata from '@api-client/domain-templates/meta/gaming-platform.json' with { type: 'json' }\nimport { templatesByVertical } from '@api-client/domain-templates'\nimport type {\n AssociationInfo,\n DomainTemplate,\n DomainTemplateMetadata,\n EntityInfo,\n ModelInfo,\n NamespaceInfo,\n PropertyInfo,\n} from '@api-client/domain-templates/types.js'\n\n/**\n * Registry of all available template metadata\n */\nexport const TEMPLATE_METADATA_REGISTRY: Record<string, DomainTemplate> = {\n 'ecommerce-platform': ecommercePlatformMetadata as DomainTemplate,\n 'blog-publishing-platform': blogPublishingPlatformMetadata as DomainTemplate,\n 'healthcare-management-platform': healthcareManagementPlatformMetadata as DomainTemplate,\n 'financial-services-platform': financialServicesPlatformMetadata as DomainTemplate,\n 'education-management-platform': educationManagementPlatformMetadata as DomainTemplate,\n 'real-estate-management-platform': realEstateManagementPlatformMetadata as DomainTemplate,\n 'manufacturing-platform': manufacturingPlatformMetadata as DomainTemplate,\n 'hospitality-platform': hospitalityPlatformMetadata as DomainTemplate,\n 'legal-services-platform': legalServicesPlatformMetadata as DomainTemplate,\n 'non-profit-platform': nonProfitPlatformMetadata as DomainTemplate,\n 'iot-smart-home-platform': iotSmartHomePlatformMetadata as DomainTemplate,\n 'gaming-platform': gamingPlatformMetadata as DomainTemplate,\n} as const\n\nexport const availableCategories = Object.keys(templatesByVertical) as (keyof typeof templatesByVertical)[]\n\n/**\n * The selection detail object dispatched by the `selectionchange` event.\n */\nexport interface BrowseTemplatesSelection {\n /**\n * The key of the selected template\n */\n selected: string\n}\n\n/**\n * Generates an icon name for the DomainProperty that illustrate its primary purpose.\n */\nexport function getPropertyIcon(p: PropertyInfo): IconType {\n if (p.primary) {\n return 'key'\n }\n switch (p.type) {\n // case 'integer':\n case 'number':\n return 'number'\n case 'date':\n return 'calendarToday'\n case 'time':\n return 'schedule'\n case 'datetime':\n return 'event'\n case 'boolean':\n return 'checkCircle'\n case 'binary':\n return 'draft'\n default:\n return 'textFields'\n }\n}\n\nfunction searchTemplates(query: string): DomainTemplateMetadata[] {\n const searchTerm = query.toLowerCase()\n return Object.values(templatesByVertical)\n .flat()\n .filter(\n (template) =>\n template.name.toLowerCase().includes(searchTerm) ||\n template.description.toLowerCase().includes(searchTerm) ||\n template.tags.some((tag) => tag.toLowerCase().includes(searchTerm))\n )\n}\n\n/**\n * A browser component for exploring and selecting domain templates.\n * It provides the UI for searching, filtering, previewing, and selecting data domain templates.\n *\n * It manages the filtering state internally but allows property binding for query and category.\n *\n * @fires selectionchange - Dispatched when the user selects a template item. The detail object contains the `selected`\n * status which is the template ID (e.g. `CustomEvent<{ selected: string }>`).\n */\nexport default class DomainTemplateBrowser extends LitElement {\n /**\n * The user entered search query to filter the templates.\n * If not set, all templates are shown (unless filtered by category).\n * @attribute\n */\n @property({ type: String }) accessor query: string | undefined\n\n /**\n * The selected template category to filter the list.\n * If not set, all categories are included.\n * @attribute\n */\n @property({ type: String }) accessor category: keyof typeof templatesByVertical | undefined\n\n /**\n * The internal list of filtered templates to render in the UI.\n * This is computed based on `query` and `category`.\n */\n @state() accessor templates: DomainTemplateMetadata[] = [...Object.values(templatesByVertical)].flat()\n\n /**\n * The currently previewed template. When set, the component renders the preview view instead of the list.\n */\n @state() accessor previewTemplate: DomainTemplate | undefined\n\n /**\n * Handles keydown events on the search input.\n * Triggers a search on Enter or resets on Escape.\n */\n protected handleSearchKeydown(e: KeyboardEvent): void {\n const input = e.currentTarget as HTMLInputElement\n const value = input.value.trim()\n if (e.key === 'Enter' && value) {\n this.search(value)\n } else if (e.key === 'Escape') {\n e.preventDefault()\n e.stopPropagation()\n input.value = ''\n this.search()\n }\n }\n\n /**\n * Performs an in-memory search for templates matching the provided query.\n * Updates the `templates` state with the search results.\n *\n * @param value The search query. If empty, resets the search.\n */\n search(value?: string): void {\n this.query = value\n if (!value) {\n this.templates = [...Object.values(templatesByVertical)].flat()\n } else {\n this.templates = searchTemplates(value)\n }\n }\n\n protected handleFilterClick(e: Event): void {\n const target = e.target as HTMLElement\n const value = target.dataset.value\n // Toggle category selection\n if (this.category === value) {\n return\n }\n if (value === '') {\n this.category = undefined\n this.templates = [...Object.values(templatesByVertical)].flat()\n } else {\n this.category = value as keyof typeof templatesByVertical\n this.templates = templatesByVertical[this.category].flat()\n }\n }\n\n protected handleTemplateSelect(e: Event): void {\n const templateId = (e.currentTarget as HTMLElement).dataset.id\n if (!templateId) {\n return\n }\n // Dispatch selection event\n this.dispatchEvent(\n new CustomEvent<BrowseTemplatesSelection>('selectionchange', {\n detail: { selected: templateId },\n bubbles: false,\n })\n )\n }\n\n protected handleTemplatePreview(e: Event): void {\n e.stopPropagation()\n const templateId = (e.currentTarget as HTMLElement).dataset.id\n if (!templateId) {\n return\n }\n const value = TEMPLATE_METADATA_REGISTRY[templateId]\n if (!value) {\n return\n }\n this.previewTemplate = value\n }\n\n protected handleClosePreview(): void {\n this.previewTemplate = undefined\n }\n\n protected override render(): TemplateResult {\n if (this.previewTemplate) {\n return this.renderPreviewMode()\n }\n\n return html`\n <div class=\"controls\">${this.renderTopControls()} ${this.renderCategoryFilters()}</div>\n ${this.templates.length > 0 ? this.renderTemplatesGrid() : this.renderEmptyState()}\n `\n }\n\n protected renderTopControls(): TemplateResult {\n return html`\n <div class=\"top-row\">\n <div class=\"search-group\">${this.renderSearchInput()}</div>\n </div>\n `\n }\n\n protected renderSearchInput(): TemplateResult {\n return html`\n <ui-outlined-text-field\n id=\"template-search\"\n label=\"Search templates...\"\n type=\"search\"\n class=\"search\"\n .value=\"${this.query ?? ''}\"\n @keydown=\"${this.handleSearchKeydown}\"\n >\n <ui-icon slot=\"prefix\">search</ui-icon>\n </ui-outlined-text-field>\n `\n }\n\n protected renderCategoryFilters(): TemplateResult {\n return html`\n <div class=\"category-tabs\">\n <ui-button-group type=\"connected\">\n <ui-button\n color=\"tonal\"\n size=\"s\"\n toggle\n data-value=\"\"\n ?selected=\"${!this.category}\"\n @click=\"${this.handleFilterClick}\"\n >\n All\n </ui-button>\n ${availableCategories.map((category) => {\n const isSelected = this.category === category\n return html`<ui-button\n color=\"tonal\"\n size=\"s\"\n toggle\n data-value=\"${category}\"\n ?selected=\"${isSelected}\"\n @click=\"${this.handleFilterClick}\"\n >\n ${category}\n </ui-button>`\n })}\n </ui-button-group>\n </div>\n `\n }\n\n protected renderTemplatesGrid(): TemplateResult {\n return html`\n <div class=\"templates-grid\">${this.templates.map((template) => this.renderTemplateCard(template))}</div>\n `\n }\n\n protected renderTemplateCard(template: DomainTemplateMetadata): TemplateResult {\n // Use available properties from DomainTemplate interface\n const templateName = template.name || 'Unnamed Template'\n const templateDescription = template.description || 'No description available'\n\n return html`\n <div class=\"template-card\">\n <h3 class=\"template-title display-small\">${templateName}</h3>\n <p class=\"template-description body-medium\">${templateDescription}</p>\n\n <div class=\"template-actions\">\n <ui-button data-id=\"${template.id}\" color=\"outlined\" size=\"s\" @click=\"${this.handleTemplatePreview}\">\n Details\n </ui-button>\n <ui-button color=\"filled\" size=\"s\" data-id=\"${template.id}\" @click=\"${this.handleTemplateSelect}\">\n Use template\n </ui-button>\n </div>\n </div>\n `\n }\n\n protected renderEmptyState(): TemplateResult {\n const message = this.query\n ? `No templates found for \"${this.query}\"`\n : this.category\n ? `No templates found in \"${this.category}\" category`\n : 'No templates available'\n\n const description =\n this.query || this.category ? 'Try adjusting your search or filters' : 'Templates will appear here when available'\n\n return html`\n <div class=\"empty-state\">\n <ui-icon class=\"empty-icon\">search_off</ui-icon>\n <h3 class=\"empty-title title-large\">${message}</h3>\n <p class=\"empty-description body-large\">${description}</p>\n </div>\n `\n }\n\n renderPreviewMode(): TemplateResult {\n return html`\n <div class=\"preview-header\">\n <ui-button color=\"text\" @click=\"${this.handleClosePreview}\">\n <ui-icon slot=\"icon\">arrow_back</ui-icon>\n Back to Templates\n </ui-button>\n </div>\n <div class=\"preview-main\">${this.renderTemplateDetails(this.previewTemplate as DomainTemplate)}</div>\n `\n }\n\n protected renderTemplateDetails(template: DomainTemplate): TemplateResult {\n return html`\n <div class=\"template-details\">\n <h1 class=\"template-details-title display-small\">${template.name}</h1>\n <div class=\"template-details-header\">\n <div class=\"template-details-info\">\n <p class=\"template-details-description\">${template.description}</p>\n <div class=\"template-metadata\">\n <div class=\"metadata-item\">\n <span class=\"metadata-label\">Author:</span>\n <span class=\"metadata-value\">${template.author}</span>\n </div>\n <div class=\"metadata-item\">\n <span class=\"metadata-label\">Version:</span>\n <span class=\"metadata-value\">${template.version}</span>\n </div>\n <div class=\"metadata-item\">\n <span class=\"metadata-label\">Created:</span>\n <span class=\"metadata-value\">${new Date(template.createdAt).toLocaleDateString()}</span>\n </div>\n <div class=\"metadata-item\">\n <span class=\"metadata-label\">Updated:</span>\n <span class=\"metadata-value\">${new Date(template.updatedAt).toLocaleDateString()}</span>\n </div>\n </div>\n <div class=\"template-tags\">\n ${template.tags.map((tag) => html`<span class=\"template-tag\">${tag}</span>`)}\n </div>\n </div>\n <div class=\"template-details-actions\">\n <ui-button color=\"filled\" size=\"s\" data-id=\"${template.id}\" @click=\"${this.handleTemplateSelect}\">\n <ui-icon slot=\"icon\">download</ui-icon>\n Use This Template\n </ui-button>\n </div>\n </div>\n\n <div class=\"template-structure\">\n <h2 class=\"structure-title title-large\">Data Domain Structure</h2>\n ${this.renderDomainStructure(template)}\n </div>\n </div>\n `\n }\n\n protected renderDomainStructure(template: DomainTemplate): TemplateResult {\n const { structure } = template\n const { namespaces } = structure\n\n return html`<div class=\"domain-structure\">${this.renderNamespaces(namespaces)}</div>`\n }\n\n protected renderNamespaces(namespaces: NamespaceInfo[]): TemplateResult {\n return html`\n <div class=\"namespaces-section\">\n <h3 class=\"title-medium\">Namespaces</h3>\n ${namespaces.map(\n (namespace) => html`\n <div class=\"namespace-item\">\n <div class=\"namespace-header\">\n <ui-icon class=\"namespace-icon\" icon=\"schemaNamespace\"></ui-icon>\n <h4 class=\"title-small\">${namespace.displayName || namespace.name}</h4>\n </div>\n ${namespace.description\n ? html`<p class=\"namespace-description body-medium\">${namespace.description}</p>`\n : ''}\n ${this.renderModels(namespace.models)}\n </div>\n `\n )}\n </div>\n `\n }\n\n protected renderModels(models: ModelInfo[]): TemplateResult {\n return html`\n <div class=\"models-section\">\n ${models.map(\n (model) => html`\n <div class=\"domain-model\">\n <div class=\"domain-model-header\">\n <ui-icon class=\"model-icon\" icon=\"schemaModel\"></ui-icon>\n <h5 class=\"title-small\">${model.displayName || model.name}</h5>\n </div>\n ${model.description ? html`<p class=\"model-description body-medium\">${model.description}</p>` : ''}\n <div class=\"model-entities\">${model.entities.map((entity) => this.renderDomainEntity(entity))}</div>\n </div>\n `\n )}\n </div>\n `\n }\n\n protected renderDomainEntity(entity: EntityInfo): TemplateResult {\n return html`\n <div class=\"domain-entity\">\n <div class=\"entity-header\">\n <div class=\"entity-title\">\n <ui-icon class=\"entity-icon\" icon=\"schemaEntity\"></ui-icon>\n <h6 class=\"entity-name label-large\">${entity.displayName || entity.name}</h6>\n ${entity.deprecated ? html`<span class=\"deprecated-badge\">Deprecated</span>` : ''}\n </div>\n ${entity.description ? html`<p class=\"entity-description body-medium\">${entity.description}</p>` : ''}\n </div>\n ${entity.semantics?.length > 0\n ? html`\n <div class=\"entity-semantics\">\n <span class=\"semantics-label\">Semantics:</span>\n ${entity.semantics.map((semantic: string) => html`<span class=\"semantic-tag\">${semantic}</span>`)}\n </div>\n `\n : ''}\n ${entity.properties?.length > 0\n ? html`\n <div class=\"entity-section\">\n <h5 class=\"section-title title-small\">Properties (${entity.propertyCount})</h5>\n <div class=\"properties-list\">${entity.properties.map((prop) => this.renderProperty(prop))}</div>\n </div>\n `\n : ''}\n ${entity.associations?.length > 0\n ? html`\n <div class=\"entity-section\">\n <h5 class=\"section-title title-small\">Associations (${entity.associationCount})</h5>\n <div class=\"associations-list\">\n ${entity.associations.map((assoc) => this.renderAssociation(assoc))}\n </div>\n </div>\n `\n : ''}\n </div>\n `\n }\n\n protected renderProperty(property: PropertyInfo): TemplateResult {\n const badges: string[] = []\n\n if (property.required) badges.push('Required')\n if (property.primary) badges.push('Primary')\n if (property.unique) badges.push('Unique')\n if (property.readOnly) badges.push('Read-only')\n if (property.writeOnly) badges.push('Write-only')\n if (property.multiple) badges.push('Multiple')\n if (property.deprecated) badges.push('Deprecated')\n\n const icon = getPropertyIcon(property)\n return html`\n <div class=\"property-item ${property.deprecated ? 'deprecated' : ''}\">\n <div class=\"property-header\">\n <ui-icon class=\"property-icon\" .icon=${icon}></ui-icon>\n <span class=\"label-large\">${property.displayName || property.name}</span>\n <span class=\"property-type body-small\">${property.type}</span>\n </div>\n ${property.description ? html`<p class=\"property-description body-medium\">${property.description}</p>` : ''}\n ${badges.length > 0\n ? html`<div class=\"property-badges\">\n ${badges.map((badge) => html`<span class=\"property-badge body-small\">${badge}</span>`)}\n </div>`\n : ''}\n ${property.defaultValue\n ? html`<div class=\"property-default\">Default: <code>${property.defaultValue}</code></div>`\n : ''}\n ${property.enumValues && property.enumValues.length > 0\n ? html`<div class=\"property-enum\">\n Values: ${property.enumValues.map((val) => html`<code>${val}</code>`)}\n </div>`\n : ''}\n ${property.semantics?.length > 0\n ? html`\n <div class=\"property-semantics\">\n ${property.semantics.map((semantic) => html`<span class=\"semantic-tag\">${semantic}</span>`)}\n </div>\n `\n : ''}\n </div>\n `\n }\n\n protected renderAssociation(association: AssociationInfo): TemplateResult {\n const badges = []\n\n if (association.required) badges.push('Required')\n if (association.multiple) badges.push('Multiple')\n if (association.readOnly) badges.push('Read-only')\n\n return html`\n <div class=\"association-item\">\n <div class=\"association-header\">\n <ui-icon class=\"association-icon\">link</ui-icon>\n <span class=\"label-large\">${association.displayName || association.name}</span>\n <span class=\"association-targets\">${association.targetEntities.join(', ')}</span>\n </div>\n ${association.description ? html`<p class=\"association-description\">${association.description}</p>` : ''}\n ${badges.length > 0\n ? html`<div class=\"association-badges\">\n ${badges.map((badge: string) => html`<span class=\"association-badge\">${badge}</span>`)}\n </div>`\n : ''}\n ${association.semantics?.length > 0\n ? html`\n <div class=\"association-semantics\">\n ${association.semantics.map((semantic: string) => html`<span class=\"semantic-tag\">${semantic}</span>`)}\n </div>\n `\n : ''}\n </div>\n `\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"DomainTemplateBrowser.js","sourceRoot":"","sources":["../../../../src/modeling/internals/DomainTemplateBrowser.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable max-len */\nimport { html, type TemplateResult, LitElement } from 'lit'\nimport { state, property } from 'lit/decorators.js'\nimport type { IconType } from '../../md/icons/Icons.js'\n// Template metadata imports\nimport ecommercePlatformMetadata from '@api-client/domain-templates/meta/ecommerce-platform.json' with { type: 'json' }\nimport blogPublishingPlatformMetadata from '@api-client/domain-templates/meta/blog-publishing-platform.json' with { type: 'json' }\nimport healthcareManagementPlatformMetadata from '@api-client/domain-templates/meta/healthcare-management-platform.json' with { type: 'json' }\nimport financialServicesPlatformMetadata from '@api-client/domain-templates/meta/financial-services-platform.json' with { type: 'json' }\nimport educationManagementPlatformMetadata from '@api-client/domain-templates/meta/education-management-platform.json' with { type: 'json' }\nimport realEstateManagementPlatformMetadata from '@api-client/domain-templates/meta/real-estate-management-platform.json' with { type: 'json' }\nimport manufacturingPlatformMetadata from '@api-client/domain-templates/meta/manufacturing-platform.json' with { type: 'json' }\nimport hospitalityPlatformMetadata from '@api-client/domain-templates/meta/hospitality-platform.json' with { type: 'json' }\nimport legalServicesPlatformMetadata from '@api-client/domain-templates/meta/legal-services-platform.json' with { type: 'json' }\nimport nonProfitPlatformMetadata from '@api-client/domain-templates/meta/non-profit-platform.json' with { type: 'json' }\nimport iotSmartHomePlatformMetadata from '@api-client/domain-templates/meta/iot-smart-home-platform.json' with { type: 'json' }\nimport gamingPlatformMetadata from '@api-client/domain-templates/meta/gaming-platform.json' with { type: 'json' }\nimport { templatesByVertical } from '@api-client/domain-templates'\nimport type {\n AssociationInfo,\n DomainTemplate,\n DomainTemplateMetadata,\n EntityInfo,\n ModelInfo,\n NamespaceInfo,\n PropertyInfo,\n} from '@api-client/domain-templates/types.js'\n\n/**\n * Registry of all available template metadata\n */\nexport const TEMPLATE_METADATA_REGISTRY: Record<string, DomainTemplate> = {\n 'ecommerce-platform': ecommercePlatformMetadata as DomainTemplate,\n 'blog-publishing-platform': blogPublishingPlatformMetadata as DomainTemplate,\n 'healthcare-management-platform': healthcareManagementPlatformMetadata as DomainTemplate,\n 'financial-services-platform': financialServicesPlatformMetadata as DomainTemplate,\n 'education-management-platform': educationManagementPlatformMetadata as DomainTemplate,\n 'real-estate-management-platform': realEstateManagementPlatformMetadata as DomainTemplate,\n 'manufacturing-platform': manufacturingPlatformMetadata as DomainTemplate,\n 'hospitality-platform': hospitalityPlatformMetadata as DomainTemplate,\n 'legal-services-platform': legalServicesPlatformMetadata as DomainTemplate,\n 'non-profit-platform': nonProfitPlatformMetadata as DomainTemplate,\n 'iot-smart-home-platform': iotSmartHomePlatformMetadata as DomainTemplate,\n 'gaming-platform': gamingPlatformMetadata as DomainTemplate,\n} as const\n\nexport const availableCategories = Object.keys(templatesByVertical) as (keyof typeof templatesByVertical)[]\n\n/**\n * The selection detail object dispatched by the `selectionchange` event.\n */\nexport interface BrowseTemplatesSelection {\n /**\n * The key of the selected template\n */\n selected: string\n}\n\n/**\n * Generates an icon name for the DomainProperty that illustrate its primary purpose.\n */\nexport function getPropertyIcon(p: PropertyInfo): IconType {\n if (p.primary) {\n return 'key'\n }\n switch (p.type) {\n // case 'integer':\n case 'number':\n return 'number'\n case 'date':\n return 'calendarToday'\n case 'time':\n return 'schedule'\n case 'datetime':\n return 'event'\n case 'boolean':\n return 'checkCircle'\n case 'binary':\n return 'draft'\n default:\n return 'textFields'\n }\n}\n\nfunction searchTemplates(query: string): DomainTemplateMetadata[] {\n const searchTerm = query.toLowerCase()\n return Object.values(templatesByVertical)\n .flat()\n .filter(\n (template) =>\n template.name.toLowerCase().includes(searchTerm) ||\n template.description.toLowerCase().includes(searchTerm) ||\n template.tags.some((tag) => tag.toLowerCase().includes(searchTerm))\n )\n}\n\nfunction getVerticalName(id: string): string {\n switch (id) {\n case 'businessServices':\n return 'Business Services'\n case 'educationTraining':\n return 'Education & Training'\n case 'healthcareLifeSciences':\n return 'Healthcare & Life Sciences'\n case 'manufacturingLogistics':\n return 'Manufacturing & Logistics'\n case 'publicSector':\n return 'Public Sector'\n case 'realEstateConstruction':\n return 'Real Estate & Construction'\n case 'technologyMedia':\n return 'Technology & Media'\n default:\n return id\n }\n}\n\n/**\n * A browser component for exploring and selecting domain templates.\n * It provides the UI for searching, filtering, previewing, and selecting data domain templates.\n *\n * It manages the filtering state internally but allows property binding for query and category.\n *\n * @fires selectionchange - Dispatched when the user selects a template item. The detail object contains the `selected`\n * status which is the template ID (e.g. `CustomEvent<{ selected: string }>`).\n */\nexport default class DomainTemplateBrowser extends LitElement {\n /**\n * The user entered search query to filter the templates.\n * If not set, all templates are shown (unless filtered by category).\n * @attribute\n */\n @property({ type: String }) accessor query: string | undefined\n\n /**\n * The selected template category to filter the list.\n * If not set, all categories are included.\n * @attribute\n */\n @property({ type: String }) accessor category: keyof typeof templatesByVertical | undefined\n\n /**\n * The internal list of filtered templates to render in the UI.\n * This is computed based on `query` and `category`.\n */\n @state() accessor templates: DomainTemplateMetadata[] = [...Object.values(templatesByVertical)].flat()\n\n /**\n * The currently previewed template. When set, the component renders the preview view instead of the list.\n */\n @state() accessor previewTemplate: DomainTemplate | undefined\n\n /**\n * Handles keydown events on the search input.\n * Triggers a search on Enter or resets on Escape.\n */\n protected handleSearchKeydown(e: KeyboardEvent): void {\n const input = e.currentTarget as HTMLInputElement\n const value = input.value.trim()\n if (e.key === 'Enter' && value) {\n this.search(value)\n } else if (e.key === 'Escape') {\n e.preventDefault()\n e.stopPropagation()\n input.value = ''\n this.search()\n }\n }\n\n /**\n * Performs an in-memory search for templates matching the provided query.\n * Updates the `templates` state with the search results.\n *\n * @param value The search query. If empty, resets the search.\n */\n search(value?: string): void {\n this.query = value\n if (!value) {\n this.templates = [...Object.values(templatesByVertical)].flat()\n } else {\n this.templates = searchTemplates(value)\n }\n }\n\n protected handleFilterClick(e: Event): void {\n const target = e.target as HTMLElement\n const value = target.dataset.value\n // Toggle category selection\n if (this.category === value) {\n return\n }\n if (value === '') {\n this.category = undefined\n this.templates = [...Object.values(templatesByVertical)].flat()\n } else {\n this.category = value as keyof typeof templatesByVertical\n this.templates = templatesByVertical[this.category].flat()\n }\n }\n\n protected handleTemplateSelect(e: Event): void {\n const templateId = (e.currentTarget as HTMLElement).dataset.id\n if (!templateId) {\n return\n }\n // Dispatch selection event\n this.dispatchEvent(\n new CustomEvent<BrowseTemplatesSelection>('selectionchange', {\n detail: { selected: templateId },\n bubbles: false,\n })\n )\n }\n\n protected handleTemplatePreview(e: Event): void {\n e.stopPropagation()\n const templateId = (e.currentTarget as HTMLElement).dataset.id\n if (!templateId) {\n return\n }\n const value = TEMPLATE_METADATA_REGISTRY[templateId]\n if (!value) {\n return\n }\n this.previewTemplate = value\n }\n\n protected handleClosePreview(): void {\n this.previewTemplate = undefined\n }\n\n protected override render(): TemplateResult {\n if (this.previewTemplate) {\n return this.renderPreviewMode()\n }\n\n return html`\n <div class=\"controls\">${this.renderTopControls()} ${this.renderCategoryFilters()}</div>\n ${this.templates.length > 0 ? this.renderTemplatesGrid() : this.renderEmptyState()}\n `\n }\n\n protected renderTopControls(): TemplateResult {\n return html`\n <div class=\"top-row\">\n <div class=\"search-group\">${this.renderSearchInput()}</div>\n </div>\n `\n }\n\n protected renderSearchInput(): TemplateResult {\n return html`\n <ui-outlined-text-field\n id=\"template-search\"\n label=\"Search templates...\"\n type=\"search\"\n class=\"search\"\n .value=\"${this.query ?? ''}\"\n @keydown=\"${this.handleSearchKeydown}\"\n >\n <ui-icon slot=\"prefix\">search</ui-icon>\n </ui-outlined-text-field>\n `\n }\n\n protected renderCategoryFilters(): TemplateResult {\n return html`\n <div class=\"category-tabs\">\n <ui-button-group type=\"connected\">\n <ui-button\n color=\"tonal\"\n size=\"s\"\n toggle\n data-value=\"\"\n ?selected=\"${!this.category}\"\n @click=\"${this.handleFilterClick}\"\n >\n All\n </ui-button>\n ${availableCategories.map((category) => {\n const isSelected = this.category === category\n return html`<ui-button\n color=\"tonal\"\n size=\"s\"\n toggle\n data-value=\"${category}\"\n ?selected=\"${isSelected}\"\n @click=\"${this.handleFilterClick}\"\n >\n ${getVerticalName(category)}\n </ui-button>`\n })}\n </ui-button-group>\n </div>\n `\n }\n\n protected renderTemplatesGrid(): TemplateResult {\n return html`\n <div class=\"templates-grid\">${this.templates.map((template) => this.renderTemplateCard(template))}</div>\n `\n }\n\n protected renderTemplateCard(template: DomainTemplateMetadata): TemplateResult {\n // Use available properties from DomainTemplate interface\n const templateName = template.name || 'Unnamed Template'\n const templateDescription = template.description || 'No description available'\n\n return html`\n <div class=\"template-card\">\n <div class=\"meta\">\n <span class=\"value body-small\" title=\"Updated at\">${new Date(template.updatedAt).toLocaleDateString()}</span>\n <span class=\"value body-small\" title=\"Version\">v${template.version}</span>\n </div>\n <h3 class=\"template-title display-small\">${templateName}</h3>\n <p class=\"template-description body-medium\">${templateDescription}</p>\n\n <div class=\"template-actions\">\n <ui-button data-id=\"${template.id}\" color=\"outlined\" size=\"s\" @click=\"${this.handleTemplatePreview}\">\n Details\n </ui-button>\n <ui-button color=\"filled\" size=\"s\" data-id=\"${template.id}\" @click=\"${this.handleTemplateSelect}\">\n Use template\n </ui-button>\n </div>\n </div>\n `\n }\n\n protected renderEmptyState(): TemplateResult {\n const message = this.query\n ? `No templates found for \"${this.query}\"`\n : this.category\n ? `No templates found in \"${this.category}\" category`\n : 'No templates available'\n\n const description =\n this.query || this.category ? 'Try adjusting your search or filters' : 'Templates will appear here when available'\n\n return html`\n <div class=\"empty-state\">\n <ui-icon class=\"empty-icon\">search_off</ui-icon>\n <h3 class=\"empty-title title-large\">${message}</h3>\n <p class=\"empty-description body-large\">${description}</p>\n </div>\n `\n }\n\n renderPreviewMode(): TemplateResult {\n return html`\n <div class=\"preview-header\">\n <ui-button color=\"text\" @click=\"${this.handleClosePreview}\">\n <ui-icon slot=\"icon\">arrow_back</ui-icon>\n Back to Templates\n </ui-button>\n </div>\n <div class=\"preview-main\">${this.renderTemplateDetails(this.previewTemplate as DomainTemplate)}</div>\n `\n }\n\n protected renderTemplateDetails(template: DomainTemplate): TemplateResult {\n return html`\n <div class=\"template-details\">\n <h1 class=\"template-details-title display-small\">${template.name}</h1>\n <div class=\"template-details-header\">\n <div class=\"template-details-info\">\n <p class=\"template-details-description\">${template.description}</p>\n <div class=\"template-metadata\">\n <div class=\"metadata-item\">\n <span class=\"metadata-label\">Author:</span>\n <span class=\"metadata-value\">${template.author}</span>\n </div>\n <div class=\"metadata-item\">\n <span class=\"metadata-label\">Version:</span>\n <span class=\"metadata-value\">${template.version}</span>\n </div>\n <div class=\"metadata-item\">\n <span class=\"metadata-label\">Created:</span>\n <span class=\"metadata-value\">${new Date(template.createdAt).toLocaleDateString()}</span>\n </div>\n <div class=\"metadata-item\">\n <span class=\"metadata-label\">Updated:</span>\n <span class=\"metadata-value\">${new Date(template.updatedAt).toLocaleDateString()}</span>\n </div>\n </div>\n <div class=\"template-tags\">\n ${template.tags.map((tag) => html`<span class=\"template-tag\">${tag}</span>`)}\n </div>\n </div>\n <div class=\"template-details-actions\">\n <ui-button color=\"filled\" size=\"s\" data-id=\"${template.id}\" @click=\"${this.handleTemplateSelect}\">\n <ui-icon slot=\"icon\">download</ui-icon>\n Use This Template\n </ui-button>\n </div>\n </div>\n\n <div class=\"template-structure\">\n <h2 class=\"structure-title title-large\">Data Domain Structure</h2>\n ${this.renderDomainStructure(template)}\n </div>\n </div>\n `\n }\n\n protected renderDomainStructure(template: DomainTemplate): TemplateResult {\n const { structure } = template\n const { namespaces } = structure\n\n return html`<div class=\"domain-structure\">${this.renderNamespaces(namespaces)}</div>`\n }\n\n protected renderNamespaces(namespaces: NamespaceInfo[]): TemplateResult {\n return html`\n <div class=\"namespaces-section\">\n <h3 class=\"title-medium\">Namespaces</h3>\n ${namespaces.map(\n (namespace) => html`\n <div class=\"namespace-item\">\n <div class=\"namespace-header\">\n <ui-icon class=\"namespace-icon\" icon=\"schemaNamespace\"></ui-icon>\n <h4 class=\"title-small\">${namespace.displayName || namespace.name}</h4>\n </div>\n ${namespace.description\n ? html`<p class=\"namespace-description body-medium\">${namespace.description}</p>`\n : ''}\n ${this.renderModels(namespace.models)}\n </div>\n `\n )}\n </div>\n `\n }\n\n protected renderModels(models: ModelInfo[]): TemplateResult {\n return html`\n <div class=\"models-section\">\n ${models.map(\n (model) => html`\n <div class=\"domain-model\">\n <div class=\"domain-model-header\">\n <ui-icon class=\"model-icon\" icon=\"schemaModel\"></ui-icon>\n <h5 class=\"title-small\">${model.displayName || model.name}</h5>\n </div>\n ${model.description ? html`<p class=\"model-description body-medium\">${model.description}</p>` : ''}\n <div class=\"model-entities\">${model.entities.map((entity) => this.renderDomainEntity(entity))}</div>\n </div>\n `\n )}\n </div>\n `\n }\n\n protected renderDomainEntity(entity: EntityInfo): TemplateResult {\n return html`\n <div class=\"domain-entity\">\n <div class=\"entity-header\">\n <div class=\"entity-title\">\n <ui-icon class=\"entity-icon\" icon=\"schemaEntity\"></ui-icon>\n <h6 class=\"entity-name label-large\">${entity.displayName || entity.name}</h6>\n ${entity.deprecated ? html`<span class=\"deprecated-badge\">Deprecated</span>` : ''}\n </div>\n ${entity.description ? html`<p class=\"entity-description body-medium\">${entity.description}</p>` : ''}\n </div>\n ${entity.semantics?.length > 0\n ? html`\n <div class=\"entity-semantics\">\n <span class=\"semantics-label\">Semantics:</span>\n ${entity.semantics.map((semantic: string) => html`<span class=\"semantic-tag\">${semantic}</span>`)}\n </div>\n `\n : ''}\n ${entity.properties?.length > 0\n ? html`\n <div class=\"entity-section\">\n <h5 class=\"section-title title-small\">Properties (${entity.propertyCount})</h5>\n <div class=\"properties-list\">${entity.properties.map((prop) => this.renderProperty(prop))}</div>\n </div>\n `\n : ''}\n ${entity.associations?.length > 0\n ? html`\n <div class=\"entity-section\">\n <h5 class=\"section-title title-small\">Associations (${entity.associationCount})</h5>\n <div class=\"associations-list\">\n ${entity.associations.map((assoc) => this.renderAssociation(assoc))}\n </div>\n </div>\n `\n : ''}\n </div>\n `\n }\n\n protected renderProperty(property: PropertyInfo): TemplateResult {\n const badges: string[] = []\n\n if (property.required) badges.push('Required')\n if (property.primary) badges.push('Primary')\n if (property.unique) badges.push('Unique')\n if (property.readOnly) badges.push('Read-only')\n if (property.writeOnly) badges.push('Write-only')\n if (property.multiple) badges.push('Multiple')\n if (property.deprecated) badges.push('Deprecated')\n\n const icon = getPropertyIcon(property)\n return html`\n <div class=\"property-item ${property.deprecated ? 'deprecated' : ''}\">\n <div class=\"property-header\">\n <ui-icon class=\"property-icon\" .icon=${icon}></ui-icon>\n <span class=\"label-large\">${property.displayName || property.name}</span>\n <span class=\"property-type body-small\">${property.type}</span>\n </div>\n ${property.description ? html`<p class=\"property-description body-medium\">${property.description}</p>` : ''}\n ${badges.length > 0\n ? html`<div class=\"property-badges\">\n ${badges.map((badge) => html`<span class=\"property-badge body-small\">${badge}</span>`)}\n </div>`\n : ''}\n ${property.defaultValue\n ? html`<div class=\"property-default\">Default: <code>${property.defaultValue}</code></div>`\n : ''}\n ${property.enumValues && property.enumValues.length > 0\n ? html`<div class=\"property-enum\">\n Values: ${property.enumValues.map((val) => html`<code>${val}</code>`)}\n </div>`\n : ''}\n ${property.semantics?.length > 0\n ? html`\n <div class=\"property-semantics\">\n ${property.semantics.map((semantic) => html`<span class=\"semantic-tag\">${semantic}</span>`)}\n </div>\n `\n : ''}\n </div>\n `\n }\n\n protected renderAssociation(association: AssociationInfo): TemplateResult {\n const badges = []\n\n if (association.required) badges.push('Required')\n if (association.multiple) badges.push('Multiple')\n if (association.readOnly) badges.push('Read-only')\n\n return html`\n <div class=\"association-item\">\n <div class=\"association-header\">\n <ui-icon class=\"association-icon\">link</ui-icon>\n <span class=\"label-large\">${association.displayName || association.name}</span>\n <span class=\"association-targets\">${association.targetEntities.join(', ')}</span>\n </div>\n ${association.description ? html`<p class=\"association-description\">${association.description}</p>` : ''}\n ${badges.length > 0\n ? html`<div class=\"association-badges\">\n ${badges.map((badge: string) => html`<span class=\"association-badge\">${badge}</span>`)}\n </div>`\n : ''}\n ${association.semantics?.length > 0\n ? html`\n <div class=\"association-semantics\">\n ${association.semantics.map((semantic: string) => html`<span class=\"semantic-tag\">${semantic}</span>`)}\n </div>\n `\n : ''}\n </div>\n `\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DomainTemplateBrowser.styles.d.ts","sourceRoot":"","sources":["../../../../../src/modeling/internals/styles/DomainTemplateBrowser.styles.ts"],"names":[],"mappings":";AAEA,
|
|
1
|
+
{"version":3,"file":"DomainTemplateBrowser.styles.d.ts","sourceRoot":"","sources":["../../../../../src/modeling/internals/styles/DomainTemplateBrowser.styles.ts"],"names":[],"mappings":";AAEA,wBAkjBC"}
|
|
@@ -70,6 +70,18 @@ export default css `
|
|
|
70
70
|
color: var(--md-sys-color-on-surface);
|
|
71
71
|
border: 1px solid var(--md-sys-color-outline-variant);
|
|
72
72
|
border-radius: var(--md-sys-shape-corner-medium);
|
|
73
|
+
|
|
74
|
+
.meta {
|
|
75
|
+
display: flex;
|
|
76
|
+
gap: 8px;
|
|
77
|
+
|
|
78
|
+
.value {
|
|
79
|
+
color: var(--md-sys-color-on-surface-variant);
|
|
80
|
+
border: 1px var(--md-sys-color-outline-variant) solid;
|
|
81
|
+
border-radius: 8px;
|
|
82
|
+
padding: 0 4px;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
73
85
|
}
|
|
74
86
|
|
|
75
87
|
.template-description {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DomainTemplateBrowser.styles.js","sourceRoot":"","sources":["../../../../../src/modeling/internals/styles/DomainTemplateBrowser.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAEzB,eAAe,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsiBjB,CAAA","sourcesContent":["import { css } from 'lit'\n\nexport default css`\n :host {\n align-self: stretch;\n display: flex;\n flex-direction: column;\n gap: 20px;\n overflow-y: auto;\n max-height: 75vh;\n }\n\n .search {\n width: 100%;\n }\n\n .empty-list {\n padding: 12px 0;\n }\n\n .controls {\n display: flex;\n gap: 12px;\n padding-top: 12px;\n flex-direction: column;\n\n .filters {\n display: flex;\n gap: 8px;\n align-items: center;\n flex-wrap: wrap;\n }\n\n .top-row {\n display: flex;\n gap: 12px;\n align-items: center;\n flex-wrap: wrap;\n }\n\n .search-group {\n flex: 1;\n min-width: 300px;\n }\n\n .sort-group {\n display: flex;\n gap: 8px;\n align-items: center;\n }\n }\n\n .category-tabs {\n border-bottom: 1px solid var(--md-sys-color-outline-variant);\n padding-bottom: 8px;\n }\n\n .templates-grid {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));\n gap: 20px;\n padding: 20px 0;\n }\n\n .template-card {\n display: flex;\n flex-direction: column;\n gap: 24px;\n padding: 20px;\n background: var(--md-sys-color-surface);\n color: var(--md-sys-color-on-surface);\n border: 1px solid var(--md-sys-color-outline-variant);\n border-radius: var(--md-sys-shape-corner-medium);\n }\n\n .template-description {\n color: var(--md-sys-color-on-surface-variant);\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n margin: 0;\n }\n\n .template-stats {\n display: flex;\n gap: 16px;\n color: var(--md-sys-color-on-surface-variant);\n font-size: 14px;\n }\n\n .stat {\n display: flex;\n align-items: center;\n gap: 4px;\n }\n\n .template-actions {\n display: flex;\n gap: 8px;\n justify-content: flex-end;\n flex: 1;\n align-items: flex-end;\n }\n\n .empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 16px;\n padding: 60px 20px;\n text-align: center;\n }\n\n .empty-icon {\n font-size: 64px;\n color: var(--md-sys-color-outline);\n opacity: 0.6;\n width: 64px;\n height: 64px;\n }\n\n .empty-title {\n color: var(--md-sys-color-on-surface);\n margin: 0;\n }\n\n .empty-description {\n color: var(--md-sys-color-on-surface-variant);\n margin: 0;\n max-width: 400px;\n }\n\n /* Preview Mode Styles */\n .preview-layout {\n display: grid;\n grid-template-columns: 300px 1fr;\n gap: 24px;\n height: 100%;\n }\n\n .preview-sidebar {\n display: flex;\n flex-direction: column;\n gap: 16px;\n background: var(--md-sys-color-surface-variant);\n border-radius: var(--md-sys-shape-corner-large);\n padding: 20px;\n }\n\n .preview-header {\n border-bottom: 1px solid var(--md-sys-color-outline-variant);\n padding-bottom: 16px;\n }\n\n .compact-template-card {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px;\n border-radius: var(--md-sys-shape-corner-medium);\n cursor: pointer;\n transition: background-color 0.2s ease-in-out;\n\n &:hover {\n background: var(--md-sys-color-surface);\n }\n\n &.selected {\n background: var(--md-sys-color-primary-container);\n color: var(--md-sys-color-on-primary-container);\n }\n }\n\n .compact-icon {\n font-size: 20px;\n }\n\n .compact-info {\n flex: 1;\n min-width: 0;\n }\n\n .compact-title {\n font-weight: 500;\n font-size: 14px;\n line-height: 1.2;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .compact-category {\n font-size: 12px;\n opacity: 0.7;\n }\n\n .preview-main {\n background: var(--md-sys-color-surface);\n border-radius: var(--md-sys-shape-corner-large);\n overflow-y: auto;\n }\n\n .template-details {\n padding: 24px;\n color: var(--md-sys-color-on-surface);\n }\n\n .template-details-header {\n display: flex;\n gap: 20px;\n margin-bottom: 32px;\n }\n\n .template-details-info {\n flex: 1;\n min-width: 0;\n }\n\n .template-details-title {\n margin: 0 0 8px 0;\n color: var(--md-sys-color-on-surface);\n }\n\n .template-details-description {\n margin: 0 0 16px 0;\n color: var(--md-sys-color-on-surface-variant);\n line-height: 1.5;\n }\n\n .template-metadata {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n gap: 12px;\n margin-bottom: 16px;\n }\n\n .metadata-item {\n display: flex;\n flex-direction: column;\n gap: 4px;\n }\n\n .metadata-label {\n font-size: 12px;\n color: var(--md-sys-color-on-surface-variant);\n text-transform: uppercase;\n font-weight: 500;\n }\n\n .metadata-value {\n color: var(--md-sys-color-on-surface);\n }\n\n .template-tags {\n display: flex;\n gap: 8px;\n flex-wrap: wrap;\n }\n\n .template-tag {\n padding: 4px 8px;\n background: var(--md-sys-color-secondary-container);\n color: var(--md-sys-color-on-secondary-container);\n border-radius: var(--md-sys-shape-corner-small);\n font-size: 12px;\n }\n\n .template-details-actions {\n display: flex;\n align-items: flex-start;\n }\n\n .namespace-item {\n margin-top: 12px;\n }\n\n .namespace-description {\n margin: 0;\n }\n\n .structure-title {\n margin: 0 0 24px 0;\n color: var(--md-sys-color-on-surface);\n border-bottom: 1px solid var(--md-sys-color-outline-variant);\n padding-bottom: 8px;\n }\n\n .domain-overview {\n margin-bottom: 32px;\n padding: 20px;\n background: var(--md-sys-color-surface-variant);\n border-radius: var(--md-sys-shape-corner-medium);\n }\n\n .domain-name {\n margin: 0 0 8px 0;\n color: var(--md-sys-color-on-surface);\n }\n\n .domain-description {\n margin: 0 0 16px 0;\n color: var(--md-sys-color-on-surface-variant);\n }\n\n .domain-stats {\n display: flex;\n gap: 24px;\n }\n\n .stat-item {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 4px;\n }\n\n .stat-value {\n font-size: 24px;\n font-weight: 700;\n color: var(--md-sys-color-primary);\n }\n\n .models-section {\n margin-top: 24px;\n padding-left: 20px;\n border-left: 1px solid var(--md-sys-color-outline-variant);\n display: flex;\n flex-direction: column;\n gap: 40px;\n }\n\n .domain-model-header {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 8px 0;\n }\n\n .model-description {\n margin: 0;\n }\n\n .model-entities {\n margin-top: 20px;\n padding-left: 20px;\n border-left: 1px solid var(--md-sys-color-outline-variant);\n display: flex;\n flex-direction: column;\n gap: 40px;\n }\n\n .domain-entity {\n display: flex;\n flex-direction: column;\n gap: 20px;\n }\n\n .domain-entity:not(:last-child) {\n border-bottom: 1px solid var(--md-sys-color-outline);\n padding-bottom: 20px;\n }\n\n .entity-header {\n padding: 8px 0;\n display: flex;\n flex-direction: column;\n gap: 4px;\n }\n\n .entity-title {\n display: flex;\n align-items: center;\n gap: 12px;\n }\n\n .entity-name {\n margin: 0;\n flex: 1;\n }\n\n .deprecated-badge {\n padding: 2px 6px;\n background: var(--md-sys-color-error-container);\n color: var(--md-sys-color-on-error-container);\n border-radius: var(--md-sys-shape-corner-small);\n font-size: 10px;\n text-transform: uppercase;\n }\n\n .entity-description {\n margin: 0;\n }\n\n .entity-semantics {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n .semantics-label {\n font-size: 12px;\n color: var(--md-sys-color-on-surface-variant);\n font-weight: 500;\n }\n\n .semantic-tag {\n padding: 2px 6px;\n background: var(--md-sys-color-primary-container);\n color: var(--md-sys-color-on-primary-container);\n border-radius: var(--md-sys-shape-corner-small);\n font-size: 10px;\n }\n\n .section-title {\n margin: 0;\n padding: 12px 0;\n }\n\n .properties-list,\n .associations-list {\n display: flex;\n flex-direction: column;\n }\n\n .property-item,\n .association-item {\n padding: 20px 0;\n border-bottom: 1px solid var(--md-sys-color-outline-variant);\n display: flex;\n flex-direction: column;\n gap: 8px;\n\n &:last-child {\n border-bottom: none;\n }\n\n &.deprecated {\n opacity: 0.6;\n background: var(--md-sys-color-error-container);\n }\n }\n\n .property-header,\n .association-header {\n display: flex;\n align-items: center;\n gap: 12px;\n }\n\n .property-type {\n padding: 4px 8px;\n background: var(--md-sys-color-secondary-container);\n color: var(--md-sys-color-on-secondary-container);\n border-radius: var(--md-sys-shape-corner-small);\n }\n\n .association-targets,\n .association-cardinality {\n padding: 2px 6px;\n background: var(--md-sys-color-tertiary-container);\n color: var(--md-sys-color-on-tertiary-container);\n border-radius: var(--md-sys-shape-corner-small);\n font-size: 12px;\n }\n\n .property-description,\n .association-description {\n margin: 0;\n color: var(--md-sys-color-on-surface-variant);\n }\n\n .property-badges,\n .association-badges {\n display: flex;\n gap: 4px;\n margin-top: 8px;\n flex-wrap: wrap;\n }\n\n .property-badge,\n .association-badge {\n padding: 2px 6px;\n background: var(--md-sys-color-surface-variant);\n color: var(--md-sys-color-on-surface-variant);\n border-radius: var(--md-sys-shape-corner-small);\n }\n\n .property-default,\n .property-enum {\n margin-top: 4px;\n font-size: 12px;\n color: var(--md-sys-color-on-surface-variant);\n }\n\n .property-default code,\n .property-enum code {\n background: var(--md-sys-color-surface-variant);\n padding: 2px 4px;\n border-radius: var(--md-sys-shape-corner-small);\n margin-right: 8px;\n }\n\n .property-semantics,\n .association-semantics {\n display: flex;\n gap: 4px;\n margin-top: 8px;\n flex-wrap: wrap;\n }\n\n .namespace-header {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 4px 0px;\n }\n\n @media (max-width: 768px) {\n .templates-grid {\n grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));\n gap: 16px;\n }\n\n .controls .top-row {\n flex-direction: column;\n align-items: stretch;\n }\n\n .controls .search-group {\n min-width: unset;\n }\n\n .preview-layout {\n grid-template-columns: 1fr;\n gap: 16px;\n }\n\n .preview-sidebar {\n order: 2;\n }\n\n .template-details-header {\n flex-direction: column;\n gap: 16px;\n }\n\n .domain-stats {\n flex-direction: column;\n gap: 12px;\n }\n }\n`\n"]}
|
|
1
|
+
{"version":3,"file":"DomainTemplateBrowser.styles.js","sourceRoot":"","sources":["../../../../../src/modeling/internals/styles/DomainTemplateBrowser.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAEzB,eAAe,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkjBjB,CAAA","sourcesContent":["import { css } from 'lit'\n\nexport default css`\n :host {\n align-self: stretch;\n display: flex;\n flex-direction: column;\n gap: 20px;\n overflow-y: auto;\n max-height: 75vh;\n }\n\n .search {\n width: 100%;\n }\n\n .empty-list {\n padding: 12px 0;\n }\n\n .controls {\n display: flex;\n gap: 12px;\n padding-top: 12px;\n flex-direction: column;\n\n .filters {\n display: flex;\n gap: 8px;\n align-items: center;\n flex-wrap: wrap;\n }\n\n .top-row {\n display: flex;\n gap: 12px;\n align-items: center;\n flex-wrap: wrap;\n }\n\n .search-group {\n flex: 1;\n min-width: 300px;\n }\n\n .sort-group {\n display: flex;\n gap: 8px;\n align-items: center;\n }\n }\n\n .category-tabs {\n border-bottom: 1px solid var(--md-sys-color-outline-variant);\n padding-bottom: 8px;\n }\n\n .templates-grid {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));\n gap: 20px;\n padding: 20px 0;\n }\n\n .template-card {\n display: flex;\n flex-direction: column;\n gap: 24px;\n padding: 20px;\n background: var(--md-sys-color-surface);\n color: var(--md-sys-color-on-surface);\n border: 1px solid var(--md-sys-color-outline-variant);\n border-radius: var(--md-sys-shape-corner-medium);\n\n .meta {\n display: flex;\n gap: 8px;\n\n .value {\n color: var(--md-sys-color-on-surface-variant);\n border: 1px var(--md-sys-color-outline-variant) solid;\n border-radius: 8px;\n padding: 0 4px;\n }\n }\n }\n\n .template-description {\n color: var(--md-sys-color-on-surface-variant);\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n margin: 0;\n }\n\n .template-stats {\n display: flex;\n gap: 16px;\n color: var(--md-sys-color-on-surface-variant);\n font-size: 14px;\n }\n\n .stat {\n display: flex;\n align-items: center;\n gap: 4px;\n }\n\n .template-actions {\n display: flex;\n gap: 8px;\n justify-content: flex-end;\n flex: 1;\n align-items: flex-end;\n }\n\n .empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 16px;\n padding: 60px 20px;\n text-align: center;\n }\n\n .empty-icon {\n font-size: 64px;\n color: var(--md-sys-color-outline);\n opacity: 0.6;\n width: 64px;\n height: 64px;\n }\n\n .empty-title {\n color: var(--md-sys-color-on-surface);\n margin: 0;\n }\n\n .empty-description {\n color: var(--md-sys-color-on-surface-variant);\n margin: 0;\n max-width: 400px;\n }\n\n /* Preview Mode Styles */\n .preview-layout {\n display: grid;\n grid-template-columns: 300px 1fr;\n gap: 24px;\n height: 100%;\n }\n\n .preview-sidebar {\n display: flex;\n flex-direction: column;\n gap: 16px;\n background: var(--md-sys-color-surface-variant);\n border-radius: var(--md-sys-shape-corner-large);\n padding: 20px;\n }\n\n .preview-header {\n border-bottom: 1px solid var(--md-sys-color-outline-variant);\n padding-bottom: 16px;\n }\n\n .compact-template-card {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px;\n border-radius: var(--md-sys-shape-corner-medium);\n cursor: pointer;\n transition: background-color 0.2s ease-in-out;\n\n &:hover {\n background: var(--md-sys-color-surface);\n }\n\n &.selected {\n background: var(--md-sys-color-primary-container);\n color: var(--md-sys-color-on-primary-container);\n }\n }\n\n .compact-icon {\n font-size: 20px;\n }\n\n .compact-info {\n flex: 1;\n min-width: 0;\n }\n\n .compact-title {\n font-weight: 500;\n font-size: 14px;\n line-height: 1.2;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .compact-category {\n font-size: 12px;\n opacity: 0.7;\n }\n\n .preview-main {\n background: var(--md-sys-color-surface);\n border-radius: var(--md-sys-shape-corner-large);\n overflow-y: auto;\n }\n\n .template-details {\n padding: 24px;\n color: var(--md-sys-color-on-surface);\n }\n\n .template-details-header {\n display: flex;\n gap: 20px;\n margin-bottom: 32px;\n }\n\n .template-details-info {\n flex: 1;\n min-width: 0;\n }\n\n .template-details-title {\n margin: 0 0 8px 0;\n color: var(--md-sys-color-on-surface);\n }\n\n .template-details-description {\n margin: 0 0 16px 0;\n color: var(--md-sys-color-on-surface-variant);\n line-height: 1.5;\n }\n\n .template-metadata {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n gap: 12px;\n margin-bottom: 16px;\n }\n\n .metadata-item {\n display: flex;\n flex-direction: column;\n gap: 4px;\n }\n\n .metadata-label {\n font-size: 12px;\n color: var(--md-sys-color-on-surface-variant);\n text-transform: uppercase;\n font-weight: 500;\n }\n\n .metadata-value {\n color: var(--md-sys-color-on-surface);\n }\n\n .template-tags {\n display: flex;\n gap: 8px;\n flex-wrap: wrap;\n }\n\n .template-tag {\n padding: 4px 8px;\n background: var(--md-sys-color-secondary-container);\n color: var(--md-sys-color-on-secondary-container);\n border-radius: var(--md-sys-shape-corner-small);\n font-size: 12px;\n }\n\n .template-details-actions {\n display: flex;\n align-items: flex-start;\n }\n\n .namespace-item {\n margin-top: 12px;\n }\n\n .namespace-description {\n margin: 0;\n }\n\n .structure-title {\n margin: 0 0 24px 0;\n color: var(--md-sys-color-on-surface);\n border-bottom: 1px solid var(--md-sys-color-outline-variant);\n padding-bottom: 8px;\n }\n\n .domain-overview {\n margin-bottom: 32px;\n padding: 20px;\n background: var(--md-sys-color-surface-variant);\n border-radius: var(--md-sys-shape-corner-medium);\n }\n\n .domain-name {\n margin: 0 0 8px 0;\n color: var(--md-sys-color-on-surface);\n }\n\n .domain-description {\n margin: 0 0 16px 0;\n color: var(--md-sys-color-on-surface-variant);\n }\n\n .domain-stats {\n display: flex;\n gap: 24px;\n }\n\n .stat-item {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 4px;\n }\n\n .stat-value {\n font-size: 24px;\n font-weight: 700;\n color: var(--md-sys-color-primary);\n }\n\n .models-section {\n margin-top: 24px;\n padding-left: 20px;\n border-left: 1px solid var(--md-sys-color-outline-variant);\n display: flex;\n flex-direction: column;\n gap: 40px;\n }\n\n .domain-model-header {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 8px 0;\n }\n\n .model-description {\n margin: 0;\n }\n\n .model-entities {\n margin-top: 20px;\n padding-left: 20px;\n border-left: 1px solid var(--md-sys-color-outline-variant);\n display: flex;\n flex-direction: column;\n gap: 40px;\n }\n\n .domain-entity {\n display: flex;\n flex-direction: column;\n gap: 20px;\n }\n\n .domain-entity:not(:last-child) {\n border-bottom: 1px solid var(--md-sys-color-outline);\n padding-bottom: 20px;\n }\n\n .entity-header {\n padding: 8px 0;\n display: flex;\n flex-direction: column;\n gap: 4px;\n }\n\n .entity-title {\n display: flex;\n align-items: center;\n gap: 12px;\n }\n\n .entity-name {\n margin: 0;\n flex: 1;\n }\n\n .deprecated-badge {\n padding: 2px 6px;\n background: var(--md-sys-color-error-container);\n color: var(--md-sys-color-on-error-container);\n border-radius: var(--md-sys-shape-corner-small);\n font-size: 10px;\n text-transform: uppercase;\n }\n\n .entity-description {\n margin: 0;\n }\n\n .entity-semantics {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n .semantics-label {\n font-size: 12px;\n color: var(--md-sys-color-on-surface-variant);\n font-weight: 500;\n }\n\n .semantic-tag {\n padding: 2px 6px;\n background: var(--md-sys-color-primary-container);\n color: var(--md-sys-color-on-primary-container);\n border-radius: var(--md-sys-shape-corner-small);\n font-size: 10px;\n }\n\n .section-title {\n margin: 0;\n padding: 12px 0;\n }\n\n .properties-list,\n .associations-list {\n display: flex;\n flex-direction: column;\n }\n\n .property-item,\n .association-item {\n padding: 20px 0;\n border-bottom: 1px solid var(--md-sys-color-outline-variant);\n display: flex;\n flex-direction: column;\n gap: 8px;\n\n &:last-child {\n border-bottom: none;\n }\n\n &.deprecated {\n opacity: 0.6;\n background: var(--md-sys-color-error-container);\n }\n }\n\n .property-header,\n .association-header {\n display: flex;\n align-items: center;\n gap: 12px;\n }\n\n .property-type {\n padding: 4px 8px;\n background: var(--md-sys-color-secondary-container);\n color: var(--md-sys-color-on-secondary-container);\n border-radius: var(--md-sys-shape-corner-small);\n }\n\n .association-targets,\n .association-cardinality {\n padding: 2px 6px;\n background: var(--md-sys-color-tertiary-container);\n color: var(--md-sys-color-on-tertiary-container);\n border-radius: var(--md-sys-shape-corner-small);\n font-size: 12px;\n }\n\n .property-description,\n .association-description {\n margin: 0;\n color: var(--md-sys-color-on-surface-variant);\n }\n\n .property-badges,\n .association-badges {\n display: flex;\n gap: 4px;\n margin-top: 8px;\n flex-wrap: wrap;\n }\n\n .property-badge,\n .association-badge {\n padding: 2px 6px;\n background: var(--md-sys-color-surface-variant);\n color: var(--md-sys-color-on-surface-variant);\n border-radius: var(--md-sys-shape-corner-small);\n }\n\n .property-default,\n .property-enum {\n margin-top: 4px;\n font-size: 12px;\n color: var(--md-sys-color-on-surface-variant);\n }\n\n .property-default code,\n .property-enum code {\n background: var(--md-sys-color-surface-variant);\n padding: 2px 4px;\n border-radius: var(--md-sys-shape-corner-small);\n margin-right: 8px;\n }\n\n .property-semantics,\n .association-semantics {\n display: flex;\n gap: 4px;\n margin-top: 8px;\n flex-wrap: wrap;\n }\n\n .namespace-header {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 4px 0px;\n }\n\n @media (max-width: 768px) {\n .templates-grid {\n grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));\n gap: 16px;\n }\n\n .controls .top-row {\n flex-direction: column;\n align-items: stretch;\n }\n\n .controls .search-group {\n min-width: unset;\n }\n\n .preview-layout {\n grid-template-columns: 1fr;\n gap: 16px;\n }\n\n .preview-sidebar {\n order: 2;\n }\n\n .template-details-header {\n flex-direction: column;\n gap: 16px;\n }\n\n .domain-stats {\n flex-direction: column;\n gap: 12px;\n }\n }\n`\n"]}
|
|
@@ -14,10 +14,10 @@ export default css `
|
|
|
14
14
|
--md-sys-color-on-primary-light: rgb(255 255 255);
|
|
15
15
|
--md-sys-color-primary-container-light: rgb(158 239 254);
|
|
16
16
|
--md-sys-color-on-primary-container-light: rgb(0 79 88);
|
|
17
|
-
--md-sys-color-secondary-light: rgb(
|
|
17
|
+
--md-sys-color-secondary-light: rgb(74 98 103);
|
|
18
18
|
--md-sys-color-on-secondary-light: rgb(255 255 255);
|
|
19
|
-
--md-sys-color-secondary-container-light: rgb(
|
|
20
|
-
--md-sys-color-on-secondary-container-light: rgb(
|
|
19
|
+
--md-sys-color-secondary-container-light: rgb(205 231 236);
|
|
20
|
+
--md-sys-color-on-secondary-container-light: rgb(51 75 79);
|
|
21
21
|
--md-sys-color-tertiary-light: rgb(83 94 125);
|
|
22
22
|
--md-sys-color-on-tertiary-light: rgb(255 255 255);
|
|
23
23
|
--md-sys-color-tertiary-container-light: rgb(218 226 255);
|
|
@@ -43,10 +43,10 @@ export default css `
|
|
|
43
43
|
--md-sys-color-on-primary-fixed-light: rgb(0 31 36);
|
|
44
44
|
--md-sys-color-primary-fixed-dim-light: rgb(130 211 225);
|
|
45
45
|
--md-sys-color-on-primary-fixed-variant-light: rgb(0 79 88);
|
|
46
|
-
--md-sys-color-secondary-fixed-light: rgb(
|
|
47
|
-
--md-sys-color-on-secondary-fixed-light: rgb(
|
|
48
|
-
--md-sys-color-secondary-fixed-dim-light: rgb(
|
|
49
|
-
--md-sys-color-on-secondary-fixed-variant-light: rgb(
|
|
46
|
+
--md-sys-color-secondary-fixed-light: rgb(205 231 236);
|
|
47
|
+
--md-sys-color-on-secondary-fixed-light: rgb(5 31 35);
|
|
48
|
+
--md-sys-color-secondary-fixed-dim-light: rgb(177 203 208);
|
|
49
|
+
--md-sys-color-on-secondary-fixed-variant-light: rgb(51 75 79);
|
|
50
50
|
--md-sys-color-tertiary-fixed-light: rgb(218 226 255);
|
|
51
51
|
--md-sys-color-on-tertiary-fixed-light: rgb(15 26 55);
|
|
52
52
|
--md-sys-color-tertiary-fixed-dim-light: rgb(187 198 234);
|
|
@@ -72,9 +72,9 @@ export default css `
|
|
|
72
72
|
--md-sys-color-on-primary-light-hc: rgb(255 255 255);
|
|
73
73
|
--md-sys-color-primary-container-light-hc: rgb(0 81 91);
|
|
74
74
|
--md-sys-color-on-primary-container-light-hc: rgb(255 255 255);
|
|
75
|
-
--md-sys-color-secondary-light-hc: rgb(
|
|
75
|
+
--md-sys-color-secondary-light-hc: rgb(23 48 52);
|
|
76
76
|
--md-sys-color-on-secondary-light-hc: rgb(255 255 255);
|
|
77
|
-
--md-sys-color-secondary-container-light-hc: rgb(
|
|
77
|
+
--md-sys-color-secondary-container-light-hc: rgb(53 77 81);
|
|
78
78
|
--md-sys-color-on-secondary-container-light-hc: rgb(255 255 255);
|
|
79
79
|
--md-sys-color-tertiary-light-hc: rgb(32 43 72);
|
|
80
80
|
--md-sys-color-on-tertiary-light-hc: rgb(255 255 255);
|
|
@@ -101,9 +101,9 @@ export default css `
|
|
|
101
101
|
--md-sys-color-on-primary-fixed-light-hc: rgb(255 255 255);
|
|
102
102
|
--md-sys-color-primary-fixed-dim-light-hc: rgb(0 57 64);
|
|
103
103
|
--md-sys-color-on-primary-fixed-variant-light-hc: rgb(255 255 255);
|
|
104
|
-
--md-sys-color-secondary-fixed-light-hc: rgb(
|
|
104
|
+
--md-sys-color-secondary-fixed-light-hc: rgb(53 77 81);
|
|
105
105
|
--md-sys-color-on-secondary-fixed-light-hc: rgb(255 255 255);
|
|
106
|
-
--md-sys-color-secondary-fixed-dim-light-hc: rgb(
|
|
106
|
+
--md-sys-color-secondary-fixed-dim-light-hc: rgb(30 54 58);
|
|
107
107
|
--md-sys-color-on-secondary-fixed-variant-light-hc: rgb(255 255 255);
|
|
108
108
|
--md-sys-color-tertiary-fixed-light-hc: rgb(61 72 103);
|
|
109
109
|
--md-sys-color-on-tertiary-fixed-light-hc: rgb(255 255 255);
|
|
@@ -129,9 +129,9 @@ export default css `
|
|
|
129
129
|
--md-sys-color-on-primary-light-mc: rgb(255 255 255);
|
|
130
130
|
--md-sys-color-primary-container-light-mc: rgb(25 120 133);
|
|
131
131
|
--md-sys-color-on-primary-container-light-mc: rgb(255 255 255);
|
|
132
|
-
--md-sys-color-secondary-light-mc: rgb(
|
|
132
|
+
--md-sys-color-secondary-light-mc: rgb(34 58 62);
|
|
133
133
|
--md-sys-color-on-secondary-light-mc: rgb(255 255 255);
|
|
134
|
-
--md-sys-color-secondary-container-light-mc: rgb(
|
|
134
|
+
--md-sys-color-secondary-container-light-mc: rgb(89 113 118);
|
|
135
135
|
--md-sys-color-on-secondary-container-light-mc: rgb(255 255 255);
|
|
136
136
|
--md-sys-color-tertiary-light-mc: rgb(42 53 83);
|
|
137
137
|
--md-sys-color-on-tertiary-light-mc: rgb(255 255 255);
|
|
@@ -158,9 +158,9 @@ export default css `
|
|
|
158
158
|
--md-sys-color-on-primary-fixed-light-mc: rgb(255 255 255);
|
|
159
159
|
--md-sys-color-primary-fixed-dim-light-mc: rgb(0 94 105);
|
|
160
160
|
--md-sys-color-on-primary-fixed-variant-light-mc: rgb(255 255 255);
|
|
161
|
-
--md-sys-color-secondary-fixed-light-mc: rgb(
|
|
161
|
+
--md-sys-color-secondary-fixed-light-mc: rgb(89 113 118);
|
|
162
162
|
--md-sys-color-on-secondary-fixed-light-mc: rgb(255 255 255);
|
|
163
|
-
--md-sys-color-secondary-fixed-dim-light-mc: rgb(
|
|
163
|
+
--md-sys-color-secondary-fixed-dim-light-mc: rgb(65 89 93);
|
|
164
164
|
--md-sys-color-on-secondary-fixed-variant-light-mc: rgb(255 255 255);
|
|
165
165
|
--md-sys-color-tertiary-fixed-light-mc: rgb(97 108 141);
|
|
166
166
|
--md-sys-color-on-tertiary-fixed-light-mc: rgb(255 255 255);
|
|
@@ -188,10 +188,10 @@ export default css `
|
|
|
188
188
|
--md-sys-color-on-primary-dark: rgb(0 54 61);
|
|
189
189
|
--md-sys-color-primary-container-dark: rgb(0 79 88);
|
|
190
190
|
--md-sys-color-on-primary-container-dark: rgb(158 239 254);
|
|
191
|
-
--md-sys-color-secondary-dark: rgb(
|
|
192
|
-
--md-sys-color-on-secondary-dark: rgb(
|
|
193
|
-
--md-sys-color-secondary-container-dark: rgb(
|
|
194
|
-
--md-sys-color-on-secondary-container-dark: rgb(
|
|
191
|
+
--md-sys-color-secondary-dark: rgb(177 203 208);
|
|
192
|
+
--md-sys-color-on-secondary-dark: rgb(28 52 56);
|
|
193
|
+
--md-sys-color-secondary-container-dark: rgb(51 75 79);
|
|
194
|
+
--md-sys-color-on-secondary-container-dark: rgb(205 231 236);
|
|
195
195
|
--md-sys-color-tertiary-dark: rgb(187 198 234);
|
|
196
196
|
--md-sys-color-on-tertiary-dark: rgb(36 48 77);
|
|
197
197
|
--md-sys-color-tertiary-container-dark: rgb(59 70 101);
|
|
@@ -217,10 +217,10 @@ export default css `
|
|
|
217
217
|
--md-sys-color-on-primary-fixed-dark: rgb(0 31 36);
|
|
218
218
|
--md-sys-color-primary-fixed-dim-dark: rgb(130 211 225);
|
|
219
219
|
--md-sys-color-on-primary-fixed-variant-dark: rgb(0 79 88);
|
|
220
|
-
--md-sys-color-secondary-fixed-dark: rgb(
|
|
221
|
-
--md-sys-color-on-secondary-fixed-dark: rgb(
|
|
222
|
-
--md-sys-color-secondary-fixed-dim-dark: rgb(
|
|
223
|
-
--md-sys-color-on-secondary-fixed-variant-dark: rgb(
|
|
220
|
+
--md-sys-color-secondary-fixed-dark: rgb(205 231 236);
|
|
221
|
+
--md-sys-color-on-secondary-fixed-dark: rgb(5 31 35);
|
|
222
|
+
--md-sys-color-secondary-fixed-dim-dark: rgb(177 203 208);
|
|
223
|
+
--md-sys-color-on-secondary-fixed-variant-dark: rgb(51 75 79);
|
|
224
224
|
--md-sys-color-tertiary-fixed-dark: rgb(218 226 255);
|
|
225
225
|
--md-sys-color-on-tertiary-fixed-dark: rgb(15 26 55);
|
|
226
226
|
--md-sys-color-tertiary-fixed-dim-dark: rgb(187 198 234);
|
|
@@ -246,9 +246,9 @@ export default css `
|
|
|
246
246
|
--md-sys-color-on-primary-dark-hc: rgb(0 0 0);
|
|
247
247
|
--md-sys-color-primary-container-dark-hc: rgb(126 207 221);
|
|
248
248
|
--md-sys-color-on-primary-container-dark-hc: rgb(0 14 16);
|
|
249
|
-
--md-sys-color-secondary-dark-hc: rgb(
|
|
249
|
+
--md-sys-color-secondary-dark-hc: rgb(218 245 250);
|
|
250
250
|
--md-sys-color-on-secondary-dark-hc: rgb(0 0 0);
|
|
251
|
-
--md-sys-color-secondary-container-dark-hc: rgb(
|
|
251
|
+
--md-sys-color-secondary-container-dark-hc: rgb(173 199 204);
|
|
252
252
|
--md-sys-color-on-secondary-container-dark-hc: rgb(0 14 16);
|
|
253
253
|
--md-sys-color-tertiary-dark-hc: rgb(237 239 255);
|
|
254
254
|
--md-sys-color-on-tertiary-dark-hc: rgb(0 0 0);
|
|
@@ -275,9 +275,9 @@ export default css `
|
|
|
275
275
|
--md-sys-color-on-primary-fixed-dark-hc: rgb(0 0 0);
|
|
276
276
|
--md-sys-color-primary-fixed-dim-dark-hc: rgb(130 211 225);
|
|
277
277
|
--md-sys-color-on-primary-fixed-variant-dark-hc: rgb(0 20 23);
|
|
278
|
-
--md-sys-color-secondary-fixed-dark-hc: rgb(
|
|
278
|
+
--md-sys-color-secondary-fixed-dark-hc: rgb(205 231 236);
|
|
279
279
|
--md-sys-color-on-secondary-fixed-dark-hc: rgb(0 0 0);
|
|
280
|
-
--md-sys-color-secondary-fixed-dim-dark-hc: rgb(
|
|
280
|
+
--md-sys-color-secondary-fixed-dim-dark-hc: rgb(177 203 208);
|
|
281
281
|
--md-sys-color-on-secondary-fixed-variant-dark-hc: rgb(0 20 23);
|
|
282
282
|
--md-sys-color-tertiary-fixed-dark-hc: rgb(218 226 255);
|
|
283
283
|
--md-sys-color-on-tertiary-fixed-dark-hc: rgb(0 0 0);
|
|
@@ -304,9 +304,9 @@ export default css `
|
|
|
304
304
|
--md-sys-color-on-primary-dark-mc: rgb(0 42 48);
|
|
305
305
|
--md-sys-color-primary-container-dark-mc: rgb(73 156 169);
|
|
306
306
|
--md-sys-color-on-primary-container-dark-mc: rgb(0 0 0);
|
|
307
|
-
--md-sys-color-secondary-dark-mc: rgb(
|
|
308
|
-
--md-sys-color-on-secondary-dark-mc: rgb(
|
|
309
|
-
--md-sys-color-secondary-container-dark-mc: rgb(
|
|
307
|
+
--md-sys-color-secondary-dark-mc: rgb(199 225 230);
|
|
308
|
+
--md-sys-color-on-secondary-dark-mc: rgb(16 41 45);
|
|
309
|
+
--md-sys-color-secondary-container-dark-mc: rgb(124 149 154);
|
|
310
310
|
--md-sys-color-on-secondary-container-dark-mc: rgb(0 0 0);
|
|
311
311
|
--md-sys-color-tertiary-dark-mc: rgb(209 219 255);
|
|
312
312
|
--md-sys-color-on-tertiary-dark-mc: rgb(25 37 65);
|
|
@@ -333,10 +333,10 @@ export default css `
|
|
|
333
333
|
--md-sys-color-on-primary-fixed-dark-mc: rgb(0 20 23);
|
|
334
334
|
--md-sys-color-primary-fixed-dim-dark-mc: rgb(130 211 225);
|
|
335
335
|
--md-sys-color-on-primary-fixed-variant-dark-mc: rgb(0 60 68);
|
|
336
|
-
--md-sys-color-secondary-fixed-dark-mc: rgb(
|
|
336
|
+
--md-sys-color-secondary-fixed-dark-mc: rgb(205 231 236);
|
|
337
337
|
--md-sys-color-on-secondary-fixed-dark-mc: rgb(0 20 23);
|
|
338
|
-
--md-sys-color-secondary-fixed-dim-dark-mc: rgb(
|
|
339
|
-
--md-sys-color-on-secondary-fixed-variant-dark-mc: rgb(
|
|
338
|
+
--md-sys-color-secondary-fixed-dim-dark-mc: rgb(177 203 208);
|
|
339
|
+
--md-sys-color-on-secondary-fixed-variant-dark-mc: rgb(34 58 62);
|
|
340
340
|
--md-sys-color-tertiary-fixed-dark-mc: rgb(218 226 255);
|
|
341
341
|
--md-sys-color-on-tertiary-fixed-dark-mc: rgb(4 16 44);
|
|
342
342
|
--md-sys-color-tertiary-fixed-dim-dark-mc: rgb(187 198 234);
|