bonkers-ui 2.0.1 → 2.0.3

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 (150) hide show
  1. package/README.md +25 -40
  2. package/_types/colors.d.ts +2 -0
  3. package/_types/colors.js +1 -1
  4. package/_types/colors.js.map +1 -1
  5. package/assets/UiBerRank.css +1 -0
  6. package/assets/UiButton.css +0 -0
  7. package/assets/UiCheckbox.css +1 -0
  8. package/assets/UiInputRange.css +1 -0
  9. package/assets/UiRadio.css +1 -0
  10. package/assets/UiSelect.css +1 -0
  11. package/bonkers.css +243 -0
  12. package/components/UiAccordion/UiAccordion.InfoDropdown.d.ts +8 -0
  13. package/components/UiAccordion/UiAccordion.InfoDropdown.js +31 -0
  14. package/components/UiAccordion/UiAccordion.InfoDropdown.js.map +1 -0
  15. package/components/UiAccordion/UiAccordion.base.d.ts +9 -0
  16. package/components/UiAccordion/UiAccordion.base.js +13 -0
  17. package/components/UiAccordion/UiAccordion.base.js.map +1 -0
  18. package/components/UiAccordion/UiAccordion.context.d.ts +22 -0
  19. package/components/UiAccordion/UiAccordion.context.js +39 -0
  20. package/components/UiAccordion/UiAccordion.context.js.map +1 -0
  21. package/components/UiAccordion/UiAccordionItem.base.d.ts +16 -0
  22. package/components/UiAccordion/UiAccordionItem.base.js +43 -0
  23. package/components/UiAccordion/UiAccordionItem.base.js.map +1 -0
  24. package/components/UiAccordion/_types.d.ts +4 -0
  25. package/components/UiAccordion/_types.js +5 -0
  26. package/components/UiAccordion/_types.js.map +1 -0
  27. package/components/UiAccordion/index.d.ts +5 -0
  28. package/components/UiAccordion/index.js +13 -0
  29. package/{index.js.map → components/UiAccordion/index.js.map} +1 -1
  30. package/components/UiBerRank/UiBerRank.js +30 -28
  31. package/components/UiBerRank/UiBerRank.js.map +1 -1
  32. package/components/UiBerRank/_types.js +6 -5
  33. package/components/UiBerRank/_types.js.map +1 -1
  34. package/components/UiButton/UiButton.d.ts +1 -0
  35. package/components/UiButton/UiButton.js +363 -100
  36. package/components/UiButton/UiButton.js.map +1 -1
  37. package/components/UiButton/_types.d.ts +37 -3
  38. package/components/UiButton/_types.js +1 -1
  39. package/components/UiButton/_types.js.map +1 -1
  40. package/components/UiCheckbox/UiCheckbox.js +46 -42
  41. package/components/UiCheckbox/UiCheckbox.js.map +1 -1
  42. package/components/UiCheckbox/index.d.ts +1 -0
  43. package/components/UiCheckbox/index.js +4 -2
  44. package/components/UiCheckbox/index.js.map +1 -1
  45. package/components/UiIcon/UiIcon.d.ts +1 -0
  46. package/components/UiIcon/UiIcon.js +10 -9
  47. package/components/UiIcon/UiIcon.js.map +1 -1
  48. package/components/UiInput/UiInput.base.d.ts +9 -0
  49. package/components/UiInput/UiInput.base.js +43 -0
  50. package/components/UiInput/UiInput.base.js.map +1 -0
  51. package/components/UiInput/UiInputText.d.ts +12 -0
  52. package/components/UiInput/UiInputText.js +39 -0
  53. package/components/UiInput/UiInputText.js.map +1 -0
  54. package/components/UiInput/UiInputTitled.d.ts +10 -0
  55. package/components/UiInput/UiInputTitled.js +36 -0
  56. package/components/UiInput/UiInputTitled.js.map +1 -0
  57. package/components/UiInput/_types.d.ts +5 -0
  58. package/components/UiInput/_types.js +5 -0
  59. package/components/UiInput/_types.js.map +1 -0
  60. package/components/UiInput/index.d.ts +4 -0
  61. package/components/UiInput/index.js +11 -0
  62. package/components/UiInput/index.js.map +1 -0
  63. package/components/UiInputRange/UiInputRange.js +26 -25
  64. package/components/UiInputRange/UiInputRange.js.map +1 -1
  65. package/components/UiList/UiList.d.ts +2 -1
  66. package/components/UiList/UiList.js +23 -18
  67. package/components/UiList/UiList.js.map +1 -1
  68. package/components/UiList/_types.d.ts +4 -0
  69. package/components/UiList/_types.js +4 -3
  70. package/components/UiList/_types.js.map +1 -1
  71. package/components/UiNotificationBadge/UiNotificationBadge.d.ts +10 -0
  72. package/components/UiNotificationBadge/UiNotificationBadge.js +67 -0
  73. package/components/UiNotificationBadge/UiNotificationBadge.js.map +1 -0
  74. package/components/UiNotificationBadge/_types.d.ts +14 -0
  75. package/components/UiNotificationBadge/_types.js +7 -0
  76. package/components/UiNotificationBadge/_types.js.map +1 -0
  77. package/components/UiNotificationBadge/index.d.ts +1 -0
  78. package/components/UiNotificationBadge/index.js +5 -0
  79. package/components/UiNotificationBadge/index.js.map +1 -0
  80. package/components/UiPills/UiPills.js +5 -5
  81. package/components/UiPills/UiPills.js.map +1 -1
  82. package/components/UiProductCard/UiProductCard.js +6 -6
  83. package/components/UiProductCard/UiProductCard.js.map +1 -1
  84. package/components/UiProgress/UiProgress.js +4 -4
  85. package/components/UiProgress/UiProgress.js.map +1 -1
  86. package/components/UiRadio/UiRadio.js +13 -11
  87. package/components/UiRadio/UiRadio.js.map +1 -1
  88. package/components/UiRadioFancy/UiRadioFancy.d.ts +8 -4
  89. package/components/UiRadioFancy/UiRadioFancy.js +38 -28
  90. package/components/UiRadioFancy/UiRadioFancy.js.map +1 -1
  91. package/components/UiRadioFancy/_types.d.ts +1 -1
  92. package/components/UiRadioFancy/_types.js +2 -2
  93. package/components/UiRadioFancy/_types.js.map +1 -1
  94. package/components/UiSelect/UiSelect.js +98 -0
  95. package/components/UiSelect/UiSelect.js.map +1 -0
  96. package/components/UiSelect/index.js +5 -0
  97. package/components/UiSelect/index.js.map +1 -0
  98. package/components/UiSkeleton/UiSkeleton.js +163 -197
  99. package/components/UiSkeleton/UiSkeleton.js.map +1 -1
  100. package/components/UiSkeleton/_types.d.ts +1 -2
  101. package/components/UiSkeleton/_types.js +2 -2
  102. package/components/UiSkeleton/_types.js.map +1 -1
  103. package/components/UiSnackbar/UiSnackbar.d.ts +9 -0
  104. package/components/UiSnackbar/UiSnackbar.js +69 -0
  105. package/components/UiSnackbar/UiSnackbar.js.map +1 -0
  106. package/components/UiSnackbar/_types.d.ts +7 -0
  107. package/components/UiSnackbar/_types.js +5 -0
  108. package/components/UiSnackbar/_types.js.map +1 -0
  109. package/components/UiSnackbar/index.d.ts +1 -0
  110. package/components/UiSnackbar/index.js +5 -0
  111. package/components/UiSnackbar/index.js.map +1 -0
  112. package/components/UiTable/UiTableRow.js +10 -9
  113. package/components/UiTable/UiTableRow.js.map +1 -1
  114. package/components/UiTabs/UiTabs.js +19 -18
  115. package/components/UiTabs/UiTabs.js.map +1 -1
  116. package/components/UiToggle/UiToggle.d.ts +7 -4
  117. package/components/UiToggle/UiToggle.js +89 -89
  118. package/components/UiToggle/UiToggle.js.map +1 -1
  119. package/components/UiTypography/UiTypography.d.ts +4 -5
  120. package/components/UiTypography/UiTypography.js +31 -26
  121. package/components/UiTypography/UiTypography.js.map +1 -1
  122. package/eslint.config.mjs +4 -3
  123. package/helper.d.ts +31 -0
  124. package/index.d.ts +23 -18
  125. package/package.json +41 -40
  126. package/stories/Colors/Colors.d.ts +2 -0
  127. package/stories/FontSizes/FontSizes.d.ts +2 -0
  128. package/stories/Spacings/Spacings.d.ts +2 -0
  129. package/bonkers-ui.css +0 -1
  130. package/bonkers-ui.umd.js +0 -103
  131. package/bonkers-ui.umd.js.map +0 -1
  132. package/components/UiBerRank/UiBerRank.module.css.js +0 -10
  133. package/components/UiBerRank/UiBerRank.module.css.js.map +0 -1
  134. package/components/UiButton/UiButton.module.css.js +0 -8
  135. package/components/UiButton/UiButton.module.css.js.map +0 -1
  136. package/components/UiCheckbox/UiCheckbox.module.css.js +0 -15
  137. package/components/UiCheckbox/UiCheckbox.module.css.js.map +0 -1
  138. package/components/UiInputRange/UiInputRange.module.css.js +0 -8
  139. package/components/UiInputRange/UiInputRange.module.css.js.map +0 -1
  140. package/components/UiRadio/UiRadio.module.css.js +0 -10
  141. package/components/UiRadio/UiRadio.module.css.js.map +0 -1
  142. package/index.js +0 -39
  143. package/plugin.ts +0 -160
  144. package/postcss.config.mjs +0 -9
  145. package/src/_styles/_backdropBlur.json +0 -10
  146. package/src/_styles/_colors.json +0 -81
  147. package/src/_styles/_fontSizes.json +0 -12
  148. package/src/_styles/_shadow.json +0 -8
  149. package/src/_styles/_spacing.json +0 -16
  150. package/tailwind.config.ts +0 -15
@@ -0,0 +1,69 @@
1
+ import { jsx as r, Fragment as s, jsxs as n } from "react/jsx-runtime";
2
+ import "react";
3
+ import m from "classnames";
4
+ import { ESnackbarTypes as t } from "./_types.js";
5
+ import { UiButton as a } from "../UiButton/UiButton.js";
6
+ import { EButtonSizes as c, EButtonTypes as x } from "../UiButton/_types.js";
7
+ const l = {
8
+ [t.DEFAULT]: `
9
+ bg-white
10
+ text-secondary-700
11
+
12
+ `,
13
+ [t.PRIMARY]: `
14
+ bg-primary-600
15
+ text-white
16
+ `,
17
+ [t.WARNING]: `
18
+ bg-warning
19
+ text-white
20
+ `,
21
+ [t.ERROR]: `
22
+ bg-error
23
+ text-white
24
+ `,
25
+ [t.SECONDARY]: `
26
+ bg-secondary
27
+ text-white
28
+ `
29
+ }, g = ({
30
+ kind: e = t.SECONDARY,
31
+ title: o,
32
+ children: i
33
+ }) => /* @__PURE__ */ r(s, { children: /* @__PURE__ */ n(
34
+ "div",
35
+ {
36
+ className: m(
37
+ "ui-snackbar",
38
+ "flex",
39
+ "w-full",
40
+ "rounded-xxs",
41
+ "items-center",
42
+ "justify-between",
43
+ "shadow-md",
44
+ "p-sm",
45
+ "flex-row-reverse",
46
+ "text-sm",
47
+ l[e]
48
+ ),
49
+ children: [
50
+ /* @__PURE__ */ r(
51
+ a,
52
+ {
53
+ kind: x.LINK,
54
+ size: c.SMALL,
55
+ style: {
56
+ color: e === t.DEFAULT ? "black" : "white",
57
+ fontWeight: "normal"
58
+ },
59
+ children: i
60
+ }
61
+ ),
62
+ o
63
+ ]
64
+ }
65
+ ) });
66
+ export {
67
+ g as UiSnackbar
68
+ };
69
+ //# sourceMappingURL=UiSnackbar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UiSnackbar.js","sources":["../../../src/components/UiSnackbar/UiSnackbar.tsx"],"sourcesContent":["import React from \"react\";\nimport cx from \"classnames\";\nimport { ESnackbarTypes } from \"./_types\";\nimport { EButtonSizes, EButtonTypes, UiButton } from \"../UiButton\";\n\ntype UiSnackbarProps ={\n\tkind?: ESnackbarTypes;\n\ttitle: React.ReactNode;\n\tchildren: React.ReactNode;\n\n}\n\nconst kindClasses = {\n\t[ESnackbarTypes.DEFAULT]: `\n\t\tbg-white\n\t\ttext-secondary-700\n\n\t`,\n\t[ESnackbarTypes.PRIMARY]: `\n\t\tbg-primary-600\n\t\ttext-white\n\t`,\n\t[ESnackbarTypes.WARNING]: `\n\t\tbg-warning\n\t\ttext-white\n\t`,\n\t[ESnackbarTypes.ERROR]: `\n\t\tbg-error\n\t\ttext-white\n\t`,\n\t[ESnackbarTypes.SECONDARY]: `\n\t\tbg-secondary\n\t\ttext-white\n\t`,\n\n};\n\nexport const UiSnackbar: React.FC<UiSnackbarProps> = ({\n\n\tkind= ESnackbarTypes.SECONDARY,\n\ttitle,\n\tchildren\n\n}) => {\n\n\treturn (\n\t\t<>\n\n\t\t\t<div\n\t\t\t\tclassName={ cx(\n\t\t\t\t\t\"ui-snackbar\",\n\t\t\t\t\t\"flex\",\n\t\t\t\t\t\"w-full\",\n\t\t\t\t\t\"rounded-xxs\",\n\t\t\t\t\t\"items-center\",\n\t\t\t\t\t\"justify-between\",\n\t\t\t\t\t\"shadow-md\",\n\t\t\t\t\t\"p-sm\",\n\t\t\t\t\t\"flex-row-reverse\",\n\t\t\t\t\t\"text-sm\",\n\t\t\t\t\tkindClasses[kind]\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t<UiButton\n\t\t\t\t\tkind={ EButtonTypes.LINK }\n\t\t\t\t\tsize={ EButtonSizes.SMALL }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\tcolor: kind === ESnackbarTypes.DEFAULT ? \"black\" : \"white\",\n\t\t\t\t\t\tfontWeight: \"normal\",\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ children }\n\t\t\t\t</UiButton>\n\n\t\t\t\t{ title }\n\t\t\t</div>\n\n\t\t</>\n\t);\n};\n"],"names":["kindClasses","ESnackbarTypes","UiSnackbar","kind","title","children","jsx","Fragment","jsxs","cx","UiButton","EButtonTypes","EButtonSizes"],"mappings":";;;;;;AAYA,MAAMA,IAAc;AAAA,EACnB,CAACC,EAAe,OAAO,GAAG;AAAA;AAAA;AAAA;AAAA;AAAA,EAK1B,CAACA,EAAe,OAAO,GAAG;AAAA;AAAA;AAAA;AAAA,EAI1B,CAACA,EAAe,OAAO,GAAG;AAAA;AAAA;AAAA;AAAA,EAI1B,CAACA,EAAe,KAAK,GAAG;AAAA;AAAA;AAAA;AAAA,EAIxB,CAACA,EAAe,SAAS,GAAG;AAAA;AAAA;AAAA;AAK7B,GAEaC,IAAwC,CAAC;AAAA,EAErD,MAAAC,IAAMF,EAAe;AAAA,EACrB,OAAAG;AAAA,EACA,UAAAC;AAED,MAKG,gBAAAC,EAAAC,GAAA,EAAA,UAAA,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACA,WAAYC;AAAA,MACX;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACAT,EAAYG,CAAI;AAAA,IACjB;AAAA,IAEA,UAAA;AAAA,MAAA,gBAAAG;AAAA,QAACI;AAAA,QAAA;AAAA,UACA,MAAOC,EAAa;AAAA,UACpB,MAAOC,EAAa;AAAA,UACpB,OAAQ;AAAA,YACP,OAAOT,MAASF,EAAe,UAAU,UAAU;AAAA,YACnD,YAAY;AAAA,UACb;AAAA,UAEE,UAAAI;AAAA,QAAA;AAAA,MACH;AAAA,MAEED;AAAA,IAAA;AAAA,EAAA;AAAA,GAGJ;"}
@@ -0,0 +1,7 @@
1
+ export declare enum ESnackbarTypes {
2
+ SECONDARY = "secondary",
3
+ DEFAULT = "default",
4
+ PRIMARY = "primary",
5
+ WARNING = "warning",
6
+ ERROR = "error"
7
+ }
@@ -0,0 +1,5 @@
1
+ var R = /* @__PURE__ */ ((r) => (r.SECONDARY = "secondary", r.DEFAULT = "default", r.PRIMARY = "primary", r.WARNING = "warning", r.ERROR = "error", r))(R || {});
2
+ export {
3
+ R as ESnackbarTypes
4
+ };
5
+ //# sourceMappingURL=_types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_types.js","sources":["../../../src/components/UiSnackbar/_types.ts"],"sourcesContent":["export enum ESnackbarTypes {\n\tSECONDARY = \"secondary\",\n\tDEFAULT = \"default\",\n\tPRIMARY = \"primary\",\n\tWARNING = \"warning\",\n\tERROR = \"error\"\n\n}\n"],"names":["ESnackbarTypes"],"mappings":"AAAY,IAAAA,sBAAAA,OACXA,EAAA,YAAY,aACZA,EAAA,UAAU,WACVA,EAAA,UAAU,WACVA,EAAA,UAAU,WACVA,EAAA,QAAQ,SALGA,IAAAA,KAAA,CAAA,CAAA;"}
@@ -0,0 +1 @@
1
+ export { UiSnackbar } from './UiSnackbar';
@@ -0,0 +1,5 @@
1
+ import { UiSnackbar as o } from "./UiSnackbar.js";
2
+ export {
3
+ o as UiSnackbar
4
+ };
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1,25 +1,26 @@
1
- import { jsx as e } from "react/jsx-runtime";
1
+ import { jsx as s } from "react/jsx-runtime";
2
2
  import "react";
3
- import { ERowKind as s } from "./_types.js";
4
- import d from "classnames";
5
- const m = ({ kind: t, children: r, ...o }) => /* @__PURE__ */ e(
3
+ import { ERowKind as d } from "./_types.js";
4
+ import f from "classnames";
5
+ const a = ({ kind: t, children: r, className: o, ...e }) => /* @__PURE__ */ s(
6
6
  "tr",
7
7
  {
8
- className: d(
8
+ className: f(
9
9
  "text-center",
10
10
  "[&>td:last-of-type]:rounded-r-xxs",
11
11
  "[&>td:last-of-type]:text-right",
12
12
  "[&>td:first-of-type]:text-left",
13
13
  "[&>td:first-of-type]:rounded-l-xxs",
14
14
  {
15
- "bg-secondary-alt-200": t === s.SECONDARY
16
- }
15
+ "bg-secondary-alt-200": t === d.SECONDARY
16
+ },
17
+ o
17
18
  ),
18
- ...o,
19
+ ...e,
19
20
  children: r
20
21
  }
21
22
  );
22
23
  export {
23
- m as UiTableRow
24
+ a as UiTableRow
24
25
  };
25
26
  //# sourceMappingURL=UiTableRow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UiTableRow.js","sources":["../../../src/components/UiTable/UiTableRow.tsx"],"sourcesContent":["import React from \"react\";\nimport { ERowKind } from \"./_types\";\nimport cn from \"classnames\";\n\ntype TRowProps = {\n\tkind?: ERowKind;\n} & React.HTMLAttributes<HTMLTableRowElement>;\n\nexport const UiTableRow: React.FC<TRowProps> = ({ kind, children, ...rest }) => {\n\treturn (\n\t\t<tr\n\t\t\tclassName={ cn(\n\t\t\t\t\"text-center\",\n\t\t\t\t\"[&>td:last-of-type]:rounded-r-xxs\",\n\t\t\t\t\"[&>td:last-of-type]:text-right\",\n\t\t\t\t\"[&>td:first-of-type]:text-left\",\n\t\t\t\t\"[&>td:first-of-type]:rounded-l-xxs\",\n\t\t\t\t{\n\t\t\t\t\t\"bg-secondary-alt-200\": kind === ERowKind.SECONDARY\n\t\t\t\t}\n\t\t\t)\n\t\t\t}\n\t\t\t{ ...rest }\n\t\t>\n\t\t\t{ children }\n\t\t</tr>\n\t);\n};\n"],"names":["UiTableRow","kind","children","rest","jsx","cn","ERowKind"],"mappings":";;;;AAQO,MAAMA,IAAkC,CAAC,EAAE,MAAAC,GAAM,UAAAC,GAAU,GAAGC,QAEnE,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACA,WAAYC;AAAAA,MACX;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,QACC,wBAAwBJ,MAASK,EAAS;AAAA,MAAA;AAAA,IAE5C;AAAA,IAEE,GAAGH;AAAA,IAEH,UAAAD;AAAA,EAAA;AACH;"}
1
+ {"version":3,"file":"UiTableRow.js","sources":["../../../src/components/UiTable/UiTableRow.tsx"],"sourcesContent":["import React from \"react\";\nimport { ERowKind } from \"./_types\";\nimport cn from \"classnames\";\n\ntype TRowProps = {\n\tkind?: ERowKind;\n} & React.HTMLAttributes<HTMLTableRowElement>;\n\nexport const UiTableRow: React.FC<TRowProps> = ({ kind, children, className, ...rest }) => {\n\treturn (\n\t\t<tr\n\t\t\tclassName={ cn(\n\t\t\t\t\"text-center\",\n\t\t\t\t\"[&>td:last-of-type]:rounded-r-xxs\",\n\t\t\t\t\"[&>td:last-of-type]:text-right\",\n\t\t\t\t\"[&>td:first-of-type]:text-left\",\n\t\t\t\t\"[&>td:first-of-type]:rounded-l-xxs\",\n\t\t\t\t{\n\t\t\t\t\t\"bg-secondary-alt-200\": kind === ERowKind.SECONDARY\n\t\t\t\t},\n\t\t\t\tclassName\n\t\t\t)\n\t\t\t}\n\t\t\t{ ...rest }\n\t\t>\n\t\t\t{ children }\n\t\t</tr>\n\t);\n};\n"],"names":["UiTableRow","kind","children","className","rest","jsx","cn","ERowKind"],"mappings":";;;;AAQa,MAAAA,IAAkC,CAAC,EAAE,MAAAC,GAAM,UAAAC,GAAU,WAAAC,GAAW,GAAGC,QAE9E,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACA,WAAYC;AAAAA,MACX;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,QACC,wBAAwBL,MAASM,EAAS;AAAA,MAC3C;AAAA,MACAJ;AAAA,IACD;AAAA,IAEE,GAAGC;AAAA,IAEH,UAAAF;AAAA,EAAA;AACH;"}
@@ -1,45 +1,46 @@
1
- import { jsx as r, jsxs as n } from "react/jsx-runtime";
1
+ import { jsx as o, jsxs as c } from "react/jsx-runtime";
2
2
  import "react";
3
- import l from "classnames";
4
- const d = ({
5
- tabs: o,
6
- tabsModel: s,
7
- onTabChange: c
8
- }) => /* @__PURE__ */ r("ul", { className: l(
3
+ import r from "classnames";
4
+ const i = ({
5
+ tabs: s,
6
+ tabsModel: l,
7
+ onTabChange: a
8
+ }) => /* @__PURE__ */ o("ul", { className: r(
9
9
  "ui-tabs",
10
10
  "grid",
11
11
  "grid-flow-col",
12
12
  "rounded-full",
13
13
  "bg-secondary-alt-200",
14
- "p-[2px]"
15
- ), children: o.map((e) => /* @__PURE__ */ r(
14
+ "p-[2px]",
15
+ "text-secondary-400"
16
+ ), children: s.map((e) => /* @__PURE__ */ o(
16
17
  "li",
17
18
  {
18
- className: l(
19
+ className: r(
19
20
  "rounded-full",
20
21
  "text-center",
21
- s === e && "bg-white"
22
+ l === e && "bg-white border border-secondary-alt-600 text-secondary-500"
22
23
  ),
23
- children: /* @__PURE__ */ n("label", { className: l(
24
+ children: /* @__PURE__ */ c("label", { className: r(
24
25
  "block",
25
26
  "cursor-pointer",
26
27
  "px-md",
27
28
  "py-xxs"
28
29
  ), children: [
29
- /* @__PURE__ */ r(
30
+ /* @__PURE__ */ o(
30
31
  "input",
31
32
  {
32
- className: l(
33
+ className: r(
33
34
  "absolute",
34
35
  "appearance-none"
35
36
  ),
36
37
  type: "radio",
37
38
  value: e,
38
- checked: s === e,
39
- onChange: () => c(e)
39
+ checked: l === e,
40
+ onChange: () => a(e)
40
41
  }
41
42
  ),
42
- /* @__PURE__ */ r("span", { className: l(
43
+ /* @__PURE__ */ o("span", { className: r(
43
44
  "font-bold",
44
45
  "text-xs"
45
46
  ), children: e })
@@ -48,6 +49,6 @@ const d = ({
48
49
  e
49
50
  )) });
50
51
  export {
51
- d as UiTabs
52
+ i as UiTabs
52
53
  };
53
54
  //# sourceMappingURL=UiTabs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UiTabs.js","sources":["../../../src/components/UiTabs/UiTabs.tsx"],"sourcesContent":["import React from \"react\";\nimport cx from \"classnames\";\n\ntype UiTabsProps ={\n\ttabs: string[]\n\ttabsModel : string,\n\tonTabChange: (val: string) => void\n}\n\nexport const UiTabs: React.FC<UiTabsProps> = ({\n\ttabs,\n\ttabsModel,\n\tonTabChange\n}) => {\n\n\treturn (\n\t\t<ul className={ cx(\n\t\t\t\"ui-tabs\",\n\t\t\t\"grid\",\n\t\t\t\"grid-flow-col\",\n\t\t\t\"rounded-full\",\n\t\t\t\"bg-secondary-alt-200\",\n\t\t\t\"p-[2px]\"\n\n\t\t) }>\n\t\t\t{ tabs.map((tab) => (\n\t\t\t\t<li\n\t\t\t\t\tkey={ tab }\n\t\t\t\t\tclassName={ cx(\n\t\t\t\t\t\t\"rounded-full\",\n\t\t\t\t\t\t\"text-center\",\n\t\t\t\t\t\ttabsModel === tab && \"bg-white\"\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t<label className={ cx(\n\t\t\t\t\t\t\"block\",\n\t\t\t\t\t\t\"cursor-pointer\",\n\t\t\t\t\t\t\"px-md\",\n\t\t\t\t\t\t\"py-xxs\"\n\t\t\t\t\t) }>\n\t\t\t\t\t\t<input className={ cx(\n\t\t\t\t\t\t\t\"absolute\",\n\t\t\t\t\t\t\t\"appearance-none\"\n\t\t\t\t\t\t) }\n\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\tvalue={ tab }\n\t\t\t\t\t\tchecked={ tabsModel === tab }\n\t\t\t\t\t\tonChange={ ()=> onTabChange(tab) }>\n\t\t\t\t\t\t</input>\n\n\t\t\t\t\t\t<span className={ cx(\n\t\t\t\t\t\t\t\"font-bold\",\n\t\t\t\t\t\t\t\"text-xs\"\n\t\t\t\t\t\t) }>\n\t\t\t\t\t\t\t{ tab }\n\t\t\t\t\t\t</span>\n\n\t\t\t\t\t</label>\n\n\t\t\t\t</li>\n\t\t\t)) }\n\t\t</ul>\n\t);\n};\n"],"names":["UiTabs","tabs","tabsModel","onTabChange","jsx","cx","tab","jsxs"],"mappings":";;;AASO,MAAMA,IAAgC,CAAC;AAAA,EAC7C,MAAAC;AAAA,EACA,WAAAC;AAAA,EACA,aAAAC;AACD,MAGE,gBAAAC,EAAC,QAAG,WAAYC;AAAA,EACf;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAGE,GAAA,UAAAJ,EAAK,IAAI,CAACK,MACX,gBAAAF;AAAA,EAAC;AAAA,EAAA;AAAA,IAEA,WAAYC;AAAA,MACX;AAAA,MACA;AAAA,MACAH,MAAcI,KAAO;AAAA,IACtB;AAAA,IAEA,UAAA,gBAAAC,EAAC,WAAM,WAAYF;AAAA,MAClB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAEA,GAAA,UAAA;AAAA,MAAA,gBAAAD;AAAA,QAAC;AAAA,QAAA;AAAA,UAAM,WAAYC;AAAA,YAClB;AAAA,YACA;AAAA,UACD;AAAA,UACA,MAAK;AAAA,UACL,OAAQC;AAAA,UACR,SAAUJ,MAAcI;AAAA,UACxB,UAAW,MAAKH,EAAYG,CAAG;AAAA,QAAA;AAAA,MAC/B;AAAA,MAEA,gBAAAF,EAAC,UAAK,WAAYC;AAAA,QACjB;AAAA,QACA;AAAA,MAAA,GAEE,UACHC,EAAA,CAAA;AAAA,IAAA,EAED,CAAA;AAAA,EAAA;AAAA,EA9BMA;AAiCP,CAAA,GACF;"}
1
+ {"version":3,"file":"UiTabs.js","sources":["../../../src/components/UiTabs/UiTabs.tsx"],"sourcesContent":["import React from \"react\";\nimport cx from \"classnames\";\n\ntype UiTabsProps ={\n\ttabs: string[]\n\ttabsModel : string,\n\tonTabChange: (val: string) => void\n}\n\nexport const UiTabs: React.FC<UiTabsProps> = ({\n\ttabs,\n\ttabsModel,\n\tonTabChange\n}) => {\n\n\treturn (\n\t\t<ul className={ cx(\n\t\t\t\"ui-tabs\",\n\t\t\t\"grid\",\n\t\t\t\"grid-flow-col\",\n\t\t\t\"rounded-full\",\n\t\t\t\"bg-secondary-alt-200\",\n\t\t\t\"p-[2px]\",\n\t\t\t\"text-secondary-400\"\n\n\t\t) }>\n\t\t\t{ tabs.map((tab) => (\n\t\t\t\t<li\n\t\t\t\t\tkey={ tab }\n\t\t\t\t\tclassName={ cx(\n\t\t\t\t\t\t\"rounded-full\",\n\t\t\t\t\t\t\"text-center\",\n\t\t\t\t\t\ttabsModel === tab && \"bg-white border border-secondary-alt-600 text-secondary-500\",\n\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t<label className={ cx(\n\t\t\t\t\t\t\"block\",\n\t\t\t\t\t\t\"cursor-pointer\",\n\t\t\t\t\t\t\"px-md\",\n\t\t\t\t\t\t\"py-xxs\"\n\t\t\t\t\t) }>\n\t\t\t\t\t\t<input className={ cx(\n\t\t\t\t\t\t\t\"absolute\",\n\t\t\t\t\t\t\t\"appearance-none\"\n\t\t\t\t\t\t) }\n\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\tvalue={ tab }\n\t\t\t\t\t\tchecked={ tabsModel === tab }\n\t\t\t\t\t\tonChange={ ()=> onTabChange(tab) }>\n\t\t\t\t\t\t</input>\n\n\t\t\t\t\t\t<span className={ cx(\n\t\t\t\t\t\t\t\"font-bold\",\n\t\t\t\t\t\t\t\"text-xs\"\n\t\t\t\t\t\t) }>\n\t\t\t\t\t\t\t{ tab }\n\t\t\t\t\t\t</span>\n\n\t\t\t\t\t</label>\n\n\t\t\t\t</li>\n\t\t\t)) }\n\t\t</ul>\n\t);\n};\n"],"names":["UiTabs","tabs","tabsModel","onTabChange","jsx","cx","tab","jsxs"],"mappings":";;;AASO,MAAMA,IAAgC,CAAC;AAAA,EAC7C,MAAAC;AAAA,EACA,WAAAC;AAAA,EACA,aAAAC;AACD,MAGE,gBAAAC,EAAC,QAAG,WAAYC;AAAA,EACf;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAGE,GAAA,UAAAJ,EAAK,IAAI,CAACK,MACX,gBAAAF;AAAA,EAAC;AAAA,EAAA;AAAA,IAEA,WAAYC;AAAA,MACX;AAAA,MACA;AAAA,MACAH,MAAcI,KAAO;AAAA,IAEtB;AAAA,IAEA,UAAA,gBAAAC,EAAC,WAAM,WAAYF;AAAA,MAClB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAEA,GAAA,UAAA;AAAA,MAAA,gBAAAD;AAAA,QAAC;AAAA,QAAA;AAAA,UAAM,WAAYC;AAAA,YAClB;AAAA,YACA;AAAA,UACD;AAAA,UACA,MAAK;AAAA,UACL,OAAQC;AAAA,UACR,SAAUJ,MAAcI;AAAA,UACxB,UAAW,MAAKH,EAAYG,CAAG;AAAA,QAAA;AAAA,MAC/B;AAAA,MAEA,gBAAAF,EAAC,UAAK,WAAYC;AAAA,QACjB;AAAA,QACA;AAAA,MAAA,GAEE,UACHC,EAAA,CAAA;AAAA,IAAA,EAED,CAAA;AAAA,EAAA;AAAA,EA/BMA;AAkCP,CAAA,GACF;"}
@@ -1,9 +1,12 @@
1
1
  import { default as React } from 'react';
2
- interface IUiToggle {
3
- title?: React.ReactNode;
2
+ type TUiToggleProps = {
4
3
  children?: React.ReactNode;
5
4
  disabled?: boolean;
6
5
  invertOrder?: boolean;
7
- }
8
- export declare const UiToggle: React.FC<IUiToggle>;
6
+ defaultChecked?: boolean;
7
+ checked?: boolean;
8
+ value?: boolean;
9
+ onChange?: (checked: boolean) => void;
10
+ } & Omit<React.InputHTMLAttributes<HTMLInputElement>, "onChange">;
11
+ export declare const UiToggle: React.FC<TUiToggleProps>;
9
12
  export {};
@@ -1,103 +1,103 @@
1
- import { jsxs as s, jsx as o } from "react/jsx-runtime";
2
- import { useState as l } from "react";
3
- import a from "classnames";
4
- const f = ({
5
- children: c,
6
- title: d,
1
+ import { jsx as a, jsxs as i } from "react/jsx-runtime";
2
+ import { useState as u, useEffect as g } from "react";
3
+ import o from "classnames";
4
+ const v = ({
5
+ children: m,
7
6
  disabled: r = !1,
8
- invertOrder: m = !1
7
+ invertOrder: p = !1,
8
+ checked: s,
9
+ value: t,
10
+ defaultChecked: d,
11
+ onChange: l,
12
+ ...f
9
13
  }) => {
10
- const [e, p] = l(!1), [n, t] = l(!1);
11
- return /* @__PURE__ */ s(
14
+ const [n, c] = u(d ?? !1), e = t ?? s ?? n, x = () => {
15
+ t === void 0 && s === void 0 && c(!n), l == null || l(!e);
16
+ };
17
+ return g(() => {
18
+ s !== void 0 && c(s);
19
+ }, [s]), /* @__PURE__ */ a(
12
20
  "div",
13
21
  {
14
- className: a(
22
+ className: o(
15
23
  "ui-toggle"
16
24
  ),
17
- onMouseEnter: () => t(!0),
18
- onMouseLeave: () => t(!1),
19
- children: [
20
- /* @__PURE__ */ o("span", { className: a("font-bold"), children: d }),
21
- /* @__PURE__ */ s("label", { className: a(
22
- "flex",
23
- "cursor-pointer",
24
- "gap-sm",
25
- "rounded-full",
26
- "mt-sm",
27
- "items-center",
28
- "w-full",
29
- "leading-normal",
30
- "text-md",
31
- {
32
- "flex-row-reverse": m,
33
- "pointer-events-none": r
34
- }
25
+ children: /* @__PURE__ */ i("label", { className: o(
26
+ "flex",
27
+ "cursor-pointer",
28
+ "gap-sm",
29
+ "rounded-full",
30
+ "mt-sm",
31
+ "items-center",
32
+ "w-full",
33
+ "leading-normal",
34
+ "text-md",
35
+ {
36
+ "flex-row-reverse": p,
37
+ "pointer-events-none opacity-50": r
38
+ }
39
+ ), children: [
40
+ /* @__PURE__ */ i("span", { className: o(
41
+ "relative",
42
+ "block",
43
+ "h-md"
35
44
  ), children: [
36
- /* @__PURE__ */ s("span", { className: a(
37
- "relative",
45
+ /* @__PURE__ */ a(
46
+ "input",
47
+ {
48
+ className: o(
49
+ "absolute",
50
+ "size-0",
51
+ "appearance-none",
52
+ "border-0"
53
+ ),
54
+ type: "checkbox",
55
+ checked: e,
56
+ onChange: x,
57
+ disabled: r,
58
+ value: t,
59
+ ...f
60
+ }
61
+ ),
62
+ /* @__PURE__ */ a("span", { className: o(
38
63
  "block",
39
- "h-md"
40
- ), children: [
41
- /* @__PURE__ */ o(
42
- "input",
43
- {
44
- className: a(
45
- "absolute",
46
- "size-0",
47
- "appearance-none",
48
- "border-0"
49
- ),
50
- type: "checkbox",
51
- checked: e,
52
- onChange: () => p(!e)
53
- }
54
- ),
55
- /* @__PURE__ */ o(
56
- "span",
57
- {
58
- className: a(
59
- "block",
60
- "h-md",
61
- "w-xl",
62
- "rounded-full",
63
- {
64
- "bg-secondary-alt-300": !e && r,
65
- "bg-primary-500": e && !r,
66
- "bg-primary-300": e && r,
67
- "bg-secondary-alt": !e && !r
68
- }
69
- )
70
- }
71
- ),
72
- /* @__PURE__ */ o("span", { className: a(
73
- "absolute",
74
- "top-[50%]",
75
- "block",
76
- "rounded-full",
77
- "bg-white",
78
- "w-[22px]",
79
- "h-[22px]",
80
- "translate-x-[1px]",
81
- "translate-y-[-50%]",
82
- "ease-in-out",
83
- "transition-transform",
84
- "hover:shadow-border-secondary",
85
- "active:shadow-border-secondary",
86
- "focus:shadow-border-secondary",
87
- {
88
- "shadow-border-secondary": n && !e && !r,
89
- "shadow-border-primary": n && e && !r,
90
- "translate-x-[calc(var(--xl)_-_100%_-_1px)] translate-y-[-50%]": e
91
- }
92
- ) })
93
- ] }),
94
- c
95
- ] })
96
- ]
64
+ "h-md",
65
+ "w-xl",
66
+ "rounded-full",
67
+ {
68
+ "bg-primary-500": e && !r,
69
+ "bg-secondary-alt-300": !e && r,
70
+ "bg-secondary-alt-600": !e && !r,
71
+ "bg-primary-300": e && r
72
+ }
73
+ ) }),
74
+ /* @__PURE__ */ a("span", { className: o(
75
+ "absolute",
76
+ "top-[50%]",
77
+ "block",
78
+ "rounded-full",
79
+ "bg-white",
80
+ "w-[22px]",
81
+ "h-[22px]",
82
+ "translate-x-[1px]",
83
+ "translate-y-[-50%]",
84
+ "ease-in-out",
85
+ "transition-transform",
86
+ "active:shadow-border-secondary",
87
+ "focus:shadow-border-secondary",
88
+ {
89
+ "hover:shadow-border-secondary": !e && !r,
90
+ "hover:shadow-border-primary": e && !r,
91
+ "translate-x-[calc(var(--xl)_-_100%_-_1px)] translate-y-[-50%]": e
92
+ }
93
+ ) })
94
+ ] }),
95
+ m
96
+ ] })
97
97
  }
98
98
  );
99
99
  };
100
100
  export {
101
- f as UiToggle
101
+ v as UiToggle
102
102
  };
103
103
  //# sourceMappingURL=UiToggle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UiToggle.js","sources":["../../../src/components/UiToggle/UiToggle.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport cx from \"classnames\";\n\ninterface IUiToggle {\n\ttitle?: React.ReactNode\n\tchildren?: React.ReactNode\n\tdisabled?: boolean\n\tinvertOrder?: boolean;\n}\n\nexport const UiToggle: React.FC<IUiToggle> = ({\n\tchildren,\n\ttitle,\n\tdisabled = false,\n\tinvertOrder = false\n\n}) => {\n\tconst [isChecked, setIsChecked] = useState(false);\n\tconst [isHovered, setIsHovered] = useState(false);\n\n\treturn (\n\t\t<div className={ cx(\n\t\t\t\"ui-toggle\"\n\t\t) }\n\t\tonMouseEnter={ () => setIsHovered(true) }\n\t\tonMouseLeave={ () => setIsHovered(false) }\n\t\t>\n\n\t\t\t<span className={ cx(\"font-bold\") }>\n\t\t\t\t{ title }\n\t\t\t</span>\n\n\t\t\t<label className={ cx(\n\t\t\t\t\"flex\",\n\t\t\t\t\"cursor-pointer\",\n\t\t\t\t\"gap-sm\",\n\t\t\t\t\"rounded-full\",\n\t\t\t\t\"mt-sm\",\n\t\t\t\t\"items-center\",\n\t\t\t\t\"w-full\",\n\t\t\t\t\"leading-normal\",\n\t\t\t\t\"text-md\",\n\t\t\t\t{\n\t\t\t\t\t\"flex-row-reverse\": invertOrder,\n\t\t\t\t\t\"pointer-events-none\": disabled\n\t\t\t\t}\n\n\t\t\t) }>\n\t\t\t\t<span className={ cx(\n\t\t\t\t\t\"relative\",\n\t\t\t\t\t\"block\",\n\t\t\t\t\t\"h-md\"\n\t\t\t\t) }>\n\n\t\t\t\t\t<input className={ cx(\n\t\t\t\t\t\t\"absolute\",\n\t\t\t\t\t\t\"size-0\",\n\t\t\t\t\t\t\"appearance-none\",\n\t\t\t\t\t\t\"border-0\"\n\t\t\t\t\t) }\n\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\tchecked={ isChecked }\n\t\t\t\t\tonChange={ () => setIsChecked(!isChecked) }\n\t\t\t\t\t>\n\t\t\t\t\t</input>\n\n\t\t\t\t\t<span className={ cx(\n\t\t\t\t\t\t\"block\",\n\t\t\t\t\t\t\"h-md\",\n\t\t\t\t\t\t\"w-xl\",\n\t\t\t\t\t\t\"rounded-full\",\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"bg-secondary-alt-300\": !isChecked && disabled,\n\t\t\t\t\t\t\t\"bg-primary-500\": isChecked && !disabled,\n\t\t\t\t\t\t\t\"bg-primary-300\": isChecked && disabled,\n\t\t\t\t\t\t\t\"bg-secondary-alt\": !isChecked && !disabled,\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\t></span>\n\t\t\t\t\t<span className={ cx(\n\t\t\t\t\t\t\"absolute\",\n\t\t\t\t\t\t\"top-[50%]\",\n\t\t\t\t\t\t\"block\",\n\t\t\t\t\t\t\"rounded-full\",\n\t\t\t\t\t\t\"bg-white\",\n\t\t\t\t\t\t\"w-[22px]\",\n\t\t\t\t\t\t\"h-[22px]\",\n\t\t\t\t\t\t\"translate-x-[1px]\",\n\t\t\t\t\t\t\"translate-y-[-50%]\",\n\t\t\t\t\t\t\"ease-in-out\",\n\t\t\t\t\t\t\"transition-transform\",\n\t\t\t\t\t\t\"hover:shadow-border-secondary\",\n\t\t\t\t\t\t\"active:shadow-border-secondary\",\n\t\t\t\t\t\t\"focus:shadow-border-secondary\",\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"shadow-border-secondary\": isHovered && !isChecked && !disabled,\n\t\t\t\t\t\t\t\"shadow-border-primary\": isHovered && isChecked && !disabled,\n\t\t\t\t\t\t\t\"translate-x-[calc(var(--xl)_-_100%_-_1px)] translate-y-[-50%]\": isChecked\n\t\t\t\t\t\t},\n\n\t\t\t\t\t) }>\n\t\t\t\t\t</span>\n\t\t\t\t</span>\n\n\t\t\t\t{ children }\n\n\t\t\t</label>\n\n\t\t</div>\n\t);\n};\n"],"names":["UiToggle","children","title","disabled","invertOrder","isChecked","setIsChecked","useState","isHovered","setIsHovered","jsxs","cx","jsx"],"mappings":";;;AAUO,MAAMA,IAAgC,CAAC;AAAA,EAC7C,UAAAC;AAAA,EACA,OAAAC;AAAA,EACA,UAAAC,IAAW;AAAA,EACX,aAAAC,IAAc;AAEf,MAAM;AACL,QAAM,CAACC,GAAWC,CAAY,IAAIC,EAAS,EAAK,GAC1C,CAACC,GAAWC,CAAY,IAAIF,EAAS,EAAK;AAG/C,SAAA,gBAAAG;AAAA,IAAC;AAAA,IAAA;AAAA,MAAI,WAAYC;AAAA,QAChB;AAAA,MACD;AAAA,MACA,cAAe,MAAMF,EAAa,EAAI;AAAA,MACtC,cAAe,MAAMA,EAAa,EAAK;AAAA,MAGtC,UAAA;AAAA,QAAA,gBAAAG,EAAC,QAAK,EAAA,WAAYD,EAAG,WAAW,GAC7B,UACHT,GAAA;AAAA,QAEA,gBAAAQ,EAAC,WAAM,WAAYC;AAAA,UAClB;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,YACC,oBAAoBP;AAAA,YACpB,uBAAuBD;AAAA,UAAA;AAAA,QAIxB,GAAA,UAAA;AAAA,UAAA,gBAAAO,EAAC,UAAK,WAAYC;AAAA,YACjB;AAAA,YACA;AAAA,YACA;AAAA,UAGA,GAAA,UAAA;AAAA,YAAA,gBAAAC;AAAA,cAAC;AAAA,cAAA;AAAA,gBAAM,WAAYD;AAAA,kBAClB;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,gBACD;AAAA,gBACA,MAAK;AAAA,gBACL,SAAUN;AAAA,gBACV,UAAW,MAAMC,EAAa,CAACD,CAAS;AAAA,cAAA;AAAA,YAExC;AAAA,YAEA,gBAAAO;AAAA,cAAC;AAAA,cAAA;AAAA,gBAAK,WAAYD;AAAA,kBACjB;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,oBACC,wBAAwB,CAACN,KAAaF;AAAA,oBACtC,kBAAkBE,KAAa,CAACF;AAAA,oBAChC,kBAAkBE,KAAaF;AAAA,oBAC/B,oBAAoB,CAACE,KAAa,CAACF;AAAA,kBAAA;AAAA,gBACpC;AAAA,cACD;AAAA,YACC;AAAA,YACD,gBAAAS,EAAC,UAAK,WAAYD;AAAA,cACjB;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,gBACC,2BAA2BH,KAAa,CAACH,KAAa,CAACF;AAAA,gBACvD,yBAAyBK,KAAaH,KAAa,CAACF;AAAA,gBACpD,iEAAiEE;AAAA,cAAA;AAAA,YAClE,EAGD,CAAA;AAAA,UAAA,GACD;AAAA,UAEEJ;AAAA,QAAA,EAEH,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAED;AAEF;"}
1
+ {"version":3,"file":"UiToggle.js","sources":["../../../src/components/UiToggle/UiToggle.tsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\nimport cx from \"classnames\";\n\ntype TUiToggleProps = {\n\tchildren?: React.ReactNode\n\tdisabled?: boolean\n\tinvertOrder?: boolean\n\tdefaultChecked?: boolean\n\tchecked?: boolean\n\tvalue?: boolean\n\tonChange?: (checked: boolean) => void\n} & Omit<React.InputHTMLAttributes<HTMLInputElement>, \"onChange\">;\n\nexport const UiToggle: React.FC<TUiToggleProps> = ({\n\tchildren,\n\tdisabled = false,\n\tinvertOrder = false,\n\tchecked,\n\tvalue,\n\tdefaultChecked,\n\tonChange,\n\t...rest\n}) => {\n\n\tconst [toggled, setIsToggled] = useState<boolean>(defaultChecked ?? false);\n\n\tconst isChecked = value ?? checked ?? toggled;\n\n\tconst handleChange = () => {\n\t\tif (value === undefined && checked === undefined) {\n\t\t\tsetIsToggled(!toggled);\n\t\t}\n\n\t\tonChange?.(!isChecked);\n\t};\n\n\tuseEffect(()=>{\n\t\tif ( checked !== undefined) {\n\t\t\tsetIsToggled(checked);\n\t\t}\n\t}, [checked]);\n\n\treturn (\n\t\t<div className={ cx(\n\t\t\t\"ui-toggle\"\n\t\t) }\n\t\t>\n\n\t\t\t<label className={ cx(\n\t\t\t\t\"flex\",\n\t\t\t\t\"cursor-pointer\",\n\t\t\t\t\"gap-sm\",\n\t\t\t\t\"rounded-full\",\n\t\t\t\t\"mt-sm\",\n\t\t\t\t\"items-center\",\n\t\t\t\t\"w-full\",\n\t\t\t\t\"leading-normal\",\n\t\t\t\t\"text-md\",\n\t\t\t\t{\n\t\t\t\t\t\"flex-row-reverse\": invertOrder,\n\t\t\t\t\t\"pointer-events-none opacity-50\": disabled\n\t\t\t\t}\n\n\t\t\t) }>\n\t\t\t\t<span className={ cx(\n\t\t\t\t\t\"relative\",\n\t\t\t\t\t\"block\",\n\t\t\t\t\t\"h-md\"\n\t\t\t\t) }>\n\n\t\t\t\t\t<input className={ cx(\n\t\t\t\t\t\t\"absolute\",\n\t\t\t\t\t\t\"size-0\",\n\t\t\t\t\t\t\"appearance-none\",\n\t\t\t\t\t\t\"border-0\"\n\t\t\t\t\t) }\n\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\tchecked={ isChecked }\n\t\t\t\t\tonChange={ handleChange }\n\t\t\t\t\tdisabled={ disabled }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\t{ ...rest }\n\t\t\t\t\t>\n\t\t\t\t\t</input>\n\n\t\t\t\t\t<span className={ cx(\n\t\t\t\t\t\t\"block\",\n\t\t\t\t\t\t\"h-md\",\n\t\t\t\t\t\t\"w-xl\",\n\t\t\t\t\t\t\"rounded-full\",\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"bg-primary-500\": isChecked && !disabled,\n\t\t\t\t\t\t\t\"bg-secondary-alt-300\": !isChecked && disabled,\n\t\t\t\t\t\t\t\"bg-secondary-alt-600\": !isChecked && !disabled,\n\t\t\t\t\t\t\t\"bg-primary-300\": isChecked && disabled\n\n\t\t\t\t\t\t}\n\t\t\t\t\t) }>\n\n\t\t\t\t\t</span>\n\t\t\t\t\t<span className={ cx(\n\t\t\t\t\t\t\"absolute\",\n\t\t\t\t\t\t\"top-[50%]\",\n\t\t\t\t\t\t\"block\",\n\t\t\t\t\t\t\"rounded-full\",\n\t\t\t\t\t\t\"bg-white\",\n\t\t\t\t\t\t\"w-[22px]\",\n\t\t\t\t\t\t\"h-[22px]\",\n\t\t\t\t\t\t\"translate-x-[1px]\",\n\t\t\t\t\t\t\"translate-y-[-50%]\",\n\t\t\t\t\t\t\"ease-in-out\",\n\t\t\t\t\t\t\"transition-transform\",\n\t\t\t\t\t\t\"active:shadow-border-secondary\",\n\t\t\t\t\t\t\"focus:shadow-border-secondary\",\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"hover:shadow-border-secondary\": !isChecked && !disabled,\n\t\t\t\t\t\t\t\"hover:shadow-border-primary\": isChecked && !disabled,\n\t\t\t\t\t\t\t\"translate-x-[calc(var(--xl)_-_100%_-_1px)] translate-y-[-50%]\": isChecked\n\t\t\t\t\t\t},\n\n\t\t\t\t\t) }>\n\t\t\t\t\t</span>\n\t\t\t\t</span>\n\n\t\t\t\t{ children }\n\n\t\t\t</label>\n\n\t\t</div>\n\t);\n};\n"],"names":["UiToggle","children","disabled","invertOrder","checked","value","defaultChecked","onChange","rest","toggled","setIsToggled","useState","isChecked","handleChange","useEffect","jsx","cx","jsxs"],"mappings":";;;AAaO,MAAMA,IAAqC,CAAC;AAAA,EAClD,UAAAC;AAAA,EACA,UAAAC,IAAW;AAAA,EACX,aAAAC,IAAc;AAAA,EACd,SAAAC;AAAA,EACA,OAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,UAAAC;AAAA,EACA,GAAGC;AACJ,MAAM;AAEL,QAAM,CAACC,GAASC,CAAY,IAAIC,EAAkBL,KAAmB,EAAK,GAEpEM,IAAYP,KAASD,KAAWK,GAEhCI,IAAe,MAAM;AACtB,IAAAR,MAAU,UAAaD,MAAY,UACtCM,EAAa,CAACD,CAAO,GAGtBF,KAAA,QAAAA,EAAW,CAACK;AAAA,EACb;AAEA,SAAAE,EAAU,MAAI;AACb,IAAKV,MAAY,UAChBM,EAAaN,CAAO;AAAA,EACrB,GACE,CAACA,CAAO,CAAC,GAGX,gBAAAW;AAAA,IAAC;AAAA,IAAA;AAAA,MAAI,WAAYC;AAAA,QAChB;AAAA,MACD;AAAA,MAGC,UAAA,gBAAAC,EAAC,WAAM,WAAYD;AAAA,QAClB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,UACC,oBAAoBb;AAAA,UACpB,kCAAkCD;AAAA,QAAA;AAAA,MAInC,GAAA,UAAA;AAAA,QAAA,gBAAAe,EAAC,UAAK,WAAYD;AAAA,UACjB;AAAA,UACA;AAAA,UACA;AAAA,QAGA,GAAA,UAAA;AAAA,UAAA,gBAAAD;AAAA,YAAC;AAAA,YAAA;AAAA,cAAM,WAAYC;AAAA,gBAClB;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,cACD;AAAA,cACA,MAAK;AAAA,cACL,SAAUJ;AAAA,cACV,UAAWC;AAAA,cACX,UAAAX;AAAA,cACA,OAAAG;AAAA,cACE,GAAGG;AAAA,YAAA;AAAA,UAEL;AAAA,UAEA,gBAAAO,EAAC,UAAK,WAAYC;AAAA,YACjB;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,cACC,kBAAkBJ,KAAa,CAACV;AAAA,cAChC,wBAAwB,CAACU,KAAaV;AAAA,cACtC,wBAAwB,CAACU,KAAa,CAACV;AAAA,cACvC,kBAAkBU,KAAaV;AAAA,YAAA;AAAA,UAEhC,GAGD;AAAA,UACA,gBAAAa,EAAC,UAAK,WAAYC;AAAA,YACjB;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,cACC,iCAAiC,CAACJ,KAAa,CAACV;AAAA,cAChD,+BAA+BU,KAAa,CAACV;AAAA,cAC7C,iEAAiEU;AAAA,YAAA;AAAA,UAClE,EAGD,CAAA;AAAA,QAAA,GACD;AAAA,QAEEX;AAAA,MAAA,EAEH,CAAA;AAAA,IAAA;AAAA,EAED;AAEF;"}
@@ -1,8 +1,8 @@
1
1
  import { default as React } from 'react';
2
2
  import { ETextAlign, ETextTransform, ETextWeight, ETypographySizes } from './_types.ts';
3
3
  import { EColors } from '../../_types/colors.ts';
4
- interface ITypographyProps {
5
- tag?: keyof React.JSX.IntrinsicElements;
4
+ type TUiTypographyProps<T extends keyof React.JSX.IntrinsicElements> = {
5
+ tag?: T;
6
6
  children?: React.ReactNode;
7
7
  underline?: boolean;
8
8
  lineHeight?: boolean;
@@ -11,7 +11,6 @@ interface ITypographyProps {
11
11
  align?: ETextAlign;
12
12
  weight?: ETextWeight;
13
13
  color?: EColors;
14
- className?: string;
15
- }
16
- export declare const UiTypography: React.FC<ITypographyProps>;
14
+ } & Omit<React.JSX.IntrinsicElements[T], "children" | "ref">;
15
+ export declare const UiTypography: <T extends keyof React.JSX.IntrinsicElements>({ children, tag, underline, lineHeight, size, textTransform, align, weight, color, className, ...rest }: TUiTypographyProps<T>) => React.JSX.Element;
17
16
  export {};
@@ -1,9 +1,8 @@
1
- import { jsx as i } from "react/jsx-runtime";
2
- import "react";
3
- import { ETypographySizes as e, ETextTransform as r, ETextAlign as x, ETextWeight as a } from "./_types.js";
1
+ import i from "react";
2
+ import { ETypographySizes as e, ETextTransform as r, ETextAlign as R, ETextWeight as a } from "./_types.js";
4
3
  import { EColors as t } from "../../_types/colors.js";
5
- import s from "classnames";
6
- const y = {
4
+ import y from "classnames";
5
+ const m = {
7
6
  [e.MD]: "text-md",
8
7
  [e.XXS]: "text-xxs",
9
8
  [e.XS]: "text-xs",
@@ -14,21 +13,21 @@ const y = {
14
13
  [e.XXXL]: "text-3xl",
15
14
  [e.XXXXL]: "text-4xl",
16
15
  [e.XXXXXL]: "text-5xl"
17
- }, m = {
16
+ }, p = {
18
17
  [r.UPPERCASE]: "uppercase",
19
18
  [r.LOWERCASE]: "lowercase",
20
19
  [r.NONE]: "normal-case",
21
20
  [r.CAPITALIZE]: "capitalize"
22
- }, p = {
23
- [x.LEFT]: "text-left",
24
- [x.RIGHT]: "text-right",
25
- [x.CENTER]: "text-center"
26
21
  }, L = {
22
+ [R.LEFT]: "text-left",
23
+ [R.RIGHT]: "text-right",
24
+ [R.CENTER]: "text-center"
25
+ }, Y = {
27
26
  [a.LIGHT]: "font-light",
28
27
  [a.REGULAR]: "font-medium",
29
28
  [a.SEMI_BOLD]: "font-bold",
30
29
  [a.BOLD]: "font-black"
31
- }, Y = {
30
+ }, I = {
32
31
  [t.WHITE]: "text-white",
33
32
  [t.BLACK]: "text-black",
34
33
  [t.TRANSPARENT]: "text-transparent",
@@ -70,6 +69,8 @@ const y = {
70
69
  [t.SECONDARY_ALT_600]: "text-secondary-alt-600",
71
70
  [t.SECONDARY_ALT_700]: "text-secondary-alt-700",
72
71
  [t.ERROR]: "text-error",
72
+ [t.ERROR_100]: "text-error-100",
73
+ [t.ERROR_200]: "text-error-200",
73
74
  [t.ERROR_300]: "text-error-300",
74
75
  [t.ERROR_400]: "text-error-400",
75
76
  [t.ERROR_500]: "text-error-500",
@@ -88,30 +89,34 @@ const y = {
88
89
  [t.ACCENT_ALT_700]: "text-accent-alt-700"
89
90
  }, d = ({
90
91
  children: o,
91
- tag: E = "p",
92
- underline: l = !1,
93
- lineHeight: C = !1,
94
- size: R,
92
+ tag: s,
93
+ underline: E = !1,
94
+ lineHeight: l = !1,
95
+ size: x,
95
96
  textTransform: A,
96
97
  align: _,
97
98
  weight: n,
98
99
  color: c,
99
- className: T
100
+ className: C,
101
+ ...T
100
102
  }) => {
101
- const N = s(
103
+ const N = y(
102
104
  "ui-typography",
103
105
  {
104
- underline: l
106
+ underline: E
105
107
  },
106
- C ? "leading-normal" : "leading-none",
107
- R && y[R],
108
- A && m[A],
109
- _ && p[_],
110
- n && L[n],
111
- c && Y[c],
112
- T
108
+ l ? "leading-normal" : "leading-none",
109
+ x && m[x],
110
+ A && p[A],
111
+ _ && L[_],
112
+ n && Y[n],
113
+ c && I[c],
114
+ C
113
115
  );
114
- return /* @__PURE__ */ i(E, { className: s(N), children: o });
116
+ return i.createElement(s || "p", {
117
+ className: N,
118
+ ...T
119
+ }, o);
115
120
  };
116
121
  export {
117
122
  d as UiTypography