@sikka/hawa 0.42.5-next → 0.42.7-next

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.
Files changed (131) hide show
  1. package/dist/{Chip-Cato49ar.d.ts → Chip-Cw1twk4G.d.ts} +6 -6
  2. package/dist/{Chip-CGl24Kd9.d.mts → Chip-KG1_ZmCL.d.mts} +6 -6
  3. package/dist/{DropdownMenu-DgV8PvW3.d.ts → DropdownMenu-CDnFCzfc.d.ts} +5 -5
  4. package/dist/{DropdownMenu-dvd9brmT.d.mts → DropdownMenu-mK9EvfKp.d.mts} +5 -5
  5. package/dist/{Toast-fy9tBz19.d.ts → Toast-BaXp3G7y.d.ts} +1 -1
  6. package/dist/{Toast-BcFD9aeQ.d.mts → Toast-CKWr23kg.d.mts} +1 -1
  7. package/dist/accordion/index.d.mts +3 -3
  8. package/dist/accordion/index.d.ts +3 -3
  9. package/dist/alert/index.js.map +1 -1
  10. package/dist/alert/index.mjs.map +1 -1
  11. package/dist/appLayout/index.js.map +1 -1
  12. package/dist/appLayout/index.mjs.map +1 -1
  13. package/dist/appMenubar/index.d.mts +8 -11
  14. package/dist/appMenubar/index.d.ts +8 -11
  15. package/dist/appMenubar/index.js.map +1 -1
  16. package/dist/appMenubar/index.mjs.map +1 -1
  17. package/dist/backToTop/index.js.map +1 -1
  18. package/dist/backToTop/index.mjs.map +1 -1
  19. package/dist/blocks/auth/index.d.mts +4 -2
  20. package/dist/blocks/auth/index.d.ts +4 -2
  21. package/dist/blocks/auth/index.js +37 -29
  22. package/dist/blocks/auth/index.mjs +37 -29
  23. package/dist/blocks/index.d.mts +5 -3
  24. package/dist/blocks/index.d.ts +5 -3
  25. package/dist/blocks/index.js +37 -29
  26. package/dist/blocks/index.mjs +15 -12
  27. package/dist/button/index.js.map +1 -1
  28. package/dist/button/index.mjs.map +1 -1
  29. package/dist/calendar/index.js.map +1 -1
  30. package/dist/calendar/index.mjs.map +1 -1
  31. package/dist/card/index.d.mts +3 -3
  32. package/dist/card/index.d.ts +3 -3
  33. package/dist/checkbox/index.d.mts +2 -2
  34. package/dist/checkbox/index.d.ts +2 -2
  35. package/dist/chip/index.d.mts +6 -6
  36. package/dist/chip/index.d.ts +6 -6
  37. package/dist/{chunk-DBOKFWWD.mjs → chunk-3DT2KQXP.mjs} +12 -7
  38. package/dist/{chunk-G7JRS64F.mjs → chunk-RIZBMJNK.mjs} +15 -15
  39. package/dist/{chunk-OXZBK6KQ.mjs → chunk-UZD7PSQG.mjs} +1 -1
  40. package/dist/{chunk-MA7CACEB.mjs → chunk-WL7C2A5D.mjs} +1 -6
  41. package/dist/codeBlock/index.js.map +1 -1
  42. package/dist/codeBlock/index.mjs.map +1 -1
  43. package/dist/colorPicker/index.js.map +1 -1
  44. package/dist/colorPicker/index.mjs.map +1 -1
  45. package/dist/combobox/index.js.map +1 -1
  46. package/dist/combobox/index.mjs.map +1 -1
  47. package/dist/dataTable/index.js.map +1 -1
  48. package/dist/dataTable/index.mjs.map +1 -1
  49. package/dist/datePicker/index.js.map +1 -1
  50. package/dist/datePicker/index.mjs.map +1 -1
  51. package/dist/dialog/index.d.mts +17 -16
  52. package/dist/dialog/index.d.ts +17 -16
  53. package/dist/docsLayout/index.js +12 -7
  54. package/dist/docsLayout/index.js.map +1 -1
  55. package/dist/docsLayout/index.mjs +12 -7
  56. package/dist/docsLayout/index.mjs.map +1 -1
  57. package/dist/dropdownMenu/index.d.mts +5 -5
  58. package/dist/dropdownMenu/index.d.ts +5 -5
  59. package/dist/elements/index.d.mts +77 -76
  60. package/dist/elements/index.d.ts +77 -76
  61. package/dist/elements/index.js +25 -20
  62. package/dist/elements/index.mjs +4 -4
  63. package/dist/fileDropzone/index.js.map +1 -1
  64. package/dist/fileDropzone/index.mjs.map +1 -1
  65. package/dist/hooks/index.d.mts +1 -1
  66. package/dist/hooks/index.d.ts +1 -1
  67. package/dist/hooks/index.js +1 -6
  68. package/dist/hooks/index.mjs +1 -1
  69. package/dist/index.d.mts +96 -96
  70. package/dist/index.d.ts +96 -96
  71. package/dist/index.js +38 -35
  72. package/dist/index.mjs +38 -35
  73. package/dist/input/index.d.mts +16 -16
  74. package/dist/input/index.d.ts +16 -16
  75. package/dist/input/index.js.map +1 -1
  76. package/dist/input/index.mjs.map +1 -1
  77. package/dist/interfaceSettings/index.js.map +1 -1
  78. package/dist/interfaceSettings/index.mjs.map +1 -1
  79. package/dist/label/index.js.map +1 -1
  80. package/dist/label/index.mjs.map +1 -1
  81. package/dist/layout/index.d.mts +10 -13
  82. package/dist/layout/index.d.ts +10 -13
  83. package/dist/layout/index.js +12 -7
  84. package/dist/layout/index.mjs +2 -2
  85. package/dist/logos/index.js +12 -7
  86. package/dist/logos/index.js.map +1 -1
  87. package/dist/logos/index.mjs +12 -7
  88. package/dist/logos/index.mjs.map +1 -1
  89. package/dist/navigationMenu/index.d.mts +1 -1
  90. package/dist/navigationMenu/index.d.ts +1 -1
  91. package/dist/passwordInput/index.js.map +1 -1
  92. package/dist/passwordInput/index.mjs.map +1 -1
  93. package/dist/phoneInput/index.js.map +1 -1
  94. package/dist/phoneInput/index.mjs.map +1 -1
  95. package/dist/pinInput/index.d.mts +16 -16
  96. package/dist/pinInput/index.d.ts +16 -16
  97. package/dist/pinInput/index.js +13 -13
  98. package/dist/pinInput/index.js.map +1 -1
  99. package/dist/pinInput/index.mjs +13 -13
  100. package/dist/pinInput/index.mjs.map +1 -1
  101. package/dist/popover/index.d.mts +1 -1
  102. package/dist/popover/index.d.ts +1 -1
  103. package/dist/progress/index.d.mts +2 -2
  104. package/dist/progress/index.d.ts +2 -2
  105. package/dist/progress/index.js.map +1 -1
  106. package/dist/progress/index.mjs.map +1 -1
  107. package/dist/radio/index.js.map +1 -1
  108. package/dist/radio/index.mjs.map +1 -1
  109. package/dist/scrollArea/index.d.mts +1 -1
  110. package/dist/scrollArea/index.d.ts +1 -1
  111. package/dist/select/index.js.map +1 -1
  112. package/dist/select/index.mjs.map +1 -1
  113. package/dist/signature/index.js.map +1 -1
  114. package/dist/signature/index.mjs.map +1 -1
  115. package/dist/sortButton/index.js.map +1 -1
  116. package/dist/sortButton/index.mjs.map +1 -1
  117. package/dist/splitButton/index.js.map +1 -1
  118. package/dist/splitButton/index.mjs.map +1 -1
  119. package/dist/tabs/index.d.mts +9 -9
  120. package/dist/tabs/index.d.ts +9 -9
  121. package/dist/tabs/index.js.map +1 -1
  122. package/dist/tabs/index.mjs.map +1 -1
  123. package/dist/textarea/index.js.map +1 -1
  124. package/dist/textarea/index.mjs.map +1 -1
  125. package/dist/toast/index.d.mts +1 -1
  126. package/dist/toast/index.d.ts +1 -1
  127. package/dist/tooltip/index.d.mts +1 -1
  128. package/dist/tooltip/index.d.ts +1 -1
  129. package/dist/tooltip/index.js.map +1 -1
  130. package/dist/tooltip/index.mjs.map +1 -1
  131. package/package.json +28 -28
package/dist/index.mjs CHANGED
@@ -1263,16 +1263,21 @@ var Logos = {
1263
1263
  sikka: (props) => /* @__PURE__ */ React11.createElement(
1264
1264
  "svg",
1265
1265
  {
1266
+ "aria-label": "Sikka Logo",
1266
1267
  xmlns: "http://www.w3.org/2000/svg",
1267
- xmlnsXlink: "http://www.w3.org/1999/xlink",
1268
- xmlSpace: "preserve",
1269
- viewBox: "0 0 916.5 765",
1270
- fill: "currentColor",
1268
+ width: "512",
1269
+ height: "512",
1270
+ viewBox: "0 0 512 512",
1271
1271
  ...props
1272
1272
  },
1273
- /* @__PURE__ */ React11.createElement("defs", null, /* @__PURE__ */ React11.createElement("path", { id: "a", d: "M0 0h916.5v765H0z" })),
1274
- /* @__PURE__ */ React11.createElement("clipPath", { id: "b" }, /* @__PURE__ */ React11.createElement("use", { xlinkHref: "#a", overflow: "visible" })),
1275
- /* @__PURE__ */ React11.createElement("g", { clipPath: "url(#b)" }, /* @__PURE__ */ React11.createElement("defs", null, /* @__PURE__ */ React11.createElement("path", { id: "c", d: "M0 0h916.5v765H0z" })), /* @__PURE__ */ React11.createElement("clipPath", { id: "d" }, /* @__PURE__ */ React11.createElement("use", { xlinkHref: "#c", overflow: "visible" })), /* @__PURE__ */ React11.createElement("g", { clipPath: "url(#d)" }, /* @__PURE__ */ React11.createElement("path", { d: "M458.3 0h-31.9c-14.6 0-26.5 11.9-26.5 26.3v313.3L136.6 17.1C126 3.9 120.7 0 106.1 0H9.7C.5 0 0 7.9 0 17.1 0 21 1.3 26.3 4 29l288.7 353.6L4 736.1c-2.7 2.7-4 7.9-4 11.8 0 9.2.4 17.1 9.7 17.1h96.4c14.6 0 19.9-3.9 30.5-17.1l263.3-322.5v313.3c0 14.4 11.9 26.3 26.5 26.3h31.9M458.3 765h31.9c14.6 0 26.5-11.8 26.5-26.3V425.5L780 748c10.7 13.2 15.9 17.1 30.5 17.1h96.4c9.2 0 9.7-7.9 9.7-17.1 0-3.9-1.3-9.2-4-11.8L623.8 382.5 912.5 28.9c2.7-2.7 4-7.9 4-11.9 0-9.2-.5-17.1-9.7-17.1h-96.4c-14.6 0-19.9 3.9-30.5 17.1L516.7 339.5V26.3c0-14.4-11.9-26.3-26.5-26.3h-31.9" })))
1273
+ /* @__PURE__ */ React11.createElement(
1274
+ "path",
1275
+ {
1276
+ d: "M242.26,91.23c-6.29,0-11.42,5.1-11.42,11.32v134.95L117.43,98.59c-4.58-5.66-6.86-7.36-13.15-7.36h-41.51c-3.98,0-4.18,3.41-4.18,7.36,0,1.7.58,3.96,1.73,5.1l124.37,152.31-124.37,152.31c-1.15,1.15-1.73,3.41-1.73,5.1,0,3.96.19,7.36,4.18,7.36h41.51c6.29,0,8.57-1.7,13.15-7.36l113.41-138.91v134.95c0,6.21,5.13,11.32,11.42,11.32h27.48c6.29,0,11.42-5.1,11.42-11.32v-134.95l113.41,138.91c4.58,5.66,6.86,7.36,13.15,7.36h41.51c3.98,0,4.18-3.41,4.18-7.36,0-1.7-.58-3.96-1.73-5.1l-124.37-152.31,124.37-152.31c1.15-1.15,1.73-3.41,1.73-5.1,0-3.96-.19-7.36-4.18-7.36h-41.51c-6.29,0-8.57,1.7-13.15,7.36l-113.41,138.91V102.54c0-6.21-5.13-11.32-11.42-11.32h-27.48Z",
1277
+ fill: "currentColor",
1278
+ "stroke-width": "0"
1279
+ }
1280
+ )
1276
1281
  ),
1277
1282
  mail: (props) => /* @__PURE__ */ React11.createElement(
1278
1283
  "svg",
@@ -4752,12 +4757,7 @@ import useEmblaCarousel from "embla-carousel-react";
4752
4757
  var useDialogCarousel = (options) => {
4753
4758
  const [emblaRef, emblaApi] = useEmblaCarousel(
4754
4759
  { loop: false, watchDrag: false, startIndex: 0, ...options },
4755
- [
4756
- AutoHeight({
4757
- // destroyHeight: "fit", //TODO: see what replaced this
4758
- active: true
4759
- })
4760
- ]
4760
+ [AutoHeight({ active: true })]
4761
4761
  );
4762
4762
  const [canScrollPrev, setCanScrollPrev] = useState13(false);
4763
4763
  const checkCanScrollPrev = () => {
@@ -7674,19 +7674,19 @@ var PhoneInput = ({
7674
7674
  import * as React50 from "react";
7675
7675
  import { OTPInput, OTPInputContext } from "input-otp";
7676
7676
 
7677
- // ../../node_modules/.pnpm/lucide-react@0.395.0_react@18.3.1/node_modules/lucide-react/dist/esm/createLucideIcon.js
7677
+ // ../../node_modules/.pnpm/lucide-react@0.403.0_react@18.3.1/node_modules/lucide-react/dist/esm/createLucideIcon.js
7678
7678
  import { forwardRef as forwardRef25, createElement as createElement24 } from "react";
7679
7679
 
7680
- // ../../node_modules/.pnpm/lucide-react@0.395.0_react@18.3.1/node_modules/lucide-react/dist/esm/shared/src/utils.js
7680
+ // ../../node_modules/.pnpm/lucide-react@0.403.0_react@18.3.1/node_modules/lucide-react/dist/esm/shared/src/utils.js
7681
7681
  var toKebabCase = (string9) => string9.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
7682
7682
  var mergeClasses = (...classes) => classes.filter((className, index, array) => {
7683
7683
  return Boolean(className) && array.indexOf(className) === index;
7684
7684
  }).join(" ");
7685
7685
 
7686
- // ../../node_modules/.pnpm/lucide-react@0.395.0_react@18.3.1/node_modules/lucide-react/dist/esm/Icon.js
7686
+ // ../../node_modules/.pnpm/lucide-react@0.403.0_react@18.3.1/node_modules/lucide-react/dist/esm/Icon.js
7687
7687
  import { forwardRef as forwardRef24, createElement as createElement23 } from "react";
7688
7688
 
7689
- // ../../node_modules/.pnpm/lucide-react@0.395.0_react@18.3.1/node_modules/lucide-react/dist/esm/defaultAttributes.js
7689
+ // ../../node_modules/.pnpm/lucide-react@0.403.0_react@18.3.1/node_modules/lucide-react/dist/esm/defaultAttributes.js
7690
7690
  var defaultAttributes = {
7691
7691
  xmlns: "http://www.w3.org/2000/svg",
7692
7692
  width: 24,
@@ -7699,7 +7699,7 @@ var defaultAttributes = {
7699
7699
  strokeLinejoin: "round"
7700
7700
  };
7701
7701
 
7702
- // ../../node_modules/.pnpm/lucide-react@0.395.0_react@18.3.1/node_modules/lucide-react/dist/esm/Icon.js
7702
+ // ../../node_modules/.pnpm/lucide-react@0.403.0_react@18.3.1/node_modules/lucide-react/dist/esm/Icon.js
7703
7703
  var Icon = forwardRef24(
7704
7704
  ({
7705
7705
  color = "currentColor",
@@ -7731,7 +7731,7 @@ var Icon = forwardRef24(
7731
7731
  }
7732
7732
  );
7733
7733
 
7734
- // ../../node_modules/.pnpm/lucide-react@0.395.0_react@18.3.1/node_modules/lucide-react/dist/esm/createLucideIcon.js
7734
+ // ../../node_modules/.pnpm/lucide-react@0.403.0_react@18.3.1/node_modules/lucide-react/dist/esm/createLucideIcon.js
7735
7735
  var createLucideIcon = (iconName, iconNode) => {
7736
7736
  const Component = forwardRef25(
7737
7737
  ({ className, ...props }, ref) => createElement24(Icon, {
@@ -7745,7 +7745,7 @@ var createLucideIcon = (iconName, iconNode) => {
7745
7745
  return Component;
7746
7746
  };
7747
7747
 
7748
- // ../../node_modules/.pnpm/lucide-react@0.395.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/dot.js
7748
+ // ../../node_modules/.pnpm/lucide-react@0.403.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/dot.js
7749
7749
  var Dot = createLucideIcon("Dot", [
7750
7750
  ["circle", { cx: "12.1", cy: "12.1", r: "1", key: "18d7e5" }]
7751
7751
  ]);
@@ -10711,7 +10711,7 @@ import {
10711
10711
  import * as z from "zod";
10712
10712
  var LoginForm = ({
10713
10713
  loginType = "email",
10714
- passwordLength = 8,
10714
+ minPasswordLength = 8,
10715
10715
  texts,
10716
10716
  ...props
10717
10717
  }) => {
@@ -10732,7 +10732,7 @@ var LoginForm = ({
10732
10732
  email: z.string({ required_error: ((_a = texts == null ? void 0 : texts.email) == null ? void 0 : _a.required) || "Email Required" }).min(1, { message: ((_b = texts == null ? void 0 : texts.email) == null ? void 0 : _b.required) || "Email Required" }).email({ message: ((_c = texts == null ? void 0 : texts.email) == null ? void 0 : _c.invalid) || "Email Invalid" }),
10733
10733
  password: z.string({
10734
10734
  required_error: ((_d = texts == null ? void 0 : texts.password) == null ? void 0 : _d.required) || "Password Required"
10735
- }).min(1, { message: ((_e = texts == null ? void 0 : texts.password) == null ? void 0 : _e.required) || "Password Required" }).min(passwordLength, {
10735
+ }).min(1, { message: ((_e = texts == null ? void 0 : texts.password) == null ? void 0 : _e.required) || "Password Required" }).min(minPasswordLength, {
10736
10736
  message: ((_f = texts == null ? void 0 : texts.password) == null ? void 0 : _f.tooShort) || "Password too short"
10737
10737
  })
10738
10738
  });
@@ -10749,7 +10749,7 @@ var LoginForm = ({
10749
10749
  ),
10750
10750
  password: z.string({
10751
10751
  required_error: ((_j = texts == null ? void 0 : texts.password) == null ? void 0 : _j.required) || "Password Required"
10752
- }).min(1, { message: ((_k = texts == null ? void 0 : texts.password) == null ? void 0 : _k.required) || "Password Required" }).min(passwordLength, {
10752
+ }).min(1, { message: ((_k = texts == null ? void 0 : texts.password) == null ? void 0 : _k.required) || "Password Required" }).min(minPasswordLength, {
10753
10753
  message: ((_l = texts == null ? void 0 : texts.password) == null ? void 0 : _l.tooShort) || "Password too short"
10754
10754
  })
10755
10755
  });
@@ -11042,11 +11042,12 @@ import * as z2 from "zod";
11042
11042
  var RegisterForm = ({
11043
11043
  texts,
11044
11044
  registerFields = ["email"],
11045
+ minPasswordLength = 8,
11045
11046
  showTermsOption = false,
11046
11047
  showNewsletterOption = false,
11047
11048
  ...props
11048
11049
  }) => {
11049
- var _a, _b, _c, _d, _e, _f, _g, _h;
11050
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i;
11050
11051
  const [passwordVisible, setPasswordVisible] = useState41(false);
11051
11052
  const thirdPartyAuthTexts = {
11052
11053
  continueWithGoogle: texts == null ? void 0 : texts.continueWithGoogle,
@@ -11091,15 +11092,17 @@ var RegisterForm = ({
11091
11092
  ...fieldSchemas,
11092
11093
  password: z2.string({
11093
11094
  required_error: ((_a = texts == null ? void 0 : texts.password) == null ? void 0 : _a.required) || "Password is required"
11094
- }).min(5, {
11095
+ }).min(minPasswordLength, {
11095
11096
  message: ((_b = texts == null ? void 0 : texts.password) == null ? void 0 : _b.tooShort) || "Password is too short"
11096
11097
  }).refine((value) => value !== "", {
11097
11098
  message: ((_c = texts == null ? void 0 : texts.password) == null ? void 0 : _c.required) || "Password is required"
11098
11099
  }),
11099
11100
  confirm_password: z2.string({
11100
11101
  required_error: ((_d = texts == null ? void 0 : texts.confirm) == null ? void 0 : _d.required) || "Confirm password required"
11102
+ }).min(minPasswordLength, {
11103
+ message: ((_e = texts == null ? void 0 : texts.password) == null ? void 0 : _e.tooShort) || "Password is too short"
11101
11104
  }).refine((value) => value !== "", {
11102
- message: ((_e = texts == null ? void 0 : texts.password) == null ? void 0 : _e.required) || "Confirm password is required"
11105
+ message: ((_f = texts == null ? void 0 : texts.password) == null ? void 0 : _f.required) || "Confirm password is required"
11103
11106
  }),
11104
11107
  refCode: z2.string().optional(),
11105
11108
  reference: z2.string().optional(),
@@ -11108,7 +11111,7 @@ var RegisterForm = ({
11108
11111
  }),
11109
11112
  newsletter_accepted: z2.boolean().optional()
11110
11113
  }).refine((data) => data.password === data.confirm_password, {
11111
- message: ((_f = texts == null ? void 0 : texts.confirm) == null ? void 0 : _f.dontMatch) || "Passwords don't match",
11114
+ message: ((_g = texts == null ? void 0 : texts.confirm) == null ? void 0 : _g.dontMatch) || "Passwords don't match",
11112
11115
  path: ["confirm_password"]
11113
11116
  });
11114
11117
  const { handleSubmit, control, formState } = useForm2({
@@ -11119,7 +11122,7 @@ var RegisterForm = ({
11119
11122
  {
11120
11123
  className: cn(
11121
11124
  "hawa-flex hawa-flex-col hawa-gap-4",
11122
- (_g = props.classNames) == null ? void 0 : _g.root
11125
+ (_h = props.classNames) == null ? void 0 : _h.root
11123
11126
  )
11124
11127
  },
11125
11128
  /* @__PURE__ */ React83.createElement(
@@ -11127,7 +11130,7 @@ var RegisterForm = ({
11127
11130
  {
11128
11131
  dir: props.direction,
11129
11132
  className: cn(
11130
- (_h = props.classNames) == null ? void 0 : _h.card,
11133
+ (_i = props.classNames) == null ? void 0 : _i.card,
11131
11134
  props.cardless && "hawa-border-none hawa-bg-transparent !hawa-shadow-none !hawa-drop-shadow-none"
11132
11135
  )
11133
11136
  },
@@ -13557,7 +13560,7 @@ export {
13557
13560
 
13558
13561
  lucide-react/dist/esm/shared/src/utils.js:
13559
13562
  (**
13560
- * @license lucide-react v0.395.0 - ISC
13563
+ * @license lucide-react v0.403.0 - ISC
13561
13564
  *
13562
13565
  * This source code is licensed under the ISC license.
13563
13566
  * See the LICENSE file in the root directory of this source tree.
@@ -13565,7 +13568,7 @@ lucide-react/dist/esm/shared/src/utils.js:
13565
13568
 
13566
13569
  lucide-react/dist/esm/defaultAttributes.js:
13567
13570
  (**
13568
- * @license lucide-react v0.395.0 - ISC
13571
+ * @license lucide-react v0.403.0 - ISC
13569
13572
  *
13570
13573
  * This source code is licensed under the ISC license.
13571
13574
  * See the LICENSE file in the root directory of this source tree.
@@ -13573,7 +13576,7 @@ lucide-react/dist/esm/defaultAttributes.js:
13573
13576
 
13574
13577
  lucide-react/dist/esm/Icon.js:
13575
13578
  (**
13576
- * @license lucide-react v0.395.0 - ISC
13579
+ * @license lucide-react v0.403.0 - ISC
13577
13580
  *
13578
13581
  * This source code is licensed under the ISC license.
13579
13582
  * See the LICENSE file in the root directory of this source tree.
@@ -13581,7 +13584,7 @@ lucide-react/dist/esm/Icon.js:
13581
13584
 
13582
13585
  lucide-react/dist/esm/createLucideIcon.js:
13583
13586
  (**
13584
- * @license lucide-react v0.395.0 - ISC
13587
+ * @license lucide-react v0.403.0 - ISC
13585
13588
  *
13586
13589
  * This source code is licensed under the ISC license.
13587
13590
  * See the LICENSE file in the root directory of this source tree.
@@ -13589,7 +13592,7 @@ lucide-react/dist/esm/createLucideIcon.js:
13589
13592
 
13590
13593
  lucide-react/dist/esm/icons/dot.js:
13591
13594
  (**
13592
- * @license lucide-react v0.395.0 - ISC
13595
+ * @license lucide-react v0.403.0 - ISC
13593
13596
  *
13594
13597
  * This source code is licensed under the ISC license.
13595
13598
  * See the LICENSE file in the root directory of this source tree.
@@ -13597,7 +13600,7 @@ lucide-react/dist/esm/icons/dot.js:
13597
13600
 
13598
13601
  lucide-react/dist/esm/lucide-react.js:
13599
13602
  (**
13600
- * @license lucide-react v0.395.0 - ISC
13603
+ * @license lucide-react v0.403.0 - ISC
13601
13604
  *
13602
13605
  * This source code is licensed under the ISC license.
13603
13606
  * See the LICENSE file in the root directory of this source tree.
@@ -37,38 +37,38 @@ type TextFieldTypes = React__default.InputHTMLAttributes<HTMLInputElement> & {
37
37
  loadingErrorMesssage?: string;
38
38
  };
39
39
  declare const Input: React__default.ForwardRefExoticComponent<React__default.InputHTMLAttributes<HTMLInputElement> & {
40
- isLoading?: boolean | undefined;
41
- isLoadingError?: boolean | undefined;
42
- containerClassName?: string | undefined;
43
- margin?: "none" | "large" | "normal" | undefined;
44
- width?: "small" | "full" | "auto" | "normal" | undefined;
40
+ isLoading?: boolean;
41
+ isLoadingError?: boolean;
42
+ containerClassName?: string;
43
+ margin?: "none" | "normal" | "large";
44
+ width?: "small" | "normal" | "full" | "auto";
45
45
  /** The label of the input field */
46
46
  label?: any;
47
- labelProps?: LabelProps | undefined;
48
- hideSeparator?: boolean | undefined;
47
+ labelProps?: LabelProps;
48
+ hideSeparator?: boolean;
49
49
  /** The small red text under the input field to show validation. */
50
50
  helperText?: any;
51
51
  prefixText?: any;
52
- forceHideHelperText?: boolean | undefined;
53
- inputProps?: React__default.InputHTMLAttributes<HTMLInputElement> | undefined;
52
+ forceHideHelperText?: boolean;
53
+ inputProps?: React__default.InputHTMLAttributes<HTMLInputElement>;
54
54
  /** The icon inside the input field */
55
55
  icon?: any;
56
56
  /** Boolean to enable/disable editing the input field and using it as a text field */
57
- preview?: boolean | undefined;
57
+ preview?: boolean;
58
58
  iconInside?: React__default.ReactNode;
59
59
  endIcon?: React__default.ReactNode;
60
60
  endIconProps?: {
61
- className?: string | undefined;
62
- } | undefined;
61
+ className?: string;
62
+ };
63
63
  startIcon?: React__default.ReactNode;
64
64
  placeholder?: React__default.ReactNode;
65
65
  /** Show the count of characters left in the input field. Works along with maxLength prop. */
66
- showCount?: boolean | undefined;
67
- countPosition?: "top" | "bottom" | "center" | undefined;
68
- popup?: boolean | undefined;
66
+ showCount?: boolean;
67
+ countPosition?: "top" | "bottom" | "center";
68
+ popup?: boolean;
69
69
  popupContent?: React__default.ReactNode;
70
70
  outsidePrefix?: any;
71
- loadingErrorMesssage?: string | undefined;
71
+ loadingErrorMesssage?: string;
72
72
  } & React__default.RefAttributes<HTMLInputElement>>;
73
73
 
74
74
  export { Input, type TextFieldTypes };
@@ -37,38 +37,38 @@ type TextFieldTypes = React__default.InputHTMLAttributes<HTMLInputElement> & {
37
37
  loadingErrorMesssage?: string;
38
38
  };
39
39
  declare const Input: React__default.ForwardRefExoticComponent<React__default.InputHTMLAttributes<HTMLInputElement> & {
40
- isLoading?: boolean | undefined;
41
- isLoadingError?: boolean | undefined;
42
- containerClassName?: string | undefined;
43
- margin?: "none" | "large" | "normal" | undefined;
44
- width?: "small" | "full" | "auto" | "normal" | undefined;
40
+ isLoading?: boolean;
41
+ isLoadingError?: boolean;
42
+ containerClassName?: string;
43
+ margin?: "none" | "normal" | "large";
44
+ width?: "small" | "normal" | "full" | "auto";
45
45
  /** The label of the input field */
46
46
  label?: any;
47
- labelProps?: LabelProps | undefined;
48
- hideSeparator?: boolean | undefined;
47
+ labelProps?: LabelProps;
48
+ hideSeparator?: boolean;
49
49
  /** The small red text under the input field to show validation. */
50
50
  helperText?: any;
51
51
  prefixText?: any;
52
- forceHideHelperText?: boolean | undefined;
53
- inputProps?: React__default.InputHTMLAttributes<HTMLInputElement> | undefined;
52
+ forceHideHelperText?: boolean;
53
+ inputProps?: React__default.InputHTMLAttributes<HTMLInputElement>;
54
54
  /** The icon inside the input field */
55
55
  icon?: any;
56
56
  /** Boolean to enable/disable editing the input field and using it as a text field */
57
- preview?: boolean | undefined;
57
+ preview?: boolean;
58
58
  iconInside?: React__default.ReactNode;
59
59
  endIcon?: React__default.ReactNode;
60
60
  endIconProps?: {
61
- className?: string | undefined;
62
- } | undefined;
61
+ className?: string;
62
+ };
63
63
  startIcon?: React__default.ReactNode;
64
64
  placeholder?: React__default.ReactNode;
65
65
  /** Show the count of characters left in the input field. Works along with maxLength prop. */
66
- showCount?: boolean | undefined;
67
- countPosition?: "top" | "bottom" | "center" | undefined;
68
- popup?: boolean | undefined;
66
+ showCount?: boolean;
67
+ countPosition?: "top" | "bottom" | "center";
68
+ popup?: boolean;
69
69
  popupContent?: React__default.ReactNode;
70
70
  outsidePrefix?: any;
71
- loadingErrorMesssage?: string | undefined;
71
+ loadingErrorMesssage?: string;
72
72
  } & React__default.RefAttributes<HTMLInputElement>>;
73
73
 
74
74
  export { Input, type TextFieldTypes };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../elements/input/index.ts","../../elements/input/Input.tsx","../../util/index.ts","../../elements/helperText/HelperText.tsx","../../elements/label/Label.tsx","../../elements/tooltip/Tooltip.tsx","../../elements/skeleton/Skeleton.tsx"],"sourcesContent":["export * from \"./Input\";\n","import React, { forwardRef } from \"react\";\n\nimport { cn } from \"@util/index\";\n\nimport { HelperText } from \"../helperText\";\nimport { Label, LabelProps } from \"../label/Label\";\nimport { Skeleton } from \"../skeleton/Skeleton\";\n\nexport type TextFieldTypes = React.InputHTMLAttributes<HTMLInputElement> & {\n isLoading?: boolean;\n isLoadingError?: boolean;\n containerClassName?: string;\n margin?: \"none\" | \"normal\" | \"large\";\n width?: \"small\" | \"normal\" | \"full\" | \"auto\";\n /** The label of the input field */\n label?: any;\n labelProps?: LabelProps;\n hideSeparator?: boolean;\n /** The small red text under the input field to show validation. */\n helperText?: any;\n prefixText?: any;\n forceHideHelperText?: boolean;\n inputProps?: React.InputHTMLAttributes<HTMLInputElement>;\n /** The icon inside the input field */\n icon?: any;\n /** Boolean to enable/disable editing the input field and using it as a text field */\n preview?: boolean;\n // maxLength?: any;\n iconInside?: React.ReactNode;\n endIcon?: React.ReactNode;\n endIconProps?: { className?: string };\n startIcon?: React.ReactNode;\n placeholder?: React.ReactNode;\n /** Show the count of characters left in the input field. Works along with maxLength prop. */\n showCount?: boolean;\n countPosition?: \"top\" | \"bottom\" | \"center\";\n popup?: boolean;\n popupContent?: React.ReactNode;\n outsidePrefix?: any;\n loadingErrorMesssage?: string;\n};\nexport const Input = forwardRef<HTMLInputElement, TextFieldTypes>(\n (\n {\n margin = \"none\",\n width = \"full\",\n preview = false,\n forceHideHelperText = false,\n labelProps,\n placeholder,\n showCount,\n inputProps,\n countPosition = \"bottom\",\n ...props\n },\n ref,\n ) => {\n let marginStyles = {\n none: \"hawa-mb-0\",\n normal: \"hawa-mb-3\",\n large: \"hawa-mb-5\",\n };\n let widthStyles = {\n small: \"hawa-w-full hawa-max-w-2xs\",\n normal: \"hawa-w-1/2\",\n full: \"hawa-w-full\",\n auto: \"\",\n };\n\n let defaultStyle =\n \"hawa-flex hawa-max-h-fit hawa-h-fit hawa-relative hawa-flex-col hawa-justify-center hawa-gap-0\";\n let defaultInputStyle =\n \"hawa-block hawa-w-full hawa-rounded hawa-border hawa-transition-all hawa-bg-background hawa-p-3 hawa-text-sm placeholder:hawa-text-muted-foreground\";\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n let newValue = e.target.value;\n\n if (props.prefixText) {\n // If newValue is shorter than prefixText, set newValue to prefixText\n if (newValue.length < props.prefixText.length) {\n newValue = props.prefixText;\n } else {\n // Check if newValue starts with a substring of prefixText\n const isSubstring = props.prefixText.startsWith(newValue);\n\n if (!isSubstring && !newValue.startsWith(props.prefixText)) {\n newValue = `${props.prefixText}${newValue}`;\n }\n }\n }\n\n if (props.onChange) {\n const newEvent = { ...e, target: { ...e.target, value: newValue } };\n props.onChange(newEvent as React.ChangeEvent<HTMLInputElement>);\n }\n };\n\n return (\n <div\n className={cn(\n defaultStyle,\n marginStyles[margin],\n widthStyles[width],\n props.containerClassName,\n \"hawa-w-full hawa-gap-2\",\n )}\n >\n {props.label && <Label {...labelProps}>{props.label}</Label>}\n <div className=\"hawa-flex hawa-flex-row hawa-w-full hawa-items-center\">\n {props.outsidePrefix && (\n <span\n className={cn(\n \"hawa-me-2 hawa-opacity-90\",\n !forceHideHelperText && \"hawa-mb-2\",\n )}\n >\n {props.outsidePrefix}\n </span>\n )}\n {props.isLoading ? (\n <div className=\"hawa-pb-2 hawa-w-full\">\n <Skeleton className=\"hawa-h-[40px] hawa-w-full\" />\n </div>\n ) : props.isLoadingError ? (\n <div className=\"hawa-pb-2 hawa-w-full\">\n <Skeleton\n animation=\"none\"\n className=\"hawa-h-[40px] hawa-w-full !hawa-bg-destructive/[0.3]\"\n content={\n <div className=\"hawa-flex hawa-flex-row hawa-gap-2\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className=\"hawa-text-destructive\"\n >\n <path d=\"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3\" />\n <path d=\"M12 9v4\" />\n <path d=\"M12 17h.01\" />\n </svg>\n <span>\n <span className=\"hawa-text-destructive\">\n {props.loadingErrorMesssage || \"Error loading data\"}\n </span>\n </span>\n </div>\n }\n />\n </div>\n ) : (\n <>\n {!props.hideSeparator && (\n <div\n className={cn(\n \"hawa-absolute hawa-top-[22px] hawa-h-[0.8px] hawa-w-full hawa-bg-gray-200 hawa-transition-all dark:hawa-bg-gray-800\",\n preview ? \"hawa-opacity-100\" : \"hawa-opacity-0\",\n )}\n ></div>\n )}\n <div className=\"hawa-flex hawa-flex-col hawa-w-full hawa-gap-2\">\n <div className={\"hawa-relative\"}>\n {props.startIcon && (\n <div className=\"hawa-absolute hawa-start-3 hawa-top-1/2 hawa--translate-y-1/2\">\n {props.startIcon}\n </div>\n )}\n {props.endIcon && (\n <div\n className={cn(\n \"hawa-absolute hawa-end-3 hawa-top-1/2 hawa--translate-y-1/2\",\n props.endIconProps?.className,\n )}\n >\n {props.endIcon}\n </div>\n )}\n <input\n required\n dir={props.dir}\n type={props.type}\n value={props.value}\n onChange={handleChange}\n autoComplete={props.autoComplete}\n defaultValue={props.defaultValue}\n placeholder={placeholder}\n disabled={props.disabled || preview}\n style={{ height: 40 }}\n {...inputProps}\n className={cn(\n defaultInputStyle,\n \"focus-visible:hawa-outline-none focus-visible:hawa-ring-2 focus-visible:hawa-ring-ring focus-visible:hawa-ring-offset-0 dark:hawa-text-white\",\n {\n \"hawa-pe-9\": props.endIcon,\n \"hawa-ps-9\": props.startIcon,\n \"hawa-pe-[60px]\": countPosition === \"center\",\n },\n preview &&\n \"hawa-border-transparent hawa-bg-transparent hawa-px-0\",\n inputProps?.className,\n )}\n />\n </div>\n\n {/* Regular helper text */}\n {!forceHideHelperText && (\n <HelperText helperText={props.helperText} />\n )}\n {/* Popover helper text */}\n {!props.disabled && forceHideHelperText && (\n <div\n className={cn(\n \"hawa-absolute hawa-end-0 hawa-top-[47px] hawa-z-20 hawa-translate-y-1/2 hawa-rounded hawa-bg-background hawa-text-start hawa-text-xs hawa-text-helper-color hawa-drop-shadow-md hawa-transition-all\",\n props.helperText\n ? \"hawa-border hawa-p-1\"\n : \"hawa-border-none hawa-p-0\",\n )}\n >\n {props.helperText}\n </div>\n )}\n {/* Character Counter */}\n {showCount && (\n <div\n className={cn(\n \"hawa-absolute hawa-translate-y-1/2 hawa-text-start hawa-text-xs hawa-transition-all\",\n {\n \"hawa-end-0 hawa-top-[62px]\":\n countPosition === \"bottom\",\n \"hawa-bottom-[62px] hawa-end-0\":\n countPosition === \"top\",\n \"hawa-end-2\": countPosition === \"center\",\n },\n )}\n >\n {props.value ? String(props.value).length : 0}/\n {props.maxLength}\n </div>\n )}\n\n {/* Popover helper text */}\n {/* {props.popup && (\n <div\n className={cn(\n \"hawa-absolute hawa-top-[47px] hawa-min-h-fit hawa-w-full hawa-text-xs hawa-text-helper-color hawa-transition-all hawa-text-start hawa-rounded hawa-end-0 hawa-z-20 hawa-drop-shadow-md hawa-bg-background hawa-translate-y-1/2\",\n props.helperText\n ? \"hawa-border hawa-p-1\"\n : \"hawa-border-none hawa-p-0\"\n )}\n >\n {props.popupContent}\n </div>\n )} */}\n </div>\n </>\n )}\n </div>\n </div>\n );\n },\n);\n","import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\ntype Palette = {\n name: string;\n colors: {\n [key: number]: string;\n };\n};\ntype Rgb = {\n r: number;\n g: number;\n b: number;\n};\nfunction hexToRgb(hex: string): Rgb | null {\n const sanitizedHex = hex.replaceAll(\"##\", \"#\");\n const colorParts = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(\n sanitizedHex\n );\n\n if (!colorParts) {\n return null;\n }\n\n const [, r, g, b] = colorParts;\n\n return {\n r: parseInt(r, 16),\n g: parseInt(g, 16),\n b: parseInt(b, 16)\n } as Rgb;\n}\n\nfunction rgbToHex(r: number, g: number, b: number): string {\n const toHex = (c: number) => `0${c.toString(16)}`.slice(-2);\n return `#${toHex(r)}${toHex(g)}${toHex(b)}`;\n}\n\nexport function getTextColor(color: string): \"#FFF\" | \"#333\" {\n const rgbColor = hexToRgb(color);\n\n if (!rgbColor) {\n return \"#333\";\n }\n\n const { r, g, b } = rgbColor;\n const luma = 0.2126 * r + 0.7152 * g + 0.0722 * b;\n\n return luma < 120 ? \"#FFF\" : \"#333\";\n}\n\nfunction lighten(hex: string, intensity: number): string {\n const color = hexToRgb(`#${hex}`);\n\n if (!color) {\n return \"\";\n }\n\n const r = Math.round(color.r + (255 - color.r) * intensity);\n const g = Math.round(color.g + (255 - color.g) * intensity);\n const b = Math.round(color.b + (255 - color.b) * intensity);\n\n return rgbToHex(r, g, b);\n}\n\nfunction darken(hex: string, intensity: number): string {\n const color = hexToRgb(hex);\n\n if (!color) {\n return \"\";\n }\n\n const r = Math.round(color.r * intensity);\n const g = Math.round(color.g * intensity);\n const b = Math.round(color.b * intensity);\n\n return rgbToHex(r, g, b);\n}\nconst parseColor = (color: any) => {\n if (color.startsWith(\"#\")) {\n // Convert hex to RGB\n let r = parseInt(color.slice(1, 3), 16);\n let g = parseInt(color.slice(3, 5), 16);\n let b = parseInt(color.slice(5, 7), 16);\n return [r, g, b];\n } else if (color.startsWith(\"rgb\")) {\n // Extract RGB values from rgb() format\n return color.match(/\\d+/g).map(Number);\n }\n // Default to white if format is unrecognized\n return [255, 255, 255];\n};\nexport const calculateLuminance = (color: any) => {\n const [r, g, b] = parseColor(color)?.map((c: any) => {\n c /= 255;\n return c <= 0.03928 ? c / 12.92 : ((c + 0.055) / 1.055) ** 2.4;\n });\n return 0.2126 * r + 0.7152 * g + 0.0722 * b;\n};\n\nfunction getPallette(baseColor: string): Palette {\n const name = baseColor;\n\n const response: Palette = {\n name,\n colors: {\n 500: `#${baseColor}`.replace(\"##\", \"#\")\n }\n };\n\n const intensityMap: {\n [key: number]: number;\n } = {\n 50: 0.95,\n 100: 0.9,\n 200: 0.75,\n 300: 0.6,\n 400: 0.3,\n 600: 0.9,\n 700: 0.75,\n 800: 0.6,\n 900: 0.49\n };\n\n [50, 100, 200, 300, 400].forEach((level) => {\n response.colors[level] = lighten(baseColor, intensityMap[level]);\n });\n [600, 700, 800, 900].forEach((level) => {\n response.colors[level] = darken(baseColor, intensityMap[level]);\n });\n\n return response as Palette;\n}\n\nexport { getPallette };\n\n// const hexToRgb = (hex) => {\n// let d = hex?.split(\"#\")[1];\n// var aRgbHex = d?.match(/.{1,2}/g);\n// var aRgb = [\n// parseInt(aRgbHex[0], 16),\n// parseInt(aRgbHex[1], 16),\n// parseInt(aRgbHex[2], 16)\n// ];\n// return aRgb;\n// };\n// const getTextColor = (backColor) => {\n// let rgbArray = hexToRgb(backColor);\n// if (rgbArray[0] * 0.299 + rgbArray[1] * 0.587 + rgbArray[2] * 0.114 > 186) {\n// return \"#000000\";\n// } else {\n// return \"#ffffff\";\n// }\n// };\n// const replaceAt = function (string, index, replacement) {\n// // if (replacement == \"\" || replacement == \" \") {\n// // return (\n// // string.substring(0, index) +\n// // string.substring(index + replacement.length )\n// // );\n// // }\n// const replaced = string.substring(0, index) + replacement + string.substring(index + 1)\n// return replaced\n// };\n\n// export { hexToRgb, getTextColor, replaceAt };\n","import React from \"react\";\n\nimport { cn } from \"@util/index\";\n\nexport const HelperText = ({ helperText }: { helperText?: any }) => (\n <p\n className={cn(\n \"hawa-my-0 hawa-text-start hawa-text-xs hawa-text-helper-color hawa-transition-all\",\n helperText ? \"hawa-h-4 hawa-opacity-100\" : \"hawa-h-0 hawa-opacity-0\",\n )}\n >\n {helperText}\n </p>\n);\n","import * as React from \"react\";\n\nimport { cn } from \"@util/index\";\n\nimport { PositionType } from \"@_types/commonTypes\";\n\nimport { Tooltip } from \"../tooltip\";\n\nexport type LabelProps = {\n hint?: React.ReactNode;\n hintSide?: PositionType;\n htmlFor?: string;\n required?: boolean;\n};\n\nconst Label = React.forwardRef<\n HTMLLabelElement,\n React.LabelHTMLAttributes<HTMLLabelElement> & LabelProps\n>(({ className, hint, hintSide, required, children, ...props }, ref) => (\n <div className=\"hawa-flex hawa-flex-row hawa-items-center hawa-gap-1 hawa-transition-all\">\n <label\n ref={ref}\n className={cn(\n \"hawa-text-sm hawa-font-medium hawa-leading-none peer-disabled:hawa-cursor-not-allowed peer-disabled:hawa-opacity-70\",\n className,\n )}\n {...props}\n >\n {children}\n {required && <span className=\"hawa-mx-0.5 hawa-text-red-500\">*</span>}\n </label>\n {hint && (\n <Tooltip\n content={hint}\n side={hintSide}\n triggerProps={{\n tabIndex: -1,\n onClick: (event) => event.preventDefault(),\n }}\n >\n <div>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"hawa-h-[14px] hawa-w-[14px] hawa-cursor-help\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <path d=\"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3\" />\n <path d=\"M12 17h.01\" />\n </svg>\n </div>\n </Tooltip>\n )}\n </div>\n));\n\nLabel.displayName = \"Label\";\n\nexport { Label };\n","import React from \"react\";\n\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\";\nimport { cn } from \"@util/index\";\n\nimport { PositionType } from \"@_types/commonTypes\";\n\nconst TooltipContent = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content> & {\n size?: \"default\" | \"small\" | \"large\";\n }\n>(({ className, sideOffset = 4, size = \"default\", ...props }, ref) => (\n <TooltipPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n \"hawa-z-50 hawa-overflow-hidden hawa-rounded-md hawa-border hawa-bg-popover hawa-px-3 hawa-py-1.5 hawa-text-sm hawa-text-popover-foreground hawa-shadow-md hawa-animate-in hawa-fade-in-0 hawa-zoom-in-95 data-[state=closed]:hawa-animate-out data-[state=closed]:hawa-fade-out-0 data-[state=closed]:hawa-zoom-out-95 data-[side=bottom]:hawa-slide-in-from-top-2 data-[side=left]:hawa-slide-in-from-right-2 data-[side=right]:hawa-slide-in-from-left-2 data-[side=top]:hawa-slide-in-from-bottom-2\",\n {\n \"hawa-text-xs\": size === \"small\",\n \"hawa-text-xl\": size === \"large\",\n },\n className,\n )}\n {...props}\n />\n));\nTooltipContent.displayName = TooltipPrimitive.Content.displayName;\n\nconst TooltipArrow = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Arrow>,\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Arrow>\n>(({ className, ...props }, ref) => (\n <TooltipPrimitive.Arrow ref={ref} className={cn(className)} {...props} />\n));\nTooltipArrow.displayName = TooltipPrimitive.Arrow.displayName;\n\ntype TooltipTypes = {\n /** Controls the open state of the tooltip. */\n open?: any;\n /** Specifies the side where the tooltip will appear. */\n side?: PositionType;\n /** Content to be displayed within the tooltip. */\n content?: any;\n /** Elements to which the tooltip is anchored. */\n children?: any;\n /** Sets the default open state of the tooltip. */\n defaultOpen?: any;\n /** Event handler for open state changes. */\n onOpenChange?: any;\n /** Duration of the delay before the tooltip appears. */\n delayDuration?: any;\n /** Size of the tooltip. */\n size?: \"default\" | \"small\" | \"large\";\n /** Disables the tooltip. */\n disabled?: boolean;\n triggerProps?: TooltipPrimitive.TooltipTriggerProps;\n contentProps?: TooltipPrimitive.TooltipContentProps;\n providerProps?: TooltipPrimitive.TooltipProviderProps;\n};\n\nconst Tooltip: React.FunctionComponent<TooltipTypes> = ({\n side,\n size,\n open,\n content,\n children,\n disabled,\n defaultOpen,\n onOpenChange,\n triggerProps,\n contentProps,\n providerProps,\n delayDuration = 300,\n ...props\n}) => {\n return (\n <TooltipPrimitive.TooltipProvider\n delayDuration={delayDuration}\n {...providerProps}\n >\n <TooltipPrimitive.Root\n open={!disabled && open}\n defaultOpen={defaultOpen}\n onOpenChange={onOpenChange}\n {...props}\n >\n <TooltipPrimitive.Trigger {...triggerProps}>\n {children}\n </TooltipPrimitive.Trigger>\n <TooltipContent\n size={size}\n side={side}\n align=\"center\"\n {...contentProps}\n style={{\n ...contentProps?.style,\n maxWidth: \"var(--radix-tooltip-content-available-width)\",\n maxHeight: \"var(--radix-tooltip-content-available-height)\",\n }}\n >\n {content}\n </TooltipContent>\n </TooltipPrimitive.Root>\n </TooltipPrimitive.TooltipProvider>\n );\n};\n\nexport { Tooltip };\n","import React from \"react\";\n\nimport { cn } from \"@util/index\";\n\ninterface SkeletonProps extends React.HTMLAttributes<HTMLDivElement> {\n className?: string;\n animation?: \"none\" | \"pulse\" | \"shimmer\";\n content?: any;\n fade?: \"top\" | \"bottom\" | \"left\" | \"right\";\n}\n\nfunction Skeleton({\n className,\n content,\n animation = \"pulse\",\n fade,\n ...props\n}: SkeletonProps) {\n const animationStyles = {\n none: \"hawa-rounded hawa-bg-muted\",\n pulse: \"hawa-animate-pulse hawa-rounded hawa-bg-muted\",\n shimmer:\n \"hawa-space-y-5 hawa-rounded hawa-bg-muted hawa-p-4 hawa-relative before:hawa-absolute before:hawa-inset-0 before:hawa--translate-x-full before:hawa-animate-[shimmer_2s_infinite] before:hawa-bg-gradient-to-r before:hawa-from-transparent before:hawa-via-gray-300/40 dark:before:hawa-via-white/10 before:hawa-to-transparent hawa-isolate hawa-overflow-hidden before:hawa-border-t before:hawa-border-rose-100/10\",\n };\n const fadeStyle = {\n bottom: \"hawa-mask-fade-bottom\",\n top: \"hawa-mask-fade-top\",\n right: \"hawa-mask-fade-right\",\n left: \"hawa-mask-fade-left \",\n };\n\n return (\n <div\n className={cn(\n animationStyles[animation],\n content &&\n \"hawa-flex hawa-flex-col hawa-items-center hawa-justify-center\",\n fade && fadeStyle[fade],\n className,\n )}\n {...props}\n >\n {content && content}\n </div>\n );\n}\n\nexport { Skeleton };\n"],"mappings":"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","names":["import_react","React","React","import_react","React","import_react","React","React"]}
1
+ {"version":3,"sources":["../../elements/input/index.ts","../../elements/input/Input.tsx","../../util/index.ts","../../elements/helperText/HelperText.tsx","../../elements/label/Label.tsx","../../elements/tooltip/Tooltip.tsx","../../elements/skeleton/Skeleton.tsx"],"sourcesContent":["export * from \"./Input\";\n","import React, { forwardRef } from \"react\";\n\nimport { cn } from \"@util/index\";\n\nimport { HelperText } from \"../helperText\";\nimport { Label, LabelProps } from \"../label/Label\";\nimport { Skeleton } from \"../skeleton/Skeleton\";\n\nexport type TextFieldTypes = React.InputHTMLAttributes<HTMLInputElement> & {\n isLoading?: boolean;\n isLoadingError?: boolean;\n containerClassName?: string;\n margin?: \"none\" | \"normal\" | \"large\";\n width?: \"small\" | \"normal\" | \"full\" | \"auto\";\n /** The label of the input field */\n label?: any;\n labelProps?: LabelProps;\n hideSeparator?: boolean;\n /** The small red text under the input field to show validation. */\n helperText?: any;\n prefixText?: any;\n forceHideHelperText?: boolean;\n inputProps?: React.InputHTMLAttributes<HTMLInputElement>;\n /** The icon inside the input field */\n icon?: any;\n /** Boolean to enable/disable editing the input field and using it as a text field */\n preview?: boolean;\n // maxLength?: any;\n iconInside?: React.ReactNode;\n endIcon?: React.ReactNode;\n endIconProps?: { className?: string };\n startIcon?: React.ReactNode;\n placeholder?: React.ReactNode;\n /** Show the count of characters left in the input field. Works along with maxLength prop. */\n showCount?: boolean;\n countPosition?: \"top\" | \"bottom\" | \"center\";\n popup?: boolean;\n popupContent?: React.ReactNode;\n outsidePrefix?: any;\n loadingErrorMesssage?: string;\n};\nexport const Input = forwardRef<HTMLInputElement, TextFieldTypes>(\n (\n {\n margin = \"none\",\n width = \"full\",\n preview = false,\n forceHideHelperText = false,\n labelProps,\n placeholder,\n showCount,\n inputProps,\n countPosition = \"bottom\",\n ...props\n },\n ref,\n ) => {\n let marginStyles = {\n none: \"hawa-mb-0\",\n normal: \"hawa-mb-3\",\n large: \"hawa-mb-5\",\n };\n let widthStyles = {\n small: \"hawa-w-full hawa-max-w-2xs\",\n normal: \"hawa-w-1/2\",\n full: \"hawa-w-full\",\n auto: \"\",\n };\n\n let defaultStyle =\n \"hawa-flex hawa-max-h-fit hawa-h-fit hawa-relative hawa-flex-col hawa-justify-center hawa-gap-0\";\n let defaultInputStyle =\n \"hawa-block hawa-w-full hawa-rounded hawa-border hawa-transition-all hawa-bg-background hawa-p-3 hawa-text-sm placeholder:hawa-text-muted-foreground\";\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n let newValue = e.target.value;\n\n if (props.prefixText) {\n // If newValue is shorter than prefixText, set newValue to prefixText\n if (newValue.length < props.prefixText.length) {\n newValue = props.prefixText;\n } else {\n // Check if newValue starts with a substring of prefixText\n const isSubstring = props.prefixText.startsWith(newValue);\n\n if (!isSubstring && !newValue.startsWith(props.prefixText)) {\n newValue = `${props.prefixText}${newValue}`;\n }\n }\n }\n\n if (props.onChange) {\n const newEvent = { ...e, target: { ...e.target, value: newValue } };\n props.onChange(newEvent as React.ChangeEvent<HTMLInputElement>);\n }\n };\n\n return (\n <div\n className={cn(\n defaultStyle,\n marginStyles[margin],\n widthStyles[width],\n props.containerClassName,\n \"hawa-w-full hawa-gap-2\",\n )}\n >\n {props.label && <Label {...labelProps}>{props.label}</Label>}\n <div className=\"hawa-flex hawa-flex-row hawa-w-full hawa-items-center\">\n {props.outsidePrefix && (\n <span\n className={cn(\n \"hawa-me-2 hawa-opacity-90\",\n !forceHideHelperText && \"hawa-mb-2\",\n )}\n >\n {props.outsidePrefix}\n </span>\n )}\n {props.isLoading ? (\n <div className=\"hawa-pb-2 hawa-w-full\">\n <Skeleton className=\"hawa-h-[40px] hawa-w-full\" />\n </div>\n ) : props.isLoadingError ? (\n <div className=\"hawa-pb-2 hawa-w-full\">\n <Skeleton\n animation=\"none\"\n className=\"hawa-h-[40px] hawa-w-full !hawa-bg-destructive/[0.3]\"\n content={\n <div className=\"hawa-flex hawa-flex-row hawa-gap-2\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className=\"hawa-text-destructive\"\n >\n <path d=\"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3\" />\n <path d=\"M12 9v4\" />\n <path d=\"M12 17h.01\" />\n </svg>\n <span>\n <span className=\"hawa-text-destructive\">\n {props.loadingErrorMesssage || \"Error loading data\"}\n </span>\n </span>\n </div>\n }\n />\n </div>\n ) : (\n <>\n {!props.hideSeparator && (\n <div\n className={cn(\n \"hawa-absolute hawa-top-[22px] hawa-h-[0.8px] hawa-w-full hawa-bg-gray-200 hawa-transition-all dark:hawa-bg-gray-800\",\n preview ? \"hawa-opacity-100\" : \"hawa-opacity-0\",\n )}\n ></div>\n )}\n <div className=\"hawa-flex hawa-flex-col hawa-w-full hawa-gap-2\">\n <div className={\"hawa-relative\"}>\n {props.startIcon && (\n <div className=\"hawa-absolute hawa-start-3 hawa-top-1/2 hawa--translate-y-1/2\">\n {props.startIcon}\n </div>\n )}\n {props.endIcon && (\n <div\n className={cn(\n \"hawa-absolute hawa-end-3 hawa-top-1/2 hawa--translate-y-1/2\",\n props.endIconProps?.className,\n )}\n >\n {props.endIcon}\n </div>\n )}\n <input\n required\n dir={props.dir}\n type={props.type}\n value={props.value}\n onChange={handleChange}\n autoComplete={props.autoComplete}\n defaultValue={props.defaultValue}\n placeholder={placeholder}\n disabled={props.disabled || preview}\n style={{ height: 40 }}\n {...inputProps}\n className={cn(\n defaultInputStyle,\n \"focus-visible:hawa-outline-none focus-visible:hawa-ring-2 focus-visible:hawa-ring-ring focus-visible:hawa-ring-offset-0 dark:hawa-text-white\",\n {\n \"hawa-pe-9\": props.endIcon,\n \"hawa-ps-9\": props.startIcon,\n \"hawa-pe-[60px]\": countPosition === \"center\",\n },\n preview &&\n \"hawa-border-transparent hawa-bg-transparent hawa-px-0\",\n inputProps?.className,\n )}\n />\n </div>\n\n {/* Regular helper text */}\n {!forceHideHelperText && (\n <HelperText helperText={props.helperText} />\n )}\n {/* Popover helper text */}\n {!props.disabled && forceHideHelperText && (\n <div\n className={cn(\n \"hawa-absolute hawa-end-0 hawa-top-[47px] hawa-z-20 hawa-translate-y-1/2 hawa-rounded hawa-bg-background hawa-text-start hawa-text-xs hawa-text-helper-color hawa-drop-shadow-md hawa-transition-all\",\n props.helperText\n ? \"hawa-border hawa-p-1\"\n : \"hawa-border-none hawa-p-0\",\n )}\n >\n {props.helperText}\n </div>\n )}\n {/* Character Counter */}\n {showCount && (\n <div\n className={cn(\n \"hawa-absolute hawa-translate-y-1/2 hawa-text-start hawa-text-xs hawa-transition-all\",\n {\n \"hawa-end-0 hawa-top-[62px]\":\n countPosition === \"bottom\",\n \"hawa-bottom-[62px] hawa-end-0\":\n countPosition === \"top\",\n \"hawa-end-2\": countPosition === \"center\",\n },\n )}\n >\n {props.value ? String(props.value).length : 0}/\n {props.maxLength}\n </div>\n )}\n\n {/* Popover helper text */}\n {/* {props.popup && (\n <div\n className={cn(\n \"hawa-absolute hawa-top-[47px] hawa-min-h-fit hawa-w-full hawa-text-xs hawa-text-helper-color hawa-transition-all hawa-text-start hawa-rounded hawa-end-0 hawa-z-20 hawa-drop-shadow-md hawa-bg-background hawa-translate-y-1/2\",\n props.helperText\n ? \"hawa-border hawa-p-1\"\n : \"hawa-border-none hawa-p-0\"\n )}\n >\n {props.popupContent}\n </div>\n )} */}\n </div>\n </>\n )}\n </div>\n </div>\n );\n },\n);\n","import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\ntype Palette = {\n name: string;\n colors: {\n [key: number]: string;\n };\n};\ntype Rgb = {\n r: number;\n g: number;\n b: number;\n};\nfunction hexToRgb(hex: string): Rgb | null {\n const sanitizedHex = hex.replaceAll(\"##\", \"#\");\n const colorParts = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(\n sanitizedHex\n );\n\n if (!colorParts) {\n return null;\n }\n\n const [, r, g, b] = colorParts;\n\n return {\n r: parseInt(r, 16),\n g: parseInt(g, 16),\n b: parseInt(b, 16)\n } as Rgb;\n}\n\nfunction rgbToHex(r: number, g: number, b: number): string {\n const toHex = (c: number) => `0${c.toString(16)}`.slice(-2);\n return `#${toHex(r)}${toHex(g)}${toHex(b)}`;\n}\n\nexport function getTextColor(color: string): \"#FFF\" | \"#333\" {\n const rgbColor = hexToRgb(color);\n\n if (!rgbColor) {\n return \"#333\";\n }\n\n const { r, g, b } = rgbColor;\n const luma = 0.2126 * r + 0.7152 * g + 0.0722 * b;\n\n return luma < 120 ? \"#FFF\" : \"#333\";\n}\n\nfunction lighten(hex: string, intensity: number): string {\n const color = hexToRgb(`#${hex}`);\n\n if (!color) {\n return \"\";\n }\n\n const r = Math.round(color.r + (255 - color.r) * intensity);\n const g = Math.round(color.g + (255 - color.g) * intensity);\n const b = Math.round(color.b + (255 - color.b) * intensity);\n\n return rgbToHex(r, g, b);\n}\n\nfunction darken(hex: string, intensity: number): string {\n const color = hexToRgb(hex);\n\n if (!color) {\n return \"\";\n }\n\n const r = Math.round(color.r * intensity);\n const g = Math.round(color.g * intensity);\n const b = Math.round(color.b * intensity);\n\n return rgbToHex(r, g, b);\n}\nconst parseColor = (color: any) => {\n if (color.startsWith(\"#\")) {\n // Convert hex to RGB\n let r = parseInt(color.slice(1, 3), 16);\n let g = parseInt(color.slice(3, 5), 16);\n let b = parseInt(color.slice(5, 7), 16);\n return [r, g, b];\n } else if (color.startsWith(\"rgb\")) {\n // Extract RGB values from rgb() format\n return color.match(/\\d+/g).map(Number);\n }\n // Default to white if format is unrecognized\n return [255, 255, 255];\n};\nexport const calculateLuminance = (color: any) => {\n const [r, g, b] = parseColor(color)?.map((c: any) => {\n c /= 255;\n return c <= 0.03928 ? c / 12.92 : ((c + 0.055) / 1.055) ** 2.4;\n });\n return 0.2126 * r + 0.7152 * g + 0.0722 * b;\n};\n\nfunction getPallette(baseColor: string): Palette {\n const name = baseColor;\n\n const response: Palette = {\n name,\n colors: {\n 500: `#${baseColor}`.replace(\"##\", \"#\")\n }\n };\n\n const intensityMap: {\n [key: number]: number;\n } = {\n 50: 0.95,\n 100: 0.9,\n 200: 0.75,\n 300: 0.6,\n 400: 0.3,\n 600: 0.9,\n 700: 0.75,\n 800: 0.6,\n 900: 0.49\n };\n\n [50, 100, 200, 300, 400].forEach((level) => {\n response.colors[level] = lighten(baseColor, intensityMap[level]);\n });\n [600, 700, 800, 900].forEach((level) => {\n response.colors[level] = darken(baseColor, intensityMap[level]);\n });\n\n return response as Palette;\n}\n\nexport { getPallette };\n\n// const hexToRgb = (hex) => {\n// let d = hex?.split(\"#\")[1];\n// var aRgbHex = d?.match(/.{1,2}/g);\n// var aRgb = [\n// parseInt(aRgbHex[0], 16),\n// parseInt(aRgbHex[1], 16),\n// parseInt(aRgbHex[2], 16)\n// ];\n// return aRgb;\n// };\n// const getTextColor = (backColor) => {\n// let rgbArray = hexToRgb(backColor);\n// if (rgbArray[0] * 0.299 + rgbArray[1] * 0.587 + rgbArray[2] * 0.114 > 186) {\n// return \"#000000\";\n// } else {\n// return \"#ffffff\";\n// }\n// };\n// const replaceAt = function (string, index, replacement) {\n// // if (replacement == \"\" || replacement == \" \") {\n// // return (\n// // string.substring(0, index) +\n// // string.substring(index + replacement.length )\n// // );\n// // }\n// const replaced = string.substring(0, index) + replacement + string.substring(index + 1)\n// return replaced\n// };\n\n// export { hexToRgb, getTextColor, replaceAt };\n","import React from \"react\";\n\nimport { cn } from \"@util/index\";\n\nexport const HelperText = ({ helperText }: { helperText?: any }) => (\n <p\n className={cn(\n \"hawa-my-0 hawa-text-start hawa-text-xs hawa-text-helper-color hawa-transition-all\",\n helperText ? \"hawa-h-4 hawa-opacity-100\" : \"hawa-h-0 hawa-opacity-0\",\n )}\n >\n {helperText}\n </p>\n);\n","import * as React from \"react\";\n\nimport { cn } from \"@util/index\";\n\nimport { PositionType } from \"@_types/commonTypes\";\n\nimport { Tooltip } from \"../tooltip\";\n\nexport type LabelProps = {\n hint?: React.ReactNode;\n hintSide?: PositionType;\n htmlFor?: string;\n required?: boolean;\n};\n\nconst Label = React.forwardRef<\n HTMLLabelElement,\n React.LabelHTMLAttributes<HTMLLabelElement> & LabelProps\n>(({ className, hint, hintSide, required, children, ...props }, ref) => (\n <div className=\"hawa-flex hawa-flex-row hawa-items-center hawa-gap-1 hawa-transition-all\">\n <label\n ref={ref}\n className={cn(\n \"hawa-text-sm hawa-font-medium hawa-leading-none peer-disabled:hawa-cursor-not-allowed peer-disabled:hawa-opacity-70\",\n className,\n )}\n {...props}\n >\n {children}\n {required && <span className=\"hawa-mx-0.5 hawa-text-red-500\">*</span>}\n </label>\n {hint && (\n <Tooltip\n content={hint}\n side={hintSide}\n triggerProps={{\n tabIndex: -1,\n onClick: (event) => event.preventDefault(),\n }}\n >\n <div>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"hawa-h-[14px] hawa-w-[14px] hawa-cursor-help\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <path d=\"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3\" />\n <path d=\"M12 17h.01\" />\n </svg>\n </div>\n </Tooltip>\n )}\n </div>\n));\n\nLabel.displayName = \"Label\";\n\nexport { Label };\n","import React from \"react\";\n\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\";\nimport { cn } from \"@util/index\";\n\nimport { PositionType } from \"@_types/commonTypes\";\n\nconst TooltipContent = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content> & {\n size?: \"default\" | \"small\" | \"large\";\n }\n>(({ className, sideOffset = 4, size = \"default\", ...props }, ref) => (\n <TooltipPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n \"hawa-z-50 hawa-overflow-hidden hawa-rounded-md hawa-border hawa-bg-popover hawa-px-3 hawa-py-1.5 hawa-text-sm hawa-text-popover-foreground hawa-shadow-md hawa-animate-in hawa-fade-in-0 hawa-zoom-in-95 data-[state=closed]:hawa-animate-out data-[state=closed]:hawa-fade-out-0 data-[state=closed]:hawa-zoom-out-95 data-[side=bottom]:hawa-slide-in-from-top-2 data-[side=left]:hawa-slide-in-from-right-2 data-[side=right]:hawa-slide-in-from-left-2 data-[side=top]:hawa-slide-in-from-bottom-2\",\n {\n \"hawa-text-xs\": size === \"small\",\n \"hawa-text-xl\": size === \"large\",\n },\n className,\n )}\n {...props}\n />\n));\nTooltipContent.displayName = TooltipPrimitive.Content.displayName;\n\nconst TooltipArrow = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Arrow>,\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Arrow>\n>(({ className, ...props }, ref) => (\n <TooltipPrimitive.Arrow ref={ref} className={cn(className)} {...props} />\n));\nTooltipArrow.displayName = TooltipPrimitive.Arrow.displayName;\n\ntype TooltipTypes = {\n /** Controls the open state of the tooltip. */\n open?: any;\n /** Specifies the side where the tooltip will appear. */\n side?: PositionType;\n /** Content to be displayed within the tooltip. */\n content?: any;\n /** Elements to which the tooltip is anchored. */\n children?: any;\n /** Sets the default open state of the tooltip. */\n defaultOpen?: any;\n /** Event handler for open state changes. */\n onOpenChange?: any;\n /** Duration of the delay before the tooltip appears. */\n delayDuration?: any;\n /** Size of the tooltip. */\n size?: \"default\" | \"small\" | \"large\";\n /** Disables the tooltip. */\n disabled?: boolean;\n triggerProps?: TooltipPrimitive.TooltipTriggerProps;\n contentProps?: TooltipPrimitive.TooltipContentProps;\n providerProps?: TooltipPrimitive.TooltipProps;\n};\n\nconst Tooltip: React.FunctionComponent<TooltipTypes> = ({\n side,\n size,\n open,\n content,\n children,\n disabled,\n defaultOpen,\n onOpenChange,\n triggerProps,\n contentProps,\n providerProps,\n delayDuration = 300,\n ...props\n}) => {\n return (\n <TooltipPrimitive.TooltipProvider\n delayDuration={delayDuration}\n {...providerProps}\n >\n <TooltipPrimitive.Root\n open={!disabled && open}\n defaultOpen={defaultOpen}\n onOpenChange={onOpenChange}\n {...props}\n >\n <TooltipPrimitive.Trigger {...triggerProps}>\n {children}\n </TooltipPrimitive.Trigger>\n <TooltipContent\n size={size}\n side={side}\n align=\"center\"\n {...contentProps}\n style={{\n ...contentProps?.style,\n maxWidth: \"var(--radix-tooltip-content-available-width)\",\n maxHeight: \"var(--radix-tooltip-content-available-height)\",\n }}\n >\n {content}\n </TooltipContent>\n </TooltipPrimitive.Root>\n </TooltipPrimitive.TooltipProvider>\n );\n};\n\nexport { Tooltip };\n","import React from \"react\";\n\nimport { cn } from \"@util/index\";\n\ninterface SkeletonProps extends React.HTMLAttributes<HTMLDivElement> {\n className?: string;\n animation?: \"none\" | \"pulse\" | \"shimmer\";\n content?: any;\n fade?: \"top\" | \"bottom\" | \"left\" | \"right\";\n}\n\nfunction Skeleton({\n className,\n content,\n animation = \"pulse\",\n fade,\n ...props\n}: SkeletonProps) {\n const animationStyles = {\n none: \"hawa-rounded hawa-bg-muted\",\n pulse: \"hawa-animate-pulse hawa-rounded hawa-bg-muted\",\n shimmer:\n \"hawa-space-y-5 hawa-rounded hawa-bg-muted hawa-p-4 hawa-relative before:hawa-absolute before:hawa-inset-0 before:hawa--translate-x-full before:hawa-animate-[shimmer_2s_infinite] before:hawa-bg-gradient-to-r before:hawa-from-transparent before:hawa-via-gray-300/40 dark:before:hawa-via-white/10 before:hawa-to-transparent hawa-isolate hawa-overflow-hidden before:hawa-border-t before:hawa-border-rose-100/10\",\n };\n const fadeStyle = {\n bottom: \"hawa-mask-fade-bottom\",\n top: \"hawa-mask-fade-top\",\n right: \"hawa-mask-fade-right\",\n left: \"hawa-mask-fade-left \",\n };\n\n return (\n <div\n className={cn(\n animationStyles[animation],\n content &&\n \"hawa-flex hawa-flex-col hawa-items-center hawa-justify-center\",\n fade && fadeStyle[fade],\n className,\n )}\n {...props}\n >\n {content && content}\n </div>\n );\n}\n\nexport { Skeleton };\n"],"mappings":"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","names":["import_react","React","React","import_react","React","import_react","React","React"]}