@radix-ng/primitives 0.23.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 (293) hide show
  1. package/avatar/src/avatar-fallback.directive.d.ts +1 -1
  2. package/compodoc/documentation.json +14309 -15232
  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 +246 -266
  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 +17 -9
  64. package/popover/src/popover-root.directive.d.ts +25 -1
  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 +30 -0
  68. package/popover/src/utils/constants.d.ts +1 -0
  69. package/popover/src/utils/types.d.ts +7 -0
  70. package/switch/src/switch-root.directive.d.ts +4 -1
  71. package/tooltip/src/tooltip-arrow.directive.d.ts +14 -1
  72. package/tooltip/src/tooltip-content.directive.d.ts +4 -5
  73. package/tooltip/src/tooltip-root.directive.d.ts +6 -3
  74. package/tooltip/src/tooltip.types.d.ts +0 -11
  75. package/core/src/control-value-accessor/index.d.ts +0 -75
  76. package/core/src/create-inject-context/assert-injector.d.ts +0 -51
  77. package/core/src/create-inject-context/index.d.ts +0 -68
  78. package/core/src/types.d.ts +0 -23
  79. package/esm2022/accordion/index.mjs +0 -40
  80. package/esm2022/accordion/radix-ng-primitives-accordion.mjs +0 -5
  81. package/esm2022/accordion/src/accordion-content.directive.mjs +0 -42
  82. package/esm2022/accordion/src/accordion-header.directive.mjs +0 -23
  83. package/esm2022/accordion/src/accordion-item.directive.mjs +0 -196
  84. package/esm2022/accordion/src/accordion-root.directive.mjs +0 -200
  85. package/esm2022/accordion/src/accordion-trigger.directive.mjs +0 -42
  86. package/esm2022/alert-dialog/index.mjs +0 -41
  87. package/esm2022/alert-dialog/radix-ng-primitives-alert-dialog.mjs +0 -5
  88. package/esm2022/alert-dialog/src/alert-dialog-cancel.directive.mjs +0 -24
  89. package/esm2022/alert-dialog/src/alert-dialog-content.directive.mjs +0 -34
  90. package/esm2022/alert-dialog/src/alert-dialog-root.directive.mjs +0 -24
  91. package/esm2022/alert-dialog/src/alert-dialog-title.directive.mjs +0 -14
  92. package/esm2022/alert-dialog/src/alert-dialog-trigger.directive.mjs +0 -24
  93. package/esm2022/alert-dialog/src/alert-dialog.service.mjs +0 -46
  94. package/esm2022/aspect-ratio/index.mjs +0 -2
  95. package/esm2022/aspect-ratio/radix-ng-primitives-aspect-ratio.mjs +0 -5
  96. package/esm2022/aspect-ratio/src/aspect-ratio.directive.mjs +0 -57
  97. package/esm2022/avatar/index.mjs +0 -31
  98. package/esm2022/avatar/radix-ng-primitives-avatar.mjs +0 -5
  99. package/esm2022/avatar/src/avatar-fallback.directive.mjs +0 -67
  100. package/esm2022/avatar/src/avatar-image.directive.mjs +0 -65
  101. package/esm2022/avatar/src/avatar-root.directive.mjs +0 -26
  102. package/esm2022/avatar/src/avatar.config.mjs +0 -17
  103. package/esm2022/checkbox/index.mjs +0 -36
  104. package/esm2022/checkbox/radix-ng-primitives-checkbox.mjs +0 -5
  105. package/esm2022/checkbox/src/checkbox-button.directive.mjs +0 -33
  106. package/esm2022/checkbox/src/checkbox-indicator.directive.mjs +0 -24
  107. package/esm2022/checkbox/src/checkbox-input.directive.mjs +0 -44
  108. package/esm2022/checkbox/src/checkbox.directive.mjs +0 -141
  109. package/esm2022/checkbox/src/checkbox.token.mjs +0 -6
  110. package/esm2022/collapsible/index.mjs +0 -4
  111. package/esm2022/collapsible/radix-ng-primitives-collapsible.mjs +0 -5
  112. package/esm2022/collapsible/src/collapsible-content.directive.mjs +0 -42
  113. package/esm2022/collapsible/src/collapsible-content.token.mjs +0 -3
  114. package/esm2022/collapsible/src/collapsible-root.directive.mjs +0 -127
  115. package/esm2022/collapsible/src/collapsible-trigger.directive.mjs +0 -49
  116. package/esm2022/context-menu/index.mjs +0 -65
  117. package/esm2022/context-menu/radix-ng-primitives-context-menu.mjs +0 -5
  118. package/esm2022/context-menu/src/context-menu-content.directive.mjs +0 -56
  119. package/esm2022/context-menu/src/context-menu-item-checkbox.directive.mjs +0 -39
  120. package/esm2022/context-menu/src/context-menu-item-indicator.directive.mjs +0 -22
  121. package/esm2022/context-menu/src/context-menu-item-radio-group.directive.mjs +0 -37
  122. package/esm2022/context-menu/src/context-menu-item-radio.directive.mjs +0 -67
  123. package/esm2022/context-menu/src/context-menu-item-selectable.mjs +0 -31
  124. package/esm2022/context-menu/src/context-menu-item.directive.mjs +0 -70
  125. package/esm2022/context-menu/src/context-menu-label.directive.mjs +0 -14
  126. package/esm2022/context-menu/src/context-menu-separator.directive.mjs +0 -21
  127. package/esm2022/context-menu/src/context-menu-trigger.directive.mjs +0 -92
  128. package/esm2022/core/index.mjs +0 -11
  129. package/esm2022/core/radix-ng-primitives-core.mjs +0 -5
  130. package/esm2022/core/src/accessor/provide-value-accessor.mjs +0 -19
  131. package/esm2022/core/src/auto-focus.directive.mjs +0 -80
  132. package/esm2022/core/src/control-value-accessor/index.mjs +0 -103
  133. package/esm2022/core/src/create-inject-context/assert-injector.mjs +0 -15
  134. package/esm2022/core/src/create-inject-context/index.mjs +0 -116
  135. package/esm2022/core/src/document.mjs +0 -6
  136. package/esm2022/core/src/id-generator.mjs +0 -43
  137. package/esm2022/core/src/inject-ng-control.mjs +0 -17
  138. package/esm2022/core/src/is-client.mjs +0 -6
  139. package/esm2022/core/src/is-inside-form.mjs +0 -7
  140. package/esm2022/core/src/types.mjs +0 -2
  141. package/esm2022/core/src/window.mjs +0 -15
  142. package/esm2022/dialog/index.mjs +0 -50
  143. package/esm2022/dialog/radix-ng-primitives-dialog.mjs +0 -5
  144. package/esm2022/dialog/src/dialog-close.directive.mjs +0 -25
  145. package/esm2022/dialog/src/dialog-content.directive.mjs +0 -46
  146. package/esm2022/dialog/src/dialog-description.directive.mjs +0 -14
  147. package/esm2022/dialog/src/dialog-dismiss.directive.mjs +0 -25
  148. package/esm2022/dialog/src/dialog-ref.mjs +0 -46
  149. package/esm2022/dialog/src/dialog-title.directive.mjs +0 -14
  150. package/esm2022/dialog/src/dialog-trigger.directive.mjs +0 -54
  151. package/esm2022/dialog/src/dialog.config.mjs +0 -6
  152. package/esm2022/dialog/src/dialog.injectors.mjs +0 -10
  153. package/esm2022/dialog/src/dialog.providers.mjs +0 -26
  154. package/esm2022/dialog/src/dialog.service.mjs +0 -96
  155. package/esm2022/dropdown-menu/index.mjs +0 -68
  156. package/esm2022/dropdown-menu/radix-ng-primitives-dropdown-menu.mjs +0 -5
  157. package/esm2022/dropdown-menu/src/dropdown-menu-content.directive.mjs +0 -56
  158. package/esm2022/dropdown-menu/src/dropdown-menu-item-checkbox.directive.mjs +0 -39
  159. package/esm2022/dropdown-menu/src/dropdown-menu-item-indicator.directive.mjs +0 -22
  160. package/esm2022/dropdown-menu/src/dropdown-menu-item-radio-group.directive.mjs +0 -37
  161. package/esm2022/dropdown-menu/src/dropdown-menu-item-radio.directive.mjs +0 -67
  162. package/esm2022/dropdown-menu/src/dropdown-menu-item-selectable.mjs +0 -31
  163. package/esm2022/dropdown-menu/src/dropdown-menu-item.directive.mjs +0 -73
  164. package/esm2022/dropdown-menu/src/dropdown-menu-label.directive.mjs +0 -14
  165. package/esm2022/dropdown-menu/src/dropdown-menu-separator.directive.mjs +0 -21
  166. package/esm2022/dropdown-menu/src/dropdown-menu-trigger.directive.mjs +0 -210
  167. package/esm2022/index.mjs +0 -2
  168. package/esm2022/label/index.mjs +0 -2
  169. package/esm2022/label/radix-ng-primitives-label.mjs +0 -5
  170. package/esm2022/label/src/label.directive.mjs +0 -57
  171. package/esm2022/menu/index.mjs +0 -45
  172. package/esm2022/menu/radix-ng-primitives-menu.mjs +0 -5
  173. package/esm2022/menu/src/menu-content.directive.mjs +0 -17
  174. package/esm2022/menu/src/menu-directive.mjs +0 -18
  175. package/esm2022/menu/src/menu-group.directive.mjs +0 -20
  176. package/esm2022/menu/src/menu-item.directive.mjs +0 -46
  177. package/esm2022/menu/src/menu-label.directive.mjs +0 -14
  178. package/esm2022/menu/src/menu-separator.directive.mjs +0 -21
  179. package/esm2022/menubar/index.mjs +0 -60
  180. package/esm2022/menubar/radix-ng-primitives-menubar.mjs +0 -5
  181. package/esm2022/menubar/src/menubar-content.directive.mjs +0 -17
  182. package/esm2022/menubar/src/menubar-item-checkbox.directive.mjs +0 -34
  183. package/esm2022/menubar/src/menubar-item-indicator.directive.mjs +0 -17
  184. package/esm2022/menubar/src/menubar-item-radio.directive.mjs +0 -35
  185. package/esm2022/menubar/src/menubar-item.directive.mjs +0 -20
  186. package/esm2022/menubar/src/menubar-radio-group.directive.mjs +0 -17
  187. package/esm2022/menubar/src/menubar-root.directive.mjs +0 -24
  188. package/esm2022/menubar/src/menubar-separator.directive.mjs +0 -17
  189. package/esm2022/menubar/src/menubar-trigger.directive.mjs +0 -45
  190. package/esm2022/popover/index.mjs +0 -51
  191. package/esm2022/popover/radix-ng-primitives-popover.mjs +0 -5
  192. package/esm2022/popover/src/popover-anchor.directive.mjs +0 -70
  193. package/esm2022/popover/src/popover-anchor.token.mjs +0 -3
  194. package/esm2022/popover/src/popover-arrow.directive.mjs +0 -117
  195. package/esm2022/popover/src/popover-arrow.token.mjs +0 -3
  196. package/esm2022/popover/src/popover-close.directive.mjs +0 -49
  197. package/esm2022/popover/src/popover-close.token.mjs +0 -3
  198. package/esm2022/popover/src/popover-content-attributes.component.mjs +0 -70
  199. package/esm2022/popover/src/popover-content-attributes.token.mjs +0 -3
  200. package/esm2022/popover/src/popover-content.directive.mjs +0 -255
  201. package/esm2022/popover/src/popover-root.directive.mjs +0 -315
  202. package/esm2022/popover/src/popover-root.inject.mjs +0 -7
  203. package/esm2022/popover/src/popover-trigger.directive.mjs +0 -41
  204. package/esm2022/popover/src/popover.constants.mjs +0 -90
  205. package/esm2022/popover/src/popover.types.mjs +0 -31
  206. package/esm2022/popover/src/popover.utils.mjs +0 -107
  207. package/esm2022/progress/index.mjs +0 -25
  208. package/esm2022/progress/radix-ng-primitives-progress.mjs +0 -5
  209. package/esm2022/progress/src/progress-indicator.directive.mjs +0 -33
  210. package/esm2022/progress/src/progress-root.directive.mjs +0 -132
  211. package/esm2022/radio/index.mjs +0 -5
  212. package/esm2022/radio/radix-ng-primitives-radio.mjs +0 -5
  213. package/esm2022/radio/src/radio-indicator.directive.mjs +0 -25
  214. package/esm2022/radio/src/radio-item-input.directive.mjs +0 -37
  215. package/esm2022/radio/src/radio-item.directive.mjs +0 -86
  216. package/esm2022/radio/src/radio-root.directive.mjs +0 -104
  217. package/esm2022/radio/src/radio-tokens.mjs +0 -3
  218. package/esm2022/radix-ng-primitives.mjs +0 -5
  219. package/esm2022/roving-focus/index.mjs +0 -3
  220. package/esm2022/roving-focus/radix-ng-primitives-roving-focus.mjs +0 -5
  221. package/esm2022/roving-focus/src/roving-focus-group.directive.mjs +0 -138
  222. package/esm2022/roving-focus/src/roving-focus-item.directive.mjs +0 -133
  223. package/esm2022/roving-focus/src/utils.mjs +0 -47
  224. package/esm2022/select/index.mjs +0 -65
  225. package/esm2022/select/radix-ng-primitives-select.mjs +0 -5
  226. package/esm2022/select/src/select-content.directive.mjs +0 -53
  227. package/esm2022/select/src/select-group.directive.mjs +0 -18
  228. package/esm2022/select/src/select-icon.directive.mjs +0 -18
  229. package/esm2022/select/src/select-item-indicator.directive.mjs +0 -23
  230. package/esm2022/select/src/select-item.directive.mjs +0 -122
  231. package/esm2022/select/src/select-label.directive.mjs +0 -15
  232. package/esm2022/select/src/select-separator.directive.mjs +0 -18
  233. package/esm2022/select/src/select-trigger.directive.mjs +0 -38
  234. package/esm2022/select/src/select-value.directive.mjs +0 -21
  235. package/esm2022/select/src/select.component.mjs +0 -234
  236. package/esm2022/separator/index.mjs +0 -2
  237. package/esm2022/separator/radix-ng-primitives-separator.mjs +0 -5
  238. package/esm2022/separator/src/separator.directive.mjs +0 -61
  239. package/esm2022/slider/index.mjs +0 -28
  240. package/esm2022/slider/radix-ng-primitives-slider.mjs +0 -5
  241. package/esm2022/slider/src/slider-horizontal.component.mjs +0 -117
  242. package/esm2022/slider/src/slider-impl.directive.mjs +0 -89
  243. package/esm2022/slider/src/slider-orientation-context.service.mjs +0 -27
  244. package/esm2022/slider/src/slider-range.component.mjs +0 -41
  245. package/esm2022/slider/src/slider-root.component.mjs +0 -210
  246. package/esm2022/slider/src/slider-thumb-impl.directive.mjs +0 -106
  247. package/esm2022/slider/src/slider-thumb.component.mjs +0 -22
  248. package/esm2022/slider/src/slider-track.component.mjs +0 -27
  249. package/esm2022/slider/src/slider-vertical.component.mjs +0 -117
  250. package/esm2022/slider/src/utils.mjs +0 -94
  251. package/esm2022/switch/index.mjs +0 -30
  252. package/esm2022/switch/radix-ng-primitives-switch.mjs +0 -5
  253. package/esm2022/switch/src/switch-input.directive.mjs +0 -44
  254. package/esm2022/switch/src/switch-root.directive.mjs +0 -145
  255. package/esm2022/switch/src/switch-thumb.directive.mjs +0 -26
  256. package/esm2022/tabs/index.mjs +0 -35
  257. package/esm2022/tabs/radix-ng-primitives-tabs.mjs +0 -5
  258. package/esm2022/tabs/src/tabs-content.directive.mjs +0 -35
  259. package/esm2022/tabs/src/tabs-list.directive.mjs +0 -26
  260. package/esm2022/tabs/src/tabs-root.directive.mjs +0 -57
  261. package/esm2022/tabs/src/tabs-trigger.directive.mjs +0 -78
  262. package/esm2022/tabs/src/utils.mjs +0 -7
  263. package/esm2022/toggle/index.mjs +0 -3
  264. package/esm2022/toggle/radix-ng-primitives-toggle.mjs +0 -5
  265. package/esm2022/toggle/src/toggle-visually-hidden-input.directive.mjs +0 -31
  266. package/esm2022/toggle/src/toggle.directive.mjs +0 -79
  267. package/esm2022/toggle-group/index.mjs +0 -6
  268. package/esm2022/toggle-group/radix-ng-primitives-toggle-group.mjs +0 -5
  269. package/esm2022/toggle-group/src/toggle-group-item.directive.mjs +0 -85
  270. package/esm2022/toggle-group/src/toggle-group-item.token.mjs +0 -3
  271. package/esm2022/toggle-group/src/toggle-group-multiple.directive.mjs +0 -185
  272. package/esm2022/toggle-group/src/toggle-group.directive.mjs +0 -179
  273. package/esm2022/toggle-group/src/toggle-group.token.mjs +0 -6
  274. package/esm2022/tooltip/index.mjs +0 -41
  275. package/esm2022/tooltip/radix-ng-primitives-tooltip.mjs +0 -5
  276. package/esm2022/tooltip/src/get-content-position.mjs +0 -31
  277. package/esm2022/tooltip/src/tooltip-arrow.directive.mjs +0 -92
  278. package/esm2022/tooltip/src/tooltip-arrow.token.mjs +0 -3
  279. package/esm2022/tooltip/src/tooltip-content-attributes.directive.mjs +0 -24
  280. package/esm2022/tooltip/src/tooltip-content.directive.mjs +0 -48
  281. package/esm2022/tooltip/src/tooltip-content.token.mjs +0 -3
  282. package/esm2022/tooltip/src/tooltip-root.directive.mjs +0 -288
  283. package/esm2022/tooltip/src/tooltip-trigger.directive.mjs +0 -70
  284. package/esm2022/tooltip/src/tooltip.config.mjs +0 -18
  285. package/esm2022/tooltip/src/tooltip.constants.mjs +0 -84
  286. package/esm2022/tooltip/src/tooltip.types.mjs +0 -14
  287. package/esm2022/visually-hidden/index.mjs +0 -4
  288. package/esm2022/visually-hidden/radix-ng-primitives-visually-hidden.mjs +0 -5
  289. package/esm2022/visually-hidden/src/visually-hidden-input-bubble.directive.mjs +0 -74
  290. package/esm2022/visually-hidden/src/visually-hidden-input.directive.mjs +0 -74
  291. package/esm2022/visually-hidden/src/visually-hidden.directive.mjs +0 -42
  292. package/tooltip/src/get-content-position.d.ts +0 -3
  293. package/tooltip/src/tooltip.constants.d.ts +0 -9
@@ -1,42 +0,0 @@
1
- import { Directive, ElementRef, inject } from '@angular/core';
2
- import { RdxAccordionItemDirective } from './accordion-item.directive';
3
- import * as i0 from "@angular/core";
4
- export class RdxAccordionContentDirective {
5
- constructor() {
6
- this.item = inject(RdxAccordionItemDirective);
7
- this.nativeElement = inject(ElementRef).nativeElement;
8
- this.hidden = false;
9
- }
10
- onAnimationEnd() {
11
- this.hidden = !this.item.expanded;
12
- const { height, width } = this.nativeElement.getBoundingClientRect();
13
- this.nativeElement.style.setProperty('--radix-collapsible-content-height', `${height}px`);
14
- this.nativeElement.style.setProperty('--radix-collapsible-content-width', `${width}px`);
15
- this.nativeElement.style.setProperty('--radix-accordion-content-height', 'var(--radix-collapsible-content-height)');
16
- this.nativeElement.style.setProperty('--radix-accordion-content-width', 'var(--radix-collapsible-content-width)');
17
- }
18
- onToggle() {
19
- if (!this.item.expanded) {
20
- this.hidden = false;
21
- }
22
- }
23
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxAccordionContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
24
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: RdxAccordionContentDirective, isStandalone: true, selector: "[rdxAccordionContent]", host: { listeners: { "animationend": "onAnimationEnd()" }, properties: { "attr.role": "\"region\"", "style.display": "hidden ? \"none\" : \"\"", "attr.data-state": "item.dataState", "attr.data-disabled": "item.disabled", "attr.data-orientation": "item.orientation" } }, exportAs: ["rdxAccordionContent"], ngImport: i0 }); }
25
- }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxAccordionContentDirective, decorators: [{
27
- type: Directive,
28
- args: [{
29
- selector: '[rdxAccordionContent]',
30
- standalone: true,
31
- exportAs: 'rdxAccordionContent',
32
- host: {
33
- '[attr.role]': '"region"',
34
- '[style.display]': 'hidden ? "none" : ""',
35
- '[attr.data-state]': 'item.dataState',
36
- '[attr.data-disabled]': 'item.disabled',
37
- '[attr.data-orientation]': 'item.orientation',
38
- '(animationend)': 'onAnimationEnd()'
39
- }
40
- }]
41
- }] });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLWNvbnRlbnQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcHJpbWl0aXZlcy9hY2NvcmRpb24vc3JjL2FjY29yZGlvbi1jb250ZW50LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBZXZFLE1BQU0sT0FBTyw0QkFBNEI7SUFiekM7UUFjdUIsU0FBSSxHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBQ3pDLGtCQUFhLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLGFBQWEsQ0FBQztRQUUxRCxXQUFNLEdBQUcsS0FBSyxDQUFDO0tBeUI1QjtJQXZCYSxjQUFjO1FBQ3BCLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUVsQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUVyRSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsb0NBQW9DLEVBQUUsR0FBRyxNQUFNLElBQUksQ0FBQyxDQUFDO1FBQzFGLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxtQ0FBbUMsRUFBRSxHQUFHLEtBQUssSUFBSSxDQUFDLENBQUM7UUFFeEYsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUNoQyxrQ0FBa0MsRUFDbEMseUNBQXlDLENBQzVDLENBQUM7UUFDRixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQ2hDLGlDQUFpQyxFQUNqQyx3Q0FBd0MsQ0FDM0MsQ0FBQztJQUNOLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDeEIsQ0FBQztJQUNMLENBQUM7K0dBNUJRLDRCQUE0QjttR0FBNUIsNEJBQTRCOzs0RkFBNUIsNEJBQTRCO2tCQWJ4QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUscUJBQXFCO29CQUMvQixJQUFJLEVBQUU7d0JBQ0YsYUFBYSxFQUFFLFVBQVU7d0JBQ3pCLGlCQUFpQixFQUFFLHNCQUFzQjt3QkFDekMsbUJBQW1CLEVBQUUsZ0JBQWdCO3dCQUNyQyxzQkFBc0IsRUFBRSxlQUFlO3dCQUN2Qyx5QkFBeUIsRUFBRSxrQkFBa0I7d0JBQzdDLGdCQUFnQixFQUFFLGtCQUFrQjtxQkFDdkM7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmR4QWNjb3JkaW9uSXRlbURpcmVjdGl2ZSB9IGZyb20gJy4vYWNjb3JkaW9uLWl0ZW0uZGlyZWN0aXZlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbcmR4QWNjb3JkaW9uQ29udGVudF0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgZXhwb3J0QXM6ICdyZHhBY2NvcmRpb25Db250ZW50JyxcbiAgICBob3N0OiB7XG4gICAgICAgICdbYXR0ci5yb2xlXSc6ICdcInJlZ2lvblwiJyxcbiAgICAgICAgJ1tzdHlsZS5kaXNwbGF5XSc6ICdoaWRkZW4gPyBcIm5vbmVcIiA6IFwiXCInLFxuICAgICAgICAnW2F0dHIuZGF0YS1zdGF0ZV0nOiAnaXRlbS5kYXRhU3RhdGUnLFxuICAgICAgICAnW2F0dHIuZGF0YS1kaXNhYmxlZF0nOiAnaXRlbS5kaXNhYmxlZCcsXG4gICAgICAgICdbYXR0ci5kYXRhLW9yaWVudGF0aW9uXSc6ICdpdGVtLm9yaWVudGF0aW9uJyxcbiAgICAgICAgJyhhbmltYXRpb25lbmQpJzogJ29uQW5pbWF0aW9uRW5kKCknXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBSZHhBY2NvcmRpb25Db250ZW50RGlyZWN0aXZlIHtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXRlbSA9IGluamVjdChSZHhBY2NvcmRpb25JdGVtRGlyZWN0aXZlKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbmF0aXZlRWxlbWVudCA9IGluamVjdChFbGVtZW50UmVmKS5uYXRpdmVFbGVtZW50O1xuXG4gICAgcHJvdGVjdGVkIGhpZGRlbiA9IGZhbHNlO1xuXG4gICAgcHJvdGVjdGVkIG9uQW5pbWF0aW9uRW5kKCkge1xuICAgICAgICB0aGlzLmhpZGRlbiA9ICF0aGlzLml0ZW0uZXhwYW5kZWQ7XG5cbiAgICAgICAgY29uc3QgeyBoZWlnaHQsIHdpZHRoIH0gPSB0aGlzLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICAgICAgdGhpcy5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLXJhZGl4LWNvbGxhcHNpYmxlLWNvbnRlbnQtaGVpZ2h0JywgYCR7aGVpZ2h0fXB4YCk7XG4gICAgICAgIHRoaXMubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1yYWRpeC1jb2xsYXBzaWJsZS1jb250ZW50LXdpZHRoJywgYCR7d2lkdGh9cHhgKTtcblxuICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoXG4gICAgICAgICAgICAnLS1yYWRpeC1hY2NvcmRpb24tY29udGVudC1oZWlnaHQnLFxuICAgICAgICAgICAgJ3ZhcigtLXJhZGl4LWNvbGxhcHNpYmxlLWNvbnRlbnQtaGVpZ2h0KSdcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KFxuICAgICAgICAgICAgJy0tcmFkaXgtYWNjb3JkaW9uLWNvbnRlbnQtd2lkdGgnLFxuICAgICAgICAgICAgJ3ZhcigtLXJhZGl4LWNvbGxhcHNpYmxlLWNvbnRlbnQtd2lkdGgpJ1xuICAgICAgICApO1xuICAgIH1cblxuICAgIG9uVG9nZ2xlKCkge1xuICAgICAgICBpZiAoIXRoaXMuaXRlbS5leHBhbmRlZCkge1xuICAgICAgICAgICAgdGhpcy5oaWRkZW4gPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -1,23 +0,0 @@
1
- import { Directive, inject } from '@angular/core';
2
- import { RdxAccordionItemDirective } from './accordion-item.directive';
3
- import * as i0 from "@angular/core";
4
- export class RdxAccordionHeaderDirective {
5
- constructor() {
6
- this.item = inject(RdxAccordionItemDirective);
7
- }
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxAccordionHeaderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
9
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: RdxAccordionHeaderDirective, isStandalone: true, selector: "[rdxAccordionHeader]", host: { properties: { "attr.data-state": "item.dataState", "attr.data-disabled": "item.disabled", "attr.data-orientation": "item.orientation" } }, ngImport: i0 }); }
10
- }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxAccordionHeaderDirective, decorators: [{
12
- type: Directive,
13
- args: [{
14
- selector: '[rdxAccordionHeader]',
15
- standalone: true,
16
- host: {
17
- '[attr.data-state]': 'item.dataState',
18
- '[attr.data-disabled]': 'item.disabled',
19
- '[attr.data-orientation]': 'item.orientation'
20
- }
21
- }]
22
- }] });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLWhlYWRlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL2FjY29yZGlvbi9zcmMvYWNjb3JkaW9uLWhlYWRlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBV3ZFLE1BQU0sT0FBTywyQkFBMkI7SUFUeEM7UUFVdUIsU0FBSSxHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0tBQy9EOytHQUZZLDJCQUEyQjttR0FBM0IsMkJBQTJCOzs0RkFBM0IsMkJBQTJCO2tCQVR2QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUU7d0JBQ0YsbUJBQW1CLEVBQUUsZ0JBQWdCO3dCQUNyQyxzQkFBc0IsRUFBRSxlQUFlO3dCQUN2Qyx5QkFBeUIsRUFBRSxrQkFBa0I7cUJBQ2hEO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJkeEFjY29yZGlvbkl0ZW1EaXJlY3RpdmUgfSBmcm9tICcuL2FjY29yZGlvbi1pdGVtLmRpcmVjdGl2ZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3JkeEFjY29yZGlvbkhlYWRlcl0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2F0dHIuZGF0YS1zdGF0ZV0nOiAnaXRlbS5kYXRhU3RhdGUnLFxuICAgICAgICAnW2F0dHIuZGF0YS1kaXNhYmxlZF0nOiAnaXRlbS5kaXNhYmxlZCcsXG4gICAgICAgICdbYXR0ci5kYXRhLW9yaWVudGF0aW9uXSc6ICdpdGVtLm9yaWVudGF0aW9uJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgUmR4QWNjb3JkaW9uSGVhZGVyRGlyZWN0aXZlIHtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXRlbSA9IGluamVjdChSZHhBY2NvcmRpb25JdGVtRGlyZWN0aXZlKTtcbn1cbiJdfQ==
@@ -1,196 +0,0 @@
1
- import { UniqueSelectionDispatcher } from '@angular/cdk/collections';
2
- import { booleanAttribute, ChangeDetectorRef, ContentChild, Directive, EventEmitter, forwardRef, inject, Input, Output } from '@angular/core';
3
- import { Subscription } from 'rxjs';
4
- import { RdxAccordionContentDirective } from './accordion-content.directive';
5
- import { RdxAccordionRootToken } from './accordion-root.directive';
6
- import { RdxAccordionTriggerDirective } from './accordion-trigger.directive';
7
- import * as i0 from "@angular/core";
8
- let nextId = 0;
9
- /**
10
- * @group Components
11
- */
12
- export class RdxAccordionItemDirective {
13
- get dataState() {
14
- return this.expanded ? 'open' : 'closed';
15
- }
16
- get orientation() {
17
- return this.accordion.orientation;
18
- }
19
- /**
20
- * @defaultValue false
21
- * @group Props
22
- */
23
- set expanded(expanded) {
24
- // Only emit events and update the internal value if the value changes.
25
- if (this._expanded !== expanded) {
26
- this._expanded = expanded;
27
- this.expandedChange.emit(expanded);
28
- if (expanded) {
29
- this.opened.emit();
30
- /**
31
- * In the unique selection dispatcher, the id parameter is the id of the CdkAccordionItem,
32
- * the name value is the id of the accordion.
33
- */
34
- const accordionId = this.accordion ? this.accordion.id : this.value;
35
- this.expansionDispatcher.notify(this.value, accordionId);
36
- }
37
- else {
38
- this.closed.emit();
39
- }
40
- // Ensures that the animation will run when the value is set outside of an `@Input`.
41
- // This includes cases like the open, close and toggle methods.
42
- this.changeDetectorRef.markForCheck();
43
- }
44
- }
45
- get expanded() {
46
- return this._expanded;
47
- }
48
- /**
49
- * Accordion value.
50
- *
51
- * @group Props
52
- */
53
- set value(value) {
54
- this._value = value;
55
- }
56
- get value() {
57
- return this._value || this.id;
58
- }
59
- /**
60
- * Whether the AccordionItem is disabled.
61
- *
62
- * @defaultValue false
63
- * @group Props
64
- */
65
- set disabled(value) {
66
- this._disabled = value;
67
- }
68
- get disabled() {
69
- return this.accordion.disabled ?? this._disabled;
70
- }
71
- constructor() {
72
- this.accordion = inject(RdxAccordionRootToken, { skipSelf: true });
73
- this.changeDetectorRef = inject(ChangeDetectorRef);
74
- this.expansionDispatcher = inject(UniqueSelectionDispatcher);
75
- /**
76
- * The unique AccordionItem id.
77
- * @ignore
78
- */
79
- this.id = `rdx-accordion-item-${nextId++}`;
80
- this._expanded = false;
81
- this._disabled = false;
82
- /**
83
- * Event emitted every time the AccordionItem is closed.
84
- */
85
- this.closed = new EventEmitter();
86
- /** Event emitted every time the AccordionItem is opened. */
87
- this.opened = new EventEmitter();
88
- /**
89
- * Event emitted when the AccordionItem is destroyed.
90
- * @ignore
91
- */
92
- this.destroyed = new EventEmitter();
93
- /**
94
- * Emits whenever the expanded state of the accordion changes.
95
- * Primarily used to facilitate two-way binding.
96
- * @group Emits
97
- */
98
- this.expandedChange = new EventEmitter();
99
- /** Subscription to openAll/closeAll events. */
100
- this.openCloseAllSubscription = Subscription.EMPTY;
101
- this.removeUniqueSelectionListener = this.expansionDispatcher.listen((id, accordionId) => {
102
- if (this.accordion.isMultiple) {
103
- if (this.accordion.id === accordionId && id.includes(this.value)) {
104
- this.expanded = true;
105
- }
106
- }
107
- else {
108
- this.expanded = this.accordion.id === accordionId && id.includes(this.value);
109
- }
110
- });
111
- // When an accordion item is hosted in an accordion, subscribe to open/close events.
112
- if (this.accordion) {
113
- this.openCloseAllSubscription = this.subscribeToOpenCloseAllActions();
114
- }
115
- }
116
- /** Emits an event for the accordion item being destroyed. */
117
- ngOnDestroy() {
118
- this.opened.complete();
119
- this.closed.complete();
120
- this.destroyed.emit();
121
- this.destroyed.complete();
122
- this.removeUniqueSelectionListener();
123
- this.openCloseAllSubscription.unsubscribe();
124
- }
125
- focus() {
126
- this.trigger.focus();
127
- }
128
- /** Toggles the expanded state of the accordion item. */
129
- toggle() {
130
- if (!this.disabled) {
131
- this.content.onToggle();
132
- this.expanded = !this.expanded;
133
- }
134
- }
135
- /** Sets the expanded state of the accordion item to false. */
136
- close() {
137
- if (!this.disabled) {
138
- this.expanded = false;
139
- }
140
- }
141
- /** Sets the expanded state of the accordion item to true. */
142
- open() {
143
- if (!this.disabled) {
144
- this.expanded = true;
145
- }
146
- }
147
- subscribeToOpenCloseAllActions() {
148
- return this.accordion.openCloseAllActions.subscribe((expanded) => {
149
- // Only change expanded state if item is enabled
150
- if (!this.disabled) {
151
- this.expanded = expanded;
152
- }
153
- });
154
- }
155
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxAccordionItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
156
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.11", type: RdxAccordionItemDirective, isStandalone: true, selector: "[rdxAccordionItem]", inputs: { expanded: ["expanded", "expanded", booleanAttribute], value: "value", disabled: ["disabled", "disabled", booleanAttribute] }, outputs: { closed: "closed", opened: "opened", expandedChange: "expandedChange" }, host: { properties: { "attr.data-state": "dataState", "attr.data-disabled": "disabled", "attr.data-orientation": "orientation" } }, providers: [
157
- { provide: RdxAccordionRootToken, useValue: undefined }
158
- ], queries: [{ propertyName: "trigger", first: true, predicate: RdxAccordionTriggerDirective, descendants: true }, { propertyName: "content", first: true, predicate: i0.forwardRef(() => RdxAccordionContentDirective), descendants: true }], exportAs: ["rdxAccordionItem"], ngImport: i0 }); }
159
- }
160
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxAccordionItemDirective, decorators: [{
161
- type: Directive,
162
- args: [{
163
- selector: '[rdxAccordionItem]',
164
- standalone: true,
165
- exportAs: 'rdxAccordionItem',
166
- host: {
167
- '[attr.data-state]': 'dataState',
168
- '[attr.data-disabled]': 'disabled',
169
- '[attr.data-orientation]': 'orientation'
170
- },
171
- providers: [
172
- { provide: RdxAccordionRootToken, useValue: undefined }
173
- ]
174
- }]
175
- }], ctorParameters: () => [], propDecorators: { trigger: [{
176
- type: ContentChild,
177
- args: [RdxAccordionTriggerDirective, { descendants: true }]
178
- }], content: [{
179
- type: ContentChild,
180
- args: [forwardRef(() => RdxAccordionContentDirective), { descendants: true }]
181
- }], expanded: [{
182
- type: Input,
183
- args: [{ transform: booleanAttribute }]
184
- }], value: [{
185
- type: Input
186
- }], disabled: [{
187
- type: Input,
188
- args: [{ transform: booleanAttribute }]
189
- }], closed: [{
190
- type: Output
191
- }], opened: [{
192
- type: Output
193
- }], expandedChange: [{
194
- type: Output
195
- }] } });
196
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLWl0ZW0uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcHJpbWl0aXZlcy9hY2NvcmRpb24vc3JjL2FjY29yZGlvbi1pdGVtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRSxPQUFPLEVBQ0gsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixZQUFZLEVBQ1osU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFFTCxNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RSxPQUFPLEVBQTJCLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sK0JBQStCLENBQUM7O0FBSTdFLElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQztBQUVmOztHQUVHO0FBYUgsTUFBTSxPQUFPLHlCQUF5QjtJQWtCbEMsSUFBSSxTQUFTO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUM3QyxDQUFDO0lBUUQsSUFBSSxXQUFXO1FBQ1gsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFDSSxRQUFRLENBQUMsUUFBaUI7UUFDMUIsdUVBQXVFO1FBQ3ZFLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztZQUMxQixJQUFJ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QixLQUFLO2dCQWdCc0MsUUFBUTtzQkFBbkQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFhbkIsTUFBTTtzQkFBeEIsTUFBTTtnQkFHWSxNQUFNO3NCQUF4QixNQUFNO2dCQWFZLGNBQWM7c0JBQWhDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb2N1c2FibGVPcHRpb24gfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBVbmlxdWVTZWxlY3Rpb25EaXNwYXRjaGVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7XG4gICAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRGlyZWN0aXZlLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBmb3J3YXJkUmVmLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT3V0cHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBSZHhBY2NvcmRpb25Db250ZW50RGlyZWN0aXZlIH0gZnJvbSAnLi9hY2NvcmRpb24tY29udGVudC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUmR4QWNjb3JkaW9uT3JpZW50YXRpb24sIFJkeEFjY29yZGlvblJvb3RUb2tlbiB9IGZyb20gJy4vYWNjb3JkaW9uLXJvb3QuZGlyZWN0aXZlJztcbmltcG9ydCB7IFJkeEFjY29yZGlvblRyaWdnZXJEaXJlY3RpdmUgfSBmcm9tICcuL2FjY29yZGlvbi10cmlnZ2VyLmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCB0eXBlIFJkeEFjY29yZGlvbkl0ZW1TdGF0ZSA9ICdvcGVuJyB8ICdjbG9zZWQnO1xuXG5sZXQgbmV4dElkID0gMDtcblxuLyoqXG4gKiBAZ3JvdXAgQ29tcG9uZW50c1xuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tyZHhBY2NvcmRpb25JdGVtXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBleHBvcnRBczogJ3JkeEFjY29yZGlvbkl0ZW0nLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1thdHRyLmRhdGEtc3RhdGVdJzogJ2RhdGFTdGF0ZScsXG4gICAgICAgICdbYXR0ci5kYXRhLWRpc2FibGVkXSc6ICdkaXNhYmxlZCcsXG4gICAgICAgICdbYXR0ci5kYXRhLW9yaWVudGF0aW9uXSc6ICdvcmllbnRhdGlvbidcbiAgICB9LFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6IFJkeEFjY29yZGlvblJvb3RUb2tlbiwgdXNlVmFsdWU6IHVuZGVmaW5lZCB9XVxufSlcbmV4cG9ydCBjbGFzcyBSZHhBY2NvcmRpb25JdGVtRGlyZWN0aXZlIGltcGxlbWVudHMgRm9jdXNhYmxlT3B0aW9uLCBPbkRlc3Ryb3kge1xuICAgIHByb3RlY3RlZCByZWFkb25seSBhY2NvcmRpb24gPSBpbmplY3QoUmR4QWNjb3JkaW9uUm9vdFRva2VuLCB7IHNraXBTZWxmOiB0cnVlIH0pO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBleHBhbnNpb25EaXNwYXRjaGVyID0gaW5qZWN0KFVuaXF1ZVNlbGVjdGlvbkRpc3BhdGNoZXIpO1xuXG4gICAgLyoqXG4gICAgICogQGlnbm9yZVxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoUmR4QWNjb3JkaW9uVHJpZ2dlckRpcmVjdGl2ZSwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KSB0cmlnZ2VyOiBSZHhBY2NvcmRpb25UcmlnZ2VyRGlyZWN0aXZlO1xuXG4gICAgLyoqXG4gICAgICogQGlnbm9yZVxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoZm9yd2FyZFJlZigoKSA9PiBSZHhBY2NvcmRpb25Db250ZW50RGlyZWN0aXZlKSwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICAgIGNvbnRlbnQ6IFJkeEFjY29yZGlvbkNvbnRlbnREaXJlY3RpdmU7XG5cbiAgICBnZXQgZGF0YVN0YXRlKCk6IFJkeEFjY29yZGlvbkl0ZW1TdGF0ZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmV4cGFuZGVkID8gJ29wZW4nIDogJ2Nsb3NlZCc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIHVuaXF1ZSBBY2NvcmRpb25JdGVtIGlkLlxuICAgICAqIEBpZ25vcmVcbiAgICAgKi9cbiAgICByZWFkb25seSBpZDogc3RyaW5nID0gYHJkeC1hY2NvcmRpb24taXRlbS0ke25leHRJZCsrfWA7XG5cbiAgICBnZXQgb3JpZW50YXRpb24oKTogUmR4QWNjb3JkaW9uT3JpZW50YXRpb24ge1xuICAgICAgICByZXR1cm4gdGhpcy5hY2NvcmRpb24ub3JpZW50YXRpb247XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlZmF1bHRWYWx1ZSBmYWxzZVxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICAgIHNldCBleHBhbmRlZChleHBhbmRlZDogYm9vbGVhbikge1xuICAgICAgICAvLyBPbmx5IGVtaXQgZXZlbnRzIGFuZCB1cGRhdGUgdGhlIGludGVybmFsIHZhbHVlIGlmIHRoZSB2YWx1ZSBjaGFuZ2VzLlxuICAgICAgICBpZiAodGhpcy5fZXhwYW5kZWQgIT09IGV4cGFuZGVkKSB7XG4gICAgICAgICAgICB0aGlzLl9leHBhbmRlZCA9IGV4cGFuZGVkO1xuICAgICAgICAgICAgdGhpcy5leHBhbmRlZENoYW5nZS5lbWl0KGV4cGFuZGVkKTtcblxuICAgICAgICAgICAgaWYgKGV4cGFuZGVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vcGVuZWQuZW1pdCgpO1xuICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAqIEluIHRoZSB1bmlxdWUgc2VsZWN0aW9uIGRpc3BhdGNoZXIsIHRoZSBpZCBwYXJhbWV0ZXIgaXMgdGhlIGlkIG9mIHRoZSBDZGtBY2NvcmRpb25JdGVtLFxuICAgICAgICAgICAgICAgICAqIHRoZSBuYW1lIHZhbHVlIGlzIHRoZSBpZCBvZiB0aGUgYWNjb3JkaW9uLlxuICAgICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICAgIGNvbnN0IGFjY29yZGlvbklkID0gdGhpcy5hY2NvcmRpb24gPyB0aGlzLmFjY29yZGlvbi5pZCA6IHRoaXMudmFsdWU7XG4gICAgICAgICAgICAgICAgdGhpcy5leHBhbnNpb25EaXNwYXRjaGVyLm5vdGlmeSh0aGlzLnZhbHVlLCBhY2NvcmRpb25JZCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuY2xvc2VkLmVtaXQoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gRW5zdXJlcyB0aGF0IHRoZSBhbmltYXRpb24gd2lsbCBydW4gd2hlbiB0aGUgdmFsdWUgaXMgc2V0IG91dHNpZGUgb2YgYW4gYEBJbnB1dGAuXG4gICAgICAgICAgICAvLyBUaGlzIGluY2x1ZGVzIGNhc2VzIGxpa2UgdGhlIG9wZW4sIGNsb3NlIGFuZCB0b2dnbGUgbWV0aG9kcy5cbiAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXQgZXhwYW5kZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9leHBhbmRlZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9leHBhbmRlZCA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogQWNjb3JkaW9uIHZhbHVlLlxuICAgICAqXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgc2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBnZXQgdmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlIHx8IHRoaXMuaWQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfdmFsdWU/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSBBY2NvcmRpb25JdGVtIGlzIGRpc2FibGVkLlxuICAgICAqXG4gICAgICogQGRlZmF1bHRWYWx1ZSBmYWxzZVxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fZGlzYWJsZWQgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmFjY29yZGlvbi5kaXNhYmxlZCA/PyB0aGlzLl9kaXNhYmxlZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9kaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogRXZlbnQgZW1pdHRlZCBldmVyeSB0aW1lIHRoZSBBY2NvcmRpb25JdGVtIGlzIGNsb3NlZC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgY2xvc2VkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKiogRXZlbnQgZW1pdHRlZCBldmVyeSB0aW1lIHRoZSBBY2NvcmRpb25JdGVtIGlzIG9wZW5lZC4gKi9cbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgb3BlbmVkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIEFjY29yZGlvbkl0ZW0gaXMgZGVzdHJveWVkLlxuICAgICAqIEBpZ25vcmVcbiAgICAgKi9cbiAgICByZWFkb25seSBkZXN0cm95ZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKlxuICAgICAqIEVtaXRzIHdoZW5ldmVyIHRoZSBleHBhbmRlZCBzdGF0ZSBvZiB0aGUgYWNjb3JkaW9uIGNoYW5nZXMuXG4gICAgICogUHJpbWFyaWx5IHVzZWQgdG8gZmFjaWxpdGF0ZSB0d28td2F5IGJpbmRpbmcuXG4gICAgICogQGdyb3VwIEVtaXRzXG4gICAgICovXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IGV4cGFuZGVkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICAvKiogVW5yZWdpc3RlciBmdW5jdGlvbiBmb3IgZXhwYW5zaW9uRGlzcGF0Y2hlci4gKi9cbiAgICBwcml2YXRlIHJlbW92ZVVuaXF1ZVNlbGVjdGlvbkxpc3RlbmVyOiAoKSA9PiB2b2lkO1xuXG4gICAgLyoqIFN1YnNjcmlwdGlvbiB0byBvcGVuQWxsL2Nsb3NlQWxsIGV2ZW50cy4gKi9cbiAgICBwcml2YXRlIG9wZW5DbG9zZUFsbFN1YnNjcmlwdGlvbiA9IFN1YnNjcmlwdGlvbi5FTVBUWTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLnJlbW92ZVVuaXF1ZVNlbGVjdGlvbkxpc3RlbmVyID0gdGhpcy5leHBhbnNpb25EaXNwYXRjaGVyLmxpc3RlbigoaWQ6IHN0cmluZywgYWNjb3JkaW9uSWQ6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuYWNjb3JkaW9uLmlzTXVsdGlwbGUpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5hY2NvcmRpb24uaWQgPT09IGFjY29yZGlvbklkICYmIGlkLmluY2x1ZGVzKHRoaXMudmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZXhwYW5kZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5leHBhbmRlZCA9IHRoaXMuYWNjb3JkaW9uLmlkID09PSBhY2NvcmRpb25JZCAmJiBpZC5pbmNsdWRlcyh0aGlzLnZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gV2hlbiBhbiBhY2NvcmRpb24gaXRlbSBpcyBob3N0ZWQgaW4gYW4gYWNjb3JkaW9uLCBzdWJzY3JpYmUgdG8gb3Blbi9jbG9zZSBldmVudHMuXG4gICAgICAgIGlmICh0aGlzLmFjY29yZGlvbikge1xuICAgICAgICAgICAgdGhpcy5vcGVuQ2xvc2VBbGxTdWJzY3JpcHRpb24gPSB0aGlzLnN1YnNjcmliZVRvT3BlbkNsb3NlQWxsQWN0aW9ucygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEVtaXRzIGFuIGV2ZW50IGZvciB0aGUgYWNjb3JkaW9uIGl0ZW0gYmVpbmcgZGVzdHJveWVkLiAqL1xuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLm9wZW5lZC5jb21wbGV0ZSgpO1xuICAgICAgICB0aGlzLmNsb3NlZC5jb21wbGV0ZSgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3llZC5lbWl0KCk7XG4gICAgICAgIHRoaXMuZGVzdHJveWVkLmNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMucmVtb3ZlVW5pcXVlU2VsZWN0aW9uTGlzdGVuZXIoKTtcbiAgICAgICAgdGhpcy5vcGVuQ2xvc2VBbGxTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBmb2N1cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50cmlnZ2VyLmZvY3VzKCk7XG4gICAgfVxuXG4gICAgLyoqIFRvZ2dsZXMgdGhlIGV4cGFuZGVkIHN0YXRlIG9mIHRoZSBhY2NvcmRpb24gaXRlbS4gKi9cbiAgICB0b2dnbGUoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5jb250ZW50Lm9uVG9nZ2xlKCk7XG5cbiAgICAgICAgICAgIHRoaXMuZXhwYW5kZWQgPSAhdGhpcy5leHBhbmRlZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBTZXRzIHRoZSBleHBhbmRlZCBzdGF0ZSBvZiB0aGUgYWNjb3JkaW9uIGl0ZW0gdG8gZmFsc2UuICovXG4gICAgY2xvc2UoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5leHBhbmRlZCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIFNldHMgdGhlIGV4cGFuZGVkIHN0YXRlIG9mIHRoZSBhY2NvcmRpb24gaXRlbSB0byB0cnVlLiAqL1xuICAgIG9wZW4oKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5leHBhbmRlZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHN1YnNjcmliZVRvT3BlbkNsb3NlQWxsQWN0aW9ucygpOiBTdWJzY3JpcHRpb24ge1xuICAgICAgICByZXR1cm4gdGhpcy5hY2NvcmRpb24ub3BlbkNsb3NlQWxsQWN0aW9ucy5zdWJzY3JpYmUoKGV4cGFuZGVkKSA9PiB7XG4gICAgICAgICAgICAvLyBPbmx5IGNoYW5nZSBleHBhbmRlZCBzdGF0ZSBpZiBpdGVtIGlzIGVuYWJsZWRcbiAgICAgICAgICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZXhwYW5kZWQgPSBleHBhbmRlZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
@@ -1,200 +0,0 @@
1
- import { FocusKeyManager } from '@angular/cdk/a11y';
2
- import { Directionality } from '@angular/cdk/bidi';
3
- import { UniqueSelectionDispatcher } from '@angular/cdk/collections';
4
- import { ENTER, SPACE, TAB } from '@angular/cdk/keycodes';
5
- import { booleanAttribute, ContentChildren, Directive, EventEmitter, forwardRef, inject, InjectionToken, Input, Output, QueryList } from '@angular/core';
6
- import { merge, Subject } from 'rxjs';
7
- import { RdxAccordionItemDirective } from './accordion-item.directive';
8
- import * as i0 from "@angular/core";
9
- export const RdxAccordionRootToken = new InjectionToken('RdxAccordionRootDirective');
10
- let nextId = 0;
11
- /**
12
- * @group Components
13
- */
14
- export class RdxAccordionRootDirective {
15
- constructor() {
16
- /**
17
- * @ignore
18
- */
19
- this.selectionDispatcher = inject(UniqueSelectionDispatcher);
20
- /**
21
- * @ignore
22
- */
23
- this.dir = inject(Directionality, { optional: true });
24
- /**
25
- * @ignore
26
- */
27
- this.id = `rdx-accordion-${nextId++}`;
28
- /**
29
- * @ignore
30
- */
31
- this.openCloseAllActions = new Subject();
32
- /**
33
- * The orientation of the accordion.
34
- *
35
- * @defaultValue 'vertical'
36
- * @group Props
37
- */
38
- this.orientation = 'vertical';
39
- /**
40
- * Determines whether one or multiple items can be opened at the same time.
41
- * @group Props
42
- * @defaultValue 'single'
43
- */
44
- this.type = 'single';
45
- /**
46
- * @ignore
47
- */
48
- this.collapsible = true;
49
- /**
50
- * Event handler called when the expanded state of an item changes and type is "multiple".
51
- * @group Emits
52
- */
53
- this.onValueChange = new EventEmitter();
54
- this._defaultValue = [];
55
- }
56
- get isMultiple() {
57
- return this.type === 'multiple';
58
- }
59
- /**
60
- * The value of the item to expand when initially rendered and type is "single".
61
- * Use when you do not need to control the state of the items.
62
- * @group Props
63
- */
64
- set defaultValue(value) {
65
- if (value !== this._defaultValue) {
66
- this._defaultValue = Array.isArray(value) ? value : [value];
67
- }
68
- }
69
- get defaultValue() {
70
- return this.isMultiple ? this._defaultValue : this._defaultValue[0];
71
- }
72
- /**
73
- * The controlled value of the item to expand.
74
- *
75
- * @group Props
76
- */
77
- set value(value) {
78
- if (value !== this._value) {
79
- this._value = Array.isArray(value) ? value : [value];
80
- this.selectionDispatcher.notify(this.value, this.id);
81
- }
82
- }
83
- get value() {
84
- if (this._value === undefined) {
85
- return this.defaultValue;
86
- }
87
- return this.isMultiple ? this._value : this._value[0];
88
- }
89
- /**
90
- * @ignore
91
- */
92
- ngAfterContentInit() {
93
- this.selectionDispatcher.notify((this._value ?? this._defaultValue), this.id);
94
- this.keyManager = new FocusKeyManager(this.items).withHomeAndEnd();
95
- if (this.orientation === 'horizontal') {
96
- this.keyManager.withHorizontalOrientation(this.dir?.value || 'ltr');
97
- }
98
- else {
99
- this.keyManager.withVerticalOrientation();
100
- }
101
- this.onValueChangeSubscription = merge(...this.items.map((item) => item.expandedChange)).subscribe(() => this.onValueChange.emit());
102
- }
103
- /**
104
- * @ignore
105
- */
106
- ngOnDestroy() {
107
- this.openCloseAllActions.complete();
108
- this.onValueChangeSubscription.unsubscribe();
109
- }
110
- /**
111
- * @ignore
112
- */
113
- handleKeydown(event) {
114
- if (!this.keyManager.activeItem) {
115
- this.keyManager.setFirstItemActive();
116
- }
117
- const activeItem = this.keyManager.activeItem;
118
- if ((event.keyCode === ENTER || event.keyCode === SPACE) &&
119
- !this.keyManager.isTyping() &&
120
- activeItem &&
121
- !activeItem.disabled) {
122
- event.preventDefault();
123
- activeItem.toggle();
124
- }
125
- else if (event.keyCode === TAB && event.shiftKey) {
126
- if (this.keyManager.activeItemIndex === 0)
127
- return;
128
- this.keyManager.setPreviousItemActive();
129
- event.preventDefault();
130
- }
131
- else if (event.keyCode === TAB) {
132
- if (this.keyManager.activeItemIndex === this.items.length - 1)
133
- return;
134
- this.keyManager.setNextItemActive();
135
- event.preventDefault();
136
- }
137
- else {
138
- this.keyManager.onKeydown(event);
139
- }
140
- }
141
- /** Opens all enabled accordion items in an accordion where multi is enabled.
142
- * @ignore
143
- */
144
- openAll() {
145
- if (this.isMultiple) {
146
- this.openCloseAllActions.next(true);
147
- }
148
- }
149
- /** Closes all enabled accordion items.
150
- * @ignore
151
- */
152
- closeAll() {
153
- this.openCloseAllActions.next(false);
154
- }
155
- /**
156
- * @ignore
157
- */
158
- setActiveItem(item) {
159
- this.keyManager.setActiveItem(item);
160
- }
161
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxAccordionRootDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
162
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.11", type: RdxAccordionRootDirective, isStandalone: true, selector: "[rdxAccordionRoot]", inputs: { disabled: ["disabled", "disabled", booleanAttribute], orientation: "orientation", defaultValue: "defaultValue", type: "type", collapsible: "collapsible", value: "value" }, outputs: { onValueChange: "onValueChange" }, host: { listeners: { "keydown": "handleKeydown($event)" }, properties: { "attr.data-orientation": "orientation" } }, providers: [
163
- { provide: RdxAccordionRootToken, useExisting: RdxAccordionRootDirective },
164
- { provide: UniqueSelectionDispatcher, useClass: UniqueSelectionDispatcher }
165
- ], queries: [{ propertyName: "items", predicate: i0.forwardRef(() => RdxAccordionItemDirective), descendants: true }], ngImport: i0 }); }
166
- }
167
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxAccordionRootDirective, decorators: [{
168
- type: Directive,
169
- args: [{
170
- selector: '[rdxAccordionRoot]',
171
- standalone: true,
172
- providers: [
173
- { provide: RdxAccordionRootToken, useExisting: RdxAccordionRootDirective },
174
- { provide: UniqueSelectionDispatcher, useClass: UniqueSelectionDispatcher }
175
- ],
176
- host: {
177
- '[attr.data-orientation]': 'orientation',
178
- '(keydown)': 'handleKeydown($event)'
179
- }
180
- }]
181
- }], propDecorators: { disabled: [{
182
- type: Input,
183
- args: [{ transform: booleanAttribute }]
184
- }], orientation: [{
185
- type: Input
186
- }], items: [{
187
- type: ContentChildren,
188
- args: [forwardRef(() => RdxAccordionItemDirective), { descendants: true }]
189
- }], defaultValue: [{
190
- type: Input
191
- }], type: [{
192
- type: Input
193
- }], collapsible: [{
194
- type: Input
195
- }], value: [{
196
- type: Input
197
- }], onValueChange: [{
198
- type: Output
199
- }] } });
200
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLXJvb3QuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcHJpbWl0aXZlcy9hY2NvcmRpb24vc3JjL2FjY29yZGlvbi1yb290LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFFSCxnQkFBZ0IsRUFDaEIsZUFBZSxFQUNmLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLE1BQU0sRUFDTixjQUFjLEVBQ2QsS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQ3BELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQUt2RSxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLGNBQWMsQ0FBNEIsMkJBQTJCLENBQUMsQ0FBQztBQUVoSCxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7QUFFZjs7R0FFRztBQWFILE1BQU0sT0FBTyx5QkFBeUI7SUFadEM7UUFhSTs7V0FFRztRQUNnQix3QkFBbUIsR0FBRyxNQUFNLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUMzRTs7V0FFRztRQUNnQixRQUFHLEdBQUcsTUFBTSxDQUFDLGNBQWMsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBT3BFOztXQUVHO1FBQ00sT0FB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QUksRUFBRTt3QkFDRix5QkFBeUIsRUFBRSxhQUFhO3dCQUN4QyxXQUFXLEVBQUUsdUJBQXVCO3FCQUN2QztpQkFDSjs4QkFrQzJDLFFBQVE7c0JBQS9DLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBUTdCLFdBQVc7c0JBQW5CLEtBQUs7Z0JBTU4sS0FBSztzQkFESixlQUFlO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRTtnQkFTL0UsWUFBWTtzQkFEZixLQUFLO2dCQWdCRyxJQUFJO3NCQUFaLEtBQUs7Z0JBS0csV0FBVztzQkFBbkIsS0FBSztnQkFRRixLQUFLO3NCQURSLEtBQUs7Z0JBcUJhLGFBQWE7c0JBQS9CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb2N1c0tleU1hbmFnZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBEaXJlY3Rpb25hbGl0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9iaWRpJztcbmltcG9ydCB7IFVuaXF1ZVNlbGVjdGlvbkRpc3BhdGNoZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgRU5URVIsIFNQQUNFLCBUQUIgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIGJvb2xlYW5BdHRyaWJ1dGUsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIERpcmVjdGl2ZSxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgZm9yd2FyZFJlZixcbiAgICBpbmplY3QsXG4gICAgSW5qZWN0aW9uVG9rZW4sXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE91dHB1dCxcbiAgICBRdWVyeUxpc3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBtZXJnZSwgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBSZHhBY2NvcmRpb25JdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi9hY2NvcmRpb24taXRlbS5kaXJlY3RpdmUnO1xuXG5leHBvcnQgdHlwZSBSZHhBY2NvcmRpb25UeXBlID0gJ3NpbmdsZScgfCAnbXVsdGlwbGUnO1xuZXhwb3J0IHR5cGUgUmR4QWNjb3JkaW9uT3JpZW50YXRpb24gPSAnaG9yaXpvbnRhbCcgfCAndmVydGljYWwnO1xuXG5leHBvcnQgY29uc3QgUmR4QWNjb3JkaW9uUm9vdFRva2VuID0gbmV3IEluamVjdGlvblRva2VuPFJkeEFjY29yZGlvblJvb3REaXJlY3RpdmU+KCdSZHhBY2NvcmRpb25Sb290RGlyZWN0aXZlJyk7XG5cbmxldCBuZXh0SWQgPSAwO1xuXG4vKipcbiAqIEBncm91cCBDb21wb25lbnRzXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3JkeEFjY29yZGlvblJvb3RdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6IFJkeEFjY29yZGlvblJvb3RUb2tlbiwgdXNlRXhpc3Rpbmc6IFJkeEFjY29yZGlvblJvb3REaXJlY3RpdmUgfSxcbiAgICAgICAgeyBwcm92aWRlOiBVbmlxdWVTZWxlY3Rpb25EaXNwYXRjaGVyLCB1c2VDbGFzczogVW5pcXVlU2VsZWN0aW9uRGlzcGF0Y2hlciB9XG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbYXR0ci5kYXRhLW9yaWVudGF0aW9uXSc6ICdvcmllbnRhdGlvbicsXG4gICAgICAgICcoa2V5ZG93biknOiAnaGFuZGxlS2V5ZG93bigkZXZlbnQpJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgUmR4QWNjb3JkaW9uUm9vdERpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSB7XG4gICAgLyoqXG4gICAgICogQGlnbm9yZVxuICAgICAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBzZWxlY3Rpb25EaXNwYXRjaGVyID0gaW5qZWN0KFVuaXF1ZVNlbGVjdGlvbkRpc3BhdGNoZXIpO1xuICAgIC8qKlxuICAgICAqIEBpZ25vcmVcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGlyID0gaW5qZWN0KERpcmVjdGlvbmFsaXR5LCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gICAgLyoqXG4gICAgICogQGlnbm9yZVxuICAgICAqL1xuICAgIHByb3RlY3RlZCBrZXlNYW5hZ2VyOiBGb2N1c0tleU1hbmFnZXI8UmR4QWNjb3JkaW9uSXRlbURpcmVjdGl2ZT47XG5cbiAgICAvKipcbiAgICAgKiBAaWdub3JlXG4gICAgICovXG4gICAgcmVhZG9ubHkgaWQ6IHN0cmluZyA9IGByZHgtYWNjb3JkaW9uLSR7bmV4dElkKyt9YDtcblxuICAgIC8qKlxuICAgICAqIEBpZ25vcmVcbiAgICAgKi9cbiAgICByZWFkb25seSBvcGVuQ2xvc2VBbGxBY3Rpb25zID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICAgIGdldCBpc011bHRpcGxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy50eXBlID09PSAnbXVsdGlwbGUnO1xuICAgIH1cblxuICAgIC8qKiBXaGV0aGVyIHRoZSBBY2NvcmRpb24gaXMgZGlzYWJsZWQuXG4gICAgICogQGRlZmF1bHRWYWx1ZSBmYWxzZVxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBkaXNhYmxlZDogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIFRoZSBvcmllbnRhdGlvbiBvZiB0aGUgYWNjb3JkaW9uLlxuICAgICAqXG4gICAgICogQGRlZmF1bHRWYWx1ZSAndmVydGljYWwnXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgb3JpZW50YXRpb246IFJkeEFjY29yZGlvbk9yaWVudGF0aW9uID0gJ3ZlcnRpY2FsJztcbiAgICAvKipcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBpZ25vcmVcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gUmR4QWNjb3JkaW9uSXRlbURpcmVjdGl2ZSksIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgICBpdGVtczogUXVlcnlMaXN0PFJkeEFjY29yZGlvbkl0ZW1EaXJlY3RpdmU+O1xuXG4gICAgLyoqXG4gICAgICogVGhlIHZhbHVlIG9mIHRoZSBpdGVtIHRvIGV4cGFuZCB3aGVuIGluaXRpYWxseSByZW5kZXJlZCBhbmQgdHlwZSBpcyBcInNpbmdsZVwiLlxuICAgICAqIFVzZSB3aGVuIHlvdSBkbyBub3QgbmVlZCB0byBjb250cm9sIHRoZSBzdGF0ZSBvZiB0aGUgaXRlbXMuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgZGVmYXVsdFZhbHVlKHZhbHVlOiBzdHJpbmdbXSB8IHN0cmluZykge1xuICAgICAgICBpZiAodmFsdWUgIT09IHRoaXMuX2RlZmF1bHRWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5fZGVmYXVsdFZhbHVlID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFt2YWx1ZV07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXQgZGVmYXVsdFZhbHVlKCk6IHN0cmluZ1tdIHwgc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNNdWx0aXBsZSA/IHRoaXMuX2RlZmF1bHRWYWx1ZSA6IHRoaXMuX2RlZmF1bHRWYWx1ZVswXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZXRlcm1pbmVzIHdoZXRoZXIgb25lIG9yIG11bHRpcGxlIGl0ZW1zIGNhbiBiZSBvcGVuZWQgYXQgdGhlIHNhbWUgdGltZS5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKiBAZGVmYXVsdFZhbHVlICdzaW5nbGUnXG4gICAgICovXG4gICAgQElucHV0KCkgdHlwZTogUmR4QWNjb3JkaW9uVHlwZSA9ICdzaW5nbGUnO1xuXG4gICAgLyoqXG4gICAgICogQGlnbm9yZVxuICAgICAqL1xuICAgIEBJbnB1dCgpIGNvbGxhcHNpYmxlID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBjb250cm9sbGVkIHZhbHVlIG9mIHRoZSBpdGVtIHRvIGV4cGFuZC5cbiAgICAgKlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHZhbHVlKHZhbHVlOiBzdHJpbmdbXSB8IHN0cmluZykge1xuICAgICAgICBpZiAodmFsdWUgIT09IHRoaXMuX3ZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLl92YWx1ZSA9IEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiBbdmFsdWVdO1xuXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGlvbkRpc3BhdGNoZXIubm90aWZ5KHRoaXMudmFsdWUgYXMgdW5rbm93biBhcyBzdHJpbmcsIHRoaXMuaWQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0IHZhbHVlKCk6IHN0cmluZ1tdIHwgc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMuX3ZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmRlZmF1bHRWYWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmlzTXVsdGlwbGUgPyB0aGlzLl92YWx1ZSA6IHRoaXMuX3ZhbHVlWzBdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEV2ZW50IGhhbmRsZXIgY2FsbGVkIHdoZW4gdGhlIGV4cGFuZGVkIHN0YXRlIG9mIGFuIGl0ZW0gY2hhbmdlcyBhbmQgdHlwZSBpcyBcIm11bHRpcGxlXCIuXG4gICAgICogQGdyb3VwIEVtaXRzXG4gICAgICovXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IG9uVmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIHByaXZhdGUgX3ZhbHVlPzogc3RyaW5nW107XG4gICAgcHJpdmF0ZSBfZGVmYXVsdFZhbHVlOiBzdHJpbmdbXSB8IHN0cmluZyA9IFtdO1xuXG4gICAgcHJpdmF0ZSBvblZhbHVlQ2hhbmdlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgICAvKipcbiAgICAgKiBAaWdub3JlXG4gICAgICovXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlbGVjdGlvbkRpc3BhdGNoZXIubm90aWZ5KCh0aGlzLl92YWx1ZSA/PyB0aGlzLl9kZWZhdWx0VmFsdWUpIGFzIHVua25vd24gYXMgc3RyaW5nLCB0aGlzLmlkKTtcblxuICAgICAgICB0aGlzLmtleU1hbmFnZXIgPSBuZXcgRm9jdXNLZXlNYW5hZ2VyKHRoaXMuaXRlbXMpLndpdGhIb21lQW5kRW5kKCk7XG5cbiAgICAgICAgaWYgKHRoaXMub3JpZW50YXRpb24gPT09ICdob3Jpem9udGFsJykge1xuICAgICAgICAgICAgdGhpcy5rZXlNYW5hZ2VyLndpdGhIb3Jpem9udGFsT3JpZW50YXRpb24odGhpcy5kaXI/LnZhbHVlIHx8ICdsdHInKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMua2V5TWFuYWdlci53aXRoVmVydGljYWxPcmllbnRhdGlvbigpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5vblZhbHVlQ2hhbmdlU3Vic2NyaXB0aW9uID0gbWVyZ2UoLi4udGhpcy5pdGVtcy5tYXAoKGl0ZW0pID0+IGl0ZW0uZXhwYW5kZWRDaGFuZ2UpKS5zdWJzY3JpYmUoKCkgPT5cbiAgICAgICAgICAgIHRoaXMub25WYWx1ZUNoYW5nZS5lbWl0KClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaWdub3JlXG4gICAgICovXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMub3BlbkNsb3NlQWxsQWN0aW9ucy5jb21wbGV0ZSgpO1xuICAgICAgICB0aGlzLm9uVmFsdWVDaGFuZ2VTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaWdub3JlXG4gICAgICovXG4gICAgaGFuZGxlS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBpZiAoIXRoaXMua2V5TWFuYWdlci5hY3RpdmVJdGVtKSB7XG4gICAgICAgICAgICB0aGlzLmtleU1hbmFnZXIuc2V0Rmlyc3RJdGVtQWN0aXZlKCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBhY3RpdmVJdGVtID0gdGhpcy5rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW07XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgKGV2ZW50LmtleUNvZGUgPT09IEVOVEVSIHx8IGV2ZW50LmtleUNvZGUgPT09IFNQQUNFKSAmJlxuICAgICAgICAgICAgIXRoaXMua2V5TWFuYWdlci5pc1R5cGluZygpICYmXG4gICAgICAgICAgICBhY3RpdmVJdGVtICYmXG4gICAgICAgICAgICAhYWN0aXZlSXRlbS5kaXNhYmxlZFxuICAgICAgICApIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBhY3RpdmVJdGVtLnRvZ2dsZSgpO1xuICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LmtleUNvZGUgPT09IFRBQiAmJiBldmVudC5zaGlmdEtleSkge1xuICAgICAgICAgICAgaWYgKHRoaXMua2V5TWFuYWdlci5hY3RpdmVJdGVtSW5kZXggPT09IDApIHJldHVybjtcblxuICAgICAgICAgICAgdGhpcy5rZXlNYW5hZ2VyLnNldFByZXZpb3VzSXRlbUFjdGl2ZSgpO1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfSBlbHNlIGlmIChldmVudC5rZXlDb2RlID09PSBUQUIpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmtleU1hbmFnZXIuYWN0aXZlSXRlbUluZGV4ID09PSB0aGlzLml0ZW1zLmxlbmd0aCAtIDEpIHJldHVybjtcblxuICAgICAgICAgICAgdGhpcy5rZXlNYW5hZ2VyLnNldE5leHRJdGVtQWN0aXZlKCk7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5rZXlNYW5hZ2VyLm9uS2V5ZG93bihldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogT3BlbnMgYWxsIGVuYWJsZWQgYWNjb3JkaW9uIGl0ZW1zIGluIGFuIGFjY29yZGlvbiB3aGVyZSBtdWx0aSBpcyBlbmFibGVkLlxuICAgICAqIEBpZ25vcmVcbiAgICAgKi9cbiAgICBvcGVuQWxsKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc011bHRpcGxlKSB7XG4gICAgICAgICAgICB0aGlzLm9wZW5DbG9zZUFsbEFjdGlvbnMubmV4dCh0cnVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBDbG9zZXMgYWxsIGVuYWJsZWQgYWNjb3JkaW9uIGl0ZW1zLlxuICAgICAqIEBpZ25vcmVcbiAgICAgKi9cbiAgICBjbG9zZUFsbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuQ2xvc2VBbGxBY3Rpb25zLm5leHQoZmFsc2UpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBpZ25vcmVcbiAgICAgKi9cbiAgICBzZXRBY3RpdmVJdGVtKGl0ZW06IFJkeEFjY29yZGlvbkl0ZW1EaXJlY3RpdmUpIHtcbiAgICAgICAgdGhpcy5rZXlNYW5hZ2VyLnNldEFjdGl2ZUl0ZW0oaXRlbSk7XG4gICAgfVxufVxuIl19
@@ -1,42 +0,0 @@
1
- import { Directive, ElementRef, inject } from '@angular/core';
2
- import { RdxAccordionItemDirective } from './accordion-item.directive';
3
- import { RdxAccordionRootDirective } from './accordion-root.directive';
4
- import * as i0 from "@angular/core";
5
- export class RdxAccordionTriggerDirective {
6
- constructor() {
7
- this.nativeElement = inject(ElementRef).nativeElement;
8
- this.accordionRoot = inject(RdxAccordionRootDirective);
9
- this.item = inject(RdxAccordionItemDirective);
10
- }
11
- /**
12
- * Fires when trigger clicked
13
- */
14
- onClick() {
15
- if (!this.accordionRoot.collapsible && this.item.expanded)
16
- return;
17
- this.item.toggle();
18
- this.accordionRoot.setActiveItem(this.item);
19
- }
20
- focus() {
21
- this.nativeElement.focus();
22
- }
23
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxAccordionTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
24
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: RdxAccordionTriggerDirective, isStandalone: true, selector: "[rdxAccordionTrigger]", host: { listeners: { "click": "onClick()" }, properties: { "attr.role": "\"button\"", "attr.aria-expanded": "item.expanded", "attr.data-state": "item.dataState", "attr.data-disabled": "item.disabled", "attr.disabled": "item.disabled ? \"\" : null", "attr.data-orientation": "item.orientation" } }, ngImport: i0 }); }
25
- }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxAccordionTriggerDirective, decorators: [{
27
- type: Directive,
28
- args: [{
29
- selector: '[rdxAccordionTrigger]',
30
- standalone: true,
31
- host: {
32
- '[attr.role]': '"button"',
33
- '[attr.aria-expanded]': 'item.expanded',
34
- '[attr.data-state]': 'item.dataState',
35
- '[attr.data-disabled]': 'item.disabled',
36
- '[attr.disabled]': 'item.disabled ? "" : null',
37
- '[attr.data-orientation]': 'item.orientation',
38
- '(click)': 'onClick()'
39
- }
40
- }]
41
- }] });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLXRyaWdnZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcHJpbWl0aXZlcy9hY2NvcmRpb24vc3JjL2FjY29yZGlvbi10cmlnZ2VyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdkUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBZXZFLE1BQU0sT0FBTyw0QkFBNEI7SUFiekM7UUFjdUIsa0JBQWEsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsYUFBYSxDQUFDO1FBQ2pELGtCQUFhLEdBQUcsTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDbEQsU0FBSSxHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0tBZ0IvRDtJQWRHOztPQUVHO0lBQ0gsT0FBTztRQUNILElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFPO1FBRWxFLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFFbkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxLQUFLO1FBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMvQixDQUFDOytHQWxCUSw0QkFBNEI7bUdBQTVCLDRCQUE0Qjs7NEZBQTVCLDRCQUE0QjtrQkFieEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsSUFBSSxFQUFFO3dCQUNGLGFBQWEsRUFBRSxVQUFVO3dCQUN6QixzQkFBc0IsRUFBRSxlQUFlO3dCQUN2QyxtQkFBbUIsRUFBRSxnQkFBZ0I7d0JBQ3JDLHNCQUFzQixFQUFFLGVBQWU7d0JBQ3ZDLGlCQUFpQixFQUFFLDJCQUEyQjt3QkFDOUMseUJBQXlCLEVBQUUsa0JBQWtCO3dCQUM3QyxTQUFTLEVBQUUsV0FBVztxQkFDekI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmR4QWNjb3JkaW9uSXRlbURpcmVjdGl2ZSB9IGZyb20gJy4vYWNjb3JkaW9uLWl0ZW0uZGlyZWN0aXZlJztcbmltcG9ydCB7IFJkeEFjY29yZGlvblJvb3REaXJlY3RpdmUgfSBmcm9tICcuL2FjY29yZGlvbi1yb290LmRpcmVjdGl2ZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3JkeEFjY29yZGlvblRyaWdnZXJdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1thdHRyLnJvbGVdJzogJ1wiYnV0dG9uXCInLFxuICAgICAgICAnW2F0dHIuYXJpYS1leHBhbmRlZF0nOiAnaXRlbS5leHBhbmRlZCcsXG4gICAgICAgICdbYXR0ci5kYXRhLXN0YXRlXSc6ICdpdGVtLmRhdGFTdGF0ZScsXG4gICAgICAgICdbYXR0ci5kYXRhLWRpc2FibGVkXSc6ICdpdGVtLmRpc2FibGVkJyxcbiAgICAgICAgJ1thdHRyLmRpc2FibGVkXSc6ICdpdGVtLmRpc2FibGVkID8gXCJcIiA6IG51bGwnLFxuICAgICAgICAnW2F0dHIuZGF0YS1vcmllbnRhdGlvbl0nOiAnaXRlbS5vcmllbnRhdGlvbicsXG4gICAgICAgICcoY2xpY2spJzogJ29uQ2xpY2soKSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFJkeEFjY29yZGlvblRyaWdnZXJEaXJlY3RpdmUge1xuICAgIHByb3RlY3RlZCByZWFkb25seSBuYXRpdmVFbGVtZW50ID0gaW5qZWN0KEVsZW1lbnRSZWYpLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGFjY29yZGlvblJvb3QgPSBpbmplY3QoUmR4QWNjb3JkaW9uUm9vdERpcmVjdGl2ZSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGl0ZW0gPSBpbmplY3QoUmR4QWNjb3JkaW9uSXRlbURpcmVjdGl2ZSk7XG5cbiAgICAvKipcbiAgICAgKiBGaXJlcyB3aGVuIHRyaWdnZXIgY2xpY2tlZFxuICAgICAqL1xuICAgIG9uQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5hY2NvcmRpb25Sb290LmNvbGxhcHNpYmxlICYmIHRoaXMuaXRlbS5leHBhbmRlZCkgcmV0dXJuO1xuXG4gICAgICAgIHRoaXMuaXRlbS50b2dnbGUoKTtcblxuICAgICAgICB0aGlzLmFjY29yZGlvblJvb3Quc2V0QWN0aXZlSXRlbSh0aGlzLml0ZW0pO1xuICAgIH1cblxuICAgIGZvY3VzKCkge1xuICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG59XG4iXX0=
@@ -1,41 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { RdxAlertDialogCancelDirective } from './src/alert-dialog-cancel.directive';
3
- import { RdxAlertDialogContentDirective } from './src/alert-dialog-content.directive';
4
- import { RdxAlertDialogRootDirective } from './src/alert-dialog-root.directive';
5
- import { RdxAlertDialogTitleDirective } from './src/alert-dialog-title.directive';
6
- import { RdxAlertDialogTriggerDirective } from './src/alert-dialog-trigger.directive';
7
- import * as i0 from "@angular/core";
8
- export * from './src/alert-dialog-cancel.directive';
9
- export * from './src/alert-dialog-content.directive';
10
- export * from './src/alert-dialog-root.directive';
11
- export * from './src/alert-dialog-title.directive';
12
- export * from './src/alert-dialog-trigger.directive';
13
- export * from './src/alert-dialog.service';
14
- const _imports = [
15
- RdxAlertDialogRootDirective,
16
- RdxAlertDialogContentDirective,
17
- RdxAlertDialogCancelDirective,
18
- RdxAlertDialogTriggerDirective,
19
- RdxAlertDialogTitleDirective
20
- ];
21
- export class RdxAlertDialogModule {
22
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxAlertDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
23
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.11", ngImport: i0, type: RdxAlertDialogModule, imports: [RdxAlertDialogRootDirective,
24
- RdxAlertDialogContentDirective,
25
- RdxAlertDialogCancelDirective,
26
- RdxAlertDialogTriggerDirective,
27
- RdxAlertDialogTitleDirective], exports: [RdxAlertDialogRootDirective,
28
- RdxAlertDialogContentDirective,
29
- RdxAlertDialogCancelDirective,
30
- RdxAlertDialogTriggerDirective,
31
- RdxAlertDialogTitleDirective] }); }
32
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxAlertDialogModule }); }
33
- }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxAlertDialogModule, decorators: [{
35
- type: NgModule,
36
- args: [{
37
- imports: [..._imports],
38
- exports: [..._imports]
39
- }]
40
- }] });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL2FsZXJ0LWRpYWxvZy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOztBQUV0RixjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsc0NBQXNDLENBQUM7QUFFckQsY0FBYyw0QkFBNEIsQ0FBQztBQUUzQyxNQUFNLFFBQVEsR0FBRztJQUNiLDJCQUEyQjtJQUMzQiw4QkFBOEI7SUFDOUIsNkJBQTZCO0lBQzdCLDhCQUE4QjtJQUM5Qiw0QkFBNEI7Q0FDL0IsQ0FBQztBQU1GLE1BQU0sT0FBTyxvQkFBb0I7K0dBQXBCLG9CQUFvQjtnSEFBcEIsb0JBQW9CLFlBWDdCLDJCQUEyQjtZQUMzQiw4QkFBOEI7WUFDOUIsNkJBQTZCO1lBQzdCLDhCQUE4QjtZQUM5Qiw0QkFBNEIsYUFKNUIsMkJBQTJCO1lBQzNCLDhCQUE4QjtZQUM5Qiw2QkFBNkI7WUFDN0IsOEJBQThCO1lBQzlCLDRCQUE0QjtnSEFPbkIsb0JBQW9COzs0RkFBcEIsb0JBQW9CO2tCQUpoQyxRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLEdBQUcsUUFBUSxDQUFDO29CQUN0QixPQUFPLEVBQUUsQ0FBQyxHQUFHLFFBQVEsQ0FBQztpQkFDekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmR4QWxlcnREaWFsb2dDYW5jZWxEaXJlY3RpdmUgfSBmcm9tICcuL3NyYy9hbGVydC1kaWFsb2ctY2FuY2VsLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBSZHhBbGVydERpYWxvZ0NvbnRlbnREaXJlY3RpdmUgfSBmcm9tICcuL3NyYy9hbGVydC1kaWFsb2ctY29udGVudC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUmR4QWxlcnREaWFsb2dSb290RGlyZWN0aXZlIH0gZnJvbSAnLi9zcmMvYWxlcnQtZGlhbG9nLXJvb3QuZGlyZWN0aXZlJztcbmltcG9ydCB7IFJkeEFsZXJ0RGlhbG9nVGl0bGVEaXJlY3RpdmUgfSBmcm9tICcuL3NyYy9hbGVydC1kaWFsb2ctdGl0bGUuZGlyZWN0aXZlJztcbmltcG9ydCB7IFJkeEFsZXJ0RGlhbG9nVHJpZ2dlckRpcmVjdGl2ZSB9IGZyb20gJy4vc3JjL2FsZXJ0LWRpYWxvZy10cmlnZ2VyLmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FsZXJ0LWRpYWxvZy1jYW5jZWwuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FsZXJ0LWRpYWxvZy1jb250ZW50LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hbGVydC1kaWFsb2ctcm9vdC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYWxlcnQtZGlhbG9nLXRpdGxlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hbGVydC1kaWFsb2ctdHJpZ2dlci5kaXJlY3RpdmUnO1xuXG5leHBvcnQgKiBmcm9tICcuL3NyYy9hbGVydC1kaWFsb2cuc2VydmljZSc7XG5cbmNvbnN0IF9pbXBvcnRzID0gW1xuICAgIFJkeEFsZXJ0RGlhbG9nUm9vdERpcmVjdGl2ZSxcbiAgICBSZHhBbGVydERpYWxvZ0NvbnRlbnREaXJlY3RpdmUsXG4gICAgUmR4QWxlcnREaWFsb2dDYW5jZWxEaXJlY3RpdmUsXG4gICAgUmR4QWxlcnREaWFsb2dUcmlnZ2VyRGlyZWN0aXZlLFxuICAgIFJkeEFsZXJ0RGlhbG9nVGl0bGVEaXJlY3RpdmVcbl07XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogWy4uLl9pbXBvcnRzXSxcbiAgICBleHBvcnRzOiBbLi4uX2ltcG9ydHNdXG59KVxuZXhwb3J0IGNsYXNzIFJkeEFsZXJ0RGlhbG9nTW9kdWxlIHt9XG4iXX0=
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaXgtbmctcHJpbWl0aXZlcy1hbGVydC1kaWFsb2cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL2FsZXJ0LWRpYWxvZy9yYWRpeC1uZy1wcmltaXRpdmVzLWFsZXJ0LWRpYWxvZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==