@slotted/angular 0.1.0-beta.0 → 0.1.0-beta.10

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 (588) hide show
  1. package/README.md +4 -0
  2. package/docs/AGENTS.snippet.md +12 -0
  3. package/docs/alert.json +7 -1
  4. package/docs/alert.md +3 -3
  5. package/docs/app-shell.examples.md +1 -1
  6. package/docs/app-shell.json +5 -5
  7. package/docs/app-shell.md +2 -2
  8. package/docs/avatar.json +22 -1
  9. package/docs/avatar.md +5 -3
  10. package/docs/badge.json +7 -1
  11. package/docs/badge.md +3 -3
  12. package/docs/button-group.json +2 -0
  13. package/docs/button-group.md +1 -1
  14. package/docs/button.json +51 -11
  15. package/docs/button.md +10 -6
  16. package/docs/calendar.json +8 -1
  17. package/docs/calendar.md +1 -0
  18. package/docs/cascader.json +1 -0
  19. package/docs/cascader.md +1 -1
  20. package/docs/chart.examples.md +1 -1
  21. package/docs/chart.json +10 -1
  22. package/docs/chart.md +3 -2
  23. package/docs/checkbox.json +7 -0
  24. package/docs/checkbox.md +1 -0
  25. package/docs/code-block.json +92 -92
  26. package/docs/code-block.md +69 -69
  27. package/docs/combobox.json +1 -0
  28. package/docs/combobox.md +1 -1
  29. package/docs/currency-field.json +40 -1
  30. package/docs/currency-field.md +5 -1
  31. package/docs/data-grid.examples.md +2 -2
  32. package/docs/data-grid.json +24 -7
  33. package/docs/data-grid.md +1 -1
  34. package/docs/data-grid.props.md +6 -4
  35. package/docs/data-list.json +2 -1
  36. package/docs/data-list.md +1 -1
  37. package/docs/date-field.json +9 -1
  38. package/docs/date-field.md +3 -2
  39. package/docs/date-picker.examples.md +36 -0
  40. package/docs/date-picker.json +20 -5
  41. package/docs/date-picker.md +5 -4
  42. package/docs/datetime-field.json +1 -0
  43. package/docs/datetime-field.md +1 -1
  44. package/docs/dialog.examples.md +158 -136
  45. package/docs/dialog.json +35 -11
  46. package/docs/dialog.md +4 -2
  47. package/docs/dialog.props.md +1 -1
  48. package/docs/drawer.json +5 -0
  49. package/docs/drawer.md +1 -0
  50. package/docs/entity-picker.json +19 -4
  51. package/docs/entity-picker.md +8 -6
  52. package/docs/event-calendar.json +7 -0
  53. package/docs/event-calendar.md +1 -0
  54. package/docs/filter-bar.json +118 -118
  55. package/docs/filter-bar.md +79 -79
  56. package/docs/form.json +2 -1
  57. package/docs/form.md +1 -1
  58. package/docs/guidelines/README.md +27 -0
  59. package/docs/guidelines/async-feedback.md +129 -0
  60. package/docs/guidelines/browsing.md +74 -0
  61. package/docs/guidelines/builders.md +97 -0
  62. package/docs/guidelines/composition.md +143 -0
  63. package/docs/guidelines/conversations.md +59 -0
  64. package/docs/guidelines/errors-and-conflicts.md +71 -0
  65. package/docs/guidelines/forms.md +202 -0
  66. package/docs/guidelines/index.md +129 -0
  67. package/docs/guidelines/layout-alignment.md +95 -0
  68. package/docs/guidelines/ledgers.md +45 -0
  69. package/docs/guidelines/list-pages.md +206 -0
  70. package/docs/guidelines/overviews.md +76 -0
  71. package/docs/guidelines/own-elements.md +115 -0
  72. package/docs/guidelines/reading-permissions.md +55 -0
  73. package/docs/guidelines/record-pages.md +178 -0
  74. package/docs/guidelines/reports.md +123 -0
  75. package/docs/guidelines/shell-composition.md +94 -0
  76. package/docs/guidelines/workspaces.md +46 -0
  77. package/docs/icon.json +3 -1
  78. package/docs/icon.md +3 -3
  79. package/docs/index.md +12 -0
  80. package/docs/inline-message.json +14 -2
  81. package/docs/inline-message.md +4 -3
  82. package/docs/list-item.json +9 -1
  83. package/docs/list-item.md +3 -3
  84. package/docs/list.json +19 -1
  85. package/docs/list.md +3 -1
  86. package/docs/markdown.json +79 -79
  87. package/docs/markdown.md +65 -65
  88. package/docs/menu.json +12 -0
  89. package/docs/menu.md +2 -0
  90. package/docs/message.json +7 -1
  91. package/docs/message.md +3 -3
  92. package/docs/multi-select.json +1 -0
  93. package/docs/multi-select.md +1 -1
  94. package/docs/notification-center.json +4 -0
  95. package/docs/notification-center.md +2 -2
  96. package/docs/number-field.json +1 -0
  97. package/docs/number-field.md +1 -1
  98. package/docs/otp-input.json +1 -0
  99. package/docs/otp-input.md +1 -1
  100. package/docs/page-header.json +4 -3
  101. package/docs/page-header.md +2 -2
  102. package/docs/page.json +1 -0
  103. package/docs/page.md +1 -0
  104. package/docs/popover.json +1 -1
  105. package/docs/progress-indicator.json +4 -3
  106. package/docs/progress-indicator.md +4 -4
  107. package/docs/prompt-composer.json +41 -1
  108. package/docs/prompt-composer.md +5 -1
  109. package/docs/rating.json +5 -3
  110. package/docs/rating.md +5 -5
  111. package/docs/section.json +27 -15
  112. package/docs/section.md +11 -9
  113. package/docs/segmented-control.json +36 -12
  114. package/docs/segmented-control.md +17 -1
  115. package/docs/select.json +1 -0
  116. package/docs/select.md +1 -1
  117. package/docs/side-navigation.json +1 -0
  118. package/docs/side-navigation.md +1 -1
  119. package/docs/skills/build-own-element/SKILL.md +90 -0
  120. package/docs/skills/compose-screen/SKILL.md +95 -0
  121. package/docs/skills/index.md +9 -0
  122. package/docs/skills/review-screen/SKILL.md +77 -0
  123. package/docs/skills/theme-app/SKILL.md +87 -0
  124. package/docs/skills/waiting-states/SKILL.md +143 -0
  125. package/docs/sparkline.json +5 -2
  126. package/docs/sparkline.md +4 -4
  127. package/docs/split-button.json +4 -1
  128. package/docs/split-button.md +3 -3
  129. package/docs/stat-card.json +5 -1
  130. package/docs/stat-card.md +3 -3
  131. package/docs/table.examples.md +3 -3
  132. package/docs/table.json +85 -3
  133. package/docs/table.md +12 -1
  134. package/docs/tabs.json +17 -7
  135. package/docs/tabs.md +3 -2
  136. package/docs/tag.json +14 -4
  137. package/docs/tag.md +6 -6
  138. package/docs/tags-input.json +29 -2
  139. package/docs/tags-input.md +4 -1
  140. package/docs/text-field.json +2 -1
  141. package/docs/text-field.md +2 -2
  142. package/docs/textarea.json +1 -0
  143. package/docs/textarea.md +1 -1
  144. package/docs/time-field.json +1 -0
  145. package/docs/time-field.md +1 -1
  146. package/docs/timeline.json +138 -132
  147. package/docs/timeline.md +125 -125
  148. package/docs/toast.json +7 -1
  149. package/docs/toast.md +3 -3
  150. package/docs/toggle-group.json +14 -3
  151. package/docs/toggle-group.md +3 -3
  152. package/docs/toggle.json +12 -3
  153. package/docs/toggle.md +3 -3
  154. package/docs/tokens.md +467 -0
  155. package/docs/tour.json +1 -1
  156. package/docs/typography.json +4 -2
  157. package/docs/typography.md +4 -4
  158. package/fesm2022/slotted-angular-accordion.mjs +4 -2
  159. package/fesm2022/slotted-angular-accordion.mjs.map +1 -1
  160. package/fesm2022/slotted-angular-action-bar.mjs +22 -11
  161. package/fesm2022/slotted-angular-action-bar.mjs.map +1 -1
  162. package/fesm2022/slotted-angular-action-sheet.mjs +42 -29
  163. package/fesm2022/slotted-angular-action-sheet.mjs.map +1 -1
  164. package/fesm2022/slotted-angular-alert.mjs +18 -11
  165. package/fesm2022/slotted-angular-alert.mjs.map +1 -1
  166. package/fesm2022/slotted-angular-app-shell.mjs +111 -61
  167. package/fesm2022/slotted-angular-app-shell.mjs.map +1 -1
  168. package/fesm2022/slotted-angular-aspect-ratio.mjs +4 -2
  169. package/fesm2022/slotted-angular-aspect-ratio.mjs.map +1 -1
  170. package/fesm2022/slotted-angular-attachment.mjs +31 -20
  171. package/fesm2022/slotted-angular-attachment.mjs.map +1 -1
  172. package/fesm2022/slotted-angular-avatar-group.mjs +9 -6
  173. package/fesm2022/slotted-angular-avatar-group.mjs.map +1 -1
  174. package/fesm2022/slotted-angular-avatar.mjs +14 -7
  175. package/fesm2022/slotted-angular-avatar.mjs.map +1 -1
  176. package/fesm2022/slotted-angular-badge.mjs +14 -10
  177. package/fesm2022/slotted-angular-badge.mjs.map +1 -1
  178. package/fesm2022/slotted-angular-breadcrumb.mjs +26 -18
  179. package/fesm2022/slotted-angular-breadcrumb.mjs.map +1 -1
  180. package/fesm2022/slotted-angular-button-group.mjs +7 -4
  181. package/fesm2022/slotted-angular-button-group.mjs.map +1 -1
  182. package/fesm2022/slotted-angular-button.mjs +90 -29
  183. package/fesm2022/slotted-angular-button.mjs.map +1 -1
  184. package/fesm2022/slotted-angular-calendar.mjs +235 -58
  185. package/fesm2022/slotted-angular-calendar.mjs.map +1 -1
  186. package/fesm2022/slotted-angular-card.mjs +18 -16
  187. package/fesm2022/slotted-angular-card.mjs.map +1 -1
  188. package/fesm2022/slotted-angular-carousel.mjs +22 -11
  189. package/fesm2022/slotted-angular-carousel.mjs.map +1 -1
  190. package/fesm2022/slotted-angular-cascader.mjs +166 -66
  191. package/fesm2022/slotted-angular-cascader.mjs.map +1 -1
  192. package/fesm2022/slotted-angular-chart.mjs +53 -20
  193. package/fesm2022/slotted-angular-chart.mjs.map +1 -1
  194. package/fesm2022/slotted-angular-checkbox-group.mjs +5 -3
  195. package/fesm2022/slotted-angular-checkbox-group.mjs.map +1 -1
  196. package/fesm2022/slotted-angular-checkbox.mjs +23 -9
  197. package/fesm2022/slotted-angular-checkbox.mjs.map +1 -1
  198. package/fesm2022/slotted-angular-code-block.mjs +29 -15
  199. package/fesm2022/slotted-angular-code-block.mjs.map +1 -1
  200. package/fesm2022/slotted-angular-collapsible.mjs +20 -15
  201. package/fesm2022/slotted-angular-collapsible.mjs.map +1 -1
  202. package/fesm2022/slotted-angular-color-picker.mjs +77 -22
  203. package/fesm2022/slotted-angular-color-picker.mjs.map +1 -1
  204. package/fesm2022/slotted-angular-column-manager.mjs +68 -31
  205. package/fesm2022/slotted-angular-column-manager.mjs.map +1 -1
  206. package/fesm2022/slotted-angular-combobox.mjs +112 -39
  207. package/fesm2022/slotted-angular-combobox.mjs.map +1 -1
  208. package/fesm2022/slotted-angular-command-palette.mjs +150 -54
  209. package/fesm2022/slotted-angular-command-palette.mjs.map +1 -1
  210. package/fesm2022/slotted-angular-container.mjs +6 -4
  211. package/fesm2022/slotted-angular-container.mjs.map +1 -1
  212. package/fesm2022/slotted-angular-context-menu.mjs +5 -4
  213. package/fesm2022/slotted-angular-context-menu.mjs.map +1 -1
  214. package/fesm2022/slotted-angular-currency-field.mjs +149 -32
  215. package/fesm2022/slotted-angular-currency-field.mjs.map +1 -1
  216. package/fesm2022/slotted-angular-dashboard-grid.mjs +142 -63
  217. package/fesm2022/slotted-angular-dashboard-grid.mjs.map +1 -1
  218. package/fesm2022/slotted-angular-data-grid.mjs +354 -113
  219. package/fesm2022/slotted-angular-data-grid.mjs.map +1 -1
  220. package/fesm2022/slotted-angular-data-list.mjs +83 -50
  221. package/fesm2022/slotted-angular-data-list.mjs.map +1 -1
  222. package/fesm2022/slotted-angular-date-field.mjs +74 -25
  223. package/fesm2022/slotted-angular-date-field.mjs.map +1 -1
  224. package/fesm2022/slotted-angular-date-picker.mjs +112 -40
  225. package/fesm2022/slotted-angular-date-picker.mjs.map +1 -1
  226. package/fesm2022/slotted-angular-date-range-picker.mjs +45 -22
  227. package/fesm2022/slotted-angular-date-range-picker.mjs.map +1 -1
  228. package/fesm2022/slotted-angular-datetime-field.mjs +48 -16
  229. package/fesm2022/slotted-angular-datetime-field.mjs.map +1 -1
  230. package/fesm2022/slotted-angular-datetime-picker.mjs +41 -29
  231. package/fesm2022/slotted-angular-datetime-picker.mjs.map +1 -1
  232. package/fesm2022/slotted-angular-datetime-range-picker.mjs +115 -48
  233. package/fesm2022/slotted-angular-datetime-range-picker.mjs.map +1 -1
  234. package/fesm2022/slotted-angular-description-list.mjs +33 -19
  235. package/fesm2022/slotted-angular-description-list.mjs.map +1 -1
  236. package/fesm2022/slotted-angular-detail-panel.mjs +29 -18
  237. package/fesm2022/slotted-angular-detail-panel.mjs.map +1 -1
  238. package/fesm2022/slotted-angular-dialog.mjs +72 -30
  239. package/fesm2022/slotted-angular-dialog.mjs.map +1 -1
  240. package/fesm2022/slotted-angular-divider.mjs +7 -5
  241. package/fesm2022/slotted-angular-divider.mjs.map +1 -1
  242. package/fesm2022/slotted-angular-drawer.mjs +53 -29
  243. package/fesm2022/slotted-angular-drawer.mjs.map +1 -1
  244. package/fesm2022/slotted-angular-entity-picker.mjs +468 -75
  245. package/fesm2022/slotted-angular-entity-picker.mjs.map +1 -1
  246. package/fesm2022/slotted-angular-event-calendar.mjs +275 -108
  247. package/fesm2022/slotted-angular-event-calendar.mjs.map +1 -1
  248. package/fesm2022/slotted-angular-field-group.mjs +14 -7
  249. package/fesm2022/slotted-angular-field-group.mjs.map +1 -1
  250. package/fesm2022/slotted-angular-field.mjs +35 -15
  251. package/fesm2022/slotted-angular-field.mjs.map +1 -1
  252. package/fesm2022/slotted-angular-filter-bar.mjs +112 -51
  253. package/fesm2022/slotted-angular-filter-bar.mjs.map +1 -1
  254. package/fesm2022/slotted-angular-form.mjs +18 -10
  255. package/fesm2022/slotted-angular-form.mjs.map +1 -1
  256. package/fesm2022/slotted-angular-fullscreen.mjs +14 -8
  257. package/fesm2022/slotted-angular-fullscreen.mjs.map +1 -1
  258. package/fesm2022/slotted-angular-grid.mjs +4 -2
  259. package/fesm2022/slotted-angular-grid.mjs.map +1 -1
  260. package/fesm2022/slotted-angular-highlight.mjs +5 -3
  261. package/fesm2022/slotted-angular-highlight.mjs.map +1 -1
  262. package/fesm2022/slotted-angular-hover-card.mjs +5 -4
  263. package/fesm2022/slotted-angular-hover-card.mjs.map +1 -1
  264. package/fesm2022/slotted-angular-icon.mjs +6 -3
  265. package/fesm2022/slotted-angular-icon.mjs.map +1 -1
  266. package/fesm2022/slotted-angular-image.mjs +13 -10
  267. package/fesm2022/slotted-angular-image.mjs.map +1 -1
  268. package/fesm2022/slotted-angular-import-export-center.mjs +167 -99
  269. package/fesm2022/slotted-angular-import-export-center.mjs.map +1 -1
  270. package/fesm2022/slotted-angular-inline-message.mjs +88 -13
  271. package/fesm2022/slotted-angular-inline-message.mjs.map +1 -1
  272. package/fesm2022/slotted-angular-inline.mjs +4 -2
  273. package/fesm2022/slotted-angular-inline.mjs.map +1 -1
  274. package/fesm2022/slotted-angular-kbd.mjs +11 -7
  275. package/fesm2022/slotted-angular-kbd.mjs.map +1 -1
  276. package/fesm2022/slotted-angular-link.mjs +5 -3
  277. package/fesm2022/slotted-angular-link.mjs.map +1 -1
  278. package/fesm2022/slotted-angular-list-item.mjs +21 -18
  279. package/fesm2022/slotted-angular-list-item.mjs.map +1 -1
  280. package/fesm2022/slotted-angular-list.mjs +37 -22
  281. package/fesm2022/slotted-angular-list.mjs.map +1 -1
  282. package/fesm2022/slotted-angular-listbox.mjs +39 -21
  283. package/fesm2022/slotted-angular-listbox.mjs.map +1 -1
  284. package/fesm2022/slotted-angular-loading-overlay.mjs +59 -22
  285. package/fesm2022/slotted-angular-loading-overlay.mjs.map +1 -1
  286. package/fesm2022/slotted-angular-markdown.mjs +31 -19
  287. package/fesm2022/slotted-angular-markdown.mjs.map +1 -1
  288. package/fesm2022/slotted-angular-menu.mjs +51 -29
  289. package/fesm2022/slotted-angular-menu.mjs.map +1 -1
  290. package/fesm2022/slotted-angular-menubar.mjs +4 -2
  291. package/fesm2022/slotted-angular-menubar.mjs.map +1 -1
  292. package/fesm2022/slotted-angular-message-scroller.mjs +28 -15
  293. package/fesm2022/slotted-angular-message-scroller.mjs.map +1 -1
  294. package/fesm2022/slotted-angular-message.mjs +113 -51
  295. package/fesm2022/slotted-angular-message.mjs.map +1 -1
  296. package/fesm2022/slotted-angular-multi-select.mjs +189 -87
  297. package/fesm2022/slotted-angular-multi-select.mjs.map +1 -1
  298. package/fesm2022/slotted-angular-navigation-menu.mjs +34 -26
  299. package/fesm2022/slotted-angular-navigation-menu.mjs.map +1 -1
  300. package/fesm2022/slotted-angular-notification-center.mjs +108 -65
  301. package/fesm2022/slotted-angular-notification-center.mjs.map +1 -1
  302. package/fesm2022/slotted-angular-number-field.mjs +23 -11
  303. package/fesm2022/slotted-angular-number-field.mjs.map +1 -1
  304. package/fesm2022/slotted-angular-otp-input.mjs +13 -8
  305. package/fesm2022/slotted-angular-otp-input.mjs.map +1 -1
  306. package/fesm2022/slotted-angular-page-header.mjs +75 -45
  307. package/fesm2022/slotted-angular-page-header.mjs.map +1 -1
  308. package/fesm2022/slotted-angular-page.mjs +38 -10
  309. package/fesm2022/slotted-angular-page.mjs.map +1 -1
  310. package/fesm2022/slotted-angular-pagination.mjs +35 -22
  311. package/fesm2022/slotted-angular-pagination.mjs.map +1 -1
  312. package/fesm2022/slotted-angular-popover.mjs +32 -19
  313. package/fesm2022/slotted-angular-popover.mjs.map +1 -1
  314. package/fesm2022/slotted-angular-progress-indicator.mjs +236 -52
  315. package/fesm2022/slotted-angular-progress-indicator.mjs.map +1 -1
  316. package/fesm2022/slotted-angular-prompt-composer.mjs +41 -20
  317. package/fesm2022/slotted-angular-prompt-composer.mjs.map +1 -1
  318. package/fesm2022/slotted-angular-prose.mjs +14 -11
  319. package/fesm2022/slotted-angular-prose.mjs.map +1 -1
  320. package/fesm2022/slotted-angular-radio-group.mjs +15 -9
  321. package/fesm2022/slotted-angular-radio-group.mjs.map +1 -1
  322. package/fesm2022/slotted-angular-rating.mjs +138 -82
  323. package/fesm2022/slotted-angular-rating.mjs.map +1 -1
  324. package/fesm2022/slotted-angular-result-state.mjs +16 -12
  325. package/fesm2022/slotted-angular-result-state.mjs.map +1 -1
  326. package/fesm2022/slotted-angular-saved-views.mjs +43 -16
  327. package/fesm2022/slotted-angular-saved-views.mjs.map +1 -1
  328. package/fesm2022/slotted-angular-scroll-area.mjs +13 -5
  329. package/fesm2022/slotted-angular-scroll-area.mjs.map +1 -1
  330. package/fesm2022/slotted-angular-section.mjs +53 -18
  331. package/fesm2022/slotted-angular-section.mjs.map +1 -1
  332. package/fesm2022/slotted-angular-segmented-control.mjs +37 -11
  333. package/fesm2022/slotted-angular-segmented-control.mjs.map +1 -1
  334. package/fesm2022/slotted-angular-select.mjs +184 -94
  335. package/fesm2022/slotted-angular-select.mjs.map +1 -1
  336. package/fesm2022/slotted-angular-side-navigation.mjs +46 -35
  337. package/fesm2022/slotted-angular-side-navigation.mjs.map +1 -1
  338. package/fesm2022/slotted-angular-skeleton.mjs +32 -16
  339. package/fesm2022/slotted-angular-skeleton.mjs.map +1 -1
  340. package/fesm2022/slotted-angular-slider.mjs +31 -11
  341. package/fesm2022/slotted-angular-slider.mjs.map +1 -1
  342. package/fesm2022/slotted-angular-sparkline.mjs +41 -14
  343. package/fesm2022/slotted-angular-sparkline.mjs.map +1 -1
  344. package/fesm2022/slotted-angular-split-button.mjs +25 -11
  345. package/fesm2022/slotted-angular-split-button.mjs.map +1 -1
  346. package/fesm2022/slotted-angular-splitter.mjs +11 -9
  347. package/fesm2022/slotted-angular-splitter.mjs.map +1 -1
  348. package/fesm2022/slotted-angular-stack.mjs +4 -2
  349. package/fesm2022/slotted-angular-stack.mjs.map +1 -1
  350. package/fesm2022/slotted-angular-stat-card.mjs +35 -28
  351. package/fesm2022/slotted-angular-stat-card.mjs.map +1 -1
  352. package/fesm2022/slotted-angular-status-indicator.mjs +22 -8
  353. package/fesm2022/slotted-angular-status-indicator.mjs.map +1 -1
  354. package/fesm2022/slotted-angular-stepper.mjs +40 -15
  355. package/fesm2022/slotted-angular-stepper.mjs.map +1 -1
  356. package/fesm2022/slotted-angular-switch.mjs +15 -10
  357. package/fesm2022/slotted-angular-switch.mjs.map +1 -1
  358. package/fesm2022/slotted-angular-table-of-contents.mjs +29 -21
  359. package/fesm2022/slotted-angular-table-of-contents.mjs.map +1 -1
  360. package/fesm2022/slotted-angular-table.mjs +243 -73
  361. package/fesm2022/slotted-angular-table.mjs.map +1 -1
  362. package/fesm2022/slotted-angular-tabs.mjs +42 -18
  363. package/fesm2022/slotted-angular-tabs.mjs.map +1 -1
  364. package/fesm2022/slotted-angular-tag.mjs +19 -12
  365. package/fesm2022/slotted-angular-tag.mjs.map +1 -1
  366. package/fesm2022/slotted-angular-tags-input.mjs +253 -28
  367. package/fesm2022/slotted-angular-tags-input.mjs.map +1 -1
  368. package/fesm2022/slotted-angular-text-field.mjs +49 -15
  369. package/fesm2022/slotted-angular-text-field.mjs.map +1 -1
  370. package/fesm2022/slotted-angular-textarea.mjs +5 -3
  371. package/fesm2022/slotted-angular-textarea.mjs.map +1 -1
  372. package/fesm2022/slotted-angular-time-field.mjs +48 -14
  373. package/fesm2022/slotted-angular-time-field.mjs.map +1 -1
  374. package/fesm2022/slotted-angular-time-picker.mjs +32 -20
  375. package/fesm2022/slotted-angular-time-picker.mjs.map +1 -1
  376. package/fesm2022/slotted-angular-time-range-picker.mjs +113 -46
  377. package/fesm2022/slotted-angular-time-range-picker.mjs.map +1 -1
  378. package/fesm2022/slotted-angular-timeline.mjs +135 -64
  379. package/fesm2022/slotted-angular-timeline.mjs.map +1 -1
  380. package/fesm2022/slotted-angular-toast.mjs +43 -31
  381. package/fesm2022/slotted-angular-toast.mjs.map +1 -1
  382. package/fesm2022/slotted-angular-toggle-group.mjs +25 -8
  383. package/fesm2022/slotted-angular-toggle-group.mjs.map +1 -1
  384. package/fesm2022/slotted-angular-toggle.mjs +9 -4
  385. package/fesm2022/slotted-angular-toggle.mjs.map +1 -1
  386. package/fesm2022/slotted-angular-toolbar.mjs +22 -11
  387. package/fesm2022/slotted-angular-toolbar.mjs.map +1 -1
  388. package/fesm2022/slotted-angular-tooltip.mjs +15 -6
  389. package/fesm2022/slotted-angular-tooltip.mjs.map +1 -1
  390. package/fesm2022/slotted-angular-top-navigation.mjs +64 -44
  391. package/fesm2022/slotted-angular-top-navigation.mjs.map +1 -1
  392. package/fesm2022/slotted-angular-tour.mjs +47 -22
  393. package/fesm2022/slotted-angular-tour.mjs.map +1 -1
  394. package/fesm2022/slotted-angular-transfer.mjs +69 -30
  395. package/fesm2022/slotted-angular-transfer.mjs.map +1 -1
  396. package/fesm2022/slotted-angular-tree.mjs +74 -26
  397. package/fesm2022/slotted-angular-tree.mjs.map +1 -1
  398. package/fesm2022/slotted-angular-typography.mjs +8 -4
  399. package/fesm2022/slotted-angular-typography.mjs.map +1 -1
  400. package/fesm2022/slotted-angular-upload.mjs +125 -57
  401. package/fesm2022/slotted-angular-upload.mjs.map +1 -1
  402. package/fesm2022/slotted-angular-visually-hidden.mjs +4 -2
  403. package/fesm2022/slotted-angular-visually-hidden.mjs.map +1 -1
  404. package/fesm2022/slotted-angular-wizard.mjs +163 -65
  405. package/fesm2022/slotted-angular-wizard.mjs.map +1 -1
  406. package/package.json +3 -3
  407. package/types/slotted-angular-accordion.d.ts.map +1 -1
  408. package/types/slotted-angular-action-bar.d.ts.map +1 -1
  409. package/types/slotted-angular-action-sheet.d.ts.map +1 -1
  410. package/types/slotted-angular-alert.d.ts +2 -2
  411. package/types/slotted-angular-alert.d.ts.map +1 -1
  412. package/types/slotted-angular-app-shell.d.ts +11 -3
  413. package/types/slotted-angular-app-shell.d.ts.map +1 -1
  414. package/types/slotted-angular-aspect-ratio.d.ts.map +1 -1
  415. package/types/slotted-angular-attachment.d.ts +1 -1
  416. package/types/slotted-angular-attachment.d.ts.map +1 -1
  417. package/types/slotted-angular-avatar-group.d.ts.map +1 -1
  418. package/types/slotted-angular-avatar.d.ts +11 -3
  419. package/types/slotted-angular-avatar.d.ts.map +1 -1
  420. package/types/slotted-angular-badge.d.ts +1 -1
  421. package/types/slotted-angular-badge.d.ts.map +1 -1
  422. package/types/slotted-angular-breadcrumb.d.ts.map +1 -1
  423. package/types/slotted-angular-button-group.d.ts +1 -1
  424. package/types/slotted-angular-button-group.d.ts.map +1 -1
  425. package/types/slotted-angular-button.d.ts +33 -13
  426. package/types/slotted-angular-button.d.ts.map +1 -1
  427. package/types/slotted-angular-calendar.d.ts +30 -2
  428. package/types/slotted-angular-calendar.d.ts.map +1 -1
  429. package/types/slotted-angular-card.d.ts.map +1 -1
  430. package/types/slotted-angular-carousel.d.ts.map +1 -1
  431. package/types/slotted-angular-cascader.d.ts.map +1 -1
  432. package/types/slotted-angular-chart.d.ts +10 -0
  433. package/types/slotted-angular-chart.d.ts.map +1 -1
  434. package/types/slotted-angular-checkbox-group.d.ts.map +1 -1
  435. package/types/slotted-angular-checkbox.d.ts +7 -1
  436. package/types/slotted-angular-checkbox.d.ts.map +1 -1
  437. package/types/slotted-angular-code-block.d.ts +1 -1
  438. package/types/slotted-angular-code-block.d.ts.map +1 -1
  439. package/types/slotted-angular-collapsible.d.ts +1 -1
  440. package/types/slotted-angular-collapsible.d.ts.map +1 -1
  441. package/types/slotted-angular-color-picker.d.ts.map +1 -1
  442. package/types/slotted-angular-column-manager.d.ts.map +1 -1
  443. package/types/slotted-angular-combobox.d.ts +5 -1
  444. package/types/slotted-angular-combobox.d.ts.map +1 -1
  445. package/types/slotted-angular-command-palette.d.ts +10 -1
  446. package/types/slotted-angular-command-palette.d.ts.map +1 -1
  447. package/types/slotted-angular-container.d.ts.map +1 -1
  448. package/types/slotted-angular-context-menu.d.ts.map +1 -1
  449. package/types/slotted-angular-currency-field.d.ts +63 -15
  450. package/types/slotted-angular-currency-field.d.ts.map +1 -1
  451. package/types/slotted-angular-dashboard-grid.d.ts.map +1 -1
  452. package/types/slotted-angular-data-grid.d.ts +49 -4
  453. package/types/slotted-angular-data-grid.d.ts.map +1 -1
  454. package/types/slotted-angular-data-list.d.ts.map +1 -1
  455. package/types/slotted-angular-date-field.d.ts +11 -1
  456. package/types/slotted-angular-date-field.d.ts.map +1 -1
  457. package/types/slotted-angular-date-picker.d.ts +38 -12
  458. package/types/slotted-angular-date-picker.d.ts.map +1 -1
  459. package/types/slotted-angular-date-range-picker.d.ts +0 -1
  460. package/types/slotted-angular-date-range-picker.d.ts.map +1 -1
  461. package/types/slotted-angular-datetime-field.d.ts.map +1 -1
  462. package/types/slotted-angular-datetime-picker.d.ts +0 -1
  463. package/types/slotted-angular-datetime-picker.d.ts.map +1 -1
  464. package/types/slotted-angular-datetime-range-picker.d.ts +0 -1
  465. package/types/slotted-angular-datetime-range-picker.d.ts.map +1 -1
  466. package/types/slotted-angular-description-list.d.ts.map +1 -1
  467. package/types/slotted-angular-detail-panel.d.ts.map +1 -1
  468. package/types/slotted-angular-dialog.d.ts +10 -3
  469. package/types/slotted-angular-dialog.d.ts.map +1 -1
  470. package/types/slotted-angular-divider.d.ts.map +1 -1
  471. package/types/slotted-angular-drawer.d.ts +7 -1
  472. package/types/slotted-angular-drawer.d.ts.map +1 -1
  473. package/types/slotted-angular-entity-picker.d.ts +63 -15
  474. package/types/slotted-angular-entity-picker.d.ts.map +1 -1
  475. package/types/slotted-angular-event-calendar.d.ts +9 -2
  476. package/types/slotted-angular-event-calendar.d.ts.map +1 -1
  477. package/types/slotted-angular-field-group.d.ts.map +1 -1
  478. package/types/slotted-angular-field.d.ts.map +1 -1
  479. package/types/slotted-angular-filter-bar.d.ts.map +1 -1
  480. package/types/slotted-angular-form.d.ts.map +1 -1
  481. package/types/slotted-angular-fullscreen.d.ts.map +1 -1
  482. package/types/slotted-angular-grid.d.ts.map +1 -1
  483. package/types/slotted-angular-highlight.d.ts.map +1 -1
  484. package/types/slotted-angular-hover-card.d.ts.map +1 -1
  485. package/types/slotted-angular-icon.d.ts +2 -2
  486. package/types/slotted-angular-icon.d.ts.map +1 -1
  487. package/types/slotted-angular-image.d.ts.map +1 -1
  488. package/types/slotted-angular-import-export-center.d.ts.map +1 -1
  489. package/types/slotted-angular-inline-message.d.ts +25 -25
  490. package/types/slotted-angular-inline-message.d.ts.map +1 -1
  491. package/types/slotted-angular-inline.d.ts.map +1 -1
  492. package/types/slotted-angular-kbd.d.ts.map +1 -1
  493. package/types/slotted-angular-link.d.ts.map +1 -1
  494. package/types/slotted-angular-list-item.d.ts +1 -1
  495. package/types/slotted-angular-list-item.d.ts.map +1 -1
  496. package/types/slotted-angular-list.d.ts +42 -27
  497. package/types/slotted-angular-list.d.ts.map +1 -1
  498. package/types/slotted-angular-listbox.d.ts.map +1 -1
  499. package/types/slotted-angular-loading-overlay.d.ts.map +1 -1
  500. package/types/slotted-angular-markdown.d.ts.map +1 -1
  501. package/types/slotted-angular-menu.d.ts +11 -2
  502. package/types/slotted-angular-menu.d.ts.map +1 -1
  503. package/types/slotted-angular-menubar.d.ts.map +1 -1
  504. package/types/slotted-angular-message-scroller.d.ts.map +1 -1
  505. package/types/slotted-angular-message.d.ts +1 -1
  506. package/types/slotted-angular-message.d.ts.map +1 -1
  507. package/types/slotted-angular-multi-select.d.ts +15 -1
  508. package/types/slotted-angular-multi-select.d.ts.map +1 -1
  509. package/types/slotted-angular-navigation-menu.d.ts.map +1 -1
  510. package/types/slotted-angular-notification-center.d.ts +1 -1
  511. package/types/slotted-angular-notification-center.d.ts.map +1 -1
  512. package/types/slotted-angular-number-field.d.ts.map +1 -1
  513. package/types/slotted-angular-otp-input.d.ts.map +1 -1
  514. package/types/slotted-angular-page-header.d.ts +4 -4
  515. package/types/slotted-angular-page-header.d.ts.map +1 -1
  516. package/types/slotted-angular-page.d.ts.map +1 -1
  517. package/types/slotted-angular-pagination.d.ts.map +1 -1
  518. package/types/slotted-angular-popover.d.ts.map +1 -1
  519. package/types/slotted-angular-progress-indicator.d.ts +8 -1
  520. package/types/slotted-angular-progress-indicator.d.ts.map +1 -1
  521. package/types/slotted-angular-prompt-composer.d.ts +11 -2
  522. package/types/slotted-angular-prompt-composer.d.ts.map +1 -1
  523. package/types/slotted-angular-prose.d.ts.map +1 -1
  524. package/types/slotted-angular-radio-group.d.ts.map +1 -1
  525. package/types/slotted-angular-rating.d.ts +1 -1
  526. package/types/slotted-angular-rating.d.ts.map +1 -1
  527. package/types/slotted-angular-result-state.d.ts.map +1 -1
  528. package/types/slotted-angular-saved-views.d.ts.map +1 -1
  529. package/types/slotted-angular-scroll-area.d.ts.map +1 -1
  530. package/types/slotted-angular-section.d.ts +11 -3
  531. package/types/slotted-angular-section.d.ts.map +1 -1
  532. package/types/slotted-angular-segmented-control.d.ts +15 -2
  533. package/types/slotted-angular-segmented-control.d.ts.map +1 -1
  534. package/types/slotted-angular-select.d.ts +12 -2
  535. package/types/slotted-angular-select.d.ts.map +1 -1
  536. package/types/slotted-angular-side-navigation.d.ts.map +1 -1
  537. package/types/slotted-angular-skeleton.d.ts.map +1 -1
  538. package/types/slotted-angular-slider.d.ts.map +1 -1
  539. package/types/slotted-angular-sparkline.d.ts +7 -1
  540. package/types/slotted-angular-sparkline.d.ts.map +1 -1
  541. package/types/slotted-angular-split-button.d.ts +2 -2
  542. package/types/slotted-angular-split-button.d.ts.map +1 -1
  543. package/types/slotted-angular-splitter.d.ts.map +1 -1
  544. package/types/slotted-angular-stack.d.ts.map +1 -1
  545. package/types/slotted-angular-stat-card.d.ts +1 -1
  546. package/types/slotted-angular-stat-card.d.ts.map +1 -1
  547. package/types/slotted-angular-status-indicator.d.ts +1 -1
  548. package/types/slotted-angular-status-indicator.d.ts.map +1 -1
  549. package/types/slotted-angular-stepper.d.ts +1 -1
  550. package/types/slotted-angular-stepper.d.ts.map +1 -1
  551. package/types/slotted-angular-switch.d.ts.map +1 -1
  552. package/types/slotted-angular-table-of-contents.d.ts.map +1 -1
  553. package/types/slotted-angular-table.d.ts +63 -6
  554. package/types/slotted-angular-table.d.ts.map +1 -1
  555. package/types/slotted-angular-tabs.d.ts +3 -4
  556. package/types/slotted-angular-tabs.d.ts.map +1 -1
  557. package/types/slotted-angular-tag.d.ts +1 -1
  558. package/types/slotted-angular-tag.d.ts.map +1 -1
  559. package/types/slotted-angular-tags-input.d.ts +33 -1
  560. package/types/slotted-angular-tags-input.d.ts.map +1 -1
  561. package/types/slotted-angular-text-field.d.ts.map +1 -1
  562. package/types/slotted-angular-textarea.d.ts.map +1 -1
  563. package/types/slotted-angular-theme.d.ts +1 -1
  564. package/types/slotted-angular-time-field.d.ts.map +1 -1
  565. package/types/slotted-angular-time-picker.d.ts +0 -1
  566. package/types/slotted-angular-time-picker.d.ts.map +1 -1
  567. package/types/slotted-angular-time-range-picker.d.ts +0 -1
  568. package/types/slotted-angular-time-range-picker.d.ts.map +1 -1
  569. package/types/slotted-angular-timeline.d.ts +1 -1
  570. package/types/slotted-angular-timeline.d.ts.map +1 -1
  571. package/types/slotted-angular-toast.d.ts +3 -3
  572. package/types/slotted-angular-toast.d.ts.map +1 -1
  573. package/types/slotted-angular-toggle-group.d.ts +8 -2
  574. package/types/slotted-angular-toggle-group.d.ts.map +1 -1
  575. package/types/slotted-angular-toggle.d.ts +1 -1
  576. package/types/slotted-angular-toggle.d.ts.map +1 -1
  577. package/types/slotted-angular-toolbar.d.ts.map +1 -1
  578. package/types/slotted-angular-tooltip.d.ts.map +1 -1
  579. package/types/slotted-angular-top-navigation.d.ts.map +1 -1
  580. package/types/slotted-angular-tour.d.ts.map +1 -1
  581. package/types/slotted-angular-transfer.d.ts.map +1 -1
  582. package/types/slotted-angular-tree.d.ts.map +1 -1
  583. package/types/slotted-angular-typography.d.ts +1 -1
  584. package/types/slotted-angular-typography.d.ts.map +1 -1
  585. package/types/slotted-angular-upload.d.ts +2 -2
  586. package/types/slotted-angular-upload.d.ts.map +1 -1
  587. package/types/slotted-angular-visually-hidden.d.ts.map +1 -1
  588. package/types/slotted-angular-wizard.d.ts.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"slotted-angular-popover.mjs","sources":["../../popover/src/popover-defaults.ts","../../popover/src/popover.ts","../../popover/src/popover-parts.ts","../../popover/src/slotted-angular-popover.ts"],"sourcesContent":["import type { ChangeRequest } from '@slotted/core/state';\nimport { inject, Injectable, InjectionToken } from '@angular/core';\nimport type { Provider } from '@angular/core';\n\n/** The width and type step the panel sits at. */\nexport type PopoverSize = 'sm' | 'md' | 'lg';\n\n/**\n * How wide the panel is. `anchor` makes it exactly as wide as the element it\n * hangs from, which is what a filter panel under a search field wants.\n */\nexport type PopoverWidth = 'auto' | 'anchor';\n\n/** The edge of the anchor the layer prefers. The two logical values mirror. */\nexport type PopoverSide = 'top' | 'bottom' | 'inline-start' | 'inline-end' | 'left' | 'right';\n\n/** Where the layer sits along the side it took. */\nexport type PopoverAlign = 'start' | 'center' | 'end';\n\n/** When the layer exists. `lazy` is what a panel holding an expensive form wants. */\nexport type PopoverMount = 'active' | 'lazy' | 'eager';\n\n/** `fixed` for a layer inside `overflow: hidden`, `absolute` for one inside a transform. */\nexport type PopoverStrategy = 'absolute' | 'fixed';\n\n/** Why the panel opened or closed. */\nexport type PopoverOpenReason = Extract<\n ChangeRequest<boolean>['reason'],\n 'pointer' | 'keyboard' | 'escape' | 'outsidePress' | 'dismiss' | 'programmatic'\n>;\n\n/** The request `openChangeRequest` emits before the panel moves, as React's `PopoverChangeRequest`. */\nexport type PopoverChangeRequest = ChangeRequest<boolean>;\n\n/** Somewhere to put the focus: an element, or a selector read inside the panel. */\nexport type PopoverFocusTarget = Element | string;\n\n/** What an application sets once for every popover under it. */\nexport interface PopoverDefaults {\n align: PopoverAlign;\n alignOffset: number;\n arrow: boolean;\n arrowPadding: number;\n autoFocus: boolean;\n closeOnEscape: boolean;\n closeOnOutsidePress: boolean;\n collisionPadding: number;\n flip: boolean;\n hideWhenDetached: boolean;\n mount: PopoverMount;\n portal: boolean;\n shift: boolean;\n side: PopoverSide;\n sideOffset: number;\n size: PopoverSize;\n strategy: PopoverStrategy;\n width: PopoverWidth;\n}\n\n/**\n * `arrowPadding` is larger than the tooltip's because the panel's corner radius\n * is larger. `hideWhenDetached` is off: a task the reader is halfway through\n * must not blink because the row behind it scrolled.\n */\nexport const POPOVER_FALLBACK: PopoverDefaults = {\n align: 'center',\n alignOffset: 0,\n arrow: true,\n arrowPadding: 12,\n autoFocus: true,\n closeOnEscape: true,\n closeOnOutsidePress: true,\n collisionPadding: 8,\n flip: true,\n hideWhenDetached: false,\n mount: 'active',\n portal: true,\n shift: true,\n side: 'bottom',\n sideOffset: 0,\n size: 'md',\n strategy: 'absolute',\n width: 'auto',\n};\n\nexport const POPOVER_DEFAULTS = new InjectionToken<PopoverDefaults>('slotted popover defaults', {\n providedIn: 'root',\n factory: () => POPOVER_FALLBACK,\n});\n\n/**\n * An application decides once how its popovers behave and look. The close\n * control's accessible name comes from the language in force\n * (`provideSlotted`).\n *\n * What is stated here is written over the defaults already in force rather than\n * over the fallback, which is what React's provider does: a section that sets\n * `width` for itself keeps the application's `size`.\n */\nexport function providePopoverDefaults(defaults: Partial<PopoverDefaults>): Provider {\n return {\n provide: POPOVER_DEFAULTS,\n useFactory: (): PopoverDefaults => ({\n ...(inject(POPOVER_DEFAULTS, { optional: true, skipSelf: true }) ?? POPOVER_FALLBACK),\n ...defaults,\n }),\n };\n}\n\n/** What a popover renders as here, before it states anything of its own. */\nexport function injectPopoverDefaults(): PopoverDefaults {\n return inject(POPOVER_DEFAULTS);\n}\n\n/**\n * Application-scoped rather than module-scoped, for the reason `field` records:\n * a module-level counter produces colliding sequences when two applications\n * render in one server process, and the two sequences have to match for\n * hydration.\n */\n@Injectable({ providedIn: 'root' })\nexport class SlPopoverIdFactory {\n private count = 0;\n\n next() {\n this.count += 1;\n return `slotted-popover-${this.count}`;\n }\n}\n","import { type PartialMessages, popoverMessages, type PopoverMessages } from '@slotted/core/i18n';\nimport { createControllable } from '@slotted/core/state';\nimport {\n booleanAttribute,\n computed,\n Directive,\n inject,\n input,\n model,\n numberAttribute,\n type OnInit,\n output,\n signal,\n} from '@angular/core';\nimport { injectMessages } from '@slotted/angular/i18n';\n\nimport { injectPopoverDefaults, SlPopoverIdFactory } from './popover-defaults';\nimport type {\n PopoverAlign,\n PopoverChangeRequest,\n PopoverFocusTarget,\n PopoverMount,\n PopoverOpenReason,\n PopoverSide,\n PopoverSize,\n PopoverStrategy,\n PopoverWidth,\n} from './popover-defaults';\n\nexport type {\n PopoverAlign,\n PopoverChangeRequest,\n PopoverDefaults,\n PopoverFocusTarget,\n PopoverMount,\n PopoverOpenReason,\n PopoverSide,\n PopoverSize,\n PopoverStrategy,\n PopoverWidth,\n} from './popover-defaults';\n\nconst optionalBoolean = (state: boolean | string | undefined) =>\n state === undefined ? undefined : booleanAttribute(state);\n\nconst optionalNumber = (value: number | string | undefined) =>\n value === undefined ? undefined : numberAttribute(value);\n\n/**\n * Interactive, non-modal content anchored to the control that opened it.\n *\n * It is the APG's non-modal dialog — the pattern the tooltip page names for a\n * surface that holds focusable elements — and it is deliberately **not** modal.\n * Nothing behind it becomes `inert`, the page keeps scrolling, `aria-modal` is\n * never written and focus is not contained. The modal surface is `slDialog`.\n *\n * Written on an `ng-container`, because it renders nothing: the trigger stays\n * where the consumer wrote it and the layer is portalled.\n */\n@Directive({\n selector: '[slPopover]',\n standalone: true,\n exportAs: 'slPopover',\n})\nexport class SlPopover implements OnInit {\n /** Whether the panel is showing. Two-way, so a template may bind it directly. */\n readonly open = model<boolean>(false);\n /** The state an uncontrolled popover starts in, read once in `ngOnInit`. */\n readonly defaultOpen = input(false, { transform: booleanAttribute });\n /** The popover never opens. The trigger's own `disabled` is the consumer's. */\n readonly disabled = input(false, { transform: booleanAttribute });\n\n readonly size = input<PopoverSize | undefined>(undefined);\n readonly width = input<PopoverWidth | undefined>(undefined);\n readonly side = input<PopoverSide | undefined>(undefined);\n readonly align = input<PopoverAlign | undefined>(undefined);\n readonly mount = input<PopoverMount | undefined>(undefined);\n readonly strategy = input<PopoverStrategy | undefined>(undefined);\n /**\n * Words laid over the catalog of the language in force, key by key: the\n * close control's accessible name (`close`).\n */\n readonly messages = input<PartialMessages<PopoverMessages> | undefined>(undefined);\n\n /** What takes focus on open instead of the panel — a search field, usually. */\n readonly initialFocus = input<PopoverFocusTarget | undefined>(undefined);\n /** Where focus lands after it closes, for a trigger that is gone by then. */\n readonly finalFocus = input<PopoverFocusTarget | undefined>(undefined);\n\n readonly arrow = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: optionalBoolean,\n });\n readonly autoFocus = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: optionalBoolean,\n });\n readonly closeOnEscape = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: optionalBoolean,\n });\n readonly closeOnOutsidePress = input<boolean | undefined, boolean | string | undefined>(\n undefined,\n { transform: optionalBoolean },\n );\n readonly flip = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: optionalBoolean,\n });\n readonly shift = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: optionalBoolean,\n });\n readonly hideWhenDetached = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: optionalBoolean,\n });\n readonly portal = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: optionalBoolean,\n });\n\n readonly sideOffset = input<number | undefined, number | string | undefined>(undefined, {\n transform: optionalNumber,\n });\n readonly alignOffset = input<number | undefined, number | string | undefined>(undefined, {\n transform: optionalNumber,\n });\n readonly collisionPadding = input<number | undefined, number | string | undefined>(undefined, {\n transform: optionalNumber,\n });\n readonly arrowPadding = input<number | undefined, number | string | undefined>(undefined, {\n transform: optionalNumber,\n });\n\n /** One output for one transition, carrying the reason and the event. */\n readonly openChangeRequest = output<PopoverChangeRequest>();\n\n private readonly defaults = injectPopoverDefaults();\n /** The family's words in the language in force, with this popover's `messages` laid over them. */\n readonly t = injectMessages(popoverMessages, this.messages);\n private readonly base = inject(SlPopoverIdFactory).next();\n\n readonly contentId = `${this.base}-panel`;\n readonly titleId = `${this.base}-title`;\n readonly descriptionId = `${this.base}-description`;\n\n /** The elements the parts register, which the layer measures and focuses. */\n readonly triggerNode = signal<HTMLElement | null>(null);\n readonly anchorNode = signal<HTMLElement | null>(null);\n readonly arrowNode = signal<HTMLElement | null>(null);\n readonly contentNode = signal<HTMLElement | null>(null);\n readonly hasTitle = signal(false);\n readonly hasDescription = signal(false);\n\n readonly isOpen = computed(() => this.open() && !this.disabled());\n\n readonly resolvedSize = computed(() => this.size() ?? this.defaults.size);\n readonly resolvedWidth = computed(() => this.width() ?? this.defaults.width);\n readonly resolvedSide = computed(() => this.side() ?? this.defaults.side);\n readonly resolvedAlign = computed(() => this.align() ?? this.defaults.align);\n readonly resolvedMount = computed(() => this.mount() ?? this.defaults.mount);\n readonly resolvedStrategy = computed(() => this.strategy() ?? this.defaults.strategy);\n readonly resolvedArrow = computed(() => (this.arrow() ?? this.defaults.arrow) === true);\n readonly resolvedAutoFocus = computed(\n () => (this.autoFocus() ?? this.defaults.autoFocus) === true,\n );\n /**\n * The role the panel carries when the consumer wrote none. A family that\n * provides itself as this one — `slHoverCard` — decides it here: a card\n * nothing can enter is `presentation`, not a dialog nobody is told about.\n */\n readonly contentRole = computed<string>(() => 'dialog');\n readonly resolvedCloseOnEscape = computed(\n () => (this.closeOnEscape() ?? this.defaults.closeOnEscape) === true,\n );\n readonly resolvedCloseOnOutsidePress = computed(\n () => (this.closeOnOutsidePress() ?? this.defaults.closeOnOutsidePress) === true,\n );\n readonly resolvedFlip = computed(() => (this.flip() ?? this.defaults.flip) === true);\n readonly resolvedShift = computed(() => (this.shift() ?? this.defaults.shift) === true);\n readonly resolvedHideWhenDetached = computed(\n () => (this.hideWhenDetached() ?? this.defaults.hideWhenDetached) === true,\n );\n readonly resolvedPortal = computed(() => (this.portal() ?? this.defaults.portal) === true);\n readonly resolvedSideOffset = computed(() => this.sideOffset() ?? this.defaults.sideOffset);\n readonly resolvedAlignOffset = computed(() => this.alignOffset() ?? this.defaults.alignOffset);\n readonly resolvedCollisionPadding = computed(\n () => this.collisionPadding() ?? this.defaults.collisionPadding,\n );\n readonly resolvedArrowPadding = computed(() => this.arrowPadding() ?? this.defaults.arrowPadding);\n\n private readonly everOpened = signal(false);\n readonly seen = computed(() => this.everOpened() || this.isOpen());\n\n /**\n * Read here rather than in the constructor, because inputs are not set yet\n * there, and once: a later change to it is not new state.\n */\n ngOnInit() {\n if (this.defaultOpen() && !this.open()) {\n this.everOpened.set(true);\n this.open.set(true);\n }\n }\n\n /** Opens now. One of the two imperative actions a template cannot express. */\n show() {\n this.toggle(true, 'programmatic');\n }\n\n /** Closes now. */\n hide() {\n this.toggle(false, 'programmatic');\n }\n\n toggle(next: boolean, reason: PopoverOpenReason, source?: Event) {\n if (next === this.isOpen()) return;\n\n let cancelled = false;\n const state = createControllable<boolean>({\n initial: this.isOpen(),\n onRequest: (request) => {\n this.openChangeRequest.emit(request);\n cancelled = request.cancelled;\n },\n });\n const moved = state.request(next, reason, source);\n if (cancelled) return;\n\n if (next) this.everOpened.set(true);\n if (moved) this.open.set(next);\n }\n}\n","import { createDismissableLayer } from '@slotted/core/dismissable-layer';\nimport type { DismissableLayerHandle } from '@slotted/core/dismissable-layer';\nimport { createPortalRoot } from '@slotted/core/portal';\nimport type { PortalRootHandle } from '@slotted/core/portal';\nimport { createPositioner } from '@slotted/core/positioner';\nimport type { PositionerHandle } from '@slotted/core/positioner';\nimport { createPresence } from '@slotted/core/presence';\nimport type { PresenceStatus } from '@slotted/core/presence';\nimport {\n afterEveryRender,\n type AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n computed,\n DestroyRef,\n Directive,\n effect,\n ElementRef,\n HostAttributeToken,\n inject,\n signal,\n TemplateRef,\n ViewContainerRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport type { EmbeddedViewRef } from '@angular/core';\nimport { SlGlyph, SlIcon } from '@slotted/angular/icon';\n\nimport { SlPopover } from './popover';\nimport type {\n PopoverAlign,\n PopoverFocusTarget,\n PopoverSide,\n PopoverWidth,\n} from './popover-defaults';\n\n/** An element, or a selector read inside the panel. */\nfunction resolveFocus(\n target: PopoverFocusTarget | undefined,\n scope: HTMLElement | null,\n): HTMLElement | null {\n if (target === undefined) return null;\n if (typeof target === 'string') return scope?.querySelector<HTMLElement>(target) ?? null;\n return target as HTMLElement;\n}\n\n/**\n * How far the layer moves along its alignment axis so the panel's edge, not\n * the layer's, meets the anchor's. The layer's padding is the gap around the\n * panel, the same on every side, so a layer aligned to the anchor's start edge\n * leaves the panel one gap inside it. A centred layer needs nothing, and\n * neither does one as wide as its anchor, which the positioner centres.\n */\nfunction alignInset(\n layer: HTMLElement,\n side: PopoverSide,\n align: PopoverAlign,\n width: PopoverWidth,\n): number {\n if (align === 'center') return 0;\n if (width === 'anchor' && (side === 'top' || side === 'bottom')) return 0;\n const style = layer.ownerDocument.defaultView?.getComputedStyle(layer);\n const gap = Number.parseFloat(style?.paddingTop ?? '') || 0;\n return align === 'start' ? -gap : gap;\n}\n\n/**\n * The control that opens the panel.\n *\n * The directive goes on the consumer's own control — a `button`, which is what\n * gives `Enter` and `Space` for free. It carries the wiring and `data-open`,\n * and **no `data-part`**: a trigger is very often another family's root, and\n * claiming it would unstyle that family.\n */\n@Directive({\n selector: '[slPopoverTrigger]',\n standalone: true,\n exportAs: 'slPopoverTrigger',\n host: {\n '[attr.aria-controls]': 'popover.contentNode() !== null ? popover.contentId : null',\n '[attr.aria-expanded]': 'popover.isOpen()',\n 'aria-haspopup': 'dialog',\n '[attr.data-open]': \"popover.isOpen() ? '' : null\",\n },\n})\nexport class SlPopoverTrigger implements AfterViewInit {\n protected readonly popover = inject(SlPopover);\n private readonly native: HTMLElement = inject(ElementRef).nativeElement;\n private readonly destroyRef = inject(DestroyRef);\n\n constructor() {\n this.popover.triggerNode.set(this.native);\n this.destroyRef.onDestroy(() => this.popover.triggerNode.set(null));\n }\n\n /**\n * After the view, not as a host listener. A `(click)` the consumer wrote on\n * the same element is bound when the view is created, so a listener bound any\n * earlier runs first and reads `defaultPrevented` before the consumer has had\n * the chance to set it — the order `slIconButton` records.\n */\n ngAfterViewInit() {\n const onClick = (event: MouseEvent) => {\n if (event.defaultPrevented) return;\n const reason = event.detail === 0 ? 'keyboard' : 'pointer';\n this.popover.toggle(!this.popover.isOpen(), reason, event);\n };\n this.native.addEventListener('click', onClick);\n this.destroyRef.onDestroy(() => this.native.removeEventListener('click', onClick));\n }\n}\n\n/**\n * What the panel points at, when that is not the button that opened it — a row\n * whose action menu hangs off the row rather than off its own control. It\n * carries no attributes: it is only measured.\n */\n@Directive({\n selector: '[slPopoverAnchor]',\n standalone: true,\n exportAs: 'slPopoverAnchor',\n})\nexport class SlPopoverAnchor {\n constructor() {\n const popover = inject(SlPopover);\n const native: HTMLElement = inject(ElementRef).nativeElement;\n popover.anchorNode.set(native);\n inject(DestroyRef).onDestroy(() => popover.anchorNode.set(null));\n }\n}\n\n/**\n * The positioned layer, built from a template rather than from an element, for\n * the reason `slTooltipLayer` sets out: `mount=\"active\"` means the layer exists\n * only while it is open, and a component cannot remove its own host.\n *\n * It also builds the two focus guards. Focus reaching one arrived by `Tab` at\n * the edge of a layer that lives at the end of the document, so the family\n * closes and puts focus back on the trigger, from which the reader's next `Tab`\n * continues down the page. It is the only answer that keeps the reading order\n * intact without trapping focus in a layer that is not modal.\n */\n@Directive({\n selector: 'ng-template[slPopoverLayer]',\n standalone: true,\n exportAs: 'slPopoverLayer',\n})\nexport class SlPopoverLayer {\n private readonly popover = inject(SlPopover);\n private readonly template = inject(TemplateRef<unknown>);\n private readonly viewContainer = inject(ViewContainerRef);\n private readonly comment: Comment = this.viewContainer.element.nativeElement;\n private readonly arrowPlaceholder: Comment =\n this.comment.ownerDocument.createComment('slPopoverArrow');\n\n /** A signal, so every effect that reads it re-runs when the layer arrives. */\n private readonly layerNode = signal<HTMLElement | null>(null);\n private view: EmbeddedViewRef<unknown> | null = null;\n private portal: PortalRootHandle | null = null;\n private positioner: PositionerHandle | null = null;\n private dismissable: DismissableLayerHandle | null = null;\n\n private readonly status = signal<PresenceStatus>('unmounted');\n private readonly positioned = signal(false);\n private wasOpen = false;\n private readonly presence = createPresence({\n present: false,\n onStatusChange: (next) => this.status.set(next),\n });\n\n readonly mounted = computed(() => {\n const mount = this.popover.resolvedMount();\n if (mount === 'eager') return true;\n if (mount === 'lazy') return this.popover.seen();\n return this.status() !== 'unmounted';\n });\n\n constructor() {\n effect(() => this.presence.sync(this.popover.isOpen()));\n effect(() => (this.mounted() ? this.build() : this.teardown()));\n effect(() => this.place());\n effect(() => this.stack());\n effect(() => this.paint());\n effect(() => this.showArrow());\n effect(() => this.moveFocus());\n\n inject(DestroyRef).onDestroy(() => {\n this.presence.destroy();\n this.teardown();\n });\n }\n\n /** Measures and places the layer again. */\n reposition() {\n void this.positioner?.update();\n }\n\n private build() {\n if (this.layerNode() !== null) return;\n\n const document = this.comment.ownerDocument;\n const layer = document.createElement('div');\n layer.setAttribute('data-ui', 'popover');\n layer.setAttribute('data-part', 'root');\n\n const view = this.viewContainer.createEmbeddedView(this.template);\n view.detectChanges();\n\n layer.appendChild(this.guard(document));\n for (const node of view.rootNodes as Node[]) layer.appendChild(node);\n layer.appendChild(this.guard(document));\n\n const portal = createPortalRoot({\n origin: this.popover.anchorNode() ?? this.popover.triggerNode(),\n disabled: !this.popover.resolvedPortal(),\n });\n const container = portal.container ?? this.comment.parentNode;\n if (container === this.comment.parentNode) container?.insertBefore(layer, this.comment);\n else container?.appendChild(layer);\n\n this.view = view;\n this.portal = portal;\n this.presence.setNode(layer);\n this.layerNode.set(layer);\n }\n\n private guard(document: Document): HTMLElement {\n const guard = document.createElement('span');\n guard.setAttribute('data-part', 'focus-guard');\n guard.setAttribute('aria-hidden', 'true');\n guard.tabIndex = 0;\n guard.addEventListener('focus', () => {\n this.popover.toggle(false, 'keyboard');\n this.popover.triggerNode()?.focus();\n });\n return guard;\n }\n\n private teardown() {\n this.positioner?.destroy();\n this.positioner = null;\n this.dismissable?.destroy();\n this.dismissable = null;\n this.presence.setNode(null);\n this.layerNode()?.remove();\n this.layerNode.set(null);\n this.view?.destroy();\n this.view = null;\n this.portal?.release();\n this.portal = null;\n this.positioned.set(false);\n }\n\n private place() {\n const layer = this.layerNode();\n const anchor = this.popover.anchorNode() ?? this.popover.triggerNode();\n const align = this.popover.resolvedAlign();\n const side = this.popover.resolvedSide();\n const width = this.popover.resolvedWidth();\n const options = {\n align,\n alignOffset:\n this.popover.resolvedAlignOffset() +\n (layer === null ? 0 : alignInset(layer, side, align, width)),\n boundaryPadding: this.popover.resolvedCollisionPadding(),\n flip: this.popover.resolvedFlip(),\n hideWhenDetached: this.popover.resolvedHideWhenDetached(),\n matchWidth: width === 'anchor',\n shift: this.popover.resolvedShift(),\n side,\n sideOffset: this.popover.resolvedSideOffset(),\n strategy: this.popover.resolvedStrategy(),\n };\n const arrow = this.popover.resolvedArrow() ? this.popover.arrowNode() : null;\n\n this.positioner?.destroy();\n this.positioner = null;\n if (layer === null || anchor === null) return;\n\n this.positioner = createPositioner(anchor, layer, {\n ...options,\n ...(arrow ? { arrow, arrowPadding: this.popover.resolvedArrowPadding() } : {}),\n });\n void this.positioner.update().then(() => this.positioned.set(true));\n }\n\n /**\n * One layer in the single stack, and only while it is open. It is not modal:\n * nothing outside becomes `inert` and the page keeps scrolling. The trigger\n * and the anchor are branches, so pressing either is inside the layer.\n */\n private stack() {\n const layer = this.layerNode();\n const open = this.popover.isOpen();\n const branches = [this.popover.triggerNode(), this.popover.anchorNode()].filter(\n (element): element is HTMLElement => element !== null,\n );\n\n this.dismissable?.destroy();\n this.dismissable = null;\n if (layer === null || !open) return;\n\n this.dismissable = createDismissableLayer(layer, {\n escape: this.popover.resolvedCloseOnEscape(),\n focusOutside: false,\n modal: false,\n outsidePress: this.popover.resolvedCloseOnOutsidePress(),\n scrollLock: false,\n ...(branches.length > 0 ? { branches } : {}),\n onDismiss: (request) => {\n this.popover.toggle(\n false,\n request.reason === 'escape' ? 'escape' : 'outsidePress',\n request.source,\n );\n },\n });\n }\n\n private paint() {\n const layer = this.layerNode();\n if (layer === null) return;\n\n layer.setAttribute('data-align', this.popover.resolvedAlign());\n layer.setAttribute('data-size', this.popover.resolvedSize());\n layer.setAttribute('data-width', this.popover.resolvedWidth());\n if (this.popover.isOpen() && this.positioned()) layer.setAttribute('data-open', '');\n else layer.removeAttribute('data-open');\n }\n\n /**\n * The arrow the consumer wrote leaves the layer while `arrow` resolves to\n * false, and a comment holds its place, so the layer holds no arrow — as\n * React's `PopoverArrow` renders none — and the positioner measures none.\n */\n private showArrow() {\n const layer = this.layerNode();\n const arrow = this.popover.arrowNode();\n if (layer === null || arrow === null) return;\n\n if (this.popover.resolvedArrow()) {\n if (this.arrowPlaceholder.parentNode === layer) this.arrowPlaceholder.replaceWith(arrow);\n } else if (arrow.parentNode === layer) {\n arrow.replaceWith(this.arrowPlaceholder);\n }\n }\n\n /**\n * Focus goes to the panel itself rather than to its first control, so a\n * reader hears the panel's name before its contents. It waits for the first\n * measurement, because focusing a layer still at the origin scrolls the page\n * to it.\n */\n private moveFocus() {\n const open = this.popover.isOpen();\n const layer = this.layerNode();\n const content = this.popover.contentNode();\n const positioned = this.positioned();\n\n if (open && positioned && !this.wasOpen) {\n this.wasOpen = true;\n if (!this.popover.resolvedAutoFocus()) return;\n (resolveFocus(this.popover.initialFocus(), content) ?? content)?.focus();\n return;\n }\n\n if (!open && this.wasOpen) {\n this.wasOpen = false;\n /**\n * Only while the focus is still inside the layer. A reader who closed the\n * popover by pressing something else on the page keeps the focus they\n * moved to; taking it back would undo their own move.\n */\n const active = layer?.ownerDocument.activeElement ?? null;\n if (layer !== null && active !== null && !layer.contains(active)) return;\n (resolveFocus(this.popover.finalFocus(), content) ?? this.popover.triggerNode())?.focus();\n }\n }\n}\n\n/**\n * The panel. `role=\"dialog\"`, named by its title and described by its\n * description when those parts are present, and `aria-modal` is never written —\n * saying it would tell a reader the rest of the page is gone while it is not.\n *\n * A popover with no title gets no `aria-labelledby`; the family invents no\n * name, and a consumer writes `aria-label` here instead — which is why the\n * host attribute they wrote is read before the binding is computed.\n *\n * It is the one part written as a component, because a component is what can\n * carry `styleUrl`: this is where the family's authored stylesheet enters an\n * Angular application.\n */\n@Component({\n selector: '[slPopoverContent]',\n standalone: true,\n exportAs: 'slPopoverContent',\n template: '<ng-content />',\n styleUrl: '../../../styles/src/popover/popover.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'data-part': 'content',\n tabindex: '-1',\n '[attr.role]': 'role()',\n '[attr.id]': 'popover.contentId',\n '[attr.aria-labelledby]': 'labelledBy()',\n '[attr.aria-describedby]': 'describedBy()',\n },\n})\nexport class SlPopoverContent {\n protected readonly popover = inject(SlPopover);\n private readonly writtenLabel = inject(new HostAttributeToken('aria-label'), { optional: true });\n private readonly writtenRole = inject(new HostAttributeToken('role'), { optional: true });\n\n /* The consumer's own `role` wins; the popover decides the rest. */\n protected readonly role = computed(() => this.writtenRole ?? this.popover.contentRole());\n protected readonly labelledBy = computed(() =>\n this.popover.hasTitle() && this.writtenLabel === null ? this.popover.titleId : null,\n );\n protected readonly describedBy = computed(() =>\n this.popover.hasDescription() ? this.popover.descriptionId : null,\n );\n\n constructor() {\n const native: HTMLElement = inject(ElementRef).nativeElement;\n this.popover.contentNode.set(native);\n inject(DestroyRef).onDestroy(() => this.popover.contentNode.set(null));\n }\n}\n\n/** The title, the description and the close control, on the row that stays put. */\n@Directive({\n selector: '[slPopoverHeader]',\n standalone: true,\n exportAs: 'slPopoverHeader',\n host: { 'data-part': 'header' },\n})\nexport class SlPopoverHeader {}\n\n/**\n * The panel's accessible name. The consumer writes the element, so a heading\n * that belongs in the document outline is theirs to choose — the reason\n * `result-state` records for the same decision.\n */\n@Directive({\n selector: '[slPopoverTitle]',\n standalone: true,\n exportAs: 'slPopoverTitle',\n host: { 'data-part': 'title', '[attr.id]': 'popover.titleId' },\n})\nexport class SlPopoverTitle {\n protected readonly popover = inject(SlPopover);\n\n constructor() {\n this.popover.hasTitle.set(true);\n inject(DestroyRef).onDestroy(() => this.popover.hasTitle.set(false));\n }\n}\n\n/** One line under the title, referenced by the panel rather than announced. */\n@Directive({\n selector: '[slPopoverDescription]',\n standalone: true,\n exportAs: 'slPopoverDescription',\n host: { 'data-part': 'description', '[attr.id]': 'popover.descriptionId' },\n})\nexport class SlPopoverDescription {\n protected readonly popover = inject(SlPopover);\n\n constructor() {\n this.popover.hasDescription.set(true);\n inject(DestroyRef).onDestroy(() => this.popover.hasDescription.set(false));\n }\n}\n\n/**\n * The only part that scrolls, bounded by the height the engine says is left.\n * Bounding the whole panel would scroll the title out of sight, which is how a\n * reader loses track of what they are in.\n */\n@Directive({\n selector: '[slPopoverBody]',\n standalone: true,\n exportAs: 'slPopoverBody',\n host: { 'data-part': 'body' },\n})\nexport class SlPopoverBody {}\n\n/** The actions row, which keeps its height while the body scrolls under it. */\n@Directive({\n selector: '[slPopoverFooter]',\n standalone: true,\n exportAs: 'slPopoverFooter',\n host: { 'data-part': 'footer' },\n})\nexport class SlPopoverFooter {}\n\n/**\n * The pointer's way out. The keyboard has Escape, and a reader on a touch\n * device has no Escape key at all. A close control with no text of its own —\n * the drawn cross, or the consumer's icon — is named by the catalog's `close`;\n * one that shows words, such as \"Done\", is named by them, and a name the\n * consumer wrote on the element wins over both.\n */\n@Component({\n selector: 'button[slPopoverClose]',\n standalone: true,\n exportAs: 'slPopoverClose',\n imports: [SlGlyph, SlIcon],\n /* The cross is drawn unless the consumer wrote content of their own. */\n template: `<ng-content\n ><span slIcon size=\"sm\"><svg slGlyph name=\"x\"></svg></span\n ></ng-content>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'data-part': 'close',\n type: 'button',\n '[attr.aria-label]': 'label()',\n '(click)': 'popover.toggle(false, \"dismiss\", $event)',\n },\n})\nexport class SlPopoverClose {\n protected readonly popover = inject(SlPopover);\n private readonly written = inject(new HostAttributeToken('aria-label'), { optional: true });\n private readonly native: HTMLElement = inject(ElementRef).nativeElement;\n /** Whether the content shows text, read after every render because it may change. */\n private readonly hasText = signal(false);\n\n protected readonly label = computed(\n () => this.written ?? (this.hasText() ? null : this.popover.t('close')),\n );\n\n constructor() {\n afterEveryRender(() => this.hasText.set((this.native.textContent ?? '').trim() !== ''));\n }\n}\n\n/**\n * The mark that points at the anchor. The family draws it; the positioner\n * measures it and says where it goes. It is hidden from assistive technology.\n * While `arrow` resolves to false the layer takes it out (`slPopoverLayer`).\n */\n@Directive({\n selector: '[slPopoverArrow]',\n standalone: true,\n exportAs: 'slPopoverArrow',\n host: { 'data-part': 'arrow', 'aria-hidden': 'true' },\n})\nexport class SlPopoverArrow {\n constructor() {\n const popover = inject(SlPopover);\n const native: HTMLElement = inject(ElementRef).nativeElement;\n popover.arrowNode.set(native);\n inject(DestroyRef).onDestroy(() => popover.arrowNode.set(null));\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"slotted-angular-popover.mjs","sources":["../../popover/src/popover-defaults.ts","../../popover/src/popover.ts","../../popover/src/popover-parts.ts","../../popover/src/slotted-angular-popover.ts"],"sourcesContent":["import type { ChangeRequest } from '@slotted/core/state';\nimport { inject, Injectable, InjectionToken } from '@angular/core';\nimport type { Provider } from '@angular/core';\n\n/** The width and type step the panel sits at. */\nexport type PopoverSize = 'sm' | 'md' | 'lg';\n\n/**\n * How wide the panel is. `anchor` makes it exactly as wide as the element it\n * hangs from, which is what a filter panel under a search field wants.\n */\nexport type PopoverWidth = 'auto' | 'anchor';\n\n/** The edge of the anchor the layer prefers. The two logical values mirror. */\nexport type PopoverSide = 'top' | 'bottom' | 'inline-start' | 'inline-end' | 'left' | 'right';\n\n/** Where the layer sits along the side it took. */\nexport type PopoverAlign = 'start' | 'center' | 'end';\n\n/** When the layer exists. `lazy` is what a panel holding an expensive form wants. */\nexport type PopoverMount = 'active' | 'lazy' | 'eager';\n\n/** `fixed` for a layer inside `overflow: hidden`, `absolute` for one inside a transform. */\nexport type PopoverStrategy = 'absolute' | 'fixed';\n\n/** Why the panel opened or closed. */\nexport type PopoverOpenReason = Extract<\n ChangeRequest<boolean>['reason'],\n 'pointer' | 'keyboard' | 'escape' | 'outsidePress' | 'dismiss' | 'programmatic'\n>;\n\n/** The request `openChangeRequest` emits before the panel moves, as React's `PopoverChangeRequest`. */\nexport type PopoverChangeRequest = ChangeRequest<boolean>;\n\n/** Somewhere to put the focus: an element, or a selector read inside the panel. */\nexport type PopoverFocusTarget = Element | string;\n\n/** What an application sets once for every popover under it. */\nexport interface PopoverDefaults {\n align: PopoverAlign;\n alignOffset: number;\n arrow: boolean;\n arrowPadding: number;\n autoFocus: boolean;\n closeOnEscape: boolean;\n closeOnOutsidePress: boolean;\n collisionPadding: number;\n flip: boolean;\n hideWhenDetached: boolean;\n mount: PopoverMount;\n portal: boolean;\n shift: boolean;\n side: PopoverSide;\n sideOffset: number;\n size: PopoverSize;\n strategy: PopoverStrategy;\n width: PopoverWidth;\n}\n\n/**\n * `arrowPadding` is larger than the tooltip's because the panel's corner radius\n * is larger. `hideWhenDetached` is off: a task the reader is halfway through\n * must not blink because the row behind it scrolled.\n */\nexport const POPOVER_FALLBACK: PopoverDefaults = {\n align: 'center',\n alignOffset: 0,\n arrow: true,\n arrowPadding: 12,\n autoFocus: true,\n closeOnEscape: true,\n closeOnOutsidePress: true,\n collisionPadding: 8,\n flip: true,\n hideWhenDetached: false,\n mount: 'active',\n portal: true,\n shift: true,\n side: 'bottom',\n sideOffset: 0,\n size: 'md',\n strategy: 'absolute',\n width: 'auto',\n};\n\nexport const POPOVER_DEFAULTS = new InjectionToken<PopoverDefaults>('slotted popover defaults', {\n providedIn: 'root',\n factory: () => POPOVER_FALLBACK,\n});\n\n/**\n * An application decides once how its popovers behave and look. The close\n * control's accessible name comes from the language in force\n * (`provideSlotted`).\n *\n * What is stated here is written over the defaults already in force rather than\n * over the fallback, which is what React's provider does: a section that sets\n * `width` for itself keeps the application's `size`.\n */\nexport function providePopoverDefaults(defaults: Partial<PopoverDefaults>): Provider {\n return {\n provide: POPOVER_DEFAULTS,\n useFactory: (): PopoverDefaults => ({\n ...(inject(POPOVER_DEFAULTS, { optional: true, skipSelf: true }) ?? POPOVER_FALLBACK),\n ...defaults,\n }),\n };\n}\n\n/** What a popover renders as here, before it states anything of its own. */\nexport function injectPopoverDefaults(): PopoverDefaults {\n return inject(POPOVER_DEFAULTS);\n}\n\n/**\n * Application-scoped rather than module-scoped, for the reason `field` records:\n * a module-level counter produces colliding sequences when two applications\n * render in one server process, and the two sequences have to match for\n * hydration.\n */\n@Injectable({ providedIn: 'root' })\nexport class SlPopoverIdFactory {\n private count = 0;\n\n next() {\n this.count += 1;\n return `slotted-popover-${this.count}`;\n }\n}\n","import { type PartialMessages, popoverMessages, type PopoverMessages } from '@slotted/core/i18n';\nimport { createControllable } from '@slotted/core/state';\nimport {\n booleanAttribute,\n computed,\n Directive,\n inject,\n input,\n model,\n numberAttribute,\n type OnInit,\n output,\n signal,\n} from '@angular/core';\nimport { injectMessages } from '@slotted/angular/i18n';\n\nimport { injectPopoverDefaults, SlPopoverIdFactory } from './popover-defaults';\nimport type {\n PopoverAlign,\n PopoverChangeRequest,\n PopoverFocusTarget,\n PopoverMount,\n PopoverOpenReason,\n PopoverSide,\n PopoverSize,\n PopoverStrategy,\n PopoverWidth,\n} from './popover-defaults';\n\nexport type {\n PopoverAlign,\n PopoverChangeRequest,\n PopoverDefaults,\n PopoverFocusTarget,\n PopoverMount,\n PopoverOpenReason,\n PopoverSide,\n PopoverSize,\n PopoverStrategy,\n PopoverWidth,\n} from './popover-defaults';\n\nconst optionalBoolean = (state: boolean | string | undefined) =>\n state === undefined ? undefined : booleanAttribute(state);\n\nconst optionalNumber = (value: number | string | undefined) =>\n value === undefined ? undefined : numberAttribute(value);\n\n/**\n * Interactive, non-modal content anchored to the control that opened it.\n *\n * It is the APG's non-modal dialog — the pattern the tooltip page names for a\n * surface that holds focusable elements — and it is deliberately **not** modal.\n * Nothing behind it becomes `inert`, the page keeps scrolling, `aria-modal` is\n * never written and focus is not contained. The modal surface is `slDialog`.\n *\n * Written on an `ng-container`, because it renders nothing: the trigger stays\n * where the consumer wrote it and the layer is portalled.\n */\n@Directive({\n selector: '[slPopover]',\n standalone: true,\n exportAs: 'slPopover',\n})\nexport class SlPopover implements OnInit {\n /** Whether the panel is showing. Two-way, so a template may bind it directly. */\n readonly open = model<boolean>(false);\n /** The state an uncontrolled popover starts in, read once in `ngOnInit`. */\n readonly defaultOpen = input(false, { transform: booleanAttribute });\n /** The popover never opens. The trigger's own `disabled` is the consumer's. */\n readonly disabled = input(false, { transform: booleanAttribute });\n\n readonly size = input<PopoverSize | undefined>(undefined);\n readonly width = input<PopoverWidth | undefined>(undefined);\n readonly side = input<PopoverSide | undefined>(undefined);\n readonly align = input<PopoverAlign | undefined>(undefined);\n readonly mount = input<PopoverMount | undefined>(undefined);\n readonly strategy = input<PopoverStrategy | undefined>(undefined);\n /**\n * Words laid over the catalog of the language in force, key by key: the\n * close control's accessible name (`close`).\n */\n readonly messages = input<PartialMessages<PopoverMessages> | undefined>(undefined);\n\n /** What takes focus on open instead of the panel — a search field, usually. */\n readonly initialFocus = input<PopoverFocusTarget | undefined>(undefined);\n /** Where focus lands after it closes, for a trigger that is gone by then. */\n readonly finalFocus = input<PopoverFocusTarget | undefined>(undefined);\n\n readonly arrow = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: optionalBoolean,\n });\n readonly autoFocus = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: optionalBoolean,\n });\n readonly closeOnEscape = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: optionalBoolean,\n });\n readonly closeOnOutsidePress = input<boolean | undefined, boolean | string | undefined>(\n undefined,\n { transform: optionalBoolean },\n );\n readonly flip = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: optionalBoolean,\n });\n readonly shift = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: optionalBoolean,\n });\n readonly hideWhenDetached = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: optionalBoolean,\n });\n readonly portal = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: optionalBoolean,\n });\n\n readonly sideOffset = input<number | undefined, number | string | undefined>(undefined, {\n transform: optionalNumber,\n });\n readonly alignOffset = input<number | undefined, number | string | undefined>(undefined, {\n transform: optionalNumber,\n });\n readonly collisionPadding = input<number | undefined, number | string | undefined>(undefined, {\n transform: optionalNumber,\n });\n readonly arrowPadding = input<number | undefined, number | string | undefined>(undefined, {\n transform: optionalNumber,\n });\n\n /** One output for one transition, carrying the reason and the event. */\n readonly openChangeRequest = output<PopoverChangeRequest>();\n\n private readonly defaults = injectPopoverDefaults();\n /** The family's words in the language in force, with this popover's `messages` laid over them. */\n readonly t = injectMessages(popoverMessages, this.messages);\n private readonly base = inject(SlPopoverIdFactory).next();\n\n readonly contentId = `${this.base}-panel`;\n readonly titleId = `${this.base}-title`;\n readonly descriptionId = `${this.base}-description`;\n\n /** The elements the parts register, which the layer measures and focuses. */\n readonly triggerNode = signal<HTMLElement | null>(null);\n readonly anchorNode = signal<HTMLElement | null>(null);\n readonly arrowNode = signal<HTMLElement | null>(null);\n readonly contentNode = signal<HTMLElement | null>(null);\n readonly hasTitle = signal(false);\n readonly hasDescription = signal(false);\n\n readonly isOpen = computed(() => this.open() && !this.disabled());\n\n readonly resolvedSize = computed(() => this.size() ?? this.defaults.size);\n readonly resolvedWidth = computed(() => this.width() ?? this.defaults.width);\n readonly resolvedSide = computed(() => this.side() ?? this.defaults.side);\n readonly resolvedAlign = computed(() => this.align() ?? this.defaults.align);\n readonly resolvedMount = computed(() => this.mount() ?? this.defaults.mount);\n readonly resolvedStrategy = computed(() => this.strategy() ?? this.defaults.strategy);\n readonly resolvedArrow = computed(() => (this.arrow() ?? this.defaults.arrow) === true);\n readonly resolvedAutoFocus = computed(\n () => (this.autoFocus() ?? this.defaults.autoFocus) === true,\n );\n /**\n * The role the panel carries when the consumer wrote none. A family that\n * provides itself as this one — `slHoverCard` — decides it here: a card\n * nothing can enter is `presentation`, not a dialog nobody is told about.\n */\n readonly contentRole = computed<string>(() => 'dialog');\n readonly resolvedCloseOnEscape = computed(\n () => (this.closeOnEscape() ?? this.defaults.closeOnEscape) === true,\n );\n readonly resolvedCloseOnOutsidePress = computed(\n () => (this.closeOnOutsidePress() ?? this.defaults.closeOnOutsidePress) === true,\n );\n readonly resolvedFlip = computed(() => (this.flip() ?? this.defaults.flip) === true);\n readonly resolvedShift = computed(() => (this.shift() ?? this.defaults.shift) === true);\n readonly resolvedHideWhenDetached = computed(\n () => (this.hideWhenDetached() ?? this.defaults.hideWhenDetached) === true,\n );\n readonly resolvedPortal = computed(() => (this.portal() ?? this.defaults.portal) === true);\n readonly resolvedSideOffset = computed(() => this.sideOffset() ?? this.defaults.sideOffset);\n readonly resolvedAlignOffset = computed(() => this.alignOffset() ?? this.defaults.alignOffset);\n readonly resolvedCollisionPadding = computed(\n () => this.collisionPadding() ?? this.defaults.collisionPadding,\n );\n readonly resolvedArrowPadding = computed(() => this.arrowPadding() ?? this.defaults.arrowPadding);\n\n private readonly everOpened = signal(false);\n readonly seen = computed(() => this.everOpened() || this.isOpen());\n\n /**\n * Read here rather than in the constructor, because inputs are not set yet\n * there, and once: a later change to it is not new state.\n */\n ngOnInit() {\n if (this.defaultOpen() && !this.open()) {\n this.everOpened.set(true);\n this.open.set(true);\n }\n }\n\n /** Opens now. One of the two imperative actions a template cannot express. */\n show() {\n this.toggle(true, 'programmatic');\n }\n\n /** Closes now. */\n hide() {\n this.toggle(false, 'programmatic');\n }\n\n toggle(next: boolean, reason: PopoverOpenReason, source?: Event) {\n if (next === this.isOpen()) return;\n\n let cancelled = false;\n const state = createControllable<boolean>({\n initial: this.isOpen(),\n onRequest: (request) => {\n this.openChangeRequest.emit(request);\n cancelled = request.cancelled;\n },\n });\n const moved = state.request(next, reason, source);\n if (cancelled) return;\n\n if (next) this.everOpened.set(true);\n if (moved) this.open.set(next);\n }\n}\n","import { writeSelectorKey } from '@slotted/core/selector-key';\nimport { createDismissableLayer } from '@slotted/core/dismissable-layer';\nimport type { DismissableLayerHandle } from '@slotted/core/dismissable-layer';\nimport { createPortalRoot } from '@slotted/core/portal';\nimport type { PortalRootHandle } from '@slotted/core/portal';\nimport { createPositioner } from '@slotted/core/positioner';\nimport type { PositionerHandle } from '@slotted/core/positioner';\nimport { createPresence } from '@slotted/core/presence';\nimport type { PresenceStatus } from '@slotted/core/presence';\nimport {\n afterEveryRender,\n type AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n computed,\n DestroyRef,\n Directive,\n effect,\n ElementRef,\n HostAttributeToken,\n inject,\n signal,\n TemplateRef,\n ViewContainerRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport type { EmbeddedViewRef } from '@angular/core';\nimport { SlGlyph, SlIcon } from '@slotted/angular/icon';\n\nimport { SlPopover } from './popover';\nimport type {\n PopoverAlign,\n PopoverFocusTarget,\n PopoverSide,\n PopoverWidth,\n} from './popover-defaults';\n\n/** An element, or a selector read inside the panel. */\nfunction resolveFocus(\n target: PopoverFocusTarget | undefined,\n scope: HTMLElement | null,\n): HTMLElement | null {\n if (target === undefined) return null;\n if (typeof target === 'string') return scope?.querySelector<HTMLElement>(target) ?? null;\n return target as HTMLElement;\n}\n\n/**\n * How far the layer moves along its alignment axis so the panel's edge, not\n * the layer's, meets the anchor's. The layer's padding is the gap around the\n * panel, the same on every side, so a layer aligned to the anchor's start edge\n * leaves the panel one gap inside it. A centred layer needs nothing, and\n * neither does one as wide as its anchor, which the positioner centres.\n */\nfunction alignInset(\n layer: HTMLElement,\n side: PopoverSide,\n align: PopoverAlign,\n width: PopoverWidth,\n): number {\n if (align === 'center') return 0;\n if (width === 'anchor' && (side === 'top' || side === 'bottom')) return 0;\n const style = layer.ownerDocument.defaultView?.getComputedStyle(layer);\n const gap = Number.parseFloat(style?.paddingTop ?? '') || 0;\n return align === 'start' ? -gap : gap;\n}\n\n/**\n * The control that opens the panel.\n *\n * The directive goes on the consumer's own control — a `button`, which is what\n * gives `Enter` and `Space` for free. It carries the wiring and `data-open`,\n * and **no `data-part`**: a trigger is very often another family's root, and\n * claiming it would unstyle that family.\n */\n@Directive({\n selector: '[slPopoverTrigger]',\n standalone: true,\n exportAs: 'slPopoverTrigger',\n host: {\n '[attr.aria-controls]': 'popover.contentNode() !== null ? popover.contentId : null',\n '[attr.aria-expanded]': 'popover.isOpen()',\n 'aria-haspopup': 'dialog',\n '[attr.data-open]': \"popover.isOpen() ? '' : null\",\n },\n})\nexport class SlPopoverTrigger implements AfterViewInit {\n protected readonly popover = inject(SlPopover);\n private readonly native: HTMLElement = inject(ElementRef).nativeElement;\n private readonly destroyRef = inject(DestroyRef);\n\n constructor() {\n this.popover.triggerNode.set(this.native);\n this.destroyRef.onDestroy(() => this.popover.triggerNode.set(null));\n }\n\n /**\n * After the view, not as a host listener. A `(click)` the consumer wrote on\n * the same element is bound when the view is created, so a listener bound any\n * earlier runs first and reads `defaultPrevented` before the consumer has had\n * the chance to set it — the order `slIconButton` records.\n */\n ngAfterViewInit() {\n const onClick = (event: MouseEvent) => {\n if (event.defaultPrevented) return;\n const reason = event.detail === 0 ? 'keyboard' : 'pointer';\n this.popover.toggle(!this.popover.isOpen(), reason, event);\n };\n this.native.addEventListener('click', onClick);\n this.destroyRef.onDestroy(() => this.native.removeEventListener('click', onClick));\n }\n}\n\n/**\n * What the panel points at, when that is not the button that opened it — a row\n * whose action menu hangs off the row rather than off its own control. It\n * carries no attributes: it is only measured.\n */\n@Directive({\n selector: '[slPopoverAnchor]',\n standalone: true,\n exportAs: 'slPopoverAnchor',\n})\nexport class SlPopoverAnchor {\n constructor() {\n const popover = inject(SlPopover);\n const native: HTMLElement = inject(ElementRef).nativeElement;\n popover.anchorNode.set(native);\n inject(DestroyRef).onDestroy(() => popover.anchorNode.set(null));\n }\n}\n\n/**\n * The positioned layer, built from a template rather than from an element, for\n * the reason `slTooltipLayer` sets out: `mount=\"active\"` means the layer exists\n * only while it is open, and a component cannot remove its own host.\n *\n * It also builds the two focus guards. Focus reaching one arrived by `Tab` at\n * the edge of a layer that lives at the end of the document, so the family\n * closes and puts focus back on the trigger, from which the reader's next `Tab`\n * continues down the page. It is the only answer that keeps the reading order\n * intact without trapping focus in a layer that is not modal.\n */\n@Directive({\n selector: 'ng-template[slPopoverLayer]',\n standalone: true,\n exportAs: 'slPopoverLayer',\n})\nexport class SlPopoverLayer {\n private readonly popover = inject(SlPopover);\n private readonly template = inject(TemplateRef<unknown>);\n private readonly viewContainer = inject(ViewContainerRef);\n private readonly comment: Comment = this.viewContainer.element.nativeElement;\n private readonly arrowPlaceholder: Comment =\n this.comment.ownerDocument.createComment('slPopoverArrow');\n\n /** A signal, so every effect that reads it re-runs when the layer arrives. */\n private readonly layerNode = signal<HTMLElement | null>(null);\n private view: EmbeddedViewRef<unknown> | null = null;\n private portal: PortalRootHandle | null = null;\n private positioner: PositionerHandle | null = null;\n private dismissable: DismissableLayerHandle | null = null;\n\n private readonly status = signal<PresenceStatus>('unmounted');\n private readonly positioned = signal(false);\n private wasOpen = false;\n private readonly presence = createPresence({\n present: false,\n onStatusChange: (next) => this.status.set(next),\n });\n\n readonly mounted = computed(() => {\n const mount = this.popover.resolvedMount();\n if (mount === 'eager') return true;\n if (mount === 'lazy') return this.popover.seen();\n return this.status() !== 'unmounted';\n });\n\n constructor() {\n effect(() => this.presence.sync(this.popover.isOpen()));\n effect(() => (this.mounted() ? this.build() : this.teardown()));\n effect(() => this.place());\n effect(() => this.stack());\n effect(() => this.paint());\n effect(() => this.showArrow());\n effect(() => this.moveFocus());\n\n inject(DestroyRef).onDestroy(() => {\n this.presence.destroy();\n this.teardown();\n });\n }\n\n /** Measures and places the layer again. */\n reposition() {\n void this.positioner?.update();\n }\n\n private build() {\n if (this.layerNode() !== null) return;\n\n const document = this.comment.ownerDocument;\n const layer = document.createElement('div');\n writeSelectorKey(layer, 'ui', 'popover');\n writeSelectorKey(layer, 'part', 'root');\n\n const view = this.viewContainer.createEmbeddedView(this.template);\n view.detectChanges();\n\n layer.appendChild(this.guard(document));\n for (const node of view.rootNodes as Node[]) layer.appendChild(node);\n layer.appendChild(this.guard(document));\n\n const portal = createPortalRoot({\n origin: this.popover.anchorNode() ?? this.popover.triggerNode(),\n disabled: !this.popover.resolvedPortal(),\n });\n const container = portal.container ?? this.comment.parentNode;\n if (container === this.comment.parentNode) container?.insertBefore(layer, this.comment);\n else container?.appendChild(layer);\n\n this.view = view;\n this.portal = portal;\n this.presence.setNode(layer);\n this.layerNode.set(layer);\n }\n\n private guard(document: Document): HTMLElement {\n const guard = document.createElement('span');\n writeSelectorKey(guard, 'part', 'focus-guard');\n guard.setAttribute('aria-hidden', 'true');\n guard.tabIndex = 0;\n guard.addEventListener('focus', () => {\n this.popover.toggle(false, 'keyboard');\n this.popover.triggerNode()?.focus();\n });\n return guard;\n }\n\n private teardown() {\n this.positioner?.destroy();\n this.positioner = null;\n this.dismissable?.destroy();\n this.dismissable = null;\n this.presence.setNode(null);\n this.layerNode()?.remove();\n this.layerNode.set(null);\n this.view?.destroy();\n this.view = null;\n this.portal?.release();\n this.portal = null;\n this.positioned.set(false);\n }\n\n private place() {\n const layer = this.layerNode();\n const anchor = this.popover.anchorNode() ?? this.popover.triggerNode();\n const align = this.popover.resolvedAlign();\n const side = this.popover.resolvedSide();\n const width = this.popover.resolvedWidth();\n const options = {\n align,\n alignOffset:\n this.popover.resolvedAlignOffset() +\n (layer === null ? 0 : alignInset(layer, side, align, width)),\n boundaryPadding: this.popover.resolvedCollisionPadding(),\n flip: this.popover.resolvedFlip(),\n hideWhenDetached: this.popover.resolvedHideWhenDetached(),\n matchWidth: width === 'anchor',\n shift: this.popover.resolvedShift(),\n side,\n sideOffset: this.popover.resolvedSideOffset(),\n strategy: this.popover.resolvedStrategy(),\n };\n const arrow = this.popover.resolvedArrow() ? this.popover.arrowNode() : null;\n\n this.positioner?.destroy();\n this.positioner = null;\n if (layer === null || anchor === null) return;\n\n this.positioner = createPositioner(anchor, layer, {\n ...options,\n ...(arrow ? { arrow, arrowPadding: this.popover.resolvedArrowPadding() } : {}),\n });\n /* `data-open` is written on the element in the task that opened the panel,\n with the position, rather than by the effect on the next check. */\n void this.positioner.update().then(() => {\n if (this.popover.isOpen()) layer.setAttribute('data-open', '');\n this.positioned.set(true);\n });\n }\n\n /**\n * One layer in the single stack, and only while it is open. It is not modal:\n * nothing outside becomes `inert` and the page keeps scrolling. The trigger\n * and the anchor are branches, so pressing either is inside the layer.\n */\n private stack() {\n const layer = this.layerNode();\n const open = this.popover.isOpen();\n const branches = [this.popover.triggerNode(), this.popover.anchorNode()].filter(\n (element): element is HTMLElement => element !== null,\n );\n\n this.dismissable?.destroy();\n this.dismissable = null;\n if (layer === null || !open) return;\n\n this.dismissable = createDismissableLayer(layer, {\n escape: this.popover.resolvedCloseOnEscape(),\n focusOutside: false,\n modal: false,\n outsidePress: this.popover.resolvedCloseOnOutsidePress(),\n scrollLock: false,\n ...(branches.length > 0 ? { branches } : {}),\n onDismiss: (request) => {\n this.popover.toggle(\n false,\n request.reason === 'escape' ? 'escape' : 'outsidePress',\n request.source,\n );\n },\n });\n }\n\n private paint() {\n const layer = this.layerNode();\n if (layer === null) return;\n\n layer.setAttribute('data-align', this.popover.resolvedAlign());\n layer.setAttribute('data-size', this.popover.resolvedSize());\n layer.setAttribute('data-width', this.popover.resolvedWidth());\n if (this.popover.isOpen() && this.positioned()) layer.setAttribute('data-open', '');\n else layer.removeAttribute('data-open');\n }\n\n /**\n * The arrow the consumer wrote leaves the layer while `arrow` resolves to\n * false, and a comment holds its place, so the layer holds no arrow — as\n * React's `PopoverArrow` renders none — and the positioner measures none.\n */\n private showArrow() {\n const layer = this.layerNode();\n const arrow = this.popover.arrowNode();\n if (layer === null || arrow === null) return;\n\n if (this.popover.resolvedArrow()) {\n if (this.arrowPlaceholder.parentNode === layer) this.arrowPlaceholder.replaceWith(arrow);\n } else if (arrow.parentNode === layer) {\n arrow.replaceWith(this.arrowPlaceholder);\n }\n }\n\n /**\n * Focus goes to the panel itself rather than to its first control, so a\n * reader hears the panel's name before its contents. It waits for the first\n * measurement, because focusing a layer still at the origin scrolls the page\n * to it.\n */\n private moveFocus() {\n const open = this.popover.isOpen();\n const layer = this.layerNode();\n const content = this.popover.contentNode();\n const positioned = this.positioned();\n\n if (open && positioned && !this.wasOpen) {\n this.wasOpen = true;\n if (!this.popover.resolvedAutoFocus()) return;\n (resolveFocus(this.popover.initialFocus(), content) ?? content)?.focus();\n return;\n }\n\n if (!open && this.wasOpen) {\n this.wasOpen = false;\n /**\n * Only while the focus is still inside the layer. A reader who closed the\n * popover by pressing something else on the page keeps the focus they\n * moved to; taking it back would undo their own move.\n */\n const active = layer?.ownerDocument.activeElement ?? null;\n if (layer !== null && active !== null && !layer.contains(active)) return;\n (resolveFocus(this.popover.finalFocus(), content) ?? this.popover.triggerNode())?.focus();\n }\n }\n}\n\n/**\n * The panel. `role=\"dialog\"`, named by its title and described by its\n * description when those parts are present, and `aria-modal` is never written —\n * saying it would tell a reader the rest of the page is gone while it is not.\n *\n * A popover with no title gets no `aria-labelledby`; the family invents no\n * name, and a consumer writes `aria-label` here instead — which is why the\n * host attribute they wrote is read before the binding is computed.\n *\n * It is the one part written as a component, because a component is what can\n * carry `styleUrl`: this is where the family's authored stylesheet enters an\n * Angular application.\n */\n@Component({\n selector: '[slPopoverContent]',\n standalone: true,\n exportAs: 'slPopoverContent',\n template: '<ng-content />',\n styleUrl: '../../../styles/src/popover/popover.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'data-part': 'content',\n 'data-part-content': '',\n tabindex: '-1',\n '[attr.role]': 'role()',\n '[attr.id]': 'popover.contentId',\n '[attr.aria-labelledby]': 'labelledBy()',\n '[attr.aria-describedby]': 'describedBy()',\n },\n})\nexport class SlPopoverContent {\n protected readonly popover = inject(SlPopover);\n private readonly writtenLabel = inject(new HostAttributeToken('aria-label'), { optional: true });\n private readonly writtenRole = inject(new HostAttributeToken('role'), { optional: true });\n\n /* The consumer's own `role` wins; the popover decides the rest. */\n protected readonly role = computed(() => this.writtenRole ?? this.popover.contentRole());\n protected readonly labelledBy = computed(() =>\n this.popover.hasTitle() && this.writtenLabel === null ? this.popover.titleId : null,\n );\n protected readonly describedBy = computed(() =>\n this.popover.hasDescription() ? this.popover.descriptionId : null,\n );\n\n constructor() {\n const native: HTMLElement = inject(ElementRef).nativeElement;\n this.popover.contentNode.set(native);\n inject(DestroyRef).onDestroy(() => this.popover.contentNode.set(null));\n }\n}\n\n/** The title, the description and the close control, on the row that stays put. */\n@Directive({\n selector: '[slPopoverHeader]',\n standalone: true,\n exportAs: 'slPopoverHeader',\n host: { 'data-part': 'header', 'data-part-header': '' },\n})\nexport class SlPopoverHeader {}\n\n/**\n * The panel's accessible name. The consumer writes the element, so a heading\n * that belongs in the document outline is theirs to choose — the reason\n * `result-state` records for the same decision.\n */\n@Directive({\n selector: '[slPopoverTitle]',\n standalone: true,\n exportAs: 'slPopoverTitle',\n host: { 'data-part': 'title', 'data-part-title': '', '[attr.id]': 'popover.titleId' },\n})\nexport class SlPopoverTitle {\n protected readonly popover = inject(SlPopover);\n\n constructor() {\n this.popover.hasTitle.set(true);\n inject(DestroyRef).onDestroy(() => this.popover.hasTitle.set(false));\n }\n}\n\n/** One line under the title, referenced by the panel rather than announced. */\n@Directive({\n selector: '[slPopoverDescription]',\n standalone: true,\n exportAs: 'slPopoverDescription',\n host: {\n 'data-part': 'description',\n 'data-part-description': '',\n '[attr.id]': 'popover.descriptionId',\n },\n})\nexport class SlPopoverDescription {\n protected readonly popover = inject(SlPopover);\n\n constructor() {\n this.popover.hasDescription.set(true);\n inject(DestroyRef).onDestroy(() => this.popover.hasDescription.set(false));\n }\n}\n\n/**\n * The only part that scrolls, bounded by the height the engine says is left.\n * Bounding the whole panel would scroll the title out of sight, which is how a\n * reader loses track of what they are in.\n */\n@Directive({\n selector: '[slPopoverBody]',\n standalone: true,\n exportAs: 'slPopoverBody',\n host: { 'data-part': 'body', 'data-part-body': '' },\n})\nexport class SlPopoverBody {}\n\n/** The actions row, which keeps its height while the body scrolls under it. */\n@Directive({\n selector: '[slPopoverFooter]',\n standalone: true,\n exportAs: 'slPopoverFooter',\n host: { 'data-part': 'footer', 'data-part-footer': '' },\n})\nexport class SlPopoverFooter {}\n\n/**\n * The pointer's way out. The keyboard has Escape, and a reader on a touch\n * device has no Escape key at all. A close control with no text of its own —\n * the drawn cross, or the consumer's icon — is named by the catalog's `close`;\n * one that shows words, such as \"Done\", is named by them, and a name the\n * consumer wrote on the element wins over both.\n */\n@Component({\n selector: 'button[slPopoverClose]',\n standalone: true,\n exportAs: 'slPopoverClose',\n imports: [SlGlyph, SlIcon],\n /* The cross is drawn unless the consumer wrote content of their own. */\n template: `<ng-content\n ><span slIcon size=\"sm\"><svg slGlyph name=\"x\"></svg></span\n ></ng-content>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'data-part': 'close',\n 'data-part-close': '',\n type: 'button',\n '[attr.aria-label]': 'label()',\n '(click)': 'popover.toggle(false, \"dismiss\", $event)',\n },\n})\nexport class SlPopoverClose {\n protected readonly popover = inject(SlPopover);\n private readonly written = inject(new HostAttributeToken('aria-label'), { optional: true });\n private readonly native: HTMLElement = inject(ElementRef).nativeElement;\n /** Whether the content shows text, read after every render because it may change. */\n private readonly hasText = signal(false);\n\n protected readonly label = computed(\n () => this.written ?? (this.hasText() ? null : this.popover.t('close')),\n );\n\n constructor() {\n afterEveryRender(() => this.hasText.set((this.native.textContent ?? '').trim() !== ''));\n }\n}\n\n/**\n * The mark that points at the anchor. The family draws it; the positioner\n * measures it and says where it goes. It is hidden from assistive technology.\n * While `arrow` resolves to false the layer takes it out (`slPopoverLayer`).\n */\n@Directive({\n selector: '[slPopoverArrow]',\n standalone: true,\n exportAs: 'slPopoverArrow',\n host: { 'data-part': 'arrow', 'data-part-arrow': '', 'aria-hidden': 'true' },\n})\nexport class SlPopoverArrow {\n constructor() {\n const popover = inject(SlPopover);\n const native: HTMLElement = inject(ElementRef).nativeElement;\n popover.arrowNode.set(native);\n inject(DestroyRef).onDestroy(() => popover.arrowNode.set(null));\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}