@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/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
- semanticTextColors
6
- } from "./chunk-CXA5QIHP.js";
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 as tv2 } from "tailwind-variants";
64
- var button = tv2({
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 as Fragment2, jsx as jsx2, jsxs } from "react/jsx-runtime";
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: icon2,
136
+ icon,
176
137
  iconPosition = "left",
177
138
  disabled = false,
178
139
  "aria-label": ariaLabel,
179
140
  onClick
180
141
  }) => {
181
- const isIconOnly = icon2 && !children;
142
+ const isIconOnly = icon && !children;
182
143
  const variant = variantProp ?? (isIconOnly ? "icon" : "default");
183
144
  const renderContent = () => {
184
- if (!icon2) {
145
+ if (!icon) {
185
146
  return children;
186
147
  }
187
- const iconElement = /* @__PURE__ */ jsx2(Icon, { name: icon2, size });
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(Fragment2, { children: [
152
+ return iconPosition === "left" ? /* @__PURE__ */ jsxs(Fragment, { children: [
192
153
  iconElement,
193
154
  children
194
- ] }) : /* @__PURE__ */ jsxs(Fragment2, { children: [
155
+ ] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
195
156
  children,
196
157
  iconElement
197
158
  ] });
198
159
  };
199
- return /* @__PURE__ */ jsx2(
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 tv3 } from "tailwind-variants";
234
- var wrapper = tv3({
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 = tv3({
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 = tv3({
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 = tv3({
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 jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
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__ */ jsx3(
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__ */ jsx3("span", { className: label(), children: labelText })
257
+ /* @__PURE__ */ jsx2("span", { className: label(), children: labelText })
297
258
  ] }),
298
- error && /* @__PURE__ */ jsx3(Error, { id: errorId, message: error })
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 tv4 } from "tailwind-variants";
304
- var fieldset = tv4({
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 jsx4 } from "react/jsx-runtime";
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__ */ jsx4("form", { onSubmit: handleSubmit, children: /* @__PURE__ */ jsx4("fieldset", { disabled, className: fieldset(), children }) });
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 tv5 } from "tailwind-variants";
323
- var wrapper2 = tv5({
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 = tv5({
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 = tv5({
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 jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
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__ */ jsx5(
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__ */ jsx5("span", { className: label2(), children: labelText })
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 tv6 } from "tailwind-variants";
377
- var wrapper3 = tv6({
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 = tv6({
341
+ var label3 = tv5({
381
342
  base: "text-sm font-medium text-gray-700"
382
343
  });
383
- var select = tv6({
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 jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
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__ */ jsx6("label", { htmlFor: id, className: label3(), children: labelText }),
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__ */ jsx6("option", { value: "", disabled: true, children: placeholder }),
429
- options.map((option) => /* @__PURE__ */ jsx6("option", { value: option.value, children: option.label }, option.value))
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__ */ jsx6(Error, { id: errorId, message: error })
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 tv7 } from "tailwind-variants";
442
- var wrapper4 = tv7({
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 = tv7({
406
+ var label4 = tv6({
446
407
  base: "text-sm font-medium text-gray-700"
447
408
  });
448
- var textarea = tv7({
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 jsx7, jsxs as jsxs5 } from "react/jsx-runtime";
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__ */ jsx7("label", { htmlFor: id, className: label4(), children: labelText }),
474
- /* @__PURE__ */ jsx7(
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__ */ jsx7(Error, { id: errorId, message: error })
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 jsx8, jsxs as jsxs6 } from "react/jsx-runtime";
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__ */ jsx8(
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__ */ jsx8(Button, { icon: "Search", color: "primary", onClick: handleSearch, children: "Buscar" }),
532
- /* @__PURE__ */ jsx8(Button, { icon: "X", color: "danger", onClick: handleClear, children: "Limpar" })
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 tv8 } from "tailwind-variants";
540
- var tag = tv8({
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 jsx9, jsxs as jsxs7 } from "react/jsx-runtime";
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__ */ jsx9(Button, { size: "sm", icon: "X", "aria-label": "Remover", onClick: onRemove })
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 Fragment3, jsx as jsx10, jsxs as jsxs8 } from "react/jsx-runtime";
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__ */ jsx10("span", { className: "font-medium", children: isFiltered ? /* @__PURE__ */ jsxs8(Fragment3, { children: [
591
- /* @__PURE__ */ jsx10("span", { className: "text-blue-600", children: displayedRows }),
592
- /* @__PURE__ */ jsx10("span", { className: "text-slate-400", children: " / " }),
593
- /* @__PURE__ */ jsx10("span", { children: totalRows }),
594
- /* @__PURE__ */ jsx10("span", { className: "text-slate-500 ml-1", children: "registros" })
595
- ] }) : /* @__PURE__ */ jsxs8(Fragment3, { children: [
596
- /* @__PURE__ */ jsx10("span", { children: totalRows }),
597
- /* @__PURE__ */ jsx10("span", { className: "text-slate-500 ml-1", children: "registros" })
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(Fragment3, { children: [
600
- /* @__PURE__ */ jsx10("span", { className: "text-slate-300", children: "|" }),
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__ */ jsx10("span", { className: "text-slate-500", children: "Filtros:" }),
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__ */ jsx10("span", { children: filter.value })
574
+ /* @__PURE__ */ jsx9("span", { children: filter.value })
614
575
  ]
615
576
  },
616
577
  filter.column
617
578
  )),
618
- /* @__PURE__ */ jsx10(Button, { variant: "link", color: "none", onClick: handleClearAllFilters, children: "Limpar todos" })
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 jsx11, jsxs as jsxs9 } from "react/jsx-runtime";
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__ */ jsx11(DataGridToolbar, { gridApi }),
707
- /* @__PURE__ */ jsx11(
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__ */ jsx11("div", { className: "ag-grid h-full w-full z-0", children: /* @__PURE__ */ jsx11(
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 tv9 } from "tailwind-variants";
741
- var statsCard = tv9({
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 jsx12, jsxs as jsxs10 } from "react/jsx-runtime";
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__ */ jsx12(Text, { variant: "caption", children: label5 }),
760
- /* @__PURE__ */ jsx12(Text, { variant: "display", children: value })
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 tv10 } from "tailwind-variants";
769
- var overlay = tv10({
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 = tv10({
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 = tv10({
748
+ var header = tv9({
788
749
  base: "flex items-start justify-between"
789
750
  });
790
- var title = tv10({
751
+ var title = tv9({
791
752
  base: "text-lg font-semibold text-gray-900 m-0"
792
753
  });
793
- var description = tv10({
754
+ var description = tv9({
794
755
  base: "text-sm text-gray-600 mt-2"
795
756
  });
796
- var body = tv10({
757
+ var body = tv9({
797
758
  base: "mt-4"
798
759
  });
799
760
 
800
761
  // core/modal/modal.tsx
801
- import { jsx as jsx13, jsxs as jsxs11 } from "react/jsx-runtime";
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__ */ jsx13(Dialog.Root, { open, onOpenChange: (isOpen) => !isOpen && onClose(), children: /* @__PURE__ */ jsxs11(Dialog.Portal, { children: [
811
- /* @__PURE__ */ jsx13(Dialog.Overlay, { className: overlay() }),
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__ */ jsx13(Dialog.Title, { className: title(), children: title2 }),
820
- /* @__PURE__ */ jsx13(Button, { icon: "X", "aria-label": "Close", onClick: onClose })
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__ */ jsx13(Dialog.Description, { className: description(), children: description2 }),
823
- children && /* @__PURE__ */ jsx13("div", { className: body(), children })
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 jsx14 } from "react/jsx-runtime";
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__ */ jsx14(Button, { color: "success", icon: "SiWhatsapp", onClick: handleClick, children });
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 tv11 } from "tailwind-variants";
870
- var sidebar = tv11({
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 = tv11({
843
+ var nav = tv10({
883
844
  base: "flex-1 min-h-0 overflow-y-auto overflow-x-hidden"
884
845
  });
885
- var header2 = tv11({
846
+ var header2 = tv10({
886
847
  base: "shrink-0 border-b border-neutral-600/50 grid p-2"
887
848
  });
888
- var section = tv11({
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 = tv11({
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 = tv11({
864
+ var itemIcon = tv10({
904
865
  base: "p-2"
905
866
  });
906
- var itemLabel = tv11({
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 = tv11({
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 = tv11({
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 = tv11({
885
+ var userInfo = tv10({
925
886
  base: "flex flex-col min-w-0"
926
887
  });
927
- var userName = tv11({
888
+ var userName = tv10({
928
889
  base: "text-sm text-white truncate"
929
890
  });
930
- var userEmail = tv11({
891
+ var userEmail = tv10({
931
892
  base: "text-xs text-neutral-400"
932
893
  });
933
- var toggleButton = tv11({
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 jsx15, jsxs as jsxs12 } from "react/jsx-runtime";
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__ */ jsx15(
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__ */ jsx15("span", { className: itemIcon(), children: /* @__PURE__ */ jsx15(Icon, { name: "Home" }) }),
967
- /* @__PURE__ */ jsx15("span", { className: itemLabel({ collapsed }), children: homeLabel })
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__ */ jsx15("nav", { "aria-label": "Main navigation", className: nav(), children: sections.map((sectionData, i) => /* @__PURE__ */ jsx15("div", { className: section(), children: sectionData.items.map((sidebarItem) => {
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__ */ jsx15("span", { className: itemIcon(), children: /* @__PURE__ */ jsx15(Icon, { name: sidebarItem.icon }) }),
981
- /* @__PURE__ */ jsx15("span", { className: itemLabel({ collapsed }), children: sidebarItem.label })
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__ */ jsx15("div", { className: avatar(), children: initials }),
949
+ /* @__PURE__ */ jsx14("div", { className: avatar(), children: initials }),
989
950
  /* @__PURE__ */ jsxs12("div", { className: userInfo(), children: [
990
- /* @__PURE__ */ jsx15("span", { className: userName(), children: user.name }),
991
- /* @__PURE__ */ jsx15("span", { className: userEmail(), children: user.email })
951
+ /* @__PURE__ */ jsx14("span", { className: userName(), children: user.name }),
952
+ /* @__PURE__ */ jsx14("span", { className: userEmail(), children: user.email })
992
953
  ] }),
993
- /* @__PURE__ */ jsx15(
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__ */ jsx15("div", { className: toggleButton(), children: /* @__PURE__ */ jsx15(
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/toaster/toaster.tsx
1017
- import { useEffect } from "react";
1018
- import { Toaster as SonnerToaster, toast } from "sonner";
977
+ // core/index.ts
978
+ import { toast } from "sonner";
1019
979
 
1020
- // core/state/toast/toast.store.ts
980
+ // core/state/modal/modal.store.ts
1021
981
  import { create } from "zustand";
1022
982
  import { devtools } from "zustand/middleware";
1023
- var toastId = 0;
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 jsx19 } from "react/jsx-runtime";
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__ */ jsx19(
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
- toast3 as toast,
1127
+ toast,
1478
1128
  useAppStore,
1479
1129
  useModalStore,
1480
1130
  usePageStore,