@kouji-ui/components 0.1.1 → 0.1.2

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 +17 -10
  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,211 +0,0 @@
1
- import { Component, signal, ChangeDetectionStrategy } from '@angular/core';
2
- import { TestBed } from '@angular/core/testing';
3
- import { describe, expect, test, beforeEach } from 'vitest';
4
- import {
5
- KjCarouselComponent,
6
- KjCarouselViewportComponent,
7
- KjCarouselSlideComponent,
8
- KjCarouselPreviousComponent,
9
- KjCarouselNextComponent,
10
- KjCarouselIndicatorsComponent,
11
- KjCarouselAutoplayComponent,
12
- KjCarouselPauseComponent,
13
- } from './carousel';
14
-
15
- const imports = [
16
- KjCarouselComponent,
17
- KjCarouselViewportComponent,
18
- KjCarouselSlideComponent,
19
- KjCarouselPreviousComponent,
20
- KjCarouselNextComponent,
21
- KjCarouselIndicatorsComponent,
22
- KjCarouselAutoplayComponent,
23
- KjCarouselPauseComponent,
24
- ];
25
-
26
- @Component({
27
- standalone: true,
28
- imports,
29
- changeDetection: ChangeDetectionStrategy.Eager,
30
- template: `
31
- <kj-carousel [(value)]="active" [label]="label" [loop]="loop" [orientation]="orientation">
32
- <kj-carousel-previous aria-label="Previous slide" />
33
- <kj-carousel-viewport>
34
- <kj-carousel-slide value="one" label="One"
35
- ><div data-testid="content-one">One body</div></kj-carousel-slide
36
- >
37
- <kj-carousel-slide value="two" label="Two"
38
- ><div data-testid="content-two">Two body</div></kj-carousel-slide
39
- >
40
- <kj-carousel-slide value="three" label="Three"
41
- ><div data-testid="content-three">Three body</div></kj-carousel-slide
42
- >
43
- </kj-carousel-viewport>
44
- <kj-carousel-next aria-label="Next slide" />
45
- <kj-carousel-indicators ariaLabel="Slide controls" [controlPattern]="controlPattern" />
46
- </kj-carousel>
47
- `,
48
- })
49
- class HostComponent {
50
- active = signal<string | null>(null);
51
- label = 'Test wrapper';
52
- loop = false;
53
- orientation: 'horizontal' | 'vertical' = 'horizontal';
54
- controlPattern: 'buttons' | 'tabs' = 'buttons';
55
- }
56
-
57
- @Component({
58
- standalone: true,
59
- imports,
60
- changeDetection: ChangeDetectionStrategy.Eager,
61
- template: `
62
- <kj-carousel label="Auto">
63
- <kj-carousel-autoplay [delay]="5000" />
64
- <kj-carousel-viewport>
65
- <kj-carousel-slide value="x">X</kj-carousel-slide>
66
- <kj-carousel-slide value="y">Y</kj-carousel-slide>
67
- </kj-carousel-viewport>
68
- <kj-carousel-pause aria-label="Pause" />
69
- </kj-carousel>
70
- `,
71
- })
72
- class AutoplayHost {}
73
-
74
- async function flush() {
75
- await Promise.resolve();
76
- await Promise.resolve();
77
- await new Promise<void>((r) => setTimeout(r, 0));
78
- }
79
-
80
- describe('KjCarouselComponent (wrapper)', () => {
81
- beforeEach(() => {
82
- TestBed.configureTestingModule({ imports: [HostComponent, AutoplayHost] });
83
- });
84
-
85
- test('renders the wrapper composition with correct ARIA shape', () => {
86
- const fixture = TestBed.createComponent(HostComponent);
87
- fixture.detectChanges();
88
- const root: HTMLElement = fixture.nativeElement;
89
-
90
- const carousel = root.querySelector('kj-carousel')!;
91
- expect(carousel.getAttribute('role')).toBe('region');
92
- expect(carousel.getAttribute('aria-roledescription')).toBe('carousel');
93
- expect(carousel.getAttribute('aria-label')).toBe('Test wrapper');
94
-
95
- const slides = root.querySelectorAll('kj-carousel-slide');
96
- expect(slides.length).toBe(3);
97
- slides.forEach((slide) => {
98
- expect(slide.getAttribute('role')).toBe('group');
99
- expect(slide.getAttribute('aria-roledescription')).toBe('slide');
100
- });
101
-
102
- const prev = root.querySelector('button.kj-carousel-previous')!;
103
- const next = root.querySelector('button.kj-carousel-next')!;
104
- expect(prev.getAttribute('aria-label')).toBe('Previous slide');
105
- expect(next.getAttribute('aria-label')).toBe('Next slide');
106
- });
107
-
108
- test('aliased value model is two-way bound from the host signal', async () => {
109
- const fixture = TestBed.createComponent(HostComponent);
110
- fixture.detectChanges();
111
- await flush();
112
- fixture.detectChanges();
113
-
114
- // Default reconciliation lands the first slide.
115
- expect(fixture.componentInstance.active()).toBe('one');
116
-
117
- fixture.componentInstance.active.set('two');
118
- fixture.detectChanges();
119
-
120
- const slides = fixture.nativeElement.querySelectorAll<HTMLElement>('kj-carousel-slide');
121
- expect(slides[1].getAttribute('data-active')).toBe('');
122
- expect(slides[0].getAttribute('data-active')).toBeNull();
123
- });
124
-
125
- test('auto-projects a dot indicator per slide with aria-current on the active', async () => {
126
- const fixture = TestBed.createComponent(HostComponent);
127
- fixture.detectChanges();
128
- await flush();
129
- fixture.detectChanges();
130
-
131
- const dots = fixture.nativeElement.querySelectorAll<HTMLButtonElement>(
132
- 'button.kj-carousel-indicator',
133
- );
134
- expect(dots.length).toBe(3);
135
- expect(dots[0].getAttribute('aria-current')).toBe('true');
136
- expect(dots[1].getAttribute('aria-current')).toBeNull();
137
-
138
- dots[2].click();
139
- fixture.detectChanges();
140
- expect(fixture.componentInstance.active()).toBe('three');
141
- expect(dots[2].getAttribute('aria-current')).toBe('true');
142
- expect(dots[0].getAttribute('aria-current')).toBeNull();
143
- });
144
-
145
- test('controlPattern="tabs" flips the indicator group to a tablist with role="tab"', async () => {
146
- const fixture = TestBed.createComponent(HostComponent);
147
- fixture.componentInstance.controlPattern = 'tabs';
148
- fixture.detectChanges();
149
- await flush();
150
- fixture.detectChanges();
151
-
152
- const indicators = fixture.nativeElement.querySelector('kj-carousel-indicators')!;
153
- expect(indicators.getAttribute('role')).toBe('tablist');
154
- const dots = fixture.nativeElement.querySelectorAll<HTMLButtonElement>(
155
- 'button.kj-carousel-indicator',
156
- );
157
- dots.forEach((d) => expect(d.getAttribute('role')).toBe('tab'));
158
- expect(dots[0].getAttribute('aria-selected')).toBe('true');
159
- expect(dots[1].getAttribute('aria-selected')).toBe('false');
160
- });
161
-
162
- test('next button advances the model and is disabled at the boundary when not looping', async () => {
163
- const fixture = TestBed.createComponent(HostComponent);
164
- fixture.detectChanges();
165
- await flush();
166
- fixture.detectChanges();
167
-
168
- const next: HTMLButtonElement = fixture.nativeElement.querySelector('button.kj-carousel-next');
169
- next.click();
170
- fixture.detectChanges();
171
- expect(fixture.componentInstance.active()).toBe('two');
172
- next.click();
173
- fixture.detectChanges();
174
- expect(fixture.componentInstance.active()).toBe('three');
175
- expect(next.getAttribute('aria-disabled')).toBe('true');
176
- });
177
-
178
- test('vertical orientation propagates to the wrapper host', () => {
179
- const fixture = TestBed.createComponent(HostComponent);
180
- fixture.componentInstance.orientation = 'vertical';
181
- fixture.detectChanges();
182
- const carousel = fixture.nativeElement.querySelector('kj-carousel')!;
183
- expect(carousel.getAttribute('aria-orientation')).toBe('vertical');
184
- expect(carousel.getAttribute('data-orientation')).toBe('vertical');
185
- });
186
-
187
- test('autoplay pause toggle reflects paused state via aria-pressed', async () => {
188
- const fixture = TestBed.createComponent(AutoplayHost);
189
- fixture.detectChanges();
190
- await flush();
191
-
192
- const pause: HTMLButtonElement = fixture.nativeElement.querySelector(
193
- 'button.kj-carousel-pause',
194
- );
195
- expect(pause.getAttribute('aria-pressed')).toBe('false');
196
- pause.click();
197
- fixture.detectChanges();
198
- expect(pause.getAttribute('aria-pressed')).toBe('true');
199
- });
200
-
201
- test('live region is rendered as a visually-hidden element with aria-live="polite"', () => {
202
- const fixture = TestBed.createComponent(HostComponent);
203
- fixture.detectChanges();
204
- const region = fixture.nativeElement.querySelector('[aria-live]') as HTMLElement;
205
- expect(region).not.toBeNull();
206
- expect(region.getAttribute('aria-live')).toBe('polite');
207
- expect(region.getAttribute('aria-atomic')).toBe('true');
208
- // Visually hidden styles are inline (browsers / jsdom may add spaces; match liberally).
209
- expect(region.getAttribute('style')).toMatch(/width:\s*1px/);
210
- });
211
- });
@@ -1,399 +0,0 @@
1
- import {
2
- AfterViewInit,
3
- ChangeDetectionStrategy,
4
- Component,
5
- ViewEncapsulation,
6
- computed,
7
- contentChildren,
8
- inject,
9
- input,
10
- ViewChild,
11
- } from '@angular/core';
12
- import {
13
- KJ_CAROUSEL,
14
- KjCarousel,
15
- KjCarouselAutoplay,
16
- KjCarouselIndicator,
17
- KjCarouselIndicators,
18
- KjCarouselNext,
19
- KjCarouselPauseToggle,
20
- KjCarouselPrevious,
21
- KjCarouselSlide,
22
- KjCarouselViewport,
23
- KjIconDirective,
24
- KjLiveRegion,
25
- KjVisuallyHidden,
26
- } from '@kouji-ui/core';
27
- import type {
28
- KjCarouselAlign,
29
- KjCarouselControlPattern,
30
- KjCarouselOrientation,
31
- } from '@kouji-ui/core';
32
-
33
- /**
34
- * Styled wrapper around the headless `KjCarousel` directive — the rotating
35
- * region with previous / next controls, optional dot indicators, and an
36
- * opt-in autoplay attached behaviour.
37
- *
38
- * Compose the wrappers — `<kj-carousel>`, `<kj-carousel-viewport>`,
39
- * `<kj-carousel-slide>`, `<kj-carousel-previous>`, `<kj-carousel-next>`,
40
- * `<kj-carousel-indicators>`, `<kj-carousel-pause>`, `<kj-carousel-autoplay>` —
41
- * to mirror the directive family. The active slide is keyed by `value`,
42
- * not by structural position, so consumers can two-way bind to a router
43
- * param or analytics key.
44
- *
45
- * The wrapper also renders a visually hidden `kjLiveRegion` inside its
46
- * template so user-initiated slide changes are announced politely without
47
- * the consumer having to wire a live region of their own.
48
- *
49
- * @example
50
- * ```html
51
- * <kj-carousel [(value)]="active" label="Featured products">
52
- * <kj-carousel-previous aria-label="Previous slide">‹</kj-carousel-previous>
53
- * <kj-carousel-viewport>
54
- * <kj-carousel-slide value="a" label="Mountain meadow">
55
- * <article>…</article>
56
- * </kj-carousel-slide>
57
- * </kj-carousel-viewport>
58
- * <kj-carousel-next aria-label="Next slide">›</kj-carousel-next>
59
- * <kj-carousel-indicators />
60
- * </kj-carousel>
61
- * ```
62
- *
63
- * @doc-example Default
64
- * The default playground — four slides with manual prev / next controls.
65
- * @doc-file carousel.example.ts
66
- * @doc-example Usage
67
- * The common shape — bound active slide, prev / next, and indicator dots.
68
- * Use this as the copy-paste starting point.
69
- * @doc-file carousel.usage.example.ts
70
- * @doc-example With indicators
71
- * Add `<kj-carousel-indicators>` to expose a dot list under the viewport.
72
- * @doc-file carousel.indicators.example.ts
73
- * @doc-example Autoplay with pause control
74
- * Pair `<kj-carousel-autoplay>` with `<kj-carousel-pause>` whenever delay > 5s (WCAG 2.2.2).
75
- * @doc-file carousel.autoplay.example.ts
76
- * @doc-example Tabbed carousel
77
- * `kjControlPattern="tabs"` switches indicators to a tablist for editorial decks.
78
- * @doc-file carousel.tabs-pattern.example.ts
79
- * @doc-example Lazy-loaded images
80
- * Render heavy media on-demand using the slide's visibility signal.
81
- * @doc-file carousel.lazy-load.example.ts
82
- *
83
- * @doc-keyboard
84
- * Tab — Moves focus through prev / next / pause / indicators in DOM order
85
- * Enter|Space — Activates the focused control
86
- * ArrowLeft|ArrowRight — On indicator tablist mode, moves between tabs (auto-activates the slide)
87
- *
88
- * @doc-aria
89
- * role — `region` on the host; `aria-roledescription="carousel"`
90
- * aria-label — Required; supply via `label` or `labelledby`
91
- * aria-live — Politely announces slide changes via the wrapper's hidden live region
92
- * aria-current — `"true"` on the active indicator
93
- * aria-controls — Prev / next reference the viewport id
94
- *
95
- * @doc-touch
96
- * Prev / next / pause buttons default to a ≥ 44×44 control diameter
97
- * (`--kj-carousel-control-size`). Indicators are smaller dots — if they're
98
- * the primary nav on mobile, switch to `kjControlPattern="tabs"` for larger
99
- * targets.
100
- *
101
- * @doc-a11y
102
- * Follows the WAI-ARIA APG Carousel pattern. Autoplay > 5s requires a
103
- * pause control (WCAG 2.2.2 Pause, Stop, Hide) — pair `kj-carousel-autoplay`
104
- * with `kj-carousel-pause` whenever it's present. The wrapper's internal
105
- * `kjLiveRegion` announces user-initiated slide changes politely.
106
- *
107
- * @doc-related tabs,accordion,list
108
- *
109
- * @doc-css-var
110
- * --kj-carousel-gap — Gap between viewport and controls + between slides.
111
- * --kj-carousel-radius — Corner radius for viewport and slides. Inherits --kj-radius-box.
112
- * --kj-carousel-control-size — Diameter of prev/next/pause buttons. Defaults to 44px for WCAG touch.
113
- * --kj-carousel-control-bg — Background of prev/next/pause buttons.
114
- * --kj-carousel-control-fg — Foreground (icon) color of prev/next/pause buttons.
115
- * --kj-carousel-indicator-size — Diameter of the indicator dots.
116
- * --kj-carousel-indicator-active — Fill color of the active indicator dot.
117
- * --kj-carousel-indicator-idle — Fill color of idle indicator dots.
118
- * --kj-carousel-slides-per-view — Number of slides visible at once. Defaults to 1.
119
- *
120
- * @doc-category Library/Data display
121
- * @doc
122
- * @doc-name carousel
123
- * @doc-description Themed rotating content region with prev/next controls, indicators, autoplay, and accessible announcements.
124
- * @doc-is-main
125
- */
126
- @Component({
127
- selector: 'kj-carousel',
128
- standalone: true,
129
- imports: [KjLiveRegion, KjVisuallyHidden],
130
- hostDirectives: [
131
- {
132
- directive: KjCarousel,
133
- inputs: [
134
- 'kjValue: value',
135
- 'kjLoop: loop',
136
- 'kjOrientation: orientation',
137
- 'kjSlidesPerView: slidesPerView',
138
- 'kjSlidesPerAdvance: slidesPerAdvance',
139
- 'kjAlign: align',
140
- 'kjLabel: label',
141
- 'kjLabelledby: labelledby',
142
- 'kjDraggable: draggable',
143
- ],
144
- outputs: ['kjValueChange: valueChange'],
145
- },
146
- ],
147
- template: `
148
- <ng-content />
149
- <div kjVisuallyHidden kjLiveRegion #liveRegion="kjLiveRegion"></div>
150
- `,
151
- styleUrl: './carousel.css',
152
- encapsulation: ViewEncapsulation.None,
153
- host: {
154
- class: 'kj-carousel',
155
- },
156
- changeDetection: ChangeDetectionStrategy.OnPush,
157
- })
158
- export class KjCarouselComponent implements AfterViewInit {
159
- protected readonly carousel = inject(KjCarousel);
160
-
161
- @ViewChild('liveRegion', { static: true }) protected liveRegion!: KjLiveRegion;
162
-
163
- ngAfterViewInit(): void {
164
- this.carousel.registerLiveRegion(this.liveRegion);
165
- }
166
- }
167
-
168
- /**
169
- * Styled wrapper around `KjCarouselViewport`. Hosts the scroll container that
170
- * the slides scroll-snap into, and forwards through to the underlying
171
- * directive (no public inputs).
172
- *
173
- * @doc-category Library/Data display
174
- * @doc
175
- * @doc-name carousel
176
- */
177
- @Component({
178
- selector: 'kj-carousel-viewport',
179
- standalone: true,
180
- hostDirectives: [KjCarouselViewport],
181
- template: `<ng-content />`,
182
- encapsulation: ViewEncapsulation.None,
183
- host: { class: 'kj-carousel-viewport' },
184
- changeDetection: ChangeDetectionStrategy.OnPush,
185
- })
186
- export class KjCarouselViewportComponent {}
187
-
188
- /**
189
- * Styled wrapper around `KjCarouselSlide`. Project a single slide; the
190
- * directive's `aria-label="N of M[: label]"` is computed from its index in
191
- * registration order plus the optional `[label]` shorthand.
192
- *
193
- * @doc-category Library/Data display
194
- * @doc
195
- * @doc-name carousel
196
- */
197
- @Component({
198
- selector: 'kj-carousel-slide',
199
- standalone: true,
200
- hostDirectives: [
201
- {
202
- directive: KjCarouselSlide,
203
- inputs: ['kjSlideValue: value', 'kjSlideLabel: label', 'kjSlideAlign: align'],
204
- },
205
- ],
206
- template: `<ng-content />`,
207
- encapsulation: ViewEncapsulation.None,
208
- host: {
209
- class: 'kj-carousel-slide',
210
- '[attr.data-align]': 'effectiveAlign()',
211
- },
212
- changeDetection: ChangeDetectionStrategy.OnPush,
213
- })
214
- export class KjCarouselSlideComponent {
215
- protected readonly slide = inject(KjCarouselSlide);
216
- protected readonly effectiveAlign = computed(() => this.slide.effectiveAlign());
217
- }
218
-
219
- /**
220
- * Styled wrapper around `KjCarouselPrevious`. Renders a real `<button>` so
221
- * Enter / Space activation, focus, and disabled semantics work for free; the
222
- * `aria-label` input is required at runtime (dev-mode warn if omitted).
223
- *
224
- * @doc-category Library/Data display
225
- * @doc
226
- * @doc-name carousel
227
- */
228
- @Component({
229
- selector: 'kj-carousel-previous',
230
- standalone: true,
231
- imports: [KjCarouselPrevious],
232
- template: `
233
- <button
234
- type="button"
235
- kjCarouselPrevious
236
- class="kj-carousel-control kj-carousel-previous"
237
- [attr.aria-label]="ariaLabel()"
238
- >
239
- <ng-content>‹</ng-content>
240
- </button>
241
- `,
242
- encapsulation: ViewEncapsulation.None,
243
- host: { style: 'display: contents;' },
244
- changeDetection: ChangeDetectionStrategy.OnPush,
245
- })
246
- export class KjCarouselPreviousComponent {
247
- /** Accessible name for the control. Required by WCAG 4.1.2 — defaults to `"Previous slide"`. */
248
- readonly ariaLabel = input<string>('Previous slide', { alias: 'aria-label' });
249
- }
250
-
251
- /**
252
- * Styled wrapper around `KjCarouselNext`. Symmetric counterpart of
253
- * `KjCarouselPreviousComponent`.
254
- *
255
- * @doc-category Library/Data display
256
- * @doc
257
- * @doc-name carousel
258
- */
259
- @Component({
260
- selector: 'kj-carousel-next',
261
- standalone: true,
262
- imports: [KjCarouselNext, KjIconDirective],
263
- template: `
264
- <button
265
- type="button"
266
- kjCarouselNext
267
- class="kj-carousel-control kj-carousel-next"
268
- [attr.aria-label]="ariaLabel()"
269
- >
270
- <ng-content><i kjIcon="chevron-right"></i></ng-content>
271
- </button>
272
- `,
273
- encapsulation: ViewEncapsulation.None,
274
- host: { style: 'display: contents;' },
275
- changeDetection: ChangeDetectionStrategy.OnPush,
276
- })
277
- export class KjCarouselNextComponent {
278
- /** Accessible name for the control. Required by WCAG 4.1.2 — defaults to `"Next slide"`. */
279
- readonly ariaLabel = input<string>('Next slide', { alias: 'aria-label' });
280
- }
281
-
282
- /**
283
- * Styled wrapper around `KjCarouselIndicators`. Auto-projects one
284
- * `<button kjCarouselIndicator>` per registered slide (dot list) when no
285
- * `<kj-carousel-indicator>` children are projected, otherwise leaves the
286
- * projected children alone — letting consumers swap dots for thumbnails or
287
- * numbered chips.
288
- *
289
- * @doc-category Library/Data display
290
- * @doc
291
- * @doc-name carousel
292
- */
293
- @Component({
294
- selector: 'kj-carousel-indicators',
295
- standalone: true,
296
- imports: [KjCarouselIndicator],
297
- hostDirectives: [
298
- {
299
- directive: KjCarouselIndicators,
300
- inputs: ['kjControlPattern: controlPattern', 'kjAriaLabel: ariaLabel'],
301
- },
302
- ],
303
- template: `
304
- <ng-content />
305
- @if (autoProject()) {
306
- @for (slide of carousel.slides(); track slide.kjSlideValue()) {
307
- <button
308
- type="button"
309
- kjCarouselIndicator
310
- class="kj-carousel-indicator"
311
- [kjForValue]="slide.kjSlideValue()"
312
- [attr.aria-label]="'Slide ' + ($index + 1)"
313
- [attr.data-kj-indicator-value]="slide.kjSlideValue()"
314
- ></button>
315
- }
316
- }
317
- `,
318
- encapsulation: ViewEncapsulation.None,
319
- host: { class: 'kj-carousel-indicators' },
320
- changeDetection: ChangeDetectionStrategy.OnPush,
321
- })
322
- export class KjCarouselIndicatorsComponent {
323
- protected readonly carousel = inject(KJ_CAROUSEL) as KjCarousel;
324
- private readonly projectedIndicators = contentChildren(KjCarouselIndicator);
325
-
326
- /** Whether to render the auto-projected dot list (true when no indicator is projected). */
327
- protected readonly autoProject = computed(() => this.projectedIndicators().length === 0);
328
- }
329
-
330
- /**
331
- * Styled wrapper around `KjCarouselAutoplay`. Lifecycle-only directive — has
332
- * no visible DOM. Drop next to the carousel content to attach the autoplay
333
- * behaviour; pair with `<kj-carousel-pause>` whenever the delay exceeds
334
- * 5000 ms (WCAG 2.2.2).
335
- *
336
- * @doc-category Library/Data display
337
- * @doc
338
- * @doc-name carousel
339
- */
340
- @Component({
341
- selector: 'kj-carousel-autoplay',
342
- standalone: true,
343
- hostDirectives: [
344
- {
345
- directive: KjCarouselAutoplay,
346
- inputs: [
347
- 'kjAutoplayDelay: delay',
348
- 'kjPauseOnHover: pauseOnHover',
349
- 'kjPauseOnFocus: pauseOnFocus',
350
- ],
351
- },
352
- ],
353
- template: ``,
354
- encapsulation: ViewEncapsulation.None,
355
- host: { style: 'display: none;' },
356
- changeDetection: ChangeDetectionStrategy.OnPush,
357
- })
358
- export class KjCarouselAutoplayComponent {}
359
-
360
- /**
361
- * Styled wrapper around `KjCarouselPauseToggle`. Renders a real `<button>`
362
- * with `aria-pressed` reflecting the carousel's `paused` signal. Required
363
- * whenever an autoplay directive is present and its delay > 5000 ms.
364
- *
365
- * @doc-category Library/Data display
366
- * @doc
367
- * @doc-name carousel
368
- */
369
- @Component({
370
- selector: 'kj-carousel-pause',
371
- standalone: true,
372
- imports: [KjCarouselPauseToggle],
373
- template: `
374
- <button
375
- type="button"
376
- kjCarouselPauseToggle
377
- class="kj-carousel-pause"
378
- [attr.aria-label]="ariaLabel()"
379
- >
380
- <ng-content>{{ paused() ? '▶' : '❚❚' }}</ng-content>
381
- </button>
382
- `,
383
- encapsulation: ViewEncapsulation.None,
384
- host: { style: 'display: contents;' },
385
- changeDetection: ChangeDetectionStrategy.OnPush,
386
- })
387
- export class KjCarouselPauseComponent {
388
- protected readonly carousel = inject(KJ_CAROUSEL) as KjCarousel;
389
- /** Accessible name for the toggle. Required by WCAG 4.1.2 — defaults to `"Pause carousel"`. */
390
- readonly ariaLabel = input<string>('Pause carousel', { alias: 'aria-label' });
391
- protected readonly paused = computed(() => this.carousel.paused());
392
- }
393
-
394
- // Re-export the input types for consumer convenience.
395
- export type {
396
- KjCarouselOrientation,
397
- KjCarouselAlign,
398
- KjCarouselControlPattern,
399
- };
@@ -1,46 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, signal } from '@angular/core';
2
- import {
3
- KjCarouselComponent,
4
- KjCarouselIndicatorsComponent,
5
- KjCarouselNextComponent,
6
- KjCarouselPreviousComponent,
7
- KjCarouselSlideComponent,
8
- KjCarouselViewportComponent,
9
- } from './carousel';
10
-
11
- /**
12
- * Common carousel shape — bound active slide, prev / next controls, and a
13
- * dot indicator row. Use this as the copy-paste starting point.
14
- */
15
- @Component({
16
- selector: 'kj-carousel-usage-example',
17
- standalone: true,
18
- changeDetection: ChangeDetectionStrategy.OnPush,
19
- imports: [
20
- KjCarouselComponent,
21
- KjCarouselViewportComponent,
22
- KjCarouselSlideComponent,
23
- KjCarouselPreviousComponent,
24
- KjCarouselNextComponent,
25
- KjCarouselIndicatorsComponent,
26
- ],
27
- styles: [`
28
- :host { display: block; }
29
- .slide { display: grid; place-items: center; min-height: 10rem; font-weight: 600; }
30
- `],
31
- template: `
32
- <kj-carousel [(value)]="active" label="Featured posts">
33
- <kj-carousel-previous aria-label="Previous slide" />
34
- <kj-carousel-viewport>
35
- <kj-carousel-slide value="a" label="Token system"><div class="slide">Token system</div></kj-carousel-slide>
36
- <kj-carousel-slide value="b" label="Theming"><div class="slide">Theming</div></kj-carousel-slide>
37
- <kj-carousel-slide value="c" label="A11y first"><div class="slide">A11y first</div></kj-carousel-slide>
38
- </kj-carousel-viewport>
39
- <kj-carousel-next aria-label="Next slide" />
40
- <kj-carousel-indicators />
41
- </kj-carousel>
42
- `,
43
- })
44
- export class KjCarouselUsageExample {
45
- readonly active = signal('a');
46
- }
@@ -1 +0,0 @@
1
- export * from './carousel';