@tailng-ui/primitives 0.11.0 → 0.13.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 (274) hide show
  1. package/README.md +97 -11
  2. package/package.json +12 -6
  3. package/src/lib/feedback/empty/tng-empty.d.ts +11 -0
  4. package/src/lib/feedback/empty/tng-empty.d.ts.map +1 -1
  5. package/src/lib/feedback/empty/tng-empty.js +76 -61
  6. package/src/lib/feedback/empty/tng-empty.js.map +1 -1
  7. package/src/lib/feedback/progress-bar/tng-progress-bar.d.ts +5 -0
  8. package/src/lib/feedback/progress-bar/tng-progress-bar.d.ts.map +1 -1
  9. package/src/lib/feedback/progress-bar/tng-progress-bar.js +50 -52
  10. package/src/lib/feedback/progress-bar/tng-progress-bar.js.map +1 -1
  11. package/src/lib/feedback/progress-spinner/tng-progress-spinner.d.ts +3 -0
  12. package/src/lib/feedback/progress-spinner/tng-progress-spinner.d.ts.map +1 -1
  13. package/src/lib/feedback/progress-spinner/tng-progress-spinner.js +35 -40
  14. package/src/lib/feedback/progress-spinner/tng-progress-spinner.js.map +1 -1
  15. package/src/lib/feedback/skeleton/tng-skeleton.d.ts +3 -0
  16. package/src/lib/feedback/skeleton/tng-skeleton.d.ts.map +1 -1
  17. package/src/lib/feedback/skeleton/tng-skeleton.js +30 -31
  18. package/src/lib/feedback/skeleton/tng-skeleton.js.map +1 -1
  19. package/src/lib/feedback/toast/tng-toast.d.ts +5 -0
  20. package/src/lib/feedback/toast/tng-toast.d.ts.map +1 -1
  21. package/src/lib/feedback/toast/tng-toast.js +51 -47
  22. package/src/lib/feedback/toast/tng-toast.js.map +1 -1
  23. package/src/lib/form/_shared/id/tng-unique-id.service.d.ts +3 -0
  24. package/src/lib/form/_shared/id/tng-unique-id.service.d.ts.map +1 -1
  25. package/src/lib/form/_shared/id/tng-unique-id.service.js +9 -7
  26. package/src/lib/form/_shared/id/tng-unique-id.service.js.map +1 -1
  27. package/src/lib/form/_shared/select/tng-select.overlay.shared.d.ts +3 -0
  28. package/src/lib/form/_shared/select/tng-select.overlay.shared.d.ts.map +1 -1
  29. package/src/lib/form/_shared/select/tng-select.overlay.shared.js +22 -20
  30. package/src/lib/form/_shared/select/tng-select.overlay.shared.js.map +1 -1
  31. package/src/lib/form/_shared/select/tng-select.parts.shared.d.ts +9 -0
  32. package/src/lib/form/_shared/select/tng-select.parts.shared.d.ts.map +1 -1
  33. package/src/lib/form/_shared/select/tng-select.parts.shared.js +106 -98
  34. package/src/lib/form/_shared/select/tng-select.parts.shared.js.map +1 -1
  35. package/src/lib/form/autocomplete/tng-autocomplete.d.ts +3 -0
  36. package/src/lib/form/autocomplete/tng-autocomplete.d.ts.map +1 -1
  37. package/src/lib/form/autocomplete/tng-autocomplete.js +40 -38
  38. package/src/lib/form/autocomplete/tng-autocomplete.js.map +1 -1
  39. package/src/lib/form/autocomplete/tng-autocomplete.listbox.d.ts +6 -0
  40. package/src/lib/form/autocomplete/tng-autocomplete.listbox.d.ts.map +1 -1
  41. package/src/lib/form/autocomplete/tng-autocomplete.listbox.js +54 -46
  42. package/src/lib/form/autocomplete/tng-autocomplete.listbox.js.map +1 -1
  43. package/src/lib/form/autocomplete/tng-autocomplete.overlay.d.ts +3 -0
  44. package/src/lib/form/autocomplete/tng-autocomplete.overlay.d.ts.map +1 -1
  45. package/src/lib/form/autocomplete/tng-autocomplete.overlay.js +22 -20
  46. package/src/lib/form/autocomplete/tng-autocomplete.overlay.js.map +1 -1
  47. package/src/lib/form/autocomplete/tng-autocomplete.parts.d.ts +9 -0
  48. package/src/lib/form/autocomplete/tng-autocomplete.parts.d.ts.map +1 -1
  49. package/src/lib/form/autocomplete/tng-autocomplete.parts.js +109 -101
  50. package/src/lib/form/autocomplete/tng-autocomplete.parts.js.map +1 -1
  51. package/src/lib/form/button-toggle/tng-button-toggle.d.ts +5 -0
  52. package/src/lib/form/button-toggle/tng-button-toggle.d.ts.map +1 -1
  53. package/src/lib/form/button-toggle/tng-button-toggle.js +121 -155
  54. package/src/lib/form/button-toggle/tng-button-toggle.js.map +1 -1
  55. package/src/lib/form/checkbox/tng-checkbox.d.ts +3 -0
  56. package/src/lib/form/checkbox/tng-checkbox.d.ts.map +1 -1
  57. package/src/lib/form/checkbox/tng-checkbox.js +95 -106
  58. package/src/lib/form/checkbox/tng-checkbox.js.map +1 -1
  59. package/src/lib/form/chips/tng-chips.d.ts +7 -0
  60. package/src/lib/form/chips/tng-chips.d.ts.map +1 -1
  61. package/src/lib/form/chips/tng-chips.js +107 -112
  62. package/src/lib/form/chips/tng-chips.js.map +1 -1
  63. package/src/lib/form/combobox/tng-combobox.d.ts +3 -0
  64. package/src/lib/form/combobox/tng-combobox.d.ts.map +1 -1
  65. package/src/lib/form/combobox/tng-combobox.js +16 -13
  66. package/src/lib/form/combobox/tng-combobox.js.map +1 -1
  67. package/src/lib/form/input/tng-input.d.ts +9 -0
  68. package/src/lib/form/input/tng-input.d.ts.map +1 -1
  69. package/src/lib/form/input/tng-input.js +161 -141
  70. package/src/lib/form/input/tng-input.js.map +1 -1
  71. package/src/lib/form/input-otp/tng-input-otp.d.ts +3 -0
  72. package/src/lib/form/input-otp/tng-input-otp.d.ts.map +1 -1
  73. package/src/lib/form/input-otp/tng-input-otp.js +58 -69
  74. package/src/lib/form/input-otp/tng-input-otp.js.map +1 -1
  75. package/src/lib/form/label/tng-label.d.ts +3 -0
  76. package/src/lib/form/label/tng-label.d.ts.map +1 -1
  77. package/src/lib/form/label/tng-label.js +24 -25
  78. package/src/lib/form/label/tng-label.js.map +1 -1
  79. package/src/lib/form/listbox/listbox.directive.d.ts +3 -0
  80. package/src/lib/form/listbox/listbox.directive.d.ts.map +1 -1
  81. package/src/lib/form/listbox/listbox.directive.js +45 -43
  82. package/src/lib/form/listbox/listbox.directive.js.map +1 -1
  83. package/src/lib/form/listbox/option.directive.d.ts +3 -0
  84. package/src/lib/form/listbox/option.directive.d.ts.map +1 -1
  85. package/src/lib/form/listbox/option.directive.js +40 -38
  86. package/src/lib/form/listbox/option.directive.js.map +1 -1
  87. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.chip.d.ts +3 -0
  88. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.chip.d.ts.map +1 -1
  89. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.chip.js +23 -21
  90. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.chip.js.map +1 -1
  91. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.content.d.ts +3 -0
  92. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.content.d.ts.map +1 -1
  93. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.content.js +25 -23
  94. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.content.js.map +1 -1
  95. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.d.ts +3 -0
  96. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.d.ts.map +1 -1
  97. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.js +35 -33
  98. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.js.map +1 -1
  99. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.listbox.d.ts +6 -0
  100. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.listbox.d.ts.map +1 -1
  101. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.listbox.js +57 -46
  102. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.listbox.js.map +1 -1
  103. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.overlay.d.ts +3 -0
  104. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.overlay.d.ts.map +1 -1
  105. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.overlay.js +16 -14
  106. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.overlay.js.map +1 -1
  107. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.trigger.d.ts +3 -0
  108. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.trigger.d.ts.map +1 -1
  109. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.trigger.js +52 -50
  110. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.trigger.js.map +1 -1
  111. package/src/lib/form/multi-select/tng-multi-select.d.ts +3 -0
  112. package/src/lib/form/multi-select/tng-multi-select.d.ts.map +1 -1
  113. package/src/lib/form/multi-select/tng-multi-select.js +41 -36
  114. package/src/lib/form/multi-select/tng-multi-select.js.map +1 -1
  115. package/src/lib/form/multi-select/tng-multi-select.listbox.d.ts +6 -0
  116. package/src/lib/form/multi-select/tng-multi-select.listbox.d.ts.map +1 -1
  117. package/src/lib/form/multi-select/tng-multi-select.listbox.js +50 -45
  118. package/src/lib/form/multi-select/tng-multi-select.listbox.js.map +1 -1
  119. package/src/lib/form/multiselect/tng-multiselect.d.ts +3 -0
  120. package/src/lib/form/multiselect/tng-multiselect.d.ts.map +1 -1
  121. package/src/lib/form/multiselect/tng-multiselect.js +16 -13
  122. package/src/lib/form/multiselect/tng-multiselect.js.map +1 -1
  123. package/src/lib/form/radio/tng-radio.d.ts +3 -0
  124. package/src/lib/form/radio/tng-radio.d.ts.map +1 -1
  125. package/src/lib/form/radio/tng-radio.js +91 -100
  126. package/src/lib/form/radio/tng-radio.js.map +1 -1
  127. package/src/lib/form/select/tng-select.d.ts +3 -0
  128. package/src/lib/form/select/tng-select.d.ts.map +1 -1
  129. package/src/lib/form/select/tng-select.js +41 -36
  130. package/src/lib/form/select/tng-select.js.map +1 -1
  131. package/src/lib/form/select/tng-select.listbox.d.ts +6 -0
  132. package/src/lib/form/select/tng-select.listbox.d.ts.map +1 -1
  133. package/src/lib/form/select/tng-select.listbox.js +50 -45
  134. package/src/lib/form/select/tng-select.listbox.js.map +1 -1
  135. package/src/lib/form/slider/tng-slider.d.ts +3 -0
  136. package/src/lib/form/slider/tng-slider.d.ts.map +1 -1
  137. package/src/lib/form/slider/tng-slider.js +42 -49
  138. package/src/lib/form/slider/tng-slider.js.map +1 -1
  139. package/src/lib/form/switch/tng-switch.d.ts +3 -0
  140. package/src/lib/form/switch/tng-switch.d.ts.map +1 -1
  141. package/src/lib/form/switch/tng-switch.js +44 -47
  142. package/src/lib/form/switch/tng-switch.js.map +1 -1
  143. package/src/lib/form/textarea/tng-textarea.d.ts +4 -0
  144. package/src/lib/form/textarea/tng-textarea.d.ts.map +1 -1
  145. package/src/lib/form/textarea/tng-textarea.js +40 -41
  146. package/src/lib/form/textarea/tng-textarea.js.map +1 -1
  147. package/src/lib/form/toggle/tng-toggle.d.ts +3 -0
  148. package/src/lib/form/toggle/tng-toggle.d.ts.map +1 -1
  149. package/src/lib/form/toggle/tng-toggle.js +71 -74
  150. package/src/lib/form/toggle/tng-toggle.js.map +1 -1
  151. package/src/lib/form/toggle-group/tng-toggle-group.d.ts +3 -0
  152. package/src/lib/form/toggle-group/tng-toggle-group.d.ts.map +1 -1
  153. package/src/lib/form/toggle-group/tng-toggle-group.js +48 -49
  154. package/src/lib/form/toggle-group/tng-toggle-group.js.map +1 -1
  155. package/src/lib/layout/accordion/tng-accordion.d.ts +9 -0
  156. package/src/lib/layout/accordion/tng-accordion.d.ts.map +1 -1
  157. package/src/lib/layout/accordion/tng-accordion.js +143 -155
  158. package/src/lib/layout/accordion/tng-accordion.js.map +1 -1
  159. package/src/lib/layout/bottom-sheet/tng-bottom-sheet.d.ts +3 -0
  160. package/src/lib/layout/bottom-sheet/tng-bottom-sheet.d.ts.map +1 -1
  161. package/src/lib/layout/bottom-sheet/tng-bottom-sheet.js +16 -13
  162. package/src/lib/layout/bottom-sheet/tng-bottom-sheet.js.map +1 -1
  163. package/src/lib/layout/card/tng-card.d.ts +21 -0
  164. package/src/lib/layout/card/tng-card.d.ts.map +1 -1
  165. package/src/lib/layout/card/tng-card.js +151 -121
  166. package/src/lib/layout/card/tng-card.js.map +1 -1
  167. package/src/lib/layout/collapsible/tng-collapsible.d.ts +7 -0
  168. package/src/lib/layout/collapsible/tng-collapsible.d.ts.map +1 -1
  169. package/src/lib/layout/collapsible/tng-collapsible.js +82 -83
  170. package/src/lib/layout/collapsible/tng-collapsible.js.map +1 -1
  171. package/src/lib/layout/drawer/tng-drawer.d.ts +13 -0
  172. package/src/lib/layout/drawer/tng-drawer.d.ts.map +1 -1
  173. package/src/lib/layout/drawer/tng-drawer.js +217 -226
  174. package/src/lib/layout/drawer/tng-drawer.js.map +1 -1
  175. package/src/lib/layout/grid/tng-grid.d.ts +3 -0
  176. package/src/lib/layout/grid/tng-grid.d.ts.map +1 -1
  177. package/src/lib/layout/grid/tng-grid.js +16 -13
  178. package/src/lib/layout/grid/tng-grid.js.map +1 -1
  179. package/src/lib/layout/separator/tng-separator.d.ts +3 -0
  180. package/src/lib/layout/separator/tng-separator.d.ts.map +1 -1
  181. package/src/lib/layout/separator/tng-separator.js +30 -29
  182. package/src/lib/layout/separator/tng-separator.js.map +1 -1
  183. package/src/lib/layout/stepper/tng-stepper.d.ts +3 -0
  184. package/src/lib/layout/stepper/tng-stepper.d.ts.map +1 -1
  185. package/src/lib/layout/stepper/tng-stepper.js +16 -13
  186. package/src/lib/layout/stepper/tng-stepper.js.map +1 -1
  187. package/src/lib/layout/tree/__tests__/tng-tree.test-harness.d.ts +3 -0
  188. package/src/lib/layout/tree/__tests__/tng-tree.test-harness.d.ts.map +1 -1
  189. package/src/lib/layout/tree/__tests__/tng-tree.test-harness.js +54 -11
  190. package/src/lib/layout/tree/__tests__/tng-tree.test-harness.js.map +1 -1
  191. package/src/lib/layout/tree/tng-tree-group.d.ts +3 -0
  192. package/src/lib/layout/tree/tng-tree-group.d.ts.map +1 -1
  193. package/src/lib/layout/tree/tng-tree-group.js +19 -17
  194. package/src/lib/layout/tree/tng-tree-group.js.map +1 -1
  195. package/src/lib/layout/tree/tng-tree-indicator.d.ts +3 -0
  196. package/src/lib/layout/tree/tng-tree-indicator.d.ts.map +1 -1
  197. package/src/lib/layout/tree/tng-tree-indicator.js +22 -20
  198. package/src/lib/layout/tree/tng-tree-indicator.js.map +1 -1
  199. package/src/lib/layout/tree/tng-tree-item.d.ts +3 -0
  200. package/src/lib/layout/tree/tng-tree-item.d.ts.map +1 -1
  201. package/src/lib/layout/tree/tng-tree-item.js +47 -53
  202. package/src/lib/layout/tree/tng-tree-item.js.map +1 -1
  203. package/src/lib/layout/tree/tng-tree.d.ts +3 -0
  204. package/src/lib/layout/tree/tng-tree.d.ts.map +1 -1
  205. package/src/lib/layout/tree/tng-tree.js +39 -43
  206. package/src/lib/layout/tree/tng-tree.js.map +1 -1
  207. package/src/lib/navigation/breadcrumb/tng-breadcrumb.d.ts +11 -0
  208. package/src/lib/navigation/breadcrumb/tng-breadcrumb.d.ts.map +1 -1
  209. package/src/lib/navigation/breadcrumb/tng-breadcrumb.js +79 -64
  210. package/src/lib/navigation/breadcrumb/tng-breadcrumb.js.map +1 -1
  211. package/src/lib/navigation/context-menu/tng-context-menu.d.ts +5 -0
  212. package/src/lib/navigation/context-menu/tng-context-menu.d.ts.map +1 -1
  213. package/src/lib/navigation/context-menu/tng-context-menu.js +44 -42
  214. package/src/lib/navigation/context-menu/tng-context-menu.js.map +1 -1
  215. package/src/lib/navigation/dropdown-menu/tng-dropdown-menu.d.ts +3 -0
  216. package/src/lib/navigation/dropdown-menu/tng-dropdown-menu.d.ts.map +1 -1
  217. package/src/lib/navigation/dropdown-menu/tng-dropdown-menu.js +16 -13
  218. package/src/lib/navigation/dropdown-menu/tng-dropdown-menu.js.map +1 -1
  219. package/src/lib/navigation/menu/tng-menu.d.ts +13 -0
  220. package/src/lib/navigation/menu/tng-menu.d.ts.map +1 -1
  221. package/src/lib/navigation/menu/tng-menu.js +184 -186
  222. package/src/lib/navigation/menu/tng-menu.js.map +1 -1
  223. package/src/lib/navigation/menubar/tng-menubar.d.ts +5 -0
  224. package/src/lib/navigation/menubar/tng-menubar.d.ts.map +1 -1
  225. package/src/lib/navigation/menubar/tng-menubar.js +72 -70
  226. package/src/lib/navigation/menubar/tng-menubar.js.map +1 -1
  227. package/src/lib/navigation/navigation-menu/tng-navigation-menu.d.ts +3 -0
  228. package/src/lib/navigation/navigation-menu/tng-navigation-menu.d.ts.map +1 -1
  229. package/src/lib/navigation/navigation-menu/tng-navigation-menu.js +16 -13
  230. package/src/lib/navigation/navigation-menu/tng-navigation-menu.js.map +1 -1
  231. package/src/lib/navigation/tabs/tng-tabs.d.ts +13 -0
  232. package/src/lib/navigation/tabs/tng-tabs.d.ts.map +1 -1
  233. package/src/lib/navigation/tabs/tng-tabs.js +234 -258
  234. package/src/lib/navigation/tabs/tng-tabs.js.map +1 -1
  235. package/src/lib/navigation/toolbar/tng-toolbar.d.ts +3 -0
  236. package/src/lib/navigation/toolbar/tng-toolbar.d.ts.map +1 -1
  237. package/src/lib/navigation/toolbar/tng-toolbar.js +16 -13
  238. package/src/lib/navigation/toolbar/tng-toolbar.js.map +1 -1
  239. package/src/lib/overlay/dialog/tng-dialog.d.ts +19 -0
  240. package/src/lib/overlay/dialog/tng-dialog.d.ts.map +1 -1
  241. package/src/lib/overlay/dialog/tng-dialog.js +249 -255
  242. package/src/lib/overlay/dialog/tng-dialog.js.map +1 -1
  243. package/src/lib/overlay/popover/tng-popover.d.ts +9 -0
  244. package/src/lib/overlay/popover/tng-popover.d.ts.map +1 -1
  245. package/src/lib/overlay/popover/tng-popover.js +152 -170
  246. package/src/lib/overlay/popover/tng-popover.js.map +1 -1
  247. package/src/lib/overlay/tooltip/tng-tooltip.d.ts +7 -0
  248. package/src/lib/overlay/tooltip/tng-tooltip.d.ts.map +1 -1
  249. package/src/lib/overlay/tooltip/tng-tooltip.js +124 -127
  250. package/src/lib/overlay/tooltip/tng-tooltip.js.map +1 -1
  251. package/src/lib/utility/avatar/tng-avatar.d.ts +7 -0
  252. package/src/lib/utility/avatar/tng-avatar.d.ts.map +1 -1
  253. package/src/lib/utility/avatar/tng-avatar.js +46 -37
  254. package/src/lib/utility/avatar/tng-avatar.js.map +1 -1
  255. package/src/lib/utility/badge/tng-badge.d.ts +3 -0
  256. package/src/lib/utility/badge/tng-badge.d.ts.map +1 -1
  257. package/src/lib/utility/badge/tng-badge.js +26 -39
  258. package/src/lib/utility/badge/tng-badge.js.map +1 -1
  259. package/src/lib/utility/code-block/tng-code-block.d.ts +11 -0
  260. package/src/lib/utility/code-block/tng-code-block.d.ts.map +1 -1
  261. package/src/lib/utility/code-block/tng-code-block.js +76 -61
  262. package/src/lib/utility/code-block/tng-code-block.js.map +1 -1
  263. package/src/lib/utility/copy/tng-copy.d.ts +3 -0
  264. package/src/lib/utility/copy/tng-copy.d.ts.map +1 -1
  265. package/src/lib/utility/copy/tng-copy.js +44 -51
  266. package/src/lib/utility/copy/tng-copy.js.map +1 -1
  267. package/src/lib/utility/press/tng-press.d.ts +3 -0
  268. package/src/lib/utility/press/tng-press.d.ts.map +1 -1
  269. package/src/lib/utility/press/tng-press.js +55 -60
  270. package/src/lib/utility/press/tng-press.js.map +1 -1
  271. package/src/lib/utility/tag/tng-tag.d.ts +7 -0
  272. package/src/lib/utility/tag/tng-tag.d.ts.map +1 -1
  273. package/src/lib/utility/tag/tng-tag.js +94 -93
  274. package/src/lib/utility/tag/tng-tag.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"tng-dialog.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/overlay/dialog/tng-dialog.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Directive,\n ElementRef,\n HostBinding,\n HostListener,\n OnDestroy,\n OnInit,\n afterNextRender,\n booleanAttribute,\n effect,\n inject,\n Injector,\n input,\n output,\n signal,\n} from '@angular/core';\nimport {\n createOverlayFocusHandoffController,\n createModalIsolationManager,\n createOverlayScrollLockManager,\n resolveFirstFocusableElement,\n resolveFocusableElements,\n createTngIdFactory,\n} from '@tailng-ui/cdk';\nimport type {\n TngModalIsolationDocument,\n TngModalIsolationElement,\n TngOverlayDismissReason,\n TngScrollLockDocument,\n} from '@tailng-ui/cdk/overlay';\nimport { tngPrimitiveOverlayRuntime } from '../tng-overlay-runtime';\n\nconst createDialogId = createTngIdFactory('tng-dialog');\nconst createDialogPanelId = createTngIdFactory('tng-dialog-panel');\nconst createDialogTitleId = createTngIdFactory('tng-dialog-title');\nconst createDialogDescriptionId = createTngIdFactory('tng-dialog-description');\nconst createDialogFocusableId = createTngIdFactory('tng-dialog-focusable');\n\nexport type TngDialogAutoFocus = 'dialog' | 'first-focusable' | 'none';\nexport type TngDialogCloseReason = 'backdrop' | 'close-button' | 'escape' | 'programmatic';\nexport type TngDialogSize = 'lg' | 'md' | 'sm';\n\ntype OptionalBooleanInput = boolean | null | string | undefined;\n\nfunction normalizeOptionalBooleanInput(value: OptionalBooleanInput): boolean | undefined {\n if (value === null || value === undefined) {\n return undefined;\n }\n\n return booleanAttribute(value);\n}\n\nfunction toScrollLockDocument(documentRef: unknown): TngScrollLockDocument | null {\n if (!(documentRef instanceof Document)) {\n return null;\n }\n\n return documentRef as unknown as TngScrollLockDocument;\n}\n\nfunction toModalIsolationDocument(documentRef: unknown): TngModalIsolationDocument | null {\n if (!(documentRef instanceof Document)) {\n return null;\n }\n\n return documentRef as unknown as TngModalIsolationDocument;\n}\n\nfunction toModalIsolationElement(elementRef: unknown): TngModalIsolationElement | null {\n if (!(elementRef instanceof HTMLElement)) {\n return null;\n }\n\n return elementRef as unknown as TngModalIsolationElement;\n}\n\nfunction mapOverlayDismissReason(reason: TngOverlayDismissReason): TngDialogCloseReason {\n if (reason === 'escape-key') {\n return 'escape';\n }\n\n if (reason === 'outside-pointer') {\n return 'backdrop';\n }\n\n return 'programmatic';\n}\n\nconst dialogGlobalDocument = typeof document === 'undefined' ? null : document;\nconst dialogModalIsolation = createModalIsolationManager({\n documentRef: toModalIsolationDocument(dialogGlobalDocument),\n});\nconst dialogFocusHandoff = createOverlayFocusHandoffController();\n\nexport function resolveTngDialogActiveElement(documentRef: unknown): HTMLElement | null {\n if (!(documentRef instanceof Document)) {\n return null;\n }\n\n const activeElement = documentRef.activeElement;\n return activeElement instanceof HTMLElement ? activeElement : null;\n}\n\nexport function resolveTngDialogFocusableElements(container: unknown): readonly HTMLElement[] {\n return resolveFocusableElements(container);\n}\n\nexport function resolveTngDialogMarkedInitialElement(container: unknown): HTMLElement | null {\n if (!(container instanceof HTMLElement)) {\n return null;\n }\n\n const markedInitial = container.querySelector<HTMLElement>('[data-tng-dialog-initial-focus]');\n if (markedInitial === null) {\n return null;\n }\n\n if (resolveTngDialogFocusableElements(container).includes(markedInitial)) {\n return markedInitial;\n }\n\n return resolveTngDialogFocusableElements(markedInitial)[0] ?? null;\n}\n\nfunction readKeyboardEvent(event: unknown): KeyboardEvent | null {\n return event instanceof KeyboardEvent ? event : null;\n}\n\nfunction resolveFirstFocusableWithin(container: unknown): HTMLElement | null {\n return resolveFirstFocusableElement(container);\n}\n\nfunction isDialogCloseReason(value: string): value is TngDialogCloseReason {\n return value === 'backdrop' || value === 'close-button' || value === 'escape' || value === 'programmatic';\n}\n\n@Directive({\n selector: '[tngDialog]',\n exportAs: 'tngDialog',\n standalone: true,\n})\nexport class TngDialog implements OnDestroy, OnInit {\n public readonly openInput = input<boolean | undefined, OptionalBooleanInput>(undefined, {\n alias: 'open',\n transform: normalizeOptionalBooleanInput,\n });\n public readonly defaultOpen = input<boolean, OptionalBooleanInput>(false, {\n transform: booleanAttribute,\n });\n public readonly disabled = input<boolean, OptionalBooleanInput>(false, {\n transform: booleanAttribute,\n });\n public readonly dismissible = input<boolean, OptionalBooleanInput>(true, {\n transform: booleanAttribute,\n });\n public readonly closeOnBackdropClick = input<boolean, OptionalBooleanInput>(true, {\n transform: booleanAttribute,\n });\n public readonly closeOnEscape = input<boolean, OptionalBooleanInput>(true, {\n transform: booleanAttribute,\n });\n public readonly restoreFocus = input<boolean, OptionalBooleanInput>(true, {\n transform: booleanAttribute,\n });\n public readonly autoFocus = input<TngDialogAutoFocus, TngDialogAutoFocus | string>('first-focusable', {\n transform: (value: TngDialogAutoFocus | string): TngDialogAutoFocus => {\n return value === 'none' || value === 'dialog' || value === 'first-focusable'\n ? value\n : 'first-focusable';\n },\n });\n public readonly trapFocus = input<boolean, OptionalBooleanInput>(true, {\n transform: booleanAttribute,\n });\n public readonly lockScroll = input<boolean, OptionalBooleanInput>(true, {\n transform: booleanAttribute,\n });\n public readonly ariaLabel = input<string | null>(null);\n public readonly ariaLabelledby = input<string | null>(null);\n public readonly ariaDescribedby = input<string | null>(null);\n public readonly size = input<TngDialogSize>('md');\n\n public readonly openChange = output<boolean>();\n public readonly closed = output<TngDialogCloseReason>();\n\n private readonly hostRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly documentRef = dialogGlobalDocument;\n private readonly injector = inject(Injector);\n private readonly instanceId = createDialogId();\n private readonly scrollLock = createOverlayScrollLockManager({\n documentRef: toScrollLockDocument(this.documentRef),\n });\n\n private readonly uncontrolledOpen = signal(false);\n private readonly openStateEffect = effect((): void => {\n if (!this.initialized) {\n return;\n }\n\n if (this.isOpen()) {\n this.activateDialog();\n return;\n }\n\n this.deactivateDialog();\n });\n\n private initialized = false;\n private isActive = false;\n private isFocusLayerRegistered = false;\n private isOverlayLayerRegistered = false;\n private panelElement: HTMLElement | null = null;\n private panelElementId: string | null = null;\n private registeredTitleId: string | null = null;\n private registeredDescriptionId: string | null = null;\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'dialog';\n\n @HostBinding('attr.data-open')\n protected get dataOpenAttr(): 'false' | 'true' {\n return this.isOpen() ? 'true' : 'false';\n }\n\n @HostBinding('attr.data-state')\n protected get dataStateAttr(): 'closed' | 'open' {\n return this.isOpen() ? 'open' : 'closed';\n }\n\n @HostBinding('attr.data-disabled')\n protected get dataDisabledAttr(): '' | null {\n return this.disabled() ? '' : null;\n }\n\n @HostBinding('attr.data-size')\n protected get dataSizeAttr(): TngDialogSize {\n return this.size();\n }\n\n public ngOnInit(): void {\n if (!this.isControlled()) {\n this.uncontrolledOpen.set(this.defaultOpen());\n }\n\n this.initialized = true;\n if (this.isOpen()) {\n this.activateDialog();\n }\n }\n\n public ngOnDestroy(): void {\n this.openStateEffect.destroy();\n this.deactivateDialog();\n this.unregisterFocusLayer();\n }\n\n public isOpen(): boolean {\n return this.openInput() ?? this.uncontrolledOpen();\n }\n\n public openDialog(): void {\n if (this.disabled()) {\n return;\n }\n\n this.setOpenState(true);\n }\n\n public closeDialog(reason: TngDialogCloseReason = 'programmatic'): void {\n this.requestClose(reason);\n }\n\n public toggleDialog(force?: boolean): void {\n if (force !== undefined) {\n if (force) {\n this.openDialog();\n return;\n }\n\n this.closeDialog('programmatic');\n return;\n }\n\n if (this.isOpen()) {\n this.closeDialog('programmatic');\n return;\n }\n\n this.openDialog();\n }\n\n public requestClose(reason: TngDialogCloseReason): void {\n if (!this.isOpen()) {\n return;\n }\n\n this.closed.emit(reason);\n this.setOpenState(false);\n }\n\n public registerPanel(panel: HTMLElement, id: string): void {\n this.panelElement = panel;\n this.panelElementId = id;\n }\n\n public unregisterPanel(panel: HTMLElement): void {\n if (this.panelElement === panel) {\n this.panelElement = null;\n this.panelElementId = null;\n }\n }\n\n public registerTitle(id: string): void {\n this.registeredTitleId = id;\n }\n\n public unregisterTitle(id: string): void {\n if (this.registeredTitleId === id) {\n this.registeredTitleId = null;\n }\n }\n\n public registerDescription(id: string): void {\n this.registeredDescriptionId = id;\n }\n\n public unregisterDescription(id: string): void {\n if (this.registeredDescriptionId === id) {\n this.registeredDescriptionId = null;\n }\n }\n\n public getPanelId(): string | null {\n return this.panelElementId;\n }\n\n public resolveAriaLabelledby(): string | null {\n const explicit = this.ariaLabelledby()?.trim() ?? '';\n if (explicit.length > 0) {\n return explicit;\n }\n\n return this.registeredTitleId;\n }\n\n public resolveAriaDescribedby(): string | null {\n const explicit = this.ariaDescribedby()?.trim() ?? '';\n if (explicit.length > 0) {\n return explicit;\n }\n\n return this.registeredDescriptionId;\n }\n\n public onBackdropPointerDown(event: PointerEvent): void {\n if (!this.shouldCloseFromBackdrop()) {\n return;\n }\n\n if (!(event.currentTarget instanceof HTMLElement)) {\n return;\n }\n\n if (event.target !== event.currentTarget) {\n return;\n }\n\n event.preventDefault();\n this.requestClose('backdrop');\n }\n\n public trapTabNavigation(event: unknown): void {\n if (!this.trapFocus()) {\n return;\n }\n\n const keyboardEvent = readKeyboardEvent(event);\n if (keyboardEvent === null || keyboardEvent.key !== 'Tab') {\n return;\n }\n\n const panel = this.panelElement;\n if (panel === null) {\n return;\n }\n\n if (!dialogFocusHandoff.isTrapActive(this.instanceId)) {\n return;\n }\n\n const focusableMemberIds = this.resolveFocusableMemberIds(panel);\n const firstMemberId = focusableMemberIds[0];\n if (firstMemberId === undefined) {\n return;\n }\n const lastMemberId = focusableMemberIds[focusableMemberIds.length - 1] ?? firstMemberId;\n\n const activeElement = resolveTngDialogActiveElement(this.documentRef);\n const activeElementId = activeElement === null ? null : this.ensureElementId(activeElement);\n\n let candidateId: string | null = null;\n if (activeElement === null || !panel.contains(activeElement)) {\n candidateId = keyboardEvent.shiftKey ? lastMemberId : firstMemberId;\n } else if (activeElementId === firstMemberId && keyboardEvent.shiftKey) {\n candidateId = lastMemberId;\n } else if (activeElementId === lastMemberId && !keyboardEvent.shiftKey) {\n candidateId = firstMemberId;\n } else {\n if (activeElementId !== null) {\n dialogFocusHandoff.recordFocus(this.instanceId, activeElementId);\n }\n\n return;\n }\n\n const resolvedId = dialogFocusHandoff.resolveFocusCandidate(this.instanceId, candidateId);\n if (resolvedId === null) {\n return;\n }\n\n const nextFocusTarget = this.resolveElementById(resolvedId);\n if (nextFocusTarget === null) {\n return;\n }\n\n keyboardEvent.preventDefault();\n nextFocusTarget.focus();\n dialogFocusHandoff.recordFocus(this.instanceId, resolvedId);\n }\n\n public recordFocusedElement(target: unknown): void {\n if (!(target instanceof HTMLElement) || !this.isOpen()) {\n return;\n }\n\n const panel = this.panelElement;\n if (panel === null || !panel.contains(target)) {\n return;\n }\n\n const targetId = this.ensureElementId(target);\n dialogFocusHandoff.recordFocus(this.instanceId, targetId);\n }\n\n private activateDialog(): void {\n if (this.isActive) {\n return;\n }\n\n this.isActive = true;\n\n if (this.lockScroll()) {\n this.scrollLock.acquire(this.instanceId);\n }\n\n this.registerFocusLayer();\n this.activateFocusLayer();\n this.registerOverlayLayer();\n this.activateModalIsolation();\n\n afterNextRender(\n (): void => {\n this.focusInitialElement();\n },\n { injector: this.injector },\n );\n }\n\n private deactivateDialog(): void {\n if (!this.isActive) {\n return;\n }\n\n this.isActive = false;\n\n if (this.lockScroll()) {\n this.scrollLock.release(this.instanceId);\n }\n\n this.deactivateFocusLayer();\n this.unregisterFocusLayer();\n this.unregisterOverlayLayer();\n this.deactivateModalIsolation();\n }\n\n private focusInitialElement(): void {\n if (!this.isOpen()) {\n return;\n }\n\n const panel = this.panelElement;\n if (panel === null) {\n return;\n }\n\n if (this.autoFocus() === 'none') {\n return;\n }\n\n if (this.autoFocus() === 'dialog') {\n panel.focus();\n return;\n }\n\n const markedInitial = resolveTngDialogMarkedInitialElement(panel);\n if (markedInitial !== null) {\n markedInitial.focus();\n return;\n }\n\n const firstFocusable = resolveFirstFocusableWithin(panel);\n if (firstFocusable !== null) {\n firstFocusable.focus();\n return;\n }\n\n panel.focus();\n }\n\n private isControlled(): boolean {\n return this.openInput() !== undefined;\n }\n\n private setOpenState(nextOpen: boolean): void {\n if (nextOpen && this.disabled()) {\n return;\n }\n\n if (this.isOpen() === nextOpen) {\n return;\n }\n\n if (!this.isControlled()) {\n this.uncontrolledOpen.set(nextOpen);\n }\n\n this.openChange.emit(nextOpen);\n }\n\n private shouldCloseFromBackdrop(): boolean {\n return this.isOpen() && this.dismissible() && this.closeOnBackdropClick();\n }\n\n private shouldCloseFromEscape(): boolean {\n return this.isOpen() && this.dismissible() && this.closeOnEscape();\n }\n\n private activateModalIsolation(): void {\n const hostElement = toModalIsolationElement(this.hostRef.nativeElement);\n if (hostElement === null) {\n return;\n }\n\n dialogModalIsolation.activate(this.instanceId, hostElement);\n }\n\n private deactivateModalIsolation(): void {\n dialogModalIsolation.deactivate(this.instanceId);\n }\n\n private registerOverlayLayer(): void {\n const hostElement = this.hostRef.nativeElement;\n tngPrimitiveOverlayRuntime.registerLayer({\n containsTarget: (target: unknown, path: readonly unknown[]): boolean => {\n if (target instanceof Node && hostElement.contains(target)) {\n return true;\n }\n\n return path.includes(hostElement);\n },\n dismissOnEscape: this.shouldCloseFromEscape(),\n dismissOnOutsidePointer: false,\n id: this.instanceId,\n modal: true,\n onDismiss: (reason: TngOverlayDismissReason): void => {\n if (reason === 'escape-key' && !this.shouldCloseFromEscape()) {\n return;\n }\n\n if (reason === 'outside-pointer' && !this.shouldCloseFromBackdrop()) {\n return;\n }\n\n this.requestClose(mapOverlayDismissReason(reason));\n },\n });\n\n this.isOverlayLayerRegistered = true;\n }\n\n private unregisterOverlayLayer(): void {\n if (!this.isOverlayLayerRegistered) {\n return;\n }\n\n tngPrimitiveOverlayRuntime.unregisterLayer(this.instanceId);\n this.isOverlayLayerRegistered = false;\n }\n\n private activateFocusLayer(): void {\n const activeElement = resolveTngDialogActiveElement(this.documentRef);\n const restoreFocusTargetId = activeElement === null ? null : this.ensureElementId(activeElement);\n dialogFocusHandoff.activateLayer(this.instanceId, restoreFocusTargetId);\n }\n\n private deactivateFocusLayer(): void {\n const restoreFocusTargetId = dialogFocusHandoff.deactivateLayer(this.instanceId);\n if (!this.restoreFocus() || restoreFocusTargetId === null) {\n return;\n }\n\n const restoreFocusTarget = this.resolveElementById(restoreFocusTargetId);\n restoreFocusTarget?.focus();\n }\n\n private registerFocusLayer(): void {\n if (this.isFocusLayerRegistered) {\n return;\n }\n\n dialogFocusHandoff.registerLayer({\n layerId: this.instanceId,\n members: (): readonly string[] => {\n const panel = this.panelElement;\n if (panel === null) {\n return [];\n }\n\n return this.resolveFocusableMemberIds(panel);\n },\n restoreFocus: this.restoreFocus(),\n trapFocus: this.trapFocus(),\n });\n this.isFocusLayerRegistered = true;\n }\n\n private unregisterFocusLayer(): void {\n if (!this.isFocusLayerRegistered) {\n return;\n }\n\n dialogFocusHandoff.unregisterLayer(this.instanceId);\n this.isFocusLayerRegistered = false;\n }\n\n private resolveFocusableMemberIds(panel: HTMLElement): readonly string[] {\n const focusableElements = resolveTngDialogFocusableElements(panel);\n if (focusableElements.length === 0) {\n return [];\n }\n\n return focusableElements.map((element) => this.ensureElementId(element));\n }\n\n private ensureElementId(element: HTMLElement): string {\n const existingId = element.id.trim();\n if (existingId.length > 0) {\n return existingId;\n }\n\n const generatedId = createDialogFocusableId();\n element.id = generatedId;\n return generatedId;\n }\n\n private resolveElementById(id: string): HTMLElement | null {\n if (this.documentRef === null) {\n return null;\n }\n\n const element = this.documentRef.getElementById(id);\n return element instanceof HTMLElement ? element : null;\n }\n}\n\n@Directive({\n selector: '[tngDialogPanel]',\n exportAs: 'tngDialogPanel',\n standalone: true,\n})\nexport class TngDialogPanel implements OnDestroy, OnInit {\n private readonly dialog = inject(TngDialog);\n private readonly hostRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly resolvedId = this.hostRef.nativeElement.id.trim().length > 0\n ? this.hostRef.nativeElement.id\n : createDialogPanelId();\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'dialog-panel';\n\n @HostBinding('attr.data-open')\n protected get dataOpenAttr(): 'false' | 'true' {\n return this.dialog.isOpen() ? 'true' : 'false';\n }\n\n @HostBinding('attr.data-size')\n protected get dataSizeAttr(): TngDialogSize {\n return this.dialog.size();\n }\n\n @HostBinding('attr.data-state')\n protected get dataStateAttr(): 'closed' | 'open' {\n return this.dialog.isOpen() ? 'open' : 'closed';\n }\n\n @HostBinding('attr.hidden')\n protected get hiddenAttr(): '' | null {\n return this.dialog.isOpen() ? null : '';\n }\n\n @HostBinding('attr.id')\n protected get idAttr(): string {\n return this.resolvedId;\n }\n\n @HostBinding('attr.role')\n protected readonly roleAttr = 'dialog';\n\n @HostBinding('attr.tabindex')\n protected readonly tabindexAttr = '-1';\n\n @HostBinding('attr.aria-describedby')\n protected get ariaDescribedByAttr(): string | null {\n return this.dialog.resolveAriaDescribedby();\n }\n\n @HostBinding('attr.aria-label')\n protected get ariaLabelAttr(): string | null {\n const label = this.dialog.ariaLabel()?.trim() ?? '';\n return label.length > 0 ? label : null;\n }\n\n @HostBinding('attr.aria-labelledby')\n protected get ariaLabelledByAttr(): string | null {\n return this.dialog.resolveAriaLabelledby();\n }\n\n @HostBinding('attr.aria-modal')\n protected get ariaModalAttr(): 'true' | null {\n return this.dialog.isOpen() ? 'true' : null;\n }\n\n public ngOnInit(): void {\n this.dialog.registerPanel(this.hostRef.nativeElement, this.resolvedId);\n }\n\n public ngOnDestroy(): void {\n this.dialog.unregisterPanel(this.hostRef.nativeElement);\n }\n\n @HostListener('keydown', ['$event'])\n protected onKeydown(event: KeyboardEvent): void {\n if (event.key === 'Tab') {\n this.dialog.trapTabNavigation(event);\n }\n }\n\n @HostListener('focusin', ['$event.target'])\n protected onFocusIn(target: unknown): void {\n this.dialog.recordFocusedElement(target);\n }\n}\n\n@Directive({\n selector: '[tngDialogBackdrop]',\n exportAs: 'tngDialogBackdrop',\n standalone: true,\n})\nexport class TngDialogBackdrop {\n private readonly dialog = inject(TngDialog);\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'dialog-backdrop';\n\n @HostBinding('attr.data-open')\n protected get dataOpenAttr(): 'false' | 'true' {\n return this.dialog.isOpen() ? 'true' : 'false';\n }\n\n @HostBinding('attr.data-state')\n protected get dataStateAttr(): 'closed' | 'open' {\n return this.dialog.isOpen() ? 'open' : 'closed';\n }\n\n @HostBinding('attr.hidden')\n protected get hiddenAttr(): '' | null {\n return this.dialog.isOpen() ? null : '';\n }\n\n @HostListener('pointerdown', ['$event'])\n protected onPointerDown(event: PointerEvent): void {\n this.dialog.onBackdropPointerDown(event);\n }\n}\n\n@Directive({\n selector: '[tngDialogTrigger]',\n exportAs: 'tngDialogTrigger',\n standalone: true,\n})\nexport class TngDialogTrigger {\n private readonly parentDialog = inject(TngDialog, { optional: true });\n\n public readonly dialogFor = input<TngDialog | null>(null, {\n alias: 'tngDialogTrigger',\n });\n\n @HostBinding('attr.aria-haspopup')\n protected readonly ariaHasPopupAttr = 'dialog';\n\n @HostBinding('attr.aria-controls')\n protected get ariaControlsAttr(): string | null {\n return this.resolveDialog()?.getPanelId() ?? null;\n }\n\n @HostBinding('attr.aria-expanded')\n protected get ariaExpandedAttr(): 'false' | 'true' {\n return this.resolveDialog()?.isOpen() ? 'true' : 'false';\n }\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'dialog-trigger';\n\n @HostBinding('attr.data-open')\n protected get dataOpenAttr(): 'false' | 'true' {\n return this.resolveDialog()?.isOpen() ? 'true' : 'false';\n }\n\n @HostBinding('attr.data-state')\n protected get dataStateAttr(): 'closed' | 'open' {\n return this.resolveDialog()?.isOpen() ? 'open' : 'closed';\n }\n\n @HostBinding('attr.data-disabled')\n protected get dataDisabledAttr(): '' | null {\n return this.resolveDialog()?.disabled() ? '' : null;\n }\n\n @HostListener('click')\n protected onClick(): void {\n this.resolveDialog()?.openDialog();\n }\n\n private resolveDialog(): TngDialog | null {\n return this.dialogFor() ?? this.parentDialog;\n }\n}\n\n@Directive({\n selector: '[tngDialogTitle]',\n exportAs: 'tngDialogTitle',\n standalone: true,\n})\nexport class TngDialogTitle implements OnDestroy, OnInit {\n private readonly dialog = inject(TngDialog);\n private readonly hostRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly resolvedId = this.hostRef.nativeElement.id.trim().length > 0\n ? this.hostRef.nativeElement.id\n : createDialogTitleId();\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'dialog-title';\n\n @HostBinding('attr.id')\n protected get idAttr(): string {\n return this.resolvedId;\n }\n\n public ngOnInit(): void {\n this.dialog.registerTitle(this.resolvedId);\n }\n\n public ngOnDestroy(): void {\n this.dialog.unregisterTitle(this.resolvedId);\n }\n}\n\n@Directive({\n selector: '[tngDialogDescription]',\n exportAs: 'tngDialogDescription',\n standalone: true,\n})\nexport class TngDialogDescription implements OnDestroy, OnInit {\n private readonly dialog = inject(TngDialog);\n private readonly hostRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly resolvedId = this.hostRef.nativeElement.id.trim().length > 0\n ? this.hostRef.nativeElement.id\n : createDialogDescriptionId();\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'dialog-description';\n\n @HostBinding('attr.id')\n protected get idAttr(): string {\n return this.resolvedId;\n }\n\n public ngOnInit(): void {\n this.dialog.registerDescription(this.resolvedId);\n }\n\n public ngOnDestroy(): void {\n this.dialog.unregisterDescription(this.resolvedId);\n }\n}\n\n@Directive({\n selector: '[tngDialogContent]',\n exportAs: 'tngDialogContent',\n standalone: true,\n})\nexport class TngDialogContent {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'dialog-content';\n}\n\n@Directive({\n selector: '[tngDialogActions]',\n exportAs: 'tngDialogActions',\n standalone: true,\n})\nexport class TngDialogActions {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'dialog-actions';\n}\n\n@Directive({\n selector: '[tngDialogClose]',\n exportAs: 'tngDialogClose',\n standalone: true,\n})\nexport class TngDialogClose {\n private readonly dialog = inject(TngDialog);\n\n public readonly closeReason = input<string | null>(null, {\n alias: 'tngDialogClose',\n });\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'dialog-close';\n\n @HostListener('click')\n protected onClick(): void {\n this.dialog.requestClose(this.resolveCloseReason());\n }\n\n private resolveCloseReason(): TngDialogCloseReason {\n const raw = this.closeReason()?.trim();\n if (raw === undefined || raw.length === 0) {\n return 'close-button';\n }\n\n return isDialogCloseReason(raw) ? raw : 'close-button';\n }\n}\n"]}
1
+ {"version":3,"file":"tng-dialog.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/overlay/dialog/tng-dialog.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,UAAU,EACV,WAAW,EACX,YAAY,EAGZ,eAAe,EACf,gBAAgB,EAChB,MAAM,EACN,MAAM,EACN,QAAQ,EACR,KAAK,EACL,MAAM,EACN,MAAM,GACP,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,mCAAmC,EACnC,2BAA2B,EAC3B,8BAA8B,EAC9B,4BAA4B,EAC5B,wBAAwB,EACxB,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AAOxB,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;;AAEpE,MAAM,cAAc,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;AACxD,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;AACnE,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;AACnE,MAAM,yBAAyB,GAAG,kBAAkB,CAAC,wBAAwB,CAAC,CAAC;AAC/E,MAAM,uBAAuB,GAAG,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;AAQ3E,SAAS,6BAA6B,CAAC,KAA2B;IAChE,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,oBAAoB,CAAC,WAAoB;IAChD,IAAI,CAAC,CAAC,WAAW,YAAY,QAAQ,CAAC,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,WAA+C,CAAC;AACzD,CAAC;AAED,SAAS,wBAAwB,CAAC,WAAoB;IACpD,IAAI,CAAC,CAAC,WAAW,YAAY,QAAQ,CAAC,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,WAAmD,CAAC;AAC7D,CAAC;AAED,SAAS,uBAAuB,CAAC,UAAmB;IAClD,IAAI,CAAC,CAAC,UAAU,YAAY,WAAW,CAAC,EAAE,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,UAAiD,CAAC;AAC3D,CAAC;AAED,SAAS,uBAAuB,CAAC,MAA+B;IAC9D,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;QAC5B,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAI,MAAM,KAAK,iBAAiB,EAAE,CAAC;QACjC,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,MAAM,oBAAoB,GAAG,OAAO,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC/E,MAAM,oBAAoB,GAAG,2BAA2B,CAAC;IACvD,WAAW,EAAE,wBAAwB,CAAC,oBAAoB,CAAC;CAC5D,CAAC,CAAC;AACH,MAAM,kBAAkB,GAAG,mCAAmC,EAAE,CAAC;AAEjE,MAAM,UAAU,6BAA6B,CAAC,WAAoB;IAChE,IAAI,CAAC,CAAC,WAAW,YAAY,QAAQ,CAAC,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,aAAa,GAAG,WAAW,CAAC,aAAa,CAAC;IAChD,OAAO,aAAa,YAAY,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,SAAkB;IAClE,OAAO,wBAAwB,CAAC,SAAS,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,oCAAoC,CAAC,SAAkB;IACrE,IAAI,CAAC,CAAC,SAAS,YAAY,WAAW,CAAC,EAAE,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,aAAa,GAAG,SAAS,CAAC,aAAa,CAAc,iCAAiC,CAAC,CAAC;IAC9F,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,iCAAiC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QACzE,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,OAAO,iCAAiC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AACrE,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,OAAO,KAAK,YAAY,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACvD,CAAC;AAED,SAAS,2BAA2B,CAAC,SAAkB;IACrD,OAAO,4BAA4B,CAAC,SAAS,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAa;IACxC,OAAO,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,cAAc,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,cAAc,CAAC;AAC5G,CAAC;AAOD,MAAM,OAAO,SAAS;IACJ,SAAS,GAAG,KAAK,CAA4C,SAAS,sDACpF,KAAK,EAAE,MAAM;QACb,SAAS,EAAE,6BAA6B,GACxC,CAAC;IACa,WAAW,GAAG,KAAK,CAAgC,KAAK,wDACtE,SAAS,EAAE,gBAAgB,GAC3B,CAAC;IACa,QAAQ,GAAG,KAAK,CAAgC,KAAK,qDACnE,SAAS,EAAE,gBAAgB,GAC3B,CAAC;IACa,WAAW,GAAG,KAAK,CAAgC,IAAI,wDACrE,SAAS,EAAE,gBAAgB,GAC3B,CAAC;IACa,oBAAoB,GAAG,KAAK,CAAgC,IAAI,iEAC9E,SAAS,EAAE,gBAAgB,GAC3B,CAAC;IACa,aAAa,GAAG,KAAK,CAAgC,IAAI,0DACvE,SAAS,EAAE,gBAAgB,GAC3B,CAAC;IACa,YAAY,GAAG,KAAK,CAAgC,IAAI,yDACtE,SAAS,EAAE,gBAAgB,GAC3B,CAAC;IACa,SAAS,GAAG,KAAK,CAAkD,iBAAiB,sDAClG,SAAS,EAAE,CAAC,KAAkC,EAAsB,EAAE;YACpE,OAAO,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,iBAAiB;gBAC1E,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,iBAAiB,CAAC;QACxB,CAAC,GACD,CAAC;IACa,SAAS,GAAG,KAAK,CAAgC,IAAI,sDACnE,SAAS,EAAE,gBAAgB,GAC3B,CAAC;IACa,UAAU,GAAG,KAAK,CAAgC,IAAI,uDACpE,SAAS,EAAE,gBAAgB,GAC3B,CAAC;IACa,SAAS,GAAG,KAAK,CAAgB,IAAI,qDAAC,CAAC;IACvC,cAAc,GAAG,KAAK,CAAgB,IAAI,0DAAC,CAAC;IAC5C,eAAe,GAAG,KAAK,CAAgB,IAAI,2DAAC,CAAC;IAC7C,IAAI,GAAG,KAAK,CAAgB,IAAI,gDAAC,CAAC;IAElC,UAAU,GAAG,MAAM,EAAW,CAAC;IAC/B,MAAM,GAAG,MAAM,EAAwB,CAAC;IAEvC,OAAO,GAAG,MAAM,CAA0B,UAAU,CAAC,CAAC;IACtD,WAAW,GAAG,oBAAoB,CAAC;IACnC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC5B,UAAU,GAAG,cAAc,EAAE,CAAC;IAC9B,UAAU,GAAG,8BAA8B,CAAC;QAC3D,WAAW,EAAE,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC;KACpD,CAAC,CAAC;IAEc,gBAAgB,GAAG,MAAM,CAAC,KAAK,4DAAC,CAAC;IACjC,eAAe,GAAG,MAAM,CAAC,GAAS,EAAE;QACnD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YAClB,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC,2DAAC,CAAC;IAEK,WAAW,GAAG,KAAK,CAAC;IACpB,QAAQ,GAAG,KAAK,CAAC;IACjB,sBAAsB,GAAG,KAAK,CAAC;IAC/B,wBAAwB,GAAG,KAAK,CAAC;IACjC,YAAY,GAAuB,IAAI,CAAC;IACxC,cAAc,GAAkB,IAAI,CAAC;IACrC,iBAAiB,GAAkB,IAAI,CAAC;IACxC,uBAAuB,GAAkB,IAAI,CAAC;IAGnC,QAAQ,GAAG,QAAQ,CAAC;IAEvC,IACc,YAAY;QACxB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IAC1C,CAAC;IAED,IACc,aAAa;QACzB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC3C,CAAC;IAED,IACc,gBAAgB;QAC5B,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACrC,CAAC;IAED,IACc,YAAY;QACxB,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC;IAEM,QAAQ;QACb,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACzB,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YAClB,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC;IACH,CAAC;IAEM,WAAW;QAChB,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;QAC/B,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACrD,CAAC;IAEM,UAAU;QACf,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAEM,WAAW,CAAC,SAA+B,cAAc;QAC9D,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAEM,YAAY,CAAC,KAAe;QACjC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,OAAO;YACT,CAAC;YAED,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;YACjC,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YAClB,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;YACjC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAEM,YAAY,CAAC,MAA4B;QAC9C,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAEM,aAAa,CAAC,KAAkB,EAAE,EAAU;QACjD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;IAC3B,CAAC;IAEM,eAAe,CAAC,KAAkB;QACvC,IAAI,IAAI,CAAC,YAAY,KAAK,KAAK,EAAE,CAAC;YAChC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC;IACH,CAAC;IAEM,aAAa,CAAC,EAAU;QAC7B,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;IAC9B,CAAC;IAEM,eAAe,CAAC,EAAU;QAC/B,IAAI,IAAI,CAAC,iBAAiB,KAAK,EAAE,EAAE,CAAC;YAClC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAChC,CAAC;IACH,CAAC;IAEM,mBAAmB,CAAC,EAAU;QACnC,IAAI,CAAC,uBAAuB,GAAG,EAAE,CAAC;IACpC,CAAC;IAEM,qBAAqB,CAAC,EAAU;QACrC,IAAI,IAAI,CAAC,uBAAuB,KAAK,EAAE,EAAE,CAAC;YACxC,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;QACtC,CAAC;IACH,CAAC;IAEM,UAAU;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAEM,qBAAqB;QAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACrD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAEM,sBAAsB;QAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACtD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,OAAO,IAAI,CAAC,uBAAuB,CAAC;IACtC,CAAC;IAEM,qBAAqB,CAAC,KAAmB;QAC9C,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,CAAC;YACpC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,CAAC,KAAK,CAAC,aAAa,YAAY,WAAW,CAAC,EAAE,CAAC;YAClD,OAAO;QACT,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,aAAa,EAAE,CAAC;YACzC,OAAO;QACT,CAAC;QAED,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IAChC,CAAC;IAEM,iBAAiB,CAAC,KAAc;QACrC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QAED,MAAM,aAAa,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,aAAa,KAAK,IAAI,IAAI,aAAa,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC;YAC1D,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;QAChC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACtD,OAAO;QACT,CAAC;QAED,MAAM,kBAAkB,GAAG,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;QACjE,MAAM,aAAa,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO;QACT,CAAC;QACD,MAAM,YAAY,GAAG,kBAAkB,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,aAAa,CAAC;QAExF,MAAM,aAAa,GAAG,6BAA6B,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACtE,MAAM,eAAe,GAAG,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;QAE5F,IAAI,WAAW,GAAkB,IAAI,CAAC;QACtC,IAAI,aAAa,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YAC7D,WAAW,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC;QACtE,CAAC;aAAM,IAAI,eAAe,KAAK,aAAa,IAAI,aAAa,CAAC,QAAQ,EAAE,CAAC;YACvE,WAAW,GAAG,YAAY,CAAC;QAC7B,CAAC;aAAM,IAAI,eAAe,KAAK,YAAY,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;YACvE,WAAW,GAAG,aAAa,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;gBAC7B,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;YACnE,CAAC;YAED,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAG,kBAAkB,CAAC,qBAAqB,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAC1F,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAC5D,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;YAC7B,OAAO;QACT,CAAC;QAED,aAAa,CAAC,cAAc,EAAE,CAAC;QAC/B,eAAe,CAAC,KAAK,EAAE,CAAC;QACxB,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAC9D,CAAC;IAEM,oBAAoB,CAAC,MAAe;QACzC,IAAI,CAAC,CAAC,MAAM,YAAY,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YACvD,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;QAChC,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9C,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC9C,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC5D,CAAC;IAEO,cAAc;QACpB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QAErB,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;YACtB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAE9B,eAAe,CACb,GAAS,EAAE;YACT,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC7B,CAAC,EACD,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAC5B,CAAC;IACJ,CAAC;IAEO,gBAAgB;QACtB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QAEtB,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;YACtB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,CAAC,wBAAwB,EAAE,CAAC;IAClC,CAAC;IAEO,mBAAmB;QACzB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;QAChC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,EAAE,KAAK,MAAM,EAAE,CAAC;YAChC,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,EAAE,KAAK,QAAQ,EAAE,CAAC;YAClC,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,OAAO;QACT,CAAC;QAED,MAAM,aAAa,GAAG,oCAAoC,CAAC,KAAK,CAAC,CAAC;QAClE,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;YAC3B,aAAa,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QAED,MAAM,cAAc,GAAG,2BAA2B,CAAC,KAAK,CAAC,CAAC;QAC1D,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;YAC5B,cAAc,CAAC,KAAK,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QAED,KAAK,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC;IAEO,YAAY;QAClB,OAAO,IAAI,CAAC,SAAS,EAAE,KAAK,SAAS,CAAC;IACxC,CAAC;IAEO,YAAY,CAAC,QAAiB;QACpC,IAAI,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YAChC,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACzB,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC;IAEO,uBAAuB;QAC7B,OAAO,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC5E,CAAC;IAEO,qBAAqB;QAC3B,OAAO,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;IACrE,CAAC;IAEO,sBAAsB;QAC5B,MAAM,WAAW,GAAG,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACxE,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAC9D,CAAC;IAEO,wBAAwB;QAC9B,oBAAoB,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACnD,CAAC;IAEO,oBAAoB;QAC1B,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;QAC/C,0BAA0B,CAAC,aAAa,CAAC;YACvC,cAAc,EAAE,CAAC,MAAe,EAAE,IAAwB,EAAW,EAAE;gBACrE,IAAI,MAAM,YAAY,IAAI,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC3D,OAAO,IAAI,CAAC;gBACd,CAAC;gBAED,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YACpC,CAAC;YACD,eAAe,EAAE,IAAI,CAAC,qBAAqB,EAAE;YAC7C,uBAAuB,EAAE,KAAK;YAC9B,EAAE,EAAE,IAAI,CAAC,UAAU;YACnB,KAAK,EAAE,IAAI;YACX,SAAS,EAAE,CAAC,MAA+B,EAAQ,EAAE;gBACnD,IAAI,MAAM,KAAK,YAAY,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC;oBAC7D,OAAO;gBACT,CAAC;gBAED,IAAI,MAAM,KAAK,iBAAiB,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,CAAC;oBACpE,OAAO;gBACT,CAAC;gBAED,IAAI,CAAC,YAAY,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC;YACrD,CAAC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;IACvC,CAAC;IAEO,sBAAsB;QAC5B,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC;YACnC,OAAO;QACT,CAAC;QAED,0BAA0B,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5D,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;IACxC,CAAC;IAEO,kBAAkB;QACxB,MAAM,aAAa,GAAG,6BAA6B,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACtE,MAAM,oBAAoB,GAAG,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;QACjG,kBAAkB,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;IAC1E,CAAC;IAEO,oBAAoB;QAC1B,MAAM,oBAAoB,GAAG,kBAAkB,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACjF,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,oBAAoB,KAAK,IAAI,EAAE,CAAC;YAC1D,OAAO;QACT,CAAC;QAED,MAAM,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,CAAC;QACzE,kBAAkB,EAAE,KAAK,EAAE,CAAC;IAC9B,CAAC;IAEO,kBAAkB;QACxB,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAChC,OAAO;QACT,CAAC;QAED,kBAAkB,CAAC,aAAa,CAAC;YAC/B,OAAO,EAAE,IAAI,CAAC,UAAU;YACxB,OAAO,EAAE,GAAsB,EAAE;gBAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;gBAChC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;oBACnB,OAAO,EAAE,CAAC;gBACZ,CAAC;gBAED,OAAO,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;YAC/C,CAAC;YACD,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE;YACjC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE;SAC5B,CAAC,CAAC;QACH,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;IACrC,CAAC;IAEO,oBAAoB;QAC1B,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC;YACjC,OAAO;QACT,CAAC;QAED,kBAAkB,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACpD,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;IACtC,CAAC;IAEO,yBAAyB,CAAC,KAAkB;QAClD,MAAM,iBAAiB,GAAG,iCAAiC,CAAC,KAAK,CAAC,CAAC;QACnE,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3E,CAAC;IAEO,eAAe,CAAC,OAAoB;QAC1C,MAAM,UAAU,GAAG,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QACrC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,MAAM,WAAW,GAAG,uBAAuB,EAAE,CAAC;QAC9C,OAAO,CAAC,EAAE,GAAG,WAAW,CAAC;QACzB,OAAO,WAAW,CAAC;IACrB,CAAC;IAEO,kBAAkB,CAAC,EAAU;QACnC,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QACpD,OAAO,OAAO,YAAY,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IACzD,CAAC;uGAnhBU,SAAS;2FAAT,SAAS;;2FAAT,SAAS;kBALrB,SAAS;mBAAC;oBACT,QAAQ,EAAE,aAAa;oBACvB,QAAQ,EAAE,WAAW;oBACrB,UAAU,EAAE,IAAI;iBACjB;;sBA4EE,WAAW;uBAAC,gBAAgB;;sBAG5B,WAAW;uBAAC,gBAAgB;;sBAK5B,WAAW;uBAAC,iBAAiB;;sBAK7B,WAAW;uBAAC,oBAAoB;;sBAKhC,WAAW;uBAAC,gBAAgB;;AA8b/B,MAAM,OAAO,cAAc;IACR,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IAC3B,OAAO,GAAG,MAAM,CAA0B,UAAU,CAAC,CAAC;IACtD,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;QAC3E,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;QAC/B,CAAC,CAAC,mBAAmB,EAAE,CAAC;IAGP,QAAQ,GAAG,cAAc,CAAC;IAE7C,IACc,YAAY;QACxB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IACjD,CAAC;IAED,IACc,YAAY;QACxB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC5B,CAAC;IAED,IACc,aAAa;QACzB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;IAClD,CAAC;IAED,IACc,UAAU;QACtB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1C,CAAC;IAED,IACc,MAAM;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAGkB,QAAQ,GAAG,QAAQ,CAAC;IAGpB,YAAY,GAAG,IAAI,CAAC;IAEvC,IACc,mBAAmB;QAC/B,OAAO,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC;IAC9C,CAAC;IAED,IACc,aAAa;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACpD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IACzC,CAAC;IAED,IACc,kBAAkB;QAC9B,OAAO,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC;IAC7C,CAAC;IAED,IACc,aAAa;QACzB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9C,CAAC;IAEM,QAAQ;QACb,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACzE,CAAC;IAEM,WAAW;QAChB,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC1D,CAAC;IAGS,SAAS,CAAC,KAAoB;QACtC,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC;YACxB,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAGS,SAAS,CAAC,MAAe;QACjC,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;uGAhFU,cAAc;2FAAd,cAAc;;2FAAd,cAAc;kBAL1B,SAAS;mBAAC;oBACT,QAAQ,EAAE,kBAAkB;oBAC5B,QAAQ,EAAE,gBAAgB;oBAC1B,UAAU,EAAE,IAAI;iBACjB;;sBAQE,WAAW;uBAAC,gBAAgB;;sBAG5B,WAAW;uBAAC,gBAAgB;;sBAK5B,WAAW;uBAAC,gBAAgB;;sBAK5B,WAAW;uBAAC,iBAAiB;;sBAK7B,WAAW;uBAAC,aAAa;;sBAKzB,WAAW;uBAAC,SAAS;;sBAKrB,WAAW;uBAAC,WAAW;;sBAGvB,WAAW;uBAAC,eAAe;;sBAG3B,WAAW;uBAAC,uBAAuB;;sBAKnC,WAAW;uBAAC,iBAAiB;;sBAM7B,WAAW;uBAAC,sBAAsB;;sBAKlC,WAAW;uBAAC,iBAAiB;;sBAa7B,YAAY;uBAAC,SAAS,EAAE,CAAC,QAAQ,CAAC;;sBAOlC,YAAY;uBAAC,SAAS,EAAE,CAAC,eAAe,CAAC;;AAW5C,MAAM,OAAO,iBAAiB;IACX,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IAGzB,QAAQ,GAAG,iBAAiB,CAAC;IAEhD,IACc,YAAY;QACxB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IACjD,CAAC;IAED,IACc,aAAa;QACzB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;IAClD,CAAC;IAED,IACc,UAAU;QACtB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1C,CAAC;IAGS,aAAa,CAAC,KAAmB;QACzC,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;uGAxBU,iBAAiB;2FAAjB,iBAAiB;;2FAAjB,iBAAiB;kBAL7B,SAAS;mBAAC;oBACT,QAAQ,EAAE,qBAAqB;oBAC/B,QAAQ,EAAE,mBAAmB;oBAC7B,UAAU,EAAE,IAAI;iBACjB;;sBAIE,WAAW;uBAAC,gBAAgB;;sBAG5B,WAAW;uBAAC,gBAAgB;;sBAK5B,WAAW;uBAAC,iBAAiB;;sBAK7B,WAAW;uBAAC,aAAa;;sBAKzB,YAAY;uBAAC,aAAa,EAAE,CAAC,QAAQ,CAAC;;AAWzC,MAAM,OAAO,gBAAgB;IACV,YAAY,GAAG,MAAM,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAEtD,SAAS,GAAG,KAAK,CAAmB,IAAI,sDACtD,KAAK,EAAE,kBAAkB,GACzB,CAAC;IAGgB,gBAAgB,GAAG,QAAQ,CAAC;IAE/C,IACc,gBAAgB;QAC5B,OAAO,IAAI,CAAC,aAAa,EAAE,EAAE,UAAU,EAAE,IAAI,IAAI,CAAC;IACpD,CAAC;IAED,IACc,gBAAgB;QAC5B,OAAO,IAAI,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IAC3D,CAAC;IAGkB,QAAQ,GAAG,gBAAgB,CAAC;IAE/C,IACc,YAAY;QACxB,OAAO,IAAI,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IAC3D,CAAC;IAED,IACc,aAAa;QACzB,OAAO,IAAI,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC5D,CAAC;IAED,IACc,gBAAgB;QAC5B,OAAO,IAAI,CAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACtD,CAAC;IAGS,OAAO;QACf,IAAI,CAAC,aAAa,EAAE,EAAE,UAAU,EAAE,CAAC;IACrC,CAAC;IAEO,aAAa;QACnB,OAAO,IAAI,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC;IAC/C,CAAC;uGA7CU,gBAAgB;2FAAhB,gBAAgB;;2FAAhB,gBAAgB;kBAL5B,SAAS;mBAAC;oBACT,QAAQ,EAAE,oBAAoB;oBAC9B,QAAQ,EAAE,kBAAkB;oBAC5B,UAAU,EAAE,IAAI;iBACjB;;sBAQE,WAAW;uBAAC,oBAAoB;;sBAGhC,WAAW;uBAAC,oBAAoB;;sBAKhC,WAAW;uBAAC,oBAAoB;;sBAKhC,WAAW;uBAAC,gBAAgB;;sBAG5B,WAAW;uBAAC,gBAAgB;;sBAK5B,WAAW;uBAAC,iBAAiB;;sBAK7B,WAAW;uBAAC,oBAAoB;;sBAKhC,YAAY;uBAAC,OAAO;;AAevB,MAAM,OAAO,cAAc;IACR,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IAC3B,OAAO,GAAG,MAAM,CAA0B,UAAU,CAAC,CAAC;IACtD,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;QAC3E,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;QAC/B,CAAC,CAAC,mBAAmB,EAAE,CAAC;IAGP,QAAQ,GAAG,cAAc,CAAC;IAE7C,IACc,MAAM;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAEM,QAAQ;QACb,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC7C,CAAC;IAEM,WAAW;QAChB,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC/C,CAAC;uGArBU,cAAc;2FAAd,cAAc;;2FAAd,cAAc;kBAL1B,SAAS;mBAAC;oBACT,QAAQ,EAAE,kBAAkB;oBAC5B,QAAQ,EAAE,gBAAgB;oBAC1B,UAAU,EAAE,IAAI;iBACjB;;sBAQE,WAAW;uBAAC,gBAAgB;;sBAG5B,WAAW;uBAAC,SAAS;;AAmBxB,MAAM,OAAO,oBAAoB;IACd,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IAC3B,OAAO,GAAG,MAAM,CAA0B,UAAU,CAAC,CAAC;IACtD,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;QAC3E,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;QAC/B,CAAC,CAAC,yBAAyB,EAAE,CAAC;IAGb,QAAQ,GAAG,oBAAoB,CAAC;IAEnD,IACc,MAAM;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAEM,QAAQ;QACb,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACnD,CAAC;IAEM,WAAW;QAChB,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACrD,CAAC;uGArBU,oBAAoB;2FAApB,oBAAoB;;2FAApB,oBAAoB;kBALhC,SAAS;mBAAC;oBACT,QAAQ,EAAE,wBAAwB;oBAClC,QAAQ,EAAE,sBAAsB;oBAChC,UAAU,EAAE,IAAI;iBACjB;;sBAQE,WAAW;uBAAC,gBAAgB;;sBAG5B,WAAW;uBAAC,SAAS;;AAmBxB,MAAM,OAAO,gBAAgB;IAER,QAAQ,GAAG,gBAAgB,CAAC;uGAFpC,gBAAgB;2FAAhB,gBAAgB;;2FAAhB,gBAAgB;kBAL5B,SAAS;mBAAC;oBACT,QAAQ,EAAE,oBAAoB;oBAC9B,QAAQ,EAAE,kBAAkB;oBAC5B,UAAU,EAAE,IAAI;iBACjB;;sBAEE,WAAW;uBAAC,gBAAgB;;AAS/B,MAAM,OAAO,gBAAgB;IAER,QAAQ,GAAG,gBAAgB,CAAC;uGAFpC,gBAAgB;2FAAhB,gBAAgB;;2FAAhB,gBAAgB;kBAL5B,SAAS;mBAAC;oBACT,QAAQ,EAAE,oBAAoB;oBAC9B,QAAQ,EAAE,kBAAkB;oBAC5B,UAAU,EAAE,IAAI;iBACjB;;sBAEE,WAAW;uBAAC,gBAAgB;;AAS/B,MAAM,OAAO,cAAc;IACR,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IAE5B,WAAW,GAAG,KAAK,CAAgB,IAAI,wDACrD,KAAK,EAAE,gBAAgB,GACvB,CAAC;IAGgB,QAAQ,GAAG,cAAc,CAAC;IAGnC,OAAO;QACf,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACtD,CAAC;IAEO,kBAAkB;QACxB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC;QACvC,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1C,OAAO,cAAc,CAAC;QACxB,CAAC;QAED,OAAO,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC;IACzD,CAAC;uGAtBU,cAAc;2FAAd,cAAc;;2FAAd,cAAc;kBAL1B,SAAS;mBAAC;oBACT,QAAQ,EAAE,kBAAkB;oBAC5B,QAAQ,EAAE,gBAAgB;oBAC1B,UAAU,EAAE,IAAI;iBACjB;;sBAQE,WAAW;uBAAC,gBAAgB;;sBAG5B,YAAY;uBAAC,OAAO","sourcesContent":["import {\n Directive,\n ElementRef,\n HostBinding,\n HostListener,\n OnDestroy,\n OnInit,\n afterNextRender,\n booleanAttribute,\n effect,\n inject,\n Injector,\n input,\n output,\n signal,\n} from '@angular/core';\nimport {\n createOverlayFocusHandoffController,\n createModalIsolationManager,\n createOverlayScrollLockManager,\n resolveFirstFocusableElement,\n resolveFocusableElements,\n createTngIdFactory,\n} from '@tailng-ui/cdk';\nimport type {\n TngModalIsolationDocument,\n TngModalIsolationElement,\n TngOverlayDismissReason,\n TngScrollLockDocument,\n} from '@tailng-ui/cdk/overlay';\nimport { tngPrimitiveOverlayRuntime } from '../tng-overlay-runtime';\n\nconst createDialogId = createTngIdFactory('tng-dialog');\nconst createDialogPanelId = createTngIdFactory('tng-dialog-panel');\nconst createDialogTitleId = createTngIdFactory('tng-dialog-title');\nconst createDialogDescriptionId = createTngIdFactory('tng-dialog-description');\nconst createDialogFocusableId = createTngIdFactory('tng-dialog-focusable');\n\nexport type TngDialogAutoFocus = 'dialog' | 'first-focusable' | 'none';\nexport type TngDialogCloseReason = 'backdrop' | 'close-button' | 'escape' | 'programmatic';\nexport type TngDialogSize = 'lg' | 'md' | 'sm';\n\ntype OptionalBooleanInput = boolean | null | string | undefined;\n\nfunction normalizeOptionalBooleanInput(value: OptionalBooleanInput): boolean | undefined {\n if (value === null || value === undefined) {\n return undefined;\n }\n\n return booleanAttribute(value);\n}\n\nfunction toScrollLockDocument(documentRef: unknown): TngScrollLockDocument | null {\n if (!(documentRef instanceof Document)) {\n return null;\n }\n\n return documentRef as unknown as TngScrollLockDocument;\n}\n\nfunction toModalIsolationDocument(documentRef: unknown): TngModalIsolationDocument | null {\n if (!(documentRef instanceof Document)) {\n return null;\n }\n\n return documentRef as unknown as TngModalIsolationDocument;\n}\n\nfunction toModalIsolationElement(elementRef: unknown): TngModalIsolationElement | null {\n if (!(elementRef instanceof HTMLElement)) {\n return null;\n }\n\n return elementRef as unknown as TngModalIsolationElement;\n}\n\nfunction mapOverlayDismissReason(reason: TngOverlayDismissReason): TngDialogCloseReason {\n if (reason === 'escape-key') {\n return 'escape';\n }\n\n if (reason === 'outside-pointer') {\n return 'backdrop';\n }\n\n return 'programmatic';\n}\n\nconst dialogGlobalDocument = typeof document === 'undefined' ? null : document;\nconst dialogModalIsolation = createModalIsolationManager({\n documentRef: toModalIsolationDocument(dialogGlobalDocument),\n});\nconst dialogFocusHandoff = createOverlayFocusHandoffController();\n\nexport function resolveTngDialogActiveElement(documentRef: unknown): HTMLElement | null {\n if (!(documentRef instanceof Document)) {\n return null;\n }\n\n const activeElement = documentRef.activeElement;\n return activeElement instanceof HTMLElement ? activeElement : null;\n}\n\nexport function resolveTngDialogFocusableElements(container: unknown): readonly HTMLElement[] {\n return resolveFocusableElements(container);\n}\n\nexport function resolveTngDialogMarkedInitialElement(container: unknown): HTMLElement | null {\n if (!(container instanceof HTMLElement)) {\n return null;\n }\n\n const markedInitial = container.querySelector<HTMLElement>('[data-tng-dialog-initial-focus]');\n if (markedInitial === null) {\n return null;\n }\n\n if (resolveTngDialogFocusableElements(container).includes(markedInitial)) {\n return markedInitial;\n }\n\n return resolveTngDialogFocusableElements(markedInitial)[0] ?? null;\n}\n\nfunction readKeyboardEvent(event: unknown): KeyboardEvent | null {\n return event instanceof KeyboardEvent ? event : null;\n}\n\nfunction resolveFirstFocusableWithin(container: unknown): HTMLElement | null {\n return resolveFirstFocusableElement(container);\n}\n\nfunction isDialogCloseReason(value: string): value is TngDialogCloseReason {\n return value === 'backdrop' || value === 'close-button' || value === 'escape' || value === 'programmatic';\n}\n\n@Directive({\n selector: '[tngDialog]',\n exportAs: 'tngDialog',\n standalone: true,\n})\nexport class TngDialog implements OnDestroy, OnInit {\n public readonly openInput = input<boolean | undefined, OptionalBooleanInput>(undefined, {\n alias: 'open',\n transform: normalizeOptionalBooleanInput,\n });\n public readonly defaultOpen = input<boolean, OptionalBooleanInput>(false, {\n transform: booleanAttribute,\n });\n public readonly disabled = input<boolean, OptionalBooleanInput>(false, {\n transform: booleanAttribute,\n });\n public readonly dismissible = input<boolean, OptionalBooleanInput>(true, {\n transform: booleanAttribute,\n });\n public readonly closeOnBackdropClick = input<boolean, OptionalBooleanInput>(true, {\n transform: booleanAttribute,\n });\n public readonly closeOnEscape = input<boolean, OptionalBooleanInput>(true, {\n transform: booleanAttribute,\n });\n public readonly restoreFocus = input<boolean, OptionalBooleanInput>(true, {\n transform: booleanAttribute,\n });\n public readonly autoFocus = input<TngDialogAutoFocus, TngDialogAutoFocus | string>('first-focusable', {\n transform: (value: TngDialogAutoFocus | string): TngDialogAutoFocus => {\n return value === 'none' || value === 'dialog' || value === 'first-focusable'\n ? value\n : 'first-focusable';\n },\n });\n public readonly trapFocus = input<boolean, OptionalBooleanInput>(true, {\n transform: booleanAttribute,\n });\n public readonly lockScroll = input<boolean, OptionalBooleanInput>(true, {\n transform: booleanAttribute,\n });\n public readonly ariaLabel = input<string | null>(null);\n public readonly ariaLabelledby = input<string | null>(null);\n public readonly ariaDescribedby = input<string | null>(null);\n public readonly size = input<TngDialogSize>('md');\n\n public readonly openChange = output<boolean>();\n public readonly closed = output<TngDialogCloseReason>();\n\n private readonly hostRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly documentRef = dialogGlobalDocument;\n private readonly injector = inject(Injector);\n private readonly instanceId = createDialogId();\n private readonly scrollLock = createOverlayScrollLockManager({\n documentRef: toScrollLockDocument(this.documentRef),\n });\n\n private readonly uncontrolledOpen = signal(false);\n private readonly openStateEffect = effect((): void => {\n if (!this.initialized) {\n return;\n }\n\n if (this.isOpen()) {\n this.activateDialog();\n return;\n }\n\n this.deactivateDialog();\n });\n\n private initialized = false;\n private isActive = false;\n private isFocusLayerRegistered = false;\n private isOverlayLayerRegistered = false;\n private panelElement: HTMLElement | null = null;\n private panelElementId: string | null = null;\n private registeredTitleId: string | null = null;\n private registeredDescriptionId: string | null = null;\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'dialog';\n\n @HostBinding('attr.data-open')\n protected get dataOpenAttr(): 'false' | 'true' {\n return this.isOpen() ? 'true' : 'false';\n }\n\n @HostBinding('attr.data-state')\n protected get dataStateAttr(): 'closed' | 'open' {\n return this.isOpen() ? 'open' : 'closed';\n }\n\n @HostBinding('attr.data-disabled')\n protected get dataDisabledAttr(): '' | null {\n return this.disabled() ? '' : null;\n }\n\n @HostBinding('attr.data-size')\n protected get dataSizeAttr(): TngDialogSize {\n return this.size();\n }\n\n public ngOnInit(): void {\n if (!this.isControlled()) {\n this.uncontrolledOpen.set(this.defaultOpen());\n }\n\n this.initialized = true;\n if (this.isOpen()) {\n this.activateDialog();\n }\n }\n\n public ngOnDestroy(): void {\n this.openStateEffect.destroy();\n this.deactivateDialog();\n this.unregisterFocusLayer();\n }\n\n public isOpen(): boolean {\n return this.openInput() ?? this.uncontrolledOpen();\n }\n\n public openDialog(): void {\n if (this.disabled()) {\n return;\n }\n\n this.setOpenState(true);\n }\n\n public closeDialog(reason: TngDialogCloseReason = 'programmatic'): void {\n this.requestClose(reason);\n }\n\n public toggleDialog(force?: boolean): void {\n if (force !== undefined) {\n if (force) {\n this.openDialog();\n return;\n }\n\n this.closeDialog('programmatic');\n return;\n }\n\n if (this.isOpen()) {\n this.closeDialog('programmatic');\n return;\n }\n\n this.openDialog();\n }\n\n public requestClose(reason: TngDialogCloseReason): void {\n if (!this.isOpen()) {\n return;\n }\n\n this.closed.emit(reason);\n this.setOpenState(false);\n }\n\n public registerPanel(panel: HTMLElement, id: string): void {\n this.panelElement = panel;\n this.panelElementId = id;\n }\n\n public unregisterPanel(panel: HTMLElement): void {\n if (this.panelElement === panel) {\n this.panelElement = null;\n this.panelElementId = null;\n }\n }\n\n public registerTitle(id: string): void {\n this.registeredTitleId = id;\n }\n\n public unregisterTitle(id: string): void {\n if (this.registeredTitleId === id) {\n this.registeredTitleId = null;\n }\n }\n\n public registerDescription(id: string): void {\n this.registeredDescriptionId = id;\n }\n\n public unregisterDescription(id: string): void {\n if (this.registeredDescriptionId === id) {\n this.registeredDescriptionId = null;\n }\n }\n\n public getPanelId(): string | null {\n return this.panelElementId;\n }\n\n public resolveAriaLabelledby(): string | null {\n const explicit = this.ariaLabelledby()?.trim() ?? '';\n if (explicit.length > 0) {\n return explicit;\n }\n\n return this.registeredTitleId;\n }\n\n public resolveAriaDescribedby(): string | null {\n const explicit = this.ariaDescribedby()?.trim() ?? '';\n if (explicit.length > 0) {\n return explicit;\n }\n\n return this.registeredDescriptionId;\n }\n\n public onBackdropPointerDown(event: PointerEvent): void {\n if (!this.shouldCloseFromBackdrop()) {\n return;\n }\n\n if (!(event.currentTarget instanceof HTMLElement)) {\n return;\n }\n\n if (event.target !== event.currentTarget) {\n return;\n }\n\n event.preventDefault();\n this.requestClose('backdrop');\n }\n\n public trapTabNavigation(event: unknown): void {\n if (!this.trapFocus()) {\n return;\n }\n\n const keyboardEvent = readKeyboardEvent(event);\n if (keyboardEvent === null || keyboardEvent.key !== 'Tab') {\n return;\n }\n\n const panel = this.panelElement;\n if (panel === null) {\n return;\n }\n\n if (!dialogFocusHandoff.isTrapActive(this.instanceId)) {\n return;\n }\n\n const focusableMemberIds = this.resolveFocusableMemberIds(panel);\n const firstMemberId = focusableMemberIds[0];\n if (firstMemberId === undefined) {\n return;\n }\n const lastMemberId = focusableMemberIds[focusableMemberIds.length - 1] ?? firstMemberId;\n\n const activeElement = resolveTngDialogActiveElement(this.documentRef);\n const activeElementId = activeElement === null ? null : this.ensureElementId(activeElement);\n\n let candidateId: string | null = null;\n if (activeElement === null || !panel.contains(activeElement)) {\n candidateId = keyboardEvent.shiftKey ? lastMemberId : firstMemberId;\n } else if (activeElementId === firstMemberId && keyboardEvent.shiftKey) {\n candidateId = lastMemberId;\n } else if (activeElementId === lastMemberId && !keyboardEvent.shiftKey) {\n candidateId = firstMemberId;\n } else {\n if (activeElementId !== null) {\n dialogFocusHandoff.recordFocus(this.instanceId, activeElementId);\n }\n\n return;\n }\n\n const resolvedId = dialogFocusHandoff.resolveFocusCandidate(this.instanceId, candidateId);\n if (resolvedId === null) {\n return;\n }\n\n const nextFocusTarget = this.resolveElementById(resolvedId);\n if (nextFocusTarget === null) {\n return;\n }\n\n keyboardEvent.preventDefault();\n nextFocusTarget.focus();\n dialogFocusHandoff.recordFocus(this.instanceId, resolvedId);\n }\n\n public recordFocusedElement(target: unknown): void {\n if (!(target instanceof HTMLElement) || !this.isOpen()) {\n return;\n }\n\n const panel = this.panelElement;\n if (panel === null || !panel.contains(target)) {\n return;\n }\n\n const targetId = this.ensureElementId(target);\n dialogFocusHandoff.recordFocus(this.instanceId, targetId);\n }\n\n private activateDialog(): void {\n if (this.isActive) {\n return;\n }\n\n this.isActive = true;\n\n if (this.lockScroll()) {\n this.scrollLock.acquire(this.instanceId);\n }\n\n this.registerFocusLayer();\n this.activateFocusLayer();\n this.registerOverlayLayer();\n this.activateModalIsolation();\n\n afterNextRender(\n (): void => {\n this.focusInitialElement();\n },\n { injector: this.injector },\n );\n }\n\n private deactivateDialog(): void {\n if (!this.isActive) {\n return;\n }\n\n this.isActive = false;\n\n if (this.lockScroll()) {\n this.scrollLock.release(this.instanceId);\n }\n\n this.deactivateFocusLayer();\n this.unregisterFocusLayer();\n this.unregisterOverlayLayer();\n this.deactivateModalIsolation();\n }\n\n private focusInitialElement(): void {\n if (!this.isOpen()) {\n return;\n }\n\n const panel = this.panelElement;\n if (panel === null) {\n return;\n }\n\n if (this.autoFocus() === 'none') {\n return;\n }\n\n if (this.autoFocus() === 'dialog') {\n panel.focus();\n return;\n }\n\n const markedInitial = resolveTngDialogMarkedInitialElement(panel);\n if (markedInitial !== null) {\n markedInitial.focus();\n return;\n }\n\n const firstFocusable = resolveFirstFocusableWithin(panel);\n if (firstFocusable !== null) {\n firstFocusable.focus();\n return;\n }\n\n panel.focus();\n }\n\n private isControlled(): boolean {\n return this.openInput() !== undefined;\n }\n\n private setOpenState(nextOpen: boolean): void {\n if (nextOpen && this.disabled()) {\n return;\n }\n\n if (this.isOpen() === nextOpen) {\n return;\n }\n\n if (!this.isControlled()) {\n this.uncontrolledOpen.set(nextOpen);\n }\n\n this.openChange.emit(nextOpen);\n }\n\n private shouldCloseFromBackdrop(): boolean {\n return this.isOpen() && this.dismissible() && this.closeOnBackdropClick();\n }\n\n private shouldCloseFromEscape(): boolean {\n return this.isOpen() && this.dismissible() && this.closeOnEscape();\n }\n\n private activateModalIsolation(): void {\n const hostElement = toModalIsolationElement(this.hostRef.nativeElement);\n if (hostElement === null) {\n return;\n }\n\n dialogModalIsolation.activate(this.instanceId, hostElement);\n }\n\n private deactivateModalIsolation(): void {\n dialogModalIsolation.deactivate(this.instanceId);\n }\n\n private registerOverlayLayer(): void {\n const hostElement = this.hostRef.nativeElement;\n tngPrimitiveOverlayRuntime.registerLayer({\n containsTarget: (target: unknown, path: readonly unknown[]): boolean => {\n if (target instanceof Node && hostElement.contains(target)) {\n return true;\n }\n\n return path.includes(hostElement);\n },\n dismissOnEscape: this.shouldCloseFromEscape(),\n dismissOnOutsidePointer: false,\n id: this.instanceId,\n modal: true,\n onDismiss: (reason: TngOverlayDismissReason): void => {\n if (reason === 'escape-key' && !this.shouldCloseFromEscape()) {\n return;\n }\n\n if (reason === 'outside-pointer' && !this.shouldCloseFromBackdrop()) {\n return;\n }\n\n this.requestClose(mapOverlayDismissReason(reason));\n },\n });\n\n this.isOverlayLayerRegistered = true;\n }\n\n private unregisterOverlayLayer(): void {\n if (!this.isOverlayLayerRegistered) {\n return;\n }\n\n tngPrimitiveOverlayRuntime.unregisterLayer(this.instanceId);\n this.isOverlayLayerRegistered = false;\n }\n\n private activateFocusLayer(): void {\n const activeElement = resolveTngDialogActiveElement(this.documentRef);\n const restoreFocusTargetId = activeElement === null ? null : this.ensureElementId(activeElement);\n dialogFocusHandoff.activateLayer(this.instanceId, restoreFocusTargetId);\n }\n\n private deactivateFocusLayer(): void {\n const restoreFocusTargetId = dialogFocusHandoff.deactivateLayer(this.instanceId);\n if (!this.restoreFocus() || restoreFocusTargetId === null) {\n return;\n }\n\n const restoreFocusTarget = this.resolveElementById(restoreFocusTargetId);\n restoreFocusTarget?.focus();\n }\n\n private registerFocusLayer(): void {\n if (this.isFocusLayerRegistered) {\n return;\n }\n\n dialogFocusHandoff.registerLayer({\n layerId: this.instanceId,\n members: (): readonly string[] => {\n const panel = this.panelElement;\n if (panel === null) {\n return [];\n }\n\n return this.resolveFocusableMemberIds(panel);\n },\n restoreFocus: this.restoreFocus(),\n trapFocus: this.trapFocus(),\n });\n this.isFocusLayerRegistered = true;\n }\n\n private unregisterFocusLayer(): void {\n if (!this.isFocusLayerRegistered) {\n return;\n }\n\n dialogFocusHandoff.unregisterLayer(this.instanceId);\n this.isFocusLayerRegistered = false;\n }\n\n private resolveFocusableMemberIds(panel: HTMLElement): readonly string[] {\n const focusableElements = resolveTngDialogFocusableElements(panel);\n if (focusableElements.length === 0) {\n return [];\n }\n\n return focusableElements.map((element) => this.ensureElementId(element));\n }\n\n private ensureElementId(element: HTMLElement): string {\n const existingId = element.id.trim();\n if (existingId.length > 0) {\n return existingId;\n }\n\n const generatedId = createDialogFocusableId();\n element.id = generatedId;\n return generatedId;\n }\n\n private resolveElementById(id: string): HTMLElement | null {\n if (this.documentRef === null) {\n return null;\n }\n\n const element = this.documentRef.getElementById(id);\n return element instanceof HTMLElement ? element : null;\n }\n}\n\n@Directive({\n selector: '[tngDialogPanel]',\n exportAs: 'tngDialogPanel',\n standalone: true,\n})\nexport class TngDialogPanel implements OnDestroy, OnInit {\n private readonly dialog = inject(TngDialog);\n private readonly hostRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly resolvedId = this.hostRef.nativeElement.id.trim().length > 0\n ? this.hostRef.nativeElement.id\n : createDialogPanelId();\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'dialog-panel';\n\n @HostBinding('attr.data-open')\n protected get dataOpenAttr(): 'false' | 'true' {\n return this.dialog.isOpen() ? 'true' : 'false';\n }\n\n @HostBinding('attr.data-size')\n protected get dataSizeAttr(): TngDialogSize {\n return this.dialog.size();\n }\n\n @HostBinding('attr.data-state')\n protected get dataStateAttr(): 'closed' | 'open' {\n return this.dialog.isOpen() ? 'open' : 'closed';\n }\n\n @HostBinding('attr.hidden')\n protected get hiddenAttr(): '' | null {\n return this.dialog.isOpen() ? null : '';\n }\n\n @HostBinding('attr.id')\n protected get idAttr(): string {\n return this.resolvedId;\n }\n\n @HostBinding('attr.role')\n protected readonly roleAttr = 'dialog';\n\n @HostBinding('attr.tabindex')\n protected readonly tabindexAttr = '-1';\n\n @HostBinding('attr.aria-describedby')\n protected get ariaDescribedByAttr(): string | null {\n return this.dialog.resolveAriaDescribedby();\n }\n\n @HostBinding('attr.aria-label')\n protected get ariaLabelAttr(): string | null {\n const label = this.dialog.ariaLabel()?.trim() ?? '';\n return label.length > 0 ? label : null;\n }\n\n @HostBinding('attr.aria-labelledby')\n protected get ariaLabelledByAttr(): string | null {\n return this.dialog.resolveAriaLabelledby();\n }\n\n @HostBinding('attr.aria-modal')\n protected get ariaModalAttr(): 'true' | null {\n return this.dialog.isOpen() ? 'true' : null;\n }\n\n public ngOnInit(): void {\n this.dialog.registerPanel(this.hostRef.nativeElement, this.resolvedId);\n }\n\n public ngOnDestroy(): void {\n this.dialog.unregisterPanel(this.hostRef.nativeElement);\n }\n\n @HostListener('keydown', ['$event'])\n protected onKeydown(event: KeyboardEvent): void {\n if (event.key === 'Tab') {\n this.dialog.trapTabNavigation(event);\n }\n }\n\n @HostListener('focusin', ['$event.target'])\n protected onFocusIn(target: unknown): void {\n this.dialog.recordFocusedElement(target);\n }\n}\n\n@Directive({\n selector: '[tngDialogBackdrop]',\n exportAs: 'tngDialogBackdrop',\n standalone: true,\n})\nexport class TngDialogBackdrop {\n private readonly dialog = inject(TngDialog);\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'dialog-backdrop';\n\n @HostBinding('attr.data-open')\n protected get dataOpenAttr(): 'false' | 'true' {\n return this.dialog.isOpen() ? 'true' : 'false';\n }\n\n @HostBinding('attr.data-state')\n protected get dataStateAttr(): 'closed' | 'open' {\n return this.dialog.isOpen() ? 'open' : 'closed';\n }\n\n @HostBinding('attr.hidden')\n protected get hiddenAttr(): '' | null {\n return this.dialog.isOpen() ? null : '';\n }\n\n @HostListener('pointerdown', ['$event'])\n protected onPointerDown(event: PointerEvent): void {\n this.dialog.onBackdropPointerDown(event);\n }\n}\n\n@Directive({\n selector: '[tngDialogTrigger]',\n exportAs: 'tngDialogTrigger',\n standalone: true,\n})\nexport class TngDialogTrigger {\n private readonly parentDialog = inject(TngDialog, { optional: true });\n\n public readonly dialogFor = input<TngDialog | null>(null, {\n alias: 'tngDialogTrigger',\n });\n\n @HostBinding('attr.aria-haspopup')\n protected readonly ariaHasPopupAttr = 'dialog';\n\n @HostBinding('attr.aria-controls')\n protected get ariaControlsAttr(): string | null {\n return this.resolveDialog()?.getPanelId() ?? null;\n }\n\n @HostBinding('attr.aria-expanded')\n protected get ariaExpandedAttr(): 'false' | 'true' {\n return this.resolveDialog()?.isOpen() ? 'true' : 'false';\n }\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'dialog-trigger';\n\n @HostBinding('attr.data-open')\n protected get dataOpenAttr(): 'false' | 'true' {\n return this.resolveDialog()?.isOpen() ? 'true' : 'false';\n }\n\n @HostBinding('attr.data-state')\n protected get dataStateAttr(): 'closed' | 'open' {\n return this.resolveDialog()?.isOpen() ? 'open' : 'closed';\n }\n\n @HostBinding('attr.data-disabled')\n protected get dataDisabledAttr(): '' | null {\n return this.resolveDialog()?.disabled() ? '' : null;\n }\n\n @HostListener('click')\n protected onClick(): void {\n this.resolveDialog()?.openDialog();\n }\n\n private resolveDialog(): TngDialog | null {\n return this.dialogFor() ?? this.parentDialog;\n }\n}\n\n@Directive({\n selector: '[tngDialogTitle]',\n exportAs: 'tngDialogTitle',\n standalone: true,\n})\nexport class TngDialogTitle implements OnDestroy, OnInit {\n private readonly dialog = inject(TngDialog);\n private readonly hostRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly resolvedId = this.hostRef.nativeElement.id.trim().length > 0\n ? this.hostRef.nativeElement.id\n : createDialogTitleId();\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'dialog-title';\n\n @HostBinding('attr.id')\n protected get idAttr(): string {\n return this.resolvedId;\n }\n\n public ngOnInit(): void {\n this.dialog.registerTitle(this.resolvedId);\n }\n\n public ngOnDestroy(): void {\n this.dialog.unregisterTitle(this.resolvedId);\n }\n}\n\n@Directive({\n selector: '[tngDialogDescription]',\n exportAs: 'tngDialogDescription',\n standalone: true,\n})\nexport class TngDialogDescription implements OnDestroy, OnInit {\n private readonly dialog = inject(TngDialog);\n private readonly hostRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly resolvedId = this.hostRef.nativeElement.id.trim().length > 0\n ? this.hostRef.nativeElement.id\n : createDialogDescriptionId();\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'dialog-description';\n\n @HostBinding('attr.id')\n protected get idAttr(): string {\n return this.resolvedId;\n }\n\n public ngOnInit(): void {\n this.dialog.registerDescription(this.resolvedId);\n }\n\n public ngOnDestroy(): void {\n this.dialog.unregisterDescription(this.resolvedId);\n }\n}\n\n@Directive({\n selector: '[tngDialogContent]',\n exportAs: 'tngDialogContent',\n standalone: true,\n})\nexport class TngDialogContent {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'dialog-content';\n}\n\n@Directive({\n selector: '[tngDialogActions]',\n exportAs: 'tngDialogActions',\n standalone: true,\n})\nexport class TngDialogActions {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'dialog-actions';\n}\n\n@Directive({\n selector: '[tngDialogClose]',\n exportAs: 'tngDialogClose',\n standalone: true,\n})\nexport class TngDialogClose {\n private readonly dialog = inject(TngDialog);\n\n public readonly closeReason = input<string | null>(null, {\n alias: 'tngDialogClose',\n });\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'dialog-close';\n\n @HostListener('click')\n protected onClick(): void {\n this.dialog.requestClose(this.resolveCloseReason());\n }\n\n private resolveCloseReason(): TngDialogCloseReason {\n const raw = this.closeReason()?.trim();\n if (raw === undefined || raw.length === 0) {\n return 'close-button';\n }\n\n return isDialogCloseReason(raw) ? raw : 'close-button';\n }\n}\n"]}
@@ -1,4 +1,5 @@
1
1
  import type { OnDestroy, OnInit } from '@angular/core';
2
+ import * as i0 from "@angular/core";
2
3
  type OptionalBooleanInput = boolean | null | string | undefined;
3
4
  export type TngPopoverAutoFocus = 'first-focusable' | 'none' | 'panel';
4
5
  export type TngPopoverSide = 'bottom' | 'left' | 'right' | 'top';
@@ -74,6 +75,8 @@ export declare class TngPopover implements OnDestroy, OnInit {
74
75
  private resolveFocusableMemberIds;
75
76
  private ensureElementId;
76
77
  private resolveElementById;
78
+ static ɵfac: i0.ɵɵFactoryDeclaration<TngPopover, never>;
79
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TngPopover, "[tngPopover]", ["tngPopover"], { "openInput": { "alias": "open"; "required": false; "isSignal": true; }; "defaultOpen": { "alias": "defaultOpen"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "closeOnEscape": { "alias": "closeOnEscape"; "required": false; "isSignal": true; }; "closeOnOutsidePointer": { "alias": "closeOnOutsidePointer"; "required": false; "isSignal": true; }; "restoreFocus": { "alias": "restoreFocus"; "required": false; "isSignal": true; }; "autoFocus": { "alias": "autoFocus"; "required": false; "isSignal": true; }; "side": { "alias": "side"; "required": false; "isSignal": true; }; "align": { "alias": "align"; "required": false; "isSignal": true; }; "panelRole": { "alias": "panelRole"; "required": false; "isSignal": true; }; "ariaHasPopup": { "alias": "ariaHasPopup"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "openChange": "openChange"; "closed": "closed"; }, never, never, true, never>;
77
80
  }
78
81
  export declare class TngPopoverTrigger implements OnDestroy, OnInit {
79
82
  private readonly hostRef;
@@ -90,6 +93,8 @@ export declare class TngPopoverTrigger implements OnDestroy, OnInit {
90
93
  ngOnDestroy(): void;
91
94
  protected onClick(): void;
92
95
  private resolvePopover;
96
+ static ɵfac: i0.ɵɵFactoryDeclaration<TngPopoverTrigger, never>;
97
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TngPopoverTrigger, "[tngPopoverTrigger]", ["tngPopoverTrigger"], { "popoverFor": { "alias": "tngPopoverTrigger"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
93
98
  }
94
99
  export declare class TngPopoverPanel implements OnDestroy, OnInit {
95
100
  private readonly popover;
@@ -109,6 +114,8 @@ export declare class TngPopoverPanel implements OnDestroy, OnInit {
109
114
  ngOnInit(): void;
110
115
  ngOnDestroy(): void;
111
116
  protected onFocusIn(target: EventTarget | null): void;
117
+ static ɵfac: i0.ɵɵFactoryDeclaration<TngPopoverPanel, never>;
118
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TngPopoverPanel, "[tngPopoverPanel], [tngPopoverContent]", ["tngPopoverPanel"], {}, {}, never, never, true, never>;
112
119
  }
113
120
  export declare class TngPopoverClose {
114
121
  private readonly popover;
@@ -116,6 +123,8 @@ export declare class TngPopoverClose {
116
123
  protected readonly dataSlot = "popover-close";
117
124
  protected onClick(): void;
118
125
  private resolveCloseReason;
126
+ static ɵfac: i0.ɵɵFactoryDeclaration<TngPopoverClose, never>;
127
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TngPopoverClose, "[tngPopoverClose]", ["tngPopoverClose"], { "closeReason": { "alias": "tngPopoverClose"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
119
128
  }
120
129
  export {};
121
130
  //# sourceMappingURL=tng-popover.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tng-popover.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/overlay/popover/tng-popover.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tng-popover.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/overlay/popover/tng-popover.ts"],"names":[],"mappings":"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"}