UNPKG

@tabnews/ui

Version:
7 lines (6 loc) 3.41 kB
"use client"; "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),p=require("@primer/octicons-react"),r=require("@primer/react"),D=require("@primer/react/next"),s=require("react"),I={block:!0,contrast:!0,size:"large"},S={...I,autoCorrect:"off",autoCapitalize:"off",spellCheck:!1,sx:{px:2,"&:focus-within":{backgroundColor:"canvas.default"},"> input":{px:1}}},T=s.forwardRef(({caption:n,checked:c,error:i,hidden:j,inputMode:x,isValid:h,label:C,name:V,options:u,required:B,suggestion:d,sx:L,type:w,...o},P)=>{const[f,W]=s.useState(!1),[q,m]=s.useState(null),b=s.useRef();if(s.useImperativeHandle(P,()=>b.current),j)return null;const l={validationStatus:i?"error":h?"success":null,inputMode:x,ref:b,...o};if(w==="password"){let a=function(){setTimeout(()=>{const t=b.current,v=t.value.length;t.focus(),t.setSelectionRange(v,v)})},y=function(t){x!=="numeric"&&t.getModifierState("CapsLock")?m("Caps Lock está ativado."):m(null)},A=function(t){t.preventDefault(),W(!f),a(),y(t)};l.type=f?"text":"password",l.trailingVisual=l.trailingVisual||e.jsx(r.TextInput.Action,{"aria-label":f?`Ocultar ${C}`:`Visualizar ${C}`,tooltipDirection:"nw",onClick:A,icon:f?p.EyeClosedIcon:p.EyeIcon}),l.onKeyUp=t=>{y(t),o.onKeyUp&&o.onKeyUp(t)},l.onKeyDown=t=>{y(t),o.onKeyDown&&o.onKeyDown(t)},l.onBlur=t=>{m(null),o.onBlur&&o.onBlur(t)},l.sx={...S.sx,pr:0}}const k=typeof c=="boolean";return e.jsxs(r.FormControl,{id:V,required:B,sx:{minHeight:"86px",...L},children:[e.jsx(r.FormControl.Label,{children:C}),n&&e.jsx(r.FormControl.Caption,{children:n}),i&&!(d!=null&&d.value)&&!u&&!k&&e.jsx(r.FormControl.Validation,{variant:"error",children:i}),e.jsx(z,{suggestion:d}),e.jsx(K,{message:q}),!u&&!k&&e.jsx(r.TextInput,{type:w,...S,...l}),u&&e.jsx(r.Select,{...I,sx:{py:0},...l,children:u.map(a=>e.jsx(r.Select.Option,{...a,children:a.label},a.value))}),k&&e.jsx(r.Checkbox,{checked:c,...l}),e.jsx("style",{jsx:"true",children:` ::-ms-reveal { display: none; } `})]})});T.displayName="FormField";function z({suggestion:n}){return n!=null&&n.value?e.jsxs(r.Text,{sx:{display:"inline-flex",flexWrap:"wrap",wordBreak:"break-word",fontSize:"12px",lineHeight:"14px",fontWeight:"bold",columnGap:1,mt:0,alignItems:"center",color:"attention.fg"},children:[e.jsx(p.AlertFillIcon,{size:12}),e.jsx("span",{children:n.label??"Você quis dizer"}),e.jsxs(F,{tooltip:n.tooltip||"Aceitar sugestão",onClick:n.onClick,color:"success.fg",children:[e.jsx("span",{children:n.pre}),e.jsx(r.Text,{sx:{textDecoration:"underline"},children:n.mid}),e.jsx("span",{children:n.post})]}),e.jsx("span",{children:n.labelEnd??"?"}),n.ignoreClick&&e.jsx(F,{tooltip:n.ignoreTooltip||"Ignorar sugestão",onClick:n.ignoreClick,color:"accent.fg",sx:{flex:1},children:n.ignoreLabel||"Ignorar"})]}):null}function F({children:n,color:c,direction:i="nw",sx:j,tooltip:x,...h}){return e.jsx(D.Tooltip,{text:x,direction:i,children:e.jsx(r.Button,{variant:"invisible",size:"small",labelWrap:!0,sx:{color:c,my:"-4px",px:0,textAlign:"start","> *":{justifyContent:"end"},":hover":{bg:"transparent"},...j},...h,children:n})})}function K({message:n}){return n?e.jsxs(r.Text,{sx:{wordBreak:"break-word",fontSize:"12px",lineHeight:"14px",fontWeight:"bold",color:"attention.fg"},children:[e.jsx(p.AlertFillIcon,{size:12})," ",n]}):null}exports.FormField=T;exports.Suggestion=z;