linkedunion-design-kit 1.9.6-beta.0 → 1.9.6-beta.1

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 (132) hide show
  1. package/dist/build/types/validator.js +12 -0
  2. package/dist/index.d.ts +2 -0
  3. package/dist/index.js +2 -0
  4. package/dist/src/components/Badge/Badge.stories.d.ts +1 -1
  5. package/dist/src/components/Badge/Badge.stories.js +1 -1
  6. package/dist/src/components/Button/Button/Button.module.css +1 -1
  7. package/dist/src/components/Card/MultipleNews/MultiNews.js +2 -2
  8. package/dist/src/components/Pagination/pagination.js +7 -7
  9. package/dist/src/components/Skeleton/skeleton.stories.d.ts +3 -1
  10. package/dist/src/components/Skeleton/skeleton.stories.js +48 -38
  11. package/dist/src/components/Title/Title.module.css +1 -1
  12. package/dist/src/components/Typography/Heading/heading.module.css +1 -1
  13. package/dist/src/components/VerticalTabs/VerticalTabs.d.ts +18 -0
  14. package/dist/src/components/VerticalTabs/VerticalTabs.js +60 -0
  15. package/dist/src/components/VerticalTabs/VerticalTabs.stories.d.ts +11 -0
  16. package/dist/src/components/VerticalTabs/VerticalTabs.stories.js +100 -0
  17. package/dist/src/components/VerticalTabs/VerticalTabs.test.d.ts +1 -0
  18. package/dist/src/components/VerticalTabs/VerticalTabs.test.js +48 -0
  19. package/dist/styles/global.css +118 -6
  20. package/package.json +2 -2
  21. package/dist/app/layout.jsx +0 -13
  22. package/dist/app/page.jsx +0 -5
  23. package/dist/src/components/Accordion/Accordion.stories.jsx +0 -33
  24. package/dist/src/components/Accordion/accordion.jsx +0 -59
  25. package/dist/src/components/Alerts/Alert/alert.jsx +0 -152
  26. package/dist/src/components/Alerts/Alert/alert.stories.jsx +0 -344
  27. package/dist/src/components/Alerts/AlertDialog/alert-dialog.jsx +0 -170
  28. package/dist/src/components/Alerts/AlertDialog/alert-dialog.stories.jsx +0 -552
  29. package/dist/src/components/AppIcons/AndroidIcon.jsx +0 -24
  30. package/dist/src/components/AppIcons/AppIcon.jsx +0 -29
  31. package/dist/src/components/AppIcons/AppIcon.stories.jsx +0 -223
  32. package/dist/src/components/AppIcons/AppleIcon.jsx +0 -31
  33. package/dist/src/components/AppIcons/PlayStoreIcon.jsx +0 -29
  34. package/dist/src/components/Avatar/Avatar/Avatar.jsx +0 -45
  35. package/dist/src/components/Avatar/Avatar/Avatar.stories.jsx +0 -95
  36. package/dist/src/components/Avatar/Avatar/Avatar.test.jsx +0 -9
  37. package/dist/src/components/Avatar/Avatar/type.d.ts +0 -12
  38. package/dist/src/components/Avatar/AvatarGroup/AvatarGroup.jsx +0 -17
  39. package/dist/src/components/Avatar/AvatarGroup/AvatarGroup.stories.jsx +0 -32
  40. package/dist/src/components/Avatar/StatusIndicator/StatusIndicator.jsx +0 -20
  41. package/dist/src/components/Avatar/StatusIndicator/StatusIndicator.stories.jsx +0 -50
  42. package/dist/src/components/Badge/Badge.jsx +0 -54
  43. package/dist/src/components/Badge/Badge.stories.jsx +0 -201
  44. package/dist/src/components/Button/Button/Button.jsx +0 -96
  45. package/dist/src/components/Button/Button/Button.stories.jsx +0 -283
  46. package/dist/src/components/Button/Button/Button.test.jsx +0 -73
  47. package/dist/src/components/Button/IconButton/IconButton.jsx +0 -63
  48. package/dist/src/components/Button/IconButton/IconButton.stories.jsx +0 -128
  49. package/dist/src/components/Button/IconButton/IconButton.test.jsx +0 -28
  50. package/dist/src/components/Card/MultipleNews/MultiNews.jsx +0 -70
  51. package/dist/src/components/Card/MultipleNews/MultiNews.stories.jsx +0 -101
  52. package/dist/src/components/Card/PostByCategory/PostByCategory.jsx +0 -60
  53. package/dist/src/components/Card/PostByCategory/PostByCategory.stories.jsx +0 -102
  54. package/dist/src/components/Card/SinglePost/SinglePost.jsx +0 -26
  55. package/dist/src/components/Card/SinglePost/SinglePost.stories.jsx +0 -63
  56. package/dist/src/components/Card/card.jsx +0 -20
  57. package/dist/src/components/Card/contactProfile/ContactProfile.jsx +0 -60
  58. package/dist/src/components/Card/contactProfile/ContactProfile.stories.jsx +0 -99
  59. package/dist/src/components/Card/photoAlbum/PhotoAlbum.jsx +0 -41
  60. package/dist/src/components/Card/photoAlbum/PhotoAlbum.stories.jsx +0 -51
  61. package/dist/src/components/Card/photoGallery/PhotoGallery.jsx +0 -17
  62. package/dist/src/components/Card/photoGallery/PhotoGallery.stories.jsx +0 -34
  63. package/dist/src/components/Checkbox/checkbox.jsx +0 -47
  64. package/dist/src/components/Checkbox/checkbox.stories.jsx +0 -113
  65. package/dist/src/components/ColorPicker/ColorPicker.jsx +0 -67
  66. package/dist/src/components/ColorPicker/ColorPicker.stories.jsx +0 -138
  67. package/dist/src/components/Colors/color.jsx +0 -5
  68. package/dist/src/components/Colors/color.stories.jsx +0 -20
  69. package/dist/src/components/Colors/color.test.jsx +0 -23
  70. package/dist/src/components/Dropdown/Combobox/Combobox.jsx +0 -198
  71. package/dist/src/components/Dropdown/Combobox/Combobox.stories.jsx +0 -289
  72. package/dist/src/components/Dropdown/Combobox/utils/renderBadge.jsx +0 -7
  73. package/dist/src/components/Dropdown/DropdownMenu/DropdownMenu.jsx +0 -102
  74. package/dist/src/components/Dropdown/DropdownMenu/DropdownMenu.stories.jsx +0 -464
  75. package/dist/src/components/Dropdown/DropdownMenu/SelectAllSection.jsx +0 -19
  76. package/dist/src/components/Dropdown/Select.stories.jsx +0 -201
  77. package/dist/src/components/Dropdown/select.jsx +0 -93
  78. package/dist/src/components/Icons/LUIcon.jsx +0 -41
  79. package/dist/src/components/Icons/LUIcon.test.jsx +0 -308
  80. package/dist/src/components/Icons/stories/IconDropdown.jsx +0 -67
  81. package/dist/src/components/Icons/stories/IconGallery.jsx +0 -77
  82. package/dist/src/components/Icons/stories/InteractiveIconSelector.jsx +0 -86
  83. package/dist/src/components/Icons/stories/LUIcon.stories.jsx +0 -108
  84. package/dist/src/components/ImageUploader/ImageUploader.stories.jsx +0 -50
  85. package/dist/src/components/ImageUploader/imageUploader.jsx +0 -94
  86. package/dist/src/components/Images/LuImage.jsx +0 -19
  87. package/dist/src/components/Images/LuImage.stories.jsx +0 -154
  88. package/dist/src/components/Images/LuImage.test.jsx +0 -44
  89. package/dist/src/components/Input/Input.stories.jsx +0 -250
  90. package/dist/src/components/Input/input.jsx +0 -110
  91. package/dist/src/components/Label/Label.jsx +0 -32
  92. package/dist/src/components/Label/Label.stories.jsx +0 -30
  93. package/dist/src/components/Pagination/pagination.jsx +0 -65
  94. package/dist/src/components/Pagination/pagination.stories.jsx +0 -301
  95. package/dist/src/components/RadioGroup/RadioGroup.stories.jsx +0 -146
  96. package/dist/src/components/RadioGroup/radio-group.jsx +0 -49
  97. package/dist/src/components/Slider/Slider.stories.jsx +0 -159
  98. package/dist/src/components/Slider/slider.jsx +0 -31
  99. package/dist/src/components/SweetAlert/SweetAlert.jsx +0 -147
  100. package/dist/src/components/SweetAlert/SweetAlert.stories.jsx +0 -505
  101. package/dist/src/components/Switch/Switch.stories.jsx +0 -66
  102. package/dist/src/components/Switch/switch.jsx +0 -61
  103. package/dist/src/components/Table/Table.jsx +0 -221
  104. package/dist/src/components/Table/Table.stories.jsx +0 -652
  105. package/dist/src/components/Tabs/Tabs.stories.jsx +0 -29
  106. package/dist/src/components/Tabs/tabs.jsx +0 -32
  107. package/dist/src/components/Title/Title.jsx +0 -8
  108. package/dist/src/components/Title/Title.stories.jsx +0 -37
  109. package/dist/src/components/Title/Title.test.jsx +0 -24
  110. package/dist/src/components/ToolTip/Tooltip.jsx +0 -18
  111. package/dist/src/components/ToolTip/Tooltip.stories.jsx +0 -25
  112. package/dist/src/components/Typography/Body/Body.stories.jsx +0 -34
  113. package/dist/src/components/Typography/Body/body.jsx +0 -52
  114. package/dist/src/components/Typography/Caption/Caption.stories.jsx +0 -24
  115. package/dist/src/components/Typography/Caption/caption.jsx +0 -25
  116. package/dist/src/components/Typography/Display/Display.stories.jsx +0 -24
  117. package/dist/src/components/Typography/Display/display.jsx +0 -39
  118. package/dist/src/components/Typography/Heading/Heading.stories.jsx +0 -37
  119. package/dist/src/components/Typography/Heading/heading.jsx +0 -53
  120. package/dist/src/components/ui/avatar.d.ts +0 -6
  121. package/dist/src/components/ui/avatar.js +0 -38
  122. package/dist/src/components/ui/avatar.jsx +0 -27
  123. package/dist/src/components/ui/button.d.ts +0 -10
  124. package/dist/src/components/ui/button.js +0 -56
  125. package/dist/src/components/ui/button.jsx +0 -45
  126. package/dist/src/components/ui/collapsible.jsx +0 -5
  127. package/dist/src/components/ui/command.jsx +0 -67
  128. package/dist/src/components/ui/dialog.jsx +0 -66
  129. package/dist/src/components/ui/popover.jsx +0 -33
  130. package/dist/src/components/ui/tooltip.jsx +0 -38
  131. package/dist/src/components/ui/typography.jsx +0 -56
  132. /package/dist/{src/components/Avatar/Avatar/type.js → build/types/validator.d.ts} +0 -0
@@ -1,66 +0,0 @@
1
- import { size, Switch, variant } from "./switch";
2
- export default {
3
- title: "Components/Switch",
4
- component: Switch,
5
- tags: ["autodocs"],
6
- };
7
- var Template = function (args) { return <Switch {...args}></Switch>; };
8
- export var _Switch = Template.bind({});
9
- _Switch.args = {
10
- size: "md",
11
- variant: "default",
12
- defaultChecked: false,
13
- onCheckedChange: function (checked) {
14
- return console.log("Switch is ".concat(checked ? "on" : "off"));
15
- },
16
- };
17
- _Switch.argTypes = {
18
- variant: {
19
- control: { type: "select" },
20
- options: Object.keys(variant),
21
- description: "Switch variant",
22
- table: {
23
- defaultValue: { summary: "default" },
24
- type: { summary: "string" },
25
- },
26
- },
27
- size: {
28
- control: { type: "select" },
29
- options: Object.keys(size),
30
- description: "Switch size",
31
- table: {
32
- defaultValue: { summary: "md" },
33
- type: { summary: "string" },
34
- },
35
- },
36
- defaultChecked: {
37
- control: { type: "boolean" },
38
- description: "Initial checked state for uncontrolled switch",
39
- table: {
40
- defaultValue: { summary: "false" },
41
- type: { summary: "boolean" },
42
- },
43
- },
44
- checked: {
45
- control: { type: "boolean" },
46
- description: "Controlled checked state (e.g., checked={field.value} for form libraries)",
47
- table: {
48
- type: { summary: "boolean" },
49
- },
50
- },
51
- onCheckedChange: {
52
- action: "checked changed",
53
- description: "Callback function when switch state changes",
54
- table: {
55
- type: { summary: "(checked: boolean) => void" },
56
- },
57
- },
58
- disabled: {
59
- control: { type: "boolean" },
60
- description: "Disables the switch",
61
- table: {
62
- defaultValue: { summary: "false" },
63
- type: { summary: "boolean" },
64
- },
65
- },
66
- };
@@ -1,61 +0,0 @@
1
- var __rest = (this && this.__rest) || function (s, e) {
2
- var t = {};
3
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
- t[p] = s[p];
5
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
- t[p[i]] = s[p[i]];
9
- }
10
- return t;
11
- };
12
- import * as React from "react";
13
- import * as SwitchPrimitive from "@radix-ui/react-switch";
14
- import { cva } from "class-variance-authority";
15
- import { cn } from "../../lib/utils";
16
- export var size = {
17
- sm: "h-4 w-6",
18
- md: "w-12 h-6", // default
19
- lg: "h-6 w-14",
20
- };
21
- export var variant = {
22
- default: "data-[state=checked]:bg-blue-600 data-[state=unchecked]:bg-input dark:data-[state=unchecked]:bg-input/80 focus-visible:ring-ring/50 focus-visible:border-ring",
23
- primary: "data-[state=checked]:bg-blue-600 data-[state=unchecked]:bg-input dark:data-[state=unchecked]:bg-input/80 focus-visible:ring-ring/50 focus-visible:border-ring",
24
- success: "data-[state=checked]:bg-green-500 data-[state=unchecked]:bg-input focus-visible:ring-green-500",
25
- danger: "data-[state=checked]:bg-red-500 data-[state=unchecked]:bg-input focus-visible:ring-red-500",
26
- };
27
- var switchVariants = cva("peer inline-flex shrink-0 items-center !rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50", {
28
- variants: {
29
- size: size,
30
- variant: variant,
31
- },
32
- defaultVariants: {
33
- size: "md",
34
- variant: "default",
35
- },
36
- });
37
- var thumbVariants = cva("pointer-events-none block !rounded-full ring-0 transition-transform", {
38
- variants: {
39
- size: {
40
- sm: "size-3",
41
- md: "size-4", // default
42
- lg: "size-5",
43
- },
44
- },
45
- defaultVariants: {
46
- size: "md",
47
- },
48
- });
49
- // Define translate distance for each size
50
- var thumbTranslateVariants = {
51
- sm: "data-[state=unchecked]:translate-x-0 data-[state=checked]:translate-x-2",
52
- md: "data-[state=unchecked]:translate-x-0.5 data-[state=checked]:translate-x-7",
53
- lg: "data-[state=unchecked]:translate-x-0.5 data-[state=checked]:translate-x-8",
54
- };
55
- function Switch(_a) {
56
- var className = _a.className, size = _a.size, variant = _a.variant, props = __rest(_a, ["className", "size", "variant"]);
57
- return (<SwitchPrimitive.Root data-slot="switch" className={cn(switchVariants({ size: size, variant: variant }), className)} {...props}>
58
- <SwitchPrimitive.Thumb data-slot="switch-thumb" className={cn(thumbVariants({ size: size }), size ? thumbTranslateVariants[size] : "", "bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground")}/>
59
- </SwitchPrimitive.Root>);
60
- }
61
- export { Switch };
@@ -1,221 +0,0 @@
1
- var __rest = (this && this.__rest) || function (s, e) {
2
- var t = {};
3
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
- t[p] = s[p];
5
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
- t[p[i]] = s[p[i]];
9
- }
10
- return t;
11
- };
12
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
13
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
14
- if (ar || !(i in from)) {
15
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
16
- ar[i] = from[i];
17
- }
18
- }
19
- return to.concat(ar || Array.prototype.slice.call(from));
20
- };
21
- import * as React from "react";
22
- import { cn } from "../../lib/utils";
23
- import { tableSize, tableBodySize, tableFooterSize, collapsibleIconSize, } from "./index";
24
- import { Collapsible, CollapsibleContent, CollapsibleTrigger, } from "../ui/collapsible";
25
- import LUIcon from "../Icons/LUIcon";
26
- var TableSizeContext = React.createContext("sm");
27
- var TableSectionContext = React.createContext("body");
28
- var TableResponsiveContext = React.createContext({
29
- visibleCount: 0,
30
- totalColumns: 0,
31
- columnMinWidth: 160,
32
- isResponsive: false,
33
- columns: [],
34
- hasActionColumn: false,
35
- });
36
- var Table = React.forwardRef(function (_a, ref) {
37
- var className = _a.className, _b = _a.size, size = _b === void 0 ? "sm" : _b, _c = _a.columnMinWidth, columnMinWidth = _c === void 0 ? 160 : _c, _d = _a.columns, columns = _d === void 0 ? [] : _d, _e = _a.hasActionColumn, hasActionColumn = _e === void 0 ? false : _e, props = __rest(_a, ["className", "size", "columnMinWidth", "columns", "hasActionColumn"]);
38
- var totalColumns = columns.length + (hasActionColumn ? 1 : 0);
39
- var isResponsive = totalColumns > 0;
40
- // Calculate initial visible count based on responsive settings
41
- var getInitialVisibleCount = function () {
42
- if (!isResponsive || totalColumns === 0) {
43
- return totalColumns;
44
- }
45
- // For SSR compatibility, assume a default width if window is not available
46
- var windowWidth = typeof window !== "undefined" ? window.innerWidth : 1200;
47
- var calculated = Math.floor(windowWidth / columnMinWidth);
48
- // Ensure at least 1 data column is visible (account for trigger column)
49
- return Math.max(1, Math.min(totalColumns, calculated - 1));
50
- };
51
- var _f = React.useState(getInitialVisibleCount), visibleCount = _f[0], setVisibleCount = _f[1];
52
- React.useEffect(function () {
53
- if (!isResponsive || totalColumns === 0) {
54
- setVisibleCount(totalColumns);
55
- return;
56
- }
57
- var calculate = function () {
58
- var count = Math.floor(window.innerWidth / columnMinWidth);
59
- // Ensure at least 1 data column is visible (plus the trigger column)
60
- setVisibleCount(Math.max(1, Math.min(totalColumns, count - 1)));
61
- };
62
- calculate();
63
- window.addEventListener("resize", calculate);
64
- return function () { return window.removeEventListener("resize", calculate); };
65
- }, [isResponsive, totalColumns, columnMinWidth]);
66
- return (<TableSizeContext.Provider value={size}>
67
- <TableResponsiveContext.Provider value={{
68
- visibleCount: visibleCount,
69
- totalColumns: totalColumns,
70
- columnMinWidth: columnMinWidth,
71
- isResponsive: isResponsive,
72
- columns: columns,
73
- hasActionColumn: hasActionColumn,
74
- }}>
75
- <div className="relative w-full overflow-auto">
76
- <table ref={ref} className={cn("w-full caption-bottom", className)} {...props}/>
77
- </div>
78
- </TableResponsiveContext.Provider>
79
- </TableSizeContext.Provider>);
80
- });
81
- Table.displayName = "Table";
82
- var TableHeader = React.forwardRef(function (_a, ref) {
83
- var _b;
84
- var className = _a.className, props = __rest(_a, ["className"]);
85
- var headerSize = (_b = React.useContext(TableSizeContext)) !== null && _b !== void 0 ? _b : "sm";
86
- return (<TableSectionContext.Provider value="header">
87
- <thead ref={ref} className={cn("[&_tr]:border-b bg-gray-100 overflow-hidden", className)} data-table-size={headerSize} {...props}/>
88
- </TableSectionContext.Provider>);
89
- });
90
- TableHeader.displayName = "TableHeader";
91
- var TableBody = React.forwardRef(function (_a, ref) {
92
- var _b;
93
- var className = _a.className, props = __rest(_a, ["className"]);
94
- var contextSize = (_b = React.useContext(TableSizeContext)) !== null && _b !== void 0 ? _b : "sm";
95
- return (<TableSectionContext.Provider value="body">
96
- <tbody ref={ref} className={cn(tableBodySize[contextSize], "[&_tr:last-child]:border-0 text-black", className)} data-table-body-size={contextSize} {...props}/>
97
- </TableSectionContext.Provider>);
98
- });
99
- TableBody.displayName = "TableBody";
100
- var TableFooter = React.forwardRef(function (_a, ref) {
101
- var _b;
102
- var className = _a.className, props = __rest(_a, ["className"]);
103
- var footerSize = (_b = React.useContext(TableSizeContext)) !== null && _b !== void 0 ? _b : "sm";
104
- return (<TableSectionContext.Provider value="footer">
105
- <tfoot ref={ref} className={cn(tableFooterSize[footerSize], "border-t bg-gray-100 font-medium [&>tr]:last:border-b-0", className)} data-table-footer-size={footerSize} {...props}/>
106
- </TableSectionContext.Provider>);
107
- });
108
- TableFooter.displayName = "TableFooter";
109
- var TableRow = React.forwardRef(function (_a, ref) {
110
- var className = _a.className, children = _a.children, collapsibleContent = _a.collapsibleContent, showTrigger = _a.showTrigger, data = _a.data, props = __rest(_a, ["className", "children", "collapsibleContent", "showTrigger", "data"]);
111
- var bodySize = React.useContext(TableSizeContext);
112
- var _b = useTableResponsive(), visibleCount = _b.visibleCount, isResponsive = _b.isResponsive, columns = _b.columns, hasActionColumn = _b.hasActionColumn;
113
- var section = React.useContext(TableSectionContext);
114
- var childrenArray = React.useMemo(function () { return React.Children.toArray(children); }, [children]);
115
- var hasDefinedColumns = Array.isArray(columns) && columns.length > 0;
116
- var hasHiddenColumns = hasDefinedColumns && visibleCount < columns.length;
117
- var slicedChildren = React.useMemo(function () {
118
- if (!isResponsive || !hasHiddenColumns)
119
- return childrenArray;
120
- if (hasActionColumn) {
121
- // Show first (visibleCount - 1) columns + the last column (actions)
122
- var firstColumns = childrenArray.slice(0, visibleCount - 1);
123
- var lastColumn = childrenArray[childrenArray.length - 1];
124
- return __spreadArray(__spreadArray([], firstColumns, true), [lastColumn], false);
125
- }
126
- return childrenArray.slice(0, visibleCount);
127
- }, [
128
- childrenArray,
129
- isResponsive,
130
- hasHiddenColumns,
131
- visibleCount,
132
- hasActionColumn,
133
- ]);
134
- // Auto-generate collapsible content for responsive tables
135
- var autoCollapsibleContent = React.useMemo(function () {
136
- if (!isResponsive || !data || !columns || columns.length === 0) {
137
- return null;
138
- }
139
- var hiddenColumns;
140
- if (hasActionColumn) {
141
- // Hide columns from (visibleCount - 1) to (columns.length - 2), excluding the last action column
142
- hiddenColumns = columns.slice(visibleCount - 1, columns.length - 1);
143
- }
144
- else {
145
- hiddenColumns = columns.slice(visibleCount);
146
- }
147
- if (hiddenColumns.length === 0)
148
- return null;
149
- return (<Table className="w-full">
150
- <TableBody>
151
- {hiddenColumns.map(function (col) { return (<TableRow key={col.key}>
152
- <TableCell className="font-medium w-1/3 border-r border-gray-200">
153
- {col.header}
154
- </TableCell>
155
- <TableCell className="w-2/3">{String(data[col.key])}</TableCell>
156
- </TableRow>); })}
157
- </TableBody>
158
- </Table>);
159
- }, [isResponsive, data, columns, visibleCount, hasActionColumn]);
160
- var finalCollapsibleContent = collapsibleContent || autoCollapsibleContent;
161
- var finalShowTrigger = showTrigger !== null && showTrigger !== void 0 ? showTrigger : autoCollapsibleContent !== null;
162
- // State to track if collapsible is open
163
- var _c = React.useState(false), isOpen = _c[0], setIsOpen = _c[1];
164
- if (section === "header") {
165
- return (<tr ref={ref} className={cn(tableBodySize[bodySize !== null && bodySize !== void 0 ? bodySize : "sm"], "border-b border-gray-200", className)} {...props}>
166
- {isResponsive && hasHiddenColumns && (<th className="p-2 align-middle w-[52px] bg-gray-100"></th>)}
167
- {slicedChildren}
168
- </tr>);
169
- }
170
- if (finalCollapsibleContent) {
171
- return (<Collapsible asChild onOpenChange={setIsOpen}>
172
- <>
173
- <tr ref={ref} className={cn(tableBodySize[bodySize !== null && bodySize !== void 0 ? bodySize : "sm"], "border-b border-gray-200 cursor-pointer transition-colors hover:bg-gray-50 data-[state=selected]:bg-gray-50 odd:bg-white even:bg-gray-50 group", className)} {...props}>
174
- {isResponsive && (<td className="p-2 align-middle w-[52px]">
175
- {finalShowTrigger && (<CollapsibleTrigger asChild>
176
- <LUIcon icon={isOpen ? "angle-up" : "angle-right"} size={collapsibleIconSize[bodySize]} color="blue"/>
177
- </CollapsibleTrigger>)}
178
- </td>)}
179
- {slicedChildren}
180
- </tr>
181
-
182
- <CollapsibleContent asChild>
183
- <tr className="bg-gray-50">
184
- <td colSpan={visibleCount + (isResponsive ? 1 : 0)} className="p-0">
185
- {finalCollapsibleContent}
186
- </td>
187
- </tr>
188
- </CollapsibleContent>
189
- </>
190
- </Collapsible>);
191
- }
192
- return (<tr ref={ref} className={cn(tableBodySize[bodySize !== null && bodySize !== void 0 ? bodySize : "sm"], "border-b border-gray-200 cursor-pointer transition-colors hover:bg-gray-50 data-[state=selected]:bg-gray-50 odd:bg-white even:bg-gray-50 group", className)} {...props}>
193
- {slicedChildren}
194
- </tr>);
195
- });
196
- TableRow.displayName = "TableRow";
197
- var TableHead = React.forwardRef(function (_a, ref) {
198
- var _b;
199
- var className = _a.className, size = _a.size, children = _a.children, props = __rest(_a, ["className", "size", "children"]);
200
- var contextSize = React.useContext(TableSizeContext);
201
- var headSize = (_b = size !== null && size !== void 0 ? size : contextSize) !== null && _b !== void 0 ? _b : "sm";
202
- return (<th ref={ref} className={cn(tableSize[headSize], "py-0 px-3 text-left align-middle font-semibold text-gray-950 bg-gray-100 first:rounded-tl-lg last:rounded-tr-lg [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]", className)} {...props}>
203
- <div className="flex items-center gap-2">{children}</div>
204
- </th>);
205
- });
206
- TableHead.displayName = "TableHead";
207
- var TableCell = React.forwardRef(function (_a, ref) {
208
- var className = _a.className, props = __rest(_a, ["className"]);
209
- return (<td ref={ref} className={cn("p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px] first-of-type:border-l-2 first-of-type:border-l-transparent group-hover:first-of-type:border-l-blue-600 group-data-[state=selected]:first-of-type:border-l-blue-600", className)} {...props}/>);
210
- });
211
- TableCell.displayName = "TableCell";
212
- var TableCaption = React.forwardRef(function (_a, ref) {
213
- var className = _a.className, props = __rest(_a, ["className"]);
214
- return (<caption ref={ref} className={cn("mt-4 text-sm text-muted-foreground", className)} {...props}/>);
215
- });
216
- TableCaption.displayName = "TableCaption";
217
- var useTableResponsive = function () {
218
- var context = React.useContext(TableResponsiveContext);
219
- return context;
220
- };
221
- export { Table, TableHeader, TableBody, TableFooter, TableHead, TableRow, TableCell, TableCaption, };