@alexandregme/zljs 1.17.0 → 1.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +30 -1
- package/README.md +1 -1
- package/dist/chunk-BYW2ZJKS.js +366 -0
- package/dist/index.d.ts +5 -40
- package/dist/index.js +138 -488
- package/dist/next/index.d.ts +18 -3
- package/dist/next/index.js +57 -2
- package/dist/redux-provider.interface-BmROR8Ev.d.ts +21 -0
- package/package.json +1 -2
- package/dist/chunk-CXA5QIHP.js +0 -83
- package/dist/colors-CvgrDPVc.d.ts +0 -10
package/dist/index.js
CHANGED
|
@@ -1,9 +1,18 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import {
|
|
3
3
|
Heading,
|
|
4
|
+
Icon,
|
|
5
|
+
Loader,
|
|
6
|
+
ReduxProvider,
|
|
7
|
+
Spinner,
|
|
4
8
|
Text,
|
|
5
|
-
|
|
6
|
-
|
|
9
|
+
Toaster,
|
|
10
|
+
splitURLasPath,
|
|
11
|
+
useAppStore,
|
|
12
|
+
usePageStore,
|
|
13
|
+
useRouterStore,
|
|
14
|
+
useToastStore
|
|
15
|
+
} from "./chunk-BYW2ZJKS.js";
|
|
7
16
|
import {
|
|
8
17
|
Error,
|
|
9
18
|
FormInput,
|
|
@@ -11,57 +20,9 @@ import {
|
|
|
11
20
|
Input
|
|
12
21
|
} from "./chunk-VW4GICIJ.js";
|
|
13
22
|
|
|
14
|
-
// core/icon/icon.tsx
|
|
15
|
-
import * as LucideIcons from "lucide-react";
|
|
16
|
-
|
|
17
|
-
// core/icon/icon.const.ts
|
|
18
|
-
import { SiWhatsapp, SiFacebook, SiInstagram, SiShopify } from "react-icons/si";
|
|
19
|
-
var iconBrands = {
|
|
20
|
-
SiWhatsapp,
|
|
21
|
-
SiFacebook,
|
|
22
|
-
SiInstagram,
|
|
23
|
-
SiShopify
|
|
24
|
-
};
|
|
25
|
-
var iconSizes = {
|
|
26
|
-
sm: 12,
|
|
27
|
-
md: 16,
|
|
28
|
-
lg: 24
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
// core/icon/icon.styles.ts
|
|
32
|
-
import { tv } from "tailwind-variants";
|
|
33
|
-
var icon = tv({
|
|
34
|
-
variants: {
|
|
35
|
-
color: semanticTextColors
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
|
|
39
|
-
// core/icon/icon.tsx
|
|
40
|
-
import { Fragment, jsx } from "react/jsx-runtime";
|
|
41
|
-
var Icon = ({
|
|
42
|
-
name,
|
|
43
|
-
size = "md",
|
|
44
|
-
color,
|
|
45
|
-
"aria-label": ariaLabel
|
|
46
|
-
}) => {
|
|
47
|
-
const isBrand = name.startsWith("Si");
|
|
48
|
-
const IconComponent = isBrand ? iconBrands[name] : LucideIcons[name];
|
|
49
|
-
if (!IconComponent) return /* @__PURE__ */ jsx(Fragment, {});
|
|
50
|
-
return /* @__PURE__ */ jsx(
|
|
51
|
-
"span",
|
|
52
|
-
{
|
|
53
|
-
"data-testid": name,
|
|
54
|
-
className: icon({ color }),
|
|
55
|
-
role: ariaLabel ? "img" : void 0,
|
|
56
|
-
"aria-label": ariaLabel,
|
|
57
|
-
children: /* @__PURE__ */ jsx(IconComponent, { size: iconSizes[size], "aria-hidden": "true" })
|
|
58
|
-
}
|
|
59
|
-
);
|
|
60
|
-
};
|
|
61
|
-
|
|
62
23
|
// core/button/button.styles.ts
|
|
63
|
-
import { tv
|
|
64
|
-
var button =
|
|
24
|
+
import { tv } from "tailwind-variants";
|
|
25
|
+
var button = tv({
|
|
65
26
|
// outline-current covers the colors with no outline class (ghost, none): without it, browsers keep their default focus color.
|
|
66
27
|
base: "cursor-pointer font-medium focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-current disabled:opacity-50 disabled:cursor-not-allowed inline-flex items-center justify-center",
|
|
67
28
|
variants: {
|
|
@@ -164,7 +125,7 @@ var button = tv2({
|
|
|
164
125
|
});
|
|
165
126
|
|
|
166
127
|
// core/button/button.tsx
|
|
167
|
-
import { Fragment
|
|
128
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
168
129
|
var Button = ({
|
|
169
130
|
children,
|
|
170
131
|
type = "button",
|
|
@@ -172,31 +133,31 @@ var Button = ({
|
|
|
172
133
|
color = "primary",
|
|
173
134
|
size = "md",
|
|
174
135
|
fullWidth = false,
|
|
175
|
-
icon
|
|
136
|
+
icon,
|
|
176
137
|
iconPosition = "left",
|
|
177
138
|
disabled = false,
|
|
178
139
|
"aria-label": ariaLabel,
|
|
179
140
|
onClick
|
|
180
141
|
}) => {
|
|
181
|
-
const isIconOnly =
|
|
142
|
+
const isIconOnly = icon && !children;
|
|
182
143
|
const variant = variantProp ?? (isIconOnly ? "icon" : "default");
|
|
183
144
|
const renderContent = () => {
|
|
184
|
-
if (!
|
|
145
|
+
if (!icon) {
|
|
185
146
|
return children;
|
|
186
147
|
}
|
|
187
|
-
const iconElement = /* @__PURE__ */
|
|
148
|
+
const iconElement = /* @__PURE__ */ jsx(Icon, { name: icon, size });
|
|
188
149
|
if (isIconOnly) {
|
|
189
150
|
return iconElement;
|
|
190
151
|
}
|
|
191
|
-
return iconPosition === "left" ? /* @__PURE__ */ jsxs(
|
|
152
|
+
return iconPosition === "left" ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
192
153
|
iconElement,
|
|
193
154
|
children
|
|
194
|
-
] }) : /* @__PURE__ */ jsxs(
|
|
155
|
+
] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
195
156
|
children,
|
|
196
157
|
iconElement
|
|
197
158
|
] });
|
|
198
159
|
};
|
|
199
|
-
return /* @__PURE__ */
|
|
160
|
+
return /* @__PURE__ */ jsx(
|
|
200
161
|
"button",
|
|
201
162
|
{
|
|
202
163
|
type,
|
|
@@ -230,11 +191,11 @@ import { useState } from "react";
|
|
|
230
191
|
import { useId } from "react";
|
|
231
192
|
|
|
232
193
|
// core/forms/checkbox/checkbox.styles.ts
|
|
233
|
-
import { tv as
|
|
234
|
-
var wrapper =
|
|
194
|
+
import { tv as tv2 } from "tailwind-variants";
|
|
195
|
+
var wrapper = tv2({
|
|
235
196
|
base: "flex flex-col gap-1"
|
|
236
197
|
});
|
|
237
|
-
var innerWrapper =
|
|
198
|
+
var innerWrapper = tv2({
|
|
238
199
|
base: "flex cursor-pointer has-disabled:cursor-not-allowed",
|
|
239
200
|
variants: {
|
|
240
201
|
variant: {
|
|
@@ -246,7 +207,7 @@ var innerWrapper = tv3({
|
|
|
246
207
|
variant: "default"
|
|
247
208
|
}
|
|
248
209
|
});
|
|
249
|
-
var checkbox =
|
|
210
|
+
var checkbox = tv2({
|
|
250
211
|
base: "shrink-0 accent-zl-primary border-gray-300 rounded focus:ring-2 focus:ring-blue-500 disabled:cursor-not-allowed",
|
|
251
212
|
variants: {
|
|
252
213
|
size: {
|
|
@@ -259,12 +220,12 @@ var checkbox = tv3({
|
|
|
259
220
|
size: "md"
|
|
260
221
|
}
|
|
261
222
|
});
|
|
262
|
-
var label =
|
|
223
|
+
var label = tv2({
|
|
263
224
|
base: "min-w-0 flex-1 text-sm text-gray-700 select-none"
|
|
264
225
|
});
|
|
265
226
|
|
|
266
227
|
// core/forms/checkbox/checkbox.tsx
|
|
267
|
-
import { jsx as
|
|
228
|
+
import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
268
229
|
var Checkbox = ({
|
|
269
230
|
label: labelText,
|
|
270
231
|
"aria-label": ariaLabel,
|
|
@@ -279,7 +240,7 @@ var Checkbox = ({
|
|
|
279
240
|
const errorId = `${id}-error`;
|
|
280
241
|
return /* @__PURE__ */ jsxs2("div", { className: wrapper(), children: [
|
|
281
242
|
/* @__PURE__ */ jsxs2("label", { htmlFor: id, className: innerWrapper({ variant }), children: [
|
|
282
|
-
/* @__PURE__ */
|
|
243
|
+
/* @__PURE__ */ jsx2(
|
|
283
244
|
"input",
|
|
284
245
|
{
|
|
285
246
|
id,
|
|
@@ -293,45 +254,45 @@ var Checkbox = ({
|
|
|
293
254
|
className: checkbox({ size })
|
|
294
255
|
}
|
|
295
256
|
),
|
|
296
|
-
/* @__PURE__ */
|
|
257
|
+
/* @__PURE__ */ jsx2("span", { className: label(), children: labelText })
|
|
297
258
|
] }),
|
|
298
|
-
error && /* @__PURE__ */
|
|
259
|
+
error && /* @__PURE__ */ jsx2(Error, { id: errorId, message: error })
|
|
299
260
|
] });
|
|
300
261
|
};
|
|
301
262
|
|
|
302
263
|
// core/forms/form/form.styles.ts
|
|
303
|
-
import { tv as
|
|
304
|
-
var fieldset =
|
|
264
|
+
import { tv as tv3 } from "tailwind-variants";
|
|
265
|
+
var fieldset = tv3({
|
|
305
266
|
base: "border-none p-0"
|
|
306
267
|
});
|
|
307
268
|
|
|
308
269
|
// core/forms/form/form.tsx
|
|
309
|
-
import { jsx as
|
|
270
|
+
import { jsx as jsx3 } from "react/jsx-runtime";
|
|
310
271
|
var Form = ({ children, onSubmit, disabled }) => {
|
|
311
272
|
const handleSubmit = (event) => {
|
|
312
273
|
event.preventDefault();
|
|
313
274
|
onSubmit?.(event);
|
|
314
275
|
};
|
|
315
|
-
return /* @__PURE__ */
|
|
276
|
+
return /* @__PURE__ */ jsx3("form", { onSubmit: handleSubmit, children: /* @__PURE__ */ jsx3("fieldset", { disabled, className: fieldset(), children }) });
|
|
316
277
|
};
|
|
317
278
|
|
|
318
279
|
// core/forms/radio/radio.tsx
|
|
319
280
|
import { useId as useId2 } from "react";
|
|
320
281
|
|
|
321
282
|
// core/forms/radio/radio.styles.ts
|
|
322
|
-
import { tv as
|
|
323
|
-
var wrapper2 =
|
|
283
|
+
import { tv as tv4 } from "tailwind-variants";
|
|
284
|
+
var wrapper2 = tv4({
|
|
324
285
|
base: "flex w-fit items-center gap-2 cursor-pointer has-disabled:cursor-not-allowed"
|
|
325
286
|
});
|
|
326
|
-
var radio =
|
|
287
|
+
var radio = tv4({
|
|
327
288
|
base: "w-4 h-4 shrink-0 accent-zl-primary focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-zl-primary disabled:cursor-not-allowed"
|
|
328
289
|
});
|
|
329
|
-
var label2 =
|
|
290
|
+
var label2 = tv4({
|
|
330
291
|
base: "text-sm text-gray-700 select-none"
|
|
331
292
|
});
|
|
332
293
|
|
|
333
294
|
// core/forms/radio/radio.tsx
|
|
334
|
-
import { jsx as
|
|
295
|
+
import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
335
296
|
var Radio = ({
|
|
336
297
|
label: labelText,
|
|
337
298
|
"aria-label": ariaLabel,
|
|
@@ -347,7 +308,7 @@ var Radio = ({
|
|
|
347
308
|
}) => {
|
|
348
309
|
const id = useId2();
|
|
349
310
|
return /* @__PURE__ */ jsxs3("label", { htmlFor: id, className: wrapper2(), children: [
|
|
350
|
-
/* @__PURE__ */
|
|
311
|
+
/* @__PURE__ */ jsx4(
|
|
351
312
|
"input",
|
|
352
313
|
{
|
|
353
314
|
ref,
|
|
@@ -365,7 +326,7 @@ var Radio = ({
|
|
|
365
326
|
className: radio()
|
|
366
327
|
}
|
|
367
328
|
),
|
|
368
|
-
labelText && /* @__PURE__ */
|
|
329
|
+
labelText && /* @__PURE__ */ jsx4("span", { className: label2(), children: labelText })
|
|
369
330
|
] });
|
|
370
331
|
};
|
|
371
332
|
|
|
@@ -373,19 +334,19 @@ var Radio = ({
|
|
|
373
334
|
import { useId as useId3 } from "react";
|
|
374
335
|
|
|
375
336
|
// core/forms/select/select.styles.ts
|
|
376
|
-
import { tv as
|
|
377
|
-
var wrapper3 =
|
|
337
|
+
import { tv as tv5 } from "tailwind-variants";
|
|
338
|
+
var wrapper3 = tv5({
|
|
378
339
|
base: "flex flex-col gap-1"
|
|
379
340
|
});
|
|
380
|
-
var label3 =
|
|
341
|
+
var label3 = tv5({
|
|
381
342
|
base: "text-sm font-medium text-gray-700"
|
|
382
343
|
});
|
|
383
|
-
var select =
|
|
344
|
+
var select = tv5({
|
|
384
345
|
base: "px-3 py-2 border border-gray-500 rounded-md text-sm bg-white focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-zl-primary disabled:bg-gray-100 disabled:cursor-not-allowed"
|
|
385
346
|
});
|
|
386
347
|
|
|
387
348
|
// core/forms/select/select.tsx
|
|
388
|
-
import { jsx as
|
|
349
|
+
import { jsx as jsx5, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
389
350
|
var Select = ({
|
|
390
351
|
label: labelText,
|
|
391
352
|
"aria-label": ariaLabel,
|
|
@@ -405,7 +366,7 @@ var Select = ({
|
|
|
405
366
|
const id = useId3();
|
|
406
367
|
const errorId = `${id}-error`;
|
|
407
368
|
return /* @__PURE__ */ jsxs4("div", { className: wrapper3(), children: [
|
|
408
|
-
labelText && /* @__PURE__ */
|
|
369
|
+
labelText && /* @__PURE__ */ jsx5("label", { htmlFor: id, className: label3(), children: labelText }),
|
|
409
370
|
/* @__PURE__ */ jsxs4(
|
|
410
371
|
"select",
|
|
411
372
|
{
|
|
@@ -425,12 +386,12 @@ var Select = ({
|
|
|
425
386
|
"aria-describedby": error ? errorId : void 0,
|
|
426
387
|
className: select(),
|
|
427
388
|
children: [
|
|
428
|
-
placeholder && /* @__PURE__ */
|
|
429
|
-
options.map((option) => /* @__PURE__ */
|
|
389
|
+
placeholder && /* @__PURE__ */ jsx5("option", { value: "", disabled: true, children: placeholder }),
|
|
390
|
+
options.map((option) => /* @__PURE__ */ jsx5("option", { value: option.value, children: option.label }, option.value))
|
|
430
391
|
]
|
|
431
392
|
}
|
|
432
393
|
),
|
|
433
|
-
error && /* @__PURE__ */
|
|
394
|
+
error && /* @__PURE__ */ jsx5(Error, { id: errorId, message: error })
|
|
434
395
|
] });
|
|
435
396
|
};
|
|
436
397
|
|
|
@@ -438,19 +399,19 @@ var Select = ({
|
|
|
438
399
|
import { useId as useId4 } from "react";
|
|
439
400
|
|
|
440
401
|
// core/forms/text-area/text-area.styles.ts
|
|
441
|
-
import { tv as
|
|
442
|
-
var wrapper4 =
|
|
402
|
+
import { tv as tv6 } from "tailwind-variants";
|
|
403
|
+
var wrapper4 = tv6({
|
|
443
404
|
base: "flex flex-col gap-1"
|
|
444
405
|
});
|
|
445
|
-
var label4 =
|
|
406
|
+
var label4 = tv6({
|
|
446
407
|
base: "text-sm font-medium text-gray-700"
|
|
447
408
|
});
|
|
448
|
-
var textarea =
|
|
409
|
+
var textarea = tv6({
|
|
449
410
|
base: "px-3 py-2 border border-gray-500 rounded-md text-sm placeholder:text-gray-500 resize-y focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-zl-primary disabled:bg-gray-100 disabled:cursor-not-allowed"
|
|
450
411
|
});
|
|
451
412
|
|
|
452
413
|
// core/forms/text-area/text-area.tsx
|
|
453
|
-
import { jsx as
|
|
414
|
+
import { jsx as jsx6, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
454
415
|
var TextArea = ({
|
|
455
416
|
label: labelText,
|
|
456
417
|
"aria-label": ariaLabel,
|
|
@@ -470,8 +431,8 @@ var TextArea = ({
|
|
|
470
431
|
const id = useId4();
|
|
471
432
|
const errorId = `${id}-error`;
|
|
472
433
|
return /* @__PURE__ */ jsxs5("div", { className: wrapper4(), children: [
|
|
473
|
-
labelText && /* @__PURE__ */
|
|
474
|
-
/* @__PURE__ */
|
|
434
|
+
labelText && /* @__PURE__ */ jsx6("label", { htmlFor: id, className: label4(), children: labelText }),
|
|
435
|
+
/* @__PURE__ */ jsx6(
|
|
475
436
|
"textarea",
|
|
476
437
|
{
|
|
477
438
|
ref,
|
|
@@ -492,12 +453,12 @@ var TextArea = ({
|
|
|
492
453
|
className: textarea()
|
|
493
454
|
}
|
|
494
455
|
),
|
|
495
|
-
error && /* @__PURE__ */
|
|
456
|
+
error && /* @__PURE__ */ jsx6(Error, { id: errorId, message: error })
|
|
496
457
|
] });
|
|
497
458
|
};
|
|
498
459
|
|
|
499
460
|
// core/data-grid/data-grid-toolbar.tsx
|
|
500
|
-
import { jsx as
|
|
461
|
+
import { jsx as jsx7, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
501
462
|
var DataGridToolbar = ({ gridApi }) => {
|
|
502
463
|
const [searchTerm, setSearchTerm] = useState("");
|
|
503
464
|
const handleSearch = () => {
|
|
@@ -518,7 +479,7 @@ var DataGridToolbar = ({ gridApi }) => {
|
|
|
518
479
|
className: "flex items-center gap-2 mb-3",
|
|
519
480
|
"data-testid": "data-grid-toolbar",
|
|
520
481
|
children: [
|
|
521
|
-
/* @__PURE__ */
|
|
482
|
+
/* @__PURE__ */ jsx7(
|
|
522
483
|
Input,
|
|
523
484
|
{
|
|
524
485
|
"aria-label": "Buscar na tabela",
|
|
@@ -528,16 +489,16 @@ var DataGridToolbar = ({ gridApi }) => {
|
|
|
528
489
|
onKeyDown: handleKeyDown
|
|
529
490
|
}
|
|
530
491
|
),
|
|
531
|
-
/* @__PURE__ */
|
|
532
|
-
/* @__PURE__ */
|
|
492
|
+
/* @__PURE__ */ jsx7(Button, { icon: "Search", color: "primary", onClick: handleSearch, children: "Buscar" }),
|
|
493
|
+
/* @__PURE__ */ jsx7(Button, { icon: "X", color: "danger", onClick: handleClear, children: "Limpar" })
|
|
533
494
|
]
|
|
534
495
|
}
|
|
535
496
|
);
|
|
536
497
|
};
|
|
537
498
|
|
|
538
499
|
// core/tag/tag.styles.ts
|
|
539
|
-
import { tv as
|
|
540
|
-
var tag =
|
|
500
|
+
import { tv as tv7 } from "tailwind-variants";
|
|
501
|
+
var tag = tv7({
|
|
541
502
|
base: "inline-flex items-center gap-1 px-2 py-0.5 rounded text-xs font-medium",
|
|
542
503
|
variants: {
|
|
543
504
|
color: {
|
|
@@ -555,16 +516,16 @@ var tag = tv8({
|
|
|
555
516
|
});
|
|
556
517
|
|
|
557
518
|
// core/tag/tag.tsx
|
|
558
|
-
import { jsx as
|
|
519
|
+
import { jsx as jsx8, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
559
520
|
var Tag = ({ children, color = "blue", onRemove }) => {
|
|
560
521
|
return /* @__PURE__ */ jsxs7("span", { "data-testid": "tag", className: tag({ color }), children: [
|
|
561
522
|
children,
|
|
562
|
-
onRemove && /* @__PURE__ */
|
|
523
|
+
onRemove && /* @__PURE__ */ jsx8(Button, { size: "sm", icon: "X", "aria-label": "Remover", onClick: onRemove })
|
|
563
524
|
] });
|
|
564
525
|
};
|
|
565
526
|
|
|
566
527
|
// core/data-grid/data-grid-status-bar.tsx
|
|
567
|
-
import { Fragment as
|
|
528
|
+
import { Fragment as Fragment2, jsx as jsx9, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
568
529
|
var DataGridStatusBar = ({
|
|
569
530
|
totalRows,
|
|
570
531
|
displayedRows,
|
|
@@ -587,19 +548,19 @@ var DataGridStatusBar = ({
|
|
|
587
548
|
gridApi.setFilterModel(null);
|
|
588
549
|
};
|
|
589
550
|
return /* @__PURE__ */ jsxs8("div", { className: "flex items-center gap-3 px-2 py-1.5 bg-slate-100 border border-slate-200 rounded text-sm text-slate-600 mb-2", children: [
|
|
590
|
-
/* @__PURE__ */
|
|
591
|
-
/* @__PURE__ */
|
|
592
|
-
/* @__PURE__ */
|
|
593
|
-
/* @__PURE__ */
|
|
594
|
-
/* @__PURE__ */
|
|
595
|
-
] }) : /* @__PURE__ */ jsxs8(
|
|
596
|
-
/* @__PURE__ */
|
|
597
|
-
/* @__PURE__ */
|
|
551
|
+
/* @__PURE__ */ jsx9("span", { className: "font-medium", children: isFiltered ? /* @__PURE__ */ jsxs8(Fragment2, { children: [
|
|
552
|
+
/* @__PURE__ */ jsx9("span", { className: "text-blue-600", children: displayedRows }),
|
|
553
|
+
/* @__PURE__ */ jsx9("span", { className: "text-slate-400", children: " / " }),
|
|
554
|
+
/* @__PURE__ */ jsx9("span", { children: totalRows }),
|
|
555
|
+
/* @__PURE__ */ jsx9("span", { className: "text-slate-500 ml-1", children: "registros" })
|
|
556
|
+
] }) : /* @__PURE__ */ jsxs8(Fragment2, { children: [
|
|
557
|
+
/* @__PURE__ */ jsx9("span", { children: totalRows }),
|
|
558
|
+
/* @__PURE__ */ jsx9("span", { className: "text-slate-500 ml-1", children: "registros" })
|
|
598
559
|
] }) }),
|
|
599
|
-
activeFilters.length > 0 && /* @__PURE__ */ jsxs8(
|
|
600
|
-
/* @__PURE__ */
|
|
560
|
+
activeFilters.length > 0 && /* @__PURE__ */ jsxs8(Fragment2, { children: [
|
|
561
|
+
/* @__PURE__ */ jsx9("span", { className: "text-slate-300", children: "|" }),
|
|
601
562
|
/* @__PURE__ */ jsxs8("div", { className: "flex items-center gap-2 flex-wrap", children: [
|
|
602
|
-
/* @__PURE__ */
|
|
563
|
+
/* @__PURE__ */ jsx9("span", { className: "text-slate-500", children: "Filtros:" }),
|
|
603
564
|
activeFilters.map((filter) => /* @__PURE__ */ jsxs8(
|
|
604
565
|
Tag,
|
|
605
566
|
{
|
|
@@ -610,19 +571,19 @@ var DataGridStatusBar = ({
|
|
|
610
571
|
filter.headerName,
|
|
611
572
|
":"
|
|
612
573
|
] }),
|
|
613
|
-
/* @__PURE__ */
|
|
574
|
+
/* @__PURE__ */ jsx9("span", { children: filter.value })
|
|
614
575
|
]
|
|
615
576
|
},
|
|
616
577
|
filter.column
|
|
617
578
|
)),
|
|
618
|
-
/* @__PURE__ */
|
|
579
|
+
/* @__PURE__ */ jsx9(Button, { variant: "link", color: "none", onClick: handleClearAllFilters, children: "Limpar todos" })
|
|
619
580
|
] })
|
|
620
581
|
] })
|
|
621
582
|
] });
|
|
622
583
|
};
|
|
623
584
|
|
|
624
585
|
// core/data-grid/data-grid.tsx
|
|
625
|
-
import { jsx as
|
|
586
|
+
import { jsx as jsx10, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
626
587
|
ModuleRegistry.registerModules([AllCommunityModule]);
|
|
627
588
|
var tailwind = {
|
|
628
589
|
slate: {
|
|
@@ -703,8 +664,8 @@ var DataGrid = ({
|
|
|
703
664
|
"data-testid": "data-grid",
|
|
704
665
|
className: "grid grid-rows-[auto_auto_1fr] grid-cols-1 h-full w-full",
|
|
705
666
|
children: [
|
|
706
|
-
showSearch && /* @__PURE__ */
|
|
707
|
-
/* @__PURE__ */
|
|
667
|
+
showSearch && /* @__PURE__ */ jsx10(DataGridToolbar, { gridApi }),
|
|
668
|
+
/* @__PURE__ */ jsx10(
|
|
708
669
|
DataGridStatusBar,
|
|
709
670
|
{
|
|
710
671
|
totalRows: data.length,
|
|
@@ -713,7 +674,7 @@ var DataGrid = ({
|
|
|
713
674
|
gridApi
|
|
714
675
|
}
|
|
715
676
|
),
|
|
716
|
-
/* @__PURE__ */
|
|
677
|
+
/* @__PURE__ */ jsx10("div", { className: "ag-grid h-full w-full z-0", children: /* @__PURE__ */ jsx10(
|
|
717
678
|
AgGridReact,
|
|
718
679
|
{
|
|
719
680
|
theme: customTheme,
|
|
@@ -737,8 +698,8 @@ var DataGrid = ({
|
|
|
737
698
|
};
|
|
738
699
|
|
|
739
700
|
// core/stats-card/stats-card.styles.ts
|
|
740
|
-
import { tv as
|
|
741
|
-
var statsCard =
|
|
701
|
+
import { tv as tv8 } from "tailwind-variants";
|
|
702
|
+
var statsCard = tv8({
|
|
742
703
|
base: "p-4 rounded-lg",
|
|
743
704
|
variants: {
|
|
744
705
|
color: {
|
|
@@ -753,11 +714,11 @@ var statsCard = tv9({
|
|
|
753
714
|
});
|
|
754
715
|
|
|
755
716
|
// core/stats-card/stats-card.tsx
|
|
756
|
-
import { jsx as
|
|
717
|
+
import { jsx as jsx11, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
757
718
|
var StatsCard = ({ label: label5, value, color }) => {
|
|
758
719
|
return /* @__PURE__ */ jsxs10("div", { "data-testid": "stats-card", className: statsCard({ color }), children: [
|
|
759
|
-
/* @__PURE__ */
|
|
760
|
-
/* @__PURE__ */
|
|
720
|
+
/* @__PURE__ */ jsx11(Text, { variant: "caption", children: label5 }),
|
|
721
|
+
/* @__PURE__ */ jsx11(Text, { variant: "display", children: value })
|
|
761
722
|
] });
|
|
762
723
|
};
|
|
763
724
|
|
|
@@ -765,11 +726,11 @@ var StatsCard = ({ label: label5, value, color }) => {
|
|
|
765
726
|
import * as Dialog from "@radix-ui/react-dialog";
|
|
766
727
|
|
|
767
728
|
// core/modal/modal.styles.ts
|
|
768
|
-
import { tv as
|
|
769
|
-
var overlay =
|
|
729
|
+
import { tv as tv9 } from "tailwind-variants";
|
|
730
|
+
var overlay = tv9({
|
|
770
731
|
base: "fixed inset-0 bg-black/50"
|
|
771
732
|
});
|
|
772
|
-
var content =
|
|
733
|
+
var content = tv9({
|
|
773
734
|
base: "fixed top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 bg-white rounded-lg shadow-lg p-6 w-full focus:outline-none max-h-[90vh] overflow-y-auto",
|
|
774
735
|
variants: {
|
|
775
736
|
size: {
|
|
@@ -784,21 +745,21 @@ var content = tv10({
|
|
|
784
745
|
size: "md"
|
|
785
746
|
}
|
|
786
747
|
});
|
|
787
|
-
var header =
|
|
748
|
+
var header = tv9({
|
|
788
749
|
base: "flex items-start justify-between"
|
|
789
750
|
});
|
|
790
|
-
var title =
|
|
751
|
+
var title = tv9({
|
|
791
752
|
base: "text-lg font-semibold text-gray-900 m-0"
|
|
792
753
|
});
|
|
793
|
-
var description =
|
|
754
|
+
var description = tv9({
|
|
794
755
|
base: "text-sm text-gray-600 mt-2"
|
|
795
756
|
});
|
|
796
|
-
var body =
|
|
757
|
+
var body = tv9({
|
|
797
758
|
base: "mt-4"
|
|
798
759
|
});
|
|
799
760
|
|
|
800
761
|
// core/modal/modal.tsx
|
|
801
|
-
import { jsx as
|
|
762
|
+
import { jsx as jsx12, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
802
763
|
var Modal = ({
|
|
803
764
|
open,
|
|
804
765
|
onClose,
|
|
@@ -807,8 +768,8 @@ var Modal = ({
|
|
|
807
768
|
children,
|
|
808
769
|
size = "md"
|
|
809
770
|
}) => {
|
|
810
|
-
return /* @__PURE__ */
|
|
811
|
-
/* @__PURE__ */
|
|
771
|
+
return /* @__PURE__ */ jsx12(Dialog.Root, { open, onOpenChange: (isOpen) => !isOpen && onClose(), children: /* @__PURE__ */ jsxs11(Dialog.Portal, { children: [
|
|
772
|
+
/* @__PURE__ */ jsx12(Dialog.Overlay, { className: overlay() }),
|
|
812
773
|
/* @__PURE__ */ jsxs11(
|
|
813
774
|
Dialog.Content,
|
|
814
775
|
{
|
|
@@ -816,11 +777,11 @@ var Modal = ({
|
|
|
816
777
|
...!description2 && { "aria-describedby": void 0 },
|
|
817
778
|
children: [
|
|
818
779
|
/* @__PURE__ */ jsxs11("div", { className: header(), children: [
|
|
819
|
-
/* @__PURE__ */
|
|
820
|
-
/* @__PURE__ */
|
|
780
|
+
/* @__PURE__ */ jsx12(Dialog.Title, { className: title(), children: title2 }),
|
|
781
|
+
/* @__PURE__ */ jsx12(Button, { icon: "X", "aria-label": "Close", onClick: onClose })
|
|
821
782
|
] }),
|
|
822
|
-
description2 && /* @__PURE__ */
|
|
823
|
-
children && /* @__PURE__ */
|
|
783
|
+
description2 && /* @__PURE__ */ jsx12(Dialog.Description, { className: description(), children: description2 }),
|
|
784
|
+
children && /* @__PURE__ */ jsx12("div", { className: body(), children })
|
|
824
785
|
]
|
|
825
786
|
}
|
|
826
787
|
)
|
|
@@ -833,7 +794,7 @@ var whatsappBusinessUrl = "whatsapp-business://send";
|
|
|
833
794
|
var whatsappMobileUserAgent = /Android|iPhone|iPad|iPod/i;
|
|
834
795
|
|
|
835
796
|
// core/whatsapp-button/whatsapp-button.tsx
|
|
836
|
-
import { jsx as
|
|
797
|
+
import { jsx as jsx13 } from "react/jsx-runtime";
|
|
837
798
|
var WhatsAppButton = ({
|
|
838
799
|
phone,
|
|
839
800
|
message,
|
|
@@ -858,7 +819,7 @@ var WhatsAppButton = ({
|
|
|
858
819
|
}
|
|
859
820
|
onClick?.();
|
|
860
821
|
};
|
|
861
|
-
return /* @__PURE__ */
|
|
822
|
+
return /* @__PURE__ */ jsx13(Button, { color: "success", icon: "SiWhatsapp", onClick: handleClick, children });
|
|
862
823
|
};
|
|
863
824
|
|
|
864
825
|
// core/sidebar/sidebar.tsx
|
|
@@ -866,8 +827,8 @@ import { useState as useState3 } from "react";
|
|
|
866
827
|
import Link from "next/link.js";
|
|
867
828
|
|
|
868
829
|
// core/sidebar/sidebar.styles.ts
|
|
869
|
-
import { tv as
|
|
870
|
-
var sidebar =
|
|
830
|
+
import { tv as tv10 } from "tailwind-variants";
|
|
831
|
+
var sidebar = tv10({
|
|
871
832
|
base: "h-screen bg-neutral-800 text-neutral-300 flex flex-col overflow-hidden transition-all duration-200",
|
|
872
833
|
variants: {
|
|
873
834
|
collapsed: {
|
|
@@ -879,16 +840,16 @@ var sidebar = tv11({
|
|
|
879
840
|
collapsed: false
|
|
880
841
|
}
|
|
881
842
|
});
|
|
882
|
-
var nav =
|
|
843
|
+
var nav = tv10({
|
|
883
844
|
base: "flex-1 min-h-0 overflow-y-auto overflow-x-hidden"
|
|
884
845
|
});
|
|
885
|
-
var header2 =
|
|
846
|
+
var header2 = tv10({
|
|
886
847
|
base: "shrink-0 border-b border-neutral-600/50 grid p-2"
|
|
887
848
|
});
|
|
888
|
-
var section =
|
|
849
|
+
var section = tv10({
|
|
889
850
|
base: "border-b border-neutral-600/50 last:border-b-0 grid gap-1 p-2"
|
|
890
851
|
});
|
|
891
|
-
var item =
|
|
852
|
+
var item = tv10({
|
|
892
853
|
base: "flex w-full items-center rounded-md text-sm whitespace-nowrap transition-colors cursor-pointer p-1",
|
|
893
854
|
variants: {
|
|
894
855
|
active: {
|
|
@@ -900,10 +861,10 @@ var item = tv11({
|
|
|
900
861
|
active: false
|
|
901
862
|
}
|
|
902
863
|
});
|
|
903
|
-
var itemIcon =
|
|
864
|
+
var itemIcon = tv10({
|
|
904
865
|
base: "p-2"
|
|
905
866
|
});
|
|
906
|
-
var itemLabel =
|
|
867
|
+
var itemLabel = tv10({
|
|
907
868
|
base: "truncate transition-all duration-200",
|
|
908
869
|
variants: {
|
|
909
870
|
collapsed: {
|
|
@@ -915,27 +876,27 @@ var itemLabel = tv11({
|
|
|
915
876
|
collapsed: false
|
|
916
877
|
}
|
|
917
878
|
});
|
|
918
|
-
var footer =
|
|
879
|
+
var footer = tv10({
|
|
919
880
|
base: "shrink-0 border-t border-neutral-600/50 p-3 flex items-center gap-3 whitespace-nowrap"
|
|
920
881
|
});
|
|
921
|
-
var avatar =
|
|
882
|
+
var avatar = tv10({
|
|
922
883
|
base: "shrink-0 w-8 h-8 rounded-full bg-neutral-600 text-white text-xs font-medium flex items-center justify-center"
|
|
923
884
|
});
|
|
924
|
-
var userInfo =
|
|
885
|
+
var userInfo = tv10({
|
|
925
886
|
base: "flex flex-col min-w-0"
|
|
926
887
|
});
|
|
927
|
-
var userName =
|
|
888
|
+
var userName = tv10({
|
|
928
889
|
base: "text-sm text-white truncate"
|
|
929
890
|
});
|
|
930
|
-
var userEmail =
|
|
891
|
+
var userEmail = tv10({
|
|
931
892
|
base: "text-xs text-neutral-400"
|
|
932
893
|
});
|
|
933
|
-
var toggleButton =
|
|
894
|
+
var toggleButton = tv10({
|
|
934
895
|
base: "shrink-0 border-t border-neutral-600/50 grid p-2 [&>button]:justify-start [&>button]:overflow-hidden [&>button]:whitespace-nowrap"
|
|
935
896
|
});
|
|
936
897
|
|
|
937
898
|
// core/sidebar/sidebar.tsx
|
|
938
|
-
import { jsx as
|
|
899
|
+
import { jsx as jsx14, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
939
900
|
var getInitials = (name) => {
|
|
940
901
|
const parts = name.trim().split(/\s+/);
|
|
941
902
|
if (parts.length >= 2) {
|
|
@@ -956,19 +917,19 @@ var Sidebar = ({
|
|
|
956
917
|
const [collapsed, setCollapsed] = useState3(defaultCollapsed);
|
|
957
918
|
const initials = getInitials(user.name);
|
|
958
919
|
return /* @__PURE__ */ jsxs12("aside", { className: sidebar({ collapsed }), children: [
|
|
959
|
-
homeHref && /* @__PURE__ */
|
|
920
|
+
homeHref && /* @__PURE__ */ jsx14(
|
|
960
921
|
Link,
|
|
961
922
|
{
|
|
962
923
|
href: homeHref,
|
|
963
924
|
className: header2(),
|
|
964
925
|
"aria-label": homeLabel || "Home",
|
|
965
926
|
children: /* @__PURE__ */ jsxs12("span", { className: item({ active: homeHref === activeHref }), children: [
|
|
966
|
-
/* @__PURE__ */
|
|
967
|
-
/* @__PURE__ */
|
|
927
|
+
/* @__PURE__ */ jsx14("span", { className: itemIcon(), children: /* @__PURE__ */ jsx14(Icon, { name: "Home" }) }),
|
|
928
|
+
/* @__PURE__ */ jsx14("span", { className: itemLabel({ collapsed }), children: homeLabel })
|
|
968
929
|
] })
|
|
969
930
|
}
|
|
970
931
|
),
|
|
971
|
-
/* @__PURE__ */
|
|
932
|
+
/* @__PURE__ */ jsx14("nav", { "aria-label": "Main navigation", className: nav(), children: sections.map((sectionData, i) => /* @__PURE__ */ jsx14("div", { className: section(), children: sectionData.items.map((sidebarItem) => {
|
|
972
933
|
const isActive = sidebarItem.href === activeHref;
|
|
973
934
|
return /* @__PURE__ */ jsxs12(
|
|
974
935
|
Link,
|
|
@@ -977,20 +938,20 @@ var Sidebar = ({
|
|
|
977
938
|
className: item({ active: isActive }),
|
|
978
939
|
...isActive && { "aria-current": "page" },
|
|
979
940
|
children: [
|
|
980
|
-
/* @__PURE__ */
|
|
981
|
-
/* @__PURE__ */
|
|
941
|
+
/* @__PURE__ */ jsx14("span", { className: itemIcon(), children: /* @__PURE__ */ jsx14(Icon, { name: sidebarItem.icon }) }),
|
|
942
|
+
/* @__PURE__ */ jsx14("span", { className: itemLabel({ collapsed }), children: sidebarItem.label })
|
|
982
943
|
]
|
|
983
944
|
},
|
|
984
945
|
sidebarItem.href
|
|
985
946
|
);
|
|
986
947
|
}) }, i)) }),
|
|
987
948
|
/* @__PURE__ */ jsxs12("div", { className: footer(), children: [
|
|
988
|
-
/* @__PURE__ */
|
|
949
|
+
/* @__PURE__ */ jsx14("div", { className: avatar(), children: initials }),
|
|
989
950
|
/* @__PURE__ */ jsxs12("div", { className: userInfo(), children: [
|
|
990
|
-
/* @__PURE__ */
|
|
991
|
-
/* @__PURE__ */
|
|
951
|
+
/* @__PURE__ */ jsx14("span", { className: userName(), children: user.name }),
|
|
952
|
+
/* @__PURE__ */ jsx14("span", { className: userEmail(), children: user.email })
|
|
992
953
|
] }),
|
|
993
|
-
/* @__PURE__ */
|
|
954
|
+
/* @__PURE__ */ jsx14(
|
|
994
955
|
Button,
|
|
995
956
|
{
|
|
996
957
|
color: "ghost",
|
|
@@ -1000,7 +961,7 @@ var Sidebar = ({
|
|
|
1000
961
|
}
|
|
1001
962
|
)
|
|
1002
963
|
] }),
|
|
1003
|
-
/* @__PURE__ */
|
|
964
|
+
/* @__PURE__ */ jsx14("div", { className: toggleButton(), children: /* @__PURE__ */ jsx14(
|
|
1004
965
|
Button,
|
|
1005
966
|
{
|
|
1006
967
|
color: "ghost",
|
|
@@ -1013,108 +974,14 @@ var Sidebar = ({
|
|
|
1013
974
|
] });
|
|
1014
975
|
};
|
|
1015
976
|
|
|
1016
|
-
// core/
|
|
1017
|
-
import {
|
|
1018
|
-
import { Toaster as SonnerToaster, toast } from "sonner";
|
|
977
|
+
// core/index.ts
|
|
978
|
+
import { toast } from "sonner";
|
|
1019
979
|
|
|
1020
|
-
// core/state/
|
|
980
|
+
// core/state/modal/modal.store.ts
|
|
1021
981
|
import { create } from "zustand";
|
|
1022
982
|
import { devtools } from "zustand/middleware";
|
|
1023
|
-
var
|
|
1024
|
-
var useToastStore = create()(
|
|
983
|
+
var useModalStore = create()(
|
|
1025
984
|
devtools(
|
|
1026
|
-
(set, get) => ({
|
|
1027
|
-
toasts: [],
|
|
1028
|
-
addToast: (message, type = "error") => {
|
|
1029
|
-
const id = ++toastId;
|
|
1030
|
-
set(
|
|
1031
|
-
(s) => ({ toasts: [...s.toasts, { id, message, type }] }),
|
|
1032
|
-
false,
|
|
1033
|
-
"addToast"
|
|
1034
|
-
);
|
|
1035
|
-
return id;
|
|
1036
|
-
},
|
|
1037
|
-
removeToast: (id) => set(
|
|
1038
|
-
(s) => ({ toasts: s.toasts.filter((t) => t.id !== id) }),
|
|
1039
|
-
false,
|
|
1040
|
-
"removeToast"
|
|
1041
|
-
),
|
|
1042
|
-
success: (message) => get().addToast(message, "success"),
|
|
1043
|
-
error: (message) => get().addToast(message, "error"),
|
|
1044
|
-
info: (message) => get().addToast(message, "info"),
|
|
1045
|
-
warning: (message) => get().addToast(message, "warning")
|
|
1046
|
-
}),
|
|
1047
|
-
{ name: "zljs", store: "toast" }
|
|
1048
|
-
)
|
|
1049
|
-
);
|
|
1050
|
-
|
|
1051
|
-
// core/toaster/toaster.tsx
|
|
1052
|
-
import { jsx as jsx16 } from "react/jsx-runtime";
|
|
1053
|
-
var Toaster = () => {
|
|
1054
|
-
const toasts = useToastStore((s) => s.toasts);
|
|
1055
|
-
const removeToast = useToastStore((s) => s.removeToast);
|
|
1056
|
-
useEffect(() => {
|
|
1057
|
-
toasts.forEach((t) => {
|
|
1058
|
-
toast[t.type](t.message, {
|
|
1059
|
-
id: t.id,
|
|
1060
|
-
onDismiss: () => removeToast(t.id)
|
|
1061
|
-
});
|
|
1062
|
-
removeToast(t.id);
|
|
1063
|
-
});
|
|
1064
|
-
}, [toasts, removeToast]);
|
|
1065
|
-
return /* @__PURE__ */ jsx16(
|
|
1066
|
-
SonnerToaster,
|
|
1067
|
-
{
|
|
1068
|
-
position: "bottom-right",
|
|
1069
|
-
richColors: true,
|
|
1070
|
-
closeButton: true,
|
|
1071
|
-
duration: 4e3,
|
|
1072
|
-
expand: true,
|
|
1073
|
-
visibleToasts: 5
|
|
1074
|
-
}
|
|
1075
|
-
);
|
|
1076
|
-
};
|
|
1077
|
-
|
|
1078
|
-
// core/toaster/index.ts
|
|
1079
|
-
import { toast as toast2 } from "sonner";
|
|
1080
|
-
|
|
1081
|
-
// core/index.ts
|
|
1082
|
-
import { toast as toast3 } from "sonner";
|
|
1083
|
-
|
|
1084
|
-
// core/state/app/app.store.ts
|
|
1085
|
-
import { create as create2 } from "zustand";
|
|
1086
|
-
import { devtools as devtools2 } from "zustand/middleware";
|
|
1087
|
-
var useAppStore = create2()(
|
|
1088
|
-
devtools2(
|
|
1089
|
-
(set) => ({
|
|
1090
|
-
fetchingCalls: 0,
|
|
1091
|
-
fetching: false,
|
|
1092
|
-
startFetching: () => set(
|
|
1093
|
-
(s) => {
|
|
1094
|
-
const fetchingCalls = s.fetchingCalls + 1;
|
|
1095
|
-
return { fetchingCalls, fetching: true };
|
|
1096
|
-
},
|
|
1097
|
-
false,
|
|
1098
|
-
"startFetching"
|
|
1099
|
-
),
|
|
1100
|
-
finishFetching: () => set(
|
|
1101
|
-
(s) => {
|
|
1102
|
-
const fetchingCalls = Math.max(0, s.fetchingCalls - 1);
|
|
1103
|
-
return { fetchingCalls, fetching: fetchingCalls > 0 };
|
|
1104
|
-
},
|
|
1105
|
-
false,
|
|
1106
|
-
"finishFetching"
|
|
1107
|
-
)
|
|
1108
|
-
}),
|
|
1109
|
-
{ name: "zljs", store: "app" }
|
|
1110
|
-
)
|
|
1111
|
-
);
|
|
1112
|
-
|
|
1113
|
-
// core/state/modal/modal.store.ts
|
|
1114
|
-
import { create as create3 } from "zustand";
|
|
1115
|
-
import { devtools as devtools3 } from "zustand/middleware";
|
|
1116
|
-
var useModalStore = create3()(
|
|
1117
|
-
devtools3(
|
|
1118
985
|
(set, get) => ({
|
|
1119
986
|
modals: [],
|
|
1120
987
|
openModal: (name) => set((s) => ({ modals: [...s.modals, { name }] }), false, "openModal"),
|
|
@@ -1135,148 +1002,8 @@ var useModalStore = create3()(
|
|
|
1135
1002
|
)
|
|
1136
1003
|
);
|
|
1137
1004
|
|
|
1138
|
-
// core/redux/redux-provider/redux-provider.tsx
|
|
1139
|
-
import { Provider } from "react-redux";
|
|
1140
|
-
|
|
1141
|
-
// core/redux/store/store.ts
|
|
1142
|
-
import {
|
|
1143
|
-
combineReducers,
|
|
1144
|
-
configureStore
|
|
1145
|
-
} from "@reduxjs/toolkit";
|
|
1146
|
-
var store;
|
|
1147
|
-
var persistentReducers = {};
|
|
1148
|
-
var dynamicReducers = {};
|
|
1149
|
-
var createReducer = (coreReducers) => combineReducers({
|
|
1150
|
-
...dynamicReducers,
|
|
1151
|
-
...persistentReducers,
|
|
1152
|
-
...coreReducers
|
|
1153
|
-
});
|
|
1154
|
-
var getReduxStore = ({
|
|
1155
|
-
reducers,
|
|
1156
|
-
middlewares,
|
|
1157
|
-
preloadedState,
|
|
1158
|
-
coreReducers
|
|
1159
|
-
}) => {
|
|
1160
|
-
persistentReducers = reducers;
|
|
1161
|
-
if (!store) {
|
|
1162
|
-
store = configureStore({
|
|
1163
|
-
reducer: createReducer(coreReducers),
|
|
1164
|
-
middleware: (getDefaultMiddleware) => getDefaultMiddleware().concat(middlewares),
|
|
1165
|
-
preloadedState
|
|
1166
|
-
});
|
|
1167
|
-
store.setDynamicReducers = (newDynamicReducers = {}) => {
|
|
1168
|
-
dynamicReducers = newDynamicReducers;
|
|
1169
|
-
store.replaceReducer(createReducer(coreReducers));
|
|
1170
|
-
};
|
|
1171
|
-
} else {
|
|
1172
|
-
store.replaceReducer(createReducer(coreReducers));
|
|
1173
|
-
}
|
|
1174
|
-
return store;
|
|
1175
|
-
};
|
|
1176
|
-
|
|
1177
|
-
// core/redux/redux-provider/redux-provider.tsx
|
|
1178
|
-
import { jsx as jsx17 } from "react/jsx-runtime";
|
|
1179
|
-
var ReduxProvider = ({
|
|
1180
|
-
children,
|
|
1181
|
-
reducers = {},
|
|
1182
|
-
middlewares = [],
|
|
1183
|
-
preloadedState = {},
|
|
1184
|
-
coreReducers = {}
|
|
1185
|
-
}) => {
|
|
1186
|
-
const store2 = getReduxStore({
|
|
1187
|
-
reducers,
|
|
1188
|
-
middlewares,
|
|
1189
|
-
preloadedState,
|
|
1190
|
-
coreReducers
|
|
1191
|
-
});
|
|
1192
|
-
return /* @__PURE__ */ jsx17(Provider, { store: store2, children });
|
|
1193
|
-
};
|
|
1194
|
-
|
|
1195
|
-
// core/state/router/router.store.ts
|
|
1196
|
-
import { create as create4 } from "zustand";
|
|
1197
|
-
import { devtools as devtools4 } from "zustand/middleware";
|
|
1198
|
-
|
|
1199
|
-
// core/state/router/router.utils.ts
|
|
1200
|
-
var splitURLasPath = (urlAsPath) => {
|
|
1201
|
-
let queryWithoutPath = "";
|
|
1202
|
-
if (urlAsPath?.indexOf("?") >= 0) {
|
|
1203
|
-
const [, query] = urlAsPath.split("?");
|
|
1204
|
-
queryWithoutPath = query ?? "";
|
|
1205
|
-
}
|
|
1206
|
-
if (urlAsPath?.indexOf("#") >= 0) {
|
|
1207
|
-
const [, query] = urlAsPath.split("#");
|
|
1208
|
-
queryWithoutPath = query ?? "";
|
|
1209
|
-
}
|
|
1210
|
-
const parametersAsObject = {};
|
|
1211
|
-
if (queryWithoutPath.length > 0) {
|
|
1212
|
-
queryWithoutPath.split("&").forEach((p) => {
|
|
1213
|
-
const [parameter, value] = p.split("=");
|
|
1214
|
-
if (parameter) {
|
|
1215
|
-
parametersAsObject[parameter] = value ?? "";
|
|
1216
|
-
}
|
|
1217
|
-
});
|
|
1218
|
-
}
|
|
1219
|
-
return parametersAsObject;
|
|
1220
|
-
};
|
|
1221
|
-
|
|
1222
|
-
// core/state/router/router.store.ts
|
|
1223
|
-
var useRouterStore = create4()(
|
|
1224
|
-
devtools4(
|
|
1225
|
-
(set) => ({
|
|
1226
|
-
urlAsPath: "/",
|
|
1227
|
-
query: {},
|
|
1228
|
-
setRoute: (urlAsPath) => set({ urlAsPath, query: splitURLasPath(urlAsPath) }, false, "setRoute")
|
|
1229
|
-
}),
|
|
1230
|
-
{ name: "zljs", store: "router" }
|
|
1231
|
-
)
|
|
1232
|
-
);
|
|
1233
|
-
|
|
1234
|
-
// core/state/page/page.store.ts
|
|
1235
|
-
import { create as create5 } from "zustand";
|
|
1236
|
-
import { devtools as devtools5 } from "zustand/middleware";
|
|
1237
|
-
var usePageStore = create5()(
|
|
1238
|
-
devtools5(
|
|
1239
|
-
(set) => ({
|
|
1240
|
-
title: "",
|
|
1241
|
-
setTitle: (title2) => set({ title: title2 }, false, "setTitle")
|
|
1242
|
-
}),
|
|
1243
|
-
{ name: "zljs", store: "page" }
|
|
1244
|
-
)
|
|
1245
|
-
);
|
|
1246
|
-
|
|
1247
|
-
// core/page-wrapper/page-wrapper.tsx
|
|
1248
|
-
import { useEffect as useEffect2 } from "react";
|
|
1249
|
-
import { useDispatch, useStore } from "react-redux";
|
|
1250
|
-
import { useRouter } from "next/compat/router.js";
|
|
1251
|
-
import { Fragment as Fragment4, jsx as jsx18 } from "react/jsx-runtime";
|
|
1252
|
-
var PageWrapper = ({
|
|
1253
|
-
reducers,
|
|
1254
|
-
title: title2,
|
|
1255
|
-
initPage,
|
|
1256
|
-
children
|
|
1257
|
-
}) => {
|
|
1258
|
-
const store2 = useStore();
|
|
1259
|
-
const dispatch = useDispatch();
|
|
1260
|
-
const router = useRouter();
|
|
1261
|
-
const setTitle = usePageStore((s) => s.setTitle);
|
|
1262
|
-
useEffect2(() => {
|
|
1263
|
-
if (reducers) {
|
|
1264
|
-
store2.setDynamicReducers?.(reducers);
|
|
1265
|
-
}
|
|
1266
|
-
}, [reducers]);
|
|
1267
|
-
useEffect2(() => {
|
|
1268
|
-
setTitle(title2);
|
|
1269
|
-
}, [router?.asPath, title2, setTitle]);
|
|
1270
|
-
useEffect2(() => {
|
|
1271
|
-
if (initPage) {
|
|
1272
|
-
initPage(dispatch);
|
|
1273
|
-
}
|
|
1274
|
-
}, []);
|
|
1275
|
-
return /* @__PURE__ */ jsx18(Fragment4, { children });
|
|
1276
|
-
};
|
|
1277
|
-
|
|
1278
1005
|
// core/connected-modal/connected-modal.tsx
|
|
1279
|
-
import { jsx as
|
|
1006
|
+
import { jsx as jsx15 } from "react/jsx-runtime";
|
|
1280
1007
|
var ConnectedModal = ({
|
|
1281
1008
|
modalId,
|
|
1282
1009
|
title: title2,
|
|
@@ -1286,7 +1013,7 @@ var ConnectedModal = ({
|
|
|
1286
1013
|
}) => {
|
|
1287
1014
|
const isOpen = useModalStore((s) => s.isOpen(modalId));
|
|
1288
1015
|
const closeModal = useModalStore((s) => s.closeModal);
|
|
1289
|
-
return /* @__PURE__ */
|
|
1016
|
+
return /* @__PURE__ */ jsx15(
|
|
1290
1017
|
Modal,
|
|
1291
1018
|
{
|
|
1292
1019
|
open: isOpen,
|
|
@@ -1299,80 +1026,6 @@ var ConnectedModal = ({
|
|
|
1299
1026
|
);
|
|
1300
1027
|
};
|
|
1301
1028
|
|
|
1302
|
-
// core/spinner/spinner.const.ts
|
|
1303
|
-
var spinnerIcons = {
|
|
1304
|
-
circle: "LoaderCircle",
|
|
1305
|
-
dots: "Loader",
|
|
1306
|
-
refresh: "RefreshCw"
|
|
1307
|
-
};
|
|
1308
|
-
|
|
1309
|
-
// core/spinner/spinner.styles.ts
|
|
1310
|
-
import { tv as tv12 } from "tailwind-variants";
|
|
1311
|
-
var spinner = tv12({
|
|
1312
|
-
base: "inline-flex animate-spin text-white"
|
|
1313
|
-
});
|
|
1314
|
-
|
|
1315
|
-
// core/spinner/spinner.tsx
|
|
1316
|
-
import { jsx as jsx20 } from "react/jsx-runtime";
|
|
1317
|
-
var Spinner = ({ variant = "circle", size = "md" }) => /* @__PURE__ */ jsx20("span", { "data-testid": "spinner", className: spinner(), children: /* @__PURE__ */ jsx20(Icon, { name: spinnerIcons[variant], size }) });
|
|
1318
|
-
|
|
1319
|
-
// core/loader/loader.styles.ts
|
|
1320
|
-
import { tv as tv13 } from "tailwind-variants";
|
|
1321
|
-
var overlay2 = tv13({
|
|
1322
|
-
base: "flex fixed justify-center items-center w-full h-full bg-black/20 z-50"
|
|
1323
|
-
});
|
|
1324
|
-
|
|
1325
|
-
// core/loader/loader.tsx
|
|
1326
|
-
import { jsx as jsx21 } from "react/jsx-runtime";
|
|
1327
|
-
var Loader = ({ label: label5 = "Loading" }) => {
|
|
1328
|
-
const fetching = useAppStore((s) => s.fetching);
|
|
1329
|
-
if (!fetching) return null;
|
|
1330
|
-
return /* @__PURE__ */ jsx21("div", { role: "status", "aria-label": label5, className: overlay2(), children: /* @__PURE__ */ jsx21(Spinner, { size: "lg" }) });
|
|
1331
|
-
};
|
|
1332
|
-
|
|
1333
|
-
// core/app-wrapper/app-wrapper.tsx
|
|
1334
|
-
import { useEffect as useEffect3 } from "react";
|
|
1335
|
-
import { useRouter as useRouter2 } from "next/compat/router.js";
|
|
1336
|
-
import { SessionProvider } from "next-auth/react";
|
|
1337
|
-
import { jsx as jsx22, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
1338
|
-
var AppWrapper = ({
|
|
1339
|
-
children,
|
|
1340
|
-
reducers,
|
|
1341
|
-
middlewares,
|
|
1342
|
-
coreReducers
|
|
1343
|
-
}) => {
|
|
1344
|
-
const router = useRouter2();
|
|
1345
|
-
const setRoute = useRouterStore((s) => s.setRoute);
|
|
1346
|
-
useEffect3(() => {
|
|
1347
|
-
if (router?.isReady && router.asPath) {
|
|
1348
|
-
setRoute(router.asPath);
|
|
1349
|
-
}
|
|
1350
|
-
}, [router?.isReady, router?.asPath, setRoute]);
|
|
1351
|
-
return /* @__PURE__ */ jsx22(SessionProvider, { children: /* @__PURE__ */ jsxs13(
|
|
1352
|
-
ReduxProvider,
|
|
1353
|
-
{
|
|
1354
|
-
reducers,
|
|
1355
|
-
middlewares,
|
|
1356
|
-
coreReducers,
|
|
1357
|
-
children: [
|
|
1358
|
-
/* @__PURE__ */ jsx22(Loader, {}),
|
|
1359
|
-
/* @__PURE__ */ jsx22(Toaster, {}),
|
|
1360
|
-
children
|
|
1361
|
-
]
|
|
1362
|
-
}
|
|
1363
|
-
) });
|
|
1364
|
-
};
|
|
1365
|
-
|
|
1366
|
-
// core/document-wrapper/document-wrapper.tsx
|
|
1367
|
-
import { jsx as jsx23 } from "react/jsx-runtime";
|
|
1368
|
-
var DocumentWrapper = ({
|
|
1369
|
-
children,
|
|
1370
|
-
lang = "pt-BR",
|
|
1371
|
-
className
|
|
1372
|
-
}) => {
|
|
1373
|
-
return /* @__PURE__ */ jsx23("html", { lang, children: /* @__PURE__ */ jsx23("body", { className, children }) });
|
|
1374
|
-
};
|
|
1375
|
-
|
|
1376
1029
|
// core/http/http.client.ts
|
|
1377
1030
|
import axios from "axios";
|
|
1378
1031
|
var HTTPClient = class {
|
|
@@ -1445,12 +1098,10 @@ var HTTPClient = class {
|
|
|
1445
1098
|
}
|
|
1446
1099
|
};
|
|
1447
1100
|
export {
|
|
1448
|
-
AppWrapper,
|
|
1449
1101
|
Button,
|
|
1450
1102
|
Checkbox,
|
|
1451
1103
|
ConnectedModal,
|
|
1452
1104
|
DataGrid,
|
|
1453
|
-
DocumentWrapper,
|
|
1454
1105
|
Error,
|
|
1455
1106
|
Form,
|
|
1456
1107
|
FormInput,
|
|
@@ -1461,7 +1112,6 @@ export {
|
|
|
1461
1112
|
Input,
|
|
1462
1113
|
Loader,
|
|
1463
1114
|
Modal,
|
|
1464
|
-
PageWrapper,
|
|
1465
1115
|
Radio,
|
|
1466
1116
|
ReduxProvider,
|
|
1467
1117
|
Select,
|
|
@@ -1474,7 +1124,7 @@ export {
|
|
|
1474
1124
|
Toaster,
|
|
1475
1125
|
WhatsAppButton,
|
|
1476
1126
|
splitURLasPath,
|
|
1477
|
-
|
|
1127
|
+
toast,
|
|
1478
1128
|
useAppStore,
|
|
1479
1129
|
useModalStore,
|
|
1480
1130
|
usePageStore,
|