@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.
Files changed (191) hide show
  1. package/README.md +1 -1
  2. package/dist/assets/index.css +1 -1
  3. package/dist/assets/index10.css +1 -1
  4. package/dist/assets/index11.css +1 -1
  5. package/dist/assets/index12.css +1 -1
  6. package/dist/assets/index13.css +1 -1
  7. package/dist/assets/index14.css +1 -1
  8. package/dist/assets/index15.css +1 -1
  9. package/dist/assets/index16.css +1 -1
  10. package/dist/assets/index17.css +1 -1
  11. package/dist/assets/index18.css +1 -1
  12. package/dist/assets/index19.css +1 -1
  13. package/dist/assets/index2.css +1 -1
  14. package/dist/assets/index20.css +1 -1
  15. package/dist/assets/index21.css +1 -1
  16. package/dist/assets/index22.css +1 -1
  17. package/dist/assets/index23.css +1 -1
  18. package/dist/assets/index24.css +1 -1
  19. package/dist/assets/index25.css +1 -1
  20. package/dist/assets/index26.css +1 -1
  21. package/dist/assets/index27.css +1 -1
  22. package/dist/assets/index29.css +1 -1
  23. package/dist/assets/index3.css +1 -1
  24. package/dist/assets/index31.css +1 -1
  25. package/dist/assets/index32.css +1 -1
  26. package/dist/assets/index33.css +1 -1
  27. package/dist/assets/index34.css +1 -1
  28. package/dist/assets/index35.css +1 -1
  29. package/dist/assets/index36.css +1 -1
  30. package/dist/assets/index37.css +1 -1
  31. package/dist/assets/index38.css +1 -1
  32. package/dist/assets/index39.css +1 -1
  33. package/dist/assets/index40.css +1 -1
  34. package/dist/assets/index41.css +1 -1
  35. package/dist/assets/index42.css +1 -1
  36. package/dist/assets/index43.css +1 -1
  37. package/dist/assets/index44.css +1 -1
  38. package/dist/assets/index5.css +1 -1
  39. package/dist/assets/index6.css +1 -1
  40. package/dist/assets/index7.css +0 -1
  41. package/dist/assets/index8.css +1 -0
  42. package/dist/assets/index9.css +1 -1
  43. package/dist/assets/styles.css +1 -1
  44. package/dist/components/_avatar/index.cjs +1 -1
  45. package/dist/components/_avatar/index.cjs.map +1 -1
  46. package/dist/components/_avatar/index.js +9 -9
  47. package/dist/components/_avatar/index.js.map +1 -1
  48. package/dist/components/_card/index.cjs +1 -1
  49. package/dist/components/_card/index.js +12 -12
  50. package/dist/components/_collapsible/index.cjs +1 -1
  51. package/dist/components/_collapsible/index.js +1 -1
  52. package/dist/components/_croppable/index.cjs +1 -1
  53. package/dist/components/_croppable/index.js +175 -175
  54. package/dist/components/_dropdown/index.cjs +1 -1
  55. package/dist/components/_dropdown/index.cjs.map +1 -1
  56. package/dist/components/_dropdown/index.js +87 -87
  57. package/dist/components/_dropdown/index.js.map +1 -1
  58. package/dist/components/_dropzone/index.cjs +1 -1
  59. package/dist/components/_dropzone/index.js +34 -34
  60. package/dist/components/_editor/index.cjs +16 -16
  61. package/dist/components/_editor/index.cjs.map +1 -1
  62. package/dist/components/_editor/index.js +19 -19
  63. package/dist/components/_editor/index.js.map +1 -1
  64. package/dist/components/_messages/index.cjs +1 -1
  65. package/dist/components/_messages/index.cjs.map +1 -1
  66. package/dist/components/_messages/index.js +15 -15
  67. package/dist/components/_messages/index.js.map +1 -1
  68. package/dist/components/_portal/index.cjs +1 -1
  69. package/dist/components/_portal/index.cjs.map +1 -1
  70. package/dist/components/_portal/index.js +17 -16
  71. package/dist/components/_portal/index.js.map +1 -1
  72. package/dist/components/_sortable/index.cjs +1 -1
  73. package/dist/components/_sortable/index.cjs.map +1 -1
  74. package/dist/components/_sortable/index.js +21 -21
  75. package/dist/components/_sortable/index.js.map +1 -1
  76. package/dist/components/_widget/index.cjs +1 -1
  77. package/dist/components/_widget/index.js +3 -3
  78. package/dist/components/app-link/index.cjs +1 -1
  79. package/dist/components/app-link/index.cjs.map +1 -1
  80. package/dist/components/app-link/index.js +9 -9
  81. package/dist/components/app-link/index.js.map +1 -1
  82. package/dist/components/aside/index.cjs +1 -1
  83. package/dist/components/aside/index.js +6 -6
  84. package/dist/components/badge/index.cjs +1 -1
  85. package/dist/components/badge/index.cjs.map +1 -1
  86. package/dist/components/badge/index.js +19 -18
  87. package/dist/components/badge/index.js.map +1 -1
  88. package/dist/components/banner/index.cjs +1 -1
  89. package/dist/components/banner/index.js +9 -9
  90. package/dist/components/branding/index.cjs +1 -1
  91. package/dist/components/branding/index.js +12 -12
  92. package/dist/components/button/index.cjs +1 -1
  93. package/dist/components/button/index.js +12 -12
  94. package/dist/components/checkbox/index.cjs +1 -1
  95. package/dist/components/checkbox/index.js +7 -7
  96. package/dist/components/controls/index.cjs +1 -1
  97. package/dist/components/controls/index.cjs.map +1 -1
  98. package/dist/components/controls/index.js +21 -10
  99. package/dist/components/controls/index.js.map +1 -1
  100. package/dist/components/dialog/index.cjs +1 -1
  101. package/dist/components/dialog/index.js +3 -3
  102. package/dist/components/figure/index.cjs +1 -1
  103. package/dist/components/figure/index.cjs.map +1 -1
  104. package/dist/components/figure/index.js +11 -11
  105. package/dist/components/figure/index.js.map +1 -1
  106. package/dist/components/file/index.cjs +1 -1
  107. package/dist/components/file/index.cjs.map +1 -1
  108. package/dist/components/file/index.js +14 -13
  109. package/dist/components/file/index.js.map +1 -1
  110. package/dist/components/footer/index.cjs +1 -1
  111. package/dist/components/footer/index.js +3 -3
  112. package/dist/components/form/index.cjs +1 -1
  113. package/dist/components/form/index.js +11 -11
  114. package/dist/components/graph/index.cjs +1 -1
  115. package/dist/components/graph/index.cjs.map +1 -1
  116. package/dist/components/graph/index.js +31 -31
  117. package/dist/components/graph/index.js.map +1 -1
  118. package/dist/components/group/index.cjs +1 -1
  119. package/dist/components/group/index.js +1 -1
  120. package/dist/components/header/index.cjs +1 -1
  121. package/dist/components/header/index.js +3 -3
  122. package/dist/components/icon/index.cjs +1 -1
  123. package/dist/components/icon/index.cjs.map +1 -1
  124. package/dist/components/icon/index.js +26 -26
  125. package/dist/components/icon/index.js.map +1 -1
  126. package/dist/components/image/index.cjs +1 -1
  127. package/dist/components/image/index.js +9 -9
  128. package/dist/components/input/index.cjs +1 -1
  129. package/dist/components/input/index.cjs.map +1 -1
  130. package/dist/components/input/index.js +34 -33
  131. package/dist/components/input/index.js.map +1 -1
  132. package/dist/components/link/index.cjs +1 -1
  133. package/dist/components/link/index.js +11 -11
  134. package/dist/components/list/index.cjs +1 -1
  135. package/dist/components/list/index.js +7 -7
  136. package/dist/components/loading/index.cjs +1 -1
  137. package/dist/components/loading/index.js +13 -13
  138. package/dist/components/message/index.cjs +1 -1
  139. package/dist/components/message/index.js +7 -7
  140. package/dist/components/nav/index.cjs +1 -1
  141. package/dist/components/nav/index.js +23 -23
  142. package/dist/components/object/index.cjs +1 -1
  143. package/dist/components/object/index.cjs.map +1 -1
  144. package/dist/components/object/index.js +1 -1
  145. package/dist/components/object/index.js.map +1 -1
  146. package/dist/components/select/index.cjs +1 -1
  147. package/dist/components/select/index.js +1 -1
  148. package/dist/components/table/index.cjs +1 -1
  149. package/dist/components/table/index.cjs.map +1 -1
  150. package/dist/components/table/index.js +22 -22
  151. package/dist/components/table/index.js.map +1 -1
  152. package/dist/components/textarea/index.cjs +1 -1
  153. package/dist/components/textarea/index.cjs.map +1 -1
  154. package/dist/components/textarea/index.js +23 -23
  155. package/dist/components/textarea/index.js.map +1 -1
  156. package/dist/components/toast/index.cjs +1 -1
  157. package/dist/components/toast/index.cjs.map +1 -1
  158. package/dist/components/toast/index.js +23 -24
  159. package/dist/components/toast/index.js.map +1 -1
  160. package/dist/components/toggle/index.cjs +1 -1
  161. package/dist/components/toggle/index.js +1 -1
  162. package/dist/components/toolbar/index.cjs +1 -1
  163. package/dist/components/toolbar/index.js +9 -9
  164. package/dist/index-CiEbbnD6.js +42 -0
  165. package/dist/index-CiEbbnD6.js.map +1 -0
  166. package/dist/index-ClrKYsAQ.cjs +2 -0
  167. package/dist/index-ClrKYsAQ.cjs.map +1 -0
  168. package/dist/index.cjs +1 -1
  169. package/dist/index.d.ts +20 -23
  170. package/dist/index.js +40 -42
  171. package/dist/index.js.map +1 -1
  172. package/dist/styles.module-BOTEBJ0C.js +9 -0
  173. package/dist/styles.module-BOTEBJ0C.js.map +1 -0
  174. package/dist/styles.module-BPvMQa_x.cjs +2 -0
  175. package/dist/styles.module-BPvMQa_x.cjs.map +1 -0
  176. package/dist/tokens.css +44 -12
  177. package/dist/tokens.json +541 -68
  178. package/package.json +1 -1
  179. package/dist/assets/index45.css +0 -1
  180. package/dist/components/layout/index.cjs +0 -2
  181. package/dist/components/layout/index.cjs.map +0 -1
  182. package/dist/components/layout/index.js +0 -18
  183. package/dist/components/layout/index.js.map +0 -1
  184. package/dist/index-BNaQZHo6.js +0 -40
  185. package/dist/index-BNaQZHo6.js.map +0 -1
  186. package/dist/index-Bh5n72jH.cjs +0 -2
  187. package/dist/index-Bh5n72jH.cjs.map +0 -1
  188. package/dist/styles.module-DZXAP_eP.js +0 -8
  189. package/dist/styles.module-DZXAP_eP.js.map +0 -1
  190. package/dist/styles.module-Vt6mmlsz.cjs +0 -2
  191. package/dist/styles.module-Vt6mmlsz.cjs.map +0 -1
@@ -1,16 +1,16 @@
1
- import { jsx as s } from "react/jsx-runtime";
2
- import { t as a } from "../../classix-DG18itHa.js";
3
- import '../../assets/index36.css';const f = "_form_fapts_1", e = "_inline_fapts_26", n = {
4
- form: f,
5
- inline: e
6
- }, p = ({
7
- animation: t,
8
- children: o,
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
- ...i
12
- }) => /* @__PURE__ */ s("form", { className: a(m, r && n.inline, n.form), "data-animation": t, ...i, "data-component": "form", children: o && o });
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
- p as Form
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/index9.css');const a=require("react/jsx-runtime"),b=require("../../classix-5H4IWnMA.cjs"),y=require("../loading/index.cjs"),j="_graph_18yw9_11",w="_plot_18yw9_20",v="_item_18yw9_30",N="_column_18yw9_36",f="_value_18yw9_44",M="_track_18yw9_54",V="_bar_18yw9_61",k="_label_18yw9_82",e={graph:j,plot:w,item:v,column:N,value:f,track:M,bar:V,label:k,"is-loading":"_is-loading_18yw9_91"},h=l=>Number.isFinite(l)?Math.max(0,l):0,S=({className:l,height:r,items:n=[],label:o,style:_,valueFormatter:u=c=>c.toLocaleString(),...p})=>{const c=n.reduce((s,t)=>Math.max(s,h(t.value)),0),d={..._,"--graph-columns":Math.max(n.length,1),"--graph-height":r||"calc(var(--unit) * 16)"};return a.jsxs("figure",{className:b.t(e.graph,l),style:d,...p,"data-component":"graph",children:[o&&a.jsx("figcaption",{"data-content":"screen-reader",children:o}),n.length>0?a.jsx("ul",{className:e.plot,children:n.map((s,t)=>{const i=h(s.value),m=c>0?i/c*100:0,g=i>0?Math.max(m,6):0,x={"--bar-color":s.color,"--bar-delay":t*50+"ms","--bar-height":g+"%"};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:u(s.value)}),a.jsx("span",{className:e.track,children:a.jsx("span",{className:e.bar,style:x})})]}),a.jsx("span",{className:e.label,title:s.label,children:s.label})]},s.label+t)})}):a.jsx("div",{className:e["is-loading"],children:a.jsx(y.Loading,{})})]})};exports.Graph=S;
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 label?: string;\n valueFormatter?: (value: number) => string;\n};\n\nconst toSafeValue = (value: number) => (Number.isFinite(value) ? Math.max(0, value) : 0);\n\nexport const Graph = ({\n className,\n height,\n items = [],\n label,\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(--unit) * 16)',\n };\n\n return (\n <figure\n className={cx(styles.graph, className)}\n style={withVars}\n {...props}\n >\n {label && <figcaption data-content='screen-reader'>{label}</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","className","height","items","label","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","Loading"],"mappings":"icAkBMA,EAAeC,GAAmBC,OAAOC,SAASF,CAAK,EAAIG,KAAKC,IAAI,EAAGJ,CAAK,EAAI,EAEzEK,EAAQA,CAAC,CACpBC,UAAAA,EACAC,OAAAA,EACAC,MAAAA,EAAQ,CAAA,EACRC,MAAAA,EACAC,MAAAA,EACAC,eAAAA,EAAkBX,GAAUA,EAAMY,eAAAA,EAClC,GAAGC,CACO,IAAM,CAYhB,MAAMC,EAAWN,EAAMO,OAAO,CAACX,EAAKY,IAASb,KAAKC,IAAIA,EAAKL,EAAYiB,EAAKhB,KAAK,CAAC,EAAG,CAAC,EAEhFiB,EAAqB,CACzB,GAAGP,EACH,kBAAmBP,KAAKC,IAAII,EAAMU,OAAQ,CAAC,EAC3C,iBAAkBX,GAAkB,wBAAA,EAGtC,OACEY,EAAAA,KAAC,SAAA,CACC,UAAWC,EAAAA,EAAGC,EAAOC,MAAOhB,CAAS,EACrC,MAAOW,EACP,GAAIJ,EAAM,iBAAA,QAETJ,SAAAA,CAAAA,GAASc,EAAAA,IAAC,aAAA,CAAW,eAAa,gBAAiBd,SAAAA,EAAM,EACzDD,EAAMU,OAAS,EACdK,EAAAA,IAAC,KAAA,CAAG,UAAWF,EAAOG,KACnBhB,SAAAA,EAAMiB,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,EAAOZ,MAClB,MAAOO,EAAKP,MAEXO,SAAAA,EAAKP,KAAAA,CACR,CAAA,GAhBKO,EAAKP,MAAQiB,CAiBpB,CAEJ,CAAC,CAAA,CACH,EAEAH,MAAC,MAAA,CAAI,UAAWF,EAAO,YAAY,EACjC,SAAAE,EAAAA,IAACY,EAAAA,QAAA,CAAA,CAAO,CAAA,CACV,CAAA,EAEJ,CAEJ"}
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 e } from "react/jsx-runtime";
2
- import { t as w } from "../../classix-DG18itHa.js";
3
- import { Loading as N } from "../loading/index.js";
4
- import '../../assets/index9.css';const v = "_graph_18yw9_11", f = "_plot_18yw9_20", x = "_item_18yw9_30", V = "_column_18yw9_36", k = "_value_18yw9_44", M = "_track_18yw9_54", j = "_bar_18yw9_61", L = "_label_18yw9_82", a = {
5
- graph: v,
6
- plot: f,
7
- item: x,
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: k,
9
+ value: y,
10
10
  track: M,
11
11
  bar: j,
12
- label: L,
13
- "is-loading": "_is-loading_18yw9_91"
14
- }, _ = (c) => Number.isFinite(c) ? Math.max(0, c) : 0, G = ({
15
- className: c,
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: t = [],
18
- label: i,
18
+ items: n = [],
19
19
  style: m,
20
20
  valueFormatter: p = (r) => r.toLocaleString(),
21
- ...u
21
+ ...b
22
22
  }) => {
23
- const r = t.reduce((l, n) => Math.max(l, _(n.value)), 0), d = {
23
+ const r = n.reduce((e, c) => Math.max(e, h(c.value)), 0), u = {
24
24
  ...m,
25
- "--graph-columns": Math.max(t.length, 1),
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: w(a.graph, c), style: d, ...u, "data-component": "graph", children: [
29
- i && /* @__PURE__ */ e("figcaption", { "data-content": "screen-reader", children: i }),
30
- t.length > 0 ? /* @__PURE__ */ e("ul", { className: a.plot, children: t.map((l, n) => {
31
- const h = _(l.value), g = r > 0 ? h / r * 100 : 0, b = h > 0 ? Math.max(g, 6) : 0, y = {
32
- "--bar-color": l.color,
33
- "--bar-delay": n * 50 + "ms",
34
- "--bar-height": b + "%"
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__ */ e("span", { className: a.value, children: p(l.value) }),
39
- /* @__PURE__ */ e("span", { className: a.track, children: /* @__PURE__ */ e("span", { className: a.bar, style: y }) })
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__ */ e("span", { className: a.label, title: l.label, children: l.label })
42
- ] }, l.label + n);
43
- }) }) : /* @__PURE__ */ e("div", { className: a["is-loading"], children: /* @__PURE__ */ e(N, {}) })
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
- G as Graph
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 label?: string;\n valueFormatter?: (value: number) => string;\n};\n\nconst toSafeValue = (value: number) => (Number.isFinite(value) ? Math.max(0, value) : 0);\n\nexport const Graph = ({\n className,\n height,\n items = [],\n label,\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(--unit) * 16)',\n };\n\n return (\n <figure\n className={cx(styles.graph, className)}\n style={withVars}\n {...props}\n >\n {label && <figcaption data-content='screen-reader'>{label}</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","className","height","items","label","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","Loading"],"mappings":";;;;;;;;;;;;;GAkBMA,IAAcA,CAACC,MAAmBC,OAAOC,SAASF,CAAK,IAAIG,KAAKC,IAAI,GAAGJ,CAAK,IAAI,GAEzEK,IAAQA,CAAC;AAAA,EACpBC,WAAAA;AAAAA,EACAC,QAAAA;AAAAA,EACAC,OAAAA,IAAQ,CAAA;AAAA,EACRC,OAAAA;AAAAA,EACAC,OAAAA;AAAAA,EACAC,gBAAAA,IAAkBX,CAAAA,MAAUA,EAAMY,eAAAA;AAAAA,EAClC,GAAGC;AACO,MAAM;AAYhB,QAAMC,IAAWN,EAAMO,OAAO,CAACX,GAAKY,MAASb,KAAKC,IAAIA,GAAKL,EAAYiB,EAAKhB,KAAK,CAAC,GAAG,CAAC,GAEhFiB,IAAqB;AAAA,IACzB,GAAGP;AAAAA,IACH,mBAAmBP,KAAKC,IAAII,EAAMU,QAAQ,CAAC;AAAA,IAC3C,kBAAkBX,KAAkB;AAAA,EAAA;AAGtC,SACE,gBAAAY,EAAC,UAAA,EACC,WAAWC,EAAGC,EAAOC,OAAOhB,CAAS,GACrC,OAAOW,GACP,GAAIJ,GAAM,kBAAA,SAETJ,UAAAA;AAAAA,IAAAA,KAAS,gBAAAc,EAAC,cAAA,EAAW,gBAAa,iBAAiBd,UAAAA,GAAM;AAAA,IACzDD,EAAMU,SAAS,IACd,gBAAAK,EAAC,MAAA,EAAG,WAAWF,EAAOG,MACnBhB,UAAAA,EAAMiB,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,EAAOZ,OAClB,OAAOO,EAAKP,OAEXO,UAAAA,EAAKP,MAAAA,CACR;AAAA,MAAA,KAhBKO,EAAKP,QAAQiB,CAiBpB;AAAA,IAEJ,CAAC,EAAA,CACH,IAEA,gBAAAH,EAAC,OAAA,EAAI,WAAWF,EAAO,YAAY,GACjC,UAAA,gBAAAE,EAACY,GAAA,CAAA,CAAO,EAAA,CACV;AAAA,EAAA,GAEJ;AAEJ;"}
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/index8.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;
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/index8.css';const s = "_group_g6ddz_1", u = {
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/index7.css');const r=require("react/jsx-runtime"),o=require("../../classix-5H4IWnMA.cjs"),s="_header_1q87f_1",u="_jumbo_1q87f_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;
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/index7.css';const d = "_header_1q87f_1", m = "_jumbo_1q87f_67", e = {
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
- }, c = ({
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
- c as Header
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/index37.css');const r=require("react/jsx-runtime"),l=require("../../classix-5H4IWnMA.cjs"),i=require("../../icons-C_cX1FYp.cjs"),_="_icon_wciqx_1",m="_small_wciqx_9",u="_medium_wciqx_14",d="_large_wciqx_19",g="_danger_wciqx_24",w="_primary_wciqx_32",q="_white_wciqx_36",e={icon:_,small:m,medium:u,large:d,danger:g,default:"_default_wciqx_28",primary:w,white:q,"gap-right":"_gap-right_wciqx_40","gap-left":"_gap-left_wciqx_44"},x={large:e.large,medium:e.medium,small:e.small},p={danger:e.danger,default:e.default,primary:e.primary,white:e.white},y=({fill:n,gap:t="none",name:c,size:a="medium",variant:s="default"})=>{const o={maskImage:i.iconSVG(c,n??!1)};return r.jsx("span",{className:l.t(t!=="none"&&e[`gap-${t}`],x[a],e.icon,p[s]),style:o,"data-component":"icon"})},f=()=>Object.keys(i.iconPaths);exports.Icon=y;exports.Icons=f;
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,QACC,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
+ {"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 r } from "../../classix-DG18itHa.js";
3
- import { i as m, a as _ } from "../../icons-DfmpRbxE.js";
4
- import '../../assets/index37.css';const l = "_icon_wciqx_1", d = "_small_wciqx_9", g = "_medium_wciqx_14", p = "_large_wciqx_19", w = "_danger_wciqx_24", u = "_primary_wciqx_32", x = "_white_wciqx_36", a = {
5
- icon: l,
6
- small: d,
7
- medium: g,
8
- large: p,
9
- danger: w,
10
- default: "_default_wciqx_28",
11
- primary: u,
12
- white: x,
13
- "gap-right": "_gap-right_wciqx_40",
14
- "gap-left": "_gap-left_wciqx_44"
15
- }, f = {
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
- }, q = {
19
+ }, w = {
20
20
  danger: a.danger,
21
21
  default: a.default,
22
22
  primary: a.primary,
23
23
  white: a.white
24
- }, j = ({
25
- fill: i,
24
+ }, x = ({
25
+ fill: t,
26
26
  gap: e = "none",
27
- name: t,
28
- size: n = "medium",
29
- variant: c = "default"
27
+ name: n,
28
+ size: r = "medium",
29
+ variant: s = "default"
30
30
  }) => {
31
- const s = {
32
- maskImage: m(t, i ?? !1)
31
+ const i = {
32
+ maskImage: _(n, t ?? !1)
33
33
  };
34
- return /* @__PURE__ */ o("span", { className: r(e !== "none" && a[`gap-${e}`], f[n], a.icon, q[c]), style: s, "data-component": "icon" });
35
- }, k = () => Object.keys(_);
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
- j as Icon,
38
- k as Icons
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,UACC,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
+ {"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/index6.css');const d=require("react/jsx-runtime"),c=require("react"),o="_image_nnuov_1",y={image:o};function S({fadeDurationMs:n=250,showOnError:r=!0,onLoad:a,onError:u,style:l,...t}){const i=c.useRef(null),[m,s]=c.useState(!1);c.useEffect(()=>{s(!1)},[t.src,t.srcSet]),c.useEffect(()=>{const e=i.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),u==null||u(e)};return d.jsx("img",{...t,className:y.image,onLoad:f,onError:g,ref:i,style:{...l,opacity:m?1:0,"--duration-override":`${n}ms`},"data-component":"image"})}exports.Image=S;
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/index6.css';const y = "_image_nnuov_1", S = {
3
+ import '../../assets/index5.css';const y = "_image_14j8z_1", S = {
4
4
  image: y
5
5
  };
6
6
  function x({
7
- fadeDurationMs: n = 250,
7
+ fadeDurationMs: r = 250,
8
8
  showOnError: u = !0,
9
9
  onLoad: a,
10
10
  onError: c,
11
- style: r,
11
+ style: f,
12
12
  ...t
13
13
  }) {
14
- const i = o(null), [f, s] = h(!1);
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 l = (e) => {
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: l, onError: d, ref: i, style: {
27
- ...r,
28
- opacity: f ? 1 : 0,
29
- "--duration-override": `${n}ms`
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"),r=require("../../classix-5H4IWnMA.cjs"),c=require("react"),I=require("../../icons-C_cX1FYp.cjs"),P=require("../../utils-DBzf7CFq.cjs"),s=require("../../styles.module-Vt6mmlsz.cjs");function T({className:p,defaultCountryCode:d="+47",disabled:a=!1,icon:i,label:h,placeholder:m,ref:v,type:t="text",...e}){const[l,g]=c.useState(""),[o,x]=c.useState(""),{onChange:y,value:j,...N}=e,{touched:S,onBlur:f}=P.useTouched(j===""),q=i&&t!=="radio"&&t!=="datetime-local"?{"--icon-svg":I.iconSVG(i,!0)}:void 0;c.useEffect(()=>{if(typeof e.onChange=="function"&&t==="tel"){const u={name:e.name,value:o?(l||d).split(" ").join("")+o.split(" ").join(""):void 0};e.onChange({target:u,currentTarget:u})}},[l,o]),c.useEffect(()=>{t==="tel"&&!e.value&&(x(""),g(""))},[e.value,t]);const C=n.jsxs(n.Fragment,{children:[n.jsx("input",{disabled:a,hidden:!0,onChange:y,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:d,value:l}),n.jsx("input",{type:"tel",className:r.t(s.inputStyles.input,S&&"touched"),"data-icon":i?"true":void 0,disabled:a,maxLength:14,name:void 0,onChange:u=>x(u.target.value),onBlur:f,pattern:e.pattern,style:q,value:o,...N})]});return n.jsxs("label",{className:s.inputStyles.label,"data-component":"input",children:[h&&n.jsx("span",{className:r.t(e.required&&s.inputStyles.required),children:h}),t==="tel"?C:n.jsx("input",{ref:v,className:r.t(s.inputStyles.input,p,S&&"touched"),"data-icon":i?"true":void 0,disabled:a,onBlur:f,placeholder:m,style:q,type:t,...e})]})}exports.Input=T;
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 && '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 style={withVars}\n value={phoneNumber}\n {...restProps}\n />\n </>\n );\n\n return (\n <label className={styles.label}>\n {label && <span className={cx(props.required && styles.required)}>{label}</span>}\n {type === 'tel' ? (\n telephoneInput\n ) : (\n <input\n ref={ref}\n className={cx(styles.input, className, touched && 'touched')}\n data-icon={icon ? 'true' : undefined}\n disabled={disabled}\n onBlur={onBlur}\n placeholder={placeholder}\n style={withVars}\n type={type}\n {...props}\n />\n )}\n </label>\n );\n}\n"],"names":["Input","className","defaultCountryCode","disabled","icon","label","placeholder","ref","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","required"],"mappings":"0SA2BO,SAASA,EAAM,CACpBC,UAAAA,EACAC,mBAAAA,EAAqB,MACrBC,SAAAA,EAAW,GACXC,KAAAA,EACAC,MAAAA,EACAC,YAAAA,EACAC,IAAAA,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,EACJjB,GAAQI,IAAS,SAAWA,IAAS,iBACjC,CACE,aAAcc,EAAAA,QAAQlB,EAAM,EAAI,CAAA,EAElCmB,OAENC,EAAAA,UAAU,IAAM,CACd,GAAI,OAAOf,EAAMM,UAAa,YAAcP,IAAS,MAAO,CAC1D,MAAMiB,EAAS,CACbC,KAAMjB,EAAMiB,KACZV,MAAOH,GACFH,GAAeR,GAAoByB,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,SAAA9B,EACA,OAAM,GACN,SAAAY,EACA,QAASQ,OACT,YAAAjB,EACA,IAAAC,EACA,KAAAC,EACA,MAAAQ,CAAA,CAAa,EAEfiB,MAAC,SACC,KAAK,OACL,UAAWC,EAAAA,YAAOC,MAClB,SAAAhC,EACA,UAAW,EACX,SAAWiC,GAAMzB,EAAeyB,EAAEX,OAAOT,KAAK,EAC9C,YAAad,EACb,MAAOQ,EAAY,QAEpB,QAAA,CACC,KAAK,MACL,UAAW2B,EAAAA,EAAGH,EAAAA,YAAOC,MAAOjB,GAAW,SAAS,EAChD,YAAWd,EAAO,OAASmB,OAC3B,SAAApB,EACA,UAAW,GACX,KAAMoB,OACN,SAAWa,GAAMtB,EAAesB,EAAEX,OAAOT,KAAK,EAC9C,OAAAG,EACA,QAASV,EAAM6B,QACf,MAAOjB,EACP,MAAOR,EACP,GAAII,CAAAA,CAAU,CAAA,EAElB,EAGF,cACG,QAAA,CAAM,UAAWiB,EAAAA,YAAO7B,MAAM,iBAAA,QAC5BA,SAAAA,CAAAA,GAAS4B,EAAAA,IAAC,QAAK,UAAWI,EAAAA,EAAG5B,EAAM8B,UAAYL,EAAAA,YAAOK,QAAQ,EAAIlC,SAAAA,CAAAA,CAAM,EACxEG,IAAS,MACRsB,EAEAG,EAAAA,IAAC,QAAA,CACC,IAAA1B,EACA,UAAW8B,EAAAA,EAAGH,EAAAA,YAAOC,MAAOlC,EAAWiB,GAAW,SAAS,EAC3D,YAAWd,EAAO,OAASmB,OAC3B,SAAApB,EACA,OAAAgB,EACA,YAAAb,EACA,MAAOe,EACP,KAAAb,EACA,GAAIC,CAAAA,CAAM,CAAA,EAGhB,CAEJ"}
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 C, Fragment as T, jsx as a } from "react/jsx-runtime";
2
- import { t as s } from "../../classix-DG18itHa.js";
3
- import { useState as j, useEffect as S } from "react";
4
- import { i as V } from "../../icons-DfmpRbxE.js";
5
- import { u as w } from "../../utils--n2yqjCy.js";
6
- import { i as o } from "../../styles.module-DZXAP_eP.js";
7
- function y({
8
- className: q,
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: d,
15
- type: e = "text",
16
- ...t
14
+ ref: v,
15
+ required: l,
16
+ type: t = "text",
17
+ ...e
17
18
  }) {
18
- const [l, v] = j(""), [r, g] = j(""), {
19
- onChange: I,
19
+ const [s, d] = S(""), [r, g] = S(""), {
20
+ onChange: P,
20
21
  value: f,
21
- ...L
22
- } = t, {
22
+ ...T
23
+ } = e, {
23
24
  touched: p,
24
25
  onBlur: x
25
- } = w(f === ""), N = i && e !== "radio" && e !== "datetime-local" ? {
26
- "--icon-svg": V(i, !0)
26
+ } = E(f === ""), C = i && t !== "radio" && t !== "datetime-local" ? {
27
+ "--icon-svg": B(i, !0)
27
28
  } : void 0;
28
- S(() => {
29
- if (typeof t.onChange == "function" && e === "tel") {
29
+ I(() => {
30
+ if (typeof e.onChange == "function" && t === "tel") {
30
31
  const n = {
31
- name: t.name,
32
- value: r ? (l || c).split(" ").join("") + r.split(" ").join("") : void 0
32
+ name: e.name,
33
+ value: r ? (s || c).split(" ").join("") + r.split(" ").join("") : void 0
33
34
  };
34
- t.onChange({
35
+ e.onChange({
35
36
  target: n,
36
37
  currentTarget: n
37
38
  });
38
39
  }
39
- }, [l, r]), S(() => {
40
- e === "tel" && !t.value && (g(""), v(""));
41
- }, [t.value, e]);
42
- const P = /* @__PURE__ */ C(T, { children: [
43
- /* @__PURE__ */ a("input", { disabled: u, hidden: !0, onChange: I, pattern: void 0, placeholder: h, ref: d, type: e, value: f }),
44
- /* @__PURE__ */ a("input", { type: "text", className: o.input, disabled: u, maxLength: 5, onChange: (n) => v(n.target.value), placeholder: c, value: l }),
45
- /* @__PURE__ */ a("input", { type: "tel", className: s(o.input, p && "touched"), "data-icon": i ? "true" : void 0, disabled: u, maxLength: 14, name: void 0, onChange: (n) => g(n.target.value), onBlur: x, pattern: t.pattern, style: N, value: r, ...L })
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__ */ C("label", { className: o.label, "data-component": "input", children: [
48
- m && /* @__PURE__ */ a("span", { className: s(t.required && o.required), children: m }),
49
- e === "tel" ? P : /* @__PURE__ */ a("input", { ref: d, className: s(o.input, q, p && "touched"), "data-icon": i ? "true" : void 0, disabled: u, onBlur: x, placeholder: h, style: N, type: e, ...t })
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
- y as Input
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 && '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 style={withVars}\n value={phoneNumber}\n {...restProps}\n />\n </>\n );\n\n return (\n <label className={styles.label}>\n {label && <span className={cx(props.required && styles.required)}>{label}</span>}\n {type === 'tel' ? (\n telephoneInput\n ) : (\n <input\n ref={ref}\n className={cx(styles.input, className, touched && 'touched')}\n data-icon={icon ? 'true' : undefined}\n disabled={disabled}\n onBlur={onBlur}\n placeholder={placeholder}\n style={withVars}\n type={type}\n {...props}\n />\n )}\n </label>\n );\n}\n"],"names":["Input","className","defaultCountryCode","disabled","icon","label","placeholder","ref","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","required"],"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,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,IACJjB,KAAQI,MAAS,WAAWA,MAAS,mBACjC;AAAA,IACE,cAAcc,EAAQlB,GAAM,EAAI;AAAA,EAAA,IAElCmB;AAENC,EAAAA,EAAU,MAAM;AACd,QAAI,OAAOf,EAAMM,YAAa,cAAcP,MAAS,OAAO;AAC1D,YAAMiB,IAAS;AAAA,QACbC,MAAMjB,EAAMiB;AAAAA,QACZV,OAAOH,KACFH,KAAeR,GAAoByB,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,UAAA9B,GACA,QAAM,IACN,UAAAY,GACA,SAASQ,QACT,aAAAjB,GACA,KAAAC,GACA,MAAAC,GACA,OAAAQ,EAAA,CAAa;AAAA,IAEf,gBAAAiB,EAAC,WACC,MAAK,QACL,WAAWC,EAAOC,OAClB,UAAAhC,GACA,WAAW,GACX,UAAWiC,CAAAA,MAAMzB,EAAeyB,EAAEX,OAAOT,KAAK,GAC9C,aAAad,GACb,OAAOQ,GAAY;AAAA,sBAEpB,SAAA,EACC,MAAK,OACL,WAAW2B,EAAGH,EAAOC,OAAOjB,KAAW,SAAS,GAChD,aAAWd,IAAO,SAASmB,QAC3B,UAAApB,GACA,WAAW,IACX,MAAMoB,QACN,UAAWa,CAAAA,MAAMtB,EAAesB,EAAEX,OAAOT,KAAK,GAC9C,QAAAG,GACA,SAASV,EAAM6B,SACf,OAAOjB,GACP,OAAOR,GACP,GAAII,EAAAA,CAAU;AAAA,EAAA,GAElB;AAGF,2BACG,SAAA,EAAM,WAAWiB,EAAO7B,OAAM,kBAAA,SAC5BA,UAAAA;AAAAA,IAAAA,KAAS,gBAAA4B,EAAC,UAAK,WAAWI,EAAG5B,EAAM8B,YAAYL,EAAOK,QAAQ,GAAIlC,UAAAA,EAAAA,CAAM;AAAA,IACxEG,MAAS,QACRsB,IAEA,gBAAAG,EAAC,SAAA,EACC,KAAA1B,GACA,WAAW8B,EAAGH,EAAOC,OAAOlC,GAAWiB,KAAW,SAAS,GAC3D,aAAWd,IAAO,SAASmB,QAC3B,UAAApB,GACA,QAAAgB,GACA,aAAAb,GACA,OAAOe,GACP,MAAAb,GACA,GAAIC,EAAAA,CAAM;AAAA,EAAA,GAGhB;AAEJ;"}
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/index38.css');const l=require("react/jsx-runtime"),s=require("../../classix-5H4IWnMA.cjs"),m="_link_8fl9a_1",o="_primary_8fl9a_7",c="_danger_8fl9a_13",_="_minimal_8fl9a_21",n={link:m,primary:o,danger:c,minimal:_},k=({children:i,className:a,to:r="#",variant:e="primary",...t})=>l.jsx("a",{className:s.t(a,n.link,n[e]),href:r,...t,"data-component":"link",children:i});exports.Link=k;
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