@slotted/angular 0.0.0-stage → 0.1.0-beta.1

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 (793) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +51 -2
  3. package/docs/AGENTS.snippet.md +10 -0
  4. package/docs/accordion.json +345 -0
  5. package/docs/accordion.md +207 -0
  6. package/docs/action-bar.json +421 -0
  7. package/docs/action-bar.md +364 -0
  8. package/docs/action-sheet.json +210 -0
  9. package/docs/action-sheet.md +19 -0
  10. package/docs/alert.json +407 -0
  11. package/docs/alert.md +239 -0
  12. package/docs/app-shell.examples.md +349 -0
  13. package/docs/app-shell.json +835 -0
  14. package/docs/app-shell.md +214 -0
  15. package/docs/aspect-ratio.json +159 -0
  16. package/docs/aspect-ratio.md +134 -0
  17. package/docs/attachment.json +486 -0
  18. package/docs/attachment.md +253 -0
  19. package/docs/avatar-group.json +208 -0
  20. package/docs/avatar-group.md +130 -0
  21. package/docs/avatar.json +342 -0
  22. package/docs/avatar.md +142 -0
  23. package/docs/badge.json +334 -0
  24. package/docs/badge.md +138 -0
  25. package/docs/breadcrumb.json +368 -0
  26. package/docs/breadcrumb.md +237 -0
  27. package/docs/button-group.json +158 -0
  28. package/docs/button-group.md +72 -0
  29. package/docs/button.examples.md +621 -0
  30. package/docs/button.json +977 -0
  31. package/docs/button.md +200 -0
  32. package/docs/calendar.json +592 -0
  33. package/docs/calendar.md +242 -0
  34. package/docs/card.json +283 -0
  35. package/docs/card.md +130 -0
  36. package/docs/carousel.json +560 -0
  37. package/docs/carousel.md +357 -0
  38. package/docs/cascader.json +933 -0
  39. package/docs/cascader.md +379 -0
  40. package/docs/chart.examples.md +582 -0
  41. package/docs/chart.json +1359 -0
  42. package/docs/chart.md +187 -0
  43. package/docs/checkbox-group.examples.md +612 -0
  44. package/docs/checkbox-group.json +395 -0
  45. package/docs/checkbox-group.md +106 -0
  46. package/docs/checkbox.examples.md +546 -0
  47. package/docs/checkbox.json +506 -0
  48. package/docs/checkbox.md +104 -0
  49. package/docs/code-block.json +616 -0
  50. package/docs/code-block.md +303 -0
  51. package/docs/collapsible.json +456 -0
  52. package/docs/collapsible.md +261 -0
  53. package/docs/color-picker.json +523 -0
  54. package/docs/color-picker.md +201 -0
  55. package/docs/column-manager.json +486 -0
  56. package/docs/column-manager.md +277 -0
  57. package/docs/combobox.examples.md +1732 -0
  58. package/docs/combobox.json +1250 -0
  59. package/docs/combobox.md +209 -0
  60. package/docs/command-palette.json +800 -0
  61. package/docs/command-palette.md +419 -0
  62. package/docs/container.json +156 -0
  63. package/docs/container.md +92 -0
  64. package/docs/context-menu.json +231 -0
  65. package/docs/context-menu.md +176 -0
  66. package/docs/currency-field.examples.md +321 -0
  67. package/docs/currency-field.json +649 -0
  68. package/docs/currency-field.md +128 -0
  69. package/docs/dashboard-grid.json +680 -0
  70. package/docs/dashboard-grid.md +265 -0
  71. package/docs/data-grid.examples.md +3064 -0
  72. package/docs/data-grid.json +1577 -0
  73. package/docs/data-grid.md +237 -0
  74. package/docs/data-grid.props.md +81 -0
  75. package/docs/data-list.json +685 -0
  76. package/docs/data-list.md +327 -0
  77. package/docs/date-field.json +490 -0
  78. package/docs/date-field.md +235 -0
  79. package/docs/date-picker.examples.md +1226 -0
  80. package/docs/date-picker.json +696 -0
  81. package/docs/date-picker.md +121 -0
  82. package/docs/date-range-picker.examples.md +1300 -0
  83. package/docs/date-range-picker.json +903 -0
  84. package/docs/date-range-picker.md +142 -0
  85. package/docs/datetime-field.json +665 -0
  86. package/docs/datetime-field.md +337 -0
  87. package/docs/datetime-picker.examples.md +1269 -0
  88. package/docs/datetime-picker.json +928 -0
  89. package/docs/datetime-picker.md +150 -0
  90. package/docs/datetime-range-picker.examples.md +225 -0
  91. package/docs/datetime-range-picker.json +1015 -0
  92. package/docs/datetime-range-picker.md +162 -0
  93. package/docs/description-list.json +471 -0
  94. package/docs/description-list.md +268 -0
  95. package/docs/detail-panel.json +530 -0
  96. package/docs/detail-panel.md +361 -0
  97. package/docs/dialog.examples.md +2467 -0
  98. package/docs/dialog.json +1141 -0
  99. package/docs/dialog.md +217 -0
  100. package/docs/dialog.props.md +63 -0
  101. package/docs/divider.json +148 -0
  102. package/docs/divider.md +83 -0
  103. package/docs/drawer.examples.md +1929 -0
  104. package/docs/drawer.json +753 -0
  105. package/docs/drawer.md +199 -0
  106. package/docs/entity-picker.json +946 -0
  107. package/docs/entity-picker.md +365 -0
  108. package/docs/event-calendar.examples.md +308 -0
  109. package/docs/event-calendar.json +1202 -0
  110. package/docs/event-calendar.md +201 -0
  111. package/docs/field-group.json +333 -0
  112. package/docs/field-group.md +181 -0
  113. package/docs/field.examples.md +676 -0
  114. package/docs/field.json +528 -0
  115. package/docs/field.md +127 -0
  116. package/docs/filter-bar.json +817 -0
  117. package/docs/filter-bar.md +380 -0
  118. package/docs/form.json +378 -0
  119. package/docs/form.md +235 -0
  120. package/docs/fullscreen.json +395 -0
  121. package/docs/fullscreen.md +225 -0
  122. package/docs/grid.json +176 -0
  123. package/docs/grid.md +74 -0
  124. package/docs/highlight.json +279 -0
  125. package/docs/highlight.md +210 -0
  126. package/docs/hover-card.json +254 -0
  127. package/docs/hover-card.md +213 -0
  128. package/docs/icon.json +173 -0
  129. package/docs/icon.md +101 -0
  130. package/docs/image.json +476 -0
  131. package/docs/image.md +254 -0
  132. package/docs/import-export-center.json +836 -0
  133. package/docs/import-export-center.md +345 -0
  134. package/docs/index.md +141 -0
  135. package/docs/inline-message.json +312 -0
  136. package/docs/inline-message.md +191 -0
  137. package/docs/inline.json +149 -0
  138. package/docs/inline.md +72 -0
  139. package/docs/kbd.json +350 -0
  140. package/docs/kbd.md +210 -0
  141. package/docs/link.json +264 -0
  142. package/docs/link.md +167 -0
  143. package/docs/list-item.json +463 -0
  144. package/docs/list-item.md +236 -0
  145. package/docs/list.json +321 -0
  146. package/docs/list.md +185 -0
  147. package/docs/listbox.json +807 -0
  148. package/docs/listbox.md +413 -0
  149. package/docs/loading-overlay.json +440 -0
  150. package/docs/loading-overlay.md +248 -0
  151. package/docs/markdown.json +461 -0
  152. package/docs/markdown.md +266 -0
  153. package/docs/menu.examples.md +1651 -0
  154. package/docs/menu.json +922 -0
  155. package/docs/menu.md +155 -0
  156. package/docs/menubar.json +292 -0
  157. package/docs/menubar.md +173 -0
  158. package/docs/message-scroller.json +401 -0
  159. package/docs/message-scroller.md +212 -0
  160. package/docs/message.json +862 -0
  161. package/docs/message.md +473 -0
  162. package/docs/multi-select.examples.md +1922 -0
  163. package/docs/multi-select.json +1314 -0
  164. package/docs/multi-select.md +213 -0
  165. package/docs/navigation-menu.json +529 -0
  166. package/docs/navigation-menu.md +329 -0
  167. package/docs/notification-center.json +664 -0
  168. package/docs/notification-center.md +372 -0
  169. package/docs/number-field.examples.md +1078 -0
  170. package/docs/number-field.json +668 -0
  171. package/docs/number-field.md +137 -0
  172. package/docs/otp-input.json +479 -0
  173. package/docs/otp-input.md +291 -0
  174. package/docs/page-header.json +574 -0
  175. package/docs/page-header.md +338 -0
  176. package/docs/page.json +332 -0
  177. package/docs/page.md +184 -0
  178. package/docs/pagination.json +434 -0
  179. package/docs/pagination.md +238 -0
  180. package/docs/popover.examples.md +1235 -0
  181. package/docs/popover.json +656 -0
  182. package/docs/popover.md +199 -0
  183. package/docs/progress-indicator.json +501 -0
  184. package/docs/progress-indicator.md +329 -0
  185. package/docs/prompt-composer.json +498 -0
  186. package/docs/prompt-composer.md +278 -0
  187. package/docs/prose.json +357 -0
  188. package/docs/prose.md +226 -0
  189. package/docs/radio-group.examples.md +626 -0
  190. package/docs/radio-group.json +541 -0
  191. package/docs/radio-group.md +112 -0
  192. package/docs/rating.json +1053 -0
  193. package/docs/rating.md +435 -0
  194. package/docs/result-state.json +376 -0
  195. package/docs/result-state.md +286 -0
  196. package/docs/saved-views.json +384 -0
  197. package/docs/saved-views.md +242 -0
  198. package/docs/scroll-area.json +120 -0
  199. package/docs/scroll-area.md +8 -0
  200. package/docs/section.json +344 -0
  201. package/docs/section.md +208 -0
  202. package/docs/segmented-control.json +429 -0
  203. package/docs/segmented-control.md +240 -0
  204. package/docs/select.examples.md +1214 -0
  205. package/docs/select.json +1147 -0
  206. package/docs/select.md +199 -0
  207. package/docs/side-navigation.json +632 -0
  208. package/docs/side-navigation.md +430 -0
  209. package/docs/skeleton.json +358 -0
  210. package/docs/skeleton.md +223 -0
  211. package/docs/slider.json +522 -0
  212. package/docs/slider.md +261 -0
  213. package/docs/sparkline.json +426 -0
  214. package/docs/sparkline.md +206 -0
  215. package/docs/split-button.json +361 -0
  216. package/docs/split-button.md +275 -0
  217. package/docs/splitter.json +142 -0
  218. package/docs/splitter.md +14 -0
  219. package/docs/stack.json +135 -0
  220. package/docs/stack.md +74 -0
  221. package/docs/stat-card.json +529 -0
  222. package/docs/stat-card.md +270 -0
  223. package/docs/status-indicator.json +314 -0
  224. package/docs/status-indicator.md +197 -0
  225. package/docs/stepper.json +451 -0
  226. package/docs/stepper.md +250 -0
  227. package/docs/switch.json +451 -0
  228. package/docs/switch.md +508 -0
  229. package/docs/table-of-contents.json +553 -0
  230. package/docs/table-of-contents.md +289 -0
  231. package/docs/table.examples.md +1981 -0
  232. package/docs/table.json +1059 -0
  233. package/docs/table.md +290 -0
  234. package/docs/tabs.examples.md +1370 -0
  235. package/docs/tabs.json +661 -0
  236. package/docs/tabs.md +211 -0
  237. package/docs/tag.json +813 -0
  238. package/docs/tag.md +241 -0
  239. package/docs/tags-input.json +771 -0
  240. package/docs/tags-input.md +361 -0
  241. package/docs/text-field.examples.md +821 -0
  242. package/docs/text-field.json +604 -0
  243. package/docs/text-field.md +125 -0
  244. package/docs/textarea.examples.md +612 -0
  245. package/docs/textarea.json +440 -0
  246. package/docs/textarea.md +98 -0
  247. package/docs/time-field.json +584 -0
  248. package/docs/time-field.md +291 -0
  249. package/docs/time-picker.json +679 -0
  250. package/docs/time-picker.md +315 -0
  251. package/docs/time-range-picker.examples.md +191 -0
  252. package/docs/time-range-picker.json +924 -0
  253. package/docs/time-range-picker.md +152 -0
  254. package/docs/timeline.json +839 -0
  255. package/docs/timeline.md +401 -0
  256. package/docs/toast.json +642 -0
  257. package/docs/toast.md +311 -0
  258. package/docs/toggle-group.json +417 -0
  259. package/docs/toggle-group.md +255 -0
  260. package/docs/toggle.json +326 -0
  261. package/docs/toggle.md +222 -0
  262. package/docs/toolbar.json +380 -0
  263. package/docs/toolbar.md +240 -0
  264. package/docs/tooltip.examples.md +664 -0
  265. package/docs/tooltip.json +604 -0
  266. package/docs/tooltip.md +146 -0
  267. package/docs/top-navigation.examples.md +287 -0
  268. package/docs/top-navigation.json +648 -0
  269. package/docs/top-navigation.md +138 -0
  270. package/docs/tour.json +759 -0
  271. package/docs/tour.md +337 -0
  272. package/docs/transfer.json +746 -0
  273. package/docs/transfer.md +273 -0
  274. package/docs/tree.json +918 -0
  275. package/docs/tree.md +397 -0
  276. package/docs/typography.json +317 -0
  277. package/docs/typography.md +107 -0
  278. package/docs/upload.examples.md +358 -0
  279. package/docs/upload.json +1103 -0
  280. package/docs/upload.md +166 -0
  281. package/docs/visually-hidden.json +71 -0
  282. package/docs/visually-hidden.md +42 -0
  283. package/docs/wizard.json +724 -0
  284. package/docs/wizard.md +295 -0
  285. package/fesm2022/slotted-angular-accordion.mjs +247 -0
  286. package/fesm2022/slotted-angular-accordion.mjs.map +1 -0
  287. package/fesm2022/slotted-angular-action-bar.mjs +639 -0
  288. package/fesm2022/slotted-angular-action-bar.mjs.map +1 -0
  289. package/fesm2022/slotted-angular-action-sheet.mjs +749 -0
  290. package/fesm2022/slotted-angular-action-sheet.mjs.map +1 -0
  291. package/fesm2022/slotted-angular-alert.mjs +427 -0
  292. package/fesm2022/slotted-angular-alert.mjs.map +1 -0
  293. package/fesm2022/slotted-angular-app-shell.mjs +1334 -0
  294. package/fesm2022/slotted-angular-app-shell.mjs.map +1 -0
  295. package/fesm2022/slotted-angular-aspect-ratio.mjs +63 -0
  296. package/fesm2022/slotted-angular-aspect-ratio.mjs.map +1 -0
  297. package/fesm2022/slotted-angular-attachment.mjs +595 -0
  298. package/fesm2022/slotted-angular-attachment.mjs.map +1 -0
  299. package/fesm2022/slotted-angular-avatar-group.mjs +230 -0
  300. package/fesm2022/slotted-angular-avatar-group.mjs.map +1 -0
  301. package/fesm2022/slotted-angular-avatar.mjs +330 -0
  302. package/fesm2022/slotted-angular-avatar.mjs.map +1 -0
  303. package/fesm2022/slotted-angular-badge.mjs +255 -0
  304. package/fesm2022/slotted-angular-badge.mjs.map +1 -0
  305. package/fesm2022/slotted-angular-breadcrumb.mjs +544 -0
  306. package/fesm2022/slotted-angular-breadcrumb.mjs.map +1 -0
  307. package/fesm2022/slotted-angular-button-group.mjs +146 -0
  308. package/fesm2022/slotted-angular-button-group.mjs.map +1 -0
  309. package/fesm2022/slotted-angular-button.mjs +692 -0
  310. package/fesm2022/slotted-angular-button.mjs.map +1 -0
  311. package/fesm2022/slotted-angular-calendar.mjs +916 -0
  312. package/fesm2022/slotted-angular-calendar.mjs.map +1 -0
  313. package/fesm2022/slotted-angular-card.mjs +225 -0
  314. package/fesm2022/slotted-angular-card.mjs.map +1 -0
  315. package/fesm2022/slotted-angular-carousel.mjs +840 -0
  316. package/fesm2022/slotted-angular-carousel.mjs.map +1 -0
  317. package/fesm2022/slotted-angular-cascader.mjs +1839 -0
  318. package/fesm2022/slotted-angular-cascader.mjs.map +1 -0
  319. package/fesm2022/slotted-angular-chart.mjs +974 -0
  320. package/fesm2022/slotted-angular-chart.mjs.map +1 -0
  321. package/fesm2022/slotted-angular-checkbox-group.mjs +283 -0
  322. package/fesm2022/slotted-angular-checkbox-group.mjs.map +1 -0
  323. package/fesm2022/slotted-angular-checkbox.mjs +468 -0
  324. package/fesm2022/slotted-angular-checkbox.mjs.map +1 -0
  325. package/fesm2022/slotted-angular-code-block.mjs +476 -0
  326. package/fesm2022/slotted-angular-code-block.mjs.map +1 -0
  327. package/fesm2022/slotted-angular-collapsible.mjs +479 -0
  328. package/fesm2022/slotted-angular-collapsible.mjs.map +1 -0
  329. package/fesm2022/slotted-angular-color-picker.mjs +910 -0
  330. package/fesm2022/slotted-angular-color-picker.mjs.map +1 -0
  331. package/fesm2022/slotted-angular-column-manager.mjs +1037 -0
  332. package/fesm2022/slotted-angular-column-manager.mjs.map +1 -0
  333. package/fesm2022/slotted-angular-combobox.mjs +1480 -0
  334. package/fesm2022/slotted-angular-combobox.mjs.map +1 -0
  335. package/fesm2022/slotted-angular-command-palette.mjs +1283 -0
  336. package/fesm2022/slotted-angular-command-palette.mjs.map +1 -0
  337. package/fesm2022/slotted-angular-container.mjs +105 -0
  338. package/fesm2022/slotted-angular-container.mjs.map +1 -0
  339. package/fesm2022/slotted-angular-context-menu.mjs +221 -0
  340. package/fesm2022/slotted-angular-context-menu.mjs.map +1 -0
  341. package/fesm2022/slotted-angular-currency-field.mjs +1131 -0
  342. package/fesm2022/slotted-angular-currency-field.mjs.map +1 -0
  343. package/fesm2022/slotted-angular-dashboard-grid.mjs +1928 -0
  344. package/fesm2022/slotted-angular-dashboard-grid.mjs.map +1 -0
  345. package/fesm2022/slotted-angular-data-grid.mjs +6697 -0
  346. package/fesm2022/slotted-angular-data-grid.mjs.map +1 -0
  347. package/fesm2022/slotted-angular-data-list.mjs +1418 -0
  348. package/fesm2022/slotted-angular-data-list.mjs.map +1 -0
  349. package/fesm2022/slotted-angular-date-field.mjs +772 -0
  350. package/fesm2022/slotted-angular-date-field.mjs.map +1 -0
  351. package/fesm2022/slotted-angular-date-picker.mjs +690 -0
  352. package/fesm2022/slotted-angular-date-picker.mjs.map +1 -0
  353. package/fesm2022/slotted-angular-date-range-picker.mjs +1150 -0
  354. package/fesm2022/slotted-angular-date-range-picker.mjs.map +1 -0
  355. package/fesm2022/slotted-angular-datetime-field.mjs +1058 -0
  356. package/fesm2022/slotted-angular-datetime-field.mjs.map +1 -0
  357. package/fesm2022/slotted-angular-datetime-picker.mjs +1362 -0
  358. package/fesm2022/slotted-angular-datetime-picker.mjs.map +1 -0
  359. package/fesm2022/slotted-angular-datetime-range-picker.mjs +1872 -0
  360. package/fesm2022/slotted-angular-datetime-range-picker.mjs.map +1 -0
  361. package/fesm2022/slotted-angular-description-list.mjs +545 -0
  362. package/fesm2022/slotted-angular-description-list.mjs.map +1 -0
  363. package/fesm2022/slotted-angular-detail-panel.mjs +754 -0
  364. package/fesm2022/slotted-angular-detail-panel.mjs.map +1 -0
  365. package/fesm2022/slotted-angular-dialog.mjs +980 -0
  366. package/fesm2022/slotted-angular-dialog.mjs.map +1 -0
  367. package/fesm2022/slotted-angular-divider.mjs +76 -0
  368. package/fesm2022/slotted-angular-divider.mjs.map +1 -0
  369. package/fesm2022/slotted-angular-drawer.mjs +1397 -0
  370. package/fesm2022/slotted-angular-drawer.mjs.map +1 -0
  371. package/fesm2022/slotted-angular-entity-picker.mjs +1987 -0
  372. package/fesm2022/slotted-angular-entity-picker.mjs.map +1 -0
  373. package/fesm2022/slotted-angular-event-calendar.mjs +2934 -0
  374. package/fesm2022/slotted-angular-event-calendar.mjs.map +1 -0
  375. package/fesm2022/slotted-angular-field-group.mjs +301 -0
  376. package/fesm2022/slotted-angular-field-group.mjs.map +1 -0
  377. package/fesm2022/slotted-angular-field.mjs +928 -0
  378. package/fesm2022/slotted-angular-field.mjs.map +1 -0
  379. package/fesm2022/slotted-angular-filter-bar.mjs +3107 -0
  380. package/fesm2022/slotted-angular-filter-bar.mjs.map +1 -0
  381. package/fesm2022/slotted-angular-form.mjs +592 -0
  382. package/fesm2022/slotted-angular-form.mjs.map +1 -0
  383. package/fesm2022/slotted-angular-fullscreen.mjs +314 -0
  384. package/fesm2022/slotted-angular-fullscreen.mjs.map +1 -0
  385. package/fesm2022/slotted-angular-grid.mjs +58 -0
  386. package/fesm2022/slotted-angular-grid.mjs.map +1 -0
  387. package/fesm2022/slotted-angular-highlight.mjs +123 -0
  388. package/fesm2022/slotted-angular-highlight.mjs.map +1 -0
  389. package/fesm2022/slotted-angular-hover-card.mjs +326 -0
  390. package/fesm2022/slotted-angular-hover-card.mjs.map +1 -0
  391. package/fesm2022/slotted-angular-i18n.mjs +75 -0
  392. package/fesm2022/slotted-angular-i18n.mjs.map +1 -0
  393. package/fesm2022/slotted-angular-icon.mjs +232 -0
  394. package/fesm2022/slotted-angular-icon.mjs.map +1 -0
  395. package/fesm2022/slotted-angular-image.mjs +442 -0
  396. package/fesm2022/slotted-angular-image.mjs.map +1 -0
  397. package/fesm2022/slotted-angular-import-export-center.mjs +1792 -0
  398. package/fesm2022/slotted-angular-import-export-center.mjs.map +1 -0
  399. package/fesm2022/slotted-angular-inline-message.mjs +280 -0
  400. package/fesm2022/slotted-angular-inline-message.mjs.map +1 -0
  401. package/fesm2022/slotted-angular-inline.mjs +52 -0
  402. package/fesm2022/slotted-angular-inline.mjs.map +1 -0
  403. package/fesm2022/slotted-angular-kbd.mjs +284 -0
  404. package/fesm2022/slotted-angular-kbd.mjs.map +1 -0
  405. package/fesm2022/slotted-angular-link.mjs +182 -0
  406. package/fesm2022/slotted-angular-link.mjs.map +1 -0
  407. package/fesm2022/slotted-angular-list-item.mjs +367 -0
  408. package/fesm2022/slotted-angular-list-item.mjs.map +1 -0
  409. package/fesm2022/slotted-angular-list.mjs +256 -0
  410. package/fesm2022/slotted-angular-list.mjs.map +1 -0
  411. package/fesm2022/slotted-angular-listbox.mjs +1274 -0
  412. package/fesm2022/slotted-angular-listbox.mjs.map +1 -0
  413. package/fesm2022/slotted-angular-loading-overlay.mjs +451 -0
  414. package/fesm2022/slotted-angular-loading-overlay.mjs.map +1 -0
  415. package/fesm2022/slotted-angular-markdown.mjs +914 -0
  416. package/fesm2022/slotted-angular-markdown.mjs.map +1 -0
  417. package/fesm2022/slotted-angular-menu.mjs +1211 -0
  418. package/fesm2022/slotted-angular-menu.mjs.map +1 -0
  419. package/fesm2022/slotted-angular-menubar.mjs +230 -0
  420. package/fesm2022/slotted-angular-menubar.mjs.map +1 -0
  421. package/fesm2022/slotted-angular-message-scroller.mjs +378 -0
  422. package/fesm2022/slotted-angular-message-scroller.mjs.map +1 -0
  423. package/fesm2022/slotted-angular-message.mjs +866 -0
  424. package/fesm2022/slotted-angular-message.mjs.map +1 -0
  425. package/fesm2022/slotted-angular-multi-select.mjs +1939 -0
  426. package/fesm2022/slotted-angular-multi-select.mjs.map +1 -0
  427. package/fesm2022/slotted-angular-navigation-menu.mjs +770 -0
  428. package/fesm2022/slotted-angular-navigation-menu.mjs.map +1 -0
  429. package/fesm2022/slotted-angular-notification-center.mjs +1172 -0
  430. package/fesm2022/slotted-angular-notification-center.mjs.map +1 -0
  431. package/fesm2022/slotted-angular-number-field.mjs +966 -0
  432. package/fesm2022/slotted-angular-number-field.mjs.map +1 -0
  433. package/fesm2022/slotted-angular-otp-input.mjs +629 -0
  434. package/fesm2022/slotted-angular-otp-input.mjs.map +1 -0
  435. package/fesm2022/slotted-angular-page-header.mjs +788 -0
  436. package/fesm2022/slotted-angular-page-header.mjs.map +1 -0
  437. package/fesm2022/slotted-angular-page.mjs +255 -0
  438. package/fesm2022/slotted-angular-page.mjs.map +1 -0
  439. package/fesm2022/slotted-angular-pagination.mjs +562 -0
  440. package/fesm2022/slotted-angular-pagination.mjs.map +1 -0
  441. package/fesm2022/slotted-angular-popover.mjs +799 -0
  442. package/fesm2022/slotted-angular-popover.mjs.map +1 -0
  443. package/fesm2022/slotted-angular-progress-indicator.mjs +572 -0
  444. package/fesm2022/slotted-angular-progress-indicator.mjs.map +1 -0
  445. package/fesm2022/slotted-angular-prompt-composer.mjs +596 -0
  446. package/fesm2022/slotted-angular-prompt-composer.mjs.map +1 -0
  447. package/fesm2022/slotted-angular-prose.mjs +314 -0
  448. package/fesm2022/slotted-angular-prose.mjs.map +1 -0
  449. package/fesm2022/slotted-angular-radio-group.mjs +469 -0
  450. package/fesm2022/slotted-angular-radio-group.mjs.map +1 -0
  451. package/fesm2022/slotted-angular-rating.mjs +1174 -0
  452. package/fesm2022/slotted-angular-rating.mjs.map +1 -0
  453. package/fesm2022/slotted-angular-result-state.mjs +330 -0
  454. package/fesm2022/slotted-angular-result-state.mjs.map +1 -0
  455. package/fesm2022/slotted-angular-saved-views.mjs +877 -0
  456. package/fesm2022/slotted-angular-saved-views.mjs.map +1 -0
  457. package/fesm2022/slotted-angular-scroll-area.mjs +294 -0
  458. package/fesm2022/slotted-angular-scroll-area.mjs.map +1 -0
  459. package/fesm2022/slotted-angular-section.mjs +266 -0
  460. package/fesm2022/slotted-angular-section.mjs.map +1 -0
  461. package/fesm2022/slotted-angular-segmented-control.mjs +454 -0
  462. package/fesm2022/slotted-angular-segmented-control.mjs.map +1 -0
  463. package/fesm2022/slotted-angular-select.mjs +1899 -0
  464. package/fesm2022/slotted-angular-select.mjs.map +1 -0
  465. package/fesm2022/slotted-angular-side-navigation.mjs +1042 -0
  466. package/fesm2022/slotted-angular-side-navigation.mjs.map +1 -0
  467. package/fesm2022/slotted-angular-skeleton.mjs +316 -0
  468. package/fesm2022/slotted-angular-skeleton.mjs.map +1 -0
  469. package/fesm2022/slotted-angular-slider.mjs +586 -0
  470. package/fesm2022/slotted-angular-slider.mjs.map +1 -0
  471. package/fesm2022/slotted-angular-sparkline.mjs +235 -0
  472. package/fesm2022/slotted-angular-sparkline.mjs.map +1 -0
  473. package/fesm2022/slotted-angular-split-button.mjs +331 -0
  474. package/fesm2022/slotted-angular-split-button.mjs.map +1 -0
  475. package/fesm2022/slotted-angular-splitter.mjs +516 -0
  476. package/fesm2022/slotted-angular-splitter.mjs.map +1 -0
  477. package/fesm2022/slotted-angular-stack.mjs +48 -0
  478. package/fesm2022/slotted-angular-stack.mjs.map +1 -0
  479. package/fesm2022/slotted-angular-stat-card.mjs +478 -0
  480. package/fesm2022/slotted-angular-stat-card.mjs.map +1 -0
  481. package/fesm2022/slotted-angular-status-indicator.mjs +155 -0
  482. package/fesm2022/slotted-angular-status-indicator.mjs.map +1 -0
  483. package/fesm2022/slotted-angular-stepper.mjs +536 -0
  484. package/fesm2022/slotted-angular-stepper.mjs.map +1 -0
  485. package/fesm2022/slotted-angular-switch.mjs +447 -0
  486. package/fesm2022/slotted-angular-switch.mjs.map +1 -0
  487. package/fesm2022/slotted-angular-table-of-contents.mjs +750 -0
  488. package/fesm2022/slotted-angular-table-of-contents.mjs.map +1 -0
  489. package/fesm2022/slotted-angular-table.mjs +2518 -0
  490. package/fesm2022/slotted-angular-table.mjs.map +1 -0
  491. package/fesm2022/slotted-angular-tabs.mjs +829 -0
  492. package/fesm2022/slotted-angular-tabs.mjs.map +1 -0
  493. package/fesm2022/slotted-angular-tag.mjs +595 -0
  494. package/fesm2022/slotted-angular-tag.mjs.map +1 -0
  495. package/fesm2022/slotted-angular-tags-input.mjs +1211 -0
  496. package/fesm2022/slotted-angular-tags-input.mjs.map +1 -0
  497. package/fesm2022/slotted-angular-text-field.mjs +674 -0
  498. package/fesm2022/slotted-angular-text-field.mjs.map +1 -0
  499. package/fesm2022/slotted-angular-textarea.mjs +275 -0
  500. package/fesm2022/slotted-angular-textarea.mjs.map +1 -0
  501. package/fesm2022/slotted-angular-theme.mjs +45 -0
  502. package/fesm2022/slotted-angular-theme.mjs.map +1 -0
  503. package/fesm2022/slotted-angular-time-field.mjs +895 -0
  504. package/fesm2022/slotted-angular-time-field.mjs.map +1 -0
  505. package/fesm2022/slotted-angular-time-picker.mjs +856 -0
  506. package/fesm2022/slotted-angular-time-picker.mjs.map +1 -0
  507. package/fesm2022/slotted-angular-time-range-picker.mjs +1534 -0
  508. package/fesm2022/slotted-angular-time-range-picker.mjs.map +1 -0
  509. package/fesm2022/slotted-angular-timeline.mjs +928 -0
  510. package/fesm2022/slotted-angular-timeline.mjs.map +1 -0
  511. package/fesm2022/slotted-angular-toast.mjs +917 -0
  512. package/fesm2022/slotted-angular-toast.mjs.map +1 -0
  513. package/fesm2022/slotted-angular-toggle-group.mjs +311 -0
  514. package/fesm2022/slotted-angular-toggle-group.mjs.map +1 -0
  515. package/fesm2022/slotted-angular-toggle.mjs +162 -0
  516. package/fesm2022/slotted-angular-toggle.mjs.map +1 -0
  517. package/fesm2022/slotted-angular-toolbar.mjs +536 -0
  518. package/fesm2022/slotted-angular-toolbar.mjs.map +1 -0
  519. package/fesm2022/slotted-angular-tooltip.mjs +798 -0
  520. package/fesm2022/slotted-angular-tooltip.mjs.map +1 -0
  521. package/fesm2022/slotted-angular-top-navigation.mjs +1308 -0
  522. package/fesm2022/slotted-angular-top-navigation.mjs.map +1 -0
  523. package/fesm2022/slotted-angular-tour.mjs +1330 -0
  524. package/fesm2022/slotted-angular-tour.mjs.map +1 -0
  525. package/fesm2022/slotted-angular-transfer.mjs +1406 -0
  526. package/fesm2022/slotted-angular-transfer.mjs.map +1 -0
  527. package/fesm2022/slotted-angular-tree.mjs +1448 -0
  528. package/fesm2022/slotted-angular-tree.mjs.map +1 -0
  529. package/fesm2022/slotted-angular-typography.mjs +184 -0
  530. package/fesm2022/slotted-angular-typography.mjs.map +1 -0
  531. package/fesm2022/slotted-angular-upload.mjs +1523 -0
  532. package/fesm2022/slotted-angular-upload.mjs.map +1 -0
  533. package/fesm2022/slotted-angular-visually-hidden.mjs +32 -0
  534. package/fesm2022/slotted-angular-visually-hidden.mjs.map +1 -0
  535. package/fesm2022/slotted-angular-wizard.mjs +1715 -0
  536. package/fesm2022/slotted-angular-wizard.mjs.map +1 -0
  537. package/fesm2022/slotted-angular.mjs +4 -0
  538. package/fesm2022/slotted-angular.mjs.map +1 -0
  539. package/package.json +537 -3
  540. package/types/slotted-angular-accordion.d.ts +156 -0
  541. package/types/slotted-angular-accordion.d.ts.map +1 -0
  542. package/types/slotted-angular-action-bar.d.ts +291 -0
  543. package/types/slotted-angular-action-bar.d.ts.map +1 -0
  544. package/types/slotted-angular-action-sheet.d.ts +294 -0
  545. package/types/slotted-angular-action-sheet.d.ts.map +1 -0
  546. package/types/slotted-angular-alert.d.ts +214 -0
  547. package/types/slotted-angular-alert.d.ts.map +1 -0
  548. package/types/slotted-angular-app-shell.d.ts +549 -0
  549. package/types/slotted-angular-app-shell.d.ts.map +1 -0
  550. package/types/slotted-angular-aspect-ratio.d.ts +57 -0
  551. package/types/slotted-angular-aspect-ratio.d.ts.map +1 -0
  552. package/types/slotted-angular-attachment.d.ts +294 -0
  553. package/types/slotted-angular-attachment.d.ts.map +1 -0
  554. package/types/slotted-angular-avatar-group.d.ts +119 -0
  555. package/types/slotted-angular-avatar-group.d.ts.map +1 -0
  556. package/types/slotted-angular-avatar.d.ts +202 -0
  557. package/types/slotted-angular-avatar.d.ts.map +1 -0
  558. package/types/slotted-angular-badge.d.ts +166 -0
  559. package/types/slotted-angular-badge.d.ts.map +1 -0
  560. package/types/slotted-angular-breadcrumb.d.ts +251 -0
  561. package/types/slotted-angular-breadcrumb.d.ts.map +1 -0
  562. package/types/slotted-angular-button-group.d.ts +89 -0
  563. package/types/slotted-angular-button-group.d.ts.map +1 -0
  564. package/types/slotted-angular-button.d.ts +390 -0
  565. package/types/slotted-angular-button.d.ts.map +1 -0
  566. package/types/slotted-angular-calendar.d.ts +280 -0
  567. package/types/slotted-angular-calendar.d.ts.map +1 -0
  568. package/types/slotted-angular-card.d.ts +140 -0
  569. package/types/slotted-angular-card.d.ts.map +1 -0
  570. package/types/slotted-angular-carousel.d.ts +288 -0
  571. package/types/slotted-angular-carousel.d.ts.map +1 -0
  572. package/types/slotted-angular-cascader.d.ts +351 -0
  573. package/types/slotted-angular-cascader.d.ts.map +1 -0
  574. package/types/slotted-angular-chart.d.ts +319 -0
  575. package/types/slotted-angular-chart.d.ts.map +1 -0
  576. package/types/slotted-angular-checkbox-group.d.ts +156 -0
  577. package/types/slotted-angular-checkbox-group.d.ts.map +1 -0
  578. package/types/slotted-angular-checkbox.d.ts +197 -0
  579. package/types/slotted-angular-checkbox.d.ts.map +1 -0
  580. package/types/slotted-angular-code-block.d.ts +158 -0
  581. package/types/slotted-angular-code-block.d.ts.map +1 -0
  582. package/types/slotted-angular-collapsible.d.ts +272 -0
  583. package/types/slotted-angular-collapsible.d.ts.map +1 -0
  584. package/types/slotted-angular-color-picker.d.ts +181 -0
  585. package/types/slotted-angular-color-picker.d.ts.map +1 -0
  586. package/types/slotted-angular-column-manager.d.ts +200 -0
  587. package/types/slotted-angular-column-manager.d.ts.map +1 -0
  588. package/types/slotted-angular-combobox.d.ts +449 -0
  589. package/types/slotted-angular-combobox.d.ts.map +1 -0
  590. package/types/slotted-angular-command-palette.d.ts +256 -0
  591. package/types/slotted-angular-command-palette.d.ts.map +1 -0
  592. package/types/slotted-angular-container.d.ts +84 -0
  593. package/types/slotted-angular-container.d.ts.map +1 -0
  594. package/types/slotted-angular-context-menu.d.ts +84 -0
  595. package/types/slotted-angular-context-menu.d.ts.map +1 -0
  596. package/types/slotted-angular-currency-field.d.ts +480 -0
  597. package/types/slotted-angular-currency-field.d.ts.map +1 -0
  598. package/types/slotted-angular-dashboard-grid.d.ts +341 -0
  599. package/types/slotted-angular-dashboard-grid.d.ts.map +1 -0
  600. package/types/slotted-angular-data-grid.d.ts +1077 -0
  601. package/types/slotted-angular-data-grid.d.ts.map +1 -0
  602. package/types/slotted-angular-data-list.d.ts +272 -0
  603. package/types/slotted-angular-data-list.d.ts.map +1 -0
  604. package/types/slotted-angular-date-field.d.ts +320 -0
  605. package/types/slotted-angular-date-field.d.ts.map +1 -0
  606. package/types/slotted-angular-date-picker.d.ts +224 -0
  607. package/types/slotted-angular-date-picker.d.ts.map +1 -0
  608. package/types/slotted-angular-date-range-picker.d.ts +310 -0
  609. package/types/slotted-angular-date-range-picker.d.ts.map +1 -0
  610. package/types/slotted-angular-datetime-field.d.ts +362 -0
  611. package/types/slotted-angular-datetime-field.d.ts.map +1 -0
  612. package/types/slotted-angular-datetime-picker.d.ts +370 -0
  613. package/types/slotted-angular-datetime-picker.d.ts.map +1 -0
  614. package/types/slotted-angular-datetime-range-picker.d.ts +459 -0
  615. package/types/slotted-angular-datetime-range-picker.d.ts.map +1 -0
  616. package/types/slotted-angular-description-list.d.ts +281 -0
  617. package/types/slotted-angular-description-list.d.ts.map +1 -0
  618. package/types/slotted-angular-detail-panel.d.ts +240 -0
  619. package/types/slotted-angular-detail-panel.d.ts.map +1 -0
  620. package/types/slotted-angular-dialog.d.ts +497 -0
  621. package/types/slotted-angular-dialog.d.ts.map +1 -0
  622. package/types/slotted-angular-divider.d.ts +40 -0
  623. package/types/slotted-angular-divider.d.ts.map +1 -0
  624. package/types/slotted-angular-drawer.d.ts +532 -0
  625. package/types/slotted-angular-drawer.d.ts.map +1 -0
  626. package/types/slotted-angular-entity-picker.d.ts +338 -0
  627. package/types/slotted-angular-entity-picker.d.ts.map +1 -0
  628. package/types/slotted-angular-event-calendar.d.ts +574 -0
  629. package/types/slotted-angular-event-calendar.d.ts.map +1 -0
  630. package/types/slotted-angular-field-group.d.ts +152 -0
  631. package/types/slotted-angular-field-group.d.ts.map +1 -0
  632. package/types/slotted-angular-field.d.ts +535 -0
  633. package/types/slotted-angular-field.d.ts.map +1 -0
  634. package/types/slotted-angular-filter-bar.d.ts +573 -0
  635. package/types/slotted-angular-filter-bar.d.ts.map +1 -0
  636. package/types/slotted-angular-form.d.ts +298 -0
  637. package/types/slotted-angular-form.d.ts.map +1 -0
  638. package/types/slotted-angular-fullscreen.d.ts +145 -0
  639. package/types/slotted-angular-fullscreen.d.ts.map +1 -0
  640. package/types/slotted-angular-grid.d.ts +50 -0
  641. package/types/slotted-angular-grid.d.ts.map +1 -0
  642. package/types/slotted-angular-highlight.d.ts +93 -0
  643. package/types/slotted-angular-highlight.d.ts.map +1 -0
  644. package/types/slotted-angular-hover-card.d.ts +140 -0
  645. package/types/slotted-angular-hover-card.d.ts.map +1 -0
  646. package/types/slotted-angular-i18n.d.ts +46 -0
  647. package/types/slotted-angular-i18n.d.ts.map +1 -0
  648. package/types/slotted-angular-icon.d.ts +94 -0
  649. package/types/slotted-angular-icon.d.ts.map +1 -0
  650. package/types/slotted-angular-image.d.ts +251 -0
  651. package/types/slotted-angular-image.d.ts.map +1 -0
  652. package/types/slotted-angular-import-export-center.d.ts +351 -0
  653. package/types/slotted-angular-import-export-center.d.ts.map +1 -0
  654. package/types/slotted-angular-inline-message.d.ts +195 -0
  655. package/types/slotted-angular-inline-message.d.ts.map +1 -0
  656. package/types/slotted-angular-inline.d.ts +41 -0
  657. package/types/slotted-angular-inline.d.ts.map +1 -0
  658. package/types/slotted-angular-kbd.d.ts +174 -0
  659. package/types/slotted-angular-kbd.d.ts.map +1 -0
  660. package/types/slotted-angular-link.d.ts +94 -0
  661. package/types/slotted-angular-link.d.ts.map +1 -0
  662. package/types/slotted-angular-list-item.d.ts +210 -0
  663. package/types/slotted-angular-list-item.d.ts.map +1 -0
  664. package/types/slotted-angular-list.d.ts +176 -0
  665. package/types/slotted-angular-list.d.ts.map +1 -0
  666. package/types/slotted-angular-listbox.d.ts +470 -0
  667. package/types/slotted-angular-listbox.d.ts.map +1 -0
  668. package/types/slotted-angular-loading-overlay.d.ts +219 -0
  669. package/types/slotted-angular-loading-overlay.d.ts.map +1 -0
  670. package/types/slotted-angular-markdown.d.ts +172 -0
  671. package/types/slotted-angular-markdown.d.ts.map +1 -0
  672. package/types/slotted-angular-menu.d.ts +448 -0
  673. package/types/slotted-angular-menu.d.ts.map +1 -0
  674. package/types/slotted-angular-menubar.d.ts +90 -0
  675. package/types/slotted-angular-menubar.d.ts.map +1 -0
  676. package/types/slotted-angular-message-scroller.d.ts +151 -0
  677. package/types/slotted-angular-message-scroller.d.ts.map +1 -0
  678. package/types/slotted-angular-message.d.ts +348 -0
  679. package/types/slotted-angular-message.d.ts.map +1 -0
  680. package/types/slotted-angular-multi-select.d.ts +462 -0
  681. package/types/slotted-angular-multi-select.d.ts.map +1 -0
  682. package/types/slotted-angular-navigation-menu.d.ts +309 -0
  683. package/types/slotted-angular-navigation-menu.d.ts.map +1 -0
  684. package/types/slotted-angular-notification-center.d.ts +318 -0
  685. package/types/slotted-angular-notification-center.d.ts.map +1 -0
  686. package/types/slotted-angular-number-field.d.ts +402 -0
  687. package/types/slotted-angular-number-field.d.ts.map +1 -0
  688. package/types/slotted-angular-otp-input.d.ts +286 -0
  689. package/types/slotted-angular-otp-input.d.ts.map +1 -0
  690. package/types/slotted-angular-page-header.d.ts +334 -0
  691. package/types/slotted-angular-page-header.d.ts.map +1 -0
  692. package/types/slotted-angular-page.d.ts +141 -0
  693. package/types/slotted-angular-page.d.ts.map +1 -0
  694. package/types/slotted-angular-pagination.d.ts +213 -0
  695. package/types/slotted-angular-pagination.d.ts.map +1 -0
  696. package/types/slotted-angular-popover.d.ts +366 -0
  697. package/types/slotted-angular-popover.d.ts.map +1 -0
  698. package/types/slotted-angular-progress-indicator.d.ts +312 -0
  699. package/types/slotted-angular-progress-indicator.d.ts.map +1 -0
  700. package/types/slotted-angular-prompt-composer.d.ts +242 -0
  701. package/types/slotted-angular-prompt-composer.d.ts.map +1 -0
  702. package/types/slotted-angular-prose.d.ts +171 -0
  703. package/types/slotted-angular-prose.d.ts.map +1 -0
  704. package/types/slotted-angular-radio-group.d.ts +268 -0
  705. package/types/slotted-angular-radio-group.d.ts.map +1 -0
  706. package/types/slotted-angular-rating.d.ts +374 -0
  707. package/types/slotted-angular-rating.d.ts.map +1 -0
  708. package/types/slotted-angular-result-state.d.ts +217 -0
  709. package/types/slotted-angular-result-state.d.ts.map +1 -0
  710. package/types/slotted-angular-saved-views.d.ts +198 -0
  711. package/types/slotted-angular-saved-views.d.ts.map +1 -0
  712. package/types/slotted-angular-scroll-area.d.ts +186 -0
  713. package/types/slotted-angular-scroll-area.d.ts.map +1 -0
  714. package/types/slotted-angular-section.d.ts +143 -0
  715. package/types/slotted-angular-section.d.ts.map +1 -0
  716. package/types/slotted-angular-segmented-control.d.ts +251 -0
  717. package/types/slotted-angular-segmented-control.d.ts.map +1 -0
  718. package/types/slotted-angular-select.d.ts +507 -0
  719. package/types/slotted-angular-select.d.ts.map +1 -0
  720. package/types/slotted-angular-side-navigation.d.ts +373 -0
  721. package/types/slotted-angular-side-navigation.d.ts.map +1 -0
  722. package/types/slotted-angular-skeleton.d.ts +198 -0
  723. package/types/slotted-angular-skeleton.d.ts.map +1 -0
  724. package/types/slotted-angular-slider.d.ts +216 -0
  725. package/types/slotted-angular-slider.d.ts.map +1 -0
  726. package/types/slotted-angular-sparkline.d.ts +106 -0
  727. package/types/slotted-angular-sparkline.d.ts.map +1 -0
  728. package/types/slotted-angular-split-button.d.ts +180 -0
  729. package/types/slotted-angular-split-button.d.ts.map +1 -0
  730. package/types/slotted-angular-splitter.d.ts +206 -0
  731. package/types/slotted-angular-splitter.d.ts.map +1 -0
  732. package/types/slotted-angular-stack.d.ts +38 -0
  733. package/types/slotted-angular-stack.d.ts.map +1 -0
  734. package/types/slotted-angular-stat-card.d.ts +232 -0
  735. package/types/slotted-angular-stat-card.d.ts.map +1 -0
  736. package/types/slotted-angular-status-indicator.d.ts +106 -0
  737. package/types/slotted-angular-status-indicator.d.ts.map +1 -0
  738. package/types/slotted-angular-stepper.d.ts +198 -0
  739. package/types/slotted-angular-stepper.d.ts.map +1 -0
  740. package/types/slotted-angular-switch.d.ts +243 -0
  741. package/types/slotted-angular-switch.d.ts.map +1 -0
  742. package/types/slotted-angular-table-of-contents.d.ts +210 -0
  743. package/types/slotted-angular-table-of-contents.d.ts.map +1 -0
  744. package/types/slotted-angular-table.d.ts +888 -0
  745. package/types/slotted-angular-table.d.ts.map +1 -0
  746. package/types/slotted-angular-tabs.d.ts +340 -0
  747. package/types/slotted-angular-tabs.d.ts.map +1 -0
  748. package/types/slotted-angular-tag.d.ts +279 -0
  749. package/types/slotted-angular-tag.d.ts.map +1 -0
  750. package/types/slotted-angular-tags-input.d.ts +302 -0
  751. package/types/slotted-angular-tags-input.d.ts.map +1 -0
  752. package/types/slotted-angular-text-field.d.ts +334 -0
  753. package/types/slotted-angular-text-field.d.ts.map +1 -0
  754. package/types/slotted-angular-textarea.d.ts +150 -0
  755. package/types/slotted-angular-textarea.d.ts.map +1 -0
  756. package/types/slotted-angular-theme.d.ts +26 -0
  757. package/types/slotted-angular-theme.d.ts.map +1 -0
  758. package/types/slotted-angular-time-field.d.ts +300 -0
  759. package/types/slotted-angular-time-field.d.ts.map +1 -0
  760. package/types/slotted-angular-time-picker.d.ts +260 -0
  761. package/types/slotted-angular-time-picker.d.ts.map +1 -0
  762. package/types/slotted-angular-time-range-picker.d.ts +401 -0
  763. package/types/slotted-angular-time-range-picker.d.ts.map +1 -0
  764. package/types/slotted-angular-timeline.d.ts +329 -0
  765. package/types/slotted-angular-timeline.d.ts.map +1 -0
  766. package/types/slotted-angular-toast.d.ts +340 -0
  767. package/types/slotted-angular-toast.d.ts.map +1 -0
  768. package/types/slotted-angular-toggle-group.d.ts +167 -0
  769. package/types/slotted-angular-toggle-group.d.ts.map +1 -0
  770. package/types/slotted-angular-toggle.d.ts +106 -0
  771. package/types/slotted-angular-toggle.d.ts.map +1 -0
  772. package/types/slotted-angular-toolbar.d.ts +252 -0
  773. package/types/slotted-angular-toolbar.d.ts.map +1 -0
  774. package/types/slotted-angular-tooltip.d.ts +388 -0
  775. package/types/slotted-angular-tooltip.d.ts.map +1 -0
  776. package/types/slotted-angular-top-navigation.d.ts +442 -0
  777. package/types/slotted-angular-top-navigation.d.ts.map +1 -0
  778. package/types/slotted-angular-tour.d.ts +440 -0
  779. package/types/slotted-angular-tour.d.ts.map +1 -0
  780. package/types/slotted-angular-transfer.d.ts +296 -0
  781. package/types/slotted-angular-transfer.d.ts.map +1 -0
  782. package/types/slotted-angular-tree.d.ts +499 -0
  783. package/types/slotted-angular-tree.d.ts.map +1 -0
  784. package/types/slotted-angular-typography.d.ts +89 -0
  785. package/types/slotted-angular-typography.d.ts.map +1 -0
  786. package/types/slotted-angular-upload.d.ts +365 -0
  787. package/types/slotted-angular-upload.d.ts.map +1 -0
  788. package/types/slotted-angular-visually-hidden.d.ts +19 -0
  789. package/types/slotted-angular-visually-hidden.d.ts.map +1 -0
  790. package/types/slotted-angular-wizard.d.ts +441 -0
  791. package/types/slotted-angular-wizard.d.ts.map +1 -0
  792. package/types/slotted-angular.d.ts +3 -0
  793. package/types/slotted-angular.d.ts.map +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slotted-angular-rating.mjs","sources":["../../rating/src/rating-defaults.ts","../../rating/src/rating.ts","../../rating/src/rating-display.ts","../../rating/src/rating-summary.ts","../../rating/src/slotted-angular-rating.ts"],"sourcesContent":["import { inject, Injectable, InjectionToken } from '@angular/core';\nimport { RATING_INSIGHT_THRESHOLDS } from '@slotted/core/rating';\nimport type { RatingInsightThresholds } from '@slotted/core/rating';\n\n/** The step the symbols and the text beside them sit at. */\nexport type RatingSize = 'sm' | 'md' | 'lg';\n\n/**\n * The colour a lit symbol takes. `secondary` is outside the axis: its solid\n * step is a ground, and a lit star painted in it reads as an unlit one.\n */\nexport type RatingTone = 'accent' | 'success' | 'warning' | 'danger';\n\n/** The smallest move of the input member: a whole symbol, or half of one. */\nexport type RatingStep = 1 | 0.5;\n\n/** How the display member draws a value: every symbol, one symbol, or one symbol and a histogram. */\nexport type RatingDisplayVariant = 'full' | 'compact' | 'histogram';\n\n/** How the summary draws a distribution: one bar per level, or columns over the scale with the mean. */\nexport type RatingSummaryVariant = 'bars' | 'spectrum';\n\nexport interface RatingDefaults {\n size: RatingSize;\n tone: RatingTone;\n max: number;\n clearable: boolean;\n insightThresholds: RatingInsightThresholds;\n}\n\n/** What `provideRating()` takes: every key optional, and the thresholds partial. */\nexport type RatingDefaultsInput = Partial<Omit<RatingDefaults, 'insightThresholds'>> & {\n insightThresholds?: Partial<RatingInsightThresholds>;\n};\n\nconst FALLBACK: RatingDefaults = {\n size: 'md',\n tone: 'warning',\n max: 5,\n clearable: true,\n insightThresholds: RATING_INSIGHT_THRESHOLDS,\n};\n\nexport const SL_RATING_DEFAULTS = new InjectionToken<RatingDefaults>('slotted rating defaults', {\n providedIn: 'root',\n factory: () => FALLBACK,\n});\n\n/**\n * An application decides once how its ratings read — the step, the tone, the\n * scale, whether a press on the chosen star empties it and the thresholds of\n * the summary's conclusion. A threshold left out keeps the family's; an\n * instance that states any of them still wins. The words and the locale come\n * from the language in force (`provideSlotted`).\n */\nexport function provideRating(defaults: RatingDefaultsInput) {\n return {\n provide: SL_RATING_DEFAULTS,\n useFactory: (): RatingDefaults => ({\n ...FALLBACK,\n ...defaults,\n insightThresholds: { ...RATING_INSIGHT_THRESHOLDS, ...defaults.insightThresholds },\n }),\n };\n}\n\n/** What a rating renders as here, before it states anything of its own. */\nexport function injectRatingDefaults(): RatingDefaults {\n return inject(SL_RATING_DEFAULTS);\n}\n\n/**\n * One sequence for every application in the page, not one per application.\n *\n * The generated value is the `name` the radios group by, and grouping is by\n * name across the whole document when there is no form: two applications on\n * one page — every story on a Storybook docs page is its own application —\n * each counting from one gave two ratings the same name, and checking a star\n * in one unchecked the other. `field` scopes its counter to the application\n * because its identifiers must match between server and client; this one is\n * written through an attribute binding, which the client rewrites after\n * hydration, so a sequence shared by the realm costs nothing there.\n */\nlet sequence = 0;\n\n@Injectable({ providedIn: 'root' })\nexport class SlRatingIdFactory {\n next() {\n sequence += 1;\n return `slotted-rating-${sequence}`;\n }\n}\n\n/** A whole count, with the locale's grouping. */\nexport function formatCount(count: number, locale: string | undefined): string {\n return new Intl.NumberFormat(locale, { maximumFractionDigits: 0 }).format(count);\n}\n\n/** A number written into a custom property, to a fixed number of places. */\nexport function cssNumber(value: number, places: number): string {\n return String(Number(value.toFixed(places)));\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n Directive,\n ElementRef,\n forwardRef,\n HostAttributeToken,\n inject,\n input,\n model,\n output,\n signal,\n TemplateRef,\n viewChildren,\n ViewEncapsulation,\n} from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport type {\n AbstractControl,\n ControlValueAccessor,\n ValidationErrors,\n Validator,\n} from '@angular/forms';\nimport { SlField } from '@slotted/angular/field';\nimport { SlFieldGroup } from '@slotted/angular/field-group';\nimport { injectLocale, injectMessages } from '@slotted/angular/i18n';\nimport { SlGlyph, SlIcon } from '@slotted/angular/icon';\nimport { type PartialMessages, ratingMessages, type RatingMessages } from '@slotted/core/i18n';\nimport {\n formatRatingValue,\n normaliseRating,\n ratingAtPoint,\n ratingFills,\n ratingForKey,\n} from '@slotted/core/rating';\nimport type { RatingScale } from '@slotted/core/rating';\nimport { createControllable } from '@slotted/core/state';\nimport type { ChangeRequest } from '@slotted/core/state';\n\nimport { injectRatingDefaults, SlRatingIdFactory } from './rating-defaults';\nimport type { RatingSize, RatingStep, RatingTone } from './rating-defaults';\n\n/** Why the value moved. A rating can produce exactly these three. */\nexport type RatingValueReason = 'pointer' | 'keyboard' | 'clear';\n\n/** What the caption template is handed: the value held, and the one under the pointer. */\nexport interface RatingCaptionContext {\n $implicit: number | null;\n value: number | null;\n preview: number | null;\n}\n\n/** What the symbol template is handed: the symbol's position, and how much of it is lit. */\nexport interface RatingSymbolContext {\n $implicit: { index: number; fill: number };\n index: number;\n fill: number;\n}\n\n/**\n * The words beside the stars. On an element it is projected as it is; on an\n * `ng-template` it is rendered again whenever the value or the preview moves,\n * with both in its context — the word for the star under the pointer is the\n * whole point of a caption.\n */\n@Directive({\n selector: '[slRatingCaption]',\n standalone: true,\n})\nexport class SlRatingCaption {\n readonly template = inject<TemplateRef<RatingCaptionContext>>(TemplateRef, { optional: true });\n\n static ngTemplateContextGuard(\n _directive: SlRatingCaption,\n context: unknown,\n ): context is RatingCaptionContext {\n return context !== null;\n }\n}\n\n/**\n * The drawing of one symbol, in place of the star. It is rendered twice per\n * item — once in `symbol`, the unlit shape, and once in `fill`, the lit one\n * the stylesheet clips — so a consumer's heart lights the way a star does.\n */\n@Directive({\n selector: 'ng-template[slRatingSymbol]',\n standalone: true,\n})\nexport class SlRatingSymbol {\n readonly template = inject<TemplateRef<RatingSymbolContext>>(TemplateRef);\n\n static ngTemplateContextGuard(\n _directive: SlRatingSymbol,\n context: unknown,\n ): context is RatingSymbolContext {\n return context !== null;\n }\n}\n\ninterface RatingRadio {\n value: number;\n half: boolean;\n label: string;\n}\n\ninterface RatingItem {\n index: number;\n checked: boolean;\n radios: RatingRadio[];\n context: RatingSymbolContext;\n}\n\n/** A touch or a pen on the row, from its press to its release. */\ninterface RatingGesture {\n pointerId: number;\n moved: boolean;\n}\n\nconst optionalBoolean = (value: boolean | string | undefined) =>\n value === undefined ? undefined : booleanAttribute(value);\n\n/**\n * An ordinal value chosen from a row of symbols.\n *\n * **The radios are native, and that buys the rest.** Tab lands on the checked\n * one or on the first, Space checks, the form submits the value under one\n * `name`, and a disabled rating leaves the tab order — all the platform's. The\n * arrows are the family's (`ratingForKey`): the platform's wrap from the last\n * radio to the first, and a rating that falls from five to one on one key too\n * many is the defect every surveyed rating avoids.\n *\n * **A half step is a second radio over the inline-start half of the symbol**,\n * stacked above the whole one, so the pointer asks for the half by pressing\n * where the half is drawn.\n *\n * **The DOM is written back after every activation.** The HTML standard's\n * canceled activation restores only the clicked radio, and a press on the\n * checked one that empties the value leaves the platform nothing to undo, so\n * each radio's `checked` is set from the value once the request is answered.\n */\n@Component({\n selector: 'div[slRating]',\n standalone: true,\n exportAs: 'slRating',\n imports: [NgTemplateOutlet, SlGlyph, SlIcon],\n template: `<div\n data-part=\"symbols\"\n (pointerdown)=\"onRowPointerDown($event)\"\n (pointermove)=\"onRowPointerMove($event)\"\n (pointerup)=\"onRowPointerUp($event)\"\n (pointercancel)=\"onRowPointerCancel()\"\n >\n @for (item of items(); track item.index) {\n <span data-part=\"item\" [attr.data-checked]=\"item.checked ? '' : null\">\n @for (radio of item.radios; track radio.value) {\n <input\n #radioInput\n data-part=\"input\"\n type=\"radio\"\n [attr.data-half]=\"radio.half ? '' : null\"\n [attr.name]=\"resolvedName()\"\n [attr.form]=\"form() ?? null\"\n [attr.value]=\"radio.value\"\n [attr.aria-label]=\"radio.label\"\n [attr.disabled]=\"resolvedDisabled() === true ? '' : null\"\n [checked]=\"radio.value === current()\"\n (pointerover)=\"onPreview(radio.value)\"\n (blur)=\"onBlur()\"\n />\n }\n <span data-part=\"symbol\">\n @if (symbol(); as custom) {\n <ng-container *ngTemplateOutlet=\"custom.template; context: item.context\" />\n } @else {\n <span slIcon><svg slGlyph name=\"star\"></svg></span>\n }\n </span>\n <span data-part=\"fill\">\n @if (symbol(); as custom) {\n <ng-container *ngTemplateOutlet=\"custom.template; context: item.context\" />\n } @else {\n <span slIcon><svg slGlyph name=\"star\"></svg></span>\n }\n </span>\n </span>\n }\n </div>\n @if (caption(); as words) {\n <span data-part=\"value\" aria-hidden=\"true\">\n @if (words.template; as captionTemplate) {\n <ng-container *ngTemplateOutlet=\"captionTemplate; context: captionContext()\" />\n } @else {\n <ng-content select=\"[slRatingCaption]\" />\n }\n </span>\n }`,\n styleUrl: '../../../styles/src/rating/rating.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SlRating), multi: true },\n { provide: NG_VALIDATORS, useExisting: forwardRef(() => SlRating), multi: true },\n ],\n host: {\n 'data-ui': 'rating',\n 'data-part': 'root',\n '[attr.role]': 'resolvedRole()',\n '[attr.data-size]': 'resolvedSize()',\n '[attr.data-tone]': 'resolvedTone()',\n '[attr.data-max]': 'resolvedMax()',\n '[attr.data-step]': \"resolvedStep() === 0.5 ? '0.5' : null\",\n '[attr.data-disabled]': \"resolvedDisabled() === true ? '' : null\",\n '[attr.data-readonly]': \"resolvedReadOnly() === true ? '' : null\",\n '[attr.data-invalid]': \"resolvedInvalid() === true ? '' : null\",\n '[attr.data-dragging]': \"dragging() ? '' : null\",\n '[attr.aria-describedby]': 'describedBy()',\n '[attr.aria-invalid]': \"resolvedInvalid() === true ? 'true' : null\",\n '[attr.aria-readonly]': \"resolvedReadOnly() === true ? 'true' : null\",\n '[attr.aria-required]': \"resolvedRequired() === true ? 'true' : null\",\n '(keydown)': 'onKeyDown($event)',\n '(click)': 'onClick($event)',\n '(pointerleave)': 'onLeave()',\n },\n})\nexport class SlRating implements ControlValueAccessor, Validator {\n /** The rating, `null` for none. Two-way; every move is asked first through `valueChangeRequest`. */\n readonly value = model<number | null>(null);\n readonly max = input<number | undefined>(undefined);\n readonly step = input<RatingStep>(1);\n readonly clearable = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: optionalBoolean,\n });\n readonly size = input<RatingSize | undefined>(undefined);\n readonly tone = input<RatingTone | undefined>(undefined);\n /** The submission name the radios share. Generated when it is not written. */\n readonly name = input<string | undefined>(undefined);\n /** The form the radios belong to when the rating sits outside it. */\n readonly form = input<string | undefined>(undefined);\n /** Unstated rather than `false`, so the rating defers to the field around it. */\n readonly disabled = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: optionalBoolean,\n });\n readonly readOnly = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: optionalBoolean,\n });\n readonly invalid = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: optionalBoolean,\n });\n readonly required = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: optionalBoolean,\n });\n /** Words laid over the catalog of the language in force, key by key. */\n readonly messages = input<PartialMessages<RatingMessages> | undefined>(undefined);\n /** The locale numbers are written in. Unstated, the language in force. */\n readonly locale = input<string | undefined>(undefined);\n\n /**\n * Emitted before the value moves, with the value asked for, the one it\n * replaces, the reason and the event. `cancel()` keeps the value.\n */\n readonly valueChangeRequest = output<ChangeRequest<number | null>>();\n /** The value under the pointer, and `null` when it leaves. It changes nothing. */\n readonly previewChange = output<number | null>();\n\n private readonly element = inject<ElementRef<HTMLElement>>(ElementRef).nativeElement;\n private readonly field = inject(SlField, { optional: true });\n private readonly fieldGroup = inject(SlFieldGroup, { optional: true });\n private readonly defaults = injectRatingDefaults();\n private readonly appLocale = injectLocale();\n /** The family's words in the language in force, with this rating's `messages` laid over them. */\n readonly t = injectMessages(ratingMessages, this.messages);\n private readonly generatedName = inject(SlRatingIdFactory).next();\n private readonly writtenRole = inject(new HostAttributeToken('role'), { optional: true });\n private readonly writtenDescribedBy = inject(new HostAttributeToken('aria-describedby'), {\n optional: true,\n });\n\n protected readonly caption = contentChild(SlRatingCaption);\n protected readonly symbol = contentChild(SlRatingSymbol);\n private readonly radios = viewChildren<ElementRef<HTMLInputElement>>('radioInput');\n\n private readonly formDisabled = signal<boolean | undefined>(undefined);\n private readonly preview = signal<number | null>(null);\n protected readonly dragging = signal(false);\n private gesture: RatingGesture | null = null;\n /** Set when a touch gesture has answered a press, so the click the platform sends after it does not answer it again. */\n private suppressClick = false;\n private onChange: (value: number | null) => void = () => undefined;\n private onTouched: () => void = () => undefined;\n\n readonly resolvedName = computed(() => this.name() ?? this.generatedName);\n readonly resolvedMax = computed(() => Math.max(1, Math.round(this.max() ?? this.defaults.max)));\n readonly resolvedStep = computed<RatingStep>(() => (this.step() === 0.5 ? 0.5 : 1));\n readonly resolvedClearable = computed(() => this.clearable() ?? this.defaults.clearable);\n readonly resolvedSize = computed(\n () =>\n this.size() ??\n (this.field?.resolvedSize() as RatingSize | undefined) ??\n (this.fieldGroup?.resolvedSize() as RatingSize | undefined) ??\n this.defaults.size,\n );\n readonly resolvedTone = computed(() => this.tone() ?? this.defaults.tone);\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 readonly resolvedRequired = computed(\n () => this.required() ?? this.field?.required() ?? this.fieldGroup?.required(),\n );\n readonly resolvedLocale = computed(() => this.locale() ?? this.appLocale());\n\n private readonly scale = computed<RatingScale>(() => ({\n max: this.resolvedMax(),\n step: this.resolvedStep(),\n }));\n\n /** The value on the grid of the scale: 7 of 5 is 5, 3.2 on whole steps is 4, and `NaN` is none. */\n readonly current = computed(() => normaliseRating(this.value(), this.scale()));\n\n protected readonly items = computed<RatingItem[]>(() => {\n const { max, step } = this.scale();\n const current = this.current();\n const fills = ratingFills(current, max);\n const locale = this.resolvedLocale();\n return fills.map((fill, index) => {\n const whole = index + 1;\n const values = step === 0.5 ? [whole - 0.5, whole] : [whole];\n return {\n index,\n checked: current !== null && values.includes(current),\n radios: values.map((value) => ({\n value,\n half: value !== whole,\n label: this.t('itemLabel', { value: formatRatingValue(value, locale), max }),\n })),\n context: { $implicit: { index, fill }, index, fill },\n };\n });\n });\n\n protected readonly captionContext = computed<RatingCaptionContext>(() => ({\n $implicit: this.current(),\n value: this.current(),\n preview: this.preview(),\n }));\n\n protected readonly resolvedRole = computed(\n () => this.writtenRole ?? (this.fieldGroup === null ? 'radiogroup' : null),\n );\n protected readonly describedBy = computed(() => {\n const merged = [this.writtenDescribedBy, this.field?.describedBy()].filter(Boolean);\n return merged.length === 0 ? null : merged.join(' ');\n });\n\n private readonly inert = computed(\n () => this.resolvedDisabled() === true || this.resolvedReadOnly() === true,\n );\n\n /** The one action a value cannot express: focus on the checked radio, or on the first. */\n focus(options?: FocusOptions) {\n const target = this.inputFor(this.current()) ?? this.radios()[0]?.nativeElement;\n target?.focus(options);\n }\n\n protected onKeyDown(event: KeyboardEvent) {\n this.suppressClick = false;\n if (!this.isOwnRadio(event.target) || this.resolvedDisabled() === true) return;\n const next = ratingForKey(event.key, this.current(), this.scale(), {\n rtl: this.isRtl(),\n clearable: this.resolvedClearable(),\n });\n if (next === undefined) return;\n event.preventDefault();\n if (this.resolvedReadOnly() === true) return;\n if (next === null) {\n this.request(null, 'clear', event);\n this.syncElements();\n return;\n }\n this.request(next, 'keyboard', event);\n this.syncElements();\n this.inputFor(this.current())?.focus();\n }\n\n protected onClick(event: MouseEvent) {\n const target = event.target;\n if (this.suppressClick) {\n this.suppressClick = false;\n if (this.isOwnRadio(target)) {\n event.preventDefault();\n this.syncElements();\n }\n return;\n }\n if (!this.isOwnRadio(target)) return;\n if (this.inert()) {\n event.preventDefault();\n this.syncElements();\n return;\n }\n\n const picked = Number(target.value);\n if (picked === this.current()) {\n /* A click the keyboard synthesised — Space on the checked radio — reports\n no detail, and Space checks; it never empties. */\n if (this.resolvedClearable() && event.detail > 0) this.request(null, 'clear', event);\n this.syncElements();\n return;\n }\n const moved = this.request(picked, event.detail === 0 ? 'keyboard' : 'pointer', event);\n if (!moved) event.preventDefault();\n this.syncElements();\n }\n\n protected onRowPointerDown(event: PointerEvent) {\n this.suppressClick = false;\n if (this.inert() || event.pointerType === 'mouse' || event.pointerType === '') return;\n this.gesture = { pointerId: event.pointerId, moved: false };\n this.dragging.set(true);\n const row = event.currentTarget as HTMLElement;\n if (typeof row.setPointerCapture === 'function') row.setPointerCapture(event.pointerId);\n }\n\n protected onRowPointerMove(event: PointerEvent) {\n if (this.gesture === null || event.pointerId !== this.gesture.pointerId) return;\n this.gesture.moved = true;\n const next = this.valueAt(event);\n if (next === this.current()) return;\n this.request(next, 'pointer', event);\n this.syncElements();\n }\n\n /**\n * A touch that never moved is a press, answered here rather than by the\n * click that follows it: with the row capturing the pointer, the click lands\n * on the row and not on a radio.\n */\n protected onRowPointerUp(event: PointerEvent) {\n if (this.gesture === null || event.pointerId !== this.gesture.pointerId) return;\n if (!this.gesture.moved) {\n const next = this.valueAt(event);\n if (next !== this.current()) this.request(next, 'pointer', event);\n else if (this.resolvedClearable()) this.request(null, 'clear', event);\n this.syncElements();\n }\n this.gesture = null;\n this.dragging.set(false);\n this.suppressClick = true;\n }\n\n protected onRowPointerCancel() {\n this.gesture = null;\n this.dragging.set(false);\n }\n\n protected onPreview(value: number) {\n if (this.inert() || this.preview() === value) return;\n this.preview.set(value);\n this.previewChange.emit(value);\n }\n\n protected onLeave() {\n if (this.preview() === null) return;\n this.preview.set(null);\n this.previewChange.emit(null);\n }\n\n protected onBlur() {\n this.onTouched();\n }\n\n writeValue(value: number | null | undefined) {\n this.value.set(value ?? null);\n }\n\n registerOnChange(fn: (value: number | null) => void) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void) {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean) {\n this.formDisabled.set(isDisabled);\n }\n\n /** \"Choose a rating\" is a fact about the whole row, which no single radio can see. */\n validate(control: AbstractControl): ValidationErrors | null {\n if (this.resolvedRequired() !== true) return null;\n const value = control.value as number | null | undefined;\n return normaliseRating(value, this.scale()) === null ? { required: true } : null;\n }\n\n /**\n * Asks for one value. Returns whether it moved: not while read-only or\n * disabled, not when it is the value already held, and not when the\n * consumer cancelled the request.\n */\n private request(next: number | null, reason: RatingValueReason, source: Event): boolean {\n if (this.inert()) return false;\n const previous = this.current();\n if (next === previous) return false;\n const state = createControllable<number | null>({\n initial: previous,\n onRequest: (request) => this.valueChangeRequest.emit(request),\n });\n if (!state.request(next, reason, source)) return false;\n this.value.set(next);\n this.onChange(next);\n return true;\n }\n\n private valueAt(event: PointerEvent): number {\n const row = event.currentTarget as HTMLElement;\n const box = row.getBoundingClientRect();\n return ratingAtPoint(\n { x: event.clientX },\n { x: box.x, width: box.width },\n this.scale(),\n this.isRtl(),\n );\n }\n\n /** Writes every radio's `checked` from the value. */\n private syncElements() {\n const current = this.current();\n for (const { nativeElement } of this.radios()) {\n nativeElement.checked = Number(nativeElement.value) === current;\n }\n }\n\n private inputFor(value: number | null): HTMLInputElement | undefined {\n if (value === null) return undefined;\n return this.radios().find(({ nativeElement }) => Number(nativeElement.value) === value)\n ?.nativeElement;\n }\n\n private isOwnRadio(target: EventTarget | null): target is HTMLInputElement {\n return this.radios().some(({ nativeElement }) => nativeElement === target);\n }\n\n /** A right-to-left document is a property of the page, read from the element. */\n private isRtl() {\n return getComputedStyle(this.element).direction === 'rtl';\n }\n}\n","import {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n HostAttributeToken,\n inject,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport { injectLocale, injectMessages } from '@slotted/angular/i18n';\nimport { SlGlyph, SlIcon } from '@slotted/angular/icon';\nimport { type PartialMessages, ratingMessages, type RatingMessages } from '@slotted/core/i18n';\nimport { formatRating, formatRatingValue, ratingFills } from '@slotted/core/rating';\n\nimport { cssNumber, formatCount, injectRatingDefaults } from './rating-defaults';\nimport type { RatingDisplayVariant, RatingSize, RatingTone } from './rating-defaults';\n\n/**\n * A rating the page reports rather than asks for: an image of lit symbols\n * named by the number it draws.\n *\n * Any fraction is drawn — 4,6 lights six tenths of the fifth star — because\n * nothing here is a target; the input member offers whole and half steps\n * only. `compact` and `histogram` draw one lit star beside the number, for a\n * row of a table or a card, and `histogram` adds the distribution as bars,\n * each level over the largest, so a split between the two ends is visible at\n * a glance where a mean of 3,3 would hide it.\n */\n@Component({\n selector: 'div[slRatingDisplay]',\n standalone: true,\n exportAs: 'slRatingDisplay',\n imports: [SlGlyph, SlIcon],\n template: `<div data-part=\"symbols\">\n @for (fill of fills(); track $index) {\n <span data-part=\"item\" [style.--slotted-rating-fill]=\"fill\"\n ><span data-part=\"symbol\"\n ><span slIcon><svg slGlyph name=\"star\"></svg></span></span\n ><span data-part=\"fill\"\n ><span slIcon><svg slGlyph name=\"star\"></svg></span></span\n ></span>\n }\n </div>\n @if (showValue()) {\n <span data-part=\"value\" aria-hidden=\"true\">{{ valueText() }}</span>\n }\n @if (resolvedVariant() === 'histogram') {\n <span data-part=\"histogram\" aria-hidden=\"true\">\n @for (share of shares(); track $index) {\n <span data-part=\"bar\" [style.--slotted-rating-share]=\"share\"></span>\n }\n </span>\n }\n @if (countText(); as text) {\n <span data-part=\"count\" aria-hidden=\"true\">{{ text }}</span>\n }`,\n styleUrl: '../../../styles/src/rating/rating.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'data-ui': 'rating',\n 'data-part': 'root',\n role: 'img',\n '[attr.data-size]': 'resolvedSize()',\n '[attr.data-tone]': 'resolvedTone()',\n '[attr.data-variant]': \"resolvedVariant() === 'full' ? null : resolvedVariant()\",\n '[attr.aria-label]': 'label()',\n },\n})\nexport class SlRatingDisplay {\n /** The number drawn. Any fraction; clamped to the scale when it is drawn. */\n readonly value = input.required<number>();\n readonly max = input<number | undefined>(undefined);\n readonly size = input<RatingSize | undefined>(undefined);\n readonly tone = input<RatingTone | undefined>(undefined);\n readonly variant = input<RatingDisplayVariant>('full');\n /** How many readings the value is made of. Written beside it and in the name. */\n readonly count = input<number | undefined>(undefined);\n /** Counts per level, lowest first, for the `histogram` variant. */\n readonly distribution = input<readonly number[] | undefined>(undefined);\n readonly showValue = input(true, { transform: booleanAttribute });\n /** Words laid over the catalog of the language in force, key by key. */\n readonly messages = input<PartialMessages<RatingMessages> | undefined>(undefined);\n /** The locale numbers are written in. Unstated, the language in force. */\n readonly locale = input<string | undefined>(undefined);\n\n private readonly defaults = injectRatingDefaults();\n private readonly appLocale = injectLocale();\n /** The family's words in the language in force, with this display's `messages` laid over them. */\n readonly t = injectMessages(ratingMessages, this.messages);\n private readonly writtenLabel = inject(new HostAttributeToken('aria-label'), { optional: true });\n\n readonly resolvedMax = computed(() => Math.max(1, Math.round(this.max() ?? this.defaults.max)));\n readonly resolvedSize = computed(() => this.size() ?? this.defaults.size);\n readonly resolvedTone = computed(() => this.tone() ?? this.defaults.tone);\n readonly resolvedVariant = computed(() => this.variant());\n private readonly resolvedLocale = computed(() => this.locale() ?? this.appLocale());\n\n /** The value clamped to the scale, and `NaN` read as nought. */\n private readonly drawn = computed(() => {\n const value = this.value();\n return Number.isFinite(value) ? Math.min(Math.max(value, 0), this.resolvedMax()) : 0;\n });\n\n /** Every symbol's lit share; one full star for the variants that draw one. */\n protected readonly fills = computed(() =>\n this.resolvedVariant() === 'full'\n ? ratingFills(this.drawn(), this.resolvedMax()).map((fill) => cssNumber(fill, 4))\n : ['1'],\n );\n\n protected readonly shares = computed(() => {\n const counts = (this.distribution() ?? []).map((count) =>\n Number.isFinite(count) ? Math.max(0, count) : 0,\n );\n const largest = Math.max(0, ...counts);\n return counts.map((count) => cssNumber(largest === 0 ? 0 : count / largest, 4));\n });\n\n protected readonly valueText = computed(() => formatRating(this.drawn(), this.resolvedLocale()));\n\n protected readonly countText = computed(() => {\n const count = this.count();\n if (count === undefined) return null;\n const text = formatCount(count, this.resolvedLocale());\n return this.resolvedVariant() === 'histogram' ? text : `(${text})`;\n });\n\n protected readonly label = computed(() => {\n if (this.writtenLabel !== null) return this.writtenLabel;\n const count = this.count();\n const value = formatRatingValue(this.drawn(), this.resolvedLocale());\n const max = this.resolvedMax();\n return count === undefined\n ? this.t('displayLabel', { value, max })\n : this.t('displayLabelWithCount', { value, max, count });\n });\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n model,\n output,\n ViewEncapsulation,\n} from '@angular/core';\nimport { injectLocale, injectMessages } from '@slotted/angular/i18n';\nimport { SlGlyph, SlIcon } from '@slotted/angular/icon';\nimport { type PartialMessages, ratingMessages, type RatingMessages } from '@slotted/core/i18n';\nimport { formatRating, formatShare, summariseRatings } from '@slotted/core/rating';\nimport type { RatingInsight, RatingInsightThresholds } from '@slotted/core/rating';\nimport { createControllable } from '@slotted/core/state';\nimport type { ChangeRequest } from '@slotted/core/state';\n\nimport { cssNumber, formatCount, injectRatingDefaults } from './rating-defaults';\nimport type { RatingSize, RatingSummaryVariant, RatingTone } from './rating-defaults';\n\n/** Stands in for the share while a message is written, so the share can be set apart. */\nconst SHARE_MARK = '\\uE000';\nimport { SlRatingDisplay } from './rating-display';\n\n/** Why the selected levels moved: a press, or Space or Enter on a level. */\nexport type RatingLevelsReason = 'pointer' | 'keyboard';\n\n/** The tone each conclusion is drawn in, from the family's contract. */\nconst INSIGHT_TONE: Record<RatingInsight, 'success' | 'warning' | 'secondary'> = {\n divided: 'warning',\n few: 'secondary',\n consensus: 'success',\n mixed: 'secondary',\n};\n\ninterface SummaryLevel {\n level: number;\n count: number;\n countText: string;\n /** The level's share of the total, for the bar of `bars`. */\n share: string;\n /** The level over the largest level, for the column of `spectrum`. */\n peak: string;\n shareText: string;\n label: string;\n pressed: boolean;\n}\n\ninterface SummaryBucket {\n key: 'positive' | 'neutral' | 'negative';\n tone: 'success' | 'secondary' | 'danger';\n before: string;\n share: string;\n after: string;\n}\n\n/**\n * The aggregate of many ratings: the figure, how many readings it is made of,\n * and how they spread over the levels.\n *\n * `bars` draws one bar per level, highest first, the order every surveyed\n * summary uses. `spectrum` draws the same counts as columns over the scale,\n * lowest first, with the mean and its 95% interval laid over them, the\n * readings split into three buckets, and one conclusion — split, too few,\n * agreed, or none of those — so a 3,3 made of ones and fives does not read\n * like a 3,3 made of threes.\n *\n * With `filterable`, each level is a toggle button, and the pressed levels are\n * a selection the page filters its reviews by; a level nobody chose is\n * disabled, because a filter that returns nothing is a dead end.\n */\n@Component({\n selector: 'section[slRatingSummary]',\n standalone: true,\n exportAs: 'slRatingSummary',\n imports: [NgTemplateOutlet, SlGlyph, SlIcon, SlRatingDisplay],\n template: `<ng-template #levelLabel let-level\n ><span data-part=\"level-label\"\n ><span>{{ level }}</span\n ><span slIcon><svg slGlyph name=\"star\"></svg></span></span\n ></ng-template>\n <div data-part=\"aggregate\">\n @if (summary().total > 0) {\n <span data-part=\"value\">{{ averageText() }}</span>\n <span data-part=\"scale\">{{ scaleText() }}</span>\n }\n @if (insight(); as conclusion) {\n <span data-part=\"insight\" [attr.data-tone]=\"conclusion.tone\">{{ conclusion.text }}</span>\n }\n @if (resolvedVariant() === 'bars') {\n <div\n slRatingDisplay\n size=\"sm\"\n [tone]=\"resolvedTone()\"\n [value]=\"summary().average ?? 0\"\n [max]=\"resolvedMax()\"\n [showValue]=\"false\"\n [messages]=\"messages()\"\n [locale]=\"resolvedLocale()\"\n ></div>\n }\n <span data-part=\"count\">{{ countText() }}</span>\n </div>\n @if (resolvedVariant() === 'bars') {\n <ul data-part=\"distribution\" [attr.aria-label]=\"t('distributionLabel')\">\n @for (level of highestFirst(); track level.level) {\n <li>\n @if (filterable()) {\n <button\n data-part=\"level\"\n type=\"button\"\n [attr.aria-pressed]=\"level.pressed ? 'true' : 'false'\"\n [attr.data-pressed]=\"level.pressed ? '' : null\"\n [attr.aria-label]=\"level.label\"\n [attr.disabled]=\"level.count === 0 ? '' : null\"\n (click)=\"toggle(level.level, $event)\"\n >\n <ng-container *ngTemplateOutlet=\"levelBody; context: { $implicit: level }\" />\n </button>\n } @else {\n <div data-part=\"level\" role=\"group\" [attr.aria-label]=\"level.label\">\n <ng-container *ngTemplateOutlet=\"levelBody; context: { $implicit: level }\" />\n </div>\n }\n </li>\n }\n </ul>\n <ng-template #levelBody let-level\n ><ng-container *ngTemplateOutlet=\"levelLabel; context: { $implicit: level.level }\" /><span\n data-part=\"track\"\n aria-hidden=\"true\"\n ><span data-part=\"indicator\" [style.--slotted-rating-share]=\"level.share\"></span></span\n ><span data-part=\"level-count\">{{ level.countText }}</span></ng-template\n >\n } @else {\n <div data-part=\"plot\">\n <div data-part=\"field\">\n <div data-part=\"columns\">\n @for (level of lowestFirst(); track level.level) {\n @if (filterable()) {\n <button\n data-part=\"column\"\n type=\"button\"\n [attr.aria-pressed]=\"level.pressed ? 'true' : 'false'\"\n [attr.data-pressed]=\"level.pressed ? '' : null\"\n [attr.aria-label]=\"level.label\"\n [attr.disabled]=\"level.count === 0 ? '' : null\"\n [style.--slotted-rating-share]=\"level.peak\"\n (click)=\"toggle(level.level, $event)\"\n >\n <span data-part=\"bar\"></span>\n </button>\n } @else {\n <div\n data-part=\"column\"\n role=\"group\"\n [attr.aria-label]=\"level.label\"\n [style.--slotted-rating-share]=\"level.peak\"\n >\n <span data-part=\"bar\"></span>\n </div>\n }\n }\n </div>\n @if (summary().total > 0) {\n <span data-part=\"interval\" aria-hidden=\"true\"></span>\n <span data-part=\"mean\" aria-hidden=\"true\"\n ><span data-part=\"mean-label\">{{ averageText() }}</span></span\n >\n }\n </div>\n <div data-part=\"axis\" aria-hidden=\"true\">\n @for (level of lowestFirst(); track level.level) {\n <span data-part=\"tick\"\n ><ng-container\n *ngTemplateOutlet=\"levelLabel; context: { $implicit: level.level }\"\n /><span data-part=\"tick-share\">{{ level.shareText }}</span></span\n >\n }\n </div>\n </div>\n @if (summary().total > 0) {\n <p data-part=\"sentiment\">\n @for (bucket of buckets(); track bucket.key) {\n <span data-part=\"bucket\" [attr.data-tone]=\"bucket.tone\"\n ><span data-part=\"swatch\" aria-hidden=\"true\"></span>{{ bucket.before\n }}<strong>{{ bucket.share }}</strong\n >{{ bucket.after }}</span\n >\n }\n </p>\n }\n }`,\n styleUrl: '../../../styles/src/rating/rating.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'data-ui': 'rating',\n 'data-part': 'root',\n '[attr.data-variant]': \"resolvedVariant() === 'bars' ? 'summary' : 'spectrum'\",\n '[attr.data-size]': 'resolvedSize()',\n '[attr.data-tone]': 'resolvedTone()',\n '[style.--slotted-rating-mean]': 'meanProperties()?.mean ?? null',\n '[style.--slotted-rating-low]': 'meanProperties()?.low ?? null',\n '[style.--slotted-rating-high]': 'meanProperties()?.high ?? null',\n },\n})\nexport class SlRatingSummary {\n /** How many readings each level holds, lowest level first — the order a store keeps them in. */\n readonly counts = input.required<readonly number[]>();\n /** How many levels the scale has. A level missing from `counts` holds none; one past it is dropped. */\n readonly max = input<number | undefined>(undefined);\n readonly variant = input<RatingSummaryVariant>('bars');\n /** Each level becomes a toggle button, and the pressed ones are `selectedLevels`. */\n readonly filterable = input(false, { transform: booleanAttribute });\n /** The levels pressed, ascending. Two-way; every move is asked first through `selectedLevelsChangeRequest`. */\n readonly selectedLevels = model<readonly number[]>([]);\n /** Merged over the application's thresholds, key by key. */\n readonly insightThresholds = input<Partial<RatingInsightThresholds> | undefined>(undefined);\n readonly showInsight = input(true, { transform: booleanAttribute });\n readonly size = input<RatingSize | undefined>(undefined);\n readonly tone = input<RatingTone | undefined>(undefined);\n /** Words laid over the catalog of the language in force, key by key. */\n readonly messages = input<PartialMessages<RatingMessages> | undefined>(undefined);\n /** The locale numbers are written in. Unstated, the language in force. */\n readonly locale = input<string | undefined>(undefined);\n\n /**\n * Emitted before the selection moves, with the levels asked for, the ones\n * they replace, the reason and the event. `cancel()` keeps the selection.\n */\n readonly selectedLevelsChangeRequest = output<ChangeRequest<readonly number[]>>();\n\n private readonly defaults = injectRatingDefaults();\n private readonly appLocale = injectLocale();\n /** The family's words in the language in force, with this summary's `messages` laid over them. */\n readonly t = injectMessages(ratingMessages, this.messages);\n\n readonly resolvedMax = computed(() => Math.max(1, Math.round(this.max() ?? this.defaults.max)));\n readonly resolvedVariant = computed(() => this.variant());\n readonly resolvedSize = computed(() => this.size() ?? this.defaults.size);\n readonly resolvedTone = computed(() => this.tone() ?? this.defaults.tone);\n protected readonly resolvedLocale = computed(() => this.locale() ?? this.appLocale());\n private readonly thresholds = computed<RatingInsightThresholds>(() => ({\n ...this.defaults.insightThresholds,\n ...this.insightThresholds(),\n }));\n\n /** Everything drawn is read from here: `summariseRatings` over the counts on the scale. */\n readonly summary = computed(() => {\n const counts = this.counts();\n const levels = Array.from({ length: this.resolvedMax() }, (_, index) => counts[index] ?? 0);\n return summariseRatings(levels, this.thresholds());\n });\n\n protected readonly lowestFirst = computed<SummaryLevel[]>(() => {\n const { levels, total } = this.summary();\n const locale = this.resolvedLocale();\n const pressed = this.selectedLevels();\n const largest = Math.max(0, ...levels.map((level) => level.count));\n return [...levels].reverse().map(({ level, count, share }) => {\n const shareText = formatShare(share, locale);\n const countText = formatCount(count, locale);\n return {\n level,\n count,\n countText,\n share: cssNumber(total === 0 ? 0 : share, 4),\n peak: cssNumber(largest === 0 ? 0 : count / largest, 4),\n shareText,\n label: this.t('levelLabel', { level, count, share: shareText }),\n pressed: pressed.includes(level),\n };\n });\n });\n\n protected readonly highestFirst = computed(() => [...this.lowestFirst()].reverse());\n\n protected readonly averageText = computed(() => {\n const average = this.summary().average;\n return average === null ? '' : formatRating(average, this.resolvedLocale());\n });\n\n protected readonly scaleText = computed(() => this.t('scale', { max: this.resolvedMax() }));\n\n protected readonly countText = computed(() => {\n const { total, margin, interval } = this.summary();\n const locale = this.resolvedLocale();\n if (total === 0) return this.t('summaryEmpty');\n if (this.resolvedVariant() === 'bars') return this.t('summaryCount', { count: total });\n if (margin !== null && interval !== null && margin >= this.thresholds().margin) {\n return this.t('spectrumUncertain', {\n count: total,\n low: formatRating(interval[0], locale),\n high: formatRating(interval[1], locale),\n });\n }\n /* Two places, written here: the core writes a number to one place, and a\n margin of 0,04 would read as nought. */\n const written = new Intl.NumberFormat(locale, {\n minimumFractionDigits: 2,\n maximumFractionDigits: 2,\n }).format(margin ?? 0);\n return this.t('spectrumCount', { count: total, margin: written });\n });\n\n protected readonly insight = computed(() => {\n const insight = this.summary().insight;\n /* The conclusion is read from the spread, which only the spectrum draws. */\n if (this.resolvedVariant() !== 'spectrum' || !this.showInsight() || insight === null) {\n return null;\n }\n return { tone: INSIGHT_TONE[insight], text: this.t(insight) };\n });\n\n protected readonly buckets = computed<SummaryBucket[]>(() => {\n const { buckets } = this.summary();\n const locale = this.resolvedLocale();\n const tones = { positive: 'success', neutral: 'secondary', negative: 'danger' } as const;\n return (['positive', 'neutral', 'negative'] as const).map((key) => {\n const [before = '', after = ''] = this.t(key, { share: SHARE_MARK }).split(SHARE_MARK);\n return { key, tone: tones[key], before, share: formatShare(buckets[key], locale), after };\n });\n });\n\n protected readonly meanProperties = computed(() => {\n const { mean, interval } = this.summary();\n if (this.resolvedVariant() !== 'spectrum' || mean === null || interval === null) return null;\n return {\n mean: cssNumber(mean, 3),\n low: cssNumber(interval[0], 3),\n high: cssNumber(interval[1], 3),\n };\n });\n\n protected toggle(level: number, event: MouseEvent) {\n const held = this.selectedLevels();\n const next = held.includes(level)\n ? held.filter((candidate) => candidate !== level)\n : [...held, level].sort((a, b) => a - b);\n const state = createControllable<readonly number[]>({\n initial: held,\n /* Two fresh arrays are never the same object; the toggle always changes membership. */\n equals: () => false,\n onRequest: (request) => this.selectedLevelsChangeRequest.emit(request),\n });\n if (!state.request(next, event.detail === 0 ? 'keyboard' : 'pointer', event)) return;\n this.selectedLevels.set(next);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,330 @@
1
+ import * as i0 from '@angular/core';
2
+ import { InjectionToken, inject, Injectable, input, ElementRef, HostAttributeToken, signal, computed, ViewEncapsulation, ChangeDetectionStrategy, Component, Directive } from '@angular/core';
3
+
4
+ const FALLBACK = {
5
+ align: 'center',
6
+ illustration: 'none',
7
+ live: 'polite',
8
+ reach: 'section',
9
+ status: 'empty',
10
+ };
11
+ const RESULT_STATE_DEFAULTS = new InjectionToken('slotted result-state defaults', { providedIn: 'root', factory: () => FALLBACK });
12
+ /**
13
+ * An application decides once how its empty and error regions are drawn, and
14
+ * whether they announce, rather than repeating the inputs on every table in a
15
+ * data-dense screen. A region that states any of them itself still wins: an
16
+ * explicit input is never overridden by the token.
17
+ */
18
+ function provideResultStateDefaults(defaults) {
19
+ return {
20
+ provide: RESULT_STATE_DEFAULTS,
21
+ useFactory: () => ({
22
+ align: defaults.align ?? FALLBACK.align,
23
+ illustration: defaults.illustration ?? FALLBACK.illustration,
24
+ live: defaults.live ?? FALLBACK.live,
25
+ reach: defaults.reach ?? FALLBACK.reach,
26
+ status: defaults.status ?? FALLBACK.status,
27
+ }),
28
+ };
29
+ }
30
+ /** What a result state renders as here, before it states anything of its own. */
31
+ function injectResultStateDefaults() {
32
+ return inject(RESULT_STATE_DEFAULTS);
33
+ }
34
+ /**
35
+ * Application-scoped rather than module-scoped, for the reason `tag` and
36
+ * `alert` both record: a module-level counter produces colliding sequences when
37
+ * two applications render in one server process, and the server and the client
38
+ * sequences have to match for hydration.
39
+ */
40
+ class SlResultStateIdFactory {
41
+ count = 0;
42
+ next() {
43
+ this.count += 1;
44
+ return `slotted-result-state-${this.count}`;
45
+ }
46
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlResultStateIdFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
47
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlResultStateIdFactory, providedIn: 'root' });
48
+ }
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlResultStateIdFactory, decorators: [{
50
+ type: Injectable,
51
+ args: [{ providedIn: 'root' }]
52
+ }] });
53
+
54
+ /**
55
+ * The region that stands in for content that is not there, and says what to do
56
+ * next.
57
+ *
58
+ * The directive is written on the consumer's own element, and the element it
59
+ * belongs on is a `section`: named by its own title through `aria-labelledby`,
60
+ * a `section` is a `region` landmark a reader can jump to, and unnamed it is a
61
+ * plain grouping element that costs nothing. The APG's region landmark practice
62
+ * states that "a region landmark must have a label", which is why the attribute
63
+ * is written only once a title has said it exists.
64
+ *
65
+ * **The box is not the live region.** MDN's `alert` role reference states that
66
+ * the role "should only be used for text content, not interactive elements such
67
+ * as links or buttons", and this family has a row of buttons in it.
68
+ * `slResultStateContent` is what announces, and it holds the title and the
69
+ * description alone; the mark, the actions and the footer are its siblings.
70
+ *
71
+ * **It announces by default.** WCAG 2.2's Understanding document for SC 4.1.3
72
+ * names this family's own text as its example of a status message. `alert`
73
+ * defaults to silence because an alert may be a standing notice; a result is
74
+ * always the outcome of an operation.
75
+ */
76
+ class SlResultState {
77
+ /** Defaults to the provider, then to `empty`. */
78
+ status = input(undefined, /* @ts-ignore */
79
+ ...(ngDevMode ? [{ debugName: "status" }] : /* istanbul ignore next */ []));
80
+ /** Defaults to the provider, then to `section`. */
81
+ reach = input(undefined, /* @ts-ignore */
82
+ ...(ngDevMode ? [{ debugName: "reach" }] : /* istanbul ignore next */ []));
83
+ /** Defaults to the provider, then to `center`. */
84
+ align = input(undefined, /* @ts-ignore */
85
+ ...(ngDevMode ? [{ debugName: "align" }] : /* istanbul ignore next */ []));
86
+ /** Defaults to the provider, then to `polite`. */
87
+ live = input(undefined, /* @ts-ignore */
88
+ ...(ngDevMode ? [{ debugName: "live" }] : /* istanbul ignore next */ []));
89
+ /**
90
+ * The drawing made around the projected `slResultStateMedia`. Defaults to
91
+ * the provider, then to `none`. `tile` and `stack` frame a glyph and draw
92
+ * nothing without one; `cards` puts the glyph where a row's thumbnail would
93
+ * be and draws its two lines with or without it.
94
+ */
95
+ illustration = input(undefined, /* @ts-ignore */
96
+ ...(ngDevMode ? [{ debugName: "illustration" }] : /* istanbul ignore next */ []));
97
+ defaults = injectResultStateDefaults();
98
+ host = inject(ElementRef);
99
+ /** An explicit tab index the consumer wrote is never replaced by the family's. */
100
+ writtenTabIndex = inject(new HostAttributeToken('tabindex'), {
101
+ optional: true,
102
+ });
103
+ /** The identifier the title writes, and the box is named by. */
104
+ titleId = `${inject(SlResultStateIdFactory).next()}-title`;
105
+ /** The identifier the title actually carries, which is not always ours. */
106
+ labelId = signal(null, /* @ts-ignore */
107
+ ...(ngDevMode ? [{ debugName: "labelId" }] : /* istanbul ignore next */ []));
108
+ resolvedStatus = computed(() => this.status() ?? this.defaults.status, /* @ts-ignore */
109
+ ...(ngDevMode ? [{ debugName: "resolvedStatus" }] : /* istanbul ignore next */ []));
110
+ resolvedReach = computed(() => this.reach() ?? this.defaults.reach, /* @ts-ignore */
111
+ ...(ngDevMode ? [{ debugName: "resolvedReach" }] : /* istanbul ignore next */ []));
112
+ resolvedAlign = computed(() => this.align() ?? this.defaults.align, /* @ts-ignore */
113
+ ...(ngDevMode ? [{ debugName: "resolvedAlign" }] : /* istanbul ignore next */ []));
114
+ resolvedIllustration = computed(() => this.illustration() ?? this.defaults.illustration, /* @ts-ignore */
115
+ ...(ngDevMode ? [{ debugName: "resolvedIllustration" }] : /* istanbul ignore next */ []));
116
+ resolvedLive = computed(() => this.live() ?? this.defaults.live, /* @ts-ignore */
117
+ ...(ngDevMode ? [{ debugName: "resolvedLive" }] : /* istanbul ignore next */ []));
118
+ /**
119
+ * A `section` with an `aria-labelledby` pointing at nothing has no accessible
120
+ * name and is not a landmark, so the attribute is written only once a title
121
+ * has said it exists.
122
+ */
123
+ labelledBy = computed(() => this.labelId(), /* @ts-ignore */
124
+ ...(ngDevMode ? [{ debugName: "labelledBy" }] : /* istanbul ignore next */ []));
125
+ /**
126
+ * Called by `slResultStateTitle`, which is the part that names the box. It
127
+ * carries the identifier rather than a boolean, because a page that wrote its
128
+ * own `id` on the title keeps it, and the box has to point at the one that is
129
+ * actually in the DOM.
130
+ */
131
+ registerTitle(id) {
132
+ this.labelId.set(id);
133
+ }
134
+ /**
135
+ * Sends the keyboard to the message. The family never does this by itself:
136
+ * moving focus unprompted is a change of context nobody asked for, and the
137
+ * moment an application wants it — a filter has just emptied a table — is one
138
+ * only the application knows.
139
+ *
140
+ * It is the reach a template has and React does not: JSX re-renders an input,
141
+ * and an Angular template calls a method on the instance `exportAs` gives it.
142
+ */
143
+ focus() {
144
+ this.host.nativeElement.focus();
145
+ }
146
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlResultState, deps: [], target: i0.ɵɵFactoryTarget.Component });
147
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.7", type: SlResultState, isStandalone: true, selector: "[slResultState]", inputs: { status: { classPropertyName: "status", publicName: "status", isSignal: true, isRequired: false, transformFunction: null }, reach: { classPropertyName: "reach", publicName: "reach", isSignal: true, isRequired: false, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, live: { classPropertyName: "live", publicName: "live", isSignal: true, isRequired: false, transformFunction: null }, illustration: { classPropertyName: "illustration", publicName: "illustration", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-ui": "result-state", "data-part": "root" }, properties: { "attr.data-status": "resolvedStatus()", "attr.data-reach": "resolvedReach()", "attr.data-align": "resolvedAlign()", "attr.data-illustration": "resolvedIllustration()", "attr.data-live": "resolvedLive()", "attr.tabindex": "writtenTabIndex ?? -1", "attr.aria-labelledby": "labelledBy()" } }, exportAs: ["slResultState"], ngImport: i0, template: `<div aria-hidden="true" data-part="media">
148
+ <ng-content select="[slResultStateMedia]" />
149
+ </div>
150
+ <ng-content />`, isInline: true, styles: ["@layer slotted.components{[data-ui=result-state][data-part=root]{--_title-font-size: var( --slotted-result-state-title-font-size, var(--slotted-font-size-xl, 1.125rem) );--_title-line-height: var(--slotted-line-height-xl, 1.45);--_description-font-size: var( --slotted-result-state-description-font-size, var(--slotted-font-size-md, .875rem) );--_media-size: var(--slotted-result-state-media-size, var(--slotted-control-height-md, 34px));--_inset-block: var(--slotted-result-state-padding-block, var(--slotted-space-9, 2rem));--_inset-inline: var(--slotted-result-state-padding-inline, var(--slotted-space-6, 1rem));--_row-gap: var(--slotted-result-state-row-gap, var(--slotted-space-6, 1rem));--_column-gap: var(--slotted-result-state-column-gap, var(--slotted-space-4, .5rem));--_text-gap: var(--slotted-result-state-text-gap, var(--slotted-space-4, .5rem));--_actions-gap: var(--slotted-result-state-actions-block-gap, var(--slotted-space-8, 1.5rem));--_title-tracking: var(--slotted-result-state-title-letter-spacing, -.01em);--_art: var(--slotted-control-height-lg, 38px);--_art-glyph: var(--slotted-control-icon-size-lg, 18px);container-name:slotted-result-state;container-type:inline-size;inline-size:100%;box-sizing:border-box;color:var(--slotted-text);display:grid;font-family:var( --slotted-result-state-font-family, var(--slotted-font-family-sans, sans-serif) );font-size:var(--_title-font-size);grid-template-columns:minmax(0,1fr);isolation:isolate;line-height:var(--_title-line-height);padding-block:var(--_inset-block);padding-inline:var(--_inset-inline);row-gap:var(--_row-gap);transition:opacity var(--slotted-duration-short) var(--slotted-easing-enter),display var(--slotted-duration-short) var(--slotted-easing-enter);transition-behavior:allow-discrete}[data-ui=result-state][data-part=root][data-reach=inline]{--_title-font-size: var( --slotted-result-state-title-font-size, var(--slotted-font-size-sm, .8125rem) );--_title-line-height: var(--slotted-line-height-sm, 1.45);--_description-font-size: var( --slotted-result-state-description-font-size, var(--slotted-font-size-xs, .75rem) );--_media-size: var( --slotted-result-state-media-size, var(--slotted-control-icon-size-md, 16px) );--_inset-block: var(--slotted-result-state-padding-block, var(--slotted-space-4, .5rem));--_inset-inline: var(--slotted-result-state-padding-inline, var(--slotted-space-4, .5rem));--_row-gap: var(--slotted-result-state-row-gap, var(--slotted-space-3, .375rem));--_title-tracking: var(--slotted-result-state-title-letter-spacing, 0);grid-template-columns:auto minmax(0,auto) auto}[data-ui=result-state][data-part=root][data-reach=page]{--_title-font-size: var( --slotted-result-state-title-font-size, var(--slotted-font-size-3xl, 1.5rem) );--_title-line-height: var(--slotted-line-height-3xl, 1.3);--_description-font-size: var( --slotted-result-state-description-font-size, var(--slotted-font-size-lg, 1rem) );--_media-size: var( --slotted-result-state-media-size, calc(var(--slotted-control-height-lg, 38px) * 1.5) );--_inset-block: var(--slotted-result-state-padding-block, var(--slotted-space-12, 4rem));--_row-gap: var(--slotted-result-state-row-gap, var(--slotted-space-8, 1.5rem));--_actions-gap: var(--slotted-result-state-actions-block-gap, var(--slotted-space-9, 2rem));--_art: calc(var(--slotted-control-height-lg, 38px) * 1.5);--_art-glyph: calc(var(--slotted-control-icon-size-lg, 18px) * 1.5)}[data-ui=result-state][data-part=root][data-align=center]{justify-items:center;text-align:center}[data-ui=result-state][data-part=root][data-align=start]{justify-items:start;text-align:start}[data-ui=result-state][data-part=root][data-reach=inline][data-align=center]{justify-content:center;justify-items:stretch}[data-ui=result-state][data-part=root][data-reach=inline][data-align=start]{justify-content:start;justify-items:stretch}[data-ui=result-state]>[data-part=media]:empty{background:var(--slotted-result-state-media) center / contain no-repeat;block-size:var(--_media-size);display:none;inline-size:var(--_media-size)}[data-ui=result-state]>[data-part=media]:not(:empty){align-items:center;background-color:transparent;block-size:var(--_media-size);display:flex;inline-size:auto;justify-content:center;min-inline-size:var(--_media-size)}[data-ui=result-state]>[data-part=media]:not(:empty)>*{block-size:100%;inline-size:auto;max-inline-size:100%}[data-ui=result-state][data-reach=inline]>[data-part=media]:not(:empty){align-self:start;grid-column:1;grid-row:1;margin-block-start:calc((1lh - var(--_media-size)) / 2);margin-inline-end:var(--_column-gap)}[data-ui=result-state]:not([data-reach=inline])[data-illustration=tile]>[data-part=media]:not(:empty){--_ring: var(--slotted-space-2, .25rem);--_inner-radius: var(--slotted-radius-lg, 8px);background-color:var(--slotted-surface-sunken);block-size:calc(var(--_art) + 2 * var(--_ring));border:var(--slotted-border-width-thin, 1px) solid var(--slotted-border-subtle);border-radius:calc(var(--_inner-radius) + var(--_ring));box-sizing:border-box;color:var(--slotted-text-muted);forced-color-adjust:none;inline-size:calc(var(--_art) + 2 * var(--_ring));min-inline-size:0;position:relative;transition:opacity var(--slotted-duration-medium) var(--slotted-easing-enter),scale var(--slotted-duration-medium) var(--slotted-easing-enter)}[data-ui=result-state]:not([data-reach=inline])[data-illustration=tile]>[data-part=media]:not(:empty):before{background-color:var(--slotted-surface-raised);border:var(--slotted-border-width-thin, 1px) solid var(--slotted-border-subtle);border-radius:var(--_inner-radius);box-shadow:var(--slotted-shadow-xs);content:\"\";inset:calc(var(--_ring) - var(--slotted-border-width-thin, 1px));position:absolute;z-index:-1}[data-ui=result-state]:not([data-reach=inline])[data-illustration=tile]>[data-part=media]:not(:empty)>*{block-size:var(--_art-glyph);inline-size:var(--_art-glyph);position:relative}[data-ui=result-state]:not([data-reach=inline])[data-illustration=stack]>[data-part=media]:not(:empty){--_side: calc(var(--_art) + var(--slotted-space-2, .25rem));--_lean: 1;--_step-x: calc(var(--_side) * -.36 * var(--_lean));--_step-y: calc(var(--_side) * -.3);--_layer-border: var(--slotted-border-width-thin, 1px);--_far: color-mix(in oklab, var(--slotted-border-subtle) 60%, transparent);block-size:var(--_side);border-radius:var(--slotted-radius-lg, 8px);box-shadow:calc(2 * var(--_step-x)) calc(2 * var(--_step-y)) 0 0 var(--slotted-surface-raised),calc(2 * var(--_step-x)) calc(2 * var(--_step-y)) 0 var(--_layer-border) var(--_far);box-sizing:border-box;color:var(--slotted-text-muted);forced-color-adjust:none;inline-size:var(--_side);margin-block:calc(var(--_side) * .37);margin-inline:calc(var(--_side) * .28);min-inline-size:0;position:relative;transform:skewY(calc(-26deg * var(--_lean))) scaleX(.9);transition:box-shadow var(--slotted-duration-long) var(--slotted-easing-enter);translate:calc(var(--_side) * .325 * var(--_lean)) calc(var(--_side) * .145)}[data-ui=result-state]:not([data-reach=inline])[data-illustration=stack]:dir(rtl)>[data-part=media]:not(:empty){--_lean: -1}[data-ui=result-state]:not([data-reach=inline])[data-illustration=stack]>[data-part=media]:not(:empty):before,[data-ui=result-state]:not([data-reach=inline])[data-illustration=stack]>[data-part=media]:not(:empty):after{background-color:var(--slotted-surface-raised);border:var(--_layer-border) solid var(--slotted-border-subtle);border-radius:inherit;content:\"\";inset:0;position:absolute}[data-ui=result-state]:not([data-reach=inline])[data-illustration=stack]>[data-part=media]:not(:empty):before{border-color:color-mix(in oklab,var(--slotted-border-subtle),var(--slotted-border-strong) 30%);box-shadow:var(--slotted-shadow-sm);z-index:-1}[data-ui=result-state]:not([data-reach=inline])[data-illustration=stack]>[data-part=media]:not(:empty):after{transition:translate var(--slotted-duration-long) var(--slotted-easing-enter);translate:var(--_step-x) var(--_step-y);z-index:-2}[data-ui=result-state]:not([data-reach=inline])[data-illustration=stack]>[data-part=media]:not(:empty)>*{block-size:calc(var(--_side) * .5);inline-size:calc(var(--_side) * .5)}[data-ui=result-state]:not([data-reach=inline])[data-illustration=cards]>[data-part=media]{--_pad: var(--slotted-space-6, 1rem);--_gap: var(--slotted-space-5, .75rem);--_thumb: var(--slotted-control-height-sm, 30px);--_step: var(--slotted-space-5, .75rem);--_line: var(--slotted-space-4, .5rem);--_line-2: var(--slotted-space-3, .375rem);--_line-gap: var(--slotted-space-3, .375rem);--_lines-x: calc(var(--_pad) + var(--_thumb) + var(--_gap));--_line-1-length: calc( ( var(--slotted-space-11, 3rem) * 4 + var(--slotted-space-6, 1rem) - var(--_lines-x) - var(--_pad) ) * .75 );--_line-2-length: calc( ( var(--slotted-space-11, 3rem) * 4 + var(--slotted-space-6, 1rem) - var(--_lines-x) - var(--_pad) ) * .5 );--_line-1-y: calc( (var(--_thumb) + 2 * var(--_pad) - var(--_line) - var(--_line-gap) - var(--_line-2)) / 2 );--_edge: left;--_ink: var(--slotted-border-subtle);--_ink-2: color-mix(in oklab, var(--slotted-border-subtle) 60%, var(--slotted-surface-raised));align-items:center;background:radial-gradient(closest-side,var(--_ink) calc(100% - .5px),transparent) var(--_edge) var(--_lines-x) top var(--_line-1-y) / var(--_line) var(--_line) no-repeat,radial-gradient(closest-side,var(--_ink) calc(100% - .5px),transparent) var(--_edge) calc(var(--_lines-x) + var(--_line-1-length) - var(--_line)) top var(--_line-1-y) / var(--_line) var(--_line) no-repeat,linear-gradient(var(--_ink),var(--_ink)) var(--_edge) calc(var(--_lines-x) + var(--_line) / 2) top var(--_line-1-y) / calc(var(--_line-1-length) - var(--_line)) var(--_line) no-repeat,radial-gradient(closest-side,var(--_ink-2) calc(100% - .5px),transparent) var(--_edge) var(--_lines-x) top calc(var(--_line-1-y) + var(--_line) + var(--_line-gap)) / var(--_line-2) var(--_line-2) no-repeat,radial-gradient(closest-side,var(--_ink-2) calc(100% - .5px),transparent) var(--_edge) calc(var(--_lines-x) + var(--_line-2-length) - var(--_line-2)) top calc(var(--_line-1-y) + var(--_line) + var(--_line-gap)) / var(--_line-2) var(--_line-2) no-repeat,linear-gradient(var(--_ink-2),var(--_ink-2)) var(--_edge) calc(var(--_lines-x) + var(--_line-2) / 2) top calc(var(--_line-1-y) + var(--_line) + var(--_line-gap)) / calc(var(--_line-2-length) - var(--_line-2)) var(--_line-2) no-repeat,var(--slotted-surface-raised);background-origin:border-box;block-size:calc(var(--_thumb) + 2 * var(--_pad));border:var(--slotted-border-width-thin, 1px) solid var(--slotted-border-subtle);border-radius:var(--slotted-radius-lg, 8px);box-shadow:var(--slotted-shadow-sm);box-sizing:border-box;color:var(--slotted-text-muted);display:flex;forced-color-adjust:none;inline-size:calc(var(--slotted-space-11, 3rem) * 4 + var(--slotted-space-6, 1rem));justify-content:flex-start;margin-block-start:calc(2 * var(--_step));max-inline-size:100%;min-inline-size:0;padding-inline:calc(var(--_pad) - var(--slotted-border-width-thin, 1px));position:relative}[data-ui=result-state]:not([data-reach=inline])[data-illustration=cards]>[data-part=media]:empty{--_lines-x: var(--_pad)}[data-ui=result-state]:not([data-reach=inline])[data-illustration=cards]:dir(rtl)>[data-part=media]{--_edge: right}[data-ui=result-state]:not([data-reach=inline])[data-illustration=cards]>[data-part=media]:before,[data-ui=result-state]:not([data-reach=inline])[data-illustration=cards]>[data-part=media]:after{background-color:var(--slotted-surface-sunken);block-size:100%;border:var(--slotted-border-width-thin, 1px) solid var(--slotted-border-subtle);border-radius:inherit;box-sizing:border-box;content:\"\";inset-block-start:calc(-1 * var(--slotted-border-width-thin, 1px));position:absolute;transition:translate var(--slotted-duration-long) var(--slotted-easing-enter);z-index:-1}[data-ui=result-state]:not([data-reach=inline])[data-illustration=cards]>[data-part=media]:before{border-color:var(--_ink-2);inset-inline:calc(2 * var(--_step) - var(--slotted-border-width-thin, 1px));translate:0 calc(-2 * var(--_step))}[data-ui=result-state]:not([data-reach=inline])[data-illustration=cards]>[data-part=media]:after{inset-inline:calc(var(--_step) - var(--slotted-border-width-thin, 1px));translate:0 calc(-1 * var(--_step))}[data-ui=result-state]:not([data-reach=inline])[data-illustration=cards]>[data-part=media]>*{background-color:var(--slotted-surface-sunken);block-size:var(--_thumb);border-radius:var(--slotted-radius-sm, 4px);box-sizing:border-box;flex:none;inline-size:var(--_thumb);padding:calc((var(--_thumb) - var(--slotted-control-icon-size-md, 16px)) / 2)}[data-ui=result-state]>[data-part=content]{display:grid;min-inline-size:0;row-gap:var(--_text-gap)}[data-ui=result-state][data-reach=inline]>[data-part=content]{grid-column:2;grid-row:1}[data-ui=result-state] [data-part=title]{font-family:var( --slotted-result-state-title-font-family, var( --slotted-font-family-heading, var(--slotted-font-family-sans, ui-sans-serif, system-ui, sans-serif) ) );font-size:var(--_title-font-size);font-weight:var( --slotted-result-state-title-font-weight, var(--slotted-font-weight-semibold, 600) );letter-spacing:var(--_title-tracking);line-height:var(--_title-line-height);margin:0;min-inline-size:0;overflow-wrap:break-word;text-wrap:balance}[data-ui=result-state] [data-part=description]{color:var(--slotted-text-muted);font-size:var(--_description-font-size);line-height:var(--slotted-line-height-md, 1.5);margin:0;min-inline-size:0;overflow-wrap:break-word}[data-ui=result-state]>[data-part=actions]{align-items:center;display:flex;flex-wrap:wrap;gap:var(--slotted-result-state-actions-gap, var(--slotted-space-4, .5rem));min-inline-size:0}[data-ui=result-state][data-align=center]>[data-part=actions]{justify-content:center}[data-ui=result-state]:not([data-reach=inline])>[data-part=content]+[data-part=actions]{margin-block-start:calc(var(--_actions-gap) - var(--_row-gap))}[data-ui=result-state][data-reach=inline]>[data-part=actions]{align-content:center;align-self:start;block-size:1lh;grid-column:3;grid-row:1;margin-inline-start:var(--_column-gap)}[data-ui=result-state]>[data-part=footer]{color:var(--slotted-text-muted);font-size:var(--slotted-font-size-sm, .8125rem);line-height:var(--slotted-line-height-sm, 1.45);min-inline-size:0}[data-ui=result-state][data-reach=inline]>[data-part=footer]{grid-column:2;grid-row:2}[data-ui=result-state][data-part=root]:focus-visible{outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:var(--slotted-focus-ring-offset, 2px)}@container slotted-result-state (max-width: 20rem){[data-ui=result-state]>[data-part=actions]{flex-direction:column}[data-ui=result-state][data-align=center]>[data-part=actions]{align-items:center}[data-ui=result-state][data-align=start]>[data-part=actions]{align-items:flex-start}[data-ui=result-state][data-reach=inline]{grid-template-columns:auto minmax(0,1fr)}[data-ui=result-state][data-reach=inline]>[data-part=actions]{block-size:auto;grid-column:2;grid-row:2;margin-inline-start:0}[data-ui=result-state][data-reach=inline]>[data-part=footer]{grid-column:2;grid-row:3}}[data-ui=result-state][data-part=root][hidden]{display:none;opacity:0;transition:opacity var(--slotted-duration-short) var(--slotted-easing-exit),display var(--slotted-duration-short) var(--slotted-easing-exit)}@starting-style{[data-ui=result-state][data-part=root]:is([data-live=polite],[data-live=assertive]){opacity:0}[data-ui=result-state][data-part=root]:is([data-live=polite],[data-live=assertive])>[data-part=media]{--_step-x: 0px;--_step-y: 0px}[data-ui=result-state][data-part=root]:is([data-live=polite],[data-live=assertive])[data-illustration=tile]>[data-part=media]{opacity:0;scale:.96}[data-ui=result-state][data-part=root]:is([data-live=polite],[data-live=assertive])[data-illustration=cards]>[data-part=media]:before,[data-ui=result-state][data-part=root]:is([data-live=polite],[data-live=assertive])[data-illustration=cards]>[data-part=media]:after{translate:0 0}}[data-ui=result-state][data-illustration=cards]>[data-part=media]:before{transition-delay:var(--slotted-duration-short)}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
151
+ }
152
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlResultState, decorators: [{
153
+ type: Component,
154
+ args: [{ selector: '[slResultState]', standalone: true, exportAs: 'slResultState', template: `<div aria-hidden="true" data-part="media">
155
+ <ng-content select="[slResultStateMedia]" />
156
+ </div>
157
+ <ng-content />`, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
158
+ 'data-ui': 'result-state',
159
+ 'data-part': 'root',
160
+ '[attr.data-status]': 'resolvedStatus()',
161
+ '[attr.data-reach]': 'resolvedReach()',
162
+ '[attr.data-align]': 'resolvedAlign()',
163
+ '[attr.data-illustration]': 'resolvedIllustration()',
164
+ '[attr.data-live]': 'resolvedLive()',
165
+ '[attr.tabindex]': 'writtenTabIndex ?? -1',
166
+ '[attr.aria-labelledby]': 'labelledBy()',
167
+ }, styles: ["@layer slotted.components{[data-ui=result-state][data-part=root]{--_title-font-size: var( --slotted-result-state-title-font-size, var(--slotted-font-size-xl, 1.125rem) );--_title-line-height: var(--slotted-line-height-xl, 1.45);--_description-font-size: var( --slotted-result-state-description-font-size, var(--slotted-font-size-md, .875rem) );--_media-size: var(--slotted-result-state-media-size, var(--slotted-control-height-md, 34px));--_inset-block: var(--slotted-result-state-padding-block, var(--slotted-space-9, 2rem));--_inset-inline: var(--slotted-result-state-padding-inline, var(--slotted-space-6, 1rem));--_row-gap: var(--slotted-result-state-row-gap, var(--slotted-space-6, 1rem));--_column-gap: var(--slotted-result-state-column-gap, var(--slotted-space-4, .5rem));--_text-gap: var(--slotted-result-state-text-gap, var(--slotted-space-4, .5rem));--_actions-gap: var(--slotted-result-state-actions-block-gap, var(--slotted-space-8, 1.5rem));--_title-tracking: var(--slotted-result-state-title-letter-spacing, -.01em);--_art: var(--slotted-control-height-lg, 38px);--_art-glyph: var(--slotted-control-icon-size-lg, 18px);container-name:slotted-result-state;container-type:inline-size;inline-size:100%;box-sizing:border-box;color:var(--slotted-text);display:grid;font-family:var( --slotted-result-state-font-family, var(--slotted-font-family-sans, sans-serif) );font-size:var(--_title-font-size);grid-template-columns:minmax(0,1fr);isolation:isolate;line-height:var(--_title-line-height);padding-block:var(--_inset-block);padding-inline:var(--_inset-inline);row-gap:var(--_row-gap);transition:opacity var(--slotted-duration-short) var(--slotted-easing-enter),display var(--slotted-duration-short) var(--slotted-easing-enter);transition-behavior:allow-discrete}[data-ui=result-state][data-part=root][data-reach=inline]{--_title-font-size: var( --slotted-result-state-title-font-size, var(--slotted-font-size-sm, .8125rem) );--_title-line-height: var(--slotted-line-height-sm, 1.45);--_description-font-size: var( --slotted-result-state-description-font-size, var(--slotted-font-size-xs, .75rem) );--_media-size: var( --slotted-result-state-media-size, var(--slotted-control-icon-size-md, 16px) );--_inset-block: var(--slotted-result-state-padding-block, var(--slotted-space-4, .5rem));--_inset-inline: var(--slotted-result-state-padding-inline, var(--slotted-space-4, .5rem));--_row-gap: var(--slotted-result-state-row-gap, var(--slotted-space-3, .375rem));--_title-tracking: var(--slotted-result-state-title-letter-spacing, 0);grid-template-columns:auto minmax(0,auto) auto}[data-ui=result-state][data-part=root][data-reach=page]{--_title-font-size: var( --slotted-result-state-title-font-size, var(--slotted-font-size-3xl, 1.5rem) );--_title-line-height: var(--slotted-line-height-3xl, 1.3);--_description-font-size: var( --slotted-result-state-description-font-size, var(--slotted-font-size-lg, 1rem) );--_media-size: var( --slotted-result-state-media-size, calc(var(--slotted-control-height-lg, 38px) * 1.5) );--_inset-block: var(--slotted-result-state-padding-block, var(--slotted-space-12, 4rem));--_row-gap: var(--slotted-result-state-row-gap, var(--slotted-space-8, 1.5rem));--_actions-gap: var(--slotted-result-state-actions-block-gap, var(--slotted-space-9, 2rem));--_art: calc(var(--slotted-control-height-lg, 38px) * 1.5);--_art-glyph: calc(var(--slotted-control-icon-size-lg, 18px) * 1.5)}[data-ui=result-state][data-part=root][data-align=center]{justify-items:center;text-align:center}[data-ui=result-state][data-part=root][data-align=start]{justify-items:start;text-align:start}[data-ui=result-state][data-part=root][data-reach=inline][data-align=center]{justify-content:center;justify-items:stretch}[data-ui=result-state][data-part=root][data-reach=inline][data-align=start]{justify-content:start;justify-items:stretch}[data-ui=result-state]>[data-part=media]:empty{background:var(--slotted-result-state-media) center / contain no-repeat;block-size:var(--_media-size);display:none;inline-size:var(--_media-size)}[data-ui=result-state]>[data-part=media]:not(:empty){align-items:center;background-color:transparent;block-size:var(--_media-size);display:flex;inline-size:auto;justify-content:center;min-inline-size:var(--_media-size)}[data-ui=result-state]>[data-part=media]:not(:empty)>*{block-size:100%;inline-size:auto;max-inline-size:100%}[data-ui=result-state][data-reach=inline]>[data-part=media]:not(:empty){align-self:start;grid-column:1;grid-row:1;margin-block-start:calc((1lh - var(--_media-size)) / 2);margin-inline-end:var(--_column-gap)}[data-ui=result-state]:not([data-reach=inline])[data-illustration=tile]>[data-part=media]:not(:empty){--_ring: var(--slotted-space-2, .25rem);--_inner-radius: var(--slotted-radius-lg, 8px);background-color:var(--slotted-surface-sunken);block-size:calc(var(--_art) + 2 * var(--_ring));border:var(--slotted-border-width-thin, 1px) solid var(--slotted-border-subtle);border-radius:calc(var(--_inner-radius) + var(--_ring));box-sizing:border-box;color:var(--slotted-text-muted);forced-color-adjust:none;inline-size:calc(var(--_art) + 2 * var(--_ring));min-inline-size:0;position:relative;transition:opacity var(--slotted-duration-medium) var(--slotted-easing-enter),scale var(--slotted-duration-medium) var(--slotted-easing-enter)}[data-ui=result-state]:not([data-reach=inline])[data-illustration=tile]>[data-part=media]:not(:empty):before{background-color:var(--slotted-surface-raised);border:var(--slotted-border-width-thin, 1px) solid var(--slotted-border-subtle);border-radius:var(--_inner-radius);box-shadow:var(--slotted-shadow-xs);content:\"\";inset:calc(var(--_ring) - var(--slotted-border-width-thin, 1px));position:absolute;z-index:-1}[data-ui=result-state]:not([data-reach=inline])[data-illustration=tile]>[data-part=media]:not(:empty)>*{block-size:var(--_art-glyph);inline-size:var(--_art-glyph);position:relative}[data-ui=result-state]:not([data-reach=inline])[data-illustration=stack]>[data-part=media]:not(:empty){--_side: calc(var(--_art) + var(--slotted-space-2, .25rem));--_lean: 1;--_step-x: calc(var(--_side) * -.36 * var(--_lean));--_step-y: calc(var(--_side) * -.3);--_layer-border: var(--slotted-border-width-thin, 1px);--_far: color-mix(in oklab, var(--slotted-border-subtle) 60%, transparent);block-size:var(--_side);border-radius:var(--slotted-radius-lg, 8px);box-shadow:calc(2 * var(--_step-x)) calc(2 * var(--_step-y)) 0 0 var(--slotted-surface-raised),calc(2 * var(--_step-x)) calc(2 * var(--_step-y)) 0 var(--_layer-border) var(--_far);box-sizing:border-box;color:var(--slotted-text-muted);forced-color-adjust:none;inline-size:var(--_side);margin-block:calc(var(--_side) * .37);margin-inline:calc(var(--_side) * .28);min-inline-size:0;position:relative;transform:skewY(calc(-26deg * var(--_lean))) scaleX(.9);transition:box-shadow var(--slotted-duration-long) var(--slotted-easing-enter);translate:calc(var(--_side) * .325 * var(--_lean)) calc(var(--_side) * .145)}[data-ui=result-state]:not([data-reach=inline])[data-illustration=stack]:dir(rtl)>[data-part=media]:not(:empty){--_lean: -1}[data-ui=result-state]:not([data-reach=inline])[data-illustration=stack]>[data-part=media]:not(:empty):before,[data-ui=result-state]:not([data-reach=inline])[data-illustration=stack]>[data-part=media]:not(:empty):after{background-color:var(--slotted-surface-raised);border:var(--_layer-border) solid var(--slotted-border-subtle);border-radius:inherit;content:\"\";inset:0;position:absolute}[data-ui=result-state]:not([data-reach=inline])[data-illustration=stack]>[data-part=media]:not(:empty):before{border-color:color-mix(in oklab,var(--slotted-border-subtle),var(--slotted-border-strong) 30%);box-shadow:var(--slotted-shadow-sm);z-index:-1}[data-ui=result-state]:not([data-reach=inline])[data-illustration=stack]>[data-part=media]:not(:empty):after{transition:translate var(--slotted-duration-long) var(--slotted-easing-enter);translate:var(--_step-x) var(--_step-y);z-index:-2}[data-ui=result-state]:not([data-reach=inline])[data-illustration=stack]>[data-part=media]:not(:empty)>*{block-size:calc(var(--_side) * .5);inline-size:calc(var(--_side) * .5)}[data-ui=result-state]:not([data-reach=inline])[data-illustration=cards]>[data-part=media]{--_pad: var(--slotted-space-6, 1rem);--_gap: var(--slotted-space-5, .75rem);--_thumb: var(--slotted-control-height-sm, 30px);--_step: var(--slotted-space-5, .75rem);--_line: var(--slotted-space-4, .5rem);--_line-2: var(--slotted-space-3, .375rem);--_line-gap: var(--slotted-space-3, .375rem);--_lines-x: calc(var(--_pad) + var(--_thumb) + var(--_gap));--_line-1-length: calc( ( var(--slotted-space-11, 3rem) * 4 + var(--slotted-space-6, 1rem) - var(--_lines-x) - var(--_pad) ) * .75 );--_line-2-length: calc( ( var(--slotted-space-11, 3rem) * 4 + var(--slotted-space-6, 1rem) - var(--_lines-x) - var(--_pad) ) * .5 );--_line-1-y: calc( (var(--_thumb) + 2 * var(--_pad) - var(--_line) - var(--_line-gap) - var(--_line-2)) / 2 );--_edge: left;--_ink: var(--slotted-border-subtle);--_ink-2: color-mix(in oklab, var(--slotted-border-subtle) 60%, var(--slotted-surface-raised));align-items:center;background:radial-gradient(closest-side,var(--_ink) calc(100% - .5px),transparent) var(--_edge) var(--_lines-x) top var(--_line-1-y) / var(--_line) var(--_line) no-repeat,radial-gradient(closest-side,var(--_ink) calc(100% - .5px),transparent) var(--_edge) calc(var(--_lines-x) + var(--_line-1-length) - var(--_line)) top var(--_line-1-y) / var(--_line) var(--_line) no-repeat,linear-gradient(var(--_ink),var(--_ink)) var(--_edge) calc(var(--_lines-x) + var(--_line) / 2) top var(--_line-1-y) / calc(var(--_line-1-length) - var(--_line)) var(--_line) no-repeat,radial-gradient(closest-side,var(--_ink-2) calc(100% - .5px),transparent) var(--_edge) var(--_lines-x) top calc(var(--_line-1-y) + var(--_line) + var(--_line-gap)) / var(--_line-2) var(--_line-2) no-repeat,radial-gradient(closest-side,var(--_ink-2) calc(100% - .5px),transparent) var(--_edge) calc(var(--_lines-x) + var(--_line-2-length) - var(--_line-2)) top calc(var(--_line-1-y) + var(--_line) + var(--_line-gap)) / var(--_line-2) var(--_line-2) no-repeat,linear-gradient(var(--_ink-2),var(--_ink-2)) var(--_edge) calc(var(--_lines-x) + var(--_line-2) / 2) top calc(var(--_line-1-y) + var(--_line) + var(--_line-gap)) / calc(var(--_line-2-length) - var(--_line-2)) var(--_line-2) no-repeat,var(--slotted-surface-raised);background-origin:border-box;block-size:calc(var(--_thumb) + 2 * var(--_pad));border:var(--slotted-border-width-thin, 1px) solid var(--slotted-border-subtle);border-radius:var(--slotted-radius-lg, 8px);box-shadow:var(--slotted-shadow-sm);box-sizing:border-box;color:var(--slotted-text-muted);display:flex;forced-color-adjust:none;inline-size:calc(var(--slotted-space-11, 3rem) * 4 + var(--slotted-space-6, 1rem));justify-content:flex-start;margin-block-start:calc(2 * var(--_step));max-inline-size:100%;min-inline-size:0;padding-inline:calc(var(--_pad) - var(--slotted-border-width-thin, 1px));position:relative}[data-ui=result-state]:not([data-reach=inline])[data-illustration=cards]>[data-part=media]:empty{--_lines-x: var(--_pad)}[data-ui=result-state]:not([data-reach=inline])[data-illustration=cards]:dir(rtl)>[data-part=media]{--_edge: right}[data-ui=result-state]:not([data-reach=inline])[data-illustration=cards]>[data-part=media]:before,[data-ui=result-state]:not([data-reach=inline])[data-illustration=cards]>[data-part=media]:after{background-color:var(--slotted-surface-sunken);block-size:100%;border:var(--slotted-border-width-thin, 1px) solid var(--slotted-border-subtle);border-radius:inherit;box-sizing:border-box;content:\"\";inset-block-start:calc(-1 * var(--slotted-border-width-thin, 1px));position:absolute;transition:translate var(--slotted-duration-long) var(--slotted-easing-enter);z-index:-1}[data-ui=result-state]:not([data-reach=inline])[data-illustration=cards]>[data-part=media]:before{border-color:var(--_ink-2);inset-inline:calc(2 * var(--_step) - var(--slotted-border-width-thin, 1px));translate:0 calc(-2 * var(--_step))}[data-ui=result-state]:not([data-reach=inline])[data-illustration=cards]>[data-part=media]:after{inset-inline:calc(var(--_step) - var(--slotted-border-width-thin, 1px));translate:0 calc(-1 * var(--_step))}[data-ui=result-state]:not([data-reach=inline])[data-illustration=cards]>[data-part=media]>*{background-color:var(--slotted-surface-sunken);block-size:var(--_thumb);border-radius:var(--slotted-radius-sm, 4px);box-sizing:border-box;flex:none;inline-size:var(--_thumb);padding:calc((var(--_thumb) - var(--slotted-control-icon-size-md, 16px)) / 2)}[data-ui=result-state]>[data-part=content]{display:grid;min-inline-size:0;row-gap:var(--_text-gap)}[data-ui=result-state][data-reach=inline]>[data-part=content]{grid-column:2;grid-row:1}[data-ui=result-state] [data-part=title]{font-family:var( --slotted-result-state-title-font-family, var( --slotted-font-family-heading, var(--slotted-font-family-sans, ui-sans-serif, system-ui, sans-serif) ) );font-size:var(--_title-font-size);font-weight:var( --slotted-result-state-title-font-weight, var(--slotted-font-weight-semibold, 600) );letter-spacing:var(--_title-tracking);line-height:var(--_title-line-height);margin:0;min-inline-size:0;overflow-wrap:break-word;text-wrap:balance}[data-ui=result-state] [data-part=description]{color:var(--slotted-text-muted);font-size:var(--_description-font-size);line-height:var(--slotted-line-height-md, 1.5);margin:0;min-inline-size:0;overflow-wrap:break-word}[data-ui=result-state]>[data-part=actions]{align-items:center;display:flex;flex-wrap:wrap;gap:var(--slotted-result-state-actions-gap, var(--slotted-space-4, .5rem));min-inline-size:0}[data-ui=result-state][data-align=center]>[data-part=actions]{justify-content:center}[data-ui=result-state]:not([data-reach=inline])>[data-part=content]+[data-part=actions]{margin-block-start:calc(var(--_actions-gap) - var(--_row-gap))}[data-ui=result-state][data-reach=inline]>[data-part=actions]{align-content:center;align-self:start;block-size:1lh;grid-column:3;grid-row:1;margin-inline-start:var(--_column-gap)}[data-ui=result-state]>[data-part=footer]{color:var(--slotted-text-muted);font-size:var(--slotted-font-size-sm, .8125rem);line-height:var(--slotted-line-height-sm, 1.45);min-inline-size:0}[data-ui=result-state][data-reach=inline]>[data-part=footer]{grid-column:2;grid-row:2}[data-ui=result-state][data-part=root]:focus-visible{outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:var(--slotted-focus-ring-offset, 2px)}@container slotted-result-state (max-width: 20rem){[data-ui=result-state]>[data-part=actions]{flex-direction:column}[data-ui=result-state][data-align=center]>[data-part=actions]{align-items:center}[data-ui=result-state][data-align=start]>[data-part=actions]{align-items:flex-start}[data-ui=result-state][data-reach=inline]{grid-template-columns:auto minmax(0,1fr)}[data-ui=result-state][data-reach=inline]>[data-part=actions]{block-size:auto;grid-column:2;grid-row:2;margin-inline-start:0}[data-ui=result-state][data-reach=inline]>[data-part=footer]{grid-column:2;grid-row:3}}[data-ui=result-state][data-part=root][hidden]{display:none;opacity:0;transition:opacity var(--slotted-duration-short) var(--slotted-easing-exit),display var(--slotted-duration-short) var(--slotted-easing-exit)}@starting-style{[data-ui=result-state][data-part=root]:is([data-live=polite],[data-live=assertive]){opacity:0}[data-ui=result-state][data-part=root]:is([data-live=polite],[data-live=assertive])>[data-part=media]{--_step-x: 0px;--_step-y: 0px}[data-ui=result-state][data-part=root]:is([data-live=polite],[data-live=assertive])[data-illustration=tile]>[data-part=media]{opacity:0;scale:.96}[data-ui=result-state][data-part=root]:is([data-live=polite],[data-live=assertive])[data-illustration=cards]>[data-part=media]:before,[data-ui=result-state][data-part=root]:is([data-live=polite],[data-live=assertive])[data-illustration=cards]>[data-part=media]:after{translate:0 0}}[data-ui=result-state][data-illustration=cards]>[data-part=media]:before{transition-delay:var(--slotted-duration-short)}}\n"] }]
168
+ }], propDecorators: { status: [{ type: i0.Input, args: [{ isSignal: true, alias: "status", required: false }] }], reach: [{ type: i0.Input, args: [{ isSignal: true, alias: "reach", required: false }] }], align: [{ type: i0.Input, args: [{ isSignal: true, alias: "align", required: false }] }], live: [{ type: i0.Input, args: [{ isSignal: true, alias: "live", required: false }] }], illustration: [{ type: i0.Input, args: [{ isSignal: true, alias: "illustration", required: false }] }] } });
169
+
170
+ /**
171
+ * The two roles that announce, and the value that does not. Both roles imply
172
+ * `aria-live` and `aria-atomic`, so the whole message is read rather than the
173
+ * word that changed, and nothing here writes either attribute by hand.
174
+ */
175
+ const LIVE_ROLE = {
176
+ off: null,
177
+ polite: 'status',
178
+ assertive: 'alert',
179
+ };
180
+ /**
181
+ * The message itself, and the only part that announces.
182
+ *
183
+ * It is written explicitly rather than wrapped around the region's projected
184
+ * content, because a box that guessed which of its children were text would be
185
+ * guessing about the one thing a reader hears. None of the seven surveyed
186
+ * implementations writes a live role of any kind, while WCAG 2.2's
187
+ * Understanding document for SC 4.1.3 names "No results returned" as its own
188
+ * example of a status message.
189
+ */
190
+ class SlResultStateContent {
191
+ region = inject(SlResultState);
192
+ role = computed(() => LIVE_ROLE[this.region.resolvedLive()], /* @ts-ignore */
193
+ ...(ngDevMode ? [{ debugName: "role" }] : /* istanbul ignore next */ []));
194
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlResultStateContent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
195
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.7", type: SlResultStateContent, isStandalone: true, selector: "[slResultStateContent]", host: { attributes: { "data-part": "content" }, properties: { "attr.role": "role()" } }, exportAs: ["slResultStateContent"], ngImport: i0 });
196
+ }
197
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlResultStateContent, decorators: [{
198
+ type: Directive,
199
+ args: [{
200
+ selector: '[slResultStateContent]',
201
+ standalone: true,
202
+ exportAs: 'slResultStateContent',
203
+ host: {
204
+ 'data-part': 'content',
205
+ '[attr.role]': 'role()',
206
+ },
207
+ }]
208
+ }] });
209
+ /**
210
+ * The message's name, and the box's.
211
+ *
212
+ * The element is the consumer's: a heading puts the region in the document
213
+ * outline, which is right for a full-page 404 and wrong for the empty state of
214
+ * one card in a grid of twelve, and only the page knows which. Writing
215
+ * `<h2 slResultStateTitle>` is how a page that wants one says so, and Angular
216
+ * needs no `render` prop to allow it.
217
+ *
218
+ * Atlassian's `headingLevel`, one to six, is the field's answer. A numeric
219
+ * input invites a skipped level, which the guide's section 10 forbids.
220
+ */
221
+ class SlResultStateTitle {
222
+ region = inject(SlResultState);
223
+ /**
224
+ * The family's identifier, unless the page wrote one of its own — a skip
225
+ * target, an anchor. Reading it before the host binding writes over it is
226
+ * what keeps the consumer's attribute alive, and telling the box which
227
+ * identifier won is what keeps `aria-labelledby` pointing at an element that
228
+ * exists.
229
+ */
230
+ id = inject(new HostAttributeToken('id'), { optional: true }) ?? this.region.titleId;
231
+ constructor() {
232
+ this.region.registerTitle(this.id);
233
+ }
234
+ ngOnDestroy() {
235
+ this.region.registerTitle(null);
236
+ }
237
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlResultStateTitle, deps: [], target: i0.ɵɵFactoryTarget.Component });
238
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.7", type: SlResultStateTitle, isStandalone: true, selector: "[slResultStateTitle]", host: { attributes: { "data-part": "title" }, properties: { "attr.id": "id" } }, exportAs: ["slResultStateTitle"], ngImport: i0, template: '<ng-content />', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
239
+ }
240
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlResultStateTitle, decorators: [{
241
+ type: Component,
242
+ args: [{
243
+ selector: '[slResultStateTitle]',
244
+ standalone: true,
245
+ exportAs: 'slResultStateTitle',
246
+ template: '<ng-content />',
247
+ changeDetection: ChangeDetectionStrategy.OnPush,
248
+ encapsulation: ViewEncapsulation.None,
249
+ host: {
250
+ 'data-part': 'title',
251
+ '[attr.id]': 'id',
252
+ },
253
+ }]
254
+ }], ctorParameters: () => [] });
255
+ /** The message. Written on the consumer's own `p`, which is what prose is. */
256
+ class SlResultStateDescription {
257
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlResultStateDescription, deps: [], target: i0.ɵɵFactoryTarget.Directive });
258
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.7", type: SlResultStateDescription, isStandalone: true, selector: "[slResultStateDescription]", host: { attributes: { "data-part": "description" } }, exportAs: ["slResultStateDescription"], ngImport: i0 });
259
+ }
260
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlResultStateDescription, decorators: [{
261
+ type: Directive,
262
+ args: [{
263
+ selector: '[slResultStateDescription]',
264
+ standalone: true,
265
+ exportAs: 'slResultStateDescription',
266
+ host: { 'data-part': 'description' },
267
+ }]
268
+ }] });
269
+ /**
270
+ * The controls that get the reader out of the situation, outside the region
271
+ * that announces. What goes in is the consumer's own buttons, because `button`
272
+ * already owns what a button is — including `loading`, which is what a retry in
273
+ * flight is.
274
+ */
275
+ class SlResultStateActions {
276
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlResultStateActions, deps: [], target: i0.ɵɵFactoryTarget.Directive });
277
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.7", type: SlResultStateActions, isStandalone: true, selector: "[slResultStateActions]", host: { attributes: { "data-part": "actions" } }, exportAs: ["slResultStateActions"], ngImport: i0 });
278
+ }
279
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlResultStateActions, decorators: [{
280
+ type: Directive,
281
+ args: [{
282
+ selector: '[slResultStateActions]',
283
+ standalone: true,
284
+ exportAs: 'slResultStateActions',
285
+ host: { 'data-part': 'actions' },
286
+ }]
287
+ }] });
288
+ /**
289
+ * The line under the actions: the documentation link that is not a call to
290
+ * action. Polaris calls it `footerContent` and Atlassian a `tertiaryAction`,
291
+ * and both are right that it is neither of the buttons above it.
292
+ */
293
+ class SlResultStateFooter {
294
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlResultStateFooter, deps: [], target: i0.ɵɵFactoryTarget.Directive });
295
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.7", type: SlResultStateFooter, isStandalone: true, selector: "[slResultStateFooter]", host: { attributes: { "data-part": "footer" } }, exportAs: ["slResultStateFooter"], ngImport: i0 });
296
+ }
297
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlResultStateFooter, decorators: [{
298
+ type: Directive,
299
+ args: [{
300
+ selector: '[slResultStateFooter]',
301
+ standalone: true,
302
+ exportAs: 'slResultStateFooter',
303
+ host: { 'data-part': 'footer' },
304
+ }]
305
+ }] });
306
+ /**
307
+ * Artwork the page supplies instead of the status's own mark. It is projected
308
+ * into the box the family draws, so it keeps the height the reach gives it —
309
+ * which is what stops an illustration that has not loaded from moving the
310
+ * title and the actions when it arrives.
311
+ */
312
+ class SlResultStateMedia {
313
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlResultStateMedia, deps: [], target: i0.ɵɵFactoryTarget.Directive });
314
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.7", type: SlResultStateMedia, isStandalone: true, selector: "[slResultStateMedia]", exportAs: ["slResultStateMedia"], ngImport: i0 });
315
+ }
316
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlResultStateMedia, decorators: [{
317
+ type: Directive,
318
+ args: [{
319
+ selector: '[slResultStateMedia]',
320
+ standalone: true,
321
+ exportAs: 'slResultStateMedia',
322
+ }]
323
+ }] });
324
+
325
+ /**
326
+ * Generated bundle index. Do not edit.
327
+ */
328
+
329
+ export { RESULT_STATE_DEFAULTS, SlResultState, SlResultStateActions, SlResultStateContent, SlResultStateDescription, SlResultStateFooter, SlResultStateMedia, SlResultStateTitle, injectResultStateDefaults, provideResultStateDefaults };
330
+ //# sourceMappingURL=slotted-angular-result-state.mjs.map