@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,835 @@
1
+ {
2
+ "family": "app-shell",
3
+ "ui": "app-shell",
4
+ "binding": "angular",
5
+ "catalog": {
6
+ "group": "Layout",
7
+ "summary": "Application frame with header, nav, main and aside."
8
+ },
9
+ "axes": {
10
+ "primary": [
11
+ "banner",
12
+ "nav",
13
+ "main"
14
+ ],
15
+ "canvas": [
16
+ "inset",
17
+ "flush",
18
+ "floating",
19
+ "panel"
20
+ ],
21
+ "navMode": [
22
+ "inline",
23
+ "overlay",
24
+ "auto"
25
+ ],
26
+ "navSide": [
27
+ "start",
28
+ "end"
29
+ ],
30
+ "navSize": [
31
+ "sm",
32
+ "md",
33
+ "lg"
34
+ ],
35
+ "collapsedTo": [
36
+ "rail",
37
+ "hidden"
38
+ ],
39
+ "asideMode": [
40
+ "inline",
41
+ "overlay",
42
+ "auto"
43
+ ],
44
+ "asideSize": [
45
+ "sm",
46
+ "md",
47
+ "lg"
48
+ ],
49
+ "scroll": [
50
+ "content",
51
+ "document"
52
+ ],
53
+ "separation": [
54
+ "rule",
55
+ "tone"
56
+ ],
57
+ "modal": [
58
+ true,
59
+ false
60
+ ],
61
+ "escape": [
62
+ "close",
63
+ "none"
64
+ ],
65
+ "outsidePress": [
66
+ "close",
67
+ "none"
68
+ ],
69
+ "back": [
70
+ "close",
71
+ "none"
72
+ ],
73
+ "closeOnNavigate": [
74
+ true,
75
+ false
76
+ ]
77
+ },
78
+ "members": {
79
+ "appShell": {
80
+ "nativeElement": "div",
81
+ "defaults": {
82
+ "primary": "banner",
83
+ "canvas": "inset",
84
+ "navMode": "auto",
85
+ "navSide": "start",
86
+ "navSize": "md",
87
+ "collapsedTo": "rail",
88
+ "asideMode": "auto",
89
+ "asideSize": "md",
90
+ "scroll": "content",
91
+ "separation": "rule",
92
+ "modal": true,
93
+ "escape": "close",
94
+ "outsidePress": "close",
95
+ "back": "close",
96
+ "closeOnNavigate": true,
97
+ "minAsideExtent": 0.16,
98
+ "maxAsideExtent": 0.6
99
+ },
100
+ "capabilities": [
101
+ "open",
102
+ "extent",
103
+ "arrangement",
104
+ "size",
105
+ "appearance",
106
+ "wiring",
107
+ "loading"
108
+ ],
109
+ "states": [
110
+ "default",
111
+ "hover",
112
+ "active",
113
+ "focus-visible",
114
+ "open",
115
+ "dragging"
116
+ ],
117
+ "parts": [
118
+ "root",
119
+ "skip",
120
+ "banner",
121
+ "brand",
122
+ "centre",
123
+ "actions",
124
+ "nav-toggle",
125
+ "nav",
126
+ "nav-rail",
127
+ "nav-header",
128
+ "nav-body",
129
+ "nav-footer",
130
+ "scrim",
131
+ "main",
132
+ "progress",
133
+ "aside",
134
+ "aside-resizer",
135
+ "aside-header",
136
+ "aside-body",
137
+ "aside-footer",
138
+ "aside-toggle",
139
+ "footer",
140
+ "layer"
141
+ ],
142
+ "defaultsReason": "Axis defaults only. The uncontrolled starting values are the state models own `uncontrolled` names, and they exist in one binding and not in the other: React ships navOpen and defaultNavOpen, asideOpen and defaultAsideOpen; Angular ships one model() for each that is both. Listing them here would oblige the Angular reference page to document props it does not have, which is levelling the two bindings down to the smaller shape — the thing references/frameworks.md says to record instead of doing"
143
+ }
144
+ },
145
+ "docs": {
146
+ "appShell": {
147
+ "imports": {
148
+ "source": "import {\n SlAppShell,\n SlAppShellActions,\n SlAppShellAside,\n SlAppShellAsideBody,\n SlAppShellAsideFooter,\n SlAppShellAsideHeader,\n SlAppShellAsideResizer,\n SlAppShellAsideToggle,\n SlAppShellBanner,\n SlAppShellBrand,\n SlAppShellCentre,\n SlAppShellFooter,\n SlAppShellMain,\n SlAppShellNav,\n SlAppShellNavBody,\n SlAppShellNavFooter,\n SlAppShellNavHeader,\n SlAppShellNavRail,\n SlAppShellNavToggle,\n SlAppShellProgress,\n provideAppShellDefaults,\n} from '@slotted/angular/app-shell';",
149
+ "selector": "[slAppShell] on the frame; header[slAppShellBanner], nav[slAppShellNav], main[slAppShellMain], aside[slAppShellAside], footer[slAppShellFooter] on the regions; [slAppShellBrand], [slAppShellCentre], [slAppShellActions], [slAppShellNavRail], [slAppShellNavHeader], [slAppShellNavBody], [slAppShellNavFooter], [slAppShellAsideHeader], [slAppShellAsideBody], [slAppShellAsideFooter] on their parts; button[slAppShellNavToggle] and button[slAppShellAsideToggle] on the controls; [slAppShellProgress] on any element inside the frame, for the wait",
150
+ "exportAs": "slAppShell, slAppShellBanner, slAppShellBrand, slAppShellCentre, slAppShellActions, slAppShellNav, slAppShellNavRail, slAppShellNavHeader, slAppShellNavBody, slAppShellNavFooter, slAppShellMain, slAppShellAside, slAppShellAsideHeader, slAppShellAsideBody, slAppShellAsideFooter, slAppShellFooter, slAppShellNavToggle, slAppShellAsideToggle, slAppShellProgress"
151
+ },
152
+ "anatomy": [
153
+ {
154
+ "part": "root",
155
+ "element": "div",
156
+ "required": true,
157
+ "purpose": "The frame: a grid of four rows and three columns, and the query container the whole family answers. Deliberately not a sectioning element — a main inside an article stops being a landmark, and the root has to be placeable anywhere without changing what the five regions mean. Carries data-ui=\"app-shell\", every axis as a data-* attribute, and data-open for the navigation region."
158
+ },
159
+ {
160
+ "part": "skip",
161
+ "element": "div holding one a per region",
162
+ "required": false,
163
+ "purpose": "The links that jump past the chrome, written from the regions that rendered and are open: a link to a region nobody rendered, or to a pane the reader closed, is a dead destination. First focusable thing in the document, out of the flow until it is focused. Not a landmark."
164
+ },
165
+ {
166
+ "part": "banner",
167
+ "element": "header",
168
+ "required": false,
169
+ "purpose": "The banner landmark, earned from the element rather than from a role. Three clusters: what starts the line, what grows, what ends it."
170
+ },
171
+ {
172
+ "part": "brand",
173
+ "element": "div",
174
+ "required": false,
175
+ "purpose": "The start cluster: the toggle, the mark, the name of the application or of the workspace. Shortened to one line by default, so a name never pushes the frame wider than the space there is."
176
+ },
177
+ {
178
+ "part": "centre",
179
+ "element": "div",
180
+ "required": false,
181
+ "purpose": "The middle of the bar, and the one cluster that grows: a search field, a breadcrumb trail, the route title, tabs. Without it a bar is two clusters and a void — which is what the first version of this page photographed."
182
+ },
183
+ {
184
+ "part": "actions",
185
+ "element": "div",
186
+ "required": false,
187
+ "purpose": "The end cluster: notifications, help, account. A control in it keeps its width; what runs out of room is the middle."
188
+ },
189
+ {
190
+ "part": "nav-toggle",
191
+ "element": "button",
192
+ "required": false,
193
+ "purpose": "The disclosure control for the navigation region: aria-expanded, aria-controls and the family’s own label, all taken from the shell’s context rather than from where it stands. Draws the panel-open or panel-close Glyph element by state, mirrored by navSide and by direction."
194
+ },
195
+ {
196
+ "part": "nav",
197
+ "element": "nav",
198
+ "required": false,
199
+ "purpose": "The navigation landmark, and one element across all three modes: the rail is this nav at another inline size, which keeps the focus and the scroll position where the reader left them. A query container of its own, named slotted-app-shell-nav, so the rows inside answer the rail without the shell telling them anything."
200
+ },
201
+ {
202
+ "part": "nav-rail",
203
+ "element": "div, or any element the directive is placed on",
204
+ "required": false,
205
+ "purpose": "A strip of marks before the column: the first level of a two-level navigation, inside the one navigation landmark and under its one open state. With it the region is two columns; closed to rail it keeps the strip and lets the column go. Recognised by :has(), so no attribute is written and a server render has the grid on its first paint."
206
+ },
207
+ {
208
+ "part": "nav-header",
209
+ "element": "div",
210
+ "required": false,
211
+ "purpose": "The pinned top of the column: the workspace switcher, the mark. Under primary=\"nav\" it takes the banner’s height, so the workspace and the bar sit on one line."
212
+ },
213
+ {
214
+ "part": "nav-body",
215
+ "element": "div",
216
+ "required": false,
217
+ "purpose": "The middle, and the only part of the column that scrolls. Ant and Mantine let the list overflow the region, which takes the account control off the screen the moment an application has more destinations than height."
218
+ },
219
+ {
220
+ "part": "nav-footer",
221
+ "element": "div",
222
+ "required": false,
223
+ "purpose": "The pinned bottom: the account, the collapse control."
224
+ },
225
+ {
226
+ "part": "scrim",
227
+ "element": "div",
228
+ "required": false,
229
+ "purpose": "The veil under an overlaid region, mounted only while a layer is modal. It stops where the layer stops — under the banner — so the reader keeps their bearings."
230
+ },
231
+ {
232
+ "part": "main",
233
+ "element": "main with tabindex=\"-1\"",
234
+ "required": true,
235
+ "purpose": "The main landmark and the skip link’s destination. Without the tabindex the link moves the scroll and leaves the focus behind, in Safari and in Firefox."
236
+ },
237
+ {
238
+ "part": "progress",
239
+ "element": "the consumer’s element, holding one [slProgressBar] at placement=\"edge-start\"",
240
+ "required": false,
241
+ "purpose": "The wait for the next page. A transparent frame the stylesheet lays over main in every arrangement — its grid area, its margins, its corners — so the bar covers the line between the chrome and the content and the card’s corners clip it. Placed anywhere inside the frame; main is aria-busy while the bar is painted."
242
+ },
243
+ {
244
+ "part": "aside",
245
+ "element": "aside",
246
+ "required": false,
247
+ "purpose": "The complementary landmark, carrying the family’s own label. It opens and closes the way the navigation does — a column beside the content or a layer over it, by asideMode — and carries its own data-open, because the root’s is the navigation’s. Closed, it leaves the layout: a pane has no rail."
248
+ },
249
+ {
250
+ "part": "aside-resizer",
251
+ "element": "any element carrying slAppShellAsideResizer",
252
+ "required": false,
253
+ "purpose": "The pane’s inner edge, from the WAI-ARIA Window Splitter pattern: focusable, role=\"separator\", aria-controls the pane, its three values the extent as whole percentages of the shell. Placed inside the aside; rendering it is the capability. Drawn on the column alone — under asideMode=\"overlay\" or a closed pane it is hidden, and a row under the content hides it."
254
+ },
255
+ {
256
+ "part": "aside-header",
257
+ "element": "div",
258
+ "required": false,
259
+ "purpose": "The pinned top of the pane: its title, which takes the room, and the control that closes it."
260
+ },
261
+ {
262
+ "part": "aside-body",
263
+ "element": "div",
264
+ "required": false,
265
+ "purpose": "The middle, and the only part of the pane that scrolls. It stands on the inset the head and the foot stand on, so its content lines up with the title; inset=\"none\" drops it for content that brings its own — a page, a detail panel, a list to the edges."
266
+ },
267
+ {
268
+ "part": "aside-footer",
269
+ "element": "div",
270
+ "required": false,
271
+ "purpose": "The pinned bottom: the actions that close the task the pane holds, aligned to the end."
272
+ },
273
+ {
274
+ "part": "aside-toggle",
275
+ "element": "button",
276
+ "required": false,
277
+ "purpose": "The disclosure control for the pane, with the navigation control’s wiring: in the pane’s own header, in the banner’s actions, or anywhere else, and there is still exactly one control carrying the pane’s state. The same pair of marks, turned the other way."
278
+ },
279
+ {
280
+ "part": "footer",
281
+ "element": "footer",
282
+ "required": false,
283
+ "purpose": "The contentinfo landmark: the application’s footer, not the page’s action bar — that one is footer[slPageFooter], inside main."
284
+ },
285
+ {
286
+ "part": "layer",
287
+ "element": "div with display: contents",
288
+ "required": true,
289
+ "purpose": "The application’s portal root, named once through setPortalContainer so every slDialog, slDrawer, slMenu and toast under this shell lands here instead of on the body."
290
+ }
291
+ ],
292
+ "api": [
293
+ {
294
+ "name": "navOpen",
295
+ "type": "model<boolean>",
296
+ "defaultValue": "true",
297
+ "appliesTo": "slAppShell",
298
+ "description": "Whether the navigation region is showing its full panel. A model signal, so [navOpen] alone reports, (navOpenChange) alone listens, and [(navOpen)] is the two-way binding the ecosystem expects. React ships navOpen and defaultNavOpen as two props; this binding has one, and the asymmetry is the ecosystem’s rather than the family’s"
299
+ },
300
+ {
301
+ "name": "asideOpen",
302
+ "type": "model<boolean>",
303
+ "defaultValue": "true",
304
+ "appliesTo": "slAppShell",
305
+ "description": "Whether the secondary pane is showing, under the same rule. A product that opens the pane on a selection binds the selection to this"
306
+ },
307
+ {
308
+ "name": "asideExtent",
309
+ "type": "model<number | undefined>",
310
+ "defaultValue": "—",
311
+ "appliesTo": "slAppShell",
312
+ "description": "The measure of the pane as a column, as a fraction of the shell’s inline size. Unset, asideSize decides. The pane writes it as --slotted-app-shell-aside-extent in cqi, which the stylesheet reads in the column alone: a layer keeps its step"
313
+ },
314
+ {
315
+ "name": "minAsideExtent",
316
+ "type": "number",
317
+ "defaultValue": "0.16",
318
+ "appliesTo": "slAppShell",
319
+ "description": "The smallest fraction of the shell the reader may give the pane, and Home’s target. aria-valuemin is this times a hundred"
320
+ },
321
+ {
322
+ "name": "maxAsideExtent",
323
+ "type": "number",
324
+ "defaultValue": "0.6",
325
+ "appliesTo": "slAppShell",
326
+ "description": "The largest fraction, and End’s target. aria-valuemax is this times a hundred"
327
+ },
328
+ {
329
+ "name": "inset",
330
+ "type": "'none' | undefined",
331
+ "defaultValue": "—",
332
+ "appliesTo": "slAppShellAsideBody",
333
+ "description": "none drops the body’s own padding, for content that brings its own inset. Written as data-inset"
334
+ },
335
+ {
336
+ "name": "primary",
337
+ "type": "'banner' | 'nav' | 'main'",
338
+ "defaultValue": "banner",
339
+ "appliesTo": "slAppShell, provideAppShellDefaults",
340
+ "description": "Which region reaches the corner. Under nav the navigation spans every row and its head takes the banner’s height so the two marks sit on one line; under main it does too, and the banner stands inside the card that holds the content"
341
+ },
342
+ {
343
+ "name": "canvas",
344
+ "type": "'inset' | 'flush' | 'floating' | 'panel'",
345
+ "defaultValue": "inset",
346
+ "appliesTo": "slAppShell, provideAppShellDefaults",
347
+ "description": "The plane of every region at once. inset: content and pane as cards over a sunken frame. flush: every region edge to edge, seams drawn. floating: the column a card as well. panel: column, content and pane in one card, the bar and the footer on the frame"
348
+ },
349
+ {
350
+ "name": "navMode",
351
+ "type": "'inline' | 'overlay' | 'auto'",
352
+ "defaultValue": "auto",
353
+ "appliesTo": "slAppShell, provideAppShellDefaults",
354
+ "description": "How the region occupies space. auto is inline at or above 600 pixels of the shell’s own inline size and overlay below it, answered in CSS for the layout and in script for the keyboard"
355
+ },
356
+ {
357
+ "name": "asideMode",
358
+ "type": "'inline' | 'overlay' | 'auto'",
359
+ "defaultValue": "auto",
360
+ "appliesTo": "slAppShell, provideAppShellDefaults",
361
+ "description": "How the pane occupies space: the navigation’s pair, resolved on the same width. inline is a column beside the content, or a row under it when there is no room; overlay is a layer from the end the navigation is not on"
362
+ },
363
+ {
364
+ "name": "navSide",
365
+ "type": "'start' | 'end'",
366
+ "defaultValue": "start",
367
+ "appliesTo": "slAppShell, provideAppShellDefaults",
368
+ "description": "Which end of the line the region sits at. Logical, so a right-to-left document mirrors the whole frame; the pane sits at the other end, and both controls turn their marks"
369
+ },
370
+ {
371
+ "name": "navSize",
372
+ "type": "'sm' | 'md' | 'lg'",
373
+ "defaultValue": "md",
374
+ "appliesTo": "slAppShell, provideAppShellDefaults",
375
+ "description": "The width of the open region, as a step on the family’s own scale. A theme retunes the step; nothing retunes a pixel string"
376
+ },
377
+ {
378
+ "name": "asideSize",
379
+ "type": "'sm' | 'md' | 'lg'",
380
+ "defaultValue": "md",
381
+ "appliesTo": "slAppShell, provideAppShellDefaults",
382
+ "description": "The width of the secondary pane, on the same kind of scale"
383
+ },
384
+ {
385
+ "name": "collapsedTo",
386
+ "type": "'rail' | 'hidden'",
387
+ "defaultValue": "rail",
388
+ "appliesTo": "slAppShell, provideAppShellDefaults",
389
+ "description": "What a closed inline navigation leaves behind. rail keeps a strip the width of a target and keeps the tab order; hidden takes the region out of both. A closed pane always leaves nothing: it has no marks to keep"
390
+ },
391
+ {
392
+ "name": "scroll",
393
+ "type": "'content' | 'document'",
394
+ "defaultValue": "content",
395
+ "appliesTo": "slAppShell, provideAppShellDefaults",
396
+ "description": "content makes the shell the height it was given, capped at 100dvh, and only the content column and the pane’s body scroll; document lets the shell grow and the banner travel with it"
397
+ },
398
+ {
399
+ "name": "separation",
400
+ "type": "'rule' | 'tone'",
401
+ "defaultValue": "rule",
402
+ "appliesTo": "slAppShell, provideAppShellDefaults",
403
+ "description": "What draws a seam where two regions touch without a gutter. rule is a line; tone is a ground of its own on the chrome regions, with the subtle tones inside them recomputed from it. Where a gutter separates, it draws nothing either way"
404
+ },
405
+ {
406
+ "name": "modal",
407
+ "type": "boolean",
408
+ "defaultValue": "true",
409
+ "appliesTo": "slAppShell, provideAppShellDefaults",
410
+ "description": "Whether an overlaid region contains focus and makes every other region inert. Only the overlaid modes read it, and it applies to whichever layer is open"
411
+ },
412
+ {
413
+ "name": "escape",
414
+ "type": "'close' | 'none'",
415
+ "defaultValue": "close",
416
+ "appliesTo": "slAppShell, provideAppShellDefaults",
417
+ "description": "Whether Escape closes an overlaid region. Registered in the capture phase by @slotted/core/dismissable-layer, so a handler inside the panel runs after the layer has already asked"
418
+ },
419
+ {
420
+ "name": "outsidePress",
421
+ "type": "'close' | 'none'",
422
+ "defaultValue": "close",
423
+ "appliesTo": "slAppShell, provideAppShellDefaults",
424
+ "description": "Whether a press outside an overlaid panel closes it"
425
+ },
426
+ {
427
+ "name": "back",
428
+ "type": "'close' | 'none'",
429
+ "defaultValue": "close",
430
+ "appliesTo": "slAppShell, provideAppShellDefaults",
431
+ "description": "The platform's way back — a phone's gesture, a browser's button — closes the layer instead of leaving the page, while it is modal: @slotted/core/dismissable-layer holds one history entry per modal layer and answers the popstate that leaves it with the reason back"
432
+ },
433
+ {
434
+ "name": "closeOnNavigate",
435
+ "type": "boolean",
436
+ "defaultValue": "true",
437
+ "appliesTo": "slAppShell, provideAppShellDefaults",
438
+ "description": "Whether a click on an a[href] inside the overlaid navigation closes it, with the reason select — a router’s preventDefault included, an aria-disabled link excluded. Without it a phone costs two taps per destination"
439
+ },
440
+ {
441
+ "name": "messages",
442
+ "type": "Partial<AppShellMessages>",
443
+ "defaultValue": "—",
444
+ "appliesTo": "slAppShell",
445
+ "description": "Words laid over the language in force, key by key — aside, close, closeAside, nav, open, openAside, progress, resizeAside, skipToAside, skipToMain, skipToNav: the two regions’ accessible names, the two controls’ labels in each state, the wait’s name, the pane edge’s name, and the three skip links. An aria-label written on the element itself still wins"
446
+ },
447
+ {
448
+ "name": "loading",
449
+ "type": "boolean",
450
+ "defaultValue": "true",
451
+ "appliesTo": "slAppShellProgress",
452
+ "description": "Whether the next page is on its way. The bar appears once it has lasted delay (200 ms), stays at least minDuration (400 ms), and main carries aria-busy for exactly that long; an aria-busy written on main wins. value, min, max, buffer, valueText, label, tone, size (sm by default), delay and minDuration reach the bar, (withdraw) reports the moment it goes, and provideProgressIndicatorDefaults() wins over the shell’s timing"
453
+ }
454
+ ],
455
+ "composition": [
456
+ {
457
+ "name": "content projection",
458
+ "type": "anything",
459
+ "defaultValue": "—",
460
+ "appliesTo": "every region",
461
+ "description": "The family owns where a region is drawn, its landmark, its width and its state, and nothing about what is in it. The bar’s three clusters, the column’s three ends, the content, the pane’s three parts and the footer each take whatever an application puts there — its own search, its own account, another family, its own markup"
462
+ },
463
+ {
464
+ "name": "published geometry",
465
+ "type": "--slotted-app-shell-row-*",
466
+ "defaultValue": "—",
467
+ "appliesTo": "anything inside a region",
468
+ "description": "Six numbers the shell publishes for the rows a product brings: row-inset, row-mark, row-gap, row-height, row-font-size and row-line-height. Every row on this page reads them and states nothing of its own, which is what keeps a destination’s mark under the control in the bar"
469
+ },
470
+ {
471
+ "name": "custom properties",
472
+ "type": "--slotted-app-shell-*",
473
+ "defaultValue": "—",
474
+ "appliesTo": "the frame or any region",
475
+ "description": "A ground and an ink per region, plus every measure the frame stands on. Each region reads the public name and falls back to the plane’s default, so a property written on the region resolves in the region’s own scope. The full list is under Theme-owned decisions below"
476
+ },
477
+ {
478
+ "name": "data-part selectors",
479
+ "type": "[data-ui=\"app-shell\"] [data-part=\"…\"]",
480
+ "defaultValue": "—",
481
+ "appliesTo": "every part",
482
+ "description": "Anything the properties do not reach is one selector away. [data-ui=\"app-shell\"][data-open] is the navigation; [data-part=\"aside\"][data-open] is the pane"
483
+ },
484
+ {
485
+ "name": "the element is the consumer’s",
486
+ "type": "a directive, not a wrapper",
487
+ "defaultValue": "—",
488
+ "appliesTo": "every part",
489
+ "description": "slAppShellBanner goes on the consumer’s own header, slAppShellMain on their main, and so on. There is no render prop because there is nothing to substitute: the element was already theirs"
490
+ },
491
+ {
492
+ "name": "exportAs",
493
+ "type": "'slAppShell' and one per part",
494
+ "defaultValue": "—",
495
+ "appliesTo": "a template",
496
+ "description": "Reaches the instance: #shell=\"slAppShell\" then shell.navOpen(), shell.asideOpen(), shell.openNav(), shell.closeNav(), shell.openAside(), shell.closeAside(), shell.focusMain(), shell.resolvedMode() and shell.resolvedAsideMode()"
497
+ },
498
+ {
499
+ "name": "provideAppShellDefaults()",
500
+ "type": "{ …fourteen axes }",
501
+ "defaultValue": "—",
502
+ "appliesTo": "an injector",
503
+ "description": "What an application decides once for every route, through APP_SHELL_DEFAULTS. A shell that states any of them itself still wins"
504
+ },
505
+ {
506
+ "name": "ng-content",
507
+ "type": "projected, in the consumer’s own order",
508
+ "defaultValue": "—",
509
+ "appliesTo": "slAppShell",
510
+ "description": "The regions are projected rather than slotted by name, so their DOM order is the consumer’s — which is what keeps the focus order theirs too. The skip links, the veil and the portal root are the component’s own"
511
+ },
512
+ {
513
+ "name": "button[slAppShellNavToggle] and button[slAppShellAsideToggle] anywhere",
514
+ "type": "take their wiring from the shell",
515
+ "defaultValue": "—",
516
+ "appliesTo": "inside slAppShell",
517
+ "description": "id, aria-expanded, aria-controls, the label and the handler come from the shell, so each control can stand in the banner, in its region’s own head or foot, or anywhere else — and there is still exactly one control carrying each state. Where it goes is written on this page under Rail"
518
+ },
519
+ {
520
+ "name": "HostAttributeToken",
521
+ "type": "a written attribute survives",
522
+ "defaultValue": "—",
523
+ "appliesTo": "slAppShellNav, slAppShellMain, slAppShellAside, slAppShellNavToggle, slAppShellAsideToggle",
524
+ "description": "An aria-label, an id or an aria-controls the consumer wrote is read before the family writes its own, so a host binding never erases what the template said"
525
+ },
526
+ {
527
+ "name": "setPortalContainer",
528
+ "type": "the layer part, named once",
529
+ "defaultValue": "—",
530
+ "appliesTo": "every overlay under the shell",
531
+ "description": "slDialog, slDrawer, slMenu, slPopover, slTooltip and toasts land in the shell’s own layer instead of on the body, which is what keeps an application’s overlays inside the application’s stacking context"
532
+ },
533
+ {
534
+ "name": "zoneless and OnPush",
535
+ "type": "signals throughout",
536
+ "defaultValue": "—",
537
+ "appliesTo": "slAppShell",
538
+ "description": "Every resolved axis is a computed, the width gate and the two layers are effects torn down by DestroyRef, and there is no markForCheck anywhere"
539
+ }
540
+ ],
541
+ "events": [
542
+ {
543
+ "name": "navOpenChangeRequest",
544
+ "payload": "AppShellOpenRequest",
545
+ "when": "Before the navigation region moves, and never for a value equal to the current one. The request carries value, previous, reason, the originating event as source, and cancel() — call it and nothing commits. (navOpenChange) fires afterwards with the committed boolean, as every model does."
546
+ },
547
+ {
548
+ "name": "asideOpenChangeRequest",
549
+ "payload": "AppShellOpenRequest",
550
+ "when": "Before the secondary pane moves, with the same shape. The reasons a pane can carry are pointer, keyboard, escape, outsidePress, resize and programmatic — no select, because a pane has no destinations. (asideOpenChange) fires afterwards."
551
+ },
552
+ {
553
+ "name": "asideExtentChangeRequest",
554
+ "payload": "AppShellAsideExtentRequest",
555
+ "when": "Before the pane’s extent moves, already held inside minAsideExtent and maxAsideExtent, with the reason pointer for a drag on the aside-resizer, keyboard for an arrow, Home or End, and programmatic otherwise. undefined is the pane back on its asideSize step. (asideExtentChange) fires afterwards."
556
+ }
557
+ ],
558
+ "accessibility": [
559
+ "The structure is the WAI-ARIA APG’s Landmark Regions (w3.org/WAI/ARIA/apg/practices/landmark-regions/), and every one of the five is earned from the element rather than written as a role: header in the context of the body is banner, nav is navigation, main is main, aside is complementary, footer is contentinfo. The root is a div for exactly that reason — a main inside a sectioning element stops being a landmark, and the shell has to be placeable anywhere.",
560
+ "Both controls are the APG’s Disclosure pattern (w3.org/WAI/ARIA/apg/patterns/disclosure/): real buttons, so Enter and Space activate them natively, carrying aria-expanded and aria-controls pointing at their region. One departure is written and costed: under collapsedTo=\"rail\" the navigation does not disappear, it narrows — aria-expanded is still true or false about the region’s full form, and the region stays in the tab order because a rail whose destinations cannot be reached is not a rail. The pane has no such departure: closed, it leaves the layout and the tab order.",
561
+ "A document with more than one navigation or complementary landmark needs a unique label on each, so both regions carry the family’s strings and a consumer may replace either per instance. Each control’s own name changes with the state — “Open navigation” and “Close navigation”, “Open side panel” and “Close side panel” — because a control whose name never changes leaves the reader to infer the state from aria-expanded alone.",
562
+ "The skip links are written from the regions that rendered and are open, so no link ever points at a target nobody built or the reader closed, and main carries tabindex=\"-1\": without it the browser moves the scroll and leaves the focus behind in Safari and Firefox, which is a link that appears to work and moves nothing a screen reader follows.",
563
+ "While an overlaid region is modal, @slotted/core/focus contains the keyboard inside it and returns it to the control that opened it on close, and every region beside it — the banner included — takes inert, so Tab cannot reach them and a screen reader does not read them. The ways out are Escape, the veil, a destination, and whatever control the product put in the panel. Two layers can be open together only with both modes forced, and @slotted/core/dismissable-layer keeps one stack, so Escape reaches the topmost.",
564
+ "The pane’s edge is the APG’s Window Splitter (w3.org/WAI/ARIA/apg/patterns/windowsplitter/): a focusable separator with aria-orientation=\"vertical\", aria-controls pointing at the pane and aria-valuemin, aria-valuemax and aria-valuenow as whole percentages of the shell, named “Resize panel”. ArrowLeft and ArrowRight move it sixteen pixels, sixty-four with Shift, by the direction on the screen — so ArrowLeft grows an end pane and shrinks a start one, mirrored in right-to-left — and Home and End go to the limits.",
565
+ "Nothing important depends on hover, the frame answers its own inline size rather than the window’s — which is what makes a 400% zoom behave like a narrow window — and every transition comes from the motion scale, so prefers-reduced-motion collapses all of them at once."
566
+ ]
567
+ }
568
+ },
569
+ "tokens": [
570
+ "--slotted-app-shell-aside-color",
571
+ "--slotted-app-shell-aside-extent",
572
+ "--slotted-app-shell-aside-size-lg",
573
+ "--slotted-app-shell-aside-size-md",
574
+ "--slotted-app-shell-aside-size-sm",
575
+ "--slotted-app-shell-aside-surface",
576
+ "--slotted-app-shell-banner-block-size",
577
+ "--slotted-app-shell-banner-color",
578
+ "--slotted-app-shell-banner-surface",
579
+ "--slotted-app-shell-border-color",
580
+ "--slotted-app-shell-brand-overflow",
581
+ "--slotted-app-shell-brand-wrap",
582
+ "--slotted-app-shell-canvas",
583
+ "--slotted-app-shell-color",
584
+ "--slotted-app-shell-elevation",
585
+ "--slotted-app-shell-footer-color",
586
+ "--slotted-app-shell-footer-surface",
587
+ "--slotted-app-shell-frame",
588
+ "--slotted-app-shell-frame-image",
589
+ "--slotted-app-shell-gutter",
590
+ "--slotted-app-shell-main-color",
591
+ "--slotted-app-shell-main-surface",
592
+ "--slotted-app-shell-nav-color",
593
+ "--slotted-app-shell-nav-overlay-size",
594
+ "--slotted-app-shell-nav-size-lg",
595
+ "--slotted-app-shell-nav-size-md",
596
+ "--slotted-app-shell-nav-size-sm",
597
+ "--slotted-app-shell-nav-surface",
598
+ "--slotted-app-shell-radius",
599
+ "--slotted-app-shell-rail-size",
600
+ "--slotted-app-shell-resizer-color",
601
+ "--slotted-app-shell-row-inset-size",
602
+ "--slotted-app-shell-row-mark-size",
603
+ "--slotted-app-shell-row-text-line-height",
604
+ "--slotted-app-shell-row-text-size",
605
+ "--slotted-app-shell-scrim",
606
+ "--slotted-app-shell-scrollbar-thumb-color",
607
+ "--slotted-app-shell-scrollbar-track-color",
608
+ "--slotted-app-shell-tone-surface",
609
+ "--slotted-border-strong",
610
+ "--slotted-border-subtle",
611
+ "--slotted-border-width-thick",
612
+ "--slotted-border-width-thin",
613
+ "--slotted-control-font-size-md",
614
+ "--slotted-control-font-size-sm",
615
+ "--slotted-control-gap-lg",
616
+ "--slotted-control-gap-md",
617
+ "--slotted-control-gap-sm",
618
+ "--slotted-control-height-lg",
619
+ "--slotted-control-height-md",
620
+ "--slotted-control-icon-size-md",
621
+ "--slotted-control-radius",
622
+ "--slotted-control-transition-duration",
623
+ "--slotted-control-transition-easing",
624
+ "--slotted-duration-medium",
625
+ "--slotted-easing-enter",
626
+ "--slotted-easing-exit",
627
+ "--slotted-easing-standard",
628
+ "--slotted-focus-ring-color",
629
+ "--slotted-focus-ring-offset",
630
+ "--slotted-focus-ring-width",
631
+ "--slotted-font-family-sans",
632
+ "--slotted-font-size-sm",
633
+ "--slotted-font-weight-medium",
634
+ "--slotted-font-weight-semibold",
635
+ "--slotted-line-height-sm",
636
+ "--slotted-radius-lg",
637
+ "--slotted-scrim",
638
+ "--slotted-shadow-lg",
639
+ "--slotted-shadow-md",
640
+ "--slotted-shadow-xs",
641
+ "--slotted-space-1",
642
+ "--slotted-space-2",
643
+ "--slotted-space-3",
644
+ "--slotted-space-4",
645
+ "--slotted-space-5",
646
+ "--slotted-space-6",
647
+ "--slotted-surface",
648
+ "--slotted-surface-sunken",
649
+ "--slotted-target-min",
650
+ "--slotted-text",
651
+ "--slotted-text-muted",
652
+ "--slotted-tone-secondary-subtle-active",
653
+ "--slotted-tone-secondary-subtle-hover",
654
+ "--slotted-z-index-overlay",
655
+ "--slotted-z-index-popover"
656
+ ],
657
+ "examples": [
658
+ {
659
+ "id": "playground",
660
+ "title": "Playground",
661
+ "note": "Aurora Logística, a freight operator’s back office, whole: the search a coordinator reaches for first, the destinations with their counts, the order table with the consignment that has no price yet, and the detail pane with its own head, body and foot. Every axis is on the controls below — change navSide and the pane moves to the other side with it; close the pane and the content takes the room.",
662
+ "language": "html",
663
+ "source": "<div slAppShell>\n <header slAppShellBanner>…</header>\n <nav slAppShellNav>…</nav>\n <main slAppShellMain>…</main>\n <aside slAppShellAside>…</aside>\n <footer slAppShellFooter>…</footer>\n</div>\n",
664
+ "verdict": "excerpt"
665
+ },
666
+ {
667
+ "id": "anatomy",
668
+ "title": "The frame with nothing in it",
669
+ "note": "Every part the contract declares, drawn as its own name. Everything else on this page is a product standing in these boxes; this is the family on its own — four rows, three columns, one gutter, the card the content stands on, three clusters in the bar, and a pane with a head, a body and a foot.",
670
+ "language": "html",
671
+ "source": "<div slAppShell>\n <header slAppShellBanner>\n <div slAppShellBrand>\n <button slAppShellNavToggle></button>\n </div>\n <div slAppShellCentre>…</div>\n <div slAppShellActions>…</div>\n </header>\n <nav slAppShellNav>\n <div slAppShellNavHeader>…</div>\n <div slAppShellNavBody>…</div>\n <div slAppShellNavFooter>…</div>\n </nav>\n <main slAppShellMain>…</main>\n <aside slAppShellAside>\n <div slAppShellAsideHeader>\n …\n <button slAppShellAsideToggle></button>\n </div>\n <div slAppShellAsideBody>…</div>\n <div slAppShellAsideFooter>…</div>\n </aside>\n <footer slAppShellFooter>…</footer>\n</div>\n",
672
+ "verdict": "excerpt"
673
+ },
674
+ {
675
+ "id": "regions",
676
+ "title": "Five regions, five landmarks",
677
+ "note": "Each region is the HTML element that already means what it is, so none of them writes a role: header is banner, nav is navigation, main is main, aside is complementary, footer is contentinfo. The root is a div precisely so that stays true — a main inside an article is not a landmark. Cadence has no pane and no footer, and the landmark list is then exactly three.",
678
+ "language": "html",
679
+ "source": "<div slAppShell canvas=\"flush\" primary=\"nav\">\n <nav slAppShellNav>…</nav>\n <header slAppShellBanner>…</header>\n <main slAppShellMain>…</main>\n</div>\n",
680
+ "verdict": "excerpt"
681
+ },
682
+ {
683
+ "id": "banner",
684
+ "title": "Three clusters, and the one that grows",
685
+ "note": "brand starts the line, centre takes whatever room is left, actions ends it. Aurora puts a search field with its shortcut in the middle; Cadence puts the route’s trail there and the route’s actions at the end; Átrio puts a title. What each holds is the product’s — slTextField, slBreadcrumb, slAvatar — and where it goes is the shell’s. Narrow the frame: the middle gives way first, and a control in actions keeps its width rather than breaking its label one letter per line.",
686
+ "language": "html",
687
+ "source": "<header slAppShellBanner>\n <div slAppShellBrand>\n <button slAppShellNavToggle></button>\n <span>Aurora</span>\n </div>\n <div slAppShellCentre>\n <div slTextField size=\"sm\" variant=\"subtle\">\n <span slTextFieldStart><ng-icon name=\"lucideSearch\" /></span>\n <input slTextFieldInput type=\"search\" placeholder=\"Search…\" />\n </div>\n </div>\n <div slAppShellActions>\n <button slIconButton aria-label=\"Notifications\">…</button>\n <span slAvatar><span slAvatarFallback>AB</span></span>\n </div>\n</header>\n",
688
+ "verdict": "excerpt"
689
+ },
690
+ {
691
+ "id": "canvas",
692
+ "title": "The plane every region sits on",
693
+ "note": "One input decides the plane of every region at once, and each of its four values is drawn and tested in every primary and both separations. inset lifts the content and the pane onto cards over a sunken frame; flush runs every region edge to edge and draws its seams; floating lifts the column onto a card of its own as well; panel holds the column, the content and the pane in one card with the bar on the frame above it. The same product on all four.",
694
+ "language": "html",
695
+ "source": "<div slAppShell canvas=\"inset\">…</div>\n<div slAppShell canvas=\"flush\">…</div>\n<div slAppShell canvas=\"floating\">…</div>\n<div slAppShell canvas=\"panel\">…</div>\n",
696
+ "verdict": "excerpt"
697
+ },
698
+ {
699
+ "id": "separation",
700
+ "title": "A rule, or a tone",
701
+ "note": "Where two regions touch without a gutter — every seam of flush, the seams inside the panel card, the bar over the content under primary=\"main\" — separation decides what is drawn. rule is a line. tone is no line: the chrome regions take a ground 0.036 OKLab L from the surface, and the subtle tones inside them are recomputed from that ground so a hover still answers. Under forced colours a tone separates nothing, and the rule is drawn whatever the input says.",
702
+ "language": "html",
703
+ "source": "<div slAppShell canvas=\"flush\" separation=\"rule\">…</div>\n<div slAppShell canvas=\"flush\" separation=\"tone\">…</div>\n<div slAppShell canvas=\"panel\" primary=\"main\" separation=\"tone\">…</div>\n",
704
+ "verdict": "excerpt"
705
+ },
706
+ {
707
+ "id": "theming",
708
+ "title": "Every region repaintable, one at a time",
709
+ "note": "Cadence paints its column dark on a light frame with two declarations: data-slotted-scheme on the region, and one custom property for the ground. Written on the region rather than on the frame, the property resolves in the region’s scope, so the destinations, the counts and the focus ring are calibrated against the ground they are actually on. Switch the page to dark: the column stays the column, and the frame joins it.",
710
+ "language": "html",
711
+ "source": "<div slAppShell canvas=\"flush\" primary=\"nav\">\n <nav slAppShellNav class=\"cadence-nav\" data-slotted-scheme=\"dark\">…</nav>\n</div>\n\n<!-- .cadence-nav { --slotted-app-shell-nav-surface: var(--slotted-surface-sunken); } -->\n",
712
+ "verdict": "excerpt"
713
+ },
714
+ {
715
+ "id": "navModes",
716
+ "title": "Inline, overlaid, and the width that decides",
717
+ "note": "inline makes the region a column; overlay takes it out of the grid and over the content with a veil, a focus scope and inert on everything behind it; auto answers the shell’s own inline size at 600 pixels — not the window’s, which is why the narrow frame here behaves like a phone inside a wide page. Press the toggle in the overlaid frame: Escape and a press outside both close it.",
718
+ "language": "html",
719
+ "source": "<div slAppShell navMode=\"inline\">…</div>\n<div slAppShell navMode=\"overlay\">…</div>\n<div slAppShell navMode=\"auto\">…</div>\n",
720
+ "verdict": "excerpt"
721
+ },
722
+ {
723
+ "id": "rail",
724
+ "title": "What a closed region leaves behind",
725
+ "note": "rail keeps a strip one mark column wide with a row’s inset on each side: every destination stays reachable by its mark, the region stays in the tab order, and the column’s own query container is what tells the rows to drop their labels. hidden takes the region out of the layout and the tab order entirely. Under primary=\"nav\" the control stands in the column’s own foot, over the column it moves, and survives the rail.",
726
+ "language": "html",
727
+ "source": "<div slAppShell collapsedTo=\"rail\" [navOpen]=\"false\">…</div>\n<div slAppShell collapsedTo=\"hidden\" [navOpen]=\"false\">…</div>\n",
728
+ "verdict": "excerpt"
729
+ },
730
+ {
731
+ "id": "navRail",
732
+ "title": "Two levels, one region",
733
+ "note": "slAppShellNavRail puts a strip of marks before the column: the modules in the strip, the destinations of the chosen module in the column. It is one nav landmark and one open state, where the field ships two sidebars with a state each. Closed to rail, the strip stays and the column goes — cut while the width moves, then out of the tab order. The control that moves the region stands at the foot of the strip, the part that survives. The module is the product’s state, held here in a signal.",
734
+ "language": "html",
735
+ "source": "<div slAppShell primary=\"main\">\n <header slAppShellBanner>…</header>\n <nav slAppShellNav>\n <div slAppShellNavRail aria-label=\"Modules\">\n @for (module of modules; track module.id) {\n <button\n slIconButton\n type=\"button\"\n tone=\"secondary\"\n [variant]=\"module.id === moduleId() ? 'solid' : 'ghost'\"\n [attr.aria-current]=\"module.id === moduleId() ? 'true' : null\"\n [attr.aria-label]=\"module.label\"\n (click)=\"moduleId.set(module.id)\"\n >\n <ng-icon [name]=\"module.icon\" />\n </button>\n }\n <button slAppShellNavToggle></button>\n </div>\n <div slAppShellNavHeader>{{ module().label }}</div>\n <div slAppShellNavBody>\n <div slSideNavigation [value]=\"module().current\">…</div>\n </div>\n </nav>\n <main slAppShellMain>…</main>\n</div>\n",
736
+ "verdict": "excerpt"
737
+ },
738
+ {
739
+ "id": "aside",
740
+ "title": "The pane opens on a selection, and closes from its own head",
741
+ "note": "The pane holds the second open state, under the same shape as the navigation’s: a two-way asideOpen model and asideOpenChangeRequest with a reason. Select a row and the product opens the pane; press the control in the pane’s head, or Escape when it is a layer, and it closes — the content takes the room, because a closed pane leaves no rail. The skip link to the pane exists only while it is open. Drag the pane’s inner edge, or focus it and press the arrows, Home and End: the two-way asideExtent is a fraction of the shell between minAsideExtent and maxAsideExtent, and asideExtentChangeRequest says which hand moved it.",
742
+ "language": "html",
743
+ "source": "<div\n slAppShell\n [asideOpen]=\"selected() !== undefined\"\n (asideOpenChangeRequest)=\"$event.value ? null : selected.set(undefined)\"\n>\n <main slAppShellMain>\n <div slTable selectionMode=\"single\" [value]=\"selectedKeys()\" (valueChange)=\"select($event)\">\n …\n </div>\n </main>\n <aside slAppShellAside>\n <div slAppShellAsideResizer></div>\n <div slAppShellAsideHeader>\n <span>{{ selected() }}</span>\n <button slAppShellAsideToggle></button>\n </div>\n <div slAppShellAsideBody>…</div>\n <div slAppShellAsideFooter>…</div>\n </aside>\n</div>\n",
744
+ "verdict": "excerpt"
745
+ },
746
+ {
747
+ "id": "overlay",
748
+ "title": "The layer, and what it does to the rest",
749
+ "note": "Átrio overlays its navigation at every width. While the layer is modal, the rest of the shell is inert — the banner and its toggle included, exactly as a dialog’s trigger is — and the ways out are Escape, the veil, a destination, and whatever control the product put in the panel. The pane is a layer of its own under the same policies: escape=\"none\" keeps it open on Escape, outsidePress=\"none\" keeps it open on a press outside, modal={false} draws no veil and inerts nothing.",
750
+ "language": "html",
751
+ "source": "<div slAppShell navMode=\"overlay\" escape=\"close\" outsidePress=\"close\" modal>…</div>\n<div slAppShell asideMode=\"overlay\" escape=\"none\" outsidePress=\"none\" [modal]=\"false\">…</div>\n",
752
+ "verdict": "excerpt"
753
+ },
754
+ {
755
+ "id": "primary",
756
+ "title": "Which region reaches the corner",
757
+ "note": "banner spans the full width and the navigation starts below it, which is Aurora. nav spans the full height and the banner starts beside it, which is Cadence: the workspace and the bar sit on one line, and the control that moves the column stands in the column’s own head. main spans the column the full height as well and puts the bar in the plane of the content, inside the card that holds the page. The grid changes where a region is drawn and never where it is written, so the focus order is the same under all three.",
758
+ "language": "html",
759
+ "source": "<div slAppShell primary=\"banner\">…</div>\n<div slAppShell primary=\"nav\">…</div>\n<div slAppShell primary=\"main\">…</div>\n",
760
+ "verdict": "excerpt"
761
+ },
762
+ {
763
+ "id": "sides",
764
+ "title": "Sides, sizes and the mirror",
765
+ "note": "Átrio puts the navigation at the end of the line and the pane at the start; the controls turn their marks with them. Switch the direction to right-to-left and the whole frame mirrors, because every distance is logical. navSize and asideSize are steps on the family’s own scale — a theme retunes a step, and nothing retunes a pixel string.",
766
+ "language": "html",
767
+ "source": "<div slAppShell navSide=\"end\" navSize=\"sm\" asideSize=\"sm\">…</div>\n",
768
+ "verdict": "excerpt"
769
+ },
770
+ {
771
+ "id": "scroll",
772
+ "title": "Who scrolls",
773
+ "note": "content, the default, makes the shell the height it was given — capped at 100dvh, which is the space a mobile browser actually has — and lets only the content column and the pane’s body scroll, so the banner, the column and the pane’s head and foot stay put. document lets the shell grow and the whole document scroll, and the banner travels with it; a page-header inside then owns the sticky offset on its own.",
774
+ "language": "html",
775
+ "source": "<div slAppShell scroll=\"content\">…</div>\n<div slAppShell scroll=\"document\">…</div>\n",
776
+ "verdict": "excerpt"
777
+ },
778
+ {
779
+ "id": "progress",
780
+ "title": "The wait for the next page",
781
+ "note": "slAppShellProgress draws an indeterminate bar on the line between the chrome and the content — wherever the canvas draws that line — after 200 ms, holds it for at least 400 ms, and marks main aria-busy for exactly as long as it is painted. A page header inside a busy content region draws no bar of its own. Pass loading from the router; nothing in the family knows one.",
782
+ "language": "html",
783
+ "source": "<div slAppShell>\n <header slAppShellBanner>…</header>\n <main slAppShellMain>…</main>\n <div slAppShellProgress [loading]=\"navigating()\"></div>\n</div>\n\n<!-- navigating = toSignal(router.events.pipe(filter(isStartOrEnd), map((e) => e instanceof NavigationStart))) -->\n",
784
+ "verdict": "excerpt"
785
+ },
786
+ {
787
+ "id": "skipLinks",
788
+ "title": "The first thing a keyboard meets",
789
+ "note": "Press Tab from the top of the frame: a link to the content appears, then one to the navigation, then one to the pane — one per region that rendered and is open, out of the flow until focused. The content region carries tabindex=\"-1\", so the link moves the focus as well as the scroll.",
790
+ "language": "html",
791
+ "source": "<div slAppShell [messages]=\"{ skipToMain: 'Skip to the order' }\">\n <main slAppShellMain>…</main>\n</div>\n",
792
+ "verdict": "excerpt"
793
+ },
794
+ {
795
+ "id": "persistence",
796
+ "title": "Telling the reader’s choice from the layout’s",
797
+ "note": "Every request carries a reason. pointer and keyboard are the reader’s own choice; resize is the layout closing the region because the shell became narrow; select is a destination; escape and outsidePress are the layer. A product that persists the reader’s preference writes one line on the request — if the reason is not resize, persist — and keeps the wide preference through every narrow window the reader ever opens. Narrow the frame and read the log.",
798
+ "language": "html",
799
+ "source": "<div\n slAppShell\n [(navOpen)]=\"open\"\n (navOpenChangeRequest)=\"$event.reason === 'resize' || persist($event.value)\"\n>\n …\n</div>\n",
800
+ "verdict": "excerpt"
801
+ },
802
+ {
803
+ "id": "defaults",
804
+ "title": "Setting it once, and reaching past it",
805
+ "note": "provideAppShellDefaults carries every axis and the strings for every shell under the injector, and a shell that states any of them itself still wins. exportAs reaches the instance from the template: openNav, closeNav, openAside, closeAside and focusMain are the actions an input cannot express. The element the directive sits on was always the consumer’s, so there is nothing to substitute.",
806
+ "language": "ts",
807
+ "source": "bootstrapApplication(App, {\n providers: [provideAppShellDefaults({ canvas: 'flush', navSize: 'lg', primary: 'nav' })],\n});\n\n// In a template: <div slAppShell #shell=\"slAppShell\">…</div>\n// and a button that calls shell.closeAside().\n",
808
+ "verdict": "excerpt"
809
+ },
810
+ {
811
+ "id": "composition",
812
+ "title": "The families that live inside it",
813
+ "note": "The shell owns where a region is drawn and nothing about what is in it. slPage with landmark=\"none\" and scroll=\"ancestor\" lives in the content region, so its header sticks at the top of the column the shell scrolls; an sl-drawer opened from the page lands in the shell’s own layer, over the content and under nothing; slDialog, slMenu and toasts do the same. Long translated labels truncate in the column rather than pushing the frame wider.",
814
+ "language": "html",
815
+ "source": "<main slAppShellMain>\n <main slPage landmark=\"none\" scroll=\"ancestor\" width=\"full\">\n <header slPageHeader>…</header>\n <div slPageBody>…</div>\n </main>\n</main>\n",
816
+ "verdict": "excerpt"
817
+ },
818
+ {
819
+ "id": "accessibility",
820
+ "title": "The landmarks and the keyboard",
821
+ "note": "Walk the landmark list of this frame: banner, navigation, main, complementary, contentinfo, one of each and none of them written as a role. Then Tab through it: skip link, banner, toggle, navigation, content, pane, the pane’s control, footer — the DOM order, and it does not move when primary does. Enter and Space work both controls, which is the whole of the Disclosure pattern’s keyboard; the control takes its wiring from the shell, so it stands wherever the product wants it.",
822
+ "language": "html",
823
+ "source": "<nav slAppShellNav aria-label=\"Main navigation\">…</nav>\n<aside slAppShellAside aria-label=\"Order details\">…</aside>\n",
824
+ "verdict": "excerpt"
825
+ },
826
+ {
827
+ "id": "basic",
828
+ "title": "basic.ts",
829
+ "note": null,
830
+ "language": "ts",
831
+ "source": "import { Component } from '@angular/core';\nimport {\n SlAppShell,\n SlAppShellBanner,\n SlAppShellBrand,\n SlAppShellMain,\n SlAppShellNav,\n SlAppShellNavToggle,\n} from '@slotted/angular/app-shell';\nimport {\n SlSideNavigation,\n SlSideNavigationItem,\n SlSideNavigationLabel,\n SlSideNavigationLink,\n SlSideNavigationList,\n} from '@slotted/angular/side-navigation';\n\n@Component({\n selector: 'app-app-shell-basic',\n imports: [\n SlAppShell,\n SlAppShellBanner,\n SlAppShellBrand,\n SlAppShellMain,\n SlAppShellNav,\n SlAppShellNavToggle,\n SlSideNavigation,\n SlSideNavigationItem,\n SlSideNavigationLabel,\n SlSideNavigationLink,\n SlSideNavigationList,\n ],\n template: `\n <div slAppShell>\n <header slAppShellBanner>\n <button slAppShellNavToggle></button>\n <span slAppShellBrand>Northwind</span>\n </header>\n <nav slAppShellNav>\n <div slSideNavigation aria-label=\"Main navigation\" value=\"orders\">\n <ul slSideNavigationList>\n <li slSideNavigationItem value=\"orders\">\n <a slSideNavigationLink href=\"/orders\"><span slSideNavigationLabel>Orders</span></a>\n </li>\n <li slSideNavigationItem value=\"customers\">\n <a slSideNavigationLink href=\"/customers\"\n ><span slSideNavigationLabel>Customers</span></a\n >\n </li>\n </ul>\n </div>\n </nav>\n <main slAppShellMain>\n <h1>Orders</h1>\n </main>\n </div>\n `,\n})\nexport class AppShellBasic {}\n",
832
+ "verdict": "example"
833
+ }
834
+ ]
835
+ }