@tekus/design-system 5.35.0 → 5.37.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 (40) hide show
  1. package/fesm2022/tekus-design-system-components-carousel.mjs +32 -7
  2. package/fesm2022/tekus-design-system-components-carousel.mjs.map +1 -1
  3. package/fesm2022/tekus-design-system-components-color-picker.mjs +203 -29
  4. package/fesm2022/tekus-design-system-components-color-picker.mjs.map +1 -1
  5. package/fesm2022/tekus-design-system-components-grid-container.mjs +181 -0
  6. package/fesm2022/tekus-design-system-components-grid-container.mjs.map +1 -0
  7. package/fesm2022/tekus-design-system-components-header.mjs +29 -0
  8. package/fesm2022/tekus-design-system-components-header.mjs.map +1 -0
  9. package/fesm2022/tekus-design-system-components-modal.mjs +49 -29
  10. package/fesm2022/tekus-design-system-components-modal.mjs.map +1 -1
  11. package/fesm2022/tekus-design-system-components-process-steps.mjs +24 -3
  12. package/fesm2022/tekus-design-system-components-process-steps.mjs.map +1 -1
  13. package/fesm2022/tekus-design-system-components-section.mjs +63 -0
  14. package/fesm2022/tekus-design-system-components-section.mjs.map +1 -0
  15. package/fesm2022/tekus-design-system-components-sidebar-layout.mjs +20 -6
  16. package/fesm2022/tekus-design-system-components-sidebar-layout.mjs.map +1 -1
  17. package/fesm2022/tekus-design-system-components-tree-table.mjs +94 -0
  18. package/fesm2022/tekus-design-system-components-tree-table.mjs.map +1 -0
  19. package/fesm2022/tekus-design-system-components-uploader.mjs +1256 -0
  20. package/fesm2022/tekus-design-system-components-uploader.mjs.map +1 -0
  21. package/fesm2022/tekus-design-system-core-types.mjs +22 -7
  22. package/fesm2022/tekus-design-system-core-types.mjs.map +1 -1
  23. package/fesm2022/tekus-design-system-core.mjs +22 -7
  24. package/fesm2022/tekus-design-system-core.mjs.map +1 -1
  25. package/fesm2022/tekus-design-system-directives-gird-item.mjs +1 -1
  26. package/fesm2022/tekus-design-system-directives-gird-item.mjs.map +1 -1
  27. package/package.json +21 -1
  28. package/types/tekus-design-system-components-carousel.d.ts +6 -2
  29. package/types/tekus-design-system-components-color-picker.d.ts +75 -12
  30. package/types/tekus-design-system-components-grid-container.d.ts +123 -0
  31. package/types/tekus-design-system-components-header.d.ts +33 -0
  32. package/types/tekus-design-system-components-modal.d.ts +30 -12
  33. package/types/tekus-design-system-components-process-steps.d.ts +16 -1
  34. package/types/tekus-design-system-components-section.d.ts +45 -0
  35. package/types/tekus-design-system-components-sidebar-layout.d.ts +11 -1
  36. package/types/tekus-design-system-components-tree-table.d.ts +62 -0
  37. package/types/tekus-design-system-components-uploader.d.ts +524 -0
  38. package/types/tekus-design-system-core-types.d.ts +7 -7
  39. package/types/tekus-design-system-core.d.ts +7 -7
  40. package/types/tekus-design-system-directives-gird-item.d.ts +1 -1
@@ -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/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 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 stepper: {\n colorScheme: {\n light: {\n separator: {\n background: 'var(--tk-color-base-surface-200)',\n activeBackground: 'var(--tk-color-base-primary-500)',\n },\n stepTitle: {\n color: 'var(--tk-color-text-muted)',\n activeColor: 'var(--tk-color-base-primary-500)',\n },\n stepNumber: {\n background: 'var(--tk-color-base-surface-0)',\n activeBackground: 'var(--tk-color-base-surface-0)',\n borderColor: 'var(--tk-color-base-surface-300)',\n activeBorderColor: 'var(--tk-color-base-primary-500)',\n color: 'var(--tk-color-text-muted)',\n activeColor: 'var(--tk-color-base-primary-500)',\n shadow: 'none',\n },\n }\n }\n },\n chip: {\n root: {\n borderRadius: 'var(--tk-borderRadius-full, 62.4375rem)',\n paddingX: '0.5rem',\n paddingY: '0.25rem',\n gap: '0.375rem',\n background: 'var(--tk-color-background-soft, #f2f1f1)',\n color: 'var(--tk-color-base-surface-700, #424243)',\n },\n image: {\n width: '1.5rem',\n height: '1.5rem',\n },\n icon: {\n size: '0.875rem',\n color: 'var(--tk-color-base-surface-700, #424243)',\n },\n removeIcon: {\n size: '1.125rem',\n color: 'var(--tk-color-base-surface-700, #424243)',\n focusRing: {\n width: '0',\n style: 'none',\n color: 'transparent',\n offset: '0',\n shadow: 'none',\n },\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.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 = 'var(--tk-spacing-gap-l, 1.5rem)',\n small = 'var(--tk-spacing-gap-m, 1rem)',\n large = 'var(--tk-spacing-base-200, 2rem)',\n extraLarge = 'var(--tk-spacing-gap-xl, 2.5rem)',\n}\n\nenum PaddingGridContainer {\n large = 'var(--tk-spacing-base-200, 2rem)',\n medium = 'var(--tk-spacing-padding-xl, 1.5rem)',\n small = 'var(--tk-spacing-padding-m, 1rem)'\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 stepper: {\n colorScheme: {\n light: {\n separator: {\n background: 'var(--tk-color-base-surface-200)',\n activeBackground: 'var(--tk-color-base-primary-500)',\n },\n stepTitle: {\n color: 'var(--tk-color-text-muted)',\n activeColor: 'var(--tk-color-base-primary-500)',\n },\n stepNumber: {\n background: 'var(--tk-color-base-surface-0)',\n activeBackground: 'var(--tk-color-base-surface-0)',\n borderColor: 'var(--tk-color-base-surface-300)',\n activeBorderColor: 'var(--tk-color-base-primary-500)',\n color: 'var(--tk-color-text-muted)',\n activeColor: 'var(--tk-color-base-primary-500)',\n shadow: 'none',\n },\n }\n }\n },\n chip: {\n root: {\n borderRadius: 'var(--tk-borderRadius-full, 62.4375rem)',\n paddingX: '0.5rem',\n paddingY: '0.25rem',\n gap: '0.375rem',\n background: 'var(--tk-color-background-soft, #f2f1f1)',\n color: 'var(--tk-color-base-surface-700, #424243)',\n },\n image: {\n width: '1.5rem',\n height: '1.5rem',\n },\n icon: {\n size: '0.875rem',\n color: 'var(--tk-color-base-surface-700, #424243)',\n },\n removeIcon: {\n size: '1.125rem',\n color: 'var(--tk-color-base-surface-700, #424243)',\n focusRing: {\n width: '0',\n style: 'none',\n color: 'transparent',\n offset: '0',\n shadow: 'none',\n },\n },\n },\n treetable: {\n root: {\n borderColor: 'var(--tk-color-base-surface-200)',\n background: 'var(--tk-color-base-surface-0)',\n },\n header: {\n background: 'transparent',\n borderColor: 'transparent',\n },\n row: {\n background: 'var(--tk-color-base-surface-0)',\n borderColor: 'var(--tk-color-base-surface-100)',\n hoverBackground: 'var(--tk-color-base-surface-50)',\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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"}
@@ -9,7 +9,7 @@ import { Breakpoints } from '@tekus/design-system/core/types';
9
9
  *
10
10
  * Uses Angular CDK's `BreakpointObserver` to dynamically adjust the column's `span`
11
11
  * based on screen size, ensuring a responsive experience.
12
- * For best results use a [grid component as a parent container](?path=/docs/components-grids-grids-container--docs)
12
+ * For best results use a [grid component as a parent container](?path=/docs/components-gridcontainer--docs)
13
13
  * @selector [tkGridItem]
14
14
  */
15
15
  class GridItemDirective {
@@ -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, 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":";;;;;;AAIA;;;;;;;AAOG;MAOU,iBAAiB,CAAA;AAN9B,IAAA,WAAA,GAAA;AAOI;;;;AAIG;AACH,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAS,CAAC,2EAAC;AAEvB;;;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;AAAE,gBAAA,OAAO,IAAI,CAAC,IAAI,EAAE;AAEpC,YAAA,IAAI,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE;AACzE,gBAAA,OAAO,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE;YAC5C;AAEK,iBAAA,IAAI,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE;AAC3C,gBAAA,OAAO,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE;YAC5C;AAEK,iBAAA,IAAI,WAAW,CAAC,WAAW,CAAC,cAAc,CAAC,EAAE;AAC9C,gBAAA,OAAO,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE;YAC5C;AAEK,iBAAA,IAAI,WAAW,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE;AAChD,gBAAA,OAAO,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE;YAC5C;AAEA,YAAA,OAAO,IAAI,CAAC,IAAI,EAAE;AAEtB,QAAA,CAAC,gFAAC;AAEF;;;;AAIG;AACM,QAAA,IAAA,CAAA,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAA,KAAA,EAAQ,IAAI,CAAC,SAAS,EAAE,CAAA,CAAE,iFAAC;AACnE,IAAA;+GAlEY,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,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,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,mBAAA,EAAA,cAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAN7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,cAAc;AACxB,oBAAA,IAAI,EAAE;AACF,wBAAA,qBAAqB,EAAE,cAAc;AACxC;AACJ,iBAAA;;;ACjBD;;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-gridcontainer--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.35.0",
4
+ "version": "5.37.0",
5
5
  "license": "UNLICENSED",
6
6
  "peerDependencies": {
7
7
  "@angular/core": "^21.0.0",
@@ -100,6 +100,14 @@
100
100
  "types": "./types/tekus-design-system-components-fallback-view.d.ts",
101
101
  "default": "./fesm2022/tekus-design-system-components-fallback-view.mjs"
102
102
  },
103
+ "./components/grid-container": {
104
+ "types": "./types/tekus-design-system-components-grid-container.d.ts",
105
+ "default": "./fesm2022/tekus-design-system-components-grid-container.mjs"
106
+ },
107
+ "./components/header": {
108
+ "types": "./types/tekus-design-system-components-header.d.ts",
109
+ "default": "./fesm2022/tekus-design-system-components-header.mjs"
110
+ },
103
111
  "./components/icon": {
104
112
  "types": "./types/tekus-design-system-components-icon.d.ts",
105
113
  "default": "./fesm2022/tekus-design-system-components-icon.mjs"
@@ -152,6 +160,10 @@
152
160
  "types": "./types/tekus-design-system-components-radio-button.d.ts",
153
161
  "default": "./fesm2022/tekus-design-system-components-radio-button.mjs"
154
162
  },
163
+ "./components/section": {
164
+ "types": "./types/tekus-design-system-components-section.d.ts",
165
+ "default": "./fesm2022/tekus-design-system-components-section.mjs"
166
+ },
155
167
  "./components/select": {
156
168
  "types": "./types/tekus-design-system-components-select.d.ts",
157
169
  "default": "./fesm2022/tekus-design-system-components-select.mjs"
@@ -212,6 +224,14 @@
212
224
  "types": "./types/tekus-design-system-components-topbar.d.ts",
213
225
  "default": "./fesm2022/tekus-design-system-components-topbar.mjs"
214
226
  },
227
+ "./components/tree-table": {
228
+ "types": "./types/tekus-design-system-components-tree-table.d.ts",
229
+ "default": "./fesm2022/tekus-design-system-components-tree-table.mjs"
230
+ },
231
+ "./components/uploader": {
232
+ "types": "./types/tekus-design-system-components-uploader.d.ts",
233
+ "default": "./fesm2022/tekus-design-system-components-uploader.mjs"
234
+ },
215
235
  "./core": {
216
236
  "types": "./types/tekus-design-system-core.d.ts",
217
237
  "default": "./fesm2022/tekus-design-system-core.mjs"
@@ -128,7 +128,8 @@ declare const MAX_TAG_LENGTH = 20;
128
128
  * <tk-carousel
129
129
  * [slides]="slides"
130
130
  * (slideChange)="onSlideChange($event)"
131
- * (actionClick)="onActionClick($event)">
131
+ * (actionClick)="onActionClick($event)"
132
+ * (slideClick)="openLightbox($event)">
132
133
  * </tk-carousel>
133
134
  * ```
134
135
  *
@@ -158,6 +159,8 @@ declare class CarouselComponent {
158
159
  slideChange: _angular_core.OutputEmitterRef<CarouselSlideChangeEvent>;
159
160
  /** Emits the slide whose call-to-action button was clicked. */
160
161
  actionClick: _angular_core.OutputEmitterRef<CarouselSlide>;
162
+ /** Emits the slide whose image was clicked, so consumers can open a lightbox. */
163
+ slideClick: _angular_core.OutputEmitterRef<CarouselSlide>;
161
164
  /** Reference to the underlying PrimeNG carousel, used for thumbnail navigation. */
162
165
  primeCarousel: _angular_core.Signal<Carousel | undefined>;
163
166
  /** Zero-based index of the active slide within the visible slides. */
@@ -187,9 +190,10 @@ declare class CarouselComponent {
187
190
  onThumbnailClick(event: MouseEvent, index: number): void;
188
191
  onImageError(slide: CarouselSlide): void;
189
192
  onActionClick(slide: CarouselSlide): void;
193
+ onSlideClick(slide: CarouselSlide): void;
190
194
  hasSlideError(slide: CarouselSlide): boolean;
191
195
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<CarouselComponent, never>;
192
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<CarouselComponent, "tk-carousel", never, { "slides": { "alias": "slides"; "required": true; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "indicator": { "alias": "indicator"; "required": false; "isSignal": true; }; }, { "slideChange": "slideChange"; "actionClick": "actionClick"; }, never, never, true, never>;
196
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CarouselComponent, "tk-carousel", never, { "slides": { "alias": "slides"; "required": true; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "indicator": { "alias": "indicator"; "required": false; "isSignal": true; }; }, { "slideChange": "slideChange"; "actionClick": "actionClick"; "slideClick": "slideClick"; }, never, never, true, never>;
193
197
  }
194
198
 
195
199
  export { AUTOPLAY_INTERVAL_MS, CarouselComponent, MAX_DESCRIPTION_LENGTH, MAX_TAG_LENGTH, MAX_TITLE_LENGTH, MAX_VISIBLE_TAGS };
@@ -11,9 +11,19 @@ import { ContrastResult } from '@tekus/design-system/utils/wcag-contrast';
11
11
  type ColorPickerVariant = 'input' | 'swatch';
12
12
  /**
13
13
  * Reason the picker popover was closed.
14
- * - `accept`: the selection was confirmed.
14
+ * - `accept`: the selection was confirmed (Enter, click-outside).
15
+ * - `cancel`: the selection was discarded and restored to its prior value
16
+ * (Escape, or another `tk-color-picker` instance opening in the same view).
15
17
  */
16
- type ColorPickerCloseReason = 'accept';
18
+ type ColorPickerCloseReason = 'accept' | 'cancel';
19
+ /**
20
+ * Emission strategy for `colorChange` / `textColorChange` / `value`.
21
+ * - `live`: emit on every valid draft change (default, current behavior).
22
+ * - `onClose`: emit once, with the final value, only when the popover closes
23
+ * by confirmation (Enter / click-outside). Escape or being closed by
24
+ * another instance never emits.
25
+ */
26
+ type ColorPickerEmitMode = 'live' | 'onClose';
17
27
  /**
18
28
  * Enables or disables each section of the picker popover.
19
29
  * Every flag defaults to `true`; disabled sections are not rendered.
@@ -83,6 +93,7 @@ declare class ColorPickerComponent implements ControlValueAccessor {
83
93
  readonly ngControl: NgControl | null;
84
94
  private readonly destroyRef;
85
95
  private readonly el;
96
+ private readonly registry;
86
97
  private readonly init;
87
98
  /**
88
99
  * @property {ColorPickerVariant} variant
@@ -170,6 +181,25 @@ declare class ColorPickerComponent implements ControlValueAccessor {
170
181
  * @default `''`
171
182
  */
172
183
  errorMessage: _angular_core.InputSignal<string>;
184
+ /**
185
+ * @property {ColorPickerEmitMode} emitMode
186
+ * @description
187
+ * Emission strategy for `colorChange`/`textColorChange`/`value`:
188
+ * `'live'` emits on every valid draft change (default, unchanged behavior).
189
+ * `'onClose'` emits once, with the final value, only when the popover
190
+ * closes by confirmation (Enter / click-outside) — Escape, or being closed
191
+ * by another `tk-color-picker` instance opening in the same view, never
192
+ * emits.
193
+ *
194
+ * Exception: editing the trigger HEX field directly while the popover is
195
+ * closed (`variant="input"`) has no popover session to defer to, so under
196
+ * `'onClose'` it commits on its own equivalent of "close" — Enter, or
197
+ * losing focus (blur) — not on every debounce tick while still typing.
198
+ * This avoids firing on each momentarily-complete-looking HEX mid-edit,
199
+ * which matters when `colorChange` is wired straight to an API call.
200
+ * @default `'live'`
201
+ */
202
+ emitMode: _angular_core.InputSignal<ColorPickerEmitMode>;
173
203
  /**
174
204
  * @property {ColorPickerTexts} texts
175
205
  * @description
@@ -197,17 +227,22 @@ declare class ColorPickerComponent implements ControlValueAccessor {
197
227
  /**
198
228
  * @event colorChange
199
229
  * @description
200
- * Emits the confirmed background hex color: on Accept (action bar mode) or
201
- * on every valid change (live mode / trigger HEX edit while closed). Never
202
- * emits invalid values, on hydration, or while disabled.
230
+ * Emits the confirmed background hex color. Timing depends on `emitMode()`:
231
+ * `'live'` emits on every valid change (drag, keystroke, swatch pick, or
232
+ * trigger HEX edit while closed); `'onClose'` emits once, with the final
233
+ * value, only when the popover closes by confirmation (Enter /
234
+ * click-outside). Never emits on Escape, when another instance forces this
235
+ * one to close, on invalid values, on hydration, or while disabled. Always
236
+ * emitted together with `textColorChange` in the same synchronous call, so
237
+ * both values belong to the same commit.
203
238
  */
204
239
  colorChange: _angular_core.OutputEmitterRef<string>;
205
240
  /**
206
241
  * @event textColorChange
207
242
  * @description
208
- * Emits together with `colorChange`: the ideal text color over the
209
- * confirmed background (`#000000` on light colors, `#ffffff` on dark ones,
210
- * or the `contrastColor` override when provided).
243
+ * Emits together with `colorChange`, same timing, same commit: the ideal
244
+ * text color over the confirmed background (`#000000` on light colors,
245
+ * `#ffffff` on dark ones, or the `contrastColor` override when provided).
211
246
  */
212
247
  textColorChange: _angular_core.OutputEmitterRef<string>;
213
248
  /**
@@ -228,7 +263,7 @@ declare class ColorPickerComponent implements ControlValueAccessor {
228
263
  * Emits when the popover closes, with the close reason
229
264
  * (`accept` confirmed, `cancel` discarded/restored).
230
265
  */
231
- closed: _angular_core.OutputEmitterRef<"accept">;
266
+ closed: _angular_core.OutputEmitterRef<ColorPickerCloseReason>;
232
267
  popover: _angular_core.Signal<Popover | undefined>;
233
268
  private swatchBtnRef;
234
269
  private inputTriggerRef;
@@ -251,6 +286,14 @@ declare class ColorPickerComponent implements ControlValueAccessor {
251
286
  protected readonly resolvedSections: _angular_core.Signal<Required<ColorPickerSections>>;
252
287
  protected readonly t: _angular_core.Signal<Required<ColorPickerTexts>>;
253
288
  /** Valid draft hex to paint swatches, or null → neutral fallback via CSS. */
289
+ /**
290
+ * Always reflects `draftHex()`, not `value()` — independent of `emitMode`
291
+ * and of whether the popover is open. `draftHex` tracks every keystroke
292
+ * (trigger or panel HEX field, spectrum/hue/swatch picks) in real time, so
293
+ * the swatch gives immediate visual feedback while the user is still
294
+ * typing, even under `emitMode="onClose"` where the actual commit/emit is
295
+ * deferred to Enter/blur/click-outside.
296
+ */
254
297
  protected readonly swatchColor: _angular_core.Signal<string | null>;
255
298
  /**
256
299
  * Text color of the contrast pair: the `contrastColor` override when valid,
@@ -268,6 +311,8 @@ declare class ColorPickerComponent implements ControlValueAccessor {
268
311
  protected readonly errorId: string;
269
312
  private static instanceCount;
270
313
  private originalValue;
314
+ private closeReason;
315
+ private suppressNextHideCommit;
271
316
  private readonly customColorWritePtr;
272
317
  private readonly hexInput$;
273
318
  onChange: (value: string) => void;
@@ -308,7 +353,17 @@ declare class ColorPickerComponent implements ControlValueAccessor {
308
353
  private fixPanelPosition;
309
354
  protected onPopoverHide(): void;
310
355
  protected onPanelEnter(event: Event): void;
356
+ /** Bound to `(keydown.escape)` on the popover panel: intercepts Escape
357
+ * before it can bubble to PrimeNG's own document-level close handler, so
358
+ * the close reason is already recorded as `cancel` by the time `onHide`
359
+ * fires. */
360
+ protected onPanelEscape(event: Event): void;
311
361
  private confirmAndClose;
362
+ /** Closes the popover as a cancellation: `onPopoverHide()` will restore
363
+ * `originalValue` and emit nothing. Shared by Escape and by the registry
364
+ * when another `tk-color-picker` instance opens in the same view. */
365
+ private cancelAndClose;
366
+ private restoreOriginalValue;
312
367
  protected onSpectrumChange(change: {
313
368
  saturation: number;
314
369
  brightness: number;
@@ -340,7 +395,15 @@ declare class ColorPickerComponent implements ControlValueAccessor {
340
395
  private setFromHex;
341
396
  private applyHsv;
342
397
  /**
343
- * Commits the draft color immediately (live mode).
398
+ * Commits the draft color immediately, but only in `'live'` emitMode.
399
+ * In `'onClose'` mode, mid-edit draft changes never commit here — not even
400
+ * for the trigger HEX field edited while the popover is closed. That path
401
+ * still needs an explicit "I'm done" signal, just like a popover session
402
+ * does: Enter (`onHexKeydown`) or losing focus (`onHexBlur`), both of which
403
+ * commit unconditionally regardless of `emitMode()`. Committing on every
404
+ * debounce tick while the field still has focus would fire on each
405
+ * completed-looking HEX mid-typing — exactly the noise `'onClose'` exists
406
+ * to avoid (e.g. a consumer wiring this straight to an API call).
344
407
  */
345
408
  private maybeCommit;
346
409
  private commitDraft;
@@ -349,8 +412,8 @@ declare class ColorPickerComponent implements ControlValueAccessor {
349
412
  private hexToHsv;
350
413
  private hsvToHex;
351
414
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ColorPickerComponent, never>;
352
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ColorPickerComponent, "tk-color-picker", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "sections": { "alias": "sections"; "required": false; "isSignal": true; }; "presetColors": { "alias": "presetColors"; "required": false; "isSignal": true; }; "contrastColor": { "alias": "contrastColor"; "required": false; "isSignal": true; }; "maxCustomColors": { "alias": "maxCustomColors"; "required": false; "isSignal": true; }; "placement": { "alias": "placement"; "required": false; "isSignal": true; }; "errorMessage": { "alias": "errorMessage"; "required": false; "isSignal": true; }; "texts": { "alias": "texts"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "customColors": { "alias": "customColors"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "customColors": "customColorsChange"; "colorChange": "colorChange"; "textColorChange": "textColorChange"; "validChange": "validChange"; "opened": "opened"; "closed": "closed"; }, never, never, true, never>;
415
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ColorPickerComponent, "tk-color-picker", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "sections": { "alias": "sections"; "required": false; "isSignal": true; }; "presetColors": { "alias": "presetColors"; "required": false; "isSignal": true; }; "contrastColor": { "alias": "contrastColor"; "required": false; "isSignal": true; }; "maxCustomColors": { "alias": "maxCustomColors"; "required": false; "isSignal": true; }; "placement": { "alias": "placement"; "required": false; "isSignal": true; }; "errorMessage": { "alias": "errorMessage"; "required": false; "isSignal": true; }; "emitMode": { "alias": "emitMode"; "required": false; "isSignal": true; }; "texts": { "alias": "texts"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "customColors": { "alias": "customColors"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "customColors": "customColorsChange"; "colorChange": "colorChange"; "textColorChange": "textColorChange"; "validChange": "validChange"; "opened": "opened"; "closed": "closed"; }, never, never, true, never>;
353
416
  }
354
417
 
355
418
  export { ColorPickerComponent };
356
- export type { ColorPickerCloseReason, ColorPickerSections, ColorPickerTexts, ColorPickerVariant };
419
+ export type { ColorPickerCloseReason, ColorPickerEmitMode, ColorPickerSections, ColorPickerTexts, ColorPickerVariant };
@@ -0,0 +1,123 @@
1
+ import * as _angular_cdk_layout from '@angular/cdk/layout';
2
+ import * as _angular_core from '@angular/core';
3
+ import { GridColumns, GutterType, ComposeSize, ContainerType, GapGutter, FixedGridProps, AutoFillGridProps } from '@tekus/design-system/core/types';
4
+
5
+ /**
6
+ * A responsive CSS Grid container that exposes typed, two-way models to control
7
+ * column count, track size, inter-item gutter, and container padding.
8
+ *
9
+ * Behavior:
10
+ * - columns: GridColumns (default 12). Numeric values are capped per Breakpoints
11
+ * (2/3/4/8 for mobileSmall/mobileLarge/tabletVertical/tabletHorizontal). No cap when size is minmax().
12
+ * - size: ComposeSize (default '1fr'). Required to be minmax() when columns is 'auto-fill', otherwise an error is thrown.
13
+ * - gutter: Gutter (default 'normal'), mapped to GapGutter for host gap.
14
+ * - containerType: ContainerType (default 'medium'), mapped to PaddingGridContainer for host padding.
15
+ *
16
+ * Host bindings:
17
+ * - style.grid-template-columns via repeat(...) from computed columns/size.
18
+ * - style.gap via GapGutter.
19
+ * - style.padding via PaddingGridContainer.
20
+ *
21
+ * Intended to wrap GridItemDirective children. Public type is compatible with FixedGridProps | AutoFillGridProps.
22
+ * @selector tk-grid-container
23
+ */
24
+ declare class GridContainerComponent {
25
+ /**
26
+ * Two-way bound model defining the number of columns in the grid.
27
+ *
28
+ * The value is capped based on the current screen breakpoint. If the `size` model
29
+ * is a `minmax()` function, the column cap is disabled.
30
+ *
31
+ * @default 12
32
+ * @see GridColumns
33
+ */
34
+ columns: _angular_core.ModelSignal<GridColumns>;
35
+ /**
36
+ * Two-way bound model defining the spacing between grid items.
37
+ *
38
+ * The value is mapped to a CSS `gap` property based on the `Gutter` type.
39
+ *
40
+ * @default Gutter.normal
41
+ * @see Gutter
42
+ * @see GutterType
43
+ */
44
+ gutter: _angular_core.ModelSignal<GutterType>;
45
+ /**
46
+ * Two-way bound model defining the grid track size.
47
+ *
48
+ * Accepts any ComposeSize value (e.g., '1fr', fixed lengths, or minmax()) and
49
+ * drives the computed grid template for the container.
50
+ *
51
+ * @default '1fr'
52
+ * @see ComposeSize
53
+ */
54
+ size: _angular_core.ModelSignal<ComposeSize>;
55
+ /**
56
+ * Two-way bound model defining the internal spacing of the grid container.
57
+ *
58
+ * The value is mapped to a CSS `padding` property based on the `PaddingGridContainer` type.
59
+ *
60
+ * @default 'medium'
61
+ * @see ContainerType
62
+ */
63
+ containerType: _angular_core.ModelSignal<ContainerType>;
64
+ /**
65
+ * A private static RegExp to validate strings that match the `minmax()` function.
66
+ */
67
+ readonly MINMAX_RE: RegExp;
68
+ /**
69
+ * A private service injection to observe screen breakpoint changes.
70
+ */
71
+ private readonly breakpointObserver;
72
+ /**
73
+ * A signal derived from `breakpointObserver` to reactively track changes
74
+ * across all defined breakpoints.
75
+ */
76
+ screenChanges: _angular_core.Signal<_angular_cdk_layout.BreakpointState | undefined>;
77
+ /**
78
+ * A computed signal that determines the final number of columns for the grid.
79
+ *
80
+ * It caps the `columns` model value based on the current screen breakpoint,
81
+ * unless the `size` model is a `minmax()` function.
82
+ */
83
+ readonly finalColumns: _angular_core.Signal<GridColumns>;
84
+ /**
85
+ * Host binding that maps the `gutter` model to the host element's `style.gap` property.
86
+ */
87
+ readonly hostGap: _angular_core.Signal<GapGutter>;
88
+ /**
89
+ * Host binding that sets the `style.grid-template-columns` property based on
90
+ * the computed column count and track size.
91
+ */
92
+ readonly gridColumns: _angular_core.Signal<string>;
93
+ /**
94
+ * Host binding that sets the `style.padding` property based on the `containerType` model.
95
+ */
96
+ readonly containerPadding: _angular_core.Signal<string>;
97
+ /**
98
+ * Computes the final `grid-template-columns` string for the host element.
99
+ *
100
+ * It handles both fixed and `auto-fill` column types and validates that the `size`
101
+ * model is a `minmax()` function when `columns` is set to `'auto-fill'`.
102
+ * @returns The CSS value for the `grid-template-columns` property.
103
+ */
104
+ computeGridTemplateColumns(): string;
105
+ /**
106
+ * A private helper method to check if a given value is a valid `minmax()` function string.
107
+ * @param value The value to check.
108
+ * @returns `true` if the value is a valid `minmax()` string, `false` otherwise.
109
+ */
110
+ private isMinMax;
111
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<GridContainerComponent, never>;
112
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<GridContainerComponent, "tk-grid-container", never, { "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "gutter": { "alias": "gutter"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "containerType": { "alias": "containerType"; "required": false; "isSignal": true; }; }, { "columns": "columnsChange"; "gutter": "gutterChange"; "size": "sizeChange"; "containerType": "containerTypeChange"; }, never, ["*"], true, never>;
113
+ }
114
+ /**
115
+ * A public type to represent an instance of the `GridContainerComponent` class,
116
+ * combined with its public input properties.
117
+ *
118
+ * This allows for better type-checking when the component is used in a template.
119
+ */
120
+ type GridComponent = new () => GridContainerComponent & (FixedGridProps | AutoFillGridProps);
121
+
122
+ export { GridContainerComponent };
123
+ export type { GridComponent };
@@ -0,0 +1,33 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { MenuItem } from 'primeng/api';
3
+
4
+ interface TkHeaderAction {
5
+ icon: string;
6
+ label: string;
7
+ action: () => void;
8
+ disabled?: boolean;
9
+ }
10
+ interface TkHeaderDropdownAction {
11
+ type: 'dropdown';
12
+ model: MenuItem[];
13
+ icon?: string;
14
+ label?: string;
15
+ iconPosition?: 'left' | 'right';
16
+ size?: 'small' | 'large';
17
+ disabled?: boolean;
18
+ tooltip?: string;
19
+ }
20
+ type TkHeaderAnyAction = TkHeaderAction | TkHeaderDropdownAction;
21
+
22
+ declare class HeaderComponent {
23
+ logoSrc: _angular_core.InputSignal<string | undefined>;
24
+ logoAlt: _angular_core.InputSignal<string>;
25
+ leftActions: _angular_core.InputSignal<TkHeaderAnyAction[]>;
26
+ rightActions: _angular_core.InputSignal<TkHeaderAnyAction[]>;
27
+ protected isDropdown(action: TkHeaderAnyAction): action is TkHeaderDropdownAction;
28
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<HeaderComponent, never>;
29
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<HeaderComponent, "tk-header", never, { "logoSrc": { "alias": "logoSrc"; "required": false; "isSignal": true; }; "logoAlt": { "alias": "logoAlt"; "required": false; "isSignal": true; }; "leftActions": { "alias": "leftActions"; "required": false; "isSignal": true; }; "rightActions": { "alias": "rightActions"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
30
+ }
31
+
32
+ export { HeaderComponent };
33
+ export type { TkHeaderAction, TkHeaderAnyAction, TkHeaderDropdownAction };