@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,186 +0,0 @@
1
- import {
2
- ChangeDetectionStrategy,
3
- Component,
4
- computed,
5
- inject,
6
- input,
7
- signal,
8
- ViewEncapsulation,
9
- } from '@angular/core';
10
- import { cn } from '@semantic-components/ui';
11
- import { CHART_COLORS, ChartDataPoint } from './chart-types';
12
- import { SC_CHART } from './chart-container';
13
-
14
- @Component({
15
- selector: '[sc-pie-chart]',
16
- template: `
17
- <svg
18
- [attr.viewBox]="viewBox()"
19
- class="w-full"
20
- [style.height.px]="size()"
21
- preserveAspectRatio="xMidYMid meet"
22
- >
23
- @for (slice of slices(); track slice.label; let i = $index) {
24
- <path
25
- [attr.d]="slice.path"
26
- [attr.fill]="slice.color"
27
- class="cursor-pointer transition-opacity hover:opacity-80"
28
- (mouseenter)="onSliceHover($event, slice)"
29
- (mouseleave)="onSliceLeave()"
30
- />
31
- }
32
-
33
- @if (showLabels()) {
34
- @for (slice of slices(); track slice.label) {
35
- <text
36
- [attr.x]="slice.labelX"
37
- [attr.y]="slice.labelY"
38
- text-anchor="middle"
39
- class="pointer-events-none fill-background text-xs font-medium"
40
- >
41
- {{ slice.percentage }}%
42
- </text>
43
- }
44
- }
45
- </svg>
46
-
47
- @if (hoveredSlice()) {
48
- <div
49
- class="pointer-events-none absolute z-50 rounded-lg border bg-background px-3 py-1.5 text-sm shadow-md"
50
- [style.left.px]="tooltipX()"
51
- [style.top.px]="tooltipY()"
52
- [style.transform]="'translate(-50%, -100%) translateY(-8px)'"
53
- >
54
- <div class="flex items-center gap-2">
55
- <div
56
- class="size-3 rounded-sm"
57
- [style.background-color]="hoveredSlice()!.color"
58
- ></div>
59
- <span class="font-medium">{{ hoveredSlice()!.label }}</span>
60
- </div>
61
- <div class="text-muted-foreground">
62
- {{ hoveredSlice()!.value }} ({{ hoveredSlice()!.percentage }}%)
63
- </div>
64
- </div>
65
- }
66
- `,
67
- host: {
68
- 'data-slot': 'pie-chart',
69
- '[class]': 'class()',
70
- class: 'relative block',
71
- },
72
- encapsulation: ViewEncapsulation.None,
73
- changeDetection: ChangeDetectionStrategy.OnPush,
74
- })
75
- export class ScPieChart {
76
- private readonly container = inject(SC_CHART, { optional: true });
77
-
78
- readonly classInput = input<string>('', { alias: 'class' });
79
- readonly data = input<ChartDataPoint[]>([]);
80
- readonly size = input<number>(300);
81
- readonly innerRadius = input<number>(0); // 0 for pie, >0 for donut
82
- readonly showLabels = input<boolean>(true);
83
-
84
- readonly hoveredSlice = signal<
85
- (ChartDataPoint & { percentage: number; color: string }) | null
86
- >(null);
87
- readonly tooltipX = signal(0);
88
- readonly tooltipY = signal(0);
89
-
90
- protected readonly viewBox = computed(
91
- () => `0 0 ${this.size()} ${this.size()}`,
92
- );
93
- protected readonly class = computed(() => cn('', this.classInput()));
94
-
95
- protected readonly total = computed(() =>
96
- this.data().reduce((sum, d) => sum + d.value, 0),
97
- );
98
-
99
- protected readonly slices = computed(() => {
100
- const data = this.data();
101
- const total = this.total();
102
- const centerX = this.size() / 2;
103
- const centerY = this.size() / 2;
104
- const outerRadius = this.size() / 2 - 10;
105
- const innerR = this.innerRadius();
106
-
107
- let startAngle = -Math.PI / 2;
108
- const slices: {
109
- label: string;
110
- value: number;
111
- percentage: number;
112
- path: string;
113
- color: string;
114
- labelX: number;
115
- labelY: number;
116
- }[] = [];
117
-
118
- for (let i = 0; i < data.length; i++) {
119
- const d = data[i];
120
- const percentage = Math.round((d.value / total) * 100);
121
- const angle = (d.value / total) * 2 * Math.PI;
122
- const endAngle = startAngle + angle;
123
-
124
- const x1 = centerX + outerRadius * Math.cos(startAngle);
125
- const y1 = centerY + outerRadius * Math.sin(startAngle);
126
- const x2 = centerX + outerRadius * Math.cos(endAngle);
127
- const y2 = centerY + outerRadius * Math.sin(endAngle);
128
-
129
- const largeArc = angle > Math.PI ? 1 : 0;
130
- const color =
131
- d.color ||
132
- this.container?.getColor(d.label, i) ||
133
- CHART_COLORS[i % CHART_COLORS.length];
134
-
135
- let path: string;
136
- if (innerR > 0) {
137
- const ix1 = centerX + innerR * Math.cos(startAngle);
138
- const iy1 = centerY + innerR * Math.sin(startAngle);
139
- const ix2 = centerX + innerR * Math.cos(endAngle);
140
- const iy2 = centerY + innerR * Math.sin(endAngle);
141
-
142
- path = `M ${x1} ${y1} A ${outerRadius} ${outerRadius} 0 ${largeArc} 1 ${x2} ${y2} L ${ix2} ${iy2} A ${innerR} ${innerR} 0 ${largeArc} 0 ${ix1} ${iy1} Z`;
143
- } else {
144
- path = `M ${centerX} ${centerY} L ${x1} ${y1} A ${outerRadius} ${outerRadius} 0 ${largeArc} 1 ${x2} ${y2} Z`;
145
- }
146
-
147
- const labelAngle = startAngle + angle / 2;
148
- const labelRadius =
149
- innerR > 0 ? (outerRadius + innerR) / 2 : outerRadius * 0.6;
150
- const labelX = centerX + labelRadius * Math.cos(labelAngle);
151
- const labelY = centerY + labelRadius * Math.sin(labelAngle);
152
-
153
- slices.push({
154
- label: d.label,
155
- value: d.value,
156
- percentage,
157
- path,
158
- color,
159
- labelX,
160
- labelY,
161
- });
162
-
163
- startAngle = endAngle;
164
- }
165
-
166
- return slices;
167
- });
168
-
169
- onSliceHover(
170
- event: MouseEvent,
171
- slice: { label: string; value: number; percentage: number; color: string },
172
- ): void {
173
- const path = event.target as SVGElement;
174
- const parentRect = path.closest('[sc-pie-chart]')?.getBoundingClientRect();
175
- if (parentRect) {
176
- const pathRect = path.getBoundingClientRect();
177
- this.tooltipX.set(pathRect.left - parentRect.left + pathRect.width / 2);
178
- this.tooltipY.set(pathRect.top - parentRect.top);
179
- }
180
- this.hoveredSlice.set(slice);
181
- }
182
-
183
- onSliceLeave(): void {
184
- this.hoveredSlice.set(null);
185
- }
186
- }
@@ -1,293 +0,0 @@
1
- # Checkbox
2
-
3
- A control that allows the user to toggle between checked and not checked.
4
-
5
- ## Components
6
-
7
- - `ScCheckboxField` (selector: `[sc-checkbox-field]`) - Grid container that observes input state and positions children via `data-slot`
8
- - `ScCheckbox` - Directive for native input (applied to `input[type="checkbox"]`)
9
- - `ScCheckboxIndicator` - Directive for styling the visual checkbox box (applied to `span`)
10
- - `ScVisualCheckbox` - Component for visual representation (rendered automatically by `ScCheckboxField`)
11
-
12
- ## Usage
13
-
14
- ```html
15
- <div sc-checkbox-field>
16
- <input type="checkbox" sc-checkbox [(ngModel)]="accepted" id="terms" />
17
- <label sc-label for="terms">Accept terms and conditions</label>
18
- </div>
19
- ```
20
-
21
- ## With Description
22
-
23
- When a `data-slot="field-description"` child is present, the label automatically becomes `font-medium`:
24
-
25
- ```html
26
- <div sc-checkbox-field>
27
- <input type="checkbox" sc-checkbox [(ngModel)]="marketing" id="marketing" />
28
- <label sc-label for="marketing">Marketing emails</label>
29
- <p sc-field-description>Receive emails about new products, features, and more.</p>
30
- </div>
31
- ```
32
-
33
- ## With Label Element
34
-
35
- Use `<label>` as the host element for implicit label association:
36
-
37
- ```html
38
- <label sc-checkbox-field class="cursor-pointer">
39
- <input type="checkbox" sc-checkbox [(ngModel)]="option" />
40
- Option text
41
- </label>
42
- ```
43
-
44
- ## With Signal Forms
45
-
46
- `ScCheckbox` implements `FormCheckboxControl` and works seamlessly with Angular Signal Forms:
47
-
48
- ```typescript
49
- import { signal } from '@angular/core';
50
- import { form, FormField } from '@angular/forms/signals';
51
- import { required } from '@angular/forms/signals';
52
-
53
- readonly formModel = signal({ acceptTerms: false });
54
- readonly myForm = form(this.formModel, (schemaPath) => {
55
- required(schemaPath.acceptTerms);
56
- });
57
- ```
58
-
59
- ```html
60
- <div sc-checkbox-field>
61
- <input type="checkbox" sc-checkbox [formField]="myForm.acceptTerms" id="terms" />
62
- <label sc-label for="terms">Accept terms and conditions</label>
63
- </div>
64
- ```
65
-
66
- Note: Add `FormField` to your component's `imports` array to use the `[formField]` directive. When using `[formField]`, you cannot use other property bindings like `[checked]` on the same element.
67
-
68
- ## Indeterminate State
69
-
70
- ```html
71
- <div sc-checkbox-field>
72
- <input type="checkbox" sc-checkbox [(ngModel)]="allSelected" [indeterminate]="someSelected" />
73
- <label sc-label for="select-all">Select all</label>
74
- </div>
75
- ```
76
-
77
- ## Disabled
78
-
79
- ```html
80
- <div sc-checkbox-field>
81
- <input type="checkbox" sc-checkbox [disabled]="true" id="disabled-unchecked" />
82
- <label sc-label for="disabled-unchecked">Disabled unchecked</label>
83
- </div>
84
-
85
- <div sc-checkbox-field>
86
- <input type="checkbox" sc-checkbox [(ngModel)]="checked" [disabled]="true" id="disabled-checked" />
87
- <label sc-label for="disabled-checked">Disabled checked</label>
88
- </div>
89
- ```
90
-
91
- ## Advanced: Custom Checkbox Indicator
92
-
93
- Inject the checkbox context to build completely custom visuals:
94
-
95
- ```typescript
96
- import { inject } from '@angular/core';
97
- import { SC_CHECKBOX_FIELD } from '@semantic-components/ui-lab';
98
-
99
- export class MyCustomCheckboxVisual {
100
- readonly checkbox = inject(SC_CHECKBOX_FIELD);
101
-
102
- // Use checkbox.checked(), checkbox.disabled(), checkbox.indeterminate(), checkbox.dataState()
103
- }
104
- ```
105
-
106
- ## Custom Theme
107
-
108
- Customize colors using CSS variables:
109
-
110
- ```html
111
- <div style="--primary: oklch(0.6 0.25 280); --primary-foreground: oklch(0.985 0 0);">
112
- <div sc-checkbox-field>
113
- <input type="checkbox" sc-checkbox [(ngModel)]="purple" id="purple" />
114
- <label sc-label for="purple">Purple checkbox</label>
115
- </div>
116
- </div>
117
- ```
118
-
119
- Available CSS variables:
120
-
121
- - `--primary` - Border and background color when checked (OKLCH format: `oklch(lightness chroma hue)`)
122
- - `--primary-foreground` - Checkmark color (OKLCH format: `oklch(lightness chroma hue)`)
123
- - `--ring` - Focus ring color (OKLCH format: `oklch(lightness chroma hue)`)
124
- - `--ring-offset-background` - Focus ring offset color
125
-
126
- OKLCH format parameters:
127
-
128
- - **Lightness**: 0 (black) to 1 (white)
129
- - **Chroma**: 0 (gray) to ~0.4 (vivid color)
130
- - **Hue**: 0-360 (color angle)
131
-
132
- ## Inputs
133
-
134
- ### ScCheckboxField (`[sc-checkbox-field]`)
135
-
136
- | Input | Type | Default | Description |
137
- | ------- | -------- | ------- | ---------------------- |
138
- | `class` | `string` | `''` | Additional CSS classes |
139
-
140
- ### ScCheckbox (`sc-checkbox`)
141
-
142
- | Input | Type | Default | Description |
143
- | --------------- | --------- | ------- | --------------------------------- |
144
- | `indeterminate` | `boolean` | `false` | Whether checkbox is indeterminate |
145
- | `class` | `string` | `''` | Additional CSS classes |
146
-
147
- Note: Standard input attributes (`id`, `name`, `checked`, `disabled`) are set directly on the native input element.
148
-
149
- ### ScVisualCheckbox (`sc-visual-checkbox`)
150
-
151
- | Input | Type | Default | Description |
152
- | ----- | ---- | ------- | ----------- |
153
-
154
- Note: `ScVisualCheckbox` is rendered automatically by `ScCheckboxField`. You do not need to add it manually.
155
-
156
- ## Data Slots
157
-
158
- Children are positioned in the grid using `data-slot` attributes:
159
-
160
- | Data Slot | Grid Position | Component |
161
- | ------------------- | ------------- | -------------------- |
162
- | `checkbox` | col-1, row-1 | `ScCheckbox` |
163
- | `visual-checkbox` | col-1, row-1 | `ScVisualCheckbox` |
164
- | `label` | col-2, row-1 | `ScLabel` |
165
- | `field-description` | col-2, row-2 | `ScFieldDescription` |
166
-
167
- ## Context API
168
-
169
- The `sc-checkbox-field` component provides a context via dependency injection that child components can access:
170
-
171
- ```typescript
172
- export interface ScCheckboxContext {
173
- checked: () => boolean;
174
- disabled: () => boolean;
175
- indeterminate: () => boolean;
176
- dataState: () => 'checked' | 'unchecked' | 'indeterminate';
177
- }
178
- ```
179
-
180
- Inject using `SC_CHECKBOX_FIELD` token:
181
-
182
- ```typescript
183
- import { inject } from '@angular/core';
184
- import { SC_CHECKBOX_FIELD } from '@semantic-components/ui-lab';
185
-
186
- readonly checkbox = inject(SC_CHECKBOX_FIELD);
187
- ```
188
-
189
- ## Data Attributes
190
-
191
- | Attribute | Values | Description |
192
- | --------------- | ------------------------------------------- | -------------- |
193
- | `data-state` | `checked` \| `unchecked` \| `indeterminate` | Current state |
194
- | `data-disabled` | present when disabled | Disabled state |
195
-
196
- ## Accessibility
197
-
198
- - Uses a native `<input type="checkbox">` with `opacity: 0` for full accessibility
199
- - Native checkbox provides all semantic roles and ARIA attributes automatically
200
- - Keyboard accessible via native browser behavior (Space/Enter to toggle)
201
- - Focus ring styled via `peer-focus-visible` CSS classes
202
- - Works seamlessly with associated `<label>` elements via `id` attribute
203
- - Full native form integration (submission, validation, autofill)
204
- - Visual representation is marked with `aria-hidden="true"` (decorative only)
205
- - Compatible with all screen readers (NVDA, JAWS, VoiceOver, TalkBack)
206
- - Indeterminate state synced to native input element
207
-
208
- ## Architecture
209
-
210
- The checkbox uses a composable, grid-based architecture inspired by [Catalyst](https://catalyst.tailwindui.com/docs/checkbox):
211
-
212
- ### Grid Layout
213
-
214
- `ScCheckboxField` uses a 2-column CSS Grid (`grid-cols-[1rem_1fr]`) where:
215
-
216
- - **Column 1** (`1rem` = 16px) holds the checkbox input and visual indicator, both `size-4`, overlapping in the same grid cell
217
- - **Column 2** (`1fr`) holds the label (row 1) and optional description (row 2)
218
-
219
- Children are positioned using `*:data-[slot=...]` selectors on the parent, following the Catalyst data-slot pattern.
220
-
221
- ```
222
- ┌─ grid grid-cols-[1rem_1fr] ──────────────────────────┐
223
- │ col-1 (1rem) │ col-2 (1fr) │
224
- │ ┌────────────┐ │ │
225
- │ │ ScCheckbox │ │ <label data-slot="label"> │ row-1
226
- │ │ + Visual │ │ │
227
- │ │ (overlap) │ │ │
228
- │ └────────────┘ │ │
229
- │ │ <p data-slot="field-description"> │ row-2
230
- │ │ │
231
- └─────────────────┴────────────────────────────────────┘
232
- gap-x-2 gap-y-1
233
- ```
234
-
235
- ### Component Structure
236
-
237
- ```
238
- [sc-checkbox-field] (grid container, provides context)
239
- ├── <ng-content select="[sc-checkbox]" /> (projected input, col-1 row-1)
240
- ├── span[sc-visual-checkbox] (visual, col-1 row-1, pointer-events-none)
241
- │ └── span[sc-checkbox-indicator] (box with border/background)
242
- │ ├── <svg si-check-icon> (checkmark icon)
243
- │ └── <svg si-minus-icon> (indeterminate icon)
244
- └── <ng-content /> (label, description, col-2)
245
- ```
246
-
247
- **Template ordering:** The input is projected first (via `<ng-content select="[sc-checkbox]" />`), then the visual checkbox is rendered, then remaining content. This ensures the `peer` class on the input correctly enables `peer-focus-visible` and `peer-disabled` styles on the visual checkbox.
248
-
249
- ### Styling Breakdown
250
-
251
- - **ScCheckboxField**: `grid grid-cols-[1rem_1fr] items-start gap-x-2 gap-y-1` - Grid container with data-slot positioning
252
- - **ScCheckbox**: `peer size-4 cursor-pointer opacity-0` - Invisible native input (16px x 16px)
253
- - **ScVisualCheckbox**: `pointer-events-none size-4` - Visual container, clicks pass through to input
254
- - **ScCheckboxIndicator**: `size-4 border rounded-sm` - Actual visual checkbox box
255
-
256
- ### State Flow
257
-
258
- ```
259
- Native Input (source of truth)
260
- ├─ User interactions (click, keyboard)
261
- ├─ Form bindings (ngModel, formField)
262
- └─ Attributes (checked, disabled, indeterminate)
263
-
264
- ScCheckboxField (observer)
265
- ├─ contentChild() queries ScCheckbox
266
- ├─ Reads signals from ScCheckbox directly
267
- └─ Provides context via SC_CHECKBOX_FIELD token
268
-
269
- ScVisualCheckbox (renderer)
270
- ├─ inject(SC_CHECKBOX_FIELD)
271
- └─ Renders based on checkbox.dataState()
272
- ```
273
-
274
- **How state propagates:**
275
-
276
- 1. User interacts with native input (click, keyboard)
277
- 2. Input's `(change)` event handler updates the `checked` model signal
278
- 3. ScCheckboxField's computed signals react to changes (zoneless-compatible)
279
- 4. ScVisualCheckbox injects context and renders accordingly
280
- 5. CSS peer selectors style based on input state (focus, disabled, etc.)
281
-
282
- ### Benefits
283
-
284
- This pattern provides:
285
-
286
- - **Native behavior**: All browser/OS checkbox features work automatically
287
- - **Accessibility**: Screen readers interact with the real checkbox
288
- - **Composability**: Consumers provide their own input element with label and description
289
- - **Grid layout**: Automatic alignment of checkbox, label, and description via data-slots
290
- - **Flexibility**: Visual representation is fully customizable
291
- - **Simplicity**: No manual ARIA management or keyboard handling needed
292
- - **Single source of truth**: Native input owns all state
293
- - **Zoneless compatible**: Works with OnPush change detection and zoneless mode
@@ -1,78 +0,0 @@
1
- import { _IdGenerator } from '@angular/cdk/a11y';
2
- import {
3
- ChangeDetectionStrategy,
4
- Component,
5
- computed,
6
- contentChild,
7
- ElementRef,
8
- inject,
9
- input,
10
- ViewEncapsulation,
11
- } from '@angular/core';
12
- import { cn } from '@semantic-components/ui';
13
- import { SC_FIELD } from '../field';
14
- import { SC_CHECKBOX_FIELD, type ScCheckboxContext } from './checkbox-types';
15
- import { ScCheckbox } from './checkbox';
16
- import { ScVisualCheckbox } from './visual-checkbox';
17
-
18
- @Component({
19
- selector: 'div[sc-checkbox-field], label[sc-checkbox-field]',
20
- imports: [ScVisualCheckbox],
21
- providers: [
22
- { provide: SC_CHECKBOX_FIELD, useExisting: ScCheckboxField },
23
- { provide: SC_FIELD, useExisting: ScCheckboxField },
24
- ],
25
- host: {
26
- '[attr.role]': 'role()',
27
- 'data-slot': 'checkbox-field',
28
- '[class]': 'class()',
29
- '[attr.data-state]': 'dataState()',
30
- '[attr.data-disabled]': 'disabled() ? "" : null',
31
- },
32
- template: `
33
- <ng-content select="[sc-checkbox]" />
34
- <span sc-visual-checkbox></span>
35
- <ng-content />
36
- `,
37
- encapsulation: ViewEncapsulation.None,
38
- changeDetection: ChangeDetectionStrategy.OnPush,
39
- })
40
- export class ScCheckboxField implements ScCheckboxContext {
41
- private readonly elementRef = inject(ElementRef<HTMLElement>);
42
- private readonly checkbox = contentChild(ScCheckbox);
43
-
44
- readonly classInput = input<string>('', { alias: 'class' });
45
-
46
- readonly id = input(inject(_IdGenerator).getId('sc-checkbox-field-'));
47
-
48
- protected readonly role = computed(() => {
49
- const tagName = this.elementRef.nativeElement.tagName;
50
- return tagName === 'LABEL' ? null : 'group';
51
- });
52
-
53
- // Computed state from input (implements ScCheckboxContext)
54
- // These read directly from the ScCheckbox's signals
55
- readonly checked = computed(() => this.checkbox()?.checked() ?? false);
56
- readonly disabled = computed(
57
- () => this.checkbox()?.disabledSignal() ?? false,
58
- );
59
- readonly indeterminate = computed(
60
- () => this.checkbox()?.indeterminate() ?? false,
61
- );
62
- readonly dataState = computed(() => {
63
- if (this.indeterminate()) return 'indeterminate';
64
- return this.checked() ? 'checked' : 'unchecked';
65
- });
66
-
67
- protected readonly class = computed(() =>
68
- cn(
69
- 'grid grid-cols-[1rem_1fr] items-start gap-x-2 gap-y-1',
70
- '*:data-[slot=checkbox]:col-start-1 *:data-[slot=checkbox]:row-start-1',
71
- '*:data-[slot=visual-checkbox]:col-start-1 *:data-[slot=visual-checkbox]:row-start-1',
72
- '*:data-[slot=label]:col-start-2 *:data-[slot=label]:row-start-1',
73
- '*:data-[slot=field-description]:col-start-2 *:data-[slot=field-description]:row-start-2',
74
- 'has-[>[data-slot=field-description]]:*:data-[slot=label]:font-medium',
75
- this.classInput(),
76
- ),
77
- );
78
- }
@@ -1,27 +0,0 @@
1
- import { computed, Directive, input } from '@angular/core';
2
- import { cn } from '@semantic-components/ui';
3
-
4
- @Directive({
5
- selector: 'span[sc-checkbox-indicator]',
6
- host: {
7
- 'data-slot': 'checkbox-indicator',
8
- '[class]': 'class()',
9
- '[attr.data-state]': 'state()',
10
- '[attr.aria-hidden]': 'true',
11
- },
12
- })
13
- export class ScCheckboxIndicator {
14
- readonly classInput = input<string>('', { alias: 'class' });
15
- readonly state = input<'checked' | 'unchecked' | 'indeterminate'>(
16
- 'unchecked',
17
- );
18
-
19
- protected readonly class = computed(() =>
20
- cn(
21
- 'pointer-events-none inline-flex size-4 shrink-0 items-center justify-center rounded-sm border border-primary transition-colors',
22
- 'data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground',
23
- 'data-[state=indeterminate]:bg-primary data-[state=indeterminate]:text-primary-foreground',
24
- this.classInput(),
25
- ),
26
- );
27
- }
@@ -1,15 +0,0 @@
1
- import { InjectionToken } from '@angular/core';
2
-
3
- export interface ScCheckboxContext {
4
- // Auto-generated id, overridable by consumer
5
- id: () => string;
6
- // Computed state from native input
7
- checked: () => boolean;
8
- disabled: () => boolean;
9
- indeterminate: () => boolean;
10
- dataState: () => 'checked' | 'unchecked' | 'indeterminate';
11
- }
12
-
13
- export const SC_CHECKBOX_FIELD = new InjectionToken<ScCheckboxContext>(
14
- 'SC_CHECKBOX_FIELD',
15
- );
@@ -1,74 +0,0 @@
1
- import { _IdGenerator } from '@angular/cdk/a11y';
2
- import {
3
- computed,
4
- Directive,
5
- effect,
6
- ElementRef,
7
- inject,
8
- input,
9
- model,
10
- signal,
11
- } from '@angular/core';
12
- import type { FormCheckboxControl } from '@angular/forms/signals';
13
- import { cn } from '@semantic-components/ui';
14
- import { SC_CHECKBOX_FIELD } from './checkbox-types';
15
-
16
- export const SC_CHECKBOX = 'SC_CHECKBOX';
17
-
18
- @Directive({
19
- selector: 'input[type="checkbox"][sc-checkbox]',
20
- host: {
21
- 'data-slot': 'checkbox',
22
- '[id]': 'id()',
23
- '[class]': 'class()',
24
- '[checked]': 'checked()',
25
- '(change)': 'onInputChange($event)',
26
- },
27
- exportAs: SC_CHECKBOX,
28
- })
29
- export class ScCheckbox implements FormCheckboxControl {
30
- private readonly elementRef = inject(ElementRef<HTMLInputElement>);
31
- private readonly checkboxField = inject(SC_CHECKBOX_FIELD, {
32
- optional: true,
33
- });
34
- private readonly fallbackId = inject(_IdGenerator).getId('sc-checkbox-');
35
-
36
- readonly idInput = input('', { alias: 'id' });
37
- readonly classInput = input<string>('', { alias: 'class' });
38
- readonly indeterminate = input<boolean>(false);
39
- readonly checked = model<boolean>(false);
40
-
41
- // Priority: explicit id > field's generated id > own fallback id
42
- readonly id = computed(
43
- () => this.idInput() || this.checkboxField?.id() || this.fallbackId,
44
- );
45
-
46
- // Expose disabled state as a signal
47
- readonly disabledSignal = signal(false);
48
-
49
- constructor() {
50
- // Sync indeterminate input to native property
51
- effect(() => {
52
- this.elementRef.nativeElement.indeterminate = this.indeterminate();
53
- });
54
-
55
- // Track disabled state
56
- effect(() => {
57
- this.disabledSignal.set(this.elementRef.nativeElement.disabled);
58
- });
59
- }
60
-
61
- protected onInputChange(event: Event): void {
62
- const input = event.target as HTMLInputElement;
63
- this.checked.set(input.checked);
64
- this.disabledSignal.set(input.disabled);
65
- }
66
-
67
- protected readonly class = computed(() =>
68
- cn(
69
- 'peer size-4 cursor-pointer opacity-0',
70
- 'disabled:cursor-not-allowed',
71
- this.classInput(),
72
- ),
73
- );
74
- }
@@ -1,5 +0,0 @@
1
- export * from './checkbox-field';
2
- export * from './checkbox-indicator';
3
- export * from './checkbox-types';
4
- export * from './checkbox';
5
- export * from './visual-checkbox';