@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,322 +0,0 @@
1
- # Image Cropper
2
-
3
- An interactive image cropping component with drag, resize, zoom, and aspect ratio controls. Built using the composable architecture pattern for maximum flexibility.
4
-
5
- ## Components
6
-
7
- - `ScImageCropper` (directive) - Root state management
8
- - `ScImageCropperContainer` - Interactive UI with crop area, grid, handles, and canvas
9
- - `ScImageCropperControls` - Zoom slider with buttons
10
- - `ScImageCropperPreview` - Live preview of the cropped area
11
- - `ScImageCropperAspectRatio` - Aspect ratio selector buttons
12
-
13
- ## Basic Usage
14
-
15
- ```html
16
- <div sc-image-cropper [src]="imageUrl" [(cropArea)]="cropArea" [containerHeight]="400">
17
- <div sc-image-cropper-container #container class="rounded-lg overflow-hidden border"></div>
18
-
19
- <div sc-image-cropper-controls></div>
20
-
21
- <button (click)="cropImage(container)">Crop</button>
22
- </div>
23
- ```
24
-
25
- ```typescript
26
- async cropImage(container: InstanceType<typeof ScImageCropperContainer>) {
27
- const result = await container.crop();
28
- console.log(result.dataUrl); // Base64 image
29
- console.log(result.blob); // Blob for upload
30
- }
31
- ```
32
-
33
- ## API
34
-
35
- ### ScImageCropper (Directive)
36
-
37
- The root directive that manages state.
38
-
39
- **Selector:** `[sc-image-cropper]`
40
-
41
- **Inputs:**
42
-
43
- | Input | Type | Default | Description |
44
- | ----------------- | --------------------------------------------- | ------------- | ---------------------- |
45
- | `src` | `string` | Required | Image source URL |
46
- | `aspectRatio` | `number \| null` | `null` | Lock aspect ratio |
47
- | `minWidth` | `number` | `50` | Minimum crop width |
48
- | `minHeight` | `number` | `50` | Minimum crop height |
49
- | `containerHeight` | `number` | `400` | Container height in px |
50
- | `showGrid` | `boolean` | `true` | Show rule of thirds |
51
- | `disabled` | `boolean` | `false` | Disable interactions |
52
- | `outputType` | `'image/png' \| 'image/jpeg' \| 'image/webp'` | `'image/png'` | Output format |
53
- | `outputQuality` | `number` | `0.92` | JPEG/WebP quality |
54
-
55
- **Two-way Bindings:**
56
-
57
- | Binding | Type | Description |
58
- | ---------- | ---------- | ------------------------ |
59
- | `cropArea` | `CropArea` | Current crop coordinates |
60
- | `zoom` | `number` | Current zoom level |
61
-
62
- **Outputs:**
63
-
64
- | Output | Type | Description |
65
- | ------------- | ----------------------------------- | ----------------- |
66
- | `cropChange` | `CropArea` | Crop area changed |
67
- | `imageLoaded` | `{ width: number; height: number }` | Image loaded |
68
-
69
- ### ScImageCropperContainer
70
-
71
- The interactive UI component that renders the image, crop area, grid, handles, and hidden canvas.
72
-
73
- **Selector:** `[sc-image-cropper-container]`
74
-
75
- **Inputs:**
76
-
77
- | Input | Type | Default | Description |
78
- | ------- | -------- | ------- | -------------------- |
79
- | `class` | `string` | `''` | Additional CSS class |
80
-
81
- **Methods (via template reference):**
82
-
83
- | Method | Returns | Description |
84
- | ----------------- | --------------------- | --------------------- |
85
- | `crop()` | `Promise<CropResult>` | Get cropped image |
86
- | `resetCropArea()` | `void` | Reset to initial crop |
87
-
88
- ### ScImageCropperControls
89
-
90
- Zoom slider with zoom in/out buttons.
91
-
92
- **Selector:** `[sc-image-cropper-controls]`
93
-
94
- **Inputs:**
95
-
96
- | Input | Type | Default | Description |
97
- | ------- | -------- | ------- | -------------------- |
98
- | `class` | `string` | `''` | Additional CSS class |
99
-
100
- ### ScImageCropperPreview
101
-
102
- Live preview of the cropped area.
103
-
104
- **Selector:** `[sc-image-cropper-preview]`
105
-
106
- **Inputs:**
107
-
108
- | Input | Type | Default | Description |
109
- | -------- | -------- | ------- | -------------------- |
110
- | `width` | `number` | `200` | Preview width |
111
- | `height` | `number` | `200` | Preview height |
112
- | `class` | `string` | `''` | Additional CSS class |
113
-
114
- ### ScImageCropperAspectRatio
115
-
116
- Aspect ratio selector with predefined options.
117
-
118
- **Selector:** `[sc-image-cropper-aspect-ratio]`
119
-
120
- **Inputs:**
121
-
122
- | Input | Type | Default | Description |
123
- | --------- | --------------------------------------------- | ------------------------ | -------------------- |
124
- | `options` | `Array<{label: string, value: number\|null}>` | `[Free, 1:1, 4:3, 16:9]` | Aspect ratio options |
125
- | `class` | `string` | `''` | Additional CSS class |
126
-
127
- **Outputs:**
128
-
129
- | Output | Type | Description |
130
- | ------------------- | ---------------- | ------------------------------- |
131
- | `aspectRatioChange` | `number \| null` | Emits when aspect ratio changes |
132
-
133
- ## Examples
134
-
135
- ### Basic Cropping
136
-
137
- ```html
138
- <div sc-image-cropper [src]="imageSrc()" [(cropArea)]="cropArea" [containerHeight]="400">
139
- <div sc-image-cropper-container #container class="rounded-lg border"></div>
140
-
141
- <div sc-image-cropper-controls></div>
142
-
143
- <button (click)="cropImage(container)">Crop Image</button>
144
- </div>
145
- ```
146
-
147
- ```typescript
148
- @Component({...})
149
- export class MyComponent {
150
- readonly imageSrc = signal('https://example.com/image.jpg');
151
- readonly cropArea = signal<CropArea>({ x: 50, y: 50, width: 200, height: 200 });
152
- readonly croppedImage = signal<string | null>(null);
153
-
154
- async cropImage(container: InstanceType<typeof ScImageCropperContainer>) {
155
- const result = await container.crop();
156
- this.croppedImage.set(result.dataUrl);
157
- }
158
- }
159
- ```
160
-
161
- ### With Aspect Ratio Selector
162
-
163
- ```html
164
- <div sc-image-cropper [src]="imageSrc()" [aspectRatio]="selectedAspectRatio()" [containerHeight]="400">
165
- <div sc-image-cropper-container class="rounded-lg border"></div>
166
-
167
- <div sc-image-cropper-aspect-ratio [options]="aspectRatioOptions" (aspectRatioChange)="selectedAspectRatio.set($event)"></div>
168
-
169
- <div sc-image-cropper-controls></div>
170
- </div>
171
- ```
172
-
173
- ```typescript
174
- readonly selectedAspectRatio = signal<number | null>(null);
175
- readonly aspectRatioOptions = [
176
- { label: 'Free', value: null },
177
- { label: '1:1', value: 1 },
178
- { label: '4:3', value: 4 / 3 },
179
- { label: '16:9', value: 16 / 9 },
180
- ];
181
- ```
182
-
183
- ### Avatar Cropper with Preview
184
-
185
- ```html
186
- <div sc-image-cropper [src]="imageSrc()" [aspectRatio]="1" [containerHeight]="300">
187
- <div sc-image-cropper-container class="rounded-lg border"></div>
188
-
189
- <div class="flex gap-8">
190
- <div class="flex-1">
191
- <div sc-image-cropper-controls></div>
192
- </div>
193
-
194
- <div class="space-y-4">
195
- <p class="text-sm font-medium">Preview:</p>
196
- <div sc-image-cropper-preview [width]="100" [height]="100" class="rounded-full overflow-hidden"></div>
197
- </div>
198
- </div>
199
- </div>
200
- ```
201
-
202
- ### Custom Output Format
203
-
204
- ```html
205
- <div sc-image-cropper [src]="imageSrc()" [outputType]="'image/jpeg'" [outputQuality]="0.9">
206
- <div sc-image-cropper-container #container></div>
207
- <button (click)="container.crop()">Crop as JPEG</button>
208
- </div>
209
- ```
210
-
211
- ### File Upload + Cropping
212
-
213
- ```html
214
- <div class="space-y-4">
215
- <input type="file" accept="image/*" (change)="onFileChange($event)" />
216
-
217
- @if (uploadedImage()) {
218
- <div sc-image-cropper [src]="uploadedImage()!" [containerHeight]="400">
219
- <div sc-image-cropper-container #container class="rounded-lg border"></div>
220
-
221
- <div sc-image-cropper-controls></div>
222
-
223
- <button (click)="cropAndDownload(container)">Crop & Download</button>
224
- </div>
225
- }
226
- </div>
227
- ```
228
-
229
- ```typescript
230
- readonly uploadedImage = signal<string | null>(null);
231
-
232
- onFileChange(event: Event) {
233
- const file = (event.target as HTMLInputElement).files?.[0];
234
- if (file) {
235
- const reader = new FileReader();
236
- reader.onload = () => {
237
- this.uploadedImage.set(reader.result as string);
238
- };
239
- reader.readAsDataURL(file);
240
- }
241
- }
242
-
243
- async cropAndDownload(container: InstanceType<typeof ScImageCropperContainer>) {
244
- const result = await container.crop();
245
- const link = document.createElement('a');
246
- link.href = result.dataUrl;
247
- link.download = 'cropped-image.png';
248
- link.click();
249
- }
250
- ```
251
-
252
- ### Real-time Crop Info
253
-
254
- ```html
255
- <div sc-image-cropper [src]="imageSrc()" [(cropArea)]="cropArea">
256
- <div sc-image-cropper-container class="rounded-lg border"></div>
257
-
258
- <div class="grid grid-cols-2 gap-4 text-sm">
259
- <div>X: {{ cropArea().x.toFixed(0) }}px</div>
260
- <div>Y: {{ cropArea().y.toFixed(0) }}px</div>
261
- <div>Width: {{ cropArea().width.toFixed(0) }}px</div>
262
- <div>Height: {{ cropArea().height.toFixed(0) }}px</div>
263
- </div>
264
- </div>
265
- ```
266
-
267
- ## Types
268
-
269
- ### CropArea
270
-
271
- ```typescript
272
- interface CropArea {
273
- x: number; // Left position
274
- y: number; // Top position
275
- width: number; // Crop width
276
- height: number; // Crop height
277
- }
278
- ```
279
-
280
- ### CropResult
281
-
282
- ```typescript
283
- interface CropResult {
284
- dataUrl: string; // Base64 data URL
285
- blob: Blob | null; // Blob for uploading
286
- width: number; // Output image width
287
- height: number; // Output image height
288
- }
289
- ```
290
-
291
- ## Composable Architecture
292
-
293
- This component follows the composable architecture pattern:
294
-
295
- - **Root Directive** (`sc-image-cropper`): Manages all state (crop area, zoom, aspect ratio, drag/resize)
296
- - **Container** (`sc-image-cropper-container`): Renders UI (image, overlay, crop area, grid, handles, canvas) and handles interactions
297
- - **Controls**: Optional zoom controls
298
- - **Preview**: Optional live preview
299
- - **Aspect Ratio**: Optional aspect ratio selector
300
-
301
- Benefits:
302
-
303
- - Separation of concerns: state vs UI
304
- - Container handles all interactions (mouse, touch, drag, resize)
305
- - Can add custom UI elements between components
306
- - Methods like `crop()` and `resetCropArea()` are called on the container via template reference
307
-
308
- ## Accessibility
309
-
310
- - Keyboard support for fine adjustments
311
- - Screen reader announcements for crop area changes
312
- - Focus indicators for interactive elements
313
- - Touch-friendly resize handles
314
- - ARIA labels for all controls
315
-
316
- ## Notes
317
-
318
- - Images are loaded via `<img>` and rendered on a hidden `<canvas>` for cropping
319
- - The crop operation preserves the original image quality
320
- - Supports zoom from 0.1x to 3x
321
- - Aspect ratios are maintained during resize when specified
322
- - All calculations are done in natural image coordinates for accuracy
@@ -1,65 +0,0 @@
1
- import {
2
- ChangeDetectionStrategy,
3
- Component,
4
- computed,
5
- inject,
6
- input,
7
- output,
8
- ViewEncapsulation,
9
- } from '@angular/core';
10
- import { cn } from '@semantic-components/ui';
11
- import { SC_IMAGE_CROPPER } from './image-cropper';
12
-
13
- @Component({
14
- selector: '[sc-image-cropper-aspect-ratio]',
15
- template: `
16
- <div class="flex items-center gap-1">
17
- @for (option of options(); track option.value) {
18
- <button
19
- type="button"
20
- class="px-3 py-1 text-sm rounded-md border transition-colors"
21
- [class]="
22
- isSelected(option.value)
23
- ? 'bg-primary text-primary-foreground'
24
- : 'bg-background hover:bg-accent'
25
- "
26
- (click)="selectAspectRatio(option.value)"
27
- >
28
- {{ option.label }}
29
- </button>
30
- }
31
- </div>
32
- `,
33
- host: {
34
- 'data-slot': 'image-cropper-aspect-ratio',
35
- '[class]': 'class()',
36
- },
37
- encapsulation: ViewEncapsulation.None,
38
- changeDetection: ChangeDetectionStrategy.OnPush,
39
- })
40
- export class ScImageCropperAspectRatio {
41
- readonly cropper = inject(SC_IMAGE_CROPPER);
42
-
43
- readonly classInput = input<string>('', { alias: 'class' });
44
- readonly options = input<{ label: string; value: number | null }[]>([
45
- { label: 'Free', value: null },
46
- { label: '1:1', value: 1 },
47
- { label: '4:3', value: 4 / 3 },
48
- { label: '16:9', value: 16 / 9 },
49
- ]);
50
-
51
- readonly aspectRatioChange = output<number | null>();
52
-
53
- protected readonly class = computed(() => cn('', this.classInput()));
54
-
55
- isSelected(value: number | null): boolean {
56
- const current = this.cropper.aspectRatio();
57
- if (value === null && current === null) return true;
58
- if (value === null || current === null) return false;
59
- return Math.abs(current - value) < 0.001;
60
- }
61
-
62
- selectAspectRatio(value: number | null): void {
63
- this.aspectRatioChange.emit(value);
64
- }
65
- }
@@ -1,294 +0,0 @@
1
- import {
2
- afterNextRender,
3
- ChangeDetectionStrategy,
4
- Component,
5
- computed,
6
- ElementRef,
7
- inject,
8
- input,
9
- ViewEncapsulation,
10
- viewChild,
11
- } from '@angular/core';
12
- import { cn } from '@semantic-components/ui';
13
- import { SC_IMAGE_CROPPER } from './image-cropper';
14
-
15
- @Component({
16
- selector: '[sc-image-cropper-container]',
17
- template: `
18
- <div
19
- class="relative overflow-hidden bg-black/90 select-none"
20
- [style.height.px]="cropper.containerHeight()"
21
- >
22
- <!-- Image container -->
23
- <div
24
- class="absolute inset-0 flex items-center justify-center"
25
- [style.transform]="imageTransform()"
26
- >
27
- <img
28
- #imageEl
29
- [src]="cropper.src()"
30
- class="max-w-none"
31
- [style.width.px]="scaledImageWidth()"
32
- [style.height.px]="scaledImageHeight()"
33
- (load)="onImageLoad()"
34
- draggable="false"
35
- alt="Image to crop"
36
- />
37
- </div>
38
-
39
- <!-- Overlay mask -->
40
- <div class="absolute inset-0 pointer-events-none">
41
- <svg class="w-full h-full">
42
- <defs>
43
- <mask id="cropMask">
44
- <rect width="100%" height="100%" fill="white" />
45
- <rect
46
- [attr.x]="cropper.cropArea().x"
47
- [attr.y]="cropper.cropArea().y"
48
- [attr.width]="cropper.cropArea().width"
49
- [attr.height]="cropper.cropArea().height"
50
- fill="black"
51
- />
52
- </mask>
53
- </defs>
54
- <rect
55
- width="100%"
56
- height="100%"
57
- fill="rgba(0,0,0,0.5)"
58
- mask="url(#cropMask)"
59
- />
60
- </svg>
61
- </div>
62
-
63
- <!-- Crop area -->
64
- <div
65
- class="absolute border-2 border-white cursor-move"
66
- [style.left.px]="cropper.cropArea().x"
67
- [style.top.px]="cropper.cropArea().y"
68
- [style.width.px]="cropper.cropArea().width"
69
- [style.height.px]="cropper.cropArea().height"
70
- (mousedown)="onCropAreaMouseDown($event)"
71
- (touchstart)="onCropAreaTouchStart($event)"
72
- (mousemove)="onMouseMove($event)"
73
- (touchmove)="onTouchMove($event)"
74
- >
75
- <!-- Grid lines -->
76
- @if (cropper.showGrid()) {
77
- <div class="absolute inset-0 pointer-events-none">
78
- <div
79
- class="absolute left-1/3 top-0 bottom-0 w-px bg-white/30"
80
- ></div>
81
- <div
82
- class="absolute left-2/3 top-0 bottom-0 w-px bg-white/30"
83
- ></div>
84
- <div class="absolute top-1/3 left-0 right-0 h-px bg-white/30"></div>
85
- <div class="absolute top-2/3 left-0 right-0 h-px bg-white/30"></div>
86
- </div>
87
- }
88
-
89
- <!-- Resize handles -->
90
- @if (!cropper.disabled()) {
91
- <!-- Corners -->
92
- <div
93
- class="absolute -left-1.5 -top-1.5 size-3 bg-white border border-gray-400 cursor-nw-resize z-10"
94
- (mousedown)="onHandleMouseDown($event, 'nw')"
95
- (touchstart)="onHandleTouchStart($event, 'nw')"
96
- ></div>
97
- <div
98
- class="absolute -right-1.5 -top-1.5 size-3 bg-white border border-gray-400 cursor-ne-resize z-10"
99
- (mousedown)="onHandleMouseDown($event, 'ne')"
100
- (touchstart)="onHandleTouchStart($event, 'ne')"
101
- ></div>
102
- <div
103
- class="absolute -left-1.5 -bottom-1.5 size-3 bg-white border border-gray-400 cursor-sw-resize z-10"
104
- (mousedown)="onHandleMouseDown($event, 'sw')"
105
- (touchstart)="onHandleTouchStart($event, 'sw')"
106
- ></div>
107
- <div
108
- class="absolute -right-1.5 -bottom-1.5 size-3 bg-white border border-gray-400 cursor-se-resize z-10"
109
- (mousedown)="onHandleMouseDown($event, 'se')"
110
- (touchstart)="onHandleTouchStart($event, 'se')"
111
- ></div>
112
-
113
- <!-- Edges -->
114
- <div
115
- class="absolute left-1/2 -translate-x-1/2 -top-1.5 w-6 h-3 bg-white border border-gray-400 cursor-n-resize z-10"
116
- (mousedown)="onHandleMouseDown($event, 'n')"
117
- (touchstart)="onHandleTouchStart($event, 'n')"
118
- ></div>
119
- <div
120
- class="absolute left-1/2 -translate-x-1/2 -bottom-1.5 w-6 h-3 bg-white border border-gray-400 cursor-s-resize z-10"
121
- (mousedown)="onHandleMouseDown($event, 's')"
122
- (touchstart)="onHandleTouchStart($event, 's')"
123
- ></div>
124
- <div
125
- class="absolute top-1/2 -translate-y-1/2 -left-1.5 w-3 h-6 bg-white border border-gray-400 cursor-w-resize z-10"
126
- (mousedown)="onHandleMouseDown($event, 'w')"
127
- (touchstart)="onHandleTouchStart($event, 'w')"
128
- ></div>
129
- <div
130
- class="absolute top-1/2 -translate-y-1/2 -right-1.5 w-3 h-6 bg-white border border-gray-400 cursor-e-resize z-10"
131
- (mousedown)="onHandleMouseDown($event, 'e')"
132
- (touchstart)="onHandleTouchStart($event, 'e')"
133
- ></div>
134
- }
135
- </div>
136
- </div>
137
-
138
- <!-- Hidden canvas for cropping -->
139
- <canvas #canvasEl class="hidden"></canvas>
140
-
141
- <!-- Content projection -->
142
- <ng-content />
143
- `,
144
- host: {
145
- 'data-slot': 'image-cropper-container',
146
- '[class]': 'class()',
147
- },
148
- encapsulation: ViewEncapsulation.None,
149
- changeDetection: ChangeDetectionStrategy.OnPush,
150
- })
151
- export class ScImageCropperContainer {
152
- readonly cropper = inject(SC_IMAGE_CROPPER);
153
- private readonly elementRef = inject(ElementRef<HTMLElement>);
154
-
155
- readonly classInput = input<string>('', { alias: 'class' });
156
-
157
- protected readonly class = computed(() => cn('block', this.classInput()));
158
-
159
- private readonly imageEl = viewChild<ElementRef<HTMLImageElement>>('imageEl');
160
- readonly canvasEl = viewChild<ElementRef<HTMLCanvasElement>>('canvasEl');
161
-
162
- protected readonly scaledImageWidth = computed(() =>
163
- this.cropper.getScaledImageWidth(),
164
- );
165
- protected readonly scaledImageHeight = computed(() =>
166
- this.cropper.getScaledImageHeight(),
167
- );
168
-
169
- protected readonly imageTransform = computed(() => {
170
- return `scale(1)`;
171
- });
172
-
173
- constructor() {
174
- afterNextRender(() => {
175
- document.addEventListener(
176
- 'mousemove',
177
- this.onDocumentMouseMove.bind(this),
178
- );
179
- });
180
- }
181
-
182
- private getContainerWidth(): number {
183
- return this.elementRef.nativeElement.clientWidth || 400;
184
- }
185
-
186
- protected onImageLoad(): void {
187
- const img = this.imageEl()?.nativeElement;
188
- if (!img) return;
189
-
190
- this.cropper.onImageLoad(img.naturalWidth, img.naturalHeight);
191
-
192
- // Initialize crop area after image loads
193
- afterNextRender(() => {
194
- this.cropper.initializeCropArea(this.getContainerWidth());
195
- });
196
- }
197
-
198
- protected onCropAreaMouseDown(event: MouseEvent): void {
199
- if (this.cropper.disabled()) return;
200
- event.preventDefault();
201
- this.cropper.startDragging(event.clientX, event.clientY);
202
- }
203
-
204
- protected onCropAreaTouchStart(event: TouchEvent): void {
205
- if (this.cropper.disabled()) return;
206
- event.preventDefault();
207
- const touch = event.touches[0];
208
- this.cropper.startDragging(touch.clientX, touch.clientY);
209
- }
210
-
211
- protected onHandleMouseDown(event: MouseEvent, handle: string): void {
212
- if (this.cropper.disabled()) return;
213
- event.preventDefault();
214
- event.stopPropagation();
215
- this.cropper.startResizing(event.clientX, event.clientY, handle);
216
- }
217
-
218
- protected onHandleTouchStart(event: TouchEvent, handle: string): void {
219
- if (this.cropper.disabled()) return;
220
- event.preventDefault();
221
- event.stopPropagation();
222
- const touch = event.touches[0];
223
- this.cropper.startResizing(touch.clientX, touch.clientY, handle);
224
- }
225
-
226
- private onDocumentMouseMove(event: MouseEvent): void {
227
- if (this.cropper.isDragging) {
228
- this.cropper.handleDrag(
229
- event.clientX,
230
- event.clientY,
231
- this.getContainerWidth(),
232
- );
233
- } else if (this.cropper.isResizing) {
234
- this.cropper.handleResize(
235
- event.clientX,
236
- event.clientY,
237
- this.getContainerWidth(),
238
- );
239
- }
240
- }
241
-
242
- protected onMouseMove(event: MouseEvent): void {
243
- if (this.cropper.isDragging) {
244
- this.cropper.handleDrag(
245
- event.clientX,
246
- event.clientY,
247
- this.getContainerWidth(),
248
- );
249
- } else if (this.cropper.isResizing) {
250
- this.cropper.handleResize(
251
- event.clientX,
252
- event.clientY,
253
- this.getContainerWidth(),
254
- );
255
- }
256
- }
257
-
258
- protected onTouchMove(event: TouchEvent): void {
259
- if (this.cropper.isDragging || this.cropper.isResizing) {
260
- event.preventDefault();
261
- const touch = event.touches[0];
262
- if (this.cropper.isDragging) {
263
- this.cropper.handleDrag(
264
- touch.clientX,
265
- touch.clientY,
266
- this.getContainerWidth(),
267
- );
268
- } else if (this.cropper.isResizing) {
269
- this.cropper.handleResize(
270
- touch.clientX,
271
- touch.clientY,
272
- this.getContainerWidth(),
273
- );
274
- }
275
- }
276
- }
277
-
278
- // Public method for cropping - can be called via template reference
279
- async crop(): Promise<ReturnType<typeof this.cropper.crop>> {
280
- const img = this.imageEl()?.nativeElement;
281
- const canvas = this.canvasEl()?.nativeElement;
282
-
283
- if (!img || !canvas) {
284
- throw new Error('Image or canvas not found');
285
- }
286
-
287
- return this.cropper.crop(img, canvas, this.getContainerWidth());
288
- }
289
-
290
- // Public method for resetting crop area
291
- resetCropArea(): void {
292
- this.cropper.resetCropArea(this.getContainerWidth());
293
- }
294
- }