@tcn/ui 0.9.0 → 0.10.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 (182) hide show
  1. package/dist/bar.css +1 -0
  2. package/dist/body.css +1 -1
  3. package/dist/body.module-BbFZ7KNP.js +5 -0
  4. package/dist/body.module-BbFZ7KNP.js.map +1 -0
  5. package/dist/divider.css +1 -1
  6. package/dist/footer.css +1 -1
  7. package/dist/layouts/bar/bar.d.ts +5 -0
  8. package/dist/layouts/bar/bar.d.ts.map +1 -0
  9. package/dist/layouts/bar/bar.js +20 -0
  10. package/dist/layouts/bar/bar.js.map +1 -0
  11. package/dist/layouts/body/body.d.ts +2 -2
  12. package/dist/layouts/body/body.d.ts.map +1 -1
  13. package/dist/layouts/body/body.js +12 -12
  14. package/dist/layouts/body/body.js.map +1 -1
  15. package/dist/layouts/body/h_body.d.ts.map +1 -1
  16. package/dist/layouts/body/h_body.js +18 -12
  17. package/dist/layouts/body/h_body.js.map +1 -1
  18. package/dist/layouts/body/v_body.d.ts.map +1 -1
  19. package/dist/layouts/body/v_body.js +16 -10
  20. package/dist/layouts/body/v_body.js.map +1 -1
  21. package/dist/layouts/footer/footer.d.ts +2 -3
  22. package/dist/layouts/footer/footer.d.ts.map +1 -1
  23. package/dist/layouts/footer/footer.js +7 -7
  24. package/dist/layouts/footer/footer.js.map +1 -1
  25. package/dist/layouts/header/header.d.ts +2 -2
  26. package/dist/layouts/header/header.d.ts.map +1 -1
  27. package/dist/layouts/header/header.js +13 -21
  28. package/dist/layouts/header/header.js.map +1 -1
  29. package/dist/layouts/index.d.ts +0 -1
  30. package/dist/layouts/index.d.ts.map +1 -1
  31. package/dist/layouts/index.js +17 -19
  32. package/dist/layouts/index.js.map +1 -1
  33. package/dist/layouts/rail/rail.js +41 -41
  34. package/dist/layouts/rail/rail.js.map +1 -1
  35. package/dist/layouts/rail/side/side.d.ts.map +1 -1
  36. package/dist/layouts/rail/side/side.js +1 -1
  37. package/dist/layouts/rail/side/side.js.map +1 -1
  38. package/dist/layouts/rail/utility_strip/utility_strip.d.ts.map +1 -1
  39. package/dist/layouts/rail/utility_strip/utility_strip.js +21 -17
  40. package/dist/layouts/rail/utility_strip/utility_strip.js.map +1 -1
  41. package/dist/layouts/scaffold/scaffold.js +32 -32
  42. package/dist/layouts/scaffold/scaffold.js.map +1 -1
  43. package/dist/layouts/utility_bar/utility_bar.d.ts +2 -2
  44. package/dist/layouts/utility_bar/utility_bar.d.ts.map +1 -1
  45. package/dist/layouts/utility_bar/utility_bar.js +17 -19
  46. package/dist/layouts/utility_bar/utility_bar.js.map +1 -1
  47. package/dist/overlay/frame/frame.js +3 -3
  48. package/dist/overlay/frame/frame.js.map +1 -1
  49. package/dist/panel.css +1 -0
  50. package/dist/rail.css +1 -1
  51. package/dist/scaffold.css +1 -1
  52. package/dist/side.css +1 -1
  53. package/dist/stacks/box/bottom_resize_handle.d.ts +2 -2
  54. package/dist/stacks/box/bottom_resize_handle.d.ts.map +1 -1
  55. package/dist/stacks/box/bottom_resize_handle.js +12 -10
  56. package/dist/stacks/box/bottom_resize_handle.js.map +1 -1
  57. package/dist/stacks/box/box.d.ts +4 -4
  58. package/dist/stacks/box/box.d.ts.map +1 -1
  59. package/dist/stacks/box/box.js +26 -26
  60. package/dist/stacks/box/box.js.map +1 -1
  61. package/dist/stacks/box/end_resize_handle.d.ts +2 -2
  62. package/dist/stacks/box/end_resize_handle.d.ts.map +1 -1
  63. package/dist/stacks/box/end_resize_handle.js +6 -5
  64. package/dist/stacks/box/end_resize_handle.js.map +1 -1
  65. package/dist/stacks/box/left_resize_handle.d.ts +2 -2
  66. package/dist/stacks/box/left_resize_handle.d.ts.map +1 -1
  67. package/dist/stacks/box/left_resize_handle.js +10 -9
  68. package/dist/stacks/box/left_resize_handle.js.map +1 -1
  69. package/dist/stacks/box/resize_handlers.d.ts +2 -2
  70. package/dist/stacks/box/resize_handlers.d.ts.map +1 -1
  71. package/dist/stacks/box/resize_handlers.js +24 -24
  72. package/dist/stacks/box/resize_handlers.js.map +1 -1
  73. package/dist/stacks/box/right_resize_handle.d.ts +2 -2
  74. package/dist/stacks/box/right_resize_handle.d.ts.map +1 -1
  75. package/dist/stacks/box/right_resize_handle.js +6 -5
  76. package/dist/stacks/box/right_resize_handle.js.map +1 -1
  77. package/dist/stacks/box/start_resize_handle.d.ts +2 -2
  78. package/dist/stacks/box/start_resize_handle.d.ts.map +1 -1
  79. package/dist/stacks/box/start_resize_handle.js +4 -4
  80. package/dist/stacks/box/start_resize_handle.js.map +1 -1
  81. package/dist/stacks/box/top_resize_handle.d.ts +2 -2
  82. package/dist/stacks/box/top_resize_handle.d.ts.map +1 -1
  83. package/dist/stacks/box/top_resize_handle.js +2 -1
  84. package/dist/stacks/box/top_resize_handle.js.map +1 -1
  85. package/dist/stacks/h_collapsible_box.d.ts.map +1 -1
  86. package/dist/stacks/h_collapsible_box.js +24 -24
  87. package/dist/stacks/h_collapsible_box.js.map +1 -1
  88. package/dist/stacks/v_collapsible_box.js +25 -25
  89. package/dist/stacks/v_collapsible_box.js.map +1 -1
  90. package/dist/surfaces/index.d.ts +1 -2
  91. package/dist/surfaces/index.d.ts.map +1 -1
  92. package/dist/surfaces/index.js +18 -20
  93. package/dist/surfaces/index.js.map +1 -1
  94. package/dist/surfaces/panel/panel.d.ts +5 -0
  95. package/dist/surfaces/panel/panel.d.ts.map +1 -0
  96. package/dist/surfaces/panel/panel.js +19 -0
  97. package/dist/surfaces/panel/panel.js.map +1 -0
  98. package/dist/surfaces/pop_confirm/pop_confirm.js +2 -3
  99. package/dist/surfaces/pop_confirm/pop_confirm.js.map +1 -1
  100. package/dist/themes/theme.d.ts +2 -1
  101. package/dist/themes/theme.d.ts.map +1 -1
  102. package/dist/themes/theme.js +16 -9
  103. package/dist/themes/theme.js.map +1 -1
  104. package/dist/themes/themes/ergo/ergo_theme.css +1 -1
  105. package/dist/themes/themes/ergo/ergo_theme.js +27 -0
  106. package/dist/themes/themes/ergo/ergo_theme.js.map +1 -1
  107. package/package.json +1 -1
  108. package/src/layouts/__stories__/composed.stories.tsx +0 -55
  109. package/src/layouts/__stories__/rail.stories.tsx +78 -0
  110. package/src/layouts/__stories__/scaffold.stories.tsx +90 -0
  111. package/src/layouts/__stories__/utils/content.tsx +27 -0
  112. package/src/layouts/__stories__/utils/layout_theme.css +88 -0
  113. package/src/layouts/__stories__/utils/layout_theme_provider.tsx +11 -0
  114. package/src/layouts/__stories__/utils.tsx +6 -6
  115. package/src/layouts/{utility_bar/utility_bar.module.css → bar/bar.module.css} +2 -1
  116. package/src/layouts/bar/bar.tsx +23 -0
  117. package/src/layouts/body/body.module.css +9 -4
  118. package/src/layouts/body/body.tsx +7 -6
  119. package/src/layouts/body/h_body.module.css +1 -2
  120. package/src/layouts/body/h_body.tsx +9 -4
  121. package/src/layouts/body/v_body.tsx +9 -4
  122. package/src/layouts/divider/divider.module.css +1 -1
  123. package/src/layouts/footer/footer.module.css +0 -3
  124. package/src/layouts/footer/footer.tsx +5 -6
  125. package/src/layouts/header/header.tsx +6 -15
  126. package/src/layouts/index.ts +0 -1
  127. package/src/layouts/rail/rail.module.css +9 -5
  128. package/src/layouts/rail/rail.tsx +1 -1
  129. package/src/layouts/rail/side/side.module.css +0 -1
  130. package/src/layouts/rail/side/side.tsx +1 -2
  131. package/src/layouts/rail/utility_strip/utility_strip.module.css +5 -0
  132. package/src/layouts/rail/utility_strip/utility_strip.tsx +4 -1
  133. package/src/layouts/scaffold/scaffold.module.css +10 -7
  134. package/src/layouts/scaffold/scaffold.tsx +1 -1
  135. package/src/layouts/utility_bar/utility_bar.tsx +6 -9
  136. package/src/overlay/frame/frame.tsx +2 -2
  137. package/src/stacks/box/bottom_resize_handle.tsx +7 -5
  138. package/src/stacks/box/box.tsx +12 -18
  139. package/src/stacks/box/end_resize_handle.tsx +6 -6
  140. package/src/stacks/box/left_resize_handle.tsx +4 -3
  141. package/src/stacks/box/resize_handlers.ts +11 -9
  142. package/src/stacks/box/right_resize_handle.tsx +4 -3
  143. package/src/stacks/box/start_resize_handle.tsx +3 -3
  144. package/src/stacks/box/top_resize_handle.tsx +4 -3
  145. package/src/stacks/collapsible_box.stories.tsx +11 -11
  146. package/src/stacks/h_collapsible_box.tsx +5 -5
  147. package/src/stacks/v_collapsible_box.tsx +4 -4
  148. package/src/surfaces/index.ts +1 -2
  149. package/src/surfaces/panel/__stories__/panel.stories.tsx +12 -12
  150. package/src/surfaces/panel/__stories__/panel_stories.module.css +3 -3
  151. package/src/surfaces/panel/panel.module.css +1 -6
  152. package/src/surfaces/panel/panel.tsx +22 -0
  153. package/src/themes/theme.tsx +6 -2
  154. package/src/themes/themes/ergo/__stories__/material.stories.tsx +15 -16
  155. package/src/themes/themes/ergo/ergo_theme.css +27 -0
  156. package/dist/h_body.css +0 -1
  157. package/dist/h_panel.css +0 -1
  158. package/dist/header.css +0 -1
  159. package/dist/layouts/rail/main/main.d.ts +0 -6
  160. package/dist/layouts/rail/main/main.d.ts.map +0 -1
  161. package/dist/layouts/rail/main/main.js +0 -21
  162. package/dist/layouts/rail/main/main.js.map +0 -1
  163. package/dist/main.css +0 -1
  164. package/dist/surfaces/panel/h_panel.d.ts +0 -9
  165. package/dist/surfaces/panel/h_panel.d.ts.map +0 -1
  166. package/dist/surfaces/panel/h_panel.js +0 -60
  167. package/dist/surfaces/panel/h_panel.js.map +0 -1
  168. package/dist/surfaces/panel/v_panel.d.ts +0 -5
  169. package/dist/surfaces/panel/v_panel.d.ts.map +0 -1
  170. package/dist/surfaces/panel/v_panel.js +0 -19
  171. package/dist/surfaces/panel/v_panel.js.map +0 -1
  172. package/dist/utility_bar.css +0 -1
  173. package/dist/v_body.css +0 -1
  174. package/src/layouts/header/header.module.css +0 -8
  175. package/src/layouts/rail/__stories__/rail.stories.tsx +0 -64
  176. package/src/layouts/rail/__stories__/rail_stories.module.css +0 -25
  177. package/src/layouts/rail/main/main.module.css +0 -7
  178. package/src/layouts/rail/main/main.tsx +0 -26
  179. package/src/layouts/scaffold/__stories__/scaffold.stories.tsx +0 -53
  180. package/src/layouts/scaffold/__stories__/scaffold_stories.module.css +0 -31
  181. package/src/surfaces/panel/h_panel.tsx +0 -65
  182. package/src/surfaces/panel/v_panel.tsx +0 -20
@@ -1,46 +1,46 @@
1
- import { jsx as f } from "react/jsx-runtime";
2
- import t, { useLayoutEffect as p } from "react";
1
+ import { jsx as u } from "react/jsx-runtime";
2
+ import i, { useLayoutEffect as d } from "react";
3
3
  import "../utils/click_away_listener.js";
4
4
  import "../utils/focus_redirect.js";
5
5
  import "../utils/scroll_away_listener.js";
6
- import { useForkRef as u } from "../utils/hooks/use_fork_ref.js";
6
+ import { useForkRef as R } from "../utils/hooks/use_fork_ref.js";
7
7
  import "../utils/hooks/use_resize_observer.js";
8
8
  import "../utils/dnd/context.js";
9
- import { clsx as d } from "clsx";
9
+ import { clsx as x } from "clsx";
10
10
  import "../draggable.module-BgelQsuJ.js";
11
- import { Box as R } from "./box/box.js";
12
- import { s as x } from "../collapsible_box.module-BiS98xXA.js";
13
- import { useIsCollapsed as b } from "./utils/use_is_collapsed.js";
14
- const w = t.forwardRef(function({ open: l = !1, defaultHeight: i = "400px", ...e }, a) {
15
- const s = t.useRef(null), c = u(a, s), [n, r] = t.useState(!1);
16
- p(() => {
17
- s.current?.style.setProperty("--collapsible-size", i);
18
- }, [i]);
19
- const m = b(l, s) && !l ? null : e.children;
20
- return /* @__PURE__ */ f(
21
- R,
11
+ import { Box as b } from "./box/box.js";
12
+ import { s as z } from "../collapsible_box.module-BiS98xXA.js";
13
+ import { useIsCollapsed as y } from "./utils/use_is_collapsed.js";
14
+ const L = i.forwardRef(function({ open: l = !1, defaultHeight: r = "400px", ...e }, c) {
15
+ const s = i.useRef(null), n = R(c, s), [m, a] = i.useState(!1);
16
+ d(() => {
17
+ s.current?.style.setProperty("--collapsible-size", r);
18
+ }, [r]);
19
+ const f = y(l, s) && !l ? null : e.children;
20
+ return /* @__PURE__ */ u(
21
+ b,
22
22
  {
23
- ref: c,
23
+ ref: n,
24
24
  ...e,
25
25
  "data-is-collapsed": !l,
26
26
  "data-collapse-orientation": "vertical",
27
- "data-is-resizing": n,
28
- onHeightResize: (o) => {
29
- r(!0), e.onHeightResize?.(o);
27
+ "data-is-resizing": m,
28
+ onHeightResize: (o, t, p) => {
29
+ a(!0), e.onHeightResize?.(o, t, p);
30
30
  },
31
- onHeightResizeEnd: (o) => {
32
- r(!1), s.current?.style.setProperty("--collapsible-size", `${o}px`), e.onHeightResizeEnd?.(o);
31
+ onHeightResizeEnd: (o, t) => {
32
+ a(!1), s.current?.style.setProperty("--collapsible-size", `${o}px`), e.onHeightResizeEnd?.(o, t);
33
33
  },
34
- className: d(
34
+ className: x(
35
35
  e.className,
36
- x["collapsible-box"],
36
+ z["collapsible-box"],
37
37
  "tcn-v-collapsible-box"
38
38
  ),
39
- children: m
39
+ children: f
40
40
  }
41
41
  );
42
42
  });
43
43
  export {
44
- w as VCollapsibleBox
44
+ L as VCollapsibleBox
45
45
  };
46
46
  //# 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={height => {\n setIsResizing(true);\n props.onHeightResize?.(height);\n }}\n onHeightResizeEnd={height => {\n setIsResizing(false);\n collapsibleRef.current?.style.setProperty('--collapsible-size', `${height}px`);\n props.onHeightResizeEnd?.(height);\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","height","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,CAAAO,MAAU;AACxB,QAAAN,EAAc,EAAI,GAClBN,EAAM,iBAAiBY,CAAM;AAAA,MAC/B;AAAA,MACA,mBAAmB,CAAAA,MAAU;AAC3B,QAAAN,EAAc,EAAK,GACnBJ,EAAe,SAAS,MAAM,YAAY,sBAAsB,GAAGU,CAAM,IAAI,GAC7EZ,EAAM,oBAAoBY,CAAM;AAAA,MAClC;AAAA,MACA,WAAWC;AAAA,QACTb,EAAM;AAAA,QACNc,EAAO,iBAAiB;AAAA,QACxB;AAAA,MAAA;AAAA,MAEF,UAAAN;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={(height, origin, delta) => {\n setIsResizing(true);\n props.onHeightResize?.(height, origin, delta);\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","height","origin","delta","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,CAACO,GAAQC,GAAQC,MAAU;AACzC,QAAAR,EAAc,EAAI,GAClBN,EAAM,iBAAiBY,GAAQC,GAAQC,CAAK;AAAA,MAC9C;AAAA,MACA,mBAAmB,CAACF,GAAQC,MAAW;AACrC,QAAAP,EAAc,EAAK,GACnBJ,EAAe,SAAS,MAAM,YAAY,sBAAsB,GAAGU,CAAM,IAAI,GAC7EZ,EAAM,oBAAoBY,GAAQC,CAAM;AAAA,MAC1C;AAAA,MACA,WAAWE;AAAA,QACTf,EAAM;AAAA,QACNgB,EAAO,iBAAiB;AAAA,QACxB;AAAA,MAAA;AAAA,MAEF,UAAAR;AAAA,IAAA;AAAA,EAAA;AAGN,CAAC;"}
@@ -3,8 +3,7 @@ export * from './card/card.js';
3
3
  export * from './confirm/confirm.js';
4
4
  export * from './page/h_page.js';
5
5
  export * from './page/v_page.js';
6
- export * from './panel/h_panel.js';
7
- export * from './panel/v_panel.js';
6
+ export * from './panel/panel.js';
8
7
  export * from './popover/popover.js';
9
8
  export * from './drawers/drawer_bottom/drawer_bottom.js';
10
9
  export * from './drawers/drawer_top/drawer_top.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/surfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0CAA0C,CAAC;AACzD,cAAc,oCAAoC,CAAC;AACnD,cAAc,wCAAwC,CAAC;AACvD,cAAc,oCAAoC,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/surfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0CAA0C,CAAC;AACzD,cAAc,oCAAoC,CAAC;AACnD,cAAc,wCAAwC,CAAC;AACvD,cAAc,oCAAoC,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,8BAA8B,CAAC"}
@@ -2,34 +2,32 @@ import { Alert as e } from "./alert/alert.js";
2
2
  import { Card as p } from "./card/card.js";
3
3
  import { Confirm as f } from "./confirm/confirm.js";
4
4
  import { HPage as a } from "./page/h_page.js";
5
- import { VPage as P } from "./page/v_page.js";
6
- import { HPanel as w } from "./panel/h_panel.js";
7
- import { VPanel as i } from "./panel/v_panel.js";
8
- import { Popover as C } from "./popover/popover.js";
9
- import { DrawerBottom as H } from "./drawers/drawer_bottom/drawer_bottom.js";
10
- import { DrawerTop as V } from "./drawers/drawer_top/drawer_top.js";
5
+ import { VPage as w } from "./page/v_page.js";
6
+ import { Panel as d } from "./panel/panel.js";
7
+ import { Popover as l } from "./popover/popover.js";
8
+ import { DrawerBottom as C } from "./drawers/drawer_bottom/drawer_bottom.js";
9
+ import { DrawerTop as T } from "./drawers/drawer_top/drawer_top.js";
11
10
  import { DrawerStart as A } from "./drawers/drawer_start/drawer_start.js";
12
11
  import { DrawerEnd as E } from "./drawers/drawer_end/drawer_end.js";
13
- import { Window as S } from "./window/window.js";
14
- import { Modal as b } from "./modal/modal.js";
15
- import { Tooltip as h } from "./tooltip/tooltip.js";
16
- import { PopConfirm as k } from "./pop_confirm/pop_confirm.js";
12
+ import { Window as M } from "./window/window.js";
13
+ import { Modal as V } from "./modal/modal.js";
14
+ import { Tooltip as b } from "./tooltip/tooltip.js";
15
+ import { PopConfirm as h } from "./pop_confirm/pop_confirm.js";
17
16
  export {
18
17
  e as Alert,
19
18
  p as Card,
20
19
  f as Confirm,
21
- H as DrawerBottom,
20
+ C as DrawerBottom,
22
21
  E as DrawerEnd,
23
22
  A as DrawerStart,
24
- V as DrawerTop,
23
+ T as DrawerTop,
25
24
  a as HPage,
26
- w as HPanel,
27
- b as Modal,
28
- k as PopConfirm,
29
- C as Popover,
30
- h as Tooltip,
31
- P as VPage,
32
- i as VPanel,
33
- S as Window
25
+ V as Modal,
26
+ d as Panel,
27
+ h as PopConfirm,
28
+ l as Popover,
29
+ b as Tooltip,
30
+ w as VPage,
31
+ M as Window
34
32
  };
35
33
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;"}
@@ -0,0 +1,5 @@
1
+ import { default as React } from 'react';
2
+ import { ScaffoldProps } from '../../layouts/scaffold/scaffold.js';
3
+ export type PanelProps = ScaffoldProps;
4
+ export declare const Panel: React.ForwardRefExoticComponent<ScaffoldProps & React.RefAttributes<HTMLElement>>;
5
+ //# sourceMappingURL=panel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"panel.d.ts","sourceRoot":"","sources":["../../../src/surfaces/panel/panel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAKlF,MAAM,MAAM,UAAU,GAAG,aAAa,CAAC;AAEvC,eAAO,MAAM,KAAK,mFAahB,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { jsx as r } from "react/jsx-runtime";
2
+ import a from "react";
3
+ import { Scaffold as c } from "../../layouts/scaffold/scaffold.js";
4
+ import f from "clsx";
5
+ import '../../panel.css';const l = "_panel_c1dbe05", s = { panel: l }, _ = a.forwardRef(function({ children: e, className: o, ...t }, n) {
6
+ return /* @__PURE__ */ r(
7
+ c,
8
+ {
9
+ ref: n,
10
+ className: f(s.panel, "tcn-surface", "tcn-panel", o),
11
+ ...t,
12
+ children: e
13
+ }
14
+ );
15
+ });
16
+ export {
17
+ _ as Panel
18
+ };
19
+ //# sourceMappingURL=panel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"panel.js","sources":["../../../src/surfaces/panel/panel.tsx"],"sourcesContent":["import React from 'react';\nimport { Scaffold, type ScaffoldProps } from '../../layouts/scaffold/scaffold.js';\nimport clsx from 'clsx';\n\nimport styles from './panel.module.css';\n\nexport type PanelProps = ScaffoldProps;\n\nexport const Panel = React.forwardRef<HTMLElement, PanelProps>(function Panel(\n { children, className, ...props }: PanelProps,\n ref\n) {\n return (\n <Scaffold\n ref={ref}\n className={clsx(styles['panel'], 'tcn-surface', 'tcn-panel', className)}\n {...props}\n >\n {children}\n </Scaffold>\n );\n});\n"],"names":["Panel","React","children","className","props","ref","jsx","Scaffold","clsx","styles"],"mappings":";;;;8CAQaA,IAAQC,EAAM,WAAoC,SAC7D,EAAE,UAAAC,GAAU,WAAAC,GAAW,GAAGC,EAAA,GAC1BC,GACA;AACA,SACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,KAAAF;AAAA,MACA,WAAWG,EAAKC,EAAO,OAAU,eAAe,aAAaN,CAAS;AAAA,MACrE,GAAGC;AAAA,MAEH,UAAAF;AAAA,IAAA;AAAA,EAAA;AAGP,CAAC;"}
@@ -27,12 +27,11 @@ import "../../stacks/v_collapsible_box.js";
27
27
  import "../../stacks/v_stack.js";
28
28
  import "../../stacks/z_stack.js";
29
29
  import "../../layouts/rail/rail.js";
30
- import "../../layouts/rail/main/main.js";
31
30
  import "../../layouts/rail/side/side.js";
32
31
  import "../../layouts/rail/utility_strip/utility_strip.js";
33
32
  import { PopperDismissal as c } from "../../overlay/popper/base/dismissal_decorator.js";
34
33
  import { ElementPopper as s } from "../../overlay/popper/element_popper.js";
35
- const O = e.forwardRef(
34
+ const M = e.forwardRef(
36
35
  function({ children: r, className: i, dismissals: m = [c.CLICK_AWAY], ...p }, t) {
37
36
  return /* @__PURE__ */ o(
38
37
  s,
@@ -48,6 +47,6 @@ const O = e.forwardRef(
48
47
  }
49
48
  );
50
49
  export {
51
- O as PopConfirm
50
+ M as PopConfirm
52
51
  };
53
52
  //# 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 { children, className, dismissals = [PopperDismissal.CLICK_AWAY], ...props },\n ref\n ) {\n return (\n <ElementPopper\n ref={ref}\n precision=\"high\"\n className={clsx(className, 'tcn-pop-confirm')}\n dismissals={dismissals}\n {...props}\n >\n <Scaffold width={'100%'} height={'100%'}>\n {children}\n </Scaffold>\n </ElementPopper>\n );\n }\n);\n"],"names":["PopConfirm","React","children","className","dismissals","PopperDismissal","props","ref","jsx","ElementPopper","clsx","Scaffold"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWO,MAAMA,IAAaC,EAAM;AAAA,EAC9B,SACE,EAAE,UAAAC,GAAU,WAAAC,GAAW,YAAAC,IAAa,CAACC,EAAgB,UAAU,GAAG,GAAGC,EAAA,GACrEC,GACA;AACA,WACE,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,KAAAF;AAAA,QACA,WAAU;AAAA,QACV,WAAWG,EAAKP,GAAW,iBAAiB;AAAA,QAC5C,YAAAC;AAAA,QACC,GAAGE;AAAA,QAEJ,4BAACK,GAAA,EAAS,OAAO,QAAQ,QAAQ,QAC9B,UAAAT,EAAA,CACH;AAAA,MAAA;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 { children, className, dismissals = [PopperDismissal.CLICK_AWAY], ...props },\n ref\n ) {\n return (\n <ElementPopper\n ref={ref}\n precision=\"high\"\n className={clsx(className, 'tcn-pop-confirm')}\n dismissals={dismissals}\n {...props}\n >\n <Scaffold width={'100%'} height={'100%'}>\n {children}\n </Scaffold>\n </ElementPopper>\n );\n }\n);\n"],"names":["PopConfirm","React","children","className","dismissals","PopperDismissal","props","ref","jsx","ElementPopper","clsx","Scaffold"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWO,MAAMA,IAAaC,EAAM;AAAA,EAC9B,SACE,EAAE,UAAAC,GAAU,WAAAC,GAAW,YAAAC,IAAa,CAACC,EAAgB,UAAU,GAAG,GAAGC,EAAA,GACrEC,GACA;AACA,WACE,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,KAAAF;AAAA,QACA,WAAU;AAAA,QACV,WAAWG,EAAKP,GAAW,iBAAiB;AAAA,QAC5C,YAAAC;AAAA,QACC,GAAGE;AAAA,QAEJ,4BAACK,GAAA,EAAS,OAAO,QAAQ,QAAQ,QAC9B,UAAAT,EAAA,CACH;AAAA,MAAA;AAAA,IAAA;AAAA,EAGN;AACF;"}
@@ -3,6 +3,7 @@ import { BoxProps } from '../stacks/index.js';
3
3
  export interface ThemeProps extends BoxProps {
4
4
  styleSheets: CSSStyleSheet[];
5
5
  children: React.ReactNode;
6
+ className?: string;
6
7
  }
7
- export declare function Theme({ styleSheets, children, ...boxProps }: ThemeProps): import("react/jsx-runtime").JSX.Element;
8
+ export declare function Theme({ styleSheets, children, className, ...boxProps }: ThemeProps): import("react/jsx-runtime").JSX.Element;
8
9
  //# sourceMappingURL=theme.d.ts.map
@@ -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;CAC3B;AAED,wBAAgB,KAAK,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAAE,EAAE,UAAU,2CAyBvE"}
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,29 +1,36 @@
1
- import { jsx as c } from "react/jsx-runtime";
1
+ import { jsx as n } from "react/jsx-runtime";
2
2
  import { useLayoutEffect as r } from "react";
3
- import { Box as n } from "../stacks/box/box.js";
3
+ import { Box as i } 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 i } from "clsx";
10
+ import { clsx as s } from "clsx";
11
11
  import './stylesheets/reset.css';/* empty css */
12
- import { s } from "../theme_provider.module-ChZQ5Xsk.js";
13
- const p = `@layer tcn-reset, tcn-system, tcn-theme;
12
+ import { s as p } from "../theme_provider.module-ChZQ5Xsk.js";
13
+ const d = `@layer tcn-reset, tcn-system, tcn-theme;
14
14
  `;
15
- function I({ styleSheets: e, children: o, ...m }) {
15
+ function j({ styleSheets: e, children: o, className: m, ...c }) {
16
16
  return r(() => {
17
17
  document.adoptedStyleSheets = e;
18
18
  }, [e]), r(() => {
19
19
  if (document.getElementById("critical-css")) return;
20
20
  const t = document.createElement("style");
21
- return t.id = "critical-css", t.textContent = p, document.head.prepend(t), () => {
21
+ return t.id = "critical-css", t.textContent = d, document.head.prepend(t), () => {
22
22
  document.getElementById("critical-css")?.remove();
23
23
  };
24
- }, []), /* @__PURE__ */ c(n, { className: i("tcn-theme-root", s["tcn-theme-provider"]), ...m, children: o });
24
+ }, []), /* @__PURE__ */ n(
25
+ i,
26
+ {
27
+ className: s("tcn-theme-root", p["tcn-theme-provider"], m),
28
+ ...c,
29
+ children: o
30
+ }
31
+ );
25
32
  }
26
33
  export {
27
- I as Theme
34
+ j as Theme
28
35
  };
29
36
  //# 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}\n\nexport function Theme({ styleSheets, children, ...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 className={clsx('tcn-theme-root', styles['tcn-theme-provider'])} {...boxProps}>\n {children}\n </Box>\n );\n}\n"],"names":["layers","Theme","styleSheets","children","boxProps","useLayoutEffect","style","jsx","Box","clsx","styles"],"mappings":";;;;;;;;;;;;AAAA,MAAAA,IAAe;AAAA;ACcR,SAASC,EAAM,EAAE,aAAAC,GAAa,UAAAC,GAAU,GAAGC,KAAwB;AACxE,SAAAC,EAAgB,MAAM;AACpB,aAAS,qBAAqBH;AAAA,EAChC,GAAG,CAACA,CAAW,CAAC,GAGhBG,EAAgB,MAAM;AACpB,QAAI,SAAS,eAAe,cAAc,EAAG;AAE7C,UAAMC,IAAQ,SAAS,cAAc,OAAO;AAC5C,WAAAA,EAAM,KAAK,gBACXA,EAAM,cAAcN,GAEpB,SAAS,KAAK,QAAQM,CAAK,GAEpB,MAAM;AACX,eAAS,eAAe,cAAc,GAAG,OAAA;AAAA,IAC3C;AAAA,EACF,GAAG,CAAA,CAAE,GAGH,gBAAAC,EAACC,GAAA,EAAI,WAAWC,EAAK,kBAAkBC,EAAO,oBAAoB,CAAC,GAAI,GAAGN,GACvE,UAAAD,EAAA,CACH;AAEJ;"}
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 +1 @@
1
- @layer tcn-theme{:root{--ergo-primary: #ce6b2b;--ergo-secondary: #669eb4;--ergo-secondary-light: #ecf4fb;--ergo-secondary-dark: #497485;--ergo-tertiary: #dfd7cd;--ergo-tertiary-light: #f9f4ed;--ergo-tertiary-dark: #7e6c5d;--ergo-white: #ffffff;--ergo-accent-blue: #395578;--ergo-accent-blue-light: #f3f4f6;--ergo-accent-green: #97bba3;--ergo-accent-green-light: #eef8ef;--ergo-accent-green-dark: #4f785c;--ergo-accent-yellow: #dbc97e;--ergo-accent-yellow-light: #fef9e7;--ergo-grey: #aaaaaa;--ergo-grey-light: #d3d3d3;--ergo-grey-dark: #808080;--ergo-status-red: #ff6565;--ergo-status-red-dark: #c24848;--ergo-status-yellow: #ffd439;--ergo-status-yellow-dark: #dbb735;--ergo-status-blue: var(--ergo-secondary);--ergo-status-blue-dark: var(--ergo-secondary-dark);--ergo-status-green: #3fbc6a;--ergo-status-green-dark: #2d904f;--ergo-ink-primary: var(--ergo-accent-blue);--ergo-ink-inverse: var(--ergo-white);--scalar: 1;--accent-color: var(--ergo-primary);--font-color: var(--ergo-ink-primary);--font-family: "Lato", sans-serif;--font-size: 12px;--gap-small: 4px;--gap-medium: 8px;--gap-large: 16px;--padding-small: 4px;--padding-medium: 8px;--padding-large: 16px;--bar-xs: 16px;--bar-sm: 24px;--bar-md: 32px;--bar-lg: 40px;--bar-xl: 48px;--status-color-disabled: var(--ergo-grey-light);--status-color-info: var(--ergo-status-blue);--status-color-warning: var(--ergo-status-yellow);--status-color-positive: var(--ergo-status-green);--status-color-error: var(--ergo-status-red);--async-color-initial: var(--ergo-grey);--async-color-pending: var(--ergo-status-blue);--async-color-success: var(--ergo-status-green);--async-color-failed: var(--ergo-status-red);--action-severity-dangerous: var(--ergo-status-red);--action-severity-cautious: var(--ergo-status-yellow);--action-severity-neutral: var(--ergo-primary);--action-severity-suggested: var(--ergo-status-blue);--action-severity-encouraged: var(--ergo-status-green);--shape-radius-small: 2px;--shape-radius-medium: 4px;--shape-radius-large: 8px;--primary-color-faint: #c0c0c0;--primary-color: #008cff;--primary-color-strong: #008cff;--secondary-color-faint: #c0c0c0;--secondary-color: #008cff;--secondary-color-strong: #008cff;--tertiary-color-faint: #c0c0c0;--tertiary-color: #008cff;--tertiary-color-strong: #008cff;--quaternary-color-faint: #c0c0c0;--quaternary-color: #008cff;--quaternary-color-strong: #008cff;--background-color-primary: #ffffff;--background-color-secondary: #ffffff;--background-color-tertiary: #ffffff;--background-color-quaternary: #ffffff;--foreground-color-primary: #aaa;--foreground-color-secondary: #222222;--foreground-color-tertiary: #222222;--foreground-color-quaternary: #222222;--material-disabled: var(--ergo-grey-light);--on-material-disabled: var(--ergo-ink-inverse);--ink-disabled: var(--ergo-grey-light);--material-line: var(--ergo-grey);--action: var(--ergo-primary);--on-action: var(--ergo-white);--material: var(--ergo-white);--on-material: var(--ergo-accent-blue)}.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(--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]):before,:is(.tcn-button:hover,.tcn-button[data-hover]):after{content:"";position:absolute;left:0;right:0;height:4px}:is(.tcn-button:hover,.tcn-button[data-hover]):before{top:-2px}:is(.tcn-button:hover,.tcn-button[data-hover]):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-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-top-left-radius:var(--shape-radius-medium);border-bottom-left-radius:var(--shape-radius-medium)}.tcn-button-group .tcn-button-group-button:last-child{border-top-right-radius:var(--shape-radius-medium);border-bottom-right-radius:var(--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(--material-disabled);border:1px solid var(--material-disabled)}.tcn-select-group .tcn-select-group-option[data-hierarchy=primary][data-is-disabled=true]{background:var(--material-disabled);color:#fff;border:1px solid var(--material-disabled)}.tcn-select-group .tcn-select-group-option{border-radius:0}.tcn-select-group .tcn-select-group-option:first-child{border-top-left-radius:var(--shape-radius-medium);border-bottom-left-radius:var(--shape-radius-medium)}.tcn-select-group .tcn-select-group-option:last-child{border-top-right-radius:var(--shape-radius-medium);border-bottom-right-radius:var(--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(--material-line);pointer-events:none;z-index:1}.tcn-tabs-bar[data-variant=inline]{min-width:min-content;width:auto;flex-grow:0;border-radius:var(--shape-radius-medium);border:1px solid var(--on-material)}.tcn-tabs-bar[data-variant=inline] .tcn-tabs-list{gap:var(--gap-small);padding:var(--padding-small)}.tcn-tabs-bar[data-variant=inline] .tcn-tabs-list .tcn-tab-item{border-radius:var(--shape-radius-medium)}.material{background-color:var(--material);color:var(--on-material)}.tcn-draggable[data-is-draggable=true] .tcn-drag-handle{cursor:move}.tcn-frame[data-is-veil=true]{background-color:#00000080}.tcn-tooltip{background:#395578d9;box-shadow:0 4px 7px #414141a8;color:#fff;border-radius:var(--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(--shape-radius-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(--bar-md)}.tcn-footer,.tcn-header{min-height:var(--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-body),.tcn-scaffold :where(.tcn-utility-bar)+:where(.tcn-body){border-top:calc(var(--scaffold-divide-header) * 1px) solid var(--foreground-color-primary)}.tcn-scaffold :where(.tcn-body)+:where(.tcn-footer){border-top:calc(var(--scaffold-divide-footer) * 1px) solid var(--foreground-color-primary)}.tcn-scaffold :where(.tcn-body){gap:var(--gap-medium)}.tcn-frame-veil[data-is-veil=true]{background-color:#00000080}.tcn-modal{--divide-header: 0}.tcn-modal :where(.tcn-scaffold){border-radius:var(--shape-radius-medium);background-color:var(--background-color-primary);overflow:hidden;border:1px solid var(--foreground-color-primary)}.tcn-modal :where(.tcn-header){--material: var(--ergo-secondary-dark);--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-window{--divide-header: 0}.tcn-window :where(.tcn-scaffold){box-shadow:0 4px 34px #00000096;border-radius:var(--shape-radius-medium);background-color:var(--background-color-primary);overflow:hidden;border:2px solid white}.tcn-window :where(.tcn-header){--material: var(--ergo-secondary-dark);--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}.tcn-pop-confirm :where(.tcn-scaffold){--pad-inline: var(--padding-medium);box-shadow:0 4px 8px #0006;border-radius:var(--shape-radius-medium);background-color:var(--background-color-primary);overflow:hidden}.tcn-pop-confirm :where(.tcn-header){min-height:var(--bar-md);--material: var(--ergo-secondary-dark);--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{background-color:var(--background-color-primary)}.tcn-panel{background-color:var(--background-color-primary);border-radius:var(--shape-radius-medium);overflow:hidden}.tcn-card{--divide-header: 0;background-color:var(--background-color-primary);border-radius:var(--shape-radius-medium);border:1px solid var(--foreground-color-primary);overflow:hidden}.tcn-card :where(.tcn-header){min-height:var(--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(--bar-sm)}.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-action: var(--ergo-secondary);--section-mat: var(--ergo-secondary-light);--section-on-mat: var(--ergo-ink-primary)}.tcn-heading{background-color:#f1f1f1;padding-inline-start:8px;height:30px;z-index:5}.tcn-section>.tcn-heading{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-section>:not(.tcn-heading,.tcn-section){padding-inline-start:var(--section-tab)}.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: 12px;--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:0;height:0;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-ink-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(--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(--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-secondary);--on-action: var(--ergo-white);background-color:var(--material);color:var(--on-material)}.tcn-tr{height:var(--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)}}
1
+ @layer tcn-theme{:root{--ergo-primary: #ce6b2b;--ergo-secondary: #669eb4;--ergo-secondary-light: #ecf4fb;--ergo-secondary-dark: #497485;--ergo-tertiary: #dfd7cd;--ergo-tertiary-light: #f9f4ed;--ergo-tertiary-dark: #7e6c5d;--ergo-white: #ffffff;--ergo-accent-blue: #395578;--ergo-accent-blue-light: #f3f4f6;--ergo-accent-green: #97bba3;--ergo-accent-green-light: #eef8ef;--ergo-accent-green-dark: #4f785c;--ergo-accent-yellow: #dbc97e;--ergo-accent-yellow-light: #fef9e7;--ergo-grey: #aaaaaa;--ergo-grey-light: #d3d3d3;--ergo-grey-dark: #808080;--ergo-status-red: #ff6565;--ergo-status-red-dark: #c24848;--ergo-status-yellow: #ffd439;--ergo-status-yellow-dark: #dbb735;--ergo-status-blue: var(--ergo-secondary);--ergo-status-blue-dark: var(--ergo-secondary-dark);--ergo-status-green: #3fbc6a;--ergo-status-green-dark: #2d904f;--ergo-ink-primary: var(--ergo-accent-blue);--ergo-ink-inverse: var(--ergo-white);--scalar: 1;--accent-color: var(--ergo-primary);--font-color: var(--ergo-ink-primary);--font-family: "Lato", sans-serif;--font-size: 12px;--gap-small: 4px;--gap-medium: 8px;--gap-large: 16px;--padding-small: 4px;--padding-medium: 8px;--padding-large: 16px;--bar-xs: 16px;--bar-sm: 24px;--bar-md: 32px;--bar-lg: 40px;--bar-xl: 48px;--status-color-disabled: var(--ergo-grey-light);--status-color-info: var(--ergo-status-blue);--status-color-warning: var(--ergo-status-yellow);--status-color-positive: var(--ergo-status-green);--status-color-error: var(--ergo-status-red);--async-color-initial: var(--ergo-grey);--async-color-pending: var(--ergo-status-blue);--async-color-success: var(--ergo-status-green);--async-color-failed: var(--ergo-status-red);--action-severity-dangerous: var(--ergo-status-red);--action-severity-cautious: var(--ergo-status-yellow);--action-severity-neutral: var(--ergo-primary);--action-severity-suggested: var(--ergo-status-blue);--action-severity-encouraged: var(--ergo-status-green);--shape-radius-small: 2px;--shape-radius-medium: 4px;--shape-radius-large: 8px;--primary-color-faint: #c0c0c0;--primary-color: #008cff;--primary-color-strong: #008cff;--secondary-color-faint: #c0c0c0;--secondary-color: #008cff;--secondary-color-strong: #008cff;--tertiary-color-faint: #c0c0c0;--tertiary-color: #008cff;--tertiary-color-strong: #008cff;--quaternary-color-faint: #c0c0c0;--quaternary-color: #008cff;--quaternary-color-strong: #008cff;--background-color-primary: #ffffff;--background-color-secondary: #ffffff;--background-color-tertiary: #ffffff;--background-color-quaternary: #ffffff;--foreground-color-primary: #aaa;--foreground-color-secondary: #222222;--foreground-color-tertiary: #222222;--foreground-color-quaternary: #222222;--material-disabled: var(--ergo-grey-light);--on-material-disabled: var(--ergo-ink-inverse);--ink-disabled: var(--ergo-grey-light);--material-line: var(--ergo-grey);--action: var(--ergo-primary);--on-action: var(--ergo-white);--material: var(--ergo-white);--on-material: var(--ergo-accent-blue)}.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(--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]):before,:is(.tcn-button:hover,.tcn-button[data-hover]):after{content:"";position:absolute;left:0;right:0;height:4px}:is(.tcn-button:hover,.tcn-button[data-hover]):before{top:-2px}:is(.tcn-button:hover,.tcn-button[data-hover]):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-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-top-left-radius:var(--shape-radius-medium);border-bottom-left-radius:var(--shape-radius-medium)}.tcn-button-group .tcn-button-group-button:last-child{border-top-right-radius:var(--shape-radius-medium);border-bottom-right-radius:var(--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(--material-disabled);border:1px solid var(--material-disabled)}.tcn-select-group .tcn-select-group-option[data-hierarchy=primary][data-is-disabled=true]{background:var(--material-disabled);color:#fff;border:1px solid var(--material-disabled)}.tcn-select-group .tcn-select-group-option{border-radius:0}.tcn-select-group .tcn-select-group-option:first-child{border-top-left-radius:var(--shape-radius-medium);border-bottom-left-radius:var(--shape-radius-medium)}.tcn-select-group .tcn-select-group-option:last-child{border-top-right-radius:var(--shape-radius-medium);border-bottom-right-radius:var(--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(--material-line);pointer-events:none;z-index:1}.tcn-tabs-bar[data-variant=inline]{min-width:min-content;width:auto;flex-grow:0;border-radius:var(--shape-radius-medium);border:1px solid var(--on-material)}.tcn-tabs-bar[data-variant=inline] .tcn-tabs-list{gap:var(--gap-small);padding:var(--padding-small)}.tcn-tabs-bar[data-variant=inline] .tcn-tabs-list .tcn-tab-item{border-radius:var(--shape-radius-medium)}.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[data-is-veil=true]{background-color:#00000080}.tcn-tooltip{background:#395578d9;box-shadow:0 4px 7px #414141a8;color:#fff;border-radius:var(--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(--shape-radius-medium)}.tcn-utility-strip{min-width:var(--bar-md)}.tcn-utility-strip,.tcn-side{padding-block:var(--padding-medium);gap:var(--gap-medium)}.tcn-rail :where(.tcn-body){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(--bar-md)}.tcn-footer,.tcn-header{min-height:var(--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-body),.tcn-scaffold :where(.tcn-utility-bar)+:where(.tcn-body){border-top:calc(var(--scaffold-divide-header) * 1px) solid var(--foreground-color-primary)}.tcn-scaffold :where(.tcn-body)+:where(.tcn-footer){border-top:calc(var(--scaffold-divide-footer) * 1px) solid var(--foreground-color-primary)}.tcn-scaffold :where(.tcn-body){gap:var(--gap-medium)}.tcn-frame-veil[data-is-veil=true]{background-color:#00000080}.tcn-modal{--divide-header: 0}.tcn-modal :where(.tcn-scaffold){border-radius:var(--shape-radius-medium);background-color:var(--background-color-primary);overflow:hidden;border:1px solid var(--foreground-color-primary)}.tcn-modal :where(.tcn-header){--material: var(--ergo-secondary-dark);--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-window{--divide-header: 0}.tcn-window :where(.tcn-scaffold){box-shadow:0 4px 34px #00000096;border-radius:var(--shape-radius-medium);background-color:var(--background-color-primary);overflow:hidden;border:2px solid white}.tcn-window :where(.tcn-header){--material: var(--ergo-secondary-dark);--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}.tcn-pop-confirm :where(.tcn-scaffold){--pad-inline: var(--padding-medium);box-shadow:0 4px 8px #0006;border-radius:var(--shape-radius-medium);background-color:var(--background-color-primary);overflow:hidden}.tcn-pop-confirm :where(.tcn-header){min-height:var(--bar-md);--material: var(--ergo-secondary-dark);--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{background-color:var(--background-color-primary)}.tcn-panel{background-color:var(--background-color-primary);border-radius:var(--shape-radius-medium);overflow:hidden}.tcn-card{--divide-header: 0;background-color:var(--background-color-primary);border-radius:var(--shape-radius-medium);border:1px solid var(--foreground-color-primary);overflow:hidden}.tcn-card :where(.tcn-header){min-height:var(--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(--bar-sm)}.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-action: var(--ergo-secondary);--section-mat: var(--ergo-secondary-light);--section-on-mat: var(--ergo-ink-primary)}.tcn-heading{background-color:#f1f1f1;padding-inline-start:8px;height:30px;z-index:5}.tcn-section>.tcn-heading{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-section>:not(.tcn-heading,.tcn-section){padding-inline-start:var(--section-tab)}.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: 12px;--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:0;height:0;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-ink-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(--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(--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-secondary);--on-action: var(--ergo-white);background-color:var(--material);color:var(--on-material)}.tcn-tr{height:var(--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)}}
@@ -580,6 +580,18 @@ const n = `@layer tcn-theme {
580
580
  color: var(--on-material);
581
581
  }
582
582
 
583
+ /* Divider: use material-line; emphasis variants for strong/faint */
584
+ .tcn-divider-line,
585
+ .tcn-divider-line[data-emphasis="normal"] {
586
+ background: var(--material-line);
587
+ }
588
+ .tcn-divider-line[data-emphasis="strong"] {
589
+ background: color-mix(in srgb, var(--material-line) 80%, black 20%);
590
+ }
591
+ .tcn-divider-line[data-emphasis="faint"] {
592
+ background: color-mix(in srgb, var(--material-line) 80%, white 20%);
593
+ }
594
+
583
595
  /* ===== SURFACES ===== */
584
596
  .tcn-draggable[data-is-draggable="true"] {
585
597
  .tcn-drag-handle {
@@ -607,7 +619,22 @@ const n = `@layer tcn-theme {
607
619
  border-radius: var(--shape-radius-medium);
608
620
  }
609
621
  }
622
+ /* Rail: */
623
+ .tcn-utility-strip {
624
+ min-width: var(--bar-md);
625
+ }
626
+
627
+ .tcn-utility-strip,
628
+ .tcn-side {
629
+ padding-block: var(--padding-medium);
630
+ gap: var(--gap-medium);
631
+ }
610
632
 
633
+ .tcn-rail {
634
+ :where(.tcn-body) {
635
+ gap: var(--gap-medium);
636
+ }
637
+ }
611
638
  /* Scaffold: */
612
639
  .tcn-footer,
613
640
  .tcn-header,