@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,22 +0,0 @@
1
- import { Directive, inject } from '@angular/core';
2
- import { RdxDropdownMenuSelectable } from './dropdown-menu-item-selectable';
3
- import * as i0 from "@angular/core";
4
- export class RdxDropdownMenuItemIndicatorDirective {
5
- constructor() {
6
- this.item = inject(RdxDropdownMenuSelectable);
7
- }
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxDropdownMenuItemIndicatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
9
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: RdxDropdownMenuItemIndicatorDirective, isStandalone: true, selector: "[rdxDropdownMenuItemIndicator]", host: { properties: { "style.display": "item.checked ? 'block' : 'none'", "attr.data-state": "item.checked ? 'checked' : 'unchecked'" } }, ngImport: i0 }); }
10
- }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxDropdownMenuItemIndicatorDirective, decorators: [{
12
- type: Directive,
13
- args: [{
14
- selector: '[rdxDropdownMenuItemIndicator]',
15
- standalone: true,
16
- host: {
17
- '[style.display]': "item.checked ? 'block' : 'none'",
18
- '[attr.data-state]': "item.checked ? 'checked' : 'unchecked'"
19
- }
20
- }]
21
- }] });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tbWVudS1pdGVtLWluZGljYXRvci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL2Ryb3Bkb3duLW1lbnUvc3JjL2Ryb3Bkb3duLW1lbnUtaXRlbS1pbmRpY2F0b3IuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQVU1RSxNQUFNLE9BQU8scUNBQXFDO0lBUmxEO1FBU0ksU0FBSSxHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0tBQzVDOytHQUZZLHFDQUFxQzttR0FBckMscUNBQXFDOzs0RkFBckMscUNBQXFDO2tCQVJqRCxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxnQ0FBZ0M7b0JBQzFDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUU7d0JBQ0YsaUJBQWlCLEVBQUUsaUNBQWlDO3dCQUNwRCxtQkFBbUIsRUFBRSx3Q0FBd0M7cUJBQ2hFO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJkeERyb3Bkb3duTWVudVNlbGVjdGFibGUgfSBmcm9tICcuL2Ryb3Bkb3duLW1lbnUtaXRlbS1zZWxlY3RhYmxlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbcmR4RHJvcGRvd25NZW51SXRlbUluZGljYXRvcl0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaG9zdDoge1xuICAgICAgICAnW3N0eWxlLmRpc3BsYXldJzogXCJpdGVtLmNoZWNrZWQgPyAnYmxvY2snIDogJ25vbmUnXCIsXG4gICAgICAgICdbYXR0ci5kYXRhLXN0YXRlXSc6IFwiaXRlbS5jaGVja2VkID8gJ2NoZWNrZWQnIDogJ3VuY2hlY2tlZCdcIlxuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgUmR4RHJvcGRvd25NZW51SXRlbUluZGljYXRvckRpcmVjdGl2ZSB7XG4gICAgaXRlbSA9IGluamVjdChSZHhEcm9wZG93bk1lbnVTZWxlY3RhYmxlKTtcbn1cbiJdfQ==
@@ -1,37 +0,0 @@
1
- import { UniqueSelectionDispatcher } from '@angular/cdk/collections';
2
- import { Directive, EventEmitter, inject, Input, Output } from '@angular/core';
3
- import * as i0 from "@angular/core";
4
- export class RdxDropdownMenuItemRadioGroupDirective {
5
- constructor() {
6
- this.selectionDispatcher = inject(UniqueSelectionDispatcher);
7
- this._value = null;
8
- this.valueChange = new EventEmitter();
9
- }
10
- set value(id) {
11
- this._value = id;
12
- }
13
- get value() {
14
- return this._value;
15
- }
16
- ngAfterContentInit() {
17
- this.selectionDispatcher.notify(this.value, '');
18
- }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxDropdownMenuItemRadioGroupDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
20
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: RdxDropdownMenuItemRadioGroupDirective, isStandalone: true, selector: "[rdxDropdownMenuItemRadioGroup]", inputs: { value: "value" }, outputs: { valueChange: "valueChange" }, host: { attributes: { "role": "group" } }, providers: [{ provide: UniqueSelectionDispatcher, useClass: UniqueSelectionDispatcher }], ngImport: i0 }); }
21
- }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxDropdownMenuItemRadioGroupDirective, decorators: [{
23
- type: Directive,
24
- args: [{
25
- selector: '[rdxDropdownMenuItemRadioGroup]',
26
- standalone: true,
27
- host: {
28
- role: 'group'
29
- },
30
- providers: [{ provide: UniqueSelectionDispatcher, useClass: UniqueSelectionDispatcher }]
31
- }]
32
- }], propDecorators: { value: [{
33
- type: Input
34
- }], valueChange: [{
35
- type: Output
36
- }] } });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tbWVudS1pdGVtLXJhZGlvLWdyb3VwLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvZHJvcGRvd24tbWVudS9zcmMvZHJvcGRvd24tbWVudS1pdGVtLXJhZGlvLWdyb3VwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRSxPQUFPLEVBQW9CLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBVWpHLE1BQU0sT0FBTyxzQ0FBc0M7SUFSbkQ7UUFTcUIsd0JBQW1CLEdBQUcsTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFXakUsV0FBTSxHQUFhLElBQUksQ0FBQztRQUViLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztLQUt2RDtJQWhCRyxJQUNJLEtBQUssQ0FBQyxFQUFZO1FBQ2xCLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQU1ELGtCQUFrQjtRQUNkLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUM5RCxDQUFDOytHQWxCUSxzQ0FBc0M7bUdBQXRDLHNDQUFzQyw4TEFGcEMsQ0FBQyxFQUFFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxRQUFRLEVBQUUseUJBQXlCLEVBQUUsQ0FBQzs7NEZBRS9FLHNDQUFzQztrQkFSbEQsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsaUNBQWlDO29CQUMzQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsSUFBSSxFQUFFO3dCQUNGLElBQUksRUFBRSxPQUFPO3FCQUNoQjtvQkFDRCxTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxRQUFRLEVBQUUseUJBQXlCLEVBQUUsQ0FBQztpQkFDM0Y7OEJBS08sS0FBSztzQkFEUixLQUFLO2dCQVdhLFdBQVc7c0JBQTdCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVbmlxdWVTZWxlY3Rpb25EaXNwYXRjaGVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7IEFmdGVyQ29udGVudEluaXQsIERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBpbmplY3QsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbcmR4RHJvcGRvd25NZW51SXRlbVJhZGlvR3JvdXBdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgcm9sZTogJ2dyb3VwJ1xuICAgIH0sXG4gICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBVbmlxdWVTZWxlY3Rpb25EaXNwYXRjaGVyLCB1c2VDbGFzczogVW5pcXVlU2VsZWN0aW9uRGlzcGF0Y2hlciB9XVxufSlcbmV4cG9ydCBjbGFzcyBSZHhEcm9wZG93bk1lbnVJdGVtUmFkaW9Hcm91cERpcmVjdGl2ZTxUPiBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc2VsZWN0aW9uRGlzcGF0Y2hlciA9IGluamVjdChVbmlxdWVTZWxlY3Rpb25EaXNwYXRjaGVyKTtcblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IHZhbHVlKGlkOiBUIHwgbnVsbCkge1xuICAgICAgICB0aGlzLl92YWx1ZSA9IGlkO1xuICAgIH1cblxuICAgIGdldCB2YWx1ZSgpOiBUIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF92YWx1ZTogVCB8IG51bGwgPSBudWxsO1xuXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlbGVjdGlvbkRpc3BhdGNoZXIubm90aWZ5KHRoaXMudmFsdWUgYXMgc3RyaW5nLCAnJyk7XG4gICAgfVxufVxuIl19
@@ -1,67 +0,0 @@
1
- import { UniqueSelectionDispatcher } from '@angular/cdk/collections';
2
- import { CDK_MENU, CdkMenuItem } from '@angular/cdk/menu';
3
- import { Directive, inject, Input } from '@angular/core';
4
- import { RdxDropdownMenuContentDirective } from './dropdown-menu-content.directive';
5
- import { RdxDropdownMenuItemRadioGroupDirective } from './dropdown-menu-item-radio-group.directive';
6
- import { RdxDropdownMenuSelectable } from './dropdown-menu-item-selectable';
7
- import { RdxDropdownMenuItemDirective } from './dropdown-menu-item.directive';
8
- import * as i0 from "@angular/core";
9
- /** Counter used to set a unique id and name for a selectable item */
10
- let nextId = 0;
11
- export class RdxDropdownMenuItemRadioDirective extends RdxDropdownMenuSelectable {
12
- get value() {
13
- return this._value || this.id;
14
- }
15
- set value(value) {
16
- this._value = value;
17
- }
18
- constructor() {
19
- super();
20
- /** The unique selection dispatcher for this radio's `RdxDropdownMenuItemRadioGroupDirective`. */
21
- this.selectionDispatcher = inject(UniqueSelectionDispatcher);
22
- this.group = inject(RdxDropdownMenuItemRadioGroupDirective);
23
- /** An ID to identify this radio item to the `UniqueSelectionDispatcher`. */
24
- this.id = `${nextId++}`;
25
- this.triggered.subscribe(() => {
26
- if (!this.disabled) {
27
- this.selectionDispatcher.notify(this.value, '');
28
- this.group.valueChange.emit(this.value);
29
- }
30
- });
31
- }
32
- ngAfterContentInit() {
33
- this.removeDispatcherListener = this.selectionDispatcher.listen((id) => {
34
- this.checked = this.value === id;
35
- });
36
- }
37
- ngOnDestroy() {
38
- super.ngOnDestroy();
39
- this.removeDispatcherListener();
40
- }
41
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxDropdownMenuItemRadioDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
42
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: RdxDropdownMenuItemRadioDirective, isStandalone: true, selector: "[rdxDropdownMenuItemRadio]", inputs: { value: "value" }, host: { attributes: { "role": "menuitemradio" } }, providers: [
43
- { provide: RdxDropdownMenuSelectable, useExisting: RdxDropdownMenuItemRadioDirective },
44
- { provide: RdxDropdownMenuItemDirective, useExisting: RdxDropdownMenuSelectable },
45
- { provide: CdkMenuItem, useExisting: RdxDropdownMenuItemDirective },
46
- { provide: CDK_MENU, useExisting: RdxDropdownMenuContentDirective }
47
- ], usesInheritance: true, ngImport: i0 }); }
48
- }
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxDropdownMenuItemRadioDirective, decorators: [{
50
- type: Directive,
51
- args: [{
52
- selector: '[rdxDropdownMenuItemRadio]',
53
- standalone: true,
54
- host: {
55
- role: 'menuitemradio'
56
- },
57
- providers: [
58
- { provide: RdxDropdownMenuSelectable, useExisting: RdxDropdownMenuItemRadioDirective },
59
- { provide: RdxDropdownMenuItemDirective, useExisting: RdxDropdownMenuSelectable },
60
- { provide: CdkMenuItem, useExisting: RdxDropdownMenuItemDirective },
61
- { provide: CDK_MENU, useExisting: RdxDropdownMenuContentDirective }
62
- ]
63
- }]
64
- }], ctorParameters: () => [], propDecorators: { value: [{
65
- type: Input
66
- }] } });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tbWVudS1pdGVtLXJhZGlvLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvZHJvcGRvd24tbWVudS9zcmMvZHJvcGRvd24tbWVudS1pdGVtLXJhZGlvLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzFELE9BQU8sRUFBb0IsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDcEYsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDcEcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7O0FBRTlFLHFFQUFxRTtBQUNyRSxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7QUFlZixNQUFNLE9BQU8saUNBQ1QsU0FBUSx5QkFBeUI7SUFRakMsSUFDSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLEtBQWE7UUFDbkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQVNEO1FBQ0ksS0FBSyxFQUFFLENBQUM7UUF0QlosaUdBQWlHO1FBQ2hGLHdCQUFtQixHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBRXhELFVBQUssR0FBRyxNQUFNLENBQUMsc0NBQXNDLENBQUMsQ0FBQztRQWF4RSw0RUFBNEU7UUFDcEUsT0FBRSxHQUFHLEdBQUcsTUFBTSxFQUFFLEVBQUUsQ0FBQztRQU92QixJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDakIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUVoRCxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzVDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxrQkFBa0I7UUFDZCxJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQVUsRUFBRSxFQUFFO1lBQzNFLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssS0FBSyxFQUFFLENBQUM7UUFDckMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRVEsV0FBVztRQUNoQixLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7SUFDcEMsQ0FBQzsrR0E5Q1EsaUNBQWlDO21HQUFqQyxpQ0FBaUMsd0pBUC9CO1lBQ1AsRUFBRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsV0FBVyxFQUFFLGlDQUFpQyxFQUFFO1lBQ3RGLEVBQUUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLFdBQVcsRUFBRSx5QkFBeUIsRUFBRTtZQUNqRixFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLDRCQUE0QixFQUFFO1lBQ25FLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsK0JBQStCLEVBQUU7U0FDdEU7OzRGQUVRLGlDQUFpQztrQkFiN0MsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsNEJBQTRCO29CQUN0QyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsSUFBSSxFQUFFO3dCQUNGLElBQUksRUFBRSxlQUFlO3FCQUN4QjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1AsRUFBRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsV0FBVyxtQ0FBbUMsRUFBRTt3QkFDdEYsRUFBRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsV0FBVyxFQUFFLHlCQUF5QixFQUFFO3dCQUNqRixFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLDRCQUE0QixFQUFFO3dCQUNuRSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLCtCQUErQixFQUFFO3FCQUN0RTtpQkFDSjt3REFXTyxLQUFLO3NCQURSLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVbmlxdWVTZWxlY3Rpb25EaXNwYXRjaGVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7IENES19NRU5VLCBDZGtNZW51SXRlbSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9tZW51JztcbmltcG9ydCB7IEFmdGVyQ29udGVudEluaXQsIERpcmVjdGl2ZSwgaW5qZWN0LCBJbnB1dCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZHhEcm9wZG93bk1lbnVDb250ZW50RGlyZWN0aXZlIH0gZnJvbSAnLi9kcm9wZG93bi1tZW51LWNvbnRlbnQuZGlyZWN0aXZlJztcbmltcG9ydCB7IFJkeERyb3Bkb3duTWVudUl0ZW1SYWRpb0dyb3VwRGlyZWN0aXZlIH0gZnJvbSAnLi9kcm9wZG93bi1tZW51LWl0ZW0tcmFkaW8tZ3JvdXAuZGlyZWN0aXZlJztcbmltcG9ydCB7IFJkeERyb3Bkb3duTWVudVNlbGVjdGFibGUgfSBmcm9tICcuL2Ryb3Bkb3duLW1lbnUtaXRlbS1zZWxlY3RhYmxlJztcbmltcG9ydCB7IFJkeERyb3Bkb3duTWVudUl0ZW1EaXJlY3RpdmUgfSBmcm9tICcuL2Ryb3Bkb3duLW1lbnUtaXRlbS5kaXJlY3RpdmUnO1xuXG4vKiogQ291bnRlciB1c2VkIHRvIHNldCBhIHVuaXF1ZSBpZCBhbmQgbmFtZSBmb3IgYSBzZWxlY3RhYmxlIGl0ZW0gKi9cbmxldCBuZXh0SWQgPSAwO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tyZHhEcm9wZG93bk1lbnVJdGVtUmFkaW9dJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgcm9sZTogJ21lbnVpdGVtcmFkaW8nXG4gICAgfSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBSZHhEcm9wZG93bk1lbnVTZWxlY3RhYmxlLCB1c2VFeGlzdGluZzogUmR4RHJvcGRvd25NZW51SXRlbVJhZGlvRGlyZWN0aXZlIH0sXG4gICAgICAgIHsgcHJvdmlkZTogUmR4RHJvcGRvd25NZW51SXRlbURpcmVjdGl2ZSwgdXNlRXhpc3Rpbmc6IFJkeERyb3Bkb3duTWVudVNlbGVjdGFibGUgfSxcbiAgICAgICAgeyBwcm92aWRlOiBDZGtNZW51SXRlbSwgdXNlRXhpc3Rpbmc6IFJkeERyb3Bkb3duTWVudUl0ZW1EaXJlY3RpdmUgfSxcbiAgICAgICAgeyBwcm92aWRlOiBDREtfTUVOVSwgdXNlRXhpc3Rpbmc6IFJkeERyb3Bkb3duTWVudUNvbnRlbnREaXJlY3RpdmUgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgUmR4RHJvcGRvd25NZW51SXRlbVJhZGlvRGlyZWN0aXZlXG4gICAgZXh0ZW5kcyBSZHhEcm9wZG93bk1lbnVTZWxlY3RhYmxlXG4gICAgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3lcbntcbiAgICAvKiogVGhlIHVuaXF1ZSBzZWxlY3Rpb24gZGlzcGF0Y2hlciBmb3IgdGhpcyByYWRpbydzIGBSZHhEcm9wZG93bk1lbnVJdGVtUmFkaW9Hcm91cERpcmVjdGl2ZWAuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZWxlY3Rpb25EaXNwYXRjaGVyID0gaW5qZWN0KFVuaXF1ZVNlbGVjdGlvbkRpc3BhdGNoZXIpO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBncm91cCA9IGluamVjdChSZHhEcm9wZG93bk1lbnVJdGVtUmFkaW9Hcm91cERpcmVjdGl2ZSk7XG5cbiAgICBASW5wdXQoKVxuICAgIGdldCB2YWx1ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlIHx8IHRoaXMuaWQ7XG4gICAgfVxuXG4gICAgc2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF92YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gICAgLyoqIEFuIElEIHRvIGlkZW50aWZ5IHRoaXMgcmFkaW8gaXRlbSB0byB0aGUgYFVuaXF1ZVNlbGVjdGlvbkRpc3BhdGNoZXJgLiAqL1xuICAgIHByaXZhdGUgaWQgPSBgJHtuZXh0SWQrK31gO1xuXG4gICAgcHJpdmF0ZSByZW1vdmVEaXNwYXRjaGVyTGlzdGVuZXIhOiAoKSA9PiB2b2lkO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG5cbiAgICAgICAgdGhpcy50cmlnZ2VyZWQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uRGlzcGF0Y2hlci5ub3RpZnkodGhpcy52YWx1ZSwgJycpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5ncm91cC52YWx1ZUNoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgICAgIHRoaXMucmVtb3ZlRGlzcGF0Y2hlckxpc3RlbmVyID0gdGhpcy5zZWxlY3Rpb25EaXNwYXRjaGVyLmxpc3RlbigoaWQ6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgdGhpcy5jaGVja2VkID0gdGhpcy52YWx1ZSA9PT0gaWQ7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIG5nT25EZXN0cm95KCkge1xuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgICAgICB0aGlzLnJlbW92ZURpc3BhdGNoZXJMaXN0ZW5lcigpO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,31 +0,0 @@
1
- import { booleanAttribute, Directive, EventEmitter, Input, Output } from '@angular/core';
2
- import { RdxDropdownMenuItemDirective } from './dropdown-menu-item.directive';
3
- import * as i0 from "@angular/core";
4
- /** Base class providing checked state for selectable DropdownMenuItems. */
5
- export class RdxDropdownMenuSelectable extends RdxDropdownMenuItemDirective {
6
- constructor() {
7
- super(...arguments);
8
- /** Whether the element is checked */
9
- this.checked = false;
10
- this.checkedChange = new EventEmitter();
11
- }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxDropdownMenuSelectable, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
13
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.11", type: RdxDropdownMenuSelectable, isStandalone: true, inputs: { checked: ["checked", "checked", booleanAttribute] }, outputs: { checkedChange: "checkedChange" }, host: { properties: { "attr.aria-checked": "!!checked", "attr.aria-disabled": "disabled || null", "attr.data-state": "checked ? \"checked\" : \"unchecked\"" } }, usesInheritance: true, ngImport: i0 }); }
14
- }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxDropdownMenuSelectable, decorators: [{
16
- type: Directive,
17
- args: [{
18
- standalone: true,
19
- host: {
20
- '[attr.aria-checked]': '!!checked',
21
- '[attr.aria-disabled]': 'disabled || null',
22
- '[attr.data-state]': 'checked ? "checked" : "unchecked"'
23
- }
24
- }]
25
- }], propDecorators: { checked: [{
26
- type: Input,
27
- args: [{ transform: booleanAttribute }]
28
- }], checkedChange: [{
29
- type: Output
30
- }] } });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tbWVudS1pdGVtLXNlbGVjdGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL2Ryb3Bkb3duLW1lbnUvc3JjL2Ryb3Bkb3duLW1lbnUtaXRlbS1zZWxlY3RhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7O0FBRTlFLDJFQUEyRTtBQVMzRSxNQUFNLE9BQU8seUJBQTBCLFNBQVEsNEJBQTRCO0lBUjNFOztRQVNJLHFDQUFxQztRQUNHLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFFOUMsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0tBQ2xFOytHQUxZLHlCQUF5QjttR0FBekIseUJBQXlCLGdFQUVkLGdCQUFnQjs7NEZBRjNCLHlCQUF5QjtrQkFSckMsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsSUFBSSxFQUFFO3dCQUNGLHFCQUFxQixFQUFFLFdBQVc7d0JBQ2xDLHNCQUFzQixFQUFFLGtCQUFrQjt3QkFDMUMsbUJBQW1CLEVBQUUsbUNBQW1DO3FCQUMzRDtpQkFDSjs4QkFHMkMsT0FBTztzQkFBOUMsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFFbkIsYUFBYTtzQkFBL0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGJvb2xlYW5BdHRyaWJ1dGUsIERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZHhEcm9wZG93bk1lbnVJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi9kcm9wZG93bi1tZW51LWl0ZW0uZGlyZWN0aXZlJztcblxuLyoqIEJhc2UgY2xhc3MgcHJvdmlkaW5nIGNoZWNrZWQgc3RhdGUgZm9yIHNlbGVjdGFibGUgRHJvcGRvd25NZW51SXRlbXMuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1thdHRyLmFyaWEtY2hlY2tlZF0nOiAnISFjaGVja2VkJyxcbiAgICAgICAgJ1thdHRyLmFyaWEtZGlzYWJsZWRdJzogJ2Rpc2FibGVkIHx8IG51bGwnLFxuICAgICAgICAnW2F0dHIuZGF0YS1zdGF0ZV0nOiAnY2hlY2tlZCA/IFwiY2hlY2tlZFwiIDogXCJ1bmNoZWNrZWRcIidcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFJkeERyb3Bkb3duTWVudVNlbGVjdGFibGUgZXh0ZW5kcyBSZHhEcm9wZG93bk1lbnVJdGVtRGlyZWN0aXZlIHtcbiAgICAvKiogV2hldGhlciB0aGUgZWxlbWVudCBpcyBjaGVja2VkICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGNoZWNrZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIEBPdXRwdXQoKSByZWFkb25seSBjaGVja2VkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xufVxuIl19
@@ -1,73 +0,0 @@
1
- import { CDK_MENU, CdkMenuItem } from '@angular/cdk/menu';
2
- import { booleanAttribute, Directive, ElementRef, EventEmitter, inject, Input, Output } from '@angular/core';
3
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
- import { RdxDropdownMenuContentDirective } from './dropdown-menu-content.directive';
5
- import * as i0 from "@angular/core";
6
- export class RdxDropdownMenuItemDirective extends CdkMenuItem {
7
- constructor() {
8
- super();
9
- this.menu = inject(RdxDropdownMenuContentDirective);
10
- this.nativeElement = inject(ElementRef).nativeElement;
11
- this.highlighted = false;
12
- this.disabled = false;
13
- this.onSelect = new EventEmitter();
14
- this.menu.highlighted.pipe(takeUntilDestroyed()).subscribe((value) => {
15
- if (value !== this) {
16
- this.highlighted = false;
17
- }
18
- });
19
- this.triggered.subscribe(this.onSelect);
20
- }
21
- onPointerMove() {
22
- if (!this.highlighted) {
23
- this.nativeElement.focus({ preventScroll: true });
24
- this.menu.updateActiveItem(this);
25
- }
26
- }
27
- onKeydown(event) {
28
- if (this.nativeElement.tagName !== 'BUTTON' && ['Enter', ' '].includes(event.key)) {
29
- event.preventDefault();
30
- }
31
- if (event.key === 'Escape') {
32
- if (!this.menu.closeOnEscape) {
33
- event.stopPropagation();
34
- }
35
- else {
36
- this.menu.onEscapeKeyDown(event);
37
- }
38
- }
39
- }
40
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxDropdownMenuItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
41
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.11", type: RdxDropdownMenuItemDirective, isStandalone: true, selector: "[rdxDropdownMenuItem]", inputs: { disabled: ["disabled", "disabled", booleanAttribute] }, outputs: { onSelect: "onSelect" }, host: { attributes: { "type": "button" }, listeners: { "pointermove": "onPointerMove()", "focus": "menu.highlighted.next(this)", "keydown": "onKeydown($event)" }, properties: { "attr.data-orientation": "\"vertical\"", "attr.data-highlighted": "highlighted ? \"\" : null", "attr.data-disabled": "disabled ? \"\" : null", "attr.disabled": "disabled ? \"\" : null" } }, providers: [
42
- { provide: CdkMenuItem, useExisting: RdxDropdownMenuItemDirective },
43
- { provide: CDK_MENU, useExisting: RdxDropdownMenuContentDirective }
44
- ], usesInheritance: true, ngImport: i0 }); }
45
- }
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxDropdownMenuItemDirective, decorators: [{
47
- type: Directive,
48
- args: [{
49
- selector: '[rdxDropdownMenuItem]',
50
- standalone: true,
51
- host: {
52
- type: 'button',
53
- // todo horizontal ?
54
- '[attr.data-orientation]': '"vertical"',
55
- '[attr.data-highlighted]': 'highlighted ? "" : null',
56
- '[attr.data-disabled]': 'disabled ? "" : null',
57
- '[attr.disabled]': 'disabled ? "" : null',
58
- '(pointermove)': 'onPointerMove()',
59
- '(focus)': 'menu.highlighted.next(this)',
60
- '(keydown)': 'onKeydown($event)'
61
- },
62
- providers: [
63
- { provide: CdkMenuItem, useExisting: RdxDropdownMenuItemDirective },
64
- { provide: CDK_MENU, useExisting: RdxDropdownMenuContentDirective }
65
- ]
66
- }]
67
- }], ctorParameters: () => [], propDecorators: { disabled: [{
68
- type: Input,
69
- args: [{ transform: booleanAttribute }]
70
- }], onSelect: [{
71
- type: Output
72
- }] } });
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tbWVudS1pdGVtLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvZHJvcGRvd24tbWVudS9zcmMvZHJvcGRvd24tbWVudS1pdGVtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzFELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7QUFxQnBGLE1BQU0sT0FBTyw0QkFBNkIsU0FBUSxXQUFXO0lBVXpEO1FBQ0ksS0FBSyxFQUFFLENBQUM7UUFWTyxTQUFJLEdBQUcsTUFBTSxDQUFDLCtCQUErQixDQUFDLENBQUM7UUFDL0Msa0JBQWEsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsYUFBYSxDQUFDO1FBRXBFLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBRTZCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFFeEQsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFLbkQsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNqRSxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUUsQ0FBQztnQkFDakIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7WUFDN0IsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFUyxhQUFhO1FBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUNsRCxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JDLENBQUM7SUFDTCxDQUFDO0lBRVMsU0FBUyxDQUFDLEtBQW9CO1FBQ3BDLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEtBQUssUUFBUSxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNoRixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDM0IsQ0FBQztRQUVELElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDM0IsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQzVCLENBQUM7aUJBQU0sQ0FBQztnQkFDSixJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNyQyxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7K0dBekNRLDRCQUE0QjttR0FBNUIsNEJBQTRCLHNHQU1qQixnQkFBZ0Isa2FBWHpCO1lBQ1AsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSw0QkFBNEIsRUFBRTtZQUNuRSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLCtCQUErQixFQUFFO1NBQ3RFOzs0RkFFUSw0QkFBNEI7a0JBbkJ4QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUU7d0JBQ0YsSUFBSSxFQUFFLFFBQVE7d0JBQ2Qsb0JBQW9CO3dCQUNwQix5QkFBeUIsRUFBRSxZQUFZO3dCQUN2Qyx5QkFBeUIsRUFBRSx5QkFBeUI7d0JBQ3BELHNCQUFzQixFQUFFLHNCQUFzQjt3QkFDOUMsaUJBQWlCLEVBQUUsc0JBQXNCO3dCQUN6QyxlQUFlLEVBQUUsaUJBQWlCO3dCQUNsQyxTQUFTLEVBQUUsNkJBQTZCO3dCQUN4QyxXQUFXLEVBQUUsbUJBQW1CO3FCQUNuQztvQkFDRCxTQUFTLEVBQUU7d0JBQ1AsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsOEJBQThCLEVBQUU7d0JBQ25FLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsK0JBQStCLEVBQUU7cUJBQ3RFO2lCQUNKO3dEQU9vRCxRQUFRO3NCQUF4RCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUVuQixRQUFRO3NCQUExQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ0RLX01FTlUsIENka01lbnVJdGVtIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL21lbnUnO1xuaW1wb3J0IHsgYm9vbGVhbkF0dHJpYnV0ZSwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIGluamVjdCwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuXG5pbXBvcnQgeyBSZHhEcm9wZG93bk1lbnVDb250ZW50RGlyZWN0aXZlIH0gZnJvbSAnLi9kcm9wZG93bi1tZW51LWNvbnRlbnQuZGlyZWN0aXZlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbcmR4RHJvcGRvd25NZW51SXRlbV0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaG9zdDoge1xuICAgICAgICB0eXBlOiAnYnV0dG9uJyxcbiAgICAgICAgLy8gdG9kbyBob3Jpem9udGFsID9cbiAgICAgICAgJ1thdHRyLmRhdGEtb3JpZW50YXRpb25dJzogJ1widmVydGljYWxcIicsXG4gICAgICAgICdbYXR0ci5kYXRhLWhpZ2hsaWdodGVkXSc6ICdoaWdobGlnaHRlZCA/IFwiXCIgOiBudWxsJyxcbiAgICAgICAgJ1thdHRyLmRhdGEtZGlzYWJsZWRdJzogJ2Rpc2FibGVkID8gXCJcIiA6IG51bGwnLFxuICAgICAgICAnW2F0dHIuZGlzYWJsZWRdJzogJ2Rpc2FibGVkID8gXCJcIiA6IG51bGwnLFxuICAgICAgICAnKHBvaW50ZXJtb3ZlKSc6ICdvblBvaW50ZXJNb3ZlKCknLFxuICAgICAgICAnKGZvY3VzKSc6ICdtZW51LmhpZ2hsaWdodGVkLm5leHQodGhpcyknLFxuICAgICAgICAnKGtleWRvd24pJzogJ29uS2V5ZG93bigkZXZlbnQpJ1xuICAgIH0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHsgcHJvdmlkZTogQ2RrTWVudUl0ZW0sIHVzZUV4aXN0aW5nOiBSZHhEcm9wZG93bk1lbnVJdGVtRGlyZWN0aXZlIH0sXG4gICAgICAgIHsgcHJvdmlkZTogQ0RLX01FTlUsIHVzZUV4aXN0aW5nOiBSZHhEcm9wZG93bk1lbnVDb250ZW50RGlyZWN0aXZlIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFJkeERyb3Bkb3duTWVudUl0ZW1EaXJlY3RpdmUgZXh0ZW5kcyBDZGtNZW51SXRlbSB7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG1lbnUgPSBpbmplY3QoUmR4RHJvcGRvd25NZW51Q29udGVudERpcmVjdGl2ZSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG5hdGl2ZUVsZW1lbnQgPSBpbmplY3QoRWxlbWVudFJlZikubmF0aXZlRWxlbWVudDtcblxuICAgIGhpZ2hsaWdodGVkID0gZmFsc2U7XG5cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgb3ZlcnJpZGUgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIEBPdXRwdXQoKSByZWFkb25seSBvblNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuXG4gICAgICAgIHRoaXMubWVudS5oaWdobGlnaHRlZC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKS5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICBpZiAodmFsdWUgIT09IHRoaXMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmhpZ2hsaWdodGVkID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMudHJpZ2dlcmVkLnN1YnNjcmliZSh0aGlzLm9uU2VsZWN0KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25Qb2ludGVyTW92ZSgpIHtcbiAgICAgICAgaWYgKCF0aGlzLmhpZ2hsaWdodGVkKSB7XG4gICAgICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQuZm9jdXMoeyBwcmV2ZW50U2Nyb2xsOiB0cnVlIH0pO1xuICAgICAgICAgICAgdGhpcy5tZW51LnVwZGF0ZUFjdGl2ZUl0ZW0odGhpcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25LZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLm5hdGl2ZUVsZW1lbnQudGFnTmFtZSAhPT0gJ0JVVFRPTicgJiYgWydFbnRlcicsICcgJ10uaW5jbHVkZXMoZXZlbnQua2V5KSkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChldmVudC5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMubWVudS5jbG9zZU9uRXNjYXBlKSB7XG4gICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMubWVudS5vbkVzY2FwZUtleURvd24oZXZlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -1,14 +0,0 @@
1
- import { Directive } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class RdxDropdownMenuLabelDirective {
4
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxDropdownMenuLabelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
5
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: RdxDropdownMenuLabelDirective, isStandalone: true, selector: "[rdxDropdownMenuLabel]", ngImport: i0 }); }
6
- }
7
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxDropdownMenuLabelDirective, decorators: [{
8
- type: Directive,
9
- args: [{
10
- selector: '[rdxDropdownMenuLabel]',
11
- standalone: true
12
- }]
13
- }] });
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tbWVudS1sYWJlbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL2Ryb3Bkb3duLW1lbnUvc3JjL2Ryb3Bkb3duLW1lbnUtbGFiZWwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTTFDLE1BQU0sT0FBTyw2QkFBNkI7K0dBQTdCLDZCQUE2QjttR0FBN0IsNkJBQTZCOzs0RkFBN0IsNkJBQTZCO2tCQUp6QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLFVBQVUsRUFBRSxJQUFJO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tyZHhEcm9wZG93bk1lbnVMYWJlbF0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgUmR4RHJvcGRvd25NZW51TGFiZWxEaXJlY3RpdmUge31cbiJdfQ==
@@ -1,21 +0,0 @@
1
- import { Directive } from '@angular/core';
2
- import { RdxSeparatorRootDirective } from '@radix-ng/primitives/separator';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@radix-ng/primitives/separator";
5
- export class RdxDropdownMenuSeparatorDirective {
6
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxDropdownMenuSeparatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
7
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: RdxDropdownMenuSeparatorDirective, isStandalone: true, selector: "[rdxDropdownMenuSeparator]", host: { attributes: { "role": "separator" }, properties: { "attr.aria-orientation": "'horizontal'" } }, hostDirectives: [{ directive: i1.RdxSeparatorRootDirective }], ngImport: i0 }); }
8
- }
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxDropdownMenuSeparatorDirective, decorators: [{
10
- type: Directive,
11
- args: [{
12
- selector: '[rdxDropdownMenuSeparator]',
13
- standalone: true,
14
- hostDirectives: [RdxSeparatorRootDirective],
15
- host: {
16
- role: 'separator',
17
- '[attr.aria-orientation]': "'horizontal'"
18
- }
19
- }]
20
- }] });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tbWVudS1zZXBhcmF0b3IuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcHJpbWl0aXZlcy9kcm9wZG93bi1tZW51L3NyYy9kcm9wZG93bi1tZW51LXNlcGFyYXRvci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7O0FBVzNFLE1BQU0sT0FBTyxpQ0FBaUM7K0dBQWpDLGlDQUFpQzttR0FBakMsaUNBQWlDOzs0RkFBakMsaUNBQWlDO2tCQVQ3QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSw0QkFBNEI7b0JBQ3RDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixjQUFjLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztvQkFDM0MsSUFBSSxFQUFFO3dCQUNGLElBQUksRUFBRSxXQUFXO3dCQUNqQix5QkFBeUIsRUFBRSxjQUFjO3FCQUM1QztpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmR4U2VwYXJhdG9yUm9vdERpcmVjdGl2ZSB9IGZyb20gJ0ByYWRpeC1uZy9wcmltaXRpdmVzL3NlcGFyYXRvcic7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3JkeERyb3Bkb3duTWVudVNlcGFyYXRvcl0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtSZHhTZXBhcmF0b3JSb290RGlyZWN0aXZlXSxcbiAgICBob3N0OiB7XG4gICAgICAgIHJvbGU6ICdzZXBhcmF0b3InLFxuICAgICAgICAnW2F0dHIuYXJpYS1vcmllbnRhdGlvbl0nOiBcIidob3Jpem9udGFsJ1wiXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBSZHhEcm9wZG93bk1lbnVTZXBhcmF0b3JEaXJlY3RpdmUge31cbiJdfQ==
@@ -1,210 +0,0 @@
1
- import { CdkMenuTrigger, MENU_TRIGGER, PARENT_OR_NEW_MENU_STACK_PROVIDER } from '@angular/cdk/menu';
2
- import { booleanAttribute, Directive, Input, input, numberAttribute } from '@angular/core';
3
- import { outputFromObservable } from '@angular/core/rxjs-interop';
4
- import * as i0 from "@angular/core";
5
- export var DropdownSide;
6
- (function (DropdownSide) {
7
- DropdownSide["Top"] = "top";
8
- DropdownSide["Right"] = "right";
9
- DropdownSide["Bottom"] = "bottom";
10
- DropdownSide["Left"] = "left";
11
- })(DropdownSide || (DropdownSide = {}));
12
- export var DropdownAlign;
13
- (function (DropdownAlign) {
14
- DropdownAlign["Start"] = "start";
15
- DropdownAlign["Center"] = "center";
16
- DropdownAlign["End"] = "end";
17
- })(DropdownAlign || (DropdownAlign = {}));
18
- export const mapRdxAlignToCdkPosition = {
19
- start: 'top',
20
- center: 'center',
21
- end: 'bottom'
22
- };
23
- const dropdownPositions = {
24
- top: {
25
- originX: 'start',
26
- originY: 'top',
27
- overlayX: 'start',
28
- overlayY: 'bottom',
29
- offsetX: 0,
30
- offsetY: 0
31
- },
32
- right: {
33
- originX: 'end',
34
- originY: 'top',
35
- overlayX: 'start',
36
- overlayY: 'top',
37
- offsetX: 0,
38
- offsetY: 0
39
- },
40
- bottom: {
41
- originX: 'start',
42
- originY: 'bottom',
43
- overlayX: 'start',
44
- overlayY: 'top',
45
- offsetX: 0,
46
- offsetY: 0
47
- },
48
- left: {
49
- originX: 'start',
50
- originY: 'top',
51
- overlayX: 'end',
52
- overlayY: 'top',
53
- offsetX: 0,
54
- offsetY: 0
55
- }
56
- };
57
- /**
58
- * @group Components
59
- */
60
- export class RdxDropdownMenuTriggerDirective extends CdkMenuTrigger {
61
- set rdxDropdownMenuTrigger(value) {
62
- this.menuTemplateRef = value;
63
- }
64
- /**
65
- * The preferred side of the trigger to render against when open.
66
- * Will be reversed when collisions occur and `avoidCollisions` is enabled.
67
- *
68
- * @group Props
69
- * @defaultValue 'bottom'
70
- */
71
- set side(value) {
72
- if (!Object.values(DropdownSide).includes(value)) {
73
- throw new Error(`Unknown side: ${value}`);
74
- }
75
- this._side = value;
76
- this.menuPosition[0] = dropdownPositions[value];
77
- }
78
- get side() {
79
- return this._side;
80
- }
81
- /**
82
- * The preferred alignment against the trigger. May change when collisions occur.
83
- *
84
- * @group Props
85
- * @defaultValue 'center'
86
- */
87
- set align(value) {
88
- if (!Object.values(DropdownAlign).includes(value)) {
89
- throw new Error(`Unknown align: ${value}`);
90
- }
91
- this._align = value;
92
- if (this.isVertical) {
93
- this.defaultPosition.overlayX = this.defaultPosition.originX = value;
94
- }
95
- else {
96
- this.defaultPosition.overlayY = this.defaultPosition.originY = mapRdxAlignToCdkPosition[value];
97
- }
98
- }
99
- get align() {
100
- return this._align;
101
- }
102
- /**
103
- * The distance in pixels from the trigger.
104
- * @group Props
105
- * @defaultValue 0
106
- */
107
- set sideOffset(value) {
108
- // todo need invert value for top and left
109
- if (this.isVertical) {
110
- this.defaultPosition.offsetY = value;
111
- }
112
- else {
113
- this.defaultPosition.offsetX = value;
114
- }
115
- }
116
- get sideOffset() {
117
- return this._sideOffset;
118
- }
119
- /**
120
- * An offset in pixels from the "start" or "end" alignment options.
121
- * @group Props
122
- * @defaultValue 0
123
- */
124
- set alignOffset(value) {
125
- // todo need invert value for top and left
126
- if (this.isVertical) {
127
- this.defaultPosition.offsetX = value;
128
- }
129
- else {
130
- this.defaultPosition.offsetY = value;
131
- }
132
- }
133
- get alignOffset() {
134
- return this._alignOffset;
135
- }
136
- get isVertical() {
137
- return this._side === DropdownSide.Top || this._side === DropdownSide.Bottom;
138
- }
139
- get defaultPosition() {
140
- return this.menuPosition[0];
141
- }
142
- constructor() {
143
- super();
144
- this.disabled = input(false, {
145
- transform: booleanAttribute
146
- });
147
- this._side = DropdownSide.Bottom;
148
- this._align = DropdownAlign.Start;
149
- this._sideOffset = 0;
150
- this._alignOffset = 0;
151
- this.onOpenChange = outputFromObservable(this.opened);
152
- // todo priority
153
- this.menuPosition = [{ ...dropdownPositions[DropdownSide.Bottom] }];
154
- }
155
- onPointerDown($event) {
156
- // only call handler if it's the left button (mousedown gets triggered by all mouse buttons)
157
- // but not when the control key is pressed (avoiding MacOS right click)
158
- if (!this.disabled() && $event.button === 0 && !$event.ctrlKey) {
159
- /* empty */
160
- if (!this.isOpen()) {
161
- // prevent trigger focusing when opening
162
- // this allows the content to be given focus without competition
163
- $event.preventDefault();
164
- }
165
- }
166
- }
167
- getOverlayRef() {
168
- return this.overlayRef;
169
- }
170
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxDropdownMenuTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
171
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: RdxDropdownMenuTriggerDirective, isStandalone: true, selector: "[rdxDropdownMenuTrigger]", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, rdxDropdownMenuTrigger: { classPropertyName: "rdxDropdownMenuTrigger", publicName: "rdxDropdownMenuTrigger", isSignal: false, isRequired: false, transformFunction: null }, side: { classPropertyName: "side", publicName: "side", isSignal: false, isRequired: false, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: false, isRequired: false, transformFunction: null }, sideOffset: { classPropertyName: "sideOffset", publicName: "sideOffset", isSignal: false, isRequired: false, transformFunction: numberAttribute }, alignOffset: { classPropertyName: "alignOffset", publicName: "alignOffset", isSignal: false, isRequired: false, transformFunction: numberAttribute } }, outputs: { onOpenChange: "onOpenChange" }, host: { attributes: { "type": "button" }, listeners: { "pointerdown": "onPointerDown($event)" }, properties: { "attr.aria-haspopup": "'menu'", "attr.aria-expanded": "isOpen()", "attr.data-state": "isOpen() ? 'open': 'closed'", "attr.data-disabled": "disabled() ? '' : undefined", "disabled": "disabled()" } }, providers: [
172
- { provide: CdkMenuTrigger, useExisting: RdxDropdownMenuTriggerDirective },
173
- { provide: MENU_TRIGGER, useExisting: CdkMenuTrigger },
174
- PARENT_OR_NEW_MENU_STACK_PROVIDER
175
- ], usesInheritance: true, ngImport: i0 }); }
176
- }
177
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxDropdownMenuTriggerDirective, decorators: [{
178
- type: Directive,
179
- args: [{
180
- selector: '[rdxDropdownMenuTrigger]',
181
- standalone: true,
182
- host: {
183
- type: 'button',
184
- '[attr.aria-haspopup]': "'menu'",
185
- '[attr.aria-expanded]': 'isOpen()',
186
- '[attr.data-state]': "isOpen() ? 'open': 'closed'",
187
- '[attr.data-disabled]': "disabled() ? '' : undefined",
188
- '[disabled]': 'disabled()',
189
- '(pointerdown)': 'onPointerDown($event)'
190
- },
191
- providers: [
192
- { provide: CdkMenuTrigger, useExisting: RdxDropdownMenuTriggerDirective },
193
- { provide: MENU_TRIGGER, useExisting: CdkMenuTrigger },
194
- PARENT_OR_NEW_MENU_STACK_PROVIDER
195
- ]
196
- }]
197
- }], ctorParameters: () => [], propDecorators: { rdxDropdownMenuTrigger: [{
198
- type: Input
199
- }], side: [{
200
- type: Input
201
- }], align: [{
202
- type: Input
203
- }], sideOffset: [{
204
- type: Input,
205
- args: [{ transform: numberAttribute }]
206
- }], alignOffset: [{
207
- type: Input,
208
- args: [{ transform: numberAttribute }]
209
- }] } });
210
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tbWVudS10cmlnZ2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvZHJvcGRvd24tbWVudS9zcmMvZHJvcGRvd24tbWVudS10cmlnZ2VyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXBHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDeEcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBRWxFLE1BQU0sQ0FBTixJQUFZLFlBS1g7QUFMRCxXQUFZLFlBQVk7SUFDcEIsMkJBQVcsQ0FBQTtJQUNYLCtCQUFlLENBQUE7SUFDZixpQ0FBaUIsQ0FBQTtJQUNqQiw2QkFBYSxDQUFBO0FBQ2pCLENBQUMsRUFMVyxZQUFZLEtBQVosWUFBWSxRQUt2QjtBQUVELE1BQU0sQ0FBTixJQUFZLGFBSVg7QUFKRCxXQUFZLGFBQWE7SUFDckIsZ0NBQWUsQ0FBQTtJQUNmLGtDQUFpQixDQUFBO0lBQ2pCLDRCQUFXLENBQUE7QUFDZixDQUFDLEVBSlcsYUFBYSxLQUFiLGFBQWEsUUFJeEI7QUFFRCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRztJQUNwQyxLQUFLLEVBQUUsS0FBSztJQUNaLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLEdBQUcsRUFBRSxRQUFRO0NBQ2hCLENBQUM7QUFFRixNQUFNLGlCQUFpQixHQUE0QztJQUMvRCxHQUFHLEVBQUU7UUFDRCxPQUFPLEVBQUUsT0FBTztRQUNoQixPQUFPLEVBQUUsS0FBSztRQUNkLFFBQVEsRUFBRSxPQUFPO1FBQ2pCLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLE9BQU8s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RixLQUFLO3NCQURSLEtBQUs7Z0JBNkJGLFVBQVU7c0JBRGIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUU7Z0JBc0JqQyxXQUFXO3NCQURkLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQm9vbGVhbklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IENka01lbnVUcmlnZ2VyLCBNRU5VX1RSSUdHRVIsIFBBUkVOVF9PUl9ORVdfTUVOVV9TVEFDS19QUk9WSURFUiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9tZW51JztcbmltcG9ydCB7IENvbm5lY3RlZFBvc2l0aW9uLCBPdmVybGF5UmVmLCBWZXJ0aWNhbENvbm5lY3Rpb25Qb3MgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBib29sZWFuQXR0cmlidXRlLCBEaXJlY3RpdmUsIElucHV0LCBpbnB1dCwgbnVtYmVyQXR0cmlidXRlLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgb3V0cHV0RnJvbU9ic2VydmFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5cbmV4cG9ydCBlbnVtIERyb3Bkb3duU2lkZSB7XG4gICAgVG9wID0gJ3RvcCcsXG4gICAgUmlnaHQgPSAncmlnaHQnLFxuICAgIEJvdHRvbSA9ICdib3R0b20nLFxuICAgIExlZnQgPSAnbGVmdCdcbn1cblxuZXhwb3J0IGVudW0gRHJvcGRvd25BbGlnbiB7XG4gICAgU3RhcnQgPSAnc3RhcnQnLFxuICAgIENlbnRlciA9ICdjZW50ZXInLFxuICAgIEVuZCA9ICdlbmQnXG59XG5cbmV4cG9ydCBjb25zdCBtYXBSZHhBbGlnblRvQ2RrUG9zaXRpb24gPSB7XG4gICAgc3RhcnQ6ICd0b3AnLFxuICAgIGNlbnRlcjogJ2NlbnRlcicsXG4gICAgZW5kOiAnYm90dG9tJ1xufTtcblxuY29uc3QgZHJvcGRvd25Qb3NpdGlvbnM6IFJlY29yZDxEcm9wZG93blNpZGUsIENvbm5lY3RlZFBvc2l0aW9uPiA9IHtcbiAgICB0b3A6IHtcbiAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgICBvdmVybGF5WTogJ2JvdHRvbScsXG4gICAgICAgIG9mZnNldFg6IDAsXG4gICAgICAgIG9mZnNldFk6IDBcbiAgICB9LFxuICAgIHJpZ2h0OiB7XG4gICAgICAgIG9yaWdpblg6ICdlbmQnLFxuICAgICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICAgIG92ZXJsYXlZOiAndG9wJyxcbiAgICAgICAgb2Zmc2V0WDogMCxcbiAgICAgICAgb2Zmc2V0WTogMFxuICAgIH0sXG4gICAgYm90dG9tOiB7XG4gICAgICAgIG9yaWdpblg6ICdzdGFydCcsXG4gICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxuICAgICAgICBvZmZzZXRYOiAwLFxuICAgICAgICBvZmZzZXRZOiAwXG4gICAgfSxcbiAgICBsZWZ0OiB7XG4gICAgICAgIG9yaWdpblg6ICdzdGFydCcsXG4gICAgICAgIG9yaWdpblk6ICd0b3AnLFxuICAgICAgICBvdmVybGF5WDogJ2VuZCcsXG4gICAgICAgIG92ZXJsYXlZOiAndG9wJyxcbiAgICAgICAgb2Zmc2V0WDogMCxcbiAgICAgICAgb2Zmc2V0WTogMFxuICAgIH1cbn07XG5cbi8qKlxuICogQGdyb3VwIENvbXBvbmVudHNcbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbcmR4RHJvcGRvd25NZW51VHJpZ2dlcl0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaG9zdDoge1xuICAgICAgICB0eXBlOiAnYnV0dG9uJyxcbiAgICAgICAgJ1thdHRyLmFyaWEtaGFzcG9wdXBdJzogXCInbWVudSdcIixcbiAgICAgICAgJ1thdHRyLmFyaWEtZXhwYW5kZWRdJzogJ2lzT3BlbigpJyxcbiAgICAgICAgJ1thdHRyLmRhdGEtc3RhdGVdJzogXCJpc09wZW4oKSA/ICdvcGVuJzogJ2Nsb3NlZCdcIixcbiAgICAgICAgJ1thdHRyLmRhdGEtZGlzYWJsZWRdJzogXCJkaXNhYmxlZCgpID8gJycgOiB1bmRlZmluZWRcIixcbiAgICAgICAgJ1tkaXNhYmxlZF0nOiAnZGlzYWJsZWQoKScsXG5cbiAgICAgICAgJyhwb2ludGVyZG93biknOiAnb25Qb2ludGVyRG93bigkZXZlbnQpJ1xuICAgIH0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHsgcHJvdmlkZTogQ2RrTWVudVRyaWdnZXIsIHVzZUV4aXN0aW5nOiBSZHhEcm9wZG93bk1lbnVUcmlnZ2VyRGlyZWN0aXZlIH0sXG4gICAgICAgIHsgcHJvdmlkZTogTUVOVV9UUklHR0VSLCB1c2VFeGlzdGluZzogQ2RrTWVudVRyaWdnZXIgfSxcbiAgICAgICAgUEFSRU5UX09SX05FV19NRU5VX1NUQUNLX1BST1ZJREVSXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBSZHhEcm9wZG93bk1lbnVUcmlnZ2VyRGlyZWN0aXZlIGV4dGVuZHMgQ2RrTWVudVRyaWdnZXIge1xuICAgIHJlYWRvbmx5IGRpc2FibGVkID0gaW5wdXQ8Ym9vbGVhbiwgQm9vbGVhbklucHV0PihmYWxzZSwge1xuICAgICAgICB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGVcbiAgICB9KTtcblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IHJkeERyb3Bkb3duTWVudVRyaWdnZXIodmFsdWU6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgbnVsbCkge1xuICAgICAgICB0aGlzLm1lbnVUZW1wbGF0ZVJlZiA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBwcmVmZXJyZWQgc2lkZSBvZiB0aGUgdHJpZ2dlciB0byByZW5kZXIgYWdhaW5zdCB3aGVuIG9wZW4uXG4gICAgICogV2lsbCBiZSByZXZlcnNlZCB3aGVuIGNvbGxpc2lvbnMgb2NjdXIgYW5kIGBhdm9pZENvbGxpc2lvbnNgIGlzIGVuYWJsZWQuXG4gICAgICpcbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKiBAZGVmYXVsdFZhbHVlICdib3R0b20nXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgc2lkZSh2YWx1ZTogRHJvcGRvd25TaWRlKSB7XG4gICAgICAgIGlmICghT2JqZWN0LnZhbHVlcyhEcm9wZG93blNpZGUpLmluY2x1ZGVzKHZhbHVlKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIHNpZGU6ICR7dmFsdWV9YCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9zaWRlID0gdmFsdWU7XG5cbiAgICAgICAgdGhpcy5tZW51UG9zaXRpb25bMF0gPSBkcm9wZG93blBvc2l0aW9uc1t2YWx1ZV07XG4gICAgfVxuXG4gICAgZ2V0IHNpZGUoKTogRHJvcGRvd25TaWRlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NpZGU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc2lkZTogRHJvcGRvd25TaWRlID0gRHJvcGRvd25TaWRlLkJvdHRvbTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBwcmVmZXJyZWQgYWxpZ25tZW50IGFnYWluc3QgdGhlIHRyaWdnZXIuIE1heSBjaGFuZ2Ugd2hlbiBjb2xsaXNpb25zIG9jY3VyLlxuICAgICAqXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICogQGRlZmF1bHRWYWx1ZSAnY2VudGVyJ1xuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGFsaWduKHZhbHVlOiBEcm9wZG93bkFsaWduKSB7XG4gICAgICAgIGlmICghT2JqZWN0LnZhbHVlcyhEcm9wZG93bkFsaWduKS5pbmNsdWRlcyh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBhbGlnbjogJHt2YWx1ZX1gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2FsaWduID0gdmFsdWU7XG5cbiAgICAgICAgaWYgKHRoaXMuaXNWZXJ0aWNhbCkge1xuICAgICAgICAgICAgdGhpcy5kZWZhdWx0UG9zaXRpb24ub3ZlcmxheVggPSB0aGlzLmRlZmF1bHRQb3NpdGlvbi5vcmlnaW5YID0gdmFsdWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmRlZmF1bHRQb3NpdGlvbi5vdmVybGF5WSA9IHRoaXMuZGVmYXVsdFBvc2l0aW9uLm9yaWdpblkgPSBtYXBSZHhBbGlnblRvQ2RrUG9zaXRpb25bXG4gICAgICAgICAgICAgICAgdmFsdWVcbiAgICAgICAgICAgIF0gYXMgVmVydGljYWxDb25uZWN0aW9uUG9zO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0IGFsaWduKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWxpZ247XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfYWxpZ246IERyb3Bkb3duQWxpZ24gPSBEcm9wZG93bkFsaWduLlN0YXJ0O1xuXG4gICAgLyoqXG4gICAgICogVGhlIGRpc3RhbmNlIGluIHBpeGVscyBmcm9tIHRoZSB0cmlnZ2VyLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqIEBkZWZhdWx0VmFsdWUgMFxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pXG4gICAgc2V0IHNpZGVPZmZzZXQodmFsdWU6IG51bWJlcikge1xuICAgICAgICAvLyB0b2RvIG5lZWQgaW52ZXJ0IHZhbHVlIGZvciB0b3AgYW5kIGxlZnRcbiAgICAgICAgaWYgKHRoaXMuaXNWZXJ0aWNhbCkge1xuICAgICAgICAgICAgdGhpcy5kZWZhdWx0UG9zaXRpb24ub2Zmc2V0WSA9IHZhbHVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5kZWZhdWx0UG9zaXRpb24ub2Zmc2V0WCA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0IHNpZGVPZmZzZXQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zaWRlT2Zmc2V0O1xuICAgIH1cblxuICAgIHByaXZhdGUgX3NpZGVPZmZzZXQ6IG51bWJlciA9IDA7XG5cbiAgICAvKipcbiAgICAgKiBBbiBvZmZzZXQgaW4gcGl4ZWxzIGZyb20gdGhlIFwic3RhcnRcIiBvciBcImVuZFwiIGFsaWdubWVudCBvcHRpb25zLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqIEBkZWZhdWx0VmFsdWUgMFxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pXG4gICAgc2V0IGFsaWduT2Zmc2V0KHZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgLy8gdG9kbyBuZWVkIGludmVydCB2YWx1ZSBmb3IgdG9wIGFuZCBsZWZ0XG4gICAgICAgIGlmICh0aGlzLmlzVmVydGljYWwpIHtcbiAgICAgICAgICAgIHRoaXMuZGVmYXVsdFBvc2l0aW9uLm9mZnNldFggPSB2YWx1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZGVmYXVsdFBvc2l0aW9uLm9mZnNldFkgPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCBhbGlnbk9mZnNldCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWxpZ25PZmZzZXQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfYWxpZ25PZmZzZXQ6IG51bWJlciA9IDA7XG5cbiAgICBvbk9wZW5DaGFuZ2UgPSBvdXRwdXRGcm9tT2JzZXJ2YWJsZSh0aGlzLm9wZW5lZCk7XG5cbiAgICBnZXQgaXNWZXJ0aWNhbCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NpZGUgPT09IERyb3Bkb3duU2lkZS5Ub3AgfHwgdGhpcy5fc2lkZSA9PT0gRHJvcGRvd25TaWRlLkJvdHRvbTtcbiAgICB9XG5cbiAgICBnZXQgZGVmYXVsdFBvc2l0aW9uKCk6IENvbm5lY3RlZFBvc2l0aW9uIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWVudVBvc2l0aW9uWzBdO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICAvLyB0b2RvIHByaW9yaXR5XG4gICAgICAgIHRoaXMubWVudVBvc2l0aW9uID0gW3sgLi4uZHJvcGRvd25Qb3NpdGlvbnNbRHJvcGRvd25TaWRlLkJvdHRvbV0gfV07XG4gICAgfVxuXG4gICAgb25Qb2ludGVyRG93bigkZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgLy8gb25seSBjYWxsIGhhbmRsZXIgaWYgaXQncyB0aGUgbGVmdCBidXR0b24gKG1vdXNlZG93biBnZXRzIHRyaWdnZXJlZCBieSBhbGwgbW91c2UgYnV0dG9ucylcbiAgICAgICAgLy8gYnV0IG5vdCB3aGVuIHRoZSBjb250cm9sIGtleSBpcyBwcmVzc2VkIChhdm9pZGluZyBNYWNPUyByaWdodCBjbGljaylcbiAgICAgICAgaWYgKCF0aGlzLmRpc2FibGVkKCkgJiYgJGV2ZW50LmJ1dHRvbiA9PT0gMCAmJiAhJGV2ZW50LmN0cmxLZXkpIHtcbiAgICAgICAgICAgIC8qIGVtcHR5ICovXG4gICAgICAgICAgICBpZiAoIXRoaXMuaXNPcGVuKCkpIHtcbiAgICAgICAgICAgICAgICAvLyBwcmV2ZW50IHRyaWdnZXIgZm9jdXNpbmcgd2hlbiBvcGVuaW5nXG4gICAgICAgICAgICAgICAgLy8gdGhpcyBhbGxvd3MgdGhlIGNvbnRlbnQgdG8gYmUgZ2l2ZW4gZm9jdXMgd2l0aG91dCBjb21wZXRpdGlvblxuICAgICAgICAgICAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0T3ZlcmxheVJlZigpOiBPdmVybGF5UmVmIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLm92ZXJsYXlSZWY7XG4gICAgfVxufVxuIl19
package/esm2022/index.mjs DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge307XG4iXX0=
@@ -1,2 +0,0 @@
1
- export * from './src/label.directive';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL2xhYmVsL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NyYy9sYWJlbC5kaXJlY3RpdmUnO1xuIl19
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaXgtbmctcHJpbWl0aXZlcy1sYWJlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvbGFiZWwvcmFkaXgtbmctcHJpbWl0aXZlcy1sYWJlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -1,57 +0,0 @@
1
- import { computed, Directive, ElementRef, inject, input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- let idIterator = 0;
4
- /**
5
- * @group Components
6
- */
7
- export class RdxLabelDirective {
8
- constructor() {
9
- /**
10
- * @type string
11
- * @default 'rdx-label-{idIterator}'
12
- */
13
- this.id = input(`rdx-label-${idIterator++}`);
14
- this.elementId = computed(() => (this.id() ? this.id() : null));
15
- /**
16
- * The id of the element the label is associated with.
17
- * @group Props
18
- * @type string
19
- * @defaultValue false
20
- */
21
- this.htmlFor = input('');
22
- this.elementRef = inject((ElementRef));
23
- }
24
- // prevent text selection when double-clicking label
25
- // The main problem with double-clicks in a web app is that
26
- // you will have to create special code to handle this on touch enabled devices.
27
- /**
28
- * @ignore
29
- */
30
- onMouseDown(event) {
31
- const target = event.target;
32
- // only prevent text selection if clicking inside the label itself
33
- if (['BUTTON', 'INPUT', 'SELECT', 'TEXTAREA'].includes(target.tagName)) {
34
- return;
35
- }
36
- // prevent text selection when double-clicking label
37
- if (this.elementRef.nativeElement.contains(target) && !event.defaultPrevented && event.detail > 1) {
38
- event.preventDefault();
39
- }
40
- }
41
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxLabelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
42
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: RdxLabelDirective, isStandalone: true, selector: "label[rdxLabel]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, htmlFor: { classPropertyName: "htmlFor", publicName: "htmlFor", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "mousedown": "onMouseDown($event)" }, properties: { "attr.id": "this.elementId()", "attr.for": "htmlFor ? htmlFor() : null" } }, exportAs: ["rdxLabel"], ngImport: i0 }); }
43
- }
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxLabelDirective, decorators: [{
45
- type: Directive,
46
- args: [{
47
- selector: 'label[rdxLabel]',
48
- exportAs: 'rdxLabel',
49
- standalone: true,
50
- host: {
51
- '[attr.id]': 'this.elementId()',
52
- '[attr.for]': 'htmlFor ? htmlFor() : null',
53
- '(mousedown)': 'onMouseDown($event)'
54
- }
55
- }]
56
- }] });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFiZWwuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcHJpbWl0aXZlcy9sYWJlbC9zcmMvbGFiZWwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFlLE1BQU0sZUFBZSxDQUFDOztBQUU1RixJQUFJLFVBQVUsR0FBRyxDQUFDLENBQUM7QUFFbkI7O0dBRUc7QUFXSCxNQUFNLE9BQU8saUJBQWlCO0lBVjlCO1FBV0k7OztXQUdHO1FBQ00sT0FBRSxHQUF3QixLQUFLLENBQVMsYUFBYSxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFM0QsY0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBRTlFOzs7OztXQUtHO1FBQ00sWUFBTyxHQUF3QixLQUFLLENBQVMsRUFBRSxDQUFDLENBQUM7UUFFekMsZUFBVSxHQUFHLE1BQU0sQ0FBQyxDQUFBLFVBQXVCLENBQUEsQ0FBQyxDQUFDO0tBcUJqRTtJQW5CRyxvREFBb0Q7SUFDcEQsMkRBQTJEO0lBQzNELGdGQUFnRjtJQUNoRjs7T0FFRztJQUNILFdBQVcsQ0FBQyxLQUFpQjtRQUN6QixNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBcUIsQ0FBQztRQUUzQyxrRUFBa0U7UUFDbEUsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNyRSxPQUFPO1FBQ1gsQ0FBQztRQUVELG9EQUFvRDtRQUNwRCxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2hHLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUMzQixDQUFDO0lBQ0wsQ0FBQzsrR0FyQ1EsaUJBQWlCO21HQUFqQixpQkFBaUI7OzRGQUFqQixpQkFBaUI7a0JBVjdCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsUUFBUSxFQUFFLFVBQVU7b0JBQ3BCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUU7d0JBQ0YsV0FBVyxFQUFFLGtCQUFrQjt3QkFDL0IsWUFBWSxFQUFFLDRCQUE0Qjt3QkFDMUMsYUFBYSxFQUFFLHFCQUFxQjtxQkFDdkM7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb21wdXRlZCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBpbmplY3QsIGlucHV0LCBJbnB1dFNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5sZXQgaWRJdGVyYXRvciA9IDA7XG5cbi8qKlxuICogQGdyb3VwIENvbXBvbmVudHNcbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdsYWJlbFtyZHhMYWJlbF0nLFxuICAgIGV4cG9ydEFzOiAncmR4TGFiZWwnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2F0dHIuaWRdJzogJ3RoaXMuZWxlbWVudElkKCknLFxuICAgICAgICAnW2F0dHIuZm9yXSc6ICdodG1sRm9yID8gaHRtbEZvcigpIDogbnVsbCcsXG4gICAgICAgICcobW91c2Vkb3duKSc6ICdvbk1vdXNlRG93bigkZXZlbnQpJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgUmR4TGFiZWxEaXJlY3RpdmUge1xuICAgIC8qKlxuICAgICAqIEB0eXBlIHN0cmluZ1xuICAgICAqIEBkZWZhdWx0ICdyZHgtbGFiZWwte2lkSXRlcmF0b3J9J1xuICAgICAqL1xuICAgIHJlYWRvbmx5IGlkOiBJbnB1dFNpZ25hbDxzdHJpbmc+ID0gaW5wdXQ8c3RyaW5nPihgcmR4LWxhYmVsLSR7aWRJdGVyYXRvcisrfWApO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGVsZW1lbnRJZCA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLmlkKCkgPyB0aGlzLmlkKCkgOiBudWxsKSk7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgaWQgb2YgdGhlIGVsZW1lbnQgdGhlIGxhYmVsIGlzIGFzc29jaWF0ZWQgd2l0aC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKiBAdHlwZSBzdHJpbmdcbiAgICAgKiBAZGVmYXVsdFZhbHVlIGZhbHNlXG4gICAgICovXG4gICAgcmVhZG9ubHkgaHRtbEZvcjogSW5wdXRTaWduYWw8c3RyaW5nPiA9IGlucHV0PHN0cmluZz4oJycpO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KTtcblxuICAgIC8vIHByZXZlbnQgdGV4dCBzZWxlY3Rpb24gd2hlbiBkb3VibGUtY2xpY2tpbmcgbGFiZWxcbiAgICAvLyBUaGUgbWFpbiBwcm9ibGVtIHdpdGggZG91YmxlLWNsaWNrcyBpbiBhIHdlYiBhcHAgaXMgdGhhdFxuICAgIC8vIHlvdSB3aWxsIGhhdmUgdG8gY3JlYXRlIHNwZWNpYWwgY29kZSB0byBoYW5kbGUgdGhpcyBvbiB0b3VjaCBlbmFibGVkIGRldmljZXMuXG4gICAgLyoqXG4gICAgICogQGlnbm9yZVxuICAgICAqL1xuICAgIG9uTW91c2VEb3duKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcblxuICAgICAgICAvLyBvbmx5IHByZXZlbnQgdGV4dCBzZWxlY3Rpb24gaWYgY2xpY2tpbmcgaW5zaWRlIHRoZSBsYWJlbCBpdHNlbGZcbiAgICAgICAgaWYgKFsnQlVUVE9OJywgJ0lOUFVUJywgJ1NFTEVDVCcsICdURVhUQVJFQSddLmluY2x1ZGVzKHRhcmdldC50YWdOYW1lKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gcHJldmVudCB0ZXh0IHNlbGVjdGlvbiB3aGVuIGRvdWJsZS1jbGlja2luZyBsYWJlbFxuICAgICAgICBpZiAodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnModGFyZ2V0KSAmJiAhZXZlbnQuZGVmYXVsdFByZXZlbnRlZCAmJiBldmVudC5kZXRhaWwgPiAxKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19