@slotted/angular 0.1.0-beta.1 → 0.1.0-beta.11

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 (598) hide show
  1. package/README.md +4 -0
  2. package/docs/AGENTS.snippet.md +12 -0
  3. package/docs/action-bar.json +4 -4
  4. package/docs/action-bar.md +3 -3
  5. package/docs/alert.json +7 -1
  6. package/docs/alert.md +3 -3
  7. package/docs/app-shell.examples.md +1 -1
  8. package/docs/app-shell.json +5 -5
  9. package/docs/app-shell.md +2 -2
  10. package/docs/avatar.json +22 -1
  11. package/docs/avatar.md +5 -3
  12. package/docs/badge.json +7 -1
  13. package/docs/badge.md +3 -3
  14. package/docs/button-group.json +2 -0
  15. package/docs/button-group.md +1 -1
  16. package/docs/button.json +51 -11
  17. package/docs/button.md +10 -6
  18. package/docs/calendar.json +8 -1
  19. package/docs/calendar.md +3 -2
  20. package/docs/cascader.json +1 -0
  21. package/docs/cascader.md +1 -1
  22. package/docs/chart.examples.md +1 -1
  23. package/docs/chart.json +10 -1
  24. package/docs/chart.md +3 -2
  25. package/docs/checkbox.json +7 -0
  26. package/docs/checkbox.md +1 -0
  27. package/docs/code-block.json +92 -92
  28. package/docs/code-block.md +69 -69
  29. package/docs/combobox.json +1 -0
  30. package/docs/combobox.md +1 -1
  31. package/docs/command-palette.json +1 -0
  32. package/docs/command-palette.md +1 -1
  33. package/docs/currency-field.json +40 -1
  34. package/docs/currency-field.md +5 -1
  35. package/docs/data-grid.examples.md +2 -2
  36. package/docs/data-grid.json +45 -7
  37. package/docs/data-grid.md +3 -1
  38. package/docs/data-grid.props.md +7 -4
  39. package/docs/data-list.json +2 -1
  40. package/docs/data-list.md +1 -1
  41. package/docs/date-field.json +9 -1
  42. package/docs/date-field.md +3 -2
  43. package/docs/date-picker.examples.md +36 -0
  44. package/docs/date-picker.json +20 -5
  45. package/docs/date-picker.md +5 -4
  46. package/docs/datetime-field.json +1 -0
  47. package/docs/datetime-field.md +1 -1
  48. package/docs/detail-panel.json +4 -2
  49. package/docs/detail-panel.md +8 -3
  50. package/docs/dialog.examples.md +158 -136
  51. package/docs/dialog.json +36 -11
  52. package/docs/dialog.md +4 -2
  53. package/docs/dialog.props.md +1 -1
  54. package/docs/drawer.json +11 -4
  55. package/docs/drawer.md +4 -3
  56. package/docs/entity-picker.json +19 -4
  57. package/docs/entity-picker.md +8 -6
  58. package/docs/event-calendar.json +7 -0
  59. package/docs/event-calendar.md +3 -2
  60. package/docs/filter-bar.json +118 -118
  61. package/docs/filter-bar.md +79 -79
  62. package/docs/form.json +2 -1
  63. package/docs/form.md +1 -1
  64. package/docs/guidelines/README.md +27 -0
  65. package/docs/guidelines/async-feedback.md +129 -0
  66. package/docs/guidelines/browsing.md +74 -0
  67. package/docs/guidelines/builders.md +97 -0
  68. package/docs/guidelines/composition.md +143 -0
  69. package/docs/guidelines/conversations.md +59 -0
  70. package/docs/guidelines/errors-and-conflicts.md +71 -0
  71. package/docs/guidelines/forms.md +202 -0
  72. package/docs/guidelines/index.md +130 -0
  73. package/docs/guidelines/layout-alignment.md +105 -0
  74. package/docs/guidelines/ledgers.md +45 -0
  75. package/docs/guidelines/list-pages.md +206 -0
  76. package/docs/guidelines/overviews.md +76 -0
  77. package/docs/guidelines/own-elements.md +115 -0
  78. package/docs/guidelines/reading-permissions.md +55 -0
  79. package/docs/guidelines/record-pages.md +178 -0
  80. package/docs/guidelines/reports.md +123 -0
  81. package/docs/guidelines/shell-composition.md +94 -0
  82. package/docs/guidelines/workspaces.md +46 -0
  83. package/docs/icon.json +3 -1
  84. package/docs/icon.md +3 -3
  85. package/docs/index.md +12 -0
  86. package/docs/inline-message.json +14 -2
  87. package/docs/inline-message.md +4 -3
  88. package/docs/list-item.json +9 -1
  89. package/docs/list-item.md +3 -3
  90. package/docs/list.json +19 -1
  91. package/docs/list.md +3 -1
  92. package/docs/markdown.json +79 -79
  93. package/docs/markdown.md +65 -65
  94. package/docs/menu.json +12 -0
  95. package/docs/menu.md +2 -0
  96. package/docs/message.json +7 -1
  97. package/docs/message.md +3 -3
  98. package/docs/multi-select.json +1 -0
  99. package/docs/multi-select.md +1 -1
  100. package/docs/notification-center.json +4 -0
  101. package/docs/notification-center.md +2 -2
  102. package/docs/number-field.json +1 -0
  103. package/docs/number-field.md +1 -1
  104. package/docs/otp-input.json +1 -0
  105. package/docs/otp-input.md +1 -1
  106. package/docs/page-header.json +22 -5
  107. package/docs/page-header.md +6 -4
  108. package/docs/page.json +2 -0
  109. package/docs/page.md +2 -1
  110. package/docs/popover.json +1 -1
  111. package/docs/progress-indicator.json +4 -3
  112. package/docs/progress-indicator.md +4 -4
  113. package/docs/prompt-composer.json +41 -1
  114. package/docs/prompt-composer.md +5 -1
  115. package/docs/rating.json +5 -3
  116. package/docs/rating.md +6 -6
  117. package/docs/section.json +28 -16
  118. package/docs/section.md +12 -10
  119. package/docs/segmented-control.json +36 -12
  120. package/docs/segmented-control.md +17 -1
  121. package/docs/select.json +1 -0
  122. package/docs/select.md +1 -1
  123. package/docs/side-navigation.json +1 -0
  124. package/docs/side-navigation.md +1 -1
  125. package/docs/skills/build-own-element/SKILL.md +90 -0
  126. package/docs/skills/compose-screen/SKILL.md +103 -0
  127. package/docs/skills/index.md +9 -0
  128. package/docs/skills/review-screen/SKILL.md +79 -0
  129. package/docs/skills/theme-app/SKILL.md +98 -0
  130. package/docs/skills/waiting-states/SKILL.md +143 -0
  131. package/docs/sparkline.json +5 -2
  132. package/docs/sparkline.md +4 -4
  133. package/docs/split-button.json +4 -1
  134. package/docs/split-button.md +3 -3
  135. package/docs/stat-card.json +5 -1
  136. package/docs/stat-card.md +3 -3
  137. package/docs/table.examples.md +3 -3
  138. package/docs/table.json +85 -3
  139. package/docs/table.md +12 -1
  140. package/docs/tabs.json +17 -7
  141. package/docs/tabs.md +3 -2
  142. package/docs/tag.json +14 -4
  143. package/docs/tag.md +6 -6
  144. package/docs/tags-input.json +29 -2
  145. package/docs/tags-input.md +4 -1
  146. package/docs/text-field.json +2 -1
  147. package/docs/text-field.md +2 -2
  148. package/docs/textarea.json +1 -0
  149. package/docs/textarea.md +1 -1
  150. package/docs/time-field.json +1 -0
  151. package/docs/time-field.md +1 -1
  152. package/docs/timeline.json +138 -132
  153. package/docs/timeline.md +125 -125
  154. package/docs/toast.json +8 -1
  155. package/docs/toast.md +3 -3
  156. package/docs/toggle-group.json +14 -3
  157. package/docs/toggle-group.md +3 -3
  158. package/docs/toggle.json +12 -3
  159. package/docs/toggle.md +3 -3
  160. package/docs/tokens.md +467 -0
  161. package/docs/toolbar.json +1 -1
  162. package/docs/toolbar.md +1 -1
  163. package/docs/tour.json +1 -1
  164. package/docs/typography.json +4 -2
  165. package/docs/typography.md +5 -5
  166. package/fesm2022/slotted-angular-accordion.mjs +4 -2
  167. package/fesm2022/slotted-angular-accordion.mjs.map +1 -1
  168. package/fesm2022/slotted-angular-action-bar.mjs +27 -12
  169. package/fesm2022/slotted-angular-action-bar.mjs.map +1 -1
  170. package/fesm2022/slotted-angular-action-sheet.mjs +48 -29
  171. package/fesm2022/slotted-angular-action-sheet.mjs.map +1 -1
  172. package/fesm2022/slotted-angular-alert.mjs +18 -11
  173. package/fesm2022/slotted-angular-alert.mjs.map +1 -1
  174. package/fesm2022/slotted-angular-app-shell.mjs +111 -61
  175. package/fesm2022/slotted-angular-app-shell.mjs.map +1 -1
  176. package/fesm2022/slotted-angular-aspect-ratio.mjs +4 -2
  177. package/fesm2022/slotted-angular-aspect-ratio.mjs.map +1 -1
  178. package/fesm2022/slotted-angular-attachment.mjs +31 -20
  179. package/fesm2022/slotted-angular-attachment.mjs.map +1 -1
  180. package/fesm2022/slotted-angular-avatar-group.mjs +9 -6
  181. package/fesm2022/slotted-angular-avatar-group.mjs.map +1 -1
  182. package/fesm2022/slotted-angular-avatar.mjs +14 -7
  183. package/fesm2022/slotted-angular-avatar.mjs.map +1 -1
  184. package/fesm2022/slotted-angular-badge.mjs +14 -10
  185. package/fesm2022/slotted-angular-badge.mjs.map +1 -1
  186. package/fesm2022/slotted-angular-breadcrumb.mjs +26 -18
  187. package/fesm2022/slotted-angular-breadcrumb.mjs.map +1 -1
  188. package/fesm2022/slotted-angular-button-group.mjs +7 -4
  189. package/fesm2022/slotted-angular-button-group.mjs.map +1 -1
  190. package/fesm2022/slotted-angular-button.mjs +120 -29
  191. package/fesm2022/slotted-angular-button.mjs.map +1 -1
  192. package/fesm2022/slotted-angular-calendar.mjs +235 -58
  193. package/fesm2022/slotted-angular-calendar.mjs.map +1 -1
  194. package/fesm2022/slotted-angular-card.mjs +18 -16
  195. package/fesm2022/slotted-angular-card.mjs.map +1 -1
  196. package/fesm2022/slotted-angular-carousel.mjs +22 -11
  197. package/fesm2022/slotted-angular-carousel.mjs.map +1 -1
  198. package/fesm2022/slotted-angular-cascader.mjs +180 -66
  199. package/fesm2022/slotted-angular-cascader.mjs.map +1 -1
  200. package/fesm2022/slotted-angular-chart.mjs +53 -20
  201. package/fesm2022/slotted-angular-chart.mjs.map +1 -1
  202. package/fesm2022/slotted-angular-checkbox-group.mjs +5 -3
  203. package/fesm2022/slotted-angular-checkbox-group.mjs.map +1 -1
  204. package/fesm2022/slotted-angular-checkbox.mjs +23 -9
  205. package/fesm2022/slotted-angular-checkbox.mjs.map +1 -1
  206. package/fesm2022/slotted-angular-code-block.mjs +29 -15
  207. package/fesm2022/slotted-angular-code-block.mjs.map +1 -1
  208. package/fesm2022/slotted-angular-collapsible.mjs +20 -15
  209. package/fesm2022/slotted-angular-collapsible.mjs.map +1 -1
  210. package/fesm2022/slotted-angular-color-picker.mjs +77 -22
  211. package/fesm2022/slotted-angular-color-picker.mjs.map +1 -1
  212. package/fesm2022/slotted-angular-column-manager.mjs +68 -31
  213. package/fesm2022/slotted-angular-column-manager.mjs.map +1 -1
  214. package/fesm2022/slotted-angular-combobox.mjs +118 -39
  215. package/fesm2022/slotted-angular-combobox.mjs.map +1 -1
  216. package/fesm2022/slotted-angular-command-palette.mjs +162 -54
  217. package/fesm2022/slotted-angular-command-palette.mjs.map +1 -1
  218. package/fesm2022/slotted-angular-container.mjs +6 -4
  219. package/fesm2022/slotted-angular-container.mjs.map +1 -1
  220. package/fesm2022/slotted-angular-context-menu.mjs +5 -4
  221. package/fesm2022/slotted-angular-context-menu.mjs.map +1 -1
  222. package/fesm2022/slotted-angular-currency-field.mjs +149 -32
  223. package/fesm2022/slotted-angular-currency-field.mjs.map +1 -1
  224. package/fesm2022/slotted-angular-dashboard-grid.mjs +142 -63
  225. package/fesm2022/slotted-angular-dashboard-grid.mjs.map +1 -1
  226. package/fesm2022/slotted-angular-data-grid.mjs +480 -129
  227. package/fesm2022/slotted-angular-data-grid.mjs.map +1 -1
  228. package/fesm2022/slotted-angular-data-list.mjs +83 -50
  229. package/fesm2022/slotted-angular-data-list.mjs.map +1 -1
  230. package/fesm2022/slotted-angular-date-field.mjs +74 -25
  231. package/fesm2022/slotted-angular-date-field.mjs.map +1 -1
  232. package/fesm2022/slotted-angular-date-picker.mjs +112 -40
  233. package/fesm2022/slotted-angular-date-picker.mjs.map +1 -1
  234. package/fesm2022/slotted-angular-date-range-picker.mjs +45 -22
  235. package/fesm2022/slotted-angular-date-range-picker.mjs.map +1 -1
  236. package/fesm2022/slotted-angular-datetime-field.mjs +48 -16
  237. package/fesm2022/slotted-angular-datetime-field.mjs.map +1 -1
  238. package/fesm2022/slotted-angular-datetime-picker.mjs +41 -29
  239. package/fesm2022/slotted-angular-datetime-picker.mjs.map +1 -1
  240. package/fesm2022/slotted-angular-datetime-range-picker.mjs +115 -48
  241. package/fesm2022/slotted-angular-datetime-range-picker.mjs.map +1 -1
  242. package/fesm2022/slotted-angular-description-list.mjs +33 -19
  243. package/fesm2022/slotted-angular-description-list.mjs.map +1 -1
  244. package/fesm2022/slotted-angular-detail-panel.mjs +48 -30
  245. package/fesm2022/slotted-angular-detail-panel.mjs.map +1 -1
  246. package/fesm2022/slotted-angular-dialog.mjs +72 -30
  247. package/fesm2022/slotted-angular-dialog.mjs.map +1 -1
  248. package/fesm2022/slotted-angular-divider.mjs +7 -5
  249. package/fesm2022/slotted-angular-divider.mjs.map +1 -1
  250. package/fesm2022/slotted-angular-drawer.mjs +91 -37
  251. package/fesm2022/slotted-angular-drawer.mjs.map +1 -1
  252. package/fesm2022/slotted-angular-entity-picker.mjs +474 -75
  253. package/fesm2022/slotted-angular-entity-picker.mjs.map +1 -1
  254. package/fesm2022/slotted-angular-event-calendar.mjs +275 -108
  255. package/fesm2022/slotted-angular-event-calendar.mjs.map +1 -1
  256. package/fesm2022/slotted-angular-field-group.mjs +14 -7
  257. package/fesm2022/slotted-angular-field-group.mjs.map +1 -1
  258. package/fesm2022/slotted-angular-field.mjs +35 -15
  259. package/fesm2022/slotted-angular-field.mjs.map +1 -1
  260. package/fesm2022/slotted-angular-filter-bar.mjs +118 -51
  261. package/fesm2022/slotted-angular-filter-bar.mjs.map +1 -1
  262. package/fesm2022/slotted-angular-form.mjs +18 -10
  263. package/fesm2022/slotted-angular-form.mjs.map +1 -1
  264. package/fesm2022/slotted-angular-fullscreen.mjs +14 -8
  265. package/fesm2022/slotted-angular-fullscreen.mjs.map +1 -1
  266. package/fesm2022/slotted-angular-grid.mjs +4 -2
  267. package/fesm2022/slotted-angular-grid.mjs.map +1 -1
  268. package/fesm2022/slotted-angular-highlight.mjs +5 -3
  269. package/fesm2022/slotted-angular-highlight.mjs.map +1 -1
  270. package/fesm2022/slotted-angular-hover-card.mjs +5 -4
  271. package/fesm2022/slotted-angular-hover-card.mjs.map +1 -1
  272. package/fesm2022/slotted-angular-icon.mjs +6 -3
  273. package/fesm2022/slotted-angular-icon.mjs.map +1 -1
  274. package/fesm2022/slotted-angular-image.mjs +13 -10
  275. package/fesm2022/slotted-angular-image.mjs.map +1 -1
  276. package/fesm2022/slotted-angular-import-export-center.mjs +175 -99
  277. package/fesm2022/slotted-angular-import-export-center.mjs.map +1 -1
  278. package/fesm2022/slotted-angular-inline-message.mjs +88 -13
  279. package/fesm2022/slotted-angular-inline-message.mjs.map +1 -1
  280. package/fesm2022/slotted-angular-inline.mjs +4 -2
  281. package/fesm2022/slotted-angular-inline.mjs.map +1 -1
  282. package/fesm2022/slotted-angular-kbd.mjs +11 -7
  283. package/fesm2022/slotted-angular-kbd.mjs.map +1 -1
  284. package/fesm2022/slotted-angular-link.mjs +5 -3
  285. package/fesm2022/slotted-angular-link.mjs.map +1 -1
  286. package/fesm2022/slotted-angular-list-item.mjs +21 -18
  287. package/fesm2022/slotted-angular-list-item.mjs.map +1 -1
  288. package/fesm2022/slotted-angular-list.mjs +37 -22
  289. package/fesm2022/slotted-angular-list.mjs.map +1 -1
  290. package/fesm2022/slotted-angular-listbox.mjs +39 -21
  291. package/fesm2022/slotted-angular-listbox.mjs.map +1 -1
  292. package/fesm2022/slotted-angular-loading-overlay.mjs +59 -22
  293. package/fesm2022/slotted-angular-loading-overlay.mjs.map +1 -1
  294. package/fesm2022/slotted-angular-markdown.mjs +31 -19
  295. package/fesm2022/slotted-angular-markdown.mjs.map +1 -1
  296. package/fesm2022/slotted-angular-menu.mjs +51 -29
  297. package/fesm2022/slotted-angular-menu.mjs.map +1 -1
  298. package/fesm2022/slotted-angular-menubar.mjs +4 -2
  299. package/fesm2022/slotted-angular-menubar.mjs.map +1 -1
  300. package/fesm2022/slotted-angular-message-scroller.mjs +34 -15
  301. package/fesm2022/slotted-angular-message-scroller.mjs.map +1 -1
  302. package/fesm2022/slotted-angular-message.mjs +119 -51
  303. package/fesm2022/slotted-angular-message.mjs.map +1 -1
  304. package/fesm2022/slotted-angular-multi-select.mjs +195 -87
  305. package/fesm2022/slotted-angular-multi-select.mjs.map +1 -1
  306. package/fesm2022/slotted-angular-navigation-menu.mjs +34 -26
  307. package/fesm2022/slotted-angular-navigation-menu.mjs.map +1 -1
  308. package/fesm2022/slotted-angular-notification-center.mjs +108 -65
  309. package/fesm2022/slotted-angular-notification-center.mjs.map +1 -1
  310. package/fesm2022/slotted-angular-number-field.mjs +23 -11
  311. package/fesm2022/slotted-angular-number-field.mjs.map +1 -1
  312. package/fesm2022/slotted-angular-otp-input.mjs +13 -8
  313. package/fesm2022/slotted-angular-otp-input.mjs.map +1 -1
  314. package/fesm2022/slotted-angular-page-header.mjs +90 -48
  315. package/fesm2022/slotted-angular-page-header.mjs.map +1 -1
  316. package/fesm2022/slotted-angular-page.mjs +38 -10
  317. package/fesm2022/slotted-angular-page.mjs.map +1 -1
  318. package/fesm2022/slotted-angular-pagination.mjs +35 -22
  319. package/fesm2022/slotted-angular-pagination.mjs.map +1 -1
  320. package/fesm2022/slotted-angular-popover.mjs +32 -19
  321. package/fesm2022/slotted-angular-popover.mjs.map +1 -1
  322. package/fesm2022/slotted-angular-progress-indicator.mjs +236 -52
  323. package/fesm2022/slotted-angular-progress-indicator.mjs.map +1 -1
  324. package/fesm2022/slotted-angular-prompt-composer.mjs +57 -20
  325. package/fesm2022/slotted-angular-prompt-composer.mjs.map +1 -1
  326. package/fesm2022/slotted-angular-prose.mjs +14 -11
  327. package/fesm2022/slotted-angular-prose.mjs.map +1 -1
  328. package/fesm2022/slotted-angular-radio-group.mjs +15 -9
  329. package/fesm2022/slotted-angular-radio-group.mjs.map +1 -1
  330. package/fesm2022/slotted-angular-rating.mjs +138 -82
  331. package/fesm2022/slotted-angular-rating.mjs.map +1 -1
  332. package/fesm2022/slotted-angular-result-state.mjs +16 -12
  333. package/fesm2022/slotted-angular-result-state.mjs.map +1 -1
  334. package/fesm2022/slotted-angular-saved-views.mjs +43 -16
  335. package/fesm2022/slotted-angular-saved-views.mjs.map +1 -1
  336. package/fesm2022/slotted-angular-scroll-area.mjs +13 -5
  337. package/fesm2022/slotted-angular-scroll-area.mjs.map +1 -1
  338. package/fesm2022/slotted-angular-section.mjs +53 -18
  339. package/fesm2022/slotted-angular-section.mjs.map +1 -1
  340. package/fesm2022/slotted-angular-segmented-control.mjs +37 -11
  341. package/fesm2022/slotted-angular-segmented-control.mjs.map +1 -1
  342. package/fesm2022/slotted-angular-select.mjs +190 -94
  343. package/fesm2022/slotted-angular-select.mjs.map +1 -1
  344. package/fesm2022/slotted-angular-side-navigation.mjs +46 -35
  345. package/fesm2022/slotted-angular-side-navigation.mjs.map +1 -1
  346. package/fesm2022/slotted-angular-skeleton.mjs +32 -16
  347. package/fesm2022/slotted-angular-skeleton.mjs.map +1 -1
  348. package/fesm2022/slotted-angular-slider.mjs +31 -11
  349. package/fesm2022/slotted-angular-slider.mjs.map +1 -1
  350. package/fesm2022/slotted-angular-sparkline.mjs +41 -14
  351. package/fesm2022/slotted-angular-sparkline.mjs.map +1 -1
  352. package/fesm2022/slotted-angular-split-button.mjs +37 -11
  353. package/fesm2022/slotted-angular-split-button.mjs.map +1 -1
  354. package/fesm2022/slotted-angular-splitter.mjs +11 -9
  355. package/fesm2022/slotted-angular-splitter.mjs.map +1 -1
  356. package/fesm2022/slotted-angular-stack.mjs +4 -2
  357. package/fesm2022/slotted-angular-stack.mjs.map +1 -1
  358. package/fesm2022/slotted-angular-stat-card.mjs +35 -28
  359. package/fesm2022/slotted-angular-stat-card.mjs.map +1 -1
  360. package/fesm2022/slotted-angular-status-indicator.mjs +22 -8
  361. package/fesm2022/slotted-angular-status-indicator.mjs.map +1 -1
  362. package/fesm2022/slotted-angular-stepper.mjs +40 -15
  363. package/fesm2022/slotted-angular-stepper.mjs.map +1 -1
  364. package/fesm2022/slotted-angular-switch.mjs +15 -10
  365. package/fesm2022/slotted-angular-switch.mjs.map +1 -1
  366. package/fesm2022/slotted-angular-table-of-contents.mjs +29 -21
  367. package/fesm2022/slotted-angular-table-of-contents.mjs.map +1 -1
  368. package/fesm2022/slotted-angular-table.mjs +243 -73
  369. package/fesm2022/slotted-angular-table.mjs.map +1 -1
  370. package/fesm2022/slotted-angular-tabs.mjs +42 -18
  371. package/fesm2022/slotted-angular-tabs.mjs.map +1 -1
  372. package/fesm2022/slotted-angular-tag.mjs +19 -12
  373. package/fesm2022/slotted-angular-tag.mjs.map +1 -1
  374. package/fesm2022/slotted-angular-tags-input.mjs +253 -28
  375. package/fesm2022/slotted-angular-tags-input.mjs.map +1 -1
  376. package/fesm2022/slotted-angular-text-field.mjs +55 -15
  377. package/fesm2022/slotted-angular-text-field.mjs.map +1 -1
  378. package/fesm2022/slotted-angular-textarea.mjs +5 -3
  379. package/fesm2022/slotted-angular-textarea.mjs.map +1 -1
  380. package/fesm2022/slotted-angular-time-field.mjs +48 -14
  381. package/fesm2022/slotted-angular-time-field.mjs.map +1 -1
  382. package/fesm2022/slotted-angular-time-picker.mjs +32 -20
  383. package/fesm2022/slotted-angular-time-picker.mjs.map +1 -1
  384. package/fesm2022/slotted-angular-time-range-picker.mjs +113 -46
  385. package/fesm2022/slotted-angular-time-range-picker.mjs.map +1 -1
  386. package/fesm2022/slotted-angular-timeline.mjs +147 -64
  387. package/fesm2022/slotted-angular-timeline.mjs.map +1 -1
  388. package/fesm2022/slotted-angular-toast.mjs +43 -31
  389. package/fesm2022/slotted-angular-toast.mjs.map +1 -1
  390. package/fesm2022/slotted-angular-toggle-group.mjs +25 -8
  391. package/fesm2022/slotted-angular-toggle-group.mjs.map +1 -1
  392. package/fesm2022/slotted-angular-toggle.mjs +9 -4
  393. package/fesm2022/slotted-angular-toggle.mjs.map +1 -1
  394. package/fesm2022/slotted-angular-toolbar.mjs +27 -12
  395. package/fesm2022/slotted-angular-toolbar.mjs.map +1 -1
  396. package/fesm2022/slotted-angular-tooltip.mjs +15 -6
  397. package/fesm2022/slotted-angular-tooltip.mjs.map +1 -1
  398. package/fesm2022/slotted-angular-top-navigation.mjs +64 -44
  399. package/fesm2022/slotted-angular-top-navigation.mjs.map +1 -1
  400. package/fesm2022/slotted-angular-tour.mjs +47 -22
  401. package/fesm2022/slotted-angular-tour.mjs.map +1 -1
  402. package/fesm2022/slotted-angular-transfer.mjs +69 -30
  403. package/fesm2022/slotted-angular-transfer.mjs.map +1 -1
  404. package/fesm2022/slotted-angular-tree.mjs +80 -26
  405. package/fesm2022/slotted-angular-tree.mjs.map +1 -1
  406. package/fesm2022/slotted-angular-typography.mjs +8 -4
  407. package/fesm2022/slotted-angular-typography.mjs.map +1 -1
  408. package/fesm2022/slotted-angular-upload.mjs +125 -57
  409. package/fesm2022/slotted-angular-upload.mjs.map +1 -1
  410. package/fesm2022/slotted-angular-visually-hidden.mjs +4 -2
  411. package/fesm2022/slotted-angular-visually-hidden.mjs.map +1 -1
  412. package/fesm2022/slotted-angular-wizard.mjs +163 -65
  413. package/fesm2022/slotted-angular-wizard.mjs.map +1 -1
  414. package/package.json +3 -3
  415. package/types/slotted-angular-accordion.d.ts.map +1 -1
  416. package/types/slotted-angular-action-bar.d.ts +2 -0
  417. package/types/slotted-angular-action-bar.d.ts.map +1 -1
  418. package/types/slotted-angular-action-sheet.d.ts.map +1 -1
  419. package/types/slotted-angular-alert.d.ts +2 -2
  420. package/types/slotted-angular-alert.d.ts.map +1 -1
  421. package/types/slotted-angular-app-shell.d.ts +11 -3
  422. package/types/slotted-angular-app-shell.d.ts.map +1 -1
  423. package/types/slotted-angular-aspect-ratio.d.ts.map +1 -1
  424. package/types/slotted-angular-attachment.d.ts +1 -1
  425. package/types/slotted-angular-attachment.d.ts.map +1 -1
  426. package/types/slotted-angular-avatar-group.d.ts.map +1 -1
  427. package/types/slotted-angular-avatar.d.ts +11 -3
  428. package/types/slotted-angular-avatar.d.ts.map +1 -1
  429. package/types/slotted-angular-badge.d.ts +1 -1
  430. package/types/slotted-angular-badge.d.ts.map +1 -1
  431. package/types/slotted-angular-breadcrumb.d.ts.map +1 -1
  432. package/types/slotted-angular-button-group.d.ts +1 -1
  433. package/types/slotted-angular-button-group.d.ts.map +1 -1
  434. package/types/slotted-angular-button.d.ts +33 -13
  435. package/types/slotted-angular-button.d.ts.map +1 -1
  436. package/types/slotted-angular-calendar.d.ts +30 -2
  437. package/types/slotted-angular-calendar.d.ts.map +1 -1
  438. package/types/slotted-angular-card.d.ts.map +1 -1
  439. package/types/slotted-angular-carousel.d.ts.map +1 -1
  440. package/types/slotted-angular-cascader.d.ts.map +1 -1
  441. package/types/slotted-angular-chart.d.ts +10 -0
  442. package/types/slotted-angular-chart.d.ts.map +1 -1
  443. package/types/slotted-angular-checkbox-group.d.ts.map +1 -1
  444. package/types/slotted-angular-checkbox.d.ts +7 -1
  445. package/types/slotted-angular-checkbox.d.ts.map +1 -1
  446. package/types/slotted-angular-code-block.d.ts +1 -1
  447. package/types/slotted-angular-code-block.d.ts.map +1 -1
  448. package/types/slotted-angular-collapsible.d.ts +1 -1
  449. package/types/slotted-angular-collapsible.d.ts.map +1 -1
  450. package/types/slotted-angular-color-picker.d.ts.map +1 -1
  451. package/types/slotted-angular-column-manager.d.ts.map +1 -1
  452. package/types/slotted-angular-combobox.d.ts +5 -1
  453. package/types/slotted-angular-combobox.d.ts.map +1 -1
  454. package/types/slotted-angular-command-palette.d.ts +10 -1
  455. package/types/slotted-angular-command-palette.d.ts.map +1 -1
  456. package/types/slotted-angular-container.d.ts.map +1 -1
  457. package/types/slotted-angular-context-menu.d.ts.map +1 -1
  458. package/types/slotted-angular-currency-field.d.ts +63 -15
  459. package/types/slotted-angular-currency-field.d.ts.map +1 -1
  460. package/types/slotted-angular-dashboard-grid.d.ts.map +1 -1
  461. package/types/slotted-angular-data-grid.d.ts +72 -4
  462. package/types/slotted-angular-data-grid.d.ts.map +1 -1
  463. package/types/slotted-angular-data-list.d.ts.map +1 -1
  464. package/types/slotted-angular-date-field.d.ts +11 -1
  465. package/types/slotted-angular-date-field.d.ts.map +1 -1
  466. package/types/slotted-angular-date-picker.d.ts +38 -12
  467. package/types/slotted-angular-date-picker.d.ts.map +1 -1
  468. package/types/slotted-angular-date-range-picker.d.ts +0 -1
  469. package/types/slotted-angular-date-range-picker.d.ts.map +1 -1
  470. package/types/slotted-angular-datetime-field.d.ts.map +1 -1
  471. package/types/slotted-angular-datetime-picker.d.ts +0 -1
  472. package/types/slotted-angular-datetime-picker.d.ts.map +1 -1
  473. package/types/slotted-angular-datetime-range-picker.d.ts +0 -1
  474. package/types/slotted-angular-datetime-range-picker.d.ts.map +1 -1
  475. package/types/slotted-angular-description-list.d.ts.map +1 -1
  476. package/types/slotted-angular-detail-panel.d.ts.map +1 -1
  477. package/types/slotted-angular-dialog.d.ts +10 -3
  478. package/types/slotted-angular-dialog.d.ts.map +1 -1
  479. package/types/slotted-angular-divider.d.ts.map +1 -1
  480. package/types/slotted-angular-drawer.d.ts +12 -1
  481. package/types/slotted-angular-drawer.d.ts.map +1 -1
  482. package/types/slotted-angular-entity-picker.d.ts +63 -15
  483. package/types/slotted-angular-entity-picker.d.ts.map +1 -1
  484. package/types/slotted-angular-event-calendar.d.ts +9 -2
  485. package/types/slotted-angular-event-calendar.d.ts.map +1 -1
  486. package/types/slotted-angular-field-group.d.ts.map +1 -1
  487. package/types/slotted-angular-field.d.ts.map +1 -1
  488. package/types/slotted-angular-filter-bar.d.ts.map +1 -1
  489. package/types/slotted-angular-form.d.ts.map +1 -1
  490. package/types/slotted-angular-fullscreen.d.ts.map +1 -1
  491. package/types/slotted-angular-grid.d.ts.map +1 -1
  492. package/types/slotted-angular-highlight.d.ts.map +1 -1
  493. package/types/slotted-angular-hover-card.d.ts.map +1 -1
  494. package/types/slotted-angular-icon.d.ts +2 -2
  495. package/types/slotted-angular-icon.d.ts.map +1 -1
  496. package/types/slotted-angular-image.d.ts.map +1 -1
  497. package/types/slotted-angular-import-export-center.d.ts.map +1 -1
  498. package/types/slotted-angular-inline-message.d.ts +25 -25
  499. package/types/slotted-angular-inline-message.d.ts.map +1 -1
  500. package/types/slotted-angular-inline.d.ts.map +1 -1
  501. package/types/slotted-angular-kbd.d.ts.map +1 -1
  502. package/types/slotted-angular-link.d.ts.map +1 -1
  503. package/types/slotted-angular-list-item.d.ts +1 -1
  504. package/types/slotted-angular-list-item.d.ts.map +1 -1
  505. package/types/slotted-angular-list.d.ts +42 -27
  506. package/types/slotted-angular-list.d.ts.map +1 -1
  507. package/types/slotted-angular-listbox.d.ts.map +1 -1
  508. package/types/slotted-angular-loading-overlay.d.ts.map +1 -1
  509. package/types/slotted-angular-markdown.d.ts.map +1 -1
  510. package/types/slotted-angular-menu.d.ts +11 -2
  511. package/types/slotted-angular-menu.d.ts.map +1 -1
  512. package/types/slotted-angular-menubar.d.ts.map +1 -1
  513. package/types/slotted-angular-message-scroller.d.ts.map +1 -1
  514. package/types/slotted-angular-message.d.ts +1 -1
  515. package/types/slotted-angular-message.d.ts.map +1 -1
  516. package/types/slotted-angular-multi-select.d.ts +15 -1
  517. package/types/slotted-angular-multi-select.d.ts.map +1 -1
  518. package/types/slotted-angular-navigation-menu.d.ts.map +1 -1
  519. package/types/slotted-angular-notification-center.d.ts +1 -1
  520. package/types/slotted-angular-notification-center.d.ts.map +1 -1
  521. package/types/slotted-angular-number-field.d.ts.map +1 -1
  522. package/types/slotted-angular-otp-input.d.ts.map +1 -1
  523. package/types/slotted-angular-page-header.d.ts +15 -6
  524. package/types/slotted-angular-page-header.d.ts.map +1 -1
  525. package/types/slotted-angular-page.d.ts.map +1 -1
  526. package/types/slotted-angular-pagination.d.ts.map +1 -1
  527. package/types/slotted-angular-popover.d.ts.map +1 -1
  528. package/types/slotted-angular-progress-indicator.d.ts +8 -1
  529. package/types/slotted-angular-progress-indicator.d.ts.map +1 -1
  530. package/types/slotted-angular-prompt-composer.d.ts +11 -2
  531. package/types/slotted-angular-prompt-composer.d.ts.map +1 -1
  532. package/types/slotted-angular-prose.d.ts.map +1 -1
  533. package/types/slotted-angular-radio-group.d.ts.map +1 -1
  534. package/types/slotted-angular-rating.d.ts +1 -1
  535. package/types/slotted-angular-rating.d.ts.map +1 -1
  536. package/types/slotted-angular-result-state.d.ts.map +1 -1
  537. package/types/slotted-angular-saved-views.d.ts.map +1 -1
  538. package/types/slotted-angular-scroll-area.d.ts.map +1 -1
  539. package/types/slotted-angular-section.d.ts +11 -3
  540. package/types/slotted-angular-section.d.ts.map +1 -1
  541. package/types/slotted-angular-segmented-control.d.ts +15 -2
  542. package/types/slotted-angular-segmented-control.d.ts.map +1 -1
  543. package/types/slotted-angular-select.d.ts +12 -2
  544. package/types/slotted-angular-select.d.ts.map +1 -1
  545. package/types/slotted-angular-side-navigation.d.ts.map +1 -1
  546. package/types/slotted-angular-skeleton.d.ts.map +1 -1
  547. package/types/slotted-angular-slider.d.ts.map +1 -1
  548. package/types/slotted-angular-sparkline.d.ts +7 -1
  549. package/types/slotted-angular-sparkline.d.ts.map +1 -1
  550. package/types/slotted-angular-split-button.d.ts +2 -2
  551. package/types/slotted-angular-split-button.d.ts.map +1 -1
  552. package/types/slotted-angular-splitter.d.ts.map +1 -1
  553. package/types/slotted-angular-stack.d.ts.map +1 -1
  554. package/types/slotted-angular-stat-card.d.ts +1 -1
  555. package/types/slotted-angular-stat-card.d.ts.map +1 -1
  556. package/types/slotted-angular-status-indicator.d.ts +1 -1
  557. package/types/slotted-angular-status-indicator.d.ts.map +1 -1
  558. package/types/slotted-angular-stepper.d.ts +1 -1
  559. package/types/slotted-angular-stepper.d.ts.map +1 -1
  560. package/types/slotted-angular-switch.d.ts.map +1 -1
  561. package/types/slotted-angular-table-of-contents.d.ts.map +1 -1
  562. package/types/slotted-angular-table.d.ts +63 -6
  563. package/types/slotted-angular-table.d.ts.map +1 -1
  564. package/types/slotted-angular-tabs.d.ts +3 -4
  565. package/types/slotted-angular-tabs.d.ts.map +1 -1
  566. package/types/slotted-angular-tag.d.ts +1 -1
  567. package/types/slotted-angular-tag.d.ts.map +1 -1
  568. package/types/slotted-angular-tags-input.d.ts +33 -1
  569. package/types/slotted-angular-tags-input.d.ts.map +1 -1
  570. package/types/slotted-angular-text-field.d.ts.map +1 -1
  571. package/types/slotted-angular-textarea.d.ts.map +1 -1
  572. package/types/slotted-angular-theme.d.ts +1 -1
  573. package/types/slotted-angular-time-field.d.ts.map +1 -1
  574. package/types/slotted-angular-time-picker.d.ts +0 -1
  575. package/types/slotted-angular-time-picker.d.ts.map +1 -1
  576. package/types/slotted-angular-time-range-picker.d.ts +0 -1
  577. package/types/slotted-angular-time-range-picker.d.ts.map +1 -1
  578. package/types/slotted-angular-timeline.d.ts +1 -1
  579. package/types/slotted-angular-timeline.d.ts.map +1 -1
  580. package/types/slotted-angular-toast.d.ts +3 -3
  581. package/types/slotted-angular-toast.d.ts.map +1 -1
  582. package/types/slotted-angular-toggle-group.d.ts +8 -2
  583. package/types/slotted-angular-toggle-group.d.ts.map +1 -1
  584. package/types/slotted-angular-toggle.d.ts +1 -1
  585. package/types/slotted-angular-toggle.d.ts.map +1 -1
  586. package/types/slotted-angular-toolbar.d.ts +2 -0
  587. package/types/slotted-angular-toolbar.d.ts.map +1 -1
  588. package/types/slotted-angular-tooltip.d.ts.map +1 -1
  589. package/types/slotted-angular-top-navigation.d.ts.map +1 -1
  590. package/types/slotted-angular-tour.d.ts.map +1 -1
  591. package/types/slotted-angular-transfer.d.ts.map +1 -1
  592. package/types/slotted-angular-tree.d.ts.map +1 -1
  593. package/types/slotted-angular-typography.d.ts +1 -1
  594. package/types/slotted-angular-typography.d.ts.map +1 -1
  595. package/types/slotted-angular-upload.d.ts +2 -2
  596. package/types/slotted-angular-upload.d.ts.map +1 -1
  597. package/types/slotted-angular-visually-hidden.d.ts.map +1 -1
  598. package/types/slotted-angular-wizard.d.ts.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"slotted-angular-prompt-composer.mjs","sources":["../../prompt-composer/src/prompt-composer-defaults.ts","../../prompt-composer/src/prompt-composer.ts","../../prompt-composer/src/prompt-composer-input.ts","../../prompt-composer/src/prompt-composer-parts.ts","../../prompt-composer/src/slotted-angular-prompt-composer.ts"],"sourcesContent":["import { inject, InjectionToken } from '@angular/core';\nimport type { Signal } from '@angular/core';\nimport type { UploadFile } from '@slotted/core/upload';\n\nexport type PromptComposerSize = 'sm' | 'md' | 'lg';\n/**\n * `raised` is the chat composer, a surface lifted off the page; `outline` and\n * `subtle` are a composer inside a form, with a one-line control's geometry.\n */\nexport type PromptComposerVariant = 'raised' | 'outline' | 'subtle';\n/** Whether Enter sends, or only Mod+Enter does. Shift+Enter always breaks a line. */\nexport type PromptComposerSubmitOn = 'enter' | 'mod-enter';\n/** Where the request stands. The application owns it. */\nexport type PromptComposerStatus = 'ready' | 'submitted' | 'streaming' | 'error';\nexport type PromptComposerSubmitReason = 'keyboard' | 'pointer';\n\n/** Files from the attach button, a paste or a drop, after the selection rules. */\nexport interface PromptComposerAttachEvent {\n files: File[];\n reason: 'pointer' | 'paste' | 'drop';\n rejected: UploadFile[];\n source: Event;\n}\n\nexport interface PromptComposerStopEvent {\n reason: PromptComposerSubmitReason;\n source: Event;\n}\n\nexport interface PromptComposerDefaults {\n size: PromptComposerSize;\n submitOn: PromptComposerSubmitOn;\n variant: PromptComposerVariant;\n}\n\nconst FALLBACK: PromptComposerDefaults = {\n size: 'md',\n submitOn: 'enter',\n variant: 'raised',\n};\n\nexport const PROMPT_COMPOSER_DEFAULTS = new InjectionToken<PromptComposerDefaults>(\n 'slotted prompt composer defaults',\n { providedIn: 'root', factory: () => FALLBACK },\n);\n\n/**\n * An application decides once how its composers look and which key sends. A\n * composer that states any of them itself still wins. What the buttons say\n * comes from the language in force (`provideSlotted`).\n */\nexport function providePromptComposerDefaults(defaults: Partial<PromptComposerDefaults>) {\n return {\n provide: PROMPT_COMPOSER_DEFAULTS,\n useFactory: (): PromptComposerDefaults => ({ ...FALLBACK, ...defaults }),\n };\n}\n\nexport function injectPromptComposerDefaults(): PromptComposerDefaults {\n return inject(PROMPT_COMPOSER_DEFAULTS);\n}\n\n/**\n * What the composer needs of the textarea inside it. An abstract class rather\n * than an import, so the two directives depend on each other without a cycle.\n */\nexport abstract class SlPromptComposerControl {\n /** What the element shows. */\n abstract readonly current: Signal<string>;\n abstract readonly resolvedDisabled: Signal<boolean | undefined>;\n abstract readonly resolvedReadOnly: Signal<boolean | undefined>;\n abstract readonly resolvedInvalid: Signal<boolean | undefined>;\n /** Empties the value after an accepted send, with reason `submit`. */\n abstract clearAfterSubmit(source: Event): void;\n abstract focus(): void;\n}\n","import {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n effect,\n ElementRef,\n inject,\n input,\n numberAttribute,\n output,\n signal,\n untracked,\n ViewEncapsulation,\n} from '@angular/core';\nimport { SlField } from '@slotted/angular/field';\nimport { injectMessages } from '@slotted/angular/i18n';\nimport {\n type PartialMessages,\n promptComposerMessages,\n type PromptComposerMessages,\n} from '@slotted/core/i18n';\nimport { getLiveAnnouncer } from '@slotted/core/live-announcer';\nimport { createControllable } from '@slotted/core/state';\nimport type { ChangeRequest } from '@slotted/core/state';\nimport { selectFiles } from '@slotted/core/upload';\n\nimport { injectPromptComposerDefaults, SlPromptComposerControl } from './prompt-composer-defaults';\nimport type {\n PromptComposerAttachEvent,\n PromptComposerSize,\n PromptComposerStatus,\n PromptComposerStopEvent,\n PromptComposerSubmitOn,\n PromptComposerSubmitReason,\n PromptComposerVariant,\n} from './prompt-composer-defaults';\n\n/** Whether a drag carries files, rather than a selection of text. */\nfunction carriesFiles(event: DragEvent): boolean {\n return Array.from(event.dataTransfer?.types ?? []).includes('Files');\n}\n\n/**\n * A message being written: the consumer's own `form`, around a textarea, a\n * band above for what the message carries and a band below for what it is\n * sent with.\n *\n * The value is the textarea's, so a reactive form binds there; the status is\n * the application's; the attachments are the application's too — the\n * composer hands over the files after the selection rules `upload` applies,\n * and draws nothing of them.\n */\n@Component({\n selector: 'form[slPromptComposer]',\n standalone: true,\n exportAs: 'slPromptComposer',\n template: '<ng-content />',\n styleUrl: '../../../styles/src/prompt-composer/prompt-composer.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'data-ui': 'prompt-composer',\n 'data-part': 'root',\n novalidate: '',\n '[attr.data-size]': 'resolvedSize()',\n '[attr.data-variant]': 'resolvedVariant()',\n '[attr.data-status]': 'status()',\n '[attr.data-loading]': \"busy() ? '' : null\",\n '[attr.data-disabled]': \"control()?.resolvedDisabled() === true ? '' : null\",\n '[attr.data-readonly]': \"control()?.resolvedReadOnly() === true ? '' : null\",\n '[attr.data-invalid]': \"control()?.resolvedInvalid() === true ? '' : null\",\n '[attr.data-drop-target]': \"dropTarget() ? '' : null\",\n '(submit)': 'onSubmit($event)',\n '(mousedown)': 'onMouseDown($event)',\n '(dragover)': 'onDragOver($event)',\n '(dragleave)': 'onDragLeave($event)',\n '(drop)': 'onDrop($event)',\n },\n})\nexport class SlPromptComposer {\n readonly size = input<PromptComposerSize | undefined>(undefined);\n readonly variant = input<PromptComposerVariant | undefined>(undefined);\n /** Where the request stands. The application owns it. */\n readonly status = input<PromptComposerStatus>('ready');\n readonly submitOn = input<PromptComposerSubmitOn | undefined>(undefined);\n /** Whether the send is available. Defaults to \"the value has something besides white space\". */\n readonly canSubmit = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value: boolean | string | undefined) =>\n value === undefined ? undefined : booleanAttribute(value),\n });\n /** The file types the attach button, a paste and a drop accept. */\n readonly accept = input<string | undefined>(undefined);\n readonly multiple = input(true, { transform: booleanAttribute });\n readonly maxSize = input<number | undefined, unknown>(undefined, {\n transform: (value) => (value == null ? undefined : numberAttribute(value)),\n });\n readonly maxFiles = input<number | undefined, unknown>(undefined, {\n transform: (value) => (value == null ? undefined : numberAttribute(value)),\n });\n /**\n * Words laid over the catalog of the language in force, key by key: the\n * names of the attach and submit buttons for each status (`send`, `sending`,\n * `stop`, `retry`), and the `sending` and `stopped` announcements.\n */\n readonly messages = input<PartialMessages<PromptComposerMessages> | undefined>(undefined);\n\n /** Before the message is sent; `cancel()` keeps the value where it is. */\n readonly valueSubmit = output<ChangeRequest<string>>();\n /** The stop button, while the status is `streaming`. */\n readonly stop = output<PromptComposerStopEvent>();\n /** Files from the attach button, a paste or a drop, after the selection rules. */\n readonly attach = output<PromptComposerAttachEvent>();\n\n readonly defaults = injectPromptComposerDefaults();\n /** The family's words in the language in force, with this composer's `messages` laid over them. */\n readonly t = injectMessages(promptComposerMessages, this.messages);\n private readonly field = inject(SlField, { optional: true });\n private readonly element: HTMLFormElement = inject(ElementRef).nativeElement;\n\n readonly control = contentChild(SlPromptComposerControl, { descendants: true });\n protected readonly dropTarget = signal(false);\n\n readonly resolvedSize = computed(\n () => this.size() ?? this.field?.resolvedSize() ?? this.defaults.size,\n );\n readonly resolvedVariant = computed(() => this.variant() ?? this.defaults.variant);\n readonly resolvedSubmitOn = computed(() => this.submitOn() ?? this.defaults.submitOn);\n readonly busy = computed(() => this.status() === 'submitted' || this.status() === 'streaming');\n readonly resolvedCanSubmit = computed(() => {\n const control = this.control();\n if (control === undefined || this.busy()) return false;\n if (control.resolvedDisabled() === true || control.resolvedReadOnly() === true) return false;\n return this.canSubmit() ?? control.current().trim() !== '';\n });\n readonly off = computed(\n () =>\n this.control()?.resolvedDisabled() === true || this.control()?.resolvedReadOnly() === true,\n );\n\n constructor() {\n /* The request travelling is announced once, as it starts. */\n let previous: PromptComposerStatus = 'ready';\n effect(() => {\n const status = this.status();\n if (status === 'submitted' && previous !== 'submitted') {\n untracked(() => this.announce(this.t('sending')));\n }\n previous = status;\n });\n }\n\n private announce(message: string) {\n getLiveAnnouncer(this.element.ownerDocument).announce(message);\n }\n\n /** Sends what the textarea holds, unless the send is unavailable or refused. */\n submitWith(reason: PromptComposerSubmitReason, source: Event) {\n const control = this.control();\n if (control === undefined || !this.resolvedCanSubmit()) return;\n let cancelled = false;\n const state = createControllable<string>({\n controlled: undefined,\n initial: '',\n equals: () => false,\n onRequest: (request) => {\n this.valueSubmit.emit(request);\n cancelled = request.cancelled;\n },\n });\n state.request(control.current(), reason, source);\n if (cancelled) return;\n control.clearAfterSubmit(source);\n control.focus();\n }\n\n stopWith(reason: PromptComposerSubmitReason, source: Event) {\n this.stop.emit({ reason, source });\n this.announce(this.t('stopped'));\n this.control()?.focus();\n }\n\n attachFiles(files: readonly File[], reason: PromptComposerAttachEvent['reason'], source: Event) {\n if (files.length === 0 || this.off()) return;\n const outcome = selectFiles(files, [], {\n accept: this.accept(),\n maxFiles: this.maxFiles(),\n maxSize: this.maxSize(),\n multiple: this.multiple(),\n });\n const accepted = outcome.files\n .filter((entry) => entry.status !== 'rejected' && entry.file !== undefined)\n .map((entry) => entry.file as File);\n this.attach.emit({ files: accepted, reason, rejected: outcome.rejected, source });\n }\n\n protected onSubmit(event: SubmitEvent) {\n event.preventDefault();\n this.submitWith('keyboard', event);\n }\n\n /** A press on the frame's padding or a band's empty space puts the caret in the value. */\n protected onMouseDown(event: MouseEvent) {\n const part = (event.target as HTMLElement).getAttribute('data-part');\n if (part !== 'root' && part !== 'header' && part !== 'footer') return;\n event.preventDefault();\n this.control()?.focus();\n }\n\n protected onDragOver(event: DragEvent) {\n if (!carriesFiles(event) || this.off()) return;\n event.preventDefault();\n this.dropTarget.set(true);\n }\n\n protected onDragLeave(event: DragEvent) {\n const next = event.relatedTarget as Node | null;\n if (next === null || !this.element.contains(next)) this.dropTarget.set(false);\n }\n\n protected onDrop(event: DragEvent) {\n this.dropTarget.set(false);\n if (!carriesFiles(event)) return;\n event.preventDefault();\n this.attachFiles(Array.from(event.dataTransfer?.files ?? []), 'drop', event);\n }\n}\n","import {\n booleanAttribute,\n computed,\n Directive,\n effect,\n ElementRef,\n forwardRef,\n HostAttributeToken,\n inject,\n input,\n numberAttribute,\n output,\n signal,\n} from '@angular/core';\nimport type { OnInit } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport type { ControlValueAccessor } from '@angular/forms';\nimport { SlField } from '@slotted/angular/field';\nimport { createControllable } from '@slotted/core/state';\nimport type { ChangeReason, ChangeRequest } from '@slotted/core/state';\n\nimport { SlPromptComposer } from './prompt-composer';\nimport { SlPromptComposerControl } from './prompt-composer-defaults';\n\n/**\n * The value. Enter sends unless the composer's `submitOn` is `mod-enter`;\n * Mod+Enter always sends; Shift+Enter is the platform's line break; nothing is\n * sent while an input method is composing, because there Enter confirms the\n * composition. Files pasted with or without text go to the composer's\n * `attach`.\n *\n * The element owns the characters, as in `text-field`: a form's `writeValue`\n * and a `[value]` binding write the element, and the directive keeps a mirror\n * for the send and the count.\n */\n@Directive({\n selector: 'textarea[slPromptComposerInput]',\n standalone: true,\n exportAs: 'slPromptComposerInput',\n providers: [\n { provide: SlPromptComposerControl, useExisting: forwardRef(() => SlPromptComposerInput) },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SlPromptComposerInput),\n multi: true,\n },\n ],\n host: {\n 'data-part': 'input',\n '[attr.id]': 'controlId()',\n '[attr.dir]': \"writtenDir ?? 'auto'\",\n '[attr.rows]': 'rows()',\n '[attr.aria-describedby]': 'describedBy()',\n '[attr.aria-invalid]': \"resolvedInvalid() === true ? 'true' : null\",\n '[attr.aria-required]': \"field?.required() === true ? 'true' : null\",\n '[attr.disabled]': \"resolvedDisabled() === true ? '' : null\",\n '[attr.readonly]': \"resolvedReadOnly() === true ? '' : null\",\n '[style.--slotted-prompt-composer-rows]': 'rows()',\n '[style.--slotted-prompt-composer-max-rows]': 'maxRows() ?? null',\n '(input)': 'onInput($event)',\n '(keydown)': 'onKeyDown($event)',\n '(paste)': 'onPaste($event)',\n '(blur)': 'onTouchedFn()',\n },\n})\nexport class SlPromptComposerInput\n implements ControlValueAccessor, OnInit, SlPromptComposerControl\n{\n /** Present means the consumer owns the value. */\n readonly value = input<string | undefined>(undefined);\n readonly defaultValue = input<string | undefined>(undefined);\n readonly disabled = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value: boolean | string | undefined) =>\n value === undefined ? undefined : booleanAttribute(value),\n });\n readonly readOnly = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value: boolean | string | undefined) =>\n value === undefined ? undefined : booleanAttribute(value),\n });\n readonly invalid = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value: boolean | string | undefined) =>\n value === undefined ? undefined : booleanAttribute(value),\n });\n /** The fewest lines the value shows. */\n readonly rows = input(1, { transform: numberAttribute });\n /** The most lines it grows to before it scrolls. */\n readonly maxRows = input<number | undefined, unknown>(undefined, {\n transform: (value) => (value == null ? undefined : numberAttribute(value)),\n });\n /** Publishes the length of the value to the field, which draws the count. */\n readonly showCount = input(false, { transform: booleanAttribute });\n\n /** Before the value moves: `keyboard` for an edit, `submit` for the clearing after a send. */\n readonly valueChange = output<ChangeRequest<string>>();\n\n private readonly element: HTMLTextAreaElement = inject(ElementRef).nativeElement;\n private readonly composer = inject(SlPromptComposer);\n protected readonly field = inject(SlField, { optional: true });\n protected readonly writtenDir = inject(new HostAttributeToken('dir'), { optional: true });\n private readonly writtenId = inject(new HostAttributeToken('id'), { optional: true });\n private readonly writtenMaxLength = inject(new HostAttributeToken('maxlength'), {\n optional: true,\n });\n\n private readonly mirror = signal('');\n private readonly formDisabled = signal<boolean | undefined>(undefined);\n private onChangeFn: (value: string) => void = () => undefined;\n protected onTouchedFn: () => void = () => undefined;\n\n readonly current = this.mirror.asReadonly();\n readonly resolvedDisabled = computed(\n () => this.disabled() ?? this.formDisabled() ?? this.field?.resolvedDisabled(),\n );\n readonly resolvedReadOnly = computed(() => this.readOnly() ?? this.field?.resolvedReadOnly());\n readonly resolvedInvalid = computed(() => this.invalid() ?? this.field?.invalid());\n\n protected readonly controlId = computed(\n () => this.writtenId ?? this.field?.ids().control ?? null,\n );\n protected readonly describedBy = computed(() => this.field?.describedBy() || null);\n\n constructor() {\n effect(() => {\n const next = this.value();\n if (next === undefined || next === this.element.value) return;\n this.element.value = next;\n this.mirror.set(next);\n });\n\n effect(() => {\n if (this.field === null) return;\n if (!this.showCount()) {\n this.field.setCount(undefined);\n return;\n }\n const max = this.writtenMaxLength === null ? undefined : Number(this.writtenMaxLength);\n this.field.setCount({ length: this.mirror().length, max });\n });\n }\n\n ngOnInit() {\n const initial = this.defaultValue() ?? this.element.value;\n if (initial !== this.element.value) this.element.value = initial;\n this.mirror.set(this.element.value);\n }\n\n /** The native element, for `focus()`, `select()` and `setSelectionRange()`. */\n get inputElement(): HTMLTextAreaElement {\n return this.element;\n }\n\n focus() {\n this.element.focus();\n }\n\n writeValue(value: string | null | undefined) {\n this.element.value = value ?? '';\n this.mirror.set(this.element.value);\n }\n\n registerOnChange(fn: (value: string) => void) {\n this.onChangeFn = fn;\n }\n\n registerOnTouched(fn: () => void) {\n this.onTouchedFn = fn;\n }\n\n setDisabledState(isDisabled: boolean) {\n this.formDisabled.set(isDisabled);\n }\n\n clearAfterSubmit(source: Event) {\n if (!this.request('', 'submit', source)) return;\n this.element.value = '';\n this.mirror.set('');\n this.onChangeFn('');\n }\n\n protected onInput(event: Event) {\n const next = this.element.value;\n if (this.request(next, 'keyboard', event)) {\n this.mirror.set(next);\n this.onChangeFn(next);\n } else {\n this.element.value = this.mirror();\n }\n }\n\n protected onKeyDown(event: KeyboardEvent) {\n if (event.defaultPrevented || event.key !== 'Enter' || event.shiftKey) return;\n if (event.isComposing || event.keyCode === 229) return;\n const mod = event.metaKey || event.ctrlKey;\n if (!mod && this.composer.resolvedSubmitOn() !== 'enter') return;\n event.preventDefault();\n this.composer.submitWith('keyboard', event);\n }\n\n protected onPaste(event: ClipboardEvent) {\n const files = Array.from(event.clipboardData?.files ?? []);\n if (files.length === 0) return;\n if (event.clipboardData?.getData('text/plain') === '') event.preventDefault();\n this.composer.attachFiles(files, 'paste', event);\n }\n\n private request(next: string, reason: ChangeReason, source: Event): boolean {\n if (next === this.mirror()) return false;\n let cancelled = false;\n const state = createControllable<string>({\n controlled: undefined,\n initial: this.mirror(),\n onRequest: (request) => {\n this.valueChange.emit(request);\n cancelled = request.cancelled;\n },\n });\n state.request(next, reason, source);\n return !cancelled;\n }\n}\n","import {\n afterNextRender,\n ChangeDetectionStrategy,\n Component,\n computed,\n Directive,\n ElementRef,\n HostAttributeToken,\n inject,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport { SlGlyph, SlIcon } from '@slotted/angular/icon';\n\nimport { SlPromptComposer } from './prompt-composer';\n\n/** The band above the value: attachments, a quoted reply, a context chip. */\n@Directive({\n selector: '[slPromptComposerHeader]',\n standalone: true,\n host: { 'data-part': 'header' },\n})\nexport class SlPromptComposerHeader {}\n\n/** The band below the value: tools on the start, the send at the end. */\n@Directive({\n selector: '[slPromptComposerFooter]',\n standalone: true,\n host: { 'data-part': 'footer' },\n})\nexport class SlPromptComposerFooter {}\n\n/**\n * A button of the consumer's in a band: a model menu, a tool, Cancelar.\n * `slMenuTriggerFor` on the same element binds `data-part` to `null`, and the\n * binding is a constant, so the part is written back once after the first\n * render — the rule `menu` records for its own trigger.\n */\n@Directive({\n selector: 'button[slPromptComposerAction]',\n standalone: true,\n exportAs: 'slPromptComposerAction',\n host: { 'data-part': 'action', '[attr.type]': 'type' },\n})\nexport class SlPromptComposerAction {\n protected readonly type = inject(new HostAttributeToken('type'), { optional: true }) ?? 'button';\n\n constructor() {\n const element: HTMLElement = inject(ElementRef).nativeElement;\n afterNextRender(() => element.setAttribute('data-part', 'action'));\n }\n}\n\n/**\n * The paperclip. It opens a file chooser it creates and never attaches to the\n * page, with the composer's `accept` and `multiple`; content projected into\n * the button replaces the mark.\n */\n@Component({\n selector: 'button[slPromptComposerAttach]',\n standalone: true,\n imports: [SlGlyph, SlIcon],\n template: `<ng-content\n ><span slIcon><svg slGlyph name=\"paperclip\"></svg></span\n ></ng-content>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'data-part': 'attach',\n type: 'button',\n '[attr.aria-label]': \"label ?? composer.t('attach')\",\n '[disabled]': 'composer.off()',\n '(click)': 'open()',\n },\n})\nexport class SlPromptComposerAttach {\n protected readonly composer = inject(SlPromptComposer);\n protected readonly label = inject(new HostAttributeToken('aria-label'), { optional: true });\n\n protected open() {\n const picker = document.createElement('input');\n picker.type = 'file';\n picker.multiple = this.composer.multiple();\n const accept = this.composer.accept();\n if (accept !== undefined) picker.accept = accept;\n picker.addEventListener(\n 'change',\n (event) => this.composer.attachFiles(Array.from(picker.files ?? []), 'pointer', event),\n { once: true },\n );\n picker.click();\n }\n}\n\n/**\n * The send. Round and named by the provider's label for its status; a padded\n * word when given text, which then names it. It turns into a busy ring while\n * the request travels, a stop inside the ring while the answer streams, and a\n * retry after an error.\n */\n@Component({\n selector: 'button[slPromptComposerSubmit]',\n standalone: true,\n imports: [SlGlyph, SlIcon],\n template: `<ng-content>\n @switch (composer.status()) {\n @case ('submitted') {\n <span data-ui=\"spinner\" aria-hidden=\"true\"></span>\n }\n @case ('streaming') {\n <span data-ui=\"spinner\" aria-hidden=\"true\"></span>\n <span slIcon><svg slGlyph name=\"stop\"></svg></span>\n }\n @case ('error') {\n <span slIcon><svg slGlyph name=\"rotate-ccw\"></svg></span>\n }\n @default {\n <span slIcon><svg slGlyph name=\"arrow-up\"></svg></span>\n }\n }\n </ng-content>`,\n styleUrl: '../../../styles/src/spinner/spinner.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'data-part': 'submit',\n '[attr.type]': \"composer.busy() ? 'button' : 'submit'\",\n '[attr.aria-label]': 'named() ? null : label()',\n '[attr.aria-disabled]': \"composer.status() === 'submitted' ? 'true' : null\",\n '[disabled]':\n \"composer.status() === 'streaming' ? false : composer.status() !== 'submitted' && !composer.resolvedCanSubmit()\",\n '(click)': 'activate($event)',\n },\n})\nexport class SlPromptComposerSubmit {\n protected readonly composer = inject(SlPromptComposer);\n private readonly element: HTMLButtonElement = inject(ElementRef).nativeElement;\n /** Whether the consumer named the button with words of its own. */\n protected readonly named = signal(false);\n\n protected readonly label = computed(() => {\n const { t } = this.composer;\n switch (this.composer.status()) {\n case 'streaming':\n return t('stop');\n case 'submitted':\n return t('sending');\n case 'error':\n return t('retry');\n default:\n return t('send');\n }\n });\n\n constructor() {\n afterNextRender(() => this.named.set((this.element.textContent ?? '').trim() !== ''));\n }\n\n protected activate(event: MouseEvent) {\n event.preventDefault();\n const reason = event.detail === 0 ? 'keyboard' : 'pointer';\n const status = this.composer.status();\n if (status === 'streaming') this.composer.stopWith(reason, event);\n else if (status !== 'submitted') this.composer.submitWith(reason, event);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"slotted-angular-prompt-composer.mjs","sources":["../../prompt-composer/src/prompt-composer-defaults.ts","../../prompt-composer/src/prompt-composer.ts","../../prompt-composer/src/prompt-composer-input.ts","../../prompt-composer/src/prompt-composer-parts.ts","../../prompt-composer/src/slotted-angular-prompt-composer.ts"],"sourcesContent":["import { inject, InjectionToken } from '@angular/core';\nimport type { Signal } from '@angular/core';\nimport type { UploadFile } from '@slotted/core/upload';\n\nexport type PromptComposerSize = 'sm' | 'md' | 'lg';\n/**\n * `raised` is the chat composer, a surface lifted off the page; `outline` and\n * `subtle` are a composer inside a form, with a one-line control's geometry.\n */\nexport type PromptComposerVariant = 'raised' | 'outline' | 'subtle';\n/**\n * `ring` marks an AI input with a ring of turning hues and a soft glow, which\n * replace its border, its focus outline and its raised shadow.\n */\nexport type PromptComposerEmphasis = 'none' | 'ring';\n/** Whether Enter sends, or only Mod+Enter does. Shift+Enter always breaks a line. */\nexport type PromptComposerSubmitOn = 'enter' | 'mod-enter';\n/** Where the request stands. The application owns it. */\nexport type PromptComposerStatus = 'ready' | 'submitted' | 'streaming' | 'error';\nexport type PromptComposerSubmitReason = 'keyboard' | 'pointer';\n\n/** Files from the attach button, a paste or a drop, after the selection rules. */\nexport interface PromptComposerAttachEvent {\n files: File[];\n reason: 'pointer' | 'paste' | 'drop';\n rejected: UploadFile[];\n source: Event;\n}\n\nexport interface PromptComposerStopEvent {\n reason: PromptComposerSubmitReason;\n source: Event;\n}\n\nexport interface PromptComposerDefaults {\n size: PromptComposerSize;\n submitOn: PromptComposerSubmitOn;\n variant: PromptComposerVariant;\n emphasis: PromptComposerEmphasis;\n}\n\nconst FALLBACK: PromptComposerDefaults = {\n size: 'md',\n submitOn: 'enter',\n variant: 'raised',\n emphasis: 'none',\n};\n\nexport const PROMPT_COMPOSER_DEFAULTS = new InjectionToken<PromptComposerDefaults>(\n 'slotted prompt composer defaults',\n { providedIn: 'root', factory: () => FALLBACK },\n);\n\n/**\n * An application decides once how its composers look and which key sends. A\n * composer that states any of them itself still wins. What the buttons say\n * comes from the language in force (`provideSlotted`).\n */\nexport function providePromptComposerDefaults(defaults: Partial<PromptComposerDefaults>) {\n return {\n provide: PROMPT_COMPOSER_DEFAULTS,\n useFactory: (): PromptComposerDefaults => ({ ...FALLBACK, ...defaults }),\n };\n}\n\nexport function injectPromptComposerDefaults(): PromptComposerDefaults {\n return inject(PROMPT_COMPOSER_DEFAULTS);\n}\n\n/**\n * What the composer needs of the textarea inside it. An abstract class rather\n * than an import, so the two directives depend on each other without a cycle.\n */\nexport abstract class SlPromptComposerControl {\n /** What the element shows. */\n abstract readonly current: Signal<string>;\n abstract readonly resolvedDisabled: Signal<boolean | undefined>;\n abstract readonly resolvedReadOnly: Signal<boolean | undefined>;\n abstract readonly resolvedInvalid: Signal<boolean | undefined>;\n /** Empties the value after an accepted send, with reason `submit`. */\n abstract clearAfterSubmit(source: Event): void;\n abstract focus(): void;\n}\n","import {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n effect,\n ElementRef,\n inject,\n input,\n numberAttribute,\n output,\n signal,\n untracked,\n ViewEncapsulation,\n} from '@angular/core';\nimport { SlField } from '@slotted/angular/field';\nimport { injectMessages } from '@slotted/angular/i18n';\nimport {\n type PartialMessages,\n promptComposerMessages,\n type PromptComposerMessages,\n} from '@slotted/core/i18n';\nimport { getLiveAnnouncer } from '@slotted/core/live-announcer';\nimport { createControllable } from '@slotted/core/state';\nimport type { ChangeRequest } from '@slotted/core/state';\nimport { selectFiles } from '@slotted/core/upload';\n\nimport { injectPromptComposerDefaults, SlPromptComposerControl } from './prompt-composer-defaults';\nimport type {\n PromptComposerAttachEvent,\n PromptComposerSize,\n PromptComposerStatus,\n PromptComposerStopEvent,\n PromptComposerSubmitOn,\n PromptComposerSubmitReason,\n PromptComposerVariant,\n PromptComposerEmphasis,\n} from './prompt-composer-defaults';\n\n/** Whether a drag carries files, rather than a selection of text. */\nfunction carriesFiles(event: DragEvent): boolean {\n return Array.from(event.dataTransfer?.types ?? []).includes('Files');\n}\n\n/**\n * A message being written: the consumer's own `form`, around a textarea, a\n * band above for what the message carries and a band below for what it is\n * sent with.\n *\n * The value is the textarea's, so a reactive form binds there; the status is\n * the application's; the attachments are the application's too — the\n * composer hands over the files after the selection rules `upload` applies,\n * and draws nothing of them.\n */\n@Component({\n selector: 'form[slPromptComposer]',\n standalone: true,\n exportAs: 'slPromptComposer',\n template: `<ng-content />\n @if (resolvedEmphasis() === 'ring') {\n <span aria-hidden=\"true\" data-part=\"glow\" data-part-glow=\"\"></span>\n <span aria-hidden=\"true\" data-part=\"ring\" data-part-ring=\"\"></span>\n }`,\n styleUrl: '../../../styles/src/prompt-composer/prompt-composer.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'data-ui': 'prompt-composer',\n 'data-ui-prompt-composer': '',\n 'data-part': 'root',\n 'data-part-root': '',\n novalidate: '',\n '[attr.data-size]': 'resolvedSize()',\n '[attr.data-variant]': 'resolvedVariant()',\n '[attr.data-emphasis]': \"resolvedEmphasis() === 'ring' ? 'ring' : null\",\n '[attr.data-status]': 'status()',\n '[attr.data-loading]': \"busy() ? '' : null\",\n '[attr.data-disabled]': \"control()?.resolvedDisabled() === true ? '' : null\",\n '[attr.data-readonly]': \"control()?.resolvedReadOnly() === true ? '' : null\",\n '[attr.data-invalid]': \"control()?.resolvedInvalid() === true ? '' : null\",\n '[attr.data-drop-target]': \"dropTarget() ? '' : null\",\n '(submit)': 'onSubmit($event)',\n '(mousedown)': 'onMouseDown($event)',\n '(dragover)': 'onDragOver($event)',\n '(dragleave)': 'onDragLeave($event)',\n '(drop)': 'onDrop($event)',\n },\n})\nexport class SlPromptComposer {\n readonly size = input<PromptComposerSize | undefined>(undefined);\n readonly variant = input<PromptComposerVariant | undefined>(undefined);\n /** Defaults to the token, then to `none`. */\n readonly emphasis = input<PromptComposerEmphasis | undefined>(undefined);\n /** Where the request stands. The application owns it. */\n readonly status = input<PromptComposerStatus>('ready');\n readonly submitOn = input<PromptComposerSubmitOn | undefined>(undefined);\n /** Whether the send is available. Defaults to \"the value has something besides white space\". */\n readonly canSubmit = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value: boolean | string | undefined) =>\n value === undefined ? undefined : booleanAttribute(value),\n });\n /** The file types the attach button, a paste and a drop accept. */\n readonly accept = input<string | undefined>(undefined);\n readonly multiple = input(true, { transform: booleanAttribute });\n readonly maxSize = input<number | undefined, unknown>(undefined, {\n transform: (value) => (value == null ? undefined : numberAttribute(value)),\n });\n readonly maxFiles = input<number | undefined, unknown>(undefined, {\n transform: (value) => (value == null ? undefined : numberAttribute(value)),\n });\n /**\n * Words laid over the catalog of the language in force, key by key: the\n * names of the attach and submit buttons for each status (`send`, `sending`,\n * `stop`, `retry`), and the `sending` and `stopped` announcements.\n */\n readonly messages = input<PartialMessages<PromptComposerMessages> | undefined>(undefined);\n\n /** Before the message is sent; `cancel()` keeps the value where it is. */\n readonly valueSubmit = output<ChangeRequest<string>>();\n /** The stop button, while the status is `streaming`. */\n readonly stop = output<PromptComposerStopEvent>();\n /** Files from the attach button, a paste or a drop, after the selection rules. */\n readonly attach = output<PromptComposerAttachEvent>();\n\n readonly defaults = injectPromptComposerDefaults();\n /** The family's words in the language in force, with this composer's `messages` laid over them. */\n readonly t = injectMessages(promptComposerMessages, this.messages);\n private readonly field = inject(SlField, { optional: true });\n private readonly element: HTMLFormElement = inject(ElementRef).nativeElement;\n\n readonly control = contentChild(SlPromptComposerControl, { descendants: true });\n protected readonly dropTarget = signal(false);\n\n readonly resolvedSize = computed(\n () => this.size() ?? this.field?.resolvedSize() ?? this.defaults.size,\n );\n readonly resolvedVariant = computed(() => this.variant() ?? this.defaults.variant);\n readonly resolvedEmphasis = computed(() => this.emphasis() ?? this.defaults.emphasis);\n readonly resolvedSubmitOn = computed(() => this.submitOn() ?? this.defaults.submitOn);\n readonly busy = computed(() => this.status() === 'submitted' || this.status() === 'streaming');\n readonly resolvedCanSubmit = computed(() => {\n const control = this.control();\n if (control === undefined || this.busy()) return false;\n if (control.resolvedDisabled() === true || control.resolvedReadOnly() === true) return false;\n return this.canSubmit() ?? control.current().trim() !== '';\n });\n readonly off = computed(\n () =>\n this.control()?.resolvedDisabled() === true || this.control()?.resolvedReadOnly() === true,\n );\n\n constructor() {\n /* The request travelling is announced once, as it starts. */\n let previous: PromptComposerStatus = 'ready';\n effect(() => {\n const status = this.status();\n if (status === 'submitted' && previous !== 'submitted') {\n untracked(() => this.announce(this.t('sending')));\n }\n previous = status;\n });\n }\n\n private announce(message: string) {\n getLiveAnnouncer(this.element.ownerDocument).announce(message);\n }\n\n /** Sends what the textarea holds, unless the send is unavailable or refused. */\n submitWith(reason: PromptComposerSubmitReason, source: Event) {\n const control = this.control();\n if (control === undefined || !this.resolvedCanSubmit()) return;\n let cancelled = false;\n const state = createControllable<string>({\n controlled: undefined,\n initial: '',\n equals: () => false,\n onRequest: (request) => {\n this.valueSubmit.emit(request);\n cancelled = request.cancelled;\n },\n });\n state.request(control.current(), reason, source);\n if (cancelled) return;\n control.clearAfterSubmit(source);\n control.focus();\n }\n\n stopWith(reason: PromptComposerSubmitReason, source: Event) {\n this.stop.emit({ reason, source });\n this.announce(this.t('stopped'));\n this.control()?.focus();\n }\n\n attachFiles(files: readonly File[], reason: PromptComposerAttachEvent['reason'], source: Event) {\n if (files.length === 0 || this.off()) return;\n const outcome = selectFiles(files, [], {\n accept: this.accept(),\n maxFiles: this.maxFiles(),\n maxSize: this.maxSize(),\n multiple: this.multiple(),\n });\n const accepted = outcome.files\n .filter((entry) => entry.status !== 'rejected' && entry.file !== undefined)\n .map((entry) => entry.file as File);\n this.attach.emit({ files: accepted, reason, rejected: outcome.rejected, source });\n }\n\n protected onSubmit(event: SubmitEvent) {\n event.preventDefault();\n this.submitWith('keyboard', event);\n }\n\n /** A press on the frame's padding or a band's empty space puts the caret in the value. */\n protected onMouseDown(event: MouseEvent) {\n const part = (event.target as HTMLElement).getAttribute('data-part');\n if (part !== 'root' && part !== 'header' && part !== 'footer') return;\n event.preventDefault();\n this.control()?.focus();\n }\n\n protected onDragOver(event: DragEvent) {\n if (!carriesFiles(event) || this.off()) return;\n event.preventDefault();\n this.dropTarget.set(true);\n }\n\n protected onDragLeave(event: DragEvent) {\n const next = event.relatedTarget as Node | null;\n if (next === null || !this.element.contains(next)) this.dropTarget.set(false);\n }\n\n protected onDrop(event: DragEvent) {\n this.dropTarget.set(false);\n if (!carriesFiles(event)) return;\n event.preventDefault();\n this.attachFiles(Array.from(event.dataTransfer?.files ?? []), 'drop', event);\n }\n}\n","import {\n booleanAttribute,\n computed,\n Directive,\n effect,\n ElementRef,\n forwardRef,\n HostAttributeToken,\n inject,\n input,\n numberAttribute,\n output,\n signal,\n} from '@angular/core';\nimport type { OnInit } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport type { ControlValueAccessor } from '@angular/forms';\nimport { SlField } from '@slotted/angular/field';\nimport { createControllable } from '@slotted/core/state';\nimport type { ChangeReason, ChangeRequest } from '@slotted/core/state';\n\nimport { SlPromptComposer } from './prompt-composer';\nimport { SlPromptComposerControl } from './prompt-composer-defaults';\n\n/**\n * The value. Enter sends unless the composer's `submitOn` is `mod-enter`;\n * Mod+Enter always sends; Shift+Enter is the platform's line break; nothing is\n * sent while an input method is composing, because there Enter confirms the\n * composition. Files pasted with or without text go to the composer's\n * `attach`.\n *\n * The element owns the characters, as in `text-field`: a form's `writeValue`\n * and a `[value]` binding write the element, and the directive keeps a mirror\n * for the send and the count.\n */\n@Directive({\n selector: 'textarea[slPromptComposerInput]',\n standalone: true,\n exportAs: 'slPromptComposerInput',\n providers: [\n { provide: SlPromptComposerControl, useExisting: forwardRef(() => SlPromptComposerInput) },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SlPromptComposerInput),\n multi: true,\n },\n ],\n host: {\n 'data-part': 'input',\n 'data-part-input': '',\n '[attr.id]': 'controlId()',\n '[attr.dir]': \"writtenDir ?? 'auto'\",\n '[attr.rows]': 'rows()',\n '[attr.aria-describedby]': 'describedBy()',\n '[attr.aria-invalid]': \"resolvedInvalid() === true ? 'true' : null\",\n '[attr.aria-required]': \"field?.required() === true ? 'true' : null\",\n '[attr.disabled]': \"resolvedDisabled() === true ? '' : null\",\n '[attr.readonly]': \"resolvedReadOnly() === true ? '' : null\",\n '[style.--slotted-prompt-composer-rows]': 'rows()',\n '[style.--slotted-prompt-composer-max-rows]': 'maxRows() ?? null',\n '(input)': 'onInput($event)',\n '(keydown)': 'onKeyDown($event)',\n '(paste)': 'onPaste($event)',\n '(blur)': 'onTouchedFn()',\n },\n})\nexport class SlPromptComposerInput\n implements ControlValueAccessor, OnInit, SlPromptComposerControl\n{\n /** Present means the consumer owns the value. */\n readonly value = input<string | undefined>(undefined);\n readonly defaultValue = input<string | undefined>(undefined);\n readonly disabled = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value: boolean | string | undefined) =>\n value === undefined ? undefined : booleanAttribute(value),\n });\n readonly readOnly = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value: boolean | string | undefined) =>\n value === undefined ? undefined : booleanAttribute(value),\n });\n readonly invalid = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value: boolean | string | undefined) =>\n value === undefined ? undefined : booleanAttribute(value),\n });\n /** The fewest lines the value shows. */\n readonly rows = input(1, { transform: numberAttribute });\n /** The most lines it grows to before it scrolls. */\n readonly maxRows = input<number | undefined, unknown>(undefined, {\n transform: (value) => (value == null ? undefined : numberAttribute(value)),\n });\n /** Publishes the length of the value to the field, which draws the count. */\n readonly showCount = input(false, { transform: booleanAttribute });\n\n /** Before the value moves: `keyboard` for an edit, `submit` for the clearing after a send. */\n readonly valueChange = output<ChangeRequest<string>>();\n\n private readonly element: HTMLTextAreaElement = inject(ElementRef).nativeElement;\n private readonly composer = inject(SlPromptComposer);\n protected readonly field = inject(SlField, { optional: true });\n protected readonly writtenDir = inject(new HostAttributeToken('dir'), { optional: true });\n private readonly writtenId = inject(new HostAttributeToken('id'), { optional: true });\n private readonly writtenMaxLength = inject(new HostAttributeToken('maxlength'), {\n optional: true,\n });\n\n private readonly mirror = signal('');\n private readonly formDisabled = signal<boolean | undefined>(undefined);\n private onChangeFn: (value: string) => void = () => undefined;\n protected onTouchedFn: () => void = () => undefined;\n\n readonly current = this.mirror.asReadonly();\n readonly resolvedDisabled = computed(\n () => this.disabled() ?? this.formDisabled() ?? this.field?.resolvedDisabled(),\n );\n readonly resolvedReadOnly = computed(() => this.readOnly() ?? this.field?.resolvedReadOnly());\n readonly resolvedInvalid = computed(() => this.invalid() ?? this.field?.invalid());\n\n protected readonly controlId = computed(\n () => this.writtenId ?? this.field?.ids().control ?? null,\n );\n protected readonly describedBy = computed(() => this.field?.describedBy() || null);\n\n constructor() {\n effect(() => {\n const next = this.value();\n if (next === undefined || next === this.element.value) return;\n this.element.value = next;\n this.mirror.set(next);\n });\n\n effect(() => {\n if (this.field === null) return;\n if (!this.showCount()) {\n this.field.setCount(undefined);\n return;\n }\n const max = this.writtenMaxLength === null ? undefined : Number(this.writtenMaxLength);\n this.field.setCount({ length: this.mirror().length, max });\n });\n }\n\n ngOnInit() {\n const initial = this.defaultValue() ?? this.element.value;\n if (initial !== this.element.value) this.element.value = initial;\n this.mirror.set(this.element.value);\n }\n\n /** The native element, for `focus()`, `select()` and `setSelectionRange()`. */\n get inputElement(): HTMLTextAreaElement {\n return this.element;\n }\n\n focus() {\n this.element.focus();\n }\n\n writeValue(value: string | null | undefined) {\n this.element.value = value ?? '';\n this.mirror.set(this.element.value);\n }\n\n registerOnChange(fn: (value: string) => void) {\n this.onChangeFn = fn;\n }\n\n registerOnTouched(fn: () => void) {\n this.onTouchedFn = fn;\n }\n\n setDisabledState(isDisabled: boolean) {\n this.formDisabled.set(isDisabled);\n }\n\n clearAfterSubmit(source: Event) {\n if (!this.request('', 'submit', source)) return;\n this.element.value = '';\n this.mirror.set('');\n this.onChangeFn('');\n }\n\n protected onInput(event: Event) {\n const next = this.element.value;\n if (this.request(next, 'keyboard', event)) {\n this.mirror.set(next);\n this.onChangeFn(next);\n } else {\n this.element.value = this.mirror();\n }\n }\n\n protected onKeyDown(event: KeyboardEvent) {\n if (event.defaultPrevented || event.key !== 'Enter' || event.shiftKey) return;\n if (event.isComposing || event.keyCode === 229) return;\n const mod = event.metaKey || event.ctrlKey;\n if (!mod && this.composer.resolvedSubmitOn() !== 'enter') return;\n event.preventDefault();\n this.composer.submitWith('keyboard', event);\n }\n\n protected onPaste(event: ClipboardEvent) {\n const files = Array.from(event.clipboardData?.files ?? []);\n if (files.length === 0) return;\n if (event.clipboardData?.getData('text/plain') === '') event.preventDefault();\n this.composer.attachFiles(files, 'paste', event);\n }\n\n private request(next: string, reason: ChangeReason, source: Event): boolean {\n if (next === this.mirror()) return false;\n let cancelled = false;\n const state = createControllable<string>({\n controlled: undefined,\n initial: this.mirror(),\n onRequest: (request) => {\n this.valueChange.emit(request);\n cancelled = request.cancelled;\n },\n });\n state.request(next, reason, source);\n return !cancelled;\n }\n}\n","import { writeSelectorKey } from '@slotted/core/selector-key';\nimport {\n afterNextRender,\n ChangeDetectionStrategy,\n Component,\n computed,\n Directive,\n ElementRef,\n HostAttributeToken,\n inject,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport { SlGlyph, SlIcon } from '@slotted/angular/icon';\n\nimport { SlPromptComposer } from './prompt-composer';\n\n/** The band above the value: attachments, a quoted reply, a context chip. */\n@Directive({\n selector: '[slPromptComposerHeader]',\n standalone: true,\n host: { 'data-part': 'header', 'data-part-header': '' },\n})\nexport class SlPromptComposerHeader {}\n\n/** The band below the value: tools on the start, the send at the end. */\n@Directive({\n selector: '[slPromptComposerFooter]',\n standalone: true,\n host: { 'data-part': 'footer', 'data-part-footer': '' },\n})\nexport class SlPromptComposerFooter {}\n\n/**\n * A button of the consumer's in a band: a model menu, a tool, Cancelar.\n * `slMenuTriggerFor` on the same element binds `data-part` to `null`, and the\n * binding is a constant, so the part is written back once after the first\n * render — the rule `menu` records for its own trigger.\n */\n@Directive({\n selector: 'button[slPromptComposerAction]',\n standalone: true,\n exportAs: 'slPromptComposerAction',\n host: { 'data-part': 'action', 'data-part-action': '', '[attr.type]': 'type' },\n})\nexport class SlPromptComposerAction {\n protected readonly type = inject(new HostAttributeToken('type'), { optional: true }) ?? 'button';\n\n constructor() {\n const element: HTMLElement = inject(ElementRef).nativeElement;\n afterNextRender(() => writeSelectorKey(element, 'part', 'action'));\n }\n}\n\n/**\n * The paperclip. It opens a file chooser it creates and never attaches to the\n * page, with the composer's `accept` and `multiple`; content projected into\n * the button replaces the mark.\n */\n@Component({\n selector: 'button[slPromptComposerAttach]',\n standalone: true,\n imports: [SlGlyph, SlIcon],\n template: `<ng-content\n ><span slIcon><svg slGlyph name=\"paperclip\"></svg></span\n ></ng-content>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'data-part': 'attach',\n 'data-part-attach': '',\n type: 'button',\n '[attr.aria-label]': \"label ?? composer.t('attach')\",\n '[disabled]': 'composer.off()',\n '(click)': 'open()',\n },\n})\nexport class SlPromptComposerAttach {\n protected readonly composer = inject(SlPromptComposer);\n protected readonly label = inject(new HostAttributeToken('aria-label'), { optional: true });\n\n protected open() {\n const picker = document.createElement('input');\n picker.type = 'file';\n picker.multiple = this.composer.multiple();\n const accept = this.composer.accept();\n if (accept !== undefined) picker.accept = accept;\n picker.addEventListener(\n 'change',\n (event) => this.composer.attachFiles(Array.from(picker.files ?? []), 'pointer', event),\n { once: true },\n );\n picker.click();\n }\n}\n\n/**\n * The send. Round and named by the provider's label for its status; a padded\n * word when given text, which then names it. It turns into a busy ring while\n * the request travels, a stop inside the ring while the answer streams, and a\n * retry after an error.\n */\n@Component({\n selector: 'button[slPromptComposerSubmit]',\n standalone: true,\n imports: [SlGlyph, SlIcon],\n template: `<ng-content>\n @switch (composer.status()) {\n @case ('submitted') {\n <span data-ui=\"spinner\" data-ui-spinner=\"\" aria-hidden=\"true\"\n ><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\">\n <circle cx=\"12\" cy=\"12\" r=\"8.875\" />\n <circle cx=\"12\" cy=\"12\" r=\"8.875\" pathLength=\"100\" /></svg\n ></span>\n }\n @case ('streaming') {\n <span data-ui=\"spinner\" data-ui-spinner=\"\" aria-hidden=\"true\"\n ><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\">\n <circle cx=\"12\" cy=\"12\" r=\"8.875\" />\n <circle cx=\"12\" cy=\"12\" r=\"8.875\" pathLength=\"100\" /></svg\n ></span>\n <span slIcon><svg slGlyph name=\"stop\"></svg></span>\n }\n @case ('error') {\n <span slIcon><svg slGlyph name=\"rotate-ccw\"></svg></span>\n }\n @default {\n <span slIcon><svg slGlyph name=\"arrow-up\"></svg></span>\n }\n }\n </ng-content>`,\n styleUrl: '../../../styles/src/spinner/spinner.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'data-part': 'submit',\n 'data-part-submit': '',\n '[attr.type]': \"composer.busy() ? 'button' : 'submit'\",\n '[attr.aria-label]': 'named() ? null : label()',\n '[attr.aria-disabled]': \"composer.status() === 'submitted' ? 'true' : null\",\n '[disabled]':\n \"composer.status() === 'streaming' ? false : composer.status() !== 'submitted' && !composer.resolvedCanSubmit()\",\n '(click)': 'activate($event)',\n },\n})\nexport class SlPromptComposerSubmit {\n protected readonly composer = inject(SlPromptComposer);\n private readonly element: HTMLButtonElement = inject(ElementRef).nativeElement;\n /** Whether the consumer named the button with words of its own. */\n protected readonly named = signal(false);\n\n protected readonly label = computed(() => {\n const { t } = this.composer;\n switch (this.composer.status()) {\n case 'streaming':\n return t('stop');\n case 'submitted':\n return t('sending');\n case 'error':\n return t('retry');\n default:\n return t('send');\n }\n });\n\n constructor() {\n afterNextRender(() => this.named.set((this.element.textContent ?? '').trim() !== ''));\n }\n\n protected activate(event: MouseEvent) {\n event.preventDefault();\n const reason = event.detail === 0 ? 'keyboard' : 'pointer';\n const status = this.composer.status();\n if (status === 'streaming') this.composer.stopWith(reason, event);\n else if (status !== 'submitted') this.composer.submitWith(reason, event);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -77,16 +77,18 @@ class SlProse {
77
77
  resolvedFlow = computed(() => this.flow() ?? this.defaults.flow, /* @ts-ignore */
78
78
  ...(ngDevMode ? [{ debugName: "resolvedFlow" }] : /* istanbul ignore next */ []));
79
79
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlProse, deps: [], target: i0.ɵɵFactoryTarget.Component });
80
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.7", type: SlProse, isStandalone: true, selector: "[slProse]", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, flow: { classPropertyName: "flow", publicName: "flow", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-ui": "prose", "data-part": "root" }, properties: { "attr.data-size": "resolvedSize()", "attr.data-flow": "resolvedFlow()" } }, exportAs: ["slProse"], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: ["@layer slotted.components{[data-ui=prose]{--_flow: var(--slotted-prose-flow-normal, 1.15em);--_h1: var(--slotted-prose-h1-size, 2em);--_h2: var(--slotted-prose-h2-size, 1.5em);--_h3: var(--slotted-prose-h3-size, 1.25em);--_h4: var(--slotted-prose-h4-size, 1.125em);--_h5: var(--slotted-prose-h5-size, 1em);--_h6: var(--slotted-prose-h6-size, .875em);--_muted: var(--slotted-text-muted, GrayText);--_rule: var(--slotted-border-subtle, ButtonBorder);--_ground: var(--slotted-surface-sunken, Canvas);container-name:slotted-prose;container-type:inline-size;font-family:var( --slotted-prose-font-family, var(--slotted-font-family-sans, ui-sans-serif, system-ui, sans-serif) );font-size:var(--slotted-font-size-lg, 1rem);line-height:var(--slotted-prose-line-height, var(--slotted-line-height-md, 1.5));overflow-wrap:anywhere}[data-ui=prose][data-size=md]{font-size:var(--slotted-font-size-md, .875rem)}[data-ui=prose][data-size=lg]{font-size:var(--slotted-font-size-lg, 1rem)}[data-ui=prose][data-size=xl]{font-size:var(--slotted-font-size-xl, 1.125rem)}[data-ui=prose][data-flow=tight]{--_flow: var(--slotted-prose-flow-tight, .75em)}[data-ui=prose][data-flow=normal]{--_flow: var(--slotted-prose-flow-normal, 1.15em)}[data-ui=prose][data-flow=loose]{--_flow: var(--slotted-prose-flow-loose, 1.6em)}[data-ui=prose] :where(p,ul,ol,dl,pre,table,figure,blockquote,details,hr,h1,h2,h3,h4,h5,h6,[data-part=scroll],[data-part=footnotes]):not(:where([data-part=exclude],[data-part=exclude] *)){margin-block-end:0;margin-block-start:var(--_flow)}[data-ui=prose]>:first-child,[data-ui=prose] :where(li,blockquote,td,th,details,figure,[data-part=scroll])>:first-child{margin-block-start:0}[data-ui=prose] :where(h1,h2,h3,h4,h5,h6):not(:where([data-part=exclude],[data-part=exclude] *)){color:var(--slotted-text, CanvasText);font-family:var( --slotted-font-family-heading, var(--slotted-font-family-sans, ui-sans-serif, system-ui, sans-serif) );font-weight:var(--slotted-font-weight-semibold, 600);line-height:var(--slotted-line-height-2xl, 1.4);margin-block-start:calc(var(--_flow) * 1.75);scroll-margin-block-start:var(--_flow);text-wrap:balance}[data-ui=prose] :where(h1,h2,h3,h4,h5,h6)+:not(:where([data-part=exclude],[data-part=exclude] *)){margin-block-start:calc(var(--_flow) * .5)}[data-ui=prose] :where(h1):not(:where([data-part=exclude],[data-part=exclude] *)){font-size:var(--_h1);line-height:var(--slotted-line-height-3xl, 1.3)}[data-ui=prose] :where(h2):not(:where([data-part=exclude],[data-part=exclude] *)){font-size:var(--_h2);line-height:var(--slotted-line-height-3xl, 1.3)}[data-ui=prose] :where(h3):not(:where([data-part=exclude],[data-part=exclude] *)){font-size:var(--_h3)}[data-ui=prose] :where(h4):not(:where([data-part=exclude],[data-part=exclude] *)){font-size:var(--_h4)}[data-ui=prose] :where(h5):not(:where([data-part=exclude],[data-part=exclude] *)){font-size:var(--_h5)}[data-ui=prose] :where(h6):not(:where([data-part=exclude],[data-part=exclude] *)){color:var(--_muted);font-size:var(--_h6);letter-spacing:var(--slotted-prose-h6-tracking, .06em);text-transform:uppercase}[data-ui=prose] :where(h6):not(:where([data-part=exclude],[data-part=exclude] *)):where(:lang(ar),:lang(fa),:lang(ur)){letter-spacing:normal;text-transform:none}[data-ui=prose] :where(p):not(:where([data-part=exclude],[data-part=exclude] *)){text-wrap:pretty}[data-ui=prose] :where(strong,b):not(:where([data-part=exclude],[data-part=exclude] *)){font-weight:var(--slotted-font-weight-semibold, 600)}[data-ui=prose] :where(small):not(:where([data-part=exclude],[data-part=exclude] *)){font-size:var(--slotted-prose-small-size, .875em)}[data-ui=prose] :where(mark):not(:where([data-part=exclude],[data-part=exclude] *)){background-color:var(--slotted-tone-warning-surface, Mark);border-radius:var(--slotted-radius-xs, 2px);color:var(--slotted-tone-warning-text, MarkText);padding-inline:var(--slotted-prose-mark-inset, .2em)}[data-ui=prose] :where(abbr[title]):not(:where([data-part=exclude],[data-part=exclude] *)){text-decoration-line:underline;text-decoration-style:dotted;text-underline-offset:.2em}[data-ui=prose] :where(sub,sup):not(:where([data-part=exclude],[data-part=exclude] *)){font-size:.75em;line-height:0}[data-ui=prose] :where(a[href]):not(:where([data-part=exclude],[data-part=exclude] *)){color:var(--slotted-link-color, var(--slotted-tone-accent-text, LinkText));text-decoration-color:var( --slotted-link-underline-color, color-mix(in oklab, currentColor 55%, transparent) );text-decoration-line:underline;text-decoration-thickness:var(--slotted-link-underline-thickness, from-font);text-underline-offset:var(--slotted-link-underline-offset, .15em);transition:color var(--slotted-duration-short) var(--slotted-easing-standard),text-decoration-color var(--slotted-duration-short) var(--slotted-easing-standard)}[data-ui=prose] :where(a[href]):not(:where([data-part=exclude],[data-part=exclude] *)):not([data-disabled]):hover{color:var( --slotted-link-color-hover, color-mix( in oklab, var(--slotted-link-color, var(--slotted-tone-accent-text, LinkText)) 65%, var(--slotted-text, CanvasText) ) );text-decoration-color:currentColor}[data-ui=prose] :where(a[href]):not(:where([data-part=exclude],[data-part=exclude] *)):focus-visible{outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:var(--slotted-link-focus-ring-offset, 1px)}[data-ui=prose] :where(ul,ol):not(:where([data-part=exclude],[data-part=exclude] *)){padding-inline-start:var(--slotted-prose-list-inset, 1.5em)}[data-ui=prose] :where(li):not(:where([data-part=exclude],[data-part=exclude] *)){margin-block-start:calc(var(--_flow) * .35);padding-inline-start:var(--slotted-prose-marker-gap, .25em)}[data-ui=prose] :where(li):not(:where([data-part=exclude],[data-part=exclude] *))::marker{color:var(--_muted)}[data-ui=prose] :where(li)>:where(ul,ol):not(:where([data-part=exclude],[data-part=exclude] *)){margin-block-start:calc(var(--_flow) * .35)}[data-ui=prose] :where(dt):not(:where([data-part=exclude],[data-part=exclude] *)){font-weight:var(--slotted-font-weight-semibold, 600);margin-block-start:calc(var(--_flow) * .5)}[data-ui=prose] :where(dd):not(:where([data-part=exclude],[data-part=exclude] *)){margin-inline-start:var(--slotted-prose-list-inset, 1.5em)}[data-ui=prose] :where(blockquote):not(:where([data-part=exclude],[data-part=exclude] *)){border-inline-start:var( --slotted-prose-quote-thickness, var(--slotted-border-width-thick, 2px) ) solid var(--slotted-prose-quote-color, var(--slotted-border-strong, ButtonBorder));color:var(--_muted);margin-inline:0;padding-inline-start:var(--slotted-prose-quote-inset, 1em)}[data-ui=prose] :where(figure):not(:where([data-part=exclude],[data-part=exclude] *)){margin-inline:0}[data-ui=prose] :where(figcaption,caption):not(:where([data-part=exclude],[data-part=exclude] *)){color:var(--_muted);font-size:var(--slotted-prose-caption-size, .875em);margin-block-start:calc(var(--_flow) * .5);text-align:start}[data-ui=prose] :where(img,svg,video,canvas):not(:where([data-part=exclude],[data-part=exclude] *)){block-size:auto;border-radius:var(--slotted-prose-media-radius, var(--slotted-radius-md, 6px));display:block;max-inline-size:100%}[data-ui=prose] :where(code,kbd,samp,var):not(:where([data-part=exclude],[data-part=exclude] *)){font-family:var(--slotted-font-family-mono, ui-monospace, monospace);font-size:var(--slotted-prose-code-size, .9em)}[data-ui=prose] :where(code):not(:where([data-part=exclude],[data-part=exclude] *)){background-color:var(--_ground);border:var(--slotted-border-width-thin, 1px) solid var(--_rule);border-radius:var(--slotted-radius-sm, 4px);padding-inline:var(--slotted-prose-code-inset, .3em)}[data-ui=prose] :where(kbd):not(:where([data-part=exclude],[data-part=exclude] *)){background-color:var(--slotted-surface-raised, Canvas);border:var(--slotted-kbd-border-width, var(--slotted-border-width-thin, 1px)) solid var(--slotted-border-strong, ButtonBorder);border-radius:var(--slotted-kbd-radius, var(--slotted-radius-sm, 4px));font-family:var(--slotted-kbd-font-family, var(--slotted-font-family-mono, monospace));font-weight:var(--slotted-kbd-font-weight, var(--slotted-font-weight-medium, 500));padding-inline:var(--slotted-prose-code-inset, .3em)}[data-ui=prose] :where(pre):not(:where([data-part=exclude],[data-part=exclude] *)){background-color:var(--_ground);direction:ltr;border:var(--slotted-border-width-thin, 1px) solid var(--_rule);border-radius:var(--slotted-prose-media-radius, var(--slotted-radius-md, 6px));overflow-x:auto;padding-block:var(--slotted-space-5, .75rem);padding-inline:var(--slotted-space-6, 1rem)}[data-ui=prose] :where(pre)>:where(code):not(:where([data-part=exclude],[data-part=exclude] *)){background-color:transparent;border:0;border-radius:0;font-size:inherit;padding-inline:0}[data-ui=prose] :where(table):not(:where([data-part=exclude],[data-part=exclude] *)){border-collapse:collapse;inline-size:100%;text-align:start}[data-ui=prose] [data-part=scroll]>:where(table):not(:where([data-part=exclude],[data-part=exclude] *)){inline-size:max-content;min-inline-size:100%}[data-ui=prose] :where(th,td):not(:where([data-part=exclude],[data-part=exclude] *)){padding-block:var(--slotted-space-4, .5rem);padding-inline:var(--slotted-space-5, .75rem);text-align:start;vertical-align:baseline}[data-ui=prose] :where(th):not(:where([data-part=exclude],[data-part=exclude] *)){font-weight:var(--slotted-font-weight-semibold, 600)}[data-ui=prose] :where(thead)>:where(tr)>:where(th,td):not(:where([data-part=exclude],[data-part=exclude] *)){border-block-end:var(--slotted-border-width-thin, 1px) solid var(--slotted-border-strong, ButtonBorder)}[data-ui=prose] :where(tr+tr)>:where(th,td):not(:where([data-part=exclude],[data-part=exclude] *)){border-block-start:var(--slotted-border-width-thin, 1px) solid var(--_rule)}[data-ui=prose] :where(hr):not(:where([data-part=exclude],[data-part=exclude] *)){border:0;border-block-start:var(--slotted-divider-thickness, var(--slotted-border-width-thin, 1px)) solid var(--slotted-divider-color, var(--slotted-border-subtle, ButtonBorder));margin-block-start:calc(var(--_flow) * 1.75)}[data-ui=prose] :where(summary):not(:where([data-part=exclude],[data-part=exclude] *)){cursor:pointer;font-weight:var(--slotted-font-weight-medium, 500)}[data-ui=prose] :where(summary):not(:where([data-part=exclude],[data-part=exclude] *)):focus-visible{outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:var(--slotted-prose-focus-ring-offset, 2px)}[data-ui=prose] [data-part=lead]+:not(:where([data-part=exclude],[data-part=exclude] *)){margin-block-start:calc(var(--_flow) * 1.35)}[data-ui=prose] [data-part=lead]{color:var(--_muted);font-size:var(--slotted-prose-lead-size, 1.125em);line-height:var(--slotted-prose-lead-line-height, var(--slotted-line-height-lg, 1.5));text-wrap:pretty}[data-ui=prose] [data-part=anchor]{align-items:center;color:var(--_muted);display:inline-flex;justify-content:center;margin-inline-start:var(--slotted-prose-anchor-gap, .35em);min-block-size:var(--slotted-target-min, 24px);min-inline-size:var(--slotted-target-min, 24px);opacity:0;text-decoration-line:none;transition:opacity var(--slotted-duration-short) var(--slotted-easing-standard)}[data-ui=prose] :where(h1,h2,h3,h4,h5,h6):hover>[data-part=anchor]:not([data-disabled]),[data-ui=prose] [data-part=anchor]:focus-visible{opacity:1}[data-ui=prose] [data-part=anchor]:focus-visible{border-radius:var(--slotted-radius-sm, 4px);outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:var(--slotted-prose-focus-ring-offset, 2px)}[data-ui=prose] [data-part=scroll]{max-inline-size:100%;overflow-x:auto;overscroll-behavior-inline:contain}[data-ui=prose] [data-part=scroll][tabindex]:focus-visible{outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:var(--slotted-prose-focus-ring-offset, 2px)}[data-ui=prose] [data-part=footnotes]{border-block-start:var(--slotted-border-width-thin, 1px) solid var(--_rule);color:var(--_muted);font-size:var(--slotted-prose-footnotes-size, .875em);margin-block-start:calc(var(--_flow) * 2);padding-block-start:var(--_flow)}[data-ui=prose] [data-part=exclude]{font-family:var(--slotted-font-family-sans, ui-sans-serif, system-ui, sans-serif);font-size:var(--slotted-font-size-md, .875rem);line-height:var(--slotted-line-height-md, 1.5);overflow-wrap:normal;text-wrap:wrap}@container slotted-prose (max-width: 34rem){[data-ui=prose] :where(h1):not(:where([data-part=exclude],[data-part=exclude] *)){font-size:var(--slotted-prose-h1-size-narrow, 1.6em)}[data-ui=prose] :where(h2):not(:where([data-part=exclude],[data-part=exclude] *)){font-size:var(--slotted-prose-h2-size-narrow, 1.35em)}}@container slotted-prose (max-width: 22rem){[data-ui=prose] :where(blockquote):not(:where([data-part=exclude],[data-part=exclude] *)){padding-inline-start:calc(var(--slotted-prose-quote-inset, 1em) / 2)}[data-ui=prose] :where(ul,ol):not(:where([data-part=exclude],[data-part=exclude] *)){padding-inline-start:var(--slotted-prose-list-inset-narrow, 1.15em)}}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
80
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.7", type: SlProse, isStandalone: true, selector: "[slProse]", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, flow: { classPropertyName: "flow", publicName: "flow", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-ui": "prose", "data-ui-prose": "", "data-part": "root", "data-part-root": "" }, properties: { "attr.data-size": "resolvedSize()", "attr.data-flow": "resolvedFlow()" } }, exportAs: ["slProse"], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: ["@layer slotted.components{[data-ui-prose]{--_flow: var(--slotted-prose-flow-normal, 1.15em);--_h1: var(--slotted-prose-h1-size, 2em);--_h2: var(--slotted-prose-h2-size, 1.5em);--_h3: var(--slotted-prose-h3-size, 1.25em);--_h4: var(--slotted-prose-h4-size, 1.125em);--_h5: var(--slotted-prose-h5-size, 1em);--_h6: var(--slotted-prose-h6-size, .875em);--_muted: var(--slotted-text-muted, GrayText);--_rule: var(--slotted-border-subtle, ButtonBorder);--_ground: var(--slotted-surface-sunken, Canvas);container-name:slotted-prose;container-type:inline-size;font-family:var( --slotted-prose-font-family, var(--slotted-font-family-sans, ui-sans-serif, system-ui, sans-serif) );font-size:var(--slotted-font-size-lg, 1rem);line-height:var(--slotted-prose-line-height, var(--slotted-line-height-md, 1.5));overflow-wrap:anywhere}[data-ui-prose][data-size=md]{font-size:var(--slotted-font-size-md, .875rem)}[data-ui-prose][data-size=lg]{font-size:var(--slotted-font-size-lg, 1rem)}[data-ui-prose][data-size=xl]{font-size:var(--slotted-font-size-xl, 1.125rem)}[data-ui-prose][data-flow=tight]{--_flow: var(--slotted-prose-flow-tight, .75em)}[data-ui-prose][data-flow=normal]{--_flow: var(--slotted-prose-flow-normal, 1.15em)}[data-ui-prose][data-flow=loose]{--_flow: var(--slotted-prose-flow-loose, 1.6em)}[data-ui-prose] :where(p,ul,ol,dl,pre,table,figure,blockquote,details,hr,h1,h2,h3,h4,h5,h6,[data-part-scroll],[data-part=footnotes]):not(:where([data-part=exclude],[data-part=exclude] *)){margin-block-end:0;margin-block-start:var(--_flow)}[data-ui-prose]>:first-child,[data-ui-prose] :where(li,blockquote,td,th,details,figure,[data-part-scroll])>:first-child{margin-block-start:0}[data-ui-prose] :where(h1,h2,h3,h4,h5,h6):not(:where([data-part=exclude],[data-part=exclude] *)){color:var(--slotted-text, CanvasText);font-family:var( --slotted-font-family-heading, var(--slotted-font-family-sans, ui-sans-serif, system-ui, sans-serif) );font-weight:var(--slotted-font-weight-semibold, 600);line-height:var(--slotted-line-height-2xl, 1.4);margin-block-start:calc(var(--_flow) * 1.75);scroll-margin-block-start:var(--_flow);text-wrap:balance}[data-ui-prose] :where(h1,h2,h3,h4,h5,h6)+:not(:where([data-part=exclude],[data-part=exclude] *)){margin-block-start:calc(var(--_flow) * .5)}[data-ui-prose] :where(h1):not(:where([data-part=exclude],[data-part=exclude] *)){font-size:var(--_h1);line-height:var(--slotted-line-height-3xl, 1.3)}[data-ui-prose] :where(h2):not(:where([data-part=exclude],[data-part=exclude] *)){font-size:var(--_h2);line-height:var(--slotted-line-height-3xl, 1.3)}[data-ui-prose] :where(h3):not(:where([data-part=exclude],[data-part=exclude] *)){font-size:var(--_h3)}[data-ui-prose] :where(h4):not(:where([data-part=exclude],[data-part=exclude] *)){font-size:var(--_h4)}[data-ui-prose] :where(h5):not(:where([data-part=exclude],[data-part=exclude] *)){font-size:var(--_h5)}[data-ui-prose] :where(h6):not(:where([data-part=exclude],[data-part=exclude] *)){color:var(--_muted);font-size:var(--_h6);letter-spacing:var(--slotted-prose-h6-tracking, .06em);text-transform:uppercase}[data-ui-prose] :where(h6):not(:where([data-part=exclude],[data-part=exclude] *)):where(:lang(ar),:lang(fa),:lang(ur)){letter-spacing:normal;text-transform:none}[data-ui-prose] :where(p):not(:where([data-part=exclude],[data-part=exclude] *)){text-wrap:pretty}[data-ui-prose] :where(strong,b):not(:where([data-part=exclude],[data-part=exclude] *)){font-weight:var(--slotted-font-weight-semibold, 600)}[data-ui-prose] :where(small):not(:where([data-part=exclude],[data-part=exclude] *)){font-size:var(--slotted-prose-small-size, .875em)}[data-ui-prose] :where(mark):not(:where([data-part=exclude],[data-part=exclude] *)){background-color:var(--slotted-tone-warning-surface, Mark);border-radius:var(--slotted-radius-xs, 2px);color:var(--slotted-tone-warning-text, MarkText);padding-inline:var(--slotted-prose-mark-inset, .2em)}[data-ui-prose] :where(abbr[title]):not(:where([data-part=exclude],[data-part=exclude] *)){text-decoration-line:underline;text-decoration-style:dotted;text-underline-offset:.2em}[data-ui-prose] :where(sub,sup):not(:where([data-part=exclude],[data-part=exclude] *)){font-size:.75em;line-height:0}[data-ui-prose] :where(a[href]):not(:where([data-part=exclude],[data-part=exclude] *)){color:var(--slotted-link-color, var(--slotted-tone-accent-text, LinkText));text-decoration-color:var( --slotted-link-underline-color, color-mix(in oklab, currentColor 55%, transparent) );text-decoration-line:underline;text-decoration-thickness:var(--slotted-link-underline-thickness, from-font);text-underline-offset:var(--slotted-link-underline-offset, .15em);transition:color var(--slotted-duration-short) var(--slotted-easing-standard),text-decoration-color var(--slotted-duration-short) var(--slotted-easing-standard)}[data-ui-prose] :where(a[href]):not(:where([data-part=exclude],[data-part=exclude] *)):not([data-disabled]):hover{color:var( --slotted-link-color-hover, color-mix( in oklab, var(--slotted-link-color, var(--slotted-tone-accent-text, LinkText)) 65%, var(--slotted-text, CanvasText) ) );text-decoration-color:currentColor}[data-ui-prose] :where(a[href]):not(:where([data-part=exclude],[data-part=exclude] *)):focus-visible{outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:var(--slotted-link-focus-ring-offset, 1px)}[data-ui-prose] :where(ul,ol):not(:where([data-part=exclude],[data-part=exclude] *)){padding-inline-start:var(--slotted-prose-list-inset, 1.5em)}[data-ui-prose] :where(li):not(:where([data-part=exclude],[data-part=exclude] *)){margin-block-start:calc(var(--_flow) * .35);padding-inline-start:var(--slotted-prose-marker-gap, .25em)}[data-ui-prose] :where(li):not(:where([data-part=exclude],[data-part=exclude] *))::marker{color:var(--_muted)}[data-ui-prose] :where(li)>:where(ul,ol):not(:where([data-part=exclude],[data-part=exclude] *)){margin-block-start:calc(var(--_flow) * .35)}[data-ui-prose] :where(dt):not(:where([data-part=exclude],[data-part=exclude] *)){font-weight:var(--slotted-font-weight-semibold, 600);margin-block-start:calc(var(--_flow) * .5)}[data-ui-prose] :where(dd):not(:where([data-part=exclude],[data-part=exclude] *)){margin-inline-start:var(--slotted-prose-list-inset, 1.5em)}[data-ui-prose] :where(blockquote):not(:where([data-part=exclude],[data-part=exclude] *)){border-inline-start:var( --slotted-prose-quote-thickness, var(--slotted-border-width-thick, 2px) ) solid var(--slotted-prose-quote-color, var(--slotted-border-strong, ButtonBorder));color:var(--_muted);margin-inline:0;padding-inline-start:var(--slotted-prose-quote-inset, 1em)}[data-ui-prose] :where(figure):not(:where([data-part=exclude],[data-part=exclude] *)){margin-inline:0}[data-ui-prose] :where(figcaption,caption):not(:where([data-part=exclude],[data-part=exclude] *)){color:var(--_muted);font-size:var(--slotted-prose-caption-size, .875em);margin-block-start:calc(var(--_flow) * .5);text-align:start}[data-ui-prose] :where(img,svg,video,canvas):not(:where([data-part=exclude],[data-part=exclude] *)){block-size:auto;border-radius:var(--slotted-prose-media-radius, var(--slotted-radius-md, 6px));display:block;max-inline-size:100%}[data-ui-prose] :where(code,kbd,samp,var):not(:where([data-part=exclude],[data-part=exclude] *)){font-family:var(--slotted-font-family-mono, ui-monospace, monospace);font-size:var(--slotted-prose-code-size, .9em)}[data-ui-prose] :where(code):not(:where([data-part=exclude],[data-part=exclude] *)){background-color:var(--_ground);border:var(--slotted-border-width-thin, 1px) solid var(--_rule);border-radius:var(--slotted-radius-sm, 4px);padding-inline:var(--slotted-prose-code-inset, .3em)}[data-ui-prose] :where(kbd):not(:where([data-part=exclude],[data-part=exclude] *)){background-color:var(--slotted-surface-raised, Canvas);border:var(--slotted-kbd-border-width, var(--slotted-border-width-thin, 1px)) solid var(--slotted-border-strong, ButtonBorder);border-radius:var(--slotted-kbd-radius, var(--slotted-radius-sm, 4px));font-family:var(--slotted-kbd-font-family, var(--slotted-font-family-mono, monospace));font-weight:var(--slotted-kbd-font-weight, var(--slotted-font-weight-medium, 500));padding-inline:var(--slotted-prose-code-inset, .3em)}[data-ui-prose] :where(pre):not(:where([data-part=exclude],[data-part=exclude] *)){background-color:var(--_ground);direction:ltr;border:var(--slotted-border-width-thin, 1px) solid var(--_rule);border-radius:var(--slotted-prose-media-radius, var(--slotted-radius-md, 6px));overflow-x:auto;padding-block:var(--slotted-space-5, .75rem);padding-inline:var(--slotted-space-6, 1rem)}[data-ui-prose] :where(pre)>:where(code):not(:where([data-part=exclude],[data-part=exclude] *)){background-color:transparent;border:0;border-radius:0;font-size:inherit;padding-inline:0}[data-ui-prose] :where(table):not(:where([data-part=exclude],[data-part=exclude] *)){border-collapse:collapse;inline-size:100%;text-align:start}[data-ui-prose] [data-part-scroll]>:where(table):not(:where([data-part=exclude],[data-part=exclude] *)){inline-size:max-content;min-inline-size:100%}[data-ui-prose] :where(th,td):not(:where([data-part=exclude],[data-part=exclude] *)){padding-block:var(--slotted-space-4, .5rem);padding-inline:var(--slotted-space-5, .75rem);text-align:start;vertical-align:baseline}[data-ui-prose] :where(th):not(:where([data-part=exclude],[data-part=exclude] *)){font-weight:var(--slotted-font-weight-semibold, 600)}[data-ui-prose] :where(thead)>:where(tr)>:where(th,td):not(:where([data-part=exclude],[data-part=exclude] *)){border-block-end:var(--slotted-border-width-thin, 1px) solid var(--slotted-border-strong, ButtonBorder)}[data-ui-prose] :where(tr+tr)>:where(th,td):not(:where([data-part=exclude],[data-part=exclude] *)){border-block-start:var(--slotted-border-width-thin, 1px) solid var(--_rule)}[data-ui-prose] :where(hr):not(:where([data-part=exclude],[data-part=exclude] *)){border:0;border-block-start:var(--slotted-divider-thickness, var(--slotted-border-width-thin, 1px)) solid var(--slotted-divider-color, var(--slotted-border-subtle, ButtonBorder));margin-block-start:calc(var(--_flow) * 1.75)}[data-ui-prose] :where(summary):not(:where([data-part=exclude],[data-part=exclude] *)){cursor:pointer;font-weight:var(--slotted-font-weight-medium, 500)}[data-ui-prose] :where(summary):not(:where([data-part=exclude],[data-part=exclude] *)):focus-visible{outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:var(--slotted-prose-focus-ring-offset, 2px)}[data-ui-prose] [data-part=lead]+:not(:where([data-part=exclude],[data-part=exclude] *)){margin-block-start:calc(var(--_flow) * 1.35)}[data-ui-prose] [data-part=lead]{color:var(--_muted);font-size:var(--slotted-prose-lead-size, 1.125em);line-height:var(--slotted-prose-lead-line-height, var(--slotted-line-height-lg, 1.5));text-wrap:pretty}[data-ui-prose] [data-part-anchor]{align-items:center;color:var(--_muted);display:inline-flex;justify-content:center;margin-inline-start:var(--slotted-prose-anchor-gap, .35em);min-block-size:var(--slotted-target-min, 24px);min-inline-size:var(--slotted-target-min, 24px);opacity:0;text-decoration-line:none;transition:opacity var(--slotted-duration-short) var(--slotted-easing-standard)}[data-ui-prose] :where(h1,h2,h3,h4,h5,h6):hover>[data-part-anchor]:not([data-disabled]),[data-ui-prose] [data-part-anchor]:focus-visible{opacity:1}[data-ui-prose] [data-part-anchor]:focus-visible{border-radius:var(--slotted-radius-sm, 4px);outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:var(--slotted-prose-focus-ring-offset, 2px)}[data-ui-prose] [data-part-scroll]{max-inline-size:100%;overflow-x:auto;overscroll-behavior-inline:contain}[data-ui-prose] [data-part-scroll][tabindex]:focus-visible{outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:var(--slotted-prose-focus-ring-offset, 2px)}[data-ui-prose] [data-part=footnotes]{border-block-start:var(--slotted-border-width-thin, 1px) solid var(--_rule);color:var(--_muted);font-size:var(--slotted-prose-footnotes-size, .875em);margin-block-start:calc(var(--_flow) * 2);padding-block-start:var(--_flow)}[data-ui-prose] [data-part=exclude]{font-family:var(--slotted-font-family-sans, ui-sans-serif, system-ui, sans-serif);font-size:var(--slotted-font-size-md, .875rem);line-height:var(--slotted-line-height-md, 1.5);overflow-wrap:normal;text-wrap:wrap}@container slotted-prose (max-width: 34rem){[data-ui-prose] :where(h1):not(:where([data-part=exclude],[data-part=exclude] *)){font-size:var(--slotted-prose-h1-size-narrow, 1.6em)}[data-ui-prose] :where(h2):not(:where([data-part=exclude],[data-part=exclude] *)){font-size:var(--slotted-prose-h2-size-narrow, 1.35em)}}@container slotted-prose (max-width: 22rem){[data-ui-prose] :where(blockquote):not(:where([data-part=exclude],[data-part=exclude] *)){padding-inline-start:calc(var(--slotted-prose-quote-inset, 1em) / 2)}[data-ui-prose] :where(ul,ol):not(:where([data-part=exclude],[data-part=exclude] *)){padding-inline-start:var(--slotted-prose-list-inset-narrow, 1.15em)}}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
81
81
  }
82
82
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlProse, decorators: [{
83
83
  type: Component,
84
84
  args: [{ selector: '[slProse]', standalone: true, exportAs: 'slProse', template: '<ng-content></ng-content>', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
85
85
  'data-ui': 'prose',
86
+ 'data-ui-prose': '',
86
87
  'data-part': 'root',
88
+ 'data-part-root': '',
87
89
  '[attr.data-size]': 'resolvedSize()',
88
90
  '[attr.data-flow]': 'resolvedFlow()',
89
- }, styles: ["@layer slotted.components{[data-ui=prose]{--_flow: var(--slotted-prose-flow-normal, 1.15em);--_h1: var(--slotted-prose-h1-size, 2em);--_h2: var(--slotted-prose-h2-size, 1.5em);--_h3: var(--slotted-prose-h3-size, 1.25em);--_h4: var(--slotted-prose-h4-size, 1.125em);--_h5: var(--slotted-prose-h5-size, 1em);--_h6: var(--slotted-prose-h6-size, .875em);--_muted: var(--slotted-text-muted, GrayText);--_rule: var(--slotted-border-subtle, ButtonBorder);--_ground: var(--slotted-surface-sunken, Canvas);container-name:slotted-prose;container-type:inline-size;font-family:var( --slotted-prose-font-family, var(--slotted-font-family-sans, ui-sans-serif, system-ui, sans-serif) );font-size:var(--slotted-font-size-lg, 1rem);line-height:var(--slotted-prose-line-height, var(--slotted-line-height-md, 1.5));overflow-wrap:anywhere}[data-ui=prose][data-size=md]{font-size:var(--slotted-font-size-md, .875rem)}[data-ui=prose][data-size=lg]{font-size:var(--slotted-font-size-lg, 1rem)}[data-ui=prose][data-size=xl]{font-size:var(--slotted-font-size-xl, 1.125rem)}[data-ui=prose][data-flow=tight]{--_flow: var(--slotted-prose-flow-tight, .75em)}[data-ui=prose][data-flow=normal]{--_flow: var(--slotted-prose-flow-normal, 1.15em)}[data-ui=prose][data-flow=loose]{--_flow: var(--slotted-prose-flow-loose, 1.6em)}[data-ui=prose] :where(p,ul,ol,dl,pre,table,figure,blockquote,details,hr,h1,h2,h3,h4,h5,h6,[data-part=scroll],[data-part=footnotes]):not(:where([data-part=exclude],[data-part=exclude] *)){margin-block-end:0;margin-block-start:var(--_flow)}[data-ui=prose]>:first-child,[data-ui=prose] :where(li,blockquote,td,th,details,figure,[data-part=scroll])>:first-child{margin-block-start:0}[data-ui=prose] :where(h1,h2,h3,h4,h5,h6):not(:where([data-part=exclude],[data-part=exclude] *)){color:var(--slotted-text, CanvasText);font-family:var( --slotted-font-family-heading, var(--slotted-font-family-sans, ui-sans-serif, system-ui, sans-serif) );font-weight:var(--slotted-font-weight-semibold, 600);line-height:var(--slotted-line-height-2xl, 1.4);margin-block-start:calc(var(--_flow) * 1.75);scroll-margin-block-start:var(--_flow);text-wrap:balance}[data-ui=prose] :where(h1,h2,h3,h4,h5,h6)+:not(:where([data-part=exclude],[data-part=exclude] *)){margin-block-start:calc(var(--_flow) * .5)}[data-ui=prose] :where(h1):not(:where([data-part=exclude],[data-part=exclude] *)){font-size:var(--_h1);line-height:var(--slotted-line-height-3xl, 1.3)}[data-ui=prose] :where(h2):not(:where([data-part=exclude],[data-part=exclude] *)){font-size:var(--_h2);line-height:var(--slotted-line-height-3xl, 1.3)}[data-ui=prose] :where(h3):not(:where([data-part=exclude],[data-part=exclude] *)){font-size:var(--_h3)}[data-ui=prose] :where(h4):not(:where([data-part=exclude],[data-part=exclude] *)){font-size:var(--_h4)}[data-ui=prose] :where(h5):not(:where([data-part=exclude],[data-part=exclude] *)){font-size:var(--_h5)}[data-ui=prose] :where(h6):not(:where([data-part=exclude],[data-part=exclude] *)){color:var(--_muted);font-size:var(--_h6);letter-spacing:var(--slotted-prose-h6-tracking, .06em);text-transform:uppercase}[data-ui=prose] :where(h6):not(:where([data-part=exclude],[data-part=exclude] *)):where(:lang(ar),:lang(fa),:lang(ur)){letter-spacing:normal;text-transform:none}[data-ui=prose] :where(p):not(:where([data-part=exclude],[data-part=exclude] *)){text-wrap:pretty}[data-ui=prose] :where(strong,b):not(:where([data-part=exclude],[data-part=exclude] *)){font-weight:var(--slotted-font-weight-semibold, 600)}[data-ui=prose] :where(small):not(:where([data-part=exclude],[data-part=exclude] *)){font-size:var(--slotted-prose-small-size, .875em)}[data-ui=prose] :where(mark):not(:where([data-part=exclude],[data-part=exclude] *)){background-color:var(--slotted-tone-warning-surface, Mark);border-radius:var(--slotted-radius-xs, 2px);color:var(--slotted-tone-warning-text, MarkText);padding-inline:var(--slotted-prose-mark-inset, .2em)}[data-ui=prose] :where(abbr[title]):not(:where([data-part=exclude],[data-part=exclude] *)){text-decoration-line:underline;text-decoration-style:dotted;text-underline-offset:.2em}[data-ui=prose] :where(sub,sup):not(:where([data-part=exclude],[data-part=exclude] *)){font-size:.75em;line-height:0}[data-ui=prose] :where(a[href]):not(:where([data-part=exclude],[data-part=exclude] *)){color:var(--slotted-link-color, var(--slotted-tone-accent-text, LinkText));text-decoration-color:var( --slotted-link-underline-color, color-mix(in oklab, currentColor 55%, transparent) );text-decoration-line:underline;text-decoration-thickness:var(--slotted-link-underline-thickness, from-font);text-underline-offset:var(--slotted-link-underline-offset, .15em);transition:color var(--slotted-duration-short) var(--slotted-easing-standard),text-decoration-color var(--slotted-duration-short) var(--slotted-easing-standard)}[data-ui=prose] :where(a[href]):not(:where([data-part=exclude],[data-part=exclude] *)):not([data-disabled]):hover{color:var( --slotted-link-color-hover, color-mix( in oklab, var(--slotted-link-color, var(--slotted-tone-accent-text, LinkText)) 65%, var(--slotted-text, CanvasText) ) );text-decoration-color:currentColor}[data-ui=prose] :where(a[href]):not(:where([data-part=exclude],[data-part=exclude] *)):focus-visible{outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:var(--slotted-link-focus-ring-offset, 1px)}[data-ui=prose] :where(ul,ol):not(:where([data-part=exclude],[data-part=exclude] *)){padding-inline-start:var(--slotted-prose-list-inset, 1.5em)}[data-ui=prose] :where(li):not(:where([data-part=exclude],[data-part=exclude] *)){margin-block-start:calc(var(--_flow) * .35);padding-inline-start:var(--slotted-prose-marker-gap, .25em)}[data-ui=prose] :where(li):not(:where([data-part=exclude],[data-part=exclude] *))::marker{color:var(--_muted)}[data-ui=prose] :where(li)>:where(ul,ol):not(:where([data-part=exclude],[data-part=exclude] *)){margin-block-start:calc(var(--_flow) * .35)}[data-ui=prose] :where(dt):not(:where([data-part=exclude],[data-part=exclude] *)){font-weight:var(--slotted-font-weight-semibold, 600);margin-block-start:calc(var(--_flow) * .5)}[data-ui=prose] :where(dd):not(:where([data-part=exclude],[data-part=exclude] *)){margin-inline-start:var(--slotted-prose-list-inset, 1.5em)}[data-ui=prose] :where(blockquote):not(:where([data-part=exclude],[data-part=exclude] *)){border-inline-start:var( --slotted-prose-quote-thickness, var(--slotted-border-width-thick, 2px) ) solid var(--slotted-prose-quote-color, var(--slotted-border-strong, ButtonBorder));color:var(--_muted);margin-inline:0;padding-inline-start:var(--slotted-prose-quote-inset, 1em)}[data-ui=prose] :where(figure):not(:where([data-part=exclude],[data-part=exclude] *)){margin-inline:0}[data-ui=prose] :where(figcaption,caption):not(:where([data-part=exclude],[data-part=exclude] *)){color:var(--_muted);font-size:var(--slotted-prose-caption-size, .875em);margin-block-start:calc(var(--_flow) * .5);text-align:start}[data-ui=prose] :where(img,svg,video,canvas):not(:where([data-part=exclude],[data-part=exclude] *)){block-size:auto;border-radius:var(--slotted-prose-media-radius, var(--slotted-radius-md, 6px));display:block;max-inline-size:100%}[data-ui=prose] :where(code,kbd,samp,var):not(:where([data-part=exclude],[data-part=exclude] *)){font-family:var(--slotted-font-family-mono, ui-monospace, monospace);font-size:var(--slotted-prose-code-size, .9em)}[data-ui=prose] :where(code):not(:where([data-part=exclude],[data-part=exclude] *)){background-color:var(--_ground);border:var(--slotted-border-width-thin, 1px) solid var(--_rule);border-radius:var(--slotted-radius-sm, 4px);padding-inline:var(--slotted-prose-code-inset, .3em)}[data-ui=prose] :where(kbd):not(:where([data-part=exclude],[data-part=exclude] *)){background-color:var(--slotted-surface-raised, Canvas);border:var(--slotted-kbd-border-width, var(--slotted-border-width-thin, 1px)) solid var(--slotted-border-strong, ButtonBorder);border-radius:var(--slotted-kbd-radius, var(--slotted-radius-sm, 4px));font-family:var(--slotted-kbd-font-family, var(--slotted-font-family-mono, monospace));font-weight:var(--slotted-kbd-font-weight, var(--slotted-font-weight-medium, 500));padding-inline:var(--slotted-prose-code-inset, .3em)}[data-ui=prose] :where(pre):not(:where([data-part=exclude],[data-part=exclude] *)){background-color:var(--_ground);direction:ltr;border:var(--slotted-border-width-thin, 1px) solid var(--_rule);border-radius:var(--slotted-prose-media-radius, var(--slotted-radius-md, 6px));overflow-x:auto;padding-block:var(--slotted-space-5, .75rem);padding-inline:var(--slotted-space-6, 1rem)}[data-ui=prose] :where(pre)>:where(code):not(:where([data-part=exclude],[data-part=exclude] *)){background-color:transparent;border:0;border-radius:0;font-size:inherit;padding-inline:0}[data-ui=prose] :where(table):not(:where([data-part=exclude],[data-part=exclude] *)){border-collapse:collapse;inline-size:100%;text-align:start}[data-ui=prose] [data-part=scroll]>:where(table):not(:where([data-part=exclude],[data-part=exclude] *)){inline-size:max-content;min-inline-size:100%}[data-ui=prose] :where(th,td):not(:where([data-part=exclude],[data-part=exclude] *)){padding-block:var(--slotted-space-4, .5rem);padding-inline:var(--slotted-space-5, .75rem);text-align:start;vertical-align:baseline}[data-ui=prose] :where(th):not(:where([data-part=exclude],[data-part=exclude] *)){font-weight:var(--slotted-font-weight-semibold, 600)}[data-ui=prose] :where(thead)>:where(tr)>:where(th,td):not(:where([data-part=exclude],[data-part=exclude] *)){border-block-end:var(--slotted-border-width-thin, 1px) solid var(--slotted-border-strong, ButtonBorder)}[data-ui=prose] :where(tr+tr)>:where(th,td):not(:where([data-part=exclude],[data-part=exclude] *)){border-block-start:var(--slotted-border-width-thin, 1px) solid var(--_rule)}[data-ui=prose] :where(hr):not(:where([data-part=exclude],[data-part=exclude] *)){border:0;border-block-start:var(--slotted-divider-thickness, var(--slotted-border-width-thin, 1px)) solid var(--slotted-divider-color, var(--slotted-border-subtle, ButtonBorder));margin-block-start:calc(var(--_flow) * 1.75)}[data-ui=prose] :where(summary):not(:where([data-part=exclude],[data-part=exclude] *)){cursor:pointer;font-weight:var(--slotted-font-weight-medium, 500)}[data-ui=prose] :where(summary):not(:where([data-part=exclude],[data-part=exclude] *)):focus-visible{outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:var(--slotted-prose-focus-ring-offset, 2px)}[data-ui=prose] [data-part=lead]+:not(:where([data-part=exclude],[data-part=exclude] *)){margin-block-start:calc(var(--_flow) * 1.35)}[data-ui=prose] [data-part=lead]{color:var(--_muted);font-size:var(--slotted-prose-lead-size, 1.125em);line-height:var(--slotted-prose-lead-line-height, var(--slotted-line-height-lg, 1.5));text-wrap:pretty}[data-ui=prose] [data-part=anchor]{align-items:center;color:var(--_muted);display:inline-flex;justify-content:center;margin-inline-start:var(--slotted-prose-anchor-gap, .35em);min-block-size:var(--slotted-target-min, 24px);min-inline-size:var(--slotted-target-min, 24px);opacity:0;text-decoration-line:none;transition:opacity var(--slotted-duration-short) var(--slotted-easing-standard)}[data-ui=prose] :where(h1,h2,h3,h4,h5,h6):hover>[data-part=anchor]:not([data-disabled]),[data-ui=prose] [data-part=anchor]:focus-visible{opacity:1}[data-ui=prose] [data-part=anchor]:focus-visible{border-radius:var(--slotted-radius-sm, 4px);outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:var(--slotted-prose-focus-ring-offset, 2px)}[data-ui=prose] [data-part=scroll]{max-inline-size:100%;overflow-x:auto;overscroll-behavior-inline:contain}[data-ui=prose] [data-part=scroll][tabindex]:focus-visible{outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:var(--slotted-prose-focus-ring-offset, 2px)}[data-ui=prose] [data-part=footnotes]{border-block-start:var(--slotted-border-width-thin, 1px) solid var(--_rule);color:var(--_muted);font-size:var(--slotted-prose-footnotes-size, .875em);margin-block-start:calc(var(--_flow) * 2);padding-block-start:var(--_flow)}[data-ui=prose] [data-part=exclude]{font-family:var(--slotted-font-family-sans, ui-sans-serif, system-ui, sans-serif);font-size:var(--slotted-font-size-md, .875rem);line-height:var(--slotted-line-height-md, 1.5);overflow-wrap:normal;text-wrap:wrap}@container slotted-prose (max-width: 34rem){[data-ui=prose] :where(h1):not(:where([data-part=exclude],[data-part=exclude] *)){font-size:var(--slotted-prose-h1-size-narrow, 1.6em)}[data-ui=prose] :where(h2):not(:where([data-part=exclude],[data-part=exclude] *)){font-size:var(--slotted-prose-h2-size-narrow, 1.35em)}}@container slotted-prose (max-width: 22rem){[data-ui=prose] :where(blockquote):not(:where([data-part=exclude],[data-part=exclude] *)){padding-inline-start:calc(var(--slotted-prose-quote-inset, 1em) / 2)}[data-ui=prose] :where(ul,ol):not(:where([data-part=exclude],[data-part=exclude] *)){padding-inline-start:var(--slotted-prose-list-inset-narrow, 1.15em)}}}\n"] }]
91
+ }, styles: ["@layer slotted.components{[data-ui-prose]{--_flow: var(--slotted-prose-flow-normal, 1.15em);--_h1: var(--slotted-prose-h1-size, 2em);--_h2: var(--slotted-prose-h2-size, 1.5em);--_h3: var(--slotted-prose-h3-size, 1.25em);--_h4: var(--slotted-prose-h4-size, 1.125em);--_h5: var(--slotted-prose-h5-size, 1em);--_h6: var(--slotted-prose-h6-size, .875em);--_muted: var(--slotted-text-muted, GrayText);--_rule: var(--slotted-border-subtle, ButtonBorder);--_ground: var(--slotted-surface-sunken, Canvas);container-name:slotted-prose;container-type:inline-size;font-family:var( --slotted-prose-font-family, var(--slotted-font-family-sans, ui-sans-serif, system-ui, sans-serif) );font-size:var(--slotted-font-size-lg, 1rem);line-height:var(--slotted-prose-line-height, var(--slotted-line-height-md, 1.5));overflow-wrap:anywhere}[data-ui-prose][data-size=md]{font-size:var(--slotted-font-size-md, .875rem)}[data-ui-prose][data-size=lg]{font-size:var(--slotted-font-size-lg, 1rem)}[data-ui-prose][data-size=xl]{font-size:var(--slotted-font-size-xl, 1.125rem)}[data-ui-prose][data-flow=tight]{--_flow: var(--slotted-prose-flow-tight, .75em)}[data-ui-prose][data-flow=normal]{--_flow: var(--slotted-prose-flow-normal, 1.15em)}[data-ui-prose][data-flow=loose]{--_flow: var(--slotted-prose-flow-loose, 1.6em)}[data-ui-prose] :where(p,ul,ol,dl,pre,table,figure,blockquote,details,hr,h1,h2,h3,h4,h5,h6,[data-part-scroll],[data-part=footnotes]):not(:where([data-part=exclude],[data-part=exclude] *)){margin-block-end:0;margin-block-start:var(--_flow)}[data-ui-prose]>:first-child,[data-ui-prose] :where(li,blockquote,td,th,details,figure,[data-part-scroll])>:first-child{margin-block-start:0}[data-ui-prose] :where(h1,h2,h3,h4,h5,h6):not(:where([data-part=exclude],[data-part=exclude] *)){color:var(--slotted-text, CanvasText);font-family:var( --slotted-font-family-heading, var(--slotted-font-family-sans, ui-sans-serif, system-ui, sans-serif) );font-weight:var(--slotted-font-weight-semibold, 600);line-height:var(--slotted-line-height-2xl, 1.4);margin-block-start:calc(var(--_flow) * 1.75);scroll-margin-block-start:var(--_flow);text-wrap:balance}[data-ui-prose] :where(h1,h2,h3,h4,h5,h6)+:not(:where([data-part=exclude],[data-part=exclude] *)){margin-block-start:calc(var(--_flow) * .5)}[data-ui-prose] :where(h1):not(:where([data-part=exclude],[data-part=exclude] *)){font-size:var(--_h1);line-height:var(--slotted-line-height-3xl, 1.3)}[data-ui-prose] :where(h2):not(:where([data-part=exclude],[data-part=exclude] *)){font-size:var(--_h2);line-height:var(--slotted-line-height-3xl, 1.3)}[data-ui-prose] :where(h3):not(:where([data-part=exclude],[data-part=exclude] *)){font-size:var(--_h3)}[data-ui-prose] :where(h4):not(:where([data-part=exclude],[data-part=exclude] *)){font-size:var(--_h4)}[data-ui-prose] :where(h5):not(:where([data-part=exclude],[data-part=exclude] *)){font-size:var(--_h5)}[data-ui-prose] :where(h6):not(:where([data-part=exclude],[data-part=exclude] *)){color:var(--_muted);font-size:var(--_h6);letter-spacing:var(--slotted-prose-h6-tracking, .06em);text-transform:uppercase}[data-ui-prose] :where(h6):not(:where([data-part=exclude],[data-part=exclude] *)):where(:lang(ar),:lang(fa),:lang(ur)){letter-spacing:normal;text-transform:none}[data-ui-prose] :where(p):not(:where([data-part=exclude],[data-part=exclude] *)){text-wrap:pretty}[data-ui-prose] :where(strong,b):not(:where([data-part=exclude],[data-part=exclude] *)){font-weight:var(--slotted-font-weight-semibold, 600)}[data-ui-prose] :where(small):not(:where([data-part=exclude],[data-part=exclude] *)){font-size:var(--slotted-prose-small-size, .875em)}[data-ui-prose] :where(mark):not(:where([data-part=exclude],[data-part=exclude] *)){background-color:var(--slotted-tone-warning-surface, Mark);border-radius:var(--slotted-radius-xs, 2px);color:var(--slotted-tone-warning-text, MarkText);padding-inline:var(--slotted-prose-mark-inset, .2em)}[data-ui-prose] :where(abbr[title]):not(:where([data-part=exclude],[data-part=exclude] *)){text-decoration-line:underline;text-decoration-style:dotted;text-underline-offset:.2em}[data-ui-prose] :where(sub,sup):not(:where([data-part=exclude],[data-part=exclude] *)){font-size:.75em;line-height:0}[data-ui-prose] :where(a[href]):not(:where([data-part=exclude],[data-part=exclude] *)){color:var(--slotted-link-color, var(--slotted-tone-accent-text, LinkText));text-decoration-color:var( --slotted-link-underline-color, color-mix(in oklab, currentColor 55%, transparent) );text-decoration-line:underline;text-decoration-thickness:var(--slotted-link-underline-thickness, from-font);text-underline-offset:var(--slotted-link-underline-offset, .15em);transition:color var(--slotted-duration-short) var(--slotted-easing-standard),text-decoration-color var(--slotted-duration-short) var(--slotted-easing-standard)}[data-ui-prose] :where(a[href]):not(:where([data-part=exclude],[data-part=exclude] *)):not([data-disabled]):hover{color:var( --slotted-link-color-hover, color-mix( in oklab, var(--slotted-link-color, var(--slotted-tone-accent-text, LinkText)) 65%, var(--slotted-text, CanvasText) ) );text-decoration-color:currentColor}[data-ui-prose] :where(a[href]):not(:where([data-part=exclude],[data-part=exclude] *)):focus-visible{outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:var(--slotted-link-focus-ring-offset, 1px)}[data-ui-prose] :where(ul,ol):not(:where([data-part=exclude],[data-part=exclude] *)){padding-inline-start:var(--slotted-prose-list-inset, 1.5em)}[data-ui-prose] :where(li):not(:where([data-part=exclude],[data-part=exclude] *)){margin-block-start:calc(var(--_flow) * .35);padding-inline-start:var(--slotted-prose-marker-gap, .25em)}[data-ui-prose] :where(li):not(:where([data-part=exclude],[data-part=exclude] *))::marker{color:var(--_muted)}[data-ui-prose] :where(li)>:where(ul,ol):not(:where([data-part=exclude],[data-part=exclude] *)){margin-block-start:calc(var(--_flow) * .35)}[data-ui-prose] :where(dt):not(:where([data-part=exclude],[data-part=exclude] *)){font-weight:var(--slotted-font-weight-semibold, 600);margin-block-start:calc(var(--_flow) * .5)}[data-ui-prose] :where(dd):not(:where([data-part=exclude],[data-part=exclude] *)){margin-inline-start:var(--slotted-prose-list-inset, 1.5em)}[data-ui-prose] :where(blockquote):not(:where([data-part=exclude],[data-part=exclude] *)){border-inline-start:var( --slotted-prose-quote-thickness, var(--slotted-border-width-thick, 2px) ) solid var(--slotted-prose-quote-color, var(--slotted-border-strong, ButtonBorder));color:var(--_muted);margin-inline:0;padding-inline-start:var(--slotted-prose-quote-inset, 1em)}[data-ui-prose] :where(figure):not(:where([data-part=exclude],[data-part=exclude] *)){margin-inline:0}[data-ui-prose] :where(figcaption,caption):not(:where([data-part=exclude],[data-part=exclude] *)){color:var(--_muted);font-size:var(--slotted-prose-caption-size, .875em);margin-block-start:calc(var(--_flow) * .5);text-align:start}[data-ui-prose] :where(img,svg,video,canvas):not(:where([data-part=exclude],[data-part=exclude] *)){block-size:auto;border-radius:var(--slotted-prose-media-radius, var(--slotted-radius-md, 6px));display:block;max-inline-size:100%}[data-ui-prose] :where(code,kbd,samp,var):not(:where([data-part=exclude],[data-part=exclude] *)){font-family:var(--slotted-font-family-mono, ui-monospace, monospace);font-size:var(--slotted-prose-code-size, .9em)}[data-ui-prose] :where(code):not(:where([data-part=exclude],[data-part=exclude] *)){background-color:var(--_ground);border:var(--slotted-border-width-thin, 1px) solid var(--_rule);border-radius:var(--slotted-radius-sm, 4px);padding-inline:var(--slotted-prose-code-inset, .3em)}[data-ui-prose] :where(kbd):not(:where([data-part=exclude],[data-part=exclude] *)){background-color:var(--slotted-surface-raised, Canvas);border:var(--slotted-kbd-border-width, var(--slotted-border-width-thin, 1px)) solid var(--slotted-border-strong, ButtonBorder);border-radius:var(--slotted-kbd-radius, var(--slotted-radius-sm, 4px));font-family:var(--slotted-kbd-font-family, var(--slotted-font-family-mono, monospace));font-weight:var(--slotted-kbd-font-weight, var(--slotted-font-weight-medium, 500));padding-inline:var(--slotted-prose-code-inset, .3em)}[data-ui-prose] :where(pre):not(:where([data-part=exclude],[data-part=exclude] *)){background-color:var(--_ground);direction:ltr;border:var(--slotted-border-width-thin, 1px) solid var(--_rule);border-radius:var(--slotted-prose-media-radius, var(--slotted-radius-md, 6px));overflow-x:auto;padding-block:var(--slotted-space-5, .75rem);padding-inline:var(--slotted-space-6, 1rem)}[data-ui-prose] :where(pre)>:where(code):not(:where([data-part=exclude],[data-part=exclude] *)){background-color:transparent;border:0;border-radius:0;font-size:inherit;padding-inline:0}[data-ui-prose] :where(table):not(:where([data-part=exclude],[data-part=exclude] *)){border-collapse:collapse;inline-size:100%;text-align:start}[data-ui-prose] [data-part-scroll]>:where(table):not(:where([data-part=exclude],[data-part=exclude] *)){inline-size:max-content;min-inline-size:100%}[data-ui-prose] :where(th,td):not(:where([data-part=exclude],[data-part=exclude] *)){padding-block:var(--slotted-space-4, .5rem);padding-inline:var(--slotted-space-5, .75rem);text-align:start;vertical-align:baseline}[data-ui-prose] :where(th):not(:where([data-part=exclude],[data-part=exclude] *)){font-weight:var(--slotted-font-weight-semibold, 600)}[data-ui-prose] :where(thead)>:where(tr)>:where(th,td):not(:where([data-part=exclude],[data-part=exclude] *)){border-block-end:var(--slotted-border-width-thin, 1px) solid var(--slotted-border-strong, ButtonBorder)}[data-ui-prose] :where(tr+tr)>:where(th,td):not(:where([data-part=exclude],[data-part=exclude] *)){border-block-start:var(--slotted-border-width-thin, 1px) solid var(--_rule)}[data-ui-prose] :where(hr):not(:where([data-part=exclude],[data-part=exclude] *)){border:0;border-block-start:var(--slotted-divider-thickness, var(--slotted-border-width-thin, 1px)) solid var(--slotted-divider-color, var(--slotted-border-subtle, ButtonBorder));margin-block-start:calc(var(--_flow) * 1.75)}[data-ui-prose] :where(summary):not(:where([data-part=exclude],[data-part=exclude] *)){cursor:pointer;font-weight:var(--slotted-font-weight-medium, 500)}[data-ui-prose] :where(summary):not(:where([data-part=exclude],[data-part=exclude] *)):focus-visible{outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:var(--slotted-prose-focus-ring-offset, 2px)}[data-ui-prose] [data-part=lead]+:not(:where([data-part=exclude],[data-part=exclude] *)){margin-block-start:calc(var(--_flow) * 1.35)}[data-ui-prose] [data-part=lead]{color:var(--_muted);font-size:var(--slotted-prose-lead-size, 1.125em);line-height:var(--slotted-prose-lead-line-height, var(--slotted-line-height-lg, 1.5));text-wrap:pretty}[data-ui-prose] [data-part-anchor]{align-items:center;color:var(--_muted);display:inline-flex;justify-content:center;margin-inline-start:var(--slotted-prose-anchor-gap, .35em);min-block-size:var(--slotted-target-min, 24px);min-inline-size:var(--slotted-target-min, 24px);opacity:0;text-decoration-line:none;transition:opacity var(--slotted-duration-short) var(--slotted-easing-standard)}[data-ui-prose] :where(h1,h2,h3,h4,h5,h6):hover>[data-part-anchor]:not([data-disabled]),[data-ui-prose] [data-part-anchor]:focus-visible{opacity:1}[data-ui-prose] [data-part-anchor]:focus-visible{border-radius:var(--slotted-radius-sm, 4px);outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:var(--slotted-prose-focus-ring-offset, 2px)}[data-ui-prose] [data-part-scroll]{max-inline-size:100%;overflow-x:auto;overscroll-behavior-inline:contain}[data-ui-prose] [data-part-scroll][tabindex]:focus-visible{outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:var(--slotted-prose-focus-ring-offset, 2px)}[data-ui-prose] [data-part=footnotes]{border-block-start:var(--slotted-border-width-thin, 1px) solid var(--_rule);color:var(--_muted);font-size:var(--slotted-prose-footnotes-size, .875em);margin-block-start:calc(var(--_flow) * 2);padding-block-start:var(--_flow)}[data-ui-prose] [data-part=exclude]{font-family:var(--slotted-font-family-sans, ui-sans-serif, system-ui, sans-serif);font-size:var(--slotted-font-size-md, .875rem);line-height:var(--slotted-line-height-md, 1.5);overflow-wrap:normal;text-wrap:wrap}@container slotted-prose (max-width: 34rem){[data-ui-prose] :where(h1):not(:where([data-part=exclude],[data-part=exclude] *)){font-size:var(--slotted-prose-h1-size-narrow, 1.6em)}[data-ui-prose] :where(h2):not(:where([data-part=exclude],[data-part=exclude] *)){font-size:var(--slotted-prose-h2-size-narrow, 1.35em)}}@container slotted-prose (max-width: 22rem){[data-ui-prose] :where(blockquote):not(:where([data-part=exclude],[data-part=exclude] *)){padding-inline-start:calc(var(--slotted-prose-quote-inset, 1em) / 2)}[data-ui-prose] :where(ul,ol):not(:where([data-part=exclude],[data-part=exclude] *)){padding-inline-start:var(--slotted-prose-list-inset-narrow, 1.15em)}}}\n"] }]
90
92
  }], propDecorators: { size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], flow: [{ type: i0.Input, args: [{ isSignal: true, alias: "flow", required: false }] }] } });
91
93
 
92
94
  /**
@@ -96,7 +98,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
96
98
  */
97
99
  class SlProseLead {
98
100
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlProseLead, deps: [], target: i0.ɵɵFactoryTarget.Directive });
99
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.7", type: SlProseLead, isStandalone: true, selector: "[slProseLead]", host: { attributes: { "data-part": "lead" } }, exportAs: ["slProseLead"], ngImport: i0 });
101
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.7", type: SlProseLead, isStandalone: true, selector: "[slProseLead]", host: { attributes: { "data-part": "lead", "data-part-lead": "" } }, exportAs: ["slProseLead"], ngImport: i0 });
100
102
  }
101
103
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlProseLead, decorators: [{
102
104
  type: Directive,
@@ -104,7 +106,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
104
106
  selector: '[slProseLead]',
105
107
  standalone: true,
106
108
  exportAs: 'slProseLead',
107
- host: { 'data-part': 'lead' },
109
+ host: { 'data-part': 'lead', 'data-part-lead': '' },
108
110
  }]
109
111
  }] });
110
112
  /**
@@ -144,7 +146,7 @@ class SlProseAnchor {
144
146
  });
145
147
  }
146
148
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlProseAnchor, deps: [], target: i0.ɵɵFactoryTarget.Directive });
147
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.7", type: SlProseAnchor, isStandalone: true, selector: "[slProseAnchor]", host: { attributes: { "data-part": "anchor" } }, exportAs: ["slProseAnchor"], ngImport: i0 });
149
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.7", type: SlProseAnchor, isStandalone: true, selector: "[slProseAnchor]", host: { attributes: { "data-part": "anchor", "data-part-anchor": "" } }, exportAs: ["slProseAnchor"], ngImport: i0 });
148
150
  }
149
151
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlProseAnchor, decorators: [{
150
152
  type: Directive,
@@ -152,7 +154,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
152
154
  selector: '[slProseAnchor]',
153
155
  standalone: true,
154
156
  exportAs: 'slProseAnchor',
155
- host: { 'data-part': 'anchor' },
157
+ host: { 'data-part': 'anchor', 'data-part-anchor': '' },
156
158
  }]
157
159
  }], ctorParameters: () => [] });
158
160
  /**
@@ -166,7 +168,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
166
168
  */
167
169
  class SlProseExclude {
168
170
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlProseExclude, deps: [], target: i0.ɵɵFactoryTarget.Directive });
169
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.7", type: SlProseExclude, isStandalone: true, selector: "[slProseExclude]", host: { attributes: { "data-part": "exclude" } }, exportAs: ["slProseExclude"], ngImport: i0 });
171
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.7", type: SlProseExclude, isStandalone: true, selector: "[slProseExclude]", host: { attributes: { "data-part": "exclude", "data-part-exclude": "" } }, exportAs: ["slProseExclude"], ngImport: i0 });
170
172
  }
171
173
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlProseExclude, decorators: [{
172
174
  type: Directive,
@@ -174,13 +176,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
174
176
  selector: '[slProseExclude]',
175
177
  standalone: true,
176
178
  exportAs: 'slProseExclude',
177
- host: { 'data-part': 'exclude' },
179
+ host: { 'data-part': 'exclude', 'data-part-exclude': '' },
178
180
  }]
179
181
  }] });
180
182
  /** What GitHub Flavored Markdown emits at the end of a document. */
181
183
  class SlProseFootnotes {
182
184
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlProseFootnotes, deps: [], target: i0.ɵɵFactoryTarget.Directive });
183
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.7", type: SlProseFootnotes, isStandalone: true, selector: "[slProseFootnotes]", host: { attributes: { "data-part": "footnotes" } }, exportAs: ["slProseFootnotes"], ngImport: i0 });
185
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.7", type: SlProseFootnotes, isStandalone: true, selector: "[slProseFootnotes]", host: { attributes: { "data-part": "footnotes", "data-part-footnotes": "" } }, exportAs: ["slProseFootnotes"], ngImport: i0 });
184
186
  }
185
187
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlProseFootnotes, decorators: [{
186
188
  type: Directive,
@@ -188,7 +190,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
188
190
  selector: '[slProseFootnotes]',
189
191
  standalone: true,
190
192
  exportAs: 'slProseFootnotes',
191
- host: { 'data-part': 'footnotes' },
193
+ host: { 'data-part': 'footnotes', 'data-part-footnotes': '' },
192
194
  }]
193
195
  }] });
194
196
 
@@ -288,7 +290,7 @@ class SlProseScroll {
288
290
  return this.overflowing();
289
291
  }
290
292
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlProseScroll, deps: [], target: i0.ɵɵFactoryTarget.Directive });
291
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.7", type: SlProseScroll, isStandalone: true, selector: "[slProseScroll]", inputs: { messages: { classPropertyName: "messages", publicName: "messages", isSignal: true, isRequired: false, transformFunction: null }, labelledBy: { classPropertyName: "labelledBy", publicName: "labelledBy", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-part": "scroll" }, properties: { "attr.role": "resolvedRole()", "attr.tabindex": "resolvedTabIndex()", "attr.aria-label": "resolvedLabel()", "attr.aria-labelledby": "resolvedLabelledBy()" } }, exportAs: ["slProseScroll"], ngImport: i0 });
293
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.7", type: SlProseScroll, isStandalone: true, selector: "[slProseScroll]", inputs: { messages: { classPropertyName: "messages", publicName: "messages", isSignal: true, isRequired: false, transformFunction: null }, labelledBy: { classPropertyName: "labelledBy", publicName: "labelledBy", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-part": "scroll", "data-part-scroll": "" }, properties: { "attr.role": "resolvedRole()", "attr.tabindex": "resolvedTabIndex()", "attr.aria-label": "resolvedLabel()", "attr.aria-labelledby": "resolvedLabelledBy()" } }, exportAs: ["slProseScroll"], ngImport: i0 });
292
294
  }
293
295
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlProseScroll, decorators: [{
294
296
  type: Directive,
@@ -298,6 +300,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
298
300
  exportAs: 'slProseScroll',
299
301
  host: {
300
302
  'data-part': 'scroll',
303
+ 'data-part-scroll': '',
301
304
  '[attr.role]': 'resolvedRole()',
302
305
  '[attr.tabindex]': 'resolvedTabIndex()',
303
306
  '[attr.aria-label]': 'resolvedLabel()',