@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,656 @@
1
+ {
2
+ "family": "popover",
3
+ "ui": "popover",
4
+ "binding": "angular",
5
+ "catalog": {
6
+ "group": "Overlays",
7
+ "summary": "Floating panel anchored to a trigger."
8
+ },
9
+ "axes": {
10
+ "size": [
11
+ "sm",
12
+ "md",
13
+ "lg"
14
+ ],
15
+ "width": [
16
+ "auto",
17
+ "anchor"
18
+ ],
19
+ "side": [
20
+ "top",
21
+ "bottom",
22
+ "inline-start",
23
+ "inline-end",
24
+ "left",
25
+ "right"
26
+ ],
27
+ "align": [
28
+ "start",
29
+ "center",
30
+ "end"
31
+ ],
32
+ "mount": [
33
+ "active",
34
+ "lazy",
35
+ "eager"
36
+ ],
37
+ "strategy": [
38
+ "absolute",
39
+ "fixed"
40
+ ],
41
+ "arrow": [
42
+ true,
43
+ false
44
+ ],
45
+ "autoFocus": [
46
+ true,
47
+ false
48
+ ],
49
+ "closeOnEscape": [
50
+ true,
51
+ false
52
+ ],
53
+ "closeOnOutsidePress": [
54
+ true,
55
+ false
56
+ ],
57
+ "flip": [
58
+ true,
59
+ false
60
+ ],
61
+ "shift": [
62
+ true,
63
+ false
64
+ ],
65
+ "hideWhenDetached": [
66
+ true,
67
+ false
68
+ ],
69
+ "portal": [
70
+ true,
71
+ false
72
+ ],
73
+ "disabled": [
74
+ true,
75
+ false
76
+ ]
77
+ },
78
+ "members": {
79
+ "popover": {
80
+ "nativeElement": "div",
81
+ "defaults": {
82
+ "size": "md",
83
+ "width": "auto",
84
+ "side": "bottom",
85
+ "align": "center",
86
+ "mount": "active",
87
+ "strategy": "absolute",
88
+ "arrow": true,
89
+ "autoFocus": true,
90
+ "closeOnEscape": true,
91
+ "closeOnOutsidePress": true,
92
+ "flip": true,
93
+ "shift": true,
94
+ "hideWhenDetached": false,
95
+ "portal": true,
96
+ "disabled": false,
97
+ "sideOffset": 0,
98
+ "alignOffset": 0,
99
+ "collisionPadding": 8,
100
+ "arrowPadding": 12
101
+ },
102
+ "capabilities": [
103
+ "open",
104
+ "placement",
105
+ "size",
106
+ "appearance",
107
+ "disabled",
108
+ "wiring"
109
+ ],
110
+ "states": [
111
+ "default",
112
+ "hover",
113
+ "active",
114
+ "focus-visible",
115
+ "open"
116
+ ],
117
+ "parts": [
118
+ "root",
119
+ "content",
120
+ "header",
121
+ "title",
122
+ "description",
123
+ "body",
124
+ "footer",
125
+ "close",
126
+ "arrow",
127
+ "focus-guard"
128
+ ]
129
+ }
130
+ },
131
+ "docs": {
132
+ "popover": {
133
+ "imports": {
134
+ "source": "import {\n providePopoverDefaults,\n SlPopover,\n SlPopoverAnchor,\n SlPopoverArrow,\n SlPopoverBody,\n SlPopoverClose,\n SlPopoverContent,\n SlPopoverDescription,\n SlPopoverFooter,\n SlPopoverHeader,\n SlPopoverLayer,\n SlPopoverTitle,\n SlPopoverTrigger,\n} from '@slotted/angular/popover';",
135
+ "selector": "[slPopover] on an ng-container, [slPopoverTrigger] on the control, ng-template[slPopoverLayer], [slPopoverContent], and one directive per part inside it",
136
+ "exportAs": "slPopover"
137
+ },
138
+ "anatomy": [
139
+ {
140
+ "part": "root",
141
+ "element": "div, built by ng-template[slPopoverLayer]",
142
+ "required": true,
143
+ "purpose": "The positioned layer. The positioner writes its position on this element, and this element scales and fades. Its padding is the gap between the trigger and the panel, which is where the arrow stands. It carries data-ui=\"popover\", data-side, data-align, data-size, data-width and data-open."
144
+ },
145
+ {
146
+ "part": "content",
147
+ "element": "the element carrying slPopoverContent",
148
+ "required": true,
149
+ "purpose": "The panel, with role=\"dialog\" and tabindex=\"-1\". It is named by its title and described by its description when those parts are present. aria-modal is never written, because the popover is not modal."
150
+ },
151
+ {
152
+ "part": "header",
153
+ "element": "the element carrying slPopoverHeader",
154
+ "required": false,
155
+ "purpose": "The row that holds the title, the description and the close button. It keeps its height while the body scrolls."
156
+ },
157
+ {
158
+ "part": "title",
159
+ "element": "the element carrying slPopoverTitle",
160
+ "required": false,
161
+ "purpose": "The panel’s accessible name. Write it on a div, or on a heading when the title belongs in the document outline."
162
+ },
163
+ {
164
+ "part": "description",
165
+ "element": "the element carrying slPopoverDescription",
166
+ "required": false,
167
+ "purpose": "One line under the title, referenced by the panel through aria-describedby."
168
+ },
169
+ {
170
+ "part": "body",
171
+ "element": "the element carrying slPopoverBody",
172
+ "required": false,
173
+ "purpose": "The only part that scrolls, bounded by --slotted-positioner-available-height. A scroll shadow at the cut edge shows that there is more content."
174
+ },
175
+ {
176
+ "part": "footer",
177
+ "element": "the element carrying slPopoverFooter",
178
+ "required": false,
179
+ "purpose": "The actions row, separated from the body by a rule and kept under it."
180
+ },
181
+ {
182
+ "part": "close",
183
+ "element": "button",
184
+ "required": false,
185
+ "purpose": "The close button, for a pointer or a touch screen, where there is no Escape key. It draws a cross glyph unless you project content of your own. With no text of its own it is named by the close message of the language in force; with text, such as Done, the text is its name."
186
+ },
187
+ {
188
+ "part": "arrow",
189
+ "element": "the element carrying slPopoverArrow",
190
+ "required": false,
191
+ "purpose": "A rotated square in the panel’s background and border colours, which continues the panel’s outline towards the anchor. Place it beside the content inside ng-template[slPopoverLayer], not inside the content: the stylesheet selects it as a direct child of the layer. While arrow is false the layer leaves it out."
192
+ },
193
+ {
194
+ "part": "focus-guard",
195
+ "element": "span (two of them)",
196
+ "required": true,
197
+ "purpose": "Two zero-sized, focusable elements hidden from assistive technology, one on each side of the panel. Tab or Shift+Tab onto either one closes the popover and returns focus to the trigger."
198
+ }
199
+ ],
200
+ "api": [
201
+ {
202
+ "name": "open",
203
+ "type": "boolean",
204
+ "defaultValue": "false",
205
+ "appliesTo": "slPopover",
206
+ "description": "Whether the panel is open. Bind [(open)] to a signal to control it."
207
+ },
208
+ {
209
+ "name": "defaultOpen",
210
+ "type": "boolean",
211
+ "defaultValue": "false",
212
+ "appliesTo": "slPopover",
213
+ "description": "The open state an uncontrolled popover starts with. It is read once, on init."
214
+ },
215
+ {
216
+ "name": "size",
217
+ "type": "'sm' | 'md' | 'lg'",
218
+ "defaultValue": "md",
219
+ "appliesTo": "slPopover",
220
+ "description": "The maximum width of the layer, which holds the panel and the gap around it: 16rem, 20rem or 24rem, with the inset and the title size to match."
221
+ },
222
+ {
223
+ "name": "width",
224
+ "type": "'auto' | 'anchor'",
225
+ "defaultValue": "auto",
226
+ "appliesTo": "slPopover",
227
+ "description": "auto sizes the panel to its content, up to the width size sets. anchor makes it exactly as wide as the anchor."
228
+ },
229
+ {
230
+ "name": "side",
231
+ "type": "'top' | 'bottom' | 'inline-start' | 'inline-end' | 'left' | 'right'",
232
+ "defaultValue": "bottom",
233
+ "appliesTo": "slPopover",
234
+ "description": "The edge of the anchor the panel opens against. inline-start and inline-end follow the writing direction of the layer."
235
+ },
236
+ {
237
+ "name": "align",
238
+ "type": "'start' | 'center' | 'end'",
239
+ "defaultValue": "center",
240
+ "appliesTo": "slPopover",
241
+ "description": "Where the panel sits along the side it opened on."
242
+ },
243
+ {
244
+ "name": "mount",
245
+ "type": "'active' | 'lazy' | 'eager'",
246
+ "defaultValue": "active",
247
+ "appliesTo": "slPopover",
248
+ "description": "When the layer exists. active builds it on open and removes it after the exit animation. lazy builds it on the first open and keeps it, for a panel whose content is expensive to build. eager builds it from the start."
249
+ },
250
+ {
251
+ "name": "strategy",
252
+ "type": "'absolute' | 'fixed'",
253
+ "defaultValue": "absolute",
254
+ "appliesTo": "slPopover",
255
+ "description": "The CSS position of the layer. Use fixed for a layer inside an overflow: hidden container, and absolute for one inside a transformed container."
256
+ },
257
+ {
258
+ "name": "arrow",
259
+ "type": "boolean",
260
+ "defaultValue": "true",
261
+ "appliesTo": "slPopover",
262
+ "description": "Whether the slPopoverArrow element is drawn."
263
+ },
264
+ {
265
+ "name": "autoFocus",
266
+ "type": "boolean",
267
+ "defaultValue": "true",
268
+ "appliesTo": "slPopover",
269
+ "description": "Whether focus moves into the popover on open. Focus goes to the panel itself rather than to its first control, so a screen reader announces the panel’s name first and a destructive first control is not focused by default."
270
+ },
271
+ {
272
+ "name": "closeOnEscape",
273
+ "type": "boolean",
274
+ "defaultValue": "true",
275
+ "appliesTo": "slPopover",
276
+ "description": "Whether Escape closes the popover. Escape reaches only the topmost layer."
277
+ },
278
+ {
279
+ "name": "closeOnOutsidePress",
280
+ "type": "boolean",
281
+ "defaultValue": "true",
282
+ "appliesTo": "slPopover",
283
+ "description": "Whether a press outside the panel closes the popover."
284
+ },
285
+ {
286
+ "name": "flip",
287
+ "type": "boolean",
288
+ "defaultValue": "true",
289
+ "appliesTo": "slPopover",
290
+ "description": "Whether the panel moves to the opposite side when it does not fit."
291
+ },
292
+ {
293
+ "name": "shift",
294
+ "type": "boolean",
295
+ "defaultValue": "true",
296
+ "appliesTo": "slPopover",
297
+ "description": "Whether the panel slides along its side to stay inside the boundary."
298
+ },
299
+ {
300
+ "name": "hideWhenDetached",
301
+ "type": "boolean",
302
+ "defaultValue": "false",
303
+ "appliesTo": "slPopover",
304
+ "description": "Whether the panel hides when its anchor scrolls out of view. It is off, unlike slTooltip’s, so a task the reader is halfway through does not disappear when the row behind it scrolls."
305
+ },
306
+ {
307
+ "name": "portal",
308
+ "type": "boolean",
309
+ "defaultValue": "true",
310
+ "appliesTo": "slPopover",
311
+ "description": "Whether the layer is rendered into the shared portal root at the end of the document. The portalled layer keeps the theme, colour scheme, density and direction of the region it was opened from."
312
+ },
313
+ {
314
+ "name": "disabled",
315
+ "type": "boolean",
316
+ "defaultValue": "false",
317
+ "appliesTo": "slPopover",
318
+ "description": "Whether the popover never opens. It does not disable the trigger; set disabled on the trigger element for that."
319
+ },
320
+ {
321
+ "name": "messages",
322
+ "type": "Partial<PopoverMessages>",
323
+ "defaultValue": "—",
324
+ "appliesTo": "slPopover",
325
+ "description": "Text that replaces the language’s messages for this popover, key by key. close is the close button’s accessible name; an aria-label written on slPopoverClose takes precedence."
326
+ },
327
+ {
328
+ "name": "sideOffset",
329
+ "type": "number",
330
+ "defaultValue": "0",
331
+ "appliesTo": "slPopover",
332
+ "description": "Extra distance from the anchor in pixels, added to the standard gap."
333
+ },
334
+ {
335
+ "name": "alignOffset",
336
+ "type": "number",
337
+ "defaultValue": "0",
338
+ "appliesTo": "slPopover",
339
+ "description": "Distance in pixels along the alignment axis."
340
+ },
341
+ {
342
+ "name": "collisionPadding",
343
+ "type": "number",
344
+ "defaultValue": "8",
345
+ "appliesTo": "slPopover",
346
+ "description": "The minimum distance in pixels between the panel and the edge of the boundary."
347
+ },
348
+ {
349
+ "name": "arrowPadding",
350
+ "type": "number",
351
+ "defaultValue": "12",
352
+ "appliesTo": "slPopover",
353
+ "description": "The minimum distance in pixels between the arrow and the panel’s corners, so the arrow stays off the rounded corner."
354
+ },
355
+ {
356
+ "name": "initialFocus",
357
+ "type": "Element | string",
358
+ "defaultValue": "—",
359
+ "appliesTo": "slPopover",
360
+ "description": "What takes focus on open instead of the panel, such as a search field. A string is a selector read inside the panel."
361
+ },
362
+ {
363
+ "name": "finalFocus",
364
+ "type": "Element | string",
365
+ "defaultValue": "—",
366
+ "appliesTo": "slPopover",
367
+ "description": "What takes focus on close instead of the trigger, for a popover whose trigger is gone by then, such as one that deleted its own row."
368
+ }
369
+ ],
370
+ "composition": [
371
+ {
372
+ "name": "the directive",
373
+ "type": "attribute",
374
+ "defaultValue": "—",
375
+ "appliesTo": "every part",
376
+ "description": "Every part is a directive on your own element, so the title can be a heading and the trigger can be any slButton. There is no render input."
377
+ },
378
+ {
379
+ "name": "exportAs",
380
+ "type": "slPopover",
381
+ "defaultValue": "—",
382
+ "appliesTo": "[slPopover]",
383
+ "description": "A template reference to the popover, with show(), hide() and toggle(next, reason), for code that has to open or close it outside a binding."
384
+ },
385
+ {
386
+ "name": "exportAs",
387
+ "type": "slPopoverLayer",
388
+ "defaultValue": "—",
389
+ "appliesTo": "ng-template[slPopoverLayer]",
390
+ "description": "A template reference to the layer, with reposition(), which measures and places the layer again."
391
+ },
392
+ {
393
+ "name": "slPopoverAnchor",
394
+ "type": "directive",
395
+ "defaultValue": "—",
396
+ "appliesTo": "composition",
397
+ "description": "The element the panel is positioned against, when it is not the trigger, such as a table row. It writes no attributes. A press on it counts as a press inside the popover."
398
+ },
399
+ {
400
+ "name": "providePopoverDefaults",
401
+ "type": "Provider",
402
+ "defaultValue": "—",
403
+ "appliesTo": "application or component",
404
+ "description": "Sets any option for every popover under the injector. An option set on a popover takes precedence, and an aria-label written on slPopoverClose takes precedence over both."
405
+ },
406
+ {
407
+ "name": "native attributes",
408
+ "type": "host",
409
+ "defaultValue": "—",
410
+ "appliesTo": "every part",
411
+ "description": "A part writes only the attributes it owns. A (click) listener on the trigger runs beside the popover’s own, and event.preventDefault() does not stop the popover’s."
412
+ }
413
+ ],
414
+ "events": [
415
+ {
416
+ "name": "openChange",
417
+ "payload": "boolean",
418
+ "when": "After the open state changes. It is the change half of [(open)]."
419
+ },
420
+ {
421
+ "name": "openChangeRequest",
422
+ "payload": "PopoverChangeRequest",
423
+ "when": "Before the panel opens or closes, once per change. reason is pointer, keyboard, escape, outsidePress, dismiss or programmatic. cancel() refuses the change, and openChange is not emitted."
424
+ }
425
+ ],
426
+ "accessibility": [
427
+ "The panel is a non-modal dialog: aria-modal is not written, nothing behind it becomes inert, and the page keeps scrolling. Use slDialog for content that has to block the page.",
428
+ "The trigger carries aria-expanded, aria-haspopup=\"dialog\", and aria-controls while the panel is in the document. The panel is named by its title through aria-labelledby and described by its description through aria-describedby. A popover without a title has no accessible name until you write aria-label on the slPopoverContent element.",
429
+ "Focus moves to the panel on open, so a screen reader announces its name before its contents, and returns to the trigger on close. If the reader has moved focus elsewhere on the page, focus stays there. initialFocus and finalFocus name other targets.",
430
+ "Tab past the last control in the panel, or Shift+Tab before the first, closes the popover and returns focus to the trigger; the next Tab continues down the page. Focus is never trapped in the panel."
431
+ ]
432
+ }
433
+ },
434
+ "tokens": [
435
+ "--slotted-border-subtle",
436
+ "--slotted-border-width-thin",
437
+ "--slotted-control-gap-md",
438
+ "--slotted-control-height-sm",
439
+ "--slotted-control-radius",
440
+ "--slotted-control-transition-duration",
441
+ "--slotted-control-transition-easing",
442
+ "--slotted-duration-medium",
443
+ "--slotted-duration-short",
444
+ "--slotted-easing-enter",
445
+ "--slotted-easing-exit",
446
+ "--slotted-easing-standard",
447
+ "--slotted-focus-ring-color",
448
+ "--slotted-focus-ring-offset",
449
+ "--slotted-focus-ring-width",
450
+ "--slotted-font-family-heading",
451
+ "--slotted-font-family-sans",
452
+ "--slotted-font-size-lg",
453
+ "--slotted-font-size-md",
454
+ "--slotted-font-size-sm",
455
+ "--slotted-font-size-xl",
456
+ "--slotted-font-weight-semibold",
457
+ "--slotted-line-height-lg",
458
+ "--slotted-line-height-md",
459
+ "--slotted-line-height-sm",
460
+ "--slotted-popover-arrow-size",
461
+ "--slotted-popover-arrow-tip-radius",
462
+ "--slotted-popover-border-color",
463
+ "--slotted-popover-gap",
464
+ "--slotted-popover-measure",
465
+ "--slotted-popover-measure-lg",
466
+ "--slotted-popover-measure-sm",
467
+ "--slotted-popover-padding-block",
468
+ "--slotted-popover-padding-block-lg",
469
+ "--slotted-popover-padding-block-sm",
470
+ "--slotted-popover-padding-inline",
471
+ "--slotted-popover-padding-inline-lg",
472
+ "--slotted-popover-padding-inline-sm",
473
+ "--slotted-popover-radius",
474
+ "--slotted-popover-shadow",
475
+ "--slotted-popover-surface",
476
+ "--slotted-popover-text",
477
+ "--slotted-radius-lg",
478
+ "--slotted-radius-sm",
479
+ "--slotted-radius-xs",
480
+ "--slotted-shadow-md",
481
+ "--slotted-space-2",
482
+ "--slotted-space-3",
483
+ "--slotted-space-4",
484
+ "--slotted-space-5",
485
+ "--slotted-space-6",
486
+ "--slotted-space-7",
487
+ "--slotted-surface-raised",
488
+ "--slotted-text",
489
+ "--slotted-text-muted",
490
+ "--slotted-tone-secondary-subtle-active",
491
+ "--slotted-tone-secondary-subtle-hover",
492
+ "--slotted-z-index-popover"
493
+ ],
494
+ "examples": [
495
+ {
496
+ "id": "playground",
497
+ "title": "A panel on a button",
498
+ "note": "Press the button: the panel opens, takes the focus and says its own name. Escape closes it and the focus goes back where it came from.",
499
+ "language": "html",
500
+ "source": "<ng-container slPopover>\n <button slButton slPopoverTrigger type=\"button\">Filters</button>\n <ng-template slPopoverLayer>\n <div slPopoverContent>\n <div slPopoverHeader>\n <div slPopoverTitle>Filter invoices</div>\n <button slPopoverClose></button>\n </div>\n <div slPopoverBody>Unpaid, overdue and disputed.</div>\n </div>\n <div slPopoverArrow></div>\n </ng-template>\n</ng-container>\n",
501
+ "verdict": "excerpt"
502
+ },
503
+ {
504
+ "id": "sizes",
505
+ "title": "Three width steps",
506
+ "note": "Sixteen, twenty and twenty-four rems. The inset and the title step move with the width, and the controls inside move with the density.",
507
+ "language": "ts",
508
+ "source": "import { Component } from '@angular/core';\nimport { SlButton } from '@slotted/angular/button';\nimport { SlInline } from '@slotted/angular/inline';\nimport {\n SlPopover,\n SlPopoverArrow,\n SlPopoverBody,\n SlPopoverContent,\n SlPopoverHeader,\n SlPopoverLayer,\n SlPopoverTitle,\n SlPopoverTrigger,\n} from '@slotted/angular/popover';\nimport type { PopoverSize } from '@slotted/angular/popover';\n\n@Component({\n selector: 'app-popover-sizes',\n imports: [\n SlButton,\n SlInline,\n SlPopover,\n SlPopoverArrow,\n SlPopoverBody,\n SlPopoverContent,\n SlPopoverHeader,\n SlPopoverLayer,\n SlPopoverTitle,\n SlPopoverTrigger,\n ],\n template: `\n <div slInline [gap]=\"3\" justify=\"center\" wrap=\"wrap\">\n @for (size of sizes; track size) {\n <ng-container slPopover [size]=\"size\">\n <button slButton tone=\"secondary\" variant=\"outline\" slPopoverTrigger>{{ size }}</button>\n <ng-template slPopoverLayer>\n <div slPopoverContent>\n <div slPopoverHeader>\n <div slPopoverTitle>Order 10248</div>\n </div>\n <div slPopoverBody>\n Vins et alcools Chevalier, Reims. Three lines, 440.00 USD, shipped by Federal\n Shipping on Jul 16.\n </div>\n </div>\n <div slPopoverArrow></div>\n </ng-template>\n </ng-container>\n }\n </div>\n `,\n})\nexport class PopoverSizes {\n readonly sizes: PopoverSize[] = ['sm', 'md', 'lg'];\n}\n",
509
+ "verdict": "example"
510
+ },
511
+ {
512
+ "id": "width",
513
+ "title": "As wide as its words, or as wide as the field",
514
+ "note": "width=\"anchor\" reads the anchor measured width, which is the one case Radix publishes a custom property for and the shape a filter panel under a search field needs.",
515
+ "language": "ts",
516
+ "source": "import { Component } from '@angular/core';\nimport { SlButton } from '@slotted/angular/button';\nimport {\n SlDescriptionList,\n SlDescriptionListDescription,\n SlDescriptionListItem,\n SlDescriptionListTerm,\n} from '@slotted/angular/description-list';\nimport {\n SlPopover,\n SlPopoverArrow,\n SlPopoverBody,\n SlPopoverContent,\n SlPopoverLayer,\n SlPopoverTrigger,\n} from '@slotted/angular/popover';\n\n@Component({\n selector: 'app-popover-width',\n imports: [\n SlButton,\n SlDescriptionList,\n SlDescriptionListDescription,\n SlDescriptionListItem,\n SlDescriptionListTerm,\n SlPopover,\n SlPopoverArrow,\n SlPopoverBody,\n SlPopoverContent,\n SlPopoverLayer,\n SlPopoverTrigger,\n ],\n template: `\n <ng-container slPopover align=\"start\" width=\"anchor\">\n <button slButton fullWidth tone=\"secondary\" variant=\"outline\" slPopoverTrigger>\n Chai, stock by warehouse\n </button>\n <ng-template slPopoverLayer>\n <div slPopoverContent aria-label=\"Chai stock by warehouse\">\n <div slPopoverBody>\n <div slDescriptionList>\n @for (warehouse of warehouses; track warehouse.name) {\n <div slDescriptionListItem>\n <dt slDescriptionListTerm>{{ warehouse.name }}</dt>\n <dd slDescriptionListDescription>{{ warehouse.stock }}</dd>\n </div>\n }\n </div>\n </div>\n </div>\n <div slPopoverArrow></div>\n </ng-template>\n </ng-container>\n `,\n})\nexport class PopoverWidth {\n readonly warehouses = [\n { name: 'Seattle', stock: '39 units' },\n { name: 'Tacoma', stock: '120 units' },\n { name: 'Portland', stock: 'Out of stock' },\n ];\n}\n",
517
+ "verdict": "example"
518
+ },
519
+ {
520
+ "id": "placement",
521
+ "title": "Which edge it takes",
522
+ "note": "The four physical sides and the two logical ones. Switch the toolbar to rtl: inline-start and inline-end swap, left and right stay where they are.",
523
+ "language": "ts",
524
+ "source": "import { Component } from '@angular/core';\nimport { SlButton } from '@slotted/angular/button';\nimport { SlInline } from '@slotted/angular/inline';\nimport {\n SlPopover,\n SlPopoverArrow,\n SlPopoverBody,\n SlPopoverContent,\n SlPopoverLayer,\n SlPopoverTrigger,\n} from '@slotted/angular/popover';\nimport type { PopoverSide } from '@slotted/angular/popover';\n\n@Component({\n selector: 'app-popover-placement',\n imports: [\n SlButton,\n SlInline,\n SlPopover,\n SlPopoverArrow,\n SlPopoverBody,\n SlPopoverContent,\n SlPopoverLayer,\n SlPopoverTrigger,\n ],\n template: `\n <div slInline [gap]=\"3\" justify=\"center\" wrap=\"wrap\">\n @for (item of sides; track item.side) {\n <ng-container slPopover [side]=\"item.side\">\n <button slButton tone=\"secondary\" variant=\"outline\" slPopoverTrigger>\n {{ item.side }}\n </button>\n <ng-template slPopoverLayer>\n <div slPopoverContent [attr.aria-label]=\"'Pickup, ' + item.side\">\n <div slPopoverBody>{{ item.text }}</div>\n </div>\n <div slPopoverArrow></div>\n </ng-template>\n </ng-container>\n }\n </div>\n `,\n})\nexport class PopoverPlacement {\n readonly sides: { side: PopoverSide; text: string }[] = [\n { side: 'top', text: 'Speedy Express collects at 4:00 PM.' },\n { side: 'bottom', text: 'United Package collects at 5:30 PM.' },\n { side: 'inline-start', text: 'Federal Shipping collects at 11:00 AM.' },\n { side: 'inline-end', text: 'Northwind Courier collects at 2:00 PM.' },\n ];\n}\n",
525
+ "verdict": "example"
526
+ },
527
+ {
528
+ "id": "anchor",
529
+ "title": "Pointing at something other than the button",
530
+ "note": "The panel hangs off the whole row and the button only opens it. Nothing is written on the anchor: it is measured and nothing else.",
531
+ "language": "html",
532
+ "source": "<ng-container slPopover align=\"end\">\n <div slPopoverAnchor>\n <span>Invoice 2026-014</span>\n <button slButton slPopoverTrigger type=\"button\">More</button>\n </div>\n <ng-template slPopoverLayer></ng-template>\n</ng-container>\n",
533
+ "verdict": "excerpt"
534
+ },
535
+ {
536
+ "id": "focus",
537
+ "title": "Where the keyboard goes",
538
+ "note": "The first panel takes the focus itself; the second sends it to its search field; the third leaves it on the trigger. Close each one and watch where the focus comes back to.",
539
+ "language": "ts",
540
+ "source": "import { Component, computed, signal } from '@angular/core';\nimport { SlButton } from '@slotted/angular/button';\nimport { SlField, SlFieldLabel } from '@slotted/angular/field';\nimport {\n SlPopover,\n SlPopoverArrow,\n SlPopoverBody,\n SlPopoverContent,\n SlPopoverHeader,\n SlPopoverLayer,\n SlPopoverTitle,\n SlPopoverTrigger,\n} from '@slotted/angular/popover';\nimport { SlStack } from '@slotted/angular/stack';\nimport { SlTextField, SlTextFieldInput } from '@slotted/angular/text-field';\nimport { SlText } from '@slotted/angular/typography';\n\n@Component({\n selector: 'app-popover-focus',\n imports: [\n SlButton,\n SlField,\n SlFieldLabel,\n SlPopover,\n SlPopoverArrow,\n SlPopoverBody,\n SlPopoverContent,\n SlPopoverHeader,\n SlPopoverLayer,\n SlPopoverTitle,\n SlPopoverTrigger,\n SlStack,\n SlText,\n SlTextField,\n SlTextFieldInput,\n ],\n template: `\n <ng-container slPopover align=\"start\" initialFocus=\"input\">\n <button slButton tone=\"secondary\" variant=\"outline\" slPopoverTrigger>Find a customer</button>\n <ng-template slPopoverLayer>\n <div slPopoverContent>\n <div slPopoverHeader>\n <div slPopoverTitle>Find a customer</div>\n </div>\n <div slPopoverBody>\n <div slStack [gap]=\"3\">\n <div slField>\n <label slFieldLabel>Company name</label>\n <div slTextField>\n <input\n slTextFieldInput\n type=\"search\"\n [value]=\"query()\"\n (valueChange)=\"query.set($event.value)\"\n />\n </div>\n </div>\n <span slText size=\"sm\" tone=\"muted\">{{ summary() }}</span>\n </div>\n </div>\n </div>\n <div slPopoverArrow></div>\n </ng-template>\n </ng-container>\n `,\n})\nexport class PopoverFocus {\n readonly customers = [\n 'Alfreds Futterkiste',\n 'Ernst Handel',\n 'Frankenversand',\n 'Königlich Essen',\n 'Wartian Herkku',\n ];\n readonly query = signal('');\n readonly summary = computed(() => {\n const query = this.query().trim().toLowerCase();\n const matches = this.customers.filter((name) => name.toLowerCase().includes(query));\n return matches.length === 0 ? 'No customer matches.' : matches.join(', ');\n });\n}\n",
541
+ "verdict": "example"
542
+ },
543
+ {
544
+ "id": "dismissal",
545
+ "title": "Every way it closes, and the reason it carries",
546
+ "note": "Escape, a press outside, the close control, the trigger again. Each one reports a different reason, and a consumer may refuse any of them before anything moves.",
547
+ "language": "ts",
548
+ "source": "import { Component, signal } from '@angular/core';\nimport { SlButton } from '@slotted/angular/button';\nimport { SlInline } from '@slotted/angular/inline';\nimport {\n SlPopover,\n SlPopoverArrow,\n SlPopoverBody,\n SlPopoverClose,\n SlPopoverContent,\n SlPopoverHeader,\n SlPopoverLayer,\n SlPopoverTitle,\n SlPopoverTrigger,\n type PopoverChangeRequest,\n} from '@slotted/angular/popover';\nimport { SlText } from '@slotted/angular/typography';\n\n@Component({\n selector: 'app-popover-dismissal',\n imports: [\n SlButton,\n SlInline,\n SlPopover,\n SlPopoverArrow,\n SlPopoverBody,\n SlPopoverClose,\n SlPopoverContent,\n SlPopoverHeader,\n SlPopoverLayer,\n SlPopoverTitle,\n SlPopoverTrigger,\n SlText,\n ],\n template: `\n <div slInline align=\"center\" [gap]=\"3\">\n <ng-container slPopover (openChangeRequest)=\"record($event)\">\n <button slButton tone=\"secondary\" variant=\"outline\" slPopoverTrigger>Delivery note</button>\n <ng-template slPopoverLayer>\n <div slPopoverContent>\n <div slPopoverHeader>\n <div slPopoverTitle>Order 10249 delivery note</div>\n <button slPopoverClose></button>\n </div>\n <div slPopoverBody>\n Leave at the loading dock behind Toms Spezialitäten. The gate closes at 6:00 PM.\n </div>\n </div>\n <div slPopoverArrow></div>\n </ng-template>\n </ng-container>\n <span slText size=\"sm\" tone=\"muted\">Last closed by: {{ reason() }}</span>\n </div>\n `,\n})\nexport class PopoverDismissal {\n readonly reason = signal('not closed yet');\n\n record(request: PopoverChangeRequest): void {\n if (!request.value) this.reason.set(request.reason);\n }\n}\n",
549
+ "verdict": "example"
550
+ },
551
+ {
552
+ "id": "scrolling",
553
+ "title": "More content than room",
554
+ "note": "The body is the only part that scrolls, bounded by the height the engine says is left. The title and the actions keep theirs, and the fade at the cut says there is more.",
555
+ "language": "ts",
556
+ "source": "import { Component, signal } from '@angular/core';\nimport { SlButton } from '@slotted/angular/button';\nimport {\n SlPopover,\n SlPopoverArrow,\n SlPopoverBody,\n SlPopoverClose,\n SlPopoverContent,\n SlPopoverFooter,\n SlPopoverHeader,\n SlPopoverLayer,\n SlPopoverTitle,\n SlPopoverTrigger,\n} from '@slotted/angular/popover';\nimport { SlStack } from '@slotted/angular/stack';\nimport { SlText } from '@slotted/angular/typography';\n\n@Component({\n selector: 'app-popover-scrolling',\n imports: [\n SlButton,\n SlPopover,\n SlPopoverArrow,\n SlPopoverBody,\n SlPopoverClose,\n SlPopoverContent,\n SlPopoverFooter,\n SlPopoverHeader,\n SlPopoverLayer,\n SlPopoverTitle,\n SlPopoverTrigger,\n SlStack,\n SlText,\n ],\n template: `\n <ng-container slPopover [(open)]=\"open\">\n <button slButton tone=\"secondary\" variant=\"outline\" slPopoverTrigger>\n Order 10248 activity\n </button>\n <ng-template slPopoverLayer>\n <div slPopoverContent>\n <div slPopoverHeader>\n <div slPopoverTitle>Order 10248 activity</div>\n <button slPopoverClose></button>\n </div>\n <div slPopoverBody>\n <div slStack [gap]=\"3\">\n @for (entry of activity; track entry) {\n <span slText size=\"sm\">{{ entry }}</span>\n }\n </div>\n </div>\n <div slPopoverFooter>\n <button slButton size=\"sm\" (click)=\"open.set(false)\">Done</button>\n </div>\n </div>\n <div slPopoverArrow></div>\n </ng-template>\n </ng-container>\n `,\n})\nexport class PopoverScrolling {\n readonly open = signal(false);\n readonly activity = [\n 'Jul 4, 9:12 AM. Order placed by Vins et alcools Chevalier.',\n 'Jul 4, 9:40 AM. Payment authorised, 440.00 USD.',\n 'Jul 5, 8:05 AM. Allocated to the Seattle warehouse.',\n 'Jul 5, 2:30 PM. Picked by Nancy Davolio.',\n 'Jul 6, 10:15 AM. Packed in two cartons, 14.2 kg.',\n 'Jul 8, 11:00 AM. Customs documents filed for France.',\n 'Jul 16, 4:00 PM. Collected by Federal Shipping.',\n 'Jul 18, 7:20 AM. Arrived at the Le Havre hub.',\n 'Jul 19, 9:45 AM. Out for delivery in Reims.',\n 'Jul 19, 3:10 PM. Delivered, signed by P. Henriot.',\n ];\n}\n",
557
+ "verdict": "example"
558
+ },
559
+ {
560
+ "id": "composition",
561
+ "title": "A panel holding a real form",
562
+ "note": "Fields, a footer of actions and a close control. The controls inside are the consumer own and reach their form untouched: the family holds no value of theirs.",
563
+ "language": "html",
564
+ "source": "<div slPopoverBody>\n <div slField>\n <label slFieldLabel>Amount</label>\n <input slFieldControl slTextFieldInput />\n </div>\n</div>\n",
565
+ "verdict": "excerpt"
566
+ },
567
+ {
568
+ "id": "nested",
569
+ "title": "A tooltip on a control inside the panel",
570
+ "note": "Two layers at once. The tooltip is a later layer, so it draws above the panel and Escape reaches it first; the panel closes on the second Escape and not before.",
571
+ "language": "html",
572
+ "source": "<div slPopoverFooter>\n <ng-container slTooltip describes=\"label\">\n <button slButton slTooltipTrigger type=\"button\">Clear</button>\n <ng-template slTooltipLayer>\n <div slTooltipContent>Clear the filters</div>\n </ng-template>\n </ng-container>\n</div>\n",
573
+ "verdict": "excerpt"
574
+ },
575
+ {
576
+ "id": "keyboard",
577
+ "title": "What the keyboard does",
578
+ "note": "Enter or Space opens it. Tab walks the panel and, past the last control, closes it and returns to the trigger — one extra Tab, and the reading order intact.",
579
+ "language": "html",
580
+ "source": "<ng-container slPopover (openChangeRequest)=\"reason = $event.reason\">\n <button slButton slPopoverTrigger type=\"button\">Tab through me</button>\n <ng-template slPopoverLayer></ng-template>\n</ng-container>\n",
581
+ "verdict": "excerpt"
582
+ },
583
+ {
584
+ "id": "alignment",
585
+ "title": "alignment.ts",
586
+ "note": null,
587
+ "language": "ts",
588
+ "source": "import { Component } from '@angular/core';\nimport { SlButton } from '@slotted/angular/button';\nimport { SlInline } from '@slotted/angular/inline';\nimport {\n SlPopover,\n SlPopoverArrow,\n SlPopoverBody,\n SlPopoverContent,\n SlPopoverLayer,\n SlPopoverTrigger,\n} from '@slotted/angular/popover';\nimport type { PopoverAlign } from '@slotted/angular/popover';\n\n@Component({\n selector: 'app-popover-alignment',\n imports: [\n SlButton,\n SlInline,\n SlPopover,\n SlPopoverArrow,\n SlPopoverBody,\n SlPopoverContent,\n SlPopoverLayer,\n SlPopoverTrigger,\n ],\n template: `\n <div slInline [gap]=\"3\" justify=\"center\" wrap=\"wrap\">\n @for (align of alignments; track align) {\n <ng-container slPopover [align]=\"align\">\n <button slButton tone=\"secondary\" variant=\"outline\" slPopoverTrigger>\n Align {{ align }}\n </button>\n <ng-template slPopoverLayer>\n <div slPopoverContent [attr.aria-label]=\"'Restock, aligned ' + align\">\n <div slPopoverBody>Restock 40 units of Chang from Exotic Liquids by Oct 14.</div>\n </div>\n <div slPopoverArrow></div>\n </ng-template>\n </ng-container>\n }\n </div>\n `,\n})\nexport class PopoverAlignment {\n readonly alignments: PopoverAlign[] = ['start', 'center', 'end'];\n}\n",
589
+ "verdict": "example"
590
+ },
591
+ {
592
+ "id": "arrow-and-offset",
593
+ "title": "arrow-and-offset.ts",
594
+ "note": null,
595
+ "language": "ts",
596
+ "source": "import { Component } from '@angular/core';\nimport { SlButton } from '@slotted/angular/button';\nimport { SlInline } from '@slotted/angular/inline';\nimport {\n SlPopover,\n SlPopoverArrow,\n SlPopoverBody,\n SlPopoverContent,\n SlPopoverLayer,\n SlPopoverTrigger,\n} from '@slotted/angular/popover';\n\n@Component({\n selector: 'app-popover-arrow-and-offset',\n imports: [\n SlButton,\n SlInline,\n SlPopover,\n SlPopoverArrow,\n SlPopoverBody,\n SlPopoverContent,\n SlPopoverLayer,\n SlPopoverTrigger,\n ],\n template: `\n <div slInline [gap]=\"3\" justify=\"center\" wrap=\"wrap\">\n <ng-container slPopover>\n <button slButton tone=\"secondary\" variant=\"outline\" slPopoverTrigger>With arrow</button>\n <ng-template slPopoverLayer>\n <div slPopoverContent aria-label=\"Pickup window\">\n <div slPopoverBody>Speedy Express collects between 3:30 and 4:00 PM.</div>\n </div>\n <div slPopoverArrow></div>\n </ng-template>\n </ng-container>\n <ng-container slPopover [arrow]=\"false\" [sideOffset]=\"8\">\n <button slButton tone=\"secondary\" variant=\"outline\" slPopoverTrigger>\n No arrow, 8px further\n </button>\n <ng-template slPopoverLayer>\n <div slPopoverContent aria-label=\"Pickup window\">\n <div slPopoverBody>Speedy Express collects between 3:30 and 4:00 PM.</div>\n </div>\n <div slPopoverArrow></div>\n </ng-template>\n </ng-container>\n </div>\n `,\n})\nexport class PopoverArrowAndOffset {}\n",
597
+ "verdict": "example"
598
+ },
599
+ {
600
+ "id": "basic",
601
+ "title": "basic.ts",
602
+ "note": null,
603
+ "language": "ts",
604
+ "source": "import { Component } from '@angular/core';\nimport { SlButton } from '@slotted/angular/button';\nimport {\n SlDescriptionList,\n SlDescriptionListDescription,\n SlDescriptionListItem,\n SlDescriptionListTerm,\n} from '@slotted/angular/description-list';\nimport {\n SlPopover,\n SlPopoverArrow,\n SlPopoverBody,\n SlPopoverClose,\n SlPopoverContent,\n SlPopoverDescription,\n SlPopoverHeader,\n SlPopoverLayer,\n SlPopoverTitle,\n SlPopoverTrigger,\n} from '@slotted/angular/popover';\n\n@Component({\n selector: 'app-popover-basic',\n imports: [\n SlButton,\n SlDescriptionList,\n SlDescriptionListDescription,\n SlDescriptionListItem,\n SlDescriptionListTerm,\n SlPopover,\n SlPopoverArrow,\n SlPopoverBody,\n SlPopoverClose,\n SlPopoverContent,\n SlPopoverDescription,\n SlPopoverHeader,\n SlPopoverLayer,\n SlPopoverTitle,\n SlPopoverTrigger,\n ],\n template: `\n <ng-container slPopover>\n <button slButton tone=\"secondary\" variant=\"outline\" slPopoverTrigger>Chai stock</button>\n <ng-template slPopoverLayer>\n <div slPopoverContent>\n <div slPopoverHeader>\n <div slPopoverTitle>Chai</div>\n <p slPopoverDescription>SKU NW-1001, Seattle warehouse</p>\n <button slPopoverClose></button>\n </div>\n <div slPopoverBody>\n <div slDescriptionList>\n @for (row of stock; track row.term) {\n <div slDescriptionListItem>\n <dt slDescriptionListTerm>{{ row.term }}</dt>\n <dd slDescriptionListDescription>{{ row.value }}</dd>\n </div>\n }\n </div>\n </div>\n </div>\n <div slPopoverArrow></div>\n </ng-template>\n </ng-container>\n `,\n})\nexport class PopoverBasic {\n readonly stock = [\n { term: 'On hand', value: '39 units' },\n { term: 'Reserved', value: '12 units' },\n { term: 'Reorder point', value: '25 units' },\n { term: 'Next delivery', value: 'Oct 14, Exotic Liquids' },\n ];\n}\n",
605
+ "verdict": "example"
606
+ },
607
+ {
608
+ "id": "controlled",
609
+ "title": "controlled.ts",
610
+ "note": null,
611
+ "language": "ts",
612
+ "source": "import { Component, signal } from '@angular/core';\nimport { SlButton } from '@slotted/angular/button';\nimport { SlInline } from '@slotted/angular/inline';\nimport {\n SlPopover,\n SlPopoverArrow,\n SlPopoverBody,\n SlPopoverContent,\n SlPopoverHeader,\n SlPopoverLayer,\n SlPopoverTitle,\n SlPopoverTrigger,\n} from '@slotted/angular/popover';\nimport { SlRadio, SlRadioGroup } from '@slotted/angular/radio-group';\nimport { SlText } from '@slotted/angular/typography';\n\n@Component({\n selector: 'app-popover-controlled',\n imports: [\n SlButton,\n SlInline,\n SlPopover,\n SlPopoverArrow,\n SlPopoverBody,\n SlPopoverContent,\n SlPopoverHeader,\n SlPopoverLayer,\n SlPopoverTitle,\n SlPopoverTrigger,\n SlRadio,\n SlRadioGroup,\n SlText,\n ],\n template: `\n <div slInline align=\"center\" [gap]=\"3\">\n <span slText size=\"sm\">Order 10251, picked by {{ picker() }}</span>\n <ng-container slPopover [(open)]=\"open\" align=\"end\">\n <button slButton size=\"sm\" tone=\"secondary\" variant=\"outline\" slPopoverTrigger>\n Reassign\n </button>\n <ng-template slPopoverLayer>\n <div slPopoverContent>\n <div slPopoverHeader>\n <div slPopoverTitle>Picker for order 10251</div>\n </div>\n <div slPopoverBody>\n <div\n slRadioGroup\n aria-label=\"Picker\"\n [value]=\"picker()\"\n (valueChange)=\"choose($event.value)\"\n >\n @for (name of pickers; track name) {\n <div slRadio [value]=\"name\">{{ name }}</div>\n }\n </div>\n </div>\n </div>\n <div slPopoverArrow></div>\n </ng-template>\n </ng-container>\n </div>\n `,\n})\nexport class PopoverControlled {\n readonly pickers = ['Nancy Davolio', 'Andrew Fuller', 'Janet Leverling', 'Margaret Peacock'];\n readonly open = signal(false);\n readonly picker = signal('Nancy Davolio');\n\n choose(name: string | undefined): void {\n if (name !== undefined) this.picker.set(name);\n this.open.set(false);\n }\n}\n",
613
+ "verdict": "example"
614
+ },
615
+ {
616
+ "id": "defaults",
617
+ "title": "defaults.ts",
618
+ "note": null,
619
+ "language": "ts",
620
+ "source": "import { Component } from '@angular/core';\nimport { SlButton } from '@slotted/angular/button';\nimport { SlInline } from '@slotted/angular/inline';\nimport {\n providePopoverDefaults,\n SlPopover,\n SlPopoverArrow,\n SlPopoverBody,\n SlPopoverContent,\n SlPopoverLayer,\n SlPopoverTrigger,\n} from '@slotted/angular/popover';\n\n@Component({\n selector: 'app-popover-defaults',\n imports: [\n SlButton,\n SlInline,\n SlPopover,\n SlPopoverArrow,\n SlPopoverBody,\n SlPopoverContent,\n SlPopoverLayer,\n SlPopoverTrigger,\n ],\n providers: [providePopoverDefaults({ arrow: false, size: 'sm' })],\n template: `\n <div slInline [gap]=\"3\" justify=\"center\" wrap=\"wrap\">\n @for (term of terms; track term.label) {\n <ng-container slPopover>\n <button slButton tone=\"secondary\" variant=\"outline\" slPopoverTrigger>\n {{ term.label }}\n </button>\n <ng-template slPopoverLayer>\n <div slPopoverContent [attr.aria-label]=\"term.label\">\n <div slPopoverBody>{{ term.text }}</div>\n </div>\n <div slPopoverArrow></div>\n </ng-template>\n </ng-container>\n }\n <ng-container slPopover [arrow]=\"true\">\n <button slButton tone=\"secondary\" variant=\"outline\" slPopoverTrigger>\n Cash in advance\n </button>\n <ng-template slPopoverLayer>\n <div slPopoverContent aria-label=\"Cash in advance\">\n <div slPopoverBody>The order ships once the payment has cleared.</div>\n </div>\n <div slPopoverArrow></div>\n </ng-template>\n </ng-container>\n </div>\n `,\n})\nexport class PopoverDefaults {\n readonly terms = [\n { label: 'Net 30', text: 'Payment is due 30 days after the invoice date.' },\n { label: 'Net 60', text: 'Payment is due 60 days after the invoice date.' },\n ];\n}\n",
621
+ "verdict": "example"
622
+ },
623
+ {
624
+ "id": "form",
625
+ "title": "form.ts",
626
+ "note": null,
627
+ "language": "ts",
628
+ "source": "import { Component, computed, signal } from '@angular/core';\nimport { SlButton } from '@slotted/angular/button';\nimport { SlField, SlFieldLabel } from '@slotted/angular/field';\nimport { SlInline } from '@slotted/angular/inline';\nimport { SlNumberField, SlNumberFieldEnd, SlNumberFieldInput } from '@slotted/angular/number-field';\nimport {\n SlPopover,\n SlPopoverArrow,\n SlPopoverBody,\n SlPopoverContent,\n SlPopoverDescription,\n SlPopoverFooter,\n SlPopoverHeader,\n SlPopoverLayer,\n SlPopoverTitle,\n SlPopoverTrigger,\n type PopoverChangeRequest,\n} from '@slotted/angular/popover';\nimport { SlStack } from '@slotted/angular/stack';\nimport { SlTextField, SlTextFieldInput } from '@slotted/angular/text-field';\nimport { SlText } from '@slotted/angular/typography';\n\n@Component({\n selector: 'app-popover-form',\n imports: [\n SlButton,\n SlField,\n SlFieldLabel,\n SlInline,\n SlNumberField,\n SlNumberFieldEnd,\n SlNumberFieldInput,\n SlPopover,\n SlPopoverArrow,\n SlPopoverBody,\n SlPopoverContent,\n SlPopoverDescription,\n SlPopoverFooter,\n SlPopoverHeader,\n SlPopoverLayer,\n SlPopoverTitle,\n SlPopoverTrigger,\n SlStack,\n SlText,\n SlTextField,\n SlTextFieldInput,\n ],\n template: `\n <div slInline align=\"center\" [gap]=\"3\">\n <span slText size=\"sm\">Chai: {{ onHand() }} units on hand</span>\n <ng-container\n slPopover\n initialFocus=\"input\"\n [(open)]=\"open\"\n (openChangeRequest)=\"guard($event)\"\n >\n <button slButton size=\"sm\" tone=\"secondary\" variant=\"outline\" slPopoverTrigger>\n Adjust stock\n </button>\n <ng-template slPopoverLayer>\n <div slPopoverContent>\n <div slPopoverHeader>\n <div slPopoverTitle>Adjust Chai stock</div>\n <p slPopoverDescription>Seattle warehouse, bin A-14</p>\n </div>\n <div slPopoverBody>\n <div slStack [gap]=\"3\">\n <div slField>\n <label slFieldLabel>Counted quantity</label>\n <div slNumberField>\n <input\n slNumberFieldInput\n min=\"0\"\n [value]=\"count()\"\n (valueChange)=\"count.set($event.value)\"\n />\n <span slNumberFieldEnd>units</span>\n </div>\n </div>\n <div slField>\n <label slFieldLabel>Reason</label>\n <div slTextField>\n <input\n slTextFieldInput\n [value]=\"note()\"\n (valueChange)=\"note.set($event.value)\"\n />\n </div>\n </div>\n </div>\n </div>\n <div slPopoverFooter>\n <button slButton size=\"sm\" tone=\"secondary\" variant=\"ghost\" (click)=\"open.set(false)\">\n Cancel\n </button>\n <button slButton size=\"sm\" [disabled]=\"count() === null\" (click)=\"save()\">\n Save\n </button>\n </div>\n </div>\n <div slPopoverArrow></div>\n </ng-template>\n </ng-container>\n </div>\n `,\n})\nexport class PopoverForm {\n readonly open = signal(false);\n readonly onHand = signal(39);\n readonly count = signal<number | null>(39);\n readonly note = signal('');\n readonly dirty = computed(() => this.count() !== this.onHand() || this.note() !== '');\n\n guard(request: PopoverChangeRequest): void {\n if (!request.value && request.reason === 'outsidePress' && this.dirty()) {\n request.cancel();\n return;\n }\n if (request.value) {\n this.count.set(this.onHand());\n this.note.set('');\n }\n }\n\n save(): void {\n const count = this.count();\n if (count !== null) this.onHand.set(count);\n this.open.set(false);\n }\n}\n",
629
+ "verdict": "example"
630
+ },
631
+ {
632
+ "id": "narrow",
633
+ "title": "narrow.ts",
634
+ "note": null,
635
+ "language": "ts",
636
+ "source": "import { Component } from '@angular/core';\nimport { SlButton } from '@slotted/angular/button';\nimport { SlInline } from '@slotted/angular/inline';\nimport {\n SlPopover,\n SlPopoverArrow,\n SlPopoverBody,\n SlPopoverContent,\n SlPopoverHeader,\n SlPopoverLayer,\n SlPopoverTitle,\n SlPopoverTrigger,\n} from '@slotted/angular/popover';\n\n@Component({\n selector: 'app-popover-narrow',\n imports: [\n SlButton,\n SlInline,\n SlPopover,\n SlPopoverArrow,\n SlPopoverBody,\n SlPopoverContent,\n SlPopoverHeader,\n SlPopoverLayer,\n SlPopoverTitle,\n SlPopoverTrigger,\n ],\n template: `\n <div slInline justify=\"end\">\n <ng-container slPopover align=\"start\" size=\"lg\">\n <button slButton tone=\"secondary\" variant=\"outline\" slPopoverTrigger>Volume pricing</button>\n <ng-template slPopoverLayer>\n <div slPopoverContent>\n <div slPopoverHeader>\n <div slPopoverTitle>Volume pricing for Chai</div>\n </div>\n <div slPopoverBody>\n 18.00 USD a case up to 24 cases, 16.20 USD from 25 cases, and 15.30 USD from 100\n cases. Prices apply to orders shipped from the Seattle warehouse.\n </div>\n </div>\n <div slPopoverArrow></div>\n </ng-template>\n </ng-container>\n </div>\n `,\n})\nexport class PopoverNarrow {}\n",
637
+ "verdict": "example"
638
+ },
639
+ {
640
+ "id": "table-row",
641
+ "title": "table-row.ts",
642
+ "note": null,
643
+ "language": "ts",
644
+ "source": "import { Component } from '@angular/core';\nimport { SlButton } from '@slotted/angular/button';\nimport {\n SlDescriptionList,\n SlDescriptionListDescription,\n SlDescriptionListItem,\n SlDescriptionListTerm,\n} from '@slotted/angular/description-list';\nimport {\n SlPopover,\n SlPopoverAnchor,\n SlPopoverArrow,\n SlPopoverBody,\n SlPopoverClose,\n SlPopoverContent,\n SlPopoverHeader,\n SlPopoverLayer,\n SlPopoverTitle,\n SlPopoverTrigger,\n} from '@slotted/angular/popover';\nimport {\n SlTable,\n SlTableBody,\n SlTableCaption,\n SlTableCell,\n SlTableColumnHeader,\n SlTableContent,\n SlTableHead,\n SlTableRow,\n SlTableRowHeader,\n} from '@slotted/angular/table';\n\n@Component({\n selector: 'app-popover-table-row',\n imports: [\n SlButton,\n SlDescriptionList,\n SlDescriptionListDescription,\n SlDescriptionListItem,\n SlDescriptionListTerm,\n SlPopover,\n SlPopoverAnchor,\n SlPopoverArrow,\n SlPopoverBody,\n SlPopoverClose,\n SlPopoverContent,\n SlPopoverHeader,\n SlPopoverLayer,\n SlPopoverTitle,\n SlPopoverTrigger,\n SlTable,\n SlTableBody,\n SlTableCaption,\n SlTableCell,\n SlTableColumnHeader,\n SlTableContent,\n SlTableHead,\n SlTableRow,\n SlTableRowHeader,\n ],\n template: `\n <div slTable [columns]=\"3\">\n <div slTableContent>\n <caption slTableCaption>\n Shipped orders\n </caption>\n <thead slTableHead>\n <tr slTableRow>\n <th slTableColumnHeader>Order</th>\n <th slTableColumnHeader>Customer</th>\n <th slTableColumnHeader>Shipment</th>\n </tr>\n </thead>\n <tbody slTableBody>\n @for (order of orders; track order.id) {\n <ng-container slPopover align=\"end\">\n <tr slTableRow slPopoverAnchor [value]=\"order.id\">\n <th slTableRowHeader>{{ order.id }}</th>\n <td slTableCell>{{ order.customer }}</td>\n <td slTableCell>\n <button slButton size=\"sm\" tone=\"secondary\" variant=\"ghost\" slPopoverTrigger>\n Tracking\n </button>\n </td>\n </tr>\n <ng-template slPopoverLayer>\n <div slPopoverContent>\n <div slPopoverHeader>\n <div slPopoverTitle>Order {{ order.id }} shipment</div>\n <button slPopoverClose></button>\n </div>\n <div slPopoverBody>\n <div slDescriptionList>\n <div slDescriptionListItem>\n <dt slDescriptionListTerm>Carrier</dt>\n <dd slDescriptionListDescription>{{ order.carrier }}</dd>\n </div>\n <div slDescriptionListItem>\n <dt slDescriptionListTerm>Tracking</dt>\n <dd slDescriptionListDescription>{{ order.tracking }}</dd>\n </div>\n <div slDescriptionListItem>\n <dt slDescriptionListTerm>Shipped</dt>\n <dd slDescriptionListDescription>{{ order.shipped }}</dd>\n </div>\n </div>\n </div>\n </div>\n <div slPopoverArrow></div>\n </ng-template>\n </ng-container>\n }\n </tbody>\n </div>\n </div>\n `,\n})\nexport class PopoverTableRow {\n readonly orders = [\n {\n id: '10248',\n customer: 'Vins et alcools Chevalier',\n carrier: 'Federal Shipping',\n tracking: 'FS-4471-0921',\n shipped: 'Jul 16',\n },\n {\n id: '10249',\n customer: 'Toms Spezialitäten',\n carrier: 'Speedy Express',\n tracking: 'SE-2210-3384',\n shipped: 'Jul 10',\n },\n {\n id: '10250',\n customer: 'Hanari Carnes',\n carrier: 'United Package',\n tracking: 'UP-9035-1172',\n shipped: 'Jul 12',\n },\n ];\n}\n",
645
+ "verdict": "example"
646
+ },
647
+ {
648
+ "id": "toolbar",
649
+ "title": "toolbar.ts",
650
+ "note": null,
651
+ "language": "ts",
652
+ "source": "import { Component, computed, signal } from '@angular/core';\nimport { SlButton } from '@slotted/angular/button';\nimport { SlCheckbox } from '@slotted/angular/checkbox';\nimport { SlCheckboxGroup } from '@slotted/angular/checkbox-group';\nimport {\n SlPopover,\n SlPopoverArrow,\n SlPopoverBody,\n SlPopoverContent,\n SlPopoverHeader,\n SlPopoverLayer,\n SlPopoverTitle,\n SlPopoverTrigger,\n} from '@slotted/angular/popover';\nimport { SlToolbar, SlToolbarSpacer } from '@slotted/angular/toolbar';\nimport { SlText } from '@slotted/angular/typography';\n\n@Component({\n selector: 'app-popover-toolbar',\n imports: [\n SlButton,\n SlCheckbox,\n SlCheckboxGroup,\n SlPopover,\n SlPopoverArrow,\n SlPopoverBody,\n SlPopoverContent,\n SlPopoverHeader,\n SlPopoverLayer,\n SlPopoverTitle,\n SlPopoverTrigger,\n SlText,\n SlToolbar,\n SlToolbarSpacer,\n ],\n template: `\n <div slToolbar aria-label=\"Orders\">\n <ng-container slPopover align=\"start\">\n <button slButton size=\"sm\" tone=\"secondary\" variant=\"ghost\" slPopoverTrigger>Status</button>\n <ng-template slPopoverLayer>\n <div slPopoverContent>\n <div slPopoverHeader>\n <div slPopoverTitle>Show orders that are</div>\n </div>\n <div slPopoverBody>\n <div\n slCheckboxGroup\n aria-label=\"Status\"\n [value]=\"shown()\"\n (valueChange)=\"shown.set($event.value)\"\n >\n @for (status of statuses; track status.value) {\n <div slCheckbox [value]=\"status.value\">{{ status.label }}</div>\n }\n </div>\n </div>\n </div>\n <div slPopoverArrow></div>\n </ng-template>\n </ng-container>\n <ng-container slPopover align=\"start\">\n <button slButton size=\"sm\" tone=\"secondary\" variant=\"ghost\" slPopoverTrigger>\n Columns\n </button>\n <ng-template slPopoverLayer>\n <div slPopoverContent>\n <div slPopoverHeader>\n <div slPopoverTitle>Columns</div>\n </div>\n <div slPopoverBody>\n <div slCheckboxGroup aria-label=\"Columns\" [defaultValue]=\"['customer', 'total']\">\n <div slCheckbox value=\"customer\">Customer</div>\n <div slCheckbox value=\"ship-via\">Ship via</div>\n <div slCheckbox value=\"total\">Total</div>\n </div>\n </div>\n </div>\n <div slPopoverArrow></div>\n </ng-template>\n </ng-container>\n <div slToolbarSpacer></div>\n <span slText size=\"sm\" tone=\"muted\">{{ count() }} orders</span>\n </div>\n `,\n})\nexport class PopoverToolbar {\n readonly statuses = [\n { value: 'pending', label: 'Pending', orders: 14 },\n { value: 'shipped', label: 'Shipped', orders: 27 },\n { value: 'delivered', label: 'Delivered', orders: 112 },\n { value: 'returned', label: 'Returned', orders: 3 },\n ];\n readonly shown = signal<readonly string[]>(['pending', 'shipped']);\n readonly count = computed(() =>\n this.statuses\n .filter((status) => this.shown().includes(status.value))\n .reduce((sum, status) => sum + status.orders, 0),\n );\n}\n",
653
+ "verdict": "example"
654
+ }
655
+ ]
656
+ }