@dafaz-ui/react 2.2.2 → 3.0.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.js CHANGED
@@ -1,10 +1,12 @@
1
1
  "use strict";
2
+ var __create = Object.create;
2
3
  var __defProp = Object.defineProperty;
3
4
  var __defProps = Object.defineProperties;
4
5
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
6
  var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
6
7
  var __getOwnPropNames = Object.getOwnPropertyNames;
7
8
  var __getOwnPropSymbols = Object.getOwnPropertySymbols;
9
+ var __getProtoOf = Object.getPrototypeOf;
8
10
  var __hasOwnProp = Object.prototype.hasOwnProperty;
9
11
  var __propIsEnum = Object.prototype.propertyIsEnumerable;
10
12
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
@@ -44,6 +46,14 @@ var __copyProps = (to, from, except, desc) => {
44
46
  }
45
47
  return to;
46
48
  };
49
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
50
+ // If the importer is in node compatibility mode or this is not an ESM
51
+ // file that has been converted to a CommonJS file using a Babel-
52
+ // compatible transform (i.e. "__esModule" has not been set), then set
53
+ // "default" to the CommonJS "module.exports" for node compatibility.
54
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
55
+ mod
56
+ ));
47
57
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
48
58
 
49
59
  // src/index.tsx
@@ -51,8 +61,11 @@ var src_exports = {};
51
61
  __export(src_exports, {
52
62
  Box: () => Box,
53
63
  Button: () => Button,
64
+ CheckBox: () => CheckBox,
54
65
  Heading: () => Heading,
66
+ Radio: () => Radio,
55
67
  Text: () => Text,
68
+ TextArea: () => TextArea,
56
69
  TextInput: () => TextInput,
57
70
  config: () => config,
58
71
  createTheme: () => createTheme,
@@ -197,6 +210,7 @@ function Box(_a) {
197
210
  var _b = _a, { children } = _b, props = __objRest(_b, ["children"]);
198
211
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(BoxUI, __spreadProps(__spreadValues({}, props), { children }));
199
212
  }
213
+ Box.displayName = "Box";
200
214
 
201
215
  // src/components/Button/styles.ts
202
216
  var ButtonUI = styled("button", {
@@ -302,43 +316,135 @@ function Button(_a) {
302
316
  ]);
303
317
  return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(ButtonUI, __spreadProps(__spreadValues({ variant, size }, props), { children }));
304
318
  }
305
- ButtonUI.displayName = "Button";
306
319
 
307
- // src/components/Text/styles.ts
308
- var TextUI = styled("p", {
309
- fontFamily: "$web",
310
- lineHeight: "$base",
311
- margin: 0,
320
+ // src/components/CheckBox/styles.ts
321
+ var Checkbox = __toESM(require("@radix-ui/react-checkbox"));
322
+ var CheckBoxUI = styled(Checkbox.Root, {
323
+ all: "unset",
324
+ borderRadius: "$md",
325
+ lineHeight: 0,
326
+ cursor: "pointer",
327
+ overflow: "hidden",
328
+ boxSizing: "border-box",
329
+ display: "flex",
330
+ justifyContent: "center",
331
+ alignItems: "center",
332
+ borderBottom: "2px solid $dafaz600",
333
+ transition: "border 0.1s linear",
334
+ '&:focus,&[data-state="checked"]': {
335
+ backgroundColor: "$dafaz600",
336
+ borderColor: "$dafaz600"
337
+ },
338
+ '&[data-state="unchecked"]': {
339
+ backgroundColor: "$gray800"
340
+ },
341
+ "&:hover": {
342
+ borderColor: "$dafaz600"
343
+ },
344
+ variants: {
345
+ size: {
346
+ lg: {
347
+ width: "$7",
348
+ height: "$7",
349
+ borderBottom: "2px solid $dafaz600"
350
+ },
351
+ md: {
352
+ width: "$5",
353
+ height: "$5",
354
+ borderBottom: "1px solid $dafaz600"
355
+ },
356
+ sm: {
357
+ width: "$5",
358
+ height: "$5",
359
+ borderBottom: "0.5px solid $dafaz600"
360
+ }
361
+ }
362
+ },
363
+ defaultVariants: {
364
+ size: "lg"
365
+ }
366
+ });
367
+ var slideIn = keyframes({
368
+ from: { transform: "translateY(-100%)" },
369
+ to: { transform: "translateY(0)" }
370
+ });
371
+ var slideOut = keyframes({
372
+ from: { transform: "translateY(0)" },
373
+ to: { transform: "translateY(100%)" }
374
+ });
375
+ var CheckBoxIndicator = styled(Checkbox.Indicator, {
312
376
  color: "$white",
377
+ '&[data-state="checked"]': {
378
+ animation: `${slideIn} 200ms ease-out`
379
+ },
380
+ '&[data-state="unchecked"]': {
381
+ animation: `${slideOut} 200ms ease-out`
382
+ },
313
383
  variants: {
314
384
  size: {
315
- xxs: { fontSize: "$xxs" },
316
- xs: { fontSize: "$xs" },
317
- sm: { fontSize: "$sm" },
318
- md: { fontSize: "$md" },
319
- lg: { fontSize: "$lg" },
320
- xl: { fontSize: "$xl" },
321
- "2xl": { fontSize: "$2xl" }
385
+ lg: {
386
+ width: "$5",
387
+ height: "$5"
388
+ },
389
+ md: {
390
+ width: "$4",
391
+ height: "$4"
392
+ },
393
+ sm: {
394
+ width: "$3",
395
+ height: "$3"
396
+ }
322
397
  }
323
398
  },
324
399
  defaultVariants: {
325
- size: "md"
400
+ size: "lg"
401
+ }
402
+ });
403
+ var Label = styled("label", {
404
+ fontFamily: "$app",
405
+ lineHeight: 0,
406
+ color: "$white",
407
+ fontWeight: "$regular",
408
+ cursor: "pointer",
409
+ display: "flex",
410
+ gap: "$2",
411
+ alignItems: "center",
412
+ variants: {
413
+ size: {
414
+ lg: {
415
+ fontSize: "$xl"
416
+ },
417
+ md: {
418
+ fontSize: "$lg"
419
+ },
420
+ sm: {
421
+ fontSize: "$md"
422
+ }
423
+ }
424
+ },
425
+ defaultVariants: {
426
+ size: "lg"
326
427
  }
327
428
  });
328
429
 
329
- // src/components/Text/index.tsx
430
+ // src/components/CheckBox/index.tsx
431
+ var import_react2 = require("@phosphor-icons/react");
330
432
  var import_jsx_runtime3 = require("react/jsx-runtime");
331
- function Text(_a) {
433
+ function CheckBox(_a) {
332
434
  var _b = _a, {
333
- children,
334
- size = "md"
435
+ id,
436
+ label,
437
+ size
335
438
  } = _b, props = __objRest(_b, [
336
- "children",
439
+ "id",
440
+ "label",
337
441
  "size"
338
442
  ]);
339
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(TextUI, __spreadProps(__spreadValues({ size }, props), { children }));
443
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(Label, { htmlFor: id, size, children: [
444
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(CheckBoxUI, __spreadProps(__spreadValues({ id }, props), { size, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(CheckBoxIndicator, { asChild: true, size, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_react2.Check, { weight: "bold" }) }) })),
445
+ label
446
+ ] });
340
447
  }
341
- Text.displayName = "Text";
342
448
 
343
449
  // src/components/Heading/styles.ts
344
450
  var HeadingUI = styled("h2", {
@@ -374,10 +480,256 @@ function Heading(_a) {
374
480
  var _b = _a, { children } = _b, props = __objRest(_b, ["children"]);
375
481
  return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(HeadingUI, __spreadProps(__spreadValues({}, props), { children }));
376
482
  }
377
- Heading.displayName = "Heading";
483
+
484
+ // src/components/Radio/styles.ts
485
+ var RadioGroup = __toESM(require("@radix-ui/react-radio-group"));
486
+ var RadioUI = styled(RadioGroup.Root, {
487
+ all: "unset",
488
+ display: "flex",
489
+ flexDirection: "column",
490
+ gap: "$4",
491
+ variants: {
492
+ size: {
493
+ lg: {},
494
+ md: {},
495
+ sm: {}
496
+ }
497
+ },
498
+ defaultVariants: {
499
+ size: "lg"
500
+ }
501
+ });
502
+
503
+ // src/components/Radio/RadioItem/index.tsx
504
+ var import_react3 = require("@phosphor-icons/react");
505
+
506
+ // src/components/Radio/RadioItem/styles.ts
507
+ var RadioGroup2 = __toESM(require("@radix-ui/react-radio-group"));
508
+ var RadioItemContainer = styled("div", {
509
+ display: "flex",
510
+ alignItems: "center",
511
+ gap: "$2"
512
+ });
513
+ var RadioItemUI = styled(RadioGroup2.Item, {
514
+ all: "unset",
515
+ borderRadius: "$full",
516
+ lineHeight: 0,
517
+ cursor: "pointer",
518
+ overflow: "hidden",
519
+ boxSizing: "border-box",
520
+ display: "flex",
521
+ justifyContent: "center",
522
+ alignItems: "center",
523
+ borderBottom: "2px solid $dafaz600",
524
+ transition: "border 0.1s linear",
525
+ '&:focus,&[data-state="checked"]': {
526
+ backgroundColor: "$dafaz600",
527
+ borderColor: "$dafaz600"
528
+ },
529
+ '&[data-state="unchecked"]': {
530
+ backgroundColor: "$gray800"
531
+ },
532
+ "&:hover": {
533
+ borderColor: "$dafaz600"
534
+ },
535
+ variants: {
536
+ size: {
537
+ lg: {
538
+ width: "$7",
539
+ height: "$7",
540
+ borderBottom: "2px solid $dafaz600"
541
+ },
542
+ md: {
543
+ width: "$5",
544
+ height: "$5",
545
+ borderBottom: "1px solid $dafaz600"
546
+ },
547
+ sm: {
548
+ width: "$5",
549
+ height: "$5",
550
+ borderBottom: "0.5px solid $dafaz600"
551
+ }
552
+ }
553
+ },
554
+ defaultVariants: {
555
+ size: "lg"
556
+ }
557
+ });
558
+ var slideIn2 = keyframes({
559
+ from: { transform: "translateY(-100%)" },
560
+ to: { transform: "translateY(0)" }
561
+ });
562
+ var slideOut2 = keyframes({
563
+ from: { transform: "translateY(0)" },
564
+ to: { transform: "translateY(100%)" }
565
+ });
566
+ var RadioIndicator = styled(RadioGroup2.Indicator, {
567
+ color: "$white",
568
+ '&[data-state="checked"]': {
569
+ animation: `${slideIn2} 200ms ease-out`
570
+ },
571
+ '&[data-state="unchecked"]': {
572
+ animation: `${slideOut2} 200ms ease-out`
573
+ },
574
+ variants: {
575
+ size: {
576
+ lg: {
577
+ width: "$5",
578
+ height: "$5"
579
+ },
580
+ md: {
581
+ width: "$4",
582
+ height: "$4"
583
+ },
584
+ sm: {
585
+ width: "$3",
586
+ height: "$3"
587
+ }
588
+ }
589
+ },
590
+ defaultVariants: {
591
+ size: "lg"
592
+ }
593
+ });
594
+ var Label2 = styled("label", {
595
+ fontFamily: "$app",
596
+ lineHeight: 0,
597
+ color: "$white",
598
+ fontWeight: "$regular",
599
+ cursor: "pointer",
600
+ variants: {
601
+ size: {
602
+ lg: {
603
+ fontSize: "$xl"
604
+ },
605
+ md: {
606
+ fontSize: "$lg"
607
+ },
608
+ sm: {
609
+ fontSize: "$md"
610
+ }
611
+ }
612
+ },
613
+ defaultVariants: {
614
+ size: "lg"
615
+ }
616
+ });
617
+
618
+ // src/components/Radio/RadioItem/index.tsx
619
+ var import_jsx_runtime5 = require("react/jsx-runtime");
620
+ function RadioItem(_a) {
621
+ var _b = _a, {
622
+ label,
623
+ id,
624
+ size
625
+ } = _b, props = __objRest(_b, [
626
+ "label",
627
+ "id",
628
+ "size"
629
+ ]);
630
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(RadioItemContainer, { children: [
631
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(RadioItemUI, __spreadProps(__spreadValues({ id }, props), { size, children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(RadioIndicator, { asChild: true, size, children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_react3.Check, { weight: "bold" }) }) })),
632
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Label2, { htmlFor: id, size, children: label })
633
+ ] }, id);
634
+ }
635
+
636
+ // src/components/Radio/index.tsx
637
+ var import_jsx_runtime6 = require("react/jsx-runtime");
638
+ function Radio(_a) {
639
+ var _b = _a, { items, size } = _b, props = __objRest(_b, ["items", "size"]);
640
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(RadioUI, __spreadProps(__spreadValues({}, props), { children: items.map((item) => {
641
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
642
+ RadioItem,
643
+ {
644
+ id: item.id,
645
+ label: item.label,
646
+ value: item.value,
647
+ size
648
+ }
649
+ );
650
+ }) }));
651
+ }
652
+
653
+ // src/components/Text/styles.ts
654
+ var TextUI = styled("p", {
655
+ fontFamily: "$web",
656
+ lineHeight: "$base",
657
+ margin: 0,
658
+ color: "$white",
659
+ variants: {
660
+ size: {
661
+ xxs: { fontSize: "$xxs" },
662
+ xs: { fontSize: "$xs" },
663
+ sm: { fontSize: "$sm" },
664
+ md: { fontSize: "$md" },
665
+ lg: { fontSize: "$lg" },
666
+ xl: { fontSize: "$xl" },
667
+ "2xl": { fontSize: "$2xl" }
668
+ }
669
+ },
670
+ defaultVariants: {
671
+ size: "md"
672
+ }
673
+ });
674
+
675
+ // src/components/Text/index.tsx
676
+ var import_jsx_runtime7 = require("react/jsx-runtime");
677
+ function Text(_a) {
678
+ var _b = _a, {
679
+ children,
680
+ size = "md"
681
+ } = _b, props = __objRest(_b, [
682
+ "children",
683
+ "size"
684
+ ]);
685
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(TextUI, __spreadProps(__spreadValues({ size }, props), { children }));
686
+ }
687
+
688
+ // src/components/TextArea/styles.ts
689
+ var TextAreaUI = styled("textarea", {
690
+ fontFamily: "$app",
691
+ fontSize: "$lg",
692
+ color: "$white",
693
+ fontWeight: "$regular",
694
+ resize: "vertical",
695
+ border: "0.7px solid $gray400",
696
+ margin: 0,
697
+ backgroundColor: "transparent",
698
+ borderBottom: "2px solid $dafaz600",
699
+ borderRadius: "$md",
700
+ boxSizing: "border-box",
701
+ display: "flex",
702
+ alignItems: "baseline",
703
+ width: "100%",
704
+ padding: "$1 $2",
705
+ "&:focus": {
706
+ outline: 0
707
+ },
708
+ "&:disabled": {
709
+ opacity: 0.5,
710
+ cursor: "not-allowed"
711
+ },
712
+ "&::placeholder": {
713
+ fontSize: "$xl",
714
+ fontWeight: "$regular",
715
+ color: "$white",
716
+ opacity: 0.75
717
+ }
718
+ });
719
+
720
+ // src/components/TextArea/index.tsx
721
+ var import_jsx_runtime8 = require("react/jsx-runtime");
722
+ function TextArea(_a) {
723
+ var _b = _a, {
724
+ children
725
+ } = _b, props = __objRest(_b, [
726
+ "children"
727
+ ]);
728
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(TextAreaUI, __spreadProps(__spreadValues({ rows: 3 }, props), { children }));
729
+ }
378
730
 
379
731
  // src/components/TextInput/index.tsx
380
- var import_react2 = require("react");
732
+ var import_react4 = require("react");
381
733
 
382
734
  // src/components/TextInput/styles.ts
383
735
  var InputContainer = styled("div", {
@@ -441,8 +793,8 @@ var Sufix = styled("span", {
441
793
  });
442
794
 
443
795
  // src/components/TextInput/index.tsx
444
- var import_jsx_runtime5 = require("react/jsx-runtime");
445
- var TextInput = (0, import_react2.forwardRef)(
796
+ var import_jsx_runtime9 = require("react/jsx-runtime");
797
+ var TextInput = (0, import_react4.forwardRef)(
446
798
  (_a, ref) => {
447
799
  var _b = _a, {
448
800
  withShadow = false,
@@ -453,7 +805,7 @@ var TextInput = (0, import_react2.forwardRef)(
453
805
  "required",
454
806
  "requiredText"
455
807
  ]);
456
- const [hiddenOptional, setHiddenOptional] = (0, import_react2.useState)(required);
808
+ const [hiddenOptional, setHiddenOptional] = (0, import_react4.useState)(required);
457
809
  function handleOnChange(event) {
458
810
  if (!required) {
459
811
  if (event.target.value === "") {
@@ -463,19 +815,21 @@ var TextInput = (0, import_react2.forwardRef)(
463
815
  }
464
816
  }
465
817
  }
466
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(InputContainer, { withShadow, children: [
467
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(InputUI, __spreadValues({ ref, onChange: handleOnChange }, props)),
468
- !hiddenOptional && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Sufix, { style: { marginLeft: `-${requiredText.length / 2}rem` }, children: requiredText })
818
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(InputContainer, { withShadow, children: [
819
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(InputUI, __spreadValues({ ref, onChange: handleOnChange }, props)),
820
+ !hiddenOptional && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Sufix, { style: { marginLeft: `-${requiredText.length / 2}rem` }, children: requiredText })
469
821
  ] });
470
822
  }
471
823
  );
472
- TextInput.displayName = "Input";
473
824
  // Annotate the CommonJS export names for ESM import in node:
474
825
  0 && (module.exports = {
475
826
  Box,
476
827
  Button,
828
+ CheckBox,
477
829
  Heading,
830
+ Radio,
478
831
  Text,
832
+ TextArea,
479
833
  TextInput,
480
834
  config,
481
835
  createTheme,