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.
- package/README.md +1 -1
- package/_types/align.js.map +1 -1
- package/components/UiAccordion/UiAccordion.InfoDropdown.js.map +1 -1
- package/components/UiAccordion/UiAccordion.context.js.map +1 -1
- package/components/UiAccordion/UiAccordionItem.base.js.map +1 -1
- package/components/UiAlert/UiAlert.js.map +1 -1
- package/components/UiButton/UiButton.js +26 -28
- package/components/UiButton/UiButton.js.map +1 -1
- package/components/UiButton/_types.d.ts +2 -1
- package/components/UiButton/_types.js +1 -1
- package/components/UiButton/_types.js.map +1 -1
- package/components/UiInput/UiInput.base.js +17 -13
- package/components/UiInput/UiInput.base.js.map +1 -1
- package/components/UiInput/UiInputText.d.ts +1 -1
- package/components/UiInput/UiInputText.js +8 -9
- package/components/UiInput/UiInputText.js.map +1 -1
- package/components/UiList/UiList.js +14 -12
- package/components/UiList/UiList.js.map +1 -1
- package/components/UiList/UiListItem.d.ts +2 -0
- package/components/UiList/UiListItem.js +15 -6
- package/components/UiList/UiListItem.js.map +1 -1
- package/components/UiPills/UiPills.js.map +1 -1
- package/components/UiPills/_types.js.map +1 -1
- package/components/UiPlainRadio/UiPlainRadio.js.map +1 -1
- package/components/UiRadioFancy/UiRadioFancy.js.map +1 -1
- package/components/UiSelect/UiSelect.d.ts +3 -0
- package/components/UiSelect/UiSelect.js +77 -53
- package/components/UiSelect/UiSelect.js.map +1 -1
- package/components/UiSkeleton/UiSkeleton.js +359 -154
- package/components/UiSkeleton/UiSkeleton.js.map +1 -1
- package/components/UiSkeleton/_types.d.ts +2 -1
- package/components/UiSkeleton/_types.js +2 -2
- package/components/UiSkeleton/_types.js.map +1 -1
- package/components/UiSnackbar/UiSnackbar.js.map +1 -1
- package/components/UiStars/UiStars.js.map +1 -1
- package/components/UiTable/UiTableCell.js.map +1 -1
- package/components/UiTabs/UiTabs.js.map +1 -1
- package/components/UiToggle/UiToggle.js.map +1 -1
- package/components/UiTypography/UiTypography.js.map +1 -1
- package/eslint.config.mjs +4 -0
- 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
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import { UiTypography as
|
|
5
|
-
import { ETypographySizes as
|
|
6
|
-
import { EColors as
|
|
7
|
-
import
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
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:
|
|
16
|
-
placeholder:
|
|
17
|
-
postfixIcon:
|
|
18
|
-
|
|
20
|
+
className: R,
|
|
21
|
+
placeholder: h,
|
|
22
|
+
postfixIcon: x,
|
|
23
|
+
statusMessage: l,
|
|
24
|
+
kind: o,
|
|
25
|
+
...a
|
|
19
26
|
}) => {
|
|
20
|
-
const [
|
|
21
|
-
(
|
|
22
|
-
|
|
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__ */
|
|
27
|
-
|
|
28
|
-
|
|
33
|
+
return /* @__PURE__ */ n("div", { className: s("ui-select", R), children: [
|
|
34
|
+
m ? /* @__PURE__ */ e(
|
|
35
|
+
i,
|
|
29
36
|
{
|
|
30
|
-
size:
|
|
37
|
+
size: c.MD,
|
|
31
38
|
className: "mb-xxs",
|
|
32
|
-
children:
|
|
39
|
+
children: m
|
|
33
40
|
}
|
|
34
41
|
) : null,
|
|
35
|
-
/* @__PURE__ */
|
|
36
|
-
|
|
42
|
+
/* @__PURE__ */ n("div", { className: s(
|
|
43
|
+
E.UiSelect,
|
|
37
44
|
"relative",
|
|
38
45
|
"rounded-xl",
|
|
39
46
|
"border",
|
|
40
|
-
"hover:border-secondary-alt-
|
|
41
|
-
|
|
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__ */
|
|
50
|
+
/* @__PURE__ */ n(
|
|
44
51
|
"select",
|
|
45
52
|
{
|
|
46
|
-
...
|
|
47
|
-
className: `
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
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:
|
|
59
|
-
value:
|
|
60
|
-
onChange:
|
|
67
|
+
disabled: p,
|
|
68
|
+
value: S,
|
|
69
|
+
onChange: C,
|
|
61
70
|
children: [
|
|
62
|
-
|
|
63
|
-
|
|
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:
|
|
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
|
-
|
|
86
|
-
|
|
94
|
+
u ? /* @__PURE__ */ e(
|
|
95
|
+
i,
|
|
87
96
|
{
|
|
88
|
-
size:
|
|
89
|
-
color:
|
|
97
|
+
size: c.SM,
|
|
98
|
+
color: d.SECONDARY_ALT,
|
|
90
99
|
className: "mt-xxs",
|
|
91
|
-
children:
|
|
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
|
-
|
|
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
|
|
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;"}
|