@ngstarter-ui/components 21.0.23 → 21.0.25

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 (107) hide show
  1. package/ai/component-registry.json +14 -6
  2. package/fesm2022/ngstarter-ui-components-avatar.mjs +3 -3
  3. package/fesm2022/ngstarter-ui-components-avatar.mjs.map +1 -1
  4. package/fesm2022/ngstarter-ui-components-badge.mjs +1 -2
  5. package/fesm2022/ngstarter-ui-components-badge.mjs.map +1 -1
  6. package/fesm2022/ngstarter-ui-components-breadcrumbs.mjs +0 -2
  7. package/fesm2022/ngstarter-ui-components-breadcrumbs.mjs.map +1 -1
  8. package/fesm2022/ngstarter-ui-components-button-toggle.mjs +1 -1
  9. package/fesm2022/ngstarter-ui-components-button-toggle.mjs.map +1 -1
  10. package/fesm2022/ngstarter-ui-components-button.mjs +2 -2
  11. package/fesm2022/ngstarter-ui-components-button.mjs.map +1 -1
  12. package/fesm2022/ngstarter-ui-components-calendar.mjs +1 -1
  13. package/fesm2022/ngstarter-ui-components-calendar.mjs.map +1 -1
  14. package/fesm2022/ngstarter-ui-components-card-overlay.mjs +0 -1
  15. package/fesm2022/ngstarter-ui-components-card-overlay.mjs.map +1 -1
  16. package/fesm2022/ngstarter-ui-components-card.mjs +7 -12
  17. package/fesm2022/ngstarter-ui-components-card.mjs.map +1 -1
  18. package/fesm2022/ngstarter-ui-components-carousel.mjs +0 -3
  19. package/fesm2022/ngstarter-ui-components-carousel.mjs.map +1 -1
  20. package/fesm2022/ngstarter-ui-components-chips.mjs +16 -19
  21. package/fesm2022/ngstarter-ui-components-chips.mjs.map +1 -1
  22. package/fesm2022/ngstarter-ui-components-code-highlighter.mjs +4 -1
  23. package/fesm2022/ngstarter-ui-components-code-highlighter.mjs.map +1 -1
  24. package/fesm2022/ngstarter-ui-components-command-bar.mjs +2 -2
  25. package/fesm2022/ngstarter-ui-components-command-bar.mjs.map +1 -1
  26. package/fesm2022/ngstarter-ui-components-comment-editor.mjs +4 -16
  27. package/fesm2022/ngstarter-ui-components-comment-editor.mjs.map +1 -1
  28. package/fesm2022/{ngstarter-ui-components-content-editor-code-block.component-Czb0bvcr.mjs → ngstarter-ui-components-content-editor-code-block.component-CKrOhA7h.mjs} +2 -2
  29. package/fesm2022/{ngstarter-ui-components-content-editor-code-block.component-Czb0bvcr.mjs.map → ngstarter-ui-components-content-editor-code-block.component-CKrOhA7h.mjs.map} +1 -1
  30. package/fesm2022/{ngstarter-ui-components-content-editor-embed-block-c8Pq0Jdq.mjs → ngstarter-ui-components-content-editor-embed-block-zSApBzF3.mjs} +2 -2
  31. package/fesm2022/{ngstarter-ui-components-content-editor-embed-block-c8Pq0Jdq.mjs.map → ngstarter-ui-components-content-editor-embed-block-zSApBzF3.mjs.map} +1 -1
  32. package/fesm2022/{ngstarter-ui-components-content-editor-heading-block.component-CT5g3MLZ.mjs → ngstarter-ui-components-content-editor-heading-block.component-Dv8d0nCy.mjs} +2 -2
  33. package/fesm2022/{ngstarter-ui-components-content-editor-heading-block.component-CT5g3MLZ.mjs.map → ngstarter-ui-components-content-editor-heading-block.component-Dv8d0nCy.mjs.map} +1 -1
  34. package/fesm2022/{ngstarter-ui-components-content-editor-image-block.component-Cp_Yo7zI.mjs → ngstarter-ui-components-content-editor-image-block.component-g-H7a5Z_.mjs} +2 -2
  35. package/fesm2022/{ngstarter-ui-components-content-editor-image-block.component-Cp_Yo7zI.mjs.map → ngstarter-ui-components-content-editor-image-block.component-g-H7a5Z_.mjs.map} +1 -1
  36. package/fesm2022/{ngstarter-ui-components-content-editor-list-block.component-BvineUWy.mjs → ngstarter-ui-components-content-editor-list-block.component-PgqisgxY.mjs} +2 -2
  37. package/fesm2022/{ngstarter-ui-components-content-editor-list-block.component-BvineUWy.mjs.map → ngstarter-ui-components-content-editor-list-block.component-PgqisgxY.mjs.map} +1 -1
  38. package/fesm2022/{ngstarter-ui-components-content-editor-ngstarter-ui-components-content-editor-4_TqxgpH.mjs → ngstarter-ui-components-content-editor-ngstarter-ui-components-content-editor-BuMm25ea.mjs} +12 -13
  39. package/fesm2022/ngstarter-ui-components-content-editor-ngstarter-ui-components-content-editor-BuMm25ea.mjs.map +1 -0
  40. package/fesm2022/{ngstarter-ui-components-content-editor-paragraph-block.component-sH44U1I8.mjs → ngstarter-ui-components-content-editor-paragraph-block.component-DS_6CzuA.mjs} +2 -2
  41. package/fesm2022/{ngstarter-ui-components-content-editor-paragraph-block.component-sH44U1I8.mjs.map → ngstarter-ui-components-content-editor-paragraph-block.component-DS_6CzuA.mjs.map} +1 -1
  42. package/fesm2022/{ngstarter-ui-components-content-editor-quote-block.component-CA3KoZ-u.mjs → ngstarter-ui-components-content-editor-quote-block.component-Df92Nqvp.mjs} +2 -2
  43. package/fesm2022/{ngstarter-ui-components-content-editor-quote-block.component-CA3KoZ-u.mjs.map → ngstarter-ui-components-content-editor-quote-block.component-Df92Nqvp.mjs.map} +1 -1
  44. package/fesm2022/{ngstarter-ui-components-content-editor-table-block.component-GTZiYUjU.mjs → ngstarter-ui-components-content-editor-table-block.component-D4rdPkGz.mjs} +2 -2
  45. package/fesm2022/{ngstarter-ui-components-content-editor-table-block.component-GTZiYUjU.mjs.map → ngstarter-ui-components-content-editor-table-block.component-D4rdPkGz.mjs.map} +1 -1
  46. package/fesm2022/{ngstarter-ui-components-content-editor-video-block.component-CzMZ1s6C.mjs → ngstarter-ui-components-content-editor-video-block.component-DqS9Lhp_.mjs} +2 -2
  47. package/fesm2022/{ngstarter-ui-components-content-editor-video-block.component-CzMZ1s6C.mjs.map → ngstarter-ui-components-content-editor-video-block.component-DqS9Lhp_.mjs.map} +1 -1
  48. package/fesm2022/ngstarter-ui-components-content-editor.mjs +1 -1
  49. package/fesm2022/ngstarter-ui-components-core.mjs +0 -9
  50. package/fesm2022/ngstarter-ui-components-core.mjs.map +1 -1
  51. package/fesm2022/ngstarter-ui-components-country-select.mjs +11 -11
  52. package/fesm2022/ngstarter-ui-components-country-select.mjs.map +1 -1
  53. package/fesm2022/ngstarter-ui-components-data-view.mjs +0 -3
  54. package/fesm2022/ngstarter-ui-components-data-view.mjs.map +1 -1
  55. package/fesm2022/ngstarter-ui-components-datepicker.mjs +27 -23
  56. package/fesm2022/ngstarter-ui-components-datepicker.mjs.map +1 -1
  57. package/fesm2022/ngstarter-ui-components-dialog.mjs +0 -1
  58. package/fesm2022/ngstarter-ui-components-dialog.mjs.map +1 -1
  59. package/fesm2022/ngstarter-ui-components-digit-roller.mjs +4 -4
  60. package/fesm2022/ngstarter-ui-components-digit-roller.mjs.map +1 -1
  61. package/fesm2022/ngstarter-ui-components-drawer.mjs +15 -7
  62. package/fesm2022/ngstarter-ui-components-drawer.mjs.map +1 -1
  63. package/fesm2022/ngstarter-ui-components-empty-state.mjs +6 -6
  64. package/fesm2022/ngstarter-ui-components-empty-state.mjs.map +1 -1
  65. package/fesm2022/ngstarter-ui-components-expansion.mjs +6 -6
  66. package/fesm2022/ngstarter-ui-components-expansion.mjs.map +1 -1
  67. package/fesm2022/ngstarter-ui-components-filter-builder.mjs +0 -3
  68. package/fesm2022/ngstarter-ui-components-filter-builder.mjs.map +1 -1
  69. package/fesm2022/ngstarter-ui-components-form-field.mjs +4 -4
  70. package/fesm2022/ngstarter-ui-components-form-field.mjs.map +1 -1
  71. package/fesm2022/{ngstarter-ui-components-form-renderer-autocomplete-many-field-BLhfO1zC.mjs → ngstarter-ui-components-form-renderer-autocomplete-many-field-CGQ3pJaG.mjs} +2 -2
  72. package/fesm2022/{ngstarter-ui-components-form-renderer-autocomplete-many-field-BLhfO1zC.mjs.map → ngstarter-ui-components-form-renderer-autocomplete-many-field-CGQ3pJaG.mjs.map} +1 -1
  73. package/fesm2022/{ngstarter-ui-components-form-renderer-datepicker-field-DRSVe0gK.mjs → ngstarter-ui-components-form-renderer-datepicker-field-Cf3jfPv7.mjs} +2 -2
  74. package/fesm2022/{ngstarter-ui-components-form-renderer-datepicker-field-DRSVe0gK.mjs.map → ngstarter-ui-components-form-renderer-datepicker-field-Cf3jfPv7.mjs.map} +1 -1
  75. package/fesm2022/{ngstarter-ui-components-form-renderer-input-field-DpGLKZjz.mjs → ngstarter-ui-components-form-renderer-input-field-tZHU8-_L.mjs} +2 -2
  76. package/fesm2022/{ngstarter-ui-components-form-renderer-input-field-DpGLKZjz.mjs.map → ngstarter-ui-components-form-renderer-input-field-tZHU8-_L.mjs.map} +1 -1
  77. package/fesm2022/{ngstarter-ui-components-form-renderer-radio-group-field-DUCSU3iT.mjs → ngstarter-ui-components-form-renderer-radio-group-field-lc1V-NeL.mjs} +2 -2
  78. package/fesm2022/{ngstarter-ui-components-form-renderer-radio-group-field-DUCSU3iT.mjs.map → ngstarter-ui-components-form-renderer-radio-group-field-lc1V-NeL.mjs.map} +1 -1
  79. package/fesm2022/{ngstarter-ui-components-form-renderer-select-field-CCbpYyZo.mjs → ngstarter-ui-components-form-renderer-select-field-DyBidcIU.mjs} +2 -2
  80. package/fesm2022/{ngstarter-ui-components-form-renderer-select-field-CCbpYyZo.mjs.map → ngstarter-ui-components-form-renderer-select-field-DyBidcIU.mjs.map} +1 -1
  81. package/fesm2022/{ngstarter-ui-components-form-renderer-textarea-field-D89GlMDO.mjs → ngstarter-ui-components-form-renderer-textarea-field-DxbPsw3z.mjs} +2 -2
  82. package/fesm2022/{ngstarter-ui-components-form-renderer-textarea-field-D89GlMDO.mjs.map → ngstarter-ui-components-form-renderer-textarea-field-DxbPsw3z.mjs.map} +1 -1
  83. package/fesm2022/{ngstarter-ui-components-form-renderer-timezone-field-C9wz7zPg.mjs → ngstarter-ui-components-form-renderer-timezone-field-DAWrM-jS.mjs} +2 -2
  84. package/fesm2022/{ngstarter-ui-components-form-renderer-timezone-field-C9wz7zPg.mjs.map → ngstarter-ui-components-form-renderer-timezone-field-DAWrM-jS.mjs.map} +1 -1
  85. package/fesm2022/ngstarter-ui-components-form-renderer.mjs +9 -9
  86. package/fesm2022/ngstarter-ui-components-form-renderer.mjs.map +1 -1
  87. package/fesm2022/ngstarter-ui-components-guided-tour.mjs +4 -5
  88. package/fesm2022/ngstarter-ui-components-guided-tour.mjs.map +1 -1
  89. package/fesm2022/ngstarter-ui-components-headless-stepper.mjs +2 -2
  90. package/fesm2022/ngstarter-ui-components-headless-stepper.mjs.map +1 -1
  91. package/fesm2022/ngstarter-ui-components-icon.mjs +1 -1
  92. package/fesm2022/ngstarter-ui-components-icon.mjs.map +1 -1
  93. package/fesm2022/ngstarter-ui-components-image-designer.mjs +1 -1
  94. package/fesm2022/ngstarter-ui-components-image-designer.mjs.map +1 -1
  95. package/fesm2022/ngstarter-ui-components-marquee.mjs +78 -8
  96. package/fesm2022/ngstarter-ui-components-marquee.mjs.map +1 -1
  97. package/fesm2022/ngstarter-ui-components-notifications.mjs +4 -5
  98. package/fesm2022/ngstarter-ui-components-notifications.mjs.map +1 -1
  99. package/package.json +1 -1
  100. package/types/ngstarter-ui-components-card.d.ts +1 -1
  101. package/types/ngstarter-ui-components-chips.d.ts +3 -3
  102. package/types/ngstarter-ui-components-datepicker.d.ts +6 -6
  103. package/types/ngstarter-ui-components-expansion.d.ts +2 -2
  104. package/types/ngstarter-ui-components-form-field.d.ts +2 -2
  105. package/types/ngstarter-ui-components-guided-tour.d.ts +1 -1
  106. package/types/ngstarter-ui-components-marquee.d.ts +19 -11
  107. package/fesm2022/ngstarter-ui-components-content-editor-ngstarter-ui-components-content-editor-4_TqxgpH.mjs.map +0 -1
@@ -182,11 +182,11 @@ class MonthView {
182
182
  this.rangePreviewDateChange.emit(date);
183
183
  }
184
184
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: MonthView, deps: [], target: i0.ɵɵFactoryTarget.Component });
185
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.4", type: MonthView, isStandalone: true, selector: "ngs-month-view", inputs: { activeDate: { classPropertyName: "activeDate", publicName: "activeDate", isSignal: true, isRequired: true, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, minDate: { classPropertyName: "minDate", publicName: "minDate", isSignal: true, isRequired: false, transformFunction: null }, maxDate: { classPropertyName: "maxDate", publicName: "maxDate", isSignal: true, isRequired: false, transformFunction: null }, rangePreviewDate: { classPropertyName: "rangePreviewDate", publicName: "rangePreviewDate", isSignal: true, isRequired: false, transformFunction: null }, sharedRangePreview: { classPropertyName: "sharedRangePreview", publicName: "sharedRangePreview", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectedChange: "selectedChange", rangePreviewDateChange: "rangePreviewDateChange" }, host: { listeners: { "mouseleave": "handleHover(null)" }, classAttribute: "ngs-month-view" }, ngImport: i0, template: "<table class=\"ngs-calendar-table\">\n <thead class=\"ngs-calendar-table-header\">\n <tr>\n @for (day of weekdays(); track $index) {\n <th scope=\"col\">{{ day }}</th>\n }\n </tr>\n </thead>\n <tbody class=\"ngs-calendar-table-body\">\n @for (week of weeks(); track $index) {\n @if (week[0].date || week[6].date) {\n <tr>\n @for (day of week; track $index) {\n <td\n class=\"ngs-calendar-cell\"\n [class.ngs-calendar-cell-selected]=\"day.selected\"\n [class.ngs-calendar-cell-today]=\"day.current\"\n [class.ngs-calendar-cell-empty]=\"!day.date\"\n [class.ngs-calendar-cell-in-range]=\"day.inRange\"\n [class.ngs-calendar-cell-range-start]=\"day.rangeStart\"\n [class.ngs-calendar-cell-range-end]=\"day.rangeEnd\"\n (click)=\"selectDate(day.date)\"\n (mouseenter)=\"handleHover(day.date)\"\n >\n <div class=\"ngs-calendar-cell-content\">\n {{ day.label }}\n </div>\n </td>\n }\n </tr>\n }\n }\n </tbody>\n</table>\n", styles: [":host{display:block;height:100%;min-height:calc(var(--ngs-calendar-cell-size) * 6 + calc(var(--spacing, .25rem) * 2))}:host .ngs-calendar-table{width:100%;border-collapse:collapse;border-spacing:0}:host .ngs-calendar-table th{padding:8px 0;font-weight:600;font-size:var(--ngs-font-size-xs);color:var(--ngs-color-on-surface-variant);text-align:center}:host .ngs-calendar-cell{width:var(--ngs-calendar-cell-size);height:var(--ngs-calendar-cell-size);border-radius:var(--ngs-calendar-cell-radius);text-align:center;cursor:pointer;position:relative;box-sizing:border-box}:host .ngs-calendar-cell.ngs-calendar-cell-selected{background:var(--ngs-calendar-cell-selected-bg);color:var(--ngs-calendar-cell-selected-color);z-index:1}:host .ngs-calendar-cell.ngs-calendar-cell-in-range{background:var(--ngs-calendar-cell-in-range-bg);border-radius:0}:host .ngs-calendar-cell.ngs-calendar-cell-range-start{border-top-left-radius:var(--ngs-calendar-cell-radius);border-bottom-left-radius:var(--ngs-calendar-cell-radius);background:var(--ngs-calendar-cell-selected-bg);color:var(--ngs-calendar-cell-selected-color);z-index:1}:host .ngs-calendar-cell.ngs-calendar-cell-range-end{border-top-right-radius:var(--ngs-calendar-cell-radius);border-bottom-right-radius:var(--ngs-calendar-cell-radius);background:var(--ngs-calendar-cell-selected-bg);color:var(--ngs-calendar-cell-selected-color);z-index:1}:host .ngs-calendar-cell.ngs-calendar-cell-range-start.ngs-calendar-cell-range-end{border-radius:var(--ngs-calendar-cell-radius)}:host .ngs-calendar-cell:not(.ngs-calendar-cell-empty):not(.ngs-calendar-cell-selected):not(.ngs-calendar-cell-range-start):not(.ngs-calendar-cell-range-end):hover{background:var(--ngs-calendar-cell-hover-bg)}:host .ngs-calendar-cell-empty{cursor:default}:host .ngs-calendar-cell-today{z-index:1}:host .ngs-calendar-cell-today .ngs-calendar-cell-content{outline:var(--ngs-calendar-cell-today-border);border-radius:inherit}:host .ngs-calendar-cell-content{display:flex;align-items:center;justify-content:center;height:100%}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
185
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.4", type: MonthView, isStandalone: true, selector: "ngs-month-view", inputs: { activeDate: { classPropertyName: "activeDate", publicName: "activeDate", isSignal: true, isRequired: true, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, minDate: { classPropertyName: "minDate", publicName: "minDate", isSignal: true, isRequired: false, transformFunction: null }, maxDate: { classPropertyName: "maxDate", publicName: "maxDate", isSignal: true, isRequired: false, transformFunction: null }, rangePreviewDate: { classPropertyName: "rangePreviewDate", publicName: "rangePreviewDate", isSignal: true, isRequired: false, transformFunction: null }, sharedRangePreview: { classPropertyName: "sharedRangePreview", publicName: "sharedRangePreview", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectedChange: "selectedChange", rangePreviewDateChange: "rangePreviewDateChange" }, host: { listeners: { "mouseleave": "handleHover(null)" }, classAttribute: "ngs-month-view" }, exportAs: ["ngsMonthView"], ngImport: i0, template: "<table class=\"ngs-calendar-table\">\n <thead class=\"ngs-calendar-table-header\">\n <tr>\n @for (day of weekdays(); track $index) {\n <th scope=\"col\">{{ day }}</th>\n }\n </tr>\n </thead>\n <tbody class=\"ngs-calendar-table-body\">\n @for (week of weeks(); track $index) {\n @if (week[0].date || week[6].date) {\n <tr>\n @for (day of week; track $index) {\n <td\n class=\"ngs-calendar-cell\"\n [class.ngs-calendar-cell-selected]=\"day.selected\"\n [class.ngs-calendar-cell-today]=\"day.current\"\n [class.ngs-calendar-cell-empty]=\"!day.date\"\n [class.ngs-calendar-cell-in-range]=\"day.inRange\"\n [class.ngs-calendar-cell-range-start]=\"day.rangeStart\"\n [class.ngs-calendar-cell-range-end]=\"day.rangeEnd\"\n (click)=\"selectDate(day.date)\"\n (mouseenter)=\"handleHover(day.date)\"\n >\n <div class=\"ngs-calendar-cell-content\">\n {{ day.label }}\n </div>\n </td>\n }\n </tr>\n }\n }\n </tbody>\n</table>\n", styles: [":host{display:block;height:100%;min-height:calc(var(--ngs-calendar-cell-size) * 6 + calc(var(--spacing, .25rem) * 2))}:host .ngs-calendar-table{width:100%;border-collapse:collapse;border-spacing:0}:host .ngs-calendar-table th{padding:8px 0;font-weight:600;font-size:var(--ngs-font-size-xs);color:var(--ngs-color-on-surface-variant);text-align:center}:host .ngs-calendar-cell{width:var(--ngs-calendar-cell-size);height:var(--ngs-calendar-cell-size);border-radius:var(--ngs-calendar-cell-radius);text-align:center;cursor:pointer;position:relative;box-sizing:border-box}:host .ngs-calendar-cell.ngs-calendar-cell-selected{background:var(--ngs-calendar-cell-selected-bg);color:var(--ngs-calendar-cell-selected-color);z-index:1}:host .ngs-calendar-cell.ngs-calendar-cell-in-range{background:var(--ngs-calendar-cell-in-range-bg);border-radius:0}:host .ngs-calendar-cell.ngs-calendar-cell-range-start{border-top-left-radius:var(--ngs-calendar-cell-radius);border-bottom-left-radius:var(--ngs-calendar-cell-radius);background:var(--ngs-calendar-cell-selected-bg);color:var(--ngs-calendar-cell-selected-color);z-index:1}:host .ngs-calendar-cell.ngs-calendar-cell-range-end{border-top-right-radius:var(--ngs-calendar-cell-radius);border-bottom-right-radius:var(--ngs-calendar-cell-radius);background:var(--ngs-calendar-cell-selected-bg);color:var(--ngs-calendar-cell-selected-color);z-index:1}:host .ngs-calendar-cell.ngs-calendar-cell-range-start.ngs-calendar-cell-range-end{border-radius:var(--ngs-calendar-cell-radius)}:host .ngs-calendar-cell:not(.ngs-calendar-cell-empty):not(.ngs-calendar-cell-selected):not(.ngs-calendar-cell-range-start):not(.ngs-calendar-cell-range-end):hover{background:var(--ngs-calendar-cell-hover-bg)}:host .ngs-calendar-cell-empty{cursor:default}:host .ngs-calendar-cell-today{z-index:1}:host .ngs-calendar-cell-today .ngs-calendar-cell-content{outline:var(--ngs-calendar-cell-today-border);border-radius:inherit}:host .ngs-calendar-cell-content{display:flex;align-items:center;justify-content:center;height:100%}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
186
186
  }
187
187
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: MonthView, decorators: [{
188
188
  type: Component,
189
- args: [{ selector: 'ngs-month-view', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, host: {
189
+ args: [{ selector: 'ngs-month-view', exportAs: 'ngsMonthView', changeDetection: ChangeDetectionStrategy.OnPush, host: {
190
190
  'class': 'ngs-month-view',
191
191
  '(mouseleave)': 'handleHover(null)'
192
192
  }, template: "<table class=\"ngs-calendar-table\">\n <thead class=\"ngs-calendar-table-header\">\n <tr>\n @for (day of weekdays(); track $index) {\n <th scope=\"col\">{{ day }}</th>\n }\n </tr>\n </thead>\n <tbody class=\"ngs-calendar-table-body\">\n @for (week of weeks(); track $index) {\n @if (week[0].date || week[6].date) {\n <tr>\n @for (day of week; track $index) {\n <td\n class=\"ngs-calendar-cell\"\n [class.ngs-calendar-cell-selected]=\"day.selected\"\n [class.ngs-calendar-cell-today]=\"day.current\"\n [class.ngs-calendar-cell-empty]=\"!day.date\"\n [class.ngs-calendar-cell-in-range]=\"day.inRange\"\n [class.ngs-calendar-cell-range-start]=\"day.rangeStart\"\n [class.ngs-calendar-cell-range-end]=\"day.rangeEnd\"\n (click)=\"selectDate(day.date)\"\n (mouseenter)=\"handleHover(day.date)\"\n >\n <div class=\"ngs-calendar-cell-content\">\n {{ day.label }}\n </div>\n </td>\n }\n </tr>\n }\n }\n </tbody>\n</table>\n", styles: [":host{display:block;height:100%;min-height:calc(var(--ngs-calendar-cell-size) * 6 + calc(var(--spacing, .25rem) * 2))}:host .ngs-calendar-table{width:100%;border-collapse:collapse;border-spacing:0}:host .ngs-calendar-table th{padding:8px 0;font-weight:600;font-size:var(--ngs-font-size-xs);color:var(--ngs-color-on-surface-variant);text-align:center}:host .ngs-calendar-cell{width:var(--ngs-calendar-cell-size);height:var(--ngs-calendar-cell-size);border-radius:var(--ngs-calendar-cell-radius);text-align:center;cursor:pointer;position:relative;box-sizing:border-box}:host .ngs-calendar-cell.ngs-calendar-cell-selected{background:var(--ngs-calendar-cell-selected-bg);color:var(--ngs-calendar-cell-selected-color);z-index:1}:host .ngs-calendar-cell.ngs-calendar-cell-in-range{background:var(--ngs-calendar-cell-in-range-bg);border-radius:0}:host .ngs-calendar-cell.ngs-calendar-cell-range-start{border-top-left-radius:var(--ngs-calendar-cell-radius);border-bottom-left-radius:var(--ngs-calendar-cell-radius);background:var(--ngs-calendar-cell-selected-bg);color:var(--ngs-calendar-cell-selected-color);z-index:1}:host .ngs-calendar-cell.ngs-calendar-cell-range-end{border-top-right-radius:var(--ngs-calendar-cell-radius);border-bottom-right-radius:var(--ngs-calendar-cell-radius);background:var(--ngs-calendar-cell-selected-bg);color:var(--ngs-calendar-cell-selected-color);z-index:1}:host .ngs-calendar-cell.ngs-calendar-cell-range-start.ngs-calendar-cell-range-end{border-radius:var(--ngs-calendar-cell-radius)}:host .ngs-calendar-cell:not(.ngs-calendar-cell-empty):not(.ngs-calendar-cell-selected):not(.ngs-calendar-cell-range-start):not(.ngs-calendar-cell-range-end):hover{background:var(--ngs-calendar-cell-hover-bg)}:host .ngs-calendar-cell-empty{cursor:default}:host .ngs-calendar-cell-today{z-index:1}:host .ngs-calendar-cell-today .ngs-calendar-cell-content{outline:var(--ngs-calendar-cell-today-border);border-radius:inherit}:host .ngs-calendar-cell-content{display:flex;align-items:center;justify-content:center;height:100%}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] }]
@@ -227,11 +227,11 @@ class YearView {
227
227
  this.monthSelected.emit(date);
228
228
  }
229
229
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: YearView, deps: [], target: i0.ɵɵFactoryTarget.Component });
230
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.4", type: YearView, isStandalone: true, selector: "ngs-year-view", inputs: { activeDate: { classPropertyName: "activeDate", publicName: "activeDate", isSignal: true, isRequired: true, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { monthSelected: "monthSelected" }, host: { classAttribute: "ngs-year-view" }, ngImport: i0, template: "<table class=\"ngs-calendar-table\">\n <tbody class=\"ngs-calendar-table-body\">\n @for (row of months(); track row) {\n <tr>\n @for (month of row; track month.index) {\n <td\n class=\"ngs-calendar-cell\"\n [class.ngs-calendar-cell-selected]=\"month.selected\"\n [class.ngs-calendar-cell-today]=\"month.current\"\n (click)=\"selectMonth(month.index)\"\n >\n <div class=\"ngs-calendar-cell-content\">\n {{ month.label }}\n </div>\n </td>\n }\n </tr>\n }\n </tbody>\n</table>\n", styles: [":host{display:block;height:100%}:host .ngs-calendar-table{width:100%;border-collapse:collapse;border-spacing:0}:host .ngs-calendar-cell{width:var(--ngs-calendar-cell-size);height:var(--ngs-calendar-cell-size);text-align:center;cursor:pointer;border-radius:var(--ngs-calendar-cell-radius);position:relative;box-sizing:border-box}:host .ngs-calendar-cell.ngs-calendar-cell-selected{background:var(--ngs-calendar-cell-selected-bg);color:var(--ngs-calendar-cell-selected-color);z-index:1}:host .ngs-calendar-cell:not(.ngs-calendar-cell-empty):not(.ngs-calendar-cell-selected):hover{background:var(--ngs-calendar-cell-hover-bg)}:host .ngs-calendar-cell-today{z-index:1}:host .ngs-calendar-cell-today .ngs-calendar-cell-content{outline:var(--ngs-calendar-cell-today-border);border-radius:inherit}:host .ngs-calendar-cell-content{display:flex;align-items:center;justify-content:center;height:100%}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
230
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.4", type: YearView, isStandalone: true, selector: "ngs-year-view", inputs: { activeDate: { classPropertyName: "activeDate", publicName: "activeDate", isSignal: true, isRequired: true, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { monthSelected: "monthSelected" }, host: { classAttribute: "ngs-year-view" }, exportAs: ["ngsYearView"], ngImport: i0, template: "<table class=\"ngs-calendar-table\">\n <tbody class=\"ngs-calendar-table-body\">\n @for (row of months(); track row) {\n <tr>\n @for (month of row; track month.index) {\n <td\n class=\"ngs-calendar-cell\"\n [class.ngs-calendar-cell-selected]=\"month.selected\"\n [class.ngs-calendar-cell-today]=\"month.current\"\n (click)=\"selectMonth(month.index)\"\n >\n <div class=\"ngs-calendar-cell-content\">\n {{ month.label }}\n </div>\n </td>\n }\n </tr>\n }\n </tbody>\n</table>\n", styles: [":host{display:block;height:100%}:host .ngs-calendar-table{width:100%;border-collapse:collapse;border-spacing:0}:host .ngs-calendar-cell{width:var(--ngs-calendar-cell-size);height:var(--ngs-calendar-cell-size);text-align:center;cursor:pointer;border-radius:var(--ngs-calendar-cell-radius);position:relative;box-sizing:border-box}:host .ngs-calendar-cell.ngs-calendar-cell-selected{background:var(--ngs-calendar-cell-selected-bg);color:var(--ngs-calendar-cell-selected-color);z-index:1}:host .ngs-calendar-cell:not(.ngs-calendar-cell-empty):not(.ngs-calendar-cell-selected):hover{background:var(--ngs-calendar-cell-hover-bg)}:host .ngs-calendar-cell-today{z-index:1}:host .ngs-calendar-cell-today .ngs-calendar-cell-content{outline:var(--ngs-calendar-cell-today-border);border-radius:inherit}:host .ngs-calendar-cell-content{display:flex;align-items:center;justify-content:center;height:100%}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
231
231
  }
232
232
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: YearView, decorators: [{
233
233
  type: Component,
234
- args: [{ selector: 'ngs-year-view', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, host: {
234
+ args: [{ selector: 'ngs-year-view', exportAs: 'ngsYearView', changeDetection: ChangeDetectionStrategy.OnPush, host: {
235
235
  'class': 'ngs-year-view',
236
236
  }, template: "<table class=\"ngs-calendar-table\">\n <tbody class=\"ngs-calendar-table-body\">\n @for (row of months(); track row) {\n <tr>\n @for (month of row; track month.index) {\n <td\n class=\"ngs-calendar-cell\"\n [class.ngs-calendar-cell-selected]=\"month.selected\"\n [class.ngs-calendar-cell-today]=\"month.current\"\n (click)=\"selectMonth(month.index)\"\n >\n <div class=\"ngs-calendar-cell-content\">\n {{ month.label }}\n </div>\n </td>\n }\n </tr>\n }\n </tbody>\n</table>\n", styles: [":host{display:block;height:100%}:host .ngs-calendar-table{width:100%;border-collapse:collapse;border-spacing:0}:host .ngs-calendar-cell{width:var(--ngs-calendar-cell-size);height:var(--ngs-calendar-cell-size);text-align:center;cursor:pointer;border-radius:var(--ngs-calendar-cell-radius);position:relative;box-sizing:border-box}:host .ngs-calendar-cell.ngs-calendar-cell-selected{background:var(--ngs-calendar-cell-selected-bg);color:var(--ngs-calendar-cell-selected-color);z-index:1}:host .ngs-calendar-cell:not(.ngs-calendar-cell-empty):not(.ngs-calendar-cell-selected):hover{background:var(--ngs-calendar-cell-hover-bg)}:host .ngs-calendar-cell-today{z-index:1}:host .ngs-calendar-cell-today .ngs-calendar-cell-content{outline:var(--ngs-calendar-cell-today-border);border-radius:inherit}:host .ngs-calendar-cell-content{display:flex;align-items:center;justify-content:center;height:100%}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] }]
237
237
  }], propDecorators: { activeDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "activeDate", required: true }] }], selected: [{ type: i0.Input, args: [{ isSignal: true, alias: "selected", required: false }] }], monthSelected: [{ type: i0.Output, args: ["monthSelected"] }] } });
@@ -273,11 +273,11 @@ class MultiYearView {
273
273
  this.yearSelected.emit(date);
274
274
  }
275
275
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: MultiYearView, deps: [], target: i0.ɵɵFactoryTarget.Component });
276
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.4", type: MultiYearView, isStandalone: true, selector: "ngs-multi-year-view", inputs: { activeDate: { classPropertyName: "activeDate", publicName: "activeDate", isSignal: true, isRequired: true, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { yearSelected: "yearSelected" }, host: { classAttribute: "ngs-multi-year-view" }, ngImport: i0, template: "<table class=\"ngs-calendar-table\">\n <tbody class=\"ngs-calendar-table-body\">\n @for (row of years(); track row) {\n <tr>\n @for (year of row; track year.label) {\n <td\n class=\"ngs-calendar-cell\"\n [class.ngs-calendar-cell-selected]=\"year.selected\"\n [class.ngs-calendar-cell-today]=\"year.current\"\n (click)=\"selectYear(year.value)\"\n >\n <div class=\"ngs-calendar-cell-content\">\n {{ year.label }}\n </div>\n </td>\n }\n </tr>\n }\n </tbody>\n</table>\n", styles: [":host{display:block;height:100%}:host .ngs-calendar-table{width:100%;border-collapse:collapse;border-spacing:0}:host .ngs-calendar-cell{width:var(--ngs-calendar-cell-size);height:var(--ngs-calendar-cell-size);text-align:center;cursor:pointer;border-radius:var(--ngs-calendar-cell-radius);position:relative;box-sizing:border-box}:host .ngs-calendar-cell.ngs-calendar-cell-selected{background:var(--ngs-calendar-cell-selected-bg);color:var(--ngs-calendar-cell-selected-color);z-index:1}:host .ngs-calendar-cell:not(.ngs-calendar-cell-empty):not(.ngs-calendar-cell-selected):hover{background:var(--ngs-calendar-cell-hover-bg)}:host .ngs-calendar-cell-today{z-index:1}:host .ngs-calendar-cell-today .ngs-calendar-cell-content{outline:var(--ngs-calendar-cell-today-border);border-radius:inherit}:host .ngs-calendar-cell-content{display:flex;align-items:center;justify-content:center;height:100%}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
276
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.4", type: MultiYearView, isStandalone: true, selector: "ngs-multi-year-view", inputs: { activeDate: { classPropertyName: "activeDate", publicName: "activeDate", isSignal: true, isRequired: true, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { yearSelected: "yearSelected" }, host: { classAttribute: "ngs-multi-year-view" }, exportAs: ["ngsMultiYearView"], ngImport: i0, template: "<table class=\"ngs-calendar-table\">\n <tbody class=\"ngs-calendar-table-body\">\n @for (row of years(); track row) {\n <tr>\n @for (year of row; track year.label) {\n <td\n class=\"ngs-calendar-cell\"\n [class.ngs-calendar-cell-selected]=\"year.selected\"\n [class.ngs-calendar-cell-today]=\"year.current\"\n (click)=\"selectYear(year.value)\"\n >\n <div class=\"ngs-calendar-cell-content\">\n {{ year.label }}\n </div>\n </td>\n }\n </tr>\n }\n </tbody>\n</table>\n", styles: [":host{display:block;height:100%}:host .ngs-calendar-table{width:100%;border-collapse:collapse;border-spacing:0}:host .ngs-calendar-cell{width:var(--ngs-calendar-cell-size);height:var(--ngs-calendar-cell-size);text-align:center;cursor:pointer;border-radius:var(--ngs-calendar-cell-radius);position:relative;box-sizing:border-box}:host .ngs-calendar-cell.ngs-calendar-cell-selected{background:var(--ngs-calendar-cell-selected-bg);color:var(--ngs-calendar-cell-selected-color);z-index:1}:host .ngs-calendar-cell:not(.ngs-calendar-cell-empty):not(.ngs-calendar-cell-selected):hover{background:var(--ngs-calendar-cell-hover-bg)}:host .ngs-calendar-cell-today{z-index:1}:host .ngs-calendar-cell-today .ngs-calendar-cell-content{outline:var(--ngs-calendar-cell-today-border);border-radius:inherit}:host .ngs-calendar-cell-content{display:flex;align-items:center;justify-content:center;height:100%}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
277
277
  }
278
278
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: MultiYearView, decorators: [{
279
279
  type: Component,
280
- args: [{ selector: 'ngs-multi-year-view', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, host: {
280
+ args: [{ selector: 'ngs-multi-year-view', exportAs: 'ngsMultiYearView', changeDetection: ChangeDetectionStrategy.OnPush, host: {
281
281
  'class': 'ngs-multi-year-view',
282
282
  }, template: "<table class=\"ngs-calendar-table\">\n <tbody class=\"ngs-calendar-table-body\">\n @for (row of years(); track row) {\n <tr>\n @for (year of row; track year.label) {\n <td\n class=\"ngs-calendar-cell\"\n [class.ngs-calendar-cell-selected]=\"year.selected\"\n [class.ngs-calendar-cell-today]=\"year.current\"\n (click)=\"selectYear(year.value)\"\n >\n <div class=\"ngs-calendar-cell-content\">\n {{ year.label }}\n </div>\n </td>\n }\n </tr>\n }\n </tbody>\n</table>\n", styles: [":host{display:block;height:100%}:host .ngs-calendar-table{width:100%;border-collapse:collapse;border-spacing:0}:host .ngs-calendar-cell{width:var(--ngs-calendar-cell-size);height:var(--ngs-calendar-cell-size);text-align:center;cursor:pointer;border-radius:var(--ngs-calendar-cell-radius);position:relative;box-sizing:border-box}:host .ngs-calendar-cell.ngs-calendar-cell-selected{background:var(--ngs-calendar-cell-selected-bg);color:var(--ngs-calendar-cell-selected-color);z-index:1}:host .ngs-calendar-cell:not(.ngs-calendar-cell-empty):not(.ngs-calendar-cell-selected):hover{background:var(--ngs-calendar-cell-hover-bg)}:host .ngs-calendar-cell-today{z-index:1}:host .ngs-calendar-cell-today .ngs-calendar-cell-content{outline:var(--ngs-calendar-cell-today-border);border-radius:inherit}:host .ngs-calendar-cell-content{display:flex;align-items:center;justify-content:center;height:100%}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] }]
283
283
  }], propDecorators: { activeDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "activeDate", required: true }] }], selected: [{ type: i0.Input, args: [{ isSignal: true, alias: "selected", required: false }] }], yearSelected: [{ type: i0.Output, args: ["yearSelected"] }] } });
@@ -409,11 +409,18 @@ class Calendar {
409
409
  return `${this._dateAdapter.getYear(date)}-${this._dateAdapter.getMonth(date)}-${index}`;
410
410
  }
411
411
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: Calendar, deps: [], target: i0.ɵɵFactoryTarget.Component });
412
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.4", type: Calendar, isStandalone: true, selector: "ngs-calendar", inputs: { startAt: { classPropertyName: "startAt", publicName: "startAt", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, minDate: { classPropertyName: "minDate", publicName: "minDate", isSignal: true, isRequired: false, transformFunction: null }, maxDate: { classPropertyName: "maxDate", publicName: "maxDate", isSignal: true, isRequired: false, transformFunction: null }, headerComponent: { classPropertyName: "headerComponent", publicName: "headerComponent", isSignal: true, isRequired: false, transformFunction: null }, visibleCalendars: { classPropertyName: "visibleCalendars", publicName: "visibleCalendars", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectedChange: "selectedChange", yearSelected: "yearSelected", monthSelected: "monthSelected" }, host: { properties: { "class.ngs-calendar-multiple-months": "currentView() === \"month\" && visibleCalendars() === 2" }, classAttribute: "ngs-calendar" }, exportAs: ["ngsCalendar"], ngImport: i0, template: "@if (headerComponent()) {\n <ng-container *ngComponentOutlet=\"headerComponent()\" />\n} @else {\n <div class=\"ngs-calendar-header\">\n <button type=\"button\" (click)=\"toggleView()\" class=\"ngs-calendar-period-button\">\n {{ periodButtonText() }}\n </button>\n <div class=\"ngs-calendar-header-actions\">\n <button type=\"button\" ngsIconButton (click)=\"prevPage()\" class=\"ngs-calendar-previous-button\">\n <ngs-icon name=\"fluent:chevron-left-24-regular\" />\n </button>\n <button type=\"button\" ngsIconButton (click)=\"nextPage()\" class=\"ngs-calendar-next-button\">\n <ngs-icon name=\"fluent:chevron-right-24-regular\" />\n </button>\n </div>\n </div>\n}\n\n<div class=\"ngs-calendar-content\" [class.ngs-calendar-content-multiple]=\"currentView() === 'month' && visibleCalendars() === 2\">\n @if (currentView() === 'month') {\n @for (monthActiveDate of _monthViewActiveDates(); track _trackMonth($index, monthActiveDate)) {\n <ngs-month-view [activeDate]=\"monthActiveDate\"\n [selected]=\"selected()\"\n [rangePreviewDate]=\"_rangePreviewDate()\"\n [sharedRangePreview]=\"true\"\n (rangePreviewDateChange)=\"_rangePreviewDate.set($event)\"\n (selectedChange)=\"selectedChange.emit($event)\"\n />\n }\n } @else if (currentView() === 'year') {\n <ngs-year-view [activeDate]=\"activeDate()\"\n [selected]=\"_selectedDate()\"\n (monthSelected)=\"_monthSelectedInYearView($event)\"\n />\n } @else if (currentView() === 'multi-year') {\n <ngs-multi-year-view [activeDate]=\"activeDate()\"\n [selected]=\"_selectedDate()\"\n (yearSelected)=\"_yearSelectedInMultiYearView($event)\"\n />\n }\n</div>\n", styles: [":host{display:flex;flex-direction:column;width:calc(var(--ngs-calendar-cell-size) * 7 + var(--ngs-calendar-padding) * 2 + calc(var(--spacing, .25rem) * 2));min-height:calc(var(--ngs-calendar-cell-size) * 5 + calc(var(--spacing, .25rem) * 2));padding:calc(var(--spacing, .25rem) * 2)}:host.ngs-calendar-multiple-months{width:auto}:host .ngs-calendar-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--ngs-calendar-header-padding);flex-shrink:0;margin-inline-start:calc(var(--spacing, .25rem) * 2)}:host .ngs-calendar-period-button{background:transparent;border:none;cursor:pointer;font-weight:700}:host .ngs-calendar-period-button:hover{color:var(--ngs-color-primary)}:host .ngs-calendar-content-multiple{display:flex;gap:calc(var(--spacing, .25rem) * 2)}:host .ngs-calendar-content-multiple ngs-month-view{flex:0 0 calc(var(--ngs-calendar-cell-size) * 7)}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "component", type: MonthView, selector: "ngs-month-view", inputs: ["activeDate", "selected", "minDate", "maxDate", "rangePreviewDate", "sharedRangePreview"], outputs: ["selectedChange", "rangePreviewDateChange"] }, { kind: "component", type: YearView, selector: "ngs-year-view", inputs: ["activeDate", "selected"], outputs: ["monthSelected"] }, { kind: "component", type: MultiYearView, selector: "ngs-multi-year-view", inputs: ["activeDate", "selected"], outputs: ["yearSelected"] }, { kind: "component", type: Button, selector: " button[ngsButton], button[ngsIconButton], a[ngsButton], a[ngsIconButton] ", inputs: ["ngsButton", "ngsIconButton", "loading", "disabled", "disabledInteractive", "disableRipple", "reverse", "fullWidth", "hideTextOnMobile"], exportAs: ["ngsButton"] }, { kind: "component", type: Icon, selector: "ngs-icon", inputs: ["name"], exportAs: ["ngsIcon"] }, { kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule"], exportAs: ["ngComponentOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
412
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.4", type: Calendar, isStandalone: true, selector: "ngs-calendar", inputs: { startAt: { classPropertyName: "startAt", publicName: "startAt", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, minDate: { classPropertyName: "minDate", publicName: "minDate", isSignal: true, isRequired: false, transformFunction: null }, maxDate: { classPropertyName: "maxDate", publicName: "maxDate", isSignal: true, isRequired: false, transformFunction: null }, headerComponent: { classPropertyName: "headerComponent", publicName: "headerComponent", isSignal: true, isRequired: false, transformFunction: null }, visibleCalendars: { classPropertyName: "visibleCalendars", publicName: "visibleCalendars", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectedChange: "selectedChange", yearSelected: "yearSelected", monthSelected: "monthSelected" }, host: { properties: { "class.ngs-calendar-multiple-months": "currentView() === \"month\" && visibleCalendars() === 2" }, classAttribute: "ngs-calendar" }, exportAs: ["ngsCalendar"], ngImport: i0, template: "@if (headerComponent()) {\n <ng-container *ngComponentOutlet=\"headerComponent()\" />\n} @else {\n <div class=\"ngs-calendar-header\">\n <button type=\"button\" (click)=\"toggleView()\" class=\"ngs-calendar-period-button\">\n {{ periodButtonText() }}\n </button>\n <div class=\"ngs-calendar-header-actions\">\n <button type=\"button\" ngsIconButton (click)=\"prevPage()\" class=\"ngs-calendar-previous-button\">\n <ngs-icon name=\"fluent:chevron-left-24-regular\" />\n </button>\n <button type=\"button\" ngsIconButton (click)=\"nextPage()\" class=\"ngs-calendar-next-button\">\n <ngs-icon name=\"fluent:chevron-right-24-regular\" />\n </button>\n </div>\n </div>\n}\n\n<div class=\"ngs-calendar-content\" [class.ngs-calendar-content-multiple]=\"currentView() === 'month' && visibleCalendars() === 2\">\n @if (currentView() === 'month') {\n @for (monthActiveDate of _monthViewActiveDates(); track _trackMonth($index, monthActiveDate)) {\n <ngs-month-view [activeDate]=\"monthActiveDate\"\n [selected]=\"selected()\"\n [rangePreviewDate]=\"_rangePreviewDate()\"\n [sharedRangePreview]=\"true\"\n (rangePreviewDateChange)=\"_rangePreviewDate.set($event)\"\n (selectedChange)=\"selectedChange.emit($event)\"\n />\n }\n } @else if (currentView() === 'year') {\n <ngs-year-view [activeDate]=\"activeDate()\"\n [selected]=\"_selectedDate()\"\n (monthSelected)=\"_monthSelectedInYearView($event)\"\n />\n } @else if (currentView() === 'multi-year') {\n <ngs-multi-year-view [activeDate]=\"activeDate()\"\n [selected]=\"_selectedDate()\"\n (yearSelected)=\"_yearSelectedInMultiYearView($event)\"\n />\n }\n</div>\n", styles: [":host{display:flex;flex-direction:column;width:calc(var(--ngs-calendar-cell-size) * 7 + var(--ngs-calendar-padding) * 2 + calc(var(--spacing, .25rem) * 2));min-height:calc(var(--ngs-calendar-cell-size) * 5 + calc(var(--spacing, .25rem) * 2));padding:calc(var(--spacing, .25rem) * 2)}:host.ngs-calendar-multiple-months{width:auto}:host .ngs-calendar-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--ngs-calendar-header-padding);flex-shrink:0;margin-inline-start:calc(var(--spacing, .25rem) * 2)}:host .ngs-calendar-period-button{background:transparent;border:none;cursor:pointer;font-weight:700}:host .ngs-calendar-period-button:hover{color:var(--ngs-color-primary)}:host .ngs-calendar-content-multiple{display:flex;gap:calc(var(--spacing, .25rem) * 2)}:host .ngs-calendar-content-multiple ngs-month-view{flex:0 0 calc(var(--ngs-calendar-cell-size) * 7)}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "component", type: MonthView, selector: "ngs-month-view", inputs: ["activeDate", "selected", "minDate", "maxDate", "rangePreviewDate", "sharedRangePreview"], outputs: ["selectedChange", "rangePreviewDateChange"], exportAs: ["ngsMonthView"] }, { kind: "component", type: YearView, selector: "ngs-year-view", inputs: ["activeDate", "selected"], outputs: ["monthSelected"], exportAs: ["ngsYearView"] }, { kind: "component", type: MultiYearView, selector: "ngs-multi-year-view", inputs: ["activeDate", "selected"], outputs: ["yearSelected"], exportAs: ["ngsMultiYearView"] }, { kind: "component", type: Button, selector: " button[ngsButton], button[ngsIconButton], a[ngsButton], a[ngsIconButton] ", inputs: ["ngsButton", "ngsIconButton", "loading", "disabled", "disabledInteractive", "disableRipple", "reverse", "fullWidth", "hideTextOnMobile"], exportAs: ["ngsButton"] }, { kind: "component", type: Icon, selector: "ngs-icon", inputs: ["name"], exportAs: ["ngsIcon"] }, { kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule"], exportAs: ["ngComponentOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
413
413
  }
414
414
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: Calendar, decorators: [{
415
415
  type: Component,
416
- args: [{ selector: 'ngs-calendar', standalone: true, imports: [MonthView, YearView, MultiYearView, Button, Icon, NgComponentOutlet], changeDetection: ChangeDetectionStrategy.OnPush, exportAs: 'ngsCalendar', host: {
416
+ args: [{ selector: 'ngs-calendar', exportAs: 'ngsCalendar', imports: [
417
+ MonthView,
418
+ YearView,
419
+ MultiYearView,
420
+ Button,
421
+ Icon,
422
+ NgComponentOutlet
423
+ ], changeDetection: ChangeDetectionStrategy.OnPush, host: {
417
424
  'class': 'ngs-calendar',
418
425
  '[class.ngs-calendar-multiple-months]': 'currentView() === "month" && visibleCalendars() === 2',
419
426
  }, template: "@if (headerComponent()) {\n <ng-container *ngComponentOutlet=\"headerComponent()\" />\n} @else {\n <div class=\"ngs-calendar-header\">\n <button type=\"button\" (click)=\"toggleView()\" class=\"ngs-calendar-period-button\">\n {{ periodButtonText() }}\n </button>\n <div class=\"ngs-calendar-header-actions\">\n <button type=\"button\" ngsIconButton (click)=\"prevPage()\" class=\"ngs-calendar-previous-button\">\n <ngs-icon name=\"fluent:chevron-left-24-regular\" />\n </button>\n <button type=\"button\" ngsIconButton (click)=\"nextPage()\" class=\"ngs-calendar-next-button\">\n <ngs-icon name=\"fluent:chevron-right-24-regular\" />\n </button>\n </div>\n </div>\n}\n\n<div class=\"ngs-calendar-content\" [class.ngs-calendar-content-multiple]=\"currentView() === 'month' && visibleCalendars() === 2\">\n @if (currentView() === 'month') {\n @for (monthActiveDate of _monthViewActiveDates(); track _trackMonth($index, monthActiveDate)) {\n <ngs-month-view [activeDate]=\"monthActiveDate\"\n [selected]=\"selected()\"\n [rangePreviewDate]=\"_rangePreviewDate()\"\n [sharedRangePreview]=\"true\"\n (rangePreviewDateChange)=\"_rangePreviewDate.set($event)\"\n (selectedChange)=\"selectedChange.emit($event)\"\n />\n }\n } @else if (currentView() === 'year') {\n <ngs-year-view [activeDate]=\"activeDate()\"\n [selected]=\"_selectedDate()\"\n (monthSelected)=\"_monthSelectedInYearView($event)\"\n />\n } @else if (currentView() === 'multi-year') {\n <ngs-multi-year-view [activeDate]=\"activeDate()\"\n [selected]=\"_selectedDate()\"\n (yearSelected)=\"_yearSelectedInMultiYearView($event)\"\n />\n }\n</div>\n", styles: [":host{display:flex;flex-direction:column;width:calc(var(--ngs-calendar-cell-size) * 7 + var(--ngs-calendar-padding) * 2 + calc(var(--spacing, .25rem) * 2));min-height:calc(var(--ngs-calendar-cell-size) * 5 + calc(var(--spacing, .25rem) * 2));padding:calc(var(--spacing, .25rem) * 2)}:host.ngs-calendar-multiple-months{width:auto}:host .ngs-calendar-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--ngs-calendar-header-padding);flex-shrink:0;margin-inline-start:calc(var(--spacing, .25rem) * 2)}:host .ngs-calendar-period-button{background:transparent;border:none;cursor:pointer;font-weight:700}:host .ngs-calendar-period-button:hover{color:var(--ngs-color-primary)}:host .ngs-calendar-content-multiple{display:flex;gap:calc(var(--spacing, .25rem) * 2)}:host .ngs-calendar-content-multiple ngs-month-view{flex:0 0 calc(var(--ngs-calendar-cell-size) * 7)}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] }]
@@ -421,7 +428,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImpor
421
428
 
422
429
  class DatepickerActions {
423
430
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: DatepickerActions, deps: [], target: i0.ɵɵFactoryTarget.Component });
424
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.4", type: DatepickerActions, isStandalone: true, selector: "ngs-datepicker-actions", ngImport: i0, template: `
431
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.4", type: DatepickerActions, isStandalone: true, selector: "ngs-datepicker-actions", exportAs: ["ngsDatepickerActions"], ngImport: i0, template: `
425
432
  <div class="ngs-datepicker-actions">
426
433
  <ng-content />
427
434
  </div>
@@ -429,7 +436,7 @@ class DatepickerActions {
429
436
  }
430
437
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: DatepickerActions, decorators: [{
431
438
  type: Component,
432
- args: [{ selector: 'ngs-datepicker-actions', standalone: true, template: `
439
+ args: [{ selector: 'ngs-datepicker-actions', exportAs: 'ngsDatepickerActions', template: `
433
440
  <div class="ngs-datepicker-actions">
434
441
  <ng-content />
435
442
  </div>
@@ -513,14 +520,16 @@ class Datepicker {
513
520
  this.close();
514
521
  }
515
522
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: Datepicker, deps: [], target: i0.ɵɵFactoryTarget.Component });
516
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.4", type: Datepicker, isStandalone: true, selector: "ngs-datepicker", inputs: { startAt: { classPropertyName: "startAt", publicName: "startAt", isSignal: true, isRequired: false, transformFunction: null }, calendarHeaderComponent: { classPropertyName: "calendarHeaderComponent", publicName: "calendarHeaderComponent", isSignal: true, isRequired: false, transformFunction: null }, quickPresets: { classPropertyName: "quickPresets", publicName: "quickPresets", isSignal: true, isRequired: false, transformFunction: null }, showQuickPresets: { classPropertyName: "showQuickPresets", publicName: "showQuickPresets", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "actions", first: true, predicate: DatepickerActions, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "_portalTemplate", first: true, predicate: ["portal"], descendants: true, isSignal: true }], exportAs: ["ngsDatepicker"], ngImport: i0, template: "<ng-template #portal>\n <div class=\"ngs-datepicker-content\" [class.ngs-datepicker-above]=\"_isAbove()\" [class.ngs-datepicker-below]=\"!_isAbove()\">\n <div class=\"ngs-datepicker-inner-container\">\n @if (showQuickPresets() && quickPresets().length > 0) {\n <div class=\"ngs-datepicker-presets\">\n @for (preset of quickPresets(); track preset.label) {\n <button type=\"button\" class=\"ngs-datepicker-preset\" (click)=\"_selectPreset(preset)\">\n {{ preset.label }}\n </button>\n }\n </div>\n }\n\n <ngs-calendar\n [startAt]=\"startAt()\"\n [selected]=\"_selected()\"\n [headerComponent]=\"calendarHeaderComponent()\"\n (selectedChange)=\"_select($event)\"\n />\n </div>\n\n @if (actions()) {\n <ng-content select=\"ngs-datepicker-actions\"/>\n }\n </div>\n</ng-template>\n", styles: [".ngs-datepicker-content{--ngs-datepicker-bg: var(--ngs-dropdown-bg);--ngs-datepicker-color: var(--ngs-color-on-surface);--ngs-datepicker-shadow: var(--ngs-dropdown-shadow);--ngs-datepicker-radius: var(--ngs-dropdown-radius);--ngs-datepicker-border: var(--ngs-dropdown-border);--ngs-calendar-padding: calc(var(--spacing, .25rem) * 2);--ngs-calendar-cell-size: calc(var(--spacing, .25rem) * 9);--ngs-calendar-cell-radius: var(--ngs-radius-lg);--ngs-calendar-cell-hover-bg: var(--ngs-color-surface-container-high);--ngs-calendar-cell-selected-bg: var(--ngs-color-primary);--ngs-calendar-cell-selected-color: var(--ngs-color-on-primary);--ngs-calendar-cell-today-border: 1px solid var(--ngs-color-outline);--ngs-calendar-header-padding: 8px;--ngs-calendar-cell-in-range-bg: var(--ngs-color-primary-container);--ngs-datepicker-preset-hover-bg: var(--ngs-color-surface-container-high);--ngs-datepicker-preset-padding: 8px 16px;--ngs-datepicker-presets-border: 1px solid var(--ngs-color-border);background:var(--ngs-datepicker-bg);color:var(--ngs-datepicker-color);box-shadow:var(--ngs-datepicker-shadow);border-radius:var(--ngs-datepicker-radius);border:var(--ngs-datepicker-border);animation:ngs-datepicker-panel-showing .15s cubic-bezier(0,0,.2,1)}.ngs-datepicker-content.ngs-datepicker-below{transform-origin:top}.ngs-datepicker-content.ngs-datepicker-above{transform-origin:bottom}@keyframes ngs-datepicker-panel-showing{0%{opacity:0;transform:scaleY(.8)}to{opacity:1;transform:scaleY(1)}}.ngs-datepicker-content .ngs-datepicker-inner-container{display:flex}.ngs-datepicker-content .ngs-datepicker-presets{display:flex;flex-direction:column;padding:8px 0;border-inline-end:var(--ngs-datepicker-presets-border);min-width:120px}.ngs-datepicker-content .ngs-datepicker-preset{background:transparent;border:none;cursor:pointer;padding:var(--ngs-datepicker-preset-padding);text-align:start;font-size:var(--ngs-font-size-sm);white-space:nowrap}.ngs-datepicker-content .ngs-datepicker-preset:hover{background:var(--ngs-datepicker-preset-hover-bg)}.ngs-date-range-input{display:flex;width:100%}.ngs-date-range-input.ngs-date-range-input-floating .ngs-date-range-input-container{opacity:1}.ngs-date-range-input:not(.ngs-date-range-input-floating) .ngs-date-range-input-container{opacity:0}.ngs-date-range-input-container{display:flex;align-items:center;gap:8px;width:100%;transition:opacity .2s,visibility .2s}.ngs-date-range-input-separator{flex-shrink:0}.ngs-date-range-input-start,.ngs-date-range-input-end{background:transparent;border:none;outline:none;width:86px}.ngs-date-range-input-start input::placeholder,.ngs-date-range-input-end input::placeholder{color:var(--ngs-field-label-color)}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "ngmodule", type: OverlayModule }, { kind: "component", type: Calendar, selector: "ngs-calendar", inputs: ["startAt", "selected", "minDate", "maxDate", "headerComponent", "visibleCalendars"], outputs: ["selectedChange", "yearSelected", "monthSelected"], exportAs: ["ngsCalendar"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
523
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.4", type: Datepicker, isStandalone: true, selector: "ngs-datepicker", inputs: { startAt: { classPropertyName: "startAt", publicName: "startAt", isSignal: true, isRequired: false, transformFunction: null }, calendarHeaderComponent: { classPropertyName: "calendarHeaderComponent", publicName: "calendarHeaderComponent", isSignal: true, isRequired: false, transformFunction: null }, quickPresets: { classPropertyName: "quickPresets", publicName: "quickPresets", isSignal: true, isRequired: false, transformFunction: null }, showQuickPresets: { classPropertyName: "showQuickPresets", publicName: "showQuickPresets", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "ngs-datepicker" }, queries: [{ propertyName: "actions", first: true, predicate: DatepickerActions, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "_portalTemplate", first: true, predicate: ["portal"], descendants: true, isSignal: true }], exportAs: ["ngsDatepicker"], ngImport: i0, template: "<ng-template #portal>\n <div class=\"ngs-datepicker-content\" [class.ngs-datepicker-above]=\"_isAbove()\" [class.ngs-datepicker-below]=\"!_isAbove()\">\n <div class=\"ngs-datepicker-inner-container\">\n @if (showQuickPresets() && quickPresets().length > 0) {\n <div class=\"ngs-datepicker-presets\">\n @for (preset of quickPresets(); track preset.label) {\n <button type=\"button\" class=\"ngs-datepicker-preset\" (click)=\"_selectPreset(preset)\">\n {{ preset.label }}\n </button>\n }\n </div>\n }\n\n <ngs-calendar\n [startAt]=\"startAt()\"\n [selected]=\"_selected()\"\n [headerComponent]=\"calendarHeaderComponent()\"\n (selectedChange)=\"_select($event)\"\n />\n </div>\n\n @if (actions()) {\n <ng-content select=\"ngs-datepicker-actions\"/>\n }\n </div>\n</ng-template>\n", styles: [".ngs-datepicker-content{--ngs-datepicker-bg: var(--ngs-dropdown-bg);--ngs-datepicker-color: var(--ngs-color-on-surface);--ngs-datepicker-shadow: var(--ngs-dropdown-shadow);--ngs-datepicker-radius: var(--ngs-dropdown-radius);--ngs-datepicker-border: var(--ngs-dropdown-border);--ngs-calendar-padding: calc(var(--spacing, .25rem) * 2);--ngs-calendar-cell-size: calc(var(--spacing, .25rem) * 9);--ngs-calendar-cell-radius: var(--ngs-radius-lg);--ngs-calendar-cell-hover-bg: var(--ngs-color-surface-container-high);--ngs-calendar-cell-selected-bg: var(--ngs-color-primary);--ngs-calendar-cell-selected-color: var(--ngs-color-on-primary);--ngs-calendar-cell-today-border: 1px solid var(--ngs-color-outline);--ngs-calendar-header-padding: 8px;--ngs-calendar-cell-in-range-bg: var(--ngs-color-primary-container);--ngs-datepicker-preset-hover-bg: var(--ngs-color-surface-container-high);--ngs-datepicker-preset-padding: 8px 16px;--ngs-datepicker-presets-border: 1px solid var(--ngs-color-border);background:var(--ngs-datepicker-bg);color:var(--ngs-datepicker-color);box-shadow:var(--ngs-datepicker-shadow);border-radius:var(--ngs-datepicker-radius);border:var(--ngs-datepicker-border);animation:ngs-datepicker-panel-showing .15s cubic-bezier(0,0,.2,1)}.ngs-datepicker-content.ngs-datepicker-below{transform-origin:top}.ngs-datepicker-content.ngs-datepicker-above{transform-origin:bottom}@keyframes ngs-datepicker-panel-showing{0%{opacity:0;transform:scaleY(.8)}to{opacity:1;transform:scaleY(1)}}.ngs-datepicker-content .ngs-datepicker-inner-container{display:flex}.ngs-datepicker-content .ngs-datepicker-presets{display:flex;flex-direction:column;padding:8px 0;border-inline-end:var(--ngs-datepicker-presets-border);min-width:120px}.ngs-datepicker-content .ngs-datepicker-preset{background:transparent;border:none;cursor:pointer;padding:var(--ngs-datepicker-preset-padding);text-align:start;font-size:var(--ngs-font-size-sm);white-space:nowrap}.ngs-datepicker-content .ngs-datepicker-preset:hover{background:var(--ngs-datepicker-preset-hover-bg)}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "ngmodule", type: OverlayModule }, { kind: "component", type: Calendar, selector: "ngs-calendar", inputs: ["startAt", "selected", "minDate", "maxDate", "headerComponent", "visibleCalendars"], outputs: ["selectedChange", "yearSelected", "monthSelected"], exportAs: ["ngsCalendar"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
517
524
  }
518
525
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: Datepicker, decorators: [{
519
526
  type: Component,
520
- args: [{ selector: 'ngs-datepicker', exportAs: 'ngsDatepicker', standalone: true, imports: [
527
+ args: [{ selector: 'ngs-datepicker', exportAs: 'ngsDatepicker', imports: [
521
528
  OverlayModule,
522
529
  Calendar
523
- ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ng-template #portal>\n <div class=\"ngs-datepicker-content\" [class.ngs-datepicker-above]=\"_isAbove()\" [class.ngs-datepicker-below]=\"!_isAbove()\">\n <div class=\"ngs-datepicker-inner-container\">\n @if (showQuickPresets() && quickPresets().length > 0) {\n <div class=\"ngs-datepicker-presets\">\n @for (preset of quickPresets(); track preset.label) {\n <button type=\"button\" class=\"ngs-datepicker-preset\" (click)=\"_selectPreset(preset)\">\n {{ preset.label }}\n </button>\n }\n </div>\n }\n\n <ngs-calendar\n [startAt]=\"startAt()\"\n [selected]=\"_selected()\"\n [headerComponent]=\"calendarHeaderComponent()\"\n (selectedChange)=\"_select($event)\"\n />\n </div>\n\n @if (actions()) {\n <ng-content select=\"ngs-datepicker-actions\"/>\n }\n </div>\n</ng-template>\n", styles: [".ngs-datepicker-content{--ngs-datepicker-bg: var(--ngs-dropdown-bg);--ngs-datepicker-color: var(--ngs-color-on-surface);--ngs-datepicker-shadow: var(--ngs-dropdown-shadow);--ngs-datepicker-radius: var(--ngs-dropdown-radius);--ngs-datepicker-border: var(--ngs-dropdown-border);--ngs-calendar-padding: calc(var(--spacing, .25rem) * 2);--ngs-calendar-cell-size: calc(var(--spacing, .25rem) * 9);--ngs-calendar-cell-radius: var(--ngs-radius-lg);--ngs-calendar-cell-hover-bg: var(--ngs-color-surface-container-high);--ngs-calendar-cell-selected-bg: var(--ngs-color-primary);--ngs-calendar-cell-selected-color: var(--ngs-color-on-primary);--ngs-calendar-cell-today-border: 1px solid var(--ngs-color-outline);--ngs-calendar-header-padding: 8px;--ngs-calendar-cell-in-range-bg: var(--ngs-color-primary-container);--ngs-datepicker-preset-hover-bg: var(--ngs-color-surface-container-high);--ngs-datepicker-preset-padding: 8px 16px;--ngs-datepicker-presets-border: 1px solid var(--ngs-color-border);background:var(--ngs-datepicker-bg);color:var(--ngs-datepicker-color);box-shadow:var(--ngs-datepicker-shadow);border-radius:var(--ngs-datepicker-radius);border:var(--ngs-datepicker-border);animation:ngs-datepicker-panel-showing .15s cubic-bezier(0,0,.2,1)}.ngs-datepicker-content.ngs-datepicker-below{transform-origin:top}.ngs-datepicker-content.ngs-datepicker-above{transform-origin:bottom}@keyframes ngs-datepicker-panel-showing{0%{opacity:0;transform:scaleY(.8)}to{opacity:1;transform:scaleY(1)}}.ngs-datepicker-content .ngs-datepicker-inner-container{display:flex}.ngs-datepicker-content .ngs-datepicker-presets{display:flex;flex-direction:column;padding:8px 0;border-inline-end:var(--ngs-datepicker-presets-border);min-width:120px}.ngs-datepicker-content .ngs-datepicker-preset{background:transparent;border:none;cursor:pointer;padding:var(--ngs-datepicker-preset-padding);text-align:start;font-size:var(--ngs-font-size-sm);white-space:nowrap}.ngs-datepicker-content .ngs-datepicker-preset:hover{background:var(--ngs-datepicker-preset-hover-bg)}.ngs-date-range-input{display:flex;width:100%}.ngs-date-range-input.ngs-date-range-input-floating .ngs-date-range-input-container{opacity:1}.ngs-date-range-input:not(.ngs-date-range-input-floating) .ngs-date-range-input-container{opacity:0}.ngs-date-range-input-container{display:flex;align-items:center;gap:8px;width:100%;transition:opacity .2s,visibility .2s}.ngs-date-range-input-separator{flex-shrink:0}.ngs-date-range-input-start,.ngs-date-range-input-end{background:transparent;border:none;outline:none;width:86px}.ngs-date-range-input-start input::placeholder,.ngs-date-range-input-end input::placeholder{color:var(--ngs-field-label-color)}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] }]
530
+ ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
531
+ 'class': 'ngs-datepicker'
532
+ }, template: "<ng-template #portal>\n <div class=\"ngs-datepicker-content\" [class.ngs-datepicker-above]=\"_isAbove()\" [class.ngs-datepicker-below]=\"!_isAbove()\">\n <div class=\"ngs-datepicker-inner-container\">\n @if (showQuickPresets() && quickPresets().length > 0) {\n <div class=\"ngs-datepicker-presets\">\n @for (preset of quickPresets(); track preset.label) {\n <button type=\"button\" class=\"ngs-datepicker-preset\" (click)=\"_selectPreset(preset)\">\n {{ preset.label }}\n </button>\n }\n </div>\n }\n\n <ngs-calendar\n [startAt]=\"startAt()\"\n [selected]=\"_selected()\"\n [headerComponent]=\"calendarHeaderComponent()\"\n (selectedChange)=\"_select($event)\"\n />\n </div>\n\n @if (actions()) {\n <ng-content select=\"ngs-datepicker-actions\"/>\n }\n </div>\n</ng-template>\n", styles: [".ngs-datepicker-content{--ngs-datepicker-bg: var(--ngs-dropdown-bg);--ngs-datepicker-color: var(--ngs-color-on-surface);--ngs-datepicker-shadow: var(--ngs-dropdown-shadow);--ngs-datepicker-radius: var(--ngs-dropdown-radius);--ngs-datepicker-border: var(--ngs-dropdown-border);--ngs-calendar-padding: calc(var(--spacing, .25rem) * 2);--ngs-calendar-cell-size: calc(var(--spacing, .25rem) * 9);--ngs-calendar-cell-radius: var(--ngs-radius-lg);--ngs-calendar-cell-hover-bg: var(--ngs-color-surface-container-high);--ngs-calendar-cell-selected-bg: var(--ngs-color-primary);--ngs-calendar-cell-selected-color: var(--ngs-color-on-primary);--ngs-calendar-cell-today-border: 1px solid var(--ngs-color-outline);--ngs-calendar-header-padding: 8px;--ngs-calendar-cell-in-range-bg: var(--ngs-color-primary-container);--ngs-datepicker-preset-hover-bg: var(--ngs-color-surface-container-high);--ngs-datepicker-preset-padding: 8px 16px;--ngs-datepicker-presets-border: 1px solid var(--ngs-color-border);background:var(--ngs-datepicker-bg);color:var(--ngs-datepicker-color);box-shadow:var(--ngs-datepicker-shadow);border-radius:var(--ngs-datepicker-radius);border:var(--ngs-datepicker-border);animation:ngs-datepicker-panel-showing .15s cubic-bezier(0,0,.2,1)}.ngs-datepicker-content.ngs-datepicker-below{transform-origin:top}.ngs-datepicker-content.ngs-datepicker-above{transform-origin:bottom}@keyframes ngs-datepicker-panel-showing{0%{opacity:0;transform:scaleY(.8)}to{opacity:1;transform:scaleY(1)}}.ngs-datepicker-content .ngs-datepicker-inner-container{display:flex}.ngs-datepicker-content .ngs-datepicker-presets{display:flex;flex-direction:column;padding:8px 0;border-inline-end:var(--ngs-datepicker-presets-border);min-width:120px}.ngs-datepicker-content .ngs-datepicker-preset{background:transparent;border:none;cursor:pointer;padding:var(--ngs-datepicker-preset-padding);text-align:start;font-size:var(--ngs-font-size-sm);white-space:nowrap}.ngs-datepicker-content .ngs-datepicker-preset:hover{background:var(--ngs-datepicker-preset-hover-bg)}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] }]
524
533
  }], propDecorators: { _portalTemplate: [{ type: i0.ViewChild, args: ['portal', { isSignal: true }] }], actions: [{ type: i0.ContentChild, args: [i0.forwardRef(() => DatepickerActions), { isSignal: true }] }], startAt: [{ type: i0.Input, args: [{ isSignal: true, alias: "startAt", required: false }] }], calendarHeaderComponent: [{ type: i0.Input, args: [{ isSignal: true, alias: "calendarHeaderComponent", required: false }] }], quickPresets: [{ type: i0.Input, args: [{ isSignal: true, alias: "quickPresets", required: false }] }], showQuickPresets: [{ type: i0.Input, args: [{ isSignal: true, alias: "showQuickPresets", required: false }] }] } });
525
534
 
526
535
  class DatepickerApply {
@@ -532,7 +541,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImpor
532
541
  type: Directive,
533
542
  args: [{
534
543
  selector: '[ngsDatepickerApply]',
535
- standalone: true,
536
544
  host: {
537
545
  '(click)': '_datepicker.apply()'
538
546
  }
@@ -547,7 +555,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImpor
547
555
  type: Directive,
548
556
  args: [{
549
557
  selector: '[ngsDatepickerCancel]',
550
- standalone: true,
551
558
  host: {
552
559
  '(click)': '_datepicker.close()'
553
560
  }
@@ -762,13 +769,13 @@ class DatepickerInput {
762
769
  useExisting: forwardRef(() => DatepickerInput),
763
770
  multi: true,
764
771
  },
765
- ], ngImport: i0 });
772
+ ], exportAs: ["ngsDatepickerInput"], ngImport: i0 });
766
773
  }
767
774
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: DatepickerInput, decorators: [{
768
775
  type: Directive,
769
776
  args: [{
770
777
  selector: 'input[ngsDatepicker]',
771
- standalone: true,
778
+ exportAs: 'ngsDatepickerInput',
772
779
  providers: [
773
780
  {
774
781
  provide: NG_VALUE_ACCESSOR,
@@ -816,7 +823,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImpor
816
823
  type: Directive,
817
824
  args: [{
818
825
  selector: 'input[ngsStartDate]',
819
- standalone: true,
820
826
  host: {
821
827
  'class': 'ngs-date-range-input-start',
822
828
  '(input)': '_onInput($any($event).target.value)',
@@ -857,7 +863,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImpor
857
863
  type: Directive,
858
864
  args: [{
859
865
  selector: 'input[ngsEndDate]',
860
- standalone: true,
861
866
  host: {
862
867
  'class': 'ngs-date-range-input-end',
863
868
  '(input)': '_onInput($any($event).target.value)',
@@ -989,11 +994,11 @@ class DateRangeInput {
989
994
  provide: FormFieldControl,
990
995
  useExisting: forwardRef(() => DateRangeInput)
991
996
  }
992
- ], queries: [{ propertyName: "_startInput", first: true, predicate: StartDate, descendants: true, isSignal: true }, { propertyName: "_endInput", first: true, predicate: EndDate, descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"ngs-date-range-input-container\">\n <div class=\"ngs-date-range-input-start-wrapper\">\n <ng-content select=\"input[ngsStartDate]\"/>\n </div>\n <span class=\"ngs-date-range-input-separator\">{{ separator() }}</span>\n <div class=\"ngs-date-range-input-end-wrapper\">\n <ng-content select=\"input[ngsEndDate]\"/>\n </div>\n</div>\n", styles: [":host{display:block}\n", ".ngs-datepicker-content{--ngs-datepicker-bg: var(--ngs-dropdown-bg);--ngs-datepicker-color: var(--ngs-color-on-surface);--ngs-datepicker-shadow: var(--ngs-dropdown-shadow);--ngs-datepicker-radius: var(--ngs-dropdown-radius);--ngs-datepicker-border: var(--ngs-dropdown-border);--ngs-calendar-padding: calc(var(--spacing, .25rem) * 2);--ngs-calendar-cell-size: calc(var(--spacing, .25rem) * 9);--ngs-calendar-cell-radius: var(--ngs-radius-lg);--ngs-calendar-cell-hover-bg: var(--ngs-color-surface-container-high);--ngs-calendar-cell-selected-bg: var(--ngs-color-primary);--ngs-calendar-cell-selected-color: var(--ngs-color-on-primary);--ngs-calendar-cell-today-border: 1px solid var(--ngs-color-outline);--ngs-calendar-header-padding: 8px;--ngs-calendar-cell-in-range-bg: var(--ngs-color-primary-container);--ngs-datepicker-preset-hover-bg: var(--ngs-color-surface-container-high);--ngs-datepicker-preset-padding: 8px 16px;--ngs-datepicker-presets-border: 1px solid var(--ngs-color-border);background:var(--ngs-datepicker-bg);color:var(--ngs-datepicker-color);box-shadow:var(--ngs-datepicker-shadow);border-radius:var(--ngs-datepicker-radius);border:var(--ngs-datepicker-border);animation:ngs-datepicker-panel-showing .15s cubic-bezier(0,0,.2,1)}.ngs-datepicker-content.ngs-datepicker-below{transform-origin:top}.ngs-datepicker-content.ngs-datepicker-above{transform-origin:bottom}@keyframes ngs-datepicker-panel-showing{0%{opacity:0;transform:scaleY(.8)}to{opacity:1;transform:scaleY(1)}}.ngs-datepicker-content .ngs-datepicker-inner-container{display:flex}.ngs-datepicker-content .ngs-datepicker-presets{display:flex;flex-direction:column;padding:8px 0;border-inline-end:var(--ngs-datepicker-presets-border);min-width:120px}.ngs-datepicker-content .ngs-datepicker-preset{background:transparent;border:none;cursor:pointer;padding:var(--ngs-datepicker-preset-padding);text-align:start;font-size:var(--ngs-font-size-sm);white-space:nowrap}.ngs-datepicker-content .ngs-datepicker-preset:hover{background:var(--ngs-datepicker-preset-hover-bg)}.ngs-date-range-input{display:flex;width:100%}.ngs-date-range-input.ngs-date-range-input-floating .ngs-date-range-input-container{opacity:1}.ngs-date-range-input:not(.ngs-date-range-input-floating) .ngs-date-range-input-container{opacity:0}.ngs-date-range-input-container{display:flex;align-items:center;gap:8px;width:100%;transition:opacity .2s,visibility .2s}.ngs-date-range-input-separator{flex-shrink:0}.ngs-date-range-input-start,.ngs-date-range-input-end{background:transparent;border:none;outline:none;width:86px}.ngs-date-range-input-start input::placeholder,.ngs-date-range-input-end input::placeholder{color:var(--ngs-field-label-color)}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
997
+ ], queries: [{ propertyName: "_startInput", first: true, predicate: StartDate, descendants: true, isSignal: true }, { propertyName: "_endInput", first: true, predicate: EndDate, descendants: true, isSignal: true }], exportAs: ["ngsDateRangeInput"], ngImport: i0, template: "<div class=\"ngs-date-range-input-container\">\n <div class=\"ngs-date-range-input-start-wrapper\">\n <ng-content select=\"input[ngsStartDate]\"/>\n </div>\n <span class=\"ngs-date-range-input-separator\">{{ separator() }}</span>\n <div class=\"ngs-date-range-input-end-wrapper\">\n <ng-content select=\"input[ngsEndDate]\"/>\n </div>\n</div>\n", styles: [":host{display:flex;width:100%}:host.ngs-date-range-input-floating .ngs-date-range-input-container{opacity:1}:host:not(.ngs-date-range-input-floating) .ngs-date-range-input-container{opacity:0}:host .ngs-date-range-input-container{display:flex;align-items:center;gap:calc(var(--spacing, .25rem) * 2);width:100%;transition:opacity .2s,visibility .2s}:host .ngs-date-range-input-separator{flex-shrink:0}:host ::ng-deep .ngs-date-range-input-start,:host ::ng-deep .ngs-date-range-input-end{background:transparent;border:none;outline:none;width:86px}:host ::ng-deep .ngs-date-range-input-start::placeholder,:host ::ng-deep .ngs-date-range-input-end::placeholder{color:var(--ngs-field-label-color)}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
993
998
  }
994
999
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: DateRangeInput, decorators: [{
995
1000
  type: Component,
996
- args: [{ selector: 'ngs-date-range-input', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
1001
+ args: [{ selector: 'ngs-date-range-input', exportAs: 'ngsDateRangeInput', changeDetection: ChangeDetectionStrategy.OnPush, host: {
997
1002
  'class': 'ngs-date-range-input',
998
1003
  '[attr.id]': 'id',
999
1004
  '[class.ngs-date-range-input-floating]': 'shouldLabelFloat',
@@ -1003,7 +1008,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImpor
1003
1008
  provide: FormFieldControl,
1004
1009
  useExisting: forwardRef(() => DateRangeInput)
1005
1010
  }
1006
- ], template: "<div class=\"ngs-date-range-input-container\">\n <div class=\"ngs-date-range-input-start-wrapper\">\n <ng-content select=\"input[ngsStartDate]\"/>\n </div>\n <span class=\"ngs-date-range-input-separator\">{{ separator() }}</span>\n <div class=\"ngs-date-range-input-end-wrapper\">\n <ng-content select=\"input[ngsEndDate]\"/>\n </div>\n</div>\n", styles: [":host{display:block}\n", ".ngs-datepicker-content{--ngs-datepicker-bg: var(--ngs-dropdown-bg);--ngs-datepicker-color: var(--ngs-color-on-surface);--ngs-datepicker-shadow: var(--ngs-dropdown-shadow);--ngs-datepicker-radius: var(--ngs-dropdown-radius);--ngs-datepicker-border: var(--ngs-dropdown-border);--ngs-calendar-padding: calc(var(--spacing, .25rem) * 2);--ngs-calendar-cell-size: calc(var(--spacing, .25rem) * 9);--ngs-calendar-cell-radius: var(--ngs-radius-lg);--ngs-calendar-cell-hover-bg: var(--ngs-color-surface-container-high);--ngs-calendar-cell-selected-bg: var(--ngs-color-primary);--ngs-calendar-cell-selected-color: var(--ngs-color-on-primary);--ngs-calendar-cell-today-border: 1px solid var(--ngs-color-outline);--ngs-calendar-header-padding: 8px;--ngs-calendar-cell-in-range-bg: var(--ngs-color-primary-container);--ngs-datepicker-preset-hover-bg: var(--ngs-color-surface-container-high);--ngs-datepicker-preset-padding: 8px 16px;--ngs-datepicker-presets-border: 1px solid var(--ngs-color-border);background:var(--ngs-datepicker-bg);color:var(--ngs-datepicker-color);box-shadow:var(--ngs-datepicker-shadow);border-radius:var(--ngs-datepicker-radius);border:var(--ngs-datepicker-border);animation:ngs-datepicker-panel-showing .15s cubic-bezier(0,0,.2,1)}.ngs-datepicker-content.ngs-datepicker-below{transform-origin:top}.ngs-datepicker-content.ngs-datepicker-above{transform-origin:bottom}@keyframes ngs-datepicker-panel-showing{0%{opacity:0;transform:scaleY(.8)}to{opacity:1;transform:scaleY(1)}}.ngs-datepicker-content .ngs-datepicker-inner-container{display:flex}.ngs-datepicker-content .ngs-datepicker-presets{display:flex;flex-direction:column;padding:8px 0;border-inline-end:var(--ngs-datepicker-presets-border);min-width:120px}.ngs-datepicker-content .ngs-datepicker-preset{background:transparent;border:none;cursor:pointer;padding:var(--ngs-datepicker-preset-padding);text-align:start;font-size:var(--ngs-font-size-sm);white-space:nowrap}.ngs-datepicker-content .ngs-datepicker-preset:hover{background:var(--ngs-datepicker-preset-hover-bg)}.ngs-date-range-input{display:flex;width:100%}.ngs-date-range-input.ngs-date-range-input-floating .ngs-date-range-input-container{opacity:1}.ngs-date-range-input:not(.ngs-date-range-input-floating) .ngs-date-range-input-container{opacity:0}.ngs-date-range-input-container{display:flex;align-items:center;gap:8px;width:100%;transition:opacity .2s,visibility .2s}.ngs-date-range-input-separator{flex-shrink:0}.ngs-date-range-input-start,.ngs-date-range-input-end{background:transparent;border:none;outline:none;width:86px}.ngs-date-range-input-start input::placeholder,.ngs-date-range-input-end input::placeholder{color:var(--ngs-field-label-color)}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] }]
1011
+ ], template: "<div class=\"ngs-date-range-input-container\">\n <div class=\"ngs-date-range-input-start-wrapper\">\n <ng-content select=\"input[ngsStartDate]\"/>\n </div>\n <span class=\"ngs-date-range-input-separator\">{{ separator() }}</span>\n <div class=\"ngs-date-range-input-end-wrapper\">\n <ng-content select=\"input[ngsEndDate]\"/>\n </div>\n</div>\n", styles: [":host{display:flex;width:100%}:host.ngs-date-range-input-floating .ngs-date-range-input-container{opacity:1}:host:not(.ngs-date-range-input-floating) .ngs-date-range-input-container{opacity:0}:host .ngs-date-range-input-container{display:flex;align-items:center;gap:calc(var(--spacing, .25rem) * 2);width:100%;transition:opacity .2s,visibility .2s}:host .ngs-date-range-input-separator{flex-shrink:0}:host ::ng-deep .ngs-date-range-input-start,:host ::ng-deep .ngs-date-range-input-end{background:transparent;border:none;outline:none;width:86px}:host ::ng-deep .ngs-date-range-input-start::placeholder,:host ::ng-deep .ngs-date-range-input-end::placeholder{color:var(--ngs-field-label-color)}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] }]
1007
1012
  }], ctorParameters: () => [], propDecorators: { rangePicker: [{ type: i0.Input, args: [{ isSignal: true, alias: "rangePicker", required: true }] }], separator: [{ type: i0.Input, args: [{ isSignal: true, alias: "separator", required: false }] }], _startInput: [{ type: i0.ContentChild, args: [i0.forwardRef(() => StartDate), { isSignal: true }] }], _endInput: [{ type: i0.ContentChild, args: [i0.forwardRef(() => EndDate), { isSignal: true }] }] } });
1008
1013
  let nextUniqueId = 0;
1009
1014
 
@@ -1015,7 +1020,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImpor
1015
1020
  type: Directive,
1016
1021
  args: [{
1017
1022
  selector: '[ngsDatepickerToggleIcon]',
1018
- standalone: true
1019
1023
  }]
1020
1024
  }] });
1021
1025