bonkers-ui 2.0.4 → 2.0.6

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 (41) hide show
  1. package/README.md +1 -1
  2. package/_types/align.js.map +1 -1
  3. package/components/UiAccordion/UiAccordion.InfoDropdown.js.map +1 -1
  4. package/components/UiAccordion/UiAccordion.context.js.map +1 -1
  5. package/components/UiAccordion/UiAccordionItem.base.js.map +1 -1
  6. package/components/UiAlert/UiAlert.js.map +1 -1
  7. package/components/UiButton/UiButton.js +26 -28
  8. package/components/UiButton/UiButton.js.map +1 -1
  9. package/components/UiButton/_types.d.ts +2 -1
  10. package/components/UiButton/_types.js +1 -1
  11. package/components/UiButton/_types.js.map +1 -1
  12. package/components/UiInput/UiInput.base.js +17 -13
  13. package/components/UiInput/UiInput.base.js.map +1 -1
  14. package/components/UiInput/UiInputText.d.ts +1 -1
  15. package/components/UiInput/UiInputText.js +8 -9
  16. package/components/UiInput/UiInputText.js.map +1 -1
  17. package/components/UiList/UiList.js +14 -12
  18. package/components/UiList/UiList.js.map +1 -1
  19. package/components/UiList/UiListItem.d.ts +2 -0
  20. package/components/UiList/UiListItem.js +15 -6
  21. package/components/UiList/UiListItem.js.map +1 -1
  22. package/components/UiPills/UiPills.js.map +1 -1
  23. package/components/UiPills/_types.js.map +1 -1
  24. package/components/UiPlainRadio/UiPlainRadio.js.map +1 -1
  25. package/components/UiRadioFancy/UiRadioFancy.js.map +1 -1
  26. package/components/UiSelect/UiSelect.d.ts +3 -0
  27. package/components/UiSelect/UiSelect.js +77 -53
  28. package/components/UiSelect/UiSelect.js.map +1 -1
  29. package/components/UiSkeleton/UiSkeleton.js +359 -154
  30. package/components/UiSkeleton/UiSkeleton.js.map +1 -1
  31. package/components/UiSkeleton/_types.d.ts +2 -1
  32. package/components/UiSkeleton/_types.js +2 -2
  33. package/components/UiSkeleton/_types.js.map +1 -1
  34. package/components/UiSnackbar/UiSnackbar.js.map +1 -1
  35. package/components/UiStars/UiStars.js.map +1 -1
  36. package/components/UiTable/UiTableCell.js.map +1 -1
  37. package/components/UiTabs/UiTabs.js.map +1 -1
  38. package/components/UiToggle/UiToggle.js.map +1 -1
  39. package/components/UiTypography/UiTypography.js.map +1 -1
  40. package/eslint.config.mjs +4 -0
  41. package/package.json +26 -26
@@ -1 +1 @@
1
- {"version":3,"file":"UiRadioFancy.js","sources":["../../../src/components/UiRadioFancy/UiRadioFancy.tsx"],"sourcesContent":["import React from \"react\";\nimport cx from \"classnames\";\nimport { UiIcon } from \"../UiIcon\";\nimport { ESize } from \"../../_types/sizing\";\nimport { type IconProp } from \"@fortawesome/fontawesome-svg-core\";\nimport { ERadioTypes } from \"./_types\";\n\nexport type TUiRadioFancy = {\n\tchildren: React.ReactNode\n\ticon?: IconProp\n\tdisabled?: boolean;\n\tactive?: boolean;\n\tsubHeader?: string;\n\tclassName?: string;\n\tradioType?: ERadioTypes;\n\tvalue: string;\n\tonChange: (value: string) => void;\n\n}& Omit<React.InputHTMLAttributes<HTMLInputElement>, \"onChange\" | \"checked\" | \"value\" | \"name\">;\n\nconst typeClasses = {\n\t[ERadioTypes.DEFAULT]: \"items-center\",\n\t[ERadioTypes.COMPACT]: \"items-start flex-col\"\n};\n\nexport const UiRadioFancy: React.FC<TUiRadioFancy> = ({\n\tchildren,\n\ticon,\n\tdisabled,\n\tsubHeader,\n\tactive,\n\tradioType = ERadioTypes.DEFAULT,\n\tvalue,\n\tonChange,\n\tclassName\n\n}) => {\n\treturn (\n\t\t<label className={ cx(\n\t\t\t\"ui-radio-fancy\",\n\t\t\t\"relative\",\n\t\t\t{\n\t\t\t\t\"pointer-events-none\": disabled\n\t\t\t},\n\t\t\tclassName\n\t\t) }>\n\t\t\t<input className=\"group peer absolute appearance-none\" type=\"radio\" checked={ active } onChange={ ()=> onChange(value) }/>\n\n\t\t\t<div className={ cx(\n\t\t\t\t\"box-border\",\n\t\t\t\t\"cursor-pointer\",\n\t\t\t\t\"rounded-lg\",\n\t\t\t\t\"border\",\n\t\t\t\t\"bg-white\",\n\t\t\t\t\"p-sm\",\n\t\t\t\t\"hover:border-secondary-alt-700\",\n\t\t\t\t\"peer-focus:outline \",\n\t\t\t\t\"peer-focus:outline-4\",\n\t\t\t\t\"peer-focus:outline-primary-300\",\n\t\t\t\t\"peer-checked:shadow-border-primary-600\",\n\t\t\t\t\"peer-checked:border-0\",\n\t\t\t\t\"active:peer-checked:bg-secondary-alt-200\",\n\t\t\t\t\"hover:peer-checked:shadow-border-primary-700\",\n\t\t\t\t\"flex\",\n\t\t\t\t\"gap-sm\",\n\t\t\t\t\"text-sm\",\n\t\t\t\tactive\n\t\t\t\t\t? \"peer-focus:outline-offset-2\"\n\t\t\t\t\t: \"peer-focus:outline-offset-0\",\n\t\t\t\tdisabled\n\t\t\t\t\t? \"border-secondary-alt-400 text-secondary-alt-500 peer-checked:shadow-border-primary-disabled\"\n\t\t\t\t\t: \"border-secondary-alt-600\",\n\n\t\t\t\ttypeClasses[radioType],\n\n\t\t\t) }>\n\t\t\t\t<div className={ cx(\n\t\t\t\t\t\"relative\",\n\t\t\t\t\t\"grid\",\n\t\t\t\t\t\"size-fit\",\n\t\t\t\t\t\"rounded-full\",\n\t\t\t\t\t\"place-items-center\",\n\t\t\t\t\t\"text-white\",\n\t\t\t\t\t\"p-xxs\",\n\t\t\t\t\t{\n\t\t\t\t\t\t\"bg-primary-300\": disabled,\n\t\t\t\t\t\t\"bg-primary\": !disabled\n\t\t\t\t\t}\n\n\t\t\t\t) }\n\t\t\t\t>\n\n\t\t\t\t\t{\n\t\t\t\t\t\ticon\n\t\t\t\t\t\t\t? <UiIcon\n\t\t\t\t\t\t\t\tname={ icon }\n\t\t\t\t\t\t\t\tsize={ ESize.SM }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t: null\n\t\t\t\t\t}\n\n\t\t\t\t</div>\n\n\t\t\t\t<div className=\"flex flex-col\">\n\t\t\t\t\t{ children }\n\t\t\t\t\t<div className=\"text-xs font-normal text-secondary-alt-400\">{ subHeader }</div>\n\t\t\t\t</div>\n\n\t\t\t</div>\n\n\t\t</label>\n\n\t);\n};\n"],"names":["typeClasses","ERadioTypes","UiRadioFancy","children","icon","disabled","subHeader","active","radioType","value","onChange","className","jsxs","cx","jsx","UiIcon","ESize"],"mappings":";;;;;;;AAoBA,MAAMA,IAAc;AAAA,EACnB,CAACC,EAAY,OAAO,GAAG;AAAA,EACvB,CAACA,EAAY,OAAO,GAAG;AACxB,GAEaC,IAAwC,CAAC;AAAA,EACrD,UAAAC;AAAA,EACA,MAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,QAAAC;AAAA,EACA,WAAAC,IAAYP,EAAY;AAAA,EACxB,OAAAQ;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC;AAED,MAEE,gBAAAC,EAAC,WAAM,WAAYC;AAAA,EAClB;AAAA,EACA;AAAA,EACA;AAAA,IACC,uBAAuBR;AAAA,EACxB;AAAA,EACAM;AAEA,GAAA,UAAA;AAAA,EAAC,gBAAAG,EAAA,SAAA,EAAM,WAAU,uCAAsC,MAAK,SAAQ,SAAUP,GAAS,UAAW,MAAKG,EAASD,CAAK,EAAG,CAAA;AAAA,EAExH,gBAAAG,EAAC,SAAI,WAAYC;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACAN,IACG,gCACA;AAAA,IACHF,IACG,gGACA;AAAA,IAEHL,EAAYQ,CAAS;AAAA,EAGrB,GAAA,UAAA;AAAA,IAAA,gBAAAM;AAAA,MAAC;AAAA,MAAA;AAAA,QAAI,WAAYD;AAAA,UAChB;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,YACC,kBAAkBR;AAAA,YAClB,cAAc,CAACA;AAAA,UAAA;AAAA,QAGjB;AAAA,QAIE,UACGD,IAAA,gBAAAU;AAAA,UAACC;AAAA,UAAA;AAAA,YACF,MAAOX;AAAA,YACP,MAAOY,EAAM;AAAA,UAAA;AAAA,QAAA,IAEZ;AAAA,MAAA;AAAA,IAGL;AAAA,IAEA,gBAAAJ,EAAC,OAAI,EAAA,WAAU,iBACZ,UAAA;AAAA,MAAAT;AAAA,MACD,gBAAAW,EAAA,OAAA,EAAI,WAAU,8CAA+C,UAAWR,EAAA,CAAA;AAAA,IAAA,EAC1E,CAAA;AAAA,EAAA,EAED,CAAA;AAAA,GAED;"}
1
+ {"version":3,"file":"UiRadioFancy.js","sources":["../../../src/components/UiRadioFancy/UiRadioFancy.tsx"],"sourcesContent":["import React from \"react\";\nimport cx from \"classnames\";\nimport { UiIcon } from \"../UiIcon\";\nimport { ESize } from \"../../_types/sizing\";\nimport { type IconProp } from \"@fortawesome/fontawesome-svg-core\";\nimport { ERadioTypes } from \"./_types\";\n\nexport type TUiRadioFancy = {\n\tchildren: React.ReactNode\n\ticon?: IconProp\n\tdisabled?: boolean;\n\tactive?: boolean;\n\tsubHeader?: string;\n\tclassName?: string;\n\tradioType?: ERadioTypes;\n\tvalue: string;\n\tonChange: (value: string) => void;\n\n} & Omit<React.InputHTMLAttributes<HTMLInputElement>, \"onChange\" | \"checked\" | \"value\" | \"name\">;\n\nconst typeClasses = {\n\t[ERadioTypes.DEFAULT]: \"items-center\",\n\t[ERadioTypes.COMPACT]: \"items-start flex-col\"\n};\n\nexport const UiRadioFancy: React.FC<TUiRadioFancy> = ({\n\tchildren,\n\ticon,\n\tdisabled,\n\tsubHeader,\n\tactive,\n\tradioType = ERadioTypes.DEFAULT,\n\tvalue,\n\tonChange,\n\tclassName\n\n}) => {\n\treturn (\n\t\t<label className={ cx(\n\t\t\t\"ui-radio-fancy\",\n\t\t\t\"relative\",\n\t\t\t{\n\t\t\t\t\"pointer-events-none\": disabled\n\t\t\t},\n\t\t\tclassName\n\t\t) }>\n\t\t\t<input className=\"group peer absolute appearance-none\" type=\"radio\" checked={ active } onChange={ ()=> onChange(value) }/>\n\n\t\t\t<div className={ cx(\n\t\t\t\t\"box-border\",\n\t\t\t\t\"cursor-pointer\",\n\t\t\t\t\"rounded-lg\",\n\t\t\t\t\"border\",\n\t\t\t\t\"bg-white\",\n\t\t\t\t\"p-sm\",\n\t\t\t\t\"hover:border-secondary-alt-700\",\n\t\t\t\t\"peer-focus:outline \",\n\t\t\t\t\"peer-focus:outline-4\",\n\t\t\t\t\"peer-focus:outline-primary-300\",\n\t\t\t\t\"peer-checked:shadow-border-primary-600\",\n\t\t\t\t\"peer-checked:border-0\",\n\t\t\t\t\"active:peer-checked:bg-secondary-alt-200\",\n\t\t\t\t\"hover:peer-checked:shadow-border-primary-700\",\n\t\t\t\t\"flex\",\n\t\t\t\t\"gap-sm\",\n\t\t\t\t\"text-sm\",\n\t\t\t\tactive\n\t\t\t\t\t? \"peer-focus:outline-offset-2\"\n\t\t\t\t\t: \"peer-focus:outline-offset-0\",\n\t\t\t\tdisabled\n\t\t\t\t\t? \"border-secondary-alt-400 text-secondary-alt-500 peer-checked:shadow-border-primary-disabled\"\n\t\t\t\t\t: \"border-secondary-alt-600\",\n\n\t\t\t\ttypeClasses[radioType],\n\n\t\t\t) }>\n\t\t\t\t<div className={ cx(\n\t\t\t\t\t\"relative\",\n\t\t\t\t\t\"grid\",\n\t\t\t\t\t\"size-fit\",\n\t\t\t\t\t\"rounded-full\",\n\t\t\t\t\t\"place-items-center\",\n\t\t\t\t\t\"text-white\",\n\t\t\t\t\t\"p-xxs\",\n\t\t\t\t\t{\n\t\t\t\t\t\t\"bg-primary-300\": disabled,\n\t\t\t\t\t\t\"bg-primary\": !disabled\n\t\t\t\t\t}\n\n\t\t\t\t) }\n\t\t\t\t>\n\n\t\t\t\t\t{\n\t\t\t\t\t\ticon\n\t\t\t\t\t\t\t? <UiIcon\n\t\t\t\t\t\t\t\tname={ icon }\n\t\t\t\t\t\t\t\tsize={ ESize.SM }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t: null\n\t\t\t\t\t}\n\n\t\t\t\t</div>\n\n\t\t\t\t<div className=\"flex flex-col\">\n\t\t\t\t\t{ children }\n\t\t\t\t\t<div className=\"text-xs font-normal text-secondary-alt-400\">{ subHeader }</div>\n\t\t\t\t</div>\n\n\t\t\t</div>\n\n\t\t</label>\n\n\t);\n};\n"],"names":["typeClasses","ERadioTypes","UiRadioFancy","children","icon","disabled","subHeader","active","radioType","value","onChange","className","jsxs","cx","jsx","UiIcon","ESize"],"mappings":";;;;;;;AAoBA,MAAMA,IAAc;AAAA,EACnB,CAACC,EAAY,OAAO,GAAG;AAAA,EACvB,CAACA,EAAY,OAAO,GAAG;AACxB,GAEaC,IAAwC,CAAC;AAAA,EACrD,UAAAC;AAAA,EACA,MAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,QAAAC;AAAA,EACA,WAAAC,IAAYP,EAAY;AAAA,EACxB,OAAAQ;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC;AAED,MAEE,gBAAAC,EAAC,WAAM,WAAYC;AAAA,EAClB;AAAA,EACA;AAAA,EACA;AAAA,IACC,uBAAuBR;AAAA,EACxB;AAAA,EACAM;AAEA,GAAA,UAAA;AAAA,EAAC,gBAAAG,EAAA,SAAA,EAAM,WAAU,uCAAsC,MAAK,SAAQ,SAAUP,GAAS,UAAW,MAAKG,EAASD,CAAK,EAAG,CAAA;AAAA,EAExH,gBAAAG,EAAC,SAAI,WAAYC;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACAN,IACG,gCACA;AAAA,IACHF,IACG,gGACA;AAAA,IAEHL,EAAYQ,CAAS;AAAA,EAGrB,GAAA,UAAA;AAAA,IAAA,gBAAAM;AAAA,MAAC;AAAA,MAAA;AAAA,QAAI,WAAYD;AAAA,UAChB;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,YACC,kBAAkBR;AAAA,YAClB,cAAc,CAACA;AAAA,UAAA;AAAA,QAGjB;AAAA,QAIE,UACGD,IAAA,gBAAAU;AAAA,UAACC;AAAA,UAAA;AAAA,YACF,MAAOX;AAAA,YACP,MAAOY,EAAM;AAAA,UAAA;AAAA,QAAA,IAEZ;AAAA,MAAA;AAAA,IAGL;AAAA,IAEA,gBAAAJ,EAAC,OAAI,EAAA,WAAU,iBACZ,UAAA;AAAA,MAAAT;AAAA,MACD,gBAAAW,EAAA,OAAA,EAAI,WAAU,8CAA+C,UAAWR,EAAA,CAAA;AAAA,IAAA,EAC1E,CAAA;AAAA,EAAA,EAED,CAAA;AAAA,GAED;"}
@@ -1,4 +1,5 @@
1
1
  import { default as React } from 'react';
2
+ import { EInputKind } from '../UiInput';
2
3
  type TSelectProps = {
3
4
  heading?: string;
4
5
  subLabel?: string;
@@ -7,6 +8,8 @@ type TSelectProps = {
7
8
  placeholder?: string;
8
9
  postfixIcon?: React.ReactNode;
9
10
  className?: string;
11
+ kind?: EInputKind;
12
+ statusMessage?: string | React.ReactElement;
10
13
  onChange?: (event: React.ChangeEvent<HTMLSelectElement>) => void;
11
14
  } & React.SelectHTMLAttributes<HTMLSelectElement>;
12
15
  export declare const UiSelect: React.FC<TSelectProps>;
@@ -1,70 +1,79 @@
1
- import { jsxs as t, jsx as e } from "react/jsx-runtime";
2
- import d from "react";
3
- import b from "classnames";
4
- import { UiTypography as m } from "../UiTypography/UiTypography.js";
5
- import { ETypographySizes as u } from "../UiTypography/_types.js";
6
- import { EColors as f } from "../../_types/colors.js";
7
- import '../../assets/UiSelect.css';const S = "_UiSelect_1fbno_1", w = {
8
- UiSelect: S
9
- }, z = ({
10
- children: p,
11
- heading: o,
12
- subLabel: n,
13
- disabled: s,
1
+ import { jsxs as n, jsx as e } from "react/jsx-runtime";
2
+ import y from "react";
3
+ import s from "classnames";
4
+ import { UiTypography as i } from "../UiTypography/UiTypography.js";
5
+ import { ETypographySizes as c } from "../UiTypography/_types.js";
6
+ import { EColors as d } from "../../_types/colors.js";
7
+ import { EInputKind as t } from "../UiInput/_types.js";
8
+ import '../../assets/UiSelect.css';const w = "_UiSelect_1fbno_1", E = {
9
+ UiSelect: w
10
+ }, g = {
11
+ [t.DEFAULT]: "border-secondary-alt-600",
12
+ [t.ERROR]: "border-error",
13
+ [t.SUCCESS]: "border-primary-600"
14
+ }, _ = ({
15
+ children: f,
16
+ heading: m,
17
+ subLabel: u,
18
+ disabled: p,
14
19
  onChange: r,
15
- className: h,
16
- placeholder: a,
17
- postfixIcon: i,
18
- ...l
20
+ className: R,
21
+ placeholder: h,
22
+ postfixIcon: x,
23
+ statusMessage: l,
24
+ kind: o,
25
+ ...a
19
26
  }) => {
20
- const [v, x] = d.useState(l.value || l.defaultValue || ""), y = d.useCallback(
21
- (c) => {
22
- x(c.target.value), r == null || r(c);
27
+ const [S, b] = y.useState(a.value || a.defaultValue || ""), C = y.useCallback(
28
+ (v) => {
29
+ b(v.target.value), r == null || r(v);
23
30
  },
24
31
  [r]
25
32
  );
26
- return /* @__PURE__ */ t("div", { className: h, children: [
27
- o ? /* @__PURE__ */ e(
28
- m,
33
+ return /* @__PURE__ */ n("div", { className: s("ui-select", R), children: [
34
+ m ? /* @__PURE__ */ e(
35
+ i,
29
36
  {
30
- size: u.MD,
37
+ size: c.MD,
31
38
  className: "mb-xxs",
32
- children: o
39
+ children: m
33
40
  }
34
41
  ) : null,
35
- /* @__PURE__ */ t("div", { className: b(
36
- w.UiSelect,
42
+ /* @__PURE__ */ n("div", { className: s(
43
+ E.UiSelect,
37
44
  "relative",
38
45
  "rounded-xl",
39
46
  "border",
40
- "hover:border-secondary-alt-700",
41
- s ? ["pointer-events-none", "border-secondary-alt-300", "bg-secondary-alt-200"] : ["border-secondary-alt-500", "bg-white"]
47
+ "hover:border-secondary-alt-600",
48
+ p ? ["pointer-events-none", "border-secondary-alt-300", "bg-secondary-alt-200"] : [o && g[o], "bg-white"]
42
49
  ), children: [
43
- /* @__PURE__ */ t(
50
+ /* @__PURE__ */ n(
44
51
  "select",
45
52
  {
46
- ...l,
47
- className: `m-0
48
- w-full
49
- cursor-pointer
50
- appearance-none
51
- border-0
52
- bg-transparent
53
- p-sm
54
- italic
55
- text-secondary-alt
56
- outline-0
53
+ ...a,
54
+ className: `
55
+ m-0
56
+ pr-xl
57
+ w-full
58
+ cursor-pointer
59
+ appearance-none
60
+ border-0
61
+ bg-transparent
62
+ leading-[20px]
63
+ p-sm
64
+ text-secondary-alt
65
+ outline-0
57
66
  `,
58
- disabled: s,
59
- value: v,
60
- onChange: y,
67
+ disabled: p,
68
+ value: S,
69
+ onChange: C,
61
70
  children: [
62
- a ? /* @__PURE__ */ e("option", { value: "", disabled: !0, hidden: !0, children: a }) : null,
63
- p
71
+ h ? /* @__PURE__ */ e("option", { value: "", disabled: !0, hidden: !0, children: h }) : null,
72
+ f
64
73
  ]
65
74
  }
66
75
  ),
67
- /* @__PURE__ */ e("div", { className: "absolute right-sm top-1/2 -translate-y-1/2", children: i || /* @__PURE__ */ e(
76
+ /* @__PURE__ */ e("div", { className: "absolute right-sm top-1/2 -translate-y-1/2 pointer-events-none", children: x || /* @__PURE__ */ e(
68
77
  "svg",
69
78
  {
70
79
  width: "16",
@@ -82,18 +91,33 @@ import '../../assets/UiSelect.css';const S = "_UiSelect_1fbno_1", w = {
82
91
  }
83
92
  ) })
84
93
  ] }),
85
- n ? /* @__PURE__ */ e(
86
- m,
94
+ u ? /* @__PURE__ */ e(
95
+ i,
87
96
  {
88
- size: u.SM,
89
- color: f.SECONDARY_ALT,
97
+ size: c.SM,
98
+ color: d.SECONDARY_ALT,
90
99
  className: "mt-xxs",
91
- children: n
100
+ children: u
101
+ }
102
+ ) : null,
103
+ l ? /* @__PURE__ */ e(
104
+ i,
105
+ {
106
+ className: s(
107
+ "transition-all duration-300 ease-in-out",
108
+ "max-h-0 opacity-0 overflow-hidden gap-xxs mt-xxs",
109
+ "data-[status=true]:max-h-full data-[status=true]:opacity-100"
110
+ ),
111
+ lineHeight: !0,
112
+ color: o === t.ERROR ? d.ERROR : d.PRIMARY,
113
+ size: c.SM,
114
+ "data-status": !!l,
115
+ children: l
92
116
  }
93
117
  ) : null
94
118
  ] });
95
119
  };
96
120
  export {
97
- z as UiSelect
121
+ _ as UiSelect
98
122
  };
99
123
  //# sourceMappingURL=UiSelect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UiSelect.js","sources":["../../../src/components/UiSelect/UiSelect.tsx"],"sourcesContent":["import React from \"react\";\nimport cx from \"classnames\";\nimport { UiTypography, ETypographySizes, EColors } from \"../UiTypography\";\nimport styles from \"./UiSelect.module.css\";\n\ntype TSelectProps = {\n\theading?: string\n\tsubLabel?: string;\n\tdisabled?: boolean;\n\tvalue?: string | number | readonly string[];\n\tplaceholder?: string;\n\tpostfixIcon?: React.ReactNode;\n\tclassName?: string;\n\tonChange?: (event: React.ChangeEvent<HTMLSelectElement>) => void;\n} & React.SelectHTMLAttributes<HTMLSelectElement>\n\nexport const UiSelect: React.FC<TSelectProps> = ({\n\tchildren,\n\theading,\n\tsubLabel,\n\tdisabled,\n\tonChange,\n\tclassName,\n\tplaceholder,\n\tpostfixIcon,\n\t...rest\n}) => {\n\tconst [value, setValue] = React.useState(rest.value || rest.defaultValue || \"\");\n\tconst handleChange = React.useCallback(\n\t\t(event: React.ChangeEvent<HTMLSelectElement>) => {\n\t\t\tsetValue(event.target.value);\n\t\t\tonChange?.(event);\n\t\t},\n\t\t[onChange],\n\t);\n\treturn (\n\t\t<div className={ className }>\n\t\t\t{ heading\n\t\t\t\t? <UiTypography\n\t\t\t\t\tsize={ ETypographySizes.MD }\n\t\t\t\t\tclassName=\"mb-xxs\">\n\t\t\t\t\t{ heading }\n\t\t\t\t</UiTypography>\n\t\t\t\t: null\n\t\t\t}\n\t\t\t<div className={ cx(styles.UiSelect, \"relative\",\n\t\t\t\t\"rounded-xl\",\n\t\t\t\t\"border\",\n\t\t\t\t\"hover:border-secondary-alt-700\",\n\t\t\t\tdisabled\n\t\t\t\t\t? [\"pointer-events-none\", \"border-secondary-alt-300\", \"bg-secondary-alt-200\"]\n\t\t\t\t\t: [\"border-secondary-alt-500\", \"bg-white\"]\n\t\t\t) }>\n\t\t\t\t<select\n\t\t\t\t\t{ ...rest }\n\t\t\t\t\tclassName=\"m-0\n\t\t\t\t\tw-full\n\t\t\t\t\tcursor-pointer\n\t\t\t\t\tappearance-none\n\t\t\t\t\tborder-0\n\t\t\t\t\tbg-transparent\n\t\t\t\t\tp-sm\n\t\t\t\t\titalic\n\t\t\t\t\ttext-secondary-alt\n\t\t\t\t\toutline-0\n\t\t\t\t\t\"\n\t\t\t\t\tdisabled={ disabled }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tonChange={ handleChange }\n\t\t\t\t>\n\t\t\t\t\t{ placeholder ? <option value={ \"\" } disabled hidden>{ placeholder }</option> : null }\n\t\t\t\t\t{ children }\n\t\t\t\t</select>\n\t\t\t\t<div className=\"absolute right-sm top-1/2 -translate-y-1/2\">\n\t\t\t\t\t{ postfixIcon\n\t\t\t\t\t\t? postfixIcon\n\t\t\t\t\t\t: (<svg\n\t\t\t\t\t\t\twidth=\"16\"\n\t\t\t\t\t\t\theight=\"16\"\n\t\t\t\t\t\t\tviewBox=\"0 0 16 16\"\n\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\td=\"M13.25 6.8125L8.5 11.2812C8.34375 11.4375 8.15625 11.5 8 11.5C7.8125 11.5 7.625 11.4375 7.46875 11.3125L2.71875 6.8125C2.40625 6.53125 2.40625 6.0625 2.6875 5.75C2.96875 5.4375 3.4375 5.4375 3.75 5.71875L8 9.71875L12.2188 5.71875C12.5312 5.4375 13 5.4375 13.2812 5.75C13.5625 6.0625 13.5625 6.53125 13.25 6.8125Z\"\n\t\t\t\t\t\t\t\tfill=\"currentColor\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</svg>)\n\t\t\t\t\t}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t{ subLabel\n\t\t\t\t? (<UiTypography\n\t\t\t\t\tsize={ ETypographySizes.SM }\n\t\t\t\t\tcolor={ EColors.SECONDARY_ALT }\n\t\t\t\t\tclassName=\"mt-xxs\"\n\t\t\t\t>\n\t\t\t\t\t{ subLabel }\n\t\t\t\t</UiTypography>)\n\t\t\t\t: null\n\t\t\t}\n\t\t</div>\n\t);\n};\n"],"names":["UiSelect","children","heading","subLabel","disabled","onChange","className","placeholder","postfixIcon","rest","value","setValue","React","handleChange","event","jsxs","jsx","UiTypography","ETypographySizes","cx","styles","EColors"],"mappings":";;;;;;;;GAgBaA,IAAmC,CAAC;AAAA,EAChD,UAAAC;AAAA,EACA,SAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,aAAAC;AAAA,EACA,aAAAC;AAAA,EACA,GAAGC;AACJ,MAAM;AACC,QAAA,CAACC,GAAOC,CAAQ,IAAIC,EAAM,SAASH,EAAK,SAASA,EAAK,gBAAgB,EAAE,GACxEI,IAAeD,EAAM;AAAA,IAC1B,CAACE,MAAgD;AACvC,MAAAH,EAAAG,EAAM,OAAO,KAAK,GAC3BT,KAAA,QAAAA,EAAWS;AAAA,IACZ;AAAA,IACA,CAACT,CAAQ;AAAA,EACV;AAEC,SAAA,gBAAAU,EAAC,SAAI,WAAAT,GACF,UAAA;AAAA,IACCJ,IAAA,gBAAAc;AAAA,MAACC;AAAA,MAAA;AAAA,QACF,MAAOC,EAAiB;AAAA,QACxB,WAAU;AAAA,QACR,UAAAhB;AAAA,MAAA;AAAA,IAAA,IAED;AAAA,IAEH,gBAAAa,EAAC,SAAI,WAAYI;AAAA,MAAGC,EAAO;AAAA,MAAU;AAAA,MACpC;AAAA,MACA;AAAA,MACA;AAAA,MACAhB,IACG,CAAC,uBAAuB,4BAA4B,sBAAsB,IAC1E,CAAC,4BAA4B,UAAU;AAAA,IAE1C,GAAA,UAAA;AAAA,MAAA,gBAAAW;AAAA,QAAC;AAAA,QAAA;AAAA,UACE,GAAGN;AAAA,UACL,WAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAWV,UAAAL;AAAA,UACA,OAAAM;AAAA,UACA,UAAWG;AAAA,UAET,UAAA;AAAA,YAAcN,IAAA,gBAAAS,EAAC,YAAO,OAAQ,IAAK,UAAQ,IAAC,QAAM,IAAG,UAAAT,EAAA,CAAa,IAAY;AAAA,YAC9EN;AAAA,UAAA;AAAA,QAAA;AAAA,MACH;AAAA,MACC,gBAAAe,EAAA,OAAA,EAAI,WAAU,8CACZ,eAEE,gBAAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACH,OAAM;AAAA,UACN,QAAO;AAAA,UACP,SAAQ;AAAA,UACR,MAAK;AAAA,UACL,OAAM;AAAA,UAEN,UAAA,gBAAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACA,GAAE;AAAA,cACF,MAAK;AAAA,YAAA;AAAA,UAAA;AAAA,QACN;AAAA,MAAA,EAGH,CAAA;AAAA,IAAA,GACD;AAAA,IACEb,IACE,gBAAAa;AAAA,MAACC;AAAA,MAAA;AAAA,QACH,MAAOC,EAAiB;AAAA,QACxB,OAAQG,EAAQ;AAAA,QAChB,WAAU;AAAA,QAER,UAAAlB;AAAA,MAAA;AAAA,IAAA,IAED;AAAA,EAAA,GAEJ;AAEF;"}
1
+ {"version":3,"file":"UiSelect.js","sources":["../../../src/components/UiSelect/UiSelect.tsx"],"sourcesContent":["import React from \"react\";\nimport cx from \"classnames\";\nimport { UiTypography, ETypographySizes, EColors } from \"../UiTypography\";\nimport styles from \"./UiSelect.module.css\";\nimport { EInputKind } from \"../UiInput\";\n\ntype TSelectProps = {\n\theading?: string\n\tsubLabel?: string;\n\tdisabled?: boolean;\n\tvalue?: string | number | readonly string[];\n\tplaceholder?: string;\n\tpostfixIcon?: React.ReactNode;\n\tclassName?: string;\n\tkind?: EInputKind;\n\tstatusMessage?: string | React.ReactElement;\n\tonChange?: (event: React.ChangeEvent<HTMLSelectElement>) => void;\n} & React.SelectHTMLAttributes<HTMLSelectElement>\n\nconst stateClasses = {\n\t[EInputKind.DEFAULT]: \"border-secondary-alt-600\",\n\t[EInputKind.ERROR]: \"border-error\",\n\t[EInputKind.SUCCESS]: \"border-primary-600\",\n};\n\nexport const UiSelect: React.FC<TSelectProps> = ({\n\tchildren,\n\theading,\n\tsubLabel,\n\tdisabled,\n\tonChange,\n\tclassName,\n\tplaceholder,\n\tpostfixIcon,\n\tstatusMessage,\n\tkind,\n\t...rest\n}) => {\n\tconst [value, setValue] = React.useState(rest.value || rest.defaultValue || \"\");\n\tconst handleChange = React.useCallback(\n\t\t(event: React.ChangeEvent<HTMLSelectElement>) => {\n\t\t\tsetValue(event.target.value);\n\t\t\tonChange?.(event);\n\t\t},\n\t\t[onChange],\n\t);\n\treturn (\n\t\t<div className={ cx(\"ui-select\", className) }>\n\t\t\t{ heading\n\t\t\t\t? <UiTypography\n\t\t\t\t\tsize={ ETypographySizes.MD }\n\t\t\t\t\tclassName=\"mb-xxs\">\n\t\t\t\t\t{ heading }\n\t\t\t\t</UiTypography>\n\t\t\t\t: null\n\t\t\t}\n\t\t\t<div className={ cx(styles.UiSelect,\n\t\t\t\t\"relative\",\n\t\t\t\t\"rounded-xl\",\n\t\t\t\t\"border\",\n\t\t\t\t\"hover:border-secondary-alt-600\",\n\t\t\t\tdisabled\n\t\t\t\t\t? [\"pointer-events-none\", \"border-secondary-alt-300\", \"bg-secondary-alt-200\"]\n\t\t\t\t\t: [kind && stateClasses[kind], \"bg-white\"]\n\t\t\t) }>\n\t\t\t\t<select\n\t\t\t\t\t{ ...rest }\n\t\t\t\t\tclassName=\"\n\t\t\t\t\t\tm-0\n\t\t\t\t\t\tpr-xl\n\t\t\t\t\t\tw-full\n\t\t\t\t\t\tcursor-pointer\n\t\t\t\t\t\tappearance-none\n\t\t\t\t\t\tborder-0\n\t\t\t\t\t\tbg-transparent\n\t\t\t\t\t\tleading-[20px]\n\t\t\t\t\t\tp-sm\n\t\t\t\t\t\ttext-secondary-alt\n\t\t\t\t\t\toutline-0\n\t\t\t\t\t\"\n\t\t\t\t\tdisabled={ disabled }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tonChange={ handleChange }\n\t\t\t\t>\n\t\t\t\t\t{ placeholder\n\t\t\t\t\t\t? <option value={ \"\" } disabled hidden>{ placeholder }</option>\n\t\t\t\t\t\t: null }\n\t\t\t\t\t{ children }\n\t\t\t\t</select>\n\t\t\t\t<div className=\"absolute right-sm top-1/2 -translate-y-1/2 pointer-events-none\">\n\t\t\t\t\t{ postfixIcon\n\t\t\t\t\t\t? postfixIcon\n\t\t\t\t\t\t: (<svg\n\t\t\t\t\t\t\twidth=\"16\"\n\t\t\t\t\t\t\theight=\"16\"\n\t\t\t\t\t\t\tviewBox=\"0 0 16 16\"\n\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\td=\"M13.25 6.8125L8.5 11.2812C8.34375 11.4375 8.15625 11.5 8 11.5C7.8125 11.5 7.625 11.4375 7.46875 11.3125L2.71875 6.8125C2.40625 6.53125 2.40625 6.0625 2.6875 5.75C2.96875 5.4375 3.4375 5.4375 3.75 5.71875L8 9.71875L12.2188 5.71875C12.5312 5.4375 13 5.4375 13.2812 5.75C13.5625 6.0625 13.5625 6.53125 13.25 6.8125Z\"\n\t\t\t\t\t\t\t\tfill=\"currentColor\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</svg>)\n\t\t\t\t\t}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t{ subLabel\n\t\t\t\t? (<UiTypography\n\t\t\t\t\tsize={ ETypographySizes.SM }\n\t\t\t\t\tcolor={ EColors.SECONDARY_ALT }\n\t\t\t\t\tclassName=\"mt-xxs\"\n\t\t\t\t>\n\t\t\t\t\t{ subLabel }\n\t\t\t\t</UiTypography>)\n\t\t\t\t: null\n\t\t\t}\n\n\t\t\t{ statusMessage\n\t\t\t\t? (\n\t\t\t\t\t<UiTypography\n\t\t\t\t\t\tclassName={ cx(\n\t\t\t\t\t\t\t\"transition-all duration-300 ease-in-out\",\n\t\t\t\t\t\t\t\"max-h-0 opacity-0 overflow-hidden gap-xxs mt-xxs\",\n\t\t\t\t\t\t\t\"data-[status=true]:max-h-full data-[status=true]:opacity-100\"\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tlineHeight\n\t\t\t\t\t\tcolor={\n\t\t\t\t\t\t\tkind === EInputKind.ERROR\n\t\t\t\t\t\t\t\t? EColors.ERROR\n\t\t\t\t\t\t\t\t: EColors.PRIMARY\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsize={ ETypographySizes.SM }\n\t\t\t\t\t\tdata-status={ !!statusMessage }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ statusMessage }\n\t\t\t\t\t</UiTypography>\n\t\t\t\t)\n\t\t\t\t: null }\n\t\t</div>\n\t);\n};\n"],"names":["stateClasses","EInputKind","UiSelect","children","heading","subLabel","disabled","onChange","className","placeholder","postfixIcon","statusMessage","kind","rest","value","setValue","React","handleChange","event","cx","jsx","UiTypography","ETypographySizes","jsxs","styles","EColors"],"mappings":";;;;;;;;;GAmBMA,IAAe;AAAA,EACpB,CAACC,EAAW,OAAO,GAAG;AAAA,EACtB,CAACA,EAAW,KAAK,GAAG;AAAA,EACpB,CAACA,EAAW,OAAO,GAAG;AACvB,GAEaC,IAAmC,CAAC;AAAA,EAChD,UAAAC;AAAA,EACA,SAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,aAAAC;AAAA,EACA,aAAAC;AAAA,EACA,eAAAC;AAAA,EACA,MAAAC;AAAA,EACA,GAAGC;AACJ,MAAM;AACC,QAAA,CAACC,GAAOC,CAAQ,IAAIC,EAAM,SAASH,EAAK,SAASA,EAAK,gBAAgB,EAAE,GACxEI,IAAeD,EAAM;AAAA,IAC1B,CAACE,MAAgD;AACvC,MAAAH,EAAAG,EAAM,OAAO,KAAK,GAC3BX,KAAA,QAAAA,EAAWW;AAAA,IACZ;AAAA,IACA,CAACX,CAAQ;AAAA,EACV;AACA,2BACE,OAAI,EAAA,WAAYY,EAAG,aAAaX,CAAS,GACvC,UAAA;AAAA,IACCJ,IAAA,gBAAAgB;AAAA,MAACC;AAAA,MAAA;AAAA,QACF,MAAOC,EAAiB;AAAA,QACxB,WAAU;AAAA,QACR,UAAAlB;AAAA,MAAA;AAAA,IAAA,IAED;AAAA,IAEH,gBAAAmB,EAAC,SAAI,WAAYJ;AAAA,MAAGK,EAAO;AAAA,MAC1B;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACAlB,IACG,CAAC,uBAAuB,4BAA4B,sBAAsB,IAC1E,CAACM,KAAQZ,EAAaY,CAAI,GAAG,UAAU;AAAA,IAE1C,GAAA,UAAA;AAAA,MAAA,gBAAAW;AAAA,QAAC;AAAA,QAAA;AAAA,UACE,GAAGV;AAAA,UACL,WAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAaV,UAAAP;AAAA,UACA,OAAAQ;AAAA,UACA,UAAWG;AAAA,UAET,UAAA;AAAA,YACCR,IAAA,gBAAAW,EAAC,YAAO,OAAQ,IAAK,UAAQ,IAAC,QAAM,IAAG,UAAAX,EAAA,CAAa,IACpD;AAAA,YACDN;AAAA,UAAA;AAAA,QAAA;AAAA,MACH;AAAA,MACC,gBAAAiB,EAAA,OAAA,EAAI,WAAU,kEACZ,eAEE,gBAAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACH,OAAM;AAAA,UACN,QAAO;AAAA,UACP,SAAQ;AAAA,UACR,MAAK;AAAA,UACL,OAAM;AAAA,UAEN,UAAA,gBAAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACA,GAAE;AAAA,cACF,MAAK;AAAA,YAAA;AAAA,UAAA;AAAA,QACN;AAAA,MAAA,EAGH,CAAA;AAAA,IAAA,GACD;AAAA,IACEf,IACE,gBAAAe;AAAA,MAACC;AAAA,MAAA;AAAA,QACH,MAAOC,EAAiB;AAAA,QACxB,OAAQG,EAAQ;AAAA,QAChB,WAAU;AAAA,QAER,UAAApB;AAAA,MAAA;AAAA,IAAA,IAED;AAAA,IAGDM,IAEA,gBAAAS;AAAA,MAACC;AAAA,MAAA;AAAA,QACA,WAAYF;AAAA,UACX;AAAA,UACA;AAAA,UACA;AAAA,QACD;AAAA,QACA,YAAU;AAAA,QACV,OACCP,MAASX,EAAW,QACjBwB,EAAQ,QACRA,EAAQ;AAAA,QAEZ,MAAOH,EAAiB;AAAA,QACxB,eAAc,CAAC,CAACX;AAAA,QAEd,UAAAA;AAAA,MAAA;AAAA,IAAA,IAGF;AAAA,EAAA,GACJ;AAEF;"}