@weeehaoooz/talos-ui 0.1.1 → 0.1.2

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 (190) hide show
  1. package/README.md +2 -0
  2. package/fesm2022/{weeehaoooz-talos-ui-button-button-group.mjs → weeehaoooz-talos-ui-button.mjs} +91 -15
  3. package/fesm2022/weeehaoooz-talos-ui-button.mjs.map +1 -0
  4. package/fesm2022/weeehaoooz-talos-ui-data-display.mjs +3110 -0
  5. package/fesm2022/weeehaoooz-talos-ui-data-display.mjs.map +1 -0
  6. package/fesm2022/weeehaoooz-talos-ui-data-viz.mjs +2414 -0
  7. package/fesm2022/weeehaoooz-talos-ui-data-viz.mjs.map +1 -0
  8. package/fesm2022/weeehaoooz-talos-ui-dropdown.mjs +1039 -0
  9. package/fesm2022/weeehaoooz-talos-ui-dropdown.mjs.map +1 -0
  10. package/fesm2022/weeehaoooz-talos-ui-feedback.mjs +2885 -0
  11. package/fesm2022/weeehaoooz-talos-ui-feedback.mjs.map +1 -0
  12. package/fesm2022/weeehaoooz-talos-ui-form.mjs +10799 -0
  13. package/fesm2022/weeehaoooz-talos-ui-form.mjs.map +1 -0
  14. package/fesm2022/weeehaoooz-talos-ui-layout.mjs +1316 -7
  15. package/fesm2022/weeehaoooz-talos-ui-layout.mjs.map +1 -1
  16. package/fesm2022/weeehaoooz-talos-ui-nav.mjs +3 -3
  17. package/fesm2022/weeehaoooz-talos-ui-nav.mjs.map +1 -1
  18. package/fesm2022/weeehaoooz-talos-ui.mjs +21592 -16293
  19. package/fesm2022/weeehaoooz-talos-ui.mjs.map +1 -1
  20. package/package.json +20 -139
  21. package/styles/_breadcrumb.scss +16 -0
  22. package/styles/_button-group.scss +2 -1
  23. package/styles/_buttons.scss +51 -0
  24. package/styles/_dropdown.scss +438 -0
  25. package/styles/_form-controls.scss +13 -0
  26. package/styles/_progress-bar.scss +43 -0
  27. package/styles/_skeleton.scss +176 -0
  28. package/styles/_spinner.scss +58 -0
  29. package/styles/_variables.scss +33 -0
  30. package/styles/index.scss +6 -1
  31. package/types/weeehaoooz-talos-ui-button.d.ts +92 -0
  32. package/types/weeehaoooz-talos-ui-button.d.ts.map +1 -0
  33. package/types/weeehaoooz-talos-ui-data-display.d.ts +1018 -0
  34. package/types/weeehaoooz-talos-ui-data-display.d.ts.map +1 -0
  35. package/types/weeehaoooz-talos-ui-data-viz.d.ts +839 -0
  36. package/types/weeehaoooz-talos-ui-data-viz.d.ts.map +1 -0
  37. package/types/weeehaoooz-talos-ui-dropdown.d.ts +187 -0
  38. package/types/weeehaoooz-talos-ui-dropdown.d.ts.map +1 -0
  39. package/types/weeehaoooz-talos-ui-feedback.d.ts +1495 -0
  40. package/types/weeehaoooz-talos-ui-feedback.d.ts.map +1 -0
  41. package/types/weeehaoooz-talos-ui-form.d.ts +2639 -0
  42. package/types/weeehaoooz-talos-ui-form.d.ts.map +1 -0
  43. package/types/weeehaoooz-talos-ui-layout.d.ts +851 -3
  44. package/types/weeehaoooz-talos-ui-layout.d.ts.map +1 -1
  45. package/types/weeehaoooz-talos-ui-nav.d.ts +1 -1
  46. package/types/weeehaoooz-talos-ui.d.ts +7148 -4629
  47. package/types/weeehaoooz-talos-ui.d.ts.map +1 -1
  48. package/fesm2022/weeehaoooz-talos-ui-button-button-group.mjs.map +0 -1
  49. package/fesm2022/weeehaoooz-talos-ui-button-button.mjs +0 -94
  50. package/fesm2022/weeehaoooz-talos-ui-button-button.mjs.map +0 -1
  51. package/fesm2022/weeehaoooz-talos-ui-data-display-badge.mjs +0 -233
  52. package/fesm2022/weeehaoooz-talos-ui-data-display-badge.mjs.map +0 -1
  53. package/fesm2022/weeehaoooz-talos-ui-data-display-data-grid.mjs +0 -1627
  54. package/fesm2022/weeehaoooz-talos-ui-data-display-data-grid.mjs.map +0 -1
  55. package/fesm2022/weeehaoooz-talos-ui-data-display-status-tag.mjs +0 -361
  56. package/fesm2022/weeehaoooz-talos-ui-data-display-status-tag.mjs.map +0 -1
  57. package/fesm2022/weeehaoooz-talos-ui-data-display-timeline.mjs +0 -312
  58. package/fesm2022/weeehaoooz-talos-ui-data-display-timeline.mjs.map +0 -1
  59. package/fesm2022/weeehaoooz-talos-ui-data-display-trend-indicator.mjs +0 -235
  60. package/fesm2022/weeehaoooz-talos-ui-data-display-trend-indicator.mjs.map +0 -1
  61. package/fesm2022/weeehaoooz-talos-ui-data-viz-category-bar.mjs +0 -462
  62. package/fesm2022/weeehaoooz-talos-ui-data-viz-category-bar.mjs.map +0 -1
  63. package/fesm2022/weeehaoooz-talos-ui-data-viz-heatmap.mjs +0 -805
  64. package/fesm2022/weeehaoooz-talos-ui-data-viz-heatmap.mjs.map +0 -1
  65. package/fesm2022/weeehaoooz-talos-ui-data-viz-mini-donut.mjs +0 -267
  66. package/fesm2022/weeehaoooz-talos-ui-data-viz-mini-donut.mjs.map +0 -1
  67. package/fesm2022/weeehaoooz-talos-ui-data-viz-mini-gauge.mjs +0 -351
  68. package/fesm2022/weeehaoooz-talos-ui-data-viz-mini-gauge.mjs.map +0 -1
  69. package/fesm2022/weeehaoooz-talos-ui-data-viz-sparkline.mjs +0 -566
  70. package/fesm2022/weeehaoooz-talos-ui-data-viz-sparkline.mjs.map +0 -1
  71. package/fesm2022/weeehaoooz-talos-ui-feedback-alert.mjs +0 -534
  72. package/fesm2022/weeehaoooz-talos-ui-feedback-alert.mjs.map +0 -1
  73. package/fesm2022/weeehaoooz-talos-ui-feedback-dialog.mjs +0 -446
  74. package/fesm2022/weeehaoooz-talos-ui-feedback-dialog.mjs.map +0 -1
  75. package/fesm2022/weeehaoooz-talos-ui-feedback-snackbar.mjs +0 -376
  76. package/fesm2022/weeehaoooz-talos-ui-feedback-snackbar.mjs.map +0 -1
  77. package/fesm2022/weeehaoooz-talos-ui-feedback-tooltip.mjs +0 -147
  78. package/fesm2022/weeehaoooz-talos-ui-feedback-tooltip.mjs.map +0 -1
  79. package/fesm2022/weeehaoooz-talos-ui-form-affix.mjs +0 -242
  80. package/fesm2022/weeehaoooz-talos-ui-form-affix.mjs.map +0 -1
  81. package/fesm2022/weeehaoooz-talos-ui-form-autocomplete.mjs +0 -514
  82. package/fesm2022/weeehaoooz-talos-ui-form-autocomplete.mjs.map +0 -1
  83. package/fesm2022/weeehaoooz-talos-ui-form-checkbox.mjs +0 -548
  84. package/fesm2022/weeehaoooz-talos-ui-form-checkbox.mjs.map +0 -1
  85. package/fesm2022/weeehaoooz-talos-ui-form-chips.mjs +0 -692
  86. package/fesm2022/weeehaoooz-talos-ui-form-chips.mjs.map +0 -1
  87. package/fesm2022/weeehaoooz-talos-ui-form-color-picker.mjs +0 -761
  88. package/fesm2022/weeehaoooz-talos-ui-form-color-picker.mjs.map +0 -1
  89. package/fesm2022/weeehaoooz-talos-ui-form-date-picker.mjs +0 -896
  90. package/fesm2022/weeehaoooz-talos-ui-form-date-picker.mjs.map +0 -1
  91. package/fesm2022/weeehaoooz-talos-ui-form-date-range-picker.mjs +0 -872
  92. package/fesm2022/weeehaoooz-talos-ui-form-date-range-picker.mjs.map +0 -1
  93. package/fesm2022/weeehaoooz-talos-ui-form-date-time-picker.mjs +0 -119
  94. package/fesm2022/weeehaoooz-talos-ui-form-date-time-picker.mjs.map +0 -1
  95. package/fesm2022/weeehaoooz-talos-ui-form-date-time-range-picker.mjs +0 -135
  96. package/fesm2022/weeehaoooz-talos-ui-form-date-time-range-picker.mjs.map +0 -1
  97. package/fesm2022/weeehaoooz-talos-ui-form-drop-zone.mjs +0 -666
  98. package/fesm2022/weeehaoooz-talos-ui-form-drop-zone.mjs.map +0 -1
  99. package/fesm2022/weeehaoooz-talos-ui-form-form-field.mjs +0 -147
  100. package/fesm2022/weeehaoooz-talos-ui-form-form-field.mjs.map +0 -1
  101. package/fesm2022/weeehaoooz-talos-ui-form-input.mjs +0 -33
  102. package/fesm2022/weeehaoooz-talos-ui-form-input.mjs.map +0 -1
  103. package/fesm2022/weeehaoooz-talos-ui-form-otp.mjs +0 -455
  104. package/fesm2022/weeehaoooz-talos-ui-form-otp.mjs.map +0 -1
  105. package/fesm2022/weeehaoooz-talos-ui-form-password-input.mjs +0 -379
  106. package/fesm2022/weeehaoooz-talos-ui-form-password-input.mjs.map +0 -1
  107. package/fesm2022/weeehaoooz-talos-ui-form-radio.mjs +0 -297
  108. package/fesm2022/weeehaoooz-talos-ui-form-radio.mjs.map +0 -1
  109. package/fesm2022/weeehaoooz-talos-ui-form-range-input.mjs +0 -661
  110. package/fesm2022/weeehaoooz-talos-ui-form-range-input.mjs.map +0 -1
  111. package/fesm2022/weeehaoooz-talos-ui-form-rating.mjs +0 -346
  112. package/fesm2022/weeehaoooz-talos-ui-form-rating.mjs.map +0 -1
  113. package/fesm2022/weeehaoooz-talos-ui-form-select-input.mjs +0 -896
  114. package/fesm2022/weeehaoooz-talos-ui-form-select-input.mjs.map +0 -1
  115. package/fesm2022/weeehaoooz-talos-ui-form-slide-toggle.mjs +0 -252
  116. package/fesm2022/weeehaoooz-talos-ui-form-slide-toggle.mjs.map +0 -1
  117. package/fesm2022/weeehaoooz-talos-ui-form-transfer-list.mjs +0 -916
  118. package/fesm2022/weeehaoooz-talos-ui-form-transfer-list.mjs.map +0 -1
  119. package/types/weeehaoooz-talos-ui-button-button-group.d.ts +0 -62
  120. package/types/weeehaoooz-talos-ui-button-button-group.d.ts.map +0 -1
  121. package/types/weeehaoooz-talos-ui-button-button.d.ts +0 -38
  122. package/types/weeehaoooz-talos-ui-button-button.d.ts.map +0 -1
  123. package/types/weeehaoooz-talos-ui-data-display-badge.d.ts +0 -119
  124. package/types/weeehaoooz-talos-ui-data-display-badge.d.ts.map +0 -1
  125. package/types/weeehaoooz-talos-ui-data-display-data-grid.d.ts +0 -272
  126. package/types/weeehaoooz-talos-ui-data-display-data-grid.d.ts.map +0 -1
  127. package/types/weeehaoooz-talos-ui-data-display-status-tag.d.ts +0 -135
  128. package/types/weeehaoooz-talos-ui-data-display-status-tag.d.ts.map +0 -1
  129. package/types/weeehaoooz-talos-ui-data-display-timeline.d.ts +0 -144
  130. package/types/weeehaoooz-talos-ui-data-display-timeline.d.ts.map +0 -1
  131. package/types/weeehaoooz-talos-ui-data-display-trend-indicator.d.ts +0 -83
  132. package/types/weeehaoooz-talos-ui-data-display-trend-indicator.d.ts.map +0 -1
  133. package/types/weeehaoooz-talos-ui-data-viz-category-bar.d.ts +0 -255
  134. package/types/weeehaoooz-talos-ui-data-viz-category-bar.d.ts.map +0 -1
  135. package/types/weeehaoooz-talos-ui-data-viz-heatmap.d.ts +0 -204
  136. package/types/weeehaoooz-talos-ui-data-viz-heatmap.d.ts.map +0 -1
  137. package/types/weeehaoooz-talos-ui-data-viz-mini-donut.d.ts +0 -101
  138. package/types/weeehaoooz-talos-ui-data-viz-mini-donut.d.ts.map +0 -1
  139. package/types/weeehaoooz-talos-ui-data-viz-mini-gauge.d.ts +0 -138
  140. package/types/weeehaoooz-talos-ui-data-viz-mini-gauge.d.ts.map +0 -1
  141. package/types/weeehaoooz-talos-ui-data-viz-sparkline.d.ts +0 -161
  142. package/types/weeehaoooz-talos-ui-data-viz-sparkline.d.ts.map +0 -1
  143. package/types/weeehaoooz-talos-ui-feedback-alert.d.ts +0 -212
  144. package/types/weeehaoooz-talos-ui-feedback-alert.d.ts.map +0 -1
  145. package/types/weeehaoooz-talos-ui-feedback-dialog.d.ts +0 -259
  146. package/types/weeehaoooz-talos-ui-feedback-dialog.d.ts.map +0 -1
  147. package/types/weeehaoooz-talos-ui-feedback-snackbar.d.ts +0 -147
  148. package/types/weeehaoooz-talos-ui-feedback-snackbar.d.ts.map +0 -1
  149. package/types/weeehaoooz-talos-ui-feedback-tooltip.d.ts +0 -32
  150. package/types/weeehaoooz-talos-ui-feedback-tooltip.d.ts.map +0 -1
  151. package/types/weeehaoooz-talos-ui-form-affix.d.ts +0 -88
  152. package/types/weeehaoooz-talos-ui-form-affix.d.ts.map +0 -1
  153. package/types/weeehaoooz-talos-ui-form-autocomplete.d.ts +0 -113
  154. package/types/weeehaoooz-talos-ui-form-autocomplete.d.ts.map +0 -1
  155. package/types/weeehaoooz-talos-ui-form-checkbox.d.ts +0 -165
  156. package/types/weeehaoooz-talos-ui-form-checkbox.d.ts.map +0 -1
  157. package/types/weeehaoooz-talos-ui-form-chips.d.ts +0 -152
  158. package/types/weeehaoooz-talos-ui-form-chips.d.ts.map +0 -1
  159. package/types/weeehaoooz-talos-ui-form-color-picker.d.ts +0 -144
  160. package/types/weeehaoooz-talos-ui-form-color-picker.d.ts.map +0 -1
  161. package/types/weeehaoooz-talos-ui-form-date-picker.d.ts +0 -138
  162. package/types/weeehaoooz-talos-ui-form-date-picker.d.ts.map +0 -1
  163. package/types/weeehaoooz-talos-ui-form-date-range-picker.d.ts +0 -148
  164. package/types/weeehaoooz-talos-ui-form-date-range-picker.d.ts.map +0 -1
  165. package/types/weeehaoooz-talos-ui-form-date-time-picker.d.ts +0 -44
  166. package/types/weeehaoooz-talos-ui-form-date-time-picker.d.ts.map +0 -1
  167. package/types/weeehaoooz-talos-ui-form-date-time-range-picker.d.ts +0 -48
  168. package/types/weeehaoooz-talos-ui-form-date-time-range-picker.d.ts.map +0 -1
  169. package/types/weeehaoooz-talos-ui-form-drop-zone.d.ts +0 -227
  170. package/types/weeehaoooz-talos-ui-form-drop-zone.d.ts.map +0 -1
  171. package/types/weeehaoooz-talos-ui-form-form-field.d.ts +0 -42
  172. package/types/weeehaoooz-talos-ui-form-form-field.d.ts.map +0 -1
  173. package/types/weeehaoooz-talos-ui-form-input.d.ts +0 -15
  174. package/types/weeehaoooz-talos-ui-form-input.d.ts.map +0 -1
  175. package/types/weeehaoooz-talos-ui-form-otp.d.ts +0 -111
  176. package/types/weeehaoooz-talos-ui-form-otp.d.ts.map +0 -1
  177. package/types/weeehaoooz-talos-ui-form-password-input.d.ts +0 -145
  178. package/types/weeehaoooz-talos-ui-form-password-input.d.ts.map +0 -1
  179. package/types/weeehaoooz-talos-ui-form-radio.d.ts +0 -84
  180. package/types/weeehaoooz-talos-ui-form-radio.d.ts.map +0 -1
  181. package/types/weeehaoooz-talos-ui-form-range-input.d.ts +0 -181
  182. package/types/weeehaoooz-talos-ui-form-range-input.d.ts.map +0 -1
  183. package/types/weeehaoooz-talos-ui-form-rating.d.ts +0 -110
  184. package/types/weeehaoooz-talos-ui-form-rating.d.ts.map +0 -1
  185. package/types/weeehaoooz-talos-ui-form-select-input.d.ts +0 -195
  186. package/types/weeehaoooz-talos-ui-form-select-input.d.ts.map +0 -1
  187. package/types/weeehaoooz-talos-ui-form-slide-toggle.d.ts +0 -79
  188. package/types/weeehaoooz-talos-ui-form-slide-toggle.d.ts.map +0 -1
  189. package/types/weeehaoooz-talos-ui-form-transfer-list.d.ts +0 -192
  190. package/types/weeehaoooz-talos-ui-form-transfer-list.d.ts.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"weeehaoooz-talos-ui-form-date-range-picker.mjs","sources":["../../../projects/talos-ui/form/date-range-picker/date-range-picker.component.ts","../../../projects/talos-ui/form/date-range-picker/date-range-picker.component.html","../../../projects/talos-ui/form/date-range-picker/weeehaoooz-talos-ui-form-date-range-picker.ts"],"sourcesContent":["import {\n Component,\n ElementRef,\n ViewChild,\n computed,\n effect,\n forwardRef,\n inject,\n input,\n output,\n signal\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { CdkConnectedOverlay, CdkOverlayOrigin, ConnectedPosition, OverlayModule } from '@angular/cdk/overlay';\nimport {\n addDays,\n addMonths,\n addWeeks,\n addYears,\n differenceInCalendarDays,\n endOfDay,\n endOfMonth,\n endOfWeek,\n endOfYear,\n getDate,\n getHours,\n getMinutes,\n getSeconds,\n isAfter,\n isBefore,\n isSameDay,\n isSameMonth,\n isValid,\n set,\n startOfDay,\n startOfMonth,\n startOfWeek,\n startOfYear,\n subDays,\n subMonths,\n subWeeks,\n subYears\n} from 'date-fns';\n\nimport {\n DateRangePreset,\n DateRangeValue,\n InternalDateRange,\n RangeCalendarDay\n} from './date-range-types';\nimport { formatDate, parseFlexibleDate } from '@weeehaoooz/talos-ui/core';\n\nlet uniqueDateRangePickerId = 0;\n\n@Component({\n selector: 'talos-date-range-picker',\n imports: [OverlayModule, CdkConnectedOverlay, CdkOverlayOrigin],\n templateUrl: './date-range-picker.component.html',\n styleUrl: './date-range-picker.component.scss',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => DateRangePickerComponent),\n multi: true\n }\n ],\n host: {\n 'class': 'talos-daterangepicker-host',\n '[class.is-open]': 'isOpen()',\n '[class.is-disabled]': 'effectiveDisabled()',\n '[class.has-label]': '!!label()',\n '[class.is-floating]': 'isFloatingMode()',\n '[class.is-floated]': 'isFloated()',\n '[class.datepicker-sm]': 'size() === \"sm\"',\n '[class.datepicker-md]': 'size() === \"md\"',\n '[class.datepicker-lg]': 'size() === \"lg\"',\n '(keydown)': 'onKeyDown($event)',\n '(document:click)': 'onDocumentClick($event)'\n }\n})\nexport class DateRangePickerComponent implements ControlValueAccessor {\n private readonly elementRef = inject(ElementRef<HTMLElement>);\n\n // Signal Inputs\n readonly placeholder = input<string>('Select date range');\n readonly label = input<string>('');\n readonly floatingLabel = input<boolean>(false);\n readonly floating = input<boolean>(false);\n readonly required = input<boolean>(false);\n readonly disabled = input<boolean>(false);\n readonly clearable = input<boolean>(true);\n readonly size = input<'sm' | 'md' | 'lg'>('md');\n readonly displayFormat = input<string>(''); // Default resolved via computed if empty\n readonly valueFormat = input<string>(''); // Default resolved via computed if empty\n readonly showTime = input<boolean>(false);\n readonly use24Hour = input<boolean>(true);\n readonly showSeconds = input<boolean>(false);\n readonly minuteStep = input<number>(1);\n readonly minDate = input<string | Date | number | null>(null);\n readonly maxDate = input<string | Date | number | null>(null);\n readonly minSpan = input<number | null>(null); // in days\n readonly maxSpan = input<number | null>(null); // in days\n readonly firstDayOfWeek = input<number>(0); // 0 = Sun, 1 = Mon\n readonly presets = input<DateRangePreset[] | null>(null);\n readonly presetType = input<'all' | 'calendar' | 'duration'>('all');\n readonly filterDate = input<((date: Date) => boolean) | null>(null);\n\n // Signal Outputs\n readonly rangeChange = output<DateRangeValue | null>();\n readonly opened = output<void>();\n readonly closed = output<void>();\n\n // Element Refs\n @ViewChild('triggerEl') triggerEl?: ElementRef<HTMLDivElement>;\n @ViewChild('startInputEl') startInputEl?: ElementRef<HTMLInputElement>;\n @ViewChild('endInputEl') endInputEl?: ElementRef<HTMLInputElement>;\n\n // CDK Overlay Connected Positions\n readonly positions: ConnectedPosition[] = [\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetY: 4\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetY: -4\n },\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n offsetY: 4\n },\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n offsetY: -4\n }\n ];\n\n // Accessibility IDs\n readonly componentId = `talos-daterangepicker-${uniqueDateRangePickerId++}`;\n readonly dialogId = `${this.componentId}-dialog`;\n\n // Internal Committed Selection Signals\n readonly selectedStartDate = signal<Date | null>(null);\n readonly selectedEndDate = signal<Date | null>(null);\n\n // Draft Selection Signals (Active while picking in overlay)\n readonly draftStartDate = signal<Date | null>(null);\n readonly draftEndDate = signal<Date | null>(null);\n readonly hoverDate = signal<Date | null>(null);\n\n // Draft Time Signals\n readonly draftStartHour = signal<number>(0);\n readonly draftStartMinute = signal<number>(0);\n readonly draftStartSecond = signal<number>(0);\n\n readonly draftEndHour = signal<number>(23);\n readonly draftEndMinute = signal<number>(59);\n readonly draftEndSecond = signal<number>(59);\n\n // View state signals\n readonly viewDate = signal<Date>(startOfMonth(new Date()));\n readonly isOpen = signal<boolean>(false);\n readonly isDisabledSignal = signal<boolean>(false);\n readonly isTouched = signal<boolean>(false);\n readonly activePresetLabel = signal<string | null>(null);\n\n // Input Text Signals for bottom action bar & trigger display\n readonly startInputText = signal<string>('');\n readonly endInputText = signal<string>('');\n\n // Computeds\n readonly isFloatingMode = computed(() => this.floatingLabel() || this.floating());\n readonly isFloated = computed(() => {\n if (!this.isFloatingMode()) return false;\n return this.isOpen() || !!this.formattedTriggerValue();\n });\n readonly effectiveDisabled = computed(() => this.disabled() || this.isDisabledSignal());\n\n readonly effectiveDisplayFormat = computed(() => {\n const fmt = this.displayFormat();\n if (fmt) return fmt;\n return this.showTime() ? 'yyyy-MM-dd HH:mm' : 'yyyy-MM-dd';\n });\n\n readonly effectiveValueFormat = computed(() => {\n const fmt = this.valueFormat();\n if (fmt) return fmt;\n return this.showTime() ? 'yyyy-MM-dd HH:mm' : 'yyyy-MM-dd';\n });\n\n readonly viewDateRight = computed(() => {\n return addMonths(this.viewDate(), 1);\n });\n\n readonly parsedMinDate = computed(() => {\n const min = this.minDate();\n if (!min) return null;\n const d = parseFlexibleDate(min);\n return d && isValid(d) ? (this.showTime() ? d : startOfDay(d)) : null;\n });\n\n readonly parsedMaxDate = computed(() => {\n const max = this.maxDate();\n if (!max) return null;\n const d = parseFlexibleDate(max);\n return d && isValid(d) ? (this.showTime() ? d : endOfDay(d)) : null;\n });\n\n readonly formattedTriggerValue = computed(() => {\n const start = this.selectedStartDate();\n const end = this.selectedEndDate();\n const fmt = this.effectiveDisplayFormat();\n\n if (start && isValid(start) && end && isValid(end)) {\n return `${formatDate(start, fmt)} — ${formatDate(end, fmt)}`;\n } else if (start && isValid(start)) {\n return `${formatDate(start, fmt)} — ...`;\n }\n return '';\n });\n\n readonly weekDayNames = computed(() => {\n const names: string[] = [];\n const firstDay = (this.firstDayOfWeek() % 7) as 0 | 1 | 2 | 3 | 4 | 5 | 6;\n const base = startOfWeek(new Date(), { weekStartsOn: firstDay });\n for (let i = 0; i < 7; i++) {\n names.push(formatDate(addDays(base, i), 'EEEEEE'));\n }\n return names;\n });\n\n // Effective Presets List\n readonly effectivePresets = computed<DateRangePreset[]>(() => {\n const custom = this.presets();\n if (custom && custom.length > 0) return custom;\n\n const type = this.presetType();\n const firstDay = (this.firstDayOfWeek() % 7) as 0 | 1 | 2 | 3 | 4 | 5 | 6;\n\n const calendarPresets: DateRangePreset[] = [\n {\n label: 'Today',\n key: 'today',\n getValue: () => ({\n startDate: startOfDay(new Date()),\n endDate: endOfDay(new Date())\n })\n },\n {\n label: 'Yesterday',\n key: 'yesterday',\n getValue: () => ({\n startDate: startOfDay(subDays(new Date(), 1)),\n endDate: endOfDay(subDays(new Date(), 1))\n })\n },\n {\n label: 'This week',\n key: 'this_week',\n getValue: () => ({\n startDate: startOfWeek(new Date(), { weekStartsOn: firstDay }),\n endDate: endOfWeek(new Date(), { weekStartsOn: firstDay })\n })\n },\n {\n label: 'Last week',\n key: 'last_week',\n getValue: () => ({\n startDate: startOfWeek(subWeeks(new Date(), 1), { weekStartsOn: firstDay }),\n endDate: endOfWeek(subWeeks(new Date(), 1), { weekStartsOn: firstDay })\n })\n },\n {\n label: 'This month',\n key: 'this_month',\n getValue: () => ({\n startDate: startOfMonth(new Date()),\n endDate: endOfMonth(new Date())\n })\n },\n {\n label: 'Last month',\n key: 'last_month',\n getValue: () => ({\n startDate: startOfMonth(subMonths(new Date(), 1)),\n endDate: endOfMonth(subMonths(new Date(), 1))\n })\n },\n {\n label: 'This year',\n key: 'this_year',\n getValue: () => ({\n startDate: startOfYear(new Date()),\n endDate: endOfYear(new Date())\n })\n },\n {\n label: 'Last year',\n key: 'last_year',\n getValue: () => ({\n startDate: startOfYear(subYears(new Date(), 1)),\n endDate: endOfYear(subYears(new Date(), 1))\n })\n }\n ];\n\n const durationPresets: DateRangePreset[] = [\n { label: '+1 Day', isDuration: true, duration: { days: 1 } },\n { label: '+2 Days', isDuration: true, duration: { days: 2 } },\n { label: '+3 Days', isDuration: true, duration: { days: 3 } },\n { label: '+1 Week', isDuration: true, duration: { weeks: 1 } },\n { label: '+2 Weeks', isDuration: true, duration: { weeks: 2 } },\n { label: '+1 Month', isDuration: true, duration: { months: 1 } },\n { label: '+3 Months', isDuration: true, duration: { months: 3 } }\n ];\n\n if (type === 'calendar') return calendarPresets;\n if (type === 'duration') return durationPresets;\n return [...calendarPresets, ...durationPresets];\n });\n\n // Days Grid for Left Calendar Month\n readonly leftCalendarDays = computed(() => {\n return this.buildCalendarDays(this.viewDate());\n });\n\n // Days Grid for Right Calendar Month\n readonly rightCalendarDays = computed(() => {\n return this.buildCalendarDays(this.viewDateRight());\n });\n\n readonly isPrevDisabled = computed(() => {\n const min = this.parsedMinDate();\n if (!min) return false;\n return !isAfter(startOfMonth(this.viewDate()), startOfMonth(min));\n });\n\n readonly isNextDisabled = computed(() => {\n const max = this.parsedMaxDate();\n if (!max) return false;\n return !isBefore(endOfMonth(this.viewDateRight()), endOfMonth(max));\n });\n\n readonly leftHeaderLabel = computed(() => {\n return formatDate(this.viewDate(), 'MMMM yyyy');\n });\n\n readonly rightHeaderLabel = computed(() => {\n return formatDate(this.viewDateRight(), 'MMMM yyyy');\n });\n\n // ControlValueAccessor Callbacks\n private onChange: (val: unknown) => void = () => { };\n private onTouched: () => void = () => { };\n\n constructor() {\n // Keep draft inputs synced with draft dates\n effect(() => {\n const start = this.draftStartDate();\n const end = this.draftEndDate();\n const fmt = this.effectiveDisplayFormat();\n\n if (start && isValid(start)) {\n const fullStart = set(start, {\n hours: this.draftStartHour(),\n minutes: this.draftStartMinute(),\n seconds: this.draftStartSecond()\n });\n this.startInputText.set(formatDate(fullStart, fmt));\n } else {\n this.startInputText.set('');\n }\n\n if (end && isValid(end)) {\n const fullEnd = set(end, {\n hours: this.draftEndHour(),\n minutes: this.draftEndMinute(),\n seconds: this.draftEndSecond()\n });\n this.endInputText.set(formatDate(fullEnd, fmt));\n } else {\n this.endInputText.set('');\n }\n });\n }\n\n // ControlValueAccessor Implementation\n writeValue(val: unknown): void {\n if (!val || typeof val !== 'object') {\n this.selectedStartDate.set(null);\n this.selectedEndDate.set(null);\n return;\n }\n\n let startRaw: unknown = null;\n let endRaw: unknown = null;\n\n if (Array.isArray(val)) {\n startRaw = val[0];\n endRaw = val[1];\n } else if (val && ('startDate' in val || 'endDate' in val)) {\n const rangeVal = val as DateRangeValue;\n startRaw = rangeVal.startDate;\n endRaw = rangeVal.endDate;\n }\n\n const parsedStart = parseFlexibleDate(startRaw, [this.effectiveValueFormat(), this.effectiveDisplayFormat()]);\n const parsedEnd = parseFlexibleDate(endRaw, [this.effectiveValueFormat(), this.effectiveDisplayFormat()]);\n\n if (parsedStart && isValid(parsedStart)) {\n this.selectedStartDate.set(parsedStart);\n this.viewDate.set(startOfMonth(parsedStart));\n if (this.showTime()) {\n this.draftStartHour.set(getHours(parsedStart));\n this.draftStartMinute.set(getMinutes(parsedStart));\n this.draftStartSecond.set(getSeconds(parsedStart));\n }\n } else {\n this.selectedStartDate.set(null);\n }\n\n if (parsedEnd && isValid(parsedEnd)) {\n this.selectedEndDate.set(parsedEnd);\n if (this.showTime()) {\n this.draftEndHour.set(getHours(parsedEnd));\n this.draftEndMinute.set(getMinutes(parsedEnd));\n this.draftEndSecond.set(getSeconds(parsedEnd));\n }\n } else {\n this.selectedEndDate.set(null);\n }\n }\n\n registerOnChange(fn: (val: unknown) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.isDisabledSignal.set(isDisabled);\n }\n\n // Dropdown Controls\n toggleOpen(): void {\n if (this.effectiveDisabled()) return;\n if (this.isOpen()) {\n this.close();\n } else {\n this.open();\n }\n }\n\n open(): void {\n if (this.effectiveDisabled() || this.isOpen()) return;\n this.isOpen.set(true);\n\n const selStart = this.selectedStartDate();\n const selEnd = this.selectedEndDate();\n\n if (selStart && isValid(selStart)) {\n this.draftStartDate.set(selStart);\n this.viewDate.set(startOfMonth(selStart));\n this.draftStartHour.set(getHours(selStart));\n this.draftStartMinute.set(getMinutes(selStart));\n this.draftStartSecond.set(getSeconds(selStart));\n } else {\n this.draftStartDate.set(null);\n this.viewDate.set(startOfMonth(new Date()));\n this.draftStartHour.set(0);\n this.draftStartMinute.set(0);\n this.draftStartSecond.set(0);\n }\n\n if (selEnd && isValid(selEnd)) {\n this.draftEndDate.set(selEnd);\n this.draftEndHour.set(getHours(selEnd));\n this.draftEndMinute.set(getMinutes(selEnd));\n this.draftEndSecond.set(getSeconds(selEnd));\n } else {\n this.draftEndDate.set(null);\n this.draftEndHour.set(23);\n this.draftEndMinute.set(59);\n this.draftEndSecond.set(59);\n }\n\n this.hoverDate.set(null);\n this.opened.emit();\n }\n\n close(): void {\n if (!this.isOpen()) return;\n this.isOpen.set(false);\n this.markAsTouched();\n this.closed.emit();\n }\n\n // Dual Calendar Month Navigation\n prevMonth(): void {\n if (this.isPrevDisabled()) return;\n this.viewDate.update((d) => subMonths(d, 1));\n }\n\n nextMonth(): void {\n if (this.isNextDisabled()) return;\n this.viewDate.update((d) => addMonths(d, 1));\n }\n\n // Day Selection Logic\n selectDay(day: RangeCalendarDay): void {\n if (day.isDisabled) return;\n this.activePresetLabel.set(null);\n\n const start = this.draftStartDate();\n const end = this.draftEndDate();\n\n if (!start || (start && end)) {\n // Step 1: Set new Start Date & clear End Date\n const newStart = set(day.date, {\n hours: this.draftStartHour(),\n minutes: this.draftStartMinute(),\n seconds: this.draftStartSecond()\n });\n this.draftStartDate.set(newStart);\n this.draftEndDate.set(null);\n } else {\n // Step 2: Set End Date\n const targetDate = day.date;\n if (isBefore(startOfDay(targetDate), startOfDay(start))) {\n // If clicked date is before start date, swap them\n const newStart = set(targetDate, {\n hours: this.draftStartHour(),\n minutes: this.draftStartMinute(),\n seconds: this.draftStartSecond()\n });\n const newEnd = set(start, {\n hours: this.draftEndHour(),\n minutes: this.draftEndMinute(),\n seconds: this.draftEndSecond()\n });\n this.draftStartDate.set(newStart);\n this.draftEndDate.set(newEnd);\n } else {\n const newEnd = set(targetDate, {\n hours: this.draftEndHour(),\n minutes: this.draftEndMinute(),\n seconds: this.draftEndSecond()\n });\n this.draftEndDate.set(newEnd);\n }\n }\n }\n\n onDayHover(day: RangeCalendarDay): void {\n if (this.draftStartDate() && !this.draftEndDate()) {\n this.hoverDate.set(day.date);\n } else {\n this.hoverDate.set(null);\n }\n }\n\n // Preset Selection\n applyPreset(preset: DateRangePreset): void {\n this.activePresetLabel.set(preset.label);\n\n let newStart: Date | null = null;\n let newEnd: Date | null = null;\n\n if (preset.isDuration || preset.duration) {\n const baseStart = this.draftStartDate() || startOfDay(new Date());\n newStart = set(baseStart, {\n hours: this.draftStartHour(),\n minutes: this.draftStartMinute(),\n seconds: this.draftStartSecond()\n });\n let calculatedEnd = baseStart;\n\n if (preset.duration?.days) calculatedEnd = addDays(calculatedEnd, preset.duration.days);\n if (preset.duration?.weeks) calculatedEnd = addWeeks(calculatedEnd, preset.duration.weeks);\n if (preset.duration?.months) calculatedEnd = addMonths(calculatedEnd, preset.duration.months);\n if (preset.duration?.years) calculatedEnd = addYears(calculatedEnd, preset.duration.years);\n\n newEnd = set(calculatedEnd, {\n hours: this.draftEndHour(),\n minutes: this.draftEndMinute(),\n seconds: this.draftEndSecond()\n });\n } else if (preset.getValue) {\n const range = preset.getValue(this.draftStartDate());\n newStart = range.startDate;\n newEnd = range.endDate;\n }\n\n if (newStart && isValid(newStart)) {\n this.draftStartDate.set(newStart);\n this.viewDate.set(startOfMonth(newStart));\n }\n if (newEnd && isValid(newEnd)) {\n this.draftEndDate.set(newEnd);\n }\n }\n\n // Apply & Cancel Overlay Actions\n applySelection(): void {\n const start = this.draftStartDate();\n const end = this.draftEndDate();\n\n if (!start) {\n this.selectedStartDate.set(null);\n this.selectedEndDate.set(null);\n this.emitValue(null);\n this.close();\n return;\n }\n\n const finalStart = set(start, {\n hours: this.draftStartHour(),\n minutes: this.draftStartMinute(),\n seconds: this.draftStartSecond()\n });\n const finalEnd = set(end || start, {\n hours: this.draftEndHour(),\n minutes: this.draftEndMinute(),\n seconds: this.draftEndSecond()\n });\n\n // Ensure start is before or equal to end\n if (isBefore(finalEnd, finalStart)) {\n this.selectedStartDate.set(finalEnd);\n this.selectedEndDate.set(finalStart);\n this.emitValue({ startDate: finalEnd, endDate: finalStart });\n } else {\n this.selectedStartDate.set(finalStart);\n this.selectedEndDate.set(finalEnd);\n this.emitValue({ startDate: finalStart, endDate: finalEnd });\n }\n\n this.close();\n }\n\n cancelSelection(): void {\n this.close();\n }\n\n onClear(event: MouseEvent): void {\n event.stopPropagation();\n if (this.effectiveDisabled()) return;\n this.selectedStartDate.set(null);\n this.selectedEndDate.set(null);\n this.draftStartDate.set(null);\n this.draftEndDate.set(null);\n this.emitValue(null);\n }\n\n // Time Manipulations (Start & End)\n adjustStartHour(delta: number): void {\n this.draftStartHour.update((h) => (h + delta + 24) % 24);\n }\n\n adjustStartMinute(delta: number): void {\n const step = this.minuteStep();\n this.draftStartMinute.update((m) => (m + delta * step + 60) % 60);\n }\n\n adjustEndHour(delta: number): void {\n this.draftEndHour.update((h) => (h + delta + 24) % 24);\n }\n\n adjustEndMinute(delta: number): void {\n const step = this.minuteStep();\n this.draftEndMinute.update((m) => (m + delta * step + 60) % 60);\n }\n\n toggleStartMeridiem(): void {\n this.draftStartHour.update((h) => (h >= 12 ? h - 12 : h + 12));\n }\n\n toggleEndMeridiem(): void {\n this.draftEndHour.update((h) => (h >= 12 ? h - 12 : h + 12));\n }\n\n // Direct Typing Handlers for Start & End Input Fields in Footer\n onStartInputChange(event: Event): void {\n const val = (event.target as HTMLInputElement).value;\n this.startInputText.set(val);\n\n if (!val.trim()) {\n this.draftStartDate.set(null);\n return;\n }\n\n const parsed = parseFlexibleDate(val, [this.effectiveDisplayFormat(), this.effectiveValueFormat()]);\n if (parsed && isValid(parsed)) {\n this.draftStartDate.set(parsed);\n this.draftStartHour.set(getHours(parsed));\n this.draftStartMinute.set(getMinutes(parsed));\n this.draftStartSecond.set(getSeconds(parsed));\n this.viewDate.set(startOfMonth(parsed));\n }\n }\n\n onStartInputBlur(event: FocusEvent): void {\n const start = this.draftStartDate();\n const fmt = this.effectiveDisplayFormat();\n if (start && isValid(start)) {\n const fullStart = set(start, {\n hours: this.draftStartHour(),\n minutes: this.draftStartMinute(),\n seconds: this.draftStartSecond()\n });\n this.startInputText.set(formatDate(fullStart, fmt));\n } else {\n this.startInputText.set('');\n }\n }\n\n onEndInputChange(event: Event): void {\n const val = (event.target as HTMLInputElement).value;\n this.endInputText.set(val);\n\n if (!val.trim()) {\n this.draftEndDate.set(null);\n return;\n }\n\n const parsed = parseFlexibleDate(val, [this.effectiveDisplayFormat(), this.effectiveValueFormat()]);\n if (parsed && isValid(parsed)) {\n this.draftEndDate.set(parsed);\n this.draftEndHour.set(getHours(parsed));\n this.draftEndMinute.set(getMinutes(parsed));\n this.draftEndSecond.set(getSeconds(parsed));\n }\n }\n\n onEndInputBlur(event: FocusEvent): void {\n const end = this.draftEndDate();\n const fmt = this.effectiveDisplayFormat();\n if (end && isValid(end)) {\n const fullEnd = set(end, {\n hours: this.draftEndHour(),\n minutes: this.draftEndMinute(),\n seconds: this.draftEndSecond()\n });\n this.endInputText.set(formatDate(fullEnd, fmt));\n } else {\n this.endInputText.set('');\n }\n }\n\n onFooterInputKeyDown(event: KeyboardEvent): void {\n if (event.key === 'Enter') {\n event.preventDefault();\n this.applySelection();\n }\n }\n\n // Helper Calendar Builder\n private buildCalendarDays(viewMonth: Date): RangeCalendarDay[] {\n const start = this.draftStartDate();\n const end = this.draftEndDate();\n const hover = this.hoverDate();\n const min = this.parsedMinDate();\n const max = this.parsedMaxDate();\n const filter = this.filterDate();\n const firstDay = (this.firstDayOfWeek() % 7) as 0 | 1 | 2 | 3 | 4 | 5 | 6;\n const minS = this.minSpan();\n const maxS = this.maxSpan();\n\n const days: RangeCalendarDay[] = [];\n const monthStart = startOfMonth(viewMonth);\n const gridStart = startOfWeek(monthStart, { weekStartsOn: firstDay });\n const today = startOfDay(new Date());\n\n for (let i = 0; i < 42; i++) {\n const current = addDays(gridStart, i);\n const isCurrentMonth = isSameMonth(current, viewMonth);\n const isToday = isSameDay(current, today);\n\n const isSelectedStart = !!(start && isSameDay(current, start));\n const isSelectedEnd = !!(end && isSameDay(current, end));\n\n let isInRange = false;\n if (start && end) {\n const rangeStart = isBefore(start, end) ? start : end;\n const rangeEnd = isBefore(start, end) ? end : start;\n isInRange = isAfter(startOfDay(current), startOfDay(rangeStart)) && isBefore(startOfDay(current), startOfDay(rangeEnd));\n }\n\n let isHoveredRange = false;\n if (start && !end && hover) {\n const rangeStart = isBefore(start, hover) ? start : hover;\n const rangeEnd = isBefore(start, hover) ? hover : start;\n isHoveredRange = (isSameDay(current, rangeStart) || isAfter(startOfDay(current), startOfDay(rangeStart))) &&\n (isSameDay(current, rangeEnd) || isBefore(startOfDay(current), startOfDay(rangeEnd)));\n }\n\n let isDisabled = false;\n if (min && isBefore(startOfDay(current), startOfDay(min))) isDisabled = true;\n if (max && isAfter(startOfDay(current), startOfDay(max))) isDisabled = true;\n if (filter && !filter(current)) isDisabled = true;\n\n // Span validation\n if (start && !end && (minS !== null || maxS !== null)) {\n const diffDays = Math.abs(differenceInCalendarDays(current, start));\n if (minS !== null && diffDays < minS) isDisabled = true;\n if (maxS !== null && diffDays > maxS) isDisabled = true;\n }\n\n days.push({\n date: current,\n dayNumber: getDate(current),\n isCurrentMonth,\n isToday,\n isSelectedStart,\n isSelectedEnd,\n isInRange,\n isHoveredRange,\n isDisabled,\n isFocused: false\n });\n }\n\n return days;\n }\n\n private emitValue(range: InternalDateRange | null): void {\n if (!range || !range.startDate || !range.endDate) {\n this.onChange(null);\n this.rangeChange.emit(null);\n return;\n }\n\n const fmt = this.effectiveValueFormat();\n const outStart = this.formatOutputDate(range.startDate, fmt);\n const outEnd = this.formatOutputDate(range.endDate, fmt);\n\n const outVal: DateRangeValue = {\n startDate: outStart as any,\n endDate: outEnd as any\n };\n\n this.onChange(outVal);\n this.rangeChange.emit(outVal);\n }\n\n private formatOutputDate(date: Date, fmt: string): unknown {\n if (fmt === 'date') return date;\n if (fmt === 'iso') return date.toISOString();\n return formatDate(date, fmt);\n }\n\n markAsTouched(): void {\n if (!this.isTouched()) {\n this.isTouched.set(true);\n this.onTouched();\n }\n }\n\n onKeyDown(event: KeyboardEvent): void {\n if (this.effectiveDisabled()) return;\n\n if (!this.isOpen()) {\n if (['ArrowDown', 'ArrowUp', 'Enter', ' '].includes(event.key)) {\n event.preventDefault();\n this.open();\n }\n return;\n }\n\n if (event.key === 'Escape') {\n event.preventDefault();\n this.close();\n }\n }\n\n onDocumentClick(event: MouseEvent): void {\n if (!this.isOpen()) return;\n const target = event.target as Node;\n const clickedInsideHost = this.elementRef.nativeElement.contains(target);\n const clickedInsideOverlay = target instanceof Element && !!target.closest('.daterangepicker-dropdown-panel');\n\n if (!clickedInsideHost && !clickedInsideOverlay) {\n this.close();\n }\n }\n}\n","@if (label() && !isFloatingMode()) {\n <label class=\"talos-field-label\" (click)=\"toggleOpen()\">\n {{ label() }}\n @if (required()) {\n <span class=\"required-star\" aria-hidden=\"true\">*</span>\n }\n </label>\n}\n\n<div class=\"datepicker-control-container\">\n <!-- DateRangePicker Input Trigger -->\n <div #triggerEl cdkOverlayOrigin #origin=\"cdkOverlayOrigin\" class=\"datepicker-trigger daterangepicker-trigger\"\n role=\"combobox\" [attr.aria-expanded]=\"isOpen()\" [attr.aria-haspopup]=\"'dialog'\" [attr.aria-controls]=\"dialogId\"\n [attr.aria-disabled]=\"effectiveDisabled()\" (click)=\"toggleOpen()\">\n <div class=\"datepicker-value-container\">\n <svg class=\"datepicker-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"\n aria-hidden=\"true\">\n <rect x=\"3\" y=\"4\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"></rect>\n <line x1=\"16\" y1=\"2\" x2=\"16\" y2=\"6\"></line>\n <line x1=\"8\" y1=\"2\" x2=\"8\" y2=\"6\"></line>\n <line x1=\"3\" y1=\"10\" x2=\"21\" y2=\"10\"></line>\n </svg>\n <span class=\"daterangepicker-value-text\" [class.is-placeholder]=\"!formattedTriggerValue()\">\n {{ formattedTriggerValue() || (isFloatingMode() && !isFloated() ? '' : placeholder()) }}\n </span>\n </div>\n\n @if (label() && isFloatingMode()) {\n <label class=\"talos-floating-label\" [class.is-floated]=\"isFloated()\" (click)=\"toggleOpen()\">\n {{ label() }}\n @if (required()) {\n <span class=\"required-star\" aria-hidden=\"true\">*</span>\n }\n </label>\n }\n\n <div class=\"datepicker-actions\">\n @if (clearable() && formattedTriggerValue() && !effectiveDisabled()) {\n <button type=\"button\" class=\"datepicker-clear-btn\" aria-label=\"Clear range\" title=\"Clear range\"\n (click)=\"onClear($event)\">\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" aria-hidden=\"true\">\n <line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"></line>\n <line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"></line>\n </svg>\n </button>\n }\n </div>\n </div>\n\n<!-- Dual Calendar Dropdown Overlay Dialog -->\n<ng-template cdkConnectedOverlay [cdkConnectedOverlayOrigin]=\"origin\" [cdkConnectedOverlayOpen]=\"isOpen()\"\n [cdkConnectedOverlayPositions]=\"positions\" [cdkConnectedOverlayHasBackdrop]=\"false\"\n [cdkConnectedOverlayLockPosition]=\"false\" [cdkConnectedOverlayFlexibleDimensions]=\"true\"\n [cdkConnectedOverlayPush]=\"true\" (detach)=\"close()\">\n <div class=\"datepicker-dropdown-panel daterangepicker-dropdown-panel\" [id]=\"dialogId\" role=\"dialog\"\n aria-label=\"Date Range Picker Calendar\">\n <div class=\"daterangepicker-content\">\n\n <!-- Presets Sidebar -->\n @if (effectivePresets().length > 0) {\n <aside class=\"daterangepicker-sidebar\">\n <div class=\"preset-list\">\n @for (preset of effectivePresets(); track preset.label) {\n <button type=\"button\" class=\"preset-item\" [class.is-active]=\"activePresetLabel() === preset.label\"\n (click)=\"applyPreset(preset)\">\n {{ preset.label }}\n </button>\n }\n </div>\n </aside>\n }\n\n <!-- Main Dual Calendars Container -->\n <main class=\"daterangepicker-calendars-container\">\n <div class=\"dual-calendars-grid\">\n\n <!-- Left Calendar Month -->\n <div class=\"calendar-month-panel left-month\">\n <div class=\"datepicker-header\">\n <button type=\"button\" class=\"datepicker-nav-btn\" aria-label=\"Previous month\" title=\"Previous month\"\n [disabled]=\"isPrevDisabled()\" (click)=\"prevMonth()\">\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" aria-hidden=\"true\">\n <polyline points=\"15 18 9 12 15 6\"></polyline>\n </svg>\n </button>\n <span class=\"month-header-title\">{{ leftHeaderLabel() }}</span>\n <div class=\"header-nav-placeholder\"></div>\n </div>\n\n <div class=\"datepicker-body\">\n <div class=\"datepicker-weekdays\">\n @for (dayName of weekDayNames(); track dayName) {\n <span class=\"weekday-cell\">{{ dayName }}</span>\n }\n </div>\n\n <div class=\"datepicker-days-grid\">\n @for (day of leftCalendarDays(); track day.date.valueOf()) {\n <button type=\"button\" class=\"day-cell range-day-cell\" [class.is-other-month]=\"!day.isCurrentMonth\"\n [class.is-today]=\"day.isToday\" [class.is-selected-start]=\"day.isSelectedStart\"\n [class.is-selected-end]=\"day.isSelectedEnd\" [class.is-in-range]=\"day.isInRange\"\n [class.is-hovered-range]=\"day.isHoveredRange\" [class.is-disabled]=\"day.isDisabled\"\n [disabled]=\"day.isDisabled\" (click)=\"selectDay(day)\" (mouseenter)=\"onDayHover(day)\">\n {{ day.dayNumber }}\n </button>\n }\n </div>\n </div>\n </div>\n\n <!-- Vertical Separator Divider -->\n <div class=\"calendars-divider\"></div>\n\n <!-- Right Calendar Month -->\n <div class=\"calendar-month-panel right-month\">\n <div class=\"datepicker-header\">\n <div class=\"header-nav-placeholder\"></div>\n <span class=\"month-header-title\">{{ rightHeaderLabel() }}</span>\n <button type=\"button\" class=\"datepicker-nav-btn\" aria-label=\"Next month\" title=\"Next month\"\n [disabled]=\"isNextDisabled()\" (click)=\"nextMonth()\">\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" aria-hidden=\"true\">\n <polyline points=\"9 18 15 12 9 6\"></polyline>\n </svg>\n </button>\n </div>\n\n <div class=\"datepicker-body\">\n <div class=\"datepicker-weekdays\">\n @for (dayName of weekDayNames(); track dayName) {\n <span class=\"weekday-cell\">{{ dayName }}</span>\n }\n </div>\n\n <div class=\"datepicker-days-grid\">\n @for (day of rightCalendarDays(); track day.date.valueOf()) {\n <button type=\"button\" class=\"day-cell range-day-cell\" [class.is-other-month]=\"!day.isCurrentMonth\"\n [class.is-today]=\"day.isToday\" [class.is-selected-start]=\"day.isSelectedStart\"\n [class.is-selected-end]=\"day.isSelectedEnd\" [class.is-in-range]=\"day.isInRange\"\n [class.is-hovered-range]=\"day.isHoveredRange\" [class.is-disabled]=\"day.isDisabled\"\n [disabled]=\"day.isDisabled\" (click)=\"selectDay(day)\" (mouseenter)=\"onDayHover(day)\">\n {{ day.dayNumber }}\n </button>\n }\n </div>\n </div>\n </div>\n\n </div>\n\n <!-- Optional Time Pickers Row (When showTime is true) -->\n @if (showTime()) {\n <div class=\"daterangepicker-time-row\">\n <div class=\"time-picker-block\">\n <span class=\"time-label\">Start Time:</span>\n <div class=\"time-controls\">\n <button type=\"button\" class=\"time-adjust-btn\" (click)=\"adjustStartHour(1)\">▲</button>\n <span class=\"time-val\">{{ draftStartHour().toString().padStart(2, '0') }}</span>\n <button type=\"button\" class=\"time-adjust-btn\" (click)=\"adjustStartHour(-1)\">▼</button>\n <span class=\"time-sep\">:</span>\n <button type=\"button\" class=\"time-adjust-btn\" (click)=\"adjustStartMinute(1)\">▲</button>\n <span class=\"time-val\">{{ draftStartMinute().toString().padStart(2, '0') }}</span>\n <button type=\"button\" class=\"time-adjust-btn\" (click)=\"adjustStartMinute(-1)\">▼</button>\n @if (!use24Hour()) {\n <button type=\"button\" class=\"meridiem-toggle\" (click)=\"toggleStartMeridiem()\">\n {{ draftStartHour() >= 12 ? 'PM' : 'AM' }}\n </button>\n }\n </div>\n </div>\n\n <div class=\"time-picker-block\">\n <span class=\"time-label\">End Time:</span>\n <div class=\"time-controls\">\n <button type=\"button\" class=\"time-adjust-btn\" (click)=\"adjustEndHour(1)\">▲</button>\n <span class=\"time-val\">{{ draftEndHour().toString().padStart(2, '0') }}</span>\n <button type=\"button\" class=\"time-adjust-btn\" (click)=\"adjustEndHour(-1)\">▼</button>\n <span class=\"time-sep\">:</span>\n <button type=\"button\" class=\"time-adjust-btn\" (click)=\"adjustEndMinute(1)\">▲</button>\n <span class=\"time-val\">{{ draftEndMinute().toString().padStart(2, '0') }}</span>\n <button type=\"button\" class=\"time-adjust-btn\" (click)=\"adjustEndMinute(-1)\">▼</button>\n @if (!use24Hour()) {\n <button type=\"button\" class=\"meridiem-toggle\" (click)=\"toggleEndMeridiem()\">\n {{ draftEndHour() >= 12 ? 'PM' : 'AM' }}\n </button>\n }\n </div>\n </div>\n </div>\n }\n\n <!-- Bottom Action & Inputs Footer Bar -->\n <footer class=\"daterangepicker-footer\">\n <div class=\"range-display-inputs\">\n <input #startInputEl type=\"text\" class=\"date-preview-input\" [value]=\"startInputText()\"\n [placeholder]=\"showTime() ? 'YYYY-MM-DD HH:mm' : 'YYYY-MM-DD'\" (input)=\"onStartInputChange($event)\"\n (blur)=\"onStartInputBlur($event)\" (keydown)=\"onFooterInputKeyDown($event)\"\n aria-label=\"Start date input\" />\n <span class=\"range-sep\">—</span>\n <input #endInputEl type=\"text\" class=\"date-preview-input\" [value]=\"endInputText()\"\n [placeholder]=\"showTime() ? 'YYYY-MM-DD HH:mm' : 'YYYY-MM-DD'\" (input)=\"onEndInputChange($event)\"\n (blur)=\"onEndInputBlur($event)\" (keydown)=\"onFooterInputKeyDown($event)\" aria-label=\"End date input\" />\n </div>\n\n <div class=\"action-buttons\">\n <button type=\"button\" class=\"btn-range-cancel\" (click)=\"cancelSelection()\">\n Cancel\n </button>\n <button type=\"button\" class=\"btn-range-apply\" (click)=\"applySelection()\">\n Apply\n </button>\n </div>\n </footer>\n\n\n </main>\n\n </div>\n </div>\n</ng-template>\n</div>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,119 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { input, output, signal, effect, forwardRef, ViewChild, Component } from '@angular/core';
3
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
- import { DatePickerComponent } from '@weeehaoooz/talos-ui/form/date-picker';
5
-
6
- let uniqueDateTimePickerId = 0;
7
- class DateTimePickerComponent {
8
- // Signal Inputs
9
- placeholder = input('Select date & time', /* @ts-ignore */
10
- ...(ngDevMode ? [{ debugName: "placeholder" }] : /* istanbul ignore next */ []));
11
- label = input('', /* @ts-ignore */
12
- ...(ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []));
13
- floatingLabel = input(false, /* @ts-ignore */
14
- ...(ngDevMode ? [{ debugName: "floatingLabel" }] : /* istanbul ignore next */ []));
15
- floating = input(false, /* @ts-ignore */
16
- ...(ngDevMode ? [{ debugName: "floating" }] : /* istanbul ignore next */ []));
17
- required = input(false, /* @ts-ignore */
18
- ...(ngDevMode ? [{ debugName: "required" }] : /* istanbul ignore next */ []));
19
- disabled = input(false, /* @ts-ignore */
20
- ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
21
- clearable = input(true, /* @ts-ignore */
22
- ...(ngDevMode ? [{ debugName: "clearable" }] : /* istanbul ignore next */ []));
23
- size = input('md', /* @ts-ignore */
24
- ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
25
- displayFormat = input('yyyy-MM-dd HH:mm', /* @ts-ignore */
26
- ...(ngDevMode ? [{ debugName: "displayFormat" }] : /* istanbul ignore next */ []));
27
- valueFormat = input('yyyy-MM-dd HH:mm', /* @ts-ignore */
28
- ...(ngDevMode ? [{ debugName: "valueFormat" }] : /* istanbul ignore next */ []));
29
- use24Hour = input(true, /* @ts-ignore */
30
- ...(ngDevMode ? [{ debugName: "use24Hour" }] : /* istanbul ignore next */ []));
31
- showSeconds = input(false, /* @ts-ignore */
32
- ...(ngDevMode ? [{ debugName: "showSeconds" }] : /* istanbul ignore next */ []));
33
- minuteStep = input(1, /* @ts-ignore */
34
- ...(ngDevMode ? [{ debugName: "minuteStep" }] : /* istanbul ignore next */ []));
35
- minDate = input(null, /* @ts-ignore */
36
- ...(ngDevMode ? [{ debugName: "minDate" }] : /* istanbul ignore next */ []));
37
- maxDate = input(null, /* @ts-ignore */
38
- ...(ngDevMode ? [{ debugName: "maxDate" }] : /* istanbul ignore next */ []));
39
- firstDayOfWeek = input(0, /* @ts-ignore */
40
- ...(ngDevMode ? [{ debugName: "firstDayOfWeek" }] : /* istanbul ignore next */ []));
41
- filterDate = input(null, /* @ts-ignore */
42
- ...(ngDevMode ? [{ debugName: "filterDate" }] : /* istanbul ignore next */ []));
43
- // Signal Outputs
44
- dateTimeChange = output();
45
- opened = output();
46
- closed = output();
47
- corePicker;
48
- // Component unique IDs
49
- componentId = `talos-datetimepicker-${uniqueDateTimePickerId++}`;
50
- currentValue = signal(null, /* @ts-ignore */
51
- ...(ngDevMode ? [{ debugName: "currentValue" }] : /* istanbul ignore next */ []));
52
- onChange = () => { };
53
- onTouched = () => { };
54
- constructor() {
55
- effect(() => {
56
- const val = this.currentValue();
57
- if (this.corePicker) {
58
- this.corePicker.writeValue(val);
59
- }
60
- });
61
- }
62
- writeValue(val) {
63
- this.currentValue.set(val);
64
- if (this.corePicker) {
65
- this.corePicker.writeValue(val);
66
- }
67
- }
68
- registerOnChange(fn) {
69
- this.onChange = fn;
70
- }
71
- registerOnTouched(fn) {
72
- this.onTouched = fn;
73
- }
74
- setDisabledState(isDisabled) {
75
- // Delegated to inner date-picker via disabled input
76
- }
77
- onDateChange(val) {
78
- this.currentValue.set(val);
79
- this.onChange(val);
80
- this.dateTimeChange.emit(val);
81
- }
82
- onOpened() {
83
- this.opened.emit();
84
- }
85
- onClosed() {
86
- this.onTouched();
87
- this.closed.emit();
88
- }
89
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: DateTimePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
90
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.1", type: DateTimePickerComponent, isStandalone: true, selector: "talos-date-time-picker", inputs: { placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, floatingLabel: { classPropertyName: "floatingLabel", publicName: "floatingLabel", isSignal: true, isRequired: false, transformFunction: null }, floating: { classPropertyName: "floating", publicName: "floating", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, clearable: { classPropertyName: "clearable", publicName: "clearable", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, displayFormat: { classPropertyName: "displayFormat", publicName: "displayFormat", isSignal: true, isRequired: false, transformFunction: null }, valueFormat: { classPropertyName: "valueFormat", publicName: "valueFormat", isSignal: true, isRequired: false, transformFunction: null }, use24Hour: { classPropertyName: "use24Hour", publicName: "use24Hour", isSignal: true, isRequired: false, transformFunction: null }, showSeconds: { classPropertyName: "showSeconds", publicName: "showSeconds", isSignal: true, isRequired: false, transformFunction: null }, minuteStep: { classPropertyName: "minuteStep", publicName: "minuteStep", 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 }, firstDayOfWeek: { classPropertyName: "firstDayOfWeek", publicName: "firstDayOfWeek", isSignal: true, isRequired: false, transformFunction: null }, filterDate: { classPropertyName: "filterDate", publicName: "filterDate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dateTimeChange: "dateTimeChange", opened: "opened", closed: "closed" }, host: { classAttribute: "talos-datetimepicker-host" }, providers: [
91
- {
92
- provide: NG_VALUE_ACCESSOR,
93
- useExisting: forwardRef(() => DateTimePickerComponent),
94
- multi: true
95
- }
96
- ], viewQueries: [{ propertyName: "corePicker", first: true, predicate: DatePickerComponent, descendants: true }], ngImport: i0, template: "<talos-date-picker [label]=\"label()\" [floatingLabel]=\"floatingLabel()\" [floating]=\"floating()\" [required]=\"required()\"\n [placeholder]=\"placeholder()\" [disabled]=\"disabled()\" [clearable]=\"clearable()\" [size]=\"size()\"\n [displayFormat]=\"displayFormat()\" [valueFormat]=\"valueFormat()\" [showTime]=\"true\" [use24Hour]=\"use24Hour()\"\n [showSeconds]=\"showSeconds()\" [minuteStep]=\"minuteStep()\" [minDate]=\"minDate()\" [maxDate]=\"maxDate()\"\n [firstDayOfWeek]=\"firstDayOfWeek()\" [filterDate]=\"filterDate()\" (dateChange)=\"onDateChange($event)\"\n (opened)=\"onOpened()\" (closed)=\"onClosed()\">\n</talos-date-picker>", styles: [":host.talos-datetimepicker-host{display:inline-block;position:relative;width:100%}\n"], dependencies: [{ kind: "component", type: DatePickerComponent, selector: "talos-date-picker", inputs: ["placeholder", "label", "floatingLabel", "floating", "required", "disabled", "clearable", "size", "displayFormat", "valueFormat", "showTime", "use24Hour", "showSeconds", "minuteStep", "minDate", "maxDate", "firstDayOfWeek", "filterDate"], outputs: ["dateChange", "opened", "closed"] }] });
97
- }
98
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: DateTimePickerComponent, decorators: [{
99
- type: Component,
100
- args: [{ selector: 'talos-date-time-picker', imports: [DatePickerComponent], providers: [
101
- {
102
- provide: NG_VALUE_ACCESSOR,
103
- useExisting: forwardRef(() => DateTimePickerComponent),
104
- multi: true
105
- }
106
- ], host: {
107
- 'class': 'talos-datetimepicker-host'
108
- }, template: "<talos-date-picker [label]=\"label()\" [floatingLabel]=\"floatingLabel()\" [floating]=\"floating()\" [required]=\"required()\"\n [placeholder]=\"placeholder()\" [disabled]=\"disabled()\" [clearable]=\"clearable()\" [size]=\"size()\"\n [displayFormat]=\"displayFormat()\" [valueFormat]=\"valueFormat()\" [showTime]=\"true\" [use24Hour]=\"use24Hour()\"\n [showSeconds]=\"showSeconds()\" [minuteStep]=\"minuteStep()\" [minDate]=\"minDate()\" [maxDate]=\"maxDate()\"\n [firstDayOfWeek]=\"firstDayOfWeek()\" [filterDate]=\"filterDate()\" (dateChange)=\"onDateChange($event)\"\n (opened)=\"onOpened()\" (closed)=\"onClosed()\">\n</talos-date-picker>", styles: [":host.talos-datetimepicker-host{display:inline-block;position:relative;width:100%}\n"] }]
109
- }], ctorParameters: () => [], propDecorators: { placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], floatingLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "floatingLabel", required: false }] }], floating: [{ type: i0.Input, args: [{ isSignal: true, alias: "floating", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], clearable: [{ type: i0.Input, args: [{ isSignal: true, alias: "clearable", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], displayFormat: [{ type: i0.Input, args: [{ isSignal: true, alias: "displayFormat", required: false }] }], valueFormat: [{ type: i0.Input, args: [{ isSignal: true, alias: "valueFormat", required: false }] }], use24Hour: [{ type: i0.Input, args: [{ isSignal: true, alias: "use24Hour", required: false }] }], showSeconds: [{ type: i0.Input, args: [{ isSignal: true, alias: "showSeconds", required: false }] }], minuteStep: [{ type: i0.Input, args: [{ isSignal: true, alias: "minuteStep", required: false }] }], minDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "minDate", required: false }] }], maxDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxDate", required: false }] }], firstDayOfWeek: [{ type: i0.Input, args: [{ isSignal: true, alias: "firstDayOfWeek", required: false }] }], filterDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterDate", required: false }] }], dateTimeChange: [{ type: i0.Output, args: ["dateTimeChange"] }], opened: [{ type: i0.Output, args: ["opened"] }], closed: [{ type: i0.Output, args: ["closed"] }], corePicker: [{
110
- type: ViewChild,
111
- args: [DatePickerComponent]
112
- }] } });
113
-
114
- /**
115
- * Generated bundle index. Do not edit.
116
- */
117
-
118
- export { DateTimePickerComponent };
119
- //# sourceMappingURL=weeehaoooz-talos-ui-form-date-time-picker.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"weeehaoooz-talos-ui-form-date-time-picker.mjs","sources":["../../../projects/talos-ui/form/date-time-picker/date-time-picker.component.ts","../../../projects/talos-ui/form/date-time-picker/date-time-picker.component.html","../../../projects/talos-ui/form/date-time-picker/weeehaoooz-talos-ui-form-date-time-picker.ts"],"sourcesContent":["import {\n Component,\n ViewChild,\n effect,\n forwardRef,\n input,\n output,\n signal\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { DatePickerComponent } from '@weeehaoooz/talos-ui/form/date-picker';\n\nlet uniqueDateTimePickerId = 0;\n\n@Component({\n selector: 'talos-date-time-picker',\n imports: [DatePickerComponent],\n templateUrl: './date-time-picker.component.html',\n styleUrl: './date-time-picker.component.scss',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => DateTimePickerComponent),\n multi: true\n }\n ],\n host: {\n 'class': 'talos-datetimepicker-host'\n }\n})\nexport class DateTimePickerComponent implements ControlValueAccessor {\n // Signal Inputs\n readonly placeholder = input<string>('Select date & time');\n readonly label = input<string>('');\n readonly floatingLabel = input<boolean>(false);\n readonly floating = input<boolean>(false);\n readonly required = input<boolean>(false);\n readonly disabled = input<boolean>(false);\n readonly clearable = input<boolean>(true);\n readonly size = input<'sm' | 'md' | 'lg'>('md');\n readonly displayFormat = input<string>('yyyy-MM-dd HH:mm');\n readonly valueFormat = input<string>('yyyy-MM-dd HH:mm');\n readonly use24Hour = input<boolean>(true);\n readonly showSeconds = input<boolean>(false);\n readonly minuteStep = input<number>(1);\n readonly minDate = input<string | Date | number | null>(null);\n readonly maxDate = input<string | Date | number | null>(null);\n readonly firstDayOfWeek = input<number>(0);\n readonly filterDate = input<((date: Date) => boolean) | null>(null);\n\n // Signal Outputs\n readonly dateTimeChange = output<unknown>();\n readonly opened = output<void>();\n readonly closed = output<void>();\n\n @ViewChild(DatePickerComponent) corePicker?: DatePickerComponent;\n\n // Component unique IDs\n readonly componentId = `talos-datetimepicker-${uniqueDateTimePickerId++}`;\n\n readonly currentValue = signal<unknown>(null);\n private onChange: (val: unknown) => void = () => { };\n private onTouched: () => void = () => { };\n\n constructor() {\n effect(() => {\n const val = this.currentValue();\n if (this.corePicker) {\n this.corePicker.writeValue(val);\n }\n });\n }\n\n writeValue(val: unknown): void {\n this.currentValue.set(val);\n if (this.corePicker) {\n this.corePicker.writeValue(val);\n }\n }\n\n registerOnChange(fn: (val: unknown) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n // Delegated to inner date-picker via disabled input\n }\n\n onDateChange(val: unknown): void {\n this.currentValue.set(val);\n this.onChange(val);\n this.dateTimeChange.emit(val);\n }\n\n onOpened(): void {\n this.opened.emit();\n }\n\n onClosed(): void {\n this.onTouched();\n this.closed.emit();\n }\n}\n","<talos-date-picker [label]=\"label()\" [floatingLabel]=\"floatingLabel()\" [floating]=\"floating()\" [required]=\"required()\"\n [placeholder]=\"placeholder()\" [disabled]=\"disabled()\" [clearable]=\"clearable()\" [size]=\"size()\"\n [displayFormat]=\"displayFormat()\" [valueFormat]=\"valueFormat()\" [showTime]=\"true\" [use24Hour]=\"use24Hour()\"\n [showSeconds]=\"showSeconds()\" [minuteStep]=\"minuteStep()\" [minDate]=\"minDate()\" [maxDate]=\"maxDate()\"\n [firstDayOfWeek]=\"firstDayOfWeek()\" [filterDate]=\"filterDate()\" (dateChange)=\"onDateChange($event)\"\n (opened)=\"onOpened()\" (closed)=\"onClosed()\">\n</talos-date-picker>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,135 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { input, output, signal, effect, forwardRef, ViewChild, Component } from '@angular/core';
3
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
- import { DateRangePickerComponent } from '@weeehaoooz/talos-ui/form/date-range-picker';
5
-
6
- let uniqueDateTimeRangePickerId = 0;
7
- class DateTimeRangePickerComponent {
8
- // Signal Inputs
9
- placeholder = input('Select date & time range', /* @ts-ignore */
10
- ...(ngDevMode ? [{ debugName: "placeholder" }] : /* istanbul ignore next */ []));
11
- label = input('', /* @ts-ignore */
12
- ...(ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []));
13
- floatingLabel = input(false, /* @ts-ignore */
14
- ...(ngDevMode ? [{ debugName: "floatingLabel" }] : /* istanbul ignore next */ []));
15
- floating = input(false, /* @ts-ignore */
16
- ...(ngDevMode ? [{ debugName: "floating" }] : /* istanbul ignore next */ []));
17
- required = input(false, /* @ts-ignore */
18
- ...(ngDevMode ? [{ debugName: "required" }] : /* istanbul ignore next */ []));
19
- disabled = input(false, /* @ts-ignore */
20
- ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
21
- clearable = input(true, /* @ts-ignore */
22
- ...(ngDevMode ? [{ debugName: "clearable" }] : /* istanbul ignore next */ []));
23
- size = input('md', /* @ts-ignore */
24
- ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
25
- displayFormat = input('yyyy-MM-dd HH:mm', /* @ts-ignore */
26
- ...(ngDevMode ? [{ debugName: "displayFormat" }] : /* istanbul ignore next */ []));
27
- valueFormat = input('yyyy-MM-dd HH:mm', /* @ts-ignore */
28
- ...(ngDevMode ? [{ debugName: "valueFormat" }] : /* istanbul ignore next */ []));
29
- use24Hour = input(true, /* @ts-ignore */
30
- ...(ngDevMode ? [{ debugName: "use24Hour" }] : /* istanbul ignore next */ []));
31
- showSeconds = input(false, /* @ts-ignore */
32
- ...(ngDevMode ? [{ debugName: "showSeconds" }] : /* istanbul ignore next */ []));
33
- minuteStep = input(1, /* @ts-ignore */
34
- ...(ngDevMode ? [{ debugName: "minuteStep" }] : /* istanbul ignore next */ []));
35
- minDate = input(null, /* @ts-ignore */
36
- ...(ngDevMode ? [{ debugName: "minDate" }] : /* istanbul ignore next */ []));
37
- maxDate = input(null, /* @ts-ignore */
38
- ...(ngDevMode ? [{ debugName: "maxDate" }] : /* istanbul ignore next */ []));
39
- minSpan = input(null, /* @ts-ignore */
40
- ...(ngDevMode ? [{ debugName: "minSpan" }] : /* istanbul ignore next */ []));
41
- maxSpan = input(null, /* @ts-ignore */
42
- ...(ngDevMode ? [{ debugName: "maxSpan" }] : /* istanbul ignore next */ []));
43
- firstDayOfWeek = input(0, /* @ts-ignore */
44
- ...(ngDevMode ? [{ debugName: "firstDayOfWeek" }] : /* istanbul ignore next */ []));
45
- presets = input(null, /* @ts-ignore */
46
- ...(ngDevMode ? [{ debugName: "presets" }] : /* istanbul ignore next */ []));
47
- presetType = input('all', /* @ts-ignore */
48
- ...(ngDevMode ? [{ debugName: "presetType" }] : /* istanbul ignore next */ []));
49
- filterDate = input(null, /* @ts-ignore */
50
- ...(ngDevMode ? [{ debugName: "filterDate" }] : /* istanbul ignore next */ []));
51
- // Signal Outputs
52
- dateTimeRangeChange = output();
53
- opened = output();
54
- closed = output();
55
- corePicker;
56
- // Component unique IDs
57
- componentId = `talos-datetimerangepicker-${uniqueDateTimeRangePickerId++}`;
58
- currentValue = signal(null, /* @ts-ignore */
59
- ...(ngDevMode ? [{ debugName: "currentValue" }] : /* istanbul ignore next */ []));
60
- onChange = () => { };
61
- onTouched = () => { };
62
- constructor() {
63
- effect(() => {
64
- const val = this.currentValue();
65
- if (this.corePicker) {
66
- this.corePicker.writeValue(val);
67
- }
68
- });
69
- }
70
- writeValue(val) {
71
- if (!val || typeof val !== 'object') {
72
- this.currentValue.set(null);
73
- if (this.corePicker) {
74
- this.corePicker.writeValue(null);
75
- }
76
- }
77
- else {
78
- this.currentValue.set(val);
79
- if (this.corePicker) {
80
- this.corePicker.writeValue(val);
81
- }
82
- }
83
- }
84
- registerOnChange(fn) {
85
- this.onChange = fn;
86
- }
87
- registerOnTouched(fn) {
88
- this.onTouched = fn;
89
- }
90
- setDisabledState(isDisabled) {
91
- // Delegated to inner date-range-picker component via input
92
- }
93
- onRangeChange(val) {
94
- this.currentValue.set(val);
95
- this.onChange(val);
96
- this.dateTimeRangeChange.emit(val);
97
- }
98
- onOpened() {
99
- this.opened.emit();
100
- }
101
- onClosed() {
102
- this.onTouched();
103
- this.closed.emit();
104
- }
105
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: DateTimeRangePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
106
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.1", type: DateTimeRangePickerComponent, isStandalone: true, selector: "talos-date-time-range-picker", inputs: { placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, floatingLabel: { classPropertyName: "floatingLabel", publicName: "floatingLabel", isSignal: true, isRequired: false, transformFunction: null }, floating: { classPropertyName: "floating", publicName: "floating", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, clearable: { classPropertyName: "clearable", publicName: "clearable", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, displayFormat: { classPropertyName: "displayFormat", publicName: "displayFormat", isSignal: true, isRequired: false, transformFunction: null }, valueFormat: { classPropertyName: "valueFormat", publicName: "valueFormat", isSignal: true, isRequired: false, transformFunction: null }, use24Hour: { classPropertyName: "use24Hour", publicName: "use24Hour", isSignal: true, isRequired: false, transformFunction: null }, showSeconds: { classPropertyName: "showSeconds", publicName: "showSeconds", isSignal: true, isRequired: false, transformFunction: null }, minuteStep: { classPropertyName: "minuteStep", publicName: "minuteStep", 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 }, minSpan: { classPropertyName: "minSpan", publicName: "minSpan", isSignal: true, isRequired: false, transformFunction: null }, maxSpan: { classPropertyName: "maxSpan", publicName: "maxSpan", isSignal: true, isRequired: false, transformFunction: null }, firstDayOfWeek: { classPropertyName: "firstDayOfWeek", publicName: "firstDayOfWeek", isSignal: true, isRequired: false, transformFunction: null }, presets: { classPropertyName: "presets", publicName: "presets", isSignal: true, isRequired: false, transformFunction: null }, presetType: { classPropertyName: "presetType", publicName: "presetType", isSignal: true, isRequired: false, transformFunction: null }, filterDate: { classPropertyName: "filterDate", publicName: "filterDate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dateTimeRangeChange: "dateTimeRangeChange", opened: "opened", closed: "closed" }, host: { classAttribute: "talos-datetimerangepicker-host" }, providers: [
107
- {
108
- provide: NG_VALUE_ACCESSOR,
109
- useExisting: forwardRef(() => DateTimeRangePickerComponent),
110
- multi: true
111
- }
112
- ], viewQueries: [{ propertyName: "corePicker", first: true, predicate: DateRangePickerComponent, descendants: true }], ngImport: i0, template: "<talos-date-range-picker [label]=\"label()\" [floatingLabel]=\"floatingLabel()\" [floating]=\"floating()\" [required]=\"required()\"\n [placeholder]=\"placeholder()\" [disabled]=\"disabled()\" [clearable]=\"clearable()\" [size]=\"size()\"\n [displayFormat]=\"displayFormat()\" [valueFormat]=\"valueFormat()\" [showTime]=\"true\" [use24Hour]=\"use24Hour()\"\n [showSeconds]=\"showSeconds()\" [minuteStep]=\"minuteStep()\" [minDate]=\"minDate()\" [maxDate]=\"maxDate()\"\n [minSpan]=\"minSpan()\" [maxSpan]=\"maxSpan()\" [firstDayOfWeek]=\"firstDayOfWeek()\" [presets]=\"presets()\"\n [presetType]=\"presetType()\" [filterDate]=\"filterDate()\" (rangeChange)=\"onRangeChange($event)\" (opened)=\"onOpened()\"\n (closed)=\"onClosed()\">\n</talos-date-range-picker>", styles: [":host.talos-datetimerangepicker-host{display:inline-block;position:relative;width:100%}\n"], dependencies: [{ kind: "component", type: DateRangePickerComponent, selector: "talos-date-range-picker", inputs: ["placeholder", "label", "floatingLabel", "floating", "required", "disabled", "clearable", "size", "displayFormat", "valueFormat", "showTime", "use24Hour", "showSeconds", "minuteStep", "minDate", "maxDate", "minSpan", "maxSpan", "firstDayOfWeek", "presets", "presetType", "filterDate"], outputs: ["rangeChange", "opened", "closed"] }] });
113
- }
114
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: DateTimeRangePickerComponent, decorators: [{
115
- type: Component,
116
- args: [{ selector: 'talos-date-time-range-picker', imports: [DateRangePickerComponent], providers: [
117
- {
118
- provide: NG_VALUE_ACCESSOR,
119
- useExisting: forwardRef(() => DateTimeRangePickerComponent),
120
- multi: true
121
- }
122
- ], host: {
123
- 'class': 'talos-datetimerangepicker-host'
124
- }, template: "<talos-date-range-picker [label]=\"label()\" [floatingLabel]=\"floatingLabel()\" [floating]=\"floating()\" [required]=\"required()\"\n [placeholder]=\"placeholder()\" [disabled]=\"disabled()\" [clearable]=\"clearable()\" [size]=\"size()\"\n [displayFormat]=\"displayFormat()\" [valueFormat]=\"valueFormat()\" [showTime]=\"true\" [use24Hour]=\"use24Hour()\"\n [showSeconds]=\"showSeconds()\" [minuteStep]=\"minuteStep()\" [minDate]=\"minDate()\" [maxDate]=\"maxDate()\"\n [minSpan]=\"minSpan()\" [maxSpan]=\"maxSpan()\" [firstDayOfWeek]=\"firstDayOfWeek()\" [presets]=\"presets()\"\n [presetType]=\"presetType()\" [filterDate]=\"filterDate()\" (rangeChange)=\"onRangeChange($event)\" (opened)=\"onOpened()\"\n (closed)=\"onClosed()\">\n</talos-date-range-picker>", styles: [":host.talos-datetimerangepicker-host{display:inline-block;position:relative;width:100%}\n"] }]
125
- }], ctorParameters: () => [], propDecorators: { placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], floatingLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "floatingLabel", required: false }] }], floating: [{ type: i0.Input, args: [{ isSignal: true, alias: "floating", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], clearable: [{ type: i0.Input, args: [{ isSignal: true, alias: "clearable", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], displayFormat: [{ type: i0.Input, args: [{ isSignal: true, alias: "displayFormat", required: false }] }], valueFormat: [{ type: i0.Input, args: [{ isSignal: true, alias: "valueFormat", required: false }] }], use24Hour: [{ type: i0.Input, args: [{ isSignal: true, alias: "use24Hour", required: false }] }], showSeconds: [{ type: i0.Input, args: [{ isSignal: true, alias: "showSeconds", required: false }] }], minuteStep: [{ type: i0.Input, args: [{ isSignal: true, alias: "minuteStep", required: false }] }], minDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "minDate", required: false }] }], maxDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxDate", required: false }] }], minSpan: [{ type: i0.Input, args: [{ isSignal: true, alias: "minSpan", required: false }] }], maxSpan: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxSpan", required: false }] }], firstDayOfWeek: [{ type: i0.Input, args: [{ isSignal: true, alias: "firstDayOfWeek", required: false }] }], presets: [{ type: i0.Input, args: [{ isSignal: true, alias: "presets", required: false }] }], presetType: [{ type: i0.Input, args: [{ isSignal: true, alias: "presetType", required: false }] }], filterDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterDate", required: false }] }], dateTimeRangeChange: [{ type: i0.Output, args: ["dateTimeRangeChange"] }], opened: [{ type: i0.Output, args: ["opened"] }], closed: [{ type: i0.Output, args: ["closed"] }], corePicker: [{
126
- type: ViewChild,
127
- args: [DateRangePickerComponent]
128
- }] } });
129
-
130
- /**
131
- * Generated bundle index. Do not edit.
132
- */
133
-
134
- export { DateTimeRangePickerComponent };
135
- //# sourceMappingURL=weeehaoooz-talos-ui-form-date-time-range-picker.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"weeehaoooz-talos-ui-form-date-time-range-picker.mjs","sources":["../../../projects/talos-ui/form/date-time-range-picker/date-time-range-picker.component.ts","../../../projects/talos-ui/form/date-time-range-picker/date-time-range-picker.component.html","../../../projects/talos-ui/form/date-time-range-picker/weeehaoooz-talos-ui-form-date-time-range-picker.ts"],"sourcesContent":["import {\n Component,\n ElementRef,\n ViewChild,\n effect,\n forwardRef,\n input,\n output,\n signal\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { DateRangePickerComponent } from '@weeehaoooz/talos-ui/form/date-range-picker';\nimport { DateRangePreset, DateRangeValue } from '@weeehaoooz/talos-ui/form/date-range-picker';\n\nlet uniqueDateTimeRangePickerId = 0;\n\n@Component({\n selector: 'talos-date-time-range-picker',\n imports: [DateRangePickerComponent],\n templateUrl: './date-time-range-picker.component.html',\n styleUrl: './date-time-range-picker.component.scss',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => DateTimeRangePickerComponent),\n multi: true\n }\n ],\n host: {\n 'class': 'talos-datetimerangepicker-host'\n }\n})\nexport class DateTimeRangePickerComponent implements ControlValueAccessor {\n // Signal Inputs\n readonly placeholder = input<string>('Select date & time range');\n readonly label = input<string>('');\n readonly floatingLabel = input<boolean>(false);\n readonly floating = input<boolean>(false);\n readonly required = input<boolean>(false);\n readonly disabled = input<boolean>(false);\n readonly clearable = input<boolean>(true);\n readonly size = input<'sm' | 'md' | 'lg'>('md');\n readonly displayFormat = input<string>('yyyy-MM-dd HH:mm');\n readonly valueFormat = input<string>('yyyy-MM-dd HH:mm');\n readonly use24Hour = input<boolean>(true);\n readonly showSeconds = input<boolean>(false);\n readonly minuteStep = input<number>(1);\n readonly minDate = input<string | Date | number | null>(null);\n readonly maxDate = input<string | Date | number | null>(null);\n readonly minSpan = input<number | null>(null);\n readonly maxSpan = input<number | null>(null);\n readonly firstDayOfWeek = input<number>(0);\n readonly presets = input<DateRangePreset[] | null>(null);\n readonly presetType = input<'all' | 'calendar' | 'duration'>('all');\n readonly filterDate = input<((date: Date) => boolean) | null>(null);\n\n // Signal Outputs\n readonly dateTimeRangeChange = output<DateRangeValue | null>();\n readonly opened = output<void>();\n readonly closed = output<void>();\n\n @ViewChild(DateRangePickerComponent) corePicker?: DateRangePickerComponent;\n\n // Component unique IDs\n readonly componentId = `talos-datetimerangepicker-${uniqueDateTimeRangePickerId++}`;\n\n readonly currentValue = signal<DateRangeValue | null>(null);\n private onChange: (val: unknown) => void = () => { };\n private onTouched: () => void = () => { };\n\n constructor() {\n effect(() => {\n const val = this.currentValue();\n if (this.corePicker) {\n this.corePicker.writeValue(val);\n }\n });\n }\n\n writeValue(val: unknown): void {\n if (!val || typeof val !== 'object') {\n this.currentValue.set(null);\n if (this.corePicker) {\n this.corePicker.writeValue(null);\n }\n } else {\n this.currentValue.set(val as DateRangeValue);\n if (this.corePicker) {\n this.corePicker.writeValue(val);\n }\n }\n }\n\n registerOnChange(fn: (val: unknown) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n // Delegated to inner date-range-picker component via input\n }\n\n onRangeChange(val: DateRangeValue | null): void {\n this.currentValue.set(val);\n this.onChange(val);\n this.dateTimeRangeChange.emit(val);\n }\n\n onOpened(): void {\n this.opened.emit();\n }\n\n onClosed(): void {\n this.onTouched();\n this.closed.emit();\n }\n}\n","<talos-date-range-picker [label]=\"label()\" [floatingLabel]=\"floatingLabel()\" [floating]=\"floating()\" [required]=\"required()\"\n [placeholder]=\"placeholder()\" [disabled]=\"disabled()\" [clearable]=\"clearable()\" [size]=\"size()\"\n [displayFormat]=\"displayFormat()\" [valueFormat]=\"valueFormat()\" [showTime]=\"true\" [use24Hour]=\"use24Hour()\"\n [showSeconds]=\"showSeconds()\" [minuteStep]=\"minuteStep()\" [minDate]=\"minDate()\" [maxDate]=\"maxDate()\"\n [minSpan]=\"minSpan()\" [maxSpan]=\"maxSpan()\" [firstDayOfWeek]=\"firstDayOfWeek()\" [presets]=\"presets()\"\n [presetType]=\"presetType()\" [filterDate]=\"filterDate()\" (rangeChange)=\"onRangeChange($event)\" (opened)=\"onOpened()\"\n (closed)=\"onClosed()\">\n</talos-date-range-picker>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}