@tcn/ui 0.0.2 → 0.0.4

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 (400) hide show
  1. package/dist/actions/button/base_button/base_button.js +8 -8
  2. package/dist/actions/button/base_button/base_button.js.map +1 -1
  3. package/dist/actions/button/button/button.d.ts.map +1 -1
  4. package/dist/actions/button/button/button.js +13 -5
  5. package/dist/actions/button/button/button.js.map +1 -1
  6. package/dist/actions/button/button_group/button_group.d.ts.map +1 -1
  7. package/dist/actions/button/button_group/button_group.js +2 -5
  8. package/dist/actions/button/button_group/button_group.js.map +1 -1
  9. package/dist/actions/button/select_group/select_group.js +7 -7
  10. package/dist/actions/button/select_group/select_group.js.map +1 -1
  11. package/dist/actions/button/slim_button/slim_button.d.ts.map +1 -1
  12. package/dist/actions/button/slim_button/slim_button.js +4 -4
  13. package/dist/actions/button/slim_button/slim_button.js.map +1 -1
  14. package/dist/feedback/progress/progress_bar.js +1 -1
  15. package/dist/form/field/common/field_control/field_control.js +6 -6
  16. package/dist/form/field/common/field_control/field_control.js.map +1 -1
  17. package/dist/form/field/common/field_description.js +1 -1
  18. package/dist/form/field/common/field_error.js +3 -4
  19. package/dist/form/field/common/field_error.js.map +1 -1
  20. package/dist/form/field/common/field_header.js +8 -8
  21. package/dist/form/field/common/field_header.js.map +1 -1
  22. package/dist/form/field/common/field_label.js +1 -1
  23. package/dist/form/field/common/status_input/status_input.d.ts.map +1 -1
  24. package/dist/form/field/common/status_input/status_input.js +9 -15
  25. package/dist/form/field/common/status_input/status_input.js.map +1 -1
  26. package/dist/form/field/h_field/h_field.d.ts.map +1 -1
  27. package/dist/form/field/h_field/h_field.js +9 -9
  28. package/dist/form/field/h_field/h_field.js.map +1 -1
  29. package/dist/form/field/v_field/v_field.d.ts.map +1 -1
  30. package/dist/form/field/v_field/v_field.js +8 -8
  31. package/dist/form/field/v_field/v_field.js.map +1 -1
  32. package/dist/form/field_presenters/options_field_presenter.d.ts.map +1 -1
  33. package/dist/form/field_presenters/options_field_presenter.js.map +1 -1
  34. package/dist/form/field_set/field_set.d.ts.map +1 -1
  35. package/dist/form/field_set/field_set.js +12 -19
  36. package/dist/form/field_set/field_set.js.map +1 -1
  37. package/dist/form/form_field.d.ts.map +1 -1
  38. package/dist/form/form_field.js.map +1 -1
  39. package/dist/form/index.d.ts +14 -11
  40. package/dist/form/index.d.ts.map +1 -1
  41. package/dist/form/index.js +27 -20
  42. package/dist/form/index.js.map +1 -1
  43. package/dist/h_body.css +1 -1
  44. package/dist/inputs/checkbox/checkbox.js +12 -12
  45. package/dist/inputs/checkbox/checkbox.js.map +1 -1
  46. package/dist/inputs/color_input/color_input.d.ts.map +1 -1
  47. package/dist/inputs/color_input/color_input.js +13 -17
  48. package/dist/inputs/color_input/color_input.js.map +1 -1
  49. package/dist/inputs/color_input/color_picker.js +6 -6
  50. package/dist/inputs/color_input/color_picker.js.map +1 -1
  51. package/dist/inputs/combo_box/combo_box.js +15 -15
  52. package/dist/inputs/combo_box/combo_box.js.map +1 -1
  53. package/dist/inputs/date_picker/date_picker.js +6 -6
  54. package/dist/inputs/date_picker/date_picker.js.map +1 -1
  55. package/dist/inputs/date_picker/date_picker_date.js +13 -13
  56. package/dist/inputs/date_picker/date_picker_date.js.map +1 -1
  57. package/dist/inputs/date_picker/date_picker_day.js +1 -1
  58. package/dist/inputs/date_picker/date_picker_header.js +24 -24
  59. package/dist/inputs/date_picker/date_picker_header.js.map +1 -1
  60. package/dist/inputs/date_picker/date_picker_input.js +19 -19
  61. package/dist/inputs/date_picker/date_picker_input.js.map +1 -1
  62. package/dist/inputs/date_picker/date_picker_time_selector.d.ts.map +1 -1
  63. package/dist/inputs/date_picker/date_picker_time_selector.js +6 -9
  64. package/dist/inputs/date_picker/date_picker_time_selector.js.map +1 -1
  65. package/dist/inputs/date_picker/date_picker_year_input.js +3 -3
  66. package/dist/inputs/date_picker/date_picker_year_input.js.map +1 -1
  67. package/dist/inputs/date_picker/date_picker_year_selector.d.ts.map +1 -1
  68. package/dist/inputs/date_picker/date_picker_year_selector.js +18 -24
  69. package/dist/inputs/date_picker/date_picker_year_selector.js.map +1 -1
  70. package/dist/inputs/input/input.js +4 -4
  71. package/dist/inputs/input/input.js.map +1 -1
  72. package/dist/inputs/multi_combo_box/multi_combo_box.js +1 -1
  73. package/dist/inputs/multi_combo_box/multi_combo_box.js.map +1 -1
  74. package/dist/inputs/multiselect/multiselect_values.js +8 -8
  75. package/dist/inputs/multiselect/multiselect_values.js.map +1 -1
  76. package/dist/inputs/phone_number_input/phone_number_input.d.ts.map +1 -1
  77. package/dist/inputs/phone_number_input/phone_number_input.js +28 -31
  78. package/dist/inputs/phone_number_input/phone_number_input.js.map +1 -1
  79. package/dist/inputs/radio/radio.js +14 -14
  80. package/dist/inputs/radio/radio.js.map +1 -1
  81. package/dist/inputs/select/select.js +16 -16
  82. package/dist/inputs/select/select.js.map +1 -1
  83. package/dist/inputs/slider/slider.js +7 -7
  84. package/dist/inputs/slider/slider.js.map +1 -1
  85. package/dist/inputs/suggestions/suggestion_item.js +3 -3
  86. package/dist/inputs/suggestions/suggestion_item.js.map +1 -1
  87. package/dist/inputs/suggestions/suggestion_list.js +8 -8
  88. package/dist/inputs/suggestions/suggestion_list.js.map +1 -1
  89. package/dist/inputs/switch/switch.js +14 -14
  90. package/dist/inputs/switch/switch.js.map +1 -1
  91. package/dist/inputs/textarea/textarea.js +6 -6
  92. package/dist/inputs/textarea/textarea.js.map +1 -1
  93. package/dist/inputs/unit_input/unit_input.js +5 -5
  94. package/dist/inputs/unit_input/unit_input.js.map +1 -1
  95. package/dist/layouts/body/h_body.d.ts.map +1 -1
  96. package/dist/layouts/body/h_body.js +12 -11
  97. package/dist/layouts/body/h_body.js.map +1 -1
  98. package/dist/layouts/body/v_body.d.ts.map +1 -1
  99. package/dist/layouts/body/v_body.js +11 -10
  100. package/dist/layouts/body/v_body.js.map +1 -1
  101. package/dist/layouts/column/column.js +16 -16
  102. package/dist/layouts/column/column.js.map +1 -1
  103. package/dist/layouts/divider/divider.d.ts +2 -2
  104. package/dist/layouts/divider/divider.d.ts.map +1 -1
  105. package/dist/layouts/divider/divider.js +22 -21
  106. package/dist/layouts/divider/divider.js.map +1 -1
  107. package/dist/layouts/footer/footer.d.ts +1 -1
  108. package/dist/layouts/footer/footer.d.ts.map +1 -1
  109. package/dist/layouts/footer/footer.js +10 -10
  110. package/dist/layouts/footer/footer.js.map +1 -1
  111. package/dist/layouts/grid/grid.d.ts.map +1 -1
  112. package/dist/layouts/grid/grid.js +22 -31
  113. package/dist/layouts/grid/grid.js.map +1 -1
  114. package/dist/layouts/header/header.d.ts +1 -1
  115. package/dist/layouts/header/header.d.ts.map +1 -1
  116. package/dist/layouts/header/header.js +20 -20
  117. package/dist/layouts/header/header.js.map +1 -1
  118. package/dist/layouts/list/item.js +6 -6
  119. package/dist/layouts/list/item.js.map +1 -1
  120. package/dist/layouts/list/list.js +6 -6
  121. package/dist/layouts/list/list.js.map +1 -1
  122. package/dist/layouts/sidebar_end/sidebar_end.js +15 -15
  123. package/dist/layouts/sidebar_end/sidebar_end.js.map +1 -1
  124. package/dist/layouts/sidebar_start/sidebar_start.js +16 -16
  125. package/dist/layouts/sidebar_start/sidebar_start.js.map +1 -1
  126. package/dist/layouts/utility_bar/utility_bar.d.ts +1 -1
  127. package/dist/layouts/utility_bar/utility_bar.d.ts.map +1 -1
  128. package/dist/layouts/utility_bar/utility_bar.js +20 -15
  129. package/dist/layouts/utility_bar/utility_bar.js.map +1 -1
  130. package/dist/modal.css +1 -1
  131. package/dist/overlay/menu/menu.js +8 -8
  132. package/dist/overlay/menu/menu.js.map +1 -1
  133. package/dist/overlay/tooltip/tooltip.js +10 -10
  134. package/dist/overlay/tooltip/tooltip.js.map +1 -1
  135. package/dist/panel.css +1 -1
  136. package/dist/panel.module-DwGKncon.js +5 -0
  137. package/dist/panel.module-DwGKncon.js.map +1 -0
  138. package/dist/stack.css +1 -1
  139. package/dist/stacks/box/bottom_resize_handle.js +9 -9
  140. package/dist/stacks/box/bottom_resize_handle.js.map +1 -1
  141. package/dist/stacks/box/box.js +42 -42
  142. package/dist/stacks/box/box.js.map +1 -1
  143. package/dist/stacks/box/end_resize_handle.js +6 -6
  144. package/dist/stacks/box/end_resize_handle.js.map +1 -1
  145. package/dist/stacks/box/left_resize_handle.js +3 -3
  146. package/dist/stacks/box/left_resize_handle.js.map +1 -1
  147. package/dist/stacks/box/right_resize_handle.js +8 -8
  148. package/dist/stacks/box/right_resize_handle.js.map +1 -1
  149. package/dist/stacks/box/start_resize_handle.js +7 -7
  150. package/dist/stacks/box/start_resize_handle.js.map +1 -1
  151. package/dist/stacks/box/top_resize_handle.js +8 -8
  152. package/dist/stacks/box/top_resize_handle.js.map +1 -1
  153. package/dist/stacks/h_collapsible_box.js +5 -5
  154. package/dist/stacks/h_collapsible_box.js.map +1 -1
  155. package/dist/stacks/h_stack.js +26 -26
  156. package/dist/stacks/h_stack.js.map +1 -1
  157. package/dist/stacks/spacer.js +5 -5
  158. package/dist/stacks/spacer.js.map +1 -1
  159. package/dist/stacks/story_components/circle.js +6 -6
  160. package/dist/stacks/story_components/circle.js.map +1 -1
  161. package/dist/stacks/story_components/picture_placeholder.js +8 -8
  162. package/dist/stacks/story_components/picture_placeholder.js.map +1 -1
  163. package/dist/stacks/story_components/rect.js +11 -11
  164. package/dist/stacks/story_components/rect.js.map +1 -1
  165. package/dist/stacks/types/styles.d.ts +2 -2
  166. package/dist/stacks/types/styles.d.ts.map +1 -1
  167. package/dist/stacks/v_collapsible_box.js +8 -8
  168. package/dist/stacks/v_collapsible_box.js.map +1 -1
  169. package/dist/stacks/v_stack.js +35 -35
  170. package/dist/stacks/v_stack.js.map +1 -1
  171. package/dist/stacks/z_stack.js +34 -34
  172. package/dist/stacks/z_stack.js.map +1 -1
  173. package/dist/surfaces/alert/alert.js +8 -8
  174. package/dist/surfaces/alert/alert.js.map +1 -1
  175. package/dist/surfaces/card/card.js +8 -8
  176. package/dist/surfaces/card/card.js.map +1 -1
  177. package/dist/surfaces/confirm/confirm.d.ts.map +1 -1
  178. package/dist/surfaces/confirm/confirm.js +13 -20
  179. package/dist/surfaces/confirm/confirm.js.map +1 -1
  180. package/dist/surfaces/drawers/drawer_bottom/drawer_bottom.js +5 -5
  181. package/dist/surfaces/drawers/drawer_bottom/drawer_bottom.js.map +1 -1
  182. package/dist/surfaces/drawers/drawer_end/drawer_end.js +8 -8
  183. package/dist/surfaces/drawers/drawer_end/drawer_end.js.map +1 -1
  184. package/dist/surfaces/drawers/drawer_start/drawer_start.js +4 -4
  185. package/dist/surfaces/drawers/drawer_start/drawer_start.js.map +1 -1
  186. package/dist/surfaces/drawers/drawer_top/drawer_top.js +4 -4
  187. package/dist/surfaces/drawers/drawer_top/drawer_top.js.map +1 -1
  188. package/dist/surfaces/modal/modal.d.ts +2 -4
  189. package/dist/surfaces/modal/modal.d.ts.map +1 -1
  190. package/dist/surfaces/modal/modal.js +16 -7
  191. package/dist/surfaces/modal/modal.js.map +1 -1
  192. package/dist/surfaces/page/h_page.js +6 -6
  193. package/dist/surfaces/page/h_page.js.map +1 -1
  194. package/dist/surfaces/page/v_page.js +9 -9
  195. package/dist/surfaces/page/v_page.js.map +1 -1
  196. package/dist/surfaces/panel/h_panel.d.ts +1 -1
  197. package/dist/surfaces/panel/h_panel.d.ts.map +1 -1
  198. package/dist/surfaces/panel/h_panel.js +36 -31
  199. package/dist/surfaces/panel/h_panel.js.map +1 -1
  200. package/dist/surfaces/panel/v_panel.d.ts +1 -1
  201. package/dist/surfaces/panel/v_panel.d.ts.map +1 -1
  202. package/dist/surfaces/panel/v_panel.js +39 -34
  203. package/dist/surfaces/panel/v_panel.js.map +1 -1
  204. package/dist/surfaces/popover/popover.js +34 -34
  205. package/dist/surfaces/popover/popover.js.map +1 -1
  206. package/dist/surfaces/window/window.d.ts.map +1 -1
  207. package/dist/surfaces/window/window.js +6 -14
  208. package/dist/surfaces/window/window.js.map +1 -1
  209. package/dist/themes/index.d.ts +0 -2
  210. package/dist/themes/index.d.ts.map +1 -1
  211. package/dist/themes/index.js +5 -204
  212. package/dist/themes/index.js.map +1 -1
  213. package/dist/themes/themes/ergo/ergo_theme.css +1 -1
  214. package/dist/tokens/badge/badge.js +13 -13
  215. package/dist/tokens/badge/badge.js.map +1 -1
  216. package/dist/tokens/bubble/bubble.js +16 -17
  217. package/dist/tokens/bubble/bubble.js.map +1 -1
  218. package/dist/tokens/chip/chip.js +10 -11
  219. package/dist/tokens/chip/chip.js.map +1 -1
  220. package/dist/typography/body_text/body_text.js +21 -21
  221. package/dist/typography/body_text/body_text.js.map +1 -1
  222. package/dist/typography/callout/callout.js +16 -16
  223. package/dist/typography/callout/callout.js.map +1 -1
  224. package/dist/typography/caption/caption.js +13 -13
  225. package/dist/typography/caption/caption.js.map +1 -1
  226. package/dist/typography/footnote/footnote.js +14 -14
  227. package/dist/typography/footnote/footnote.js.map +1 -1
  228. package/dist/typography/headline/headline.js +12 -12
  229. package/dist/typography/headline/headline.js.map +1 -1
  230. package/dist/typography/subheadline/subheadline.js +13 -13
  231. package/dist/typography/subheadline/subheadline.js.map +1 -1
  232. package/dist/typography/title/title.d.ts +1 -1
  233. package/dist/typography/title/title.d.ts.map +1 -1
  234. package/dist/typography/title/title.js +19 -19
  235. package/dist/typography/title/title.js.map +1 -1
  236. package/dist/v_body.css +1 -1
  237. package/package.json +23 -4
  238. package/src/actions/button/__stories__/button.stories.tsx +1 -1
  239. package/src/actions/button/__stories__/button_group.stories.tsx +1 -1
  240. package/src/actions/button/__stories__/select_group.stories.tsx +1 -1
  241. package/src/actions/button/__stories__/slim_button.stories.tsx +1 -1
  242. package/src/actions/button/base_button/base_button.tsx +2 -2
  243. package/src/actions/button/button/button.tsx +10 -4
  244. package/src/actions/button/button_group/button_group.tsx +4 -7
  245. package/src/actions/button/select_group/select_group.tsx +3 -3
  246. package/src/actions/button/slim_button/slim_button.tsx +3 -2
  247. package/src/feedback/lazy/lazy.stories.tsx +1 -1
  248. package/src/feedback/loading/__storybook__/loading.stories.tsx +1 -1
  249. package/src/feedback/progress/progress_bar.stories.tsx +1 -1
  250. package/src/form/field/common/field_control/field_control.tsx +2 -2
  251. package/src/form/field/common/field_header.tsx +2 -2
  252. package/src/form/field/common/status_input/status_input.tsx +4 -7
  253. package/src/form/field/field.stories.tsx +2 -1
  254. package/src/form/field/h_field/h_field.stories.tsx +10 -1
  255. package/src/form/field/h_field/h_field.tsx +3 -3
  256. package/src/form/field/v_field/v_field.stories.tsx +10 -1
  257. package/src/form/field/v_field/v_field.tsx +3 -3
  258. package/src/form/field_presenters/options_field_presenter.ts +1 -1
  259. package/src/form/field_set/field_set.stories.tsx +9 -1
  260. package/src/form/field_set/field_set.tsx +4 -7
  261. package/src/form/form_field.tsx +1 -1
  262. package/src/form/index.ts +50 -11
  263. package/src/inputs/checkbox/checkbox.stories.tsx +9 -1
  264. package/src/inputs/checkbox/checkbox.tsx +2 -2
  265. package/src/inputs/color_input/color_input.stories.tsx +9 -1
  266. package/src/inputs/color_input/color_input.tsx +2 -6
  267. package/src/inputs/color_input/color_picker.tsx +2 -2
  268. package/src/inputs/combo_box/combo_box.stories.tsx +14 -5
  269. package/src/inputs/combo_box/combo_box.tsx +2 -2
  270. package/src/inputs/date_picker/date_picker.stories.tsx +18 -10
  271. package/src/inputs/date_picker/date_picker.tsx +3 -3
  272. package/src/inputs/date_picker/date_picker_date.tsx +3 -3
  273. package/src/inputs/date_picker/date_picker_header.tsx +2 -2
  274. package/src/inputs/date_picker/date_picker_input.stories.tsx +15 -7
  275. package/src/inputs/date_picker/date_picker_input.tsx +3 -3
  276. package/src/inputs/date_picker/date_picker_time_selector.tsx +5 -8
  277. package/src/inputs/date_picker/date_picker_year_input.tsx +2 -2
  278. package/src/inputs/date_picker/date_picker_year_selector.tsx +3 -9
  279. package/src/inputs/input/input.stories.tsx +9 -1
  280. package/src/inputs/input/input.tsx +2 -2
  281. package/src/inputs/mask_input/key_capture_input.stories.tsx +9 -1
  282. package/src/inputs/mask_input/mask_input.stories.tsx +10 -1
  283. package/src/inputs/multi_combo_box/multi_combo_box.stories.tsx +10 -1
  284. package/src/inputs/multi_combo_box/multi_combo_box.tsx +2 -2
  285. package/src/inputs/multiselect/multiselect_values.tsx +2 -2
  286. package/src/inputs/multiselect/mutliselect.stories.tsx +10 -1
  287. package/src/inputs/phone_number_input/phone_number_input.stories.tsx +10 -1
  288. package/src/inputs/phone_number_input/phone_number_input.tsx +6 -9
  289. package/src/inputs/radio/radio.stories.tsx +14 -6
  290. package/src/inputs/radio/radio.tsx +2 -2
  291. package/src/inputs/select/select.stories.tsx +18 -9
  292. package/src/inputs/select/select.tsx +2 -2
  293. package/src/inputs/slider/slider.stories.tsx +9 -1
  294. package/src/inputs/slider/slider.tsx +2 -2
  295. package/src/inputs/suggestions/suggestion_item.tsx +2 -2
  296. package/src/inputs/suggestions/suggestion_list.stories.tsx +21 -12
  297. package/src/inputs/suggestions/suggestion_list.tsx +3 -3
  298. package/src/inputs/switch/switch.stories.tsx +9 -1
  299. package/src/inputs/switch/switch.tsx +4 -4
  300. package/src/inputs/textarea/textarea.stories.tsx +9 -1
  301. package/src/inputs/textarea/textarea.tsx +2 -2
  302. package/src/inputs/unit_input/unit_input.stories.tsx +9 -1
  303. package/src/inputs/unit_input/unit_input.tsx +4 -4
  304. package/src/layouts/body/h_body.module.css +3 -2
  305. package/src/layouts/body/h_body.tsx +5 -4
  306. package/src/layouts/body/v_body.module.css +3 -2
  307. package/src/layouts/body/v_body.tsx +5 -4
  308. package/src/layouts/column/column.tsx +3 -3
  309. package/src/layouts/divider/__stories__/divider.stories.tsx +59 -19
  310. package/src/layouts/divider/divider.tsx +6 -5
  311. package/src/layouts/footer/footer.tsx +4 -4
  312. package/src/layouts/grid/grid.stories.tsx +42 -34
  313. package/src/layouts/grid/grid.tsx +2 -7
  314. package/src/layouts/header/header.tsx +4 -4
  315. package/src/layouts/list/item.tsx +2 -2
  316. package/src/layouts/list/list.tsx +2 -2
  317. package/src/layouts/sidebar_end/sidebar_end.tsx +2 -2
  318. package/src/layouts/sidebar_start/sidebar_start.tsx +2 -2
  319. package/src/layouts/utility_bar/utility_bar.tsx +9 -4
  320. package/src/overlay/context_menu/context_menu.stories.tsx +13 -5
  321. package/src/overlay/menu/menu.stories.tsx +22 -14
  322. package/src/overlay/menu/menu.tsx +3 -3
  323. package/src/overlay/popper/popper.stories.tsx +43 -22
  324. package/src/overlay/portal/portal.stories.tsx +10 -1
  325. package/src/overlay/tooltip/tooltip.stories.tsx +9 -2
  326. package/src/overlay/tooltip/tooltip.tsx +2 -2
  327. package/src/stacks/box/bottom_resize_handle.tsx +2 -2
  328. package/src/stacks/box/box.tsx +2 -2
  329. package/src/stacks/box/end_resize_handle.tsx +2 -2
  330. package/src/stacks/box/left_resize_handle.tsx +2 -2
  331. package/src/stacks/box/right_resize_handle.tsx +2 -2
  332. package/src/stacks/box/start_resize_handle.tsx +2 -2
  333. package/src/stacks/box/top_resize_handle.tsx +2 -2
  334. package/src/stacks/collapsible_box.stories.tsx +10 -1
  335. package/src/stacks/h_collapsible_box.tsx +2 -2
  336. package/src/stacks/h_stack.stories.tsx +104 -59
  337. package/src/stacks/h_stack.tsx +2 -2
  338. package/src/stacks/spacer.tsx +2 -2
  339. package/src/stacks/stack.module.css +54 -5
  340. package/src/stacks/stacks.mdx +28 -28
  341. package/src/stacks/story_components/circle.tsx +2 -2
  342. package/src/stacks/story_components/picture_placeholder.tsx +2 -2
  343. package/src/stacks/story_components/rect.tsx +2 -2
  344. package/src/stacks/types/styles.ts +2 -2
  345. package/src/stacks/v_collapsible_box.tsx +2 -2
  346. package/src/stacks/v_stack.stories.tsx +91 -10
  347. package/src/stacks/v_stack.tsx +2 -2
  348. package/src/stacks/z_stack.stories.tsx +9 -1
  349. package/src/stacks/z_stack.tsx +2 -2
  350. package/src/surfaces/alert/alert.stories.tsx +4 -4
  351. package/src/surfaces/alert/alert.tsx +2 -2
  352. package/src/surfaces/card/card.tsx +2 -2
  353. package/src/surfaces/confirm/confirm.stories.tsx +4 -4
  354. package/src/surfaces/confirm/confirm.tsx +3 -6
  355. package/src/surfaces/drawers/__stories__/drawers.stories.tsx +1 -1
  356. package/src/surfaces/drawers/drawer_bottom/drawer_bottom.tsx +2 -2
  357. package/src/surfaces/drawers/drawer_end/drawer_end.tsx +2 -2
  358. package/src/surfaces/drawers/drawer_start/drawer_start.tsx +2 -2
  359. package/src/surfaces/drawers/drawer_top/drawer_top.tsx +2 -2
  360. package/src/surfaces/modal/__stories__/modal.stories.tsx +54 -0
  361. package/src/surfaces/modal/modal.module.css +2 -1
  362. package/src/surfaces/modal/modal.tsx +9 -6
  363. package/src/surfaces/page/h_page.tsx +2 -2
  364. package/src/surfaces/page/v_page.tsx +2 -2
  365. package/src/surfaces/panel/__stories__/panel.stories.tsx +68 -0
  366. package/src/surfaces/panel/__stories__/panel_stories.module.css +13 -0
  367. package/src/surfaces/panel/h_panel.tsx +12 -6
  368. package/src/surfaces/panel/panel.module.css +2 -7
  369. package/src/surfaces/panel/v_panel.tsx +11 -5
  370. package/src/surfaces/popover/popover.tsx +2 -2
  371. package/src/surfaces/window/window.stories.tsx +1 -1
  372. package/src/surfaces/window/window.tsx +2 -6
  373. package/src/themes/index.ts +0 -2
  374. package/src/themes/stories/themes.stories.tsx +1 -1
  375. package/src/themes/themes/ergo/ergo_theme.css +142 -10
  376. package/src/tokens/badge/badge.stories.tsx +6 -6
  377. package/src/tokens/badge/badge.tsx +3 -3
  378. package/src/tokens/bubble/bubble.stories.tsx +16 -9
  379. package/src/tokens/bubble/bubble.tsx +2 -2
  380. package/src/tokens/chip/chip.stories.tsx +1 -1
  381. package/src/tokens/chip/chip.tsx +2 -2
  382. package/src/typography/body_text/body_text.tsx +2 -2
  383. package/src/typography/callout/callout.tsx +2 -2
  384. package/src/typography/caption/caption.tsx +2 -2
  385. package/src/typography/footnote/footnote.tsx +2 -2
  386. package/src/typography/headline/headline.tsx +2 -2
  387. package/src/typography/subheadline/subheadline.tsx +2 -2
  388. package/src/typography/title/title.tsx +3 -3
  389. package/src/typography/typography-showcase.stories.tsx +2 -2
  390. package/src/utils/click_away_listener.stories.tsx +21 -11
  391. package/src/utils/responsive/responsive_renderer.stories.tsx +7 -7
  392. package/src/utils/scroll_away_listener.stories.tsx +11 -1
  393. package/dist/form/field/form_field.d.ts +0 -6
  394. package/dist/form/field/form_field.d.ts.map +0 -1
  395. package/dist/form/field/form_field.js +0 -18
  396. package/dist/form/field/form_field.js.map +0 -1
  397. package/dist/panel.module-CtikcmYB.js +0 -5
  398. package/dist/panel.module-CtikcmYB.js.map +0 -1
  399. package/src/form/field/form_field.tsx +0 -29
  400. package/src/surfaces/modal/modal.stories.tsx +0 -15
@@ -1 +1 @@
1
- {"version":3,"file":"title.d.ts","sourceRoot":"","sources":["../../../src/typography/title/title.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAGtE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,MAAM,UAAU,GAAG,qBAAqB,CAAC,aAAa,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;AAElF,wBAAgB,KAAK,CAAC,EACpB,IAAW,EACX,QAAmB,EACnB,SAAqB,EACrB,KAAK,EACL,QAAQ,EACR,SAAS,EACT,KAAU,EACV,QAAQ,EACR,MAAM,EACN,SAAS,EACT,MAAM,EACN,GAAG,EACH,UAAiB,EACjB,EAAE,GACH,EAAE,UAAU,2CAiDZ"}
1
+ {"version":3,"file":"title.d.ts","sourceRoot":"","sources":["../../../src/typography/title/title.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAGtE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,MAAM,UAAU,GAAG,qBAAqB,CAAC,aAAa,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;AAElF,wBAAgB,KAAK,CAAC,EACpB,IAAW,EACX,QAAmB,EACnB,SAAqB,EACrB,KAAK,EACL,QAAQ,EACR,SAAS,EACT,KAAU,EACV,QAAQ,EACR,MAAM,EACN,SAAS,EACT,MAAM,EACN,GAAG,EACH,UAAiB,EACjB,EAAE,GACH,EAAE,UAAU,2CAiDZ"}
@@ -1,37 +1,37 @@
1
- import { jsx as c } from "react/jsx-runtime";
2
- import u from "classnames";
1
+ import { jsx as s } from "react/jsx-runtime";
2
+ import { clsx as u } from "clsx";
3
3
  import { s as x } from "../../title.module-B16de2jd.js";
4
- function j({
5
- size: r = "md",
4
+ function A({
5
+ size: a = "md",
6
6
  emphasis: o = "normal",
7
- hierarchy: s = "primary",
8
- color: e,
7
+ hierarchy: c = "primary",
8
+ color: n,
9
9
  children: g,
10
10
  className: h,
11
11
  style: i = {},
12
- padStart: n,
13
- padEnd: f,
14
- padBottom: m,
15
- padTop: t,
16
- pad: d,
12
+ padStart: r,
13
+ padEnd: e,
14
+ padBottom: f,
15
+ padTop: l,
16
+ pad: m,
17
17
  selectable: p = !0,
18
- as: l
18
+ as: d
19
19
  }) {
20
- let a = l;
21
- return l == null && (r === "lg" ? a = "h1" : r === "md" ? a = "h2" : a = "h3"), d && (i.padding = d), n && (i.paddingInlineStart = n), f && (i.paddingInlineEnd = f), t && (i.paddingTop = t), m && (i.paddingBottom = m), e && (i.color = e), /* @__PURE__ */ c(
22
- a,
20
+ let t = d;
21
+ return d == null && (a === "lg" ? t = "h1" : a === "md" ? t = "h2" : t = "h3"), m && (i.padding = m), r && (i.paddingInlineStart = r), e && (i.paddingInlineEnd = e), l && (i.paddingTop = l), f && (i.paddingBottom = f), n && (i.color = n), /* @__PURE__ */ s(
22
+ t,
23
23
  {
24
- "data-hierarchy": s,
24
+ "data-hierarchy": c,
25
25
  "data-emphasis": o,
26
26
  "data-selectable": p,
27
- className: u(x.title, "title", h),
27
+ className: u(x.title, "title", "tcn-title", h),
28
28
  style: i,
29
- "data-size": r,
29
+ "data-size": a,
30
30
  children: g
31
31
  }
32
32
  );
33
33
  }
34
34
  export {
35
- j as Title
35
+ A as Title
36
36
  };
37
37
  //# sourceMappingURL=title.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"title.js","sources":["../../../src/typography/title/title.tsx"],"sourcesContent":["import React from 'react';\nimport classnames from 'classnames';\nimport { Emphasis, Hierarchy, Size } from '../../utils/index.js';\nimport type { WithDetailedHTMLProps } from '../../stacks/types/as.js';\nimport styles from './title.module.css';\n\nexport interface TitleOwnProps {\n children?: string;\n size?: Size;\n emphasis?: Emphasis;\n hierarchy?: Hierarchy;\n color?: string;\n pad?: string;\n padStart?: string;\n padEnd?: string;\n padTop?: string;\n padBottom?: string;\n selectable?: boolean;\n as?: string;\n}\n\nexport type TitleProps = WithDetailedHTMLProps<TitleOwnProps, 'h1' | 'h2' | 'h3'>;\n\nexport function Title({\n size = 'md',\n emphasis = 'normal',\n hierarchy = 'primary',\n color,\n children,\n className,\n style = {},\n padStart,\n padEnd,\n padBottom,\n padTop,\n pad,\n selectable = true,\n as,\n}: TitleProps) {\n let As: React.ElementType = as as React.ElementType;\n\n if (as == null) {\n if (size === 'lg') {\n As = 'h1';\n } else if (size === 'md') {\n As = 'h2';\n } else {\n As = 'h3';\n }\n }\n\n if (pad) {\n style.padding = pad;\n }\n\n if (padStart) {\n style.paddingInlineStart = padStart;\n }\n\n if (padEnd) {\n style.paddingInlineEnd = padEnd;\n }\n\n if (padTop) {\n style.paddingTop = padTop;\n }\n\n if (padBottom) {\n style.paddingBottom = padBottom;\n }\n\n if (color) {\n style.color = color;\n }\n\n return (\n <As\n data-hierarchy={hierarchy}\n data-emphasis={emphasis}\n data-selectable={selectable}\n className={classnames(styles['title'], 'title', className)}\n style={style}\n data-size={size}\n >\n {children}\n </As>\n );\n}\n"],"names":["Title","size","emphasis","hierarchy","color","children","className","style","padStart","padEnd","padBottom","padTop","pad","selectable","as","As","jsx","classnames","styles"],"mappings":";;;AAuBO,SAASA,EAAM;AAAA,EACpB,MAAAC,IAAO;AAAA,EACP,UAAAC,IAAW;AAAA,EACX,WAAAC,IAAY;AAAA,EACZ,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,OAAAC,IAAQ,CAAA;AAAA,EACR,UAAAC;AAAA,EACA,QAAAC;AAAA,EACA,WAAAC;AAAA,EACA,QAAAC;AAAA,EACA,KAAAC;AAAA,EACA,YAAAC,IAAa;AAAA,EACb,IAAAC;AACF,GAAe;AACb,MAAIC,IAAwBD;AAE5B,SAAIA,KAAM,SACJb,MAAS,OACXc,IAAK,OACId,MAAS,OAClBc,IAAK,OAELA,IAAK,OAILH,MACFL,EAAM,UAAUK,IAGdJ,MACFD,EAAM,qBAAqBC,IAGzBC,MACFF,EAAM,mBAAmBE,IAGvBE,MACFJ,EAAM,aAAaI,IAGjBD,MACFH,EAAM,gBAAgBG,IAGpBN,MACFG,EAAM,QAAQH,IAId,gBAAAY;AAAA,IAACD;AAAA,IAAA;AAAA,MACC,kBAAgBZ;AAAA,MAChB,iBAAeD;AAAA,MACf,mBAAiBW;AAAA,MACjB,WAAWI,EAAWC,EAAO,OAAU,SAASZ,CAAS;AAAA,MACzD,OAAAC;AAAA,MACA,aAAWN;AAAA,MAEV,UAAAI;AAAA,IAAA;AAAA,EAAA;AAGP;"}
1
+ {"version":3,"file":"title.js","sources":["../../../src/typography/title/title.tsx"],"sourcesContent":["import React from 'react';\nimport { clsx } from 'clsx';\nimport type { WithDetailedHTMLProps } from '../../stacks/types/as.js';\nimport type { Emphasis, Hierarchy, Size } from '../../utils/index.js';\nimport styles from './title.module.css';\n\nexport interface TitleOwnProps {\n children?: string;\n size?: Size;\n emphasis?: Emphasis;\n hierarchy?: Hierarchy;\n color?: string;\n pad?: string;\n padStart?: string;\n padEnd?: string;\n padTop?: string;\n padBottom?: string;\n selectable?: boolean;\n as?: string;\n}\n\nexport type TitleProps = WithDetailedHTMLProps<TitleOwnProps, 'h1' | 'h2' | 'h3'>;\n\nexport function Title({\n size = 'md',\n emphasis = 'normal',\n hierarchy = 'primary',\n color,\n children,\n className,\n style = {},\n padStart,\n padEnd,\n padBottom,\n padTop,\n pad,\n selectable = true,\n as,\n}: TitleProps) {\n let As: React.ElementType = as as React.ElementType;\n\n if (as == null) {\n if (size === 'lg') {\n As = 'h1';\n } else if (size === 'md') {\n As = 'h2';\n } else {\n As = 'h3';\n }\n }\n\n if (pad) {\n style.padding = pad;\n }\n\n if (padStart) {\n style.paddingInlineStart = padStart;\n }\n\n if (padEnd) {\n style.paddingInlineEnd = padEnd;\n }\n\n if (padTop) {\n style.paddingTop = padTop;\n }\n\n if (padBottom) {\n style.paddingBottom = padBottom;\n }\n\n if (color) {\n style.color = color;\n }\n\n return (\n <As\n data-hierarchy={hierarchy}\n data-emphasis={emphasis}\n data-selectable={selectable}\n className={clsx(styles['title'], 'title', 'tcn-title', className)}\n style={style}\n data-size={size}\n >\n {children}\n </As>\n );\n}\n"],"names":["Title","size","emphasis","hierarchy","color","children","className","style","padStart","padEnd","padBottom","padTop","pad","selectable","as","As","jsx","clsx","styles"],"mappings":";;;AAuBO,SAASA,EAAM;AAAA,EACpB,MAAAC,IAAO;AAAA,EACP,UAAAC,IAAW;AAAA,EACX,WAAAC,IAAY;AAAA,EACZ,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,OAAAC,IAAQ,CAAA;AAAA,EACR,UAAAC;AAAA,EACA,QAAAC;AAAA,EACA,WAAAC;AAAA,EACA,QAAAC;AAAA,EACA,KAAAC;AAAA,EACA,YAAAC,IAAa;AAAA,EACb,IAAAC;AACF,GAAe;AACb,MAAIC,IAAwBD;AAE5B,SAAIA,KAAM,SACJb,MAAS,OACXc,IAAK,OACId,MAAS,OAClBc,IAAK,OAELA,IAAK,OAILH,MACFL,EAAM,UAAUK,IAGdJ,MACFD,EAAM,qBAAqBC,IAGzBC,MACFF,EAAM,mBAAmBE,IAGvBE,MACFJ,EAAM,aAAaI,IAGjBD,MACFH,EAAM,gBAAgBG,IAGpBN,MACFG,EAAM,QAAQH,IAId,gBAAAY;AAAA,IAACD;AAAA,IAAA;AAAA,MACC,kBAAgBZ;AAAA,MAChB,iBAAeD;AAAA,MACf,mBAAiBW;AAAA,MACjB,WAAWI,EAAKC,EAAO,OAAU,SAAS,aAAaZ,CAAS;AAAA,MAChE,OAAAC;AAAA,MACA,aAAWN;AAAA,MAEV,UAAAI;AAAA,IAAA;AAAA,EAAA;AAGP;"}
package/dist/v_body.css CHANGED
@@ -1 +1 @@
1
- ._v-body_d8f1917{gap:var(--gap-medium);padding:var(--padding-medium)}
1
+ ._v-body_d8f1917{min-height:0;flex-grow:1;width:100%}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tcn/ui",
3
- "version": "0.0.2",
3
+ "version": "0.0.4",
4
4
  "type": "module",
5
5
  "description": "",
6
6
  "author": "TCN",
@@ -9,6 +9,13 @@
9
9
  "access": "public"
10
10
  },
11
11
  "access": "public",
12
+ "blackcatConfig": {
13
+ "storybook": {
14
+ "publish": true,
15
+ "title": "UI",
16
+ "port": 6200
17
+ }
18
+ },
12
19
  "files": [
13
20
  "dist",
14
21
  "src",
@@ -82,6 +89,18 @@
82
89
  "import": "./dist/themes/index.js",
83
90
  "default": "./dist/themes/index.js"
84
91
  },
92
+ "./themes/windows98": {
93
+ "@bc-monorepo/source": "./src/themes/themes/windows_98/windows_98_theme.ts",
94
+ "types": "./dist/themes/themes/windows_98/windows_98_theme.d.ts",
95
+ "import": "./dist/themes/themes/windows_98/windows_98_theme.js",
96
+ "default": "./dist/themes/themes/windows_98/windows_98_theme.js"
97
+ },
98
+ "./themes/ergo": {
99
+ "@bc-monorepo/source": "./src/themes/themes/ergo/ergo_theme.ts",
100
+ "types": "./dist/themes/themes/ergo/ergo_theme.d.ts",
101
+ "import": "./dist/themes/themes/ergo/ergo_theme.js",
102
+ "default": "./dist/themes/themes/ergo/ergo_theme.js"
103
+ },
85
104
  "./tokens": {
86
105
  "@bc-monorepo/source": "./src/tokens/index.ts",
87
106
  "types": "./dist/tokens/index.d.ts",
@@ -107,10 +126,10 @@
107
126
  "react-dom": "^18.2.0"
108
127
  },
109
128
  "dependencies": {
110
- "classnames": "^2.5.1",
129
+ "clsx": "^2.1.1",
111
130
  "react-color": "^2.19.3",
112
- "@tcn/icons": "2.1.0",
113
- "@tcn/state": "1.0.0"
131
+ "@tcn/state": "1.0.0",
132
+ "@tcn/icons": "2.1.0"
114
133
  },
115
134
  "scripts": {
116
135
  "build": "vite build",
@@ -6,7 +6,7 @@ import { Spacer } from '../../../stacks/spacer.js';
6
6
  import { Button, ButtonProps } from '../button/button.js';
7
7
 
8
8
  const meta: Meta<ButtonProps> = {
9
- title: 'Components/Button/Button',
9
+ title: 'Actions/Button',
10
10
  component: Button,
11
11
  tags: ['autodocs'],
12
12
  args: {
@@ -6,7 +6,7 @@ import { Button } from '../button/button.js';
6
6
  import { ButtonGroup } from '../button_group/button_group.js';
7
7
 
8
8
  export default {
9
- title: 'Components/Button/Button Group',
9
+ title: 'Actions/Button Group',
10
10
  component: ButtonGroup,
11
11
  tags: ['autodocs'],
12
12
  };
@@ -6,7 +6,7 @@ import { SelectGroup } from '../select_group/select_group.js';
6
6
  import { SingleSelectGroup } from '../select_group/single_select_group.js';
7
7
 
8
8
  export default {
9
- title: 'Components/Button/Select Group',
9
+ title: 'Actions/Select Group',
10
10
  component: SelectGroup,
11
11
  tags: ['autodocs'],
12
12
  argTypes: {
@@ -8,7 +8,7 @@ import { ButtonProps } from '../button/button.js';
8
8
  import { SlimButton } from '../slim_button/slim_button.js';
9
9
 
10
10
  const meta: Meta<ButtonProps> = {
11
- title: 'Components/Button/Slim Button',
11
+ title: 'Actions/Slim Button',
12
12
  component: SlimButton,
13
13
  tags: ['autodocs'],
14
14
  args: {
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import classNames from 'classnames';
2
+ import { clsx } from 'clsx';
3
3
  import type { Hierarchy, Size } from '../../../utils/index.js';
4
4
  import { HStack } from '../../../stacks/h_stack.js';
5
5
  import type { HStackOwnProps } from '../../../stacks/h_stack.js';
@@ -68,7 +68,7 @@ export const BaseButton = React.forwardRef<HTMLButtonElement, BaseButtonProps>(
68
68
  data-hierarchy={hierarchy}
69
69
  data-size={size}
70
70
  data-is-disabled={Boolean(props.disabled)}
71
- className={classNames(styles['base-button'], 'base-button', className)}
71
+ className={clsx(styles['base-button'], 'base-button', className)}
72
72
  style={finalStyle}
73
73
  onTouchStart={handleTouchStart}
74
74
  onContextMenu={handleContextMenu}
@@ -1,6 +1,6 @@
1
- import cln from 'classnames';
2
1
  import React from 'react';
3
- import { BaseButton, BaseButtonProps } from '../base_button/base_button.js';
2
+ import { clsx } from 'clsx';
3
+ import { BaseButton, type BaseButtonProps } from '../base_button/base_button.js';
4
4
  import styles from './button.module.css';
5
5
 
6
6
  export interface ButtonProps extends BaseButtonProps {}
@@ -10,9 +10,15 @@ export const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(function
10
10
  ref
11
11
  ) {
12
12
  return (
13
- <BaseButton ref={ref} className={cln(styles.button, 'button', className)} {...props}>
13
+ <BaseButton
14
+ ref={ref}
15
+ className={clsx(styles.button, 'button', 'tcn-button', className)}
16
+ {...props}
17
+ >
14
18
  {typeof children === 'string' ? (
15
- <span className={cln(styles['button-text'], 'button-text')}>{children}</span>
19
+ <span className={clsx(styles['button-text'], 'button-text', 'tcn-button-text')}>
20
+ {children}
21
+ </span>
16
22
  ) : (
17
23
  children
18
24
  )}
@@ -1,7 +1,7 @@
1
1
  import type { Hierarchy, Size } from '../../../utils/index.js';
2
2
  import { HStack } from '../../../stacks/h_stack.js';
3
3
  import type { WithDetailedHTMLProps } from '../../../stacks/types/as.js';
4
- import classNames from 'classnames';
4
+ import { clsx } from 'clsx';
5
5
  import React from 'react';
6
6
  import { Button, ButtonProps } from '../button/button.js';
7
7
  import styles from './button_group.module.css';
@@ -32,7 +32,7 @@ export const ButtonGroup = React.forwardRef<HTMLDivElement, ButtonGroupProps>(
32
32
  height="auto"
33
33
  data-hierarchy={hierarchy}
34
34
  data-size={size}
35
- className={classNames(styles['button-group'], 'button-group', className)}
35
+ className={clsx(styles['button-group'], 'button-group', className)}
36
36
  {...props}
37
37
  >
38
38
  {buttons.map((button, i) => {
@@ -42,7 +42,7 @@ export const ButtonGroup = React.forwardRef<HTMLDivElement, ButtonGroupProps>(
42
42
  <React.Fragment key={i}>
43
43
  <Button
44
44
  {...button.props}
45
- className={classNames(
45
+ className={clsx(
46
46
  styles['button-group-button'],
47
47
  'button-group-button',
48
48
  button.props.className
@@ -52,10 +52,7 @@ export const ButtonGroup = React.forwardRef<HTMLDivElement, ButtonGroupProps>(
52
52
  />
53
53
  {!isLast && (
54
54
  <div
55
- className={classNames(
56
- styles['button-group-divider'],
57
- 'button-group-divider'
58
- )}
55
+ className={clsx(styles['button-group-divider'], 'button-group-divider')}
59
56
  data-hierarchy={hierarchy}
60
57
  data-size={size}
61
58
  />
@@ -1,6 +1,6 @@
1
1
  import { HStack } from '../../../stacks/h_stack.js';
2
2
  import type { WithDetailedHTMLProps } from '../../../stacks/types/as.js';
3
- import classNames from 'classnames';
3
+ import { clsx } from 'clsx';
4
4
  import React from 'react';
5
5
  import { Button } from '../button/button.js';
6
6
  import styles from './select_group.module.css';
@@ -49,7 +49,7 @@ export const SelectGroup = React.forwardRef(function ButtonGroup(
49
49
  width="auto"
50
50
  height="auto"
51
51
  data-is-disabled={disabled}
52
- className={classNames(styles['select-group'], 'select-group', className)}
52
+ className={clsx(styles['select-group'], 'select-group', className)}
53
53
  {...props}
54
54
  >
55
55
  {options.map((option, i) => {
@@ -63,7 +63,7 @@ export const SelectGroup = React.forwardRef(function ButtonGroup(
63
63
  <Button
64
64
  disabled={disabled || option.props.disabled}
65
65
  data-is-disabled={disabled || option.props.disabled}
66
- className={classNames(styles['select-group-option'], 'select-group-option')}
66
+ className={clsx(styles['select-group-option'], 'select-group-option')}
67
67
  hierarchy={isSelected ? 'primary' : 'secondary'}
68
68
  onClick={select}
69
69
  value={option.props.value}
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
- import classNames from 'classnames';
3
2
  import { Button, ButtonProps } from '../button/button.js';
3
+ import { clsx } from 'clsx';
4
+ // Styles
4
5
  import styles from './slim_button.module.css';
5
6
 
6
7
  export const SlimButton = React.forwardRef<HTMLButtonElement, ButtonProps>(
@@ -8,7 +9,7 @@ export const SlimButton = React.forwardRef<HTMLButtonElement, ButtonProps>(
8
9
  return (
9
10
  <Button
10
11
  ref={ref}
11
- className={classNames(styles['slim-button'], 'slim-button', className)}
12
+ className={clsx(styles['slim-button'], 'slim-button', className)}
12
13
  {...props}
13
14
  >
14
15
  {children}
@@ -4,7 +4,7 @@ import { HStack } from '../../stacks/h_stack.js';
4
4
  import { Runner } from '@tcn/state';
5
5
 
6
6
  export default {
7
- title: 'lazy',
7
+ title: 'Feedback/Lazy',
8
8
  };
9
9
 
10
10
  const delay = (ms: number) => new Promise(resolve => window.setTimeout(resolve, ms));
@@ -7,7 +7,7 @@ import styles from '../../storybook.module.css';
7
7
  import customStyles from './storybook_custom_lines.module.css';
8
8
 
9
9
  export default {
10
- title: 'Loading',
10
+ title: 'Feedback/Loading',
11
11
  };
12
12
 
13
13
  function Base(props: LoadingProps) {
@@ -3,7 +3,7 @@ import { ProgressBar as Component, ProgressBarProps } from './progress_bar.js';
3
3
  import styles from '../storybook.module.css';
4
4
 
5
5
  export default {
6
- title: 'Progress Bar',
6
+ title: 'Feedback/Progress Bar',
7
7
  };
8
8
 
9
9
  function Base(props: Partial<ProgressBarProps>) {
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import { VStack } from '../../../../stacks/v_stack.js';
3
3
  import type { VStackOwnProps } from '../../../../stacks/v_stack.js';
4
4
  import type { WithDetailedHTMLProps } from '../../../../stacks/types/as.js';
5
- import classNames from 'classnames';
5
+ import { clsx } from 'clsx';
6
6
  import styles from './field_control.module.css';
7
7
  import { FieldErrorMessage } from '../field_error.js';
8
8
 
@@ -38,7 +38,7 @@ export const FieldControl = React.forwardRef(function FieldControl(
38
38
  data-locked={locked}
39
39
  data-loading={loading}
40
40
  data-error={hasError}
41
- className={classNames(styles['field-control'], 'field-control', className)}
41
+ className={clsx(styles['field-control'], 'field-control', className)}
42
42
  height="auto"
43
43
  width="flex"
44
44
  hAlign="end"
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import classNames from 'classnames';
2
+ import { clsx } from 'clsx';
3
3
  import { VStack } from '../../../stacks/v_stack.js';
4
4
  import type { VStackOwnProps } from '../../../stacks/v_stack.js';
5
5
  import type { WithDetailedHTMLProps } from '../../../stacks/types/as.js';
@@ -27,7 +27,7 @@ export const FieldHeader = React.forwardRef(function FieldHeader(
27
27
  as="div"
28
28
  hAlign="start"
29
29
  gap="4px"
30
- className={classNames('field-header', className)}
30
+ className={clsx('field-header', className)}
31
31
  ref={ref}
32
32
  {...props}
33
33
  >
@@ -5,11 +5,11 @@ import type { HStackOwnProps } from '../../../../stacks/h_stack.js';
5
5
  import type { WithDetailedHTMLProps } from '../../../../stacks/types/as.js';
6
6
  import React from 'react';
7
7
  import { Loading } from '../../../../feedback/index.js';
8
- import classNames from 'classnames';
8
+ import { clsx } from 'clsx';
9
9
  import styles from './status_input.module.css';
10
10
 
11
11
  /*
12
- TODO: I really want to make these themable.
12
+ TODO: I really want to make these themeable.
13
13
  The way we do that is simply put a div placeholder with
14
14
  a class that the theme can override. They can use svgs as
15
15
  backgrounds for icons. This would make it so the component
@@ -25,10 +25,7 @@ const LoadingAdornment: React.FC = () => {
25
25
 
26
26
  const ErroredAdornment: React.FC = () => {
27
27
  return (
28
- <AlertTriangleIcon
29
- className={classNames(styles['field-error'], 'field-error')}
30
- size="lg"
31
- />
28
+ <AlertTriangleIcon className={clsx(styles['field-error'], 'field-error')} size="lg" />
32
29
  );
33
30
  };
34
31
 
@@ -66,7 +63,7 @@ export const FieldStatusInput = React.forwardRef(function StatusInput(
66
63
  <HStack
67
64
  ref={ref}
68
65
  data-state={state}
69
- className={classNames(
66
+ className={clsx(
70
67
  'field-status-input',
71
68
  styles['field-status-input'],
72
69
  className,
@@ -10,7 +10,7 @@ import { AlertTriangleIcon } from '@tcn/icons/alert_triangle_icon.js';
10
10
  import { theme } from '../../themes/index.js';
11
11
 
12
12
  export default {
13
- title: 'Field/Field',
13
+ title: 'Form/Field',
14
14
  parameters: {
15
15
  docs: {
16
16
  description: {
@@ -19,6 +19,7 @@ export default {
19
19
  },
20
20
  },
21
21
  },
22
+ tags: ['autodocs'],
22
23
  };
23
24
 
24
25
  export function Baseline() {
@@ -9,7 +9,16 @@ import { HStack } from '../../../stacks/h_stack.js';
9
9
  import { Spacer } from '../../../stacks/spacer.js';
10
10
 
11
11
  export default {
12
- title: 'Field/HField',
12
+ title: 'Form/HField',
13
+ parameters: {
14
+ docs: {
15
+ description: {
16
+ component:
17
+ 'A horizontal field component that displays a label and input side by side.',
18
+ },
19
+ },
20
+ },
21
+ tags: ['autodocs'],
13
22
  };
14
23
 
15
24
  export function Baseline() {
@@ -1,10 +1,10 @@
1
1
  import { HStack } from '../../../stacks/h_stack.js';
2
2
  import type { HStackOwnProps } from '../../../stacks/h_stack.js';
3
3
  import type { WithDetailedHTMLProps } from '../../../stacks/types/as.js';
4
- import classNames from 'classnames';
4
+ import { clsx } from 'clsx';
5
5
  import React, { useState } from 'react';
6
6
  import styles from './h_field.module.css';
7
- import { FieldInput } from '../common/types.js';
7
+ import type { FieldInput } from '../common/types.js';
8
8
  import { FieldHeader } from '../common/field_header.js';
9
9
  import { FieldControl } from '../common/field_control/field_control.js';
10
10
  import { FieldStatusInput } from '../common/status_input/status_input.js';
@@ -47,7 +47,7 @@ export const HField = React.forwardRef(function HField(
47
47
  data-locked={locked}
48
48
  data-error={hasError}
49
49
  data-loading={loading}
50
- className={classNames('base-field', styles['h-field'], 'h-field', className)}
50
+ className={clsx('base-field', styles['h-field'], 'h-field', className)}
51
51
  vAlign="start"
52
52
  hAlign="start"
53
53
  height="auto"
@@ -9,7 +9,16 @@ import { AlertTriangleIcon } from '@tcn/icons/alert_triangle_icon.js';
9
9
  import { FieldSet } from '../../field_set/field_set.js';
10
10
 
11
11
  export default {
12
- title: 'Field/VField',
12
+ title: 'Form/VField',
13
+ parameters: {
14
+ docs: {
15
+ description: {
16
+ component:
17
+ 'A vertical field component that displays a label and input below each other.',
18
+ },
19
+ },
20
+ },
21
+ tags: ['autodocs'],
13
22
  };
14
23
 
15
24
  export function Baseline() {
@@ -1,13 +1,13 @@
1
1
  import { VStack } from '../../../stacks/v_stack.js';
2
2
  import type { VStackOwnProps } from '../../../stacks/v_stack.js';
3
3
  import type { WithDetailedHTMLProps } from '../../../stacks/types/as.js';
4
- import classNames from 'classnames';
4
+ import { clsx } from 'clsx';
5
5
  import React, { useState } from 'react';
6
6
  import styles from './v_field.module.css';
7
7
  import { FieldControl } from '../common/field_control/field_control.js';
8
8
  import { FieldHeader } from '../common/field_header.js';
9
9
  import { FieldStatusInput } from '../common/status_input/status_input.js';
10
- import { FieldInput } from '../common/types.js';
10
+ import type { FieldInput } from '../common/types.js';
11
11
 
12
12
  export interface VFieldOwnProps extends FieldInput {
13
13
  children: React.ReactNode;
@@ -46,7 +46,7 @@ export const VField = React.forwardRef(function VField(
46
46
  data-locked={locked}
47
47
  data-error={hasError}
48
48
  data-loading={loading}
49
- className={classNames('base-field', styles['v-field'], 'v-field', className)}
49
+ className={clsx('base-field', styles['v-field'], 'v-field', className)}
50
50
  vAlign="start"
51
51
  hAlign="start"
52
52
  height="auto"
@@ -1,5 +1,5 @@
1
1
  import { Signal } from '@tcn/state';
2
- import { FieldOptions, FieldPresenter, FieldState } from './field_presenter.js';
2
+ import { type FieldOptions, FieldPresenter, type FieldState } from './field_presenter.js';
3
3
 
4
4
  export interface OptionsFieldState<TValue = string, TOption = string>
5
5
  extends FieldState<TValue> {
@@ -15,7 +15,15 @@ import {
15
15
  import { HField } from '../field/h_field/h_field.js';
16
16
 
17
17
  export default {
18
- title: 'Fieldset',
18
+ title: 'Form/Field Set',
19
+ parameters: {
20
+ docs: {
21
+ description: {
22
+ component: 'A field set component that displays a legend and a group of fields.',
23
+ },
24
+ },
25
+ },
26
+ tags: ['autodocs'],
19
27
  };
20
28
 
21
29
  export function Baseline() {
@@ -3,7 +3,7 @@ import { HStack } from '../../stacks/h_stack.js';
3
3
  import { Spacer } from '../../stacks/spacer.js';
4
4
  import { VStack } from '../../stacks/v_stack.js';
5
5
  import type { VStackProps } from '../../stacks/v_stack.js';
6
- import classnames from 'classnames';
6
+ import { clsx } from 'clsx';
7
7
  import React, { useMemo } from 'react';
8
8
  import styles from './field_set.module.css';
9
9
 
@@ -37,13 +37,13 @@ export const FieldSet = React.forwardRef(function FieldSet(
37
37
  as="fieldset"
38
38
  aria-labelledby={labelId}
39
39
  ref={ref}
40
- className={classnames(styles['field-set'], className, 'field-set')}
40
+ className={clsx(styles['field-set'], className, 'field-set')}
41
41
  {...props}
42
42
  >
43
43
  {legend && (
44
44
  <HStack
45
45
  id={labelId}
46
- className={classnames('legend', 'field-set-legend')}
46
+ className={clsx('legend', 'field-set-legend')}
47
47
  hAlign="start"
48
48
  height={props.height}
49
49
  >
@@ -54,10 +54,7 @@ export const FieldSet = React.forwardRef(function FieldSet(
54
54
  {endAdornments}
55
55
  </HStack>
56
56
  )}
57
- <VStack
58
- className={classnames('field-set-body', styles['field-set-body'])}
59
- {...props}
60
- >
57
+ <VStack className={clsx('field-set-body', styles['field-set-body'])} {...props}>
61
58
  {children}
62
59
  </VStack>
63
60
  </VStack>
@@ -1,6 +1,6 @@
1
1
  import { useCallback } from 'react';
2
2
  import { useSignalValue } from '@tcn/state';
3
- import { FieldPresenter, FieldState } from './field_presenters/field_presenter.js';
3
+ import { FieldPresenter, type FieldState } from './field_presenters/field_presenter.js';
4
4
 
5
5
  export function FormField<T>({
6
6
  field,