funuicss 3.3.10 → 3.4.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.
- package/css/fun.css +7 -8
- package/package.json +1 -1
- package/ui/carousel/Carousel.js +2 -1
- package/ui/sidebar/SideBar.d.ts +5 -1
- package/ui/sidebar/SideBar.js +176 -11
- package/ui/table/Table.js +14 -11
package/css/fun.css
CHANGED
|
@@ -3067,16 +3067,15 @@ color: var(--text-color);
|
|
|
3067
3067
|
padding: 1rem;
|
|
3068
3068
|
z-index: 5;
|
|
3069
3069
|
position: fixed;
|
|
3070
|
-
animation: SlideDownBar 0.3s ease-in-out ;
|
|
3071
3070
|
transition: all 0.3s;
|
|
3072
3071
|
overflow-x: hidden !important;
|
|
3073
3072
|
}
|
|
3074
3073
|
@keyframes SlideDownBar {
|
|
3075
3074
|
from {
|
|
3076
|
-
|
|
3075
|
+
opacity: 0;
|
|
3077
3076
|
}
|
|
3078
3077
|
to {
|
|
3079
|
-
|
|
3078
|
+
opacity: 1;
|
|
3080
3079
|
}
|
|
3081
3080
|
}
|
|
3082
3081
|
.sidebar:hover{overflow-y: auto;}
|
|
@@ -3519,11 +3518,12 @@ background-color: rgba(var(--borderRgb), 0.3);
|
|
|
3519
3518
|
}
|
|
3520
3519
|
|
|
3521
3520
|
|
|
3522
|
-
.custom-select {position: relative; width: 100%; border-radius: var(--InputButtonBorderRadius);}
|
|
3521
|
+
.custom-select {position: relative; width: 100%; border-radius: var(--InputButtonBorderRadius); isolation: isolate;}
|
|
3523
3522
|
|
|
3524
3523
|
.custom-select.fullWidth {max-width: none;}
|
|
3525
3524
|
|
|
3526
3525
|
|
|
3526
|
+
|
|
3527
3527
|
.select-trigger {
|
|
3528
3528
|
display: flex;
|
|
3529
3529
|
align-items: center;
|
|
@@ -3625,13 +3625,12 @@ position: absolute;
|
|
|
3625
3625
|
top: 100%;
|
|
3626
3626
|
left: 0;
|
|
3627
3627
|
right: 0;
|
|
3628
|
-
background-color: var(--
|
|
3629
|
-
backdrop-filter: blur(10px);
|
|
3628
|
+
background-color: var(--page-bg);
|
|
3630
3629
|
border-top: none;
|
|
3631
|
-
border-radius: 0 0
|
|
3630
|
+
border-radius: 0 0 0.5rem 0.5rem;
|
|
3632
3631
|
max-height: 250px;
|
|
3633
3632
|
overflow: hidden;
|
|
3634
|
-
z-index:
|
|
3633
|
+
z-index: 20;
|
|
3635
3634
|
opacity: 0;
|
|
3636
3635
|
visibility: hidden;
|
|
3637
3636
|
transform: translateY(-10px);
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "3.
|
|
2
|
+
"version": "3.4.1",
|
|
3
3
|
"name": "funuicss",
|
|
4
4
|
"description": "React and Next.js component UI Library for creating Easy and good looking websites with fewer lines of code. Elevate your web development experience with our cutting-edge React/Next.js component UI Library. Craft stunning websites effortlessly, boasting both seamless functionality and aesthetic appeal—all achieved with minimal lines of code. Unleash the power of simplicity and style in your projects!",
|
|
5
5
|
"main": "index.js",
|
package/ui/carousel/Carousel.js
CHANGED
|
@@ -110,6 +110,7 @@ var Carousel = function (_a) {
|
|
|
110
110
|
gap: gap + 'rem',
|
|
111
111
|
overflowX: 'auto',
|
|
112
112
|
display: 'flex',
|
|
113
|
+
justifyItems: (isScrollable || isPhone) ? 'flex-start' : 'centers',
|
|
113
114
|
scrollSnapType: 'x mandatory',
|
|
114
115
|
scrollBehavior: 'smooth',
|
|
115
116
|
} }, react_1.default.Children.map(children, function (child) { return (react_1.default.createElement("div", { className: "carousel-item", style: { flexShrink: 0 } },
|
|
@@ -117,7 +118,7 @@ var Carousel = function (_a) {
|
|
|
117
118
|
!isPhone && isScrollable && (react_1.default.createElement("div", null,
|
|
118
119
|
react_1.default.createElement(Circle_1.default, { onClick: function () { return scroll('right'); } },
|
|
119
120
|
react_1.default.createElement(pi_1.PiCaretRight, { size: 24 }))))),
|
|
120
|
-
showDashes && (react_1.default.createElement("div", { className: "center padding-top-10" },
|
|
121
|
+
(showDashes && isScrollable) && (react_1.default.createElement("div", { className: "center padding-top-10" },
|
|
121
122
|
react_1.default.createElement(RowFlex_1.default, { gap: 0.5, justify: "center" }, ['start', 'middle', 'end'].map(function (pos) { return (react_1.default.createElement("div", { className: 'pointer ', key: pos, onClick: function () {
|
|
122
123
|
var _a, _b;
|
|
123
124
|
if (pos === 'start') {
|
package/ui/sidebar/SideBar.d.ts
CHANGED
|
@@ -23,6 +23,10 @@ interface SideBarProps {
|
|
|
23
23
|
links?: SideBarLink[];
|
|
24
24
|
children?: ReactNode;
|
|
25
25
|
onClose?: () => void;
|
|
26
|
+
onOpen?: () => void;
|
|
27
|
+
swipeEnabled?: boolean;
|
|
28
|
+
swipeThreshold?: number;
|
|
29
|
+
swipeArea?: number;
|
|
26
30
|
}
|
|
27
|
-
export default function SideBar({ funcss, position, open, header, content, footer, top, sidebarWidth, iconCSS, sidebarCss, activeCss, bodyCss, popIcon, dividers, links, children, onClose, }: SideBarProps): React.JSX.Element;
|
|
31
|
+
export default function SideBar({ funcss, position, open, header, content, footer, top, sidebarWidth, iconCSS, sidebarCss, activeCss, bodyCss, popIcon, dividers, links, children, onClose, onOpen, swipeEnabled, swipeThreshold, swipeArea, }: SideBarProps): React.JSX.Element;
|
|
28
32
|
export {};
|
package/ui/sidebar/SideBar.js
CHANGED
|
@@ -42,15 +42,22 @@ var react_1 = __importStar(require("react"));
|
|
|
42
42
|
var RowFlex_1 = __importDefault(require("../specials/RowFlex"));
|
|
43
43
|
var Text_1 = __importDefault(require("../text/Text"));
|
|
44
44
|
var navigation_1 = require("next/navigation");
|
|
45
|
+
var pi_1 = require("react-icons/pi");
|
|
45
46
|
var link_1 = __importDefault(require("next/link"));
|
|
46
47
|
function SideBar(_a) {
|
|
47
|
-
var _b;
|
|
48
|
-
var
|
|
49
|
-
var
|
|
50
|
-
var
|
|
51
|
-
var
|
|
48
|
+
var _b, _c;
|
|
49
|
+
var _d = _a.funcss, funcss = _d === void 0 ? '' : _d, _e = _a.position, position = _e === void 0 ? 'left' : _e, _f = _a.open, open = _f === void 0 ? false : _f, header = _a.header, content = _a.content, footer = _a.footer, _g = _a.top, top = _g === void 0 ? 0 : _g, _h = _a.sidebarWidth, sidebarWidth = _h === void 0 ? 250 : _h, _j = _a.iconCSS, iconCSS = _j === void 0 ? '' : _j, _k = _a.sidebarCss, sidebarCss = _k === void 0 ? '' : _k, activeCss = _a.activeCss, _l = _a.bodyCss, bodyCss = _l === void 0 ? '' : _l, _m = _a.popIcon, popIcon = _m === void 0 ? false : _m, _o = _a.dividers, dividers = _o === void 0 ? false : _o, _p = _a.links, links = _p === void 0 ? [] : _p, children = _a.children, onClose = _a.onClose, onOpen = _a.onOpen, _q = _a.swipeEnabled, swipeEnabled = _q === void 0 ? true : _q, _r = _a.swipeThreshold, swipeThreshold = _r === void 0 ? 100 : _r, _s = _a.swipeArea, swipeArea = _s === void 0 ? 20 : _s;
|
|
50
|
+
var _t = (0, react_1.useState)(false), isMobile = _t[0], setIsMobile = _t[1];
|
|
51
|
+
var _u = (0, react_1.useState)(open), internalOpen = _u[0], setInternalOpen = _u[1];
|
|
52
|
+
var _v = (0, react_1.useState)('0px'), appBarHeight = _v[0], setAppBarHeight = _v[1];
|
|
53
|
+
var _w = (0, react_1.useState)(false), isTransitioning = _w[0], setIsTransitioning = _w[1];
|
|
54
|
+
var _x = (0, react_1.useState)(0), dragOffset = _x[0], setDragOffset = _x[1];
|
|
52
55
|
var pathname = (0, navigation_1.usePathname)();
|
|
53
56
|
var sidebarRef = (0, react_1.useRef)(null);
|
|
57
|
+
var mainContentRef = (0, react_1.useRef)(null);
|
|
58
|
+
// Touch gesture state
|
|
59
|
+
var _y = (0, react_1.useState)(null), touchStart = _y[0], setTouchStart = _y[1];
|
|
60
|
+
var _z = (0, react_1.useState)(false), isDragging = _z[0], setIsDragging = _z[1];
|
|
54
61
|
var updateIsMobile = (0, react_1.useCallback)(function () {
|
|
55
62
|
setIsMobile(window.innerWidth <= 992);
|
|
56
63
|
}, []);
|
|
@@ -69,6 +76,7 @@ function SideBar(_a) {
|
|
|
69
76
|
setAppBarHeight("".concat(appBar.offsetHeight, "px"));
|
|
70
77
|
}
|
|
71
78
|
}, []);
|
|
79
|
+
// Handle outside clicks on mobile
|
|
72
80
|
(0, react_1.useEffect)(function () {
|
|
73
81
|
if (!isMobile || !internalOpen)
|
|
74
82
|
return;
|
|
@@ -84,9 +92,120 @@ function SideBar(_a) {
|
|
|
84
92
|
document.removeEventListener('touchstart', handleOutsideClick);
|
|
85
93
|
};
|
|
86
94
|
}, [isMobile, internalOpen]);
|
|
95
|
+
// Touch gesture handlers
|
|
96
|
+
var handleTouchStart = (0, react_1.useCallback)(function (e) {
|
|
97
|
+
var _a;
|
|
98
|
+
if (!isMobile || !swipeEnabled)
|
|
99
|
+
return;
|
|
100
|
+
var touch = e.touches[0];
|
|
101
|
+
var clientX = touch.clientX, clientY = touch.clientY;
|
|
102
|
+
var now = Date.now();
|
|
103
|
+
// Only initiate swipe from edge areas
|
|
104
|
+
var isLeftEdge = position === 'left' && clientX < swipeArea;
|
|
105
|
+
var isRightEdge = position === 'right' && clientX > window.innerWidth - swipeArea;
|
|
106
|
+
var isOnSidebar = internalOpen && ((_a = sidebarRef.current) === null || _a === void 0 ? void 0 : _a.contains(e.target));
|
|
107
|
+
if (isLeftEdge || isRightEdge || isOnSidebar) {
|
|
108
|
+
setTouchStart({ x: clientX, y: clientY, time: now });
|
|
109
|
+
setIsDragging(false);
|
|
110
|
+
e.preventDefault();
|
|
111
|
+
}
|
|
112
|
+
}, [isMobile, swipeEnabled, position, swipeArea, internalOpen]);
|
|
113
|
+
var handleTouchMove = (0, react_1.useCallback)(function (e) {
|
|
114
|
+
if (!touchStart || !isMobile || !swipeEnabled)
|
|
115
|
+
return;
|
|
116
|
+
var touch = e.touches[0];
|
|
117
|
+
var clientX = touch.clientX, clientY = touch.clientY;
|
|
118
|
+
var deltaX = clientX - touchStart.x;
|
|
119
|
+
var deltaY = clientY - touchStart.y;
|
|
120
|
+
// Check if it's a horizontal swipe (not vertical scroll)
|
|
121
|
+
if (Math.abs(deltaX) > Math.abs(deltaY) && Math.abs(deltaX) > 10) {
|
|
122
|
+
if (!isDragging) {
|
|
123
|
+
setIsDragging(true);
|
|
124
|
+
}
|
|
125
|
+
// Calculate drag offset based on position and gesture direction
|
|
126
|
+
var offset = 0;
|
|
127
|
+
if (position === 'left') {
|
|
128
|
+
if (internalOpen) {
|
|
129
|
+
// Closing gesture: drag left
|
|
130
|
+
offset = Math.min(0, deltaX);
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
// Opening gesture: drag right
|
|
134
|
+
offset = Math.max(0, deltaX);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
if (internalOpen) {
|
|
139
|
+
// Closing gesture: drag right
|
|
140
|
+
offset = Math.max(0, deltaX);
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
// Opening gesture: drag left
|
|
144
|
+
offset = Math.min(0, deltaX);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
setDragOffset(offset);
|
|
148
|
+
e.preventDefault();
|
|
149
|
+
}
|
|
150
|
+
}, [touchStart, isMobile, swipeEnabled, position, internalOpen, isDragging]);
|
|
151
|
+
var handleTouchEnd = (0, react_1.useCallback)(function (e) {
|
|
152
|
+
if (!touchStart || !isMobile || !swipeEnabled)
|
|
153
|
+
return;
|
|
154
|
+
var touch = e.changedTouches[0];
|
|
155
|
+
var clientX = touch.clientX;
|
|
156
|
+
var deltaX = clientX - touchStart.x;
|
|
157
|
+
var deltaTime = Date.now() - touchStart.time;
|
|
158
|
+
var velocity = Math.abs(deltaX) / deltaTime;
|
|
159
|
+
// Determine if gesture should trigger sidebar action
|
|
160
|
+
var shouldTrigger = Math.abs(deltaX) > swipeThreshold || velocity > 0.5;
|
|
161
|
+
if (shouldTrigger && isDragging) {
|
|
162
|
+
if (position === 'left') {
|
|
163
|
+
if (!internalOpen && deltaX > 0) {
|
|
164
|
+
handleOpen();
|
|
165
|
+
}
|
|
166
|
+
else if (internalOpen && deltaX < 0) {
|
|
167
|
+
handleClose();
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
else {
|
|
171
|
+
if (!internalOpen && deltaX < 0) {
|
|
172
|
+
handleOpen();
|
|
173
|
+
}
|
|
174
|
+
else if (internalOpen && deltaX > 0) {
|
|
175
|
+
handleClose();
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
// Reset touch state
|
|
180
|
+
setTouchStart(null);
|
|
181
|
+
setIsDragging(false);
|
|
182
|
+
setDragOffset(0);
|
|
183
|
+
}, [touchStart, isMobile, swipeEnabled, position, internalOpen, isDragging, swipeThreshold]);
|
|
184
|
+
// Add touch event listeners
|
|
185
|
+
(0, react_1.useEffect)(function () {
|
|
186
|
+
if (!isMobile || !swipeEnabled)
|
|
187
|
+
return;
|
|
188
|
+
var element = mainContentRef.current || document.body;
|
|
189
|
+
element.addEventListener('touchstart', handleTouchStart, { passive: false });
|
|
190
|
+
element.addEventListener('touchmove', handleTouchMove, { passive: false });
|
|
191
|
+
element.addEventListener('touchend', handleTouchEnd, { passive: false });
|
|
192
|
+
return function () {
|
|
193
|
+
element.removeEventListener('touchstart', handleTouchStart);
|
|
194
|
+
element.removeEventListener('touchmove', handleTouchMove);
|
|
195
|
+
element.removeEventListener('touchend', handleTouchEnd);
|
|
196
|
+
};
|
|
197
|
+
}, [handleTouchStart, handleTouchMove, handleTouchEnd, isMobile, swipeEnabled]);
|
|
87
198
|
var handleClose = function () {
|
|
199
|
+
setIsTransitioning(true);
|
|
88
200
|
setInternalOpen(false);
|
|
89
201
|
onClose === null || onClose === void 0 ? void 0 : onClose();
|
|
202
|
+
setTimeout(function () { return setIsTransitioning(false); }, 300);
|
|
203
|
+
};
|
|
204
|
+
var handleOpen = function () {
|
|
205
|
+
setIsTransitioning(true);
|
|
206
|
+
setInternalOpen(true);
|
|
207
|
+
onOpen === null || onOpen === void 0 ? void 0 : onOpen();
|
|
208
|
+
setTimeout(function () { return setIsTransitioning(false); }, 300);
|
|
90
209
|
};
|
|
91
210
|
var groupedLinks = links.reduce(function (acc, link) {
|
|
92
211
|
acc[link.section] = acc[link.section] || [];
|
|
@@ -94,17 +213,48 @@ function SideBar(_a) {
|
|
|
94
213
|
return acc;
|
|
95
214
|
}, {});
|
|
96
215
|
var isOverlay = isMobile;
|
|
216
|
+
// Calculate transform for drag gesture
|
|
217
|
+
var getSidebarTransform = function () {
|
|
218
|
+
if (!isDragging || !isOverlay)
|
|
219
|
+
return '';
|
|
220
|
+
if (position === 'left') {
|
|
221
|
+
var baseTransform = internalOpen ? 0 : -sidebarWidth;
|
|
222
|
+
return "translateX(".concat(baseTransform + dragOffset, "px)");
|
|
223
|
+
}
|
|
224
|
+
else {
|
|
225
|
+
var baseTransform = internalOpen ? 0 : sidebarWidth;
|
|
226
|
+
return "translateX(".concat(baseTransform + dragOffset, "px)");
|
|
227
|
+
}
|
|
228
|
+
};
|
|
97
229
|
return (react_1.default.createElement("div", { className: "sidebar-container ".concat(isOverlay ? '' : 'with-content') },
|
|
98
|
-
internalOpen && (react_1.default.createElement("
|
|
99
|
-
|
|
230
|
+
isOverlay && (internalOpen || isDragging) && (react_1.default.createElement("div", { className: "sidebar-backdrop", style: {
|
|
231
|
+
position: 'fixed',
|
|
232
|
+
top: 0,
|
|
233
|
+
left: 0,
|
|
234
|
+
right: 0,
|
|
235
|
+
bottom: 0,
|
|
236
|
+
backgroundColor: 'rgba(0, 0, 0, 0.5)',
|
|
237
|
+
zIndex: 998,
|
|
238
|
+
opacity: isDragging ? Math.abs(dragOffset) / sidebarWidth : 1,
|
|
239
|
+
transition: isDragging ? 'none' : 'opacity 0.3s ease',
|
|
240
|
+
}, onClick: handleClose })),
|
|
241
|
+
(internalOpen || isDragging) && (react_1.default.createElement("aside", { role: "complementary", ref: sidebarRef, className: "sidebar ".concat(funcss, " ").concat(sidebarCss, " ").concat(isOverlay ? 'nav_overlay' : ''), style: (_b = {
|
|
242
|
+
width: isOverlay ? "".concat(sidebarWidth, "px") : "".concat(sidebarWidth, "px"),
|
|
100
243
|
height: "calc(100vh - ".concat(appBarHeight || top || '0px', ")"),
|
|
101
244
|
position: 'fixed',
|
|
102
245
|
top: appBarHeight || top
|
|
103
246
|
},
|
|
104
247
|
_b[position] = 0,
|
|
105
248
|
_b.padding = '1rem',
|
|
249
|
+
_b.zIndex = 999,
|
|
250
|
+
_b.transform = getSidebarTransform(),
|
|
251
|
+
_b.transition = isDragging || isTransitioning ? 'none' : 'transform 0.3s ease',
|
|
252
|
+
_b.willChange = 'transform',
|
|
106
253
|
_b) },
|
|
107
|
-
react_1.default.createElement(RowFlex_1.default, { justify: "space-between", funcss: "pl-2 pr-2" },
|
|
254
|
+
react_1.default.createElement(RowFlex_1.default, { justify: "space-between", funcss: "pl-2 pr-2" },
|
|
255
|
+
header && react_1.default.createElement("div", null, header),
|
|
256
|
+
isMobile && (react_1.default.createElement("div", { className: "hover-text-error pointer", onClick: handleClose, style: { cursor: 'pointer', zIndex: 1000 } },
|
|
257
|
+
react_1.default.createElement(pi_1.PiX, { size: 25 })))),
|
|
108
258
|
react_1.default.createElement("section", { className: "sidebar-body mt-3" },
|
|
109
259
|
links.length > 0 && (react_1.default.createElement("nav", { className: "sidebar-links" }, Object.entries(groupedLinks).map(function (_a) {
|
|
110
260
|
var section = _a[0], sectionLinks = _a[1];
|
|
@@ -117,14 +267,14 @@ function SideBar(_a) {
|
|
|
117
267
|
handleClose();
|
|
118
268
|
}
|
|
119
269
|
}, key: link.uri, href: link.uri },
|
|
120
|
-
react_1.default.createElement("div", { className: "p-1 pl-2 pr-2 sidebar-link
|
|
270
|
+
react_1.default.createElement("div", { className: "p-1 pl-2 pr-2 sidebar-link ".concat(isActive ? "primary50 outline-primary200 ".concat(activeCss || '') : 'hoverable') },
|
|
121
271
|
react_1.default.createElement("span", { className: "".concat(iconCSS || '', " ").concat(popIcon ? "p-1 border lighter central" : ""), style: { lineHeight: 0, borderRadius: "0.4rem" } }, link.icon),
|
|
122
272
|
react_1.default.createElement(Text_1.default, { text: link.text, size: "sm", weight: 400 }))));
|
|
123
273
|
})));
|
|
124
274
|
}))),
|
|
125
275
|
content),
|
|
126
276
|
footer && react_1.default.createElement("footer", { className: "sidebar-footer mt-2" }, footer))),
|
|
127
|
-
react_1.default.createElement("main", { className: "main-content ".concat(bodyCss), style: {
|
|
277
|
+
react_1.default.createElement("main", { ref: mainContentRef, className: "main-content fade-in ".concat(bodyCss), style: {
|
|
128
278
|
flex: 1,
|
|
129
279
|
marginLeft: position === 'left' && !isOverlay && internalOpen ? "".concat(sidebarWidth, "px") : 0,
|
|
130
280
|
marginRight: position === 'right' && !isOverlay && internalOpen ? "".concat(sidebarWidth, "px") : 0,
|
|
@@ -132,5 +282,20 @@ function SideBar(_a) {
|
|
|
132
282
|
height: '100vh',
|
|
133
283
|
paddingTop: appBarHeight || top,
|
|
134
284
|
transition: 'margin 0.3s ease',
|
|
135
|
-
|
|
285
|
+
touchAction: swipeEnabled ? 'pan-y' : 'auto',
|
|
286
|
+
} }, children),
|
|
287
|
+
isMobile && swipeEnabled && !internalOpen && (react_1.default.createElement("div", { className: "swipe-indicator", style: (_c = {
|
|
288
|
+
position: 'fixed'
|
|
289
|
+
},
|
|
290
|
+
_c[position] = 0,
|
|
291
|
+
_c.top = '50%',
|
|
292
|
+
_c.transform = 'translateY(-50%)',
|
|
293
|
+
_c.width = '4px',
|
|
294
|
+
_c.height = '40px',
|
|
295
|
+
_c.backgroundColor = 'rgba(128, 128, 128, 0.3)',
|
|
296
|
+
_c.borderRadius = position === 'left' ? '0 4px 4px 0' : '4px 0 0 4px',
|
|
297
|
+
_c.zIndex = 1000,
|
|
298
|
+
_c.pointerEvents = 'none',
|
|
299
|
+
_c.transition = 'opacity 0.3s ease',
|
|
300
|
+
_c) }))));
|
|
136
301
|
}
|
package/ui/table/Table.js
CHANGED
|
@@ -201,7 +201,7 @@ function Table(_a) {
|
|
|
201
201
|
React.createElement("div", null,
|
|
202
202
|
React.createElement(Flex_1.default, { width: '100%', wrap: 'nowrap', alignItems: 'center', gap: 0.7 },
|
|
203
203
|
!selectedField && !showSearch &&
|
|
204
|
-
React.createElement(
|
|
204
|
+
React.createElement("div", { className: '' },
|
|
205
205
|
React.createElement(Select_1.default, { fullWidth: true, searchable: true, funcss: 'min-w-300 w-full', rounded: true, value: selectedField || '', onChange: function (e) { return handleFieldChange(e); }, options: __spreadArray([
|
|
206
206
|
{ text: '🔍 Filter', value: '' },
|
|
207
207
|
{ text: 'All*', value: '' }
|
|
@@ -209,7 +209,7 @@ function Table(_a) {
|
|
|
209
209
|
text: field,
|
|
210
210
|
value: field
|
|
211
211
|
}); }), true) })),
|
|
212
|
-
selectedField && !showSearch && (React.createElement(
|
|
212
|
+
selectedField && !showSearch && (React.createElement("div", { className: '' },
|
|
213
213
|
React.createElement(Select_1.default, { rounded: true, searchable: true, funcss: 'min-w-300 w-full', fullWidth: true, value: selectedValue || '', onChange: function (e) {
|
|
214
214
|
if (e === 'clear_all') {
|
|
215
215
|
setSelectedField('');
|
|
@@ -230,15 +230,15 @@ function Table(_a) {
|
|
|
230
230
|
], false) }))),
|
|
231
231
|
showSearch ?
|
|
232
232
|
React.createElement(Flex_1.default, { gap: 0.5, wrap: 'nowrap', alignItems: 'center' },
|
|
233
|
-
React.createElement(
|
|
233
|
+
React.createElement("div", { className: 'animated slide-up' },
|
|
234
234
|
React.createElement(Input_1.default, { borderless: true, funcss: 'min-w-300', fullWidth: true, rounded: true, value: searchQuery, onChange: function (e) { return setsearchQuery(e.target.value); }, label: "Search..." })),
|
|
235
|
-
React.createElement(
|
|
235
|
+
React.createElement("div", { className: 'animated fade-in' },
|
|
236
236
|
React.createElement("div", { onClick: function () { return setshowSearch(false); } },
|
|
237
237
|
React.createElement(ToolTip_1.default, null,
|
|
238
238
|
React.createElement(pi_1.PiXThin, { className: 'pointer', size: 23, onClick: function () { return setshowSearch(false); } }),
|
|
239
239
|
React.createElement(Tip_1.default, { tip: "bottom", animation: "Opacity", duration: 1, content: "Close Search" })))))
|
|
240
240
|
:
|
|
241
|
-
React.createElement(
|
|
241
|
+
React.createElement("div", { className: 'animated fade-in' },
|
|
242
242
|
React.createElement(ToolTip_1.default, null,
|
|
243
243
|
React.createElement(ci_1.CiSearch, { className: 'pointer', size: 23, onClick: function () { return setshowSearch(true); } }),
|
|
244
244
|
React.createElement(Tip_1.default, { tip: "bottom", animation: "Opacity", duration: 1, content: "Search Data" })))))
|
|
@@ -247,13 +247,16 @@ function Table(_a) {
|
|
|
247
247
|
React.createElement(RowFlex_1.default, { gap: 0.5 },
|
|
248
248
|
right && right,
|
|
249
249
|
!hideExport &&
|
|
250
|
-
React.createElement(
|
|
251
|
-
React.createElement(
|
|
252
|
-
React.createElement(
|
|
253
|
-
|
|
250
|
+
React.createElement("div", { className: 'animated slide-up' },
|
|
251
|
+
React.createElement(ToolTip_1.default, null,
|
|
252
|
+
React.createElement(Circle_1.default, { bg: 'lighter', bordered: true, onClick: Export },
|
|
253
|
+
React.createElement(pi_1.PiExportThin, null)),
|
|
254
|
+
React.createElement(Tip_1.default, { tip: "bottom", animation: "Opacity", duration: 1, content: "Export Data" }))))))),
|
|
254
255
|
React.createElement("main", { style: { overflow: "auto", width: "100%" } },
|
|
255
256
|
React.createElement("table", __assign({ className: "table ".concat(bordered ? 'border' : '', " ").concat(noStripped ? '' : 'stripped', " ").concat(hoverable ? 'hoverableTr' : '', " ").concat(light ? 'light' : '', " ").concat(dark ? 'dark' : ''), style: {
|
|
256
|
-
height: height ? height + "px" : ""
|
|
257
|
+
height: height ? height + "px" : "",
|
|
258
|
+
position: 'relative',
|
|
259
|
+
zIndex: 1
|
|
257
260
|
} }, rest),
|
|
258
261
|
data &&
|
|
259
262
|
(data === null || data === void 0 ? void 0 : data.titles) &&
|
|
@@ -290,7 +293,7 @@ function Table(_a) {
|
|
|
290
293
|
else {
|
|
291
294
|
return true; // If no search query, return all items
|
|
292
295
|
}
|
|
293
|
-
}).slice(startIndex, endIndex).map(function (mdoc, index) { return (React.createElement(
|
|
296
|
+
}).slice(startIndex, endIndex).map(function (mdoc, index) { return (React.createElement("tr", { className: 'animated slide-up', key: index },
|
|
294
297
|
data.fields.map(function (fdoc, findex) {
|
|
295
298
|
var _a;
|
|
296
299
|
return (React.createElement(Data_1.default, { key: fdoc, funcss: data.funcss ? ((_a = data === null || data === void 0 ? void 0 : data.funcss) === null || _a === void 0 ? void 0 : _a[findex]) || '' : '' }, getNestedValue(mdoc, fdoc)));
|