@radix-ng/primitives 0.43.0 → 0.44.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (453) hide show
  1. package/accordion/index.d.ts +160 -15
  2. package/alert-dialog/index.d.ts +54 -14
  3. package/arrow/README.md +1 -0
  4. package/arrow/index.d.ts +11 -0
  5. package/aspect-ratio/index.d.ts +35 -1
  6. package/avatar/index.d.ts +81 -11
  7. package/calendar/index.d.ts +310 -29
  8. package/checkbox/index.d.ts +163 -15
  9. package/collapsible/index.d.ts +82 -11
  10. package/config/index.d.ts +35 -2
  11. package/context-menu/index.d.ts +126 -23
  12. package/core/index.d.ts +898 -27
  13. package/cropper/index.d.ts +134 -14
  14. package/date-field/index.d.ts +209 -10
  15. package/dialog/index.d.ts +202 -20
  16. package/dismissable-layer/README.md +1 -0
  17. package/dismissable-layer/index.d.ts +126 -0
  18. package/dropdown-menu/index.d.ts +168 -23
  19. package/editable/index.d.ts +70 -1
  20. package/fesm2022/radix-ng-primitives-accordion.mjs +36 -36
  21. package/fesm2022/radix-ng-primitives-accordion.mjs.map +1 -1
  22. package/fesm2022/radix-ng-primitives-alert-dialog.mjs +28 -28
  23. package/fesm2022/radix-ng-primitives-alert-dialog.mjs.map +1 -1
  24. package/fesm2022/radix-ng-primitives-arrow.mjs +38 -0
  25. package/fesm2022/radix-ng-primitives-arrow.mjs.map +1 -0
  26. package/fesm2022/radix-ng-primitives-aspect-ratio.mjs +5 -5
  27. package/fesm2022/radix-ng-primitives-aspect-ratio.mjs.map +1 -1
  28. package/fesm2022/radix-ng-primitives-avatar.mjs +20 -20
  29. package/fesm2022/radix-ng-primitives-avatar.mjs.map +1 -1
  30. package/fesm2022/radix-ng-primitives-calendar.mjs +110 -95
  31. package/fesm2022/radix-ng-primitives-calendar.mjs.map +1 -1
  32. package/fesm2022/radix-ng-primitives-checkbox.mjs +219 -209
  33. package/fesm2022/radix-ng-primitives-checkbox.mjs.map +1 -1
  34. package/fesm2022/radix-ng-primitives-collapsible.mjs +27 -27
  35. package/fesm2022/radix-ng-primitives-collapsible.mjs.map +1 -1
  36. package/fesm2022/radix-ng-primitives-config.mjs +5 -5
  37. package/fesm2022/radix-ng-primitives-config.mjs.map +1 -1
  38. package/fesm2022/radix-ng-primitives-context-menu.mjs +34 -34
  39. package/fesm2022/radix-ng-primitives-context-menu.mjs.map +1 -1
  40. package/fesm2022/radix-ng-primitives-core.mjs +72 -24
  41. package/fesm2022/radix-ng-primitives-core.mjs.map +1 -1
  42. package/fesm2022/radix-ng-primitives-cropper.mjs +51 -51
  43. package/fesm2022/radix-ng-primitives-cropper.mjs.map +1 -1
  44. package/fesm2022/radix-ng-primitives-date-field.mjs +48 -48
  45. package/fesm2022/radix-ng-primitives-date-field.mjs.map +1 -1
  46. package/fesm2022/radix-ng-primitives-dialog.mjs +33 -33
  47. package/fesm2022/radix-ng-primitives-dialog.mjs.map +1 -1
  48. package/fesm2022/radix-ng-primitives-dismissable-layer.mjs +418 -0
  49. package/fesm2022/radix-ng-primitives-dismissable-layer.mjs.map +1 -0
  50. package/fesm2022/radix-ng-primitives-dropdown-menu.mjs +37 -37
  51. package/fesm2022/radix-ng-primitives-dropdown-menu.mjs.map +1 -1
  52. package/fesm2022/radix-ng-primitives-editable.mjs +21 -21
  53. package/fesm2022/radix-ng-primitives-editable.mjs.map +1 -1
  54. package/fesm2022/radix-ng-primitives-focus-guards.mjs +7 -4
  55. package/fesm2022/radix-ng-primitives-focus-guards.mjs.map +1 -1
  56. package/fesm2022/radix-ng-primitives-focus-scope.mjs +17 -9
  57. package/fesm2022/radix-ng-primitives-focus-scope.mjs.map +1 -1
  58. package/fesm2022/radix-ng-primitives-hover-card.mjs +74 -74
  59. package/fesm2022/radix-ng-primitives-hover-card.mjs.map +1 -1
  60. package/fesm2022/radix-ng-primitives-label.mjs +8 -8
  61. package/fesm2022/radix-ng-primitives-label.mjs.map +1 -1
  62. package/fesm2022/radix-ng-primitives-menu.mjs +65 -65
  63. package/fesm2022/radix-ng-primitives-menu.mjs.map +1 -1
  64. package/fesm2022/radix-ng-primitives-menubar.mjs +31 -31
  65. package/fesm2022/radix-ng-primitives-menubar.mjs.map +1 -1
  66. package/fesm2022/radix-ng-primitives-navigation-menu.mjs +86 -86
  67. package/fesm2022/radix-ng-primitives-navigation-menu.mjs.map +1 -1
  68. package/fesm2022/radix-ng-primitives-number-field.mjs +56 -43
  69. package/fesm2022/radix-ng-primitives-number-field.mjs.map +1 -1
  70. package/fesm2022/radix-ng-primitives-pagination.mjs +45 -45
  71. package/fesm2022/radix-ng-primitives-pagination.mjs.map +1 -1
  72. package/fesm2022/radix-ng-primitives-popover.mjs +68 -68
  73. package/fesm2022/radix-ng-primitives-popover.mjs.map +1 -1
  74. package/fesm2022/radix-ng-primitives-popper.mjs +418 -0
  75. package/fesm2022/radix-ng-primitives-popper.mjs.map +1 -0
  76. package/fesm2022/radix-ng-primitives-portal.mjs +51 -0
  77. package/fesm2022/radix-ng-primitives-portal.mjs.map +1 -0
  78. package/fesm2022/radix-ng-primitives-presence.mjs +4 -4
  79. package/fesm2022/radix-ng-primitives-presence.mjs.map +1 -1
  80. package/fesm2022/radix-ng-primitives-progress.mjs +15 -15
  81. package/fesm2022/radix-ng-primitives-progress.mjs.map +1 -1
  82. package/fesm2022/radix-ng-primitives-radio.mjs +30 -30
  83. package/fesm2022/radix-ng-primitives-radio.mjs.map +1 -1
  84. package/fesm2022/radix-ng-primitives-roving-focus.mjs +179 -163
  85. package/fesm2022/radix-ng-primitives-roving-focus.mjs.map +1 -1
  86. package/fesm2022/radix-ng-primitives-select.mjs +37 -37
  87. package/fesm2022/radix-ng-primitives-select.mjs.map +1 -1
  88. package/fesm2022/radix-ng-primitives-separator.mjs +16 -14
  89. package/fesm2022/radix-ng-primitives-separator.mjs.map +1 -1
  90. package/fesm2022/radix-ng-primitives-slider.mjs +75 -75
  91. package/fesm2022/radix-ng-primitives-slider.mjs.map +1 -1
  92. package/fesm2022/radix-ng-primitives-stepper.mjs +45 -45
  93. package/fesm2022/radix-ng-primitives-stepper.mjs.map +1 -1
  94. package/fesm2022/radix-ng-primitives-switch.mjs +28 -28
  95. package/fesm2022/radix-ng-primitives-switch.mjs.map +1 -1
  96. package/fesm2022/radix-ng-primitives-tabs.mjs +33 -33
  97. package/fesm2022/radix-ng-primitives-tabs.mjs.map +1 -1
  98. package/fesm2022/radix-ng-primitives-time-field.mjs +78 -66
  99. package/fesm2022/radix-ng-primitives-time-field.mjs.map +1 -1
  100. package/fesm2022/radix-ng-primitives-toggle-group.mjs +22 -22
  101. package/fesm2022/radix-ng-primitives-toggle-group.mjs.map +1 -1
  102. package/fesm2022/radix-ng-primitives-toggle.mjs +9 -9
  103. package/fesm2022/radix-ng-primitives-toggle.mjs.map +1 -1
  104. package/fesm2022/radix-ng-primitives-toolbar.mjs +28 -28
  105. package/fesm2022/radix-ng-primitives-toolbar.mjs.map +1 -1
  106. package/fesm2022/radix-ng-primitives-tooltip.mjs +74 -74
  107. package/fesm2022/radix-ng-primitives-tooltip.mjs.map +1 -1
  108. package/fesm2022/radix-ng-primitives-tooltip2.mjs +740 -0
  109. package/fesm2022/radix-ng-primitives-tooltip2.mjs.map +1 -0
  110. package/fesm2022/radix-ng-primitives-visually-hidden.mjs +29 -27
  111. package/fesm2022/radix-ng-primitives-visually-hidden.mjs.map +1 -1
  112. package/fesm2022/radix-ng-primitives.mjs.map +1 -1
  113. package/focus-guards/index.d.ts +15 -1
  114. package/focus-scope/index.d.ts +65 -1
  115. package/hover-card/index.d.ts +471 -19
  116. package/index.d.ts +2 -1
  117. package/label/index.d.ts +27 -1
  118. package/menu/index.d.ts +136 -26
  119. package/menubar/index.d.ts +53 -21
  120. package/navigation-menu/index.d.ts +402 -25
  121. package/number-field/index.d.ts +202 -16
  122. package/package.json +22 -5
  123. package/pagination/index.d.ts +96 -20
  124. package/popover/index.d.ts +402 -19
  125. package/popper/README.md +3 -0
  126. package/popper/index.d.ts +206 -0
  127. package/portal/README.md +1 -0
  128. package/portal/index.d.ts +22 -0
  129. package/presence/index.d.ts +103 -5
  130. package/progress/index.d.ts +76 -8
  131. package/radio/index.d.ts +118 -4
  132. package/roving-focus/index.d.ts +174 -3
  133. package/select/index.d.ts +211 -23
  134. package/separator/index.d.ts +63 -1
  135. package/slider/index.d.ts +262 -17
  136. package/stepper/index.d.ts +122 -21
  137. package/switch/index.d.ts +102 -9
  138. package/tabs/index.d.ts +111 -13
  139. package/time-field/index.d.ts +211 -10
  140. package/toggle/index.d.ts +75 -3
  141. package/toggle-group/index.d.ts +194 -5
  142. package/toolbar/index.d.ts +52 -16
  143. package/tooltip/index.d.ts +432 -19
  144. package/tooltip2/README.md +3 -0
  145. package/tooltip2/index.d.ts +325 -0
  146. package/visually-hidden/index.d.ts +65 -3
  147. package/accordion/src/accordion-content-presence.directive.d.ts +0 -6
  148. package/accordion/src/accordion-content.directive.d.ts +0 -8
  149. package/accordion/src/accordion-header.directive.d.ts +0 -7
  150. package/accordion/src/accordion-item.directive.d.ts +0 -43
  151. package/accordion/src/accordion-root.directive.d.ts +0 -83
  152. package/accordion/src/accordion-trigger.directive.d.ts +0 -10
  153. package/alert-dialog/src/alert-dialog-cancel.directive.d.ts +0 -7
  154. package/alert-dialog/src/alert-dialog-content.directive.d.ts +0 -9
  155. package/alert-dialog/src/alert-dialog-root.directive.d.ts +0 -9
  156. package/alert-dialog/src/alert-dialog-title.directive.d.ts +0 -5
  157. package/alert-dialog/src/alert-dialog-trigger.directive.d.ts +0 -7
  158. package/alert-dialog/src/alert-dialog.service.d.ts +0 -14
  159. package/aspect-ratio/src/aspect-ratio.directive.d.ts +0 -32
  160. package/avatar/src/avatar-context.token.d.ts +0 -7
  161. package/avatar/src/avatar-fallback.directive.d.ts +0 -20
  162. package/avatar/src/avatar-image.directive.d.ts +0 -29
  163. package/avatar/src/avatar-root.directive.d.ts +0 -8
  164. package/avatar/src/avatar.config.d.ts +0 -13
  165. package/avatar/src/types.d.ts +0 -2
  166. package/calendar/src/calendar-cell-trigger.directive.d.ts +0 -54
  167. package/calendar/src/calendar-cell.directive.d.ts +0 -11
  168. package/calendar/src/calendar-grid-body.directive.d.ts +0 -5
  169. package/calendar/src/calendar-grid-head.directive.d.ts +0 -5
  170. package/calendar/src/calendar-grid-row.directive.d.ts +0 -5
  171. package/calendar/src/calendar-grid.directive.d.ts +0 -8
  172. package/calendar/src/calendar-head-cell.directive.d.ts +0 -5
  173. package/calendar/src/calendar-header.directive.d.ts +0 -5
  174. package/calendar/src/calendar-heading.directive.d.ts +0 -7
  175. package/calendar/src/calendar-next.directive.d.ts +0 -16
  176. package/calendar/src/calendar-prev.directive.d.ts +0 -16
  177. package/calendar/src/calendar-root.directive.d.ts +0 -148
  178. package/calendar/src/calendar.d.ts +0 -44
  179. package/calendar/src//321/201alendar-/321/201ontext.token.d.ts +0 -24
  180. package/checkbox/src/checkbox-button.directive.d.ts +0 -8
  181. package/checkbox/src/checkbox-indicator.directive.d.ts +0 -6
  182. package/checkbox/src/checkbox-input.directive.d.ts +0 -10
  183. package/checkbox/src/checkbox.directive.d.ts +0 -86
  184. package/checkbox/src/checkbox.token.d.ts +0 -4
  185. package/collapsible/src/collapsible-content-presence.directive.d.ts +0 -6
  186. package/collapsible/src/collapsible-content.directive.d.ts +0 -18
  187. package/collapsible/src/collapsible-root.directive.d.ts +0 -44
  188. package/collapsible/src/collapsible-trigger.directive.d.ts +0 -6
  189. package/config/src/config.d.ts +0 -21
  190. package/config/src/config.provider.d.ts +0 -10
  191. package/context-menu/src/context-menu-content.directive.d.ts +0 -15
  192. package/context-menu/src/context-menu-item-checkbox.directive.d.ts +0 -9
  193. package/context-menu/src/context-menu-item-indicator.directive.d.ts +0 -7
  194. package/context-menu/src/context-menu-item-radio-group.directive.d.ts +0 -12
  195. package/context-menu/src/context-menu-item-radio.directive.d.ts +0 -19
  196. package/context-menu/src/context-menu-item-selectable.d.ts +0 -12
  197. package/context-menu/src/context-menu-item.directive.d.ts +0 -17
  198. package/context-menu/src/context-menu-label.directive.d.ts +0 -5
  199. package/context-menu/src/context-menu-separator.directive.d.ts +0 -6
  200. package/context-menu/src/context-menu-trigger.directive.d.ts +0 -31
  201. package/core/src/accessor/control-value-accessor.d.ts +0 -67
  202. package/core/src/accessor/provide-value-accessor.d.ts +0 -12
  203. package/core/src/auto-focus.directive.d.ts +0 -14
  204. package/core/src/chunk.d.ts +0 -12
  205. package/core/src/clamp.d.ts +0 -38
  206. package/core/src/create-context.d.ts +0 -10
  207. package/core/src/date-time/calendar.d.ts +0 -33
  208. package/core/src/date-time/comparators.d.ts +0 -98
  209. package/core/src/date-time/formatter.d.ts +0 -30
  210. package/core/src/date-time/index.d.ts +0 -9
  211. package/core/src/date-time/parser.d.ts +0 -37
  212. package/core/src/date-time/parts.d.ts +0 -12
  213. package/core/src/date-time/placeholders.d.ts +0 -8
  214. package/core/src/date-time/segment.d.ts +0 -4
  215. package/core/src/date-time/types.d.ts +0 -58
  216. package/core/src/date-time/useDateField.d.ts +0 -142
  217. package/core/src/date-time/utils.d.ts +0 -7
  218. package/core/src/document.d.ts +0 -1
  219. package/core/src/focus-initial.directive.d.ts +0 -9
  220. package/core/src/getActiveElement.d.ts +0 -1
  221. package/core/src/id-generator.d.ts +0 -12
  222. package/core/src/inject-ng-control.d.ts +0 -8
  223. package/core/src/is-client.d.ts +0 -1
  224. package/core/src/is-equal.d.ts +0 -7
  225. package/core/src/is-inside-form.d.ts +0 -2
  226. package/core/src/is-nullish.d.ts +0 -1
  227. package/core/src/is-number.d.ts +0 -1
  228. package/core/src/isValueEqualOrExist.d.ts +0 -10
  229. package/core/src/kbd-constants.d.ts +0 -41
  230. package/core/src/positioning/constants.d.ts +0 -3
  231. package/core/src/positioning/types.d.ts +0 -42
  232. package/core/src/positioning/utils.d.ts +0 -12
  233. package/core/src/provide-token.d.ts +0 -22
  234. package/core/src/serialize.d.ts +0 -11
  235. package/core/src/types.d.ts +0 -25
  236. package/core/src/useArrowNavigation.d.ts +0 -65
  237. package/core/src/useResizeObserver.d.ts +0 -15
  238. package/core/src/watch.d.ts +0 -41
  239. package/core/src/window.d.ts +0 -3
  240. package/cropper/src/cropper-context.token.d.ts +0 -12
  241. package/cropper/src/cropper-crop-area.directive.d.ts +0 -6
  242. package/cropper/src/cropper-description.directive.d.ts +0 -6
  243. package/cropper/src/cropper-image.component.d.ts +0 -10
  244. package/cropper/src/cropper-root.directive.d.ts +0 -91
  245. package/date-field/src/date-field-context.token.d.ts +0 -19
  246. package/date-field/src/date-field-input.directive.d.ts +0 -53
  247. package/date-field/src/date-field-root.directive.d.ts +0 -131
  248. package/dialog/src/dialog-close.directive.d.ts +0 -7
  249. package/dialog/src/dialog-content.directive.d.ts +0 -21
  250. package/dialog/src/dialog-description.directive.d.ts +0 -5
  251. package/dialog/src/dialog-dismiss.directive.d.ts +0 -7
  252. package/dialog/src/dialog-ref.d.ts +0 -40
  253. package/dialog/src/dialog-title.directive.d.ts +0 -5
  254. package/dialog/src/dialog-trigger.directive.d.ts +0 -28
  255. package/dialog/src/dialog.config.d.ts +0 -41
  256. package/dialog/src/dialog.injectors.d.ts +0 -4
  257. package/dialog/src/dialog.providers.d.ts +0 -19
  258. package/dialog/src/dialog.service.d.ts +0 -26
  259. package/dismissible-layer/README.md +0 -1
  260. package/dismissible-layer/index.d.ts +0 -1
  261. package/dismissible-layer/src/utils.d.ts +0 -38
  262. package/dropdown-menu/src/dropdown-menu-content.directive.d.ts +0 -15
  263. package/dropdown-menu/src/dropdown-menu-item-checkbox.directive.d.ts +0 -9
  264. package/dropdown-menu/src/dropdown-menu-item-indicator.directive.d.ts +0 -7
  265. package/dropdown-menu/src/dropdown-menu-item-radio-group.directive.d.ts +0 -12
  266. package/dropdown-menu/src/dropdown-menu-item-radio.directive.d.ts +0 -19
  267. package/dropdown-menu/src/dropdown-menu-item-selectable.d.ts +0 -12
  268. package/dropdown-menu/src/dropdown-menu-item.directive.d.ts +0 -17
  269. package/dropdown-menu/src/dropdown-menu-label.directive.d.ts +0 -6
  270. package/dropdown-menu/src/dropdown-menu-separator.directive.d.ts +0 -6
  271. package/dropdown-menu/src/dropdown-menu-trigger.directive.d.ts +0 -73
  272. package/editable/src/editable-root.d.ts +0 -67
  273. package/fesm2022/radix-ng-primitives-dismissible-layer.mjs +0 -211
  274. package/fesm2022/radix-ng-primitives-dismissible-layer.mjs.map +0 -1
  275. package/focus-guards/src/focus-guards.d.ts +0 -12
  276. package/focus-scope/src/focus-scope.d.ts +0 -53
  277. package/focus-scope/src/stack.d.ts +0 -13
  278. package/focus-scope/src/utils.d.ts +0 -46
  279. package/hover-card/src/hover-card-anchor.directive.d.ts +0 -28
  280. package/hover-card/src/hover-card-anchor.token.d.ts +0 -3
  281. package/hover-card/src/hover-card-arrow.directive.d.ts +0 -45
  282. package/hover-card/src/hover-card-arrow.token.d.ts +0 -3
  283. package/hover-card/src/hover-card-close.directive.d.ts +0 -18
  284. package/hover-card/src/hover-card-close.token.d.ts +0 -3
  285. package/hover-card/src/hover-card-content-attributes.component.d.ts +0 -25
  286. package/hover-card/src/hover-card-content-attributes.token.d.ts +0 -3
  287. package/hover-card/src/hover-card-content.directive.d.ts +0 -124
  288. package/hover-card/src/hover-card-root.directive.d.ts +0 -182
  289. package/hover-card/src/hover-card-root.inject.d.ts +0 -3
  290. package/hover-card/src/hover-card-trigger.directive.d.ts +0 -26
  291. package/hover-card/src/hover-card.types.d.ts +0 -18
  292. package/hover-card/src/utils/cdk-event.service.d.ts +0 -30
  293. package/hover-card/src/utils/constants.d.ts +0 -1
  294. package/hover-card/src/utils/types.d.ts +0 -7
  295. package/label/src/label.directive.d.ts +0 -24
  296. package/menu/src/menu-content.directive.d.ts +0 -6
  297. package/menu/src/menu-directive.d.ts +0 -6
  298. package/menu/src/menu-group.directive.d.ts +0 -6
  299. package/menu/src/menu-item-checkbox.directive.d.ts +0 -21
  300. package/menu/src/menu-item-indicator.directive.d.ts +0 -10
  301. package/menu/src/menu-item-radio.directive.d.ts +0 -20
  302. package/menu/src/menu-item.directive.d.ts +0 -18
  303. package/menu/src/menu-label.directive.d.ts +0 -5
  304. package/menu/src/menu-radio-group.directive.d.ts +0 -6
  305. package/menu/src/menu-separator.directive.d.ts +0 -5
  306. package/menu/src/menu-trigger.directive.d.ts +0 -35
  307. package/menu/src/utils.d.ts +0 -3
  308. package/menubar/src/menubar-content.directive.d.ts +0 -6
  309. package/menubar/src/menubar-item-checkbox.directive.d.ts +0 -6
  310. package/menubar/src/menubar-item-indicator.directive.d.ts +0 -6
  311. package/menubar/src/menubar-item-radio.directive.d.ts +0 -6
  312. package/menubar/src/menubar-item.directive.d.ts +0 -6
  313. package/menubar/src/menubar-radio-group.directive.d.ts +0 -6
  314. package/menubar/src/menubar-root.directive.d.ts +0 -6
  315. package/menubar/src/menubar-separator.directive.d.ts +0 -6
  316. package/menubar/src/menubar-trigger.directive.d.ts +0 -6
  317. package/navigation-menu/src/navigation-menu-a11y.component.d.ts +0 -15
  318. package/navigation-menu/src/navigation-menu-content.directive.d.ts +0 -31
  319. package/navigation-menu/src/navigation-menu-indicator.directive.d.ts +0 -29
  320. package/navigation-menu/src/navigation-menu-item.directive.d.ts +0 -44
  321. package/navigation-menu/src/navigation-menu-link.directive.d.ts +0 -17
  322. package/navigation-menu/src/navigation-menu-list.directive.d.ts +0 -38
  323. package/navigation-menu/src/navigation-menu-sub.directive.d.ts +0 -19
  324. package/navigation-menu/src/navigation-menu-trigger.directive.d.ts +0 -34
  325. package/navigation-menu/src/navigation-menu-viewport.directive.d.ts +0 -61
  326. package/navigation-menu/src/navigation-menu.directive.d.ts +0 -76
  327. package/navigation-menu/src/navigation-menu.token.d.ts +0 -36
  328. package/navigation-menu/src/navigation-menu.types.d.ts +0 -13
  329. package/navigation-menu/src/utils.d.ts +0 -44
  330. package/number-field/src/number-field-context.token.d.ts +0 -24
  331. package/number-field/src/number-field-decrement.directive.d.ts +0 -23
  332. package/number-field/src/number-field-increment.directive.d.ts +0 -23
  333. package/number-field/src/number-field-input.directive.d.ts +0 -22
  334. package/number-field/src/number-field-root.directive.d.ts +0 -86
  335. package/number-field/src/types.d.ts +0 -1
  336. package/number-field/src/utils.d.ts +0 -18
  337. package/pagination/src/pagination-context.token.d.ts +0 -11
  338. package/pagination/src/pagination-ellipsis.directive.d.ts +0 -5
  339. package/pagination/src/pagination-first.directive.d.ts +0 -8
  340. package/pagination/src/pagination-last.directive.d.ts +0 -8
  341. package/pagination/src/pagination-list-item.directive.d.ts +0 -10
  342. package/pagination/src/pagination-list.directive.d.ts +0 -12
  343. package/pagination/src/pagination-next.directive.d.ts +0 -8
  344. package/pagination/src/pagination-prev.directive.d.ts +0 -8
  345. package/pagination/src/pagination-root.directive.d.ts +0 -18
  346. package/pagination/src/utils.d.ts +0 -9
  347. package/popover/src/popover-anchor.directive.d.ts +0 -28
  348. package/popover/src/popover-anchor.token.d.ts +0 -3
  349. package/popover/src/popover-arrow.directive.d.ts +0 -40
  350. package/popover/src/popover-arrow.token.d.ts +0 -3
  351. package/popover/src/popover-close.directive.d.ts +0 -15
  352. package/popover/src/popover-close.token.d.ts +0 -3
  353. package/popover/src/popover-content-attributes.component.d.ts +0 -23
  354. package/popover/src/popover-content-attributes.token.d.ts +0 -3
  355. package/popover/src/popover-content.directive.d.ts +0 -104
  356. package/popover/src/popover-root.directive.d.ts +0 -155
  357. package/popover/src/popover-root.inject.d.ts +0 -3
  358. package/popover/src/popover-trigger.directive.d.ts +0 -18
  359. package/popover/src/popover.types.d.ts +0 -14
  360. package/popover/src/utils/cdk-event.service.d.ts +0 -30
  361. package/popover/src/utils/constants.d.ts +0 -1
  362. package/popover/src/utils/types.d.ts +0 -7
  363. package/presence/src/presence.d.ts +0 -42
  364. package/presence/src/presence.directive.d.ts +0 -27
  365. package/presence/src/transitions/transition.collapse.d.ts +0 -15
  366. package/presence/src/transitions/transition.toast.d.ts +0 -3
  367. package/presence/src/types.d.ts +0 -15
  368. package/presence/src/utils.d.ts +0 -42
  369. package/progress/src/progress-indicator.directive.d.ts +0 -15
  370. package/progress/src/progress-root.directive.d.ts +0 -54
  371. package/radio/src/radio-indicator.directive.d.ts +0 -9
  372. package/radio/src/radio-item-input.directive.d.ts +0 -12
  373. package/radio/src/radio-item.directive.d.ts +0 -30
  374. package/radio/src/radio-root.directive.d.ts +0 -57
  375. package/radio/src/radio-tokens.d.ts +0 -14
  376. package/roving-focus/src/roving-focus-group.directive.d.ts +0 -50
  377. package/roving-focus/src/roving-focus-item.directive.d.ts +0 -50
  378. package/roving-focus/src/utils.d.ts +0 -19
  379. package/select/src/select-content.directive.d.ts +0 -20
  380. package/select/src/select-group.directive.d.ts +0 -5
  381. package/select/src/select-icon.directive.d.ts +0 -5
  382. package/select/src/select-item-indicator.directive.d.ts +0 -7
  383. package/select/src/select-item.directive.d.ts +0 -53
  384. package/select/src/select-label.directive.d.ts +0 -5
  385. package/select/src/select-separator.directive.d.ts +0 -5
  386. package/select/src/select-trigger.directive.d.ts +0 -17
  387. package/select/src/select-value.directive.d.ts +0 -8
  388. package/select/src/select.component.d.ts +0 -98
  389. package/separator/src/separator.directive.d.ts +0 -60
  390. package/slider/src/slider-horizontal.component.d.ts +0 -28
  391. package/slider/src/slider-impl.directive.d.ts +0 -17
  392. package/slider/src/slider-orientation-context.service.d.ts +0 -14
  393. package/slider/src/slider-range.component.d.ts +0 -13
  394. package/slider/src/slider-root.component.d.ts +0 -123
  395. package/slider/src/slider-thumb-impl.directive.d.ts +0 -27
  396. package/slider/src/slider-thumb.component.d.ts +0 -6
  397. package/slider/src/slider-track.component.d.ts +0 -7
  398. package/slider/src/slider-vertical.component.d.ts +0 -28
  399. package/slider/src/utils.d.ts +0 -52
  400. package/stepper/src/stepper-description.directive.d.ts +0 -6
  401. package/stepper/src/stepper-indicator.directive.d.ts +0 -6
  402. package/stepper/src/stepper-item-context.token.d.ts +0 -13
  403. package/stepper/src/stepper-item.directive.d.ts +0 -21
  404. package/stepper/src/stepper-root-context.token.d.ts +0 -12
  405. package/stepper/src/stepper-root.directive.d.ts +0 -33
  406. package/stepper/src/stepper-separator.directive.d.ts +0 -10
  407. package/stepper/src/stepper-title.directive.d.ts +0 -6
  408. package/stepper/src/stepper-trigger.directive.d.ts +0 -14
  409. package/stepper/src/types.d.ts +0 -1
  410. package/switch/src/switch-input.directive.d.ts +0 -11
  411. package/switch/src/switch-root.directive.d.ts +0 -74
  412. package/switch/src/switch-thumb.directive.d.ts +0 -9
  413. package/tabs/src/tabs-content.directive.d.ts +0 -13
  414. package/tabs/src/tabs-list.directive.d.ts +0 -10
  415. package/tabs/src/tabs-root.directive.d.ts +0 -53
  416. package/tabs/src/tabs-trigger.directive.d.ts +0 -29
  417. package/tabs/src/utils.d.ts +0 -2
  418. package/time-field/src/time-field-context.token.d.ts +0 -20
  419. package/time-field/src/time-field-input.directive.d.ts +0 -53
  420. package/time-field/src/time-field-root.directive.d.ts +0 -130
  421. package/toggle/src/toggle-visually-hidden-input.directive.d.ts +0 -6
  422. package/toggle/src/toggle.directive.d.ts +0 -65
  423. package/toggle-group/src/toggle-group-item.directive.d.ts +0 -37
  424. package/toggle-group/src/toggle-group-item.token.d.ts +0 -4
  425. package/toggle-group/src/toggle-group-without-focus.directive.d.ts +0 -69
  426. package/toggle-group/src/toggle-group.directive.d.ts +0 -74
  427. package/toggle-group/src/toggle-group.token.d.ts +0 -10
  428. package/toolbar/src/toolbar-button.directive.d.ts +0 -11
  429. package/toolbar/src/toolbar-link.directive.d.ts +0 -7
  430. package/toolbar/src/toolbar-root.directive.d.ts +0 -8
  431. package/toolbar/src/toolbar-root.token.d.ts +0 -5
  432. package/toolbar/src/toolbar-separator.directive.d.ts +0 -6
  433. package/toolbar/src/toolbar-toggle-group.directive.d.ts +0 -6
  434. package/toolbar/src/toolbar-toggle-item.directive.d.ts +0 -6
  435. package/tooltip/src/tooltip-anchor.directive.d.ts +0 -28
  436. package/tooltip/src/tooltip-anchor.token.d.ts +0 -3
  437. package/tooltip/src/tooltip-arrow.directive.d.ts +0 -40
  438. package/tooltip/src/tooltip-arrow.token.d.ts +0 -3
  439. package/tooltip/src/tooltip-close.directive.d.ts +0 -18
  440. package/tooltip/src/tooltip-close.token.d.ts +0 -3
  441. package/tooltip/src/tooltip-content-attributes.component.d.ts +0 -25
  442. package/tooltip/src/tooltip-content-attributes.token.d.ts +0 -3
  443. package/tooltip/src/tooltip-content.directive.d.ts +0 -104
  444. package/tooltip/src/tooltip-root.directive.d.ts +0 -168
  445. package/tooltip/src/tooltip-root.inject.d.ts +0 -3
  446. package/tooltip/src/tooltip-trigger.directive.d.ts +0 -26
  447. package/tooltip/src/tooltip.types.d.ts +0 -18
  448. package/tooltip/src/utils/cdk-event.service.d.ts +0 -30
  449. package/tooltip/src/utils/constants.d.ts +0 -1
  450. package/tooltip/src/utils/types.d.ts +0 -7
  451. package/visually-hidden/src/visually-hidden-input-bubble.directive.d.ts +0 -24
  452. package/visually-hidden/src/visually-hidden-input.directive.d.ts +0 -23
  453. package/visually-hidden/src/visually-hidden.directive.d.ts +0 -18
package/core/index.d.ts CHANGED
@@ -1,27 +1,898 @@
1
- export * from './src/accessor/control-value-accessor';
2
- export * from './src/accessor/provide-value-accessor';
3
- export * from './src/auto-focus.directive';
4
- export * from './src/clamp';
5
- export * from './src/document';
6
- export * from './src/focus-initial.directive';
7
- export * from './src/getActiveElement';
8
- export * from './src/id-generator';
9
- export * from './src/inject-ng-control';
10
- export * from './src/is-client';
11
- export * from './src/is-equal';
12
- export * from './src/is-inside-form';
13
- export * from './src/is-nullish';
14
- export * from './src/is-number';
15
- export * from './src/isValueEqualOrExist';
16
- export * from './src/kbd-constants';
17
- export * from './src/provide-token';
18
- export * from './src/window';
19
- export * from './src/create-context';
20
- export * from './src/date-time';
21
- export * from './src/positioning/constants';
22
- export * from './src/positioning/types';
23
- export * from './src/positioning/utils';
24
- export * from './src/types';
25
- export * from './src/useArrowNavigation';
26
- export * from './src/useResizeObserver';
27
- export * from './src/watch';
1
+ import * as i0 from '@angular/core';
2
+ import { Type, Provider, ElementRef, Injector, InjectionToken, InputSignal, WritableSignal, ModelSignal, Signal, EffectRef, EffectCleanupRegisterFn, CreateEffectOptions } from '@angular/core';
3
+ import { BooleanInput } from '@angular/cdk/coercion';
4
+ import { ControlValueAccessor, FormControlDirective, FormControlName, NgModel } from '@angular/forms';
5
+ import { DateValue, DayOfWeek, CalendarDateTime, ZonedDateTime, Time } from '@internationalized/date';
6
+ import { ConnectionPositionPair, ConnectedPosition } from '@angular/cdk/overlay';
7
+ import { Direction } from '@angular/cdk/bidi';
8
+
9
+ /**
10
+ * A reusable ControlValueAccessor implementation for form controls
11
+ * @template T The type of the control's value
12
+ */
13
+ declare class RdxControlValueAccessor<T> implements ControlValueAccessor {
14
+ /**
15
+ * Input for the control's value with alias 'value'
16
+ * @default undefined
17
+ */
18
+ readonly valueInput: i0.InputSignal<T | undefined>;
19
+ /**
20
+ * Input for the disabled state with alias 'disabled'
21
+ * Uses booleanAttribute transform to convert string attributes to booleans
22
+ * @default false
23
+ */
24
+ readonly disabledInput: i0.InputSignalWithTransform<boolean, BooleanInput>;
25
+ readonly valueChange: i0.OutputEmitterRef<T>;
26
+ private readonly _value;
27
+ /**
28
+ * Readonly access to the current value
29
+ */
30
+ readonly value: i0.Signal<T | undefined>;
31
+ private readonly _disabled;
32
+ /**
33
+ * Readonly access to the disabled state
34
+ */
35
+ readonly disabled: i0.Signal<boolean>;
36
+ onChange?: (value: T | undefined) => void;
37
+ private onTouched?;
38
+ /**
39
+ * Writes a new value to the control (ControlValueAccessor interface)
40
+ * @param value The new value for the control
41
+ */
42
+ writeValue(value: T | undefined): void;
43
+ /**
44
+ * Registers a callback for when the control value changes (ControlValueAccessor interface)
45
+ * @param fn The callback function
46
+ */
47
+ registerOnChange(fn: (value: T | undefined) => void): void;
48
+ /**
49
+ * Registers a callback for when the control is touched (ControlValueAccessor interface)
50
+ * @param fn The callback function
51
+ */
52
+ registerOnTouched(fn: () => void): void;
53
+ /**
54
+ * Sets the disabled state of the control (ControlValueAccessor interface)
55
+ * @param isDisabled Whether the control should be disabled
56
+ */
57
+ setDisabledState(isDisabled: boolean): void;
58
+ /**
59
+ * Updates the control's value and triggers change detection
60
+ * @param value The new value
61
+ */
62
+ setValue(value: T): void;
63
+ markAsTouched(): void;
64
+ static ɵfac: i0.ɵɵFactoryDeclaration<RdxControlValueAccessor<any>, never>;
65
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RdxControlValueAccessor<any>, never, ["rdxControlValueAccessor"], { "valueInput": { "alias": "value"; "required": false; "isSignal": true; }; "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
66
+ }
67
+ /**
68
+ * Provides a type-safe way to inject the RdxControlValueAccessor
69
+ * @template T The type of the control's value
70
+ * @returns An instance of RdxControlValueAccessor<T>
71
+ */
72
+ declare function injectControlValueAccessor<T>(): RdxControlValueAccessor<T>;
73
+
74
+ /**
75
+ * Include in the providers section of a component which utilizes ControlValueAccessor to redundant code.
76
+ *
77
+ * ```ts
78
+ * @Directive({
79
+ * providers: [provideValueAccessor(ExampleDirective)]
80
+ *}
81
+ * export class ExampleDirective{}
82
+ * ```
83
+ */
84
+ declare function provideValueAccessor<T>(type: Type<T>): Provider;
85
+
86
+ declare class RdxAutoFocusDirective {
87
+ #private;
88
+ private _autoSelect;
89
+ /**
90
+ * @default false
91
+ */
92
+ set autoFocus(value: boolean);
93
+ set autoSelect(value: boolean);
94
+ static ɵfac: i0.ɵɵFactoryDeclaration<RdxAutoFocusDirective, never>;
95
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RdxAutoFocusDirective, "[rdxAutoFocus]", never, { "autoFocus": { "alias": "rdxAutoFocus"; "required": false; }; "autoSelect": { "alias": "autoSelect"; "required": false; }; }, {}, never, never, true, never>;
96
+ static ngAcceptInputType_autoFocus: unknown;
97
+ static ngAcceptInputType_autoSelect: unknown;
98
+ }
99
+
100
+ /**
101
+ * The `clamp` function restricts a number within a specified range by returning the value itself if it
102
+ * falls within the range, or the closest boundary value if it exceeds the range.
103
+ * @param {number} value - The `value` parameter represents the number that you want to clamp within
104
+ * the specified range defined by `min` and `max` values.
105
+ * @param {number} min - If the `value` parameter is less than the `min` value, the
106
+ * function will return the `min` value.
107
+ * @param {number} max - If the `value` parameter is greater than the `max` value,
108
+ * the function will return `max`.
109
+ * @returns The `clamp` function returns the value of `value` constrained within the range defined by
110
+ * `min` and `max`.
111
+ */
112
+ declare function clamp(value: number, min?: number, max?: number): number;
113
+ /**
114
+ * The function `roundToStepPrecision` rounds a number to a specified precision step.
115
+ * @param {number} value - The `value` parameter is the number that you want to round to a specific
116
+ * precision based on the `step` parameter.
117
+ * @param {number} step - The `step` parameter in the `roundToStepPrecision` function represents the
118
+ * interval at which you want to round the `value`. For example, if `step` is 0.5, the `value` will be
119
+ * rounded to the nearest half.
120
+ * @returns the `roundedValue` after rounding it to the precision specified by the `step`.
121
+ */
122
+ declare function roundToStepPrecision(value: number, step: number): number;
123
+ /**
124
+ * The function `snapValueToStep` snaps a given value to the nearest step within a specified range.
125
+ * @param {number} value - The `value` parameter represents the number that you want to snap to the
126
+ * nearest step value.
127
+ * @param {number | undefined} min - The `min` parameter represents the minimum value that the `value`
128
+ * should be snapped to. If `value` is less than `min`, it will be snapped to `min`. If `min` is not
129
+ * provided (undefined), then the snapping will not consider a minimum value.
130
+ * @param {number | undefined} max - The `max` parameter represents the maximum value that the `value`
131
+ * should be snapped to. It ensures that the snapped value does not exceed this maximum value.
132
+ * @param {number} step - The `step` parameter in the `snapValueToStep` function represents the
133
+ * interval at which the `value` should be snapped to. It determines the granularity of the snapping
134
+ * operation. For example, if `step` is 5, the `value` will be snapped to the nearest multiple of
135
+ * @returns a number that has been snapped to the nearest step value within the specified range of minimum and maximum values.
136
+ */
137
+ declare function snapValueToStep(value: number, min: number | undefined, max: number | undefined, step: number): number;
138
+
139
+ declare function injectDocument(): Document;
140
+
141
+ declare function elementSize({ elementRef, injector }: {
142
+ elementRef: ElementRef<HTMLElement>;
143
+ injector: Injector;
144
+ }): i0.Signal<{
145
+ width: number;
146
+ height: number;
147
+ }>;
148
+
149
+ declare class RdxFocusInitialDirective {
150
+ /** @ignore */
151
+ private readonly nativeElement;
152
+ /** @ignore */
153
+ focus(): void;
154
+ static ɵfac: i0.ɵɵFactoryDeclaration<RdxFocusInitialDirective, never>;
155
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RdxFocusInitialDirective, "[rdxFocusInitial]", never, {}, {}, never, never, true, never>;
156
+ }
157
+
158
+ declare function getActiveElement(): Element | null;
159
+
160
+ /** Service that generates unique IDs for DOM nodes. */
161
+ declare class _IdGenerator {
162
+ private readonly _appId;
163
+ /**
164
+ * Generates a unique ID with a specific prefix.
165
+ * @param prefix Prefix to add to the ID.
166
+ */
167
+ getId(prefix: string): string;
168
+ static ɵfac: i0.ɵɵFactoryDeclaration<_IdGenerator, never>;
169
+ static ɵprov: i0.ɵɵInjectableDeclaration<_IdGenerator>;
170
+ }
171
+
172
+ declare function injectNgControl(params: {
173
+ optional: true;
174
+ }): FormControlDirective | FormControlName | NgModel | undefined;
175
+ declare function injectNgControl(params: {
176
+ optional: false;
177
+ }): FormControlDirective | FormControlName | NgModel;
178
+ declare function injectNgControl(): FormControlDirective | FormControlName | NgModel;
179
+
180
+ declare function injectIsClient(): boolean;
181
+
182
+ /**
183
+ * Compare two objects using reference equality and stable deep hashing.
184
+ * @param {any} object1 First object
185
+ * @param {any} object2 Second object
186
+ * @return {boolean} true if equal and false if not
187
+ */
188
+ declare function isEqual(object1: any, object2: any): boolean;
189
+
190
+ declare function isInsideForm(el: ElementRef<HTMLElement> | null): boolean;
191
+
192
+ declare function isNullish(value: any): value is null | undefined;
193
+
194
+ declare const isNumber: (v: any) => v is number;
195
+
196
+ /**
197
+ * The function `isValueEqualOrExist` checks if a value is equal to or exists in another value or
198
+ * array.
199
+ * @param {T | T[] | undefined} base - It represents the base value that you want to compare with the `current` value.
200
+ * @param {T | T[] | undefined} current - The `current` parameter represents the current value that you want to compare with the `base` value or values.
201
+ * @returns The `isValueEqualOrExist` function returns a boolean value. It checks if the `base` value
202
+ * is equal to the `current` value or if the `current` value exists within the `base` value. The
203
+ * function handles cases where `base` can be a single value, an array of values, or undefined.
204
+ */
205
+ declare function isValueEqualOrExist<T>(base: T | T[] | undefined, current: T | T[] | undefined): boolean;
206
+
207
+ declare const ALT = "Alt";
208
+ declare const ARROW_DOWN = "ArrowDown";
209
+ declare const ARROW_LEFT = "ArrowLeft";
210
+ declare const ARROW_RIGHT = "ArrowRight";
211
+ declare const ARROW_UP = "ArrowUp";
212
+ declare const BACKSPACE = "Backspace";
213
+ declare const CAPS_LOCK = "CapsLock";
214
+ declare const CONTROL = "Control";
215
+ declare const DELETE = "Delete";
216
+ declare const END = "End";
217
+ declare const ENTER = "Enter";
218
+ declare const ESCAPE = "Escape";
219
+ declare const F1 = "F1";
220
+ declare const F10 = "F10";
221
+ declare const F11 = "F11";
222
+ declare const F12 = "F12";
223
+ declare const F2 = "F2";
224
+ declare const F3 = "F3";
225
+ declare const F4 = "F4";
226
+ declare const F5 = "F5";
227
+ declare const F6 = "F6";
228
+ declare const F7 = "F7";
229
+ declare const F8 = "F8";
230
+ declare const F9 = "F9";
231
+ declare const HOME = "Home";
232
+ declare const META = "Meta";
233
+ declare const PAGE_DOWN = "PageDown";
234
+ declare const PAGE_UP = "PageUp";
235
+ declare const SHIFT = "Shift";
236
+ declare const SPACE = " ";
237
+ declare const TAB = "Tab";
238
+ declare const CTRL = "Control";
239
+ declare const ASTERISK = "*";
240
+ declare const a = "a";
241
+ declare const P = "P";
242
+ declare const A = "A";
243
+ declare const p = "p";
244
+ declare const n = "n";
245
+ declare const j = "j";
246
+ declare const k = "k";
247
+ declare const SPACE_CODE = "Space";
248
+
249
+ /**
250
+ * Creates an Angular provider that binds the given token to the existing instance
251
+ * of the specified class. This is especially useful when you want multiple
252
+ * tokens (or interfaces) to resolve to the same directive/component instance.
253
+ *
254
+ * @template T - The type associated with the injection token.
255
+ * @param token - The InjectionToken or abstract type you want to provide.
256
+ * @param type - The class type whose existing instance will be used for this token.
257
+ * @returns A Provider configuration object for Angular's DI system.
258
+ *
259
+ * @example
260
+ *
261
+ * @Directive({
262
+ * providers: [
263
+ * provideToken(RdxToggleGroupToken, RdxToggleGroupDirective),
264
+ * provideValueAccessor(RdxToggleGroupDirective)
265
+ * ]
266
+ * })
267
+ * export class RdxToggleGroupDirective {}
268
+ */
269
+ declare function provideToken<T>(token: InjectionToken<T>, type: Type<unknown>): Provider;
270
+
271
+ declare const WINDOW: InjectionToken<Window & typeof globalThis>;
272
+ declare function injectWindow(): Window & typeof globalThis;
273
+
274
+ /**
275
+ * Creates a context with injector and provider functions for a given type
276
+ * @template T The type of the context value
277
+ * @param description Descriptive string for the context (used in token creation)
278
+ * @returns A tuple containing:
279
+ * - injectContext: Function to retrieve the context value
280
+ * - provideContext: Function to create a provider for the context
281
+ */
282
+ declare function createContext<T>(description: string): readonly [injectContext: (optional?: boolean) => T | null, provideContext: (useFactory: () => T) => Provider];
283
+
284
+ declare const DATE_SEGMENT_PARTS: readonly ["day", "month", "year"];
285
+ declare const TIME_SEGMENT_PARTS: readonly ["hour", "minute", "second", "dayPeriod"];
286
+ declare const NON_EDITABLE_SEGMENT_PARTS: readonly ["literal", "timeZoneName"];
287
+ declare const EDITABLE_SEGMENT_PARTS: readonly ["day", "month", "year", "hour", "minute", "second", "dayPeriod"];
288
+
289
+ type DateMatcher = (date: DateValue) => boolean;
290
+ type DateStep = {
291
+ year?: number;
292
+ month?: number;
293
+ day?: number;
294
+ hour?: number;
295
+ minute?: number;
296
+ second?: number;
297
+ millisecond?: number;
298
+ };
299
+ type DateRange = {
300
+ start: DateValue | undefined;
301
+ end: DateValue | undefined;
302
+ };
303
+ type HourCycle = 12 | 24 | undefined;
304
+ type Month<T> = {
305
+ /**
306
+ * A `DateValue` used to represent the month. Since days
307
+ * from the previous and next months may be included in the
308
+ * calendar grid, we need a source of truth for the value
309
+ * the grid is representing.
310
+ */
311
+ value: DateValue;
312
+ /**
313
+ * An array of (rows) arrays representing the weeks in the calendar.
314
+ * Each sub-array represents a week, and contains the dates for each
315
+ * day in that week. This structure is useful for rendering the calendar
316
+ * grid using a table, where each row represents a week and each cell
317
+ * represents a day.
318
+ */
319
+ weeks: T[][];
320
+ /**
321
+ * An array of (cells) all the dates in the current month, including dates from
322
+ * the previous and next months that are used to fill out the calendar grid.
323
+ * This array is useful for rendering the calendar grid in a customizable way,
324
+ * as it provides all the dates that should be displayed in the grid in a flat
325
+ * array.
326
+ */
327
+ dates: T[];
328
+ };
329
+ type DateSegmentPart = (typeof DATE_SEGMENT_PARTS)[number];
330
+ type TimeSegmentPart = (typeof TIME_SEGMENT_PARTS)[number];
331
+ type EditableSegmentPart = (typeof EDITABLE_SEGMENT_PARTS)[number];
332
+ type NonEditableSegmentPart = (typeof NON_EDITABLE_SEGMENT_PARTS)[number];
333
+ type SegmentPart = EditableSegmentPart | NonEditableSegmentPart;
334
+ type AnyExceptLiteral = Exclude<SegmentPart, 'literal'>;
335
+ type DayPeriod = 'AM' | 'PM' | null;
336
+ type DateSegmentObj = {
337
+ [K in DateSegmentPart]: number | null;
338
+ };
339
+ type TimeSegmentObj = {
340
+ [K in TimeSegmentPart]: K extends 'dayPeriod' ? DayPeriod : number | null;
341
+ };
342
+ type DateAndTimeSegmentObj = DateSegmentObj & TimeSegmentObj;
343
+ type SegmentValueObj = DateSegmentObj | DateAndTimeSegmentObj;
344
+ type SegmentContentObj = Record<EditableSegmentPart, string>;
345
+
346
+ type CreateMonthProps = {
347
+ /**
348
+ * The date object representing the month's date (usually the first day of the month).
349
+ */
350
+ dateObj: DateValue;
351
+ /**
352
+ * The day of the week to start the calendar on (0 for Sunday, 1 for Monday, etc.).
353
+ */
354
+ weekStartsOn: number;
355
+ /**
356
+ * Whether to always render 6 weeks in the calendar, even if the month doesn't
357
+ * span 6 weeks.
358
+ */
359
+ fixedWeeks: boolean;
360
+ /**
361
+ * The locale to use when creating the calendar month.
362
+ */
363
+ locale: string;
364
+ };
365
+ /**
366
+ * Retrieves an array of date values representing the days between
367
+ * the provided start and end dates.
368
+ */
369
+ declare function getDaysBetween(start: DateValue, end: DateValue): DateValue[];
370
+ declare function createMonth(props: CreateMonthProps): Month<DateValue>;
371
+ type SetMonthProps = CreateMonthProps & {
372
+ numberOfMonths: number | undefined;
373
+ currentMonths?: Month<DateValue>[];
374
+ };
375
+ declare function createMonths(props: SetMonthProps): Month<DateValue>[];
376
+ /**
377
+ * Returns the locale-specific week number
378
+ */
379
+ declare function getWeekNumber(date: DateValue, locale?: string, firstDayOfWeek?: DayOfWeek): number;
380
+
381
+ /**
382
+ * Given a `DateValue` object, convert it to a native `Date` object.
383
+ * If a timezone is provided, the date will be converted to that timezone.
384
+ * If no timezone is provided, the date will be converted to the local timezone.
385
+ */
386
+ declare function toDate(dateValue: DateValue, tz?: string): Date;
387
+ declare function isCalendarDateTime(dateValue: DateValue): dateValue is CalendarDateTime;
388
+ declare function isZonedDateTime(dateValue: DateValue): dateValue is ZonedDateTime;
389
+ declare function hasTime(dateValue: DateValue): dateValue is CalendarDateTime | ZonedDateTime;
390
+ /**
391
+ * Given a date, return the number of days in the month.
392
+ */
393
+ declare function getDaysInMonth(date: Date | DateValue): number;
394
+ /**
395
+ * Determine if a date is before the reference date.
396
+ * @param dateToCompare - is this date before the `referenceDate`
397
+ * @param referenceDate - is the `dateToCompare` before this date
398
+ *
399
+ * @see {@link isBeforeOrSame} for inclusive
400
+ */
401
+ declare function isBefore(dateToCompare: DateValue, referenceDate: DateValue): boolean;
402
+ /**
403
+ * Determine if a date is after the reference date.
404
+ * @param dateToCompare - is this date after the `referenceDate`
405
+ * @param referenceDate - is the `dateToCompare` after this date
406
+ *
407
+ * @see {@link isAfterOrSame} for inclusive
408
+ */
409
+ declare function isAfter(dateToCompare: DateValue, referenceDate: DateValue): boolean;
410
+ /**
411
+ * Determine if a date is before or the same as the reference date.
412
+ *
413
+ * @param dateToCompare - the date to compare
414
+ * @param referenceDate - the reference date to make the comparison against
415
+ *
416
+ * @see {@link isBefore} for non-inclusive
417
+ */
418
+ declare function isBeforeOrSame(dateToCompare: DateValue, referenceDate: DateValue): boolean;
419
+ /**
420
+ * Determine if a date is after or the same as the reference date.
421
+ *
422
+ * @param dateToCompare - is this date after or the same as the `referenceDate`
423
+ * @param referenceDate - is the `dateToCompare` after or the same as this date
424
+ *
425
+ * @see {@link isAfter} for non-inclusive
426
+ */
427
+ declare function isAfterOrSame(dateToCompare: DateValue, referenceDate: DateValue): boolean;
428
+ /**
429
+ * Determine if a date is inclusively between a start and end reference date.
430
+ *
431
+ * @param date - is this date inclusively between the `start` and `end` dates
432
+ * @param start - the start reference date to make the comparison against
433
+ * @param end - the end reference date to make the comparison against
434
+ *
435
+ * @see {@link isBetween} for non-inclusive
436
+ */
437
+ declare function isBetweenInclusive(date: DateValue, start: DateValue, end: DateValue): boolean;
438
+ /**
439
+ * Determine if a date is between a start and end reference date.
440
+ *
441
+ * @param date - is this date between the `start` and `end` dates
442
+ * @param start - the start reference date to make the comparison against
443
+ * @param end - the end reference date to make the comparison against
444
+ *
445
+ * @see {@link isBetweenInclusive} for inclusive
446
+ */
447
+ declare function isBetween(date: DateValue, start: DateValue, end: DateValue): boolean;
448
+ declare function getLastFirstDayOfWeek<T extends DateValue = DateValue>(date: T, firstDayOfWeek: number, locale: string): T;
449
+ declare function getNextLastDayOfWeek<T extends DateValue = DateValue>(date: T, firstDayOfWeek: number, locale: string): T;
450
+ declare function areAllDaysBetweenValid(start: DateValue, end: DateValue, isUnavailable: DateMatcher | undefined, isDisabled: DateMatcher | undefined): boolean;
451
+ type TimeValue = Time | CalendarDateTime | ZonedDateTime;
452
+ type Granularity = 'day' | 'hour' | 'minute' | 'second';
453
+ type TimeGranularity = 'hour' | 'minute' | 'second';
454
+ type GetDefaultDateProps = {
455
+ defaultValue?: DateValue | DateValue[] | undefined;
456
+ defaultPlaceholder?: DateValue | undefined;
457
+ granularity?: Granularity;
458
+ locale?: string;
459
+ };
460
+ /**
461
+ * A helper function used throughout the various date builders
462
+ * to generate a default `DateValue` using the `defaultValue`,
463
+ * `defaultPlaceholder`, and `granularity` props.
464
+ *
465
+ * It's important to match the `DateValue` type being used
466
+ * elsewhere in the builder, so they behave according to the
467
+ * behavior the user expects based on the props they've provided.
468
+ *
469
+ */
470
+ declare function getDefaultDate(props: GetDefaultDateProps): DateValue;
471
+ type GetDefaultTimeProps = {
472
+ defaultValue?: TimeValue | undefined;
473
+ defaultPlaceholder?: TimeValue | undefined;
474
+ };
475
+ declare function getDefaultTime(props: GetDefaultTimeProps): TimeValue;
476
+
477
+ interface DateFormatterOptions extends Intl.DateTimeFormatOptions {
478
+ calendar?: string;
479
+ }
480
+ type Formatter = {
481
+ getLocale: () => string;
482
+ setLocale: (newLocale: string) => void;
483
+ custom: (date: Date, options: DateFormatterOptions) => string;
484
+ selectedDate: (date: DateValue, includeTime?: boolean) => string;
485
+ dayOfWeek: (date: Date, length?: DateFormatterOptions['weekday']) => string;
486
+ fullMonthAndYear: (date: Date, options?: DateFormatterOptions) => string;
487
+ fullMonth: (date: Date, options?: DateFormatterOptions) => string;
488
+ fullYear: (date: Date, options?: DateFormatterOptions) => string;
489
+ dayPeriod: (date: Date) => string;
490
+ part: (dateObj: DateValue, type: Intl.DateTimeFormatPartTypes, options?: DateFormatterOptions) => string;
491
+ toParts: (date: DateValue, options?: DateFormatterOptions) => Intl.DateTimeFormatPart[];
492
+ getMonths: () => {
493
+ label: string;
494
+ value: number;
495
+ }[];
496
+ };
497
+ /**
498
+ * Creates a wrapper around the `DateFormatter`, which is
499
+ * an improved version of the {@link Intl.DateTimeFormat} API,
500
+ * that is used internally by the various date builders to
501
+ * easily format dates in a consistent way.
502
+ *
503
+ * @see [DateFormatter](https://react-spectrum.adobe.com/internationalized/date/DateFormatter.html)
504
+ */
505
+ declare function createFormatter(initialLocale: string, opts?: DateFormatterOptions): Formatter;
506
+
507
+ type SyncDateSegmentValuesProps = {
508
+ value: DateValue;
509
+ formatter: Formatter;
510
+ };
511
+ type SyncTimeSegmentValuesProps = {
512
+ value: DateValue;
513
+ formatter: Formatter;
514
+ };
515
+ declare function syncTimeSegmentValues(props: SyncTimeSegmentValuesProps): SegmentValueObj;
516
+ declare function initializeSegmentValues(granularity: Granularity): SegmentValueObj;
517
+ type SharedContentProps = {
518
+ granularity: Granularity;
519
+ dateRef: DateValue;
520
+ formatter: Formatter;
521
+ hideTimeZone: boolean;
522
+ hourCycle: HourCycle;
523
+ isTimeValue?: boolean;
524
+ };
525
+ type CreateContentObjProps = SharedContentProps & {
526
+ segmentValues: SegmentValueObj;
527
+ locale: InputSignal<string>;
528
+ };
529
+ declare function syncSegmentValues(props: SyncDateSegmentValuesProps): SegmentValueObj;
530
+ type CreateContentProps = CreateContentObjProps;
531
+ declare function createContent(props: CreateContentProps): {
532
+ obj: SegmentContentObj;
533
+ arr: {
534
+ part: SegmentPart;
535
+ value: string;
536
+ }[];
537
+ };
538
+
539
+ declare const supportedLocales: readonly ["ach", "af", "am", "an", "ar", "ast", "az", "be", "bg", "bn", "br", "bs", "ca", "cak", "ckb", "cs", "cy", "da", "de", "dsb", "el", "en", "eo", "es", "et", "eu", "fa", "ff", "fi", "fr", "fy", "ga", "gd", "gl", "he", "hr", "hsb", "hu", "ia", "id", "it", "ja", "ka", "kk", "kn", "ko", "lb", "lo", "lt", "lv", "meh", "ml", "ms", "nl", "nn", "no", "oc", "pl", "pt", "rm", "ro", "ru", "sc", "scn", "sk", "sl", "sr", "sv", "szl", "tg", "th", "tr", "uk", "zh-CN", "zh-TW"];
540
+ declare const placeholderFields: readonly ["year", "month", "day"];
541
+ type SupportedLocale = (typeof supportedLocales)[number];
542
+ type PlaceholderField = (typeof placeholderFields)[number];
543
+ type PlaceholderMap = Record<SupportedLocale, Record<PlaceholderField, string>>;
544
+ type Field = 'era' | 'year' | 'month' | 'day' | 'hour' | 'minute' | 'second' | 'dayPeriod';
545
+ declare function getPlaceholder(field: Field, value: string, locale: SupportedLocale | (string & {})): string;
546
+
547
+ declare function isSegmentNavigationKey(key: string): boolean;
548
+ declare function isNumberString(value: string): boolean;
549
+ declare function isAcceptableSegmentKey(key: string): boolean;
550
+ declare function getSegmentElements(parentElement: HTMLElement): Element[];
551
+
552
+ type UseDateFieldProps = {
553
+ hasLeftFocus: WritableSignal<boolean>;
554
+ lastKeyZero: WritableSignal<boolean>;
555
+ placeholder: ModelSignal<DateValue> | WritableSignal<DateValue>;
556
+ hourCycle: HourCycle;
557
+ formatter: Formatter;
558
+ segmentValues: WritableSignal<SegmentValueObj>;
559
+ step: Signal<DateStep>;
560
+ disabled: InputSignal<boolean>;
561
+ readonly: InputSignal<boolean>;
562
+ part: SegmentPart;
563
+ modelValue: ModelSignal<DateValue | undefined> | WritableSignal<DateValue | undefined>;
564
+ focusNext: () => void;
565
+ };
566
+ type SegmentAttrProps = {
567
+ disabled: boolean;
568
+ segmentValues: SegmentValueObj;
569
+ hourCycle: HourCycle;
570
+ placeholder: DateValue;
571
+ formatter: Formatter;
572
+ };
573
+ declare function daySegmentAttrs(props: SegmentAttrProps): {
574
+ 'aria-label': string;
575
+ 'aria-valuemin': number;
576
+ 'aria-valuemax': number;
577
+ 'aria-valuenow': number;
578
+ 'aria-valuetext': string;
579
+ 'data-placeholder': string | undefined;
580
+ role: string;
581
+ contenteditable: boolean;
582
+ tabindex: number | undefined;
583
+ spellcheck: boolean;
584
+ inputmode: string;
585
+ autocorrect: string;
586
+ enterkeyhint: string;
587
+ style: string;
588
+ };
589
+ declare function monthSegmentAttrs(props: SegmentAttrProps): {
590
+ 'aria-label': string;
591
+ contenteditable: boolean;
592
+ 'aria-valuemin': number;
593
+ 'aria-valuemax': number;
594
+ 'aria-valuenow': number;
595
+ 'aria-valuetext': string;
596
+ 'data-placeholder': string | undefined;
597
+ role: string;
598
+ tabindex: number | undefined;
599
+ spellcheck: boolean;
600
+ inputmode: string;
601
+ autocorrect: string;
602
+ enterkeyhint: string;
603
+ style: string;
604
+ };
605
+ declare function yearSegmentAttrs(props: SegmentAttrProps): {
606
+ 'aria-label': string;
607
+ 'aria-valuemin': number;
608
+ 'aria-valuemax': number;
609
+ 'aria-valuenow': number;
610
+ 'aria-valuetext': string;
611
+ 'data-placeholder': string | undefined;
612
+ role: string;
613
+ contenteditable: boolean;
614
+ tabindex: number | undefined;
615
+ spellcheck: boolean;
616
+ inputmode: string;
617
+ autocorrect: string;
618
+ enterkeyhint: string;
619
+ style: string;
620
+ };
621
+ declare function hourSegmentAttrs(props: SegmentAttrProps): {};
622
+ declare function minuteSegmentAttrs(props: SegmentAttrProps): {};
623
+ declare function secondSegmentAttrs(props: SegmentAttrProps): {};
624
+ declare function dayPeriodSegmentAttrs(props: SegmentAttrProps): {};
625
+ declare function literalSegmentAttrs(_props: SegmentAttrProps): {
626
+ 'aria-hidden': boolean;
627
+ 'data-segment': string;
628
+ };
629
+ declare function timeZoneSegmentAttrs(props: SegmentAttrProps): {
630
+ role: string;
631
+ 'aria-label': string;
632
+ 'data-readonly': boolean;
633
+ 'data-segment': string;
634
+ tabindex: number | undefined;
635
+ style: string;
636
+ };
637
+ declare function eraSegmentAttrs(props: SegmentAttrProps): {
638
+ 'aria-label': string;
639
+ 'aria-valuemin': number;
640
+ 'aria-valuemax': number;
641
+ 'aria-valuenow': number;
642
+ 'aria-valuetext': unknown;
643
+ role: string;
644
+ contenteditable: boolean;
645
+ tabindex: number | undefined;
646
+ spellcheck: boolean;
647
+ inputmode: string;
648
+ autocorrect: string;
649
+ enterkeyhint: string;
650
+ style: string;
651
+ };
652
+ declare const segmentBuilders: {
653
+ day: {
654
+ attrs: typeof daySegmentAttrs;
655
+ };
656
+ month: {
657
+ attrs: typeof monthSegmentAttrs;
658
+ };
659
+ year: {
660
+ attrs: typeof yearSegmentAttrs;
661
+ };
662
+ hour: {
663
+ attrs: typeof hourSegmentAttrs;
664
+ };
665
+ minute: {
666
+ attrs: typeof minuteSegmentAttrs;
667
+ };
668
+ second: {
669
+ attrs: typeof secondSegmentAttrs;
670
+ };
671
+ dayPeriod: {
672
+ attrs: typeof dayPeriodSegmentAttrs;
673
+ };
674
+ literal: {
675
+ attrs: typeof literalSegmentAttrs;
676
+ };
677
+ timeZoneName: {
678
+ attrs: typeof timeZoneSegmentAttrs;
679
+ };
680
+ era: {
681
+ attrs: typeof eraSegmentAttrs;
682
+ };
683
+ };
684
+ declare function useDateField(props: UseDateFieldProps): {
685
+ handleSegmentClick: (e: MouseEvent) => void;
686
+ handleSegmentKeydown: (e: KeyboardEvent) => void;
687
+ attributes: Signal<{}>;
688
+ };
689
+
690
+ declare function getOptsByGranularity(granularity: Granularity, hourCycle: HourCycle, isTimeValue?: boolean): Intl.DateTimeFormatOptions;
691
+ declare function normalizeDateStep(step?: DateStep): DateStep;
692
+ declare function handleCalendarInitialFocus(calendar: HTMLElement): void;
693
+ declare function normalizeHourCycle(hourCycle: HourCycle): "h11" | "h23" | undefined;
694
+ declare function normalizeHour12(hourCycle: HourCycle): boolean | undefined;
695
+
696
+ declare enum RdxPositionSide {
697
+ Top = "top",
698
+ Right = "right",
699
+ Bottom = "bottom",
700
+ Left = "left"
701
+ }
702
+ declare enum RdxPositionAlign {
703
+ Start = "start",
704
+ Center = "center",
705
+ End = "end"
706
+ }
707
+ type RdxPositionSideAndAlign = {
708
+ side: RdxPositionSide;
709
+ align: RdxPositionAlign;
710
+ };
711
+ type RdxPositionSideAndAlignOffsets = {
712
+ sideOffset: number;
713
+ alignOffset: number;
714
+ };
715
+ type RdxPositions = Readonly<{
716
+ [key in RdxPositionSide]: Readonly<{
717
+ [key in RdxPositionAlign]: Readonly<ConnectionPositionPair>;
718
+ }>;
719
+ }>;
720
+ type RdxPositioningDefaults = Readonly<{
721
+ offsets: Readonly<{
722
+ side: number;
723
+ align: number;
724
+ }>;
725
+ arrow: Readonly<{
726
+ width: number;
727
+ height: number;
728
+ }>;
729
+ }>;
730
+ type RdxAllPossibleConnectedPositions = ReadonlyMap<`${RdxPositionSide}|${RdxPositionAlign}`, ConnectionPositionPair>;
731
+ type RdxArrowPositionParams = {
732
+ top: string;
733
+ left: string;
734
+ transform: string;
735
+ transformOrigin: string;
736
+ };
737
+
738
+ declare const RDX_POSITIONS: RdxPositions;
739
+ declare const RDX_POSITIONING_DEFAULTS: RdxPositioningDefaults;
740
+
741
+ declare function getContentPosition(sideAndAlignWithOffsets: RdxPositionSideAndAlign & RdxPositionSideAndAlignOffsets): ConnectedPosition;
742
+ declare function getAllPossibleConnectedPositions(): RdxAllPossibleConnectedPositions;
743
+ declare function getSideAndAlignFromAllPossibleConnectedPositions(position: ConnectionPositionPair): RdxPositionSideAndAlign;
744
+ declare function getArrowPositionParams(sideAndAlign: RdxPositionSideAndAlign, arrowWidthAndHeight: {
745
+ width: number;
746
+ height: number;
747
+ }, triggerWidthAndHeight: {
748
+ width: number;
749
+ height: number;
750
+ }): RdxArrowPositionParams;
751
+
752
+ type DataOrientation = 'vertical' | 'horizontal';
753
+ /**
754
+ * Nullable from `Type` adds `null` and `undefined`
755
+ *
756
+ * @example ```ts
757
+ * // Expect: string | number | undefined | null
758
+ * type Value = Nulling<string | number>;
759
+ * ```
760
+ */
761
+ type Nullable<Type> = null | Type | undefined;
762
+ /**
763
+ * SafeFunction is a type for functions that accept any number of arguments of unknown types
764
+ * and return a value of an unknown type. This is useful when you want to define a function
765
+ * without being strict about the input or output types, maintaining flexibility.
766
+ *
767
+ * @example ```ts
768
+ * const safeFn: SafeFunction = (...args) => {
769
+ * return args.length > 0 ? args[0] : null;
770
+ * };
771
+ *
772
+ * const result = safeFn(1, 'hello'); // result: 1
773
+ * ```
774
+ */
775
+ type SafeFunction = (...args: unknown[]) => unknown;
776
+ type AcceptableValue = string | number | Record<string, any> | null;
777
+
778
+ type ArrowKeyOptions = 'horizontal' | 'vertical' | 'both';
779
+ interface ArrowNavigationOptions {
780
+ /**
781
+ * The arrow key options to allow navigation
782
+ *
783
+ * @defaultValue "both"
784
+ */
785
+ arrowKeyOptions?: ArrowKeyOptions;
786
+ /**
787
+ * The attribute name to find the collection items in the parent element.
788
+ *
789
+ * @defaultValue "data-rdx-collection-item"
790
+ */
791
+ attributeName?: string;
792
+ /**
793
+ * The parent element where contains all the collection items, this will collect every item to be used when nav
794
+ * It will be ignored if attributeName is provided
795
+ *
796
+ * @defaultValue []
797
+ */
798
+ itemsArray?: HTMLElement[];
799
+ /**
800
+ * Allow loop navigation. If false, it will stop at the first and last element
801
+ *
802
+ * @defaultValue true
803
+ */
804
+ loop?: boolean;
805
+ /**
806
+ * The orientation of the collection
807
+ *
808
+ * @defaultValue "ltr"
809
+ */
810
+ dir?: Direction;
811
+ /**
812
+ * Prevent the scroll when navigating. This happens when the direction of the
813
+ * key matches the scroll direction of any ancestor scrollable elements.
814
+ *
815
+ * @defaultValue true
816
+ */
817
+ preventScroll?: boolean;
818
+ /**
819
+ * By default all currentElement would trigger navigation. If `true`, currentElement nodeName in the ignore list will return null
820
+ *
821
+ * @defaultValue false
822
+ */
823
+ enableIgnoredElement?: boolean;
824
+ /**
825
+ * Focus the element after navigation
826
+ *
827
+ * @defaultValue false
828
+ */
829
+ focus?: boolean;
830
+ }
831
+ /**
832
+ * Allow arrow navigation for every html element with data-rdx-collection-item tag
833
+ *
834
+ * @param e Keyboard event
835
+ * @param currentElement Event initiator element or any element that wants to handle the navigation
836
+ * @param parentElement Parent element where contains all the collection items, this will collect every item to be used when nav
837
+ * @param options further options
838
+ * @returns the navigated html element or null if none
839
+ */
840
+ declare function useArrowNavigation(e: KeyboardEvent, currentElement: HTMLElement, parentElement: HTMLElement | undefined, options?: ArrowNavigationOptions): HTMLElement | null;
841
+
842
+ /**
843
+ * Creates a resize observer effect for element
844
+ *
845
+ * @param options Configuration options
846
+ * @param options.injector Angular injector
847
+ * @param options.element Signal returning the element to observe
848
+ * @param options.onResize Callback when element is resized
849
+ * @returns EffectRef that can be destroyed when needed
850
+ */
851
+ declare function resizeEffect(options: {
852
+ injector: Injector;
853
+ element: Signal<ElementRef | HTMLElement | null | undefined>;
854
+ onResize: ResizeObserverCallback;
855
+ }): EffectRef;
856
+
857
+ /**
858
+ * We want to have the Tuple in order to use the types in the function signature
859
+ */
860
+ type ExplicitEffectValues<T> = {
861
+ [K in keyof T]: () => T[K];
862
+ };
863
+ /**
864
+ * Extend the regular set of effect options
865
+ */
866
+ declare interface CreateExplicitEffectOptions extends CreateEffectOptions {
867
+ /**
868
+ * Option that allows the computation not to execute immediately, but only run on first change.
869
+ */
870
+ defer?: boolean;
871
+ }
872
+ /**
873
+ * This explicit effect function will take the dependencies and the function to run when the dependencies change.
874
+ *
875
+ * @example
876
+ * ```typescript
877
+ * import { watch } from 'radix-ng/primitives/core';
878
+ *
879
+ * const count = signal(0);
880
+ * const state = signal('idle');
881
+ *
882
+ * watch([count, state], ([count, state], cleanup) => {
883
+ * console.log('count updated', count, state);
884
+ *
885
+ * cleanup(() => {
886
+ * console.log('cleanup');
887
+ * });
888
+ * });
889
+ * ```
890
+ *
891
+ * @param deps - The dependencies that the effect will run on
892
+ * @param fn - The function to run when the dependencies change
893
+ * @param options - The options for the effect with the addition of defer (it allows the computation to run on first change, not immediately)
894
+ */
895
+ declare function watch<Input extends readonly unknown[], Params = Input>(deps: readonly [...ExplicitEffectValues<Input>], fn: (deps: Params, onCleanup: EffectCleanupRegisterFn) => void, options?: CreateExplicitEffectOptions | undefined): EffectRef;
896
+
897
+ export { A, ALT, ARROW_DOWN, ARROW_LEFT, ARROW_RIGHT, ARROW_UP, ASTERISK, BACKSPACE, CAPS_LOCK, CONTROL, CTRL, DELETE, END, ENTER, ESCAPE, F1, F10, F11, F12, F2, F3, F4, F5, F6, F7, F8, F9, HOME, META, P, PAGE_DOWN, PAGE_UP, RDX_POSITIONING_DEFAULTS, RDX_POSITIONS, RdxAutoFocusDirective, RdxControlValueAccessor, RdxFocusInitialDirective, RdxPositionAlign, RdxPositionSide, SHIFT, SPACE, SPACE_CODE, TAB, WINDOW, _IdGenerator, a, areAllDaysBetweenValid, clamp, createContent, createContext, createFormatter, createMonth, createMonths, elementSize, getActiveElement, getAllPossibleConnectedPositions, getArrowPositionParams, getContentPosition, getDaysBetween, getDaysInMonth, getDefaultDate, getDefaultTime, getLastFirstDayOfWeek, getNextLastDayOfWeek, getOptsByGranularity, getPlaceholder, getSegmentElements, getSideAndAlignFromAllPossibleConnectedPositions, getWeekNumber, handleCalendarInitialFocus, hasTime, initializeSegmentValues, injectControlValueAccessor, injectDocument, injectIsClient, injectNgControl, injectWindow, isAcceptableSegmentKey, isAfter, isAfterOrSame, isBefore, isBeforeOrSame, isBetween, isBetweenInclusive, isCalendarDateTime, isEqual, isInsideForm, isNullish, isNumber, isNumberString, isSegmentNavigationKey, isValueEqualOrExist, isZonedDateTime, j, k, n, normalizeDateStep, normalizeHour12, normalizeHourCycle, p, provideToken, provideValueAccessor, resizeEffect, roundToStepPrecision, segmentBuilders, snapValueToStep, syncSegmentValues, syncTimeSegmentValues, toDate, useArrowNavigation, useDateField, watch };
898
+ export type { AcceptableValue, AnyExceptLiteral, CreateMonthProps, DataOrientation, DateAndTimeSegmentObj, DateFormatterOptions, DateMatcher, DateRange, DateSegmentObj, DateSegmentPart, DateStep, DayPeriod, EditableSegmentPart, Formatter, Granularity, HourCycle, Month, NonEditableSegmentPart, Nullable, PlaceholderMap, RdxAllPossibleConnectedPositions, RdxArrowPositionParams, RdxPositionSideAndAlign, RdxPositionSideAndAlignOffsets, RdxPositioningDefaults, RdxPositions, SafeFunction, SegmentContentObj, SegmentPart, SegmentValueObj, TimeGranularity, TimeSegmentObj, TimeSegmentPart, TimeValue, UseDateFieldProps };