@solibo/solibo-ui 0.4.12 → 0.5.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.
- package/README.md +1 -1
- package/dist/assets/index.css +1 -1
- package/dist/assets/index10.css +1 -1
- package/dist/assets/index11.css +1 -1
- package/dist/assets/index12.css +1 -1
- package/dist/assets/index13.css +1 -1
- package/dist/assets/index14.css +1 -1
- package/dist/assets/index15.css +1 -1
- package/dist/assets/index16.css +1 -1
- package/dist/assets/index17.css +1 -1
- package/dist/assets/index18.css +1 -1
- package/dist/assets/index19.css +1 -1
- package/dist/assets/index2.css +1 -1
- package/dist/assets/index20.css +1 -1
- package/dist/assets/index21.css +1 -1
- package/dist/assets/index22.css +1 -1
- package/dist/assets/index23.css +1 -1
- package/dist/assets/index24.css +1 -1
- package/dist/assets/index25.css +1 -1
- package/dist/assets/index26.css +1 -1
- package/dist/assets/index27.css +1 -1
- package/dist/assets/index29.css +1 -1
- package/dist/assets/index3.css +1 -1
- package/dist/assets/index31.css +1 -1
- package/dist/assets/index32.css +1 -1
- package/dist/assets/index33.css +1 -1
- package/dist/assets/index34.css +1 -1
- package/dist/assets/index35.css +1 -1
- package/dist/assets/index36.css +1 -1
- package/dist/assets/index37.css +1 -1
- package/dist/assets/index38.css +1 -1
- package/dist/assets/index39.css +1 -1
- package/dist/assets/index40.css +1 -1
- package/dist/assets/index41.css +1 -1
- package/dist/assets/index42.css +1 -1
- package/dist/assets/index43.css +1 -1
- package/dist/assets/index44.css +1 -1
- package/dist/assets/index5.css +1 -1
- package/dist/assets/index6.css +1 -1
- package/dist/assets/index7.css +0 -1
- package/dist/assets/index8.css +1 -0
- package/dist/assets/index9.css +1 -1
- package/dist/assets/styles.css +1 -1
- package/dist/components/_avatar/index.cjs +1 -1
- package/dist/components/_avatar/index.cjs.map +1 -1
- package/dist/components/_avatar/index.js +9 -9
- package/dist/components/_avatar/index.js.map +1 -1
- package/dist/components/_card/index.cjs +1 -1
- package/dist/components/_card/index.js +12 -12
- package/dist/components/_collapsible/index.cjs +1 -1
- package/dist/components/_collapsible/index.js +1 -1
- package/dist/components/_croppable/index.cjs +1 -1
- package/dist/components/_croppable/index.js +175 -175
- package/dist/components/_dropdown/index.cjs +1 -1
- package/dist/components/_dropdown/index.cjs.map +1 -1
- package/dist/components/_dropdown/index.js +87 -87
- package/dist/components/_dropdown/index.js.map +1 -1
- package/dist/components/_dropzone/index.cjs +1 -1
- package/dist/components/_dropzone/index.js +34 -34
- package/dist/components/_editor/index.cjs +16 -16
- package/dist/components/_editor/index.cjs.map +1 -1
- package/dist/components/_editor/index.js +19 -19
- package/dist/components/_editor/index.js.map +1 -1
- package/dist/components/_messages/index.cjs +1 -1
- package/dist/components/_messages/index.cjs.map +1 -1
- package/dist/components/_messages/index.js +15 -15
- package/dist/components/_messages/index.js.map +1 -1
- package/dist/components/_portal/index.cjs +1 -1
- package/dist/components/_portal/index.cjs.map +1 -1
- package/dist/components/_portal/index.js +17 -16
- package/dist/components/_portal/index.js.map +1 -1
- package/dist/components/_sortable/index.cjs +1 -1
- package/dist/components/_sortable/index.cjs.map +1 -1
- package/dist/components/_sortable/index.js +21 -21
- package/dist/components/_sortable/index.js.map +1 -1
- package/dist/components/_widget/index.cjs +1 -1
- package/dist/components/_widget/index.js +3 -3
- package/dist/components/app-link/index.cjs +1 -1
- package/dist/components/app-link/index.cjs.map +1 -1
- package/dist/components/app-link/index.js +9 -9
- package/dist/components/app-link/index.js.map +1 -1
- package/dist/components/aside/index.cjs +1 -1
- package/dist/components/aside/index.js +6 -6
- package/dist/components/badge/index.cjs +1 -1
- package/dist/components/badge/index.cjs.map +1 -1
- package/dist/components/badge/index.js +19 -18
- package/dist/components/badge/index.js.map +1 -1
- package/dist/components/banner/index.cjs +1 -1
- package/dist/components/banner/index.js +9 -9
- package/dist/components/branding/index.cjs +1 -1
- package/dist/components/branding/index.js +12 -12
- package/dist/components/button/index.cjs +1 -1
- package/dist/components/button/index.js +12 -12
- package/dist/components/checkbox/index.cjs +1 -1
- package/dist/components/checkbox/index.js +7 -7
- package/dist/components/controls/index.cjs +1 -1
- package/dist/components/controls/index.cjs.map +1 -1
- package/dist/components/controls/index.js +21 -10
- package/dist/components/controls/index.js.map +1 -1
- package/dist/components/dialog/index.cjs +1 -1
- package/dist/components/dialog/index.js +3 -3
- package/dist/components/figure/index.cjs +1 -1
- package/dist/components/figure/index.cjs.map +1 -1
- package/dist/components/figure/index.js +11 -11
- package/dist/components/figure/index.js.map +1 -1
- package/dist/components/file/index.cjs +1 -1
- package/dist/components/file/index.cjs.map +1 -1
- package/dist/components/file/index.js +14 -13
- package/dist/components/file/index.js.map +1 -1
- package/dist/components/footer/index.cjs +1 -1
- package/dist/components/footer/index.js +3 -3
- package/dist/components/form/index.cjs +1 -1
- package/dist/components/form/index.js +11 -11
- package/dist/components/graph/index.cjs +1 -1
- package/dist/components/graph/index.cjs.map +1 -1
- package/dist/components/graph/index.js +31 -31
- package/dist/components/graph/index.js.map +1 -1
- package/dist/components/group/index.cjs +1 -1
- package/dist/components/group/index.js +1 -1
- package/dist/components/header/index.cjs +1 -1
- package/dist/components/header/index.js +3 -3
- package/dist/components/icon/index.cjs +1 -1
- package/dist/components/icon/index.cjs.map +1 -1
- package/dist/components/icon/index.js +26 -26
- package/dist/components/icon/index.js.map +1 -1
- package/dist/components/image/index.cjs +1 -1
- package/dist/components/image/index.js +9 -9
- package/dist/components/input/index.cjs +1 -1
- package/dist/components/input/index.cjs.map +1 -1
- package/dist/components/input/index.js +34 -33
- package/dist/components/input/index.js.map +1 -1
- package/dist/components/link/index.cjs +1 -1
- package/dist/components/link/index.js +11 -11
- package/dist/components/list/index.cjs +1 -1
- package/dist/components/list/index.js +7 -7
- package/dist/components/loading/index.cjs +1 -1
- package/dist/components/loading/index.js +13 -13
- package/dist/components/message/index.cjs +1 -1
- package/dist/components/message/index.js +7 -7
- package/dist/components/nav/index.cjs +1 -1
- package/dist/components/nav/index.js +23 -23
- package/dist/components/object/index.cjs +1 -1
- package/dist/components/object/index.cjs.map +1 -1
- package/dist/components/object/index.js +1 -1
- package/dist/components/object/index.js.map +1 -1
- package/dist/components/select/index.cjs +1 -1
- package/dist/components/select/index.js +1 -1
- package/dist/components/table/index.cjs +1 -1
- package/dist/components/table/index.cjs.map +1 -1
- package/dist/components/table/index.js +22 -22
- package/dist/components/table/index.js.map +1 -1
- package/dist/components/textarea/index.cjs +1 -1
- package/dist/components/textarea/index.cjs.map +1 -1
- package/dist/components/textarea/index.js +23 -23
- package/dist/components/textarea/index.js.map +1 -1
- package/dist/components/toast/index.cjs +1 -1
- package/dist/components/toast/index.cjs.map +1 -1
- package/dist/components/toast/index.js +23 -24
- package/dist/components/toast/index.js.map +1 -1
- package/dist/components/toggle/index.cjs +1 -1
- package/dist/components/toggle/index.js +1 -1
- package/dist/components/toolbar/index.cjs +1 -1
- package/dist/components/toolbar/index.js +9 -9
- package/dist/index-CiEbbnD6.js +42 -0
- package/dist/index-CiEbbnD6.js.map +1 -0
- package/dist/index-ClrKYsAQ.cjs +2 -0
- package/dist/index-ClrKYsAQ.cjs.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +20 -23
- package/dist/index.js +40 -42
- package/dist/index.js.map +1 -1
- package/dist/styles.module-BOTEBJ0C.js +9 -0
- package/dist/styles.module-BOTEBJ0C.js.map +1 -0
- package/dist/styles.module-BPvMQa_x.cjs +2 -0
- package/dist/styles.module-BPvMQa_x.cjs.map +1 -0
- package/dist/tokens.css +44 -12
- package/dist/tokens.json +541 -68
- package/package.json +1 -1
- package/dist/assets/index45.css +0 -1
- package/dist/components/layout/index.cjs +0 -2
- package/dist/components/layout/index.cjs.map +0 -1
- package/dist/components/layout/index.js +0 -18
- package/dist/components/layout/index.js.map +0 -1
- package/dist/index-BNaQZHo6.js +0 -40
- package/dist/index-BNaQZHo6.js.map +0 -1
- package/dist/index-Bh5n72jH.cjs +0 -2
- package/dist/index-Bh5n72jH.cjs.map +0 -1
- package/dist/styles.module-DZXAP_eP.js +0 -8
- package/dist/styles.module-DZXAP_eP.js.map +0 -1
- package/dist/styles.module-Vt6mmlsz.cjs +0 -2
- package/dist/styles.module-Vt6mmlsz.cjs.map +0 -1
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { t as
|
|
3
|
-
import '../../assets/
|
|
4
|
-
form:
|
|
5
|
-
inline:
|
|
6
|
-
},
|
|
7
|
-
animation:
|
|
8
|
-
children:
|
|
1
|
+
import { jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { t as s } from "../../classix-DG18itHa.js";
|
|
3
|
+
import '../../assets/index35.css';const a = "_form_1sine_1", f = "_inline_1sine_26", o = {
|
|
4
|
+
form: a,
|
|
5
|
+
inline: f
|
|
6
|
+
}, _ = ({
|
|
7
|
+
animation: i,
|
|
8
|
+
children: n,
|
|
9
9
|
className: m,
|
|
10
10
|
inline: r = !1,
|
|
11
|
-
...
|
|
12
|
-
}) => /* @__PURE__ */
|
|
11
|
+
...t
|
|
12
|
+
}) => /* @__PURE__ */ e("form", { className: s(m, r && o.inline, o.form), "data-animation": i, ...t, "data-component": "form", children: n && n });
|
|
13
13
|
export {
|
|
14
|
-
|
|
14
|
+
_ as Form
|
|
15
15
|
};
|
|
16
16
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/index8.css');const a=require("react/jsx-runtime"),x=require("../../classix-5H4IWnMA.cjs"),j=require("../loading/index.cjs"),w="_graph_1web1_11",v="_plot_1web1_20",N="_item_1web1_34",y="_column_1web1_40",f="_value_1web1_48",k="_track_1web1_58",M="_bar_1web1_65",V="_label_1web1_87",e={graph:w,plot:v,item:N,column:y,value:f,track:k,bar:M,label:V,"is-loading":"_is-loading_1web1_96"},i=l=>Number.isFinite(l)?Math.max(0,l):0,S=({accessibleLabel:l,className:h,height:r,items:n=[],style:u,valueFormatter:_=t=>t.toLocaleString(),...p})=>{const t=n.reduce((s,c)=>Math.max(s,i(c.value)),0),b={...u,"--graph-columns":Math.max(n.length,1),"--graph-height":r||"calc(var(--utils-tokens-unit) * 16)"};return a.jsxs("figure",{className:x.t(e.graph,h),style:b,...p,"data-component":"graph",children:[l&&a.jsx("figcaption",{"data-content":"screen-reader",children:l}),n.length>0?a.jsx("ul",{className:e.plot,children:n.map((s,c)=>{const o=i(s.value),d=t>0?o/t*100:0,m=o>0?Math.max(d,6):0,g={"--bar-color":s.color,"--bar-delay":c*50+"ms","--bar-height":m+"%"};return a.jsxs("li",{className:e.item,"data-component":"graph",children:[a.jsxs("div",{className:e.column,children:[a.jsx("span",{className:e.value,children:_(s.value)}),a.jsx("span",{className:e.track,children:a.jsx("span",{className:e.bar,style:g})})]}),a.jsx("span",{className:e.label,title:s.label,children:s.label})]},s.label+c)})}):a.jsx("div",{className:e["is-loading"],children:a.jsx(j.Loading,{})})]})};exports.Graph=S;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../src/components/graph/index.tsx"],"sourcesContent":["import cx from 'classix';\n\nimport { Loading } from '../loading';\nimport styles from './styles.module.css';\n\nexport type GraphItem = {\n color?: string;\n label: string;\n value: number;\n};\n\nexport type GraphProps = Omit<React.ComponentPropsWithoutRef<'figure'>, 'children'> & {\n height?: string;\n items?: GraphItem[];\n
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../src/components/graph/index.tsx"],"sourcesContent":["import cx from 'classix';\n\nimport { Loading } from '../loading';\nimport styles from './styles.module.css';\n\nexport type GraphItem = {\n color?: string;\n label: string;\n value: number;\n};\n\nexport type GraphProps = Omit<React.ComponentPropsWithoutRef<'figure'>, 'children'> & {\n accessibleLabel?: string;\n height?: string;\n items?: GraphItem[];\n valueFormatter?: (value: number) => string;\n};\n\nconst toSafeValue = (value: number) => (Number.isFinite(value) ? Math.max(0, value) : 0);\n\nexport const Graph = ({\n accessibleLabel,\n className,\n height,\n items = [],\n style,\n valueFormatter = (value) => value.toLocaleString(),\n ...props\n}: GraphProps) => {\n type withVars = React.CSSProperties & {\n '--graph-columns'?: number;\n '--graph-height'?: string;\n };\n\n type withBarVars = React.CSSProperties & {\n '--bar-color'?: string;\n '--bar-delay'?: string;\n '--bar-height'?: string;\n };\n\n const maxValue = items.reduce((max, item) => Math.max(max, toSafeValue(item.value)), 0);\n\n const withVars: withVars = {\n ...style,\n '--graph-columns': Math.max(items.length, 1),\n '--graph-height': height ? height : 'calc(var(--utils-tokens-unit) * 16)',\n };\n\n return (\n <figure\n className={cx(styles.graph, className)}\n style={withVars}\n {...props}\n >\n {accessibleLabel && <figcaption data-content='screen-reader'>{accessibleLabel}</figcaption>}\n {items.length > 0 ? (\n <ul className={styles.plot}>\n {items.map((item, index) => {\n const safeValue = toSafeValue(item.value);\n const rawPercent = maxValue > 0 ? (safeValue / maxValue) * 100 : 0;\n const percent = safeValue > 0 ? Math.max(rawPercent, 6) : 0;\n\n const withBarVars: withBarVars = {\n '--bar-color': item.color,\n '--bar-delay': index * 50 + 'ms',\n '--bar-height': percent + '%',\n };\n\n return (\n <li\n className={styles.item}\n key={item.label + index}\n >\n <div className={styles.column}>\n <span className={styles.value}>{valueFormatter(item.value)}</span>\n <span className={styles.track}>\n <span\n className={styles.bar}\n style={withBarVars}\n />\n </span>\n </div>\n <span\n className={styles.label}\n title={item.label}\n >\n {item.label}\n </span>\n </li>\n );\n })}\n </ul>\n ) : (\n <div className={styles['is-loading']}>\n <Loading />\n </div>\n )}\n </figure>\n );\n};\n"],"names":["toSafeValue","value","Number","isFinite","Math","max","Graph","accessibleLabel","className","height","items","style","valueFormatter","toLocaleString","props","maxValue","reduce","item","withVars","length","jsxs","cx","styles","graph","jsx","plot","map","index","safeValue","rawPercent","percent","withBarVars","color","column","track","bar","label","Loading"],"mappings":"icAkBMA,EAAeC,GAAmBC,OAAOC,SAASF,CAAK,EAAIG,KAAKC,IAAI,EAAGJ,CAAK,EAAI,EAEzEK,EAAQA,CAAC,CACpBC,gBAAAA,EACAC,UAAAA,EACAC,OAAAA,EACAC,MAAAA,EAAQ,CAAA,EACRC,MAAAA,EACAC,eAAAA,EAAkBX,GAAUA,EAAMY,eAAAA,EAClC,GAAGC,CACO,IAAM,CAYhB,MAAMC,EAAWL,EAAMM,OAAO,CAACX,EAAKY,IAASb,KAAKC,IAAIA,EAAKL,EAAYiB,EAAKhB,KAAK,CAAC,EAAG,CAAC,EAEhFiB,EAAqB,CACzB,GAAGP,EACH,kBAAmBP,KAAKC,IAAIK,EAAMS,OAAQ,CAAC,EAC3C,iBAAkBV,GAAkB,qCAAA,EAGtC,OACEW,EAAAA,KAAC,SAAA,CACC,UAAWC,EAAAA,EAAGC,EAAOC,MAAOf,CAAS,EACrC,MAAOU,EACP,GAAIJ,EAAM,iBAAA,QAETP,SAAAA,CAAAA,GAAmBiB,EAAAA,IAAC,aAAA,CAAW,eAAa,gBAAiBjB,SAAAA,EAAgB,EAC7EG,EAAMS,OAAS,EACdK,EAAAA,IAAC,KAAA,CAAG,UAAWF,EAAOG,KACnBf,SAAAA,EAAMgB,IAAI,CAACT,EAAMU,IAAU,CAC1B,MAAMC,EAAY5B,EAAYiB,EAAKhB,KAAK,EAClC4B,EAAad,EAAW,EAAKa,EAAYb,EAAY,IAAM,EAC3De,EAAUF,EAAY,EAAIxB,KAAKC,IAAIwB,EAAY,CAAC,EAAI,EAEpDE,EAA2B,CAC/B,cAAed,EAAKe,MACpB,cAAeL,EAAQ,GAAK,KAC5B,eAAgBG,EAAU,GAAA,EAG5B,cACG,KAAA,CACC,UAAWR,EAAOL,KACM,iBAAA,QAExB,SAAA,CAAAG,EAAAA,KAAC,MAAA,CAAI,UAAWE,EAAOW,OACrB,SAAA,CAAAT,EAAAA,IAAC,QAAK,UAAWF,EAAOrB,MAAQW,SAAAA,EAAeK,EAAKhB,KAAK,EAAE,EAC3DuB,EAAAA,IAAC,OAAA,CAAK,UAAWF,EAAOY,MACtB,SAAAV,EAAAA,IAAC,OAAA,CACC,UAAWF,EAAOa,IAClB,MAAOJ,CAAAA,CAAY,CAAA,CAEvB,CAAA,EACF,EACAP,EAAAA,IAAC,QACC,UAAWF,EAAOc,MAClB,MAAOnB,EAAKmB,MAEXnB,SAAAA,EAAKmB,KAAAA,CACR,CAAA,GAhBKnB,EAAKmB,MAAQT,CAiBpB,CAEJ,CAAC,CAAA,CACH,EAEAH,MAAC,MAAA,CAAI,UAAWF,EAAO,YAAY,EACjC,SAAAE,EAAAA,IAACa,EAAAA,QAAA,CAAA,CAAO,CAAA,CACV,CAAA,EAEJ,CAEJ"}
|
|
@@ -1,49 +1,49 @@
|
|
|
1
|
-
import { jsxs as s, jsx as
|
|
2
|
-
import { t as
|
|
3
|
-
import { Loading as
|
|
4
|
-
import '../../assets/
|
|
5
|
-
graph:
|
|
6
|
-
plot:
|
|
7
|
-
item:
|
|
1
|
+
import { jsxs as s, jsx as l } from "react/jsx-runtime";
|
|
2
|
+
import { t as N } from "../../classix-DG18itHa.js";
|
|
3
|
+
import { Loading as v } from "../loading/index.js";
|
|
4
|
+
import '../../assets/index8.css';const f = "_graph_1web1_11", x = "_plot_1web1_20", k = "_item_1web1_34", V = "_column_1web1_40", y = "_value_1web1_48", M = "_track_1web1_58", j = "_bar_1web1_65", S = "_label_1web1_87", a = {
|
|
5
|
+
graph: f,
|
|
6
|
+
plot: x,
|
|
7
|
+
item: k,
|
|
8
8
|
column: V,
|
|
9
|
-
value:
|
|
9
|
+
value: y,
|
|
10
10
|
track: M,
|
|
11
11
|
bar: j,
|
|
12
|
-
label:
|
|
13
|
-
"is-loading": "_is-
|
|
14
|
-
},
|
|
15
|
-
|
|
12
|
+
label: S,
|
|
13
|
+
"is-loading": "_is-loading_1web1_96"
|
|
14
|
+
}, h = (t) => Number.isFinite(t) ? Math.max(0, t) : 0, L = ({
|
|
15
|
+
accessibleLabel: t,
|
|
16
|
+
className: _,
|
|
16
17
|
height: o,
|
|
17
|
-
items:
|
|
18
|
-
label: i,
|
|
18
|
+
items: n = [],
|
|
19
19
|
style: m,
|
|
20
20
|
valueFormatter: p = (r) => r.toLocaleString(),
|
|
21
|
-
...
|
|
21
|
+
...b
|
|
22
22
|
}) => {
|
|
23
|
-
const r =
|
|
23
|
+
const r = n.reduce((e, c) => Math.max(e, h(c.value)), 0), u = {
|
|
24
24
|
...m,
|
|
25
|
-
"--graph-columns": Math.max(
|
|
26
|
-
"--graph-height": o || "calc(var(--unit) * 16)"
|
|
25
|
+
"--graph-columns": Math.max(n.length, 1),
|
|
26
|
+
"--graph-height": o || "calc(var(--utils-tokens-unit) * 16)"
|
|
27
27
|
};
|
|
28
|
-
return /* @__PURE__ */ s("figure", { className:
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
const
|
|
32
|
-
"--bar-color":
|
|
33
|
-
"--bar-delay":
|
|
34
|
-
"--bar-height":
|
|
28
|
+
return /* @__PURE__ */ s("figure", { className: N(a.graph, _), style: u, ...b, "data-component": "graph", children: [
|
|
29
|
+
t && /* @__PURE__ */ l("figcaption", { "data-content": "screen-reader", children: t }),
|
|
30
|
+
n.length > 0 ? /* @__PURE__ */ l("ul", { className: a.plot, children: n.map((e, c) => {
|
|
31
|
+
const i = h(e.value), d = r > 0 ? i / r * 100 : 0, g = i > 0 ? Math.max(d, 6) : 0, w = {
|
|
32
|
+
"--bar-color": e.color,
|
|
33
|
+
"--bar-delay": c * 50 + "ms",
|
|
34
|
+
"--bar-height": g + "%"
|
|
35
35
|
};
|
|
36
36
|
return /* @__PURE__ */ s("li", { className: a.item, "data-component": "graph", children: [
|
|
37
37
|
/* @__PURE__ */ s("div", { className: a.column, children: [
|
|
38
|
-
/* @__PURE__ */
|
|
39
|
-
/* @__PURE__ */
|
|
38
|
+
/* @__PURE__ */ l("span", { className: a.value, children: p(e.value) }),
|
|
39
|
+
/* @__PURE__ */ l("span", { className: a.track, children: /* @__PURE__ */ l("span", { className: a.bar, style: w }) })
|
|
40
40
|
] }),
|
|
41
|
-
/* @__PURE__ */
|
|
42
|
-
] },
|
|
43
|
-
}) }) : /* @__PURE__ */
|
|
41
|
+
/* @__PURE__ */ l("span", { className: a.label, title: e.label, children: e.label })
|
|
42
|
+
] }, e.label + c);
|
|
43
|
+
}) }) : /* @__PURE__ */ l("div", { className: a["is-loading"], children: /* @__PURE__ */ l(v, {}) })
|
|
44
44
|
] });
|
|
45
45
|
};
|
|
46
46
|
export {
|
|
47
|
-
|
|
47
|
+
L as Graph
|
|
48
48
|
};
|
|
49
49
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/components/graph/index.tsx"],"sourcesContent":["import cx from 'classix';\n\nimport { Loading } from '../loading';\nimport styles from './styles.module.css';\n\nexport type GraphItem = {\n color?: string;\n label: string;\n value: number;\n};\n\nexport type GraphProps = Omit<React.ComponentPropsWithoutRef<'figure'>, 'children'> & {\n height?: string;\n items?: GraphItem[];\n
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/graph/index.tsx"],"sourcesContent":["import cx from 'classix';\n\nimport { Loading } from '../loading';\nimport styles from './styles.module.css';\n\nexport type GraphItem = {\n color?: string;\n label: string;\n value: number;\n};\n\nexport type GraphProps = Omit<React.ComponentPropsWithoutRef<'figure'>, 'children'> & {\n accessibleLabel?: string;\n height?: string;\n items?: GraphItem[];\n valueFormatter?: (value: number) => string;\n};\n\nconst toSafeValue = (value: number) => (Number.isFinite(value) ? Math.max(0, value) : 0);\n\nexport const Graph = ({\n accessibleLabel,\n className,\n height,\n items = [],\n style,\n valueFormatter = (value) => value.toLocaleString(),\n ...props\n}: GraphProps) => {\n type withVars = React.CSSProperties & {\n '--graph-columns'?: number;\n '--graph-height'?: string;\n };\n\n type withBarVars = React.CSSProperties & {\n '--bar-color'?: string;\n '--bar-delay'?: string;\n '--bar-height'?: string;\n };\n\n const maxValue = items.reduce((max, item) => Math.max(max, toSafeValue(item.value)), 0);\n\n const withVars: withVars = {\n ...style,\n '--graph-columns': Math.max(items.length, 1),\n '--graph-height': height ? height : 'calc(var(--utils-tokens-unit) * 16)',\n };\n\n return (\n <figure\n className={cx(styles.graph, className)}\n style={withVars}\n {...props}\n >\n {accessibleLabel && <figcaption data-content='screen-reader'>{accessibleLabel}</figcaption>}\n {items.length > 0 ? (\n <ul className={styles.plot}>\n {items.map((item, index) => {\n const safeValue = toSafeValue(item.value);\n const rawPercent = maxValue > 0 ? (safeValue / maxValue) * 100 : 0;\n const percent = safeValue > 0 ? Math.max(rawPercent, 6) : 0;\n\n const withBarVars: withBarVars = {\n '--bar-color': item.color,\n '--bar-delay': index * 50 + 'ms',\n '--bar-height': percent + '%',\n };\n\n return (\n <li\n className={styles.item}\n key={item.label + index}\n >\n <div className={styles.column}>\n <span className={styles.value}>{valueFormatter(item.value)}</span>\n <span className={styles.track}>\n <span\n className={styles.bar}\n style={withBarVars}\n />\n </span>\n </div>\n <span\n className={styles.label}\n title={item.label}\n >\n {item.label}\n </span>\n </li>\n );\n })}\n </ul>\n ) : (\n <div className={styles['is-loading']}>\n <Loading />\n </div>\n )}\n </figure>\n );\n};\n"],"names":["toSafeValue","value","Number","isFinite","Math","max","Graph","accessibleLabel","className","height","items","style","valueFormatter","toLocaleString","props","maxValue","reduce","item","withVars","length","jsxs","cx","styles","graph","jsx","plot","map","index","safeValue","rawPercent","percent","withBarVars","color","column","track","bar","label","Loading"],"mappings":";;;;;;;;;;;;;GAkBMA,IAAcA,CAACC,MAAmBC,OAAOC,SAASF,CAAK,IAAIG,KAAKC,IAAI,GAAGJ,CAAK,IAAI,GAEzEK,IAAQA,CAAC;AAAA,EACpBC,iBAAAA;AAAAA,EACAC,WAAAA;AAAAA,EACAC,QAAAA;AAAAA,EACAC,OAAAA,IAAQ,CAAA;AAAA,EACRC,OAAAA;AAAAA,EACAC,gBAAAA,IAAkBX,CAAAA,MAAUA,EAAMY,eAAAA;AAAAA,EAClC,GAAGC;AACO,MAAM;AAYhB,QAAMC,IAAWL,EAAMM,OAAO,CAACX,GAAKY,MAASb,KAAKC,IAAIA,GAAKL,EAAYiB,EAAKhB,KAAK,CAAC,GAAG,CAAC,GAEhFiB,IAAqB;AAAA,IACzB,GAAGP;AAAAA,IACH,mBAAmBP,KAAKC,IAAIK,EAAMS,QAAQ,CAAC;AAAA,IAC3C,kBAAkBV,KAAkB;AAAA,EAAA;AAGtC,SACE,gBAAAW,EAAC,UAAA,EACC,WAAWC,EAAGC,EAAOC,OAAOf,CAAS,GACrC,OAAOU,GACP,GAAIJ,GAAM,kBAAA,SAETP,UAAAA;AAAAA,IAAAA,KAAmB,gBAAAiB,EAAC,cAAA,EAAW,gBAAa,iBAAiBjB,UAAAA,GAAgB;AAAA,IAC7EG,EAAMS,SAAS,IACd,gBAAAK,EAAC,MAAA,EAAG,WAAWF,EAAOG,MACnBf,UAAAA,EAAMgB,IAAI,CAACT,GAAMU,MAAU;AAC1B,YAAMC,IAAY5B,EAAYiB,EAAKhB,KAAK,GAClC4B,IAAad,IAAW,IAAKa,IAAYb,IAAY,MAAM,GAC3De,IAAUF,IAAY,IAAIxB,KAAKC,IAAIwB,GAAY,CAAC,IAAI,GAEpDE,IAA2B;AAAA,QAC/B,eAAed,EAAKe;AAAAA,QACpB,eAAeL,IAAQ,KAAK;AAAA,QAC5B,gBAAgBG,IAAU;AAAA,MAAA;AAG5B,+BACG,MAAA,EACC,WAAWR,EAAOL,MACM,kBAAA,SAExB,UAAA;AAAA,QAAA,gBAAAG,EAAC,OAAA,EAAI,WAAWE,EAAOW,QACrB,UAAA;AAAA,UAAA,gBAAAT,EAAC,UAAK,WAAWF,EAAOrB,OAAQW,UAAAA,EAAeK,EAAKhB,KAAK,GAAE;AAAA,UAC3D,gBAAAuB,EAAC,QAAA,EAAK,WAAWF,EAAOY,OACtB,UAAA,gBAAAV,EAAC,QAAA,EACC,WAAWF,EAAOa,KAClB,OAAOJ,EAAAA,CAAY,EAAA,CAEvB;AAAA,QAAA,GACF;AAAA,QACA,gBAAAP,EAAC,UACC,WAAWF,EAAOc,OAClB,OAAOnB,EAAKmB,OAEXnB,UAAAA,EAAKmB,MAAAA,CACR;AAAA,MAAA,KAhBKnB,EAAKmB,QAAQT,CAiBpB;AAAA,IAEJ,CAAC,EAAA,CACH,IAEA,gBAAAH,EAAC,OAAA,EAAI,WAAWF,EAAO,YAAY,GACjC,UAAA,gBAAAE,EAACa,GAAA,CAAA,CAAO,EAAA,CACV;AAAA,EAAA,GAEJ;AAEJ;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/index7.css');const s=require("react/jsx-runtime"),u=require("../../classix-5H4IWnMA.cjs"),a="_group_g6ddz_1",n={group:a},p=({animation:t,children:r,className:o,...e})=>s.jsx("div",{className:u.t(o,n.group),"data-animation":t,"data-wrapper":!0,...e,"data-component":"group",children:r});exports.Group=p;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as a } from "react/jsx-runtime";
|
|
2
2
|
import { t as n } from "../../classix-DG18itHa.js";
|
|
3
|
-
import '../../assets/
|
|
3
|
+
import '../../assets/index7.css';const s = "_group_g6ddz_1", u = {
|
|
4
4
|
group: s
|
|
5
5
|
}, d = ({
|
|
6
6
|
animation: o,
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/index6.css');const r=require("react/jsx-runtime"),o=require("../../classix-5H4IWnMA.cjs"),s="_header_1k1hx_1",u="_jumbo_1k1hx_67",e={header:s,jumbo:u},d={default:e.default,jumbo:e.jumbo},n=({children:t,variant:a="default"})=>r.jsx("header",{className:o.t(e.header,d[a]),"data-component":"header",children:t});exports.Header=n;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { jsx as a } from "react/jsx-runtime";
|
|
2
2
|
import { t as r } from "../../classix-DG18itHa.js";
|
|
3
|
-
import '../../assets/
|
|
3
|
+
import '../../assets/index6.css';const d = "_header_1k1hx_1", m = "_jumbo_1k1hx_67", e = {
|
|
4
4
|
header: d,
|
|
5
5
|
jumbo: m
|
|
6
6
|
}, s = {
|
|
7
7
|
default: e.default,
|
|
8
8
|
jumbo: e.jumbo
|
|
9
|
-
},
|
|
9
|
+
}, h = ({
|
|
10
10
|
children: o,
|
|
11
11
|
variant: t = "default"
|
|
12
12
|
}) => /* @__PURE__ */ a("header", { className: r(e.header, s[t]), "data-component": "header", children: o });
|
|
13
13
|
export {
|
|
14
|
-
|
|
14
|
+
h as Header
|
|
15
15
|
};
|
|
16
16
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/index36.css');const c=require("react/jsx-runtime"),l=require("../../classix-5H4IWnMA.cjs"),n=require("../../icons-C_cX1FYp.cjs"),_="_icon_1034p_1",m="_small_1034p_9",p="_medium_1034p_14",d="_large_1034p_19",u="_danger_1034p_24",g="_primary_1034p_32",y="_white_1034p_36",e={icon:_,small:m,medium:p,large:d,danger:u,default:"_default_1034p_28",primary:g,white:y,"gap-right":"_gap-right_1034p_40","gap-left":"_gap-left_1034p_44"},f={large:e.large,medium:e.medium,small:e.small},h={danger:e.danger,default:e.default,primary:e.primary,white:e.white},w=({fill:a,gap:t="none",name:s,size:i="medium",variant:r="default"})=>{const o={maskImage:n.iconSVG(s,a??!1)};return c.jsx("span",{"aria-hidden":"true",className:l.t(t!=="none"&&e[`gap-${t}`],f[i],e.icon,h[r]),style:o,"data-component":"icon"})},I=()=>Object.keys(n.iconPaths);exports.Icon=w;exports.Icons=I;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../src/components/icon/index.tsx"],"sourcesContent":["import cx from 'classix';\n\nimport { IconName, iconSVG } from './icons';\nimport { iconPaths } from './icons';\nimport styles from './styles.module.css';\n\nconst sizes = {\n large: styles.large,\n medium: styles.medium,\n small: styles.small,\n};\n\nconst variants = {\n danger: styles.danger,\n default: styles.default,\n primary: styles.primary,\n white: styles.white,\n};\n\nexport type IconProps = {\n fill?: boolean;\n gap?: 'left' | 'none' | 'right';\n name: IconName;\n size?: keyof typeof sizes;\n variant?: keyof typeof variants;\n};\n\nexport const Icon = ({\n fill,\n gap = 'none',\n name,\n size = 'medium',\n variant = 'default',\n}: IconProps) => {\n const iconStyle = {\n maskImage: iconSVG(name, fill ?? false),\n } as React.CSSProperties;\n\n return (\n <span\n className={cx(\n gap !== 'none' && styles[`gap-${gap}`],\n sizes[size],\n styles.icon,\n variants[variant]\n )}\n style={iconStyle}\n />\n );\n};\n\nexport const Icons = () => {\n return Object.keys(iconPaths);\n};\n"],"names":["sizes","large","styles","medium","small","variants","danger","default","primary","white","Icon","fill","gap","name","size","variant","iconStyle","maskImage","iconSVG","jsx","cx","icon","Icons","Object","keys","iconPaths"],"mappings":"6eAMMA,EAAQ,CACZC,MAAOC,EAAOD,MACdE,OAAQD,EAAOC,OACfC,MAAOF,EAAOE,KAChB,EAEMC,EAAW,CACfC,OAAQJ,EAAOI,OACfC,QAASL,EAAOK,QAChBC,QAASN,EAAOM,QAChBC,MAAOP,EAAOO,KAChB,EAUaC,EAAOA,CAAC,CACnBC,KAAAA,EACAC,IAAAA,EAAM,OACNC,KAAAA,EACAC,KAAAA,EAAO,SACPC,QAAAA,EAAU,SACD,IAAM,CACf,MAAMC,EAAY,CAChBC,UAAWC,EAAAA,QAAQL,EAAMF,GAAQ,EAAK,CAAA,EAGxC,OACEQ,MAAC,
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../src/components/icon/index.tsx"],"sourcesContent":["import cx from 'classix';\n\nimport { IconName, iconSVG } from './icons';\nimport { iconPaths } from './icons';\nimport styles from './styles.module.css';\n\nconst sizes = {\n large: styles.large,\n medium: styles.medium,\n small: styles.small,\n};\n\nconst variants = {\n danger: styles.danger,\n default: styles.default,\n primary: styles.primary,\n white: styles.white,\n};\n\nexport type IconProps = {\n fill?: boolean;\n gap?: 'left' | 'none' | 'right';\n name: IconName;\n size?: keyof typeof sizes;\n variant?: keyof typeof variants;\n};\n\nexport const Icon = ({\n fill,\n gap = 'none',\n name,\n size = 'medium',\n variant = 'default',\n}: IconProps) => {\n const iconStyle = {\n maskImage: iconSVG(name, fill ?? false),\n } as React.CSSProperties;\n\n return (\n <span\n aria-hidden='true'\n className={cx(\n gap !== 'none' && styles[`gap-${gap}`],\n sizes[size],\n styles.icon,\n variants[variant]\n )}\n style={iconStyle}\n />\n );\n};\n\nexport const Icons = () => {\n return Object.keys(iconPaths);\n};\n"],"names":["sizes","large","styles","medium","small","variants","danger","default","primary","white","Icon","fill","gap","name","size","variant","iconStyle","maskImage","iconSVG","jsx","cx","icon","Icons","Object","keys","iconPaths"],"mappings":"6eAMMA,EAAQ,CACZC,MAAOC,EAAOD,MACdE,OAAQD,EAAOC,OACfC,MAAOF,EAAOE,KAChB,EAEMC,EAAW,CACfC,OAAQJ,EAAOI,OACfC,QAASL,EAAOK,QAChBC,QAASN,EAAOM,QAChBC,MAAOP,EAAOO,KAChB,EAUaC,EAAOA,CAAC,CACnBC,KAAAA,EACAC,IAAAA,EAAM,OACNC,KAAAA,EACAC,KAAAA,EAAO,SACPC,QAAAA,EAAU,SACD,IAAM,CACf,MAAMC,EAAY,CAChBC,UAAWC,EAAAA,QAAQL,EAAMF,GAAQ,EAAK,CAAA,EAGxC,OACEQ,MAAC,OAAA,CACC,cAAY,OACZ,UAAWC,EAAAA,EACTR,IAAQ,QAAUV,EAAO,OAAOU,CAAG,EAAE,EACrCZ,EAAMc,CAAI,EACVZ,EAAOmB,KACPhB,EAASU,CAAO,CAClB,EACA,MAAOC,EAAU,iBAAA,MAAA,CAAA,CAGvB,EAEaM,EAAQA,IACZC,OAAOC,KAAKC,WAAS"}
|
|
@@ -1,40 +1,40 @@
|
|
|
1
1
|
import { jsx as o } from "react/jsx-runtime";
|
|
2
|
-
import { t as
|
|
3
|
-
import { i as
|
|
4
|
-
import '../../assets/
|
|
5
|
-
icon:
|
|
6
|
-
small:
|
|
7
|
-
medium:
|
|
8
|
-
large:
|
|
9
|
-
danger:
|
|
10
|
-
default: "
|
|
11
|
-
primary:
|
|
12
|
-
white:
|
|
13
|
-
"gap-right": "_gap-
|
|
14
|
-
"gap-left": "_gap-
|
|
15
|
-
},
|
|
2
|
+
import { t as m } from "../../classix-DG18itHa.js";
|
|
3
|
+
import { i as _, a as l } from "../../icons-DfmpRbxE.js";
|
|
4
|
+
import '../../assets/index36.css';const c = "_icon_1034p_1", p = "_small_1034p_9", d = "_medium_1034p_14", g = "_large_1034p_19", u = "_danger_1034p_24", f = "_primary_1034p_32", h = "_white_1034p_36", a = {
|
|
5
|
+
icon: c,
|
|
6
|
+
small: p,
|
|
7
|
+
medium: d,
|
|
8
|
+
large: g,
|
|
9
|
+
danger: u,
|
|
10
|
+
default: "_default_1034p_28",
|
|
11
|
+
primary: f,
|
|
12
|
+
white: h,
|
|
13
|
+
"gap-right": "_gap-right_1034p_40",
|
|
14
|
+
"gap-left": "_gap-left_1034p_44"
|
|
15
|
+
}, y = {
|
|
16
16
|
large: a.large,
|
|
17
17
|
medium: a.medium,
|
|
18
18
|
small: a.small
|
|
19
|
-
},
|
|
19
|
+
}, w = {
|
|
20
20
|
danger: a.danger,
|
|
21
21
|
default: a.default,
|
|
22
22
|
primary: a.primary,
|
|
23
23
|
white: a.white
|
|
24
|
-
},
|
|
25
|
-
fill:
|
|
24
|
+
}, x = ({
|
|
25
|
+
fill: t,
|
|
26
26
|
gap: e = "none",
|
|
27
|
-
name:
|
|
28
|
-
size:
|
|
29
|
-
variant:
|
|
27
|
+
name: n,
|
|
28
|
+
size: r = "medium",
|
|
29
|
+
variant: s = "default"
|
|
30
30
|
}) => {
|
|
31
|
-
const
|
|
32
|
-
maskImage:
|
|
31
|
+
const i = {
|
|
32
|
+
maskImage: _(n, t ?? !1)
|
|
33
33
|
};
|
|
34
|
-
return /* @__PURE__ */ o("span", { className:
|
|
35
|
-
},
|
|
34
|
+
return /* @__PURE__ */ o("span", { "aria-hidden": "true", className: m(e !== "none" && a[`gap-${e}`], y[r], a.icon, w[s]), style: i, "data-component": "icon" });
|
|
35
|
+
}, S = () => Object.keys(l);
|
|
36
36
|
export {
|
|
37
|
-
|
|
38
|
-
|
|
37
|
+
x as Icon,
|
|
38
|
+
S as Icons
|
|
39
39
|
};
|
|
40
40
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/components/icon/index.tsx"],"sourcesContent":["import cx from 'classix';\n\nimport { IconName, iconSVG } from './icons';\nimport { iconPaths } from './icons';\nimport styles from './styles.module.css';\n\nconst sizes = {\n large: styles.large,\n medium: styles.medium,\n small: styles.small,\n};\n\nconst variants = {\n danger: styles.danger,\n default: styles.default,\n primary: styles.primary,\n white: styles.white,\n};\n\nexport type IconProps = {\n fill?: boolean;\n gap?: 'left' | 'none' | 'right';\n name: IconName;\n size?: keyof typeof sizes;\n variant?: keyof typeof variants;\n};\n\nexport const Icon = ({\n fill,\n gap = 'none',\n name,\n size = 'medium',\n variant = 'default',\n}: IconProps) => {\n const iconStyle = {\n maskImage: iconSVG(name, fill ?? false),\n } as React.CSSProperties;\n\n return (\n <span\n className={cx(\n gap !== 'none' && styles[`gap-${gap}`],\n sizes[size],\n styles.icon,\n variants[variant]\n )}\n style={iconStyle}\n />\n );\n};\n\nexport const Icons = () => {\n return Object.keys(iconPaths);\n};\n"],"names":["sizes","large","styles","medium","small","variants","danger","default","primary","white","Icon","fill","gap","name","size","variant","iconStyle","maskImage","iconSVG","jsx","cx","icon","Icons","Object","keys","iconPaths"],"mappings":";;;;;;;;;;;;;;GAMMA,IAAQ;AAAA,EACZC,OAAOC,EAAOD;AAAAA,EACdE,QAAQD,EAAOC;AAAAA,EACfC,OAAOF,EAAOE;AAChB,GAEMC,IAAW;AAAA,EACfC,QAAQJ,EAAOI;AAAAA,EACfC,SAASL,EAAOK;AAAAA,EAChBC,SAASN,EAAOM;AAAAA,EAChBC,OAAOP,EAAOO;AAChB,GAUaC,IAAOA,CAAC;AAAA,EACnBC,MAAAA;AAAAA,EACAC,KAAAA,IAAM;AAAA,EACNC,MAAAA;AAAAA,EACAC,MAAAA,IAAO;AAAA,EACPC,SAAAA,IAAU;AACD,MAAM;AACf,QAAMC,IAAY;AAAA,IAChBC,WAAWC,EAAQL,GAAMF,KAAQ,EAAK;AAAA,EAAA;AAGxC,SACE,gBAAAQ,EAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/icon/index.tsx"],"sourcesContent":["import cx from 'classix';\n\nimport { IconName, iconSVG } from './icons';\nimport { iconPaths } from './icons';\nimport styles from './styles.module.css';\n\nconst sizes = {\n large: styles.large,\n medium: styles.medium,\n small: styles.small,\n};\n\nconst variants = {\n danger: styles.danger,\n default: styles.default,\n primary: styles.primary,\n white: styles.white,\n};\n\nexport type IconProps = {\n fill?: boolean;\n gap?: 'left' | 'none' | 'right';\n name: IconName;\n size?: keyof typeof sizes;\n variant?: keyof typeof variants;\n};\n\nexport const Icon = ({\n fill,\n gap = 'none',\n name,\n size = 'medium',\n variant = 'default',\n}: IconProps) => {\n const iconStyle = {\n maskImage: iconSVG(name, fill ?? false),\n } as React.CSSProperties;\n\n return (\n <span\n aria-hidden='true'\n className={cx(\n gap !== 'none' && styles[`gap-${gap}`],\n sizes[size],\n styles.icon,\n variants[variant]\n )}\n style={iconStyle}\n />\n );\n};\n\nexport const Icons = () => {\n return Object.keys(iconPaths);\n};\n"],"names":["sizes","large","styles","medium","small","variants","danger","default","primary","white","Icon","fill","gap","name","size","variant","iconStyle","maskImage","iconSVG","jsx","cx","icon","Icons","Object","keys","iconPaths"],"mappings":";;;;;;;;;;;;;;GAMMA,IAAQ;AAAA,EACZC,OAAOC,EAAOD;AAAAA,EACdE,QAAQD,EAAOC;AAAAA,EACfC,OAAOF,EAAOE;AAChB,GAEMC,IAAW;AAAA,EACfC,QAAQJ,EAAOI;AAAAA,EACfC,SAASL,EAAOK;AAAAA,EAChBC,SAASN,EAAOM;AAAAA,EAChBC,OAAOP,EAAOO;AAChB,GAUaC,IAAOA,CAAC;AAAA,EACnBC,MAAAA;AAAAA,EACAC,KAAAA,IAAM;AAAA,EACNC,MAAAA;AAAAA,EACAC,MAAAA,IAAO;AAAA,EACPC,SAAAA,IAAU;AACD,MAAM;AACf,QAAMC,IAAY;AAAA,IAChBC,WAAWC,EAAQL,GAAMF,KAAQ,EAAK;AAAA,EAAA;AAGxC,SACE,gBAAAQ,EAAC,QAAA,EACC,eAAY,QACZ,WAAWC,EACTR,MAAQ,UAAUV,EAAO,OAAOU,CAAG,EAAE,GACrCZ,EAAMc,CAAI,GACVZ,EAAOmB,MACPhB,EAASU,CAAO,CAClB,GACA,OAAOC,GAAU,kBAAA,OAAA,CAAA;AAGvB,GAEaM,IAAQA,MACZC,OAAOC,KAAKC,CAAS;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/index5.css');const d=require("react/jsx-runtime"),c=require("react"),o="_image_14j8z_1",y={image:o};function S({fadeDurationMs:n=250,showOnError:r=!0,onLoad:a,onError:i,style:l,...t}){const u=c.useRef(null),[m,s]=c.useState(!1);c.useEffect(()=>{s(!1)},[t.src,t.srcSet]),c.useEffect(()=>{const e=u.current;e&&e.complete&&e.naturalWidth>0&&s(!0)},[t.src,t.srcSet]);const f=e=>{s(!0),a==null||a(e)},g=e=>{r&&s(!0),i==null||i(e)};return d.jsx("img",{...t,className:y.image,onLoad:f,onError:g,ref:u,style:{...l,opacity:m?1:0,"--duration-override":`${n}ms`},"data-component":"image"})}exports.Image=S;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1,32 +1,32 @@
|
|
|
1
1
|
import { jsx as g } from "react/jsx-runtime";
|
|
2
2
|
import { useRef as o, useState as h, useEffect as m } from "react";
|
|
3
|
-
import '../../assets/
|
|
3
|
+
import '../../assets/index5.css';const y = "_image_14j8z_1", S = {
|
|
4
4
|
image: y
|
|
5
5
|
};
|
|
6
6
|
function x({
|
|
7
|
-
fadeDurationMs:
|
|
7
|
+
fadeDurationMs: r = 250,
|
|
8
8
|
showOnError: u = !0,
|
|
9
9
|
onLoad: a,
|
|
10
10
|
onError: c,
|
|
11
|
-
style:
|
|
11
|
+
style: f,
|
|
12
12
|
...t
|
|
13
13
|
}) {
|
|
14
|
-
const i = o(null), [
|
|
14
|
+
const i = o(null), [l, s] = h(!1);
|
|
15
15
|
m(() => {
|
|
16
16
|
s(!1);
|
|
17
17
|
}, [t.src, t.srcSet]), m(() => {
|
|
18
18
|
const e = i.current;
|
|
19
19
|
e && e.complete && e.naturalWidth > 0 && s(!0);
|
|
20
20
|
}, [t.src, t.srcSet]);
|
|
21
|
-
const
|
|
21
|
+
const n = (e) => {
|
|
22
22
|
s(!0), a == null || a(e);
|
|
23
23
|
}, d = (e) => {
|
|
24
24
|
u && s(!0), c == null || c(e);
|
|
25
25
|
};
|
|
26
|
-
return /* @__PURE__ */ g("img", { ...t, className: S.image, onLoad:
|
|
27
|
-
...
|
|
28
|
-
opacity:
|
|
29
|
-
"--duration-override": `${
|
|
26
|
+
return /* @__PURE__ */ g("img", { ...t, className: S.image, onLoad: n, onError: d, ref: i, style: {
|
|
27
|
+
...f,
|
|
28
|
+
opacity: l ? 1 : 0,
|
|
29
|
+
"--duration-override": `${r}ms`
|
|
30
30
|
}, "data-component": "image" });
|
|
31
31
|
}
|
|
32
32
|
export {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),y=require("../../classix-5H4IWnMA.cjs"),l=require("react"),P=require("../../icons-C_cX1FYp.cjs"),T=require("../../utils-DBzf7CFq.cjs"),s=require("../../styles.module-BPvMQa_x.cjs");function b({className:C,defaultCountryCode:h="+47",disabled:a=!1,icon:i,label:d,placeholder:m,ref:v,required:c,type:t="text",...e}){const[r,g]=l.useState(""),[o,x]=l.useState(""),{onChange:N,value:j,...q}=e,{touched:S,onBlur:p}=T.useTouched(j===""),f=i&&t!=="radio"&&t!=="datetime-local"?{"--icon-svg":P.iconSVG(i,!0)}:void 0;l.useEffect(()=>{if(typeof e.onChange=="function"&&t==="tel"){const u={name:e.name,value:o?(r||h).split(" ").join("")+o.split(" ").join(""):void 0};e.onChange({target:u,currentTarget:u})}},[r,o]),l.useEffect(()=>{t==="tel"&&!e.value&&(x(""),g(""))},[e.value,t]);const I=n.jsxs(n.Fragment,{children:[n.jsx("input",{disabled:a,hidden:!0,onChange:N,pattern:void 0,placeholder:m,ref:v,type:t,value:j}),n.jsx("input",{type:"text",className:s.inputStyles.input,disabled:a,maxLength:5,onChange:u=>g(u.target.value),placeholder:h,value:r}),n.jsx("input",{type:"tel",className:y.t(s.inputStyles.input,S&&s.inputStyles.touched),"data-icon":i?"true":void 0,disabled:a,maxLength:14,name:void 0,onChange:u=>x(u.target.value),onBlur:p,pattern:e.pattern,required:c,style:f,value:o,...q})]});return n.jsxs("label",{className:s.inputStyles.label,"data-component":"input",children:[d&&n.jsx("span",{"data-required":c||void 0,children:d}),t==="tel"?I:n.jsx("input",{ref:v,className:y.t(s.inputStyles.input,C,S&&s.inputStyles.touched),"data-icon":i?"true":void 0,disabled:a,onBlur:p,placeholder:m,required:c,style:f,type:t,...e})]})}exports.Input=b;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../src/components/input/index.tsx"],"sourcesContent":["import cx from 'classix';\nimport { useEffect, useState } from 'react';\n\nimport { IconName, iconSVG } from '@/components/icon/icons.ts';\nimport { useTouched } from '@/utils.ts';\n\nimport styles from './styles.module.css';\n\nexport type InputProps = React.ComponentPropsWithRef<'input'> & {\n defaultCountryCode?: string;\n disabled?: boolean;\n icon?: IconName;\n label?: string;\n onClick?: React.MouseEventHandler<HTMLInputElement>;\n placeholder?: string;\n type?:\n | 'date'\n | 'datetime-local'\n | 'email'\n | 'number'\n | 'password'\n | 'radio'\n | 'search'\n | 'tel'\n | 'text';\n};\n\nexport function Input({\n className,\n defaultCountryCode = '+47',\n disabled = false,\n icon,\n label,\n placeholder,\n ref,\n type = 'text',\n ...props\n}: InputProps) {\n const [countryCode, setCountryCode] = useState('');\n const [phoneNumber, setPhoneNumber] = useState('');\n const { onChange, value, ...restProps } = props;\n const { touched, onBlur } = useTouched(value === '');\n\n type withVars =\n | (React.CSSProperties & {\n '--icon-svg'?: string;\n })\n | undefined;\n\n const withVars: withVars =\n icon && type !== 'radio' && type !== 'datetime-local'\n ? {\n '--icon-svg': iconSVG(icon, true),\n }\n : undefined;\n\n useEffect(() => {\n if (typeof props.onChange === 'function' && type === 'tel') {\n const target = {\n name: props.name,\n value: phoneNumber\n ? (countryCode || defaultCountryCode).split(' ').join('') +\n phoneNumber.split(' ').join('')\n : undefined,\n } as unknown as HTMLInputElement;\n // eslint-disable-next-line\n (props.onChange as any)({ target, currentTarget: target });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [countryCode, phoneNumber]);\n\n useEffect(() => {\n if (type === 'tel' && !props.value) {\n setPhoneNumber('');\n setCountryCode('');\n }\n }, [props.value, type]);\n\n const telephoneInput = (\n <>\n <input\n disabled={disabled}\n hidden\n onChange={onChange}\n pattern={undefined}\n placeholder={placeholder}\n ref={ref}\n type={type}\n value={value}\n />\n <input\n type='text'\n className={styles.input}\n disabled={disabled}\n maxLength={5}\n onChange={(e) => setCountryCode(e.target.value)}\n placeholder={defaultCountryCode}\n value={countryCode}\n />\n <input\n type='tel'\n className={cx(styles.input, touched &&
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../src/components/input/index.tsx"],"sourcesContent":["import cx from 'classix';\nimport { useEffect, useState } from 'react';\n\nimport { IconName, iconSVG } from '@/components/icon/icons.ts';\nimport { useTouched } from '@/utils.ts';\n\nimport styles from './styles.module.css';\n\nexport type InputProps = React.ComponentPropsWithRef<'input'> & {\n defaultCountryCode?: string;\n disabled?: boolean;\n icon?: IconName;\n label?: string;\n onClick?: React.MouseEventHandler<HTMLInputElement>;\n placeholder?: string;\n type?:\n | 'date'\n | 'datetime-local'\n | 'email'\n | 'number'\n | 'password'\n | 'radio'\n | 'search'\n | 'tel'\n | 'text';\n};\n\nexport function Input({\n className,\n defaultCountryCode = '+47',\n disabled = false,\n icon,\n label,\n placeholder,\n ref,\n required,\n type = 'text',\n ...props\n}: InputProps) {\n const [countryCode, setCountryCode] = useState('');\n const [phoneNumber, setPhoneNumber] = useState('');\n const { onChange, value, ...restProps } = props;\n const { touched, onBlur } = useTouched(value === '');\n\n type withVars =\n | (React.CSSProperties & {\n '--icon-svg'?: string;\n })\n | undefined;\n\n const withVars: withVars =\n icon && type !== 'radio' && type !== 'datetime-local'\n ? {\n '--icon-svg': iconSVG(icon, true),\n }\n : undefined;\n\n useEffect(() => {\n if (typeof props.onChange === 'function' && type === 'tel') {\n const target = {\n name: props.name,\n value: phoneNumber\n ? (countryCode || defaultCountryCode).split(' ').join('') +\n phoneNumber.split(' ').join('')\n : undefined,\n } as unknown as HTMLInputElement;\n // eslint-disable-next-line\n (props.onChange as any)({ target, currentTarget: target });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [countryCode, phoneNumber]);\n\n useEffect(() => {\n if (type === 'tel' && !props.value) {\n setPhoneNumber('');\n setCountryCode('');\n }\n }, [props.value, type]);\n\n const telephoneInput = (\n <>\n <input\n disabled={disabled}\n hidden\n onChange={onChange}\n pattern={undefined}\n placeholder={placeholder}\n ref={ref}\n type={type}\n value={value}\n />\n <input\n type='text'\n className={styles.input}\n disabled={disabled}\n maxLength={5}\n onChange={(e) => setCountryCode(e.target.value)}\n placeholder={defaultCountryCode}\n value={countryCode}\n />\n <input\n type='tel'\n className={cx(styles.input, touched && styles.touched)}\n data-icon={icon ? 'true' : undefined}\n disabled={disabled}\n maxLength={14}\n name={undefined}\n onChange={(e) => setPhoneNumber(e.target.value)}\n onBlur={onBlur}\n pattern={props.pattern}\n required={required}\n style={withVars}\n value={phoneNumber}\n {...restProps}\n />\n </>\n );\n\n return (\n <label className={styles.label}>\n {label && <span data-required={required || undefined}>{label}</span>}\n {type === 'tel' ? (\n telephoneInput\n ) : (\n <input\n ref={ref}\n className={cx(styles.input, className, touched && styles.touched)}\n data-icon={icon ? 'true' : undefined}\n disabled={disabled}\n onBlur={onBlur}\n placeholder={placeholder}\n required={required}\n style={withVars}\n type={type}\n {...props}\n />\n )}\n </label>\n );\n}\n"],"names":["Input","className","defaultCountryCode","disabled","icon","label","placeholder","ref","required","type","props","countryCode","setCountryCode","useState","phoneNumber","setPhoneNumber","onChange","value","restProps","touched","onBlur","useTouched","withVars","iconSVG","undefined","useEffect","target","name","split","join","currentTarget","telephoneInput","jsxs","Fragment","jsx","styles","input","e","cx","pattern"],"mappings":"0SA2BO,SAASA,EAAM,CACpBC,UAAAA,EACAC,mBAAAA,EAAqB,MACrBC,SAAAA,EAAW,GACXC,KAAAA,EACAC,MAAAA,EACAC,YAAAA,EACAC,IAAAA,EACAC,SAAAA,EACAC,KAAAA,EAAO,OACP,GAAGC,CACO,EAAG,CACb,KAAM,CAACC,EAAaC,CAAc,EAAIC,EAAAA,SAAS,EAAE,EAC3C,CAACC,EAAaC,CAAc,EAAIF,EAAAA,SAAS,EAAE,EAC3C,CAAEG,SAAAA,EAAUC,MAAAA,EAAO,GAAGC,CAAAA,EAAcR,EACpC,CAAES,QAAAA,EAASC,OAAAA,CAAAA,EAAWC,EAAAA,WAAWJ,IAAU,EAAE,EAQ7CK,EACJlB,GAAQK,IAAS,SAAWA,IAAS,iBACjC,CACE,aAAcc,EAAAA,QAAQnB,EAAM,EAAI,CAAA,EAElCoB,OAENC,EAAAA,UAAU,IAAM,CACd,GAAI,OAAOf,EAAMM,UAAa,YAAcP,IAAS,MAAO,CAC1D,MAAMiB,EAAS,CACbC,KAAMjB,EAAMiB,KACZV,MAAOH,GACFH,GAAeT,GAAoB0B,MAAM,GAAG,EAAEC,KAAK,EAAE,EACtDf,EAAYc,MAAM,GAAG,EAAEC,KAAK,EAAE,EAC9BL,MAAAA,EAGLd,EAAMM,SAAiB,CAAEU,OAAAA,EAAQI,cAAeJ,CAAAA,CAAQ,CAC3D,CAEF,EAAG,CAACf,EAAaG,CAAW,CAAC,EAE7BW,EAAAA,UAAU,IAAM,CACVhB,IAAS,OAAS,CAACC,EAAMO,QAC3BF,EAAe,EAAE,EACjBH,EAAe,EAAE,EAErB,EAAG,CAACF,EAAMO,MAAOR,CAAI,CAAC,EAEtB,MAAMsB,EACJC,EAAAA,KAAAC,EAAAA,SAAA,CACE,SAAA,CAAAC,EAAAA,IAAC,QAAA,CACC,SAAA/B,EACA,OAAM,GACN,SAAAa,EACA,QAASQ,OACT,YAAAlB,EACA,IAAAC,EACA,KAAAE,EACA,MAAAQ,CAAA,CAAa,EAEfiB,MAAC,SACC,KAAK,OACL,UAAWC,EAAAA,YAAOC,MAClB,SAAAjC,EACA,UAAW,EACX,SAAWkC,GAAMzB,EAAeyB,EAAEX,OAAOT,KAAK,EAC9C,YAAaf,EACb,MAAOS,EAAY,QAEpB,QAAA,CACC,KAAK,MACL,UAAW2B,EAAAA,EAAGH,EAAAA,YAAOC,MAAOjB,GAAWgB,EAAAA,YAAOhB,OAAO,EACrD,YAAWf,EAAO,OAASoB,OAC3B,SAAArB,EACA,UAAW,GACX,KAAMqB,OACN,SAAWa,GAAMtB,EAAesB,EAAEX,OAAOT,KAAK,EAC9C,OAAAG,EACA,QAASV,EAAM6B,QACf,SAAA/B,EACA,MAAOc,EACP,MAAOR,EACP,GAAII,CAAAA,CAAU,CAAA,EAElB,EAGF,cACG,QAAA,CAAM,UAAWiB,EAAAA,YAAO9B,MAAM,iBAAA,QAC5BA,SAAAA,CAAAA,GAAS6B,EAAAA,IAAC,OAAA,CAAK,gBAAe1B,GAAYgB,OAAYnB,SAAAA,EAAM,EAC5DI,IAAS,MACRsB,EAEAG,EAAAA,IAAC,QAAA,CACC,IAAA3B,EACA,UAAW+B,EAAAA,EAAGH,EAAAA,YAAOC,MAAOnC,EAAWkB,GAAWgB,EAAAA,YAAOhB,OAAO,EAChE,YAAWf,EAAO,OAASoB,OAC3B,SAAArB,EACA,OAAAiB,EACA,YAAAd,EACA,SAAAE,EACA,MAAOc,EACP,KAAAb,EACA,GAAIC,CAAAA,CAAM,CAAA,EAGhB,CAEJ"}
|
|
@@ -1,55 +1,56 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import { t as
|
|
3
|
-
import { useState as
|
|
4
|
-
import { i as
|
|
5
|
-
import { u as
|
|
6
|
-
import { i as
|
|
7
|
-
function
|
|
8
|
-
className:
|
|
1
|
+
import { jsxs as N, Fragment as w, jsx as o } from "react/jsx-runtime";
|
|
2
|
+
import { t as j } from "../../classix-DG18itHa.js";
|
|
3
|
+
import { useState as S, useEffect as I } from "react";
|
|
4
|
+
import { i as B } from "../../icons-DfmpRbxE.js";
|
|
5
|
+
import { u as E } from "../../utils--n2yqjCy.js";
|
|
6
|
+
import { i as a } from "../../styles.module-BOTEBJ0C.js";
|
|
7
|
+
function A({
|
|
8
|
+
className: L,
|
|
9
9
|
defaultCountryCode: c = "+47",
|
|
10
10
|
disabled: u = !1,
|
|
11
11
|
icon: i,
|
|
12
12
|
label: m,
|
|
13
13
|
placeholder: h,
|
|
14
|
-
ref:
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
ref: v,
|
|
15
|
+
required: l,
|
|
16
|
+
type: t = "text",
|
|
17
|
+
...e
|
|
17
18
|
}) {
|
|
18
|
-
const [
|
|
19
|
-
onChange:
|
|
19
|
+
const [s, d] = S(""), [r, g] = S(""), {
|
|
20
|
+
onChange: P,
|
|
20
21
|
value: f,
|
|
21
|
-
...
|
|
22
|
-
} =
|
|
22
|
+
...T
|
|
23
|
+
} = e, {
|
|
23
24
|
touched: p,
|
|
24
25
|
onBlur: x
|
|
25
|
-
} =
|
|
26
|
-
"--icon-svg":
|
|
26
|
+
} = E(f === ""), C = i && t !== "radio" && t !== "datetime-local" ? {
|
|
27
|
+
"--icon-svg": B(i, !0)
|
|
27
28
|
} : void 0;
|
|
28
|
-
|
|
29
|
-
if (typeof
|
|
29
|
+
I(() => {
|
|
30
|
+
if (typeof e.onChange == "function" && t === "tel") {
|
|
30
31
|
const n = {
|
|
31
|
-
name:
|
|
32
|
-
value: r ? (
|
|
32
|
+
name: e.name,
|
|
33
|
+
value: r ? (s || c).split(" ").join("") + r.split(" ").join("") : void 0
|
|
33
34
|
};
|
|
34
|
-
|
|
35
|
+
e.onChange({
|
|
35
36
|
target: n,
|
|
36
37
|
currentTarget: n
|
|
37
38
|
});
|
|
38
39
|
}
|
|
39
|
-
}, [
|
|
40
|
-
|
|
41
|
-
}, [
|
|
42
|
-
const
|
|
43
|
-
/* @__PURE__ */
|
|
44
|
-
/* @__PURE__ */
|
|
45
|
-
/* @__PURE__ */
|
|
40
|
+
}, [s, r]), I(() => {
|
|
41
|
+
t === "tel" && !e.value && (g(""), d(""));
|
|
42
|
+
}, [e.value, t]);
|
|
43
|
+
const V = /* @__PURE__ */ N(w, { children: [
|
|
44
|
+
/* @__PURE__ */ o("input", { disabled: u, hidden: !0, onChange: P, pattern: void 0, placeholder: h, ref: v, type: t, value: f }),
|
|
45
|
+
/* @__PURE__ */ o("input", { type: "text", className: a.input, disabled: u, maxLength: 5, onChange: (n) => d(n.target.value), placeholder: c, value: s }),
|
|
46
|
+
/* @__PURE__ */ o("input", { type: "tel", className: j(a.input, p && a.touched), "data-icon": i ? "true" : void 0, disabled: u, maxLength: 14, name: void 0, onChange: (n) => g(n.target.value), onBlur: x, pattern: e.pattern, required: l, style: C, value: r, ...T })
|
|
46
47
|
] });
|
|
47
|
-
return /* @__PURE__ */
|
|
48
|
-
m && /* @__PURE__ */
|
|
49
|
-
|
|
48
|
+
return /* @__PURE__ */ N("label", { className: a.label, "data-component": "input", children: [
|
|
49
|
+
m && /* @__PURE__ */ o("span", { "data-required": l || void 0, children: m }),
|
|
50
|
+
t === "tel" ? V : /* @__PURE__ */ o("input", { ref: v, className: j(a.input, L, p && a.touched), "data-icon": i ? "true" : void 0, disabled: u, onBlur: x, placeholder: h, required: l, style: C, type: t, ...e })
|
|
50
51
|
] });
|
|
51
52
|
}
|
|
52
53
|
export {
|
|
53
|
-
|
|
54
|
+
A as Input
|
|
54
55
|
};
|
|
55
56
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/components/input/index.tsx"],"sourcesContent":["import cx from 'classix';\nimport { useEffect, useState } from 'react';\n\nimport { IconName, iconSVG } from '@/components/icon/icons.ts';\nimport { useTouched } from '@/utils.ts';\n\nimport styles from './styles.module.css';\n\nexport type InputProps = React.ComponentPropsWithRef<'input'> & {\n defaultCountryCode?: string;\n disabled?: boolean;\n icon?: IconName;\n label?: string;\n onClick?: React.MouseEventHandler<HTMLInputElement>;\n placeholder?: string;\n type?:\n | 'date'\n | 'datetime-local'\n | 'email'\n | 'number'\n | 'password'\n | 'radio'\n | 'search'\n | 'tel'\n | 'text';\n};\n\nexport function Input({\n className,\n defaultCountryCode = '+47',\n disabled = false,\n icon,\n label,\n placeholder,\n ref,\n type = 'text',\n ...props\n}: InputProps) {\n const [countryCode, setCountryCode] = useState('');\n const [phoneNumber, setPhoneNumber] = useState('');\n const { onChange, value, ...restProps } = props;\n const { touched, onBlur } = useTouched(value === '');\n\n type withVars =\n | (React.CSSProperties & {\n '--icon-svg'?: string;\n })\n | undefined;\n\n const withVars: withVars =\n icon && type !== 'radio' && type !== 'datetime-local'\n ? {\n '--icon-svg': iconSVG(icon, true),\n }\n : undefined;\n\n useEffect(() => {\n if (typeof props.onChange === 'function' && type === 'tel') {\n const target = {\n name: props.name,\n value: phoneNumber\n ? (countryCode || defaultCountryCode).split(' ').join('') +\n phoneNumber.split(' ').join('')\n : undefined,\n } as unknown as HTMLInputElement;\n // eslint-disable-next-line\n (props.onChange as any)({ target, currentTarget: target });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [countryCode, phoneNumber]);\n\n useEffect(() => {\n if (type === 'tel' && !props.value) {\n setPhoneNumber('');\n setCountryCode('');\n }\n }, [props.value, type]);\n\n const telephoneInput = (\n <>\n <input\n disabled={disabled}\n hidden\n onChange={onChange}\n pattern={undefined}\n placeholder={placeholder}\n ref={ref}\n type={type}\n value={value}\n />\n <input\n type='text'\n className={styles.input}\n disabled={disabled}\n maxLength={5}\n onChange={(e) => setCountryCode(e.target.value)}\n placeholder={defaultCountryCode}\n value={countryCode}\n />\n <input\n type='tel'\n className={cx(styles.input, touched &&
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/input/index.tsx"],"sourcesContent":["import cx from 'classix';\nimport { useEffect, useState } from 'react';\n\nimport { IconName, iconSVG } from '@/components/icon/icons.ts';\nimport { useTouched } from '@/utils.ts';\n\nimport styles from './styles.module.css';\n\nexport type InputProps = React.ComponentPropsWithRef<'input'> & {\n defaultCountryCode?: string;\n disabled?: boolean;\n icon?: IconName;\n label?: string;\n onClick?: React.MouseEventHandler<HTMLInputElement>;\n placeholder?: string;\n type?:\n | 'date'\n | 'datetime-local'\n | 'email'\n | 'number'\n | 'password'\n | 'radio'\n | 'search'\n | 'tel'\n | 'text';\n};\n\nexport function Input({\n className,\n defaultCountryCode = '+47',\n disabled = false,\n icon,\n label,\n placeholder,\n ref,\n required,\n type = 'text',\n ...props\n}: InputProps) {\n const [countryCode, setCountryCode] = useState('');\n const [phoneNumber, setPhoneNumber] = useState('');\n const { onChange, value, ...restProps } = props;\n const { touched, onBlur } = useTouched(value === '');\n\n type withVars =\n | (React.CSSProperties & {\n '--icon-svg'?: string;\n })\n | undefined;\n\n const withVars: withVars =\n icon && type !== 'radio' && type !== 'datetime-local'\n ? {\n '--icon-svg': iconSVG(icon, true),\n }\n : undefined;\n\n useEffect(() => {\n if (typeof props.onChange === 'function' && type === 'tel') {\n const target = {\n name: props.name,\n value: phoneNumber\n ? (countryCode || defaultCountryCode).split(' ').join('') +\n phoneNumber.split(' ').join('')\n : undefined,\n } as unknown as HTMLInputElement;\n // eslint-disable-next-line\n (props.onChange as any)({ target, currentTarget: target });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [countryCode, phoneNumber]);\n\n useEffect(() => {\n if (type === 'tel' && !props.value) {\n setPhoneNumber('');\n setCountryCode('');\n }\n }, [props.value, type]);\n\n const telephoneInput = (\n <>\n <input\n disabled={disabled}\n hidden\n onChange={onChange}\n pattern={undefined}\n placeholder={placeholder}\n ref={ref}\n type={type}\n value={value}\n />\n <input\n type='text'\n className={styles.input}\n disabled={disabled}\n maxLength={5}\n onChange={(e) => setCountryCode(e.target.value)}\n placeholder={defaultCountryCode}\n value={countryCode}\n />\n <input\n type='tel'\n className={cx(styles.input, touched && styles.touched)}\n data-icon={icon ? 'true' : undefined}\n disabled={disabled}\n maxLength={14}\n name={undefined}\n onChange={(e) => setPhoneNumber(e.target.value)}\n onBlur={onBlur}\n pattern={props.pattern}\n required={required}\n style={withVars}\n value={phoneNumber}\n {...restProps}\n />\n </>\n );\n\n return (\n <label className={styles.label}>\n {label && <span data-required={required || undefined}>{label}</span>}\n {type === 'tel' ? (\n telephoneInput\n ) : (\n <input\n ref={ref}\n className={cx(styles.input, className, touched && styles.touched)}\n data-icon={icon ? 'true' : undefined}\n disabled={disabled}\n onBlur={onBlur}\n placeholder={placeholder}\n required={required}\n style={withVars}\n type={type}\n {...props}\n />\n )}\n </label>\n );\n}\n"],"names":["Input","className","defaultCountryCode","disabled","icon","label","placeholder","ref","required","type","props","countryCode","setCountryCode","useState","phoneNumber","setPhoneNumber","onChange","value","restProps","touched","onBlur","useTouched","withVars","iconSVG","undefined","useEffect","target","name","split","join","currentTarget","telephoneInput","jsxs","Fragment","jsx","styles","input","e","cx","pattern"],"mappings":";;;;;;AA2BO,SAASA,EAAM;AAAA,EACpBC,WAAAA;AAAAA,EACAC,oBAAAA,IAAqB;AAAA,EACrBC,UAAAA,IAAW;AAAA,EACXC,MAAAA;AAAAA,EACAC,OAAAA;AAAAA,EACAC,aAAAA;AAAAA,EACAC,KAAAA;AAAAA,EACAC,UAAAA;AAAAA,EACAC,MAAAA,IAAO;AAAA,EACP,GAAGC;AACO,GAAG;AACb,QAAM,CAACC,GAAaC,CAAc,IAAIC,EAAS,EAAE,GAC3C,CAACC,GAAaC,CAAc,IAAIF,EAAS,EAAE,GAC3C;AAAA,IAAEG,UAAAA;AAAAA,IAAUC,OAAAA;AAAAA,IAAO,GAAGC;AAAAA,EAAAA,IAAcR,GACpC;AAAA,IAAES,SAAAA;AAAAA,IAASC,QAAAA;AAAAA,EAAAA,IAAWC,EAAWJ,MAAU,EAAE,GAQ7CK,IACJlB,KAAQK,MAAS,WAAWA,MAAS,mBACjC;AAAA,IACE,cAAcc,EAAQnB,GAAM,EAAI;AAAA,EAAA,IAElCoB;AAENC,EAAAA,EAAU,MAAM;AACd,QAAI,OAAOf,EAAMM,YAAa,cAAcP,MAAS,OAAO;AAC1D,YAAMiB,IAAS;AAAA,QACbC,MAAMjB,EAAMiB;AAAAA,QACZV,OAAOH,KACFH,KAAeT,GAAoB0B,MAAM,GAAG,EAAEC,KAAK,EAAE,IACtDf,EAAYc,MAAM,GAAG,EAAEC,KAAK,EAAE,IAC9BL;AAAAA,MAAAA;AAGLd,MAAAA,EAAMM,SAAiB;AAAA,QAAEU,QAAAA;AAAAA,QAAQI,eAAeJ;AAAAA,MAAAA,CAAQ;AAAA,IAC3D;AAAA,EAEF,GAAG,CAACf,GAAaG,CAAW,CAAC,GAE7BW,EAAU,MAAM;AACd,IAAIhB,MAAS,SAAS,CAACC,EAAMO,UAC3BF,EAAe,EAAE,GACjBH,EAAe,EAAE;AAAA,EAErB,GAAG,CAACF,EAAMO,OAAOR,CAAI,CAAC;AAEtB,QAAMsB,IACJ,gBAAAC,EAAAC,GAAA,EACE,UAAA;AAAA,IAAA,gBAAAC,EAAC,SAAA,EACC,UAAA/B,GACA,QAAM,IACN,UAAAa,GACA,SAASQ,QACT,aAAAlB,GACA,KAAAC,GACA,MAAAE,GACA,OAAAQ,EAAA,CAAa;AAAA,IAEf,gBAAAiB,EAAC,WACC,MAAK,QACL,WAAWC,EAAOC,OAClB,UAAAjC,GACA,WAAW,GACX,UAAWkC,CAAAA,MAAMzB,EAAeyB,EAAEX,OAAOT,KAAK,GAC9C,aAAaf,GACb,OAAOS,GAAY;AAAA,sBAEpB,SAAA,EACC,MAAK,OACL,WAAW2B,EAAGH,EAAOC,OAAOjB,KAAWgB,EAAOhB,OAAO,GACrD,aAAWf,IAAO,SAASoB,QAC3B,UAAArB,GACA,WAAW,IACX,MAAMqB,QACN,UAAWa,CAAAA,MAAMtB,EAAesB,EAAEX,OAAOT,KAAK,GAC9C,QAAAG,GACA,SAASV,EAAM6B,SACf,UAAA/B,GACA,OAAOc,GACP,OAAOR,GACP,GAAII,EAAAA,CAAU;AAAA,EAAA,GAElB;AAGF,2BACG,SAAA,EAAM,WAAWiB,EAAO9B,OAAM,kBAAA,SAC5BA,UAAAA;AAAAA,IAAAA,KAAS,gBAAA6B,EAAC,QAAA,EAAK,iBAAe1B,KAAYgB,QAAYnB,UAAAA,GAAM;AAAA,IAC5DI,MAAS,QACRsB,IAEA,gBAAAG,EAAC,SAAA,EACC,KAAA3B,GACA,WAAW+B,EAAGH,EAAOC,OAAOnC,GAAWkB,KAAWgB,EAAOhB,OAAO,GAChE,aAAWf,IAAO,SAASoB,QAC3B,UAAArB,GACA,QAAAiB,GACA,aAAAd,GACA,UAAAE,GACA,OAAOc,GACP,MAAAb,GACA,GAAIC,EAAAA,CAAM;AAAA,EAAA,GAGhB;AAEJ;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../assets/index37.css');const s=require("react/jsx-runtime"),l=require("../../classix-5H4IWnMA.cjs"),m="_link_xhd9q_1",o="_primary_xhd9q_7",c="_danger_xhd9q_13",_="_minimal_xhd9q_21",n={link:m,primary:o,danger:c,minimal:_},d=({children:i,className:r,to:e="#",variant:t="primary",...a})=>s.jsx("a",{className:l.t(r,n.link,n[t]),href:e,...a,"data-component":"link",children:i});exports.Link=d;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|