@intlayer/design-system 6.1.3 → 6.1.5

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 (99) hide show
  1. package/dist/.vite/manifest.json +63 -7
  2. package/dist/components/DictionaryFieldEditor/ContentEditorView/TextEditor.cjs +2 -2
  3. package/dist/components/DictionaryFieldEditor/ContentEditorView/TextEditor.cjs.map +1 -1
  4. package/dist/components/DictionaryFieldEditor/ContentEditorView/TextEditor.mjs +1 -1
  5. package/dist/components/DictionaryFieldEditor/VersionSwitcherDropDown/versionSwitcherDropDown.content.cjs +2 -1
  6. package/dist/components/DictionaryFieldEditor/VersionSwitcherDropDown/versionSwitcherDropDown.content.cjs.map +1 -1
  7. package/dist/components/ExpandCollapse/expandCollapse.content.cjs +2 -1
  8. package/dist/components/ExpandCollapse/expandCollapse.content.cjs.map +1 -1
  9. package/dist/components/Headers/index.cjs +12 -0
  10. package/dist/components/Headers/index.cjs.map +1 -1
  11. package/dist/components/Headers/index.d.ts +1 -0
  12. package/dist/components/Headers/index.d.ts.map +1 -1
  13. package/dist/components/Headers/index.mjs +13 -1
  14. package/dist/components/Headers/index.mjs.map +1 -1
  15. package/dist/components/IDE/Code.cjs +1 -1
  16. package/dist/components/IDE/Code.cjs.map +1 -1
  17. package/dist/components/IDE/Code.mjs +1 -1
  18. package/dist/components/IDE/Code.mjs.map +1 -1
  19. package/dist/components/IDE/MarkDownRender.cjs +2 -2
  20. package/dist/components/IDE/MarkDownRender.cjs.map +1 -1
  21. package/dist/components/IDE/MarkDownRender.d.ts.map +1 -1
  22. package/dist/components/IDE/MarkDownRender.mjs +2 -2
  23. package/dist/components/IDE/MarkDownRender.mjs.map +1 -1
  24. package/dist/components/IDE/code.content.cjs +2 -1
  25. package/dist/components/IDE/code.content.cjs.map +1 -1
  26. package/dist/components/IDE/copyCode.content.cjs +2 -1
  27. package/dist/components/IDE/copyCode.content.cjs.map +1 -1
  28. package/dist/components/LocaleSwitcherContentDropDown/localeSwitcher.content.cjs +2 -1
  29. package/dist/components/LocaleSwitcherContentDropDown/localeSwitcher.content.cjs.map +1 -1
  30. package/dist/components/LocaleSwitcherDropDown/localeSwitcher.content.cjs +2 -1
  31. package/dist/components/LocaleSwitcherDropDown/localeSwitcher.content.cjs.map +1 -1
  32. package/dist/components/MarkDownRender/MarkDownRender.cjs +189 -0
  33. package/dist/components/MarkDownRender/MarkDownRender.cjs.map +1 -0
  34. package/dist/components/MarkDownRender/MarkDownRender.d.ts +12 -0
  35. package/dist/components/MarkDownRender/MarkDownRender.d.ts.map +1 -0
  36. package/dist/components/MarkDownRender/MarkDownRender.mjs +189 -0
  37. package/dist/components/MarkDownRender/MarkDownRender.mjs.map +1 -0
  38. package/dist/components/MarkDownRender/index.cjs +2 -150
  39. package/dist/components/MarkDownRender/index.cjs.map +1 -1
  40. package/dist/components/MarkDownRender/index.d.ts +1 -11
  41. package/dist/components/MarkDownRender/index.d.ts.map +1 -1
  42. package/dist/components/MarkDownRender/index.mjs +1 -149
  43. package/dist/components/MarkDownRender/index.mjs.map +1 -1
  44. package/dist/components/MarkDownRender/processor.cjs +1819 -0
  45. package/dist/components/MarkDownRender/processor.cjs.map +1 -0
  46. package/dist/components/MarkDownRender/processor.d.ts +368 -0
  47. package/dist/components/MarkDownRender/processor.d.ts.map +1 -0
  48. package/dist/components/MarkDownRender/processor.mjs +1819 -0
  49. package/dist/components/MarkDownRender/processor.mjs.map +1 -0
  50. package/dist/components/Tab/Tab.cjs +171 -0
  51. package/dist/components/Tab/Tab.cjs.map +1 -0
  52. package/dist/components/Tab/Tab.d.ts +24 -0
  53. package/dist/components/Tab/Tab.d.ts.map +1 -0
  54. package/dist/components/Tab/Tab.mjs +171 -0
  55. package/dist/components/Tab/Tab.mjs.map +1 -0
  56. package/dist/components/Tab/TabContext.cjs +28 -0
  57. package/dist/components/Tab/TabContext.cjs.map +1 -0
  58. package/dist/components/Tab/TabContext.d.ts +19 -0
  59. package/dist/components/Tab/TabContext.d.ts.map +1 -0
  60. package/dist/components/Tab/TabContext.mjs +28 -0
  61. package/dist/components/Tab/TabContext.mjs.map +1 -0
  62. package/dist/components/Tab/index.cjs +5 -0
  63. package/dist/components/Tab/index.cjs.map +1 -0
  64. package/dist/components/Tab/index.d.ts +2 -0
  65. package/dist/components/Tab/index.d.ts.map +1 -0
  66. package/dist/components/Tab/index.mjs +5 -0
  67. package/dist/components/Tab/index.mjs.map +1 -0
  68. package/dist/components/TabSelector/TabSelector.cjs +6 -1
  69. package/dist/components/TabSelector/TabSelector.cjs.map +1 -1
  70. package/dist/components/TabSelector/TabSelector.d.ts +1 -1
  71. package/dist/components/TabSelector/TabSelector.d.ts.map +1 -1
  72. package/dist/components/TabSelector/TabSelector.mjs +6 -1
  73. package/dist/components/TabSelector/TabSelector.mjs.map +1 -1
  74. package/dist/components/Table/Table.cjs +15 -8
  75. package/dist/components/Table/Table.cjs.map +1 -1
  76. package/dist/components/Table/Table.d.ts.map +1 -1
  77. package/dist/components/Table/Table.mjs +15 -8
  78. package/dist/components/Table/Table.mjs.map +1 -1
  79. package/dist/components/Table/table.content.cjs +2 -1
  80. package/dist/components/Table/table.content.cjs.map +1 -1
  81. package/dist/components/index.cjs +5 -2
  82. package/dist/components/index.cjs.map +1 -1
  83. package/dist/components/index.d.ts +1 -0
  84. package/dist/components/index.d.ts.map +1 -1
  85. package/dist/components/index.mjs +5 -2
  86. package/dist/components/index.mjs.map +1 -1
  87. package/dist/hooks/index.cjs +2 -0
  88. package/dist/hooks/index.cjs.map +1 -1
  89. package/dist/hooks/index.d.ts +1 -0
  90. package/dist/hooks/index.d.ts.map +1 -1
  91. package/dist/hooks/index.mjs +2 -0
  92. package/dist/hooks/index.mjs.map +1 -1
  93. package/dist/hooks/useHorizontalSwipe.cjs +144 -0
  94. package/dist/hooks/useHorizontalSwipe.cjs.map +1 -0
  95. package/dist/hooks/useHorizontalSwipe.d.ts +26 -0
  96. package/dist/hooks/useHorizontalSwipe.d.ts.map +1 -0
  97. package/dist/hooks/useHorizontalSwipe.mjs +144 -0
  98. package/dist/hooks/useHorizontalSwipe.mjs.map +1 -0
  99. package/package.json +44 -20
@@ -0,0 +1,171 @@
1
+ "use client";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { cva } from "class-variance-authority";
4
+ import { createContext, Children, isValidElement, useState } from "react";
5
+ import "@intlayer/config/built";
6
+ import "../../better-auth.CiuwFiHM-7umXOENE.js";
7
+ import "@intlayer/editor-react";
8
+ import "@tanstack/react-query";
9
+ import "@intlayer/api";
10
+ import { useHorizontalSwipe } from "../../hooks/useHorizontalSwipe.mjs";
11
+ import "../../hooks/useScrollBlockage/useScrollBlockageStore.mjs";
12
+ import { cn } from "../../utils/cn.mjs";
13
+ import { TabSelector, TabSelectorColor } from "../TabSelector/TabSelector.mjs";
14
+ import { useTabContext } from "./TabContext.mjs";
15
+ const TabContext = createContext(void 0);
16
+ const tabContainerVariant = cva(
17
+ "relative w-full bg-background/2 border border-neutral/20 rounded-lg shadow-[0_0_10px_-15px_rgba(0,0,0,0.3)] backdrop-blur",
18
+ {
19
+ variants: {
20
+ variant: {
21
+ default: "",
22
+ bordered: "border-2",
23
+ ghost: "border-0 shadow-none bg-transparent"
24
+ }
25
+ },
26
+ defaultVariants: {
27
+ variant: "default"
28
+ }
29
+ }
30
+ );
31
+ const TabItem = ({ children, ...props }) => (
32
+ // This component is primarily used for its props by the parent Tab component
33
+ // The actual rendering is handled by the Tab component
34
+ /* @__PURE__ */ jsx("div", { ...props, children })
35
+ );
36
+ TabItem.displayName = "TabItem";
37
+ const TabComponent = ({
38
+ defaultTab,
39
+ group,
40
+ variant,
41
+ children,
42
+ className,
43
+ ...props
44
+ }) => {
45
+ const tabItems = Children.toArray(children).filter((child) => {
46
+ return isValidElement(child) && child.type === TabItem;
47
+ });
48
+ const firstTabValue = tabItems[0]?.props?.value;
49
+ const { tabsValues, setTabsValues } = useTabContext();
50
+ const [activeTab, setActiveTab] = useState(defaultTab ?? firstTabValue ?? "");
51
+ const hasGroup = group && typeof tabsValues === "object";
52
+ const currentTabValue = (hasGroup ? tabsValues?.[group] : activeTab) ?? defaultTab ?? firstTabValue;
53
+ const activeTabIndex = tabItems.findIndex(
54
+ (tab) => tab.props.value === currentTabValue
55
+ );
56
+ const tabsCount = tabItems.length;
57
+ const { containerProps, dragDeltaPct, isDragging } = useHorizontalSwipe({
58
+ itemIndex: activeTabIndex,
59
+ itemCount: tabsCount,
60
+ onSwipeLeft: () => {
61
+ const targetIndex = Math.min(tabsCount - 1, activeTabIndex + 1);
62
+ const nextValue = tabItems[targetIndex]?.props?.value;
63
+ if (nextValue) handleSetActiveTab(nextValue);
64
+ },
65
+ onSwipeRight: () => {
66
+ const targetIndex = Math.max(0, activeTabIndex - 1);
67
+ const nextValue = tabItems[targetIndex]?.props?.value;
68
+ if (nextValue) handleSetActiveTab(nextValue);
69
+ }
70
+ });
71
+ const handleSetActiveTab = (tab) => {
72
+ setActiveTab(tab);
73
+ if (typeof setTabsValues === "function") {
74
+ setTabsValues((prev) => ({ ...prev, [group]: tab }));
75
+ }
76
+ };
77
+ const contextValue = {
78
+ activeTab: activeTab ?? firstTabValue ?? "",
79
+ setActiveTab: handleSetActiveTab
80
+ };
81
+ return /* @__PURE__ */ jsx(TabContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsxs(
82
+ "div",
83
+ {
84
+ className: cn(tabContainerVariant({ variant }), className),
85
+ ...props,
86
+ children: [
87
+ /* @__PURE__ */ jsx("div", { className: "sticky top-36 z-10 flex gap-3 p-3 bg-background/70 backdrop-blur", children: /* @__PURE__ */ jsx(
88
+ TabSelector,
89
+ {
90
+ selectedChoice: currentTabValue,
91
+ tabs: tabItems.map((child) => {
92
+ const { label, value, disabled } = child.props;
93
+ const isActive = currentTabValue === value;
94
+ return /* @__PURE__ */ jsx(
95
+ "button",
96
+ {
97
+ className: cn(
98
+ "px-4 text-sm font-medium rounded-md transition-colors cursor-pointer focus:outline-none py-1",
99
+ !isActive && "text-neutral/70"
100
+ ),
101
+ "data-active": isActive,
102
+ disabled,
103
+ onClick: () => !disabled && handleSetActiveTab(value),
104
+ role: "tab",
105
+ "aria-selected": isActive,
106
+ "aria-controls": `tabpanel-${value}`,
107
+ id: `tab-${value}`,
108
+ children: label
109
+ },
110
+ value
111
+ );
112
+ }),
113
+ hoverable: true,
114
+ color: TabSelectorColor.TEXT
115
+ }
116
+ ) }),
117
+ /* @__PURE__ */ jsx(
118
+ "div",
119
+ {
120
+ className: "relative w-full min-w-0 overflow-x-clip [clip-path:inset(0)] [-webkit-clip-path:inset(0)]",
121
+ ...containerProps,
122
+ children: /* @__PURE__ */ jsx(
123
+ "div",
124
+ {
125
+ role: "tablist",
126
+ "aria-orientation": "horizontal",
127
+ className: cn(
128
+ "grid w-full min-w-0",
129
+ isDragging ? "transition-none" : "transition-transform duration-300 ease-in-out"
130
+ ),
131
+ style: {
132
+ gridTemplateColumns: `repeat(${tabItems.length}, 100%)`,
133
+ transform: `translateX(-${activeTabIndex * 100 - (isDragging ? dragDeltaPct : 0)}%)`
134
+ },
135
+ children: tabItems.map(({ props: props2 }, index) => {
136
+ const { value, children: children2 } = props2;
137
+ const isActive = index === activeTabIndex;
138
+ return /* @__PURE__ */ jsx(
139
+ "div",
140
+ {
141
+ role: "tabpanel",
142
+ "aria-labelledby": `tab-${value}`,
143
+ id: `tabpanel-${value}`,
144
+ "aria-hidden": !isActive,
145
+ tabIndex: isActive ? 0 : -1,
146
+ "data-active": isActive,
147
+ className: cn(
148
+ "w-full min-w-0 p-6 opacity-100 transition-opacity duration-300 ease-in-out",
149
+ !isActive && "pointer-events-none opacity-0"
150
+ // prevent offscreen interaction
151
+ ),
152
+ children: /* @__PURE__ */ jsx("div", { className: "w-full min-w-0 flex flex-col gap-6 items-stretch", children: children2 })
153
+ },
154
+ value
155
+ );
156
+ })
157
+ }
158
+ )
159
+ }
160
+ )
161
+ ]
162
+ }
163
+ ) });
164
+ };
165
+ const Tab = Object.assign(TabComponent, {
166
+ Item: TabItem
167
+ });
168
+ export {
169
+ Tab
170
+ };
171
+ //# sourceMappingURL=Tab.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tab.mjs","sources":["../../../src/components/Tab/Tab.tsx"],"sourcesContent":["'use client';\n\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport {\n Children,\n createContext,\n isValidElement,\n useState,\n type HTMLAttributes,\n type ReactElement,\n type ReactNode,\n} from 'react';\nimport { useHorizontalSwipe } from '../../hooks';\nimport { cn } from '../../utils/cn';\nimport { TabSelector, TabSelectorColor } from '../TabSelector';\nimport { useTabContext } from './TabContext';\n\n// Context for managing tab state\ntype TabContextType = {\n activeTab: string;\n setActiveTab: (tab: string) => void;\n};\n\nconst TabContext = createContext<TabContextType | undefined>(undefined);\n\n// Tab container variants\nconst tabContainerVariant = cva(\n 'relative w-full bg-background/2 border border-neutral/20 rounded-lg shadow-[0_0_10px_-15px_rgba(0,0,0,0.3)] backdrop-blur',\n {\n variants: {\n variant: {\n default: '',\n bordered: 'border-2',\n ghost: 'border-0 shadow-none bg-transparent',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n }\n);\n\nexport type TabProps = HTMLAttributes<HTMLDivElement> &\n VariantProps<typeof tabContainerVariant> & {\n defaultTab?: string;\n group?: string;\n children: ReactNode;\n };\n\nexport type TabItemProps = HTMLAttributes<HTMLDivElement> & {\n label: string;\n value: string;\n disabled?: boolean;\n children: ReactNode;\n};\n\n/**\n * TabItem component that represents a single tab\n * Must be used as a child of the Tab component\n */\nconst TabItem = ({ children, ...props }: TabItemProps) => (\n // This component is primarily used for its props by the parent Tab component\n // The actual rendering is handled by the Tab component\n <div {...props}>{children}</div>\n);\n\n// Add display name for better debugging\nTabItem.displayName = 'TabItem';\n\n/**\n * Tab container component that manages tab state and renders tab headers and content\n *\n * Example:\n * ```jsx\n * <Tab defaultTab=\"tab1\">\n * <Tab.Item label=\"First Tab\" value=\"tab1\">\n * Content for first tab\n * </Tab.Item>\n * <Tab.Item label=\"Second Tab\" value=\"tab2\">\n * Content for second tab\n * </Tab.Item>\n * </Tab>\n * ```\n */\nconst TabComponent = ({\n defaultTab,\n group,\n variant,\n children,\n className,\n ...props\n}: TabProps) => {\n // Extract TabItem children to get their props\n const tabItems = Children.toArray(children).filter((child) => {\n return isValidElement(child) && child.type === TabItem;\n }) as ReactElement<TabItemProps>[];\n\n const firstTabValue = tabItems[0]?.props?.value;\n const { tabsValues, setTabsValues } = useTabContext();\n const [activeTab, setActiveTab] = useState(defaultTab ?? firstTabValue ?? '');\n const hasGroup = group && typeof tabsValues === 'object';\n const currentTabValue =\n (hasGroup ? tabsValues?.[group] : activeTab) ?? defaultTab ?? firstTabValue;\n const activeTabIndex = tabItems.findIndex(\n (tab) => tab.props.value === currentTabValue\n );\n\n const tabsCount = tabItems.length;\n\n const { containerProps, dragDeltaPct, isDragging } = useHorizontalSwipe({\n itemIndex: activeTabIndex,\n itemCount: tabsCount,\n onSwipeLeft: () => {\n const targetIndex = Math.min(tabsCount - 1, activeTabIndex + 1);\n const nextValue = tabItems[targetIndex]?.props?.value;\n if (nextValue) handleSetActiveTab(nextValue);\n },\n onSwipeRight: () => {\n const targetIndex = Math.max(0, activeTabIndex - 1);\n const nextValue = tabItems[targetIndex]?.props?.value;\n if (nextValue) handleSetActiveTab(nextValue);\n },\n });\n\n const handleSetActiveTab = (tab: string) => {\n setActiveTab(tab);\n\n if (typeof setTabsValues === 'function') {\n setTabsValues((prev) => ({ ...prev, [group!]: tab }));\n }\n };\n\n const contextValue: TabContextType = {\n activeTab: activeTab ?? firstTabValue ?? '',\n setActiveTab: handleSetActiveTab,\n };\n\n return (\n <TabContext.Provider value={contextValue}>\n <div\n className={cn(tabContainerVariant({ variant }), className)}\n {...props}\n >\n {/* Tab Headers */}\n <div className=\"sticky top-36 z-10 flex gap-3 p-3 bg-background/70 backdrop-blur\">\n <TabSelector\n selectedChoice={currentTabValue}\n tabs={tabItems.map((child) => {\n const { label, value, disabled } = child.props;\n const isActive = currentTabValue === value;\n\n return (\n <button\n key={value}\n className={cn(\n 'px-4 text-sm font-medium rounded-md transition-colors cursor-pointer focus:outline-none py-1',\n !isActive && 'text-neutral/70'\n )}\n data-active={isActive}\n disabled={disabled}\n onClick={() => !disabled && handleSetActiveTab(value)}\n role=\"tab\"\n aria-selected={isActive}\n aria-controls={`tabpanel-${value}`}\n id={`tab-${value}`}\n >\n {label}\n </button>\n );\n })}\n hoverable\n color={TabSelectorColor.TEXT}\n />\n </div>\n {/* Tab Content */}\n {/* Clipper: no overflow; uses clip-path */}\n <div\n className=\"relative w-full min-w-0 overflow-x-clip [clip-path:inset(0)] [-webkit-clip-path:inset(0)]\"\n {...containerProps}\n >\n {/* Track */}\n <div\n role=\"tablist\"\n aria-orientation=\"horizontal\"\n className={cn(\n 'grid w-full min-w-0',\n isDragging\n ? 'transition-none'\n : 'transition-transform duration-300 ease-in-out'\n )}\n style={{\n gridTemplateColumns: `repeat(${tabItems.length}, 100%)`,\n transform: `translateX(-${activeTabIndex * 100 - (isDragging ? dragDeltaPct : 0)}%)`,\n }}\n >\n {tabItems.map(({ props }, index) => {\n const { value, children } = props;\n const isActive = index === activeTabIndex;\n\n return (\n <div\n key={value}\n role=\"tabpanel\"\n aria-labelledby={`tab-${value}`}\n id={`tabpanel-${value}`}\n aria-hidden={!isActive}\n tabIndex={isActive ? 0 : -1}\n data-active={isActive}\n className={cn(\n 'w-full min-w-0 p-6 opacity-100 transition-opacity duration-300 ease-in-out',\n !isActive && 'pointer-events-none opacity-0' // prevent offscreen interaction\n )}\n >\n <div className=\"w-full min-w-0 flex flex-col gap-6 items-stretch\">\n {children}\n </div>\n </div>\n );\n })}\n </div>\n </div>\n </div>\n </TabContext.Provider>\n );\n};\n\n// Create the compound component\nexport const Tab = Object.assign(TabComponent, {\n Item: TabItem,\n});\n\n// Add display name for better debugging\n"],"names":["props","children"],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ "use client";
2
+ "use strict";
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
4
+ const jsxRuntime = require("react/jsx-runtime");
5
+ const ReactExports = require("react");
6
+ const TabContext = ReactExports.createContext({
7
+ tabsValues: {},
8
+ setTabsValues: (() => {
9
+ })
10
+ });
11
+ const useTabContext = () => ReactExports.useContext(TabContext);
12
+ const TabProvider = ({ children }) => {
13
+ const [tabsValues, setTabsValues] = ReactExports.useState({});
14
+ return /* @__PURE__ */ jsxRuntime.jsx(
15
+ TabContext,
16
+ {
17
+ value: {
18
+ tabsValues,
19
+ setTabsValues
20
+ },
21
+ children
22
+ }
23
+ );
24
+ };
25
+ exports.TabContext = TabContext;
26
+ exports.TabProvider = TabProvider;
27
+ exports.useTabContext = useTabContext;
28
+ //# sourceMappingURL=TabContext.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TabContext.cjs","sources":["../../../src/components/Tab/TabContext.tsx"],"sourcesContent":["'use client';\n\nimport {\n type Dispatch,\n type FC,\n type PropsWithChildren,\n type SetStateAction,\n createContext,\n useContext,\n useState,\n} from 'react';\n\ntype TabContextValue = {\n tabsValues: Record<string, any>;\n setTabsValues: Dispatch<SetStateAction<Record<string, any>>>;\n};\n\n/**\n * Context that store the current locale on the client side\n */\nexport const TabContext = createContext<TabContextValue>({\n tabsValues: {},\n setTabsValues: (() => {}) as Dispatch<SetStateAction<Record<string, any>>>,\n});\n\n/**\n * Hook that provides the current locale\n */\nexport const useTabContext = () => useContext(TabContext);\n\n/**\n * Provider that store the current locale on the client side\n */\nexport const TabProvider: FC<PropsWithChildren> = ({ children }) => {\n const [tabsValues, setTabsValues] = useState<Record<string, any>>({});\n\n return (\n <TabContext\n value={{\n tabsValues,\n setTabsValues,\n }}\n >\n {children}\n </TabContext>\n );\n};\n"],"names":["createContext","useContext","useState","jsx"],"mappings":";;;;;AAoBO,MAAM,aAAaA,aAAAA,cAA+B;AAAA,EACvD,YAAY,CAAA;AAAA,EACZ,gBAAgB,MAAM;AAAA,EAAC;AACzB,CAAC;AAKM,MAAM,gBAAgB,MAAMC,aAAAA,WAAW,UAAU;AAKjD,MAAM,cAAqC,CAAC,EAAE,eAAe;AAClE,QAAM,CAAC,YAAY,aAAa,IAAIC,aAAAA,SAA8B,CAAA,CAAE;AAEpE,SACEC,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,OAAO;AAAA,QACL;AAAA,QACA;AAAA,MAAA;AAAA,MAGD;AAAA,IAAA;AAAA,EAAA;AAGP;;;;"}
@@ -0,0 +1,19 @@
1
+ import { Dispatch, FC, PropsWithChildren, SetStateAction } from 'react';
2
+ type TabContextValue = {
3
+ tabsValues: Record<string, any>;
4
+ setTabsValues: Dispatch<SetStateAction<Record<string, any>>>;
5
+ };
6
+ /**
7
+ * Context that store the current locale on the client side
8
+ */
9
+ export declare const TabContext: import('react').Context<TabContextValue>;
10
+ /**
11
+ * Hook that provides the current locale
12
+ */
13
+ export declare const useTabContext: () => TabContextValue;
14
+ /**
15
+ * Provider that store the current locale on the client side
16
+ */
17
+ export declare const TabProvider: FC<PropsWithChildren>;
18
+ export {};
19
+ //# sourceMappingURL=TabContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TabContext.d.ts","sourceRoot":"","sources":["../../../src/components/Tab/TabContext.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,EAAE,EACP,KAAK,iBAAiB,EACtB,KAAK,cAAc,EAIpB,MAAM,OAAO,CAAC;AAEf,KAAK,eAAe,GAAG;IACrB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChC,aAAa,EAAE,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;CAC9D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,0CAGrB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,aAAa,uBAA+B,CAAC;AAE1D;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,EAAE,CAAC,iBAAiB,CAa7C,CAAC"}
@@ -0,0 +1,28 @@
1
+ "use client";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import { createContext, useContext, useState } from "react";
4
+ const TabContext = createContext({
5
+ tabsValues: {},
6
+ setTabsValues: (() => {
7
+ })
8
+ });
9
+ const useTabContext = () => useContext(TabContext);
10
+ const TabProvider = ({ children }) => {
11
+ const [tabsValues, setTabsValues] = useState({});
12
+ return /* @__PURE__ */ jsx(
13
+ TabContext,
14
+ {
15
+ value: {
16
+ tabsValues,
17
+ setTabsValues
18
+ },
19
+ children
20
+ }
21
+ );
22
+ };
23
+ export {
24
+ TabContext,
25
+ TabProvider,
26
+ useTabContext
27
+ };
28
+ //# sourceMappingURL=TabContext.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TabContext.mjs","sources":["../../../src/components/Tab/TabContext.tsx"],"sourcesContent":["'use client';\n\nimport {\n type Dispatch,\n type FC,\n type PropsWithChildren,\n type SetStateAction,\n createContext,\n useContext,\n useState,\n} from 'react';\n\ntype TabContextValue = {\n tabsValues: Record<string, any>;\n setTabsValues: Dispatch<SetStateAction<Record<string, any>>>;\n};\n\n/**\n * Context that store the current locale on the client side\n */\nexport const TabContext = createContext<TabContextValue>({\n tabsValues: {},\n setTabsValues: (() => {}) as Dispatch<SetStateAction<Record<string, any>>>,\n});\n\n/**\n * Hook that provides the current locale\n */\nexport const useTabContext = () => useContext(TabContext);\n\n/**\n * Provider that store the current locale on the client side\n */\nexport const TabProvider: FC<PropsWithChildren> = ({ children }) => {\n const [tabsValues, setTabsValues] = useState<Record<string, any>>({});\n\n return (\n <TabContext\n value={{\n tabsValues,\n setTabsValues,\n }}\n >\n {children}\n </TabContext>\n );\n};\n"],"names":[],"mappings":";;;AAoBO,MAAM,aAAa,cAA+B;AAAA,EACvD,YAAY,CAAA;AAAA,EACZ,gBAAgB,MAAM;AAAA,EAAC;AACzB,CAAC;AAKM,MAAM,gBAAgB,MAAM,WAAW,UAAU;AAKjD,MAAM,cAAqC,CAAC,EAAE,eAAe;AAClE,QAAM,CAAC,YAAY,aAAa,IAAI,SAA8B,CAAA,CAAE;AAEpE,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,OAAO;AAAA,QACL;AAAA,QACA;AAAA,MAAA;AAAA,MAGD;AAAA,IAAA;AAAA,EAAA;AAGP;"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const components_Tab_Tab = require("./Tab.cjs");
4
+ exports.Tab = components_Tab_Tab.Tab;
5
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,2 @@
1
+ export * from './Tab';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Tab/index.tsx"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { Tab } from "./Tab.mjs";
2
+ export {
3
+ Tab
4
+ };
5
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -91,8 +91,13 @@ const TabSelector = ({
91
91
  return ReactExports.cloneElement(Tab, {
92
92
  key: key ?? index,
93
93
  role: "tab",
94
- onClick: () => onTabClick?.(key),
94
+ onClick: (e) => {
95
+ Tab.props?.onClick?.(e);
96
+ onTabClick?.(key);
97
+ },
95
98
  "aria-selected": isSelected,
99
+ "data-active": isSelected,
100
+ tabIndex: isSelected ? 0 : -1,
96
101
  ref: (el) => {
97
102
  optionsRefs.current[index] = el;
98
103
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TabSelector.cjs","sources":["../../../src/components/TabSelector/TabSelector.tsx"],"sourcesContent":["'use client';\n\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport {\n cloneElement,\n useRef,\n type HTMLAttributes,\n type ReactElement,\n} from 'react';\nimport { useItemSelector } from '../../hooks';\nimport { cn } from '../../utils/cn';\n\nexport enum TabSelectorColor {\n PRIMARY = 'primary',\n SECONDARY = 'secondary',\n DESTRUCTIVE = 'destructive',\n NEUTRAL = 'neutral',\n LIGHT = 'light',\n DARK = 'dark',\n TEXT = 'text',\n}\n\nconst tabSelectorVariant = cva(\n 'relative flex size-full flex-row items-center gap-2',\n {\n variants: {\n color: {\n primary: 'border-primary text-primary',\n secondary: 'border-secondary text-secondary',\n destructive: 'border-destructive bg-destructive text-destructive',\n neutral: 'border-neutral text-neutral ',\n light: 'border-white text-white',\n dark: 'border-neutral-800 text-neutral-800',\n text: 'border-text text-text',\n },\n },\n defaultVariants: {\n color: 'primary',\n },\n }\n);\n\nconst indicatorVariant = cva(\n 'absolute top-0 z-[-1] h-full w-auto rounded-lg transition-[left,width] duration-300 ease-in-out motion-reduce:transition-none',\n {\n variants: {\n color: {\n primary: 'bg-primary/10 aria-selected:text-text',\n secondary: 'bg-secondary/10 aria-selected:text-text',\n destructive: 'bg-destructive/10 aria-selected:text-text',\n neutral: 'bg-neutral/10 aria-selected:text-white/10',\n light: 'bg-white/10 aria-selected:text-black',\n dark: 'bg-neutral-800/10 aria-selected:text-white',\n text: 'bg-text/10 aria-selected:text-text-opposite',\n },\n },\n }\n);\n\nexport type TabProps = HTMLAttributes<HTMLElement> & {\n key: string | number;\n};\n\ntype TabSelectorProps<T extends TabProps> = {\n tabs: ReactElement<T>[];\n selectedChoice: T['key'];\n onTabClick?: (choice: T['key']) => void;\n hoverable?: boolean;\n} & HTMLAttributes<HTMLElement> &\n Omit<VariantProps<typeof tabSelectorVariant>, 'color'> & {\n color?: TabSelectorColor | `${TabSelectorColor}`;\n };\n\n/**\n *\n * Component that allows the user to select one of the provided choices.\n *\n * Example:\n * ```jsx\n * <TabSelector\n * selectedChoice=\"option1\"\n * onTabClick={(choice) => console.log(choice)}\n * hoverable={true}\n * >\n * <Button key=\"option1\"/>\n * <Button key=\"option2\"/>\n * <Button key=\"option3\"/>\n * </TabSelector>\n * ```\n */\nexport const TabSelector = <T extends TabProps>({\n tabs,\n selectedChoice,\n onTabClick,\n color = TabSelectorColor.PRIMARY,\n hoverable = false,\n className,\n}: TabSelectorProps<T>) => {\n const optionsRefs = useRef<HTMLElement[]>([]);\n const indicatorRef = useRef<HTMLDivElement | null>(null);\n const { choiceIndicatorPosition } = useItemSelector(\n optionsRefs,\n undefined,\n hoverable\n );\n\n return (\n <div\n className={cn(\n tabSelectorVariant({\n color,\n }),\n className\n )}\n aria-orientation=\"horizontal\"\n aria-multiselectable=\"false\"\n role=\"tablist\"\n >\n {tabs.map((Tab, index) => {\n const key = Tab.key!;\n\n const isSelected = selectedChoice === key;\n\n return cloneElement(Tab, {\n key: key ?? index,\n role: 'tab',\n onClick: () => onTabClick?.(key),\n 'aria-selected': isSelected,\n ref: (el: HTMLElement) => {\n optionsRefs.current[index] = el!;\n },\n } as unknown as T);\n })}\n {choiceIndicatorPosition && (\n <div\n className={cn(\n indicatorVariant({\n color,\n })\n )}\n style={choiceIndicatorPosition}\n ref={indicatorRef}\n key={`${selectedChoice}${JSON.stringify(tabs.map((tab) => tab.key))}`}\n />\n )}\n </div>\n );\n};\n"],"names":["TabSelectorColor","cva","useRef","useItemSelector","jsxs","cn","cloneElement","jsx"],"mappings":";;;;;;;;;;;;;;AAYO,IAAK,qCAAAA,sBAAL;AACLA,oBAAA,SAAA,IAAU;AACVA,oBAAA,WAAA,IAAY;AACZA,oBAAA,aAAA,IAAc;AACdA,oBAAA,SAAA,IAAU;AACVA,oBAAA,OAAA,IAAQ;AACRA,oBAAA,MAAA,IAAO;AACPA,oBAAA,MAAA,IAAO;AAPG,SAAAA;AAAA,GAAA,oBAAA,CAAA,CAAA;AAUZ,MAAM,qBAAqBC,uBAAAA;AAAAA,EACzB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,OAAO;AAAA,QACL,SAAS;AAAA,QACT,WAAW;AAAA,QACX,aAAa;AAAA,QACb,SAAS;AAAA,QACT,OAAO;AAAA,QACP,MAAM;AAAA,QACN,MAAM;AAAA,MAAA;AAAA,IACR;AAAA,IAEF,iBAAiB;AAAA,MACf,OAAO;AAAA,IAAA;AAAA,EACT;AAEJ;AAEA,MAAM,mBAAmBA,uBAAAA;AAAAA,EACvB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,OAAO;AAAA,QACL,SAAS;AAAA,QACT,WAAW;AAAA,QACX,aAAa;AAAA,QACb,SAAS;AAAA,QACT,OAAO;AAAA,QACP,MAAM;AAAA,QACN,MAAM;AAAA,MAAA;AAAA,IACR;AAAA,EACF;AAEJ;AAiCO,MAAM,cAAc,CAAqB;AAAA,EAC9C;AAAA,EACA;AAAA,EACA;AAAA,EACA,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ;AACF,MAA2B;AACzB,QAAM,cAAcC,aAAAA,OAAsB,EAAE;AAC5C,QAAM,eAAeA,aAAAA,OAA8B,IAAI;AACvD,QAAM,EAAE,4BAA4BC,sBAAAA;AAAAA,IAClC;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAGF,SACEC,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC,SAAAA;AAAAA,QACT,mBAAmB;AAAA,UACjB;AAAA,QAAA,CACD;AAAA,QACD;AAAA,MAAA;AAAA,MAEF,oBAAiB;AAAA,MACjB,wBAAqB;AAAA,MACrB,MAAK;AAAA,MAEJ,UAAA;AAAA,QAAA,KAAK,IAAI,CAAC,KAAK,UAAU;AACxB,gBAAM,MAAM,IAAI;AAEhB,gBAAM,aAAa,mBAAmB;AAEtC,iBAAOC,aAAAA,aAAa,KAAK;AAAA,YACvB,KAAK,OAAO;AAAA,YACZ,MAAM;AAAA,YACN,SAAS,MAAM,aAAa,GAAG;AAAA,YAC/B,iBAAiB;AAAA,YACjB,KAAK,CAAC,OAAoB;AACxB,0BAAY,QAAQ,KAAK,IAAI;AAAA,YAC/B;AAAA,UAAA,CACe;AAAA,QACnB,CAAC;AAAA,QACA,2BACCC,2BAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAWF,SAAAA;AAAAA,cACT,iBAAiB;AAAA,gBACf;AAAA,cAAA,CACD;AAAA,YAAA;AAAA,YAEH,OAAO;AAAA,YACP,KAAK;AAAA,UAAA;AAAA,UACA,GAAG,cAAc,GAAG,KAAK,UAAU,KAAK,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC,CAAC;AAAA,QAAA;AAAA,MACrE;AAAA,IAAA;AAAA,EAAA;AAIR;;;"}
1
+ {"version":3,"file":"TabSelector.cjs","sources":["../../../src/components/TabSelector/TabSelector.tsx"],"sourcesContent":["'use client';\n\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport {\n cloneElement,\n useRef,\n type HTMLAttributes,\n type ReactElement,\n} from 'react';\nimport { useItemSelector } from '../../hooks';\nimport { cn } from '../../utils/cn';\n\nexport enum TabSelectorColor {\n PRIMARY = 'primary',\n SECONDARY = 'secondary',\n DESTRUCTIVE = 'destructive',\n NEUTRAL = 'neutral',\n LIGHT = 'light',\n DARK = 'dark',\n TEXT = 'text',\n}\n\nconst tabSelectorVariant = cva(\n 'relative flex size-full flex-row items-center gap-2',\n {\n variants: {\n color: {\n primary: 'border-primary text-primary',\n secondary: 'border-secondary text-secondary',\n destructive: 'border-destructive bg-destructive text-destructive',\n neutral: 'border-neutral text-neutral ',\n light: 'border-white text-white',\n dark: 'border-neutral-800 text-neutral-800',\n text: 'border-text text-text',\n },\n },\n defaultVariants: {\n color: 'primary',\n },\n }\n);\n\nconst indicatorVariant = cva(\n 'absolute top-0 z-[-1] h-full w-auto rounded-lg transition-[left,width] duration-300 ease-in-out motion-reduce:transition-none',\n {\n variants: {\n color: {\n primary: 'bg-primary/10 aria-selected:text-text',\n secondary: 'bg-secondary/10 aria-selected:text-text',\n destructive: 'bg-destructive/10 aria-selected:text-text',\n neutral: 'bg-neutral/10 aria-selected:text-white/10',\n light: 'bg-white/10 aria-selected:text-black',\n dark: 'bg-neutral-800/10 aria-selected:text-white',\n text: 'bg-text/10 aria-selected:text-text-opposite',\n },\n },\n }\n);\n\ntype TabProps = HTMLAttributes<HTMLElement> & {\n key: string | number;\n};\n\ntype TabSelectorProps<T extends TabProps> = {\n tabs: ReactElement<T>[];\n selectedChoice: T['key'];\n onTabClick?: (choice: T['key']) => void;\n hoverable?: boolean;\n} & HTMLAttributes<HTMLElement> &\n Omit<VariantProps<typeof tabSelectorVariant>, 'color'> & {\n color?: TabSelectorColor | `${TabSelectorColor}`;\n };\n\n/**\n *\n * Component that allows the user to select one of the provided choices.\n *\n * Example:\n * ```jsx\n * <TabSelector\n * selectedChoice=\"option1\"\n * onTabClick={(choice) => console.log(choice)}\n * hoverable={true}\n * >\n * <Button key=\"option1\"/>\n * <Button key=\"option2\"/>\n * <Button key=\"option3\"/>\n * </TabSelector>\n * ```\n */\nexport const TabSelector = <T extends TabProps>({\n tabs,\n selectedChoice,\n onTabClick,\n color = TabSelectorColor.PRIMARY,\n hoverable = false,\n className,\n}: TabSelectorProps<T>) => {\n const optionsRefs = useRef<HTMLElement[]>([]);\n const indicatorRef = useRef<HTMLDivElement | null>(null);\n const { choiceIndicatorPosition } = useItemSelector(\n optionsRefs,\n undefined,\n hoverable\n );\n\n return (\n <div\n className={cn(\n tabSelectorVariant({\n color,\n }),\n className\n )}\n aria-orientation=\"horizontal\"\n aria-multiselectable=\"false\"\n role=\"tablist\"\n >\n {tabs.map((Tab, index) => {\n const key = Tab.key!;\n\n const isSelected = selectedChoice === key;\n\n return cloneElement(Tab, {\n key: key ?? index,\n role: 'tab',\n onClick: (e: unknown) => {\n Tab.props?.onClick?.(e);\n onTabClick?.(key);\n },\n 'aria-selected': isSelected,\n 'data-active': isSelected as unknown as string,\n tabIndex: isSelected ? 0 : -1,\n ref: (el: HTMLElement) => {\n optionsRefs.current[index] = el!;\n },\n } as unknown as T);\n })}\n {choiceIndicatorPosition && (\n <div\n className={cn(\n indicatorVariant({\n color,\n })\n )}\n style={choiceIndicatorPosition}\n ref={indicatorRef}\n key={`${selectedChoice}${JSON.stringify(tabs.map((tab) => tab.key))}`}\n />\n )}\n </div>\n );\n};\n"],"names":["TabSelectorColor","cva","useRef","useItemSelector","jsxs","cn","cloneElement","jsx"],"mappings":";;;;;;;;;;;;;;AAYO,IAAK,qCAAAA,sBAAL;AACLA,oBAAA,SAAA,IAAU;AACVA,oBAAA,WAAA,IAAY;AACZA,oBAAA,aAAA,IAAc;AACdA,oBAAA,SAAA,IAAU;AACVA,oBAAA,OAAA,IAAQ;AACRA,oBAAA,MAAA,IAAO;AACPA,oBAAA,MAAA,IAAO;AAPG,SAAAA;AAAA,GAAA,oBAAA,CAAA,CAAA;AAUZ,MAAM,qBAAqBC,uBAAAA;AAAAA,EACzB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,OAAO;AAAA,QACL,SAAS;AAAA,QACT,WAAW;AAAA,QACX,aAAa;AAAA,QACb,SAAS;AAAA,QACT,OAAO;AAAA,QACP,MAAM;AAAA,QACN,MAAM;AAAA,MAAA;AAAA,IACR;AAAA,IAEF,iBAAiB;AAAA,MACf,OAAO;AAAA,IAAA;AAAA,EACT;AAEJ;AAEA,MAAM,mBAAmBA,uBAAAA;AAAAA,EACvB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,OAAO;AAAA,QACL,SAAS;AAAA,QACT,WAAW;AAAA,QACX,aAAa;AAAA,QACb,SAAS;AAAA,QACT,OAAO;AAAA,QACP,MAAM;AAAA,QACN,MAAM;AAAA,MAAA;AAAA,IACR;AAAA,EACF;AAEJ;AAiCO,MAAM,cAAc,CAAqB;AAAA,EAC9C;AAAA,EACA;AAAA,EACA;AAAA,EACA,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ;AACF,MAA2B;AACzB,QAAM,cAAcC,aAAAA,OAAsB,EAAE;AAC5C,QAAM,eAAeA,aAAAA,OAA8B,IAAI;AACvD,QAAM,EAAE,4BAA4BC,sBAAAA;AAAAA,IAClC;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAGF,SACEC,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC,SAAAA;AAAAA,QACT,mBAAmB;AAAA,UACjB;AAAA,QAAA,CACD;AAAA,QACD;AAAA,MAAA;AAAA,MAEF,oBAAiB;AAAA,MACjB,wBAAqB;AAAA,MACrB,MAAK;AAAA,MAEJ,UAAA;AAAA,QAAA,KAAK,IAAI,CAAC,KAAK,UAAU;AACxB,gBAAM,MAAM,IAAI;AAEhB,gBAAM,aAAa,mBAAmB;AAEtC,iBAAOC,aAAAA,aAAa,KAAK;AAAA,YACvB,KAAK,OAAO;AAAA,YACZ,MAAM;AAAA,YACN,SAAS,CAAC,MAAe;AACvB,kBAAI,OAAO,UAAU,CAAC;AACtB,2BAAa,GAAG;AAAA,YAClB;AAAA,YACA,iBAAiB;AAAA,YACjB,eAAe;AAAA,YACf,UAAU,aAAa,IAAI;AAAA,YAC3B,KAAK,CAAC,OAAoB;AACxB,0BAAY,QAAQ,KAAK,IAAI;AAAA,YAC/B;AAAA,UAAA,CACe;AAAA,QACnB,CAAC;AAAA,QACA,2BACCC,2BAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAWF,SAAAA;AAAAA,cACT,iBAAiB;AAAA,gBACf;AAAA,cAAA,CACD;AAAA,YAAA;AAAA,YAEH,OAAO;AAAA,YACP,KAAK;AAAA,UAAA;AAAA,UACA,GAAG,cAAc,GAAG,KAAK,UAAU,KAAK,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC,CAAC;AAAA,QAAA;AAAA,MACrE;AAAA,IAAA;AAAA,EAAA;AAIR;;;"}
@@ -12,7 +12,7 @@ export declare enum TabSelectorColor {
12
12
  declare const tabSelectorVariant: (props?: ({
13
13
  color?: "text" | "primary" | "secondary" | "destructive" | "neutral" | "light" | "dark" | null | undefined;
14
14
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
15
- export type TabProps = HTMLAttributes<HTMLElement> & {
15
+ type TabProps = HTMLAttributes<HTMLElement> & {
16
16
  key: string | number;
17
17
  };
18
18
  type TabSelectorProps<T extends TabProps> = {
@@ -1 +1 @@
1
- {"version":3,"file":"TabSelector.d.ts","sourceRoot":"","sources":["../../../src/components/TabSelector/TabSelector.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,YAAY,EAClB,MAAM,OAAO,CAAC;AAIf,oBAAY,gBAAgB;IAC1B,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,WAAW,gBAAgB;IAC3B,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,IAAI,SAAS;IACb,IAAI,SAAS;CACd;AAED,QAAA,MAAM,kBAAkB;;8EAkBvB,CAAC;AAmBF,MAAM,MAAM,QAAQ,GAAG,cAAc,CAAC,WAAW,CAAC,GAAG;IACnD,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACtB,CAAC;AAEF,KAAK,gBAAgB,CAAC,CAAC,SAAS,QAAQ,IAAI;IAC1C,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IACxB,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IACzB,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;IACxC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,GAAG,cAAc,CAAC,WAAW,CAAC,GAC7B,IAAI,CAAC,YAAY,CAAC,OAAO,kBAAkB,CAAC,EAAE,OAAO,CAAC,GAAG;IACvD,KAAK,CAAC,EAAE,gBAAgB,GAAG,GAAG,gBAAgB,EAAE,CAAC;CAClD,CAAC;AAEJ;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,QAAQ,EAAE,oEAO7C,gBAAgB,CAAC,CAAC,CAAC,4CAkDrB,CAAC"}
1
+ {"version":3,"file":"TabSelector.d.ts","sourceRoot":"","sources":["../../../src/components/TabSelector/TabSelector.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,YAAY,EAClB,MAAM,OAAO,CAAC;AAIf,oBAAY,gBAAgB;IAC1B,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,WAAW,gBAAgB;IAC3B,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,IAAI,SAAS;IACb,IAAI,SAAS;CACd;AAED,QAAA,MAAM,kBAAkB;;8EAkBvB,CAAC;AAmBF,KAAK,QAAQ,GAAG,cAAc,CAAC,WAAW,CAAC,GAAG;IAC5C,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACtB,CAAC;AAEF,KAAK,gBAAgB,CAAC,CAAC,SAAS,QAAQ,IAAI;IAC1C,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IACxB,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IACzB,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;IACxC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,GAAG,cAAc,CAAC,WAAW,CAAC,GAC7B,IAAI,CAAC,YAAY,CAAC,OAAO,kBAAkB,CAAC,EAAE,OAAO,CAAC,GAAG;IACvD,KAAK,CAAC,EAAE,gBAAgB,GAAG,GAAG,gBAAgB,EAAE,CAAC;CAClD,CAAC;AAEJ;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,QAAQ,EAAE,oEAO7C,gBAAgB,CAAC,CAAC,CAAC,4CAuDrB,CAAC"}
@@ -89,8 +89,13 @@ const TabSelector = ({
89
89
  return cloneElement(Tab, {
90
90
  key: key ?? index,
91
91
  role: "tab",
92
- onClick: () => onTabClick?.(key),
92
+ onClick: (e) => {
93
+ Tab.props?.onClick?.(e);
94
+ onTabClick?.(key);
95
+ },
93
96
  "aria-selected": isSelected,
97
+ "data-active": isSelected,
98
+ tabIndex: isSelected ? 0 : -1,
94
99
  ref: (el) => {
95
100
  optionsRefs.current[index] = el;
96
101
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TabSelector.mjs","sources":["../../../src/components/TabSelector/TabSelector.tsx"],"sourcesContent":["'use client';\n\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport {\n cloneElement,\n useRef,\n type HTMLAttributes,\n type ReactElement,\n} from 'react';\nimport { useItemSelector } from '../../hooks';\nimport { cn } from '../../utils/cn';\n\nexport enum TabSelectorColor {\n PRIMARY = 'primary',\n SECONDARY = 'secondary',\n DESTRUCTIVE = 'destructive',\n NEUTRAL = 'neutral',\n LIGHT = 'light',\n DARK = 'dark',\n TEXT = 'text',\n}\n\nconst tabSelectorVariant = cva(\n 'relative flex size-full flex-row items-center gap-2',\n {\n variants: {\n color: {\n primary: 'border-primary text-primary',\n secondary: 'border-secondary text-secondary',\n destructive: 'border-destructive bg-destructive text-destructive',\n neutral: 'border-neutral text-neutral ',\n light: 'border-white text-white',\n dark: 'border-neutral-800 text-neutral-800',\n text: 'border-text text-text',\n },\n },\n defaultVariants: {\n color: 'primary',\n },\n }\n);\n\nconst indicatorVariant = cva(\n 'absolute top-0 z-[-1] h-full w-auto rounded-lg transition-[left,width] duration-300 ease-in-out motion-reduce:transition-none',\n {\n variants: {\n color: {\n primary: 'bg-primary/10 aria-selected:text-text',\n secondary: 'bg-secondary/10 aria-selected:text-text',\n destructive: 'bg-destructive/10 aria-selected:text-text',\n neutral: 'bg-neutral/10 aria-selected:text-white/10',\n light: 'bg-white/10 aria-selected:text-black',\n dark: 'bg-neutral-800/10 aria-selected:text-white',\n text: 'bg-text/10 aria-selected:text-text-opposite',\n },\n },\n }\n);\n\nexport type TabProps = HTMLAttributes<HTMLElement> & {\n key: string | number;\n};\n\ntype TabSelectorProps<T extends TabProps> = {\n tabs: ReactElement<T>[];\n selectedChoice: T['key'];\n onTabClick?: (choice: T['key']) => void;\n hoverable?: boolean;\n} & HTMLAttributes<HTMLElement> &\n Omit<VariantProps<typeof tabSelectorVariant>, 'color'> & {\n color?: TabSelectorColor | `${TabSelectorColor}`;\n };\n\n/**\n *\n * Component that allows the user to select one of the provided choices.\n *\n * Example:\n * ```jsx\n * <TabSelector\n * selectedChoice=\"option1\"\n * onTabClick={(choice) => console.log(choice)}\n * hoverable={true}\n * >\n * <Button key=\"option1\"/>\n * <Button key=\"option2\"/>\n * <Button key=\"option3\"/>\n * </TabSelector>\n * ```\n */\nexport const TabSelector = <T extends TabProps>({\n tabs,\n selectedChoice,\n onTabClick,\n color = TabSelectorColor.PRIMARY,\n hoverable = false,\n className,\n}: TabSelectorProps<T>) => {\n const optionsRefs = useRef<HTMLElement[]>([]);\n const indicatorRef = useRef<HTMLDivElement | null>(null);\n const { choiceIndicatorPosition } = useItemSelector(\n optionsRefs,\n undefined,\n hoverable\n );\n\n return (\n <div\n className={cn(\n tabSelectorVariant({\n color,\n }),\n className\n )}\n aria-orientation=\"horizontal\"\n aria-multiselectable=\"false\"\n role=\"tablist\"\n >\n {tabs.map((Tab, index) => {\n const key = Tab.key!;\n\n const isSelected = selectedChoice === key;\n\n return cloneElement(Tab, {\n key: key ?? index,\n role: 'tab',\n onClick: () => onTabClick?.(key),\n 'aria-selected': isSelected,\n ref: (el: HTMLElement) => {\n optionsRefs.current[index] = el!;\n },\n } as unknown as T);\n })}\n {choiceIndicatorPosition && (\n <div\n className={cn(\n indicatorVariant({\n color,\n })\n )}\n style={choiceIndicatorPosition}\n ref={indicatorRef}\n key={`${selectedChoice}${JSON.stringify(tabs.map((tab) => tab.key))}`}\n />\n )}\n </div>\n );\n};\n"],"names":["TabSelectorColor"],"mappings":";;;;;;;;;;;;AAYO,IAAK,qCAAAA,sBAAL;AACLA,oBAAA,SAAA,IAAU;AACVA,oBAAA,WAAA,IAAY;AACZA,oBAAA,aAAA,IAAc;AACdA,oBAAA,SAAA,IAAU;AACVA,oBAAA,OAAA,IAAQ;AACRA,oBAAA,MAAA,IAAO;AACPA,oBAAA,MAAA,IAAO;AAPG,SAAAA;AAAA,GAAA,oBAAA,CAAA,CAAA;AAUZ,MAAM,qBAAqB;AAAA,EACzB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,OAAO;AAAA,QACL,SAAS;AAAA,QACT,WAAW;AAAA,QACX,aAAa;AAAA,QACb,SAAS;AAAA,QACT,OAAO;AAAA,QACP,MAAM;AAAA,QACN,MAAM;AAAA,MAAA;AAAA,IACR;AAAA,IAEF,iBAAiB;AAAA,MACf,OAAO;AAAA,IAAA;AAAA,EACT;AAEJ;AAEA,MAAM,mBAAmB;AAAA,EACvB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,OAAO;AAAA,QACL,SAAS;AAAA,QACT,WAAW;AAAA,QACX,aAAa;AAAA,QACb,SAAS;AAAA,QACT,OAAO;AAAA,QACP,MAAM;AAAA,QACN,MAAM;AAAA,MAAA;AAAA,IACR;AAAA,EACF;AAEJ;AAiCO,MAAM,cAAc,CAAqB;AAAA,EAC9C;AAAA,EACA;AAAA,EACA;AAAA,EACA,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ;AACF,MAA2B;AACzB,QAAM,cAAc,OAAsB,EAAE;AAC5C,QAAM,eAAe,OAA8B,IAAI;AACvD,QAAM,EAAE,4BAA4B;AAAA,IAClC;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAGF,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW;AAAA,QACT,mBAAmB;AAAA,UACjB;AAAA,QAAA,CACD;AAAA,QACD;AAAA,MAAA;AAAA,MAEF,oBAAiB;AAAA,MACjB,wBAAqB;AAAA,MACrB,MAAK;AAAA,MAEJ,UAAA;AAAA,QAAA,KAAK,IAAI,CAAC,KAAK,UAAU;AACxB,gBAAM,MAAM,IAAI;AAEhB,gBAAM,aAAa,mBAAmB;AAEtC,iBAAO,aAAa,KAAK;AAAA,YACvB,KAAK,OAAO;AAAA,YACZ,MAAM;AAAA,YACN,SAAS,MAAM,aAAa,GAAG;AAAA,YAC/B,iBAAiB;AAAA,YACjB,KAAK,CAAC,OAAoB;AACxB,0BAAY,QAAQ,KAAK,IAAI;AAAA,YAC/B;AAAA,UAAA,CACe;AAAA,QACnB,CAAC;AAAA,QACA,2BACC;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAW;AAAA,cACT,iBAAiB;AAAA,gBACf;AAAA,cAAA,CACD;AAAA,YAAA;AAAA,YAEH,OAAO;AAAA,YACP,KAAK;AAAA,UAAA;AAAA,UACA,GAAG,cAAc,GAAG,KAAK,UAAU,KAAK,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC,CAAC;AAAA,QAAA;AAAA,MACrE;AAAA,IAAA;AAAA,EAAA;AAIR;"}
1
+ {"version":3,"file":"TabSelector.mjs","sources":["../../../src/components/TabSelector/TabSelector.tsx"],"sourcesContent":["'use client';\n\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport {\n cloneElement,\n useRef,\n type HTMLAttributes,\n type ReactElement,\n} from 'react';\nimport { useItemSelector } from '../../hooks';\nimport { cn } from '../../utils/cn';\n\nexport enum TabSelectorColor {\n PRIMARY = 'primary',\n SECONDARY = 'secondary',\n DESTRUCTIVE = 'destructive',\n NEUTRAL = 'neutral',\n LIGHT = 'light',\n DARK = 'dark',\n TEXT = 'text',\n}\n\nconst tabSelectorVariant = cva(\n 'relative flex size-full flex-row items-center gap-2',\n {\n variants: {\n color: {\n primary: 'border-primary text-primary',\n secondary: 'border-secondary text-secondary',\n destructive: 'border-destructive bg-destructive text-destructive',\n neutral: 'border-neutral text-neutral ',\n light: 'border-white text-white',\n dark: 'border-neutral-800 text-neutral-800',\n text: 'border-text text-text',\n },\n },\n defaultVariants: {\n color: 'primary',\n },\n }\n);\n\nconst indicatorVariant = cva(\n 'absolute top-0 z-[-1] h-full w-auto rounded-lg transition-[left,width] duration-300 ease-in-out motion-reduce:transition-none',\n {\n variants: {\n color: {\n primary: 'bg-primary/10 aria-selected:text-text',\n secondary: 'bg-secondary/10 aria-selected:text-text',\n destructive: 'bg-destructive/10 aria-selected:text-text',\n neutral: 'bg-neutral/10 aria-selected:text-white/10',\n light: 'bg-white/10 aria-selected:text-black',\n dark: 'bg-neutral-800/10 aria-selected:text-white',\n text: 'bg-text/10 aria-selected:text-text-opposite',\n },\n },\n }\n);\n\ntype TabProps = HTMLAttributes<HTMLElement> & {\n key: string | number;\n};\n\ntype TabSelectorProps<T extends TabProps> = {\n tabs: ReactElement<T>[];\n selectedChoice: T['key'];\n onTabClick?: (choice: T['key']) => void;\n hoverable?: boolean;\n} & HTMLAttributes<HTMLElement> &\n Omit<VariantProps<typeof tabSelectorVariant>, 'color'> & {\n color?: TabSelectorColor | `${TabSelectorColor}`;\n };\n\n/**\n *\n * Component that allows the user to select one of the provided choices.\n *\n * Example:\n * ```jsx\n * <TabSelector\n * selectedChoice=\"option1\"\n * onTabClick={(choice) => console.log(choice)}\n * hoverable={true}\n * >\n * <Button key=\"option1\"/>\n * <Button key=\"option2\"/>\n * <Button key=\"option3\"/>\n * </TabSelector>\n * ```\n */\nexport const TabSelector = <T extends TabProps>({\n tabs,\n selectedChoice,\n onTabClick,\n color = TabSelectorColor.PRIMARY,\n hoverable = false,\n className,\n}: TabSelectorProps<T>) => {\n const optionsRefs = useRef<HTMLElement[]>([]);\n const indicatorRef = useRef<HTMLDivElement | null>(null);\n const { choiceIndicatorPosition } = useItemSelector(\n optionsRefs,\n undefined,\n hoverable\n );\n\n return (\n <div\n className={cn(\n tabSelectorVariant({\n color,\n }),\n className\n )}\n aria-orientation=\"horizontal\"\n aria-multiselectable=\"false\"\n role=\"tablist\"\n >\n {tabs.map((Tab, index) => {\n const key = Tab.key!;\n\n const isSelected = selectedChoice === key;\n\n return cloneElement(Tab, {\n key: key ?? index,\n role: 'tab',\n onClick: (e: unknown) => {\n Tab.props?.onClick?.(e);\n onTabClick?.(key);\n },\n 'aria-selected': isSelected,\n 'data-active': isSelected as unknown as string,\n tabIndex: isSelected ? 0 : -1,\n ref: (el: HTMLElement) => {\n optionsRefs.current[index] = el!;\n },\n } as unknown as T);\n })}\n {choiceIndicatorPosition && (\n <div\n className={cn(\n indicatorVariant({\n color,\n })\n )}\n style={choiceIndicatorPosition}\n ref={indicatorRef}\n key={`${selectedChoice}${JSON.stringify(tabs.map((tab) => tab.key))}`}\n />\n )}\n </div>\n );\n};\n"],"names":["TabSelectorColor"],"mappings":";;;;;;;;;;;;AAYO,IAAK,qCAAAA,sBAAL;AACLA,oBAAA,SAAA,IAAU;AACVA,oBAAA,WAAA,IAAY;AACZA,oBAAA,aAAA,IAAc;AACdA,oBAAA,SAAA,IAAU;AACVA,oBAAA,OAAA,IAAQ;AACRA,oBAAA,MAAA,IAAO;AACPA,oBAAA,MAAA,IAAO;AAPG,SAAAA;AAAA,GAAA,oBAAA,CAAA,CAAA;AAUZ,MAAM,qBAAqB;AAAA,EACzB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,OAAO;AAAA,QACL,SAAS;AAAA,QACT,WAAW;AAAA,QACX,aAAa;AAAA,QACb,SAAS;AAAA,QACT,OAAO;AAAA,QACP,MAAM;AAAA,QACN,MAAM;AAAA,MAAA;AAAA,IACR;AAAA,IAEF,iBAAiB;AAAA,MACf,OAAO;AAAA,IAAA;AAAA,EACT;AAEJ;AAEA,MAAM,mBAAmB;AAAA,EACvB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,OAAO;AAAA,QACL,SAAS;AAAA,QACT,WAAW;AAAA,QACX,aAAa;AAAA,QACb,SAAS;AAAA,QACT,OAAO;AAAA,QACP,MAAM;AAAA,QACN,MAAM;AAAA,MAAA;AAAA,IACR;AAAA,EACF;AAEJ;AAiCO,MAAM,cAAc,CAAqB;AAAA,EAC9C;AAAA,EACA;AAAA,EACA;AAAA,EACA,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ;AACF,MAA2B;AACzB,QAAM,cAAc,OAAsB,EAAE;AAC5C,QAAM,eAAe,OAA8B,IAAI;AACvD,QAAM,EAAE,4BAA4B;AAAA,IAClC;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAGF,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW;AAAA,QACT,mBAAmB;AAAA,UACjB;AAAA,QAAA,CACD;AAAA,QACD;AAAA,MAAA;AAAA,MAEF,oBAAiB;AAAA,MACjB,wBAAqB;AAAA,MACrB,MAAK;AAAA,MAEJ,UAAA;AAAA,QAAA,KAAK,IAAI,CAAC,KAAK,UAAU;AACxB,gBAAM,MAAM,IAAI;AAEhB,gBAAM,aAAa,mBAAmB;AAEtC,iBAAO,aAAa,KAAK;AAAA,YACvB,KAAK,OAAO;AAAA,YACZ,MAAM;AAAA,YACN,SAAS,CAAC,MAAe;AACvB,kBAAI,OAAO,UAAU,CAAC;AACtB,2BAAa,GAAG;AAAA,YAClB;AAAA,YACA,iBAAiB;AAAA,YACjB,eAAe;AAAA,YACf,UAAU,aAAa,IAAI;AAAA,YAC3B,KAAK,CAAC,OAAoB;AACxB,0BAAY,QAAQ,KAAK,IAAI;AAAA,YAC/B;AAAA,UAAA,CACe;AAAA,QACnB,CAAC;AAAA,QACA,2BACC;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAW;AAAA,cACT,iBAAiB;AAAA,gBACf;AAAA,cAAA,CACD;AAAA,YAAA;AAAA,YAEH,OAAO;AAAA,YACP,KAAK;AAAA,UAAA;AAAA,UACA,GAAG,cAAc,GAAG,KAAK,UAAU,KAAK,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC,CAAC;AAAA,QAAA;AAAA,MACrE;AAAA,IAAA;AAAA,EAAA;AAIR;"}
@@ -23,16 +23,23 @@ const Table = ({ className, isRollable, ...props }) => {
23
23
  Icon: lucideReact.MoveDiagonal
24
24
  }
25
25
  ) }) }),
26
- /* @__PURE__ */ jsxRuntime.jsx(components_ExpandCollapse_ExpandCollapse.ExpandCollapse, { isRollable, children: /* @__PURE__ */ jsxRuntime.jsx(
27
- "table",
26
+ /* @__PURE__ */ jsxRuntime.jsx(
27
+ components_ExpandCollapse_ExpandCollapse.ExpandCollapse,
28
28
  {
29
- className: utils_cn.cn(
30
- "max-w-full table-auto text-left min-w-full",
31
- className
32
- ),
33
- ...props
29
+ isRollable,
30
+ className: "max-w-full overflow-x-auto",
31
+ children: /* @__PURE__ */ jsxRuntime.jsx(
32
+ "table",
33
+ {
34
+ className: utils_cn.cn(
35
+ "max-w-full overflow-x-auto table-auto text-left min-w-full bg-background",
36
+ className
37
+ ),
38
+ ...props
39
+ }
40
+ )
34
41
  }
35
- ) }),
42
+ ),
36
43
  /* @__PURE__ */ jsxRuntime.jsx(
37
44
  components_Modal_Modal.Modal,
38
45
  {
@@ -1 +1 @@
1
- {"version":3,"file":"Table.cjs","sources":["../../../src/components/Table/Table.tsx"],"sourcesContent":["'use client';\n\nimport { MoveDiagonal } from 'lucide-react';\nimport { HTMLAttributes, useState, type FC } from 'react';\nimport { cn } from '../../utils/cn';\nimport { Button } from '../Button';\nimport { ExpandCollapse } from '../ExpandCollapse';\nimport { Modal, ModalSize } from '../Modal';\n\ntype TableProps = HTMLAttributes<HTMLTableElement> & {\n isRollable?: boolean;\n};\n\nexport const Table: FC<TableProps> = ({ className, isRollable, ...props }) => {\n const [isModalOpen, setIsModalOpen] = useState(false);\n\n return (\n <div className=\"relative\">\n <div className=\"sticky top-48 z-10\">\n <div className=\"absolute top-4 right-2\">\n <Button\n variant=\"hoverable\"\n size=\"icon-md\"\n onClick={() => {\n setIsModalOpen(true);\n }}\n label=\"Move\"\n Icon={MoveDiagonal}\n />\n </div>\n </div>\n <ExpandCollapse isRollable={isRollable}>\n <table\n className={cn(\n 'max-w-full table-auto text-left min-w-full',\n className\n )}\n {...props}\n />\n </ExpandCollapse>\n\n <Modal\n isOpen={isModalOpen}\n onClose={() => setIsModalOpen(false)}\n size={ModalSize.XL}\n hasCloseButton\n >\n {isModalOpen ? (\n <div className=\"grid\">\n <table\n className={cn(\n 'max-w-full table-auto text-left min-w-full',\n className\n )}\n {...props}\n />\n </div>\n ) : (\n <></>\n )}\n </Modal>\n </div>\n );\n};\n"],"names":["useState","jsxs","jsx","Button","MoveDiagonal","ExpandCollapse","cn","Modal","ModalSize","Fragment"],"mappings":";;;;;;;;;;AAaO,MAAM,QAAwB,CAAC,EAAE,WAAW,YAAY,GAAG,YAAY;AAC5E,QAAM,CAAC,aAAa,cAAc,IAAIA,aAAAA,SAAS,KAAK;AAEpD,SACEC,2BAAAA,KAAC,OAAA,EAAI,WAAU,YACb,UAAA;AAAA,IAAAC,2BAAAA,IAAC,SAAI,WAAU,sBACb,UAAAA,+BAAC,OAAA,EAAI,WAAU,0BACb,UAAAA,2BAAAA;AAAAA,MAACC,yBAAAA;AAAAA,MAAA;AAAA,QACC,SAAQ;AAAA,QACR,MAAK;AAAA,QACL,SAAS,MAAM;AACb,yBAAe,IAAI;AAAA,QACrB;AAAA,QACA,OAAM;AAAA,QACN,MAAMC,YAAAA;AAAAA,MAAA;AAAA,IAAA,GAEV,EAAA,CACF;AAAA,IACAF,2BAAAA,IAACG,yCAAAA,kBAAe,YACd,UAAAH,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAWI,SAAAA;AAAAA,UACT;AAAA,UACA;AAAA,QAAA;AAAA,QAED,GAAG;AAAA,MAAA;AAAA,IAAA,GAER;AAAA,IAEAJ,2BAAAA;AAAAA,MAACK,uBAAAA;AAAAA,MAAA;AAAA,QACC,QAAQ;AAAA,QACR,SAAS,MAAM,eAAe,KAAK;AAAA,QACnC,MAAMC,uBAAAA,UAAU;AAAA,QAChB,gBAAc;AAAA,QAEb,UAAA,cACCN,+BAAC,OAAA,EAAI,WAAU,QACb,UAAAA,2BAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAWI,SAAAA;AAAAA,cACT;AAAA,cACA;AAAA,YAAA;AAAA,YAED,GAAG;AAAA,UAAA;AAAA,QAAA,GAER,IAEAJ,+BAAAO,WAAAA,UAAA,CAAA,CAAE;AAAA,MAAA;AAAA,IAAA;AAAA,EAEN,GACF;AAEJ;;"}
1
+ {"version":3,"file":"Table.cjs","sources":["../../../src/components/Table/Table.tsx"],"sourcesContent":["'use client';\n\nimport { MoveDiagonal } from 'lucide-react';\nimport { HTMLAttributes, useState, type FC } from 'react';\nimport { cn } from '../../utils/cn';\nimport { Button } from '../Button';\nimport { ExpandCollapse } from '../ExpandCollapse';\nimport { Modal, ModalSize } from '../Modal';\n\ntype TableProps = HTMLAttributes<HTMLTableElement> & {\n isRollable?: boolean;\n};\n\nexport const Table: FC<TableProps> = ({ className, isRollable, ...props }) => {\n const [isModalOpen, setIsModalOpen] = useState(false);\n\n return (\n <div className=\"relative\">\n <div className=\"sticky top-48 z-10\">\n <div className=\"absolute top-4 right-2\">\n <Button\n variant=\"hoverable\"\n size=\"icon-md\"\n onClick={() => {\n setIsModalOpen(true);\n }}\n label=\"Move\"\n Icon={MoveDiagonal}\n />\n </div>\n </div>\n <ExpandCollapse\n isRollable={isRollable}\n className=\"max-w-full overflow-x-auto\"\n >\n <table\n className={cn(\n 'max-w-full overflow-x-auto table-auto text-left min-w-full bg-background',\n className\n )}\n {...props}\n />\n </ExpandCollapse>\n\n <Modal\n isOpen={isModalOpen}\n onClose={() => setIsModalOpen(false)}\n size={ModalSize.XL}\n hasCloseButton\n >\n {isModalOpen ? (\n <div className=\"grid\">\n <table\n className={cn(\n 'max-w-full table-auto text-left min-w-full',\n className\n )}\n {...props}\n />\n </div>\n ) : (\n <></>\n )}\n </Modal>\n </div>\n );\n};\n"],"names":["useState","jsxs","jsx","Button","MoveDiagonal","ExpandCollapse","cn","Modal","ModalSize","Fragment"],"mappings":";;;;;;;;;;AAaO,MAAM,QAAwB,CAAC,EAAE,WAAW,YAAY,GAAG,YAAY;AAC5E,QAAM,CAAC,aAAa,cAAc,IAAIA,aAAAA,SAAS,KAAK;AAEpD,SACEC,2BAAAA,KAAC,OAAA,EAAI,WAAU,YACb,UAAA;AAAA,IAAAC,2BAAAA,IAAC,SAAI,WAAU,sBACb,UAAAA,+BAAC,OAAA,EAAI,WAAU,0BACb,UAAAA,2BAAAA;AAAAA,MAACC,yBAAAA;AAAAA,MAAA;AAAA,QACC,SAAQ;AAAA,QACR,MAAK;AAAA,QACL,SAAS,MAAM;AACb,yBAAe,IAAI;AAAA,QACrB;AAAA,QACA,OAAM;AAAA,QACN,MAAMC,YAAAA;AAAAA,MAAA;AAAA,IAAA,GAEV,EAAA,CACF;AAAA,IACAF,2BAAAA;AAAAA,MAACG,yCAAAA;AAAAA,MAAA;AAAA,QACC;AAAA,QACA,WAAU;AAAA,QAEV,UAAAH,2BAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAWI,SAAAA;AAAAA,cACT;AAAA,cACA;AAAA,YAAA;AAAA,YAED,GAAG;AAAA,UAAA;AAAA,QAAA;AAAA,MACN;AAAA,IAAA;AAAA,IAGFJ,2BAAAA;AAAAA,MAACK,uBAAAA;AAAAA,MAAA;AAAA,QACC,QAAQ;AAAA,QACR,SAAS,MAAM,eAAe,KAAK;AAAA,QACnC,MAAMC,uBAAAA,UAAU;AAAA,QAChB,gBAAc;AAAA,QAEb,UAAA,cACCN,+BAAC,OAAA,EAAI,WAAU,QACb,UAAAA,2BAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAWI,SAAAA;AAAAA,cACT;AAAA,cACA;AAAA,YAAA;AAAA,YAED,GAAG;AAAA,UAAA;AAAA,QAAA,GAER,IAEAJ,+BAAAO,WAAAA,UAAA,CAAA,CAAE;AAAA,MAAA;AAAA,IAAA;AAAA,EAEN,GACF;AAEJ;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../../src/components/Table/Table.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAY,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAM1D,KAAK,UAAU,GAAG,cAAc,CAAC,gBAAgB,CAAC,GAAG;IACnD,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,EAAE,CAAC,UAAU,CAkDhC,CAAC"}
1
+ {"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../../src/components/Table/Table.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAY,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAM1D,KAAK,UAAU,GAAG,cAAc,CAAC,gBAAgB,CAAC,GAAG;IACnD,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,EAAE,CAAC,UAAU,CAqDhC,CAAC"}
@@ -21,16 +21,23 @@ const Table = ({ className, isRollable, ...props }) => {
21
21
  Icon: MoveDiagonal
22
22
  }
23
23
  ) }) }),
24
- /* @__PURE__ */ jsx(ExpandCollapse, { isRollable, children: /* @__PURE__ */ jsx(
25
- "table",
24
+ /* @__PURE__ */ jsx(
25
+ ExpandCollapse,
26
26
  {
27
- className: cn(
28
- "max-w-full table-auto text-left min-w-full",
29
- className
30
- ),
31
- ...props
27
+ isRollable,
28
+ className: "max-w-full overflow-x-auto",
29
+ children: /* @__PURE__ */ jsx(
30
+ "table",
31
+ {
32
+ className: cn(
33
+ "max-w-full overflow-x-auto table-auto text-left min-w-full bg-background",
34
+ className
35
+ ),
36
+ ...props
37
+ }
38
+ )
32
39
  }
33
- ) }),
40
+ ),
34
41
  /* @__PURE__ */ jsx(
35
42
  Modal,
36
43
  {
@@ -1 +1 @@
1
- {"version":3,"file":"Table.mjs","sources":["../../../src/components/Table/Table.tsx"],"sourcesContent":["'use client';\n\nimport { MoveDiagonal } from 'lucide-react';\nimport { HTMLAttributes, useState, type FC } from 'react';\nimport { cn } from '../../utils/cn';\nimport { Button } from '../Button';\nimport { ExpandCollapse } from '../ExpandCollapse';\nimport { Modal, ModalSize } from '../Modal';\n\ntype TableProps = HTMLAttributes<HTMLTableElement> & {\n isRollable?: boolean;\n};\n\nexport const Table: FC<TableProps> = ({ className, isRollable, ...props }) => {\n const [isModalOpen, setIsModalOpen] = useState(false);\n\n return (\n <div className=\"relative\">\n <div className=\"sticky top-48 z-10\">\n <div className=\"absolute top-4 right-2\">\n <Button\n variant=\"hoverable\"\n size=\"icon-md\"\n onClick={() => {\n setIsModalOpen(true);\n }}\n label=\"Move\"\n Icon={MoveDiagonal}\n />\n </div>\n </div>\n <ExpandCollapse isRollable={isRollable}>\n <table\n className={cn(\n 'max-w-full table-auto text-left min-w-full',\n className\n )}\n {...props}\n />\n </ExpandCollapse>\n\n <Modal\n isOpen={isModalOpen}\n onClose={() => setIsModalOpen(false)}\n size={ModalSize.XL}\n hasCloseButton\n >\n {isModalOpen ? (\n <div className=\"grid\">\n <table\n className={cn(\n 'max-w-full table-auto text-left min-w-full',\n className\n )}\n {...props}\n />\n </div>\n ) : (\n <></>\n )}\n </Modal>\n </div>\n );\n};\n"],"names":[],"mappings":";;;;;;;;AAaO,MAAM,QAAwB,CAAC,EAAE,WAAW,YAAY,GAAG,YAAY;AAC5E,QAAM,CAAC,aAAa,cAAc,IAAI,SAAS,KAAK;AAEpD,SACE,qBAAC,OAAA,EAAI,WAAU,YACb,UAAA;AAAA,IAAA,oBAAC,SAAI,WAAU,sBACb,UAAA,oBAAC,OAAA,EAAI,WAAU,0BACb,UAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,SAAQ;AAAA,QACR,MAAK;AAAA,QACL,SAAS,MAAM;AACb,yBAAe,IAAI;AAAA,QACrB;AAAA,QACA,OAAM;AAAA,QACN,MAAM;AAAA,MAAA;AAAA,IAAA,GAEV,EAAA,CACF;AAAA,IACA,oBAAC,kBAAe,YACd,UAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAW;AAAA,UACT;AAAA,UACA;AAAA,QAAA;AAAA,QAED,GAAG;AAAA,MAAA;AAAA,IAAA,GAER;AAAA,IAEA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,QAAQ;AAAA,QACR,SAAS,MAAM,eAAe,KAAK;AAAA,QACnC,MAAM,UAAU;AAAA,QAChB,gBAAc;AAAA,QAEb,UAAA,cACC,oBAAC,OAAA,EAAI,WAAU,QACb,UAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAW;AAAA,cACT;AAAA,cACA;AAAA,YAAA;AAAA,YAED,GAAG;AAAA,UAAA;AAAA,QAAA,GAER,IAEA,oBAAA,UAAA,CAAA,CAAE;AAAA,MAAA;AAAA,IAAA;AAAA,EAEN,GACF;AAEJ;"}
1
+ {"version":3,"file":"Table.mjs","sources":["../../../src/components/Table/Table.tsx"],"sourcesContent":["'use client';\n\nimport { MoveDiagonal } from 'lucide-react';\nimport { HTMLAttributes, useState, type FC } from 'react';\nimport { cn } from '../../utils/cn';\nimport { Button } from '../Button';\nimport { ExpandCollapse } from '../ExpandCollapse';\nimport { Modal, ModalSize } from '../Modal';\n\ntype TableProps = HTMLAttributes<HTMLTableElement> & {\n isRollable?: boolean;\n};\n\nexport const Table: FC<TableProps> = ({ className, isRollable, ...props }) => {\n const [isModalOpen, setIsModalOpen] = useState(false);\n\n return (\n <div className=\"relative\">\n <div className=\"sticky top-48 z-10\">\n <div className=\"absolute top-4 right-2\">\n <Button\n variant=\"hoverable\"\n size=\"icon-md\"\n onClick={() => {\n setIsModalOpen(true);\n }}\n label=\"Move\"\n Icon={MoveDiagonal}\n />\n </div>\n </div>\n <ExpandCollapse\n isRollable={isRollable}\n className=\"max-w-full overflow-x-auto\"\n >\n <table\n className={cn(\n 'max-w-full overflow-x-auto table-auto text-left min-w-full bg-background',\n className\n )}\n {...props}\n />\n </ExpandCollapse>\n\n <Modal\n isOpen={isModalOpen}\n onClose={() => setIsModalOpen(false)}\n size={ModalSize.XL}\n hasCloseButton\n >\n {isModalOpen ? (\n <div className=\"grid\">\n <table\n className={cn(\n 'max-w-full table-auto text-left min-w-full',\n className\n )}\n {...props}\n />\n </div>\n ) : (\n <></>\n )}\n </Modal>\n </div>\n );\n};\n"],"names":[],"mappings":";;;;;;;;AAaO,MAAM,QAAwB,CAAC,EAAE,WAAW,YAAY,GAAG,YAAY;AAC5E,QAAM,CAAC,aAAa,cAAc,IAAI,SAAS,KAAK;AAEpD,SACE,qBAAC,OAAA,EAAI,WAAU,YACb,UAAA;AAAA,IAAA,oBAAC,SAAI,WAAU,sBACb,UAAA,oBAAC,OAAA,EAAI,WAAU,0BACb,UAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,SAAQ;AAAA,QACR,MAAK;AAAA,QACL,SAAS,MAAM;AACb,yBAAe,IAAI;AAAA,QACrB;AAAA,QACA,OAAM;AAAA,QACN,MAAM;AAAA,MAAA;AAAA,IAAA,GAEV,EAAA,CACF;AAAA,IACA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC;AAAA,QACA,WAAU;AAAA,QAEV,UAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAW;AAAA,cACT;AAAA,cACA;AAAA,YAAA;AAAA,YAED,GAAG;AAAA,UAAA;AAAA,QAAA;AAAA,MACN;AAAA,IAAA;AAAA,IAGF;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,QAAQ;AAAA,QACR,SAAS,MAAM,eAAe,KAAK;AAAA,QACnC,MAAM,UAAU;AAAA,QAChB,gBAAc;AAAA,QAEb,UAAA,cACC,oBAAC,OAAA,EAAI,WAAU,QACb,UAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAW;AAAA,cACT;AAAA,cACA;AAAA,YAAA;AAAA,YAED,GAAG;AAAA,UAAA;AAAA,QAAA,GAER,IAEA,oBAAA,UAAA,CAAA,CAAE;AAAA,MAAA;AAAA,IAAA;AAAA,EAEN,GACF;AAEJ;"}
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
2
3
  const intlayer = require("intlayer");
3
4
  const tableContent = {
4
5
  key: "table",
@@ -22,5 +23,5 @@ const tableContent = {
22
23
  })
23
24
  }
24
25
  };
25
- module.exports = tableContent;
26
+ exports.default = tableContent;
26
27
  //# sourceMappingURL=table.content.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"table.content.cjs","sources":["../../../src/components/Table/table.content.ts"],"sourcesContent":["import { t, type Dictionary } from 'intlayer';\n\nconst tableContent = {\n key: 'table',\n autoFill: './{{key}}.content.json',\n content: {\n show: t({\n en: 'Show all table content',\n fr: 'Afficher tout le contenu du tableau',\n es: 'Mostrar todo el contenido de la tabla',\n 'en-GB': 'Show all table content',\n de: 'Alle Tabellendaten anzeigen',\n ja: 'テーブルのすべての内容を表示',\n ko: '테이블의 모든 내용 표시',\n zh: '显示表格的所有内容',\n it: 'Mostra tutto il contenuto della tabella',\n pt: 'Mostrar todo o conteúdo da tabela',\n hi: 'सभी तालिका सामग्री दिखाएं',\n ar: 'اظهار جميع محتويات الجدول',\n ru: 'Показать все данные таблицы',\n tr: 'Tüm tablo içeriğini göster',\n }),\n },\n} satisfies Dictionary;\n\nexport default tableContent;\n"],"names":["t"],"mappings":";;AAEA,MAAM,eAAe;AAAA,EACnB,KAAK;AAAA,EACL,UAAU;AAAA,EACV,SAAS;AAAA,IACP,MAAMA,SAAAA,EAAE;AAAA,MACN,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,SAAS;AAAA,MACT,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,IAAA,CACL;AAAA,EAAA;AAEL;;"}
1
+ {"version":3,"file":"table.content.cjs","sources":["../../../src/components/Table/table.content.ts"],"sourcesContent":["import { t, type Dictionary } from 'intlayer';\n\nconst tableContent = {\n key: 'table',\n autoFill: './{{key}}.content.json',\n content: {\n show: t({\n en: 'Show all table content',\n fr: 'Afficher tout le contenu du tableau',\n es: 'Mostrar todo el contenido de la tabla',\n 'en-GB': 'Show all table content',\n de: 'Alle Tabellendaten anzeigen',\n ja: 'テーブルのすべての内容を表示',\n ko: '테이블의 모든 내용 표시',\n zh: '显示表格的所有内容',\n it: 'Mostra tutto il contenuto della tabella',\n pt: 'Mostrar todo o conteúdo da tabela',\n hi: 'सभी तालिका सामग्री दिखाएं',\n ar: 'اظهار جميع محتويات الجدول',\n ru: 'Показать все данные таблицы',\n tr: 'Tüm tablo içeriğini göster',\n }),\n },\n} satisfies Dictionary;\n\nexport default tableContent;\n"],"names":["t"],"mappings":";;;AAEA,MAAM,eAAe;AAAA,EACnB,KAAK;AAAA,EACL,UAAU;AAAA,EACV,SAAS;AAAA,IACP,MAAMA,SAAAA,EAAE;AAAA,MACN,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,SAAS;AAAA,MACT,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,IAAA,CACL;AAAA,EAAA;AAEL;;"}
@@ -45,7 +45,7 @@ const components_Logo_Logo = require("./Logo/Logo.cjs");
45
45
  const components_Logo_LogoTextOnly = require("./Logo/LogoTextOnly.cjs");
46
46
  const components_Logo_LogoWithText = require("./Logo/LogoWithText.cjs");
47
47
  const components_Logo_LogoWithTextBelow = require("./Logo/LogoWithTextBelow.cjs");
48
- const components_MarkDownRender_index = require("./MarkDownRender/index.cjs");
48
+ const components_MarkDownRender_MarkDownRender = require("./MarkDownRender/MarkDownRender.cjs");
49
49
  const components_MaxHeightSmoother_index = require("./MaxHeightSmoother/index.cjs");
50
50
  const components_MaxWidthSmoother_index = require("./MaxWidthSmoother/index.cjs");
51
51
  const components_Modal_Modal = require("./Modal/Modal.cjs");
@@ -61,6 +61,7 @@ const components_Select_Multiselect = require("./Select/Multiselect.cjs");
61
61
  const components_Select_Select = require("./Select/Select.cjs");
62
62
  const components_SocialNetworks_index = require("./SocialNetworks/index.cjs");
63
63
  const components_SwitchSelector_index = require("./SwitchSelector/index.cjs");
64
+ const components_Tab_Tab = require("./Tab/Tab.cjs");
64
65
  const components_TabSelector_TabSelector = require("./TabSelector/TabSelector.cjs");
65
66
  const components_Tag_index = require("./Tag/index.cjs");
66
67
  const components_TextArea_AutoSizeTextArea = require("./TextArea/AutoSizeTextArea.cjs");
@@ -130,6 +131,7 @@ exports.H2 = components_Headers_index.H2;
130
131
  exports.H3 = components_Headers_index.H3;
131
132
  exports.H4 = components_Headers_index.H4;
132
133
  exports.H5 = components_Headers_index.H5;
134
+ exports.H6 = components_Headers_index.H6;
133
135
  exports.HeightResizer = components_HeightResizer_index.HeightResizer;
134
136
  exports.Code = components_IDE_Code.Code;
135
137
  exports.IDE = components_IDE_IDE.IDE;
@@ -161,7 +163,7 @@ exports.Logo = components_Logo_Logo.Logo;
161
163
  exports.LogoTextOnly = components_Logo_LogoTextOnly.LogoTextOnly;
162
164
  exports.LogoWithText = components_Logo_LogoWithText.LogoWithText;
163
165
  exports.LogoWithTextBelow = components_Logo_LogoWithTextBelow.LogoWithTextBelow;
164
- exports.MarkdownRenderer = components_MarkDownRender_index.MarkdownRenderer;
166
+ exports.MarkdownRenderer = components_MarkDownRender_MarkDownRender.MarkdownRenderer;
165
167
  exports.MaxHeightSmoother = components_MaxHeightSmoother_index.MaxHeightSmoother;
166
168
  exports.MaxWidthSmoother = components_MaxWidthSmoother_index.MaxWidthSmoother;
167
169
  exports.Modal = components_Modal_Modal.Modal;
@@ -186,6 +188,7 @@ exports.SocialNetworks = components_SocialNetworks_index.SocialNetworks;
186
188
  exports.SwitchSelector = components_SwitchSelector_index.SwitchSelector;
187
189
  exports.SwitchSelectorColor = components_SwitchSelector_index.SwitchSelectorColor;
188
190
  exports.SwitchSelectorSize = components_SwitchSelector_index.SwitchSelectorSize;
191
+ exports.Tab = components_Tab_Tab.Tab;
189
192
  exports.TabSelector = components_TabSelector_TabSelector.TabSelector;
190
193
  exports.TabSelectorColor = components_TabSelector_TabSelector.TabSelectorColor;
191
194
  exports.Tag = components_Tag_index.Tag;
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}