@s_mart/form 2.6.0 → 2.6.2

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/dist/index.d.ts CHANGED
@@ -272,6 +272,6 @@ type DatePickerProps = Omit<UseControllerProps, 'control'> & Pick<TextFieldProps
272
272
  required?: boolean;
273
273
  };
274
274
 
275
- declare const DatePicker: ({ rules, name, defaultValue, shouldUnregister, datePickerProps, label, required, ...rest }: DatePickerProps) => JSX.Element;
275
+ declare const DatePicker: ({ rules, name, defaultValue, shouldUnregister, datePickerProps, label, required, placeholder, ...rest }: DatePickerProps) => JSX.Element;
276
276
 
277
277
  export { Checkbox, CheckboxProps, Creatable, CreatableOption, CreatableProps, DatePicker, DatePickerProps, Form, RadioButton, RadioGroup, RadioGroupProps, RadioProps, Searchable, SearchableOption, SearchableProps, Select, SelectOption, SelectProps, Slider, SliderProps, Switch, SwitchProps, TextField };
package/dist/index.js CHANGED
@@ -1,15 +1,15 @@
1
- "use strict";var _e=Object.create;var B=Object.defineProperty,Be=Object.defineProperties,je=Object.getOwnPropertyDescriptor,We=Object.getOwnPropertyDescriptors,Ye=Object.getOwnPropertyNames,Y=Object.getOwnPropertySymbols,He=Object.getPrototypeOf,ne=Object.prototype.hasOwnProperty,ue=Object.prototype.propertyIsEnumerable;var fe=(e,r,o)=>r in e?B(e,r,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[r]=o,l=(e,r)=>{for(var o in r||(r={}))ne.call(r,o)&&fe(e,o,r[o]);if(Y)for(var o of Y(r))ue.call(r,o)&&fe(e,o,r[o]);return e},h=(e,r)=>Be(e,We(r));var f=(e,r)=>{var o={};for(var i in e)ne.call(e,i)&&r.indexOf(i)<0&&(o[i]=e[i]);if(e!=null&&Y)for(var i of Y(e))r.indexOf(i)<0&&ue.call(e,i)&&(o[i]=e[i]);return o};var Ke=(e,r)=>{for(var o in r)B(e,o,{get:r[o],enumerable:!0})},ce=(e,r,o,i)=>{if(r&&typeof r=="object"||typeof r=="function")for(let t of Ye(r))!ne.call(e,t)&&t!==o&&B(e,t,{get:()=>r[t],enumerable:!(i=je(r,t))||i.enumerable});return e};var xe=(e,r,o)=>(o=e!=null?_e(He(e)):{},ce(r||!e||!e.__esModule?B(o,"default",{value:e,enumerable:!0}):o,e)),Je=e=>ce(B({},"__esModule",{value:!0}),e);var dr={};Ke(dr,{Checkbox:()=>Le,Creatable:()=>Ae,DatePicker:()=>Oe,Form:()=>Fe,RadioButton:()=>Me,RadioGroup:()=>$e,Searchable:()=>Ee,Select:()=>we,Slider:()=>Ie,Switch:()=>qe,TextField:()=>Ce});module.exports=Je(dr);var ye=require("react"),H=require("react-hook-form");var ae=require("react/jsx-runtime");function Qe(i){var t=i,{children:e,onSubmit:r}=t,o=f(t,["children","onSubmit"]);let a=(0,H.useForm)(o);(0,ye.useEffect)(()=>{a.reset(o.defaultValues)},[o.defaultValues,a.reset]);let n=()=>typeof e=="function"?e(h(l({},a),{onSubmit:a.handleSubmit(r)})):e;return(0,ae.jsx)(H.FormProvider,h(l({},a),{children:(0,ae.jsx)("form",{onSubmit:a.handleSubmit(r),children:n()})}))}var Fe=Qe;var Se=require("react"),K=require("react-hook-form"),J=require("phosphor-react"),U=require("@mui/material"),V=xe(require("@s_mart/masks"));var se=require("@mui/material"),be=require("@s_mart/utils"),j=require("react/jsx-runtime"),b=({label:e,required:r,regular:o})=>(0,j.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:(0,be.toRem)(2)},children:[(0,j.jsx)(se.Typography,{variant:"caption",fontWeight:o?400:700,style:{display:"flex",alignItems:"center"},children:e}),r&&(0,j.jsx)(se.Typography,{variant:"caption",fontWeight:900,color:"error",children:"*"})]});var he=require("react-hook-form"),Pe=require("@s_mart/core"),ge=require("react/jsx-runtime"),P=({name:e})=>{var o,i,t;let r=(0,he.useFormContext)();return(i=(o=r==null?void 0:r.formState)==null?void 0:o.errors)!=null&&i[e]?(0,ge.jsx)(Pe.Indicator,{severity:"error",children:(t=r.formState.errors[e])==null?void 0:t.message}):null};var D=require("react/jsx-runtime"),Xe=m=>{var s=m,{name:e,rules:r,defaultValue:o,shouldUnregister:i,label:t,required:a,mask:n,variant:u="outlined",onInputChange:c}=s,d=f(s,["name","rules","defaultValue","shouldUnregister","label","required","mask","variant","onInputChange"]);let S=(0,K.useFormContext)();if(!S)throw new Error("Para usar o <TextField /> \xE9 necess\xE1rio que ele esteja dentro de um <Form />");let[C,w]=(0,Se.useState)(!1),E=y=>{var p;return n?(p=V==null?void 0:V[n])==null?void 0:p.format(y):y},x=y=>{var p;return n?(p=V==null?void 0:V[n])==null?void 0:p.parse(y):y},I=y=>{if(!y||n!=="porcentagem")return;y==null||y.stopPropagation();let p=(y==null?void 0:y.target).value;if(p){let F=String(p);if(F.length>0){let _=F.indexOf("%");_>-1&&(y.currentTarget.selectionEnd=_)}}};return(0,D.jsx)(K.Controller,{control:S.control,name:e,rules:r,defaultValue:o,shouldUnregister:i,render:({field:{value:y,onChange:p}})=>(0,D.jsxs)(U.Grid,{display:"flex",flexDirection:"column",children:[t&&(0,D.jsx)(b,{label:t,required:a}),(0,D.jsx)(U.TextField,h(l({size:"small",variant:u,autoComplete:"off",defaultValue:o,value:E(y||""),onChange:F=>{var _;c==null||c(F),p(x((_=F==null?void 0:F.target)==null?void 0:_.value))}},d),{type:d.type==="password"?C?"text":"password":d.type,InputProps:l({onKeyDown:I,endAdornment:d.type==="password"&&(0,D.jsx)(U.InputAdornment,{position:"end",onClick:()=>w(!C),style:{cursor:"pointer"},children:C?(0,D.jsx)(J.Eye,{size:20}):(0,D.jsx)(J.EyeSlash,{size:20})})},d.InputProps)})),(0,D.jsx)(P,{name:e})]})})},Ce=Xe;var Q=require("react-hook-form"),G=require("@mui/material");var T=require("react/jsx-runtime"),Ze=m=>{var s=m,{name:e,rules:r,defaultValue:o,shouldUnregister:i,label:t,required:a,options:n,placeholder:u,onInputChange:c}=s,d=f(s,["name","rules","defaultValue","shouldUnregister","label","required","options","placeholder","onInputChange"]);let S=(0,Q.useFormContext)(),{palette:C}=(0,G.useTheme)();if(!S)throw new Error("Para usar o <Select /> \xE9 necess\xE1rio que ele esteja dentro de um <Form />");return(0,T.jsx)(Q.Controller,{control:S.control,name:e,rules:r,defaultValue:o||"",shouldUnregister:i,render:({field:{value:w,onChange:E}})=>(0,T.jsxs)(G.Grid,{display:"flex",flexDirection:"column",children:[t&&(0,T.jsx)(b,{label:t,required:a}),(0,T.jsxs)(G.Select,h(l({displayEmpty:Boolean(u),size:"small",variant:"outlined",autoComplete:"off",value:w||"",onChange:x=>{c==null||c(x),E(x.target.value)}},d),{children:[u&&(0,T.jsx)(G.MenuItem,{disabled:!0,value:"",children:(0,T.jsx)("p",{style:{color:C.grey[400]},children:u})}),n==null?void 0:n.map((x,I)=>(0,T.jsx)(G.MenuItem,{value:x.value,children:x.label},I))]})),(0,T.jsx)(P,{name:e})]})})},we=Ze;var X=require("react-hook-form"),v=require("@mui/material");var L=require("react/jsx-runtime"),er=d=>{var m=d,{name:e,rules:r,defaultValue:o,shouldUnregister:i,label:t,required:a,options:n,textFieldProps:u}=m,c=f(m,["name","rules","defaultValue","shouldUnregister","label","required","options","textFieldProps"]);let s=(0,X.useFormContext)();if(!s)throw new Error("Para usar o <Searchable /> \xE9 necess\xE1rio que ele esteja dentro de um <Form />");return(0,L.jsx)(X.Controller,{control:s.control,name:e,rules:r,defaultValue:o,shouldUnregister:i,render:({field:{onChange:S,value:C}})=>(0,L.jsxs)(v.Grid,{display:"flex",flexDirection:"column",children:[t&&(0,L.jsx)(b,{label:t,required:a}),(0,L.jsx)(v.Autocomplete,h(l({size:"small",onChange:(w,E)=>S(E),value:C||null,options:n,noOptionsText:"Nenhuma op\xE7\xE3o encontrada",isOptionEqualToValue:(w,E)=>typeof w=="string"&&typeof E=="string"?w===E:typeof w=="object"&&typeof E=="object"?w.value===E.value:!1},c),{renderInput:w=>(0,L.jsx)(v.TextField,l(l({},w),u))})),(0,L.jsx)(P,{name:e})]})})},Ee=er;var Z=require("react-hook-form"),Re=require("phosphor-react"),q=require("@mui/material");var R=require("@s_mart/utils"),de=xe(require("@emotion/styled")),me=require("@emotion/react"),De=me.css`
1
+ "use strict";var We=Object.create;var B=Object.defineProperty,Ye=Object.defineProperties,He=Object.getOwnPropertyDescriptor,Ke=Object.getOwnPropertyDescriptors,Je=Object.getOwnPropertyNames,H=Object.getOwnPropertySymbols,Qe=Object.getPrototypeOf,ae=Object.prototype.hasOwnProperty,xe=Object.prototype.propertyIsEnumerable;var ce=(e,r,o)=>r in e?B(e,r,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[r]=o,l=(e,r)=>{for(var o in r||(r={}))ae.call(r,o)&&ce(e,o,r[o]);if(H)for(var o of H(r))xe.call(r,o)&&ce(e,o,r[o]);return e},F=(e,r)=>Ye(e,Ke(r));var f=(e,r)=>{var o={};for(var i in e)ae.call(e,i)&&r.indexOf(i)<0&&(o[i]=e[i]);if(e!=null&&H)for(var i of H(e))r.indexOf(i)<0&&xe.call(e,i)&&(o[i]=e[i]);return o};var Xe=(e,r)=>{for(var o in r)B(e,o,{get:r[o],enumerable:!0})},ye=(e,r,o,i)=>{if(r&&typeof r=="object"||typeof r=="function")for(let t of Je(r))!ae.call(e,t)&&t!==o&&B(e,t,{get:()=>r[t],enumerable:!(i=He(r,t))||i.enumerable});return e};var se=(e,r,o)=>(o=e!=null?We(Qe(e)):{},ye(r||!e||!e.__esModule?B(o,"default",{value:e,enumerable:!0}):o,e)),Ze=e=>ye(B({},"__esModule",{value:!0}),e);var fr={};Xe(fr,{Checkbox:()=>$e,Creatable:()=>Le,DatePicker:()=>je,Form:()=>be,RadioButton:()=>Me,RadioGroup:()=>Ie,Searchable:()=>De,Select:()=>Ee,Slider:()=>Ve,Switch:()=>qe,TextField:()=>we});module.exports=Ze(fr);var Fe=require("react"),K=require("react-hook-form");var de=require("react/jsx-runtime");function er(i){var t=i,{children:e,onSubmit:r}=t,o=f(t,["children","onSubmit"]);let a=(0,K.useForm)(o);(0,Fe.useEffect)(()=>{a.reset(o.defaultValues)},[o.defaultValues,a.reset]);let n=()=>typeof e=="function"?e(F(l({},a),{onSubmit:a.handleSubmit(r)})):e;return(0,de.jsx)(K.FormProvider,F(l({},a),{children:(0,de.jsx)("form",{onSubmit:a.handleSubmit(r),children:n()})}))}var be=er;var Se=require("react"),J=require("react-hook-form"),Q=require("phosphor-react"),v=require("@mui/material"),V=se(require("@s_mart/masks"));var me=require("@mui/material"),he=require("@s_mart/utils"),j=require("react/jsx-runtime"),P=({label:e,required:r,regular:o})=>(0,j.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:(0,he.toRem)(2)},children:[(0,j.jsx)(me.Typography,{variant:"caption",fontWeight:o?400:700,style:{display:"flex",alignItems:"center"},children:e}),r&&(0,j.jsx)(me.Typography,{variant:"caption",fontWeight:900,color:"error",children:"*"})]});var Pe=require("react-hook-form"),ge=require("@s_mart/core"),Ce=require("react/jsx-runtime"),S=({name:e})=>{var o,i,t;let r=(0,Pe.useFormContext)();return(i=(o=r==null?void 0:r.formState)==null?void 0:o.errors)!=null&&i[e]?(0,Ce.jsx)(ge.Indicator,{severity:"error",children:(t=r.formState.errors[e])==null?void 0:t.message}):null};var T=require("react/jsx-runtime"),rr=m=>{var s=m,{name:e,rules:r,defaultValue:o,shouldUnregister:i,label:t,required:a,mask:n,variant:x="outlined",onInputChange:u}=s,c=f(s,["name","rules","defaultValue","shouldUnregister","label","required","mask","variant","onInputChange"]);let g=(0,J.useFormContext)();if(!g)throw new Error("Para usar o <TextField /> \xE9 necess\xE1rio que ele esteja dentro de um <Form />");let[E,y]=(0,Se.useState)(!1),C=b=>{var p;return n?(p=V==null?void 0:V[n])==null?void 0:p.format(b):b},d=b=>{var p;return n?(p=V==null?void 0:V[n])==null?void 0:p.parse(b):b},k=b=>{if(!b||n!=="porcentagem")return;b==null||b.stopPropagation();let p=(b==null?void 0:b.target).value;if(p){let h=String(p);if(h.length>0){let _=h.indexOf("%");_>-1&&(b.currentTarget.selectionEnd=_)}}};return(0,T.jsx)(J.Controller,{control:g.control,name:e,rules:r,defaultValue:o,shouldUnregister:i,render:({field:{value:b,onChange:p}})=>(0,T.jsxs)(v.Grid,{display:"flex",flexDirection:"column",children:[t&&(0,T.jsx)(P,{label:t,required:a}),(0,T.jsx)(v.TextField,F(l({size:"small",variant:x,autoComplete:"off",defaultValue:o,value:C(b||""),onChange:h=>{var _;u==null||u(h),p(d((_=h==null?void 0:h.target)==null?void 0:_.value))}},c),{type:c.type==="password"?E?"text":"password":c.type,InputProps:l({onKeyDown:k,endAdornment:c.type==="password"&&(0,T.jsx)(v.InputAdornment,{position:"end",onClick:()=>y(!E),style:{cursor:"pointer"},children:E?(0,T.jsx)(Q.Eye,{size:20}):(0,T.jsx)(Q.EyeSlash,{size:20})})},c.InputProps)})),(0,T.jsx)(S,{name:e})]})})},we=rr;var X=require("react-hook-form"),G=require("@mui/material");var A=require("react/jsx-runtime"),or=m=>{var s=m,{name:e,rules:r,defaultValue:o,shouldUnregister:i,label:t,required:a,options:n,placeholder:x,onInputChange:u}=s,c=f(s,["name","rules","defaultValue","shouldUnregister","label","required","options","placeholder","onInputChange"]);let g=(0,X.useFormContext)(),{palette:E}=(0,G.useTheme)();if(!g)throw new Error("Para usar o <Select /> \xE9 necess\xE1rio que ele esteja dentro de um <Form />");return(0,A.jsx)(X.Controller,{control:g.control,name:e,rules:r,defaultValue:o||"",shouldUnregister:i,render:({field:{value:y,onChange:C}})=>(0,A.jsxs)(G.Grid,{display:"flex",flexDirection:"column",children:[t&&(0,A.jsx)(P,{label:t,required:a}),(0,A.jsxs)(G.Select,F(l({displayEmpty:Boolean(x),size:"small",variant:"outlined",autoComplete:"off",value:y||"",onChange:d=>{u==null||u(d),C(d.target.value)}},c),{children:[x&&(0,A.jsx)(G.MenuItem,{disabled:!0,value:"",children:(0,A.jsx)("p",{style:{color:E.grey[400]},children:x})}),n==null?void 0:n.map((d,k)=>(0,A.jsx)(G.MenuItem,{value:d.value,children:d.label},k))]})),(0,A.jsx)(S,{name:e})]})})},Ee=or;var Z=require("react-hook-form"),U=require("@mui/material");var L=require("react/jsx-runtime"),tr=c=>{var m=c,{name:e,rules:r,defaultValue:o,shouldUnregister:i,label:t,required:a,options:n,textFieldProps:x}=m,u=f(m,["name","rules","defaultValue","shouldUnregister","label","required","options","textFieldProps"]);let s=(0,Z.useFormContext)();if(!s)throw new Error("Para usar o <Searchable /> \xE9 necess\xE1rio que ele esteja dentro de um <Form />");return(0,L.jsx)(Z.Controller,{control:s.control,name:e,rules:r,defaultValue:o,shouldUnregister:i,render:({field:{onChange:g,value:E}})=>(0,L.jsxs)(U.Grid,{display:"flex",flexDirection:"column",children:[t&&(0,L.jsx)(P,{label:t,required:a}),(0,L.jsx)(U.Autocomplete,F(l({size:"small",onChange:(y,C)=>g(C),value:E||null,options:n,noOptionsText:"Nenhuma op\xE7\xE3o encontrada",isOptionEqualToValue:(y,C)=>typeof y=="string"&&typeof C=="string"?y===C:typeof y=="object"&&typeof C=="object"?y.value===C.value:!1},u),{renderInput:y=>(0,L.jsx)(U.TextField,l(l({},y),x))})),(0,L.jsx)(S,{name:e})]})})},De=tr;var ee=require("react-hook-form"),Re=require("phosphor-react"),$=require("@mui/material");var R=require("@s_mart/utils"),pe=se(require("@emotion/styled")),fe=require("@emotion/react"),Te=fe.css`
2
2
  display: flex;
3
3
  align-items: center;
4
4
  justify-content: center;
5
- `,rr=e=>me.css`
5
+ `,ir=e=>fe.css`
6
6
  .MuiAutocomplete-endAdornment {
7
7
  position: relative;
8
8
  right: 0;
9
9
  }
10
10
 
11
11
  .creatable {
12
- ${De}
12
+ ${Te}
13
13
 
14
14
  .divider {
15
15
  width: 1px;
@@ -35,18 +35,18 @@
35
35
  }
36
36
  }
37
37
  }
38
- `,Te=de.default.div`
38
+ `,Ae=pe.default.div`
39
39
  display: flex;
40
40
 
41
41
  div.endAdornments {
42
42
  position: absolute;
43
43
  right: 0;
44
44
 
45
- ${De}
45
+ ${Te}
46
46
  }
47
47
 
48
- ${({hideAddButton:e,theme:r})=>!e&&rr(r)}
49
- `,Ge=de.default.div`
48
+ ${({hideAddButton:e,theme:r})=>!e&&ir(r)}
49
+ `,Ge=pe.default.div`
50
50
  color: ${({theme:e})=>e.palette.text.primary};
51
51
 
52
52
  padding: ${(0,R.toRem)(6)} ${(0,R.toRem)(16)};
@@ -57,4 +57,11 @@
57
57
  transition: background-color 0.2s ease-in-out;
58
58
  background-color: ${({theme:e})=>e.palette.grey[100]};
59
59
  }
60
- `;var g=require("react/jsx-runtime"),or=S=>{var C=S,{name:e,rules:r,defaultValue:o,shouldUnregister:i,label:t,required:a,options:n,onCreateOption:u,textFieldProps:c,hideAddButton:d,onInputChange:m}=C,s=f(C,["name","rules","defaultValue","shouldUnregister","label","required","options","onCreateOption","textFieldProps","hideAddButton","onInputChange"]);let w=(0,Z.useFormContext)();if(!w)throw new Error("Para usar o <Creatable /> \xE9 necess\xE1rio que ele esteja dentro de um <Form />");let E=x=>{u?u(x):console.error("onCreateOption n\xE3o foi definido")};return(0,g.jsx)(Z.Controller,{control:w.control,name:e,rules:r,defaultValue:o,shouldUnregister:i,render:({field:{value:x,onChange:I}})=>{let y=(x==null?void 0:x.label)||(x==null?void 0:x.value)||x;return(0,g.jsxs)(q.Grid,{display:"flex",flexDirection:"column",children:[t&&(0,g.jsx)(b,{label:t,required:a}),(0,g.jsx)(Te,{hideAddButton:d,children:(0,g.jsx)(q.Autocomplete,h(l({size:"small",fullWidth:!0,onChange:(p,F)=>(m==null||m(F),I(F)),options:n,value:x||null,noOptionsText:(0,g.jsx)(Ge,{onClick:()=>E(x),children:(0,g.jsxs)(q.Typography,{children:["Adicionar ",y&&`"${y}"`]})}),isOptionEqualToValue:(p,F)=>F?typeof p=="string"&&typeof F=="string"?p===F:typeof p=="object"&&typeof F=="object"?p.value===F.value:typeof p=="object"&&typeof F=="string":!1},s),{renderInput:p=>{let F=d?p.InputProps:h(l({},p.InputProps),{endAdornment:(0,g.jsxs)("div",{className:"endAdornments",children:[p.InputProps.endAdornment,(0,g.jsxs)("div",{className:"creatable",children:[(0,g.jsx)("div",{className:"divider"}),(0,g.jsx)("div",{className:"button",onClick:()=>E(x),children:(0,g.jsx)(Re.Plus,{size:18,weight:"bold"})})]})]})});return(0,g.jsx)(q.TextField,l(h(l({},p),{onChange:I,InputProps:F}),c))}}))}),(0,g.jsx)(P,{name:e})]})}})},Ae=or;var ee=require("react-hook-form"),N=require("@mui/material");var M=require("react/jsx-runtime"),tr=c=>{var d=c,{name:e,rules:r,defaultValue:o,shouldUnregister:i,label:t,labelPlacement:a,required:n}=d,u=f(d,["name","rules","defaultValue","shouldUnregister","label","labelPlacement","required"]);let m=(0,ee.useFormContext)();if(!m)throw new Error("Para usar o <Checkbox /> \xE9 necess\xE1rio que ele esteja dentro de um <Form />");return(0,M.jsx)(ee.Controller,{control:m.control,name:e,rules:r,defaultValue:o,shouldUnregister:i,render:({field:{value:s,onChange:S}})=>(0,M.jsxs)(N.Grid,{display:"flex",flexDirection:"column",children:[(0,M.jsx)(N.FormControlLabel,{control:(0,M.jsx)(N.Checkbox,l({value:s!=null?s:"",defaultValue:s,onChange:S},u)),label:(0,M.jsx)(b,{label:t,required:n,regular:!0}),labelPlacement:a||"end"}),(0,M.jsx)(P,{name:e})]})})},Le=tr;var re=require("react-hook-form"),z=require("@mui/material");var $=require("react/jsx-runtime"),ir=u=>{var c=u,{name:e,rules:r,defaultValue:o,shouldUnregister:i,label:t,labelPlacement:a}=c,n=f(c,["name","rules","defaultValue","shouldUnregister","label","labelPlacement"]);let d=(0,re.useFormContext)();if(!d)throw new Error("Para usar o <Switch /> \xE9 necess\xE1rio que ele esteja dentro de um <Form />");return(0,$.jsx)(re.Controller,{control:d.control,name:e,rules:r,defaultValue:o,shouldUnregister:i,render:({field:{value:m,onChange:s}})=>(0,$.jsxs)(z.Grid,{display:"flex",flexDirection:"column",children:[(0,$.jsx)(z.FormControlLabel,{control:(0,$.jsx)(z.Switch,l({value:m!=null?m:"",defaultValue:m,onChange:s},n)),label:(0,$.jsx)(b,{label:t}),labelPlacement:a||"end"}),(0,$.jsx)(P,{name:e})]})})},qe=ir;var O=require("@mui/material");var W=require("react/jsx-runtime"),lr=i=>{var t=i,{label:e,labelPlacement:r}=t,o=f(t,["label","labelPlacement"]);return(0,W.jsx)(O.Grid,{display:"flex",flexDirection:"column",children:(0,W.jsx)(O.FormControlLabel,{control:(0,W.jsx)(O.Radio,l({},o)),label:(0,W.jsx)(b,{label:e}),labelPlacement:r||"end"})})},Me=lr;var oe=require("react-hook-form"),te=require("@mui/material");var k=require("react/jsx-runtime"),nr=d=>{var m=d,{name:e,rules:r,defaultValue:o,shouldUnregister:i,label:t,required:a,children:n,orientation:u="row"}=m,c=f(m,["name","rules","defaultValue","shouldUnregister","label","required","children","orientation"]);let s=(0,oe.useFormContext)();if(!s)throw new Error("Para usar o <RadioGroup /> \xE9 necess\xE1rio que ele esteja dentro de um <Form />");return(0,k.jsx)(oe.Controller,{control:s.control,name:e,rules:r,defaultValue:o,shouldUnregister:i,render:({field:{value:S,onChange:C}})=>(0,k.jsxs)(te.Grid,{display:"flex",flexDirection:"column",children:[t&&(0,k.jsx)(b,{label:t,required:a}),(0,k.jsx)(te.RadioGroup,h(l({value:S||"",onChange:C,name:e},c),{style:{display:"flex",flexDirection:u},children:n})),(0,k.jsx)(P,{name:e})]})})},$e=nr;var ie=require("react-hook-form"),ke=require("@mui/material");var pe=require("react/jsx-runtime"),ar=a=>{var n=a,{name:e,rules:r,defaultValue:o,shouldUnregister:i}=n,t=f(n,["name","rules","defaultValue","shouldUnregister"]);let u=(0,ie.useFormContext)();if(!u)throw new Error("Para usar o <Slider /> \xE9 necess\xE1rio que ele esteja dentro de um <Form />");return(0,pe.jsx)(ie.Controller,{control:u.control,name:e,rules:r,defaultValue:o,shouldUnregister:i,render:({field:{value:c,onChange:d}})=>(0,pe.jsx)(ke.Slider,l({value:c||(t==null?void 0:t.min)||0,onChange:d,valueLabelDisplay:"auto"},t))})},Ie=ar;var le=require("react-hook-form"),Ve=require("@s_mart/core"),Ue=require("@mui/material"),ve=require("@mui/x-date-pickers/DatePicker"),Ne=require("@mui/x-date-pickers/AdapterDayjs"),ze=require("@mui/x-date-pickers/LocalizationProvider");var A=require("react/jsx-runtime"),sr=c=>{var d=c,{rules:e,name:r,defaultValue:o,shouldUnregister:i,datePickerProps:t,label:a,required:n}=d,u=f(d,["rules","name","defaultValue","shouldUnregister","datePickerProps","label","required"]);let m=(0,le.useFormContext)();if(!m)throw new Error("Para usar o <DataPicker /> \xE9 necess\xE1rio que ele esteja dentro de um <Form />");return(0,A.jsx)(ze.LocalizationProvider,{dateAdapter:Ne.AdapterDayjs,children:(0,A.jsx)(le.Controller,{control:m.control,name:r,rules:e,defaultValue:o,shouldUnregister:i,render:({field:{value:s,onChange:S}})=>(0,A.jsxs)(Ve.Grid,{display:"flex",flexDirection:"column",children:[a&&(0,A.jsx)(b,{label:a,required:n}),(0,A.jsx)(ve.DatePicker,h(l({},t),{value:s!=null?s:null,inputFormat:(t==null?void 0:t.inputFormat)||"DD/MM/YYYY",onChange:S,renderInput:C=>(0,A.jsx)(Ue.TextField,l(l({size:"small",variant:"outlined"},C),u))})),(0,A.jsx)(P,{name:r})]})})})},Oe=sr;0&&(module.exports={Checkbox,Creatable,DatePicker,Form,RadioButton,RadioGroup,Searchable,Select,Slider,Switch,TextField});
60
+ `;var w=require("react/jsx-runtime"),lr=g=>{var E=g,{name:e,rules:r,defaultValue:o,shouldUnregister:i,label:t,required:a,options:n,onCreateOption:x,textFieldProps:u,hideAddButton:c,onInputChange:m}=E,s=f(E,["name","rules","defaultValue","shouldUnregister","label","required","options","onCreateOption","textFieldProps","hideAddButton","onInputChange"]);let y=(0,ee.useFormContext)();if(!y)throw new Error("Para usar o <Creatable /> \xE9 necess\xE1rio que ele esteja dentro de um <Form />");let C=d=>{x?x(d):console.error("onCreateOption n\xE3o foi definido")};return(0,w.jsx)(ee.Controller,{control:y.control,name:e,rules:r,defaultValue:o,shouldUnregister:i,render:({field:{value:d,onChange:k}})=>{let b=(d==null?void 0:d.label)||(d==null?void 0:d.value)||d;return(0,w.jsxs)($.Grid,{display:"flex",flexDirection:"column",children:[t&&(0,w.jsx)(P,{label:t,required:a}),(0,w.jsx)(Ae,{hideAddButton:c,children:(0,w.jsx)($.Autocomplete,F(l({size:"small",fullWidth:!0,onChange:(p,h)=>(m==null||m(h),k(h)),options:n,value:d||null,noOptionsText:(0,w.jsx)(Ge,{onClick:()=>C(d),children:(0,w.jsxs)($.Typography,{children:["Adicionar ",b&&`"${b}"`]})}),isOptionEqualToValue:(p,h)=>h?typeof p=="string"&&typeof h=="string"?p===h:typeof p=="object"&&typeof h=="object"?p.value===h.value:typeof p=="object"&&typeof h=="string":!1},s),{renderInput:p=>{let h=c?p.InputProps:F(l({},p.InputProps),{endAdornment:(0,w.jsxs)("div",{className:"endAdornments",children:[p.InputProps.endAdornment,(0,w.jsxs)("div",{className:"creatable",children:[(0,w.jsx)("div",{className:"divider"}),(0,w.jsx)("div",{className:"button",onClick:()=>C(d),children:(0,w.jsx)(Re.Plus,{size:18,weight:"bold"})})]})]})});return(0,w.jsx)($.TextField,l(F(l({},p),{onChange:k,InputProps:h}),u))}}))}),(0,w.jsx)(S,{name:e})]})}})},Le=lr;var re=require("react-hook-form"),N=require("@mui/material");var q=require("react/jsx-runtime"),nr=u=>{var c=u,{name:e,rules:r,defaultValue:o,shouldUnregister:i,label:t,labelPlacement:a,required:n}=c,x=f(c,["name","rules","defaultValue","shouldUnregister","label","labelPlacement","required"]);let m=(0,re.useFormContext)();if(!m)throw new Error("Para usar o <Checkbox /> \xE9 necess\xE1rio que ele esteja dentro de um <Form />");return(0,q.jsx)(re.Controller,{control:m.control,name:e,rules:r,defaultValue:o,shouldUnregister:i,render:({field:{value:s,onChange:g}})=>(0,q.jsxs)(N.Grid,{display:"flex",flexDirection:"column",children:[(0,q.jsx)(N.FormControlLabel,{control:(0,q.jsx)(N.Checkbox,l({value:s!=null?s:"",defaultValue:s,onChange:g},x)),label:(0,q.jsx)(P,{label:t,required:n,regular:!0}),labelPlacement:a||"end"}),(0,q.jsx)(S,{name:e})]})})},$e=nr;var oe=require("react-hook-form"),z=require("@mui/material");var M=require("react/jsx-runtime"),ar=x=>{var u=x,{name:e,rules:r,defaultValue:o,shouldUnregister:i,label:t,labelPlacement:a}=u,n=f(u,["name","rules","defaultValue","shouldUnregister","label","labelPlacement"]);let c=(0,oe.useFormContext)();if(!c)throw new Error("Para usar o <Switch /> \xE9 necess\xE1rio que ele esteja dentro de um <Form />");return(0,M.jsx)(oe.Controller,{control:c.control,name:e,rules:r,defaultValue:o,shouldUnregister:i,render:({field:{value:m,onChange:s}})=>(0,M.jsxs)(z.Grid,{display:"flex",flexDirection:"column",children:[(0,M.jsx)(z.FormControlLabel,{control:(0,M.jsx)(z.Switch,l({value:m!=null?m:"",defaultValue:m,onChange:s},n)),label:(0,M.jsx)(P,{label:t}),labelPlacement:a||"end"}),(0,M.jsx)(S,{name:e})]})})},qe=ar;var O=require("@mui/material");var W=require("react/jsx-runtime"),sr=i=>{var t=i,{label:e,labelPlacement:r}=t,o=f(t,["label","labelPlacement"]);return(0,W.jsx)(O.Grid,{display:"flex",flexDirection:"column",children:(0,W.jsx)(O.FormControlLabel,{control:(0,W.jsx)(O.Radio,l({},o)),label:(0,W.jsx)(P,{label:e}),labelPlacement:r||"end"})})},Me=sr;var te=require("react-hook-form"),ie=require("@mui/material");var I=require("react/jsx-runtime"),dr=c=>{var m=c,{name:e,rules:r,defaultValue:o,shouldUnregister:i,label:t,required:a,children:n,orientation:x="row"}=m,u=f(m,["name","rules","defaultValue","shouldUnregister","label","required","children","orientation"]);let s=(0,te.useFormContext)();if(!s)throw new Error("Para usar o <RadioGroup /> \xE9 necess\xE1rio que ele esteja dentro de um <Form />");return(0,I.jsx)(te.Controller,{control:s.control,name:e,rules:r,defaultValue:o,shouldUnregister:i,render:({field:{value:g,onChange:E}})=>(0,I.jsxs)(ie.Grid,{display:"flex",flexDirection:"column",children:[t&&(0,I.jsx)(P,{label:t,required:a}),(0,I.jsx)(ie.RadioGroup,F(l({value:g||"",onChange:E,name:e},u),{style:{display:"flex",flexDirection:x},children:n})),(0,I.jsx)(S,{name:e})]})})},Ie=dr;var le=require("react-hook-form"),ke=require("@mui/material");var ue=require("react/jsx-runtime"),mr=a=>{var n=a,{name:e,rules:r,defaultValue:o,shouldUnregister:i}=n,t=f(n,["name","rules","defaultValue","shouldUnregister"]);let x=(0,le.useFormContext)();if(!x)throw new Error("Para usar o <Slider /> \xE9 necess\xE1rio que ele esteja dentro de um <Form />");return(0,ue.jsx)(le.Controller,{control:x.control,name:e,rules:r,defaultValue:o,shouldUnregister:i,render:({field:{value:u,onChange:c}})=>(0,ue.jsx)(ke.Slider,l({value:u||(t==null?void 0:t.min)||0,onChange:c,valueLabelDisplay:"auto"},t))})},Ve=mr;var ne=require("react-hook-form"),Ne=require("@s_mart/core"),ze=require("@mui/material"),Oe=require("@mui/x-date-pickers/DatePicker"),_e=require("@mui/x-date-pickers/AdapterDayjs"),Be=require("@mui/x-date-pickers/LocalizationProvider");var Y=require("@s_mart/utils"),ve=se(require("@emotion/styled")),Ue=ve.default.div`
61
+ > div > button {
62
+ padding: ${(0,Y.toRem)(6)} ${(0,Y.toRem)(8)};
63
+ border-radius: 0 ${(0,Y.toRem)(4)} ${(0,Y.toRem)(4)} 0;
64
+
65
+ margin: 0px -13px 0px 0px;
66
+ }
67
+ `;var D=require("react/jsx-runtime"),pr=c=>{var m=c,{rules:e,name:r,defaultValue:o,shouldUnregister:i,datePickerProps:t,label:a,required:n,placeholder:x}=m,u=f(m,["rules","name","defaultValue","shouldUnregister","datePickerProps","label","required","placeholder"]);let s=(0,ne.useFormContext)();if(!s)throw new Error("Para usar o <DataPicker /> \xE9 necess\xE1rio que ele esteja dentro de um <Form />");return(0,D.jsx)(Be.LocalizationProvider,{dateAdapter:_e.AdapterDayjs,children:(0,D.jsx)(ne.Controller,{control:s.control,name:r,rules:e,defaultValue:o,shouldUnregister:i,render:({field:{value:g,onChange:E}})=>(0,D.jsxs)(Ne.Grid,{display:"flex",flexDirection:"column",children:[a&&(0,D.jsx)(P,{label:a,required:n}),(0,D.jsx)(Oe.DatePicker,F(l({},t),{value:g!=null?g:null,inputFormat:(t==null?void 0:t.inputFormat)||"DD/MM/YYYY",onChange:E,renderInput:y=>{var C,d;return(0,D.jsx)(D.Fragment,{children:(0,D.jsx)(ze.TextField,F(l(l({size:"small",variant:"outlined"},y),u),{inputProps:F(l({},y.inputProps),{placeholder:x||((C=y.inputProps)==null?void 0:C.placeholder)}),InputProps:F(l({},y.InputProps),{endAdornment:(0,D.jsx)(Ue,{children:(d=y.InputProps)==null?void 0:d.endAdornment})})}))})}})),(0,D.jsx)(S,{name:r})]})})})},je=pr;0&&(module.exports={Checkbox,Creatable,DatePicker,Form,RadioButton,RadioGroup,Searchable,Select,Slider,Switch,TextField});
package/dist/index.mjs CHANGED
@@ -1,15 +1,15 @@
1
- var ee=Object.defineProperty,re=Object.defineProperties;var oe=Object.getOwnPropertyDescriptors;var I=Object.getOwnPropertySymbols;var z=Object.prototype.hasOwnProperty,O=Object.prototype.propertyIsEnumerable;var N=(e,r,o)=>r in e?ee(e,r,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[r]=o,l=(e,r)=>{for(var o in r||(r={}))z.call(r,o)&&N(e,o,r[o]);if(I)for(var o of I(r))O.call(r,o)&&N(e,o,r[o]);return e},h=(e,r)=>re(e,oe(r));var f=(e,r)=>{var o={};for(var i in e)z.call(e,i)&&r.indexOf(i)<0&&(o[i]=e[i]);if(e!=null&&I)for(var i of I(e))r.indexOf(i)<0&&O.call(e,i)&&(o[i]=e[i]);return o};import{useEffect as te}from"react";import{FormProvider as ie,useForm as le}from"react-hook-form";import{jsx as _}from"react/jsx-runtime";function ne(i){var t=i,{children:e,onSubmit:r}=t,o=f(t,["children","onSubmit"]);let a=le(o);te(()=>{a.reset(o.defaultValues)},[o.defaultValues,a.reset]);let n=()=>typeof e=="function"?e(h(l({},a),{onSubmit:a.handleSubmit(r)})):e;return _(ie,h(l({},a),{children:_("form",{onSubmit:a.handleSubmit(r),children:n()})}))}var ae=ne;import{useState as ue}from"react";import{Controller as ce,useFormContext as xe}from"react-hook-form";import{Eye as ye,EyeSlash as Fe}from"phosphor-react";import{Grid as be,InputAdornment as he,TextField as Pe}from"@mui/material";import*as R from"@s_mart/masks";import{Typography as B}from"@mui/material";import{toRem as se}from"@s_mart/utils";import{jsx as j,jsxs as de}from"react/jsx-runtime";var b=({label:e,required:r,regular:o})=>de("span",{style:{display:"flex",alignItems:"center",gap:se(2)},children:[j(B,{variant:"caption",fontWeight:o?400:700,style:{display:"flex",alignItems:"center"},children:e}),r&&j(B,{variant:"caption",fontWeight:900,color:"error",children:"*"})]});import{useFormContext as me}from"react-hook-form";import{Indicator as pe}from"@s_mart/core";import{jsx as fe}from"react/jsx-runtime";var P=({name:e})=>{var o,i,t;let r=me();return(i=(o=r==null?void 0:r.formState)==null?void 0:o.errors)!=null&&i[e]?fe(pe,{severity:"error",children:(t=r.formState.errors[e])==null?void 0:t.message}):null};import{jsx as T,jsxs as Ce}from"react/jsx-runtime";var ge=m=>{var s=m,{name:e,rules:r,defaultValue:o,shouldUnregister:i,label:t,required:a,mask:n,variant:u="outlined",onInputChange:c}=s,d=f(s,["name","rules","defaultValue","shouldUnregister","label","required","mask","variant","onInputChange"]);let g=xe();if(!g)throw new Error("Para usar o <TextField /> \xE9 necess\xE1rio que ele esteja dentro de um <Form />");let[S,C]=ue(!1),w=y=>{var p;return n?(p=R==null?void 0:R[n])==null?void 0:p.format(y):y},x=y=>{var p;return n?(p=R==null?void 0:R[n])==null?void 0:p.parse(y):y},G=y=>{if(!y||n!=="porcentagem")return;y==null||y.stopPropagation();let p=(y==null?void 0:y.target).value;if(p){let F=String(p);if(F.length>0){let q=F.indexOf("%");q>-1&&(y.currentTarget.selectionEnd=q)}}};return T(ce,{control:g.control,name:e,rules:r,defaultValue:o,shouldUnregister:i,render:({field:{value:y,onChange:p}})=>Ce(be,{display:"flex",flexDirection:"column",children:[t&&T(b,{label:t,required:a}),T(Pe,h(l({size:"small",variant:u,autoComplete:"off",defaultValue:o,value:w(y||""),onChange:F=>{var q;c==null||c(F),p(x((q=F==null?void 0:F.target)==null?void 0:q.value))}},d),{type:d.type==="password"?S?"text":"password":d.type,InputProps:l({onKeyDown:G,endAdornment:d.type==="password"&&T(he,{position:"end",onClick:()=>C(!S),style:{cursor:"pointer"},children:S?T(ye,{size:20}):T(Fe,{size:20})})},d.InputProps)})),T(P,{name:e})]})})},Se=ge;import{Controller as we,useFormContext as Ee}from"react-hook-form";import{Grid as De,Select as Te,MenuItem as W,useTheme as Ge}from"@mui/material";import{jsx as A,jsxs as Y}from"react/jsx-runtime";var Re=m=>{var s=m,{name:e,rules:r,defaultValue:o,shouldUnregister:i,label:t,required:a,options:n,placeholder:u,onInputChange:c}=s,d=f(s,["name","rules","defaultValue","shouldUnregister","label","required","options","placeholder","onInputChange"]);let g=Ee(),{palette:S}=Ge();if(!g)throw new Error("Para usar o <Select /> \xE9 necess\xE1rio que ele esteja dentro de um <Form />");return A(we,{control:g.control,name:e,rules:r,defaultValue:o||"",shouldUnregister:i,render:({field:{value:C,onChange:w}})=>Y(De,{display:"flex",flexDirection:"column",children:[t&&A(b,{label:t,required:a}),Y(Te,h(l({displayEmpty:Boolean(u),size:"small",variant:"outlined",autoComplete:"off",value:C||"",onChange:x=>{c==null||c(x),w(x.target.value)}},d),{children:[u&&A(W,{disabled:!0,value:"",children:A("p",{style:{color:S.grey[400]},children:u})}),n==null?void 0:n.map((x,G)=>A(W,{value:x.value,children:x.label},G))]})),A(P,{name:e})]})})},Ae=Re;import{Controller as Le,useFormContext as qe}from"react-hook-form";import{Grid as Me,Autocomplete as $e,TextField as ke}from"@mui/material";import{jsx as M,jsxs as Ue}from"react/jsx-runtime";var Ie=d=>{var m=d,{name:e,rules:r,defaultValue:o,shouldUnregister:i,label:t,required:a,options:n,textFieldProps:u}=m,c=f(m,["name","rules","defaultValue","shouldUnregister","label","required","options","textFieldProps"]);let s=qe();if(!s)throw new Error("Para usar o <Searchable /> \xE9 necess\xE1rio que ele esteja dentro de um <Form />");return M(Le,{control:s.control,name:e,rules:r,defaultValue:o,shouldUnregister:i,render:({field:{onChange:g,value:S}})=>Ue(Me,{display:"flex",flexDirection:"column",children:[t&&M(b,{label:t,required:a}),M($e,h(l({size:"small",onChange:(C,w)=>g(w),value:S||null,options:n,noOptionsText:"Nenhuma op\xE7\xE3o encontrada",isOptionEqualToValue:(C,w)=>typeof C=="string"&&typeof w=="string"?C===w:typeof C=="object"&&typeof w=="object"?C.value===w.value:!1},c),{renderInput:C=>M(ke,l(l({},C),u))})),M(P,{name:e})]})})},Ve=Ie;import{Controller as Ne,useFormContext as ze}from"react-hook-form";import{Plus as Oe}from"phosphor-react";import{Grid as _e,Autocomplete as Be,TextField as je,Typography as We}from"@mui/material";import{toRem as D}from"@s_mart/utils";import H from"@emotion/styled";import{css as K}from"@emotion/react";var J=K`
1
+ var oe=Object.defineProperty,te=Object.defineProperties;var ie=Object.getOwnPropertyDescriptors;var k=Object.getOwnPropertySymbols;var O=Object.prototype.hasOwnProperty,_=Object.prototype.propertyIsEnumerable;var z=(e,r,o)=>r in e?oe(e,r,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[r]=o,i=(e,r)=>{for(var o in r||(r={}))O.call(r,o)&&z(e,o,r[o]);if(k)for(var o of k(r))_.call(r,o)&&z(e,o,r[o]);return e},F=(e,r)=>te(e,ie(r));var f=(e,r)=>{var o={};for(var l in e)O.call(e,l)&&r.indexOf(l)<0&&(o[l]=e[l]);if(e!=null&&k)for(var l of k(e))r.indexOf(l)<0&&_.call(e,l)&&(o[l]=e[l]);return o};import{useEffect as le}from"react";import{FormProvider as ne,useForm as ae}from"react-hook-form";import{jsx as B}from"react/jsx-runtime";function se(l){var t=l,{children:e,onSubmit:r}=t,o=f(t,["children","onSubmit"]);let a=ae(o);le(()=>{a.reset(o.defaultValues)},[o.defaultValues,a.reset]);let n=()=>typeof e=="function"?e(F(i({},a),{onSubmit:a.handleSubmit(r)})):e;return B(ne,F(i({},a),{children:B("form",{onSubmit:a.handleSubmit(r),children:n()})}))}var de=se;import{useState as xe}from"react";import{Controller as ye,useFormContext as Fe}from"react-hook-form";import{Eye as be,EyeSlash as he}from"phosphor-react";import{Grid as Pe,InputAdornment as ge,TextField as Ce}from"@mui/material";import*as R from"@s_mart/masks";import{Typography as j}from"@mui/material";import{toRem as me}from"@s_mart/utils";import{jsx as W,jsxs as pe}from"react/jsx-runtime";var P=({label:e,required:r,regular:o})=>pe("span",{style:{display:"flex",alignItems:"center",gap:me(2)},children:[W(j,{variant:"caption",fontWeight:o?400:700,style:{display:"flex",alignItems:"center"},children:e}),r&&W(j,{variant:"caption",fontWeight:900,color:"error",children:"*"})]});import{useFormContext as fe}from"react-hook-form";import{Indicator as ue}from"@s_mart/core";import{jsx as ce}from"react/jsx-runtime";var S=({name:e})=>{var o,l,t;let r=fe();return(l=(o=r==null?void 0:r.formState)==null?void 0:o.errors)!=null&&l[e]?ce(ue,{severity:"error",children:(t=r.formState.errors[e])==null?void 0:t.message}):null};import{jsx as A,jsxs as Ee}from"react/jsx-runtime";var Se=m=>{var s=m,{name:e,rules:r,defaultValue:o,shouldUnregister:l,label:t,required:a,mask:n,variant:x="outlined",onInputChange:u}=s,c=f(s,["name","rules","defaultValue","shouldUnregister","label","required","mask","variant","onInputChange"]);let g=Fe();if(!g)throw new Error("Para usar o <TextField /> \xE9 necess\xE1rio que ele esteja dentro de um <Form />");let[w,y]=xe(!1),C=b=>{var p;return n?(p=R==null?void 0:R[n])==null?void 0:p.format(b):b},d=b=>{var p;return n?(p=R==null?void 0:R[n])==null?void 0:p.parse(b):b},G=b=>{if(!b||n!=="porcentagem")return;b==null||b.stopPropagation();let p=(b==null?void 0:b.target).value;if(p){let h=String(p);if(h.length>0){let $=h.indexOf("%");$>-1&&(b.currentTarget.selectionEnd=$)}}};return A(ye,{control:g.control,name:e,rules:r,defaultValue:o,shouldUnregister:l,render:({field:{value:b,onChange:p}})=>Ee(Pe,{display:"flex",flexDirection:"column",children:[t&&A(P,{label:t,required:a}),A(Ce,F(i({size:"small",variant:x,autoComplete:"off",defaultValue:o,value:C(b||""),onChange:h=>{var $;u==null||u(h),p(d(($=h==null?void 0:h.target)==null?void 0:$.value))}},c),{type:c.type==="password"?w?"text":"password":c.type,InputProps:i({onKeyDown:G,endAdornment:c.type==="password"&&A(ge,{position:"end",onClick:()=>y(!w),style:{cursor:"pointer"},children:w?A(be,{size:20}):A(he,{size:20})})},c.InputProps)})),A(S,{name:e})]})})},we=Se;import{Controller as De,useFormContext as Te}from"react-hook-form";import{Grid as Ae,Select as Ge,MenuItem as Y,useTheme as Re}from"@mui/material";import{jsx as L,jsxs as H}from"react/jsx-runtime";var Le=m=>{var s=m,{name:e,rules:r,defaultValue:o,shouldUnregister:l,label:t,required:a,options:n,placeholder:x,onInputChange:u}=s,c=f(s,["name","rules","defaultValue","shouldUnregister","label","required","options","placeholder","onInputChange"]);let g=Te(),{palette:w}=Re();if(!g)throw new Error("Para usar o <Select /> \xE9 necess\xE1rio que ele esteja dentro de um <Form />");return L(De,{control:g.control,name:e,rules:r,defaultValue:o||"",shouldUnregister:l,render:({field:{value:y,onChange:C}})=>H(Ae,{display:"flex",flexDirection:"column",children:[t&&L(P,{label:t,required:a}),H(Ge,F(i({displayEmpty:Boolean(x),size:"small",variant:"outlined",autoComplete:"off",value:y||"",onChange:d=>{u==null||u(d),C(d.target.value)}},c),{children:[x&&L(Y,{disabled:!0,value:"",children:L("p",{style:{color:w.grey[400]},children:x})}),n==null?void 0:n.map((d,G)=>L(Y,{value:d.value,children:d.label},G))]})),L(S,{name:e})]})})},$e=Le;import{Controller as qe,useFormContext as Me}from"react-hook-form";import{Grid as Ie,Autocomplete as ke,TextField as Ve}from"@mui/material";import{jsx as q,jsxs as Ne}from"react/jsx-runtime";var ve=c=>{var m=c,{name:e,rules:r,defaultValue:o,shouldUnregister:l,label:t,required:a,options:n,textFieldProps:x}=m,u=f(m,["name","rules","defaultValue","shouldUnregister","label","required","options","textFieldProps"]);let s=Me();if(!s)throw new Error("Para usar o <Searchable /> \xE9 necess\xE1rio que ele esteja dentro de um <Form />");return q(qe,{control:s.control,name:e,rules:r,defaultValue:o,shouldUnregister:l,render:({field:{onChange:g,value:w}})=>Ne(Ie,{display:"flex",flexDirection:"column",children:[t&&q(P,{label:t,required:a}),q(ke,F(i({size:"small",onChange:(y,C)=>g(C),value:w||null,options:n,noOptionsText:"Nenhuma op\xE7\xE3o encontrada",isOptionEqualToValue:(y,C)=>typeof y=="string"&&typeof C=="string"?y===C:typeof y=="object"&&typeof C=="object"?y.value===C.value:!1},u),{renderInput:y=>q(Ve,i(i({},y),x))})),q(S,{name:e})]})})},Ue=ve;import{Controller as Oe,useFormContext as _e}from"react-hook-form";import{Plus as Be}from"phosphor-react";import{Grid as je,Autocomplete as We,TextField as Ye,Typography as He}from"@mui/material";import{toRem as D}from"@s_mart/utils";import K from"@emotion/styled";import{css as J}from"@emotion/react";var Q=J`
2
2
  display: flex;
3
3
  align-items: center;
4
4
  justify-content: center;
5
- `,ve=e=>K`
5
+ `,ze=e=>J`
6
6
  .MuiAutocomplete-endAdornment {
7
7
  position: relative;
8
8
  right: 0;
9
9
  }
10
10
 
11
11
  .creatable {
12
- ${J}
12
+ ${Q}
13
13
 
14
14
  .divider {
15
15
  width: 1px;
@@ -35,18 +35,18 @@ var ee=Object.defineProperty,re=Object.defineProperties;var oe=Object.getOwnProp
35
35
  }
36
36
  }
37
37
  }
38
- `,Q=H.div`
38
+ `,X=K.div`
39
39
  display: flex;
40
40
 
41
41
  div.endAdornments {
42
42
  position: absolute;
43
43
  right: 0;
44
44
 
45
- ${J}
45
+ ${Q}
46
46
  }
47
47
 
48
- ${({hideAddButton:e,theme:r})=>!e&&ve(r)}
49
- `,X=H.div`
48
+ ${({hideAddButton:e,theme:r})=>!e&&ze(r)}
49
+ `,Z=K.div`
50
50
  color: ${({theme:e})=>e.palette.text.primary};
51
51
 
52
52
  padding: ${D(6)} ${D(16)};
@@ -57,4 +57,11 @@ var ee=Object.defineProperty,re=Object.defineProperties;var oe=Object.getOwnProp
57
57
  transition: background-color 0.2s ease-in-out;
58
58
  background-color: ${({theme:e})=>e.palette.grey[100]};
59
59
  }
60
- `;import{jsx as E,jsxs as V}from"react/jsx-runtime";var Ye=g=>{var S=g,{name:e,rules:r,defaultValue:o,shouldUnregister:i,label:t,required:a,options:n,onCreateOption:u,textFieldProps:c,hideAddButton:d,onInputChange:m}=S,s=f(S,["name","rules","defaultValue","shouldUnregister","label","required","options","onCreateOption","textFieldProps","hideAddButton","onInputChange"]);let C=ze();if(!C)throw new Error("Para usar o <Creatable /> \xE9 necess\xE1rio que ele esteja dentro de um <Form />");let w=x=>{u?u(x):console.error("onCreateOption n\xE3o foi definido")};return E(Ne,{control:C.control,name:e,rules:r,defaultValue:o,shouldUnregister:i,render:({field:{value:x,onChange:G}})=>{let y=(x==null?void 0:x.label)||(x==null?void 0:x.value)||x;return V(_e,{display:"flex",flexDirection:"column",children:[t&&E(b,{label:t,required:a}),E(Q,{hideAddButton:d,children:E(Be,h(l({size:"small",fullWidth:!0,onChange:(p,F)=>(m==null||m(F),G(F)),options:n,value:x||null,noOptionsText:E(X,{onClick:()=>w(x),children:V(We,{children:["Adicionar ",y&&`"${y}"`]})}),isOptionEqualToValue:(p,F)=>F?typeof p=="string"&&typeof F=="string"?p===F:typeof p=="object"&&typeof F=="object"?p.value===F.value:typeof p=="object"&&typeof F=="string":!1},s),{renderInput:p=>{let F=d?p.InputProps:h(l({},p.InputProps),{endAdornment:V("div",{className:"endAdornments",children:[p.InputProps.endAdornment,V("div",{className:"creatable",children:[E("div",{className:"divider"}),E("div",{className:"button",onClick:()=>w(x),children:E(Oe,{size:18,weight:"bold"})})]})]})});return E(je,l(h(l({},p),{onChange:G,InputProps:F}),c))}}))}),E(P,{name:e})]})}})},He=Ye;import{Controller as Ke,useFormContext as Je}from"react-hook-form";import{Grid as Qe,Checkbox as Xe,FormControlLabel as Ze}from"@mui/material";import{jsx as $,jsxs as or}from"react/jsx-runtime";var er=c=>{var d=c,{name:e,rules:r,defaultValue:o,shouldUnregister:i,label:t,labelPlacement:a,required:n}=d,u=f(d,["name","rules","defaultValue","shouldUnregister","label","labelPlacement","required"]);let m=Je();if(!m)throw new Error("Para usar o <Checkbox /> \xE9 necess\xE1rio que ele esteja dentro de um <Form />");return $(Ke,{control:m.control,name:e,rules:r,defaultValue:o,shouldUnregister:i,render:({field:{value:s,onChange:g}})=>or(Qe,{display:"flex",flexDirection:"column",children:[$(Ze,{control:$(Xe,l({value:s!=null?s:"",defaultValue:s,onChange:g},u)),label:$(b,{label:t,required:n,regular:!0}),labelPlacement:a||"end"}),$(P,{name:e})]})})},rr=er;import{Controller as tr,useFormContext as ir}from"react-hook-form";import{Grid as lr,Switch as nr,FormControlLabel as ar}from"@mui/material";import{jsx as k,jsxs as mr}from"react/jsx-runtime";var sr=u=>{var c=u,{name:e,rules:r,defaultValue:o,shouldUnregister:i,label:t,labelPlacement:a}=c,n=f(c,["name","rules","defaultValue","shouldUnregister","label","labelPlacement"]);let d=ir();if(!d)throw new Error("Para usar o <Switch /> \xE9 necess\xE1rio que ele esteja dentro de um <Form />");return k(tr,{control:d.control,name:e,rules:r,defaultValue:o,shouldUnregister:i,render:({field:{value:m,onChange:s}})=>mr(lr,{display:"flex",flexDirection:"column",children:[k(ar,{control:k(nr,l({value:m!=null?m:"",defaultValue:m,onChange:s},n)),label:k(b,{label:t}),labelPlacement:a||"end"}),k(P,{name:e})]})})},dr=sr;import{Grid as pr,Radio as fr,FormControlLabel as ur}from"@mui/material";import{jsx as U}from"react/jsx-runtime";var cr=i=>{var t=i,{label:e,labelPlacement:r}=t,o=f(t,["label","labelPlacement"]);return U(pr,{display:"flex",flexDirection:"column",children:U(ur,{control:U(fr,l({},o)),label:U(b,{label:e}),labelPlacement:r||"end"})})},xr=cr;import{Controller as yr,useFormContext as Fr}from"react-hook-form";import{Grid as br,RadioGroup as hr}from"@mui/material";import{jsx as v,jsxs as Sr}from"react/jsx-runtime";var Pr=d=>{var m=d,{name:e,rules:r,defaultValue:o,shouldUnregister:i,label:t,required:a,children:n,orientation:u="row"}=m,c=f(m,["name","rules","defaultValue","shouldUnregister","label","required","children","orientation"]);let s=Fr();if(!s)throw new Error("Para usar o <RadioGroup /> \xE9 necess\xE1rio que ele esteja dentro de um <Form />");return v(yr,{control:s.control,name:e,rules:r,defaultValue:o,shouldUnregister:i,render:({field:{value:g,onChange:S}})=>Sr(br,{display:"flex",flexDirection:"column",children:[t&&v(b,{label:t,required:a}),v(hr,h(l({value:g||"",onChange:S,name:e},c),{style:{display:"flex",flexDirection:u},children:n})),v(P,{name:e})]})})},gr=Pr;import{Controller as Cr,useFormContext as wr}from"react-hook-form";import{Slider as Er}from"@mui/material";import{jsx as Z}from"react/jsx-runtime";var Dr=a=>{var n=a,{name:e,rules:r,defaultValue:o,shouldUnregister:i}=n,t=f(n,["name","rules","defaultValue","shouldUnregister"]);let u=wr();if(!u)throw new Error("Para usar o <Slider /> \xE9 necess\xE1rio que ele esteja dentro de um <Form />");return Z(Cr,{control:u.control,name:e,rules:r,defaultValue:o,shouldUnregister:i,render:({field:{value:c,onChange:d}})=>Z(Er,l({value:c||(t==null?void 0:t.min)||0,onChange:d,valueLabelDisplay:"auto"},t))})},Tr=Dr;import{Controller as Gr,useFormContext as Rr}from"react-hook-form";import{Grid as Ar}from"@s_mart/core";import{TextField as Lr}from"@mui/material";import{DatePicker as qr}from"@mui/x-date-pickers/DatePicker";import{AdapterDayjs as Mr}from"@mui/x-date-pickers/AdapterDayjs";import{LocalizationProvider as $r}from"@mui/x-date-pickers/LocalizationProvider";import{jsx as L,jsxs as Vr}from"react/jsx-runtime";var kr=c=>{var d=c,{rules:e,name:r,defaultValue:o,shouldUnregister:i,datePickerProps:t,label:a,required:n}=d,u=f(d,["rules","name","defaultValue","shouldUnregister","datePickerProps","label","required"]);let m=Rr();if(!m)throw new Error("Para usar o <DataPicker /> \xE9 necess\xE1rio que ele esteja dentro de um <Form />");return L($r,{dateAdapter:Mr,children:L(Gr,{control:m.control,name:r,rules:e,defaultValue:o,shouldUnregister:i,render:({field:{value:s,onChange:g}})=>Vr(Ar,{display:"flex",flexDirection:"column",children:[a&&L(b,{label:a,required:n}),L(qr,h(l({},t),{value:s!=null?s:null,inputFormat:(t==null?void 0:t.inputFormat)||"DD/MM/YYYY",onChange:g,renderInput:S=>L(Lr,l(l({size:"small",variant:"outlined"},S),u))})),L(P,{name:r})]})})})},Ir=kr;export{rr as Checkbox,He as Creatable,Ir as DatePicker,ae as Form,xr as RadioButton,gr as RadioGroup,Ve as Searchable,Ae as Select,Tr as Slider,dr as Switch,Se as TextField};
60
+ `;import{jsx as E,jsxs as V}from"react/jsx-runtime";var Ke=g=>{var w=g,{name:e,rules:r,defaultValue:o,shouldUnregister:l,label:t,required:a,options:n,onCreateOption:x,textFieldProps:u,hideAddButton:c,onInputChange:m}=w,s=f(w,["name","rules","defaultValue","shouldUnregister","label","required","options","onCreateOption","textFieldProps","hideAddButton","onInputChange"]);let y=_e();if(!y)throw new Error("Para usar o <Creatable /> \xE9 necess\xE1rio que ele esteja dentro de um <Form />");let C=d=>{x?x(d):console.error("onCreateOption n\xE3o foi definido")};return E(Oe,{control:y.control,name:e,rules:r,defaultValue:o,shouldUnregister:l,render:({field:{value:d,onChange:G}})=>{let b=(d==null?void 0:d.label)||(d==null?void 0:d.value)||d;return V(je,{display:"flex",flexDirection:"column",children:[t&&E(P,{label:t,required:a}),E(X,{hideAddButton:c,children:E(We,F(i({size:"small",fullWidth:!0,onChange:(p,h)=>(m==null||m(h),G(h)),options:n,value:d||null,noOptionsText:E(Z,{onClick:()=>C(d),children:V(He,{children:["Adicionar ",b&&`"${b}"`]})}),isOptionEqualToValue:(p,h)=>h?typeof p=="string"&&typeof h=="string"?p===h:typeof p=="object"&&typeof h=="object"?p.value===h.value:typeof p=="object"&&typeof h=="string":!1},s),{renderInput:p=>{let h=c?p.InputProps:F(i({},p.InputProps),{endAdornment:V("div",{className:"endAdornments",children:[p.InputProps.endAdornment,V("div",{className:"creatable",children:[E("div",{className:"divider"}),E("div",{className:"button",onClick:()=>C(d),children:E(Be,{size:18,weight:"bold"})})]})]})});return E(Ye,i(F(i({},p),{onChange:G,InputProps:h}),u))}}))}),E(S,{name:e})]})}})},Je=Ke;import{Controller as Qe,useFormContext as Xe}from"react-hook-form";import{Grid as Ze,Checkbox as er,FormControlLabel as rr}from"@mui/material";import{jsx as M,jsxs as ir}from"react/jsx-runtime";var or=u=>{var c=u,{name:e,rules:r,defaultValue:o,shouldUnregister:l,label:t,labelPlacement:a,required:n}=c,x=f(c,["name","rules","defaultValue","shouldUnregister","label","labelPlacement","required"]);let m=Xe();if(!m)throw new Error("Para usar o <Checkbox /> \xE9 necess\xE1rio que ele esteja dentro de um <Form />");return M(Qe,{control:m.control,name:e,rules:r,defaultValue:o,shouldUnregister:l,render:({field:{value:s,onChange:g}})=>ir(Ze,{display:"flex",flexDirection:"column",children:[M(rr,{control:M(er,i({value:s!=null?s:"",defaultValue:s,onChange:g},x)),label:M(P,{label:t,required:n,regular:!0}),labelPlacement:a||"end"}),M(S,{name:e})]})})},tr=or;import{Controller as lr,useFormContext as nr}from"react-hook-form";import{Grid as ar,Switch as sr,FormControlLabel as dr}from"@mui/material";import{jsx as I,jsxs as fr}from"react/jsx-runtime";var mr=x=>{var u=x,{name:e,rules:r,defaultValue:o,shouldUnregister:l,label:t,labelPlacement:a}=u,n=f(u,["name","rules","defaultValue","shouldUnregister","label","labelPlacement"]);let c=nr();if(!c)throw new Error("Para usar o <Switch /> \xE9 necess\xE1rio que ele esteja dentro de um <Form />");return I(lr,{control:c.control,name:e,rules:r,defaultValue:o,shouldUnregister:l,render:({field:{value:m,onChange:s}})=>fr(ar,{display:"flex",flexDirection:"column",children:[I(dr,{control:I(sr,i({value:m!=null?m:"",defaultValue:m,onChange:s},n)),label:I(P,{label:t}),labelPlacement:a||"end"}),I(S,{name:e})]})})},pr=mr;import{Grid as ur,Radio as cr,FormControlLabel as xr}from"@mui/material";import{jsx as v}from"react/jsx-runtime";var yr=l=>{var t=l,{label:e,labelPlacement:r}=t,o=f(t,["label","labelPlacement"]);return v(ur,{display:"flex",flexDirection:"column",children:v(xr,{control:v(cr,i({},o)),label:v(P,{label:e}),labelPlacement:r||"end"})})},Fr=yr;import{Controller as br,useFormContext as hr}from"react-hook-form";import{Grid as Pr,RadioGroup as gr}from"@mui/material";import{jsx as U,jsxs as wr}from"react/jsx-runtime";var Cr=c=>{var m=c,{name:e,rules:r,defaultValue:o,shouldUnregister:l,label:t,required:a,children:n,orientation:x="row"}=m,u=f(m,["name","rules","defaultValue","shouldUnregister","label","required","children","orientation"]);let s=hr();if(!s)throw new Error("Para usar o <RadioGroup /> \xE9 necess\xE1rio que ele esteja dentro de um <Form />");return U(br,{control:s.control,name:e,rules:r,defaultValue:o,shouldUnregister:l,render:({field:{value:g,onChange:w}})=>wr(Pr,{display:"flex",flexDirection:"column",children:[t&&U(P,{label:t,required:a}),U(gr,F(i({value:g||"",onChange:w,name:e},u),{style:{display:"flex",flexDirection:x},children:n})),U(S,{name:e})]})})},Sr=Cr;import{Controller as Er,useFormContext as Dr}from"react-hook-form";import{Slider as Tr}from"@mui/material";import{jsx as ee}from"react/jsx-runtime";var Ar=a=>{var n=a,{name:e,rules:r,defaultValue:o,shouldUnregister:l}=n,t=f(n,["name","rules","defaultValue","shouldUnregister"]);let x=Dr();if(!x)throw new Error("Para usar o <Slider /> \xE9 necess\xE1rio que ele esteja dentro de um <Form />");return ee(Er,{control:x.control,name:e,rules:r,defaultValue:o,shouldUnregister:l,render:({field:{value:u,onChange:c}})=>ee(Tr,i({value:u||(t==null?void 0:t.min)||0,onChange:c,valueLabelDisplay:"auto"},t))})},Gr=Ar;import{Controller as Lr,useFormContext as $r}from"react-hook-form";import{Grid as qr}from"@s_mart/core";import{TextField as Mr}from"@mui/material";import{DatePicker as Ir}from"@mui/x-date-pickers/DatePicker";import{AdapterDayjs as kr}from"@mui/x-date-pickers/AdapterDayjs";import{LocalizationProvider as Vr}from"@mui/x-date-pickers/LocalizationProvider";import{toRem as N}from"@s_mart/utils";import Rr from"@emotion/styled";var re=Rr.div`
61
+ > div > button {
62
+ padding: ${N(6)} ${N(8)};
63
+ border-radius: 0 ${N(4)} ${N(4)} 0;
64
+
65
+ margin: 0px -13px 0px 0px;
66
+ }
67
+ `;import{Fragment as Nr,jsx as T,jsxs as zr}from"react/jsx-runtime";var vr=c=>{var m=c,{rules:e,name:r,defaultValue:o,shouldUnregister:l,datePickerProps:t,label:a,required:n,placeholder:x}=m,u=f(m,["rules","name","defaultValue","shouldUnregister","datePickerProps","label","required","placeholder"]);let s=$r();if(!s)throw new Error("Para usar o <DataPicker /> \xE9 necess\xE1rio que ele esteja dentro de um <Form />");return T(Vr,{dateAdapter:kr,children:T(Lr,{control:s.control,name:r,rules:e,defaultValue:o,shouldUnregister:l,render:({field:{value:g,onChange:w}})=>zr(qr,{display:"flex",flexDirection:"column",children:[a&&T(P,{label:a,required:n}),T(Ir,F(i({},t),{value:g!=null?g:null,inputFormat:(t==null?void 0:t.inputFormat)||"DD/MM/YYYY",onChange:w,renderInput:y=>{var C,d;return T(Nr,{children:T(Mr,F(i(i({size:"small",variant:"outlined"},y),u),{inputProps:F(i({},y.inputProps),{placeholder:x||((C=y.inputProps)==null?void 0:C.placeholder)}),InputProps:F(i({},y.InputProps),{endAdornment:T(re,{children:(d=y.InputProps)==null?void 0:d.endAdornment})})}))})}})),T(S,{name:r})]})})})},Ur=vr;export{tr as Checkbox,Je as Creatable,Ur as DatePicker,de as Form,Fr as RadioButton,Sr as RadioGroup,Ue as Searchable,$e as Select,Gr as Slider,pr as Switch,we as TextField};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@s_mart/form",
3
- "version": "2.6.0",
3
+ "version": "2.6.2",
4
4
  "main": "./dist/index.js",
5
5
  "module": "./dist/index.mjs",
6
6
  "types": "./dist/index.d.ts",