@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,207 +0,0 @@
1
- import {
2
- ChangeDetectionStrategy,
3
- Component,
4
- computed,
5
- DestroyRef,
6
- ElementRef,
7
- inject,
8
- input,
9
- OnInit,
10
- signal,
11
- viewChild,
12
- ViewEncapsulation,
13
- } from '@angular/core';
14
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
15
- import { fromEvent, merge } from 'rxjs';
16
- import { cn } from '@semantic-components/ui';
17
- import { ScScrollArea } from './scroll-area';
18
-
19
- export type ScrollBarOrientation = 'vertical' | 'horizontal';
20
-
21
- @Component({
22
- selector: 'div[sc-scroll-bar]',
23
- host: {
24
- 'data-slot': 'scroll-bar',
25
- '[class]': 'class()',
26
- '[attr.data-orientation]': 'orientation()',
27
- '[attr.data-state]': 'isVisible() ? "visible" : "hidden"',
28
- '(mousedown)': 'onTrackClick($event)',
29
- },
30
- template: `
31
- <div
32
- #thumb
33
- data-slot="scroll-thumb"
34
- [class]="thumbClass()"
35
- [style.transform]="thumbTransform()"
36
- [style.height]="orientation() === 'vertical' ? thumbSize() + '%' : null"
37
- [style.width]="orientation() === 'horizontal' ? thumbSize() + '%' : null"
38
- (mousedown)="onThumbMouseDown($event)"
39
- ></div>
40
- `,
41
- encapsulation: ViewEncapsulation.None,
42
- changeDetection: ChangeDetectionStrategy.OnPush,
43
- })
44
- export class ScScrollBar implements OnInit {
45
- private readonly scrollArea = inject(ScScrollArea);
46
- private readonly destroyRef = inject(DestroyRef);
47
- private readonly elementRef = inject(ElementRef<HTMLElement>);
48
-
49
- readonly classInput = input<string>('', { alias: 'class' });
50
- readonly orientation = input<ScrollBarOrientation>('vertical');
51
-
52
- readonly thumb = viewChild.required<ElementRef<HTMLDivElement>>('thumb');
53
-
54
- private readonly isDragging = signal(false);
55
- private dragStartPosition = 0;
56
- private dragStartScroll = 0;
57
-
58
- protected readonly isVisible = computed(() => {
59
- if (this.orientation() === 'vertical') {
60
- return this.scrollArea.scrollHeight() > this.scrollArea.clientHeight();
61
- }
62
- return this.scrollArea.scrollWidth() > this.scrollArea.clientWidth();
63
- });
64
-
65
- protected readonly thumbSize = computed(() => {
66
- if (this.orientation() === 'vertical') {
67
- const ratio =
68
- this.scrollArea.clientHeight() / this.scrollArea.scrollHeight();
69
- return Math.max(ratio * 100, 10);
70
- }
71
- const ratio = this.scrollArea.clientWidth() / this.scrollArea.scrollWidth();
72
- return Math.max(ratio * 100, 10);
73
- });
74
-
75
- protected readonly thumbPosition = computed(() => {
76
- if (this.orientation() === 'vertical') {
77
- const scrollableHeight =
78
- this.scrollArea.scrollHeight() - this.scrollArea.clientHeight();
79
- if (scrollableHeight <= 0) return 0;
80
- const trackHeight = 100 - this.thumbSize();
81
- return (this.scrollArea.scrollTop() / scrollableHeight) * trackHeight;
82
- }
83
- const scrollableWidth =
84
- this.scrollArea.scrollWidth() - this.scrollArea.clientWidth();
85
- if (scrollableWidth <= 0) return 0;
86
- const trackWidth = 100 - this.thumbSize();
87
- return (this.scrollArea.scrollLeft() / scrollableWidth) * trackWidth;
88
- });
89
-
90
- protected readonly thumbTransform = computed(() => {
91
- if (this.orientation() === 'vertical') {
92
- return `translateY(${this.thumbPosition()}cqh)`;
93
- }
94
- return `translateX(${this.thumbPosition()}cqw)`;
95
- });
96
-
97
- protected readonly class = computed(() => {
98
- const isVertical = this.orientation() === 'vertical';
99
- return cn(
100
- 'flex touch-none select-none transition-colors container-size',
101
- isVertical && 'h-full w-2.5 border-l border-l-transparent p-px',
102
- !isVertical && 'h-2.5 flex-col border-t border-t-transparent p-px',
103
- this.classInput(),
104
- );
105
- });
106
-
107
- protected readonly thumbClass = computed(() =>
108
- cn('relative flex-1 rounded-full bg-border'),
109
- );
110
-
111
- ngOnInit(): void {
112
- const viewport = this.scrollArea.viewport().nativeElement;
113
-
114
- fromEvent(viewport, 'scroll')
115
- .pipe(takeUntilDestroyed(this.destroyRef))
116
- .subscribe(() => {
117
- this.scrollArea.updateScrollState();
118
- });
119
-
120
- // Initial state
121
- setTimeout(() => this.scrollArea.updateScrollState(), 0);
122
-
123
- // Listen for resize
124
- if (typeof ResizeObserver !== 'undefined') {
125
- const resizeObserver = new ResizeObserver(() => {
126
- this.scrollArea.updateScrollState();
127
- });
128
- resizeObserver.observe(viewport);
129
- resizeObserver.observe(this.scrollArea.content().nativeElement);
130
- this.destroyRef.onDestroy(() => resizeObserver.disconnect());
131
- }
132
-
133
- // Global mouse events for dragging
134
- merge(
135
- fromEvent<MouseEvent>(document, 'mousemove'),
136
- fromEvent<MouseEvent>(document, 'mouseup'),
137
- )
138
- .pipe(takeUntilDestroyed(this.destroyRef))
139
- .subscribe((event) => {
140
- if (event.type === 'mousemove' && this.isDragging()) {
141
- this.onMouseMove(event);
142
- } else if (event.type === 'mouseup') {
143
- this.isDragging.set(false);
144
- }
145
- });
146
- }
147
-
148
- protected onThumbMouseDown(event: MouseEvent): void {
149
- event.preventDefault();
150
- event.stopPropagation();
151
- this.isDragging.set(true);
152
-
153
- if (this.orientation() === 'vertical') {
154
- this.dragStartPosition = event.clientY;
155
- this.dragStartScroll = this.scrollArea.scrollTop();
156
- } else {
157
- this.dragStartPosition = event.clientX;
158
- this.dragStartScroll = this.scrollArea.scrollLeft();
159
- }
160
- }
161
-
162
- protected onTrackClick(event: MouseEvent): void {
163
- if (event.target === this.thumb().nativeElement) return;
164
-
165
- const track = this.elementRef.nativeElement;
166
- const rect = track.getBoundingClientRect();
167
-
168
- if (this.orientation() === 'vertical') {
169
- const clickPosition = (event.clientY - rect.top) / rect.height;
170
- const scrollableHeight =
171
- this.scrollArea.scrollHeight() - this.scrollArea.clientHeight();
172
- this.scrollArea.scrollTo(clickPosition * scrollableHeight);
173
- } else {
174
- const clickPosition = (event.clientX - rect.left) / rect.width;
175
- const scrollableWidth =
176
- this.scrollArea.scrollWidth() - this.scrollArea.clientWidth();
177
- this.scrollArea.scrollTo(
178
- this.scrollArea.scrollTop(),
179
- clickPosition * scrollableWidth,
180
- );
181
- }
182
- }
183
-
184
- private onMouseMove(event: MouseEvent): void {
185
- const track = this.elementRef.nativeElement;
186
- const rect = track.getBoundingClientRect();
187
-
188
- if (this.orientation() === 'vertical') {
189
- const delta = event.clientY - this.dragStartPosition;
190
- const scrollableHeight =
191
- this.scrollArea.scrollHeight() - this.scrollArea.clientHeight();
192
- const trackHeight = rect.height;
193
- const scrollDelta = (delta / trackHeight) * scrollableHeight;
194
- this.scrollArea.scrollTo(this.dragStartScroll + scrollDelta);
195
- } else {
196
- const delta = event.clientX - this.dragStartPosition;
197
- const scrollableWidth =
198
- this.scrollArea.scrollWidth() - this.scrollArea.clientWidth();
199
- const trackWidth = rect.width;
200
- const scrollDelta = (delta / trackWidth) * scrollableWidth;
201
- this.scrollArea.scrollTo(
202
- this.scrollArea.scrollTop(),
203
- this.dragStartScroll + scrollDelta,
204
- );
205
- }
206
- }
207
- }
@@ -1,99 +0,0 @@
1
- # Search Input
2
-
3
- A search input with autocomplete suggestions, debounced search, and keyboard navigation.
4
-
5
- ## Installation
6
-
7
- ```typescript
8
- import { ScSearchInput } from '@/ui/search-input';
9
- import type { SearchSuggestion, SearchInputOptions } from '@/ui/search-input';
10
- ```
11
-
12
- ## Usage
13
-
14
- ### Basic Usage
15
-
16
- ```html
17
- <sc-search-input [suggestions]="suggestions" (search)="onSearch($event)" (suggestionSelect)="onSelect($event)" />
18
- ```
19
-
20
- ```typescript
21
- suggestions: SearchSuggestion[] = [
22
- { id: '1', label: 'Apple', description: 'A fruit' },
23
- { id: '2', label: 'Banana', description: 'A yellow fruit' },
24
- ];
25
-
26
- onSearch(query: string): void {
27
- console.log('Search:', query);
28
- }
29
-
30
- onSelect(suggestion: SearchSuggestion): void {
31
- console.log('Selected:', suggestion);
32
- }
33
- ```
34
-
35
- ### With Loading State
36
-
37
- ```html
38
- <sc-search-input [suggestions]="results" [loading]="isLoading" (search)="onAsyncSearch($event)" />
39
- ```
40
-
41
- ### With Categories
42
-
43
- ```typescript
44
- suggestions: SearchSuggestion[] = [
45
- { id: '1', label: 'MacBook Pro', description: 'Laptop', category: 'Electronics' },
46
- { id: '2', label: 'Nike Air Max', description: 'Shoes', category: 'Footwear' },
47
- ];
48
- ```
49
-
50
- ## API Reference
51
-
52
- ### Inputs
53
-
54
- | Input | Type | Default | Description |
55
- | ---------------- | -------------------- | ------------- | ------------------------ |
56
- | `suggestions` | `SearchSuggestion[]` | `[]` | Autocomplete suggestions |
57
- | `placeholder` | `string` | `'Search...'` | Input placeholder |
58
- | `debounceMs` | `number` | `300` | Debounce delay in ms |
59
- | `minChars` | `number` | `1` | Min chars to trigger |
60
- | `maxSuggestions` | `number` | `10` | Max suggestions to show |
61
- | `loading` | `boolean` | `false` | Show loading spinner |
62
- | `class` | `string` | `''` | Additional CSS classes |
63
-
64
- ### Outputs
65
-
66
- | Output | Type | Description |
67
- | ------------------ | ------------------ | ----------------------------- |
68
- | `search` | `string` | Emitted on debounced search |
69
- | `suggestionSelect` | `SearchSuggestion` | Emitted when item is selected |
70
- | `queryChange` | `string` | Emitted on every input change |
71
-
72
- ### Methods
73
-
74
- | Method | Description |
75
- | --------- | ------------------ |
76
- | `clear()` | Clear search input |
77
- | `focus()` | Focus the input |
78
-
79
- ## Type Definitions
80
-
81
- ```typescript
82
- interface SearchSuggestion {
83
- id: string;
84
- label: string;
85
- description?: string;
86
- icon?: string;
87
- category?: string;
88
- }
89
- ```
90
-
91
- ## Features
92
-
93
- - Debounced search to reduce API calls
94
- - Keyboard navigation (Arrow keys, Enter, Escape)
95
- - Loading state with spinner
96
- - Clear button
97
- - Category support for grouped suggestions
98
- - Click outside to close
99
- - Accessible with ARIA attributes
@@ -1,6 +0,0 @@
1
- export { ScSearchInput } from './search-input';
2
- export type {
3
- SearchInputOptions,
4
- SearchSuggestion,
5
- } from './search-input-types';
6
- export { DEFAULT_SEARCH_OPTIONS } from './search-input-types';
@@ -1,21 +0,0 @@
1
- export interface SearchSuggestion {
2
- id: string;
3
- label: string;
4
- description?: string;
5
- icon?: string;
6
- category?: string;
7
- }
8
-
9
- export interface SearchInputOptions {
10
- placeholder?: string;
11
- debounceMs?: number;
12
- minChars?: number;
13
- maxSuggestions?: number;
14
- }
15
-
16
- export const DEFAULT_SEARCH_OPTIONS: Required<SearchInputOptions> = {
17
- placeholder: 'Search...',
18
- debounceMs: 300,
19
- minChars: 1,
20
- maxSuggestions: 10,
21
- };
@@ -1,302 +0,0 @@
1
- import {
2
- ChangeDetectionStrategy,
3
- Component,
4
- computed,
5
- DestroyRef,
6
- ElementRef,
7
- inject,
8
- input,
9
- output,
10
- signal,
11
- viewChild,
12
- ViewEncapsulation,
13
- } from '@angular/core';
14
- import { cn } from '@semantic-components/ui';
15
- import type { SearchSuggestion } from './search-input-types';
16
- import { DEFAULT_SEARCH_OPTIONS } from './search-input-types';
17
-
18
- @Component({
19
- selector: 'sc-search-input',
20
- imports: [],
21
- template: `
22
- <div
23
- [class]="containerClass()"
24
- role="combobox"
25
- [attr.aria-expanded]="isOpen()"
26
- >
27
- <div [class]="inputWrapperClass()">
28
- <span
29
- class="absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground"
30
- [innerHTML]="searchIcon"
31
- ></span>
32
- <input
33
- #inputRef
34
- type="text"
35
- [class]="inputClass()"
36
- [placeholder]="placeholder()"
37
- [value]="query()"
38
- [attr.aria-label]="placeholder()"
39
- [attr.aria-autocomplete]="'list'"
40
- [attr.aria-controls]="'search-suggestions'"
41
- (input)="onInput($event)"
42
- (focus)="onFocus()"
43
- (keydown)="onKeydown($event)"
44
- />
45
- @if (query() && !loading()) {
46
- <button
47
- type="button"
48
- class="absolute right-3 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground"
49
- aria-label="Clear search"
50
- (click)="clear()"
51
- >
52
- <span [innerHTML]="clearIcon"></span>
53
- </button>
54
- }
55
- @if (loading()) {
56
- <span class="absolute right-3 top-1/2 -translate-y-1/2">
57
- <span
58
- class="inline-block h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent"
59
- ></span>
60
- </span>
61
- }
62
- </div>
63
-
64
- @if (isOpen() && filteredSuggestions().length > 0) {
65
- <div
66
- id="search-suggestions"
67
- [class]="suggestionsClass()"
68
- role="listbox"
69
- >
70
- @for (
71
- suggestion of filteredSuggestions();
72
- track suggestion.id;
73
- let i = $index
74
- ) {
75
- <button
76
- type="button"
77
- role="option"
78
- [class]="suggestionClass(i)"
79
- [attr.aria-selected]="highlightedIndex() === i"
80
- (click)="selectSuggestion(suggestion)"
81
- (mouseenter)="highlightedIndex.set(i)"
82
- >
83
- @if (suggestion.icon) {
84
- <span
85
- class="inline-flex items-center justify-center [&>svg]:w-4 [&>svg]:h-4 text-muted-foreground"
86
- [innerHTML]="suggestion.icon"
87
- ></span>
88
- }
89
- <div class="flex-1 text-left">
90
- <div class="font-medium">{{ suggestion.label }}</div>
91
- @if (suggestion.description) {
92
- <div class="text-xs text-muted-foreground">
93
- {{ suggestion.description }}
94
- </div>
95
- }
96
- </div>
97
- @if (suggestion.category) {
98
- <span class="text-xs text-muted-foreground">
99
- {{ suggestion.category }}
100
- </span>
101
- }
102
- </button>
103
- }
104
- </div>
105
- }
106
-
107
- @if (
108
- isOpen() &&
109
- query().length >= minChars() &&
110
- filteredSuggestions().length === 0 &&
111
- !loading()
112
- ) {
113
- <div [class]="suggestionsClass()">
114
- <div class="px-3 py-6 text-center text-sm text-muted-foreground">
115
- No results found
116
- </div>
117
- </div>
118
- }
119
- </div>
120
- `,
121
- styles: `
122
- :host {
123
- display: block;
124
- }
125
- `,
126
- host: {
127
- '(document:click)': 'onDocumentClick($event)',
128
- },
129
- encapsulation: ViewEncapsulation.None,
130
- changeDetection: ChangeDetectionStrategy.OnPush,
131
- })
132
- export class ScSearchInput {
133
- private readonly elementRef = inject(ElementRef<HTMLElement>);
134
- private readonly destroyRef = inject(DestroyRef);
135
-
136
- readonly inputRef = viewChild<ElementRef<HTMLInputElement>>('inputRef');
137
-
138
- readonly suggestions = input<SearchSuggestion[]>([]);
139
- readonly placeholder = input(DEFAULT_SEARCH_OPTIONS.placeholder);
140
- readonly debounceMs = input(DEFAULT_SEARCH_OPTIONS.debounceMs);
141
- readonly minChars = input(DEFAULT_SEARCH_OPTIONS.minChars);
142
- readonly maxSuggestions = input(DEFAULT_SEARCH_OPTIONS.maxSuggestions);
143
- readonly loading = input(false);
144
- readonly class = input<string>('');
145
-
146
- readonly search = output<string>();
147
- readonly suggestionSelect = output<SearchSuggestion>();
148
- readonly queryChange = output<string>();
149
-
150
- protected readonly query = signal('');
151
- protected readonly isOpen = signal(false);
152
- protected readonly highlightedIndex = signal(-1);
153
-
154
- private debounceTimer: ReturnType<typeof setTimeout> | null = null;
155
-
156
- readonly searchIcon = `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"/><path d="m21 21-4.3-4.3"/></svg>`;
157
- readonly clearIcon = `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 6 6 18"/><path d="m6 6 12 12"/></svg>`;
158
-
159
- protected readonly filteredSuggestions = computed(() => {
160
- const q = this.query().toLowerCase();
161
- if (q.length < this.minChars()) return [];
162
-
163
- return this.suggestions()
164
- .filter(
165
- (s) =>
166
- s.label.toLowerCase().includes(q) ||
167
- s.description?.toLowerCase().includes(q) ||
168
- s.category?.toLowerCase().includes(q),
169
- )
170
- .slice(0, this.maxSuggestions());
171
- });
172
-
173
- protected readonly containerClass = computed(() =>
174
- cn('relative', this.class()),
175
- );
176
-
177
- protected readonly inputWrapperClass = computed(() => 'relative');
178
-
179
- protected readonly inputClass = computed(() =>
180
- cn(
181
- 'w-full h-10 pl-10 pr-10',
182
- 'rounded-md border border-input bg-background',
183
- 'text-sm placeholder:text-muted-foreground',
184
- 'focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2',
185
- 'disabled:cursor-not-allowed disabled:opacity-50',
186
- ),
187
- );
188
-
189
- protected readonly suggestionsClass = computed(() =>
190
- cn(
191
- 'absolute top-full left-0 right-0 z-50 mt-1',
192
- 'max-h-[300px] overflow-auto',
193
- 'rounded-md border bg-popover shadow-md',
194
- 'animate-in fade-in-0 zoom-in-95',
195
- ),
196
- );
197
-
198
- protected suggestionClass(index: number): string {
199
- return cn(
200
- 'flex w-full items-center gap-3 px-3 py-2',
201
- 'cursor-pointer transition-colors',
202
- 'focus:outline-none',
203
- this.highlightedIndex() === index
204
- ? 'bg-accent text-accent-foreground'
205
- : 'hover:bg-accent hover:text-accent-foreground',
206
- );
207
- }
208
-
209
- constructor() {
210
- this.destroyRef.onDestroy(() => {
211
- if (this.debounceTimer) {
212
- clearTimeout(this.debounceTimer);
213
- }
214
- });
215
- }
216
-
217
- onInput(event: Event): void {
218
- const value = (event.target as HTMLInputElement).value;
219
- this.query.set(value);
220
- this.queryChange.emit(value);
221
- this.highlightedIndex.set(-1);
222
-
223
- if (this.debounceTimer) {
224
- clearTimeout(this.debounceTimer);
225
- }
226
-
227
- if (value.length >= this.minChars()) {
228
- this.isOpen.set(true);
229
- this.debounceTimer = setTimeout(() => {
230
- this.search.emit(value);
231
- }, this.debounceMs());
232
- } else {
233
- this.isOpen.set(false);
234
- }
235
- }
236
-
237
- onFocus(): void {
238
- if (this.query().length >= this.minChars()) {
239
- this.isOpen.set(true);
240
- }
241
- }
242
-
243
- onKeydown(event: KeyboardEvent): void {
244
- const suggestions = this.filteredSuggestions();
245
-
246
- switch (event.key) {
247
- case 'ArrowDown':
248
- event.preventDefault();
249
- if (!this.isOpen()) {
250
- this.isOpen.set(true);
251
- } else {
252
- this.highlightedIndex.update((i) =>
253
- Math.min(i + 1, suggestions.length - 1),
254
- );
255
- }
256
- break;
257
- case 'ArrowUp':
258
- event.preventDefault();
259
- this.highlightedIndex.update((i) => Math.max(i - 1, 0));
260
- break;
261
- case 'Enter':
262
- event.preventDefault();
263
- const index = this.highlightedIndex();
264
- if (index >= 0 && index < suggestions.length) {
265
- this.selectSuggestion(suggestions[index]);
266
- } else if (this.query().length >= this.minChars()) {
267
- this.search.emit(this.query());
268
- }
269
- break;
270
- case 'Escape':
271
- this.isOpen.set(false);
272
- this.highlightedIndex.set(-1);
273
- break;
274
- }
275
- }
276
-
277
- onDocumentClick(event: MouseEvent): void {
278
- if (!this.elementRef.nativeElement.contains(event.target as Node)) {
279
- this.isOpen.set(false);
280
- }
281
- }
282
-
283
- selectSuggestion(suggestion: SearchSuggestion): void {
284
- this.query.set(suggestion.label);
285
- this.queryChange.emit(suggestion.label);
286
- this.suggestionSelect.emit(suggestion);
287
- this.isOpen.set(false);
288
- this.highlightedIndex.set(-1);
289
- }
290
-
291
- clear(): void {
292
- this.query.set('');
293
- this.queryChange.emit('');
294
- this.isOpen.set(false);
295
- this.highlightedIndex.set(-1);
296
- this.inputRef()?.nativeElement.focus();
297
- }
298
-
299
- focus(): void {
300
- this.inputRef()?.nativeElement.focus();
301
- }
302
- }