@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,301 +0,0 @@
1
- import {
2
- ChangeDetectionStrategy,
3
- Component,
4
- EventEmitter,
5
- OnDestroy,
6
- Output,
7
- ViewChild,
8
- ViewEncapsulation,
9
- booleanAttribute,
10
- computed,
11
- input,
12
- } from '@angular/core';
13
- import {
14
- KjFileUpload,
15
- KjFileUploadDropzone,
16
- KjFileUploadItem,
17
- KjFileUploadList,
18
- KjFileUploadTrigger,
19
- KjFileRejection,
20
- KjUploadableFile,
21
- KjProgressBar,
22
- KjProgressBarFill,
23
- } from '@kouji-ui/core';
24
-
25
- /**
26
- * Styled wrapper for the headless `KjFileUpload` directive family. Renders
27
- * the canonical drop-zone + trigger + per-file list shape so consumers don't
28
- * have to wire the five directives by hand.
29
- *
30
- * The component owns the *visible* shape (drop-zone instructional text,
31
- * file-row layout with thumbnail / name / size / progress / remove). The
32
- * directives still own the state machine, validation, drag-and-drop, ARIA,
33
- * and live-region announcements.
34
- *
35
- * Per-file progress integrates with `KjProgressBar` (composed via the inner
36
- * `<div kjProgressBar>`) for `role="progressbar"` semantics. When the
37
- * consumer wires a real upload (HTTP, signed-URL POST, etc.), they call
38
- * `setFileStatus(id, status, progress)` on the directive ref to drive the
39
- * row through `pending → uploading → done`.
40
- *
41
- * @example
42
- * ```html
43
- * <kj-file-upload kjAccept="image/*" [kjMaxSize]="5_000_000" />
44
- * ```
45
- *
46
- * @doc-example Default (single)
47
- * A single-file picker with a styled drop-zone and a toolbar trigger.
48
- * @doc-file file-upload.example.ts
49
- * @doc-example Usage
50
- * Common upload shapes — single, multiple with image preview, and a wired
51
- * simulated progress lifecycle.
52
- * @doc-file file-upload.usage.example.ts
53
- * @doc-example Multiple
54
- * `[kjMultiple]="true"` accepts a batch and renders one row per file.
55
- * @doc-file file-upload.multiple.example.ts
56
- * @doc-example Drop-zone
57
- * Highlights the drag-and-drop affordance with hint text and an accept-list.
58
- * @doc-file file-upload.dropzone.example.ts
59
- * @doc-example Simulated upload progress
60
- * Drives `pending → uploading → done` via `setFileStatus(id, status, progress)`.
61
- * @doc-file file-upload.with-progress.example.ts
62
- * @doc-example Image preview
63
- * `[kjShowPreview]="true"` renders a thumbnail per image file.
64
- * @doc-file file-upload.image-preview.example.ts
65
- *
66
- * @doc-keyboard
67
- * Tab — Moves focus to the drop-zone, then to the trigger button, then to per-row Remove buttons
68
- * Enter|Space — Activates the drop-zone (opens picker) or the trigger / Remove button
69
- *
70
- * @doc-aria
71
- * role="button" — Set on the drop-zone for keyboard activation
72
- * aria-label — Drop-zone reads from [kjDropzoneLabel]; Remove buttons read "Remove <filename> from list"
73
- * aria-live — Selection, rejection, and removal are announced via a polite live region
74
- * role="progressbar"— Per-file progress row when [progress()] is non-null
75
- * data-status — Mirrors the row's status (preparing/pending/uploading/done/error/cancelled)
76
- *
77
- * @doc-touch
78
- * Drop-zone and trigger render at ≥ 44×44 px to satisfy WCAG 2.5.5. The
79
- * per-row Remove button uses default `kj-button` chrome — keep it at `md`
80
- * or larger when it is the primary touch target.
81
- *
82
- * @doc-a11y
83
- * `KjFileUpload` owns the state machine (selection, validation, drag-and-drop,
84
- * live announcements). The wrapper provides the visible shape but never
85
- * re-implements the directive's `aria-*` plumbing. Always pair the drop-zone
86
- * with an explicit `[kjDropzoneLabel]` — that string is both the heading and
87
- * the accessible name.
88
- *
89
- * @doc-css-var
90
- * --kj-file-upload-bg — Background fill of the drop-zone surface.
91
- * --kj-file-upload-fg — Foreground (text) color inside the upload.
92
- * --kj-file-upload-border-color — Drop-zone border color. Drag-over and invalid retarget this.
93
- * --kj-file-upload-border-style — Drop-zone border style. Defaults to dashed.
94
- * --kj-file-upload-border-width — Drop-zone border thickness. Inherits --kj-border.
95
- * --kj-file-upload-radius — Drop-zone corner radius. Inherits --kj-radius-field.
96
- * --kj-file-upload-padding — Padding inside the drop-zone.
97
- * --kj-file-upload-row-bg — Background fill for each per-file row.
98
- * --kj-file-upload-row-border-color — Border color between rows in the list.
99
- * --kj-file-upload-row-padding-x — Horizontal padding inside each row.
100
- * --kj-file-upload-row-padding-y — Vertical padding inside each row.
101
- * --kj-file-upload-thumb-size — Thumbnail square size for image previews.
102
- * --kj-file-upload-thumb-radius — Thumbnail corner radius.
103
- *
104
- * @doc-related field,input,progress-bar
105
- *
106
- * @doc-category Library/Data input
107
- * @doc
108
- * @doc-name file-upload
109
- * @doc-description Themed file picker with drag-and-drop, multi-file list, per-row progress, image previews, and rejection.
110
- * @doc-is-main
111
- */
112
- @Component({
113
- selector: 'kj-file-upload',
114
- standalone: true,
115
- imports: [
116
- KjFileUpload,
117
- KjFileUploadTrigger,
118
- KjFileUploadDropzone,
119
- KjFileUploadList,
120
- KjFileUploadItem,
121
- KjProgressBar,
122
- KjProgressBarFill,
123
- ],
124
- template: `
125
- <div
126
- kjFileUpload
127
- #upload="kjFileUpload"
128
- class="kj-file-upload"
129
- [kjAccept]="kjAccept()"
130
- [kjMultiple]="kjMultiple()"
131
- [kjMaxSize]="kjMaxSize()"
132
- [kjMaxFiles]="kjMaxFiles()"
133
- [kjDisabled]="kjDisabled()"
134
- (kjSelect)="kjSelect.emit($event)"
135
- (kjReject)="kjReject.emit($event)"
136
- (kjRemove)="kjRemove.emit($event)"
137
- >
138
- @if (kjShowDropzone()) {
139
- <div kjFileUploadDropzone class="kj-file-upload__dropzone" [kjLabel]="kjDropzoneLabel()">
140
- <strong>{{ kjDropzoneLabel() }}</strong>
141
- @if (kjDropzoneHint()) {
142
- <span class="kj-file-upload__dropzone-hint">{{ kjDropzoneHint() }}</span>
143
- }
144
- </div>
145
- }
146
- <div class="kj-file-upload__toolbar">
147
- <button
148
- kjFileUploadTrigger
149
- type="button"
150
- class="kj-file-upload__trigger"
151
- >
152
- {{ kjTriggerLabel() }}
153
- </button>
154
- <ng-content select="[kj-file-upload-actions]" />
155
- </div>
156
-
157
- <ul kjFileUploadList class="kj-file-upload__list">
158
- @for (f of upload.files(); track f.id) {
159
- <li
160
- kjFileUploadItem
161
- #row="kjFileUploadItem"
162
- [kjFile]="f"
163
- class="kj-file-upload__row"
164
- >
165
- @if (kjShowPreview() && isImage(f.file)) {
166
- <img
167
- class="kj-file-upload__thumb"
168
- [src]="previewUrl(f)"
169
- [alt]="f.file.name"
170
- />
171
- }
172
- <div class="kj-file-upload__row-body">
173
- <div class="kj-file-upload__row-meta">
174
- <span class="kj-file-upload__row-name" [attr.aria-label]="f.file.name">
175
- {{ f.file.name }}
176
- </span>
177
- <span class="kj-file-upload__row-size">{{ formatSize(f.file.size) }}</span>
178
- </div>
179
- @if (row.progress() !== null) {
180
- <div
181
- kjProgressBar
182
- [kjValue]="row.progress() ?? 0"
183
- class="kj-file-upload__progress"
184
- [attr.aria-label]="'Upload progress for ' + f.file.name"
185
- >
186
- <div kjProgressBarFill class="kj-progress-bar__fill"></div>
187
- </div>
188
- }
189
- <span class="kj-file-upload__row-status">
190
- {{ statusLabel(row.status()) }}
191
- @if (f.error) {
192
- — {{ f.error }}
193
- }
194
- </span>
195
- </div>
196
- <div class="kj-file-upload__row-actions">
197
- <span
198
- class="kj-file-upload__row-icon"
199
- [attr.data-status]="row.status()"
200
- [attr.aria-hidden]="'true'"
201
- ></span>
202
- <button
203
- type="button"
204
- class="kj-file-upload__remove"
205
- (click)="row.remove()"
206
- [attr.aria-label]="'Remove ' + f.file.name + ' from list'"
207
- >
208
- Remove
209
- </button>
210
- </div>
211
- </li>
212
- }
213
- </ul>
214
- </div>
215
- `,
216
- styleUrl: './file-upload.css',
217
- encapsulation: ViewEncapsulation.None,
218
- host: { 'style': 'display: contents;' },
219
- changeDetection: ChangeDetectionStrategy.OnPush,
220
- })
221
- export class KjFileUploadComponent implements OnDestroy {
222
- /** MIME / extension list for the picker. */
223
- readonly kjAccept = input<string>('');
224
-
225
- /** Multiple files. Default `true`. */
226
- readonly kjMultiple = input(true, { transform: booleanAttribute });
227
-
228
- /** Maximum bytes per file. */
229
- readonly kjMaxSize = input<number>(Number.POSITIVE_INFINITY);
230
-
231
- /** Total file count cap. */
232
- readonly kjMaxFiles = input<number>(Number.POSITIVE_INFINITY);
233
-
234
- /** Disables the entire control. */
235
- readonly kjDisabled = input(false, { transform: booleanAttribute });
236
-
237
- /** Whether to render the drop-zone (turn off for compact layouts). Default `true`. */
238
- readonly kjShowDropzone = input(true, { transform: booleanAttribute });
239
-
240
- /** Drop-zone accessible name + visible heading. */
241
- readonly kjDropzoneLabel = input<string>('Drag files here, or click to browse');
242
-
243
- /** Optional secondary hint inside the drop-zone (e.g. "PNG / JPG up to 5 MB"). */
244
- readonly kjDropzoneHint = input<string>('');
245
-
246
- /** Label for the toolbar trigger button. */
247
- readonly kjTriggerLabel = input<string>('Choose files');
248
-
249
- /** When `true`, image rows render an `<img>` thumbnail via `URL.createObjectURL`. */
250
- readonly kjShowPreview = input(false, { transform: booleanAttribute });
251
-
252
- @Output() readonly kjSelect = new EventEmitter<File[]>();
253
- @Output() readonly kjReject = new EventEmitter<KjFileRejection[]>();
254
- @Output() readonly kjRemove = new EventEmitter<KjUploadableFile>();
255
-
256
- /** Direct access to the underlying directive — consumers drive simulated uploads via this. */
257
- @ViewChild(KjFileUpload, { static: true }) readonly upload!: KjFileUpload;
258
-
259
- // ─── View helpers ───
260
- protected readonly isImage = (file: File): boolean => /^image\//.test(file.type);
261
-
262
- /** Cache so `URL.createObjectURL` isn't called repeatedly per change-detection. */
263
- private readonly previewCache = new Map<string, string>();
264
-
265
- protected previewUrl(f: KjUploadableFile): string {
266
- let url = this.previewCache.get(f.id);
267
- if (!url) {
268
- url = URL.createObjectURL(f.file);
269
- this.previewCache.set(f.id, url);
270
- }
271
- return url;
272
- }
273
-
274
- protected formatSize(bytes: number): string {
275
- if (bytes < 1024) return `${bytes} B`;
276
- if (bytes < 1024 * 1024) return `${(bytes / 1024).toFixed(1)} KB`;
277
- if (bytes < 1024 * 1024 * 1024) return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
278
- return `${(bytes / (1024 * 1024 * 1024)).toFixed(2)} GB`;
279
- }
280
-
281
- protected statusLabel(status: string): string {
282
- switch (status) {
283
- case 'preparing': return 'Preparing';
284
- case 'pending': return 'Ready';
285
- case 'uploading': return 'Uploading';
286
- case 'done': return 'Done';
287
- case 'error': return 'Error';
288
- case 'cancelled': return 'Cancelled';
289
- default: return status;
290
- }
291
- }
292
-
293
- ngOnDestroy(): void {
294
- for (const url of this.previewCache.values()) URL.revokeObjectURL(url);
295
- this.previewCache.clear();
296
- }
297
-
298
- // Expose the most-useful imperative bits for the simulated-upload examples.
299
- /** @internal */
300
- readonly files = computed(() => this.upload?.files() ?? []);
301
- }
@@ -1,45 +0,0 @@
1
- import { ChangeDetectionStrategy, Component } from '@angular/core';
2
- import { KjFileUploadComponent } from './file-upload';
3
-
4
- /**
5
- * Common upload shapes: a single-file picker with hint text and an
6
- * image-only multi-file picker with previews. Copy-paste starting point for
7
- * upload screens.
8
- */
9
- @Component({
10
- selector: 'kj-file-upload-usage-example',
11
- standalone: true,
12
- changeDetection: ChangeDetectionStrategy.OnPush,
13
- imports: [KjFileUploadComponent],
14
- styles: [`
15
- :host { display: flex; flex-direction: column; gap: var(--kj-space-lg); }
16
- h4 { margin: 0; font: 600 var(--kj-text-sm)/1.4 var(--kj-font-sans); color: var(--kj-fg-muted); }
17
- `],
18
- template: `
19
- <section>
20
- <h4>Single resume</h4>
21
- <kj-file-upload
22
- [kjMultiple]="false"
23
- kjAccept=".pdf,.doc,.docx"
24
- [kjMaxSize]="2_000_000"
25
- kjDropzoneLabel="Drop your resume here, or click to browse"
26
- kjDropzoneHint="PDF or Word, up to 2 MB"
27
- kjTriggerLabel="Choose resume"
28
- />
29
- </section>
30
-
31
- <section>
32
- <h4>Photo gallery</h4>
33
- <kj-file-upload
34
- kjAccept="image/*"
35
- [kjMaxSize]="5_000_000"
36
- [kjMaxFiles]="6"
37
- [kjShowPreview]="true"
38
- kjDropzoneLabel="Drop images here, or click to browse"
39
- kjDropzoneHint="PNG / JPG up to 5 MB each — max 6 files"
40
- kjTriggerLabel="Add photos"
41
- />
42
- </section>
43
- `,
44
- })
45
- export class KjFileUploadUsageExample {}
@@ -1 +0,0 @@
1
- export * from './file-upload';
@@ -1,72 +0,0 @@
1
- import { Component, signal, ChangeDetectionStrategy } from '@angular/core';
2
- import { FormControl, FormGroup, ReactiveFormsModule, Validators } from '@angular/forms';
3
- import { KjButtonComponent } from '../../button/button';
4
- import { KjFieldComponent, KjFieldLabelComponent } from '../../field/field';
5
- import { KjInputComponent } from '../../input/input';
6
- import { KjFormActionsComponent, KjFormComponent } from '../form';
7
-
8
- /**
9
- * Async submit example — the handler returns a Promise, so `<form kj-form>`
10
- * reflects `aria-busy` / `data-submitting` for the lifetime of the work.
11
- * `kjResetOnSuccess` clears the form after the simulated request.
12
- */
13
- @Component({
14
- selector: 'kj-form-async-submit-example',
15
- standalone: true,
16
- imports: [
17
- KjFormComponent,
18
- KjFormActionsComponent,
19
- KjFieldComponent,
20
- KjFieldLabelComponent,
21
- KjInputComponent,
22
- KjButtonComponent,
23
- ReactiveFormsModule,
24
- ],
25
- styles: [
26
- `
27
- :host {
28
- display: block;
29
- }
30
- .status {
31
- font-size: 0.8125rem;
32
- opacity: 0.7;
33
- margin-top: 0.5rem;
34
- }
35
- `,
36
- ],
37
- changeDetection: ChangeDetectionStrategy.Eager,
38
- template: `
39
- <form kj-form [formGroup]="form" [kjAsyncSubmit]="submitHandler" kjResetOnSuccess>
40
- <kj-field>
41
- <kj-field-label>Title</kj-field-label>
42
- <kj-input type="text" formControlName="title" />
43
- </kj-field>
44
- <kj-field>
45
- <kj-field-label>Body</kj-field-label>
46
- <kj-input type="text" formControlName="body" />
47
- </kj-field>
48
-
49
- <kj-form-actions>
50
- <kj-button kjType="submit" [kjLoading]="busy()">Publish</kj-button>
51
- </kj-form-actions>
52
- </form>
53
-
54
- <p class="status">Last status: {{ status() }}</p>
55
- `,
56
- })
57
- export class KjFormAsyncSubmitExample {
58
- readonly form = new FormGroup({
59
- title: new FormControl('', [Validators.required]),
60
- body: new FormControl('', [Validators.required]),
61
- });
62
- readonly busy = signal(false);
63
- readonly status = signal('idle');
64
-
65
- readonly submitHandler = async (value: unknown): Promise<void> => {
66
- this.busy.set(true);
67
- this.status.set('publishing…');
68
- await new Promise((resolve) => setTimeout(resolve, 1500));
69
- this.status.set(`published ${JSON.stringify(value)}`);
70
- this.busy.set(false);
71
- };
72
- }
@@ -1,93 +0,0 @@
1
- import { Component, signal, ChangeDetectionStrategy } from '@angular/core';
2
- import { FormControl, FormGroup, ReactiveFormsModule, Validators } from '@angular/forms';
3
- import { KjButtonComponent } from '../../button/button';
4
- import { KjFieldComponent, KjFieldLabelComponent } from '../../field/field';
5
- import { KjInputComponent } from '../../input/input';
6
- import { KjFormActionsComponent, KjFormComponent, KjFormSummaryComponent } from '../form';
7
-
8
- /**
9
- * Compound form — multiple `FormGroup` sections (account + address) inside a
10
- * single `<form kj-form>`. Demonstrates that the focus-on-first-error
11
- * tree-walk descends into nested groups and the error summary lists nested
12
- * fields by their dotted path.
13
- */
14
- @Component({
15
- selector: 'kj-form-compound-example',
16
- standalone: true,
17
- imports: [
18
- KjFormComponent,
19
- KjFormActionsComponent,
20
- KjFormSummaryComponent,
21
- KjFieldComponent,
22
- KjFieldLabelComponent,
23
- KjInputComponent,
24
- KjButtonComponent,
25
- ReactiveFormsModule,
26
- ],
27
- styles: [
28
- `
29
- :host {
30
- display: block;
31
- }
32
- .group {
33
- display: flex;
34
- flex-direction: column;
35
- gap: 0.5rem;
36
- padding: var(--kj-space-md);
37
- border: 1px solid var(--kj-border-default);
38
- border-radius: 0.5rem;
39
- }
40
- .group h3 {
41
- margin: 0;
42
- font-size: 0.875rem;
43
- }
44
- `,
45
- ],
46
- changeDetection: ChangeDetectionStrategy.Eager,
47
- template: `
48
- <form kj-form [formGroup]="form" (kjSubmit)="lastValue.set($event)">
49
- <kj-form-summary />
50
-
51
- <fieldset class="group" formGroupName="account">
52
- <h3>Account</h3>
53
- <kj-field>
54
- <kj-field-label>Username</kj-field-label>
55
- <kj-input type="text" formControlName="username" />
56
- </kj-field>
57
- <kj-field>
58
- <kj-field-label>Email</kj-field-label>
59
- <kj-input type="email" formControlName="email" />
60
- </kj-field>
61
- </fieldset>
62
-
63
- <fieldset class="group" formGroupName="address">
64
- <h3>Address</h3>
65
- <kj-field>
66
- <kj-field-label>Street</kj-field-label>
67
- <kj-input type="text" formControlName="street" />
68
- </kj-field>
69
- <kj-field>
70
- <kj-field-label>City</kj-field-label>
71
- <kj-input type="text" formControlName="city" />
72
- </kj-field>
73
- </fieldset>
74
-
75
- <kj-form-actions>
76
- <kj-button kjType="submit">Create account</kj-button>
77
- </kj-form-actions>
78
- </form>
79
- `,
80
- })
81
- export class KjFormCompoundExample {
82
- readonly form = new FormGroup({
83
- account: new FormGroup({
84
- username: new FormControl('', [Validators.required]),
85
- email: new FormControl('', [Validators.required, Validators.email]),
86
- }),
87
- address: new FormGroup({
88
- street: new FormControl('', [Validators.required]),
89
- city: new FormControl('', [Validators.required]),
90
- }),
91
- });
92
- readonly lastValue = signal<unknown>(null);
93
- }
@@ -1,70 +0,0 @@
1
- import { JsonPipe } from '@angular/common';
2
- import { Component, signal, ChangeDetectionStrategy } from '@angular/core';
3
- import { FormControl, FormGroup, ReactiveFormsModule, Validators } from '@angular/forms';
4
- import { KjButtonComponent } from '../../button/button';
5
- import { KjFieldComponent, KjFieldLabelComponent } from '../../field/field';
6
- import { KjInputComponent } from '../../input/input';
7
- import { KjFormActionsComponent, KjFormComponent } from '../form';
8
-
9
- /**
10
- * Default `<form kj-form>` usage — a small login form with email + password.
11
- * Demonstrates `(kjSubmit)` (only fires when valid), the auto submit-button
12
- * coordination, and the focus-on-first-error behaviour out of the box.
13
- */
14
- @Component({
15
- selector: 'kj-form-example',
16
- standalone: true,
17
- imports: [
18
- KjFormComponent,
19
- KjFormActionsComponent,
20
- KjFieldComponent,
21
- KjFieldLabelComponent,
22
- KjInputComponent,
23
- KjButtonComponent,
24
- ReactiveFormsModule,
25
- JsonPipe,
26
- ],
27
- styles: [
28
- `
29
- :host {
30
- display: block;
31
- }
32
- .submitted {
33
- font-size: 0.8125rem;
34
- opacity: 0.7;
35
- margin-top: 0.5rem;
36
- }
37
- `,
38
- ],
39
- changeDetection: ChangeDetectionStrategy.Eager,
40
- template: `
41
- <form kj-form [formGroup]="form" (kjSubmit)="onSubmit($event)">
42
- <kj-field>
43
- <kj-field-label>Email</kj-field-label>
44
- <kj-input type="email" formControlName="email" placeholder="you@example.com" />
45
- </kj-field>
46
- <kj-field>
47
- <kj-field-label>Password</kj-field-label>
48
- <kj-input type="password" formControlName="password" />
49
- </kj-field>
50
- <kj-form-actions>
51
- <kj-button kjType="submit">Sign in</kj-button>
52
- </kj-form-actions>
53
- </form>
54
-
55
- @if (lastValue()) {
56
- <p class="submitted">Submitted: {{ lastValue() | json }}</p>
57
- }
58
- `,
59
- })
60
- export class KjFormExample {
61
- readonly form = new FormGroup({
62
- email: new FormControl('', [Validators.required, Validators.email]),
63
- password: new FormControl('', [Validators.required]),
64
- });
65
- readonly lastValue = signal<unknown>(null);
66
-
67
- onSubmit(value: unknown): void {
68
- this.lastValue.set(value);
69
- }
70
- }
@@ -1,67 +0,0 @@
1
- import { Component, ChangeDetectionStrategy } from '@angular/core';
2
- import { FormControl, FormGroup, ReactiveFormsModule, Validators } from '@angular/forms';
3
- import { KjButtonComponent } from '../../button/button';
4
- import { KjFieldComponent, KjFieldLabelComponent } from '../../field/field';
5
- import { KjInputComponent } from '../../input/input';
6
- import { KjFormActionsComponent, KjFormComponent, KjFormSummaryComponent } from '../form';
7
-
8
- /**
9
- * Validation example — submitting an empty form populates the
10
- * `<kj-form-summary>` companion with the list of invalid fields, focuses the
11
- * first invalid input, and announces the count politely-but-assertively.
12
- */
13
- @Component({
14
- selector: 'kj-form-validation-example',
15
- standalone: true,
16
- imports: [
17
- KjFormComponent,
18
- KjFormActionsComponent,
19
- KjFormSummaryComponent,
20
- KjFieldComponent,
21
- KjFieldLabelComponent,
22
- KjInputComponent,
23
- KjButtonComponent,
24
- ReactiveFormsModule,
25
- ],
26
- styles: [
27
- `
28
- :host {
29
- display: block;
30
- }
31
- `,
32
- ],
33
- changeDetection: ChangeDetectionStrategy.Eager,
34
- template: `
35
- <form kj-form [formGroup]="form" (kjSubmit)="onSubmit()">
36
- <kj-form-summary />
37
-
38
- <kj-field>
39
- <kj-field-label>Full name</kj-field-label>
40
- <kj-input type="text" formControlName="name" />
41
- </kj-field>
42
- <kj-field>
43
- <kj-field-label>Email</kj-field-label>
44
- <kj-input type="email" formControlName="email" />
45
- </kj-field>
46
- <kj-field>
47
- <kj-field-label>Phone</kj-field-label>
48
- <kj-input type="tel" formControlName="phone" />
49
- </kj-field>
50
-
51
- <kj-form-actions>
52
- <kj-button kjType="submit">Continue</kj-button>
53
- </kj-form-actions>
54
- </form>
55
- `,
56
- })
57
- export class KjFormValidationExample {
58
- readonly form = new FormGroup({
59
- name: new FormControl('', [Validators.required]),
60
- email: new FormControl('', [Validators.required, Validators.email]),
61
- phone: new FormControl('', [Validators.required]),
62
- });
63
-
64
- onSubmit(): void {
65
- /* no-op for the doc example */
66
- }
67
- }
@@ -1,6 +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 { KjFormAsyncSubmitExample } from './form.async-submit.example';
4
- export { KjFormCompoundExample } from './form.compound.example';
5
- export { KjFormExample } from './form.example';
6
- export { KjFormValidationExample } from './form.validation.example';