@tcn/ui 0.16.0 → 0.18.0

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 (437) hide show
  1. package/dist/actions/index.d.ts +0 -1
  2. package/dist/actions/index.d.ts.map +1 -1
  3. package/dist/actions/index.js +6 -8
  4. package/dist/actions/index.js.map +1 -1
  5. package/dist/card.css +1 -0
  6. package/dist/column.css +1 -1
  7. package/dist/containers.css +1 -1
  8. package/dist/containers.module-BmICKsOK.js +5 -0
  9. package/dist/containers.module-BmICKsOK.js.map +1 -0
  10. package/dist/draggable.css +1 -1
  11. package/dist/draggable.module-DFYR5n3n.js +5 -0
  12. package/dist/draggable.module-DFYR5n3n.js.map +1 -0
  13. package/dist/field_set.css +1 -1
  14. package/dist/field_set.module-BpJTFCi4.js +5 -0
  15. package/dist/field_set.module-BpJTFCi4.js.map +1 -0
  16. package/dist/form/field/field.js +17 -13
  17. package/dist/form/field/field.js.map +1 -1
  18. package/dist/form/field_set/field_set.d.ts +6 -10
  19. package/dist/form/field_set/field_set.d.ts.map +1 -1
  20. package/dist/form/field_set/field_set.js +33 -61
  21. package/dist/form/field_set/field_set.js.map +1 -1
  22. package/dist/form/field_set/legend.d.ts +20 -0
  23. package/dist/form/field_set/legend.d.ts.map +1 -0
  24. package/dist/form/field_set/legend.js +28 -0
  25. package/dist/form/field_set/legend.js.map +1 -0
  26. package/dist/form/index.d.ts +2 -1
  27. package/dist/form/index.d.ts.map +1 -1
  28. package/dist/form/index.js +24 -22
  29. package/dist/form/index.js.map +1 -1
  30. package/dist/inputs/color_input/color_input.js +2 -3
  31. package/dist/inputs/color_input/color_input.js.map +1 -1
  32. package/dist/inputs/color_input/color_picker.js +11 -7
  33. package/dist/inputs/color_input/color_picker.js.map +1 -1
  34. package/dist/inputs/combo_box/combo_box.js +24 -20
  35. package/dist/inputs/combo_box/combo_box.js.map +1 -1
  36. package/dist/inputs/date_picker/date_picker.js +19 -15
  37. package/dist/inputs/date_picker/date_picker.js.map +1 -1
  38. package/dist/inputs/date_picker/date_picker_header.d.ts.map +1 -1
  39. package/dist/inputs/date_picker/date_picker_header.js +15 -14
  40. package/dist/inputs/date_picker/date_picker_header.js.map +1 -1
  41. package/dist/inputs/date_picker/date_picker_input.js +26 -23
  42. package/dist/inputs/date_picker/date_picker_input.js.map +1 -1
  43. package/dist/inputs/date_picker/date_picker_time_selector.js +2 -3
  44. package/dist/inputs/date_picker/date_picker_time_selector.js.map +1 -1
  45. package/dist/inputs/date_picker/date_picker_year_input.js +2 -3
  46. package/dist/inputs/date_picker/date_picker_year_input.js.map +1 -1
  47. package/dist/inputs/date_picker/date_picker_year_selector.js +24 -21
  48. package/dist/inputs/date_picker/date_picker_year_selector.js.map +1 -1
  49. package/dist/inputs/mask_input/key_capture_input.js +35 -31
  50. package/dist/inputs/mask_input/key_capture_input.js.map +1 -1
  51. package/dist/inputs/mask_input/mask_input.js +18 -14
  52. package/dist/inputs/mask_input/mask_input.js.map +1 -1
  53. package/dist/inputs/multiselect/multiselect.js +28 -24
  54. package/dist/inputs/multiselect/multiselect.js.map +1 -1
  55. package/dist/inputs/multiselect/multiselect_inline_values.d.ts.map +1 -1
  56. package/dist/inputs/multiselect/multiselect_inline_values.js +15 -15
  57. package/dist/inputs/multiselect/multiselect_inline_values.js.map +1 -1
  58. package/dist/inputs/multiselect/multiselect_values.js +16 -17
  59. package/dist/inputs/multiselect/multiselect_values.js.map +1 -1
  60. package/dist/inputs/phone_number_input/phone_number_context.js +13 -9
  61. package/dist/inputs/phone_number_input/phone_number_context.js.map +1 -1
  62. package/dist/inputs/phone_number_input/phone_number_input_adapter.js +2 -3
  63. package/dist/inputs/phone_number_input/phone_number_input_adapter.js.map +1 -1
  64. package/dist/inputs/phone_number_input/sip_input.js +8 -9
  65. package/dist/inputs/phone_number_input/sip_input.js.map +1 -1
  66. package/dist/inputs/select/select.js +11 -8
  67. package/dist/inputs/select/select.js.map +1 -1
  68. package/dist/inputs/slider/slider.js +28 -24
  69. package/dist/inputs/slider/slider.js.map +1 -1
  70. package/dist/inputs/suggestions/suggestion_list.js +11 -8
  71. package/dist/inputs/suggestions/suggestion_list.js.map +1 -1
  72. package/dist/inputs/switch/switch.js +29 -25
  73. package/dist/inputs/switch/switch.js.map +1 -1
  74. package/dist/inputs/unit_input/unit_input.js +21 -17
  75. package/dist/inputs/unit_input/unit_input.js.map +1 -1
  76. package/dist/layouts/containers/columns/columns.d.ts +6 -1
  77. package/dist/layouts/containers/columns/columns.d.ts.map +1 -1
  78. package/dist/layouts/containers/columns/columns.js +30 -7
  79. package/dist/layouts/containers/columns/columns.js.map +1 -1
  80. package/dist/layouts/containers/rail.d.ts +2 -5
  81. package/dist/layouts/containers/rail.d.ts.map +1 -1
  82. package/dist/layouts/containers/rail.js +17 -55
  83. package/dist/layouts/containers/rail.js.map +1 -1
  84. package/dist/layouts/containers/rows/index.d.ts +3 -0
  85. package/dist/layouts/containers/rows/index.d.ts.map +1 -0
  86. package/dist/layouts/containers/rows/index.js +7 -0
  87. package/dist/layouts/containers/rows/index.js.map +1 -0
  88. package/dist/layouts/containers/rows/row.d.ts +6 -0
  89. package/dist/layouts/containers/rows/row.d.ts.map +1 -0
  90. package/dist/layouts/containers/rows/row.js +20 -0
  91. package/dist/layouts/containers/rows/row.js.map +1 -0
  92. package/dist/layouts/containers/rows/rows.d.ts +11 -0
  93. package/dist/layouts/containers/rows/rows.d.ts.map +1 -0
  94. package/dist/layouts/containers/rows/rows.js +34 -0
  95. package/dist/layouts/containers/rows/rows.js.map +1 -0
  96. package/dist/layouts/containers/scaffold.d.ts +2 -5
  97. package/dist/layouts/containers/scaffold.d.ts.map +1 -1
  98. package/dist/layouts/containers/scaffold.js +17 -55
  99. package/dist/layouts/containers/scaffold.js.map +1 -1
  100. package/dist/layouts/index.d.ts +2 -0
  101. package/dist/layouts/index.d.ts.map +1 -1
  102. package/dist/layouts/index.js +26 -22
  103. package/dist/layouts/index.js.map +1 -1
  104. package/dist/mobile/inputs/date_picker/mobile_date_picker_header.js +11 -7
  105. package/dist/mobile/inputs/date_picker/mobile_date_picker_header.js.map +1 -1
  106. package/dist/mobile/inputs/date_picker/mobile_date_picker_input.js +11 -7
  107. package/dist/mobile/inputs/date_picker/mobile_date_picker_input.js.map +1 -1
  108. package/dist/mobile/inputs/date_picker/mobile_date_picker_year_selector.js +14 -10
  109. package/dist/mobile/inputs/date_picker/mobile_date_picker_year_selector.js.map +1 -1
  110. package/dist/multiselect_values.css +1 -1
  111. package/dist/navigation/tabs/state/link/tab_link.js +15 -11
  112. package/dist/navigation/tabs/state/link/tab_link.js.map +1 -1
  113. package/dist/overlay/frame/frame.d.ts.map +1 -1
  114. package/dist/overlay/frame/frame.js +117 -76
  115. package/dist/overlay/frame/frame.js.map +1 -1
  116. package/dist/overlay/menu/menu.js +21 -17
  117. package/dist/overlay/menu/menu.js.map +1 -1
  118. package/dist/overlay/popper/base/dismissal_decorator.js +3 -3
  119. package/dist/overlay/popper/base/dismissal_decorator.js.map +1 -1
  120. package/dist/overlay/popper/context_popper.js +14 -10
  121. package/dist/overlay/popper/context_popper.js.map +1 -1
  122. package/dist/overlay/popper/element_popper.js +15 -11
  123. package/dist/overlay/popper/element_popper.js.map +1 -1
  124. package/dist/overlay/popper/legacy/popper.js +32 -28
  125. package/dist/overlay/popper/legacy/popper.js.map +1 -1
  126. package/dist/overlay/popper/preview_popper.js +16 -12
  127. package/dist/overlay/popper/preview_popper.js.map +1 -1
  128. package/dist/overlay/tethered/tethered.js +17 -13
  129. package/dist/overlay/tethered/tethered.js.map +1 -1
  130. package/dist/resizable.css +1 -0
  131. package/dist/resizable.module-ur5FBfxo.js +5 -0
  132. package/dist/resizable.module-ur5FBfxo.js.map +1 -0
  133. package/dist/resize_handle.css +1 -0
  134. package/dist/row.css +1 -0
  135. package/dist/stacks/box/box.d.ts +14 -0
  136. package/dist/stacks/box/box.d.ts.map +1 -1
  137. package/dist/stacks/box/box.js +104 -102
  138. package/dist/stacks/box/box.js.map +1 -1
  139. package/dist/stacks/box/detect_resize_bounds.d.ts +1 -0
  140. package/dist/stacks/box/detect_resize_bounds.d.ts.map +1 -1
  141. package/dist/stacks/box/detect_resize_bounds.js +22 -20
  142. package/dist/stacks/box/detect_resize_bounds.js.map +1 -1
  143. package/dist/stacks/box/end_resize_handle.js +5 -5
  144. package/dist/stacks/box/end_resize_handle.js.map +1 -1
  145. package/dist/stacks/box/resize_handlers.d.ts.map +1 -1
  146. package/dist/stacks/box/resize_handlers.js +12 -12
  147. package/dist/stacks/box/resize_handlers.js.map +1 -1
  148. package/dist/stacks/box/start_resize_handle.js +7 -7
  149. package/dist/stacks/box/start_resize_handle.js.map +1 -1
  150. package/dist/stacks/box/types.d.ts +3 -2
  151. package/dist/stacks/box/types.d.ts.map +1 -1
  152. package/dist/stacks/h_collapsible_box.js +24 -20
  153. package/dist/stacks/h_collapsible_box.js.map +1 -1
  154. package/dist/stacks/v_collapsible_box.js +26 -22
  155. package/dist/stacks/v_collapsible_box.js.map +1 -1
  156. package/dist/surfaces/alert/alert.js +7 -8
  157. package/dist/surfaces/alert/alert.js.map +1 -1
  158. package/dist/surfaces/card/card.d.ts.map +1 -1
  159. package/dist/surfaces/card/card.js +14 -6
  160. package/dist/surfaces/card/card.js.map +1 -1
  161. package/dist/surfaces/pop_confirm/pop_confirm.js +4 -2
  162. package/dist/surfaces/pop_confirm/pop_confirm.js.map +1 -1
  163. package/dist/test-setup.d.ts +2 -0
  164. package/dist/test-setup.d.ts.map +1 -0
  165. package/dist/test-setup.js +10 -0
  166. package/dist/test-setup.js.map +1 -0
  167. package/dist/themes/stories/button_showcase.d.ts.map +1 -1
  168. package/dist/themes/stories/controls_fieldset.d.ts.map +1 -1
  169. package/dist/themes/stories/menu_showcase.d.ts.map +1 -1
  170. package/dist/themes/theme.d.ts.map +1 -1
  171. package/dist/themes/theme.js +17 -22
  172. package/dist/themes/theme.js.map +1 -1
  173. package/dist/themes/themes/ergo/ergo_theme.css +1 -1
  174. package/dist/themes/themes/ergo/ergo_theme.d.ts.map +1 -1
  175. package/dist/themes/themes/ergo/ergo_theme.js +653 -431
  176. package/dist/themes/themes/ergo/ergo_theme.js.map +1 -1
  177. package/dist/themes/themes/ergo/parts/actions.css +1 -0
  178. package/dist/themes/themes/ergo/parts/base.css +1 -0
  179. package/dist/themes/themes/ergo/parts/form.css +1 -0
  180. package/dist/themes/themes/ergo/parts/inputs.css +1 -0
  181. package/dist/themes/themes/ergo/parts/navigation.css +1 -0
  182. package/dist/themes/themes/windows_98/windows_98.css +1 -1
  183. package/dist/themes/themes/windows_98/windows_98_theme.js +32 -43
  184. package/dist/themes/themes/windows_98/windows_98_theme.js.map +1 -1
  185. package/dist/utils/decorators/clone_with_decorator.d.ts +21 -0
  186. package/dist/utils/decorators/clone_with_decorator.d.ts.map +1 -0
  187. package/dist/utils/decorators/clone_with_decorator.js +16 -0
  188. package/dist/utils/decorators/clone_with_decorator.js.map +1 -0
  189. package/dist/utils/decorators/draggable/context.d.ts.map +1 -0
  190. package/dist/utils/decorators/draggable/context.js.map +1 -0
  191. package/dist/utils/{dnd/handle.d.ts → decorators/draggable/drag_handle.d.ts} +1 -1
  192. package/dist/utils/decorators/draggable/drag_handle.d.ts.map +1 -0
  193. package/dist/utils/{dnd/handle.js → decorators/draggable/drag_handle.js} +2 -2
  194. package/dist/utils/decorators/draggable/drag_handle.js.map +1 -0
  195. package/dist/utils/decorators/draggable/draggable.d.ts.map +1 -0
  196. package/dist/utils/{dnd → decorators}/draggable/draggable.js +3 -3
  197. package/dist/utils/decorators/draggable/draggable.js.map +1 -0
  198. package/dist/utils/decorators/draggable/index.d.ts +11 -0
  199. package/dist/utils/decorators/draggable/index.d.ts.map +1 -0
  200. package/dist/utils/decorators/draggable/index.js +14 -0
  201. package/dist/utils/decorators/draggable/index.js.map +1 -0
  202. package/dist/utils/{dnd → decorators/draggable}/types.d.ts +1 -1
  203. package/dist/utils/decorators/draggable/types.d.ts.map +1 -0
  204. package/dist/utils/{dnd/hooks → decorators/draggable}/use_drag_container.d.ts +2 -2
  205. package/dist/utils/decorators/draggable/use_drag_container.d.ts.map +1 -0
  206. package/dist/utils/decorators/draggable/use_drag_container.js.map +1 -0
  207. package/dist/utils/decorators/draggable/use_draggable.d.ts.map +1 -0
  208. package/dist/utils/decorators/draggable/use_draggable.js.map +1 -0
  209. package/dist/utils/decorators/index.d.ts +3 -0
  210. package/dist/utils/decorators/index.d.ts.map +1 -0
  211. package/dist/utils/decorators/index.js +27 -0
  212. package/dist/utils/decorators/index.js.map +1 -0
  213. package/dist/utils/decorators/resizable/context.d.ts +4 -0
  214. package/dist/utils/decorators/resizable/context.d.ts.map +1 -0
  215. package/dist/utils/decorators/resizable/context.js +10 -0
  216. package/dist/utils/decorators/resizable/context.js.map +1 -0
  217. package/dist/utils/decorators/resizable/handle_config.d.ts +32 -0
  218. package/dist/utils/decorators/resizable/handle_config.d.ts.map +1 -0
  219. package/dist/utils/decorators/resizable/handle_config.js +62 -0
  220. package/dist/utils/decorators/resizable/handle_config.js.map +1 -0
  221. package/dist/utils/decorators/resizable/index.d.ts +10 -0
  222. package/dist/utils/decorators/resizable/index.d.ts.map +1 -0
  223. package/dist/utils/decorators/resizable/index.js +16 -0
  224. package/dist/utils/decorators/resizable/index.js.map +1 -0
  225. package/dist/utils/decorators/resizable/resizable.d.ts +11 -0
  226. package/dist/utils/decorators/resizable/resizable.d.ts.map +1 -0
  227. package/dist/utils/decorators/resizable/resizable.js +52 -0
  228. package/dist/utils/decorators/resizable/resizable.js.map +1 -0
  229. package/dist/utils/decorators/resizable/resize_handle.d.ts +7 -0
  230. package/dist/utils/decorators/resizable/resize_handle.d.ts.map +1 -0
  231. package/dist/utils/decorators/resizable/resize_handle.js +100 -0
  232. package/dist/utils/decorators/resizable/resize_handle.js.map +1 -0
  233. package/dist/utils/decorators/resizable/resize_strategy.d.ts +47 -0
  234. package/dist/utils/decorators/resizable/resize_strategy.d.ts.map +1 -0
  235. package/dist/utils/decorators/resizable/resize_strategy.js +108 -0
  236. package/dist/utils/decorators/resizable/resize_strategy.js.map +1 -0
  237. package/dist/utils/decorators/resizable/types.d.ts +28 -0
  238. package/dist/utils/decorators/resizable/types.d.ts.map +1 -0
  239. package/dist/utils/decorators/resizable/types.js +2 -0
  240. package/dist/utils/decorators/resizable/types.js.map +1 -0
  241. package/dist/utils/hooks/labelled_by_context.d.ts +21 -0
  242. package/dist/utils/hooks/labelled_by_context.d.ts.map +1 -0
  243. package/dist/utils/hooks/labelled_by_context.js +12 -0
  244. package/dist/utils/hooks/labelled_by_context.js.map +1 -0
  245. package/dist/utils/index.d.ts +8 -7
  246. package/dist/utils/index.d.ts.map +1 -1
  247. package/dist/utils/index.js +45 -28
  248. package/dist/utils/index.js.map +1 -1
  249. package/dist/utils/listeners/click_away_listener.d.ts.map +1 -0
  250. package/dist/utils/{click_away_listener.js → listeners/click_away_listener.js} +1 -1
  251. package/dist/utils/listeners/click_away_listener.js.map +1 -0
  252. package/dist/utils/listeners/focus_redirect.d.ts.map +1 -0
  253. package/dist/utils/listeners/focus_redirect.js.map +1 -0
  254. package/dist/utils/listeners/index.d.ts +4 -0
  255. package/dist/utils/listeners/index.d.ts.map +1 -0
  256. package/dist/utils/listeners/index.js +10 -0
  257. package/dist/utils/listeners/index.js.map +1 -0
  258. package/dist/utils/listeners/mouse_leave_region.d.ts.map +1 -0
  259. package/dist/utils/listeners/mouse_leave_region.js.map +1 -0
  260. package/dist/utils/listeners/scroll_away_listener.d.ts.map +1 -0
  261. package/dist/utils/{scroll_away_listener.js → listeners/scroll_away_listener.js} +1 -1
  262. package/dist/utils/listeners/scroll_away_listener.js.map +1 -0
  263. package/dist/utils/system/index.d.ts +2 -0
  264. package/dist/utils/system/index.d.ts.map +1 -0
  265. package/dist/utils/system/index.js +2 -0
  266. package/dist/utils/system/index.js.map +1 -0
  267. package/dist/utils/system/variations.d.ts.map +1 -0
  268. package/dist/utils/system/variations.js +2 -0
  269. package/dist/utils/system/variations.js.map +1 -0
  270. package/dist/utils/types/sides.d.ts +3 -0
  271. package/dist/utils/types/sides.d.ts.map +1 -0
  272. package/package.json +3 -9
  273. package/src/actions/button/__stories__/button_group.stories.tsx +23 -24
  274. package/src/actions/index.ts +0 -1
  275. package/src/form/field/field.stories.tsx +2 -2
  276. package/src/form/field/h_field/h_field.stories.tsx +1 -1
  277. package/src/form/field/v_field/v_field.stories.tsx +1 -1
  278. package/src/form/field_set/field_set.module.css +0 -14
  279. package/src/form/field_set/field_set.stories.tsx +101 -1
  280. package/src/form/field_set/field_set.tsx +43 -57
  281. package/src/form/field_set/legend.tsx +44 -0
  282. package/src/form/index.ts +6 -1
  283. package/src/inputs/date_picker/date_picker_header.tsx +7 -5
  284. package/src/inputs/date_picker/date_picker_year_selector.tsx +5 -5
  285. package/src/inputs/multiselect/multiselect_inline_values.tsx +4 -3
  286. package/src/inputs/multiselect/multiselect_values.module.css +1 -0
  287. package/src/inputs/multiselect/multiselect_values.tsx +4 -4
  288. package/src/layouts/__stories__/columns.stories.tsx +31 -0
  289. package/src/layouts/__stories__/composed.stories.tsx +77 -8
  290. package/src/layouts/__stories__/rows.stories.tsx +77 -0
  291. package/src/layouts/__stories__/utils.tsx +2 -84
  292. package/src/layouts/containers/columns/column.module.css +3 -2
  293. package/src/layouts/containers/columns/columns.tsx +29 -3
  294. package/src/layouts/containers/containers.module.css +27 -29
  295. package/src/layouts/containers/rail.tsx +9 -51
  296. package/src/layouts/containers/rows/index.ts +2 -0
  297. package/src/layouts/containers/rows/row.module.css +15 -0
  298. package/src/layouts/containers/rows/row.tsx +22 -0
  299. package/src/layouts/containers/rows/rows.tsx +42 -0
  300. package/src/layouts/containers/scaffold.tsx +9 -49
  301. package/src/layouts/index.ts +2 -0
  302. package/src/overlay/frame/frame.stories.tsx +2 -1
  303. package/src/overlay/frame/frame.tsx +68 -20
  304. package/src/overlay/popper/base/dismissal_decorator.tsx +3 -3
  305. package/src/overlay/slide/slide.stories.tsx +1 -1
  306. package/src/stacks/box/box.tsx +29 -4
  307. package/src/stacks/box/detect_resize_bounds.ts +5 -1
  308. package/src/stacks/box/end_resize_handle.tsx +1 -1
  309. package/src/stacks/box/resize_handlers.ts +1 -1
  310. package/src/stacks/box/start_resize_handle.tsx +1 -1
  311. package/src/stacks/box/types.ts +3 -2
  312. package/src/stacks/collapsible_box.stories.tsx +5 -5
  313. package/src/stacks/demo.stories.tsx +7 -7
  314. package/src/surfaces/card/card.module.css +5 -0
  315. package/src/surfaces/card/card.stories.tsx +66 -8
  316. package/src/surfaces/card/card.tsx +6 -2
  317. package/src/surfaces/page/page.stories.tsx +84 -4
  318. package/src/surfaces/panel/__stories__/panel.stories.tsx +84 -9
  319. package/src/surfaces/window/window.stories.tsx +1 -1
  320. package/src/test-setup.ts +11 -0
  321. package/src/themes/stories/button_showcase.tsx +3 -1
  322. package/src/themes/stories/controls_fieldset.tsx +3 -1
  323. package/src/themes/stories/menu_showcase.tsx +3 -1
  324. package/src/themes/theme.tsx +6 -16
  325. package/src/themes/themes/ergo/INTERACTIVE.md +89 -0
  326. package/src/themes/themes/ergo/ROADMAP.md +116 -0
  327. package/src/themes/themes/ergo/ergo_theme.css +219 -734
  328. package/src/themes/themes/ergo/ergo_theme.ts +15 -1
  329. package/src/themes/themes/ergo/parts/actions.css +287 -0
  330. package/src/themes/themes/ergo/parts/base.css +62 -0
  331. package/src/themes/themes/ergo/parts/form.css +23 -0
  332. package/src/themes/themes/ergo/parts/inputs.css +252 -0
  333. package/src/themes/themes/ergo/parts/navigation.css +104 -0
  334. package/src/themes/themes/windows_98/windows_98.css +32 -43
  335. package/src/tokens/chip/chip.stories.tsx +5 -5
  336. package/src/utils/decorators/DECORATOR_PATTERN.md +86 -0
  337. package/src/utils/decorators/clone_with_decorator.ts +47 -0
  338. package/src/utils/{dnd → decorators/draggable}/__stories__/draggable.stories.tsx +7 -7
  339. package/src/utils/{dnd → decorators/draggable}/__stories__/use_draggable.stories.tsx +2 -2
  340. package/src/utils/{dnd/handle.tsx → decorators/draggable/drag_handle.tsx} +1 -1
  341. package/src/utils/{dnd → decorators}/draggable/draggable.tsx +2 -2
  342. package/src/utils/decorators/draggable/index.ts +15 -0
  343. package/src/utils/{dnd → decorators/draggable}/types.ts +1 -1
  344. package/src/utils/{dnd/hooks → decorators/draggable}/use_drag_container.ts +2 -2
  345. package/src/utils/decorators/index.ts +2 -0
  346. package/src/utils/decorators/resizable/__stories__/resizable.stories.tsx +214 -0
  347. package/src/utils/decorators/resizable/__stories__/resizable_stories.module.css +47 -0
  348. package/src/utils/decorators/resizable/__tests__/handle_config.test.ts +191 -0
  349. package/src/utils/decorators/resizable/__tests__/resize_strategy.test.ts +163 -0
  350. package/src/utils/decorators/resizable/context.ts +9 -0
  351. package/src/utils/decorators/resizable/handle_config.ts +118 -0
  352. package/src/utils/decorators/resizable/index.ts +37 -0
  353. package/src/utils/decorators/resizable/resizable.module.css +5 -0
  354. package/src/utils/decorators/resizable/resizable.tsx +97 -0
  355. package/src/utils/decorators/resizable/resize_handle.module.css +106 -0
  356. package/src/utils/decorators/resizable/resize_handle.tsx +165 -0
  357. package/src/utils/decorators/resizable/resize_strategy.ts +190 -0
  358. package/src/utils/decorators/resizable/types.ts +58 -0
  359. package/src/utils/hooks/labelled_by_context.ts +27 -0
  360. package/src/utils/index.ts +9 -7
  361. package/src/utils/{click_away_listener.tsx → listeners/click_away_listener.tsx} +1 -1
  362. package/src/utils/listeners/index.ts +3 -0
  363. package/src/utils/{scroll_away_listener.tsx → listeners/scroll_away_listener.tsx} +1 -1
  364. package/src/utils/system/index.ts +1 -0
  365. package/src/utils/types/sides.ts +2 -0
  366. package/dist/actions/button/slim_button/slim_button.d.ts +0 -9
  367. package/dist/actions/button/slim_button/slim_button.d.ts.map +0 -1
  368. package/dist/actions/button/slim_button/slim_button.js +0 -18
  369. package/dist/actions/button/slim_button/slim_button.js.map +0 -1
  370. package/dist/containers.module-DlGySre0.js +0 -5
  371. package/dist/containers.module-DlGySre0.js.map +0 -1
  372. package/dist/draggable.module-BgelQsuJ.js +0 -5
  373. package/dist/draggable.module-BgelQsuJ.js.map +0 -1
  374. package/dist/frame.css +0 -1
  375. package/dist/left_resize_handle.css +0 -1
  376. package/dist/right_resize_handle.css +0 -1
  377. package/dist/slim_button.css +0 -1
  378. package/dist/stacks/box/left_resize_handle.d.ts +0 -4
  379. package/dist/stacks/box/left_resize_handle.d.ts.map +0 -1
  380. package/dist/stacks/box/left_resize_handle.js +0 -36
  381. package/dist/stacks/box/left_resize_handle.js.map +0 -1
  382. package/dist/stacks/box/right_resize_handle.d.ts +0 -4
  383. package/dist/stacks/box/right_resize_handle.d.ts.map +0 -1
  384. package/dist/stacks/box/right_resize_handle.js +0 -36
  385. package/dist/stacks/box/right_resize_handle.js.map +0 -1
  386. package/dist/utils/click_away_listener.d.ts.map +0 -1
  387. package/dist/utils/click_away_listener.js.map +0 -1
  388. package/dist/utils/dnd/context.d.ts.map +0 -1
  389. package/dist/utils/dnd/context.js.map +0 -1
  390. package/dist/utils/dnd/draggable/draggable.d.ts.map +0 -1
  391. package/dist/utils/dnd/draggable/draggable.js.map +0 -1
  392. package/dist/utils/dnd/handle.d.ts.map +0 -1
  393. package/dist/utils/dnd/handle.js.map +0 -1
  394. package/dist/utils/dnd/hooks/use_drag_container.d.ts.map +0 -1
  395. package/dist/utils/dnd/hooks/use_drag_container.js.map +0 -1
  396. package/dist/utils/dnd/hooks/use_draggable.d.ts.map +0 -1
  397. package/dist/utils/dnd/hooks/use_draggable.js.map +0 -1
  398. package/dist/utils/dnd/types.d.ts.map +0 -1
  399. package/dist/utils/focus_redirect.d.ts.map +0 -1
  400. package/dist/utils/focus_redirect.js.map +0 -1
  401. package/dist/utils/mouse_leave_region.d.ts.map +0 -1
  402. package/dist/utils/mouse_leave_region.js.map +0 -1
  403. package/dist/utils/scroll_away_listener.d.ts.map +0 -1
  404. package/dist/utils/scroll_away_listener.js.map +0 -1
  405. package/dist/utils/types/variations.d.ts.map +0 -1
  406. package/src/actions/button/__stories__/slim_button.stories.tsx +0 -274
  407. package/src/actions/button/slim_button/slim_button.module.css +0 -9
  408. package/src/actions/button/slim_button/slim_button.tsx +0 -26
  409. package/src/overlay/frame/frame.module.css +0 -5
  410. package/src/stacks/box/left_resize_handle.module.css +0 -12
  411. package/src/stacks/box/left_resize_handle.tsx +0 -39
  412. package/src/stacks/box/right_resize_handle.module.css +0 -12
  413. package/src/stacks/box/right_resize_handle.tsx +0 -38
  414. /package/dist/utils/{dnd → decorators/draggable}/context.d.ts +0 -0
  415. /package/dist/utils/{dnd → decorators/draggable}/context.js +0 -0
  416. /package/dist/utils/{dnd → decorators}/draggable/draggable.d.ts +0 -0
  417. /package/dist/utils/{dnd → decorators/draggable}/types.js +0 -0
  418. /package/dist/utils/{dnd → decorators/draggable}/types.js.map +0 -0
  419. /package/dist/utils/{dnd/hooks → decorators/draggable}/use_drag_container.js +0 -0
  420. /package/dist/utils/{dnd/hooks → decorators/draggable}/use_draggable.d.ts +0 -0
  421. /package/dist/utils/{dnd/hooks → decorators/draggable}/use_draggable.js +0 -0
  422. /package/dist/utils/{click_away_listener.d.ts → listeners/click_away_listener.d.ts} +0 -0
  423. /package/dist/utils/{focus_redirect.d.ts → listeners/focus_redirect.d.ts} +0 -0
  424. /package/dist/utils/{focus_redirect.js → listeners/focus_redirect.js} +0 -0
  425. /package/dist/utils/{mouse_leave_region.d.ts → listeners/mouse_leave_region.d.ts} +0 -0
  426. /package/dist/utils/{mouse_leave_region.js → listeners/mouse_leave_region.js} +0 -0
  427. /package/dist/utils/{scroll_away_listener.d.ts → listeners/scroll_away_listener.d.ts} +0 -0
  428. /package/dist/utils/{types → system}/variations.d.ts +0 -0
  429. /package/src/utils/{dnd → decorators/draggable}/__stories__/draggable_stories.module.css +0 -0
  430. /package/src/utils/{dnd → decorators/draggable}/context.ts +0 -0
  431. /package/src/utils/{dnd → decorators}/draggable/draggable.module.css +0 -0
  432. /package/src/utils/{dnd/hooks → decorators/draggable}/use_draggable.ts +0 -0
  433. /package/src/utils/{click_away_listener.stories.tsx → listeners/click_away_listener.stories.tsx} +0 -0
  434. /package/src/utils/{focus_redirect.tsx → listeners/focus_redirect.tsx} +0 -0
  435. /package/src/utils/{mouse_leave_region.tsx → listeners/mouse_leave_region.tsx} +0 -0
  436. /package/src/utils/{scroll_away_listener.stories.tsx → listeners/scroll_away_listener.stories.tsx} +0 -0
  437. /package/src/utils/{types → system}/variations.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"start_resize_handle.js","sources":["../../../src/stacks/box/start_resize_handle.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport { createHorizontalResizeHandler } from './resize_handlers.js';\nimport styles from './start_resize_handle.module.css';\nimport type { HorizontalResizeHandleProps } from './types.js';\nimport { CSSProperties } from 'react';\n\nexport type StartResizeHandleProps = HorizontalResizeHandleProps;\n\nexport function StartResizeHandle({\n targetRef,\n handleProps,\n onWidthResize,\n onWidthResizeEnd,\n}: StartResizeHandleProps) {\n const resizeHandler = createHorizontalResizeHandler(\n targetRef,\n onWidthResize,\n onWidthResizeEnd,\n 'left',\n true\n );\n\n const offset = handleProps?.offset ? handleProps.offset : -8;\n\n const startResizeHandleStyle = {\n ...handleProps?.style,\n '--resize-offset': `${offset}px`,\n width: handleProps?.size || '16px',\n } as CSSProperties;\n\n return (\n <div\n className={clsx(styles['start-resize-handle'], 'tcn-start-resize-handle')}\n onMouseDown={resizeHandler}\n style={startResizeHandleStyle}\n >\n {handleProps?.children}\n </div>\n );\n}\n"],"names":["StartResizeHandle","targetRef","handleProps","onWidthResize","onWidthResizeEnd","resizeHandler","createHorizontalResizeHandler","offset","startResizeHandleStyle","jsx","clsx","styles"],"mappings":";;;;AAQO,SAASA,EAAkB;AAAA,EAChC,WAAAC;AAAA,EACA,aAAAC;AAAA,EACA,eAAAC;AAAA,EACA,kBAAAC;AACF,GAA2B;AACzB,QAAMC,IAAgBC;AAAA,IACpBL;AAAA,IACAE;AAAA,IACAC;AAAA,IACA;AAAA,IACA;AAAA,EAAA,GAGIG,IAASL,GAAa,SAASA,EAAY,SAAS,IAEpDM,IAAyB;AAAA,IAC7B,GAAGN,GAAa;AAAA,IAChB,mBAAmB,GAAGK,CAAM;AAAA,IAC5B,OAAOL,GAAa,QAAQ;AAAA,EAAA;AAG9B,SACE,gBAAAO;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC,EAAKC,EAAO,qBAAqB,GAAG,yBAAyB;AAAA,MACxE,aAAaN;AAAA,MACb,OAAOG;AAAA,MAEN,UAAAN,GAAa;AAAA,IAAA;AAAA,EAAA;AAGpB;"}
1
+ {"version":3,"file":"start_resize_handle.js","sources":["../../../src/stacks/box/start_resize_handle.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport { createHorizontalResizeHandler } from './resize_handlers.js';\nimport styles from './start_resize_handle.module.css';\nimport type { HorizontalResizeHandleProps } from './types.js';\nimport { CSSProperties } from 'react';\n\nexport type StartResizeHandleProps = HorizontalResizeHandleProps;\n\nexport function StartResizeHandle({\n targetRef,\n handleProps,\n onWidthResize,\n onWidthResizeEnd,\n}: StartResizeHandleProps) {\n const resizeHandler = createHorizontalResizeHandler(\n targetRef,\n onWidthResize,\n onWidthResizeEnd,\n 'start',\n true\n );\n\n const offset = handleProps?.offset ? handleProps.offset : -8;\n\n const startResizeHandleStyle = {\n ...handleProps?.style,\n '--resize-offset': `${offset}px`,\n width: handleProps?.size || '16px',\n } as CSSProperties;\n\n return (\n <div\n className={clsx(styles['start-resize-handle'], 'tcn-start-resize-handle')}\n onMouseDown={resizeHandler}\n style={startResizeHandleStyle}\n >\n {handleProps?.children}\n </div>\n );\n}\n"],"names":["StartResizeHandle","targetRef","handleProps","onWidthResize","onWidthResizeEnd","resizeHandler","createHorizontalResizeHandler","offset","startResizeHandleStyle","jsx","clsx","styles"],"mappings":";;;;AAQO,SAASA,EAAkB;AAAA,EAChC,WAAAC;AAAA,EACA,aAAAC;AAAA,EACA,eAAAC;AAAA,EACA,kBAAAC;AACF,GAA2B;AACzB,QAAMC,IAAgBC;AAAA,IACpBL;AAAA,IACAE;AAAA,IACAC;AAAA,IACA;AAAA,IACA;AAAA,EAAA,GAGIG,IAASL,GAAa,SAASA,EAAY,SAAS,IAEpDM,IAAyB;AAAA,IAC7B,GAAGN,GAAa;AAAA,IAChB,mBAAmB,GAAGK,CAAM;AAAA,IAC5B,OAAOL,GAAa,QAAQ;AAAA,EAAA;AAG9B,SACE,gBAAAO;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC,EAAKC,EAAO,qBAAqB,GAAG,yBAAyB;AAAA,MACxE,aAAaN;AAAA,MACb,OAAOG;AAAA,MAEN,UAAAN,GAAa;AAAA,IAAA;AAAA,EAAA;AAGpB;"}
@@ -1,6 +1,7 @@
1
1
  import { HandleProps } from './handle_props.js';
2
- export type WidthResizeOrigin = 'left' | 'right';
3
- export type HeightResizeOrigin = 'top' | 'bottom';
2
+ import { HorizontalSide, VerticalSide } from '../../utils/types/sides.js';
3
+ export type WidthResizeOrigin = HorizontalSide;
4
+ export type HeightResizeOrigin = VerticalSide;
4
5
  export interface BaseOnResizePayload<Origin extends WidthResizeOrigin | HeightResizeOrigin> {
5
6
  origin: Origin;
6
7
  totalDelta: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/stacks/box/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,OAAO,CAAC;AACjD,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,QAAQ,CAAC;AAElD,MAAM,WAAW,mBAAmB,CAClC,MAAM,SAAS,iBAAiB,GAAG,kBAAkB;IAErD,MAAM,EAAE,MAAM,CAAC;IAEf,UAAU,EAAE,MAAM,CAAC;IAEnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,oBAAqB,SAAQ,mBAAmB,CAAC,iBAAiB,CAAC;IAClF,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,qBAAsB,SAAQ,mBAAmB,CAAC,kBAAkB,CAAC;IACpF,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;AAClF,MAAM,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAC;AAErF,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,oBAAoB,KAAK,IAAI,CAAC;AACpE,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,qBAAqB,KAAK,IAAI,CAAC;AAEtE,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,KAAK,CAAC,gBAAgB,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IACtD,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC;AAED,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,KAAK,CAAC,gBAAgB,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IACtD,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACvC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/stacks/box/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/E,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAAC;AAC/C,MAAM,MAAM,kBAAkB,GAAG,YAAY,CAAC;AAE9C,MAAM,WAAW,mBAAmB,CAClC,MAAM,SAAS,iBAAiB,GAAG,kBAAkB;IAErD,MAAM,EAAE,MAAM,CAAC;IAEf,UAAU,EAAE,MAAM,CAAC;IAEnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,oBAAqB,SAAQ,mBAAmB,CAAC,iBAAiB,CAAC;IAClF,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,qBAAsB,SAAQ,mBAAmB,CAAC,kBAAkB,CAAC;IACpF,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;AAClF,MAAM,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAC;AAErF,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,oBAAoB,KAAK,IAAI,CAAC;AACpE,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,qBAAqB,KAAK,IAAI,CAAC;AAEtE,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,KAAK,CAAC,gBAAgB,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IACtD,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC;AAED,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,KAAK,CAAC,gBAAgB,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IACtD,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACvC"}
@@ -1,46 +1,50 @@
1
- import { jsx as p } from "react/jsx-runtime";
1
+ import { jsx as f } from "react/jsx-runtime";
2
2
  import { clsx as d } from "clsx";
3
- import t, { useLayoutEffect as u } from "react";
4
- import "../utils/click_away_listener.js";
5
- import "../utils/focus_redirect.js";
6
- import "../utils/scroll_away_listener.js";
3
+ import i, { useLayoutEffect as u } from "react";
4
+ import "../utils/listeners/click_away_listener.js";
5
+ import "../utils/listeners/focus_redirect.js";
6
+ import "../utils/listeners/scroll_away_listener.js";
7
7
  import { useForkRef as R } from "../utils/hooks/use_fork_ref.js";
8
8
  import "../utils/hooks/use_resize_observer.js";
9
- import "../utils/dnd/context.js";
10
- import "../draggable.module-BgelQsuJ.js";
9
+ import "../utils/hooks/labelled_by_context.js";
10
+ import "../utils/decorators/draggable/context.js";
11
+ import "../draggable.module-DFYR5n3n.js";
12
+ import "../utils/decorators/resizable/context.js";
13
+ import "../resizable.module-ur5FBfxo.js";
14
+ import "../utils/decorators/resizable/resize_handle.js";
11
15
  import { Box as x } from "./box/box.js";
12
16
  import { s as z } from "../collapsible_box.module-BiS98xXA.js";
13
17
  import { useIsCollapsed as b } from "./utils/use_is_collapsed.js";
14
- const L = t.forwardRef(function({ open: l = !1, defaultWidth: i = "400px", ...e }, a) {
15
- const o = t.useRef(null), n = R(a, o), [c, r] = t.useState(!1);
18
+ const v = i.forwardRef(function({ open: t = !1, defaultWidth: l = "400px", ...e }, a) {
19
+ const o = i.useRef(null), m = R(a, o), [n, r] = i.useState(!1);
16
20
  u(() => {
17
- o.current?.style.setProperty("--collapsible-size", i);
18
- }, [i]);
19
- const m = b(l, o) && !l ? null : e.children;
20
- return /* @__PURE__ */ p(
21
+ o.current?.style.setProperty("--collapsible-size", l);
22
+ }, [l]);
23
+ const c = b(t, o) && !t ? null : e.children;
24
+ return /* @__PURE__ */ f(
21
25
  x,
22
26
  {
23
- ref: n,
27
+ ref: m,
24
28
  ...e,
25
- "data-is-collapsed": !l,
29
+ "data-is-collapsed": !t,
26
30
  "data-collapse-orientation": "horizontal",
27
- "data-is-resizing": c,
31
+ "data-is-resizing": n,
28
32
  onWidthResize: (...s) => {
29
33
  r(!0), e.onWidthResize?.(...s);
30
34
  },
31
- onWidthResizeEnd: (s, f) => {
32
- r(!1), e.onWidthResizeEnd?.(s, f), o.current?.style.setProperty("--collapsible-size", `${s}px`);
35
+ onWidthResizeEnd: (s, p) => {
36
+ r(!1), e.onWidthResizeEnd?.(s, p), o.current?.style.setProperty("--collapsible-size", `${s}px`);
33
37
  },
34
38
  className: d(
35
39
  e.className,
36
40
  z["collapsible-box"],
37
41
  "tcn-h-collapsible-box"
38
42
  ),
39
- children: m
43
+ children: c
40
44
  }
41
45
  );
42
46
  });
43
47
  export {
44
- L as HCollapsibleBox
48
+ v as HCollapsibleBox
45
49
  };
46
50
  //# sourceMappingURL=h_collapsible_box.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"h_collapsible_box.js","sources":["../../src/stacks/h_collapsible_box.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport React, { useLayoutEffect } from 'react';\nimport { useForkRef } from '../utils/index.js';\nimport { Box, BoxProps } from './box/box.js';\nimport styles from './collapsible_box.module.css';\nimport { useIsCollapsed } from './utils/use_is_collapsed.js';\n\nexport interface HCollapsibleBoxProps extends BoxProps {\n open?: boolean;\n defaultWidth?: string;\n}\n\nexport const HCollapsibleBox = React.forwardRef(function CollapsibleBox(\n { open = false, defaultWidth = '400px', ...props }: HCollapsibleBoxProps,\n ref: React.Ref<HTMLDivElement>\n) {\n const collapsibleRef = React.useRef<HTMLDivElement | null>(null);\n const forkRef = useForkRef(ref, collapsibleRef);\n const [resizing, setIsResizing] = React.useState(false);\n\n useLayoutEffect(() => {\n collapsibleRef.current?.style.setProperty('--collapsible-size', defaultWidth);\n }, [defaultWidth]);\n\n const isCollapsed = useIsCollapsed(open, collapsibleRef);\n const children = isCollapsed && !open ? null : props.children;\n\n return (\n <Box\n ref={forkRef}\n {...props}\n data-is-collapsed={!open}\n data-collapse-orientation=\"horizontal\"\n data-is-resizing={resizing}\n onWidthResize={(...args) => {\n setIsResizing(true);\n props.onWidthResize?.(...args);\n }}\n onWidthResizeEnd={(width, origin) => {\n setIsResizing(false);\n props.onWidthResizeEnd?.(width, origin);\n collapsibleRef.current?.style.setProperty('--collapsible-size', `${width}px`);\n }}\n className={clsx(\n props.className,\n styles['collapsible-box'],\n 'tcn-h-collapsible-box'\n )}\n children={children}\n />\n );\n});\n"],"names":["HCollapsibleBox","React","open","defaultWidth","props","ref","collapsibleRef","forkRef","useForkRef","resizing","setIsResizing","useLayoutEffect","children","useIsCollapsed","jsx","Box","args","width","origin","clsx","styles"],"mappings":";;;;;;;;;;;;;AAYO,MAAMA,IAAkBC,EAAM,WAAW,SAC9C,EAAE,MAAAC,IAAO,IAAO,cAAAC,IAAe,SAAS,GAAGC,EAAA,GAC3CC,GACA;AACA,QAAMC,IAAiBL,EAAM,OAA8B,IAAI,GACzDM,IAAUC,EAAWH,GAAKC,CAAc,GACxC,CAACG,GAAUC,CAAa,IAAIT,EAAM,SAAS,EAAK;AAEtD,EAAAU,EAAgB,MAAM;AACpB,IAAAL,EAAe,SAAS,MAAM,YAAY,sBAAsBH,CAAY;AAAA,EAC9E,GAAG,CAACA,CAAY,CAAC;AAGjB,QAAMS,IADcC,EAAeX,GAAMI,CAAc,KACvB,CAACJ,IAAO,OAAOE,EAAM;AAErD,SACE,gBAAAU;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,KAAKR;AAAA,MACJ,GAAGH;AAAA,MACJ,qBAAmB,CAACF;AAAA,MACpB,6BAA0B;AAAA,MAC1B,oBAAkBO;AAAA,MAClB,eAAe,IAAIO,MAAS;AAC1B,QAAAN,EAAc,EAAI,GAClBN,EAAM,gBAAgB,GAAGY,CAAI;AAAA,MAC/B;AAAA,MACA,kBAAkB,CAACC,GAAOC,MAAW;AACnC,QAAAR,EAAc,EAAK,GACnBN,EAAM,mBAAmBa,GAAOC,CAAM,GACtCZ,EAAe,SAAS,MAAM,YAAY,sBAAsB,GAAGW,CAAK,IAAI;AAAA,MAC9E;AAAA,MACA,WAAWE;AAAA,QACTf,EAAM;AAAA,QACNgB,EAAO,iBAAiB;AAAA,QACxB;AAAA,MAAA;AAAA,MAEF,UAAAR;AAAA,IAAA;AAAA,EAAA;AAGN,CAAC;"}
1
+ {"version":3,"file":"h_collapsible_box.js","sources":["../../src/stacks/h_collapsible_box.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport React, { useLayoutEffect } from 'react';\nimport { useForkRef } from '../utils/index.js';\nimport { Box, BoxProps } from './box/box.js';\nimport styles from './collapsible_box.module.css';\nimport { useIsCollapsed } from './utils/use_is_collapsed.js';\n\nexport interface HCollapsibleBoxProps extends BoxProps {\n open?: boolean;\n defaultWidth?: string;\n}\n\nexport const HCollapsibleBox = React.forwardRef(function CollapsibleBox(\n { open = false, defaultWidth = '400px', ...props }: HCollapsibleBoxProps,\n ref: React.Ref<HTMLDivElement>\n) {\n const collapsibleRef = React.useRef<HTMLDivElement | null>(null);\n const forkRef = useForkRef(ref, collapsibleRef);\n const [resizing, setIsResizing] = React.useState(false);\n\n useLayoutEffect(() => {\n collapsibleRef.current?.style.setProperty('--collapsible-size', defaultWidth);\n }, [defaultWidth]);\n\n const isCollapsed = useIsCollapsed(open, collapsibleRef);\n const children = isCollapsed && !open ? null : props.children;\n\n return (\n <Box\n ref={forkRef}\n {...props}\n data-is-collapsed={!open}\n data-collapse-orientation=\"horizontal\"\n data-is-resizing={resizing}\n onWidthResize={(...args) => {\n setIsResizing(true);\n props.onWidthResize?.(...args);\n }}\n onWidthResizeEnd={(width, origin) => {\n setIsResizing(false);\n props.onWidthResizeEnd?.(width, origin);\n collapsibleRef.current?.style.setProperty('--collapsible-size', `${width}px`);\n }}\n className={clsx(\n props.className,\n styles['collapsible-box'],\n 'tcn-h-collapsible-box'\n )}\n children={children}\n />\n );\n});\n"],"names":["HCollapsibleBox","React","open","defaultWidth","props","ref","collapsibleRef","forkRef","useForkRef","resizing","setIsResizing","useLayoutEffect","children","useIsCollapsed","jsx","Box","args","width","origin","clsx","styles"],"mappings":";;;;;;;;;;;;;;;;;AAYO,MAAMA,IAAkBC,EAAM,WAAW,SAC9C,EAAE,MAAAC,IAAO,IAAO,cAAAC,IAAe,SAAS,GAAGC,EAAA,GAC3CC,GACA;AACA,QAAMC,IAAiBL,EAAM,OAA8B,IAAI,GACzDM,IAAUC,EAAWH,GAAKC,CAAc,GACxC,CAACG,GAAUC,CAAa,IAAIT,EAAM,SAAS,EAAK;AAEtD,EAAAU,EAAgB,MAAM;AACpB,IAAAL,EAAe,SAAS,MAAM,YAAY,sBAAsBH,CAAY;AAAA,EAC9E,GAAG,CAACA,CAAY,CAAC;AAGjB,QAAMS,IADcC,EAAeX,GAAMI,CAAc,KACvB,CAACJ,IAAO,OAAOE,EAAM;AAErD,SACE,gBAAAU;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,KAAKR;AAAA,MACJ,GAAGH;AAAA,MACJ,qBAAmB,CAACF;AAAA,MACpB,6BAA0B;AAAA,MAC1B,oBAAkBO;AAAA,MAClB,eAAe,IAAIO,MAAS;AAC1B,QAAAN,EAAc,EAAI,GAClBN,EAAM,gBAAgB,GAAGY,CAAI;AAAA,MAC/B;AAAA,MACA,kBAAkB,CAACC,GAAOC,MAAW;AACnC,QAAAR,EAAc,EAAK,GACnBN,EAAM,mBAAmBa,GAAOC,CAAM,GACtCZ,EAAe,SAAS,MAAM,YAAY,sBAAsB,GAAGW,CAAK,IAAI;AAAA,MAC9E;AAAA,MACA,WAAWE;AAAA,QACTf,EAAM;AAAA,QACNgB,EAAO,iBAAiB;AAAA,QACxB;AAAA,MAAA;AAAA,MAEF,UAAAR;AAAA,IAAA;AAAA,EAAA;AAGN,CAAC;"}
@@ -1,46 +1,50 @@
1
- import { jsx as p } from "react/jsx-runtime";
2
- import t, { useLayoutEffect as u } from "react";
3
- import "../utils/click_away_listener.js";
4
- import "../utils/focus_redirect.js";
5
- import "../utils/scroll_away_listener.js";
1
+ import { jsx as f } from "react/jsx-runtime";
2
+ import i, { useLayoutEffect as u } from "react";
3
+ import "../utils/listeners/click_away_listener.js";
4
+ import "../utils/listeners/focus_redirect.js";
5
+ import "../utils/listeners/scroll_away_listener.js";
6
6
  import { useForkRef as d } from "../utils/hooks/use_fork_ref.js";
7
7
  import "../utils/hooks/use_resize_observer.js";
8
- import "../utils/dnd/context.js";
8
+ import "../utils/hooks/labelled_by_context.js";
9
+ import "../utils/decorators/draggable/context.js";
9
10
  import { clsx as R } from "clsx";
10
- import "../draggable.module-BgelQsuJ.js";
11
+ import "../draggable.module-DFYR5n3n.js";
12
+ import "../utils/decorators/resizable/context.js";
13
+ import "../resizable.module-ur5FBfxo.js";
14
+ import "../utils/decorators/resizable/resize_handle.js";
11
15
  import { Box as x } from "./box/box.js";
12
16
  import { s as b } from "../collapsible_box.module-BiS98xXA.js";
13
17
  import { useIsCollapsed as z } from "./utils/use_is_collapsed.js";
14
- const F = t.forwardRef(function({ open: l = !1, defaultHeight: i = "400px", ...e }, a) {
15
- const s = t.useRef(null), c = d(a, s), [n, r] = t.useState(!1);
18
+ const $ = i.forwardRef(function({ open: t = !1, defaultHeight: l = "400px", ...e }, a) {
19
+ const o = i.useRef(null), m = d(a, o), [c, r] = i.useState(!1);
16
20
  u(() => {
17
- s.current?.style.setProperty("--collapsible-size", i);
18
- }, [i]);
19
- const m = z(l, s) && !l ? null : e.children;
20
- return /* @__PURE__ */ p(
21
+ o.current?.style.setProperty("--collapsible-size", l);
22
+ }, [l]);
23
+ const n = z(t, o) && !t ? null : e.children;
24
+ return /* @__PURE__ */ f(
21
25
  x,
22
26
  {
23
- ref: c,
27
+ ref: m,
24
28
  ...e,
25
- "data-is-collapsed": !l,
29
+ "data-is-collapsed": !t,
26
30
  "data-collapse-orientation": "vertical",
27
- "data-is-resizing": n,
28
- onHeightResize: (...o) => {
29
- r(!0), e.onHeightResize?.(...o);
31
+ "data-is-resizing": c,
32
+ onHeightResize: (...s) => {
33
+ r(!0), e.onHeightResize?.(...s);
30
34
  },
31
- onHeightResizeEnd: (o, f) => {
32
- r(!1), s.current?.style.setProperty("--collapsible-size", `${o}px`), e.onHeightResizeEnd?.(o, f);
35
+ onHeightResizeEnd: (s, p) => {
36
+ r(!1), o.current?.style.setProperty("--collapsible-size", `${s}px`), e.onHeightResizeEnd?.(s, p);
33
37
  },
34
38
  className: R(
35
39
  e.className,
36
40
  b["collapsible-box"],
37
41
  "tcn-v-collapsible-box"
38
42
  ),
39
- children: m
43
+ children: n
40
44
  }
41
45
  );
42
46
  });
43
47
  export {
44
- F as VCollapsibleBox
48
+ $ as VCollapsibleBox
45
49
  };
46
50
  //# sourceMappingURL=v_collapsible_box.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"v_collapsible_box.js","sources":["../../src/stacks/v_collapsible_box.tsx"],"sourcesContent":["import React, { useLayoutEffect } from 'react';\nimport { useForkRef } from '../utils/index.js';\nimport { clsx } from 'clsx';\nimport { Box, BoxProps } from './box/box.js';\nimport styles from './collapsible_box.module.css';\nimport { useIsCollapsed } from './utils/use_is_collapsed.js';\n\nexport interface VCollapsibleBoxProps extends BoxProps {\n open?: boolean;\n defaultHeight?: string;\n}\n\nexport const VCollapsibleBox = React.forwardRef(function CollapsibleBox(\n { open = false, defaultHeight = '400px', ...props }: VCollapsibleBoxProps,\n ref: React.Ref<HTMLDivElement>\n) {\n const collapsibleRef = React.useRef<HTMLDivElement | null>(null);\n const forkRef = useForkRef(ref, collapsibleRef);\n const [resizing, setIsResizing] = React.useState(false);\n\n useLayoutEffect(() => {\n collapsibleRef.current?.style.setProperty('--collapsible-size', defaultHeight);\n }, [defaultHeight]);\n\n const isCollapsed = useIsCollapsed(open, collapsibleRef);\n const children = isCollapsed && !open ? null : props.children;\n\n return (\n <Box\n ref={forkRef}\n {...props}\n data-is-collapsed={!open}\n data-collapse-orientation=\"vertical\"\n data-is-resizing={resizing}\n onHeightResize={(...args) => {\n setIsResizing(true);\n props.onHeightResize?.(...args);\n }}\n onHeightResizeEnd={(height, origin) => {\n setIsResizing(false);\n collapsibleRef.current?.style.setProperty('--collapsible-size', `${height}px`);\n props.onHeightResizeEnd?.(height, origin);\n }}\n className={clsx(\n props.className,\n styles['collapsible-box'],\n 'tcn-v-collapsible-box'\n )}\n children={children}\n />\n );\n});\n"],"names":["VCollapsibleBox","React","open","defaultHeight","props","ref","collapsibleRef","forkRef","useForkRef","resizing","setIsResizing","useLayoutEffect","children","useIsCollapsed","jsx","Box","args","height","origin","clsx","styles"],"mappings":";;;;;;;;;;;;;AAYO,MAAMA,IAAkBC,EAAM,WAAW,SAC9C,EAAE,MAAAC,IAAO,IAAO,eAAAC,IAAgB,SAAS,GAAGC,EAAA,GAC5CC,GACA;AACA,QAAMC,IAAiBL,EAAM,OAA8B,IAAI,GACzDM,IAAUC,EAAWH,GAAKC,CAAc,GACxC,CAACG,GAAUC,CAAa,IAAIT,EAAM,SAAS,EAAK;AAEtD,EAAAU,EAAgB,MAAM;AACpB,IAAAL,EAAe,SAAS,MAAM,YAAY,sBAAsBH,CAAa;AAAA,EAC/E,GAAG,CAACA,CAAa,CAAC;AAGlB,QAAMS,IADcC,EAAeX,GAAMI,CAAc,KACvB,CAACJ,IAAO,OAAOE,EAAM;AAErD,SACE,gBAAAU;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,KAAKR;AAAA,MACJ,GAAGH;AAAA,MACJ,qBAAmB,CAACF;AAAA,MACpB,6BAA0B;AAAA,MAC1B,oBAAkBO;AAAA,MAClB,gBAAgB,IAAIO,MAAS;AAC3B,QAAAN,EAAc,EAAI,GAClBN,EAAM,iBAAiB,GAAGY,CAAI;AAAA,MAChC;AAAA,MACA,mBAAmB,CAACC,GAAQC,MAAW;AACrC,QAAAR,EAAc,EAAK,GACnBJ,EAAe,SAAS,MAAM,YAAY,sBAAsB,GAAGW,CAAM,IAAI,GAC7Eb,EAAM,oBAAoBa,GAAQC,CAAM;AAAA,MAC1C;AAAA,MACA,WAAWC;AAAA,QACTf,EAAM;AAAA,QACNgB,EAAO,iBAAiB;AAAA,QACxB;AAAA,MAAA;AAAA,MAEF,UAAAR;AAAA,IAAA;AAAA,EAAA;AAGN,CAAC;"}
1
+ {"version":3,"file":"v_collapsible_box.js","sources":["../../src/stacks/v_collapsible_box.tsx"],"sourcesContent":["import React, { useLayoutEffect } from 'react';\nimport { useForkRef } from '../utils/index.js';\nimport { clsx } from 'clsx';\nimport { Box, BoxProps } from './box/box.js';\nimport styles from './collapsible_box.module.css';\nimport { useIsCollapsed } from './utils/use_is_collapsed.js';\n\nexport interface VCollapsibleBoxProps extends BoxProps {\n open?: boolean;\n defaultHeight?: string;\n}\n\nexport const VCollapsibleBox = React.forwardRef(function CollapsibleBox(\n { open = false, defaultHeight = '400px', ...props }: VCollapsibleBoxProps,\n ref: React.Ref<HTMLDivElement>\n) {\n const collapsibleRef = React.useRef<HTMLDivElement | null>(null);\n const forkRef = useForkRef(ref, collapsibleRef);\n const [resizing, setIsResizing] = React.useState(false);\n\n useLayoutEffect(() => {\n collapsibleRef.current?.style.setProperty('--collapsible-size', defaultHeight);\n }, [defaultHeight]);\n\n const isCollapsed = useIsCollapsed(open, collapsibleRef);\n const children = isCollapsed && !open ? null : props.children;\n\n return (\n <Box\n ref={forkRef}\n {...props}\n data-is-collapsed={!open}\n data-collapse-orientation=\"vertical\"\n data-is-resizing={resizing}\n onHeightResize={(...args) => {\n setIsResizing(true);\n props.onHeightResize?.(...args);\n }}\n onHeightResizeEnd={(height, origin) => {\n setIsResizing(false);\n collapsibleRef.current?.style.setProperty('--collapsible-size', `${height}px`);\n props.onHeightResizeEnd?.(height, origin);\n }}\n className={clsx(\n props.className,\n styles['collapsible-box'],\n 'tcn-v-collapsible-box'\n )}\n children={children}\n />\n );\n});\n"],"names":["VCollapsibleBox","React","open","defaultHeight","props","ref","collapsibleRef","forkRef","useForkRef","resizing","setIsResizing","useLayoutEffect","children","useIsCollapsed","jsx","Box","args","height","origin","clsx","styles"],"mappings":";;;;;;;;;;;;;;;;;AAYO,MAAMA,IAAkBC,EAAM,WAAW,SAC9C,EAAE,MAAAC,IAAO,IAAO,eAAAC,IAAgB,SAAS,GAAGC,EAAA,GAC5CC,GACA;AACA,QAAMC,IAAiBL,EAAM,OAA8B,IAAI,GACzDM,IAAUC,EAAWH,GAAKC,CAAc,GACxC,CAACG,GAAUC,CAAa,IAAIT,EAAM,SAAS,EAAK;AAEtD,EAAAU,EAAgB,MAAM;AACpB,IAAAL,EAAe,SAAS,MAAM,YAAY,sBAAsBH,CAAa;AAAA,EAC/E,GAAG,CAACA,CAAa,CAAC;AAGlB,QAAMS,IADcC,EAAeX,GAAMI,CAAc,KACvB,CAACJ,IAAO,OAAOE,EAAM;AAErD,SACE,gBAAAU;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,KAAKR;AAAA,MACJ,GAAGH;AAAA,MACJ,qBAAmB,CAACF;AAAA,MACpB,6BAA0B;AAAA,MAC1B,oBAAkBO;AAAA,MAClB,gBAAgB,IAAIO,MAAS;AAC3B,QAAAN,EAAc,EAAI,GAClBN,EAAM,iBAAiB,GAAGY,CAAI;AAAA,MAChC;AAAA,MACA,mBAAmB,CAACC,GAAQC,MAAW;AACrC,QAAAR,EAAc,EAAK,GACnBJ,EAAe,SAAS,MAAM,YAAY,sBAAsB,GAAGW,CAAM,IAAI,GAC7Eb,EAAM,oBAAoBa,GAAQC,CAAM;AAAA,MAC1C;AAAA,MACA,WAAWC;AAAA,QACTf,EAAM;AAAA,QACNgB,EAAO,iBAAiB;AAAA,QACxB;AAAA,MAAA;AAAA,MAEF,UAAAR;AAAA,IAAA;AAAA,EAAA;AAGN,CAAC;"}
@@ -1,24 +1,23 @@
1
1
  import { jsx as r } from "react/jsx-runtime";
2
2
  import { clsx as e } from "clsx";
3
- import p from "react";
3
+ import c from "react";
4
4
  import "../../actions/button/base_button/base_button.js";
5
5
  import "../../actions/button/button_group/button_group.js";
6
- import "../../actions/button/slim_button/slim_button.js";
7
- import { Button as c } from "../../actions/button/button/button.js";
6
+ import { Button as f } from "../../actions/button/button/button.js";
8
7
  import "../../actions/toggle/toggle.js";
9
- import { Confirm as f } from "../confirm/confirm.js";
10
- const A = p.forwardRef(function({ className: t, onAccept: o, ...i }, m) {
8
+ import { Confirm as n } from "../confirm/confirm.js";
9
+ const y = c.forwardRef(function({ className: t, onAccept: o, ...i }, m) {
11
10
  return /* @__PURE__ */ r(
12
- f,
11
+ n,
13
12
  {
14
13
  ref: m,
15
14
  className: e(t, "tcn-alert"),
16
15
  ...i,
17
- actions: /* @__PURE__ */ r(c, { onClick: o, hierarchy: "primary", width: "100%", children: "OK" })
16
+ actions: /* @__PURE__ */ r(f, { onClick: o, hierarchy: "primary", width: "100%", children: "OK" })
18
17
  }
19
18
  );
20
19
  });
21
20
  export {
22
- A as Alert
21
+ y as Alert
23
22
  };
24
23
  //# sourceMappingURL=alert.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"alert.js","sources":["../../../src/surfaces/alert/alert.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport React from 'react';\nimport { Button } from '../../actions/index.js';\nimport { Confirm, ConfirmProps } from '../confirm/confirm.js';\n\nexport interface AlertProps extends Omit<ConfirmProps, 'actions'> {\n open?: boolean;\n graphic?: React.ReactNode;\n onAccept?: () => void;\n}\n\nexport const Alert = React.forwardRef(function Alert(\n { className, onAccept, ...props }: AlertProps,\n ref: React.Ref<HTMLDivElement>\n) {\n return (\n <Confirm\n ref={ref}\n className={clsx(className, 'tcn-alert')}\n {...props}\n actions={\n <Button onClick={onAccept} hierarchy=\"primary\" width=\"100%\">\n OK\n </Button>\n }\n />\n );\n});\n"],"names":["Alert","React","className","onAccept","props","ref","jsx","Confirm","clsx","Button"],"mappings":";;;;;;;;;AAWO,MAAMA,IAAQC,EAAM,WAAW,SACpC,EAAE,WAAAC,GAAW,UAAAC,GAAU,GAAGC,EAAA,GAC1BC,GACA;AACA,SACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,KAAAF;AAAA,MACA,WAAWG,EAAKN,GAAW,WAAW;AAAA,MACrC,GAAGE;AAAA,MACJ,2BACGK,GAAA,EAAO,SAASN,GAAU,WAAU,WAAU,OAAM,QAAO,UAAA,KAAA,CAE5D;AAAA,IAAA;AAAA,EAAA;AAIR,CAAC;"}
1
+ {"version":3,"file":"alert.js","sources":["../../../src/surfaces/alert/alert.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport React from 'react';\nimport { Button } from '../../actions/index.js';\nimport { Confirm, ConfirmProps } from '../confirm/confirm.js';\n\nexport interface AlertProps extends Omit<ConfirmProps, 'actions'> {\n open?: boolean;\n graphic?: React.ReactNode;\n onAccept?: () => void;\n}\n\nexport const Alert = React.forwardRef(function Alert(\n { className, onAccept, ...props }: AlertProps,\n ref: React.Ref<HTMLDivElement>\n) {\n return (\n <Confirm\n ref={ref}\n className={clsx(className, 'tcn-alert')}\n {...props}\n actions={\n <Button onClick={onAccept} hierarchy=\"primary\" width=\"100%\">\n OK\n </Button>\n }\n />\n );\n});\n"],"names":["Alert","React","className","onAccept","props","ref","jsx","Confirm","clsx","Button"],"mappings":";;;;;;;;AAWO,MAAMA,IAAQC,EAAM,WAAW,SACpC,EAAE,WAAAC,GAAW,UAAAC,GAAU,GAAGC,EAAA,GAC1BC,GACA;AACA,SACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,KAAAF;AAAA,MACA,WAAWG,EAAKN,GAAW,WAAW;AAAA,MACrC,GAAGE;AAAA,MACJ,2BACGK,GAAA,EAAO,SAASN,GAAU,WAAU,WAAU,OAAM,QAAO,UAAA,KAAA,CAE5D;AAAA,IAAA;AAAA,EAAA;AAIR,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"card.d.ts","sourceRoot":"","sources":["../../../src/surfaces/card/card.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAEpF,MAAM,WAAW,SAAU,SAAQ,IAAI,CAAC,aAAa,EAAE,IAAI,GAAG,UAAU,CAAC;IACvE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,eAAO,MAAM,IAAI,+EASf,CAAC"}
1
+ {"version":3,"file":"card.d.ts","sourceRoot":"","sources":["../../../src/surfaces/card/card.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAEpF,MAAM,WAAW,SAAU,SAAQ,IAAI,CAAC,aAAa,EAAE,IAAI,GAAG,UAAU,CAAC;IACvE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,eAAO,MAAM,IAAI,+EAaf,CAAC"}
@@ -1,11 +1,19 @@
1
1
  import { jsx as a } from "react/jsx-runtime";
2
- import { clsx as c } from "clsx";
3
- import m from "react";
4
- import { Scaffold as e } from "../../layouts/containers/scaffold.js";
5
- const l = m.forwardRef(function({ children: r, className: o, ...t }, f) {
6
- return /* @__PURE__ */ a(e, { ref: f, className: c(o, "tcn-surface", "tcn-card"), ...t, children: r });
2
+ import { clsx as f } from "clsx";
3
+ import s from "react";
4
+ import { Scaffold as d } from "../../layouts/containers/scaffold.js";
5
+ import '../../card.css';const m = "_card_a3c9492", e = { card: m }, _ = s.forwardRef(function({ children: r, className: c, ...o }, t) {
6
+ return /* @__PURE__ */ a(
7
+ d,
8
+ {
9
+ ref: t,
10
+ className: f(c, e.card, "tcn-surface", "tcn-card"),
11
+ ...o,
12
+ children: r
13
+ }
14
+ );
7
15
  });
8
16
  export {
9
- l as Card
17
+ _ as Card
10
18
  };
11
19
  //# sourceMappingURL=card.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"card.js","sources":["../../../src/surfaces/card/card.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport React from 'react';\nimport { Scaffold, type ScaffoldProps } from '../../layouts/containers/scaffold.js';\n\nexport interface CardProps extends Omit<ScaffoldProps, 'as' | 'children'> {\n children?: React.ReactNode;\n}\n\nexport const Card = React.forwardRef<HTMLElement, CardProps>(function Card(\n { children, className, ...props }: CardProps,\n ref\n) {\n return (\n <Scaffold ref={ref} className={clsx(className, 'tcn-surface', 'tcn-card')} {...props}>\n {children}\n </Scaffold>\n );\n});\n"],"names":["Card","React","children","className","props","ref","jsx","Scaffold","clsx"],"mappings":";;;;AAQO,MAAMA,IAAOC,EAAM,WAAmC,SAC3D,EAAE,UAAAC,GAAU,WAAAC,GAAW,GAAGC,EAAA,GAC1BC,GACA;AACA,SACE,gBAAAC,EAACC,GAAA,EAAS,KAAAF,GAAU,WAAWG,EAAKL,GAAW,eAAe,UAAU,GAAI,GAAGC,GAC5E,UAAAF,EAAA,CACH;AAEJ,CAAC;"}
1
+ {"version":3,"file":"card.js","sources":["../../../src/surfaces/card/card.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport React from 'react';\nimport { Scaffold, type ScaffoldProps } from '../../layouts/containers/scaffold.js';\nimport styles from './card.module.css';\nexport interface CardProps extends Omit<ScaffoldProps, 'as' | 'children'> {\n children?: React.ReactNode;\n}\n\nexport const Card = React.forwardRef<HTMLElement, CardProps>(function Card(\n { children, className, ...props }: CardProps,\n ref\n) {\n return (\n <Scaffold\n ref={ref}\n className={clsx(className, styles.card, 'tcn-surface', 'tcn-card')}\n {...props}\n >\n {children}\n </Scaffold>\n );\n});\n"],"names":["Card","React","children","className","props","ref","jsx","Scaffold","clsx","styles"],"mappings":";;;;4CAQaA,IAAOC,EAAM,WAAmC,SAC3D,EAAE,UAAAC,GAAU,WAAAC,GAAW,GAAGC,EAAA,GAC1BC,GACA;AACA,SACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,KAAAF;AAAA,MACA,WAAWG,EAAKL,GAAWM,EAAO,MAAM,eAAe,UAAU;AAAA,MAChE,GAAGL;AAAA,MAEH,UAAAF;AAAA,IAAA;AAAA,EAAA;AAGP,CAAC;"}
@@ -28,10 +28,12 @@ import "../../stacks/v_stack.js";
28
28
  import "../../stacks/z_stack.js";
29
29
  import "../../layouts/containers/rail.js";
30
30
  import "../../layouts/containers/columns/columns.js";
31
+ import "../../layouts/containers/rows/row.js";
32
+ import "../../layouts/containers/rows/rows.js";
31
33
  import "../../layouts/containers/utility_strip/utility_strip.js";
32
34
  import { PopperDismissal as a } from "../../overlay/popper/base/dismissal_decorator.js";
33
35
  import { ElementPopper as s } from "../../overlay/popper/element_popper.js";
34
- const O = e.forwardRef(
36
+ const T = e.forwardRef(
35
37
  function({
36
38
  children: r,
37
39
  className: m,
@@ -61,6 +63,6 @@ const O = e.forwardRef(
61
63
  }
62
64
  );
63
65
  export {
64
- O as PopConfirm
66
+ T as PopConfirm
65
67
  };
66
68
  //# sourceMappingURL=pop_confirm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pop_confirm.js","sources":["../../../src/surfaces/pop_confirm/pop_confirm.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport React from 'react';\nimport { Scaffold } from '../../layouts/index.js';\nimport { PopperDismissal } from '../../overlay/popper/base/dismissal_decorator.js';\nimport {\n ElementPopper,\n type ElementPopperProps,\n} from '../../overlay/popper/element_popper.js';\n\nexport type PopConfirmProps = ElementPopperProps;\n\nexport const PopConfirm = React.forwardRef<HTMLDivElement, PopConfirmProps>(\n function PopConfirm(\n {\n children,\n className,\n precision = 'high',\n dismissals = [PopperDismissal.CLICK_AWAY],\n ...props\n },\n ref\n ) {\n return (\n <ElementPopper\n ref={ref}\n precision={precision}\n className={clsx(className, 'tcn-pop-confirm')}\n dismissals={dismissals}\n {...props}\n >\n <Scaffold\n width={'100%'}\n height={'100%'}\n className={'tcn-overlay-content tcn-pop-confirm-scaffold'}\n >\n {children}\n </Scaffold>\n </ElementPopper>\n );\n }\n);\n"],"names":["PopConfirm","React","children","className","precision","dismissals","PopperDismissal","props","ref","jsx","ElementPopper","clsx","Scaffold"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWO,MAAMA,IAAaC,EAAM;AAAA,EAC9B,SACE;AAAA,IACE,UAAAC;AAAA,IACA,WAAAC;AAAA,IACA,WAAAC,IAAY;AAAA,IACZ,YAAAC,IAAa,CAACC,EAAgB,UAAU;AAAA,IACxC,GAAGC;AAAA,EAAA,GAELC,GACA;AACA,WACE,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,KAAAF;AAAA,QACA,WAAAJ;AAAA,QACA,WAAWO,EAAKR,GAAW,iBAAiB;AAAA,QAC5C,YAAAE;AAAA,QACC,GAAGE;AAAA,QAEJ,UAAA,gBAAAE;AAAA,UAACG;AAAA,UAAA;AAAA,YACC,OAAO;AAAA,YACP,QAAQ;AAAA,YACR,WAAW;AAAA,YAEV,UAAAV;AAAA,UAAA;AAAA,QAAA;AAAA,MACH;AAAA,IAAA;AAAA,EAGN;AACF;"}
1
+ {"version":3,"file":"pop_confirm.js","sources":["../../../src/surfaces/pop_confirm/pop_confirm.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport React from 'react';\nimport { Scaffold } from '../../layouts/index.js';\nimport { PopperDismissal } from '../../overlay/popper/base/dismissal_decorator.js';\nimport {\n ElementPopper,\n type ElementPopperProps,\n} from '../../overlay/popper/element_popper.js';\n\nexport type PopConfirmProps = ElementPopperProps;\n\nexport const PopConfirm = React.forwardRef<HTMLDivElement, PopConfirmProps>(\n function PopConfirm(\n {\n children,\n className,\n precision = 'high',\n dismissals = [PopperDismissal.CLICK_AWAY],\n ...props\n },\n ref\n ) {\n return (\n <ElementPopper\n ref={ref}\n precision={precision}\n className={clsx(className, 'tcn-pop-confirm')}\n dismissals={dismissals}\n {...props}\n >\n <Scaffold\n width={'100%'}\n height={'100%'}\n className={'tcn-overlay-content tcn-pop-confirm-scaffold'}\n >\n {children}\n </Scaffold>\n </ElementPopper>\n );\n }\n);\n"],"names":["PopConfirm","React","children","className","precision","dismissals","PopperDismissal","props","ref","jsx","ElementPopper","clsx","Scaffold"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWO,MAAMA,IAAaC,EAAM;AAAA,EAC9B,SACE;AAAA,IACE,UAAAC;AAAA,IACA,WAAAC;AAAA,IACA,WAAAC,IAAY;AAAA,IACZ,YAAAC,IAAa,CAACC,EAAgB,UAAU;AAAA,IACxC,GAAGC;AAAA,EAAA,GAELC,GACA;AACA,WACE,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,KAAAF;AAAA,QACA,WAAAJ;AAAA,QACA,WAAWO,EAAKR,GAAW,iBAAiB;AAAA,QAC5C,YAAAE;AAAA,QACC,GAAGE;AAAA,QAEJ,UAAA,gBAAAE;AAAA,UAACG;AAAA,UAAA;AAAA,YACC,OAAO;AAAA,YACP,QAAQ;AAAA,YACR,WAAW;AAAA,YAEV,UAAAV;AAAA,UAAA;AAAA,QAAA;AAAA,MACH;AAAA,IAAA;AAAA,EAGN;AACF;"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=test-setup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-setup.d.ts","sourceRoot":"","sources":["../src/test-setup.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ globalThis.ResizeObserver = class {
2
+ observe() {
3
+ }
4
+ unobserve() {
5
+ }
6
+ disconnect() {
7
+ }
8
+ };
9
+ globalThis.IS_REACT_ACT_ENVIRONMENT = !0;
10
+ //# sourceMappingURL=test-setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-setup.js","sources":["../src/test-setup.ts"],"sourcesContent":["// ResizeObserver is not available in vitest's jsdom environment.\n// `use_resize_observer.ts` instantiates a registry singleton at module load\n// time, so this stub must be in place before any imports run.\nglobalThis.ResizeObserver = class ResizeObserver {\n observe() {}\n unobserve() {}\n disconnect() {}\n};\n\n// Required for React's act() to work correctly in jsdom tests.\nglobalThis.IS_REACT_ACT_ENVIRONMENT = true;\n"],"names":[],"mappings":"AAGA,WAAW,iBAAiB,MAAqB;AAAA,EAC/C,UAAU;AAAA,EAAC;AAAA,EACX,YAAY;AAAA,EAAC;AAAA,EACb,aAAa;AAAA,EAAC;AAChB;AAGA,WAAW,2BAA2B;"}
@@ -1 +1 @@
1
- {"version":3,"file":"button_showcase.d.ts","sourceRoot":"","sources":["../../../src/themes/stories/button_showcase.tsx"],"names":[],"mappings":"AAWA,wBAAgB,cAAc,4CA6G7B"}
1
+ {"version":3,"file":"button_showcase.d.ts","sourceRoot":"","sources":["../../../src/themes/stories/button_showcase.tsx"],"names":[],"mappings":"AAYA,wBAAgB,cAAc,4CA8G7B"}
@@ -1 +1 @@
1
- {"version":3,"file":"controls_fieldset.d.ts","sourceRoot":"","sources":["../../../src/themes/stories/controls_fieldset.tsx"],"names":[],"mappings":"AAwBA,wBAAgB,gBAAgB,4CAgO/B"}
1
+ {"version":3,"file":"controls_fieldset.d.ts","sourceRoot":"","sources":["../../../src/themes/stories/controls_fieldset.tsx"],"names":[],"mappings":"AAyBA,wBAAgB,gBAAgB,4CAiO/B"}
@@ -1 +1 @@
1
- {"version":3,"file":"menu_showcase.d.ts","sourceRoot":"","sources":["../../../src/themes/stories/menu_showcase.tsx"],"names":[],"mappings":"AA0BA,wBAAgB,YAAY,4CAie3B"}
1
+ {"version":3,"file":"menu_showcase.d.ts","sourceRoot":"","sources":["../../../src/themes/stories/menu_showcase.tsx"],"names":[],"mappings":"AA2BA,wBAAgB,YAAY,4CAke3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/themes/theme.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0B,MAAM,OAAO,CAAC;AAC/C,OAAO,EAAO,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAIxD,OAAO,yBAAyB,CAAC;AAIjC,MAAM,WAAW,UAAW,SAAQ,QAAQ;IAC1C,WAAW,EAAE,aAAa,EAAE,CAAC;IAC7B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,KAAK,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,QAAQ,EAAE,EAAE,UAAU,2CA4BlF"}
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/themes/theme.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0B,MAAM,OAAO,CAAC;AAC/C,OAAO,EAAO,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAIxD,OAAO,yBAAyB,CAAC;AAGjC,MAAM,WAAW,UAAW,SAAQ,QAAQ;IAC1C,WAAW,EAAE,aAAa,EAAE,CAAC;IAC7B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,KAAK,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,QAAQ,EAAE,EAAE,UAAU,2CAmBlF"}
@@ -1,36 +1,31 @@
1
- import { jsx as n } from "react/jsx-runtime";
2
- import { useLayoutEffect as r } from "react";
3
- import { Box as i } from "../stacks/box/box.js";
1
+ import { jsx as p } from "react/jsx-runtime";
2
+ import f, { useLayoutEffect as s } from "react";
3
+ import { Box as n } from "../stacks/box/box.js";
4
4
  import "../stacks/h_collapsible_box.js";
5
5
  import "../stacks/h_stack.js";
6
6
  import "../stacks/spacer.js";
7
7
  import "../stacks/v_collapsible_box.js";
8
8
  import "../stacks/v_stack.js";
9
9
  import "../stacks/z_stack.js";
10
- import { clsx as s } from "clsx";
10
+ import { clsx as c } from "clsx";
11
11
  import './stylesheets/reset.css';/* empty css */
12
- import { s as p } from "../theme_provider.module-ChZQ5Xsk.js";
13
- const d = `@layer tcn-reset, tcn-system, tcn-theme;
14
- `;
15
- function j({ styleSheets: e, children: o, className: m, ...c }) {
16
- return r(() => {
17
- document.adoptedStyleSheets = e;
18
- }, [e]), r(() => {
19
- if (document.getElementById("critical-css")) return;
20
- const t = document.createElement("style");
21
- return t.id = "critical-css", t.textContent = d, document.head.prepend(t), () => {
22
- document.getElementById("critical-css")?.remove();
23
- };
24
- }, []), /* @__PURE__ */ n(
25
- i,
12
+ import { s as u } from "../theme_provider.module-ChZQ5Xsk.js";
13
+ function v({ styleSheets: o, children: e, className: m, ...i }) {
14
+ const r = f.useRef(null);
15
+ return s(() => {
16
+ const t = r.current?.getRootNode();
17
+ !t || !("adoptedStyleSheets" in t) || (t.adoptedStyleSheets = o);
18
+ }, [o]), /* @__PURE__ */ p(
19
+ n,
26
20
  {
27
- className: s("tcn-theme-root", p["tcn-theme-provider"], m),
28
- ...c,
29
- children: o
21
+ ref: r,
22
+ className: c("tcn-theme-root", u["tcn-theme-provider"], m),
23
+ ...i,
24
+ children: e
30
25
  }
31
26
  );
32
27
  }
33
28
  export {
34
- j as Theme
29
+ v as Theme
35
30
  };
36
31
  //# sourceMappingURL=theme.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"theme.js","sources":["../../src/css/layers.css?raw","../../src/themes/theme.tsx"],"sourcesContent":["export default \"@layer tcn-reset, tcn-system, tcn-theme;\\n\"","import React, { useLayoutEffect } from 'react';\nimport { Box, type BoxProps } from '../stacks/index.js';\nimport { clsx } from 'clsx';\n\n// Styles\nimport './stylesheets/reset.css';\nimport styles from './theme_provider.module.css';\nimport layers from '../css/layers.css?raw';\n\nexport interface ThemeProps extends BoxProps {\n styleSheets: CSSStyleSheet[];\n children: React.ReactNode;\n className?: string;\n}\n\nexport function Theme({ styleSheets, children, className, ...boxProps }: ThemeProps) {\n useLayoutEffect(() => {\n document.adoptedStyleSheets = styleSheets;\n }, [styleSheets]);\n\n // I used this approach instead to guarantee the order of the stylesheets\n useLayoutEffect(() => {\n if (document.getElementById('critical-css')) return;\n\n const style = document.createElement('style');\n style.id = 'critical-css';\n style.textContent = layers;\n\n document.head.prepend(style);\n\n return () => {\n document.getElementById('critical-css')?.remove();\n };\n }, []);\n\n return (\n <Box\n className={clsx('tcn-theme-root', styles['tcn-theme-provider'], className)}\n {...boxProps}\n >\n {children}\n </Box>\n );\n}\n"],"names":["layers","Theme","styleSheets","children","className","boxProps","useLayoutEffect","style","jsx","Box","clsx","styles"],"mappings":";;;;;;;;;;;;AAAA,MAAAA,IAAe;AAAA;ACeR,SAASC,EAAM,EAAE,aAAAC,GAAa,UAAAC,GAAU,WAAAC,GAAW,GAAGC,KAAwB;AACnF,SAAAC,EAAgB,MAAM;AACpB,aAAS,qBAAqBJ;AAAA,EAChC,GAAG,CAACA,CAAW,CAAC,GAGhBI,EAAgB,MAAM;AACpB,QAAI,SAAS,eAAe,cAAc,EAAG;AAE7C,UAAMC,IAAQ,SAAS,cAAc,OAAO;AAC5C,WAAAA,EAAM,KAAK,gBACXA,EAAM,cAAcP,GAEpB,SAAS,KAAK,QAAQO,CAAK,GAEpB,MAAM;AACX,eAAS,eAAe,cAAc,GAAG,OAAA;AAAA,IAC3C;AAAA,EACF,GAAG,CAAA,CAAE,GAGH,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,WAAWC,EAAK,kBAAkBC,EAAO,oBAAoB,GAAGP,CAAS;AAAA,MACxE,GAAGC;AAAA,MAEH,UAAAF;AAAA,IAAA;AAAA,EAAA;AAGP;"}
1
+ {"version":3,"file":"theme.js","sources":["../../src/themes/theme.tsx"],"sourcesContent":["import React, { useLayoutEffect } from 'react';\nimport { Box, type BoxProps } from '../stacks/index.js';\nimport { clsx } from 'clsx';\n\n// Styles\nimport './stylesheets/reset.css';\nimport styles from './theme_provider.module.css';\n\nexport interface ThemeProps extends BoxProps {\n styleSheets: CSSStyleSheet[];\n children: React.ReactNode;\n className?: string;\n}\n\nexport function Theme({ styleSheets, children, className, ...boxProps }: ThemeProps) {\n const ref = React.useRef<HTMLElement>(null);\n\n useLayoutEffect(() => {\n const root = ref.current?.getRootNode();\n if (!root || !('adoptedStyleSheets' in root)) return;\n\n (root as Document | ShadowRoot).adoptedStyleSheets = styleSheets;\n }, [styleSheets]);\n\n return (\n <Box\n ref={ref}\n className={clsx('tcn-theme-root', styles['tcn-theme-provider'], className)}\n {...boxProps}\n >\n {children}\n </Box>\n );\n}\n"],"names":["Theme","styleSheets","children","className","boxProps","ref","React","useLayoutEffect","root","jsx","Box","clsx","styles"],"mappings":";;;;;;;;;;;;AAcO,SAASA,EAAM,EAAE,aAAAC,GAAa,UAAAC,GAAU,WAAAC,GAAW,GAAGC,KAAwB;AACnF,QAAMC,IAAMC,EAAM,OAAoB,IAAI;AAE1C,SAAAC,EAAgB,MAAM;AACpB,UAAMC,IAAOH,EAAI,SAAS,YAAA;AAC1B,IAAI,CAACG,KAAQ,EAAE,wBAAwBA,OAEtCA,EAA+B,qBAAqBP;AAAA,EACvD,GAAG,CAACA,CAAW,CAAC,GAGd,gBAAAQ;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,KAAAL;AAAA,MACA,WAAWM,EAAK,kBAAkBC,EAAO,oBAAoB,GAAGT,CAAS;AAAA,MACxE,GAAGC;AAAA,MAEH,UAAAF;AAAA,IAAA;AAAA,EAAA;AAGP;"}
@@ -1 +1 @@
1
- @layer tcn-theme{.tcn-theme-root{font-family:var(--font-family);color:var(--font-color);--action: var(--ergo-primary);--on-action: var(--ergo-white);--material: var(--ergo-white);--on-material: var(--ergo-accent-blue)}.tcn-interactive{cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform .1s,background .1s,color .1s;--ink: var(--on-material);--act: var(--action);--mat: var(--material);--act-down: color-mix(in srgb, var(--mat), black 12%);--act-raised: color-mix(in srgb, var(--mat), var(--act) 12%);--act-focus: color-mix(in srgb, var(--mat), var(--act) 16%);--act-drag: color-mix(in srgb, var(--mat), var(--act) 24%);background:var(--mat);color:var(--ink);transition:background .1s,color .1s}.tcn-interactive:focus-visible,.tcn-interactive[data-focus-visible]{background:var(--act-focus);outline:2px solid var(--ergo-primary);outline-offset:2px}.tcn-interactive:hover,.tcn-interactive[data-hover]{background:var(--act-raised)}.tcn-interactive:active,.tcn-interactive[data-active]{background:var(--act-down)}.tcn-interactive[data-is-disabled=true]{pointer-events:none}.tcn-base-button{--btn-size-base: 26px;--btn-pad-base: 12px;--btn-pad-delta: 4px;--btn-size-delta: 4px;--btn-font-size-delta: 2px;--btn-step: 1;--btn-pad: calc(var(--btn-pad-base) + var(--btn-pad-delta) * var(--btn-step));--btn-size: calc(var(--btn-size-base) + var(--btn-size-delta) * var(--btn-step));border-radius:var(--ergo-shape-radius-medium);min-height:var(--btn-size);padding:var(--padding-small) var(--btn-pad)}.tcn-base-button[data-size=sm]{--btn-step: -1}.tcn-base-button[data-size=md]{--btn-step: 0}.tcn-base-button[data-size=lg]{--btn-step: 1}.tcn-base-button[data-is-utility=true]{height:auto;width:auto;min-width:var(--btn-size);padding:0;--util-ratio: .75;--btn-size-base: 18px;font-size:calc(var(--font-size) + var(--btn-font-size-delta) * var(--btn-step))}.tcn-base-button[data-is-utility=true] .tcn-icon{min-height:min(2px,calc(var(--btn-size) * var(--util-ratio)));min-width:min(2px,calc(var(--btn-size) * var(--util-ratio)))}.tcn-button{--btn-primary: var(--action);--btn-on-primary: var(--on-action);--btn-variant: var(--on-material);transition:box-shadow .1s,transform .1s}.tcn-button[data-severity=dangerous]{--btn-primary: var(--action-severity-dangerous);--btn-variant: var(--ergo-status-red-dark)}.tcn-button[data-severity=cautious]{--btn-primary: var(--action-severity-cautious);--btn-on-primary: var(--ergo-accent-blue);--btn-variant: var(--ergo-status-yellow-dark)}.tcn-button[data-severity=suggested]{--btn-primary: var(--action-severity-suggested);--btn-variant: var(--ergo-status-blue-dark)}.tcn-button[data-severity=encouraged]{--btn-primary: var(--action-severity-encouraged);--btn-variant: var(--ergo-status-green-dark)}.tcn-button[data-hierarchy=primary]{--act: var(--ergo-white);--ink: var(--tcn-button-text-color, var(--btn-on-primary));--mat: var(--tcn-button-color, var(--btn-primary))}.tcn-button[data-hierarchy=primary][data-is-disabled=true]{--ink: var(--ergo-white);--mat: var(--ergo-grey-light)}.tcn-button[data-hierarchy=secondary],.tcn-button[data-hierarchy=tertiary]{--act: var(--tcn-button-color, var(--btn-variant));--ink: var(--tcn-button-color, var(--btn-variant))}:is(.tcn-button[data-hierarchy=secondary],.tcn-button[data-hierarchy=tertiary])[data-is-disabled=true]{--ink: var(--ergo-grey-light)}.tcn-button[data-hierarchy=tertiary]:hover{text-decoration:underline;text-decoration-color:var(--ink);text-decoration-thickness:1px;text-underline-offset:4px}.tcn-button[data-hierarchy=tertiary]{border:1px solid transparent}.tcn-button[data-hierarchy=secondary]{border:1px solid var(--ink)}.tcn-button[data-hierarchy=primary]{border:1px solid var(--mat)}.tcn-button:hover,.tcn-button[data-hover]{transform:translateY(-1px);box-shadow:0 4px 4px #0000001f}:is(.tcn-button:hover,.tcn-button[data-hover]) :not(.tcn-select):before,:is(.tcn-button:hover,.tcn-button[data-hover]) :not(.tcn-select):after{content:"";position:absolute;left:0;right:0;height:4px}:is(.tcn-button:hover,.tcn-button[data-hover]) :not(.tcn-select):before{top:-2px}:is(.tcn-button:hover,.tcn-button[data-hover]) :not(.tcn-select):after{bottom:-2px}.tcn-button:active,.tcn-button[data-active]{transform:translateY(1px);box-shadow:inset 0 2px 2px #0000001f}.tcn-slim-button{height:auto;width:auto;padding:0}.tcn-slim-button[data-size=sm]{min-height:12px;min-width:12px;padding:0}.tcn-slim-button[data-size=sm] .tcn-icon{min-height:10px;min-width:10px}.tcn-slim-button[data-size=md]{min-height:18px;min-width:18px;padding:0}.tcn-slim-button[data-size=md] .tcn-icon{min-height:14px;min-width:14px}.tcn-slim-button[data-size=lg]{min-height:24px;min-width:24px;padding:0}.tcn-slim-button[data-size=lg] .tcn-icon{min-height:20px;min-width:20px}.tcn-button[data-size].tcn-select{padding-inline-end:26px}.tcn-toggle{--tgl-false: var(--ergo-accent-blue);--tgl-true: var(--ergo-accent-blue);--on-tgl-true: var(--ergo-white);--ink: var(--tcn-button-color, var(--tgl-false));--act: var(--tcn-button-color, var(--tgl-false))}.tcn-toggle[data-is-disabled=true]{--ink: var(--ergo-grey-light)}.tcn-toggle[data-is-selected=true]{--mat: var(--tcn-button-color, var(--tgl-true));--ink: var(--tcn-button-text-color, var(--ergo-white));--act: var(--ergo-white)}.tcn-toggle[data-is-selected=true][data-is-disabled=true]{--ink: var(--ergo-white);--mat: var(--ergo-grey-light)}.tcn-fab{border-radius:50%}.tcn-mobile-button{--btn-size-base: 44px;--btn-pad-base: 16px;--btn-size-delta: 8px;--btn-pad-delta: 4px;font-size:calc(16px * var(--scalar, 1))}.tcn-mobile-button[data-size=sm]{--btn-size-base: 36px}.tcn-mobile-button[data-size=lg]{--btn-size-base: 52px}.tcn-button-group .tcn-button-group-button.tcn-mobile-button{--btn-size-base: 44px;--btn-pad-base: 16px;--btn-size-delta: 8px;--btn-pad-delta: 4px;font-size:calc(16px * var(--scalar, 1))}.tcn-button-group .tcn-button-group-button:hover,.tcn-button-group .tcn-button-group-button:active{transform:none}.tcn-button-group .tcn-button-group-button{border-radius:0}.tcn-button-group .tcn-button-group-button:first-child{border-start-start-radius:var(--ergo-shape-radius-medium);border-end-start-radius:var(--ergo-shape-radius-medium)}.tcn-button-group .tcn-button-group-button:last-child{border-start-end-radius:var(--ergo-shape-radius-medium);border-end-end-radius:var(--ergo-shape-radius-medium)}.tcn-button-group .tcn-button-group-button[data-hierarchy=tertiary]{border:0}.tcn-button-group .tcn-button-group-button[data-hierarchy=tertiary]:not(:last-child){border-right:1px solid var(--on-mat-faint)}.tcn-button-group .tcn-button-group-button[data-hierarchy=tertiary]:not(:first-child){border-left:1px solid var(--on-mat-faint)}.tcn-button-group .tcn-button-group-button[data-hierarchy=primary]:not(:last-child){border-right:1px solid var(--act-down)}.tcn-button-group .tcn-button-group-button[data-hierarchy=primary]:not(:first-child){border-left:1px solid var(--act-down)}.tcn-select-group .tcn-select-group-option:hover,.tcn-select-group .tcn-select-group-option:active{transform:none}.tcn-select-group .tcn-select-group-option[data-hierarchy=secondary]{color:var(--act);border-color:var(--act)}.tcn-select-group .tcn-select-group-option[data-hierarchy=secondary]:hover{background:var(--act-faint)}.tcn-select-group .tcn-select-group-option[data-hierarchy=secondary]:active{background:var(--act-down);color:var(--on-act)}.tcn-select-group .tcn-select-group-option[data-hierarchy=secondary][data-is-disabled=true]{color:var(--ergo-material-disabled-outline);border:1px solid var(--ergo-material-disabled-outline)}.tcn-select-group .tcn-select-group-option[data-hierarchy=primary][data-is-disabled=true]{background:var(--ergo-material-disabled-outline);color:#fff;border:1px solid var(--ergo-material-disabled-outline)}.tcn-select-group .tcn-select-group-option{border-radius:0}.tcn-select-group .tcn-select-group-option:first-child{border-top-left-radius:var(--ergo-shape-radius-medium);border-bottom-left-radius:var(--ergo-shape-radius-medium)}.tcn-select-group .tcn-select-group-option:last-child{border-top-right-radius:var(--ergo-shape-radius-medium);border-bottom-right-radius:var(--ergo-shape-radius-medium)}.tcn-tabs-bar .tcn-tabs-list .tcn-tab-item{min-height:24px;padding:0px var(--padding-medium);text-decoration:none;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.tcn-tabs-bar[data-variant=default] .tcn-tabs-list .tcn-tab-item{box-sizing:border-box;border:none;padding:0px var(--padding-medium);border-radius:0}.tcn-tabs-bar[data-variant=default] .tcn-tabs-list .tcn-tab-item[data-is-selected=true]{--mat: var(--tcn-button-color, var(--material));--ink: var(--tcn-button-text-color, var(--ergo-primary));--act: var(--ergo-primary)}.tcn-tabs-bar[data-variant=default] .tcn-tabs-list .tcn-tab-item:focus-visible{z-index:2}.tcn-tabs-bar[data-variant=default] .tcn-tabs-list .tcn-tab-item[data-is-selected=false]:hover:after,.tcn-tabs-bar[data-variant=default] .tcn-tabs-list .tcn-tab-item[data-is-selected=false]:focus-visible:after{content:"";display:block;position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--ergo-accent-blue);pointer-events:none;width:100%;z-index:3}.tcn-tabs-bar[data-variant=default] .tcn-tabs-list:after{content:"";position:absolute;bottom:-1px;left:0;min-height:2px;transform:translate(var(--tabs-active-rectangle-position-x, 0));width:var(--tabs-active-rectangle-width, 0);background:var(--ergo-primary);pointer-events:none;border-bottom-left-radius:2px;border-bottom-right-radius:2px;transition:transform .3s ease-in-out,width .3s ease-in-out;will-change:transform,width;z-index:2}.tcn-tabs-bar[data-variant=default]:before{content:"";position:absolute;bottom:0;left:0;width:100%;height:1px;background:var(--ergo-material-divider);pointer-events:none;z-index:1}.tcn-tabs-bar[data-variant=inline]{font-size:12px;min-width:min-content;width:auto;flex-grow:0;border-radius:6px;border:1px solid var(--on-material);padding:2px}.tcn-tabs-bar[data-variant=inline] .tcn-tabs-list{height:20px;gap:var(--ergo-spacing-xs)}.tcn-tabs-bar[data-variant=inline] .tcn-tabs-list .tcn-tab-item{border-radius:var(--ergo-shape-radius-medium);min-height:20px}.material{background-color:var(--material);color:var(--on-material)}.tcn-divider-line,.tcn-divider-line[data-emphasis=normal]{background:var(--material-line)}.tcn-divider-line[data-emphasis=strong]{background:color-mix(in srgb,var(--material-line) 80%,black 20%)}.tcn-divider-line[data-emphasis=faint]{background:color-mix(in srgb,var(--material-line) 80%,white 20%)}.tcn-draggable[data-is-draggable=true] .tcn-drag-handle{cursor:move}.tcn-frame-dialog{border:inherit}.tcn-tethered{--tether-pad-x: 0px;--tether-pad-y: 0px;--indicator-pad-x: 0px;--indicator-pad-y: 0px;--tether-pad-size: 0px;--tether-pad-pos: var(--tether-pad-size);--tether-pad-neg: calc(-1 * var(--tether-pad-size));left:calc(var(--tether-pad-x, 0) - var(--indicator-pad-x, 0) + var(--tethered-left, 0));top:calc(var(--tether-pad-y, 0) + var(--tethered-top, 0))}.tcn-tethered :where(.tcn-tethered-origin-indicator){left:calc(var(--indicator-pad-x, 0) + var(--tethered-origin-delta-x, 0));top:calc(var(--indicator-pad-y, 0) + var(--tethered-origin-delta-y, 0))}.tcn-tethered[data-h-anchor=start]{--tether-pad-x: var(--tether-pad-pos)}.tcn-tethered[data-h-anchor=end]{--tether-pad-x: var(--tether-pad-neg)}.tcn-tethered[data-h-origin=start]{--indicator-pad-x: var(--tether-pad-pos)}.tcn-tethered[data-h-origin=end]{--indicator-pad-x: var(--tether-pad-neg)}.tcn-tethered[data-v-origin=center]{--indicator-pad-x: 0px;--tether-pad-x: 0px}.tcn-tethered[data-v-origin=center][data-v-anchor=top]{--tether-pad-y: var(--tether-pad-pos)}.tcn-tethered[data-v-origin=center][data-v-anchor=bottom]{--tether-pad-y: var(--tether-pad-neg)}.tcn-tethered[data-anchor-direction=bottom]{padding-bottom:var(--ergo-shape-triangle-medium)}.tcn-tethered[data-anchor-direction=top]{padding-top:var(--ergo-shape-triangle-medium)}.tcn-tethered[data-anchor-direction=start]{padding-left:var(--ergo-shape-triangle-medium)}.tcn-tethered[data-anchor-direction=end]{padding-right:var(--ergo-shape-triangle-medium)}.tcn-tooltip{--tether-pad-size: 16px;background:transparent;--material: var(--ergo-secondary-dark);--on-material: var(--ergo-white);--action: var(--ergo-tertiary);--on-action: var(--ergo-secondary-dark)}.tcn-tooltip .tcn-tooltip-label{box-shadow:0 4px 7px #414141a8;color:var(--on-material);background:var(--material);border-radius:var(--ergo-shape-radius-medium);padding:var(--padding-medium)}.tcn-list{gap:var(--gap-medium)}.tcn-list .tcn-item{height:24px;padding:0px var(--padding-medium);border-radius:var(--ergo-shape-radius-medium)}.tcn-utility-strip{min-width:var(--ergo-sizing-bar-md)}.tcn-utility-strip{padding-block:var(--padding-medium);gap:var(--gap-medium)}.tcn-footer,.tcn-header,.tcn-utility-bar{padding-inline:var(--pad-inline, var(--padding-medium));gap:var(--gap-medium)}.tcn-utility-bar{min-height:var(--ergo-sizing-bar-md)}.tcn-footer,.tcn-header{min-height:var(--ergo-sizing-bar-lg)}.tcn-scaffold{--scaffold-divide-footer: var(--divide-footer, 1);--scaffold-divide-header: var(--divide-header, 1);--pad-inline: var(--padding-large)}.tcn-scaffold :where(.tcn-header)+:where(.tcn-scaffold),.tcn-scaffold :where(.tcn-header)+:where(.tcn-rail),.tcn-scaffold :where(.tcn-utility-bar)+:where(.tcn-scaffold),.tcn-scaffold :where(.tcn-utility-bar)+:where(.tcn-rail){border-top:calc(var(--scaffold-divide-header) * 1px) solid var(--ergo-material-border)}.tcn-scaffold :where(.tcn-scaffold)+:where(.tcn-footer),.tcn-scaffold :where(.tcn-rail)+:where(.tcn-footer){border-top:calc(var(--scaffold-divide-footer) * 1px) solid var(--ergo-material-border)}.tcn-frame-veil[data-is-veil=true]{background-color:#00000080}.tcn-page{--divide-header: 0;--divide-footer: 0;--material: var(--background-color-tertiary);background-color:var(--material)}.tcn-modal{--divide-header: 0;box-shadow:0 4px 34px #00000096;border-radius:var(--ergo-shape-radius-medium);background-color:var(--background-color-primary);overflow:hidden;border:1px solid var(--ergo-material-border)}.tcn-modal :where(.tcn-header){--material: var(--ergo-material-overlay);--on-material: var(--ergo-white);--action: var(--ergo-tertiary);--on-action: var(--ergo-secondary-dark);background-color:var(--material);color:var(--on-material)}.tcn-modal :where(.tcn-header) :where(.tcn-typography){color:inherit}.tcn-drawer{--divide-header: 0;box-shadow:0 4px 34px #00000096;background-color:var(--background-color-primary);overflow:hidden}.tcn-drawer :where(.tcn-header){--material: var(--ergo-material-overlay);--on-material: var(--ergo-white);--action: var(--ergo-tertiary);--on-action: var(--ergo-secondary-dark);background-color:var(--material);color:var(--on-material)}.tcn-drawer :where(.tcn-header) :where(.tcn-typography){color:inherit}.tcn-window{box-shadow:0 4px 34px #00000096;--divide-header: 0;border-radius:var(--ergo-shape-radius-medium);background-color:var(--background-color-primary);overflow:hidden;border:2px solid white}.tcn-window :where(.tcn-header){--material: var(--ergo-material-overlay);--on-material: var(--ergo-white);--action: var(--ergo-tertiary);--on-action: var(--ergo-secondary-dark);background-color:var(--material);color:var(--on-material)}.tcn-window :where(.tcn-header) :where(.tcn-typography){color:inherit}.tcn-pop-confirm{--divide-header: 0;--tether-pad-size: 16px;--pad-inline: var(--padding-medium)}.tcn-pop-confirm .tcn-pop-confirm-scaffold>.tcn-scaffold-stack{border-radius:var(--ergo-shape-radius-medium);box-shadow:0 4px 8px #0006;background-color:var(--background-color-primary)}.tcn-pop-confirm :where(.tcn-tethered-origin-indicator){--material: var(--ergo-white)}.tcn-pop-confirm[data-v-origin=top] :where(.tcn-tethered-origin-indicator){--material: var(--ergo-material-overlay)}.tcn-pop-confirm :where(.tcn-header){min-height:var(--ergo-sizing-bar-md);--material: var(--ergo-material-overlay);--on-material: var(--ergo-white);--action: var(--ergo-tertiary);--on-action: var(--ergo-secondary-dark);background-color:var(--material);color:var(--on-material)}.tcn-pop-confirm :where(.tcn-header) :where(.tcn-typography){color:inherit}.tcn-confirm{--material: var(--background-color-primary);background-color:var(--material)}.tcn-bar{gap:var(--gap-medium)}.tcn-bar :where(.tcn-group:not(:last-child):not(:has(+.tcn-spacer))):after{content:"";display:block;min-width:2px;height:18px;background:var(--ergo-grey);border-radius:var(--ergo-shape-radius-small);align-self:center}.tcn-panel{--divide-header: 1;--divide-footer: 1;--material: var(--background-color-primary);background-color:var(--material);border-radius:var(--ergo-shape-radius-medium);overflow:hidden}.tcn-panel :where(.tcn-title){font-size:18px}.tcn-aside{--divide-header: 1;--divide-footer: 1;--material: var(--background-color-secondary);background-color:var(--material);overflow:hidden}.tcn-aside :where(.tcn-header){min-height:var(--ergo-sizing-bar-md)}.tcn-aside :where(.tcn-footer){min-height:var(--ergo-sizing-bar-md)}.tcn-aside :where(.tcn-title){font-size:16px}.tcn-card{--divide-header: 0;--divide-footer: 1;--pad-inline: var(--padding-medium);background-color:var(--background-color-primary);border-radius:var(--ergo-shape-radius-medium);border:1px solid var(--ergo-material-border);overflow:hidden}.tcn-card :where(.tcn-header){min-height:var(--ergo-sizing-bar-md);--material: var(--ergo-secondary-light);--on-material: var(--ergo-accent-blue);--action: var(--ergo-secondary);--on-action: var(--ergo-white);background-color:var(--material);color:var(--on-material)}.tcn-card :where(.tcn-header) :where(.tcn-typography){color:inherit}.tcn-card :where(.tcn-utility-bar){min-height:var(--ergo-sizing-bar-sm)}.tcn-card :where(.tcn-scaffold-stack)>:where(.tcn-scaffold)>:where(.tcn-scaffold-stack),.tcn-card :where(.tcn-scaffold-stack)>:where(.tcn-rail)>:where(.tcn-rail-stack),.tcn-card :where(.tcn-rail-stack)>:where(.tcn-scaffold)>:where(.tcn-scaffold-stack),.tcn-card :where(.tcn-rail-stack)>:where(.tcn-rail)>:where(.tcn-rail-stack){padding-inline:var(--padding-medium)}.tcn-panel :where(.tcn-columns){padding:var(--padding-large)}.tcn-panel :where(.tcn-columns) :where(.tcn-column){border-right:1px solid var(--ergo-material-border);padding-inline-end:var(--padding-medium)}.tcn-panel :where(.tcn-columns) :where(.tcn-column):not(:first-child){padding-inline-start:var(--padding-medium)}.tcn-page :where(.tcn-columns){padding:var(--padding-medium)}.tcn-page :where(.tcn-columns) :where(.tcn-column):not(:last-child){padding-inline-end:var(--padding-medium)}.tcn-section{--max-section-depth: 4;--section-tab-width: 4px;--section-tab-start: var(--pad-inline, var(--padding-medium));--section-tab-depth: 0;--section-tab: calc( var(--section-tab-start) + (var(--section-tab-width) * var(--section-tab-depth)) );--section-heading-height: var(--ergo-sizing-bar-md);--section-action: var(--ergo-secondary);--section-mat: var(--ergo-secondary-light);--section-on-mat: var(--ergo-text-color-primary)}.tcn-heading{position:sticky;background-color:var(--material);padding-inline-start:var(--pad-inline, var(--padding-medium));padding-inline-end:var(--pad-inline, var(--padding-medium));height:var(--section-heading-height);z-index:5;-webkit-user-select:none;user-select:none}.tcn-section>.tcn-heading{top:calc(var(--section-heading-height) * var(--section-tab-depth));z-index:calc(var(--max-section-depth) - var(--section-tab-depth));padding-inline-start:var(--section-tab);--material: var(--section-mat);--on-material: var(--section-on-mat);--action: var(--section-action);background-color:var(--material);color:var(--on-material);gap:var(--gap-small)}.tcn-detail{padding-block:var(--padding-medium);gap:var(--padding-medium)}.tcn-section>.tcn-detail{padding-inline-start:var(--section-tab);padding-inline-end:var(--pad-inline, var(--padding-medium))}.tcn-scaffold-stack>.tcn-detail{padding-inline:var(--pad-inline, var(--padding-medium))}.tcn-section>.tcn-section{--section-tab-depth: 1;--section-mat: var(--ergo-accent-blue-light);--section-action: var(--ergo-accent-blue)}.tcn-section>.tcn-section>.tcn-section{--section-tab-depth: 2;--section-mat: var(--ergo-accent-green-light);--section-action: var(--ergo-accent-green-dark)}.tcn-section>.tcn-section>.tcn-section>.tcn-section{--section-tab-depth: 3;--section-mat: var(--ergo-tertiary-light);--section-action: var(--ergo-tertiary-dark)}.tcn-caret{--caret-size: var(--ergo-shape-triangle-medium);--caret-triangle-height: calc(var(--caret-size) / 2);--caret-triangle-width: var(--caret-size);--caret-triangle-base: var(--caret-triangle-height) solid transparent;--caret-triangle-peak: var(--caret-triangle-width) solid var(--material);width:var(--caret-size);height:var(--caret-size);min-width:var(--caret-size);min-height:var(--caret-size);flex-grow:0;display:inline-block}.tcn-caret[data-direction=top]{border-bottom:var(--caret-triangle-peak);border-left:var(--caret-triangle-base);border-right:var(--caret-triangle-base)}.tcn-caret[data-direction=bottom]{border-top:var(--caret-triangle-peak);border-left:var(--caret-triangle-base);border-right:var(--caret-triangle-base)}.tcn-caret[data-direction=start]{border-right:var(--caret-triangle-peak);border-top:var(--caret-triangle-base);border-bottom:var(--caret-triangle-base)}.tcn-caret[data-direction=end]{border-left:var(--caret-triangle-peak);border-top:var(--caret-triangle-base);border-bottom:var(--caret-triangle-base)}.tcn-table{--table-pad-inline: var(--pad-inline, var(--padding-medium));--material: var(--ergo-white);--on-material: var(--ergo-text-color-primary);--action: var(--ergo-accent-blue);--on-action: var(--ergo-white);background-color:var(--material);color:var(--on-material);border-collapse:separate;display:block}:is(.tcn-table[data-is-sticky=true] .tcn-tbody,.tcn-table[data-is-sticky=true] .tcn-thead) th:first-of-type{border-right:1px solid color-mix(in srgb,var(--material) 80%,black)}:is(.tcn-table[data-is-sticky=true] .tcn-tbody,.tcn-table[data-is-sticky=true] .tcn-thead) th:last-of-type{border-left:1px solid color-mix(in srgb,var(--material) 80%,black)}.tcn-td{text-align:start;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.tcn-thead .tcn-tr{height:var(--ergo-sizing-bar-md)}.tcn-thead .tcn-tr .tcn-th{border-bottom:1px solid var(--ergo-grey-light)}.tcn-thead .tcn-tr .tcn-th:not(:last-of-type):not(:nth-last-of-type(2)){border-right:1px solid var(--ergo-grey)}.tcn-thead .tcn-tr .tcn-th:last-of-type{border-left:1px solid var(--ergo-grey)}.tcn-tfoot{font-weight:700}.tcn-tfoot .tcn-tr{height:var(--ergo-sizing-bar-sm)}.tcn-tfoot .tcn-tr .tcn-th,.tcn-tfoot .tcn-tr .tcn-td{border-top:1px solid var(--ergo-grey-light)}.tcn-thead,.tcn-tfoot{font-size:14px;--material: var(--ergo-secondary-light);--on-material: var(--ergo-accent-blue);--action: var(--ergo-accent-blue);--on-action: var(--ergo-white);background-color:var(--material);color:var(--on-material)}:is(.tcn-thead,.tcn-tfoot) .tcn-tr .tcn-th:first-child{padding-inline:var(--table-pad-inline)}.tcn-tr{height:var(--ergo-sizing-bar-sm);align-content:center}.tcn-td,.tcn-th{padding-inline:var(--padding-medium);vertical-align:middle;text-align:start;background:var(--material)}.tcn-table .tcn-tr>.tcn-th:first-child,.tcn-table .tcn-tr>.tcn-td:first-child{padding-inline-start:var(--table-pad-inline)}.tcn-table .tcn-tr>.tcn-th:last-child,.tcn-table .tcn-tr>.tcn-td:last-child{padding-inline-end:var(--table-pad-inline)}.tcn-tbody{font-size:12px}.tcn-tbody .tcn-tr:nth-of-type(2n){--material: var(--ergo-accent-blue-light)}.tcn-tbody .tcn-tr:nth-of-type(odd){--material: var(--ergo-white)}.tcn-tbody .tcn-tr:hover{--material: color-mix(in srgb, var(--ergo-accent-blue-light), var(--action) 12%)}.tcn-tbody .tcn-tr[data-is-selected=true]{--material: var(--ergo-secondary);--on-material: var(--ergo-white);--action: var(--ergo-tertiary);--on-action: var(--ergo-accent-blue)}.tcn-tbody .tcn-tr{--material: var(--bg-row);--on-material: var(--ergo-accent-blue);--action: var(--ergo-accent-blue);--on-action: var(--ergo-white);background-color:var(--material);color:var(--on-material)}.tcn-entry,.tcn-control{--act: var(--action);--mat: var(--material);--act-raised: color-mix(in srgb, var(--mat), var(--act) 12%);font-size:var(--ergo-text-size-input);border:1px solid var(--ergo-grey);box-sizing:border-box;min-height:var(--ergo-sizing-action-md);border-radius:var(--ergo-shape-radius-medium);padding-inline:4px}.tcn-radio-label,.tcn-select-selected-label{font-size:var(--ergo-text-size-input)}.tcn-control[data-is-disabled=false]:hover{background:var(--act-raised)}.tcn-control:focus-within{outline:2px solid var(--ergo-primary);outline-offset:2px}.tcn-control:focus{border:1px solid var(--act)}.tcn-control::placeholder{color:var(--ergo-grey)}.tcn-control[data-is-disabled=true]{cursor:not-allowed;background:var(--ergo-material-disabled-outline);color:var(--ergo-text-color-disabled-outline)}.tcn-control[data-is-disabled=true]::placeholder{color:var(--ergo-text-color-disabled-outline)}.tcn-control{display:flex;justify-content:center;gap:var(--gap-small)}.tcn-control-row{min-height:22px;height:auto;align-items:center;gap:var(--gap-small);padding-block:2px}.tcn-control-row>.tcn-icon{color:var(--ergo-grey)}.tcn-control .tcn-entry{border:none;background:transparent;padding:0;min-height:unset;border-radius:0;height:100%;flex-grow:1}.tcn-control .tcn-entry:hover,.tcn-control .tcn-entry:active,.tcn-control .tcn-entry:focus-visible,.tcn-control .tcn-entry:focus{outline:none;border:none;background:transparent}.tcn-input{height:auto}.tcn-textarea,.tcn-input{cursor:text}.tcn-control-set{border-radius:var(--ergo-shape-radius-medium)}.tcn-control-set:focus-within{outline:2px solid var(--ergo-primary);outline-offset:2px}.tcn-control-set .tcn-control-set-item{z-index:1;border-radius:0;height:auto;min-height:var(--ergo-sizing-action-md);padding-block:0}.tcn-control-set .tcn-control-set-item:focus,.tcn-control-set .tcn-control-set-item:focus-visible{z-index:3;outline:none}.tcn-control-set .tcn-control-set-item:first-child{border-top-left-radius:var(--ergo-shape-radius-medium);border-bottom-left-radius:var(--ergo-shape-radius-medium)}.tcn-control-set .tcn-control-set-item:not(:last-child){margin-right:-1px}.tcn-control-set .tcn-control-set-item:last-child{border-top-right-radius:var(--ergo-shape-radius-medium);border-bottom-right-radius:var(--ergo-shape-radius-medium)}.tcn-control-set .tcn-select,.tcn-control-set .tcn-button,.tcn-control-set .tcn-button[data-hierarchy]{border:1px solid var(--ergo-grey);height:auto;min-height:var(--ergo-sizing-action-md);min-width:var(--ergo-sizing-action-md);box-sizing:border-box}:is(.tcn-control-set .tcn-select,.tcn-control-set .tcn-button,.tcn-control-set .tcn-button[data-hierarchy]):hover,:is(.tcn-control-set .tcn-select,.tcn-control-set .tcn-button,.tcn-control-set .tcn-button[data-hierarchy])[data-hover]{transform:none}.tcn-control-set .tcn-button.tcn-select,.tcn-control-set .tcn-button[data-hierarchy].tcn-select{border-color:var(--ergo-grey)}.tcn-control-set .tcn-select:focus-visible,.tcn-control-set .tcn-button:focus-visible,.tcn-control-set .tcn-button[data-hierarchy]:focus-visible{border-color:var(--ergo-primary)}.tcn-slider[data-is-disabled=true]::-webkit-slider-runnable-track{background:var(--ergo-grey-light)}.tcn-slider[data-is-disabled=true]::-webkit-slider-thumb{background-color:var(--ergo-white);border:1px solid var(--ergo-grey-light)}.tcn-checkbox{--checkbox-color: var(--action, var(--ergo-primary));border-color:var(--checkbox-color)}.tcn-checkbox:focus-visible,.tcn-checkbox:focus{outline:2px solid var(--checkbox-color);outline-offset:2px}.tcn-checkbox[data-is-disabled=true]{cursor:not-allowed;border-color:var(--ergo-material-disabled-outline)}.tcn-checkbox[data-checked=true]{background-color:var(--checkbox-color)}.tcn-checkbox[data-checked=true][data-is-disabled=true]{background-color:var(--ergo-grey-light)}.tcn-checkbox[data-checked=false][data-is-disabled=true]{background:var(--material);border-color:var(--ergo-grey-light);color:var(--ergo-grey-light)}.tcn-checkbox[data-is-disabled=false]:active{background-color:var(--checkbox-color)}.tcn-switch-wrapper[data-focused=true][data-is-checked=false],.tcn-switch-wrapper[data-focused=true][data-is-checked=true]{outline:2px solid var(--ergo-primary);outline-offset:2px}.tcn-input,.tcn-select,.tcn-slider,.tcn-textarea,.tcn-checkbox,.tcn-switch-wrapper,.tcn-date-picker,.tcn-date-picker-year-selector,.tcn-radio,.tcn-date-picker-input,.tcn-mobile-date-picker,.tcn-mobile-date-picker-year-selector,.tcn-suggestion-list-search-input,.tcn-suggestion-list{--accent-color: var(--ergo-primary)}.tcn-chip{--action: var(--ergo-primary);--accent-color: var(--ergo-primary)}.tcn-datum[data-emphasis=normal]{--datum-font-color: var(--on-material)}.tcn-datum[data-emphasis=strong]{--datum-font-weight: 700}.tcn-datum[data-emphasis=faint]{--datum-font-color: color-mix(in srgb, var(--on-material), transparent 12%)}.tcn-datum[data-severity=dangerous]{--datum-font-color: var(--ergo-status-red)}.tcn-datum[data-severity=cautious]{--datum-font-color: var(--ergo-status-yellow)}.tcn-datum[data-severity=suggested]{--datum-font-color: var(--ergo-status-blue)}.tcn-datum[data-severity=encouraged]{--datum-font-color: var(--ergo-status-green)}.tcn-key{--accent-color: var(--action);font-size:14px;color:var(--datum-font-color);font-weight:var(--datum-font-weight, 400)}.tcn-value{font-size:12px;color:var(--datum-font-color);font-weight:var(--datum-font-weight, 400)}.tcn-term>.tcn-key,.tcn-term>.tcn-value{max-width:50%}.tcn-value :where(.tcn-chip){--action: var(--ergo-accent-blue);--accent-color: var(--ergo-accent-blue)}}
1
+ @layer tcn-theme{.tcn-divider-line,.tcn-divider-line[data-emphasis=normal]{background:var(--ergo-material-divider, #aaa)}.tcn-divider-line[data-emphasis=strong]{background:color-mix(in srgb,var(--ergo-material-divider, #aaa) 80%,black 20%)}.tcn-divider-line[data-emphasis=faint]{background:color-mix(in srgb,var(--ergo-material-divider, #aaa) 80%,white 20%)}.tcn-draggable[data-is-draggable=true] .tcn-drag-handle{cursor:move}.tcn-frame-dialog{border:inherit}.tcn-tethered{--tether-pad-x: 0px;--tether-pad-y: 0px;--indicator-pad-x: 0px;--indicator-pad-y: 0px;--tether-pad-size: 0px;--tether-pad-pos: var(--tether-pad-size);--tether-pad-neg: calc(-1 * var(--tether-pad-size));left:calc(var(--tether-pad-x, 0) - var(--indicator-pad-x, 0) + var(--tethered-left, 0));top:calc(var(--tether-pad-y, 0) + var(--tethered-top, 0))}.tcn-tethered :where(.tcn-tethered-origin-indicator){left:calc(var(--indicator-pad-x, 0) + var(--tethered-origin-delta-x, 0));top:calc(var(--indicator-pad-y, 0) + var(--tethered-origin-delta-y, 0))}.tcn-tethered[data-h-anchor=start]{--tether-pad-x: var(--tether-pad-pos)}.tcn-tethered[data-h-anchor=end]{--tether-pad-x: var(--tether-pad-neg)}.tcn-tethered[data-h-origin=start]{--indicator-pad-x: var(--tether-pad-pos)}.tcn-tethered[data-h-origin=end]{--indicator-pad-x: var(--tether-pad-neg)}.tcn-tethered[data-v-origin=center]{--indicator-pad-x: 0px;--tether-pad-x: 0px}.tcn-tethered[data-v-origin=center][data-v-anchor=top]{--tether-pad-y: var(--tether-pad-pos)}.tcn-tethered[data-v-origin=center][data-v-anchor=bottom]{--tether-pad-y: var(--tether-pad-neg)}.tcn-tethered[data-anchor-direction=bottom]{padding-bottom:var(--ergo-shape-triangle-medium)}.tcn-tethered[data-anchor-direction=top]{padding-top:var(--ergo-shape-triangle-medium)}.tcn-tethered[data-anchor-direction=start]{padding-left:var(--ergo-shape-triangle-medium)}.tcn-tethered[data-anchor-direction=end]{padding-right:var(--ergo-shape-triangle-medium)}.tcn-tooltip{--tether-pad-size: 16px;background:transparent;--material: var(--ergo-secondary-dark);--on-material: var(--ergo-white);--action: var(--ergo-tertiary);--on-action: var(--ergo-secondary-dark)}.tcn-tooltip .tcn-tooltip-label{box-shadow:0 4px 7px #414141a8;color:var(--on-material);background:var(--material);border-radius:var(--ergo-shape-radius-medium);padding:var(--padding-medium)}.tcn-list{gap:var(--gap-medium)}.tcn-list .tcn-item{height:24px;padding:0px var(--padding-medium);border-radius:var(--ergo-shape-radius-medium)}.tcn-utility-strip{min-width:var(--ergo-sizing-bar-md)}.tcn-utility-strip{padding-block:var(--padding-medium);gap:var(--gap-medium)}.tcn-footer,.tcn-header,.tcn-utility-bar{padding-inline:var(--pad-inline, var(--padding-medium));gap:var(--gap-medium)}.tcn-utility-bar{min-height:var(--ergo-sizing-bar-md)}.tcn-footer,.tcn-header{min-height:var(--ergo-sizing-bar-lg)}.tcn-scaffold{--scaffold-divide-footer: var(--divide-footer, 1);--scaffold-divide-header: var(--divide-header, 1)}.tcn-scaffold :where(.tcn-header){border-bottom:calc(var(--scaffold-divide-header) * 1px) solid var(--ergo-material-border)}.tcn-scaffold :where(.tcn-utility-bar){border-bottom:1px solid var(--ergo-material-border)}.tcn-scaffold :where(.tcn-footer){border-top:calc(var(--scaffold-divide-footer) * 1px) solid var(--ergo-material-border)}.tcn-frame-veil[data-is-veil=true]{background-color:#00000080}:where(.tcn-frame){--resize-offset: -6px}.tcn-frame>.tcn-scaffold{overflow:hidden}.tcn-page{--divide-header: 0;--divide-footer: 0;--pad-inline: var(--padding-large);--material: var(--background-color-tertiary);background-color:var(--material)}.tcn-modal{--divide-header: 0;--pad-inline: var(--padding-large);box-shadow:0 4px 34px #00000096;border-radius:var(--ergo-shape-radius-medium);background-color:var(--background-color-primary);border:1px solid var(--ergo-material-border)}.tcn-modal :where(.tcn-header){--material: var(--ergo-material-overlay);--on-material: var(--ergo-white);--action: var(--ergo-tertiary);--on-action: var(--ergo-secondary-dark);background-color:var(--material);color:var(--on-material)}.tcn-modal :where(.tcn-header) :where(.tcn-typography){color:inherit}.tcn-drawer{--divide-header: 0;--pad-inline: var(--padding-large);box-shadow:0 4px 34px #00000096;background-color:var(--background-color-primary)}.tcn-drawer :where(.tcn-header){--material: var(--ergo-material-overlay);--on-material: var(--ergo-white);--action: var(--ergo-tertiary);--on-action: var(--ergo-secondary-dark);background-color:var(--material);color:var(--on-material)}.tcn-drawer :where(.tcn-header) :where(.tcn-typography){color:inherit}.tcn-window{box-shadow:0 4px 34px #00000096;--divide-header: 0;--pad-inline: var(--padding-large);border-radius:var(--ergo-shape-radius-medium);background-color:var(--background-color-primary);border:2px solid white}.tcn-window :where(.tcn-header){--material: var(--ergo-material-overlay);--on-material: var(--ergo-white);--action: var(--ergo-tertiary);--on-action: var(--ergo-secondary-dark);background-color:var(--material);color:var(--on-material)}.tcn-window :where(.tcn-header) :where(.tcn-typography){color:inherit}.tcn-pop-confirm{--divide-header: 0;--tether-pad-size: 16px;--pad-inline: var(--padding-medium)}.tcn-pop-confirm .tcn-pop-confirm-scaffold{border-radius:var(--ergo-shape-radius-medium);box-shadow:0 4px 8px #0006;background-color:var(--background-color-primary)}.tcn-pop-confirm :where(.tcn-tethered-origin-indicator){--material: var(--ergo-white)}.tcn-pop-confirm[data-v-origin=top] :where(.tcn-tethered-origin-indicator){--material: var(--ergo-material-overlay)}.tcn-pop-confirm :where(.tcn-header){min-height:var(--ergo-sizing-bar-md);--material: var(--ergo-material-overlay);--on-material: var(--ergo-white);--action: var(--ergo-tertiary);--on-action: var(--ergo-secondary-dark);background-color:var(--material);color:var(--on-material)}.tcn-pop-confirm :where(.tcn-header) :where(.tcn-typography){color:inherit}.tcn-confirm{--material: var(--background-color-primary);background-color:var(--material)}.tcn-bar{gap:var(--gap-medium)}.tcn-bar :where(.tcn-group:not(:last-child):not(:has(+.tcn-spacer))):after{content:"";display:block;min-width:2px;height:18px;background:var(--ergo-grey);border-radius:var(--ergo-shape-radius-small);align-self:center}.tcn-panel{--divide-header: 1;--divide-footer: 1;--pad-inline: var(--padding-large);--material: var(--background-color-primary);background-color:var(--material);border-radius:var(--ergo-shape-radius-medium);overflow:hidden}.tcn-panel :where(.tcn-title){font-size:18px}.tcn-aside{--divide-header: 1;--divide-footer: 1;--pad-inline: var(--padding-large);--material: var(--background-color-secondary);background-color:var(--material);overflow:hidden}.tcn-aside :where(.tcn-header){min-height:var(--ergo-sizing-bar-md)}.tcn-aside :where(.tcn-footer){min-height:var(--ergo-sizing-bar-md)}.tcn-aside :where(.tcn-title){font-size:16px}.tcn-card{--divide-header: 0;--divide-footer: 1;--pad-inline: var(--padding-medium);background-color:var(--background-color-primary);border-radius:var(--ergo-shape-radius-medium);border:1px solid var(--ergo-material-border);overflow:hidden}.tcn-card :where(.tcn-header){min-height:var(--ergo-sizing-bar-md);--material: var(--ergo-secondary-light);--on-material: var(--ergo-accent-blue);--action: var(--ergo-secondary);--on-action: var(--ergo-white);background-color:var(--material);color:var(--on-material)}.tcn-card :where(.tcn-header) :where(.tcn-typography){color:inherit}.tcn-card :where(.tcn-utility-bar){min-height:var(--ergo-sizing-bar-sm)}.tcn-panel :where(.tcn-columns){padding:var(--padding-large)}.tcn-panel :where(.tcn-columns) :where(.tcn-column){gap:var(--gap-medium);border-right:1px solid var(--ergo-material-border);padding-inline-end:var(--padding-medium)}.tcn-panel :where(.tcn-columns) :where(.tcn-column):not(:first-child){padding-inline-start:var(--padding-medium)}:where(.tcn-rail.tcn-columns){--resize-offset: calc(-1 * var(--padding-medium))}:where(.tcn-rail):not(.tcn-columns){--resize-offset: 0px}.tcn-page :where(.tcn-columns){padding:var(--padding-medium)}.tcn-page :where(.tcn-columns) :where(.tcn-column){gap:var(--gap-medium)}.tcn-page :where(.tcn-columns)>.tcn-column:not(:last-child){padding-inline-end:var(--padding-medium)}:is(.tcn-panel,.tcn-card) :where(.tcn-rows) :where(.tcn-row):not(:last-child){border-bottom:1px solid var(--ergo-material-border);padding-block-end:var(--padding-medium)}:is(.tcn-panel,.tcn-card) :where(.tcn-rows) :where(.tcn-row):not(:first-child){padding-block-start:var(--padding-medium)}.tcn-page :where(.tcn-rows){padding:var(--padding-medium)}.tcn-page :where(.tcn-rows) :where(.tcn-row):not(:last-child){padding-block-end:var(--padding-medium)}.tcn-section{--max-section-depth: 4;--section-tab-width: 4px;--section-tab-start: var(--pad-inline, var(--padding-medium));--section-tab-depth: 0;--section-tab: calc( var(--section-tab-start) + (var(--section-tab-width) * var(--section-tab-depth)) );--section-heading-height: var(--ergo-sizing-bar-md);--section-action: var(--ergo-secondary);--section-mat: var(--ergo-secondary-light);--section-on-mat: var(--ergo-text-color-primary)}.tcn-heading{position:sticky;background-color:var(--material);padding-inline-start:var(--pad-inline, var(--padding-medium));padding-inline-end:var(--pad-inline, var(--padding-medium));height:var(--section-heading-height);z-index:5;-webkit-user-select:none;user-select:none}.tcn-section>.tcn-heading{top:calc(var(--section-heading-height) * var(--section-tab-depth));z-index:calc(var(--max-section-depth) - var(--section-tab-depth));padding-inline-start:var(--section-tab);--material: var(--section-mat);--on-material: var(--section-on-mat);--action: var(--section-action);background-color:var(--material);color:var(--on-material);gap:var(--gap-small)}.tcn-detail{padding-block:var(--padding-medium);gap:var(--padding-medium)}.tcn-section>.tcn-detail{padding-inline-start:var(--section-tab);padding-inline-end:var(--pad-inline, var(--padding-medium))}.tcn-scaffold>.tcn-detail{padding-inline:var(--pad-inline, var(--padding-medium))}.tcn-section>.tcn-section{--section-tab-depth: 1;--section-mat: var(--ergo-accent-blue-light);--section-action: var(--ergo-accent-blue)}.tcn-section>.tcn-section>.tcn-section{--section-tab-depth: 2;--section-mat: var(--ergo-accent-green-light);--section-action: var(--ergo-accent-green-dark)}.tcn-section>.tcn-section>.tcn-section>.tcn-section{--section-tab-depth: 3;--section-mat: var(--ergo-tertiary-light);--section-action: var(--ergo-tertiary-dark)}.tcn-caret{--caret-size: var(--ergo-shape-triangle-medium);--caret-triangle-height: calc(var(--caret-size) / 2);--caret-triangle-width: var(--caret-size);--caret-triangle-base: var(--caret-triangle-height) solid transparent;--caret-triangle-peak: var(--caret-triangle-width) solid var(--material);width:var(--caret-size);height:var(--caret-size);min-width:var(--caret-size);min-height:var(--caret-size);flex-grow:0;display:inline-block}.tcn-caret[data-direction=top]{border-bottom:var(--caret-triangle-peak);border-left:var(--caret-triangle-base);border-right:var(--caret-triangle-base)}.tcn-caret[data-direction=bottom]{border-top:var(--caret-triangle-peak);border-left:var(--caret-triangle-base);border-right:var(--caret-triangle-base)}.tcn-caret[data-direction=start]{border-right:var(--caret-triangle-peak);border-top:var(--caret-triangle-base);border-bottom:var(--caret-triangle-base)}.tcn-caret[data-direction=end]{border-left:var(--caret-triangle-peak);border-top:var(--caret-triangle-base);border-bottom:var(--caret-triangle-base)}.tcn-table{--table-pad-inline: var(--pad-inline, var(--padding-medium));--material: var(--ergo-white);--on-material: var(--ergo-text-color-primary);--action: var(--ergo-accent-blue);--on-action: var(--ergo-white);background-color:var(--material);color:var(--on-material);border-collapse:separate;display:block}:is(.tcn-table[data-is-sticky=true] .tcn-tbody,.tcn-table[data-is-sticky=true] .tcn-thead) th:first-of-type{border-right:1px solid color-mix(in srgb,var(--material) 80%,black)}:is(.tcn-table[data-is-sticky=true] .tcn-tbody,.tcn-table[data-is-sticky=true] .tcn-thead) th:last-of-type{border-left:1px solid color-mix(in srgb,var(--material) 80%,black)}.tcn-td{text-align:start;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.tcn-thead .tcn-tr{height:var(--ergo-sizing-bar-md)}.tcn-thead .tcn-tr .tcn-th{border-bottom:1px solid var(--ergo-grey-light)}.tcn-thead .tcn-tr .tcn-th:not(:last-of-type):not(:nth-last-of-type(2)){border-right:1px solid var(--ergo-grey)}.tcn-thead .tcn-tr .tcn-th:last-of-type{border-left:1px solid var(--ergo-grey)}.tcn-tfoot{font-weight:700}.tcn-tfoot .tcn-tr{height:var(--ergo-sizing-bar-sm)}.tcn-tfoot .tcn-tr .tcn-th,.tcn-tfoot .tcn-tr .tcn-td{border-top:1px solid var(--ergo-grey-light)}.tcn-thead,.tcn-tfoot{font-size:14px;--material: var(--ergo-secondary-light);--on-material: var(--ergo-accent-blue);--action: var(--ergo-accent-blue);--on-action: var(--ergo-white);background-color:var(--material);color:var(--on-material)}:is(.tcn-thead,.tcn-tfoot) .tcn-tr .tcn-th:first-child{padding-inline:var(--table-pad-inline)}.tcn-tr{height:var(--ergo-sizing-bar-sm);align-content:center}.tcn-td,.tcn-th{padding-inline:var(--padding-medium);vertical-align:middle;text-align:start;background:var(--material)}.tcn-table .tcn-tr>.tcn-th:first-child,.tcn-table .tcn-tr>.tcn-td:first-child{padding-inline-start:var(--table-pad-inline)}.tcn-table .tcn-tr>.tcn-th:last-child,.tcn-table .tcn-tr>.tcn-td:last-child{padding-inline-end:var(--table-pad-inline)}.tcn-tbody{font-size:12px}.tcn-tbody .tcn-tr:nth-of-type(2n){--material: var(--ergo-accent-blue-light)}.tcn-tbody .tcn-tr:nth-of-type(odd){--material: var(--ergo-white)}.tcn-tbody .tcn-tr:hover{--material: color-mix(in srgb, var(--ergo-accent-blue-light), var(--action) 12%)}.tcn-tbody .tcn-tr[data-is-selected=true]{--material: var(--ergo-secondary);--on-material: var(--ergo-white);--action: var(--ergo-tertiary);--on-action: var(--ergo-accent-blue)}.tcn-tbody .tcn-tr{--material: var(--bg-row);--on-material: var(--ergo-accent-blue);--action: var(--ergo-accent-blue);--on-action: var(--ergo-white);background-color:var(--material);color:var(--on-material)}.tcn-body-text[data-emphasis=faint],.tcn-headline[data-emphasis=faint],.tcn-subheadline[data-emphasis=faint],.tcn-callout[data-emphasis=faint],.tcn-footnote[data-emphasis=faint],.tcn-caption[data-emphasis=faint],.tcn-title[data-emphasis=faint]{color:color-mix(in srgb,var(--font-color) 70%,transparent)}.tcn-chip{--action: var(--ergo-primary);--accent-color: var(--ergo-primary)}.tcn-datum[data-emphasis=normal]{--datum-font-color: var(--on-material)}.tcn-datum[data-emphasis=strong]{--datum-font-weight: 700}.tcn-datum[data-emphasis=faint]{--datum-font-color: color-mix(in srgb, var(--on-material), transparent 12%)}.tcn-datum[data-severity=dangerous]{--datum-font-color: var(--ergo-status-red)}.tcn-datum[data-severity=cautious]{--datum-font-color: var(--ergo-status-yellow)}.tcn-datum[data-severity=suggested]{--datum-font-color: var(--ergo-status-blue)}.tcn-datum[data-severity=encouraged]{--datum-font-color: var(--ergo-status-green)}.tcn-key{--accent-color: var(--action);font-size:14px;color:var(--datum-font-color);font-weight:var(--datum-font-weight, 400)}.tcn-value{font-size:12px;color:var(--datum-font-color);font-weight:var(--datum-font-weight, 400)}.tcn-term>.tcn-key,.tcn-term>.tcn-value{max-width:50%}.tcn-value :where(.tcn-chip){--action: var(--ergo-accent-blue);--accent-color: var(--ergo-accent-blue)}.tcn-resize-handle[data-axis=horizontal]{width:8px}.tcn-resize-handle[data-axis=vertical]{height:8px}.tcn-resize-handle[data-axis=horizontal]:after,.tcn-resize-handle[data-axis=vertical]:after{content:"";position:absolute;border-radius:var(--ergo-shape-radius-medium);background-color:var(--ergo-grey-light);pointer-events:none;transition:background-color .3s;top:50%;left:50%;transform:translate(-50%,-50%)}.tcn-resize-handle[data-axis=horizontal]:after{width:4px;height:16px}.tcn-resize-handle[data-axis=vertical]:after{width:16px;height:4px}.tcn-resize-handle[data-axis=corner]:after{content:"";position:absolute;width:8px;height:8px;border-style:solid;border-color:var(--ergo-grey-light);border-width:0;pointer-events:none;transition:border-color .15s}.tcn-resize-handle[data-position=top-left]:after{top:0;left:0;border-top-width:4px;border-left-width:4px}.tcn-resize-handle[data-position=top-right]:after{top:0;right:0;border-top-width:4px;border-right-width:4px}.tcn-resize-handle[data-position=bottom-left]:after{bottom:0;left:0;border-bottom-width:4px;border-left-width:4px}.tcn-resize-handle[data-position=bottom-right]:after{bottom:0;right:0;border-bottom-width:4px;border-right-width:4px}.tcn-resize-handle[data-position=top-start]:dir(ltr):after{top:0;left:0;border-top-width:4px;border-left-width:4px}.tcn-resize-handle[data-position=top-start]:dir(rtl):after{top:0;right:0;border-top-width:4px;border-right-width:4px}.tcn-resize-handle[data-position=top-end]:dir(ltr):after{top:0;right:0;border-top-width:4px;border-right-width:4px}.tcn-resize-handle[data-position=top-end]:dir(rtl):after{top:0;left:0;border-top-width:4px;border-left-width:4px}.tcn-resize-handle[data-position=bottom-start]:dir(ltr):after{bottom:0;left:0;border-bottom-width:4px;border-left-width:4px}.tcn-resize-handle[data-position=bottom-start]:dir(rtl):after{bottom:0;right:0;border-bottom-width:4px;border-right-width:4px}.tcn-resize-handle[data-position=bottom-end]:dir(ltr):after{bottom:0;right:0;border-bottom-width:4px;border-right-width:4px}.tcn-resize-handle[data-position=bottom-end]:dir(rtl):after{bottom:0;left:0;border-bottom-width:4px;border-left-width:4px}.tcn-resize-handle[data-axis=horizontal]:hover:after,.tcn-resize-handle[data-axis=vertical]:hover:after{background-color:var(--ergo-grey-dark)}.tcn-resize-handle:hover:after{border-color:var(--ergo-grey-dark)}}
@@ -1 +1 @@
1
- {"version":3,"file":"ergo_theme.d.ts","sourceRoot":"","sources":["../../../../src/themes/themes/ergo/ergo_theme.ts"],"names":[],"mappings":"AAIA,OAAO,kBAAkB,CAAC;AAE1B,eAAO,MAAM,cAAc,eAAqD,CAAC"}
1
+ {"version":3,"file":"ergo_theme.d.ts","sourceRoot":"","sources":["../../../../src/themes/themes/ergo/ergo_theme.ts"],"names":[],"mappings":"AASA,OAAO,kBAAkB,CAAC;AAE1B,eAAO,MAAM,cAAc,eASzB,CAAC"}