@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,798 @@
1
+ import { isClipped } from '@slotted/core/overflow';
2
+ import { createControllable } from '@slotted/core/state';
3
+ import * as i0 from '@angular/core';
4
+ import { InjectionToken, Injectable, inject, booleanAttribute, numberAttribute, model, input, output, DestroyRef, signal, computed, effect, untracked, Directive, ElementRef, TemplateRef, ViewContainerRef, PLATFORM_ID, ViewEncapsulation, ChangeDetectionStrategy, Component } from '@angular/core';
5
+ import { setPortalContainer, createPortalRoot } from '@slotted/core/portal';
6
+ import { createDismissableLayer } from '@slotted/core/dismissable-layer';
7
+ import { createPositioner } from '@slotted/core/positioner';
8
+ import { createPresence } from '@slotted/core/presence';
9
+ import { isPlatformBrowser } from '@angular/common';
10
+
11
+ /**
12
+ * The numbers, and why they are these numbers.
13
+ *
14
+ * `openDelay` is long enough that a pointer crossing a toolbar opens nothing
15
+ * and short enough that a deliberate hover is answered; `closeDelay` is the
16
+ * window the pointer has to travel onto the layer, and zero makes a hoverable
17
+ * tooltip unreachable; `groupDelay` is what stops a row of icon buttons
18
+ * charging the warmup once per button.
19
+ */
20
+ const TOOLTIP_FALLBACK = {
21
+ align: 'center',
22
+ alignOffset: 0,
23
+ arrow: true,
24
+ arrowPadding: 8,
25
+ closeDelay: 150,
26
+ closeOnPress: true,
27
+ collisionPadding: 8,
28
+ describes: 'description',
29
+ flip: true,
30
+ groupDelay: 400,
31
+ hideWhenDetached: true,
32
+ hoverable: true,
33
+ mount: 'active',
34
+ openDelay: 600,
35
+ openOn: 'hover',
36
+ portal: true,
37
+ shift: true,
38
+ side: 'top',
39
+ sideOffset: 0,
40
+ size: 'md',
41
+ strategy: 'absolute',
42
+ touchDelay: 500,
43
+ variant: 'inverse',
44
+ whenClipped: false,
45
+ };
46
+ const TOOLTIP_DEFAULTS = new InjectionToken('slotted tooltip defaults', {
47
+ providedIn: 'root',
48
+ factory: () => TOOLTIP_FALLBACK,
49
+ });
50
+ /**
51
+ * When the last tooltip in this injector closed. A tooltip asked to open inside
52
+ * `groupDelay` of that moment opens in the same task, so reading a row of icon
53
+ * buttons pays the warmup once. It is held per injector rather than per
54
+ * tooltip, because a value held per tooltip could not say what "the next one"
55
+ * means.
56
+ */
57
+ class SlTooltipGroup {
58
+ lastClosedAt = 0;
59
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlTooltipGroup, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
60
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlTooltipGroup, providedIn: 'root' });
61
+ }
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlTooltipGroup, decorators: [{
63
+ type: Injectable,
64
+ args: [{ providedIn: 'root' }]
65
+ }] });
66
+ /**
67
+ * An application decides once how its tooltips behave and look. A tooltip that
68
+ * states any of them itself still wins.
69
+ *
70
+ * What is stated here is written over the defaults already in force rather than
71
+ * over the fallback, which is what React's provider does and what a family that
72
+ * sets two axes for itself needs: a column header asking for `describes="none"`
73
+ * would otherwise hand the application's own delays back to the fallback.
74
+ *
75
+ * The group is provided beside the defaults, so a component that sets its own
76
+ * defaults also gets its own warmup window — the same scoping React's provider
77
+ * gives.
78
+ */
79
+ function provideTooltipDefaults(defaults) {
80
+ return [
81
+ {
82
+ provide: TOOLTIP_DEFAULTS,
83
+ useFactory: () => ({
84
+ ...(inject(TOOLTIP_DEFAULTS, { optional: true, skipSelf: true }) ?? TOOLTIP_FALLBACK),
85
+ ...defaults,
86
+ }),
87
+ },
88
+ SlTooltipGroup,
89
+ ];
90
+ }
91
+ /** What a tooltip renders as here, before it states anything of its own. */
92
+ function injectTooltipDefaults() {
93
+ return inject(TOOLTIP_DEFAULTS);
94
+ }
95
+ /**
96
+ * Whether `provideSlottedPortalContainer` named a container in this injector.
97
+ * A factory runs only when something injects its token, so `slTooltipLayer`
98
+ * injects this one before it builds a layer.
99
+ */
100
+ const SLOTTED_PORTAL_CONTAINER = new InjectionToken('slotted portal container');
101
+ /**
102
+ * Where every layer is rendered, for the whole application. It calls
103
+ * `setPortalContainer` from `@slotted/core/portal`, which is per document, so
104
+ * an application shell that builds its own stacking context names it once.
105
+ */
106
+ function provideSlottedPortalContainer(container) {
107
+ return {
108
+ provide: SLOTTED_PORTAL_CONTAINER,
109
+ useFactory: () => {
110
+ setPortalContainer(container());
111
+ return true;
112
+ },
113
+ };
114
+ }
115
+ /**
116
+ * Application-scoped rather than module-scoped, for the reason `field` records:
117
+ * a module-level counter produces colliding sequences when two applications
118
+ * render in one server process, and the server and the client sequences have to
119
+ * match for hydration.
120
+ */
121
+ class SlTooltipIdFactory {
122
+ count = 0;
123
+ next() {
124
+ this.count += 1;
125
+ return `slotted-tooltip-${this.count}`;
126
+ }
127
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlTooltipIdFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
128
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlTooltipIdFactory, providedIn: 'root' });
129
+ }
130
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlTooltipIdFactory, decorators: [{
131
+ type: Injectable,
132
+ args: [{ providedIn: 'root' }]
133
+ }] });
134
+
135
+ /** Unstated stays unstated, so a tooltip defers to the provider rather than to `false`. */
136
+ const optionalBoolean = (state) => state === undefined ? undefined : booleanAttribute(state);
137
+ /** Unstated stays unstated, for the same reason, on a number. */
138
+ const optionalNumber = (value) => value === undefined ? undefined : numberAttribute(value);
139
+ /**
140
+ * A short, non-interactive sentence about the element under the pointer or
141
+ * under focus.
142
+ *
143
+ * It is written on an `ng-container`, because it renders nothing: the trigger
144
+ * stays where the consumer wrote it and the layer is portalled to the end of
145
+ * the document, so no one element could hold both. What it holds is the state,
146
+ * the delays, and the values every part reads.
147
+ *
148
+ * The layer never takes focus and never holds a control. The APG's tooltip
149
+ * pattern says so, and names the non-modal dialog for the other case, which is
150
+ * `slPopover`.
151
+ */
152
+ class SlTooltip {
153
+ /** Whether the hint is showing. Two-way, so a template may bind it directly. */
154
+ open = model(false, /* @ts-ignore */
155
+ ...(ngDevMode ? [{ debugName: "open" }] : /* istanbul ignore next */ []));
156
+ /** The state an uncontrolled tooltip starts in, read once in `ngOnInit`. */
157
+ defaultOpen = input(false, { ...(ngDevMode ? { debugName: "defaultOpen" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
158
+ /** The tooltip never opens. The trigger's own `disabled` is the consumer's. */
159
+ disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
160
+ /**
161
+ * Opens only while the trigger's own content is cut by its box — a column
162
+ * header narrowed to `Op…`, a breadcrumb in a rail. The measurement is taken
163
+ * at the moment the hint would open, so a column dragged wider stops opening
164
+ * one without anything being told.
165
+ */
166
+ whenClipped = input(undefined, { ...(ngDevMode ? { debugName: "whenClipped" } : /* istanbul ignore next */ {}), transform: optionalBoolean });
167
+ variant = input(undefined, /* @ts-ignore */
168
+ ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
169
+ size = input(undefined, /* @ts-ignore */
170
+ ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
171
+ describes = input(undefined, /* @ts-ignore */
172
+ ...(ngDevMode ? [{ debugName: "describes" }] : /* istanbul ignore next */ []));
173
+ openOn = input(undefined, /* @ts-ignore */
174
+ ...(ngDevMode ? [{ debugName: "openOn" }] : /* istanbul ignore next */ []));
175
+ side = input(undefined, /* @ts-ignore */
176
+ ...(ngDevMode ? [{ debugName: "side" }] : /* istanbul ignore next */ []));
177
+ align = input(undefined, /* @ts-ignore */
178
+ ...(ngDevMode ? [{ debugName: "align" }] : /* istanbul ignore next */ []));
179
+ mount = input(undefined, /* @ts-ignore */
180
+ ...(ngDevMode ? [{ debugName: "mount" }] : /* istanbul ignore next */ []));
181
+ strategy = input(undefined, /* @ts-ignore */
182
+ ...(ngDevMode ? [{ debugName: "strategy" }] : /* istanbul ignore next */ []));
183
+ arrow = input(undefined, { ...(ngDevMode ? { debugName: "arrow" } : /* istanbul ignore next */ {}), transform: optionalBoolean });
184
+ hoverable = input(undefined, { ...(ngDevMode ? { debugName: "hoverable" } : /* istanbul ignore next */ {}), transform: optionalBoolean });
185
+ closeOnPress = input(undefined, { ...(ngDevMode ? { debugName: "closeOnPress" } : /* istanbul ignore next */ {}), transform: optionalBoolean });
186
+ flip = input(undefined, { ...(ngDevMode ? { debugName: "flip" } : /* istanbul ignore next */ {}), transform: optionalBoolean });
187
+ shift = input(undefined, { ...(ngDevMode ? { debugName: "shift" } : /* istanbul ignore next */ {}), transform: optionalBoolean });
188
+ hideWhenDetached = input(undefined, { ...(ngDevMode ? { debugName: "hideWhenDetached" } : /* istanbul ignore next */ {}), transform: optionalBoolean });
189
+ portal = input(undefined, { ...(ngDevMode ? { debugName: "portal" } : /* istanbul ignore next */ {}), transform: optionalBoolean });
190
+ openDelay = input(undefined, { ...(ngDevMode ? { debugName: "openDelay" } : /* istanbul ignore next */ {}), transform: optionalNumber });
191
+ closeDelay = input(undefined, { ...(ngDevMode ? { debugName: "closeDelay" } : /* istanbul ignore next */ {}), transform: optionalNumber });
192
+ touchDelay = input(undefined, { ...(ngDevMode ? { debugName: "touchDelay" } : /* istanbul ignore next */ {}), transform: optionalNumber });
193
+ sideOffset = input(undefined, { ...(ngDevMode ? { debugName: "sideOffset" } : /* istanbul ignore next */ {}), transform: optionalNumber });
194
+ alignOffset = input(undefined, { ...(ngDevMode ? { debugName: "alignOffset" } : /* istanbul ignore next */ {}), transform: optionalNumber });
195
+ collisionPadding = input(undefined, { ...(ngDevMode ? { debugName: "collisionPadding" } : /* istanbul ignore next */ {}), transform: optionalNumber });
196
+ arrowPadding = input(undefined, { ...(ngDevMode ? { debugName: "arrowPadding" } : /* istanbul ignore next */ {}), transform: optionalNumber });
197
+ /** One output for one transition, carrying the reason and the event. */
198
+ openChangeRequest = output();
199
+ defaults = injectTooltipDefaults();
200
+ group = inject(SlTooltipGroup);
201
+ destroyRef = inject(DestroyRef);
202
+ contentId = `${inject(SlTooltipIdFactory).next()}-content`;
203
+ /** The elements the parts register, which the layer measures and listens to. */
204
+ triggerNode = signal(null, /* @ts-ignore */
205
+ ...(ngDevMode ? [{ debugName: "triggerNode" }] : /* istanbul ignore next */ []));
206
+ arrowNode = signal(null, /* @ts-ignore */
207
+ ...(ngDevMode ? [{ debugName: "arrowNode" }] : /* istanbul ignore next */ []));
208
+ isOpen = computed(() => this.open() && !this.disabled(), /* @ts-ignore */
209
+ ...(ngDevMode ? [{ debugName: "isOpen" }] : /* istanbul ignore next */ []));
210
+ resolvedVariant = computed(() => this.variant() ?? this.defaults.variant, /* @ts-ignore */
211
+ ...(ngDevMode ? [{ debugName: "resolvedVariant" }] : /* istanbul ignore next */ []));
212
+ resolvedSize = computed(() => this.size() ?? this.defaults.size, /* @ts-ignore */
213
+ ...(ngDevMode ? [{ debugName: "resolvedSize" }] : /* istanbul ignore next */ []));
214
+ resolvedDescribes = computed(() => this.describes() ?? this.defaults.describes, /* @ts-ignore */
215
+ ...(ngDevMode ? [{ debugName: "resolvedDescribes" }] : /* istanbul ignore next */ []));
216
+ resolvedWhenClipped = computed(() => this.whenClipped() ?? this.defaults.whenClipped, /* @ts-ignore */
217
+ ...(ngDevMode ? [{ debugName: "resolvedWhenClipped" }] : /* istanbul ignore next */ []));
218
+ resolvedOpenOn = computed(() => this.openOn() ?? this.defaults.openOn, /* @ts-ignore */
219
+ ...(ngDevMode ? [{ debugName: "resolvedOpenOn" }] : /* istanbul ignore next */ []));
220
+ resolvedSide = computed(() => this.side() ?? this.defaults.side, /* @ts-ignore */
221
+ ...(ngDevMode ? [{ debugName: "resolvedSide" }] : /* istanbul ignore next */ []));
222
+ resolvedAlign = computed(() => this.align() ?? this.defaults.align, /* @ts-ignore */
223
+ ...(ngDevMode ? [{ debugName: "resolvedAlign" }] : /* istanbul ignore next */ []));
224
+ resolvedStrategy = computed(() => this.strategy() ?? this.defaults.strategy, /* @ts-ignore */
225
+ ...(ngDevMode ? [{ debugName: "resolvedStrategy" }] : /* istanbul ignore next */ []));
226
+ resolvedArrow = computed(() => (this.arrow() ?? this.defaults.arrow) === true, /* @ts-ignore */
227
+ ...(ngDevMode ? [{ debugName: "resolvedArrow" }] : /* istanbul ignore next */ []));
228
+ resolvedHoverable = computed(() => (this.hoverable() ?? this.defaults.hoverable) === true, /* @ts-ignore */
229
+ ...(ngDevMode ? [{ debugName: "resolvedHoverable" }] : /* istanbul ignore next */ []));
230
+ resolvedCloseOnPress = computed(() => (this.closeOnPress() ?? this.defaults.closeOnPress) === true, /* @ts-ignore */
231
+ ...(ngDevMode ? [{ debugName: "resolvedCloseOnPress" }] : /* istanbul ignore next */ []));
232
+ resolvedFlip = computed(() => (this.flip() ?? this.defaults.flip) === true, /* @ts-ignore */
233
+ ...(ngDevMode ? [{ debugName: "resolvedFlip" }] : /* istanbul ignore next */ []));
234
+ resolvedShift = computed(() => (this.shift() ?? this.defaults.shift) === true, /* @ts-ignore */
235
+ ...(ngDevMode ? [{ debugName: "resolvedShift" }] : /* istanbul ignore next */ []));
236
+ resolvedHideWhenDetached = computed(() => (this.hideWhenDetached() ?? this.defaults.hideWhenDetached) === true, /* @ts-ignore */
237
+ ...(ngDevMode ? [{ debugName: "resolvedHideWhenDetached" }] : /* istanbul ignore next */ []));
238
+ resolvedPortal = computed(() => (this.portal() ?? this.defaults.portal) === true, /* @ts-ignore */
239
+ ...(ngDevMode ? [{ debugName: "resolvedPortal" }] : /* istanbul ignore next */ []));
240
+ resolvedSideOffset = computed(() => this.sideOffset() ?? this.defaults.sideOffset, /* @ts-ignore */
241
+ ...(ngDevMode ? [{ debugName: "resolvedSideOffset" }] : /* istanbul ignore next */ []));
242
+ resolvedAlignOffset = computed(() => this.alignOffset() ?? this.defaults.alignOffset, /* @ts-ignore */
243
+ ...(ngDevMode ? [{ debugName: "resolvedAlignOffset" }] : /* istanbul ignore next */ []));
244
+ resolvedCollisionPadding = computed(() => this.collisionPadding() ?? this.defaults.collisionPadding, /* @ts-ignore */
245
+ ...(ngDevMode ? [{ debugName: "resolvedCollisionPadding" }] : /* istanbul ignore next */ []));
246
+ resolvedArrowPadding = computed(() => this.arrowPadding() ?? this.defaults.arrowPadding, /* @ts-ignore */
247
+ ...(ngDevMode ? [{ debugName: "resolvedArrowPadding" }] : /* istanbul ignore next */ []));
248
+ /**
249
+ * Under `label` the layer is the trigger's accessible name, so it has to be
250
+ * in the document before it is ever opened. Forcing the axis is deliberate:
251
+ * the alternative is a button silently announced as "button".
252
+ */
253
+ resolvedMount = computed(() => this.resolvedDescribes() === 'label' ? 'eager' : (this.mount() ?? this.defaults.mount), /* @ts-ignore */
254
+ ...(ngDevMode ? [{ debugName: "resolvedMount" }] : /* istanbul ignore next */ []));
255
+ everOpened = signal(false, /* @ts-ignore */
256
+ ...(ngDevMode ? [{ debugName: "everOpened" }] : /* istanbul ignore next */ []));
257
+ seen = computed(() => this.everOpened() || this.isOpen(), /* @ts-ignore */
258
+ ...(ngDevMode ? [{ debugName: "seen" }] : /* istanbul ignore next */ []));
259
+ /**
260
+ * One timer for the whole family. An open waiting on `openDelay`, a close
261
+ * waiting on `closeDelay` and a long press waiting on `touchDelay` are never
262
+ * pending at once — each cancels the others.
263
+ */
264
+ timer;
265
+ constructor() {
266
+ this.destroyRef.onDestroy(() => this.cancelPending());
267
+ /** Disabling cancels a waiting open and drops an open one, so enabling opens nothing. */
268
+ effect(() => {
269
+ if (!this.disabled())
270
+ return;
271
+ untracked(() => {
272
+ this.cancelPending();
273
+ if (this.open())
274
+ this.open.set(false);
275
+ });
276
+ });
277
+ }
278
+ /**
279
+ * Read here rather than in the constructor, because inputs are not set yet
280
+ * there, and once: a later change to it is not new state.
281
+ */
282
+ ngOnInit() {
283
+ if (this.defaultOpen() && !this.open())
284
+ this.open.set(true);
285
+ }
286
+ cancelPending() {
287
+ if (this.timer !== undefined)
288
+ clearTimeout(this.timer);
289
+ this.timer = undefined;
290
+ }
291
+ /** Opens after `openDelay`, or in the same task inside the group window. */
292
+ openAfterDelay(source) {
293
+ this.cancelPending();
294
+ const delay = this.openDelay() ?? this.defaults.openDelay;
295
+ const sinceLast = Date.now() - this.group.lastClosedAt;
296
+ if (delay <= 0 || sinceLast < this.defaults.groupDelay) {
297
+ this.toggle(true, 'pointer', source);
298
+ return;
299
+ }
300
+ this.timer = setTimeout(() => this.toggle(true, 'pointer', source), delay);
301
+ }
302
+ /** Closes after `closeDelay`, which is the window the pointer has to reach the layer. */
303
+ closeAfterDelay(source) {
304
+ this.cancelPending();
305
+ const delay = this.closeDelay() ?? this.defaults.closeDelay;
306
+ if (delay <= 0) {
307
+ this.toggle(false, 'pointer', source);
308
+ return;
309
+ }
310
+ this.timer = setTimeout(() => this.toggle(false, 'pointer', source), delay);
311
+ }
312
+ /** A coarse pointer has no hover, so a press held still opens the hint. */
313
+ pressAndHold(source) {
314
+ this.cancelPending();
315
+ const delay = this.touchDelay() ?? this.defaults.touchDelay;
316
+ this.timer = setTimeout(() => this.toggle(true, 'pointer', source), delay);
317
+ }
318
+ /** Opens now, ignoring every delay. One of the two imperative actions. */
319
+ show() {
320
+ this.toggle(true, 'programmatic');
321
+ }
322
+ /** Closes now. */
323
+ hide() {
324
+ this.toggle(false, 'programmatic');
325
+ }
326
+ toggle(next, reason, source) {
327
+ this.cancelPending();
328
+ if (next === this.isOpen())
329
+ return;
330
+ /**
331
+ * Refused rather than recorded: an open granted while disabled is hidden by
332
+ * `isOpen`, and the leave that follows finds nothing to close, so it would
333
+ * surface the moment `disabled` turned false.
334
+ */
335
+ if (next && this.disabled())
336
+ return;
337
+ /**
338
+ * Measured here rather than watched: the answer is needed at the moment the
339
+ * hint would open, and a box measured then is never a box two column drags
340
+ * old.
341
+ */
342
+ const trigger = this.triggerNode();
343
+ if (next && this.resolvedWhenClipped() && trigger !== null && !isClipped(trigger))
344
+ return;
345
+ let cancelled = false;
346
+ const state = createControllable({
347
+ initial: this.isOpen(),
348
+ onRequest: (request) => {
349
+ this.openChangeRequest.emit(request);
350
+ cancelled = request.cancelled;
351
+ },
352
+ });
353
+ const moved = state.request(next, reason, source);
354
+ if (cancelled)
355
+ return;
356
+ if (next)
357
+ this.everOpened.set(true);
358
+ /**
359
+ * The window the next tooltip opens instantly inside starts when this one
360
+ * closes, so a reader crossing a toolbar pays one warmup.
361
+ */
362
+ if (!next)
363
+ this.group.lastClosedAt = Date.now();
364
+ if (moved)
365
+ this.open.set(next);
366
+ }
367
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlTooltip, deps: [], target: i0.ɵɵFactoryTarget.Directive });
368
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.7", type: SlTooltip, isStandalone: true, selector: "[slTooltip]", inputs: { open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, defaultOpen: { classPropertyName: "defaultOpen", publicName: "defaultOpen", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, whenClipped: { classPropertyName: "whenClipped", publicName: "whenClipped", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, describes: { classPropertyName: "describes", publicName: "describes", isSignal: true, isRequired: false, transformFunction: null }, openOn: { classPropertyName: "openOn", publicName: "openOn", isSignal: true, isRequired: false, transformFunction: null }, side: { classPropertyName: "side", publicName: "side", isSignal: true, isRequired: false, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, mount: { classPropertyName: "mount", publicName: "mount", isSignal: true, isRequired: false, transformFunction: null }, strategy: { classPropertyName: "strategy", publicName: "strategy", isSignal: true, isRequired: false, transformFunction: null }, arrow: { classPropertyName: "arrow", publicName: "arrow", isSignal: true, isRequired: false, transformFunction: null }, hoverable: { classPropertyName: "hoverable", publicName: "hoverable", isSignal: true, isRequired: false, transformFunction: null }, closeOnPress: { classPropertyName: "closeOnPress", publicName: "closeOnPress", isSignal: true, isRequired: false, transformFunction: null }, flip: { classPropertyName: "flip", publicName: "flip", isSignal: true, isRequired: false, transformFunction: null }, shift: { classPropertyName: "shift", publicName: "shift", isSignal: true, isRequired: false, transformFunction: null }, hideWhenDetached: { classPropertyName: "hideWhenDetached", publicName: "hideWhenDetached", isSignal: true, isRequired: false, transformFunction: null }, portal: { classPropertyName: "portal", publicName: "portal", isSignal: true, isRequired: false, transformFunction: null }, openDelay: { classPropertyName: "openDelay", publicName: "openDelay", isSignal: true, isRequired: false, transformFunction: null }, closeDelay: { classPropertyName: "closeDelay", publicName: "closeDelay", isSignal: true, isRequired: false, transformFunction: null }, touchDelay: { classPropertyName: "touchDelay", publicName: "touchDelay", isSignal: true, isRequired: false, transformFunction: null }, sideOffset: { classPropertyName: "sideOffset", publicName: "sideOffset", isSignal: true, isRequired: false, transformFunction: null }, alignOffset: { classPropertyName: "alignOffset", publicName: "alignOffset", isSignal: true, isRequired: false, transformFunction: null }, collisionPadding: { classPropertyName: "collisionPadding", publicName: "collisionPadding", isSignal: true, isRequired: false, transformFunction: null }, arrowPadding: { classPropertyName: "arrowPadding", publicName: "arrowPadding", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { open: "openChange", openChangeRequest: "openChangeRequest" }, exportAs: ["slTooltip"], ngImport: i0 });
369
+ }
370
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlTooltip, decorators: [{
371
+ type: Directive,
372
+ args: [{
373
+ selector: '[slTooltip]',
374
+ standalone: true,
375
+ exportAs: 'slTooltip',
376
+ }]
377
+ }], ctorParameters: () => [], propDecorators: { open: [{ type: i0.Input, args: [{ isSignal: true, alias: "open", required: false }] }, { type: i0.Output, args: ["openChange"] }], defaultOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultOpen", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], whenClipped: [{ type: i0.Input, args: [{ isSignal: true, alias: "whenClipped", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], describes: [{ type: i0.Input, args: [{ isSignal: true, alias: "describes", required: false }] }], openOn: [{ type: i0.Input, args: [{ isSignal: true, alias: "openOn", required: false }] }], side: [{ type: i0.Input, args: [{ isSignal: true, alias: "side", required: false }] }], align: [{ type: i0.Input, args: [{ isSignal: true, alias: "align", required: false }] }], mount: [{ type: i0.Input, args: [{ isSignal: true, alias: "mount", required: false }] }], strategy: [{ type: i0.Input, args: [{ isSignal: true, alias: "strategy", required: false }] }], arrow: [{ type: i0.Input, args: [{ isSignal: true, alias: "arrow", required: false }] }], hoverable: [{ type: i0.Input, args: [{ isSignal: true, alias: "hoverable", required: false }] }], closeOnPress: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeOnPress", required: false }] }], flip: [{ type: i0.Input, args: [{ isSignal: true, alias: "flip", required: false }] }], shift: [{ type: i0.Input, args: [{ isSignal: true, alias: "shift", required: false }] }], hideWhenDetached: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideWhenDetached", required: false }] }], portal: [{ type: i0.Input, args: [{ isSignal: true, alias: "portal", required: false }] }], openDelay: [{ type: i0.Input, args: [{ isSignal: true, alias: "openDelay", required: false }] }], closeDelay: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeDelay", required: false }] }], touchDelay: [{ type: i0.Input, args: [{ isSignal: true, alias: "touchDelay", required: false }] }], sideOffset: [{ type: i0.Input, args: [{ isSignal: true, alias: "sideOffset", required: false }] }], alignOffset: [{ type: i0.Input, args: [{ isSignal: true, alias: "alignOffset", required: false }] }], collisionPadding: [{ type: i0.Input, args: [{ isSignal: true, alias: "collisionPadding", required: false }] }], arrowPadding: [{ type: i0.Input, args: [{ isSignal: true, alias: "arrowPadding", required: false }] }], openChangeRequest: [{ type: i0.Output, args: ["openChangeRequest"] }] } });
378
+
379
+ /**
380
+ * The element the hint is about.
381
+ *
382
+ * The directive goes on the consumer's own control, which is what this
383
+ * ecosystem composes with. It writes the ARIA relationship and `data-open` and
384
+ * **no `data-part`**: `data-part` names a part of the family that owns the
385
+ * element, and sixteen stylesheets in this repository key on
386
+ * `[data-part='root']`, so claiming a `slBadge` or a `slCheckbox` used as a
387
+ * trigger would unstyle it and nothing would report it.
388
+ *
389
+ * A control the page disabled with the native attribute fires no pointer events
390
+ * at all, so the one explanation of why it is disabled would be unreachable.
391
+ * The reference page shows the two shapes that work: `aria-disabled` on a
392
+ * control that stays focusable, or a wrapping element carrying the trigger.
393
+ */
394
+ class SlTooltipTrigger {
395
+ tooltip = inject(SlTooltip);
396
+ native = inject(ElementRef).nativeElement;
397
+ holding = false;
398
+ /**
399
+ * Named by the layer under `label`, described by it otherwise. Under `none`
400
+ * the trigger references nothing: it already says the words.
401
+ */
402
+ names = computed(() => this.tooltip.resolvedDescribes() !== 'none' &&
403
+ (this.tooltip.isOpen() || this.tooltip.resolvedDescribes() === 'label'), /* @ts-ignore */
404
+ ...(ngDevMode ? [{ debugName: "names" }] : /* istanbul ignore next */ []));
405
+ describedBy = computed(() => this.names() && this.tooltip.resolvedDescribes() === 'description'
406
+ ? this.tooltip.contentId
407
+ : null, /* @ts-ignore */
408
+ ...(ngDevMode ? [{ debugName: "describedBy" }] : /* istanbul ignore next */ []));
409
+ labelledBy = computed(() => this.names() && this.tooltip.resolvedDescribes() === 'label' ? this.tooltip.contentId : null, /* @ts-ignore */
410
+ ...(ngDevMode ? [{ debugName: "labelledBy" }] : /* istanbul ignore next */ []));
411
+ constructor() {
412
+ this.tooltip.triggerNode.set(this.native);
413
+ inject(DestroyRef).onDestroy(() => this.tooltip.triggerNode.set(null));
414
+ }
415
+ onPointerEnter(event) {
416
+ if (this.tooltip.resolvedOpenOn() !== 'hover' || event.pointerType === 'touch')
417
+ return;
418
+ this.tooltip.openAfterDelay(event);
419
+ }
420
+ onPointerLeave(event) {
421
+ this.holding = false;
422
+ if (this.tooltip.resolvedOpenOn() === 'manual')
423
+ return;
424
+ this.tooltip.closeAfterDelay(event);
425
+ }
426
+ onPointerDown(event) {
427
+ if (event.pointerType === 'touch') {
428
+ this.holding = true;
429
+ this.tooltip.pressAndHold(event);
430
+ return;
431
+ }
432
+ if (this.tooltip.resolvedCloseOnPress() && this.tooltip.isOpen()) {
433
+ this.tooltip.toggle(false, 'pointer', event);
434
+ }
435
+ }
436
+ onPointerRelease() {
437
+ if (!this.holding)
438
+ return;
439
+ this.holding = false;
440
+ this.tooltip.cancelPending();
441
+ }
442
+ /**
443
+ * `:focus-visible` rather than every focus. A pointer press focuses a button
444
+ * too, and a tooltip opened by it would arrive before the delay it was given
445
+ * and stay after the press that was meant to dismiss it.
446
+ */
447
+ onFocus(event) {
448
+ if (this.tooltip.resolvedOpenOn() === 'manual')
449
+ return;
450
+ if (!this.native.matches(':focus-visible'))
451
+ return;
452
+ this.tooltip.toggle(true, 'keyboard', event);
453
+ }
454
+ onBlur(event) {
455
+ if (this.tooltip.resolvedOpenOn() === 'manual')
456
+ return;
457
+ this.tooltip.toggle(false, 'blur', event);
458
+ }
459
+ /**
460
+ * A click synthesised by the keyboard reports no detail; a real one reports
461
+ * the click count. It is how `Enter` and `Space` are told from a press
462
+ * without a key listener existing for either.
463
+ */
464
+ onClick(event) {
465
+ if (!this.tooltip.resolvedCloseOnPress() || !this.tooltip.isOpen())
466
+ return;
467
+ this.tooltip.toggle(false, event.detail === 0 ? 'keyboard' : 'pointer', event);
468
+ }
469
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlTooltipTrigger, deps: [], target: i0.ɵɵFactoryTarget.Directive });
470
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.7", type: SlTooltipTrigger, isStandalone: true, selector: "[slTooltipTrigger]", host: { listeners: { "pointerenter": "onPointerEnter($event)", "pointerleave": "onPointerLeave($event)", "pointerdown": "onPointerDown($event)", "pointerup": "onPointerRelease()", "pointercancel": "onPointerRelease()", "focus": "onFocus($event)", "blur": "onBlur($event)", "click": "onClick($event)" }, properties: { "attr.aria-describedby": "describedBy()", "attr.aria-labelledby": "labelledBy()", "attr.data-open": "tooltip.isOpen() ? '' : null" } }, exportAs: ["slTooltipTrigger"], ngImport: i0 });
471
+ }
472
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlTooltipTrigger, decorators: [{
473
+ type: Directive,
474
+ args: [{
475
+ selector: '[slTooltipTrigger]',
476
+ standalone: true,
477
+ exportAs: 'slTooltipTrigger',
478
+ host: {
479
+ '[attr.aria-describedby]': 'describedBy()',
480
+ '[attr.aria-labelledby]': 'labelledBy()',
481
+ '[attr.data-open]': "tooltip.isOpen() ? '' : null",
482
+ '(pointerenter)': 'onPointerEnter($event)',
483
+ '(pointerleave)': 'onPointerLeave($event)',
484
+ '(pointerdown)': 'onPointerDown($event)',
485
+ '(pointerup)': 'onPointerRelease()',
486
+ '(pointercancel)': 'onPointerRelease()',
487
+ '(focus)': 'onFocus($event)',
488
+ '(blur)': 'onBlur($event)',
489
+ '(click)': 'onClick($event)',
490
+ },
491
+ }]
492
+ }], ctorParameters: () => [] });
493
+ /**
494
+ * The positioned layer, built from a template rather than from an element.
495
+ *
496
+ * `mount="active"` means the layer exists only while it is open, and a
497
+ * component cannot remove its own host element — so the consumer writes an
498
+ * `ng-template` and this directive builds the layer around the stamped view.
499
+ * It is the shape `ng-template[slCollapsibleContent]` already uses here, and
500
+ * Angular Material's `matExpansionPanelContent` before it.
501
+ *
502
+ * The element it builds is what `packages/core/src/positioner` writes
503
+ * `position`, `left` and `top` onto, and the one that scales and fades; its
504
+ * padding is the gap the pointer crosses onto a hoverable tooltip.
505
+ */
506
+ class SlTooltipLayer {
507
+ tooltip = inject(SlTooltip);
508
+ template = inject((TemplateRef));
509
+ viewContainer = inject(ViewContainerRef);
510
+ comment = this.viewContainer.element.nativeElement;
511
+ /**
512
+ * Angular's server document is not the page. There the layer stays where the
513
+ * template wrote it, as React's server markup has it, and nothing measures,
514
+ * stacks or moves it into a portal.
515
+ */
516
+ browser = isPlatformBrowser(inject(PLATFORM_ID));
517
+ /** Where the arrow stood in the layer while `arrow` is false. */
518
+ arrowPlace = null;
519
+ /**
520
+ * A signal rather than a field, and the reason is a defect the first spec run
521
+ * found: the effects that place, stack and paint the layer all read it, and
522
+ * with a plain field none of them re-ran when `build()` filled it in a later
523
+ * flush. The layer existed and carried no attribute the stylesheet reads.
524
+ */
525
+ layerNode = signal(null, /* @ts-ignore */
526
+ ...(ngDevMode ? [{ debugName: "layerNode" }] : /* istanbul ignore next */ []));
527
+ view = null;
528
+ portal = null;
529
+ positioner = null;
530
+ dismissable = null;
531
+ releaseBridge = null;
532
+ status = signal('unmounted', /* @ts-ignore */
533
+ ...(ngDevMode ? [{ debugName: "status" }] : /* istanbul ignore next */ []));
534
+ positioned = signal(false, /* @ts-ignore */
535
+ ...(ngDevMode ? [{ debugName: "positioned" }] : /* istanbul ignore next */ []));
536
+ presence = createPresence({
537
+ present: false,
538
+ onStatusChange: (next) => this.status.set(next),
539
+ });
540
+ /**
541
+ * `active` drops the layer after the exit, `lazy` keeps it once it has been
542
+ * open, `eager` never removes it — which is what `describes="label"` forces,
543
+ * because an accessible name has to exist before it is read.
544
+ */
545
+ mounted = computed(() => {
546
+ const mount = this.tooltip.resolvedMount();
547
+ if (mount === 'eager')
548
+ return true;
549
+ if (mount === 'lazy')
550
+ return this.tooltip.seen();
551
+ return this.status() !== 'unmounted';
552
+ }, /* @ts-ignore */
553
+ ...(ngDevMode ? [{ debugName: "mounted" }] : /* istanbul ignore next */ []));
554
+ constructor() {
555
+ /* Injected for its side effect: the factory of
556
+ `provideSlottedPortalContainer` names the document's portal container,
557
+ and runs only when something asks for its token — before the first layer
558
+ asks `createPortalRoot` for a container. */
559
+ inject(SLOTTED_PORTAL_CONTAINER, { optional: true });
560
+ effect(() => this.presence.sync(this.tooltip.isOpen()));
561
+ effect(() => (this.mounted() ? this.build() : this.teardown()));
562
+ effect(() => this.place());
563
+ effect(() => this.stack());
564
+ effect(() => this.paint());
565
+ inject(DestroyRef).onDestroy(() => {
566
+ this.presence.destroy();
567
+ this.teardown();
568
+ });
569
+ }
570
+ /** Measures and places the layer again. The imperative action of this part. */
571
+ reposition() {
572
+ void this.positioner?.update();
573
+ }
574
+ build() {
575
+ if (this.layerNode() !== null)
576
+ return;
577
+ const document = this.comment.ownerDocument;
578
+ const layer = document.createElement('div');
579
+ layer.setAttribute('data-ui', 'tooltip');
580
+ layer.setAttribute('data-part', 'root');
581
+ const view = this.viewContainer.createEmbeddedView(this.template);
582
+ view.detectChanges();
583
+ for (const node of view.rootNodes)
584
+ layer.appendChild(node);
585
+ const portal = this.browser
586
+ ? createPortalRoot({
587
+ origin: this.tooltip.triggerNode(),
588
+ disabled: !this.tooltip.resolvedPortal(),
589
+ })
590
+ : null;
591
+ const container = portal?.container ?? this.comment.parentNode;
592
+ if (container === this.comment.parentNode)
593
+ container?.insertBefore(layer, this.comment);
594
+ else
595
+ container?.appendChild(layer);
596
+ this.view = view;
597
+ this.portal = portal;
598
+ this.releaseBridge = bindHoverBridge(layer, this.tooltip);
599
+ this.presence.setNode(layer);
600
+ this.layerNode.set(layer);
601
+ }
602
+ teardown() {
603
+ this.releaseBridge?.();
604
+ this.releaseBridge = null;
605
+ this.positioner?.destroy();
606
+ this.positioner = null;
607
+ this.dismissable?.destroy();
608
+ this.dismissable = null;
609
+ this.presence.setNode(null);
610
+ this.layerNode()?.remove();
611
+ this.layerNode.set(null);
612
+ this.view?.destroy();
613
+ this.view = null;
614
+ this.portal?.release();
615
+ this.portal = null;
616
+ this.arrowPlace = null;
617
+ this.positioned.set(false);
618
+ }
619
+ /** Rebuilt whenever an option it was created with changes. */
620
+ place() {
621
+ const layer = this.layerNode();
622
+ const anchor = this.tooltip.triggerNode();
623
+ const options = {
624
+ align: this.tooltip.resolvedAlign(),
625
+ alignOffset: this.tooltip.resolvedAlignOffset(),
626
+ boundaryPadding: this.tooltip.resolvedCollisionPadding(),
627
+ flip: this.tooltip.resolvedFlip(),
628
+ hideWhenDetached: this.tooltip.resolvedHideWhenDetached(),
629
+ shift: this.tooltip.resolvedShift(),
630
+ side: this.tooltip.resolvedSide(),
631
+ sideOffset: this.tooltip.resolvedSideOffset(),
632
+ strategy: this.tooltip.resolvedStrategy(),
633
+ };
634
+ const arrow = this.tooltip.resolvedArrow() ? this.tooltip.arrowNode() : null;
635
+ this.positioner?.destroy();
636
+ this.positioner = null;
637
+ if (layer === null || anchor === null || !this.browser)
638
+ return;
639
+ this.positioner = createPositioner(anchor, layer, {
640
+ ...options,
641
+ ...(arrow ? { arrow, arrowPadding: this.tooltip.resolvedArrowPadding() } : {}),
642
+ });
643
+ void this.positioner.update().then(() => this.positioned.set(true));
644
+ }
645
+ /**
646
+ * The layer joins the single stack only while it is open, so its depth is its
647
+ * real position among the layers a reader has opened. Escape reaches the
648
+ * topmost layer alone; the trigger is a branch, so pressing it is not an
649
+ * outside press and the family closes on it deliberately instead.
650
+ */
651
+ stack() {
652
+ const layer = this.layerNode();
653
+ const open = this.tooltip.isOpen();
654
+ const trigger = this.tooltip.triggerNode();
655
+ this.dismissable?.destroy();
656
+ this.dismissable = null;
657
+ if (layer === null || !open || !this.browser)
658
+ return;
659
+ this.dismissable = createDismissableLayer(layer, {
660
+ escape: true,
661
+ focusOutside: false,
662
+ modal: false,
663
+ outsidePress: true,
664
+ scrollLock: false,
665
+ ...(trigger ? { branches: [trigger] } : {}),
666
+ onDismiss: (request) => {
667
+ this.tooltip.toggle(false, request.reason === 'escape' ? 'escape' : 'pointer', request.source);
668
+ },
669
+ });
670
+ }
671
+ /** Every attribute the stylesheet reads, and the two listeners hoverable needs. */
672
+ paint() {
673
+ const layer = this.layerNode();
674
+ if (layer === null)
675
+ return;
676
+ layer.setAttribute('data-align', this.tooltip.resolvedAlign());
677
+ layer.setAttribute('data-size', this.tooltip.resolvedSize());
678
+ layer.setAttribute('data-variant', this.tooltip.resolvedVariant());
679
+ toggleAttribute(layer, 'data-hoverable', this.tooltip.resolvedHoverable());
680
+ toggleAttribute(layer, 'data-open', this.tooltip.isOpen() && this.positioned());
681
+ this.showArrow(layer);
682
+ }
683
+ /**
684
+ * The arrow is the consumer's element inside the template, so under
685
+ * `arrow="false"` the layer takes it out — React's arrow renders nothing
686
+ * then — and puts it back in the same place under `true`.
687
+ */
688
+ showArrow(layer) {
689
+ const arrow = this.tooltip.arrowNode();
690
+ if (arrow === null)
691
+ return;
692
+ if (this.tooltip.resolvedArrow()) {
693
+ this.arrowPlace?.replaceWith(arrow);
694
+ this.arrowPlace = null;
695
+ return;
696
+ }
697
+ if (this.arrowPlace !== null || !layer.contains(arrow))
698
+ return;
699
+ this.arrowPlace = layer.ownerDocument.createComment('');
700
+ arrow.replaceWith(this.arrowPlace);
701
+ }
702
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlTooltipLayer, deps: [], target: i0.ɵɵFactoryTarget.Directive });
703
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.7", type: SlTooltipLayer, isStandalone: true, selector: "ng-template[slTooltipLayer]", exportAs: ["slTooltipLayer"], ngImport: i0 });
704
+ }
705
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlTooltipLayer, decorators: [{
706
+ type: Directive,
707
+ args: [{
708
+ selector: 'ng-template[slTooltipLayer]',
709
+ standalone: true,
710
+ exportAs: 'slTooltipLayer',
711
+ }]
712
+ }], ctorParameters: () => [] });
713
+ function toggleAttribute(element, name, present) {
714
+ if (present)
715
+ element.setAttribute(name, '');
716
+ else
717
+ element.removeAttribute(name);
718
+ }
719
+ /**
720
+ * The painted surface, and the element the trigger's ARIA relationship names.
721
+ *
722
+ * It is the one part written as a component, because a component is what can
723
+ * carry `styleUrl`: this is where the family's single authored stylesheet
724
+ * enters an Angular application, exactly as every other family here does it.
725
+ */
726
+ class SlTooltipContent {
727
+ tooltip = inject(SlTooltip);
728
+ /** Hidden from the reader under `none`, which is a hint shown and not read. */
729
+ hidden = computed(() => this.tooltip.resolvedDescribes() === 'none' ? true : null, /* @ts-ignore */
730
+ ...(ngDevMode ? [{ debugName: "hidden" }] : /* istanbul ignore next */ []));
731
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlTooltipContent, deps: [], target: i0.ɵɵFactoryTarget.Component });
732
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.7", type: SlTooltipContent, isStandalone: true, selector: "[slTooltipContent]", host: { attributes: { "data-part": "content", "role": "tooltip" }, properties: { "attr.id": "tooltip.contentId", "attr.aria-hidden": "hidden()" } }, exportAs: ["slTooltipContent"], ngImport: i0, template: '<ng-content />', isInline: true, styles: ["@layer slotted.components{[data-ui=tooltip]{--_gap: var(--slotted-tooltip-gap, var(--slotted-space-4, .5rem));--_surface: var(--slotted-tooltip-surface, var(--slotted-surface-inverse, #172033));--_text: var(--slotted-tooltip-text, var(--slotted-text-inverse, #f8fafc));--_border-color: transparent;--_border-width: 0;--_radius: var(--slotted-tooltip-radius, var(--slotted-radius-sm, 4px));--_shadow: var(--slotted-tooltip-shadow, var(--slotted-shadow-xs));--_arrow-size: var(--slotted-tooltip-arrow-size, .5rem);--_arrow-tip-radius: var(--slotted-tooltip-arrow-tip-radius, var(--slotted-radius-xs, 2px));--_padding-inline: var(--slotted-control-padding-inline-md, .8125rem);--_padding-block: var(--slotted-control-gap-md, .5rem);--_font-size: var(--slotted-control-font-size-md, .8125rem);--_line-height: var(--slotted-line-height-sm, 1.45);--_measure: var(--slotted-tooltip-measure, 18rem);position:absolute;inset-block-start:0;z-index:calc(var(--slotted-z-index-popover, 1100) + var(--slotted-layer-depth, 0));isolation:isolate;box-sizing:border-box;padding:var(--_gap);inline-size:max-content;max-inline-size:min(var(--_measure),var(--slotted-positioner-available-width, 100vw));pointer-events:none;opacity:0;--_enter-distance: var(--slotted-space-2, .25rem);translate:0 calc(-1 * var(--_enter-distance));transition:opacity var(--slotted-duration-short) var(--slotted-easing-exit),translate var(--slotted-duration-short) var(--slotted-easing-exit)}[data-ui=tooltip][data-side=top]{translate:0 var(--_enter-distance)}[data-ui=tooltip]:is([data-side=left],[data-side=right]){translate:0 0}[data-ui=tooltip][data-open]{opacity:1;translate:0 0;transition:none}[data-ui=tooltip][data-open][data-positioned]{animation:slotted-tooltip-enter-down var(--slotted-duration-medium) var(--slotted-easing-enter)}[data-ui=tooltip][data-open][data-positioned][data-side=top]{animation-name:slotted-tooltip-enter-up}[data-ui=tooltip][data-open][data-positioned]:is([data-side=left],[data-side=right]){animation-name:slotted-tooltip-fade}@keyframes slotted-tooltip-enter-down{0%{opacity:0;translate:0 calc(-1 * var(--_enter-distance))}}@keyframes slotted-tooltip-enter-up{0%{opacity:0;translate:0 var(--_enter-distance)}}@keyframes slotted-tooltip-fade{0%{opacity:0}}@media(prefers-reduced-motion:reduce){[data-ui=tooltip],[data-ui=tooltip][data-side=top],[data-ui=tooltip][data-side=left],[data-ui=tooltip][data-side=right]{translate:0 0;transition:opacity var(--slotted-duration-short) var(--slotted-easing-exit)}[data-ui=tooltip][data-open][data-positioned],[data-ui=tooltip][data-open][data-positioned][data-side=top],[data-ui=tooltip][data-open][data-positioned][data-side=left],[data-ui=tooltip][data-open][data-positioned][data-side=right]{animation-name:slotted-tooltip-fade}}[data-ui=tooltip][data-open][data-hoverable]{pointer-events:auto}[data-ui=tooltip][data-detached]{visibility:hidden}[data-ui=tooltip][data-size=sm]{--_padding-inline: var(--slotted-control-padding-inline-sm, .625rem);--_padding-block: var(--slotted-control-gap-sm, .375rem);--_font-size: var(--slotted-control-font-size-sm, .75rem);--_measure: var(--slotted-tooltip-measure-sm, 14rem)}[data-ui=tooltip][data-variant=surface]{--_surface: var(--slotted-tooltip-surface-raised, var(--slotted-surface-raised, #ffffff));--_text: var(--slotted-tooltip-text-raised, var(--slotted-text, #0f172a));--_border-color: var(--slotted-tooltip-border-color, var(--slotted-border-subtle, #e2e8f0));--_border-width: var(--slotted-border-width-thin, 1px)}[data-ui=tooltip]>[data-part=content]{box-sizing:border-box;display:block;max-inline-size:100%;border:var(--_border-width) solid var(--_border-color);border-radius:var(--_radius);background:var(--_surface);color:var(--_text);box-shadow:var(--_shadow);padding-block:var(--_padding-block);padding-inline:var(--_padding-inline);font-family:var(--slotted-font-family-sans, ui-sans-serif, system-ui, sans-serif);font-size:var(--_font-size);font-weight:var(--slotted-font-weight-regular, 400);line-height:var(--_line-height);text-align:start;overflow-wrap:anywhere;unicode-bidi:plaintext}[data-ui=tooltip]>[data-part=arrow]{position:absolute;z-index:1;inline-size:var(--_arrow-size);block-size:var(--_arrow-size);rotate:45deg;background:var(--_surface);border:0 solid var(--_border-color)}[data-ui=tooltip][data-side=top]>[data-part=arrow]{left:var(--slotted-positioner-arrow-x, 0);top:auto;bottom:calc(var(--_gap) - var(--_arrow-size) / 2);border-right-width:var(--_border-width);border-bottom-width:var(--_border-width);border-bottom-right-radius:var(--_arrow-tip-radius)}[data-ui=tooltip][data-side=bottom]>[data-part=arrow]{left:var(--slotted-positioner-arrow-x, 0);top:calc(var(--_gap) - var(--_arrow-size) / 2);bottom:auto;border-top-width:var(--_border-width);border-left-width:var(--_border-width);border-top-left-radius:var(--_arrow-tip-radius)}[data-ui=tooltip][data-side=left]>[data-part=arrow]{top:var(--slotted-positioner-arrow-y, 0);left:auto;right:calc(var(--_gap) - var(--_arrow-size) / 2);border-top-width:var(--_border-width);border-right-width:var(--_border-width);border-top-right-radius:var(--_arrow-tip-radius)}[data-ui=tooltip][data-side=right]>[data-part=arrow]{top:var(--slotted-positioner-arrow-y, 0);left:calc(var(--_gap) - var(--_arrow-size) / 2);right:auto;border-bottom-width:var(--_border-width);border-left-width:var(--_border-width);border-bottom-left-radius:var(--_arrow-tip-radius)}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
733
+ }
734
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlTooltipContent, decorators: [{
735
+ type: Component,
736
+ args: [{ selector: '[slTooltipContent]', standalone: true, exportAs: 'slTooltipContent', template: '<ng-content />', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
737
+ 'data-part': 'content',
738
+ role: 'tooltip',
739
+ '[attr.id]': 'tooltip.contentId',
740
+ '[attr.aria-hidden]': 'hidden()',
741
+ }, styles: ["@layer slotted.components{[data-ui=tooltip]{--_gap: var(--slotted-tooltip-gap, var(--slotted-space-4, .5rem));--_surface: var(--slotted-tooltip-surface, var(--slotted-surface-inverse, #172033));--_text: var(--slotted-tooltip-text, var(--slotted-text-inverse, #f8fafc));--_border-color: transparent;--_border-width: 0;--_radius: var(--slotted-tooltip-radius, var(--slotted-radius-sm, 4px));--_shadow: var(--slotted-tooltip-shadow, var(--slotted-shadow-xs));--_arrow-size: var(--slotted-tooltip-arrow-size, .5rem);--_arrow-tip-radius: var(--slotted-tooltip-arrow-tip-radius, var(--slotted-radius-xs, 2px));--_padding-inline: var(--slotted-control-padding-inline-md, .8125rem);--_padding-block: var(--slotted-control-gap-md, .5rem);--_font-size: var(--slotted-control-font-size-md, .8125rem);--_line-height: var(--slotted-line-height-sm, 1.45);--_measure: var(--slotted-tooltip-measure, 18rem);position:absolute;inset-block-start:0;z-index:calc(var(--slotted-z-index-popover, 1100) + var(--slotted-layer-depth, 0));isolation:isolate;box-sizing:border-box;padding:var(--_gap);inline-size:max-content;max-inline-size:min(var(--_measure),var(--slotted-positioner-available-width, 100vw));pointer-events:none;opacity:0;--_enter-distance: var(--slotted-space-2, .25rem);translate:0 calc(-1 * var(--_enter-distance));transition:opacity var(--slotted-duration-short) var(--slotted-easing-exit),translate var(--slotted-duration-short) var(--slotted-easing-exit)}[data-ui=tooltip][data-side=top]{translate:0 var(--_enter-distance)}[data-ui=tooltip]:is([data-side=left],[data-side=right]){translate:0 0}[data-ui=tooltip][data-open]{opacity:1;translate:0 0;transition:none}[data-ui=tooltip][data-open][data-positioned]{animation:slotted-tooltip-enter-down var(--slotted-duration-medium) var(--slotted-easing-enter)}[data-ui=tooltip][data-open][data-positioned][data-side=top]{animation-name:slotted-tooltip-enter-up}[data-ui=tooltip][data-open][data-positioned]:is([data-side=left],[data-side=right]){animation-name:slotted-tooltip-fade}@keyframes slotted-tooltip-enter-down{0%{opacity:0;translate:0 calc(-1 * var(--_enter-distance))}}@keyframes slotted-tooltip-enter-up{0%{opacity:0;translate:0 var(--_enter-distance)}}@keyframes slotted-tooltip-fade{0%{opacity:0}}@media(prefers-reduced-motion:reduce){[data-ui=tooltip],[data-ui=tooltip][data-side=top],[data-ui=tooltip][data-side=left],[data-ui=tooltip][data-side=right]{translate:0 0;transition:opacity var(--slotted-duration-short) var(--slotted-easing-exit)}[data-ui=tooltip][data-open][data-positioned],[data-ui=tooltip][data-open][data-positioned][data-side=top],[data-ui=tooltip][data-open][data-positioned][data-side=left],[data-ui=tooltip][data-open][data-positioned][data-side=right]{animation-name:slotted-tooltip-fade}}[data-ui=tooltip][data-open][data-hoverable]{pointer-events:auto}[data-ui=tooltip][data-detached]{visibility:hidden}[data-ui=tooltip][data-size=sm]{--_padding-inline: var(--slotted-control-padding-inline-sm, .625rem);--_padding-block: var(--slotted-control-gap-sm, .375rem);--_font-size: var(--slotted-control-font-size-sm, .75rem);--_measure: var(--slotted-tooltip-measure-sm, 14rem)}[data-ui=tooltip][data-variant=surface]{--_surface: var(--slotted-tooltip-surface-raised, var(--slotted-surface-raised, #ffffff));--_text: var(--slotted-tooltip-text-raised, var(--slotted-text, #0f172a));--_border-color: var(--slotted-tooltip-border-color, var(--slotted-border-subtle, #e2e8f0));--_border-width: var(--slotted-border-width-thin, 1px)}[data-ui=tooltip]>[data-part=content]{box-sizing:border-box;display:block;max-inline-size:100%;border:var(--_border-width) solid var(--_border-color);border-radius:var(--_radius);background:var(--_surface);color:var(--_text);box-shadow:var(--_shadow);padding-block:var(--_padding-block);padding-inline:var(--_padding-inline);font-family:var(--slotted-font-family-sans, ui-sans-serif, system-ui, sans-serif);font-size:var(--_font-size);font-weight:var(--slotted-font-weight-regular, 400);line-height:var(--_line-height);text-align:start;overflow-wrap:anywhere;unicode-bidi:plaintext}[data-ui=tooltip]>[data-part=arrow]{position:absolute;z-index:1;inline-size:var(--_arrow-size);block-size:var(--_arrow-size);rotate:45deg;background:var(--_surface);border:0 solid var(--_border-color)}[data-ui=tooltip][data-side=top]>[data-part=arrow]{left:var(--slotted-positioner-arrow-x, 0);top:auto;bottom:calc(var(--_gap) - var(--_arrow-size) / 2);border-right-width:var(--_border-width);border-bottom-width:var(--_border-width);border-bottom-right-radius:var(--_arrow-tip-radius)}[data-ui=tooltip][data-side=bottom]>[data-part=arrow]{left:var(--slotted-positioner-arrow-x, 0);top:calc(var(--_gap) - var(--_arrow-size) / 2);bottom:auto;border-top-width:var(--_border-width);border-left-width:var(--_border-width);border-top-left-radius:var(--_arrow-tip-radius)}[data-ui=tooltip][data-side=left]>[data-part=arrow]{top:var(--slotted-positioner-arrow-y, 0);left:auto;right:calc(var(--_gap) - var(--_arrow-size) / 2);border-top-width:var(--_border-width);border-right-width:var(--_border-width);border-top-right-radius:var(--_arrow-tip-radius)}[data-ui=tooltip][data-side=right]>[data-part=arrow]{top:var(--slotted-positioner-arrow-y, 0);left:calc(var(--_gap) - var(--_arrow-size) / 2);right:auto;border-bottom-width:var(--_border-width);border-left-width:var(--_border-width);border-bottom-left-radius:var(--_arrow-tip-radius)}}\n"] }]
742
+ }] });
743
+ /**
744
+ * The mark that points at the anchor. The family draws it; the positioner
745
+ * measures it and says where it goes. It is hidden from assistive technology,
746
+ * because it is decoration a reader has no use for.
747
+ */
748
+ class SlTooltipArrow {
749
+ constructor() {
750
+ const tooltip = inject(SlTooltip);
751
+ const native = inject(ElementRef).nativeElement;
752
+ tooltip.arrowNode.set(native);
753
+ inject(DestroyRef).onDestroy(() => tooltip.arrowNode.set(null));
754
+ }
755
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlTooltipArrow, deps: [], target: i0.ɵɵFactoryTarget.Directive });
756
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.7", type: SlTooltipArrow, isStandalone: true, selector: "[slTooltipArrow]", host: { attributes: { "data-part": "arrow", "aria-hidden": "true" } }, exportAs: ["slTooltipArrow"], ngImport: i0 });
757
+ }
758
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlTooltipArrow, decorators: [{
759
+ type: Directive,
760
+ args: [{
761
+ selector: '[slTooltipArrow]',
762
+ standalone: true,
763
+ exportAs: 'slTooltipArrow',
764
+ host: {
765
+ 'data-part': 'arrow',
766
+ 'aria-hidden': 'true',
767
+ },
768
+ }]
769
+ }], ctorParameters: () => [] });
770
+ /**
771
+ * The layer's own pointer handlers, written on the layer element rather than
772
+ * bound by a directive, because the element is built here rather than by the
773
+ * consumer. Entering the layer cancels the pending close; leaving it starts one
774
+ * again, which is the whole of `hoverable`.
775
+ */
776
+ function bindHoverBridge(layer, tooltip) {
777
+ const enter = () => {
778
+ if (tooltip.resolvedHoverable())
779
+ tooltip.cancelPending();
780
+ };
781
+ const leave = (event) => {
782
+ if (tooltip.resolvedHoverable())
783
+ tooltip.closeAfterDelay(event);
784
+ };
785
+ layer.addEventListener('pointerenter', enter);
786
+ layer.addEventListener('pointerleave', leave);
787
+ return () => {
788
+ layer.removeEventListener('pointerenter', enter);
789
+ layer.removeEventListener('pointerleave', leave);
790
+ };
791
+ }
792
+
793
+ /**
794
+ * Generated bundle index. Do not edit.
795
+ */
796
+
797
+ export { SlTooltip, SlTooltipArrow, SlTooltipContent, SlTooltipGroup, SlTooltipIdFactory, SlTooltipLayer, SlTooltipTrigger, TOOLTIP_DEFAULTS, TOOLTIP_FALLBACK, injectTooltipDefaults, provideSlottedPortalContainer, provideTooltipDefaults };
798
+ //# sourceMappingURL=slotted-angular-tooltip.mjs.map