@radix-ng/primitives 0.12.0 → 0.12.2

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 (492) hide show
  1. package/README.md +6 -2
  2. package/accordion/src/accordion-content.directive.d.ts +11 -0
  3. package/accordion/src/accordion-header.directive.d.ts +7 -0
  4. package/accordion/src/accordion-item.directive.d.ts +82 -0
  5. package/accordion/src/accordion-root.directive.d.ts +93 -0
  6. package/accordion/src/accordion-trigger.directive.d.ts +15 -0
  7. package/alert-dialog/{index.ts → index.d.ts} +0 -1
  8. package/alert-dialog/src/alert-dialog-cancel.directive.d.ts +7 -0
  9. package/alert-dialog/src/alert-dialog-content.directive.d.ts +9 -0
  10. package/alert-dialog/src/alert-dialog-root.directive.d.ts +9 -0
  11. package/alert-dialog/src/alert-dialog-title.directive.d.ts +5 -0
  12. package/alert-dialog/src/alert-dialog-trigger.directive.d.ts +7 -0
  13. package/alert-dialog/src/alert-dialog.service.d.ts +14 -0
  14. package/avatar/src/avatar-fallback.directive.d.ts +28 -0
  15. package/avatar/src/avatar-image.directive.d.ts +21 -0
  16. package/avatar/src/avatar-root.directive.d.ts +21 -0
  17. package/avatar/src/avatar.config.d.ts +13 -0
  18. package/checkbox/src/checkbox-button.directive.d.ts +8 -0
  19. package/checkbox/src/checkbox-indicator.directive.d.ts +6 -0
  20. package/checkbox/src/checkbox-input.directive.d.ts +9 -0
  21. package/checkbox/src/checkbox.directive.d.ts +75 -0
  22. package/checkbox/src/checkbox.token.d.ts +4 -0
  23. package/collapsible/src/collapsible-content.directive.d.ts +17 -0
  24. package/collapsible/src/collapsible-content.token.d.ts +3 -0
  25. package/collapsible/src/collapsible-root.directive.d.ts +55 -0
  26. package/collapsible/src/collapsible-trigger.directive.d.ts +26 -0
  27. package/compodoc/documentation.json +13895 -0
  28. package/context-menu/src/context-menu-content.directive.d.ts +15 -0
  29. package/context-menu/src/context-menu-item-checkbox.directive.d.ts +9 -0
  30. package/context-menu/src/context-menu-item-indicator.directive.d.ts +7 -0
  31. package/context-menu/src/context-menu-item-radio-group.directive.d.ts +12 -0
  32. package/context-menu/src/context-menu-item-radio.directive.d.ts +19 -0
  33. package/context-menu/src/context-menu-item-selectable.d.ts +12 -0
  34. package/context-menu/src/context-menu-item.directive.d.ts +17 -0
  35. package/context-menu/src/context-menu-label.directive.d.ts +5 -0
  36. package/context-menu/src/context-menu-separator.directive.d.ts +6 -0
  37. package/context-menu/src/context-menu-trigger.directive.d.ts +31 -0
  38. package/dialog/index.d.ts +23 -0
  39. package/dialog/src/dialog-close.directive.d.ts +7 -0
  40. package/dialog/src/dialog-content.directive.d.ts +21 -0
  41. package/dialog/src/dialog-description.directive.d.ts +5 -0
  42. package/dialog/src/dialog-dismiss.directive.d.ts +7 -0
  43. package/dialog/src/dialog-ref.d.ts +37 -0
  44. package/dialog/src/dialog-title.directive.d.ts +5 -0
  45. package/dialog/src/dialog-trigger.directive.d.ts +16 -0
  46. package/dialog/src/{dialog.config.ts → dialog.config.d.ts} +17 -33
  47. package/dialog/src/dialog.injectors.d.ts +4 -0
  48. package/dialog/src/{dialog.providers.ts → dialog.providers.d.ts} +3 -11
  49. package/dialog/src/dialog.service.d.ts +26 -0
  50. package/dropdown-menu/src/dropdown-menu-content.directive.d.ts +15 -0
  51. package/dropdown-menu/src/dropdown-menu-item-checkbox.directive.d.ts +9 -0
  52. package/dropdown-menu/src/dropdown-menu-item-indicator.directive.d.ts +7 -0
  53. package/dropdown-menu/src/dropdown-menu-item-radio-group.directive.d.ts +12 -0
  54. package/dropdown-menu/src/dropdown-menu-item-radio.directive.d.ts +19 -0
  55. package/dropdown-menu/src/dropdown-menu-item-selectable.d.ts +12 -0
  56. package/dropdown-menu/src/dropdown-menu-item.directive.d.ts +17 -0
  57. package/dropdown-menu/src/dropdown-menu-label.directive.d.ts +5 -0
  58. package/dropdown-menu/src/dropdown-menu-separator.directive.d.ts +6 -0
  59. package/dropdown-menu/src/dropdown-menu-trigger.directive.d.ts +46 -0
  60. package/esm2022/accordion/index.mjs +6 -0
  61. package/esm2022/accordion/radix-ng-primitives-accordion.mjs +5 -0
  62. package/esm2022/accordion/src/accordion-content.directive.mjs +42 -0
  63. package/esm2022/accordion/src/accordion-header.directive.mjs +23 -0
  64. package/esm2022/accordion/src/accordion-item.directive.mjs +187 -0
  65. package/esm2022/accordion/src/accordion-root.directive.mjs +172 -0
  66. package/esm2022/accordion/src/accordion-trigger.directive.mjs +42 -0
  67. package/esm2022/alert-dialog/index.mjs +7 -0
  68. package/esm2022/alert-dialog/radix-ng-primitives-alert-dialog.mjs +5 -0
  69. package/esm2022/alert-dialog/src/alert-dialog-cancel.directive.mjs +24 -0
  70. package/esm2022/alert-dialog/src/alert-dialog-content.directive.mjs +34 -0
  71. package/esm2022/alert-dialog/src/alert-dialog-root.directive.mjs +24 -0
  72. package/esm2022/alert-dialog/src/alert-dialog-title.directive.mjs +14 -0
  73. package/esm2022/alert-dialog/src/alert-dialog-trigger.directive.mjs +24 -0
  74. package/esm2022/alert-dialog/src/alert-dialog.service.mjs +46 -0
  75. package/esm2022/avatar/index.mjs +5 -0
  76. package/esm2022/avatar/radix-ng-primitives-avatar.mjs +5 -0
  77. package/esm2022/avatar/src/avatar-fallback.directive.mjs +60 -0
  78. package/esm2022/avatar/src/avatar-image.directive.mjs +52 -0
  79. package/esm2022/avatar/src/avatar-root.directive.mjs +38 -0
  80. package/esm2022/avatar/src/avatar.config.mjs +17 -0
  81. package/esm2022/checkbox/index.mjs +6 -0
  82. package/esm2022/checkbox/radix-ng-primitives-checkbox.mjs +5 -0
  83. package/esm2022/checkbox/src/checkbox-button.directive.mjs +33 -0
  84. package/esm2022/checkbox/src/checkbox-indicator.directive.mjs +24 -0
  85. package/esm2022/checkbox/src/checkbox-input.directive.mjs +41 -0
  86. package/esm2022/checkbox/src/checkbox.directive.mjs +141 -0
  87. package/esm2022/checkbox/src/checkbox.token.mjs +6 -0
  88. package/esm2022/collapsible/index.mjs +4 -0
  89. package/esm2022/collapsible/radix-ng-primitives-collapsible.mjs +5 -0
  90. package/esm2022/collapsible/src/collapsible-content.directive.mjs +45 -0
  91. package/esm2022/collapsible/src/collapsible-content.token.mjs +3 -0
  92. package/esm2022/collapsible/src/collapsible-root.directive.mjs +118 -0
  93. package/esm2022/collapsible/src/collapsible-trigger.directive.mjs +49 -0
  94. package/esm2022/context-menu/index.mjs +11 -0
  95. package/esm2022/context-menu/radix-ng-primitives-context-menu.mjs +5 -0
  96. package/esm2022/context-menu/src/context-menu-content.directive.mjs +56 -0
  97. package/esm2022/context-menu/src/context-menu-item-checkbox.directive.mjs +39 -0
  98. package/esm2022/context-menu/src/context-menu-item-indicator.directive.mjs +22 -0
  99. package/esm2022/context-menu/src/context-menu-item-radio-group.directive.mjs +37 -0
  100. package/esm2022/context-menu/src/context-menu-item-radio.directive.mjs +67 -0
  101. package/esm2022/context-menu/src/context-menu-item-selectable.mjs +31 -0
  102. package/esm2022/context-menu/src/context-menu-item.directive.mjs +70 -0
  103. package/esm2022/context-menu/src/context-menu-label.directive.mjs +14 -0
  104. package/esm2022/context-menu/src/context-menu-separator.directive.mjs +21 -0
  105. package/esm2022/context-menu/src/context-menu-trigger.directive.mjs +92 -0
  106. package/esm2022/dialog/index.mjs +47 -0
  107. package/esm2022/dialog/radix-ng-primitives-dialog.mjs +5 -0
  108. package/esm2022/dialog/src/dialog-close.directive.mjs +25 -0
  109. package/esm2022/dialog/src/dialog-content.directive.mjs +46 -0
  110. package/esm2022/dialog/src/dialog-description.directive.mjs +14 -0
  111. package/esm2022/dialog/src/dialog-dismiss.directive.mjs +25 -0
  112. package/esm2022/dialog/src/dialog-ref.mjs +46 -0
  113. package/esm2022/dialog/src/dialog-title.directive.mjs +14 -0
  114. package/esm2022/dialog/src/dialog-trigger.directive.mjs +54 -0
  115. package/esm2022/dialog/src/dialog.config.mjs +6 -0
  116. package/esm2022/dialog/src/dialog.injectors.mjs +10 -0
  117. package/esm2022/dialog/src/dialog.providers.mjs +26 -0
  118. package/esm2022/dialog/src/dialog.service.mjs +87 -0
  119. package/esm2022/dropdown-menu/index.mjs +11 -0
  120. package/esm2022/dropdown-menu/radix-ng-primitives-dropdown-menu.mjs +5 -0
  121. package/esm2022/dropdown-menu/src/dropdown-menu-content.directive.mjs +56 -0
  122. package/esm2022/dropdown-menu/src/dropdown-menu-item-checkbox.directive.mjs +39 -0
  123. package/esm2022/dropdown-menu/src/dropdown-menu-item-indicator.directive.mjs +22 -0
  124. package/esm2022/dropdown-menu/src/dropdown-menu-item-radio-group.directive.mjs +37 -0
  125. package/esm2022/dropdown-menu/src/dropdown-menu-item-radio.directive.mjs +67 -0
  126. package/esm2022/dropdown-menu/src/dropdown-menu-item-selectable.mjs +31 -0
  127. package/esm2022/dropdown-menu/src/dropdown-menu-item.directive.mjs +71 -0
  128. package/esm2022/dropdown-menu/src/dropdown-menu-label.directive.mjs +14 -0
  129. package/esm2022/dropdown-menu/src/dropdown-menu-separator.directive.mjs +21 -0
  130. package/esm2022/dropdown-menu/src/dropdown-menu-trigger.directive.mjs +179 -0
  131. package/esm2022/index.mjs +2 -0
  132. package/esm2022/label/index.mjs +2 -0
  133. package/esm2022/label/radix-ng-primitives-label.mjs +5 -0
  134. package/esm2022/label/src/label.directive.mjs +59 -0
  135. package/esm2022/menu/index.mjs +45 -0
  136. package/esm2022/menu/radix-ng-primitives-menu.mjs +5 -0
  137. package/esm2022/menu/src/menu-content.directive.mjs +17 -0
  138. package/esm2022/menu/src/menu-directive.mjs +18 -0
  139. package/esm2022/menu/src/menu-group.directive.mjs +20 -0
  140. package/esm2022/menu/src/menu-item.directive.mjs +46 -0
  141. package/esm2022/menu/src/menu-label.directive.mjs +14 -0
  142. package/esm2022/menu/src/menu-separator.directive.mjs +21 -0
  143. package/esm2022/menubar/index.mjs +60 -0
  144. package/esm2022/menubar/radix-ng-primitives-menubar.mjs +5 -0
  145. package/esm2022/menubar/src/menubar-content.directive.mjs +17 -0
  146. package/esm2022/menubar/src/menubar-item-checkbox.directive.mjs +34 -0
  147. package/esm2022/menubar/src/menubar-item-indicator.directive.mjs +17 -0
  148. package/esm2022/menubar/src/menubar-item-radio.directive.mjs +35 -0
  149. package/esm2022/menubar/src/menubar-item.directive.mjs +20 -0
  150. package/esm2022/menubar/src/menubar-radio-group.directive.mjs +17 -0
  151. package/esm2022/menubar/src/menubar-root.directive.mjs +24 -0
  152. package/esm2022/menubar/src/menubar-separator.directive.mjs +17 -0
  153. package/esm2022/menubar/src/menubar-trigger.directive.mjs +45 -0
  154. package/esm2022/progress/index.mjs +3 -0
  155. package/esm2022/progress/radix-ng-primitives-progress.mjs +5 -0
  156. package/esm2022/progress/src/progress-indicator.directive.mjs +34 -0
  157. package/esm2022/progress/src/progress-root.directive.mjs +127 -0
  158. package/esm2022/radio/index.mjs +4 -0
  159. package/esm2022/radio/radix-ng-primitives-radio.mjs +5 -0
  160. package/esm2022/radio/src/radio-indicator.directive.mjs +25 -0
  161. package/esm2022/radio/src/radio-item.directive.mjs +70 -0
  162. package/esm2022/radio/src/radio-root.directive.mjs +194 -0
  163. package/esm2022/radio/src/radio-tokens.mjs +3 -0
  164. package/esm2022/radix-ng-primitives.mjs +5 -0
  165. package/esm2022/separator/index.mjs +2 -0
  166. package/esm2022/separator/radix-ng-primitives-separator.mjs +5 -0
  167. package/esm2022/separator/src/separator.directive.mjs +32 -0
  168. package/esm2022/switch/index.mjs +30 -0
  169. package/esm2022/switch/radix-ng-primitives-switch.mjs +5 -0
  170. package/esm2022/switch/src/switch-input.directive.mjs +32 -0
  171. package/esm2022/switch/src/switch-root.directive.mjs +95 -0
  172. package/esm2022/switch/src/switch-thumb.directive.mjs +23 -0
  173. package/esm2022/tabs/index.mjs +38 -0
  174. package/esm2022/tabs/radix-ng-primitives-tabs.mjs +5 -0
  175. package/esm2022/tabs/src/tabs-content.directive.mjs +29 -0
  176. package/esm2022/tabs/src/tabs-context.service.mjs +43 -0
  177. package/esm2022/tabs/src/tabs-list.directive.mjs +23 -0
  178. package/esm2022/tabs/src/tabs-root.directive.mjs +54 -0
  179. package/esm2022/tabs/src/tabs-trigger.directive.mjs +52 -0
  180. package/esm2022/toggle/index.mjs +2 -0
  181. package/esm2022/toggle/radix-ng-primitives-toggle.mjs +5 -0
  182. package/esm2022/toggle/src/toggle.directive.mjs +39 -0
  183. package/esm2022/toggle-group/index.mjs +6 -0
  184. package/esm2022/toggle-group/radix-ng-primitives-toggle-group.mjs +5 -0
  185. package/esm2022/toggle-group/src/toggle-group-button.directive.mjs +75 -0
  186. package/esm2022/toggle-group/src/toggle-group-button.token.mjs +6 -0
  187. package/esm2022/toggle-group/src/toggle-group-multi.directive.mjs +143 -0
  188. package/esm2022/toggle-group/src/toggle-group.directive.mjs +134 -0
  189. package/esm2022/toggle-group/src/toggle-group.token.mjs +6 -0
  190. package/fesm2022/radix-ng-primitives-accordion.mjs +455 -0
  191. package/fesm2022/radix-ng-primitives-accordion.mjs.map +1 -0
  192. package/fesm2022/radix-ng-primitives-alert-dialog.mjs +159 -0
  193. package/fesm2022/radix-ng-primitives-alert-dialog.mjs.map +1 -0
  194. package/fesm2022/radix-ng-primitives-avatar.mjs +166 -0
  195. package/fesm2022/radix-ng-primitives-avatar.mjs.map +1 -0
  196. package/fesm2022/radix-ng-primitives-checkbox.mjs +241 -0
  197. package/fesm2022/radix-ng-primitives-checkbox.mjs.map +1 -0
  198. package/fesm2022/radix-ng-primitives-collapsible.mjs +213 -0
  199. package/fesm2022/radix-ng-primitives-collapsible.mjs.map +1 -0
  200. package/fesm2022/radix-ng-primitives-context-menu.mjs +420 -0
  201. package/fesm2022/radix-ng-primitives-context-menu.mjs.map +1 -0
  202. package/fesm2022/radix-ng-primitives-dialog.mjs +361 -0
  203. package/fesm2022/radix-ng-primitives-dialog.mjs.map +1 -0
  204. package/fesm2022/radix-ng-primitives-dropdown-menu.mjs +509 -0
  205. package/fesm2022/radix-ng-primitives-dropdown-menu.mjs.map +1 -0
  206. package/fesm2022/radix-ng-primitives-label.mjs +66 -0
  207. package/fesm2022/radix-ng-primitives-label.mjs.map +1 -0
  208. package/fesm2022/radix-ng-primitives-menu.mjs +158 -0
  209. package/fesm2022/radix-ng-primitives-menu.mjs.map +1 -0
  210. package/fesm2022/radix-ng-primitives-menubar.mjs +245 -0
  211. package/fesm2022/radix-ng-primitives-menubar.mjs.map +1 -0
  212. package/fesm2022/radix-ng-primitives-progress.mjs +165 -0
  213. package/fesm2022/radix-ng-primitives-progress.mjs.map +1 -0
  214. package/fesm2022/radix-ng-primitives-radio.mjs +289 -0
  215. package/fesm2022/radix-ng-primitives-radio.mjs.map +1 -0
  216. package/fesm2022/radix-ng-primitives-separator.mjs +39 -0
  217. package/fesm2022/radix-ng-primitives-separator.mjs.map +1 -0
  218. package/fesm2022/radix-ng-primitives-switch.mjs +173 -0
  219. package/fesm2022/radix-ng-primitives-switch.mjs.map +1 -0
  220. package/fesm2022/radix-ng-primitives-tabs.mjs +222 -0
  221. package/fesm2022/radix-ng-primitives-tabs.mjs.map +1 -0
  222. package/fesm2022/radix-ng-primitives-toggle-group.mjs +358 -0
  223. package/fesm2022/radix-ng-primitives-toggle-group.mjs.map +1 -0
  224. package/fesm2022/radix-ng-primitives-toggle.mjs +46 -0
  225. package/fesm2022/radix-ng-primitives-toggle.mjs.map +1 -0
  226. package/fesm2022/radix-ng-primitives.mjs +4 -0
  227. package/fesm2022/radix-ng-primitives.mjs.map +1 -0
  228. package/label/src/label.directive.d.ts +29 -0
  229. package/menu/index.d.ts +18 -0
  230. package/menu/src/menu-content.directive.d.ts +6 -0
  231. package/menu/src/menu-directive.d.ts +6 -0
  232. package/menu/src/menu-group.directive.d.ts +6 -0
  233. package/menu/src/menu-item.directive.d.ts +12 -0
  234. package/menu/src/menu-label.directive.d.ts +5 -0
  235. package/menu/src/menu-separator.directive.d.ts +6 -0
  236. package/menubar/index.d.ts +24 -0
  237. package/menubar/src/menubar-content.directive.d.ts +6 -0
  238. package/menubar/src/menubar-item-checkbox.directive.d.ts +14 -0
  239. package/menubar/src/menubar-item-indicator.directive.d.ts +5 -0
  240. package/menubar/src/menubar-item-radio.directive.d.ts +14 -0
  241. package/menubar/src/menubar-item.directive.d.ts +8 -0
  242. package/menubar/src/menubar-radio-group.directive.d.ts +6 -0
  243. package/menubar/src/menubar-root.directive.d.ts +7 -0
  244. package/menubar/src/menubar-separator.directive.d.ts +6 -0
  245. package/menubar/src/menubar-trigger.directive.d.ts +11 -0
  246. package/package.json +124 -4
  247. package/progress/{index.ts → index.d.ts} +0 -1
  248. package/progress/src/progress-indicator.directive.d.ts +16 -0
  249. package/progress/src/progress-root.directive.d.ts +63 -0
  250. package/radio/{index.ts → index.d.ts} +0 -1
  251. package/radio/src/radio-indicator.directive.d.ts +9 -0
  252. package/radio/src/radio-item.directive.d.ts +21 -0
  253. package/radio/src/radio-root.directive.d.ts +72 -0
  254. package/radio/src/{radio-tokens.ts → radio-tokens.d.ts} +1 -5
  255. package/separator/src/separator.directive.d.ts +22 -0
  256. package/switch/index.d.ts +13 -0
  257. package/switch/src/switch-input.directive.d.ts +6 -0
  258. package/switch/src/switch-root.directive.d.ts +51 -0
  259. package/switch/src/switch-thumb.directive.d.ts +6 -0
  260. package/tabs/index.d.ts +15 -0
  261. package/tabs/src/tabs-content.directive.d.ts +8 -0
  262. package/tabs/src/tabs-context.service.d.ts +22 -0
  263. package/tabs/src/tabs-list.directive.d.ts +6 -0
  264. package/tabs/src/tabs-root.directive.d.ts +37 -0
  265. package/tabs/src/tabs-trigger.directive.d.ts +19 -0
  266. package/toggle/src/toggle.directive.d.ts +30 -0
  267. package/toggle-group/src/toggle-group-button.directive.d.ts +39 -0
  268. package/toggle-group/src/toggle-group-button.token.d.ts +4 -0
  269. package/toggle-group/src/toggle-group-multi.directive.d.ts +93 -0
  270. package/toggle-group/src/toggle-group.directive.d.ts +84 -0
  271. package/toggle-group/src/toggle-group.token.d.ts +5 -0
  272. package/.compodocrc.json +0 -12
  273. package/CHANGELOG.md +0 -182
  274. package/accordion/__tests__/accordion-content.directive.spec.ts +0 -8
  275. package/accordion/__tests__/accordion-header.directive.spec.ts +0 -8
  276. package/accordion/__tests__/accordion-item.directive.spec.ts +0 -8
  277. package/accordion/__tests__/accordion-root.directive.spec.ts +0 -8
  278. package/accordion/__tests__/accordion-trigger.directive.spec.ts +0 -8
  279. package/accordion/ng-package.json +0 -5
  280. package/accordion/src/accordion-content.directive.ts +0 -46
  281. package/accordion/src/accordion-header.directive.ts +0 -15
  282. package/accordion/src/accordion-item.directive.ts +0 -216
  283. package/accordion/src/accordion-root.directive.ts +0 -205
  284. package/accordion/src/accordion-trigger.directive.ts +0 -37
  285. package/accordion/stories/accordion.docs.mdx +0 -77
  286. package/accordion/stories/accordion.stories.ts +0 -340
  287. package/alert-dialog/ng-package.json +0 -5
  288. package/alert-dialog/src/alert-dialog-cancel.directive.ts +0 -17
  289. package/alert-dialog/src/alert-dialog-content.directive.ts +0 -24
  290. package/alert-dialog/src/alert-dialog-root.directive.ts +0 -15
  291. package/alert-dialog/src/alert-dialog-title.directive.ts +0 -7
  292. package/alert-dialog/src/alert-dialog-trigger.directive.ts +0 -17
  293. package/alert-dialog/src/alert-dialog.service.ts +0 -51
  294. package/alert-dialog/stories/alert-dialog.stories.ts +0 -139
  295. package/avatar/__tests__/avatar-fallback.directive.spec.ts +0 -31
  296. package/avatar/__tests__/avatar-image.directive.spec.ts +0 -36
  297. package/avatar/ng-package.json +0 -5
  298. package/avatar/src/avatar-fallback.directive.ts +0 -62
  299. package/avatar/src/avatar-image.directive.ts +0 -55
  300. package/avatar/src/avatar-root.directive.ts +0 -35
  301. package/avatar/src/avatar.config.ts +0 -29
  302. package/avatar/stories/avatar.docs.mdx +0 -37
  303. package/avatar/stories/avatar.stories.ts +0 -87
  304. package/button/__tests__/.gitkeep +0 -0
  305. package/button/src/button-abstract.directive.ts +0 -46
  306. package/checkbox/ng-package.json +0 -5
  307. package/checkbox/src/checkbox-button.directive.ts +0 -26
  308. package/checkbox/src/checkbox-indicator.directive.ts +0 -16
  309. package/checkbox/src/checkbox-input.directive.ts +0 -36
  310. package/checkbox/src/checkbox.directive.ts +0 -146
  311. package/checkbox/src/checkbox.token.ts +0 -8
  312. package/checkbox/stories/checkbox-group.component.ts +0 -87
  313. package/checkbox/stories/checkbox-group.styles.scss +0 -49
  314. package/checkbox/stories/checkbox-indeterminate.component.ts +0 -52
  315. package/checkbox/stories/checkbox.docs.mdx +0 -58
  316. package/checkbox/stories/checkbox.stories.ts +0 -105
  317. package/collapsible/__tests__/collapsible-content.directive.spec.ts +0 -30
  318. package/collapsible/__tests__/collapsible-root.directive.spec.ts +0 -27
  319. package/collapsible/__tests__/collapsible-trigger.directive.spec.ts +0 -30
  320. package/collapsible/ng-package.json +0 -5
  321. package/collapsible/src/collapsible-content.directive.ts +0 -34
  322. package/collapsible/src/collapsible-content.token.ts +0 -6
  323. package/collapsible/src/collapsible-root.directive.ts +0 -120
  324. package/collapsible/src/collapsible-trigger.directive.ts +0 -44
  325. package/collapsible/stories/collapsible-animation.component.ts +0 -116
  326. package/collapsible/stories/collapsible-external-triggering.component.ts +0 -86
  327. package/collapsible/stories/collapsible.docs.mdx +0 -53
  328. package/collapsible/stories/collapsible.stories.ts +0 -151
  329. package/context-menu/ng-package.json +0 -5
  330. package/context-menu/src/context-menu-content.directive.ts +0 -47
  331. package/context-menu/src/context-menu-item-checkbox.directive.ts +0 -30
  332. package/context-menu/src/context-menu-item-indicator.directive.ts +0 -14
  333. package/context-menu/src/context-menu-item-radio-group.directive.ts +0 -31
  334. package/context-menu/src/context-menu-item-radio.directive.ts +0 -69
  335. package/context-menu/src/context-menu-item-selectable.ts +0 -18
  336. package/context-menu/src/context-menu-item.directive.ts +0 -65
  337. package/context-menu/src/context-menu-label.directive.ts +0 -7
  338. package/context-menu/src/context-menu-separator.directive.ts +0 -13
  339. package/context-menu/src/context-menu-trigger.directive.ts +0 -82
  340. package/context-menu/stories/context-menu.docs.mdx +0 -23
  341. package/context-menu/stories/context-menu.stories.ts +0 -253
  342. package/core/index.ts +0 -3
  343. package/core/src/accessor/provide-value-accessor.ts +0 -20
  344. package/core/src/auto-focus.directive.ts +0 -81
  345. package/core/src/inject-ng-control.ts +0 -28
  346. package/core/src/mount.ts +0 -27
  347. package/dialog/__tests__/dialog-content.directive.spec.ts +0 -77
  348. package/dialog/__tests__/dialog-trigger.directive.spec.ts +0 -85
  349. package/dialog/index.ts +0 -31
  350. package/dialog/ng-package.json +0 -5
  351. package/dialog/src/dialog-close.directive.ts +0 -18
  352. package/dialog/src/dialog-content.directive.ts +0 -45
  353. package/dialog/src/dialog-description.directive.ts +0 -7
  354. package/dialog/src/dialog-dismiss.directive.ts +0 -18
  355. package/dialog/src/dialog-ref.ts +0 -70
  356. package/dialog/src/dialog-title.directive.ts +0 -7
  357. package/dialog/src/dialog-trigger.directive.ts +0 -52
  358. package/dialog/src/dialog.injectors.ts +0 -12
  359. package/dialog/src/dialog.service.ts +0 -94
  360. package/dialog/stories/dialog.docs.mdx +0 -32
  361. package/dialog/stories/dialog.stories.ts +0 -233
  362. package/dropdown-menu/ng-package.json +0 -5
  363. package/dropdown-menu/src/dropdown-menu-content.directive.ts +0 -47
  364. package/dropdown-menu/src/dropdown-menu-item-checkbox.directive.ts +0 -30
  365. package/dropdown-menu/src/dropdown-menu-item-indicator.directive.ts +0 -14
  366. package/dropdown-menu/src/dropdown-menu-item-radio-group.directive.ts +0 -31
  367. package/dropdown-menu/src/dropdown-menu-item-radio.directive.ts +0 -72
  368. package/dropdown-menu/src/dropdown-menu-item-selectable.ts +0 -18
  369. package/dropdown-menu/src/dropdown-menu-item.directive.ts +0 -66
  370. package/dropdown-menu/src/dropdown-menu-label.directive.ts +0 -7
  371. package/dropdown-menu/src/dropdown-menu-separator.directive.ts +0 -13
  372. package/dropdown-menu/src/dropdown-menu-trigger.directive.ts +0 -185
  373. package/dropdown-menu/stories/dropdown-menu-item-checkbox.component.ts +0 -104
  374. package/dropdown-menu/stories/dropdown-menu-item-checkbox.styles.scss +0 -106
  375. package/dropdown-menu/stories/dropdown-menu-item-radio.component.ts +0 -95
  376. package/dropdown-menu/stories/dropdown-menu-item-radio.styles.scss +0 -106
  377. package/dropdown-menu/stories/dropdown.docs.mdx +0 -27
  378. package/dropdown-menu/stories/dropdown.stories.ts +0 -212
  379. package/form-field/index.ts +0 -1
  380. package/form-field/src/.gitkeep +0 -0
  381. package/jest.config.ts +0 -21
  382. package/label/__tests__/label-root.directive.spec.ts +0 -99
  383. package/label/ng-package.json +0 -5
  384. package/label/src/label.directive.ts +0 -58
  385. package/label/stories/label.docs.mdx +0 -40
  386. package/label/stories/label.stories.ts +0 -76
  387. package/menu/index.ts +0 -29
  388. package/menu/ng-package.json +0 -5
  389. package/menu/src/menu-content.directive.ts +0 -9
  390. package/menu/src/menu-directive.ts +0 -10
  391. package/menu/src/menu-group.directive.ts +0 -12
  392. package/menu/src/menu-item.directive.ts +0 -44
  393. package/menu/src/menu-label.directive.ts +0 -7
  394. package/menu/src/menu-separator.directive.ts +0 -13
  395. package/menubar/index.ts +0 -38
  396. package/menubar/ng-package.json +0 -5
  397. package/menubar/src/menubar-content.directive.ts +0 -9
  398. package/menubar/src/menubar-item-checkbox.directive.ts +0 -32
  399. package/menubar/src/menubar-item-indicator.directive.ts +0 -10
  400. package/menubar/src/menubar-item-radio.directive.ts +0 -33
  401. package/menubar/src/menubar-item.directive.ts +0 -12
  402. package/menubar/src/menubar-radio-group.directive.ts +0 -9
  403. package/menubar/src/menubar-root.directive.ts +0 -15
  404. package/menubar/src/menubar-separator.directive.ts +0 -9
  405. package/menubar/src/menubar-trigger.directive.ts +0 -40
  406. package/menubar/stories/menubar.stories.ts +0 -229
  407. package/ng-package.json +0 -8
  408. package/portal/stories/portal.docs.mdx +0 -85
  409. package/presence/__test__/presence-test.component.ts +0 -51
  410. package/presence/__test__/presence.spec.ts +0 -50
  411. package/presence/index.ts +0 -4
  412. package/presence/src/presence.ts +0 -119
  413. package/presence/src/transitions/transition.collapse.ts +0 -99
  414. package/presence/src/transitions/transition.toast.ts +0 -27
  415. package/presence/src/types.ts +0 -20
  416. package/presence/src/utils.ts +0 -63
  417. package/presence/stories/presence-story.componen.ts +0 -69
  418. package/presence/stories/presence.docs.mdx +0 -40
  419. package/presence/stories/presence.stories.ts +0 -29
  420. package/progress/__test__/progress.spec.ts +0 -55
  421. package/progress/ng-package.json +0 -5
  422. package/progress/src/progress-indicator.directive.ts +0 -26
  423. package/progress/src/progress-root.directive.ts +0 -134
  424. package/progress/stories/progress.docs.mdx +0 -65
  425. package/progress/stories/progress.stories.ts +0 -66
  426. package/project.json +0 -39
  427. package/radio/ng-package.json +0 -5
  428. package/radio/src/radio-indicator.directive.ts +0 -17
  429. package/radio/src/radio-item.directive.ts +0 -68
  430. package/radio/src/radio-root.directive.ts +0 -207
  431. package/radio/stories/radio-group.component.ts +0 -39
  432. package/radio/stories/radio-group.styles.scss +0 -70
  433. package/radio/stories/radio.docs.mdx +0 -68
  434. package/radio/stories/radio.stories.ts +0 -155
  435. package/separator/__tests__/separator.directive.spec.ts +0 -58
  436. package/separator/ng-package.json +0 -5
  437. package/separator/src/separator.directive.ts +0 -35
  438. package/separator/stories/separator.docs.mdx +0 -37
  439. package/separator/stories/separator.stories.ts +0 -82
  440. package/slider/src/slider-input.directive.ts +0 -0
  441. package/slider/src/slider-thumb.directives.ts +0 -60
  442. package/slider/src/slider-track.directive.ts +0 -11
  443. package/slider/src/slider.directive.ts +0 -59
  444. package/slider/src/slider.types.ts +0 -4
  445. package/switch/index.ts +0 -22
  446. package/switch/ng-package.json +0 -5
  447. package/switch/src/switch-input.directive.ts +0 -24
  448. package/switch/src/switch-root.directive.ts +0 -127
  449. package/switch/src/switch-thumb.directive.ts +0 -15
  450. package/switch/stories/switch.docs.mdx +0 -83
  451. package/switch/stories/switch.stories.ts +0 -149
  452. package/tabs/__tests__/tabs-context.service.spec.ts +0 -35
  453. package/tabs/index.ts +0 -26
  454. package/tabs/ng-package.json +0 -5
  455. package/tabs/src/tabs-content.directive.ts +0 -23
  456. package/tabs/src/tabs-context.service.ts +0 -43
  457. package/tabs/src/tabs-list.directive.ts +0 -21
  458. package/tabs/src/tabs-root.directive.ts +0 -70
  459. package/tabs/src/tabs-trigger.directive.ts +0 -55
  460. package/tabs/stories/tabs.stories.ts +0 -213
  461. package/test-setup.ts +0 -1
  462. package/toggle/__tests__/toggle.directive.spec.ts +0 -87
  463. package/toggle/ng-package.json +0 -5
  464. package/toggle/src/toggle.directive.ts +0 -49
  465. package/toggle/stories/toggle.docs.mdx +0 -60
  466. package/toggle/stories/toggle.stories.ts +0 -84
  467. package/toggle-group/ng-package.json +0 -5
  468. package/toggle-group/src/toggle-group-button.directive.ts +0 -73
  469. package/toggle-group/src/toggle-group-button.token.ts +0 -8
  470. package/toggle-group/src/toggle-group-multi.directive.ts +0 -158
  471. package/toggle-group/src/toggle-group.directive.ts +0 -148
  472. package/toggle-group/src/toggle-group.token.ts +0 -11
  473. package/toggle-group/stories/toggle-group.docs.mdx +0 -87
  474. package/toggle-group/stories/toggle-group.stories.ts +0 -95
  475. package/tsconfig.doc.json +0 -11
  476. package/tsconfig.json +0 -29
  477. package/tsconfig.lib.json +0 -19
  478. package/tsconfig.lib.prod.json +0 -12
  479. package/tsconfig.spec.json +0 -11
  480. package/visually-hidden/README.md +0 -3
  481. package/visually-hidden/stories/visually-hidden.docs.mdx +0 -36
  482. /package/accordion/{index.ts → index.d.ts} +0 -0
  483. /package/avatar/{index.ts → index.d.ts} +0 -0
  484. /package/checkbox/{index.ts → index.d.ts} +0 -0
  485. /package/collapsible/{index.ts → index.d.ts} +0 -0
  486. /package/context-menu/{index.ts → index.d.ts} +0 -0
  487. /package/dropdown-menu/{index.ts → index.d.ts} +0 -0
  488. /package/{index.ts → index.d.ts} +0 -0
  489. /package/label/{index.ts → index.d.ts} +0 -0
  490. /package/separator/{index.ts → index.d.ts} +0 -0
  491. /package/toggle/{index.ts → index.d.ts} +0 -0
  492. /package/toggle-group/{index.ts → index.d.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radix-ng-primitives-accordion.mjs","sources":["../../../packages/primitives/accordion/src/accordion-root.directive.ts","../../../packages/primitives/accordion/src/accordion-trigger.directive.ts","../../../packages/primitives/accordion/src/accordion-item.directive.ts","../../../packages/primitives/accordion/src/accordion-content.directive.ts","../../../packages/primitives/accordion/src/accordion-header.directive.ts","../../../packages/primitives/accordion/radix-ng-primitives-accordion.ts"],"sourcesContent":["import { FocusKeyManager } from '@angular/cdk/a11y';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { UniqueSelectionDispatcher } from '@angular/cdk/collections';\nimport { ENTER, SPACE } from '@angular/cdk/keycodes';\nimport {\n AfterContentInit,\n booleanAttribute,\n ContentChildren,\n Directive,\n EventEmitter,\n forwardRef,\n inject,\n InjectionToken,\n Input,\n OnDestroy,\n Output,\n QueryList\n} from '@angular/core';\nimport { merge, Subject, Subscription } from 'rxjs';\nimport { RdxAccordionItemDirective } from './accordion-item.directive';\n\nexport type RdxAccordionType = 'single' | 'multiple';\nexport type RdxAccordionOrientation = 'horizontal' | 'vertical';\n\nexport const RdxAccordionRootToken = new InjectionToken<RdxAccordionRootDirective>('RdxAccordionRootDirective');\n\nlet nextId = 0;\n\n@Directive({\n selector: '[rdxAccordionRoot]',\n standalone: true,\n providers: [\n { provide: RdxAccordionRootToken, useExisting: RdxAccordionRootDirective },\n { provide: UniqueSelectionDispatcher, useClass: UniqueSelectionDispatcher }\n ],\n host: {\n '[attr.data-orientation]': 'orientation',\n '(keydown)': 'handleKeydown($event)'\n }\n})\nexport class RdxAccordionRootDirective implements AfterContentInit, OnDestroy {\n /**\n * @ignore\n */\n protected readonly selectionDispatcher = inject(UniqueSelectionDispatcher);\n /**\n * @ignore\n */\n protected readonly dir = inject(Directionality, { optional: true });\n\n /**\n * @ignore\n */\n protected keyManager: FocusKeyManager<RdxAccordionItemDirective>;\n\n /**\n * @ignore\n */\n readonly id: string = `rdx-accordion-${nextId++}`;\n\n /**\n * @ignore\n */\n readonly openCloseAllActions = new Subject<boolean>();\n\n get isMultiple(): boolean {\n return this.type === 'multiple';\n }\n\n /** Whether the Accordion is disabled. */\n @Input({ transform: booleanAttribute }) disabled: boolean;\n\n /**\n * The orientation of the accordion.\n */\n @Input() orientation: RdxAccordionOrientation = 'vertical';\n /**\n * @private\n * @ignore\n */\n @ContentChildren(forwardRef(() => RdxAccordionItemDirective), { descendants: true })\n items: QueryList<RdxAccordionItemDirective>;\n\n /**\n * The value of the item to expand when initially rendered and type is \"single\". Use when you do not need to control the state of the items.\n */\n @Input()\n set defaultValue(value: string[] | string) {\n if (value !== this._defaultValue) {\n this._defaultValue = Array.isArray(value) ? value : [value];\n }\n }\n\n get defaultValue(): string[] | string {\n return this.isMultiple ? this._defaultValue : this._defaultValue[0];\n }\n\n /**\n * Determines whether one or multiple items can be opened at the same time.\n */\n @Input() type: RdxAccordionType = 'single';\n /**\n * @ignore\n */\n @Input() collapsible = true;\n /**\n * The controlled value of the item to expand\n */\n @Input()\n set value(value: string[] | string) {\n if (value !== this._value) {\n this._value = Array.isArray(value) ? value : [value];\n\n this.selectionDispatcher.notify(this.value as unknown as string, this.id);\n }\n }\n\n get value(): string[] | string {\n if (this._value === undefined) {\n return this.defaultValue;\n }\n\n return this.isMultiple ? this._value : this._value[0];\n }\n\n @Output() readonly onValueChange: EventEmitter<void> = new EventEmitter<void>();\n\n private _value?: string[];\n private _defaultValue: string[] | string = [];\n\n private onValueChangeSubscription: Subscription;\n\n /**\n * @ignore\n */\n ngAfterContentInit(): void {\n this.selectionDispatcher.notify((this._value ?? this._defaultValue) as unknown as string, this.id);\n\n this.keyManager = new FocusKeyManager(this.items).withHomeAndEnd();\n\n if (this.orientation === 'horizontal') {\n this.keyManager.withHorizontalOrientation(this.dir?.value || 'ltr');\n } else {\n this.keyManager.withVerticalOrientation();\n }\n\n this.onValueChangeSubscription = merge(...this.items.map((item) => item.expandedChange)).subscribe(() =>\n this.onValueChange.emit()\n );\n }\n\n /**\n * @ignore\n */\n ngOnDestroy() {\n this.openCloseAllActions.complete();\n this.onValueChangeSubscription.unsubscribe();\n }\n\n /**\n * @ignore\n */\n handleKeydown(event: KeyboardEvent) {\n if (!this.keyManager.activeItem) {\n this.keyManager.setFirstItemActive();\n }\n\n const activeItem = this.keyManager.activeItem;\n\n if (\n (event.keyCode === ENTER || event.keyCode === SPACE) &&\n !this.keyManager.isTyping() &&\n activeItem &&\n !activeItem.disabled\n ) {\n event.preventDefault();\n activeItem.toggle();\n } else {\n this.keyManager.onKeydown(event);\n }\n }\n\n /** Opens all enabled accordion items in an accordion where multi is enabled.\n * @ignore\n */\n openAll(): void {\n if (this.isMultiple) {\n this.openCloseAllActions.next(true);\n }\n }\n\n /** Closes all enabled accordion items.\n * @ignore\n */\n closeAll(): void {\n this.openCloseAllActions.next(false);\n }\n\n /**\n * @ignore\n */\n setActiveItem(item: RdxAccordionItemDirective) {\n this.keyManager.setActiveItem(item);\n }\n}\n","import { Directive, ElementRef, inject } from '@angular/core';\nimport { RdxAccordionItemDirective } from './accordion-item.directive';\nimport { RdxAccordionRootDirective } from './accordion-root.directive';\n\n@Directive({\n selector: '[rdxAccordionTrigger]',\n standalone: true,\n host: {\n '[attr.role]': '\"button\"',\n '[attr.aria-expanded]': 'item.expanded',\n '[attr.data-state]': 'item.dataState',\n '[attr.data-disabled]': 'item.disabled',\n '[attr.disabled]': 'item.disabled ? \"\" : null',\n '[attr.data-orientation]': 'item.orientation',\n '(click)': 'onClick()'\n }\n})\nexport class RdxAccordionTriggerDirective {\n protected readonly nativeElement = inject(ElementRef).nativeElement;\n protected readonly accordionRoot = inject(RdxAccordionRootDirective);\n protected readonly item = inject(RdxAccordionItemDirective);\n\n /**\n * Fires when trigger clicked\n */\n onClick(): void {\n if (!this.accordionRoot.collapsible && this.item.expanded) return;\n\n this.item.toggle();\n\n this.accordionRoot.setActiveItem(this.item);\n }\n\n focus() {\n this.nativeElement.focus();\n }\n}\n","import { FocusableOption } from '@angular/cdk/a11y';\nimport { UniqueSelectionDispatcher } from '@angular/cdk/collections';\nimport {\n booleanAttribute,\n ChangeDetectorRef,\n ContentChild,\n Directive,\n EventEmitter,\n forwardRef,\n inject,\n Input,\n OnDestroy,\n Output\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { RdxAccordionContentDirective } from './accordion-content.directive';\nimport { RdxAccordionOrientation, RdxAccordionRootToken } from './accordion-root.directive';\nimport { RdxAccordionTriggerDirective } from './accordion-trigger.directive';\n\nexport type RdxAccordionItemState = 'open' | 'closed';\n\nlet nextId = 0;\n\n@Directive({\n selector: '[rdxAccordionItem]',\n standalone: true,\n exportAs: 'rdxAccordionItem',\n host: {\n '[attr.data-state]': 'dataState',\n '[attr.data-disabled]': 'disabled',\n '[attr.data-orientation]': 'orientation'\n },\n providers: [\n { provide: RdxAccordionRootToken, useValue: undefined }]\n})\nexport class RdxAccordionItemDirective implements FocusableOption, OnDestroy {\n /**\n * @ignore\n */\n protected readonly accordion = inject(RdxAccordionRootToken, { skipSelf: true });\n /**\n * @ignore\n */\n protected readonly changeDetectorRef = inject(ChangeDetectorRef);\n /**\n * @ignore\n */\n protected readonly expansionDispatcher = inject(UniqueSelectionDispatcher);\n\n /**\n * @ignore\n */\n @ContentChild(RdxAccordionTriggerDirective, { descendants: true }) trigger: RdxAccordionTriggerDirective;\n\n /**\n * @ignore\n */\n @ContentChild(forwardRef(() => RdxAccordionContentDirective), { descendants: true })\n content: RdxAccordionContentDirective;\n\n get dataState(): RdxAccordionItemState {\n return this.expanded ? 'open' : 'closed';\n }\n\n /**\n * The unique AccordionItem id.\n * @ignore\n */\n readonly id: string = `rdx-accordion-item-${nextId++}`;\n\n get orientation(): RdxAccordionOrientation {\n return this.accordion.orientation;\n }\n\n /** Whether the AccordionItem is expanded. */\n @Input({ transform: booleanAttribute })\n set expanded(expanded: boolean) {\n // Only emit events and update the internal value if the value changes.\n if (this._expanded !== expanded) {\n this._expanded = expanded;\n this.expandedChange.emit(expanded);\n\n if (expanded) {\n this.opened.emit();\n /**\n * In the unique selection dispatcher, the id parameter is the id of the CdkAccordionItem,\n * the name value is the id of the accordion.\n */\n const accordionId = this.accordion ? this.accordion.id : this.value;\n this.expansionDispatcher.notify(this.value, accordionId);\n } else {\n this.closed.emit();\n }\n\n // Ensures that the animation will run when the value is set outside of an `@Input`.\n // This includes cases like the open, close and toggle methods.\n this.changeDetectorRef.markForCheck();\n }\n }\n\n get expanded(): boolean {\n return this._expanded;\n }\n\n private _expanded = false;\n\n @Input()\n set value(value: string) {\n this._value = value;\n }\n\n get value(): string {\n return this._value || this.id;\n }\n\n private _value?: string;\n\n /** Whether the AccordionItem is disabled. */\n @Input({ transform: booleanAttribute })\n set disabled(value: boolean) {\n this._disabled = value;\n }\n\n get disabled(): boolean {\n return this.accordion.disabled ?? this._disabled;\n }\n\n private _disabled = false;\n\n /** Event emitted every time the AccordionItem is closed. */\n @Output() readonly closed: EventEmitter<void> = new EventEmitter<void>();\n /** Event emitted every time the AccordionItem is opened. */\n @Output() readonly opened: EventEmitter<void> = new EventEmitter<void>();\n\n /**\n * Event emitted when the AccordionItem is destroyed.\n * @ignore\n */\n readonly destroyed: EventEmitter<void> = new EventEmitter<void>();\n\n /**\n * Emits whenever the expanded state of the accordion changes.\n * Primarily used to facilitate two-way binding.\n * @docs-private\n */\n @Output() readonly expandedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** Unregister function for expansionDispatcher. */\n private removeUniqueSelectionListener: () => void;\n\n /** Subscription to openAll/closeAll events. */\n private openCloseAllSubscription = Subscription.EMPTY;\n\n constructor() {\n this.removeUniqueSelectionListener = this.expansionDispatcher.listen((id: string, accordionId: string) => {\n if (this.accordion.isMultiple) {\n if (this.accordion.id === accordionId && id.includes(this.value)) {\n this.expanded = true;\n }\n } else {\n this.expanded = this.accordion.id === accordionId && id.includes(this.value);\n }\n });\n\n // When an accordion item is hosted in an accordion, subscribe to open/close events.\n if (this.accordion) {\n this.openCloseAllSubscription = this.subscribeToOpenCloseAllActions();\n }\n }\n\n /** Emits an event for the accordion item being destroyed. */\n ngOnDestroy() {\n this.opened.complete();\n this.closed.complete();\n this.destroyed.emit();\n this.destroyed.complete();\n this.removeUniqueSelectionListener();\n this.openCloseAllSubscription.unsubscribe();\n }\n\n focus(): void {\n this.trigger.focus();\n }\n\n /** Toggles the expanded state of the accordion item. */\n toggle(): void {\n if (!this.disabled) {\n this.content.onToggle();\n\n this.expanded = !this.expanded;\n }\n }\n\n /** Sets the expanded state of the accordion item to false. */\n close(): void {\n if (!this.disabled) {\n this.expanded = false;\n }\n }\n\n /** Sets the expanded state of the accordion item to true. */\n open(): void {\n if (!this.disabled) {\n this.expanded = true;\n }\n }\n\n private subscribeToOpenCloseAllActions(): Subscription {\n return this.accordion.openCloseAllActions.subscribe((expanded) => {\n // Only change expanded state if item is enabled\n if (!this.disabled) {\n this.expanded = expanded;\n }\n });\n }\n}\n","import { Directive, ElementRef, inject } from '@angular/core';\nimport { RdxAccordionItemDirective } from './accordion-item.directive';\n\n@Directive({\n selector: '[rdxAccordionContent]',\n standalone: true,\n exportAs: 'rdxAccordionContent',\n host: {\n '[attr.role]': '\"region\"',\n '[style.display]': 'hidden ? \"none\" : \"\"',\n '[attr.data-state]': 'item.dataState',\n '[attr.data-disabled]': 'item.disabled',\n '[attr.data-orientation]': 'item.orientation',\n '(animationend)': 'onAnimationEnd()'\n }\n})\nexport class RdxAccordionContentDirective {\n protected readonly item = inject(RdxAccordionItemDirective);\n protected readonly nativeElement = inject(ElementRef).nativeElement;\n\n protected hidden = false;\n\n protected onAnimationEnd() {\n this.hidden = !this.item.expanded;\n\n const { height, width } = this.nativeElement.getBoundingClientRect();\n\n this.nativeElement.style.setProperty('--radix-collapsible-content-height', `${height}px`);\n this.nativeElement.style.setProperty('--radix-collapsible-content-width', `${width}px`);\n\n this.nativeElement.style.setProperty(\n '--radix-accordion-content-height',\n 'var(--radix-collapsible-content-height)'\n );\n this.nativeElement.style.setProperty(\n '--radix-accordion-content-width',\n 'var(--radix-collapsible-content-width)'\n );\n }\n\n onToggle() {\n if (!this.item.expanded) {\n this.hidden = false;\n }\n }\n}\n","import { Directive, inject } from '@angular/core';\nimport { RdxAccordionItemDirective } from './accordion-item.directive';\n\n@Directive({\n selector: '[rdxAccordionHeader]',\n standalone: true,\n host: {\n '[attr.data-state]': 'item.dataState',\n '[attr.data-disabled]': 'item.disabled',\n '[attr.data-orientation]': 'item.orientation'\n }\n})\nexport class RdxAccordionHeaderDirective {\n protected readonly item = inject(RdxAccordionItemDirective);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["nextId"],"mappings":"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"}
@@ -0,0 +1,159 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Injectable, inject, Directive, Renderer2, ElementRef, Input, ViewContainerRef } from '@angular/core';
3
+ import * as i1 from '@angular/cdk/overlay';
4
+ import { TemplatePortal } from '@angular/cdk/portal';
5
+ import * as i1$1 from '@angular/cdk/a11y';
6
+ import { CdkTrapFocus } from '@angular/cdk/a11y';
7
+
8
+ class AlertDialogService {
9
+ constructor(overlay) {
10
+ this.overlay = overlay;
11
+ }
12
+ setDialogContent(viewContainerRef, template) {
13
+ this.dialogContent = { viewContainerRef, template };
14
+ }
15
+ open() {
16
+ if (!this.dialogContent) {
17
+ throw new Error('Dialog content is not set');
18
+ }
19
+ this.overlayRef = this.overlay.create({
20
+ hasBackdrop: true,
21
+ backdropClass: 'cdk-overlay-dark-backdrop',
22
+ positionStrategy: this.overlay.position().global().centerHorizontally().centerVertically()
23
+ });
24
+ const templatePortal = new TemplatePortal(this.dialogContent.template, this.dialogContent.viewContainerRef);
25
+ this.overlayRef.attach(templatePortal);
26
+ this.overlayRef.keydownEvents().subscribe((event) => {
27
+ if (event.key === 'Escape' || event.code === 'Escape') {
28
+ this.close();
29
+ }
30
+ });
31
+ this.overlayRef.backdropClick().subscribe(() => this.close());
32
+ }
33
+ close() {
34
+ if (this.overlayRef) {
35
+ this.overlayRef.dispose();
36
+ this.overlayRef = null;
37
+ }
38
+ }
39
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: AlertDialogService, deps: [{ token: i1.Overlay }], target: i0.ɵɵFactoryTarget.Injectable }); }
40
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: AlertDialogService, providedIn: 'root' }); }
41
+ }
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: AlertDialogService, decorators: [{
43
+ type: Injectable,
44
+ args: [{
45
+ providedIn: 'root'
46
+ }]
47
+ }], ctorParameters: () => [{ type: i1.Overlay }] });
48
+
49
+ class AlertDialogCancelDirective {
50
+ constructor() {
51
+ this.alertDialogService = inject(AlertDialogService);
52
+ }
53
+ onClick() {
54
+ this.alertDialogService.close();
55
+ }
56
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: AlertDialogCancelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
57
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.1", type: AlertDialogCancelDirective, isStandalone: true, selector: "[rdxAlertDialogCancel]", host: { listeners: { "click": "onClick()" } }, ngImport: i0 }); }
58
+ }
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: AlertDialogCancelDirective, decorators: [{
60
+ type: Directive,
61
+ args: [{
62
+ selector: '[rdxAlertDialogCancel]',
63
+ standalone: true,
64
+ host: {
65
+ '(click)': 'onClick()'
66
+ }
67
+ }]
68
+ }] });
69
+
70
+ class AlertDialogContentDirective {
71
+ constructor() {
72
+ this.renderer = inject(Renderer2);
73
+ this.elementRef = inject(ElementRef);
74
+ }
75
+ set maxWidth(value) {
76
+ this.renderer.setStyle(this.elementRef.nativeElement, 'maxWidth', value);
77
+ }
78
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: AlertDialogContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
79
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.1", type: AlertDialogContentDirective, isStandalone: true, selector: "[rdxAlertDialogContent]", inputs: { maxWidth: "maxWidth" }, host: { properties: { "attr.data-state": "open", "attr.cdkTrapFocusAutoCapture": "true" } }, hostDirectives: [{ directive: i1$1.CdkTrapFocus }], ngImport: i0 }); }
80
+ }
81
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: AlertDialogContentDirective, decorators: [{
82
+ type: Directive,
83
+ args: [{
84
+ selector: '[rdxAlertDialogContent]',
85
+ hostDirectives: [
86
+ {
87
+ directive: CdkTrapFocus
88
+ }
89
+ ],
90
+ standalone: true,
91
+ host: {
92
+ '[attr.data-state]': 'open',
93
+ '[attr.cdkTrapFocusAutoCapture]': 'true'
94
+ }
95
+ }]
96
+ }], propDecorators: { maxWidth: [{
97
+ type: Input
98
+ }] } });
99
+
100
+ class AlertDialogRootDirective {
101
+ constructor() {
102
+ this.viewContainerRef = inject(ViewContainerRef);
103
+ this.alertDialogService = inject(AlertDialogService);
104
+ }
105
+ set content(template) {
106
+ this.alertDialogService.setDialogContent(this.viewContainerRef, template);
107
+ }
108
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: AlertDialogRootDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
109
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.1", type: AlertDialogRootDirective, isStandalone: true, selector: "[rdxAlertDialogRoot]", inputs: { content: "content" }, ngImport: i0 }); }
110
+ }
111
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: AlertDialogRootDirective, decorators: [{
112
+ type: Directive,
113
+ args: [{
114
+ selector: '[rdxAlertDialogRoot]',
115
+ standalone: true
116
+ }]
117
+ }], propDecorators: { content: [{
118
+ type: Input
119
+ }] } });
120
+
121
+ class AlertDialogTitleDirective {
122
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: AlertDialogTitleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
123
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.1", type: AlertDialogTitleDirective, isStandalone: true, selector: "[rdxAlertDialogTitle]", ngImport: i0 }); }
124
+ }
125
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: AlertDialogTitleDirective, decorators: [{
126
+ type: Directive,
127
+ args: [{
128
+ selector: '[rdxAlertDialogTitle]',
129
+ standalone: true
130
+ }]
131
+ }] });
132
+
133
+ class AlertDialogTriggerDirective {
134
+ constructor() {
135
+ this.alertDialogService = inject(AlertDialogService);
136
+ }
137
+ handleClick() {
138
+ this.alertDialogService.open();
139
+ }
140
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: AlertDialogTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
141
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.1", type: AlertDialogTriggerDirective, isStandalone: true, selector: "[rdxAlertDialogTrigger]", host: { listeners: { "click": "handleClick()" } }, ngImport: i0 }); }
142
+ }
143
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: AlertDialogTriggerDirective, decorators: [{
144
+ type: Directive,
145
+ args: [{
146
+ selector: '[rdxAlertDialogTrigger]',
147
+ standalone: true,
148
+ host: {
149
+ '(click)': 'handleClick()'
150
+ }
151
+ }]
152
+ }] });
153
+
154
+ /**
155
+ * Generated bundle index. Do not edit.
156
+ */
157
+
158
+ export { AlertDialogCancelDirective, AlertDialogContentDirective, AlertDialogRootDirective, AlertDialogService, AlertDialogTitleDirective, AlertDialogTriggerDirective };
159
+ //# sourceMappingURL=radix-ng-primitives-alert-dialog.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radix-ng-primitives-alert-dialog.mjs","sources":["../../../packages/primitives/alert-dialog/src/alert-dialog.service.ts","../../../packages/primitives/alert-dialog/src/alert-dialog-cancel.directive.ts","../../../packages/primitives/alert-dialog/src/alert-dialog-content.directive.ts","../../../packages/primitives/alert-dialog/src/alert-dialog-root.directive.ts","../../../packages/primitives/alert-dialog/src/alert-dialog-title.directive.ts","../../../packages/primitives/alert-dialog/src/alert-dialog-trigger.directive.ts","../../../packages/primitives/alert-dialog/radix-ng-primitives-alert-dialog.ts"],"sourcesContent":["import { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { Injectable, TemplateRef, ViewContainerRef } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AlertDialogService {\n private overlayRef: OverlayRef | null | undefined;\n private dialogContent:\n | {\n viewContainerRef: ViewContainerRef;\n template: TemplateRef<any>;\n }\n | undefined;\n\n constructor(private overlay: Overlay) {}\n\n setDialogContent(viewContainerRef: ViewContainerRef, template: TemplateRef<any>) {\n this.dialogContent = { viewContainerRef, template };\n }\n\n open() {\n if (!this.dialogContent) {\n throw new Error('Dialog content is not set');\n }\n\n this.overlayRef = this.overlay.create({\n hasBackdrop: true,\n backdropClass: 'cdk-overlay-dark-backdrop',\n positionStrategy: this.overlay.position().global().centerHorizontally().centerVertically()\n });\n\n const templatePortal = new TemplatePortal(this.dialogContent.template, this.dialogContent.viewContainerRef);\n this.overlayRef.attach(templatePortal);\n\n this.overlayRef.keydownEvents().subscribe((event) => {\n if (event.key === 'Escape' || event.code === 'Escape') {\n this.close();\n }\n });\n this.overlayRef.backdropClick().subscribe(() => this.close());\n }\n\n close() {\n if (this.overlayRef) {\n this.overlayRef.dispose();\n this.overlayRef = null;\n }\n }\n}\n","import { Directive, inject } from '@angular/core';\nimport { AlertDialogService } from './alert-dialog.service';\n\n@Directive({\n selector: '[rdxAlertDialogCancel]',\n standalone: true,\n host: {\n '(click)': 'onClick()'\n }\n})\nexport class AlertDialogCancelDirective {\n private readonly alertDialogService = inject(AlertDialogService);\n\n onClick() {\n this.alertDialogService.close();\n }\n}\n","import { CdkTrapFocus } from '@angular/cdk/a11y';\nimport { Directive, ElementRef, inject, Input, Renderer2 } from '@angular/core';\n\n@Directive({\n selector: '[rdxAlertDialogContent]',\n hostDirectives: [\n {\n directive: CdkTrapFocus\n }\n ],\n standalone: true,\n host: {\n '[attr.data-state]': 'open',\n '[attr.cdkTrapFocusAutoCapture]': 'true'\n }\n})\nexport class AlertDialogContentDirective {\n private readonly renderer = inject(Renderer2);\n private readonly elementRef = inject(ElementRef);\n\n @Input() set maxWidth(value: string) {\n this.renderer.setStyle(this.elementRef.nativeElement, 'maxWidth', value);\n }\n}\n","import { Directive, inject, Input, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { AlertDialogService } from './alert-dialog.service';\n\n@Directive({\n selector: '[rdxAlertDialogRoot]',\n standalone: true\n})\nexport class AlertDialogRootDirective {\n private readonly viewContainerRef = inject(ViewContainerRef);\n private readonly alertDialogService = inject(AlertDialogService);\n\n @Input() set content(template: TemplateRef<any>) {\n this.alertDialogService.setDialogContent(this.viewContainerRef, template);\n }\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[rdxAlertDialogTitle]',\n standalone: true\n})\nexport class AlertDialogTitleDirective {}\n","import { Directive, inject } from '@angular/core';\nimport { AlertDialogService } from './alert-dialog.service';\n\n@Directive({\n selector: '[rdxAlertDialogTrigger]',\n standalone: true,\n host: {\n '(click)': 'handleClick()'\n }\n})\nexport class AlertDialogTriggerDirective {\n private readonly alertDialogService = inject(AlertDialogService);\n\n handleClick() {\n this.alertDialogService.open();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
@@ -0,0 +1,166 @@
1
+ import { isPlatformBrowser } from '@angular/common';
2
+ import * as i0 from '@angular/core';
3
+ import { InjectionToken, inject, signal, Directive, NgZone, PLATFORM_ID, numberAttribute, Input, ElementRef, EventEmitter, Output } from '@angular/core';
4
+
5
+ const RdxAvatarToken = new InjectionToken('RdxAvatarToken');
6
+ function injectAvatar() {
7
+ return inject(RdxAvatarToken);
8
+ }
9
+ class RdxAvatarRootDirective {
10
+ constructor() {
11
+ /**
12
+ * A readonly signal property that holds the current state of image loading.
13
+ * To set a new status, use the `setState` method of the component.
14
+ * @internal
15
+ */
16
+ this._state = signal('idle');
17
+ }
18
+ /**
19
+ * Set the avatar state.
20
+ * @param state The new image loading status to set. This value should be one of the predefined states
21
+ * in the `ImageLoadingStatus`
22
+ * @returns void This method does not return a value.
23
+ * @internal
24
+ */
25
+ _setState(state) {
26
+ this._state.set(state);
27
+ }
28
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxAvatarRootDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
29
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.1", type: RdxAvatarRootDirective, isStandalone: true, selector: "span[rdxAvatarRoot]", providers: [{ provide: RdxAvatarToken, useExisting: RdxAvatarRootDirective }], exportAs: ["rdxAvatarRoot"], ngImport: i0 }); }
30
+ }
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxAvatarRootDirective, decorators: [{
32
+ type: Directive,
33
+ args: [{
34
+ selector: 'span[rdxAvatarRoot]',
35
+ exportAs: 'rdxAvatarRoot',
36
+ standalone: true,
37
+ providers: [{ provide: RdxAvatarToken, useExisting: RdxAvatarRootDirective }]
38
+ }]
39
+ }] });
40
+
41
+ const defaultAvatarConfig = {
42
+ delayMs: 0
43
+ };
44
+ const RdxAvatarConfigToken = new InjectionToken('RdxAvatarConfigToken');
45
+ function provideRdxAvatarConfig(config) {
46
+ return [
47
+ {
48
+ provide: RdxAvatarConfigToken,
49
+ useValue: { ...defaultAvatarConfig, ...config }
50
+ }
51
+ ];
52
+ }
53
+ function injectAvatarConfig() {
54
+ return inject(RdxAvatarConfigToken, { optional: true }) ?? defaultAvatarConfig;
55
+ }
56
+
57
+ class RdxAvatarFallbackDirective {
58
+ constructor() {
59
+ this.avatar = injectAvatar();
60
+ this.config = injectAvatarConfig();
61
+ this.ngZone = inject(NgZone);
62
+ this.platformId = inject(PLATFORM_ID);
63
+ /**
64
+ * Define a delay before the fallback is shown.
65
+ * This is useful to only show the fallback for those with slower connections.
66
+ * @default 0
67
+ */
68
+ this.delayMs = this.config.delayMs;
69
+ /**
70
+ * Determine the delay has elapsed, and we can show the fallback.
71
+ */
72
+ this.delayElapsed = false;
73
+ this.timeoutId = null;
74
+ }
75
+ get visible() {
76
+ return this.delayElapsed && this.avatar._state() !== 'loaded';
77
+ }
78
+ ngOnInit() {
79
+ if (isPlatformBrowser(this.platformId)) {
80
+ this.ngZone.runOutsideAngular(() => {
81
+ this.timeoutId = globalThis.setTimeout(() => {
82
+ this.ngZone.run(() => {
83
+ this.delayElapsed = true;
84
+ });
85
+ }, this.delayMs);
86
+ });
87
+ }
88
+ }
89
+ ngOnDestroy() {
90
+ if (isPlatformBrowser(this.platformId) && this.timeoutId !== null) {
91
+ globalThis.clearTimeout(this.timeoutId);
92
+ }
93
+ }
94
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxAvatarFallbackDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
95
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.1", type: RdxAvatarFallbackDirective, isStandalone: true, selector: "span[rdxAvatarFallback]", inputs: { delayMs: ["rdxDelayMs", "delayMs", numberAttribute] }, host: { properties: { "style.display": "visible ? null : \"none\"" } }, exportAs: ["rdxAvatarFallback"], ngImport: i0 }); }
96
+ }
97
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxAvatarFallbackDirective, decorators: [{
98
+ type: Directive,
99
+ args: [{
100
+ selector: 'span[rdxAvatarFallback]',
101
+ exportAs: 'rdxAvatarFallback',
102
+ standalone: true,
103
+ host: {
104
+ '[style.display]': 'visible ? null : "none"'
105
+ }
106
+ }]
107
+ }], propDecorators: { delayMs: [{
108
+ type: Input,
109
+ args: [{ alias: 'rdxDelayMs', transform: numberAttribute }]
110
+ }] } });
111
+
112
+ class RdxAvatarImageDirective {
113
+ constructor() {
114
+ this.avatar = injectAvatar();
115
+ this.elementRef = inject(ElementRef);
116
+ /**
117
+ * By default, it will only render when it has loaded.
118
+ * You can use the `onLoadingStatusChange` handler if you need more control.
119
+ */
120
+ this.onLoadingStatusChange = new EventEmitter();
121
+ }
122
+ ngOnInit() {
123
+ this.avatar._setState('loading');
124
+ if (!this.nativeElement.src) {
125
+ this.avatar._setState('error');
126
+ }
127
+ if (this.nativeElement.complete) {
128
+ this.avatar._setState('loaded');
129
+ }
130
+ this.onLoadingStatusChange.emit(this.avatar._state());
131
+ }
132
+ onLoad() {
133
+ this.avatar._setState('loaded');
134
+ this.onLoadingStatusChange.emit('loaded');
135
+ }
136
+ onError() {
137
+ this.avatar._setState('error');
138
+ this.onLoadingStatusChange.emit('error');
139
+ }
140
+ get nativeElement() {
141
+ return this.elementRef.nativeElement;
142
+ }
143
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxAvatarImageDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
144
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.1", type: RdxAvatarImageDirective, isStandalone: true, selector: "img[rdxAvatarImage]", outputs: { onLoadingStatusChange: "onLoadingStatusChange" }, host: { listeners: { "load": "onLoad()", "error": "onError()" } }, exportAs: ["rdxAvatarImage"], ngImport: i0 }); }
145
+ }
146
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: RdxAvatarImageDirective, decorators: [{
147
+ type: Directive,
148
+ args: [{
149
+ selector: 'img[rdxAvatarImage]',
150
+ exportAs: 'rdxAvatarImage',
151
+ standalone: true,
152
+ host: {
153
+ '(load)': 'onLoad()',
154
+ '(error)': 'onError()'
155
+ }
156
+ }]
157
+ }], propDecorators: { onLoadingStatusChange: [{
158
+ type: Output
159
+ }] } });
160
+
161
+ /**
162
+ * Generated bundle index. Do not edit.
163
+ */
164
+
165
+ export { RdxAvatarConfigToken, RdxAvatarFallbackDirective, RdxAvatarImageDirective, RdxAvatarRootDirective, defaultAvatarConfig, injectAvatar, injectAvatarConfig, provideRdxAvatarConfig };
166
+ //# sourceMappingURL=radix-ng-primitives-avatar.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radix-ng-primitives-avatar.mjs","sources":["../../../packages/primitives/avatar/src/avatar-root.directive.ts","../../../packages/primitives/avatar/src/avatar.config.ts","../../../packages/primitives/avatar/src/avatar-fallback.directive.ts","../../../packages/primitives/avatar/src/avatar-image.directive.ts","../../../packages/primitives/avatar/radix-ng-primitives-avatar.ts"],"sourcesContent":["import { Directive, inject, InjectionToken, signal } from '@angular/core';\n\nconst RdxAvatarToken = new InjectionToken<RdxAvatarRootDirective>('RdxAvatarToken');\n\nexport function injectAvatar(): RdxAvatarRootDirective {\n return inject(RdxAvatarToken);\n}\n\nexport type RdxImageLoadingStatus = 'idle' | 'loading' | 'loaded' | 'error';\n\n@Directive({\n selector: 'span[rdxAvatarRoot]',\n exportAs: 'rdxAvatarRoot',\n standalone: true,\n providers: [{ provide: RdxAvatarToken, useExisting: RdxAvatarRootDirective }]\n})\nexport class RdxAvatarRootDirective {\n /**\n * A readonly signal property that holds the current state of image loading.\n * To set a new status, use the `setState` method of the component.\n * @internal\n */\n readonly _state = signal<RdxImageLoadingStatus>('idle');\n\n /**\n * Set the avatar state.\n * @param state The new image loading status to set. This value should be one of the predefined states\n * in the `ImageLoadingStatus`\n * @returns void This method does not return a value.\n * @internal\n */\n _setState(state: RdxImageLoadingStatus): void {\n this._state.set(state);\n }\n}\n","import { inject, InjectionToken, Provider } from '@angular/core';\n\nexport interface RdxAvatarConfig {\n /**\n * Define a delay before the fallback is shown.\n * This is useful to only show the fallback for those with slower connections.\n * @default 0\n */\n delayMs: number;\n}\n\nexport const defaultAvatarConfig: RdxAvatarConfig = {\n delayMs: 0\n};\n\nexport const RdxAvatarConfigToken = new InjectionToken<RdxAvatarConfig>('RdxAvatarConfigToken');\n\nexport function provideRdxAvatarConfig(config: Partial<RdxAvatarConfig>): Provider[] {\n return [\n {\n provide: RdxAvatarConfigToken,\n useValue: { ...defaultAvatarConfig, ...config }\n }\n ];\n}\n\nexport function injectAvatarConfig(): RdxAvatarConfig {\n return inject(RdxAvatarConfigToken, { optional: true }) ?? defaultAvatarConfig;\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport { Directive, inject, Input, NgZone, numberAttribute, OnDestroy, OnInit, PLATFORM_ID } from '@angular/core';\nimport { injectAvatar } from './avatar-root.directive';\nimport { injectAvatarConfig } from './avatar.config';\n\nexport interface RdxAvatarFallbackProps {\n delayMs?: number;\n}\n\n@Directive({\n selector: 'span[rdxAvatarFallback]',\n exportAs: 'rdxAvatarFallback',\n standalone: true,\n host: {\n '[style.display]': 'visible ? null : \"none\"'\n }\n})\nexport class RdxAvatarFallbackDirective implements RdxAvatarFallbackProps, OnInit, OnDestroy {\n private readonly avatar = injectAvatar();\n\n private readonly config = injectAvatarConfig();\n\n private readonly ngZone = inject(NgZone);\n\n private readonly platformId = inject(PLATFORM_ID);\n\n /**\n * Define a delay before the fallback is shown.\n * This is useful to only show the fallback for those with slower connections.\n * @default 0\n */\n @Input({ alias: 'rdxDelayMs', transform: numberAttribute }) delayMs: number = this.config.delayMs;\n\n protected get visible(): boolean {\n return this.delayElapsed && this.avatar._state() !== 'loaded';\n }\n\n /**\n * Determine the delay has elapsed, and we can show the fallback.\n */\n private delayElapsed = false;\n\n private timeoutId: ReturnType<typeof setTimeout> | null = null;\n\n ngOnInit(): void {\n if (isPlatformBrowser(this.platformId)) {\n this.ngZone.runOutsideAngular(() => {\n this.timeoutId = globalThis.setTimeout(() => {\n this.ngZone.run(() => {\n this.delayElapsed = true;\n });\n }, this.delayMs);\n });\n }\n }\n\n ngOnDestroy(): void {\n if (isPlatformBrowser(this.platformId) && this.timeoutId !== null) {\n globalThis.clearTimeout(this.timeoutId);\n }\n }\n}\n","import { Directive, ElementRef, EventEmitter, inject, OnInit, Output } from '@angular/core';\nimport { injectAvatar, RdxImageLoadingStatus } from './avatar-root.directive';\n\nexport interface RdxAvatarImageProps {\n onLoadingStatusChange?: EventEmitter<RdxImageLoadingStatus>;\n}\n\n@Directive({\n selector: 'img[rdxAvatarImage]',\n exportAs: 'rdxAvatarImage',\n standalone: true,\n host: {\n '(load)': 'onLoad()',\n '(error)': 'onError()'\n }\n})\nexport class RdxAvatarImageDirective implements RdxAvatarImageProps, OnInit {\n private readonly avatar = injectAvatar();\n\n private readonly elementRef = inject<ElementRef<HTMLImageElement>>(ElementRef);\n\n /**\n * By default, it will only render when it has loaded.\n * You can use the `onLoadingStatusChange` handler if you need more control.\n */\n @Output() onLoadingStatusChange = new EventEmitter<RdxImageLoadingStatus>();\n\n ngOnInit(): void {\n this.avatar._setState('loading');\n\n if (!this.nativeElement.src) {\n this.avatar._setState('error');\n }\n\n if (this.nativeElement.complete) {\n this.avatar._setState('loaded');\n }\n\n this.onLoadingStatusChange.emit(this.avatar._state());\n }\n\n protected onLoad(): void {\n this.avatar._setState('loaded');\n this.onLoadingStatusChange.emit('loaded');\n }\n\n protected onError(): void {\n this.avatar._setState('error');\n this.onLoadingStatusChange.emit('error');\n }\n\n get nativeElement() {\n return this.elementRef.nativeElement;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}