@ardium-ui/ui 5.0.0-alpha.9 → 5.0.0-alpha.91

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 (306) hide show
  1. package/fesm2022/ardium-ui-ui.mjs +5065 -2572
  2. package/fesm2022/ardium-ui-ui.mjs.map +1 -1
  3. package/lib/_internal/boolean-component.d.ts +13 -1
  4. package/lib/_internal/disablable-component.d.ts +2 -1
  5. package/lib/_internal/focusable-component.d.ts +2 -1
  6. package/lib/_internal/form-field-component.d.ts +3 -2
  7. package/lib/_internal/item-storages/dropdown-item-storage.d.ts +21 -21
  8. package/lib/_internal/item-storages/simple-item-storage.d.ts +15 -12
  9. package/lib/_internal/item-storages/simplest-item-storage.d.ts +1 -1
  10. package/lib/_internal/ngmodel-component.d.ts +8 -9
  11. package/lib/_internal/selectable-list-component.d.ts +6 -6
  12. package/lib/_internal/utils/date.utils.d.ts +16 -0
  13. package/lib/badge/badge.directive.d.ts +3 -2
  14. package/lib/breakpoints/breakpoint.service.d.ts +12 -0
  15. package/lib/breakpoints/breakpoint.utils.d.ts +7 -0
  16. package/lib/breakpoints/breakpoints.d.ts +13 -0
  17. package/lib/breakpoints/index.d.ts +2 -0
  18. package/lib/buttons/_button-base.d.ts +12 -8
  19. package/lib/buttons/_button-base.defaults.d.ts +3 -2
  20. package/lib/buttons/button/button.component.d.ts +5 -5
  21. package/lib/buttons/button/button.defaults.d.ts +0 -2
  22. package/lib/buttons/button/button.directive.d.ts +17 -0
  23. package/lib/buttons/button/button.module.d.ts +3 -2
  24. package/lib/buttons/button/index.d.ts +1 -0
  25. package/lib/buttons/fab/fab.component.d.ts +3 -1
  26. package/lib/buttons/icon-button/icon-button.component.d.ts +6 -4
  27. package/lib/buttons/icon-button/icon-button.defaults.d.ts +2 -1
  28. package/lib/calendar/abstract-calendar.d.ts +128 -0
  29. package/lib/calendar/calendar.component.d.ts +8 -96
  30. package/lib/calendar/calendar.defaults.d.ts +16 -1
  31. package/lib/calendar/calendar.internal-directives.d.ts +24 -8
  32. package/lib/calendar/calendar.internal-types.d.ts +1 -0
  33. package/lib/calendar/calendar.module.d.ts +4 -9
  34. package/lib/calendar/calendar.types.d.ts +21 -5
  35. package/lib/calendar/index.d.ts +3 -0
  36. package/lib/calendar/range-calendar.component.d.ts +16 -0
  37. package/lib/calendar/range-calendar.directives.d.ts +51 -0
  38. package/lib/calendar/range-calendar.module.d.ts +10 -0
  39. package/lib/calendar/views/calendar-views.module.d.ts +13 -0
  40. package/lib/calendar/views/days-view/days-view.component.d.ts +20 -2
  41. package/lib/calendar/views/days-view/days-view.helpers.d.ts +2 -2
  42. package/lib/calendar/views/months-view/months-view.component.d.ts +15 -3
  43. package/lib/calendar/views/years-view/years-view.component.d.ts +16 -3
  44. package/lib/checkbox/checkbox.component.d.ts +5 -2
  45. package/lib/checkbox/checkbox.types.d.ts +2 -0
  46. package/lib/checkbox-list/checkbox-list.component.d.ts +9 -7
  47. package/lib/checkbox-list/checkbox-list.directives.d.ts +7 -0
  48. package/lib/checkbox-list/checkbox-list.module.d.ts +1 -1
  49. package/lib/chip/chip.component.d.ts +2 -1
  50. package/lib/chip/deletable-chip/deletable-chip.component.d.ts +2 -1
  51. package/lib/chip/selectable-chip/selectable-chip.component.d.ts +5 -2
  52. package/lib/dialog/dialog.component.d.ts +13 -8
  53. package/lib/dialog/dialog.types.d.ts +1 -0
  54. package/lib/divider/divider.component.d.ts +2 -3
  55. package/lib/divider/divider.defaults.d.ts +5 -0
  56. package/lib/divider/divider.directive.d.ts +18 -0
  57. package/lib/divider/divider.module.d.ts +3 -2
  58. package/lib/divider/divider.types.d.ts +5 -0
  59. package/lib/divider/index.d.ts +2 -0
  60. package/lib/dropdown-panel/dropdown-panel.component.d.ts +2 -1
  61. package/lib/dropdown-panel/dropdown-panel.types.d.ts +1 -1
  62. package/lib/file-inputs/file-input/file-input.component.d.ts +2 -1
  63. package/lib/file-inputs/file-input-base.d.ts +4 -5
  64. package/lib/form-field/auto-error/auto-error.component.d.ts +19 -0
  65. package/lib/form-field/auto-error/auto-error.provider.d.ts +7 -0
  66. package/lib/form-field/error/error.directive.d.ts +3 -2
  67. package/lib/form-field/form-field-base.d.ts +5 -2
  68. package/lib/form-field/form-field-child.token.d.ts +5 -5
  69. package/lib/form-field/form-field-native-inputs.d.ts +6 -11
  70. package/lib/form-field/form-field.component.d.ts +1 -1
  71. package/lib/form-field/form-field.defaults.d.ts +1 -0
  72. package/lib/form-field/form-field.module.d.ts +5 -4
  73. package/lib/form-field/hint/hint.directive.d.ts +3 -2
  74. package/lib/form-field/hint-error/hint-error.directive.d.ts +3 -2
  75. package/lib/form-field/horizontal-form-field.component.d.ts +1 -1
  76. package/lib/form-field/index.d.ts +2 -0
  77. package/lib/form-field/label/label.component.d.ts +3 -2
  78. package/lib/form-field-frame/form-field-frame.component.d.ts +5 -3
  79. package/lib/grid/grid.component.d.ts +51 -0
  80. package/lib/grid/grid.defaults.d.ts +16 -0
  81. package/lib/grid/grid.module.d.ts +7 -0
  82. package/lib/grid/grid.types.d.ts +38 -0
  83. package/lib/grid/grid.utils.d.ts +11 -0
  84. package/lib/grid/index.d.ts +4 -0
  85. package/lib/icon/icon.component.d.ts +2 -1
  86. package/lib/inputs/_simple-input-base.d.ts +9 -4
  87. package/lib/inputs/autocomplete-input/autocomplete-input.component.d.ts +5 -4
  88. package/lib/inputs/date-input/abstract-date-input.d.ts +110 -0
  89. package/lib/inputs/date-input/date-input.component.d.ts +19 -81
  90. package/lib/inputs/date-input/date-input.defaults.d.ts +21 -3
  91. package/lib/inputs/date-input/{date-input.directive.d.ts → date-input.directives.d.ts} +2 -2
  92. package/lib/inputs/date-input/date-input.module.d.ts +5 -4
  93. package/lib/inputs/date-input/date-input.serializers.d.ts +4 -2
  94. package/lib/inputs/date-input/date-input.types.d.ts +5 -4
  95. package/lib/inputs/date-input/date-range-input.component.d.ts +30 -0
  96. package/lib/inputs/date-input/date-range-input.directives.d.ts +82 -0
  97. package/lib/inputs/date-input/date-range-input.module.d.ts +17 -0
  98. package/lib/inputs/date-input/index.d.ts +7 -1
  99. package/lib/inputs/date-input/multipage-date-range-input.component.d.ts +45 -0
  100. package/lib/inputs/date-input/multipage-date-range-input.directives.d.ts +82 -0
  101. package/lib/inputs/date-input/multipage-date-range-input.module.d.ts +17 -0
  102. package/lib/inputs/digit-input/digit-input.component.d.ts +4 -3
  103. package/lib/inputs/hex-input/hex-input.component.d.ts +5 -5
  104. package/lib/inputs/input-types.d.ts +9 -0
  105. package/lib/inputs/input-utils.d.ts +13 -2
  106. package/lib/inputs/number-input/number-input.component.d.ts +20 -13
  107. package/lib/inputs/number-input/number-input.defaults.d.ts +6 -0
  108. package/lib/inputs/number-input/number-input.directives.d.ts +12 -0
  109. package/lib/inputs/number-input/number-input.module.d.ts +1 -1
  110. package/lib/inputs/number-input/number-input.types.d.ts +6 -0
  111. package/lib/inputs/password-input/password-input.component.d.ts +6 -5
  112. package/lib/kbd/kbd.component.d.ts +2 -1
  113. package/lib/kbd-shortcut/kbd-shortcut.component.d.ts +2 -1
  114. package/lib/modal/modal.component.d.ts +9 -6
  115. package/lib/modal/modal.defaults.d.ts +2 -0
  116. package/lib/option/option.component.d.ts +2 -1
  117. package/lib/progress-bar/progress-bar.component.d.ts +4 -3
  118. package/lib/progress-circle/progress-circle.component.d.ts +5 -4
  119. package/lib/radio/radio/radio.component.d.ts +8 -3
  120. package/lib/radio/radio-group.component.d.ts +2 -2
  121. package/lib/search-functions.d.ts +1 -1
  122. package/lib/segment/segment.component.d.ts +6 -5
  123. package/lib/select/select.component.d.ts +45 -39
  124. package/lib/select/select.defaults.d.ts +4 -2
  125. package/lib/select/select.directive.d.ts +6 -0
  126. package/lib/select/select.module.d.ts +1 -1
  127. package/lib/select/select.types.d.ts +6 -2
  128. package/lib/slide-toggle/slide-toggle.component.d.ts +2 -0
  129. package/lib/slider/abstract-slider.d.ts +37 -29
  130. package/lib/slider/index.d.ts +1 -0
  131. package/lib/slider/range-slider/range-slider.component.d.ts +12 -9
  132. package/lib/slider/range-slider/range-slider.types.d.ts +6 -0
  133. package/lib/slider/slider.component.d.ts +5 -4
  134. package/lib/slider/slider.types.d.ts +3 -3
  135. package/lib/snackbar/snackbar-ref.d.ts +37 -4
  136. package/lib/snackbar/snackbar.service.d.ts +27 -0
  137. package/lib/snackbar/snackbar.types.d.ts +36 -0
  138. package/lib/star/rating-display/rating-display.component.d.ts +2 -1
  139. package/lib/star/rating-input/rating-input.component.d.ts +5 -3
  140. package/lib/star/rating-input/rating-input.defaults.d.ts +2 -2
  141. package/lib/star/star-button/star-button.component.d.ts +4 -1
  142. package/lib/star/star-button/star-button.types.d.ts +1 -0
  143. package/lib/tabber/index.d.ts +2 -1
  144. package/lib/tabber/tab/tab.component.d.ts +16 -8
  145. package/lib/tabber/tabber.component.d.ts +25 -9
  146. package/lib/tabber/tabber.defaults.d.ts +2 -0
  147. package/lib/tabber/tabber.directives.d.ts +9 -0
  148. package/lib/tabber/tabber.module.d.ts +3 -2
  149. package/lib/tabber/tabber.types.d.ts +5 -0
  150. package/lib/table/table.component.d.ts +16 -15
  151. package/lib/table-pagination/table-pagination.component.d.ts +4 -3
  152. package/lib/text-list/text-list.component.d.ts +2 -1
  153. package/lib/types/alignment.types.d.ts +7 -1
  154. package/lib/types/item-storage.types.d.ts +29 -18
  155. package/lib/types/theming.types.d.ts +1 -0
  156. package/package.json +3 -2
  157. package/prebuilt-themes/default/badge.css +234 -205
  158. package/prebuilt-themes/default/badge.css.map +1 -1
  159. package/prebuilt-themes/default/buttons/button.css +324 -301
  160. package/prebuilt-themes/default/buttons/button.css.map +1 -1
  161. package/prebuilt-themes/default/buttons/fab.css +317 -299
  162. package/prebuilt-themes/default/buttons/fab.css.map +1 -1
  163. package/prebuilt-themes/default/buttons/icon-button.css +299 -287
  164. package/prebuilt-themes/default/buttons/icon-button.css.map +1 -1
  165. package/prebuilt-themes/default/calendar.css +390 -308
  166. package/prebuilt-themes/default/calendar.css.map +1 -1
  167. package/prebuilt-themes/default/card.css +151 -127
  168. package/prebuilt-themes/default/card.css.map +1 -1
  169. package/prebuilt-themes/default/checkbox-list.css +89 -62
  170. package/prebuilt-themes/default/checkbox-list.css.map +1 -1
  171. package/prebuilt-themes/default/checkbox.css +349 -362
  172. package/prebuilt-themes/default/checkbox.css.map +1 -1
  173. package/prebuilt-themes/default/chips.css +412 -359
  174. package/prebuilt-themes/default/chips.css.map +1 -1
  175. package/prebuilt-themes/default/color-display.css +34 -26
  176. package/prebuilt-themes/default/color-display.css.map +1 -1
  177. package/prebuilt-themes/default/color-picker.css +105 -103
  178. package/prebuilt-themes/default/color-picker.css.map +1 -1
  179. package/prebuilt-themes/default/core.css +108 -86
  180. package/prebuilt-themes/default/core.css.map +1 -1
  181. package/prebuilt-themes/default/dialog.css +19 -15
  182. package/prebuilt-themes/default/dialog.css.map +1 -1
  183. package/prebuilt-themes/default/divider.css +84 -8
  184. package/prebuilt-themes/default/divider.css.map +1 -1
  185. package/prebuilt-themes/default/dropdown-panel.css +42 -34
  186. package/prebuilt-themes/default/dropdown-panel.css.map +1 -1
  187. package/prebuilt-themes/default/file-drop-area.css +329 -276
  188. package/prebuilt-themes/default/file-drop-area.css.map +1 -1
  189. package/prebuilt-themes/default/form-field-frame.css +102 -98
  190. package/prebuilt-themes/default/form-field-frame.css.map +1 -1
  191. package/prebuilt-themes/default/form-field.css +148 -118
  192. package/prebuilt-themes/default/form-field.css.map +1 -1
  193. package/prebuilt-themes/default/inputs/autocomplete-input.css +183 -132
  194. package/prebuilt-themes/default/inputs/autocomplete-input.css.map +1 -1
  195. package/prebuilt-themes/default/inputs/color-input.css +99 -137
  196. package/prebuilt-themes/default/inputs/color-input.css.map +1 -1
  197. package/prebuilt-themes/default/inputs/date-input.css +132 -63
  198. package/prebuilt-themes/default/inputs/date-input.css.map +1 -1
  199. package/prebuilt-themes/default/inputs/digit-input.css +120 -110
  200. package/prebuilt-themes/default/inputs/digit-input.css.map +1 -1
  201. package/prebuilt-themes/default/inputs/file-input.css +385 -325
  202. package/prebuilt-themes/default/inputs/file-input.css.map +1 -1
  203. package/prebuilt-themes/default/inputs/hex-input.css +150 -117
  204. package/prebuilt-themes/default/inputs/hex-input.css.map +1 -1
  205. package/prebuilt-themes/default/inputs/input.css +137 -107
  206. package/prebuilt-themes/default/inputs/input.css.map +1 -1
  207. package/prebuilt-themes/default/inputs/number-input.css +214 -164
  208. package/prebuilt-themes/default/inputs/number-input.css.map +1 -1
  209. package/prebuilt-themes/default/inputs/password-input.css +120 -71
  210. package/prebuilt-themes/default/inputs/password-input.css.map +1 -1
  211. package/prebuilt-themes/default/kbd-shortcut.css +14 -9
  212. package/prebuilt-themes/default/kbd-shortcut.css.map +1 -1
  213. package/prebuilt-themes/default/kbd.css +26 -15
  214. package/prebuilt-themes/default/kbd.css.map +1 -1
  215. package/prebuilt-themes/default/modal.css +96 -71
  216. package/prebuilt-themes/default/modal.css.map +1 -1
  217. package/prebuilt-themes/default/progress-bar.css +250 -228
  218. package/prebuilt-themes/default/progress-bar.css.map +1 -1
  219. package/prebuilt-themes/default/progress-circle.css +178 -164
  220. package/prebuilt-themes/default/progress-circle.css.map +1 -1
  221. package/prebuilt-themes/default/radio.css +246 -223
  222. package/prebuilt-themes/default/radio.css.map +1 -1
  223. package/prebuilt-themes/default/segment.css +432 -414
  224. package/prebuilt-themes/default/segment.css.map +1 -1
  225. package/prebuilt-themes/default/select.css +302 -270
  226. package/prebuilt-themes/default/select.css.map +1 -1
  227. package/prebuilt-themes/default/slide-toggle.css +319 -261
  228. package/prebuilt-themes/default/slide-toggle.css.map +1 -1
  229. package/prebuilt-themes/default/slider.css +399 -351
  230. package/prebuilt-themes/default/slider.css.map +1 -1
  231. package/prebuilt-themes/default/snackbar.css +189 -169
  232. package/prebuilt-themes/default/snackbar.css.map +1 -1
  233. package/prebuilt-themes/default/spinner.css +161 -148
  234. package/prebuilt-themes/default/spinner.css.map +1 -1
  235. package/prebuilt-themes/default/stars.css +271 -246
  236. package/prebuilt-themes/default/stars.css.map +1 -1
  237. package/prebuilt-themes/default/tabber.css +250 -207
  238. package/prebuilt-themes/default/tabber.css.map +1 -1
  239. package/prebuilt-themes/default/table-pagination.css +57 -45
  240. package/prebuilt-themes/default/table-pagination.css.map +1 -1
  241. package/prebuilt-themes/default/table.css +464 -432
  242. package/prebuilt-themes/default/table.css.map +1 -1
  243. package/public-api.d.ts +2 -1
  244. package/themes/_variables.scss +2 -1
  245. package/themes/default/_coloring.scss +7 -0
  246. package/themes/default/_mixins.scss +5 -5
  247. package/themes/default/badge.scss +115 -80
  248. package/themes/default/buttons/_button-mixins.scss +43 -33
  249. package/themes/default/buttons/button.scss +90 -63
  250. package/themes/default/buttons/fab.scss +74 -49
  251. package/themes/default/buttons/icon-button.scss +70 -45
  252. package/themes/default/calendar.scss +257 -163
  253. package/themes/default/card.scss +167 -121
  254. package/themes/default/checkbox-list.scss +90 -62
  255. package/themes/default/checkbox.scss +64 -91
  256. package/themes/default/chips.scss +203 -143
  257. package/themes/default/color-display.scss +40 -28
  258. package/themes/default/color-picker.scss +95 -93
  259. package/themes/default/core.scss +123 -97
  260. package/themes/default/dialog.scss +22 -13
  261. package/themes/default/divider.scss +109 -7
  262. package/themes/default/dropdown-panel.scss +49 -34
  263. package/themes/default/file-drop-area.scss +197 -138
  264. package/themes/default/form-field-frame.scss +73 -63
  265. package/themes/default/form-field.scss +136 -98
  266. package/themes/default/inputs/_shared.scss +52 -12
  267. package/themes/default/inputs/autocomplete-input.scss +102 -31
  268. package/themes/default/inputs/color-input.scss +34 -32
  269. package/themes/default/inputs/date-input.scss +88 -20
  270. package/themes/default/inputs/digit-input.scss +103 -79
  271. package/themes/default/inputs/file-input.scss +160 -81
  272. package/themes/default/inputs/hex-input.scss +68 -16
  273. package/themes/default/inputs/input.scss +55 -6
  274. package/themes/default/inputs/number-input.scss +167 -92
  275. package/themes/default/inputs/password-input.scss +100 -29
  276. package/themes/default/kbd-shortcut.scss +16 -8
  277. package/themes/default/kbd.scss +35 -16
  278. package/themes/default/modal.scss +109 -73
  279. package/themes/default/progress-bar.scss +126 -102
  280. package/themes/default/progress-circle.scss +49 -41
  281. package/themes/default/radio.scss +110 -87
  282. package/themes/default/segment.scss +282 -267
  283. package/themes/default/select.scss +255 -197
  284. package/themes/default/slide-toggle.scss +193 -116
  285. package/themes/default/slider.scss +230 -187
  286. package/themes/default/snackbar.scss +52 -32
  287. package/themes/default/spinner.scss +24 -14
  288. package/themes/default/stars.scss +99 -68
  289. package/themes/default/tabber.scss +109 -67
  290. package/themes/default/table-pagination.scss +60 -44
  291. package/themes/default/table.scss +379 -343
  292. package/lib/statebox/index.d.ts +0 -4
  293. package/lib/statebox/statebox.component.d.ts +0 -26
  294. package/lib/statebox/statebox.defaults.d.ts +0 -10
  295. package/lib/statebox/statebox.module.d.ts +0 -8
  296. package/lib/statebox/statebox.types.d.ts +0 -26
  297. package/lib/tabber/tab/tab.defaults.d.ts +0 -6
  298. package/prebuilt-themes/default/calendar-OLD.css +0 -294
  299. package/prebuilt-themes/default/calendar-OLD.css.map +0 -1
  300. package/prebuilt-themes/default/inputs/search-bar.css +0 -118
  301. package/prebuilt-themes/default/inputs/search-bar.css.map +0 -1
  302. package/prebuilt-themes/default/statebox.css +0 -235
  303. package/prebuilt-themes/default/statebox.css.map +0 -1
  304. package/themes/default/calendar-OLD.scss +0 -183
  305. package/themes/default/inputs/search-bar.scss +0 -19
  306. package/themes/default/statebox.scss +0 -109
@@ -1,16 +1,18 @@
1
1
  import { AfterContentInit, AfterViewInit, ElementRef, OnChanges, OnDestroy, OnInit, QueryList, Signal, SimpleChanges, TemplateRef } from '@angular/core';
2
2
  import { ControlValueAccessor } from '@angular/forms';
3
+ import { BooleanLike, NumberLike } from '@ardium-ui/devkit';
4
+ import { Observable } from 'rxjs';
3
5
  import { _FormFieldComponentBase } from '../_internal/form-field-component';
4
6
  import { ItemStorage, ItemStorageHost } from '../_internal/item-storages/dropdown-item-storage';
5
7
  import { ArdiumDropdownPanelComponent } from '../dropdown-panel/dropdown-panel.component';
6
8
  import { DropdownPanelAppearance, DropdownPanelVariant } from '../dropdown-panel/dropdown-panel.types';
7
9
  import { ArdiumOptionComponent } from '../option/option.component';
8
- import { ArdOption, ArdOptionGroup, ArdPanelPosition, GroupByFn, OptionContext, SearchFn } from '../types/item-storage.types';
10
+ import { ArdOption, ArdOptionGroup, ArdPanelPosition, CompareWithFn, GroupByFn, OptionContext, SearchFn } from '../types/item-storage.types';
9
11
  import { FormElementAppearance } from '../types/theming.types';
10
12
  import { Nullable } from '../types/utility.types';
11
13
  import { FormElementVariant } from './../types/theming.types';
12
14
  import { ArdSelectDefaults } from './select.defaults';
13
- import { ArdAddCustomTemplateDirective, ArdDropdownFooterTemplateDirective, ArdDropdownHeaderTemplateDirective, ArdItemDisplayLimitTemplateDirective, ArdItemLimitReachedTemplateDirective, ArdLoadingPlaceholderTemplateDirective, ArdLoadingSpinnerTemplateDirective, ArdNoItemsFoundTemplateDirective, ArdOptgroupTemplateDirective, ArdOptionTemplateDirective, ArdSelectPlaceholderTemplateDirective, ArdSelectPrefixTemplateDirective, ArdSelectSuffixTemplateDirective, ArdValueTemplateDirective } from './select.directive';
15
+ import { ArdAddCustomTemplateDirective, ArdDropdownFooterTemplateDirective, ArdDropdownHeaderTemplateDirective, ArdItemDisplayLimitTemplateDirective, ArdItemLimitReachedTemplateDirective, ArdLoadingPlaceholderTemplateDirective, ArdLoadingSpinnerTemplateDirective, ArdNoItemsFoundTemplateDirective, ArdOptgroupTemplateDirective, ArdOptionTemplateDirective, ArdSelectDropdownArrowTemplateDirective, ArdSelectPlaceholderTemplateDirective, ArdSelectPrefixTemplateDirective, ArdSelectSuffixTemplateDirective, ArdValueTemplateDirective } from './select.directive';
14
16
  import { AddCustomFn, CustomOptionContext, GroupContext, ItemDisplayLimitContext, ItemLimitContext, PlaceholderContext, SearchContext, StatsContext, ValueContext } from './select.types';
15
17
  import * as i0 from "@angular/core";
16
18
  export declare class ArdiumSelectComponent extends _FormFieldComponentBase implements OnChanges, AfterViewInit, AfterContentInit, OnInit, OnDestroy, ControlValueAccessor, ItemStorageHost {
@@ -22,7 +24,7 @@ export declare class ArdiumSelectComponent extends _FormFieldComponentBase imple
22
24
  private readonly _isMouseBeingUsed;
23
25
  private readonly _searchBarFocused;
24
26
  private readonly _destroy$;
25
- readonly searchTerm: import("@angular/core").WritableSignal<string>;
27
+ readonly searchTerm: import("@angular/core").ModelSignal<string>;
26
28
  isItemsInputUsed: boolean;
27
29
  readonly valueFrom: import("@angular/core").InputSignal<string>;
28
30
  readonly labelFrom: import("@angular/core").InputSignal<string>;
@@ -35,28 +37,36 @@ export declare class ArdiumSelectComponent extends _FormFieldComponentBase imple
35
37
  readonly clearButtonTitle: import("@angular/core").InputSignal<string>;
36
38
  readonly dropdownPosition: import("@angular/core").InputSignal<ArdPanelPosition>;
37
39
  readonly noItemsFoundText: import("@angular/core").InputSignal<string>;
40
+ readonly addCustomOptionText: import("@angular/core").InputSignal<string>;
38
41
  readonly loadingPlaceholderText: import("@angular/core").InputSignal<string>;
39
42
  readonly searchInputId: import("@angular/core").InputSignal<Nullable<string>>;
40
43
  readonly inputAttrs: import("@angular/core").InputSignal<Record<string, any>>;
41
- readonly isLoading: import("@angular/core").InputSignalWithTransform<boolean, any>;
42
- readonly itemsAlreadyGrouped: import("@angular/core").InputSignalWithTransform<boolean, any>;
43
- readonly invertDisabled: import("@angular/core").InputSignalWithTransform<boolean, any>;
44
- readonly noGroupActions: import("@angular/core").InputSignalWithTransform<boolean, any>;
45
- readonly autoHighlightFirst: import("@angular/core").InputSignalWithTransform<boolean, any>;
46
- readonly autoFocus: import("@angular/core").InputSignalWithTransform<boolean, any>;
47
- readonly keepOpen: import("@angular/core").InputSignalWithTransform<boolean, any>;
48
- readonly hideSelected: import("@angular/core").InputSignalWithTransform<boolean, any>;
49
- readonly noBackspaceClear: import("@angular/core").InputSignalWithTransform<boolean, any>;
50
- readonly sortMultipleValues: import("@angular/core").InputSignalWithTransform<boolean, any>;
51
- readonly searchCaseSensitive: import("@angular/core").InputSignalWithTransform<boolean, any>;
52
- readonly keepSearchAfterSelect: import("@angular/core").InputSignalWithTransform<boolean, any>;
53
- readonly maxSelectedItems: import("@angular/core").InputSignalWithTransform<number, any>;
54
- readonly itemDisplayLimit: import("@angular/core").InputSignalWithTransform<number, any>;
55
- readonly searchFn: import("@angular/core").InputSignal<SearchFn>;
56
- readonly compareWith: import("@angular/core").InputSignal<Nullable<SearchFn>>;
44
+ readonly isLoading: import("@angular/core").InputSignalWithTransform<boolean, BooleanLike>;
45
+ readonly _deferValueWrites: import("@angular/core").InputSignal<boolean | null>;
46
+ readonly deferValueWrites: Signal<boolean>;
47
+ readonly itemsAlreadyGrouped: import("@angular/core").InputSignalWithTransform<boolean, BooleanLike>;
48
+ readonly invertDisabled: import("@angular/core").InputSignalWithTransform<boolean, BooleanLike>;
49
+ readonly noGroupActions: import("@angular/core").InputSignalWithTransform<boolean, BooleanLike>;
50
+ readonly autoHighlightFirst: import("@angular/core").InputSignalWithTransform<boolean, BooleanLike>;
51
+ readonly autoFocus: import("@angular/core").InputSignalWithTransform<boolean, BooleanLike>;
52
+ readonly keepOpen: import("@angular/core").InputSignalWithTransform<boolean, BooleanLike>;
53
+ readonly hideSelected: import("@angular/core").InputSignalWithTransform<boolean, BooleanLike>;
54
+ readonly noBackspaceClear: import("@angular/core").InputSignalWithTransform<boolean, BooleanLike>;
55
+ readonly searchCaseSensitive: import("@angular/core").InputSignalWithTransform<boolean, BooleanLike>;
56
+ readonly keepSearchAfterSelect: import("@angular/core").InputSignalWithTransform<boolean, BooleanLike>;
57
+ readonly maxSelectedItems: import("@angular/core").InputSignalWithTransform<number, NumberLike>;
58
+ readonly itemDisplayLimit: import("@angular/core").InputSignalWithTransform<number, NumberLike>;
59
+ /**
60
+ * The function used to search for matching items based on the search term.
61
+ *
62
+ * When set to `null`, the search functionality will be disabled (all items will be shown),
63
+ * but the `searchEvent` will still be emitted with the search term whenever it changes.
64
+ */
65
+ readonly searchFn: import("@angular/core").InputSignal<SearchFn | null>;
66
+ readonly compareWith: import("@angular/core").InputSignal<Nullable<CompareWithFn>>;
57
67
  readonly appearance: import("@angular/core").InputSignal<FormElementAppearance>;
58
68
  readonly variant: import("@angular/core").InputSignal<FormElementVariant>;
59
- readonly compact: import("@angular/core").InputSignalWithTransform<boolean, any>;
69
+ readonly compact: import("@angular/core").InputSignalWithTransform<boolean, BooleanLike>;
60
70
  readonly ngClasses: Signal<string>;
61
71
  readonly dropdownAppearance: import("@angular/core").InputSignal<Nullable<DropdownPanelAppearance>>;
62
72
  readonly dropdownAppearanceOrDefault: Signal<DropdownPanelAppearance>;
@@ -67,23 +77,22 @@ export declare class ArdiumSelectComponent extends _FormFieldComponentBase imple
67
77
  set items(value: string | any[] | null);
68
78
  optionComponents: QueryList<ArdiumOptionComponent>;
69
79
  private _setItemsFromComponents;
70
- readonly multiselectable: import("@angular/core").InputSignalWithTransform<boolean, any>;
71
- readonly clearable: import("@angular/core").InputSignalWithTransform<boolean, any>;
72
- readonly searchable: import("@angular/core").InputSignalWithTransform<boolean, any>;
80
+ readonly multiselectable: import("@angular/core").InputSignalWithTransform<boolean, BooleanLike>;
81
+ readonly clearable: import("@angular/core").InputSignalWithTransform<boolean, BooleanLike>;
82
+ readonly searchable: import("@angular/core").InputSignalWithTransform<boolean, BooleanLike>;
73
83
  readonly filtered: Signal<boolean>;
74
84
  readonly touched: import("@angular/core").WritableSignal<boolean>;
75
- private _defaultAddCustomFn;
76
- readonly addCustom: import("@angular/core").InputSignalWithTransform<false | AddCustomFn<any> | AddCustomFn<Promise<any>>, string | boolean | AddCustomFn<any> | AddCustomFn<Promise<any>>>;
85
+ private readonly _defaultAddCustomFn;
86
+ readonly addCustom: import("@angular/core").InputSignalWithTransform<false | AddCustomFn<any> | AddCustomFn<Promise<any>> | AddCustomFn<Observable<any>>, string | boolean | AddCustomFn<any> | AddCustomFn<Promise<any>> | AddCustomFn<Observable<any>>>;
77
87
  readonly shouldShowAddCustom: Signal<boolean>;
78
88
  addCustomOption(value: string): Promise<void>;
79
89
  setDisabledState(state: boolean): void;
80
90
  writeValue(ngModel: any[]): void;
81
91
  protected _emitChange(): void;
82
- private _onTouched;
92
+ protected _emitTouched(): void;
83
93
  set value(newValue: any);
84
94
  get value(): Signal<any[]>;
85
95
  readonly valueChange: import("@angular/core").OutputEmitterRef<any[]>;
86
- readonly changeEvent: import("@angular/core").OutputEmitterRef<any[]>;
87
96
  readonly addEvent: import("@angular/core").OutputEmitterRef<any[]>;
88
97
  readonly failedToAddEvent: import("@angular/core").OutputEmitterRef<any[]>;
89
98
  readonly removeEvent: import("@angular/core").OutputEmitterRef<any[]>;
@@ -95,10 +104,6 @@ export declare class ArdiumSelectComponent extends _FormFieldComponentBase imple
95
104
  end: number;
96
105
  }>;
97
106
  readonly scrollToEndEvent: import("@angular/core").OutputEmitterRef<void>;
98
- readonly searchEvent: import("@angular/core").OutputEmitterRef<{
99
- search: string;
100
- matching: any[];
101
- }>;
102
107
  readonly isOpen: import("@angular/core").ModelSignal<boolean>;
103
108
  readonly searchInput: Signal<ElementRef<HTMLInputElement> | undefined>;
104
109
  readonly dropdownPanel: Signal<ArdiumDropdownPanelComponent | undefined>;
@@ -106,6 +111,7 @@ export declare class ArdiumSelectComponent extends _FormFieldComponentBase imple
106
111
  readonly optgroupTemplate: Signal<ArdOptgroupTemplateDirective | undefined>;
107
112
  readonly valueTemplate: Signal<ArdValueTemplateDirective | undefined>;
108
113
  readonly placeholderTemplate: Signal<ArdSelectPlaceholderTemplateDirective | undefined>;
114
+ readonly dropdownArrowTemplate: Signal<ArdSelectDropdownArrowTemplateDirective | undefined>;
109
115
  readonly loadingSpinnerTemplate: Signal<ArdLoadingSpinnerTemplateDirective | undefined>;
110
116
  readonly loadingPlaceholderTemplate: Signal<ArdLoadingPlaceholderTemplateDirective | undefined>;
111
117
  readonly dropdownHeaderTemplate: Signal<ArdDropdownHeaderTemplateDirective | undefined>;
@@ -116,13 +122,13 @@ export declare class ArdiumSelectComponent extends _FormFieldComponentBase imple
116
122
  readonly itemDisplayLimitTemplate: Signal<ArdItemDisplayLimitTemplateDirective | undefined>;
117
123
  readonly prefixTemplate: Signal<ArdSelectPrefixTemplateDirective | undefined>;
118
124
  readonly suffixTemplate: Signal<ArdSelectSuffixTemplateDirective | undefined>;
119
- getValueContext(item: ArdOption): ValueContext;
125
+ readonly optionContextGenerator: Signal<(item: ArdOption) => OptionContext<ArdOption>>;
126
+ readonly valueContextGenerator: Signal<(item: ArdOption) => ValueContext>;
127
+ readonly groupContextGenerator: Signal<(group: ArdOptionGroup) => GroupContext>;
120
128
  readonly getStatsContext: Signal<StatsContext>;
121
129
  readonly getSearchContext: Signal<SearchContext>;
122
130
  readonly getPlaceholderContext: Signal<PlaceholderContext>;
123
131
  readonly getCustomOptionContext: Signal<CustomOptionContext>;
124
- getGroupContext(group: ArdOptionGroup): GroupContext;
125
- getOptionContext(item: ArdOption): OptionContext<ArdOption>;
126
132
  readonly getItemLimitContext: Signal<ItemLimitContext>;
127
133
  readonly getItemDisplayLimitContext: Signal<ItemDisplayLimitContext>;
128
134
  private readonly elementRef;
@@ -130,8 +136,8 @@ export declare class ArdiumSelectComponent extends _FormFieldComponentBase imple
130
136
  private readonly overlay;
131
137
  private readonly viewContainerRef;
132
138
  private readonly scrollStrategyOpts;
133
- dropdownHost: ElementRef<HTMLDivElement>;
134
- dropdownTemplate: TemplateRef<any>;
139
+ readonly dropdownHost: Signal<ElementRef<HTMLDivElement>>;
140
+ readonly dropdownTemplate: Signal<TemplateRef<any>>;
135
141
  readonly dropdownPanelWidth: import("@angular/core").InputSignalWithTransform<Nullable<string | number>, Nullable<string | number>>;
136
142
  readonly dropdownPanelHeight: import("@angular/core").InputSignalWithTransform<Nullable<string | number>, Nullable<string | number>>;
137
143
  readonly dropdownPanelMinWidth: import("@angular/core").InputSignalWithTransform<Nullable<string | number>, Nullable<string | number>>;
@@ -161,9 +167,9 @@ export declare class ArdiumSelectComponent extends _FormFieldComponentBase imple
161
167
  readonly isInputElementReadonly: Signal<boolean>;
162
168
  isValueWithinDisplayLimit(i: number): boolean;
163
169
  readonly placeholderForCurrentContext: Signal<string>;
164
- filter(filterTerm: string, suppressSearchEvent?: boolean): void;
170
+ filter(filterTerm: string, shouldAutoOpen: boolean): void;
165
171
  onSearchInputFocus(): void;
166
- onSearchInputBlur(): void;
172
+ onBlur(event: FocusEvent): void;
167
173
  toggleItem(item: ArdOption): void;
168
174
  selectItem(...items: ArdOption[]): void;
169
175
  unselectItem(...items: ArdOption[]): void;
@@ -199,5 +205,5 @@ export declare class ArdiumSelectComponent extends _FormFieldComponentBase imple
199
205
  private _onBackspaceOrDeletePress;
200
206
  private _onCtrlAPress;
201
207
  static ɵfac: i0.ɵɵFactoryDeclaration<ArdiumSelectComponent, never>;
202
- static ɵcmp: i0.ɵɵComponentDeclaration<ArdiumSelectComponent, "ard-select", never, { "valueFrom": { "alias": "valueFrom"; "required": false; "isSignal": true; }; "labelFrom": { "alias": "labelFrom"; "required": false; "isSignal": true; }; "disabledFrom": { "alias": "disabledFrom"; "required": false; "isSignal": true; }; "groupLabelFrom": { "alias": "groupLabelFrom"; "required": false; "isSignal": true; }; "groupDisabledFrom": { "alias": "groupDisabledFrom"; "required": false; "isSignal": true; }; "childrenFrom": { "alias": "childrenFrom"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; "isSignal": true; }; "clearButtonTitle": { "alias": "clearButtonTitle"; "required": false; "isSignal": true; }; "dropdownPosition": { "alias": "dropdownPosition"; "required": false; "isSignal": true; }; "noItemsFoundText": { "alias": "noItemsFoundText"; "required": false; "isSignal": true; }; "loadingPlaceholderText": { "alias": "loadingPlaceholderText"; "required": false; "isSignal": true; }; "searchInputId": { "alias": "searchInputId"; "required": false; "isSignal": true; }; "inputAttrs": { "alias": "inputAttrs"; "required": false; "isSignal": true; }; "isLoading": { "alias": "isLoading"; "required": false; "isSignal": true; }; "itemsAlreadyGrouped": { "alias": "itemsAlreadyGrouped"; "required": false; "isSignal": true; }; "invertDisabled": { "alias": "invertDisabled"; "required": false; "isSignal": true; }; "noGroupActions": { "alias": "noGroupActions"; "required": false; "isSignal": true; }; "autoHighlightFirst": { "alias": "autoHighlightFirst"; "required": false; "isSignal": true; }; "autoFocus": { "alias": "autoFocus"; "required": false; "isSignal": true; }; "keepOpen": { "alias": "keepOpen"; "required": false; "isSignal": true; }; "hideSelected": { "alias": "hideSelected"; "required": false; "isSignal": true; }; "noBackspaceClear": { "alias": "noBackspaceClear"; "required": false; "isSignal": true; }; "sortMultipleValues": { "alias": "sortMultipleValues"; "required": false; "isSignal": true; }; "searchCaseSensitive": { "alias": "searchCaseSensitive"; "required": false; "isSignal": true; }; "keepSearchAfterSelect": { "alias": "keepSearchAfterSelect"; "required": false; "isSignal": true; }; "maxSelectedItems": { "alias": "maxSelectedItems"; "required": false; "isSignal": true; }; "itemDisplayLimit": { "alias": "itemDisplayLimit"; "required": false; "isSignal": true; }; "searchFn": { "alias": "searchFn"; "required": false; "isSignal": true; }; "compareWith": { "alias": "compareWith"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "compact": { "alias": "compact"; "required": false; "isSignal": true; }; "dropdownAppearance": { "alias": "dropdownAppearance"; "required": false; "isSignal": true; }; "dropdownVariant": { "alias": "dropdownVariant"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": false; }; "multiselectable": { "alias": "multiselectable"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "searchable": { "alias": "searchable"; "required": false; "isSignal": true; }; "addCustom": { "alias": "addCustom"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; }; "isOpen": { "alias": "isOpen"; "required": false; "isSignal": true; }; "dropdownPanelWidth": { "alias": "dropdownPanelWidth"; "required": false; "isSignal": true; }; "dropdownPanelHeight": { "alias": "dropdownPanelHeight"; "required": false; "isSignal": true; }; "dropdownPanelMinWidth": { "alias": "dropdownPanelMinWidth"; "required": false; "isSignal": true; }; "dropdownPanelMinHeight": { "alias": "dropdownPanelMinHeight"; "required": false; "isSignal": true; }; "dropdownPanelMaxWidth": { "alias": "dropdownPanelMaxWidth"; "required": false; "isSignal": true; }; "dropdownPanelMaxHeight": { "alias": "dropdownPanelMaxHeight"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "changeEvent": "change"; "addEvent": "add"; "failedToAddEvent": "failedToAdd"; "removeEvent": "remove"; "clearEvent": "clear"; "openEvent": "open"; "closeEvent": "close"; "scrollEvent": "scroll"; "scrollToEndEvent": "scrollToEnd"; "searchEvent": "search"; "isOpen": "isOpenChange"; }, ["optionTemplate", "optgroupTemplate", "valueTemplate", "placeholderTemplate", "loadingSpinnerTemplate", "loadingPlaceholderTemplate", "dropdownHeaderTemplate", "dropdownFooterTemplate", "noItemsFoundTemplate", "addCustomTemplate", "itemLimitReachedTemplate", "itemDisplayLimitTemplate", "prefixTemplate", "suffixTemplate", "optionComponents"], never, false, never>;
208
+ static ɵcmp: i0.ɵɵComponentDeclaration<ArdiumSelectComponent, "ard-select", never, { "searchTerm": { "alias": "searchTerm"; "required": false; "isSignal": true; }; "valueFrom": { "alias": "valueFrom"; "required": false; "isSignal": true; }; "labelFrom": { "alias": "labelFrom"; "required": false; "isSignal": true; }; "disabledFrom": { "alias": "disabledFrom"; "required": false; "isSignal": true; }; "groupLabelFrom": { "alias": "groupLabelFrom"; "required": false; "isSignal": true; }; "groupDisabledFrom": { "alias": "groupDisabledFrom"; "required": false; "isSignal": true; }; "childrenFrom": { "alias": "childrenFrom"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; "isSignal": true; }; "clearButtonTitle": { "alias": "clearButtonTitle"; "required": false; "isSignal": true; }; "dropdownPosition": { "alias": "dropdownPosition"; "required": false; "isSignal": true; }; "noItemsFoundText": { "alias": "noItemsFoundText"; "required": false; "isSignal": true; }; "addCustomOptionText": { "alias": "addCustomOptionText"; "required": false; "isSignal": true; }; "loadingPlaceholderText": { "alias": "loadingPlaceholderText"; "required": false; "isSignal": true; }; "searchInputId": { "alias": "searchInputId"; "required": false; "isSignal": true; }; "inputAttrs": { "alias": "inputAttrs"; "required": false; "isSignal": true; }; "isLoading": { "alias": "isLoading"; "required": false; "isSignal": true; }; "_deferValueWrites": { "alias": "deferValueWrites"; "required": false; "isSignal": true; }; "itemsAlreadyGrouped": { "alias": "itemsAlreadyGrouped"; "required": false; "isSignal": true; }; "invertDisabled": { "alias": "invertDisabled"; "required": false; "isSignal": true; }; "noGroupActions": { "alias": "noGroupActions"; "required": false; "isSignal": true; }; "autoHighlightFirst": { "alias": "autoHighlightFirst"; "required": false; "isSignal": true; }; "autoFocus": { "alias": "autoFocus"; "required": false; "isSignal": true; }; "keepOpen": { "alias": "keepOpen"; "required": false; "isSignal": true; }; "hideSelected": { "alias": "hideSelected"; "required": false; "isSignal": true; }; "noBackspaceClear": { "alias": "noBackspaceClear"; "required": false; "isSignal": true; }; "searchCaseSensitive": { "alias": "searchCaseSensitive"; "required": false; "isSignal": true; }; "keepSearchAfterSelect": { "alias": "keepSearchAfterSelect"; "required": false; "isSignal": true; }; "maxSelectedItems": { "alias": "maxSelectedItems"; "required": false; "isSignal": true; }; "itemDisplayLimit": { "alias": "itemDisplayLimit"; "required": false; "isSignal": true; }; "searchFn": { "alias": "searchFn"; "required": false; "isSignal": true; }; "compareWith": { "alias": "compareWith"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "compact": { "alias": "compact"; "required": false; "isSignal": true; }; "dropdownAppearance": { "alias": "dropdownAppearance"; "required": false; "isSignal": true; }; "dropdownVariant": { "alias": "dropdownVariant"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": false; }; "multiselectable": { "alias": "multiselectable"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "searchable": { "alias": "searchable"; "required": false; "isSignal": true; }; "addCustom": { "alias": "addCustom"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; }; "isOpen": { "alias": "isOpen"; "required": false; "isSignal": true; }; "dropdownPanelWidth": { "alias": "dropdownPanelWidth"; "required": false; "isSignal": true; }; "dropdownPanelHeight": { "alias": "dropdownPanelHeight"; "required": false; "isSignal": true; }; "dropdownPanelMinWidth": { "alias": "dropdownPanelMinWidth"; "required": false; "isSignal": true; }; "dropdownPanelMinHeight": { "alias": "dropdownPanelMinHeight"; "required": false; "isSignal": true; }; "dropdownPanelMaxWidth": { "alias": "dropdownPanelMaxWidth"; "required": false; "isSignal": true; }; "dropdownPanelMaxHeight": { "alias": "dropdownPanelMaxHeight"; "required": false; "isSignal": true; }; }, { "searchTerm": "searchTermChange"; "valueChange": "valueChange"; "addEvent": "add"; "failedToAddEvent": "failedToAdd"; "removeEvent": "remove"; "clearEvent": "clear"; "openEvent": "open"; "closeEvent": "close"; "scrollEvent": "scroll"; "scrollToEndEvent": "scrollToEnd"; "isOpen": "isOpenChange"; }, ["optionTemplate", "optgroupTemplate", "valueTemplate", "placeholderTemplate", "dropdownArrowTemplate", "loadingSpinnerTemplate", "loadingPlaceholderTemplate", "dropdownHeaderTemplate", "dropdownFooterTemplate", "noItemsFoundTemplate", "addCustomTemplate", "itemLimitReachedTemplate", "itemDisplayLimitTemplate", "prefixTemplate", "suffixTemplate", "optionComponents"], never, false, never>;
203
209
  }
@@ -1,7 +1,7 @@
1
1
  import { InjectionToken, Provider } from '@angular/core';
2
2
  import { _FormFieldComponentDefaults } from '../_internal/form-field-component';
3
3
  import { DropdownPanelAppearance, DropdownPanelVariant } from '../dropdown-panel';
4
- import { ArdPanelPosition, GroupByFn, SearchFn } from '../types/item-storage.types';
4
+ import { ArdPanelPosition, CompareWithFn, GroupByFn, SearchFn } from '../types/item-storage.types';
5
5
  import { Nullable } from '../types/utility.types';
6
6
  import { FormElementAppearance, FormElementVariant } from './../types/theming.types';
7
7
  import { AddCustomFn } from './select.types';
@@ -17,9 +17,11 @@ export interface ArdSelectDefaults extends _FormFieldComponentDefaults {
17
17
  clearButtonTitle: string;
18
18
  dropdownPosition: ArdPanelPosition;
19
19
  noItemsFoundText: string;
20
+ addCustomOptionText: string;
20
21
  loadingPlaceholderText: string;
21
22
  inputAttrs: Record<string, any>;
22
23
  isLoading: boolean;
24
+ deferValueWrites: boolean | null;
23
25
  itemsAlreadyGrouped: boolean;
24
26
  invertDisabled: boolean;
25
27
  noGroupActions: boolean;
@@ -34,7 +36,7 @@ export interface ArdSelectDefaults extends _FormFieldComponentDefaults {
34
36
  maxSelectedItems: number;
35
37
  itemDisplayLimit: number;
36
38
  searchFn: SearchFn;
37
- compareWith: Nullable<SearchFn>;
39
+ compareWith: Nullable<CompareWithFn>;
38
40
  appearance: FormElementAppearance;
39
41
  variant: FormElementVariant;
40
42
  compact: boolean;
@@ -44,6 +44,12 @@ export declare class ArdSelectPlaceholderTemplateDirective {
44
44
  static ɵfac: i0.ɵɵFactoryDeclaration<ArdSelectPlaceholderTemplateDirective, never>;
45
45
  static ɵdir: i0.ɵɵDirectiveDeclaration<ArdSelectPlaceholderTemplateDirective, "ard-select > ng-template[ard-placeholder-tmp]", never, {}, {}, never, never, false, never>;
46
46
  }
47
+ export declare class ArdSelectDropdownArrowTemplateDirective {
48
+ template: TemplateRef<null>;
49
+ constructor(template: TemplateRef<null>);
50
+ static ɵfac: i0.ɵɵFactoryDeclaration<ArdSelectDropdownArrowTemplateDirective, never>;
51
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ArdSelectDropdownArrowTemplateDirective, "ard-select > ng-template[ard-dropdown-arrow-tmp]", never, {}, {}, never, never, false, never>;
52
+ }
47
53
  export declare class ArdLoadingSpinnerTemplateDirective {
48
54
  template: TemplateRef<null>;
49
55
  constructor(template: TemplateRef<null>);
@@ -9,6 +9,6 @@ import * as i7 from "@ardium-ui/devkit";
9
9
  import * as i8 from "../_internal/clear-button/clear-button.module";
10
10
  export declare class ArdiumSelectModule {
11
11
  static ɵfac: i0.ɵɵFactoryDeclaration<ArdiumSelectModule, never>;
12
- static ɵmod: i0.ɵɵNgModuleDeclaration<ArdiumSelectModule, [typeof i1.ArdiumSelectComponent, typeof i2.ArdOptionTemplateDirective, typeof i2.ArdOptgroupTemplateDirective, typeof i2.ArdValueTemplateDirective, typeof i2.ArdSelectPlaceholderTemplateDirective, typeof i2.ArdLoadingSpinnerTemplateDirective, typeof i2.ArdLoadingPlaceholderTemplateDirective, typeof i2.ArdDropdownHeaderTemplateDirective, typeof i2.ArdDropdownFooterTemplateDirective, typeof i2.ArdNoItemsFoundTemplateDirective, typeof i2.ArdValueChipTemplateDirective, typeof i2.ArdItemLimitReachedTemplateDirective, typeof i2.ArdItemDisplayLimitTemplateDirective, typeof i2.ArdAddCustomTemplateDirective, typeof i2.ArdSelectPrefixTemplateDirective, typeof i2.ArdSelectSuffixTemplateDirective], [typeof i3.CommonModule, typeof i4.ArdiumFormFieldFrameModule, typeof i5.ArdiumDropdownPanelModule, typeof i6.ArdiumChipModule, typeof i7.ArdiumClickOutsideModule, typeof i8._ClearButtonModule, typeof i7.ArdiumEscapeHTMLModule], [typeof i1.ArdiumSelectComponent, typeof i2.ArdOptionTemplateDirective, typeof i2.ArdOptgroupTemplateDirective, typeof i2.ArdValueTemplateDirective, typeof i2.ArdSelectPlaceholderTemplateDirective, typeof i2.ArdLoadingSpinnerTemplateDirective, typeof i2.ArdLoadingPlaceholderTemplateDirective, typeof i2.ArdDropdownHeaderTemplateDirective, typeof i2.ArdDropdownFooterTemplateDirective, typeof i2.ArdNoItemsFoundTemplateDirective, typeof i2.ArdValueChipTemplateDirective, typeof i2.ArdItemLimitReachedTemplateDirective, typeof i2.ArdItemDisplayLimitTemplateDirective, typeof i2.ArdAddCustomTemplateDirective, typeof i2.ArdSelectPrefixTemplateDirective, typeof i2.ArdSelectSuffixTemplateDirective]>;
12
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ArdiumSelectModule, [typeof i1.ArdiumSelectComponent, typeof i2.ArdOptionTemplateDirective, typeof i2.ArdOptgroupTemplateDirective, typeof i2.ArdValueTemplateDirective, typeof i2.ArdSelectPlaceholderTemplateDirective, typeof i2.ArdLoadingSpinnerTemplateDirective, typeof i2.ArdLoadingPlaceholderTemplateDirective, typeof i2.ArdDropdownHeaderTemplateDirective, typeof i2.ArdDropdownFooterTemplateDirective, typeof i2.ArdNoItemsFoundTemplateDirective, typeof i2.ArdValueChipTemplateDirective, typeof i2.ArdItemLimitReachedTemplateDirective, typeof i2.ArdItemDisplayLimitTemplateDirective, typeof i2.ArdAddCustomTemplateDirective, typeof i2.ArdSelectPrefixTemplateDirective, typeof i2.ArdSelectSuffixTemplateDirective, typeof i2.ArdSelectDropdownArrowTemplateDirective], [typeof i3.CommonModule, typeof i4.ArdiumFormFieldFrameModule, typeof i5.ArdiumDropdownPanelModule, typeof i6.ArdiumChipModule, typeof i7.ArdiumClickOutsideModule, typeof i8._ClearButtonModule, typeof i7.ArdiumEscapeHTMLModule], [typeof i1.ArdiumSelectComponent, typeof i2.ArdOptionTemplateDirective, typeof i2.ArdOptgroupTemplateDirective, typeof i2.ArdValueTemplateDirective, typeof i2.ArdSelectPlaceholderTemplateDirective, typeof i2.ArdLoadingSpinnerTemplateDirective, typeof i2.ArdLoadingPlaceholderTemplateDirective, typeof i2.ArdDropdownHeaderTemplateDirective, typeof i2.ArdDropdownFooterTemplateDirective, typeof i2.ArdNoItemsFoundTemplateDirective, typeof i2.ArdValueChipTemplateDirective, typeof i2.ArdItemLimitReachedTemplateDirective, typeof i2.ArdItemDisplayLimitTemplateDirective, typeof i2.ArdAddCustomTemplateDirective, typeof i2.ArdSelectPrefixTemplateDirective, typeof i2.ArdSelectSuffixTemplateDirective, typeof i2.ArdSelectDropdownArrowTemplateDirective]>;
13
13
  static ɵinj: i0.ɵɵInjectorDeclaration<ArdiumSelectModule>;
14
14
  }
@@ -2,6 +2,8 @@ import { ArdOption, ArdOptionGroup, OptionContext } from '../types/item-storage.
2
2
  export type AddCustomFn<T> = (value: string) => T;
3
3
  export interface ValueContext extends OptionContext<ArdOption> {
4
4
  unselect: () => void;
5
+ itemsSelectedCount: number;
6
+ totalItemsCount: number;
5
7
  }
6
8
  export interface PlaceholderContext {
7
9
  placeholder: string;
@@ -22,8 +24,10 @@ export interface CustomOptionContext {
22
24
  export interface GroupContext {
23
25
  $implicit: ArdOptionGroup;
24
26
  group: ArdOptionGroup;
25
- selectedChildren: number;
26
- totalChildren: number;
27
+ label: string;
28
+ disabled: boolean;
29
+ selectedChildrenCount: number;
30
+ totalChildrenCount: number;
27
31
  }
28
32
  export interface ItemLimitContext {
29
33
  totalItems: number;
@@ -7,6 +7,8 @@ import * as i0 from "@angular/core";
7
7
  export declare class ArdiumSlideToggleComponent extends _BooleanComponentBase {
8
8
  protected readonly _DEFAULTS: ArdSlideToggleDefaults;
9
9
  constructor(defaults: ArdSlideToggleDefaults);
10
+ protected readonly _componentId = "101";
11
+ protected readonly _componentName = "slide-toggle";
10
12
  readonly wrapperClass: import("@angular/core").InputSignal<Nullable<string>>;
11
13
  readonly color: import("@angular/core").InputSignal<ComponentColor>;
12
14
  readonly appearance: import("@angular/core").InputSignal<ArdSlideToggleAppearance>;
@@ -1,15 +1,16 @@
1
1
  import { Overlay, ScrollStrategyOptions } from '@angular/cdk/overlay';
2
- import { ElementRef, Renderer2, ViewContainerRef } from '@angular/core';
2
+ import { ElementRef, Renderer2, Signal, ViewContainerRef, WritableSignal } from '@angular/core';
3
+ import { BooleanLike, NumberLike } from '@ardium-ui/devkit';
3
4
  import { _NgModelComponentBase, _NgModelComponentDefaults } from '../_internal/ngmodel-component';
4
5
  import { SimpleComponentColor } from '../types/colors.types';
5
- import { Nullable } from '../types/utility.types';
6
+ import { ArdRangeSelectionBehavior } from './range-slider/range-slider.types';
6
7
  import { ArdSliderTooltipDirective } from './slider.directive';
7
8
  import { SliderDecorationPosition, SliderLabelObject, SliderTooltipBehavior, SliderTooltipFormatFn, _InternalSliderLabelObject } from './slider.types';
8
9
  import * as i0 from "@angular/core";
9
10
  export interface _AsbtractSliderDefaults extends _NgModelComponentDefaults {
10
11
  noTooltip: boolean;
11
12
  showValueTicks: boolean;
12
- formatTooltipFn: Nullable<SliderTooltipFormatFn>;
13
+ formatTooltipFn: SliderTooltipFormatFn;
13
14
  min: number;
14
15
  max: number;
15
16
  step: number;
@@ -20,60 +21,69 @@ export interface _AsbtractSliderDefaults extends _NgModelComponentDefaults {
20
21
  compact: boolean;
21
22
  tooltipPosition: SliderDecorationPosition;
22
23
  tooltipBehavior: SliderTooltipBehavior;
24
+ selectionBehavior: ArdRangeSelectionBehavior;
25
+ minimumDistance: number;
26
+ emitTouchedOnEveryChange: boolean;
23
27
  }
24
28
  export declare const _asbtractSliderDefaults: _AsbtractSliderDefaults;
25
29
  export declare abstract class _AbstractSlider<T> extends _NgModelComponentBase {
26
30
  abstract readonly componentId: string;
27
31
  abstract readonly componentName: string;
28
32
  protected readonly _DEFAULTS: _AsbtractSliderDefaults;
29
- readonly elementRef: import("@angular/core").Signal<ElementRef<HTMLElement> | undefined>;
33
+ readonly elementRef: Signal<ElementRef<HTMLElement> | undefined>;
30
34
  protected readonly document: Document;
31
35
  protected readonly renderer: Renderer2;
32
36
  protected readonly overlay: Overlay;
33
37
  protected readonly scrollStrategyOpts: ScrollStrategyOptions;
34
38
  protected readonly viewContainerRef: ViewContainerRef;
35
- readonly noTooltip: import("@angular/core").InputSignalWithTransform<boolean, any>;
36
- readonly tooltipFormatFn: import("@angular/core").InputSignal<Nullable<SliderTooltipFormatFn>>;
37
- protected abstract _updateTooltipValue(): void;
38
- readonly min: import("@angular/core").InputSignalWithTransform<number, any>;
39
- readonly max: import("@angular/core").InputSignalWithTransform<number, any>;
40
- readonly step: import("@angular/core").InputSignalWithTransform<number, any>;
41
- readonly shiftMultiplier: import("@angular/core").InputSignalWithTransform<number, any>;
42
- protected readonly _stepSizeComputed: import("@angular/core").Signal<number>;
43
- readonly showValueTicks: import("@angular/core").InputSignalWithTransform<boolean, any>;
44
- readonly percentStepSize: import("@angular/core").Signal<number>;
45
- protected readonly _tickArray: import("@angular/core").Signal<string[]>;
39
+ readonly min: import("@angular/core").InputSignalWithTransform<number, NumberLike>;
40
+ readonly max: import("@angular/core").InputSignalWithTransform<number, NumberLike>;
41
+ readonly step: import("@angular/core").InputSignalWithTransform<number, NumberLike>;
42
+ readonly minMaxStepValueCleanup: import("@angular/core").EffectRef;
43
+ readonly minMaxErrorCheck: import("@angular/core").EffectRef;
44
+ readonly shiftMultiplier: import("@angular/core").InputSignalWithTransform<number, NumberLike>;
45
+ protected readonly _stepSizeComputed: Signal<number>;
46
+ readonly showValueTicks: import("@angular/core").InputSignalWithTransform<boolean, BooleanLike>;
47
+ protected readonly _tickArray: Signal<string[]>;
48
+ private _transformLabelInput;
46
49
  readonly labelPosition: import("@angular/core").InputSignal<SliderDecorationPosition>;
47
- readonly labels: import("@angular/core").InputSignal<number[] | SliderLabelObject[] | null>;
48
- readonly labelObjects: import("@angular/core").Signal<_InternalSliderLabelObject[]>;
50
+ readonly labels: import("@angular/core").InputSignalWithTransform<SliderLabelObject[], string | number[] | SliderLabelObject[] | null | undefined>;
51
+ readonly labelObjects: Signal<_InternalSliderLabelObject[]>;
49
52
  readonly color: import("@angular/core").InputSignal<SimpleComponentColor>;
50
- readonly compact: import("@angular/core").InputSignalWithTransform<boolean, any>;
51
- readonly ngClasses: import("@angular/core").Signal<string>;
52
- readonly sliderTransition: import("@angular/core").Signal<string>;
53
+ readonly compact: import("@angular/core").InputSignalWithTransform<boolean, BooleanLike>;
54
+ readonly ngClasses: Signal<string>;
55
+ readonly sliderTransition: Signal<string>;
53
56
  private readonly _totalSteps;
54
- protected abstract _value: T;
57
+ protected abstract readonly _value: WritableSignal<T>;
55
58
  set value(newValue: T);
56
59
  get value(): T;
57
60
  readonly valueChange: import("@angular/core").OutputEmitterRef<T>;
58
61
  abstract writeValue(v: any): void;
62
+ abstract cleanupValueAfterMinMaxStepChange(): void;
59
63
  abstract reset(): void;
60
64
  protected _offset(offset: number, hasShift: boolean, handleId?: number): void;
65
+ protected _decrement(event: KeyboardEvent, forceShift?: boolean): void;
66
+ protected _increment(event: KeyboardEvent, forceShift?: boolean): void;
61
67
  protected _clampValue(v: number): number;
62
68
  protected _valueToPercent(v: number): number;
63
69
  protected _emitChange(): void;
64
- readonly tooltipTemplate: import("@angular/core").Signal<ArdSliderTooltipDirective | undefined>;
70
+ readonly noTooltip: import("@angular/core").InputSignalWithTransform<boolean, BooleanLike>;
71
+ readonly tooltipFormatFn: import("@angular/core").InputSignal<SliderTooltipFormatFn>;
72
+ readonly tooltipTemplate: Signal<ArdSliderTooltipDirective | undefined>;
65
73
  readonly tooltipPosition: import("@angular/core").InputSignal<SliderDecorationPosition>;
66
74
  readonly tooltipBehavior: import("@angular/core").InputSignal<SliderTooltipBehavior>;
67
- protected readonly _grabbedHandleId: import("@angular/core").WritableSignal<number | null>;
75
+ protected readonly _grabbedHandleId: WritableSignal<number | null>;
68
76
  protected _shouldCheckForMovement: boolean;
69
77
  protected _bodyHasClass: boolean;
70
- readonly isSliderHandleGrabbed: import("@angular/core").Signal<boolean>;
78
+ readonly emitTouchedOnEveryChange: import("@angular/core").InputSignalWithTransform<boolean, BooleanLike>;
79
+ readonly isSliderHandleGrabbed: Signal<boolean>;
80
+ readonly grabbedHandleEffect: import("@angular/core").EffectRef;
71
81
  abstract onTrackHitboxPointerDown(event: MouseEvent | TouchEvent): void;
72
82
  onPointerDownOnHandle(event: MouseEvent | TouchEvent, handleId?: number): void;
73
83
  abstract onPointerMove(event: MouseEvent | TouchEvent): void;
74
84
  onPointerUp(): void;
75
- protected _positionPercent: [number] | [number, number];
76
- getHandlePosition(handleId?: number): string;
85
+ protected abstract readonly _handlePositions: Signal<[number, number]>;
86
+ readonly handlePositionsPercent: Signal<[string, string]>;
77
87
  protected _setValueFromPercent(percent: number, handleId?: number | null): void;
78
88
  protected _writeValueFromEvent(event: MouseEvent | TouchEvent, handleId?: number | null): void;
79
89
  protected abstract _percentValueToValue(percent: number, handleId?: number): T;
@@ -81,8 +91,6 @@ export declare abstract class _AbstractSlider<T> extends _NgModelComponentBase {
81
91
  protected _clampPercentValue(percent: number): number;
82
92
  protected _getPercentValueFromEvent(event: MouseEvent | TouchEvent): number;
83
93
  onKeyPress(event: KeyboardEvent): void;
84
- protected _decrement(event: KeyboardEvent, steps?: number): void;
85
- protected _increment(event: KeyboardEvent, steps?: number): void;
86
94
  static ɵfac: i0.ɵɵFactoryDeclaration<_AbstractSlider<any>, never>;
87
- static ɵdir: i0.ɵɵDirectiveDeclaration<_AbstractSlider<any>, never, never, { "noTooltip": { "alias": "noTooltip"; "required": false; "isSignal": true; }; "tooltipFormatFn": { "alias": "tooltipFormatFn"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "shiftMultiplier": { "alias": "shiftMultiplier"; "required": false; "isSignal": true; }; "showValueTicks": { "alias": "showValueTicks"; "required": false; "isSignal": true; }; "labelPosition": { "alias": "labelPosition"; "required": false; "isSignal": true; }; "labels": { "alias": "labels"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "compact": { "alias": "compact"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; }; "tooltipPosition": { "alias": "tooltipPosition"; "required": false; "isSignal": true; }; "tooltipBehavior": { "alias": "tooltipBehavior"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; }, ["tooltipTemplate"], never, true, never>;
95
+ static ɵdir: i0.ɵɵDirectiveDeclaration<_AbstractSlider<any>, never, never, { "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "shiftMultiplier": { "alias": "shiftMultiplier"; "required": false; "isSignal": true; }; "showValueTicks": { "alias": "showValueTicks"; "required": false; "isSignal": true; }; "labelPosition": { "alias": "labelPosition"; "required": false; "isSignal": true; }; "labels": { "alias": "labels"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "compact": { "alias": "compact"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; }; "noTooltip": { "alias": "noTooltip"; "required": false; "isSignal": true; }; "tooltipFormatFn": { "alias": "tooltipFormatFn"; "required": false; "isSignal": true; }; "tooltipPosition": { "alias": "tooltipPosition"; "required": false; "isSignal": true; }; "tooltipBehavior": { "alias": "tooltipBehavior"; "required": false; "isSignal": true; }; "emitTouchedOnEveryChange": { "alias": "emitTouchedOnEveryChange"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; }, ["tooltipTemplate"], never, true, never>;
88
96
  }
@@ -1,5 +1,6 @@
1
1
  export * from './range-slider/range-slider.component';
2
2
  export * from './range-slider/range-slider.module';
3
+ export * from './range-slider/range-slider.types';
3
4
  export * from './slider.component';
4
5
  export * from './slider.defaults';
5
6
  export * from './slider.directive';
@@ -1,34 +1,37 @@
1
1
  import { OnInit } from '@angular/core';
2
+ import { NumberLike } from '@ardium-ui/devkit';
2
3
  import { _AbstractSlider } from '../abstract-slider';
3
4
  import { ArdSliderDefaults } from '../slider.defaults';
4
5
  import { SliderRange, SliderTooltipContext } from '../slider.types';
6
+ import { ArdRangeSelectionBehavior } from './range-slider.types';
5
7
  import * as i0 from "@angular/core";
6
8
  export declare class ArdiumRangeSliderComponent extends _AbstractSlider<SliderRange> implements OnInit {
7
9
  readonly componentId = "106";
8
10
  readonly componentName = "range-slider";
9
11
  protected readonly _DEFAULTS: ArdSliderDefaults;
10
12
  constructor(defaults: ArdSliderDefaults);
11
- protected _value: SliderRange;
12
- ngOnInit(): void;
13
+ protected readonly _value: import("@angular/core").WritableSignal<SliderRange<number>>;
13
14
  private _isValidObject;
14
15
  private _isValidTuple;
15
- private _arrayValueToObjectValue;
16
16
  private _normalizeSliderRange;
17
17
  writeValue(v: any): void;
18
18
  get value(): SliderRange;
19
19
  set value(v: any);
20
- _tooltipValue: SliderRange<string | number>;
21
- protected _updateTooltipValue(): void;
22
- getTooltipContext(type: 'low' | 'high'): SliderTooltipContext;
20
+ cleanupValueAfterMinMaxStepChange(): void;
21
+ readonly selectionBehavior: import("@angular/core").InputSignal<ArdRangeSelectionBehavior>;
22
+ readonly minimumDistance: import("@angular/core").InputSignalWithTransform<number, NumberLike>;
23
+ protected readonly _tooltipValue: import("@angular/core").Signal<SliderRange<string>>;
24
+ readonly tooltipContexts: import("@angular/core").Signal<SliderRange<SliderTooltipContext>>;
23
25
  reset(): void;
24
- get trackOverlayLeft(): string;
25
- get trackOverlayWidth(): string;
26
+ readonly trackOverlayLeft: import("@angular/core").Signal<string>;
27
+ readonly trackOverlayWidth: import("@angular/core").Signal<string>;
26
28
  onTrackHitboxPointerDown(event: MouseEvent | TouchEvent): void;
27
29
  onPointerMove(event: MouseEvent | TouchEvent): void;
28
30
  protected _percentValueToValue(percent: number, handleId: number): SliderRange;
31
+ protected readonly _handlePositions: import("@angular/core").Signal<[number, number]>;
29
32
  readonly currentHandle: import("@angular/core").WritableSignal<1 | 2 | null>;
30
33
  onHandleFocus(event: FocusEvent, handleId: 1 | 2): void;
31
34
  onBlur(event: FocusEvent): void;
32
35
  static ɵfac: i0.ɵɵFactoryDeclaration<ArdiumRangeSliderComponent, never>;
33
- static ɵcmp: i0.ɵɵComponentDeclaration<ArdiumRangeSliderComponent, "ard-range-slider", never, {}, {}, never, never, false, never>;
36
+ static ɵcmp: i0.ɵɵComponentDeclaration<ArdiumRangeSliderComponent, "ard-range-slider", never, { "selectionBehavior": { "alias": "selectionBehavior"; "required": false; "isSignal": true; }; "minimumDistance": { "alias": "minimumDistance"; "required": false; "isSignal": true; }; }, {}, never, never, false, never>;
34
37
  }
@@ -0,0 +1,6 @@
1
+ export declare const ArdRangeSelectionBehavior: {
2
+ readonly Push: "push";
3
+ readonly Allow: "allow";
4
+ readonly Block: "block";
5
+ };
6
+ export type ArdRangeSelectionBehavior = typeof ArdRangeSelectionBehavior[keyof typeof ArdRangeSelectionBehavior];
@@ -7,17 +7,18 @@ export declare class ArdiumSliderComponent extends _AbstractSlider<number> {
7
7
  readonly componentName = "slider";
8
8
  protected readonly _DEFAULTS: ArdSliderDefaults;
9
9
  constructor(defaults: ArdSliderDefaults);
10
- protected _value: number;
11
- _tooltipValue: string;
12
- protected _updateTooltipValue(): void;
13
- getTooltipContext(): SliderTooltipContext;
10
+ protected readonly _value: import("@angular/core").WritableSignal<number>;
11
+ protected readonly _tooltipValue: import("@angular/core").Signal<string>;
12
+ readonly tooltipContext: import("@angular/core").Signal<SliderTooltipContext>;
14
13
  writeValue(v: any): void;
14
+ cleanupValueAfterMinMaxStepChange(): void;
15
15
  reset(): void;
16
16
  increment(steps?: number): void;
17
17
  decrement(steps?: number): void;
18
18
  onTrackHitboxPointerDown(event: MouseEvent | TouchEvent): void;
19
19
  onPointerMove(event: MouseEvent | TouchEvent): void;
20
20
  protected _percentValueToValue(percent: number): number;
21
+ protected readonly _handlePositions: import("@angular/core").Signal<[number, number]>;
21
22
  static ɵfac: i0.ɵɵFactoryDeclaration<ArdiumSliderComponent, never>;
22
23
  static ɵcmp: i0.ɵɵComponentDeclaration<ArdiumSliderComponent, "ard-slider", never, {}, {}, never, never, false, never>;
23
24
  }
@@ -15,14 +15,14 @@ export declare const SliderDecorationPosition: {
15
15
  export type SliderDecorationPosition = (typeof SliderDecorationPosition)[keyof typeof SliderDecorationPosition];
16
16
  export interface SliderLabelObject {
17
17
  label: string | number;
18
- for: number;
18
+ value: number;
19
19
  }
20
20
  export interface _InternalSliderLabelObject {
21
21
  label: string;
22
22
  positionPercent: string;
23
23
  }
24
24
  export interface SliderRange<T = number> {
25
- low: T;
26
- high: T;
25
+ from: T;
26
+ to: T;
27
27
  }
28
28
  export type SliderTooltipFormatFn = (value: number) => string | number;
@@ -1,9 +1,9 @@
1
+ import { OverlayRef } from '@angular/cdk/overlay';
1
2
  import { ComponentType } from '@angular/cdk/portal';
2
3
  import { InjectionToken } from '@angular/core';
3
4
  import { BehaviorSubject, Subject } from 'rxjs';
4
- import { ArdSnackbarData, ArdSnackbarOptions, ArdSnackbarType } from './snackbar.types';
5
- import { OverlayRef } from '@angular/cdk/overlay';
6
5
  import { ComponentColor } from '../types/colors.types';
6
+ import { ArdSnackbarData, ArdSnackbarOptions, ArdSnackbarType } from './snackbar.types';
7
7
  export declare const ARD_SNACKBAR_DATA: InjectionToken<ArdSnackbarData>;
8
8
  export declare const ARD_SNACKBAR_COLOR: InjectionToken<ComponentColor>;
9
9
  export declare const ARD_SNACKBAR_TYPE: InjectionToken<ArdSnackbarType>;
@@ -17,20 +17,53 @@ export declare class _ArdSnackbarRefInternal<T> {
17
17
  private readonly _onOpen;
18
18
  private readonly _onCloseStart;
19
19
  markAsOpened(): void;
20
- markAsStartingToClose(): void;
20
+ markAsStartingToClose(withAction?: boolean): void;
21
21
  }
22
+ /**
23
+ * Reference to an opened snackbar.
24
+ * Provides methods for closing the snackbar programmatically, and observables for subscribing to open, close, and action events.
25
+ */
22
26
  export declare class ArdSnackbarRef<T = unknown> {
23
27
  private readonly dismiss;
24
28
  private readonly _onOpen;
25
29
  private readonly _onCloseStart;
26
30
  constructor(dismiss: (withAction?: boolean) => void, _onOpen: Subject<void>, _onCloseStart: BehaviorSubject<boolean>);
27
31
  private readonly _onClose;
32
+ private readonly _onAction;
33
+ /**
34
+ * Observable that emits when the snackbar is opened. Completes after emitting the first value.
35
+ */
28
36
  readonly onOpen: import("rxjs").Observable<void>;
37
+ /**
38
+ * Observable that emits when the snackbar is closed and all animations have finished. Emits a boolean value indicating whether the snackbar was closed as a result of the user clicking the action button (true) or not (false). Completes after emitting the first value.
39
+ */
29
40
  readonly onClose: import("rxjs").Observable<boolean>;
41
+ /**
42
+ * Observable that emits when the snackbar action is triggered, before the snackbar starts closing. Completes when the snackbar is closed, regardless of whether any value was emitted.
43
+ */
44
+ readonly onAction: import("rxjs").Observable<void>;
45
+ /**
46
+ * Observable that emits when the snackbar starts the closing process. Emits a boolean value indicating whether the closing was triggered by the user clicking the action button (true) or not (false). Completes after emitting the first value.
47
+ */
30
48
  readonly onCloseStart: import("rxjs").Observable<boolean>;
31
- instance: T;
49
+ /**
50
+ * The instance of the component rendered inside the snackbar.
51
+ */
52
+ readonly instance: T;
53
+ /**
54
+ * Closes the snackbar, optionally indicating that the action was triggered.
55
+ * @param withAction A boolean value indicating whether the snackbar is being closed as a result of the user clicking the action button (true) or not (false).
56
+ */
32
57
  close(withAction?: boolean): void;
58
+ /**
59
+ * Marks the snackbar as closed after the closing animation has finished.
60
+ * @param withAction
61
+ * @returns
62
+ */
33
63
  markAsClosed(withAction?: boolean): void;
34
64
  private _isClosed;
65
+ /**
66
+ * Indicates whether the snackbar has been closed and the closing animation has finished.
67
+ */
35
68
  get isClosed(): boolean;
36
69
  }