@slotted/angular 0.1.0-beta.1 → 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-loading-overlay.mjs","sources":["../../loading-overlay/src/loading-overlay-defaults.ts","../../loading-overlay/src/loading-overlay.constants.ts","../../loading-overlay/src/loading-overlay.ts","../../loading-overlay/src/slotted-angular-loading-overlay.ts"],"sourcesContent":["import { inject, InjectionToken } from '@angular/core';\n\nimport type {\n LoadingOverlayLive,\n LoadingOverlaySize,\n LoadingOverlayVeil,\n} from './loading-overlay.constants';\n\n/**\n * What every overlay in an application looks like, and how a wait is timed,\n * before any of them states anything of its own.\n *\n * The two durations are here rather than on an overlay because the policy is\n * an application's: a team decides once that a wait under two hundred\n * milliseconds is not worth reporting, and every region inherits it. The\n * family ships both at zero because it cannot know them, so an application\n * that sets neither pays for no timer.\n */\nexport interface LoadingOverlayDefaults {\n delay?: number;\n live?: LoadingOverlayLive;\n loadedLabel?: string;\n minDuration?: number;\n size?: LoadingOverlaySize;\n veil?: LoadingOverlayVeil;\n}\n\nexport const LOADING_OVERLAY_DEFAULTS_TOKEN = new InjectionToken<LoadingOverlayDefaults>(\n 'slotted loading overlay defaults',\n { providedIn: 'root', factory: (): LoadingOverlayDefaults => ({}) },\n);\n\n/**\n * An overlay that states any of these still wins: an explicit input is never\n * overridden by the token. The words the family writes come from the language\n * in force (`provideSlotted`).\n */\nexport function provideLoadingOverlayDefaults(defaults: LoadingOverlayDefaults) {\n return { provide: LOADING_OVERLAY_DEFAULTS_TOKEN, useValue: defaults };\n}\n\nexport function injectLoadingOverlayDefaults(): LoadingOverlayDefaults {\n return inject(LOADING_OVERLAY_DEFAULTS_TOKEN);\n}\n","/**\n * What is covered. `region` is the box the family wraps and the safe default;\n * `page` is the whole viewport, and `docs/component-features.md` §9 warns\n * against reaching for it over a local operation.\n */\nexport type LoadingOverlayScope = 'region' | 'page';\n\n/** How the covered content is obscured. `none` blocks and dims nothing. */\nexport type LoadingOverlayVeil = 'wash' | 'blur' | 'none';\n\nexport type LoadingOverlaySize = 'sm' | 'md' | 'lg';\n\n/**\n * Whether the wait announces itself. `skeleton`'s own axis and vocabulary:\n * `off` is for a page that already says the same thing somewhere else.\n */\nexport type LoadingOverlayLive = 'polite' | 'off';\n\n/**\n * Why a cancellation was asked for. `dismiss` is the reader pressing the\n * control; `escape` is the key. There is no third: the family holds no timer\n * and the application does not ask itself to cancel.\n */\nexport type LoadingOverlayCancelReason = 'dismiss' | 'escape';\n\n/**\n * The ask, and it commits nothing.\n *\n * There is deliberately no `cancel()` on it, which is the one place this\n * request differs from every other in the library. A request can be refused\n * only where something would otherwise commit, and nothing does here: the\n * family does not lower `loading`, does not hide itself and does not move\n * focus. The consumer aborts its own work and lowers `loading` when it has.\n */\nexport interface LoadingOverlayCancelRequest {\n readonly reason: LoadingOverlayCancelReason;\n /** The event the ask came from: a press on the control, or the key. */\n readonly source: Event;\n}\n\nexport const LOADING_OVERLAY_DEFAULT_LIVE: LoadingOverlayLive = 'polite';\nexport const LOADING_OVERLAY_DEFAULT_SIZE: LoadingOverlaySize = 'md';\nexport const LOADING_OVERLAY_DEFAULT_VEIL: LoadingOverlayVeil = 'wash';\n","import { createDismissableLayer } from '@slotted/core/dismissable-layer';\nimport type { DismissableLayerHandle } from '@slotted/core/dismissable-layer';\nimport { createFocusScope } from '@slotted/core/focus';\nimport {\n loadingOverlayMessages,\n type LoadingOverlayMessages,\n type PartialMessages,\n} from '@slotted/core/i18n';\nimport { initialLoadingVisibility, nextLoadingVisibility } from '@slotted/core/loading';\nimport type { LoadingVisibilityState } from '@slotted/core/loading';\nimport { createPortalRoot } from '@slotted/core/portal';\nimport type { PortalRootHandle } from '@slotted/core/portal';\nimport { createPresence } from '@slotted/core/presence';\nimport type { PresenceHandle } from '@slotted/core/presence';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n DestroyRef,\n Directive,\n effect,\n ElementRef,\n inject,\n input,\n numberAttribute,\n output,\n signal,\n untracked,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { injectMessages } from '@slotted/angular/i18n';\nimport { SlLoader } from '@slotted/angular/progress-indicator';\n\nimport { injectLoadingOverlayDefaults } from './loading-overlay-defaults';\nimport {\n LOADING_OVERLAY_DEFAULT_LIVE,\n LOADING_OVERLAY_DEFAULT_SIZE,\n LOADING_OVERLAY_DEFAULT_VEIL,\n type LoadingOverlayCancelReason,\n type LoadingOverlayCancelRequest,\n type LoadingOverlayLive,\n type LoadingOverlayScope,\n type LoadingOverlaySize,\n type LoadingOverlayVeil,\n} from './loading-overlay.constants';\n\n/**\n * The mark the consumer puts in the panel, in place of the family's own.\n *\n * It writes nothing and behaves in no way: it exists so the overlay can ask\n * whether a mark was projected at all, which decides whether the slot centres\n * its contents or lets them fill it. A determinate bar has no intrinsic width\n * to be centred at.\n */\n@Directive({ selector: '[slLoadingOverlayIndicator]', standalone: true })\nexport class SlLoadingOverlayIndicator {}\n\n/**\n * A region of the page taken out of reach while a wait the consumer owns runs.\n *\n * The content stays: in the document, measured, and the thing the region's\n * geometry comes from. That is the whole difference from `skeleton`, which\n * stands in for content that has not arrived, and the reason this family\n * writes `inert` rather than replacing anything.\n *\n * The selector is a bare attribute, so the element stays the consumer's: a\n * region is whatever already wraps the content — a `section`, a card, a list\n * item — and wrapping it in a second element would change their layout to\n * carry an attribute. `skeleton`'s region is written the same way and for the\n * same reason.\n *\n * Four things are composed rather than written here. `@slotted/core/loading`\n * decides when the layer is painted; `@slotted/core/presence` keeps the panel\n * in the document through the wash's exit; `@slotted/core/focus` moves focus\n * out of the content before it goes inert and puts it back after; and, in page\n * scope, `@slotted/core/dismissable-layer` in modal mode makes the rest of the\n * document inert and locks its scroll.\n */\n@Component({\n selector: '[slLoadingOverlay]',\n standalone: true,\n imports: [SlLoader],\n template: `\n @if (liveValue() !== 'off') {\n <span data-part=\"announcement\" data-ui=\"visually-hidden\" role=\"status\">{{\n announcement()\n }}</span>\n }\n\n @if (scope() === 'region') {\n <div data-part=\"content\" #content [attr.inert]=\"painted() ? '' : null\">\n <ng-content />\n </div>\n }\n\n <div\n data-part=\"scrim\"\n #scrim\n [attr.data-loading]=\"painted() ? '' : null\"\n (keydown.escape)=\"onEscape($event)\"\n >\n @if (mounted()) {\n <div data-part=\"panel\" #panel tabindex=\"-1\">\n <span data-part=\"indicator\" [attr.data-default]=\"ownMark() ? '' : null\">\n <ng-content select=\"[slLoadingOverlayIndicator]\">\n <div slLoader contained decorative [size]=\"sizeValue()\"></div>\n </ng-content>\n </span>\n <span aria-hidden=\"true\" data-part=\"label\">{{ labelValue() }}</span>\n @if (description(); as text) {\n <span aria-hidden=\"true\" data-part=\"description\">{{ text }}</span>\n }\n @if (cancellable()) {\n <ng-content select=\"[slLoadingOverlayCancel]\">\n <button data-part=\"cancel\" type=\"button\" (click)=\"requestCancel($event)\">\n {{ t('cancel') }}\n </button>\n </ng-content>\n }\n </div>\n }\n </div>\n `,\n styleUrls: [\n '../../../styles/src/loading-overlay/loading-overlay.css',\n '../../../styles/src/progress-indicator/progress-indicator.css',\n '../../../styles/src/visually-hidden/visually-hidden.css',\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'slLoadingOverlay',\n host: {\n 'data-ui': 'loading-overlay',\n 'data-part': 'root',\n '[attr.data-scope]': 'scope()',\n '[attr.data-size]': 'sizeValue()',\n '[attr.data-veil]': 'veilValue()',\n '[attr.data-loading]': 'painted() ? \"\" : null',\n /* ARIA 1.2 asks for it on the region until it is finished loading. Page\n scope writes it nowhere: the busy region would be the document root, and\n this family owns no part of it. */\n '[attr.aria-busy]': 'scope() === \"region\" && painted() ? \"true\" : null',\n },\n})\nexport class SlLoadingOverlay {\n /**\n * Whether the data is still on its way. The consumer's own fact: the family\n * never moves it, so there is no `model()` here and no request for it.\n *\n * Blocking is the default, because a consumer who forgets the input sees a\n * covered region on the first render, while the other default leaves a\n * region reachable during a real wait and says nothing.\n */\n readonly loading = input(true, { transform: booleanAttribute });\n readonly scope = input<LoadingOverlayScope>('region');\n readonly veil = input<LoadingOverlayVeil | undefined>(undefined);\n readonly size = input<LoadingOverlaySize | undefined>(undefined);\n readonly live = input<LoadingOverlayLive | undefined>(undefined);\n /**\n * Words laid over the catalog of the language in force, key by key: the\n * short line (`label`), painted in the panel and announced once, and the\n * cancel control's words (`cancel`).\n */\n readonly messages = input<PartialMessages<LoadingOverlayMessages> | undefined>(undefined);\n readonly loadedLabel = input<string | undefined>(undefined);\n readonly description = input<string | undefined>(undefined);\n readonly cancellable = input(false, { transform: booleanAttribute });\n readonly delay = input<number | undefined, unknown>(undefined, { transform: optionalNumber });\n readonly minDuration = input<number | undefined, unknown>(undefined, {\n transform: optionalNumber,\n });\n /** Where the page-scoped layer is portalled. Defaults to the document body. */\n readonly container = input<HTMLElement | null | undefined>(undefined);\n\n /**\n * Asks to stop, carrying the reason and the event. The family commits\n * nothing: abort the work and lower `loading` when it has stopped.\n */\n readonly cancel = output<LoadingOverlayCancelRequest>();\n /**\n * The moment the covered content is reachable again, which is later than\n * `loading` turning false whenever `minDuration` is holding the layer. An\n * application moving focus on the input would move it under the wash.\n */\n readonly reveal = output<void>();\n\n private readonly defaults = injectLoadingOverlayDefaults();\n /** The family's words in the language in force, with this overlay's `messages` laid over them. */\n readonly t = injectMessages(loadingOverlayMessages, this.messages);\n private readonly host = inject<ElementRef<HTMLElement>>(ElementRef);\n\n /**\n * Whether the mark in the panel is the family's own. A consumer's mark fills\n * the slot and the family's is centred in it, and only a content query can\n * tell the two apart: `ng-content` fallback content leaves no trace in the\n * DOM that CSS could ask about without reaching into the nested family.\n */\n private readonly projectedMark = contentChild(SlLoadingOverlayIndicator);\n protected readonly ownMark = computed(() => this.projectedMark() === undefined);\n\n private readonly contentRef = viewChild<ElementRef<HTMLElement>>('content');\n private readonly scrimRef = viewChild<ElementRef<HTMLElement>>('scrim');\n private readonly panelRef = viewChild<ElementRef<HTMLElement>>('panel');\n\n readonly sizeValue = computed(\n () => this.size() ?? this.defaults.size ?? LOADING_OVERLAY_DEFAULT_SIZE,\n );\n readonly veilValue = computed(\n () => this.veil() ?? this.defaults.veil ?? LOADING_OVERLAY_DEFAULT_VEIL,\n );\n readonly liveValue = computed(\n () => this.live() ?? this.defaults.live ?? LOADING_OVERLAY_DEFAULT_LIVE,\n );\n readonly labelValue = computed(() => this.t('label'));\n private readonly delayValue = computed(() => this.delay() ?? this.defaults.delay ?? 0);\n private readonly holdValue = computed(() => this.minDuration() ?? this.defaults.minDuration ?? 0);\n\n /** Whether the layer is painted, which is not the `loading` input. */\n readonly painted = signal(false);\n /** Whether the panel belongs in the document, which outlives `painted`. */\n readonly mounted = signal(false);\n\n /**\n * Emptying a live region announces nothing, which is what makes one wait one\n * announcement rather than two. A completion message is opt-in for the same\n * reason: a page of six regions would otherwise say six things nobody asked\n * to hear. `skeleton` established the rule and this family takes it whole.\n */\n readonly announcement = computed(() =>\n this.painted() ? this.labelValue() : (this.loadedLabel() ?? this.defaults.loadedLabel ?? ''),\n );\n\n private machine: LoadingVisibilityState = initialLoadingVisibility;\n private timer: ReturnType<typeof setTimeout> | undefined;\n private presence: PresenceHandle | undefined;\n private portal: PortalRootHandle | undefined;\n private layer: DismissableLayerHandle | undefined;\n\n constructor() {\n const destroy = inject(DestroyRef);\n destroy.onDestroy(() => {\n clearTimeout(this.timer);\n this.presence?.destroy();\n this.layer?.destroy();\n this.portal?.release();\n });\n\n effect(() => {\n const request = {\n loading: this.loading(),\n delay: this.delayValue(),\n minDuration: this.holdValue(),\n };\n untracked(() => this.settle(request));\n });\n\n /**\n * The wash is in the document for the life of the family, because a\n * transition needs a style the browser computed last and a node that has\n * just been mounted has none. The panel is not: `presence` mounts it while\n * the layer is painted and holds it through the wash's own exit, so\n * nothing turns a mark nobody is looking at and a resting layer holds no\n * control for Tab to find.\n */\n effect(() => {\n const scrim = this.scrimRef()?.nativeElement;\n const present = this.painted();\n untracked(() => {\n this.presence ??= createPresence({\n present,\n onStatusChange: () => this.mounted.set(this.presence?.mounted ?? false),\n });\n if (scrim !== undefined) this.presence.setNode(scrim);\n this.presence.sync(present);\n this.mounted.set(this.presence.mounted);\n });\n });\n\n /**\n * Page scope moves the host into a portal root and hands the rest to\n * `dismissable-layer` in modal mode, which writes `inert` on every sibling\n * of that root, locks the document scroll, and takes `Escape` in the\n * capture phase. Outside press is refused outright — a press on the wash is\n * a reader trying to reach what is behind it, and the operation has not\n * finished.\n */\n effect(() => {\n if (this.scope() !== 'page') return;\n const named = this.container();\n untracked(() => {\n this.portal?.release();\n this.portal = createPortalRoot(\n named === undefined || named === null ? {} : { container: named },\n );\n this.portal.container?.append(this.host.nativeElement);\n });\n });\n\n effect((onCleanup) => {\n const panel = this.panelRef()?.nativeElement;\n if (this.scope() !== 'page' || !this.painted() || panel === undefined) return;\n const escape = this.cancellable();\n\n const handle = createDismissableLayer(this.host.nativeElement, {\n content: panel,\n escape,\n modal: true,\n onDismiss: (request) => {\n if (request.reason !== 'escape') return;\n this.ask('escape', (request.source ?? new Event('keydown')) as Event);\n },\n outsidePress: false,\n });\n this.layer = handle;\n onCleanup(() => {\n handle.destroy();\n if (this.layer === handle) this.layer = undefined;\n });\n });\n\n /**\n * The defect none of the surveyed implementations has, because none of\n * them makes anything inert: making an element inert while it holds focus\n * drops focus to the body, and the reader who was typing loses their\n * place.\n *\n * Focus is read before the content goes inert. If it was inside, it moves\n * into the panel — the control when there is one, the panel itself\n * otherwise, which is the `'container'` destination the APG advises for\n * content that has to be read before it is operated. If it was somewhere\n * else, nothing moves: a background save does not take the caret out of\n * another form.\n */\n effect((onCleanup) => {\n const panel = this.panelRef()?.nativeElement;\n if (!this.painted() || panel === undefined) return;\n const page = this.scope() === 'page';\n const cancellable = this.cancellable();\n\n const active = panel.ownerDocument.activeElement;\n const displaced =\n page || (active !== null && (this.contentRef()?.nativeElement.contains(active) ?? false));\n if (!displaced) return;\n\n const scope = createFocusScope(panel, {\n contain: page,\n initial: cancellable\n ? () => panel.querySelector<HTMLElement>('[data-part=\"cancel\"]')\n : 'container',\n });\n scope.enter();\n onCleanup(() => scope.destroy());\n });\n }\n\n /**\n * `Escape` in region scope, where there is no dismissable layer to take it.\n * The listener is on the layer rather than on the document, so the key only\n * asks when focus is inside the thing it is about: an overlay covering a card\n * in the corner of a page has no claim on a key pressed elsewhere.\n */\n protected onEscape(event: Event) {\n if (this.scope() === 'page' || !this.cancellable()) return;\n event.stopPropagation();\n this.ask('escape', event);\n }\n\n /**\n * Public because the projection directive below calls it: a consumer's own\n * control is the same ask as the family's own.\n */\n requestCancel(source: Event) {\n this.ask('dismiss', source);\n }\n\n private ask(reason: LoadingOverlayCancelReason, source: Event) {\n this.cancel.emit({ reason, source });\n }\n\n /**\n * One step of the shared machine, plus at most one timer. The rule lives in\n * `@slotted/core/loading` rather than here so React and Angular cannot\n * disagree about when a layer appears — a difference no test that looked at\n * either binding alone would report.\n */\n private settle(request: { loading: boolean; delay: number; minDuration: number }) {\n clearTimeout(this.timer);\n const answer = nextLoadingVisibility({ ...request, now: Date.now(), state: this.machine });\n this.machine = answer.state;\n\n const was = this.painted();\n this.painted.set(answer.state.visible);\n if (was && !answer.state.visible) this.reveal.emit();\n\n if (answer.wait === null) return;\n this.timer = setTimeout(() => this.settle(request), answer.wait);\n }\n}\n\n/**\n * Absence has to survive the transform. `numberAttribute` maps an unset input\n * to `NaN`, and `NaN` is a value: it would stop the application's own timing\n * decision from ever reaching an overlay that says nothing.\n */\nfunction optionalNumber(value: unknown): number | undefined {\n return value === undefined || value === null || value === '' ? undefined : numberAttribute(value);\n}\n\n/**\n * A consumer's own control, put where the family's would have been.\n *\n * It writes the part and takes the press; everything else about the element is\n * the consumer's, including its paint — the family's own control rules are\n * written `:not([data-ui])`, so a `sl-button` here is a button and not a button\n * wearing this family's clothes as well.\n */\n@Directive({\n selector: '[slLoadingOverlayCancel]',\n standalone: true,\n host: {\n 'data-part': 'cancel',\n '(click)': 'overlay.requestCancel($event)',\n },\n})\nexport class SlLoadingOverlayCancel {\n protected readonly overlay = inject(SlLoadingOverlay);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;AA2BO,MAAM,8BAA8B,GAAG,IAAI,cAAc,CAC9D,kCAAkC,EAClC,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAA+B,EAAE,CAAC,EAAE;AAGrE;;;;AAIG;AACG,SAAU,6BAA6B,CAAC,QAAgC,EAAA;IAC5E,OAAO,EAAE,OAAO,EAAE,8BAA8B,EAAE,QAAQ,EAAE,QAAQ,EAAE;AACxE;SAEgB,4BAA4B,GAAA;AAC1C,IAAA,OAAO,MAAM,CAAC,8BAA8B,CAAC;AAC/C;;ACHO,MAAM,4BAA4B,GAAuB,QAAQ;AACjE,MAAM,4BAA4B,GAAuB,IAAI;AAC7D,MAAM,4BAA4B,GAAuB,MAAM;;ACOtE;;;;;;;AAOG;MAEU,yBAAyB,CAAA;uGAAzB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBADrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA,EAAE,QAAQ,EAAE,6BAA6B,EAAE,UAAU,EAAE,IAAI,EAAE;;AAGxE;;;;;;;;;;;;;;;;;;;;AAoBG;MAmEU,gBAAgB,CAAA;AAC3B;;;;;;;AAOG;IACM,OAAO,GAAG,KAAK,CAAC,IAAI,+EAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;IACtD,KAAK,GAAG,KAAK,CAAsB,QAAQ;8EAAC;IAC5C,IAAI,GAAG,KAAK,CAAiC,SAAS;6EAAC;IACvD,IAAI,GAAG,KAAK,CAAiC,SAAS;6EAAC;IACvD,IAAI,GAAG,KAAK,CAAiC,SAAS;6EAAC;AAChE;;;;AAIG;IACM,QAAQ,GAAG,KAAK,CAAsD,SAAS;iFAAC;IAChF,WAAW,GAAG,KAAK,CAAqB,SAAS;oFAAC;IAClD,WAAW,GAAG,KAAK,CAAqB,SAAS;oFAAC;IAClD,WAAW,GAAG,KAAK,CAAC,KAAK,mFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;IAC3D,KAAK,GAAG,KAAK,CAA8B,SAAS,6EAAI,SAAS,EAAE,cAAc,EAAA,CAAG;IACpF,WAAW,GAAG,KAAK,CAA8B,SAAS,mFACjE,SAAS,EAAE,cAAc,EAAA,CACzB;;IAEO,SAAS,GAAG,KAAK,CAAiC,SAAS;kFAAC;AAErE;;;AAGG;IACM,MAAM,GAAG,MAAM,EAA+B;AACvD;;;;AAIG;IACM,MAAM,GAAG,MAAM,EAAQ;IAEf,QAAQ,GAAG,4BAA4B,EAAE;;IAEjD,CAAC,GAAG,cAAc,CAAC,sBAAsB,EAAE,IAAI,CAAC,QAAQ,CAAC;AACjD,IAAA,IAAI,GAAG,MAAM,CAA0B,UAAU,CAAC;AAEnE;;;;;AAKG;IACc,aAAa,GAAG,YAAY,CAAC,yBAAyB;sFAAC;IACrD,OAAO,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,KAAK,SAAS;gFAAC;IAE9D,UAAU,GAAG,SAAS,CAA0B,SAAS;mFAAC;IAC1D,QAAQ,GAAG,SAAS,CAA0B,OAAO;iFAAC;IACtD,QAAQ,GAAG,SAAS,CAA0B,OAAO;iFAAC;AAE9D,IAAA,SAAS,GAAG,QAAQ,CAC3B,MAAM,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,4BAA4B;kFACxE;AACQ,IAAA,SAAS,GAAG,QAAQ,CAC3B,MAAM,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,4BAA4B;kFACxE;AACQ,IAAA,SAAS,GAAG,QAAQ,CAC3B,MAAM,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,4BAA4B;kFACxE;IACQ,UAAU,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;mFAAC;AACpC,IAAA,UAAU,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;mFAAC;AACrE,IAAA,SAAS,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,CAAC;kFAAC;;IAGxF,OAAO,GAAG,MAAM,CAAC,KAAK;gFAAC;;IAEvB,OAAO,GAAG,MAAM,CAAC,KAAK;gFAAC;AAEhC;;;;;AAKG;AACM,IAAA,YAAY,GAAG,QAAQ,CAAC,MAC/B,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,EAAE,CAAC;qFAC7F;IAEO,OAAO,GAA2B,wBAAwB;AAC1D,IAAA,KAAK;AACL,IAAA,QAAQ;AACR,IAAA,MAAM;AACN,IAAA,KAAK;AAEb,IAAA,WAAA,GAAA;AACE,QAAA,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC;AAClC,QAAA,OAAO,CAAC,SAAS,CAAC,MAAK;AACrB,YAAA,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;AACxB,YAAA,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE;AACxB,YAAA,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE;AACrB,YAAA,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE;AACxB,QAAA,CAAC,CAAC;QAEF,MAAM,CAAC,MAAK;AACV,YAAA,MAAM,OAAO,GAAG;AACd,gBAAA,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;AACvB,gBAAA,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE;AACxB,gBAAA,WAAW,EAAE,IAAI,CAAC,SAAS,EAAE;aAC9B;YACD,SAAS,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACvC,QAAA,CAAC,CAAC;AAEF;;;;;;;AAOG;QACH,MAAM,CAAC,MAAK;YACV,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,EAAE,aAAa;AAC5C,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE;YAC9B,SAAS,CAAC,MAAK;AACb,gBAAA,IAAI,CAAC,QAAQ,KAAK,cAAc,CAAC;oBAC/B,OAAO;AACP,oBAAA,cAAc,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,IAAI,KAAK,CAAC;AACxE,iBAAA,CAAC;gBACF,IAAI,KAAK,KAAK,SAAS;AAAE,oBAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC;AACrD,gBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;gBAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;AACzC,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;AAEF;;;;;;;AAOG;QACH,MAAM,CAAC,MAAK;AACV,YAAA,IAAI,IAAI,CAAC,KAAK,EAAE,KAAK,MAAM;gBAAE;AAC7B,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE;YAC9B,SAAS,CAAC,MAAK;AACb,gBAAA,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE;gBACtB,IAAI,CAAC,MAAM,GAAG,gBAAgB,CAC5B,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,CAClE;AACD,gBAAA,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;AACxD,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;AAEF,QAAA,MAAM,CAAC,CAAC,SAAS,KAAI;YACnB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,EAAE,aAAa;AAC5C,YAAA,IAAI,IAAI,CAAC,KAAK,EAAE,KAAK,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,KAAK,KAAK,SAAS;gBAAE;AACvE,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE;YAEjC,MAAM,MAAM,GAAG,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;AAC7D,gBAAA,OAAO,EAAE,KAAK;gBACd,MAAM;AACN,gBAAA,KAAK,EAAE,IAAI;AACX,gBAAA,SAAS,EAAE,CAAC,OAAO,KAAI;AACrB,oBAAA,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ;wBAAE;AACjC,oBAAA,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,KAAK,CAAC,SAAS,CAAC,EAAW;gBACvE,CAAC;AACD,gBAAA,YAAY,EAAE,KAAK;AACpB,aAAA,CAAC;AACF,YAAA,IAAI,CAAC,KAAK,GAAG,MAAM;YACnB,SAAS,CAAC,MAAK;gBACb,MAAM,CAAC,OAAO,EAAE;AAChB,gBAAA,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM;AAAE,oBAAA,IAAI,CAAC,KAAK,GAAG,SAAS;AACnD,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;AAEF;;;;;;;;;;;;AAYG;AACH,QAAA,MAAM,CAAC,CAAC,SAAS,KAAI;YACnB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,EAAE,aAAa;YAC5C,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,KAAK,KAAK,SAAS;gBAAE;YAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,MAAM;AACpC,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE;AAEtC,YAAA,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC,aAAa;YAChD,MAAM,SAAS,GACb,IAAI,KAAK,MAAM,KAAK,IAAI,KAAK,IAAI,CAAC,UAAU,EAAE,EAAE,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC;AAC3F,YAAA,IAAI,CAAC,SAAS;gBAAE;AAEhB,YAAA,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,EAAE;AACpC,gBAAA,OAAO,EAAE,IAAI;AACb,gBAAA,OAAO,EAAE;sBACL,MAAM,KAAK,CAAC,aAAa,CAAc,sBAAsB;AAC/D,sBAAE,WAAW;AAChB,aAAA,CAAC;YACF,KAAK,CAAC,KAAK,EAAE;YACb,SAAS,CAAC,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;AAClC,QAAA,CAAC,CAAC;IACJ;AAEA;;;;;AAKG;AACO,IAAA,QAAQ,CAAC,KAAY,EAAA;QAC7B,IAAI,IAAI,CAAC,KAAK,EAAE,KAAK,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YAAE;QACpD,KAAK,CAAC,eAAe,EAAE;AACvB,QAAA,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC;IAC3B;AAEA;;;AAGG;AACH,IAAA,aAAa,CAAC,MAAa,EAAA;AACzB,QAAA,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC;IAC7B;IAEQ,GAAG,CAAC,MAAkC,EAAE,MAAa,EAAA;QAC3D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IACtC;AAEA;;;;;AAKG;AACK,IAAA,MAAM,CAAC,OAAiE,EAAA;AAC9E,QAAA,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;QACxB,MAAM,MAAM,GAAG,qBAAqB,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;AAC1F,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK;AAE3B,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE;QAC1B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;AACtC,QAAA,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO;AAAE,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;AAEpD,QAAA,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI;YAAE;AAC1B,QAAA,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC;IAClE;uGA5PW,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,aAAA,EAAA,mBAAA,EAAA,yBAAA,EAAA,gBAAA,EAAA,uDAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,eAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAqDmB,yBAAyB,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,OAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,OAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAnH7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,6zQAAA,EAAA,430BAAA,EAAA,6QAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAzCS,QAAQ,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FA+DP,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAlE5B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,cAClB,IAAI,EAAA,OAAA,EACP,CAAC,QAAQ,CAAC,EAAA,QAAA,EACT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCT,EAAA,eAAA,EAMgB,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAC3B,kBAAkB,EAAA,IAAA,EACtB;AACJ,wBAAA,SAAS,EAAE,iBAAiB;AAC5B,wBAAA,WAAW,EAAE,MAAM;AACnB,wBAAA,mBAAmB,EAAE,SAAS;AAC9B,wBAAA,kBAAkB,EAAE,aAAa;AACjC,wBAAA,kBAAkB,EAAE,aAAa;AACjC,wBAAA,qBAAqB,EAAE,uBAAuB;AAC9C;;AAEqC;AACrC,wBAAA,kBAAkB,EAAE,mDAAmD;AACxE,qBAAA,EAAA,MAAA,EAAA,CAAA,6zQAAA,EAAA,430BAAA,EAAA,6QAAA,CAAA,EAAA;AAuD6C,SAAA,CAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,SAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,aAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,aAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,aAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,aAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,WAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,UAAA,CAAA,MAAA,yBAAyB,CAAA,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CAGN,SAAS,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CACX,OAAO,kEACP,OAAO,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;AAqMxE;;;;AAIG;AACH,SAAS,cAAc,CAAC,KAAc,EAAA;IACpC,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,GAAG,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC;AACnG;AAEA;;;;;;;AAOG;MASU,sBAAsB,CAAA;AACd,IAAA,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC;uGAD1C,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,QAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,+BAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBARlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,0BAA0B;AACpC,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE;AACJ,wBAAA,WAAW,EAAE,QAAQ;AACrB,wBAAA,SAAS,EAAE,+BAA+B;AAC3C,qBAAA;AACF,iBAAA;;;AC1aD;;AAEG;;"}
1
+ {"version":3,"file":"slotted-angular-loading-overlay.mjs","sources":["../../loading-overlay/src/loading-overlay-defaults.ts","../../loading-overlay/src/loading-overlay.constants.ts","../../loading-overlay/src/loading-overlay.ts","../../loading-overlay/src/slotted-angular-loading-overlay.ts"],"sourcesContent":["import { inject, InjectionToken } from '@angular/core';\n\nimport type {\n LoadingOverlayLive,\n LoadingOverlaySize,\n LoadingOverlayVeil,\n} from './loading-overlay.constants';\n\n/**\n * What every overlay in an application looks like, and how a wait is timed,\n * before any of them states anything of its own.\n *\n * The two durations are here rather than on an overlay because the policy is\n * an application's: a team decides once that a wait under two hundred\n * milliseconds is not worth reporting, and every region inherits it. The\n * family ships both at zero because it cannot know them, so an application\n * that sets neither pays for no timer.\n */\nexport interface LoadingOverlayDefaults {\n delay?: number;\n live?: LoadingOverlayLive;\n loadedLabel?: string;\n minDuration?: number;\n size?: LoadingOverlaySize;\n veil?: LoadingOverlayVeil;\n}\n\nexport const LOADING_OVERLAY_DEFAULTS_TOKEN = new InjectionToken<LoadingOverlayDefaults>(\n 'slotted loading overlay defaults',\n { providedIn: 'root', factory: (): LoadingOverlayDefaults => ({}) },\n);\n\n/**\n * An overlay that states any of these still wins: an explicit input is never\n * overridden by the token. The words the family writes come from the language\n * in force (`provideSlotted`).\n */\nexport function provideLoadingOverlayDefaults(defaults: LoadingOverlayDefaults) {\n return { provide: LOADING_OVERLAY_DEFAULTS_TOKEN, useValue: defaults };\n}\n\nexport function injectLoadingOverlayDefaults(): LoadingOverlayDefaults {\n return inject(LOADING_OVERLAY_DEFAULTS_TOKEN);\n}\n","/**\n * What is covered. `region` is the box the family wraps and the safe default;\n * `page` is the whole viewport, and `docs/component-features.md` §9 warns\n * against reaching for it over a local operation.\n */\nexport type LoadingOverlayScope = 'region' | 'page';\n\n/** How the covered content is obscured. `none` blocks and dims nothing. */\nexport type LoadingOverlayVeil = 'wash' | 'blur' | 'none';\n\nexport type LoadingOverlaySize = 'sm' | 'md' | 'lg';\n\n/**\n * Whether the wait announces itself. `skeleton`'s own axis and vocabulary:\n * `off` is for a page that already says the same thing somewhere else.\n */\nexport type LoadingOverlayLive = 'polite' | 'off';\n\n/**\n * Why a cancellation was asked for. `dismiss` is the reader pressing the\n * control; `escape` is the key. There is no third: the family holds no timer\n * and the application does not ask itself to cancel.\n */\nexport type LoadingOverlayCancelReason = 'dismiss' | 'escape';\n\n/**\n * The ask, and it commits nothing.\n *\n * There is deliberately no `cancel()` on it, which is the one place this\n * request differs from every other in the library. A request can be refused\n * only where something would otherwise commit, and nothing does here: the\n * family does not lower `loading`, does not hide itself and does not move\n * focus. The consumer aborts its own work and lowers `loading` when it has.\n */\nexport interface LoadingOverlayCancelRequest {\n readonly reason: LoadingOverlayCancelReason;\n /** The event the ask came from: a press on the control, or the key. */\n readonly source: Event;\n}\n\nexport const LOADING_OVERLAY_DEFAULT_LIVE: LoadingOverlayLive = 'polite';\nexport const LOADING_OVERLAY_DEFAULT_SIZE: LoadingOverlaySize = 'md';\nexport const LOADING_OVERLAY_DEFAULT_VEIL: LoadingOverlayVeil = 'wash';\n","import { createDismissableLayer } from '@slotted/core/dismissable-layer';\nimport type { DismissableLayerHandle } from '@slotted/core/dismissable-layer';\nimport { createFocusScope } from '@slotted/core/focus';\nimport {\n loadingOverlayMessages,\n type LoadingOverlayMessages,\n type PartialMessages,\n} from '@slotted/core/i18n';\nimport { initialLoadingVisibility, nextLoadingVisibility } from '@slotted/core/loading';\nimport type { LoadingVisibilityState } from '@slotted/core/loading';\nimport { createPortalRoot } from '@slotted/core/portal';\nimport type { PortalRootHandle } from '@slotted/core/portal';\nimport { createPresence } from '@slotted/core/presence';\nimport type { PresenceHandle } from '@slotted/core/presence';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n DestroyRef,\n Directive,\n effect,\n ElementRef,\n inject,\n input,\n numberAttribute,\n output,\n signal,\n untracked,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { injectMessages } from '@slotted/angular/i18n';\nimport { SlLoader } from '@slotted/angular/progress-indicator';\n\nimport { injectLoadingOverlayDefaults } from './loading-overlay-defaults';\nimport {\n LOADING_OVERLAY_DEFAULT_LIVE,\n LOADING_OVERLAY_DEFAULT_SIZE,\n LOADING_OVERLAY_DEFAULT_VEIL,\n type LoadingOverlayCancelReason,\n type LoadingOverlayCancelRequest,\n type LoadingOverlayLive,\n type LoadingOverlayScope,\n type LoadingOverlaySize,\n type LoadingOverlayVeil,\n} from './loading-overlay.constants';\n\n/**\n * The mark the consumer puts in the panel, in place of the family's own.\n *\n * It writes nothing and behaves in no way: it exists so the overlay can ask\n * whether a mark was projected at all, which decides whether the slot centres\n * its contents or lets them fill it. A determinate bar has no intrinsic width\n * to be centred at.\n */\n@Directive({ selector: '[slLoadingOverlayIndicator]', standalone: true })\nexport class SlLoadingOverlayIndicator {}\n\n/**\n * A region of the page taken out of reach while a wait the consumer owns runs.\n *\n * The content stays: in the document, measured, and the thing the region's\n * geometry comes from. That is the whole difference from `skeleton`, which\n * stands in for content that has not arrived, and the reason this family\n * writes `inert` rather than replacing anything.\n *\n * The selector is a bare attribute, so the element stays the consumer's: a\n * region is whatever already wraps the content — a `section`, a card, a list\n * item — and wrapping it in a second element would change their layout to\n * carry an attribute. `skeleton`'s region is written the same way and for the\n * same reason.\n *\n * Four things are composed rather than written here. `@slotted/core/loading`\n * decides when the layer is painted; `@slotted/core/presence` keeps the panel\n * in the document through the wash's exit; `@slotted/core/focus` moves focus\n * out of the content before it goes inert and puts it back after; and, in page\n * scope, `@slotted/core/dismissable-layer` in modal mode makes the rest of the\n * document inert and locks its scroll.\n */\n@Component({\n selector: '[slLoadingOverlay]',\n standalone: true,\n imports: [SlLoader],\n template: `\n @if (liveValue() !== 'off') {\n <span\n data-part=\"announcement\"\n data-part-announcement=\"\"\n data-ui=\"visually-hidden\"\n data-ui-visually-hidden=\"\"\n role=\"status\"\n >{{ announcement() }}</span\n >\n }\n\n @if (scope() === 'region') {\n <div data-part=\"content\" data-part-content=\"\" #content [attr.inert]=\"painted() ? '' : null\">\n <ng-content />\n </div>\n }\n\n <div\n data-part=\"scrim\"\n data-part-scrim=\"\"\n #scrim\n [attr.data-loading]=\"painted() ? '' : null\"\n (keydown.escape)=\"onEscape($event)\"\n >\n @if (mounted()) {\n <div data-part=\"panel\" data-part-panel=\"\" #panel tabindex=\"-1\">\n <span\n data-part=\"indicator\"\n data-part-indicator=\"\"\n [attr.data-default]=\"ownMark() ? '' : null\"\n >\n <ng-content select=\"[slLoadingOverlayIndicator]\">\n <div slLoader contained decorative [size]=\"sizeValue()\"></div>\n </ng-content>\n </span>\n <span aria-hidden=\"true\" data-part=\"label\" data-part-label=\"\">{{ labelValue() }}</span>\n @if (description(); as text) {\n <span aria-hidden=\"true\" data-part=\"description\" data-part-description=\"\">{{\n text\n }}</span>\n }\n @if (cancellable()) {\n <ng-content select=\"[slLoadingOverlayCancel]\">\n <button\n data-part=\"cancel\"\n data-part-cancel=\"\"\n type=\"button\"\n (click)=\"requestCancel($event)\"\n >\n {{ t('cancel') }}\n </button>\n </ng-content>\n }\n </div>\n }\n </div>\n `,\n styleUrls: [\n '../../../styles/src/loading-overlay/loading-overlay.css',\n '../../../styles/src/progress-indicator/progress-indicator.css',\n '../../../styles/src/visually-hidden/visually-hidden.css',\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'slLoadingOverlay',\n host: {\n 'data-ui': 'loading-overlay',\n 'data-ui-loading-overlay': '',\n 'data-part': 'root',\n 'data-part-root': '',\n '[attr.data-scope]': 'scope()',\n '[attr.data-size]': 'sizeValue()',\n '[attr.data-veil]': 'veilValue()',\n '[attr.data-loading]': 'painted() ? \"\" : null',\n /* ARIA 1.2 asks for it on the region until it is finished loading. Page\n scope writes it nowhere: the busy region would be the document root, and\n this family owns no part of it. */\n '[attr.aria-busy]': 'scope() === \"region\" && painted() ? \"true\" : null',\n },\n})\nexport class SlLoadingOverlay {\n /**\n * Whether the data is still on its way. The consumer's own fact: the family\n * never moves it, so there is no `model()` here and no request for it.\n *\n * Blocking is the default, because a consumer who forgets the input sees a\n * covered region on the first render, while the other default leaves a\n * region reachable during a real wait and says nothing.\n */\n readonly loading = input(true, { transform: booleanAttribute });\n readonly scope = input<LoadingOverlayScope>('region');\n readonly veil = input<LoadingOverlayVeil | undefined>(undefined);\n readonly size = input<LoadingOverlaySize | undefined>(undefined);\n readonly live = input<LoadingOverlayLive | undefined>(undefined);\n /**\n * Words laid over the catalog of the language in force, key by key: the\n * short line (`label`), painted in the panel and announced once, and the\n * cancel control's words (`cancel`).\n */\n readonly messages = input<PartialMessages<LoadingOverlayMessages> | undefined>(undefined);\n readonly loadedLabel = input<string | undefined>(undefined);\n readonly description = input<string | undefined>(undefined);\n readonly cancellable = input(false, { transform: booleanAttribute });\n readonly delay = input<number | undefined, unknown>(undefined, { transform: optionalNumber });\n readonly minDuration = input<number | undefined, unknown>(undefined, {\n transform: optionalNumber,\n });\n /** Where the page-scoped layer is portalled. Defaults to the document body. */\n readonly container = input<HTMLElement | null | undefined>(undefined);\n\n /**\n * Asks to stop, carrying the reason and the event. The family commits\n * nothing: abort the work and lower `loading` when it has stopped.\n */\n readonly cancel = output<LoadingOverlayCancelRequest>();\n /**\n * The moment the covered content is reachable again, which is later than\n * `loading` turning false whenever `minDuration` is holding the layer. An\n * application moving focus on the input would move it under the wash.\n */\n readonly reveal = output<void>();\n\n private readonly defaults = injectLoadingOverlayDefaults();\n /** The family's words in the language in force, with this overlay's `messages` laid over them. */\n readonly t = injectMessages(loadingOverlayMessages, this.messages);\n private readonly host = inject<ElementRef<HTMLElement>>(ElementRef);\n\n /**\n * Whether the mark in the panel is the family's own. A consumer's mark fills\n * the slot and the family's is centred in it, and only a content query can\n * tell the two apart: `ng-content` fallback content leaves no trace in the\n * DOM that CSS could ask about without reaching into the nested family.\n */\n private readonly projectedMark = contentChild(SlLoadingOverlayIndicator);\n protected readonly ownMark = computed(() => this.projectedMark() === undefined);\n\n private readonly contentRef = viewChild<ElementRef<HTMLElement>>('content');\n private readonly scrimRef = viewChild<ElementRef<HTMLElement>>('scrim');\n private readonly panelRef = viewChild<ElementRef<HTMLElement>>('panel');\n\n readonly sizeValue = computed(\n () => this.size() ?? this.defaults.size ?? LOADING_OVERLAY_DEFAULT_SIZE,\n );\n readonly veilValue = computed(\n () => this.veil() ?? this.defaults.veil ?? LOADING_OVERLAY_DEFAULT_VEIL,\n );\n readonly liveValue = computed(\n () => this.live() ?? this.defaults.live ?? LOADING_OVERLAY_DEFAULT_LIVE,\n );\n readonly labelValue = computed(() => this.t('label'));\n private readonly delayValue = computed(() => this.delay() ?? this.defaults.delay ?? 0);\n private readonly holdValue = computed(() => this.minDuration() ?? this.defaults.minDuration ?? 0);\n\n /** Whether the layer is painted, which is not the `loading` input. */\n readonly painted = signal(false);\n /** Whether the panel belongs in the document, which outlives `painted`. */\n readonly mounted = signal(false);\n\n /**\n * Emptying a live region announces nothing, which is what makes one wait one\n * announcement rather than two. A completion message is opt-in for the same\n * reason: a page of six regions would otherwise say six things nobody asked\n * to hear. `skeleton` established the rule and this family takes it whole.\n */\n readonly announcement = computed(() =>\n this.painted() ? this.labelValue() : (this.loadedLabel() ?? this.defaults.loadedLabel ?? ''),\n );\n\n private machine: LoadingVisibilityState = initialLoadingVisibility;\n private timer: ReturnType<typeof setTimeout> | undefined;\n private presence: PresenceHandle | undefined;\n private portal: PortalRootHandle | undefined;\n private layer: DismissableLayerHandle | undefined;\n\n constructor() {\n const destroy = inject(DestroyRef);\n destroy.onDestroy(() => {\n clearTimeout(this.timer);\n this.presence?.destroy();\n this.layer?.destroy();\n this.portal?.release();\n });\n\n effect(() => {\n const request = {\n loading: this.loading(),\n delay: this.delayValue(),\n minDuration: this.holdValue(),\n };\n untracked(() => this.settle(request));\n });\n\n /**\n * The wash is in the document for the life of the family, because a\n * transition needs a style the browser computed last and a node that has\n * just been mounted has none. The panel is not: `presence` mounts it while\n * the layer is painted and holds it through the wash's own exit, so\n * nothing turns a mark nobody is looking at and a resting layer holds no\n * control for Tab to find.\n */\n effect(() => {\n const scrim = this.scrimRef()?.nativeElement;\n const present = this.painted();\n untracked(() => {\n this.presence ??= createPresence({\n present,\n onStatusChange: () => this.mounted.set(this.presence?.mounted ?? false),\n });\n if (scrim !== undefined) this.presence.setNode(scrim);\n this.presence.sync(present);\n this.mounted.set(this.presence.mounted);\n });\n });\n\n /**\n * Page scope moves the host into a portal root and hands the rest to\n * `dismissable-layer` in modal mode, which writes `inert` on every sibling\n * of that root, locks the document scroll, and takes `Escape` in the\n * capture phase. Outside press is refused outright — a press on the wash is\n * a reader trying to reach what is behind it, and the operation has not\n * finished.\n */\n effect(() => {\n if (this.scope() !== 'page') return;\n const named = this.container();\n untracked(() => {\n this.portal?.release();\n this.portal = createPortalRoot(\n named === undefined || named === null ? {} : { container: named },\n );\n this.portal.container?.append(this.host.nativeElement);\n });\n });\n\n effect((onCleanup) => {\n const panel = this.panelRef()?.nativeElement;\n if (this.scope() !== 'page' || !this.painted() || panel === undefined) return;\n const escape = this.cancellable();\n\n const handle = createDismissableLayer(this.host.nativeElement, {\n content: panel,\n escape,\n modal: true,\n onDismiss: (request) => {\n if (request.reason !== 'escape') return;\n this.ask('escape', (request.source ?? new Event('keydown')) as Event);\n },\n outsidePress: false,\n });\n this.layer = handle;\n onCleanup(() => {\n handle.destroy();\n if (this.layer === handle) this.layer = undefined;\n });\n });\n\n /**\n * The defect none of the surveyed implementations has, because none of\n * them makes anything inert: making an element inert while it holds focus\n * drops focus to the body, and the reader who was typing loses their\n * place.\n *\n * Focus is read before the content goes inert. If it was inside, it moves\n * into the panel — the control when there is one, the panel itself\n * otherwise, which is the `'container'` destination the APG advises for\n * content that has to be read before it is operated. If it was somewhere\n * else, nothing moves: a background save does not take the caret out of\n * another form.\n */\n effect((onCleanup) => {\n const panel = this.panelRef()?.nativeElement;\n if (!this.painted() || panel === undefined) return;\n const page = this.scope() === 'page';\n const cancellable = this.cancellable();\n\n const active = panel.ownerDocument.activeElement;\n const displaced =\n page || (active !== null && (this.contentRef()?.nativeElement.contains(active) ?? false));\n if (!displaced) return;\n\n const scope = createFocusScope(panel, {\n contain: page,\n initial: cancellable\n ? () => panel.querySelector<HTMLElement>('[data-part=\"cancel\"]')\n : 'container',\n });\n scope.enter();\n onCleanup(() => scope.destroy());\n });\n }\n\n /**\n * `Escape` in region scope, where there is no dismissable layer to take it.\n * The listener is on the layer rather than on the document, so the key only\n * asks when focus is inside the thing it is about: an overlay covering a card\n * in the corner of a page has no claim on a key pressed elsewhere.\n */\n protected onEscape(event: Event) {\n if (this.scope() === 'page' || !this.cancellable()) return;\n event.stopPropagation();\n this.ask('escape', event);\n }\n\n /**\n * Public because the projection directive below calls it: a consumer's own\n * control is the same ask as the family's own.\n */\n requestCancel(source: Event) {\n this.ask('dismiss', source);\n }\n\n private ask(reason: LoadingOverlayCancelReason, source: Event) {\n this.cancel.emit({ reason, source });\n }\n\n /**\n * One step of the shared machine, plus at most one timer. The rule lives in\n * `@slotted/core/loading` rather than here so React and Angular cannot\n * disagree about when a layer appears — a difference no test that looked at\n * either binding alone would report.\n */\n private settle(request: { loading: boolean; delay: number; minDuration: number }) {\n clearTimeout(this.timer);\n const answer = nextLoadingVisibility({ ...request, now: Date.now(), state: this.machine });\n this.machine = answer.state;\n\n const was = this.painted();\n this.painted.set(answer.state.visible);\n if (was && !answer.state.visible) this.reveal.emit();\n\n if (answer.wait === null) return;\n this.timer = setTimeout(() => this.settle(request), answer.wait);\n }\n}\n\n/**\n * Absence has to survive the transform. `numberAttribute` maps an unset input\n * to `NaN`, and `NaN` is a value: it would stop the application's own timing\n * decision from ever reaching an overlay that says nothing.\n */\nfunction optionalNumber(value: unknown): number | undefined {\n return value === undefined || value === null || value === '' ? undefined : numberAttribute(value);\n}\n\n/**\n * A consumer's own control, put where the family's would have been.\n *\n * It writes the part and takes the press; everything else about the element is\n * the consumer's, including its paint — the family's own control rules are\n * written `:not([data-ui])`, so a `sl-button` here is a button and not a button\n * wearing this family's clothes as well.\n */\n@Directive({\n selector: '[slLoadingOverlayCancel]',\n standalone: true,\n host: {\n 'data-part': 'cancel',\n 'data-part-cancel': '',\n '(click)': 'overlay.requestCancel($event)',\n },\n})\nexport class SlLoadingOverlayCancel {\n protected readonly overlay = inject(SlLoadingOverlay);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -230,9 +230,9 @@ class SlMarkdown {
230
230
  }
231
231
  }
232
232
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlMarkdown, deps: [], target: i0.ɵɵFactoryTarget.Component });
233
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.7", type: SlMarkdown, isStandalone: true, selector: "[slMarkdown]", inputs: { tree: { classPropertyName: "tree", publicName: "tree", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, flow: { classPropertyName: "flow", publicName: "flow", isSignal: true, isRequired: false, transformFunction: null }, status: { classPropertyName: "status", publicName: "status", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, streaming: { classPropertyName: "streaming", publicName: "streaming", isSignal: true, isRequired: false, transformFunction: null }, external: { classPropertyName: "external", publicName: "external", isSignal: true, isRequired: false, transformFunction: null }, headingAnchors: { classPropertyName: "headingAnchors", publicName: "headingAnchors", isSignal: true, isRequired: false, transformFunction: null }, headingOffset: { classPropertyName: "headingOffset", publicName: "headingOffset", isSignal: true, isRequired: false, transformFunction: null }, idPrefix: { classPropertyName: "idPrefix", publicName: "idPrefix", isSignal: true, isRequired: false, transformFunction: null }, alerts: { classPropertyName: "alerts", publicName: "alerts", isSignal: true, isRequired: false, transformFunction: null }, allow: { classPropertyName: "allow", publicName: "allow", isSignal: true, isRequired: false, transformFunction: null }, unwrapDisallowed: { classPropertyName: "unwrapDisallowed", publicName: "unwrapDisallowed", isSignal: true, isRequired: false, transformFunction: null }, transformUrl: { classPropertyName: "transformUrl", publicName: "transformUrl", isSignal: true, isRequired: false, transformFunction: null }, isExternal: { classPropertyName: "isExternal", publicName: "isExternal", isSignal: true, isRequired: false, transformFunction: null }, messages: { classPropertyName: "messages", publicName: "messages", isSignal: true, isRequired: false, transformFunction: null }, editableTasks: { classPropertyName: "editableTasks", publicName: "editableTasks", isSignal: true, isRequired: false, transformFunction: null }, retryable: { classPropertyName: "retryable", publicName: "retryable", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { taskChange: "taskChange", retry: "retry" }, host: { attributes: { "data-ui": "markdown", "data-part": "root" }, properties: { "attr.data-status": "status()", "attr.data-flow": "resolvedFlow()", "attr.data-loading": "painted() ? '' : null", "attr.data-empty": "status() === 'ready' && !painted() && document().empty ? '' : null", "attr.data-streaming": "streaming() ? '' : null", "attr.aria-busy": "streaming() || painted() ? 'true' : null" } }, queries: [{ propertyName: "templates", predicate: SlMarkdownNode, isSignal: true }], viewQueries: [{ propertyName: "nodesTemplate", first: true, predicate: ["nodes"], descendants: true, isSignal: true }], exportAs: ["slMarkdown"], ngImport: i0, template: `
233
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.7", type: SlMarkdown, isStandalone: true, selector: "[slMarkdown]", inputs: { tree: { classPropertyName: "tree", publicName: "tree", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, flow: { classPropertyName: "flow", publicName: "flow", isSignal: true, isRequired: false, transformFunction: null }, status: { classPropertyName: "status", publicName: "status", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, streaming: { classPropertyName: "streaming", publicName: "streaming", isSignal: true, isRequired: false, transformFunction: null }, external: { classPropertyName: "external", publicName: "external", isSignal: true, isRequired: false, transformFunction: null }, headingAnchors: { classPropertyName: "headingAnchors", publicName: "headingAnchors", isSignal: true, isRequired: false, transformFunction: null }, headingOffset: { classPropertyName: "headingOffset", publicName: "headingOffset", isSignal: true, isRequired: false, transformFunction: null }, idPrefix: { classPropertyName: "idPrefix", publicName: "idPrefix", isSignal: true, isRequired: false, transformFunction: null }, alerts: { classPropertyName: "alerts", publicName: "alerts", isSignal: true, isRequired: false, transformFunction: null }, allow: { classPropertyName: "allow", publicName: "allow", isSignal: true, isRequired: false, transformFunction: null }, unwrapDisallowed: { classPropertyName: "unwrapDisallowed", publicName: "unwrapDisallowed", isSignal: true, isRequired: false, transformFunction: null }, transformUrl: { classPropertyName: "transformUrl", publicName: "transformUrl", isSignal: true, isRequired: false, transformFunction: null }, isExternal: { classPropertyName: "isExternal", publicName: "isExternal", isSignal: true, isRequired: false, transformFunction: null }, messages: { classPropertyName: "messages", publicName: "messages", isSignal: true, isRequired: false, transformFunction: null }, editableTasks: { classPropertyName: "editableTasks", publicName: "editableTasks", isSignal: true, isRequired: false, transformFunction: null }, retryable: { classPropertyName: "retryable", publicName: "retryable", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { taskChange: "taskChange", retry: "retry" }, host: { attributes: { "data-ui": "markdown", "data-ui-markdown": "", "data-part": "root", "data-part-root": "" }, properties: { "attr.data-status": "status()", "attr.data-flow": "resolvedFlow()", "attr.data-loading": "painted() ? '' : null", "attr.data-empty": "status() === 'ready' && !painted() && document().empty ? '' : null", "attr.data-streaming": "streaming() ? '' : null", "attr.aria-busy": "streaming() || painted() ? 'true' : null" } }, queries: [{ propertyName: "templates", predicate: SlMarkdownNode, isSignal: true }], viewQueries: [{ propertyName: "nodesTemplate", first: true, predicate: ["nodes"], descendants: true, isSignal: true }], exportAs: ["slMarkdown"], ngImport: i0, template: `
234
234
  @if (status() === 'error') {
235
- <div data-part="error">
235
+ <div data-part="error" data-part-error="">
236
236
  <p slInlineMessage tone="danger">{{ t('error') }}</p>
237
237
  @if (retryable()) {
238
238
  <button
@@ -255,7 +255,7 @@ class SlMarkdown {
255
255
  </div>
256
256
  } @else if (document().empty) {
257
257
  @if (!loading()) {
258
- <p data-part="empty">
258
+ <p data-part="empty" data-part-empty="">
259
259
  <ng-content select="[slMarkdownEmpty]">{{ t('empty') }}</ng-content>
260
260
  </p>
261
261
  }
@@ -296,6 +296,7 @@ class SlMarkdown {
296
296
  @for (reference of footnote.references; track reference; let index = $index) {
297
297
  <a
298
298
  data-part="backref"
299
+ data-part-backref=""
299
300
  [href]="'#' + reference"
300
301
  [attr.aria-label]="t('backReference', { number: footnote.number, occurrence: index + 1 })"
301
302
  ><span slIcon><svg slGlyph name="arrow-left"></svg></span
@@ -381,12 +382,12 @@ class SlMarkdown {
381
382
  }
382
383
  }
383
384
  @case ('alert') {
384
- <div data-part="embed">
385
+ <div data-part="embed" data-part-embed="">
385
386
  <section slAlert reach="section" live="off" [tone]="element.tone">
386
387
  <div slAlertContent>
387
388
  <div slAlertTitle>{{ alertTitle(element) }}</div>
388
389
  <div slAlertDescription>
389
- <div data-part="alert-body">
390
+ <div data-part="alert-body" data-part-alert-body="">
390
391
  <ng-container
391
392
  *ngTemplateOutlet="nodes; context: { $implicit: element.children }"
392
393
  />
@@ -400,6 +401,7 @@ class SlMarkdown {
400
401
  @if (element.ordered) {
401
402
  <ol
402
403
  [attr.data-part]="element.task ? 'task-list' : null"
404
+ [attr.data-part-task-list]="element.task ? '' : null"
403
405
  [attr.start]="element.start"
404
406
  >
405
407
  <ng-container
@@ -407,7 +409,10 @@ class SlMarkdown {
407
409
  />
408
410
  </ol>
409
411
  } @else {
410
- <ul [attr.data-part]="element.task ? 'task-list' : null">
412
+ <ul
413
+ [attr.data-part]="element.task ? 'task-list' : null"
414
+ [attr.data-part-task-list]="element.task ? '' : null"
415
+ >
411
416
  <ng-container
412
417
  *ngTemplateOutlet="nodes; context: { $implicit: element.children }"
413
418
  />
@@ -422,7 +427,7 @@ class SlMarkdown {
422
427
  />
423
428
  </li>
424
429
  } @else {
425
- <li data-part="task">
430
+ <li data-part="task" data-part-task="">
426
431
  <div
427
432
  slCheckbox
428
433
  [checked]="element.checked"
@@ -431,7 +436,7 @@ class SlMarkdown {
431
436
  >
432
437
  <span slVisuallyHidden>{{ element.label }}</span>
433
438
  </div>
434
- <div data-part="task-body">
439
+ <div data-part="task-body" data-part-task-body="">
435
440
  <ng-container
436
441
  *ngTemplateOutlet="nodes; context: { $implicit: element.children }"
437
442
  />
@@ -440,7 +445,7 @@ class SlMarkdown {
440
445
  }
441
446
  }
442
447
  @case ('code') {
443
- <div data-part="embed">
448
+ <div data-part="embed" data-part-embed="">
444
449
  <div
445
450
  slCodeBlock
446
451
  [code]="element.code"
@@ -537,7 +542,7 @@ class SlMarkdown {
537
542
  >
538
543
  }
539
544
  </ng-template>
540
- `, isInline: true, styles: ["@layer slotted.components{[data-ui=markdown][data-part=root]{display:block;min-inline-size:0}[data-ui=markdown] [data-part=task]{display:grid;grid-template-columns:calc(var(--slotted-prose-list-inset, 1.5em) + var(--slotted-prose-marker-gap, .25em)) minmax(0,1fr);list-style:none;margin-inline-start:calc(-1 * var(--slotted-prose-list-inset, 1.5em));padding-inline-start:0}[data-ui=markdown] [data-part=task]>:first-child{justify-self:end;margin-block-start:calc((1lh - var(--slotted-control-font-size-md, 13px) * var(--slotted-line-height-md, 1.5)) / 2);margin-inline-end:var(--slotted-markdown-task-gap, var(--slotted-space-3))}[data-ui=markdown] [data-part=task-body]{min-inline-size:0}[data-ui=markdown] [data-part=embed]{margin-block:var(--slotted-prose-flow-normal, 1.15em) 0}[data-ui=markdown][data-flow=tight] [data-part=embed]{margin-block-start:var(--slotted-prose-flow-tight, .75em)}[data-ui=markdown][data-flow=loose] [data-part=embed]{margin-block-start:var(--slotted-prose-flow-loose, 1.6em)}[data-ui=markdown] [data-part=embed]:first-child,[data-ui=markdown] [data-part=alert-body]>:first-child{margin-block-start:0}[data-ui=markdown] :where(th,td)[data-align=start]{text-align:start}[data-ui=markdown] :where(th,td)[data-align=center]{text-align:center}[data-ui=markdown] :where(th,td)[data-align=end]{text-align:end}[data-ui=markdown] [data-part=backref]{--_glyph: var(--slotted-markdown-backref-size, .9em);--_box: var(--slotted-target-min, 24px);--slotted-icon-size: var(--_glyph);block-size:var(--_box);display:inline-block;inline-size:var(--_box);margin-inline-start:var(--slotted-space-1);position:relative;vertical-align:calc(.5cap - .5 * var(--_box))}[data-ui=markdown] [data-part=backref]>[data-ui=icon]{inset:0;margin:auto;position:absolute;rotate:90deg}[data-ui=markdown] [data-part=empty]{color:var(--slotted-text-muted);font-family:var(--slotted-font-family-sans);font-size:var(--slotted-font-size-md);line-height:var(--slotted-line-height-md);margin:0}[data-ui=markdown] [data-part=error]{align-items:center;display:flex;flex-wrap:wrap;gap:var(--slotted-space-3) var(--slotted-space-4)}@media print{[data-ui=markdown] a[href^=http]:after{content:\" (\" attr(href) \")\";font-size:.875em;overflow-wrap:anywhere}}}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SlAlert, selector: "[slAlert]", inputs: ["tone", "variant", "reach", "live", "hideIcon", "dismissible", "messages", "open", "defaultOpen", "restoreFocus"], outputs: ["openChange"], exportAs: ["slAlert"] }, { kind: "directive", type: SlAlertContent, selector: "[slAlertContent]", exportAs: ["slAlertContent"] }, { kind: "directive", type: SlAlertDescription, selector: "[slAlertDescription]", exportAs: ["slAlertDescription"] }, { kind: "component", type: SlAlertTitle, selector: "[slAlertTitle]", exportAs: ["slAlertTitle"] }, { kind: "component", type: SlButton, selector: "button[slButton]", inputs: ["disabled", "focusableWhenDisabled", "fullWidth", "loading", "loadingDelay", "messages", "size", "tone", "type", "variant"], exportAs: ["slButton"] }, { kind: "component", type: SlCheckbox, selector: "[slCheckbox]", inputs: ["checked", "defaultChecked", "indeterminate", "parent", "value", "name", "size", "labelPlacement", "variant", "disabled", "readOnly", "invalid"], outputs: ["checkedChange"], exportAs: ["slCheckbox"] }, { kind: "component", type: SlCodeBlock, selector: "[slCodeBlock]", inputs: ["code", "language", "highlight", "tokens", "title", "fileName", "lineNumbers", "start", "marks", "wrap", "defaultWrap", "collapseAfter", "revealed", "defaultRevealed", "maxLines", "copy", "copyRemoved", "loading", "messages", "tabSize"], outputs: ["wrapChange", "revealedChange", "wrapChangeRequest", "revealedChangeRequest", "copyRequest", "highlightError"], exportAs: ["slCodeBlock"] }, { kind: "component", type: SlGlyph, selector: "svg[slGlyph]", inputs: ["name", "solid"] }, { kind: "component", type: SlIcon, selector: "[slIcon]", inputs: ["directional", "label", "size", "tone"], exportAs: ["slIcon"] }, { kind: "component", type: SlInlineMessage, selector: "[slInlineMessage]", inputs: ["tone", "size", "live", "mark", "prefix", "hideIcon", "loading", "disabled", "reserve", "id"], exportAs: ["slInlineMessage"] }, { kind: "component", type: SlLink, selector: "a[slLink]", inputs: ["disabled", "external", "messages", "underline", "variant", "visited"], exportAs: ["slLink"] }, { kind: "component", type: SlProse, selector: "[slProse]", inputs: ["size", "flow"], exportAs: ["slProse"] }, { kind: "directive", type: SlProseAnchor, selector: "[slProseAnchor]", exportAs: ["slProseAnchor"] }, { kind: "directive", type: SlProseFootnotes, selector: "[slProseFootnotes]", exportAs: ["slProseFootnotes"] }, { kind: "directive", type: SlProseScroll, selector: "[slProseScroll]", inputs: ["messages", "labelledBy"], exportAs: ["slProseScroll"] }, { kind: "component", type: SlSkeletonRegion, selector: "[slSkeletonRegion]", inputs: ["loading", "animation", "live", "messages", "loadedLabel", "delay", "minDuration"], outputs: ["reveal"], exportAs: ["slSkeletonRegion"] }, { kind: "component", type: SlSkeletonText, selector: "[slSkeletonText]", inputs: ["lines", "animation", "loading", "lastLineSize", "inlineSize"], exportAs: ["slSkeletonText"] }, { kind: "component", type: SlVisuallyHidden, selector: "[slVisuallyHidden]", inputs: ["focusable"], exportAs: ["slVisuallyHidden"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
545
+ `, isInline: true, styles: ["@layer slotted.components{[data-ui-markdown][data-part-root]{display:block;min-inline-size:0}[data-ui-markdown] [data-part-task]{display:grid;grid-template-columns:calc(var(--slotted-prose-list-inset, 1.5em) + var(--slotted-prose-marker-gap, .25em)) minmax(0,1fr);list-style:none;margin-inline-start:calc(-1 * var(--slotted-prose-list-inset, 1.5em));padding-inline-start:0}[data-ui-markdown] [data-part-task]>:first-child{justify-self:end;margin-block-start:calc((1lh - var(--slotted-control-font-size-md, 13px) * var(--slotted-line-height-md, 1.5)) / 2);margin-inline-end:var(--slotted-markdown-task-gap, var(--slotted-space-3))}[data-ui-markdown] [data-part-task-body]{min-inline-size:0}[data-ui-markdown] [data-part-embed]{margin-block:var(--slotted-prose-flow-normal, 1.15em) 0}[data-ui-markdown][data-flow=tight] [data-part-embed]{margin-block-start:var(--slotted-prose-flow-tight, .75em)}[data-ui-markdown][data-flow=loose] [data-part-embed]{margin-block-start:var(--slotted-prose-flow-loose, 1.6em)}[data-ui-markdown] [data-part-embed]:first-child,[data-ui-markdown] [data-part-alert-body]>:first-child{margin-block-start:0}[data-ui-markdown] :where(th,td)[data-align=start]{text-align:start}[data-ui-markdown] :where(th,td)[data-align=center]{text-align:center}[data-ui-markdown] :where(th,td)[data-align=end]{text-align:end}[data-ui-markdown] [data-part-backref]{--_glyph: var(--slotted-markdown-backref-size, .9em);--_box: var(--slotted-target-min, 24px);--slotted-icon-size: var(--_glyph);block-size:var(--_box);display:inline-block;inline-size:var(--_box);margin-inline-start:var(--slotted-space-1);position:relative;vertical-align:calc(.5cap - .5 * var(--_box))}[data-ui-markdown] [data-part-backref]>[data-ui-icon]{inset:0;margin:auto;position:absolute;rotate:90deg}[data-ui-markdown] [data-part-empty]{color:var(--slotted-text-muted);font-family:var(--slotted-font-family-sans);font-size:var(--slotted-font-size-md);line-height:var(--slotted-line-height-md);margin:0}[data-ui-markdown] [data-part-error]{align-items:center;display:flex;flex-wrap:wrap;gap:var(--slotted-space-3) var(--slotted-space-4)}@media print{[data-ui-markdown] a[href^=http]:after{content:\" (\" attr(href) \")\";font-size:.875em;overflow-wrap:anywhere}}}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SlAlert, selector: "[slAlert]", inputs: ["tone", "variant", "reach", "live", "hideIcon", "dismissible", "messages", "open", "defaultOpen", "restoreFocus"], outputs: ["openChange"], exportAs: ["slAlert"] }, { kind: "directive", type: SlAlertContent, selector: "[slAlertContent]", exportAs: ["slAlertContent"] }, { kind: "directive", type: SlAlertDescription, selector: "[slAlertDescription]", exportAs: ["slAlertDescription"] }, { kind: "component", type: SlAlertTitle, selector: "[slAlertTitle]", exportAs: ["slAlertTitle"] }, { kind: "component", type: SlButton, selector: "button[slButton]", inputs: ["disabled", "focusableWhenDisabled", "fullWidth", "justify", "loading", "loadingDelay", "messages", "size", "tone", "type", "variant"], exportAs: ["slButton"] }, { kind: "component", type: SlCheckbox, selector: "[slCheckbox]", inputs: ["checked", "defaultChecked", "indeterminate", "parent", "value", "name", "tabIndex", "size", "labelPlacement", "variant", "disabled", "readOnly", "invalid"], outputs: ["checkedChange"], exportAs: ["slCheckbox"] }, { kind: "component", type: SlCodeBlock, selector: "[slCodeBlock]", inputs: ["code", "language", "highlight", "tokens", "title", "fileName", "lineNumbers", "start", "marks", "wrap", "defaultWrap", "collapseAfter", "revealed", "defaultRevealed", "maxLines", "copy", "copyRemoved", "loading", "messages", "tabSize"], outputs: ["wrapChange", "revealedChange", "wrapChangeRequest", "revealedChangeRequest", "copyRequest", "highlightError"], exportAs: ["slCodeBlock"] }, { kind: "component", type: SlGlyph, selector: "svg[slGlyph]", inputs: ["name", "solid"] }, { kind: "component", type: SlIcon, selector: "[slIcon]", inputs: ["directional", "label", "size", "tone"], exportAs: ["slIcon"] }, { kind: "component", type: SlInlineMessage, selector: "[slInlineMessage]", inputs: ["tone", "size", "live", "mark", "prefix", "hideIcon", "loading", "disabled", "reserve", "id"], exportAs: ["slInlineMessage"] }, { kind: "component", type: SlLink, selector: "a[slLink]", inputs: ["disabled", "external", "messages", "underline", "variant", "visited"], exportAs: ["slLink"] }, { kind: "component", type: SlProse, selector: "[slProse]", inputs: ["size", "flow"], exportAs: ["slProse"] }, { kind: "directive", type: SlProseAnchor, selector: "[slProseAnchor]", exportAs: ["slProseAnchor"] }, { kind: "directive", type: SlProseFootnotes, selector: "[slProseFootnotes]", exportAs: ["slProseFootnotes"] }, { kind: "directive", type: SlProseScroll, selector: "[slProseScroll]", inputs: ["messages", "labelledBy"], exportAs: ["slProseScroll"] }, { kind: "component", type: SlSkeletonRegion, selector: "[slSkeletonRegion]", inputs: ["loading", "animation", "live", "messages", "loadedLabel", "delay", "minDuration"], outputs: ["reveal"], exportAs: ["slSkeletonRegion"] }, { kind: "component", type: SlSkeletonText, selector: "[slSkeletonText]", inputs: ["lines", "animation", "loading", "lastLineSize", "inlineSize"], exportAs: ["slSkeletonText"] }, { kind: "component", type: SlVisuallyHidden, selector: "[slVisuallyHidden]", inputs: ["focusable"], exportAs: ["slVisuallyHidden"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
541
546
  }
542
547
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlMarkdown, decorators: [{
543
548
  type: Component,
@@ -563,7 +568,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
563
568
  SlVisuallyHidden,
564
569
  ], template: `
565
570
  @if (status() === 'error') {
566
- <div data-part="error">
571
+ <div data-part="error" data-part-error="">
567
572
  <p slInlineMessage tone="danger">{{ t('error') }}</p>
568
573
  @if (retryable()) {
569
574
  <button
@@ -586,7 +591,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
586
591
  </div>
587
592
  } @else if (document().empty) {
588
593
  @if (!loading()) {
589
- <p data-part="empty">
594
+ <p data-part="empty" data-part-empty="">
590
595
  <ng-content select="[slMarkdownEmpty]">{{ t('empty') }}</ng-content>
591
596
  </p>
592
597
  }
@@ -627,6 +632,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
627
632
  @for (reference of footnote.references; track reference; let index = $index) {
628
633
  <a
629
634
  data-part="backref"
635
+ data-part-backref=""
630
636
  [href]="'#' + reference"
631
637
  [attr.aria-label]="t('backReference', { number: footnote.number, occurrence: index + 1 })"
632
638
  ><span slIcon><svg slGlyph name="arrow-left"></svg></span
@@ -712,12 +718,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
712
718
  }
713
719
  }
714
720
  @case ('alert') {
715
- <div data-part="embed">
721
+ <div data-part="embed" data-part-embed="">
716
722
  <section slAlert reach="section" live="off" [tone]="element.tone">
717
723
  <div slAlertContent>
718
724
  <div slAlertTitle>{{ alertTitle(element) }}</div>
719
725
  <div slAlertDescription>
720
- <div data-part="alert-body">
726
+ <div data-part="alert-body" data-part-alert-body="">
721
727
  <ng-container
722
728
  *ngTemplateOutlet="nodes; context: { $implicit: element.children }"
723
729
  />
@@ -731,6 +737,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
731
737
  @if (element.ordered) {
732
738
  <ol
733
739
  [attr.data-part]="element.task ? 'task-list' : null"
740
+ [attr.data-part-task-list]="element.task ? '' : null"
734
741
  [attr.start]="element.start"
735
742
  >
736
743
  <ng-container
@@ -738,7 +745,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
738
745
  />
739
746
  </ol>
740
747
  } @else {
741
- <ul [attr.data-part]="element.task ? 'task-list' : null">
748
+ <ul
749
+ [attr.data-part]="element.task ? 'task-list' : null"
750
+ [attr.data-part-task-list]="element.task ? '' : null"
751
+ >
742
752
  <ng-container
743
753
  *ngTemplateOutlet="nodes; context: { $implicit: element.children }"
744
754
  />
@@ -753,7 +763,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
753
763
  />
754
764
  </li>
755
765
  } @else {
756
- <li data-part="task">
766
+ <li data-part="task" data-part-task="">
757
767
  <div
758
768
  slCheckbox
759
769
  [checked]="element.checked"
@@ -762,7 +772,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
762
772
  >
763
773
  <span slVisuallyHidden>{{ element.label }}</span>
764
774
  </div>
765
- <div data-part="task-body">
775
+ <div data-part="task-body" data-part-task-body="">
766
776
  <ng-container
767
777
  *ngTemplateOutlet="nodes; context: { $implicit: element.children }"
768
778
  />
@@ -771,7 +781,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
771
781
  }
772
782
  }
773
783
  @case ('code') {
774
- <div data-part="embed">
784
+ <div data-part="embed" data-part-embed="">
775
785
  <div
776
786
  slCodeBlock
777
787
  [code]="element.code"
@@ -870,14 +880,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
870
880
  </ng-template>
871
881
  `, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
872
882
  'data-ui': 'markdown',
883
+ 'data-ui-markdown': '',
873
884
  'data-part': 'root',
885
+ 'data-part-root': '',
874
886
  '[attr.data-status]': 'status()',
875
887
  '[attr.data-flow]': 'resolvedFlow()',
876
888
  '[attr.data-loading]': "painted() ? '' : null",
877
889
  '[attr.data-empty]': "status() === 'ready' && !painted() && document().empty ? '' : null",
878
890
  '[attr.data-streaming]': "streaming() ? '' : null",
879
891
  '[attr.aria-busy]': "streaming() || painted() ? 'true' : null",
880
- }, styles: ["@layer slotted.components{[data-ui=markdown][data-part=root]{display:block;min-inline-size:0}[data-ui=markdown] [data-part=task]{display:grid;grid-template-columns:calc(var(--slotted-prose-list-inset, 1.5em) + var(--slotted-prose-marker-gap, .25em)) minmax(0,1fr);list-style:none;margin-inline-start:calc(-1 * var(--slotted-prose-list-inset, 1.5em));padding-inline-start:0}[data-ui=markdown] [data-part=task]>:first-child{justify-self:end;margin-block-start:calc((1lh - var(--slotted-control-font-size-md, 13px) * var(--slotted-line-height-md, 1.5)) / 2);margin-inline-end:var(--slotted-markdown-task-gap, var(--slotted-space-3))}[data-ui=markdown] [data-part=task-body]{min-inline-size:0}[data-ui=markdown] [data-part=embed]{margin-block:var(--slotted-prose-flow-normal, 1.15em) 0}[data-ui=markdown][data-flow=tight] [data-part=embed]{margin-block-start:var(--slotted-prose-flow-tight, .75em)}[data-ui=markdown][data-flow=loose] [data-part=embed]{margin-block-start:var(--slotted-prose-flow-loose, 1.6em)}[data-ui=markdown] [data-part=embed]:first-child,[data-ui=markdown] [data-part=alert-body]>:first-child{margin-block-start:0}[data-ui=markdown] :where(th,td)[data-align=start]{text-align:start}[data-ui=markdown] :where(th,td)[data-align=center]{text-align:center}[data-ui=markdown] :where(th,td)[data-align=end]{text-align:end}[data-ui=markdown] [data-part=backref]{--_glyph: var(--slotted-markdown-backref-size, .9em);--_box: var(--slotted-target-min, 24px);--slotted-icon-size: var(--_glyph);block-size:var(--_box);display:inline-block;inline-size:var(--_box);margin-inline-start:var(--slotted-space-1);position:relative;vertical-align:calc(.5cap - .5 * var(--_box))}[data-ui=markdown] [data-part=backref]>[data-ui=icon]{inset:0;margin:auto;position:absolute;rotate:90deg}[data-ui=markdown] [data-part=empty]{color:var(--slotted-text-muted);font-family:var(--slotted-font-family-sans);font-size:var(--slotted-font-size-md);line-height:var(--slotted-line-height-md);margin:0}[data-ui=markdown] [data-part=error]{align-items:center;display:flex;flex-wrap:wrap;gap:var(--slotted-space-3) var(--slotted-space-4)}@media print{[data-ui=markdown] a[href^=http]:after{content:\" (\" attr(href) \")\";font-size:.875em;overflow-wrap:anywhere}}}\n"] }]
892
+ }, styles: ["@layer slotted.components{[data-ui-markdown][data-part-root]{display:block;min-inline-size:0}[data-ui-markdown] [data-part-task]{display:grid;grid-template-columns:calc(var(--slotted-prose-list-inset, 1.5em) + var(--slotted-prose-marker-gap, .25em)) minmax(0,1fr);list-style:none;margin-inline-start:calc(-1 * var(--slotted-prose-list-inset, 1.5em));padding-inline-start:0}[data-ui-markdown] [data-part-task]>:first-child{justify-self:end;margin-block-start:calc((1lh - var(--slotted-control-font-size-md, 13px) * var(--slotted-line-height-md, 1.5)) / 2);margin-inline-end:var(--slotted-markdown-task-gap, var(--slotted-space-3))}[data-ui-markdown] [data-part-task-body]{min-inline-size:0}[data-ui-markdown] [data-part-embed]{margin-block:var(--slotted-prose-flow-normal, 1.15em) 0}[data-ui-markdown][data-flow=tight] [data-part-embed]{margin-block-start:var(--slotted-prose-flow-tight, .75em)}[data-ui-markdown][data-flow=loose] [data-part-embed]{margin-block-start:var(--slotted-prose-flow-loose, 1.6em)}[data-ui-markdown] [data-part-embed]:first-child,[data-ui-markdown] [data-part-alert-body]>:first-child{margin-block-start:0}[data-ui-markdown] :where(th,td)[data-align=start]{text-align:start}[data-ui-markdown] :where(th,td)[data-align=center]{text-align:center}[data-ui-markdown] :where(th,td)[data-align=end]{text-align:end}[data-ui-markdown] [data-part-backref]{--_glyph: var(--slotted-markdown-backref-size, .9em);--_box: var(--slotted-target-min, 24px);--slotted-icon-size: var(--_glyph);block-size:var(--_box);display:inline-block;inline-size:var(--_box);margin-inline-start:var(--slotted-space-1);position:relative;vertical-align:calc(.5cap - .5 * var(--_box))}[data-ui-markdown] [data-part-backref]>[data-ui-icon]{inset:0;margin:auto;position:absolute;rotate:90deg}[data-ui-markdown] [data-part-empty]{color:var(--slotted-text-muted);font-family:var(--slotted-font-family-sans);font-size:var(--slotted-font-size-md);line-height:var(--slotted-line-height-md);margin:0}[data-ui-markdown] [data-part-error]{align-items:center;display:flex;flex-wrap:wrap;gap:var(--slotted-space-3) var(--slotted-space-4)}@media print{[data-ui-markdown] a[href^=http]:after{content:\" (\" attr(href) \")\";font-size:.875em;overflow-wrap:anywhere}}}\n"] }]
881
893
  }], ctorParameters: () => [], propDecorators: { tree: [{ type: i0.Input, args: [{ isSignal: true, alias: "tree", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], flow: [{ type: i0.Input, args: [{ isSignal: true, alias: "flow", required: false }] }], status: [{ type: i0.Input, args: [{ isSignal: true, alias: "status", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], streaming: [{ type: i0.Input, args: [{ isSignal: true, alias: "streaming", required: false }] }], external: [{ type: i0.Input, args: [{ isSignal: true, alias: "external", required: false }] }], headingAnchors: [{ type: i0.Input, args: [{ isSignal: true, alias: "headingAnchors", required: false }] }], headingOffset: [{ type: i0.Input, args: [{ isSignal: true, alias: "headingOffset", required: false }] }], idPrefix: [{ type: i0.Input, args: [{ isSignal: true, alias: "idPrefix", required: false }] }], alerts: [{ type: i0.Input, args: [{ isSignal: true, alias: "alerts", required: false }] }], allow: [{ type: i0.Input, args: [{ isSignal: true, alias: "allow", required: false }] }], unwrapDisallowed: [{ type: i0.Input, args: [{ isSignal: true, alias: "unwrapDisallowed", required: false }] }], transformUrl: [{ type: i0.Input, args: [{ isSignal: true, alias: "transformUrl", required: false }] }], isExternal: [{ type: i0.Input, args: [{ isSignal: true, alias: "isExternal", required: false }] }], messages: [{ type: i0.Input, args: [{ isSignal: true, alias: "messages", required: false }] }], editableTasks: [{ type: i0.Input, args: [{ isSignal: true, alias: "editableTasks", required: false }] }], retryable: [{ type: i0.Input, args: [{ isSignal: true, alias: "retryable", required: false }] }], taskChange: [{ type: i0.Output, args: ["taskChange"] }], retry: [{ type: i0.Output, args: ["retry"] }], templates: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => SlMarkdownNode), { isSignal: true }] }], nodesTemplate: [{ type: i0.ViewChild, args: ['nodes', { isSignal: true }] }] } });
882
894
  /**
883
895
  * Renders an element's children inside a node template, adding no element of