@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,118 +0,0 @@
1
- import {
2
- computed,
3
- Directive,
4
- ElementRef,
5
- InjectionToken,
6
- input,
7
- model,
8
- output,
9
- signal,
10
- } from '@angular/core';
11
- import { cn } from '@semantic-components/ui';
12
-
13
- // Token for tag input context
14
- export const SC_TAG_INPUT = new InjectionToken<ScTagInput>('SC_TAG_INPUT');
15
-
16
- // ============================================================================
17
- // TagInput
18
- // ============================================================================
19
- @Directive({
20
- selector: '[sc-tag-input]',
21
- exportAs: 'scTagInput',
22
- providers: [{ provide: SC_TAG_INPUT, useExisting: ScTagInput }],
23
- host: {
24
- 'data-slot': 'tag-input',
25
- '[class]': 'class()',
26
- '[attr.data-disabled]': 'disabled() || null',
27
- '[attr.data-focused]': 'isFocused() || null',
28
- '(click)': 'focusInput()',
29
- },
30
- })
31
- export class ScTagInput {
32
- readonly classInput = input<string>('', { alias: 'class' });
33
- readonly tags = model<string[]>([]);
34
- readonly placeholder = input<string>('Add tag...');
35
- readonly disabled = input<boolean>(false);
36
- readonly maxTags = input<number | null>(null);
37
- readonly allowDuplicates = input<boolean>(false);
38
- readonly delimiters = input<string[]>(['Enter', ',']);
39
- readonly minLength = input<number>(1);
40
- readonly maxLength = input<number | null>(null);
41
-
42
- readonly tagAdd = output<string>();
43
- readonly tagRemove = output<string>();
44
-
45
- readonly isFocused = signal(false);
46
- readonly inputValue = signal('');
47
-
48
- private inputRef: ElementRef<HTMLInputElement> | null = null;
49
-
50
- protected readonly class = computed(() =>
51
- cn(
52
- 'flex flex-wrap items-center gap-1.5 min-h-10 w-full rounded-md border border-input bg-background px-3 py-2',
53
- 'focus-within:ring-1 focus-within:ring-ring focus-within:border-ring',
54
- 'data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50',
55
- this.classInput(),
56
- ),
57
- );
58
-
59
- readonly canAddMore = computed(() => {
60
- const max = this.maxTags();
61
- if (max === null) return true;
62
- return this.tags().length < max;
63
- });
64
-
65
- setInputRef(ref: ElementRef<HTMLInputElement>): void {
66
- this.inputRef = ref;
67
- }
68
-
69
- focusInput(): void {
70
- if (!this.disabled()) {
71
- this.inputRef?.nativeElement.focus();
72
- }
73
- }
74
-
75
- addTag(value: string): boolean {
76
- const trimmed = value.trim();
77
-
78
- // Validation
79
- if (trimmed.length < this.minLength()) return false;
80
- if (this.maxLength() !== null && trimmed.length > this.maxLength()!)
81
- return false;
82
- if (!this.canAddMore()) return false;
83
- if (!this.allowDuplicates() && this.tags().includes(trimmed)) return false;
84
-
85
- this.tags.update((tags) => [...tags, trimmed]);
86
- this.tagAdd.emit(trimmed);
87
- return true;
88
- }
89
-
90
- removeTag(tag: string): void {
91
- if (this.disabled()) return;
92
- this.tags.update((tags) => tags.filter((t) => t !== tag));
93
- this.tagRemove.emit(tag);
94
- }
95
-
96
- removeTagAtIndex(index: number): void {
97
- if (this.disabled()) return;
98
- const tag = this.tags()[index];
99
- if (tag) {
100
- this.tags.update((tags) => tags.filter((_, i) => i !== index));
101
- this.tagRemove.emit(tag);
102
- }
103
- }
104
-
105
- removeLastTag(): void {
106
- const tags = this.tags();
107
- if (tags.length > 0) {
108
- this.removeTagAtIndex(tags.length - 1);
109
- }
110
- }
111
-
112
- clearAll(): void {
113
- if (this.disabled()) return;
114
- const removed = [...this.tags()];
115
- this.tags.set([]);
116
- removed.forEach((tag) => this.tagRemove.emit(tag));
117
- }
118
- }
@@ -1,80 +0,0 @@
1
- # Textarea
2
-
3
- Displays a form textarea or a component that looks like a textarea.
4
-
5
- ## Components
6
-
7
- - `ScTextarea` - Styled textarea directive for multi-line text input
8
-
9
- ## Usage
10
-
11
- ```html
12
- <textarea sc-textarea placeholder="Type your message here."></textarea>
13
- ```
14
-
15
- ## With Label
16
-
17
- ```html
18
- <div class="grid w-full gap-1.5">
19
- <label sc-label for="message">Your message</label>
20
- <textarea sc-textarea id="message" placeholder="Type your message here."></textarea>
21
- </div>
22
- ```
23
-
24
- ## With Helper Text
25
-
26
- ```html
27
- <div class="grid w-full gap-1.5">
28
- <label sc-label for="bio">Bio</label>
29
- <textarea sc-textarea id="bio" placeholder="Tell us about yourself"></textarea>
30
- <p class="text-sm text-muted-foreground">Your bio will be visible on your public profile.</p>
31
- </div>
32
- ```
33
-
34
- ## Custom Rows
35
-
36
- ```html
37
- <textarea sc-textarea rows="2" placeholder="Small"></textarea>
38
- <textarea sc-textarea rows="6" placeholder="Large"></textarea>
39
- ```
40
-
41
- ## Disabled
42
-
43
- ```html
44
- <textarea sc-textarea placeholder="Disabled" disabled></textarea>
45
- ```
46
-
47
- ## With Max Length
48
-
49
- ```html
50
- <textarea sc-textarea maxlength="200" placeholder="Max 200 characters"></textarea>
51
- ```
52
-
53
- ## Inputs
54
-
55
- | Input | Type | Default | Description |
56
- | ------- | -------- | ------- | ---------------------- |
57
- | `class` | `string` | `''` | Additional CSS classes |
58
-
59
- ## Styling
60
-
61
- The textarea applies the following styles by default:
62
-
63
- - `min-h-[80px]` - Minimum height
64
- - `w-full` - Full width
65
- - `rounded-md` - Rounded corners
66
- - `border border-input` - Border styling
67
- - `bg-background` - Background color
68
- - `px-3 py-2` - Padding
69
- - `text-sm` - Small text size
70
- - `ring-offset-background` - Ring offset for focus
71
- - `placeholder:text-muted-foreground` - Muted placeholder text
72
- - `focus-visible:ring-2` - Focus ring
73
- - `disabled:cursor-not-allowed disabled:opacity-50` - Disabled state
74
-
75
- ## Accessibility
76
-
77
- - Uses native `<textarea>` element for built-in accessibility
78
- - Supports all standard textarea attributes (`rows`, `cols`, `maxlength`, etc.)
79
- - Focus ring for keyboard navigation
80
- - Works with `<label>` elements via `id` attribute
@@ -1 +0,0 @@
1
- export * from './textarea';
@@ -1,41 +0,0 @@
1
- import { _IdGenerator } from '@angular/cdk/a11y';
2
- import { computed, Directive, inject, input } from '@angular/core';
3
- import { FormField } from '@angular/forms/signals';
4
- import { cn } from '@semantic-components/ui';
5
- import { SC_FIELD } from '../field/field';
6
-
7
- @Directive({
8
- selector: 'textarea[sc-textarea]',
9
- host: {
10
- 'data-slot': 'textarea',
11
- '[attr.id]': 'id()',
12
- '[attr.aria-invalid]': 'invalid() || null',
13
- '[attr.disabled]': 'disabled() || null',
14
- '[class]': 'class()',
15
- },
16
- })
17
- export class ScTextarea {
18
- private readonly field = inject(SC_FIELD, { optional: true });
19
- private readonly formField = inject(FormField, { optional: true });
20
- private readonly fallbackId = inject(_IdGenerator).getId('sc-textarea-');
21
-
22
- readonly idInput = input('', { alias: 'id' });
23
- readonly classInput = input<string>('', { alias: 'class' });
24
-
25
- readonly id = computed(
26
- () => this.idInput() || this.field?.id() || this.fallbackId,
27
- );
28
-
29
- readonly invalid = computed(() => this.formField?.state().invalid() ?? false);
30
-
31
- readonly disabled = computed(
32
- () => this.formField?.state().disabled() ?? false,
33
- );
34
-
35
- protected readonly class = computed(() =>
36
- cn(
37
- 'border-input dark:bg-input/30 focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 disabled:bg-input/50 dark:disabled:bg-input/80 rounded-lg border bg-transparent px-2.5 py-2 text-base transition-colors focus-visible:ring-3 aria-invalid:ring-3 md:text-sm placeholder:text-muted-foreground flex field-sizing-content min-h-16 w-full outline-none disabled:cursor-not-allowed disabled:opacity-50',
38
- this.classInput(),
39
- ),
40
- );
41
- }
@@ -1,258 +0,0 @@
1
- # Theme Toggle
2
-
3
- A component for switching between light and dark themes with system preference support.
4
-
5
- ## Usage
6
-
7
- ### Basic Toggle Button
8
-
9
- The theme toggle uses content projection for icons, following the declarative architecture pattern.
10
-
11
- ```typescript
12
- import { ScThemeToggle } from '@semantic-components/ui-lab';
13
- import { SiMoonIcon, SiSunIcon } from '@semantic-icons/lucide-icons';
14
-
15
- @Component({
16
- imports: [ScThemeToggle, SiSunIcon, SiMoonIcon],
17
- template: `
18
- <button sc-theme-toggle #toggle="scThemeToggle">
19
- @if (toggle.isDark()) {
20
- <svg si-sun-icon></svg>
21
- } @else {
22
- <svg si-moon-icon></svg>
23
- }
24
- </button>
25
- `,
26
- })
27
- export class MyComponent {}
28
- ```
29
-
30
- ### With Variants
31
-
32
- ```html
33
- <!-- Default variant -->
34
- <button sc-theme-toggle variant="default" #toggle="scThemeToggle">
35
- @if (toggle.isDark()) {
36
- <svg si-sun-icon></svg>
37
- } @else {
38
- <svg si-moon-icon></svg>
39
- }
40
- </button>
41
-
42
- <!-- Outline variant -->
43
- <button sc-theme-toggle variant="outline" #toggle="scThemeToggle">
44
- @if (toggle.isDark()) {
45
- <svg si-sun-icon></svg>
46
- } @else {
47
- <svg si-moon-icon></svg>
48
- }
49
- </button>
50
-
51
- <!-- Ghost variant -->
52
- <button sc-theme-toggle variant="ghost" #toggle="scThemeToggle">
53
- @if (toggle.isDark()) {
54
- <svg si-sun-icon></svg>
55
- } @else {
56
- <svg si-moon-icon></svg>
57
- }
58
- </button>
59
- ```
60
-
61
- ### With Sizes
62
-
63
- ```html
64
- <button sc-theme-toggle size="sm" #toggle="scThemeToggle">
65
- @if (toggle.isDark()) {
66
- <svg si-sun-icon></svg>
67
- } @else {
68
- <svg si-moon-icon></svg>
69
- }
70
- </button>
71
- ```
72
-
73
- ### Theme Select Dropdown
74
-
75
- The theme select follows the composable pattern - consumers provide the label and connect it with IDs.
76
-
77
- ```typescript
78
- import { ScThemeField, ScThemeSelect } from '@semantic-components/ui-lab';
79
-
80
- @Component({
81
- imports: [ScThemeField, ScThemeSelect],
82
- template: `
83
- <div sc-theme-field>
84
- <label class="text-sm font-medium">Theme</label>
85
- <select sc-theme-select>
86
- <option value="light">Light</option>
87
- <option value="dark">Dark</option>
88
- <option value="system">System</option>
89
- </select>
90
- </div>
91
- `,
92
- })
93
- export class MyComponent {}
94
- ```
95
-
96
- With translations:
97
-
98
- ```html
99
- <div sc-theme-field>
100
- <label>Thème</label>
101
- <select sc-theme-select>
102
- <option value="light">Lumière</option>
103
- <option value="dark">Sombre</option>
104
- <option value="system">Système</option>
105
- </select>
106
- </div>
107
- ```
108
-
109
- Without ScThemeField (custom layout, manual IDs):
110
-
111
- ```html
112
- <div class="custom-layout">
113
- <label for="my-theme">Choose theme</label>
114
- <select sc-theme-select id="my-theme">
115
- <option value="light">Light</option>
116
- <option value="dark">Dark</option>
117
- <option value="system">System</option>
118
- </select>
119
- </div>
120
- ```
121
-
122
- ### Using ScTheme Directly
123
-
124
- ```typescript
125
- import { ScTheme } from '@semantic-components/ui-lab';
126
-
127
- export class MyComponent {
128
- private theme = inject(ScTheme);
129
-
130
- // Read the current theme
131
- currentTheme = this.theme.theme;
132
-
133
- // Check if dark mode is active
134
- isDark = this.theme.isDark;
135
-
136
- // Set a specific theme
137
- setDark() {
138
- this.theme.setTheme('dark');
139
- }
140
-
141
- // Toggle between light and dark
142
- toggle() {
143
- this.theme.toggleTheme();
144
- }
145
- }
146
- ```
147
-
148
- ## Components
149
-
150
- ### ScThemeToggle
151
-
152
- A button that toggles between light and dark themes. Uses content projection for icons following the declarative architecture pattern.
153
-
154
- **Selector:** `button[sc-theme-toggle]`
155
-
156
- **Export As:** `scThemeToggle`
157
-
158
- **Inputs:**
159
-
160
- | Input | Type | Default | Description |
161
- | --------- | -------------------- | --------- | ---------------------- |
162
- | `variant` | `ThemeToggleVariant` | `'ghost'` | Visual style variant |
163
- | `size` | `ThemeToggleSize` | `'icon'` | Button size |
164
- | `class` | `string` | `''` | Additional CSS classes |
165
-
166
- **Variants:** `'default'` | `'outline'` | `'ghost'`
167
-
168
- **Sizes:** `'default'` | `'sm'` | `'lg'` | `'icon'`
169
-
170
- **Public Properties (via template reference):**
171
-
172
- | Property | Type | Description |
173
- | -------- | ----------------- | ---------------------------- |
174
- | `isDark` | `Signal<boolean>` | Whether dark theme is active |
175
-
176
- **Usage:**
177
-
178
- Use a template reference variable with `#toggle="scThemeToggle"` to access the `isDark()` signal for conditional icon rendering.
179
-
180
- ### ScThemeSelect
181
-
182
- A dropdown select for choosing between light, dark, and system themes. Follows the composable pattern - consumers provide the label, options, and IDs for full control and i18n support.
183
-
184
- **Selector:** `select[sc-theme-select]`
185
-
186
- **Inputs:**
187
-
188
- | Input | Type | Default | Description |
189
- | ------- | -------- | ------- | ---------------------- |
190
- | `class` | `string` | `''` | Additional CSS classes |
191
-
192
- **Options:**
193
-
194
- Consumers must provide the option elements via content projection. The values must be `'light'`, `'dark'`, or `'system'`.
195
-
196
- ```html
197
- <option value="light">Light</option>
198
- <option value="dark">Dark</option>
199
- <option value="system">System</option>
200
- ```
201
-
202
- ### ScThemeField
203
-
204
- A container component for theme select with consistent spacing and automatic ID management.
205
-
206
- **Selector:** `div[sc-theme-field]`
207
-
208
- **Inputs:**
209
-
210
- | Input | Type | Default | Description |
211
- | ------- | -------- | ------- | ---------------------- |
212
- | `class` | `string` | `''` | Additional CSS classes |
213
-
214
- **Behavior:**
215
-
216
- Automatically generates a unique ID and applies it to the label's `for` attribute and the select's `id` attribute, ensuring proper accessibility without manual ID management.
217
-
218
- ## ScTheme
219
-
220
- A singleton service for managing theme state.
221
-
222
- **Properties:**
223
-
224
- | Property | Type | Description |
225
- | --------------- | --------------------------- | ------------------------------------------------- |
226
- | `theme` | `Signal<Theme>` | Current theme setting ('light', 'dark', 'system') |
227
- | `resolvedTheme` | `Signal<'light' \| 'dark'>` | Actual applied theme (resolves 'system') |
228
- | `isDark` | `Signal<boolean>` | Whether dark theme is currently active |
229
-
230
- **Methods:**
231
-
232
- | Method | Parameters | Description |
233
- | ------------- | -------------- | ----------------------------- |
234
- | `setTheme` | `theme: Theme` | Set the theme explicitly |
235
- | `toggleTheme` | none | Toggle between light and dark |
236
-
237
- ## Architecture
238
-
239
- This component follows the **declarative architecture** pattern:
240
-
241
- - **Content Projection**: Icons are provided by consumers via `<ng-content />`, not embedded in the component
242
- - **Template References**: Use `#toggle="scThemeToggle"` to access component state in templates
243
- - **Signal-based State**: The `isDark()` signal drives conditional rendering
244
- - **No Imperative Methods**: All state changes happen through user interactions, not programmatic calls
245
-
246
- This design gives consumers full control over icon presentation while maintaining clean separation of concerns.
247
-
248
- ## Accessibility
249
-
250
- - The toggle button uses `aria-label` to describe the action
251
- - The toggle button uses `aria-pressed` to indicate the current state
252
- - The select dropdown includes a screen-reader-only label
253
- - Icons are marked with `aria-hidden="true"`
254
- - Full keyboard navigation support
255
-
256
- ## Persistence
257
-
258
- The theme preference is automatically persisted to `localStorage` under the key `sc-theme` and restored on page load.
@@ -1,4 +0,0 @@
1
- export * from './theme-toggle';
2
- export * from './theme-select';
3
- export * from './theme-field';
4
- export * from './theme.service';
@@ -1,40 +0,0 @@
1
- import { _IdGenerator } from '@angular/cdk/a11y';
2
- import {
3
- ChangeDetectionStrategy,
4
- Component,
5
- computed,
6
- ElementRef,
7
- inject,
8
- input,
9
- ViewEncapsulation,
10
- } from '@angular/core';
11
- import { cn } from '@semantic-components/ui';
12
- import { SC_FIELD } from '../field';
13
-
14
- @Component({
15
- selector: 'div[sc-theme-field], label[sc-theme-field]',
16
- providers: [{ provide: SC_FIELD, useExisting: ScThemeField }],
17
- host: {
18
- '[attr.role]': 'role()',
19
- 'data-slot': 'theme-field',
20
- '[class]': 'class()',
21
- },
22
- template: `
23
- <ng-content />
24
- `,
25
- encapsulation: ViewEncapsulation.None,
26
- changeDetection: ChangeDetectionStrategy.OnPush,
27
- })
28
- export class ScThemeField {
29
- private readonly elementRef = inject(ElementRef<HTMLElement>);
30
-
31
- readonly id = input(inject(_IdGenerator).getId('sc-theme-field-'));
32
- readonly classInput = input<string>('', { alias: 'class' });
33
-
34
- protected readonly role = computed(() => {
35
- const tagName = this.elementRef.nativeElement.tagName;
36
- return tagName === 'LABEL' ? null : 'group';
37
- });
38
-
39
- protected readonly class = computed(() => cn('space-y-2', this.classInput()));
40
- }
@@ -1,56 +0,0 @@
1
- import { _IdGenerator } from '@angular/cdk/a11y';
2
- import {
3
- ChangeDetectionStrategy,
4
- Component,
5
- computed,
6
- inject,
7
- input,
8
- ViewEncapsulation,
9
- } from '@angular/core';
10
- import { cn } from '@semantic-components/ui';
11
- import { SC_FIELD } from '../field';
12
- import { ScTheme, Theme } from './theme.service';
13
-
14
- @Component({
15
- selector: 'select[sc-theme-select]',
16
- host: {
17
- 'data-slot': 'theme-select',
18
- '[id]': 'id()',
19
- '[class]': 'class()',
20
- '[value]': 'theme()',
21
- '(change)': 'onThemeChange($event)',
22
- },
23
- template: `
24
- <ng-content />
25
- `,
26
- encapsulation: ViewEncapsulation.None,
27
- changeDetection: ChangeDetectionStrategy.OnPush,
28
- })
29
- export class ScThemeSelect {
30
- private readonly themeService = inject(ScTheme);
31
- private readonly field = inject(SC_FIELD, { optional: true });
32
- private readonly fallbackId = inject(_IdGenerator).getId('sc-theme-select-');
33
-
34
- readonly idInput = input('', { alias: 'id' });
35
- readonly classInput = input<string>('', { alias: 'class' });
36
-
37
- // Priority: explicit id > field's id > own fallback id
38
- readonly id = computed(
39
- () => this.idInput() || this.field?.id() || this.fallbackId,
40
- );
41
-
42
- protected readonly theme = this.themeService.theme;
43
-
44
- protected readonly class = computed(() =>
45
- cn(
46
- 'h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background',
47
- 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2',
48
- this.classInput(),
49
- ),
50
- );
51
-
52
- protected onThemeChange(event: Event): void {
53
- const target = event.target as HTMLSelectElement;
54
- this.themeService.setTheme(target.value as Theme);
55
- }
56
- }
@@ -1,76 +0,0 @@
1
- import {
2
- ChangeDetectionStrategy,
3
- Component,
4
- computed,
5
- inject,
6
- input,
7
- ViewEncapsulation,
8
- } from '@angular/core';
9
- import { cn } from '@semantic-components/ui';
10
- import { ScTheme, Theme } from './theme.service';
11
-
12
- export type ThemeToggleVariant = 'default' | 'outline' | 'ghost';
13
- export type ThemeToggleSize = 'default' | 'sm' | 'lg' | 'icon';
14
-
15
- const variantStyles: Record<ThemeToggleVariant, string> = {
16
- default: 'bg-primary text-primary-foreground hover:bg-primary/90',
17
- outline:
18
- 'border border-input bg-background hover:bg-accent hover:text-accent-foreground',
19
- ghost: 'hover:bg-accent hover:text-accent-foreground',
20
- };
21
-
22
- const sizeStyles: Record<ThemeToggleSize, string> = {
23
- default: 'h-10 px-4 py-2',
24
- sm: 'h-9 rounded-md px-3',
25
- lg: 'h-11 rounded-md px-8',
26
- icon: 'size-10',
27
- };
28
-
29
- @Component({
30
- selector: 'button[sc-theme-toggle]',
31
- exportAs: 'scThemeToggle',
32
- host: {
33
- 'data-slot': 'theme-toggle',
34
- type: 'button',
35
- '[class]': 'class()',
36
- '[attr.aria-label]': 'ariaLabel()',
37
- '[attr.aria-pressed]': 'isDark()',
38
- '(click)': 'toggle()',
39
- },
40
- template: `
41
- <ng-content />
42
- `,
43
- encapsulation: ViewEncapsulation.None,
44
- changeDetection: ChangeDetectionStrategy.OnPush,
45
- })
46
- export class ScThemeToggle {
47
- private readonly themeService = inject(ScTheme);
48
-
49
- readonly classInput = input<string>('', { alias: 'class' });
50
- readonly variant = input<ThemeToggleVariant>('ghost');
51
- readonly size = input<ThemeToggleSize>('icon');
52
-
53
- readonly isDark = this.themeService.isDark;
54
- protected readonly theme = this.themeService.theme;
55
-
56
- protected readonly class = computed(() =>
57
- cn(
58
- 'inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium',
59
- 'ring-offset-background transition-colors',
60
- 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2',
61
- 'disabled:pointer-events-none disabled:opacity-50',
62
- '[&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0',
63
- variantStyles[this.variant()],
64
- sizeStyles[this.size()],
65
- this.classInput(),
66
- ),
67
- );
68
-
69
- protected readonly ariaLabel = computed(() =>
70
- this.isDark() ? 'Switch to light theme' : 'Switch to dark theme',
71
- );
72
-
73
- protected toggle(): void {
74
- this.themeService.toggleTheme();
75
- }
76
- }