@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,31 +0,0 @@
1
- import { Component, signal, ChangeDetectionStrategy } from '@angular/core';
2
- import { KjButtonComponent } from '../button';
3
-
4
- @Component({
5
- selector: 'kj-button-loading-example',
6
- standalone: true,
7
- imports: [KjButtonComponent],
8
- styles: [
9
- `
10
- :host {
11
- display: block;
12
- }
13
- `,
14
- ],
15
- changeDetection: ChangeDetectionStrategy.Eager,
16
- template: `
17
- <kj-button [kjLoading]="busy()" (click)="run()">
18
- {{ busy() ? 'Saving…' : 'Save' }}
19
- </kj-button>
20
- `,
21
- })
22
- export class KjButtonLoadingExample {
23
- readonly busy = signal(false);
24
-
25
- async run() {
26
- if (this.busy()) return;
27
- this.busy.set(true);
28
- await new Promise((r) => setTimeout(r, 1500));
29
- this.busy.set(false);
30
- }
31
- }
@@ -1,24 +0,0 @@
1
- import { Component, signal, ChangeDetectionStrategy } from '@angular/core';
2
- import { KjButtonComponent } from '../button';
3
-
4
- @Component({
5
- selector: 'kj-button-pressed-example',
6
- standalone: true,
7
- imports: [KjButtonComponent],
8
- styles: [
9
- `
10
- :host {
11
- display: block;
12
- }
13
- `,
14
- ],
15
- changeDetection: ChangeDetectionStrategy.Eager,
16
- template: `
17
- <kj-button kjVariant="outline" [(kjPressed)]="on">
18
- {{ on() ? 'Bold ON' : 'Bold OFF' }}
19
- </kj-button>
20
- `,
21
- })
22
- export class KjButtonPressedExample {
23
- readonly on = signal(false);
24
- }
@@ -1,26 +0,0 @@
1
- import { Component, ChangeDetectionStrategy } from '@angular/core';
2
- import { KjButtonComponent } from '../button';
3
-
4
- @Component({
5
- selector: 'kj-button-sizes-example',
6
- standalone: true,
7
- imports: [KjButtonComponent],
8
- styles: [
9
- `
10
- :host {
11
- display: flex;
12
- gap: var(--kj-space-sm);
13
- align-items: center;
14
- flex-wrap: wrap;
15
- }
16
- `,
17
- ],
18
- changeDetection: ChangeDetectionStrategy.Eager,
19
- template: `
20
- <kj-button kjSize="sm">Small</kj-button>
21
- <kj-button kjSize="md">Medium</kj-button>
22
- <kj-button kjSize="lg">Large</kj-button>
23
- <kj-button kjSize="icon" kjAriaLabel="Settings">⚙</kj-button>
24
- `,
25
- })
26
- export class KjButtonSizesExample {}
@@ -1,66 +0,0 @@
1
- import { Component, signal, ChangeDetectionStrategy } from '@angular/core';
2
- import { KjButtonComponent } from '../button';
3
-
4
- /**
5
- * A walkthrough of the most common button usages — variant, size, loading,
6
- * disabled, pressed (toggle), and full-width. Use this as the copy-paste
7
- * starting point for new screens.
8
- */
9
- @Component({
10
- selector: 'kj-button-usage-example',
11
- standalone: true,
12
- imports: [KjButtonComponent],
13
- styles: [
14
- `
15
- :host {
16
- display: flex;
17
- flex-direction: column;
18
- gap: var(--kj-space-md);
19
- }
20
- .row {
21
- display: flex;
22
- gap: var(--kj-space-sm);
23
- flex-wrap: wrap;
24
- align-items: center;
25
- }
26
- `,
27
- ],
28
- changeDetection: ChangeDetectionStrategy.Eager,
29
- template: `
30
- <div class="row">
31
- <kj-button kjVariant="default" (click)="onSave()">Save changes</kj-button>
32
- <kj-button kjVariant="destructive">Delete</kj-button>
33
- <kj-button kjVariant="ghost">Cancel</kj-button>
34
- <kj-button kjVariant="outline">More info</kj-button>
35
- </div>
36
-
37
- <div class="row">
38
- <kj-button kjSize="sm">Small</kj-button>
39
- <kj-button kjSize="md">Medium</kj-button>
40
- <kj-button kjSize="lg">Large</kj-button>
41
- </div>
42
-
43
- <div class="row">
44
- <kj-button [kjLoading]="busy()" (click)="run()">
45
- {{ busy() ? 'Saving…' : 'Save' }}
46
- </kj-button>
47
- <kj-button [kjDisabled]="true">Disabled</kj-button>
48
- <kj-button kjVariant="outline" [(kjPressed)]="pressed">
49
- {{ pressed() ? 'Bold ON' : 'Bold OFF' }}
50
- </kj-button>
51
- </div>
52
- `,
53
- })
54
- export class KjButtonUsageExample {
55
- readonly busy = signal(false);
56
- readonly pressed = signal(false);
57
-
58
- onSave(): void {
59
- /* persist the form */
60
- }
61
-
62
- run(): void {
63
- this.busy.set(true);
64
- setTimeout(() => this.busy.set(false), 1200);
65
- }
66
- }
@@ -1,26 +0,0 @@
1
- import { Component, ChangeDetectionStrategy } from '@angular/core';
2
- import { KjButtonComponent } from '../button';
3
-
4
- @Component({
5
- selector: 'kj-button-variants-example',
6
- standalone: true,
7
- imports: [KjButtonComponent],
8
- styles: [
9
- `
10
- :host {
11
- display: flex;
12
- gap: var(--kj-space-sm);
13
- flex-wrap: wrap;
14
- }
15
- `,
16
- ],
17
- changeDetection: ChangeDetectionStrategy.Eager,
18
- template: `
19
- <kj-button kjVariant="default">Default</kj-button>
20
- <kj-button kjVariant="destructive">Destructive</kj-button>
21
- <kj-button kjVariant="ghost">Ghost</kj-button>
22
- <kj-button kjVariant="outline">Outline</kj-button>
23
- <kj-button kjVariant="link">Link</kj-button>
24
- `,
25
- })
26
- export class KjButtonVariantsExample {}
@@ -1,12 +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 { KjButtonAnchorExample } from './button.anchor.example';
4
- export { KjButtonConfiguredExample } from './button.configured.example';
5
- export { KjButtonDisabledExample } from './button.disabled.example';
6
- export { KjButtonExample } from './button.example';
7
- export { KjButtonIconExample } from './button.icon.example';
8
- export { KjButtonLoadingExample } from './button.loading.example';
9
- export { KjButtonPressedExample } from './button.pressed.example';
10
- export { KjButtonSizesExample } from './button.sizes.example';
11
- export { KjButtonUsageExample } from './button.usage.example';
12
- export { KjButtonVariantsExample } from './button.variants.example';
@@ -1,263 +0,0 @@
1
- /* ─────────────────────────────────────────────────────────────
2
- .kj-button — component-layer tokens + structural CSS
3
- Tokens default to shared-layer values from @kouji-ui/themes.
4
- Variants/sizes/states retarget the component tokens; the
5
- structural rules below are the only place raw var(--kj-button-*)
6
- is read.
7
- ──────────────────────────────────────────────────────────── */
8
-
9
- @layer kj.component {
10
- .kj-button {
11
- /* component knobs — themes/users can override any of these */
12
- --kj-button-bg: var(--kj-bg-primary);
13
- --kj-button-fg: var(--kj-fg-on-primary);
14
- --kj-button-border-color: transparent;
15
- --kj-button-border-style: solid;
16
- --kj-button-border-width: var(--kj-border);
17
- --kj-button-radius: var(--kj-radius-field);
18
- --kj-button-padding-x: var(--kj-space-md);
19
- --kj-button-padding-y: var(--kj-space-sm);
20
- --kj-button-font: var(--kj-font-sans);
21
- --kj-button-font-size: var(--kj-text-sm);
22
- --kj-button-justify: center;
23
- --kj-button-gap: var(--kj-space-sm);
24
- --kj-button-min-width: auto;
25
- --kj-button-height: auto;
26
- --kj-button-translate-active: none;
27
- /* --kj-button-shadow / --kj-button-shadow-hover / --kj-button-shadow-active
28
- are intentionally NOT declared here. Declaring them with element-level
29
- specificity would win over the theme's `[data-theme="X"]` ancestor
30
- declaration (e.g. kouji's `6px 6px 0 #2a2a2a` offset block), since
31
- both selectors are (0,1,0) and same-layer source-order favours the
32
- element. The hover/active rules below pull the value via
33
- `var(name, fallback)` so the theme's inherited value reaches the
34
- component AND the fallback (`none`) applies when no theme sets one. */
35
- /* Typographic tone — themes override these for brand voice (e.g.
36
- bauhaus bumps weight to 900; cyberpunk tightens tracking). */
37
- --kj-button-font-weight: 600;
38
- --kj-button-letter-spacing: -0.01em;
39
- /* Hover lift — pulls from the shared per-theme --kj-hover-translate
40
- (bauhaus = -4px; everyone else = -2px). */
41
- --kj-button-hover-translate: var(--kj-hover-translate, -2px);
42
-
43
- /* the only place raw var(--kj-button-*) is read */
44
- display: inline-flex;
45
- align-items: center;
46
- justify-content: var(--kj-button-justify);
47
- gap: var(--kj-button-gap);
48
- min-width: var(--kj-button-min-width);
49
- /* Explicit per-size height + align-self prevents flex parents
50
- (align-items: stretch) from over-growing the button vertically. */
51
- height: var(--kj-button-height);
52
- align-self: center;
53
- background: var(--kj-button-bg);
54
- color: var(--kj-button-fg);
55
- border: var(--kj-button-border-width) var(--kj-button-border-style) var(--kj-button-border-color);
56
- border-radius: var(--kj-button-radius);
57
- padding: var(--kj-button-padding-y) var(--kj-button-padding-x);
58
- font: var(--kj-button-font-weight) var(--kj-button-font-size) / 1.2 var(--kj-button-font);
59
- letter-spacing: var(--kj-button-letter-spacing);
60
- /* Button shadow is opt-in PER PAGE CONTEXT (e.g. landing hero, docs
61
- playground stage) AND restricted to the `default` (primary) variant
62
- — never global. Pages set `--kj-button-shadow` at their scope; the
63
- applying rules below only fire for `[data-variant="default"]`. */
64
- /* Transition only properties tied to user interaction (hover / active /
65
- focus). NOT background-color — variant-driven bg changes propagate
66
- through the wrapper input on the same tick as the host attribute, and
67
- transitioning bg here animates the initial primary→variant flip on
68
- components like <kj-button variant="ghost"> when the wrapper resolves. */
69
- transition: color var(--kj-transition), border-color var(--kj-transition),
70
- box-shadow var(--kj-transition), transform var(--kj-transition),
71
- opacity var(--kj-transition);
72
- cursor: pointer;
73
- text-decoration: none;
74
- }
75
-
76
- /* Variants flip component tokens. Each variant owns its hover so the
77
- hover surface is designed per intent, not derived heuristically.
78
-
79
- Filled variants (default, destructive) darken on hover via a fixed
80
- 8% color-mix toward black. Themes can override the variant rules
81
- entirely for a brand-correct shade. */
82
-
83
- .kj-button[data-variant="destructive"] {
84
- --kj-button-bg: var(--kj-bg-danger);
85
- --kj-button-fg: var(--kj-fg-on-danger);
86
- }
87
- .kj-button[data-variant="destructive"]:hover {
88
- --kj-button-bg: color-mix(in oklch, var(--kj-bg-danger), black 8%);
89
- }
90
-
91
- .kj-button[data-variant="ghost"] {
92
- --kj-button-bg: transparent;
93
- --kj-button-fg: var(--kj-fg-default);
94
- --kj-button-border-color: transparent;
95
- }
96
- /* Use a foreground-tinted overlay rather than a static base-200 surface so
97
- the hover state stays visible even on themes where base-100 / base-200
98
- are nearly the same value (e.g. kouji's deep #0c0c0c / #141414 ramp). */
99
- .kj-button[data-variant="ghost"]:hover {
100
- --kj-button-bg: color-mix(in oklab, var(--kj-fg-default) 10%, transparent);
101
- }
102
-
103
- .kj-button[data-variant="outline"] {
104
- --kj-button-bg: transparent;
105
- --kj-button-fg: var(--kj-fg-default);
106
- --kj-button-border-color: var(--kj-border-default);
107
- }
108
- .kj-button[data-variant="outline"]:hover {
109
- --kj-button-bg: var(--kj-bg-surface);
110
- }
111
-
112
- .kj-button[data-variant="link"] {
113
- --kj-button-bg: transparent;
114
- --kj-button-fg: var(--kj-fg-primary);
115
- --kj-button-padding-x: 0;
116
- --kj-button-padding-y: 0;
117
- /* Link variant is plain underlined text — explicitly null out any
118
- theme-set --kj-button-shadow so kouji/bauhaus offsets don't leak
119
- onto inline text links. Ghost / outline / destructive keep theirs. */
120
- --kj-button-shadow: none;
121
- --kj-button-shadow-hover: none;
122
- --kj-button-shadow-active: none;
123
- text-decoration: underline;
124
- text-underline-offset: 4px;
125
- }
126
- .kj-button[data-variant="link"]:hover {
127
- --kj-button-bg: transparent;
128
- --kj-button-fg: color-mix(in oklch, var(--kj-fg-primary), black 8%);
129
- }
130
-
131
- /* sizes — heights are explicit so flex parents can't stretch the button.
132
- padding-y is kept for the `height: auto` (token-overridden) case and
133
- for visual rhythm with content larger than the height. */
134
- .kj-button[data-size="sm"] {
135
- --kj-button-padding-x: var(--kj-space-sm);
136
- --kj-button-padding-y: 0.25rem;
137
- --kj-button-font-size: 0.8125rem;
138
- --kj-button-height: 2rem; /* 32px */
139
- }
140
- .kj-button[data-size="md"] {
141
- --kj-button-height: 2.25rem; /* 36px */
142
- }
143
- .kj-button[data-size="lg"] {
144
- --kj-button-padding-x: var(--kj-space-lg);
145
- --kj-button-padding-y: 0.625rem;
146
- --kj-button-font-size: 1rem;
147
- --kj-button-height: 2.75rem; /* 44px (AAA touch target) */
148
- }
149
- .kj-button[data-size="xl"] {
150
- --kj-button-padding-x: var(--kj-space-2xl);
151
- --kj-button-padding-y: 0.875rem;
152
- --kj-button-font-size: 1.0625rem;
153
- --kj-button-gap: var(--kj-space-md);
154
- --kj-button-height: 3.25rem; /* 52px */
155
- }
156
- .kj-button[data-size="icon"] {
157
- --kj-button-padding-x: var(--kj-space-sm);
158
- --kj-button-padding-y: var(--kj-space-sm);
159
- --kj-button-height: 2.25rem;
160
- aspect-ratio: 1;
161
- }
162
-
163
- /* Full-width: spans the parent (flex / block / grid track). */
164
- .kj-button[data-full="true"] {
165
- width: 100%;
166
- }
167
-
168
- /* Default-variant hover (catches the unset-or-`default` case). Specificity
169
- here is lower than the variant-specific rules above, so destructive /
170
- ghost / outline / link override correctly.
171
-
172
- Themes can retarget the hover surface by setting
173
- `--kj-button-bg-hover` (and optionally `--kj-button-fg-hover`) on
174
- `[data-theme="X"]`. The fallbacks below preserve the default 8%
175
- darken behaviour for any theme that doesn't customise. Defining the
176
- defaults via `var(name, fallback)` instead of a `--kj-button-bg-hover:`
177
- declaration on `.kj-button` keeps the theme's ancestor declaration
178
- winning the cascade (an element-level default would override the
179
- inherited value from `[data-theme]`). */
180
- .kj-button:hover {
181
- --kj-button-bg: var(--kj-button-bg-hover, color-mix(in oklch, var(--kj-bg-primary), black 8%));
182
- /* Hover lift — themed via --kj-hover-translate. Bauhaus = -4px,
183
- everyone else = -2px (default in :root). */
184
- transform: translateY(var(--kj-button-hover-translate));
185
- }
186
- /* fg-hover only applies to the default variant; ghost/outline/link own
187
- their hover fg already, and destructive keeps its on-danger fg. */
188
- .kj-button[data-variant="default"]:hover {
189
- --kj-button-fg: var(--kj-button-fg-hover, var(--kj-fg-on-primary));
190
- }
191
- /* Shadow application — `default` (primary) variant only. Themes leave
192
- `--kj-button-shadow` unset by default; pages opt in by declaring it
193
- at their scope (landing hero, docs playground stage). Hover/active
194
- fall back to the static shadow so a single declaration is enough. */
195
- .kj-button[data-variant="default"] {
196
- box-shadow: var(--kj-button-shadow, none);
197
- }
198
- .kj-button[data-variant="default"]:hover {
199
- box-shadow: var(--kj-button-shadow-hover, var(--kj-button-shadow, none));
200
- }
201
- .kj-button[data-variant="default"]:active {
202
- box-shadow: var(--kj-button-shadow-active, var(--kj-button-shadow, none));
203
- }
204
- .kj-button:active {
205
- transform: var(--kj-button-translate-active);
206
- }
207
- .kj-button:focus-visible {
208
- outline: 2px solid var(--kj-border-focus);
209
- outline-offset: 2px;
210
- }
211
- .kj-button[aria-disabled="true"] {
212
- opacity: 0.45;
213
- cursor: not-allowed;
214
- pointer-events: none;
215
- }
216
-
217
- /* ── Touch target enforcement (WCAG 2.5.5) ─────────────────────────── */
218
- /* Icon-only buttons have no inline text affordance, so they need the
219
- full 44×44 touch target. The `sm` text variant relies on its label
220
- for the equivalent-inline exception and stays visually small. */
221
- .kj-button[data-size='icon'] {
222
- min-width: 2.75rem; /* 44px */
223
- min-height: 2.75rem; /* 44px */
224
- }
225
-
226
- /* ── Busy / loading state ───────────────────────────────────────────── */
227
- .kj-button[aria-busy='true'] {
228
- /* `opacity` dims the entire button (spinner + bg) uniformly. The
229
- previous rule re-pointed --kj-button-fg at --kj-fg-default, which
230
- on dark themes is the off-white page text — making the spinner
231
- paint white over a yellow primary button. Opacity preserves the
232
- variant's resolved fg so the spinner stays the same colour as
233
- the would-be label. */
234
- opacity: 0.7;
235
- cursor: progress;
236
- }
237
-
238
- /* ── Pressed (toggle) state ─────────────────────────────────────────── */
239
- .kj-button[aria-pressed='true'] {
240
- --kj-button-bg: var(--kj-bg-field);
241
- box-shadow: inset 0 1px 2px rgb(0 0 0 / 0.12);
242
- }
243
-
244
- /* ── Spinner element (placeholder until KjSpinner ships) ─────────────
245
- The wrapper hides <ng-content> while loading and renders only this
246
- spinner, so it should sit centred in the button (the host already
247
- applies `justify-content: var(--kj-button-justify)` = center). No
248
- trailing margin — there's nothing after it to push away. */
249
- .kj-button__spinner {
250
- display: inline-block;
251
- width: 1em;
252
- height: 1em;
253
- vertical-align: -0.125em;
254
- border: 2px solid currentColor;
255
- border-right-color: transparent;
256
- border-radius: 50%;
257
- animation: kj-button-spinner-rotate 0.6s linear infinite;
258
- }
259
- }
260
-
261
- @keyframes kj-button-spinner-rotate {
262
- to { transform: rotate(360deg); }
263
- }
@@ -1,79 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, signal } from '@angular/core';
2
- import { KjButtonComponent } from './button';
3
- import type { PlaygroundFile } from '@kouji-ui/components/playground-types';
4
-
5
- /**
6
- * Playground state — module-scope signals. The demo component reads them via
7
- * its template; the snippet fn reads them via the engine-supplied `values`
8
- * arg; the engine writes them via {@link PLAYGROUND.state}.
9
- */
10
- const variant = signal<'default' | 'destructive' | 'ghost' | 'outline' | 'link'>('default');
11
- const size = signal<'sm' | 'md' | 'lg' | 'icon'>('md');
12
- const label = signal('Click me');
13
- const disabled = signal(false);
14
- const loading = signal(false);
15
- const fullWidth = signal(false);
16
-
17
- @Component({
18
- selector: 'kj-button-playground',
19
- standalone: true,
20
- imports: [KjButtonComponent],
21
- template: `
22
- <kj-button
23
- [kjVariant]="variant()"
24
- [kjSize]="size()"
25
- [kjDisabled]="disabled()"
26
- [kjLoading]="loading()"
27
- [kjFullWidth]="fullWidth()"
28
- >{{ label() }}</kj-button>
29
- `,
30
- changeDetection: ChangeDetectionStrategy.OnPush,
31
- })
32
- export class KjButtonPlaygroundDemo {
33
- protected readonly variant = variant;
34
- protected readonly size = size;
35
- protected readonly label = label;
36
- protected readonly disabled = disabled;
37
- protected readonly loading = loading;
38
- protected readonly fullWidth = fullWidth;
39
- }
40
-
41
- export const PLAYGROUND: PlaygroundFile = {
42
- component: KjButtonPlaygroundDemo,
43
- state: {
44
- variant: variant as unknown as ReturnType<typeof signal>,
45
- size: size as unknown as ReturnType<typeof signal>,
46
- label: label as unknown as ReturnType<typeof signal>,
47
- disabled: disabled as unknown as ReturnType<typeof signal>,
48
- loading: loading as unknown as ReturnType<typeof signal>,
49
- fullWidth: fullWidth as unknown as ReturnType<typeof signal>,
50
- },
51
- controls: [
52
- {
53
- kind: 'chips',
54
- name: 'variant',
55
- label: 'variant',
56
- options: ['default', 'destructive', 'ghost', 'outline', 'link'],
57
- },
58
- { kind: 'chips', name: 'size', label: 'size', options: ['sm', 'md', 'lg', 'icon'] },
59
- { kind: 'text', name: 'label', label: 'label' },
60
- { kind: 'toggle', name: 'disabled', label: 'disabled' },
61
- { kind: 'toggle', name: 'loading', label: 'loading' },
62
- { kind: 'toggle', name: 'fullWidth', label: 'full width' },
63
- ],
64
- snippet: (values) => {
65
- const s = values as {
66
- variant: string;
67
- size: string;
68
- label: string;
69
- disabled: boolean;
70
- loading: boolean;
71
- fullWidth: boolean;
72
- };
73
- const attrs: string[] = [`kjVariant="${s.variant}"`, `kjSize="${s.size}"`];
74
- if (s.disabled) attrs.push('[kjDisabled]="true"');
75
- if (s.loading) attrs.push('[kjLoading]="true"');
76
- if (s.fullWidth) attrs.push('[kjFullWidth]="true"');
77
- return `<kj-button\n ${attrs.join('\n ')}\n>${s.label}</kj-button>`;
78
- },
79
- };
@@ -1,100 +0,0 @@
1
- import { Component, ChangeDetectionStrategy } from '@angular/core';
2
- import { TestBed } from '@angular/core/testing';
3
- import { describe, expect, test, beforeEach } from 'vitest';
4
- import { KjButtonComponent } from './button';
5
-
6
- @Component({
7
- standalone: true,
8
- imports: [KjButtonComponent],
9
- changeDetection: ChangeDetectionStrategy.Eager,
10
- template: `<kj-button
11
- [kjVariant]="variant"
12
- [kjSize]="size"
13
- [kjDisabled]="disabled"
14
- [kjLoading]="loading"
15
- [kjPressed]="pressed"
16
- [kjAriaLabel]="ariaLabel"
17
- >{{ label }}</kj-button
18
- >`,
19
- })
20
- class HostComponent {
21
- variant: string = 'default';
22
- size: string = 'md';
23
- disabled = false;
24
- loading = false;
25
- pressed: boolean | undefined = undefined;
26
- ariaLabel: string | undefined = undefined;
27
- label = 'Click';
28
- }
29
-
30
- describe('KjButtonComponent', () => {
31
- beforeEach(() => {
32
- TestBed.configureTestingModule({ imports: [HostComponent] });
33
- });
34
-
35
- test('renders an inner <button> with the .kj-button class', () => {
36
- const fixture = TestBed.createComponent(HostComponent);
37
- fixture.detectChanges();
38
- expect(fixture.nativeElement.querySelector('button.kj-button')).not.toBeNull();
39
- });
40
-
41
- test('forwards variant via [kjVariant] (data-variant attr)', () => {
42
- const fixture = TestBed.createComponent(HostComponent);
43
- fixture.componentInstance.variant = 'destructive';
44
- fixture.detectChanges();
45
- expect(
46
- fixture.nativeElement.querySelector('button.kj-button').getAttribute('data-variant'),
47
- ).toBe('destructive');
48
- });
49
-
50
- test('forwards size via [kjSize] (data-size attr)', () => {
51
- const fixture = TestBed.createComponent(HostComponent);
52
- fixture.componentInstance.size = 'sm';
53
- fixture.detectChanges();
54
- expect(fixture.nativeElement.querySelector('button.kj-button').getAttribute('data-size')).toBe(
55
- 'sm',
56
- );
57
- });
58
-
59
- test('forwards disabled (aria-disabled attr on inner button)', () => {
60
- const fixture = TestBed.createComponent(HostComponent);
61
- fixture.componentInstance.disabled = true;
62
- fixture.detectChanges();
63
- expect(
64
- fixture.nativeElement.querySelector('button.kj-button').getAttribute('aria-disabled'),
65
- ).toBe('true');
66
- });
67
-
68
- test('forwards loading: aria-busy on inner button + spinner element rendered', () => {
69
- const fixture = TestBed.createComponent(HostComponent);
70
- fixture.componentInstance.loading = true;
71
- fixture.detectChanges();
72
- const btn = fixture.nativeElement.querySelector('button.kj-button');
73
- expect(btn.getAttribute('aria-busy')).toBe('true');
74
- expect(btn.querySelector('.kj-button__spinner')).not.toBeNull();
75
- });
76
-
77
- test('does not render spinner when loading is false', () => {
78
- const fixture = TestBed.createComponent(HostComponent);
79
- fixture.detectChanges();
80
- expect(fixture.nativeElement.querySelector('.kj-button__spinner')).toBeNull();
81
- });
82
-
83
- test('forwards pressed (aria-pressed attr on inner button)', () => {
84
- const fixture = TestBed.createComponent(HostComponent);
85
- fixture.componentInstance.pressed = true;
86
- fixture.detectChanges();
87
- expect(
88
- fixture.nativeElement.querySelector('button.kj-button').getAttribute('aria-pressed'),
89
- ).toBe('true');
90
- });
91
-
92
- test('forwards ariaLabel to the inner button', () => {
93
- const fixture = TestBed.createComponent(HostComponent);
94
- fixture.componentInstance.ariaLabel = 'Save changes';
95
- fixture.detectChanges();
96
- expect(fixture.nativeElement.querySelector('button.kj-button').getAttribute('aria-label')).toBe(
97
- 'Save changes',
98
- );
99
- });
100
- });