@tcn/ui 0.3.2 → 0.4.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 (207) 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/date_picker_time_selector.css +1 -1
  24. package/dist/feedback/lazy/lazy.js +3 -3
  25. package/dist/form/field/common/field_error.js +16 -9
  26. package/dist/form/field/common/field_error.js.map +1 -1
  27. package/dist/formatter-EIJCOSYU-D6nmx63h.js +6 -0
  28. package/dist/formatter-EIJCOSYU-D6nmx63h.js.map +1 -0
  29. package/dist/input.css +1 -1
  30. package/dist/inputs/mask_input/mask.d.ts.map +1 -1
  31. package/dist/inputs/mask_input/mask.js.map +1 -1
  32. package/dist/inputs/multiselect/multiselect_inline_values.js +3 -2
  33. package/dist/inputs/multiselect/multiselect_inline_values.js.map +1 -1
  34. package/dist/inputs/multiselect/multiselect_values.js +3 -2
  35. package/dist/inputs/multiselect/multiselect_values.js.map +1 -1
  36. package/dist/layouts/index.d.ts +2 -1
  37. package/dist/layouts/index.d.ts.map +1 -1
  38. package/dist/layouts/index.js +20 -18
  39. package/dist/layouts/index.js.map +1 -1
  40. package/dist/layouts/row/row.d.ts +4 -0
  41. package/dist/layouts/row/row.d.ts.map +1 -0
  42. package/dist/layouts/row/row.js +11 -0
  43. package/dist/layouts/row/row.js.map +1 -0
  44. package/dist/layouts/section/heading.d.ts +7 -0
  45. package/dist/layouts/section/heading.d.ts.map +1 -0
  46. package/dist/layouts/section/heading.js +9 -0
  47. package/dist/layouts/section/heading.js.map +1 -0
  48. package/dist/layouts/section/section.d.ts +4 -0
  49. package/dist/layouts/section/section.d.ts.map +1 -0
  50. package/dist/layouts/section/section.js +22 -0
  51. package/dist/layouts/section/section.js.map +1 -0
  52. package/dist/navigation/index.d.ts +7 -0
  53. package/dist/navigation/index.d.ts.map +1 -0
  54. package/dist/navigation/index.js +17 -0
  55. package/dist/navigation/index.js.map +1 -0
  56. package/dist/navigation/tabs/primitives/tabs_bar.d.ts +7 -0
  57. package/dist/navigation/tabs/primitives/tabs_bar.d.ts.map +1 -0
  58. package/dist/navigation/tabs/primitives/tabs_bar.js +21 -0
  59. package/dist/navigation/tabs/primitives/tabs_bar.js.map +1 -0
  60. package/dist/navigation/tabs/primitives/tabs_list.d.ts +10 -0
  61. package/dist/navigation/tabs/primitives/tabs_list.d.ts.map +1 -0
  62. package/dist/navigation/tabs/primitives/tabs_list.js +29 -0
  63. package/dist/navigation/tabs/primitives/tabs_list.js.map +1 -0
  64. package/dist/navigation/tabs/state/context.d.ts +21 -0
  65. package/dist/navigation/tabs/state/context.d.ts.map +1 -0
  66. package/dist/navigation/tabs/state/context.js +34 -0
  67. package/dist/navigation/tabs/state/context.js.map +1 -0
  68. package/dist/navigation/tabs/state/link/tab_link.d.ts +9 -0
  69. package/dist/navigation/tabs/state/link/tab_link.d.ts.map +1 -0
  70. package/dist/navigation/tabs/state/link/tab_link.js +36 -0
  71. package/dist/navigation/tabs/state/link/tab_link.js.map +1 -0
  72. package/dist/navigation/tabs/state/link/use_tab_link.d.ts +5 -0
  73. package/dist/navigation/tabs/state/link/use_tab_link.d.ts.map +1 -0
  74. package/dist/navigation/tabs/state/link/use_tab_link.js +13 -0
  75. package/dist/navigation/tabs/state/link/use_tab_link.js.map +1 -0
  76. package/dist/navigation/tabs/state/nav_bar.d.ts +5 -0
  77. package/dist/navigation/tabs/state/nav_bar.d.ts.map +1 -0
  78. package/dist/navigation/tabs/state/nav_bar.js +36 -0
  79. package/dist/navigation/tabs/state/nav_bar.js.map +1 -0
  80. package/dist/navigation/tabs/state/tab.d.ts +6 -0
  81. package/dist/navigation/tabs/state/tab.d.ts.map +1 -0
  82. package/dist/navigation/tabs/state/tab.js +6 -0
  83. package/dist/navigation/tabs/state/tab.js.map +1 -0
  84. package/dist/overlay/carrot/base_carrot.d.ts +8 -0
  85. package/dist/overlay/carrot/base_carrot.d.ts.map +1 -0
  86. package/dist/overlay/carrot/base_carrot.js +21 -0
  87. package/dist/overlay/carrot/base_carrot.js.map +1 -0
  88. package/dist/overlay/portal/portal_platform.d.ts.map +1 -1
  89. package/dist/overlay/portal/portal_platform.js +3 -3
  90. package/dist/overlay/portal/portal_platform.js.map +1 -1
  91. package/dist/row.css +1 -0
  92. package/dist/section.css +1 -0
  93. package/dist/section.module-0wyGkhDg.js +5 -0
  94. package/dist/section.module-0wyGkhDg.js.map +1 -0
  95. package/dist/{showcase-WfP6kBEb.js → showcase-DK557szS.js} +18018 -16269
  96. package/dist/showcase-DK557szS.js.map +1 -0
  97. package/dist/surfaces/pop_confirm/pop_confirm.js +4 -3
  98. package/dist/surfaces/pop_confirm/pop_confirm.js.map +1 -1
  99. package/dist/{syntaxhighlighter-IQDEPFLK-BX_eF8__.js → syntaxhighlighter-ED5Y7EFY-DaMS-2cF.js} +54 -54
  100. package/dist/syntaxhighlighter-ED5Y7EFY-DaMS-2cF.js.map +1 -0
  101. package/dist/tabs_bar.css +1 -0
  102. package/dist/textarea.css +1 -1
  103. package/dist/theme_provider.css +1 -0
  104. package/dist/theme_provider.module-ChZQ5Xsk.js +5 -0
  105. package/dist/theme_provider.module-ChZQ5Xsk.js.map +1 -0
  106. package/dist/themes/stylesheets/reset.css +1 -1
  107. package/dist/themes/stylesheets/reset.js +1 -0
  108. package/dist/themes/stylesheets/reset.js.map +1 -1
  109. package/dist/themes/theme.d.ts +3 -2
  110. package/dist/themes/theme.d.ts.map +1 -1
  111. package/dist/themes/theme.js +20 -10
  112. package/dist/themes/theme.js.map +1 -1
  113. package/dist/themes/themes/ergo/ergo_theme.css +1 -1
  114. package/dist/themes/themes/ergo/ergo_theme.d.ts.map +1 -1
  115. package/dist/themes/themes/ergo/ergo_theme.js +488 -238
  116. package/dist/themes/themes/ergo/ergo_theme.js.map +1 -1
  117. package/dist/themes/themes/windows_98/windows_98.css +1 -1
  118. package/dist/themes/themes/windows_98/windows_98_theme.js +149 -4
  119. package/dist/themes/themes/windows_98/windows_98_theme.js.map +1 -1
  120. package/dist/tokens/bubble/bubble.js +31 -24
  121. package/dist/tokens/bubble/bubble.js.map +1 -1
  122. package/dist/tokens/chip/chip.js +15 -8
  123. package/dist/tokens/chip/chip.js.map +1 -1
  124. package/dist/tokens/index.d.ts +2 -0
  125. package/dist/tokens/index.d.ts.map +1 -1
  126. package/dist/tokens/index.js +5 -1
  127. package/dist/tokens/index.js.map +1 -1
  128. package/dist/tokens/key/key.d.ts +3 -0
  129. package/dist/tokens/key/key.d.ts.map +1 -0
  130. package/dist/tokens/key/key.js +8 -0
  131. package/dist/tokens/key/key.js.map +1 -0
  132. package/dist/tokens/value/value.d.ts +3 -0
  133. package/dist/tokens/value/value.d.ts.map +1 -0
  134. package/dist/tokens/value/value.js +8 -0
  135. package/dist/tokens/value/value.js.map +1 -0
  136. package/dist/utils/css_utils.d.ts +9 -0
  137. package/dist/utils/css_utils.d.ts.map +1 -0
  138. package/dist/utils/css_utils.js +45 -0
  139. package/dist/utils/css_utils.js.map +1 -0
  140. package/package.json +8 -1
  141. package/src/actions/__docs__/actions.mdx +159 -34
  142. package/src/actions/__docs__/actions.stories.tsx +416 -101
  143. package/src/actions/__docs__/components/showcase.tsx +10 -6
  144. package/src/actions/button/__stories__/button.stories.tsx +10 -0
  145. package/src/actions/button/__stories__/toggle.stories.tsx +177 -0
  146. package/src/actions/button/base_button/base_button.tsx +8 -10
  147. package/src/actions/button/button/button.tsx +11 -2
  148. package/src/actions/button/slim_button/slim_button.tsx +20 -13
  149. package/src/actions/toggle/toggle.tsx +26 -0
  150. package/src/inputs/date_picker/date_picker_time_selector.module.css +0 -1
  151. package/src/inputs/input/input.module.css +0 -1
  152. package/src/inputs/mask_input/mask.ts +7 -1
  153. package/src/inputs/textarea/textarea.module.css +0 -1
  154. package/src/layouts/index.ts +3 -2
  155. package/src/layouts/row/row.module.css +5 -0
  156. package/src/layouts/row/row.tsx +15 -0
  157. package/src/layouts/section/__stories__/section.stories.module.css +6 -0
  158. package/src/layouts/section/__stories__/section.stories.tsx +152 -0
  159. package/src/layouts/section/heading.tsx +16 -0
  160. package/src/layouts/section/section.module.css +41 -0
  161. package/src/layouts/section/section.tsx +21 -0
  162. package/src/navigation/index.ts +18 -0
  163. package/src/navigation/tabs/__stories__/state.stories.tsx +136 -0
  164. package/src/navigation/tabs/__stories__/tabs.stories.tsx +40 -0
  165. package/src/navigation/tabs/primitives/tabs_bar.module.css +13 -0
  166. package/src/navigation/tabs/primitives/tabs_bar.tsx +25 -0
  167. package/src/navigation/tabs/primitives/tabs_list.tsx +41 -0
  168. package/src/navigation/tabs/state/context.tsx +61 -0
  169. package/src/navigation/tabs/state/link/tab_link.tsx +45 -0
  170. package/src/navigation/tabs/state/link/use_tab_link.ts +17 -0
  171. package/src/navigation/tabs/state/nav_bar.tsx +37 -0
  172. package/src/navigation/tabs/state/tab.tsx +12 -0
  173. package/src/overlay/carrot/base_carrot.tsx +24 -0
  174. package/src/overlay/carrot/carrot.stories.tsx +54 -0
  175. package/src/overlay/portal/portal_platform.tsx +1 -0
  176. package/src/surfaces/card/card.stories.tsx +14 -14
  177. package/src/surfaces/modal/__stories__/modal.stories.tsx +19 -8
  178. package/src/surfaces/window/window.stories.tsx +16 -10
  179. package/src/themes/stylesheets/reset.css +1 -0
  180. package/src/themes/theme.tsx +13 -4
  181. package/src/themes/theme_provider.module.css +6 -0
  182. package/src/themes/themes/ergo/__stories__/components/material_picker/sb_inverted_materials.module.css +4 -4
  183. package/src/themes/themes/ergo/__stories__/components/tone_picker/sb_tone_picker.module.css +3 -0
  184. package/src/themes/themes/ergo/__stories__/components/tone_picker/sb_tone_picker.tsx +5 -2
  185. package/src/themes/themes/ergo/__stories__/material.stories.tsx +2 -2
  186. package/src/themes/themes/ergo/__stories__/sb_materials.module.css +31 -26
  187. package/src/themes/themes/ergo/ergo_theme.css +484 -235
  188. package/src/themes/themes/ergo/ergo_theme.ts +1 -0
  189. package/src/themes/themes/windows_98/windows_98.css +149 -4
  190. package/src/tokens/index.ts +2 -0
  191. package/src/tokens/key/key.tsx +10 -0
  192. package/src/tokens/value/value.tsx +10 -0
  193. package/src/utils/css_utils.ts +64 -0
  194. package/tsconfig.json +6 -0
  195. package/dist/Color-ASIRERSW-B4GaVKuQ.js +0 -990
  196. package/dist/Color-ASIRERSW-B4GaVKuQ.js.map +0 -1
  197. package/dist/WithTooltip-IO6J4KBT-B1oq93K5.js.map +0 -1
  198. package/dist/formatter-QJ4M4OGQ-DaIl2Wi_.js +0 -6
  199. package/dist/formatter-QJ4M4OGQ-DaIl2Wi_.js.map +0 -1
  200. package/dist/layouts/list/section_header.d.ts +0 -6
  201. package/dist/layouts/list/section_header.d.ts.map +0 -1
  202. package/dist/layouts/list/section_header.js +0 -22
  203. package/dist/layouts/list/section_header.js.map +0 -1
  204. package/dist/showcase-WfP6kBEb.js.map +0 -1
  205. package/dist/syntaxhighlighter-IQDEPFLK-BX_eF8__.js.map +0 -1
  206. package/src/layouts/list/section_header.module.css +0 -20
  207. package/src/layouts/list/section_header.tsx +0 -21
@@ -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,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"}
@@ -0,0 +1,29 @@
1
+ import { jsx as s } from "react/jsx-runtime";
2
+ import { forwardRef as c } from "react";
3
+ import { HStack as n } from "../../../stacks/h_stack.js";
4
+ import e from "clsx";
5
+ import { Toggle as f } from "../../../actions/toggle/toggle.js";
6
+ const T = ({
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,
15
+ {
16
+ ref: i,
17
+ role: m,
18
+ className: e(r, "tcn-interactive", "tcn-tab-item"),
19
+ selected: o,
20
+ ...a,
21
+ children: t
22
+ }
23
+ )
24
+ );
25
+ export {
26
+ g as TabItem,
27
+ T as TabsList
28
+ };
29
+ //# 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 { 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,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;"}
@@ -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;"}
@@ -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;"}
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":";"}