snapflow-ui-kit 1.2.2 → 1.2.4

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.
@@ -0,0 +1,179 @@
1
+ import { jsxs as o, jsx as a, Fragment as $ } from "react/jsx-runtime";
2
+ import v, { clsx as _ } from "clsx";
3
+ import { C as g } from "./CloseIcon-CqK3tPnG.js";
4
+ import { forwardRef as k, useId as S } from "react";
5
+ const C = "_alert_5jfpm_1", B = "_content_5jfpm_15", E = "_error_5jfpm_22", I = "_success_5jfpm_28", T = "_closeButton_5jfpm_33", z = "_message_5jfpm_39", O = "_title_5jfpm_40", W = "_toastEnter_5jfpm_50", R = "_toastExit_5jfpm_54", i = {
6
+ alert: C,
7
+ content: B,
8
+ error: E,
9
+ success: I,
10
+ closeButton: T,
11
+ message: z,
12
+ title: O,
13
+ toastEnter: W,
14
+ "fade-in": "_fade-in_5jfpm_1",
15
+ toastExit: R,
16
+ "fade-out": "_fade-out_5jfpm_1"
17
+ }, gt = ({
18
+ variant: s = "error",
19
+ title: t,
20
+ message: n,
21
+ className: c,
22
+ onClose: e
23
+ }) => /* @__PURE__ */ o("div", { className: v(i.alert, i[s], c), role: "alert", children: [
24
+ /* @__PURE__ */ o("div", { className: i.content, children: [
25
+ t && /* @__PURE__ */ a("div", { className: i.title, children: t }),
26
+ /* @__PURE__ */ a("div", { className: i.message, children: n })
27
+ ] }),
28
+ e && /* @__PURE__ */ a("button", { type: "button", className: i.closeButton, onClick: e, "aria-label": "Close alert", children: /* @__PURE__ */ a(g, {}) })
29
+ ] }), A = "_button_19cd4_1", F = "_primary_19cd4_26", L = "_secondary_19cd4_49", w = "_outlined_19cd4_72", P = "_text_19cd4_98", D = "_icon_19cd4_118", x = {
30
+ button: A,
31
+ primary: F,
32
+ secondary: L,
33
+ outlined: w,
34
+ text: P,
35
+ icon: D
36
+ }, kt = (s) => {
37
+ const { as: t = "button", className: n, variant: c = "primary", icon: e, ...l } = s, r = _(x.button, x[c], n), { children: u, ...b } = l;
38
+ return /* @__PURE__ */ o(t, { className: r, ...b, children: [
39
+ e && /* @__PURE__ */ a("span", { className: x.icon, children: e }),
40
+ u
41
+ ] });
42
+ }, G = "_card_1ah7i_1", H = {
43
+ card: G
44
+ }, St = ({ className: s, children: t, ...n }) => /* @__PURE__ */ a("div", { className: _(H.card, s), ...n, children: t }), J = "_checkbox_1q28z_1", K = "_input_1q28z_11", M = "_labelSpan_1q28z_16", Q = "_control_1q28z_23", m = {
45
+ checkbox: J,
46
+ input: K,
47
+ labelSpan: M,
48
+ control: Q
49
+ }, Ct = ({ children: s, className: t, checked: n, onChange: c, ...e }) => /* @__PURE__ */ o("label", { className: _(m.checkbox, t), children: [
50
+ /* @__PURE__ */ a("input", { type: "checkbox", className: m.input, checked: n, onChange: c, ...e }),
51
+ /* @__PURE__ */ a("span", { className: m.control }),
52
+ s && /* @__PURE__ */ a("span", { className: m.labelSpan, children: s })
53
+ ] }), U = "_typography_18u05_1", V = "_icon_18u05_8", X = "_large_18u05_14", Y = "_h1_18u05_20", Z = "_h2_18u05_26", tt = "_h3_18u05_32", et = "_small_18u05_68", st = "_link_18u05_80", y = {
54
+ typography: U,
55
+ icon: V,
56
+ large: X,
57
+ h1: Y,
58
+ h2: Z,
59
+ h3: tt,
60
+ "text-16": "_text-16_18u05_38",
61
+ "text-16-bold": "_text-16-bold_18u05_44",
62
+ "text-14": "_text-14_18u05_50",
63
+ "text-14-bold": "_text-14-bold_18u05_56",
64
+ "text-14-medium": "_text-14-medium_18u05_62",
65
+ small: et,
66
+ "small-semibold": "_small-semibold_18u05_74",
67
+ link: st,
68
+ "small-link": "_small-link_18u05_89"
69
+ }, at = (s) => {
70
+ const { as: t = "span", children: n, className: c, icon: e, variant: l, ...r } = s;
71
+ return /* @__PURE__ */ o(t, { className: _(y.typography, y[l], c), ...r, children: [
72
+ e && /* @__PURE__ */ a("span", { className: y.icon, children: e }),
73
+ n
74
+ ] });
75
+ }, nt = "_label_ndvr9_1", ct = "_required_ndvr9_5", rt = "_srOnly_ndvr9_10", N = {
76
+ label: nt,
77
+ required: ct,
78
+ srOnly: rt
79
+ }, Bt = ({
80
+ text: s,
81
+ textVariant: t = "text-14-medium",
82
+ required: n = !1,
83
+ color: c,
84
+ className: e,
85
+ htmlFor: l,
86
+ ...r
87
+ }) => /* @__PURE__ */ o(
88
+ at,
89
+ {
90
+ as: "label",
91
+ variant: t,
92
+ className: v(N.label, e),
93
+ htmlFor: l,
94
+ style: c ? { color: c } : void 0,
95
+ ...r,
96
+ children: [
97
+ s,
98
+ n && /* @__PURE__ */ o($, { children: [
99
+ /* @__PURE__ */ a("span", { className: N.required, "aria-hidden": "true", children: "*" }),
100
+ /* @__PURE__ */ a("span", { className: N.srOnly, children: " (required)" })
101
+ ] })
102
+ ]
103
+ }
104
+ ), ot = "_radio_10hqy_1", lt = "_input_10hqy_12", _t = "_labelSpan_10hqy_18", dt = "_control_10hqy_26", p = {
105
+ radio: ot,
106
+ input: lt,
107
+ labelSpan: _t,
108
+ control: dt
109
+ }, Et = ({ children: s, className: t, checked: n, onChange: c, ...e }) => /* @__PURE__ */ o("label", { className: _(p.radio, t), children: [
110
+ /* @__PURE__ */ a("input", { type: "radio", className: p.input, checked: n, onChange: c, ...e }),
111
+ /* @__PURE__ */ a("span", { className: p.control }),
112
+ s && /* @__PURE__ */ a("span", { className: p.labelSpan, children: s })
113
+ ] }), it = "_tab_78cv0_1", mt = "_selected_78cv0_21", f = {
114
+ tab: it,
115
+ selected: mt
116
+ }, It = (s) => {
117
+ const { children: t, selected: n = !1, className: c, disabled: e = !1, ...l } = s, r = _(f.tab, n && f.selected, e && f.disabled, c);
118
+ return /* @__PURE__ */ a(
119
+ "button",
120
+ {
121
+ type: "button",
122
+ role: "tab",
123
+ className: r,
124
+ disabled: e,
125
+ tabIndex: e ? -1 : 0,
126
+ "aria-selected": n,
127
+ "aria-disabled": e,
128
+ ...l,
129
+ children: t
130
+ }
131
+ );
132
+ }, pt = "_textareaWrapper_jdpdm_1", ut = "_label_jdpdm_7", bt = "_disabled_jdpdm_14", ht = "_textarea_jdpdm_1", xt = "_errorState_jdpdm_50", yt = "_errorMessage_jdpdm_56", Nt = "_required_jdpdm_63", d = {
133
+ textareaWrapper: pt,
134
+ label: ut,
135
+ disabled: bt,
136
+ textarea: ht,
137
+ errorState: xt,
138
+ errorMessage: yt,
139
+ required: Nt
140
+ }, ft = k(
141
+ ({ label: s, errorMessage: t, id: n, className: c, disabled: e, minHeight: l = 84, required: r, ...u }, b) => {
142
+ const q = S(), h = n ?? q, j = t ? `${h}-error` : void 0;
143
+ return /* @__PURE__ */ o("div", { className: _(d.textareaWrapper, c), children: [
144
+ s && /* @__PURE__ */ o("label", { htmlFor: h, className: _(d.label, { [d.disabled]: e }), children: [
145
+ s,
146
+ r && /* @__PURE__ */ a("sup", { className: d.required, children: " *" })
147
+ ] }),
148
+ /* @__PURE__ */ a(
149
+ "textarea",
150
+ {
151
+ ref: b,
152
+ id: h,
153
+ className: _(d.textarea, { [d.errorState]: !!t }),
154
+ "aria-invalid": !!t,
155
+ "aria-describedby": j,
156
+ required: r,
157
+ disabled: e,
158
+ style: { minHeight: l },
159
+ ...u
160
+ }
161
+ ),
162
+ t && /* @__PURE__ */ a("span", { id: j, role: "alert", className: d.errorMessage, children: t })
163
+ ] });
164
+ }
165
+ );
166
+ ft.displayName = "Textarea";
167
+ export {
168
+ gt as A,
169
+ kt as B,
170
+ St as C,
171
+ Bt as L,
172
+ Et as R,
173
+ It as T,
174
+ Ct as a,
175
+ ft as b,
176
+ at as c,
177
+ i as s
178
+ };
179
+ //# sourceMappingURL=Textarea-6m6FiIv5.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Textarea-D5WrCGtg.js","sources":["../src/components/Alert/Alert.tsx","../src/components/Button/Button.tsx","../src/components/Card/Card.tsx","../src/components/Checkbox/Checkbox.tsx","../src/components/Typography/Typography.tsx","../src/components/Label/Label.tsx","../src/components/Radio/Radio.tsx","../src/components/Tab/Tab.tsx","../src/components/Textarea/Textarea.tsx"],"sourcesContent":["import { FC } from 'react'\nimport clsx from 'clsx'\n\nimport s from './Alert.module.css'\nimport { CloseIcon } from '@/icons'\nimport type { AlertProps } from './Alert.types'\n\nexport const Alert: FC<AlertProps> = ({\n variant = 'error',\n title,\n message,\n className,\n onClose,\n}) => {\n return (\n <div className={clsx(s.alert, s[variant], className)} role=\"alert\">\n <div className={s.content}>\n {title && <div className={s.title}>{title}</div>}\n <div className={s.message}>{message}</div>\n </div>\n\n {onClose && (\n <button type=\"button\" className={s.closeButton} onClick={onClose} aria-label=\"Close alert\">\n <CloseIcon />\n </button>\n )}\n </div>\n )\n}\n","import { ElementType } from 'react'\n\nimport { clsx } from 'clsx'\n\nimport s from './Button.module.css'\nimport { ButtonProps } from './Button.types'\n\nexport const Button = <T extends ElementType = 'button'>(props: ButtonProps<T>) => {\n const { as: Component = 'button', className, variant = 'primary', icon, ...rest } = props\n const classes = clsx(s.button, s[variant], className)\n const { children, ...componentProps } = rest\n\n return (\n <Component className={classes} {...componentProps}>\n {icon && <span className={s.icon}>{icon}</span>}\n {children}\n </Component>\n )\n}\n","import { clsx } from 'clsx'\n\nimport s from './Card.module.css'\nimport { CardProps } from './Card.types'\n\nexport const Card = ({ className, children, ...rest }: CardProps) => {\n return (\n <div className={clsx(s.card, className)} {...rest}>\n {children}\n </div>\n )\n}\n","import { clsx } from 'clsx'\nimport s from './Checkbox.module.css'\nimport { CheckboxProps } from './Checkbox.types'\n\nexport const Checkbox = ({ children, className, checked, onChange, ...rest }: CheckboxProps) => {\n return (\n <label className={clsx(s.checkbox, className)}>\n <input type=\"checkbox\" className={s.input} checked={checked} onChange={onChange} {...rest} />\n\n <span className={s.control} />\n {children && <span className={s.labelSpan}>{children}</span>}\n </label>\n )\n}\n","import { ElementType } from 'react'\n\nimport { clsx } from 'clsx'\n\nimport s from './Typography.module.css'\nimport { TypographyProps } from './Typography.types'\n\nexport const Typography = <T extends ElementType = 'span'>(props: TypographyProps<T>) => {\n const { as: Component = 'span', children, className, icon, variant, ...rest } = props\n\n return (\n <Component className={clsx(s.typography, s[variant], className)} {...rest}>\n {icon && <span className={s.icon}>{icon}</span>}\n {children}\n </Component>\n )\n}\n","import clsx from 'clsx'\nimport { Typography } from '../Typography'\nimport s from './Label.module.css'\nimport { LabelProps } from './Label.types'\n\nexport const Label = ({\n text,\n textVariant = 'text-14-medium',\n required = false,\n color,\n className,\n htmlFor,\n ...rest\n}: LabelProps) => {\n return (\n <Typography\n as=\"label\"\n variant={textVariant}\n className={clsx(s.label, className)}\n htmlFor={htmlFor}\n style={color ? { color } : undefined}\n {...rest}\n >\n {text}\n {required && (\n <>\n <span className={s.required} aria-hidden=\"true\">\n *\n </span>\n <span className={s.srOnly}> (required)</span>\n </>\n )}\n </Typography>\n )\n}\n","import { clsx } from 'clsx'\nimport s from './Radio.module.css'\nimport { RadioProps } from './Radio.types'\n\nexport const Radio = ({ children, className, checked, onChange, ...rest }: RadioProps) => {\n return (\n <label className={clsx(s.radio, className)}>\n <input type=\"radio\" className={s.input} checked={checked} onChange={onChange} {...rest} />\n\n <span className={s.control} />\n {children && <span className={s.labelSpan}>{children}</span>}\n </label>\n )\n}\n","import { clsx } from 'clsx'\n\nimport s from './Tab.module.css'\nimport type { TabProps } from './Tab.types'\n\nexport const Tab = (props: TabProps) => {\n const { children, selected = false, className, disabled = false, ...rest } = props\n\n const tabClasses = clsx(s.tab, selected && s.selected, disabled && s.disabled, className)\n\n return (\n <button\n type=\"button\"\n role=\"tab\"\n className={tabClasses}\n disabled={disabled}\n tabIndex={disabled ? -1 : 0}\n aria-selected={selected}\n aria-disabled={disabled}\n {...rest}\n >\n {children}\n </button>\n )\n}\n","'use client'\n\nimport { forwardRef, useId } from 'react'\nimport { clsx } from 'clsx'\n\nimport s from './Textarea.module.css'\nimport type { TextareaProps } from './Textarea.types'\n\nexport const Textarea = forwardRef<HTMLTextAreaElement, TextareaProps>(\n ({ label, errorMessage, id, className, disabled, minHeight = 84, required, ...rest }, ref) => {\n const generatedId = useId()\n const textareaId = id ?? generatedId\n const errorId = errorMessage ? `${textareaId}-error` : undefined\n\n return (\n <div className={clsx(s.textareaWrapper, className)}>\n {label && (\n <label htmlFor={textareaId} className={clsx(s.label, { [s.disabled]: disabled })}>\n {label}\n {required && <sup className={s.required}> *</sup>}\n </label>\n )}\n\n <textarea\n ref={ref}\n id={textareaId}\n className={clsx(s.textarea, { [s.errorState]: !!errorMessage })}\n aria-invalid={!!errorMessage}\n aria-describedby={errorId}\n required={required}\n disabled={disabled}\n style={{ minHeight }}\n {...rest}\n />\n\n {errorMessage && (\n <span id={errorId} role=\"alert\" className={s.errorMessage}>\n {errorMessage}\n </span>\n )}\n </div>\n )\n },\n)\n\nTextarea.displayName = 'Textarea'\n"],"names":["Alert","variant","title","message","className","onClose","jsxs","clsx","s","jsx","CloseIcon","Button","props","Component","icon","rest","classes","children","componentProps","Card","Checkbox","checked","onChange","Typography","Label","text","textVariant","required","color","htmlFor","Fragment","Radio","Tab","selected","disabled","tabClasses","Textarea","forwardRef","label","errorMessage","id","minHeight","ref","generatedId","useId","textareaId","errorId"],"mappings":";;;;;;;;;;;;;;;;GAOaA,KAAwB,CAAC;AAAA,EACpC,SAAAC,IAAU;AAAA,EACV,OAAAC;AAAA,EACA,SAAAC;AAAA,EACA,WAAAC;AAAA,EACA,SAAAC;AACF,MAEI,gBAAAC,EAAC,OAAA,EAAI,WAAWC,EAAKC,EAAE,OAAOA,EAAEP,CAAO,GAAGG,CAAS,GAAG,MAAK,SACzD,UAAA;AAAA,EAAA,gBAAAE,EAAC,OAAA,EAAI,WAAWE,EAAE,SACf,UAAA;AAAA,IAAAN,KAAS,gBAAAO,EAAC,OAAA,EAAI,WAAWD,EAAE,OAAQ,UAAAN,GAAM;AAAA,IAC1C,gBAAAO,EAAC,OAAA,EAAI,WAAWD,EAAE,SAAU,UAAAL,EAAA,CAAQ;AAAA,EAAA,GACtC;AAAA,EAECE,KACC,gBAAAI,EAAC,UAAA,EAAO,MAAK,UAAS,WAAWD,EAAE,aAAa,SAASH,GAAS,cAAW,eAC3E,UAAA,gBAAAI,EAACC,KAAU,EAAA,CACb;AAAA,GAEJ;;;;;;;GCnBSC,KAAS,CAAmCC,MAA0B;AACjF,QAAM,EAAE,IAAIC,IAAY,UAAU,WAAAT,GAAW,SAAAH,IAAU,WAAW,MAAAa,GAAM,GAAGC,EAAA,IAASH,GAC9EI,IAAUT,EAAKC,EAAE,QAAQA,EAAEP,CAAO,GAAGG,CAAS,GAC9C,EAAE,UAAAa,GAAU,GAAGC,EAAA,IAAmBH;AAExC,SACE,gBAAAT,EAACO,GAAA,EAAU,WAAWG,GAAU,GAAGE,GAChC,UAAA;AAAA,IAAAJ,KAAQ,gBAAAL,EAAC,QAAA,EAAK,WAAWD,EAAE,MAAO,UAAAM,GAAK;AAAA,IACvCG;AAAA,EAAA,GACH;AAEJ;;GCbaE,KAAO,CAAC,EAAE,WAAAf,GAAW,UAAAa,GAAU,GAAGF,QAE3C,gBAAAN,EAAC,OAAA,EAAI,WAAWF,EAAKC,EAAE,MAAMJ,CAAS,GAAI,GAAGW,GAC1C,UAAAE,EAAA,CACH;;;;;GCLSG,KAAW,CAAC,EAAE,UAAAH,GAAU,WAAAb,GAAW,SAAAiB,GAAS,UAAAC,GAAU,GAAGP,0BAEjE,SAAA,EAAM,WAAWR,EAAKC,EAAE,UAAUJ,CAAS,GAC1C,UAAA;AAAA,EAAA,gBAAAK,EAAC,SAAA,EAAM,MAAK,YAAW,WAAWD,EAAE,OAAO,SAAAa,GAAkB,UAAAC,GAAqB,GAAGP,EAAA,CAAM;AAAA,EAE3F,gBAAAN,EAAC,QAAA,EAAK,WAAWD,EAAE,QAAA,CAAS;AAAA,EAC3BS,KAAY,gBAAAR,EAAC,QAAA,EAAK,WAAWD,EAAE,WAAY,UAAAS,EAAA,CAAS;AAAA,GACvD;;;;;;;;;;;;;;;;GCJSM,KAAa,CAAiCX,MAA8B;AACvF,QAAM,EAAE,IAAIC,IAAY,QAAQ,UAAAI,GAAU,WAAAb,GAAW,MAAAU,GAAM,SAAAb,GAAS,GAAGc,EAAA,IAASH;AAEhF,SACE,gBAAAN,EAACO,GAAA,EAAU,WAAWN,EAAKC,EAAE,YAAYA,EAAEP,CAAO,GAAGG,CAAS,GAAI,GAAGW,GAClE,UAAA;AAAA,IAAAD,KAAQ,gBAAAL,EAAC,QAAA,EAAK,WAAWD,EAAE,MAAO,UAAAM,GAAK;AAAA,IACvCG;AAAA,EAAA,GACH;AAEJ;;;;GCXaO,KAAQ,CAAC;AAAA,EACpB,MAAAC;AAAA,EACA,aAAAC,IAAc;AAAA,EACd,UAAAC,IAAW;AAAA,EACX,OAAAC;AAAA,EACA,WAAAxB;AAAA,EACA,SAAAyB;AAAA,EACA,GAAGd;AACL,MAEI,gBAAAT;AAAA,EAACiB;AAAA,EAAA;AAAA,IACC,IAAG;AAAA,IACH,SAASG;AAAA,IACT,WAAWnB,EAAKC,EAAE,OAAOJ,CAAS;AAAA,IAClC,SAAAyB;AAAA,IACA,OAAOD,IAAQ,EAAE,OAAAA,EAAA,IAAU;AAAA,IAC1B,GAAGb;AAAA,IAEH,UAAA;AAAA,MAAAU;AAAA,MACAE,KACC,gBAAArB,EAAAwB,GAAA,EACE,UAAA;AAAA,QAAA,gBAAArB,EAAC,UAAK,WAAWD,EAAE,UAAU,eAAY,QAAO,UAAA,KAEhD;AAAA,QACA,gBAAAC,EAAC,QAAA,EAAK,WAAWD,EAAE,QAAQ,UAAA,cAAA,CAAW;AAAA,MAAA,EAAA,CACxC;AAAA,IAAA;AAAA,EAAA;AAAA;;;;;GC1BKuB,KAAQ,CAAC,EAAE,UAAAd,GAAU,WAAAb,GAAW,SAAAiB,GAAS,UAAAC,GAAU,GAAGP,0BAE9D,SAAA,EAAM,WAAWR,EAAKC,EAAE,OAAOJ,CAAS,GACvC,UAAA;AAAA,EAAA,gBAAAK,EAAC,SAAA,EAAM,MAAK,SAAQ,WAAWD,EAAE,OAAO,SAAAa,GAAkB,UAAAC,GAAqB,GAAGP,EAAA,CAAM;AAAA,EAExF,gBAAAN,EAAC,QAAA,EAAK,WAAWD,EAAE,QAAA,CAAS;AAAA,EAC3BS,KAAY,gBAAAR,EAAC,QAAA,EAAK,WAAWD,EAAE,WAAY,UAAAS,EAAA,CAAS;AAAA,GACvD;;;GCNSe,KAAM,CAACpB,MAAoB;AACtC,QAAM,EAAE,UAAAK,GAAU,UAAAgB,IAAW,IAAO,WAAA7B,GAAW,UAAA8B,IAAW,IAAO,GAAGnB,EAAA,IAASH,GAEvEuB,IAAa5B,EAAKC,EAAE,KAAKyB,KAAYzB,EAAE,UAAU0B,KAAY1B,EAAE,UAAUJ,CAAS;AAExF,SACE,gBAAAK;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,MAAK;AAAA,MACL,WAAW0B;AAAA,MACX,UAAAD;AAAA,MACA,UAAUA,IAAW,KAAK;AAAA,MAC1B,iBAAeD;AAAA,MACf,iBAAeC;AAAA,MACd,GAAGnB;AAAA,MAEH,UAAAE;AAAA,IAAA;AAAA,EAAA;AAGP;;;;;;;;GChBamB,KAAWC;AAAA,EACtB,CAAC,EAAE,OAAAC,GAAO,cAAAC,GAAc,IAAAC,GAAI,WAAApC,GAAW,UAAA8B,GAAU,WAAAO,IAAY,IAAI,UAAAd,GAAU,GAAGZ,EAAA,GAAQ2B,MAAQ;AAC5F,UAAMC,IAAcC,EAAA,GACdC,IAAaL,KAAMG,GACnBG,IAAUP,IAAe,GAAGM,CAAU,WAAW;AAEvD,6BACG,OAAA,EAAI,WAAWtC,EAAKC,EAAE,iBAAiBJ,CAAS,GAC9C,UAAA;AAAA,MAAAkC,KACC,gBAAAhC,EAAC,SAAA,EAAM,SAASuC,GAAY,WAAWtC,EAAKC,EAAE,OAAO,EAAE,CAACA,EAAE,QAAQ,GAAG0B,EAAA,CAAU,GAC5E,UAAA;AAAA,QAAAI;AAAA,QACAX,KAAY,gBAAAlB,EAAC,OAAA,EAAI,WAAWD,EAAE,UAAU,UAAA,KAAA,CAAE;AAAA,MAAA,GAC7C;AAAA,MAGF,gBAAAC;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,KAAAiC;AAAA,UACA,IAAIG;AAAA,UACJ,WAAWtC,EAAKC,EAAE,UAAU,EAAE,CAACA,EAAE,UAAU,GAAG,CAAC,CAAC+B,GAAc;AAAA,UAC9D,gBAAc,CAAC,CAACA;AAAA,UAChB,oBAAkBO;AAAA,UAClB,UAAAnB;AAAA,UACA,UAAAO;AAAA,UACA,OAAO,EAAE,WAAAO,EAAA;AAAA,UACR,GAAG1B;AAAA,QAAA;AAAA,MAAA;AAAA,MAGLwB,KACC,gBAAA9B,EAAC,QAAA,EAAK,IAAIqC,GAAS,MAAK,SAAQ,WAAWtC,EAAE,cAC1C,UAAA+B,EAAA,CACH;AAAA,IAAA,GAEJ;AAAA,EAEJ;AACF;AAEAH,GAAS,cAAc;"}
1
+ {"version":3,"file":"Textarea-6m6FiIv5.js","sources":["../src/components/Alert/Alert.tsx","../src/components/Button/Button.tsx","../src/components/Card/Card.tsx","../src/components/Checkbox/Checkbox.tsx","../src/components/Typography/Typography.tsx","../src/components/Label/Label.tsx","../src/components/Radio/Radio.tsx","../src/components/Tab/Tab.tsx","../src/components/Textarea/Textarea.tsx"],"sourcesContent":["import { FC } from 'react'\nimport clsx from 'clsx'\n\nimport s from './Alert.module.css'\nimport { CloseIcon } from '@/icons'\nimport type { AlertProps } from './Alert.types'\n\nexport const Alert: FC<AlertProps> = ({\n variant = 'error',\n title,\n message,\n className,\n onClose,\n}) => {\n return (\n <div className={clsx(s.alert, s[variant], className)} role=\"alert\">\n <div className={s.content}>\n {title && <div className={s.title}>{title}</div>}\n <div className={s.message}>{message}</div>\n </div>\n\n {onClose && (\n <button type=\"button\" className={s.closeButton} onClick={onClose} aria-label=\"Close alert\">\n <CloseIcon />\n </button>\n )}\n </div>\n )\n}\n","import { ElementType } from 'react'\n\nimport { clsx } from 'clsx'\n\nimport s from './Button.module.css'\nimport { ButtonProps } from './Button.types'\n\nexport const Button = <T extends ElementType = 'button'>(props: ButtonProps<T>) => {\n const { as: Component = 'button', className, variant = 'primary', icon, ...rest } = props\n const classes = clsx(s.button, s[variant], className)\n const { children, ...componentProps } = rest\n\n return (\n <Component className={classes} {...componentProps}>\n {icon && <span className={s.icon}>{icon}</span>}\n {children}\n </Component>\n )\n}\n","import { clsx } from 'clsx'\n\nimport s from './Card.module.css'\nimport { CardProps } from './Card.types'\n\nexport const Card = ({ className, children, ...rest }: CardProps) => {\n return (\n <div className={clsx(s.card, className)} {...rest}>\n {children}\n </div>\n )\n}\n","import { clsx } from 'clsx'\nimport s from './Checkbox.module.css'\nimport { CheckboxProps } from './Checkbox.types'\n\nexport const Checkbox = ({ children, className, checked, onChange, ...rest }: CheckboxProps) => {\n return (\n <label className={clsx(s.checkbox, className)}>\n <input type=\"checkbox\" className={s.input} checked={checked} onChange={onChange} {...rest} />\n\n <span className={s.control} />\n {children && <span className={s.labelSpan}>{children}</span>}\n </label>\n )\n}\n","import { ElementType } from 'react'\n\nimport { clsx } from 'clsx'\n\nimport s from './Typography.module.css'\nimport { TypographyProps } from './Typography.types'\n\nexport const Typography = <T extends ElementType = 'span'>(props: TypographyProps<T>) => {\n const { as: Component = 'span', children, className, icon, variant, ...rest } = props\n\n return (\n <Component className={clsx(s.typography, s[variant], className)} {...rest}>\n {icon && <span className={s.icon}>{icon}</span>}\n {children}\n </Component>\n )\n}\n","import clsx from 'clsx'\nimport { Typography } from '../Typography'\nimport s from './Label.module.css'\nimport { LabelProps } from './Label.types'\n\nexport const Label = ({\n text,\n textVariant = 'text-14-medium',\n required = false,\n color,\n className,\n htmlFor,\n ...rest\n}: LabelProps) => {\n return (\n <Typography\n as=\"label\"\n variant={textVariant}\n className={clsx(s.label, className)}\n htmlFor={htmlFor}\n style={color ? { color } : undefined}\n {...rest}\n >\n {text}\n {required && (\n <>\n <span className={s.required} aria-hidden=\"true\">\n *\n </span>\n <span className={s.srOnly}> (required)</span>\n </>\n )}\n </Typography>\n )\n}\n","import { clsx } from 'clsx'\nimport s from './Radio.module.css'\nimport { RadioProps } from './Radio.types'\n\nexport const Radio = ({ children, className, checked, onChange, ...rest }: RadioProps) => {\n return (\n <label className={clsx(s.radio, className)}>\n <input type=\"radio\" className={s.input} checked={checked} onChange={onChange} {...rest} />\n\n <span className={s.control} />\n {children && <span className={s.labelSpan}>{children}</span>}\n </label>\n )\n}\n","import { clsx } from 'clsx'\n\nimport s from './Tab.module.css'\nimport type { TabProps } from './Tab.types'\n\nexport const Tab = (props: TabProps) => {\n const { children, selected = false, className, disabled = false, ...rest } = props\n\n const tabClasses = clsx(s.tab, selected && s.selected, disabled && s.disabled, className)\n\n return (\n <button\n type=\"button\"\n role=\"tab\"\n className={tabClasses}\n disabled={disabled}\n tabIndex={disabled ? -1 : 0}\n aria-selected={selected}\n aria-disabled={disabled}\n {...rest}\n >\n {children}\n </button>\n )\n}\n","'use client'\n\nimport { forwardRef, useId } from 'react'\nimport { clsx } from 'clsx'\n\nimport s from './Textarea.module.css'\nimport type { TextareaProps } from './Textarea.types'\n\nexport const Textarea = forwardRef<HTMLTextAreaElement, TextareaProps>(\n ({ label, errorMessage, id, className, disabled, minHeight = 84, required, ...rest }, ref) => {\n const generatedId = useId()\n const textareaId = id ?? generatedId\n const errorId = errorMessage ? `${textareaId}-error` : undefined\n\n return (\n <div className={clsx(s.textareaWrapper, className)}>\n {label && (\n <label htmlFor={textareaId} className={clsx(s.label, { [s.disabled]: disabled })}>\n {label}\n {required && <sup className={s.required}> *</sup>}\n </label>\n )}\n\n <textarea\n ref={ref}\n id={textareaId}\n className={clsx(s.textarea, { [s.errorState]: !!errorMessage })}\n aria-invalid={!!errorMessage}\n aria-describedby={errorId}\n required={required}\n disabled={disabled}\n style={{ minHeight }}\n {...rest}\n />\n\n {errorMessage && (\n <span id={errorId} role=\"alert\" className={s.errorMessage}>\n {errorMessage}\n </span>\n )}\n </div>\n )\n },\n)\n\nTextarea.displayName = 'Textarea'\n"],"names":["Alert","variant","title","message","className","onClose","jsxs","clsx","s","jsx","CloseIcon","Button","props","Component","icon","rest","classes","children","componentProps","Card","Checkbox","checked","onChange","Typography","Label","text","textVariant","required","color","htmlFor","Fragment","Radio","Tab","selected","disabled","tabClasses","Textarea","forwardRef","label","errorMessage","id","minHeight","ref","generatedId","useId","textareaId","errorId"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  import 'simplebar-react/dist/simplebar.min.css';
2
- import { SelectProps } from './';
2
+ import { SelectProps } from './Select.types';
3
3
  export declare const Select: (props: SelectProps) => import("react/jsx-runtime").JSX.Element;
@@ -8,8 +8,11 @@ export type SelectProps = {
8
8
  className?: string;
9
9
  disabled?: boolean;
10
10
  label?: string;
11
+ noOptionsText?: string;
11
12
  onChange?: (value: string) => void;
12
13
  options: SelectOption[];
13
14
  placeholder?: string;
15
+ searchPlaceholder?: string;
16
+ searchable?: boolean;
14
17
  value?: string;
15
18
  };
@@ -0,0 +1,15 @@
1
+ import { RefObject } from 'react';
2
+ import { SelectOption } from './Select.types';
3
+ type SelectDropdownContentProps = {
4
+ filteredOptions: SelectOption[];
5
+ noOptionsText: string;
6
+ onSearchChange: (value: string) => void;
7
+ onSelect: (optionValue: string) => void;
8
+ searchInputRef: RefObject<HTMLInputElement | null>;
9
+ searchPlaceholder: string;
10
+ searchQuery: string;
11
+ searchable: boolean;
12
+ value?: string;
13
+ };
14
+ export declare const SelectDropdownContent: ({ filteredOptions, noOptionsText, onSearchChange, onSelect, searchInputRef, searchPlaceholder, searchQuery, searchable, value, }: SelectDropdownContentProps) => import("react/jsx-runtime").JSX.Element;
15
+ export {};
@@ -0,0 +1 @@
1
+ export declare const useDebouncedValue: <T>(value: T, delayMs: number) => T;