@nithish_atum/atum 1.0.1 → 1.0.4

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
@@ -5,6 +5,10 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
6
  var __getProtoOf = Object.getPrototypeOf;
7
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
8
12
  var __copyProps = (to, from, except, desc) => {
9
13
  if (from && typeof from === "object" || typeof from === "function") {
10
14
  for (let key of __getOwnPropNames(from))
@@ -23,21 +27,115 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
23
27
  ));
24
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
25
29
 
26
- // src/index.tsx
30
+ // src/index.ts
27
31
  var index_exports = {};
32
+ __export(index_exports, {
33
+ Box: () => Box_default,
34
+ Button: () => Button_default,
35
+ Card: () => Card_default,
36
+ Center: () => Center_default,
37
+ CenterMenu: () => CenterMenu_default,
38
+ Checkbox: () => Checkbox_default,
39
+ Col: () => Col_default,
40
+ Container: () => Container_default,
41
+ DatePicker: () => DatePicker_default,
42
+ Divider: () => Divider_default,
43
+ Drawer: () => Drawer_default,
44
+ Flex: () => Flex_default,
45
+ Form: () => Form_default,
46
+ FormControl: () => FormControl_default,
47
+ Grid: () => Grid_default,
48
+ Heading: () => Heading_default,
49
+ HorizantalMenu: () => HorizantalMenu_default,
50
+ Input: () => Input_default,
51
+ Link: () => Link_default,
52
+ Modal: () => Modal_default,
53
+ Paragraph: () => Paragraph_default,
54
+ Radio: () => Radio_default,
55
+ Row: () => Row_default,
56
+ Select: () => Select_default,
57
+ Stack: () => Stack_default,
58
+ Switch: () => Switch_default,
59
+ Text: () => Text_default,
60
+ Textarea: () => Textarea_default
61
+ });
28
62
  module.exports = __toCommonJS(index_exports);
29
63
 
30
- // src/components/Button.tsx
64
+ // src/components/Box.tsx
31
65
  var import_styled_components = __toESM(require("styled-components"));
32
66
  var import_jsx_runtime = require("react/jsx-runtime");
33
67
  var baseStyle = import_styled_components.css`
68
+ display: flex;
69
+ flex-direction: row;
70
+ width: fit-content;
71
+ height: fit-content;
72
+ padding: 1em 1em;
73
+ border: 1px solid lightgray;
74
+ justify-self: center;
75
+ `;
76
+ var variantStyles = {
77
+ default: import_styled_components.css`
78
+ transition: none;
79
+ `,
80
+ elevated: import_styled_components.css`
81
+ transition: box-shadow 300ms ease;
82
+ &:hover {
83
+ box-shadow: rgba(36, 40, 45, 0.2) 0px 8px 24px;
84
+ }
85
+ `
86
+ };
87
+ var justifyStyles = {
88
+ row: import_styled_components.css`
89
+ flex-direction: row;
90
+ `,
91
+ col: import_styled_components.css`
92
+ flex-direction: column;
93
+ `
94
+ };
95
+ var gapStyles = {
96
+ xs: import_styled_components.css`
97
+ gap: 0.5em;
98
+ `,
99
+ sm: import_styled_components.css`
100
+ gap: 1em;
101
+ `,
102
+ md: import_styled_components.css`
103
+ gap: 1.5em;
104
+ `,
105
+ lg: import_styled_components.css`
106
+ gap: 2.5em;
107
+ `
108
+ };
109
+ var CustomDiv = import_styled_components.default.div`
110
+ ${baseStyle}
111
+ ${({ $flex, $gap, $variant }) => import_styled_components.css`
112
+ ${justifyStyles[$flex]}
113
+ ${gapStyles[$gap]}
114
+ ${variantStyles[$variant]}
115
+ `}
116
+ `;
117
+ var Box = ({
118
+ flex = "row",
119
+ gap = "xs",
120
+ variant = "default",
121
+ children,
122
+ ...rest
123
+ }) => {
124
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CustomDiv, { $flex: flex, $gap: gap, $variant: variant, ...rest, children });
125
+ };
126
+ var Box_default = Box;
127
+
128
+ // src/components/Button.tsx
129
+ var import_styled_components2 = __toESM(require("styled-components"));
130
+ var import_jsx_runtime2 = require("react/jsx-runtime");
131
+ var baseStyle2 = import_styled_components2.css`
34
132
  padding: 1em;
35
133
  cursor: pointer;
36
134
  font-weight: 600;
37
135
  transistion: all 900ms;
38
136
  `;
39
- var variantStyles = {
40
- primary_solid: import_styled_components.css`
137
+ var variantStyles2 = {
138
+ primary_solid: import_styled_components2.css`
41
139
  background-color: #2d8eff;
42
140
  color: white;
43
141
  border: 1px solid #2d8eff;
@@ -52,12 +150,12 @@ var variantStyles = {
52
150
  // letter-spacing: 4px;
53
151
  //}
54
152
  `,
55
- primary_outline: import_styled_components.css`
153
+ primary_outline: import_styled_components2.css`
56
154
  background-color: transparent;
57
155
  color: #2d8eff;
58
156
  border: 1px solid #2d8eff;
59
157
  `,
60
- primary_text: import_styled_components.css`
158
+ primary_text: import_styled_components2.css`
61
159
  background-color: transparent;
62
160
  color: #2d8eff;
63
161
  border: none;
@@ -68,8 +166,1645 @@ var variantStyles = {
68
166
  // }
69
167
  `
70
168
  };
71
- var StyledButton = import_styled_components.default.button`
72
- ${baseStyle}
73
- ${({ $variant }) => variantStyles[$variant]}
169
+ var StyledButton = import_styled_components2.default.button`
170
+ ${baseStyle2}
171
+ ${({ $variant }) => variantStyles2[$variant]}
172
+ `;
173
+ var Button = ({
174
+ variant = "primary_solid",
175
+ children,
176
+ ...rest
177
+ }) => {
178
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(StyledButton, { $variant: variant, ...rest, children });
179
+ };
180
+ var Button_default = Button;
181
+
182
+ // src/components/Card.tsx
183
+ var import_styled_components3 = __toESM(require("styled-components"));
184
+ var import_jsx_runtime3 = require("react/jsx-runtime");
185
+ var baseStyle3 = import_styled_components3.css`
186
+ display: flex;
187
+ flex-direction: row;
188
+ width: fit-content;
189
+ height: fit-content;
190
+ background-color: rgb(255, 255, 255);
191
+ padding: 1em 1em;
192
+ border-radius: 0.8em;
193
+ box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
194
+ transition: all 0.9s ease;
195
+ &:hover {
196
+ box-shadow: rgba(36, 40, 45, 0.2) 0px 8px 24px;
197
+ }
198
+ `;
199
+ var justifyStyles2 = {
200
+ row: import_styled_components3.css`
201
+ flex-direction: row;
202
+ `,
203
+ col: import_styled_components3.css`
204
+ flex-direction: column;
205
+ `
206
+ };
207
+ var gapStyles2 = {
208
+ xs: import_styled_components3.css`
209
+ gap: 0.5em;
210
+ `,
211
+ sm: import_styled_components3.css`
212
+ gap: 1em;
213
+ `,
214
+ md: import_styled_components3.css`
215
+ gap: 1.5em;
216
+ `,
217
+ lg: import_styled_components3.css`
218
+ gap: 2.5em;
219
+ `
220
+ };
221
+ var CustomDiv2 = import_styled_components3.default.div`
222
+ ${baseStyle3}
223
+ ${({ $direction, $gap }) => import_styled_components3.css`
224
+ ${justifyStyles2[$direction]}
225
+ ${gapStyles2[$gap]}
226
+ `}
227
+ `;
228
+ var Card = ({
229
+ direction = "col",
230
+ gap = "xs",
231
+ Imagealt = "card-image",
232
+ Imageurl = "",
233
+ children,
234
+ ...rest
235
+ }) => {
236
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(CustomDiv2, { $direction: direction, $gap: gap, ...rest, children: Imageurl.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
237
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { style: {
238
+ width: "100%",
239
+ height: "200px",
240
+ backgroundImage: `url(${Imageurl})`,
241
+ backgroundPosition: "center",
242
+ backgroundSize: "cover",
243
+ borderRadius: "12px",
244
+ border: "1px solid #f1f1f1"
245
+ } }),
246
+ children
247
+ ] }) : children });
248
+ };
249
+ var Card_default = Card;
250
+
251
+ // src/components/Checkbox.tsx
252
+ var import_react = require("react");
253
+ var import_styled_components4 = __toESM(require("styled-components"));
254
+ var import_jsx_runtime4 = require("react/jsx-runtime");
255
+ var Wrapper = import_styled_components4.default.label`
256
+ display: inline-flex;
257
+ align-items: center;
258
+ gap: 0.5rem;
259
+ cursor: pointer;
260
+ user-select: none;
74
261
  `;
262
+ var HiddenInput = import_styled_components4.default.input.attrs({ type: "checkbox" })`
263
+ position: absolute;
264
+ opacity: 0;
265
+ pointer-events: none;
266
+ `;
267
+ var boxBase = import_styled_components4.css`
268
+ width: 16px;
269
+ height: 16px;
270
+ border-radius: 4px;
271
+ border: 1px solid #ccc;
272
+ display: flex;
273
+ align-items: center;
274
+ justify-content: center;
275
+ transition: all 0.15s ease;
276
+ `;
277
+ var Box2 = import_styled_components4.default.span`
278
+ ${boxBase}
279
+ background-color: ${({ $checked }) => $checked ? "#2d8eff" : "#fff"};
280
+ border-color: ${({ $checked }) => $checked ? "#2d8eff" : "#ccc"};
281
+ opacity: ${({ $disabled }) => $disabled ? 0.6 : 1};
282
+
283
+ ${Wrapper}:hover & {
284
+ border-color: #2d8eff;
285
+ }
286
+ `;
287
+ var CheckMark = import_styled_components4.default.span`
288
+ width: 8px;
289
+ height: 8px;
290
+ background: white;
291
+ border-radius: 2px;
292
+ `;
293
+ var Checkbox = ({
294
+ checked = false,
295
+ indeterminate = false,
296
+ disabled = false,
297
+ label,
298
+ ...rest
299
+ }) => {
300
+ const inputRef = (0, import_react.useRef)(null);
301
+ (0, import_react.useEffect)(() => {
302
+ if (inputRef.current) {
303
+ inputRef.current.indeterminate = indeterminate;
304
+ }
305
+ }, [indeterminate]);
306
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(Wrapper, { children: [
307
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
308
+ HiddenInput,
309
+ {
310
+ ref: inputRef,
311
+ checked,
312
+ disabled,
313
+ ...rest
314
+ }
315
+ ),
316
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Box2, { $checked: checked || indeterminate, $disabled: disabled, children: (checked || indeterminate) && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(CheckMark, {}) }),
317
+ label && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { children: label })
318
+ ] });
319
+ };
320
+ var Checkbox_default = Checkbox;
321
+
322
+ // src/components/DatePicker.tsx
323
+ var import_react2 = require("react");
324
+ var import_styled_components5 = __toESM(require("styled-components"));
325
+ var import_react_dom = require("react-dom");
326
+ var import_jsx_runtime5 = require("react/jsx-runtime");
327
+ var isSameDay = (a, b) => a.getFullYear() === b.getFullYear() && a.getMonth() === b.getMonth() && a.getDate() === b.getDate();
328
+ var getDaysInMonth = (year, month) => new Date(year, month + 1, 0).getDate();
329
+ var formatDate = (date) => date.toISOString().split("T")[0];
330
+ var Wrapper2 = import_styled_components5.default.div`
331
+ position: relative;
332
+ width: 100%;
333
+ `;
334
+ var InputBox = import_styled_components5.default.div`
335
+ border: 1px solid #ccc;
336
+ border-radius: 6px;
337
+ padding: 0.5rem 0.75rem;
338
+ cursor: pointer;
339
+ background: #fff;
340
+ `;
341
+ var Panel = import_styled_components5.default.div`
342
+ position: absolute;
343
+ top: calc(100% + 6px);
344
+ left: 0;
345
+ background: white;
346
+ border-radius: 8px;
347
+ padding: 0.75rem;
348
+ box-shadow: 0 12px 32px rgba(0, 0, 0, 0.15);
349
+ z-index: 1000;
350
+ `;
351
+ var Header = import_styled_components5.default.div`
352
+ display: flex;
353
+ justify-content: space-between;
354
+ align-items: center;
355
+ margin-bottom: 0.5rem;
356
+ `;
357
+ var Grid = import_styled_components5.default.div`
358
+ display: grid;
359
+ grid-template-columns: repeat(7, 32px);
360
+ gap: 4px;
361
+ `;
362
+ var Day = import_styled_components5.default.div`
363
+ text-align: center;
364
+ padding: 0.35rem 0;
365
+ border-radius: 4px;
366
+ cursor: pointer;
367
+ background: ${({ $selected }) => $selected ? "#2d8eff" : "transparent"};
368
+ color: ${({ $selected }) => $selected ? "#fff" : "inherit"};
369
+
370
+ &:hover {
371
+ background: #f0f0f0;
372
+ }
373
+ `;
374
+ var DatePicker = ({
375
+ value,
376
+ onChange,
377
+ placeholder = "Select date"
378
+ }) => {
379
+ const [open, setOpen] = (0, import_react2.useState)(false);
380
+ const [current, setCurrent] = (0, import_react2.useState)(
381
+ value || /* @__PURE__ */ new Date()
382
+ );
383
+ const ref = (0, import_react2.useRef)(null);
384
+ (0, import_react2.useEffect)(() => {
385
+ const handler = (e) => {
386
+ if (ref.current && !ref.current.contains(e.target)) {
387
+ setOpen(false);
388
+ }
389
+ };
390
+ document.addEventListener("mousedown", handler);
391
+ return () => document.removeEventListener("mousedown", handler);
392
+ }, []);
393
+ const year = current.getFullYear();
394
+ const month = current.getMonth();
395
+ const daysInMonth = getDaysInMonth(year, month);
396
+ const days = Array.from({ length: daysInMonth }, (_, i) => {
397
+ const date = new Date(year, month, i + 1);
398
+ return date;
399
+ });
400
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(Wrapper2, { ref, children: [
401
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(InputBox, { onClick: () => setOpen(!open), children: value ? formatDate(value) : placeholder }),
402
+ open && (0, import_react_dom.createPortal)(
403
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(Panel, { children: [
404
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(Header, { children: [
405
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
406
+ "button",
407
+ {
408
+ onClick: () => setCurrent(
409
+ new Date(year, month - 1, 1)
410
+ ),
411
+ children: "\u25C0"
412
+ }
413
+ ),
414
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("strong", { children: [
415
+ current.toLocaleString("default", {
416
+ month: "long"
417
+ }),
418
+ " ",
419
+ year
420
+ ] }),
421
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
422
+ "button",
423
+ {
424
+ onClick: () => setCurrent(
425
+ new Date(year, month + 1, 1)
426
+ ),
427
+ children: "\u25B6"
428
+ }
429
+ )
430
+ ] }),
431
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Grid, { children: days.map((d) => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
432
+ Day,
433
+ {
434
+ $selected: value ? isSameDay(d, value) : false,
435
+ onClick: () => {
436
+ onChange?.(d);
437
+ setOpen(false);
438
+ },
439
+ children: d.getDate()
440
+ },
441
+ d.toISOString()
442
+ )) })
443
+ ] }),
444
+ document.body
445
+ )
446
+ ] });
447
+ };
448
+ var DatePicker_default = DatePicker;
449
+
450
+ // src/components/Divider.tsx
451
+ var import_styled_components6 = __toESM(require("styled-components"));
452
+ var import_jsx_runtime6 = require("react/jsx-runtime");
453
+ var baseStyle4 = import_styled_components6.css`
454
+ background-color: rgba(0, 0, 0, 0.12);
455
+ flex-shrink: 0;
456
+ `;
457
+ var orientationStyles = {
458
+ horizontal: import_styled_components6.css`
459
+ width: 100%;
460
+ height: 1px;
461
+ `,
462
+ vertical: import_styled_components6.css`
463
+ height: 100%;
464
+ width: 1px;
465
+ `
466
+ };
467
+ var sizeStyles = {
468
+ thin: import_styled_components6.css`
469
+ opacity: 0.6;
470
+ `,
471
+ medium: import_styled_components6.css`
472
+ opacity: 1;
473
+ `
474
+ };
475
+ var gapStyles3 = {
476
+ xs: import_styled_components6.css`
477
+ margin: 0.5rem 0;
478
+ `,
479
+ sm: import_styled_components6.css`
480
+ margin: 1rem 0;
481
+ `,
482
+ md: import_styled_components6.css`
483
+ margin: 2rem 0;
484
+ `,
485
+ lg: import_styled_components6.css`
486
+ margin: 3rem 0;
487
+ `
488
+ };
489
+ var StyledDivider = import_styled_components6.default.div`
490
+ ${baseStyle4}
491
+ ${({ $orientation }) => orientationStyles[$orientation]}
492
+ ${({ $size }) => sizeStyles[$size]}
493
+ ${({ $gap, $orientation }) => $orientation === "horizontal" ? gapStyles3[$gap] : import_styled_components6.css`
494
+ margin: 0 ${gapStyles3[$gap].styles?.margin?.split(" ")[0] || "1rem"};
495
+ `}
496
+ `;
497
+ var Divider = ({
498
+ orientation = "horizontal",
499
+ size = "thin",
500
+ gap = "sm",
501
+ ...rest
502
+ }) => {
503
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
504
+ StyledDivider,
505
+ {
506
+ role: "separator",
507
+ $orientation: orientation,
508
+ $size: size,
509
+ $gap: gap,
510
+ ...rest
511
+ }
512
+ );
513
+ };
514
+ var Divider_default = Divider;
515
+
516
+ // src/components/Drawer.tsx
517
+ var import_react3 = require("react");
518
+ var import_react_dom2 = require("react-dom");
519
+ var import_styled_components7 = __toESM(require("styled-components"));
520
+ var import_jsx_runtime7 = require("react/jsx-runtime");
521
+ var Overlay = import_styled_components7.default.div`
522
+ position: fixed;
523
+ inset: 0;
524
+ background: rgba(0, 0, 0, 0.45);
525
+ z-index: 1000;
526
+ `;
527
+ var baseDrawer = import_styled_components7.css`
528
+ position: fixed;
529
+ background: #fff;
530
+ box-shadow: 0 20px 40px rgba(0, 0, 0, 0.25);
531
+ z-index: 1001;
532
+ display: flex;
533
+ flex-direction: column;
534
+ `;
535
+ var placementStyles = {
536
+ right: import_styled_components7.css`
537
+ top: 0;
538
+ right: 0;
539
+ height: 100%;
540
+ `,
541
+ left: import_styled_components7.css`
542
+ top: 0;
543
+ left: 0;
544
+ height: 100%;
545
+ `,
546
+ bottom: import_styled_components7.css`
547
+ left: 0;
548
+ bottom: 0;
549
+ width: 100%;
550
+ `
551
+ };
552
+ var DrawerContainer = import_styled_components7.default.div`
553
+ ${baseDrawer}
554
+ ${({ $placement }) => placementStyles[$placement]}
555
+
556
+ ${({ $placement, $width }) => ($placement === "left" || $placement === "right") && import_styled_components7.css`
557
+ width: ${typeof $width === "number" ? `${$width}px` : $width || "360px"};
558
+ `}
559
+
560
+ ${({ $placement, $height }) => $placement === "bottom" && import_styled_components7.css`
561
+ height: ${typeof $height === "number" ? `${$height}px` : $height || "320px"};
562
+ `}
563
+ `;
564
+ var Header2 = import_styled_components7.default.div`
565
+ display: flex;
566
+ justify-content: flex-end;
567
+ padding: 0.75rem;
568
+ border-bottom: 1px solid #eee;
569
+ `;
570
+ var CloseButton = import_styled_components7.default.button`
571
+ background: none;
572
+ border: none;
573
+ font-size: 1.25rem;
574
+ cursor: pointer;
575
+ `;
576
+ var Drawer = ({
577
+ open,
578
+ onClose,
579
+ placement = "right",
580
+ width,
581
+ height,
582
+ children
583
+ }) => {
584
+ (0, import_react3.useEffect)(() => {
585
+ if (!open) return;
586
+ const handleKeyDown = (e) => {
587
+ if (e.key === "Escape") {
588
+ onClose?.();
589
+ }
590
+ };
591
+ document.addEventListener("keydown", handleKeyDown);
592
+ return () => document.removeEventListener("keydown", handleKeyDown);
593
+ }, [open, onClose]);
594
+ if (!open) return null;
595
+ return (0, import_react_dom2.createPortal)(
596
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(import_jsx_runtime7.Fragment, { children: [
597
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Overlay, { onClick: onClose }),
598
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
599
+ DrawerContainer,
600
+ {
601
+ $placement: placement,
602
+ $width: width,
603
+ $height: height,
604
+ children: [
605
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Header2, { children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(CloseButton, { onClick: onClose, children: "\xD7" }) }),
606
+ children
607
+ ]
608
+ }
609
+ )
610
+ ] }),
611
+ document.body
612
+ );
613
+ };
614
+ var Drawer_default = Drawer;
615
+
616
+ // src/components/Flex.tsx
617
+ var import_styled_components8 = __toESM(require("styled-components"));
618
+ var import_jsx_runtime8 = require("react/jsx-runtime");
619
+ var baseStyle5 = import_styled_components8.css`
620
+ width: 100%;
621
+ height: 100%;
622
+ display: flex;
623
+ `;
624
+ var FlexDirectionStyle = {
625
+ row: import_styled_components8.css`
626
+ flex-direction: row;
627
+ `,
628
+ col: import_styled_components8.css`
629
+ flex-direction: column;
630
+ `
631
+ };
632
+ var JustifyStyle = {
633
+ center: import_styled_components8.css`
634
+ justify-content: center;
635
+ `,
636
+ between: import_styled_components8.css`
637
+ justify-content: space-between;
638
+ `,
639
+ around: import_styled_components8.css`
640
+ justify-content: space-around;
641
+ `,
642
+ start: import_styled_components8.css`
643
+ justify-content: flex-start;
644
+ `,
645
+ end: import_styled_components8.css`
646
+ justify-content: flex-end;
647
+ `,
648
+ even: import_styled_components8.css`
649
+ justify-content: space-evenly;
650
+ `
651
+ };
652
+ var AlignStyle = {
653
+ center: import_styled_components8.css`
654
+ align-items: center;
655
+ `,
656
+ between: import_styled_components8.css`
657
+ align-items: space-between;
658
+ `,
659
+ around: import_styled_components8.css`
660
+ align-items: space-around;
661
+ `,
662
+ start: import_styled_components8.css`
663
+ align-items: flex-start;
664
+ `,
665
+ end: import_styled_components8.css`
666
+ align-items: flex-end;
667
+ `,
668
+ even: import_styled_components8.css`
669
+ align-items: space-evenly;
670
+ `
671
+ };
672
+ var GapStyle = {
673
+ small: import_styled_components8.css`
674
+ gap: 1em;
675
+ `,
676
+ medium: import_styled_components8.css`
677
+ gap: 2em;
678
+ `,
679
+ large: import_styled_components8.css`
680
+ gap: 3em;
681
+ `
682
+ };
683
+ var StyledDiv = import_styled_components8.default.div`
684
+ ${baseStyle5}
685
+ ${({ $flexDirection, $gap, $justify, $align }) => import_styled_components8.css`
686
+ ${FlexDirectionStyle[$flexDirection]}
687
+ ${GapStyle[$gap]}
688
+ ${AlignStyle[$align]}
689
+ ${JustifyStyle[$justify]}
690
+ `}
691
+ `;
692
+ var Flex = ({
693
+ gap = "small",
694
+ justify = "center",
695
+ align = "center",
696
+ flexDirection = "col",
697
+ children,
698
+ ...rest
699
+ }) => {
700
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(StyledDiv, { $gap: gap, $justify: justify, $align: align, $flexDirection: flexDirection, ...rest, children });
701
+ };
702
+ var Flex_default = Flex;
703
+
704
+ // src/components/Form.tsx
705
+ var import_styled_components9 = __toESM(require("styled-components"));
706
+ var import_jsx_runtime9 = require("react/jsx-runtime");
707
+ var StyledForm = import_styled_components9.default.form`
708
+ width: 100%;
709
+ `;
710
+ var Form = ({ children, ...rest }) => {
711
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(StyledForm, { ...rest, children });
712
+ };
713
+ var Form_default = Form;
714
+
715
+ // src/components/FormControl.tsx
716
+ var import_styled_components10 = __toESM(require("styled-components"));
717
+ var import_jsx_runtime10 = require("react/jsx-runtime");
718
+ var Wrapper3 = import_styled_components10.default.div`
719
+ display: flex;
720
+ flex-direction: column;
721
+ gap: 0.25rem;
722
+ width: 100%;
723
+ `;
724
+ var Label = import_styled_components10.default.label`
725
+ font-size: 0.875rem;
726
+ font-weight: 500;
727
+ color: ${({ $error }) => $error ? "#e53935" : "inherit"};
728
+ `;
729
+ var RequiredMark = import_styled_components10.default.span`
730
+ color: #e53935;
731
+ margin-left: 0.25rem;
732
+ `;
733
+ var Helper = import_styled_components10.default.span`
734
+ font-size: 0.75rem;
735
+ color: #666;
736
+ `;
737
+ var ErrorText = import_styled_components10.default.span`
738
+ font-size: 0.75rem;
739
+ color: #e53935;
740
+ `;
741
+ var FormControl = ({
742
+ label,
743
+ error,
744
+ helperText,
745
+ required = false,
746
+ children
747
+ }) => {
748
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(Wrapper3, { children: [
749
+ label && /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(Label, { $error: !!error, children: [
750
+ label,
751
+ required && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(RequiredMark, { children: "*" })
752
+ ] }),
753
+ children,
754
+ error ? /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(ErrorText, { children: error }) : helperText && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Helper, { children: helperText })
755
+ ] });
756
+ };
757
+ var FormControl_default = FormControl;
758
+
759
+ // src/components/Heading.tsx
760
+ var import_styled_components11 = __toESM(require("styled-components"));
761
+ var import_jsx_runtime11 = require("react/jsx-runtime");
762
+ var levelStyles = {
763
+ 1: import_styled_components11.css`font-size: 2rem;`,
764
+ 2: import_styled_components11.css`font-size: 1.75rem;`,
765
+ 3: import_styled_components11.css`font-size: 1.5rem;`,
766
+ 4: import_styled_components11.css`font-size: 1.25rem;`,
767
+ 5: import_styled_components11.css`font-size: 1.1rem;`,
768
+ 6: import_styled_components11.css`font-size: 1rem;`
769
+ };
770
+ var Base = import_styled_components11.default.div`
771
+ margin: 0;
772
+ font-weight: 600;
773
+ ${({ $level }) => levelStyles[$level]}
774
+ `;
775
+ var Heading = ({
776
+ level = 1,
777
+ children,
778
+ ...rest
779
+ }) => {
780
+ const Tag = `h${level}`;
781
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
782
+ Base,
783
+ {
784
+ as: Tag,
785
+ $level: level,
786
+ ...rest,
787
+ children
788
+ }
789
+ );
790
+ };
791
+ var Heading_default = Heading;
792
+
793
+ // src/components/Input.tsx
794
+ var import_styled_components12 = __toESM(require("styled-components"));
795
+ var import_jsx_runtime12 = require("react/jsx-runtime");
796
+ var sizeStyles2 = {
797
+ xs: import_styled_components12.css`padding: 0.25rem 0.5rem; font-size: 0.75rem;`,
798
+ sm: import_styled_components12.css`padding: 0.4rem 0.6rem; font-size: 0.875rem;`,
799
+ md: import_styled_components12.css`padding: 0.5rem 0.75rem; font-size: 1rem;`,
800
+ lg: import_styled_components12.css`padding: 0.65rem 0.9rem; font-size: 1.1rem;`
801
+ };
802
+ var StyledInput = import_styled_components12.default.input`
803
+ width: 100%;
804
+ border-radius: 6px;
805
+ border: 1px solid
806
+ ${({ $state }) => $state === "error" ? "#e53935" : "#ccc"};
807
+ outline: none;
808
+
809
+ ${({ $inputSize }) => sizeStyles2[$inputSize]}
810
+
811
+ &:focus {
812
+ border-color: #2d8eff;
813
+ }
814
+ `;
815
+ var Input = ({
816
+ inputSize = "md",
817
+ state = "default",
818
+ ...rest
819
+ }) => {
820
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
821
+ StyledInput,
822
+ {
823
+ $inputSize: inputSize,
824
+ $state: state,
825
+ ...rest
826
+ }
827
+ );
828
+ };
829
+ var Input_default = Input;
830
+
831
+ // src/components/Link.tsx
832
+ var import_styled_components13 = __toESM(require("styled-components"));
833
+ var import_jsx_runtime13 = require("react/jsx-runtime");
834
+ var baseStyle6 = import_styled_components13.css`
835
+ color: inherit;
836
+ text-decoration: underline;
837
+ cursor: pointer;
838
+ transition: color 0.2s ease, text-decoration-color 0.2s ease;
839
+
840
+ &:hover {
841
+ text-decoration-thickness: 2px;
842
+ }
843
+
844
+ &:focus-visible {
845
+ outline: 2px solid currentColor;
846
+ outline-offset: 2px;
847
+ }
848
+ `;
849
+ var variantStyles3 = {
850
+ default: import_styled_components13.css`
851
+ opacity: 1;
852
+ `,
853
+ muted: import_styled_components13.css`
854
+ opacity: 0.7;
855
+
856
+ &:hover {
857
+ opacity: 1;
858
+ }
859
+ `
860
+ };
861
+ var StyledLink = import_styled_components13.default.a`
862
+ ${baseStyle6}
863
+ ${({ $variant }) => variantStyles3[$variant]}
864
+ `;
865
+ var Link = ({
866
+ variant = "default",
867
+ external = false,
868
+ children,
869
+ ...rest
870
+ }) => {
871
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
872
+ StyledLink,
873
+ {
874
+ $variant: variant,
875
+ target: external ? "_blank" : rest.target,
876
+ rel: external ? "noopener noreferrer" : rest.rel,
877
+ ...rest,
878
+ children
879
+ }
880
+ );
881
+ };
882
+ var Link_default = Link;
883
+
884
+ // src/components/Modal.tsx
885
+ var import_react4 = require("react");
886
+ var import_react_dom3 = require("react-dom");
887
+ var import_styled_components14 = __toESM(require("styled-components"));
888
+ var import_jsx_runtime14 = require("react/jsx-runtime");
889
+ var Overlay2 = import_styled_components14.default.div`
890
+ position: fixed;
891
+ inset: 0;
892
+ background: rgba(0, 0, 0, 0.45);
893
+ display: flex;
894
+ align-items: center;
895
+ justify-content: center;
896
+ z-index: 1000;
897
+ `;
898
+ var Content = import_styled_components14.default.div`
899
+ background: #fff;
900
+ border-radius: 8px;
901
+ width: 100%;
902
+ max-width: 500px;
903
+ padding: 1.5rem;
904
+ box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
905
+ `;
906
+ var Modal = ({
907
+ open,
908
+ onClose,
909
+ children
910
+ }) => {
911
+ (0, import_react4.useEffect)(() => {
912
+ if (!open) return;
913
+ const handleKeyDown = (e) => {
914
+ if (e.key === "Escape") {
915
+ onClose?.();
916
+ }
917
+ };
918
+ document.addEventListener("keydown", handleKeyDown);
919
+ return () => document.removeEventListener("keydown", handleKeyDown);
920
+ }, [open, onClose]);
921
+ if (!open) return null;
922
+ return (0, import_react_dom3.createPortal)(
923
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Overlay2, { onClick: onClose, children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Content, { onClick: (e) => e.stopPropagation(), children }) }),
924
+ document.body
925
+ );
926
+ };
927
+ var Modal_default = Modal;
928
+
929
+ // src/components/Paragraph.tsx
930
+ var import_styled_components15 = __toESM(require("styled-components"));
931
+ var import_jsx_runtime15 = require("react/jsx-runtime");
932
+ var StyledParagraph = import_styled_components15.default.p`
933
+ margin: 0;
934
+ font-size: 1rem;
935
+ line-height: 1.6;
936
+ color: inherit;
937
+ `;
938
+ var Paragraph = ({ children, ...rest }) => {
939
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(StyledParagraph, { ...rest, children });
940
+ };
941
+ var Paragraph_default = Paragraph;
942
+
943
+ // src/components/Radio.tsx
944
+ var import_styled_components16 = __toESM(require("styled-components"));
945
+ var import_jsx_runtime16 = require("react/jsx-runtime");
946
+ var Wrapper4 = import_styled_components16.default.label`
947
+ display: inline-flex;
948
+ align-items: center;
949
+ gap: 0.5rem;
950
+ cursor: pointer;
951
+ user-select: none;
952
+ `;
953
+ var HiddenInput2 = import_styled_components16.default.input.attrs({ type: "radio" })`
954
+ position: absolute;
955
+ opacity: 0;
956
+ pointer-events: none;
957
+ `;
958
+ var circleBase = import_styled_components16.css`
959
+ width: 16px;
960
+ height: 16px;
961
+ border-radius: 50%;
962
+ border: 2px solid #ccc;
963
+ display: flex;
964
+ align-items: center;
965
+ justify-content: center;
966
+ transition: all 0.15s ease;
967
+ `;
968
+ var Circle = import_styled_components16.default.span`
969
+ ${circleBase}
970
+ border-color: ${({ $checked }) => $checked ? "#2d8eff" : "#ccc"};
971
+ opacity: ${({ $disabled }) => $disabled ? 0.6 : 1};
972
+
973
+ ${Wrapper4}:hover & {
974
+ border-color: #2d8eff;
975
+ }
976
+ `;
977
+ var Dot = import_styled_components16.default.span`
978
+ width: 8px;
979
+ height: 8px;
980
+ background: #2d8eff;
981
+ border-radius: 50%;
982
+ `;
983
+ var Radio = ({
984
+ checked = false,
985
+ disabled = false,
986
+ label,
987
+ ...rest
988
+ }) => {
989
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(Wrapper4, { children: [
990
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
991
+ HiddenInput2,
992
+ {
993
+ checked,
994
+ disabled,
995
+ ...rest
996
+ }
997
+ ),
998
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Circle, { $checked: checked, $disabled: disabled, children: checked && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Dot, {}) }),
999
+ label && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { children: label })
1000
+ ] });
1001
+ };
1002
+ var Radio_default = Radio;
1003
+
1004
+ // src/components/Select.tsx
1005
+ var import_react5 = __toESM(require("react"));
1006
+ var import_styled_components17 = __toESM(require("styled-components"));
1007
+ var import_react_dom4 = require("react-dom");
1008
+ var import_jsx_runtime17 = require("react/jsx-runtime");
1009
+ var Option = () => null;
1010
+ Option.displayName = "SelectOption";
1011
+ var Trigger = import_styled_components17.default.div`
1012
+ border: 1px solid
1013
+ ${({ $state }) => $state === "error" ? "#e53935" : "#ccc"};
1014
+ border-radius: 6px;
1015
+ padding: ${({ $size }) => $size === "sm" ? "0.4rem 0.6rem" : $size === "lg" ? "0.7rem 0.9rem" : "0.55rem 0.75rem"};
1016
+ cursor: pointer;
1017
+ background: #fff;
1018
+ `;
1019
+ var Dropdown = import_styled_components17.default.div`
1020
+ position: fixed;
1021
+ min-width: 200px;
1022
+ background: white;
1023
+ border-radius: 6px;
1024
+ box-shadow: 0 12px 32px rgba(0, 0, 0, 0.15);
1025
+ padding: 0.25rem;
1026
+ z-index: 1000;
1027
+ `;
1028
+ var Item = import_styled_components17.default.div`
1029
+ padding: 0.4rem 0.6rem;
1030
+ border-radius: 4px;
1031
+ cursor: pointer;
1032
+ background: ${({ $active }) => $active ? "#2d8eff" : "transparent"};
1033
+ color: ${({ $active }) => $active ? "#fff" : "inherit"};
1034
+
1035
+ &:hover {
1036
+ background: ${({ $active }) => $active ? "#2d8eff" : "#f5f5f5"};
1037
+ }
1038
+ `;
1039
+ var Select = ({
1040
+ value,
1041
+ placeholder = "Select",
1042
+ options,
1043
+ onChange,
1044
+ selectSize = "md",
1045
+ state = "default",
1046
+ children,
1047
+ ...rest
1048
+ }) => {
1049
+ const ref = (0, import_react5.useRef)(null);
1050
+ const [open, setOpen] = (0, import_react5.useState)(false);
1051
+ const [pos, setPos] = (0, import_react5.useState)({ top: 0, left: 0 });
1052
+ const childOptions = import_react5.default.Children.toArray(children).filter(
1053
+ (child) => import_react5.default.isValidElement(child) && child.type === Option
1054
+ ).map((child) => ({
1055
+ value: child.props.value,
1056
+ label: child.props.children
1057
+ }));
1058
+ const finalOptions = options ?? childOptions;
1059
+ const selected = finalOptions.find((o) => o.value === value)?.label ?? placeholder;
1060
+ const openDropdown = () => {
1061
+ if (!ref.current) return;
1062
+ const rect = ref.current.getBoundingClientRect();
1063
+ setPos({
1064
+ top: rect.bottom + 6,
1065
+ left: rect.left
1066
+ });
1067
+ setOpen(true);
1068
+ };
1069
+ (0, import_react5.useEffect)(() => {
1070
+ const handler = (e) => {
1071
+ if (ref.current && !ref.current.contains(e.target)) {
1072
+ setOpen(false);
1073
+ }
1074
+ };
1075
+ document.addEventListener("mousedown", handler);
1076
+ return () => document.removeEventListener("mousedown", handler);
1077
+ }, []);
1078
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_jsx_runtime17.Fragment, { children: [
1079
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
1080
+ Trigger,
1081
+ {
1082
+ ref,
1083
+ onClick: openDropdown,
1084
+ $size: selectSize,
1085
+ $state: state,
1086
+ ...rest,
1087
+ children: selected
1088
+ }
1089
+ ),
1090
+ open && (0, import_react_dom4.createPortal)(
1091
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
1092
+ Dropdown,
1093
+ {
1094
+ style: {
1095
+ top: pos.top,
1096
+ left: pos.left
1097
+ },
1098
+ children: finalOptions.map((opt) => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
1099
+ Item,
1100
+ {
1101
+ $active: opt.value === value,
1102
+ onClick: () => {
1103
+ onChange?.(opt.value);
1104
+ setOpen(false);
1105
+ },
1106
+ children: opt.label
1107
+ },
1108
+ opt.value
1109
+ ))
1110
+ }
1111
+ ),
1112
+ document.body
1113
+ )
1114
+ ] });
1115
+ };
1116
+ Select.Option = Option;
1117
+ var Select_default = Select;
1118
+
1119
+ // src/components/Switch.tsx
1120
+ var import_styled_components18 = __toESM(require("styled-components"));
1121
+ var import_jsx_runtime18 = require("react/jsx-runtime");
1122
+ var Wrapper5 = import_styled_components18.default.label`
1123
+ display: inline-flex;
1124
+ align-items: center;
1125
+ gap: 0.5rem;
1126
+ cursor: pointer;
1127
+ user-select: none;
1128
+ `;
1129
+ var HiddenInput3 = import_styled_components18.default.input.attrs({ type: "checkbox" })`
1130
+ position: absolute;
1131
+ opacity: 0;
1132
+ pointer-events: none;
1133
+ `;
1134
+ var trackBase = import_styled_components18.css`
1135
+ width: 36px;
1136
+ height: 20px;
1137
+ border-radius: 999px;
1138
+ background-color: #ccc;
1139
+ position: relative;
1140
+ transition: background-color 0.2s ease;
1141
+ `;
1142
+ var Track = import_styled_components18.default.span`
1143
+ ${trackBase}
1144
+ background-color: ${({ $checked }) => $checked ? "#2d8eff" : "#ccc"};
1145
+ opacity: ${({ $disabled }) => $disabled ? 0.6 : 1};
1146
+ `;
1147
+ var Thumb = import_styled_components18.default.span`
1148
+ width: 16px;
1149
+ height: 16px;
1150
+ background-color: #fff;
1151
+ border-radius: 50%;
1152
+ position: absolute;
1153
+ top: 2px;
1154
+ left: 2px;
1155
+ transition: transform 0.2s ease;
1156
+
1157
+ transform: ${({ $checked }) => $checked ? "translateX(16px)" : "translateX(0)"};
1158
+ `;
1159
+ var Switch = ({
1160
+ checked = false,
1161
+ disabled = false,
1162
+ label,
1163
+ ...rest
1164
+ }) => {
1165
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(Wrapper5, { children: [
1166
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
1167
+ HiddenInput3,
1168
+ {
1169
+ checked,
1170
+ disabled,
1171
+ ...rest
1172
+ }
1173
+ ),
1174
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Track, { $checked: checked, $disabled: disabled, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Thumb, { $checked: checked }) }),
1175
+ label && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("span", { children: label })
1176
+ ] });
1177
+ };
1178
+ var Switch_default = Switch;
1179
+
1180
+ // src/components/Text.tsx
1181
+ var import_styled_components19 = __toESM(require("styled-components"));
1182
+ var import_jsx_runtime19 = require("react/jsx-runtime");
1183
+ var baseStyle7 = import_styled_components19.css`
1184
+ font-size: 12px;
1185
+ `;
1186
+ var variantStyles4 = {
1187
+ h1: import_styled_components19.css`
1188
+ font-size: 2em;
1189
+ font-weight: bold;
1190
+ `,
1191
+ h2: import_styled_components19.css`
1192
+ font-size: 1.5em;
1193
+ font-weight: bold;
1194
+ `,
1195
+ h3: import_styled_components19.css`
1196
+ font-size: 1.17em;
1197
+ font-weight: bold;
1198
+ `,
1199
+ h4: import_styled_components19.css`
1200
+ font-size: 1em;
1201
+ font-weight: bold;
1202
+ `,
1203
+ h5: import_styled_components19.css`
1204
+ font-size: 0.83em;
1205
+ font-weight: bold;
1206
+ `,
1207
+ h6: import_styled_components19.css`
1208
+ font-size: 0.67em;
1209
+ font-weight: bold;
1210
+ `,
1211
+ p: import_styled_components19.css`
1212
+ font-size: 0.875em;
1213
+ `
1214
+ };
1215
+ var StyledButton2 = import_styled_components19.default.span`
1216
+ ${baseStyle7}
1217
+ ${({ $variant }) => variantStyles4[$variant]}
1218
+ `;
1219
+ var Text = ({
1220
+ fontVariant = "p",
1221
+ children,
1222
+ ...rest
1223
+ }) => {
1224
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(StyledButton2, { $variant: fontVariant, ...rest, children });
1225
+ };
1226
+ var Text_default = Text;
1227
+
1228
+ // src/components/Textarea.tsx
1229
+ var import_styled_components20 = __toESM(require("styled-components"));
1230
+ var import_jsx_runtime20 = require("react/jsx-runtime");
1231
+ var baseStyle8 = import_styled_components20.css`
1232
+ width: 100%;
1233
+ font-family: inherit;
1234
+ border-radius: 6px;
1235
+ border: 1px solid #ccc;
1236
+ background-color: #fff;
1237
+ color: inherit;
1238
+ outline: none;
1239
+ resize: vertical;
1240
+ transition: border-color 0.2s ease, box-shadow 0.2s ease;
1241
+
1242
+ &:focus {
1243
+ border-color: #2d8eff;
1244
+ box-shadow: 0 0 0 2px rgba(45, 142, 255, 0.2);
1245
+ }
1246
+
1247
+ &:disabled {
1248
+ background-color: #f5f5f5;
1249
+ cursor: not-allowed;
1250
+ opacity: 0.7;
1251
+ }
1252
+ `;
1253
+ var sizeStyles3 = {
1254
+ sm: import_styled_components20.css`
1255
+ padding: 0.4rem 0.6rem;
1256
+ font-size: 0.875rem;
1257
+ min-height: 80px;
1258
+ `,
1259
+ md: import_styled_components20.css`
1260
+ padding: 0.5rem 0.75rem;
1261
+ font-size: 1rem;
1262
+ min-height: 120px;
1263
+ `,
1264
+ lg: import_styled_components20.css`
1265
+ padding: 0.65rem 0.9rem;
1266
+ font-size: 1.125rem;
1267
+ min-height: 160px;
1268
+ `
1269
+ };
1270
+ var stateStyles = {
1271
+ default: import_styled_components20.css``,
1272
+ error: import_styled_components20.css`
1273
+ border-color: #e53935;
1274
+
1275
+ &:focus {
1276
+ border-color: #e53935;
1277
+ box-shadow: 0 0 0 2px rgba(229, 57, 53, 0.2);
1278
+ }
1279
+ `
1280
+ };
1281
+ var StyledTextarea = import_styled_components20.default.textarea`
1282
+ ${baseStyle8}
1283
+ ${({ $size }) => sizeStyles3[$size]}
1284
+ ${({ $state }) => stateStyles[$state]}
1285
+ `;
1286
+ var Textarea = ({
1287
+ size = "md",
1288
+ state = "default",
1289
+ ...rest
1290
+ }) => {
1291
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(StyledTextarea, { $size: size, $state: state, ...rest });
1292
+ };
1293
+ var Textarea_default = Textarea;
1294
+
1295
+ // src/components/Menus/CenterMenu.tsx
1296
+ var import_styled_components21 = __toESM(require("styled-components"));
1297
+ var import_jsx_runtime21 = require("react/jsx-runtime");
1298
+ var baseStyle9 = import_styled_components21.css`
1299
+ padding: 0.2em 0em 0.2em 0em;
1300
+ cursor: pointer;
1301
+ font-weight: 600;
1302
+ transistion: all 900ms;
1303
+ display: flex;
1304
+ width: 100%;
1305
+ justify-content: center;
1306
+ align-items: center;
1307
+ gap: 3%;
1308
+ background-color: rgb(71, 91, 248);
1309
+ `;
1310
+ var StyledMenu = import_styled_components21.default.div`
1311
+ ${baseStyle9}
1312
+ `;
1313
+ var CenterMenu = ({
1314
+ menuItems = ["SampleMenu_1", "SampleMenu_2", "SampleMenu_3"],
1315
+ logo,
1316
+ alt = "logo",
1317
+ href = "#",
1318
+ children,
1319
+ ...rest
1320
+ }) => {
1321
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(StyledMenu, { ...rest, children: [
1322
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("a", { href, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
1323
+ "img",
1324
+ {
1325
+ src: logo,
1326
+ alt,
1327
+ width: "48px",
1328
+ height: "48px",
1329
+ style: {
1330
+ mixBlendMode: "multiply",
1331
+ objectFit: "contain"
1332
+ }
1333
+ }
1334
+ ) }),
1335
+ menuItems.map((x, i) => {
1336
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { children: x }, i);
1337
+ })
1338
+ ] });
1339
+ };
1340
+ var CenterMenu_default = CenterMenu;
1341
+
1342
+ // src/components/Layouts/Row.tsx
1343
+ var import_styled_components22 = __toESM(require("styled-components"));
1344
+ var import_jsx_runtime22 = require("react/jsx-runtime");
1345
+ var baseStyle10 = import_styled_components22.css`
1346
+ display: flex;
1347
+ flex-direction: row;
1348
+ `;
1349
+ var justifyStyles3 = {
1350
+ center: import_styled_components22.css`
1351
+ height: inherit;
1352
+ width: inherit;
1353
+ justify-content: center;
1354
+ `,
1355
+ start: import_styled_components22.css`
1356
+ height: inherit;
1357
+ width: inherit;
1358
+ justify-content: start;
1359
+ `,
1360
+ end: import_styled_components22.css`
1361
+ height: inherit;
1362
+ width: inherit;
1363
+ justify-content: end;
1364
+ `,
1365
+ FStart: import_styled_components22.css`
1366
+ height: inherit;
1367
+ width: inherit;
1368
+ justify-content: flex-start;
1369
+ `,
1370
+ FEnd: import_styled_components22.css`
1371
+ height: inherit;
1372
+ width: inherit;
1373
+ justify-content: flex-end;
1374
+ `,
1375
+ left: import_styled_components22.css`
1376
+ height: inherit;
1377
+ width: inherit;
1378
+ justify-content: left;
1379
+ `,
1380
+ right: import_styled_components22.css`
1381
+ height: inherit;
1382
+ width: inherit;
1383
+ justify-content: right;
1384
+ `,
1385
+ between: import_styled_components22.css`
1386
+ height: inherit;
1387
+ width: inherit;
1388
+ justify-content: space-between;
1389
+ `,
1390
+ around: import_styled_components22.css`
1391
+ height: inherit;
1392
+ width: inherit;
1393
+ justify-content: space-around;
1394
+ `,
1395
+ even: import_styled_components22.css`
1396
+ height: inherit;
1397
+ width: inherit;
1398
+ justify-content: space-evenly;
1399
+ `
1400
+ };
1401
+ var gapStyles4 = {
1402
+ xs: import_styled_components22.css`
1403
+ gap: 1em;
1404
+ `,
1405
+ sm: import_styled_components22.css`
1406
+ gap: 3em;
1407
+ `,
1408
+ md: import_styled_components22.css`
1409
+ gap: 5em;
1410
+ `,
1411
+ lg: import_styled_components22.css`
1412
+ gap: 7em;
1413
+ `
1414
+ };
1415
+ var CustomDiv3 = import_styled_components22.default.div`
1416
+ ${baseStyle10}
1417
+ ${({ $justify, $gap }) => import_styled_components22.css`
1418
+ ${justifyStyles3[$justify]}
1419
+ ${gapStyles4[$gap]}
1420
+ `}
1421
+ `;
1422
+ var Row = ({
1423
+ justify = "center",
1424
+ gap = "xs",
1425
+ children,
1426
+ ...rest
1427
+ }) => {
1428
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(CustomDiv3, { $justify: justify, $gap: gap, ...rest, children });
1429
+ };
1430
+ var Row_default = Row;
1431
+
1432
+ // src/components/Menus/HorizantalMenu.tsx
1433
+ var import_styled_components23 = __toESM(require("styled-components"));
1434
+ var import_jsx_runtime23 = require("react/jsx-runtime");
1435
+ var baseStyle11 = import_styled_components23.css`
1436
+ padding: 1em 0em 1em 0em;
1437
+ cursor: pointer;
1438
+ font-weight: 600;
1439
+ transistion: all 900ms;
1440
+ display: flex;
1441
+ width: 100%;
1442
+ justify-content: space-between;
1443
+ background-color:rgb(71, 91, 248);
1444
+ `;
1445
+ var StyledMenu2 = import_styled_components23.default.div`
1446
+ ${baseStyle11}
1447
+ `;
1448
+ var HorizantalMenu = ({
1449
+ menuItems = ["SampleMenu_1", "SampleMenu_2", "SampleMenu_3"],
1450
+ logo,
1451
+ alt = "logo",
1452
+ href = "#",
1453
+ children,
1454
+ ...rest
1455
+ }) => {
1456
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(StyledMenu2, { ...rest, children: [
1457
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("a", { href, children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1458
+ "img",
1459
+ {
1460
+ src: logo,
1461
+ alt,
1462
+ width: "36px",
1463
+ height: "36px",
1464
+ style: {
1465
+ mixBlendMode: "multiply",
1466
+ objectFit: "contain"
1467
+ }
1468
+ }
1469
+ ) }),
1470
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Row_default, { justify: "FEnd", children: menuItems.map((x, i) => {
1471
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { children: x }, i);
1472
+ }) })
1473
+ ] });
1474
+ };
1475
+ var HorizantalMenu_default = HorizantalMenu;
1476
+
1477
+ // src/components/Layouts/Center.tsx
1478
+ var import_styled_components24 = __toESM(require("styled-components"));
1479
+ var import_jsx_runtime24 = require("react/jsx-runtime");
1480
+ var baseStyle12 = import_styled_components24.css`
1481
+ display: flex;
1482
+ height: inherit;
1483
+ width: inherit;
1484
+ justify-content: center;
1485
+ align-items: center;
1486
+ `;
1487
+ var CustomDiv4 = import_styled_components24.default.div`
1488
+ ${baseStyle12}
1489
+ `;
1490
+ var Center = ({
1491
+ children,
1492
+ ...rest
1493
+ }) => {
1494
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(CustomDiv4, { ...rest, children });
1495
+ };
1496
+ var Center_default = Center;
1497
+
1498
+ // src/components/Layouts/Col.tsx
1499
+ var import_styled_components25 = __toESM(require("styled-components"));
1500
+ var import_jsx_runtime25 = require("react/jsx-runtime");
1501
+ var baseStyle13 = import_styled_components25.css`
1502
+ display: flex;
1503
+ flex-direction: column;
1504
+ `;
1505
+ var justifyStyles4 = {
1506
+ center: import_styled_components25.css`
1507
+ height: inherit;
1508
+ width: inherit;
1509
+ justify-content: center;
1510
+ `,
1511
+ start: import_styled_components25.css`
1512
+ height: inherit;
1513
+ width: inherit;
1514
+ justify-content: start;
1515
+ `,
1516
+ end: import_styled_components25.css`
1517
+ height: inherit;
1518
+ width: inherit;
1519
+ justify-content: end;
1520
+ `,
1521
+ FStart: import_styled_components25.css`
1522
+ height: inherit;
1523
+ width: inherit;
1524
+ justify-content: flex-start;
1525
+ `,
1526
+ FEnd: import_styled_components25.css`
1527
+ height: inherit;
1528
+ width: inherit;
1529
+ justify-content: flex-end;
1530
+ `,
1531
+ left: import_styled_components25.css`
1532
+ height: inherit;
1533
+ width: inherit;
1534
+ justify-content: left;
1535
+ `,
1536
+ right: import_styled_components25.css`
1537
+ height: inherit;
1538
+ width: inherit;
1539
+ justify-content: right;
1540
+ `,
1541
+ between: import_styled_components25.css`
1542
+ height: inherit;
1543
+ width: inherit;
1544
+ justify-content: space-between;
1545
+ `,
1546
+ around: import_styled_components25.css`
1547
+ height: inherit;
1548
+ width: inherit;
1549
+ justify-content: space-around;
1550
+ `,
1551
+ even: import_styled_components25.css`
1552
+ height: inherit;
1553
+ width: inherit;
1554
+ justify-content: space-evenly;
1555
+ `
1556
+ };
1557
+ var gapStyles5 = {
1558
+ xs: import_styled_components25.css`
1559
+ gap: 1em;
1560
+ `,
1561
+ sm: import_styled_components25.css`
1562
+ gap: 3em;
1563
+ `,
1564
+ md: import_styled_components25.css`
1565
+ gap: 5em;
1566
+ `,
1567
+ lg: import_styled_components25.css`
1568
+ gap: 7em;
1569
+ `
1570
+ };
1571
+ var CustomDiv5 = import_styled_components25.default.div`
1572
+ ${baseStyle13}
1573
+ ${({ $justify, $gap }) => import_styled_components25.css`
1574
+ ${justifyStyles4[$justify]}
1575
+ ${gapStyles5[$gap]}
1576
+ `}
1577
+ `;
1578
+ var Col = ({
1579
+ justify = "center",
1580
+ gap = "xs",
1581
+ children,
1582
+ ...rest
1583
+ }) => {
1584
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(CustomDiv5, { $justify: justify, $gap: gap, ...rest, children });
1585
+ };
1586
+ var Col_default = Col;
1587
+
1588
+ // src/components/Layouts/Container.tsx
1589
+ var import_styled_components26 = __toESM(require("styled-components"));
1590
+ var import_jsx_runtime26 = require("react/jsx-runtime");
1591
+ var baseStyle14 = import_styled_components26.css`
1592
+ padding: 1em;
1593
+ `;
1594
+ var sizeStyles4 = {
1595
+ xs: import_styled_components26.css`
1596
+ max-width: 576px;
1597
+ width: 100%;
1598
+ display: flex;
1599
+ margin-left: auto;
1600
+ margin-right: auto;
1601
+ align-items: center;
1602
+ justify-content: center;
1603
+ height: 100vh;
1604
+ `,
1605
+ sm: import_styled_components26.css`
1606
+ max-width: 688px;
1607
+ width: 100%;
1608
+ display: flex;
1609
+ margin-left: auto;
1610
+ margin-right: auto;
1611
+ align-items: center;
1612
+ justify-content: center;
1613
+ height: 100vh;
1614
+ `,
1615
+ md: import_styled_components26.css`
1616
+ max-width: 768px;
1617
+ width: 100%;
1618
+ display: flex;
1619
+ margin-left: auto;
1620
+ margin-right: auto;
1621
+ align-items: center;
1622
+ justify-content: center;
1623
+ height: 100vh;
1624
+ `,
1625
+ lg: import_styled_components26.css`
1626
+ max-width: 100%;
1627
+ width: 100%;
1628
+ display: flex;
1629
+ padding: 0px;
1630
+ margin-left: auto;
1631
+ margin-right: auto;
1632
+ align-items: center;
1633
+ justify-content: center;
1634
+ height: 100vh;
1635
+ `
1636
+ };
1637
+ var flexStyles = {
1638
+ row: import_styled_components26.css`
1639
+ width: inherit;
1640
+ display: flex;
1641
+ flex-direction: row;
1642
+ `,
1643
+ col: import_styled_components26.css`
1644
+ width: inherit;
1645
+ display: flex;
1646
+ flex-direction: column;
1647
+ `
1648
+ };
1649
+ var gapStyles6 = {
1650
+ xs: import_styled_components26.css`
1651
+ gap: 1em;
1652
+ `,
1653
+ sm: import_styled_components26.css`
1654
+ gap: 3em;
1655
+ `,
1656
+ md: import_styled_components26.css`
1657
+ gap: 5em;
1658
+ `,
1659
+ lg: import_styled_components26.css`
1660
+ gap: 7em;
1661
+ `
1662
+ };
1663
+ var CustomDiv6 = import_styled_components26.default.div`
1664
+ ${baseStyle14}
1665
+ ${({ $size, $flex, $gap }) => import_styled_components26.css`
1666
+ ${sizeStyles4[$size]}
1667
+ ${flexStyles[$flex]}
1668
+ ${gapStyles6[$gap]}
1669
+ `}
1670
+ `;
1671
+ var Container = ({
1672
+ size = "lg",
1673
+ flex = "row",
1674
+ gap = "xs",
1675
+ children,
1676
+ ...rest
1677
+ }) => {
1678
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(CustomDiv6, { $size: size, $flex: flex, $gap: gap, ...rest, children });
1679
+ };
1680
+ var Container_default = Container;
1681
+
1682
+ // src/components/Layouts/Grid.tsx
1683
+ var import_styled_components27 = __toESM(require("styled-components"));
1684
+ var import_jsx_runtime27 = require("react/jsx-runtime");
1685
+ var baseStyle15 = import_styled_components27.css`
1686
+ display: grid;
1687
+ width: 100%;
1688
+ `;
1689
+ var gapStyles7 = {
1690
+ xs: import_styled_components27.css`
1691
+ gap: 0.5rem;
1692
+ `,
1693
+ sm: import_styled_components27.css`
1694
+ gap: 1rem;
1695
+ `,
1696
+ md: import_styled_components27.css`
1697
+ gap: 2rem;
1698
+ `,
1699
+ lg: import_styled_components27.css`
1700
+ gap: 3rem;
1701
+ `
1702
+ };
1703
+ var StyledGrid = import_styled_components27.default.div`
1704
+ ${baseStyle15}
1705
+
1706
+ ${({ $columns }) => import_styled_components27.css`
1707
+ grid-template-columns: repeat(${$columns}, minmax(0, 1fr));
1708
+ `}
1709
+
1710
+ ${({ $rows }) => $rows && import_styled_components27.css`
1711
+ grid-template-rows: repeat(${$rows}, 1fr);
1712
+ `}
1713
+
1714
+ ${({ $gap }) => gapStyles7[$gap]}
1715
+ `;
1716
+ var Grid2 = ({
1717
+ columns = 12,
1718
+ rows,
1719
+ gap = "sm",
1720
+ children,
1721
+ ...rest
1722
+ }) => {
1723
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
1724
+ StyledGrid,
1725
+ {
1726
+ $columns: columns,
1727
+ $rows: rows,
1728
+ $gap: gap,
1729
+ ...rest,
1730
+ children
1731
+ }
1732
+ );
1733
+ };
1734
+ var Grid_default = Grid2;
1735
+
1736
+ // src/components/Layouts/Stack.tsx
1737
+ var import_styled_components28 = __toESM(require("styled-components"));
1738
+ var import_jsx_runtime28 = require("react/jsx-runtime");
1739
+ var baseStyle16 = import_styled_components28.css`
1740
+ display: flex;
1741
+ width: 100%;
1742
+ `;
1743
+ var directionStyles = {
1744
+ vertical: import_styled_components28.css`
1745
+ flex-direction: column;
1746
+ `,
1747
+ horizontal: import_styled_components28.css`
1748
+ flex-direction: row;
1749
+ `
1750
+ };
1751
+ var gapStyles8 = {
1752
+ xs: import_styled_components28.css`
1753
+ gap: 0.5rem;
1754
+ `,
1755
+ sm: import_styled_components28.css`
1756
+ gap: 1rem;
1757
+ `,
1758
+ md: import_styled_components28.css`
1759
+ gap: 2rem;
1760
+ `,
1761
+ lg: import_styled_components28.css`
1762
+ gap: 3rem;
1763
+ `
1764
+ };
1765
+ var StyledStack = import_styled_components28.default.div`
1766
+ ${baseStyle16}
1767
+ ${({ $direction }) => directionStyles[$direction]}
1768
+ ${({ $gap }) => gapStyles8[$gap]}
1769
+ `;
1770
+ var Stack = ({
1771
+ direction = "vertical",
1772
+ gap = "sm",
1773
+ children,
1774
+ ...rest
1775
+ }) => {
1776
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(StyledStack, { $direction: direction, $gap: gap, ...rest, children });
1777
+ };
1778
+ var Stack_default = Stack;
1779
+ // Annotate the CommonJS export names for ESM import in node:
1780
+ 0 && (module.exports = {
1781
+ Box,
1782
+ Button,
1783
+ Card,
1784
+ Center,
1785
+ CenterMenu,
1786
+ Checkbox,
1787
+ Col,
1788
+ Container,
1789
+ DatePicker,
1790
+ Divider,
1791
+ Drawer,
1792
+ Flex,
1793
+ Form,
1794
+ FormControl,
1795
+ Grid,
1796
+ Heading,
1797
+ HorizantalMenu,
1798
+ Input,
1799
+ Link,
1800
+ Modal,
1801
+ Paragraph,
1802
+ Radio,
1803
+ Row,
1804
+ Select,
1805
+ Stack,
1806
+ Switch,
1807
+ Text,
1808
+ Textarea
1809
+ });
75
1810
  //# sourceMappingURL=index.js.map