@anoki/fse-ui
Version:
FSE UI components library
3 lines (2 loc) • 1.91 kB
JavaScript
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('./components/ui/DatePicker/DatePicker.css');const i=require("./index.cjs237.js"),o=require("./index.cjs3.js");;/* empty css */const R=require("./index.cjs238.js"),f=require("react"),h=({label:s,value:c,maxValue:u,minValue:l,className:p,disabled:n,onClick:a,onChange:x,error:t,required:m=!1,id:b,autoComplete:v="off"})=>{const r=f.useRef(null),e=b||`datepicker-${s.toLowerCase().replace(/\s+/g,"-")}`;f.useEffect(()=>{t&&r.current?(r.current.setAttribute("aria-invalid","true"),r.current.setAttribute("aria-describedby",`${e}-error`)):r.current&&(r.current.setAttribute("aria-invalid","false"),r.current.removeAttribute("aria-describedby"))},[t,e]);const j=d=>{d.key==="Enter"&&!n&&(a==null||a())},D=c?o.DateTime.fromJSDate(c).toFormat("yyyy-MM-dd"):"";return i.jsxRuntimeExports.jsxs("div",{className:R.clsx("datepicker-container",p),role:"group","aria-labelledby":`${e}-label`,"aria-describedby":t?`${e}-error`:void 0,children:[i.jsxRuntimeExports.jsxs("label",{id:`${e}-label`,htmlFor:e,className:"datepicker-label fs-7",children:[s,m&&i.jsxRuntimeExports.jsx("span",{className:"text-error ml-1","aria-hidden":"true",children:"*"})]}),i.jsxRuntimeExports.jsx("input",{ref:r,id:e,type:"date",className:"datepicker-input fs-6",disabled:n,value:D,max:u?o.DateTime.fromJSDate(u).toFormat("yyyy-MM-dd"):void 0,min:l?o.DateTime.fromJSDate(l).toFormat("yyyy-MM-dd"):void 0,onClick:()=>a==null?void 0:a(),onChange:d=>{const y=new Date(d.target.value);isNaN(y.getTime())||x(y)},onKeyDown:j,"aria-required":m,"aria-disabled":n,"aria-label":s,"aria-invalid":!!t,"aria-describedby":t?`${e}-error`:void 0,autoComplete:v}),t&&i.jsxRuntimeExports.jsx("div",{id:`${e}-error`,className:"datepicker-error",role:"alert","aria-live":"polite",children:t})]})};exports.DatePicker=h;
//# sourceMappingURL=index.cjs67.js.map