UNPKG

@rnwonder/react-date-picker

Version:

A simple and reusable Datepicker component for ReactJS ([Demo](https://stackblitz.com/edit/solidjs-templates-dof6jl?file=src%2FApp.tsx))

2 lines (1 loc) 2.91 kB
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),n=require("../TimeAnalog/index.js"),r=require("../TimeAnalogGroupTop/index.js"),i=require("../TimeAnalogBottom/index.js"),s=require("../../node_modules/.pnpm/@rnwonder_simple-datejs@1.0.8/node_modules/@rnwonder/simple-datejs/dist/utils.js"),l=require("../../utils/class.js"),d=require("react"),t=require("../Helpers/Show.js");exports.TimeAnalogGroup=o=>{const[u,a]=d.useState("hour"),[c,m]=d.useState(["hour","minute"]),[h,w]=d.useState("AM"),[x,p]=d.useState(),[j,S]=d.useState(),[v,g]=d.useState(),[A,T]=d.useState();d.useEffect((()=>{var e,n,r,i,s;o.allowedView&&m(o.allowedView),!(null==(e=o.allowedView)?void 0:e.includes("hour"))&&(null==(n=o.allowedView)?void 0:n.includes("minute"))&&a("minute"),(null==(r=o.allowedView)?void 0:r.includes("hour"))||(null==(i=o.allowedView)?void 0:i.includes("minute"))||!(null==(s=o.allowedView)?void 0:s.includes("second"))||a("second")}),[]),d.useEffect((()=>{T({hour:void 0!==x?s.convert12HourTo24Hour(x,h):void 0,minute:j,second:v})}),[h,x,j,v]);const b=d.useCallback((()=>{var e;"hour"===u&&c.includes("minute")?a("minute"):"minute"===u&&c.includes("second")?a("second"):o.shouldCloseOnSelect&&(null==(e=o.setIsShown)||e.call(o,!1))}),[c,o.setIsShown,o.shouldCloseOnSelect,u]),f=d.useCallback((()=>{"second"===u&&c.includes("minute")?a("minute"):"minute"===u&&c.includes("hour")&&a("hour")}),[c,u]),V=n=>{if(n){if("function"==typeof n){const r=n({handleNext:b,handlePrev:f,setView:a,view:u,meridiem:h,setMeridiem:w,time:A});return e.jsx("div",{"data-type":"custom-jsx",children:r})}return e.jsx("div",{"data-type":"custom-jsx",children:n})}},q=V(o.topAreaJSX),y=V(o.bottomAreaJSX),C=V(o.leftAreaJSX),M=V(o.rightAreaJSX);return e.jsxs("div",{className:l.cn(" \n time-picker-wrapper \n rn-rounded-md \n rn-border-t \n rn-border-solid \n rn-border-gray-300\n rn-bg-white\n rn-px-[1rem]\n rn-pb-[0.5rem] \n rn-pt-[0.625rem] \n rn-shadow-lg \n dark:rn-border-gray-700\n dark:rn-bg-dreamless-sleep\n ",o.timePickerWrapperClass),children:[e.jsx(t,{when:!!q,children:q}),e.jsxs("div",{className:"rn-flex rn-flex-row",children:[e.jsx(t,{when:!!C,children:C}),e.jsxs("div",{children:[e.jsx(t,{when:!o.hideTopArea,children:e.jsx(r.TimeAnalogGroupTop,{...o,view:u,allowedView:c,handleNext:b,handlePrev:f})}),e.jsx(n.TimeAnalog,{...o,allowedView:c,view:u,setView:a,handleNext:b,meridiem:h,handleTimeChange:o.handleTimeChange,setMeridiem:w,selectedHour:x,selectedMinute:j,selectedSeconds:v,setSelectedHour:p,setSelectedMinute:S,setSelectedSeconds:g}),e.jsx(t,{when:c.includes("hour")&&!o.hideBottomArea,children:e.jsx(i.TimeAnalogBottom,{...o,meridiem:h,setMeridiem:w})})]}),e.jsx(t,{when:!!M,children:M})]}),e.jsx(t,{when:!!y,children:y})]})};