@semantic-components/ui-lab 0.63.0 → 0.65.0

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 (780) hide show
  1. package/fesm2022/semantic-components-ui-lab.mjs +36276 -0
  2. package/fesm2022/semantic-components-ui-lab.mjs.map +1 -0
  3. package/package.json +17 -3
  4. package/types/semantic-components-ui-lab.d.ts +7454 -0
  5. package/eslint.config.mjs +0 -39
  6. package/ng-package.json +0 -7
  7. package/project.json +0 -28
  8. package/src/index.ts +0 -2
  9. package/src/lib/components/accordion/README.md +0 -269
  10. package/src/lib/components/accordion/TODO.md +0 -58
  11. package/src/lib/components/accordion/accordion-content.ts +0 -31
  12. package/src/lib/components/accordion/accordion-header.ts +0 -15
  13. package/src/lib/components/accordion/accordion-item.ts +0 -17
  14. package/src/lib/components/accordion/accordion-panel.ts +0 -42
  15. package/src/lib/components/accordion/accordion-trigger-icon.ts +0 -27
  16. package/src/lib/components/accordion/accordion-trigger.ts +0 -46
  17. package/src/lib/components/accordion/accordion.ts +0 -35
  18. package/src/lib/components/accordion/index.ts +0 -7
  19. package/src/lib/components/alert/README.md +0 -117
  20. package/src/lib/components/alert/alert-action.ts +0 -17
  21. package/src/lib/components/alert/alert-description.ts +0 -20
  22. package/src/lib/components/alert/alert-title.ts +0 -20
  23. package/src/lib/components/alert/alert.ts +0 -39
  24. package/src/lib/components/alert/index.ts +0 -4
  25. package/src/lib/components/alert-dialog/ARCHITECTURE.md +0 -808
  26. package/src/lib/components/alert-dialog/README.md +0 -215
  27. package/src/lib/components/alert-dialog/alert-dialog-action.ts +0 -32
  28. package/src/lib/components/alert-dialog/alert-dialog-cancel.ts +0 -32
  29. package/src/lib/components/alert-dialog/alert-dialog-description.ts +0 -24
  30. package/src/lib/components/alert-dialog/alert-dialog-footer.ts +0 -21
  31. package/src/lib/components/alert-dialog/alert-dialog-header.ts +0 -23
  32. package/src/lib/components/alert-dialog/alert-dialog-media.ts +0 -22
  33. package/src/lib/components/alert-dialog/alert-dialog-portal.ts +0 -8
  34. package/src/lib/components/alert-dialog/alert-dialog-provider.ts +0 -135
  35. package/src/lib/components/alert-dialog/alert-dialog-title.ts +0 -20
  36. package/src/lib/components/alert-dialog/alert-dialog-trigger.ts +0 -25
  37. package/src/lib/components/alert-dialog/alert-dialog.ts +0 -77
  38. package/src/lib/components/alert-dialog/index.ts +0 -11
  39. package/src/lib/components/animated-counter/README.md +0 -102
  40. package/src/lib/components/animated-counter/animated-counter-types.ts +0 -23
  41. package/src/lib/components/animated-counter/animated-counter.ts +0 -143
  42. package/src/lib/components/animated-counter/index.ts +0 -6
  43. package/src/lib/components/aspect-ratio/README.md +0 -97
  44. package/src/lib/components/aspect-ratio/aspect-ratio.ts +0 -19
  45. package/src/lib/components/aspect-ratio/index.ts +0 -1
  46. package/src/lib/components/audio-player/README.md +0 -252
  47. package/src/lib/components/audio-player/audio-player-audio.ts +0 -32
  48. package/src/lib/components/audio-player/audio-player-cover.ts +0 -39
  49. package/src/lib/components/audio-player/audio-player-info.ts +0 -40
  50. package/src/lib/components/audio-player/audio-player-next.ts +0 -40
  51. package/src/lib/components/audio-player/audio-player-play-button.ts +0 -39
  52. package/src/lib/components/audio-player/audio-player-previous.ts +0 -40
  53. package/src/lib/components/audio-player/audio-player-progress.ts +0 -77
  54. package/src/lib/components/audio-player/audio-player-repeat.ts +0 -38
  55. package/src/lib/components/audio-player/audio-player-shuffle.ts +0 -39
  56. package/src/lib/components/audio-player/audio-player-volume.ts +0 -91
  57. package/src/lib/components/audio-player/audio-player.ts +0 -246
  58. package/src/lib/components/audio-player/index.ts +0 -11
  59. package/src/lib/components/avatar/README.md +0 -117
  60. package/src/lib/components/avatar/avatar-fallback.ts +0 -25
  61. package/src/lib/components/avatar/avatar-image.ts +0 -39
  62. package/src/lib/components/avatar/avatar.ts +0 -25
  63. package/src/lib/components/avatar/index.ts +0 -3
  64. package/src/lib/components/avatar-group/README.md +0 -94
  65. package/src/lib/components/avatar-group/avatar-group-types.ts +0 -9
  66. package/src/lib/components/avatar-group/avatar-group.ts +0 -181
  67. package/src/lib/components/avatar-group/index.ts +0 -2
  68. package/src/lib/components/backdrop/backdrop.ts +0 -75
  69. package/src/lib/components/backdrop/index.ts +0 -1
  70. package/src/lib/components/badge/README.md +0 -66
  71. package/src/lib/components/badge/badge.ts +0 -43
  72. package/src/lib/components/badge/index.ts +0 -1
  73. package/src/lib/components/barcode-scanner/README.md +0 -144
  74. package/src/lib/components/barcode-scanner/barcode-scanner-simple.ts +0 -36
  75. package/src/lib/components/barcode-scanner/barcode-scanner.ts +0 -460
  76. package/src/lib/components/barcode-scanner/index.ts +0 -3
  77. package/src/lib/components/breadcrumb/README.md +0 -80
  78. package/src/lib/components/breadcrumb/breadcrumb-ellipsis.ts +0 -46
  79. package/src/lib/components/breadcrumb/breadcrumb-item.ts +0 -17
  80. package/src/lib/components/breadcrumb/breadcrumb-link.ts +0 -17
  81. package/src/lib/components/breadcrumb/breadcrumb-list.ts +0 -20
  82. package/src/lib/components/breadcrumb/breadcrumb-page.ts +0 -20
  83. package/src/lib/components/breadcrumb/breadcrumb-separator.ts +0 -45
  84. package/src/lib/components/breadcrumb/breadcrumb.ts +0 -10
  85. package/src/lib/components/breadcrumb/index.ts +0 -7
  86. package/src/lib/components/button-group/button-group-separator.ts +0 -26
  87. package/src/lib/components/button-group/button-group-text.ts +0 -20
  88. package/src/lib/components/button-group/button-group.ts +0 -43
  89. package/src/lib/components/button-group/index.ts +0 -10
  90. package/src/lib/components/calendar/CALENDAR-VIEWS.md +0 -443
  91. package/src/lib/components/calendar/README.md +0 -227
  92. package/src/lib/components/calendar/calendar-day-view.ts +0 -310
  93. package/src/lib/components/calendar/calendar-header.ts +0 -58
  94. package/src/lib/components/calendar/calendar-month-view.ts +0 -176
  95. package/src/lib/components/calendar/calendar-year-view.ts +0 -167
  96. package/src/lib/components/calendar/calendar.ts +0 -273
  97. package/src/lib/components/calendar/index.ts +0 -1
  98. package/src/lib/components/card/README.md +0 -86
  99. package/src/lib/components/card/card-content.ts +0 -15
  100. package/src/lib/components/card/card-description.ts +0 -17
  101. package/src/lib/components/card/card-footer.ts +0 -17
  102. package/src/lib/components/card/card-header.ts +0 -17
  103. package/src/lib/components/card/card-title.ts +0 -17
  104. package/src/lib/components/card/card.ts +0 -20
  105. package/src/lib/components/card/index.ts +0 -6
  106. package/src/lib/components/chart/README.md +0 -220
  107. package/src/lib/components/chart/bar-chart.ts +0 -186
  108. package/src/lib/components/chart/chart-container.ts +0 -33
  109. package/src/lib/components/chart/chart-legend.ts +0 -42
  110. package/src/lib/components/chart/chart-tooltip.ts +0 -42
  111. package/src/lib/components/chart/chart-types.ts +0 -21
  112. package/src/lib/components/chart/donut-chart.ts +0 -35
  113. package/src/lib/components/chart/index.ts +0 -9
  114. package/src/lib/components/chart/line-chart.ts +0 -223
  115. package/src/lib/components/chart/pie-chart.ts +0 -186
  116. package/src/lib/components/checkbox/README.md +0 -293
  117. package/src/lib/components/checkbox/checkbox-field.ts +0 -78
  118. package/src/lib/components/checkbox/checkbox-indicator.ts +0 -27
  119. package/src/lib/components/checkbox/checkbox-types.ts +0 -15
  120. package/src/lib/components/checkbox/checkbox.ts +0 -74
  121. package/src/lib/components/checkbox/index.ts +0 -5
  122. package/src/lib/components/checkbox/visual-checkbox.ts +0 -47
  123. package/src/lib/components/collapsible/README.md +0 -191
  124. package/src/lib/components/collapsible/collapsible-content.ts +0 -28
  125. package/src/lib/components/collapsible/collapsible-panel.ts +0 -42
  126. package/src/lib/components/collapsible/collapsible-trigger.ts +0 -48
  127. package/src/lib/components/collapsible/collapsible.ts +0 -33
  128. package/src/lib/components/collapsible/index.ts +0 -4
  129. package/src/lib/components/color-picker/README.md +0 -218
  130. package/src/lib/components/color-picker/color-picker-area.ts +0 -107
  131. package/src/lib/components/color-picker/color-picker-eyedropper.ts +0 -76
  132. package/src/lib/components/color-picker/color-picker-hue.ts +0 -92
  133. package/src/lib/components/color-picker/color-picker-input.ts +0 -70
  134. package/src/lib/components/color-picker/color-picker-preview.ts +0 -21
  135. package/src/lib/components/color-picker/color-picker-swatches.ts +0 -60
  136. package/src/lib/components/color-picker/color-picker.ts +0 -227
  137. package/src/lib/components/color-picker/index.ts +0 -8
  138. package/src/lib/components/combobox/README.md +0 -166
  139. package/src/lib/components/combobox/combobox-empty.ts +0 -17
  140. package/src/lib/components/combobox/combobox-icon.ts +0 -20
  141. package/src/lib/components/combobox/combobox-input.ts +0 -32
  142. package/src/lib/components/combobox/combobox-item-indicator.ts +0 -20
  143. package/src/lib/components/combobox/combobox-item.ts +0 -49
  144. package/src/lib/components/combobox/combobox-list.ts +0 -40
  145. package/src/lib/components/combobox/combobox-portal.ts +0 -111
  146. package/src/lib/components/combobox/combobox-trigger.ts +0 -20
  147. package/src/lib/components/combobox/combobox.ts +0 -42
  148. package/src/lib/components/combobox/index.ts +0 -9
  149. package/src/lib/components/command/README.md +0 -161
  150. package/src/lib/components/command/command-empty.ts +0 -17
  151. package/src/lib/components/command/command-group-heading.ts +0 -20
  152. package/src/lib/components/command/command-group.ts +0 -23
  153. package/src/lib/components/command/command-input.ts +0 -67
  154. package/src/lib/components/command/command-item.ts +0 -61
  155. package/src/lib/components/command/command-list.ts +0 -19
  156. package/src/lib/components/command/command-separator.ts +0 -18
  157. package/src/lib/components/command/command-shortcut.ts +0 -20
  158. package/src/lib/components/command/command.ts +0 -35
  159. package/src/lib/components/command/index.ts +0 -9
  160. package/src/lib/components/confetti/README.md +0 -103
  161. package/src/lib/components/confetti/confetti-types.ts +0 -47
  162. package/src/lib/components/confetti/confetti.ts +0 -220
  163. package/src/lib/components/confetti/index.ts +0 -7
  164. package/src/lib/components/context-menu/README.md +0 -149
  165. package/src/lib/components/context-menu/context-menu-content.ts +0 -46
  166. package/src/lib/components/context-menu/context-menu-item.ts +0 -44
  167. package/src/lib/components/context-menu/context-menu-label.ts +0 -22
  168. package/src/lib/components/context-menu/context-menu-separator.ts +0 -18
  169. package/src/lib/components/context-menu/context-menu-shortcut.ts +0 -20
  170. package/src/lib/components/context-menu/context-menu-sub-content.ts +0 -83
  171. package/src/lib/components/context-menu/context-menu-sub-trigger.ts +0 -91
  172. package/src/lib/components/context-menu/context-menu-sub.ts +0 -38
  173. package/src/lib/components/context-menu/context-menu-trigger.ts +0 -40
  174. package/src/lib/components/context-menu/context-menu.ts +0 -106
  175. package/src/lib/components/context-menu/index.ts +0 -10
  176. package/src/lib/components/copy-button/README.md +0 -211
  177. package/src/lib/components/copy-button/copy-button-with-text.ts +0 -53
  178. package/src/lib/components/copy-button/copy-button.ts +0 -137
  179. package/src/lib/components/copy-button/copy-code.ts +0 -42
  180. package/src/lib/components/copy-button/copy-input.ts +0 -54
  181. package/src/lib/components/copy-button/index.ts +0 -4
  182. package/src/lib/components/countdown/README.md +0 -168
  183. package/src/lib/components/countdown/countdown-simple.ts +0 -118
  184. package/src/lib/components/countdown/countdown.ts +0 -235
  185. package/src/lib/components/countdown/index.ts +0 -3
  186. package/src/lib/components/data-table/README.md +0 -330
  187. package/src/lib/components/data-table/data-table-body.ts +0 -28
  188. package/src/lib/components/data-table/data-table-cell.ts +0 -20
  189. package/src/lib/components/data-table/data-table-column-toggle.ts +0 -96
  190. package/src/lib/components/data-table/data-table-filter.ts +0 -45
  191. package/src/lib/components/data-table/data-table-head.ts +0 -96
  192. package/src/lib/components/data-table/data-table-header.ts +0 -28
  193. package/src/lib/components/data-table/data-table-pagination.ts +0 -152
  194. package/src/lib/components/data-table/data-table-row.ts +0 -23
  195. package/src/lib/components/data-table/data-table.ts +0 -181
  196. package/src/lib/components/data-table/index.ts +0 -15
  197. package/src/lib/components/date-picker/README.md +0 -101
  198. package/src/lib/components/date-picker/date-picker.ts +0 -175
  199. package/src/lib/components/date-picker/index.ts +0 -1
  200. package/src/lib/components/date-range-picker/README.md +0 -148
  201. package/src/lib/components/date-range-picker/date-range-picker.ts +0 -348
  202. package/src/lib/components/date-range-picker/index.ts +0 -3
  203. package/src/lib/components/dialog/ARCHITECTURE.md +0 -792
  204. package/src/lib/components/dialog/README.md +0 -208
  205. package/src/lib/components/dialog/dialog-close.ts +0 -33
  206. package/src/lib/components/dialog/dialog-description.ts +0 -23
  207. package/src/lib/components/dialog/dialog-footer.ts +0 -20
  208. package/src/lib/components/dialog/dialog-header.ts +0 -17
  209. package/src/lib/components/dialog/dialog-portal.ts +0 -8
  210. package/src/lib/components/dialog/dialog-provider.ts +0 -175
  211. package/src/lib/components/dialog/dialog-title.ts +0 -20
  212. package/src/lib/components/dialog/dialog-trigger.ts +0 -25
  213. package/src/lib/components/dialog/dialog.ts +0 -79
  214. package/src/lib/components/dialog/index.ts +0 -9
  215. package/src/lib/components/diff-viewer/README.md +0 -172
  216. package/src/lib/components/diff-viewer/diff-algorithm.ts +0 -337
  217. package/src/lib/components/diff-viewer/diff-viewer.ts +0 -369
  218. package/src/lib/components/diff-viewer/index.ts +0 -8
  219. package/src/lib/components/dock/README.md +0 -204
  220. package/src/lib/components/dock/dock-badge.ts +0 -36
  221. package/src/lib/components/dock/dock-item.ts +0 -76
  222. package/src/lib/components/dock/dock-items.ts +0 -31
  223. package/src/lib/components/dock/dock-types.ts +0 -25
  224. package/src/lib/components/dock/dock.ts +0 -101
  225. package/src/lib/components/dock/index.ts +0 -11
  226. package/src/lib/components/drawer/ARCHITECTURE.md +0 -972
  227. package/src/lib/components/drawer/README.md +0 -205
  228. package/src/lib/components/drawer/drawer-close.ts +0 -18
  229. package/src/lib/components/drawer/drawer-description.ts +0 -17
  230. package/src/lib/components/drawer/drawer-footer.ts +0 -17
  231. package/src/lib/components/drawer/drawer-handle.ts +0 -17
  232. package/src/lib/components/drawer/drawer-header.ts +0 -17
  233. package/src/lib/components/drawer/drawer-portal.ts +0 -8
  234. package/src/lib/components/drawer/drawer-provider.ts +0 -142
  235. package/src/lib/components/drawer/drawer-title.ts +0 -17
  236. package/src/lib/components/drawer/drawer-trigger.ts +0 -24
  237. package/src/lib/components/drawer/drawer.ts +0 -77
  238. package/src/lib/components/drawer/index.ts +0 -11
  239. package/src/lib/components/emoji-picker/README.md +0 -151
  240. package/src/lib/components/emoji-picker/emoji-picker-trigger.ts +0 -48
  241. package/src/lib/components/emoji-picker/emoji-picker.ts +0 -666
  242. package/src/lib/components/emoji-picker/index.ts +0 -3
  243. package/src/lib/components/empty/README.md +0 -72
  244. package/src/lib/components/empty/empty-content.ts +0 -20
  245. package/src/lib/components/empty/empty-description.ts +0 -20
  246. package/src/lib/components/empty/empty-header.ts +0 -17
  247. package/src/lib/components/empty/empty-media.ts +0 -29
  248. package/src/lib/components/empty/empty-title.ts +0 -17
  249. package/src/lib/components/empty/empty.ts +0 -20
  250. package/src/lib/components/empty/index.ts +0 -6
  251. package/src/lib/components/field/README.md +0 -326
  252. package/src/lib/components/field/field-content.ts +0 -20
  253. package/src/lib/components/field/field-description.ts +0 -22
  254. package/src/lib/components/field/field-error.ts +0 -18
  255. package/src/lib/components/field/field-group.ts +0 -20
  256. package/src/lib/components/field/field-legend.ts +0 -24
  257. package/src/lib/components/field/field-separator.ts +0 -20
  258. package/src/lib/components/field/field-set.ts +0 -20
  259. package/src/lib/components/field/field-title.ts +0 -20
  260. package/src/lib/components/field/field.ts +0 -89
  261. package/src/lib/components/field/index.ts +0 -9
  262. package/src/lib/components/file-upload/README.md +0 -256
  263. package/src/lib/components/file-upload/file-upload-dropzone.ts +0 -100
  264. package/src/lib/components/file-upload/file-upload-item-delete.ts +0 -59
  265. package/src/lib/components/file-upload/file-upload-item-name.ts +0 -17
  266. package/src/lib/components/file-upload/file-upload-item-preview.ts +0 -52
  267. package/src/lib/components/file-upload/file-upload-item-progress.ts +0 -33
  268. package/src/lib/components/file-upload/file-upload-item-size.ts +0 -39
  269. package/src/lib/components/file-upload/file-upload-item.ts +0 -35
  270. package/src/lib/components/file-upload/file-upload-list.ts +0 -17
  271. package/src/lib/components/file-upload/file-upload-trigger.ts +0 -70
  272. package/src/lib/components/file-upload/file-upload.ts +0 -156
  273. package/src/lib/components/file-upload/index.ts +0 -11
  274. package/src/lib/components/hover-card/ARCHITECTURE.md +0 -341
  275. package/src/lib/components/hover-card/README.md +0 -118
  276. package/src/lib/components/hover-card/hover-card-portal.ts +0 -142
  277. package/src/lib/components/hover-card/hover-card-provider.ts +0 -85
  278. package/src/lib/components/hover-card/hover-card-trigger.ts +0 -75
  279. package/src/lib/components/hover-card/hover-card.ts +0 -97
  280. package/src/lib/components/hover-card/index.ts +0 -5
  281. package/src/lib/components/image-annotator/README.md +0 -132
  282. package/src/lib/components/image-annotator/image-annotator-types.ts +0 -29
  283. package/src/lib/components/image-annotator/image-annotator.ts +0 -549
  284. package/src/lib/components/image-annotator/index.ts +0 -7
  285. package/src/lib/components/image-compare/README.md +0 -239
  286. package/src/lib/components/image-compare/image-compare-after.ts +0 -39
  287. package/src/lib/components/image-compare/image-compare-before.ts +0 -30
  288. package/src/lib/components/image-compare/image-compare-container.ts +0 -119
  289. package/src/lib/components/image-compare/image-compare-label.ts +0 -34
  290. package/src/lib/components/image-compare/image-compare-slider.ts +0 -103
  291. package/src/lib/components/image-compare/image-compare.ts +0 -79
  292. package/src/lib/components/image-compare/index.ts +0 -10
  293. package/src/lib/components/image-cropper/README.md +0 -322
  294. package/src/lib/components/image-cropper/image-cropper-aspect-ratio.ts +0 -65
  295. package/src/lib/components/image-cropper/image-cropper-container.ts +0 -294
  296. package/src/lib/components/image-cropper/image-cropper-controls.ts +0 -95
  297. package/src/lib/components/image-cropper/image-cropper-preview.ts +0 -66
  298. package/src/lib/components/image-cropper/image-cropper.ts +0 -459
  299. package/src/lib/components/image-cropper/index.ts +0 -10
  300. package/src/lib/components/index.ts +0 -106
  301. package/src/lib/components/infinite-scroll/README.md +0 -134
  302. package/src/lib/components/infinite-scroll/index.ts +0 -4
  303. package/src/lib/components/infinite-scroll/infinite-scroll-end.ts +0 -9
  304. package/src/lib/components/infinite-scroll/infinite-scroll-loader.ts +0 -9
  305. package/src/lib/components/infinite-scroll/infinite-scroll.ts +0 -199
  306. package/src/lib/components/infinite-scroll/virtual-scroll.ts +0 -83
  307. package/src/lib/components/input/README.md +0 -93
  308. package/src/lib/components/input/index.ts +0 -1
  309. package/src/lib/components/input/input.ts +0 -41
  310. package/src/lib/components/input-group/README.md +0 -60
  311. package/src/lib/components/input-group/index.ts +0 -6
  312. package/src/lib/components/input-group/input-group-addon.ts +0 -46
  313. package/src/lib/components/input-group/input-group-button.ts +0 -49
  314. package/src/lib/components/input-group/input-group-input.ts +0 -20
  315. package/src/lib/components/input-group/input-group-text.ts +0 -20
  316. package/src/lib/components/input-group/input-group-textarea.ts +0 -20
  317. package/src/lib/components/input-group/input-group.ts +0 -21
  318. package/src/lib/components/kanban-board/README.md +0 -238
  319. package/src/lib/components/kanban-board/index.ts +0 -12
  320. package/src/lib/components/kanban-board/kanban-board.ts +0 -281
  321. package/src/lib/components/kanban-board/kanban-card.ts +0 -241
  322. package/src/lib/components/kanban-board/kanban-column.ts +0 -371
  323. package/src/lib/components/kanban-board/kanban-types.ts +0 -52
  324. package/src/lib/components/kbd/README.md +0 -58
  325. package/src/lib/components/kbd/index.ts +0 -2
  326. package/src/lib/components/kbd/kbd-group.ts +0 -17
  327. package/src/lib/components/kbd/kbd.ts +0 -20
  328. package/src/lib/components/label/README.md +0 -90
  329. package/src/lib/components/label/index.ts +0 -1
  330. package/src/lib/components/label/label.ts +0 -32
  331. package/src/lib/components/language-switcher/index.ts +0 -4
  332. package/src/lib/components/language-switcher/language-button.ts +0 -98
  333. package/src/lib/components/language-switcher/language-select.ts +0 -65
  334. package/src/lib/components/language-switcher/language-toggle.ts +0 -98
  335. package/src/lib/components/language-switcher/language.service.ts +0 -239
  336. package/src/lib/components/language-switcher/styles.ts +0 -16
  337. package/src/lib/components/lightbox/README.md +0 -387
  338. package/src/lib/components/lightbox/index.ts +0 -9
  339. package/src/lib/components/lightbox/lightbox-container.ts +0 -338
  340. package/src/lib/components/lightbox/lightbox-gallery.ts +0 -81
  341. package/src/lib/components/lightbox/lightbox-trigger.ts +0 -19
  342. package/src/lib/components/lightbox/lightbox.ts +0 -210
  343. package/src/lib/components/lightbox/lightbox.types.ts +0 -7
  344. package/src/lib/components/marquee/README.md +0 -183
  345. package/src/lib/components/marquee/auto-marquee.ts +0 -73
  346. package/src/lib/components/marquee/index.ts +0 -6
  347. package/src/lib/components/marquee/marquee-clone.ts +0 -17
  348. package/src/lib/components/marquee/marquee-fade.ts +0 -53
  349. package/src/lib/components/marquee/marquee-item.ts +0 -17
  350. package/src/lib/components/marquee/marquee-text.ts +0 -80
  351. package/src/lib/components/marquee/marquee.ts +0 -96
  352. package/src/lib/components/masonry-grid/README.md +0 -204
  353. package/src/lib/components/masonry-grid/index.ts +0 -4
  354. package/src/lib/components/masonry-grid/masonry-grid.ts +0 -178
  355. package/src/lib/components/masonry-grid/masonry-item.ts +0 -66
  356. package/src/lib/components/masonry-grid/masonry-types.ts +0 -24
  357. package/src/lib/components/mention-input/README.md +0 -122
  358. package/src/lib/components/mention-input/index.ts +0 -2
  359. package/src/lib/components/mention-input/mention-input.ts +0 -279
  360. package/src/lib/components/menu/README.md +0 -176
  361. package/src/lib/components/menu/index.ts +0 -11
  362. package/src/lib/components/menu/menu-item.ts +0 -32
  363. package/src/lib/components/menu/menu-portal.ts +0 -53
  364. package/src/lib/components/menu/menu-provider.ts +0 -50
  365. package/src/lib/components/menu/menu-separator.ts +0 -19
  366. package/src/lib/components/menu/menu-sub-icon.ts +0 -18
  367. package/src/lib/components/menu/menu-sub-portal.ts +0 -53
  368. package/src/lib/components/menu/menu-sub-provider.ts +0 -52
  369. package/src/lib/components/menu/menu-sub-trigger.ts +0 -34
  370. package/src/lib/components/menu/menu-sub.ts +0 -41
  371. package/src/lib/components/menu/menu-trigger.ts +0 -27
  372. package/src/lib/components/menu/menu.ts +0 -41
  373. package/src/lib/components/multi-select/README.md +0 -155
  374. package/src/lib/components/multi-select/index.ts +0 -2
  375. package/src/lib/components/multi-select/multi-select.ts +0 -394
  376. package/src/lib/components/native-checkbox/README.md +0 -113
  377. package/src/lib/components/native-checkbox/index.ts +0 -1
  378. package/src/lib/components/native-checkbox/native-checkbox.ts +0 -116
  379. package/src/lib/components/navbar/ARCHITECTURE.md +0 -605
  380. package/src/lib/components/navbar/README.md +0 -246
  381. package/src/lib/components/navbar/index.ts +0 -9
  382. package/src/lib/components/navbar/navbar-actions.ts +0 -28
  383. package/src/lib/components/navbar/navbar-brand.ts +0 -24
  384. package/src/lib/components/navbar/navbar-group.ts +0 -28
  385. package/src/lib/components/navbar/navbar-mobile-link.ts +0 -28
  386. package/src/lib/components/navbar/navbar-mobile-menu.ts +0 -71
  387. package/src/lib/components/navbar/navbar-mobile-portal.ts +0 -118
  388. package/src/lib/components/navbar/navbar-mobile-trigger.ts +0 -51
  389. package/src/lib/components/navbar/navbar-provider.ts +0 -85
  390. package/src/lib/components/navbar/navbar.ts +0 -40
  391. package/src/lib/components/navigation-menu/README.md +0 -135
  392. package/src/lib/components/navigation-menu/index.ts +0 -8
  393. package/src/lib/components/navigation-menu/navigation-menu-content.ts +0 -80
  394. package/src/lib/components/navigation-menu/navigation-menu-indicator.ts +0 -35
  395. package/src/lib/components/navigation-menu/navigation-menu-item.ts +0 -88
  396. package/src/lib/components/navigation-menu/navigation-menu-link.ts +0 -29
  397. package/src/lib/components/navigation-menu/navigation-menu-list.ts +0 -20
  398. package/src/lib/components/navigation-menu/navigation-menu-trigger.ts +0 -52
  399. package/src/lib/components/navigation-menu/navigation-menu-viewport.ts +0 -35
  400. package/src/lib/components/navigation-menu/navigation-menu.ts +0 -39
  401. package/src/lib/components/notification-center/README.md +0 -365
  402. package/src/lib/components/notification-center/index.ts +0 -20
  403. package/src/lib/components/notification-center/notification-center-container.ts +0 -226
  404. package/src/lib/components/notification-center/notification-center.ts +0 -157
  405. package/src/lib/components/notification-center/notification-group.ts +0 -198
  406. package/src/lib/components/notification-center/notification-item.ts +0 -214
  407. package/src/lib/components/notification-center/notification-types.ts +0 -52
  408. package/src/lib/components/number-field/README.md +0 -369
  409. package/src/lib/components/number-field/index.ts +0 -6
  410. package/src/lib/components/number-field/number-field-decrement.ts +0 -57
  411. package/src/lib/components/number-field/number-field-increment.ts +0 -58
  412. package/src/lib/components/number-field/number-field-input-group.ts +0 -37
  413. package/src/lib/components/number-field/number-field-input.ts +0 -87
  414. package/src/lib/components/number-field/number-field-scrub-area.ts +0 -74
  415. package/src/lib/components/number-field/number-field.ts +0 -143
  416. package/src/lib/components/opt-field/index.ts +0 -7
  417. package/src/lib/components/opt-field/opt-field-separator.ts +0 -18
  418. package/src/lib/components/opt-field/opt-field-slot-caret.ts +0 -31
  419. package/src/lib/components/opt-field/opt-field-slot-char.ts +0 -19
  420. package/src/lib/components/opt-field/opt-field-slot-group.ts +0 -17
  421. package/src/lib/components/opt-field/opt-field-slot-input.ts +0 -60
  422. package/src/lib/components/opt-field/opt-field-slot.ts +0 -111
  423. package/src/lib/components/opt-field/opt-field.ts +0 -113
  424. package/src/lib/components/org-chart/README.md +0 -265
  425. package/src/lib/components/org-chart/index.ts +0 -8
  426. package/src/lib/components/org-chart/org-chart-node.ts +0 -253
  427. package/src/lib/components/org-chart/org-chart-types.ts +0 -22
  428. package/src/lib/components/org-chart/org-chart.ts +0 -67
  429. package/src/lib/components/pagination/ACCESSIBILITY_REVIEW.md +0 -530
  430. package/src/lib/components/pagination/KEYBOARD-NAVIGATION.md +0 -356
  431. package/src/lib/components/pagination/README.md +0 -359
  432. package/src/lib/components/pagination/REVIEW_SUMMARY.md +0 -55
  433. package/src/lib/components/pagination/SMART-PAGINATION.md +0 -345
  434. package/src/lib/components/pagination/index.ts +0 -11
  435. package/src/lib/components/pagination/pagination-ellipsis.ts +0 -32
  436. package/src/lib/components/pagination/pagination-first.ts +0 -75
  437. package/src/lib/components/pagination/pagination-item.ts +0 -15
  438. package/src/lib/components/pagination/pagination-last.ts +0 -77
  439. package/src/lib/components/pagination/pagination-link.ts +0 -70
  440. package/src/lib/components/pagination/pagination-list.ts +0 -17
  441. package/src/lib/components/pagination/pagination-next.ts +0 -78
  442. package/src/lib/components/pagination/pagination-page-size-select.ts +0 -44
  443. package/src/lib/components/pagination/pagination-previous.ts +0 -78
  444. package/src/lib/components/pagination/pagination.ts +0 -190
  445. package/src/lib/components/password-field/README.md +0 -247
  446. package/src/lib/components/password-field/index.ts +0 -7
  447. package/src/lib/components/password-field/password-field-input-group.ts +0 -32
  448. package/src/lib/components/password-field/password-field-input.ts +0 -55
  449. package/src/lib/components/password-field/password-field-requirements.ts +0 -90
  450. package/src/lib/components/password-field/password-field-strength-bar.ts +0 -64
  451. package/src/lib/components/password-field/password-field-strength.ts +0 -91
  452. package/src/lib/components/password-field/password-field-toggle.ts +0 -86
  453. package/src/lib/components/password-field/password-field.ts +0 -95
  454. package/src/lib/components/pdf-viewer/README.md +0 -221
  455. package/src/lib/components/pdf-viewer/index.ts +0 -47
  456. package/src/lib/components/pdf-viewer/pdf-viewer-container.ts +0 -54
  457. package/src/lib/components/pdf-viewer/pdf-viewer-content.ts +0 -60
  458. package/src/lib/components/pdf-viewer/pdf-viewer-download.ts +0 -34
  459. package/src/lib/components/pdf-viewer/pdf-viewer-empty.ts +0 -62
  460. package/src/lib/components/pdf-viewer/pdf-viewer-error.ts +0 -73
  461. package/src/lib/components/pdf-viewer/pdf-viewer-fullscreen.ts +0 -36
  462. package/src/lib/components/pdf-viewer/pdf-viewer-loading.ts +0 -44
  463. package/src/lib/components/pdf-viewer/pdf-viewer-nav.ts +0 -30
  464. package/src/lib/components/pdf-viewer/pdf-viewer-next-page.ts +0 -38
  465. package/src/lib/components/pdf-viewer/pdf-viewer-page-info.ts +0 -53
  466. package/src/lib/components/pdf-viewer/pdf-viewer-prev-page.ts +0 -38
  467. package/src/lib/components/pdf-viewer/pdf-viewer-print.ts +0 -34
  468. package/src/lib/components/pdf-viewer/pdf-viewer-retry.ts +0 -36
  469. package/src/lib/components/pdf-viewer/pdf-viewer-root.ts +0 -239
  470. package/src/lib/components/pdf-viewer/pdf-viewer-rotate-left.ts +0 -34
  471. package/src/lib/components/pdf-viewer/pdf-viewer-rotate-right.ts +0 -34
  472. package/src/lib/components/pdf-viewer/pdf-viewer-separator.ts +0 -28
  473. package/src/lib/components/pdf-viewer/pdf-viewer-spacer.ts +0 -24
  474. package/src/lib/components/pdf-viewer/pdf-viewer-toolbar-base.ts +0 -34
  475. package/src/lib/components/pdf-viewer/pdf-viewer-toolbar.ts +0 -391
  476. package/src/lib/components/pdf-viewer/pdf-viewer-types.ts +0 -52
  477. package/src/lib/components/pdf-viewer/pdf-viewer-zoom-in.ts +0 -37
  478. package/src/lib/components/pdf-viewer/pdf-viewer-zoom-out.ts +0 -37
  479. package/src/lib/components/pdf-viewer/pdf-viewer-zoom-select.ts +0 -61
  480. package/src/lib/components/pdf-viewer/pdf-viewer-zoom.ts +0 -30
  481. package/src/lib/components/pdf-viewer/pdf-viewer.ts +0 -417
  482. package/src/lib/components/phone-input/README.md +0 -173
  483. package/src/lib/components/phone-input/countries.ts +0 -69
  484. package/src/lib/components/phone-input/index.ts +0 -4
  485. package/src/lib/components/phone-input/phone-input-simple.ts +0 -141
  486. package/src/lib/components/phone-input/phone-input.ts +0 -304
  487. package/src/lib/components/popover/ARCHITECTURE.md +0 -569
  488. package/src/lib/components/popover/README.md +0 -247
  489. package/src/lib/components/popover/index.ts +0 -6
  490. package/src/lib/components/popover/popover-close.ts +0 -29
  491. package/src/lib/components/popover/popover-portal.ts +0 -161
  492. package/src/lib/components/popover/popover-provider.ts +0 -82
  493. package/src/lib/components/popover/popover-trigger.ts +0 -27
  494. package/src/lib/components/popover/popover.ts +0 -66
  495. package/src/lib/components/progress/README.md +0 -75
  496. package/src/lib/components/progress/index.ts +0 -1
  497. package/src/lib/components/progress/progress.ts +0 -62
  498. package/src/lib/components/qr-code/README.md +0 -124
  499. package/src/lib/components/qr-code/index.ts +0 -3
  500. package/src/lib/components/qr-code/qr-code-download.ts +0 -105
  501. package/src/lib/components/qr-code/qr-code.ts +0 -121
  502. package/src/lib/components/qr-code/qr-generator.ts +0 -479
  503. package/src/lib/components/radio-group/README.md +0 -273
  504. package/src/lib/components/radio-group/index.ts +0 -3
  505. package/src/lib/components/radio-group/radio-field.ts +0 -43
  506. package/src/lib/components/radio-group/radio-group.ts +0 -18
  507. package/src/lib/components/radio-group/radio.ts +0 -30
  508. package/src/lib/components/range-slider/README.md +0 -118
  509. package/src/lib/components/range-slider/index.ts +0 -1
  510. package/src/lib/components/range-slider/range-slider.ts +0 -304
  511. package/src/lib/components/rating-field/README.md +0 -150
  512. package/src/lib/components/rating-field/index.ts +0 -3
  513. package/src/lib/components/rating-field/rating-field.ts +0 -87
  514. package/src/lib/components/rating-field/rating-item-group.ts +0 -73
  515. package/src/lib/components/rating-field/rating-item.ts +0 -89
  516. package/src/lib/components/resizable/README.md +0 -133
  517. package/src/lib/components/resizable/index.ts +0 -4
  518. package/src/lib/components/resizable/resizable-handle.ts +0 -160
  519. package/src/lib/components/resizable/resizable-panel-group.ts +0 -38
  520. package/src/lib/components/resizable/resizable-panel.ts +0 -51
  521. package/src/lib/components/resizable/resizable.types.ts +0 -1
  522. package/src/lib/components/scroll-area/README.md +0 -76
  523. package/src/lib/components/scroll-area/index.ts +0 -2
  524. package/src/lib/components/scroll-area/scroll-area.ts +0 -87
  525. package/src/lib/components/scroll-area/scroll-bar.ts +0 -207
  526. package/src/lib/components/search-input/README.md +0 -99
  527. package/src/lib/components/search-input/index.ts +0 -6
  528. package/src/lib/components/search-input/search-input-types.ts +0 -21
  529. package/src/lib/components/search-input/search-input.ts +0 -302
  530. package/src/lib/components/select/README.md +0 -175
  531. package/src/lib/components/select/index.ts +0 -9
  532. package/src/lib/components/select/select-icon.ts +0 -20
  533. package/src/lib/components/select/select-input.ts +0 -32
  534. package/src/lib/components/select/select-item-indicator.ts +0 -20
  535. package/src/lib/components/select/select-item.ts +0 -48
  536. package/src/lib/components/select/select-list.ts +0 -42
  537. package/src/lib/components/select/select-portal.ts +0 -48
  538. package/src/lib/components/select/select-trigger.ts +0 -36
  539. package/src/lib/components/select/select-value.ts +0 -32
  540. package/src/lib/components/select/select.ts +0 -57
  541. package/src/lib/components/separator/README.md +0 -59
  542. package/src/lib/components/separator/index.ts +0 -1
  543. package/src/lib/components/separator/separator.ts +0 -29
  544. package/src/lib/components/sheet/ARCHITECTURE.md +0 -915
  545. package/src/lib/components/sheet/README.md +0 -248
  546. package/src/lib/components/sheet/index.ts +0 -10
  547. package/src/lib/components/sheet/sheet-close.ts +0 -32
  548. package/src/lib/components/sheet/sheet-description.ts +0 -20
  549. package/src/lib/components/sheet/sheet-footer.ts +0 -20
  550. package/src/lib/components/sheet/sheet-header.ts +0 -17
  551. package/src/lib/components/sheet/sheet-portal.ts +0 -8
  552. package/src/lib/components/sheet/sheet-provider.ts +0 -142
  553. package/src/lib/components/sheet/sheet-title.ts +0 -20
  554. package/src/lib/components/sheet/sheet-trigger.ts +0 -24
  555. package/src/lib/components/sheet/sheet.ts +0 -92
  556. package/src/lib/components/sidebar/README.md +0 -254
  557. package/src/lib/components/sidebar/index.ts +0 -24
  558. package/src/lib/components/sidebar/sidebar-content.ts +0 -20
  559. package/src/lib/components/sidebar/sidebar-footer.ts +0 -17
  560. package/src/lib/components/sidebar/sidebar-group-action.ts +0 -24
  561. package/src/lib/components/sidebar/sidebar-group-content.ts +0 -17
  562. package/src/lib/components/sidebar/sidebar-group-label.ts +0 -23
  563. package/src/lib/components/sidebar/sidebar-group.ts +0 -17
  564. package/src/lib/components/sidebar/sidebar-header.ts +0 -17
  565. package/src/lib/components/sidebar/sidebar-input.ts +0 -20
  566. package/src/lib/components/sidebar/sidebar-inset.ts +0 -21
  567. package/src/lib/components/sidebar/sidebar-menu-action.ts +0 -31
  568. package/src/lib/components/sidebar/sidebar-menu-badge.ts +0 -25
  569. package/src/lib/components/sidebar/sidebar-menu-button.ts +0 -55
  570. package/src/lib/components/sidebar/sidebar-menu-item.ts +0 -17
  571. package/src/lib/components/sidebar/sidebar-menu-skeleton.ts +0 -40
  572. package/src/lib/components/sidebar/sidebar-menu-sub-button.ts +0 -33
  573. package/src/lib/components/sidebar/sidebar-menu-sub-item.ts +0 -15
  574. package/src/lib/components/sidebar/sidebar-menu-sub.ts +0 -21
  575. package/src/lib/components/sidebar/sidebar-menu.ts +0 -17
  576. package/src/lib/components/sidebar/sidebar-provider.ts +0 -128
  577. package/src/lib/components/sidebar/sidebar-rail.ts +0 -39
  578. package/src/lib/components/sidebar/sidebar-separator.ts +0 -21
  579. package/src/lib/components/sidebar/sidebar-state.service.ts +0 -33
  580. package/src/lib/components/sidebar/sidebar-trigger.ts +0 -38
  581. package/src/lib/components/sidebar/sidebar.ts +0 -120
  582. package/src/lib/components/signature-pad/README.md +0 -236
  583. package/src/lib/components/signature-pad/index.ts +0 -8
  584. package/src/lib/components/signature-pad/signature-pad-canvas.ts +0 -228
  585. package/src/lib/components/signature-pad/signature-pad-clear-button.ts +0 -48
  586. package/src/lib/components/signature-pad/signature-pad-color-button.ts +0 -50
  587. package/src/lib/components/signature-pad/signature-pad-controls.ts +0 -26
  588. package/src/lib/components/signature-pad/signature-pad-toolbar.ts +0 -25
  589. package/src/lib/components/signature-pad/signature-pad-undo-button.ts +0 -48
  590. package/src/lib/components/signature-pad/signature-pad-width-button.ts +0 -50
  591. package/src/lib/components/signature-pad/signature-pad.ts +0 -97
  592. package/src/lib/components/skeleton/README.md +0 -80
  593. package/src/lib/components/skeleton/index.ts +0 -1
  594. package/src/lib/components/skeleton/skeleton.ts +0 -17
  595. package/src/lib/components/slider/README.md +0 -106
  596. package/src/lib/components/slider/index.ts +0 -4
  597. package/src/lib/components/slider/slider-range.ts +0 -28
  598. package/src/lib/components/slider/slider-thumb.ts +0 -73
  599. package/src/lib/components/slider/slider-track.ts +0 -31
  600. package/src/lib/components/slider/slider.ts +0 -185
  601. package/src/lib/components/sortable-list/README.md +0 -229
  602. package/src/lib/components/sortable-list/index.ts +0 -4
  603. package/src/lib/components/sortable-list/sortable-handle.ts +0 -72
  604. package/src/lib/components/sortable-list/sortable-item.ts +0 -162
  605. package/src/lib/components/sortable-list/sortable-list.ts +0 -127
  606. package/src/lib/components/sortable-list/sortable-overlay.ts +0 -31
  607. package/src/lib/components/speed-dial/README.md +0 -259
  608. package/src/lib/components/speed-dial/index.ts +0 -7
  609. package/src/lib/components/speed-dial/speed-dial-action.ts +0 -99
  610. package/src/lib/components/speed-dial/speed-dial-types.ts +0 -14
  611. package/src/lib/components/speed-dial/speed-dial.ts +0 -224
  612. package/src/lib/components/spinner/README.md +0 -41
  613. package/src/lib/components/spinner/index.ts +0 -1
  614. package/src/lib/components/spinner/spinner.ts +0 -20
  615. package/src/lib/components/split-button/README.md +0 -99
  616. package/src/lib/components/split-button/index.ts +0 -6
  617. package/src/lib/components/split-button/split-button-types.ts +0 -14
  618. package/src/lib/components/split-button/split-button.ts +0 -240
  619. package/src/lib/components/spotlight/README.md +0 -136
  620. package/src/lib/components/spotlight/index.ts +0 -5
  621. package/src/lib/components/spotlight/spotlight-actions.ts +0 -24
  622. package/src/lib/components/spotlight/spotlight-description.ts +0 -24
  623. package/src/lib/components/spotlight/spotlight-title.ts +0 -24
  624. package/src/lib/components/spotlight/spotlight.ts +0 -367
  625. package/src/lib/components/stat-card/README.md +0 -319
  626. package/src/lib/components/stat-card/REFACTORING-COMPLETE.md +0 -250
  627. package/src/lib/components/stat-card/REFACTORING-PLAN.md +0 -471
  628. package/src/lib/components/stat-card/index.ts +0 -11
  629. package/src/lib/components/stat-card/stat-card-change.ts +0 -27
  630. package/src/lib/components/stat-card/stat-card-description.ts +0 -17
  631. package/src/lib/components/stat-card/stat-card-icon.ts +0 -28
  632. package/src/lib/components/stat-card/stat-card-label.ts +0 -27
  633. package/src/lib/components/stat-card/stat-card-types.ts +0 -3
  634. package/src/lib/components/stat-card/stat-card-value.ts +0 -27
  635. package/src/lib/components/stat-card/stat-card.ts +0 -34
  636. package/src/lib/components/stepper/README.md +0 -250
  637. package/src/lib/components/stepper/index.ts +0 -12
  638. package/src/lib/components/stepper/stepper-content.ts +0 -25
  639. package/src/lib/components/stepper/stepper-description.ts +0 -17
  640. package/src/lib/components/stepper/stepper-item.ts +0 -35
  641. package/src/lib/components/stepper/stepper-list.ts +0 -26
  642. package/src/lib/components/stepper/stepper-next.ts +0 -41
  643. package/src/lib/components/stepper/stepper-previous.ts +0 -42
  644. package/src/lib/components/stepper/stepper-separator.ts +0 -35
  645. package/src/lib/components/stepper/stepper-title.ts +0 -17
  646. package/src/lib/components/stepper/stepper-trigger.ts +0 -67
  647. package/src/lib/components/stepper/stepper-types.ts +0 -10
  648. package/src/lib/components/stepper/stepper.ts +0 -46
  649. package/src/lib/components/switch/README.md +0 -99
  650. package/src/lib/components/switch/index.ts +0 -1
  651. package/src/lib/components/switch/switch.ts +0 -56
  652. package/src/lib/components/table/README.md +0 -105
  653. package/src/lib/components/table/index.ts +0 -8
  654. package/src/lib/components/table/table-body.ts +0 -17
  655. package/src/lib/components/table/table-caption.ts +0 -17
  656. package/src/lib/components/table/table-cell.ts +0 -17
  657. package/src/lib/components/table/table-footer.ts +0 -20
  658. package/src/lib/components/table/table-header-cell.ts +0 -20
  659. package/src/lib/components/table/table-header.ts +0 -17
  660. package/src/lib/components/table/table-row.ts +0 -20
  661. package/src/lib/components/table/table.ts +0 -17
  662. package/src/lib/components/tabs/README.md +0 -169
  663. package/src/lib/components/tabs/index.ts +0 -4
  664. package/src/lib/components/tabs/tab-list.ts +0 -38
  665. package/src/lib/components/tabs/tab-panel.ts +0 -45
  666. package/src/lib/components/tabs/tab.ts +0 -45
  667. package/src/lib/components/tabs/tabs.ts +0 -28
  668. package/src/lib/components/tag-input/README.md +0 -271
  669. package/src/lib/components/tag-input/index.ts +0 -5
  670. package/src/lib/components/tag-input/tag-input-clear.ts +0 -60
  671. package/src/lib/components/tag-input/tag-input-count.ts +0 -42
  672. package/src/lib/components/tag-input/tag-input-field.ts +0 -121
  673. package/src/lib/components/tag-input/tag-input-tag.ts +0 -70
  674. package/src/lib/components/tag-input/tag-input.ts +0 -118
  675. package/src/lib/components/textarea/README.md +0 -80
  676. package/src/lib/components/textarea/index.ts +0 -1
  677. package/src/lib/components/textarea/textarea.ts +0 -41
  678. package/src/lib/components/theme-toggle/README.md +0 -258
  679. package/src/lib/components/theme-toggle/index.ts +0 -4
  680. package/src/lib/components/theme-toggle/theme-field.ts +0 -40
  681. package/src/lib/components/theme-toggle/theme-select.ts +0 -56
  682. package/src/lib/components/theme-toggle/theme-toggle.ts +0 -76
  683. package/src/lib/components/theme-toggle/theme.service.ts +0 -81
  684. package/src/lib/components/time-picker/README.md +0 -188
  685. package/src/lib/components/time-picker/index.ts +0 -5
  686. package/src/lib/components/time-picker/time-picker-clock.ts +0 -195
  687. package/src/lib/components/time-picker/time-picker-input.ts +0 -174
  688. package/src/lib/components/time-picker/time-picker-period.ts +0 -89
  689. package/src/lib/components/time-picker/time-picker-separator.ts +0 -20
  690. package/src/lib/components/time-picker/time-picker.ts +0 -87
  691. package/src/lib/components/timeline/README.md +0 -177
  692. package/src/lib/components/timeline/index.ts +0 -8
  693. package/src/lib/components/timeline/timeline-connector.ts +0 -29
  694. package/src/lib/components/timeline/timeline-content.ts +0 -26
  695. package/src/lib/components/timeline/timeline-description.ts +0 -17
  696. package/src/lib/components/timeline/timeline-dot.ts +0 -45
  697. package/src/lib/components/timeline/timeline-item.ts +0 -28
  698. package/src/lib/components/timeline/timeline-time.ts +0 -17
  699. package/src/lib/components/timeline/timeline-title.ts +0 -17
  700. package/src/lib/components/timeline/timeline.ts +0 -17
  701. package/src/lib/components/timezone/index.ts +0 -5
  702. package/src/lib/components/timezone/timezone-badge.ts +0 -85
  703. package/src/lib/components/timezone/timezone-button.ts +0 -104
  704. package/src/lib/components/timezone/timezone-display.ts +0 -105
  705. package/src/lib/components/timezone/timezone-select.ts +0 -87
  706. package/src/lib/components/timezone/timezone.service.ts +0 -233
  707. package/src/lib/components/toast/README.md +0 -151
  708. package/src/lib/components/toast/index.ts +0 -8
  709. package/src/lib/components/toast/toast-action.ts +0 -27
  710. package/src/lib/components/toast/toast-close.ts +0 -29
  711. package/src/lib/components/toast/toast-description.ts +0 -17
  712. package/src/lib/components/toast/toast-stack.ts +0 -95
  713. package/src/lib/components/toast/toast-title.ts +0 -17
  714. package/src/lib/components/toast/toast.ts +0 -64
  715. package/src/lib/components/toast/toast.types.ts +0 -24
  716. package/src/lib/components/toast/toaster.ts +0 -67
  717. package/src/lib/components/toggle/README.md +0 -72
  718. package/src/lib/components/toggle/index.ts +0 -1
  719. package/src/lib/components/toggle/toggle.ts +0 -53
  720. package/src/lib/components/toggle-group/README.md +0 -101
  721. package/src/lib/components/toggle-group/index.ts +0 -2
  722. package/src/lib/components/toggle-group/toggle-group-item.ts +0 -62
  723. package/src/lib/components/toggle-group/toggle-group.ts +0 -53
  724. package/src/lib/components/toolbar/README.md +0 -76
  725. package/src/lib/components/toolbar/index.ts +0 -4
  726. package/src/lib/components/toolbar/toolbar-separator.ts +0 -32
  727. package/src/lib/components/toolbar/toolbar-widget-group.ts +0 -35
  728. package/src/lib/components/toolbar/toolbar-widget.ts +0 -48
  729. package/src/lib/components/toolbar/toolbar.ts +0 -44
  730. package/src/lib/components/tooltip/ANIMATIONS.md +0 -274
  731. package/src/lib/components/tooltip/README.md +0 -100
  732. package/src/lib/components/tooltip/index.ts +0 -3
  733. package/src/lib/components/tooltip/tooltip-manager.ts +0 -194
  734. package/src/lib/components/tooltip/tooltip-trigger.ts +0 -148
  735. package/src/lib/components/tooltip/tooltip.ts +0 -72
  736. package/src/lib/components/tour-guide/README.md +0 -158
  737. package/src/lib/components/tour-guide/index.ts +0 -2
  738. package/src/lib/components/tour-guide/tour-guide.ts +0 -492
  739. package/src/lib/components/transfer-list/README.md +0 -98
  740. package/src/lib/components/transfer-list/index.ts +0 -5
  741. package/src/lib/components/transfer-list/transfer-list-types.ts +0 -11
  742. package/src/lib/components/transfer-list/transfer-list.ts +0 -434
  743. package/src/lib/components/tree/README.md +0 -358
  744. package/src/lib/components/tree/TODO.md +0 -94
  745. package/src/lib/components/tree/index.ts +0 -6
  746. package/src/lib/components/tree/tree-item-group.ts +0 -40
  747. package/src/lib/components/tree/tree-item-icon.ts +0 -17
  748. package/src/lib/components/tree/tree-item-trigger-icon.ts +0 -26
  749. package/src/lib/components/tree/tree-item-trigger.ts +0 -51
  750. package/src/lib/components/tree/tree-item.ts +0 -64
  751. package/src/lib/components/tree/tree.ts +0 -21
  752. package/src/lib/components/video-player/README.md +0 -275
  753. package/src/lib/components/video-player/index.ts +0 -14
  754. package/src/lib/components/video-player/video-player-big-play-button.ts +0 -35
  755. package/src/lib/components/video-player/video-player-buffering.ts +0 -36
  756. package/src/lib/components/video-player/video-player-controls.ts +0 -28
  757. package/src/lib/components/video-player/video-player-fullscreen-button.ts +0 -38
  758. package/src/lib/components/video-player/video-player-pip-button.ts +0 -37
  759. package/src/lib/components/video-player/video-player-play-button.ts +0 -37
  760. package/src/lib/components/video-player/video-player-progress.ts +0 -56
  761. package/src/lib/components/video-player/video-player-skip-button.ts +0 -44
  762. package/src/lib/components/video-player/video-player-speed-button.ts +0 -74
  763. package/src/lib/components/video-player/video-player-time.ts +0 -31
  764. package/src/lib/components/video-player/video-player-types.ts +0 -13
  765. package/src/lib/components/video-player/video-player-video.ts +0 -127
  766. package/src/lib/components/video-player/video-player-volume.ts +0 -61
  767. package/src/lib/components/video-player/video-player.ts +0 -139
  768. package/src/lib/components/virtual-list/README.md +0 -120
  769. package/src/lib/components/virtual-list/index.ts +0 -2
  770. package/src/lib/components/virtual-list/virtual-list-types.ts +0 -9
  771. package/src/lib/components/virtual-list/virtual-list.ts +0 -174
  772. package/src/lib/layouts/auth-layout.ts +0 -30
  773. package/src/lib/layouts/index.ts +0 -3
  774. package/src/lib/layouts/sidebar-layout.ts +0 -37
  775. package/src/lib/layouts/stacked-layout/README.md +0 -84
  776. package/src/lib/layouts/stacked-layout/index.ts +0 -1
  777. package/src/lib/layouts/stacked-layout/stacked-layout.ts +0 -39
  778. package/tsconfig.json +0 -28
  779. package/tsconfig.lib.json +0 -12
  780. package/tsconfig.lib.prod.json +0 -9
@@ -1,569 +0,0 @@
1
- # Popover Architecture
2
-
3
- ## Overview
4
-
5
- The popover component uses a simplified two-signal architecture pattern to ensure smooth animations before DOM cleanup. Unlike dialog/sheet/drawer components, popover has **no backdrop** and uses `cdkConnectedOverlay` for positioning relative to a trigger element.
6
-
7
- **Popover-Specific Features:**
8
-
9
- - Uses `cdkConnectedOverlay` directive for trigger-relative positioning
10
- - No backdrop (closes on outside click via `overlayOutsideClick`)
11
- - Positioned dynamically based on `side` and `align` inputs
12
- - Lightweight fade + zoom animations (200ms)
13
-
14
- ## Component Structure
15
-
16
- ```
17
- ScPopoverProvider (Root State Manager)
18
- └── ScPopoverTrigger (Trigger Element - provides CdkOverlayOrigin)
19
- └── ScPopoverPortal (CDK Connected Overlay Manager)
20
- └── ScPopover (Popover Content - positioned relative to trigger)
21
- └── ScPopoverClose (Optional)
22
- ```
23
-
24
- ## The Two-Signal Pattern
25
-
26
- Since popover has no backdrop, we only need to coordinate **one animation** (the popover itself). This simplifies the pattern to just two signals.
27
-
28
- ### Signal 1: `open` (Logical State)
29
-
30
- **Purpose:** Controls what the popover _should_ be doing
31
-
32
- ```typescript
33
- // In ScPopoverProvider
34
- readonly open = model<boolean>(false);
35
- ```
36
-
37
- **Responsibilities:**
38
-
39
- - Represents user intent ("should the popover be visible?")
40
- - Triggers animation state changes
41
- - When `true`: Triggers entry animation
42
- - When `false`: Triggers exit animation
43
-
44
- ### Signal 2: `overlayOpen` (Physical State)
45
-
46
- **Purpose:** Controls whether DOM exists via `cdkConnectedOverlayOpen`
47
-
48
- ```typescript
49
- // In ScPopoverProvider
50
- readonly overlayOpen = signal<boolean>(false);
51
- ```
52
-
53
- **Responsibilities:**
54
-
55
- - Controls CDK connected overlay attachment/detachment
56
- - Stays `true` during close animation (critical!)
57
- - Only becomes `false` after animation completes
58
- - Ensures animation can play before DOM removal
59
- - Bound to `[cdkConnectedOverlayOpen]` in the portal template
60
-
61
- ### Why Both Are Needed
62
-
63
- **The Problem:**
64
-
65
- CDK connected overlay's lifecycle is tied to the `cdkConnectedOverlayOpen` input:
66
-
67
- ```typescript
68
- // ❌ This doesn't work:
69
- <ng-template [cdkConnectedOverlayOpen]="open()">
70
- <!-- Content appears/disappears instantly -->
71
- <!-- No time for close animation to play! -->
72
- </ng-template>
73
- ```
74
-
75
- **The Solution:**
76
-
77
- Separate signals allow animation completion:
78
-
79
- ```typescript
80
- // ✅ This works:
81
- <ng-template [cdkConnectedOverlayOpen]="overlayOpen()">
82
- <!-- Physical state - removed AFTER animation -->
83
- </ng-template>
84
-
85
- // Meanwhile, open() controls animations:
86
- if (open()) {
87
- // Logical state
88
- state = 'open'; // Entry animation
89
- } else {
90
- state = 'closed'; // Exit animation (DOM still mounted!)
91
- }
92
- ```
93
-
94
- ## Animation Architecture
95
-
96
- ### Single Animated Layer
97
-
98
- Unlike dialog/sheet/drawer, popover has only **one animated element**:
99
-
100
- 1. **Popover Content** (200ms fade + zoom)
101
- - Zoom + Fade effects
102
- - Managed by Tailwind animate classes
103
- - Completion detected via `animationend` event
104
- - No backdrop to coordinate with
105
-
106
- ### Popover Content Animations
107
-
108
- Applied via Tailwind classes in `popover.ts`:
109
-
110
- ```typescript
111
- protected readonly class = computed(() =>
112
- cn(
113
- // Base styles
114
- 'bg-popover text-popover-foreground z-50 w-72 rounded-md border p-4 shadow-md outline-none',
115
-
116
- // Entry animation (fade + zoom in)
117
- 'animate-in fade-in-0 zoom-in-95 duration-200',
118
-
119
- // Exit animation (triggered by data-state="closed")
120
- 'data-[state=closed]:animate-out',
121
- 'data-[state=closed]:fade-out-0',
122
- 'data-[state=closed]:zoom-out-95',
123
- 'data-[state=closed]:duration-200',
124
- ),
125
- );
126
- ```
127
-
128
- **Animation Flow:**
129
-
130
- 1. `state` signal changes from `'open'` to `'closed'`
131
- 2. `data-state` attribute updates to `"closed"`
132
- 3. Tailwind applies exit animation classes
133
- 4. Animation plays for 200ms
134
- 5. `animationend` event fires
135
- 6. Provider sets `overlayOpen = false`
136
- 7. CDK removes the overlay from DOM
137
-
138
- **Why Shorter Duration (200ms vs 300ms)?**
139
-
140
- Popovers are lightweight UI elements that should appear/disappear quickly. The shorter 200ms duration makes them feel more responsive while still providing smooth visual feedback.
141
-
142
- ## Complete Animation Timeline
143
-
144
- ### Opening Sequence
145
-
146
- ```
147
- User clicks trigger:
148
-
149
- ├─ t=0ms: Trigger calls open.set(true)
150
- │ │
151
- │ └─ Provider effect:
152
- │ └─ overlayOpen.set(true) ← Effect responds immediately
153
- │ └─ cdkConnectedOverlayOpen becomes true
154
- │ └─ CDK attaches connected overlay ← DOM mounted
155
-
156
- ├─ t=0ms: Popover effect (triggered by open):
157
- │ └─ state.set('open')
158
- │ └─ data-state="open" → Entry animation starts
159
- │ ├─ fade-in-0
160
- │ ├─ zoom-in-95
161
- │ └─ duration-200
162
-
163
- ├─ t=0-200ms: Animation plays
164
-
165
- └─ t=200ms: Animation complete, popover visible
166
- ```
167
-
168
- ### Closing Sequence
169
-
170
- ```
171
- User clicks outside/presses Escape/clicks close button:
172
-
173
- ├─ t=0ms: Portal calls open.set(false)
174
- │ │
175
- │ └─ Popover effect (triggered by open):
176
- │ └─ state.set('closed') ← Triggers animation
177
- │ └─ data-state="closed" → Exit animation starts
178
- │ ├─ animate-out
179
- │ ├─ fade-out-0
180
- │ ├─ zoom-out-95
181
- │ └─ duration-200
182
-
183
- ├─ IMPORTANT: overlayOpen is STILL true!
184
- │ └─ DOM remains mounted so animation can play
185
- │ └─ cdkConnectedOverlayOpen still true
186
-
187
- ├─ t=0-200ms: Animation plays
188
-
189
- ├─ t=~200ms: Popover animation completes
190
- │ └─ onAnimationEnd(event) fires
191
- │ └─ if (state === 'closed' && target === element):
192
- │ └─ provider.onPopoverAnimationComplete()
193
- │ └─ overlayOpen.set(false) ← Cleanup triggered!
194
-
195
- └─ t=~200ms: cdkConnectedOverlayOpen becomes false
196
- └─ CDK detaches overlay ← DOM removed cleanly after animation
197
- ```
198
-
199
- ## No Backdrop Coordination
200
-
201
- Unlike dialog/sheet/drawer, popover doesn't need to coordinate multiple animations:
202
-
203
- - ❌ No backdrop animation
204
- - ❌ No `animationsCompleted` counter
205
- - ✅ Single animation to track (popover itself)
206
- - ✅ Simpler cleanup logic
207
-
208
- ```typescript
209
- // Popover (simplified - no counter needed)
210
- onPopoverAnimationComplete(): void {
211
- if (!this.open()) {
212
- this.overlayOpen.set(false); // Direct cleanup
213
- }
214
- }
215
- ```
216
-
217
- Compare with dialog/sheet/drawer:
218
-
219
- ```typescript
220
- // Dialog/Sheet/Drawer (complex - counter needed)
221
- onDialogAnimationComplete(): void {
222
- if (!this.open()) {
223
- this.animationsCompleted.update(n => n + 1); // Increment counter
224
- }
225
- }
226
-
227
- onBackdropAnimationComplete(): void {
228
- if (!this.open()) {
229
- this.animationsCompleted.update(n => n + 1); // Wait for both
230
- }
231
- }
232
- ```
233
-
234
- ## State Synchronization
235
-
236
- ### Provider Constructor Effects
237
-
238
- ```typescript
239
- constructor() {
240
- // Effect: Sync overlayOpen with open for OPENING
241
- effect(() => {
242
- if (this.open()) {
243
- // Opening: Mount DOM immediately so animation can start
244
- this.overlayOpen.set(true);
245
- }
246
- // Note: When closing (open = false), overlayOpen stays true
247
- // until animation completes (handled by onPopoverAnimationComplete)
248
- });
249
- }
250
- ```
251
-
252
- **Why no second effect?**
253
-
254
- Unlike dialog/sheet/drawer, popover doesn't need a second effect to check animation counter completion. Instead, `onPopoverAnimationComplete()` directly sets `overlayOpen = false`.
255
-
256
- ### Popover Constructor Effects
257
-
258
- ```typescript
259
- constructor() {
260
- // Effect: Sync animation state with logical state
261
- effect(() => {
262
- const isOpen = this.popover.open();
263
- this.state.set(isOpen ? 'open' : 'closed');
264
- });
265
- }
266
- ```
267
-
268
- ### Portal Template Binding
269
-
270
- ```typescript
271
- // Portal template
272
- <ng-template
273
- [cdkConnectedOverlayOpen]="popover.overlayOpen()"
274
- [cdkConnectedOverlay]="{ origin, usePopover: 'inline' }"
275
- [cdkConnectedOverlayPositions]="[position()]"
276
- (overlayOutsideClick)="closePopover()"
277
- (overlayKeydown)="onKeydown($event)"
278
- >
279
- <ng-content />
280
- </ng-template>
281
- ```
282
-
283
- **Key Binding:**
284
-
285
- - `[cdkConnectedOverlayOpen]="popover.overlayOpen()"` - Uses **physical state**, not logical state
286
- - This delays DOM removal until animation completes
287
-
288
- ## Animation Completion Handling
289
-
290
- ### Popover Component
291
-
292
- ```typescript
293
- protected onAnimationEnd(event: AnimationEvent): void {
294
- // Only trigger cleanup when close animation completes
295
- if (
296
- this.state() === 'closed' &&
297
- event.target === this.elementRef.nativeElement
298
- ) {
299
- this.popover.onPopoverAnimationComplete();
300
- }
301
- }
302
- ```
303
-
304
- **Why check `event.target`?**
305
-
306
- - `animationend` bubbles from child elements
307
- - We only care about the popover's own animation
308
- - Prevents false triggers from child element animations
309
-
310
- ### Provider Component
311
-
312
- ```typescript
313
- /**
314
- * Called by popover when its close animation completes
315
- */
316
- onPopoverAnimationComplete(): void {
317
- if (!this.open()) {
318
- this.overlayOpen.set(false); // Direct cleanup (no counter)
319
- }
320
- }
321
- ```
322
-
323
- **Why check `!this.open()` before setting?**
324
-
325
- - User might have reopened popover during close animation
326
- - Guards against race conditions
327
- - Example: User clicks outside (close starts), then immediately clicks trigger again (reopens)
328
- - Without this check, overlayOpen would incorrectly be set to false for the new open cycle
329
-
330
- ## Comparison: Popover vs Dialog/Sheet/Drawer
331
-
332
- ### Similarities
333
-
334
- Both use the two-signal pattern:
335
-
336
- - ✅ Logical state (`open`) drives animations
337
- - ✅ Physical state (`overlayOpen`) controls DOM lifecycle
338
- - ✅ Event-driven animation completion
339
- - ✅ Guard pattern to prevent race conditions
340
-
341
- ### Differences
342
-
343
- | Feature | Popover | Dialog/Sheet/Drawer |
344
- | ----------------- | -------------------------------------- | ----------------------- |
345
- | **Backdrop** | ❌ None | ✅ ScBackdrop component |
346
- | **Positioning** | Trigger-relative (cdkConnectedOverlay) | Global (Overlay.create) |
347
- | **Animations** | 1 (popover only) | 2 (content + backdrop) |
348
- | **Coordination** | Direct cleanup | Signal counter |
349
- | **Duration** | 200ms | 300ms |
350
- | **Outside Click** | overlayOutsideClick | backdropClick |
351
-
352
- ## Key Design Decisions
353
-
354
- ### 1. Separation of Concerns
355
-
356
- **Decision:** Split logical state (`open`) from physical state (`overlayOpen`)
357
-
358
- **Why:**
359
-
360
- - Logical state drives animations
361
- - Physical state drives DOM lifecycle (via cdkConnectedOverlayOpen)
362
- - Animation needs time to complete before DOM removal
363
- - Clean separation makes flow easier to understand
364
-
365
- ### 2. Direct Cleanup (No Counter)
366
-
367
- **Decision:** Set `overlayOpen = false` directly in animation complete handler
368
-
369
- **Why:**
370
-
371
- - Only one animation to track (no backdrop)
372
- - No need for counter complexity
373
- - Simpler code, easier to understand
374
- - Still uses guard pattern for safety
375
-
376
- ### 3. Guard Pattern
377
-
378
- **Decision:** Check `!open()` before setting `overlayOpen = false`
379
-
380
- **Why:**
381
-
382
- - User might reopen during close animation
383
- - Prevents overlayOpen from being set to false during new open cycle
384
- - Same guard pattern as dialog/sheet/drawer for consistency
385
-
386
- ### 4. Effect-Based Reactivity
387
-
388
- **Decision:** Use Angular effects instead of manual subscriptions
389
-
390
- **Why:**
391
-
392
- - Automatic cleanup on component destruction
393
- - Declarative: describes "what" not "how"
394
- - Runs automatically when dependencies change
395
- - Easier to reason about than imperative code
396
-
397
- ### 5. Shorter Animation Duration
398
-
399
- **Decision:** Use 200ms instead of 300ms for animations
400
-
401
- **Why:**
402
-
403
- - Popovers are lightweight, ephemeral UI elements
404
- - Should feel snappy and responsive
405
- - Still long enough for smooth visual feedback
406
- - Consistent with typical popover/tooltip timing
407
-
408
- ## Animation Classes Reference
409
-
410
- ### Popover Content Classes
411
-
412
- ```typescript
413
- // Entry animation
414
- 'animate-in fade-in-0 zoom-in-95 duration-200';
415
-
416
- // Exit animation (via data-state="closed")
417
- 'data-[state=closed]:animate-out';
418
- 'data-[state=closed]:fade-out-0';
419
- 'data-[state=closed]:zoom-out-95';
420
- 'data-[state=closed]:duration-200';
421
- ```
422
-
423
- ## Accessibility Considerations
424
-
425
- The animation system preserves accessibility:
426
-
427
- 1. **Focus Management:** Popover receives tabindex="-1" for programmatic focus
428
- 2. **ARIA Attributes:** `role="dialog"` set before animations start
429
- 3. **Screen Readers:** Announce popover immediately (not after animation)
430
- 4. **Keyboard:** Escape key works during animations to trigger close
431
- 5. **Outside Click:** Click outside works during animations to trigger close
432
- 6. **Reduced Motion:** Could add `@media (prefers-reduced-motion)` support
433
-
434
- ## Performance Considerations
435
-
436
- ### Efficient Rendering
437
-
438
- - Uses `ChangeDetectionStrategy.OnPush` everywhere
439
- - Effects only run when dependencies change
440
- - No manual subscriptions to manage
441
- - CDK handles overlay lifecycle efficiently
442
-
443
- ### Animation Performance
444
-
445
- - CSS animations (GPU accelerated)
446
- - Opacity and transform (composited properties)
447
- - No layout thrashing
448
- - Minimal JavaScript during animation
449
-
450
- ### Memory Management
451
-
452
- - Effects auto-cleanup on destroy
453
- - No timeout leaks (event-driven approach)
454
- - CDK detaches overlay after use
455
- - No memory leaks
456
-
457
- ## Connected Overlay Benefits
458
-
459
- Using `cdkConnectedOverlay` provides:
460
-
461
- 1. **Automatic Positioning**: Positions relative to trigger with collision detection
462
- 2. **Flexible Alignment**: Configure side (top/right/bottom/left) and align (start/center/end)
463
- 3. **Scroll Handling**: Repositions on scroll automatically
464
- 4. **Viewport Constraints**: Stays within viewport bounds
465
- 5. **Direction Detection**: Can flip to opposite side if not enough space
466
-
467
- ## Future Enhancements
468
-
469
- ### Potential Improvements
470
-
471
- 1. **Variable Animation Durations:**
472
- - Input property for animation duration
473
- - Configurable timing for different use cases
474
-
475
- 2. **Animation Events:**
476
- - Output events for animation start/end
477
- - External components can react to animation state
478
-
479
- 3. **Reduced Motion Support:**
480
- - Detect `prefers-reduced-motion`
481
- - Instant show/hide if user prefers
482
- - Keep accessibility benefits
483
-
484
- 4. **Custom Positioning:**
485
- - Support for custom ConnectedPosition configurations
486
- - Fine-grained offset control
487
-
488
- 5. **Hover Triggers:**
489
- - Support for hover-to-open (with delay)
490
- - Tooltip-like behavior option
491
-
492
- ## Testing Considerations
493
-
494
- ### What to Test
495
-
496
- 1. **State Transitions:**
497
- - open: false → true → false
498
- - overlayOpen follows correctly
499
- - state syncs with open
500
-
501
- 2. **Animation Timing:**
502
- - Animation plays for full duration (200ms)
503
- - DOM not removed early
504
- - Popover fades and zooms correctly
505
-
506
- 3. **Positioning:**
507
- - All side/align combinations work
508
- - Collision detection repositions correctly
509
- - Stays within viewport bounds
510
-
511
- 4. **Interaction:**
512
- - Outside click closes popover
513
- - Escape key closes popover
514
- - Trigger reopens after close
515
-
516
- 5. **Edge Cases:**
517
- - Rapid open/close
518
- - Open during close animation
519
- - Close during open animation
520
-
521
- 6. **Cleanup:**
522
- - No memory leaks
523
- - Effects unsubscribe
524
- - No hanging timeouts
525
-
526
- ### Testing Strategy
527
-
528
- ```typescript
529
- // Example test structure
530
- describe('Popover Animations', () => {
531
- it('should keep DOM mounted during close animation', async () => {
532
- // Open popover
533
- provider.open.set(true);
534
- fixture.detectChanges();
535
-
536
- // Close popover
537
- provider.open.set(false);
538
- fixture.detectChanges();
539
-
540
- // Immediately after close - overlayOpen should still be true
541
- expect(provider.overlayOpen()).toBe(true);
542
-
543
- // After animation completes - overlayOpen should be false
544
- await delay(300); // Buffer for 200ms animation
545
- expect(provider.overlayOpen()).toBe(false);
546
- });
547
- });
548
- ```
549
-
550
- ## Summary
551
-
552
- The popover animation architecture achieves smooth, reliable animations through:
553
-
554
- 1. **Two-signal pattern:** Separates intent (`open`) from DOM lifecycle (`overlayOpen`)
555
- 2. **Event-driven completion:** Popover explicitly signals when animation is done
556
- 3. **Direct cleanup:** No counter needed (only one animation)
557
- 4. **Reactive updates:** Effects respond to state changes automatically
558
- 5. **Robust timing:** No assumptions, handles browser variations
559
- 6. **CDK integration:** Works seamlessly with `cdkConnectedOverlay`
560
-
561
- This architecture provides:
562
-
563
- - ✅ Reliable animation completion detection
564
- - ✅ Clean separation of concerns
565
- - ✅ Simpler than multi-animation overlay components
566
- - ✅ No race conditions or timing assumptions
567
- - ✅ Debuggable signal-based state
568
- - ✅ Better user experience (smooth, never cut off)
569
- - ✅ Lightweight and performant (200ms animations)