@koaris/bloom-ui 1.0.3 → 1.0.5

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.mjs CHANGED
@@ -390,6 +390,7 @@ var fractionRegex = /^\d+\/\d+$/;
390
390
  var stringLengths = /* @__PURE__ */ new Set(["px", "full", "screen"]);
391
391
  var tshirtUnitRegex = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/;
392
392
  var lengthUnitRegex = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/;
393
+ var colorFunctionRegex = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/;
393
394
  var shadowRegex = /^-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/;
394
395
  var imageRegex = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/;
395
396
  function isLength(value) {
@@ -444,7 +445,7 @@ function getIsArbitraryValue(value, label, testValue) {
444
445
  return false;
445
446
  }
446
447
  function isLengthOnly(value) {
447
- return lengthUnitRegex.test(value);
448
+ return lengthUnitRegex.test(value) && !colorFunctionRegex.test(value);
448
449
  }
449
450
  function isNever() {
450
451
  return false;
@@ -2576,9 +2577,9 @@ var Button = (_a) => {
2576
2577
  "button",
2577
2578
  __spreadValues({
2578
2579
  className: twMerge(
2579
- "flex items-center justify-center rounded-lg px-8 py-2 text-md font-medium hover:shadow-md hover:shadow-neutral-500",
2580
+ "flex gap-4 items-center justify-center rounded-sm px-8 py-2 text-md font-medium hover:shadow-md hover:shadow-neutral-500 w-full",
2580
2581
  variant === "primary" && "bg-orange-500 text-neutral hover:bg-orange-700",
2581
- variant === "secondary" && "bg-neutral text-orange-500 border border-orange-500 hover:bg-neutral-200",
2582
+ variant === "secondary" && "bg-neutral text-orange-500 border border-orange-500 hover:text-orange-100 hover:bg-orange-500",
2582
2583
  size === "sm" && "px-6 py-1",
2583
2584
  typeof rest.children !== "string" && "px-4",
2584
2585
  disabled === true && "opacity-50 cursor-not-allowed",
@@ -2589,10 +2590,40 @@ var Button = (_a) => {
2589
2590
  );
2590
2591
  };
2591
2592
 
2593
+ // src/components/Link/index.tsx
2594
+ import { jsx as jsx3 } from "react/jsx-runtime";
2595
+ var Link = (_a) => {
2596
+ var _b = _a, {
2597
+ className,
2598
+ disabled,
2599
+ url,
2600
+ newPage = true,
2601
+ onClick
2602
+ } = _b, rest = __objRest(_b, [
2603
+ "className",
2604
+ "disabled",
2605
+ "url",
2606
+ "newPage",
2607
+ "onClick"
2608
+ ]);
2609
+ return /* @__PURE__ */ jsx3(
2610
+ "a",
2611
+ __spreadValues(__spreadValues({
2612
+ className: twMerge(
2613
+ "text-blue-800 font-bold",
2614
+ typeof rest.children !== "string" && "px-4",
2615
+ disabled === true && "opacity-50 cursor-not-allowed",
2616
+ className
2617
+ ),
2618
+ href: url
2619
+ }, newPage && { target: "_blank", rel: "noopener noreferrer" }), rest)
2620
+ );
2621
+ };
2622
+
2592
2623
  // src/components/RadioGroup/index.tsx
2593
2624
  import { useState } from "react";
2594
2625
  import { FiCheck } from "react-icons/fi";
2595
- import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
2626
+ import { jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
2596
2627
  var RadioGroup = ({
2597
2628
  disabled,
2598
2629
  options = [
@@ -2606,7 +2637,7 @@ var RadioGroup = ({
2606
2637
  const handleOptionChange = (value) => {
2607
2638
  setSelectedOption(value);
2608
2639
  };
2609
- return /* @__PURE__ */ jsx3("div", { className: "flex flex-col ", children: options.map((option) => /* @__PURE__ */ jsxs2("div", { className: "flex py-2 items-center", children: [
2640
+ return /* @__PURE__ */ jsx4("div", { className: "flex flex-col ", children: options.map((option) => /* @__PURE__ */ jsxs2("div", { className: "flex py-2 items-center", children: [
2610
2641
  /* @__PURE__ */ jsxs2(
2611
2642
  "label",
2612
2643
  {
@@ -2618,7 +2649,7 @@ var RadioGroup = ({
2618
2649
  className
2619
2650
  ),
2620
2651
  children: [
2621
- /* @__PURE__ */ jsx3(
2652
+ /* @__PURE__ */ jsx4(
2622
2653
  "input",
2623
2654
  {
2624
2655
  type: "radio",
@@ -2632,24 +2663,24 @@ var RadioGroup = ({
2632
2663
  disabled
2633
2664
  }
2634
2665
  ),
2635
- selectedOption === option.value && /* @__PURE__ */ jsx3(FiCheck, { color: "#FFFFFF", size: 12, style: { strokeWidth: 4 } })
2666
+ selectedOption === option.value && /* @__PURE__ */ jsx4(FiCheck, { color: "#FFFFFF", size: 12, style: { strokeWidth: 4 } })
2636
2667
  ]
2637
2668
  }
2638
2669
  ),
2639
- /* @__PURE__ */ jsx3("span", { className: "px-2", children: option.label })
2670
+ /* @__PURE__ */ jsx4("span", { className: "px-2", children: option.label })
2640
2671
  ] }, option.id)) });
2641
2672
  };
2642
2673
 
2643
2674
  // src/components/Checkbox/index.tsx
2644
2675
  import { useState as useState2 } from "react";
2645
2676
  import { FiCheck as FiCheck2 } from "react-icons/fi";
2646
- import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
2677
+ import { jsx as jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
2647
2678
  var Checkbox = ({ className, required, disabled }) => {
2648
2679
  const [selected, setSelected] = useState2(false);
2649
2680
  const handleCheckboxChange = (value) => {
2650
2681
  setSelected(!value);
2651
2682
  };
2652
- return /* @__PURE__ */ jsx4("div", { className: "flex items-center justify-center px-2", children: /* @__PURE__ */ jsxs3(
2683
+ return /* @__PURE__ */ jsx5("div", { className: "flex items-center justify-center px-2", children: /* @__PURE__ */ jsxs3(
2653
2684
  "label",
2654
2685
  {
2655
2686
  className: twMerge(
@@ -2659,7 +2690,7 @@ var Checkbox = ({ className, required, disabled }) => {
2659
2690
  disabled === true && "opacity-50 cursor-not-allowed"
2660
2691
  ),
2661
2692
  children: [
2662
- /* @__PURE__ */ jsx4(
2693
+ /* @__PURE__ */ jsx5(
2663
2694
  "input",
2664
2695
  {
2665
2696
  type: "checkbox",
@@ -2673,7 +2704,7 @@ var Checkbox = ({ className, required, disabled }) => {
2673
2704
  )
2674
2705
  }
2675
2706
  ),
2676
- selected && /* @__PURE__ */ jsx4(FiCheck2, { color: "#FFFFFF", size: 14, style: { strokeWidth: 4 } })
2707
+ selected && /* @__PURE__ */ jsx5(FiCheck2, { color: "#FFFFFF", size: 14, style: { strokeWidth: 4 } })
2677
2708
  ]
2678
2709
  }
2679
2710
  ) });
@@ -2682,7 +2713,8 @@ var Checkbox = ({ className, required, disabled }) => {
2682
2713
  // src/components/Input/index.tsx
2683
2714
  import {
2684
2715
  useEffect,
2685
- useState as useState3
2716
+ useState as useState3,
2717
+ forwardRef
2686
2718
  } from "react";
2687
2719
  import { FiCheck as FiCheck3, FiX } from "react-icons/fi";
2688
2720
 
@@ -2748,65 +2780,102 @@ var masks = {
2748
2780
  var masks_default = masks;
2749
2781
 
2750
2782
  // src/components/Input/index.tsx
2751
- import { Fragment, jsx as jsx5, jsxs as jsxs4 } from "react/jsx-runtime";
2752
- var Input = (_a) => {
2753
- var _b = _a, {
2754
- className,
2755
- disabled,
2756
- placeholder,
2757
- value,
2758
- validated,
2759
- error,
2760
- required,
2761
- type,
2762
- onClick
2763
- } = _b, rest = __objRest(_b, [
2764
- "className",
2765
- "disabled",
2766
- "placeholder",
2767
- "value",
2768
- "validated",
2769
- "error",
2770
- "required",
2771
- "type",
2772
- "onClick"
2773
- ]);
2774
- const [selected, setSelected] = useState3(false);
2775
- const [inputValue, setInputValue] = useState3(value);
2776
- const [hasNumber, setHasNumber] = useState3(false);
2777
- const [hasSpecialCharacteres, setHasSpecialCharacteres] = useState3(false);
2778
- const [hasEightCharacteres, setHasEightCharacteres] = useState3(false);
2779
- const handleFocus = () => {
2780
- setSelected(!selected);
2781
- };
2782
- const handleBlur = () => {
2783
- setSelected(false);
2784
- };
2785
- const handleInput = (event) => {
2786
- setInputValue(event.currentTarget.value);
2787
- checkPassword(event.currentTarget.value);
2788
- };
2789
- useEffect(() => {
2790
- setInputValue(value);
2791
- }, [value]);
2792
- const checkPassword = (value2) => {
2793
- setHasSpecialCharacteres((value2 == null ? void 0 : value2.match(masks_default.password[0])) !== null);
2794
- setHasNumber((value2 == null ? void 0 : value2.match(masks_default.password[1])) !== null);
2795
- setHasEightCharacteres((value2 == null ? void 0 : value2.match(masks_default.password[2])) !== null);
2796
- };
2797
- return /* @__PURE__ */ jsxs4(Fragment, { children: [
2798
- type === "text" || type === "password" || type === "date" ? /* @__PURE__ */ jsxs4(Fragment, { children: [
2799
- /* @__PURE__ */ jsx5(
2783
+ import { Fragment, jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
2784
+ var Input = forwardRef(
2785
+ (_a, ref) => {
2786
+ var _b = _a, {
2787
+ className,
2788
+ disabled,
2789
+ placeholder,
2790
+ value,
2791
+ validated,
2792
+ error,
2793
+ required,
2794
+ type,
2795
+ onClick
2796
+ } = _b, rest = __objRest(_b, [
2797
+ "className",
2798
+ "disabled",
2799
+ "placeholder",
2800
+ "value",
2801
+ "validated",
2802
+ "error",
2803
+ "required",
2804
+ "type",
2805
+ "onClick"
2806
+ ]);
2807
+ const [selected, setSelected] = useState3(false);
2808
+ const [inputValue, setInputValue] = useState3(value);
2809
+ const [hasNumber, setHasNumber] = useState3(false);
2810
+ const [hasSpecialCharacteres, setHasSpecialCharacteres] = useState3(false);
2811
+ const [hasEightCharacteres, setHasEightCharacteres] = useState3(false);
2812
+ const handleFocus = () => {
2813
+ setSelected(!selected);
2814
+ };
2815
+ const handleBlur = () => {
2816
+ setSelected(false);
2817
+ };
2818
+ const handleInput = (event) => {
2819
+ setInputValue(event.currentTarget.value);
2820
+ checkPassword(event.currentTarget.value);
2821
+ };
2822
+ useEffect(() => {
2823
+ setInputValue(value);
2824
+ }, [value]);
2825
+ const checkPassword = (value2) => {
2826
+ setHasSpecialCharacteres((value2 == null ? void 0 : value2.match(masks_default.password[0])) !== null);
2827
+ setHasNumber((value2 == null ? void 0 : value2.match(masks_default.password[1])) !== null);
2828
+ setHasEightCharacteres((value2 == null ? void 0 : value2.match(masks_default.password[2])) !== null);
2829
+ };
2830
+ return /* @__PURE__ */ jsxs4(Fragment, { children: [
2831
+ type === "text" || type === "password" || type === "date" ? /* @__PURE__ */ jsxs4(Fragment, { children: [
2832
+ /* @__PURE__ */ jsx6(
2833
+ "input",
2834
+ __spreadValues({
2835
+ type,
2836
+ required,
2837
+ ref,
2838
+ className: twMerge(
2839
+ "flex items-center justify-center border-2 border-neutral rounded-sm w-full px-3 py-2 text-md hover:shadow-md hover:shadow-neutral-500 focus:outline-none",
2840
+ className,
2841
+ disabled === true && "opacity-50 cursor-not-allowed",
2842
+ selected === true && "border-2 border-orange-500",
2843
+ validated === true && "border-2 border-green-900",
2844
+ error === true && "border-2 border-red-900"
2845
+ ),
2846
+ onClick,
2847
+ onFocus: handleFocus,
2848
+ onChange: handleInput,
2849
+ onBlur: handleBlur,
2850
+ placeholder,
2851
+ value: inputValue
2852
+ }, rest)
2853
+ ),
2854
+ type === "password" && (!hasEightCharacteres || !hasSpecialCharacteres || !hasNumber) && /* @__PURE__ */ jsxs4("ul", { className: "py-1", children: [
2855
+ /* @__PURE__ */ jsxs4("li", { className: "flex items-center px-2", children: [
2856
+ hasEightCharacteres ? /* @__PURE__ */ jsx6(FiCheck3, {}) : /* @__PURE__ */ jsx6(FiX, {}),
2857
+ /* @__PURE__ */ jsx6("span", { className: "px-1", children: "Pelo menos 8 caracteres" })
2858
+ ] }),
2859
+ /* @__PURE__ */ jsxs4("li", { className: "flex items-center px-2", children: [
2860
+ hasSpecialCharacteres ? /* @__PURE__ */ jsx6(FiCheck3, {}) : /* @__PURE__ */ jsx6(FiX, {}),
2861
+ /* @__PURE__ */ jsx6("span", { className: "px-1", children: "Pelo menos 1 s\xEDmbolo (@, !, $, etc)" })
2862
+ ] }),
2863
+ /* @__PURE__ */ jsxs4("li", { className: "flex items-center px-2", children: [
2864
+ hasNumber ? /* @__PURE__ */ jsx6(FiCheck3, {}) : /* @__PURE__ */ jsx6(FiX, {}),
2865
+ /* @__PURE__ */ jsx6("span", { className: "px-1", children: "Deve conter 1 n\xFAmero" })
2866
+ ] })
2867
+ ] })
2868
+ ] }) : /* @__PURE__ */ jsx6(
2800
2869
  "input",
2801
2870
  __spreadValues({
2802
2871
  type,
2803
2872
  required,
2873
+ ref,
2804
2874
  className: twMerge(
2805
2875
  "flex items-center justify-center border-2 border-neutral rounded-sm w-full px-3 py-2 text-md hover:shadow-md hover:shadow-neutral-500 focus:outline-none",
2806
2876
  className,
2807
2877
  disabled === true && "opacity-50 cursor-not-allowed",
2808
2878
  selected === true && "border-2 border-orange-500",
2809
- validated === true && "border-2 border-green-900",
2810
2879
  error === true && "border-2 border-red-900"
2811
2880
  ),
2812
2881
  onClick,
@@ -2817,52 +2886,20 @@ var Input = (_a) => {
2817
2886
  value: inputValue
2818
2887
  }, rest)
2819
2888
  ),
2820
- type === "password" && (!hasEightCharacteres || !hasSpecialCharacteres || !hasNumber) && /* @__PURE__ */ jsxs4("ul", { className: "py-1", children: [
2821
- /* @__PURE__ */ jsxs4("li", { className: "flex items-center px-2", children: [
2822
- hasEightCharacteres ? /* @__PURE__ */ jsx5(FiCheck3, {}) : /* @__PURE__ */ jsx5(FiX, {}),
2823
- /* @__PURE__ */ jsx5("span", { className: "px-1", children: "Pelo menos 8 caracteres" })
2824
- ] }),
2825
- /* @__PURE__ */ jsxs4("li", { className: "flex items-center px-2", children: [
2826
- hasSpecialCharacteres ? /* @__PURE__ */ jsx5(FiCheck3, {}) : /* @__PURE__ */ jsx5(FiX, {}),
2827
- /* @__PURE__ */ jsx5("span", { className: "px-1", children: "Pelo menos 1 s\xEDmbolo (@, !, $, etc)" })
2828
- ] }),
2829
- /* @__PURE__ */ jsxs4("li", { className: "flex items-center px-2", children: [
2830
- hasNumber ? /* @__PURE__ */ jsx5(FiCheck3, {}) : /* @__PURE__ */ jsx5(FiX, {}),
2831
- /* @__PURE__ */ jsx5("span", { className: "px-1", children: "Deve conter 1 n\xFAmero" })
2832
- ] })
2833
- ] })
2834
- ] }) : /* @__PURE__ */ jsx5(
2835
- "input",
2836
- __spreadValues({
2837
- type,
2838
- required,
2839
- className: twMerge(
2840
- "flex items-center justify-center border-2 border-neutral rounded-sm w-full px-3 py-2 text-md hover:shadow-md hover:shadow-neutral-500 focus:outline-none",
2841
- className,
2842
- disabled === true && "opacity-50 cursor-not-allowed",
2843
- selected === true && "border-2 border-orange-500",
2844
- error === true && "border-2 border-red-900"
2845
- ),
2846
- onClick,
2847
- onFocus: handleFocus,
2848
- onChange: handleInput,
2849
- onBlur: handleBlur,
2850
- placeholder,
2851
- value: inputValue
2852
- }, rest)
2853
- ),
2854
- error === true && /* @__PURE__ */ jsx5("label", { htmlFor: rest.id, className: "text-red-900", children: "Campo inv\xE1lido." })
2855
- ] });
2856
- };
2889
+ error === true && /* @__PURE__ */ jsx6("label", { htmlFor: rest.id, className: "text-red-900", children: "Campo inv\xE1lido." })
2890
+ ] });
2891
+ }
2892
+ );
2893
+ Input.displayName = "Input";
2857
2894
 
2858
2895
  // src/components/TextInput/index.tsx
2859
2896
  import {
2860
2897
  useEffect as useEffect2,
2861
2898
  useState as useState4,
2862
- forwardRef
2899
+ forwardRef as forwardRef2
2863
2900
  } from "react";
2864
- import { jsx as jsx6, jsxs as jsxs5 } from "react/jsx-runtime";
2865
- var TextInput = forwardRef(
2901
+ import { jsx as jsx7, jsxs as jsxs5 } from "react/jsx-runtime";
2902
+ var TextInput = forwardRef2(
2866
2903
  (_a, ref) => {
2867
2904
  var _b = _a, {
2868
2905
  className,
@@ -2911,8 +2948,8 @@ var TextInput = forwardRef(
2911
2948
  error === true && "border-2 border-red-900"
2912
2949
  ),
2913
2950
  children: [
2914
- !!prefix && /* @__PURE__ */ jsx6("span", { className: "text-neutral-500 sm:text-sm", children: prefix }),
2915
- /* @__PURE__ */ jsx6(
2951
+ !!prefix && /* @__PURE__ */ jsx7("span", { className: "text-neutral-500 sm:text-sm", children: prefix }),
2952
+ /* @__PURE__ */ jsx7(
2916
2953
  "input",
2917
2954
  __spreadValues({
2918
2955
  type,
@@ -2946,7 +2983,7 @@ import {
2946
2983
  useEffect as useEffect3,
2947
2984
  useState as useState5
2948
2985
  } from "react";
2949
- import { jsx as jsx7 } from "react/jsx-runtime";
2986
+ import { jsx as jsx8 } from "react/jsx-runtime";
2950
2987
  var TextArea = (_a) => {
2951
2988
  var _b = _a, {
2952
2989
  className,
@@ -2979,7 +3016,7 @@ var TextArea = (_a) => {
2979
3016
  useEffect3(() => {
2980
3017
  setInputValue(value);
2981
3018
  }, [value]);
2982
- return /* @__PURE__ */ jsx7(
3019
+ return /* @__PURE__ */ jsx8(
2983
3020
  "textarea",
2984
3021
  __spreadValues({
2985
3022
  required,
@@ -3003,7 +3040,7 @@ var TextArea = (_a) => {
3003
3040
  };
3004
3041
 
3005
3042
  // src/components/Text/index.tsx
3006
- import { jsx as jsx8 } from "react/jsx-runtime";
3043
+ import { jsx as jsx9 } from "react/jsx-runtime";
3007
3044
  var Text = (_a) => {
3008
3045
  var _b = _a, {
3009
3046
  children,
@@ -3035,11 +3072,11 @@ var Text = (_a) => {
3035
3072
  "9xl": "text-9xl"
3036
3073
  }[size];
3037
3074
  const Tag = tag;
3038
- return /* @__PURE__ */ jsx8(Tag, __spreadProps(__spreadValues({}, rest), { className: twMerge(`text-${color} ${fontSize}`, className), children }));
3075
+ return /* @__PURE__ */ jsx9(Tag, __spreadProps(__spreadValues({}, rest), { className: twMerge(`text-${color} ${fontSize}`, className), children }));
3039
3076
  };
3040
3077
 
3041
3078
  // src/components/Heading/index.tsx
3042
- import { jsx as jsx9 } from "react/jsx-runtime";
3079
+ import { jsx as jsx10 } from "react/jsx-runtime";
3043
3080
  var Heading = ({
3044
3081
  children,
3045
3082
  color = "neutral-800",
@@ -3062,11 +3099,11 @@ var Heading = ({
3062
3099
  "9xl": "text-9xl"
3063
3100
  }[size];
3064
3101
  const Tag = tag;
3065
- return /* @__PURE__ */ jsx9(Tag, { className: twMerge(`text-${color} ${fontSize}`, className), children });
3102
+ return /* @__PURE__ */ jsx10(Tag, { className: twMerge(`text-${color} ${fontSize}`, className), children });
3066
3103
  };
3067
3104
 
3068
3105
  // src/components/Box/index.tsx
3069
- import { jsx as jsx10 } from "react/jsx-runtime";
3106
+ import { jsx as jsx11 } from "react/jsx-runtime";
3070
3107
  var Box = ({
3071
3108
  className,
3072
3109
  children,
@@ -3074,7 +3111,7 @@ var Box = ({
3074
3111
  variant = "secondary"
3075
3112
  }) => {
3076
3113
  const Tag = tag;
3077
- return /* @__PURE__ */ jsx10(
3114
+ return /* @__PURE__ */ jsx11(
3078
3115
  Tag,
3079
3116
  {
3080
3117
  className: twMerge(
@@ -3088,12 +3125,42 @@ var Box = ({
3088
3125
  );
3089
3126
  };
3090
3127
 
3128
+ // src/components/Form/index.tsx
3129
+ import { jsx as jsx12 } from "react/jsx-runtime";
3130
+ var Form = (_a) => {
3131
+ var _b = _a, {
3132
+ className,
3133
+ children,
3134
+ variant = "secondary",
3135
+ orientation = "row"
3136
+ } = _b, rest = __objRest(_b, [
3137
+ "className",
3138
+ "children",
3139
+ "variant",
3140
+ "orientation"
3141
+ ]);
3142
+ return /* @__PURE__ */ jsx12(
3143
+ "form",
3144
+ __spreadProps(__spreadValues({
3145
+ className: twMerge(
3146
+ "flex flex-row gap-2 p-6 rounded-md border-2",
3147
+ variant === "primary" && "text-neutral-800 bg-neutral-200 border-neutral-300",
3148
+ variant === "secondary" && "text-neutral-200 bg-neutral-600 border-neutral-800",
3149
+ orientation === "col" && "flex-col",
3150
+ className
3151
+ )
3152
+ }, rest), {
3153
+ children
3154
+ })
3155
+ );
3156
+ };
3157
+
3091
3158
  // src/components/Avatar/index.tsx
3092
3159
  import { FaUser } from "react-icons/fa";
3093
- import { jsx as jsx11 } from "react/jsx-runtime";
3160
+ import { jsx as jsx13 } from "react/jsx-runtime";
3094
3161
  var Avatar = (_a) => {
3095
3162
  var _b = _a, { className } = _b, rest = __objRest(_b, ["className"]);
3096
- return /* @__PURE__ */ jsx11(
3163
+ return /* @__PURE__ */ jsx13(
3097
3164
  "div",
3098
3165
  {
3099
3166
  className: twMerge(
@@ -3102,18 +3169,18 @@ var Avatar = (_a) => {
3102
3169
  bg-neutral-600 justify-center`,
3103
3170
  className
3104
3171
  ),
3105
- children: rest.src ? /* @__PURE__ */ jsx11("img", __spreadValues({ className: "w-full h-full object-cover rounded-full" }, rest)) : /* @__PURE__ */ jsx11(FaUser, { color: "#FFFFFF", size: 24 })
3172
+ children: rest.src ? /* @__PURE__ */ jsx13("img", __spreadValues({ className: "w-full h-full object-cover rounded-full" }, rest)) : /* @__PURE__ */ jsx13(FaUser, { color: "#FFFFFF", size: 24 })
3106
3173
  }
3107
3174
  );
3108
3175
  };
3109
3176
 
3110
3177
  // src/components/MultiStep/index.tsx
3111
- import { jsx as jsx12, jsxs as jsxs6 } from "react/jsx-runtime";
3178
+ import { jsx as jsx14, jsxs as jsxs6 } from "react/jsx-runtime";
3112
3179
  var MultiStep = ({ className, size, currentStep }) => {
3113
3180
  return /* @__PURE__ */ jsxs6("div", { className: "w-full", children: [
3114
- /* @__PURE__ */ jsx12(Text, { tag: "label", color: "neutral-100", size: "xs", children: `Passo ${currentStep} de ${size}` }),
3115
- /* @__PURE__ */ jsx12("div", { className: `grid gap-2 grid-cols-${size} grid-flow-col mt-1`, children: Array.from(Array(size).keys()).map((_, index) => {
3116
- return /* @__PURE__ */ jsx12(
3181
+ /* @__PURE__ */ jsx14(Text, { tag: "label", color: "neutral-100", size: "xs", children: `Passo ${currentStep} de ${size}` }),
3182
+ /* @__PURE__ */ jsx14("div", { className: `grid gap-2 grid-cols-${size} grid-flow-col mt-1`, children: Array.from(Array(size).keys()).map((_, index) => {
3183
+ return /* @__PURE__ */ jsx14(
3117
3184
  "div",
3118
3185
  {
3119
3186
  className: twMerge(
@@ -3133,8 +3200,10 @@ export {
3133
3200
  Button,
3134
3201
  Card,
3135
3202
  Checkbox,
3203
+ Form,
3136
3204
  Heading,
3137
3205
  Input,
3206
+ Link,
3138
3207
  MultiStep,
3139
3208
  RadioGroup,
3140
3209
  Text,
package/dist/tailwind.css CHANGED
@@ -632,6 +632,10 @@ video {
632
632
  grid-auto-flow: column;
633
633
  }
634
634
 
635
+ .flex-row {
636
+ flex-direction: row;
637
+ }
638
+
635
639
  .flex-col {
636
640
  flex-direction: column;
637
641
  }
@@ -652,6 +656,10 @@ video {
652
656
  gap: 0.5rem;
653
657
  }
654
658
 
659
+ .gap-4 {
660
+ gap: 1rem;
661
+ }
662
+
655
663
  .overflow-hidden {
656
664
  overflow: hidden;
657
665
  }
@@ -879,6 +887,11 @@ video {
879
887
  line-height: 1.25;
880
888
  }
881
889
 
890
+ .text-blue-800 {
891
+ --tw-text-opacity: 1;
892
+ color: rgb(30 64 175 / var(--tw-text-opacity));
893
+ }
894
+
882
895
  .text-neutral {
883
896
  --tw-text-opacity: 1;
884
897
  color: rgb(255 255 255 / var(--tw-text-opacity));
@@ -931,9 +944,9 @@ html {
931
944
  border-color: rgb(243 98 70 / var(--tw-border-opacity));
932
945
  }
933
946
 
934
- .hover\:bg-neutral-200:hover {
947
+ .hover\:bg-orange-500:hover {
935
948
  --tw-bg-opacity: 1;
936
- background-color: rgb(246 246 246 / var(--tw-bg-opacity));
949
+ background-color: rgb(243 98 70 / var(--tw-bg-opacity));
937
950
  }
938
951
 
939
952
  .hover\:bg-orange-700:hover {
@@ -941,6 +954,11 @@ html {
941
954
  background-color: rgb(194 65 12 / var(--tw-bg-opacity));
942
955
  }
943
956
 
957
+ .hover\:text-orange-100:hover {
958
+ --tw-text-opacity: 1;
959
+ color: rgb(255 237 213 / var(--tw-text-opacity));
960
+ }
961
+
944
962
  .hover\:shadow-md:hover {
945
963
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
946
964
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@koaris/bloom-ui",
3
- "version": "1.0.3",
3
+ "version": "1.0.5",
4
4
  "description": "Bloom-ui is a public design system from the Koaris Project developed with React, Typescript, and Tailwind.",
5
5
  "source": "./src/index.ts",
6
6
  "main": "./dist/index.js",
@@ -25,7 +25,7 @@
25
25
  "type": "git",
26
26
  "url": "https://github.com/guilhermesalviano/bloom-ui.git"
27
27
  },
28
- "license": "MIT",
28
+ "license": "GPL-3.0-only",
29
29
  "devDependencies": {
30
30
  "@koaris/eslint-config": "*",
31
31
  "@koaris/tokens": "*",