@egose/shadcn-theme-ng 0.0.27 → 0.0.28

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 (334) hide show
  1. package/accordion/README.md +64 -0
  2. package/accordion/fesm2022/accordion.mjs +160 -0
  3. package/accordion/fesm2022/accordion.mjs.map +1 -0
  4. package/accordion/package.json +25 -0
  5. package/accordion/types/accordion.d.ts +49 -0
  6. package/alert/fesm2022/alert.mjs +29 -24
  7. package/alert/fesm2022/alert.mjs.map +1 -1
  8. package/alert/package.json +25 -0
  9. package/alert-dialog/README.md +11 -0
  10. package/alert-dialog/fesm2022/alert-dialog.mjs +287 -0
  11. package/alert-dialog/fesm2022/alert-dialog.mjs.map +1 -0
  12. package/alert-dialog/package.json +25 -0
  13. package/alert-dialog/types/alert-dialog.d.ts +90 -0
  14. package/aspect-ratio/README.md +11 -0
  15. package/aspect-ratio/fesm2022/aspect-ratio.mjs +62 -0
  16. package/aspect-ratio/fesm2022/aspect-ratio.mjs.map +1 -0
  17. package/aspect-ratio/package.json +25 -0
  18. package/aspect-ratio/types/aspect-ratio.d.ts +21 -0
  19. package/autocomplete/README.md +64 -0
  20. package/autocomplete/fesm2022/autocomplete.mjs +409 -0
  21. package/autocomplete/fesm2022/autocomplete.mjs.map +1 -0
  22. package/autocomplete/package.json +24 -0
  23. package/autocomplete/types/autocomplete.d.ts +96 -0
  24. package/avatar/README.md +11 -0
  25. package/avatar/fesm2022/avatar.mjs +178 -0
  26. package/avatar/fesm2022/avatar.mjs.map +1 -0
  27. package/avatar/package.json +25 -0
  28. package/avatar/types/avatar.d.ts +50 -0
  29. package/badge/fesm2022/badge.mjs +15 -9
  30. package/badge/fesm2022/badge.mjs.map +1 -1
  31. package/badge/package.json +25 -0
  32. package/basic-alert/fesm2022/basic-alert.mjs +11 -7
  33. package/basic-alert/fesm2022/basic-alert.mjs.map +1 -1
  34. package/basic-alert/package.json +24 -0
  35. package/breadcrumb/README.md +11 -0
  36. package/breadcrumb/fesm2022/breadcrumb.mjs +224 -0
  37. package/breadcrumb/fesm2022/breadcrumb.mjs.map +1 -0
  38. package/breadcrumb/package.json +25 -0
  39. package/breadcrumb/types/breadcrumb.d.ts +57 -0
  40. package/button/fesm2022/button.mjs +99 -25
  41. package/button/fesm2022/button.mjs.map +1 -1
  42. package/button/package.json +25 -0
  43. package/button/{index.d.ts → types/button.d.ts} +30 -9
  44. package/button-group/README.md +11 -0
  45. package/button-group/fesm2022/button-group.mjs +102 -0
  46. package/button-group/fesm2022/button-group.mjs.map +1 -0
  47. package/button-group/package.json +25 -0
  48. package/button-group/types/button-group.d.ts +30 -0
  49. package/calendar/fesm2022/calendar.mjs +868 -546
  50. package/calendar/fesm2022/calendar.mjs.map +1 -1
  51. package/calendar/package.json +24 -0
  52. package/calendar/types/calendar.d.ts +94 -0
  53. package/card/README.md +11 -0
  54. package/card/fesm2022/card.mjs +169 -0
  55. package/card/fesm2022/card.mjs.map +1 -0
  56. package/card/package.json +25 -0
  57. package/card/types/card.d.ts +54 -0
  58. package/carousel/README.md +11 -0
  59. package/carousel/fesm2022/carousel.mjs +309 -0
  60. package/carousel/fesm2022/carousel.mjs.map +1 -0
  61. package/carousel/package.json +25 -0
  62. package/carousel/types/carousel.d.ts +84 -0
  63. package/checkbox/README.md +64 -0
  64. package/checkbox/fesm2022/checkbox.mjs +151 -0
  65. package/checkbox/fesm2022/checkbox.mjs.map +1 -0
  66. package/checkbox/package.json +24 -0
  67. package/checkbox/types/checkbox.d.ts +55 -0
  68. package/collapsible/README.md +11 -0
  69. package/collapsible/fesm2022/collapsible.mjs +77 -0
  70. package/collapsible/fesm2022/collapsible.mjs.map +1 -0
  71. package/collapsible/package.json +25 -0
  72. package/collapsible/types/collapsible.d.ts +27 -0
  73. package/combobox/README.md +11 -0
  74. package/combobox/fesm2022/combobox.mjs +683 -0
  75. package/combobox/fesm2022/combobox.mjs.map +1 -0
  76. package/combobox/package.json +25 -0
  77. package/combobox/types/combobox.d.ts +151 -0
  78. package/command/README.md +11 -0
  79. package/command/fesm2022/command.mjs +361 -0
  80. package/command/fesm2022/command.mjs.map +1 -0
  81. package/command/package.json +25 -0
  82. package/command/types/command.d.ts +89 -0
  83. package/confirmation-dialog/README.md +64 -0
  84. package/confirmation-dialog/fesm2022/confirmation-dialog.mjs +104 -0
  85. package/confirmation-dialog/fesm2022/confirmation-dialog.mjs.map +1 -0
  86. package/confirmation-dialog/package.json +24 -0
  87. package/confirmation-dialog/types/confirmation-dialog.d.ts +24 -0
  88. package/context-menu/README.md +11 -0
  89. package/context-menu/fesm2022/context-menu.mjs +89 -0
  90. package/context-menu/fesm2022/context-menu.mjs.map +1 -0
  91. package/context-menu/package.json +25 -0
  92. package/context-menu/types/context-menu.d.ts +34 -0
  93. package/date-picker/fesm2022/date-picker.mjs +1262 -307
  94. package/date-picker/fesm2022/date-picker.mjs.map +1 -1
  95. package/date-picker/package.json +24 -0
  96. package/date-picker/types/date-picker.d.ts +551 -0
  97. package/dialog/README.md +64 -0
  98. package/dialog/fesm2022/dialog.mjs +307 -0
  99. package/dialog/fesm2022/dialog.mjs.map +1 -0
  100. package/dialog/package.json +24 -0
  101. package/dialog/types/dialog.d.ts +95 -0
  102. package/drawer/README.md +11 -0
  103. package/drawer/fesm2022/drawer.mjs +271 -0
  104. package/drawer/fesm2022/drawer.mjs.map +1 -0
  105. package/drawer/package.json +25 -0
  106. package/drawer/types/drawer.d.ts +76 -0
  107. package/dropdown-menu/README.md +11 -0
  108. package/dropdown-menu/fesm2022/dropdown-menu.mjs +542 -0
  109. package/dropdown-menu/fesm2022/dropdown-menu.mjs.map +1 -0
  110. package/dropdown-menu/package.json +25 -0
  111. package/dropdown-menu/types/dropdown-menu.d.ts +176 -0
  112. package/empty/README.md +11 -0
  113. package/empty/fesm2022/empty.mjs +151 -0
  114. package/empty/fesm2022/empty.mjs.map +1 -0
  115. package/empty/package.json +25 -0
  116. package/empty/types/empty.d.ts +54 -0
  117. package/field/README.md +11 -0
  118. package/field/fesm2022/field.mjs +367 -0
  119. package/field/fesm2022/field.mjs.map +1 -0
  120. package/field/package.json +25 -0
  121. package/field/types/field.d.ts +107 -0
  122. package/form-checkbox/README.md +64 -0
  123. package/form-checkbox/fesm2022/form-checkbox.mjs +154 -0
  124. package/form-checkbox/fesm2022/form-checkbox.mjs.map +1 -0
  125. package/form-checkbox/package.json +24 -0
  126. package/form-checkbox/types/form-checkbox.d.ts +27 -0
  127. package/form-date-picker/fesm2022/form-date-picker.mjs +57 -50
  128. package/form-date-picker/fesm2022/form-date-picker.mjs.map +1 -1
  129. package/form-date-picker/package.json +24 -0
  130. package/form-field/fesm2022/form-field.mjs +37 -25
  131. package/form-field/fesm2022/form-field.mjs.map +1 -1
  132. package/form-field/package.json +25 -0
  133. package/form-field/{index.d.ts → types/form-field.d.ts} +4 -3
  134. package/form-field-simple/fesm2022/form-field-simple.mjs +14 -9
  135. package/form-field-simple/fesm2022/form-field-simple.mjs.map +1 -1
  136. package/form-field-simple/package.json +24 -0
  137. package/form-searchable-multiselect/README.md +64 -0
  138. package/form-searchable-multiselect/fesm2022/form-searchable-multiselect.mjs +158 -0
  139. package/form-searchable-multiselect/fesm2022/form-searchable-multiselect.mjs.map +1 -0
  140. package/form-searchable-multiselect/package.json +24 -0
  141. package/form-searchable-multiselect/types/form-searchable-multiselect.d.ts +30 -0
  142. package/form-select/fesm2022/form-select.mjs +131 -70
  143. package/form-select/fesm2022/form-select.mjs.map +1 -1
  144. package/form-select/package.json +24 -0
  145. package/form-text-input/fesm2022/form-text-input.mjs +66 -37
  146. package/form-text-input/fesm2022/form-text-input.mjs.map +1 -1
  147. package/form-text-input/package.json +24 -0
  148. package/form-textarea/fesm2022/form-textarea.mjs +53 -29
  149. package/form-textarea/fesm2022/form-textarea.mjs.map +1 -1
  150. package/form-textarea/package.json +24 -0
  151. package/hover-card/README.md +11 -0
  152. package/hover-card/fesm2022/hover-card.mjs +123 -0
  153. package/hover-card/fesm2022/hover-card.mjs.map +1 -0
  154. package/hover-card/package.json +25 -0
  155. package/hover-card/types/hover-card.d.ts +36 -0
  156. package/icon/fesm2022/icon.mjs +11 -9
  157. package/icon/fesm2022/icon.mjs.map +1 -1
  158. package/icon/package.json +25 -0
  159. package/input/fesm2022/input.mjs +21 -71
  160. package/input/fesm2022/input.mjs.map +1 -1
  161. package/input/package.json +25 -0
  162. package/input/types/input.d.ts +18 -0
  163. package/input-group/README.md +11 -0
  164. package/input-group/fesm2022/input-group.mjs +199 -0
  165. package/input-group/fesm2022/input-group.mjs.map +1 -0
  166. package/input-group/package.json +25 -0
  167. package/input-group/types/input-group.d.ts +52 -0
  168. package/input-otp/README.md +11 -0
  169. package/input-otp/fesm2022/input-otp.mjs +141 -0
  170. package/input-otp/fesm2022/input-otp.mjs.map +1 -0
  171. package/input-otp/package.json +25 -0
  172. package/input-otp/types/input-otp.d.ts +43 -0
  173. package/item/README.md +11 -0
  174. package/item/fesm2022/item.mjs +278 -0
  175. package/item/fesm2022/item.mjs.map +1 -0
  176. package/item/package.json +25 -0
  177. package/item/types/item.d.ts +101 -0
  178. package/kbd/README.md +11 -0
  179. package/kbd/fesm2022/kbd.mjs +61 -0
  180. package/kbd/fesm2022/kbd.mjs.map +1 -0
  181. package/kbd/package.json +25 -0
  182. package/kbd/types/kbd.d.ts +22 -0
  183. package/label/fesm2022/label.mjs +10 -9
  184. package/label/fesm2022/label.mjs.map +1 -1
  185. package/label/package.json +25 -0
  186. package/layout-simple/README.md +64 -0
  187. package/layout-simple/fesm2022/layout-simple.mjs +719 -0
  188. package/layout-simple/fesm2022/layout-simple.mjs.map +1 -0
  189. package/layout-simple/package.json +24 -0
  190. package/layout-simple/types/layout-simple.d.ts +153 -0
  191. package/menubar/README.md +11 -0
  192. package/menubar/fesm2022/menubar.mjs +108 -0
  193. package/menubar/fesm2022/menubar.mjs.map +1 -0
  194. package/menubar/package.json +25 -0
  195. package/menubar/types/menubar.d.ts +40 -0
  196. package/native-select/README.md +11 -0
  197. package/native-select/fesm2022/native-select.mjs +207 -0
  198. package/native-select/fesm2022/native-select.mjs.map +1 -0
  199. package/native-select/package.json +25 -0
  200. package/native-select/types/native-select.d.ts +70 -0
  201. package/navigation-menu/README.md +11 -0
  202. package/navigation-menu/fesm2022/navigation-menu.mjs +206 -0
  203. package/navigation-menu/fesm2022/navigation-menu.mjs.map +1 -0
  204. package/navigation-menu/package.json +25 -0
  205. package/navigation-menu/types/navigation-menu.d.ts +54 -0
  206. package/package.json +239 -47
  207. package/pagination/README.md +11 -0
  208. package/pagination/fesm2022/pagination.mjs +808 -0
  209. package/pagination/fesm2022/pagination.mjs.map +1 -0
  210. package/pagination/package.json +25 -0
  211. package/pagination/types/pagination.d.ts +192 -0
  212. package/popover/fesm2022/popover.mjs +123 -29
  213. package/popover/fesm2022/popover.mjs.map +1 -1
  214. package/popover/package.json +24 -0
  215. package/popover/types/popover.d.ts +54 -0
  216. package/progress/README.md +11 -0
  217. package/progress/fesm2022/progress.mjs +77 -0
  218. package/progress/fesm2022/progress.mjs.map +1 -0
  219. package/progress/package.json +25 -0
  220. package/progress/types/progress.d.ts +27 -0
  221. package/radio-group/README.md +64 -0
  222. package/radio-group/fesm2022/radio-group.mjs +204 -0
  223. package/radio-group/fesm2022/radio-group.mjs.map +1 -0
  224. package/radio-group/package.json +25 -0
  225. package/radio-group/types/radio-group.d.ts +71 -0
  226. package/resizable/README.md +11 -0
  227. package/resizable/fesm2022/resizable.mjs +111 -0
  228. package/resizable/fesm2022/resizable.mjs.map +1 -0
  229. package/resizable/package.json +25 -0
  230. package/resizable/types/resizable.d.ts +32 -0
  231. package/scroll-area/README.md +11 -0
  232. package/scroll-area/fesm2022/scroll-area.mjs +51 -0
  233. package/scroll-area/fesm2022/scroll-area.mjs.map +1 -0
  234. package/scroll-area/package.json +25 -0
  235. package/scroll-area/types/scroll-area.d.ts +16 -0
  236. package/searchable-multiselect/README.md +64 -0
  237. package/searchable-multiselect/fesm2022/searchable-multiselect.mjs +225 -0
  238. package/searchable-multiselect/fesm2022/searchable-multiselect.mjs.map +1 -0
  239. package/searchable-multiselect/package.json +24 -0
  240. package/searchable-multiselect/types/searchable-multiselect.d.ts +39 -0
  241. package/select/fesm2022/select.mjs +373 -191
  242. package/select/fesm2022/select.mjs.map +1 -1
  243. package/select/package.json +25 -0
  244. package/select/types/select.d.ts +119 -0
  245. package/separator/fesm2022/separator.mjs +16 -14
  246. package/separator/fesm2022/separator.mjs.map +1 -1
  247. package/separator/package.json +24 -0
  248. package/separator/{index.d.ts → types/separator.d.ts} +4 -5
  249. package/sheet/fesm2022/sheet.mjs +49 -42
  250. package/sheet/fesm2022/sheet.mjs.map +1 -1
  251. package/sheet/package.json +24 -0
  252. package/sidebar/README.md +11 -0
  253. package/sidebar/fesm2022/sidebar.mjs +948 -0
  254. package/sidebar/fesm2022/sidebar.mjs.map +1 -0
  255. package/sidebar/package.json +25 -0
  256. package/sidebar/types/sidebar.d.ts +237 -0
  257. package/skeleton/README.md +11 -0
  258. package/skeleton/fesm2022/skeleton.mjs +44 -0
  259. package/skeleton/fesm2022/skeleton.mjs.map +1 -0
  260. package/skeleton/package.json +25 -0
  261. package/skeleton/types/skeleton.d.ts +16 -0
  262. package/slider/README.md +11 -0
  263. package/slider/fesm2022/slider.mjs +144 -0
  264. package/slider/fesm2022/slider.mjs.map +1 -0
  265. package/slider/package.json +25 -0
  266. package/slider/types/slider.d.ts +19 -0
  267. package/sonner/fesm2022/sonner.mjs +29 -34
  268. package/sonner/fesm2022/sonner.mjs.map +1 -1
  269. package/sonner/package.json +25 -0
  270. package/spinner/fesm2022/spinner.mjs +17 -13
  271. package/spinner/fesm2022/spinner.mjs.map +1 -1
  272. package/spinner/package.json +25 -0
  273. package/switch/fesm2022/switch.mjs +27 -24
  274. package/switch/fesm2022/switch.mjs.map +1 -1
  275. package/switch/package.json +25 -0
  276. package/table/README.md +11 -0
  277. package/table/fesm2022/table.mjs +211 -0
  278. package/table/fesm2022/table.mjs.map +1 -0
  279. package/table/package.json +25 -0
  280. package/table/types/table.d.ts +87 -0
  281. package/tabs/README.md +64 -0
  282. package/tabs/fesm2022/tabs.mjs +286 -0
  283. package/tabs/fesm2022/tabs.mjs.map +1 -0
  284. package/tabs/package.json +25 -0
  285. package/tabs/types/tabs.d.ts +71 -0
  286. package/textarea/README.md +11 -0
  287. package/textarea/fesm2022/textarea.mjs +47 -0
  288. package/textarea/fesm2022/textarea.mjs.map +1 -0
  289. package/textarea/package.json +25 -0
  290. package/textarea/types/textarea.d.ts +18 -0
  291. package/toggle/README.md +11 -0
  292. package/toggle/fesm2022/toggle.mjs +78 -0
  293. package/toggle/fesm2022/toggle.mjs.map +1 -0
  294. package/toggle/package.json +25 -0
  295. package/toggle/types/toggle.d.ts +27 -0
  296. package/toggle-group/README.md +11 -0
  297. package/toggle-group/fesm2022/toggle-group.mjs +117 -0
  298. package/toggle-group/fesm2022/toggle-group.mjs.map +1 -0
  299. package/toggle-group/package.json +25 -0
  300. package/toggle-group/types/toggle-group.d.ts +39 -0
  301. package/tooltip/README.md +64 -0
  302. package/tooltip/fesm2022/tooltip.mjs +72 -0
  303. package/tooltip/fesm2022/tooltip.mjs.map +1 -0
  304. package/tooltip/package.json +25 -0
  305. package/tooltip/types/tooltip.d.ts +22 -0
  306. package/typography/README.md +11 -0
  307. package/typography/fesm2022/typography.mjs +242 -0
  308. package/typography/fesm2022/typography.mjs.map +1 -0
  309. package/typography/package.json +25 -0
  310. package/typography/types/typography.d.ts +94 -0
  311. package/utils/fesm2022/utils.mjs +184 -1
  312. package/utils/fesm2022/utils.mjs.map +1 -1
  313. package/utils/package.json +25 -0
  314. package/utils/types/utils.d.ts +13 -0
  315. package/calendar/index.d.ts +0 -111
  316. package/date-picker/index.d.ts +0 -227
  317. package/input/index.d.ts +0 -41
  318. package/popover/index.d.ts +0 -30
  319. package/select/index.d.ts +0 -92
  320. package/utils/index.d.ts +0 -5
  321. /package/alert/{index.d.ts → types/alert.d.ts} +0 -0
  322. /package/badge/{index.d.ts → types/badge.d.ts} +0 -0
  323. /package/basic-alert/{index.d.ts → types/basic-alert.d.ts} +0 -0
  324. /package/form-date-picker/{index.d.ts → types/form-date-picker.d.ts} +0 -0
  325. /package/form-field-simple/{index.d.ts → types/form-field-simple.d.ts} +0 -0
  326. /package/form-select/{index.d.ts → types/form-select.d.ts} +0 -0
  327. /package/form-text-input/{index.d.ts → types/form-text-input.d.ts} +0 -0
  328. /package/form-textarea/{index.d.ts → types/form-textarea.d.ts} +0 -0
  329. /package/icon/{index.d.ts → types/icon.d.ts} +0 -0
  330. /package/label/{index.d.ts → types/label.d.ts} +0 -0
  331. /package/sheet/{index.d.ts → types/sheet.d.ts} +0 -0
  332. /package/sonner/{index.d.ts → types/sonner.d.ts} +0 -0
  333. /package/spinner/{index.d.ts → types/spinner.d.ts} +0 -0
  334. /package/switch/{index.d.ts → types/switch.d.ts} +0 -0
@@ -0,0 +1,551 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { ValueProvider } from '@angular/core';
3
+ import { BrnDateInput, BrnDatePickerTriggerBase, BrnDatePickerBase } from '@spartan-ng/brain/date-picker';
4
+ import * as i1 from '@egose/shadcn-theme-ng/input-group';
5
+ import { BooleanInput, NumberInput } from '@angular/cdk/coercion';
6
+ import { ControlValueAccessor } from '@angular/forms';
7
+ import { ChangeFn, TouchFn } from '@spartan-ng/brain/forms';
8
+ import { BrnOverlayState } from '@spartan-ng/brain/overlay';
9
+ import * as _spartan_ng_brain_popover from '@spartan-ng/brain/popover';
10
+ import { BrnPopover } from '@spartan-ng/brain/popover';
11
+ import * as i1$1 from '@spartan-ng/brain/field';
12
+ import { ClassValue } from 'clsx';
13
+
14
+ declare class HlmDateMultiInput<T> extends BrnDateInput<T[]> implements BrnDatePickerTriggerBase {
15
+ private readonly _config;
16
+ /**
17
+ * Parses input text into dates. Return `null` for invalid input - the
18
+ * picker's dates are cleared while the text is preserved so the user can
19
+ * fix it.
20
+ *
21
+ * Defaults to `parseDate` from `HlmDatePickerMultiConfig`.
22
+ */
23
+ readonly parseDate: _angular_core.InputSignal<(value: string) => T[] | null>;
24
+ /**
25
+ * Formats the current dates into the input/edit format shown while the
26
+ * input is focused. On blur the picker's display format is restored.
27
+ *
28
+ * Defaults to `formatInputDates` from `HlmDatePickerMultiConfig`.
29
+ */
30
+ readonly formatInputDates: _angular_core.InputSignal<(dates: T[]) => string>;
31
+ protected parseValue(value: string): T[] | null;
32
+ protected formatInputValue(value: T[]): string;
33
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<HlmDateMultiInput<any>, never>;
34
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<HlmDateMultiInput<any>, "hlm-date-multi-input", never, { "parseDate": { "alias": "parseDate"; "required": false; "isSignal": true; }; "formatInputDates": { "alias": "formatInputDates"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.HlmInputGroup; inputs: {}; outputs: {}; }]>;
35
+ }
36
+
37
+ declare const HLM_DATE_PICKER_VALUE_ACCESSOR: {
38
+ provide: _angular_core.InjectionToken<readonly ControlValueAccessor[]>;
39
+ useExisting: _angular_core.Type<any>;
40
+ multi: boolean;
41
+ };
42
+ declare class HlmDatePicker<T> implements BrnDatePickerBase<T>, ControlValueAccessor {
43
+ private readonly _config;
44
+ readonly popover: _angular_core.Signal<BrnPopover>;
45
+ private readonly _trigger;
46
+ /** Show dropdowns to navigate between months or years. */
47
+ readonly captionLayout: _angular_core.InputSignal<"dropdown" | "label" | "dropdown-months" | "dropdown-years">;
48
+ /** The minimum date that can be selected.*/
49
+ readonly min: _angular_core.InputSignal<T | undefined>;
50
+ /** The maximum date that can be selected. */
51
+ readonly max: _angular_core.InputSignal<T | undefined>;
52
+ /** Determine if the date picker is disabled. */
53
+ readonly disabled: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
54
+ /** The selected value. */
55
+ readonly date: _angular_core.InputSignal<T | undefined>;
56
+ /** The date the calendar focuses on first open when no date is selected. */
57
+ readonly defaultFocusedDate: _angular_core.InputSignal<T | undefined>;
58
+ protected readonly _mutableDate: _angular_core.WritableSignal<T | undefined>;
59
+ /** If true, the date picker will close when a date is selected. */
60
+ readonly autoCloseOnSelect: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
61
+ /** Defines how the date should be displayed in the UI. */
62
+ readonly formatDate: _angular_core.InputSignal<(date: T) => string>;
63
+ /** Defines how the date should be transformed before saving to model/form. */
64
+ readonly transformDate: _angular_core.InputSignal<(date: T) => T>;
65
+ protected readonly _popoverState: _angular_core.WritableSignal<BrnOverlayState | null>;
66
+ protected readonly _disabled: _angular_core.WritableSignal<boolean>;
67
+ /** @internal The disabled state as a readonly signal */
68
+ readonly disabledState: _angular_core.Signal<boolean>;
69
+ readonly formattedDate: _angular_core.Signal<string | undefined>;
70
+ readonly dateChange: _angular_core.OutputEmitterRef<T | null>;
71
+ readonly labelableId: _angular_core.Signal<string | undefined>;
72
+ readonly hasDate: _angular_core.Signal<boolean>;
73
+ /** @internal The current raw value, used by inputs to reformat on focus. */
74
+ readonly value: _angular_core.Signal<NonNullable<T> | null>;
75
+ protected _onChange?: ChangeFn<T | null>;
76
+ protected _onTouched?: TouchFn;
77
+ protected _onStateChange(state: BrnOverlayState): void;
78
+ protected _handleChange(value: T | undefined): void;
79
+ /**
80
+ * Commit a date to the picker. Updates the internal model, notifies form
81
+ * controls, and emits `dateChange`. Unlike `_handleChange`, this does not
82
+ * close the popover - it's intended to be called from a text input that
83
+ * is parsing user-entered values while typing.
84
+ */
85
+ updateDate(value: T | null): void;
86
+ /** CONTROL VALUE ACCESSOR */
87
+ writeValue(value: T | null): void;
88
+ registerOnChange(fn: ChangeFn<T | null>): void;
89
+ registerOnTouched(fn: TouchFn): void;
90
+ touched(): void;
91
+ setDisabledState(isDisabled: boolean): void;
92
+ open(): void;
93
+ close(): void;
94
+ reset(): void;
95
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<HlmDatePicker<any>, never>;
96
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<HlmDatePicker<any>, "hlm-date-picker", never, { "captionLayout": { "alias": "captionLayout"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "date": { "alias": "date"; "required": false; "isSignal": true; }; "defaultFocusedDate": { "alias": "defaultFocusedDate"; "required": false; "isSignal": true; }; "autoCloseOnSelect": { "alias": "autoCloseOnSelect"; "required": false; "isSignal": true; }; "formatDate": { "alias": "formatDate"; "required": false; "isSignal": true; }; "transformDate": { "alias": "transformDate"; "required": false; "isSignal": true; }; }, { "dateChange": "dateChange"; }, ["_trigger"], ["*", "[hlmDatePickerHeader]", "[hlmDatePickerFooter]"], true, [{ directive: typeof i1$1.BrnFieldControl; inputs: {}; outputs: {}; }]>;
97
+ }
98
+
99
+ declare class HlmDatePickerAnchor {
100
+ private readonly _host;
101
+ private readonly _brnOverlay;
102
+ readonly hlmDatePickerAnchorForInput: _angular_core.InputSignal<BrnPopover | undefined>;
103
+ readonly hlmDatePickerAnchorFor: _angular_core.WritableSignal<BrnPopover | undefined>;
104
+ constructor();
105
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<HlmDatePickerAnchor, never>;
106
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<HlmDatePickerAnchor, "[hlmDatePickerAnchor]", never, { "hlmDatePickerAnchorForInput": { "alias": "hlmDatePickerAnchorFor"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
107
+ }
108
+
109
+ declare class HlmDatePickerInput<T> extends BrnDateInput<T> implements BrnDatePickerTriggerBase {
110
+ private readonly _config;
111
+ /**
112
+ * Parses input text into a date value. Return `null` for invalid
113
+ * input - the picker's date is cleared while the text is preserved so
114
+ * the user can fix it.
115
+ *
116
+ * Defaults to `parseDate` from `HlmDatePickerConfig`.
117
+ */
118
+ readonly parseDate: _angular_core.InputSignal<(value: string) => T | null>;
119
+ /**
120
+ * Formats the current date into the input/edit format shown while the
121
+ * input is focused. On blur the picker's display format is restored.
122
+ *
123
+ * Defaults to `formatInputDate` from `HlmDatePickerConfig`.
124
+ */
125
+ readonly formatInputDate: _angular_core.InputSignal<(date: T) => string>;
126
+ protected parseValue(value: string): T | null;
127
+ protected formatInputValue(value: T): string;
128
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<HlmDatePickerInput<any>, never>;
129
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<HlmDatePickerInput<any>, "hlm-date-picker-input", never, { "parseDate": { "alias": "parseDate"; "required": false; "isSignal": true; }; "formatInputDate": { "alias": "formatInputDate"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.HlmInputGroup; inputs: {}; outputs: {}; }]>;
130
+ }
131
+
132
+ declare const HLM_DATE_PICKER_MUTLI_VALUE_ACCESSOR: {
133
+ provide: _angular_core.InjectionToken<readonly ControlValueAccessor[]>;
134
+ useExisting: _angular_core.Type<any>;
135
+ multi: boolean;
136
+ };
137
+ declare class HlmDatePickerMulti<T> implements BrnDatePickerBase<T[]>, ControlValueAccessor {
138
+ private readonly _config;
139
+ readonly popover: _angular_core.Signal<BrnPopover>;
140
+ private readonly _trigger;
141
+ /** Show dropdowns to navigate between months or years. */
142
+ readonly captionLayout: _angular_core.InputSignal<"dropdown" | "label" | "dropdown-months" | "dropdown-years">;
143
+ /** The minimum date that can be selected.*/
144
+ readonly min: _angular_core.InputSignal<T | undefined>;
145
+ /** The maximum date that can be selected. */
146
+ readonly max: _angular_core.InputSignal<T | undefined>;
147
+ /** The minimum selectable dates. */
148
+ readonly minSelection: _angular_core.InputSignalWithTransform<number | undefined, NumberInput>;
149
+ /** The maximum selectable dates. */
150
+ readonly maxSelection: _angular_core.InputSignalWithTransform<number | undefined, NumberInput>;
151
+ /** Determine if the date picker is disabled. */
152
+ readonly disabled: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
153
+ /** The selected value. */
154
+ readonly date: _angular_core.InputSignal<T[] | undefined>;
155
+ protected readonly _mutableDate: _angular_core.WritableSignal<T[] | undefined>;
156
+ /** If true, the date picker will close when the max selection of dates is reached. */
157
+ readonly autoCloseOnMaxSelection: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
158
+ /** Defines how the date should be displayed in the UI. */
159
+ readonly formatDates: _angular_core.InputSignal<(date: T[]) => string>;
160
+ /** Defines how the date should be transformed before saving to model/form. */
161
+ readonly transformDates: _angular_core.InputSignal<(date: T[]) => T[]>;
162
+ protected readonly _popoverState: _angular_core.WritableSignal<BrnOverlayState | null>;
163
+ protected readonly _disabled: _angular_core.WritableSignal<boolean>;
164
+ /** @internal The disabled state as a readonly signal */
165
+ readonly disabledState: _angular_core.Signal<boolean>;
166
+ readonly formattedDate: _angular_core.Signal<string | undefined>;
167
+ readonly dateChange: _angular_core.OutputEmitterRef<T[]>;
168
+ readonly labelableId: _angular_core.Signal<string | undefined>;
169
+ readonly hasDate: _angular_core.Signal<boolean>;
170
+ /** @internal The current raw value, used by inputs to reformat on focus. */
171
+ readonly value: _angular_core.Signal<T[] | null>;
172
+ protected _onChange?: ChangeFn<T[]>;
173
+ protected _onTouched?: TouchFn;
174
+ protected _onStateChange(state: BrnOverlayState): void;
175
+ protected _handleChange(value: T[] | undefined): void;
176
+ /**
177
+ * Commit dates to the picker. Updates the internal model, notifies form
178
+ * controls, and emits `dateChange`. Intended to be called from a text input
179
+ * that parses user-entered values. Pass `null` to clear the selection.
180
+ */
181
+ updateDate(value: T[] | null): void;
182
+ touched(): void;
183
+ /** CONTROL VALUE ACCESSOR */
184
+ writeValue(value: T[] | null): void;
185
+ registerOnChange(fn: ChangeFn<T[]>): void;
186
+ registerOnTouched(fn: TouchFn): void;
187
+ setDisabledState(isDisabled: boolean): void;
188
+ open(): void;
189
+ close(): void;
190
+ reset(): void;
191
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<HlmDatePickerMulti<any>, never>;
192
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<HlmDatePickerMulti<any>, "hlm-date-picker-multi", never, { "captionLayout": { "alias": "captionLayout"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "minSelection": { "alias": "minSelection"; "required": false; "isSignal": true; }; "maxSelection": { "alias": "maxSelection"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "date": { "alias": "date"; "required": false; "isSignal": true; }; "autoCloseOnMaxSelection": { "alias": "autoCloseOnMaxSelection"; "required": false; "isSignal": true; }; "formatDates": { "alias": "formatDates"; "required": false; "isSignal": true; }; "transformDates": { "alias": "transformDates"; "required": false; "isSignal": true; }; }, { "dateChange": "dateChange"; }, ["_trigger"], ["*", "[hlmDatePickerHeader]", "[hlmDatePickerFooter]"], true, [{ directive: typeof i1$1.BrnFieldControl; inputs: {}; outputs: {}; }]>;
193
+ }
194
+
195
+ declare class HlmDatePickerTrigger implements BrnDatePickerTriggerBase {
196
+ private static _nextId;
197
+ private readonly _fieldControl;
198
+ private readonly _datePicker;
199
+ private readonly _invalid;
200
+ protected readonly _spartanInvalid: _angular_core.Signal<boolean | null | undefined>;
201
+ protected readonly _dirty: _angular_core.Signal<boolean | null> | undefined;
202
+ protected readonly _touched: _angular_core.Signal<boolean | null> | undefined;
203
+ protected readonly _ariaInvalid: _angular_core.Signal<"true" | null>;
204
+ readonly userClass: _angular_core.InputSignal<ClassValue>;
205
+ protected readonly _computedClass: _angular_core.Signal<string>;
206
+ protected readonly _isPlaceholder: _angular_core.Signal<boolean>;
207
+ /** The id of the button that opens the date picker. */
208
+ readonly buttonId: _angular_core.InputSignal<string>;
209
+ /** @internal The id of the button that opens the date picker, used for labeling. */
210
+ readonly triggerId: _angular_core.InputSignal<string>;
211
+ /** Forces the invalid state visually, regardless of form control state. */
212
+ readonly forceInvalid: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
213
+ readonly variant: _angular_core.InputSignal<"default" | "primary" | "secondary" | "success" | "warning" | "danger" | "info" | "light" | "dark" | "accent" | "destructive" | "muted" | "outline" | "link" | "ghost" | null | undefined>;
214
+ readonly showTrigger: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
215
+ protected readonly _popover: _angular_core.Signal<_spartan_ng_brain_popover.BrnPopover>;
216
+ protected readonly _disabled: _angular_core.Signal<boolean>;
217
+ protected readonly _formattedDate: _angular_core.Signal<string | undefined>;
218
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<HlmDatePickerTrigger, never>;
219
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<HlmDatePickerTrigger, "hlm-date-picker-trigger", never, { "userClass": { "alias": "class"; "required": false; "isSignal": true; }; "buttonId": { "alias": "buttonId"; "required": false; "isSignal": true; }; "forceInvalid": { "alias": "forceInvalid"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "showTrigger": { "alias": "showTrigger"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
220
+ }
221
+
222
+ declare class HlmDateRangeInput<T> extends BrnDateInput<[T, T]> implements BrnDatePickerTriggerBase {
223
+ private readonly _config;
224
+ /**
225
+ * Parses input text into a date range. Return `null` for invalid
226
+ * input - the picker's range is cleared while the text is preserved so
227
+ * the user can fix it.
228
+ *
229
+ * Defaults to `parseDate` from `HlmDateRangePickerConfig`.
230
+ */
231
+ readonly parseDate: _angular_core.InputSignal<(value: string) => [T, T] | null>;
232
+ /**
233
+ * Formats the current range into the input/edit format shown while the
234
+ * input is focused. On blur the picker's display format is restored.
235
+ *
236
+ * Defaults to `formatInputDates` from `HlmDateRangePickerConfig`.
237
+ */
238
+ readonly formatInputDates: _angular_core.InputSignal<(dates: [T | null, T | null]) => string>;
239
+ protected parseValue(value: string): [T, T] | null;
240
+ protected formatInputValue(value: [T, T]): string;
241
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<HlmDateRangeInput<any>, never>;
242
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<HlmDateRangeInput<any>, "hlm-date-range-input", never, { "parseDate": { "alias": "parseDate"; "required": false; "isSignal": true; }; "formatInputDates": { "alias": "formatInputDates"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.HlmInputGroup; inputs: {}; outputs: {}; }]>;
243
+ }
244
+
245
+ declare const HLM_DATE_RANGE_PICKER_VALUE_ACCESSOR: {
246
+ provide: _angular_core.InjectionToken<readonly ControlValueAccessor[]>;
247
+ useExisting: _angular_core.Type<any>;
248
+ multi: boolean;
249
+ };
250
+ declare class HlmDateRangePicker<T> implements BrnDatePickerBase<[T, T]>, ControlValueAccessor {
251
+ private readonly _config;
252
+ readonly popover: _angular_core.Signal<BrnPopover>;
253
+ private readonly _trigger;
254
+ /** Show dropdowns to navigate between months or years. */
255
+ readonly captionLayout: _angular_core.InputSignal<"dropdown" | "label" | "dropdown-months" | "dropdown-years">;
256
+ /** The minimum date that can be selected.*/
257
+ readonly min: _angular_core.InputSignal<T | undefined>;
258
+ /** The maximum date that can be selected. */
259
+ readonly max: _angular_core.InputSignal<T | undefined>;
260
+ /** Determine if the date picker is disabled. */
261
+ readonly disabled: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
262
+ /** The selected value. */
263
+ readonly date: _angular_core.InputSignal<[T, T] | undefined>;
264
+ protected readonly _mutableDate: _angular_core.WritableSignal<[T, T] | undefined>;
265
+ protected readonly _start: _angular_core.WritableSignal<T | undefined>;
266
+ protected readonly _end: _angular_core.WritableSignal<T | undefined>;
267
+ /** If true, the date picker will close when the end date is selected */
268
+ readonly autoCloseOnEndSelection: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
269
+ /** Defines how the date should be displayed in the UI. */
270
+ readonly formatDates: _angular_core.InputSignal<(dates: [T | null, T | null]) => string>;
271
+ /** Defines how the date should be transformed before saving to model/form. */
272
+ readonly transformDates: _angular_core.InputSignal<(date: [T, T]) => [T, T]>;
273
+ protected readonly _popoverState: _angular_core.WritableSignal<BrnOverlayState | null>;
274
+ protected readonly _disabled: _angular_core.WritableSignal<boolean>;
275
+ /** @internal The disabled state as a readonly signal */
276
+ readonly disabledState: _angular_core.Signal<boolean>;
277
+ readonly formattedDate: _angular_core.Signal<string | undefined>;
278
+ readonly dateChange: _angular_core.OutputEmitterRef<[T, T] | null>;
279
+ readonly labelableId: _angular_core.Signal<string | undefined>;
280
+ readonly hasDate: _angular_core.Signal<boolean>;
281
+ /** @internal The current raw value, used by inputs to reformat on focus. */
282
+ readonly value: _angular_core.Signal<[T, T] | null>;
283
+ protected _onChange?: ChangeFn<[T, T] | null>;
284
+ protected _onTouched?: TouchFn;
285
+ protected _onStateChange(state: BrnOverlayState): void;
286
+ protected _handleStartDayChange(value: T | undefined): void;
287
+ protected _handleEndDateChange(value: T | undefined): void;
288
+ /**
289
+ * Commit a range to the picker. Updates the internal model, notifies form
290
+ * controls, and emits `dateChange`. Intended to be called from a text input
291
+ * that parses user-entered values. Pass `null` to clear the range.
292
+ */
293
+ updateDate(value: [T, T] | null): void;
294
+ touched(): void;
295
+ /** CONTROL VALUE ACCESSOR */
296
+ writeValue(value: [T, T] | null): void;
297
+ registerOnChange(fn: ChangeFn<[T, T] | null>): void;
298
+ registerOnTouched(fn: TouchFn): void;
299
+ setDisabledState(isDisabled: boolean): void;
300
+ open(): void;
301
+ close(): void;
302
+ reset(): void;
303
+ protected _onClose(): void;
304
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<HlmDateRangePicker<any>, never>;
305
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<HlmDateRangePicker<any>, "hlm-date-range-picker", never, { "captionLayout": { "alias": "captionLayout"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "date": { "alias": "date"; "required": false; "isSignal": true; }; "autoCloseOnEndSelection": { "alias": "autoCloseOnEndSelection"; "required": false; "isSignal": true; }; "formatDates": { "alias": "formatDates"; "required": false; "isSignal": true; }; "transformDates": { "alias": "transformDates"; "required": false; "isSignal": true; }; }, { "dateChange": "dateChange"; }, ["_trigger"], ["*", "[hlmDatePickerHeader]", "[hlmDatePickerFooter]"], true, [{ directive: typeof i1$1.BrnFieldControl; inputs: {}; outputs: {}; }]>;
306
+ }
307
+
308
+ declare class HlmMonthYearInput<T> extends BrnDateInput<T> implements BrnDatePickerTriggerBase {
309
+ private readonly _config;
310
+ /**
311
+ * Parses input text into a date value. Return `null` for invalid
312
+ * input - the picker's date is cleared while the text is preserved so
313
+ * the user can fix it.
314
+ *
315
+ * Defaults to `parseDate` from `HlmMonthYearPickerConfig`.
316
+ */
317
+ readonly parseDate: _angular_core.InputSignal<(value: string) => T | null>;
318
+ /**
319
+ * Formats the current date into the input/edit format shown while the
320
+ * input is focused. On blur the picker's display format is restored.
321
+ *
322
+ * Defaults to `formatInputDate` from `HlmMonthYearPickerConfig`.
323
+ */
324
+ readonly formatInputDate: _angular_core.InputSignal<(date: T) => string>;
325
+ protected parseValue(value: string): T | null;
326
+ protected formatInputValue(value: T): string;
327
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<HlmMonthYearInput<any>, never>;
328
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<HlmMonthYearInput<any>, "hlm-month-year-input", never, { "parseDate": { "alias": "parseDate"; "required": false; "isSignal": true; }; "formatInputDate": { "alias": "formatInputDate"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.HlmInputGroup; inputs: {}; outputs: {}; }]>;
329
+ }
330
+
331
+ declare const HLM_MONTH_YEAR_PICKER_VALUE_ACCESSOR: {
332
+ provide: _angular_core.InjectionToken<readonly ControlValueAccessor[]>;
333
+ useExisting: _angular_core.Type<any>;
334
+ multi: boolean;
335
+ };
336
+ declare class HlmMonthYearPicker<T> implements BrnDatePickerBase<T>, ControlValueAccessor {
337
+ private readonly _config;
338
+ readonly popover: _angular_core.Signal<BrnPopover>;
339
+ private readonly _trigger;
340
+ /** The minimum date that can be selected.*/
341
+ readonly min: _angular_core.InputSignal<T | undefined>;
342
+ /** The maximum date that can be selected. */
343
+ readonly max: _angular_core.InputSignal<T | undefined>;
344
+ /** Determine if the date picker is disabled. */
345
+ readonly disabled: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
346
+ /** The selected value. */
347
+ readonly date: _angular_core.InputSignal<T | undefined>;
348
+ /** The date the calendar focuses on first open when no date is selected. */
349
+ readonly defaultFocusedDate: _angular_core.InputSignal<T | undefined>;
350
+ protected readonly _mutableDate: _angular_core.WritableSignal<T | undefined>;
351
+ /** If true, the date picker will close when a date is selected. */
352
+ readonly autoCloseOnSelect: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
353
+ /** Defines how the date should be displayed in the UI. */
354
+ readonly formatDate: _angular_core.InputSignal<(date: T) => string>;
355
+ /** Defines how the date should be transformed before saving to model/form. */
356
+ readonly transformDate: _angular_core.InputSignal<(date: T) => T>;
357
+ protected readonly _popoverState: _angular_core.WritableSignal<BrnOverlayState | null>;
358
+ protected readonly _disabled: _angular_core.WritableSignal<boolean>;
359
+ /** @internal The disabled state as a readonly signal */
360
+ readonly disabledState: _angular_core.Signal<boolean>;
361
+ readonly formattedDate: _angular_core.Signal<string | undefined>;
362
+ readonly dateChange: _angular_core.OutputEmitterRef<T | null>;
363
+ readonly labelableId: _angular_core.Signal<string | undefined>;
364
+ readonly hasDate: _angular_core.Signal<boolean>;
365
+ /** @internal The current raw value, used by inputs to reformat on focus. */
366
+ readonly value: _angular_core.Signal<NonNullable<T> | null>;
367
+ protected _onChange?: ChangeFn<T | null>;
368
+ protected _onTouched?: TouchFn;
369
+ protected _onStateChange(state: BrnOverlayState): void;
370
+ protected _handleChange(value: T | undefined): void;
371
+ /**
372
+ * Commit a date to the picker. Updates the internal model, notifies form
373
+ * controls, and emits `dateChange`. Unlike `_handleChange`, this does not
374
+ * close the popover - it's intended to be called from a text input that
375
+ * is parsing user-entered values while typing.
376
+ */
377
+ updateDate(value: T | null): void;
378
+ /** CONTROL VALUE ACCESSOR */
379
+ writeValue(value: T | null): void;
380
+ registerOnChange(fn: ChangeFn<T | null>): void;
381
+ registerOnTouched(fn: TouchFn): void;
382
+ touched(): void;
383
+ setDisabledState(isDisabled: boolean): void;
384
+ open(): void;
385
+ close(): void;
386
+ reset(): void;
387
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<HlmMonthYearPicker<any>, never>;
388
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<HlmMonthYearPicker<any>, "hlm-month-year-picker", never, { "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "date": { "alias": "date"; "required": false; "isSignal": true; }; "defaultFocusedDate": { "alias": "defaultFocusedDate"; "required": false; "isSignal": true; }; "autoCloseOnSelect": { "alias": "autoCloseOnSelect"; "required": false; "isSignal": true; }; "formatDate": { "alias": "formatDate"; "required": false; "isSignal": true; }; "transformDate": { "alias": "transformDate"; "required": false; "isSignal": true; }; }, { "dateChange": "dateChange"; }, ["_trigger"], ["*", "[hlmDatePickerHeader]", "[hlmDatePickerFooter]"], true, [{ directive: typeof i1$1.BrnFieldControl; inputs: {}; outputs: {}; }]>;
389
+ }
390
+
391
+ interface HlmDatePickerMultiConfig<T> {
392
+ /**
393
+ * If true, the date picker will close when the max selection of dates is reached.
394
+ */
395
+ autoCloseOnMaxSelection: boolean;
396
+ /**
397
+ * Defines how the date should be displayed in the UI.
398
+ *
399
+ * @param dates
400
+ * @returns formatted date
401
+ */
402
+ formatDates: (dates: T[]) => string;
403
+ /**
404
+ * Defines how the dates should be displayed while the input is focused,
405
+ * i.e. the format the user is expected to type in.
406
+ *
407
+ * @param dates
408
+ * @returns formatted dates in the input/edit format
409
+ */
410
+ formatInputDates: (dates: T[]) => string;
411
+ /**
412
+ * Defines how the date should be transformed before saving to model/form.
413
+ *
414
+ * @param dates
415
+ * @returns transformed date
416
+ */
417
+ transformDates: (dates: T[]) => T[];
418
+ /**
419
+ * Parse a user-entered string into a date.
420
+ *
421
+ * @param value the raw string from the input
422
+ * @returns the parsed date, or `null` when the value can't be parsed
423
+ */
424
+ parseDate: (value: string) => T[] | null;
425
+ }
426
+ declare function provideHlmDatePickerMultiConfig<T>(config: Partial<HlmDatePickerMultiConfig<T>>): ValueProvider;
427
+ declare function injectHlmDatePickerMultiConfig<T>(): HlmDatePickerMultiConfig<T>;
428
+
429
+ interface HlmDatePickerConfig<T> {
430
+ /**
431
+ * If true, the date picker will close when a date is selected.
432
+ */
433
+ autoCloseOnSelect: boolean;
434
+ /**
435
+ * Defines how the date should be displayed in the UI.
436
+ *
437
+ * @param date
438
+ * @returns formatted date
439
+ */
440
+ formatDate: (date: T) => string;
441
+ /**
442
+ * Defines how the date should be displayed while the input is focused,
443
+ * i.e. the format the user is expected to type in.
444
+ *
445
+ * @param date
446
+ * @returns formatted date in the input/edit format
447
+ */
448
+ formatInputDate: (date: T) => string;
449
+ /**
450
+ * Defines how the date should be transformed before saving to model/form.
451
+ *
452
+ * @param date
453
+ * @returns transformed date
454
+ */
455
+ transformDate: (date: T) => T;
456
+ /**
457
+ * Parse a user-entered string into a date.
458
+ *
459
+ * @param value the raw string from the input
460
+ * @returns the parsed date, or `null` when the value can't be parsed
461
+ */
462
+ parseDate: (value: string) => T | null;
463
+ }
464
+ declare function provideHlmDatePickerConfig<T>(config: Partial<HlmDatePickerConfig<T>>): ValueProvider;
465
+ declare function injectHlmDatePickerConfig<T>(): HlmDatePickerConfig<T>;
466
+
467
+ interface HlmDateRangePickerConfig<T> {
468
+ /**
469
+ * If true, the date picker will close when the max selection of dates is reached.
470
+ */
471
+ autoCloseOnEndSelection: boolean;
472
+ /**
473
+ * Defines how the date should be displayed in the UI.
474
+ *
475
+ * @param dates
476
+ * @returns formatted date
477
+ */
478
+ formatDates: (dates: [T | null, T | null]) => string;
479
+ /**
480
+ * Defines how the range should be displayed while the input is focused,
481
+ * i.e. the format the user is expected to type in.
482
+ *
483
+ * @param dates
484
+ * @returns formatted range in the input/edit format
485
+ */
486
+ formatInputDates: (dates: [T | null, T | null]) => string;
487
+ /**
488
+ * Defines how the date should be transformed before saving to model/form.
489
+ *
490
+ * @param dates
491
+ * @returns transformed date
492
+ */
493
+ transformDates: (dates: [T, T]) => [T, T];
494
+ /**
495
+ * Parse a user-entered string into a date range.
496
+ *
497
+ * @param value the raw string from the input
498
+ * @returns the parsed range, or `null` when the value can't be parsed
499
+ */
500
+ parseDate: (value: string) => [T, T] | null;
501
+ }
502
+ declare function provideHlmDateRangePickerConfig<T>(config: Partial<HlmDateRangePickerConfig<T>>): ValueProvider;
503
+ declare function injectHlmDateRangePickerConfig<T>(): HlmDateRangePickerConfig<T>;
504
+
505
+ interface HlmMonthYearPickerConfig<T> {
506
+ /**
507
+ * If true, the date picker will close when a date is selected.
508
+ */
509
+ autoCloseOnSelect: boolean;
510
+ /**
511
+ * Defines how the date should be displayed in the UI.
512
+ *
513
+ * @param date
514
+ * @returns formatted date
515
+ */
516
+ formatDate: (date: T) => string;
517
+ /**
518
+ * Defines how the date should be displayed while the input is focused,
519
+ * i.e. the format the user is expected to type in.
520
+ *
521
+ * @param date
522
+ * @returns formatted date in the input/edit format
523
+ */
524
+ formatInputDate: (date: T) => string;
525
+ /**
526
+ * Defines how the date should be transformed before saving to model/form.
527
+ *
528
+ * @param date
529
+ * @returns transformed date
530
+ */
531
+ transformDate: (date: T) => T;
532
+ /**
533
+ * Parse a user-entered string into a date.
534
+ *
535
+ * @param value the raw string from the input
536
+ * @returns the parsed date, or `null` when the value can't be parsed
537
+ */
538
+ parseDate: (value: string) => T | null;
539
+ }
540
+ declare function provideHlmMonthYearPickerConfig<T>(config: Partial<HlmMonthYearPickerConfig<T>>): ValueProvider;
541
+ declare function injectHlmMonthYearPickerConfig<T>(): HlmMonthYearPickerConfig<T>;
542
+
543
+ declare const HlmDatePickerImports: readonly [typeof HlmDatePicker, typeof HlmDatePickerAnchor, typeof HlmDatePickerInput, typeof HlmDatePickerMulti, typeof HlmDateMultiInput, typeof HlmDateRangeInput, typeof HlmDateRangePicker, typeof HlmDatePickerTrigger, typeof HlmMonthYearPicker, typeof HlmMonthYearInput];
544
+ declare class HlmDatePickerModule {
545
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<HlmDatePickerModule, never>;
546
+ static ɵmod: _angular_core.ɵɵNgModuleDeclaration<HlmDatePickerModule, never, [typeof HlmDatePicker, typeof HlmDatePickerAnchor, typeof HlmDatePickerInput, typeof HlmDatePickerMulti, typeof HlmDateMultiInput, typeof HlmDateRangeInput, typeof HlmDateRangePicker, typeof HlmDatePickerTrigger, typeof HlmMonthYearPicker, typeof HlmMonthYearInput], [typeof HlmDatePicker, typeof HlmDatePickerAnchor, typeof HlmDatePickerInput, typeof HlmDatePickerMulti, typeof HlmDateMultiInput, typeof HlmDateRangeInput, typeof HlmDateRangePicker, typeof HlmDatePickerTrigger, typeof HlmMonthYearPicker, typeof HlmMonthYearInput]>;
547
+ static ɵinj: _angular_core.ɵɵInjectorDeclaration<HlmDatePickerModule>;
548
+ }
549
+
550
+ export { HLM_DATE_PICKER_MUTLI_VALUE_ACCESSOR, HLM_DATE_PICKER_VALUE_ACCESSOR, HLM_DATE_RANGE_PICKER_VALUE_ACCESSOR, HLM_MONTH_YEAR_PICKER_VALUE_ACCESSOR, HlmDateMultiInput, HlmDatePicker, HlmDatePickerAnchor, HlmDatePickerImports, HlmDatePickerInput, HlmDatePickerModule, HlmDatePickerMulti, HlmDatePickerTrigger, HlmDateRangeInput, HlmDateRangePicker, HlmMonthYearInput, HlmMonthYearPicker, injectHlmDatePickerConfig, injectHlmDatePickerMultiConfig, injectHlmDateRangePickerConfig, injectHlmMonthYearPickerConfig, provideHlmDatePickerConfig, provideHlmDatePickerMultiConfig, provideHlmDateRangePickerConfig, provideHlmMonthYearPickerConfig };
551
+ export type { HlmDatePickerConfig, HlmDatePickerMultiConfig, HlmDateRangePickerConfig, HlmMonthYearPickerConfig };
@@ -0,0 +1,64 @@
1
+ # Dialog
2
+
3
+ This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 20.3.0.
4
+
5
+ ## Code scaffolding
6
+
7
+ Angular CLI includes powerful code scaffolding tools. To generate a new component, run:
8
+
9
+ ```bash
10
+ ng generate component component-name
11
+ ```
12
+
13
+ For a complete list of available schematics (such as `components`, `directives`, or `pipes`), run:
14
+
15
+ ```bash
16
+ ng generate --help
17
+ ```
18
+
19
+ ## Building
20
+
21
+ To build the library, run:
22
+
23
+ ```bash
24
+ ng build dialog
25
+ ```
26
+
27
+ This command will compile your project, and the build artifacts will be placed in the `dist/` directory.
28
+
29
+ ### Publishing the Library
30
+
31
+ Once the project is built, you can publish your library by following these steps:
32
+
33
+ 1. Navigate to the `dist` directory:
34
+
35
+ ```bash
36
+ cd dist/dialog
37
+ ```
38
+
39
+ 2. Run the `npm publish` command to publish your library to the npm registry:
40
+ ```bash
41
+ npm publish
42
+ ```
43
+
44
+ ## Running unit tests
45
+
46
+ To execute unit tests with the [Karma](https://karma-runner.github.io) test runner, use the following command:
47
+
48
+ ```bash
49
+ ng test
50
+ ```
51
+
52
+ ## Running end-to-end tests
53
+
54
+ For end-to-end (e2e) testing, run:
55
+
56
+ ```bash
57
+ ng e2e
58
+ ```
59
+
60
+ Angular CLI does not come with an end-to-end testing framework by default. You can choose one that suits your needs.
61
+
62
+ ## Additional Resources
63
+
64
+ For more information on using the Angular CLI, including detailed command references, visit the [Angular CLI Overview and Command Reference](https://angular.dev/tools/cli) page.