@tcn/ui 0.0.3 → 0.1.1

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 (404) hide show
  1. package/dist/actions/button/base_button/base_button.d.ts.map +1 -1
  2. package/dist/actions/button/base_button/base_button.js +20 -15
  3. package/dist/actions/button/base_button/base_button.js.map +1 -1
  4. package/dist/actions/button/button/button.d.ts.map +1 -1
  5. package/dist/actions/button/button/button.js +7 -7
  6. package/dist/actions/button/button/button.js.map +1 -1
  7. package/dist/actions/button/button_group/button_group.d.ts.map +1 -1
  8. package/dist/actions/button/button_group/button_group.js +2 -5
  9. package/dist/actions/button/button_group/button_group.js.map +1 -1
  10. package/dist/actions/button/select_group/select_group.js +7 -7
  11. package/dist/actions/button/select_group/select_group.js.map +1 -1
  12. package/dist/actions/button/slim_button/slim_button.d.ts.map +1 -1
  13. package/dist/actions/button/slim_button/slim_button.js +5 -5
  14. package/dist/actions/button/slim_button/slim_button.js.map +1 -1
  15. package/dist/button.css +1 -1
  16. package/dist/feedback/progress/progress_bar.js +1 -1
  17. package/dist/footer.css +1 -1
  18. package/dist/form/field/common/field_control/field_control.js +6 -6
  19. package/dist/form/field/common/field_control/field_control.js.map +1 -1
  20. package/dist/form/field/common/field_description.js +1 -1
  21. package/dist/form/field/common/field_error.js +2 -2
  22. package/dist/form/field/common/field_header.js +8 -8
  23. package/dist/form/field/common/field_header.js.map +1 -1
  24. package/dist/form/field/common/field_label.js +1 -1
  25. package/dist/form/field/common/status_input/status_input.d.ts.map +1 -1
  26. package/dist/form/field/common/status_input/status_input.js +9 -15
  27. package/dist/form/field/common/status_input/status_input.js.map +1 -1
  28. package/dist/form/field/h_field/h_field.js +9 -9
  29. package/dist/form/field/h_field/h_field.js.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_set/field_set.d.ts.map +1 -1
  33. package/dist/form/field_set/field_set.js +12 -19
  34. package/dist/form/field_set/field_set.js.map +1 -1
  35. package/dist/inputs/checkbox/checkbox.js +12 -12
  36. package/dist/inputs/checkbox/checkbox.js.map +1 -1
  37. package/dist/inputs/color_input/color_input.d.ts.map +1 -1
  38. package/dist/inputs/color_input/color_input.js +13 -17
  39. package/dist/inputs/color_input/color_input.js.map +1 -1
  40. package/dist/inputs/color_input/color_picker.js +6 -6
  41. package/dist/inputs/color_input/color_picker.js.map +1 -1
  42. package/dist/inputs/combo_box/combo_box.js +15 -15
  43. package/dist/inputs/combo_box/combo_box.js.map +1 -1
  44. package/dist/inputs/date_picker/date_picker.js +6 -6
  45. package/dist/inputs/date_picker/date_picker.js.map +1 -1
  46. package/dist/inputs/date_picker/date_picker_date.js +13 -13
  47. package/dist/inputs/date_picker/date_picker_date.js.map +1 -1
  48. package/dist/inputs/date_picker/date_picker_day.js +1 -1
  49. package/dist/inputs/date_picker/date_picker_header.js +24 -24
  50. package/dist/inputs/date_picker/date_picker_header.js.map +1 -1
  51. package/dist/inputs/date_picker/date_picker_input.js +19 -19
  52. package/dist/inputs/date_picker/date_picker_input.js.map +1 -1
  53. package/dist/inputs/date_picker/date_picker_time_selector.d.ts.map +1 -1
  54. package/dist/inputs/date_picker/date_picker_time_selector.js +6 -9
  55. package/dist/inputs/date_picker/date_picker_time_selector.js.map +1 -1
  56. package/dist/inputs/date_picker/date_picker_year_input.js +3 -3
  57. package/dist/inputs/date_picker/date_picker_year_input.js.map +1 -1
  58. package/dist/inputs/date_picker/date_picker_year_selector.d.ts.map +1 -1
  59. package/dist/inputs/date_picker/date_picker_year_selector.js +18 -24
  60. package/dist/inputs/date_picker/date_picker_year_selector.js.map +1 -1
  61. package/dist/inputs/input/input.d.ts +2 -2
  62. package/dist/inputs/input/input.d.ts.map +1 -1
  63. package/dist/inputs/input/input.js +4 -4
  64. package/dist/inputs/input/input.js.map +1 -1
  65. package/dist/inputs/multi_combo_box/multi_combo_box.js +1 -1
  66. package/dist/inputs/multi_combo_box/multi_combo_box.js.map +1 -1
  67. package/dist/inputs/multiselect/multiselect_values.js +8 -8
  68. package/dist/inputs/multiselect/multiselect_values.js.map +1 -1
  69. package/dist/inputs/options/option.d.ts +1 -0
  70. package/dist/inputs/options/option.d.ts.map +1 -1
  71. package/dist/inputs/options/option.js.map +1 -1
  72. package/dist/inputs/phone_number_input/phone_number_input.d.ts +6 -1
  73. package/dist/inputs/phone_number_input/phone_number_input.d.ts.map +1 -1
  74. package/dist/inputs/phone_number_input/phone_number_input.js +169 -128
  75. package/dist/inputs/phone_number_input/phone_number_input.js.map +1 -1
  76. package/dist/inputs/radio/radio.js +14 -14
  77. package/dist/inputs/radio/radio.js.map +1 -1
  78. package/dist/inputs/select/select.js +16 -16
  79. package/dist/inputs/select/select.js.map +1 -1
  80. package/dist/inputs/slider/slider.js +7 -7
  81. package/dist/inputs/slider/slider.js.map +1 -1
  82. package/dist/inputs/suggestions/suggestion_item.d.ts +1 -1
  83. package/dist/inputs/suggestions/suggestion_item.d.ts.map +1 -1
  84. package/dist/inputs/suggestions/suggestion_item.js +23 -18
  85. package/dist/inputs/suggestions/suggestion_item.js.map +1 -1
  86. package/dist/inputs/suggestions/suggestion_list.d.ts +1 -1
  87. package/dist/inputs/suggestions/suggestion_list.d.ts.map +1 -1
  88. package/dist/inputs/suggestions/suggestion_list.js +105 -95
  89. package/dist/inputs/suggestions/suggestion_list.js.map +1 -1
  90. package/dist/inputs/switch/switch.js +14 -14
  91. package/dist/inputs/switch/switch.js.map +1 -1
  92. package/dist/inputs/textarea/textarea.js +6 -6
  93. package/dist/inputs/textarea/textarea.js.map +1 -1
  94. package/dist/inputs/unit_input/unit_input.js +5 -5
  95. package/dist/inputs/unit_input/unit_input.js.map +1 -1
  96. package/dist/layouts/body/h_body.js +10 -10
  97. package/dist/layouts/body/h_body.js.map +1 -1
  98. package/dist/layouts/body/v_body.js +8 -8
  99. package/dist/layouts/body/v_body.js.map +1 -1
  100. package/dist/layouts/column/column.js +16 -16
  101. package/dist/layouts/column/column.js.map +1 -1
  102. package/dist/layouts/divider/divider.js +9 -9
  103. package/dist/layouts/divider/divider.js.map +1 -1
  104. package/dist/layouts/footer/footer.js +6 -6
  105. package/dist/layouts/footer/footer.js.map +1 -1
  106. package/dist/layouts/grid/grid.d.ts.map +1 -1
  107. package/dist/layouts/grid/grid.js +22 -31
  108. package/dist/layouts/grid/grid.js.map +1 -1
  109. package/dist/layouts/header/header.js +11 -11
  110. package/dist/layouts/header/header.js.map +1 -1
  111. package/dist/layouts/index.d.ts +3 -2
  112. package/dist/layouts/index.d.ts.map +1 -1
  113. package/dist/layouts/index.js +26 -24
  114. package/dist/layouts/index.js.map +1 -1
  115. package/dist/layouts/list/item.d.ts +1 -0
  116. package/dist/layouts/list/item.d.ts.map +1 -1
  117. package/dist/layouts/list/item.js +18 -7
  118. package/dist/layouts/list/item.js.map +1 -1
  119. package/dist/layouts/list/list.js +12 -12
  120. package/dist/layouts/list/list.js.map +1 -1
  121. package/dist/layouts/sidebar_end/sidebar_end.js +15 -15
  122. package/dist/layouts/sidebar_end/sidebar_end.js.map +1 -1
  123. package/dist/layouts/sidebar_start/sidebar_start.js +16 -16
  124. package/dist/layouts/sidebar_start/sidebar_start.js.map +1 -1
  125. package/dist/layouts/utility_bar/utility_bar.js +14 -14
  126. package/dist/layouts/utility_bar/utility_bar.js.map +1 -1
  127. package/dist/modal.css +1 -1
  128. package/dist/overlay/context_menu/context_menu.js +4 -4
  129. package/dist/overlay/index.js +3 -3
  130. package/dist/overlay/menu/menu.js +8 -8
  131. package/dist/overlay/menu/menu.js.map +1 -1
  132. package/dist/overlay/popper/popper.js +12 -12
  133. package/dist/{portal-qqIp4SIl.js → overlay/portal/portal.js} +3 -3
  134. package/dist/overlay/portal/portal.js.map +1 -0
  135. package/dist/overlay/portal/portal_platform.js +3 -4
  136. package/dist/overlay/portal/portal_platform.js.map +1 -1
  137. package/dist/overlay/tooltip/tooltip.js +10 -10
  138. package/dist/overlay/tooltip/tooltip.js.map +1 -1
  139. package/dist/phone_number_input.css +1 -1
  140. package/dist/slim_button.css +1 -1
  141. package/dist/stacks/box/bottom_resize_handle.js +9 -9
  142. package/dist/stacks/box/bottom_resize_handle.js.map +1 -1
  143. package/dist/stacks/box/box.js +42 -42
  144. package/dist/stacks/box/box.js.map +1 -1
  145. package/dist/stacks/box/end_resize_handle.js +6 -6
  146. package/dist/stacks/box/end_resize_handle.js.map +1 -1
  147. package/dist/stacks/box/left_resize_handle.js +3 -3
  148. package/dist/stacks/box/left_resize_handle.js.map +1 -1
  149. package/dist/stacks/box/right_resize_handle.js +8 -8
  150. package/dist/stacks/box/right_resize_handle.js.map +1 -1
  151. package/dist/stacks/box/start_resize_handle.js +7 -7
  152. package/dist/stacks/box/start_resize_handle.js.map +1 -1
  153. package/dist/stacks/box/top_resize_handle.js +8 -8
  154. package/dist/stacks/box/top_resize_handle.js.map +1 -1
  155. package/dist/stacks/h_collapsible_box.js +5 -5
  156. package/dist/stacks/h_collapsible_box.js.map +1 -1
  157. package/dist/stacks/h_stack.js +26 -26
  158. package/dist/stacks/h_stack.js.map +1 -1
  159. package/dist/stacks/spacer.js +5 -5
  160. package/dist/stacks/spacer.js.map +1 -1
  161. package/dist/stacks/story_components/circle.js +6 -6
  162. package/dist/stacks/story_components/circle.js.map +1 -1
  163. package/dist/stacks/story_components/picture_placeholder.js +8 -8
  164. package/dist/stacks/story_components/picture_placeholder.js.map +1 -1
  165. package/dist/stacks/story_components/rect.js +11 -11
  166. package/dist/stacks/story_components/rect.js.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.d.ts.map +1 -1
  176. package/dist/surfaces/card/card.js +6 -15
  177. package/dist/surfaces/card/card.js.map +1 -1
  178. package/dist/surfaces/confirm/confirm.d.ts.map +1 -1
  179. package/dist/surfaces/confirm/confirm.js +17 -24
  180. package/dist/surfaces/confirm/confirm.js.map +1 -1
  181. package/dist/surfaces/drawers/drawer_bottom/drawer_bottom.js +5 -5
  182. package/dist/surfaces/drawers/drawer_bottom/drawer_bottom.js.map +1 -1
  183. package/dist/surfaces/drawers/drawer_end/drawer_end.js +8 -8
  184. package/dist/surfaces/drawers/drawer_end/drawer_end.js.map +1 -1
  185. package/dist/surfaces/drawers/drawer_start/drawer_start.js +4 -4
  186. package/dist/surfaces/drawers/drawer_start/drawer_start.js.map +1 -1
  187. package/dist/surfaces/drawers/drawer_top/drawer_top.js +4 -4
  188. package/dist/surfaces/drawers/drawer_top/drawer_top.js.map +1 -1
  189. package/dist/surfaces/modal/modal.d.ts +2 -4
  190. package/dist/surfaces/modal/modal.d.ts.map +1 -1
  191. package/dist/surfaces/modal/modal.js +16 -7
  192. package/dist/surfaces/modal/modal.js.map +1 -1
  193. package/dist/surfaces/page/h_page.js +6 -6
  194. package/dist/surfaces/page/h_page.js.map +1 -1
  195. package/dist/surfaces/page/v_page.js +9 -9
  196. package/dist/surfaces/page/v_page.js.map +1 -1
  197. package/dist/surfaces/panel/h_panel.d.ts.map +1 -1
  198. package/dist/surfaces/panel/h_panel.js +18 -24
  199. package/dist/surfaces/panel/h_panel.js.map +1 -1
  200. package/dist/surfaces/panel/v_panel.js +9 -9
  201. package/dist/surfaces/panel/v_panel.js.map +1 -1
  202. package/dist/surfaces/popover/popover.js +34 -34
  203. package/dist/surfaces/popover/popover.js.map +1 -1
  204. package/dist/surfaces/window/window.d.ts.map +1 -1
  205. package/dist/surfaces/window/window.js +6 -14
  206. package/dist/surfaces/window/window.js.map +1 -1
  207. package/dist/themes/index.d.ts +0 -2
  208. package/dist/themes/index.d.ts.map +1 -1
  209. package/dist/themes/index.js +6 -402
  210. package/dist/themes/index.js.map +1 -1
  211. package/dist/themes/stylesheets/reset.js +140 -0
  212. package/dist/themes/stylesheets/reset.js.map +1 -0
  213. package/dist/themes/themes/ergo/ergo_theme.js +595 -0
  214. package/dist/themes/themes/ergo/ergo_theme.js.map +1 -0
  215. package/dist/tokens/badge/badge.js +13 -13
  216. package/dist/tokens/badge/badge.js.map +1 -1
  217. package/dist/tokens/bubble/bubble.js +11 -11
  218. package/dist/tokens/bubble/bubble.js.map +1 -1
  219. package/dist/tokens/chip/chip.js +11 -11
  220. package/dist/tokens/chip/chip.js.map +1 -1
  221. package/dist/typography/body_text/body_text.js +21 -21
  222. package/dist/typography/body_text/body_text.js.map +1 -1
  223. package/dist/typography/callout/callout.js +16 -16
  224. package/dist/typography/callout/callout.js.map +1 -1
  225. package/dist/typography/caption/caption.js +13 -13
  226. package/dist/typography/caption/caption.js.map +1 -1
  227. package/dist/typography/footnote/footnote.js +14 -14
  228. package/dist/typography/footnote/footnote.js.map +1 -1
  229. package/dist/typography/headline/headline.js +12 -12
  230. package/dist/typography/headline/headline.js.map +1 -1
  231. package/dist/typography/subheadline/subheadline.js +13 -13
  232. package/dist/typography/subheadline/subheadline.js.map +1 -1
  233. package/dist/typography/title/title.js +17 -17
  234. package/dist/typography/title/title.js.map +1 -1
  235. package/package.json +23 -4
  236. package/src/actions/button/__stories__/button.stories.tsx +1 -1
  237. package/src/actions/button/__stories__/button_group.stories.tsx +1 -1
  238. package/src/actions/button/__stories__/select_group.stories.tsx +1 -1
  239. package/src/actions/button/__stories__/slim_button.stories.tsx +1 -1
  240. package/src/actions/button/base_button/base_button.tsx +8 -3
  241. package/src/actions/button/button/button.module.css +0 -78
  242. package/src/actions/button/button/button.tsx +3 -5
  243. package/src/actions/button/button_group/button_group.tsx +4 -7
  244. package/src/actions/button/select_group/select_group.tsx +3 -3
  245. package/src/actions/button/slim_button/slim_button.module.css +0 -26
  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 +3 -6
  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 +2 -2
  256. package/src/form/field/v_field/v_field.stories.tsx +10 -1
  257. package/src/form/field/v_field/v_field.tsx +2 -2
  258. package/src/form/field_set/field_set.stories.tsx +9 -1
  259. package/src/form/field_set/field_set.tsx +4 -7
  260. package/src/inputs/checkbox/checkbox.stories.tsx +9 -1
  261. package/src/inputs/checkbox/checkbox.tsx +2 -2
  262. package/src/inputs/color_input/color_input.stories.tsx +9 -1
  263. package/src/inputs/color_input/color_input.tsx +2 -6
  264. package/src/inputs/color_input/color_picker.tsx +2 -2
  265. package/src/inputs/combo_box/combo_box.stories.tsx +14 -5
  266. package/src/inputs/combo_box/combo_box.tsx +2 -2
  267. package/src/inputs/date_picker/date_picker.stories.tsx +18 -10
  268. package/src/inputs/date_picker/date_picker.tsx +3 -3
  269. package/src/inputs/date_picker/date_picker_date.tsx +3 -3
  270. package/src/inputs/date_picker/date_picker_header.tsx +2 -2
  271. package/src/inputs/date_picker/date_picker_input.stories.tsx +15 -7
  272. package/src/inputs/date_picker/date_picker_input.tsx +3 -3
  273. package/src/inputs/date_picker/date_picker_time_selector.tsx +5 -8
  274. package/src/inputs/date_picker/date_picker_year_input.tsx +2 -2
  275. package/src/inputs/date_picker/date_picker_year_selector.tsx +3 -9
  276. package/src/inputs/input/input.stories.tsx +9 -1
  277. package/src/inputs/input/input.tsx +5 -4
  278. package/src/inputs/mask_input/key_capture_input.stories.tsx +9 -1
  279. package/src/inputs/mask_input/mask_input.stories.tsx +10 -1
  280. package/src/inputs/multi_combo_box/multi_combo_box.stories.tsx +10 -1
  281. package/src/inputs/multi_combo_box/multi_combo_box.tsx +2 -2
  282. package/src/inputs/multiselect/multiselect_values.tsx +2 -2
  283. package/src/inputs/multiselect/mutliselect.stories.tsx +10 -1
  284. package/src/inputs/options/option.tsx +1 -0
  285. package/src/inputs/phone_number_input/phone_number_input.module.css +12 -0
  286. package/src/inputs/phone_number_input/phone_number_input.stories.tsx +18 -1
  287. package/src/inputs/phone_number_input/phone_number_input.tsx +104 -29
  288. package/src/inputs/radio/radio.stories.tsx +14 -6
  289. package/src/inputs/radio/radio.tsx +2 -2
  290. package/src/inputs/select/select.stories.tsx +18 -9
  291. package/src/inputs/select/select.tsx +2 -2
  292. package/src/inputs/slider/slider.stories.tsx +9 -1
  293. package/src/inputs/slider/slider.tsx +2 -2
  294. package/src/inputs/suggestions/suggestion_item.tsx +14 -4
  295. package/src/inputs/suggestions/suggestion_list.stories.tsx +21 -12
  296. package/src/inputs/suggestions/suggestion_list.tsx +25 -6
  297. package/src/inputs/switch/switch.stories.tsx +9 -1
  298. package/src/inputs/switch/switch.tsx +4 -4
  299. package/src/inputs/textarea/textarea.stories.tsx +9 -1
  300. package/src/inputs/textarea/textarea.tsx +2 -2
  301. package/src/inputs/unit_input/unit_input.stories.tsx +9 -1
  302. package/src/inputs/unit_input/unit_input.tsx +4 -4
  303. package/src/layouts/body/h_body.tsx +2 -2
  304. package/src/layouts/body/v_body.tsx +2 -2
  305. package/src/layouts/column/column.tsx +3 -3
  306. package/src/layouts/divider/__stories__/divider.stories.tsx +59 -19
  307. package/src/layouts/divider/divider.tsx +3 -3
  308. package/src/layouts/footer/footer.module.css +0 -1
  309. package/src/layouts/footer/footer.tsx +2 -2
  310. package/src/layouts/grid/grid.stories.tsx +42 -34
  311. package/src/layouts/grid/grid.tsx +2 -7
  312. package/src/layouts/header/header.tsx +2 -2
  313. package/src/layouts/index.ts +3 -2
  314. package/src/layouts/list/item.tsx +11 -3
  315. package/src/layouts/list/list.tsx +3 -3
  316. package/src/layouts/sidebar_end/sidebar_end.tsx +2 -2
  317. package/src/layouts/sidebar_start/sidebar_start.tsx +2 -2
  318. package/src/layouts/utility_bar/utility_bar.tsx +2 -2
  319. package/src/overlay/context_menu/context_menu.stories.tsx +13 -5
  320. package/src/overlay/menu/menu.stories.tsx +22 -14
  321. package/src/overlay/menu/menu.tsx +3 -3
  322. package/src/overlay/popper/popper.stories.tsx +43 -22
  323. package/src/overlay/portal/portal.stories.tsx +10 -1
  324. package/src/overlay/tooltip/tooltip.stories.tsx +9 -2
  325. package/src/overlay/tooltip/tooltip.tsx +2 -2
  326. package/src/stacks/box/bottom_resize_handle.tsx +2 -2
  327. package/src/stacks/box/box.tsx +2 -2
  328. package/src/stacks/box/end_resize_handle.tsx +2 -2
  329. package/src/stacks/box/left_resize_handle.tsx +2 -2
  330. package/src/stacks/box/right_resize_handle.tsx +2 -2
  331. package/src/stacks/box/start_resize_handle.tsx +2 -2
  332. package/src/stacks/box/top_resize_handle.tsx +2 -2
  333. package/src/stacks/collapsible_box.stories.tsx +10 -1
  334. package/src/stacks/h_collapsible_box.tsx +2 -2
  335. package/src/stacks/h_stack.stories.tsx +104 -59
  336. package/src/stacks/h_stack.tsx +2 -2
  337. package/src/stacks/spacer.tsx +2 -2
  338. package/src/stacks/story_components/circle.tsx +2 -2
  339. package/src/stacks/story_components/picture_placeholder.tsx +2 -2
  340. package/src/stacks/story_components/rect.tsx +2 -2
  341. package/src/stacks/v_collapsible_box.tsx +2 -2
  342. package/src/stacks/v_stack.stories.tsx +91 -10
  343. package/src/stacks/v_stack.tsx +2 -2
  344. package/src/stacks/z_stack.stories.tsx +9 -1
  345. package/src/stacks/z_stack.tsx +2 -2
  346. package/src/surfaces/alert/alert.stories.tsx +4 -4
  347. package/src/surfaces/alert/alert.tsx +2 -2
  348. package/src/surfaces/card/card.tsx +3 -9
  349. package/src/surfaces/confirm/confirm.stories.tsx +4 -4
  350. package/src/surfaces/confirm/confirm.tsx +3 -6
  351. package/src/surfaces/drawers/__stories__/drawers.stories.tsx +1 -1
  352. package/src/surfaces/drawers/drawer_bottom/drawer_bottom.tsx +2 -2
  353. package/src/surfaces/drawers/drawer_end/drawer_end.tsx +2 -2
  354. package/src/surfaces/drawers/drawer_start/drawer_start.tsx +2 -2
  355. package/src/surfaces/drawers/drawer_top/drawer_top.tsx +2 -2
  356. package/src/surfaces/modal/__stories__/modal.stories.tsx +54 -0
  357. package/src/surfaces/modal/modal.module.css +2 -1
  358. package/src/surfaces/modal/modal.tsx +9 -6
  359. package/src/surfaces/page/h_page.tsx +2 -2
  360. package/src/surfaces/page/v_page.tsx +2 -2
  361. package/src/surfaces/panel/__stories__/panel.stories.tsx +13 -12
  362. package/src/surfaces/panel/h_panel.tsx +3 -9
  363. package/src/surfaces/panel/v_panel.tsx +3 -3
  364. package/src/surfaces/popover/popover.tsx +2 -2
  365. package/src/surfaces/window/window.stories.tsx +1 -1
  366. package/src/surfaces/window/window.tsx +2 -6
  367. package/src/themes/index.ts +0 -2
  368. package/src/themes/stories/themes.stories.tsx +1 -1
  369. package/src/themes/themes/ergo/__stories__/components/material_picker/sb_inverted_materials.module.css +34 -0
  370. package/src/themes/themes/ergo/__stories__/components/material_picker/sb_material_picker.tsx +52 -0
  371. package/src/themes/themes/ergo/__stories__/components/tone_picker/sb_card.module.css +5 -0
  372. package/src/themes/themes/ergo/__stories__/components/tone_picker/sb_tone_card.tsx +40 -0
  373. package/src/themes/themes/ergo/__stories__/components/tone_picker/sb_tone_picker.tsx +83 -0
  374. package/src/themes/themes/ergo/__stories__/components/tone_picker/types.ts +7 -0
  375. package/src/themes/themes/ergo/__stories__/material.stories.tsx +154 -0
  376. package/src/themes/themes/ergo/__stories__/sb_materials.module.css +110 -0
  377. package/src/themes/themes/ergo/__stories__/utils.ts +92 -0
  378. package/src/themes/themes/ergo/ergo_theme.css +348 -15
  379. package/src/tokens/badge/badge.stories.tsx +6 -6
  380. package/src/tokens/badge/badge.tsx +3 -3
  381. package/src/tokens/bubble/bubble.stories.tsx +16 -9
  382. package/src/tokens/bubble/bubble.tsx +2 -2
  383. package/src/tokens/chip/chip.stories.tsx +1 -1
  384. package/src/tokens/chip/chip.tsx +2 -2
  385. package/src/typography/body_text/body_text.tsx +2 -2
  386. package/src/typography/callout/callout.tsx +2 -2
  387. package/src/typography/caption/caption.tsx +2 -2
  388. package/src/typography/footnote/footnote.tsx +2 -2
  389. package/src/typography/headline/headline.tsx +2 -2
  390. package/src/typography/subheadline/subheadline.tsx +2 -2
  391. package/src/typography/title/title.tsx +2 -2
  392. package/src/typography/typography-showcase.stories.tsx +2 -2
  393. package/src/utils/click_away_listener.stories.tsx +21 -11
  394. package/src/utils/responsive/responsive_renderer.stories.tsx +7 -7
  395. package/src/utils/scroll_away_listener.stories.tsx +11 -1
  396. package/tsconfig.json +0 -3
  397. package/dist/card.css +0 -1
  398. package/dist/portal-qqIp4SIl.js.map +0 -1
  399. package/dist/themes/stylesheets/reset.css +0 -1
  400. package/dist/themes/themes/ergo/ergo_theme.css +0 -1
  401. package/dist/themes/themes/windows_98/windows_98.css +0 -1
  402. package/src/surfaces/card/card.module.css +0 -5
  403. package/src/surfaces/modal/modal.stories.tsx +0 -15
  404. /package/dist/{overlay/portal/portal.css → portal_platform.css} +0 -0
@@ -1,6 +1,6 @@
1
- import { jsxs as x, jsx as r } from "react/jsx-runtime";
1
+ import { jsxs as F, jsx as r } from "react/jsx-runtime";
2
2
  import { HStack as I } from "../../../stacks/h_stack.js";
3
- import H from "classnames";
3
+ import { clsx as H } from "clsx";
4
4
  import g, { useState as y } from "react";
5
5
  import { FieldHeader as S } from "../common/field_header.js";
6
6
  import { FieldControl as $ } from "../common/field_control/field_control.js";
@@ -12,7 +12,7 @@ const B = g.forwardRef(function({
12
12
  description: s,
13
13
  errorMessage: d,
14
14
  children: n,
15
- labelWidth: a = "40%",
15
+ labelWidth: l = "40%",
16
16
  locked: t = !1,
17
17
  loading: e = !1,
18
18
  className: f,
@@ -20,8 +20,8 @@ const B = g.forwardRef(function({
20
20
  required: m,
21
21
  ...h
22
22
  }, p) {
23
- const [i] = y(() => c || `h-field-${A++}`), u = `${i}-label`, b = `${i}-description`, l = !!d, F = t ? "locked" : e ? "loading" : l ? "error" : "default";
24
- return /* @__PURE__ */ x(
23
+ const [i] = y(() => c || `h-field-${A++}`), u = `${i}-label`, b = `${i}-description`, a = !!d, x = t ? "locked" : e ? "loading" : a ? "error" : "default";
24
+ return /* @__PURE__ */ F(
25
25
  I,
26
26
  {
27
27
  ref: p,
@@ -29,7 +29,7 @@ const B = g.forwardRef(function({
29
29
  "aria-labelledby": u,
30
30
  "aria-describedby": b,
31
31
  "data-locked": t,
32
- "data-error": l,
32
+ "data-error": a,
33
33
  "data-loading": e,
34
34
  className: H("base-field", w["h-field"], "h-field", f),
35
35
  vAlign: "start",
@@ -41,15 +41,15 @@ const B = g.forwardRef(function({
41
41
  /* @__PURE__ */ r(
42
42
  S,
43
43
  {
44
- minWidth: a,
45
- width: a,
44
+ minWidth: l,
45
+ width: l,
46
46
  id: i,
47
47
  label: o,
48
48
  description: s,
49
49
  required: m
50
50
  }
51
51
  ),
52
- /* @__PURE__ */ r($, { errorMessage: d, loading: e, locked: t, children: /* @__PURE__ */ r(j, { state: F, children: n }) })
52
+ /* @__PURE__ */ r($, { errorMessage: d, loading: e, locked: t, children: /* @__PURE__ */ r(j, { state: x, children: n }) })
53
53
  ]
54
54
  }
55
55
  );
@@ -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 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={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,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 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={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":"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,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;"}
@@ -1,16 +1,16 @@
1
- import { jsxs as w, Fragment as D, jsx as S } from "react/jsx-runtime";
1
+ import { jsxs as D, Fragment as L, jsx as S } 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 L, { useRef as u, useState as C } from "react";
5
+ import N, { useRef as s, useState as x } from "react";
6
6
  import { useForkRef as V } from "../../utils/hooks/use_fork_ref.js";
7
7
  import "../../utils/hooks/use_resize_observer.js";
8
- import z from "classnames";
8
+ import { clsx as z } from "clsx";
9
9
  import { SuggestionList as G } from "../suggestions/suggestion_list.js";
10
10
  import { Input as H } from "../input/input.js";
11
- const ee = L.forwardRef(function({
11
+ const ee = N.forwardRef(function({
12
12
  onOptionSelect: a,
13
- children: x = [],
13
+ children: C = [],
14
14
  onKeyDown: o,
15
15
  onKeyUp: m,
16
16
  value: c,
@@ -21,18 +21,18 @@ const ee = L.forwardRef(function({
21
21
  onMouseUp: g,
22
22
  ...i
23
23
  }, y) {
24
- const A = u(!1), d = u(c), n = u(!1), [E, F] = C(null), f = u(null), [h, R] = C(!1), T = V(y, f);
24
+ const A = s(!1), d = s(c), n = s(!1), [E, F] = x(null), f = s(null), [h, R] = x(!1), T = V(y, f);
25
25
  function l() {
26
26
  R(!0);
27
27
  }
28
28
  function r() {
29
29
  n.current = !1, R(!1);
30
30
  }
31
- function I(e, t, q) {
31
+ function I(e, t, w) {
32
32
  n.current = !0;
33
- const s = f.current;
33
+ const u = f.current;
34
34
  requestAnimationFrame(() => {
35
- s != null && (s.value = e, s.focus(), s.setSelectionRange(t, q));
35
+ u != null && (u.value = e, u.focus(), u.setSelectionRange(t, w));
36
36
  }), i.onChange && i.onChange(e), r();
37
37
  }
38
38
  function M(e) {
@@ -50,13 +50,13 @@ const ee = L.forwardRef(function({
50
50
  function B(e) {
51
51
  e.key === "Enter" && (h ? r() : (l(), e.preventDefault())), d.current !== e.currentTarget.value && l(), m && m(e);
52
52
  }
53
- function N(e) {
53
+ function U(e) {
54
54
  F(e.currentTarget), A.current = document.activeElement === e.currentTarget, p && p(e);
55
55
  }
56
- function U(e) {
56
+ function q(e) {
57
57
  n.current && (n.current = !1, r()), l(), g && g(e);
58
58
  }
59
- return /* @__PURE__ */ w(D, { children: [
59
+ return /* @__PURE__ */ D(L, { children: [
60
60
  /* @__PURE__ */ S(
61
61
  H,
62
62
  {
@@ -66,8 +66,8 @@ const ee = L.forwardRef(function({
66
66
  value: c,
67
67
  onKeyDown: j,
68
68
  onKeyUp: B,
69
- onMouseDown: N,
70
- onMouseUp: U
69
+ onMouseDown: U,
70
+ onMouseUp: q
71
71
  }
72
72
  ),
73
73
  h && /* @__PURE__ */ S(
@@ -80,7 +80,7 @@ const ee = L.forwardRef(function({
80
80
  onOptionSelect: M,
81
81
  noSuggestionMessage: k,
82
82
  haveValueAsOption: !0,
83
- children: x
83
+ children: C
84
84
  }
85
85
  )
86
86
  ] });
@@ -1 +1 @@
1
- {"version":3,"file":"combo_box.js","sources":["../../../src/inputs/combo_box/combo_box.tsx"],"sourcesContent":["import { useForkRef } from '../../utils/index.js';\nimport classNames from 'classnames';\nimport React, { useRef, useState } from 'react';\nimport { SuggestionList } from '../suggestions/suggestion_list.js';\nimport { Input, InputProps } from '../input/input.js';\nimport { OptionProps } from '../options/option.js';\n\nexport interface ComboBoxProps extends InputProps {\n children?: React.ReactElement<OptionProps>[] | React.ReactElement<OptionProps>;\n onOptionSelect?: (value: string) => void;\n noOptionMatchedMessage?: React.ReactNode;\n trimCustomInput?: boolean;\n}\n\nexport const ComboBox = React.forwardRef(function ComboBox(\n {\n onOptionSelect: onSuggestionSelect,\n children = [],\n onKeyDown,\n onKeyUp,\n value,\n noOptionMatchedMessage,\n trimCustomInput = false,\n className,\n onMouseDown,\n onMouseUp,\n ...props\n }: ComboBoxProps,\n ref: React.Ref<HTMLInputElement>\n) {\n const isAlreadyFocusedRef = useRef(false);\n const valueRef = useRef(value);\n const isClosingRef = useRef(false);\n const [anchorElement, setAnchorElement] = useState<HTMLInputElement | null>(null);\n const internalInputRef = useRef<HTMLInputElement | null>(null);\n const [isSuggestionsOpen, setIsSuggestionsOpen] = useState(false);\n const forkedRef = useForkRef(ref, internalInputRef);\n\n function openSuggestions() {\n setIsSuggestionsOpen(true);\n }\n\n function closeSuggestions() {\n isClosingRef.current = false;\n setIsSuggestionsOpen(false);\n }\n\n function handleClose(\n value: string,\n selectionStart: number | null,\n selectionEnd: number | null\n ) {\n isClosingRef.current = true;\n const input = internalInputRef.current;\n\n requestAnimationFrame(() => {\n if (input != null) {\n input.value = value;\n input.focus();\n input.setSelectionRange(selectionStart, selectionEnd);\n }\n });\n props.onChange && props.onChange(value);\n closeSuggestions();\n }\n\n function handleSelection(value: string) {\n isClosingRef.current = true;\n const input = internalInputRef.current;\n\n if (input != null) {\n input.focus();\n }\n\n closeSuggestions();\n onSuggestionSelect && onSuggestionSelect(value);\n }\n\n function handleKeyDown(event: React.KeyboardEvent<HTMLInputElement>) {\n valueRef.current = event.currentTarget.value;\n\n if (isClosingRef.current) {\n isClosingRef.current = false;\n onKeyDown && onKeyDown(event);\n return;\n }\n\n onKeyDown && onKeyDown(event);\n }\n\n function handleKeyUp(event: React.KeyboardEvent<HTMLInputElement>) {\n const key = event.key;\n\n if (key === 'Enter') {\n if (isSuggestionsOpen) {\n closeSuggestions();\n } else {\n openSuggestions();\n event.preventDefault();\n }\n }\n\n if (valueRef.current !== event.currentTarget.value) {\n openSuggestions();\n }\n\n onKeyUp && onKeyUp(event);\n }\n\n function handlMouseDown(event: React.MouseEvent<HTMLInputElement>) {\n setAnchorElement(event.currentTarget);\n isAlreadyFocusedRef.current = document.activeElement === event.currentTarget;\n onMouseDown && onMouseDown(event);\n }\n\n function handleMouseUp(event: React.MouseEvent<HTMLInputElement>) {\n if (isClosingRef.current) {\n isClosingRef.current = false;\n closeSuggestions();\n }\n\n openSuggestions();\n onMouseUp && onMouseUp(event);\n }\n\n return (\n <>\n <Input\n ref={forkedRef}\n className={classNames(className, 'combo-box-input')}\n {...props}\n value={value}\n onKeyDown={handleKeyDown}\n onKeyUp={handleKeyUp}\n onMouseDown={handlMouseDown}\n onMouseUp={handleMouseUp}\n />\n {isSuggestionsOpen && (\n <SuggestionList\n anchorElement={anchorElement}\n onClose={handleClose}\n value={value}\n trimCustomInput={trimCustomInput}\n onOptionSelect={handleSelection}\n noSuggestionMessage={noOptionMatchedMessage}\n haveValueAsOption={true}\n >\n {children}\n </SuggestionList>\n )}\n </>\n );\n});\n"],"names":["ComboBox","React","onSuggestionSelect","children","onKeyDown","onKeyUp","value","noOptionMatchedMessage","trimCustomInput","className","onMouseDown","onMouseUp","props","ref","isAlreadyFocusedRef","useRef","valueRef","isClosingRef","anchorElement","setAnchorElement","useState","internalInputRef","isSuggestionsOpen","setIsSuggestionsOpen","forkedRef","useForkRef","openSuggestions","closeSuggestions","handleClose","selectionStart","selectionEnd","input","handleSelection","handleKeyDown","event","handleKeyUp","handlMouseDown","handleMouseUp","jsxs","Fragment","jsx","Input","classNames","SuggestionList"],"mappings":"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"}
1
+ {"version":3,"file":"combo_box.js","sources":["../../../src/inputs/combo_box/combo_box.tsx"],"sourcesContent":["import { useForkRef } from '../../utils/index.js';\nimport { clsx } from 'clsx';\nimport React, { useRef, useState } from 'react';\nimport { SuggestionList } from '../suggestions/suggestion_list.js';\nimport { Input, InputProps } from '../input/input.js';\nimport { OptionProps } from '../options/option.js';\n\nexport interface ComboBoxProps extends InputProps {\n children?: React.ReactElement<OptionProps>[] | React.ReactElement<OptionProps>;\n onOptionSelect?: (value: string) => void;\n noOptionMatchedMessage?: React.ReactNode;\n trimCustomInput?: boolean;\n}\n\nexport const ComboBox = React.forwardRef(function ComboBox(\n {\n onOptionSelect: onSuggestionSelect,\n children = [],\n onKeyDown,\n onKeyUp,\n value,\n noOptionMatchedMessage,\n trimCustomInput = false,\n className,\n onMouseDown,\n onMouseUp,\n ...props\n }: ComboBoxProps,\n ref: React.Ref<HTMLInputElement>\n) {\n const isAlreadyFocusedRef = useRef(false);\n const valueRef = useRef(value);\n const isClosingRef = useRef(false);\n const [anchorElement, setAnchorElement] = useState<HTMLInputElement | null>(null);\n const internalInputRef = useRef<HTMLInputElement | null>(null);\n const [isSuggestionsOpen, setIsSuggestionsOpen] = useState(false);\n const forkedRef = useForkRef(ref, internalInputRef);\n\n function openSuggestions() {\n setIsSuggestionsOpen(true);\n }\n\n function closeSuggestions() {\n isClosingRef.current = false;\n setIsSuggestionsOpen(false);\n }\n\n function handleClose(\n value: string,\n selectionStart: number | null,\n selectionEnd: number | null\n ) {\n isClosingRef.current = true;\n const input = internalInputRef.current;\n\n requestAnimationFrame(() => {\n if (input != null) {\n input.value = value;\n input.focus();\n input.setSelectionRange(selectionStart, selectionEnd);\n }\n });\n props.onChange && props.onChange(value);\n closeSuggestions();\n }\n\n function handleSelection(value: string) {\n isClosingRef.current = true;\n const input = internalInputRef.current;\n\n if (input != null) {\n input.focus();\n }\n\n closeSuggestions();\n onSuggestionSelect && onSuggestionSelect(value);\n }\n\n function handleKeyDown(event: React.KeyboardEvent<HTMLInputElement>) {\n valueRef.current = event.currentTarget.value;\n\n if (isClosingRef.current) {\n isClosingRef.current = false;\n onKeyDown && onKeyDown(event);\n return;\n }\n\n onKeyDown && onKeyDown(event);\n }\n\n function handleKeyUp(event: React.KeyboardEvent<HTMLInputElement>) {\n const key = event.key;\n\n if (key === 'Enter') {\n if (isSuggestionsOpen) {\n closeSuggestions();\n } else {\n openSuggestions();\n event.preventDefault();\n }\n }\n\n if (valueRef.current !== event.currentTarget.value) {\n openSuggestions();\n }\n\n onKeyUp && onKeyUp(event);\n }\n\n function handlMouseDown(event: React.MouseEvent<HTMLInputElement>) {\n setAnchorElement(event.currentTarget);\n isAlreadyFocusedRef.current = document.activeElement === event.currentTarget;\n onMouseDown && onMouseDown(event);\n }\n\n function handleMouseUp(event: React.MouseEvent<HTMLInputElement>) {\n if (isClosingRef.current) {\n isClosingRef.current = false;\n closeSuggestions();\n }\n\n openSuggestions();\n onMouseUp && onMouseUp(event);\n }\n\n return (\n <>\n <Input\n ref={forkedRef}\n className={clsx(className, 'combo-box-input')}\n {...props}\n value={value}\n onKeyDown={handleKeyDown}\n onKeyUp={handleKeyUp}\n onMouseDown={handlMouseDown}\n onMouseUp={handleMouseUp}\n />\n {isSuggestionsOpen && (\n <SuggestionList\n anchorElement={anchorElement}\n onClose={handleClose}\n value={value}\n trimCustomInput={trimCustomInput}\n onOptionSelect={handleSelection}\n noSuggestionMessage={noOptionMatchedMessage}\n haveValueAsOption={true}\n >\n {children}\n </SuggestionList>\n )}\n </>\n );\n});\n"],"names":["ComboBox","React","onSuggestionSelect","children","onKeyDown","onKeyUp","value","noOptionMatchedMessage","trimCustomInput","className","onMouseDown","onMouseUp","props","ref","isAlreadyFocusedRef","useRef","valueRef","isClosingRef","anchorElement","setAnchorElement","useState","internalInputRef","isSuggestionsOpen","setIsSuggestionsOpen","forkedRef","useForkRef","openSuggestions","closeSuggestions","handleClose","selectionStart","selectionEnd","input","handleSelection","handleKeyDown","event","handleKeyUp","handlMouseDown","handleMouseUp","jsxs","Fragment","jsx","Input","clsx","SuggestionList"],"mappings":"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"}