@radix-ng/primitives 0.42.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 +53 -0
  55. package/fesm2022/radix-ng-primitives-focus-guards.mjs.map +1 -0
  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 +91 -88
  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 +93 -98
  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/README.md +1 -0
  114. package/focus-guards/index.d.ts +15 -0
  115. package/focus-scope/index.d.ts +65 -1
  116. package/hover-card/index.d.ts +471 -19
  117. package/index.d.ts +2 -1
  118. package/label/index.d.ts +27 -1
  119. package/menu/index.d.ts +136 -26
  120. package/menubar/index.d.ts +53 -21
  121. package/navigation-menu/index.d.ts +402 -25
  122. package/number-field/index.d.ts +202 -16
  123. package/package.json +26 -5
  124. package/pagination/index.d.ts +96 -20
  125. package/popover/index.d.ts +402 -19
  126. package/popper/README.md +3 -0
  127. package/popper/index.d.ts +206 -0
  128. package/portal/README.md +1 -0
  129. package/portal/index.d.ts +22 -0
  130. package/presence/index.d.ts +103 -5
  131. package/progress/index.d.ts +76 -8
  132. package/radio/index.d.ts +118 -4
  133. package/roving-focus/index.d.ts +174 -3
  134. package/select/index.d.ts +211 -23
  135. package/separator/index.d.ts +63 -1
  136. package/slider/index.d.ts +262 -17
  137. package/stepper/index.d.ts +122 -21
  138. package/switch/index.d.ts +102 -9
  139. package/tabs/index.d.ts +111 -13
  140. package/time-field/index.d.ts +211 -10
  141. package/toggle/index.d.ts +75 -3
  142. package/toggle-group/index.d.ts +194 -5
  143. package/toolbar/index.d.ts +52 -16
  144. package/tooltip/index.d.ts +432 -19
  145. package/tooltip2/README.md +3 -0
  146. package/tooltip2/index.d.ts +325 -0
  147. package/visually-hidden/index.d.ts +65 -3
  148. package/accordion/src/accordion-content-presence.directive.d.ts +0 -6
  149. package/accordion/src/accordion-content.directive.d.ts +0 -8
  150. package/accordion/src/accordion-header.directive.d.ts +0 -7
  151. package/accordion/src/accordion-item.directive.d.ts +0 -43
  152. package/accordion/src/accordion-root.directive.d.ts +0 -83
  153. package/accordion/src/accordion-trigger.directive.d.ts +0 -10
  154. package/alert-dialog/src/alert-dialog-cancel.directive.d.ts +0 -7
  155. package/alert-dialog/src/alert-dialog-content.directive.d.ts +0 -9
  156. package/alert-dialog/src/alert-dialog-root.directive.d.ts +0 -9
  157. package/alert-dialog/src/alert-dialog-title.directive.d.ts +0 -5
  158. package/alert-dialog/src/alert-dialog-trigger.directive.d.ts +0 -7
  159. package/alert-dialog/src/alert-dialog.service.d.ts +0 -14
  160. package/aspect-ratio/src/aspect-ratio.directive.d.ts +0 -32
  161. package/avatar/src/avatar-context.token.d.ts +0 -7
  162. package/avatar/src/avatar-fallback.directive.d.ts +0 -20
  163. package/avatar/src/avatar-image.directive.d.ts +0 -29
  164. package/avatar/src/avatar-root.directive.d.ts +0 -8
  165. package/avatar/src/avatar.config.d.ts +0 -13
  166. package/avatar/src/types.d.ts +0 -2
  167. package/calendar/src/calendar-cell-trigger.directive.d.ts +0 -54
  168. package/calendar/src/calendar-cell.directive.d.ts +0 -11
  169. package/calendar/src/calendar-grid-body.directive.d.ts +0 -5
  170. package/calendar/src/calendar-grid-head.directive.d.ts +0 -5
  171. package/calendar/src/calendar-grid-row.directive.d.ts +0 -5
  172. package/calendar/src/calendar-grid.directive.d.ts +0 -8
  173. package/calendar/src/calendar-head-cell.directive.d.ts +0 -5
  174. package/calendar/src/calendar-header.directive.d.ts +0 -5
  175. package/calendar/src/calendar-heading.directive.d.ts +0 -7
  176. package/calendar/src/calendar-next.directive.d.ts +0 -16
  177. package/calendar/src/calendar-prev.directive.d.ts +0 -16
  178. package/calendar/src/calendar-root.directive.d.ts +0 -148
  179. package/calendar/src/calendar.d.ts +0 -44
  180. package/calendar/src//321/201alendar-/321/201ontext.token.d.ts +0 -24
  181. package/checkbox/src/checkbox-button.directive.d.ts +0 -8
  182. package/checkbox/src/checkbox-indicator.directive.d.ts +0 -6
  183. package/checkbox/src/checkbox-input.directive.d.ts +0 -10
  184. package/checkbox/src/checkbox.directive.d.ts +0 -86
  185. package/checkbox/src/checkbox.token.d.ts +0 -4
  186. package/collapsible/src/collapsible-content-presence.directive.d.ts +0 -6
  187. package/collapsible/src/collapsible-content.directive.d.ts +0 -18
  188. package/collapsible/src/collapsible-root.directive.d.ts +0 -44
  189. package/collapsible/src/collapsible-trigger.directive.d.ts +0 -6
  190. package/config/src/config.d.ts +0 -21
  191. package/config/src/config.provider.d.ts +0 -10
  192. package/context-menu/src/context-menu-content.directive.d.ts +0 -15
  193. package/context-menu/src/context-menu-item-checkbox.directive.d.ts +0 -9
  194. package/context-menu/src/context-menu-item-indicator.directive.d.ts +0 -7
  195. package/context-menu/src/context-menu-item-radio-group.directive.d.ts +0 -12
  196. package/context-menu/src/context-menu-item-radio.directive.d.ts +0 -19
  197. package/context-menu/src/context-menu-item-selectable.d.ts +0 -12
  198. package/context-menu/src/context-menu-item.directive.d.ts +0 -17
  199. package/context-menu/src/context-menu-label.directive.d.ts +0 -5
  200. package/context-menu/src/context-menu-separator.directive.d.ts +0 -6
  201. package/context-menu/src/context-menu-trigger.directive.d.ts +0 -31
  202. package/core/src/accessor/control-value-accessor.d.ts +0 -67
  203. package/core/src/accessor/provide-value-accessor.d.ts +0 -12
  204. package/core/src/auto-focus.directive.d.ts +0 -14
  205. package/core/src/chunk.d.ts +0 -12
  206. package/core/src/clamp.d.ts +0 -38
  207. package/core/src/create-context.d.ts +0 -10
  208. package/core/src/date-time/calendar.d.ts +0 -33
  209. package/core/src/date-time/comparators.d.ts +0 -98
  210. package/core/src/date-time/formatter.d.ts +0 -30
  211. package/core/src/date-time/index.d.ts +0 -9
  212. package/core/src/date-time/parser.d.ts +0 -37
  213. package/core/src/date-time/parts.d.ts +0 -12
  214. package/core/src/date-time/placeholders.d.ts +0 -8
  215. package/core/src/date-time/segment.d.ts +0 -4
  216. package/core/src/date-time/types.d.ts +0 -58
  217. package/core/src/date-time/useDateField.d.ts +0 -142
  218. package/core/src/date-time/utils.d.ts +0 -7
  219. package/core/src/document.d.ts +0 -1
  220. package/core/src/focus-initial.directive.d.ts +0 -9
  221. package/core/src/getActiveElement.d.ts +0 -1
  222. package/core/src/id-generator.d.ts +0 -12
  223. package/core/src/inject-ng-control.d.ts +0 -8
  224. package/core/src/is-client.d.ts +0 -1
  225. package/core/src/is-equal.d.ts +0 -7
  226. package/core/src/is-inside-form.d.ts +0 -2
  227. package/core/src/is-nullish.d.ts +0 -1
  228. package/core/src/is-number.d.ts +0 -1
  229. package/core/src/isValueEqualOrExist.d.ts +0 -10
  230. package/core/src/kbd-constants.d.ts +0 -41
  231. package/core/src/positioning/constants.d.ts +0 -3
  232. package/core/src/positioning/types.d.ts +0 -42
  233. package/core/src/positioning/utils.d.ts +0 -12
  234. package/core/src/provide-token.d.ts +0 -22
  235. package/core/src/serialize.d.ts +0 -11
  236. package/core/src/types.d.ts +0 -25
  237. package/core/src/useArrowNavigation.d.ts +0 -65
  238. package/core/src/useResizeObserver.d.ts +0 -15
  239. package/core/src/watch.d.ts +0 -41
  240. package/core/src/window.d.ts +0 -3
  241. package/cropper/src/cropper-context.token.d.ts +0 -12
  242. package/cropper/src/cropper-crop-area.directive.d.ts +0 -6
  243. package/cropper/src/cropper-description.directive.d.ts +0 -6
  244. package/cropper/src/cropper-image.component.d.ts +0 -10
  245. package/cropper/src/cropper-root.directive.d.ts +0 -91
  246. package/date-field/src/date-field-context.token.d.ts +0 -19
  247. package/date-field/src/date-field-input.directive.d.ts +0 -53
  248. package/date-field/src/date-field-root.directive.d.ts +0 -131
  249. package/dialog/src/dialog-close.directive.d.ts +0 -7
  250. package/dialog/src/dialog-content.directive.d.ts +0 -21
  251. package/dialog/src/dialog-description.directive.d.ts +0 -5
  252. package/dialog/src/dialog-dismiss.directive.d.ts +0 -7
  253. package/dialog/src/dialog-ref.d.ts +0 -40
  254. package/dialog/src/dialog-title.directive.d.ts +0 -5
  255. package/dialog/src/dialog-trigger.directive.d.ts +0 -28
  256. package/dialog/src/dialog.config.d.ts +0 -41
  257. package/dialog/src/dialog.injectors.d.ts +0 -4
  258. package/dialog/src/dialog.providers.d.ts +0 -19
  259. package/dialog/src/dialog.service.d.ts +0 -26
  260. package/dismissible-layer/README.md +0 -1
  261. package/dismissible-layer/index.d.ts +0 -1
  262. package/dismissible-layer/src/utils.d.ts +0 -38
  263. package/dropdown-menu/src/dropdown-menu-content.directive.d.ts +0 -15
  264. package/dropdown-menu/src/dropdown-menu-item-checkbox.directive.d.ts +0 -9
  265. package/dropdown-menu/src/dropdown-menu-item-indicator.directive.d.ts +0 -7
  266. package/dropdown-menu/src/dropdown-menu-item-radio-group.directive.d.ts +0 -12
  267. package/dropdown-menu/src/dropdown-menu-item-radio.directive.d.ts +0 -19
  268. package/dropdown-menu/src/dropdown-menu-item-selectable.d.ts +0 -12
  269. package/dropdown-menu/src/dropdown-menu-item.directive.d.ts +0 -17
  270. package/dropdown-menu/src/dropdown-menu-label.directive.d.ts +0 -6
  271. package/dropdown-menu/src/dropdown-menu-separator.directive.d.ts +0 -6
  272. package/dropdown-menu/src/dropdown-menu-trigger.directive.d.ts +0 -73
  273. package/editable/src/editable-root.d.ts +0 -67
  274. package/fesm2022/radix-ng-primitives-dismissible-layer.mjs +0 -211
  275. package/fesm2022/radix-ng-primitives-dismissible-layer.mjs.map +0 -1
  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 -33
  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 -23
  452. package/visually-hidden/src/visually-hidden-input.directive.d.ts +0 -19
  453. package/visually-hidden/src/visually-hidden.directive.d.ts +0 -17
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, inject, input, computed, signal, effect, Directive, ElementRef, model, booleanAttribute, linkedSignal, NgModule } from '@angular/core';
2
+ import { InjectionToken, inject, ElementRef, input, computed, signal, effect, Directive, model, booleanAttribute, linkedSignal, NgModule } from '@angular/core';
3
3
  import { useDateField, normalizeDateStep, getDefaultTime, isNullish, isBefore, createContent, watch, createFormatter, normalizeHourCycle, initializeSegmentValues, syncSegmentValues, getSegmentElements, isSegmentNavigationKey, ARROW_LEFT, ARROW_RIGHT, provideToken } from '@radix-ng/primitives/core';
4
4
  import { today, toCalendarDateTime, getLocalTimeZone, isEqualDay } from '@internationalized/date';
5
5
 
@@ -9,34 +9,34 @@ function injectTimeFieldsRootContext() {
9
9
  }
10
10
 
11
11
  class RdxTimeFieldInputDirective {
12
- constructor(el) {
13
- this.el = el;
12
+ constructor() {
13
+ this.el = inject(ElementRef);
14
14
  this.rootContext = injectTimeFieldsRootContext();
15
15
  /**
16
16
  * The part of the date to render
17
17
  * `'hour' | 'minute' | 'second' | 'dayPeriod' | 'literal' | 'timeZoneName'`
18
18
  */
19
- this.part = input();
19
+ this.part = input(...(ngDevMode ? [undefined, { debugName: "part" }] : []));
20
20
  /**
21
21
  * @ignore
22
22
  */
23
- this.disabled = computed(() => this.rootContext.disabled());
23
+ this.disabled = computed(() => this.rootContext.disabled(), ...(ngDevMode ? [{ debugName: "disabled" }] : []));
24
24
  /**
25
25
  * @ignore
26
26
  */
27
- this.readonly = computed(() => this.rootContext.readonly());
27
+ this.readonly = computed(() => this.rootContext.readonly(), ...(ngDevMode ? [{ debugName: "readonly" }] : []));
28
28
  /**
29
29
  * @ignore
30
30
  */
31
- this.isInvalid = computed(() => this.rootContext.isInvalid());
31
+ this.isInvalid = computed(() => this.rootContext.isInvalid(), ...(ngDevMode ? [{ debugName: "isInvalid" }] : []));
32
32
  /**
33
33
  * @ignore
34
34
  */
35
- this.hasLeftFocus = signal(true);
35
+ this.hasLeftFocus = signal(true, ...(ngDevMode ? [{ debugName: "hasLeftFocus" }] : []));
36
36
  /**
37
37
  * @ignore
38
38
  */
39
- this.lastKeyZero = signal(false);
39
+ this.lastKeyZero = signal(false, ...(ngDevMode ? [{ debugName: "lastKeyZero" }] : []));
40
40
  this.fieldData = computed(() => {
41
41
  return useDateField({
42
42
  hasLeftFocus: this.hasLeftFocus,
@@ -52,8 +52,8 @@ class RdxTimeFieldInputDirective {
52
52
  focusNext: this.rootContext.focusNext,
53
53
  step: this.rootContext.step$
54
54
  });
55
- });
56
- this.attributes = computed(() => this.fieldData().attributes());
55
+ }, ...(ngDevMode ? [{ debugName: "fieldData" }] : []));
56
+ this.attributes = computed(() => this.fieldData().attributes(), ...(ngDevMode ? [{ debugName: "attributes" }] : []));
57
57
  effect(() => {
58
58
  const { handleSegmentClick, handleSegmentKeydown } = this.fieldData();
59
59
  this.handleSegmentKeydown = handleSegmentKeydown;
@@ -78,10 +78,10 @@ class RdxTimeFieldInputDirective {
78
78
  onFocusOut() {
79
79
  this.hasLeftFocus.set(true);
80
80
  }
81
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: RdxTimeFieldInputDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
82
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.4", type: RdxTimeFieldInputDirective, isStandalone: true, selector: "[rdxTimeFieldInput]", inputs: { part: { classPropertyName: "part", publicName: "part", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "mousedown": "part() !== \"literal\" && handleSegmentClick($event)", "keydown": "part() !== \"literal\" && handleSegmentKeydown($event)", "focus": "part() !== \"literal\" && onFocus($event)", "focusout": "part() !== \"literal\" && onFocusOut()" }, properties: { "attr.contenteditable": "disabled() || readonly() ? false : part() !== \"literal\"", "attr.data-rdx-date-field-segment": "part()", "attr.aria-disabled": "disabled() ? \"\" : undefined", "attr.data-disabled": "disabled() ? \"\" : undefined", "attr.data-invalid": "isInvalid() ? \"\" : undefined", "attr.aria-invalid": "isInvalid() ? true : undefined" } }, ngImport: i0 }); }
81
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: RdxTimeFieldInputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
82
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.3", type: RdxTimeFieldInputDirective, isStandalone: true, selector: "[rdxTimeFieldInput]", inputs: { part: { classPropertyName: "part", publicName: "part", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "mousedown": "part() !== \"literal\" && handleSegmentClick($event)", "keydown": "part() !== \"literal\" && handleSegmentKeydown($event)", "focus": "part() !== \"literal\" && onFocus($event)", "focusout": "part() !== \"literal\" && onFocusOut()" }, properties: { "attr.contenteditable": "disabled() || readonly() ? false : part() !== \"literal\"", "attr.data-rdx-date-field-segment": "part()", "attr.aria-disabled": "disabled() ? \"\" : undefined", "attr.data-disabled": "disabled() ? \"\" : undefined", "attr.data-invalid": "isInvalid() ? \"\" : undefined", "attr.aria-invalid": "isInvalid() ? true : undefined" } }, ngImport: i0 }); }
83
83
  }
84
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: RdxTimeFieldInputDirective, decorators: [{
84
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: RdxTimeFieldInputDirective, decorators: [{
85
85
  type: Directive,
86
86
  args: [{
87
87
  selector: '[rdxTimeFieldInput]',
@@ -98,7 +98,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImpor
98
98
  '(focusout)': 'part() !== "literal" && onFocusOut()'
99
99
  }
100
100
  }]
101
- }], ctorParameters: () => [{ type: i0.ElementRef }] });
101
+ }], ctorParameters: () => [] });
102
102
 
103
103
  function convertValue(value, date = today(getLocalTimeZone())) {
104
104
  if (value && 'day' in value) {
@@ -112,63 +112,63 @@ class RdxTimeFieldRootDirective {
112
112
  /**
113
113
  * The controlled checked state of the calendar.
114
114
  */
115
- this.value = model();
115
+ this.value = model(...(ngDevMode ? [undefined, { debugName: "value" }] : []));
116
116
  /**
117
117
  * The hour cycle to use for formatting times. Defaults to the locale preference
118
118
  */
119
- this.hourCycle = input();
119
+ this.hourCycle = input(...(ngDevMode ? [undefined, { debugName: "hourCycle" }] : []));
120
120
  /**
121
121
  * The granularity to use for formatting the field. Defaults to 'day' if a CalendarDate is provided, otherwise defaults to 'minute'.
122
122
  * The field will render segments for each part of the date up to and including the specified granularity.
123
123
  */
124
- this.granularity = input();
124
+ this.granularity = input(...(ngDevMode ? [undefined, { debugName: "granularity" }] : []));
125
125
  /**
126
126
  * The locale to use for formatting dates.
127
127
  */
128
- this.locale = input('en');
129
- this.dir = input('ltr');
128
+ this.locale = input('en', ...(ngDevMode ? [{ debugName: "locale" }] : []));
129
+ this.dir = input('ltr', ...(ngDevMode ? [{ debugName: "dir" }] : []));
130
130
  /**
131
131
  * The minimum valid date that can be entered.
132
132
  */
133
- this.minValue = input();
133
+ this.minValue = input(...(ngDevMode ? [undefined, { debugName: "minValue" }] : []));
134
134
  /**
135
135
  * The maximum valid date that can be entered.
136
136
  */
137
- this.maxValue = input();
137
+ this.maxValue = input(...(ngDevMode ? [undefined, { debugName: "maxValue" }] : []));
138
138
  /**
139
139
  * Whether or not to hide the time zone segment of the field.
140
140
  */
141
- this.hideTimeZone = input(false, { transform: booleanAttribute });
142
- this.disabled = input(false, { transform: booleanAttribute });
141
+ this.hideTimeZone = input(false, ...(ngDevMode ? [{ debugName: "hideTimeZone", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
142
+ this.disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
143
143
  /**
144
144
  * Whether or not the field is readonly.
145
145
  */
146
- this.readonly = input(false, { transform: booleanAttribute });
146
+ this.readonly = input(false, ...(ngDevMode ? [{ debugName: "readonly", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
147
147
  /**
148
148
  * The stepping interval for the time fields. Defaults to 1
149
149
  */
150
- this.step = input();
151
- this.step$ = computed(() => normalizeDateStep(this.step()));
150
+ this.step = input(...(ngDevMode ? [undefined, { debugName: "step" }] : []));
151
+ this.step$ = computed(() => normalizeDateStep(this.step()), ...(ngDevMode ? [{ debugName: "step$" }] : []));
152
152
  /**
153
153
  * @ignore
154
154
  */
155
155
  this.defaultDate = computed(() => getDefaultTime({
156
156
  defaultPlaceholder: undefined,
157
157
  defaultValue: this.value()
158
- }));
158
+ }), ...(ngDevMode ? [{ debugName: "defaultDate" }] : []));
159
159
  /**
160
160
  * The placeholder date, which is used to determine what month to display when no date is selected. This updates as the user navigates the calendar and can be used to programmatically control the calendar view
161
161
  */
162
- this.placeholder = model(this.defaultDate().copy());
162
+ this.placeholder = model(this.defaultDate().copy(), ...(ngDevMode ? [{ debugName: "placeholder" }] : []));
163
163
  // Internal state
164
164
  /**
165
165
  * @ignore
166
166
  */
167
- this.segmentElements = signal(new Set());
167
+ this.segmentElements = signal(new Set(), ...(ngDevMode ? [{ debugName: "segmentElements" }] : []));
168
168
  /**
169
169
  * @ignore
170
170
  */
171
- this.currentFocusedElement = signal(null);
171
+ this.currentFocusedElement = signal(null, ...(ngDevMode ? [{ debugName: "currentFocusedElement" }] : []));
172
172
  /**
173
173
  * @ignore
174
174
  */
@@ -177,7 +177,7 @@ class RdxTimeFieldRootDirective {
177
177
  minute: null,
178
178
  second: null,
179
179
  dayPeriod: null
180
- });
180
+ }, ...(ngDevMode ? [{ debugName: "segmentValues" }] : []));
181
181
  /**
182
182
  * @ignore
183
183
  */
@@ -185,27 +185,39 @@ class RdxTimeFieldRootDirective {
185
185
  if (this.granularity())
186
186
  return this.granularity();
187
187
  return 'minute';
188
- });
189
- this.convertedMinValue = computed(() => (this.minValue() ? convertValue(this.minValue()) : undefined));
190
- this.convertedMaxValue = computed(() => (this.maxValue() ? convertValue(this.maxValue()) : undefined));
191
- this.convertedModelValue = linkedSignal({
192
- source: () => {
193
- if (isNullish(this.value()))
194
- return this.value();
195
- return convertValue(this.value());
196
- },
197
- computation: (value) => {
198
- return value;
199
- }
200
- });
201
- this.convertedPlaceholder = linkedSignal({
202
- source: () => {
203
- return convertValue(this.placeholder());
204
- },
205
- computation: (value) => {
206
- return value;
207
- }
208
- });
188
+ }, ...(ngDevMode ? [{ debugName: "inferredGranularity" }] : []));
189
+ this.convertedMinValue = computed(() => (this.minValue() ? convertValue(this.minValue()) : undefined), ...(ngDevMode ? [{ debugName: "convertedMinValue" }] : []));
190
+ this.convertedMaxValue = computed(() => (this.maxValue() ? convertValue(this.maxValue()) : undefined), ...(ngDevMode ? [{ debugName: "convertedMaxValue" }] : []));
191
+ this.convertedModelValue = linkedSignal(...(ngDevMode ? [{ debugName: "convertedModelValue", source: () => {
192
+ if (isNullish(this.value()))
193
+ return this.value();
194
+ return convertValue(this.value());
195
+ },
196
+ computation: (value) => {
197
+ return value;
198
+ } }] : [{
199
+ source: () => {
200
+ if (isNullish(this.value()))
201
+ return this.value();
202
+ return convertValue(this.value());
203
+ },
204
+ computation: (value) => {
205
+ return value;
206
+ }
207
+ }]));
208
+ this.convertedPlaceholder = linkedSignal(...(ngDevMode ? [{ debugName: "convertedPlaceholder", source: () => {
209
+ return convertValue(this.placeholder());
210
+ },
211
+ computation: (value) => {
212
+ return value;
213
+ } }] : [{
214
+ source: () => {
215
+ return convertValue(this.placeholder());
216
+ },
217
+ computation: (value) => {
218
+ return value;
219
+ }
220
+ }]));
209
221
  /**
210
222
  * @ignore
211
223
  */
@@ -219,7 +231,7 @@ class RdxTimeFieldRootDirective {
219
231
  isBefore(this.convertedMaxValue(), this.convertedModelValue()))
220
232
  return true;
221
233
  return false;
222
- });
234
+ }, ...(ngDevMode ? [{ debugName: "isInvalid" }] : []));
223
235
  /**
224
236
  * @ignore
225
237
  */
@@ -232,16 +244,16 @@ class RdxTimeFieldRootDirective {
232
244
  segmentValues: this.segmentValues(),
233
245
  locale: this.locale,
234
246
  isTimeValue: true
235
- }));
247
+ }), ...(ngDevMode ? [{ debugName: "allSegmentContent" }] : []));
236
248
  /**
237
249
  * An array of segments that should be readonly, which prevent user input on them.
238
250
  */
239
- this.segmentContents = computed(() => this.allSegmentContent().arr);
251
+ this.segmentContents = computed(() => this.allSegmentContent().arr, ...(ngDevMode ? [{ debugName: "segmentContents" }] : []));
240
252
  /**
241
253
  * @ignore
242
254
  */
243
255
  this.currentSegmentIndex = computed(() => Array.from(this.segmentElements()).findIndex((el) => el.getAttribute('data-rdx-date-field-segment') ===
244
- this.currentFocusedElement()?.getAttribute('data-rdx-date-field-segment')));
256
+ this.currentFocusedElement()?.getAttribute('data-rdx-date-field-segment')), ...(ngDevMode ? [{ debugName: "currentSegmentIndex" }] : []));
245
257
  /**
246
258
  * @ignore
247
259
  */
@@ -252,7 +264,7 @@ class RdxTimeFieldRootDirective {
252
264
  return null;
253
265
  const segmentToFocus = Array.from(this.segmentElements())[this.currentSegmentIndex() - sign];
254
266
  return segmentToFocus;
255
- });
267
+ }, ...(ngDevMode ? [{ debugName: "prevFocusableSegment" }] : []));
256
268
  /**
257
269
  * @ignore
258
270
  */
@@ -263,7 +275,7 @@ class RdxTimeFieldRootDirective {
263
275
  return null;
264
276
  const segmentToFocus = Array.from(this.segmentElements())[this.currentSegmentIndex() + sign];
265
277
  return segmentToFocus;
266
- });
278
+ }, ...(ngDevMode ? [{ debugName: "nextFocusableSegment" }] : []));
267
279
  /**
268
280
  * @ignore
269
281
  */
@@ -316,10 +328,10 @@ class RdxTimeFieldRootDirective {
316
328
  setFocusedElement(el) {
317
329
  this.currentFocusedElement.set(el);
318
330
  }
319
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: RdxTimeFieldRootDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
320
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.4", type: RdxTimeFieldRootDirective, isStandalone: true, selector: "[rdxTimeFieldRoot]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, hourCycle: { classPropertyName: "hourCycle", publicName: "hourCycle", isSignal: true, isRequired: false, transformFunction: null }, granularity: { classPropertyName: "granularity", publicName: "granularity", isSignal: true, isRequired: false, transformFunction: null }, locale: { classPropertyName: "locale", publicName: "locale", isSignal: true, isRequired: false, transformFunction: null }, dir: { classPropertyName: "dir", publicName: "dir", isSignal: true, isRequired: false, transformFunction: null }, minValue: { classPropertyName: "minValue", publicName: "minValue", isSignal: true, isRequired: false, transformFunction: null }, maxValue: { classPropertyName: "maxValue", publicName: "maxValue", isSignal: true, isRequired: false, transformFunction: null }, hideTimeZone: { classPropertyName: "hideTimeZone", publicName: "hideTimeZone", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, step: { classPropertyName: "step", publicName: "step", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", placeholder: "placeholderChange" }, host: { attributes: { "role": "group" }, listeners: { "keydown": "onKeydown($event)" }, properties: { "attr.aria-disabled": "disabled() ? \"\" : undefined", "attr.data-disabled": "disabled() ? \"\" : undefined", "attr.data-readonly": "readonly() ? \"\" : undefined", "attr.data-invalid": "isInvalid() ? \"\" : undefined", "attr.dir": "dir()" } }, providers: [provideToken(TIME_FIELDS_ROOT_CONTEXT, RdxTimeFieldRootDirective)], exportAs: ["rdxTimeFieldRoot"], ngImport: i0 }); }
331
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: RdxTimeFieldRootDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
332
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.3", type: RdxTimeFieldRootDirective, isStandalone: true, selector: "[rdxTimeFieldRoot]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, hourCycle: { classPropertyName: "hourCycle", publicName: "hourCycle", isSignal: true, isRequired: false, transformFunction: null }, granularity: { classPropertyName: "granularity", publicName: "granularity", isSignal: true, isRequired: false, transformFunction: null }, locale: { classPropertyName: "locale", publicName: "locale", isSignal: true, isRequired: false, transformFunction: null }, dir: { classPropertyName: "dir", publicName: "dir", isSignal: true, isRequired: false, transformFunction: null }, minValue: { classPropertyName: "minValue", publicName: "minValue", isSignal: true, isRequired: false, transformFunction: null }, maxValue: { classPropertyName: "maxValue", publicName: "maxValue", isSignal: true, isRequired: false, transformFunction: null }, hideTimeZone: { classPropertyName: "hideTimeZone", publicName: "hideTimeZone", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, step: { classPropertyName: "step", publicName: "step", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", placeholder: "placeholderChange" }, host: { attributes: { "role": "group" }, listeners: { "keydown": "onKeydown($event)" }, properties: { "attr.aria-disabled": "disabled() ? \"\" : undefined", "attr.data-disabled": "disabled() ? \"\" : undefined", "attr.data-readonly": "readonly() ? \"\" : undefined", "attr.data-invalid": "isInvalid() ? \"\" : undefined", "attr.dir": "dir()" } }, providers: [provideToken(TIME_FIELDS_ROOT_CONTEXT, RdxTimeFieldRootDirective)], exportAs: ["rdxTimeFieldRoot"], ngImport: i0 }); }
321
333
  }
322
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: RdxTimeFieldRootDirective, decorators: [{
334
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: RdxTimeFieldRootDirective, decorators: [{
323
335
  type: Directive,
324
336
  args: [{
325
337
  selector: '[rdxTimeFieldRoot]',
@@ -339,11 +351,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImpor
339
351
 
340
352
  const _imports = [RdxTimeFieldRootDirective, RdxTimeFieldInputDirective];
341
353
  class RdxTimeFieldModule {
342
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: RdxTimeFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
343
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.4", ngImport: i0, type: RdxTimeFieldModule, imports: [RdxTimeFieldRootDirective, RdxTimeFieldInputDirective], exports: [RdxTimeFieldRootDirective, RdxTimeFieldInputDirective] }); }
344
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: RdxTimeFieldModule }); }
354
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: RdxTimeFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
355
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.3", ngImport: i0, type: RdxTimeFieldModule, imports: [RdxTimeFieldRootDirective, RdxTimeFieldInputDirective], exports: [RdxTimeFieldRootDirective, RdxTimeFieldInputDirective] }); }
356
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: RdxTimeFieldModule }); }
345
357
  }
346
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: RdxTimeFieldModule, decorators: [{
358
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: RdxTimeFieldModule, decorators: [{
347
359
  type: NgModule,
348
360
  args: [{
349
361
  imports: [..._imports],
@@ -1 +1 @@
1
- {"version":3,"file":"radix-ng-primitives-time-field.mjs","sources":["../../../packages/primitives/time-field/src/time-field-context.token.ts","../../../packages/primitives/time-field/src/time-field-input.directive.ts","../../../packages/primitives/time-field/src/time-field-root.directive.ts","../../../packages/primitives/time-field/index.ts","../../../packages/primitives/time-field/radix-ng-primitives-time-field.ts"],"sourcesContent":["import { inject, InjectionToken, InputSignal, ModelSignal, Signal, WritableSignal } from '@angular/core';\nimport { DateStep, Formatter, HourCycle, SegmentValueObj, TimeValue } from '@radix-ng/primitives/core';\n\nexport interface TimeFieldContextToken {\n locale: InputSignal<string>;\n value: ModelSignal<TimeValue | undefined>;\n placeholder: ModelSignal<TimeValue>;\n isInvalid: Signal<boolean>;\n disabled: InputSignal<boolean>;\n readonly: InputSignal<boolean>;\n formatter: Formatter;\n hourCycle: InputSignal<HourCycle>;\n segmentValues: WritableSignal<SegmentValueObj>;\n focusNext: () => void;\n setFocusedElement: (el: HTMLElement) => void;\n convertedModelValue: WritableSignal<TimeValue | undefined>;\n convertedPlaceholder: WritableSignal<TimeValue>;\n step$: Signal<DateStep>;\n}\n\nexport const TIME_FIELDS_ROOT_CONTEXT = new InjectionToken<TimeFieldContextToken>('TIME_FIELDS_ROOT_CONTEXT');\n\nexport function injectTimeFieldsRootContext(): TimeFieldContextToken {\n return inject(TIME_FIELDS_ROOT_CONTEXT);\n}\n","import { computed, Directive, effect, ElementRef, input, signal, WritableSignal } from '@angular/core';\nimport { DateValue } from '@internationalized/date';\nimport { SegmentPart, useDateField } from '@radix-ng/primitives/core';\nimport { injectTimeFieldsRootContext } from './time-field-context.token';\n\n@Directive({\n selector: '[rdxTimeFieldInput]',\n host: {\n '[attr.contenteditable]': 'disabled() || readonly() ? false : part() !== \"literal\"',\n '[attr.data-rdx-date-field-segment]': 'part()',\n '[attr.aria-disabled]': 'disabled() ? \"\" : undefined',\n '[attr.data-disabled]': 'disabled() ? \"\" : undefined',\n '[attr.data-invalid]': 'isInvalid() ? \"\" : undefined',\n '[attr.aria-invalid]': 'isInvalid() ? true : undefined',\n\n '(mousedown)': 'part() !== \"literal\" && handleSegmentClick($event)',\n '(keydown)': 'part() !== \"literal\" && handleSegmentKeydown($event)',\n '(focus)': 'part() !== \"literal\" && onFocus($event)',\n '(focusout)': 'part() !== \"literal\" && onFocusOut()'\n }\n})\nexport class RdxTimeFieldInputDirective {\n private readonly rootContext = injectTimeFieldsRootContext();\n\n /**\n * The part of the date to render\n * `'hour' | 'minute' | 'second' | 'dayPeriod' | 'literal' | 'timeZoneName'`\n */\n readonly part = input<SegmentPart>();\n\n /**\n * @ignore\n */\n readonly disabled = computed(() => this.rootContext.disabled());\n\n /**\n * @ignore\n */\n readonly readonly = computed(() => this.rootContext.readonly());\n\n /**\n * @ignore\n */\n readonly isInvalid = computed(() => this.rootContext.isInvalid());\n\n /**\n * @ignore\n */\n readonly hasLeftFocus = signal<boolean>(true);\n\n /**\n * @ignore\n */\n readonly lastKeyZero = signal<boolean>(false);\n\n private readonly fieldData = computed(() => {\n return useDateField({\n hasLeftFocus: this.hasLeftFocus,\n lastKeyZero: this.lastKeyZero,\n placeholder: this.rootContext.convertedPlaceholder as unknown as WritableSignal<DateValue>,\n hourCycle: this.rootContext.hourCycle(),\n segmentValues: this.rootContext.segmentValues,\n formatter: this.rootContext.formatter,\n part: <SegmentPart>this.part(),\n disabled: this.rootContext.disabled,\n readonly: this.rootContext.readonly,\n modelValue: this.rootContext.convertedModelValue as unknown as WritableSignal<DateValue>,\n focusNext: this.rootContext.focusNext,\n step: this.rootContext.step$\n });\n });\n\n private readonly attributes = computed(() => this.fieldData().attributes());\n\n /**\n * @ignore\n */\n handleSegmentClick: (e: MouseEvent) => void;\n\n /**\n * @ignore\n */\n handleSegmentKeydown: (e: KeyboardEvent) => void;\n\n constructor(private el: ElementRef) {\n effect(() => {\n const { handleSegmentClick, handleSegmentKeydown } = this.fieldData();\n this.handleSegmentKeydown = handleSegmentKeydown;\n this.handleSegmentClick = handleSegmentClick;\n });\n\n effect(() => {\n const attrs = this.attributes();\n Object.entries(attrs).forEach(([attr, value]) => {\n this.el.nativeElement.setAttribute(attr, String(value));\n });\n });\n }\n\n /**\n * @ignore\n */\n onFocus(e: FocusEvent) {\n this.rootContext.setFocusedElement(e.target as HTMLElement);\n }\n\n /**\n * @ignore\n */\n onFocusOut() {\n this.hasLeftFocus.set(true);\n }\n}\n","import { Direction } from '@angular/cdk/bidi';\nimport { BooleanInput } from '@angular/cdk/coercion';\nimport {\n AfterViewInit,\n booleanAttribute,\n computed,\n Directive,\n ElementRef,\n inject,\n input,\n linkedSignal,\n model,\n OnInit,\n signal\n} from '@angular/core';\nimport { DateValue, getLocalTimeZone, isEqualDay, toCalendarDateTime, today } from '@internationalized/date';\nimport {\n ARROW_LEFT,\n ARROW_RIGHT,\n createContent,\n createFormatter,\n DateStep,\n Formatter,\n getDefaultTime,\n getSegmentElements,\n Granularity,\n HourCycle,\n initializeSegmentValues,\n isBefore,\n isNullish,\n isSegmentNavigationKey,\n normalizeDateStep,\n normalizeHourCycle,\n provideToken,\n SegmentValueObj,\n syncSegmentValues,\n TimeValue,\n watch\n} from '@radix-ng/primitives/core';\nimport { TIME_FIELDS_ROOT_CONTEXT } from './time-field-context.token';\n\nfunction convertValue(value: TimeValue, date: DateValue = today(getLocalTimeZone())) {\n if (value && 'day' in value) {\n return value;\n }\n\n return toCalendarDateTime(date, value);\n}\n\n@Directive({\n selector: '[rdxTimeFieldRoot]',\n exportAs: 'rdxTimeFieldRoot',\n providers: [provideToken(TIME_FIELDS_ROOT_CONTEXT, RdxTimeFieldRootDirective)],\n host: {\n role: 'group',\n '[attr.aria-disabled]': 'disabled() ? \"\" : undefined',\n '[attr.data-disabled]': 'disabled() ? \"\" : undefined',\n '[attr.data-readonly]': 'readonly() ? \"\" : undefined',\n '[attr.data-invalid]': 'isInvalid() ? \"\" : undefined',\n '[attr.dir]': 'dir()',\n\n '(keydown)': 'onKeydown($event)'\n }\n})\nexport class RdxTimeFieldRootDirective implements OnInit, AfterViewInit {\n private readonly elementRef = inject(ElementRef<HTMLElement>);\n\n /**\n * The controlled checked state of the calendar.\n */\n readonly value = model<TimeValue | undefined>();\n\n /**\n * The hour cycle to use for formatting times. Defaults to the locale preference\n */\n readonly hourCycle = input<HourCycle>();\n\n /**\n * The granularity to use for formatting the field. Defaults to 'day' if a CalendarDate is provided, otherwise defaults to 'minute'.\n * The field will render segments for each part of the date up to and including the specified granularity.\n */\n readonly granularity = input<Granularity>();\n\n /**\n * The locale to use for formatting dates.\n */\n readonly locale = input<string>('en');\n\n readonly dir = input<Direction>('ltr');\n\n /**\n * The minimum valid date that can be entered.\n */\n readonly minValue = input<TimeValue>();\n\n /**\n * The maximum valid date that can be entered.\n */\n readonly maxValue = input<TimeValue>();\n\n /**\n * Whether or not to hide the time zone segment of the field.\n */\n readonly hideTimeZone = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n readonly disabled = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n /**\n * Whether or not the field is readonly.\n */\n readonly readonly = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n /**\n * The stepping interval for the time fields. Defaults to 1\n */\n readonly step = input<DateStep>();\n\n readonly step$ = computed(() => normalizeDateStep(this.step()));\n\n /**\n * @ignore\n */\n readonly defaultDate = computed(() =>\n getDefaultTime({\n defaultPlaceholder: undefined,\n defaultValue: this.value()\n })\n );\n\n /**\n * The placeholder date, which is used to determine what month to display when no date is selected. This updates as the user navigates the calendar and can be used to programmatically control the calendar view\n */\n readonly placeholder = model<TimeValue | undefined>(this.defaultDate().copy());\n\n // Internal state\n\n /**\n * @ignore\n */\n readonly segmentElements = signal<Set<HTMLElement>>(new Set());\n\n /**\n * @ignore\n */\n readonly currentFocusedElement = signal<HTMLElement | null>(null);\n\n /**\n * @ignore\n */\n formatter: Formatter;\n\n /**\n * @ignore\n */\n readonly segmentValues = signal<SegmentValueObj>({\n hour: null,\n minute: null,\n second: null,\n dayPeriod: null\n } as SegmentValueObj);\n\n /**\n * @ignore\n */\n readonly inferredGranularity = computed(() => {\n if (this.granularity()) return this.granularity();\n\n return 'minute';\n });\n\n readonly convertedMinValue = computed(() => (this.minValue() ? convertValue(this.minValue()!) : undefined));\n readonly convertedMaxValue = computed(() => (this.maxValue() ? convertValue(this.maxValue()!) : undefined));\n\n readonly convertedModelValue = linkedSignal({\n source: () => {\n if (isNullish(this.value())) return this.value();\n\n return convertValue(this.value()!);\n },\n computation: (value: TimeValue | undefined) => {\n return value;\n }\n });\n\n readonly convertedPlaceholder = linkedSignal({\n source: () => {\n return convertValue(<TimeValue>this.placeholder()) as TimeValue;\n },\n computation: (value: TimeValue) => {\n return value;\n }\n });\n\n /**\n * @ignore\n */\n readonly isInvalid = computed(() => {\n if (!this.value()) return false;\n\n if (\n this.convertedMinValue() &&\n isBefore(<DateValue>this.convertedModelValue(), <DateValue>this.convertedMinValue())\n )\n return true;\n\n if (\n this.convertedMaxValue() &&\n isBefore(<DateValue>this.convertedMaxValue(), <DateValue>this.convertedModelValue())\n )\n return true;\n\n return false;\n });\n\n /**\n * @ignore\n */\n readonly allSegmentContent = computed(() =>\n createContent({\n granularity: <Granularity>this.inferredGranularity(),\n dateRef: <DateValue>this.convertedPlaceholder(),\n formatter: this.formatter,\n hideTimeZone: this.hideTimeZone(),\n hourCycle: this.hourCycle(),\n segmentValues: this.segmentValues(),\n locale: this.locale,\n isTimeValue: true\n })\n );\n\n /**\n * An array of segments that should be readonly, which prevent user input on them.\n */\n readonly segmentContents = computed(() => this.allSegmentContent().arr);\n\n /**\n * @ignore\n */\n readonly currentSegmentIndex = computed(() =>\n Array.from(this.segmentElements()).findIndex(\n (el) =>\n el.getAttribute('data-rdx-date-field-segment') ===\n this.currentFocusedElement()?.getAttribute('data-rdx-date-field-segment')\n )\n );\n\n /**\n * @ignore\n */\n readonly prevFocusableSegment = computed(() => {\n const sign = this.dir() === 'rtl' ? -1 : 1;\n const prevCondition =\n sign > 0 ? this.currentSegmentIndex() < 0 : this.currentSegmentIndex() > this.segmentElements().size - 1;\n if (prevCondition) return null;\n\n const segmentToFocus = Array.from(this.segmentElements())[this.currentSegmentIndex() - sign];\n return segmentToFocus;\n });\n\n /**\n * @ignore\n */\n readonly nextFocusableSegment = computed(() => {\n const sign = this.dir() === 'rtl' ? -1 : 1;\n const nextCondition =\n sign < 0 ? this.currentSegmentIndex() < 0 : this.currentSegmentIndex() > this.segmentElements().size - 1;\n if (nextCondition) return null;\n const segmentToFocus = Array.from(this.segmentElements())[this.currentSegmentIndex() + sign];\n return segmentToFocus;\n });\n\n /**\n * @ignore\n */\n readonly focusNext = () => {\n this.nextFocusableSegment()?.focus();\n };\n\n constructor() {\n watch([this.convertedModelValue], ([value]) => {\n if (\n !isNullish(value) &&\n (!isEqualDay(<DateValue>this.convertedPlaceholder(), <DateValue>value) ||\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n this.convertedPlaceholder().compare(value) !== 0)\n )\n this.placeholder.set(value.copy());\n });\n }\n\n ngOnInit() {\n const defDate = getDefaultTime({\n defaultPlaceholder: undefined,\n defaultValue: this.value()\n });\n\n this.placeholder.set(defDate.copy());\n\n this.formatter = createFormatter(this.locale(), {\n hourCycle: normalizeHourCycle(this.hourCycle())\n });\n\n const initialSegments = initializeSegmentValues(this.inferredGranularity()!);\n\n this.segmentValues.set(\n this.value()\n ? { ...syncSegmentValues({ value: <DateValue>this.value(), formatter: this.formatter }) }\n : { ...initialSegments }\n );\n }\n\n ngAfterViewInit() {\n getSegmentElements(this.elementRef.nativeElement).forEach((item) =>\n this.segmentElements().add(item as HTMLElement)\n );\n }\n\n /**\n * @ignore\n */\n onKeydown(event: KeyboardEvent) {\n if (!isSegmentNavigationKey(event.key)) return;\n const code = event.code;\n\n if (code === ARROW_LEFT) {\n this.prevFocusableSegment()?.focus();\n }\n\n if (code === ARROW_RIGHT) {\n this.nextFocusableSegment()?.focus();\n }\n }\n\n /**\n * @ignore\n */\n setFocusedElement(el: HTMLElement) {\n this.currentFocusedElement.set(el);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { RdxTimeFieldInputDirective } from './src/time-field-input.directive';\nimport { RdxTimeFieldRootDirective } from './src/time-field-root.directive';\n\nexport * from './src/time-field-context.token';\nexport * from './src/time-field-input.directive';\nexport * from './src/time-field-root.directive';\n\nconst _imports = [RdxTimeFieldRootDirective, RdxTimeFieldInputDirective];\n\n@NgModule({\n imports: [..._imports],\n exports: [..._imports]\n})\nexport class RdxTimeFieldModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"radix-ng-primitives-time-field.mjs","sources":["../tmp-esm2022/time-field/src/time-field-context.token.js","../tmp-esm2022/time-field/src/time-field-input.directive.js","../tmp-esm2022/time-field/src/time-field-root.directive.js","../tmp-esm2022/time-field/index.js","../tmp-esm2022/time-field/radix-ng-primitives-time-field.js"],"sourcesContent":["import { inject, InjectionToken } from '@angular/core';\nexport const TIME_FIELDS_ROOT_CONTEXT = new InjectionToken('TIME_FIELDS_ROOT_CONTEXT');\nexport function injectTimeFieldsRootContext() {\n return inject(TIME_FIELDS_ROOT_CONTEXT);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1maWVsZC1jb250ZXh0LnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcHJpbWl0aXZlcy90aW1lLWZpZWxkL3NyYy90aW1lLWZpZWxkLWNvbnRleHQudG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQW9ELE1BQU0sZUFBZSxDQUFDO0FBb0J6RyxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxJQUFJLGNBQWMsQ0FBd0IsMEJBQTBCLENBQUMsQ0FBQztBQUU5RyxNQUFNLFVBQVUsMkJBQTJCO0lBQ3ZDLE9BQU8sTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUM7QUFDNUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0aW9uVG9rZW4sIElucHV0U2lnbmFsLCBNb2RlbFNpZ25hbCwgU2lnbmFsLCBXcml0YWJsZVNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGF0ZVN0ZXAsIEZvcm1hdHRlciwgSG91ckN5Y2xlLCBTZWdtZW50VmFsdWVPYmosIFRpbWVWYWx1ZSB9IGZyb20gJ0ByYWRpeC1uZy9wcmltaXRpdmVzL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRpbWVGaWVsZENvbnRleHRUb2tlbiB7XG4gICAgbG9jYWxlOiBJbnB1dFNpZ25hbDxzdHJpbmc+O1xuICAgIHZhbHVlOiBNb2RlbFNpZ25hbDxUaW1lVmFsdWUgfCB1bmRlZmluZWQ+O1xuICAgIHBsYWNlaG9sZGVyOiBNb2RlbFNpZ25hbDxUaW1lVmFsdWU+O1xuICAgIGlzSW52YWxpZDogU2lnbmFsPGJvb2xlYW4+O1xuICAgIGRpc2FibGVkOiBJbnB1dFNpZ25hbDxib29sZWFuPjtcbiAgICByZWFkb25seTogSW5wdXRTaWduYWw8Ym9vbGVhbj47XG4gICAgZm9ybWF0dGVyOiBGb3JtYXR0ZXI7XG4gICAgaG91ckN5Y2xlOiBJbnB1dFNpZ25hbDxIb3VyQ3ljbGU+O1xuICAgIHNlZ21lbnRWYWx1ZXM6IFdyaXRhYmxlU2lnbmFsPFNlZ21lbnRWYWx1ZU9iaj47XG4gICAgZm9jdXNOZXh0OiAoKSA9PiB2b2lkO1xuICAgIHNldEZvY3VzZWRFbGVtZW50OiAoZWw6IEhUTUxFbGVtZW50KSA9PiB2b2lkO1xuICAgIGNvbnZlcnRlZE1vZGVsVmFsdWU6IFdyaXRhYmxlU2lnbmFsPFRpbWVWYWx1ZSB8IHVuZGVmaW5lZD47XG4gICAgY29udmVydGVkUGxhY2Vob2xkZXI6IFdyaXRhYmxlU2lnbmFsPFRpbWVWYWx1ZT47XG4gICAgc3RlcCQ6IFNpZ25hbDxEYXRlU3RlcD47XG59XG5cbmV4cG9ydCBjb25zdCBUSU1FX0ZJRUxEU19ST09UX0NPTlRFWFQgPSBuZXcgSW5qZWN0aW9uVG9rZW48VGltZUZpZWxkQ29udGV4dFRva2VuPignVElNRV9GSUVMRFNfUk9PVF9DT05URVhUJyk7XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RUaW1lRmllbGRzUm9vdENvbnRleHQoKTogVGltZUZpZWxkQ29udGV4dFRva2VuIHtcbiAgICByZXR1cm4gaW5qZWN0KFRJTUVfRklFTERTX1JPT1RfQ09OVEVYVCk7XG59XG4iXX0=","import { computed, Directive, effect, ElementRef, inject, input, signal } from '@angular/core';\nimport { useDateField } from '@radix-ng/primitives/core';\nimport { injectTimeFieldsRootContext } from './time-field-context.token';\nimport * as i0 from \"@angular/core\";\nexport class RdxTimeFieldInputDirective {\n constructor() {\n this.el = inject(ElementRef);\n this.rootContext = injectTimeFieldsRootContext();\n /**\n * The part of the date to render\n * `'hour' | 'minute' | 'second' | 'dayPeriod' | 'literal' | 'timeZoneName'`\n */\n this.part = input(...(ngDevMode ? [undefined, { debugName: \"part\" }] : []));\n /**\n * @ignore\n */\n this.disabled = computed(() => this.rootContext.disabled(), ...(ngDevMode ? [{ debugName: \"disabled\" }] : []));\n /**\n * @ignore\n */\n this.readonly = computed(() => this.rootContext.readonly(), ...(ngDevMode ? [{ debugName: \"readonly\" }] : []));\n /**\n * @ignore\n */\n this.isInvalid = computed(() => this.rootContext.isInvalid(), ...(ngDevMode ? [{ debugName: \"isInvalid\" }] : []));\n /**\n * @ignore\n */\n this.hasLeftFocus = signal(true, ...(ngDevMode ? [{ debugName: \"hasLeftFocus\" }] : []));\n /**\n * @ignore\n */\n this.lastKeyZero = signal(false, ...(ngDevMode ? [{ debugName: \"lastKeyZero\" }] : []));\n this.fieldData = computed(() => {\n return useDateField({\n hasLeftFocus: this.hasLeftFocus,\n lastKeyZero: this.lastKeyZero,\n placeholder: this.rootContext.convertedPlaceholder,\n hourCycle: this.rootContext.hourCycle(),\n segmentValues: this.rootContext.segmentValues,\n formatter: this.rootContext.formatter,\n part: this.part(),\n disabled: this.rootContext.disabled,\n readonly: this.rootContext.readonly,\n modelValue: this.rootContext.convertedModelValue,\n focusNext: this.rootContext.focusNext,\n step: this.rootContext.step$\n });\n }, ...(ngDevMode ? [{ debugName: \"fieldData\" }] : []));\n this.attributes = computed(() => this.fieldData().attributes(), ...(ngDevMode ? [{ debugName: \"attributes\" }] : []));\n effect(() => {\n const { handleSegmentClick, handleSegmentKeydown } = this.fieldData();\n this.handleSegmentKeydown = handleSegmentKeydown;\n this.handleSegmentClick = handleSegmentClick;\n });\n effect(() => {\n const attrs = this.attributes();\n Object.entries(attrs).forEach(([attr, value]) => {\n this.el.nativeElement.setAttribute(attr, String(value));\n });\n });\n }\n /**\n * @ignore\n */\n onFocus(e) {\n this.rootContext.setFocusedElement(e.target);\n }\n /**\n * @ignore\n */\n onFocusOut() {\n this.hasLeftFocus.set(true);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: RdxTimeFieldInputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.3.3\", type: RdxTimeFieldInputDirective, isStandalone: true, selector: \"[rdxTimeFieldInput]\", inputs: { part: { classPropertyName: \"part\", publicName: \"part\", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { \"mousedown\": \"part() !== \\\"literal\\\" && handleSegmentClick($event)\", \"keydown\": \"part() !== \\\"literal\\\" && handleSegmentKeydown($event)\", \"focus\": \"part() !== \\\"literal\\\" && onFocus($event)\", \"focusout\": \"part() !== \\\"literal\\\" && onFocusOut()\" }, properties: { \"attr.contenteditable\": \"disabled() || readonly() ? false : part() !== \\\"literal\\\"\", \"attr.data-rdx-date-field-segment\": \"part()\", \"attr.aria-disabled\": \"disabled() ? \\\"\\\" : undefined\", \"attr.data-disabled\": \"disabled() ? \\\"\\\" : undefined\", \"attr.data-invalid\": \"isInvalid() ? \\\"\\\" : undefined\", \"attr.aria-invalid\": \"isInvalid() ? true : undefined\" } }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: RdxTimeFieldInputDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[rdxTimeFieldInput]',\n host: {\n '[attr.contenteditable]': 'disabled() || readonly() ? false : part() !== \"literal\"',\n '[attr.data-rdx-date-field-segment]': 'part()',\n '[attr.aria-disabled]': 'disabled() ? \"\" : undefined',\n '[attr.data-disabled]': 'disabled() ? \"\" : undefined',\n '[attr.data-invalid]': 'isInvalid() ? \"\" : undefined',\n '[attr.aria-invalid]': 'isInvalid() ? true : undefined',\n '(mousedown)': 'part() !== \"literal\" && handleSegmentClick($event)',\n '(keydown)': 'part() !== \"literal\" && handleSegmentKeydown($event)',\n '(focus)': 'part() !== \"literal\" && onFocus($event)',\n '(focusout)': 'part() !== \"literal\" && onFocusOut()'\n }\n }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1maWVsZC1pbnB1dC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3RpbWUtZmllbGQvc3JjL3RpbWUtZmllbGQtaW5wdXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWtCLE1BQU0sZUFBZSxDQUFDO0FBRS9HLE9BQU8sRUFBZSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFrQnpFLE1BQU0sT0FBTywwQkFBMEI7SUFpRW5DO1FBaEVpQixPQUFFLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXhCLGdCQUFXLEdBQUcsMkJBQTJCLEVBQUUsQ0FBQztRQUU3RDs7O1dBR0c7UUFDTSxTQUFJLEdBQUcsS0FBSywwREFBZSxDQUFDO1FBRXJDOztXQUVHO1FBQ00sYUFBUSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxvREFBQyxDQUFDO1FBRWhFOztXQUVHO1FBQ00sYUFBUSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxvREFBQyxDQUFDO1FBRWhFOztXQUVHO1FBQ00sY0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxxREFBQyxDQUFDO1FBRWxFOztXQUVHO1FBQ00saUJBQVksR0FBRyxNQUFNLENBQVUsSUFBSSx3REFBQyxDQUFDO1FBRTlDOztXQUVHO1FBQ00sZ0JBQVcsR0FBRyxNQUFNLENBQVUsS0FBSyx1REFBQyxDQUFDO1FBRTdCLGNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3ZDLE9BQU8sWUFBWSxDQUFDO2dCQUNoQixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7Z0JBQy9CLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztnQkFDN0IsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsb0JBQTREO2dCQUMxRixTQUFTLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUU7Z0JBQ3ZDLGFBQWEsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWE7Z0JBQzdDLFNBQVMsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVM7Z0JBQ3JDLElBQUksRUFBZSxJQUFJLENBQUMsSUFBSSxFQUFFO2dCQUM5QixRQUFRLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRO2dCQUNuQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRO2dCQUNuQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQkFBMkQ7Z0JBQ3hGLFNBQVMsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVM7Z0JBQ3JDLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUs7YUFDL0IsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxxREFBQyxDQUFDO1FBRWMsZUFBVSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsVUFBVSxFQUFFLHNEQUFDLENBQUM7UUFheEUsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNSLE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxvQkFBb0IsRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUN0RSxJQUFJLENBQUMsb0JBQW9CLEdBQUcsb0JBQW9CLENBQUM7WUFDakQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLGtCQUFrQixDQUFDO1FBQ2pELENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNSLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNoQyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7Z0JBQzVDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDNUQsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRDs7T0FFRztJQUNILE9BQU8sQ0FBQyxDQUFhO1FBQ2pCLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLE1BQXFCLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxVQUFVO1FBQ04sSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQzs4R0E1RlEsMEJBQTBCO2tHQUExQiwwQkFBMEI7OzJGQUExQiwwQkFBMEI7a0JBaEJ0QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLElBQUksRUFBRTt3QkFDRix3QkFBd0IsRUFBRSx5REFBeUQ7d0JBQ25GLG9DQUFvQyxFQUFFLFFBQVE7d0JBQzlDLHNCQUFzQixFQUFFLDZCQUE2Qjt3QkFDckQsc0JBQXNCLEVBQUUsNkJBQTZCO3dCQUNyRCxxQkFBcUIsRUFBRSw4QkFBOEI7d0JBQ3JELHFCQUFxQixFQUFFLGdDQUFnQzt3QkFFdkQsYUFBYSxFQUFFLG9EQUFvRDt3QkFDbkUsV0FBVyxFQUFFLHNEQUFzRDt3QkFDbkUsU0FBUyxFQUFFLHlDQUF5Qzt3QkFDcEQsWUFBWSxFQUFFLHNDQUFzQztxQkFDdkQ7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb21wdXRlZCwgRGlyZWN0aXZlLCBlZmZlY3QsIEVsZW1lbnRSZWYsIGluamVjdCwgaW5wdXQsIHNpZ25hbCwgV3JpdGFibGVTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERhdGVWYWx1ZSB9IGZyb20gJ0BpbnRlcm5hdGlvbmFsaXplZC9kYXRlJztcbmltcG9ydCB7IFNlZ21lbnRQYXJ0LCB1c2VEYXRlRmllbGQgfSBmcm9tICdAcmFkaXgtbmcvcHJpbWl0aXZlcy9jb3JlJztcbmltcG9ydCB7IGluamVjdFRpbWVGaWVsZHNSb290Q29udGV4dCB9IGZyb20gJy4vdGltZS1maWVsZC1jb250ZXh0LnRva2VuJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbcmR4VGltZUZpZWxkSW5wdXRdJyxcbiAgICBob3N0OiB7XG4gICAgICAgICdbYXR0ci5jb250ZW50ZWRpdGFibGVdJzogJ2Rpc2FibGVkKCkgfHwgcmVhZG9ubHkoKSA/IGZhbHNlIDogcGFydCgpICE9PSBcImxpdGVyYWxcIicsXG4gICAgICAgICdbYXR0ci5kYXRhLXJkeC1kYXRlLWZpZWxkLXNlZ21lbnRdJzogJ3BhcnQoKScsXG4gICAgICAgICdbYXR0ci5hcmlhLWRpc2FibGVkXSc6ICdkaXNhYmxlZCgpID8gXCJcIiA6IHVuZGVmaW5lZCcsXG4gICAgICAgICdbYXR0ci5kYXRhLWRpc2FibGVkXSc6ICdkaXNhYmxlZCgpID8gXCJcIiA6IHVuZGVmaW5lZCcsXG4gICAgICAgICdbYXR0ci5kYXRhLWludmFsaWRdJzogJ2lzSW52YWxpZCgpID8gXCJcIiA6IHVuZGVmaW5lZCcsXG4gICAgICAgICdbYXR0ci5hcmlhLWludmFsaWRdJzogJ2lzSW52YWxpZCgpID8gdHJ1ZSA6IHVuZGVmaW5lZCcsXG5cbiAgICAgICAgJyhtb3VzZWRvd24pJzogJ3BhcnQoKSAhPT0gXCJsaXRlcmFsXCIgJiYgaGFuZGxlU2VnbWVudENsaWNrKCRldmVudCknLFxuICAgICAgICAnKGtleWRvd24pJzogJ3BhcnQoKSAhPT0gXCJsaXRlcmFsXCIgJiYgaGFuZGxlU2VnbWVudEtleWRvd24oJGV2ZW50KScsXG4gICAgICAgICcoZm9jdXMpJzogJ3BhcnQoKSAhPT0gXCJsaXRlcmFsXCIgJiYgb25Gb2N1cygkZXZlbnQpJyxcbiAgICAgICAgJyhmb2N1c291dCknOiAncGFydCgpICE9PSBcImxpdGVyYWxcIiAmJiBvbkZvY3VzT3V0KCknXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBSZHhUaW1lRmllbGRJbnB1dERpcmVjdGl2ZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbCA9IGluamVjdChFbGVtZW50UmVmKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm9vdENvbnRleHQgPSBpbmplY3RUaW1lRmllbGRzUm9vdENvbnRleHQoKTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBwYXJ0IG9mIHRoZSBkYXRlIHRvIHJlbmRlclxuICAgICAqIGAnaG91cicgfCAnbWludXRlJyB8ICdzZWNvbmQnIHwgJ2RheVBlcmlvZCcgfCAnbGl0ZXJhbCcgfCAndGltZVpvbmVOYW1lJ2BcbiAgICAgKi9cbiAgICByZWFkb25seSBwYXJ0ID0gaW5wdXQ8U2VnbWVudFBhcnQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiBAaWdub3JlXG4gICAgICovXG4gICAgcmVhZG9ubHkgZGlzYWJsZWQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnJvb3RDb250ZXh0LmRpc2FibGVkKCkpO1xuXG4gICAgLyoqXG4gICAgICogQGlnbm9yZVxuICAgICAqL1xuICAgIHJlYWRvbmx5IHJlYWRvbmx5ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5yb290Q29udGV4dC5yZWFkb25seSgpKTtcblxuICAgIC8qKlxuICAgICAqIEBpZ25vcmVcbiAgICAgKi9cbiAgICByZWFkb25seSBpc0ludmFsaWQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnJvb3RDb250ZXh0LmlzSW52YWxpZCgpKTtcblxuICAgIC8qKlxuICAgICAqIEBpZ25vcmVcbiAgICAgKi9cbiAgICByZWFkb25seSBoYXNMZWZ0Rm9jdXMgPSBzaWduYWw8Ym9vbGVhbj4odHJ1ZSk7XG5cbiAgICAvKipcbiAgICAgKiBAaWdub3JlXG4gICAgICovXG4gICAgcmVhZG9ubHkgbGFzdEtleVplcm8gPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBmaWVsZERhdGEgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIHJldHVybiB1c2VEYXRlRmllbGQoe1xuICAgICAgICAgICAgaGFzTGVmdEZvY3VzOiB0aGlzLmhhc0xlZnRGb2N1cyxcbiAgICAgICAgICAgIGxhc3RLZXlaZXJvOiB0aGlzLmxhc3RLZXlaZXJvLFxuICAgICAgICAgICAgcGxhY2Vob2xkZXI6IHRoaXMucm9vdENvbnRleHQuY29udmVydGVkUGxhY2Vob2xkZXIgYXMgdW5rbm93biBhcyBXcml0YWJsZVNpZ25hbDxEYXRlVmFsdWU+LFxuICAgICAgICAgICAgaG91ckN5Y2xlOiB0aGlzLnJvb3RDb250ZXh0LmhvdXJDeWNsZSgpLFxuICAgICAgICAgICAgc2VnbWVudFZhbHVlczogdGhpcy5yb290Q29udGV4dC5zZWdtZW50VmFsdWVzLFxuICAgICAgICAgICAgZm9ybWF0dGVyOiB0aGlzLnJvb3RDb250ZXh0LmZvcm1hdHRlcixcbiAgICAgICAgICAgIHBhcnQ6IDxTZWdtZW50UGFydD50aGlzLnBhcnQoKSxcbiAgICAgICAgICAgIGRpc2FibGVkOiB0aGlzLnJvb3RDb250ZXh0LmRpc2FibGVkLFxuICAgICAgICAgICAgcmVhZG9ubHk6IHRoaXMucm9vdENvbnRleHQucmVhZG9ubHksXG4gICAgICAgICAgICBtb2RlbFZhbHVlOiB0aGlzLnJvb3RDb250ZXh0LmNvbnZlcnRlZE1vZGVsVmFsdWUgYXMgdW5rbm93biBhcyBXcml0YWJsZVNpZ25hbDxEYXRlVmFsdWU+LFxuICAgICAgICAgICAgZm9jdXNOZXh0OiB0aGlzLnJvb3RDb250ZXh0LmZvY3VzTmV4dCxcbiAgICAgICAgICAgIHN0ZXA6IHRoaXMucm9vdENvbnRleHQuc3RlcCRcbiAgICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGF0dHJpYnV0ZXMgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmZpZWxkRGF0YSgpLmF0dHJpYnV0ZXMoKSk7XG5cbiAgICAvKipcbiAgICAgKiBAaWdub3JlXG4gICAgICovXG4gICAgaGFuZGxlU2VnbWVudENsaWNrOiAoZTogTW91c2VFdmVudCkgPT4gdm9pZDtcblxuICAgIC8qKlxuICAgICAqIEBpZ25vcmVcbiAgICAgKi9cbiAgICBoYW5kbGVTZWdtZW50S2V5ZG93bjogKGU6IEtleWJvYXJkRXZlbnQpID0+IHZvaWQ7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgZWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgaGFuZGxlU2VnbWVudENsaWNrLCBoYW5kbGVTZWdtZW50S2V5ZG93biB9ID0gdGhpcy5maWVsZERhdGEoKTtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlU2VnbWVudEtleWRvd24gPSBoYW5kbGVTZWdtZW50S2V5ZG93bjtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlU2VnbWVudENsaWNrID0gaGFuZGxlU2VnbWVudENsaWNrO1xuICAgICAgICB9KTtcblxuICAgICAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgYXR0cnMgPSB0aGlzLmF0dHJpYnV0ZXMoKTtcbiAgICAgICAgICAgIE9iamVjdC5lbnRyaWVzKGF0dHJzKS5mb3JFYWNoKChbYXR0ciwgdmFsdWVdKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZShhdHRyLCBTdHJpbmcodmFsdWUpKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaWdub3JlXG4gICAgICovXG4gICAgb25Gb2N1cyhlOiBGb2N1c0V2ZW50KSB7XG4gICAgICAgIHRoaXMucm9vdENvbnRleHQuc2V0Rm9jdXNlZEVsZW1lbnQoZS50YXJnZXQgYXMgSFRNTEVsZW1lbnQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBpZ25vcmVcbiAgICAgKi9cbiAgICBvbkZvY3VzT3V0KCkge1xuICAgICAgICB0aGlzLmhhc0xlZnRGb2N1cy5zZXQodHJ1ZSk7XG4gICAgfVxufVxuIl19","import { booleanAttribute, computed, Directive, ElementRef, inject, input, linkedSignal, model, signal } from '@angular/core';\nimport { getLocalTimeZone, isEqualDay, toCalendarDateTime, today } from '@internationalized/date';\nimport { ARROW_LEFT, ARROW_RIGHT, createContent, createFormatter, getDefaultTime, getSegmentElements, initializeSegmentValues, isBefore, isNullish, isSegmentNavigationKey, normalizeDateStep, normalizeHourCycle, provideToken, syncSegmentValues, watch } from '@radix-ng/primitives/core';\nimport { TIME_FIELDS_ROOT_CONTEXT } from './time-field-context.token';\nimport * as i0 from \"@angular/core\";\nfunction convertValue(value, date = today(getLocalTimeZone())) {\n if (value && 'day' in value) {\n return value;\n }\n return toCalendarDateTime(date, value);\n}\nexport class RdxTimeFieldRootDirective {\n constructor() {\n this.elementRef = inject((ElementRef));\n /**\n * The controlled checked state of the calendar.\n */\n this.value = model(...(ngDevMode ? [undefined, { debugName: \"value\" }] : []));\n /**\n * The hour cycle to use for formatting times. Defaults to the locale preference\n */\n this.hourCycle = input(...(ngDevMode ? [undefined, { debugName: \"hourCycle\" }] : []));\n /**\n * The granularity to use for formatting the field. Defaults to 'day' if a CalendarDate is provided, otherwise defaults to 'minute'.\n * The field will render segments for each part of the date up to and including the specified granularity.\n */\n this.granularity = input(...(ngDevMode ? [undefined, { debugName: \"granularity\" }] : []));\n /**\n * The locale to use for formatting dates.\n */\n this.locale = input('en', ...(ngDevMode ? [{ debugName: \"locale\" }] : []));\n this.dir = input('ltr', ...(ngDevMode ? [{ debugName: \"dir\" }] : []));\n /**\n * The minimum valid date that can be entered.\n */\n this.minValue = input(...(ngDevMode ? [undefined, { debugName: \"minValue\" }] : []));\n /**\n * The maximum valid date that can be entered.\n */\n this.maxValue = input(...(ngDevMode ? [undefined, { debugName: \"maxValue\" }] : []));\n /**\n * Whether or not to hide the time zone segment of the field.\n */\n this.hideTimeZone = input(false, ...(ngDevMode ? [{ debugName: \"hideTimeZone\", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));\n this.disabled = input(false, ...(ngDevMode ? [{ debugName: \"disabled\", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));\n /**\n * Whether or not the field is readonly.\n */\n this.readonly = input(false, ...(ngDevMode ? [{ debugName: \"readonly\", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));\n /**\n * The stepping interval for the time fields. Defaults to 1\n */\n this.step = input(...(ngDevMode ? [undefined, { debugName: \"step\" }] : []));\n this.step$ = computed(() => normalizeDateStep(this.step()), ...(ngDevMode ? [{ debugName: \"step$\" }] : []));\n /**\n * @ignore\n */\n this.defaultDate = computed(() => getDefaultTime({\n defaultPlaceholder: undefined,\n defaultValue: this.value()\n }), ...(ngDevMode ? [{ debugName: \"defaultDate\" }] : []));\n /**\n * The placeholder date, which is used to determine what month to display when no date is selected. This updates as the user navigates the calendar and can be used to programmatically control the calendar view\n */\n this.placeholder = model(this.defaultDate().copy(), ...(ngDevMode ? [{ debugName: \"placeholder\" }] : []));\n // Internal state\n /**\n * @ignore\n */\n this.segmentElements = signal(new Set(), ...(ngDevMode ? [{ debugName: \"segmentElements\" }] : []));\n /**\n * @ignore\n */\n this.currentFocusedElement = signal(null, ...(ngDevMode ? [{ debugName: \"currentFocusedElement\" }] : []));\n /**\n * @ignore\n */\n this.segmentValues = signal({\n hour: null,\n minute: null,\n second: null,\n dayPeriod: null\n }, ...(ngDevMode ? [{ debugName: \"segmentValues\" }] : []));\n /**\n * @ignore\n */\n this.inferredGranularity = computed(() => {\n if (this.granularity())\n return this.granularity();\n return 'minute';\n }, ...(ngDevMode ? [{ debugName: \"inferredGranularity\" }] : []));\n this.convertedMinValue = computed(() => (this.minValue() ? convertValue(this.minValue()) : undefined), ...(ngDevMode ? [{ debugName: \"convertedMinValue\" }] : []));\n this.convertedMaxValue = computed(() => (this.maxValue() ? convertValue(this.maxValue()) : undefined), ...(ngDevMode ? [{ debugName: \"convertedMaxValue\" }] : []));\n this.convertedModelValue = linkedSignal(...(ngDevMode ? [{ debugName: \"convertedModelValue\", source: () => {\n if (isNullish(this.value()))\n return this.value();\n return convertValue(this.value());\n },\n computation: (value) => {\n return value;\n } }] : [{\n source: () => {\n if (isNullish(this.value()))\n return this.value();\n return convertValue(this.value());\n },\n computation: (value) => {\n return value;\n }\n }]));\n this.convertedPlaceholder = linkedSignal(...(ngDevMode ? [{ debugName: \"convertedPlaceholder\", source: () => {\n return convertValue(this.placeholder());\n },\n computation: (value) => {\n return value;\n } }] : [{\n source: () => {\n return convertValue(this.placeholder());\n },\n computation: (value) => {\n return value;\n }\n }]));\n /**\n * @ignore\n */\n this.isInvalid = computed(() => {\n if (!this.value())\n return false;\n if (this.convertedMinValue() &&\n isBefore(this.convertedModelValue(), this.convertedMinValue()))\n return true;\n if (this.convertedMaxValue() &&\n isBefore(this.convertedMaxValue(), this.convertedModelValue()))\n return true;\n return false;\n }, ...(ngDevMode ? [{ debugName: \"isInvalid\" }] : []));\n /**\n * @ignore\n */\n this.allSegmentContent = computed(() => createContent({\n granularity: this.inferredGranularity(),\n dateRef: this.convertedPlaceholder(),\n formatter: this.formatter,\n hideTimeZone: this.hideTimeZone(),\n hourCycle: this.hourCycle(),\n segmentValues: this.segmentValues(),\n locale: this.locale,\n isTimeValue: true\n }), ...(ngDevMode ? [{ debugName: \"allSegmentContent\" }] : []));\n /**\n * An array of segments that should be readonly, which prevent user input on them.\n */\n this.segmentContents = computed(() => this.allSegmentContent().arr, ...(ngDevMode ? [{ debugName: \"segmentContents\" }] : []));\n /**\n * @ignore\n */\n this.currentSegmentIndex = computed(() => Array.from(this.segmentElements()).findIndex((el) => el.getAttribute('data-rdx-date-field-segment') ===\n this.currentFocusedElement()?.getAttribute('data-rdx-date-field-segment')), ...(ngDevMode ? [{ debugName: \"currentSegmentIndex\" }] : []));\n /**\n * @ignore\n */\n this.prevFocusableSegment = computed(() => {\n const sign = this.dir() === 'rtl' ? -1 : 1;\n const prevCondition = sign > 0 ? this.currentSegmentIndex() < 0 : this.currentSegmentIndex() > this.segmentElements().size - 1;\n if (prevCondition)\n return null;\n const segmentToFocus = Array.from(this.segmentElements())[this.currentSegmentIndex() - sign];\n return segmentToFocus;\n }, ...(ngDevMode ? [{ debugName: \"prevFocusableSegment\" }] : []));\n /**\n * @ignore\n */\n this.nextFocusableSegment = computed(() => {\n const sign = this.dir() === 'rtl' ? -1 : 1;\n const nextCondition = sign < 0 ? this.currentSegmentIndex() < 0 : this.currentSegmentIndex() > this.segmentElements().size - 1;\n if (nextCondition)\n return null;\n const segmentToFocus = Array.from(this.segmentElements())[this.currentSegmentIndex() + sign];\n return segmentToFocus;\n }, ...(ngDevMode ? [{ debugName: \"nextFocusableSegment\" }] : []));\n /**\n * @ignore\n */\n this.focusNext = () => {\n this.nextFocusableSegment()?.focus();\n };\n watch([this.convertedModelValue], ([value]) => {\n if (!isNullish(value) &&\n (!isEqualDay(this.convertedPlaceholder(), value) ||\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n this.convertedPlaceholder().compare(value) !== 0))\n this.placeholder.set(value.copy());\n });\n }\n ngOnInit() {\n const defDate = getDefaultTime({\n defaultPlaceholder: undefined,\n defaultValue: this.value()\n });\n this.placeholder.set(defDate.copy());\n this.formatter = createFormatter(this.locale(), {\n hourCycle: normalizeHourCycle(this.hourCycle())\n });\n const initialSegments = initializeSegmentValues(this.inferredGranularity());\n this.segmentValues.set(this.value()\n ? { ...syncSegmentValues({ value: this.value(), formatter: this.formatter }) }\n : { ...initialSegments });\n }\n ngAfterViewInit() {\n getSegmentElements(this.elementRef.nativeElement).forEach((item) => this.segmentElements().add(item));\n }\n /**\n * @ignore\n */\n onKeydown(event) {\n if (!isSegmentNavigationKey(event.key))\n return;\n const code = event.code;\n if (code === ARROW_LEFT) {\n this.prevFocusableSegment()?.focus();\n }\n if (code === ARROW_RIGHT) {\n this.nextFocusableSegment()?.focus();\n }\n }\n /**\n * @ignore\n */\n setFocusedElement(el) {\n this.currentFocusedElement.set(el);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: RdxTimeFieldRootDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.3.3\", type: RdxTimeFieldRootDirective, isStandalone: true, selector: \"[rdxTimeFieldRoot]\", inputs: { value: { classPropertyName: \"value\", publicName: \"value\", isSignal: true, isRequired: false, transformFunction: null }, hourCycle: { classPropertyName: \"hourCycle\", publicName: \"hourCycle\", isSignal: true, isRequired: false, transformFunction: null }, granularity: { classPropertyName: \"granularity\", publicName: \"granularity\", isSignal: true, isRequired: false, transformFunction: null }, locale: { classPropertyName: \"locale\", publicName: \"locale\", isSignal: true, isRequired: false, transformFunction: null }, dir: { classPropertyName: \"dir\", publicName: \"dir\", isSignal: true, isRequired: false, transformFunction: null }, minValue: { classPropertyName: \"minValue\", publicName: \"minValue\", isSignal: true, isRequired: false, transformFunction: null }, maxValue: { classPropertyName: \"maxValue\", publicName: \"maxValue\", isSignal: true, isRequired: false, transformFunction: null }, hideTimeZone: { classPropertyName: \"hideTimeZone\", publicName: \"hideTimeZone\", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: \"disabled\", publicName: \"disabled\", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: \"readonly\", publicName: \"readonly\", isSignal: true, isRequired: false, transformFunction: null }, step: { classPropertyName: \"step\", publicName: \"step\", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: \"placeholder\", publicName: \"placeholder\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: \"valueChange\", placeholder: \"placeholderChange\" }, host: { attributes: { \"role\": \"group\" }, listeners: { \"keydown\": \"onKeydown($event)\" }, properties: { \"attr.aria-disabled\": \"disabled() ? \\\"\\\" : undefined\", \"attr.data-disabled\": \"disabled() ? \\\"\\\" : undefined\", \"attr.data-readonly\": \"readonly() ? \\\"\\\" : undefined\", \"attr.data-invalid\": \"isInvalid() ? \\\"\\\" : undefined\", \"attr.dir\": \"dir()\" } }, providers: [provideToken(TIME_FIELDS_ROOT_CONTEXT, RdxTimeFieldRootDirective)], exportAs: [\"rdxTimeFieldRoot\"], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: RdxTimeFieldRootDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[rdxTimeFieldRoot]',\n exportAs: 'rdxTimeFieldRoot',\n providers: [provideToken(TIME_FIELDS_ROOT_CONTEXT, RdxTimeFieldRootDirective)],\n host: {\n role: 'group',\n '[attr.aria-disabled]': 'disabled() ? \"\" : undefined',\n '[attr.data-disabled]': 'disabled() ? \"\" : undefined',\n '[attr.data-readonly]': 'readonly() ? \"\" : undefined',\n '[attr.data-invalid]': 'isInvalid() ? \"\" : undefined',\n '[attr.dir]': 'dir()',\n '(keydown)': 'onKeydown($event)'\n }\n }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1maWVsZC1yb290LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvdGltZS1maWVsZC9zcmMvdGltZS1maWVsZC1yb290LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBRUgsZ0JBQWdCLEVBQ2hCLFFBQVEsRUFDUixTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFhLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxrQkFBa0IsRUFBRSxLQUFLLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RyxPQUFPLEVBQ0gsVUFBVSxFQUNWLFdBQVcsRUFDWCxhQUFhLEVBQ2IsZUFBZSxFQUdmLGNBQWMsRUFDZCxrQkFBa0IsRUFHbEIsdUJBQXVCLEVBQ3ZCLFFBQVEsRUFDUixTQUFTLEVBQ1Qsc0JBQXNCLEVBQ3RCLGlCQUFpQixFQUNqQixrQkFBa0IsRUFDbEIsWUFBWSxFQUVaLGlCQUFpQixFQUVqQixLQUFLLEVBQ1IsTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFFdEUsU0FBUyxZQUFZLENBQUMsS0FBZ0IsRUFBRSxPQUFrQixLQUFLLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMvRSxJQUFJLEtBQUssSUFBSSxLQUFLLElBQUksS0FBSyxFQUFFLENBQUM7UUFDMUIsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVELE9BQU8sa0JBQWtCLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQzNDLENBQUM7QUFpQkQsTUFBTSxPQUFPLHlCQUF5QjtJQXNObEM7UUFyTmlCLGVBQVUsR0FBRyxNQUFNLENBQUMsQ0FBQSxVQUF1QixD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QztRQUN6QyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gsaUJBQWlCLENBQUMsRUFBZTtRQUM3QixJQUFJLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7OEdBblJRLHlCQUF5QjtrR0FBekIseUJBQXlCLGcvREFadkIsQ0FBQyxZQUFZLENBQUMsd0JBQXdCLEVBQUUseUJBQXlCLENBQUMsQ0FBQzs7MkZBWXJFLHlCQUF5QjtrQkFmckMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixTQUFTLEVBQUUsQ0FBQyxZQUFZLENBQUMsd0JBQXdCLDRCQUE0QixDQUFDO29CQUM5RSxJQUFJLEVBQUU7d0JBQ0YsSUFBSSxFQUFFLE9BQU87d0JBQ2Isc0JBQXNCLEVBQUUsNkJBQTZCO3dCQUNyRCxzQkFBc0IsRUFBRSw2QkFBNkI7d0JBQ3JELHNCQUFzQixFQUFFLDZCQUE2Qjt3QkFDckQscUJBQXFCLEVBQUUsOEJBQThCO3dCQUNyRCxZQUFZLEVBQUUsT0FBTzt3QkFFckIsV0FBVyxFQUFFLG1CQUFtQjtxQkFDbkM7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3Rpb24gfSBmcm9tICdAYW5ndWxhci9jZGsvYmlkaSc7XG5pbXBvcnQgeyBCb29sZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIGJvb2xlYW5BdHRyaWJ1dGUsXG4gICAgY29tcHV0ZWQsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgaW5qZWN0LFxuICAgIGlucHV0LFxuICAgIGxpbmtlZFNpZ25hbCxcbiAgICBtb2RlbCxcbiAgICBPbkluaXQsXG4gICAgc2lnbmFsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGF0ZVZhbHVlLCBnZXRMb2NhbFRpbWVab25lLCBpc0VxdWFsRGF5LCB0b0NhbGVuZGFyRGF0ZVRpbWUsIHRvZGF5IH0gZnJvbSAnQGludGVybmF0aW9uYWxpemVkL2RhdGUnO1xuaW1wb3J0IHtcbiAgICBBUlJPV19MRUZULFxuICAgIEFSUk9XX1JJR0hULFxuICAgIGNyZWF0ZUNvbnRlbnQsXG4gICAgY3JlYXRlRm9ybWF0dGVyLFxuICAgIERhdGVTdGVwLFxuICAgIEZvcm1hdHRlcixcbiAgICBnZXREZWZhdWx0VGltZSxcbiAgICBnZXRTZWdtZW50RWxlbWVudHMsXG4gICAgR3JhbnVsYXJpdHksXG4gICAgSG91ckN5Y2xlLFxuICAgIGluaXRpYWxpemVTZWdtZW50VmFsdWVzLFxuICAgIGlzQmVmb3JlLFxuICAgIGlzTnVsbGlzaCxcbiAgICBpc1NlZ21lbnROYXZpZ2F0aW9uS2V5LFxuICAgIG5vcm1hbGl6ZURhdGVTdGVwLFxuICAgIG5vcm1hbGl6ZUhvdXJDeWNsZSxcbiAgICBwcm92aWRlVG9rZW4sXG4gICAgU2VnbWVudFZhbHVlT2JqLFxuICAgIHN5bmNTZWdtZW50VmFsdWVzLFxuICAgIFRpbWVWYWx1ZSxcbiAgICB3YXRjaFxufSBmcm9tICdAcmFkaXgtbmcvcHJpbWl0aXZlcy9jb3JlJztcbmltcG9ydCB7IFRJTUVfRklFTERTX1JPT1RfQ09OVEVYVCB9IGZyb20gJy4vdGltZS1maWVsZC1jb250ZXh0LnRva2VuJztcblxuZnVuY3Rpb24gY29udmVydFZhbHVlKHZhbHVlOiBUaW1lVmFsdWUsIGRhdGU6IERhdGVWYWx1ZSA9IHRvZGF5KGdldExvY2FsVGltZVpvbmUoKSkpIHtcbiAgICBpZiAodmFsdWUgJiYgJ2RheScgaW4gdmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIHJldHVybiB0b0NhbGVuZGFyRGF0ZVRpbWUoZGF0ZSwgdmFsdWUpO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tyZHhUaW1lRmllbGRSb290XScsXG4gICAgZXhwb3J0QXM6ICdyZHhUaW1lRmllbGRSb290JyxcbiAgICBwcm92aWRlcnM6IFtwcm92aWRlVG9rZW4oVElNRV9GSUVMRFNfUk9PVF9DT05URVhULCBSZHhUaW1lRmllbGRSb290RGlyZWN0aXZlKV0sXG4gICAgaG9zdDoge1xuICAgICAgICByb2xlOiAnZ3JvdXAnLFxuICAgICAgICAnW2F0dHIuYXJpYS1kaXNhYmxlZF0nOiAnZGlzYWJsZWQoKSA/IFwiXCIgOiB1bmRlZmluZWQnLFxuICAgICAgICAnW2F0dHIuZGF0YS1kaXNhYmxlZF0nOiAnZGlzYWJsZWQoKSA/IFwiXCIgOiB1bmRlZmluZWQnLFxuICAgICAgICAnW2F0dHIuZGF0YS1yZWFkb25seV0nOiAncmVhZG9ubHkoKSA/IFwiXCIgOiB1bmRlZmluZWQnLFxuICAgICAgICAnW2F0dHIuZGF0YS1pbnZhbGlkXSc6ICdpc0ludmFsaWQoKSA/IFwiXCIgOiB1bmRlZmluZWQnLFxuICAgICAgICAnW2F0dHIuZGlyXSc6ICdkaXIoKScsXG5cbiAgICAgICAgJyhrZXlkb3duKSc6ICdvbktleWRvd24oJGV2ZW50KSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFJkeFRpbWVGaWVsZFJvb3REaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmPEhUTUxFbGVtZW50Pik7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgY29udHJvbGxlZCBjaGVja2VkIHN0YXRlIG9mIHRoZSBjYWxlbmRhci5cbiAgICAgKi9cbiAgICByZWFkb25seSB2YWx1ZSA9IG1vZGVsPFRpbWVWYWx1ZSB8IHVuZGVmaW5lZD4oKTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBob3VyIGN5Y2xlIHRvIHVzZSBmb3IgZm9ybWF0dGluZyB0aW1lcy4gRGVmYXVsdHMgdG8gdGhlIGxvY2FsZSBwcmVmZXJlbmNlXG4gICAgICovXG4gICAgcmVhZG9ubHkgaG91ckN5Y2xlID0gaW5wdXQ8SG91ckN5Y2xlPigpO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGdyYW51bGFyaXR5IHRvIHVzZSBmb3IgZm9ybWF0dGluZyB0aGUgZmllbGQuIERlZmF1bHRzIHRvICdkYXknIGlmIGEgQ2FsZW5kYXJEYXRlIGlzIHByb3ZpZGVkLCBvdGhlcndpc2UgZGVmYXVsdHMgdG8gJ21pbnV0ZScuXG4gICAgICogVGhlIGZpZWxkIHdpbGwgcmVuZGVyIHNlZ21lbnRzIGZvciBlYWNoIHBhcnQgb2YgdGhlIGRhdGUgdXAgdG8gYW5kIGluY2x1ZGluZyB0aGUgc3BlY2lmaWVkIGdyYW51bGFyaXR5LlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGdyYW51bGFyaXR5ID0gaW5wdXQ8R3JhbnVsYXJpdHk+KCk7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgbG9jYWxlIHRvIHVzZSBmb3IgZm9ybWF0dGluZyBkYXRlcy5cbiAgICAgKi9cbiAgICByZWFkb25seSBsb2NhbGUgPSBpbnB1dDxzdHJpbmc+KCdlbicpO1xuXG4gICAgcmVhZG9ubHkgZGlyID0gaW5wdXQ8RGlyZWN0aW9uPignbHRyJyk7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgbWluaW11bSB2YWxpZCBkYXRlIHRoYXQgY2FuIGJlIGVudGVyZWQuXG4gICAgICovXG4gICAgcmVhZG9ubHkgbWluVmFsdWUgPSBpbnB1dDxUaW1lVmFsdWU+KCk7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgbWF4aW11bSB2YWxpZCBkYXRlIHRoYXQgY2FuIGJlIGVudGVyZWQuXG4gICAgICovXG4gICAgcmVhZG9ubHkgbWF4VmFsdWUgPSBpbnB1dDxUaW1lVmFsdWU+KCk7XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIG9yIG5vdCB0byBoaWRlIHRoZSB0aW1lIHpvbmUgc2VnbWVudCBvZiB0aGUgZmllbGQuXG4gICAgICovXG4gICAgcmVhZG9ubHkgaGlkZVRpbWVab25lID0gaW5wdXQ8Ym9vbGVhbiwgQm9vbGVhbklucHV0PihmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG5cbiAgICByZWFkb25seSBkaXNhYmxlZCA9IGlucHV0PGJvb2xlYW4sIEJvb2xlYW5JbnB1dD4oZmFsc2UsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciBvciBub3QgdGhlIGZpZWxkIGlzIHJlYWRvbmx5LlxuICAgICAqL1xuICAgIHJlYWRvbmx5IHJlYWRvbmx5ID0gaW5wdXQ8Ym9vbGVhbiwgQm9vbGVhbklucHV0PihmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgc3RlcHBpbmcgaW50ZXJ2YWwgZm9yIHRoZSB0aW1lIGZpZWxkcy4gRGVmYXVsdHMgdG8gMVxuICAgICAqL1xuICAgIHJlYWRvbmx5IHN0ZXAgPSBpbnB1dDxEYXRlU3RlcD4oKTtcblxuICAgIHJlYWRvbmx5IHN0ZXAkID0gY29tcHV0ZWQoKCkgPT4gbm9ybWFsaXplRGF0ZVN0ZXAodGhpcy5zdGVwKCkpKTtcblxuICAgIC8qKlxuICAgICAqIEBpZ25vcmVcbiAgICAgKi9cbiAgICByZWFkb25seSBkZWZhdWx0RGF0ZSA9IGNvbXB1dGVkKCgpID0+XG4gICAgICAgIGdldERlZmF1bHRUaW1lKHtcbiAgICAgICAgICAgIGRlZmF1bHRQbGFjZWhvbGRlcjogdW5kZWZpbmVkLFxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiB0aGlzLnZhbHVlKClcbiAgICAgICAgfSlcbiAgICApO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHBsYWNlaG9sZGVyIGRhdGUsIHdoaWNoIGlzIHVzZWQgdG8gZGV0ZXJtaW5lIHdoYXQgbW9udGggdG8gZGlzcGxheSB3aGVuIG5vIGRhdGUgaXMgc2VsZWN0ZWQuIFRoaXMgdXBkYXRlcyBhcyB0aGUgdXNlciBuYXZpZ2F0ZXMgdGhlIGNhbGVuZGFyIGFuZCBjYW4gYmUgdXNlZCB0byBwcm9ncmFtbWF0aWNhbGx5IGNvbnRyb2wgdGhlIGNhbGVuZGFyIHZpZXdcbiAgICAgKi9cbiAgICByZWFkb25seSBwbGFjZWhvbGRlciA9IG1vZGVsPFRpbWVWYWx1ZSB8IHVuZGVmaW5lZD4odGhpcy5kZWZhdWx0RGF0ZSgpLmNvcHkoKSk7XG5cbiAgICAvLyBJbnRlcm5hbCBzdGF0ZVxuXG4gICAgLyoqXG4gICAgICogQGlnbm9yZVxuICAgICAqL1xuICAgIHJlYWRvbmx5IHNlZ21lbnRFbGVtZW50cyA9IHNpZ25hbDxTZXQ8SFRNTEVsZW1lbnQ+PihuZXcgU2V0KCkpO1xuXG4gICAgLyoqXG4gICAgICogQGlnbm9yZVxuICAgICAqL1xuICAgIHJlYWRvbmx5IGN1cnJlbnRGb2N1c2VkRWxlbWVudCA9IHNpZ25hbDxIVE1MRWxlbWVudCB8IG51bGw+KG51bGwpO1xuXG4gICAgLyoqXG4gICAgICogQGlnbm9yZVxuICAgICAqL1xuICAgIGZvcm1hdHRlcjogRm9ybWF0dGVyO1xuXG4gICAgLyoqXG4gICAgICogQGlnbm9yZVxuICAgICAqL1xuICAgIHJlYWRvbmx5IHNlZ21lbnRWYWx1ZXMgPSBzaWduYWw8U2VnbWVudFZhbHVlT2JqPih7XG4gICAgICAgIGhvdXI6IG51bGwsXG4gICAgICAgIG1pbnV0ZTogbnVsbCxcbiAgICAgICAgc2Vjb25kOiBudWxsLFxuICAgICAgICBkYXlQZXJpb2Q6IG51bGxcbiAgICB9IGFzIFNlZ21lbnRWYWx1ZU9iaik7XG5cbiAgICAvKipcbiAgICAgKiBAaWdub3JlXG4gICAgICovXG4gICAgcmVhZG9ubHkgaW5mZXJyZWRHcmFudWxhcml0eSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuZ3JhbnVsYXJpdHkoKSkgcmV0dXJuIHRoaXMuZ3JhbnVsYXJpdHkoKTtcblxuICAgICAgICByZXR1cm4gJ21pbnV0ZSc7XG4gICAgfSk7XG5cbiAgICByZWFkb25seSBjb252ZXJ0ZWRNaW5WYWx1ZSA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLm1pblZhbHVlKCkgPyBjb252ZXJ0VmFsdWUodGhpcy5taW5WYWx1ZSgpISkgOiB1bmRlZmluZWQpKTtcbiAgICByZWFkb25seSBjb252ZXJ0ZWRNYXhWYWx1ZSA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLm1heFZhbHVlKCkgPyBjb252ZXJ0VmFsdWUodGhpcy5tYXhWYWx1ZSgpISkgOiB1bmRlZmluZWQpKTtcblxuICAgIHJlYWRvbmx5IGNvbnZlcnRlZE1vZGVsVmFsdWUgPSBsaW5rZWRTaWduYWwoe1xuICAgICAgICBzb3VyY2U6ICgpID0+IHtcbiAgICAgICAgICAgIGlmIChpc051bGxpc2godGhpcy52YWx1ZSgpKSkgcmV0dXJuIHRoaXMudmFsdWUoKTtcblxuICAgICAgICAgICAgcmV0dXJuIGNvbnZlcnRWYWx1ZSh0aGlzLnZhbHVlKCkhKTtcbiAgICAgICAgfSxcbiAgICAgICAgY29tcHV0YXRpb246ICh2YWx1ZTogVGltZVZhbHVlIHwgdW5kZWZpbmVkKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgIH1cbiAgICB9KTtcblxuICAgIHJlYWRvbmx5IGNvbnZlcnRlZFBsYWNlaG9sZGVyID0gbGlua2VkU2lnbmFsKHtcbiAgICAgICAgc291cmNlOiAoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gY29udmVydFZhbHVlKDxUaW1lVmFsdWU+dGhpcy5wbGFjZWhvbGRlcigpKSBhcyBUaW1lVmFsdWU7XG4gICAgICAgIH0sXG4gICAgICAgIGNvbXB1dGF0aW9uOiAodmFsdWU6IFRpbWVWYWx1ZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICB9XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBAaWdub3JlXG4gICAgICovXG4gICAgcmVhZG9ubHkgaXNJbnZhbGlkID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBpZiAoIXRoaXMudmFsdWUoKSkgcmV0dXJuIGZhbHNlO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHRoaXMuY29udmVydGVkTWluVmFsdWUoKSAmJlxuICAgICAgICAgICAgaXNCZWZvcmUoPERhdGVWYWx1ZT50aGlzLmNvbnZlcnRlZE1vZGVsVmFsdWUoKSwgPERhdGVWYWx1ZT50aGlzLmNvbnZlcnRlZE1pblZhbHVlKCkpXG4gICAgICAgIClcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHRoaXMuY29udmVydGVkTWF4VmFsdWUoKSAmJlxuICAgICAgICAgICAgaXNCZWZvcmUoPERhdGVWYWx1ZT50aGlzLmNvbnZlcnRlZE1heFZhbHVlKCksIDxEYXRlVmFsdWU+dGhpcy5jb252ZXJ0ZWRNb2RlbFZhbHVlKCkpXG4gICAgICAgIClcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIEBpZ25vcmVcbiAgICAgKi9cbiAgICByZWFkb25seSBhbGxTZWdtZW50Q29udGVudCA9IGNvbXB1dGVkKCgpID0+XG4gICAgICAgIGNyZWF0ZUNvbnRlbnQoe1xuICAgICAgICAgICAgZ3JhbnVsYXJpdHk6IDxHcmFudWxhcml0eT50aGlzLmluZmVycmVkR3JhbnVsYXJpdHkoKSxcbiAgICAgICAgICAgIGRhdGVSZWY6IDxEYXRlVmFsdWU+dGhpcy5jb252ZXJ0ZWRQbGFjZWhvbGRlcigpLFxuICAgICAgICAgICAgZm9ybWF0dGVyOiB0aGlzLmZvcm1hdHRlcixcbiAgICAgICAgICAgIGhpZGVUaW1lWm9uZTogdGhpcy5oaWRlVGltZVpvbmUoKSxcbiAgICAgICAgICAgIGhvdXJDeWNsZTogdGhpcy5ob3VyQ3ljbGUoKSxcbiAgICAgICAgICAgIHNlZ21lbnRWYWx1ZXM6IHRoaXMuc2VnbWVudFZhbHVlcygpLFxuICAgICAgICAgICAgbG9jYWxlOiB0aGlzLmxvY2FsZSxcbiAgICAgICAgICAgIGlzVGltZVZhbHVlOiB0cnVlXG4gICAgICAgIH0pXG4gICAgKTtcblxuICAgIC8qKlxuICAgICAqIEFuIGFycmF5IG9mIHNlZ21lbnRzIHRoYXQgc2hvdWxkIGJlIHJlYWRvbmx5LCB3aGljaCBwcmV2ZW50IHVzZXIgaW5wdXQgb24gdGhlbS5cbiAgICAgKi9cbiAgICByZWFkb25seSBzZWdtZW50Q29udGVudHMgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmFsbFNlZ21lbnRDb250ZW50KCkuYXJyKTtcblxuICAgIC8qKlxuICAgICAqIEBpZ25vcmVcbiAgICAgKi9cbiAgICByZWFkb25seSBjdXJyZW50U2VnbWVudEluZGV4ID0gY29tcHV0ZWQoKCkgPT5cbiAgICAgICAgQXJyYXkuZnJvbSh0aGlzLnNlZ21lbnRFbGVtZW50cygpKS5maW5kSW5kZXgoXG4gICAgICAgICAgICAoZWwpID0+XG4gICAgICAgICAgICAgICAgZWwuZ2V0QXR0cmlidXRlKCdkYXRhLXJkeC1kYXRlLWZpZWxkLXNlZ21lbnQnKSA9PT1cbiAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRGb2N1c2VkRWxlbWVudCgpPy5nZXRBdHRyaWJ1dGUoJ2RhdGEtcmR4LWRhdGUtZmllbGQtc2VnbWVudCcpXG4gICAgICAgIClcbiAgICApO1xuXG4gICAgLyoqXG4gICAgICogQGlnbm9yZVxuICAgICAqL1xuICAgIHJlYWRvbmx5IHByZXZGb2N1c2FibGVTZWdtZW50ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCBzaWduID0gdGhpcy5kaXIoKSA9PT0gJ3J0bCcgPyAtMSA6IDE7XG4gICAgICAgIGNvbnN0IHByZXZDb25kaXRpb24gPVxuICAgICAgICAgICAgc2lnbiA+IDAgPyB0aGlzLmN1cnJlbnRTZWdtZW50SW5kZXgoKSA8IDAgOiB0aGlzLmN1cnJlbnRTZWdtZW50SW5kZXgoKSA+IHRoaXMuc2VnbWVudEVsZW1lbnRzKCkuc2l6ZSAtIDE7XG4gICAgICAgIGlmIChwcmV2Q29uZGl0aW9uKSByZXR1cm4gbnVsbDtcblxuICAgICAgICBjb25zdCBzZWdtZW50VG9Gb2N1cyA9IEFycmF5LmZyb20odGhpcy5zZWdtZW50RWxlbWVudHMoKSlbdGhpcy5jdXJyZW50U2VnbWVudEluZGV4KCkgLSBzaWduXTtcbiAgICAgICAgcmV0dXJuIHNlZ21lbnRUb0ZvY3VzO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogQGlnbm9yZVxuICAgICAqL1xuICAgIHJlYWRvbmx5IG5leHRGb2N1c2FibGVTZWdtZW50ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCBzaWduID0gdGhpcy5kaXIoKSA9PT0gJ3J0bCcgPyAtMSA6IDE7XG4gICAgICAgIGNvbnN0IG5leHRDb25kaXRpb24gPVxuICAgICAgICAgICAgc2lnbiA8IDAgPyB0aGlzLmN1cnJlbnRTZWdtZW50SW5kZXgoKSA8IDAgOiB0aGlzLmN1cnJlbnRTZWdtZW50SW5kZXgoKSA+IHRoaXMuc2VnbWVudEVsZW1lbnRzKCkuc2l6ZSAtIDE7XG4gICAgICAgIGlmIChuZXh0Q29uZGl0aW9uKSByZXR1cm4gbnVsbDtcbiAgICAgICAgY29uc3Qgc2VnbWVudFRvRm9jdXMgPSBBcnJheS5mcm9tKHRoaXMuc2VnbWVudEVsZW1lbnRzKCkpW3RoaXMuY3VycmVudFNlZ21lbnRJbmRleCgpICsgc2lnbl07XG4gICAgICAgIHJldHVybiBzZWdtZW50VG9Gb2N1cztcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIEBpZ25vcmVcbiAgICAgKi9cbiAgICByZWFkb25seSBmb2N1c05leHQgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMubmV4dEZvY3VzYWJsZVNlZ21lbnQoKT8uZm9jdXMoKTtcbiAgICB9O1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHdhdGNoKFt0aGlzLmNvbnZlcnRlZE1vZGVsVmFsdWVdLCAoW3ZhbHVlXSkgPT4ge1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICFpc051bGxpc2godmFsdWUpICYmXG4gICAgICAgICAgICAgICAgKCFpc0VxdWFsRGF5KDxEYXRlVmFsdWU+dGhpcy5jb252ZXJ0ZWRQbGFjZWhvbGRlcigpLCA8RGF0ZVZhbHVlPnZhbHVlKSB8fFxuICAgICAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10cy1jb21tZW50XG4gICAgICAgICAgICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb252ZXJ0ZWRQbGFjZWhvbGRlcigpLmNvbXBhcmUodmFsdWUpICE9PSAwKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIHRoaXMucGxhY2Vob2xkZXIuc2V0KHZhbHVlLmNvcHkoKSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBjb25zdCBkZWZEYXRlID0gZ2V0RGVmYXVsdFRpbWUoe1xuICAgICAgICAgICAgZGVmYXVsdFBsYWNlaG9sZGVyOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU6IHRoaXMudmFsdWUoKVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnBsYWNlaG9sZGVyLnNldChkZWZEYXRlLmNvcHkoKSk7XG5cbiAgICAgICAgdGhpcy5mb3JtYXR0ZXIgPSBjcmVhdGVGb3JtYXR0ZXIodGhpcy5sb2NhbGUoKSwge1xuICAgICAgICAgICAgaG91ckN5Y2xlOiBub3JtYWxpemVIb3VyQ3ljbGUodGhpcy5ob3VyQ3ljbGUoKSlcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgaW5pdGlhbFNlZ21lbnRzID0gaW5pdGlhbGl6ZVNlZ21lbnRWYWx1ZXModGhpcy5pbmZlcnJlZEdyYW51bGFyaXR5KCkhKTtcblxuICAgICAgICB0aGlzLnNlZ21lbnRWYWx1ZXMuc2V0KFxuICAgICAgICAgICAgdGhpcy52YWx1ZSgpXG4gICAgICAgICAgICAgICAgPyB7IC4uLnN5bmNTZWdtZW50VmFsdWVzKHsgdmFsdWU6IDxEYXRlVmFsdWU+dGhpcy52YWx1ZSgpLCBmb3JtYXR0ZXI6IHRoaXMuZm9ybWF0dGVyIH0pIH1cbiAgICAgICAgICAgICAgICA6IHsgLi4uaW5pdGlhbFNlZ21lbnRzIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIGdldFNlZ21lbnRFbGVtZW50cyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCkuZm9yRWFjaCgoaXRlbSkgPT5cbiAgICAgICAgICAgIHRoaXMuc2VnbWVudEVsZW1lbnRzKCkuYWRkKGl0ZW0gYXMgSFRNTEVsZW1lbnQpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGlnbm9yZVxuICAgICAqL1xuICAgIG9uS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBpZiAoIWlzU2VnbWVudE5hdmlnYXRpb25LZXkoZXZlbnQua2V5KSkgcmV0dXJuO1xuICAgICAgICBjb25zdCBjb2RlID0gZXZlbnQuY29kZTtcblxuICAgICAgICBpZiAoY29kZSA9PT0gQVJST1dfTEVGVCkge1xuICAgICAgICAgICAgdGhpcy5wcmV2Rm9jdXNhYmxlU2VnbWVudCgpPy5mb2N1cygpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNvZGUgPT09IEFSUk9XX1JJR0hUKSB7XG4gICAgICAgICAgICB0aGlzLm5leHRGb2N1c2FibGVTZWdtZW50KCk/LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaWdub3JlXG4gICAgICovXG4gICAgc2V0Rm9jdXNlZEVsZW1lbnQoZWw6IEhUTUxFbGVtZW50KSB7XG4gICAgICAgIHRoaXMuY3VycmVudEZvY3VzZWRFbGVtZW50LnNldChlbCk7XG4gICAgfVxufVxuIl19","import { NgModule } from '@angular/core';\nimport { RdxTimeFieldInputDirective } from './src/time-field-input.directive';\nimport { RdxTimeFieldRootDirective } from './src/time-field-root.directive';\nimport * as i0 from \"@angular/core\";\nexport * from './src/time-field-context.token';\nexport * from './src/time-field-input.directive';\nexport * from './src/time-field-root.directive';\nconst _imports = [RdxTimeFieldRootDirective, RdxTimeFieldInputDirective];\nexport class RdxTimeFieldModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: RdxTimeFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.3\", ngImport: i0, type: RdxTimeFieldModule, imports: [RdxTimeFieldRootDirective, RdxTimeFieldInputDirective], exports: [RdxTimeFieldRootDirective, RdxTimeFieldInputDirective] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: RdxTimeFieldModule }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: RdxTimeFieldModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [..._imports],\n exports: [..._imports]\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3RpbWUtZmllbGQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7QUFFNUUsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsaUNBQWlDLENBQUM7QUFFaEQsTUFBTSxRQUFRLEdBQUcsQ0FBQyx5QkFBeUIsRUFBRSwwQkFBMEIsQ0FBQyxDQUFDO0FBTXpFLE1BQU0sT0FBTyxrQkFBa0I7OEdBQWxCLGtCQUFrQjsrR0FBbEIsa0JBQWtCLFlBTmIseUJBQXlCLEVBQUUsMEJBQTBCLGFBQXJELHlCQUF5QixFQUFFLDBCQUEwQjsrR0FNMUQsa0JBQWtCOzsyRkFBbEIsa0JBQWtCO2tCQUo5QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLEdBQUcsUUFBUSxDQUFDO29CQUN0QixPQUFPLEVBQUUsQ0FBQyxHQUFHLFFBQVEsQ0FBQztpQkFDekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmR4VGltZUZpZWxkSW5wdXREaXJlY3RpdmUgfSBmcm9tICcuL3NyYy90aW1lLWZpZWxkLWlucHV0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBSZHhUaW1lRmllbGRSb290RGlyZWN0aXZlIH0gZnJvbSAnLi9zcmMvdGltZS1maWVsZC1yb290LmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vc3JjL3RpbWUtZmllbGQtY29udGV4dC50b2tlbic7XG5leHBvcnQgKiBmcm9tICcuL3NyYy90aW1lLWZpZWxkLWlucHV0LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy90aW1lLWZpZWxkLXJvb3QuZGlyZWN0aXZlJztcblxuY29uc3QgX2ltcG9ydHMgPSBbUmR4VGltZUZpZWxkUm9vdERpcmVjdGl2ZSwgUmR4VGltZUZpZWxkSW5wdXREaXJlY3RpdmVdO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFsuLi5faW1wb3J0c10sXG4gICAgZXhwb3J0czogWy4uLl9pbXBvcnRzXVxufSlcbmV4cG9ydCBjbGFzcyBSZHhUaW1lRmllbGRNb2R1bGUge31cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaXgtbmctcHJpbWl0aXZlcy10aW1lLWZpZWxkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvcHJpbWl0aXZlcy90aW1lLWZpZWxkL3JhZGl4LW5nLXByaW1pdGl2ZXMtdGltZS1maWVsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":";;;;;AACY,MAAC,wBAAwB,GAAG,IAAI,cAAc,CAAC,0BAA0B;AAC9E,SAAS,2BAA2B,GAAG;AAC9C,IAAI,OAAO,MAAM,CAAC,wBAAwB,CAAC;AAC3C;;ACAO,MAAM,0BAA0B,CAAC;AACxC,IAAI,WAAW,GAAG;AAClB,QAAQ,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC;AACpC,QAAQ,IAAI,CAAC,WAAW,GAAG,2BAA2B,EAAE;AACxD;AACA;AACA;AACA;AACA,QAAQ,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,SAAS,GAAG,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACnF;AACA;AACA;AACA,QAAQ,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACtH;AACA;AACA;AACA,QAAQ,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACtH;AACA;AACA;AACA,QAAQ,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACzH;AACA;AACA;AACA,QAAQ,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC/F;AACA;AACA;AACA,QAAQ,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,KAAK,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC9F,QAAQ,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,MAAM;AACxC,YAAY,OAAO,YAAY,CAAC;AAChC,gBAAgB,YAAY,EAAE,IAAI,CAAC,YAAY;AAC/C,gBAAgB,WAAW,EAAE,IAAI,CAAC,WAAW;AAC7C,gBAAgB,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,oBAAoB;AAClE,gBAAgB,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE;AACvD,gBAAgB,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,aAAa;AAC7D,gBAAgB,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS;AACrD,gBAAgB,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;AACjC,gBAAgB,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ;AACnD,gBAAgB,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ;AACnD,gBAAgB,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,mBAAmB;AAChE,gBAAgB,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS;AACrD,gBAAgB,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC;AACvC,aAAa,CAAC;AACd,QAAQ,CAAC,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC9D,QAAQ,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC5H,QAAQ,MAAM,CAAC,MAAM;AACrB,YAAY,MAAM,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE;AACjF,YAAY,IAAI,CAAC,oBAAoB,GAAG,oBAAoB;AAC5D,YAAY,IAAI,CAAC,kBAAkB,GAAG,kBAAkB;AACxD,QAAQ,CAAC,CAAC;AACV,QAAQ,MAAM,CAAC,MAAM;AACrB,YAAY,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE;AAC3C,YAAY,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK;AAC7D,gBAAgB,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;AACvE,YAAY,CAAC,CAAC;AACd,QAAQ,CAAC,CAAC;AACV,IAAI;AACJ;AACA;AACA;AACA,IAAI,OAAO,CAAC,CAAC,EAAE;AACf,QAAQ,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC;AACpD,IAAI;AACJ;AACA;AACA;AACA,IAAI,UAAU,GAAG;AACjB,QAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;AACnC,IAAI;AACJ,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAC5L,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,0BAA0B,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,iBAAiB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,sDAAsD,EAAE,SAAS,EAAE,wDAAwD,EAAE,OAAO,EAAE,2CAA2C,EAAE,UAAU,EAAE,wCAAwC,EAAE,EAAE,UAAU,EAAE,EAAE,sBAAsB,EAAE,2DAA2D,EAAE,kCAAkC,EAAE,QAAQ,EAAE,oBAAoB,EAAE,+BAA+B,EAAE,oBAAoB,EAAE,+BAA+B,EAAE,mBAAmB,EAAE,gCAAgC,EAAE,mBAAmB,EAAE,gCAAgC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;AACl8B;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAE,UAAU,EAAE,CAAC;AACpI,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,qBAAqB;AACnD,oBAAoB,IAAI,EAAE;AAC1B,wBAAwB,wBAAwB,EAAE,yDAAyD;AAC3G,wBAAwB,oCAAoC,EAAE,QAAQ;AACtE,wBAAwB,sBAAsB,EAAE,6BAA6B;AAC7E,wBAAwB,sBAAsB,EAAE,6BAA6B;AAC7E,wBAAwB,qBAAqB,EAAE,8BAA8B;AAC7E,wBAAwB,qBAAqB,EAAE,gCAAgC;AAC/E,wBAAwB,aAAa,EAAE,oDAAoD;AAC3F,wBAAwB,WAAW,EAAE,sDAAsD;AAC3F,wBAAwB,SAAS,EAAE,yCAAyC;AAC5E,wBAAwB,YAAY,EAAE;AACtC;AACA,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,CAAC;;ACzFvC,SAAS,YAAY,CAAC,KAAK,EAAE,IAAI,GAAG,KAAK,CAAC,gBAAgB,EAAE,CAAC,EAAE;AAC/D,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,EAAE;AACjC,QAAQ,OAAO,KAAK;AACpB,IAAI;AACJ,IAAI,OAAO,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC;AAC1C;AACO,MAAM,yBAAyB,CAAC;AACvC,IAAI,WAAW,GAAG;AAClB,QAAQ,IAAI,CAAC,UAAU,GAAG,MAAM,EAAE,UAAU,EAAE;AAC9C;AACA;AACA;AACA,QAAQ,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,SAAS,GAAG,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACrF;AACA;AACA;AACA,QAAQ,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,SAAS,GAAG,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC7F;AACA;AACA;AACA;AACA,QAAQ,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,IAAI,SAAS,GAAG,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACjG;AACA;AACA;AACA,QAAQ,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAClF,QAAQ,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC7E;AACA;AACA;AACA,QAAQ,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,SAAS,GAAG,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC3F;AACA;AACA;AACA,QAAQ,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,SAAS,GAAG,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC3F;AACA;AACA;AACA,QAAQ,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,KAAK,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC;AAC3J,QAAQ,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,KAAK,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC;AACnJ;AACA;AACA;AACA,QAAQ,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,KAAK,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC;AACnJ;AACA;AACA;AACA,QAAQ,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,SAAS,GAAG,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACnF,QAAQ,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,MAAM,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACnH;AACA;AACA;AACA,QAAQ,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,MAAM,cAAc,CAAC;AACzD,YAAY,kBAAkB,EAAE,SAAS;AACzC,YAAY,YAAY,EAAE,IAAI,CAAC,KAAK;AACpC,SAAS,CAAC,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACjE;AACA;AACA;AACA,QAAQ,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACjH;AACA;AACA;AACA;AACA,QAAQ,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,IAAI,GAAG,EAAE,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC1G;AACA;AACA;AACA,QAAQ,IAAI,CAAC,qBAAqB,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,uBAAuB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACjH;AACA;AACA;AACA,QAAQ,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;AACpC,YAAY,IAAI,EAAE,IAAI;AACtB,YAAY,MAAM,EAAE,IAAI;AACxB,YAAY,MAAM,EAAE,IAAI;AACxB,YAAY,SAAS,EAAE;AACvB,SAAS,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAClE;AACA;AACA;AACA,QAAQ,IAAI,CAAC,mBAAmB,GAAG,QAAQ,CAAC,MAAM;AAClD,YAAY,IAAI,IAAI,CAAC,WAAW,EAAE;AAClC,gBAAgB,OAAO,IAAI,CAAC,WAAW,EAAE;AACzC,YAAY,OAAO,QAAQ;AAC3B,QAAQ,CAAC,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,qBAAqB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACxE,QAAQ,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,QAAQ,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,SAAS,CAAC,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC1K,QAAQ,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,QAAQ,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,SAAS,CAAC,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC1K,QAAQ,IAAI,CAAC,mBAAmB,GAAG,YAAY,CAAC,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,EAAE,MAAM;AACnH,oBAAoB,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;AAC/C,wBAAwB,OAAO,IAAI,CAAC,KAAK,EAAE;AAC3C,oBAAoB,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;AACrD,gBAAgB,CAAC;AACjB,gBAAgB,WAAW,EAAE,CAAC,KAAK,KAAK;AACxC,oBAAoB,OAAO,KAAK;AAChC,gBAAgB,CAAC,EAAE,CAAC,GAAG,CAAC;AACxB,gBAAgB,MAAM,EAAE,MAAM;AAC9B,oBAAoB,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;AAC/C,wBAAwB,OAAO,IAAI,CAAC,KAAK,EAAE;AAC3C,oBAAoB,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;AACrD,gBAAgB,CAAC;AACjB,gBAAgB,WAAW,EAAE,CAAC,KAAK,KAAK;AACxC,oBAAoB,OAAO,KAAK;AAChC,gBAAgB;AAChB,aAAa,CAAC,CAAC,CAAC;AAChB,QAAQ,IAAI,CAAC,oBAAoB,GAAG,YAAY,CAAC,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,EAAE,MAAM;AACrH,oBAAoB,OAAO,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;AAC3D,gBAAgB,CAAC;AACjB,gBAAgB,WAAW,EAAE,CAAC,KAAK,KAAK;AACxC,oBAAoB,OAAO,KAAK;AAChC,gBAAgB,CAAC,EAAE,CAAC,GAAG,CAAC;AACxB,gBAAgB,MAAM,EAAE,MAAM;AAC9B,oBAAoB,OAAO,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;AAC3D,gBAAgB,CAAC;AACjB,gBAAgB,WAAW,EAAE,CAAC,KAAK,KAAK;AACxC,oBAAoB,OAAO,KAAK;AAChC,gBAAgB;AAChB,aAAa,CAAC,CAAC,CAAC;AAChB;AACA;AACA;AACA,QAAQ,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,MAAM;AACxC,YAAY,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AAC7B,gBAAgB,OAAO,KAAK;AAC5B,YAAY,IAAI,IAAI,CAAC,iBAAiB,EAAE;AACxC,gBAAgB,QAAQ,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC;AAC9E,gBAAgB,OAAO,IAAI;AAC3B,YAAY,IAAI,IAAI,CAAC,iBAAiB,EAAE;AACxC,gBAAgB,QAAQ,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC;AAC9E,gBAAgB,OAAO,IAAI;AAC3B,YAAY,OAAO,KAAK;AACxB,QAAQ,CAAC,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC9D;AACA;AACA;AACA,QAAQ,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC,MAAM,aAAa,CAAC;AAC9D,YAAY,WAAW,EAAE,IAAI,CAAC,mBAAmB,EAAE;AACnD,YAAY,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAAE;AAChD,YAAY,SAAS,EAAE,IAAI,CAAC,SAAS;AACrC,YAAY,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE;AAC7C,YAAY,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE;AACvC,YAAY,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE;AAC/C,YAAY,MAAM,EAAE,IAAI,CAAC,MAAM;AAC/B,YAAY,WAAW,EAAE;AACzB,SAAS,CAAC,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACvE;AACA;AACA;AACA,QAAQ,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC,GAAG,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACrI;AACA;AACA;AACA,QAAQ,IAAI,CAAC,mBAAmB,GAAG,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,YAAY,CAAC,6BAA6B,CAAC;AACrJ,YAAY,IAAI,CAAC,qBAAqB,EAAE,EAAE,YAAY,CAAC,6BAA6B,CAAC,CAAC,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,qBAAqB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACrJ;AACA;AACA;AACA,QAAQ,IAAI,CAAC,oBAAoB,GAAG,QAAQ,CAAC,MAAM;AACnD,YAAY,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC;AACtD,YAAY,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,mBAAmB,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,mBAAmB,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,IAAI,GAAG,CAAC;AAC1I,YAAY,IAAI,aAAa;AAC7B,gBAAgB,OAAO,IAAI;AAC3B,YAAY,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,mBAAmB,EAAE,GAAG,IAAI,CAAC;AACxG,YAAY,OAAO,cAAc;AACjC,QAAQ,CAAC,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,sBAAsB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACzE;AACA;AACA;AACA,QAAQ,IAAI,CAAC,oBAAoB,GAAG,QAAQ,CAAC,MAAM;AACnD,YAAY,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC;AACtD,YAAY,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,mBAAmB,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,mBAAmB,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,IAAI,GAAG,CAAC;AAC1I,YAAY,IAAI,aAAa;AAC7B,gBAAgB,OAAO,IAAI;AAC3B,YAAY,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,mBAAmB,EAAE,GAAG,IAAI,CAAC;AACxG,YAAY,OAAO,cAAc;AACjC,QAAQ,CAAC,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,sBAAsB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACzE;AACA;AACA;AACA,QAAQ,IAAI,CAAC,SAAS,GAAG,MAAM;AAC/B,YAAY,IAAI,CAAC,oBAAoB,EAAE,EAAE,KAAK,EAAE;AAChD,QAAQ,CAAC;AACT,QAAQ,KAAK,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK;AACvD,YAAY,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;AACjC,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,KAAK,CAAC;AAChE;AACA;AACA,oBAAoB,IAAI,CAAC,oBAAoB,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACrE,gBAAgB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;AAClD,QAAQ,CAAC,CAAC;AACV,IAAI;AACJ,IAAI,QAAQ,GAAG;AACf,QAAQ,MAAM,OAAO,GAAG,cAAc,CAAC;AACvC,YAAY,kBAAkB,EAAE,SAAS;AACzC,YAAY,YAAY,EAAE,IAAI,CAAC,KAAK;AACpC,SAAS,CAAC;AACV,QAAQ,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;AAC5C,QAAQ,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE;AACxD,YAAY,SAAS,EAAE,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE;AAC1D,SAAS,CAAC;AACV,QAAQ,MAAM,eAAe,GAAG,uBAAuB,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;AACnF,QAAQ,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK;AACzC,cAAc,EAAE,GAAG,iBAAiB,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;AACxF,cAAc,EAAE,GAAG,eAAe,EAAE,CAAC;AACrC,IAAI;AACJ,IAAI,eAAe,GAAG;AACtB,QAAQ,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,eAAe,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC7G,IAAI;AACJ;AACA;AACA;AACA,IAAI,SAAS,CAAC,KAAK,EAAE;AACrB,QAAQ,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC;AAC9C,YAAY;AACZ,QAAQ,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI;AAC/B,QAAQ,IAAI,IAAI,KAAK,UAAU,EAAE;AACjC,YAAY,IAAI,CAAC,oBAAoB,EAAE,EAAE,KAAK,EAAE;AAChD,QAAQ;AACR,QAAQ,IAAI,IAAI,KAAK,WAAW,EAAE;AAClC,YAAY,IAAI,CAAC,oBAAoB,EAAE,EAAE,KAAK,EAAE;AAChD,QAAQ;AACR,IAAI;AACJ;AACA;AACA;AACA,IAAI,iBAAiB,CAAC,EAAE,EAAE;AAC1B,QAAQ,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC;AAC1C,IAAI;AACJ,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAC3L,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,yBAAyB,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,iBAAiB,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,iBAAiB,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,EAAE,iBAAiB,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,iBAAiB,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,iBAAiB,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,iBAAiB,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,YAAY,EAAE,EAAE,iBAAiB,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,iBAAiB,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,iBAAiB,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,iBAAiB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,EAAE,iBAAiB,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,mBAAmB,EAAE,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,mBAAmB,EAAE,EAAE,UAAU,EAAE,EAAE,oBAAoB,EAAE,+BAA+B,EAAE,oBAAoB,EAAE,+BAA+B,EAAE,oBAAoB,EAAE,+BAA+B,EAAE,mBAAmB,EAAE,gCAAgC,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,YAAY,CAAC,wBAAwB,EAAE,yBAAyB,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,kBAAkB,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;AAChuE;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,UAAU,EAAE,CAAC;AACnI,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,oBAAoB;AAClD,oBAAoB,QAAQ,EAAE,kBAAkB;AAChD,oBAAoB,SAAS,EAAE,CAAC,YAAY,CAAC,wBAAwB,EAAE,yBAAyB,CAAC,CAAC;AAClG,oBAAoB,IAAI,EAAE;AAC1B,wBAAwB,IAAI,EAAE,OAAO;AACrC,wBAAwB,sBAAsB,EAAE,6BAA6B;AAC7E,wBAAwB,sBAAsB,EAAE,6BAA6B;AAC7E,wBAAwB,sBAAsB,EAAE,6BAA6B;AAC7E,wBAAwB,qBAAqB,EAAE,8BAA8B;AAC7E,wBAAwB,YAAY,EAAE,OAAO;AAC7C,wBAAwB,WAAW,EAAE;AACrC;AACA,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,CAAC;;ACrPvC,MAAM,QAAQ,GAAG,CAAC,yBAAyB,EAAE,0BAA0B,CAAC;AACjE,MAAM,kBAAkB,CAAC;AAChC,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC;AACnL,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,mBAAmB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,CAAC,yBAAyB,EAAE,0BAA0B,CAAC,EAAE,OAAO,EAAE,CAAC,yBAAyB,EAAE,0BAA0B,CAAC,EAAE,CAAC,CAAC;AACzQ,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,mBAAmB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC;AACrI;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,UAAU,EAAE,CAAC;AAC5H,YAAY,IAAI,EAAE,QAAQ;AAC1B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,OAAO,EAAE,CAAC,GAAG,QAAQ,CAAC;AAC1C,oBAAoB,OAAO,EAAE,CAAC,GAAG,QAAQ;AACzC,iBAAiB;AACjB,SAAS,CAAC,EAAE,CAAC;;ACnBb;AACA;AACA;;;;"}