@tcn/ui 0.3.3 → 0.5.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 (131) hide show
  1. package/dist/Color-6BZIO3FS-CWWwv-fq.js +1004 -0
  2. package/dist/Color-6BZIO3FS-CWWwv-fq.js.map +1 -0
  3. package/dist/{WithTooltip-IO6J4KBT-B1oq93K5.js → WithTooltip-65CFNBJE-DvcUZizH.js} +4 -4
  4. package/dist/WithTooltip-65CFNBJE-DvcUZizH.js.map +1 -0
  5. package/dist/actions/__docs__/components/showcase.d.ts.map +1 -1
  6. package/dist/actions/__docs__/components/showcase.js +1 -1
  7. package/dist/actions/button/base_button/base_button.d.ts +2 -4
  8. package/dist/actions/button/base_button/base_button.d.ts.map +1 -1
  9. package/dist/actions/button/base_button/base_button.js +35 -35
  10. package/dist/actions/button/base_button/base_button.js.map +1 -1
  11. package/dist/actions/button/button/button.d.ts +7 -1
  12. package/dist/actions/button/button/button.d.ts.map +1 -1
  13. package/dist/actions/button/button/button.js +9 -7
  14. package/dist/actions/button/button/button.js.map +1 -1
  15. package/dist/actions/button/slim_button/slim_button.d.ts +6 -1
  16. package/dist/actions/button/slim_button/slim_button.d.ts.map +1 -1
  17. package/dist/actions/button/slim_button/slim_button.js +13 -14
  18. package/dist/actions/button/slim_button/slim_button.js.map +1 -1
  19. package/dist/actions/toggle/toggle.d.ts +9 -0
  20. package/dist/actions/toggle/toggle.d.ts.map +1 -0
  21. package/dist/actions/toggle/toggle.js +21 -0
  22. package/dist/actions/toggle/toggle.js.map +1 -0
  23. package/dist/feedback/lazy/lazy.js +3 -3
  24. package/dist/formatter-EIJCOSYU-D6nmx63h.js +6 -0
  25. package/dist/formatter-EIJCOSYU-D6nmx63h.js.map +1 -0
  26. package/dist/inputs/mask_input/mask.d.ts.map +1 -1
  27. package/dist/inputs/mask_input/mask.js.map +1 -1
  28. package/dist/inputs/multiselect/multiselect_inline_values.js +3 -2
  29. package/dist/inputs/multiselect/multiselect_inline_values.js.map +1 -1
  30. package/dist/inputs/multiselect/multiselect_values.js +3 -2
  31. package/dist/inputs/multiselect/multiselect_values.js.map +1 -1
  32. package/dist/layouts/index.d.ts +3 -1
  33. package/dist/layouts/index.d.ts.map +1 -1
  34. package/dist/layouts/index.js +22 -18
  35. package/dist/layouts/index.js.map +1 -1
  36. package/dist/layouts/row/row.d.ts +4 -0
  37. package/dist/layouts/row/row.d.ts.map +1 -0
  38. package/dist/layouts/row/row.js +11 -0
  39. package/dist/layouts/row/row.js.map +1 -0
  40. package/dist/layouts/section/heading.d.ts +7 -0
  41. package/dist/layouts/section/heading.d.ts.map +1 -0
  42. package/dist/layouts/section/heading.js +9 -0
  43. package/dist/layouts/section/heading.js.map +1 -0
  44. package/dist/layouts/section/section.d.ts +4 -0
  45. package/dist/layouts/section/section.d.ts.map +1 -0
  46. package/dist/layouts/section/section.js +22 -0
  47. package/dist/layouts/section/section.js.map +1 -0
  48. package/dist/navigation/tabs/primitives/tabs_list.d.ts.map +1 -1
  49. package/dist/navigation/tabs/primitives/tabs_list.js +17 -24
  50. package/dist/navigation/tabs/primitives/tabs_list.js.map +1 -1
  51. package/dist/overlay/carrot/base_carrot.d.ts +8 -0
  52. package/dist/overlay/carrot/base_carrot.d.ts.map +1 -0
  53. package/dist/overlay/carrot/base_carrot.js +21 -0
  54. package/dist/overlay/carrot/base_carrot.js.map +1 -0
  55. package/dist/row.css +1 -0
  56. package/dist/section.css +1 -0
  57. package/dist/section.module-0wyGkhDg.js +5 -0
  58. package/dist/section.module-0wyGkhDg.js.map +1 -0
  59. package/dist/{showcase-WfP6kBEb.js → showcase-DK557szS.js} +18018 -16269
  60. package/dist/showcase-DK557szS.js.map +1 -0
  61. package/dist/surfaces/pop_confirm/pop_confirm.js +6 -3
  62. package/dist/surfaces/pop_confirm/pop_confirm.js.map +1 -1
  63. package/dist/{syntaxhighlighter-IQDEPFLK-BX_eF8__.js → syntaxhighlighter-ED5Y7EFY-DaMS-2cF.js} +54 -54
  64. package/dist/syntaxhighlighter-ED5Y7EFY-DaMS-2cF.js.map +1 -0
  65. package/dist/themes/themes/ergo/ergo_theme.css +1 -1
  66. package/dist/themes/themes/ergo/ergo_theme.js +403 -263
  67. package/dist/themes/themes/ergo/ergo_theme.js.map +1 -1
  68. package/dist/themes/themes/windows_98/windows_98.css +1 -1
  69. package/dist/themes/themes/windows_98/windows_98_theme.js +108 -1
  70. package/dist/themes/themes/windows_98/windows_98_theme.js.map +1 -1
  71. package/dist/tokens/index.d.ts +2 -0
  72. package/dist/tokens/index.d.ts.map +1 -1
  73. package/dist/tokens/index.js +5 -1
  74. package/dist/tokens/index.js.map +1 -1
  75. package/dist/tokens/key/key.d.ts +3 -0
  76. package/dist/tokens/key/key.d.ts.map +1 -0
  77. package/dist/tokens/key/key.js +8 -0
  78. package/dist/tokens/key/key.js.map +1 -0
  79. package/dist/tokens/value/value.d.ts +3 -0
  80. package/dist/tokens/value/value.d.ts.map +1 -0
  81. package/dist/tokens/value/value.js +8 -0
  82. package/dist/tokens/value/value.js.map +1 -0
  83. package/package.json +1 -1
  84. package/src/actions/__docs__/actions.mdx +159 -34
  85. package/src/actions/__docs__/actions.stories.tsx +416 -101
  86. package/src/actions/__docs__/components/showcase.tsx +10 -6
  87. package/src/actions/button/__stories__/button.stories.tsx +10 -0
  88. package/src/actions/button/__stories__/toggle.stories.tsx +177 -0
  89. package/src/actions/button/base_button/base_button.tsx +8 -10
  90. package/src/actions/button/button/button.tsx +11 -2
  91. package/src/actions/button/slim_button/slim_button.tsx +20 -13
  92. package/src/actions/toggle/toggle.tsx +26 -0
  93. package/src/inputs/mask_input/mask.ts +7 -1
  94. package/src/layouts/index.ts +4 -2
  95. package/src/layouts/row/row.module.css +5 -0
  96. package/src/layouts/row/row.tsx +15 -0
  97. package/src/layouts/section/__stories__/section.stories.module.css +6 -0
  98. package/src/layouts/section/__stories__/section.stories.tsx +152 -0
  99. package/src/layouts/section/heading.tsx +16 -0
  100. package/src/layouts/section/section.module.css +41 -0
  101. package/src/layouts/section/section.tsx +21 -0
  102. package/src/navigation/tabs/primitives/tabs_list.tsx +5 -6
  103. package/src/overlay/carrot/base_carrot.tsx +24 -0
  104. package/src/overlay/carrot/carrot.stories.tsx +54 -0
  105. package/src/surfaces/card/card.stories.tsx +14 -14
  106. package/src/surfaces/modal/__stories__/modal.stories.tsx +16 -7
  107. package/src/surfaces/window/window.stories.tsx +16 -10
  108. package/src/themes/themes/ergo/__stories__/components/material_picker/sb_inverted_materials.module.css +4 -4
  109. package/src/themes/themes/ergo/__stories__/components/tone_picker/sb_tone_picker.module.css +3 -0
  110. package/src/themes/themes/ergo/__stories__/components/tone_picker/sb_tone_picker.tsx +5 -2
  111. package/src/themes/themes/ergo/__stories__/material.stories.tsx +2 -2
  112. package/src/themes/themes/ergo/__stories__/sb_materials.module.css +31 -26
  113. package/src/themes/themes/ergo/ergo_theme.css +400 -260
  114. package/src/themes/themes/windows_98/windows_98.css +108 -1
  115. package/src/tokens/index.ts +2 -0
  116. package/src/tokens/key/key.tsx +10 -0
  117. package/src/tokens/value/value.tsx +10 -0
  118. package/tsconfig.json +6 -0
  119. package/dist/Color-ASIRERSW-B4GaVKuQ.js +0 -990
  120. package/dist/Color-ASIRERSW-B4GaVKuQ.js.map +0 -1
  121. package/dist/WithTooltip-IO6J4KBT-B1oq93K5.js.map +0 -1
  122. package/dist/formatter-QJ4M4OGQ-DaIl2Wi_.js +0 -6
  123. package/dist/formatter-QJ4M4OGQ-DaIl2Wi_.js.map +0 -1
  124. package/dist/layouts/list/section_header.d.ts +0 -6
  125. package/dist/layouts/list/section_header.d.ts.map +0 -1
  126. package/dist/layouts/list/section_header.js +0 -22
  127. package/dist/layouts/list/section_header.js.map +0 -1
  128. package/dist/showcase-WfP6kBEb.js.map +0 -1
  129. package/dist/syntaxhighlighter-IQDEPFLK-BX_eF8__.js.map +0 -1
  130. package/src/layouts/list/section_header.module.css +0 -20
  131. package/src/layouts/list/section_header.tsx +0 -21
@@ -1,18 +1,17 @@
1
- import { jsx as r } from "react/jsx-runtime";
2
- import n from "react";
3
- import { Button as i } from "../button/button.js";
1
+ import { jsx as s } from "react/jsx-runtime";
2
+ import i from "react";
3
+ import { Button as n } from "../button/button.js";
4
4
  import { clsx as l } from "clsx";
5
- import '../../../slim_button.css';const u = "_slim-button_188fdc3", c = { "slim-button": u }, b = n.forwardRef(
6
- ({ children: t, className: o, ...m }, s) => /* @__PURE__ */ r(
7
- i,
8
- {
9
- ref: s,
10
- className: l(c["slim-button"], "tcn-slim-button", o),
11
- ...m,
12
- children: t
13
- }
14
- )
15
- );
5
+ import '../../../slim_button.css';const u = "_slim-button_188fdc3", c = { "slim-button": u }, b = i.forwardRef(({ children: t, className: o, ...m }, r) => /* @__PURE__ */ s(
6
+ n,
7
+ {
8
+ ref: r,
9
+ className: l(c["slim-button"], "tcn-slim-button", o),
10
+ utility: !0,
11
+ ...m,
12
+ children: t
13
+ }
14
+ ));
16
15
  export {
17
16
  b as SlimButton
18
17
  };
@@ -1 +1 @@
1
- {"version":3,"file":"slim_button.js","sources":["../../../../src/actions/button/slim_button/slim_button.tsx"],"sourcesContent":["import React from 'react';\nimport { Button, ButtonProps } from '../button/button.js';\nimport { clsx } from 'clsx';\n// Styles\nimport styles from './slim_button.module.css';\n\nexport const SlimButton = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({ children, className, ...props }, ref) => {\n return (\n <Button\n ref={ref}\n className={clsx(styles['slim-button'], 'tcn-slim-button', className)}\n {...props}\n >\n {children}\n </Button>\n );\n }\n);\n"],"names":["SlimButton","React","children","className","props","ref","jsx","Button","clsx","styles"],"mappings":";;;;4DAMaA,IAAaC,EAAM;AAAA,EAC9B,CAAC,EAAE,UAAAC,GAAU,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAEhC,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,KAAAF;AAAA,MACA,WAAWG,EAAKC,EAAO,aAAa,GAAG,mBAAmBN,CAAS;AAAA,MAClE,GAAGC;AAAA,MAEH,UAAAF;AAAA,IAAA;AAAA,EAAA;AAIT;"}
1
+ {"version":3,"file":"slim_button.js","sources":["../../../../src/actions/button/slim_button/slim_button.tsx"],"sourcesContent":["import React from 'react';\nimport { Button, ButtonProps } from '../button/button.js';\nimport { clsx } from 'clsx';\n// Styles\nimport styles from './slim_button.module.css';\n\n/**\n * @deprecated - use Button instead (utility=true)\n * @param props - ButtonProps\n * @returns SlimButton\n */\nexport const SlimButton = React.forwardRef<\n HTMLButtonElement,\n Omit<ButtonProps, 'utility'>\n>(({ children, className, ...props }, ref) => {\n return (\n <Button\n ref={ref}\n className={clsx(styles['slim-button'], 'tcn-slim-button', className)}\n utility={true}\n {...props}\n >\n {children}\n </Button>\n );\n});\n"],"names":["SlimButton","React","children","className","props","ref","jsx","Button","clsx","styles"],"mappings":";;;;4DAWaA,IAAaC,EAAM,WAG9B,CAAC,EAAE,UAAAC,GAAU,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAElC,gBAAAC;AAAA,EAACC;AAAA,EAAA;AAAA,IACC,KAAAF;AAAA,IACA,WAAWG,EAAKC,EAAO,aAAa,GAAG,mBAAmBN,CAAS;AAAA,IACnE,SAAS;AAAA,IACR,GAAGC;AAAA,IAEH,UAAAF;AAAA,EAAA;AAAA,CAGN;"}
@@ -0,0 +1,9 @@
1
+ import { default as React } from 'react';
2
+ import { BaseButtonProps } from '../button/base_button/base_button.js';
3
+ export interface ToggleOwnProps {
4
+ selected?: boolean;
5
+ }
6
+ export interface ToggleProps extends BaseButtonProps, ToggleOwnProps {
7
+ }
8
+ export declare const Toggle: React.ForwardRefExoticComponent<Omit<ToggleProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
9
+ //# sourceMappingURL=toggle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toggle.d.ts","sourceRoot":"","sources":["../../../src/actions/toggle/toggle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAExF,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,WAAY,SAAQ,eAAe,EAAE,cAAc;CAAG;AAEvE,eAAO,MAAM,MAAM,oGAejB,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { jsx as s } from "react/jsx-runtime";
2
+ import f from "react";
3
+ import { clsx as m } from "clsx";
4
+ import { BaseButton as i } from "../button/base_button/base_button.js";
5
+ const d = f.forwardRef(function({ selected: o = !1, children: r, className: t, ...e }, a) {
6
+ return /* @__PURE__ */ s(
7
+ i,
8
+ {
9
+ "aria-pressed": o,
10
+ "data-is-selected": o,
11
+ ref: a,
12
+ className: m("tcn-toggle", t),
13
+ ...e,
14
+ children: r
15
+ }
16
+ );
17
+ });
18
+ export {
19
+ d as Toggle
20
+ };
21
+ //# sourceMappingURL=toggle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toggle.js","sources":["../../../src/actions/toggle/toggle.tsx"],"sourcesContent":["import React from 'react';\nimport { clsx } from 'clsx';\nimport { BaseButton, type BaseButtonProps } from '../button/base_button/base_button.js';\n\nexport interface ToggleOwnProps {\n selected?: boolean;\n}\n\nexport interface ToggleProps extends BaseButtonProps, ToggleOwnProps {}\n\nexport const Toggle = React.forwardRef<HTMLButtonElement, ToggleProps>(function Toggle(\n { selected = false, children, className, ...props },\n ref\n) {\n return (\n <BaseButton\n aria-pressed={selected}\n data-is-selected={selected}\n ref={ref}\n className={clsx('tcn-toggle', className)}\n {...props}\n >\n {children}\n </BaseButton>\n );\n});\n"],"names":["Toggle","React","selected","children","className","props","ref","jsx","BaseButton","clsx"],"mappings":";;;;AAUO,MAAMA,IAASC,EAAM,WAA2C,SACrE,EAAE,UAAAC,IAAW,IAAO,UAAAC,GAAU,WAAAC,GAAW,GAAGC,EAAA,GAC5CC,GACA;AACA,SACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,gBAAcN;AAAA,MACd,oBAAkBA;AAAA,MAClB,KAAAI;AAAA,MACA,WAAWG,EAAK,cAAcL,CAAS;AAAA,MACtC,GAAGC;AAAA,MAEH,UAAAF;AAAA,IAAA;AAAA,EAAA;AAGP,CAAC;"}
@@ -1,9 +1,9 @@
1
- import { jsx as t, jsxs as l, Fragment as m } from "react/jsx-runtime";
1
+ import { jsx as t, Fragment as l, jsxs as m } from "react/jsx-runtime";
2
2
  import { useSignalValue as f, useRunnerStatus as g, useRunnerError as S, Status as s } from "@tcn/state";
3
3
  import { Loading as h } from "../loading/loading.js";
4
4
  import { HStack as E } from "../../stacks/h_stack.js";
5
5
  import { VStack as d } from "../../stacks/v_stack.js";
6
- const p = () => /* @__PURE__ */ t(d, { vAlign: "center", height: "100%", width: "auto", children: /* @__PURE__ */ t(h, {}) }), R = ({ message: r }) => /* @__PURE__ */ l(E, { width: "auto", height: "100%", style: { color: "var(--status-error)" }, children: [
6
+ const p = () => /* @__PURE__ */ t(d, { vAlign: "center", height: "100%", width: "auto", children: /* @__PURE__ */ t(h, {}) }), R = ({ message: r }) => /* @__PURE__ */ m(E, { width: "auto", height: "100%", style: { color: "var(--status-error)" }, children: [
7
7
  "Error: ",
8
8
  r || "An Error Occurred"
9
9
  ] });
@@ -11,7 +11,7 @@ function C({ runner: r, pending: a, children: o, error: n }) {
11
11
  const u = f(r), c = g(r), e = S(r);
12
12
  switch (c) {
13
13
  case s.PENDING:
14
- return /* @__PURE__ */ t(m, { children: a || /* @__PURE__ */ t(p, {}) });
14
+ return /* @__PURE__ */ t(l, { children: a || /* @__PURE__ */ t(p, {}) });
15
15
  case s.SUCCESS:
16
16
  return typeof o == "function" ? o(u) : o;
17
17
  case s.ERROR:
@@ -0,0 +1,6 @@
1
+ import { d as a, _ as i, r as m } from "./showcase-DK557szS.js";
2
+ var t = i(m(), 1), f = (0, t.default)(2)(async (e, r) => e === !1 ? r : a(r));
3
+ export {
4
+ f as formatter
5
+ };
6
+ //# sourceMappingURL=formatter-EIJCOSYU-D6nmx63h.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatter-EIJCOSYU-D6nmx63h.js","sources":["../../../node_modules/.pnpm/storybook@10.2.0_@testing-library+dom@10.4.1_prettier@2.8.8_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/storybook/dist/_browser-chunks/formatter-EIJCOSYU.js"],"sourcesContent":["import {\n require_memoizerific\n} from \"./chunk-ZCFV7BZB.js\";\nimport {\n dedent\n} from \"./chunk-3LY4VQVK.js\";\nimport {\n __toESM\n} from \"./chunk-A242L54C.js\";\n\n// src/components/components/syntaxhighlighter/formatter.ts\nvar import_memoizerific = __toESM(require_memoizerific(), 1);\nvar formatter = (0, import_memoizerific.default)(2)(async (type, source) => type === !1 ? source : dedent(source));\nexport {\n formatter\n};\n"],"names":["import_memoizerific","__toESM","require_memoizerific","formatter","type","source","dedent"],"mappings":";AAWA,IAAIA,IAAsBC,EAAQC,EAAoB,GAAI,CAAC,GACvDC,QAAgBH,EAAoB,SAAS,CAAC,EAAE,OAAOI,GAAMC,MAAWD,MAAS,KAAKC,IAASC,EAAOD,CAAM,CAAC;","x_google_ignoreList":[0]}
@@ -1 +1 @@
1
- {"version":3,"file":"mask.d.ts","sourceRoot":"","sources":["../../../src/inputs/mask_input/mask.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAY9C,qBAAa,IAAK,YAAW,UAAU;IACrC,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,WAAW,CAAc;IAEjC,IAAI,gBAAgB,cAEnB;gBAEW,MAAM,EAAE,UAAU;IAK9B,SAAS,IAAI,IAAI;IAKjB,QAAQ,IAAI,IAAI;IAShB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAMnC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAY9B,iBAAiB,IAAI,MAAM;IAI3B,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAclC,UAAU,CAAC,SAAS,EAAE,MAAM;IAc5B,eAAe,IAAI,IAAI;IAIvB,QAAQ,IAAI,IAAI;IAKhB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM;IAQtC,cAAc;IAiCd,mBAAmB,CAAC,KAAK,EAAE,MAAM;IAUjC,kBAAkB,CAAC,KAAK,EAAE,MAAM;IAUhC,wBAAwB,IAAI,OAAO;IAenC,iCAAiC,CAAC,KAAK,SAA2B,GAAG,OAAO;IAI5E,QAAQ;IAIR,QAAQ;IAIR,eAAe;IAIf,cAAc;IAId,kBAAkB,IAAI,MAAM;IAI5B,uBAAuB,IAAI,MAAM;IAIjC,kCAAkC,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM;IAclE,uCAAuC,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAiBlE,uBAAuB,IAAI,MAAM;IASjC,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAS9C,OAAO,CAAC,eAAe;IAwBvB,OAAO,CAAC,SAAS;IAiBjB,OAAO,CAAC,aAAa;CAUtB"}
1
+ {"version":3,"file":"mask.d.ts","sourceRoot":"","sources":["../../../src/inputs/mask_input/mask.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAkB9C,qBAAa,IAAK,YAAW,UAAU;IACrC,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,WAAW,CAAc;IAEjC,IAAI,gBAAgB,cAEnB;gBAEW,MAAM,EAAE,UAAU;IAK9B,SAAS,IAAI,IAAI;IAKjB,QAAQ,IAAI,IAAI;IAShB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAMnC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAY9B,iBAAiB,IAAI,MAAM;IAI3B,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAclC,UAAU,CAAC,SAAS,EAAE,MAAM;IAc5B,eAAe,IAAI,IAAI;IAIvB,QAAQ,IAAI,IAAI;IAKhB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM;IAQtC,cAAc;IAiCd,mBAAmB,CAAC,KAAK,EAAE,MAAM;IAUjC,kBAAkB,CAAC,KAAK,EAAE,MAAM;IAUhC,wBAAwB,IAAI,OAAO;IAenC,iCAAiC,CAAC,KAAK,SAA2B,GAAG,OAAO;IAI5E,QAAQ;IAIR,QAAQ;IAIR,eAAe;IAIf,cAAc;IAId,kBAAkB,IAAI,MAAM;IAI5B,uBAAuB,IAAI,MAAM;IAIjC,kCAAkC,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM;IAclE,uCAAuC,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAiBlE,uBAAuB,IAAI,MAAM;IASjC,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAS9C,OAAO,CAAC,eAAe;IAwBvB,OAAO,CAAC,SAAS;IAiBjB,OAAO,CAAC,aAAa;CAUtB"}
@@ -1 +1 @@
1
- {"version":3,"file":"mask.js","sources":["../../../src/inputs/mask_input/mask.ts"],"sourcesContent":["import { AlphaCharacter } from './alpha_character.js';\nimport { AlphaNumericCharacter } from './alpha_numeric_character.js';\nimport { Character } from './character.js';\nimport { ConstantCharacter } from './constant_character.js';\nimport { LanguageCharacter } from './language_character.js';\nimport { MaskConfig } from './mask_config.js';\nimport { MaskCursor } from './mask_cursor.js';\nimport { NumericCharacter } from './numeric_character.js';\n\nconst characterMap = {\n a: AlphaCharacter,\n '9': NumericCharacter,\n '*': AlphaNumericCharacter,\n u: LanguageCharacter,\n};\n\nconst dynamicCharacters = Object.keys(characterMap);\n\nexport class Mask implements MaskCursor {\n private _cursorPosition: number;\n private _characters: Character[];\n\n get currentCharacter() {\n return this._characters[this._cursorPosition];\n }\n\n constructor(config: MaskConfig) {\n this._cursorPosition = 0;\n this._characters = this._makeCharacters(config);\n }\n\n moveRight(): void {\n this._cursorPosition = Math.min(this._characters.length, this._cursorPosition + 1);\n this.currentCharacter && this.currentCharacter.enterFromLeft(this);\n }\n\n moveLeft(): void {\n if (this._cursorPosition === 0) {\n return;\n }\n\n this._cursorPosition = Math.max(0, this._cursorPosition - 1);\n this.currentCharacter && this.currentCharacter.enterFromRight(this);\n }\n\n forceMoveTo(position: number): void {\n const finalPosition = Math.min(this.getCharacterLength(), position);\n\n this._cursorPosition = finalPosition;\n }\n\n moveTo(position: number): void {\n const prevCharacter = this._characters[position - 1];\n const isCursorBeyond = position >= this._characters.length;\n this._cursorPosition = position;\n\n if (isCursorBeyond && prevCharacter && !prevCharacter.isFilled()) {\n this.moveLeft();\n }\n\n this.currentCharacter && this.currentCharacter.enter(this);\n }\n\n getCursorPosition(): number {\n return this._cursorPosition;\n }\n\n insert(character: string): boolean {\n const parts = [...character];\n\n if (parts.length > 1) {\n throw new Error('You can only insert a single character.');\n }\n\n if (this.currentCharacter) {\n return this.currentCharacter.insert(character, this);\n }\n\n return false;\n }\n\n insertPush(character: string) {\n const parts = [...character];\n\n if (parts.length > 1) {\n throw new Error('You can only insert a single character.');\n }\n\n if (this.currentCharacter != null && this.currentCharacter.type !== 'constant') {\n return this.currentCharacter.insert(character, this);\n }\n\n return false;\n }\n\n deleteCharacter(): void {\n this.currentCharacter && this.currentCharacter.delete();\n }\n\n clearAll(): void {\n this._characters.forEach(c => c.delete());\n this._cursorPosition = 0;\n }\n\n clearRange(start: number, end?: number) {\n end = end == null ? this._characters.length - 1 : end;\n\n for (let i = start; i < end; i++) {\n this._characters[i] && this._characters[i].delete();\n }\n }\n\n getFilledValue() {\n const cursorPosition = this._cursorPosition;\n const characters: string[] = [];\n\n for (let x = 0; x < this._characters.length; x++) {\n const c = this._characters[x];\n\n if (!c.isFilled() && c.type !== 'constant') {\n let hasMoreFilled = false;\n for (let i = x; i < this._characters.length; i++) {\n const character = this._characters[i];\n if (character.isFilled() && character.type !== 'constant') {\n hasMoreFilled = true;\n break;\n }\n }\n\n if (!hasMoreFilled) {\n while (cursorPosition > x) {\n const constantCharacter = this._characters[x];\n characters.push(constantCharacter.value);\n x++;\n }\n break;\n }\n }\n\n characters.push(c.value);\n }\n\n return characters.join('');\n }\n\n isFilledBeyondIndex(index: number) {\n for (let x = index + 1; x < this._characters.length; x++) {\n if (this._characters[x].isFilled() && this._characters[x].type !== 'constant') {\n return true;\n }\n }\n\n return false;\n }\n\n isEmptyBeforeIndex(index: number) {\n for (let x = index - 1; x > 0; x--) {\n if (!this._characters[x].isFilled()) {\n return true;\n }\n }\n\n return false;\n }\n\n isPreviousCharacterEmpty(): boolean {\n const index = this._cursorPosition - 1;\n const character = this._characters[index];\n\n if (character == null) {\n return false;\n }\n\n if (character.type === 'constant' && !this.arePreviousCharactersAllConstants()) {\n return true;\n }\n\n return !character.isFilled();\n }\n\n arePreviousCharactersAllConstants(index = this._cursorPosition - 1): boolean {\n return this._characters.slice(0, index).every(c => c.type === 'constant');\n }\n\n ifFilled() {\n return this._characters.filter(c => c.type !== 'constant').every(c => c.isFilled());\n }\n\n getValue() {\n return this._characters.map(c => c.value).join('');\n }\n\n getFilledLength() {\n return this.getFilledValue().length;\n }\n\n getValueLength() {\n return this.getValue().length;\n }\n\n getCharacterLength(): number {\n return this._characters.length;\n }\n\n getInsertableSlotLength(): number {\n return this._characters.filter(c => c.type !== 'constant').length;\n }\n\n getInsertableSlotIndexForCharacter(characterIndex: number): number {\n let insertableSlotCount = 0;\n const length = Math.min(characterIndex, this._characters.length - 1);\n\n for (let x = 0; x < length; x++) {\n const character = this._characters[x];\n if (character.type !== 'constant') {\n insertableSlotCount++;\n }\n }\n\n return insertableSlotCount;\n }\n\n getCharacterIndexforInsertableSlotIndex(slotIndex: number): number {\n let insertableSlotCount = 0;\n\n for (let x = 0; x < this._characters.length; x++) {\n const character = this._characters[x];\n if (character.type !== 'constant') {\n insertableSlotCount++;\n }\n\n if (insertableSlotCount > slotIndex) {\n return x;\n }\n }\n\n return this._characters.length;\n }\n\n getInsertableSlotValues(): string {\n const values = this._characters\n .filter(c => c.type !== 'constant' && c.isFilled())\n .map(c => c.value)\n .join('');\n\n return values;\n }\n\n getValueWithinRange(start: number, end: number) {\n const characters: string[] = [];\n for (let x = start; x < end; x++) {\n characters.push(this._characters[x].value);\n }\n\n return characters.join('');\n }\n\n private _makeCharacters(config: MaskConfig) {\n const { mask, placeholder } = config;\n const characters: Character[] = [];\n const { maskParts, placeholderParts } = this._getParts(mask, placeholder);\n\n for (let x = 0; x < maskParts.length; x++) {\n let character = maskParts[x];\n let placeholderCharacter = placeholderParts[x];\n const isEscaping = character === '\\\\';\n const CharacterType = characterMap[character];\n if (isEscaping || CharacterType == null) {\n if (isEscaping) {\n x++;\n character = maskParts[x];\n }\n characters.push(new ConstantCharacter(character, placeholderCharacter));\n } else {\n characters.push(new CharacterType(character, placeholderCharacter));\n }\n }\n\n return characters;\n }\n\n private _getParts(mask: string, placeholder?: string) {\n const parts = [...mask];\n const placeholderParts =\n placeholder != null ? [...placeholder] : new Array(parts.length);\n if (placeholderParts.length !== parts.length) {\n throw new Error(\n 'Invalid mask overlay. It needs to be the exact character length as the mask.'\n );\n }\n this._validateMask(mask, parts);\n\n return {\n maskParts: parts,\n placeholderParts: placeholderParts,\n };\n }\n\n private _validateMask(mask: string, parts: string[]) {\n if (mask.length === 0) {\n throw new Error('Mask cannot be an empty string.');\n }\n\n const constants = parts.filter(c => dynamicCharacters.indexOf(c) === -1);\n if (constants.length === parts.length) {\n throw new Error('You cannot have a mask that is all constants.');\n }\n }\n}\n"],"names":["characterMap","AlphaCharacter","NumericCharacter","AlphaNumericCharacter","LanguageCharacter","dynamicCharacters","Mask","config","position","finalPosition","prevCharacter","isCursorBeyond","character","c","start","end","i","cursorPosition","characters","x","hasMoreFilled","constantCharacter","index","characterIndex","insertableSlotCount","length","slotIndex","mask","placeholder","maskParts","placeholderParts","placeholderCharacter","isEscaping","CharacterType","ConstantCharacter","parts"],"mappings":"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"}
1
+ {"version":3,"file":"mask.js","sources":["../../../src/inputs/mask_input/mask.ts"],"sourcesContent":["import { AlphaCharacter } from './alpha_character.js';\nimport { AlphaNumericCharacter } from './alpha_numeric_character.js';\nimport { Character } from './character.js';\nimport { ConstantCharacter } from './constant_character.js';\nimport { LanguageCharacter } from './language_character.js';\nimport { MaskConfig } from './mask_config.js';\nimport { MaskCursor } from './mask_cursor.js';\nimport { NumericCharacter } from './numeric_character.js';\n\nconst characterMap: Record<\n string,\n | typeof AlphaCharacter\n | typeof NumericCharacter\n | typeof AlphaNumericCharacter\n | typeof LanguageCharacter\n> = {\n a: AlphaCharacter,\n '9': NumericCharacter,\n '*': AlphaNumericCharacter,\n u: LanguageCharacter,\n};\n\nconst dynamicCharacters = Object.keys(characterMap);\n\nexport class Mask implements MaskCursor {\n private _cursorPosition: number;\n private _characters: Character[];\n\n get currentCharacter() {\n return this._characters[this._cursorPosition];\n }\n\n constructor(config: MaskConfig) {\n this._cursorPosition = 0;\n this._characters = this._makeCharacters(config);\n }\n\n moveRight(): void {\n this._cursorPosition = Math.min(this._characters.length, this._cursorPosition + 1);\n this.currentCharacter && this.currentCharacter.enterFromLeft(this);\n }\n\n moveLeft(): void {\n if (this._cursorPosition === 0) {\n return;\n }\n\n this._cursorPosition = Math.max(0, this._cursorPosition - 1);\n this.currentCharacter && this.currentCharacter.enterFromRight(this);\n }\n\n forceMoveTo(position: number): void {\n const finalPosition = Math.min(this.getCharacterLength(), position);\n\n this._cursorPosition = finalPosition;\n }\n\n moveTo(position: number): void {\n const prevCharacter = this._characters[position - 1];\n const isCursorBeyond = position >= this._characters.length;\n this._cursorPosition = position;\n\n if (isCursorBeyond && prevCharacter && !prevCharacter.isFilled()) {\n this.moveLeft();\n }\n\n this.currentCharacter && this.currentCharacter.enter(this);\n }\n\n getCursorPosition(): number {\n return this._cursorPosition;\n }\n\n insert(character: string): boolean {\n const parts = [...character];\n\n if (parts.length > 1) {\n throw new Error('You can only insert a single character.');\n }\n\n if (this.currentCharacter) {\n return this.currentCharacter.insert(character, this);\n }\n\n return false;\n }\n\n insertPush(character: string) {\n const parts = [...character];\n\n if (parts.length > 1) {\n throw new Error('You can only insert a single character.');\n }\n\n if (this.currentCharacter != null && this.currentCharacter.type !== 'constant') {\n return this.currentCharacter.insert(character, this);\n }\n\n return false;\n }\n\n deleteCharacter(): void {\n this.currentCharacter && this.currentCharacter.delete();\n }\n\n clearAll(): void {\n this._characters.forEach(c => c.delete());\n this._cursorPosition = 0;\n }\n\n clearRange(start: number, end?: number) {\n end = end == null ? this._characters.length - 1 : end;\n\n for (let i = start; i < end; i++) {\n this._characters[i] && this._characters[i].delete();\n }\n }\n\n getFilledValue() {\n const cursorPosition = this._cursorPosition;\n const characters: string[] = [];\n\n for (let x = 0; x < this._characters.length; x++) {\n const c = this._characters[x];\n\n if (!c.isFilled() && c.type !== 'constant') {\n let hasMoreFilled = false;\n for (let i = x; i < this._characters.length; i++) {\n const character = this._characters[i];\n if (character.isFilled() && character.type !== 'constant') {\n hasMoreFilled = true;\n break;\n }\n }\n\n if (!hasMoreFilled) {\n while (cursorPosition > x) {\n const constantCharacter = this._characters[x];\n characters.push(constantCharacter.value);\n x++;\n }\n break;\n }\n }\n\n characters.push(c.value);\n }\n\n return characters.join('');\n }\n\n isFilledBeyondIndex(index: number) {\n for (let x = index + 1; x < this._characters.length; x++) {\n if (this._characters[x].isFilled() && this._characters[x].type !== 'constant') {\n return true;\n }\n }\n\n return false;\n }\n\n isEmptyBeforeIndex(index: number) {\n for (let x = index - 1; x > 0; x--) {\n if (!this._characters[x].isFilled()) {\n return true;\n }\n }\n\n return false;\n }\n\n isPreviousCharacterEmpty(): boolean {\n const index = this._cursorPosition - 1;\n const character = this._characters[index];\n\n if (character == null) {\n return false;\n }\n\n if (character.type === 'constant' && !this.arePreviousCharactersAllConstants()) {\n return true;\n }\n\n return !character.isFilled();\n }\n\n arePreviousCharactersAllConstants(index = this._cursorPosition - 1): boolean {\n return this._characters.slice(0, index).every(c => c.type === 'constant');\n }\n\n ifFilled() {\n return this._characters.filter(c => c.type !== 'constant').every(c => c.isFilled());\n }\n\n getValue() {\n return this._characters.map(c => c.value).join('');\n }\n\n getFilledLength() {\n return this.getFilledValue().length;\n }\n\n getValueLength() {\n return this.getValue().length;\n }\n\n getCharacterLength(): number {\n return this._characters.length;\n }\n\n getInsertableSlotLength(): number {\n return this._characters.filter(c => c.type !== 'constant').length;\n }\n\n getInsertableSlotIndexForCharacter(characterIndex: number): number {\n let insertableSlotCount = 0;\n const length = Math.min(characterIndex, this._characters.length - 1);\n\n for (let x = 0; x < length; x++) {\n const character = this._characters[x];\n if (character.type !== 'constant') {\n insertableSlotCount++;\n }\n }\n\n return insertableSlotCount;\n }\n\n getCharacterIndexforInsertableSlotIndex(slotIndex: number): number {\n let insertableSlotCount = 0;\n\n for (let x = 0; x < this._characters.length; x++) {\n const character = this._characters[x];\n if (character.type !== 'constant') {\n insertableSlotCount++;\n }\n\n if (insertableSlotCount > slotIndex) {\n return x;\n }\n }\n\n return this._characters.length;\n }\n\n getInsertableSlotValues(): string {\n const values = this._characters\n .filter(c => c.type !== 'constant' && c.isFilled())\n .map(c => c.value)\n .join('');\n\n return values;\n }\n\n getValueWithinRange(start: number, end: number) {\n const characters: string[] = [];\n for (let x = start; x < end; x++) {\n characters.push(this._characters[x].value);\n }\n\n return characters.join('');\n }\n\n private _makeCharacters(config: MaskConfig) {\n const { mask, placeholder } = config;\n const characters: Character[] = [];\n const { maskParts, placeholderParts } = this._getParts(mask, placeholder);\n\n for (let x = 0; x < maskParts.length; x++) {\n let character = maskParts[x];\n let placeholderCharacter = placeholderParts[x];\n const isEscaping = character === '\\\\';\n const CharacterType = characterMap[character];\n if (isEscaping || CharacterType == null) {\n if (isEscaping) {\n x++;\n character = maskParts[x];\n }\n characters.push(new ConstantCharacter(character, placeholderCharacter));\n } else {\n characters.push(new CharacterType(character, placeholderCharacter));\n }\n }\n\n return characters;\n }\n\n private _getParts(mask: string, placeholder?: string) {\n const parts = [...mask];\n const placeholderParts =\n placeholder != null ? [...placeholder] : new Array(parts.length);\n if (placeholderParts.length !== parts.length) {\n throw new Error(\n 'Invalid mask overlay. It needs to be the exact character length as the mask.'\n );\n }\n this._validateMask(mask, parts);\n\n return {\n maskParts: parts,\n placeholderParts: placeholderParts,\n };\n }\n\n private _validateMask(mask: string, parts: string[]) {\n if (mask.length === 0) {\n throw new Error('Mask cannot be an empty string.');\n }\n\n const constants = parts.filter(c => dynamicCharacters.indexOf(c) === -1);\n if (constants.length === parts.length) {\n throw new Error('You cannot have a mask that is all constants.');\n }\n }\n}\n"],"names":["characterMap","AlphaCharacter","NumericCharacter","AlphaNumericCharacter","LanguageCharacter","dynamicCharacters","Mask","config","position","finalPosition","prevCharacter","isCursorBeyond","character","c","start","end","i","cursorPosition","characters","x","hasMoreFilled","constantCharacter","index","characterIndex","insertableSlotCount","length","slotIndex","mask","placeholder","maskParts","placeholderParts","placeholderCharacter","isEscaping","CharacterType","ConstantCharacter","parts"],"mappings":"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"}
@@ -11,7 +11,8 @@ import { Chip as u } from "../../tokens/chip/chip.js";
11
11
  import "../../tokens/badge/badge.js";
12
12
  import "../../tokens/bubble/bubble.js";
13
13
  import m from "clsx";
14
- function v({
14
+ import "../../stacks/h_stack.js";
15
+ function w({
15
16
  values: o,
16
17
  disabled: s,
17
18
  onRemove: l
@@ -45,6 +46,6 @@ function v({
45
46
  return t.length === 0 ? null : /* @__PURE__ */ r(c, { children: t });
46
47
  }
47
48
  export {
48
- v as MultiselectInlineValues
49
+ w as MultiselectInlineValues
49
50
  };
50
51
  //# sourceMappingURL=multiselect_inline_values.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"multiselect_inline_values.js","sources":["../../../src/inputs/multiselect/multiselect_inline_values.tsx"],"sourcesContent":["import React from 'react';\nimport styles from './multiselect_values.module.css';\nimport { CrossIcon } from '@tcn/icons/cross_icon.js';\nimport { SlimButton } from '../../actions/index.js';\nimport { OptionProps } from '../options/option.js';\nimport { Chip } from '../../tokens/index.js';\nimport clsx from 'clsx';\n\nexport interface MultiselectInlineValuesProps {\n values: React.ReactElement<OptionProps>[];\n disabled: boolean;\n onRemove: (value: React.ReactElement<OptionProps>) => void;\n}\n\nexport function MultiselectInlineValues({\n values,\n disabled,\n onRemove,\n}: MultiselectInlineValuesProps) {\n const items = values.map((v, index) => {\n return (\n <Chip\n hAlign=\"start\"\n className={clsx(styles.chip, 'tcn-multiselect-chip')}\n key={index}\n paddingInlineStart=\"8px\"\n width=\"auto\"\n >\n <span>{v.props.label}</span>\n <SlimButton\n disabled={disabled}\n size=\"sm\"\n hierarchy=\"tertiary\"\n className={clsx(styles.remove, 'tcn-multiselect-chip-remove')}\n onClick={() => {\n onRemove(v);\n }}\n >\n <CrossIcon size=\"xs\" />\n </SlimButton>\n </Chip>\n );\n });\n\n if (items.length === 0) {\n return null;\n }\n\n return <>{items}</>;\n}\n"],"names":["MultiselectInlineValues","values","disabled","onRemove","items","v","index","jsxs","Chip","clsx","styles","jsx","SlimButton","CrossIcon"],"mappings":";;;;;;;;;;;;;AAcO,SAASA,EAAwB;AAAA,EACtC,QAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC;AACF,GAAiC;AAC/B,QAAMC,IAAQH,EAAO,IAAI,CAACI,GAAGC,MAEzB,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,QAAO;AAAA,MACP,WAAWC,EAAKC,EAAO,MAAM,sBAAsB;AAAA,MAEnD,oBAAmB;AAAA,MACnB,OAAM;AAAA,MAEN,UAAA;AAAA,QAAA,gBAAAC,EAAC,QAAA,EAAM,UAAAN,EAAE,MAAM,OAAM;AAAA,QACrB,gBAAAM;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,UAAAV;AAAA,YACA,MAAK;AAAA,YACL,WAAU;AAAA,YACV,WAAWO,EAAKC,EAAO,QAAQ,6BAA6B;AAAA,YAC5D,SAAS,MAAM;AACb,cAAAP,EAASE,CAAC;AAAA,YACZ;AAAA,YAEA,UAAA,gBAAAM,EAACE,GAAA,EAAU,MAAK,KAAA,CAAK;AAAA,UAAA;AAAA,QAAA;AAAA,MACvB;AAAA,IAAA;AAAA,IAfKP;AAAA,EAAA,CAkBV;AAED,SAAIF,EAAM,WAAW,IACZ,8BAGC,UAAAA,EAAA,CAAM;AAClB;"}
1
+ {"version":3,"file":"multiselect_inline_values.js","sources":["../../../src/inputs/multiselect/multiselect_inline_values.tsx"],"sourcesContent":["import React from 'react';\nimport styles from './multiselect_values.module.css';\nimport { CrossIcon } from '@tcn/icons/cross_icon.js';\nimport { SlimButton } from '../../actions/index.js';\nimport { OptionProps } from '../options/option.js';\nimport { Chip } from '../../tokens/index.js';\nimport clsx from 'clsx';\n\nexport interface MultiselectInlineValuesProps {\n values: React.ReactElement<OptionProps>[];\n disabled: boolean;\n onRemove: (value: React.ReactElement<OptionProps>) => void;\n}\n\nexport function MultiselectInlineValues({\n values,\n disabled,\n onRemove,\n}: MultiselectInlineValuesProps) {\n const items = values.map((v, index) => {\n return (\n <Chip\n hAlign=\"start\"\n className={clsx(styles.chip, 'tcn-multiselect-chip')}\n key={index}\n paddingInlineStart=\"8px\"\n width=\"auto\"\n >\n <span>{v.props.label}</span>\n <SlimButton\n disabled={disabled}\n size=\"sm\"\n hierarchy=\"tertiary\"\n className={clsx(styles.remove, 'tcn-multiselect-chip-remove')}\n onClick={() => {\n onRemove(v);\n }}\n >\n <CrossIcon size=\"xs\" />\n </SlimButton>\n </Chip>\n );\n });\n\n if (items.length === 0) {\n return null;\n }\n\n return <>{items}</>;\n}\n"],"names":["MultiselectInlineValues","values","disabled","onRemove","items","v","index","jsxs","Chip","clsx","styles","jsx","SlimButton","CrossIcon"],"mappings":";;;;;;;;;;;;;;AAcO,SAASA,EAAwB;AAAA,EACtC,QAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC;AACF,GAAiC;AAC/B,QAAMC,IAAQH,EAAO,IAAI,CAACI,GAAGC,MAEzB,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,QAAO;AAAA,MACP,WAAWC,EAAKC,EAAO,MAAM,sBAAsB;AAAA,MAEnD,oBAAmB;AAAA,MACnB,OAAM;AAAA,MAEN,UAAA;AAAA,QAAA,gBAAAC,EAAC,QAAA,EAAM,UAAAN,EAAE,MAAM,OAAM;AAAA,QACrB,gBAAAM;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,UAAAV;AAAA,YACA,MAAK;AAAA,YACL,WAAU;AAAA,YACV,WAAWO,EAAKC,EAAO,QAAQ,6BAA6B;AAAA,YAC5D,SAAS,MAAM;AACb,cAAAP,EAASE,CAAC;AAAA,YACZ;AAAA,YAEA,UAAA,gBAAAM,EAACE,GAAA,EAAU,MAAK,KAAA,CAAK;AAAA,UAAA;AAAA,QAAA;AAAA,MACvB;AAAA,IAAA;AAAA,IAfKP;AAAA,EAAA,CAkBV;AAED,SAAIF,EAAM,WAAW,IACZ,8BAGC,UAAAA,EAAA,CAAM;AAClB;"}
@@ -11,7 +11,8 @@ import "../../actions/button/select_group/single_select_group.js";
11
11
  import { Chip as u } from "../../tokens/chip/chip.js";
12
12
  import "../../tokens/badge/badge.js";
13
13
  import "../../tokens/bubble/bubble.js";
14
- function k({
14
+ import "../../stacks/h_stack.js";
15
+ function A({
15
16
  values: s,
16
17
  disabled: e,
17
18
  className: l,
@@ -57,6 +58,6 @@ function k({
57
58
  );
58
59
  }
59
60
  export {
60
- k as MultiselectValues
61
+ A as MultiselectValues
61
62
  };
62
63
  //# sourceMappingURL=multiselect_values.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"multiselect_values.js","sources":["../../../src/inputs/multiselect/multiselect_values.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport React from 'react';\nimport styles from './multiselect_values.module.css';\nimport { CrossIcon } from '@tcn/icons/cross_icon.js';\nimport { OptionProps } from '../options/option.js';\nimport { SlimButton } from '../../actions/index.js';\nimport { Chip } from '../../tokens/index.js';\n\nexport interface MultiselectValueProps {\n values: React.ReactElement<OptionProps>[];\n disabled: boolean;\n onRemove: (value: React.ReactElement<OptionProps>) => void;\n className?: string;\n}\n\nexport function MultiselectValues({\n values,\n disabled,\n className,\n onRemove,\n}: MultiselectValueProps) {\n const items = values.map((v, index) => {\n return (\n <Chip\n hAlign=\"start\"\n color=\"rgb(57, 85, 120)\"\n className={clsx(styles.chip, 'tcn-multiselect-chip')}\n key={index}\n paddingInlineStart=\"8px\"\n >\n <span>{v.props.label}</span>\n <SlimButton\n disabled={disabled}\n size=\"sm\"\n hierarchy=\"tertiary\"\n className={clsx(styles.remove, 'tcn-multiselect-chip-remove')}\n onClick={() => {\n onRemove(v);\n }}\n >\n <CrossIcon size=\"xs\" />\n </SlimButton>\n </Chip>\n );\n });\n\n if (items.length === 0) {\n return null;\n }\n\n return (\n <div\n className={clsx(\n styles['item-container'],\n className,\n 'tcn-multiselect-values-container'\n )}\n data-is-disabled={disabled}\n >\n {items}\n </div>\n );\n}\n"],"names":["MultiselectValues","values","disabled","className","onRemove","items","v","index","jsxs","Chip","clsx","styles","jsx","SlimButton","CrossIcon"],"mappings":";;;;;;;;;;;;;AAeO,SAASA,EAAkB;AAAA,EAChC,QAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC;AACF,GAA0B;AACxB,QAAMC,IAAQJ,EAAO,IAAI,CAACK,GAAGC,MAEzB,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,QAAO;AAAA,MACP,OAAM;AAAA,MACN,WAAWC,EAAKC,EAAO,MAAM,sBAAsB;AAAA,MAEnD,oBAAmB;AAAA,MAEnB,UAAA;AAAA,QAAA,gBAAAC,EAAC,QAAA,EAAM,UAAAN,EAAE,MAAM,OAAM;AAAA,QACrB,gBAAAM;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,UAAAX;AAAA,YACA,MAAK;AAAA,YACL,WAAU;AAAA,YACV,WAAWQ,EAAKC,EAAO,QAAQ,6BAA6B;AAAA,YAC5D,SAAS,MAAM;AACb,cAAAP,EAASE,CAAC;AAAA,YACZ;AAAA,YAEA,UAAA,gBAAAM,EAACE,GAAA,EAAU,MAAK,KAAA,CAAK;AAAA,UAAA;AAAA,QAAA;AAAA,MACvB;AAAA,IAAA;AAAA,IAdKP;AAAA,EAAA,CAiBV;AAED,SAAIF,EAAM,WAAW,IACZ,OAIP,gBAAAO;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWF;AAAA,QACTC,EAAO,gBAAgB;AAAA,QACvBR;AAAA,QACA;AAAA,MAAA;AAAA,MAEF,oBAAkBD;AAAA,MAEjB,UAAAG;AAAA,IAAA;AAAA,EAAA;AAGP;"}
1
+ {"version":3,"file":"multiselect_values.js","sources":["../../../src/inputs/multiselect/multiselect_values.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport React from 'react';\nimport styles from './multiselect_values.module.css';\nimport { CrossIcon } from '@tcn/icons/cross_icon.js';\nimport { OptionProps } from '../options/option.js';\nimport { SlimButton } from '../../actions/index.js';\nimport { Chip } from '../../tokens/index.js';\n\nexport interface MultiselectValueProps {\n values: React.ReactElement<OptionProps>[];\n disabled: boolean;\n onRemove: (value: React.ReactElement<OptionProps>) => void;\n className?: string;\n}\n\nexport function MultiselectValues({\n values,\n disabled,\n className,\n onRemove,\n}: MultiselectValueProps) {\n const items = values.map((v, index) => {\n return (\n <Chip\n hAlign=\"start\"\n color=\"rgb(57, 85, 120)\"\n className={clsx(styles.chip, 'tcn-multiselect-chip')}\n key={index}\n paddingInlineStart=\"8px\"\n >\n <span>{v.props.label}</span>\n <SlimButton\n disabled={disabled}\n size=\"sm\"\n hierarchy=\"tertiary\"\n className={clsx(styles.remove, 'tcn-multiselect-chip-remove')}\n onClick={() => {\n onRemove(v);\n }}\n >\n <CrossIcon size=\"xs\" />\n </SlimButton>\n </Chip>\n );\n });\n\n if (items.length === 0) {\n return null;\n }\n\n return (\n <div\n className={clsx(\n styles['item-container'],\n className,\n 'tcn-multiselect-values-container'\n )}\n data-is-disabled={disabled}\n >\n {items}\n </div>\n );\n}\n"],"names":["MultiselectValues","values","disabled","className","onRemove","items","v","index","jsxs","Chip","clsx","styles","jsx","SlimButton","CrossIcon"],"mappings":";;;;;;;;;;;;;;AAeO,SAASA,EAAkB;AAAA,EAChC,QAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC;AACF,GAA0B;AACxB,QAAMC,IAAQJ,EAAO,IAAI,CAACK,GAAGC,MAEzB,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,QAAO;AAAA,MACP,OAAM;AAAA,MACN,WAAWC,EAAKC,EAAO,MAAM,sBAAsB;AAAA,MAEnD,oBAAmB;AAAA,MAEnB,UAAA;AAAA,QAAA,gBAAAC,EAAC,QAAA,EAAM,UAAAN,EAAE,MAAM,OAAM;AAAA,QACrB,gBAAAM;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,UAAAX;AAAA,YACA,MAAK;AAAA,YACL,WAAU;AAAA,YACV,WAAWQ,EAAKC,EAAO,QAAQ,6BAA6B;AAAA,YAC5D,SAAS,MAAM;AACb,cAAAP,EAASE,CAAC;AAAA,YACZ;AAAA,YAEA,UAAA,gBAAAM,EAACE,GAAA,EAAU,MAAK,KAAA,CAAK;AAAA,UAAA;AAAA,QAAA;AAAA,MACvB;AAAA,IAAA;AAAA,IAdKP;AAAA,EAAA,CAiBV;AAED,SAAIF,EAAM,WAAW,IACZ,OAIP,gBAAAO;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWF;AAAA,QACTC,EAAO,gBAAgB;AAAA,QACvBR;AAAA,QACA;AAAA,MAAA;AAAA,MAEF,oBAAkBD;AAAA,MAEjB,UAAAG;AAAA,IAAA;AAAA,EAAA;AAGP;"}
@@ -3,7 +3,6 @@ export * from './divider/divider.js';
3
3
  export * from './grid/grid.js';
4
4
  export * from './list/item.js';
5
5
  export * from './list/list.js';
6
- export * from './list/section_header.js';
7
6
  export * from './sidebar_end/sidebar_end.js';
8
7
  export * from './sidebar_start/sidebar_start.js';
9
8
  export { Scaffold, type ScaffoldProps } from './scaffold/scaffold.js';
@@ -12,4 +11,7 @@ export { VBody, type VBodyProps } from './body/v_body.js';
12
11
  export { Footer, type FooterProps } from './footer/footer.js';
13
12
  export { Header, type HeaderProps } from './header/header.js';
14
13
  export { UtilityBar, type UtilityBarProps } from './utility_bar/utility_bar.js';
14
+ export { Row } from './row/row.js';
15
+ export { Section } from './section/section.js';
16
+ export { Heading, type HeadingOwnProps } from './section/heading.js';
15
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/layouts/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC;AAEjD,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,KAAK,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/layouts/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC;AAEjD,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,KAAK,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC"}
@@ -3,29 +3,33 @@ import { Divider as f } from "./divider/divider.js";
3
3
  import { Grid as p } from "./grid/grid.js";
4
4
  import { Item as d } from "./list/item.js";
5
5
  import { List as a } from "./list/list.js";
6
- import { SectionHeader as l } from "./list/section_header.js";
7
- import { SidebarEnd as y } from "./sidebar_end/sidebar_end.js";
8
- import { SidebarStart as H } from "./sidebar_start/sidebar_start.js";
9
- import { Scaffold as c } from "./scaffold/scaffold.js";
10
- import { HBody as u } from "./body/h_body.js";
11
- import { VBody as C } from "./body/v_body.js";
12
- import { Footer as E } from "./footer/footer.js";
13
- import { Header as G } from "./header/header.js";
14
- import { UtilityBar as L } from "./utility_bar/utility_bar.js";
6
+ import { SidebarEnd as n } from "./sidebar_end/sidebar_end.js";
7
+ import { SidebarStart as y } from "./sidebar_start/sidebar_start.js";
8
+ import { Scaffold as H } from "./scaffold/scaffold.js";
9
+ import { HBody as c } from "./body/h_body.js";
10
+ import { VBody as s } from "./body/v_body.js";
11
+ import { Footer as v } from "./footer/footer.js";
12
+ import { Header as C } from "./header/header.js";
13
+ import { UtilityBar as E } from "./utility_bar/utility_bar.js";
14
+ import { Row as G } from "./row/row.js";
15
+ import { Section as L } from "./section/section.js";
16
+ import { Heading as U } from "./section/heading.js";
15
17
  export {
16
18
  e as Column,
17
19
  f as Divider,
18
- E as Footer,
20
+ v as Footer,
19
21
  p as Grid,
20
- u as HBody,
21
- G as Header,
22
+ c as HBody,
23
+ C as Header,
24
+ U as Heading,
22
25
  d as Item,
23
26
  a as List,
24
- c as Scaffold,
25
- l as SectionHeader,
26
- y as SidebarEnd,
27
- H as SidebarStart,
28
- L as UtilityBar,
29
- C as VBody
27
+ G as Row,
28
+ H as Scaffold,
29
+ L as Section,
30
+ n as SidebarEnd,
31
+ y as SidebarStart,
32
+ E as UtilityBar,
33
+ s as VBody
30
34
  };
31
35
  //# 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,4 @@
1
+ import { default as React } from 'react';
2
+ import { HStackProps } from '../../stacks/h_stack.js';
3
+ export declare const Row: React.ForwardRefExoticComponent<HStackProps<HTMLElement> & React.RefAttributes<HTMLDivElement>>;
4
+ //# sourceMappingURL=row.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"row.d.ts","sourceRoot":"","sources":["../../../src/layouts/row/row.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAU,MAAM,yBAAyB,CAAC;AAI9D,eAAO,MAAM,GAAG,iGASd,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { jsx as s } from "react/jsx-runtime";
2
+ import m from "react";
3
+ import { HStack as f } from "../../stacks/h_stack.js";
4
+ import { clsx as a } from "clsx";
5
+ import '../../row.css';const e = "_row_59c35b2", n = { row: e }, d = m.forwardRef(function({ children: o, className: r, as: i = "div", ...t }, c) {
6
+ return /* @__PURE__ */ s(f, { ref: c, className: a(r, n.row, "tcn-row"), ...t, children: o });
7
+ });
8
+ export {
9
+ d as Row
10
+ };
11
+ //# sourceMappingURL=row.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"row.js","sources":["../../../src/layouts/row/row.tsx"],"sourcesContent":["import React from 'react';\nimport { HStackProps, HStack } from '../../stacks/h_stack.js';\nimport { clsx } from 'clsx';\nimport styles from './row.module.css';\n\nexport const Row = React.forwardRef<HTMLDivElement, HStackProps>(function Row(\n { children, className, as = 'div', ...props },\n ref\n) {\n return (\n <HStack ref={ref} className={clsx(className, styles.row, 'tcn-row')} {...props}>\n {children}\n </HStack>\n );\n});\n"],"names":["Row","React","children","className","as","props","ref","jsx","HStack","clsx","styles"],"mappings":";;;;0CAKaA,IAAMC,EAAM,WAAwC,SAC/D,EAAE,UAAAC,GAAU,WAAAC,GAAW,IAAAC,IAAK,OAAO,GAAGC,EAAA,GACtCC,GACA;AACA,SACE,gBAAAC,EAACC,GAAA,EAAO,KAAAF,GAAU,WAAWG,EAAKN,GAAWO,EAAO,KAAK,SAAS,GAAI,GAAGL,GACtE,UAAAH,EAAA,CACH;AAEJ,CAAC;"}
@@ -0,0 +1,7 @@
1
+ import { HStackProps } from '../../stacks/h_stack.js';
2
+ export interface HeadingOwnProps extends HStackProps {
3
+ className?: string;
4
+ children: React.ReactNode;
5
+ }
6
+ export declare const Heading: ({ children, className, ...props }: HeadingOwnProps) => import("react/jsx-runtime").JSX.Element;
7
+ //# sourceMappingURL=heading.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"heading.d.ts","sourceRoot":"","sources":["../../../src/layouts/section/heading.tsx"],"names":[],"mappings":"AACA,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGnE,MAAM,WAAW,eAAgB,SAAQ,WAAW;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,eAAO,MAAM,OAAO,GAAI,mCAAmC,eAAe,4CAMzE,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { jsx as m } from "react/jsx-runtime";
2
+ import s from "clsx";
3
+ import { HStack as a } from "../../stacks/h_stack.js";
4
+ import { s as e } from "../../section.module-0wyGkhDg.js";
5
+ const f = ({ children: r, className: o, ...t }) => /* @__PURE__ */ m(a, { className: s(o, e.heading, "tcn-heading"), ...t, children: r });
6
+ export {
7
+ f as Heading
8
+ };
9
+ //# sourceMappingURL=heading.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"heading.js","sources":["../../../src/layouts/section/heading.tsx"],"sourcesContent":["import clsx from 'clsx';\nimport { HStack, type HStackProps } from '../../stacks/h_stack.js';\nimport styles from './section.module.css';\n\nexport interface HeadingOwnProps extends HStackProps {\n className?: string;\n children: React.ReactNode;\n}\n\nexport const Heading = ({ children, className, ...props }: HeadingOwnProps) => {\n return (\n <HStack className={clsx(className, styles.heading, 'tcn-heading')} {...props}>\n {children}\n </HStack>\n );\n};\n"],"names":["Heading","children","className","props","jsx","HStack","clsx","styles"],"mappings":";;;;AASO,MAAMA,IAAU,CAAC,EAAE,UAAAC,GAAU,WAAAC,GAAW,GAAGC,QAE9C,gBAAAC,EAACC,GAAA,EAAO,WAAWC,EAAKJ,GAAWK,EAAO,SAAS,aAAa,GAAI,GAAGJ,GACpE,UAAAF,EAAA,CACH;"}
@@ -0,0 +1,4 @@
1
+ import { default as React } from 'react';
2
+ import { VStackProps } from '../../stacks/v_stack.js';
3
+ export declare const Section: React.ForwardRefExoticComponent<VStackProps<HTMLElement> & React.RefAttributes<HTMLDivElement>>;
4
+ //# sourceMappingURL=section.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"section.d.ts","sourceRoot":"","sources":["../../../src/layouts/section/section.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGnE,eAAO,MAAM,OAAO,iGAelB,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { jsx as i } from "react/jsx-runtime";
2
+ import m from "react";
3
+ import { clsx as n } from "clsx";
4
+ import { VStack as f } from "../../stacks/v_stack.js";
5
+ import { s as a } from "../../section.module-0wyGkhDg.js";
6
+ const R = m.forwardRef(function({ children: t, className: o, as: r = "section", style: c, ...e }, s) {
7
+ return /* @__PURE__ */ i(
8
+ f,
9
+ {
10
+ as: r,
11
+ ref: s,
12
+ className: n(o, "tcn-surface", a.section, "tcn-section"),
13
+ style: c,
14
+ ...e,
15
+ children: t
16
+ }
17
+ );
18
+ });
19
+ export {
20
+ R as Section
21
+ };
22
+ //# sourceMappingURL=section.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"section.js","sources":["../../../src/layouts/section/section.tsx"],"sourcesContent":["import React from 'react';\nimport { clsx } from 'clsx';\nimport { VStack, type VStackProps } from '../../stacks/v_stack.js';\nimport styles from './section.module.css';\n\nexport const Section = React.forwardRef<HTMLDivElement, VStackProps>(function Section(\n { children, className, as = 'section', style, ...props },\n ref\n) {\n return (\n <VStack\n as={as}\n ref={ref}\n className={clsx(className, 'tcn-surface', styles.section, 'tcn-section')}\n style={style}\n {...props}\n >\n {children}\n </VStack>\n );\n});\n"],"names":["Section","React","children","className","as","style","props","ref","jsx","VStack","clsx","styles"],"mappings":";;;;;AAKO,MAAMA,IAAUC,EAAM,WAAwC,SACnE,EAAE,UAAAC,GAAU,WAAAC,GAAW,IAAAC,IAAK,WAAW,OAAAC,GAAO,GAAGC,EAAA,GACjDC,GACA;AACA,SACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,IAAAL;AAAA,MACA,KAAAG;AAAA,MACA,WAAWG,EAAKP,GAAW,eAAeQ,EAAO,SAAS,aAAa;AAAA,MACvE,OAAAN;AAAA,MACC,GAAGC;AAAA,MAEH,UAAAJ;AAAA,IAAA;AAAA,EAAA;AAGP,CAAC;"}
@@ -1 +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"}
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,EAAE,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAItE,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,4IAcnB,CAAC"}
@@ -1,36 +1,29 @@
1
- import { jsx as o } from "react/jsx-runtime";
1
+ import { jsx as s } from "react/jsx-runtime";
2
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
3
  import { HStack as n } from "../../../stacks/h_stack.js";
10
4
  import e from "clsx";
5
+ import { Toggle as f } from "../../../actions/toggle/toggle.js";
11
6
  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,
7
+ children: t,
8
+ className: r,
9
+ role: m = "tablist",
10
+ as: o = "menu",
11
+ ...a
12
+ }) => /* @__PURE__ */ s(n, { as: o, role: m, className: e("tcn-tabs-list", r), ...a, children: t }), g = c(
13
+ ({ children: t, className: r, role: m = "tab", selected: o = !1, ...a }, i) => /* @__PURE__ */ s(
14
+ f,
20
15
  {
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
16
+ ref: i,
17
+ role: m,
18
+ className: e(r, "tcn-interactive", "tcn-tab-item"),
19
+ selected: o,
20
+ ...a,
21
+ children: t
29
22
  }
30
23
  )
31
24
  );
32
25
  export {
33
- j as TabItem,
26
+ g as TabItem,
34
27
  T as TabsList
35
28
  };
36
29
  //# sourceMappingURL=tabs_list.js.map
@@ -1 +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;"}
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 { type BaseButtonProps } from '../../../actions/index.js';\nimport { HStack, type HStackProps } from '../../../stacks/h_stack.js';\nimport clsx from 'clsx';\nimport { Toggle } from '../../../actions/toggle/toggle.js';\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 <Toggle\n ref={ref}\n role={role}\n className={clsx(className, 'tcn-interactive', 'tcn-tab-item')}\n selected={selected}\n {...props}\n >\n {children}\n </Toggle>\n );\n }\n);\n"],"names":["TabsList","children","className","role","as","props","jsx","HStack","clsx","TabItem","forwardRef","selected","ref","Toggle"],"mappings":";;;;;AAQO,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,UAAAS;AAAA,MACC,GAAGN;AAAA,MAEH,UAAAJ;AAAA,IAAA;AAAA,EAAA;AAIT;"}
@@ -0,0 +1,8 @@
1
+ import { BoxProps } from '../../stacks/box/box.js';
2
+ export interface BaseCarrotOwnProps {
3
+ direction: 'top' | 'bottom' | 'start' | 'end';
4
+ }
5
+ export interface BaseCarrotProps extends BaseCarrotOwnProps, BoxProps {
6
+ }
7
+ export declare const BaseCarrot: ({ direction, className, as, ...rest }: BaseCarrotProps) => import("react/jsx-runtime").JSX.Element;
8
+ //# sourceMappingURL=base_carrot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base_carrot.d.ts","sourceRoot":"","sources":["../../../src/overlay/carrot/base_carrot.tsx"],"names":[],"mappings":"AACA,OAAO,EAAO,KAAK,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,KAAK,CAAC;CAC/C;AAED,MAAM,WAAW,eAAgB,SAAQ,kBAAkB,EAAE,QAAQ;CAAG;AAExE,eAAO,MAAM,UAAU,GAAI,uCAKxB,eAAe,4CASjB,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { jsx as s } from "react/jsx-runtime";
2
+ import t from "clsx";
3
+ import { Box as m } from "../../stacks/box/box.js";
4
+ const i = ({
5
+ direction: r,
6
+ className: a,
7
+ as: c = "span",
8
+ ...o
9
+ }) => /* @__PURE__ */ s(
10
+ m,
11
+ {
12
+ as: "span",
13
+ "data-direction": r,
14
+ className: t("tcn-base-carrot", a),
15
+ ...o
16
+ }
17
+ );
18
+ export {
19
+ i as BaseCarrot
20
+ };
21
+ //# sourceMappingURL=base_carrot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base_carrot.js","sources":["../../../src/overlay/carrot/base_carrot.tsx"],"sourcesContent":["import clsx from 'clsx';\nimport { Box, type BoxProps } from '../../stacks/box/box.js';\n\nexport interface BaseCarrotOwnProps {\n direction: 'top' | 'bottom' | 'start' | 'end';\n}\n\nexport interface BaseCarrotProps extends BaseCarrotOwnProps, BoxProps {}\n\nexport const BaseCarrot = ({\n direction,\n className,\n as = 'span',\n ...rest\n}: BaseCarrotProps) => {\n return (\n <Box\n as=\"span\"\n data-direction={direction}\n className={clsx('tcn-base-carrot', className)}\n {...rest}\n />\n );\n};\n"],"names":["BaseCarrot","direction","className","as","rest","jsx","Box","clsx"],"mappings":";;;AASO,MAAMA,IAAa,CAAC;AAAA,EACzB,WAAAC;AAAA,EACA,WAAAC;AAAA,EACA,IAAAC,IAAK;AAAA,EACL,GAAGC;AACL,MAEI,gBAAAC;AAAA,EAACC;AAAA,EAAA;AAAA,IACC,IAAG;AAAA,IACH,kBAAgBL;AAAA,IAChB,WAAWM,EAAK,mBAAmBL,CAAS;AAAA,IAC3C,GAAGE;AAAA,EAAA;AAAA;"}
package/dist/row.css ADDED
@@ -0,0 +1 @@
1
+ @layer tcn-system{:where(._row_59c35b2){padding-block:4px}}
@@ -0,0 +1 @@
1
+ @layer tcn-system{:where(._section_0d82329){position:relative}:where(._heading_7bf5e47){position:sticky;height:23px;z-index:4;padding-inline-end:8px;-webkit-user-select:none;user-select:none}:where(._section_0d82329>._heading_7bf5e47){top:0;padding-inline:8px 8px;z-index:3}:where(._section_0d82329>._section_0d82329>._heading_7bf5e47){top:30px;padding-inline:12px 8px;z-index:2}:where(._section_0d82329>._section_0d82329>._section_0d82329>._heading_7bf5e47){top:60px;padding-inline:16px 8px;z-index:1}:where(._section_0d82329>._section_0d82329>._section_0d82329>._section_0d82329>._heading_7bf5e47){top:90px;padding-inline:20px 8px;z-index:0}._section_0d82329>:not(._heading_7bf5e47,._section_0d82329){padding-inline-end:8px}}
@@ -0,0 +1,5 @@
1
+ import './section.css';const s = "_section_0d82329", e = "_heading_7bf5e47", n = { section: s, heading: e };
2
+ export {
3
+ n as s
4
+ };
5
+ //# sourceMappingURL=section.module-0wyGkhDg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"section.module-0wyGkhDg.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}