@kouji-ui/components 0.1.1 → 0.1.3

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 (733) hide show
  1. package/fesm2022/kouji-ui-components.mjs +17668 -0
  2. package/fesm2022/kouji-ui-components.mjs.map +1 -0
  3. package/package.json +21 -11
  4. package/types/kouji-ui-components.d.ts +8032 -0
  5. package/.turbo/turbo-build.log +0 -29
  6. package/CHANGELOG.md +0 -192
  7. package/ng-package.json +0 -7
  8. package/src/accordion/_examples/accordion.default.example.ts +0 -31
  9. package/src/accordion/_examples/accordion.disabled.example.ts +0 -38
  10. package/src/accordion/_examples/accordion.multiple.example.ts +0 -31
  11. package/src/accordion/_examples/accordion.rich-content.example.ts +0 -49
  12. package/src/accordion/_examples/index.ts +0 -6
  13. package/src/accordion/accordion.arrow-nav.example.ts +0 -39
  14. package/src/accordion/accordion.css +0 -68
  15. package/src/accordion/accordion.playground.ts +0 -119
  16. package/src/accordion/accordion.spec.ts +0 -117
  17. package/src/accordion/accordion.ts +0 -153
  18. package/src/accordion/accordion.usage.example.ts +0 -38
  19. package/src/accordion/accordion.value.example.ts +0 -60
  20. package/src/accordion/index.ts +0 -1
  21. package/src/alert/_examples/alert.banner.example.ts +0 -56
  22. package/src/alert/_examples/alert.dismissible.example.ts +0 -53
  23. package/src/alert/_examples/alert.example.ts +0 -40
  24. package/src/alert/_examples/alert.variants.example.ts +0 -66
  25. package/src/alert/_examples/alert.with-actions.example.ts +0 -57
  26. package/src/alert/_examples/index.ts +0 -7
  27. package/src/alert/alert.css +0 -133
  28. package/src/alert/alert.playground.ts +0 -111
  29. package/src/alert/alert.spec.ts +0 -167
  30. package/src/alert/alert.ts +0 -250
  31. package/src/alert/alert.usage.example.ts +0 -58
  32. package/src/alert/index.ts +0 -8
  33. package/src/avatar/_examples/avatar-group.example.ts +0 -31
  34. package/src/avatar/_examples/avatar-group.list.example.ts +0 -45
  35. package/src/avatar/_examples/avatar-group.overflow.example.ts +0 -33
  36. package/src/avatar/_examples/avatar-group.shapes.example.ts +0 -39
  37. package/src/avatar/_examples/avatar-group.sizes.example.ts +0 -44
  38. package/src/avatar/_examples/avatar.default.example.ts +0 -18
  39. package/src/avatar/_examples/avatar.initials.example.ts +0 -20
  40. package/src/avatar/_examples/avatar.shapes.example.ts +0 -22
  41. package/src/avatar/_examples/avatar.sizes.example.ts +0 -26
  42. package/src/avatar/_examples/avatar.with-image.example.ts +0 -20
  43. package/src/avatar/_examples/index.ts +0 -12
  44. package/src/avatar/avatar-group.spec.ts +0 -138
  45. package/src/avatar/avatar-group.ts +0 -127
  46. package/src/avatar/avatar-group.usage.example.ts +0 -30
  47. package/src/avatar/avatar.css +0 -58
  48. package/src/avatar/avatar.playground.ts +0 -95
  49. package/src/avatar/avatar.ts +0 -123
  50. package/src/avatar/index.ts +0 -2
  51. package/src/badge/_examples/badge.default.example.ts +0 -18
  52. package/src/badge/_examples/badge.sizes.example.ts +0 -25
  53. package/src/badge/_examples/badge.variants.example.ts +0 -24
  54. package/src/badge/_examples/badge.with-dot.example.ts +0 -31
  55. package/src/badge/_examples/badge.with-icon.example.ts +0 -23
  56. package/src/badge/_examples/index.ts +0 -7
  57. package/src/badge/badge.css +0 -59
  58. package/src/badge/badge.playground.ts +0 -49
  59. package/src/badge/badge.ts +0 -86
  60. package/src/badge/badge.usage.example.ts +0 -22
  61. package/src/badge/index.ts +0 -1
  62. package/src/breadcrumb/_examples/breadcrumb.custom-separator.example.ts +0 -53
  63. package/src/breadcrumb/_examples/breadcrumb.example.ts +0 -48
  64. package/src/breadcrumb/_examples/breadcrumb.long-path.example.ts +0 -58
  65. package/src/breadcrumb/_examples/breadcrumb.truncated.example.ts +0 -59
  66. package/src/breadcrumb/_examples/breadcrumb.with-icons.example.ts +0 -66
  67. package/src/breadcrumb/_examples/index.ts +0 -7
  68. package/src/breadcrumb/breadcrumb.css +0 -121
  69. package/src/breadcrumb/breadcrumb.playground.ts +0 -93
  70. package/src/breadcrumb/breadcrumb.spec.ts +0 -230
  71. package/src/breadcrumb/breadcrumb.ts +0 -272
  72. package/src/breadcrumb/breadcrumb.usage.example.ts +0 -45
  73. package/src/breadcrumb/index.ts +0 -1
  74. package/src/button/_examples/button.anchor.example.ts +0 -18
  75. package/src/button/_examples/button.configured.example.ts +0 -43
  76. package/src/button/_examples/button.disabled.example.ts +0 -25
  77. package/src/button/_examples/button.example.ts +0 -22
  78. package/src/button/_examples/button.icon.example.ts +0 -27
  79. package/src/button/_examples/button.loading.example.ts +0 -31
  80. package/src/button/_examples/button.pressed.example.ts +0 -24
  81. package/src/button/_examples/button.sizes.example.ts +0 -26
  82. package/src/button/_examples/button.usage.example.ts +0 -66
  83. package/src/button/_examples/button.variants.example.ts +0 -26
  84. package/src/button/_examples/index.ts +0 -12
  85. package/src/button/button.css +0 -263
  86. package/src/button/button.playground.ts +0 -79
  87. package/src/button/button.spec.ts +0 -100
  88. package/src/button/button.ts +0 -150
  89. package/src/button/index.ts +0 -1
  90. package/src/button-group/_examples/button-group.example.ts +0 -30
  91. package/src/button-group/_examples/button-group.icon-only.example.ts +0 -30
  92. package/src/button-group/_examples/button-group.toggle.example.ts +0 -36
  93. package/src/button-group/_examples/button-group.variants.example.ts +0 -40
  94. package/src/button-group/_examples/button-group.vertical.example.ts +0 -29
  95. package/src/button-group/_examples/index.ts +0 -7
  96. package/src/button-group/button-group.css +0 -80
  97. package/src/button-group/button-group.playground.ts +0 -94
  98. package/src/button-group/button-group.spec.ts +0 -119
  99. package/src/button-group/button-group.ts +0 -130
  100. package/src/button-group/button-group.usage.example.ts +0 -35
  101. package/src/button-group/index.ts +0 -1
  102. package/src/calendar/_examples/calendar.example.ts +0 -33
  103. package/src/calendar/_examples/index.ts +0 -3
  104. package/src/calendar/calendar.css +0 -129
  105. package/src/calendar/calendar.playground.ts +0 -84
  106. package/src/calendar/calendar.spec.ts +0 -50
  107. package/src/calendar/calendar.ts +0 -171
  108. package/src/calendar/calendar.usage.example.ts +0 -33
  109. package/src/calendar/index.ts +0 -1
  110. package/src/card/_examples/card.cover.example.ts +0 -53
  111. package/src/card/_examples/card.example.ts +0 -27
  112. package/src/card/_examples/card.full.example.ts +0 -51
  113. package/src/card/_examples/index.ts +0 -5
  114. package/src/card/card.css +0 -120
  115. package/src/card/card.playground.ts +0 -116
  116. package/src/card/card.spec.ts +0 -50
  117. package/src/card/card.ts +0 -194
  118. package/src/card/card.usage.example.ts +0 -46
  119. package/src/card/index.ts +0 -1
  120. package/src/carousel/_examples/carousel.autoplay.example.ts +0 -69
  121. package/src/carousel/_examples/carousel.example.ts +0 -60
  122. package/src/carousel/_examples/carousel.indicators.example.ts +0 -64
  123. package/src/carousel/_examples/carousel.lazy-load.example.ts +0 -85
  124. package/src/carousel/_examples/carousel.tabs-pattern.example.ts +0 -61
  125. package/src/carousel/_examples/index.ts +0 -7
  126. package/src/carousel/carousel.css +0 -181
  127. package/src/carousel/carousel.playground.ts +0 -135
  128. package/src/carousel/carousel.spec.ts +0 -211
  129. package/src/carousel/carousel.ts +0 -399
  130. package/src/carousel/carousel.usage.example.ts +0 -46
  131. package/src/carousel/index.ts +0 -1
  132. package/src/cascade-select/_examples/cascade-select.data-driven.example.ts +0 -119
  133. package/src/cascade-select/_examples/cascade-select.disabled.example.ts +0 -74
  134. package/src/cascade-select/_examples/cascade-select.example.ts +0 -80
  135. package/src/cascade-select/_examples/cascade-select.field.example.ts +0 -73
  136. package/src/cascade-select/_examples/cascade-select.path.example.ts +0 -85
  137. package/src/cascade-select/_examples/index.ts +0 -7
  138. package/src/cascade-select/cascade-select.css +0 -120
  139. package/src/cascade-select/cascade-select.playground.ts +0 -133
  140. package/src/cascade-select/cascade-select.ts +0 -201
  141. package/src/cascade-select/cascade-select.usage.example.ts +0 -44
  142. package/src/cascade-select/index.ts +0 -5
  143. package/src/chat/_examples/chat-bubble.example.ts +0 -71
  144. package/src/chat/_examples/chat-bubble.grouped.example.ts +0 -69
  145. package/src/chat/_examples/chat-bubble.sides.example.ts +0 -41
  146. package/src/chat/_examples/chat-bubble.variants.example.ts +0 -58
  147. package/src/chat/_examples/chat-bubble.with-state.example.ts +0 -57
  148. package/src/chat/_examples/index.ts +0 -7
  149. package/src/chat/chat.css +0 -231
  150. package/src/chat/chat.playground.ts +0 -171
  151. package/src/chat/chat.spec.ts +0 -343
  152. package/src/chat/chat.ts +0 -269
  153. package/src/chat/chat.usage.example.ts +0 -49
  154. package/src/chat/index.ts +0 -13
  155. package/src/checkbox/_examples/checkbox.checked.example.ts +0 -20
  156. package/src/checkbox/_examples/checkbox.default.example.ts +0 -20
  157. package/src/checkbox/_examples/checkbox.disabled.example.ts +0 -26
  158. package/src/checkbox/_examples/checkbox.indeterminate.example.ts +0 -20
  159. package/src/checkbox/_examples/checkbox.usage.example.ts +0 -62
  160. package/src/checkbox/_examples/index.ts +0 -7
  161. package/src/checkbox/checkbox.css +0 -74
  162. package/src/checkbox/checkbox.playground.ts +0 -68
  163. package/src/checkbox/checkbox.ts +0 -122
  164. package/src/checkbox/index.ts +0 -1
  165. package/src/color-picker/_examples/color-picker.alpha.example.ts +0 -36
  166. package/src/color-picker/_examples/color-picker.example.ts +0 -34
  167. package/src/color-picker/_examples/color-picker.hex-input.example.ts +0 -53
  168. package/src/color-picker/_examples/color-picker.in-form.example.ts +0 -60
  169. package/src/color-picker/_examples/color-picker.usage.example.ts +0 -58
  170. package/src/color-picker/_examples/color-picker.with-presets.example.ts +0 -45
  171. package/src/color-picker/_examples/index.ts +0 -8
  172. package/src/color-picker/color-picker.css +0 -183
  173. package/src/color-picker/color-picker.playground.ts +0 -83
  174. package/src/color-picker/color-picker.spec.ts +0 -94
  175. package/src/color-picker/color-picker.ts +0 -234
  176. package/src/color-picker/index.ts +0 -1
  177. package/src/combobox/_examples/combobox.async.example.ts +0 -85
  178. package/src/combobox/_examples/combobox.empty-state.example.ts +0 -36
  179. package/src/combobox/_examples/combobox.example.ts +0 -36
  180. package/src/combobox/_examples/combobox.free-text.example.ts +0 -42
  181. package/src/combobox/_examples/combobox.usage.example.ts +0 -51
  182. package/src/combobox/_examples/combobox.with-icons.example.ts +0 -49
  183. package/src/combobox/_examples/index.ts +0 -8
  184. package/src/combobox/combobox.css +0 -101
  185. package/src/combobox/combobox.playground.ts +0 -90
  186. package/src/combobox/combobox.spec.ts +0 -111
  187. package/src/combobox/combobox.ts +0 -219
  188. package/src/combobox/index.ts +0 -6
  189. package/src/command-palette/_examples/command-palette.async.example.ts +0 -99
  190. package/src/command-palette/_examples/command-palette.dialog.example.ts +0 -90
  191. package/src/command-palette/_examples/command-palette.example.ts +0 -40
  192. package/src/command-palette/_examples/command-palette.fuzzy.example.ts +0 -54
  193. package/src/command-palette/_examples/command-palette.groups.example.ts +0 -55
  194. package/src/command-palette/_examples/command-palette.usage.example.ts +0 -49
  195. package/src/command-palette/_examples/index.ts +0 -8
  196. package/src/command-palette/command-palette.css +0 -234
  197. package/src/command-palette/command-palette.playground.ts +0 -119
  198. package/src/command-palette/command-palette.ts +0 -448
  199. package/src/command-palette/index.ts +0 -10
  200. package/src/confirm-popup/_examples/confirm-popup.destructive.example.ts +0 -72
  201. package/src/confirm-popup/_examples/confirm-popup.example.ts +0 -82
  202. package/src/confirm-popup/_examples/confirm-popup.placement.example.ts +0 -97
  203. package/src/confirm-popup/_examples/confirm-popup.usage.example.ts +0 -94
  204. package/src/confirm-popup/_examples/confirm-popup.with-message.example.ts +0 -76
  205. package/src/confirm-popup/_examples/index.ts +0 -7
  206. package/src/confirm-popup/confirm-popup.css +0 -47
  207. package/src/confirm-popup/confirm-popup.playground.ts +0 -109
  208. package/src/confirm-popup/confirm-popup.spec.ts +0 -209
  209. package/src/confirm-popup/confirm-popup.ts +0 -279
  210. package/src/confirm-popup/index.ts +0 -1
  211. package/src/date-picker/_examples/date-picker.disabled-dates.example.ts +0 -44
  212. package/src/date-picker/_examples/date-picker.example.ts +0 -38
  213. package/src/date-picker/_examples/date-picker.locale.example.ts +0 -50
  214. package/src/date-picker/_examples/date-picker.readonly.example.ts +0 -32
  215. package/src/date-picker/_examples/date-picker.usage.example.ts +0 -60
  216. package/src/date-picker/_examples/date-picker.with-min-max.example.ts +0 -47
  217. package/src/date-picker/_examples/index.ts +0 -8
  218. package/src/date-picker/date-picker.css +0 -61
  219. package/src/date-picker/date-picker.playground.ts +0 -79
  220. package/src/date-picker/date-picker.spec.ts +0 -71
  221. package/src/date-picker/date-picker.ts +0 -185
  222. package/src/date-picker/index.ts +0 -1
  223. package/src/dialog/_examples/dialog.confirmation.example.ts +0 -30
  224. package/src/dialog/_examples/dialog.default.example.ts +0 -30
  225. package/src/dialog/_examples/dialog.nested.example.ts +0 -86
  226. package/src/dialog/_examples/dialog.scrollable.example.ts +0 -30
  227. package/src/dialog/_examples/dialog.usage.example.ts +0 -57
  228. package/src/dialog/_examples/dialog.with-form.example.ts +0 -48
  229. package/src/dialog/_examples/index.ts +0 -8
  230. package/src/dialog/dialog.css +0 -56
  231. package/src/dialog/dialog.playground.ts +0 -136
  232. package/src/dialog/dialog.ts +0 -82
  233. package/src/dialog/index.ts +0 -1
  234. package/src/divider/_examples/divider.example.ts +0 -27
  235. package/src/divider/_examples/divider.sizes.example.ts +0 -33
  236. package/src/divider/_examples/divider.structural.example.ts +0 -55
  237. package/src/divider/_examples/divider.usage.example.ts +0 -48
  238. package/src/divider/_examples/divider.variants.example.ts +0 -33
  239. package/src/divider/_examples/divider.vertical.example.ts +0 -38
  240. package/src/divider/_examples/divider.with-content.example.ts +0 -38
  241. package/src/divider/_examples/index.ts +0 -9
  242. package/src/divider/divider.css +0 -93
  243. package/src/divider/divider.playground.ts +0 -97
  244. package/src/divider/divider.spec.ts +0 -207
  245. package/src/divider/divider.ts +0 -220
  246. package/src/divider/index.ts +0 -1
  247. package/src/drawer/_examples/drawer.example.ts +0 -30
  248. package/src/drawer/_examples/drawer.modal-vs-non-modal.example.ts +0 -27
  249. package/src/drawer/_examples/drawer.scrollable.example.ts +0 -30
  250. package/src/drawer/_examples/drawer.sides.example.ts +0 -32
  251. package/src/drawer/_examples/drawer.usage.example.ts +0 -56
  252. package/src/drawer/_examples/drawer.with-form.example.ts +0 -48
  253. package/src/drawer/_examples/index.ts +0 -8
  254. package/src/drawer/drawer.css +0 -130
  255. package/src/drawer/drawer.playground.ts +0 -107
  256. package/src/drawer/drawer.spec.ts +0 -216
  257. package/src/drawer/drawer.ts +0 -85
  258. package/src/drawer/index.ts +0 -1
  259. package/src/dropdown-menu/_examples/dropdown-menu.disabled.example.ts +0 -19
  260. package/src/dropdown-menu/_examples/dropdown-menu.example.ts +0 -20
  261. package/src/dropdown-menu/_examples/dropdown-menu.shortcuts.example.ts +0 -31
  262. package/src/dropdown-menu/_examples/dropdown-menu.sides.example.ts +0 -18
  263. package/src/dropdown-menu/_examples/dropdown-menu.usage.example.ts +0 -56
  264. package/src/dropdown-menu/_examples/dropdown-menu.with-icons.example.ts +0 -31
  265. package/src/dropdown-menu/_examples/dropdown-menu.with-separator.example.ts +0 -41
  266. package/src/dropdown-menu/_examples/index.ts +0 -9
  267. package/src/dropdown-menu/dropdown-menu.css +0 -108
  268. package/src/dropdown-menu/dropdown-menu.playground.ts +0 -109
  269. package/src/dropdown-menu/dropdown-menu.spec.ts +0 -5
  270. package/src/dropdown-menu/dropdown-menu.ts +0 -128
  271. package/src/dropdown-menu/index.ts +0 -1
  272. package/src/empty-state/_examples/empty-state.error.example.ts +0 -63
  273. package/src/empty-state/_examples/empty-state.example.ts +0 -59
  274. package/src/empty-state/_examples/empty-state.search.example.ts +0 -82
  275. package/src/empty-state/_examples/empty-state.sizes.example.ts +0 -76
  276. package/src/empty-state/_examples/empty-state.usage.example.ts +0 -66
  277. package/src/empty-state/_examples/empty-state.with-actions.example.ts +0 -68
  278. package/src/empty-state/_examples/index.ts +0 -8
  279. package/src/empty-state/empty-state.css +0 -114
  280. package/src/empty-state/empty-state.playground.ts +0 -87
  281. package/src/empty-state/empty-state.spec.ts +0 -211
  282. package/src/empty-state/empty-state.ts +0 -276
  283. package/src/empty-state/index.ts +0 -1
  284. package/src/example-components.ts +0 -396
  285. package/src/field/_examples/field.disabled.example.ts +0 -49
  286. package/src/field/_examples/field.example.ts +0 -51
  287. package/src/field/_examples/field.required.example.ts +0 -46
  288. package/src/field/_examples/field.with-error.example.ts +0 -73
  289. package/src/field/_examples/field.with-prefix-suffix.example.ts +0 -63
  290. package/src/field/_examples/index.ts +0 -7
  291. package/src/field/field.css +0 -138
  292. package/src/field/field.playground.ts +0 -108
  293. package/src/field/field.spec.ts +0 -132
  294. package/src/field/field.ts +0 -232
  295. package/src/field/field.usage.example.ts +0 -63
  296. package/src/field/index.ts +0 -7
  297. package/src/file-upload/_examples/file-upload.dropzone.example.ts +0 -32
  298. package/src/file-upload/_examples/file-upload.example.ts +0 -29
  299. package/src/file-upload/_examples/file-upload.image-preview.example.ts +0 -31
  300. package/src/file-upload/_examples/file-upload.multiple.example.ts +0 -23
  301. package/src/file-upload/_examples/file-upload.with-progress.example.ts +0 -59
  302. package/src/file-upload/_examples/index.ts +0 -7
  303. package/src/file-upload/file-upload.css +0 -207
  304. package/src/file-upload/file-upload.playground.ts +0 -84
  305. package/src/file-upload/file-upload.spec.ts +0 -94
  306. package/src/file-upload/file-upload.ts +0 -301
  307. package/src/file-upload/file-upload.usage.example.ts +0 -45
  308. package/src/file-upload/index.ts +0 -1
  309. package/src/form/_examples/form.async-submit.example.ts +0 -72
  310. package/src/form/_examples/form.compound.example.ts +0 -93
  311. package/src/form/_examples/form.example.ts +0 -70
  312. package/src/form/_examples/form.validation.example.ts +0 -67
  313. package/src/form/_examples/index.ts +0 -6
  314. package/src/form/form.css +0 -63
  315. package/src/form/form.playground.ts +0 -145
  316. package/src/form/form.spec.ts +0 -96
  317. package/src/form/form.ts +0 -216
  318. package/src/form/form.usage.example.ts +0 -63
  319. package/src/form/index.ts +0 -5
  320. package/src/icon/_examples/icon.gallery.example.ts +0 -199
  321. package/src/icon/_examples/icon.usage.example.ts +0 -46
  322. package/src/icon/_examples/index.ts +0 -4
  323. package/src/icon/icon.playground.ts +0 -63
  324. package/src/icon/index.ts +0 -5
  325. package/src/icon/lucide/icon-names.generated.ts +0 -1708
  326. package/src/icon/lucide/icon-names.ts +0 -18
  327. package/src/icon/lucide/index.ts +0 -2
  328. package/src/icon/lucide/provide-lucide-icons.ts +0 -96
  329. package/src/input/_examples/index.ts +0 -4
  330. package/src/input/_examples/input.color.example.ts +0 -33
  331. package/src/input/_examples/input.example.ts +0 -22
  332. package/src/input/index.ts +0 -1
  333. package/src/input/input.css +0 -70
  334. package/src/input/input.playground.ts +0 -79
  335. package/src/input/input.spec.ts +0 -98
  336. package/src/input/input.ts +0 -158
  337. package/src/input/input.usage.example.ts +0 -40
  338. package/src/input-group/_examples/index.ts +0 -7
  339. package/src/input-group/_examples/input-group.button.example.ts +0 -43
  340. package/src/input-group/_examples/input-group.example.ts +0 -39
  341. package/src/input-group/_examples/input-group.icon.example.ts +0 -49
  342. package/src/input-group/_examples/input-group.url.example.ts +0 -36
  343. package/src/input-group/_examples/input-group.variants.example.ts +0 -39
  344. package/src/input-group/index.ts +0 -1
  345. package/src/input-group/input-group.css +0 -125
  346. package/src/input-group/input-group.playground.ts +0 -90
  347. package/src/input-group/input-group.ts +0 -142
  348. package/src/input-group/input-group.usage.example.ts +0 -47
  349. package/src/input-mask/_examples/index.ts +0 -8
  350. package/src/input-mask/_examples/input-mask.credit-card.example.ts +0 -90
  351. package/src/input-mask/_examples/input-mask.custom-tokens.example.ts +0 -87
  352. package/src/input-mask/_examples/input-mask.date.example.ts +0 -61
  353. package/src/input-mask/_examples/input-mask.example.ts +0 -61
  354. package/src/input-mask/_examples/input-mask.usage.example.ts +0 -44
  355. package/src/input-mask/_examples/input-mask.validation.example.ts +0 -80
  356. package/src/input-mask/index.ts +0 -9
  357. package/src/input-mask/input-mask.css +0 -39
  358. package/src/input-mask/input-mask.playground.ts +0 -79
  359. package/src/input-mask/input-mask.ts +0 -130
  360. package/src/input-otp/_examples/index.ts +0 -8
  361. package/src/input-otp/_examples/input-otp.autosubmit.example.ts +0 -71
  362. package/src/input-otp/_examples/input-otp.example.ts +0 -47
  363. package/src/input-otp/_examples/input-otp.lengths.example.ts +0 -67
  364. package/src/input-otp/_examples/input-otp.masked.example.ts +0 -46
  365. package/src/input-otp/_examples/input-otp.reactive.example.ts +0 -58
  366. package/src/input-otp/_examples/input-otp.separator.example.ts +0 -49
  367. package/src/input-otp/index.ts +0 -1
  368. package/src/input-otp/input-otp.css +0 -87
  369. package/src/input-otp/input-otp.playground.ts +0 -107
  370. package/src/input-otp/input-otp.ts +0 -244
  371. package/src/input-otp/input-otp.usage.example.ts +0 -45
  372. package/src/kbd/_examples/index.ts +0 -6
  373. package/src/kbd/_examples/kbd.combo.example.ts +0 -24
  374. package/src/kbd/_examples/kbd.example.ts +0 -22
  375. package/src/kbd/_examples/kbd.in-tooltip.example.ts +0 -43
  376. package/src/kbd/_examples/kbd.sizes.example.ts +0 -31
  377. package/src/kbd/index.ts +0 -1
  378. package/src/kbd/kbd.css +0 -67
  379. package/src/kbd/kbd.playground.ts +0 -51
  380. package/src/kbd/kbd.spec.ts +0 -123
  381. package/src/kbd/kbd.ts +0 -123
  382. package/src/kbd/kbd.usage.example.ts +0 -38
  383. package/src/link/_examples/index.ts +0 -8
  384. package/src/link/_examples/link.disabled.example.ts +0 -23
  385. package/src/link/_examples/link.example.ts +0 -26
  386. package/src/link/_examples/link.external.example.ts +0 -33
  387. package/src/link/_examples/link.in-prose.example.ts +0 -36
  388. package/src/link/_examples/link.sizes.example.ts +0 -28
  389. package/src/link/_examples/link.variants.example.ts +0 -25
  390. package/src/link/index.ts +0 -1
  391. package/src/link/link.css +0 -104
  392. package/src/link/link.playground.ts +0 -98
  393. package/src/link/link.spec.ts +0 -146
  394. package/src/link/link.ts +0 -133
  395. package/src/link/link.usage.example.ts +0 -37
  396. package/src/list/_examples/index.ts +0 -7
  397. package/src/list/_examples/list.divided.example.ts +0 -32
  398. package/src/list/_examples/list.example.ts +0 -31
  399. package/src/list/_examples/list.interactive.example.ts +0 -51
  400. package/src/list/_examples/list.nav.example.ts +0 -44
  401. package/src/list/_examples/list.with-icons.example.ts +0 -97
  402. package/src/list/index.ts +0 -1
  403. package/src/list/list.css +0 -166
  404. package/src/list/list.playground.ts +0 -90
  405. package/src/list/list.spec.ts +0 -121
  406. package/src/list/list.ts +0 -227
  407. package/src/list/list.usage.example.ts +0 -45
  408. package/src/menubar/_examples/index.ts +0 -6
  409. package/src/menubar/_examples/menubar.disabled-item.example.ts +0 -23
  410. package/src/menubar/_examples/menubar.example.ts +0 -22
  411. package/src/menubar/_examples/menubar.with-shortcuts.example.ts +0 -33
  412. package/src/menubar/_examples/menubar.with-submenu.example.ts +0 -76
  413. package/src/menubar/index.ts +0 -1
  414. package/src/menubar/menubar.css +0 -62
  415. package/src/menubar/menubar.playground.ts +0 -96
  416. package/src/menubar/menubar.ts +0 -160
  417. package/src/menubar/menubar.usage.example.ts +0 -33
  418. package/src/number-input/_examples/index.ts +0 -7
  419. package/src/number-input/_examples/number-input.currency.example.ts +0 -35
  420. package/src/number-input/_examples/number-input.decimal.example.ts +0 -34
  421. package/src/number-input/_examples/number-input.example.ts +0 -24
  422. package/src/number-input/_examples/number-input.min-max.example.ts +0 -33
  423. package/src/number-input/_examples/number-input.with-stepper.example.ts +0 -45
  424. package/src/number-input/index.ts +0 -1
  425. package/src/number-input/number-input.css +0 -115
  426. package/src/number-input/number-input.playground.ts +0 -92
  427. package/src/number-input/number-input.spec.ts +0 -102
  428. package/src/number-input/number-input.ts +0 -212
  429. package/src/number-input/number-input.usage.example.ts +0 -73
  430. package/src/overlay/overlay.css +0 -32
  431. package/src/overlay-badge/_examples/index.ts +0 -7
  432. package/src/overlay-badge/_examples/overlay-badge.described.example.ts +0 -36
  433. package/src/overlay-badge/_examples/overlay-badge.dot.example.ts +0 -28
  434. package/src/overlay-badge/_examples/overlay-badge.example.ts +0 -34
  435. package/src/overlay-badge/_examples/overlay-badge.on-avatar.example.ts +0 -38
  436. package/src/overlay-badge/_examples/overlay-badge.positions.example.ts +0 -39
  437. package/src/overlay-badge/index.ts +0 -1
  438. package/src/overlay-badge/overlay-badge.css +0 -118
  439. package/src/overlay-badge/overlay-badge.playground.ts +0 -92
  440. package/src/overlay-badge/overlay-badge.spec.ts +0 -174
  441. package/src/overlay-badge/overlay-badge.ts +0 -232
  442. package/src/overlay-badge/overlay-badge.usage.example.ts +0 -44
  443. package/src/pagination/_examples/index.ts +0 -7
  444. package/src/pagination/_examples/pagination.boundaries.example.ts +0 -56
  445. package/src/pagination/_examples/pagination.compact.example.ts +0 -42
  446. package/src/pagination/_examples/pagination.example.ts +0 -55
  447. package/src/pagination/_examples/pagination.large.example.ts +0 -54
  448. package/src/pagination/_examples/pagination.with-info.example.ts +0 -49
  449. package/src/pagination/index.ts +0 -1
  450. package/src/pagination/pagination.css +0 -146
  451. package/src/pagination/pagination.playground.ts +0 -107
  452. package/src/pagination/pagination.spec.ts +0 -202
  453. package/src/pagination/pagination.ts +0 -432
  454. package/src/pagination/pagination.usage.example.ts +0 -50
  455. package/src/password-input/_examples/index.ts +0 -6
  456. package/src/password-input/_examples/password-input.example.ts +0 -24
  457. package/src/password-input/_examples/password-input.strength.example.ts +0 -45
  458. package/src/password-input/_examples/password-input.toggle.example.ts +0 -43
  459. package/src/password-input/_examples/password-input.with-rules.example.ts +0 -78
  460. package/src/password-input/index.ts +0 -1
  461. package/src/password-input/password-input.css +0 -155
  462. package/src/password-input/password-input.playground.ts +0 -81
  463. package/src/password-input/password-input.spec.ts +0 -129
  464. package/src/password-input/password-input.ts +0 -254
  465. package/src/password-input/password-input.usage.example.ts +0 -55
  466. package/src/playground-types.ts +0 -47
  467. package/src/popover/_examples/index.ts +0 -7
  468. package/src/popover/_examples/popover.cancellable.example.ts +0 -20
  469. package/src/popover/_examples/popover.example.ts +0 -20
  470. package/src/popover/_examples/popover.modal.example.ts +0 -22
  471. package/src/popover/_examples/popover.sides.example.ts +0 -37
  472. package/src/popover/_examples/popover.with-form.example.ts +0 -38
  473. package/src/popover/index.ts +0 -1
  474. package/src/popover/popover.css +0 -71
  475. package/src/popover/popover.playground.ts +0 -86
  476. package/src/popover/popover.spec.ts +0 -5
  477. package/src/popover/popover.ts +0 -94
  478. package/src/popover/popover.usage.example.ts +0 -48
  479. package/src/progress-bar/_examples/index.ts +0 -7
  480. package/src/progress-bar/_examples/progress-bar.example.ts +0 -22
  481. package/src/progress-bar/_examples/progress-bar.indeterminate.example.ts +0 -23
  482. package/src/progress-bar/_examples/progress-bar.sizes.example.ts +0 -29
  483. package/src/progress-bar/_examples/progress-bar.variants.example.ts +0 -30
  484. package/src/progress-bar/_examples/progress-bar.with-label.example.ts +0 -30
  485. package/src/progress-bar/index.ts +0 -1
  486. package/src/progress-bar/progress-bar.css +0 -113
  487. package/src/progress-bar/progress-bar.playground.ts +0 -87
  488. package/src/progress-bar/progress-bar.spec.ts +0 -233
  489. package/src/progress-bar/progress-bar.ts +0 -155
  490. package/src/progress-bar/progress-bar.usage.example.ts +0 -52
  491. package/src/public-api.ts +0 -61
  492. package/src/radio/_examples/index.ts +0 -6
  493. package/src/radio/_examples/radio.default.example.ts +0 -26
  494. package/src/radio/_examples/radio.disabled.example.ts +0 -26
  495. package/src/radio/_examples/radio.group.example.ts +0 -27
  496. package/src/radio/_examples/radio.inline.example.ts +0 -26
  497. package/src/radio/index.ts +0 -1
  498. package/src/radio/radio.css +0 -58
  499. package/src/radio/radio.playground.ts +0 -90
  500. package/src/radio/radio.ts +0 -143
  501. package/src/radio/radio.usage.example.ts +0 -54
  502. package/src/select/_examples/index.ts +0 -6
  503. package/src/select/_examples/select.default.example.ts +0 -26
  504. package/src/select/_examples/select.disabled.example.ts +0 -24
  505. package/src/select/_examples/select.grouped.example.ts +0 -37
  506. package/src/select/_examples/select.placeholder.example.ts +0 -26
  507. package/src/select/index.ts +0 -1
  508. package/src/select/select.css +0 -65
  509. package/src/select/select.playground.ts +0 -81
  510. package/src/select/select.ts +0 -176
  511. package/src/select/select.usage.example.ts +0 -64
  512. package/src/skeleton/_examples/index.ts +0 -6
  513. package/src/skeleton/_examples/skeleton.animations.example.ts +0 -52
  514. package/src/skeleton/_examples/skeleton.card.example.ts +0 -68
  515. package/src/skeleton/_examples/skeleton.example.ts +0 -24
  516. package/src/skeleton/_examples/skeleton.shapes.example.ts +0 -55
  517. package/src/skeleton/index.ts +0 -1
  518. package/src/skeleton/skeleton.css +0 -111
  519. package/src/skeleton/skeleton.playground.ts +0 -80
  520. package/src/skeleton/skeleton.spec.ts +0 -126
  521. package/src/skeleton/skeleton.ts +0 -155
  522. package/src/skeleton/skeleton.usage.example.ts +0 -49
  523. package/src/slider/_examples/index.ts +0 -7
  524. package/src/slider/_examples/slider.example.ts +0 -41
  525. package/src/slider/_examples/slider.formatted.example.ts +0 -53
  526. package/src/slider/_examples/slider.range.example.ts +0 -48
  527. package/src/slider/_examples/slider.vertical.example.ts +0 -48
  528. package/src/slider/_examples/slider.with-marks.example.ts +0 -46
  529. package/src/slider/index.ts +0 -1
  530. package/src/slider/slider.css +0 -172
  531. package/src/slider/slider.playground.ts +0 -88
  532. package/src/slider/slider.spec.ts +0 -139
  533. package/src/slider/slider.ts +0 -246
  534. package/src/slider/slider.usage.example.ts +0 -68
  535. package/src/speed-dial/_examples/index.ts +0 -7
  536. package/src/speed-dial/_examples/speed-dial.directions.example.ts +0 -85
  537. package/src/speed-dial/_examples/speed-dial.disabled.example.ts +0 -71
  538. package/src/speed-dial/_examples/speed-dial.example.ts +0 -48
  539. package/src/speed-dial/_examples/speed-dial.usage.example.ts +0 -59
  540. package/src/speed-dial/_examples/speed-dial.with-tooltips.example.ts +0 -65
  541. package/src/speed-dial/index.ts +0 -1
  542. package/src/speed-dial/speed-dial.css +0 -137
  543. package/src/speed-dial/speed-dial.playground.ts +0 -137
  544. package/src/speed-dial/speed-dial.spec.ts +0 -191
  545. package/src/speed-dial/speed-dial.ts +0 -257
  546. package/src/spinner/_examples/index.ts +0 -8
  547. package/src/spinner/_examples/spinner.animations.example.ts +0 -54
  548. package/src/spinner/_examples/spinner.example.ts +0 -26
  549. package/src/spinner/_examples/spinner.in-button.example.ts +0 -51
  550. package/src/spinner/_examples/spinner.sizes.example.ts +0 -31
  551. package/src/spinner/_examples/spinner.usage.example.ts +0 -45
  552. package/src/spinner/_examples/spinner.variants.example.ts +0 -34
  553. package/src/spinner/index.ts +0 -1
  554. package/src/spinner/spinner.css +0 -161
  555. package/src/spinner/spinner.playground.ts +0 -68
  556. package/src/spinner/spinner.spec.ts +0 -184
  557. package/src/spinner/spinner.ts +0 -185
  558. package/src/stepper/_examples/index.ts +0 -8
  559. package/src/stepper/_examples/stepper.example.ts +0 -62
  560. package/src/stepper/_examples/stepper.non-linear.example.ts +0 -63
  561. package/src/stepper/_examples/stepper.optional-step.example.ts +0 -62
  562. package/src/stepper/_examples/stepper.usage.example.ts +0 -73
  563. package/src/stepper/_examples/stepper.vertical.example.ts +0 -66
  564. package/src/stepper/_examples/stepper.with-error.example.ts +0 -63
  565. package/src/stepper/index.ts +0 -1
  566. package/src/stepper/stepper.css +0 -147
  567. package/src/stepper/stepper.playground.ts +0 -88
  568. package/src/stepper/stepper.spec.ts +0 -200
  569. package/src/stepper/stepper.ts +0 -242
  570. package/src/table/_examples/index.ts +0 -23
  571. package/src/table/_examples/table.column-pinning.example.ts +0 -55
  572. package/src/table/_examples/table.column-resize.example.ts +0 -49
  573. package/src/table/_examples/table.column-visibility.example.ts +0 -52
  574. package/src/table/_examples/table.density.example.ts +0 -71
  575. package/src/table/_examples/table.editable.example.ts +0 -85
  576. package/src/table/_examples/table.empty-and-error.example.ts +0 -112
  577. package/src/table/_examples/table.example.ts +0 -45
  578. package/src/table/_examples/table.export.example.ts +0 -82
  579. package/src/table/_examples/table.filterable.example.ts +0 -67
  580. package/src/table/_examples/table.grouping.example.ts +0 -63
  581. package/src/table/_examples/table.keyboard.example.ts +0 -115
  582. package/src/table/_examples/table.master-detail.example.ts +0 -102
  583. package/src/table/_examples/table.persistence.example.ts +0 -85
  584. package/src/table/_examples/table.playground.ts +0 -154
  585. package/src/table/_examples/table.row-pinning.example.ts +0 -71
  586. package/src/table/_examples/table.selection.example.ts +0 -67
  587. package/src/table/_examples/table.server-mode.example.ts +0 -120
  588. package/src/table/_examples/table.sortable.example.ts +0 -49
  589. package/src/table/_examples/table.theming.example.ts +0 -64
  590. package/src/table/_examples/table.usage.example.ts +0 -90
  591. package/src/table/_examples/table.virtualized.example.ts +0 -122
  592. package/src/table/index.ts +0 -11
  593. package/src/table/table-cell-editor-outlet.ts +0 -111
  594. package/src/table/table-editors/boolean-editor.ts +0 -71
  595. package/src/table/table-editors/date-editor.ts +0 -117
  596. package/src/table/table-editors/editors.spec.ts +0 -147
  597. package/src/table/table-editors/index.ts +0 -41
  598. package/src/table/table-editors/number-editor.ts +0 -89
  599. package/src/table/table-editors/select-editor.ts +0 -107
  600. package/src/table/table-editors/text-editor.ts +0 -82
  601. package/src/table/table-export.spec.ts +0 -33
  602. package/src/table/table-export.ts +0 -53
  603. package/src/table/table-filter-outlet.ts +0 -137
  604. package/src/table/table-filters/date-filter.ts +0 -122
  605. package/src/table/table-filters/filters.css +0 -53
  606. package/src/table/table-filters/filters.spec.ts +0 -277
  607. package/src/table/table-filters/index.ts +0 -11
  608. package/src/table/table-filters/number-filter.ts +0 -232
  609. package/src/table/table-filters/select-filter.ts +0 -129
  610. package/src/table/table-filters/text-filter.ts +0 -110
  611. package/src/table/table-pagination.spec.ts +0 -118
  612. package/src/table/table-pagination.ts +0 -191
  613. package/src/table/table-side-panel.spec.ts +0 -170
  614. package/src/table/table-side-panel.ts +0 -263
  615. package/src/table/table-status-bar.spec.ts +0 -78
  616. package/src/table/table-status-bar.ts +0 -70
  617. package/src/table/table-toolbar.spec.ts +0 -180
  618. package/src/table/table-toolbar.ts +0 -244
  619. package/src/table/table-virtual.spec.ts +0 -103
  620. package/src/table/table-virtual.ts +0 -180
  621. package/src/table/table.css +0 -468
  622. package/src/table/table.spec.ts +0 -175
  623. package/src/table/table.ts +0 -1009
  624. package/src/tabs/_examples/index.ts +0 -8
  625. package/src/tabs/_examples/tabs.controlled.example.ts +0 -59
  626. package/src/tabs/_examples/tabs.disabled.example.ts +0 -34
  627. package/src/tabs/_examples/tabs.example.ts +0 -34
  628. package/src/tabs/_examples/tabs.manual-activation.example.ts +0 -34
  629. package/src/tabs/_examples/tabs.usage.example.ts +0 -43
  630. package/src/tabs/_examples/tabs.vertical.example.ts +0 -33
  631. package/src/tabs/index.ts +0 -1
  632. package/src/tabs/tabs.css +0 -80
  633. package/src/tabs/tabs.playground.ts +0 -88
  634. package/src/tabs/tabs.spec.ts +0 -135
  635. package/src/tabs/tabs.ts +0 -204
  636. package/src/tag/_examples/index.ts +0 -9
  637. package/src/tag/_examples/tag.example.ts +0 -22
  638. package/src/tag/_examples/tag.list.example.ts +0 -38
  639. package/src/tag/_examples/tag.removable.example.ts +0 -39
  640. package/src/tag/_examples/tag.selectable.example.ts +0 -33
  641. package/src/tag/_examples/tag.sizes.example.ts +0 -25
  642. package/src/tag/_examples/tag.usage.example.ts +0 -62
  643. package/src/tag/_examples/tag.variants.example.ts +0 -29
  644. package/src/tag/index.ts +0 -1
  645. package/src/tag/tag.css +0 -167
  646. package/src/tag/tag.playground.ts +0 -63
  647. package/src/tag/tag.spec.ts +0 -153
  648. package/src/tag/tag.ts +0 -186
  649. package/src/test-setup.ts +0 -5
  650. package/src/textarea/_examples/index.ts +0 -8
  651. package/src/textarea/_examples/textarea.autoresize.example.ts +0 -37
  652. package/src/textarea/_examples/textarea.character-count.example.ts +0 -34
  653. package/src/textarea/_examples/textarea.example.ts +0 -22
  654. package/src/textarea/_examples/textarea.no-resize.example.ts +0 -28
  655. package/src/textarea/_examples/textarea.usage.example.ts +0 -50
  656. package/src/textarea/_examples/textarea.with-field.example.ts +0 -66
  657. package/src/textarea/index.ts +0 -1
  658. package/src/textarea/textarea.css +0 -117
  659. package/src/textarea/textarea.playground.ts +0 -70
  660. package/src/textarea/textarea.spec.ts +0 -161
  661. package/src/textarea/textarea.ts +0 -339
  662. package/src/time-picker/_examples/index.ts +0 -8
  663. package/src/time-picker/_examples/time-picker.12-hour.example.ts +0 -24
  664. package/src/time-picker/_examples/time-picker.example.ts +0 -24
  665. package/src/time-picker/_examples/time-picker.formatted.example.ts +0 -32
  666. package/src/time-picker/_examples/time-picker.range.example.ts +0 -54
  667. package/src/time-picker/_examples/time-picker.usage.example.ts +0 -53
  668. package/src/time-picker/_examples/time-picker.with-seconds.example.ts +0 -24
  669. package/src/time-picker/index.ts +0 -1
  670. package/src/time-picker/time-picker.css +0 -126
  671. package/src/time-picker/time-picker.playground.ts +0 -72
  672. package/src/time-picker/time-picker.spec.ts +0 -77
  673. package/src/time-picker/time-picker.ts +0 -207
  674. package/src/toast/_examples/index.ts +0 -7
  675. package/src/toast/_examples/toast.default.example.ts +0 -37
  676. package/src/toast/_examples/toast.dismissible.example.ts +0 -38
  677. package/src/toast/_examples/toast.usage.example.ts +0 -57
  678. package/src/toast/_examples/toast.variants.example.ts +0 -43
  679. package/src/toast/_examples/toast.with-action.example.ts +0 -46
  680. package/src/toast/index.ts +0 -1
  681. package/src/toast/toast.css +0 -115
  682. package/src/toast/toast.playground.ts +0 -61
  683. package/src/toast/toast.ts +0 -168
  684. package/src/toggle/_examples/index.ts +0 -7
  685. package/src/toggle/_examples/toggle.checked.example.ts +0 -20
  686. package/src/toggle/_examples/toggle.default.example.ts +0 -20
  687. package/src/toggle/_examples/toggle.disabled.example.ts +0 -26
  688. package/src/toggle/_examples/toggle.usage.example.ts +0 -51
  689. package/src/toggle/_examples/toggle.with-label.example.ts +0 -30
  690. package/src/toggle/index.ts +0 -1
  691. package/src/toggle/toggle.css +0 -123
  692. package/src/toggle/toggle.playground.ts +0 -65
  693. package/src/toggle/toggle.ts +0 -113
  694. package/src/tooltip/_examples/index.ts +0 -9
  695. package/src/tooltip/_examples/tooltip.delays.example.ts +0 -16
  696. package/src/tooltip/_examples/tooltip.disabled.example.ts +0 -16
  697. package/src/tooltip/_examples/tooltip.example.ts +0 -16
  698. package/src/tooltip/_examples/tooltip.group.example.ts +0 -20
  699. package/src/tooltip/_examples/tooltip.rich.example.ts +0 -19
  700. package/src/tooltip/_examples/tooltip.sides.example.ts +0 -18
  701. package/src/tooltip/_examples/tooltip.usage.example.ts +0 -50
  702. package/src/tooltip/index.ts +0 -1
  703. package/src/tooltip/tooltip.css +0 -61
  704. package/src/tooltip/tooltip.playground.ts +0 -79
  705. package/src/tooltip/tooltip.spec.ts +0 -5
  706. package/src/tooltip/tooltip.ts +0 -102
  707. package/src/tree-select/_examples/index.ts +0 -8
  708. package/src/tree-select/_examples/tree-select.disabled.example.ts +0 -106
  709. package/src/tree-select/_examples/tree-select.example.ts +0 -65
  710. package/src/tree-select/_examples/tree-select.expanded.example.ts +0 -72
  711. package/src/tree-select/_examples/tree-select.field.example.ts +0 -77
  712. package/src/tree-select/_examples/tree-select.multi.example.ts +0 -73
  713. package/src/tree-select/_examples/tree-select.usage.example.ts +0 -85
  714. package/src/tree-select/index.ts +0 -1
  715. package/src/tree-select/tree-select.css +0 -220
  716. package/src/tree-select/tree-select.playground.ts +0 -83
  717. package/src/tree-select/tree-select.ts +0 -348
  718. package/src/typography/_examples/index.ts +0 -9
  719. package/src/typography/_examples/typography.blockquote.example.ts +0 -34
  720. package/src/typography/_examples/typography.code.example.ts +0 -32
  721. package/src/typography/_examples/typography.example.ts +0 -42
  722. package/src/typography/_examples/typography.lead.example.ts +0 -37
  723. package/src/typography/_examples/typography.muted.example.ts +0 -27
  724. package/src/typography/_examples/typography.truncate.example.ts +0 -41
  725. package/src/typography/_examples/typography.usage.example.ts +0 -44
  726. package/src/typography/index.ts +0 -8
  727. package/src/typography/typography.playground.ts +0 -101
  728. package/src/typography/typography.spec.ts +0 -70
  729. package/src/typography/typography.ts +0 -105
  730. package/tsconfig.lib.json +0 -25
  731. package/tsconfig.lib.prod.json +0 -17
  732. package/tsconfig.spec.json +0 -16
  733. package/vite.config.ts +0 -33
@@ -1,45 +0,0 @@
1
- import { Component, signal, ChangeDetectionStrategy } from '@angular/core';
2
- import { FormsModule } from '@angular/forms';
3
- import { KjColorPickerComponent } from '../color-picker';
4
- import type { KjColorPreset } from '@kouji-ui/core';
5
-
6
- /**
7
- * Color-picker with a brand-palette preset row.
8
- */
9
- @Component({
10
- selector: 'kj-color-picker-with-presets-example',
11
- standalone: true,
12
- imports: [KjColorPickerComponent, FormsModule],
13
- styles: [
14
- `
15
- :host {
16
- display: flex;
17
- gap: var(--kj-space-md);
18
- align-items: center;
19
- min-height: 320px;
20
- }
21
- code {
22
- font: 0.8125rem/1 var(--kj-font-mono, monospace);
23
- color: var(--kj-fg-muted);
24
- }
25
- `,
26
- ],
27
- changeDetection: ChangeDetectionStrategy.Eager,
28
- template: `
29
- <kj-color-picker [(ngModel)]="hex" [kjPresets]="palette" />
30
- <code>{{ hex() }}</code>
31
- `,
32
- })
33
- export class KjColorPickerWithPresetsExample {
34
- readonly hex = signal('#3b82f6');
35
- readonly palette: readonly KjColorPreset[] = [
36
- { value: '#ef4444', label: 'Brand red' },
37
- { value: '#f97316', label: 'Brand orange' },
38
- { value: '#eab308', label: 'Brand yellow' },
39
- { value: '#22c55e', label: 'Brand green' },
40
- { value: '#06b6d4', label: 'Brand teal' },
41
- { value: '#3b82f6', label: 'Brand blue' },
42
- { value: '#8b5cf6', label: 'Brand violet' },
43
- { value: '#ec4899', label: 'Brand pink' },
44
- ];
45
- }
@@ -1,8 +0,0 @@
1
- // AUTO-GENERATED by scripts/migrate-examples.mjs
2
- // One barrel per component folder — used by the docs app as a lazy chunk.
3
- export { KjColorPickerAlphaExample } from './color-picker.alpha.example';
4
- export { KjColorPickerExample } from './color-picker.example';
5
- export { KjColorPickerHexInputExample } from './color-picker.hex-input.example';
6
- export { KjColorPickerInFormExample } from './color-picker.in-form.example';
7
- export { KjColorPickerUsageExample } from './color-picker.usage.example';
8
- export { KjColorPickerWithPresetsExample } from './color-picker.with-presets.example';
@@ -1,183 +0,0 @@
1
- @layer kj.component {
2
- .kj-color-picker {
3
- position: relative;
4
- display: inline-block;
5
- }
6
-
7
- .kj-color-picker-trigger {
8
- /* WCAG 2.5.5 — replaces the existing 44×32 native swatch that fails AAA. */
9
- width: 44px;
10
- height: 44px;
11
- padding: 0;
12
- border: var(--kj-border) solid var(--kj-border-default);
13
- border-radius: var(--kj-radius-field);
14
- cursor: pointer;
15
- /* Checkerboard backdrop for translucent colors. The current color is
16
- layered on top via the inline style hook. */
17
- background:
18
- linear-gradient(var(--kj-color-picker-current, #000), var(--kj-color-picker-current, #000)),
19
- conic-gradient(#ccc 25%, #fff 0 50%, #ccc 0 75%, #fff 0) 0 0 / 12px 12px;
20
- }
21
- .kj-color-picker-trigger[data-disabled] {
22
- cursor: not-allowed;
23
- opacity: 0.5;
24
- }
25
- .kj-color-picker-trigger:focus-visible {
26
- outline: 2px solid var(--kj-border-focus);
27
- outline-offset: 2px;
28
- }
29
-
30
- .kj-color-picker-panel {
31
- box-sizing: border-box;
32
- z-index: 1000;
33
- width: 280px;
34
- padding: var(--kj-space-md);
35
- background: var(--kj-bg-body);
36
- border: var(--kj-border) solid var(--kj-border-default);
37
- border-radius: var(--kj-radius-field);
38
- box-shadow: var(--kj-shadow-md);
39
- display: flex;
40
- flex-direction: column;
41
- gap: var(--kj-space-sm);
42
- color: var(--kj-fg-default);
43
- }
44
- .kj-color-picker-panel[hidden] { display: none; }
45
-
46
- /* 2-axis sat/value rectangle. Hue passed through as a hsl() wedge,
47
- a horizontal white→saturated-color gradient, and a vertical
48
- transparent→black gradient, layered to produce the standard square. */
49
- .kj-color-picker-area {
50
- position: relative;
51
- width: 100%;
52
- height: 160px;
53
- border-radius: 4px;
54
- cursor: crosshair;
55
- background:
56
- linear-gradient(to top, #000, transparent),
57
- linear-gradient(to right, #fff, hsl(var(--kj-color-picker-hue, 0), 100%, 50%));
58
- touch-action: none;
59
- }
60
- .kj-color-picker-area:focus-visible {
61
- outline: 2px solid var(--kj-border-focus);
62
- outline-offset: 2px;
63
- }
64
- .kj-color-picker-area::after {
65
- content: '';
66
- position: absolute;
67
- width: 14px;
68
- height: 14px;
69
- margin: -7px 0 0 -7px;
70
- /* Saturation drives x; (1 - value) drives y so visually high y = low value. */
71
- left: calc(var(--kj-color-picker-x, 0) * 100%);
72
- top: calc((1 - var(--kj-color-picker-y, 0)) * 100%);
73
- border: 2px solid #fff;
74
- box-shadow: 0 0 0 1px #000, 0 0 4px rgb(0 0 0 / 0.4);
75
- border-radius: 50%;
76
- pointer-events: none;
77
- }
78
-
79
- .kj-color-picker-hue-slider,
80
- .kj-color-picker-alpha-slider {
81
- width: 100%;
82
- height: 16px;
83
- margin: 0;
84
- -webkit-appearance: none;
85
- appearance: none;
86
- background: transparent;
87
- cursor: pointer;
88
- }
89
- .kj-color-picker-hue-slider::-webkit-slider-runnable-track {
90
- height: 12px;
91
- border-radius: 6px;
92
- background: linear-gradient(to right,
93
- #ff0000, #ffff00, #00ff00, #00ffff, #0000ff, #ff00ff, #ff0000);
94
- }
95
- .kj-color-picker-hue-slider::-moz-range-track {
96
- height: 12px;
97
- border-radius: 6px;
98
- background: linear-gradient(to right,
99
- #ff0000, #ffff00, #00ff00, #00ffff, #0000ff, #ff00ff, #ff0000);
100
- }
101
- .kj-color-picker-alpha-slider::-webkit-slider-runnable-track {
102
- height: 12px;
103
- border-radius: 6px;
104
- background:
105
- linear-gradient(to right, transparent, var(--kj-color-picker-current, #000)),
106
- conic-gradient(#ccc 25%, #fff 0 50%, #ccc 0 75%, #fff 0) 0 0 / 8px 8px;
107
- }
108
- .kj-color-picker-alpha-slider::-moz-range-track {
109
- height: 12px;
110
- border-radius: 6px;
111
- background:
112
- linear-gradient(to right, transparent, var(--kj-color-picker-current, #000)),
113
- conic-gradient(#ccc 25%, #fff 0 50%, #ccc 0 75%, #fff 0) 0 0 / 8px 8px;
114
- }
115
- .kj-color-picker-hue-slider::-webkit-slider-thumb,
116
- .kj-color-picker-alpha-slider::-webkit-slider-thumb {
117
- -webkit-appearance: none;
118
- appearance: none;
119
- width: 14px;
120
- height: 14px;
121
- border-radius: 50%;
122
- background: #fff;
123
- border: 2px solid #000;
124
- margin-top: -1px;
125
- }
126
- .kj-color-picker-hue-slider::-moz-range-thumb,
127
- .kj-color-picker-alpha-slider::-moz-range-thumb {
128
- width: 14px;
129
- height: 14px;
130
- border-radius: 50%;
131
- background: #fff;
132
- border: 2px solid #000;
133
- }
134
- .kj-color-picker-hue-slider:focus-visible,
135
- .kj-color-picker-alpha-slider:focus-visible {
136
- outline: 2px solid var(--kj-border-focus);
137
- outline-offset: 2px;
138
- }
139
-
140
- .kj-color-picker-input {
141
- width: 100%;
142
- box-sizing: border-box;
143
- padding: var(--kj-space-xs) var(--kj-space-sm);
144
- border: var(--kj-border) solid var(--kj-border-default);
145
- border-radius: var(--kj-radius-field);
146
- background: var(--kj-bg-body);
147
- color: var(--kj-fg-default);
148
- font: 0.8125rem var(--kj-font-mono, monospace);
149
- }
150
- .kj-color-picker-input[aria-invalid="true"] {
151
- border-color: var(--kj-border-danger, #ef4444);
152
- }
153
-
154
- .kj-color-picker-presets {
155
- display: grid;
156
- grid-template-columns: repeat(8, 1fr);
157
- gap: 6px;
158
- }
159
- .kj-color-picker-preset {
160
- width: 24px;
161
- height: 24px;
162
- padding: 0;
163
- border: var(--kj-border) solid var(--kj-border-default);
164
- border-radius: 4px;
165
- cursor: pointer;
166
- }
167
- .kj-color-picker-preset[aria-selected="true"] {
168
- outline: 2px solid var(--kj-border-focus);
169
- outline-offset: 1px;
170
- }
171
- .kj-color-picker-preset:focus-visible {
172
- outline: 2px solid var(--kj-border-focus);
173
- outline-offset: 2px;
174
- }
175
-
176
- @media (prefers-reduced-motion: reduce) {
177
- .kj-color-picker-panel,
178
- .kj-color-picker-trigger,
179
- .kj-color-picker-area::after {
180
- transition: none !important;
181
- }
182
- }
183
- }
@@ -1,83 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, signal } from '@angular/core';
2
- import { FormsModule } from '@angular/forms';
3
- import { KjColorPickerComponent } from './color-picker';
4
- import type { PlaygroundFile } from '@kouji-ui/components/playground-types';
5
-
6
- /**
7
- * Playground state — module-scope signals. Knobs cover the wire format, the
8
- * presence of the alpha slider, the inline hex input, the disabled posture,
9
- * and a seed color so the swatch label tracks the picker value.
10
- */
11
- const value = signal('#b8f500');
12
- const format = signal<'hex' | 'rgb' | 'hsl'>('hex');
13
- const showAlpha = signal(false);
14
- const showHexInput = signal(true);
15
- const disabled = signal(false);
16
- const invalid = signal(false);
17
-
18
- @Component({
19
- selector: 'kj-color-picker-playground',
20
- standalone: true,
21
- imports: [KjColorPickerComponent, FormsModule],
22
- styles: [`
23
- :host { display: flex; gap: var(--kj-space-md); align-items: center; }
24
- code { font: 0.8125rem/1 var(--kj-font-mono, monospace); color: var(--kj-fg-muted); }
25
- `],
26
- template: `
27
- <kj-color-picker
28
- [(ngModel)]="value"
29
- [kjFormat]="format()"
30
- [kjShowAlpha]="showAlpha()"
31
- [kjShowHexInput]="showHexInput()"
32
- [kjDisabled]="disabled()"
33
- [kjInvalid]="invalid()"
34
- />
35
- <code>{{ value() }}</code>
36
- `,
37
- changeDetection: ChangeDetectionStrategy.OnPush,
38
- })
39
- export class KjColorPickerPlaygroundDemo {
40
- protected readonly value = value;
41
- protected readonly format = format;
42
- protected readonly showAlpha = showAlpha;
43
- protected readonly showHexInput = showHexInput;
44
- protected readonly disabled = disabled;
45
- protected readonly invalid = invalid;
46
- }
47
-
48
- export const PLAYGROUND: PlaygroundFile = {
49
- component: KjColorPickerPlaygroundDemo,
50
- state: {
51
- value: value as unknown as ReturnType<typeof signal>,
52
- format: format as unknown as ReturnType<typeof signal>,
53
- showAlpha: showAlpha as unknown as ReturnType<typeof signal>,
54
- showHexInput: showHexInput as unknown as ReturnType<typeof signal>,
55
- disabled: disabled as unknown as ReturnType<typeof signal>,
56
- invalid: invalid as unknown as ReturnType<typeof signal>,
57
- },
58
- controls: [
59
- { kind: 'chips', name: 'format', label: 'format', options: ['hex', 'rgb', 'hsl'] },
60
- { kind: 'text', name: 'value', label: 'value' },
61
- { kind: 'toggle', name: 'showAlpha', label: 'alpha slider' },
62
- { kind: 'toggle', name: 'showHexInput', label: 'hex input' },
63
- { kind: 'toggle', name: 'invalid', label: 'invalid' },
64
- { kind: 'toggle', name: 'disabled', label: 'disabled' },
65
- ],
66
- snippet: (values) => {
67
- const s = values as {
68
- value: string;
69
- format: string;
70
- showAlpha: boolean;
71
- showHexInput: boolean;
72
- disabled: boolean;
73
- invalid: boolean;
74
- };
75
- const attrs: string[] = [`kjFormat="${s.format}"`];
76
- if (s.showAlpha) attrs.push('[kjShowAlpha]="true"');
77
- if (!s.showHexInput) attrs.push('[kjShowHexInput]="false"');
78
- if (s.invalid) attrs.push('[kjInvalid]="true"');
79
- if (s.disabled) attrs.push('[kjDisabled]="true"');
80
- attrs.push('[(ngModel)]="color"');
81
- return `<kj-color-picker\n ${attrs.join('\n ')}\n/>`;
82
- },
83
- };
@@ -1,94 +0,0 @@
1
- import { Component, signal, ChangeDetectionStrategy } from '@angular/core';
2
- import { FormsModule } from '@angular/forms';
3
- import { render, fireEvent } from '@testing-library/angular';
4
- import { axe, toHaveNoViolations } from 'jest-axe';
5
- import { KjColorPickerComponent } from './color-picker';
6
- import type { KjColorPreset } from '@kouji-ui/core';
7
-
8
- expect.extend(toHaveNoViolations);
9
-
10
- @Component({
11
- standalone: true,
12
- imports: [KjColorPickerComponent, FormsModule],
13
- changeDetection: ChangeDetectionStrategy.Eager,
14
- template: `
15
- <kj-color-picker [(ngModel)]="hex" [kjShowAlpha]="showAlpha()" [kjPresets]="presets()" />
16
- `,
17
- })
18
- class HostComponent {
19
- readonly hex = signal('#ff0000');
20
- readonly showAlpha = signal(false);
21
- readonly presets = signal<readonly KjColorPreset[]>([]);
22
- }
23
-
24
- describe('KjColorPickerComponent', () => {
25
- it('renders the trigger button', async () => {
26
- const { container } = await render(HostComponent);
27
- expect(container.querySelector('.kj-color-picker-trigger')).toBeInTheDocument();
28
- });
29
-
30
- it('panel is hidden until trigger clicked', async () => {
31
- const { container } = await render(HostComponent);
32
- const panel = container.querySelector('.kj-color-picker-panel')!;
33
- expect(panel).toHaveAttribute('hidden', '');
34
- fireEvent.click(container.querySelector('.kj-color-picker-trigger')!);
35
- expect(panel).not.toHaveAttribute('hidden');
36
- });
37
-
38
- it('hex input is mounted by default', async () => {
39
- const { container } = await render(HostComponent);
40
- fireEvent.click(container.querySelector('.kj-color-picker-trigger')!);
41
- expect(container.querySelector('.kj-color-picker-input')).toBeInTheDocument();
42
- });
43
-
44
- it('alpha slider hidden when kjShowAlpha is false', async () => {
45
- const { container, fixture } = await render(HostComponent);
46
- fireEvent.click(container.querySelector('.kj-color-picker-trigger')!);
47
- expect(container.querySelector('.kj-color-picker-alpha-slider')).toBeNull();
48
- fixture.componentInstance.showAlpha.set(true);
49
- fixture.detectChanges();
50
- expect(container.querySelector('.kj-color-picker-alpha-slider')).toBeInTheDocument();
51
- });
52
-
53
- it('preset listbox renders one option per preset', async () => {
54
- const { container, fixture } = await render(HostComponent);
55
- fixture.componentInstance.presets.set([
56
- { value: '#ff0000', label: 'Red' },
57
- { value: '#00ff00', label: 'Green' },
58
- ]);
59
- fixture.detectChanges();
60
- fireEvent.click(container.querySelector('.kj-color-picker-trigger')!);
61
- fixture.detectChanges();
62
- const options = container.querySelectorAll('.kj-color-picker-preset');
63
- expect(options.length).toBe(2);
64
- });
65
-
66
- it('clicking a preset updates the bound value', async () => {
67
- const { container, fixture } = await render(HostComponent);
68
- fixture.componentInstance.presets.set([{ value: '#00ff00', label: 'Green' }]);
69
- fixture.detectChanges();
70
- fireEvent.click(container.querySelector('.kj-color-picker-trigger')!);
71
- fixture.detectChanges();
72
- fireEvent.click(container.querySelector('.kj-color-picker-preset')!);
73
- fixture.detectChanges();
74
- expect(fixture.componentInstance.hex()).toBe('#00ff00');
75
- });
76
-
77
- it('passes axe audit when closed', async () => {
78
- const { container } = await render(HostComponent);
79
- expect(await axe(container)).toHaveNoViolations();
80
- });
81
-
82
- it('passes axe audit when open with alpha and presets', async () => {
83
- const { container, fixture } = await render(HostComponent);
84
- fixture.componentInstance.showAlpha.set(true);
85
- fixture.componentInstance.presets.set([
86
- { value: '#ff0000', label: 'Red' },
87
- { value: '#00ff00', label: 'Green' },
88
- ]);
89
- fixture.detectChanges();
90
- fireEvent.click(container.querySelector('.kj-color-picker-trigger')!);
91
- fixture.detectChanges();
92
- expect(await axe(container)).toHaveNoViolations();
93
- });
94
- });
@@ -1,234 +0,0 @@
1
- import {
2
- ChangeDetectionStrategy,
3
- Component,
4
- ViewChild,
5
- ViewEncapsulation,
6
- booleanAttribute,
7
- input,
8
- output,
9
- } from '@angular/core';
10
- import { NG_VALUE_ACCESSOR, type ControlValueAccessor } from '@angular/forms';
11
- import {
12
- KjColorPicker,
13
- KjColorPickerAlphaSlider,
14
- KjColorPickerArea,
15
- KjColorPickerHueSlider,
16
- KjColorPickerInput,
17
- KjColorPickerPanel,
18
- KjColorPickerTrigger,
19
- type KjColorFormat,
20
- type KjColorPreset,
21
- type KjColorValue,
22
- } from '@kouji-ui/core';
23
-
24
- /**
25
- * Styled color-picker. Wraps the headless `KjColorPicker` family with a
26
- * popover panel containing the saturation/value area, hue slider,
27
- * optional alpha slider, hex input, and preset palette.
28
- *
29
- * Two-way bind through Angular forms:
30
- *
31
- * ```html
32
- * <kj-color-picker [(ngModel)]="brand" kjFormat="hex" kjShowAlpha />
33
- * ```
34
- *
35
- * @doc-example Default
36
- * Hex output, no alpha, no presets — the simplest two-way binding.
37
- * @doc-file color-picker.example.ts
38
- * @doc-example Usage
39
- * A walkthrough of the most common color-picker usages — hex output, an
40
- * alpha channel, brand presets, and Angular forms.
41
- * @doc-file color-picker.usage.example.ts
42
- * @doc-example With presets
43
- * A brand palette projected via `[kjPresets]` for one-click selection.
44
- * @doc-file color-picker.with-presets.example.ts
45
- * @doc-example With alpha
46
- * `kjShowAlpha` mounts the alpha slider and switches to 8-char hex output.
47
- * @doc-file color-picker.alpha.example.ts
48
- * @doc-example Hex input
49
- * The free-form hex text input inside the panel, validated on Enter / blur.
50
- * @doc-file color-picker.hex-input.example.ts
51
- * @doc-example In a form
52
- * Bound via `[formControl]` inside a reactive form alongside other fields.
53
- * @doc-file color-picker.in-form.example.ts
54
- *
55
- * @doc-keyboard
56
- * Enter|Space — Opens the panel from the swatch trigger
57
- * ArrowLeft|ArrowRight — Steps the hue or alpha slider when focused
58
- * ArrowUp|ArrowDown — Steps the saturation/value crosshair when the area is focused
59
- * Tab — Moves focus into and through the panel; cycles back to the trigger
60
- * Escape — Closes the panel and restores focus to the trigger
61
- *
62
- * @doc-aria
63
- * aria-label — Provided on the trigger; override with `[kjAriaLabel]`
64
- * aria-haspopup — "dialog" on the trigger button
65
- * aria-expanded — Reflects open / closed state on the trigger
66
- * aria-invalid — Reflected on the panel hex input when the typed value fails to parse
67
- * role — "listbox" on the preset row; "option" + `aria-selected` per swatch
68
- *
69
- * @doc-css-var
70
- * --kj-color-picker-current — Hex of the currently-selected color (no alpha). Used to paint the trigger swatch and the alpha-slider gradient.
71
- *
72
- * @doc-touch
73
- * The trigger swatch is 44×44px — meets WCAG 2.5.5 out of the box. Preset
74
- * chips are 24×24px and rely on the inline-control exception inside the
75
- * panel.
76
- *
77
- * @doc-a11y
78
- * The picker is a real combobox + popover — the trigger button has
79
- * `aria-haspopup="dialog"` and `aria-expanded`, the panel is mounted on the
80
- * body to escape clipping, and focus returns to the trigger on close.
81
- * `ControlValueAccessor` is wired so `[(ngModel)]` and `[formControl]` work
82
- * directly on `<kj-color-picker>` — the inner directive owns the canonical
83
- * accessor and we delegate.
84
- *
85
- * @doc-related input,form,field
86
- *
87
- * @doc-category Library/Data input
88
- * @doc
89
- * @doc-name color-picker
90
- * @doc-description Themed color picker with saturation canvas, hue and alpha sliders, hex input, and preset swatches.
91
- * @doc-is-main
92
- */
93
- @Component({
94
- selector: 'kj-color-picker',
95
- standalone: true,
96
- imports: [
97
- KjColorPicker,
98
- KjColorPickerTrigger,
99
- KjColorPickerPanel,
100
- KjColorPickerArea,
101
- KjColorPickerHueSlider,
102
- KjColorPickerAlphaSlider,
103
- KjColorPickerInput,
104
- ],
105
- providers: [
106
- {
107
- provide: NG_VALUE_ACCESSOR,
108
- useExisting: KjColorPickerComponent,
109
- multi: true,
110
- },
111
- ],
112
- template: `
113
- <div
114
- kjColorPicker
115
- #root="kjColorPicker"
116
- [kjFormat]="kjFormat()"
117
- [kjShowAlpha]="kjShowAlpha()"
118
- [kjAlwaysEmitAlpha]="kjAlwaysEmitAlpha()"
119
- [kjPresets]="kjPresets()"
120
- [kjInvalid]="kjInvalid()"
121
- [kjAriaLabel]="kjAriaLabel()"
122
- [kjDisabled]="kjDisabled()"
123
- (kjOpenChange)="kjOpenChange.emit($event)"
124
- (kjCommit)="kjCommit.emit($event)"
125
- >
126
- <button
127
- type="button"
128
- kjColorPickerTrigger
129
- class="kj-color-picker-trigger"
130
- aria-label="Open color picker"
131
- ></button>
132
- <div kjColorPickerPanel class="kj-color-picker-panel">
133
- <div kjColorPickerArea class="kj-color-picker-area"></div>
134
- <input kjColorPickerHueSlider class="kj-color-picker-hue-slider" />
135
- @if (kjShowAlpha()) {
136
- <input
137
- kjColorPickerAlphaSlider
138
- class="kj-color-picker-alpha-slider"
139
- [style.--kj-color-picker-current]="opaqueCurrent(root)"
140
- />
141
- }
142
- @if (kjShowHexInput()) {
143
- <input kjColorPickerInput class="kj-color-picker-input" />
144
- }
145
- @if (kjPresets().length > 0) {
146
- <div role="listbox" aria-label="Preset colors" class="kj-color-picker-presets">
147
- @for (preset of kjPresets(); track preset.value) {
148
- <button
149
- type="button"
150
- role="option"
151
- class="kj-color-picker-preset"
152
- [attr.aria-label]="preset.label ?? preset.value"
153
- [attr.aria-selected]="preset.value.toLowerCase() === root.hex().toLowerCase() ? 'true' : 'false'"
154
- [style.background]="preset.value"
155
- (click)="selectPreset(root, preset)"
156
- ></button>
157
- }
158
- </div>
159
- }
160
- </div>
161
- </div>
162
- `,
163
- styleUrl: './color-picker.css',
164
- encapsulation: ViewEncapsulation.None,
165
- host: {
166
- class: 'kj-color-picker',
167
- style: 'display: inline-block;',
168
- },
169
- changeDetection: ChangeDetectionStrategy.OnPush,
170
- })
171
- export class KjColorPickerComponent implements ControlValueAccessor {
172
- /** Output format. Default `'hex'`. */
173
- readonly kjFormat = input<KjColorFormat>('hex');
174
- /** Mount the alpha slider and switch to 8-char hex output when α<1. */
175
- readonly kjShowAlpha = input(false, { transform: booleanAttribute });
176
- /** Force 8-char hex output even when α=1. */
177
- readonly kjAlwaysEmitAlpha = input(false);
178
- /** Brand-palette preset swatches. Empty array hides the preset row. */
179
- readonly kjPresets = input<readonly KjColorPreset[]>([]);
180
- /** Touched-gated invalid posture; mirrors `KjInput`. */
181
- readonly kjInvalid = input(false);
182
- /** Override the default "Color picker" name on the trigger. */
183
- readonly kjAriaLabel = input<string>('');
184
- /** Mirror the headless `KjDisabled` posture. */
185
- readonly kjDisabled = input(false);
186
- /** Show or hide the hex text input within the default panel layout. */
187
- readonly kjShowHexInput = input<boolean>(true);
188
-
189
- /** Fires when the panel transitions between open and closed. */
190
- readonly kjOpenChange = output<boolean>();
191
- /** Fires when the user commits a color (panel close, hex Enter, preset click). */
192
- readonly kjCommit = output<KjColorValue>();
193
-
194
- @ViewChild(KjColorPicker, { static: true })
195
- protected innerPicker?: KjColorPicker;
196
-
197
- /**
198
- * Opaque-only current hex (no alpha digits). Used as the alpha-slider
199
- * track's gradient end-stop so users see "current → transparent" at full
200
- * saturation regardless of the active alpha value.
201
- */
202
- protected opaqueCurrent(root: KjColorPicker): string {
203
- const rgb = root.rgb();
204
- const toHex = (n: number) => Math.round(Math.max(0, Math.min(255, n)))
205
- .toString(16).padStart(2, '0');
206
- return `#${toHex(rgb.r)}${toHex(rgb.g)}${toHex(rgb.b)}`;
207
- }
208
-
209
- /** @internal */
210
- protected selectPreset(root: KjColorPicker, preset: KjColorPreset): void {
211
- root.setHex(preset.value);
212
- }
213
-
214
- // ── ControlValueAccessor ──────────────────────────────────────────
215
- // Re-expose the inner directive's CVA so consumers can bind `[formControl]`
216
- // / `[(ngModel)]` directly on `<kj-color-picker>`. The inner KjFormControl
217
- // is the canonical accessor — we just delegate.
218
-
219
- writeValue(val: unknown): void {
220
- this.innerPicker?.formCtrl.writeValue(val);
221
- }
222
- registerOnChange(fn: (value: unknown) => void): void {
223
- this.innerPicker?.formCtrl.registerOnChange(fn);
224
- }
225
- registerOnTouched(fn: () => void): void {
226
- this.innerPicker?.formCtrl.registerOnTouched(fn);
227
- }
228
- setDisabledState(isDisabled: boolean): void {
229
- this.innerPicker?.formCtrl.setDisabledState(isDisabled);
230
- }
231
- }
232
-
233
- // Re-export types so consumers don't need a second import path.
234
- export type { KjColorFormat, KjColorPreset, KjColorValue };
@@ -1 +0,0 @@
1
- export * from './color-picker';