@anoki/fse-ui
Version:
FSE UI components library
3 lines (2 loc) • 1.77 kB
JavaScript
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./index.cjs237.js"),k=require("./index.cjs239.js"),m=require("react"),d=require("./index.cjs67.js"),h=require("./index.cjs116.js"),E=({label:t,startDateLabel:p="Start Date",endDateLabel:j="End Date",startDate:l,endDate:c,className:b,disabled:x=!1,required:n=!1,error:a,onStartDateChange:o,onEndDateChange:u,onStartDateClick:f,onEndDateClick:R})=>{const r=m.useRef(null),i=t?`datepicker-range-${t.toLowerCase().replace(/\s+/g,"-")}`:"datepicker-range";m.useEffect(()=>{a&&r.current?(r.current.setAttribute("aria-invalid","true"),r.current.setAttribute("aria-describedby",`${i}-error`)):r.current&&(r.current.setAttribute("aria-invalid","false"),r.current.removeAttribute("aria-describedby"))},[a,i]);const g=e=>{c&&e>c?(o(e),u(e)):o(e)},v=e=>{l&&e<l&&o(e),u(e)};return s.jsxRuntimeExports.jsxs("div",{ref:r,className:k.clsx("base-col gap-x8",b),role:"group","aria-labelledby":t?`${i}-label`:void 0,"aria-describedby":a?`${i}-error`:void 0,children:[t&&s.jsxRuntimeExports.jsxs("label",{id:`${i}-label`,className:"text-sm text-dark",children:[t,n&&s.jsxRuntimeExports.jsx("span",{className:"text-error ml-1","aria-hidden":"true",children:"*"})]}),s.jsxRuntimeExports.jsxs(h.Row,{gap:"x16",role:"group",children:[s.jsxRuntimeExports.jsx(d.DatePicker,{label:p,value:l,maxValue:c,disabled:x,required:n,onChange:g,onClick:f,className:"flex-1"}),s.jsxRuntimeExports.jsx(d.DatePicker,{label:j,value:c,minValue:l,disabled:x,required:n,onChange:v,onClick:R,className:"flex-1"})]}),a&&s.jsxRuntimeExports.jsx("div",{id:`${i}-error`,className:"text-sm text-error",role:"alert","aria-live":"polite",children:a})]})};exports.DatePickerRange=E;
//# sourceMappingURL=index.cjs68.js.map