@bigtablet/design-system 1.14.0 → 1.14.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/dist/index.css +199 -199
- package/dist/index.js +86 -126
- package/dist/next.css +22 -22
- package/dist/next.js +23 -26
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -8,8 +8,7 @@ import { ToastContainer, Slide, toast } from 'react-toastify';
|
|
|
8
8
|
import 'react-toastify/dist/ReactToastify.css';
|
|
9
9
|
import { ChevronDown, Check } from 'lucide-react';
|
|
10
10
|
|
|
11
|
-
// src/ui/display/card/
|
|
12
|
-
var style_module_default = {};
|
|
11
|
+
// src/ui/display/card/index.tsx
|
|
13
12
|
var Card = ({
|
|
14
13
|
heading,
|
|
15
14
|
shadow = "sm",
|
|
@@ -20,20 +19,17 @@ var Card = ({
|
|
|
20
19
|
...props
|
|
21
20
|
}) => {
|
|
22
21
|
const cls = [
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
bordered &&
|
|
22
|
+
"card",
|
|
23
|
+
`card_shadow_${shadow}`,
|
|
24
|
+
`card_p_${padding}`,
|
|
25
|
+
bordered && "card_bordered",
|
|
27
26
|
className ?? ""
|
|
28
27
|
].filter(Boolean).join(" ");
|
|
29
28
|
return /* @__PURE__ */ jsxs("div", { className: cls, ...props, children: [
|
|
30
|
-
heading ? /* @__PURE__ */ jsx("div", { className:
|
|
31
|
-
/* @__PURE__ */ jsx("div", { className:
|
|
29
|
+
heading ? /* @__PURE__ */ jsx("div", { className: "card_title", children: heading }) : null,
|
|
30
|
+
/* @__PURE__ */ jsx("div", { className: "card_body", children })
|
|
32
31
|
] });
|
|
33
32
|
};
|
|
34
|
-
|
|
35
|
-
// src/ui/feedback/alert/style.module.scss
|
|
36
|
-
var style_module_default2 = {};
|
|
37
33
|
var AlertContext = createContext(null);
|
|
38
34
|
var useAlert = () => {
|
|
39
35
|
const context = useContext(AlertContext);
|
|
@@ -94,14 +90,14 @@ var AlertModal = ({
|
|
|
94
90
|
onClose
|
|
95
91
|
}) => {
|
|
96
92
|
const modalClassName = [
|
|
97
|
-
|
|
98
|
-
|
|
93
|
+
"alert_modal",
|
|
94
|
+
`alert_variant_${variant}`
|
|
99
95
|
].filter(Boolean).join(" ");
|
|
100
96
|
const actionsClassName = [
|
|
101
|
-
|
|
102
|
-
|
|
97
|
+
"alert_actions",
|
|
98
|
+
`alert_actions_${actionsAlign}`
|
|
103
99
|
].filter(Boolean).join(" ");
|
|
104
|
-
return /* @__PURE__ */ jsx("div", { className:
|
|
100
|
+
return /* @__PURE__ */ jsx("div", { className: "alert_overlay", onClick: onClose, children: /* @__PURE__ */ jsxs(
|
|
105
101
|
"div",
|
|
106
102
|
{
|
|
107
103
|
className: modalClassName,
|
|
@@ -111,14 +107,14 @@ var AlertModal = ({
|
|
|
111
107
|
"aria-labelledby": "alert_title",
|
|
112
108
|
"aria-describedby": "alert_message",
|
|
113
109
|
children: [
|
|
114
|
-
title && /* @__PURE__ */ jsx("div", { className:
|
|
115
|
-
message && /* @__PURE__ */ jsx("div", { className:
|
|
110
|
+
title && /* @__PURE__ */ jsx("div", { className: "alert_title", id: "alert_title", children: title }),
|
|
111
|
+
message && /* @__PURE__ */ jsx("div", { className: "alert_message", id: "alert_message", children: message }),
|
|
116
112
|
/* @__PURE__ */ jsxs("div", { className: actionsClassName, children: [
|
|
117
113
|
showCancel && /* @__PURE__ */ jsx(
|
|
118
114
|
"button",
|
|
119
115
|
{
|
|
120
116
|
type: "button",
|
|
121
|
-
className:
|
|
117
|
+
className: "alert_button alert_button_cancel",
|
|
122
118
|
onClick: onCancel,
|
|
123
119
|
children: cancelText
|
|
124
120
|
}
|
|
@@ -127,7 +123,7 @@ var AlertModal = ({
|
|
|
127
123
|
"button",
|
|
128
124
|
{
|
|
129
125
|
type: "button",
|
|
130
|
-
className:
|
|
126
|
+
className: "alert_button alert_button_confirm",
|
|
131
127
|
onClick: onConfirm,
|
|
132
128
|
children: confirmText
|
|
133
129
|
}
|
|
@@ -137,23 +133,17 @@ var AlertModal = ({
|
|
|
137
133
|
}
|
|
138
134
|
) });
|
|
139
135
|
};
|
|
140
|
-
|
|
141
|
-
// src/ui/feedback/spinner/style.module.scss
|
|
142
|
-
var style_module_default3 = {};
|
|
143
136
|
var Spinner = ({ size = 24 }) => {
|
|
144
137
|
return /* @__PURE__ */ jsx(
|
|
145
138
|
"span",
|
|
146
139
|
{
|
|
147
|
-
className:
|
|
140
|
+
className: "spinner",
|
|
148
141
|
style: { width: size, height: size },
|
|
149
142
|
role: "status",
|
|
150
143
|
"aria-label": "\uB85C\uB529 \uC911"
|
|
151
144
|
}
|
|
152
145
|
);
|
|
153
146
|
};
|
|
154
|
-
|
|
155
|
-
// src/ui/feedback/top-loading/style.module.scss
|
|
156
|
-
var style_module_default4 = {};
|
|
157
147
|
var TopLoading = ({
|
|
158
148
|
progress,
|
|
159
149
|
color,
|
|
@@ -165,7 +155,7 @@ var TopLoading = ({
|
|
|
165
155
|
return /* @__PURE__ */ jsx(
|
|
166
156
|
"div",
|
|
167
157
|
{
|
|
168
|
-
className:
|
|
158
|
+
className: "top_loading",
|
|
169
159
|
style: { height },
|
|
170
160
|
role: "progressbar",
|
|
171
161
|
"aria-valuemin": 0,
|
|
@@ -176,8 +166,8 @@ var TopLoading = ({
|
|
|
176
166
|
"div",
|
|
177
167
|
{
|
|
178
168
|
className: [
|
|
179
|
-
|
|
180
|
-
isIndeterminate &&
|
|
169
|
+
"top_loading_bar",
|
|
170
|
+
isIndeterminate && "top_loading_indeterminate"
|
|
181
171
|
].filter(Boolean).join(" "),
|
|
182
172
|
style: {
|
|
183
173
|
width: isIndeterminate ? void 0 : `${progress}%`,
|
|
@@ -217,9 +207,6 @@ var useToast = (containerId = "default") => {
|
|
|
217
207
|
message: (msg) => toast(msg, base)
|
|
218
208
|
};
|
|
219
209
|
};
|
|
220
|
-
|
|
221
|
-
// src/ui/general/button/style.module.scss
|
|
222
|
-
var style_module_default5 = {};
|
|
223
210
|
var Button = ({
|
|
224
211
|
variant = "primary",
|
|
225
212
|
size = "md",
|
|
@@ -228,16 +215,13 @@ var Button = ({
|
|
|
228
215
|
...props
|
|
229
216
|
}) => {
|
|
230
217
|
const buttonClassName = [
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
218
|
+
"button",
|
|
219
|
+
`button_variant_${variant}`,
|
|
220
|
+
`button_size_${size}`,
|
|
234
221
|
className ?? ""
|
|
235
222
|
].filter(Boolean).join(" ");
|
|
236
223
|
return /* @__PURE__ */ jsx("button", { className: buttonClassName, style: { width }, ...props });
|
|
237
224
|
};
|
|
238
|
-
|
|
239
|
-
// src/ui/form/checkbox/style.module.scss
|
|
240
|
-
var style_module_default6 = {};
|
|
241
225
|
var Checkbox = ({
|
|
242
226
|
label,
|
|
243
227
|
size = "md",
|
|
@@ -251,8 +235,8 @@ var Checkbox = ({
|
|
|
251
235
|
inputRef.current.indeterminate = Boolean(indeterminate);
|
|
252
236
|
}, [indeterminate]);
|
|
253
237
|
const rootClassName = [
|
|
254
|
-
|
|
255
|
-
|
|
238
|
+
"checkbox",
|
|
239
|
+
`checkbox_size_${size}`,
|
|
256
240
|
className ?? ""
|
|
257
241
|
].filter(Boolean).join(" ");
|
|
258
242
|
return /* @__PURE__ */ jsxs("label", { className: rootClassName, children: [
|
|
@@ -261,17 +245,14 @@ var Checkbox = ({
|
|
|
261
245
|
{
|
|
262
246
|
ref: inputRef,
|
|
263
247
|
type: "checkbox",
|
|
264
|
-
className:
|
|
248
|
+
className: "checkbox_input",
|
|
265
249
|
...props
|
|
266
250
|
}
|
|
267
251
|
),
|
|
268
|
-
/* @__PURE__ */ jsx("span", { className:
|
|
269
|
-
label ? /* @__PURE__ */ jsx("span", { className:
|
|
252
|
+
/* @__PURE__ */ jsx("span", { className: "checkbox_box", "aria-hidden": "true" }),
|
|
253
|
+
label ? /* @__PURE__ */ jsx("span", { className: "checkbox_label", children: label }) : null
|
|
270
254
|
] });
|
|
271
255
|
};
|
|
272
|
-
|
|
273
|
-
// src/ui/form/file/style.module.scss
|
|
274
|
-
var style_module_default7 = {};
|
|
275
256
|
var FileInput = ({
|
|
276
257
|
label = "\uD30C\uC77C \uC120\uD0DD",
|
|
277
258
|
onFiles,
|
|
@@ -281,8 +262,8 @@ var FileInput = ({
|
|
|
281
262
|
}) => {
|
|
282
263
|
const inputId = React3.useId();
|
|
283
264
|
const rootClassName = [
|
|
284
|
-
|
|
285
|
-
disabled &&
|
|
265
|
+
"file_input",
|
|
266
|
+
disabled && "file_input_disabled",
|
|
286
267
|
className ?? ""
|
|
287
268
|
].filter(Boolean).join(" ");
|
|
288
269
|
return /* @__PURE__ */ jsxs("div", { className: rootClassName, children: [
|
|
@@ -291,33 +272,27 @@ var FileInput = ({
|
|
|
291
272
|
{
|
|
292
273
|
id: inputId,
|
|
293
274
|
type: "file",
|
|
294
|
-
className:
|
|
275
|
+
className: "file_input_control",
|
|
295
276
|
disabled,
|
|
296
277
|
onChange: (e) => onFiles?.(e.currentTarget.files),
|
|
297
278
|
...props
|
|
298
279
|
}
|
|
299
280
|
),
|
|
300
|
-
/* @__PURE__ */ jsx("label", { htmlFor: inputId, className:
|
|
281
|
+
/* @__PURE__ */ jsx("label", { htmlFor: inputId, className: "file_input_label", children: label })
|
|
301
282
|
] });
|
|
302
283
|
};
|
|
303
|
-
|
|
304
|
-
// src/ui/form/radio/style.module.scss
|
|
305
|
-
var style_module_default8 = {};
|
|
306
284
|
var Radio = ({ label, size = "md", className, ...props }) => {
|
|
307
285
|
const rootClassName = [
|
|
308
|
-
|
|
309
|
-
|
|
286
|
+
"radio",
|
|
287
|
+
`radio_size_${size}`,
|
|
310
288
|
className ?? ""
|
|
311
289
|
].filter(Boolean).join(" ");
|
|
312
290
|
return /* @__PURE__ */ jsxs("label", { className: rootClassName, children: [
|
|
313
|
-
/* @__PURE__ */ jsx("input", { type: "radio", className:
|
|
314
|
-
/* @__PURE__ */ jsx("span", { className:
|
|
315
|
-
label ? /* @__PURE__ */ jsx("span", { className:
|
|
291
|
+
/* @__PURE__ */ jsx("input", { type: "radio", className: "radio_input", ...props }),
|
|
292
|
+
/* @__PURE__ */ jsx("span", { className: "radio_dot", "aria-hidden": "true" }),
|
|
293
|
+
label ? /* @__PURE__ */ jsx("span", { className: "radio_label", children: label }) : null
|
|
316
294
|
] });
|
|
317
295
|
};
|
|
318
|
-
|
|
319
|
-
// src/ui/general/select/style.module.scss
|
|
320
|
-
var style_module_default9 = {};
|
|
321
296
|
var Select = ({
|
|
322
297
|
id,
|
|
323
298
|
label,
|
|
@@ -438,13 +413,13 @@ var Select = ({
|
|
|
438
413
|
)
|
|
439
414
|
);
|
|
440
415
|
}, [isOpen, options, currentValue]);
|
|
441
|
-
const rootClassName = [
|
|
416
|
+
const rootClassName = ["select", className ?? ""].filter(Boolean).join(" ");
|
|
442
417
|
const controlClassName = [
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
isOpen &&
|
|
447
|
-
disabled &&
|
|
418
|
+
"select_control",
|
|
419
|
+
`select_variant_${variant}`,
|
|
420
|
+
`select_size_${size}`,
|
|
421
|
+
isOpen && "is_open",
|
|
422
|
+
disabled && "is_disabled"
|
|
448
423
|
].filter(Boolean).join(" ");
|
|
449
424
|
return /* @__PURE__ */ jsxs(
|
|
450
425
|
"div",
|
|
@@ -457,7 +432,7 @@ var Select = ({
|
|
|
457
432
|
"label",
|
|
458
433
|
{
|
|
459
434
|
htmlFor: selectId,
|
|
460
|
-
className:
|
|
435
|
+
className: "select_label",
|
|
461
436
|
children: label
|
|
462
437
|
}
|
|
463
438
|
),
|
|
@@ -477,12 +452,12 @@ var Select = ({
|
|
|
477
452
|
/* @__PURE__ */ jsx(
|
|
478
453
|
"span",
|
|
479
454
|
{
|
|
480
|
-
className: currentOption ?
|
|
455
|
+
className: currentOption ? "select_value" : "select_placeholder",
|
|
481
456
|
style: textAlign === "left" ? { textAlign: "start" } : void 0,
|
|
482
457
|
children: currentOption ? currentOption.label : placeholder
|
|
483
458
|
}
|
|
484
459
|
),
|
|
485
|
-
/* @__PURE__ */ jsx("span", { className:
|
|
460
|
+
/* @__PURE__ */ jsx("span", { className: "select_icon", "aria-hidden": "true", children: /* @__PURE__ */ jsx(ChevronDown, { size: 16 }) })
|
|
486
461
|
]
|
|
487
462
|
}
|
|
488
463
|
),
|
|
@@ -491,15 +466,15 @@ var Select = ({
|
|
|
491
466
|
{
|
|
492
467
|
id: `${selectId}_listbox`,
|
|
493
468
|
role: "listbox",
|
|
494
|
-
className:
|
|
469
|
+
className: "select_list",
|
|
495
470
|
children: options.map((opt, i) => {
|
|
496
471
|
const selected = currentValue === opt.value;
|
|
497
472
|
const active = i === activeIndex;
|
|
498
473
|
const optionClassName = [
|
|
499
|
-
|
|
500
|
-
selected &&
|
|
501
|
-
active &&
|
|
502
|
-
opt.disabled &&
|
|
474
|
+
"select_option",
|
|
475
|
+
selected && "is_selected",
|
|
476
|
+
active && "is_active",
|
|
477
|
+
opt.disabled && "is_disabled"
|
|
503
478
|
].filter(Boolean).join(" ");
|
|
504
479
|
return /* @__PURE__ */ jsxs(
|
|
505
480
|
"li",
|
|
@@ -533,9 +508,6 @@ var Select = ({
|
|
|
533
508
|
}
|
|
534
509
|
);
|
|
535
510
|
};
|
|
536
|
-
|
|
537
|
-
// src/ui/form/switch/style.module.scss
|
|
538
|
-
var style_module_default10 = {};
|
|
539
511
|
var Switch = ({
|
|
540
512
|
checked,
|
|
541
513
|
defaultChecked,
|
|
@@ -555,10 +527,10 @@ var Switch = ({
|
|
|
555
527
|
onChange?.(next);
|
|
556
528
|
};
|
|
557
529
|
const rootClassName = [
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
isOn &&
|
|
561
|
-
disabled &&
|
|
530
|
+
"switch",
|
|
531
|
+
`switch_size_${size}`,
|
|
532
|
+
isOn && "switch_on",
|
|
533
|
+
disabled && "switch_disabled",
|
|
562
534
|
className ?? ""
|
|
563
535
|
].filter(Boolean).join(" ");
|
|
564
536
|
return /* @__PURE__ */ jsx(
|
|
@@ -571,13 +543,10 @@ var Switch = ({
|
|
|
571
543
|
onClick: handleToggle,
|
|
572
544
|
className: rootClassName,
|
|
573
545
|
...props,
|
|
574
|
-
children: /* @__PURE__ */ jsx("span", { className:
|
|
546
|
+
children: /* @__PURE__ */ jsx("span", { className: "switch_thumb" })
|
|
575
547
|
}
|
|
576
548
|
);
|
|
577
549
|
};
|
|
578
|
-
|
|
579
|
-
// src/ui/form/textfield/style.module.scss
|
|
580
|
-
var style_module_default11 = {};
|
|
581
550
|
var TextField = React3.forwardRef(
|
|
582
551
|
({
|
|
583
552
|
id,
|
|
@@ -610,28 +579,28 @@ var TextField = React3.forwardRef(
|
|
|
610
579
|
setInnerValue(applyTransform(value ?? ""));
|
|
611
580
|
}, [isControlled, value, transformValue]);
|
|
612
581
|
const rootClassName = [
|
|
613
|
-
|
|
614
|
-
fullWidth &&
|
|
582
|
+
"text_field",
|
|
583
|
+
fullWidth && "text_field_full_width",
|
|
615
584
|
className ?? ""
|
|
616
585
|
].filter(Boolean).join(" ");
|
|
617
586
|
const inputClassName = [
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
leftIcon &&
|
|
622
|
-
rightIcon &&
|
|
623
|
-
error &&
|
|
624
|
-
success &&
|
|
587
|
+
"text_field_input",
|
|
588
|
+
`text_field_variant_${variant}`,
|
|
589
|
+
`text_field_size_${size}`,
|
|
590
|
+
leftIcon && "text_field_with_left",
|
|
591
|
+
rightIcon && "text_field_with_right",
|
|
592
|
+
error && "text_field_error",
|
|
593
|
+
success && "text_field_success"
|
|
625
594
|
].filter(Boolean).join(" ");
|
|
626
595
|
const helperClassName = [
|
|
627
|
-
|
|
628
|
-
error &&
|
|
629
|
-
success &&
|
|
596
|
+
"text_field_helper",
|
|
597
|
+
error && "text_field_helper_error",
|
|
598
|
+
success && "text_field_helper_success"
|
|
630
599
|
].filter(Boolean).join(" ");
|
|
631
600
|
return /* @__PURE__ */ jsxs("div", { className: rootClassName, children: [
|
|
632
|
-
label ? /* @__PURE__ */ jsx("label", { className:
|
|
633
|
-
/* @__PURE__ */ jsxs("div", { className:
|
|
634
|
-
leftIcon ? /* @__PURE__ */ jsx("span", { className:
|
|
601
|
+
label ? /* @__PURE__ */ jsx("label", { className: "text_field_label", htmlFor: inputId, children: label }) : null,
|
|
602
|
+
/* @__PURE__ */ jsxs("div", { className: "text_field_wrap", children: [
|
|
603
|
+
leftIcon ? /* @__PURE__ */ jsx("span", { className: "text_field_icon text_field_icon_left", children: leftIcon }) : null,
|
|
635
604
|
/* @__PURE__ */ jsx(
|
|
636
605
|
"input",
|
|
637
606
|
{
|
|
@@ -664,16 +633,13 @@ var TextField = React3.forwardRef(
|
|
|
664
633
|
}
|
|
665
634
|
}
|
|
666
635
|
),
|
|
667
|
-
rightIcon ? /* @__PURE__ */ jsx("span", { className:
|
|
636
|
+
rightIcon ? /* @__PURE__ */ jsx("span", { className: "text_field_icon text_field_icon_right", children: rightIcon }) : null
|
|
668
637
|
] }),
|
|
669
638
|
helperText ? /* @__PURE__ */ jsx("div", { id: helperId, className: helperClassName, children: helperText }) : null
|
|
670
639
|
] });
|
|
671
640
|
}
|
|
672
641
|
);
|
|
673
642
|
TextField.displayName = "TextField";
|
|
674
|
-
|
|
675
|
-
// src/ui/form/date-picker/style.module.scss
|
|
676
|
-
var style_module_default12 = {};
|
|
677
643
|
var pad = (n) => String(n).padStart(2, "0");
|
|
678
644
|
var getDaysInMonth = (year, month) => new Date(year, month, 0).getDate();
|
|
679
645
|
var normalizeWidth = (v) => typeof v === "number" ? `${v}px` : v;
|
|
@@ -713,9 +679,9 @@ var DatePicker = ({
|
|
|
713
679
|
const safeDay = clampDay(yy, mm, dd ?? 1);
|
|
714
680
|
onChange(`${yy}-${pad(mm)}-${pad(safeDay)}`);
|
|
715
681
|
};
|
|
716
|
-
return /* @__PURE__ */ jsxs("div", { className:
|
|
717
|
-
label && /* @__PURE__ */ jsx("label", { className:
|
|
718
|
-
/* @__PURE__ */ jsxs("div", { className:
|
|
682
|
+
return /* @__PURE__ */ jsxs("div", { className: "date_picker", style: { width: normalizeWidth(width?.container) }, children: [
|
|
683
|
+
label && /* @__PURE__ */ jsx("label", { className: "date_picker_label", children: label }),
|
|
684
|
+
/* @__PURE__ */ jsxs("div", { className: "date_picker_fields", children: [
|
|
719
685
|
/* @__PURE__ */ jsxs(
|
|
720
686
|
"select",
|
|
721
687
|
{
|
|
@@ -766,9 +732,6 @@ var DatePicker = ({
|
|
|
766
732
|
] })
|
|
767
733
|
] });
|
|
768
734
|
};
|
|
769
|
-
|
|
770
|
-
// src/ui/navigation/pagination/style.module.scss
|
|
771
|
-
var style_module_default13 = {};
|
|
772
735
|
var range = (start, end) => {
|
|
773
736
|
const out = [];
|
|
774
737
|
for (let i = start; i <= end; i += 1) out.push(i);
|
|
@@ -794,25 +757,25 @@ var Pagination = ({ page, totalPages, onChange }) => {
|
|
|
794
757
|
() => getPaginationItems(page, totalPages),
|
|
795
758
|
[page, totalPages]
|
|
796
759
|
);
|
|
797
|
-
return /* @__PURE__ */ jsxs("nav", { className:
|
|
760
|
+
return /* @__PURE__ */ jsxs("nav", { className: "pagination", "aria-label": "Pagination", children: [
|
|
798
761
|
/* @__PURE__ */ jsx(
|
|
799
762
|
"button",
|
|
800
763
|
{
|
|
801
|
-
className:
|
|
764
|
+
className: "pagination_item",
|
|
802
765
|
onClick: () => onChange(page - 1),
|
|
803
766
|
disabled: prevDisabled,
|
|
804
767
|
"aria-label": "Previous page",
|
|
805
768
|
children: "\u2039"
|
|
806
769
|
}
|
|
807
770
|
),
|
|
808
|
-
/* @__PURE__ */ jsx("div", { className:
|
|
771
|
+
/* @__PURE__ */ jsx("div", { className: "pagination_pages", role: "list", children: items.map((it, idx) => {
|
|
809
772
|
if (it === "ellipsis") {
|
|
810
|
-
return /* @__PURE__ */ jsx("span", { className:
|
|
773
|
+
return /* @__PURE__ */ jsx("span", { className: "pagination_ellipsis", "aria-hidden": "true", children: "\u2026" }, `e-${idx}`);
|
|
811
774
|
}
|
|
812
775
|
const isActive = it === page;
|
|
813
776
|
const buttonClassName = [
|
|
814
|
-
|
|
815
|
-
isActive &&
|
|
777
|
+
"pagination_page_button",
|
|
778
|
+
isActive && "pagination_active"
|
|
816
779
|
].filter(Boolean).join(" ");
|
|
817
780
|
return /* @__PURE__ */ jsx(
|
|
818
781
|
"button",
|
|
@@ -829,7 +792,7 @@ var Pagination = ({ page, totalPages, onChange }) => {
|
|
|
829
792
|
/* @__PURE__ */ jsx(
|
|
830
793
|
"button",
|
|
831
794
|
{
|
|
832
|
-
className:
|
|
795
|
+
className: "pagination_item",
|
|
833
796
|
onClick: () => onChange(page + 1),
|
|
834
797
|
disabled: nextDisabled,
|
|
835
798
|
"aria-label": "Next page",
|
|
@@ -838,9 +801,6 @@ var Pagination = ({ page, totalPages, onChange }) => {
|
|
|
838
801
|
)
|
|
839
802
|
] });
|
|
840
803
|
};
|
|
841
|
-
|
|
842
|
-
// src/ui/overlay/modal/style.module.scss
|
|
843
|
-
var style_module_default14 = {};
|
|
844
804
|
var Modal = ({
|
|
845
805
|
open,
|
|
846
806
|
onClose,
|
|
@@ -860,11 +820,11 @@ var Modal = ({
|
|
|
860
820
|
return () => document.removeEventListener("keydown", onKeyDown);
|
|
861
821
|
}, [open, onClose]);
|
|
862
822
|
if (!open) return null;
|
|
863
|
-
const panelClassName = [
|
|
823
|
+
const panelClassName = ["modal_panel", className].filter(Boolean).join(" ");
|
|
864
824
|
return /* @__PURE__ */ jsx(
|
|
865
825
|
"div",
|
|
866
826
|
{
|
|
867
|
-
className:
|
|
827
|
+
className: "modal",
|
|
868
828
|
role: "dialog",
|
|
869
829
|
"aria-modal": "true",
|
|
870
830
|
onClick: () => closeOnOverlay && onClose?.(),
|
|
@@ -876,8 +836,8 @@ var Modal = ({
|
|
|
876
836
|
onClick: (e) => e.stopPropagation(),
|
|
877
837
|
...props,
|
|
878
838
|
children: [
|
|
879
|
-
title && /* @__PURE__ */ jsx("div", { className:
|
|
880
|
-
/* @__PURE__ */ jsx("div", { className:
|
|
839
|
+
title && /* @__PURE__ */ jsx("div", { className: "modal_header", children: title }),
|
|
840
|
+
/* @__PURE__ */ jsx("div", { className: "modal_body", children })
|
|
881
841
|
]
|
|
882
842
|
}
|
|
883
843
|
)
|
package/dist/next.css
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* src/ui/navigation/sidebar/style.
|
|
1
|
+
/* src/ui/navigation/sidebar/style.scss */
|
|
2
2
|
.sidebar {
|
|
3
3
|
display: flex;
|
|
4
4
|
flex-direction: column;
|
|
@@ -11,29 +11,29 @@
|
|
|
11
11
|
overflow: hidden;
|
|
12
12
|
transition: width 0.3s ease-in-out;
|
|
13
13
|
}
|
|
14
|
-
.
|
|
14
|
+
.sidebar_is_closed {
|
|
15
15
|
width: 56px;
|
|
16
16
|
}
|
|
17
|
-
.
|
|
17
|
+
.sidebar_brand {
|
|
18
18
|
padding: 0.5rem;
|
|
19
19
|
margin-bottom: 0.5rem;
|
|
20
20
|
border-bottom: 1px solid #e5e5e5;
|
|
21
21
|
}
|
|
22
|
-
.
|
|
22
|
+
.sidebar_brand_link {
|
|
23
23
|
display: flex;
|
|
24
24
|
align-items: center;
|
|
25
25
|
justify-content: space-between;
|
|
26
26
|
align-items: center;
|
|
27
27
|
}
|
|
28
|
-
.
|
|
28
|
+
.sidebar_nav {
|
|
29
29
|
display: grid;
|
|
30
30
|
gap: 0.25rem;
|
|
31
31
|
}
|
|
32
|
-
.
|
|
32
|
+
.sidebar_group {
|
|
33
33
|
display: grid;
|
|
34
34
|
gap: 0.25rem;
|
|
35
35
|
}
|
|
36
|
-
.
|
|
36
|
+
.sidebar_item {
|
|
37
37
|
border: none;
|
|
38
38
|
display: flex;
|
|
39
39
|
align-items: center;
|
|
@@ -45,39 +45,39 @@
|
|
|
45
45
|
background: transparent;
|
|
46
46
|
transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
|
|
47
47
|
}
|
|
48
|
-
.
|
|
48
|
+
.sidebar_item:hover {
|
|
49
49
|
background: #fafafa;
|
|
50
50
|
color: #1f2937;
|
|
51
51
|
}
|
|
52
|
-
.
|
|
52
|
+
.sidebar_item_active {
|
|
53
53
|
background: #ffffff;
|
|
54
54
|
color: #1f2937;
|
|
55
55
|
box-shadow: inset 0 0 0 1px #e5e5e5;
|
|
56
56
|
}
|
|
57
|
-
.
|
|
57
|
+
.sidebar_item_left {
|
|
58
58
|
display: flex;
|
|
59
59
|
align-items: center;
|
|
60
60
|
gap: 0.5rem;
|
|
61
61
|
}
|
|
62
|
-
.
|
|
62
|
+
.sidebar_item_right {
|
|
63
63
|
display: flex;
|
|
64
64
|
align-items: center;
|
|
65
65
|
}
|
|
66
|
-
.
|
|
66
|
+
.sidebar_icon {
|
|
67
67
|
display: grid;
|
|
68
68
|
place-items: center;
|
|
69
69
|
}
|
|
70
|
-
.
|
|
70
|
+
.sidebar_chevron {
|
|
71
71
|
transition: transform 0.2s ease-in-out;
|
|
72
72
|
}
|
|
73
|
-
.
|
|
73
|
+
.sidebar_chevron_open {
|
|
74
74
|
transform: rotate(180deg);
|
|
75
75
|
}
|
|
76
|
-
.
|
|
76
|
+
.sidebar_label {
|
|
77
77
|
font-size: 1rem;
|
|
78
78
|
white-space: nowrap;
|
|
79
79
|
}
|
|
80
|
-
.
|
|
80
|
+
.sidebar_sub {
|
|
81
81
|
display: grid;
|
|
82
82
|
gap: 0.25rem;
|
|
83
83
|
padding-left: 0.75rem;
|
|
@@ -90,12 +90,12 @@
|
|
|
90
90
|
opacity 0.2s ease-in-out,
|
|
91
91
|
transform 0.2s ease-in-out;
|
|
92
92
|
}
|
|
93
|
-
.
|
|
93
|
+
.sidebar_sub_open {
|
|
94
94
|
max-height: 500px;
|
|
95
95
|
opacity: 1;
|
|
96
96
|
transform: translateY(0);
|
|
97
97
|
}
|
|
98
|
-
.
|
|
98
|
+
.sidebar_sub_item {
|
|
99
99
|
display: flex;
|
|
100
100
|
align-items: center;
|
|
101
101
|
gap: 0.75rem;
|
|
@@ -106,20 +106,20 @@
|
|
|
106
106
|
background: transparent;
|
|
107
107
|
transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
|
|
108
108
|
}
|
|
109
|
-
.
|
|
109
|
+
.sidebar_sub_item:hover {
|
|
110
110
|
background: #fafafa;
|
|
111
111
|
color: #1f2937;
|
|
112
112
|
}
|
|
113
|
-
.
|
|
113
|
+
.sidebar_sub_item_active {
|
|
114
114
|
color: #000000;
|
|
115
115
|
font-weight: 500;
|
|
116
116
|
}
|
|
117
|
-
.
|
|
117
|
+
.sidebar_sub_icon {
|
|
118
118
|
display: grid;
|
|
119
119
|
place-items: center;
|
|
120
120
|
color: #6b7280;
|
|
121
121
|
}
|
|
122
|
-
.
|
|
122
|
+
.sidebar_sub_label {
|
|
123
123
|
font-size: 0.875rem;
|
|
124
124
|
white-space: nowrap;
|
|
125
125
|
}
|