@tekus/design-system 5.0.3 → 5.1.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.
@@ -102,11 +102,11 @@ class ButtonComponent {
102
102
  this.clicked.emit('mouse');
103
103
  }
104
104
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
105
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: ButtonComponent, isStandalone: true, selector: "tk-button", inputs: { label: "label", disabled: "disabled", type: "type", severity: "severity", link: "link" }, outputs: { clicked: "clicked" }, ngImport: i0, template: "<p-button\n class=\"tk-button\"\n [label]=\"label\"\n [disabled]=\"disabled\"\n [type]=\"type\"\n [severity]=\"link ? null : severity\"\n [link]=\"link\"\n (click)=\"onButtonClick()\"\n (keydown.enter)=\"onButtonClick()\"\n (keydown.space)=\"onButtonClick()\">\n</p-button>\n", styles: [":host ::ng-deep .p-button.p-button-primary .p-button-label,:host ::ng-deep .p-button.p-button-secondary .p-button-label,:host ::ng-deep .p-button.p-button-danger .p-button-label{color:var(--tk-surface-0, #ffffff)!important}:host ::ng-deep .p-button.p-button-link .p-button-label{color:var(--tk-primary-900, #16006f)!important}:host ::ng-deep .p-button.p-button-link:hover .p-button-label{color:var(--tk-primary-700, #44338b)!important}\n"], dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "fluid", "buttonProps"], outputs: ["onClick", "onFocus", "onBlur"] }] }); }
105
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: ButtonComponent, isStandalone: true, selector: "tk-button", inputs: { label: "label", disabled: "disabled", type: "type", severity: "severity", link: "link" }, outputs: { clicked: "clicked" }, ngImport: i0, template: "<p-button\n class=\"tk-button\"\n [label]=\"label\"\n [disabled]=\"disabled\"\n [type]=\"type\"\n [severity]=\"link ? null : severity\"\n [link]=\"link\"\n (click)=\"onButtonClick()\"\n (keydown.enter)=\"onButtonClick()\"\n (keydown.space)=\"onButtonClick()\">\n</p-button>\n", styles: [":host ::ng-deep .p-button.p-button-primary .p-button-label,:host ::ng-deep .p-button.p-button-secondary .p-button-label,:host ::ng-deep .p-button.p-button-danger .p-button-label{color:var(--tk-surface-0, #ffffff)!important}:host ::ng-deep .p-button.p-button-link .p-button-label{color:var(--tk-primary-500, #16006f)!important}:host ::ng-deep .p-button.p-button-link:hover .p-button-label{color:var(--tk-primary-400, #45338c)!important}\n"], dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "fluid", "buttonProps"], outputs: ["onClick", "onFocus", "onBlur"] }] }); }
106
106
  }
107
107
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: ButtonComponent, decorators: [{
108
108
  type: Component,
109
- args: [{ selector: 'tk-button', standalone: true, imports: [ButtonModule], template: "<p-button\n class=\"tk-button\"\n [label]=\"label\"\n [disabled]=\"disabled\"\n [type]=\"type\"\n [severity]=\"link ? null : severity\"\n [link]=\"link\"\n (click)=\"onButtonClick()\"\n (keydown.enter)=\"onButtonClick()\"\n (keydown.space)=\"onButtonClick()\">\n</p-button>\n", styles: [":host ::ng-deep .p-button.p-button-primary .p-button-label,:host ::ng-deep .p-button.p-button-secondary .p-button-label,:host ::ng-deep .p-button.p-button-danger .p-button-label{color:var(--tk-surface-0, #ffffff)!important}:host ::ng-deep .p-button.p-button-link .p-button-label{color:var(--tk-primary-900, #16006f)!important}:host ::ng-deep .p-button.p-button-link:hover .p-button-label{color:var(--tk-primary-700, #44338b)!important}\n"] }]
109
+ args: [{ selector: 'tk-button', standalone: true, imports: [ButtonModule], template: "<p-button\n class=\"tk-button\"\n [label]=\"label\"\n [disabled]=\"disabled\"\n [type]=\"type\"\n [severity]=\"link ? null : severity\"\n [link]=\"link\"\n (click)=\"onButtonClick()\"\n (keydown.enter)=\"onButtonClick()\"\n (keydown.space)=\"onButtonClick()\">\n</p-button>\n", styles: [":host ::ng-deep .p-button.p-button-primary .p-button-label,:host ::ng-deep .p-button.p-button-secondary .p-button-label,:host ::ng-deep .p-button.p-button-danger .p-button-label{color:var(--tk-surface-0, #ffffff)!important}:host ::ng-deep .p-button.p-button-link .p-button-label{color:var(--tk-primary-500, #16006f)!important}:host ::ng-deep .p-button.p-button-link:hover .p-button-label{color:var(--tk-primary-400, #45338c)!important}\n"] }]
110
110
  }], propDecorators: { label: [{
111
111
  type: Input
112
112
  }], disabled: [{
@@ -163,11 +163,11 @@ class FallbackViewComponent {
163
163
  this.linkAction.emit();
164
164
  }
165
165
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: FallbackViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
166
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: FallbackViewComponent, isStandalone: true, selector: "tk-fallback-view", inputs: { type: "type", imageSrc: "imageSrc", illustrationAlt: "illustrationAlt", title: "title", message: "message", buttonLabel: "buttonLabel", linkLabel: "linkLabel", buttonDisabled: "buttonDisabled" }, outputs: { buttonAction: "buttonAction", linkAction: "linkAction" }, ngImport: i0, template: "<div\n class=\"tk-fallback-view\"\n [class.tk-fallback-view--section]=\"type === 'section'\">\n <ng-content select=\"[image]\"></ng-content>\n @if (imageSrc) {\n <img\n [src]=\"imageSrc\"\n [alt]=\"illustrationAlt || 'fallback illustration'\"\n class=\"tk-fallback-view__image\" />\n }\n\n <ng-content select=\"[title]\"></ng-content>\n @if (title && type === 'content') {\n <h2 class=\"tk-fallback-view__title\">{{ title }}</h2>\n }\n\n <ng-content select=\"[message]\"></ng-content>\n @if (message) {\n <p class=\"tk-fallback-view__message\" [innerHTML]=\"message\"></p>\n }\n\n <ng-content select=\"[actions]\"></ng-content>\n @if (type === 'content' && (buttonLabel || linkLabel)) {\n <div class=\"tk-fallback-view__actions\">\n @if (buttonLabel) {\n <tk-button\n [label]=\"buttonLabel\"\n severity=\"primary\"\n [disabled]=\"buttonDisabled\"\n (clicked)=\"onButtonActionClick()\" />\n } @if (linkLabel) {\n <tk-button\n [label]=\"linkLabel\"\n [link]=\"true\"\n (clicked)=\"onLinkActionClick()\" />\n }\n </div>\n }\n</div>\n", styles: [":host{display:block;width:100%}.tk-fallback-view{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--tk-spacing-4, 1rem);padding:var(--tk-spacing-8, 2rem) var(--tk-spacing-4, 1rem);max-width:31.25rem;margin:0 auto}.tk-fallback-view__image,.tk-fallback-view>[image]{max-width:18.75rem;max-height:18.75rem;width:auto;height:auto;object-fit:contain;margin-bottom:var(--tk-spacing-6, 1.5rem)}.tk-fallback-view__title,.tk-fallback-view>[title]{font-size:var(--tk-font-size-md, 1.5rem);font-weight:var(--tk-font-weight-bold, 700);margin:0}.tk-fallback-view__message,.tk-fallback-view>[message]{font-size:var(--tk-font-size-2xs, 1rem);font-weight:var(--tk-font-weight-regular, 400);margin:0}.tk-fallback-view__actions,.tk-fallback-view>[actions]{display:flex;flex-direction:column;align-items:center;gap:var(--tk-spacing-3, .75rem)}.tk-fallback-view--section{flex-direction:row;text-align:left;padding:0 var(--tk-spacing-3, .75rem);gap:var(--tk-spacing-4, 1rem);max-width:31.25rem;min-height:3.75rem}.tk-fallback-view--section .tk-fallback-view__image,.tk-fallback-view--section>[image]{width:3.75rem;height:3.75rem;max-width:3.75rem;max-height:3.75rem;margin-bottom:0;object-fit:contain}.tk-fallback-view--section .tk-fallback-view__message,.tk-fallback-view--section>[message]{font-size:var(--tk-font-size-2xs);font-weight:var(--tk-font-weight-regular)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ButtonComponent, selector: "tk-button", inputs: ["label", "disabled", "type", "severity", "link"], outputs: ["clicked"] }, { kind: "ngmodule", type: CardModule }], encapsulation: i0.ViewEncapsulation.None }); }
166
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: FallbackViewComponent, isStandalone: true, selector: "tk-fallback-view", inputs: { type: "type", imageSrc: "imageSrc", illustrationAlt: "illustrationAlt", title: "title", message: "message", buttonLabel: "buttonLabel", linkLabel: "linkLabel", buttonDisabled: "buttonDisabled" }, outputs: { buttonAction: "buttonAction", linkAction: "linkAction" }, ngImport: i0, template: "<div\n class=\"tk-fallback-view\"\n [class.tk-fallback-view--section]=\"type === 'section'\">\n <ng-content select=\"[image]\"></ng-content>\n @if (imageSrc) {\n <img\n [src]=\"imageSrc\"\n [alt]=\"illustrationAlt || 'fallback illustration'\"\n class=\"tk-fallback-view__image\" />\n }\n\n <ng-content select=\"[title]\"></ng-content>\n @if (title && type === 'content') {\n <h2 class=\"tk-fallback-view__title\">{{ title }}</h2>\n }\n\n <ng-content select=\"[message]\"></ng-content>\n @if (message) {\n <p class=\"tk-fallback-view__message\" [innerHTML]=\"message\"></p>\n }\n\n <ng-content select=\"[actions]\"></ng-content>\n @if (type === 'content' && (buttonLabel || linkLabel)) {\n <div class=\"tk-fallback-view__actions\">\n @if (buttonLabel) {\n <tk-button\n [label]=\"buttonLabel\"\n severity=\"primary\"\n [disabled]=\"buttonDisabled\"\n (clicked)=\"onButtonActionClick()\" />\n } @if (linkLabel) {\n <tk-button\n [label]=\"linkLabel\"\n [link]=\"true\"\n (clicked)=\"onLinkActionClick()\" />\n }\n </div>\n }\n</div>\n", styles: [":host{display:block;width:100%}.tk-fallback-view{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--tk-spacing-4, 1rem);padding:var(--tk-spacing-8, 2rem) var(--tk-spacing-4, 1rem);max-width:31.25rem;margin:0 auto}.tk-fallback-view__image,.tk-fallback-view>[image]{max-width:18.75rem;max-height:18.75rem;width:auto;height:auto;object-fit:contain;margin-bottom:var(--tk-spacing-6, 1.5rem)}.tk-fallback-view__title,.tk-fallback-view>[title]{font-size:var(--tk-font-size-md, 1.5rem);font-weight:var(--tk-font-weight-bold, 700);margin:0;color:var(--tk-text-default, #191A1B)}.tk-fallback-view__message,.tk-fallback-view>[message]{font-size:var(--tk-font-size-2xs, 1rem);font-weight:var(--tk-font-weight-regular, 400);margin:0;color:var(--tk-text-default, #191A1B)}.tk-fallback-view__actions,.tk-fallback-view>[actions]{display:flex;flex-direction:column;align-items:center;gap:var(--tk-spacing-3, .75rem)}.tk-fallback-view--section{flex-direction:row;justify-content:center;align-items:center;text-align:left;gap:var(--tk-spacing-4, 1rem);width:100%;min-height:3.75rem;padding:var(--tk-spacing-6, 1.5rem) var(--tk-spacing-4, 1rem);background-color:var(--tk-surface-0, #ffffff);color:var(--tk-text-default, #191A1B)}.tk-fallback-view--section .tk-fallback-view__image,.tk-fallback-view--section>[image]{width:3.75rem;height:3.75rem;max-width:3.75rem;max-height:3.75rem;margin-bottom:0;object-fit:contain}.tk-fallback-view--section .tk-fallback-view__message,.tk-fallback-view--section>[message]{font-size:var(--tk-font-size-2xs);font-weight:var(--tk-font-weight-regular)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ButtonComponent, selector: "tk-button", inputs: ["label", "disabled", "type", "severity", "link"], outputs: ["clicked"] }, { kind: "ngmodule", type: CardModule }], encapsulation: i0.ViewEncapsulation.None }); }
167
167
  }
168
168
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: FallbackViewComponent, decorators: [{
169
169
  type: Component,
170
- args: [{ selector: 'tk-fallback-view', standalone: true, imports: [CommonModule, ButtonComponent, CardModule], encapsulation: ViewEncapsulation.None, template: "<div\n class=\"tk-fallback-view\"\n [class.tk-fallback-view--section]=\"type === 'section'\">\n <ng-content select=\"[image]\"></ng-content>\n @if (imageSrc) {\n <img\n [src]=\"imageSrc\"\n [alt]=\"illustrationAlt || 'fallback illustration'\"\n class=\"tk-fallback-view__image\" />\n }\n\n <ng-content select=\"[title]\"></ng-content>\n @if (title && type === 'content') {\n <h2 class=\"tk-fallback-view__title\">{{ title }}</h2>\n }\n\n <ng-content select=\"[message]\"></ng-content>\n @if (message) {\n <p class=\"tk-fallback-view__message\" [innerHTML]=\"message\"></p>\n }\n\n <ng-content select=\"[actions]\"></ng-content>\n @if (type === 'content' && (buttonLabel || linkLabel)) {\n <div class=\"tk-fallback-view__actions\">\n @if (buttonLabel) {\n <tk-button\n [label]=\"buttonLabel\"\n severity=\"primary\"\n [disabled]=\"buttonDisabled\"\n (clicked)=\"onButtonActionClick()\" />\n } @if (linkLabel) {\n <tk-button\n [label]=\"linkLabel\"\n [link]=\"true\"\n (clicked)=\"onLinkActionClick()\" />\n }\n </div>\n }\n</div>\n", styles: [":host{display:block;width:100%}.tk-fallback-view{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--tk-spacing-4, 1rem);padding:var(--tk-spacing-8, 2rem) var(--tk-spacing-4, 1rem);max-width:31.25rem;margin:0 auto}.tk-fallback-view__image,.tk-fallback-view>[image]{max-width:18.75rem;max-height:18.75rem;width:auto;height:auto;object-fit:contain;margin-bottom:var(--tk-spacing-6, 1.5rem)}.tk-fallback-view__title,.tk-fallback-view>[title]{font-size:var(--tk-font-size-md, 1.5rem);font-weight:var(--tk-font-weight-bold, 700);margin:0}.tk-fallback-view__message,.tk-fallback-view>[message]{font-size:var(--tk-font-size-2xs, 1rem);font-weight:var(--tk-font-weight-regular, 400);margin:0}.tk-fallback-view__actions,.tk-fallback-view>[actions]{display:flex;flex-direction:column;align-items:center;gap:var(--tk-spacing-3, .75rem)}.tk-fallback-view--section{flex-direction:row;text-align:left;padding:0 var(--tk-spacing-3, .75rem);gap:var(--tk-spacing-4, 1rem);max-width:31.25rem;min-height:3.75rem}.tk-fallback-view--section .tk-fallback-view__image,.tk-fallback-view--section>[image]{width:3.75rem;height:3.75rem;max-width:3.75rem;max-height:3.75rem;margin-bottom:0;object-fit:contain}.tk-fallback-view--section .tk-fallback-view__message,.tk-fallback-view--section>[message]{font-size:var(--tk-font-size-2xs);font-weight:var(--tk-font-weight-regular)}\n"] }]
170
+ args: [{ selector: 'tk-fallback-view', standalone: true, imports: [CommonModule, ButtonComponent, CardModule], encapsulation: ViewEncapsulation.None, template: "<div\n class=\"tk-fallback-view\"\n [class.tk-fallback-view--section]=\"type === 'section'\">\n <ng-content select=\"[image]\"></ng-content>\n @if (imageSrc) {\n <img\n [src]=\"imageSrc\"\n [alt]=\"illustrationAlt || 'fallback illustration'\"\n class=\"tk-fallback-view__image\" />\n }\n\n <ng-content select=\"[title]\"></ng-content>\n @if (title && type === 'content') {\n <h2 class=\"tk-fallback-view__title\">{{ title }}</h2>\n }\n\n <ng-content select=\"[message]\"></ng-content>\n @if (message) {\n <p class=\"tk-fallback-view__message\" [innerHTML]=\"message\"></p>\n }\n\n <ng-content select=\"[actions]\"></ng-content>\n @if (type === 'content' && (buttonLabel || linkLabel)) {\n <div class=\"tk-fallback-view__actions\">\n @if (buttonLabel) {\n <tk-button\n [label]=\"buttonLabel\"\n severity=\"primary\"\n [disabled]=\"buttonDisabled\"\n (clicked)=\"onButtonActionClick()\" />\n } @if (linkLabel) {\n <tk-button\n [label]=\"linkLabel\"\n [link]=\"true\"\n (clicked)=\"onLinkActionClick()\" />\n }\n </div>\n }\n</div>\n", styles: [":host{display:block;width:100%}.tk-fallback-view{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--tk-spacing-4, 1rem);padding:var(--tk-spacing-8, 2rem) var(--tk-spacing-4, 1rem);max-width:31.25rem;margin:0 auto}.tk-fallback-view__image,.tk-fallback-view>[image]{max-width:18.75rem;max-height:18.75rem;width:auto;height:auto;object-fit:contain;margin-bottom:var(--tk-spacing-6, 1.5rem)}.tk-fallback-view__title,.tk-fallback-view>[title]{font-size:var(--tk-font-size-md, 1.5rem);font-weight:var(--tk-font-weight-bold, 700);margin:0;color:var(--tk-text-default, #191A1B)}.tk-fallback-view__message,.tk-fallback-view>[message]{font-size:var(--tk-font-size-2xs, 1rem);font-weight:var(--tk-font-weight-regular, 400);margin:0;color:var(--tk-text-default, #191A1B)}.tk-fallback-view__actions,.tk-fallback-view>[actions]{display:flex;flex-direction:column;align-items:center;gap:var(--tk-spacing-3, .75rem)}.tk-fallback-view--section{flex-direction:row;justify-content:center;align-items:center;text-align:left;gap:var(--tk-spacing-4, 1rem);width:100%;min-height:3.75rem;padding:var(--tk-spacing-6, 1.5rem) var(--tk-spacing-4, 1rem);background-color:var(--tk-surface-0, #ffffff);color:var(--tk-text-default, #191A1B)}.tk-fallback-view--section .tk-fallback-view__image,.tk-fallback-view--section>[image]{width:3.75rem;height:3.75rem;max-width:3.75rem;max-height:3.75rem;margin-bottom:0;object-fit:contain}.tk-fallback-view--section .tk-fallback-view__message,.tk-fallback-view--section>[message]{font-size:var(--tk-font-size-2xs);font-weight:var(--tk-font-weight-regular)}\n"] }]
171
171
  }], propDecorators: { type: [{
172
172
  type: Input
173
173
  }], imageSrc: [{
@@ -1 +1 @@
1
- {"version":3,"file":"tekus-design-system-components-fallback-view.mjs","sources":["../../../projects/design-system/components/fallback-view/src/fallback-view.component.ts","../../../projects/design-system/components/fallback-view/src/fallback-view.component.html","../../../projects/design-system/components/fallback-view/tekus-design-system-components-fallback-view.ts"],"sourcesContent":["import {\n Component,\n EventEmitter,\n Input,\n Output,\n ViewEncapsulation,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ButtonComponent } from '@tekus/design-system/components/button';\nimport { CardModule } from 'primeng/card';\n\nexport type FallbackViewType = 'content' | 'section';\n\n/**\n * @component FallbackViewComponent\n * @description\n * A reusable component for displaying fallback or empty states such as\n * “no results found”, “error loading data”, or “content not available”.\n * It provides a consistent structure with support for an image, title,\n * message, and optional action buttons.\n *\n * The component can be used in two ways:\n * 1. **Via Inputs:** Pass data directly through component inputs (`imageSrc`, `title`, `message`, etc.).\n * 2. **Via Content Projection (`ng-content`):** Use your own HTML structure for full customization.\n *\n * @usage\n * ### Basic Usage (via Inputs)\n * ```html\n * <tk-fallback-view\n * imageSrc=\"assets/img/empty-state.svg\"\n * title=\"No Items Found\"\n * message=\"There are currently no items to display. Try adding one.\"\n * buttonLabel=\"Add New Item\"\n * linkLabel=\"Learn More\"\n * (buttonAction)=\"handleAddNewItem()\"\n * (linkAction)=\"handleLearnMore()\">\n * </tk-fallback-view>\n * ```\n *\n * ### Compact Variant (Section type)\n * ```html\n * <tk-fallback-view\n * [type]=\"'section'\"\n * imageSrc=\"assets/img/check.svg\"\n * message=\"Saved successfully\">\n * </tk-fallback-view>\n * ```\n *\n * ### Advanced Usage (via ng-content)\n * ```html\n * <tk-fallback-view [type]=\"'content'\">\n * <img image src=\"assets/img/empty-state.svg\" alt=\"Tekus logo\">\n * <h2 title>Custom Title</h2>\n * <p message>\n * This is a <b>custom message</b> with <strong>HTML content</strong>.\n * </p>\n * <div actions>\n * <tk-button\n * label=\"Primary Action\"\n * severity=\"primary\"\n * (click)=\"onPrimaryAction()\">\n * </tk-button>\n * <tk-button\n * label=\"Secondary Action\"\n * [link]=\"true\"\n * (click)=\"onSecondaryAction()\">\n * </tk-button>\n * </div>\n * </tk-fallback-view>\n * ```\n */\n\n@Component({\n selector: 'tk-fallback-view',\n standalone: true,\n imports: [CommonModule, ButtonComponent, CardModule],\n templateUrl: './fallback-view.component.html',\n styleUrl: './fallback-view.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class FallbackViewComponent {\n /**\n * @property {FallbackViewType} type\n * @description\n * Controls the overall type and spacing of the component.\n * - `'content'`: Standard size.\n * - `'section'`: A more compact version.\n *\n * @default `'default'`\n */\n @Input() type: FallbackViewType = 'content';\n\n /**\n * @property {string} imageSrc\n * @description\n * The URL for the illustrative image to be displayed at the top.\n *\n * @default `''`\n */\n @Input() imageSrc = '';\n\n /**\n * @property {string} illustrationAlt\n * Descriptive alternative text for the image. Improves accessibility.\n */\n @Input() illustrationAlt = '';\n\n /**\n * @property {string} title\n * @description\n * The main title or heading of the fallback view.\n *\n * @default `''`\n */\n @Input() title = '';\n\n /**\n * @property {string} message\n * @description\n * The descriptive text or message displayed below the title.\n *\n * @default `''`\n */\n @Input() message = '';\n\n /**\n * @property {string} buttonLabel\n * @description\n * Text for the primary action button. If left empty, the button is not rendered.\n *\n * @default `''`\n */\n @Input() buttonLabel = '';\n\n /**\n * @property {string} linkLabel\n * @description\n * Text for the secondary action, which is styled as a link.\n * If left empty, the link is not rendered.\n *\n * @default `''`\n */\n @Input() linkLabel = '';\n\n /**\n * @property {boolean} buttonDisabled\n * @description\n * Controls whether the primary action button is disabled.\n * When true, the button is visually disabled and cannot be clicked.\n *\n * @default false\n */\n @Input() buttonDisabled = false;\n\n /**\n * @event buttonAction\n * @description\n * Emits when the main action button is clicked. Listen to this event\n * to handle the primary call-to-action.\n */\n @Output() buttonAction = new EventEmitter<void>();\n\n /**\n * @event linkAction\n * @description\n * Emits when the link-styled button is clicked. Use for secondary\n * or alternative actions.\n */\n @Output() linkAction = new EventEmitter<void>();\n\n /**\n * @method onButtonActionClick\n * @description\n * Internal handler that emits the `primaryAction` event when the\n * main button is clicked.\n */\n onButtonActionClick(): void {\n this.buttonAction.emit();\n }\n\n /**\n * @method onLinkActionClick\n * @description\n * Internal handler that emits the `linkAction` event when the\n * link button is clicked.\n */\n onLinkActionClick(): void {\n this.linkAction.emit();\n }\n}\n","<div\n class=\"tk-fallback-view\"\n [class.tk-fallback-view--section]=\"type === 'section'\">\n <ng-content select=\"[image]\"></ng-content>\n @if (imageSrc) {\n <img\n [src]=\"imageSrc\"\n [alt]=\"illustrationAlt || 'fallback illustration'\"\n class=\"tk-fallback-view__image\" />\n }\n\n <ng-content select=\"[title]\"></ng-content>\n @if (title && type === 'content') {\n <h2 class=\"tk-fallback-view__title\">{{ title }}</h2>\n }\n\n <ng-content select=\"[message]\"></ng-content>\n @if (message) {\n <p class=\"tk-fallback-view__message\" [innerHTML]=\"message\"></p>\n }\n\n <ng-content select=\"[actions]\"></ng-content>\n @if (type === 'content' && (buttonLabel || linkLabel)) {\n <div class=\"tk-fallback-view__actions\">\n @if (buttonLabel) {\n <tk-button\n [label]=\"buttonLabel\"\n severity=\"primary\"\n [disabled]=\"buttonDisabled\"\n (clicked)=\"onButtonActionClick()\" />\n } @if (linkLabel) {\n <tk-button\n [label]=\"linkLabel\"\n [link]=\"true\"\n (clicked)=\"onLinkActionClick()\" />\n }\n </div>\n }\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;AAaA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyDG;MAUU,qBAAqB,CAAA;AARlC,IAAA,WAAA,GAAA;AASE;;;;;;;;AAQG;QACM,IAAI,CAAA,IAAA,GAAqB,SAAS;AAE3C;;;;;;AAMG;QACM,IAAQ,CAAA,QAAA,GAAG,EAAE;AAEtB;;;AAGG;QACM,IAAe,CAAA,eAAA,GAAG,EAAE;AAE7B;;;;;;AAMG;QACM,IAAK,CAAA,KAAA,GAAG,EAAE;AAEnB;;;;;;AAMG;QACM,IAAO,CAAA,OAAA,GAAG,EAAE;AAErB;;;;;;AAMG;QACM,IAAW,CAAA,WAAA,GAAG,EAAE;AAEzB;;;;;;;AAOG;QACM,IAAS,CAAA,SAAA,GAAG,EAAE;AAEvB;;;;;;;AAOG;QACM,IAAc,CAAA,cAAA,GAAG,KAAK;AAE/B;;;;;AAKG;AACO,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,YAAY,EAAQ;AAEjD;;;;;AAKG;AACO,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAQ;AAqBhD;AAnBC;;;;;AAKG;IACH,mBAAmB,GAAA;AACjB,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;;AAG1B;;;;;AAKG;IACH,iBAAiB,GAAA;AACf,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;;+GA3Gb,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,+VChFlC,slCAuCA,EAAA,MAAA,EAAA,CAAA,s2CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDoCY,YAAY,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,eAAe,sIAAE,UAAU,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAKxC,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBARjC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EAChB,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,EAAE,eAAe,EAAE,UAAU,CAAC,EAGrC,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,slCAAA,EAAA,MAAA,EAAA,CAAA,s2CAAA,CAAA,EAAA;8BAY5B,IAAI,EAAA,CAAA;sBAAZ;gBASQ,QAAQ,EAAA,CAAA;sBAAhB;gBAMQ,eAAe,EAAA,CAAA;sBAAvB;gBASQ,KAAK,EAAA,CAAA;sBAAb;gBASQ,OAAO,EAAA,CAAA;sBAAf;gBASQ,WAAW,EAAA,CAAA;sBAAnB;gBAUQ,SAAS,EAAA,CAAA;sBAAjB;gBAUQ,cAAc,EAAA,CAAA;sBAAtB;gBAQS,YAAY,EAAA,CAAA;sBAArB;gBAQS,UAAU,EAAA,CAAA;sBAAnB;;;AExKH;;AAEG;;;;"}
1
+ {"version":3,"file":"tekus-design-system-components-fallback-view.mjs","sources":["../../../projects/design-system/components/fallback-view/src/fallback-view.component.ts","../../../projects/design-system/components/fallback-view/src/fallback-view.component.html","../../../projects/design-system/components/fallback-view/tekus-design-system-components-fallback-view.ts"],"sourcesContent":["import {\n Component,\n EventEmitter,\n Input,\n Output,\n ViewEncapsulation,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ButtonComponent } from '@tekus/design-system/components/button';\nimport { CardModule } from 'primeng/card';\n\nexport type FallbackViewType = 'content' | 'section';\n\n/**\n * @component FallbackViewComponent\n * @description\n * A reusable component for displaying fallback or empty states such as\n * “no results found”, “error loading data”, or “content not available”.\n * It provides a consistent structure with support for an image, title,\n * message, and optional action buttons.\n *\n * The component can be used in two ways:\n * 1. **Via Inputs:** Pass data directly through component inputs (`imageSrc`, `title`, `message`, etc.).\n * 2. **Via Content Projection (`ng-content`):** Use your own HTML structure for full customization.\n *\n * @usage\n * ### Basic Usage (via Inputs)\n * ```html\n * <tk-fallback-view\n * imageSrc=\"assets/img/empty-state.svg\"\n * title=\"No Items Found\"\n * message=\"There are currently no items to display. Try adding one.\"\n * buttonLabel=\"Add New Item\"\n * linkLabel=\"Learn More\"\n * (buttonAction)=\"handleAddNewItem()\"\n * (linkAction)=\"handleLearnMore()\">\n * </tk-fallback-view>\n * ```\n *\n * ### Compact Variant (Section type)\n * ```html\n * <tk-fallback-view\n * [type]=\"'section'\"\n * imageSrc=\"assets/img/check.svg\"\n * message=\"Saved successfully\">\n * </tk-fallback-view>\n * ```\n *\n * ### Advanced Usage (via ng-content)\n * ```html\n * <tk-fallback-view [type]=\"'content'\">\n * <img image src=\"assets/img/empty-state.svg\" alt=\"Tekus logo\">\n * <h2 title>Custom Title</h2>\n * <p message>\n * This is a <b>custom message</b> with <strong>HTML content</strong>.\n * </p>\n * <div actions>\n * <tk-button\n * label=\"Primary Action\"\n * severity=\"primary\"\n * (click)=\"onPrimaryAction()\">\n * </tk-button>\n * <tk-button\n * label=\"Secondary Action\"\n * [link]=\"true\"\n * (click)=\"onSecondaryAction()\">\n * </tk-button>\n * </div>\n * </tk-fallback-view>\n * ```\n */\n\n@Component({\n selector: 'tk-fallback-view',\n standalone: true,\n imports: [CommonModule, ButtonComponent, CardModule],\n templateUrl: './fallback-view.component.html',\n styleUrl: './fallback-view.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class FallbackViewComponent {\n /**\n * @property {FallbackViewType} type\n * @description\n * Controls the overall type and spacing of the component.\n * - `'content'`: Standard size.\n * - `'section'`: A more compact version.\n *\n * @default `'default'`\n */\n @Input() type: FallbackViewType = 'content';\n\n /**\n * @property {string} imageSrc\n * @description\n * The URL for the illustrative image to be displayed at the top.\n *\n * @default `''`\n */\n @Input() imageSrc = '';\n\n /**\n * @property {string} illustrationAlt\n * Descriptive alternative text for the image. Improves accessibility.\n */\n @Input() illustrationAlt = '';\n\n /**\n * @property {string} title\n * @description\n * The main title or heading of the fallback view.\n *\n * @default `''`\n */\n @Input() title = '';\n\n /**\n * @property {string} message\n * @description\n * The descriptive text or message displayed below the title.\n *\n * @default `''`\n */\n @Input() message = '';\n\n /**\n * @property {string} buttonLabel\n * @description\n * Text for the primary action button. If left empty, the button is not rendered.\n *\n * @default `''`\n */\n @Input() buttonLabel = '';\n\n /**\n * @property {string} linkLabel\n * @description\n * Text for the secondary action, which is styled as a link.\n * If left empty, the link is not rendered.\n *\n * @default `''`\n */\n @Input() linkLabel = '';\n\n /**\n * @property {boolean} buttonDisabled\n * @description\n * Controls whether the primary action button is disabled.\n * When true, the button is visually disabled and cannot be clicked.\n *\n * @default false\n */\n @Input() buttonDisabled = false;\n\n /**\n * @event buttonAction\n * @description\n * Emits when the main action button is clicked. Listen to this event\n * to handle the primary call-to-action.\n */\n @Output() buttonAction = new EventEmitter<void>();\n\n /**\n * @event linkAction\n * @description\n * Emits when the link-styled button is clicked. Use for secondary\n * or alternative actions.\n */\n @Output() linkAction = new EventEmitter<void>();\n\n /**\n * @method onButtonActionClick\n * @description\n * Internal handler that emits the `primaryAction` event when the\n * main button is clicked.\n */\n onButtonActionClick(): void {\n this.buttonAction.emit();\n }\n\n /**\n * @method onLinkActionClick\n * @description\n * Internal handler that emits the `linkAction` event when the\n * link button is clicked.\n */\n onLinkActionClick(): void {\n this.linkAction.emit();\n }\n}\n","<div\n class=\"tk-fallback-view\"\n [class.tk-fallback-view--section]=\"type === 'section'\">\n <ng-content select=\"[image]\"></ng-content>\n @if (imageSrc) {\n <img\n [src]=\"imageSrc\"\n [alt]=\"illustrationAlt || 'fallback illustration'\"\n class=\"tk-fallback-view__image\" />\n }\n\n <ng-content select=\"[title]\"></ng-content>\n @if (title && type === 'content') {\n <h2 class=\"tk-fallback-view__title\">{{ title }}</h2>\n }\n\n <ng-content select=\"[message]\"></ng-content>\n @if (message) {\n <p class=\"tk-fallback-view__message\" [innerHTML]=\"message\"></p>\n }\n\n <ng-content select=\"[actions]\"></ng-content>\n @if (type === 'content' && (buttonLabel || linkLabel)) {\n <div class=\"tk-fallback-view__actions\">\n @if (buttonLabel) {\n <tk-button\n [label]=\"buttonLabel\"\n severity=\"primary\"\n [disabled]=\"buttonDisabled\"\n (clicked)=\"onButtonActionClick()\" />\n } @if (linkLabel) {\n <tk-button\n [label]=\"linkLabel\"\n [link]=\"true\"\n (clicked)=\"onLinkActionClick()\" />\n }\n </div>\n }\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;AAaA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyDG;MAUU,qBAAqB,CAAA;AARlC,IAAA,WAAA,GAAA;AASE;;;;;;;;AAQG;QACM,IAAI,CAAA,IAAA,GAAqB,SAAS;AAE3C;;;;;;AAMG;QACM,IAAQ,CAAA,QAAA,GAAG,EAAE;AAEtB;;;AAGG;QACM,IAAe,CAAA,eAAA,GAAG,EAAE;AAE7B;;;;;;AAMG;QACM,IAAK,CAAA,KAAA,GAAG,EAAE;AAEnB;;;;;;AAMG;QACM,IAAO,CAAA,OAAA,GAAG,EAAE;AAErB;;;;;;AAMG;QACM,IAAW,CAAA,WAAA,GAAG,EAAE;AAEzB;;;;;;;AAOG;QACM,IAAS,CAAA,SAAA,GAAG,EAAE;AAEvB;;;;;;;AAOG;QACM,IAAc,CAAA,cAAA,GAAG,KAAK;AAE/B;;;;;AAKG;AACO,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,YAAY,EAAQ;AAEjD;;;;;AAKG;AACO,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAQ;AAqBhD;AAnBC;;;;;AAKG;IACH,mBAAmB,GAAA;AACjB,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;;AAG1B;;;;;AAKG;IACH,iBAAiB,GAAA;AACf,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;;+GA3Gb,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,+VChFlC,slCAuCA,EAAA,MAAA,EAAA,CAAA,gkDAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDoCY,YAAY,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,eAAe,sIAAE,UAAU,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAKxC,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBARjC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EAChB,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,EAAE,eAAe,EAAE,UAAU,CAAC,EAGrC,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,slCAAA,EAAA,MAAA,EAAA,CAAA,gkDAAA,CAAA,EAAA;8BAY5B,IAAI,EAAA,CAAA;sBAAZ;gBASQ,QAAQ,EAAA,CAAA;sBAAhB;gBAMQ,eAAe,EAAA,CAAA;sBAAvB;gBASQ,KAAK,EAAA,CAAA;sBAAb;gBASQ,OAAO,EAAA,CAAA;sBAAf;gBASQ,WAAW,EAAA,CAAA;sBAAnB;gBAUQ,SAAS,EAAA,CAAA;sBAAjB;gBAUQ,cAAc,EAAA,CAAA;sBAAtB;gBAQS,YAAY,EAAA,CAAA;sBAArB;gBAQS,UAAU,EAAA,CAAA;sBAAnB;;;AExKH;;AAEG;;;;"}
@@ -47,166 +47,34 @@ const Breakpoints = {
47
47
  const TkPreset = definePreset(Aura, {
48
48
  semantic: {
49
49
  primary: {
50
- 900: '#16006f',
51
- 800: '#2b177b',
52
- 700: '#44338b',
53
- 600: '#54429d',
54
- 500: '#7366a8',
55
- 400: '#8275bb',
56
- 300: '#a29ac5',
57
- 200: '#d1cde2',
58
- 100: '#efeef5',
59
- },
60
- secondary: {
61
- 900: '#375f57',
62
- 800: '#467c71',
63
- 700: '#4f9385',
64
- 600: '#5bb09f',
65
- 500: '#6ad0bc',
66
- 400: '#87d9c9',
67
- 300: '#a5e2d6',
68
- 200: '#c3ece4',
69
- 100: '#e1f5f1',
70
- },
71
- accent: {
72
- 900: '#ffc55d',
73
- 800: '#ffca6b',
74
- 700: '#ffd07d',
75
- 600: '#ffd68f',
76
- 500: '#ffdc9d',
77
- 400: '#f5dbac',
78
- 300: '#ffe8be',
79
- 200: '#fff3df',
80
- 100: '#fffaf2',
81
- },
82
- neutral: {
83
- 900: '#040303',
84
- 800: '#333333',
85
- 700: '#444444',
86
- 600: '#5b5b5b',
87
- 500: '#6b6b6b',
88
- 400: '#9b9b9b',
89
- 300: '#b3b3b3',
90
- 200: '#cdcdcd',
91
- 100: '#f2f2f2',
92
- },
93
- success: {
94
- 900: '#004d34',
95
- 800: '#0c623e',
96
- 700: '#00875b',
97
- 600: '#18ae7d',
98
- 500: '#36b37e',
99
- 400: '#57d9a3',
100
- 300: '#79f2c0',
101
- 200: '#abf5d1',
102
- 100: '#e3fcef',
103
- },
104
- danger: {
105
- 900: '#950700',
106
- 800: '#af0c1d',
107
- 700: '#cf2604',
108
- 600: '#f43e11',
109
- 500: '#ff6640',
110
- 400: '#ff7f63',
111
- 300: '#ffa28b',
112
- 200: '#fbc2b4',
113
- 100: '#ffddd4',
114
- },
115
- info: {
116
- 900: '#01367b',
117
- 800: '#01469e',
118
- 700: '#0a68e0',
119
- 600: '#1c89ff',
120
- 500: '#3998ff',
121
- 400: '#509dff',
122
- 300: '#7bb4fe',
123
- 200: '#b3d4ff',
124
- 100: '#deebff',
125
- },
126
- warning: {
127
- 900: '#eca501',
128
- 800: '#ffb200',
129
- 700: '#ffbf2b',
130
- 600: '#ffc744',
131
- 500: '#ffd21b',
132
- 400: '#ffdc50',
133
- 300: '#fee26f',
134
- 200: '#ffeea9',
135
- 100: '#fff5cd',
50
+ 500: 'var(--tk-color-base-primary-500)',
51
+ 400: 'var(--tk-color-base-primary-400)',
52
+ 300: 'var(--tk-color-base-primary-300)',
136
53
  },
137
54
  surface: {
138
- 0: '#ffffff',
139
- 100: '#f2f2f2',
55
+ 0: 'var(--tk-color-base-surface-0)',
140
56
  },
141
57
  text: {
142
- 900: '#101820',
143
- 800: '#6c6c6c',
144
- 700: '#656d76',
145
- 600: '#a0a9b4',
146
- 500: '#d0d5dd',
147
- },
148
- border: {
149
- soft: '#eaecf0',
150
- error: '#de350b',
151
- hover: '#667085',
152
- focused: '#6ad0bc',
153
- disabled: '#d0d5dd',
58
+ default: 'var(--tk-color-text-default)',
154
59
  },
155
- fullBlack: '#101820',
156
- fullWhite: '#ffffff',
157
60
  },
158
61
  font: {
159
- family: 'poppins, sans-serif',
62
+ family: 'var(tk-font-family)',
160
63
  size: {
161
- xl: '2rem', // 32px
162
- lg: '1.75rem', // 28px
163
- md: '1.5rem', // 24px
164
- sm: '1.25rem', // 20px
165
- xs: '1.125rem', // 18px
166
- '2xs': '1rem', // 16px
167
- '3xs': '0.875rem', // 14px
168
- '4xs': '0.75rem', // 12px
169
- '5xs': '0.625rem', // 10px
64
+ md: 'var(--tk-font-size-base-150)',
65
+ '2xs': 'var(--tk-font-size-base-100)',
170
66
  },
171
67
  weight: {
172
- light: '200',
173
- book: '300',
174
- regular: '400',
68
+ regular: 'var(--tk-font-weight-400)',
175
69
  medium: '500',
176
- 'semi-bold': '600',
177
- bold: '700',
178
- 'extra-bold': '800',
179
- },
180
- lineHeight: {
181
- xl: '1.5', // 48px / 32px
182
- lg: '1.5', // 42px / 28px
183
- md: '1.5', // 36px / 24px
184
- sm: '1.5', // 30px / 20px
185
- xs: '1.5', // 27px / 18px
186
- '2xs': '1.5', // 24px / 16px
187
- '3xs': '1.5', // 21px / 14px
188
- '4xs': '1.5', // 18px / 12px
189
- '5xs': '1.5', // 15px / 10px
70
+ bold: 'var(--tk-font-weight-600)',
190
71
  },
191
72
  },
192
73
  spacing: {
193
- 1: '0.25rem', // 4px
194
- 2: '0.5rem', // 8px
195
- 3: '0.75rem', // 12px
196
- 4: '1rem', // 16px
197
- 5: '1.25rem', // 20px
198
- 6: '1.5rem', // 24px
199
- 8: '2rem', // 32px
200
- 10: '2.5rem', // 40px
201
- 12: '3rem', // 48px
202
- 16: '4rem', // 64px
203
- 20: '5rem', // 80px
204
- 24: '6rem', // 96px
205
- 32: '8rem', // 128px
206
- 40: '10rem', // 160px
207
- 48: '12rem', // 192px
208
- 56: '14rem', // 224px
209
- 64: '16rem', // 256px
74
+ 3: 'var(--tk-spacing-base-75)',
75
+ 4: 'var(--tk-spacing-base-100)',
76
+ 6: 'var(--tk-spacing-base-150)',
77
+ 8: 'var(--tk-spacing-base-200)',
210
78
  },
211
79
  components: {
212
80
  button: {
@@ -222,33 +90,11 @@ const TkPreset = definePreset(Aura, {
222
90
  colorScheme: {
223
91
  light: {
224
92
  primary: {
225
- background: '{primary.900}',
93
+ background: '{primary.500}',
226
94
  color: '{surface.0}',
227
- hoverBackground: '{primary.800}',
95
+ hoverBackground: '{primary.400}',
228
96
  hoverColor: '{surface.0}',
229
- activeBackground: '{primary.700}',
230
- activeColor: '{surface.0}',
231
- borderColor: 'transparent',
232
- hoverBorderColor: 'transparent',
233
- activeBorderColor: 'transparent',
234
- },
235
- secondary: {
236
- background: '{secondary.900}',
237
- color: '{surface.0}',
238
- hoverBackground: '{secondary.800}',
239
- hoverColor: '{surface.0}',
240
- activeBackground: '{secondary.700}',
241
- activeColor: '{surface.0}',
242
- borderColor: 'transparent',
243
- hoverBorderColor: 'transparent',
244
- activeBorderColor: 'transparent',
245
- },
246
- danger: {
247
- background: '{danger.900}',
248
- color: '{surface.0}',
249
- hoverBackground: '{danger.800}',
250
- hoverColor: '{surface.0}',
251
- activeBackground: '{danger.700}',
97
+ activeBackground: '{primary.400}',
252
98
  activeColor: '{surface.0}',
253
99
  borderColor: 'transparent',
254
100
  hoverBorderColor: 'transparent',
@@ -258,44 +104,22 @@ const TkPreset = definePreset(Aura, {
258
104
  textDecoration: 'underline',
259
105
  background: 'none',
260
106
  boxShadow: 'none',
261
- color: '{primary.900}',
107
+ color: '{primary.500}',
262
108
  fontSize: '{font.size.2xs}',
263
109
  fontWeight: '{font.weight.medium}',
264
- hoverColor: '{primary.700}',
110
+ hoverColor: '{primary.400}',
265
111
  hoverBackground: 'none',
266
- activeColor: '{primary.600}',
112
+ activeColor: '{primary.300}',
267
113
  activeBackground: 'none',
268
114
  },
269
115
  },
270
116
  dark: {
271
117
  primary: {
272
- background: '{primary.900}',
273
- color: '{surface.0}',
274
- hoverBackground: '{primary.800}',
275
- hoverColor: '{surface.0}',
276
- activeBackground: '{primary.700}',
277
- activeColor: '{surface.0}',
278
- borderColor: 'transparent',
279
- hoverBorderColor: 'transparent',
280
- activeBorderColor: 'transparent',
281
- },
282
- secondary: {
283
- background: '{secondary.900}',
284
- color: '{surface.0}',
285
- hoverBackground: '{secondary.800}',
286
- hoverColor: '{surface.0}',
287
- activeBackground: '{secondary.700}',
288
- activeColor: '{surface.0}',
289
- borderColor: 'transparent',
290
- hoverBorderColor: 'transparent',
291
- activeBorderColor: 'transparent',
292
- },
293
- danger: {
294
- background: '{danger.900}',
118
+ background: '{primary.500}',
295
119
  color: '{surface.0}',
296
- hoverBackground: '{danger.800}',
120
+ hoverBackground: '{primary.400}',
297
121
  hoverColor: '{surface.0}',
298
- activeBackground: '{danger.700}',
122
+ activeBackground: '{primary.400}',
299
123
  activeColor: '{surface.0}',
300
124
  borderColor: 'transparent',
301
125
  hoverBorderColor: 'transparent',
@@ -305,12 +129,12 @@ const TkPreset = definePreset(Aura, {
305
129
  textDecoration: 'underline',
306
130
  background: 'none',
307
131
  boxShadow: 'none',
308
- color: '{primary.900}',
132
+ color: '{primary.500}',
309
133
  fontSize: '{font.size.2xs}',
310
134
  fontWeight: '{font.weight.medium}',
311
- hoverColor: '{primary.700}',
135
+ hoverColor: '{primary.400}',
312
136
  hoverBackground: 'none',
313
- activeColor: '{primary.600}',
137
+ activeColor: '{primary.300}',
314
138
  activeBackground: 'none',
315
139
  },
316
140
  },
@@ -337,7 +161,7 @@ function themeFactory(config, document) {
337
161
  preset: TkPreset,
338
162
  options: {
339
163
  prefix: 'tk',
340
- darkModeSelector: undefined,
164
+ darkMode: false
341
165
  },
342
166
  });
343
167
  };
@@ -1 +1 @@
1
- {"version":3,"file":"tekus-design-system-core-types.mjs","sources":["../../../projects/design-system/core/types/src/grids/grid.enum.ts","../../../projects/design-system/core/types/src/breakpoints/breakpoints.ts","../../../projects/design-system/core/types/src/theme/tk-preset.ts","../../../projects/design-system/core/types/src/theme/theme.provider.ts","../../../projects/design-system/core/types/tekus-design-system-core-types.ts"],"sourcesContent":["enum GapGutter {\n normal = '24px',\n small = '16px',\n large = '32px',\n extraLarge = '40px',\n}\n\nenum PaddingGridContainer {\n large = '32px',\n medium = '24px',\n small = '16px'\n}\n\nenum Gutter {\n normal = 'normal',\n small = 'small',\n large = 'large',\n extraLarge = 'extraLarge',\n\n}\n\nexport {\n Gutter,\n GapGutter,\n PaddingGridContainer\n}","export const Breakpoints = {\n // Covers all devices with a width less than or equal to 360px.\n mobileSmall: '(max-width: 360px)',\n\n // For small phones (e.g., most modern cell phones)\n mobile: '(min-width: 361px) and (max-width: 424px)',\n\n // For large phones (e.g., Google Pixel, iPhone Plus/Max)\n mobileLarge: '(min-width: 425px) and (max-width: 575px)',\n\n // Vertical tablets and medium-sized devices\n tabletVertical: '(min-width: 576px) and (max-width: 767px)',\n\n // Tablets in landscape mode\n tabletHorizontal: '(min-width: 768px) and (max-width: 991px)',\n\n // Laptops and small desktops\n desktopSmall: '(min-width: 992px) and (max-width: 1199px)',\n\n // Large desks\n desktop: '(min-width: 1200px) and (max-width: 1399px)',\n\n // Ultra-wide screens\n desktopLarge: '(min-width: 1400px)',\n}","import { definePreset } from '@primeng/themes';\nimport Aura from '@primeng/themes/aura';\n\nexport const TkPreset = definePreset(Aura, {\n semantic: {\n primary: {\n 900: '#16006f',\n 800: '#2b177b',\n 700: '#44338b',\n 600: '#54429d',\n 500: '#7366a8',\n 400: '#8275bb',\n 300: '#a29ac5',\n 200: '#d1cde2',\n 100: '#efeef5',\n },\n secondary: {\n 900: '#375f57',\n 800: '#467c71',\n 700: '#4f9385',\n 600: '#5bb09f',\n 500: '#6ad0bc',\n 400: '#87d9c9',\n 300: '#a5e2d6',\n 200: '#c3ece4',\n 100: '#e1f5f1',\n },\n accent: {\n 900: '#ffc55d',\n 800: '#ffca6b',\n 700: '#ffd07d',\n 600: '#ffd68f',\n 500: '#ffdc9d',\n 400: '#f5dbac',\n 300: '#ffe8be',\n 200: '#fff3df',\n 100: '#fffaf2',\n },\n neutral: {\n 900: '#040303',\n 800: '#333333',\n 700: '#444444',\n 600: '#5b5b5b',\n 500: '#6b6b6b',\n 400: '#9b9b9b',\n 300: '#b3b3b3',\n 200: '#cdcdcd',\n 100: '#f2f2f2',\n },\n success: {\n 900: '#004d34',\n 800: '#0c623e',\n 700: '#00875b',\n 600: '#18ae7d',\n 500: '#36b37e',\n 400: '#57d9a3',\n 300: '#79f2c0',\n 200: '#abf5d1',\n 100: '#e3fcef',\n },\n danger: {\n 900: '#950700',\n 800: '#af0c1d',\n 700: '#cf2604',\n 600: '#f43e11',\n 500: '#ff6640',\n 400: '#ff7f63',\n 300: '#ffa28b',\n 200: '#fbc2b4',\n 100: '#ffddd4',\n },\n info: {\n 900: '#01367b',\n 800: '#01469e',\n 700: '#0a68e0',\n 600: '#1c89ff',\n 500: '#3998ff',\n 400: '#509dff',\n 300: '#7bb4fe',\n 200: '#b3d4ff',\n 100: '#deebff',\n },\n warning: {\n 900: '#eca501',\n 800: '#ffb200',\n 700: '#ffbf2b',\n 600: '#ffc744',\n 500: '#ffd21b',\n 400: '#ffdc50',\n 300: '#fee26f',\n 200: '#ffeea9',\n 100: '#fff5cd',\n },\n surface: {\n 0: '#ffffff',\n 100: '#f2f2f2',\n },\n text: {\n 900: '#101820',\n 800: '#6c6c6c',\n 700: '#656d76',\n 600: '#a0a9b4',\n 500: '#d0d5dd',\n },\n border: {\n soft: '#eaecf0',\n error: '#de350b',\n hover: '#667085',\n focused: '#6ad0bc',\n disabled: '#d0d5dd',\n },\n fullBlack: '#101820',\n fullWhite: '#ffffff',\n },\n font: {\n family: 'poppins, sans-serif',\n size: {\n xl: '2rem', // 32px\n lg: '1.75rem', // 28px\n md: '1.5rem', // 24px\n sm: '1.25rem', // 20px\n xs: '1.125rem', // 18px\n '2xs': '1rem', // 16px\n '3xs': '0.875rem', // 14px\n '4xs': '0.75rem', // 12px\n '5xs': '0.625rem', // 10px\n },\n weight: {\n light: '200',\n book: '300',\n regular: '400',\n medium: '500',\n 'semi-bold': '600',\n bold: '700',\n 'extra-bold': '800',\n },\n lineHeight: {\n xl: '1.5', // 48px / 32px\n lg: '1.5', // 42px / 28px\n md: '1.5', // 36px / 24px\n sm: '1.5', // 30px / 20px\n xs: '1.5', // 27px / 18px\n '2xs': '1.5', // 24px / 16px\n '3xs': '1.5', // 21px / 14px\n '4xs': '1.5', // 18px / 12px\n '5xs': '1.5', // 15px / 10px\n },\n },\n spacing: {\n 1: '0.25rem', // 4px\n 2: '0.5rem', // 8px\n 3: '0.75rem', // 12px\n 4: '1rem', // 16px\n 5: '1.25rem', // 20px\n 6: '1.5rem', // 24px\n 8: '2rem', // 32px\n 10: '2.5rem', // 40px\n 12: '3rem', // 48px\n 16: '4rem', // 64px\n 20: '5rem', // 80px\n 24: '6rem', // 96px\n 32: '8rem', // 128px\n 40: '10rem', // 160px\n 48: '12rem', // 192px\n 56: '14rem', // 224px\n 64: '16rem', // 256px\n },\n components: {\n button: {\n root: {\n outline: 'none',\n boxShadow: 'none',\n border: 'none',\n focusBoxShadow: 'none',\n },\n label: {\n color: 'inherit',\n },\n colorScheme: {\n light: {\n primary: {\n background: '{primary.900}',\n color: '{surface.0}',\n hoverBackground: '{primary.800}',\n hoverColor: '{surface.0}',\n activeBackground: '{primary.700}',\n activeColor: '{surface.0}',\n borderColor: 'transparent',\n hoverBorderColor: 'transparent',\n activeBorderColor: 'transparent',\n },\n secondary: {\n background: '{secondary.900}',\n color: '{surface.0}',\n hoverBackground: '{secondary.800}',\n hoverColor: '{surface.0}',\n activeBackground: '{secondary.700}',\n activeColor: '{surface.0}',\n borderColor: 'transparent',\n hoverBorderColor: 'transparent',\n activeBorderColor: 'transparent',\n },\n danger: {\n background: '{danger.900}',\n color: '{surface.0}',\n hoverBackground: '{danger.800}',\n hoverColor: '{surface.0}',\n activeBackground: '{danger.700}',\n activeColor: '{surface.0}',\n borderColor: 'transparent',\n hoverBorderColor: 'transparent',\n activeBorderColor: 'transparent',\n },\n link: {\n textDecoration: 'underline',\n background: 'none',\n boxShadow: 'none',\n color: '{primary.900}',\n fontSize: '{font.size.2xs}',\n fontWeight: '{font.weight.medium}',\n hoverColor: '{primary.700}',\n hoverBackground: 'none',\n activeColor: '{primary.600}',\n activeBackground: 'none',\n },\n },\n dark: {\n primary: {\n background: '{primary.900}',\n color: '{surface.0}',\n hoverBackground: '{primary.800}',\n hoverColor: '{surface.0}',\n activeBackground: '{primary.700}',\n activeColor: '{surface.0}',\n borderColor: 'transparent',\n hoverBorderColor: 'transparent',\n activeBorderColor: 'transparent',\n },\n secondary: {\n background: '{secondary.900}',\n color: '{surface.0}',\n hoverBackground: '{secondary.800}',\n hoverColor: '{surface.0}',\n activeBackground: '{secondary.700}',\n activeColor: '{surface.0}',\n borderColor: 'transparent',\n hoverBorderColor: 'transparent',\n activeBorderColor: 'transparent',\n },\n danger: {\n background: '{danger.900}',\n color: '{surface.0}',\n hoverBackground: '{danger.800}',\n hoverColor: '{surface.0}',\n activeBackground: '{danger.700}',\n activeColor: '{surface.0}',\n borderColor: 'transparent',\n hoverBorderColor: 'transparent',\n activeBorderColor: 'transparent',\n },\n link: {\n textDecoration: 'underline',\n background: 'none',\n boxShadow: 'none',\n color: '{primary.900}',\n fontSize: '{font.size.2xs}',\n fontWeight: '{font.weight.medium}',\n hoverColor: '{primary.700}',\n hoverBackground: 'none',\n activeColor: '{primary.600}',\n activeBackground: 'none',\n },\n },\n },\n },\n },\n});\n","import { inject, provideAppInitializer } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { PrimeNG } from 'primeng/config';\nimport { TkPreset } from './tk-preset';\n\nfunction themeFactory(config: PrimeNG, document: Document): () => void {\n return () => {\n const fontLink = document.createElement('link');\n fontLink.rel = 'stylesheet';\n fontLink.href =\n 'https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap';\n document.head.appendChild(fontLink);\n\n const style = document.createElement('style');\n style.innerHTML = `\n body {\n font-family: 'Poppins', sans-serif;\n }\n `;\n document.head.appendChild(style);\n\n config.theme.set({\n preset: TkPreset,\n options: {\n prefix: 'tk',\n darkModeSelector: undefined,\n },\n });\n };\n}\n\nexport function provideTkTheme() {\n return provideAppInitializer(() => {\n const config = inject(PrimeNG);\n const document = inject(DOCUMENT);\n return themeFactory(config, document)();\n });\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;AAAA,IAAK;AAAL,CAAA,UAAK,SAAS,EAAA;AACV,IAAA,SAAA,CAAA,QAAA,CAAA,GAAA,MAAe;AACf,IAAA,SAAA,CAAA,OAAA,CAAA,GAAA,MAAc;AACd,IAAA,SAAA,CAAA,OAAA,CAAA,GAAA,MAAc;AACd,IAAA,SAAA,CAAA,YAAA,CAAA,GAAA,MAAmB;AACvB,CAAC,EALI,SAAS,KAAT,SAAS,GAKb,EAAA,CAAA,CAAA;AAED,IAAK;AAAL,CAAA,UAAK,oBAAoB,EAAA;AACrB,IAAA,oBAAA,CAAA,OAAA,CAAA,GAAA,MAAc;AACd,IAAA,oBAAA,CAAA,QAAA,CAAA,GAAA,MAAe;AACf,IAAA,oBAAA,CAAA,OAAA,CAAA,GAAA,MAAc;AAClB,CAAC,EAJI,oBAAoB,KAApB,oBAAoB,GAIxB,EAAA,CAAA,CAAA;AAED,IAAK;AAAL,CAAA,UAAK,MAAM,EAAA;AACP,IAAA,MAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,MAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,MAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,MAAA,CAAA,YAAA,CAAA,GAAA,YAAyB;AAE7B,CAAC,EANI,MAAM,KAAN,MAAM,GAMV,EAAA,CAAA,CAAA;;ACnBY,MAAA,WAAW,GAAG;;AAEvB,IAAA,WAAW,EAAE,oBAAoB;;AAGjC,IAAA,MAAM,EAAE,2CAA2C;;AAGnD,IAAA,WAAW,EAAE,2CAA2C;;AAGxD,IAAA,cAAc,EAAE,2CAA2C;;AAG3D,IAAA,gBAAgB,EAAE,2CAA2C;;AAG7D,IAAA,YAAY,EAAE,4CAA4C;;AAG1D,IAAA,OAAO,EAAE,6CAA6C;;AAGtD,IAAA,YAAY,EAAE,qBAAqB;;;ACpB1B,MAAA,QAAQ,GAAG,YAAY,CAAC,IAAI,EAAE;AACzC,IAAA,QAAQ,EAAE;AACR,QAAA,OAAO,EAAE;AACP,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACf,SAAA;AACD,QAAA,SAAS,EAAE;AACT,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACf,SAAA;AACD,QAAA,MAAM,EAAE;AACN,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACf,SAAA;AACD,QAAA,OAAO,EAAE;AACP,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACf,SAAA;AACD,QAAA,OAAO,EAAE;AACP,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACf,SAAA;AACD,QAAA,MAAM,EAAE;AACN,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACf,SAAA;AACD,QAAA,IAAI,EAAE;AACJ,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACf,SAAA;AACD,QAAA,OAAO,EAAE;AACP,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACf,SAAA;AACD,QAAA,OAAO,EAAE;AACP,YAAA,CAAC,EAAE,SAAS;AACZ,YAAA,GAAG,EAAE,SAAS;AACf,SAAA;AACD,QAAA,IAAI,EAAE;AACJ,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACf,SAAA;AACD,QAAA,MAAM,EAAE;AACN,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,QAAQ,EAAE,SAAS;AACpB,SAAA;AACD,QAAA,SAAS,EAAE,SAAS;AACpB,QAAA,SAAS,EAAE,SAAS;AACrB,KAAA;AACD,IAAA,IAAI,EAAE;AACJ,QAAA,MAAM,EAAE,qBAAqB;AAC7B,QAAA,IAAI,EAAE;YACJ,EAAE,EAAE,MAAM;YACV,EAAE,EAAE,SAAS;YACb,EAAE,EAAE,QAAQ;YACZ,EAAE,EAAE,SAAS;YACb,EAAE,EAAE,UAAU;YACd,KAAK,EAAE,MAAM;YACb,KAAK,EAAE,UAAU;YACjB,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,UAAU;AAClB,SAAA;AACD,QAAA,MAAM,EAAE;AACN,YAAA,KAAK,EAAE,KAAK;AACZ,YAAA,IAAI,EAAE,KAAK;AACX,YAAA,OAAO,EAAE,KAAK;AACd,YAAA,MAAM,EAAE,KAAK;AACb,YAAA,WAAW,EAAE,KAAK;AAClB,YAAA,IAAI,EAAE,KAAK;AACX,YAAA,YAAY,EAAE,KAAK;AACpB,SAAA;AACD,QAAA,UAAU,EAAE;YACV,EAAE,EAAE,KAAK;YACT,EAAE,EAAE,KAAK;YACT,EAAE,EAAE,KAAK;YACT,EAAE,EAAE,KAAK;YACT,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,KAAK;AACb,SAAA;AACF,KAAA;AACD,IAAA,OAAO,EAAE;QACP,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE,QAAQ;QACX,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE,MAAM;QACT,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE,QAAQ;QACX,CAAC,EAAE,MAAM;QACT,EAAE,EAAE,QAAQ;QACZ,EAAE,EAAE,MAAM;QACV,EAAE,EAAE,MAAM;QACV,EAAE,EAAE,MAAM;QACV,EAAE,EAAE,MAAM;QACV,EAAE,EAAE,MAAM;QACV,EAAE,EAAE,OAAO;QACX,EAAE,EAAE,OAAO;QACX,EAAE,EAAE,OAAO;QACX,EAAE,EAAE,OAAO;AACZ,KAAA;AACD,IAAA,UAAU,EAAE;AACV,QAAA,MAAM,EAAE;AACN,YAAA,IAAI,EAAE;AACJ,gBAAA,OAAO,EAAE,MAAM;AACf,gBAAA,SAAS,EAAE,MAAM;AACjB,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,cAAc,EAAE,MAAM;AACvB,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,KAAK,EAAE,SAAS;AACjB,aAAA;AACD,YAAA,WAAW,EAAE;AACX,gBAAA,KAAK,EAAE;AACL,oBAAA,OAAO,EAAE;AACP,wBAAA,UAAU,EAAE,eAAe;AAC3B,wBAAA,KAAK,EAAE,aAAa;AACpB,wBAAA,eAAe,EAAE,eAAe;AAChC,wBAAA,UAAU,EAAE,aAAa;AACzB,wBAAA,gBAAgB,EAAE,eAAe;AACjC,wBAAA,WAAW,EAAE,aAAa;AAC1B,wBAAA,WAAW,EAAE,aAAa;AAC1B,wBAAA,gBAAgB,EAAE,aAAa;AAC/B,wBAAA,iBAAiB,EAAE,aAAa;AACjC,qBAAA;AACD,oBAAA,SAAS,EAAE;AACT,wBAAA,UAAU,EAAE,iBAAiB;AAC7B,wBAAA,KAAK,EAAE,aAAa;AACpB,wBAAA,eAAe,EAAE,iBAAiB;AAClC,wBAAA,UAAU,EAAE,aAAa;AACzB,wBAAA,gBAAgB,EAAE,iBAAiB;AACnC,wBAAA,WAAW,EAAE,aAAa;AAC1B,wBAAA,WAAW,EAAE,aAAa;AAC1B,wBAAA,gBAAgB,EAAE,aAAa;AAC/B,wBAAA,iBAAiB,EAAE,aAAa;AACjC,qBAAA;AACD,oBAAA,MAAM,EAAE;AACN,wBAAA,UAAU,EAAE,cAAc;AAC1B,wBAAA,KAAK,EAAE,aAAa;AACpB,wBAAA,eAAe,EAAE,cAAc;AAC/B,wBAAA,UAAU,EAAE,aAAa;AACzB,wBAAA,gBAAgB,EAAE,cAAc;AAChC,wBAAA,WAAW,EAAE,aAAa;AAC1B,wBAAA,WAAW,EAAE,aAAa;AAC1B,wBAAA,gBAAgB,EAAE,aAAa;AAC/B,wBAAA,iBAAiB,EAAE,aAAa;AACjC,qBAAA;AACD,oBAAA,IAAI,EAAE;AACJ,wBAAA,cAAc,EAAE,WAAW;AAC3B,wBAAA,UAAU,EAAE,MAAM;AAClB,wBAAA,SAAS,EAAE,MAAM;AACjB,wBAAA,KAAK,EAAE,eAAe;AACtB,wBAAA,QAAQ,EAAE,iBAAiB;AAC3B,wBAAA,UAAU,EAAE,sBAAsB;AAClC,wBAAA,UAAU,EAAE,eAAe;AAC3B,wBAAA,eAAe,EAAE,MAAM;AACvB,wBAAA,WAAW,EAAE,eAAe;AAC5B,wBAAA,gBAAgB,EAAE,MAAM;AACzB,qBAAA;AACF,iBAAA;AACH,gBAAA,IAAI,EAAE;AACF,oBAAA,OAAO,EAAE;AACP,wBAAA,UAAU,EAAE,eAAe;AAC3B,wBAAA,KAAK,EAAE,aAAa;AACpB,wBAAA,eAAe,EAAE,eAAe;AAChC,wBAAA,UAAU,EAAE,aAAa;AACzB,wBAAA,gBAAgB,EAAE,eAAe;AACjC,wBAAA,WAAW,EAAE,aAAa;AAC1B,wBAAA,WAAW,EAAE,aAAa;AAC1B,wBAAA,gBAAgB,EAAE,aAAa;AAC/B,wBAAA,iBAAiB,EAAE,aAAa;AACjC,qBAAA;AACD,oBAAA,SAAS,EAAE;AACT,wBAAA,UAAU,EAAE,iBAAiB;AAC7B,wBAAA,KAAK,EAAE,aAAa;AACpB,wBAAA,eAAe,EAAE,iBAAiB;AAClC,wBAAA,UAAU,EAAE,aAAa;AACzB,wBAAA,gBAAgB,EAAE,iBAAiB;AACnC,wBAAA,WAAW,EAAE,aAAa;AAC1B,wBAAA,WAAW,EAAE,aAAa;AAC1B,wBAAA,gBAAgB,EAAE,aAAa;AAC/B,wBAAA,iBAAiB,EAAE,aAAa;AACjC,qBAAA;AACD,oBAAA,MAAM,EAAE;AACN,wBAAA,UAAU,EAAE,cAAc;AAC1B,wBAAA,KAAK,EAAE,aAAa;AACpB,wBAAA,eAAe,EAAE,cAAc;AAC/B,wBAAA,UAAU,EAAE,aAAa;AACzB,wBAAA,gBAAgB,EAAE,cAAc;AAChC,wBAAA,WAAW,EAAE,aAAa;AAC1B,wBAAA,WAAW,EAAE,aAAa;AAC1B,wBAAA,gBAAgB,EAAE,aAAa;AAC/B,wBAAA,iBAAiB,EAAE,aAAa;AACjC,qBAAA;AACD,oBAAA,IAAI,EAAE;AACJ,wBAAA,cAAc,EAAE,WAAW;AAC3B,wBAAA,UAAU,EAAE,MAAM;AAClB,wBAAA,SAAS,EAAE,MAAM;AACjB,wBAAA,KAAK,EAAE,eAAe;AACtB,wBAAA,QAAQ,EAAE,iBAAiB;AAC3B,wBAAA,UAAU,EAAE,sBAAsB;AAClC,wBAAA,UAAU,EAAE,eAAe;AAC3B,wBAAA,eAAe,EAAE,MAAM;AACvB,wBAAA,WAAW,EAAE,eAAe;AAC5B,wBAAA,gBAAgB,EAAE,MAAM;AACzB,qBAAA;AACF,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;AACF,CAAA;;AC/QD,SAAS,YAAY,CAAC,MAAe,EAAE,QAAkB,EAAA;AACvD,IAAA,OAAO,MAAK;QACV,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC;AAC/C,QAAA,QAAQ,CAAC,GAAG,GAAG,YAAY;AAC3B,QAAA,QAAQ,CAAC,IAAI;AACX,YAAA,wFAAwF;AAC1F,QAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;QAEnC,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC;QAC7C,KAAK,CAAC,SAAS,GAAG;;;;KAIjB;AACD,QAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;AAEhC,QAAA,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;AACf,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,OAAO,EAAE;AACP,gBAAA,MAAM,EAAE,IAAI;AACZ,gBAAA,gBAAgB,EAAE,SAAS;AAC5B,aAAA;AACF,SAAA,CAAC;AACJ,KAAC;AACH;SAEgB,cAAc,GAAA;IAC5B,OAAO,qBAAqB,CAAC,MAAK;AAChC,QAAA,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;AAC9B,QAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AACjC,QAAA,OAAO,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE;AACzC,KAAC,CAAC;AACJ;;ACrCA;;AAEG;;;;"}
1
+ {"version":3,"file":"tekus-design-system-core-types.mjs","sources":["../../../projects/design-system/core/types/src/grids/grid.enum.ts","../../../projects/design-system/core/types/src/breakpoints/breakpoints.ts","../../../projects/design-system/core/types/src/theme/tk-preset.ts","../../../projects/design-system/core/types/src/theme/theme.provider.ts","../../../projects/design-system/core/types/tekus-design-system-core-types.ts"],"sourcesContent":["enum GapGutter {\n normal = '24px',\n small = '16px',\n large = '32px',\n extraLarge = '40px',\n}\n\nenum PaddingGridContainer {\n large = '32px',\n medium = '24px',\n small = '16px'\n}\n\nenum Gutter {\n normal = 'normal',\n small = 'small',\n large = 'large',\n extraLarge = 'extraLarge',\n\n}\n\nexport {\n Gutter,\n GapGutter,\n PaddingGridContainer\n}","export const Breakpoints = {\n // Covers all devices with a width less than or equal to 360px.\n mobileSmall: '(max-width: 360px)',\n\n // For small phones (e.g., most modern cell phones)\n mobile: '(min-width: 361px) and (max-width: 424px)',\n\n // For large phones (e.g., Google Pixel, iPhone Plus/Max)\n mobileLarge: '(min-width: 425px) and (max-width: 575px)',\n\n // Vertical tablets and medium-sized devices\n tabletVertical: '(min-width: 576px) and (max-width: 767px)',\n\n // Tablets in landscape mode\n tabletHorizontal: '(min-width: 768px) and (max-width: 991px)',\n\n // Laptops and small desktops\n desktopSmall: '(min-width: 992px) and (max-width: 1199px)',\n\n // Large desks\n desktop: '(min-width: 1200px) and (max-width: 1399px)',\n\n // Ultra-wide screens\n desktopLarge: '(min-width: 1400px)',\n}","import { definePreset } from '@primeng/themes';\nimport Aura from '@primeng/themes/aura';\n\nexport const TkPreset = definePreset(Aura, {\n semantic: {\n primary: {\n 500: 'var(--tk-color-base-primary-500)',\n 400: 'var(--tk-color-base-primary-400)',\n 300: 'var(--tk-color-base-primary-300)',\n },\n surface: {\n 0: 'var(--tk-color-base-surface-0)',\n },\n text: {\n default: 'var(--tk-color-text-default)',\n },\n },\n font: {\n family: 'var(tk-font-family)',\n size: {\n md: 'var(--tk-font-size-base-150)',\n '2xs': 'var(--tk-font-size-base-100)',\n },\n weight: {\n regular: 'var(--tk-font-weight-400)',\n medium: '500',\n bold: 'var(--tk-font-weight-600)',\n },\n },\n spacing: {\n 3: 'var(--tk-spacing-base-75)',\n 4: 'var(--tk-spacing-base-100)',\n 6: 'var(--tk-spacing-base-150)',\n 8: 'var(--tk-spacing-base-200)',\n },\n components: {\n button: {\n root: {\n outline: 'none',\n boxShadow: 'none',\n border: 'none',\n focusBoxShadow: 'none',\n },\n label: {\n color: 'inherit',\n },\n colorScheme: {\n light: {\n primary: {\n background: '{primary.500}',\n color: '{surface.0}',\n hoverBackground: '{primary.400}',\n hoverColor: '{surface.0}',\n activeBackground: '{primary.400}',\n activeColor: '{surface.0}',\n borderColor: 'transparent',\n hoverBorderColor: 'transparent',\n activeBorderColor: 'transparent',\n },\n link: {\n textDecoration: 'underline',\n background: 'none',\n boxShadow: 'none',\n color: '{primary.500}',\n fontSize: '{font.size.2xs}',\n fontWeight: '{font.weight.medium}',\n hoverColor: '{primary.400}',\n hoverBackground: 'none',\n activeColor: '{primary.300}',\n activeBackground: 'none',\n },\n },\n dark: {\n primary: {\n background: '{primary.500}',\n color: '{surface.0}',\n hoverBackground: '{primary.400}',\n hoverColor: '{surface.0}',\n activeBackground: '{primary.400}',\n activeColor: '{surface.0}',\n borderColor: 'transparent',\n hoverBorderColor: 'transparent',\n activeBorderColor: 'transparent',\n },\n link: {\n textDecoration: 'underline',\n background: 'none',\n boxShadow: 'none',\n color: '{primary.500}',\n fontSize: '{font.size.2xs}',\n fontWeight: '{font.weight.medium}',\n hoverColor: '{primary.400}',\n hoverBackground: 'none',\n activeColor: '{primary.300}',\n activeBackground: 'none',\n },\n },\n },\n },\n },\n});\n","import { inject, provideAppInitializer } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { PrimeNG } from 'primeng/config';\nimport { TkPreset } from './tk-preset';\n\nfunction themeFactory(config: PrimeNG, document: Document): () => void {\n return () => {\n const fontLink = document.createElement('link');\n fontLink.rel = 'stylesheet';\n fontLink.href =\n 'https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap';\n document.head.appendChild(fontLink);\n\n const style = document.createElement('style');\n style.innerHTML = `\n body {\n font-family: 'Poppins', sans-serif;\n }\n `;\n document.head.appendChild(style);\n\n config.theme.set({\n preset: TkPreset,\n options: {\n prefix: 'tk',\n darkMode: false\n },\n });\n };\n}\n\nexport function provideTkTheme() {\n return provideAppInitializer(() => {\n const config = inject(PrimeNG);\n const document = inject(DOCUMENT);\n return themeFactory(config, document)();\n });\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}