UNPKG

@stanfordspezi/spezi-web-design-system

Version:

Stanford Biodesign Digital Health Spezi Web Design System

2 lines (1 loc) 1.07 kB
"use strict";const n=require("react/jsx-runtime"),b=require("./index-DwV9MiDB.js"),s=require("./Select-BPHCnq-u.js"),o=[0,30],a=(t,e)=>{const u=t.toString().padStart(2,"0"),c=e.toString().padStart(2,"0");return`${u}:${c}`},p=(t,e)=>new Date(2e3,0,1,t,e).toLocaleTimeString(void 0,{hour:"numeric",minute:"2-digit"}),m=[];for(let t=0;t<24;t+=1)for(const e of o)m.push({value:a(t,e),label:p(t,e),hours:t,minutes:e});const x=({id:t,value:e,onChange:u,placeholder:c="Select time",className:h,...S})=>{const d=r=>{const[N,f]=r.split(":"),i=Number.parseInt(N,10),l=Number.parseInt(f,10);Number.isNaN(i)||Number.isNaN(l)||i<0||i>23||!o.includes(l)||u({hours:i,minutes:l})},g=()=>{if(e&&!(e.hours<0||e.hours>23||!o.includes(e.minutes)))return a(e.hours,e.minutes)};return n.jsxs(s.Select,{value:g(),onValueChange:d,...S,children:[n.jsx(s.SelectTrigger,{id:t,className:b.cn("w-full",h),children:n.jsx(s.SelectValue,{placeholder:c})}),n.jsx(s.SelectContent,{children:m.map(r=>n.jsx(s.SelectItem,{value:r.value,itemText:r.label,children:r.label},r.value))})]})};exports.TimeSelect=x;