@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":"h_field.js","sources":["../../../../src/form/field/h_field/h_field.tsx"],"sourcesContent":["import { HStack } from '../../../stacks/h_stack.js';\nimport type { HStackOwnProps } from '../../../stacks/h_stack.js';\nimport type { WithDetailedHTMLProps } from '../../../stacks/types/as.js';\nimport classNames from 'classnames';\nimport React, { useState } from 'react';\nimport styles from './h_field.module.css';\nimport { FieldInput } from '../common/types.js';\nimport { FieldHeader } from '../common/field_header.js';\nimport { FieldControl } from '../common/field_control/field_control.js';\nimport { FieldStatusInput } from '../common/status_input/status_input.js';\n\nexport interface HFieldOwnProps extends FieldInput {\n labelWidth?: string;\n children: React.ReactNode;\n}\nexport type HFieldProps = WithDetailedHTMLProps<HFieldOwnProps, 'div'> & HStackOwnProps;\n\nlet idIndex = 0;\nexport const HField = React.forwardRef(function HField(\n {\n label,\n description,\n errorMessage,\n children: Control,\n labelWidth = '40%',\n locked = false,\n loading = false,\n className,\n id,\n required,\n ...props\n }: HFieldProps,\n ref: React.Ref<HTMLDivElement>\n) {\n const [finalId] = useState(() => id || `h-field-${idIndex++}`);\n const labelId = `${finalId}-label`;\n const descriptionId = `${finalId}-description`;\n const hasError = errorMessage ? true : false;\n const state = locked ? 'locked' : loading ? 'loading' : hasError ? 'error' : 'default';\n\n return (\n <HStack\n ref={ref}\n as=\"div\"\n aria-labelledby={labelId}\n aria-describedby={descriptionId}\n data-locked={locked}\n data-error={hasError}\n data-loading={loading}\n className={classNames('base-field', styles['h-field'], 'h-field', className)}\n vAlign=\"start\"\n hAlign=\"start\"\n height=\"auto\"\n gap=\"4px\"\n {...props}\n >\n <FieldHeader\n minWidth={labelWidth}\n width={labelWidth}\n id={finalId}\n label={label}\n description={description}\n required={required}\n />\n <FieldControl errorMessage={errorMessage} loading={loading} locked={locked}>\n <FieldStatusInput state={state}>{Control}</FieldStatusInput>\n </FieldControl>\n </HStack>\n );\n});\n"],"names":["idIndex","HField","React","label","description","errorMessage","Control","labelWidth","locked","loading","className","id","required","props","ref","finalId","useState","labelId","descriptionId","hasError","state","jsxs","HStack","classNames","styles","jsx","FieldHeader","FieldControl","FieldStatusInput"],"mappings":";;;;;;;;AAiBA,IAAIA,IAAU;AACP,MAAMC,IAASC,EAAM,WAAW,SACrC;AAAA,EACE,OAAAC;AAAA,EACA,aAAAC;AAAA,EACA,cAAAC;AAAA,EACA,UAAUC;AAAA,EACV,YAAAC,IAAa;AAAA,EACb,QAAAC,IAAS;AAAA,EACT,SAAAC,IAAU;AAAA,EACV,WAAAC;AAAA,EACA,IAAAC;AAAA,EACA,UAAAC;AAAA,EACA,GAAGC;AACL,GACAC,GACA;AACA,QAAM,CAACC,CAAO,IAAIC,EAAS,MAAML,KAAM,WAAWX,GAAS,EAAE,GACvDiB,IAAU,GAAGF,CAAO,UACpBG,IAAgB,GAAGH,CAAO,gBAC1BI,IAAW,EAAAd,GACXe,IAAQZ,IAAS,WAAWC,IAAU,YAAYU,IAAW,UAAU;AAE7E,SACE,gBAAAE;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,KAAAR;AAAA,MACA,IAAG;AAAA,MACH,mBAAiBG;AAAA,MACjB,oBAAkBC;AAAA,MAClB,eAAaV;AAAA,MACb,cAAYW;AAAA,MACZ,gBAAcV;AAAA,MACd,WAAWc,EAAW,cAAcC,EAAO,SAAS,GAAG,WAAWd,CAAS;AAAA,MAC3E,QAAO;AAAA,MACP,QAAO;AAAA,MACP,QAAO;AAAA,MACP,KAAI;AAAA,MACH,GAAGG;AAAA,MAEJ,UAAA;AAAA,QAAA,gBAAAY;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,UAAUnB;AAAA,YACV,OAAOA;AAAA,YACP,IAAIQ;AAAA,YACJ,OAAAZ;AAAA,YACA,aAAAC;AAAA,YACA,UAAAQ;AAAA,UAAA;AAAA,QAAA;AAAA,QAEF,gBAAAa,EAACE,KAAa,cAAAtB,GAA4B,SAAAI,GAAkB,QAAAD,GAC1D,UAAA,gBAAAiB,EAACG,GAAA,EAAiB,OAAAR,GAAe,UAAAd,EAAA,CAAQ,EAAA,CAC3C;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN,CAAC;"}
1
+ {"version":3,"file":"h_field.js","sources":["../../../../src/form/field/h_field/h_field.tsx"],"sourcesContent":["import { HStack } from '../../../stacks/h_stack.js';\nimport type { HStackOwnProps } from '../../../stacks/h_stack.js';\nimport type { WithDetailedHTMLProps } from '../../../stacks/types/as.js';\nimport { clsx } from 'clsx';\nimport React, { useState } from 'react';\nimport styles from './h_field.module.css';\nimport type { FieldInput } from '../common/types.js';\nimport { FieldHeader } from '../common/field_header.js';\nimport { FieldControl } from '../common/field_control/field_control.js';\nimport { FieldStatusInput } from '../common/status_input/status_input.js';\n\nexport interface HFieldOwnProps extends FieldInput {\n labelWidth?: string;\n children: React.ReactNode;\n}\nexport type HFieldProps = WithDetailedHTMLProps<HFieldOwnProps, 'div'> & HStackOwnProps;\n\nlet idIndex = 0;\nexport const HField = React.forwardRef(function HField(\n {\n label,\n description,\n errorMessage,\n children: Control,\n labelWidth = '40%',\n locked = false,\n loading = false,\n className,\n id,\n required,\n ...props\n }: HFieldProps,\n ref: React.Ref<HTMLDivElement>\n) {\n const [finalId] = useState(() => id || `h-field-${idIndex++}`);\n const labelId = `${finalId}-label`;\n const descriptionId = `${finalId}-description`;\n const hasError = errorMessage ? true : false;\n const state = locked ? 'locked' : loading ? 'loading' : hasError ? 'error' : 'default';\n\n return (\n <HStack\n ref={ref}\n as=\"div\"\n aria-labelledby={labelId}\n aria-describedby={descriptionId}\n data-locked={locked}\n data-error={hasError}\n data-loading={loading}\n className={clsx('base-field', styles['h-field'], 'h-field', className)}\n vAlign=\"start\"\n hAlign=\"start\"\n height=\"auto\"\n gap=\"4px\"\n {...props}\n >\n <FieldHeader\n minWidth={labelWidth}\n width={labelWidth}\n id={finalId}\n label={label}\n description={description}\n required={required}\n />\n <FieldControl errorMessage={errorMessage} loading={loading} locked={locked}>\n <FieldStatusInput state={state}>{Control}</FieldStatusInput>\n </FieldControl>\n </HStack>\n );\n});\n"],"names":["idIndex","HField","React","label","description","errorMessage","Control","labelWidth","locked","loading","className","id","required","props","ref","finalId","useState","labelId","descriptionId","hasError","state","jsxs","HStack","clsx","styles","jsx","FieldHeader","FieldControl","FieldStatusInput"],"mappings":";;;;;;;;AAiBA,IAAIA,IAAU;AACP,MAAMC,IAASC,EAAM,WAAW,SACrC;AAAA,EACE,OAAAC;AAAA,EACA,aAAAC;AAAA,EACA,cAAAC;AAAA,EACA,UAAUC;AAAA,EACV,YAAAC,IAAa;AAAA,EACb,QAAAC,IAAS;AAAA,EACT,SAAAC,IAAU;AAAA,EACV,WAAAC;AAAA,EACA,IAAAC;AAAA,EACA,UAAAC;AAAA,EACA,GAAGC;AACL,GACAC,GACA;AACA,QAAM,CAACC,CAAO,IAAIC,EAAS,MAAML,KAAM,WAAWX,GAAS,EAAE,GACvDiB,IAAU,GAAGF,CAAO,UACpBG,IAAgB,GAAGH,CAAO,gBAC1BI,IAAW,EAAAd,GACXe,IAAQZ,IAAS,WAAWC,IAAU,YAAYU,IAAW,UAAU;AAE7E,SACE,gBAAAE;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,KAAAR;AAAA,MACA,IAAG;AAAA,MACH,mBAAiBG;AAAA,MACjB,oBAAkBC;AAAA,MAClB,eAAaV;AAAA,MACb,cAAYW;AAAA,MACZ,gBAAcV;AAAA,MACd,WAAWc,EAAK,cAAcC,EAAO,SAAS,GAAG,WAAWd,CAAS;AAAA,MACrE,QAAO;AAAA,MACP,QAAO;AAAA,MACP,QAAO;AAAA,MACP,KAAI;AAAA,MACH,GAAGG;AAAA,MAEJ,UAAA;AAAA,QAAA,gBAAAY;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,UAAUnB;AAAA,YACV,OAAOA;AAAA,YACP,IAAIQ;AAAA,YACJ,OAAAZ;AAAA,YACA,aAAAC;AAAA,YACA,UAAAQ;AAAA,UAAA;AAAA,QAAA;AAAA,QAEF,gBAAAa,EAACE,KAAa,cAAAtB,GAA4B,SAAAI,GAAkB,QAAAD,GAC1D,UAAA,gBAAAiB,EAACG,GAAA,EAAiB,OAAAR,GAAe,UAAAd,EAAA,CAAQ,EAAA,CAC3C;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"v_field.d.ts","sourceRoot":"","sources":["../../../../src/form/field/v_field/v_field.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEzE,OAAO,KAAmB,MAAM,OAAO,CAAC;AAKxC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,MAAM,WAAW,cAAe,SAAQ,UAAU;IAChD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,MAAM,MAAM,WAAW,GAAG,qBAAqB,CAAC,cAAc,EAAE,KAAK,CAAC,GAAG,cAAc,CAAC;AAExF,eAAO,MAAM,MAAM,iGAwDjB,CAAC"}
1
+ {"version":3,"file":"v_field.d.ts","sourceRoot":"","sources":["../../../../src/form/field/v_field/v_field.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEzE,OAAO,KAAmB,MAAM,OAAO,CAAC;AAKxC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,WAAW,cAAe,SAAQ,UAAU;IAChD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,MAAM,MAAM,WAAW,GAAG,qBAAqB,CAAC,cAAc,EAAE,KAAK,CAAC,GAAG,cAAc,CAAC;AAExF,eAAO,MAAM,MAAM,iGAwDjB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { jsxs as x, jsx as i } from "react/jsx-runtime";
2
2
  import { VStack as g } from "../../../stacks/v_stack.js";
3
- import v from "classnames";
3
+ import { clsx as v } from "clsx";
4
4
  import F, { useState as I } from "react";
5
5
  import { FieldControl as A } from "../common/field_control/field_control.js";
6
6
  import { FieldHeader as y } from "../common/field_header.js";
@@ -13,15 +13,15 @@ const z = F.forwardRef(function({
13
13
  errorMessage: a,
14
14
  children: s,
15
15
  locked: t = !1,
16
- loading: e = !1,
17
- maxWidth: N,
18
- minWidth: R,
16
+ loading: r = !1,
17
+ maxWidth: R,
18
+ minWidth: W,
19
19
  className: n,
20
20
  id: c,
21
21
  required: f,
22
22
  ...m
23
23
  }, p) {
24
- const [r] = I(() => c || `v-field-${$++}`), l = !!a, h = `${r}-label`, u = `${r}-description`, b = t ? "locked" : e ? "loading" : l ? "error" : "default";
24
+ const [e] = I(() => c || `v-field-${$++}`), l = !!a, h = `${e}-label`, u = `${e}-description`, b = t ? "locked" : r ? "loading" : l ? "error" : "default";
25
25
  return /* @__PURE__ */ x(
26
26
  g,
27
27
  {
@@ -31,7 +31,7 @@ const z = F.forwardRef(function({
31
31
  "aria-describedby": u,
32
32
  "data-locked": t,
33
33
  "data-error": l,
34
- "data-loading": e,
34
+ "data-loading": r,
35
35
  className: v("base-field", V["v-field"], "v-field", n),
36
36
  vAlign: "start",
37
37
  hAlign: "start",
@@ -42,7 +42,7 @@ const z = F.forwardRef(function({
42
42
  /* @__PURE__ */ i(
43
43
  y,
44
44
  {
45
- id: r,
45
+ id: e,
46
46
  label: d,
47
47
  description: o,
48
48
  required: f
@@ -52,7 +52,7 @@ const z = F.forwardRef(function({
52
52
  A,
53
53
  {
54
54
  errorMessage: a,
55
- loading: e,
55
+ loading: r,
56
56
  locked: t,
57
57
  hAlign: "start",
58
58
  children: /* @__PURE__ */ i(S, { state: b, hAlign: "start", children: s })
@@ -1 +1 @@
1
- {"version":3,"file":"v_field.js","sources":["../../../../src/form/field/v_field/v_field.tsx"],"sourcesContent":["import { VStack } from '../../../stacks/v_stack.js';\nimport type { VStackOwnProps } from '../../../stacks/v_stack.js';\nimport type { WithDetailedHTMLProps } from '../../../stacks/types/as.js';\nimport classNames from 'classnames';\nimport React, { useState } from 'react';\nimport styles from './v_field.module.css';\nimport { FieldControl } from '../common/field_control/field_control.js';\nimport { FieldHeader } from '../common/field_header.js';\nimport { FieldStatusInput } from '../common/status_input/status_input.js';\nimport { FieldInput } from '../common/types.js';\n\nexport interface VFieldOwnProps extends FieldInput {\n children: React.ReactNode;\n}\n\nexport type VFieldProps = WithDetailedHTMLProps<VFieldOwnProps, 'div'> & VStackOwnProps;\nlet idIndex = 0;\nexport const VField = React.forwardRef(function VField(\n {\n label,\n description,\n errorMessage,\n children: Control,\n locked = false,\n loading = false,\n maxWidth,\n minWidth,\n className,\n id,\n required,\n ...props\n }: VFieldProps,\n ref: React.Ref<HTMLDivElement>\n) {\n const [finalId] = useState(() => id || `v-field-${idIndex++}`);\n const hasError = errorMessage ? true : false;\n const labelId = `${finalId}-label`;\n const descriptionId = `${finalId}-description`;\n const state = locked ? 'locked' : loading ? 'loading' : hasError ? 'error' : 'default';\n return (\n <VStack\n ref={ref}\n as=\"div\"\n aria-labelledby={labelId}\n aria-describedby={descriptionId}\n data-locked={locked}\n data-error={hasError}\n data-loading={loading}\n className={classNames('base-field', styles['v-field'], 'v-field', className)}\n vAlign=\"start\"\n hAlign=\"start\"\n height=\"auto\"\n gap=\"4px\"\n {...props}\n >\n <FieldHeader\n id={finalId}\n label={label}\n description={description}\n required={required}\n />\n <FieldControl\n errorMessage={errorMessage}\n loading={loading}\n locked={locked}\n hAlign=\"start\"\n >\n <FieldStatusInput state={state} hAlign=\"start\">\n {Control}\n </FieldStatusInput>\n </FieldControl>\n </VStack>\n );\n});\n"],"names":["idIndex","VField","React","label","description","errorMessage","Control","locked","loading","maxWidth","minWidth","className","id","required","props","ref","finalId","useState","hasError","labelId","descriptionId","state","jsxs","VStack","classNames","styles","jsx","FieldHeader","FieldControl","FieldStatusInput"],"mappings":";;;;;;;;AAgBA,IAAIA,IAAU;AACP,MAAMC,IAASC,EAAM,WAAW,SACrC;AAAA,EACE,OAAAC;AAAA,EACA,aAAAC;AAAA,EACA,cAAAC;AAAA,EACA,UAAUC;AAAA,EACV,QAAAC,IAAS;AAAA,EACT,SAAAC,IAAU;AAAA,EACV,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,IAAAC;AAAA,EACA,UAAAC;AAAA,EACA,GAAGC;AACL,GACAC,GACA;AACA,QAAM,CAACC,CAAO,IAAIC,EAAS,MAAML,KAAM,WAAWZ,GAAS,EAAE,GACvDkB,IAAW,EAAAb,GACXc,IAAU,GAAGH,CAAO,UACpBI,IAAgB,GAAGJ,CAAO,gBAC1BK,IAAQd,IAAS,WAAWC,IAAU,YAAYU,IAAW,UAAU;AAC7E,SACE,gBAAAI;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,KAAAR;AAAA,MACA,IAAG;AAAA,MACH,mBAAiBI;AAAA,MACjB,oBAAkBC;AAAA,MAClB,eAAab;AAAA,MACb,cAAYW;AAAA,MACZ,gBAAcV;AAAA,MACd,WAAWgB,EAAW,cAAcC,EAAO,SAAS,GAAG,WAAWd,CAAS;AAAA,MAC3E,QAAO;AAAA,MACP,QAAO;AAAA,MACP,QAAO;AAAA,MACP,KAAI;AAAA,MACH,GAAGG;AAAA,MAEJ,UAAA;AAAA,QAAA,gBAAAY;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,IAAIX;AAAA,YACJ,OAAAb;AAAA,YACA,aAAAC;AAAA,YACA,UAAAS;AAAA,UAAA;AAAA,QAAA;AAAA,QAEF,gBAAAa;AAAA,UAACE;AAAA,UAAA;AAAA,YACC,cAAAvB;AAAA,YACA,SAAAG;AAAA,YACA,QAAAD;AAAA,YACA,QAAO;AAAA,YAEP,UAAA,gBAAAmB,EAACG,GAAA,EAAiB,OAAAR,GAAc,QAAO,SACpC,UAAAf,EAAA,CACH;AAAA,UAAA;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,EAAA;AAGN,CAAC;"}
1
+ {"version":3,"file":"v_field.js","sources":["../../../../src/form/field/v_field/v_field.tsx"],"sourcesContent":["import { VStack } from '../../../stacks/v_stack.js';\nimport type { VStackOwnProps } from '../../../stacks/v_stack.js';\nimport type { WithDetailedHTMLProps } from '../../../stacks/types/as.js';\nimport { clsx } from 'clsx';\nimport React, { useState } from 'react';\nimport styles from './v_field.module.css';\nimport { FieldControl } from '../common/field_control/field_control.js';\nimport { FieldHeader } from '../common/field_header.js';\nimport { FieldStatusInput } from '../common/status_input/status_input.js';\nimport type { FieldInput } from '../common/types.js';\n\nexport interface VFieldOwnProps extends FieldInput {\n children: React.ReactNode;\n}\n\nexport type VFieldProps = WithDetailedHTMLProps<VFieldOwnProps, 'div'> & VStackOwnProps;\nlet idIndex = 0;\nexport const VField = React.forwardRef(function VField(\n {\n label,\n description,\n errorMessage,\n children: Control,\n locked = false,\n loading = false,\n maxWidth,\n minWidth,\n className,\n id,\n required,\n ...props\n }: VFieldProps,\n ref: React.Ref<HTMLDivElement>\n) {\n const [finalId] = useState(() => id || `v-field-${idIndex++}`);\n const hasError = errorMessage ? true : false;\n const labelId = `${finalId}-label`;\n const descriptionId = `${finalId}-description`;\n const state = locked ? 'locked' : loading ? 'loading' : hasError ? 'error' : 'default';\n return (\n <VStack\n ref={ref}\n as=\"div\"\n aria-labelledby={labelId}\n aria-describedby={descriptionId}\n data-locked={locked}\n data-error={hasError}\n data-loading={loading}\n className={clsx('base-field', styles['v-field'], 'v-field', className)}\n vAlign=\"start\"\n hAlign=\"start\"\n height=\"auto\"\n gap=\"4px\"\n {...props}\n >\n <FieldHeader\n id={finalId}\n label={label}\n description={description}\n required={required}\n />\n <FieldControl\n errorMessage={errorMessage}\n loading={loading}\n locked={locked}\n hAlign=\"start\"\n >\n <FieldStatusInput state={state} hAlign=\"start\">\n {Control}\n </FieldStatusInput>\n </FieldControl>\n </VStack>\n );\n});\n"],"names":["idIndex","VField","React","label","description","errorMessage","Control","locked","loading","maxWidth","minWidth","className","id","required","props","ref","finalId","useState","hasError","labelId","descriptionId","state","jsxs","VStack","clsx","styles","jsx","FieldHeader","FieldControl","FieldStatusInput"],"mappings":";;;;;;;;AAgBA,IAAIA,IAAU;AACP,MAAMC,IAASC,EAAM,WAAW,SACrC;AAAA,EACE,OAAAC;AAAA,EACA,aAAAC;AAAA,EACA,cAAAC;AAAA,EACA,UAAUC;AAAA,EACV,QAAAC,IAAS;AAAA,EACT,SAAAC,IAAU;AAAA,EACV,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,IAAAC;AAAA,EACA,UAAAC;AAAA,EACA,GAAGC;AACL,GACAC,GACA;AACA,QAAM,CAACC,CAAO,IAAIC,EAAS,MAAML,KAAM,WAAWZ,GAAS,EAAE,GACvDkB,IAAW,EAAAb,GACXc,IAAU,GAAGH,CAAO,UACpBI,IAAgB,GAAGJ,CAAO,gBAC1BK,IAAQd,IAAS,WAAWC,IAAU,YAAYU,IAAW,UAAU;AAC7E,SACE,gBAAAI;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,KAAAR;AAAA,MACA,IAAG;AAAA,MACH,mBAAiBI;AAAA,MACjB,oBAAkBC;AAAA,MAClB,eAAab;AAAA,MACb,cAAYW;AAAA,MACZ,gBAAcV;AAAA,MACd,WAAWgB,EAAK,cAAcC,EAAO,SAAS,GAAG,WAAWd,CAAS;AAAA,MACrE,QAAO;AAAA,MACP,QAAO;AAAA,MACP,QAAO;AAAA,MACP,KAAI;AAAA,MACH,GAAGG;AAAA,MAEJ,UAAA;AAAA,QAAA,gBAAAY;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,IAAIX;AAAA,YACJ,OAAAb;AAAA,YACA,aAAAC;AAAA,YACA,UAAAS;AAAA,UAAA;AAAA,QAAA;AAAA,QAEF,gBAAAa;AAAA,UAACE;AAAA,UAAA;AAAA,YACC,cAAAvB;AAAA,YACA,SAAAG;AAAA,YACA,QAAAD;AAAA,YACA,QAAO;AAAA,YAEP,UAAA,gBAAAmB,EAACG,GAAA,EAAiB,OAAAR,GAAc,QAAO,SACpC,UAAAf,EAAA,CACH;AAAA,UAAA;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,EAAA;AAGN,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"options_field_presenter.d.ts","sourceRoot":"","sources":["../../../src/form/field_presenters/options_field_presenter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEhF,MAAM,WAAW,iBAAiB,CAAC,MAAM,GAAG,MAAM,EAAE,OAAO,GAAG,MAAM,CAClE,SAAQ,UAAU,CAAC,MAAM,CAAC;IAC1B,OAAO,EAAE,OAAO,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB,CAAC,MAAM,GAAG,MAAM,EAAE,OAAO,GAAG,MAAM,CACpE,SAAQ,YAAY,CAAC,MAAM,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;CACrB;AAED,qBAAa,qBAAqB,CAChC,MAAM,GAAG,MAAM,EACf,OAAO,GAAG,MAAM,CAChB,SAAQ,cAAc,CAAC,MAAM,CAAC;IAC9B,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IAEtC,IAAI,gBAAgB,+CAEnB;gBAGC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC;IAM/C,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE;CAG9B"}
1
+ {"version":3,"file":"options_field_presenter.d.ts","sourceRoot":"","sources":["../../../src/form/field_presenters/options_field_presenter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,KAAK,YAAY,EAAE,cAAc,EAAE,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAE1F,MAAM,WAAW,iBAAiB,CAAC,MAAM,GAAG,MAAM,EAAE,OAAO,GAAG,MAAM,CAClE,SAAQ,UAAU,CAAC,MAAM,CAAC;IAC1B,OAAO,EAAE,OAAO,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB,CAAC,MAAM,GAAG,MAAM,EAAE,OAAO,GAAG,MAAM,CACpE,SAAQ,YAAY,CAAC,MAAM,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;CACrB;AAED,qBAAa,qBAAqB,CAChC,MAAM,GAAG,MAAM,EACf,OAAO,GAAG,MAAM,CAChB,SAAQ,cAAc,CAAC,MAAM,CAAC;IAC9B,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IAEtC,IAAI,gBAAgB,+CAEnB;gBAGC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC;IAM/C,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE;CAG9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"options_field_presenter.js","sources":["../../../src/form/field_presenters/options_field_presenter.ts"],"sourcesContent":["import { Signal } from '@tcn/state';\nimport { FieldOptions, FieldPresenter, FieldState } from './field_presenter.js';\n\nexport interface OptionsFieldState<TValue = string, TOption = string>\n extends FieldState<TValue> {\n options: TOption[];\n}\n\nexport interface OptionsFieldOptions<TValue = string, TOption = string>\n extends FieldOptions<TValue> {\n options?: TOption[];\n}\n\nexport class OptionsFieldPresenter<\n TValue = string,\n TOption = TValue,\n> extends FieldPresenter<TValue> {\n protected _options: Signal<TOption[]>;\n\n get optionsBroadcast() {\n return this._options.broadcast;\n }\n\n constructor(\n label: string,\n value: TValue,\n options: OptionsFieldOptions<TValue, TOption>\n ) {\n super(label, value, options);\n this._options = new Signal(options.options || []);\n }\n\n setOptions(options: TOption[]) {\n this._options.set(options);\n }\n}\n"],"names":["OptionsFieldPresenter","FieldPresenter","label","value","options","Signal"],"mappings":";;AAaO,MAAMA,UAGHC,EAAuB;AAAA,EACrB;AAAA,EAEV,IAAI,mBAAmB;AACrB,WAAO,KAAK,SAAS;AAAA,EACvB;AAAA,EAEA,YACEC,GACAC,GACAC,GACA;AACA,UAAMF,GAAOC,GAAOC,CAAO,GAC3B,KAAK,WAAW,IAAIC,EAAOD,EAAQ,WAAW,CAAA,CAAE;AAAA,EAClD;AAAA,EAEA,WAAWA,GAAoB;AAC7B,SAAK,SAAS,IAAIA,CAAO;AAAA,EAC3B;AACF;"}
1
+ {"version":3,"file":"options_field_presenter.js","sources":["../../../src/form/field_presenters/options_field_presenter.ts"],"sourcesContent":["import { Signal } from '@tcn/state';\nimport { type FieldOptions, FieldPresenter, type FieldState } from './field_presenter.js';\n\nexport interface OptionsFieldState<TValue = string, TOption = string>\n extends FieldState<TValue> {\n options: TOption[];\n}\n\nexport interface OptionsFieldOptions<TValue = string, TOption = string>\n extends FieldOptions<TValue> {\n options?: TOption[];\n}\n\nexport class OptionsFieldPresenter<\n TValue = string,\n TOption = TValue,\n> extends FieldPresenter<TValue> {\n protected _options: Signal<TOption[]>;\n\n get optionsBroadcast() {\n return this._options.broadcast;\n }\n\n constructor(\n label: string,\n value: TValue,\n options: OptionsFieldOptions<TValue, TOption>\n ) {\n super(label, value, options);\n this._options = new Signal(options.options || []);\n }\n\n setOptions(options: TOption[]) {\n this._options.set(options);\n }\n}\n"],"names":["OptionsFieldPresenter","FieldPresenter","label","value","options","Signal"],"mappings":";;AAaO,MAAMA,UAGHC,EAAuB;AAAA,EACrB;AAAA,EAEV,IAAI,mBAAmB;AACrB,WAAO,KAAK,SAAS;AAAA,EACvB;AAAA,EAEA,YACEC,GACAC,GACAC,GACA;AACA,UAAMF,GAAOC,GAAOC,CAAO,GAC3B,KAAK,WAAW,IAAIC,EAAOD,EAAQ,WAAW,CAAA,CAAE;AAAA,EAClD;AAAA,EAEA,WAAWA,GAAoB;AAC7B,SAAK,SAAS,IAAIA,CAAO;AAAA,EAC3B;AACF;"}
@@ -1 +1 @@
1
- {"version":3,"file":"field_set.d.ts","sourceRoot":"","sources":["../../../src/form/field_set/field_set.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,KAAkB,MAAM,OAAO,CAAC;AAKvC,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC,mBAAmB,CAAC,GAAG;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAClC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACjC,CAAC;AAEF,eAAO,MAAM,QAAQ;aALV,MAAM;sBACG,KAAK,CAAC,SAAS;oBACjB,KAAK,CAAC,SAAS;6CAkD/B,CAAC"}
1
+ {"version":3,"file":"field_set.d.ts","sourceRoot":"","sources":["../../../src/form/field_set/field_set.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,KAAkB,MAAM,OAAO,CAAC;AAKvC,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC,mBAAmB,CAAC,GAAG;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAClC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACjC,CAAC;AAEF,eAAO,MAAM,QAAQ;aALV,MAAM;sBACG,KAAK,CAAC,SAAS;oBACjB,KAAK,CAAC,SAAS;6CA+C/B,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { jsxs as r, jsx as e } from "react/jsx-runtime";
2
- import i from "classnames";
2
+ import { clsx as i } from "clsx";
3
3
  import "../../body_text.module-h4XQE2pC.js";
4
4
  import "../../callout.module-D8ECmxpO.js";
5
5
  import "../../caption.module-DDq0H4xZ.js";
@@ -11,30 +11,30 @@ import { HStack as b } from "../../stacks/h_stack.js";
11
11
  import { Spacer as f } from "../../stacks/spacer.js";
12
12
  import { VStack as m } from "../../stacks/v_stack.js";
13
13
  import y, { useMemo as S } from "react";
14
- import '../../field_set.css';const g = "_field-set_8e981d9", u = "_field-set-body_4cd3139", a = { "field-set": g, "field-set-body": u };
15
- let x = 0;
14
+ import '../../field_set.css';const x = "_field-set_8e981d9", g = "_field-set-body_4cd3139", c = { "field-set": x, "field-set-body": g };
15
+ let u = 0;
16
16
  const q = y.forwardRef(function({
17
17
  legend: l,
18
18
  startAdornments: d,
19
- endAdornments: s,
20
- className: c,
19
+ endAdornments: o,
20
+ className: a,
21
21
  children: n,
22
22
  ...t
23
23
  }, p) {
24
- const o = `field-set-${S(() => x++, [])}`;
24
+ const s = `field-set-${S(() => u++, [])}`;
25
25
  return /* @__PURE__ */ r(
26
26
  m,
27
27
  {
28
28
  as: "fieldset",
29
- "aria-labelledby": o,
29
+ "aria-labelledby": s,
30
30
  ref: p,
31
- className: i(a["field-set"], c, "field-set"),
31
+ className: i(c["field-set"], a, "field-set"),
32
32
  ...t,
33
33
  children: [
34
34
  l && /* @__PURE__ */ r(
35
35
  b,
36
36
  {
37
- id: o,
37
+ id: s,
38
38
  className: i("legend", "field-set-legend"),
39
39
  hAlign: "start",
40
40
  height: t.height,
@@ -42,19 +42,12 @@ const q = y.forwardRef(function({
42
42
  d,
43
43
  d && /* @__PURE__ */ e(f, { width: "8px" }),
44
44
  /* @__PURE__ */ e(h, { className: "field-set-legend-text", children: l }),
45
- s && /* @__PURE__ */ e(f, {}),
46
- s
45
+ o && /* @__PURE__ */ e(f, {}),
46
+ o
47
47
  ]
48
48
  }
49
49
  ),
50
- /* @__PURE__ */ e(
51
- m,
52
- {
53
- className: i("field-set-body", a["field-set-body"]),
54
- ...t,
55
- children: n
56
- }
57
- )
50
+ /* @__PURE__ */ e(m, { className: i("field-set-body", c["field-set-body"]), ...t, children: n })
58
51
  ]
59
52
  }
60
53
  );
@@ -1 +1 @@
1
- {"version":3,"file":"field_set.js","sources":["../../../src/form/field_set/field_set.tsx"],"sourcesContent":["import { Title } from '../../typography/index.js';\nimport { HStack } from '../../stacks/h_stack.js';\nimport { Spacer } from '../../stacks/spacer.js';\nimport { VStack } from '../../stacks/v_stack.js';\nimport type { VStackProps } from '../../stacks/v_stack.js';\nimport classnames from 'classnames';\nimport React, { useMemo } from 'react';\nimport styles from './field_set.module.css';\n\nlet fieldsetIdCount = 0;\n\nexport type FieldSetProps = VStackProps<HTMLFieldSetElement> & {\n legend?: string;\n startAdornments?: React.ReactNode;\n endAdornments?: React.ReactNode;\n};\n\nexport const FieldSet = React.forwardRef(function FieldSet(\n {\n legend,\n startAdornments,\n endAdornments,\n className,\n children,\n ...props\n }: FieldSetProps,\n ref: React.Ref<HTMLFieldSetElement>\n) {\n const id = useMemo(() => {\n return fieldsetIdCount++;\n }, []);\n\n const labelId = `field-set-${id}`;\n\n return (\n <VStack\n as=\"fieldset\"\n aria-labelledby={labelId}\n ref={ref}\n className={classnames(styles['field-set'], className, 'field-set')}\n {...props}\n >\n {legend && (\n <HStack\n id={labelId}\n className={classnames('legend', 'field-set-legend')}\n hAlign=\"start\"\n height={props.height}\n >\n {startAdornments}\n {startAdornments && <Spacer width=\"8px\" />}\n <Title className=\"field-set-legend-text\">{legend}</Title>\n {endAdornments && <Spacer />}\n {endAdornments}\n </HStack>\n )}\n <VStack\n className={classnames('field-set-body', styles['field-set-body'])}\n {...props}\n >\n {children}\n </VStack>\n </VStack>\n );\n});\n"],"names":["fieldsetIdCount","FieldSet","React","legend","startAdornments","endAdornments","className","children","props","ref","labelId","useMemo","jsxs","VStack","classnames","styles","HStack","jsx","Spacer","Title"],"mappings":";;;;;;;;;;;;;;AASA,IAAIA,IAAkB;AAQf,MAAMC,IAAWC,EAAM,WAAW,SACvC;AAAA,EACE,QAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,eAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,GAAGC;AACL,GACAC,GACA;AAKA,QAAMC,IAAU,aAJLC,EAAQ,MACVX,KACN,CAAA,CAAE,CAE0B;AAE/B,SACE,gBAAAY;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,IAAG;AAAA,MACH,mBAAiBH;AAAA,MACjB,KAAAD;AAAA,MACA,WAAWK,EAAWC,EAAO,WAAW,GAAGT,GAAW,WAAW;AAAA,MAChE,GAAGE;AAAA,MAEH,UAAA;AAAA,QAAAL,KACC,gBAAAS;AAAA,UAACI;AAAA,UAAA;AAAA,YACC,IAAIN;AAAA,YACJ,WAAWI,EAAW,UAAU,kBAAkB;AAAA,YAClD,QAAO;AAAA,YACP,QAAQN,EAAM;AAAA,YAEb,UAAA;AAAA,cAAAJ;AAAA,cACAA,KAAmB,gBAAAa,EAACC,GAAA,EAAO,OAAM,MAAA,CAAM;AAAA,cACxC,gBAAAD,EAACE,GAAA,EAAM,WAAU,yBAAyB,UAAAhB,GAAO;AAAA,cAChDE,uBAAkBa,GAAA,EAAO;AAAA,cACzBb;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA;AAAA,QAGL,gBAAAY;AAAA,UAACJ;AAAA,UAAA;AAAA,YACC,WAAWC,EAAW,kBAAkBC,EAAO,gBAAgB,CAAC;AAAA,YAC/D,GAAGP;AAAA,YAEH,UAAAD;AAAA,UAAA;AAAA,QAAA;AAAA,MACH;AAAA,IAAA;AAAA,EAAA;AAGN,CAAC;"}
1
+ {"version":3,"file":"field_set.js","sources":["../../../src/form/field_set/field_set.tsx"],"sourcesContent":["import { Title } from '../../typography/index.js';\nimport { HStack } from '../../stacks/h_stack.js';\nimport { Spacer } from '../../stacks/spacer.js';\nimport { VStack } from '../../stacks/v_stack.js';\nimport type { VStackProps } from '../../stacks/v_stack.js';\nimport { clsx } from 'clsx';\nimport React, { useMemo } from 'react';\nimport styles from './field_set.module.css';\n\nlet fieldsetIdCount = 0;\n\nexport type FieldSetProps = VStackProps<HTMLFieldSetElement> & {\n legend?: string;\n startAdornments?: React.ReactNode;\n endAdornments?: React.ReactNode;\n};\n\nexport const FieldSet = React.forwardRef(function FieldSet(\n {\n legend,\n startAdornments,\n endAdornments,\n className,\n children,\n ...props\n }: FieldSetProps,\n ref: React.Ref<HTMLFieldSetElement>\n) {\n const id = useMemo(() => {\n return fieldsetIdCount++;\n }, []);\n\n const labelId = `field-set-${id}`;\n\n return (\n <VStack\n as=\"fieldset\"\n aria-labelledby={labelId}\n ref={ref}\n className={clsx(styles['field-set'], className, 'field-set')}\n {...props}\n >\n {legend && (\n <HStack\n id={labelId}\n className={clsx('legend', 'field-set-legend')}\n hAlign=\"start\"\n height={props.height}\n >\n {startAdornments}\n {startAdornments && <Spacer width=\"8px\" />}\n <Title className=\"field-set-legend-text\">{legend}</Title>\n {endAdornments && <Spacer />}\n {endAdornments}\n </HStack>\n )}\n <VStack className={clsx('field-set-body', styles['field-set-body'])} {...props}>\n {children}\n </VStack>\n </VStack>\n );\n});\n"],"names":["fieldsetIdCount","FieldSet","React","legend","startAdornments","endAdornments","className","children","props","ref","labelId","useMemo","jsxs","VStack","clsx","styles","HStack","jsx","Spacer","Title"],"mappings":";;;;;;;;;;;;;;AASA,IAAIA,IAAkB;AAQf,MAAMC,IAAWC,EAAM,WAAW,SACvC;AAAA,EACE,QAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,eAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,GAAGC;AACL,GACAC,GACA;AAKA,QAAMC,IAAU,aAJLC,EAAQ,MACVX,KACN,CAAA,CAAE,CAE0B;AAE/B,SACE,gBAAAY;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,IAAG;AAAA,MACH,mBAAiBH;AAAA,MACjB,KAAAD;AAAA,MACA,WAAWK,EAAKC,EAAO,WAAW,GAAGT,GAAW,WAAW;AAAA,MAC1D,GAAGE;AAAA,MAEH,UAAA;AAAA,QAAAL,KACC,gBAAAS;AAAA,UAACI;AAAA,UAAA;AAAA,YACC,IAAIN;AAAA,YACJ,WAAWI,EAAK,UAAU,kBAAkB;AAAA,YAC5C,QAAO;AAAA,YACP,QAAQN,EAAM;AAAA,YAEb,UAAA;AAAA,cAAAJ;AAAA,cACAA,KAAmB,gBAAAa,EAACC,GAAA,EAAO,OAAM,MAAA,CAAM;AAAA,cACxC,gBAAAD,EAACE,GAAA,EAAM,WAAU,yBAAyB,UAAAhB,GAAO;AAAA,cAChDE,uBAAkBa,GAAA,EAAO;AAAA,cACzBb;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA;AAAA,QAGL,gBAAAY,EAACJ,GAAA,EAAO,WAAWC,EAAK,kBAAkBC,EAAO,gBAAgB,CAAC,GAAI,GAAGP,GACtE,UAAAD,EAAA,CACH;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"form_field.d.ts","sourceRoot":"","sources":["../../src/form/form_field.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AAEnF,wBAAgB,SAAS,CAAC,CAAC,EAAE,EAC3B,KAAK,EACL,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IACzB,QAAQ,EAAE,CACR,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,EACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,EAC5B,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,KAC1B,KAAK,CAAC,YAAY,CAAC;CACzB,0FAcA"}
1
+ {"version":3,"file":"form_field.d.ts","sourceRoot":"","sources":["../../src/form/form_field.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,KAAK,UAAU,EAAE,MAAM,uCAAuC,CAAC;AAExF,wBAAgB,SAAS,CAAC,CAAC,EAAE,EAC3B,KAAK,EACL,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IACzB,QAAQ,EAAE,CACR,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,EACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,EAC5B,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,KAC1B,KAAK,CAAC,YAAY,CAAC;CACzB,0FAcA"}
@@ -1 +1 @@
1
- {"version":3,"file":"form_field.js","sources":["../../src/form/form_field.tsx"],"sourcesContent":["import { useCallback } from 'react';\nimport { useSignalValue } from '@tcn/state';\nimport { FieldPresenter, FieldState } from './field_presenters/field_presenter.js';\n\nexport function FormField<T>({\n field,\n children,\n}: {\n field: FieldPresenter<T>;\n children: (\n state: FieldState<T>,\n setValue: (value: T) => void,\n validate: () => Promise<void>\n ) => React.ReactElement;\n}) {\n const state = useSignalValue(field.stateBroadcast);\n const setValue = useCallback(\n (value: T) => {\n field.setValue(value);\n },\n [field]\n );\n\n const validate = useCallback(() => {\n return field.validate();\n }, [field]);\n\n return children(state, setValue, validate);\n}\n"],"names":["FormField","field","children","state","useSignalValue","setValue","useCallback","value","validate"],"mappings":";;AAIO,SAASA,EAAa;AAAA,EAC3B,OAAAC;AAAA,EACA,UAAAC;AACF,GAOG;AACD,QAAMC,IAAQC,EAAeH,EAAM,cAAc,GAC3CI,IAAWC;AAAA,IACf,CAACC,MAAa;AACZ,MAAAN,EAAM,SAASM,CAAK;AAAA,IACtB;AAAA,IACA,CAACN,CAAK;AAAA,EAAA,GAGFO,IAAWF,EAAY,MACpBL,EAAM,SAAA,GACZ,CAACA,CAAK,CAAC;AAEV,SAAOC,EAASC,GAAOE,GAAUG,CAAQ;AAC3C;"}
1
+ {"version":3,"file":"form_field.js","sources":["../../src/form/form_field.tsx"],"sourcesContent":["import { useCallback } from 'react';\nimport { useSignalValue } from '@tcn/state';\nimport { FieldPresenter, type FieldState } from './field_presenters/field_presenter.js';\n\nexport function FormField<T>({\n field,\n children,\n}: {\n field: FieldPresenter<T>;\n children: (\n state: FieldState<T>,\n setValue: (value: T) => void,\n validate: () => Promise<void>\n ) => React.ReactElement;\n}) {\n const state = useSignalValue(field.stateBroadcast);\n const setValue = useCallback(\n (value: T) => {\n field.setValue(value);\n },\n [field]\n );\n\n const validate = useCallback(() => {\n return field.validate();\n }, [field]);\n\n return children(state, setValue, validate);\n}\n"],"names":["FormField","field","children","state","useSignalValue","setValue","useCallback","value","validate"],"mappings":";;AAIO,SAASA,EAAa;AAAA,EAC3B,OAAAC;AAAA,EACA,UAAAC;AACF,GAOG;AACD,QAAMC,IAAQC,EAAeH,EAAM,cAAc,GAC3CI,IAAWC;AAAA,IACf,CAACC,MAAa;AACZ,MAAAN,EAAM,SAASM,CAAK;AAAA,IACtB;AAAA,IACA,CAACN,CAAK;AAAA,EAAA,GAGFO,IAAWF,EAAY,MACpBL,EAAM,SAAA,GACZ,CAACA,CAAK,CAAC;AAEV,SAAOC,EAASC,GAAOE,GAAUG,CAAQ;AAC3C;"}
@@ -1,12 +1,15 @@
1
- export * from './form_field.js';
2
- export * from './field_presenters/field_presenter.js';
3
- export * from './field_presenters/options_field_presenter.js';
4
- export * from './field_set/field_set.js';
5
- export * from './form_field.js';
6
- export * from './field/v_field/v_field.js';
7
- export * from './field/h_field/h_field.js';
8
- export * from './field/field.js';
9
- export * from './field/common/field_header.js';
10
- export * from './field/common/field_label.js';
11
- export * from './field/common/field_description.js';
1
+ export { type FieldControlOwnProps, type FieldControlProps, FieldControl, } from './field/common/field_control/field_control.js';
2
+ export { AdornmentMap, type StatusInputState, type StatusInputOwnProps, type StatusInputProps, FieldStatusInput, } from './field/common/status_input/status_input.js';
3
+ export { FieldDescription, type FieldDescriptionOwnProps, } from './field/common/field_description.js';
4
+ export { type FieldErrorMessageOwnProps, FieldErrorMessage, } from './field/common/field_error.js';
5
+ export { FieldHeader, type FieldHeaderProps, type FieldHeaderOwnProps, } from './field/common/field_header.js';
6
+ export { FieldLabel, type FieldLabelOwnProps } from './field/common/field_label.js';
7
+ export type { FieldInput } from './field/common/types.js';
8
+ export { HField, type HFieldProps, type HFieldOwnProps, } from './field/h_field/h_field.js';
9
+ export { VField, type VFieldProps, type VFieldOwnProps, } from './field/v_field/v_field.js';
10
+ export { Field, type FieldProps } from './field/field.js';
11
+ export { FieldPresenter, type FieldState, type FieldOptions, } from './field_presenters/field_presenter.js';
12
+ export { OptionsFieldPresenter, type OptionsFieldState, type OptionsFieldOptions, } from './field_presenters/options_field_presenter.js';
13
+ export { FieldSet, type FieldSetProps } from './field_set/field_set.js';
14
+ export { FormField } from './form_field.js';
12
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/form/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,uCAAuC,CAAC;AACtD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kBAAkB,CAAC;AACjC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qCAAqC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/form/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,YAAY,GACb,MAAM,+CAA+C,CAAC;AACvD,OAAO,EACL,YAAY,EACZ,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,gBAAgB,GACjB,MAAM,6CAA6C,CAAC;AACrD,OAAO,EACL,gBAAgB,EAChB,KAAK,wBAAwB,GAC9B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,KAAK,yBAAyB,EAC9B,iBAAiB,GAClB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,WAAW,EACX,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,GACzB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,KAAK,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACpF,YAAY,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EACL,MAAM,EACN,KAAK,WAAW,EAChB,KAAK,cAAc,GACpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,MAAM,EACN,KAAK,WAAW,EAChB,KAAK,cAAc,GACpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EACL,cAAc,EACd,KAAK,UAAU,EACf,KAAK,YAAY,GAClB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,qBAAqB,EACrB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,GACzB,MAAM,+CAA+C,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC"}
@@ -1,23 +1,30 @@
1
- import { FormField as o } from "./form_field.js";
2
- import { FieldPresenter as i } from "./field_presenters/field_presenter.js";
3
- import { OptionsFieldPresenter as d } from "./field_presenters/options_field_presenter.js";
4
- import { FieldSet as m } from "./field_set/field_set.js";
5
- import { VField as f } from "./field/v_field/v_field.js";
6
- import { HField as n } from "./field/h_field/h_field.js";
7
- import { Field as a } from "./field/field.js";
8
- import { FieldHeader as P } from "./field/common/field_header.js";
9
- import { FieldLabel as c } from "./field/common/field_label.js";
10
- import { FieldDescription as L } from "./field/common/field_description.js";
1
+ import { FieldControl as o } from "./field/common/field_control/field_control.js";
2
+ import { AdornmentMap as p, FieldStatusInput as i } from "./field/common/status_input/status_input.js";
3
+ import { FieldDescription as l } from "./field/common/field_description.js";
4
+ import { FieldErrorMessage as F } from "./field/common/field_error.js";
5
+ import { FieldHeader as x } from "./field/common/field_header.js";
6
+ import { FieldLabel as s } from "./field/common/field_label.js";
7
+ import { HField as u } from "./field/h_field/h_field.js";
8
+ import { VField as M } from "./field/v_field/v_field.js";
9
+ import { Field as S } from "./field/field.js";
10
+ import { FieldPresenter as c } from "./field_presenters/field_presenter.js";
11
+ import { OptionsFieldPresenter as A } from "./field_presenters/options_field_presenter.js";
12
+ import { FieldSet as D } from "./field_set/field_set.js";
13
+ import { FormField as I } from "./form_field.js";
11
14
  export {
12
- a as Field,
13
- L as FieldDescription,
14
- P as FieldHeader,
15
- c as FieldLabel,
16
- i as FieldPresenter,
17
- m as FieldSet,
18
- o as FormField,
19
- n as HField,
20
- d as OptionsFieldPresenter,
21
- f as VField
15
+ p as AdornmentMap,
16
+ S as Field,
17
+ o as FieldControl,
18
+ l as FieldDescription,
19
+ F as FieldErrorMessage,
20
+ x as FieldHeader,
21
+ s as FieldLabel,
22
+ c as FieldPresenter,
23
+ D as FieldSet,
24
+ i as FieldStatusInput,
25
+ I as FormField,
26
+ u as HField,
27
+ A as OptionsFieldPresenter,
28
+ M as VField
22
29
  };
23
30
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;"}
package/dist/h_body.css CHANGED
@@ -1 +1 @@
1
- ._h-body_d56f4f1{gap:var(--gap-medium);padding:var(--padding-medium)}
1
+ ._h-body_d56f4f1{min-width:0;flex-grow:1;height:100%}
@@ -1,30 +1,30 @@
1
- import { jsx as i } from "react/jsx-runtime";
2
- import x from "classnames";
1
+ import { jsx as x } from "react/jsx-runtime";
2
+ import { clsx as i } from "clsx";
3
3
  import d from "react";
4
4
  import '../../checkbox.css';const f = "_checkbox_cb77818", h = { checkbox: f }, y = d.forwardRef(function({
5
5
  style: a,
6
- className: s,
7
- width: r,
6
+ className: r,
7
+ width: s,
8
8
  height: b,
9
- checked: e,
9
+ checked: c,
10
10
  inputRef: l,
11
- onChange: c,
11
+ onChange: e,
12
12
  ...o
13
13
  }, n) {
14
- return /* @__PURE__ */ i(
14
+ return /* @__PURE__ */ x(
15
15
  "input",
16
16
  {
17
17
  ref: n,
18
- "data-checked": e,
18
+ "data-checked": c,
19
19
  "data-is-disabled": o.disabled || !1,
20
- checked: e,
20
+ checked: c,
21
21
  type: "checkbox",
22
22
  onChange: (t) => {
23
- c && c(!!t.currentTarget.checked, t);
23
+ e && e(!!t.currentTarget.checked, t);
24
24
  },
25
25
  ...o,
26
- className: x(s, h.checkbox, "checkbox"),
27
- style: { width: r, height: b, ...a }
26
+ className: i(r, h.checkbox, "checkbox"),
27
+ style: { width: s, height: b, ...a }
28
28
  }
29
29
  );
30
30
  });
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox.js","sources":["../../../src/inputs/checkbox/checkbox.tsx"],"sourcesContent":["import classnames from 'classnames';\nimport React, { HTMLAttributes } from 'react';\nimport styles from './checkbox.module.css';\n\nexport interface CheckboxProps\n extends Omit<HTMLAttributes<HTMLInputElement>, 'onChange'> {\n width?: string;\n height?: string;\n checked?: boolean;\n inputRef?: React.Ref<HTMLInputElement>;\n disabled?: boolean;\n onChange?: (value: boolean, event: React.ChangeEvent<HTMLInputElement>) => void;\n}\n\nexport const Checkbox = React.forwardRef(function Checkbox(\n {\n style,\n className,\n width,\n height,\n checked,\n inputRef,\n onChange,\n ...props\n }: CheckboxProps,\n ref: React.Ref<HTMLInputElement>\n) {\n return (\n <input\n ref={ref}\n data-checked={checked}\n data-is-disabled={props.disabled || false}\n checked={checked}\n type=\"checkbox\"\n onChange={e => {\n onChange && onChange(Boolean(e.currentTarget.checked), e);\n }}\n {...props}\n className={classnames(className, styles.checkbox, 'checkbox')}\n style={{ width, height, ...style }}\n />\n );\n});\n"],"names":["Checkbox","React","style","className","width","height","checked","inputRef","onChange","props","ref","jsx","e","classnames","styles"],"mappings":";;;oDAcaA,IAAWC,EAAM,WAAW,SACvC;AAAA,EACE,OAAAC;AAAA,EACA,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,QAAAC;AAAA,EACA,SAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,GAAGC;AACL,GACAC,GACA;AACA,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAD;AAAA,MACA,gBAAcJ;AAAA,MACd,oBAAkBG,EAAM,YAAY;AAAA,MACpC,SAAAH;AAAA,MACA,MAAK;AAAA,MACL,UAAU,CAAAM,MAAK;AACb,QAAAJ,KAAYA,EAAS,EAAQI,EAAE,cAAc,SAAUA,CAAC;AAAA,MAC1D;AAAA,MACC,GAAGH;AAAA,MACJ,WAAWI,EAAWV,GAAWW,EAAO,UAAU,UAAU;AAAA,MAC5D,OAAO,EAAE,OAAAV,GAAO,QAAAC,GAAQ,GAAGH,EAAA;AAAA,IAAM;AAAA,EAAA;AAGvC,CAAC;"}
1
+ {"version":3,"file":"checkbox.js","sources":["../../../src/inputs/checkbox/checkbox.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport React, { HTMLAttributes } from 'react';\nimport styles from './checkbox.module.css';\n\nexport interface CheckboxProps\n extends Omit<HTMLAttributes<HTMLInputElement>, 'onChange'> {\n width?: string;\n height?: string;\n checked?: boolean;\n inputRef?: React.Ref<HTMLInputElement>;\n disabled?: boolean;\n onChange?: (value: boolean, event: React.ChangeEvent<HTMLInputElement>) => void;\n}\n\nexport const Checkbox = React.forwardRef(function Checkbox(\n {\n style,\n className,\n width,\n height,\n checked,\n inputRef,\n onChange,\n ...props\n }: CheckboxProps,\n ref: React.Ref<HTMLInputElement>\n) {\n return (\n <input\n ref={ref}\n data-checked={checked}\n data-is-disabled={props.disabled || false}\n checked={checked}\n type=\"checkbox\"\n onChange={e => {\n onChange && onChange(Boolean(e.currentTarget.checked), e);\n }}\n {...props}\n className={clsx(className, styles.checkbox, 'checkbox')}\n style={{ width, height, ...style }}\n />\n );\n});\n"],"names":["Checkbox","React","style","className","width","height","checked","inputRef","onChange","props","ref","jsx","e","clsx","styles"],"mappings":";;;oDAcaA,IAAWC,EAAM,WAAW,SACvC;AAAA,EACE,OAAAC;AAAA,EACA,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,QAAAC;AAAA,EACA,SAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,GAAGC;AACL,GACAC,GACA;AACA,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAD;AAAA,MACA,gBAAcJ;AAAA,MACd,oBAAkBG,EAAM,YAAY;AAAA,MACpC,SAAAH;AAAA,MACA,MAAK;AAAA,MACL,UAAU,CAAAM,MAAK;AACb,QAAAJ,KAAYA,EAAS,EAAQI,EAAE,cAAc,SAAUA,CAAC;AAAA,MAC1D;AAAA,MACC,GAAGH;AAAA,MACJ,WAAWI,EAAKV,GAAWW,EAAO,UAAU,UAAU;AAAA,MACtD,OAAO,EAAE,OAAAV,GAAO,QAAAC,GAAQ,GAAGH,EAAA;AAAA,IAAM;AAAA,EAAA;AAGvC,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"color_input.d.ts","sourceRoot":"","sources":["../../../src/inputs/color_input/color_input.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AASvC,MAAM,WAAW,eACf,SAAQ,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,UAAU,CAAC;CAClD;AAED,wBAAgB,UAAU,CAAC,EACzB,KAAc,EACd,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,KAAc,EACd,QAAQ,EACR,QAAQ,EACR,SAAuB,EACvB,GAAG,KAAK,EACT,EAAE,eAAe,2CAmHjB"}
1
+ {"version":3,"file":"color_input.d.ts","sourceRoot":"","sources":["../../../src/inputs/color_input/color_input.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AASvC,MAAM,WAAW,eACf,SAAQ,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,UAAU,CAAC;CAClD;AAED,wBAAgB,UAAU,CAAC,EACzB,KAAc,EACd,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,KAAc,EACd,QAAQ,EACR,QAAQ,EACR,SAAuB,EACvB,GAAG,KAAK,EACT,EAAE,eAAe,2CA+GjB"}
@@ -3,7 +3,7 @@ import { Box as m } from "../../stacks/box/box.js";
3
3
  import { HStack as h } from "../../stacks/h_stack.js";
4
4
  import { Spacer as s } from "../../stacks/spacer.js";
5
5
  import { ZStack as C } from "../../stacks/z_stack.js";
6
- import I from "classnames";
6
+ import { clsx as I } from "clsx";
7
7
  import { useState as A, useRef as N, useLayoutEffect as P } from "react";
8
8
  import "../../actions/button/base_button/base_button.js";
9
9
  import "../../actions/button/button_group/button_group.js";
@@ -26,24 +26,24 @@ function rr({
26
26
  hierarchy: k = "secondary",
27
27
  ...E
28
28
  }) {
29
- const [t, a] = A(null), y = t != null, d = N(null);
30
- function S(e) {
31
- a(e.currentTarget);
29
+ const [e, a] = A(null), y = e != null, d = N(null);
30
+ function S(t) {
31
+ a(t.currentTarget);
32
32
  }
33
33
  function u() {
34
34
  a(null);
35
35
  }
36
36
  P(() => {
37
37
  requestAnimationFrame(() => {
38
- t != null && d.current && d.current.focus();
38
+ e != null && d.current && d.current.focus();
39
39
  });
40
- }, [t]);
41
- function w(e) {
42
- e.key === "Escape" && u();
40
+ }, [e]);
41
+ function w(t) {
42
+ t.key === "Escape" && u();
43
43
  }
44
- function R(e) {
45
- const o = e.rgb;
46
- let l = e.hex;
44
+ function R(t) {
45
+ const o = t.rgb;
46
+ let l = t.hex;
47
47
  o.a != null ? l = `rgba(${o.r},${o.g},${o.b},${o.a})` : l = `rgb(${o.r},${o.g},${o.b})`, i && i(l);
48
48
  }
49
49
  return /* @__PURE__ */ n($, { children: [
@@ -80,11 +80,7 @@ function rr({
80
80
  onClick: S,
81
81
  width: "70px",
82
82
  maxWidth: "70px",
83
- className: I(
84
- f["color-input-select"],
85
- "color-input-select",
86
- "select"
87
- ),
83
+ className: I(f["color-input-select"], "color-input-select", "select"),
88
84
  style: {
89
85
  borderStartStartRadius: 0,
90
86
  borderEndStartRadius: 0,
@@ -121,7 +117,7 @@ function rr({
121
117
  /* @__PURE__ */ r(
122
118
  j,
123
119
  {
124
- anchorElement: t,
120
+ anchorElement: e,
125
121
  onClose: u,
126
122
  open: y,
127
123
  restoreFocus: !0,
@@ -1 +1 @@
1
- {"version":3,"file":"color_input.js","sources":["../../../src/inputs/color_input/color_input.tsx"],"sourcesContent":["import { Box } from '../../stacks/box/box.js';\nimport { HStack } from '../../stacks/h_stack.js';\nimport { Spacer } from '../../stacks/spacer.js';\nimport { ZStack } from '../../stacks/z_stack.js';\nimport classNames from 'classnames';\nimport React, { useLayoutEffect, useRef, useState } from 'react';\nimport { HTMLAttributes } from 'react';\nimport { ColorState } from 'react-color';\nimport { Button } from '../../actions/index.js';\nimport { ColorPicker } from './color_picker.js';\nimport { Input } from '../input/input.js';\nimport styles from './color_input.module.css';\n\nimport { Popper } from '../../overlay/popper/popper.js';\n\nexport interface ColorInputProps\n extends Omit<HTMLAttributes<HTMLButtonElement>, 'onChange' | 'onError'> {\n value?: string;\n disabled?: boolean;\n onChange?: (color: string) => void;\n onError?: (error: string | null) => void;\n width?: string;\n maxWidth?: string;\n minWidth?: string;\n hierarchy?: 'primary' | 'secondary' | 'tertiary';\n}\n\nexport function ColorInput({\n value = '#000',\n onChange,\n onError,\n disabled,\n width = '100%',\n maxWidth,\n minWidth,\n hierarchy = 'secondary',\n ...props\n}: ColorInputProps) {\n const [anchorElement, setAnchorElement] = useState<HTMLButtonElement | null>(null);\n const isOpen = anchorElement != null;\n const pickerRef = useRef<HTMLDivElement | null>(null);\n\n function openPicker(e: React.MouseEvent<HTMLButtonElement>) {\n setAnchorElement(e.currentTarget);\n }\n\n function closePicker() {\n setAnchorElement(null);\n }\n\n useLayoutEffect(() => {\n requestAnimationFrame(() => {\n if (anchorElement != null) {\n pickerRef.current && pickerRef.current.focus();\n }\n });\n }, [anchorElement]);\n\n function processKeyInput(event: React.KeyboardEvent) {\n if (event.key === 'Escape') {\n closePicker();\n }\n }\n\n function updateColor(value: ColorState) {\n const rgb = value.rgb;\n let color = value.hex;\n\n if (rgb.a != null) {\n color = `rgba(${rgb.r},${rgb.g},${rgb.b},${rgb.a})`;\n } else {\n color = `rgb(${rgb.r},${rgb.g},${rgb.b})`;\n }\n\n onChange && onChange(color);\n }\n\n return (\n <>\n <HStack\n height=\"auto\"\n width={width}\n minWidth={minWidth}\n maxWidth={maxWidth}\n className=\"color-input-wrapper\"\n {...props}\n >\n <ZStack width=\"flex\">\n <Input\n disabled={disabled}\n value={value}\n style={{\n borderEndEndRadius: 0,\n borderStartEndRadius: 0,\n textAlign: 'start',\n paddingInlineEnd: '8px',\n }}\n className=\"color-input\"\n onChange={onChange}\n />\n </ZStack>\n <Button\n disabled={disabled}\n hierarchy={hierarchy}\n onClick={openPicker}\n width=\"70px\"\n maxWidth=\"70px\"\n className={classNames(\n styles['color-input-select'],\n 'color-input-select',\n 'select'\n )}\n style={{\n borderStartStartRadius: 0,\n borderEndStartRadius: 0,\n paddingInlineEnd: 0,\n }}\n >\n <HStack height=\"14px\" gap=\"4px\" hAlign=\"start\">\n <Spacer width=\"4px\" />\n <Box\n width=\"flex\"\n height=\"30px\"\n className={styles['checker-board']}\n style={{ borderRadius: '2px', overflow: 'hidden' }}\n >\n <Box\n height=\"100%\"\n style={{ backgroundColor: value, borderRadius: '2px' }}\n ></Box>\n </Box>\n <Spacer />\n </HStack>\n <Spacer width=\"4px\" />\n </Button>\n </HStack>\n <Popper\n anchorElement={anchorElement}\n onClose={closePicker}\n open={isOpen}\n restoreFocus\n horizontalAnchor=\"end\"\n horizontalOrigin=\"end\"\n >\n <ColorPicker\n color={value}\n onKeyDown={processKeyInput}\n onColorChange={updateColor}\n />\n </Popper>\n </>\n );\n}\n"],"names":["ColorInput","value","onChange","onError","disabled","width","maxWidth","minWidth","hierarchy","props","anchorElement","setAnchorElement","useState","isOpen","pickerRef","useRef","openPicker","closePicker","useLayoutEffect","processKeyInput","event","updateColor","rgb","color","jsxs","Fragment","HStack","jsx","ZStack","Input","Button","classNames","styles","Spacer","Box","Popper","ColorPicker"],"mappings":"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"}
1
+ {"version":3,"file":"color_input.js","sources":["../../../src/inputs/color_input/color_input.tsx"],"sourcesContent":["import { Box } from '../../stacks/box/box.js';\nimport { HStack } from '../../stacks/h_stack.js';\nimport { Spacer } from '../../stacks/spacer.js';\nimport { ZStack } from '../../stacks/z_stack.js';\nimport { clsx } from 'clsx';\nimport React, { useLayoutEffect, useRef, useState } from 'react';\nimport { HTMLAttributes } from 'react';\nimport { ColorState } from 'react-color';\nimport { Button } from '../../actions/index.js';\nimport { ColorPicker } from './color_picker.js';\nimport { Input } from '../input/input.js';\nimport styles from './color_input.module.css';\n\nimport { Popper } from '../../overlay/popper/popper.js';\n\nexport interface ColorInputProps\n extends Omit<HTMLAttributes<HTMLButtonElement>, 'onChange' | 'onError'> {\n value?: string;\n disabled?: boolean;\n onChange?: (color: string) => void;\n onError?: (error: string | null) => void;\n width?: string;\n maxWidth?: string;\n minWidth?: string;\n hierarchy?: 'primary' | 'secondary' | 'tertiary';\n}\n\nexport function ColorInput({\n value = '#000',\n onChange,\n onError,\n disabled,\n width = '100%',\n maxWidth,\n minWidth,\n hierarchy = 'secondary',\n ...props\n}: ColorInputProps) {\n const [anchorElement, setAnchorElement] = useState<HTMLButtonElement | null>(null);\n const isOpen = anchorElement != null;\n const pickerRef = useRef<HTMLDivElement | null>(null);\n\n function openPicker(e: React.MouseEvent<HTMLButtonElement>) {\n setAnchorElement(e.currentTarget);\n }\n\n function closePicker() {\n setAnchorElement(null);\n }\n\n useLayoutEffect(() => {\n requestAnimationFrame(() => {\n if (anchorElement != null) {\n pickerRef.current && pickerRef.current.focus();\n }\n });\n }, [anchorElement]);\n\n function processKeyInput(event: React.KeyboardEvent) {\n if (event.key === 'Escape') {\n closePicker();\n }\n }\n\n function updateColor(value: ColorState) {\n const rgb = value.rgb;\n let color = value.hex;\n\n if (rgb.a != null) {\n color = `rgba(${rgb.r},${rgb.g},${rgb.b},${rgb.a})`;\n } else {\n color = `rgb(${rgb.r},${rgb.g},${rgb.b})`;\n }\n\n onChange && onChange(color);\n }\n\n return (\n <>\n <HStack\n height=\"auto\"\n width={width}\n minWidth={minWidth}\n maxWidth={maxWidth}\n className=\"color-input-wrapper\"\n {...props}\n >\n <ZStack width=\"flex\">\n <Input\n disabled={disabled}\n value={value}\n style={{\n borderEndEndRadius: 0,\n borderStartEndRadius: 0,\n textAlign: 'start',\n paddingInlineEnd: '8px',\n }}\n className=\"color-input\"\n onChange={onChange}\n />\n </ZStack>\n <Button\n disabled={disabled}\n hierarchy={hierarchy}\n onClick={openPicker}\n width=\"70px\"\n maxWidth=\"70px\"\n className={clsx(styles['color-input-select'], 'color-input-select', 'select')}\n style={{\n borderStartStartRadius: 0,\n borderEndStartRadius: 0,\n paddingInlineEnd: 0,\n }}\n >\n <HStack height=\"14px\" gap=\"4px\" hAlign=\"start\">\n <Spacer width=\"4px\" />\n <Box\n width=\"flex\"\n height=\"30px\"\n className={styles['checker-board']}\n style={{ borderRadius: '2px', overflow: 'hidden' }}\n >\n <Box\n height=\"100%\"\n style={{ backgroundColor: value, borderRadius: '2px' }}\n ></Box>\n </Box>\n <Spacer />\n </HStack>\n <Spacer width=\"4px\" />\n </Button>\n </HStack>\n <Popper\n anchorElement={anchorElement}\n onClose={closePicker}\n open={isOpen}\n restoreFocus\n horizontalAnchor=\"end\"\n horizontalOrigin=\"end\"\n >\n <ColorPicker\n color={value}\n onKeyDown={processKeyInput}\n onColorChange={updateColor}\n />\n </Popper>\n </>\n );\n}\n"],"names":["ColorInput","value","onChange","onError","disabled","width","maxWidth","minWidth","hierarchy","props","anchorElement","setAnchorElement","useState","isOpen","pickerRef","useRef","openPicker","e","closePicker","useLayoutEffect","processKeyInput","event","updateColor","rgb","color","jsxs","Fragment","HStack","jsx","ZStack","Input","Button","clsx","styles","Spacer","Box","Popper","ColorPicker"],"mappings":"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"}
@@ -2,21 +2,21 @@ import { jsx as o } from "react/jsx-runtime";
2
2
  import "../../utils/focus_redirect.js";
3
3
  import "../../utils/click_away_listener.js";
4
4
  import "../../utils/scroll_away_listener.js";
5
- import f, { useRef as a, useLayoutEffect as n } from "react";
5
+ import s, { useRef as n, useLayoutEffect as a } from "react";
6
6
  import { useForkRef as k } from "../../utils/hooks/use_fork_ref.js";
7
7
  import "../../utils/hooks/use_resize_observer.js";
8
8
  import { ZStack as l } from "../../stacks/z_stack.js";
9
- import u from "classnames";
9
+ import { clsx as u } from "clsx";
10
10
  import { ChromePicker as h } from "react-color";
11
- import '../../color_picker.css';const d = "_color-picker_4757d5a", R = "_chrome-picker_2f64060", e = { "color-picker": d, "chrome-picker": R }, F = f.forwardRef(function({ color: c, onColorChange: t, className: i, ...m }, p) {
12
- const r = a(null), s = k(r, p);
13
- return n(() => {
11
+ import '../../color_picker.css';const d = "_color-picker_4757d5a", R = "_chrome-picker_2f64060", e = { "color-picker": d, "chrome-picker": R }, F = s.forwardRef(function({ color: c, onColorChange: t, className: i, ...m }, p) {
12
+ const r = n(null), f = k(r, p);
13
+ return a(() => {
14
14
  r.current && r.current.focus();
15
15
  }, []), /* @__PURE__ */ o(
16
16
  l,
17
17
  {
18
18
  tabIndex: 0,
19
- ref: s,
19
+ ref: f,
20
20
  padding: "8px",
21
21
  height: "auto",
22
22
  width: "auto",
@@ -1 +1 @@
1
- {"version":3,"file":"color_picker.js","sources":["../../../src/inputs/color_input/color_picker.tsx"],"sourcesContent":["import { useForkRef } from '../../utils/index.js';\nimport { ZStack } from '../../stacks/z_stack.js';\nimport classNames from 'classnames';\nimport React, { HTMLAttributes, useLayoutEffect, useRef } from 'react';\nimport { ChromePicker, Color, type ColorResult } from 'react-color';\nimport styles from './color_picker.module.css';\n\nexport interface ColorPickerProps extends Omit<HTMLAttributes<HTMLDivElement>, 'color'> {\n color: Color;\n onColorChange: (color: ColorResult) => void;\n}\n\nexport const ColorPicker = React.forwardRef(function ColorPicker(\n { color, onColorChange, className, ...props }: ColorPickerProps,\n ref: React.Ref<HTMLDivElement>\n) {\n const padRef = useRef<HTMLDivElement | null>(null);\n const forkedRef = useForkRef(padRef, ref);\n\n useLayoutEffect(() => {\n padRef.current && padRef.current.focus();\n }, []);\n\n return (\n <ZStack\n tabIndex={0}\n ref={forkedRef}\n padding=\"8px\"\n height=\"auto\"\n width=\"auto\"\n className={classNames(styles['color-picker'], className)}\n {...props}\n >\n <ChromePicker\n className={styles['chrome-picker']}\n color={color}\n onChange={onColorChange}\n />\n </ZStack>\n );\n});\n"],"names":["ColorPicker","React","color","onColorChange","className","props","ref","padRef","useRef","forkedRef","useForkRef","useLayoutEffect","jsx","ZStack","classNames","styles","ChromePicker"],"mappings":";;;;;;;;;;gHAYaA,IAAcC,EAAM,WAAW,SAC1C,EAAE,OAAAC,GAAO,eAAAC,GAAe,WAAAC,GAAW,GAAGC,EAAA,GACtCC,GACA;AACA,QAAMC,IAASC,EAA8B,IAAI,GAC3CC,IAAYC,EAAWH,GAAQD,CAAG;AAExC,SAAAK,EAAgB,MAAM;AACpB,IAAAJ,EAAO,WAAWA,EAAO,QAAQ,MAAA;AAAA,EACnC,GAAG,CAAA,CAAE,GAGH,gBAAAK;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,UAAU;AAAA,MACV,KAAKJ;AAAA,MACL,SAAQ;AAAA,MACR,QAAO;AAAA,MACP,OAAM;AAAA,MACN,WAAWK,EAAWC,EAAO,cAAc,GAAGX,CAAS;AAAA,MACtD,GAAGC;AAAA,MAEJ,UAAA,gBAAAO;AAAA,QAACI;AAAA,QAAA;AAAA,UACC,WAAWD,EAAO,eAAe;AAAA,UACjC,OAAAb;AAAA,UACA,UAAUC;AAAA,QAAA;AAAA,MAAA;AAAA,IACZ;AAAA,EAAA;AAGN,CAAC;"}
1
+ {"version":3,"file":"color_picker.js","sources":["../../../src/inputs/color_input/color_picker.tsx"],"sourcesContent":["import { useForkRef } from '../../utils/index.js';\nimport { ZStack } from '../../stacks/z_stack.js';\nimport { clsx } from 'clsx';\nimport React, { HTMLAttributes, useLayoutEffect, useRef } from 'react';\nimport { ChromePicker, Color, type ColorResult } from 'react-color';\nimport styles from './color_picker.module.css';\n\nexport interface ColorPickerProps extends Omit<HTMLAttributes<HTMLDivElement>, 'color'> {\n color: Color;\n onColorChange: (color: ColorResult) => void;\n}\n\nexport const ColorPicker = React.forwardRef(function ColorPicker(\n { color, onColorChange, className, ...props }: ColorPickerProps,\n ref: React.Ref<HTMLDivElement>\n) {\n const padRef = useRef<HTMLDivElement | null>(null);\n const forkedRef = useForkRef(padRef, ref);\n\n useLayoutEffect(() => {\n padRef.current && padRef.current.focus();\n }, []);\n\n return (\n <ZStack\n tabIndex={0}\n ref={forkedRef}\n padding=\"8px\"\n height=\"auto\"\n width=\"auto\"\n className={clsx(styles['color-picker'], className)}\n {...props}\n >\n <ChromePicker\n className={styles['chrome-picker']}\n color={color}\n onChange={onColorChange}\n />\n </ZStack>\n );\n});\n"],"names":["ColorPicker","React","color","onColorChange","className","props","ref","padRef","useRef","forkedRef","useForkRef","useLayoutEffect","jsx","ZStack","clsx","styles","ChromePicker"],"mappings":";;;;;;;;;;gHAYaA,IAAcC,EAAM,WAAW,SAC1C,EAAE,OAAAC,GAAO,eAAAC,GAAe,WAAAC,GAAW,GAAGC,EAAA,GACtCC,GACA;AACA,QAAMC,IAASC,EAA8B,IAAI,GAC3CC,IAAYC,EAAWH,GAAQD,CAAG;AAExC,SAAAK,EAAgB,MAAM;AACpB,IAAAJ,EAAO,WAAWA,EAAO,QAAQ,MAAA;AAAA,EACnC,GAAG,CAAA,CAAE,GAGH,gBAAAK;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,UAAU;AAAA,MACV,KAAKJ;AAAA,MACL,SAAQ;AAAA,MACR,QAAO;AAAA,MACP,OAAM;AAAA,MACN,WAAWK,EAAKC,EAAO,cAAc,GAAGX,CAAS;AAAA,MAChD,GAAGC;AAAA,MAEJ,UAAA,gBAAAO;AAAA,QAACI;AAAA,QAAA;AAAA,UACC,WAAWD,EAAO,eAAe;AAAA,UACjC,OAAAb;AAAA,UACA,UAAUC;AAAA,QAAA;AAAA,MAAA;AAAA,IACZ;AAAA,EAAA;AAGN,CAAC;"}