@anoki/fse-marche-ui
Version:
FSE UI components library
3 lines (2 loc) • 1.9 kB
JavaScript
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('./components/ui/DatePicker/DatePicker.css');const i=require("./index.cjs137.js"),u=require("./index.cjs118.js");require("./index.cjs3.js");;/* empty css */const D=require("./index.cjs139.js"),f=require("react"),R=({label:s,value:o,maxValue:c,minValue:l,className:p,disabled:d,onClick:a,onChange:x,error:t,required:m=!1,id:b})=>{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 v=n=>{n.key==="Enter"&&!d&&(a==null||a())},j=o?u.default.fromJSDate(o).toFormat("yyyy-MM-dd"):"";return i.jsxRuntimeExports.jsxs("div",{className:D.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:d,value:j,max:c?u.default.fromJSDate(c).toFormat("yyyy-MM-dd"):void 0,min:l?u.default.fromJSDate(l).toFormat("yyyy-MM-dd"):void 0,onClick:()=>a==null?void 0:a(),onChange:n=>{const y=new Date(n.target.value);isNaN(y.getTime())||x(y)},onKeyDown:v,"aria-required":m,"aria-disabled":d,"aria-label":s,"aria-invalid":!!t,"aria-describedby":t?`${e}-error`:void 0}),t&&i.jsxRuntimeExports.jsx("div",{id:`${e}-error`,className:"datepicker-error",role:"alert","aria-live":"polite",children:t})]})};exports.DatePicker=R;
//# sourceMappingURL=index.cjs68.js.map