@tekus/design-system 5.27.0 → 5.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/fesm2022/tekus-design-system-components-bread-crumps.mjs +65 -0
  2. package/fesm2022/tekus-design-system-components-bread-crumps.mjs.map +1 -0
  3. package/fesm2022/tekus-design-system-components-button.mjs +11 -3
  4. package/fesm2022/tekus-design-system-components-button.mjs.map +1 -1
  5. package/fesm2022/tekus-design-system-components-card.mjs +9 -8
  6. package/fesm2022/tekus-design-system-components-card.mjs.map +1 -1
  7. package/fesm2022/tekus-design-system-components-drawer.mjs +17 -3
  8. package/fesm2022/tekus-design-system-components-drawer.mjs.map +1 -1
  9. package/fesm2022/tekus-design-system-components-dropdown.mjs +89 -0
  10. package/fesm2022/tekus-design-system-components-dropdown.mjs.map +1 -0
  11. package/fesm2022/tekus-design-system-components-fallback-view.mjs +1 -1
  12. package/fesm2022/tekus-design-system-components-fallback-view.mjs.map +1 -1
  13. package/fesm2022/tekus-design-system-components-icon.mjs +15 -1
  14. package/fesm2022/tekus-design-system-components-icon.mjs.map +1 -1
  15. package/fesm2022/tekus-design-system-components-menu.mjs +3 -2
  16. package/fesm2022/tekus-design-system-components-menu.mjs.map +1 -1
  17. package/fesm2022/tekus-design-system-components-message.mjs +82 -0
  18. package/fesm2022/tekus-design-system-components-message.mjs.map +1 -0
  19. package/fesm2022/tekus-design-system-components-modal.mjs +1 -1
  20. package/fesm2022/tekus-design-system-components-modal.mjs.map +1 -1
  21. package/fesm2022/tekus-design-system-components-panel-menu.mjs +1 -0
  22. package/fesm2022/tekus-design-system-components-panel-menu.mjs.map +1 -1
  23. package/fesm2022/tekus-design-system-components-select.mjs +335 -103
  24. package/fesm2022/tekus-design-system-components-select.mjs.map +1 -1
  25. package/fesm2022/tekus-design-system-components-sidebar-layout.mjs +1 -1
  26. package/fesm2022/tekus-design-system-components-sidebar-layout.mjs.map +1 -1
  27. package/fesm2022/tekus-design-system-components-table.mjs +1 -1
  28. package/fesm2022/tekus-design-system-components-table.mjs.map +1 -1
  29. package/fesm2022/tekus-design-system-components-toast.mjs +1 -1
  30. package/fesm2022/tekus-design-system-components-toast.mjs.map +1 -1
  31. package/fesm2022/tekus-design-system-components-toggle.mjs +95 -0
  32. package/fesm2022/tekus-design-system-components-toggle.mjs.map +1 -0
  33. package/fesm2022/tekus-design-system-components-toolbar.mjs +1 -1
  34. package/fesm2022/tekus-design-system-components-toolbar.mjs.map +1 -1
  35. package/fesm2022/tekus-design-system-components-topbar.mjs +10 -3
  36. package/fesm2022/tekus-design-system-components-topbar.mjs.map +1 -1
  37. package/fesm2022/tekus-design-system-core-types.mjs +36 -6
  38. package/fesm2022/tekus-design-system-core-types.mjs.map +1 -1
  39. package/fesm2022/tekus-design-system-core.mjs +36 -6
  40. package/fesm2022/tekus-design-system-core.mjs.map +1 -1
  41. package/package.json +17 -1
  42. package/types/tekus-design-system-components-bread-crumps.d.ts +26 -0
  43. package/types/tekus-design-system-components-button.d.ts +9 -1
  44. package/types/tekus-design-system-components-drawer.d.ts +10 -1
  45. package/types/tekus-design-system-components-dropdown.d.ts +69 -0
  46. package/types/tekus-design-system-components-message.d.ts +50 -0
  47. package/types/tekus-design-system-components-select.d.ts +216 -79
  48. package/types/tekus-design-system-components-toggle.d.ts +30 -0
  49. package/types/tekus-design-system-components-topbar.d.ts +8 -1
@@ -179,7 +179,7 @@ class ToolbarComponent {
179
179
  this.reload.emit();
180
180
  }
181
181
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: ToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
182
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.3", type: ToolbarComponent, isStandalone: true, selector: "tk-toolbar", inputs: { searchModel: { classPropertyName: "searchModel", publicName: "searchModel", isSignal: true, isRequired: false, transformFunction: null }, filterModel: { classPropertyName: "filterModel", publicName: "filterModel", isSignal: true, isRequired: false, transformFunction: null }, filterOptions: { classPropertyName: "filterOptions", publicName: "filterOptions", isSignal: true, isRequired: false, transformFunction: null }, filterOptionLabel: { classPropertyName: "filterOptionLabel", publicName: "filterOptionLabel", isSignal: true, isRequired: false, transformFunction: null }, filterFloatLabel: { classPropertyName: "filterFloatLabel", publicName: "filterFloatLabel", isSignal: true, isRequired: false, transformFunction: null }, searchFloatLabel: { classPropertyName: "searchFloatLabel", publicName: "searchFloatLabel", isSignal: true, isRequired: false, transformFunction: null }, searchVisible: { classPropertyName: "searchVisible", publicName: "searchVisible", isSignal: true, isRequired: false, transformFunction: null }, filterVisible: { classPropertyName: "filterVisible", publicName: "filterVisible", isSignal: true, isRequired: false, transformFunction: null }, reloadVisible: { classPropertyName: "reloadVisible", publicName: "reloadVisible", isSignal: true, isRequired: false, transformFunction: null }, reloadInterval: { classPropertyName: "reloadInterval", publicName: "reloadInterval", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { searchModel: "searchModelChange", filterModel: "filterModelChange", reload: "reload" }, ngImport: i0, template: "<div class=\"toolbar\">\n @if (showSearchInput() && searchVisible()) {\n <div class=\"toolbar__input-container\">\n <tk-input-text\n [label]=\"searchFloatLabel()\"\n icon=\"magnifying-glass\"\n [clearable]=\"true\"\n [value]=\"searchModel()\"\n (valueChange)=\"searchModel.set($event)\">\n </tk-input-text>\n </div>\n }\n @if (showFilterSelect() && filterVisible()) {\n <div class=\"toolbar__input-container\">\n <tk-select\n [options]=\"filterOptions()\"\n [optionLabel]=\"filterOptionLabel()\"\n [label]=\"filterFloatLabel()\"\n (modelChange)=\"onSelectedOption($event ?? null)\">\n </tk-select>\n </div>\n }\n <div class=\"toolbar__buttons\">\n @if (searchVisible()) {\n <tk-button\n [icon]=\"'magnifying-glass'\"\n severity=\"secondary\"\n [variant]=\"!showSearchInput() ? 'outlined' : undefined\"\n (clicked)=\"toggleSearchInput()\">\n </tk-button>\n }\n @if (filterVisible()) {\n <tk-button\n [icon]=\"'filter'\"\n severity=\"secondary\"\n [variant]=\"!showFilterSelect() ? 'outlined' : undefined\"\n (clicked)=\"toggleFilterSelect()\">\n </tk-button>\n }\n @if (reloadVisible()) {\n <tk-button\n class=\"toolbar__reload-btn\"\n [class.toolbar__reload-btn--animating]=\"\n reloadInterval() && reloadInterval()! > 0 && !loading()\n \"\n [class.toolbar__reload-btn--spinning]=\"loading()\"\n [style.--reload-interval]=\"(reloadInterval() ?? 0) + 'ms'\"\n [icon]=\"'arrows-rotate'\"\n severity=\"secondary\"\n variant=\"outlined\"\n (clicked)=\"onReload()\">\n </tk-button>\n }\n </div>\n</div>\n", styles: [".toolbar{display:flex;justify-content:end;flex-wrap:wrap;gap:var(--tk-spacing-base-50, .5rem);row-gap:var(--tk-spacing-base-150, 1.5rem)}.toolbar__input-container{width:15rem}.toolbar__buttons{display:flex;gap:var(--tk-spacing-base-50, .5rem);margin-top:var(--tk-spacing-base-50, .5rem)}.toolbar__reload-btn{border-radius:var(--tk-borderRadius-s, 8px)!important;position:relative}.toolbar__reload-btn--animating:before{content:\"\";position:absolute;inset:-2px;background:conic-gradient(var(--tk-color-base-sky-300, #92bada) var(--progress, 0%),transparent var(--progress, 0%));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;padding:2px;border-radius:inherit;animation:draw-border var(--reload-interval, 5s) infinite linear;pointer-events:none}.toolbar__reload-btn--spinning ::ng-deep tk-icon{display:inline-block;animation:spin 1s infinite linear}@media(max-width:768px){.toolbar{justify-content:flex-start}}@property --progress{syntax: \"<percentage>\"; inherits: false; initial-value: 0%;}@keyframes draw-border{0%{--progress: 0%}to{--progress: 100%}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:host ::ng-deep .tk-input-bottom{display:none}:host ::ng-deep .p-button-outlined{border:1px solid transparent!important}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "tk-button", inputs: ["label", "disabled", "type", "severity", "variant", "link", "icon", "tooltipText", "size"], outputs: ["clicked"] }, { kind: "component", type: InputTextComponent, selector: "tk-input-text", inputs: ["value", "control", "label", "type", "id", "icon", "clearable", "errorMessage", "hint", "maxLength"], outputs: ["valueChange"] }, { kind: "component", type: SelectComponent, selector: "tk-select", inputs: ["id", "control", "options", "optionLabel", "label", "showClear", "disabled", "errorMessage", "hint", "model"], outputs: ["modelChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
182
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.3", type: ToolbarComponent, isStandalone: true, selector: "tk-toolbar", inputs: { searchModel: { classPropertyName: "searchModel", publicName: "searchModel", isSignal: true, isRequired: false, transformFunction: null }, filterModel: { classPropertyName: "filterModel", publicName: "filterModel", isSignal: true, isRequired: false, transformFunction: null }, filterOptions: { classPropertyName: "filterOptions", publicName: "filterOptions", isSignal: true, isRequired: false, transformFunction: null }, filterOptionLabel: { classPropertyName: "filterOptionLabel", publicName: "filterOptionLabel", isSignal: true, isRequired: false, transformFunction: null }, filterFloatLabel: { classPropertyName: "filterFloatLabel", publicName: "filterFloatLabel", isSignal: true, isRequired: false, transformFunction: null }, searchFloatLabel: { classPropertyName: "searchFloatLabel", publicName: "searchFloatLabel", isSignal: true, isRequired: false, transformFunction: null }, searchVisible: { classPropertyName: "searchVisible", publicName: "searchVisible", isSignal: true, isRequired: false, transformFunction: null }, filterVisible: { classPropertyName: "filterVisible", publicName: "filterVisible", isSignal: true, isRequired: false, transformFunction: null }, reloadVisible: { classPropertyName: "reloadVisible", publicName: "reloadVisible", isSignal: true, isRequired: false, transformFunction: null }, reloadInterval: { classPropertyName: "reloadInterval", publicName: "reloadInterval", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { searchModel: "searchModelChange", filterModel: "filterModelChange", reload: "reload" }, ngImport: i0, template: "<div class=\"toolbar\">\n @if (showSearchInput() && searchVisible()) {\n <div class=\"toolbar__input-container\">\n <tk-input-text\n [label]=\"searchFloatLabel()\"\n icon=\"magnifying-glass\"\n [clearable]=\"true\"\n [value]=\"searchModel()\"\n (valueChange)=\"searchModel.set($event)\">\n </tk-input-text>\n </div>\n }\n @if (showFilterSelect() && filterVisible()) {\n <div class=\"toolbar__input-container\">\n <tk-select\n [options]=\"filterOptions()\"\n [optionLabel]=\"filterOptionLabel()\"\n [label]=\"filterFloatLabel()\"\n (modelChange)=\"onSelectedOption($event ?? null)\">\n </tk-select>\n </div>\n }\n <div class=\"toolbar__buttons\">\n @if (searchVisible()) {\n <tk-button\n [icon]=\"'magnifying-glass'\"\n severity=\"secondary\"\n [variant]=\"!showSearchInput() ? 'outlined' : undefined\"\n (clicked)=\"toggleSearchInput()\">\n </tk-button>\n }\n @if (filterVisible()) {\n <tk-button\n [icon]=\"'filter'\"\n severity=\"secondary\"\n [variant]=\"!showFilterSelect() ? 'outlined' : undefined\"\n (clicked)=\"toggleFilterSelect()\">\n </tk-button>\n }\n @if (reloadVisible()) {\n <tk-button\n class=\"toolbar__reload-btn\"\n [class.toolbar__reload-btn--animating]=\"\n reloadInterval() && reloadInterval()! > 0 && !loading()\n \"\n [class.toolbar__reload-btn--spinning]=\"loading()\"\n [style.--reload-interval]=\"(reloadInterval() ?? 0) + 'ms'\"\n [icon]=\"'arrows-rotate'\"\n severity=\"secondary\"\n variant=\"outlined\"\n (clicked)=\"onReload()\">\n </tk-button>\n }\n </div>\n</div>\n", styles: [".toolbar{display:flex;justify-content:end;flex-wrap:wrap;gap:var(--tk-spacing-base-50, .5rem);row-gap:var(--tk-spacing-base-150, 1.5rem)}.toolbar__input-container{width:15rem}.toolbar__buttons{display:flex;gap:var(--tk-spacing-base-50, .5rem);margin-top:var(--tk-spacing-base-50, .5rem)}.toolbar__reload-btn{border-radius:var(--tk-borderRadius-s, 8px)!important;position:relative}.toolbar__reload-btn--animating:before{content:\"\";position:absolute;inset:-2px;background:conic-gradient(var(--tk-color-base-sky-300, #92bada) var(--progress, 0%),transparent var(--progress, 0%));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;padding:2px;border-radius:inherit;animation:draw-border var(--reload-interval, 5s) infinite linear;pointer-events:none}.toolbar__reload-btn--spinning ::ng-deep tk-icon{display:inline-block;animation:spin 1s infinite linear}@media(max-width:768px){.toolbar{justify-content:flex-start}}@property --progress{syntax: \"<percentage>\"; inherits: false; initial-value: 0%;}@keyframes draw-border{0%{--progress: 0%}to{--progress: 100%}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:host ::ng-deep .tk-input-bottom{display:none}:host ::ng-deep .p-button-outlined{border:1px solid transparent!important}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "tk-button", inputs: ["label", "disabled", "type", "severity", "variant", "link", "icon", "iconPosition", "tooltipText", "size"], outputs: ["clicked"] }, { kind: "component", type: InputTextComponent, selector: "tk-input-text", inputs: ["value", "control", "label", "type", "id", "icon", "clearable", "errorMessage", "hint", "maxLength"], outputs: ["valueChange"] }, { kind: "component", type: SelectComponent, selector: "tk-select", inputs: ["id", "control", "options", "dataSource", "optionLabel", "label", "showClear", "disabled", "errorMessage", "hint", "filter", "placeholder", "loading", "fetchParams", "sortField", "sortOrder", "model", "emptyMessage", "emptyFilterMessage"], outputs: ["dataSourceChange", "modelChange", "filterChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
183
183
  }
184
184
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: ToolbarComponent, decorators: [{
185
185
  type: Component,
@@ -1 +1 @@
1
- {"version":3,"file":"tekus-design-system-components-toolbar.mjs","sources":["../../../projects/design-system/components/toolbar/src/toolbar.component.ts","../../../projects/design-system/components/toolbar/src/toolbar.component.html","../../../projects/design-system/components/toolbar/tekus-design-system-components-toolbar.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, model, signal, input, output } from '@angular/core';\nimport { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';\nimport {\n combineLatest,\n distinctUntilChanged,\n EMPTY,\n switchMap,\n timer,\n} from 'rxjs';\nimport { ButtonComponent } from '@tekus/design-system/components/button';\nimport { SelectComponent } from '@tekus/design-system/components/select';\nimport { InputTextComponent } from '@tekus/design-system/components/input-text';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'tk-toolbar',\n imports: [ButtonComponent, InputTextComponent, SelectComponent],\n templateUrl: './toolbar.component.html',\n styleUrl: './toolbar.component.scss',\n})\nexport class ToolbarComponent {\n /**\n * @property {ModelSignal<string>} searchModel\n * @description\n * Two-way bindable signal for the search input value.\n * Supports [(searchModel)]=\"variable\" syntax for two-way binding.\n * @default ''\n */\n searchModel = model<string>('');\n\n /**\n * @property {ModelSignal<Record<string, string> | null>} filterModel\n * @description\n * Two-way bindable signal for the filter select value.\n * Supports [(filterModel)]=\"variable\" syntax for two-way binding.\n * @default null\n */\n filterModel = model<Record<string, string> | null>(null);\n\n /**\n * @property {WritableSignal<boolean>} showSearchInput\n * @description\n * Controls the visibility of the search input. Toggles when the search button is clicked.\n * @default false\n */\n showSearchInput = signal<boolean>(false);\n\n /**\n * @property {WritableSignal<boolean>} showFilterSelect\n * @description\n * Controls the visibility of the filter select. Toggles when the filter button is clicked.\n * @default false\n */\n showFilterSelect = signal<boolean>(false);\n\n /**\n * @property {InputSignal<Array<{ label: string; value: string }>>} filterOptions\n * @description\n * Array of options available in the filter select dropdown.\n * Each option is an object with `label` (displayed text) and `value` (internal identifier).\n *\n * @default\n * [\n * { label: 'Option 1', value: 'option1' },\n * { label: 'Option 2', value: 'option2' },\n * { label: 'Option 3', value: 'option3' }\n * ]\n */\n filterOptions = input<Array<{ label: string; value: string }>>([\n { label: 'Option 1', value: 'option1' },\n { label: 'Option 2', value: 'option2' },\n { label: 'Option 3', value: 'option3' },\n ]);\n\n /**\n * @property {InputSignal<string>} filterOptionLabel\n * @description\n * Property name used to display the label in the select dropdown options.\n * This corresponds to the key in each option object that contains the display text.\n *\n * @default 'label'\n */\n filterOptionLabel = input<string>('label');\n\n /**\n * @property {InputSignal<string>} filterFloatLabel\n * @description\n * Label text displayed above the filter select input using the FloatLabel wrapper.\n * This is the placeholder/label that floats when the select is focused or has a value.\n *\n * @default 'Filtrar'\n */\n filterFloatLabel = input<string>('Filtrar');\n\n /**\n * @property {InputSignal<string>} searchFloatLabel\n * @description\n * Label text displayed above the search input using the FloatLabel wrapper.\n * This is the placeholder/label that floats when the search input is focused or has a value.\n *\n * @default 'Buscar'\n */\n searchFloatLabel = input<string>('Buscar');\n\n /**\n * @property {InputSignal<boolean>} searchVisible\n * @description\n * Controls the visibility of the search button.\n * @default true\n */\n searchVisible = input<boolean>(true);\n\n /**\n * @property {InputSignal<boolean>} filterVisible\n * @description\n * Controls the visibility of the filter button.\n * @default true\n */\n filterVisible = input<boolean>(true);\n\n /**\n * @property {InputSignal<boolean>} reloadVisible\n * @description\n * Controls the visibility of the reload button.\n * @default false\n */\n reloadVisible = input<boolean>(false);\n\n /**\n * @property {InputSignal<number | null>} reloadInterval\n * @description\n * Sets the interval for automatic reload in milliseconds.\n * If null, automatic reload is disabled.\n * @default null\n */\n reloadInterval = input<number | null>(null);\n\n /**\n * @property {InputSignal<boolean>} loading\n * @description\n * Controls the loading state of the reload button, triggering a rotation animation.\n * @default false\n */\n loading = input<boolean>(false);\n\n /**\n * @property {OutputEmitter<void>} reload\n * @description\n * Emits an event when the reload button is clicked or the automatic interval is reached.\n */\n reload = output<void>();\n\n /**\n * @method constructor\n * @description\n * Initializes the automatic reload logic using a declarative RxJS approach.\n */\n constructor() {\n combineLatest([\n toObservable(this.reloadInterval).pipe(distinctUntilChanged()),\n toObservable(this.loading).pipe(distinctUntilChanged()),\n ])\n .pipe(\n switchMap(([interval, isLoading]) => {\n if (isLoading || !interval || interval <= 0) {\n return EMPTY;\n }\n return timer(interval, interval);\n }),\n takeUntilDestroyed()\n )\n .subscribe(() => this.onReload());\n }\n\n /**\n * @method toggleSearchInput\n * @description\n * Toggles the visibility of the search input field.\n */\n toggleSearchInput(): void {\n this.showSearchInput.update(value => !value);\n this.searchModel.set('');\n }\n\n /**\n * @method toggleFilterSelect\n * @description\n * Toggles the visibility of the filter select dropdown.\n */\n toggleFilterSelect(): void {\n this.showFilterSelect.update(value => !value);\n this.filterModel.set(null);\n }\n\n /**\n * @method onSelectedOption\n * @description\n * Handles filter select changes and updates the filterModel signal.\n *\n * @param value - Selected option value from tk-select\n */\n onSelectedOption(value: Record<string, string> | null): void {\n this.filterModel.set(value);\n }\n\n /**\n * @method onReload\n * @description\n * Emits the reload event.\n */\n onReload(): void {\n this.reload.emit();\n }\n}\n","<div class=\"toolbar\">\n @if (showSearchInput() && searchVisible()) {\n <div class=\"toolbar__input-container\">\n <tk-input-text\n [label]=\"searchFloatLabel()\"\n icon=\"magnifying-glass\"\n [clearable]=\"true\"\n [value]=\"searchModel()\"\n (valueChange)=\"searchModel.set($event)\">\n </tk-input-text>\n </div>\n }\n @if (showFilterSelect() && filterVisible()) {\n <div class=\"toolbar__input-container\">\n <tk-select\n [options]=\"filterOptions()\"\n [optionLabel]=\"filterOptionLabel()\"\n [label]=\"filterFloatLabel()\"\n (modelChange)=\"onSelectedOption($event ?? null)\">\n </tk-select>\n </div>\n }\n <div class=\"toolbar__buttons\">\n @if (searchVisible()) {\n <tk-button\n [icon]=\"'magnifying-glass'\"\n severity=\"secondary\"\n [variant]=\"!showSearchInput() ? 'outlined' : undefined\"\n (clicked)=\"toggleSearchInput()\">\n </tk-button>\n }\n @if (filterVisible()) {\n <tk-button\n [icon]=\"'filter'\"\n severity=\"secondary\"\n [variant]=\"!showFilterSelect() ? 'outlined' : undefined\"\n (clicked)=\"toggleFilterSelect()\">\n </tk-button>\n }\n @if (reloadVisible()) {\n <tk-button\n class=\"toolbar__reload-btn\"\n [class.toolbar__reload-btn--animating]=\"\n reloadInterval() && reloadInterval()! > 0 && !loading()\n \"\n [class.toolbar__reload-btn--spinning]=\"loading()\"\n [style.--reload-interval]=\"(reloadInterval() ?? 0) + 'ms'\"\n [icon]=\"'arrows-rotate'\"\n severity=\"secondary\"\n variant=\"outlined\"\n (clicked)=\"onReload()\">\n </tk-button>\n }\n </div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tekus-design-system-components-toolbar.mjs","sources":["../../../projects/design-system/components/toolbar/src/toolbar.component.ts","../../../projects/design-system/components/toolbar/src/toolbar.component.html","../../../projects/design-system/components/toolbar/tekus-design-system-components-toolbar.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, model, signal, input, output } from '@angular/core';\nimport { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';\nimport {\n combineLatest,\n distinctUntilChanged,\n EMPTY,\n switchMap,\n timer,\n} from 'rxjs';\nimport { ButtonComponent } from '@tekus/design-system/components/button';\nimport { SelectComponent } from '@tekus/design-system/components/select';\nimport { InputTextComponent } from '@tekus/design-system/components/input-text';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'tk-toolbar',\n imports: [ButtonComponent, InputTextComponent, SelectComponent],\n templateUrl: './toolbar.component.html',\n styleUrl: './toolbar.component.scss',\n})\nexport class ToolbarComponent {\n /**\n * @property {ModelSignal<string>} searchModel\n * @description\n * Two-way bindable signal for the search input value.\n * Supports [(searchModel)]=\"variable\" syntax for two-way binding.\n * @default ''\n */\n searchModel = model<string>('');\n\n /**\n * @property {ModelSignal<Record<string, string> | null>} filterModel\n * @description\n * Two-way bindable signal for the filter select value.\n * Supports [(filterModel)]=\"variable\" syntax for two-way binding.\n * @default null\n */\n filterModel = model<Record<string, string> | null>(null);\n\n /**\n * @property {WritableSignal<boolean>} showSearchInput\n * @description\n * Controls the visibility of the search input. Toggles when the search button is clicked.\n * @default false\n */\n showSearchInput = signal<boolean>(false);\n\n /**\n * @property {WritableSignal<boolean>} showFilterSelect\n * @description\n * Controls the visibility of the filter select. Toggles when the filter button is clicked.\n * @default false\n */\n showFilterSelect = signal<boolean>(false);\n\n /**\n * @property {InputSignal<Array<{ label: string; value: string }>>} filterOptions\n * @description\n * Array of options available in the filter select dropdown.\n * Each option is an object with `label` (displayed text) and `value` (internal identifier).\n *\n * @default\n * [\n * { label: 'Option 1', value: 'option1' },\n * { label: 'Option 2', value: 'option2' },\n * { label: 'Option 3', value: 'option3' }\n * ]\n */\n filterOptions = input<Array<{ label: string; value: string }>>([\n { label: 'Option 1', value: 'option1' },\n { label: 'Option 2', value: 'option2' },\n { label: 'Option 3', value: 'option3' },\n ]);\n\n /**\n * @property {InputSignal<string>} filterOptionLabel\n * @description\n * Property name used to display the label in the select dropdown options.\n * This corresponds to the key in each option object that contains the display text.\n *\n * @default 'label'\n */\n filterOptionLabel = input<string>('label');\n\n /**\n * @property {InputSignal<string>} filterFloatLabel\n * @description\n * Label text displayed above the filter select input using the FloatLabel wrapper.\n * This is the placeholder/label that floats when the select is focused or has a value.\n *\n * @default 'Filtrar'\n */\n filterFloatLabel = input<string>('Filtrar');\n\n /**\n * @property {InputSignal<string>} searchFloatLabel\n * @description\n * Label text displayed above the search input using the FloatLabel wrapper.\n * This is the placeholder/label that floats when the search input is focused or has a value.\n *\n * @default 'Buscar'\n */\n searchFloatLabel = input<string>('Buscar');\n\n /**\n * @property {InputSignal<boolean>} searchVisible\n * @description\n * Controls the visibility of the search button.\n * @default true\n */\n searchVisible = input<boolean>(true);\n\n /**\n * @property {InputSignal<boolean>} filterVisible\n * @description\n * Controls the visibility of the filter button.\n * @default true\n */\n filterVisible = input<boolean>(true);\n\n /**\n * @property {InputSignal<boolean>} reloadVisible\n * @description\n * Controls the visibility of the reload button.\n * @default false\n */\n reloadVisible = input<boolean>(false);\n\n /**\n * @property {InputSignal<number | null>} reloadInterval\n * @description\n * Sets the interval for automatic reload in milliseconds.\n * If null, automatic reload is disabled.\n * @default null\n */\n reloadInterval = input<number | null>(null);\n\n /**\n * @property {InputSignal<boolean>} loading\n * @description\n * Controls the loading state of the reload button, triggering a rotation animation.\n * @default false\n */\n loading = input<boolean>(false);\n\n /**\n * @property {OutputEmitter<void>} reload\n * @description\n * Emits an event when the reload button is clicked or the automatic interval is reached.\n */\n reload = output<void>();\n\n /**\n * @method constructor\n * @description\n * Initializes the automatic reload logic using a declarative RxJS approach.\n */\n constructor() {\n combineLatest([\n toObservable(this.reloadInterval).pipe(distinctUntilChanged()),\n toObservable(this.loading).pipe(distinctUntilChanged()),\n ])\n .pipe(\n switchMap(([interval, isLoading]) => {\n if (isLoading || !interval || interval <= 0) {\n return EMPTY;\n }\n return timer(interval, interval);\n }),\n takeUntilDestroyed()\n )\n .subscribe(() => this.onReload());\n }\n\n /**\n * @method toggleSearchInput\n * @description\n * Toggles the visibility of the search input field.\n */\n toggleSearchInput(): void {\n this.showSearchInput.update(value => !value);\n this.searchModel.set('');\n }\n\n /**\n * @method toggleFilterSelect\n * @description\n * Toggles the visibility of the filter select dropdown.\n */\n toggleFilterSelect(): void {\n this.showFilterSelect.update(value => !value);\n this.filterModel.set(null);\n }\n\n /**\n * @method onSelectedOption\n * @description\n * Handles filter select changes and updates the filterModel signal.\n *\n * @param value - Selected option value from tk-select\n */\n onSelectedOption(value: Record<string, string> | null): void {\n this.filterModel.set(value);\n }\n\n /**\n * @method onReload\n * @description\n * Emits the reload event.\n */\n onReload(): void {\n this.reload.emit();\n }\n}\n","<div class=\"toolbar\">\n @if (showSearchInput() && searchVisible()) {\n <div class=\"toolbar__input-container\">\n <tk-input-text\n [label]=\"searchFloatLabel()\"\n icon=\"magnifying-glass\"\n [clearable]=\"true\"\n [value]=\"searchModel()\"\n (valueChange)=\"searchModel.set($event)\">\n </tk-input-text>\n </div>\n }\n @if (showFilterSelect() && filterVisible()) {\n <div class=\"toolbar__input-container\">\n <tk-select\n [options]=\"filterOptions()\"\n [optionLabel]=\"filterOptionLabel()\"\n [label]=\"filterFloatLabel()\"\n (modelChange)=\"onSelectedOption($event ?? null)\">\n </tk-select>\n </div>\n }\n <div class=\"toolbar__buttons\">\n @if (searchVisible()) {\n <tk-button\n [icon]=\"'magnifying-glass'\"\n severity=\"secondary\"\n [variant]=\"!showSearchInput() ? 'outlined' : undefined\"\n (clicked)=\"toggleSearchInput()\">\n </tk-button>\n }\n @if (filterVisible()) {\n <tk-button\n [icon]=\"'filter'\"\n severity=\"secondary\"\n [variant]=\"!showFilterSelect() ? 'outlined' : undefined\"\n (clicked)=\"toggleFilterSelect()\">\n </tk-button>\n }\n @if (reloadVisible()) {\n <tk-button\n class=\"toolbar__reload-btn\"\n [class.toolbar__reload-btn--animating]=\"\n reloadInterval() && reloadInterval()! > 0 && !loading()\n \"\n [class.toolbar__reload-btn--spinning]=\"loading()\"\n [style.--reload-interval]=\"(reloadInterval() ?? 0) + 'ms'\"\n [icon]=\"'arrows-rotate'\"\n severity=\"secondary\"\n variant=\"outlined\"\n (clicked)=\"onReload()\">\n </tk-button>\n }\n </div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import * as i0 from '@angular/core';
2
2
  import { input, ChangeDetectionStrategy, Component } from '@angular/core';
3
3
  import { ButtonComponent } from '@tekus/design-system/components/button';
4
4
  import { TagComponent } from '@tekus/design-system/components/tag';
5
+ import { BreadCrumpsComponent } from '@tekus/design-system/components/bread-crumps';
5
6
 
6
7
  /**
7
8
  * @component TopbarComponent
@@ -15,18 +16,24 @@ class TopbarComponent {
15
16
  this.title = input.required(...(ngDevMode ? [{ debugName: "title" }] : /* istanbul ignore next */ []));
16
17
  /** Optional list of actions displayed in the header. */
17
18
  this.actions = input(null, ...(ngDevMode ? [{ debugName: "actions" }] : /* istanbul ignore next */ []));
19
+ /** Whether to show breadcrumbs instead of a simple title. */
20
+ this.showBreadcrumbs = input(false, ...(ngDevMode ? [{ debugName: "showBreadcrumbs" }] : /* istanbul ignore next */ []));
21
+ /** Manual breadcrumb items. If not provided and showBreadcrumbs is true, it uses automatic routing. */
22
+ this.breadcrumbItems = input(null, ...(ngDevMode ? [{ debugName: "breadcrumbItems" }] : /* istanbul ignore next */ []));
23
+ /** Size of the breadcrumbs. Can be 'small' or 'large'. Default is 'large' for topbar. */
24
+ this.breadcrumbSize = input('large', ...(ngDevMode ? [{ debugName: "breadcrumbSize" }] : /* istanbul ignore next */ []));
18
25
  /** Optional list of tags displayed in the meta section. */
19
26
  this.tags = input(null, ...(ngDevMode ? [{ debugName: "tags" }] : /* istanbul ignore next */ []));
20
27
  /** Optional description displayed in the meta section. */
21
28
  this.description = input(null, ...(ngDevMode ? [{ debugName: "description" }] : /* istanbul ignore next */ []));
22
29
  }
23
30
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: TopbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
24
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.3", type: TopbarComponent, isStandalone: true, selector: "tk-topbar", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: true, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null }, tags: { classPropertyName: "tags", publicName: "tags", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"tk-topbar\">\n <div class=\"tk-topbar__header\">\n <h2 class=\"tk-topbar__title\">{{ title() }}</h2>\n\n @if (actions()?.length) {\n <div class=\"tk-topbar__actions\">\n @for (action of actions(); track $index) {\n @if (action.type === 'primary') {\n <tk-button\n [label]=\"action.label\"\n severity=\"primary\"\n [tooltipText]=\"action.tooltipText\"\n (clicked)=\"action.onClick()\">\n </tk-button>\n } @else {\n <tk-button\n [icon]=\"action.icon\"\n severity=\"secondary\"\n [tooltipText]=\"action.tooltipText\"\n (clicked)=\"action.onClick()\">\n </tk-button>\n }\n }\n </div>\n }\n </div>\n\n @if (tags()?.length || description()) {\n <div class=\"tk-topbar__meta\">\n @if (tags()?.length) {\n <div class=\"tk-topbar__tags\">\n @for (tag of tags(); track $index) {\n <tk-tag\n [value]=\"tag.label\"\n [severity]=\"tag.variant ?? 'secondary'\"></tk-tag>\n }\n </div>\n }\n @if (description()) {\n <p class=\"tk-topbar__description\">{{ description() }}</p>\n }\n </div>\n }\n</div>\n", styles: [".tk-topbar{display:flex;flex-direction:column;gap:var(--tk-spacing-gap-xs, .25rem);padding:var(--tk-spacing-padding-m, 1rem) var(--tk-spacing-padding-m, 1rem);background:var(--tk-color-background-soft, #f2f1f1);border-radius:var(--tk-borderRadius-s, .5rem)}.tk-topbar__header{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:var(--tk-spacing-gap-m, 1rem);width:100%}.tk-topbar__title{margin:0;flex:1 1 auto;min-width:12.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--tk-font-size-headers-l, 2rem);font-weight:var(--tk-font-weight-600, 600);color:var(--tk-color-text-default, #191a1b)}.tk-topbar__actions{display:flex;align-items:center;gap:var(--tk-spacing-gap-xs, .25rem);margin-left:auto}@media(max-width:768px){.tk-topbar__header{flex-wrap:wrap}.tk-topbar__actions{width:100%;margin-left:0}}.tk-topbar__meta{display:flex;align-items:center;gap:var(--tk-spacing-gap-m, 1rem);width:100%}.tk-topbar__tags{display:flex;align-items:center;gap:var(--tk-spacing-gap-xs, .25rem)}.tk-topbar__description{margin:0;font-size:var(--tk-font-size-paragraph-s, .875rem);font-weight:var(--tk-font-weight-400, 400);color:var(--tk-color-text-default, #191a1b)}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "tk-button", inputs: ["label", "disabled", "type", "severity", "variant", "link", "icon", "tooltipText", "size"], outputs: ["clicked"] }, { kind: "component", type: TagComponent, selector: "tk-tag", inputs: ["value", "severity", "truncationLimit"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
31
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.3", type: TopbarComponent, isStandalone: true, selector: "tk-topbar", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: true, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null }, showBreadcrumbs: { classPropertyName: "showBreadcrumbs", publicName: "showBreadcrumbs", isSignal: true, isRequired: false, transformFunction: null }, breadcrumbItems: { classPropertyName: "breadcrumbItems", publicName: "breadcrumbItems", isSignal: true, isRequired: false, transformFunction: null }, breadcrumbSize: { classPropertyName: "breadcrumbSize", publicName: "breadcrumbSize", isSignal: true, isRequired: false, transformFunction: null }, tags: { classPropertyName: "tags", publicName: "tags", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"tk-topbar\">\n <div class=\"tk-topbar__header\">\n @if (showBreadcrumbs()) {\n <tk-bread-crumps [items]=\"breadcrumbItems()\" [size]=\"breadcrumbSize()\"></tk-bread-crumps>\n } @else {\n <h2 class=\"tk-topbar__title\">{{ title() }}</h2>\n }\n\n @if (actions()?.length) {\n <div class=\"tk-topbar__actions\">\n @for (action of actions(); track $index) {\n @if (action.type === 'primary') {\n <tk-button\n [label]=\"action.label\"\n severity=\"primary\"\n [tooltipText]=\"action.tooltipText\"\n (clicked)=\"action.onClick()\">\n </tk-button>\n } @else {\n <tk-button\n [icon]=\"action.icon\"\n severity=\"secondary\"\n [tooltipText]=\"action.tooltipText\"\n (clicked)=\"action.onClick()\">\n </tk-button>\n }\n }\n </div>\n }\n </div>\n\n @if (tags()?.length || description()) {\n <div class=\"tk-topbar__meta\">\n @if (tags()?.length) {\n <div class=\"tk-topbar__tags\">\n @for (tag of tags(); track $index) {\n <tk-tag\n [value]=\"tag.label\"\n [severity]=\"tag.variant ?? 'secondary'\"></tk-tag>\n }\n </div>\n }\n @if (description()) {\n <p class=\"tk-topbar__description\">{{ description() }}</p>\n }\n </div>\n }\n</div>\n", styles: [".tk-topbar{display:flex;flex-direction:column;gap:var(--tk-spacing-gap-xs, .25rem);padding:var(--tk-spacing-padding-m, 1rem) var(--tk-spacing-padding-m, 1rem);background:var(--tk-color-background-soft, #f2f1f1);border-radius:var(--tk-borderRadius-s, .5rem)}.tk-topbar__header{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:var(--tk-spacing-gap-m, 1rem);width:100%}.tk-topbar__title{margin:0;flex:1 1 auto;min-width:12.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--tk-font-size-headers-l, 2rem);font-weight:var(--tk-font-weight-600, 600);color:var(--tk-color-text-default, #191a1b)}.tk-topbar__actions{display:flex;align-items:center;gap:var(--tk-spacing-gap-xs, .25rem);margin-left:auto}@media(max-width:768px){.tk-topbar__header{flex-wrap:wrap}.tk-topbar__actions{width:100%;margin-left:0}}.tk-topbar__meta{display:flex;align-items:center;gap:var(--tk-spacing-gap-m, 1rem);width:100%}.tk-topbar__tags{display:flex;align-items:center;gap:var(--tk-spacing-gap-xs, .25rem)}.tk-topbar__description{margin:0;font-size:var(--tk-font-size-paragraph-s, .875rem);font-weight:var(--tk-font-weight-400, 400);color:var(--tk-color-text-default, #191a1b)}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "tk-button", inputs: ["label", "disabled", "type", "severity", "variant", "link", "icon", "iconPosition", "tooltipText", "size"], outputs: ["clicked"] }, { kind: "component", type: TagComponent, selector: "tk-tag", inputs: ["value", "severity", "truncationLimit"] }, { kind: "component", type: BreadCrumpsComponent, selector: "tk-bread-crumps", inputs: ["items", "size", "onlyCurrent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
25
32
  }
26
33
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: TopbarComponent, decorators: [{
27
34
  type: Component,
28
- args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'tk-topbar', imports: [ButtonComponent, TagComponent], template: "<div class=\"tk-topbar\">\n <div class=\"tk-topbar__header\">\n <h2 class=\"tk-topbar__title\">{{ title() }}</h2>\n\n @if (actions()?.length) {\n <div class=\"tk-topbar__actions\">\n @for (action of actions(); track $index) {\n @if (action.type === 'primary') {\n <tk-button\n [label]=\"action.label\"\n severity=\"primary\"\n [tooltipText]=\"action.tooltipText\"\n (clicked)=\"action.onClick()\">\n </tk-button>\n } @else {\n <tk-button\n [icon]=\"action.icon\"\n severity=\"secondary\"\n [tooltipText]=\"action.tooltipText\"\n (clicked)=\"action.onClick()\">\n </tk-button>\n }\n }\n </div>\n }\n </div>\n\n @if (tags()?.length || description()) {\n <div class=\"tk-topbar__meta\">\n @if (tags()?.length) {\n <div class=\"tk-topbar__tags\">\n @for (tag of tags(); track $index) {\n <tk-tag\n [value]=\"tag.label\"\n [severity]=\"tag.variant ?? 'secondary'\"></tk-tag>\n }\n </div>\n }\n @if (description()) {\n <p class=\"tk-topbar__description\">{{ description() }}</p>\n }\n </div>\n }\n</div>\n", styles: [".tk-topbar{display:flex;flex-direction:column;gap:var(--tk-spacing-gap-xs, .25rem);padding:var(--tk-spacing-padding-m, 1rem) var(--tk-spacing-padding-m, 1rem);background:var(--tk-color-background-soft, #f2f1f1);border-radius:var(--tk-borderRadius-s, .5rem)}.tk-topbar__header{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:var(--tk-spacing-gap-m, 1rem);width:100%}.tk-topbar__title{margin:0;flex:1 1 auto;min-width:12.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--tk-font-size-headers-l, 2rem);font-weight:var(--tk-font-weight-600, 600);color:var(--tk-color-text-default, #191a1b)}.tk-topbar__actions{display:flex;align-items:center;gap:var(--tk-spacing-gap-xs, .25rem);margin-left:auto}@media(max-width:768px){.tk-topbar__header{flex-wrap:wrap}.tk-topbar__actions{width:100%;margin-left:0}}.tk-topbar__meta{display:flex;align-items:center;gap:var(--tk-spacing-gap-m, 1rem);width:100%}.tk-topbar__tags{display:flex;align-items:center;gap:var(--tk-spacing-gap-xs, .25rem)}.tk-topbar__description{margin:0;font-size:var(--tk-font-size-paragraph-s, .875rem);font-weight:var(--tk-font-weight-400, 400);color:var(--tk-color-text-default, #191a1b)}\n"] }]
29
- }], propDecorators: { title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: true }] }], actions: [{ type: i0.Input, args: [{ isSignal: true, alias: "actions", required: false }] }], tags: [{ type: i0.Input, args: [{ isSignal: true, alias: "tags", required: false }] }], description: [{ type: i0.Input, args: [{ isSignal: true, alias: "description", required: false }] }] } });
35
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'tk-topbar', imports: [ButtonComponent, TagComponent, BreadCrumpsComponent], template: "<div class=\"tk-topbar\">\n <div class=\"tk-topbar__header\">\n @if (showBreadcrumbs()) {\n <tk-bread-crumps [items]=\"breadcrumbItems()\" [size]=\"breadcrumbSize()\"></tk-bread-crumps>\n } @else {\n <h2 class=\"tk-topbar__title\">{{ title() }}</h2>\n }\n\n @if (actions()?.length) {\n <div class=\"tk-topbar__actions\">\n @for (action of actions(); track $index) {\n @if (action.type === 'primary') {\n <tk-button\n [label]=\"action.label\"\n severity=\"primary\"\n [tooltipText]=\"action.tooltipText\"\n (clicked)=\"action.onClick()\">\n </tk-button>\n } @else {\n <tk-button\n [icon]=\"action.icon\"\n severity=\"secondary\"\n [tooltipText]=\"action.tooltipText\"\n (clicked)=\"action.onClick()\">\n </tk-button>\n }\n }\n </div>\n }\n </div>\n\n @if (tags()?.length || description()) {\n <div class=\"tk-topbar__meta\">\n @if (tags()?.length) {\n <div class=\"tk-topbar__tags\">\n @for (tag of tags(); track $index) {\n <tk-tag\n [value]=\"tag.label\"\n [severity]=\"tag.variant ?? 'secondary'\"></tk-tag>\n }\n </div>\n }\n @if (description()) {\n <p class=\"tk-topbar__description\">{{ description() }}</p>\n }\n </div>\n }\n</div>\n", styles: [".tk-topbar{display:flex;flex-direction:column;gap:var(--tk-spacing-gap-xs, .25rem);padding:var(--tk-spacing-padding-m, 1rem) var(--tk-spacing-padding-m, 1rem);background:var(--tk-color-background-soft, #f2f1f1);border-radius:var(--tk-borderRadius-s, .5rem)}.tk-topbar__header{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:var(--tk-spacing-gap-m, 1rem);width:100%}.tk-topbar__title{margin:0;flex:1 1 auto;min-width:12.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--tk-font-size-headers-l, 2rem);font-weight:var(--tk-font-weight-600, 600);color:var(--tk-color-text-default, #191a1b)}.tk-topbar__actions{display:flex;align-items:center;gap:var(--tk-spacing-gap-xs, .25rem);margin-left:auto}@media(max-width:768px){.tk-topbar__header{flex-wrap:wrap}.tk-topbar__actions{width:100%;margin-left:0}}.tk-topbar__meta{display:flex;align-items:center;gap:var(--tk-spacing-gap-m, 1rem);width:100%}.tk-topbar__tags{display:flex;align-items:center;gap:var(--tk-spacing-gap-xs, .25rem)}.tk-topbar__description{margin:0;font-size:var(--tk-font-size-paragraph-s, .875rem);font-weight:var(--tk-font-weight-400, 400);color:var(--tk-color-text-default, #191a1b)}\n"] }]
36
+ }], propDecorators: { title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: true }] }], actions: [{ type: i0.Input, args: [{ isSignal: true, alias: "actions", required: false }] }], showBreadcrumbs: [{ type: i0.Input, args: [{ isSignal: true, alias: "showBreadcrumbs", required: false }] }], breadcrumbItems: [{ type: i0.Input, args: [{ isSignal: true, alias: "breadcrumbItems", required: false }] }], breadcrumbSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "breadcrumbSize", required: false }] }], tags: [{ type: i0.Input, args: [{ isSignal: true, alias: "tags", required: false }] }], description: [{ type: i0.Input, args: [{ isSignal: true, alias: "description", required: false }] }] } });
30
37
 
31
38
  /**
32
39
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"tekus-design-system-components-topbar.mjs","sources":["../../../projects/design-system/components/topbar/src/topbar.component.ts","../../../projects/design-system/components/topbar/src/topbar.component.html","../../../projects/design-system/components/topbar/tekus-design-system-components-topbar.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport { ButtonComponent } from '@tekus/design-system/components/button';\nimport { TagComponent } from '@tekus/design-system/components/tag';\nimport { TopbarAction, TopbarTag } from './topbar.types';\n\n/**\n * @component TopbarComponent\n * @description\n * Layout component that renders a title with optional actions and metadata.\n * It composes `tk-button` and `tk-tag` and uses only design tokens for styles.\n */\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'tk-topbar',\n imports: [ButtonComponent, TagComponent],\n templateUrl: './topbar.component.html',\n styleUrl: './topbar.component.scss',\n})\nexport class TopbarComponent {\n /** Main title text for the topbar. */\n title = input.required<string>();\n\n /** Optional list of actions displayed in the header. */\n actions = input<TopbarAction[] | null>(null);\n\n /** Optional list of tags displayed in the meta section. */\n tags = input<TopbarTag[] | null>(null);\n\n /** Optional description displayed in the meta section. */\n description = input<string | null>(null);\n}\n","<div class=\"tk-topbar\">\n <div class=\"tk-topbar__header\">\n <h2 class=\"tk-topbar__title\">{{ title() }}</h2>\n\n @if (actions()?.length) {\n <div class=\"tk-topbar__actions\">\n @for (action of actions(); track $index) {\n @if (action.type === 'primary') {\n <tk-button\n [label]=\"action.label\"\n severity=\"primary\"\n [tooltipText]=\"action.tooltipText\"\n (clicked)=\"action.onClick()\">\n </tk-button>\n } @else {\n <tk-button\n [icon]=\"action.icon\"\n severity=\"secondary\"\n [tooltipText]=\"action.tooltipText\"\n (clicked)=\"action.onClick()\">\n </tk-button>\n }\n }\n </div>\n }\n </div>\n\n @if (tags()?.length || description()) {\n <div class=\"tk-topbar__meta\">\n @if (tags()?.length) {\n <div class=\"tk-topbar__tags\">\n @for (tag of tags(); track $index) {\n <tk-tag\n [value]=\"tag.label\"\n [severity]=\"tag.variant ?? 'secondary'\"></tk-tag>\n }\n </div>\n }\n @if (description()) {\n <p class=\"tk-topbar__description\">{{ description() }}</p>\n }\n </div>\n }\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;AAKA;;;;;AAKG;MAQU,eAAe,CAAA;AAP5B,IAAA,WAAA,GAAA;;AASE,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAC,QAAQ,2EAAU;;AAGhC,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAwB,IAAI,8EAAC;;AAG5C,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAqB,IAAI,2EAAC;;AAGtC,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CAAgB,IAAI,kFAAC;AACzC,IAAA;8GAZY,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EClB5B,mrCA4CA,EAAA,MAAA,EAAA,CAAA,+rCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,ED9BY,eAAe,iLAAE,YAAY,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,UAAA,EAAA,iBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAI5B,eAAe,EAAA,UAAA,EAAA,CAAA;kBAP3B,SAAS;sCACS,uBAAuB,CAAC,MAAM,EAAA,QAAA,EACrC,WAAW,WACZ,CAAC,eAAe,EAAE,YAAY,CAAC,EAAA,QAAA,EAAA,mrCAAA,EAAA,MAAA,EAAA,CAAA,+rCAAA,CAAA,EAAA;;;AEd1C;;AAEG;;;;"}
1
+ {"version":3,"file":"tekus-design-system-components-topbar.mjs","sources":["../../../projects/design-system/components/topbar/src/topbar.component.ts","../../../projects/design-system/components/topbar/src/topbar.component.html","../../../projects/design-system/components/topbar/tekus-design-system-components-topbar.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport { ButtonComponent } from '@tekus/design-system/components/button';\nimport { TagComponent } from '@tekus/design-system/components/tag';\nimport { BreadCrumpsComponent, BreadCrumpItem } from '@tekus/design-system/components/bread-crumps';\nimport { TopbarAction, TopbarTag } from './topbar.types';\n\n/**\n * @component TopbarComponent\n * @description\n * Layout component that renders a title with optional actions and metadata.\n * It composes `tk-button` and `tk-tag` and uses only design tokens for styles.\n */\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'tk-topbar',\n imports: [ButtonComponent, TagComponent, BreadCrumpsComponent],\n templateUrl: './topbar.component.html',\n styleUrl: './topbar.component.scss',\n})\nexport class TopbarComponent {\n /** Main title text for the topbar. */\n title = input.required<string>();\n\n /** Optional list of actions displayed in the header. */\n actions = input<TopbarAction[] | null>(null);\n \n /** Whether to show breadcrumbs instead of a simple title. */\n showBreadcrumbs = input<boolean>(false);\n\n /** Manual breadcrumb items. If not provided and showBreadcrumbs is true, it uses automatic routing. */\n breadcrumbItems = input<BreadCrumpItem[] | null>(null);\n\n /** Size of the breadcrumbs. Can be 'small' or 'large'. Default is 'large' for topbar. */\n breadcrumbSize = input<'small' | 'large'>('large');\n\n /** Optional list of tags displayed in the meta section. */\n tags = input<TopbarTag[] | null>(null);\n\n /** Optional description displayed in the meta section. */\n description = input<string | null>(null);\n}\n","<div class=\"tk-topbar\">\n <div class=\"tk-topbar__header\">\n @if (showBreadcrumbs()) {\n <tk-bread-crumps [items]=\"breadcrumbItems()\" [size]=\"breadcrumbSize()\"></tk-bread-crumps>\n } @else {\n <h2 class=\"tk-topbar__title\">{{ title() }}</h2>\n }\n\n @if (actions()?.length) {\n <div class=\"tk-topbar__actions\">\n @for (action of actions(); track $index) {\n @if (action.type === 'primary') {\n <tk-button\n [label]=\"action.label\"\n severity=\"primary\"\n [tooltipText]=\"action.tooltipText\"\n (clicked)=\"action.onClick()\">\n </tk-button>\n } @else {\n <tk-button\n [icon]=\"action.icon\"\n severity=\"secondary\"\n [tooltipText]=\"action.tooltipText\"\n (clicked)=\"action.onClick()\">\n </tk-button>\n }\n }\n </div>\n }\n </div>\n\n @if (tags()?.length || description()) {\n <div class=\"tk-topbar__meta\">\n @if (tags()?.length) {\n <div class=\"tk-topbar__tags\">\n @for (tag of tags(); track $index) {\n <tk-tag\n [value]=\"tag.label\"\n [severity]=\"tag.variant ?? 'secondary'\"></tk-tag>\n }\n </div>\n }\n @if (description()) {\n <p class=\"tk-topbar__description\">{{ description() }}</p>\n }\n </div>\n }\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;AAMA;;;;;AAKG;MAQU,eAAe,CAAA;AAP5B,IAAA,WAAA,GAAA;;AASE,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAC,QAAQ,2EAAU;;AAGhC,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAwB,IAAI,8EAAC;;AAG5C,QAAA,IAAA,CAAA,eAAe,GAAG,KAAK,CAAU,KAAK,sFAAC;;AAGvC,QAAA,IAAA,CAAA,eAAe,GAAG,KAAK,CAA0B,IAAI,sFAAC;;AAGtD,QAAA,IAAA,CAAA,cAAc,GAAG,KAAK,CAAoB,OAAO,qFAAC;;AAGlD,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAqB,IAAI,2EAAC;;AAGtC,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CAAgB,IAAI,kFAAC;AACzC,IAAA;8GArBY,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,ogCCnB5B,+0CAgDA,EAAA,MAAA,EAAA,CAAA,+rCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDjCY,eAAe,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,UAAA,EAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,MAAA,EAAA,MAAA,EAAA,cAAA,EAAA,aAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,YAAY,qGAAE,oBAAoB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,aAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAIlD,eAAe,EAAA,UAAA,EAAA,CAAA;kBAP3B,SAAS;sCACS,uBAAuB,CAAC,MAAM,EAAA,QAAA,EACrC,WAAW,EAAA,OAAA,EACZ,CAAC,eAAe,EAAE,YAAY,EAAE,oBAAoB,CAAC,EAAA,QAAA,EAAA,+0CAAA,EAAA,MAAA,EAAA,CAAA,+rCAAA,CAAA,EAAA;;;AEfhE;;AAEG;;;;"}
@@ -174,21 +174,40 @@ const tkOverrides = {
174
174
  message: {
175
175
  text: {
176
176
  fontWeight: '400',
177
+ fontSize: 'var(--tk-font-size-paragraph-s)',
177
178
  },
178
179
  colorScheme: {
179
180
  light: {
181
+ info: {
182
+ background: 'var(--tk-color-feedback-info-muted)',
183
+ borderColor: 'var(--tk-color-feedback-info-default)',
184
+ color: 'var(--tk-color-feedback-info-strong)',
185
+ shadow: 'none',
186
+ },
187
+ success: {
188
+ background: 'var(--tk-color-feedback-success-muted)',
189
+ borderColor: 'var(--tk-color-feedback-success-default)',
190
+ color: 'var(--tk-color-feedback-success-strong)',
191
+ shadow: 'none',
192
+ },
193
+ warn: {
194
+ background: 'var(--tk-color-feedback-warn-muted)',
195
+ borderColor: 'var(--tk-color-feedback-warn-default)',
196
+ color: 'var(--tk-color-feedback-warn-strong)',
197
+ shadow: 'none',
198
+ },
180
199
  error: {
181
- color: 'var(--tk-color-base-red-700)',
182
- simple: {
183
- color: 'var(--tk-color-base-red-700)',
184
- }
200
+ background: 'var(--tk-color-feedback-danger-muted)',
201
+ borderColor: 'var(--tk-color-feedback-danger-default)',
202
+ color: 'var(--tk-color-feedback-danger-strong)',
203
+ shadow: 'none',
185
204
  },
186
205
  secondary: {
187
206
  color: 'var(--tk-color-base-surface-600)',
188
207
  simple: {
189
208
  color: 'var(--tk-color-base-surface-600)',
190
- }
191
- }
209
+ },
210
+ },
192
211
  },
193
212
  },
194
213
  },
@@ -336,6 +355,17 @@ const tkOverrides = {
336
355
  borderColor: 'var(--tk-color-base-surface-100)',
337
356
  },
338
357
  },
358
+ popover: {
359
+ root: {
360
+ background: 'var(--tk-color-base-surface-0)',
361
+ borderColor: 'var(--tk-color-base-surface-200)',
362
+ borderRadius: 'var(--tk-borderRadius-s)',
363
+ shadow: '0 4px 12px rgba(0, 0, 0, 0.08)',
364
+ },
365
+ content: {
366
+ padding: '0',
367
+ },
368
+ },
339
369
  panelMenu: {
340
370
  root: {
341
371
  background: 'transparent',
@@ -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/src/interception/dialog-ref.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 '@primeuix/themes';\nimport type { Preset } from '@primeuix/themes/types';\nimport Aura from '@primeuix/themes/aura';\n\nconst tkOverrides = {\n semantic: {\n primary: {\n 50: 'var(--tk-color-base-primary-50)',\n 100: 'var(--tk-color-base-primary-100)',\n 200: 'var(--tk-color-base-primary-200)',\n 300: 'var(--tk-color-base-primary-300)',\n 400: 'var(--tk-color-base-primary-400)',\n 500: 'var(--tk-color-base-primary-500)',\n 600: 'var(--tk-color-base-primary-600)',\n 700: 'var(--tk-color-base-primary-700)',\n 800: 'var(--tk-color-base-primary-800)',\n 900: 'var(--tk-color-base-primary-900)',\n 950: 'var(--tk-color-base-primary-950)',\n },\n red: {\n 50: 'var(--tk-color-base-red-50)',\n 100: 'var(--tk-color-base-red-100)',\n 200: 'var(--tk-color-base-red-200)',\n 300: 'var(--tk-color-base-red-300)',\n 400: 'var(--tk-color-base-red-400)',\n 500: 'var(--tk-color-base-red-500)',\n 600: 'var(--tk-color-base-red-600)',\n 700: 'var(--tk-color-base-red-700)',\n 800: 'var(--tk-color-base-red-800)',\n 900: 'var(--tk-color-base-red-900)',\n 950: 'var(--tk-color-base-red-950)',\n },\n surface: {\n 0: 'var(--tk-color-base-surface-0)',\n 50: 'var(--tk-color-base-surface-50)',\n 100: 'var(--tk-color-base-surface-100)',\n 200: 'var(--tk-color-base-surface-200)',\n 300: 'var(--tk-color-base-surface-300)',\n 400: 'var(--tk-color-base-surface-400)',\n 500: 'var(--tk-color-base-surface-500)',\n 600: 'var(--tk-color-base-surface-600)',\n 700: 'var(--tk-color-base-surface-700)',\n 800: 'var(--tk-color-base-surface-800)',\n 900: 'var(--tk-color-base-surface-900)',\n 950: 'var(--tk-color-base-surface-950)',\n },\n sky:{\n 50: 'var(--tk-color-base-sky-50)',\n 100: 'var(--tk-color-base-sky-100)',\n 200: 'var(--tk-color-base-sky-200)',\n 300: 'var(--tk-color-base-sky-300)',\n 400: 'var(--tk-color-base-sky-400)',\n 500: 'var(--tk-color-base-sky-500)',\n 600: 'var(--tk-color-base-sky-600)',\n 700: 'var(--tk-color-base-sky-700)',\n 800: 'var(--tk-color-base-sky-800)',\n 900: 'var(--tk-color-base-sky-900)',\n 950: 'var(--tk-color-base-sky-950)',\n },\n orange:{\n 50: 'var(--tk-color-base-yellow-50)',\n 100: 'var(--tk-color-base-yellow-100)',\n 200: 'var(--tk-color-base-yellow-200)',\n 300: 'var(--tk-color-base-yellow-300)',\n 400: 'var(--tk-color-base-yellow-400)',\n 500: 'var(--tk-color-base-yellow-500)',\n 600: 'var(--tk-color-base-yellow-600)',\n 700: 'var(--tk-color-base-yellow-700)',\n 800: 'var(--tk-color-base-yellow-800)',\n 900: 'var(--tk-color-base-yellow-900)',\n 950: 'var(--tk-color-base-yellow-950)',\n },\n },\n font: {\n family: 'var(--tk-font-family)',\n },\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 root: {\n primary: {\n hoverBackground: 'var(--tk-color-base-primary-400)',\n activeBackground: 'var(--tk-color-base-primary-400)',\n hoverBorderColor: 'transparent',\n activeBorderColor: 'transparent',\n },\n secondary: {\n background: 'var(--tk-color-base-surface-100)',\n hoverBackground: 'var(--tk-color-base-surface-400)',\n },\n },\n text: {\n secondary: {\n hoverBackground: 'var(--tk-color-base-surface-200)',\n activeBackground: 'var(--tk-color-base-surface-200)',\n },\n },\n outlined: {\n secondary: {\n hoverBackground: 'var(--tk-color-base-surface-200)',\n activeBackground: 'var(--tk-color-base-surface-200)',\n borderColor: 'var(--tk-color-base-surface-200)',\n },\n },\n }\n },\n },\n tag: {\n root: {\n fontWeight: 'var(--tk-font-weight-400)',\n borderRadius: 'var(--tk-borderRadius-full)',\n },\n colorScheme: {\n light: {\n secondary:{\n color: 'var(--tk-color-base-surface-950)',\n }\n },\n },\n },\n message: {\n text: {\n fontWeight: '400',\n },\n colorScheme: {\n light: {\n error:{\n color: 'var(--tk-color-base-red-700)',\n simple: {\n color: 'var(--tk-color-base-red-700)',\n }\n },\n secondary:{\n color: 'var(--tk-color-base-surface-600)',\n simple: {\n color: 'var(--tk-color-base-surface-600)',\n }\n }\n },\n },\n },\n tooltip: {\n colorScheme: {\n light: {\n root: {\n background: 'var(--tk-color-base-surface-700)',\n }\n }\n }\n },\n checkbox: {\n colorScheme: {\n light: {\n root: {\n borderColor: 'var(--tk-color-base-surface-400)',\n checkedBackground: 'var(--tk-color-base-primary-500)',\n checkedBorderColor: 'var(--tk-color-base-primary-500)',\n checkedHoverBackground: 'var(--tk-color-base-primary-600)',\n checkedHoverBorderColor: 'var(--tk-color-base-primary-600)',\n disabledBackground: 'var(--tk-color-base-surface-100)',\n disabledBorderColor: 'var(--tk-color-base-surface-300)',\n checkedDisabledBorderColor: 'var(--tk-color-base-surface-300)',\n }\n }\n }\n },\n radiobutton: {\n colorScheme: {\n light: {\n root: {\n borderColor: 'var(--tk-color-base-surface-400)',\n checkedBackground: 'var(--tk-color-base-primary-500)',\n checkedBorderColor: 'var(--tk-color-base-primary-500)',\n checkedHoverBackground: 'var(--tk-color-base-primary-600)',\n checkedHoverBorderColor: 'var(--tk-color-base-primary-600)',\n disabledBackground: 'var(--tk-color-base-surface-100)',\n disabledBorderColor: 'var(--tk-color-base-surface-300)',\n checkedDisabledBackground: 'var(--tk-color-base-surface-100)',\n checkedDisabledBorderColor: 'var(--tk-color-base-surface-300)',\n }\n }\n }\n },\n panel: {\n root: {\n background: 'var(--tk-color-background-soft)',\n borderRadius: 'var(--tk-borderRadius-s)',\n borderColor: 'var(--tk-color-transparent)',\n },\n header: {\n background: 'transparent',\n color: 'var(--tk-color-text-default)',\n borderColor: 'var(--tk-color-transparent)',\n borderWidth: '0',\n padding: 'var(--tk-spacing-padding-m)',\n fontWeight: 'var(--tk-font-weight-600)',\n fontSize: 'var(--tk-font-size-paragraph-m)',\n },\n toggleableHeader: {\n padding: 'var(--tk-spacing-padding-s) var(--tk-spacing-padding-m)',\n },\n content: {\n padding: 'var(--tk-spacing-padding-l)',\n },\n },\n drawer: {\n header: {\n padding: 'var(--tk-spacing-padding-m)',\n },\n content: {\n padding: 'var(--tk-spacing-padding-m)',\n },\n },\n toast: {\n info: {\n background: 'var(--tk-color-base-sky-100)',\n borderColor: 'var(--tk-color-base-sky-500)',\n color: 'var(--tk-color-base-sky-700)',\n detailColor: 'var(--tk-color-base-surface-700)',\n closeButton: {\n hoverBackground: 'var(--tk-color-base-sky-100)',\n focusRing: {\n color: 'var(--tk-color-base-sky-600)',\n shadow: 'none'\n }\n }\n },\n success: {\n background: 'var(--tk-color-base-green-100)',\n borderColor: 'var(--tk-color-base-green-500)',\n color: 'var(--tk-color-base-green-700)',\n detailColor: 'var(--tk-color-base-surface-700)',\n closeButton: {\n hoverBackground: 'var(--tk-color-base-green-100)',\n focusRing: {\n color: 'var(--tk-color-base-green-600)',\n shadow: 'none'\n }\n }\n },\n error: {\n background: 'var(--tk-color-base-red-100)',\n borderColor: 'var(--tk-color-base-red-500)',\n color: 'var(--tk-color-base-red-700)',\n detailColor: 'var(--tk-color-base-surface-700)',\n closeButton: {\n hoverBackground: 'var(--tk-color-base-red-100)',\n focusRing: {\n color: 'var(--tk-color-base-red-600)',\n shadow: 'none'\n }\n }\n }\n },\n menu: {\n root: {\n background: 'transparent',\n borderColor: 'transparent',\n borderRadius: 'var(--tk-borderRadius-s)',\n padding: 'var(--tk-spacing-base-50)',\n color: 'var(--tk-color-base-surface-950)',\n },\n list: {\n padding: '0',\n gap: 'var(--tk-spacing-base-25)',\n },\n item: {\n focusBackground: 'transparent',\n activeBackground: 'transparent',\n hoverBackground: 'transparent',\n padding: 'var(--tk-spacing-base-75) var(--tk-spacing-base-100)',\n borderRadius: 'var(--tk-borderRadius-s)',\n gap: 'var(--tk-spacing-base-75)',\n color: 'var(--tk-color-base-surface-950)',\n },\n submenuLabel: {\n padding: 'var(--tk-spacing-base-100) var(--tk-spacing-base-50) var(--tk-spacing-base-50)',\n fontWeight: 'var(--tk-font-weight-600)',\n color: 'var(--tk-color-base-surface-950)',\n },\n separator: {\n margin: 'var(--tk-spacing-base-75) 0',\n borderColor: 'var(--tk-color-base-surface-100)',\n },\n },\n panelMenu: {\n root: {\n background: 'transparent',\n borderColor: 'transparent',\n gap: 'var(--tk-spacing-base-50)',\n },\n panel: {\n background: 'transparent',\n borderColor: 'transparent',\n borderWidth: '0',\n padding: '0',\n borderRadius: 'var(--tk-borderRadius-s)',\n first: { borderWidth: '0' },\n last: { borderWidth: '0' },\n },\n item: {\n focusBackground: 'transparent',\n activeBackground: 'transparent',\n hoverBackground: 'transparent',\n padding: '0',\n gap: '0',\n borderRadius: 'var(--tk-borderRadius-s)',\n },\n submenu: {\n indent: '0',\n },\n submenuIcon: {\n color: 'transparent',\n focusColor: 'transparent',\n },\n },\n },\n};\n\nexport const TkPreset: Preset = definePreset(Aura, tkOverrides as Preset);\n","import { inject, provideAppInitializer, DOCUMENT } from '@angular/core';\n\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 darkModeSelector: false\n },\n });\n\n // Ensure PrimeNG overlays appear above Material Dialogs (Z-Index 1000)\n config.zIndex.modal = 1100;\n config.zIndex.overlay = 12000;\n config.zIndex.menu = 1100;\n config.zIndex.tooltip = 1100;\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","import { ComponentRef, signal, Injectable } from '@angular/core';\nimport { Subject, PartialObserver, Subscription } from 'rxjs';\n\n/**\n * Reference to a dialog/drawer opened via a service.\n * Supports both Observable-style subscription and Signal-based state.\n */\n@Injectable()\nexport class TkDialogRef<T, R = unknown> {\n private readonly closedSubject = new Subject<R | undefined>();\n private readonly resultSignal = signal<R | undefined>(undefined);\n private readonly isClosedSignal = signal<boolean>(false);\n\n /**\n * Signal that holds the result of the dialog after it closes.\n */\n readonly result = this.resultSignal.asReadonly();\n\n /**\n * Signal that indicates if the dialog has been closed.\n */\n readonly isClosed = this.isClosedSignal.asReadonly();\n\n // eslint-disable-next-line @angular-eslint/prefer-inject\n constructor(public readonly componentRef: ComponentRef<T>) {}\n\n /**\n * The instance of the component opened in the dialog.\n */\n get componentInstance(): T {\n return this.componentRef.instance;\n }\n\n /**\n * Closes the dialog, optionally passing a result back.\n * Internal implementation calls the component's tryClose to respect guards.\n */\n close(result?: R): void {\n const instance = this.componentRef.instance as unknown as {\n tryClose?: (result?: R) => void;\n };\n if (instance && typeof instance.tryClose === 'function') {\n instance.tryClose(result);\n }\n }\n\n /**\n * Subscribes to the closure event.\n * This maintains compatibility with existing service.open(...).subscribe() patterns\n * using the modern RxJS signature.\n */\n subscribe(\n nextOrObserver?:\n | ((value: R | undefined) => void)\n | PartialObserver<R | undefined>\n ): Subscription {\n if (typeof nextOrObserver === 'function') {\n return this.closedSubject.subscribe({ next: nextOrObserver });\n }\n return this.closedSubject.subscribe(nextOrObserver);\n }\n\n /**\n * Supports RxJS operators on the closure event.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n pipe(...args: any[]): any {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (this.closedSubject.pipe as any)(...args);\n }\n\n /**\n * Returns an Observable that emits when the dialog is closed.\n */\n afterClosed(): Subject<R | undefined> {\n return this.closedSubject;\n }\n\n /**\n * Internal method to emit the result and update reactive state.\n * Not intended for public use outside the opening service.\n */\n emitClose(result?: R): void {\n if (this.isClosedSignal()) {\n return;\n }\n this.resultSignal.set(result === null ? undefined : result);\n this.isClosedSignal.set(true);\n this.closedSubject.next(result === null ? undefined : result);\n this.closedSubject.complete();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
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/src/interception/dialog-ref.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 '@primeuix/themes';\nimport type { Preset } from '@primeuix/themes/types';\nimport Aura from '@primeuix/themes/aura';\n\nconst tkOverrides = {\n semantic: {\n primary: {\n 50: 'var(--tk-color-base-primary-50)',\n 100: 'var(--tk-color-base-primary-100)',\n 200: 'var(--tk-color-base-primary-200)',\n 300: 'var(--tk-color-base-primary-300)',\n 400: 'var(--tk-color-base-primary-400)',\n 500: 'var(--tk-color-base-primary-500)',\n 600: 'var(--tk-color-base-primary-600)',\n 700: 'var(--tk-color-base-primary-700)',\n 800: 'var(--tk-color-base-primary-800)',\n 900: 'var(--tk-color-base-primary-900)',\n 950: 'var(--tk-color-base-primary-950)',\n },\n red: {\n 50: 'var(--tk-color-base-red-50)',\n 100: 'var(--tk-color-base-red-100)',\n 200: 'var(--tk-color-base-red-200)',\n 300: 'var(--tk-color-base-red-300)',\n 400: 'var(--tk-color-base-red-400)',\n 500: 'var(--tk-color-base-red-500)',\n 600: 'var(--tk-color-base-red-600)',\n 700: 'var(--tk-color-base-red-700)',\n 800: 'var(--tk-color-base-red-800)',\n 900: 'var(--tk-color-base-red-900)',\n 950: 'var(--tk-color-base-red-950)',\n },\n surface: {\n 0: 'var(--tk-color-base-surface-0)',\n 50: 'var(--tk-color-base-surface-50)',\n 100: 'var(--tk-color-base-surface-100)',\n 200: 'var(--tk-color-base-surface-200)',\n 300: 'var(--tk-color-base-surface-300)',\n 400: 'var(--tk-color-base-surface-400)',\n 500: 'var(--tk-color-base-surface-500)',\n 600: 'var(--tk-color-base-surface-600)',\n 700: 'var(--tk-color-base-surface-700)',\n 800: 'var(--tk-color-base-surface-800)',\n 900: 'var(--tk-color-base-surface-900)',\n 950: 'var(--tk-color-base-surface-950)',\n },\n sky:{\n 50: 'var(--tk-color-base-sky-50)',\n 100: 'var(--tk-color-base-sky-100)',\n 200: 'var(--tk-color-base-sky-200)',\n 300: 'var(--tk-color-base-sky-300)',\n 400: 'var(--tk-color-base-sky-400)',\n 500: 'var(--tk-color-base-sky-500)',\n 600: 'var(--tk-color-base-sky-600)',\n 700: 'var(--tk-color-base-sky-700)',\n 800: 'var(--tk-color-base-sky-800)',\n 900: 'var(--tk-color-base-sky-900)',\n 950: 'var(--tk-color-base-sky-950)',\n },\n orange:{\n 50: 'var(--tk-color-base-yellow-50)',\n 100: 'var(--tk-color-base-yellow-100)',\n 200: 'var(--tk-color-base-yellow-200)',\n 300: 'var(--tk-color-base-yellow-300)',\n 400: 'var(--tk-color-base-yellow-400)',\n 500: 'var(--tk-color-base-yellow-500)',\n 600: 'var(--tk-color-base-yellow-600)',\n 700: 'var(--tk-color-base-yellow-700)',\n 800: 'var(--tk-color-base-yellow-800)',\n 900: 'var(--tk-color-base-yellow-900)',\n 950: 'var(--tk-color-base-yellow-950)',\n },\n },\n font: {\n family: 'var(--tk-font-family)',\n },\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 root: {\n primary: {\n hoverBackground: 'var(--tk-color-base-primary-400)',\n activeBackground: 'var(--tk-color-base-primary-400)',\n hoverBorderColor: 'transparent',\n activeBorderColor: 'transparent',\n },\n secondary: {\n background: 'var(--tk-color-base-surface-100)',\n hoverBackground: 'var(--tk-color-base-surface-400)',\n },\n },\n text: {\n secondary: {\n hoverBackground: 'var(--tk-color-base-surface-200)',\n activeBackground: 'var(--tk-color-base-surface-200)',\n },\n },\n outlined: {\n secondary: {\n hoverBackground: 'var(--tk-color-base-surface-200)',\n activeBackground: 'var(--tk-color-base-surface-200)',\n borderColor: 'var(--tk-color-base-surface-200)',\n },\n },\n }\n },\n },\n tag: {\n root: {\n fontWeight: 'var(--tk-font-weight-400)',\n borderRadius: 'var(--tk-borderRadius-full)',\n },\n colorScheme: {\n light: {\n secondary:{\n color: 'var(--tk-color-base-surface-950)',\n }\n },\n },\n },\n message: {\n text: {\n fontWeight: '400',\n fontSize: 'var(--tk-font-size-paragraph-s)',\n },\n colorScheme: {\n light: {\n info: {\n background: 'var(--tk-color-feedback-info-muted)',\n borderColor: 'var(--tk-color-feedback-info-default)',\n color: 'var(--tk-color-feedback-info-strong)',\n shadow: 'none',\n },\n success: {\n background: 'var(--tk-color-feedback-success-muted)',\n borderColor: 'var(--tk-color-feedback-success-default)',\n color: 'var(--tk-color-feedback-success-strong)',\n shadow: 'none',\n },\n warn: {\n background: 'var(--tk-color-feedback-warn-muted)',\n borderColor: 'var(--tk-color-feedback-warn-default)',\n color: 'var(--tk-color-feedback-warn-strong)',\n shadow: 'none',\n },\n error: {\n background: 'var(--tk-color-feedback-danger-muted)',\n borderColor: 'var(--tk-color-feedback-danger-default)',\n color: 'var(--tk-color-feedback-danger-strong)',\n shadow: 'none',\n },\n secondary: {\n color: 'var(--tk-color-base-surface-600)',\n simple: {\n color: 'var(--tk-color-base-surface-600)',\n },\n },\n },\n },\n },\n tooltip: {\n colorScheme: {\n light: {\n root: {\n background: 'var(--tk-color-base-surface-700)',\n }\n }\n }\n },\n checkbox: {\n colorScheme: {\n light: {\n root: {\n borderColor: 'var(--tk-color-base-surface-400)',\n checkedBackground: 'var(--tk-color-base-primary-500)',\n checkedBorderColor: 'var(--tk-color-base-primary-500)',\n checkedHoverBackground: 'var(--tk-color-base-primary-600)',\n checkedHoverBorderColor: 'var(--tk-color-base-primary-600)',\n disabledBackground: 'var(--tk-color-base-surface-100)',\n disabledBorderColor: 'var(--tk-color-base-surface-300)',\n checkedDisabledBorderColor: 'var(--tk-color-base-surface-300)',\n }\n }\n }\n },\n radiobutton: {\n colorScheme: {\n light: {\n root: {\n borderColor: 'var(--tk-color-base-surface-400)',\n checkedBackground: 'var(--tk-color-base-primary-500)',\n checkedBorderColor: 'var(--tk-color-base-primary-500)',\n checkedHoverBackground: 'var(--tk-color-base-primary-600)',\n checkedHoverBorderColor: 'var(--tk-color-base-primary-600)',\n disabledBackground: 'var(--tk-color-base-surface-100)',\n disabledBorderColor: 'var(--tk-color-base-surface-300)',\n checkedDisabledBackground: 'var(--tk-color-base-surface-100)',\n checkedDisabledBorderColor: 'var(--tk-color-base-surface-300)',\n }\n }\n }\n },\n panel: {\n root: {\n background: 'var(--tk-color-background-soft)',\n borderRadius: 'var(--tk-borderRadius-s)',\n borderColor: 'var(--tk-color-transparent)',\n },\n header: {\n background: 'transparent',\n color: 'var(--tk-color-text-default)',\n borderColor: 'var(--tk-color-transparent)',\n borderWidth: '0',\n padding: 'var(--tk-spacing-padding-m)',\n fontWeight: 'var(--tk-font-weight-600)',\n fontSize: 'var(--tk-font-size-paragraph-m)',\n },\n toggleableHeader: {\n padding: 'var(--tk-spacing-padding-s) var(--tk-spacing-padding-m)',\n },\n content: {\n padding: 'var(--tk-spacing-padding-l)',\n },\n },\n drawer: {\n header: {\n padding: 'var(--tk-spacing-padding-m)',\n },\n content: {\n padding: 'var(--tk-spacing-padding-m)',\n },\n },\n toast: {\n info: {\n background: 'var(--tk-color-base-sky-100)',\n borderColor: 'var(--tk-color-base-sky-500)',\n color: 'var(--tk-color-base-sky-700)',\n detailColor: 'var(--tk-color-base-surface-700)',\n closeButton: {\n hoverBackground: 'var(--tk-color-base-sky-100)',\n focusRing: {\n color: 'var(--tk-color-base-sky-600)',\n shadow: 'none'\n }\n }\n },\n success: {\n background: 'var(--tk-color-base-green-100)',\n borderColor: 'var(--tk-color-base-green-500)',\n color: 'var(--tk-color-base-green-700)',\n detailColor: 'var(--tk-color-base-surface-700)',\n closeButton: {\n hoverBackground: 'var(--tk-color-base-green-100)',\n focusRing: {\n color: 'var(--tk-color-base-green-600)',\n shadow: 'none'\n }\n }\n },\n error: {\n background: 'var(--tk-color-base-red-100)',\n borderColor: 'var(--tk-color-base-red-500)',\n color: 'var(--tk-color-base-red-700)',\n detailColor: 'var(--tk-color-base-surface-700)',\n closeButton: {\n hoverBackground: 'var(--tk-color-base-red-100)',\n focusRing: {\n color: 'var(--tk-color-base-red-600)',\n shadow: 'none'\n }\n }\n }\n },\n menu: {\n root: {\n background: 'transparent',\n borderColor: 'transparent',\n borderRadius: 'var(--tk-borderRadius-s)',\n padding: 'var(--tk-spacing-base-50)',\n color: 'var(--tk-color-base-surface-950)',\n },\n list: {\n padding: '0',\n gap: 'var(--tk-spacing-base-25)',\n },\n item: {\n focusBackground: 'transparent',\n activeBackground: 'transparent',\n hoverBackground: 'transparent',\n padding: 'var(--tk-spacing-base-75) var(--tk-spacing-base-100)',\n borderRadius: 'var(--tk-borderRadius-s)',\n gap: 'var(--tk-spacing-base-75)',\n color: 'var(--tk-color-base-surface-950)',\n },\n submenuLabel: {\n padding: 'var(--tk-spacing-base-100) var(--tk-spacing-base-50) var(--tk-spacing-base-50)',\n fontWeight: 'var(--tk-font-weight-600)',\n color: 'var(--tk-color-base-surface-950)',\n },\n separator: {\n margin: 'var(--tk-spacing-base-75) 0',\n borderColor: 'var(--tk-color-base-surface-100)',\n },\n },\n popover: {\n root: {\n background: 'var(--tk-color-base-surface-0)',\n borderColor: 'var(--tk-color-base-surface-200)',\n borderRadius: 'var(--tk-borderRadius-s)',\n shadow: '0 4px 12px rgba(0, 0, 0, 0.08)',\n },\n content: {\n padding: '0',\n },\n },\n panelMenu: {\n root: {\n background: 'transparent',\n borderColor: 'transparent',\n gap: 'var(--tk-spacing-base-50)',\n },\n panel: {\n background: 'transparent',\n borderColor: 'transparent',\n borderWidth: '0',\n padding: '0',\n borderRadius: 'var(--tk-borderRadius-s)',\n first: { borderWidth: '0' },\n last: { borderWidth: '0' },\n },\n item: {\n focusBackground: 'transparent',\n activeBackground: 'transparent',\n hoverBackground: 'transparent',\n padding: '0',\n gap: '0',\n borderRadius: 'var(--tk-borderRadius-s)',\n },\n submenu: {\n indent: '0',\n },\n submenuIcon: {\n color: 'transparent',\n focusColor: 'transparent',\n },\n },\n },\n};\n\nexport const TkPreset: Preset = definePreset(Aura, tkOverrides as Preset);\n","import { inject, provideAppInitializer, DOCUMENT } from '@angular/core';\n\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 darkModeSelector: false\n },\n });\n\n // Ensure PrimeNG overlays appear above Material Dialogs (Z-Index 1000)\n config.zIndex.modal = 1100;\n config.zIndex.overlay = 12000;\n config.zIndex.menu = 1100;\n config.zIndex.tooltip = 1100;\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","import { ComponentRef, signal, Injectable } from '@angular/core';\nimport { Subject, PartialObserver, Subscription } from 'rxjs';\n\n/**\n * Reference to a dialog/drawer opened via a service.\n * Supports both Observable-style subscription and Signal-based state.\n */\n@Injectable()\nexport class TkDialogRef<T, R = unknown> {\n private readonly closedSubject = new Subject<R | undefined>();\n private readonly resultSignal = signal<R | undefined>(undefined);\n private readonly isClosedSignal = signal<boolean>(false);\n\n /**\n * Signal that holds the result of the dialog after it closes.\n */\n readonly result = this.resultSignal.asReadonly();\n\n /**\n * Signal that indicates if the dialog has been closed.\n */\n readonly isClosed = this.isClosedSignal.asReadonly();\n\n // eslint-disable-next-line @angular-eslint/prefer-inject\n constructor(public readonly componentRef: ComponentRef<T>) {}\n\n /**\n * The instance of the component opened in the dialog.\n */\n get componentInstance(): T {\n return this.componentRef.instance;\n }\n\n /**\n * Closes the dialog, optionally passing a result back.\n * Internal implementation calls the component's tryClose to respect guards.\n */\n close(result?: R): void {\n const instance = this.componentRef.instance as unknown as {\n tryClose?: (result?: R) => void;\n };\n if (instance && typeof instance.tryClose === 'function') {\n instance.tryClose(result);\n }\n }\n\n /**\n * Subscribes to the closure event.\n * This maintains compatibility with existing service.open(...).subscribe() patterns\n * using the modern RxJS signature.\n */\n subscribe(\n nextOrObserver?:\n | ((value: R | undefined) => void)\n | PartialObserver<R | undefined>\n ): Subscription {\n if (typeof nextOrObserver === 'function') {\n return this.closedSubject.subscribe({ next: nextOrObserver });\n }\n return this.closedSubject.subscribe(nextOrObserver);\n }\n\n /**\n * Supports RxJS operators on the closure event.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n pipe(...args: any[]): any {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (this.closedSubject.pipe as any)(...args);\n }\n\n /**\n * Returns an Observable that emits when the dialog is closed.\n */\n afterClosed(): Subject<R | undefined> {\n return this.closedSubject;\n }\n\n /**\n * Internal method to emit the result and update reactive state.\n * Not intended for public use outside the opening service.\n */\n emitClose(result?: R): void {\n if (this.isClosedSignal()) {\n return;\n }\n this.resultSignal.set(result === null ? undefined : result);\n this.isClosedSignal.set(true);\n this.closedSubject.next(result === null ? undefined : result);\n this.closedSubject.complete();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -174,21 +174,40 @@ const tkOverrides = {
174
174
  message: {
175
175
  text: {
176
176
  fontWeight: '400',
177
+ fontSize: 'var(--tk-font-size-paragraph-s)',
177
178
  },
178
179
  colorScheme: {
179
180
  light: {
181
+ info: {
182
+ background: 'var(--tk-color-feedback-info-muted)',
183
+ borderColor: 'var(--tk-color-feedback-info-default)',
184
+ color: 'var(--tk-color-feedback-info-strong)',
185
+ shadow: 'none',
186
+ },
187
+ success: {
188
+ background: 'var(--tk-color-feedback-success-muted)',
189
+ borderColor: 'var(--tk-color-feedback-success-default)',
190
+ color: 'var(--tk-color-feedback-success-strong)',
191
+ shadow: 'none',
192
+ },
193
+ warn: {
194
+ background: 'var(--tk-color-feedback-warn-muted)',
195
+ borderColor: 'var(--tk-color-feedback-warn-default)',
196
+ color: 'var(--tk-color-feedback-warn-strong)',
197
+ shadow: 'none',
198
+ },
180
199
  error: {
181
- color: 'var(--tk-color-base-red-700)',
182
- simple: {
183
- color: 'var(--tk-color-base-red-700)',
184
- }
200
+ background: 'var(--tk-color-feedback-danger-muted)',
201
+ borderColor: 'var(--tk-color-feedback-danger-default)',
202
+ color: 'var(--tk-color-feedback-danger-strong)',
203
+ shadow: 'none',
185
204
  },
186
205
  secondary: {
187
206
  color: 'var(--tk-color-base-surface-600)',
188
207
  simple: {
189
208
  color: 'var(--tk-color-base-surface-600)',
190
- }
191
- }
209
+ },
210
+ },
192
211
  },
193
212
  },
194
213
  },
@@ -336,6 +355,17 @@ const tkOverrides = {
336
355
  borderColor: 'var(--tk-color-base-surface-100)',
337
356
  },
338
357
  },
358
+ popover: {
359
+ root: {
360
+ background: 'var(--tk-color-base-surface-0)',
361
+ borderColor: 'var(--tk-color-base-surface-200)',
362
+ borderRadius: 'var(--tk-borderRadius-s)',
363
+ shadow: '0 4px 12px rgba(0, 0, 0, 0.08)',
364
+ },
365
+ content: {
366
+ padding: '0',
367
+ },
368
+ },
339
369
  panelMenu: {
340
370
  root: {
341
371
  background: 'transparent',