@mobilestockweb/form 0.1.1 → 0.2.0
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/index.d.ts +62 -2
- package/index.js +55 -11
- package/package.json +4 -2
package/index.d.ts
CHANGED
|
@@ -1,12 +1,66 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { BadgeType } from '@mobilestockweb/badge';
|
|
3
|
+
import { ButtonProps } from '@mobilestockweb/button';
|
|
1
4
|
import * as react from 'react';
|
|
2
5
|
import { InputHTMLAttributes, RefObject } from 'react';
|
|
3
6
|
import { FormHandles, FormProps } from '@unform/core';
|
|
4
|
-
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
5
|
-
import { ButtonProps } from '@mobilestockweb/button';
|
|
6
7
|
import { ViewBaseProps } from '@mobilestockweb/container';
|
|
7
8
|
import { GroupBase, Props } from 'react-select';
|
|
8
9
|
import { ZodSchema } from 'zod';
|
|
9
10
|
|
|
11
|
+
interface BadgeProps {
|
|
12
|
+
text: string;
|
|
13
|
+
renderInsidePill?: boolean;
|
|
14
|
+
type?: BadgeType;
|
|
15
|
+
}
|
|
16
|
+
declare function Badge(props: BadgeProps): react_jsx_runtime.JSX.Element;
|
|
17
|
+
declare namespace Badge {
|
|
18
|
+
var displayName: string;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
type ButtonType = 'PLUS' | 'MINUS';
|
|
22
|
+
interface TypeButton extends Pick<ButtonProps, 'disabled' | 'text' | 'backgroundColor'> {
|
|
23
|
+
type: ButtonType;
|
|
24
|
+
disabled?: boolean;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
declare function Minus(props: Partial<Omit<TypeButton, 'type'>>): react_jsx_runtime.JSX.Element;
|
|
28
|
+
declare namespace Minus {
|
|
29
|
+
var displayName: string;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
declare function Plus(props: Partial<Omit<TypeButton, 'type'>>): react_jsx_runtime.JSX.Element;
|
|
33
|
+
declare namespace Plus {
|
|
34
|
+
var displayName: string;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
declare function Display(): react_jsx_runtime.JSX.Element;
|
|
38
|
+
declare namespace Display {
|
|
39
|
+
var displayName: string;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
type CounterEventName = 'INCREMENT' | 'DECREMENT' | 'EDIT';
|
|
43
|
+
|
|
44
|
+
interface CounterRootProps {
|
|
45
|
+
children?: React.ReactNode;
|
|
46
|
+
initialCount?: number;
|
|
47
|
+
maxCount?: number;
|
|
48
|
+
minCount?: number;
|
|
49
|
+
label?: string;
|
|
50
|
+
name: string;
|
|
51
|
+
editable?: boolean;
|
|
52
|
+
multiplier?: number;
|
|
53
|
+
labelPosition?: 'TOP_START' | 'LEFT' | 'TOP_CENTER';
|
|
54
|
+
buttonTransparent?: boolean;
|
|
55
|
+
groupElements?: boolean;
|
|
56
|
+
onChange?(data: {
|
|
57
|
+
value: number;
|
|
58
|
+
event: CounterEventName;
|
|
59
|
+
}): void;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
declare function CounterRoot({ children, ...props }: CounterRootProps): react_jsx_runtime.JSX.Element;
|
|
63
|
+
|
|
10
64
|
type InputType = 'text' | 'password' | 'tel' | 'email' | 'number' | 'url' | 'zipcode' | 'hidden';
|
|
11
65
|
interface InputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type'> {
|
|
12
66
|
name: string;
|
|
@@ -72,6 +126,12 @@ declare const Form: typeof FormComponent & {
|
|
|
72
126
|
Radio: typeof FormRadio;
|
|
73
127
|
Select: typeof FormSelect;
|
|
74
128
|
Button: typeof FormButton;
|
|
129
|
+
Counter: typeof CounterRoot & {
|
|
130
|
+
Display: typeof Display;
|
|
131
|
+
Plus: typeof Plus;
|
|
132
|
+
Minus: typeof Minus;
|
|
133
|
+
Badge: typeof Badge;
|
|
134
|
+
};
|
|
75
135
|
Vertical: typeof FormVertical;
|
|
76
136
|
Horizontal: typeof FormHorizontal;
|
|
77
137
|
};
|
package/index.js
CHANGED
|
@@ -1,29 +1,73 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var It=Object.create;var j=Object.defineProperty,vt=Object.defineProperties,wt=Object.getOwnPropertyDescriptor,Bt=Object.getOwnPropertyDescriptors,Mt=Object.getOwnPropertyNames,ae=Object.getOwnPropertySymbols,Lt=Object.getPrototypeOf,ce=Object.prototype.hasOwnProperty,Fe=Object.prototype.propertyIsEnumerable;var he=(e,t,o)=>t in e?j(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,d=(e,t)=>{for(var o in t||(t={}))ce.call(t,o)&&he(e,o,t[o]);if(ae)for(var o of ae(t))Fe.call(t,o)&&he(e,o,t[o]);return e},f=(e,t)=>vt(e,Bt(t));var N=(e,t)=>{var o={};for(var r in e)ce.call(e,r)&&t.indexOf(r)<0&&(o[r]=e[r]);if(e!=null&&ae)for(var r of ae(e))t.indexOf(r)<0&&Fe.call(e,r)&&(o[r]=e[r]);return o};var _t=(e,t)=>{for(var o in t)j(e,o,{get:t[o],enumerable:!0})},Ve=(e,t,o,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Mt(t))!ce.call(e,i)&&i!==o&&j(e,i,{get:()=>t[i],enumerable:!(r=wt(t,i))||r.enumerable});return e};var h=(e,t,o)=>(o=e!=null?It(Lt(e)):{},Ve(t||!e||!e.__esModule?j(o,"default",{value:e,enumerable:!0}):o,e)),Ht=e=>Ve(j({},"__esModule",{value:!0}),e);var Oe=(e,t,o)=>new Promise((r,i)=>{var l=a=>{try{s(o.next(a))}catch(b){i(b)}},n=a=>{try{s(o.throw(a))}catch(b){i(b)}},s=a=>a.done?r(a.value):Promise.resolve(a.value).then(l,n);s((o=o.apply(e,t)).next())});var jt={};_t(jt,{Form:()=>Yt,useForm:()=>F});module.exports=Ht(jt);var _e=require("@mobilestockweb/button");var Ie=require("@unform/web"),ve=require("notistack"),H=require("react"),we=require("zod"),Be=require("@mobilestockweb/container");var le=require("react/jsx-runtime"),Me=(0,H.createContext)({});function F(){return(0,H.useContext)(Me)}function Le(i){var l=i,{children:e,onSubmit:t,schema:o}=l,r=N(l,["children","onSubmit","schema"]);let n=(0,H.useRef)(null),[s,a]=(0,H.useState)(!1);function b(){var m;(m=n.current)==null||m.submitForm()}function C(){var m,y;(m=n.current)==null||m.setErrors({}),(y=n.current)==null||y.reset()}function u(m){let y={};for(let p of m){let P=p.path.filter(w=>typeof w=="string"||typeof w=="number").join(".");P&&(y[String(P)]=p.message)}return y}function T(m){if(m instanceof we.ZodError)return u(m.issues);if(typeof m=="object"&&m!==null&&"errors"in m){let y=m.errors;if(Array.isArray(y)&&y.length>0&&"message"in y[0]&&"path"in y[0])return u(y)}return null}function v(p,P){return Oe(this,arguments,function*(m,{reset:y}){var w,ne,q,k,J;if((w=n.current)==null||w.setErrors({}),o){let x=o.safeParse(m);if(!x.success){(ne=n.current)==null||ne.setErrors(u(x.error.issues));return}}try{a(!0),yield t({data:m,ref:n,reset:y})}catch(x){let Q=T(x);if(Q)(q=n.current)==null||q.setErrors(Q);else{let X="Erro ao realizar opera\xE7\xE3o",ie=500;if(typeof x=="object"&&x!==null&&"isAxiosError"in x&&x.isAxiosError){let R=x;ie=((k=R.response)==null?void 0:k.status)||500;let c=(J=R.response)==null?void 0:J.data;c!=null&&c.message&&(X=c.message)}else x instanceof Error&&(X=x.message||X);(0,ve.enqueueSnackbar)(X,{variant:ie>=500?"error":"warning"})}}finally{a(!1)}})}return(0,le.jsx)(Me.Provider,{value:{formRef:n,submitForm:b,clearForm:C,loading:s},children:(0,le.jsx)(Ie.Form,f(d({},r),{ref:n,onSubmit:v,children:(0,le.jsx)(Be.Container.Vertical,{gap:"2XS",children:e})}))})}var ze=require("react/jsx-runtime");function He(l){var n=l,{type:e="SUBMIT",disabled:t,isLoading:o,onClick:r}=n,i=N(n,["type","disabled","isLoading","onClick"]);let{submitForm:s,clearForm:a,loading:b}=F();function C(u){switch(u.preventDefault(),e){case"SUBMIT":s();break;case"RESET":a();break;default:r==null||r(u)}}return(0,ze.jsx)(_e.Button,f(d({},i),{onClick:C,isLoading:e==="SUBMIT"&&b||o,disabled:b||o||t,type:e.toLowerCase()}))}var de=h(require("styled-components")),Ke=require("@mobilestockweb/badge"),We=require("@mobilestockweb/container"),Ze=h(require("@mobilestockweb/tools")),qe=require("@mobilestockweb/typography");var Ae=require("@unform/core"),V=require("react"),De=require("react/jsx-runtime"),$e=(0,V.createContext)(void 0);function ke(e){let{fieldName:t,registerField:o,error:r,defaultValue:i}=(0,Ae.useField)(e.name),[l,n]=(0,V.useState)(0),s=(0,V.useCallback)(u=>{let T=u;return e.maxCount!==void 0&&T>e.maxCount&&(T=e.maxCount),e.minCount!==void 0&&T<e.minCount&&(T=e.minCount),T},[e.maxCount,e.minCount]),a=(0,V.useCallback)(u=>{var v;let T=s(u);n(T),(v=e.onChange)==null||v.call(e,{value:T,event:"EDIT"})},[s]);(0,V.useEffect)(()=>{o({name:t,getValue:()=>l,setValue:(u,T)=>a(T),clearValue:()=>a(0)})},[t,l,o,a]),(0,V.useEffect)(()=>{a(Number(e.initialCount)||Number(i)||0)},[e.initialCount,a,i]);function b(u=1){n(T=>{var m;let v=s(T+1*u);return(m=e.onChange)==null||m.call(e,{value:v,event:"INCREMENT"}),v})}function C(u=1){n(T=>{var m;let v=s(T-1*u);return(m=e.onChange)==null||m.call(e,{value:v,event:"DECREMENT"}),v})}return(0,De.jsx)($e.Provider,{value:{count:l,increment:b,decrement:C,configureCount:a,multiplier:e.multiplier,maxCount:e.maxCount,minCount:e.minCount,editable:e.editable,label:e.label,labelPosition:e.labelPosition,buttonTransparent:e.buttonTransparent,groupElements:e.groupElements,error:r},children:e.children})}function O(){let e=(0,V.useContext)($e);if(!e)throw new Error("useCounter must be used within a CounterProvider");return e}var Ue=h(require("styled-components")),Ge=require("@mobilestockweb/container");var Xe=require("react/jsx-runtime");function D(e){return(0,Xe.jsx)(zt,d({align:"CENTER"},e))}var zt=(0,Ue.default)(Ge.Container.Vertical)`
|
|
2
|
+
min-width: 40px;
|
|
3
|
+
height: 34px;
|
|
4
|
+
user-select: none;
|
|
5
|
+
`;var ee=require("react/jsx-runtime");function te(e){let{groupElements:t}=O();return(0,ee.jsx)(D,{children:t&&e.renderInsidePill?(0,ee.jsx)(At,{$type:e.type,full:!0,align:"CENTER",children:(0,ee.jsx)($t,{$type:e.type,children:e.text})}):(0,ee.jsx)(Ke.Badge,{text:e.text,type:e.type,size:"XS"})})}function Je(e,t){return Object.keys(t.colors.badge).find(o=>o.toLowerCase()===(e==null?void 0:e.toLowerCase()))||"default"}var At=(0,de.default)(We.Container.Vertical)`
|
|
6
|
+
background-color: ${({$type:e,theme:t})=>{let o=Je(e,t);return t.colors.badge[o]}};
|
|
7
|
+
width: 100%;
|
|
8
|
+
`,$t=(0,de.default)(qe.Typography)`
|
|
9
|
+
color: ${({$type:e,theme:t})=>{let o=Je(e,t);return Ze.default.defineTextColor(t.colors.badge[o])}};
|
|
10
|
+
`;te.displayName="Form.FormCounter.Badge";var M=require("react"),I=require("@mobilestockweb/container"),rt=h(require("@mobilestockweb/tools"));var oe=h(require("styled-components")),Qe=require("@mobilestockweb/container");var Ye=require("react/jsx-runtime");function K(o){var r=o,{children:e}=r,t=N(r,["children"]);let{groupElements:i,error:l}=O();return(0,Ye.jsx)(kt,f(d({align:"CENTER",$groupElements:i,$error:!!l},t),{children:e}))}var kt=(0,oe.default)(Qe.Container.Horizontal)`
|
|
11
|
+
border-radius: ${({theme:e})=>e.borderRadius.default};
|
|
12
|
+
overflow: hidden;
|
|
13
|
+
background-color: transparent;
|
|
14
|
+
border: none;
|
|
15
|
+
${({$groupElements:e,theme:t})=>e&&oe.css`
|
|
16
|
+
background-color: ${t.colors.input.default};
|
|
17
|
+
|
|
18
|
+
border: 1px solid ${t.colors.input.border};
|
|
19
|
+
`}
|
|
20
|
+
${({$error:e,theme:t})=>e&&oe.css`
|
|
21
|
+
background-color: ${t.colors.input.error};
|
|
22
|
+
border: 1px solid ${t.colors.alert.urgent};
|
|
23
|
+
`}
|
|
24
|
+
`;var je=require("@mobilestockweb/typography"),et=require("react/jsx-runtime");function B({children:e}){return(0,et.jsx)(je.Typography,{color:"DANGER_600",size:"SM",weight:"MEDIUM",children:e})}var tt=require("@mobilestockweb/typography"),ot=require("react/jsx-runtime");function z({children:e}){return(0,ot.jsx)(tt.Typography,{weight:"REGULAR",children:e})}var E=require("react/jsx-runtime");function nt({children:e}){let{label:t,error:o,labelPosition:r}=O(),i=[],l=[],n=(0,M.useCallback)(a=>(0,M.isValidElement)(a)&&a.type===M.Fragment?n(a.props.children):a,[]),s=n(e);return M.Children.toArray(s).forEach(a=>{(0,M.isValidElement)(a)&&rt.default.isComponentWithDisplayName(a.type)&&a.type.displayName===te.displayName&&!a.props.renderInsidePill?i.push(a):l.push(a)}),(0,E.jsxs)(I.Container.Vertical,{align:"CENTER_START",children:[r==="TOP_START"&&t&&(0,E.jsxs)(I.Container.Horizontal,{padding:"NONE_NONE_2XS_NONE",gap:"2XS",children:[(0,E.jsx)(z,{children:t}),o&&!i.length&&(0,E.jsx)(B,{children:o})]}),r!=="LEFT"&&(0,E.jsxs)(I.Container.Vertical,{align:"CENTER",children:[(r!=="TOP_START"&&t||r!=="TOP_START"&&o&&!i.length)&&(0,E.jsxs)(I.Container.Vertical,{align:"CENTER",padding:"NONE_NONE_2XS_NONE",children:[t&&(0,E.jsx)(z,{children:t}),o&&!i.length&&(0,E.jsx)(B,{children:o})]}),(0,E.jsxs)(I.Container.Horizontal,{align:"CENTER_START",children:[i.length>0&&(0,E.jsx)(I.Container.Horizontal,{padding:"NONE_2XS_NONE_NONE",children:i}),(0,E.jsxs)(I.Container.Vertical,{children:[(0,E.jsx)(K,{children:l}),o&&!!i.length&&(0,E.jsx)(B,{children:o})]})]})]}),r==="LEFT"&&(0,E.jsx)(I.Container.Vertical,{children:(0,E.jsxs)(I.Container.Horizontal,{align:"CENTER",children:[(0,E.jsxs)(I.Container.Vertical,{padding:"NONE_2XS_NONE_NONE",children:[t&&(0,E.jsx)(z,{children:t}),o&&!i.length&&(0,E.jsx)(B,{children:o})]}),i.length>0&&(0,E.jsx)(I.Container.Horizontal,{padding:"NONE_2XS_NONE_NONE",children:i}),(0,E.jsx)(K,{children:l})]})})]})}var A=require("@mobilestockweb/container");var ue=require("react"),it=h(require("styled-components")),at=require("@mobilestockweb/button");var pe=require("react/jsx-runtime");function L(r){var i=r,{type:e,disabled:t}=i,o=N(i,["type","disabled"]);let{loading:l}=F(),n=O(),s=(0,ue.useRef)(null),a=(0,ue.useMemo)(()=>e==="PLUS"&&n.maxCount!==void 0?n.count>=n.maxCount:e==="MINUS"&&n.minCount!==void 0?n.count<=n.minCount:!1,[e,n.count,n.maxCount,n.minCount]);function b(){e==="PLUS"?n.increment():n.decrement()}function C(){s.current=setTimeout(()=>{"vibrate"in navigator&&navigator.vibrate(500),e==="PLUS"?n.increment(n.multiplier):n.decrement(n.multiplier)},500)}function u(){s.current&&(clearTimeout(s.current),s.current=null)}return(0,pe.jsx)(D,{children:(0,pe.jsx)(Dt,f(d({type:"button",icon:e==="PLUS"?"Plus":"Minus",backgroundColor:e==="PLUS"?"DEFAULT_DARK":"CANCEL_DARK"},o),{size:"SM",variant:n.buttonTransparent?"TRANSPARENT":"DEFAULT",$grouped:n.groupElements,disabled:a||t||l,onClick:b,onMouseDown:C,onMouseUp:u,onMouseLeave:u,onTouchStart:C,onTouchEnd:u}))})}var Dt=(0,it.default)(at.Button)`
|
|
25
|
+
border-radius: ${({$grouped:e,theme:t})=>e?t.borderRadius.none:t.borderRadius.default};
|
|
26
|
+
`;var U=require("react"),lt=h(require("styled-components")),ut=require("@mobilestockweb/clickable"),fe=require("@mobilestockweb/container"),ge=require("@mobilestockweb/typography");var _=require("react/jsx-runtime");function W(){let{count:e,editable:t,configureCount:o}=O(),r=(0,U.useRef)(null),[i,l]=(0,U.useState)(!1),[n,s]=(0,U.useState)(e.toString());(0,U.useEffect)(()=>{s(e.toString())},[e]);function a(C){let u=Number(C.target.value);o(Number.isNaN(u)?0:u),l(!1)}function b(C){var u;C.key==="Enter"&&(C.preventDefault(),(u=r.current)==null||u.blur())}return t?(0,_.jsx)(ut.Clickable,{onClick:()=>l(!0),type:"button",children:(0,_.jsx)(fe.Container.Horizontal,{padding:"NONE_2XS",children:(0,_.jsx)(D,{children:i?(0,_.jsx)(Ut,{"data-testid":"counter-input",ref:r,value:n,autoFocus:!0,onKeyDown:b,type:"text",inputMode:"numeric",onChange:C=>s(C.target.value),onFocus:C=>C.target.select(),onBlur:a}):(0,_.jsx)(ge.Typography,{weight:"BOLD",size:"LG",children:e})})})}):(0,_.jsx)(fe.Container.Horizontal,{padding:"NONE_2XS",children:(0,_.jsx)(D,{children:(0,_.jsx)(ge.Typography,{weight:"BOLD",size:"LG",children:e})})})}var Ut=lt.default.input`
|
|
27
|
+
&:focus {
|
|
28
|
+
outline: none;
|
|
29
|
+
box-shadow: none;
|
|
30
|
+
}
|
|
31
|
+
border: none;
|
|
32
|
+
background-color: transparent;
|
|
33
|
+
&::-webkit-inner-spin-button,
|
|
34
|
+
&::-webkit-outer-spin-button {
|
|
35
|
+
-webkit-appearance: none;
|
|
36
|
+
margin: 0;
|
|
37
|
+
}
|
|
38
|
+
appearance: textfield;
|
|
39
|
+
-moz-appearance: textfield;
|
|
40
|
+
font-weight: bold;
|
|
41
|
+
font-size: ${({theme:e})=>{var t,o;return((o=(t=e==null?void 0:e.font)==null?void 0:t.size)==null?void 0:o.lg)||16}}px;
|
|
42
|
+
text-align: center;
|
|
43
|
+
width: 40px;
|
|
44
|
+
height: 34px;
|
|
45
|
+
`;W.displayName="Form.FormCounter.Display";var g=require("react/jsx-runtime");function st(){let{label:e,labelPosition:t,error:o}=O();return(0,g.jsxs)(A.Container.Vertical,{align:"CENTER_START",children:[t==="TOP_START"&&e&&(0,g.jsxs)(A.Container.Horizontal,{padding:"NONE_NONE_2XS_NONE",gap:"2XS",children:[(0,g.jsx)(z,{children:e}),o&&(0,g.jsx)(B,{children:o})]}),t!=="LEFT"&&(0,g.jsxs)(A.Container.Vertical,{align:"CENTER",children:[t!=="TOP_START"&&(e||o)&&(0,g.jsxs)(A.Container.Vertical,{align:"CENTER",padding:"NONE_NONE_2XS_NONE",children:[e&&(0,g.jsx)(z,{children:e}),o&&(0,g.jsx)(B,{children:o})]}),(0,g.jsxs)(K,{children:[(0,g.jsx)(L,{type:"MINUS"}),(0,g.jsx)(W,{}),(0,g.jsx)(L,{type:"PLUS"})]})]}),t==="LEFT"&&(0,g.jsx)(A.Container.Vertical,{children:(0,g.jsxs)(A.Container.Horizontal,{align:"CENTER",children:[(e||o)&&(0,g.jsxs)(A.Container.Vertical,{padding:"NONE_2XS_NONE_NONE",children:[e&&(0,g.jsx)(z,{children:e}),o&&(0,g.jsx)(B,{children:o})]}),(0,g.jsxs)(K,{children:[(0,g.jsx)(L,{type:"MINUS"}),(0,g.jsx)(W,{}),(0,g.jsx)(L,{type:"PLUS"})]})]})})]})}var se=require("react/jsx-runtime");function mt(o){var r=o,{children:e}=r,t=N(r,["children"]);return(0,se.jsx)(ke,f(d({buttonTransparent:!1,labelPosition:"TOP_START",multiplier:1},t),{children:e?(0,se.jsx)(nt,{children:e}):(0,se.jsx)(st,{})}))}var ct=require("react/jsx-runtime");function be(e){return(0,ct.jsx)(L,f(d({},e),{type:"MINUS"}))}be.displayName="Form.FormCounter.Minus";var dt=require("react/jsx-runtime");function Ce(e){return(0,dt.jsx)(L,f(d({},e),{type:"PLUS"}))}Ce.displayName="Form.FormCounter.Plus";var pt=Object.assign(mt,{Display:W,Plus:Ce,Minus:be,Badge:te});var ft=require("@mobilestockweb/container");var bt=require("react/jsx-runtime");function gt(o){var r=o,{children:e}=r,t=N(r,["children"]);return(0,bt.jsx)(ft.Container.Horizontal,f(d({gap:"SM"},t),{children:e}))}var Ct=require("@unform/core"),S=require("react"),re=h(require("styled-components")),Et=require("@mobilestockweb/button"),Te=require("@mobilestockweb/container"),Ee=h(require("@mobilestockweb/tools")),Ne=require("@mobilestockweb/typography");var $=require("react/jsx-runtime"),Tt=(0,S.forwardRef)(function(v,T){var m=v,{name:t,label:o,defaultValue:r,type:i,autoSubmit:l,full:n,error:s,format:a,onChange:b,maxLength:C}=m,u=N(m,["name","label","defaultValue","type","autoSubmit","full","error","format","onChange","maxLength"]);let{loading:y}=F(),p=(0,Ct.useField)(t),P=(0,S.useRef)(null),[w,ne]=(0,S.useState)(!1),[q,k]=(0,S.useState)(""),J=i==="password",x=i==="tel"?15:i==="zipcode"?9:C,Q=t+"-input"+(0,S.useId)();(0,S.useEffect)(()=>{let R=q||r||(p==null?void 0:p.defaultValue)||"";P.current.value=R,k(R),p.registerField({name:p.fieldName,ref:P,getValue:c=>{var Y;return((Y=c.current)==null?void 0:Y.value)||""},setValue:(c,Y)=>{c.current&&(c.current.value=Y,k(Y))},clearValue:c=>{c.current&&(c.current.value="",k(""))}})},[p==null?void 0:p.fieldName,p==null?void 0:p.registerField]),(0,S.useImperativeHandle)(T,()=>({focus(){var R;(R=P.current)==null||R.focus()},blur(){var R;(R=P.current)==null||R.blur()}}));let X=(0,S.useCallback)(R=>{let c=R.target.value;switch(i){case"tel":c=Ee.default.phoneNumberFormatter(c);break;case"email":case"url":c=c.trim();break;case"zipcode":c=Ee.default.formatZipcode(c);break}a&&(c=a(c)),k(c),R.target.value=c,P.current.value=c,b==null||b(R),i==="tel"&&l&&c.length===15&&P.current.form&&(P.current.form.requestSubmit(),P.current.blur()),i==="zipcode"&&l&&c.length===9&&P.current.form&&(P.current.form.requestSubmit(),P.current.blur())},[i,a,l,b,p]);function ie(){return i==="password"?w?"text":"password":i}return(0,$.jsxs)(Gt,{full:n,$show:i!=="hidden",children:[o&&(0,$.jsx)(Xt,{htmlFor:Q,size:"SM",children:o}),(0,$.jsxs)(Kt,{align:"CENTER",padding:"XS_NONE",gap:"SM",$isError:!!(p!=null&&p.error),$isPassword:J,children:[(0,$.jsx)(Wt,f(d({},u),{ref:P,id:Q,value:q,onChange:X,maxLength:x,type:ie(),disabled:y||u.disabled})),J&&(0,$.jsx)(Et.Button,{size:"SM",onClick:()=>ne(!w),icon:w?"EyeOutline":"EyeOff",variant:"TRANSPARENT",type:"button"})]}),(p==null?void 0:p.error)&&(0,$.jsx)(Ne.Typography,{color:"DANGER",size:"SM",children:p==null?void 0:p.error})]})}),Gt=(0,re.default)(Te.Container.Vertical)`
|
|
2
46
|
display: ${({$show:e})=>e?"flex":"none"};
|
|
3
|
-
`,
|
|
47
|
+
`,Xt=(0,re.default)(Ne.Typography).attrs({forwardedAs:"label"})``,Kt=(0,re.default)(Te.Container.Horizontal)`
|
|
4
48
|
padding: ${({$isPassword:e})=>e?"0 0 0 10px":"0 10px"};
|
|
5
|
-
background-color: ${({$isError:e,theme:
|
|
6
|
-
border: 1px solid ${({$isError:e,theme:
|
|
49
|
+
background-color: ${({$isError:e,theme:t})=>e?t.colors.input.error:t.colors.input.default};
|
|
50
|
+
border: 1px solid ${({$isError:e,theme:t})=>e?t.colors.alert.urgent:t.colors.input.border};
|
|
7
51
|
border-radius: ${({theme:e})=>e.borderRadius.default};
|
|
8
|
-
`,
|
|
52
|
+
`,Wt=re.default.input`
|
|
9
53
|
width: 100%;
|
|
10
54
|
border: none;
|
|
11
55
|
height: 2.5rem;
|
|
12
56
|
outline: none;
|
|
13
57
|
background-color: transparent;
|
|
14
|
-
`;var
|
|
58
|
+
`;var Nt=require("@unform/core"),yt=require("react"),Pe=h(require("styled-components")),ye=require("@mobilestockweb/container"),Re=require("@mobilestockweb/typography");var G=require("react/jsx-runtime");function Pt(e){let{loading:t}=F(),{error:o,fieldName:r,registerField:i}=(0,Nt.useField)(e.name),l=(0,yt.useRef)(null),n=`radio_${e.name}_${e.label}`;function s(){i({name:r,ref:l,getValue:a=>a.current.value,clearValue:a=>{a.current.checked=!1}})}return(0,G.jsxs)(ye.Container.Vertical,{onClick:s,gap:"XS",padding:"2XS_NONE",children:[(0,G.jsxs)(ye.Container.Horizontal,{align:"START_CENTER",gap:"XS",children:[(0,G.jsx)(Zt,f(d({id:n,ref:l},e),{type:"radio",disabled:t})),(0,G.jsx)(qt,{htmlFor:n,size:"MD",children:e.label})]}),o&&(0,G.jsx)(Re.Typography,{color:"DANGER",size:"SM",children:o})]})}var Zt=Pe.default.input`
|
|
15
59
|
width: 1rem;
|
|
16
60
|
height: 1rem;
|
|
17
|
-
`,
|
|
61
|
+
`,qt=(0,Pe.default)(Re.Typography).attrs({forwardedAs:"label"})``;var Rt=require("@unform/core"),me=require("react"),St=h(require("react-select")),Se=h(require("styled-components")),xt=require("@mobilestockweb/container"),xe=require("@mobilestockweb/typography");var Z=require("react/jsx-runtime");function ht(e){let{loading:t}=F(),{fieldName:o,defaultValue:r,registerField:i,error:l}=(0,Rt.useField)(e.name),n=(0,me.useRef)(null);return(0,me.useEffect)(()=>{i({name:o,ref:n.current,getValue:s=>{var b,C;let a=(b=s==null?void 0:s.state)==null?void 0:b.selectValue;return a?e!=null&&e.isMulti?a.map(u=>u.value):(C=a[0])==null?void 0:C.value:e!=null&&e.isMulti?[]:""}})},[o,i,e.isMulti]),(0,Z.jsxs)(Jt,{$isWrong:!!l,children:[(e==null?void 0:e.label)&&(0,Z.jsx)(Qt,{htmlFor:o,size:"MD",children:e.label}),(0,Z.jsx)(St.default,f(d({defaultValue:r},e),{className:"react-select",classNamePrefix:"react-select",ref:n,isDisabled:t||e.disabled})),l&&(0,Z.jsx)(xe.Typography,{color:"DANGER",size:"SM",children:l})]})}var Jt=(0,Se.default)(xt.Container.Vertical)`
|
|
18
62
|
.react-select {
|
|
19
|
-
background-color: ${({$isWrong:e,theme:
|
|
20
|
-
border: 1px solid ${({$isWrong:e,theme:
|
|
63
|
+
background-color: ${({$isWrong:e,theme:t})=>e?t.colors.input.error:t.colors.input.default};
|
|
64
|
+
border: 1px solid ${({$isWrong:e,theme:t})=>e?t.colors.alert.urgent:t.colors.input.border};
|
|
21
65
|
border-radius: ${({theme:e})=>e.borderRadius.default};
|
|
22
66
|
height: 2.7rem;
|
|
23
67
|
width: 100%;
|
|
24
68
|
}
|
|
25
69
|
.react-select__control {
|
|
26
|
-
background-color: ${({$isWrong:e,theme:
|
|
70
|
+
background-color: ${({$isWrong:e,theme:t})=>e?t.colors.input.error:t.colors.input.default};
|
|
27
71
|
border: none;
|
|
28
72
|
height: 100%;
|
|
29
73
|
}
|
|
@@ -39,4 +83,4 @@
|
|
|
39
83
|
color: ${({theme:e})=>e.colors.text.contrast};
|
|
40
84
|
background-color: ${({theme:e})=>e.colors.select.focused};
|
|
41
85
|
}
|
|
42
|
-
`,
|
|
86
|
+
`,Qt=(0,Se.default)(xe.Typography).attrs({forwardedAs:"label"})``;var Ft=require("@mobilestockweb/container");var Ot=require("react/jsx-runtime");function Vt(o){var r=o,{children:e}=r,t=N(r,["children"]);return(0,Ot.jsx)(Ft.Container.Vertical,f(d({gap:"SM"},t),{children:e}))}var Yt=Object.assign(Le,{Input:Tt,Radio:Pt,Select:ht,Button:He,Counter:pt,Vertical:Vt,Horizontal:gt});0&&(module.exports={Form,useForm});
|
package/package.json
CHANGED
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mobilestockweb/form",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"dependencies": {
|
|
6
6
|
"notistack": "^3.0.1",
|
|
7
7
|
"@unform/core": "^2.1.6",
|
|
8
8
|
"@unform/web": "^2.1.6",
|
|
9
9
|
"react-select": "5.10.1",
|
|
10
|
+
"@mobilestockweb/badge": "^0.0.5",
|
|
10
11
|
"@mobilestockweb/button": "^1.0.8",
|
|
11
12
|
"@mobilestockweb/snackbar": "^0.0.13",
|
|
12
13
|
"@mobilestockweb/tools": "^0.0.16",
|
|
13
14
|
"@mobilestockweb/typography": "^0.0.6",
|
|
14
|
-
"@mobilestockweb/
|
|
15
|
+
"@mobilestockweb/clickable": "^1.0.4",
|
|
16
|
+
"@mobilestockweb/data-table": "^1.0.1",
|
|
15
17
|
"@mobilestockweb/container": "^0.1.0"
|
|
16
18
|
},
|
|
17
19
|
"devDependencies": {
|