@tcn/ui 0.3.2 → 0.3.3

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 (90) hide show
  1. package/dist/date_picker_time_selector.css +1 -1
  2. package/dist/form/field/common/field_error.js +16 -9
  3. package/dist/form/field/common/field_error.js.map +1 -1
  4. package/dist/input.css +1 -1
  5. package/dist/navigation/index.d.ts +7 -0
  6. package/dist/navigation/index.d.ts.map +1 -0
  7. package/dist/navigation/index.js +17 -0
  8. package/dist/navigation/index.js.map +1 -0
  9. package/dist/navigation/tabs/primitives/tabs_bar.d.ts +7 -0
  10. package/dist/navigation/tabs/primitives/tabs_bar.d.ts.map +1 -0
  11. package/dist/navigation/tabs/primitives/tabs_bar.js +21 -0
  12. package/dist/navigation/tabs/primitives/tabs_bar.js.map +1 -0
  13. package/dist/navigation/tabs/primitives/tabs_list.d.ts +10 -0
  14. package/dist/navigation/tabs/primitives/tabs_list.d.ts.map +1 -0
  15. package/dist/navigation/tabs/primitives/tabs_list.js +36 -0
  16. package/dist/navigation/tabs/primitives/tabs_list.js.map +1 -0
  17. package/dist/navigation/tabs/state/context.d.ts +21 -0
  18. package/dist/navigation/tabs/state/context.d.ts.map +1 -0
  19. package/dist/navigation/tabs/state/context.js +34 -0
  20. package/dist/navigation/tabs/state/context.js.map +1 -0
  21. package/dist/navigation/tabs/state/link/tab_link.d.ts +9 -0
  22. package/dist/navigation/tabs/state/link/tab_link.d.ts.map +1 -0
  23. package/dist/navigation/tabs/state/link/tab_link.js +36 -0
  24. package/dist/navigation/tabs/state/link/tab_link.js.map +1 -0
  25. package/dist/navigation/tabs/state/link/use_tab_link.d.ts +5 -0
  26. package/dist/navigation/tabs/state/link/use_tab_link.d.ts.map +1 -0
  27. package/dist/navigation/tabs/state/link/use_tab_link.js +13 -0
  28. package/dist/navigation/tabs/state/link/use_tab_link.js.map +1 -0
  29. package/dist/navigation/tabs/state/nav_bar.d.ts +5 -0
  30. package/dist/navigation/tabs/state/nav_bar.d.ts.map +1 -0
  31. package/dist/navigation/tabs/state/nav_bar.js +36 -0
  32. package/dist/navigation/tabs/state/nav_bar.js.map +1 -0
  33. package/dist/navigation/tabs/state/tab.d.ts +6 -0
  34. package/dist/navigation/tabs/state/tab.d.ts.map +1 -0
  35. package/dist/navigation/tabs/state/tab.js +6 -0
  36. package/dist/navigation/tabs/state/tab.js.map +1 -0
  37. package/dist/overlay/portal/portal_platform.d.ts.map +1 -1
  38. package/dist/overlay/portal/portal_platform.js +3 -3
  39. package/dist/overlay/portal/portal_platform.js.map +1 -1
  40. package/dist/tabs_bar.css +1 -0
  41. package/dist/textarea.css +1 -1
  42. package/dist/theme_provider.css +1 -0
  43. package/dist/theme_provider.module-ChZQ5Xsk.js +5 -0
  44. package/dist/theme_provider.module-ChZQ5Xsk.js.map +1 -0
  45. package/dist/themes/stylesheets/reset.css +1 -1
  46. package/dist/themes/stylesheets/reset.js +1 -0
  47. package/dist/themes/stylesheets/reset.js.map +1 -1
  48. package/dist/themes/theme.d.ts +3 -2
  49. package/dist/themes/theme.d.ts.map +1 -1
  50. package/dist/themes/theme.js +20 -10
  51. package/dist/themes/theme.js.map +1 -1
  52. package/dist/themes/themes/ergo/ergo_theme.css +1 -1
  53. package/dist/themes/themes/ergo/ergo_theme.d.ts.map +1 -1
  54. package/dist/themes/themes/ergo/ergo_theme.js +110 -0
  55. package/dist/themes/themes/ergo/ergo_theme.js.map +1 -1
  56. package/dist/themes/themes/windows_98/windows_98.css +1 -1
  57. package/dist/themes/themes/windows_98/windows_98_theme.js +42 -4
  58. package/dist/themes/themes/windows_98/windows_98_theme.js.map +1 -1
  59. package/dist/tokens/bubble/bubble.js +31 -24
  60. package/dist/tokens/bubble/bubble.js.map +1 -1
  61. package/dist/tokens/chip/chip.js +15 -8
  62. package/dist/tokens/chip/chip.js.map +1 -1
  63. package/dist/utils/css_utils.d.ts +9 -0
  64. package/dist/utils/css_utils.d.ts.map +1 -0
  65. package/dist/utils/css_utils.js +45 -0
  66. package/dist/utils/css_utils.js.map +1 -0
  67. package/package.json +8 -1
  68. package/src/inputs/date_picker/date_picker_time_selector.module.css +0 -1
  69. package/src/inputs/input/input.module.css +0 -1
  70. package/src/inputs/textarea/textarea.module.css +0 -1
  71. package/src/navigation/index.ts +18 -0
  72. package/src/navigation/tabs/__stories__/state.stories.tsx +136 -0
  73. package/src/navigation/tabs/__stories__/tabs.stories.tsx +40 -0
  74. package/src/navigation/tabs/primitives/tabs_bar.module.css +13 -0
  75. package/src/navigation/tabs/primitives/tabs_bar.tsx +25 -0
  76. package/src/navigation/tabs/primitives/tabs_list.tsx +42 -0
  77. package/src/navigation/tabs/state/context.tsx +61 -0
  78. package/src/navigation/tabs/state/link/tab_link.tsx +45 -0
  79. package/src/navigation/tabs/state/link/use_tab_link.ts +17 -0
  80. package/src/navigation/tabs/state/nav_bar.tsx +37 -0
  81. package/src/navigation/tabs/state/tab.tsx +12 -0
  82. package/src/overlay/portal/portal_platform.tsx +1 -0
  83. package/src/surfaces/modal/__stories__/modal.stories.tsx +3 -1
  84. package/src/themes/stylesheets/reset.css +1 -0
  85. package/src/themes/theme.tsx +13 -4
  86. package/src/themes/theme_provider.module.css +6 -0
  87. package/src/themes/themes/ergo/ergo_theme.css +109 -0
  88. package/src/themes/themes/ergo/ergo_theme.ts +1 -0
  89. package/src/themes/themes/windows_98/windows_98.css +42 -4
  90. package/src/utils/css_utils.ts +64 -0
@@ -1 +1 @@
1
- @layer tcn-system{:where(._time-box_f3145be){font-size:14px;background-color:#fff;color:var(--font-color);border:0;border-radius:4px;padding:4px;box-sizing:border-box;font-family:Arial,Helvetica,sans-serif;color:#000000d9;-webkit-tap-highlight-color:transparent;height:100%}:where(._time-box_f3145be[data-is-disabled=true]){opacity:.5;pointer-events:none}:where(._time-box-title_6cc801b){color:#6e6e6e}:where(._time-box-title-container_22add52){border-bottom:1px solid rgb(222,222,222);min-height:35px;height:35px}:where(._selected-time_33e3aa3){background-color:var(--accent-color)!important;color:#ffffffe6!important}}
1
+ @layer tcn-system{:where(._time-box_f3145be){font-size:14px;background-color:#fff;color:var(--font-color);border:0;border-radius:4px;padding:4px;box-sizing:border-box;color:#000000d9;-webkit-tap-highlight-color:transparent;height:100%}:where(._time-box_f3145be[data-is-disabled=true]){opacity:.5;pointer-events:none}:where(._time-box-title_6cc801b){color:#6e6e6e}:where(._time-box-title-container_22add52){border-bottom:1px solid rgb(222,222,222);min-height:35px;height:35px}:where(._selected-time_33e3aa3){background-color:var(--accent-color)!important;color:#ffffffe6!important}}
@@ -1,5 +1,5 @@
1
- import { jsxs as e, jsx as o } from "react/jsx-runtime";
2
- import { BodyText as m } from "../../../typography/body_text/body_text.js";
1
+ import { jsxs as m, jsx as o } from "react/jsx-runtime";
2
+ import { BodyText as p } from "../../../typography/body_text/body_text.js";
3
3
  import "clsx";
4
4
  import "../../../callout.module-D8ECmxpO.js";
5
5
  import "../../../caption.module-DDq0H4xZ.js";
@@ -9,15 +9,22 @@ import "../../../subheadline.module-C-v7zMkQ.js";
9
9
  import "../../../typography/title/title.js";
10
10
  import { theme as i } from "../../../themes/theme_variables.js";
11
11
  import "react";
12
+ import "../../../stacks/box/box.js";
13
+ import "../../../stacks/h_collapsible_box.js";
14
+ import { HStack as e } from "../../../stacks/h_stack.js";
15
+ import "../../../stacks/spacer.js";
16
+ import "../../../stacks/v_collapsible_box.js";
17
+ import "../../../stacks/v_stack.js";
18
+ import "../../../stacks/z_stack.js";
12
19
  import '../../../themes/stylesheets/reset.css';/* empty css */
20
+ import "../../../theme_provider.module-ChZQ5Xsk.js";
13
21
  import "../../../themes/stylesheets/reset.js";
14
- import { AdornmentMap as p } from "./status_input/status_input.js";
15
- import { HStack as s } from "../../../stacks/h_stack.js";
16
- const A = ({ children: r }) => {
22
+ import { AdornmentMap as s } from "./status_input/status_input.js";
23
+ const H = ({ children: r }) => {
17
24
  if (!r) return null;
18
25
  let t = r;
19
26
  return typeof r == "string" && (t = /* @__PURE__ */ o(
20
- m,
27
+ p,
21
28
  {
22
29
  breakWords: !0,
23
30
  size: "sm",
@@ -25,12 +32,12 @@ const A = ({ children: r }) => {
25
32
  color: i.statusColors.error,
26
33
  children: r
27
34
  }
28
- )), /* @__PURE__ */ e(s, { hAlign: "end", gap: i.gap.md, children: [
35
+ )), /* @__PURE__ */ m(e, { hAlign: "end", gap: i.gap.md, children: [
29
36
  t,
30
- /* @__PURE__ */ o("div", { style: { visibility: "hidden" }, children: /* @__PURE__ */ o(p, { state: "error" }) })
37
+ /* @__PURE__ */ o("div", { style: { visibility: "hidden" }, children: /* @__PURE__ */ o(s, { state: "error" }) })
31
38
  ] });
32
39
  };
33
40
  export {
34
- A as FieldErrorMessage
41
+ H as FieldErrorMessage
35
42
  };
36
43
  //# sourceMappingURL=field_error.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"field_error.js","sources":["../../../../src/form/field/common/field_error.tsx"],"sourcesContent":["import React from 'react';\nimport { BodyText } from '../../../typography/index.js';\nimport { theme } from '../../../themes/index.js';\nimport { AdornmentMap } from './status_input/status_input.js';\nimport { HStack } from '../../../stacks/h_stack.js';\n\nexport interface FieldErrorMessageOwnProps {\n children?: React.ReactNode | string;\n}\n\nexport const FieldErrorMessage = ({ children }: FieldErrorMessageOwnProps) => {\n if (!children) return null;\n let finalChildren = children;\n\n if (typeof children === 'string') {\n finalChildren = (\n <BodyText\n breakWords\n size=\"sm\"\n className=\"tcn-field-error-message\"\n color={theme.statusColors.error}\n >\n {children}\n </BodyText>\n );\n }\n\n return (\n <HStack hAlign=\"end\" gap={theme.gap.md}>\n {finalChildren}\n {/* This is a hack to get the adornment to align with the text */}\n <div style={{ visibility: 'hidden' }}>\n <AdornmentMap state=\"error\" />\n </div>\n </HStack>\n );\n};\n"],"names":["FieldErrorMessage","children","finalChildren","jsx","BodyText","theme","HStack","AdornmentMap"],"mappings":";;;;;;;;;;;;;;;AAUO,MAAMA,IAAoB,CAAC,EAAE,UAAAC,QAA0C;AAC5E,MAAI,CAACA,EAAU,QAAO;AACtB,MAAIC,IAAgBD;AAEpB,SAAI,OAAOA,KAAa,aACtBC,IACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,YAAU;AAAA,MACV,MAAK;AAAA,MACL,WAAU;AAAA,MACV,OAAOC,EAAM,aAAa;AAAA,MAEzB,UAAAJ;AAAA,IAAA;AAAA,EAAA,sBAMJK,GAAA,EAAO,QAAO,OAAM,KAAKD,EAAM,IAAI,IACjC,UAAA;AAAA,IAAAH;AAAA,IAED,gBAAAC,EAAC,OAAA,EAAI,OAAO,EAAE,YAAY,SAAA,GACxB,UAAA,gBAAAA,EAACI,GAAA,EAAa,OAAM,QAAA,CAAQ,EAAA,CAC9B;AAAA,EAAA,GACF;AAEJ;"}
1
+ {"version":3,"file":"field_error.js","sources":["../../../../src/form/field/common/field_error.tsx"],"sourcesContent":["import React from 'react';\nimport { BodyText } from '../../../typography/index.js';\nimport { theme } from '../../../themes/index.js';\nimport { AdornmentMap } from './status_input/status_input.js';\nimport { HStack } from '../../../stacks/h_stack.js';\n\nexport interface FieldErrorMessageOwnProps {\n children?: React.ReactNode | string;\n}\n\nexport const FieldErrorMessage = ({ children }: FieldErrorMessageOwnProps) => {\n if (!children) return null;\n let finalChildren = children;\n\n if (typeof children === 'string') {\n finalChildren = (\n <BodyText\n breakWords\n size=\"sm\"\n className=\"tcn-field-error-message\"\n color={theme.statusColors.error}\n >\n {children}\n </BodyText>\n );\n }\n\n return (\n <HStack hAlign=\"end\" gap={theme.gap.md}>\n {finalChildren}\n {/* This is a hack to get the adornment to align with the text */}\n <div style={{ visibility: 'hidden' }}>\n <AdornmentMap state=\"error\" />\n </div>\n </HStack>\n );\n};\n"],"names":["FieldErrorMessage","children","finalChildren","jsx","BodyText","theme","HStack","AdornmentMap"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAUO,MAAMA,IAAoB,CAAC,EAAE,UAAAC,QAA0C;AAC5E,MAAI,CAACA,EAAU,QAAO;AACtB,MAAIC,IAAgBD;AAEpB,SAAI,OAAOA,KAAa,aACtBC,IACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,YAAU;AAAA,MACV,MAAK;AAAA,MACL,WAAU;AAAA,MACV,OAAOC,EAAM,aAAa;AAAA,MAEzB,UAAAJ;AAAA,IAAA;AAAA,EAAA,sBAMJK,GAAA,EAAO,QAAO,OAAM,KAAKD,EAAM,IAAI,IACjC,UAAA;AAAA,IAAAH;AAAA,IAED,gBAAAC,EAAC,OAAA,EAAI,OAAO,EAAE,YAAY,SAAA,GACxB,UAAA,gBAAAA,EAACI,GAAA,EAAa,OAAM,QAAA,CAAQ,EAAA,CAC9B;AAAA,EAAA,GACF;AAEJ;"}
package/dist/input.css CHANGED
@@ -1 +1 @@
1
- @layer tcn-system{:root{--disabled-input-color: var(--status-disabled, rgba(0, 0, 0, .3));--disabled-input-background-color: rgba(0, 0, 0, .05)}:where(._input_a16553f){font-size:calc(14px * var(--scalar, 1));height:calc(26px * var(--scalar, 1));width:100%;background-color:#fff;color:var(--font-color);border:1px solid #aaa;border-radius:4px;padding:0;padding-inline:4px;box-sizing:border-box;font-family:Lato,Arial,Helvetica,sans-serif;-webkit-tap-highlight-color:transparent}:where(._input_a16553f[data-is-disabled=false]:hover){border:1px solid var(--accent-color)}:where(._input_a16553f:focus){outline:none;border:1px solid var(--accent-color)}:where(._input_a16553f:focus-visible){outline:3px solid color-mix(in srgb,var(--accent-color) 40%,transparent)}:where(._input_a16553f[data-is-disabled=true]){cursor:not-allowed;color:var(--disabled-input-color);background-color:var(--disabled-input-background-color);border-color:var(--status-disabled)}:where(._input_a16553f[data-is-disabled=true]::placeholder){color:var(--disabled-input-color)}:where(._input_a16553f[type=color]){cursor:pointer;padding-block:4px;font-size:12px}:where(._input_a16553f[type=file]){cursor:pointer;padding-block:3px;font-size:12px}}
1
+ @layer tcn-system{:root{--disabled-input-color: var(--status-disabled, rgba(0, 0, 0, .3));--disabled-input-background-color: rgba(0, 0, 0, .05)}:where(._input_a16553f){font-size:calc(14px * var(--scalar, 1));height:calc(26px * var(--scalar, 1));width:100%;background-color:#fff;color:var(--font-color);border:1px solid #aaa;border-radius:4px;padding:0;padding-inline:4px;box-sizing:border-box;-webkit-tap-highlight-color:transparent}:where(._input_a16553f[data-is-disabled=false]:hover){border:1px solid var(--accent-color)}:where(._input_a16553f:focus){outline:none;border:1px solid var(--accent-color)}:where(._input_a16553f:focus-visible){outline:3px solid color-mix(in srgb,var(--accent-color) 40%,transparent)}:where(._input_a16553f[data-is-disabled=true]){cursor:not-allowed;color:var(--disabled-input-color);background-color:var(--disabled-input-background-color);border-color:var(--status-disabled)}:where(._input_a16553f[data-is-disabled=true]::placeholder){color:var(--disabled-input-color)}:where(._input_a16553f[type=color]){cursor:pointer;padding-block:4px;font-size:12px}:where(._input_a16553f[type=file]){cursor:pointer;padding-block:3px;font-size:12px}}
@@ -0,0 +1,7 @@
1
+ export { Tabs, useTabs, type TabsProps, type TabsState } from './tabs/state/context.js';
2
+ export { TabLink, type TabLinkProps, type TabLinkOwnProps, } from './tabs/state/link/tab_link.js';
3
+ export { Tab, type TabProps } from './tabs/state/tab.js';
4
+ export { TabsNavbar, type TabsNavbarProps } from './tabs/state/nav_bar.js';
5
+ export { TabsBar, type TabsBarProps } from './tabs/primitives/tabs_bar.js';
6
+ export { TabsList, TabItem, type TabsListProps, type TabItemProps, } from './tabs/primitives/tabs_list.js';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/navigation/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACxF,OAAO,EACL,OAAO,EACP,KAAK,YAAY,EACjB,KAAK,eAAe,GACrB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,GAAG,EAAE,KAAK,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG3E,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EACL,QAAQ,EACR,OAAO,EACP,KAAK,aAAa,EAClB,KAAK,YAAY,GAClB,MAAM,gCAAgC,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { Tabs as a, useTabs as b } from "./tabs/state/context.js";
2
+ import { TabLink as t } from "./tabs/state/link/tab_link.js";
3
+ import { Tab as m } from "./tabs/state/tab.js";
4
+ import { TabsNavbar as f } from "./tabs/state/nav_bar.js";
5
+ import { TabsBar as x } from "./tabs/primitives/tabs_bar.js";
6
+ import { TabItem as L, TabsList as k } from "./tabs/primitives/tabs_list.js";
7
+ export {
8
+ m as Tab,
9
+ L as TabItem,
10
+ t as TabLink,
11
+ a as Tabs,
12
+ x as TabsBar,
13
+ k as TabsList,
14
+ f as TabsNavbar,
15
+ b as useTabs
16
+ };
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -0,0 +1,7 @@
1
+ import { FC, PropsWithChildren } from 'react';
2
+ import { HStackProps } from '../../../stacks/h_stack.js';
3
+ export interface TabsBarProps extends HStackProps {
4
+ variant?: 'default' | 'inline';
5
+ }
6
+ export declare const TabsBar: FC<PropsWithChildren<TabsBarProps>>;
7
+ //# sourceMappingURL=tabs_bar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabs_bar.d.ts","sourceRoot":"","sources":["../../../../src/navigation/tabs/primitives/tabs_bar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAExD,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAGtE,MAAM,WAAW,YAAa,SAAQ,WAAW;IAC/C,OAAO,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;CAChC;AAED,eAAO,MAAM,OAAO,EAAE,EAAE,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAevD,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { jsx as b } from "react/jsx-runtime";
2
+ import o from "clsx";
3
+ import { HStack as c } from "../../../stacks/h_stack.js";
4
+ import '../../../tabs_bar.css';const m = "_tabs-bar_ec9c589", e = { "tabs-bar": m }, l = ({
5
+ children: a,
6
+ className: t,
7
+ variant: r = "default",
8
+ ...s
9
+ }) => /* @__PURE__ */ b(
10
+ c,
11
+ {
12
+ "data-variant": r,
13
+ className: o("tcn-tabs-bar", e["tabs-bar"], t),
14
+ ...s,
15
+ children: a
16
+ }
17
+ );
18
+ export {
19
+ l as TabsBar
20
+ };
21
+ //# sourceMappingURL=tabs_bar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabs_bar.js","sources":["../../../../src/navigation/tabs/primitives/tabs_bar.tsx"],"sourcesContent":["import { type FC, type PropsWithChildren } from 'react';\nimport clsx from 'clsx';\nimport { HStack, type HStackProps } from '../../../stacks/h_stack.js';\nimport styles from './tabs_bar.module.css';\n\nexport interface TabsBarProps extends HStackProps {\n variant?: 'default' | 'inline';\n}\n\nexport const TabsBar: FC<PropsWithChildren<TabsBarProps>> = ({\n children,\n className,\n variant = 'default',\n ...props\n}) => {\n return (\n <HStack\n data-variant={variant}\n className={clsx('tcn-tabs-bar', styles['tabs-bar'], className)}\n {...props}\n >\n {children}\n </HStack>\n );\n};\n"],"names":["TabsBar","children","className","variant","props","jsx","HStack","clsx","styles"],"mappings":";;;sDASaA,IAA+C,CAAC;AAAA,EAC3D,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,SAAAC,IAAU;AAAA,EACV,GAAGC;AACL,MAEI,gBAAAC;AAAA,EAACC;AAAA,EAAA;AAAA,IACC,gBAAcH;AAAA,IACd,WAAWI,EAAK,gBAAgBC,EAAO,UAAU,GAAGN,CAAS;AAAA,IAC5D,GAAGE;AAAA,IAEH,UAAAH;AAAA,EAAA;AAAA;"}
@@ -0,0 +1,10 @@
1
+ import { FC, PropsWithChildren } from 'react';
2
+ import { BaseButtonProps } from '../../../actions/index.js';
3
+ import { HStackProps } from '../../../stacks/h_stack.js';
4
+ export type TabsListProps = HStackProps;
5
+ export declare const TabsList: FC<PropsWithChildren<TabsListProps>>;
6
+ export interface TabItemProps extends Omit<BaseButtonProps, 'hierarchy'> {
7
+ selected?: boolean;
8
+ }
9
+ export declare const TabItem: import('react').ForwardRefExoticComponent<Omit<PropsWithChildren<TabItemProps>, "ref"> & import('react').RefAttributes<HTMLButtonElement>>;
10
+ //# sourceMappingURL=tabs_list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabs_list.d.ts","sourceRoot":"","sources":["../../../../src/navigation/tabs/primitives/tabs_list.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,EAAE,EAAE,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAC;AACpE,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAGtE,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC;AAExC,eAAO,MAAM,QAAQ,EAAE,EAAE,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAYzD,CAAC;AAEF,MAAM,WAAW,YAAa,SAAQ,IAAI,CAAC,eAAe,EAAE,WAAW,CAAC;IACtE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,OAAO,4IAgBnB,CAAC"}
@@ -0,0 +1,36 @@
1
+ import { jsx as o } from "react/jsx-runtime";
2
+ import { forwardRef as c } from "react";
3
+ import { BaseButton as p } from "../../../actions/button/base_button/base_button.js";
4
+ import "../../../actions/button/button_group/button_group.js";
5
+ import "../../../actions/button/slim_button/slim_button.js";
6
+ import "../../../actions/button/button/button.js";
7
+ import "../../../actions/button/select_group/select_group.js";
8
+ import "../../../actions/button/select_group/single_select_group.js";
9
+ import { HStack as n } from "../../../stacks/h_stack.js";
10
+ import e from "clsx";
11
+ const T = ({
12
+ children: r,
13
+ className: a,
14
+ role: i = "tablist",
15
+ as: t = "menu",
16
+ ...m
17
+ }) => /* @__PURE__ */ o(n, { as: t, role: i, className: e("tcn-tabs-list", a), ...m, children: r }), j = c(
18
+ ({ children: r, className: a, role: i = "tab", selected: t = !1, ...m }, s) => /* @__PURE__ */ o(
19
+ p,
20
+ {
21
+ ref: s,
22
+ role: i,
23
+ className: e(a, "tcn-interactive", "tcn-tab-item"),
24
+ hierarchy: "tertiary",
25
+ "data-is-selected": t,
26
+ "aria-selected": t,
27
+ ...m,
28
+ children: r
29
+ }
30
+ )
31
+ );
32
+ export {
33
+ j as TabItem,
34
+ T as TabsList
35
+ };
36
+ //# sourceMappingURL=tabs_list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabs_list.js","sources":["../../../../src/navigation/tabs/primitives/tabs_list.tsx"],"sourcesContent":["import { forwardRef, type FC, type PropsWithChildren } from 'react';\nimport { BaseButton, type BaseButtonProps } from '../../../actions/index.js';\nimport { HStack, type HStackProps } from '../../../stacks/h_stack.js';\nimport clsx from 'clsx';\n\nexport type TabsListProps = HStackProps;\n\nexport const TabsList: FC<PropsWithChildren<TabsListProps>> = ({\n children,\n className,\n role = 'tablist',\n as = 'menu',\n ...props\n}) => {\n return (\n <HStack as={as} role={role} className={clsx('tcn-tabs-list', className)} {...props}>\n {children}\n </HStack>\n );\n};\n\nexport interface TabItemProps extends Omit<BaseButtonProps, 'hierarchy'> {\n selected?: boolean;\n}\n\nexport const TabItem = forwardRef<HTMLButtonElement, PropsWithChildren<TabItemProps>>(\n ({ children, className, role = 'tab', selected = false, ...props }, ref) => {\n return (\n <BaseButton\n ref={ref}\n role={role}\n className={clsx(className, 'tcn-interactive', 'tcn-tab-item')}\n hierarchy=\"tertiary\"\n data-is-selected={selected}\n aria-selected={selected}\n {...props}\n >\n {children}\n </BaseButton>\n );\n }\n);\n"],"names":["TabsList","children","className","role","as","props","jsx","HStack","clsx","TabItem","forwardRef","selected","ref","BaseButton"],"mappings":";;;;;;;;;;AAOO,MAAMA,IAAiD,CAAC;AAAA,EAC7D,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,IAAAC,IAAK;AAAA,EACL,GAAGC;AACL,MAEI,gBAAAC,EAACC,GAAA,EAAO,IAAAH,GAAQ,MAAAD,GAAY,WAAWK,EAAK,iBAAiBN,CAAS,GAAI,GAAGG,GAC1E,UAAAJ,EAAA,CACH,GAQSQ,IAAUC;AAAA,EACrB,CAAC,EAAE,UAAAT,GAAU,WAAAC,GAAW,MAAAC,IAAO,OAAO,UAAAQ,IAAW,IAAO,GAAGN,EAAA,GAASO,MAEhE,gBAAAN;AAAA,IAACO;AAAA,IAAA;AAAA,MACC,KAAAD;AAAA,MACA,MAAAT;AAAA,MACA,WAAWK,EAAKN,GAAW,mBAAmB,cAAc;AAAA,MAC5D,WAAU;AAAA,MACV,oBAAkBS;AAAA,MAClB,iBAAeA;AAAA,MACd,GAAGN;AAAA,MAEH,UAAAJ;AAAA,IAAA;AAAA,EAAA;AAIT;"}
@@ -0,0 +1,21 @@
1
+ import { FC, PropsWithChildren } from 'react';
2
+ import { Rectangle } from '../../../utils/index.js';
3
+ export interface TabsState {
4
+ value: string;
5
+ onChange?: (value: string) => void;
6
+ minItemWidth?: number;
7
+ maxItemWidth?: number;
8
+ }
9
+ export interface TabsContextValue extends TabsState {
10
+ activeTrigger: Rectangle | null;
11
+ setActiveTrigger: (trigger: Rectangle) => void;
12
+ }
13
+ export declare function useTabs(): TabsContextValue;
14
+ export interface TabsProps {
15
+ value: string;
16
+ onChange?: (value: string) => void;
17
+ minItemWidth?: number;
18
+ maxItemWidth?: number;
19
+ }
20
+ export declare const Tabs: FC<PropsWithChildren<TabsProps>>;
21
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/navigation/tabs/state/context.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,EAAE,EACP,KAAK,iBAAiB,EACvB,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEzD,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gBAAiB,SAAQ,SAAS;IACjD,aAAa,EAAE,SAAS,GAAG,IAAI,CAAC;IAChC,gBAAgB,EAAE,CAAC,OAAO,EAAE,SAAS,KAAK,IAAI,CAAC;CAChD;AAID,wBAAgB,OAAO,IAAI,gBAAgB,CAM1C;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAqBjD,CAAC"}
@@ -0,0 +1,34 @@
1
+ import { jsx as a } from "react/jsx-runtime";
2
+ import { createContext as T, useContext as b, useState as x, useMemo as l } from "react";
3
+ const n = T(null);
4
+ function v() {
5
+ const t = b(n);
6
+ if (!t)
7
+ throw new Error("useTabs must be used within a Tabs provider");
8
+ return t;
9
+ }
10
+ const g = ({
11
+ value: t,
12
+ onChange: e,
13
+ children: u,
14
+ minItemWidth: r,
15
+ maxItemWidth: o
16
+ }) => {
17
+ const [s, c] = x(null), i = l(
18
+ () => ({
19
+ value: t,
20
+ onChange: e,
21
+ activeTrigger: s,
22
+ setActiveTrigger: c,
23
+ minItemWidth: r,
24
+ maxItemWidth: o
25
+ }),
26
+ [t, e, s, r, o]
27
+ );
28
+ return /* @__PURE__ */ a(n.Provider, { value: i, children: u });
29
+ };
30
+ export {
31
+ g as Tabs,
32
+ v as useTabs
33
+ };
34
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sources":["../../../../src/navigation/tabs/state/context.tsx"],"sourcesContent":["import {\n createContext,\n useState,\n useContext,\n useMemo,\n type FC,\n type PropsWithChildren,\n} from 'react';\nimport type { Rectangle } from '../../../utils/index.js';\n\nexport interface TabsState {\n value: string;\n onChange?: (value: string) => void;\n minItemWidth?: number;\n maxItemWidth?: number;\n}\n\nexport interface TabsContextValue extends TabsState {\n activeTrigger: Rectangle | null;\n setActiveTrigger: (trigger: Rectangle) => void;\n}\n\nconst TabsContext = createContext<TabsContextValue | null>(null);\n\nexport function useTabs(): TabsContextValue {\n const context = useContext(TabsContext);\n if (!context) {\n throw new Error('useTabs must be used within a Tabs provider');\n }\n return context;\n}\n\nexport interface TabsProps {\n value: string;\n onChange?: (value: string) => void;\n minItemWidth?: number;\n maxItemWidth?: number;\n}\n\nexport const Tabs: FC<PropsWithChildren<TabsProps>> = ({\n value,\n onChange,\n children,\n minItemWidth,\n maxItemWidth,\n}) => {\n const [activeTrigger, setActiveTrigger] = useState<Rectangle | null>(null);\n const contextValue = useMemo(\n () => ({\n value,\n onChange,\n activeTrigger,\n setActiveTrigger,\n minItemWidth,\n maxItemWidth,\n }),\n [value, onChange, activeTrigger, minItemWidth, maxItemWidth]\n );\n\n return <TabsContext.Provider value={contextValue}>{children}</TabsContext.Provider>;\n};\n"],"names":["TabsContext","createContext","useTabs","context","useContext","Tabs","value","onChange","children","minItemWidth","maxItemWidth","activeTrigger","setActiveTrigger","useState","contextValue","useMemo"],"mappings":";;AAsBA,MAAMA,IAAcC,EAAuC,IAAI;AAExD,SAASC,IAA4B;AAC1C,QAAMC,IAAUC,EAAWJ,CAAW;AACtC,MAAI,CAACG;AACH,UAAM,IAAI,MAAM,6CAA6C;AAE/D,SAAOA;AACT;AASO,MAAME,IAAyC,CAAC;AAAA,EACrD,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,cAAAC;AAAA,EACA,cAAAC;AACF,MAAM;AACJ,QAAM,CAACC,GAAeC,CAAgB,IAAIC,EAA2B,IAAI,GACnEC,IAAeC;AAAA,IACnB,OAAO;AAAA,MACL,OAAAT;AAAA,MACA,UAAAC;AAAA,MACA,eAAAI;AAAA,MACA,kBAAAC;AAAA,MACA,cAAAH;AAAA,MACA,cAAAC;AAAA,IAAA;AAAA,IAEF,CAACJ,GAAOC,GAAUI,GAAeF,GAAcC,CAAY;AAAA,EAAA;AAG7D,2BAAQV,EAAY,UAAZ,EAAqB,OAAOc,GAAe,UAAAN,GAAS;AAC9D;"}
@@ -0,0 +1,9 @@
1
+ import { PropsWithChildren } from 'react';
2
+ import { TabItemProps } from '../../primitives/tabs_list.js';
3
+ export interface TabLinkOwnProps {
4
+ value: string;
5
+ }
6
+ export interface TabLinkProps extends Omit<TabItemProps, 'selected' | 'value'>, TabLinkOwnProps {
7
+ }
8
+ export declare const TabLink: import('react').ForwardRefExoticComponent<Omit<PropsWithChildren<TabLinkProps>, "ref"> & import('react').RefAttributes<HTMLButtonElement>>;
9
+ //# sourceMappingURL=tab_link.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tab_link.d.ts","sourceRoot":"","sources":["../../../../../src/navigation/tabs/state/link/tab_link.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAC;AACxE,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAK3E,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YACf,SAAQ,IAAI,CAAC,YAAY,EAAE,UAAU,GAAG,OAAO,CAAC,EAC9C,eAAe;CAAG;AAEtB,eAAO,MAAM,OAAO,4IA8BnB,CAAC"}
@@ -0,0 +1,36 @@
1
+ import { jsx as W } from "react/jsx-runtime";
2
+ import { forwardRef as b, useCallback as x } from "react";
3
+ import { TabItem as l } from "../../primitives/tabs_list.js";
4
+ import "../../../../utils/click_away_listener.js";
5
+ import "../../../../utils/focus_redirect.js";
6
+ import "../../../../utils/scroll_away_listener.js";
7
+ import { useForkRef as T } from "../../../../utils/hooks/use_fork_ref.js";
8
+ import "../../../../utils/hooks/use_resize_observer.js";
9
+ import { useTabs as u } from "../context.js";
10
+ import { useTabLink as C } from "./use_tab_link.js";
11
+ const z = b(
12
+ ({ children: r, value: o, onClick: i, minWidth: m, maxWidth: e, ...n }, s) => {
13
+ const { ref: a, isMatch: c } = C(o), t = u(), p = T(a, s), f = x(
14
+ (k) => {
15
+ t.onChange?.(o), i?.(k);
16
+ },
17
+ [t, o, i]
18
+ ), d = t.minItemWidth ?? m, h = t.maxItemWidth ?? e;
19
+ return /* @__PURE__ */ W(
20
+ l,
21
+ {
22
+ ref: p,
23
+ selected: c,
24
+ onClick: f,
25
+ minWidth: d,
26
+ maxWidth: h,
27
+ ...n,
28
+ children: r
29
+ }
30
+ );
31
+ }
32
+ );
33
+ export {
34
+ z as TabLink
35
+ };
36
+ //# sourceMappingURL=tab_link.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tab_link.js","sources":["../../../../../src/navigation/tabs/state/link/tab_link.tsx"],"sourcesContent":["import { forwardRef, useCallback, type PropsWithChildren } from 'react';\nimport { TabItem, type TabItemProps } from '../../primitives/tabs_list.js';\nimport { useForkRef } from '../../../../utils/index.js';\nimport { useTabs } from '../context.js';\nimport { useTabLink } from './use_tab_link.js';\n\nexport interface TabLinkOwnProps {\n value: string;\n}\n\nexport interface TabLinkProps\n extends Omit<TabItemProps, 'selected' | 'value'>,\n TabLinkOwnProps {}\n\nexport const TabLink = forwardRef<HTMLButtonElement, PropsWithChildren<TabLinkProps>>(\n ({ children, value, onClick, minWidth, maxWidth, ...props }, forwardedRef) => {\n const { ref: internalRef, isMatch } = useTabLink(value);\n const state = useTabs();\n const ref = useForkRef(internalRef, forwardedRef);\n\n const handleClick = useCallback(\n (event: React.MouseEvent<HTMLButtonElement>) => {\n state.onChange?.(value);\n onClick?.(event);\n },\n [state, value, onClick]\n );\n\n const pickMinWidth = state.minItemWidth ?? minWidth;\n const pickMaxWidth = state.maxItemWidth ?? maxWidth;\n\n return (\n <TabItem\n ref={ref}\n selected={isMatch}\n onClick={handleClick}\n minWidth={pickMinWidth}\n maxWidth={pickMaxWidth}\n {...props}\n >\n {children}\n </TabItem>\n );\n }\n);\n"],"names":["TabLink","forwardRef","children","value","onClick","minWidth","maxWidth","props","forwardedRef","internalRef","isMatch","useTabLink","state","useTabs","ref","useForkRef","handleClick","useCallback","event","pickMinWidth","pickMaxWidth","jsx","TabItem"],"mappings":";;;;;;;;;;AAcO,MAAMA,IAAUC;AAAA,EACrB,CAAC,EAAE,UAAAC,GAAU,OAAAC,GAAO,SAAAC,GAAS,UAAAC,GAAU,UAAAC,GAAU,GAAGC,EAAA,GAASC,MAAiB;AAC5E,UAAM,EAAE,KAAKC,GAAa,SAAAC,EAAA,IAAYC,EAAWR,CAAK,GAChDS,IAAQC,EAAA,GACRC,IAAMC,EAAWN,GAAaD,CAAY,GAE1CQ,IAAcC;AAAA,MAClB,CAACC,MAA+C;AAC9C,QAAAN,EAAM,WAAWT,CAAK,GACtBC,IAAUc,CAAK;AAAA,MACjB;AAAA,MACA,CAACN,GAAOT,GAAOC,CAAO;AAAA,IAAA,GAGlBe,IAAeP,EAAM,gBAAgBP,GACrCe,IAAeR,EAAM,gBAAgBN;AAE3C,WACE,gBAAAe;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,KAAAR;AAAA,QACA,UAAUJ;AAAA,QACV,SAASM;AAAA,QACT,UAAUG;AAAA,QACV,UAAUC;AAAA,QACT,GAAGb;AAAA,QAEH,UAAAL;AAAA,MAAA;AAAA,IAAA;AAAA,EAGP;AACF;"}
@@ -0,0 +1,5 @@
1
+ export declare function useTabLink(value: string): {
2
+ ref: import('react').RefObject<HTMLElement>;
3
+ isMatch: boolean;
4
+ };
5
+ //# sourceMappingURL=use_tab_link.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use_tab_link.d.ts","sourceRoot":"","sources":["../../../../../src/navigation/tabs/state/link/use_tab_link.ts"],"names":[],"mappings":"AAIA,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM;;;EAYvC"}
@@ -0,0 +1,13 @@
1
+ import { useLayoutEffect as o } from "react";
2
+ import { useTabs as s } from "../context.js";
3
+ import { useTrackActiveItemRectangle as a } from "../../../../utils/css_utils.js";
4
+ function m(c) {
5
+ const e = s(), r = e.value === c, { ref: i, rectangle: t } = a(r);
6
+ return o(() => {
7
+ t && e.setActiveTrigger(t);
8
+ }, [t, e.setActiveTrigger]), { ref: i, isMatch: r };
9
+ }
10
+ export {
11
+ m as useTabLink
12
+ };
13
+ //# sourceMappingURL=use_tab_link.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use_tab_link.js","sources":["../../../../../src/navigation/tabs/state/link/use_tab_link.ts"],"sourcesContent":["import { useLayoutEffect } from 'react';\nimport { useTabs } from '../context.js';\nimport { useTrackActiveItemRectangle } from '../../../../utils/css_utils.js';\n\nexport function useTabLink(value: string) {\n const state = useTabs();\n const isMatch = state.value === value;\n const { ref, rectangle } = useTrackActiveItemRectangle(isMatch);\n\n useLayoutEffect(() => {\n if (rectangle) {\n state.setActiveTrigger(rectangle);\n }\n }, [rectangle, state.setActiveTrigger]);\n\n return { ref, isMatch };\n}\n"],"names":["useTabLink","value","state","useTabs","isMatch","ref","rectangle","useTrackActiveItemRectangle","useLayoutEffect"],"mappings":";;;AAIO,SAASA,EAAWC,GAAe;AACxC,QAAMC,IAAQC,EAAA,GACRC,IAAUF,EAAM,UAAUD,GAC1B,EAAE,KAAAI,GAAK,WAAAC,MAAcC,EAA4BH,CAAO;AAE9D,SAAAI,EAAgB,MAAM;AACpB,IAAIF,KACFJ,EAAM,iBAAiBI,CAAS;AAAA,EAEpC,GAAG,CAACA,GAAWJ,EAAM,gBAAgB,CAAC,GAE/B,EAAE,KAAAG,GAAK,SAAAD,EAAA;AAChB;"}
@@ -0,0 +1,5 @@
1
+ import { FC, PropsWithChildren } from 'react';
2
+ import { TabsBarProps } from '../primitives/tabs_bar.js';
3
+ export type TabsNavbarProps = TabsBarProps;
4
+ export declare const TabsNavbar: FC<PropsWithChildren<TabsNavbarProps>>;
5
+ //# sourceMappingURL=nav_bar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nav_bar.d.ts","sourceRoot":"","sources":["../../../../src/navigation/tabs/state/nav_bar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAExD,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAKvE,MAAM,MAAM,eAAe,GAAG,YAAY,CAAC;AAE3C,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,iBAAiB,CAAC,eAAe,CAAC,CA2B7D,CAAC"}
@@ -0,0 +1,36 @@
1
+ import { jsx as s } from "react/jsx-runtime";
2
+ import m from "clsx";
3
+ import { TabsBar as b } from "../primitives/tabs_bar.js";
4
+ import { TabsList as l } from "../primitives/tabs_list.js";
5
+ import { useTabs as n } from "./context.js";
6
+ import { convertRectangleToCssVariables as f } from "../../../utils/css_utils.js";
7
+ const d = ({
8
+ children: a,
9
+ className: r,
10
+ variant: t = "default",
11
+ style: o,
12
+ ...e
13
+ }) => {
14
+ const i = n(), c = {
15
+ ...f(
16
+ "tabs",
17
+ "active",
18
+ i.activeTrigger
19
+ ),
20
+ ...o
21
+ };
22
+ return /* @__PURE__ */ s(
23
+ b,
24
+ {
25
+ style: c,
26
+ className: m("tcn-tabs-navbar", r),
27
+ variant: t,
28
+ ...e,
29
+ children: /* @__PURE__ */ s(l, { children: a })
30
+ }
31
+ );
32
+ };
33
+ export {
34
+ d as TabsNavbar
35
+ };
36
+ //# sourceMappingURL=nav_bar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nav_bar.js","sources":["../../../../src/navigation/tabs/state/nav_bar.tsx"],"sourcesContent":["import { type FC, type PropsWithChildren } from 'react';\nimport clsx from 'clsx';\nimport { TabsBar, type TabsBarProps } from '../primitives/tabs_bar.js';\nimport { TabsList } from '../primitives/tabs_list.js';\nimport { useTabs } from './context.js';\nimport { convertRectangleToCssVariables } from '../../../utils/css_utils.js';\n\nexport type TabsNavbarProps = TabsBarProps;\n\nexport const TabsNavbar: FC<PropsWithChildren<TabsNavbarProps>> = ({\n children,\n className,\n variant = 'default',\n style,\n ...props\n}) => {\n const state = useTabs();\n const cssVariables = convertRectangleToCssVariables(\n 'tabs',\n 'active',\n state.activeTrigger\n );\n const finalStyle = {\n ...cssVariables,\n ...style,\n };\n return (\n <TabsBar\n style={finalStyle}\n className={clsx('tcn-tabs-navbar', className)}\n variant={variant}\n {...props}\n >\n <TabsList>{children}</TabsList>\n </TabsBar>\n );\n};\n"],"names":["TabsNavbar","children","className","variant","style","props","state","useTabs","finalStyle","convertRectangleToCssVariables","jsx","TabsBar","clsx","TabsList"],"mappings":";;;;;;AASO,MAAMA,IAAqD,CAAC;AAAA,EACjE,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,SAAAC,IAAU;AAAA,EACV,OAAAC;AAAA,EACA,GAAGC;AACL,MAAM;AACJ,QAAMC,IAAQC,EAAA,GAMRC,IAAa;AAAA,IACjB,GANmBC;AAAA,MACnB;AAAA,MACA;AAAA,MACAH,EAAM;AAAA,IAAA;AAAA,IAIN,GAAGF;AAAA,EAAA;AAEL,SACE,gBAAAM;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,OAAOH;AAAA,MACP,WAAWI,EAAK,mBAAmBV,CAAS;AAAA,MAC5C,SAAAC;AAAA,MACC,GAAGE;AAAA,MAEJ,UAAA,gBAAAK,EAACG,KAAU,UAAAZ,EAAA,CAAS;AAAA,IAAA;AAAA,EAAA;AAG1B;"}
@@ -0,0 +1,6 @@
1
+ import { FC, PropsWithChildren } from 'react';
2
+ export interface TabProps {
3
+ value: string;
4
+ }
5
+ export declare const Tab: FC<PropsWithChildren<TabProps>>;
6
+ //# sourceMappingURL=tab.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tab.d.ts","sourceRoot":"","sources":["../../../../src/navigation/tabs/state/tab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAGnD,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,GAAG,EAAE,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAI/C,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { useTabs as r } from "./context.js";
2
+ const n = ({ value: t, children: e }) => r().value !== t ? null : e;
3
+ export {
4
+ n as Tab
5
+ };
6
+ //# sourceMappingURL=tab.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tab.js","sources":["../../../../src/navigation/tabs/state/tab.tsx"],"sourcesContent":["import type { FC, PropsWithChildren } from 'react';\nimport { useTabs } from './context.js';\n\nexport interface TabProps {\n value: string;\n}\n\nexport const Tab: FC<PropsWithChildren<TabProps>> = ({ value, children }) => {\n const state = useTabs();\n if (state.value !== value) return null;\n return children;\n};\n"],"names":["Tab","value","children","useTabs"],"mappings":";AAOO,MAAMA,IAAuC,CAAC,EAAE,OAAAC,GAAO,UAAAC,QAC9CC,EAAA,EACJ,UAAUF,IAAc,OAC3BC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"portal_platform.d.ts","sourceRoot":"","sources":["../../../src/overlay/portal/portal_platform.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,cAAc,CAAC;AAEtB,qBAAa,eAAe;IAC1B,OAAO,CAAC,OAAO,CAA6B;IAC5C,GAAG,EAAE,cAAc,CAAC;IACpB,UAAU,UAAS;gBAEP,GAAG,6BAAS,EAAE,MAAM,GAAE,MAAM,GAAG,MAAY;IAOvD,SAAS,CAAC,MAAM,GAAE,MAAM,GAAG,MAAY;IAMvC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS;CAOjC;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,QAAQ,CAAyB;IAEzC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;gBAEtB,GAAG,6BAAS,EAAE,IAAI,GAAE,WAA+B;IAM/D,OAAO,CAAC,gBAAgB;IAkBxB,SAAS,CAAC,MAAM,GAAE,MAAM,GAAG,MAAe;IAM1C,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAQhC,YAAY;IAMZ,WAAW,CAAC,MAAM,EAAE,eAAe;IAMnC,aAAa,CAAC,MAAM,EAAE,eAAe;IAIrC,YAAY,CAAC,MAAM,EAAE,eAAe;IAUpC,YAAY;IAMZ,uBAAuB;IAMvB,OAAO;CAKR"}
1
+ {"version":3,"file":"portal_platform.d.ts","sourceRoot":"","sources":["../../../src/overlay/portal/portal_platform.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,cAAc,CAAC;AAEtB,qBAAa,eAAe;IAC1B,OAAO,CAAC,OAAO,CAA6B;IAC5C,GAAG,EAAE,cAAc,CAAC;IACpB,UAAU,UAAS;gBAEP,GAAG,6BAAS,EAAE,MAAM,GAAE,MAAM,GAAG,MAAY;IAOvD,SAAS,CAAC,MAAM,GAAE,MAAM,GAAG,MAAY;IAMvC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS;CAOjC;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,QAAQ,CAAyB;IAEzC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;gBAEtB,GAAG,6BAAS,EAAE,IAAI,GAAE,WAA+B;IAM/D,OAAO,CAAC,gBAAgB;IAmBxB,SAAS,CAAC,MAAM,GAAE,MAAM,GAAG,MAAe;IAM1C,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAQhC,YAAY;IAMZ,WAAW,CAAC,MAAM,EAAE,eAAe;IAMnC,aAAa,CAAC,MAAM,EAAE,eAAe;IAIrC,YAAY,CAAC,MAAM,EAAE,eAAe;IAUpC,YAAY;IAMZ,uBAAuB;IAMvB,OAAO;CAKR"}
@@ -1,4 +1,4 @@
1
- import { createPortal as e } from "react-dom";
1
+ import { createPortal as r } from "react-dom";
2
2
  import './portal.css';/* empty css */
3
3
  class s {
4
4
  _window;
@@ -11,7 +11,7 @@ class s {
11
11
  this.div != null && (this.div.style.zIndex = t.toString());
12
12
  }
13
13
  render(t) {
14
- return this.div == null ? null : e(t, this.div);
14
+ return this.div == null ? null : r(t, this.div);
15
15
  }
16
16
  }
17
17
  class a {
@@ -30,7 +30,7 @@ class a {
30
30
  return t;
31
31
  {
32
32
  const o = this._window.document.createElement("div"), i = this._window.document.createElement("div");
33
- return i.id = "tcn-portal-platform", i.classList.add("tcn-portal-platform"), o.appendChild(i), o.classList.add("tcn-platform-root"), o;
33
+ return i.id = "tcn-portal-platform", i.classList.add("tcn-portal-platform"), i.classList.add("tcn-theme-root"), o.appendChild(i), o.classList.add("tcn-platform-root"), o;
34
34
  }
35
35
  }
36
36
  setZIndex(t = "auto") {
@@ -1 +1 @@
1
- {"version":3,"file":"portal_platform.js","sources":["../../../src/overlay/portal/portal_platform.tsx"],"sourcesContent":["import React from 'react';\nimport { createPortal } from 'react-dom';\nimport './portal.css';\n\nexport class PortalPresenter {\n private _window: Window & typeof globalThis;\n div: HTMLDivElement;\n hasMounted = false;\n\n constructor(win = window, zIndex: number | string = '0') {\n this._window = win;\n this.div = this._window.document.createElement('div');\n this.div.className = 'tcn-portal';\n this.setZIndex(zIndex);\n }\n\n setZIndex(zIndex: number | string = '0') {\n if (this.div != null) {\n this.div.style.zIndex = zIndex.toString();\n }\n }\n\n render(children: React.ReactNode) {\n if (this.div == null) {\n return null;\n }\n\n return createPortal(children, this.div);\n }\n}\n\nexport class PortalPlatform {\n private _window: Window & typeof globalThis;\n private _root: HTMLElement;\n private _portals: PortalPresenter[] = [];\n\n readonly platform: HTMLDivElement;\n\n constructor(win = window, root: HTMLElement = win.document.body) {\n this._window = win;\n this._root = root;\n this.platform = this._getPlatformRoot();\n }\n\n private _getPlatformRoot() {\n const existingPlatformRoot = this._window.document.body.querySelector(\n '.tcn-platform-root'\n ) as HTMLDivElement | null;\n if (!existingPlatformRoot) {\n const root = this._window.document.createElement('div');\n const portalPlatform = this._window.document.createElement('div');\n portalPlatform.id = 'tcn-portal-platform';\n portalPlatform.classList.add('tcn-portal-platform');\n root.appendChild(portalPlatform);\n root.classList.add('tcn-platform-root');\n\n return root;\n } else {\n return existingPlatformRoot;\n }\n }\n\n setZIndex(zIndex: number | string = 'auto') {\n if (this.platform != null) {\n this.platform.style.zIndex = zIndex.toString();\n }\n }\n\n setRoot(root: HTMLElement | null) {\n if (root !== this._root) {\n this.platform?.parentNode?.removeChild(this.platform);\n this._root = root == null ? document.body : root;\n this.showPlatform();\n }\n }\n\n createPortal() {\n const portal = new PortalPresenter(this._window);\n this._portals.push(portal);\n return portal;\n }\n\n mountPortal(portal: PortalPresenter) {\n portal.hasMounted = true;\n this.platform.firstElementChild?.appendChild(portal.div);\n this.showPlatform();\n }\n\n unmountPortal(portal: PortalPresenter) {\n this.removePortal(portal);\n }\n\n removePortal(portal: PortalPresenter) {\n const index = this._portals.indexOf(portal);\n if (index > -1) {\n portal.hasMounted = false;\n this._portals.splice(index, 1);\n this.platform.firstElementChild?.removeChild(portal.div);\n this.hidePlatformIfNecessary();\n }\n }\n\n showPlatform() {\n if (this.platform != null && this.platform.parentElement == null) {\n this._root.appendChild(this.platform);\n }\n }\n\n hidePlatformIfNecessary() {\n if (this._portals.length === 0 && this.platform.parentElement != null) {\n this._root.removeChild(this.platform);\n }\n }\n\n dispose() {\n if (this.platform != null && this._root.contains(this.platform)) {\n this._root.removeChild(this.platform);\n }\n }\n}\n"],"names":["PortalPresenter","win","zIndex","children","createPortal","PortalPlatform","root","existingPlatformRoot","portalPlatform","portal","index"],"mappings":";;AAIO,MAAMA,EAAgB;AAAA,EACnB;AAAA,EACR;AAAA,EACA,aAAa;AAAA,EAEb,YAAYC,IAAM,QAAQC,IAA0B,KAAK;AACvD,SAAK,UAAUD,GACf,KAAK,MAAM,KAAK,QAAQ,SAAS,cAAc,KAAK,GACpD,KAAK,IAAI,YAAY,cACrB,KAAK,UAAUC,CAAM;AAAA,EACvB;AAAA,EAEA,UAAUA,IAA0B,KAAK;AACvC,IAAI,KAAK,OAAO,SACd,KAAK,IAAI,MAAM,SAASA,EAAO,SAAA;AAAA,EAEnC;AAAA,EAEA,OAAOC,GAA2B;AAChC,WAAI,KAAK,OAAO,OACP,OAGFC,EAAaD,GAAU,KAAK,GAAG;AAAA,EACxC;AACF;AAEO,MAAME,EAAe;AAAA,EAClB;AAAA,EACA;AAAA,EACA,WAA8B,CAAA;AAAA,EAE7B;AAAA,EAET,YAAYJ,IAAM,QAAQK,IAAoBL,EAAI,SAAS,MAAM;AAC/D,SAAK,UAAUA,GACf,KAAK,QAAQK,GACb,KAAK,WAAW,KAAK,iBAAA;AAAA,EACvB;AAAA,EAEQ,mBAAmB;AACzB,UAAMC,IAAuB,KAAK,QAAQ,SAAS,KAAK;AAAA,MACtD;AAAA,IAAA;AAEF,QAAKA;AAUH,aAAOA;AAVkB;AACzB,YAAMD,IAAO,KAAK,QAAQ,SAAS,cAAc,KAAK,GAChDE,IAAiB,KAAK,QAAQ,SAAS,cAAc,KAAK;AAChE,aAAAA,EAAe,KAAK,uBACpBA,EAAe,UAAU,IAAI,qBAAqB,GAClDF,EAAK,YAAYE,CAAc,GAC/BF,EAAK,UAAU,IAAI,mBAAmB,GAE/BA;AAAA,IACT;AAAA,EAGF;AAAA,EAEA,UAAUJ,IAA0B,QAAQ;AAC1C,IAAI,KAAK,YAAY,SACnB,KAAK,SAAS,MAAM,SAASA,EAAO,SAAA;AAAA,EAExC;AAAA,EAEA,QAAQI,GAA0B;AAChC,IAAIA,MAAS,KAAK,UAChB,KAAK,UAAU,YAAY,YAAY,KAAK,QAAQ,GACpD,KAAK,QAAQA,KAAe,SAAS,MACrC,KAAK,aAAA;AAAA,EAET;AAAA,EAEA,eAAe;AACb,UAAMG,IAAS,IAAIT,EAAgB,KAAK,OAAO;AAC/C,gBAAK,SAAS,KAAKS,CAAM,GAClBA;AAAA,EACT;AAAA,EAEA,YAAYA,GAAyB;AACnC,IAAAA,EAAO,aAAa,IACpB,KAAK,SAAS,mBAAmB,YAAYA,EAAO,GAAG,GACvD,KAAK,aAAA;AAAA,EACP;AAAA,EAEA,cAAcA,GAAyB;AACrC,SAAK,aAAaA,CAAM;AAAA,EAC1B;AAAA,EAEA,aAAaA,GAAyB;AACpC,UAAMC,IAAQ,KAAK,SAAS,QAAQD,CAAM;AAC1C,IAAIC,IAAQ,OACVD,EAAO,aAAa,IACpB,KAAK,SAAS,OAAOC,GAAO,CAAC,GAC7B,KAAK,SAAS,mBAAmB,YAAYD,EAAO,GAAG,GACvD,KAAK,wBAAA;AAAA,EAET;AAAA,EAEA,eAAe;AACb,IAAI,KAAK,YAAY,QAAQ,KAAK,SAAS,iBAAiB,QAC1D,KAAK,MAAM,YAAY,KAAK,QAAQ;AAAA,EAExC;AAAA,EAEA,0BAA0B;AACxB,IAAI,KAAK,SAAS,WAAW,KAAK,KAAK,SAAS,iBAAiB,QAC/D,KAAK,MAAM,YAAY,KAAK,QAAQ;AAAA,EAExC;AAAA,EAEA,UAAU;AACR,IAAI,KAAK,YAAY,QAAQ,KAAK,MAAM,SAAS,KAAK,QAAQ,KAC5D,KAAK,MAAM,YAAY,KAAK,QAAQ;AAAA,EAExC;AACF;"}
1
+ {"version":3,"file":"portal_platform.js","sources":["../../../src/overlay/portal/portal_platform.tsx"],"sourcesContent":["import React from 'react';\nimport { createPortal } from 'react-dom';\nimport './portal.css';\n\nexport class PortalPresenter {\n private _window: Window & typeof globalThis;\n div: HTMLDivElement;\n hasMounted = false;\n\n constructor(win = window, zIndex: number | string = '0') {\n this._window = win;\n this.div = this._window.document.createElement('div');\n this.div.className = 'tcn-portal';\n this.setZIndex(zIndex);\n }\n\n setZIndex(zIndex: number | string = '0') {\n if (this.div != null) {\n this.div.style.zIndex = zIndex.toString();\n }\n }\n\n render(children: React.ReactNode) {\n if (this.div == null) {\n return null;\n }\n\n return createPortal(children, this.div);\n }\n}\n\nexport class PortalPlatform {\n private _window: Window & typeof globalThis;\n private _root: HTMLElement;\n private _portals: PortalPresenter[] = [];\n\n readonly platform: HTMLDivElement;\n\n constructor(win = window, root: HTMLElement = win.document.body) {\n this._window = win;\n this._root = root;\n this.platform = this._getPlatformRoot();\n }\n\n private _getPlatformRoot() {\n const existingPlatformRoot = this._window.document.body.querySelector(\n '.tcn-platform-root'\n ) as HTMLDivElement | null;\n if (!existingPlatformRoot) {\n const root = this._window.document.createElement('div');\n const portalPlatform = this._window.document.createElement('div');\n portalPlatform.id = 'tcn-portal-platform';\n portalPlatform.classList.add('tcn-portal-platform');\n portalPlatform.classList.add('tcn-theme-root');\n root.appendChild(portalPlatform);\n root.classList.add('tcn-platform-root');\n\n return root;\n } else {\n return existingPlatformRoot;\n }\n }\n\n setZIndex(zIndex: number | string = 'auto') {\n if (this.platform != null) {\n this.platform.style.zIndex = zIndex.toString();\n }\n }\n\n setRoot(root: HTMLElement | null) {\n if (root !== this._root) {\n this.platform?.parentNode?.removeChild(this.platform);\n this._root = root == null ? document.body : root;\n this.showPlatform();\n }\n }\n\n createPortal() {\n const portal = new PortalPresenter(this._window);\n this._portals.push(portal);\n return portal;\n }\n\n mountPortal(portal: PortalPresenter) {\n portal.hasMounted = true;\n this.platform.firstElementChild?.appendChild(portal.div);\n this.showPlatform();\n }\n\n unmountPortal(portal: PortalPresenter) {\n this.removePortal(portal);\n }\n\n removePortal(portal: PortalPresenter) {\n const index = this._portals.indexOf(portal);\n if (index > -1) {\n portal.hasMounted = false;\n this._portals.splice(index, 1);\n this.platform.firstElementChild?.removeChild(portal.div);\n this.hidePlatformIfNecessary();\n }\n }\n\n showPlatform() {\n if (this.platform != null && this.platform.parentElement == null) {\n this._root.appendChild(this.platform);\n }\n }\n\n hidePlatformIfNecessary() {\n if (this._portals.length === 0 && this.platform.parentElement != null) {\n this._root.removeChild(this.platform);\n }\n }\n\n dispose() {\n if (this.platform != null && this._root.contains(this.platform)) {\n this._root.removeChild(this.platform);\n }\n }\n}\n"],"names":["PortalPresenter","win","zIndex","children","createPortal","PortalPlatform","root","existingPlatformRoot","portalPlatform","portal","index"],"mappings":";;AAIO,MAAMA,EAAgB;AAAA,EACnB;AAAA,EACR;AAAA,EACA,aAAa;AAAA,EAEb,YAAYC,IAAM,QAAQC,IAA0B,KAAK;AACvD,SAAK,UAAUD,GACf,KAAK,MAAM,KAAK,QAAQ,SAAS,cAAc,KAAK,GACpD,KAAK,IAAI,YAAY,cACrB,KAAK,UAAUC,CAAM;AAAA,EACvB;AAAA,EAEA,UAAUA,IAA0B,KAAK;AACvC,IAAI,KAAK,OAAO,SACd,KAAK,IAAI,MAAM,SAASA,EAAO,SAAA;AAAA,EAEnC;AAAA,EAEA,OAAOC,GAA2B;AAChC,WAAI,KAAK,OAAO,OACP,OAGFC,EAAaD,GAAU,KAAK,GAAG;AAAA,EACxC;AACF;AAEO,MAAME,EAAe;AAAA,EAClB;AAAA,EACA;AAAA,EACA,WAA8B,CAAA;AAAA,EAE7B;AAAA,EAET,YAAYJ,IAAM,QAAQK,IAAoBL,EAAI,SAAS,MAAM;AAC/D,SAAK,UAAUA,GACf,KAAK,QAAQK,GACb,KAAK,WAAW,KAAK,iBAAA;AAAA,EACvB;AAAA,EAEQ,mBAAmB;AACzB,UAAMC,IAAuB,KAAK,QAAQ,SAAS,KAAK;AAAA,MACtD;AAAA,IAAA;AAEF,QAAKA;AAWH,aAAOA;AAXkB;AACzB,YAAMD,IAAO,KAAK,QAAQ,SAAS,cAAc,KAAK,GAChDE,IAAiB,KAAK,QAAQ,SAAS,cAAc,KAAK;AAChE,aAAAA,EAAe,KAAK,uBACpBA,EAAe,UAAU,IAAI,qBAAqB,GAClDA,EAAe,UAAU,IAAI,gBAAgB,GAC7CF,EAAK,YAAYE,CAAc,GAC/BF,EAAK,UAAU,IAAI,mBAAmB,GAE/BA;AAAA,IACT;AAAA,EAGF;AAAA,EAEA,UAAUJ,IAA0B,QAAQ;AAC1C,IAAI,KAAK,YAAY,SACnB,KAAK,SAAS,MAAM,SAASA,EAAO,SAAA;AAAA,EAExC;AAAA,EAEA,QAAQI,GAA0B;AAChC,IAAIA,MAAS,KAAK,UAChB,KAAK,UAAU,YAAY,YAAY,KAAK,QAAQ,GACpD,KAAK,QAAQA,KAAe,SAAS,MACrC,KAAK,aAAA;AAAA,EAET;AAAA,EAEA,eAAe;AACb,UAAMG,IAAS,IAAIT,EAAgB,KAAK,OAAO;AAC/C,gBAAK,SAAS,KAAKS,CAAM,GAClBA;AAAA,EACT;AAAA,EAEA,YAAYA,GAAyB;AACnC,IAAAA,EAAO,aAAa,IACpB,KAAK,SAAS,mBAAmB,YAAYA,EAAO,GAAG,GACvD,KAAK,aAAA;AAAA,EACP;AAAA,EAEA,cAAcA,GAAyB;AACrC,SAAK,aAAaA,CAAM;AAAA,EAC1B;AAAA,EAEA,aAAaA,GAAyB;AACpC,UAAMC,IAAQ,KAAK,SAAS,QAAQD,CAAM;AAC1C,IAAIC,IAAQ,OACVD,EAAO,aAAa,IACpB,KAAK,SAAS,OAAOC,GAAO,CAAC,GAC7B,KAAK,SAAS,mBAAmB,YAAYD,EAAO,GAAG,GACvD,KAAK,wBAAA;AAAA,EAET;AAAA,EAEA,eAAe;AACb,IAAI,KAAK,YAAY,QAAQ,KAAK,SAAS,iBAAiB,QAC1D,KAAK,MAAM,YAAY,KAAK,QAAQ;AAAA,EAExC;AAAA,EAEA,0BAA0B;AACxB,IAAI,KAAK,SAAS,WAAW,KAAK,KAAK,SAAS,iBAAiB,QAC/D,KAAK,MAAM,YAAY,KAAK,QAAQ;AAAA,EAExC;AAAA,EAEA,UAAU;AACR,IAAI,KAAK,YAAY,QAAQ,KAAK,MAAM,SAAS,KAAK,QAAQ,KAC5D,KAAK,MAAM,YAAY,KAAK,QAAQ;AAAA,EAExC;AACF;"}
@@ -0,0 +1 @@
1
+ @layer tcn-system{._tabs-bar_ec9c589,._tabs-bar_ec9c589[data-variant=inline]{width:auto}._tabs-bar_ec9c589[data-variant=default]{width:100%}}
package/dist/textarea.css CHANGED
@@ -1 +1 @@
1
- @layer tcn-system{:root{--disabled-input-color: var(--status-disabled, rgba(0, 0, 0, .3));--disabled-input-background-color: rgba(0, 0, 0, .05)}:where(._textarea_8286394){min-height:100px;height:calc(100px * var(--scalar, 1));width:100%;background-color:#fff;color:var(--font-color);border:1px solid #aaa;border-radius:4px;padding:0;padding-inline:4px;padding-block:4px;box-sizing:border-box;font-family:Lato,Arial,Helvetica,sans-serif;font-size:calc(14px * var(--scalar, 1));resize:vertical;cursor:text;-webkit-tap-highlight-color:transparent}:where(._textarea_8286394[data-is-disabled=false]:hover){border:1px solid var(--accent-color)}:where(._textarea_8286394:focus){outline:none;border:1px solid var(--accent-color)}:where(._textarea_8286394:focus-visible){outline:3px solid color-mix(in srgb,var(--accent-color) 40%,transparent)}:where(._textarea_8286394[data-is-disabled=true]){cursor:not-allowed;color:var(--disabled-input-color);background-color:var(--disabled-input-background-color)}:where(._textarea_8286394[data-is-disabled=true]::placeholder){color:var(--disabled-input-color)}}
1
+ @layer tcn-system{:root{--disabled-input-color: var(--status-disabled, rgba(0, 0, 0, .3));--disabled-input-background-color: rgba(0, 0, 0, .05)}:where(._textarea_8286394){min-height:100px;height:calc(100px * var(--scalar, 1));width:100%;background-color:#fff;color:var(--font-color);border:1px solid #aaa;border-radius:4px;padding:0;padding-inline:4px;padding-block:4px;box-sizing:border-box;font-size:calc(14px * var(--scalar, 1));resize:vertical;cursor:text;-webkit-tap-highlight-color:transparent}:where(._textarea_8286394[data-is-disabled=false]:hover){border:1px solid var(--accent-color)}:where(._textarea_8286394:focus){outline:none;border:1px solid var(--accent-color)}:where(._textarea_8286394:focus-visible){outline:3px solid color-mix(in srgb,var(--accent-color) 40%,transparent)}:where(._textarea_8286394[data-is-disabled=true]){cursor:not-allowed;color:var(--disabled-input-color);background-color:var(--disabled-input-background-color)}:where(._textarea_8286394[data-is-disabled=true]::placeholder){color:var(--disabled-input-color)}}
@@ -0,0 +1 @@
1
+ @layer tcn-system{._tcn-theme-provider_2e5518b{width:100%;height:100%}}
@@ -0,0 +1,5 @@
1
+ import './theme_provider.css';const e = "_tcn-theme-provider_2e5518b", t = { "tcn-theme-provider": e };
2
+ export {
3
+ t as s
4
+ };
5
+ //# sourceMappingURL=theme_provider.module-ChZQ5Xsk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme_provider.module-ChZQ5Xsk.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1 +1 @@
1
- @layer tcn-reset{html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none}table{border-collapse:collapse;border-spacing:0}legend{all:unset;display:block;margin:0;padding:0;font:inherit;color:inherit}}
1
+ @layer tcn-reset{html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,button,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none}table{border-collapse:collapse;border-spacing:0}legend{all:unset;display:block;margin:0;padding:0;font:inherit;color:inherit}}
@@ -80,6 +80,7 @@ const n = `/* https://meyerweb.com/eric/tools/css/reset/ v2.0 | 20110126 */
80
80
  time,
81
81
  mark,
82
82
  audio,
83
+ button,
83
84
  video {
84
85
  margin: 0;
85
86
  padding: 0;
@@ -1 +1 @@
1
- {"version":3,"file":"reset.js","sources":["../../../src/themes/stylesheets/reset.css?raw","../../../src/themes/stylesheets/reset.ts"],"sourcesContent":["export default \"/* https://meyerweb.com/eric/tools/css/reset/ v2.0 | 20110126 */\\n@layer tcn-reset {\\n html,\\n body,\\n div,\\n span,\\n applet,\\n object,\\n iframe,\\n h1,\\n h2,\\n h3,\\n h4,\\n h5,\\n h6,\\n p,\\n blockquote,\\n pre,\\n a,\\n abbr,\\n acronym,\\n address,\\n big,\\n cite,\\n code,\\n del,\\n dfn,\\n em,\\n img,\\n ins,\\n kbd,\\n q,\\n s,\\n samp,\\n small,\\n strike,\\n strong,\\n sub,\\n sup,\\n tt,\\n var,\\n b,\\n u,\\n i,\\n center,\\n dl,\\n dt,\\n dd,\\n ol,\\n ul,\\n li,\\n fieldset,\\n form,\\n label,\\n legend,\\n table,\\n caption,\\n tbody,\\n tfoot,\\n thead,\\n tr,\\n th,\\n td,\\n article,\\n aside,\\n canvas,\\n details,\\n embed,\\n figure,\\n figcaption,\\n footer,\\n header,\\n hgroup,\\n menu,\\n nav,\\n output,\\n ruby,\\n section,\\n summary,\\n time,\\n mark,\\n audio,\\n video {\\n margin: 0;\\n padding: 0;\\n border: 0;\\n font-size: 100%;\\n font: inherit;\\n vertical-align: baseline;\\n }\\n /* HTML5 display-role reset for older browsers */\\n article,\\n aside,\\n details,\\n figcaption,\\n figure,\\n footer,\\n header,\\n hgroup,\\n menu,\\n nav,\\n section {\\n display: block;\\n }\\n body {\\n line-height: 1;\\n }\\n ol,\\n ul {\\n list-style: none;\\n }\\n blockquote,\\n q {\\n quotes: none;\\n }\\n blockquote:before,\\n blockquote:after,\\n q:before,\\n q:after {\\n content: \\\"\\\";\\n content: none;\\n }\\n table {\\n border-collapse: collapse;\\n border-spacing: 0;\\n }\\n\\n legend {\\n all: unset;\\n display: block;\\n margin: 0;\\n padding: 0;\\n font: inherit;\\n color: inherit;\\n }\\n}\\n\"","import css from './reset.css?raw';\n\nexport const reset = new CSSStyleSheet();\nreset.replaceSync(css);\n"],"names":["css","reset"],"mappings":"AAAA,MAAAA,IAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GCEFC,IAAQ,IAAI,cAAA;AACzBA,EAAM,YAAYD,CAAG;"}
1
+ {"version":3,"file":"reset.js","sources":["../../../src/themes/stylesheets/reset.css?raw","../../../src/themes/stylesheets/reset.ts"],"sourcesContent":["export default \"/* https://meyerweb.com/eric/tools/css/reset/ v2.0 | 20110126 */\\n@layer tcn-reset {\\n html,\\n body,\\n div,\\n span,\\n applet,\\n object,\\n iframe,\\n h1,\\n h2,\\n h3,\\n h4,\\n h5,\\n h6,\\n p,\\n blockquote,\\n pre,\\n a,\\n abbr,\\n acronym,\\n address,\\n big,\\n cite,\\n code,\\n del,\\n dfn,\\n em,\\n img,\\n ins,\\n kbd,\\n q,\\n s,\\n samp,\\n small,\\n strike,\\n strong,\\n sub,\\n sup,\\n tt,\\n var,\\n b,\\n u,\\n i,\\n center,\\n dl,\\n dt,\\n dd,\\n ol,\\n ul,\\n li,\\n fieldset,\\n form,\\n label,\\n legend,\\n table,\\n caption,\\n tbody,\\n tfoot,\\n thead,\\n tr,\\n th,\\n td,\\n article,\\n aside,\\n canvas,\\n details,\\n embed,\\n figure,\\n figcaption,\\n footer,\\n header,\\n hgroup,\\n menu,\\n nav,\\n output,\\n ruby,\\n section,\\n summary,\\n time,\\n mark,\\n audio,\\n button,\\n video {\\n margin: 0;\\n padding: 0;\\n border: 0;\\n font-size: 100%;\\n font: inherit;\\n vertical-align: baseline;\\n }\\n /* HTML5 display-role reset for older browsers */\\n article,\\n aside,\\n details,\\n figcaption,\\n figure,\\n footer,\\n header,\\n hgroup,\\n menu,\\n nav,\\n section {\\n display: block;\\n }\\n body {\\n line-height: 1;\\n }\\n ol,\\n ul {\\n list-style: none;\\n }\\n blockquote,\\n q {\\n quotes: none;\\n }\\n blockquote:before,\\n blockquote:after,\\n q:before,\\n q:after {\\n content: \\\"\\\";\\n content: none;\\n }\\n table {\\n border-collapse: collapse;\\n border-spacing: 0;\\n }\\n\\n legend {\\n all: unset;\\n display: block;\\n margin: 0;\\n padding: 0;\\n font: inherit;\\n color: inherit;\\n }\\n}\\n\"","import css from './reset.css?raw';\n\nexport const reset = new CSSStyleSheet();\nreset.replaceSync(css);\n"],"names":["css","reset"],"mappings":"AAAA,MAAAA,IAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GCEFC,IAAQ,IAAI,cAAA;AACzBA,EAAM,YAAYD,CAAG;"}
@@ -1,7 +1,8 @@
1
1
  import { default as React } from 'react';
2
- export interface ThemeProps {
2
+ import { BoxProps } from '../stacks/index.js';
3
+ export interface ThemeProps extends BoxProps {
3
4
  styleSheets: CSSStyleSheet[];
4
5
  children: React.ReactNode;
5
6
  }
6
- export declare function Theme({ styleSheets, children }: ThemeProps): React.ReactNode;
7
+ export declare function Theme({ styleSheets, children, ...boxProps }: ThemeProps): import("react/jsx-runtime").JSX.Element;
7
8
  //# 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;AAE/C,OAAO,yBAAyB,CAAC;AAEjC,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,aAAa,EAAE,CAAC;IAC7B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,wBAAgB,KAAK,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,UAAU,mBAqB1D"}
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"}