the-omelet-ui 1.4.6 → 1.4.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunk-KYNNMWQA.js +2 -0
- package/dist/chunk-Q627UWAQ.js +1 -0
- package/dist/entries/checkbox.js +1 -1
- package/dist/entries/datepicker.js +1 -1
- package/dist/entries/districtDropdown.js +1 -1
- package/dist/entries/pagination.js +1 -1
- package/dist/entries/provinceDropdown.js +1 -1
- package/dist/entries/searchSelect.d.ts +1 -0
- package/dist/entries/searchSelect.js +1 -1
- package/dist/entries/searchSelectWithApi.js +1 -1
- package/dist/entries/subDistrictDropdown.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-AFEF2EXB.js +0 -2
- package/dist/chunk-LGK5OJYE.js +0 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {memo}from'react';import {jsx}from'react/jsx-runtime';var l=memo(()=>jsx("svg",{width:"19",height:"19",viewBox:"0 0 19 19",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M8.64 1.6C4.75192 1.6 1.6 4.75192 1.6 8.64C1.6 12.5281 4.75192 15.68 8.64 15.68C10.5571 15.68 12.2953 14.9137 13.5648 13.6707C13.5662 13.6693 13.5677 13.6679 13.5691 13.6665C14.8718 12.3889 15.68 10.6088 15.68 8.64C15.68 4.75192 12.5281 1.6 8.64 1.6ZM15.2457 14.2093C16.515 12.7054 17.28 10.762 17.28 8.64C17.28 3.86826 13.4117 0 8.64 0C3.86826 0 0 3.86826 0 8.64C0 13.4117 3.86826 17.28 8.64 17.28C10.7134 17.28 12.6162 16.5497 14.1052 15.3322L17.0438 18.175C17.3613 18.4822 17.8678 18.4738 18.175 18.1562C18.4822 17.8387 18.4738 17.3322 18.1562 17.025L15.2457 14.2093Z",fill:"black"})})),t=l;
|
|
2
|
+
export{t as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {a as a$4}from'./chunk-KYNNMWQA.js';import {a as a$3}from'./chunk-A2DBYHBF.js';import {a as a$5}from'./chunk-IX36POX2.js';import {a as a$1}from'./chunk-DM45BGDQ.js';import {a as a$2}from'./chunk-6GLPXMGB.js';import*as a from'react';import*as l from'@radix-ui/react-popover';import {Check}from'lucide-react';import {jsxs,jsx}from'react/jsx-runtime';function le(c){return typeof c=="string"?{id:c,label:c}:c}var ne={neutral:"border-neutral-900 bg-neutral-900 text-white",primary:"border-black bg-black text-white",red:"border-red-600 bg-red-600 text-white",green:"border-green-600 bg-green-600 text-white",blue:"border-blue-600 bg-blue-600 text-white",yellow:"border-yellow-500 bg-yellow-500 text-black",violet:"border-violet-600 bg-violet-600 text-white"};function ie({trigger:c,triggerPlaceholder:y="Choose",items:R,selectionMode:b="multiple",value:w,defaultValue:z,onChange:Q,searchable:k=true,placeholder:A="Placeholder Text",searchButtonLabel:O="Search",onQueryChange:V,onSearch:j,loading:m=false,emptyLabel:D="No results",contentClassName:H,maxHeight:W=288,renderItem:N,buttonColor:_="primary",searchButtonColor:$,searchButtonClassName:E,checkedColor:F="primary",checkedClassName:G,renderTriggerValue:C,label:P,required:J,errorMessage:f,disabled:p}){let[I,S]=a.useState(false),[g,K]=a.useState(""),[h,U]=a.useState(""),s=b==="multiple",[X,Y]=a.useState(z??(s?[]:"")),o=w??X,d=a.useMemo(()=>R.map(le),[R]),B=a.useMemo(()=>{let e=h.trim().toLowerCase();return e?d.filter(r=>String(r.label).toLowerCase().includes(e)):d},[d,h]),L=e=>{Q?.(e),w===void 0&&Y(e);},Z=e=>{if(s){let r=new Set(o);r.has(e)?r.delete(e):r.add(e),L(Array.from(r));}else L(e),S(false);},ee=e=>s?o.includes(e):o===e,te=()=>{U(g),j?.(g);},v=a.useMemo(()=>s?o:o?[o]:[],[o,s]),u=a.useMemo(()=>d.filter(e=>v.includes(e.id)),[d,v]),re=a.useMemo(()=>u.length===0?y:s?`\u0E40\u0E25\u0E37\u0E2D\u0E01 ${u.length} \u0E23\u0E32\u0E22\u0E01\u0E32\u0E23`:u[0].label,[u,s,y]);return jsxs("fieldset",{children:[P&&jsx(a$1,{label:P,required:J}),jsxs(l.Root,{open:I&&!p,onOpenChange:e=>!p&&S(e),children:[jsx("div",{className:"mb-2"}),jsx(l.Trigger,{asChild:true,children:c??jsxs("button",{type:"button",className:a$2("flex w-full min-w-[260px] items-center justify-between","rounded-md border border-black/15 bg-white px-4 py-3 text-left","outline-none focus-visible:ring-2 ring-black/20",f&&!p?"border-red-600":"",p?"opacity-50 cursor-not-allowed":""),children:[jsx("span",{className:a$2("flex-1 ",{"text-gray-400":s?o?.length===0:!o,"text-black":s?o?.length>0:!!o}),children:C?C(v,u):re}),jsx("svg",{className:a$2("ml-3 h-5 w-5 text-black/60 transition-transform",I?"rotate-180":"rotate-0"),viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:jsx("path",{d:"M6 9l6 6 6-6",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})})]})}),jsx(l.Portal,{children:jsxs(l.Content,{sideOffset:8,className:a$2("w-[300px] rounded-md border border-black/10 bg-white p-2 shadow-xl",H),children:[k&&jsxs("form",{className:"grid grid-cols-[1fr_auto] gap-3",onSubmit:e=>{e.preventDefault(),te();},children:[jsx(a$3,{start:jsx(a$4,{}),value:g,onChange:e=>{K(e.currentTarget.value),V?.(e.currentTarget.value);},size:"sm",placeholder:A}),jsx(a$5,{color:$??_,type:"submit",disabled:m||g.trim()===h.trim(),size:"md",className:E,children:O})]}),jsxs("div",{role:"listbox","aria-multiselectable":s||void 0,className:a$2(" overflow-y-auto rounded-md",{"mt-3":k}),style:{maxHeight:W},children:[m&&jsx("div",{className:"p-6 text-center text-black/60",children:"\u0E01\u0E33\u0E25\u0E31\u0E07\u0E42\u0E2B\u0E25\u0E14\u2026"}),!m&&B.length===0&&jsx("div",{className:"p-6 text-center text-black/50",children:D}),!m&&B.map(e=>{let r=ee(e.id),oe=ne[F],ae=jsxs(a$5,{type:"button",role:"option","aria-selected":r,onClick:()=>Z(e.id),disabled:e.disabled,size:"sm",className:a$2("group flex w-full items-center justify-between gap-3 rounded-md px-2 py-2 text-left bg-white","hover:bg-black/[0.04] disabled:opacity-50",{"bg-black/[0.04]":r&&b==="single"}),children:[jsx("span",{className:"text-md text-black",children:e.label}),b==="multiple"&&jsx("span",{className:a$2("grid h-5 w-5 place-items-center rounded-full border-2",r?oe:"border-black/20",r&&G),children:r?jsx(Check,{size:12}):null})]},e.id);return N?jsx("div",{children:N(e,false,r)},e.id):ae})]}),jsx(l.Arrow,{className:"fill-white stroke-black/10"})]})})]}),f&&jsx("small",{className:"text-red-500 text-xs",children:f})]})}var be=ie;export{be as a};
|
package/dist/entries/checkbox.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import {a}from'../chunk-DM45BGDQ.js';import {
|
|
1
|
+
import {a}from'../chunk-DM45BGDQ.js';import {a as a$1}from'../chunk-6GLPXMGB.js';import*as e from'react';import {Check}from'lucide-react';import {jsx,jsxs}from'react/jsx-runtime';var M={sm:{box:"h-4 w-4 rounded-md",icon:"h-2 w-2 text-white"},md:{box:"h-5 w-5 rounded-md",icon:"h-3 w-3 text-white"},lg:{box:"h-7 w-7 rounded-md",icon:"h-5 w-5 text-white"}},P=e.memo(function({label:a$2,required:s,className:o,id:n}){return a$2==null?null:typeof a$2=="string"?jsx(a,{label:a$2,required:s}):jsx("span",{className:a$1("text-[15px] text-black",o),children:a$2})}),d=e.forwardRef(function({checked:a,defaultChecked:s,onCheckedChange:o,id:n,name:m,value:p,disabled:h=false,required:c=false,size:u="md",label:g,labelPosition:f="right",className:x,boxClassName:k,labelClassName:C,indicatorClassName:w,checkedBg:R="#2f6af7",uncheckedBorderColor:N="rgb(0 0 0 / 0.2)"},y){let i=M[u],v=e.useCallback(B=>{o?.(B.currentTarget.checked);},[o]),S=e.useMemo(()=>a$1("inline-flex items-center justify-center border-2 bg-white transition-colors","peer-focus-visible:ring-2 ring-black/20","peer-disabled:opacity-50 peer-disabled:cursor-not-allowed","border-[var(--ubc)]","peer-checked:bg-[var(--cbg)] peer-checked:border-transparent"),[]),L=e.useMemo(()=>a$1("text-white transition-all duration-150","peer-checked:opacity-100 peer-checked:scale-100"),[]);return jsxs("label",{className:a$1("inline-flex items-center gap-3 select-none",f==="left"&&"flex-row-reverse justify-end",x),htmlFor:n,style:{"--cbg":R,"--ubc":N},children:[jsx("input",{ref:y,id:n,name:m,value:p,type:"checkbox",className:"peer sr-only",checked:a,defaultChecked:s,onChange:v,disabled:h,"aria-required":c||void 0}),jsx("span",{className:a$1(S,i.box,k),children:jsx(Check,{className:a$1(i.icon,L,w)})}),jsx(P,{label:g,required:c,className:C,id:n})]})});d.displayName="Checkbox";var z=e.memo(d);export{z as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import {a as a$1}from'../chunk-DM45BGDQ.js';import {a
|
|
1
|
+
import {a as a$1}from'../chunk-DM45BGDQ.js';import {a}from'../chunk-6GLPXMGB.js';import*as s from'react';import*as r from'@radix-ui/react-popover';import {CalendarDays,ChevronUp,ChevronDown,ChevronLeft,ChevronRight}from'lucide-react';import {jsx,jsxs}from'react/jsx-runtime';var ye=["\u0E21\u0E01\u0E23\u0E32\u0E04\u0E21","\u0E01\u0E38\u0E21\u0E20\u0E32\u0E1E\u0E31\u0E19\u0E18\u0E4C","\u0E21\u0E35\u0E19\u0E32\u0E04\u0E21","\u0E40\u0E21\u0E29\u0E32\u0E22\u0E19","\u0E1E\u0E24\u0E29\u0E20\u0E32\u0E04\u0E21","\u0E21\u0E34\u0E16\u0E38\u0E19\u0E32\u0E22\u0E19","\u0E01\u0E23\u0E01\u0E0E\u0E32\u0E04\u0E21","\u0E2A\u0E34\u0E07\u0E2B\u0E32\u0E04\u0E21","\u0E01\u0E31\u0E19\u0E22\u0E32\u0E22\u0E19","\u0E15\u0E38\u0E25\u0E32\u0E04\u0E21","\u0E1E\u0E24\u0E28\u0E08\u0E34\u0E01\u0E32\u0E22\u0E19","\u0E18\u0E31\u0E19\u0E27\u0E32\u0E04\u0E21"],H=["\u0E2D\u0E32","\u0E08","\u0E2D","\u0E1E","\u0E1E\u0E24","\u0E28","\u0E2A"],he=["January","February","March","April","May","June","July","August","September","October","November","December"],z=["Su","Mo","Tu","We","Th","Fr","Sa"],E=o=>new Date(o.getFullYear(),o.getMonth(),1),K=(o,e)=>new Date(o.getFullYear(),o.getMonth()+e,1),B=(o,e)=>{let l=new Date(o);return l.setDate(l.getDate()+e),l},G=(o,e)=>!!o&&!!e&&o.getFullYear()===e.getFullYear()&&o.getMonth()===e.getMonth()&&o.getDate()===e.getDate(),ve=(o,e,l)=>e&&o<e?e:l&&o>l?l:o,M=18,fe=s.memo(function({d:e,inMonth:l,disabled:i,selected:p,isToday:d,onPick:n,dayClassName:u,outsideDayClassName:m,selectedDayClassName:R,todayClassName:N}){let S=s.useCallback(()=>{i||n(e);},[i,n,e]);return jsx("button",{type:"button",onClick:S,disabled:i,className:a("h-9 w-9 place-self-center text-sm transition-colors rounded-full","outline-none focus-visible:ring-2 ring-black/20",l?"text-black":m??"text-black/30",i&&"opacity-30 pointer-events-none",d&&!p&&(N??"bg-[#EDF6FF] text-[#004499] font-bold"),u,p?a("bg-blue-600 text-white hover:bg-blue-600",R):"hover:bg-black/5"),children:e.getDate()})},(o,e)=>o.inMonth===e.inMonth&&o.disabled===e.disabled&&o.selected===e.selected&&o.isToday===e.isToday&&o.d.getTime()===e.d.getTime()&&o.dayClassName===e.dayClassName&&o.outsideDayClassName===e.outsideDayClassName&&o.selectedDayClassName===e.selectedDayClassName&&o.todayClassName===e.todayClassName),De=s.memo(function({months:e,activeMonth:l,onSelect:i}){let p=s.useCallback(d=>i(d),[i]);return jsx("div",{className:"grid grid-cols-3 gap-1",style:{gridTemplateColumns:"repeat(3, minmax(0,1fr))"},children:e.map((d,n)=>jsx("button",{type:"button",onClick:()=>p(n),className:a("rounded-md px-2 py-2 text-sm hover:bg-black/5",n===l&&"bg-black/10"),children:d},d))})}),Ne=s.memo(function({years:e,activeYear:l,labelFromYear:i,onSelect:p}){let d=s.useCallback(n=>p(n),[p]);return jsx("div",{className:"max-h-72 w-28 overflow-y-auto rounded-md border border-black/10 bg-white p-1 shadow-lg",children:e.map(n=>jsx("button",{type:"button",onClick:()=>d(n),className:a("block w-full rounded-md px-2 py-2 text-left text-sm hover:bg-black/5",n===l&&"bg-black/10"),children:i(n)},n))})}),ke=s.forwardRef(function({label:e,required:l,value:i,defaultValue:p=null,onChange:d,minDate:n,maxDate:u,locale:m="th",useBuddhistEra:R,format:N,className:S,inputClassName:J,contentClassName:V,dayClassName:W,todayClassName:$,selectedDayClassName:q,outsideDayClassName:U="text-black/30",placeholderText:Z="dd/mm/yyyy",calendarIcon:j,disabled:O=false,error:Y,closeOnSelect:A=true,yearRange:T,iconClassName:P},Q){let [X,I]=s.useState(false),[ee,te]=s.useState(p),F=i!==void 0,g=(F?i:ee)??null,w=R??m==="th",L=m==="th"?ye:he,ae=g??new Date,[D,k]=s.useState(E(ae));s.useEffect(()=>{g&&k(E(g));},[g?.getFullYear(),g?.getMonth()]);let C=D.getFullYear(),x=D.getMonth(),oe=s.useMemo(()=>N||(m==="th"?a=>{let b=w?a.getFullYear()+543:a.getFullYear(),h=String(a.getDate()).padStart(2,"0"),v=String(a.getMonth()+1).padStart(2,"0");return `${h}/${v}/${b}`}:a=>a.toLocaleDateString("en-GB")),[N,m,w]),se=s.useMemo(()=>{let a=E(D),b=a.getDay(),h=B(a,-b);return Array.from({length:42},(v,f)=>B(h,f))},[D]),ne=s.useMemo(()=>{let a=new Date().getFullYear(),b=T?.[0]??n?.getFullYear()??a-60,h=T?.[1]??u?.getFullYear()??a+40,v=[];for(let f=b;f<=h;f++)v.push(f);return v},[T,n,u]),re=w?C+543:C,le=s.useCallback(a=>{let b=ve(a,n,u);d?.(b),F||te(b),A&&I(false);},[F,n,u,d,A]),ce=s.useCallback(a=>{k(new Date(C,a,1));},[C]),ie=s.useCallback(a=>{k(new Date(a,x,1));},[x]);return jsxs("fieldset",{ref:Q,className:a("",S),children:[e&&jsx(a$1,{required:l,label:e}),jsxs(r.Root,{open:X,onOpenChange:I,children:[jsxs("div",{className:"relative mt-2",children:[jsx(r.Trigger,{asChild:true,children:jsx("button",{type:"button",disabled:O,className:a("flex w-full items-center rounded-md border bg-white px-3 py-2 text-left","outline-none focus-visible:ring-2",Y?"border-red-500 ring-red-200":"border-black/15 ring-black/20",O&&"opacity-50 cursor-not-allowed","pr-10",J),children:jsx("span",{className:a("truncate text-black",!g&&"text-black/40"),children:g?oe(g):Z})})}),jsx("span",{className:"pointer-events-none absolute right-2 top-1/2 -translate-y-1/2 text-black/50",children:j??jsx(CalendarDays,{})})]}),Y&&jsx("small",{className:"text-red-500 text-xs",children:Y}),jsx(r.Portal,{children:jsxs(r.Content,{sideOffset:8,className:a("w-[300px] sm:w-[320px] rounded-md border border-black/10 bg-white p-3 shadow-xl",V),children:[jsxs("div",{className:"flex items-center justify-between px-1 py-1",children:[jsxs("div",{className:"flex items-center gap-1",children:[jsxs(r.Root,{modal:false,children:[jsx(r.Trigger,{asChild:true,children:jsxs("button",{type:"button",className:"inline-flex items-center gap-1 rounded-md px-2 py-1 text-base font-semibold text-black hover:bg-black/5","aria-label":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E40\u0E14\u0E37\u0E2D\u0E19",children:[L[x],jsx(ChevronUp,{size:M,className:P??"text-blue-500"})]})}),jsx(r.Portal,{children:jsxs(r.Content,{sideOffset:6,align:"start",className:"rounded-md border border-black/10 bg-white p-2 shadow-lg",children:[jsx(De,{months:L,activeMonth:x,onSelect:ce}),jsx(r.Arrow,{className:"fill-white stroke-black/10"})]})})]}),jsxs(r.Root,{modal:false,children:[jsx(r.Trigger,{asChild:true,children:jsxs("button",{type:"button",className:"inline-flex items-center gap-1 rounded-md px-2 py-1 text-base font-semibold text-black hover:bg-black/5","aria-label":"\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E1B\u0E35",children:[re,jsx(ChevronDown,{size:M,className:P??"text-blue-500"})]})}),jsx(r.Portal,{children:jsxs(r.Content,{sideOffset:6,align:"start",children:[jsx(Ne,{years:ne,activeYear:C,labelFromYear:a=>w?a+543:a,onSelect:ie}),jsx(r.Arrow,{className:"fill-white stroke-black/10"})]})})]})]}),jsxs("div",{className:"flex items-center gap-1",children:[jsx("button",{type:"button",className:"rounded-md p-2 text-black/70 hover:bg-black/5",onClick:()=>k(K(D,-1)),"aria-label":m==="th"?"\u0E40\u0E14\u0E37\u0E2D\u0E19\u0E01\u0E48\u0E2D\u0E19\u0E2B\u0E19\u0E49\u0E32":"Previous month",children:jsx(ChevronLeft,{size:M,className:P??"text-blue-500"})}),jsx("button",{type:"button",className:"rounded-md p-2 text-black/70 hover:bg-black/5",onClick:()=>k(K(D,1)),"aria-label":m==="th"?"\u0E40\u0E14\u0E37\u0E2D\u0E19\u0E16\u0E31\u0E14\u0E44\u0E1B":"Next month",children:jsx(ChevronRight,{size:M,className:P??"text-blue-500"})})]})]}),jsx("div",{className:"mt-1 grid grid-cols-7 gap-y-1 px-1 text-center text-xs text-black/50",style:{gridTemplateColumns:"repeat(7, minmax(0, 1fr))"},children:(m==="th"?H:z).map(a=>jsx("div",{className:"h-7 leading-7 whitespace-nowrap",children:a},a))}),jsx("div",{className:"grid grid-cols-7 gap-1 px-1 pb-1 pt-1",style:{gridTemplateColumns:"repeat(7, minmax(0, 1fr))"},children:se.map((a,b)=>{let h=a.getMonth()===x,v=n&&a<new Date(n.getFullYear(),n.getMonth(),n.getDate())||u&&a>new Date(u.getFullYear(),u.getMonth(),u.getDate()),f=G(a,g),de=G(a,new Date);return jsx(fe,{d:a,inMonth:h,disabled:!!v,selected:f,isToday:de,onPick:le,dayClassName:W,outsideDayClassName:U,selectedDayClassName:q,todayClassName:$},b)})}),jsx(r.Arrow,{className:"fill-white stroke-black/10"})]})})]})]})}),Ce=s.memo(ke);export{Ce as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {a}from'../chunk-
|
|
1
|
+
import {a}from'../chunk-Q627UWAQ.js';import'../chunk-KYNNMWQA.js';import'../chunk-A2DBYHBF.js';import'../chunk-IX36POX2.js';import'../chunk-DM45BGDQ.js';import'../chunk-6GLPXMGB.js';import {useState,useEffect,useCallback}from'react';import {jsx}from'react/jsx-runtime';var C=(t,s)=>s==="en"?{id:t.id,name:t.name_en,value:t.id,label:t.name_en}:{id:t.id,name:t.name_th,value:t.id,label:t.name_th},P=async t=>(await(await fetch("https://raw.githubusercontent.com/kongvut/thai-province-data/refs/heads/master/api/latest/district.json")).json()).filter(c=>c.province_id===t),w=({locale:t="th",searchPlaceholder:s="Search District",placeholder:o="Select District",label:l,searchButtonClassName:c="bg-blue-500",onChange:d,value:n,required:D=false,provinceId:a$1})=>{let[r,g]=useState([]),[b,u]=useState(null);useEffect(()=>{a$1&&P(a$1).then(g);},[a$1]),useEffect(()=>{if(n){let e=r.find(i=>t==="th"?i.name_th===n:i.name_en===n);e&&u(e);}},[r,n,t]);let _=useCallback(e=>{let i=r.find(v=>v.id===e);i&&(u(i),d?.(i));},[r,d]);return jsx("div",{children:jsx(a,{items:r.map(e=>C(e,t)),placeholder:s,triggerPlaceholder:o,label:l,selectionMode:"single",searchButtonClassName:c,onChange:e=>{_(e);},value:b?.id,required:D,disabled:!a$1})})},x=w;
|
|
2
2
|
export{x as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {a}from'../chunk-6GLPXMGB.js';import {memo,useCallback,useMemo,useState,useEffect}from'react';import {ChevronRight,ChevronLeft}from'lucide-react';import {jsx,jsxs}from'react/jsx-runtime';var L={prev:jsx(ChevronLeft,{className:"text-black/50 w-5 h-5"}),next:jsx(ChevronRight,{className:"text-black/50 w-5 h-5"})};function M(r,t,n){return Math.max(t,Math.min(n,r))}function S(r,t){let n=[];for(let e=r;e<=t;e++)n.push(e);return n}function T(r,t,n,e){let s=r,b=S(1,Math.min(e,s)),d=S(Math.max(s-e+1,1),s),i=M(t-n,1+e,s-e),f=M(t+n,1+e,s-e),P=S(i,f),o=[];o.push(...b),i>e+1&&o.push("..."),o.push(...P),f<s-e&&o.push("..."),o.push(...d);let I=[],p=null;for(let l of o)l==="..."&&p==="..."||typeof l=="number"&&typeof p=="number"&&l===p||(I.push(l),p=l);return I}var U=memo(function({page:t,current:n,disabled:e,onSelect:u,baseItem:s,sizeCls:b,itemClassName:d,activeClassName:i}){let f=useCallback(()=>u(t),[u,t]);return jsx("button",{type:"button","aria-current":t===n?"page":void 0,onClick:f,disabled:e,className:a(s,b,d,t===n?i??"bg-[#2f6af7] text-white hover:bg-[#2f6af7] border-transparent shadow-sm":void 0),children:t})}),V=memo(function({baseItem:t,sizeCls:n,ellipsisClassName:e}){return jsx("span",{className:a(t,n,e??"bg-white text-[#3b3f46] cursor-default"),children:"\u2026"})}),W=memo(function({total:t,pageSize:n=10,page:e,defaultPage:u=1,onChange:s,siblingCount:b=1,boundaryCount:d=1,disabled:i=false,hideIfSinglePage:f=true,className:P,itemClassName:o,activeClassName:I,ellipsisClassName:p,arrowClassName:l,size:E="md",prevIcon:B=L.prev,nextIcon:$=L.next,ariaLabel:j="Pagination"}){let a$1=useMemo(()=>Math.max(1,Math.ceil(t/n)),[t,n]),[q,R]=useState(u),g=e??q;if(useEffect(()=>{g>a$1&&(e===void 0&&R(a$1),s?.(a$1));},[a$1]),!!(f&&a$1<=1))return null;let C=M(g,1,a$1),A=useMemo(()=>T(a$1,C,b,d),[a$1,C,b,d]),k=useMemo(()=>{switch(E){case "sm":return "h-8 w-8 px-3 text-sm rounded-md";case "lg":return "h-11 w-11 px-4 text-base rounded-md";default:return "h-10 w-10 px-4 text-sm rounded-md"}},[E]),w=useMemo(()=>"inline-flex items-center justify-center border border-black/10 bg-white text-[#3b3f46] hover:bg-black/5 transition-colors",[]),D=useMemo(()=>l??"bg-black/[0.04] text-black/50 hover:bg-black/10 disabled:opacity-40 disabled:cursor-not-allowed",[l]),h=useCallback(m=>{let z=M(m,1,a$1);e===void 0&&R(z),s?.(z);},[s,e,a$1]),F=useCallback(()=>h(g-1),[h,g]),G=useCallback(()=>h(g+1),[h,g]),H=useCallback(m=>h(m),[h]);return jsxs("nav",{"aria-label":j,className:a("inline-flex items-center gap-2",P),children:[jsx("button",{type:"button",onClick:F,disabled:i||C<=1,className:a(w,D,k),children:B}),A.map((m,z)=>m==="..."?jsx(V,{baseItem:w,sizeCls:k,ellipsisClassName:p},`e-${z}`):jsx(U,{page:m,current:C,disabled:i,onSelect:H,baseItem:w,sizeCls:k,itemClassName:o,activeClassName:I},m)),jsx("button",{type:"button",onClick:G,disabled:i||C>=a$1,className:a(w,D,k),children:$})]})}),X=W;export{X as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {a}from'../chunk-
|
|
1
|
+
import {a}from'../chunk-Q627UWAQ.js';import'../chunk-KYNNMWQA.js';import'../chunk-A2DBYHBF.js';import'../chunk-IX36POX2.js';import'../chunk-DM45BGDQ.js';import'../chunk-6GLPXMGB.js';import {useState,useEffect,useCallback}from'react';import {jsx}from'react/jsx-runtime';var C=(e,t)=>t==="en"?{id:e.id,name:e.name_en,value:e.id,label:e.name_en}:{id:e.id,name:e.name_th,value:e.id,label:e.name_th},w=async()=>await(await fetch("https://raw.githubusercontent.com/kongvut/thai-province-data/refs/heads/master/api/latest/province.json")).json(),x=({disabled:e,locale:t="th",searchPlaceholder:u="Search Province",placeholder:P="Select Province",label:v,searchButtonClassName:m="bg-blue-500",onChange:a$1,value:i,required:f=false})=>{let[o,p]=useState([]),[g,s]=useState(null);useEffect(()=>{w().then(p);},[]),useEffect(()=>{if(i){let n=o.find(r=>t==="th"?r.name_th===i:r.name_en===i);n&&s(n);}},[o,i,t]);let b=useCallback(n=>{let r=o.find(_=>_.id===n);r&&(s(r),a$1?.(r));},[o,a$1]);return jsx("div",{children:jsx(a,{items:o.map(n=>C(n,t)),placeholder:u,triggerPlaceholder:P,label:v,selectionMode:"single",searchButtonClassName:m,onChange:n=>{b(n);},value:g?.id,required:f,disabled:e})})},y=x;
|
|
2
2
|
export{y as default};
|
|
@@ -42,6 +42,7 @@ type SearchSelectProps = {
|
|
|
42
42
|
required?: boolean;
|
|
43
43
|
errorMessage?: string;
|
|
44
44
|
disabled?: boolean;
|
|
45
|
+
searchIcon?: React.ReactNode;
|
|
45
46
|
};
|
|
46
47
|
declare function SearchSelect({ trigger, triggerPlaceholder, items, selectionMode, value, defaultValue, onChange, searchable, placeholder, searchButtonLabel, onQueryChange, onSearch, loading, emptyLabel, contentClassName, maxHeight, renderItem, buttonColor, searchButtonColor, searchButtonClassName, checkedColor, checkedClassName, renderTriggerValue, label, required, errorMessage, disabled }: SearchSelectProps): react_jsx_runtime.JSX.Element;
|
|
47
48
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{a as default}from'../chunk-
|
|
1
|
+
export{a as default}from'../chunk-Q627UWAQ.js';import'../chunk-KYNNMWQA.js';import'../chunk-A2DBYHBF.js';import'../chunk-IX36POX2.js';import'../chunk-DM45BGDQ.js';import'../chunk-6GLPXMGB.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import {a as a$
|
|
1
|
+
import {a as a$3}from'../chunk-KYNNMWQA.js';import {a as a$2}from'../chunk-A2DBYHBF.js';import {a as a$4}from'../chunk-IX36POX2.js';import {a}from'../chunk-DM45BGDQ.js';import {a as a$1}from'../chunk-6GLPXMGB.js';import*as r from'react';import*as i from'@radix-ui/react-popover';import {Check}from'lucide-react';import {jsx,jsxs}from'react/jsx-runtime';var ze=a=>l=>{a(typeof l=="string"?l:l[0]||"");},He=a=>l=>{a(Array.isArray(l)?l:[l]);};function J(a){return typeof a=="string"?{id:a,label:a}:a}var Se={neutral:"border-neutral-900 bg-neutral-900 text-white",primary:"border-black bg-black text-white",red:"border-red-600 bg-red-600 text-white",green:"border-green-600 bg-green-600 text-white",blue:"border-blue-600 bg-blue-600 text-white",yellow:"border-yellow-500 bg-yellow-500 text-black",violet:"border-violet-600 bg-violet-600 text-white"};function Ie({trigger:a$5,triggerPlaceholder:l="Choose",items:K,loadOptions:c,selectionMode:y="multiple",value:M,defaultValue:X,onChange:Y,searchable:T=true,placeholder:Z="Placeholder Text",searchButtonLabel:O="Search",onQueryChange:ee,onSearch:te,loading:re=false,emptyLabel:se="No results",errorLabel:oe="Failed to load options",contentClassName:ae,maxHeight:le=288,renderItem:A,buttonColor:ne="primary",searchButtonColor:ie,searchButtonClassName:ce,checkedColor:de="primary",checkedClassName:ue,renderTriggerValue:q,label:z,required:me,enablePagination:p=false,pageSize:H=20,errorMessage:R}){let[x,Q]=r.useState(false),[b,ge]=r.useState(""),[k,E]=r.useState(""),[V,w]=r.useState([]),[N,W]=r.useState(false),[C,j]=r.useState(null),[pe,D]=r.useState(1),[be,fe]=r.useState(true),n=y==="multiple",[he,xe]=r.useState(X??(n?[]:"")),o=M??he,F=c?V:K||[],m=r.useMemo(()=>F.map(J),[F]),S=r.useCallback(async(e,s=1,h=false)=>{if(c){W(true),j(null);try{let B=(await c(e)).map(J);w(h?Ne=>[...Ne,...B]:B),p&&fe(B.length===H);}catch(u){j(u instanceof Error?u.message:"Unknown error"),w([]);}finally{W(false);}}},[c,p,H]);r.useEffect(()=>{x&&c&&V.length===0&&S("");},[x,c]);let v=r.useMemo(()=>{if(c)return m;let e=k.trim().toLowerCase();return e?m.filter(s=>String(s.label).toLowerCase().includes(e)):m},[m,k,c]),U=e=>{Y?.(e),M===void 0&&xe(e);},ve=e=>{if(n){let s=new Set(o);s.has(e)?s.delete(e):s.add(e),U(Array.from(s));}else U(e),Q(false);},ye=e=>n?o.includes(e):o===e,Re=()=>{c?(D(1),S(b,1,false),E(b)):(E(b),te?.(b));},ke=()=>{if(!N&&be&&p){let e=pe+1;D(e),S(k,e,true);}},I=r.useMemo(()=>n?o:o?[o]:[],[o,n]),f=r.useMemo(()=>m.filter(e=>I.includes(e.id)),[m,I]),we=r.useMemo(()=>f.length===0?l:n?`\u0E40\u0E25\u0E37\u0E2D\u0E01 ${f.length} \u0E23\u0E32\u0E22\u0E01\u0E32\u0E23`:f[0].label,[f,n,l]),P=N||re;return jsx("fieldset",{children:jsxs(i.Root,{open:x,onOpenChange:Q,children:[z&&jsx(a,{label:z,required:me}),jsx("div",{className:"mb-2"}),jsx(i.Trigger,{asChild:true,children:a$5??jsxs("button",{type:"button",className:a$1("flex w-full min-w-[260px] items-center justify-between","rounded-md border border-black/15 bg-white px-4 py-3 text-left","outline-none focus-visible:ring-2 ring-black/20",R?"border-red-500":"border-black/20"),children:[jsx("span",{className:a$1("flex-1 ",{"text-gray-400":n?o?.length===0:!o,"text-black":n?o?.length>0:!!o}),children:q?q(I,f):we}),jsx("svg",{className:a$1("ml-3 h-5 w-5 text-black/60 transition-transform",x?"rotate-180":"rotate-0"),viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:jsx("path",{d:"M6 9l6 6 6-6",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})})]})}),R&&jsx("small",{className:"text-red-500 text-xs",children:R}),jsx(i.Portal,{children:jsxs(i.Content,{sideOffset:8,className:a$1("w-[300px] rounded-md border border-black/10 bg-white p-2 shadow-xl",ae),children:[T&&jsxs("form",{className:"grid grid-cols-[1fr_auto] gap-3",onSubmit:e=>{e.preventDefault(),Re();},children:[jsx(a$2,{start:jsx(a$3,{}),value:b,onChange:e=>{ge(e.currentTarget.value),ee?.(e.currentTarget.value);},size:"sm",placeholder:Z}),jsx(a$4,{color:ie??ne,type:"submit",disabled:P,size:"md",className:ce,children:O})]}),jsxs("div",{role:"listbox","aria-multiselectable":n||void 0,className:a$1("overflow-y-auto rounded-md",{"mt-3":T}),style:{maxHeight:le},onScroll:e=>{if(!p)return;let{scrollTop:s,scrollHeight:h,clientHeight:u}=e.currentTarget;h-s<=u+50&&ke();},children:[P&&v.length===0&&jsx("div",{className:"p-6 text-center text-black/60",children:"\u0E01\u0E33\u0E25\u0E31\u0E07\u0E42\u0E2B\u0E25\u0E14\u2026"}),C&&jsx("div",{className:"p-6 text-center text-red-600",children:oe}),!P&&!C&&v.length===0&&jsx("div",{className:"p-6 text-center text-black/50",children:se}),!C&&v.map(e=>{let s=ye(e.id),h=Se[de],u=jsxs(a$4,{type:"button",role:"option","aria-selected":s,onClick:()=>ve(e.id),disabled:e.disabled,size:"sm",className:a$1("group flex w-full items-center justify-between gap-3 rounded-md px-2 py-2 text-left bg-white h-auto","hover:bg-black/[0.04] disabled:opacity-50",{"bg-black/[0.04]":s&&y==="single"}),children:[jsx("span",{className:"text-md text-black",children:e.label}),y==="multiple"&&jsx("span",{className:a$1("grid h-5 w-5 place-items-center rounded-full border-2",s?h:"border-black/20",s&&ue),children:s?jsx(Check,{size:14}):null})]},e.id);return A?jsx("div",{children:A(e,false,s)},e.id):u}),p&&N&&v.length>0&&jsx("div",{className:"p-2 text-center text-sm text-black/40",children:"\u0E01\u0E33\u0E25\u0E31\u0E07\u0E42\u0E2B\u0E25\u0E14\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E40\u0E15\u0E34\u0E21..."})]}),jsx(i.Arrow,{className:"fill-white stroke-black/10"})]})})]})})}var Pe=Ie;export{Pe as default,He as handleMultipleChange,ze as handleSingleChange};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {a}from'../chunk-
|
|
1
|
+
import {a}from'../chunk-Q627UWAQ.js';import'../chunk-KYNNMWQA.js';import'../chunk-A2DBYHBF.js';import'../chunk-IX36POX2.js';import'../chunk-DM45BGDQ.js';import'../chunk-6GLPXMGB.js';import {useState,useEffect,useCallback}from'react';import {jsx}from'react/jsx-runtime';var C=(t,s)=>s==="en"?{id:t.id,name:t.name_en,value:t.id,label:t.name_en}:{id:t.id,name:t.name_th,value:t.id,label:t.name_th},P=async t=>(await(await fetch("https://raw.githubusercontent.com/kongvut/thai-province-data/refs/heads/master/api/latest/sub_district.json")).json()).filter(c=>c.district_id===t),w=({locale:t="th",searchPlaceholder:s="Search District",placeholder:o="Select District",label:l,searchButtonClassName:c="bg-blue-500",onChange:u,value:n,required:f=false,districtId:a$1})=>{let[i,S]=useState([]),[g,d]=useState(null);useEffect(()=>{a$1&&P(a$1).then(S);},[a$1]),useEffect(()=>{if(n){let e=i.find(r=>t==="th"?r.name_th===n:r.name_en===n);e&&d(e);}},[i,n,t]);let D=useCallback(e=>{let r=i.find(_=>_.id===e);r&&(d(r),u?.(r));},[i,u]);return jsx("div",{children:jsx(a,{items:i.map(e=>C(e,t)),placeholder:s,triggerPlaceholder:o,label:l,selectionMode:"single",searchButtonClassName:c,onChange:e=>{D(e);},value:g?.id,required:f,disabled:!a$1})})},x=w;
|
|
2
2
|
export{x as default};
|