@tekus/design-system 5.23.0 → 5.25.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 (71) hide show
  1. package/fesm2022/tekus-design-system-components-autocomplete.mjs +24 -17
  2. package/fesm2022/tekus-design-system-components-autocomplete.mjs.map +1 -1
  3. package/fesm2022/tekus-design-system-components-badge.mjs +3 -3
  4. package/fesm2022/tekus-design-system-components-badge.mjs.map +1 -1
  5. package/fesm2022/tekus-design-system-components-button.mjs +48 -31
  6. package/fesm2022/tekus-design-system-components-button.mjs.map +1 -1
  7. package/fesm2022/tekus-design-system-components-checkbox.mjs +13 -16
  8. package/fesm2022/tekus-design-system-components-checkbox.mjs.map +1 -1
  9. package/fesm2022/tekus-design-system-components-date-picker.mjs +61 -20
  10. package/fesm2022/tekus-design-system-components-date-picker.mjs.map +1 -1
  11. package/fesm2022/tekus-design-system-components-drawer.mjs +42 -26
  12. package/fesm2022/tekus-design-system-components-drawer.mjs.map +1 -1
  13. package/fesm2022/tekus-design-system-components-fallback-view.mjs +18 -38
  14. package/fesm2022/tekus-design-system-components-fallback-view.mjs.map +1 -1
  15. package/fesm2022/tekus-design-system-components-icon.mjs +11 -17
  16. package/fesm2022/tekus-design-system-components-icon.mjs.map +1 -1
  17. package/fesm2022/tekus-design-system-components-input-number.mjs +15 -14
  18. package/fesm2022/tekus-design-system-components-input-number.mjs.map +1 -1
  19. package/fesm2022/tekus-design-system-components-input-text.mjs +19 -21
  20. package/fesm2022/tekus-design-system-components-input-text.mjs.map +1 -1
  21. package/fesm2022/tekus-design-system-components-modal.mjs +40 -25
  22. package/fesm2022/tekus-design-system-components-modal.mjs.map +1 -1
  23. package/fesm2022/tekus-design-system-components-multiselect.mjs +3 -3
  24. package/fesm2022/tekus-design-system-components-multiselect.mjs.map +1 -1
  25. package/fesm2022/tekus-design-system-components-pagination.mjs +3 -3
  26. package/fesm2022/tekus-design-system-components-pagination.mjs.map +1 -1
  27. package/fesm2022/tekus-design-system-components-panel.mjs +21 -30
  28. package/fesm2022/tekus-design-system-components-panel.mjs.map +1 -1
  29. package/fesm2022/tekus-design-system-components-radio-button.mjs +14 -16
  30. package/fesm2022/tekus-design-system-components-radio-button.mjs.map +1 -1
  31. package/fesm2022/tekus-design-system-components-select.mjs +13 -11
  32. package/fesm2022/tekus-design-system-components-select.mjs.map +1 -1
  33. package/fesm2022/tekus-design-system-components-table.mjs +27 -23
  34. package/fesm2022/tekus-design-system-components-table.mjs.map +1 -1
  35. package/fesm2022/tekus-design-system-components-tabs.mjs +3 -3
  36. package/fesm2022/tekus-design-system-components-tabs.mjs.map +1 -1
  37. package/fesm2022/tekus-design-system-components-tag.mjs +3 -3
  38. package/fesm2022/tekus-design-system-components-tag.mjs.map +1 -1
  39. package/fesm2022/tekus-design-system-components-textarea.mjs +15 -14
  40. package/fesm2022/tekus-design-system-components-textarea.mjs.map +1 -1
  41. package/fesm2022/tekus-design-system-components-toolbar.mjs +3 -3
  42. package/fesm2022/tekus-design-system-components-toolbar.mjs.map +1 -1
  43. package/fesm2022/tekus-design-system-components-tooltip.mjs +3 -3
  44. package/fesm2022/tekus-design-system-components-tooltip.mjs.map +1 -1
  45. package/fesm2022/tekus-design-system-components-topbar.mjs +3 -3
  46. package/fesm2022/tekus-design-system-components-topbar.mjs.map +1 -1
  47. package/fesm2022/tekus-design-system-core-types.mjs +76 -2
  48. package/fesm2022/tekus-design-system-core-types.mjs.map +1 -1
  49. package/fesm2022/tekus-design-system-core.mjs +76 -2
  50. package/fesm2022/tekus-design-system-core.mjs.map +1 -1
  51. package/fesm2022/tekus-design-system-directives-gird-item.mjs +19 -24
  52. package/fesm2022/tekus-design-system-directives-gird-item.mjs.map +1 -1
  53. package/package.json +2 -2
  54. package/types/tekus-design-system-components-autocomplete.d.ts +10 -2
  55. package/types/tekus-design-system-components-button.d.ts +15 -19
  56. package/types/tekus-design-system-components-checkbox.d.ts +3 -8
  57. package/types/tekus-design-system-components-date-picker.d.ts +33 -7
  58. package/types/tekus-design-system-components-drawer.d.ts +14 -9
  59. package/types/tekus-design-system-components-fallback-view.d.ts +17 -18
  60. package/types/tekus-design-system-components-icon.d.ts +7 -16
  61. package/types/tekus-design-system-components-input-number.d.ts +3 -4
  62. package/types/tekus-design-system-components-input-text.d.ts +4 -10
  63. package/types/tekus-design-system-components-modal.d.ts +14 -12
  64. package/types/tekus-design-system-components-panel.d.ts +10 -18
  65. package/types/tekus-design-system-components-radio-button.d.ts +3 -7
  66. package/types/tekus-design-system-components-select.d.ts +14 -1
  67. package/types/tekus-design-system-components-table.d.ts +5 -5
  68. package/types/tekus-design-system-components-textarea.d.ts +3 -4
  69. package/types/tekus-design-system-core-types.d.ts +45 -1
  70. package/types/tekus-design-system-core.d.ts +45 -1
  71. package/types/tekus-design-system-directives-gird-item.d.ts +5 -5
@@ -1,7 +1,9 @@
1
- import { provideAppInitializer, inject, DOCUMENT } from '@angular/core';
1
+ import * as i0 from '@angular/core';
2
+ import { provideAppInitializer, inject, DOCUMENT, signal, Injectable } from '@angular/core';
2
3
  import { PrimeNG } from 'primeng/config';
3
4
  import { definePreset } from '@primeuix/themes';
4
5
  import Aura from '@primeuix/themes/aura';
6
+ import { Subject } from 'rxjs';
5
7
 
6
8
  var GapGutter;
7
9
  (function (GapGutter) {
@@ -288,6 +290,11 @@ function themeFactory(config, document) {
288
290
  darkModeSelector: false,
289
291
  },
290
292
  });
293
+ // Ensure PrimeNG overlays appear above Material Dialogs (Z-Index 1000)
294
+ config.zIndex.modal = 1100;
295
+ config.zIndex.overlay = 12000;
296
+ config.zIndex.menu = 1100;
297
+ config.zIndex.tooltip = 1100;
291
298
  };
292
299
  }
293
300
  function provideTkTheme() {
@@ -298,9 +305,76 @@ function provideTkTheme() {
298
305
  });
299
306
  }
300
307
 
308
+ /**
309
+ * Reference to a dialog/drawer opened via a service.
310
+ * Supports both Observable-style subscription and Signal-based state.
311
+ */
312
+ class TkDialogRef {
313
+ // eslint-disable-next-line @angular-eslint/prefer-inject
314
+ constructor(componentRef) {
315
+ this.componentRef = componentRef;
316
+ this.closedSubject = new Subject();
317
+ this.resultSignal = signal(undefined, ...(ngDevMode ? [{ debugName: "resultSignal" }] : /* istanbul ignore next */ []));
318
+ this.isClosedSignal = signal(false, ...(ngDevMode ? [{ debugName: "isClosedSignal" }] : /* istanbul ignore next */ []));
319
+ /**
320
+ * Signal that holds the result of the dialog after it closes.
321
+ */
322
+ this.result = this.resultSignal.asReadonly();
323
+ /**
324
+ * Signal that indicates if the dialog has been closed.
325
+ */
326
+ this.isClosed = this.isClosedSignal.asReadonly();
327
+ }
328
+ /**
329
+ * The instance of the component opened in the dialog.
330
+ */
331
+ get componentInstance() {
332
+ return this.componentRef.instance;
333
+ }
334
+ /**
335
+ * Closes the dialog, optionally passing a result back.
336
+ * Internal implementation calls the component's tryClose to respect guards.
337
+ */
338
+ close(result) {
339
+ const instance = this.componentRef.instance;
340
+ if (instance && typeof instance.tryClose === 'function') {
341
+ instance.tryClose(result);
342
+ }
343
+ }
344
+ /**
345
+ * Subscribes to the closure event.
346
+ * This maintains compatibility with existing service.open(...).subscribe() patterns
347
+ * using the modern RxJS signature.
348
+ */
349
+ subscribe(nextOrObserver) {
350
+ if (typeof nextOrObserver === 'function') {
351
+ return this.closedSubject.subscribe({ next: nextOrObserver });
352
+ }
353
+ return this.closedSubject.subscribe(nextOrObserver);
354
+ }
355
+ /**
356
+ * Internal method to emit the result and update reactive state.
357
+ * Not intended for public use outside the opening service.
358
+ */
359
+ emitClose(result) {
360
+ if (this.isClosedSignal()) {
361
+ return;
362
+ }
363
+ this.resultSignal.set(result === null ? undefined : result);
364
+ this.isClosedSignal.set(true);
365
+ this.closedSubject.next(result === null ? undefined : result);
366
+ this.closedSubject.complete();
367
+ }
368
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: TkDialogRef, deps: [{ token: i0.ComponentRef }], target: i0.ɵɵFactoryTarget.Injectable }); }
369
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: TkDialogRef }); }
370
+ }
371
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: TkDialogRef, decorators: [{
372
+ type: Injectable
373
+ }], ctorParameters: () => [{ type: i0.ComponentRef }] });
374
+
301
375
  /**
302
376
  * Generated bundle index. Do not edit.
303
377
  */
304
378
 
305
- export { Breakpoints, GapGutter, Gutter, PaddingGridContainer, TkPreset, provideTkTheme };
379
+ export { Breakpoints, GapGutter, Gutter, PaddingGridContainer, TkDialogRef, TkPreset, provideTkTheme };
306
380
  //# sourceMappingURL=tekus-design-system-core.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"tekus-design-system-core.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/tekus-design-system-core.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-paddingY-m)',\n fontWeight: 'var(--tk-font-weight-600)',\n fontSize: 'var(--tk-font-size-paragraph-m)',\n },\n toggleableHeader: {\n padding: 'var(--tk-spacing-paddingY-s) var(--tk-spacing-paddingX-m)',\n },\n content: {\n padding: 'var(--tk-spacing-paddingX-l)',\n },\n },\n drawer: {\n header: {\n padding: 'var(--tk-spacing-paddingX-m)',\n },\n content: {\n padding: 'var(--tk-spacing-paddingX-m)',\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}\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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"}
1
+ {"version":3,"file":"tekus-design-system-core.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/tekus-design-system-core.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-paddingY-m)',\n fontWeight: 'var(--tk-font-weight-600)',\n fontSize: 'var(--tk-font-size-paragraph-m)',\n },\n toggleableHeader: {\n padding: 'var(--tk-spacing-paddingY-s) var(--tk-spacing-paddingX-m)',\n },\n content: {\n padding: 'var(--tk-spacing-paddingX-l)',\n },\n },\n drawer: {\n header: {\n padding: 'var(--tk-spacing-paddingX-m)',\n },\n content: {\n padding: 'var(--tk-spacing-paddingX-m)',\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 * 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,6 +1,6 @@
1
1
  import { BreakpointObserver } from '@angular/cdk/layout';
2
2
  import * as i0 from '@angular/core';
3
- import { inject, computed, HostBinding, Input, Directive } from '@angular/core';
3
+ import { input, inject, computed, Directive } from '@angular/core';
4
4
  import { toSignal } from '@angular/core/rxjs-interop';
5
5
  import { Breakpoints } from '@tekus/design-system/core/types';
6
6
 
@@ -19,7 +19,7 @@ class GridItemDirective {
19
19
  * The final value will be adjusted based on the current breakpoint.
20
20
  * @default 1
21
21
  */
22
- this.span = 1;
22
+ this.span = input(1, ...(ngDevMode ? [{ debugName: "span" }] : /* istanbul ignore next */ []));
23
23
  /**
24
24
  * Injected service to observe changes in screen breakpoints.
25
25
  * @readonly
@@ -47,45 +47,40 @@ class GridItemDirective {
47
47
  this.finalSpan = computed(() => {
48
48
  const breakpoints = this.screenChange()?.breakpoints;
49
49
  if (!breakpoints)
50
- return this.span;
50
+ return this.span();
51
51
  if (breakpoints[Breakpoints.mobileSmall] || breakpoints[Breakpoints.mobile]) {
52
- return this.span > 2 ? 2 : this.span;
52
+ return this.span() > 2 ? 2 : this.span();
53
53
  }
54
54
  else if (breakpoints[Breakpoints.mobileLarge]) {
55
- return this.span > 3 ? 3 : this.span;
55
+ return this.span() > 3 ? 3 : this.span();
56
56
  }
57
57
  else if (breakpoints[Breakpoints.tabletVertical]) {
58
- return this.span > 4 ? 4 : this.span;
58
+ return this.span() > 4 ? 4 : this.span();
59
59
  }
60
60
  else if (breakpoints[Breakpoints.tabletHorizontal]) {
61
- return this.span > 8 ? 8 : this.span;
61
+ return this.span() > 8 ? 8 : this.span();
62
62
  }
63
- return this.span;
63
+ return this.span();
64
64
  }, ...(ngDevMode ? [{ debugName: "finalSpan" }] : /* istanbul ignore next */ []));
65
- }
66
- /**
67
- * Host Binding that applies the `finalSnap` value to the `grid-column` style of the host element.
68
- *
69
- * This causes the element to occupy the number of columns computed in the grid.
70
- */
71
- get columnSpan() {
72
- return `span ${this.finalSpan()}`;
65
+ /**
66
+ * Computed signal that applies the `finalSpan` value to the `grid-column` style of the host element.
67
+ *
68
+ * This causes the element to occupy the number of columns computed in the grid.
69
+ */
70
+ this.columnSpan = computed(() => `span ${this.finalSpan()}`, ...(ngDevMode ? [{ debugName: "columnSpan" }] : /* istanbul ignore next */ []));
73
71
  }
74
72
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: GridItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
75
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.3", type: GridItemDirective, isStandalone: true, selector: "[tkGridItem]", inputs: { span: "span" }, host: { properties: { "style.grid-column": "this.columnSpan" } }, ngImport: i0 }); }
73
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.3", type: GridItemDirective, isStandalone: true, selector: "[tkGridItem]", inputs: { span: { classPropertyName: "span", publicName: "span", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style.grid-column": "columnSpan()" } }, ngImport: i0 }); }
76
74
  }
77
75
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: GridItemDirective, decorators: [{
78
76
  type: Directive,
79
77
  args: [{
80
78
  selector: '[tkGridItem]',
81
- standalone: true
79
+ host: {
80
+ '[style.grid-column]': 'columnSpan()',
81
+ }
82
82
  }]
83
- }], propDecorators: { span: [{
84
- type: Input
85
- }], columnSpan: [{
86
- type: HostBinding,
87
- args: ['style.grid-column']
88
- }] } });
83
+ }], propDecorators: { span: [{ type: i0.Input, args: [{ isSignal: true, alias: "span", required: false }] }] } });
89
84
 
90
85
  /**
91
86
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"tekus-design-system-directives-gird-item.mjs","sources":["../../../projects/design-system/directives/gird-item/src/grid-item.directive.ts","../../../projects/design-system/directives/gird-item/tekus-design-system-directives-gird-item.ts"],"sourcesContent":["import { BreakpointObserver } from \"@angular/cdk/layout\";\nimport { computed, Directive, HostBinding, inject, Input } from \"@angular/core\";\nimport { toSignal } from \"@angular/core/rxjs-interop\";\nimport { Breakpoints } from \"@tekus/design-system/core/types\";\n/**\n * Directive that controls the number of columns covered by an item within a grid.\n *\n * Uses Angular CDK's `BreakpointObserver` to dynamically adjust the column's `span`\n * based on screen size, ensuring a responsive experience.\n * For best results use a [grid component as a parent container](?path=/docs/components-grids-grids-container--docs)\n * @selector [tkGridItem]\n */\n@Directive({\n selector: '[tkGridItem]',\n standalone: true\n})\nexport class GridItemDirective {\n /**\n * Defines how many columns this element will span.\n * The final value will be adjusted based on the current breakpoint.\n * @default 1\n */\n @Input() span: number = 1;\n\n /**\n * Injected service to observe changes in screen breakpoints.\n * @readonly\n */\n readonly breakpointObserver = inject(BreakpointObserver);\n\n /**\n * A signal that emits values each time a screen breakpoint changes.\n */\n readonly screenChange = toSignal(\n this.breakpointObserver.observe([\n Breakpoints.mobileSmall,\n Breakpoints.mobile,\n Breakpoints.mobileLarge,\n Breakpoints.tabletVertical,\n Breakpoints.tabletHorizontal,\n Breakpoints.desktopSmall,\n Breakpoints.desktop,\n Breakpoints.desktopLarge\n ])\n )\n\n /**\n * A computed signal that determines the final value of the column span.\n *\n * This value is adjusted (truncated) so as not to exceed the maximum number of columns\n * allowed at each breakpoint, ensuring that the layout does not break on small screens.\n */\n readonly finalSpan = computed(() => {\n const breakpoints = this.screenChange()?.breakpoints;\n if (!breakpoints) return this.span;\n\n if (breakpoints[Breakpoints.mobileSmall] || breakpoints[Breakpoints.mobile]) {\n return this.span > 2 ? 2 : this.span\n }\n\n else if (breakpoints[Breakpoints.mobileLarge]) {\n return this.span > 3 ? 3 : this.span\n }\n\n else if (breakpoints[Breakpoints.tabletVertical]) {\n return this.span > 4 ? 4 : this.span\n }\n\n else if (breakpoints[Breakpoints.tabletHorizontal]) {\n return this.span > 8 ? 8 : this.span\n }\n\n return this.span;\n\n })\n\n /**\n * Host Binding that applies the `finalSnap` value to the `grid-column` style of the host element.\n *\n * This causes the element to occupy the number of columns computed in the grid.\n */\n @HostBinding('style.grid-column')\n get columnSpan() {\n return `span ${this.finalSpan()}`;\n }\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;AAIA;;;;;;;AAOG;MAKU,iBAAiB,CAAA;AAJ9B,IAAA,WAAA,GAAA;AAKI;;;;AAIG;QACM,IAAA,CAAA,IAAI,GAAW,CAAC;AAEzB;;;AAGG;AACM,QAAA,IAAA,CAAA,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAExD;;AAEG;QACM,IAAA,CAAA,YAAY,GAAG,QAAQ,CAC5B,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC;AAC5B,YAAA,WAAW,CAAC,WAAW;AACvB,YAAA,WAAW,CAAC,MAAM;AAClB,YAAA,WAAW,CAAC,WAAW;AACvB,YAAA,WAAW,CAAC,cAAc;AAC1B,YAAA,WAAW,CAAC,gBAAgB;AAC5B,YAAA,WAAW,CAAC,YAAY;AACxB,YAAA,WAAW,CAAC,OAAO;AACnB,YAAA,WAAW,CAAC;AACf,SAAA,CAAC,CACL;AAED;;;;;AAKG;AACM,QAAA,IAAA,CAAA,SAAS,GAAG,QAAQ,CAAC,MAAK;YAC/B,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,EAAE,EAAE,WAAW;AACpD,YAAA,IAAI,CAAC,WAAW;gBAAE,OAAO,IAAI,CAAC,IAAI;AAElC,YAAA,IAAI,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE;AACzE,gBAAA,OAAO,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI;YACxC;AAEK,iBAAA,IAAI,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE;AAC3C,gBAAA,OAAO,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI;YACxC;AAEK,iBAAA,IAAI,WAAW,CAAC,WAAW,CAAC,cAAc,CAAC,EAAE;AAC9C,gBAAA,OAAO,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI;YACxC;AAEK,iBAAA,IAAI,WAAW,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE;AAChD,gBAAA,OAAO,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI;YACxC;YAEA,OAAO,IAAI,CAAC,IAAI;AAEpB,QAAA,CAAC,gFAAC;AAWL,IAAA;AATG;;;;AAIG;AACH,IAAA,IACI,UAAU,GAAA;AACV,QAAA,OAAO,QAAQ,IAAI,CAAC,SAAS,EAAE,EAAE;IACrC;8GApES,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,mBAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAJ7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,cAAc;AACxB,oBAAA,UAAU,EAAE;AACf,iBAAA;;sBAOI;;sBA2DA,WAAW;uBAAC,mBAAmB;;;ACjFpC;;AAEG;;;;"}
1
+ {"version":3,"file":"tekus-design-system-directives-gird-item.mjs","sources":["../../../projects/design-system/directives/gird-item/src/grid-item.directive.ts","../../../projects/design-system/directives/gird-item/tekus-design-system-directives-gird-item.ts"],"sourcesContent":["import { BreakpointObserver } from \"@angular/cdk/layout\";\nimport { computed, Directive, inject, input } from \"@angular/core\";\nimport { toSignal } from \"@angular/core/rxjs-interop\";\nimport { Breakpoints } from \"@tekus/design-system/core/types\";\n/**\n * Directive that controls the number of columns covered by an item within a grid.\n *\n * Uses Angular CDK's `BreakpointObserver` to dynamically adjust the column's `span`\n * based on screen size, ensuring a responsive experience.\n * For best results use a [grid component as a parent container](?path=/docs/components-grids-grids-container--docs)\n * @selector [tkGridItem]\n */\n@Directive({\n selector: '[tkGridItem]',\n host: {\n '[style.grid-column]': 'columnSpan()',\n }\n})\nexport class GridItemDirective {\n /**\n * Defines how many columns this element will span.\n * The final value will be adjusted based on the current breakpoint.\n * @default 1\n */\n span = input<number>(1);\n\n /**\n * Injected service to observe changes in screen breakpoints.\n * @readonly\n */\n readonly breakpointObserver = inject(BreakpointObserver);\n\n /**\n * A signal that emits values each time a screen breakpoint changes.\n */\n readonly screenChange = toSignal(\n this.breakpointObserver.observe([\n Breakpoints.mobileSmall,\n Breakpoints.mobile,\n Breakpoints.mobileLarge,\n Breakpoints.tabletVertical,\n Breakpoints.tabletHorizontal,\n Breakpoints.desktopSmall,\n Breakpoints.desktop,\n Breakpoints.desktopLarge\n ])\n )\n\n /**\n * A computed signal that determines the final value of the column span.\n *\n * This value is adjusted (truncated) so as not to exceed the maximum number of columns\n * allowed at each breakpoint, ensuring that the layout does not break on small screens.\n */\n readonly finalSpan = computed(() => {\n const breakpoints = this.screenChange()?.breakpoints;\n if (!breakpoints) return this.span();\n\n if (breakpoints[Breakpoints.mobileSmall] || breakpoints[Breakpoints.mobile]) {\n return this.span() > 2 ? 2 : this.span()\n }\n\n else if (breakpoints[Breakpoints.mobileLarge]) {\n return this.span() > 3 ? 3 : this.span()\n }\n\n else if (breakpoints[Breakpoints.tabletVertical]) {\n return this.span() > 4 ? 4 : this.span()\n }\n\n else if (breakpoints[Breakpoints.tabletHorizontal]) {\n return this.span() > 8 ? 8 : this.span()\n }\n\n return this.span();\n\n })\n\n /**\n * Computed signal that applies the `finalSpan` value to the `grid-column` style of the host element.\n *\n * This causes the element to occupy the number of columns computed in the grid.\n */\n readonly columnSpan = computed(() => `span ${this.finalSpan()}`);\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tekus/design-system",
3
3
  "description": "Tekus design system library",
4
- "version": "5.23.0",
4
+ "version": "5.25.0",
5
5
  "license": "UNLICENSED",
6
6
  "peerDependencies": {
7
7
  "@angular/core": "^21.0.0",
@@ -13,7 +13,7 @@
13
13
  "@primeuix/styles": "^2.0.2",
14
14
  "primeng": "^21.0.0",
15
15
  "@fortawesome/pro-solid-svg-icons": "^6.7.2",
16
- "@fortawesome/angular-fontawesome": "^3.0.0",
16
+ "@fortawesome/angular-fontawesome": "^4.0.0",
17
17
  "@fortawesome/fontawesome-svg-core": "^6.7.2",
18
18
  "@modelcontextprotocol/sdk": "^1.25.2"
19
19
  },
@@ -80,7 +80,15 @@ declare class AutocompleteComponent<T = unknown> implements ControlValueAccessor
80
80
  modelChange: _angular_core.OutputEmitterRef<AutocompleteValue<T>>;
81
81
  private onChangeFn;
82
82
  private onTouchedFn;
83
- constructor();
83
+ private readonly init;
84
+ /**
85
+ * disabled → internalDisabled
86
+ */
87
+ private readonly syncDisabled;
88
+ /**
89
+ * model → internal value + forms
90
+ */
91
+ private readonly syncModel;
84
92
  /**
85
93
  * @method writeValue
86
94
  * @description
@@ -124,7 +132,7 @@ declare class AutocompleteComponent<T = unknown> implements ControlValueAccessor
124
132
  * Reference to the underlying PrimeNG AutoComplete component.
125
133
  * Used to access the native input element for chip creation on blur.
126
134
  */
127
- autoComplete: AutoComplete;
135
+ autoComplete: _angular_core.Signal<AutoComplete | undefined>;
128
136
  /**
129
137
  * @method handleBlur
130
138
  * @description
@@ -1,5 +1,4 @@
1
- import * as i0 from '@angular/core';
2
- import { EventEmitter } from '@angular/core';
1
+ import * as _angular_core from '@angular/core';
3
2
 
4
3
  type ButtonSeverity = 'primary' | 'secondary' | 'danger';
5
4
  type Variant = 'text' | 'outlined';
@@ -8,7 +7,7 @@ type Variant = 'text' | 'outlined';
8
7
  * @description
9
8
  * Atomic button component that provides a reusable and customizable button element
10
9
  * across the application.
11
- * It uses PrimeNGs `ButtonModule` under the hood and allows setting different visual
10
+ * It uses PrimeNG's `ButtonModule` under the hood and allows setting different visual
12
11
  * variants (severity), button types, and disabled states.
13
12
  *
14
13
  * This component ensures consistent design and behavior in all button interactions.
@@ -36,12 +35,9 @@ declare class ButtonComponent {
36
35
  * @description
37
36
  * Text displayed inside the button.
38
37
  *
39
- * @description
40
- * Text displayed inside the button.
41
- *
42
38
  * @default `undefined`
43
39
  */
44
- label?: string;
40
+ label: _angular_core.InputSignal<string | undefined>;
45
41
  /**
46
42
  * @property {boolean} disabled
47
43
  * @description
@@ -50,17 +46,17 @@ declare class ButtonComponent {
50
46
  *
51
47
  * @default `false`
52
48
  */
53
- disabled: boolean;
49
+ disabled: _angular_core.InputSignal<boolean>;
54
50
  /**
55
51
  * @property {'button' | 'submit'} type
56
52
  * @description
57
- * Defines the buttons HTML type attribute.
53
+ * Defines the button's HTML type attribute.
58
54
  * - `'button'`: Standard clickable button (default).
59
55
  * - `'submit'`: Used to submit forms.
60
56
  *
61
57
  * @default `'button'`
62
58
  */
63
- type: 'button' | 'submit';
59
+ type: _angular_core.InputSignal<"button" | "submit">;
64
60
  /**
65
61
  * @property {ButtonSeverity} severity
66
62
  * @description
@@ -69,9 +65,9 @@ declare class ButtonComponent {
69
65
  * - `'secondary'`: Secondary option.
70
66
  * - `'danger'`: Destructive or warning actions.
71
67
  *
72
- * @default `'secondary'`
68
+ * @default `'primary'`
73
69
  */
74
- severity: ButtonSeverity;
70
+ severity: _angular_core.InputSignal<ButtonSeverity>;
75
71
  /**
76
72
  * @property {'text' | 'outlined'} variant
77
73
  * @description
@@ -81,7 +77,7 @@ declare class ButtonComponent {
81
77
  *
82
78
  * @default `undefined`
83
79
  */
84
- variant?: Variant;
80
+ variant: _angular_core.InputSignal<Variant | undefined>;
85
81
  /**
86
82
  * @property {boolean} link
87
83
  * @description
@@ -89,7 +85,7 @@ declare class ButtonComponent {
89
85
  *
90
86
  * @default false
91
87
  */
92
- link: boolean;
88
+ link: _angular_core.InputSignal<boolean>;
93
89
  /**
94
90
  * @property {string} icon
95
91
  * @description
@@ -98,7 +94,7 @@ declare class ButtonComponent {
98
94
  *
99
95
  * @default `undefined`
100
96
  */
101
- icon?: string;
97
+ icon: _angular_core.InputSignal<string | undefined>;
102
98
  /**
103
99
  * @event clicked
104
100
  * @description
@@ -110,7 +106,7 @@ declare class ButtonComponent {
110
106
  * <tk-button label="Click me" (clicked)="handleClick()"></tk-button>
111
107
  * ```
112
108
  */
113
- clicked: EventEmitter<"mouse" | "keyboard">;
109
+ clicked: _angular_core.OutputEmitterRef<"mouse" | "keyboard">;
114
110
  /**
115
111
  * @property {string} tooltipText
116
112
  * @description
@@ -118,7 +114,7 @@ declare class ButtonComponent {
118
114
  *
119
115
  * @default `undefined`
120
116
  */
121
- tooltipText?: string;
117
+ tooltipText: _angular_core.InputSignal<string | undefined>;
122
118
  /**
123
119
  * @method onButtonClick
124
120
  * @description
@@ -126,8 +122,8 @@ declare class ButtonComponent {
126
122
  * is not disabled.
127
123
  */
128
124
  onButtonClick(): void;
129
- static ɵfac: i0.ɵɵFactoryDeclaration<ButtonComponent, never>;
130
- static ɵcmp: i0.ɵɵComponentDeclaration<ButtonComponent, "tk-button", never, { "label": { "alias": "label"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "type": { "alias": "type"; "required": false; }; "severity": { "alias": "severity"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "link": { "alias": "link"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "tooltipText": { "alias": "tooltipText"; "required": false; }; }, { "clicked": "clicked"; }, never, never, true, never>;
125
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ButtonComponent, never>;
126
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ButtonComponent, "tk-button", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "severity": { "alias": "severity"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "link": { "alias": "link"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "tooltipText": { "alias": "tooltipText"; "required": false; "isSignal": true; }; }, { "clicked": "clicked"; }, never, never, true, never>;
131
127
  }
132
128
 
133
129
  export { ButtonComponent };
@@ -1,13 +1,10 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { OnInit, OnDestroy } from '@angular/core';
2
+ import { OnInit } from '@angular/core';
3
3
  import { ControlValueAccessor, NgControl, FormControl } from '@angular/forms';
4
4
 
5
- declare class CheckboxComponent implements ControlValueAccessor, OnInit, OnDestroy {
6
- /** Internal references and injections */
5
+ declare class CheckboxComponent implements ControlValueAccessor, OnInit {
7
6
  readonly ngControl: NgControl | null;
8
- /**
9
- * Initialize the component and register it as a ControlValueAccessor.
10
- */
7
+ private readonly destroyRef;
11
8
  constructor();
12
9
  /** Properties and Signals */
13
10
  /**
@@ -78,9 +75,7 @@ declare class CheckboxComponent implements ControlValueAccessor, OnInit, OnDestr
78
75
  get effectiveControl(): FormControl;
79
76
  onChange: (value: unknown) => void;
80
77
  onTouched: () => void;
81
- private readonly subscription;
82
78
  ngOnInit(): void;
83
- ngOnDestroy(): void;
84
79
  /**
85
80
  * Implementation of ControlValueAccessor: Writes a new value from the form.
86
81
  */
@@ -1,12 +1,13 @@
1
1
  import * as _fortawesome_fontawesome_common_types from '@fortawesome/fontawesome-common-types';
2
2
  import * as _angular_core from '@angular/core';
3
- import { OnInit, OnDestroy } from '@angular/core';
3
+ import { OnInit } from '@angular/core';
4
4
  import { ControlValueAccessor, NgControl, FormControl } from '@angular/forms';
5
5
 
6
6
  type DateValue = Date | [Date, Date] | null;
7
- declare class DatePickerComponent implements OnInit, OnDestroy, ControlValueAccessor {
7
+ declare class DatePickerComponent implements OnInit, ControlValueAccessor {
8
8
  /** Internal references and injections */
9
9
  readonly ngControl: NgControl | null;
10
+ private readonly destroyRef;
10
11
  constructor();
11
12
  /**
12
13
  * @property {InputSignal<'date' | 'time' | 'both'>} variant
@@ -91,6 +92,13 @@ declare class DatePickerComponent implements OnInit, OnDestroy, ControlValueAcce
91
92
  * @default false
92
93
  */
93
94
  showSeconds: _angular_core.InputSignal<boolean>;
95
+ /**
96
+ * @property {InputSignal<boolean>} disabled
97
+ * @description
98
+ * Whether the component is disabled.
99
+ * @default false
100
+ */
101
+ disabled: _angular_core.InputSignal<boolean>;
94
102
  /**
95
103
  * @property {InputSignal<boolean>} inline
96
104
  * @description
@@ -116,9 +124,16 @@ declare class DatePickerComponent implements OnInit, OnDestroy, ControlValueAcce
116
124
  * @property {InputSignal<string | HTMLElement | null | undefined>} appendTo
117
125
  * @description
118
126
  * Target element to attach the overlay to.
119
- * @default 'body'
127
+ * @default 'null'
120
128
  */
121
129
  appendTo: _angular_core.InputSignal<string | HTMLElement | null | undefined>;
130
+ /**
131
+ * @property {InputSignal<number>} baseZIndex
132
+ * @description
133
+ * Base z-index value for the overlay.
134
+ * @default 10000
135
+ */
136
+ baseZIndex: _angular_core.InputSignal<number>;
122
137
  /**
123
138
  * @property {InputSignal<Date | null>} maxDate
124
139
  * @description
@@ -164,6 +179,18 @@ declare class DatePickerComponent implements OnInit, OnDestroy, ControlValueAcce
164
179
  * Emitted when the value is cleared.
165
180
  */
166
181
  handleClear: _angular_core.OutputEmitterRef<void>;
182
+ /**
183
+ * @property {WritableSignal<boolean>} disabledStatus
184
+ * @description
185
+ * Internal signal to track disabled state.
186
+ */
187
+ disabledStatus: _angular_core.WritableSignal<boolean>;
188
+ /**
189
+ * @property {Signal<boolean>} effectiveDisabled
190
+ * @description
191
+ * Returns true if either the [disabled] input is true OR the FormControl is disabled.
192
+ */
193
+ effectiveDisabled: _angular_core.Signal<boolean>;
167
194
  /** Computed properties */
168
195
  /**
169
196
  * @property {Signal<'single' | 'range'>} effectiveSelectionMode
@@ -194,7 +221,7 @@ declare class DatePickerComponent implements OnInit, OnDestroy, ControlValueAcce
194
221
  * @description
195
222
  * Returns the external FormControl from NgControl or a local fallback.
196
223
  */
197
- internalControl: FormControl<DateValue>;
224
+ private readonly internalControl;
198
225
  get effectiveControl(): FormControl;
199
226
  /** Icons */
200
227
  faCalendarDay: _fortawesome_fontawesome_common_types.IconDefinition;
@@ -202,10 +229,9 @@ declare class DatePickerComponent implements OnInit, OnDestroy, ControlValueAcce
202
229
  /** CVA Logic */
203
230
  onChange: (value: DateValue) => void;
204
231
  onTouched: () => void;
205
- private readonly sub;
206
232
  private lastValue;
233
+ private isWriting;
207
234
  ngOnInit(): void;
208
- ngOnDestroy(): void;
209
235
  writeValue(value: DateValue): void;
210
236
  registerOnChange(fn: (value: DateValue) => void): void;
211
237
  registerOnTouched(fn: () => void): void;
@@ -236,7 +262,7 @@ declare class DatePickerComponent implements OnInit, OnDestroy, ControlValueAcce
236
262
  */
237
263
  clear(): void;
238
264
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DatePickerComponent, never>;
239
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DatePickerComponent, "tk-date-picker", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "selectionMode": { "alias": "selectionMode"; "required": false; "isSignal": true; }; "readonlyInput": { "alias": "readonlyInput"; "required": false; "isSignal": true; }; "showClear": { "alias": "showClear"; "required": false; "isSignal": true; }; "showIcon": { "alias": "showIcon"; "required": false; "isSignal": true; }; "dateFormat": { "alias": "dateFormat"; "required": false; "isSignal": true; }; "timeFormat": { "alias": "timeFormat"; "required": false; "isSignal": true; }; "stepHour": { "alias": "stepHour"; "required": false; "isSignal": true; }; "stepMinute": { "alias": "stepMinute"; "required": false; "isSignal": true; }; "stepSecond": { "alias": "stepSecond"; "required": false; "isSignal": true; }; "showSeconds": { "alias": "showSeconds"; "required": false; "isSignal": true; }; "inline": { "alias": "inline"; "required": false; "isSignal": true; }; "showTime": { "alias": "showTime"; "required": false; "isSignal": true; }; "hourFormat": { "alias": "hourFormat"; "required": false; "isSignal": true; }; "appendTo": { "alias": "appendTo"; "required": false; "isSignal": true; }; "maxDate": { "alias": "maxDate"; "required": false; "isSignal": true; }; "minDate": { "alias": "minDate"; "required": false; "isSignal": true; }; "labelText": { "alias": "labelText"; "required": false; "isSignal": true; }; "control": { "alias": "control"; "required": false; "isSignal": true; }; "modelValue": { "alias": "modelValue"; "required": false; "isSignal": true; }; }, { "modelValue": "modelValueChange"; "handleSelect": "handleSelect"; "handleClear": "handleClear"; }, never, never, true, never>;
265
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DatePickerComponent, "tk-date-picker", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "selectionMode": { "alias": "selectionMode"; "required": false; "isSignal": true; }; "readonlyInput": { "alias": "readonlyInput"; "required": false; "isSignal": true; }; "showClear": { "alias": "showClear"; "required": false; "isSignal": true; }; "showIcon": { "alias": "showIcon"; "required": false; "isSignal": true; }; "dateFormat": { "alias": "dateFormat"; "required": false; "isSignal": true; }; "timeFormat": { "alias": "timeFormat"; "required": false; "isSignal": true; }; "stepHour": { "alias": "stepHour"; "required": false; "isSignal": true; }; "stepMinute": { "alias": "stepMinute"; "required": false; "isSignal": true; }; "stepSecond": { "alias": "stepSecond"; "required": false; "isSignal": true; }; "showSeconds": { "alias": "showSeconds"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "inline": { "alias": "inline"; "required": false; "isSignal": true; }; "showTime": { "alias": "showTime"; "required": false; "isSignal": true; }; "hourFormat": { "alias": "hourFormat"; "required": false; "isSignal": true; }; "appendTo": { "alias": "appendTo"; "required": false; "isSignal": true; }; "baseZIndex": { "alias": "baseZIndex"; "required": false; "isSignal": true; }; "maxDate": { "alias": "maxDate"; "required": false; "isSignal": true; }; "minDate": { "alias": "minDate"; "required": false; "isSignal": true; }; "labelText": { "alias": "labelText"; "required": false; "isSignal": true; }; "control": { "alias": "control"; "required": false; "isSignal": true; }; "modelValue": { "alias": "modelValue"; "required": false; "isSignal": true; }; }, { "modelValue": "modelValueChange"; "handleSelect": "handleSelect"; "handleClear": "handleClear"; }, never, never, true, never>;
240
266
  }
241
267
 
242
268
  export { DatePickerComponent };