@radix-ng/primitives 0.24.0 → 0.25.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 (294) hide show
  1. package/avatar/src/avatar-fallback.directive.d.ts +1 -1
  2. package/compodoc/documentation.json +1718 -3931
  3. package/core/index.d.ts +3 -2
  4. package/core/src/positioning/constants.d.ts +2 -0
  5. package/core/src/positioning/types.d.ts +31 -0
  6. package/{popover/src/popover.utils.d.ts → core/src/positioning/utils.d.ts} +4 -4
  7. package/dialog/src/dialog-trigger.directive.d.ts +12 -0
  8. package/fesm2022/radix-ng-primitives-accordion.mjs +19 -19
  9. package/fesm2022/radix-ng-primitives-accordion.mjs.map +1 -1
  10. package/fesm2022/radix-ng-primitives-alert-dialog.mjs +22 -22
  11. package/fesm2022/radix-ng-primitives-alert-dialog.mjs.map +1 -1
  12. package/fesm2022/radix-ng-primitives-aspect-ratio.mjs +3 -3
  13. package/fesm2022/radix-ng-primitives-aspect-ratio.mjs.map +1 -1
  14. package/fesm2022/radix-ng-primitives-avatar.mjs +17 -17
  15. package/fesm2022/radix-ng-primitives-avatar.mjs.map +1 -1
  16. package/fesm2022/radix-ng-primitives-checkbox.mjs +16 -16
  17. package/fesm2022/radix-ng-primitives-checkbox.mjs.map +1 -1
  18. package/fesm2022/radix-ng-primitives-collapsible.mjs +9 -9
  19. package/fesm2022/radix-ng-primitives-collapsible.mjs.map +1 -1
  20. package/fesm2022/radix-ng-primitives-context-menu.mjs +34 -34
  21. package/fesm2022/radix-ng-primitives-context-menu.mjs.map +1 -1
  22. package/fesm2022/radix-ng-primitives-core.mjs +211 -236
  23. package/fesm2022/radix-ng-primitives-core.mjs.map +1 -1
  24. package/fesm2022/radix-ng-primitives-dialog.mjs +31 -26
  25. package/fesm2022/radix-ng-primitives-dialog.mjs.map +1 -1
  26. package/fesm2022/radix-ng-primitives-dropdown-menu.mjs +34 -34
  27. package/fesm2022/radix-ng-primitives-dropdown-menu.mjs.map +1 -1
  28. package/fesm2022/radix-ng-primitives-label.mjs +3 -3
  29. package/fesm2022/radix-ng-primitives-label.mjs.map +1 -1
  30. package/fesm2022/radix-ng-primitives-menu.mjs +22 -22
  31. package/fesm2022/radix-ng-primitives-menu.mjs.map +1 -1
  32. package/fesm2022/radix-ng-primitives-menubar.mjs +31 -31
  33. package/fesm2022/radix-ng-primitives-menubar.mjs.map +1 -1
  34. package/fesm2022/radix-ng-primitives-popover.mjs +61 -256
  35. package/fesm2022/radix-ng-primitives-popover.mjs.map +1 -1
  36. package/fesm2022/radix-ng-primitives-progress.mjs +10 -10
  37. package/fesm2022/radix-ng-primitives-progress.mjs.map +1 -1
  38. package/fesm2022/radix-ng-primitives-radio.mjs +12 -12
  39. package/fesm2022/radix-ng-primitives-radio.mjs.map +1 -1
  40. package/fesm2022/radix-ng-primitives-roving-focus.mjs +6 -6
  41. package/fesm2022/radix-ng-primitives-roving-focus.mjs.map +1 -1
  42. package/fesm2022/radix-ng-primitives-select.mjs +34 -35
  43. package/fesm2022/radix-ng-primitives-select.mjs.map +1 -1
  44. package/fesm2022/radix-ng-primitives-separator.mjs +3 -3
  45. package/fesm2022/radix-ng-primitives-separator.mjs.map +1 -1
  46. package/fesm2022/radix-ng-primitives-slider.mjs +31 -34
  47. package/fesm2022/radix-ng-primitives-slider.mjs.map +1 -1
  48. package/fesm2022/radix-ng-primitives-switch.mjs +18 -15
  49. package/fesm2022/radix-ng-primitives-switch.mjs.map +1 -1
  50. package/fesm2022/radix-ng-primitives-tabs.mjs +16 -16
  51. package/fesm2022/radix-ng-primitives-tabs.mjs.map +1 -1
  52. package/fesm2022/radix-ng-primitives-toggle-group.mjs +9 -9
  53. package/fesm2022/radix-ng-primitives-toggle-group.mjs.map +1 -1
  54. package/fesm2022/radix-ng-primitives-toggle.mjs +6 -6
  55. package/fesm2022/radix-ng-primitives-toggle.mjs.map +1 -1
  56. package/fesm2022/radix-ng-primitives-tooltip.mjs +143 -242
  57. package/fesm2022/radix-ng-primitives-tooltip.mjs.map +1 -1
  58. package/fesm2022/radix-ng-primitives-visually-hidden.mjs +9 -9
  59. package/fesm2022/radix-ng-primitives-visually-hidden.mjs.map +1 -1
  60. package/package.json +3 -57
  61. package/popover/index.d.ts +0 -1
  62. package/popover/src/popover-arrow.directive.d.ts +3 -4
  63. package/popover/src/popover-content.directive.d.ts +3 -3
  64. package/popover/src/popover-root.directive.d.ts +5 -4
  65. package/popover/src/popover.constants.d.ts +0 -2
  66. package/popover/src/popover.types.d.ts +0 -31
  67. package/popover/src/utils/cdk-event.service.d.ts +1 -0
  68. package/switch/src/switch-root.directive.d.ts +4 -1
  69. package/tooltip/src/tooltip-arrow.directive.d.ts +14 -1
  70. package/tooltip/src/tooltip-content.directive.d.ts +4 -5
  71. package/tooltip/src/tooltip-root.directive.d.ts +6 -3
  72. package/tooltip/src/tooltip.types.d.ts +0 -11
  73. package/core/src/control-value-accessor/index.d.ts +0 -75
  74. package/core/src/create-inject-context/assert-injector.d.ts +0 -51
  75. package/core/src/create-inject-context/index.d.ts +0 -68
  76. package/core/src/types.d.ts +0 -23
  77. package/esm2022/accordion/index.mjs +0 -40
  78. package/esm2022/accordion/radix-ng-primitives-accordion.mjs +0 -5
  79. package/esm2022/accordion/src/accordion-content.directive.mjs +0 -42
  80. package/esm2022/accordion/src/accordion-header.directive.mjs +0 -23
  81. package/esm2022/accordion/src/accordion-item.directive.mjs +0 -196
  82. package/esm2022/accordion/src/accordion-root.directive.mjs +0 -200
  83. package/esm2022/accordion/src/accordion-trigger.directive.mjs +0 -42
  84. package/esm2022/alert-dialog/index.mjs +0 -41
  85. package/esm2022/alert-dialog/radix-ng-primitives-alert-dialog.mjs +0 -5
  86. package/esm2022/alert-dialog/src/alert-dialog-cancel.directive.mjs +0 -24
  87. package/esm2022/alert-dialog/src/alert-dialog-content.directive.mjs +0 -34
  88. package/esm2022/alert-dialog/src/alert-dialog-root.directive.mjs +0 -24
  89. package/esm2022/alert-dialog/src/alert-dialog-title.directive.mjs +0 -14
  90. package/esm2022/alert-dialog/src/alert-dialog-trigger.directive.mjs +0 -24
  91. package/esm2022/alert-dialog/src/alert-dialog.service.mjs +0 -46
  92. package/esm2022/aspect-ratio/index.mjs +0 -2
  93. package/esm2022/aspect-ratio/radix-ng-primitives-aspect-ratio.mjs +0 -5
  94. package/esm2022/aspect-ratio/src/aspect-ratio.directive.mjs +0 -57
  95. package/esm2022/avatar/index.mjs +0 -31
  96. package/esm2022/avatar/radix-ng-primitives-avatar.mjs +0 -5
  97. package/esm2022/avatar/src/avatar-fallback.directive.mjs +0 -67
  98. package/esm2022/avatar/src/avatar-image.directive.mjs +0 -65
  99. package/esm2022/avatar/src/avatar-root.directive.mjs +0 -26
  100. package/esm2022/avatar/src/avatar.config.mjs +0 -17
  101. package/esm2022/checkbox/index.mjs +0 -36
  102. package/esm2022/checkbox/radix-ng-primitives-checkbox.mjs +0 -5
  103. package/esm2022/checkbox/src/checkbox-button.directive.mjs +0 -33
  104. package/esm2022/checkbox/src/checkbox-indicator.directive.mjs +0 -24
  105. package/esm2022/checkbox/src/checkbox-input.directive.mjs +0 -44
  106. package/esm2022/checkbox/src/checkbox.directive.mjs +0 -141
  107. package/esm2022/checkbox/src/checkbox.token.mjs +0 -6
  108. package/esm2022/collapsible/index.mjs +0 -4
  109. package/esm2022/collapsible/radix-ng-primitives-collapsible.mjs +0 -5
  110. package/esm2022/collapsible/src/collapsible-content.directive.mjs +0 -42
  111. package/esm2022/collapsible/src/collapsible-content.token.mjs +0 -3
  112. package/esm2022/collapsible/src/collapsible-root.directive.mjs +0 -127
  113. package/esm2022/collapsible/src/collapsible-trigger.directive.mjs +0 -49
  114. package/esm2022/context-menu/index.mjs +0 -65
  115. package/esm2022/context-menu/radix-ng-primitives-context-menu.mjs +0 -5
  116. package/esm2022/context-menu/src/context-menu-content.directive.mjs +0 -56
  117. package/esm2022/context-menu/src/context-menu-item-checkbox.directive.mjs +0 -39
  118. package/esm2022/context-menu/src/context-menu-item-indicator.directive.mjs +0 -22
  119. package/esm2022/context-menu/src/context-menu-item-radio-group.directive.mjs +0 -37
  120. package/esm2022/context-menu/src/context-menu-item-radio.directive.mjs +0 -67
  121. package/esm2022/context-menu/src/context-menu-item-selectable.mjs +0 -31
  122. package/esm2022/context-menu/src/context-menu-item.directive.mjs +0 -70
  123. package/esm2022/context-menu/src/context-menu-label.directive.mjs +0 -14
  124. package/esm2022/context-menu/src/context-menu-separator.directive.mjs +0 -21
  125. package/esm2022/context-menu/src/context-menu-trigger.directive.mjs +0 -92
  126. package/esm2022/core/index.mjs +0 -11
  127. package/esm2022/core/radix-ng-primitives-core.mjs +0 -5
  128. package/esm2022/core/src/accessor/provide-value-accessor.mjs +0 -19
  129. package/esm2022/core/src/auto-focus.directive.mjs +0 -80
  130. package/esm2022/core/src/control-value-accessor/index.mjs +0 -103
  131. package/esm2022/core/src/create-inject-context/assert-injector.mjs +0 -15
  132. package/esm2022/core/src/create-inject-context/index.mjs +0 -116
  133. package/esm2022/core/src/document.mjs +0 -6
  134. package/esm2022/core/src/id-generator.mjs +0 -43
  135. package/esm2022/core/src/inject-ng-control.mjs +0 -17
  136. package/esm2022/core/src/is-client.mjs +0 -6
  137. package/esm2022/core/src/is-inside-form.mjs +0 -7
  138. package/esm2022/core/src/types.mjs +0 -2
  139. package/esm2022/core/src/window.mjs +0 -15
  140. package/esm2022/dialog/index.mjs +0 -50
  141. package/esm2022/dialog/radix-ng-primitives-dialog.mjs +0 -5
  142. package/esm2022/dialog/src/dialog-close.directive.mjs +0 -25
  143. package/esm2022/dialog/src/dialog-content.directive.mjs +0 -46
  144. package/esm2022/dialog/src/dialog-description.directive.mjs +0 -14
  145. package/esm2022/dialog/src/dialog-dismiss.directive.mjs +0 -25
  146. package/esm2022/dialog/src/dialog-ref.mjs +0 -46
  147. package/esm2022/dialog/src/dialog-title.directive.mjs +0 -14
  148. package/esm2022/dialog/src/dialog-trigger.directive.mjs +0 -54
  149. package/esm2022/dialog/src/dialog.config.mjs +0 -6
  150. package/esm2022/dialog/src/dialog.injectors.mjs +0 -10
  151. package/esm2022/dialog/src/dialog.providers.mjs +0 -26
  152. package/esm2022/dialog/src/dialog.service.mjs +0 -96
  153. package/esm2022/dropdown-menu/index.mjs +0 -68
  154. package/esm2022/dropdown-menu/radix-ng-primitives-dropdown-menu.mjs +0 -5
  155. package/esm2022/dropdown-menu/src/dropdown-menu-content.directive.mjs +0 -56
  156. package/esm2022/dropdown-menu/src/dropdown-menu-item-checkbox.directive.mjs +0 -39
  157. package/esm2022/dropdown-menu/src/dropdown-menu-item-indicator.directive.mjs +0 -22
  158. package/esm2022/dropdown-menu/src/dropdown-menu-item-radio-group.directive.mjs +0 -37
  159. package/esm2022/dropdown-menu/src/dropdown-menu-item-radio.directive.mjs +0 -67
  160. package/esm2022/dropdown-menu/src/dropdown-menu-item-selectable.mjs +0 -31
  161. package/esm2022/dropdown-menu/src/dropdown-menu-item.directive.mjs +0 -73
  162. package/esm2022/dropdown-menu/src/dropdown-menu-label.directive.mjs +0 -14
  163. package/esm2022/dropdown-menu/src/dropdown-menu-separator.directive.mjs +0 -21
  164. package/esm2022/dropdown-menu/src/dropdown-menu-trigger.directive.mjs +0 -210
  165. package/esm2022/index.mjs +0 -2
  166. package/esm2022/label/index.mjs +0 -2
  167. package/esm2022/label/radix-ng-primitives-label.mjs +0 -5
  168. package/esm2022/label/src/label.directive.mjs +0 -57
  169. package/esm2022/menu/index.mjs +0 -45
  170. package/esm2022/menu/radix-ng-primitives-menu.mjs +0 -5
  171. package/esm2022/menu/src/menu-content.directive.mjs +0 -17
  172. package/esm2022/menu/src/menu-directive.mjs +0 -18
  173. package/esm2022/menu/src/menu-group.directive.mjs +0 -20
  174. package/esm2022/menu/src/menu-item.directive.mjs +0 -46
  175. package/esm2022/menu/src/menu-label.directive.mjs +0 -14
  176. package/esm2022/menu/src/menu-separator.directive.mjs +0 -21
  177. package/esm2022/menubar/index.mjs +0 -60
  178. package/esm2022/menubar/radix-ng-primitives-menubar.mjs +0 -5
  179. package/esm2022/menubar/src/menubar-content.directive.mjs +0 -17
  180. package/esm2022/menubar/src/menubar-item-checkbox.directive.mjs +0 -34
  181. package/esm2022/menubar/src/menubar-item-indicator.directive.mjs +0 -17
  182. package/esm2022/menubar/src/menubar-item-radio.directive.mjs +0 -35
  183. package/esm2022/menubar/src/menubar-item.directive.mjs +0 -20
  184. package/esm2022/menubar/src/menubar-radio-group.directive.mjs +0 -17
  185. package/esm2022/menubar/src/menubar-root.directive.mjs +0 -24
  186. package/esm2022/menubar/src/menubar-separator.directive.mjs +0 -17
  187. package/esm2022/menubar/src/menubar-trigger.directive.mjs +0 -45
  188. package/esm2022/popover/index.mjs +0 -51
  189. package/esm2022/popover/radix-ng-primitives-popover.mjs +0 -5
  190. package/esm2022/popover/src/popover-anchor.directive.mjs +0 -75
  191. package/esm2022/popover/src/popover-anchor.token.mjs +0 -3
  192. package/esm2022/popover/src/popover-arrow.directive.mjs +0 -117
  193. package/esm2022/popover/src/popover-arrow.token.mjs +0 -3
  194. package/esm2022/popover/src/popover-close.directive.mjs +0 -49
  195. package/esm2022/popover/src/popover-close.token.mjs +0 -3
  196. package/esm2022/popover/src/popover-content-attributes.component.mjs +0 -70
  197. package/esm2022/popover/src/popover-content-attributes.token.mjs +0 -3
  198. package/esm2022/popover/src/popover-content.directive.mjs +0 -270
  199. package/esm2022/popover/src/popover-root.directive.mjs +0 -320
  200. package/esm2022/popover/src/popover-root.inject.mjs +0 -7
  201. package/esm2022/popover/src/popover-trigger.directive.mjs +0 -41
  202. package/esm2022/popover/src/popover.constants.mjs +0 -90
  203. package/esm2022/popover/src/popover.types.mjs +0 -31
  204. package/esm2022/popover/src/popover.utils.mjs +0 -107
  205. package/esm2022/popover/src/utils/cdk-event.service.mjs +0 -153
  206. package/esm2022/popover/src/utils/constants.mjs +0 -2
  207. package/esm2022/popover/src/utils/types.mjs +0 -2
  208. package/esm2022/progress/index.mjs +0 -25
  209. package/esm2022/progress/radix-ng-primitives-progress.mjs +0 -5
  210. package/esm2022/progress/src/progress-indicator.directive.mjs +0 -33
  211. package/esm2022/progress/src/progress-root.directive.mjs +0 -132
  212. package/esm2022/radio/index.mjs +0 -5
  213. package/esm2022/radio/radix-ng-primitives-radio.mjs +0 -5
  214. package/esm2022/radio/src/radio-indicator.directive.mjs +0 -25
  215. package/esm2022/radio/src/radio-item-input.directive.mjs +0 -37
  216. package/esm2022/radio/src/radio-item.directive.mjs +0 -86
  217. package/esm2022/radio/src/radio-root.directive.mjs +0 -104
  218. package/esm2022/radio/src/radio-tokens.mjs +0 -3
  219. package/esm2022/radix-ng-primitives.mjs +0 -5
  220. package/esm2022/roving-focus/index.mjs +0 -3
  221. package/esm2022/roving-focus/radix-ng-primitives-roving-focus.mjs +0 -5
  222. package/esm2022/roving-focus/src/roving-focus-group.directive.mjs +0 -138
  223. package/esm2022/roving-focus/src/roving-focus-item.directive.mjs +0 -133
  224. package/esm2022/roving-focus/src/utils.mjs +0 -47
  225. package/esm2022/select/index.mjs +0 -65
  226. package/esm2022/select/radix-ng-primitives-select.mjs +0 -5
  227. package/esm2022/select/src/select-content.directive.mjs +0 -53
  228. package/esm2022/select/src/select-group.directive.mjs +0 -18
  229. package/esm2022/select/src/select-icon.directive.mjs +0 -18
  230. package/esm2022/select/src/select-item-indicator.directive.mjs +0 -23
  231. package/esm2022/select/src/select-item.directive.mjs +0 -122
  232. package/esm2022/select/src/select-label.directive.mjs +0 -15
  233. package/esm2022/select/src/select-separator.directive.mjs +0 -18
  234. package/esm2022/select/src/select-trigger.directive.mjs +0 -38
  235. package/esm2022/select/src/select-value.directive.mjs +0 -21
  236. package/esm2022/select/src/select.component.mjs +0 -234
  237. package/esm2022/separator/index.mjs +0 -2
  238. package/esm2022/separator/radix-ng-primitives-separator.mjs +0 -5
  239. package/esm2022/separator/src/separator.directive.mjs +0 -61
  240. package/esm2022/slider/index.mjs +0 -28
  241. package/esm2022/slider/radix-ng-primitives-slider.mjs +0 -5
  242. package/esm2022/slider/src/slider-horizontal.component.mjs +0 -117
  243. package/esm2022/slider/src/slider-impl.directive.mjs +0 -89
  244. package/esm2022/slider/src/slider-orientation-context.service.mjs +0 -27
  245. package/esm2022/slider/src/slider-range.component.mjs +0 -41
  246. package/esm2022/slider/src/slider-root.component.mjs +0 -210
  247. package/esm2022/slider/src/slider-thumb-impl.directive.mjs +0 -106
  248. package/esm2022/slider/src/slider-thumb.component.mjs +0 -22
  249. package/esm2022/slider/src/slider-track.component.mjs +0 -27
  250. package/esm2022/slider/src/slider-vertical.component.mjs +0 -117
  251. package/esm2022/slider/src/utils.mjs +0 -94
  252. package/esm2022/switch/index.mjs +0 -30
  253. package/esm2022/switch/radix-ng-primitives-switch.mjs +0 -5
  254. package/esm2022/switch/src/switch-input.directive.mjs +0 -44
  255. package/esm2022/switch/src/switch-root.directive.mjs +0 -145
  256. package/esm2022/switch/src/switch-thumb.directive.mjs +0 -26
  257. package/esm2022/tabs/index.mjs +0 -35
  258. package/esm2022/tabs/radix-ng-primitives-tabs.mjs +0 -5
  259. package/esm2022/tabs/src/tabs-content.directive.mjs +0 -35
  260. package/esm2022/tabs/src/tabs-list.directive.mjs +0 -26
  261. package/esm2022/tabs/src/tabs-root.directive.mjs +0 -57
  262. package/esm2022/tabs/src/tabs-trigger.directive.mjs +0 -78
  263. package/esm2022/tabs/src/utils.mjs +0 -7
  264. package/esm2022/toggle/index.mjs +0 -3
  265. package/esm2022/toggle/radix-ng-primitives-toggle.mjs +0 -5
  266. package/esm2022/toggle/src/toggle-visually-hidden-input.directive.mjs +0 -31
  267. package/esm2022/toggle/src/toggle.directive.mjs +0 -79
  268. package/esm2022/toggle-group/index.mjs +0 -6
  269. package/esm2022/toggle-group/radix-ng-primitives-toggle-group.mjs +0 -5
  270. package/esm2022/toggle-group/src/toggle-group-item.directive.mjs +0 -85
  271. package/esm2022/toggle-group/src/toggle-group-item.token.mjs +0 -3
  272. package/esm2022/toggle-group/src/toggle-group-multiple.directive.mjs +0 -185
  273. package/esm2022/toggle-group/src/toggle-group.directive.mjs +0 -179
  274. package/esm2022/toggle-group/src/toggle-group.token.mjs +0 -6
  275. package/esm2022/tooltip/index.mjs +0 -41
  276. package/esm2022/tooltip/radix-ng-primitives-tooltip.mjs +0 -5
  277. package/esm2022/tooltip/src/get-content-position.mjs +0 -31
  278. package/esm2022/tooltip/src/tooltip-arrow.directive.mjs +0 -92
  279. package/esm2022/tooltip/src/tooltip-arrow.token.mjs +0 -3
  280. package/esm2022/tooltip/src/tooltip-content-attributes.directive.mjs +0 -24
  281. package/esm2022/tooltip/src/tooltip-content.directive.mjs +0 -48
  282. package/esm2022/tooltip/src/tooltip-content.token.mjs +0 -3
  283. package/esm2022/tooltip/src/tooltip-root.directive.mjs +0 -288
  284. package/esm2022/tooltip/src/tooltip-trigger.directive.mjs +0 -70
  285. package/esm2022/tooltip/src/tooltip.config.mjs +0 -18
  286. package/esm2022/tooltip/src/tooltip.constants.mjs +0 -84
  287. package/esm2022/tooltip/src/tooltip.types.mjs +0 -14
  288. package/esm2022/visually-hidden/index.mjs +0 -4
  289. package/esm2022/visually-hidden/radix-ng-primitives-visually-hidden.mjs +0 -5
  290. package/esm2022/visually-hidden/src/visually-hidden-input-bubble.directive.mjs +0 -74
  291. package/esm2022/visually-hidden/src/visually-hidden-input.directive.mjs +0 -74
  292. package/esm2022/visually-hidden/src/visually-hidden.directive.mjs +0 -42
  293. package/tooltip/src/get-content-position.d.ts +0 -3
  294. package/tooltip/src/tooltip.constants.d.ts +0 -9
@@ -1,103 +0,0 @@
1
- import { booleanAttribute, computed, DestroyRef, Directive, inject, Injector, model } from '@angular/core';
2
- import { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';
3
- import { NgControl, NgModel } from '@angular/forms';
4
- import { createInjectionToken } from '../create-inject-context';
5
- import * as i0 from "@angular/core";
6
- const noop = () => undefined;
7
- export const [injectCvaCompareTo, provideCvaCompareTo] = createInjectionToken(() => Object.is);
8
- /**
9
- * Provides a {@link RdxControlValueAccessorCompareTo comparator} based on a property of `T`.
10
- *
11
- * @example
12
- * ```ts
13
- * interface User {
14
- * id: string;
15
- * name: string;
16
- * }
17
- *
18
- * provideCvaCompareToByProp<User>('id');
19
- * ```
20
- */
21
- export const provideCvaCompareToByProp = (prop) => provideCvaCompareTo((a, b) => Object.is(a?.[prop], b?.[prop]), true);
22
- export class RdxControlValueAccessor {
23
- /**
24
- * `NgModel` sets up the control in `ngOnChanges`. Idk if bug or on purpose, but `writeValue` and `setDisabledState` are called before the inputs are set.
25
- * {@link https://github.com/angular/angular/blob/main/packages/forms/src/directives/ng_model.ts#L223}
26
- *
27
- * @ignore
28
- */
29
- get registered() {
30
- return this.ngControl instanceof NgModel
31
- ? this.ngControl._registered
32
- : true;
33
- }
34
- constructor() {
35
- this.ngControl = inject(NgControl, { self: true, optional: true });
36
- this.destroyRef = inject(DestroyRef);
37
- this.injector = inject(Injector);
38
- /**
39
- * A comparator, which determines value changes. Should return true, if two values are considered semantic equal.
40
- *
41
- * Defaults to {@link Object.is} in order to align with change detection behavior for inputs.
42
- */
43
- this.compareTo = injectCvaCompareTo();
44
- /** Whether this is disabled. If a control is present, it reflects it's disabled state. */
45
- this.inputDisabled = model(this.ngControl?.disabled ?? false, { alias: 'disabled' });
46
- this.disabled = computed(() => booleanAttribute(this.inputDisabled()));
47
- /** The value of this. If a control is present, it reflects it's value. */
48
- this.value = model(this.ngControl?.value ?? undefined);
49
- this._onChange = noop;
50
- this._onTouched = noop;
51
- if (this.ngControl != null)
52
- this.ngControl.valueAccessor = this;
53
- toObservable(this.value, { injector: this.injector })
54
- .pipe(takeUntilDestroyed(this.destroyRef))
55
- .subscribe((value) => {
56
- if (this.compareTo(this.ngControl?.value, value))
57
- return;
58
- this._onChange(value);
59
- });
60
- // sync disabled state
61
- toObservable(this.inputDisabled, { injector: this.injector })
62
- .pipe(takeUntilDestroyed(this.destroyRef))
63
- .subscribe((disabled) => {
64
- if (this.ngControl == null || this.ngControl.control == null || this.ngControl.disabled === disabled)
65
- return;
66
- this.ngControl.control[disabled ? 'disable' : 'enable']();
67
- });
68
- }
69
- /**
70
- * This function should be called when this host is considered `touched`.
71
- *
72
- * NOTE: Whenever a `blur` event is triggered on this host, this function is called.
73
- *
74
- * @see {@link RdxControlValueAccessor.registerOnTouched}
75
- * @see {@link RdxControlValueAccessor._ngControl}
76
- */
77
- markAsTouched() {
78
- this._onTouched();
79
- }
80
- setDisabledState(disabled) {
81
- if (!this.registered)
82
- return;
83
- this.inputDisabled.set(disabled);
84
- }
85
- writeValue(value) {
86
- if (!this.registered || this.compareTo(value, this.value()))
87
- return;
88
- this.value.set(value);
89
- }
90
- registerOnChange(onChange) {
91
- this._onChange = onChange;
92
- }
93
- registerOnTouched(onTouched) {
94
- this._onTouched = onTouched;
95
- }
96
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxControlValueAccessor, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
97
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: RdxControlValueAccessor, isStandalone: true, inputs: { inputDisabled: { classPropertyName: "inputDisabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { inputDisabled: "disabledChange", value: "valueChange" }, ngImport: i0 }); }
98
- }
99
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxControlValueAccessor, decorators: [{
100
- type: Directive,
101
- args: [{ standalone: true }]
102
- }], ctorParameters: () => [] });
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL2NvcmUvc3JjL2NvbnRyb2wtdmFsdWUtYWNjZXNzb3IvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RSxPQUFPLEVBQXdCLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFFaEUsTUFBTSxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDO0FBSTdCLE1BQU0sQ0FBQyxNQUFNLENBQUMsa0JBQWtCLEVBQUUsbUJBQW1CLENBQUMsR0FBRyxvQkFBb0IsQ0FDekUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FDbEIsQ0FBQztBQUVGOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLENBQUksSUFBYSxFQUFFLEVBQUUsQ0FDMUQsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFHekUsTUFBTSxPQUFPLHVCQUF1QjtJQWlCaEM7Ozs7O09BS0c7SUFDSCxJQUFZLFVBQVU7UUFDbEIsT0FBTyxJQUFJLENBQUMsU0FBUyxZQUFZLE9BQU87WUFDcEMsQ0FB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QUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsUUFBZ0M7UUFDN0MsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7SUFDOUIsQ0FBQztJQUVELGlCQUFpQixDQUFDLFNBQXFCO1FBQ25DLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO0lBQ2hDLENBQUM7K0dBcEZRLHVCQUF1QjttR0FBdkIsdUJBQXVCOzs0RkFBdkIsdUJBQXVCO2tCQURuQyxTQUFTO21CQUFDLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQmFzZWQgT246XG4gKiBDb3B5cmlnaHQgKGMpIGZsZWJlZSBBdXRob3JzLiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IEJvb2xlYW5JbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBib29sZWFuQXR0cmlidXRlLCBjb21wdXRlZCwgRGVzdHJveVJlZiwgRGlyZWN0aXZlLCBpbmplY3QsIEluamVjdG9yLCBtb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkLCB0b09ic2VydmFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTmdDb250cm9sLCBOZ01vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgY3JlYXRlSW5qZWN0aW9uVG9rZW4gfSBmcm9tICcuLi9jcmVhdGUtaW5qZWN0LWNvbnRleHQnO1xuXG5jb25zdCBub29wID0gKCkgPT4gdW5kZWZpbmVkO1xuXG5leHBvcnQgdHlwZSBSZHhDb250cm9sVmFsdWVBY2Nlc3NvckNvbXBhcmVUbzxUID0gYW55PiA9IChhPzogVCwgYj86IFQpID0+IGJvb2xlYW47XG5cbmV4cG9ydCBjb25zdCBbaW5qZWN0Q3ZhQ29tcGFyZVRvLCBwcm92aWRlQ3ZhQ29tcGFyZVRvXSA9IGNyZWF0ZUluamVjdGlvblRva2VuPCgpID0+IFJkeENvbnRyb2xWYWx1ZUFjY2Vzc29yQ29tcGFyZVRvPihcbiAgICAoKSA9PiBPYmplY3QuaXNcbik7XG5cbi8qKlxuICogUHJvdmlkZXMgYSB7QGxpbmsgUmR4Q29udHJvbFZhbHVlQWNjZXNzb3JDb21wYXJlVG8gY29tcGFyYXRvcn0gYmFzZWQgb24gYSBwcm9wZXJ0eSBvZiBgVGAuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiBpbnRlcmZhY2UgVXNlciB7XG4gKiBcdGlkOiBzdHJpbmc7XG4gKiBcdG5hbWU6IHN0cmluZztcbiAqIH1cbiAqXG4gKiBwcm92aWRlQ3ZhQ29tcGFyZVRvQnlQcm9wPFVzZXI+KCdpZCcpO1xuICogYGBgXG4gKi9cbmV4cG9ydCBjb25zdCBwcm92aWRlQ3ZhQ29tcGFyZVRvQnlQcm9wID0gPFQ+KHByb3A6IGtleW9mIFQpID0+XG4gICAgcHJvdmlkZUN2YUNvbXBhcmVUbygoYSwgYikgPT4gT2JqZWN0LmlzKGE/Lltwcm9wXSwgYj8uW3Byb3BdKSwgdHJ1ZSk7XG5cbkBEaXJlY3RpdmUoeyBzdGFuZGFsb25lOiB0cnVlIH0pXG5leHBvcnQgY2xhc3MgUmR4Q29udHJvbFZhbHVlQWNjZXNzb3I8VmFsdWU+IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbmdDb250cm9sID0gaW5qZWN0KE5nQ29udHJvbCwgeyBzZWxmOiB0cnVlLCBvcHRpb25hbDogdHJ1ZSB9KTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG5cbiAgICAvKipcbiAgICAgKiBBIGNvbXBhcmF0b3IsIHdoaWNoIGRldGVybWluZXMgdmFsdWUgY2hhbmdlcy4gU2hvdWxkIHJldHVybiB0cnVlLCBpZiB0d28gdmFsdWVzIGFyZSBjb25zaWRlcmVkIHNlbWFudGljIGVxdWFsLlxuICAgICAqXG4gICAgICogRGVmYXVsdHMgdG8ge0BsaW5rIE9iamVjdC5pc30gaW4gb3JkZXIgdG8gYWxpZ24gd2l0aCBjaGFuZ2UgZGV0ZWN0aW9uIGJlaGF2aW9yIGZvciBpbnB1dHMuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGNvbXBhcmVUbzogUmR4Q29udHJvbFZhbHVlQWNjZXNzb3JDb21wYXJlVG88VmFsdWU+ID0gaW5qZWN0Q3ZhQ29tcGFyZVRvKCk7XG4gICAgLyoqIFdoZXRoZXIgdGhpcyBpcyBkaXNhYmxlZC4gSWYgYSBjb250cm9sIGlzIHByZXNlbnQsIGl0IHJlZmxlY3RzIGl0J3MgZGlzYWJsZWQgc3RhdGUuICovXG4gICAgcHVibGljIGlucHV0RGlzYWJsZWQgPSBtb2RlbDxCb29sZWFuSW5wdXQ+KHRoaXMubmdDb250cm9sPy5kaXNhYmxlZCA/PyBmYWxzZSwgeyBhbGlhczogJ2Rpc2FibGVkJyB9KTtcbiAgICBwdWJsaWMgZGlzYWJsZWQgPSBjb21wdXRlZCgoKSA9PiBib29sZWFuQXR0cmlidXRlKHRoaXMuaW5wdXREaXNhYmxlZCgpKSk7XG4gICAgLyoqIFRoZSB2YWx1ZSBvZiB0aGlzLiBJZiBhIGNvbnRyb2wgaXMgcHJlc2VudCwgaXQgcmVmbGVjdHMgaXQncyB2YWx1ZS4gKi9cbiAgICBwdWJsaWMgdmFsdWUgPSBtb2RlbDxWYWx1ZT4odGhpcy5uZ0NvbnRyb2w/LnZhbHVlID8/IHVuZGVmaW5lZCk7XG5cbiAgICAvKipcbiAgICAgKiBgTmdNb2RlbGAgc2V0cyB1cCB0aGUgY29udHJvbCBpbiBgbmdPbkNoYW5nZXNgLiBJZGsgaWYgYnVnIG9yIG9uIHB1cnBvc2UsIGJ1dCBgd3JpdGVWYWx1ZWAgYW5kIGBzZXREaXNhYmxlZFN0YXRlYCBhcmUgY2FsbGVkIGJlZm9yZSB0aGUgaW5wdXRzIGFyZSBzZXQuXG4gICAgICoge0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvYmxvYi9tYWluL3BhY2thZ2VzL2Zvcm1zL3NyYy9kaXJlY3RpdmVzL25nX21vZGVsLnRzI0wyMjN9XG4gICAgICpcbiAgICAgKiBAaWdub3JlXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXQgcmVnaXN0ZXJlZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmdDb250cm9sIGluc3RhbmNlb2YgTmdNb2RlbFxuICAgICAgICAgICAgPyAodGhpcy5uZ0NvbnRyb2wgYXMgdW5rbm93biBhcyB7IF9yZWdpc3RlcmVkOiBib29sZWFuIH0pLl9yZWdpc3RlcmVkXG4gICAgICAgICAgICA6IHRydWU7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIGlmICh0aGlzLm5nQ29udHJvbCAhPSBudWxsKSB0aGlzLm5nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcblxuICAgICAgICB0b09ic2VydmFibGUodGhpcy52YWx1ZSwgeyBpbmplY3RvcjogdGhpcy5pbmplY3RvciB9KVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmNvbXBhcmVUbyh0aGlzLm5nQ29udHJvbD8udmFsdWUsIHZhbHVlKSkgcmV0dXJuO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5fb25DaGFuZ2UodmFsdWUpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gc3luYyBkaXNhYmxlZCBzdGF0ZVxuICAgICAgICB0b09ic2VydmFibGUodGhpcy5pbnB1dERpc2FibGVkLCB7IGluamVjdG9yOiB0aGlzLmluamVjdG9yIH0pXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGRpc2FibGVkKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMubmdDb250cm9sID09IG51bGwgfHwgdGhpcy5uZ0NvbnRyb2wuY29udHJvbCA9PSBudWxsIHx8IHRoaXMubmdDb250cm9sLmRpc2FibGVkID09PSBkaXNhYmxlZClcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5uZ0NvbnRyb2wuY29udHJvbFtkaXNhYmxlZCA/ICdkaXNhYmxlJyA6ICdlbmFibGUnXSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfb25DaGFuZ2U6ICh2YWx1ZTogVmFsdWUpID0+IHZvaWQgPSBub29wO1xuICAgIHByaXZhdGUgX29uVG91Y2hlZDogKCkgPT4gdm9pZCA9IG5vb3A7XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIGZ1bmN0aW9uIHNob3VsZCBiZSBjYWxsZWQgd2hlbiB0aGlzIGhvc3QgaXMgY29uc2lkZXJlZCBgdG91Y2hlZGAuXG4gICAgICpcbiAgICAgKiBOT1RFOiBXaGVuZXZlciBhIGBibHVyYCBldmVudCBpcyB0cmlnZ2VyZWQgb24gdGhpcyBob3N0LCB0aGlzIGZ1bmN0aW9uIGlzIGNhbGxlZC5cbiAgICAgKlxuICAgICAqIEBzZWUge0BsaW5rIFJkeENvbnRyb2xWYWx1ZUFjY2Vzc29yLnJlZ2lzdGVyT25Ub3VjaGVkfVxuICAgICAqIEBzZWUge0BsaW5rIFJkeENvbnRyb2xWYWx1ZUFjY2Vzc29yLl9uZ0NvbnRyb2x9XG4gICAgICovXG4gICAgbWFya0FzVG91Y2hlZCgpIHtcbiAgICAgICAgdGhpcy5fb25Ub3VjaGVkKCk7XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShkaXNhYmxlZDogYm9vbGVhbikge1xuICAgICAgICBpZiAoIXRoaXMucmVnaXN0ZXJlZCkgcmV0dXJuO1xuXG4gICAgICAgIHRoaXMuaW5wdXREaXNhYmxlZC5zZXQoZGlzYWJsZWQpO1xuICAgIH1cblxuICAgIHdyaXRlVmFsdWUodmFsdWU6IFZhbHVlKSB7XG4gICAgICAgIGlmICghdGhpcy5yZWdpc3RlcmVkIHx8IHRoaXMuY29tcGFyZVRvKHZhbHVlLCB0aGlzLnZhbHVlKCkpKSByZXR1cm47XG5cbiAgICAgICAgdGhpcy52YWx1ZS5zZXQodmFsdWUpO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2Uob25DaGFuZ2U6ICh2YWx1ZTogVmFsdWUpID0+IHZvaWQpIHtcbiAgICAgICAgdGhpcy5fb25DaGFuZ2UgPSBvbkNoYW5nZTtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZChvblRvdWNoZWQ6ICgpID0+IHZvaWQpIHtcbiAgICAgICAgdGhpcy5fb25Ub3VjaGVkID0gb25Ub3VjaGVkO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,15 +0,0 @@
1
- /**
2
- * This code is adapted from the original implementation by the ngxTension team.
3
- * Source: https://github.com/ngxtension/ngxtension-platform/blob/main/libs/ngxtension/assert-injector/src/assert-injector.ts
4
- *
5
- * Copyright (c) ngxtension Authors. Licensed under the MIT License.
6
- */
7
- import { assertInInjectionContext, inject, Injector, runInInjectionContext } from '@angular/core';
8
- export function assertInjector(fn, injector, runner) {
9
- !injector && assertInInjectionContext(fn);
10
- const assertedInjector = injector ?? inject(Injector);
11
- if (!runner)
12
- return assertedInjector;
13
- return runInInjectionContext(assertedInjector, runner);
14
- }
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXJ0LWluamVjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcHJpbWl0aXZlcy9jb3JlL3NyYy9jcmVhdGUtaW5qZWN0LWNvbnRleHQvYXNzZXJ0LWluamVjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHO0FBQ0gsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFrRGxHLE1BQU0sVUFBVSxjQUFjLENBQzFCLEVBQWdCLEVBQ2hCLFFBQTRCLEVBQzVCLE1BQXNCO0lBRXRCLENBQUMsUUFBUSxJQUFJLHdCQUF3QixDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRTFDLE1BQU0sZ0JBQWdCLEdBQUcsUUFBUSxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUV0RCxJQUFJLENBQUMsTUFBTTtRQUFFLE9BQU8sZ0JBQWdCLENBQUM7SUFFckMsT0FBTyxxQkFBcUIsQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLENBQXVCLENBQUM7QUFDakYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGhpcyBjb2RlIGlzIGFkYXB0ZWQgZnJvbSB0aGUgb3JpZ2luYWwgaW1wbGVtZW50YXRpb24gYnkgdGhlIG5neFRlbnNpb24gdGVhbS5cbiAqIFNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL25neHRlbnNpb24vbmd4dGVuc2lvbi1wbGF0Zm9ybS9ibG9iL21haW4vbGlicy9uZ3h0ZW5zaW9uL2Fzc2VydC1pbmplY3Rvci9zcmMvYXNzZXJ0LWluamVjdG9yLnRzXG4gKlxuICogQ29weXJpZ2h0IChjKSBuZ3h0ZW5zaW9uIEF1dGhvcnMuIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgYXNzZXJ0SW5JbmplY3Rpb25Db250ZXh0LCBpbmplY3QsIEluamVjdG9yLCBydW5JbkluamVjdGlvbkNvbnRleHQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE51bGxhYmxlLCBTYWZlRnVuY3Rpb24gfSBmcm9tICcuLi90eXBlcyc7XG5cbi8qKlxuICogYGFzc2VydEluamVjdG9yYCBleHRlbmRzIGBhc3NlcnRJbkluamVjdGlvbkNvbnRleHRgIHdpdGggYW4gb3B0aW9uYWwgYEluamVjdG9yYFxuICogQWZ0ZXIgYXNzZXJ0aW9uLCBgYXNzZXJ0SW5qZWN0b3JgIHJ1bnMgdGhlIGBydW5uZXJgIGZ1bmN0aW9uIHdpdGggdGhlIGd1YXJhbnRlZWQgYEluamVjdG9yYFxuICogd2hldGhlciBpdCBpcyB0aGUgZGVmYXVsdCBgSW5qZWN0b3JgIHdpdGhpbiB0aGUgY3VycmVudCAqKkluamVjdGlvbiBDb250ZXh0KipcbiAqIG9yIHRoZSBjdXN0b20gYEluamVjdG9yYCB0aGF0IHdhcyBwYXNzZWQgaW4uXG4gKlxuICogQHRlbXBsYXRlIHsoKSA9PiB1bmtub3dufSBSdW5uZXIgLSBSdW5uZXIgaXMgYSBmdW5jdGlvbiB0aGF0IGNhbiByZXR1cm4gYW55dGhpbmdcbiAqIEBwYXJhbSB7U2FmZUZ1bmN0aW9ufSBmbiAtIHRoZSBGdW5jdGlvbiB0byBwYXNzIGluIGBhc3NlcnRJbkluamVjdGlvbkNvbnRleHRgXG4gKiBAcGFyYW0ge051bGxhYmxlPEluamVjdG9yPn0gaW5qZWN0b3IgLSB0aGUgb3B0aW9uYWwgXCJjdXN0b21cIiBJbmplY3RvclxuICogQHBhcmFtIHtSdW5uZXJ9IHJ1bm5lciAtIHRoZSBydW5uZXIgZm5cbiAqIEByZXR1cm5zIHtSZXR1cm5UeXBlPFJ1bm5lcj59IHJlc3VsdCAtIHJldHVybnMgdGhlIHJlc3VsdCBvZiB0aGUgUnVubmVyXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiBmdW5jdGlvbiBpbmplY3RWYWx1ZShpbmplY3Rvcj86IEluamVjdG9yKSB7XG4gKiAgcmV0dXJuIGFzc2VydEluamVjdG9yKGluamVjdFZhbHVlLCBpbmplY3RvciwgKCkgPT4gJ3ZhbHVlJyk7XG4gKiB9XG4gKlxuICogaW5qZWN0VmFsdWUoKTsgLy8gc3RyaW5nXG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFzc2VydEluamVjdG9yPFJ1bm5lciBleHRlbmRzICgpID0+IHVua25vd24+KFxuICAgIGZuOiBTYWZlRnVuY3Rpb24sXG4gICAgaW5qZWN0b3I6IE51bGxhYmxlPEluamVjdG9yPixcbiAgICBydW5uZXI6IFJ1bm5lclxuKTogUmV0dXJuVHlwZTxSdW5uZXI+O1xuLyoqXG4gKiBgYXNzZXJ0SW5qZWN0b3JgIGV4dGVuZHMgYGFzc2VydEluSW5qZWN0aW9uQ29udGV4dGAgd2l0aCBhbiBvcHRpb25hbCBgSW5qZWN0b3JgXG4gKiBBZnRlciBhc3NlcnRpb24sIGBhc3NlcnRJbmplY3RvcmAgcmV0dXJucyBhIGd1YXJhbnRlZWQgYEluamVjdG9yYCB3aGV0aGVyIGl0IGlzIHRoZSBkZWZhdWx0IGBJbmplY3RvcmBcbiAqIHdpdGhpbiB0aGUgY3VycmVudCAqKkluamVjdGlvbiBDb250ZXh0Kiogb3IgdGhlIGN1c3RvbSBgSW5qZWN0b3JgIHRoYXQgd2FzIHBhc3NlZCBpbi5cbiAqXG4gKiBAcGFyYW0ge1NhZmVGdW5jdGlvbn0gZm4gLSB0aGUgRnVuY3Rpb24gdG8gcGFzcyBpbiBgYXNzZXJ0SW5JbmplY3Rpb25Db250ZXh0YFxuICogQHBhcmFtIHtOdWxsYWJsZTxJbmplY3Rvcj59IGluamVjdG9yIC0gdGhlIG9wdGlvbmFsIFwiY3VzdG9tXCIgSW5qZWN0b3JcbiAqIEByZXR1cm5zIEluamVjdG9yXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiBmdW5jdGlvbiBpbmplY3REZXN0cm95KGluamVjdG9yPzogSW5qZWN0b3IpIHtcbiAqICBpbmplY3RvciA9IGFzc2VydEluamVjdG9yKGluamVjdERlc3Ryb3ksIGluamVjdG9yKTtcbiAqXG4gKiAgcmV0dXJuIHJ1bkluSW5qZWN0aW9uQ29udGV4dChpbmplY3RvciwgKCkgPT4ge1xuICogICAgLy8gY29kZVxuICogIH0pXG4gKiB9XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFzc2VydEluamVjdG9yKGZuOiBTYWZlRnVuY3Rpb24sIGluamVjdG9yOiBOdWxsYWJsZTxJbmplY3Rvcj4pOiBJbmplY3RvcjtcbmV4cG9ydCBmdW5jdGlvbiBhc3NlcnRJbmplY3RvcjxSdW5uZXIgZXh0ZW5kcyAoKSA9PiB1bmtub3duPihcbiAgICBmbjogU2FmZUZ1bmN0aW9uLFxuICAgIGluamVjdG9yOiBOdWxsYWJsZTxJbmplY3Rvcj4sXG4gICAgcnVubmVyPzogKCkgPT4gdW5rbm93blxuKTogSW5qZWN0b3IgfCBSZXR1cm5UeXBlPFJ1bm5lcj4ge1xuICAgICFpbmplY3RvciAmJiBhc3NlcnRJbkluamVjdGlvbkNvbnRleHQoZm4pO1xuXG4gICAgY29uc3QgYXNzZXJ0ZWRJbmplY3RvciA9IGluamVjdG9yID8/IGluamVjdChJbmplY3Rvcik7XG5cbiAgICBpZiAoIXJ1bm5lcikgcmV0dXJuIGFzc2VydGVkSW5qZWN0b3I7XG5cbiAgICByZXR1cm4gcnVuSW5JbmplY3Rpb25Db250ZXh0KGFzc2VydGVkSW5qZWN0b3IsIHJ1bm5lcikgYXMgUmV0dXJuVHlwZTxSdW5uZXI+O1xufVxuIl19
@@ -1,116 +0,0 @@
1
- /**
2
- *
3
- * Copyright (c) ngxtension Authors. Licensed under the MIT License.
4
- */
5
- import { ENVIRONMENT_INITIALIZER, InjectionToken, inject, runInInjectionContext } from '@angular/core';
6
- import { assertInjector } from './assert-injector';
7
- function createInjectFn(token) {
8
- // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type
9
- return function ({ injector, ...injectOptions } = {}) {
10
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
11
- // @ts-expect-error
12
- injector = assertInjector(this, injector);
13
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
14
- // @ts-expect-error
15
- return runInInjectionContext(injector, () => inject(token, injectOptions));
16
- };
17
- }
18
- function createProvideFn(token, factory, opts = {}) {
19
- const { deps = [], multi = false, extraProviders = [], isFunctionValue: isFunctionValueFromOpts = false } = opts;
20
- return (value, isFunctionValue = isFunctionValueFromOpts) => {
21
- let provider;
22
- if (typeof value !== 'undefined') {
23
- // TODO: (chau) maybe this can be made better
24
- const factory = typeof value === 'function' ? (isFunctionValue ? () => value : value) : () => value;
25
- provider = {
26
- provide: token,
27
- useFactory: factory,
28
- multi
29
- };
30
- }
31
- else {
32
- provider = {
33
- provide: token,
34
- useFactory: factory,
35
- deps: deps,
36
- multi
37
- };
38
- }
39
- return [extraProviders, provider];
40
- };
41
- }
42
- /**
43
- * `createInjectionToken` accepts a factory function and returns a tuple of `injectFn`, `provideFn`, and the `InjectionToken`
44
- * that the factory function is for.
45
- *
46
- * @param {Function} factory - Factory Function that returns the value for the `InjectionToken`
47
- * @param {CreateInjectionTokenOptions} options - object to control how the `InjectionToken` behaves
48
- * @returns {CreateInjectionTokenReturn}
49
- *
50
- * @example
51
- * ```ts
52
- * const [injectCounter, provideCounter, COUNTER] = createInjectionToken(() => signal(0));
53
- *
54
- * export class Counter {
55
- * counter = injectCounter(); // WritableSignal<number>
56
- * }
57
- * ```
58
- */
59
- export function createInjectionToken(factory, options) {
60
- const tokenName = factory.name || factory.toString();
61
- const opts = options ?? { isRoot: true };
62
- opts.isRoot ??= true;
63
- // NOTE: multi tokens cannot be a root token. It has to be provided (provideFn needs to be invoked)
64
- // for the 'multi' flag to work properly
65
- if (opts.multi) {
66
- opts.isRoot = false;
67
- }
68
- if (opts.isRoot) {
69
- if (opts.token) {
70
- throw new Error(`\
71
- createInjectionToken is creating a root InjectionToken but an external token is passed in.
72
- `);
73
- }
74
- const token = new InjectionToken(`Token for ${tokenName}`, {
75
- factory: () => {
76
- if (opts.deps && Array.isArray(opts.deps)) {
77
- return factory(...opts.deps.map((dep) => {
78
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
79
- // @ts-ignore
80
- dep = (Array.isArray(dep) ? dep.at(-1) : dep);
81
- return inject(dep);
82
- }));
83
- }
84
- return factory();
85
- }
86
- });
87
- const injectFn = createInjectFn(token);
88
- return [
89
- injectFn,
90
- createProvideFn(token, factory, opts),
91
- token,
92
- () => ({
93
- provide: ENVIRONMENT_INITIALIZER,
94
- useValue: () => injectFn(),
95
- multi: true
96
- })
97
- ];
98
- }
99
- const token = opts.token || new InjectionToken(`Token for ${tokenName}`);
100
- return [
101
- createInjectFn(token),
102
- createProvideFn(token, factory, opts),
103
- token,
104
- () => []
105
- ];
106
- }
107
- export function createNoopInjectionToken(description, options) {
108
- const token = options?.token || new InjectionToken(description);
109
- return [
110
- createInjectFn(token),
111
- createProvideFn(token, () => null, (options || {})),
112
- token,
113
- () => []
114
- ];
115
- }
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL2NvcmUvc3JjL2NyZWF0ZS1pbmplY3QtY29udGV4dC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGNBQWMsRUFDZCxNQUFNLEVBQ04scUJBQXFCLEVBV3hCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQWdFbkQsU0FBUyxjQUFjLENBQVMsS0FBNkI7SUFDekQsc0VBQXNFO0lBQ3RFLE9BQU8sVUFBMEIsRUFBRSxRQUFRLEVBQUUsR0FBRyxhQUFhLEtBQThDLEVBQUU7UUFDekcsNkRBQTZEO1FBQzdELG1CQUFtQjtRQUNuQixRQUFRLEdBQUcsY0FBYyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztRQUMxQyw2REFBNkQ7UUFDN0QsbUJBQW1CO1FBQ25CLE9BQU8scUJBQXFCLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsYUFBOEIsQ0FBQyxDQUFDLENBQUM7SUFDaEcsQ0FBQyxDQUFDO0FBQ04sQ0FBQztBQUVELFNBQVMsZUFBZSxDQUtwQixLQUE2QixFQUM3QixPQUFtQyxFQUNuQyxPQUF1RCxFQUFFO0lBRXpELE1BQU0sRUFBRSxJQUFJLEdBQUcsRUFBRSxFQUFFLEtBQUssR0FBRyxLQUFLLEVBQUUsY0FBYyxHQUFHLEVBQUUsRUFBRSxlQUFlLEVBQUUsdUJBQXVCLEdBQUcsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDO0lBQ2pILE9BQU8sQ0FBQyxLQUErQixFQUFFLGVBQWUsR0FBRyx1QkFBdUIsRUFBRSxFQUFFO1FBQ2xGLElBQUksUUFBa0IsQ0FBQztRQUN2QixJQUFJLE9BQU8sS0FBSyxLQUFLLFdBQVcsRUFBRSxDQUFD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LE9BQU87UUFDSCxjQUFjLENBQUMsS0FBSyxDQUFrRDtRQUN0RSxlQUFlLENBQ1gsS0FBSyxFQUNMLE9BQU8sRUFDUCxJQUFzRCxDQUNSO1FBQ2xELEtBQUs7UUFDTCxHQUFHLEVBQUUsQ0FBQyxFQUFFO0tBQ1gsQ0FBQztBQUNOLENBQUM7QUFFRCxNQUFNLFVBQVUsd0JBQXdCLENBTXRDLFdBQW1CLEVBQUUsT0FBa0I7SUFHckMsTUFBTSxLQUFLLEdBQ04sT0FBdUQsRUFBRSxLQUFLLElBQUksSUFBSSxjQUFjLENBQVUsV0FBVyxDQUFDLENBQUM7SUFDaEgsT0FBTztRQUNILGNBQWMsQ0FBQyxLQUFLLENBQ1I7UUFDWixlQUFlLENBQ1gsS0FBSyxFQUNMLEdBQUcsRUFBRSxDQUFDLElBQUssRUFDWCxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQTJDLENBRWpEO1FBQ1osS0FBSztRQUNMLEdBQUcsRUFBRSxDQUFDLEVBQUU7S0FDa0MsQ0FBQztBQUNuRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKlxuICogQ29weXJpZ2h0IChjKSBuZ3h0ZW5zaW9uIEF1dGhvcnMuIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHtcbiAgICBFTlZJUk9OTUVOVF9JTklUSUFMSVpFUixcbiAgICBJbmplY3Rpb25Ub2tlbixcbiAgICBpbmplY3QsXG4gICAgcnVuSW5JbmplY3Rpb25Db250ZXh0LFxuICAgIHR5cGUgRW52aXJvbm1lbnRQcm92aWRlcnMsXG4gICAgdHlwZSBGYWN0b3J5UHJvdmlkZXIsXG4gICAgdHlwZSBIb3N0LFxuICAgIHR5cGUgSW5qZWN0T3B0aW9ucyxcbiAgICB0eXBlIEluamVjdG9yLFxuICAgIHR5cGUgT3B0aW9uYWwsXG4gICAgdHlwZSBQcm92aWRlcixcbiAgICB0eXBlIFNlbGYsXG4gICAgdHlwZSBTa2lwU2VsZixcbiAgICB0eXBlIFR5cGVcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBhc3NlcnRJbmplY3RvciB9IGZyb20gJy4vYXNzZXJ0LWluamVjdG9yJztcblxudHlwZSBDcmVhdGVJbmplY3Rpb25Ub2tlbkRlcDxUVG9rZW5UeXBlPiA9XG4gICAgfCBUeXBlPFRUb2tlblR5cGU+XG4gICAgLy8gTk9URTogd2UgZG9uJ3QgaGF2ZSBhbiBBYnN0cmFjdFR5cGVcbiAgICB8IChhYnN0cmFjdCBuZXcgKC4uLmFyZ3M6IGFueVtdKSA9PiBUVG9rZW5UeXBlKVxuICAgIHwgSW5qZWN0aW9uVG9rZW48VFRva2VuVHlwZT47XG5cbnR5cGUgQ3JlYXRlSW5qZWN0aW9uVG9rZW5EZXBzPFxuICAgIFRGYWN0b3J5IGV4dGVuZHMgKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnksXG4gICAgVEZhY3RvcnlEZXBzIGV4dGVuZHMgUGFyYW1ldGVyczxURmFjdG9yeT4gPSBQYXJhbWV0ZXJzPFRGYWN0b3J5PlxuPiA9IHtcbiAgICBbSW5kZXggaW4ga2V5b2YgVEZhY3RvcnlEZXBzXTpcbiAgICAgICAgfCBDcmVhdGVJbmplY3Rpb25Ub2tlbkRlcDxURmFjdG9yeURlcHNbSW5kZXhdPlxuICAgICAgICB8IFsuLi5tb2RpZmllcnM6IEFycmF5PE9wdGlvbmFsIHwgU2VsZiB8IFNraXBTZWxmIHwgSG9zdD4sIHRva2VuOiBDcmVhdGVJbmplY3Rpb25Ub2tlbkRlcDxURmFjdG9yeURlcHNbSW5kZXhdPl07XG59ICYgeyBsZW5ndGg6IFRGYWN0b3J5RGVwc1snbGVuZ3RoJ10gfTtcblxuZXhwb3J0IHR5cGUgQ3JlYXRlSW5qZWN0aW9uVG9rZW5PcHRpb25zPFxuICAgIFRGYWN0b3J5IGV4dGVuZHMgKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnksXG4gICAgVEZhY3RvcnlEZXBzIGV4dGVuZHMgUGFyYW1ldGVyczxURmFjdG9yeT4gPSBQYXJhbWV0ZXJzPFRGYWN0b3J5PlxuPiA9XG4gICAgLy8gdGhpcyBtZWFucyBURnVuY3Rpb24gaGFzIG5vIHBhcmFtZXRlcnNcbiAgICAoVEZhY3RvcnlEZXBzWzBdIGV4dGVuZHMgdW5kZWZpbmVkXG4gICAgICAgID8geyBkZXBzPzogbmV2ZXIgfVxuICAgICAgICA6IHsgZGVwczogQ3JlYXRlSW5qZWN0aW9uVG9rZW5EZXBzPFRGYWN0b3J5LCBURmFjdG9yeURlcHM+IH0pICYge1xuICAgICAgICBpc1Jvb3Q/OiBib29sZWFuO1xuICAgICAgICBpc0Z1bmN0aW9uVmFsdWU/OiBib29sZWFuO1xuICAgICAgICBtdWx0aT86IGJvb2xlYW47XG4gICAgICAgIHRva2VuPzogSW5qZWN0aW9uVG9rZW48UmV0dXJuVHlwZTxURmFjdG9yeT4+O1xuICAgICAgICBleHRyYVByb3ZpZGVycz86IFByb3ZpZGVyIHwgRW52aXJvbm1lbnRQcm92aWRlcnM7XG4gICAgfTtcblxudHlwZSBDcmVhdGVQcm92aWRlRm5PcHRpb25zPFxuICAgIFRGYWN0b3J5IGV4dGVuZHMgKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnksXG4gICAgVEZhY3RvcnlEZXBzIGV4dGVuZHMgUGFyYW1ldGVyczxURmFjdG9yeT4gPSBQYXJhbWV0ZXJzPFRGYWN0b3J5PlxuPiA9IFBpY2s8Q3JlYXRlSW5qZWN0aW9uVG9rZW5PcHRpb25zPFRGYWN0b3J5LCBURmFjdG9yeURlcHM+LCAnZGVwcycgfCAnZXh0cmFQcm92aWRlcnMnIHwgJ211bHRpJyB8ICdpc0Z1bmN0aW9uVmFsdWUnPjtcblxudHlwZSBJbmplY3RGbjxURmFjdG9yeVJldHVybj4gPSB7XG4gICAgKCk6IFRGYWN0b3J5UmV0dXJuO1xuICAgIChcbiAgICAgICAgaW5qZWN0T3B0aW9uczogSW5qZWN0T3B0aW9ucyAmIHsgb3B0aW9uYWw/OiBmYWxzZSB9ICYge1xuICAgICAgICAgICAgaW5qZWN0b3I/OiBJbmplY3RvcjtcbiAgICAgICAgfVxuICAgICk6IFRGYWN0b3J5UmV0dXJuO1xuICAgIChpbmplY3RPcHRpb25zOiBJbmplY3RPcHRpb25zICYgeyBpbmplY3Rvcj86IEluamVjdG9yIH0pOiBURmFjdG9yeVJldHVybiB8IG51bGw7XG59O1xuXG50eXBlIFByb3ZpZGVGbjxcbiAgICBUTm9vcCBleHRlbmRzIGJvb2xlYW4sXG4gICAgVEZhY3RvcnlSZXR1cm4sXG4gICAgVFJldHVybiA9IFRGYWN0b3J5UmV0dXJuIGV4dGVuZHMgQXJyYXk8aW5mZXIgSXRlbT4gPyBJdGVtIDogVEZhY3RvcnlSZXR1cm5cbj4gPSAoVE5vb3AgZXh0ZW5kcyB0cnVlID8gKHZhbHVlOiBUUmV0dXJuIHwgKCgpID0+IFRSZXR1cm4pKSA9PiBQcm92aWRlciA6ICgpID0+IFByb3ZpZGVyKSAmXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtZnVuY3Rpb24tdHlwZVxuICAgIChUUmV0dXJuIGV4dGVuZHMgRnVuY3Rpb25cbiAgICAgICAgPyAodmFsdWU6IFRSZXR1cm4gfCAoKCkgPT4gVFJldHVybiksIGlzRnVuY3Rpb25WYWx1ZTogYm9vbGVhbikgPT4gUHJvdmlkZXJcbiAgICAgICAgOiAodmFsdWU6IFRSZXR1cm4gfCAoKCkgPT4gVFJldHVybikpID0+IFByb3ZpZGVyKTtcblxuZXhwb3J0IHR5cGUgQ3JlYXRlSW5qZWN0aW9uVG9rZW5SZXR1cm48VEZhY3RvcnlSZXR1cm4sIFROb29wIGV4dGVuZHMgYm9vbGVhbiA9IGZhbHNlPiA9IFtcbiAgICBJbmplY3RGbjxURmFjdG9yeVJldHVybj4sXG4gICAgUHJvdmlkZUZuPFROb29wLCBURmFjdG9yeVJldHVybj4sXG4gICAgSW5qZWN0aW9uVG9rZW48VEZhY3RvcnlSZXR1cm4+LFxuICAgICgpID0+IFByb3ZpZGVyXG5dO1xuXG5mdW5jdGlvbiBjcmVhdGVJbmplY3RGbjxUVmFsdWU+KHRva2VuOiBJbmplY3Rpb25Ub2tlbjxUVmFsdWU+KSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtZnVuY3Rpb24tdHlwZVxuICAgIHJldHVybiBmdW5jdGlvbiAodGhpczogRnVuY3Rpb24sIHsgaW5qZWN0b3IsIC4uLmluamVjdE9wdGlvbnMgfTogSW5qZWN0T3B0aW9ucyAmIHsgaW5qZWN0b3I/OiBJbmplY3RvciB9ID0ge30pIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgICAgIGluamVjdG9yID0gYXNzZXJ0SW5qZWN0b3IodGhpcywgaW5qZWN0b3IpO1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10cy1jb21tZW50XG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICAgICAgcmV0dXJuIHJ1bkluSW5qZWN0aW9uQ29udGV4dChpbmplY3RvciwgKCkgPT4gaW5qZWN0KHRva2VuLCBpbmplY3RPcHRpb25zIGFzIEluamVjdE9wdGlvbnMpKTtcbiAgICB9O1xufVxuXG5mdW5jdGlvbiBjcmVhdGVQcm92aWRlRm48XG4gICAgVFZhbHVlLFxuICAgIFRGYWN0b3J5IGV4dGVuZHMgKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnkgPSAoLi4uYXJnczogYW55W10pID0+IFRWYWx1ZSxcbiAgICBURmFjdG9yeURlcHMgZXh0ZW5kcyBQYXJhbWV0ZXJzPFRGYWN0b3J5PiA9IFBhcmFtZXRlcnM8VEZhY3Rvcnk+XG4+KFxuICAgIHRva2VuOiBJbmplY3Rpb25Ub2tlbjxUVmFsdWU+LFxuICAgIGZhY3Rvcnk6ICguLi5hcmdzOiBhbnlbXSkgPT4gVFZhbHVlLFxuICAgIG9wdHM6IENyZWF0ZVByb3ZpZGVGbk9wdGlvbnM8VEZhY3RvcnksIFRGYWN0b3J5RGVwcz4gPSB7fVxuKSB7XG4gICAgY29uc3QgeyBkZXBzID0gW10sIG11bHRpID0gZmFsc2UsIGV4dHJhUHJvdmlkZXJzID0gW10sIGlzRnVuY3Rpb25WYWx1ZTogaXNGdW5jdGlvblZhbHVlRnJvbU9wdHMgPSBmYWxzZSB9ID0gb3B0cztcbiAgICByZXR1cm4gKHZhbHVlPzogVFZhbHVlIHwgKCgpID0+IFRWYWx1ZSksIGlzRnVuY3Rpb25WYWx1ZSA9IGlzRnVuY3Rpb25WYWx1ZUZyb21PcHRzKSA9PiB7XG4gICAgICAgIGxldCBwcm92aWRlcjogUHJvdmlkZXI7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICAvLyBUT0RPOiAoY2hhdSkgbWF5YmUgdGhpcyBjYW4gYmUgbWFkZSBiZXR0ZXJcbiAgICAgICAgICAgIGNvbnN0IGZhY3RvcnkgPSB0eXBlb2YgdmFsdWUgPT09ICdmdW5jdGlvbicgPyAoaXNGdW5jdGlvblZhbHVlID8gKCkgPT4gdmFsdWUgOiB2YWx1ZSkgOiAoKSA9PiB2YWx1ZTtcblxuICAgICAgICAgICAgcHJvdmlkZXIgPSB7XG4gICAgICAgICAgICAgICAgcHJvdmlkZTogdG9rZW4sXG4gICAgICAgICAgICAgICAgdXNlRmFjdG9yeTogZmFjdG9yeSxcbiAgICAgICAgICAgICAgICBtdWx0aVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHByb3ZpZGVyID0ge1xuICAgICAgICAgICAgICAgIHByb3ZpZGU6IHRva2VuLFxuICAgICAgICAgICAgICAgIHVzZUZhY3Rvcnk6IGZhY3RvcnksXG4gICAgICAgICAgICAgICAgZGVwczogZGVwcyBhcyBGYWN0b3J5UHJvdmlkZXJbJ2RlcHMnXSxcbiAgICAgICAgICAgICAgICBtdWx0aVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBbZXh0cmFQcm92aWRlcnMsIHByb3ZpZGVyXTtcbiAgICB9O1xufVxuXG4vKipcbiAqIGBjcmVhdGVJbmplY3Rpb25Ub2tlbmAgYWNjZXB0cyBhIGZhY3RvcnkgZnVuY3Rpb24gYW5kIHJldHVybnMgYSB0dXBsZSBvZiBgaW5qZWN0Rm5gLCBgcHJvdmlkZUZuYCwgYW5kIHRoZSBgSW5qZWN0aW9uVG9rZW5gXG4gKiB0aGF0IHRoZSBmYWN0b3J5IGZ1bmN0aW9uIGlzIGZvci5cbiAqXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBmYWN0b3J5IC0gRmFjdG9yeSBGdW5jdGlvbiB0aGF0IHJldHVybnMgdGhlIHZhbHVlIGZvciB0aGUgYEluamVjdGlvblRva2VuYFxuICogQHBhcmFtIHtDcmVhdGVJbmplY3Rpb25Ub2tlbk9wdGlvbnN9IG9wdGlvbnMgLSBvYmplY3QgdG8gY29udHJvbCBob3cgdGhlIGBJbmplY3Rpb25Ub2tlbmAgYmVoYXZlc1xuICogQHJldHVybnMge0NyZWF0ZUluamVjdGlvblRva2VuUmV0dXJufVxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c1xuICogY29uc3QgW2luamVjdENvdW50ZXIsIHByb3ZpZGVDb3VudGVyLCBDT1VOVEVSXSA9IGNyZWF0ZUluamVjdGlvblRva2VuKCgpID0+IHNpZ25hbCgwKSk7XG4gKlxuICogZXhwb3J0IGNsYXNzIENvdW50ZXIge1xuICogIGNvdW50ZXIgPSBpbmplY3RDb3VudGVyKCk7IC8vIFdyaXRhYmxlU2lnbmFsPG51bWJlcj5cbiAqIH1cbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlSW5qZWN0aW9uVG9rZW48XG4gICAgVEZhY3RvcnkgZXh0ZW5kcyAoLi4uYXJnczogYW55W10pID0+IGFueSxcbiAgICBURmFjdG9yeURlcHMgZXh0ZW5kcyBQYXJhbWV0ZXJzPFRGYWN0b3J5PiA9IFBhcmFtZXRlcnM8VEZhY3Rvcnk+LFxuICAgIFRPcHRpb25zIGV4dGVuZHMgQ3JlYXRlSW5qZWN0aW9uVG9rZW5PcHRpb25zPFRGYWN0b3J5LCBURmFjdG9yeURlcHM+ID0gQ3JlYXRlSW5qZWN0aW9uVG9rZW5PcHRpb25zPFxuICAgICAgICBURmFjdG9yeSxcbiAgICAgICAgVEZhY3RvcnlEZXBzXG4gICAgPixcbiAgICBURmFjdG9yeVJldHVybiA9IFRPcHRpb25zWydtdWx0aSddIGV4dGVuZHMgdHJ1ZSA/IEFycmF5PFJldHVyblR5cGU8VEZhY3Rvcnk+PiA6IFJldHVyblR5cGU8VEZhY3Rvcnk+XG4+KGZhY3Rvcnk6IFRGYWN0b3J5LCBvcHRpb25zPzogVE9wdGlvbnMpOiBDcmVhdGVJbmplY3Rpb25Ub2tlblJldHVybjxURmFjdG9yeVJldHVybj4ge1xuICAgIGNvbnN0IHRva2VuTmFtZSA9IGZhY3RvcnkubmFtZSB8fCBmYWN0b3J5LnRvU3RyaW5nKCk7XG4gICAgY29uc3Qgb3B0cyA9IG9wdGlvbnMgPz8gKHsgaXNSb290OiB0cnVlIH0gYXMgQ3JlYXRlSW5qZWN0aW9uVG9rZW5PcHRpb25zPFRGYWN0b3J5LCBURmFjdG9yeURlcHM+KTtcblxuICAgIG9wdHMuaXNSb290ID8/PSB0cnVlO1xuXG4gICAgLy8gTk9URTogbXVsdGkgdG9rZW5zIGNhbm5vdCBiZSBhIHJvb3QgdG9rZW4uIEl0IGhhcyB0byBiZSBwcm92aWRlZCAocHJvdmlkZUZuIG5lZWRzIHRvIGJlIGludm9rZWQpXG4gICAgLy8gZm9yIHRoZSAnbXVsdGknIGZsYWcgdG8gd29yayBwcm9wZXJseVxuICAgIGlmIChvcHRzLm11bHRpKSB7XG4gICAgICAgIG9wdHMuaXNSb290ID0gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKG9wdHMuaXNSb290KSB7XG4gICAgICAgIGlmIChvcHRzLnRva2VuKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFxcXG5jcmVhdGVJbmplY3Rpb25Ub2tlbiBpcyBjcmVhdGluZyBhIHJvb3QgSW5qZWN0aW9uVG9rZW4gYnV0IGFuIGV4dGVybmFsIHRva2VuIGlzIHBhc3NlZCBpbi5cbmApO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdG9rZW4gPSBuZXcgSW5qZWN0aW9uVG9rZW48VEZhY3RvcnlSZXR1cm4+KGBUb2tlbiBmb3IgJHt0b2tlbk5hbWV9YCwge1xuICAgICAgICAgICAgZmFjdG9yeTogKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChvcHRzLmRlcHMgJiYgQXJyYXkuaXNBcnJheShvcHRzLmRlcHMpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWN0b3J5KFxuICAgICAgICAgICAgICAgICAgICAgICAgLi4ub3B0cy5kZXBzLm1hcCgoZGVwKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXAgPSAoQXJyYXkuaXNBcnJheShkZXApID8gZGVwLmF0KC0xKSA6IGRlcCkgYXMgQ3JlYXRlSW5qZWN0aW9uVG9rZW5EZXA8YW55PjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaW5qZWN0KGRlcCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gZmFjdG9yeSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBpbmplY3RGbiA9IGNyZWF0ZUluamVjdEZuKHRva2VuKSBhcyBDcmVhdGVJbmplY3Rpb25Ub2tlblJldHVybjxURmFjdG9yeVJldHVybj5bMF07XG5cbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIGluamVjdEZuLFxuICAgICAgICAgICAgY3JlYXRlUHJvdmlkZUZuKFxuICAgICAgICAgICAgICAgIHRva2VuLFxuICAgICAgICAgICAgICAgIGZhY3RvcnksXG4gICAgICAgICAgICAgICAgb3B0cyBhcyBDcmVhdGVQcm92aWRlRm5PcHRpb25zPFRGYWN0b3J5LCBURmFjdG9yeURlcHM+XG4gICAgICAgICAgICApIGFzIENyZWF0ZUluamVjdGlvblRva2VuUmV0dXJuPFRGYWN0b3J5UmV0dXJuPlsxXSxcbiAgICAgICAgICAgIHRva2VuLFxuICAgICAgICAgICAgKCkgPT4gKHtcbiAgICAgICAgICAgICAgICBwcm92aWRlOiBFTlZJUk9OTUVOVF9JTklUSUFMSVpFUixcbiAgICAgICAgICAgICAgICB1c2VWYWx1ZTogKCkgPT4gaW5qZWN0Rm4oKSxcbiAgICAgICAgICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgICAgICAgfSlcblxuICAgICAgICBdO1xuICAgIH1cblxuICAgIGNvbnN0IHRva2VuID0gb3B0cy50b2tlbiB8fCBuZXcgSW5qZWN0aW9uVG9rZW48VEZhY3RvcnlSZXR1cm4+KGBUb2tlbiBmb3IgJHt0b2tlbk5hbWV9YCk7XG4gICAgcmV0dXJuIFtcbiAgICAgICAgY3JlYXRlSW5qZWN0Rm4odG9rZW4pIGFzIENyZWF0ZUluamVjdGlvblRva2VuUmV0dXJuPFRGYWN0b3J5UmV0dXJuPlswXSxcbiAgICAgICAgY3JlYXRlUHJvdmlkZUZuKFxuICAgICAgICAgICAgdG9rZW4sXG4gICAgICAgICAgICBmYWN0b3J5LFxuICAgICAgICAgICAgb3B0cyBhcyBDcmVhdGVQcm92aWRlRm5PcHRpb25zPFRGYWN0b3J5LCBURmFjdG9yeURlcHM+XG4gICAgICAgICkgYXMgQ3JlYXRlSW5qZWN0aW9uVG9rZW5SZXR1cm48VEZhY3RvcnlSZXR1cm4+WzFdLFxuICAgICAgICB0b2tlbixcbiAgICAgICAgKCkgPT4gW11cbiAgICBdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTm9vcEluamVjdGlvblRva2VuPFxuICAgIFRWYWx1ZSxcbiAgICBUTXVsdGkgZXh0ZW5kcyBib29sZWFuID0gZmFsc2UsXG4gICAgVE9wdGlvbnMgPSBQaWNrPENyZWF0ZUluamVjdGlvblRva2VuT3B0aW9uczwoKSA9PiB2b2lkLCBbXT4sICdleHRyYVByb3ZpZGVycyc+ICZcbiAgICAgICAgKFRWYWx1ZSBleHRlbmRzICguLi5hcmdzOiBhbnlbXSkgPT4gYW55ID8geyBpc0Z1bmN0aW9uVmFsdWU6IHRydWUgfSA6IHsgaXNGdW5jdGlvblZhbHVlPzogbmV2ZXIgfSkgJlxuICAgICAgICAoVE11bHRpIGV4dGVuZHMgdHJ1ZSA/IHsgbXVsdGk6IHRydWUgfSA6IHsgbXVsdGk/OiBuZXZlciB9KVxuPihkZXNjcmlwdGlvbjogc3RyaW5nLCBvcHRpb25zPzogVE9wdGlvbnMpIHtcbiAgICB0eXBlIFRSZXR1cm4gPSBUTXVsdGkgZXh0ZW5kcyB0cnVlID8gQXJyYXk8VFZhbHVlPiA6IFRWYWx1ZTtcblxuICAgIGNvbnN0IHRva2VuID1cbiAgICAgICAgKG9wdGlvbnMgYXMgQ3JlYXRlSW5qZWN0aW9uVG9rZW5PcHRpb25zPCgpID0+IHZvaWQsIFtdPik/LnRva2VuIHx8IG5ldyBJbmplY3Rpb25Ub2tlbjxUUmV0dXJuPihkZXNjcmlwdGlvbik7XG4gICAgcmV0dXJuIFtcbiAgICAgICAgY3JlYXRlSW5qZWN0Rm4odG9rZW4pIGFzIENyZWF0ZUluamVjdGlvblRva2VuUmV0dXJuPFRSZXR1cm4sXG4gICAgICAgICAgICB0cnVlPlswXSxcbiAgICAgICAgY3JlYXRlUHJvdmlkZUZuKFxuICAgICAgICAgICAgdG9rZW4sXG4gICAgICAgICAgICAoKSA9PiBudWxsISxcbiAgICAgICAgICAgIChvcHRpb25zIHx8IHt9KSBhcyBDcmVhdGVQcm92aWRlRm5PcHRpb25zPCgpID0+IHZvaWQsIFtdPlxuICAgICAgICApIGFzIENyZWF0ZUluamVjdGlvblRva2VuUmV0dXJuPFRSZXR1cm4sXG4gICAgICAgICAgICB0cnVlPlsxXSxcbiAgICAgICAgdG9rZW4sXG4gICAgICAgICgpID0+IFtdXG4gICAgXSBhcyBDcmVhdGVJbmplY3Rpb25Ub2tlblJldHVybjxUUmV0dXJuLCB0cnVlPjtcbn1cbiJdfQ==
@@ -1,6 +0,0 @@
1
- import { DOCUMENT } from '@angular/common';
2
- import { inject } from '@angular/core';
3
- export function injectDocument() {
4
- return inject(DOCUMENT);
5
- }
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL2NvcmUvc3JjL2RvY3VtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZDLE1BQU0sVUFBVSxjQUFjO0lBQzFCLE9BQU8sTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQzVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdERvY3VtZW50KCk6IERvY3VtZW50IHtcbiAgICByZXR1cm4gaW5qZWN0KERPQ1VNRU5UKTtcbn1cbiJdfQ==
@@ -1,43 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.dev/license
7
- */
8
- import { APP_ID, inject, Injectable } from '@angular/core';
9
- import * as i0 from "@angular/core";
10
- /**
11
- * Keeps track of the ID count per prefix. This helps us make the IDs a bit more deterministic
12
- * like they were before the service was introduced. Note that ideally we wouldn't have to do
13
- * this, but there are some internal tests that rely on the IDs.
14
- */
15
- const counters = {};
16
- /** Service that generates unique IDs for DOM nodes. */
17
- export class _IdGenerator {
18
- constructor() {
19
- this._appId = inject(APP_ID);
20
- }
21
- /**
22
- * Generates a unique ID with a specific prefix.
23
- * @param prefix Prefix to add to the ID.
24
- */
25
- getId(prefix) {
26
- // Omit the app ID if it's the default `ng`. Since the vast majority of pages have one
27
- // Angular app on them, we can reduce the amount of breakages by not adding it.
28
- if (this._appId !== 'ng') {
29
- prefix += this._appId;
30
- }
31
- if (!Object.prototype.hasOwnProperty.call(counters, prefix)) {
32
- counters[prefix] = 0;
33
- }
34
- return `${prefix}${counters[prefix]++}`;
35
- }
36
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: _IdGenerator, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
37
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: _IdGenerator, providedIn: 'root' }); }
38
- }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: _IdGenerator, decorators: [{
40
- type: Injectable,
41
- args: [{ providedIn: 'root' }]
42
- }] });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWQtZ2VuZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcHJpbWl0aXZlcy9jb3JlL3NyYy9pZC1nZW5lcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUUzRDs7OztHQUlHO0FBQ0gsTUFBTSxRQUFRLEdBQTJCLEVBQUUsQ0FBQztBQUU1Qyx1REFBdUQ7QUFFdkQsTUFBTSxPQUFPLFlBQVk7SUFEekI7UUFFcUIsV0FBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztLQW1CNUM7SUFqQkc7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLE1BQWM7UUFDaEIsc0ZBQXNGO1FBQ3RGLCtFQUErRTtRQUMvRSxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDdkIsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDMUIsQ0FBQztRQUVELElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDMUQsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6QixDQUFDO1FBRUQsT0FBTyxHQUFHLE1BQU0sR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxDQUFDO0lBQzVDLENBQUM7K0dBbkJRLFlBQVk7bUhBQVosWUFBWSxjQURDLE1BQU07OzRGQUNuQixZQUFZO2tCQUR4QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmRldi9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHsgQVBQX0lELCBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBLZWVwcyB0cmFjayBvZiB0aGUgSUQgY291bnQgcGVyIHByZWZpeC4gVGhpcyBoZWxwcyB1cyBtYWtlIHRoZSBJRHMgYSBiaXQgbW9yZSBkZXRlcm1pbmlzdGljXG4gKiBsaWtlIHRoZXkgd2VyZSBiZWZvcmUgdGhlIHNlcnZpY2Ugd2FzIGludHJvZHVjZWQuIE5vdGUgdGhhdCBpZGVhbGx5IHdlIHdvdWxkbid0IGhhdmUgdG8gZG9cbiAqIHRoaXMsIGJ1dCB0aGVyZSBhcmUgc29tZSBpbnRlcm5hbCB0ZXN0cyB0aGF0IHJlbHkgb24gdGhlIElEcy5cbiAqL1xuY29uc3QgY291bnRlcnM6IFJlY29yZDxzdHJpbmcsIG51bWJlcj4gPSB7fTtcblxuLyoqIFNlcnZpY2UgdGhhdCBnZW5lcmF0ZXMgdW5pcXVlIElEcyBmb3IgRE9NIG5vZGVzLiAqL1xuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBfSWRHZW5lcmF0b3Ige1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2FwcElkID0gaW5qZWN0KEFQUF9JRCk7XG5cbiAgICAvKipcbiAgICAgKiBHZW5lcmF0ZXMgYSB1bmlxdWUgSUQgd2l0aCBhIHNwZWNpZmljIHByZWZpeC5cbiAgICAgKiBAcGFyYW0gcHJlZml4IFByZWZpeCB0byBhZGQgdG8gdGhlIElELlxuICAgICAqL1xuICAgIGdldElkKHByZWZpeDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgLy8gT21pdCB0aGUgYXBwIElEIGlmIGl0J3MgdGhlIGRlZmF1bHQgYG5nYC4gU2luY2UgdGhlIHZhc3QgbWFqb3JpdHkgb2YgcGFnZXMgaGF2ZSBvbmVcbiAgICAgICAgLy8gQW5ndWxhciBhcHAgb24gdGhlbSwgd2UgY2FuIHJlZHVjZSB0aGUgYW1vdW50IG9mIGJyZWFrYWdlcyBieSBub3QgYWRkaW5nIGl0LlxuICAgICAgICBpZiAodGhpcy5fYXBwSWQgIT09ICduZycpIHtcbiAgICAgICAgICAgIHByZWZpeCArPSB0aGlzLl9hcHBJZDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGNvdW50ZXJzLCBwcmVmaXgpKSB7XG4gICAgICAgICAgICBjb3VudGVyc1twcmVmaXhdID0gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBgJHtwcmVmaXh9JHtjb3VudGVyc1twcmVmaXhdKyt9YDtcbiAgICB9XG59XG4iXX0=
@@ -1,17 +0,0 @@
1
- import { inject } from '@angular/core';
2
- import { FormControlDirective, FormControlName, NgControl, NgModel } from '@angular/forms';
3
- export function injectNgControl(params) {
4
- const ngControl = inject(NgControl, { self: true, optional: true });
5
- if (!params?.optional && !ngControl)
6
- throw new Error('NgControl not found');
7
- if (ngControl instanceof FormControlDirective ||
8
- ngControl instanceof FormControlName ||
9
- ngControl instanceof NgModel) {
10
- return ngControl;
11
- }
12
- if (params?.optional) {
13
- return undefined;
14
- }
15
- throw new Error('NgControl is not an instance of FormControlDirective, FormControlName or NgModel');
16
- }
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0LW5nLWNvbnRyb2wuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL2NvcmUvc3JjL2luamVjdC1uZy1jb250cm9sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFRM0YsTUFBTSxVQUFVLGVBQWUsQ0FBQyxNQUFpRDtJQUM3RSxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUVwRSxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsSUFBSSxDQUFDLFNBQVM7UUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFFNUUsSUFDSSxTQUFTLFlBQVksb0JBQW9CO1FBQ3pDLFNBQVMsWUFBWSxlQUFlO1FBQ3BDLFNBQVMsWUFBWSxPQUFPLEVBQzlCLENBQUM7UUFDQyxPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBSSxNQUFNLEVBQUUsUUFBUSxFQUFFLENBQUM7UUFDbkIsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztJQUVELE1BQU0sSUFBSSxLQUFLLENBQUMsa0ZBQWtGLENBQUMsQ0FBQztBQUN4RyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbERpcmVjdGl2ZSwgRm9ybUNvbnRyb2xOYW1lLCBOZ0NvbnRyb2wsIE5nTW9kZWwgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3ROZ0NvbnRyb2wocGFyYW1zOiB7XG4gICAgb3B0aW9uYWw6IHRydWU7XG59KTogRm9ybUNvbnRyb2xEaXJlY3RpdmUgfCBGb3JtQ29udHJvbE5hbWUgfCBOZ01vZGVsIHwgdW5kZWZpbmVkO1xuZXhwb3J0IGZ1bmN0aW9uIGluamVjdE5nQ29udHJvbChwYXJhbXM6IHsgb3B0aW9uYWw6IGZhbHNlIH0pOiBGb3JtQ29udHJvbERpcmVjdGl2ZSB8IEZvcm1Db250cm9sTmFtZSB8IE5nTW9kZWw7XG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0TmdDb250cm9sKCk6IEZvcm1Db250cm9sRGlyZWN0aXZlIHwgRm9ybUNvbnRyb2xOYW1lIHwgTmdNb2RlbDtcblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdE5nQ29udHJvbChwYXJhbXM/OiB7IG9wdGlvbmFsOiB0cnVlIH0gfCB7IG9wdGlvbmFsOiBmYWxzZSB9KSB7XG4gICAgY29uc3QgbmdDb250cm9sID0gaW5qZWN0KE5nQ29udHJvbCwgeyBzZWxmOiB0cnVlLCBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICAgIGlmICghcGFyYW1zPy5vcHRpb25hbCAmJiAhbmdDb250cm9sKSB0aHJvdyBuZXcgRXJyb3IoJ05nQ29udHJvbCBub3QgZm91bmQnKTtcblxuICAgIGlmIChcbiAgICAgICAgbmdDb250cm9sIGluc3RhbmNlb2YgRm9ybUNvbnRyb2xEaXJlY3RpdmUgfHxcbiAgICAgICAgbmdDb250cm9sIGluc3RhbmNlb2YgRm9ybUNvbnRyb2xOYW1lIHx8XG4gICAgICAgIG5nQ29udHJvbCBpbnN0YW5jZW9mIE5nTW9kZWxcbiAgICApIHtcbiAgICAgICAgcmV0dXJuIG5nQ29udHJvbDtcbiAgICB9XG5cbiAgICBpZiAocGFyYW1zPy5vcHRpb25hbCkge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHRocm93IG5ldyBFcnJvcignTmdDb250cm9sIGlzIG5vdCBhbiBpbnN0YW5jZSBvZiBGb3JtQ29udHJvbERpcmVjdGl2ZSwgRm9ybUNvbnRyb2xOYW1lIG9yIE5nTW9kZWwnKTtcbn1cbiJdfQ==
@@ -1,6 +0,0 @@
1
- import { Platform } from '@angular/cdk/platform';
2
- import { inject } from '@angular/core';
3
- export function injectIsClient() {
4
- return inject(Platform).isBrowser;
5
- }
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcHJpbWl0aXZlcy9jb3JlL3NyYy9pcy1jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkMsTUFBTSxVQUFVLGNBQWM7SUFDMUIsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsU0FBUyxDQUFDO0FBQ3RDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGF0Zm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wbGF0Zm9ybSc7XG5pbXBvcnQgeyBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdElzQ2xpZW50KCkge1xuICAgIHJldHVybiBpbmplY3QoUGxhdGZvcm0pLmlzQnJvd3Nlcjtcbn1cbiJdfQ==
@@ -1,7 +0,0 @@
1
- export function isInsideForm(el) {
2
- if (!el || !el.nativeElement) {
3
- return true;
4
- }
5
- return Boolean(el.nativeElement.closest('form'));
6
- }
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtaW5zaWRlLWZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL2NvcmUvc3JjL2lzLWluc2lkZS1mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sVUFBVSxZQUFZLENBQUMsRUFBa0M7SUFDM0QsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUMzQixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBQ0QsT0FBTyxPQUFPLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztBQUNyRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgZnVuY3Rpb24gaXNJbnNpZGVGb3JtKGVsOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiB8IG51bGwpOiBib29sZWFuIHtcbiAgICBpZiAoIWVsIHx8ICFlbC5uYXRpdmVFbGVtZW50KSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gQm9vbGVhbihlbC5uYXRpdmVFbGVtZW50LmNsb3Nlc3QoJ2Zvcm0nKSk7XG59XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL2NvcmUvc3JjL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIE51bGxhYmxlIGZyb20gYFR5cGVgIGFkZHMgYG51bGxgIGFuZCBgdW5kZWZpbmVkYFxuICpcbiAqIEBleGFtcGxlIGBgYHRzXG4gKiAgLy8gRXhwZWN0OiBzdHJpbmcgfCBudW1iZXIgfCB1bmRlZmluZWQgfCBudWxsXG4gKiAgdHlwZSBWYWx1ZSA9IE51bGxpbmc8c3RyaW5nIHwgbnVtYmVyPjtcbiAqIGBgYFxuICovXG5leHBvcnQgdHlwZSBOdWxsYWJsZTxUeXBlPiA9IG51bGwgfCBUeXBlIHwgdW5kZWZpbmVkO1xuXG4vKipcbiAqIFNhZmVGdW5jdGlvbiBpcyBhIHR5cGUgZm9yIGZ1bmN0aW9ucyB0aGF0IGFjY2VwdCBhbnkgbnVtYmVyIG9mIGFyZ3VtZW50cyBvZiB1bmtub3duIHR5cGVzXG4gKiBhbmQgcmV0dXJuIGEgdmFsdWUgb2YgYW4gdW5rbm93biB0eXBlLiBUaGlzIGlzIHVzZWZ1bCB3aGVuIHlvdSB3YW50IHRvIGRlZmluZSBhIGZ1bmN0aW9uXG4gKiB3aXRob3V0IGJlaW5nIHN0cmljdCBhYm91dCB0aGUgaW5wdXQgb3Igb3V0cHV0IHR5cGVzLCBtYWludGFpbmluZyBmbGV4aWJpbGl0eS5cbiAqXG4gKiBAZXhhbXBsZSBgYGB0c1xuICogIGNvbnN0IHNhZmVGbjogU2FmZUZ1bmN0aW9uID0gKC4uLmFyZ3MpID0+IHtcbiAqICAgIHJldHVybiBhcmdzLmxlbmd0aCA+IDAgPyBhcmdzWzBdIDogbnVsbDtcbiAqICB9O1xuICpcbiAqICBjb25zdCByZXN1bHQgPSBzYWZlRm4oMSwgJ2hlbGxvJyk7IC8vIHJlc3VsdDogMVxuICogYGBgXG4gKi9cbmV4cG9ydCB0eXBlIFNhZmVGdW5jdGlvbiA9ICguLi5hcmdzOiB1bmtub3duW10pID0+IHVua25vd247XG4iXX0=
@@ -1,15 +0,0 @@
1
- import { inject, InjectionToken } from '@angular/core';
2
- import { injectDocument } from './document';
3
- export const WINDOW = new InjectionToken('An abstraction over global window object', {
4
- factory: () => {
5
- const { defaultView } = injectDocument();
6
- if (!defaultView) {
7
- throw new Error('Window is not available');
8
- }
9
- return defaultView;
10
- }
11
- });
12
- export function injectWindow() {
13
- return inject(WINDOW);
14
- }
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2luZG93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcHJpbWl0aXZlcy9jb3JlL3NyYy93aW5kb3cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUU1QyxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxjQUFjLENBQTZCLDBDQUEwQyxFQUFFO0lBQzdHLE9BQU8sRUFBRSxHQUFHLEVBQUU7UUFDVixNQUFNLEVBQUUsV0FBVyxFQUFFLEdBQUcsY0FBYyxFQUFFLENBQUM7UUFDekMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBQy9DLENBQUM7UUFDRCxPQUFPLFdBQVcsQ0FBQztJQUN2QixDQUFDO0NBQ0osQ0FBQyxDQUFDO0FBRUgsTUFBTSxVQUFVLFlBQVk7SUFDeEIsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDMUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGluamVjdERvY3VtZW50IH0gZnJvbSAnLi9kb2N1bWVudCc7XG5cbmV4cG9ydCBjb25zdCBXSU5ET1cgPSBuZXcgSW5qZWN0aW9uVG9rZW48V2luZG93ICYgdHlwZW9mIGdsb2JhbFRoaXM+KCdBbiBhYnN0cmFjdGlvbiBvdmVyIGdsb2JhbCB3aW5kb3cgb2JqZWN0Jywge1xuICAgIGZhY3Rvcnk6ICgpID0+IHtcbiAgICAgICAgY29uc3QgeyBkZWZhdWx0VmlldyB9ID0gaW5qZWN0RG9jdW1lbnQoKTtcbiAgICAgICAgaWYgKCFkZWZhdWx0Vmlldykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdXaW5kb3cgaXMgbm90IGF2YWlsYWJsZScpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkZWZhdWx0VmlldztcbiAgICB9XG59KTtcblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFdpbmRvdygpOiBXaW5kb3cgJiB0eXBlb2YgZ2xvYmFsVGhpcyB7XG4gICAgcmV0dXJuIGluamVjdChXSU5ET1cpO1xufVxuIl19
@@ -1,50 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { RdxDialogCloseDirective } from './src/dialog-close.directive';
3
- import { RdxDialogContentDirective } from './src/dialog-content.directive';
4
- import { RdxDialogDescriptionDirective } from './src/dialog-description.directive';
5
- import { RdxDialogDismissDirective } from './src/dialog-dismiss.directive';
6
- import { RdxDialogTitleDirective } from './src/dialog-title.directive';
7
- import { RdxDialogTriggerDirective } from './src/dialog-trigger.directive';
8
- import * as i0 from "@angular/core";
9
- export * from './src/dialog-close.directive';
10
- export * from './src/dialog-content.directive';
11
- export * from './src/dialog-description.directive';
12
- export * from './src/dialog-dismiss.directive';
13
- export * from './src/dialog-ref';
14
- export * from './src/dialog-title.directive';
15
- export * from './src/dialog-trigger.directive';
16
- export * from './src/dialog.config';
17
- export * from './src/dialog.injectors';
18
- export * from './src/dialog.providers';
19
- export * from './src/dialog.service';
20
- const _imports = [
21
- RdxDialogTriggerDirective,
22
- RdxDialogContentDirective,
23
- RdxDialogTitleDirective,
24
- RdxDialogCloseDirective,
25
- RdxDialogDescriptionDirective,
26
- RdxDialogDismissDirective
27
- ];
28
- export class RdxDialogModule {
29
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
30
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.11", ngImport: i0, type: RdxDialogModule, imports: [RdxDialogTriggerDirective,
31
- RdxDialogContentDirective,
32
- RdxDialogTitleDirective,
33
- RdxDialogCloseDirective,
34
- RdxDialogDescriptionDirective,
35
- RdxDialogDismissDirective], exports: [RdxDialogTriggerDirective,
36
- RdxDialogContentDirective,
37
- RdxDialogTitleDirective,
38
- RdxDialogCloseDirective,
39
- RdxDialogDescriptionDirective,
40
- RdxDialogDismissDirective] }); }
41
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxDialogModule }); }
42
- }
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxDialogModule, decorators: [{
44
- type: NgModule,
45
- args: [{
46
- imports: [..._imports],
47
- exports: [..._imports]
48
- }]
49
- }] });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL2RpYWxvZy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOztBQUUzRSxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsc0JBQXNCLENBQUM7QUFFckMsTUFBTSxRQUFRLEdBQUc7SUFDYix5QkFBeUI7SUFDekIseUJBQXlCO0lBQ3pCLHVCQUF1QjtJQUN2Qix1QkFBdUI7SUFDdkIsNkJBQTZCO0lBQzdCLHlCQUF5QjtDQUM1QixDQUFDO0FBTUYsTUFBTSxPQUFPLGVBQWU7K0dBQWYsZUFBZTtnSEFBZixlQUFlLFlBWnhCLHlCQUF5QjtZQUN6Qix5QkFBeUI7WUFDekIsdUJBQXVCO1lBQ3ZCLHVCQUF1QjtZQUN2Qiw2QkFBNkI7WUFDN0IseUJBQXlCLGFBTHpCLHlCQUF5QjtZQUN6Qix5QkFBeUI7WUFDekIsdUJBQXVCO1lBQ3ZCLHVCQUF1QjtZQUN2Qiw2QkFBNkI7WUFDN0IseUJBQXlCO2dIQU9oQixlQUFlOzs0RkFBZixlQUFlO2tCQUozQixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLEdBQUcsUUFBUSxDQUFDO29CQUN0QixPQUFPLEVBQUUsQ0FBQyxHQUFHLFFBQVEsQ0FBQztpQkFDekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmR4RGlhbG9nQ2xvc2VEaXJlY3RpdmUgfSBmcm9tICcuL3NyYy9kaWFsb2ctY2xvc2UuZGlyZWN0aXZlJztcbmltcG9ydCB7IFJkeERpYWxvZ0NvbnRlbnREaXJlY3RpdmUgfSBmcm9tICcuL3NyYy9kaWFsb2ctY29udGVudC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUmR4RGlhbG9nRGVzY3JpcHRpb25EaXJlY3RpdmUgfSBmcm9tICcuL3NyYy9kaWFsb2ctZGVzY3JpcHRpb24uZGlyZWN0aXZlJztcbmltcG9ydCB7IFJkeERpYWxvZ0Rpc21pc3NEaXJlY3RpdmUgfSBmcm9tICcuL3NyYy9kaWFsb2ctZGlzbWlzcy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUmR4RGlhbG9nVGl0bGVEaXJlY3RpdmUgfSBmcm9tICcuL3NyYy9kaWFsb2ctdGl0bGUuZGlyZWN0aXZlJztcbmltcG9ydCB7IFJkeERpYWxvZ1RyaWdnZXJEaXJlY3RpdmUgfSBmcm9tICcuL3NyYy9kaWFsb2ctdHJpZ2dlci5kaXJlY3RpdmUnO1xuXG5leHBvcnQgKiBmcm9tICcuL3NyYy9kaWFsb2ctY2xvc2UuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2RpYWxvZy1jb250ZW50LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9kaWFsb2ctZGVzY3JpcHRpb24uZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2RpYWxvZy1kaXNtaXNzLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9kaWFsb2ctcmVmJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2RpYWxvZy10aXRsZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvZGlhbG9nLXRyaWdnZXIuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2RpYWxvZy5jb25maWcnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvZGlhbG9nLmluamVjdG9ycyc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9kaWFsb2cucHJvdmlkZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2RpYWxvZy5zZXJ2aWNlJztcblxuY29uc3QgX2ltcG9ydHMgPSBbXG4gICAgUmR4RGlhbG9nVHJpZ2dlckRpcmVjdGl2ZSxcbiAgICBSZHhEaWFsb2dDb250ZW50RGlyZWN0aXZlLFxuICAgIFJkeERpYWxvZ1RpdGxlRGlyZWN0aXZlLFxuICAgIFJkeERpYWxvZ0Nsb3NlRGlyZWN0aXZlLFxuICAgIFJkeERpYWxvZ0Rlc2NyaXB0aW9uRGlyZWN0aXZlLFxuICAgIFJkeERpYWxvZ0Rpc21pc3NEaXJlY3RpdmVcbl07XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogWy4uLl9pbXBvcnRzXSxcbiAgICBleHBvcnRzOiBbLi4uX2ltcG9ydHNdXG59KVxuZXhwb3J0IGNsYXNzIFJkeERpYWxvZ01vZHVsZSB7fVxuIl19
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaXgtbmctcHJpbWl0aXZlcy1kaWFsb2cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL2RpYWxvZy9yYWRpeC1uZy1wcmltaXRpdmVzLWRpYWxvZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -1,25 +0,0 @@
1
- import { Directive, inject } from '@angular/core';
2
- import { RdxDialogRef } from './dialog-ref';
3
- import * as i0 from "@angular/core";
4
- export class RdxDialogCloseDirective {
5
- constructor() {
6
- this.ref = inject(RdxDialogRef);
7
- }
8
- onClick() {
9
- this.ref.close();
10
- }
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxDialogCloseDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
12
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: RdxDialogCloseDirective, isStandalone: true, selector: "button[rdxDialogClose]", host: { attributes: { "type": "button" }, listeners: { "click": "onClick()" } }, ngImport: i0 }); }
13
- }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxDialogCloseDirective, decorators: [{
15
- type: Directive,
16
- args: [{
17
- selector: 'button[rdxDialogClose]',
18
- standalone: true,
19
- host: {
20
- type: 'button',
21
- '(click)': 'onClick()'
22
- }
23
- }]
24
- }] });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWNsb3NlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvZGlhbG9nL3NyYy9kaWFsb2ctY2xvc2UuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBVTVDLE1BQU0sT0FBTyx1QkFBdUI7SUFScEM7UUFTcUIsUUFBRyxHQUFHLE1BQU0sQ0FBZSxZQUFZLENBQUMsQ0FBQztLQUs3RDtJQUhhLE9BQU87UUFDYixJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3JCLENBQUM7K0dBTFEsdUJBQXVCO21HQUF2Qix1QkFBdUI7OzRGQUF2Qix1QkFBdUI7a0JBUm5DLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRTt3QkFDRixJQUFJLEVBQUUsUUFBUTt3QkFDZCxTQUFTLEVBQUUsV0FBVztxQkFDekI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmR4RGlhbG9nUmVmIH0gZnJvbSAnLi9kaWFsb2ctcmVmJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdidXR0b25bcmR4RGlhbG9nQ2xvc2VdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgdHlwZTogJ2J1dHRvbicsXG4gICAgICAgICcoY2xpY2spJzogJ29uQ2xpY2soKSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFJkeERpYWxvZ0Nsb3NlRGlyZWN0aXZlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlZiA9IGluamVjdDxSZHhEaWFsb2dSZWY+KFJkeERpYWxvZ1JlZik7XG5cbiAgICBwcm90ZWN0ZWQgb25DbGljaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZWYuY2xvc2UoKTtcbiAgICB9XG59XG4iXX0=
@@ -1,46 +0,0 @@
1
- import { computed, DestroyRef, Directive, inject, signal } from '@angular/core';
2
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
3
- import { RdxDialogRef } from './dialog-ref';
4
- import { getState } from './dialog.config';
5
- import * as i0 from "@angular/core";
6
- export class RdxDialogContentDirective {
7
- constructor() {
8
- this.dialogRef = inject(RdxDialogRef);
9
- this.destroyRef = inject(DestroyRef);
10
- this.isOpen = signal(true);
11
- this.state = computed(() => getState(this.isOpen()));
12
- this.dialogRef.closed$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {
13
- this.isOpen.set(false);
14
- });
15
- }
16
- /**
17
- * Closes the dialog with a specified result.
18
- *
19
- * @param result The result to be passed back when closing the dialog
20
- */
21
- close(result) {
22
- this.dialogRef.close(result);
23
- }
24
- /**
25
- * Dismisses the dialog without a result.
26
- */
27
- dismiss() {
28
- this.dialogRef.dismiss();
29
- }
30
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxDialogContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
31
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: RdxDialogContentDirective, isStandalone: true, selector: "[rdxDialogContent]", host: { attributes: { "role": "dialog" }, properties: { "attr.aria-describedby": "\"true\"", "attr.aria-labelledby": "\"true\"", "attr.data-state": "state()" } }, ngImport: i0 }); }
32
- }
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxDialogContentDirective, decorators: [{
34
- type: Directive,
35
- args: [{
36
- selector: '[rdxDialogContent]',
37
- standalone: true,
38
- host: {
39
- role: 'dialog',
40
- '[attr.aria-describedby]': '"true"',
41
- '[attr.aria-labelledby]': '"true"',
42
- '[attr.data-state]': 'state()'
43
- }
44
- }]
45
- }], ctorParameters: () => [] });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWNvbnRlbnQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcHJpbWl0aXZlcy9kaWFsb2cvc3JjL2RpYWxvZy1jb250ZW50LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxRQUFRLEVBQW1CLE1BQU0saUJBQWlCLENBQUM7O0FBWTVELE1BQU0sT0FBTyx5QkFBeUI7SUFRbEM7UUFQaUIsY0FBUyxHQUFHLE1BQU0sQ0FBa0IsWUFBWSxDQUFDLENBQUM7UUFDbEQsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVoQyxXQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTlCLFVBQUssR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFHckQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDNUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxNQUEwQjtRQUM1QixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxPQUFPO1FBQ0gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM3QixDQUFDOytHQTVCUSx5QkFBeUI7bUdBQXpCLHlCQUF5Qjs7NEZBQXpCLHlCQUF5QjtrQkFWckMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsSUFBSSxFQUFFO3dCQUNGLElBQUksRUFBRSxRQUFRO3dCQUNkLHlCQUF5QixFQUFFLFFBQVE7d0JBQ25DLHdCQUF3QixFQUFFLFFBQVE7d0JBQ2xDLG1CQUFtQixFQUFFLFNBQVM7cUJBQ2pDO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tcHV0ZWQsIERlc3Ryb3lSZWYsIERpcmVjdGl2ZSwgaW5qZWN0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IFJkeERpYWxvZ1JlZiB9IGZyb20gJy4vZGlhbG9nLXJlZic7XG5pbXBvcnQgeyBnZXRTdGF0ZSwgUmR4RGlhbG9nUmVzdWx0IH0gZnJvbSAnLi9kaWFsb2cuY29uZmlnJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbcmR4RGlhbG9nQ29udGVudF0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaG9zdDoge1xuICAgICAgICByb2xlOiAnZGlhbG9nJyxcbiAgICAgICAgJ1thdHRyLmFyaWEtZGVzY3JpYmVkYnldJzogJ1widHJ1ZVwiJyxcbiAgICAgICAgJ1thdHRyLmFyaWEtbGFiZWxsZWRieV0nOiAnXCJ0cnVlXCInLFxuICAgICAgICAnW2F0dHIuZGF0YS1zdGF0ZV0nOiAnc3RhdGUoKSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFJkeERpYWxvZ0NvbnRlbnREaXJlY3RpdmU8QyA9IHVua25vd24+IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRpYWxvZ1JlZiA9IGluamVjdDxSZHhEaWFsb2dSZWY8Qz4+KFJkeERpYWxvZ1JlZik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBpc09wZW4gPSBzaWduYWwodHJ1ZSk7XG5cbiAgICByZWFkb25seSBzdGF0ZSA9IGNvbXB1dGVkKCgpID0+IGdldFN0YXRlKHRoaXMuaXNPcGVuKCkpKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZWQkLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmlzT3Blbi5zZXQoZmFsc2UpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDbG9zZXMgdGhlIGRpYWxvZyB3aXRoIGEgc3BlY2lmaWVkIHJlc3VsdC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSByZXN1bHQgVGhlIHJlc3VsdCB0byBiZSBwYXNzZWQgYmFjayB3aGVuIGNsb3NpbmcgdGhlIGRpYWxvZ1xuICAgICAqL1xuICAgIGNsb3NlKHJlc3VsdDogUmR4RGlhbG9nUmVzdWx0PEM+KTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHJlc3VsdCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGlzbWlzc2VzIHRoZSBkaWFsb2cgd2l0aG91dCBhIHJlc3VsdC5cbiAgICAgKi9cbiAgICBkaXNtaXNzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5kaXNtaXNzKCk7XG4gICAgfVxufVxuIl19
@@ -1,14 +0,0 @@
1
- import { Directive } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class RdxDialogDescriptionDirective {
4
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxDialogDescriptionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
5
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: RdxDialogDescriptionDirective, isStandalone: true, selector: "[rdxDialogDescription]", ngImport: i0 }); }
6
- }
7
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxDialogDescriptionDirective, decorators: [{
8
- type: Directive,
9
- args: [{
10
- selector: '[rdxDialogDescription]',
11
- standalone: true
12
- }]
13
- }] });
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWRlc2NyaXB0aW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvZGlhbG9nL3NyYy9kaWFsb2ctZGVzY3JpcHRpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTTFDLE1BQU0sT0FBTyw2QkFBNkI7K0dBQTdCLDZCQUE2QjttR0FBN0IsNkJBQTZCOzs0RkFBN0IsNkJBQTZCO2tCQUp6QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLFVBQVUsRUFBRSxJQUFJO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tyZHhEaWFsb2dEZXNjcmlwdGlvbl0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgUmR4RGlhbG9nRGVzY3JpcHRpb25EaXJlY3RpdmUge31cbiJdfQ==
@@ -1,25 +0,0 @@
1
- import { Directive, inject } from '@angular/core';
2
- import { RdxDialogRef } from './dialog-ref';
3
- import * as i0 from "@angular/core";
4
- export class RdxDialogDismissDirective {
5
- constructor() {
6
- this.ref = inject(RdxDialogRef);
7
- }
8
- onClick() {
9
- this.ref.dismiss();
10
- }
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxDialogDismissDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
12
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: RdxDialogDismissDirective, isStandalone: true, selector: "button[rdxDialogDismiss]", host: { attributes: { "type": "button" }, listeners: { "click": "onClick()" } }, ngImport: i0 }); }
13
- }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxDialogDismissDirective, decorators: [{
15
- type: Directive,
16
- args: [{
17
- selector: 'button[rdxDialogDismiss]',
18
- standalone: true,
19
- host: {
20
- type: 'button',
21
- '(click)': 'onClick()'
22
- }
23
- }]
24
- }] });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWRpc21pc3MuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcHJpbWl0aXZlcy9kaWFsb2cvc3JjL2RpYWxvZy1kaXNtaXNzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDOztBQVU1QyxNQUFNLE9BQU8seUJBQXlCO0lBUnRDO1FBU3FCLFFBQUcsR0FBRyxNQUFNLENBQWUsWUFBWSxDQUFDLENBQUM7S0FLN0Q7SUFIYSxPQUFPO1FBQ2IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN2QixDQUFDOytHQUxRLHlCQUF5QjttR0FBekIseUJBQXlCOzs0RkFBekIseUJBQXlCO2tCQVJyQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSwwQkFBMEI7b0JBQ3BDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUU7d0JBQ0YsSUFBSSxFQUFFLFFBQVE7d0JBQ2QsU0FBUyxFQUFFLFdBQVc7cUJBQ3pCO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJkeERpYWxvZ1JlZiB9IGZyb20gJy4vZGlhbG9nLXJlZic7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnYnV0dG9uW3JkeERpYWxvZ0Rpc21pc3NdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgdHlwZTogJ2J1dHRvbicsXG4gICAgICAgICcoY2xpY2spJzogJ29uQ2xpY2soKSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFJkeERpYWxvZ0Rpc21pc3NEaXJlY3RpdmUge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVmID0gaW5qZWN0PFJkeERpYWxvZ1JlZj4oUmR4RGlhbG9nUmVmKTtcblxuICAgIHByb3RlY3RlZCBvbkNsaWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlZi5kaXNtaXNzKCk7XG4gICAgfVxufVxuIl19