@alaarab/ogrid-react-inputs 2.17.0 → 2.17.1
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/LICENSE +21 -0
- package/README.md +26 -0
- package/dist/esm/index.js +1 -1
- package/dist/types/ColorPicker/index.d.ts +1 -1
- package/dist/types/DatePicker/index.d.ts +3 -3
- package/dist/types/DateTimePicker/datetime-utils.d.ts +1 -1
- package/dist/types/DateTimePicker/index.d.ts +4 -4
- package/dist/types/Rating/index.d.ts +1 -1
- package/dist/types/Slider/index.d.ts +1 -1
- package/dist/types/Tags/index.d.ts +1 -1
- package/dist/types/TimePicker/index.d.ts +4 -4
- package/dist/types/index.d.ts +10 -10
- package/package.json +4 -4
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) Ala Arab
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# @alaarab/ogrid-react-inputs
|
|
2
|
+
|
|
3
|
+
Opt-in premium cell editors for OGrid: date, time and date-time pickers, star rating, color picker, slider, and tags. Nothing is added to your bundle unless you import it.
|
|
4
|
+
|
|
5
|
+
## Install
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @alaarab/ogrid-react-inputs
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
Set an editor as a column's `cellEditor` and open it in a popup:
|
|
14
|
+
|
|
15
|
+
```tsx
|
|
16
|
+
import { DatePickerEditor, RatingEditor } from '@alaarab/ogrid-react-inputs';
|
|
17
|
+
|
|
18
|
+
const columns = [
|
|
19
|
+
{ columnId: 'dueDate', name: 'Due', editable: true, cellEditor: DatePickerEditor, cellEditorPopup: true },
|
|
20
|
+
{ columnId: 'score', name: 'Score', editable: true, cellEditor: RatingEditor, cellEditorPopup: true },
|
|
21
|
+
];
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
Editors: `DatePickerEditor`, `TimePickerEditor`, `DateTimePickerEditor`, `RatingEditor`, `ColorPickerEditor`, `SliderEditor`, `TagsEditor`. They work with both `@alaarab/ogrid-react-radix` and `@alaarab/ogrid-react-fluent`. React 17, 18 and 19 are supported.
|
|
25
|
+
|
|
26
|
+
See the [premium inputs docs](https://alaarab.github.io/ogrid/docs/features/premium-inputs) for each editor's options.
|
package/dist/esm/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as z from'react';import {parseDate,formatDate,getCalendarGrid,MONTH_NAMES,DAY_NAMES,DEFAULT_MAX_STARS,clampRating,DEFAULT_COLOR_PALETTE,normalizeHex,DEFAULT_MIN,DEFAULT_MAX,DEFAULT_STEP,clampValue,snapToStep,getPercentage,parseTags,filterTagSuggestions,formatTags,isValidHex,isLightColor,getStarFill,getValueFromOffset,getTagColor,getRatingFromPosition}from'@alaarab/ogrid-inputs';import {jsxs,jsx}from'react/jsx-runtime';var at={fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',fontSize:"13px",background:"var(--ogrid-bg, #fff)",color:"var(--ogrid-fg, #242424)",border:"1px solid var(--ogrid-border, rgba(0,0,0,0.12))",borderRadius:"8px",boxShadow:"var(--ogrid-shadow, 0 4px 16px rgba(0,0,0,0.15))",padding:"12px",width:"280px",userSelect:"none"},it={display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"8px"},Ie={background:"none",border:"none",cursor:"pointer",padding:"4px 8px",borderRadius:"4px",fontSize:"14px",color:"inherit",lineHeight:1},st={fontWeight:600,fontSize:"14px"},lt={display:"grid",gridTemplateColumns:"repeat(7, 1fr)",gap:"1px",textAlign:"center"},ct={padding:"4px 0",fontSize:"11px",fontWeight:600,color:"var(--ogrid-muted, #888)"},dt={padding:"6px 0",borderRadius:"4px",cursor:"pointer",fontSize:"13px",lineHeight:1,border:"none",background:"none",color:"inherit"},pt={display:"flex",justifyContent:"space-between",alignItems:"center",marginTop:"8px",paddingTop:"8px",borderTop:"1px solid var(--ogrid-border, rgba(0,0,0,0.08))"},He={background:"none",border:"none",cursor:"pointer",padding:"4px 8px",borderRadius:"4px",fontSize:"12px",color:"var(--ogrid-accent, #0078d4)",fontWeight:500},ut={display:"flex",gap:"6px",marginBottom:"8px"},ft={flex:1,padding:"4px 8px",border:"1px solid var(--ogrid-border, rgba(0,0,0,0.2))",borderRadius:"4px",fontSize:"13px",outline:"none",background:"var(--ogrid-bg, #fff)",color:"inherit"};function Ae(S){let{value:x,onValueChange:i,onCommit:d,onCancel:p}=S,h=z.useMemo(()=>x==null?null:parseDate(String(x)),[x]),r=new Date,[c,R]=z.useState(h?.year??r.getFullYear()),[g,y]=z.useState(h?.month??r.getMonth()),[k,w]=z.useState(h?formatDate(h.year,h.month,h.date):""),[P,V]=z.useState(k),[M,D]=z.useState(null),A=z.useRef(null),$=z.useMemo(()=>getCalendarGrid(c,g),[c,g]),L=()=>{g===0?(y(11),R(e=>e-1)):y(e=>e-1);},b=()=>{g===11?(y(0),R(e=>e+1)):y(e=>e+1);},t=(e,T,H)=>{let o=formatDate(e,T,H);w(o),V(o),i(o),setTimeout(()=>d(),0);},s=e=>{let T=e.target.value;V(T);let H=parseDate(T);H&&(w(formatDate(H.year,H.month,H.date)),R(H.year),y(H.month),i(T));},C=e=>{e.key==="Enter"&&(e.preventDefault(),e.stopPropagation(),i(P),d()),e.key==="Escape"&&(e.preventDefault(),e.stopPropagation(),p());},l=()=>{let e=new Date;t(e.getFullYear(),e.getMonth(),e.getDate());},f=()=>{w(""),V(""),i(""),d();};return z.useEffect(()=>{let e=A.current?.querySelector("input");e&&(e.focus(),e.select());},[]),z.useEffect(()=>{let e=H=>{H.key==="Escape"&&(H.preventDefault(),p());},T=A.current;if(T)return T.addEventListener("keydown",e),()=>T.removeEventListener("keydown",e)},[p]),jsxs("div",{ref:A,style:at,onMouseDown:e=>e.stopPropagation(),children:[jsx("div",{style:ut,children:jsx("input",{type:"text","aria-label":"Date (YYYY-MM-DD)",value:P,onChange:s,onKeyDown:C,placeholder:"YYYY-MM-DD",style:ft})}),jsxs("div",{style:it,children:[jsx("button",{type:"button",style:Ie,onClick:L,"aria-label":"Previous month",children:"\u2039"}),jsxs("span",{style:st,children:[MONTH_NAMES[g]," ",c]}),jsx("button",{type:"button",style:Ie,onClick:b,"aria-label":"Next month",children:"\u203A"})]}),jsxs("div",{style:lt,children:[DAY_NAMES.map(e=>jsx("div",{style:ct,children:e},e)),$.flat().map(e=>{let T=formatDate(e.year,e.month,e.date),H=T===k,o=T===M,u={...dt};return e.isCurrentMonth||(u.color="var(--ogrid-muted, #ccc)"),e.isToday&&!H&&(u.fontWeight=700,u.color="var(--ogrid-accent, #0078d4)"),H?(u.background="var(--ogrid-accent, #0078d4)",u.color="#fff",u.fontWeight=600):o&&(u.background="var(--ogrid-bg-hover, #f0f0f0)"),jsx("button",{type:"button",style:u,onClick:()=>t(e.year,e.month,e.date),onMouseEnter:()=>D(T),onMouseLeave:()=>D(null),tabIndex:-1,"aria-label":`${MONTH_NAMES[e.month]} ${e.date}, ${e.year}`,"aria-pressed":H,"aria-current":e.isToday?"date":void 0,children:e.date},T)})]}),jsxs("div",{style:pt,children:[jsx("button",{type:"button",style:He,onClick:l,children:"Today"}),jsx("button",{type:"button",style:He,onClick:f,children:"Clear"})]})]})}function Ce(S){if(!S)return null;let x=S.trim(),i=x.match(/^(\d{1,2}):(\d{2})\s*(AM|PM)$/i);if(i?.[1]!=null&&i[2]!=null&&i[3]!=null){let p=parseInt(i[1],10),h=parseInt(i[2],10),r=i[3].toUpperCase();return p<1||p>12||h<0||h>59?null:(r==="AM"?p=p===12?0:p:p=p===12?12:p+12,{hours:p,minutes:h})}let d=x.match(/^(\d{1,2}):(\d{2})$/);if(d?.[1]!=null&&d[2]!=null){let p=parseInt(d[1],10),h=parseInt(d[2],10);return p<0||p>23||h<0||h>59?null:{hours:p,minutes:h}}return null}function ue(S){let{hours:x,minutes:i}=S,d=x<12?"AM":"PM",p=x%12===0?12:x%12,h=String(i).padStart(2,"0");return `${p}:${h} ${d}`}function oe(S){return S%12===0?12:S%12}function ne(S){return S<12?"AM":"PM"}function re(S,x){return x==="AM"?S===12?0:S:S===12?12:S+12}function xe(S=5){let x=[];for(let i=0;i<60;i+=S)x.push(i);return x}function ye(){return [12,1,2,3,4,5,6,7,8,9,10,11]}var gt={fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',fontSize:"13px",background:"var(--ogrid-bg, #fff)",color:"var(--ogrid-fg, #242424)",border:"1px solid var(--ogrid-border, rgba(0,0,0,0.12))",borderRadius:"8px",boxShadow:"var(--ogrid-shadow, 0 4px 16px rgba(0,0,0,0.15))",padding:"12px",width:"220px",userSelect:"none"},mt={display:"flex",gap:"6px",marginBottom:"10px"},bt={flex:1,padding:"5px 8px",border:"1px solid var(--ogrid-border, rgba(0,0,0,0.2))",borderRadius:"4px",fontSize:"13px",outline:"none",background:"var(--ogrid-bg, #fff)",color:"inherit"},St={display:"flex",gap:"8px",alignItems:"stretch"},ke={display:"flex",flexDirection:"column",flex:1,gap:"0",border:"1px solid var(--ogrid-border, rgba(0,0,0,0.12))",borderRadius:"6px",overflow:"hidden",maxHeight:"176px",overflowY:"auto"},Pe={textAlign:"center",fontSize:"11px",fontWeight:600,color:"var(--ogrid-muted, #888)",padding:"4px 0",borderBottom:"1px solid var(--ogrid-border, rgba(0,0,0,0.08))",position:"sticky",top:0,background:"var(--ogrid-bg, #fff)"},Te={padding:"5px 0",textAlign:"center",cursor:"pointer",fontSize:"13px",border:"none",background:"none",color:"inherit",width:"100%"},xt={display:"flex",justifyContent:"space-between",alignItems:"center",marginTop:"10px",paddingTop:"8px",borderTop:"1px solid var(--ogrid-border, rgba(0,0,0,0.08))"},Le={background:"none",border:"none",cursor:"pointer",padding:"4px 8px",borderRadius:"4px",fontSize:"12px",color:"var(--ogrid-accent, #0078d4)",fontWeight:500};function ze(S){let{value:x,onValueChange:i,onCommit:d,onCancel:p}=S,r=(S.cellEditorParams??{}).minuteStep??5,c=()=>{let o=Ce(String(x??""));if(o)return o;let u=new Date;return {hours:u.getHours(),minutes:Math.floor(u.getMinutes()/r)*r}},[R,g]=z.useState(c),[y,k]=z.useState(ne(R.hours)),[w,P]=z.useState(oe(R.hours)),[V,M]=z.useState(ue(R)),D=z.useRef(null),A=z.useRef(null),$=z.useRef(null),L=ye(),b=xe(r),t=z.useCallback((o,u,I)=>{let a={hours:re(o,I),minutes:u},m=ue(a);M(m),i(m);},[i]),s=o=>{P(o),t(o,R.minutes,y),g(u=>({...u,hours:re(o,y)}));},C=o=>{g(u=>({...u,minutes:o})),t(w,o,y);},l=o=>{k(o),g(u=>({...u,hours:re(w,o)})),t(w,R.minutes,o);},f=o=>{let u=o.target.value;M(u);let I=Ce(u);I&&(g(I),P(oe(I.hours)),k(ne(I.hours)),i(ue(I)));},e=o=>{o.key==="Enter"&&(o.preventDefault(),o.stopPropagation(),i(V),d()),o.key==="Escape"&&(o.preventDefault(),o.stopPropagation(),p());},T=()=>{let o=new Date,u=o.getHours(),I=Math.floor(o.getMinutes()/r)*r,_={hours:u,minutes:I};g(_),P(oe(u)),k(ne(u));let a=ue(_);M(a),i(a),setTimeout(()=>d(),0);},H=()=>{i(""),d();};return z.useEffect(()=>{let o=(_,a,m)=>{if(!_)return;let B=(_.scrollHeight-25)/m;_.scrollTop=a*B;},u=L.indexOf(w),I=b.indexOf(R.minutes);o(A.current,u>=0?u:0,L.length),o($.current,I>=0?I:0,b.length);},[]),z.useEffect(()=>{let o=D.current?.querySelector("input");o&&(o.focus(),o.select());},[]),z.useEffect(()=>{let o=D.current,u=I=>{I.key==="Escape"&&(I.preventDefault(),p());};if(o)return o.addEventListener("keydown",u),()=>o.removeEventListener("keydown",u)},[p]),jsxs("div",{ref:D,style:gt,onMouseDown:o=>o.stopPropagation(),children:[jsx("div",{style:mt,children:jsx("input",{type:"text","aria-label":"Time",value:V,onChange:f,onKeyDown:e,placeholder:"h:mm AM/PM",style:bt})}),jsxs("div",{style:St,children:[jsxs("div",{ref:A,style:ke,children:[jsx("div",{style:Pe,children:"Hour"}),L.map(o=>{let u=o===w,I={...Te,background:u?"var(--ogrid-accent, #0078d4)":"none",color:u?"#fff":"inherit",fontWeight:u?600:400};return jsx("button",{type:"button",style:I,onClick:()=>s(o),tabIndex:-1,children:o},o)})]}),jsxs("div",{ref:$,style:ke,children:[jsx("div",{style:Pe,children:"Min"}),b.map(o=>{let u=o===R.minutes,I={...Te,background:u?"var(--ogrid-accent, #0078d4)":"none",color:u?"#fff":"inherit",fontWeight:u?600:400};return jsx("button",{type:"button",style:I,onClick:()=>C(o),tabIndex:-1,children:String(o).padStart(2,"0")},o)})]}),jsxs("div",{style:{...ke,flex:"none",width:"50px"},children:[jsx("div",{style:Pe,children:"AM/PM"}),["AM","PM"].map(o=>{let u=o===y,I={...Te,background:u?"var(--ogrid-accent, #0078d4)":"none",color:u?"#fff":"inherit",fontWeight:u?600:400};return jsx("button",{type:"button",style:I,onClick:()=>l(o),tabIndex:-1,children:o},o)})]})]}),jsxs("div",{style:xt,children:[jsx("button",{type:"button",style:Le,onClick:T,children:"Now"}),jsx("button",{type:"button",style:Le,onClick:H,children:"Clear"})]})]})}function Ve(S){if(!S)return null;let x=S.trim(),i=x.match(/^(\d{4})-(\d{2})-(\d{2})\s+(\d{1,2}):(\d{2})\s*(AM|PM)$/i);if(i?.[1]!=null&&i[2]!=null&&i[3]!=null&&i[4]!=null&&i[5]!=null&&i[6]!=null){let p=parseInt(i[1],10),h=parseInt(i[2],10)-1,r=parseInt(i[3],10),c=parseInt(i[4],10),R=parseInt(i[5],10),g=i[6].toUpperCase();if(c<1||c>12||R<0||R>59)return null;g==="AM"?c=c===12?0:c:c=c===12?12:c+12;let y=new Date(p,h,r);return y.getFullYear()!==p||y.getMonth()!==h||y.getDate()!==r?null:{year:p,month:h,date:r,hours:c,minutes:R}}let d=x.match(/^(\d{4})-(\d{2})-(\d{2})[T ](\d{2}):(\d{2})$/);if(d?.[1]!=null&&d[2]!=null&&d[3]!=null&&d[4]!=null&&d[5]!=null){let p=parseInt(d[1],10),h=parseInt(d[2],10)-1,r=parseInt(d[3],10),c=parseInt(d[4],10),R=parseInt(d[5],10);if(c<0||c>23||R<0||R>59)return null;let g=new Date(p,h,r);return g.getFullYear()!==p||g.getMonth()!==h||g.getDate()!==r?null:{year:p,month:h,date:r,hours:c,minutes:R}}return null}function $e(S){let x=String(S.month+1).padStart(2,"0"),i=String(S.date).padStart(2,"0"),d=`${S.year}-${x}-${i}`,p=S.hours<12?"AM":"PM",h=S.hours%12===0?12:S.hours%12,r=String(S.minutes).padStart(2,"0");return `${d} ${h}:${r} ${p}`}var yt={fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',fontSize:"13px",background:"var(--ogrid-bg, #fff)",color:"var(--ogrid-fg, #242424)",border:"1px solid var(--ogrid-border, rgba(0,0,0,0.12))",borderRadius:"8px",boxShadow:"var(--ogrid-shadow, 0 4px 16px rgba(0,0,0,0.15))",padding:"12px",width:"300px",userSelect:"none"},vt={display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"8px"},Be={background:"none",border:"none",cursor:"pointer",padding:"4px 8px",borderRadius:"4px",fontSize:"14px",color:"inherit",lineHeight:1},ht={fontWeight:600,fontSize:"14px"},Rt={display:"grid",gridTemplateColumns:"repeat(7, 1fr)",gap:"1px",textAlign:"center"},Ct={padding:"4px 0",fontSize:"11px",fontWeight:600,color:"var(--ogrid-muted, #888)"},kt={padding:"6px 0",borderRadius:"4px",cursor:"pointer",fontSize:"13px",lineHeight:1,border:"none",background:"none",color:"inherit"},Pt={borderTop:"1px solid var(--ogrid-border, rgba(0,0,0,0.08))",margin:"10px 0 8px"},Tt={fontSize:"11px",fontWeight:600,color:"var(--ogrid-muted, #888)",marginBottom:"6px",textTransform:"uppercase",letterSpacing:"0.04em"},Et={display:"flex",gap:"6px",alignItems:"stretch"},Ee={display:"flex",flexDirection:"column",flex:1,border:"1px solid var(--ogrid-border, rgba(0,0,0,0.12))",borderRadius:"6px",overflow:"hidden",maxHeight:"130px",overflowY:"auto"},we={textAlign:"center",fontSize:"11px",fontWeight:600,color:"var(--ogrid-muted, #888)",padding:"3px 0",borderBottom:"1px solid var(--ogrid-border, rgba(0,0,0,0.08))",position:"sticky",top:0,background:"var(--ogrid-bg, #fff)"},Me={padding:"4px 0",textAlign:"center",cursor:"pointer",fontSize:"12px",border:"none",background:"none",color:"inherit",width:"100%"},wt={display:"flex",justifyContent:"space-between",alignItems:"center",marginTop:"10px",paddingTop:"8px",borderTop:"1px solid var(--ogrid-border, rgba(0,0,0,0.08))"},De={background:"none",border:"none",cursor:"pointer",padding:"4px 8px",borderRadius:"4px",fontSize:"12px",color:"var(--ogrid-accent, #0078d4)",fontWeight:500};function Ne(S){let{value:x,onValueChange:i,onCommit:d,onCancel:p}=S,r=(S.cellEditorParams??{}).minuteStep??5,c=new Date,g=(()=>{let n=Ve(String(x??""));return n||{year:c.getFullYear(),month:c.getMonth(),date:c.getDate(),hours:c.getHours(),minutes:Math.floor(c.getMinutes()/r)*r}})(),[y,k]=z.useState(g.year),[w,P]=z.useState(g.month),[V,M]=z.useState(formatDate(g.year,g.month,g.date)),[D,A]=z.useState(g.year),[$,L]=z.useState(g.month),[b,t]=z.useState(g.date),[s,C]=z.useState({hours:g.hours,minutes:g.minutes}),[l,f]=z.useState(ne(g.hours)),[e,T]=z.useState(oe(g.hours)),[H,o]=z.useState(null),u=z.useRef(null),I=z.useRef(null),_=z.useRef(null),a=z.useMemo(()=>getCalendarGrid(y,w),[y,w]),m=ye(),B=xe(r),G=z.useCallback((n,v,E,U,F)=>{let se=$e({year:n,month:v,date:E,hours:U,minutes:F});i(se);},[i]),je=()=>{w===0?(P(11),k(n=>n-1)):P(n=>n-1);},Je=()=>{w===11?(P(0),k(n=>n+1)):P(n=>n+1);},Qe=(n,v,E)=>{let U=formatDate(n,v,E);M(U),A(n),L(v),t(E),G(n,v,E,s.hours,s.minutes);},Ze=n=>{T(n);let v=re(n,l);C(E=>({...E,hours:v})),G(D,$,b,v,s.minutes);},et=n=>{C(v=>({...v,minutes:n})),G(D,$,b,s.hours,n);},tt=n=>{f(n);let v=re(e,n);C(E=>({...E,hours:v})),G(D,$,b,v,s.minutes);},ot=()=>{let n=new Date,v=n.getFullYear(),E=n.getMonth(),U=n.getDate(),F=n.getHours(),se=Math.floor(n.getMinutes()/r)*r;k(v),P(E),M(formatDate(v,E,U)),A(v),L(E),t(U),C({hours:F,minutes:se}),T(oe(F)),f(ne(F)),G(v,E,U,F,se),setTimeout(()=>d(),0);},nt=()=>{i(""),d();};return z.useEffect(()=>{let n=(U,F,se)=>{if(!U)return;let rt=(U.scrollHeight-22)/se;U.scrollTop=F*rt;},v=m.indexOf(e),E=B.indexOf(s.minutes);n(I.current,v>=0?v:0,m.length),n(_.current,E>=0?E:0,B.length);},[]),z.useEffect(()=>{let n=u.current,v=E=>{E.key==="Escape"&&(E.preventDefault(),p());};if(n)return n.addEventListener("keydown",v),()=>n.removeEventListener("keydown",v)},[p]),jsxs("div",{ref:u,style:yt,onMouseDown:n=>n.stopPropagation(),children:[jsxs("div",{style:vt,children:[jsx("button",{type:"button",style:Be,onClick:je,"aria-label":"Previous month",children:"\u2039"}),jsxs("span",{style:ht,children:[MONTH_NAMES[w]," ",y]}),jsx("button",{type:"button",style:Be,onClick:Je,"aria-label":"Next month",children:"\u203A"})]}),jsxs("div",{style:Rt,children:[DAY_NAMES.map(n=>jsx("div",{style:Ct,children:n},n)),a.flat().map(n=>{let v=formatDate(n.year,n.month,n.date),E=v===V,U=v===H,F={...kt};return n.isCurrentMonth||(F.color="var(--ogrid-muted, #ccc)"),n.isToday&&!E&&(F.fontWeight=700,F.color="var(--ogrid-accent, #0078d4)"),E?(F.background="var(--ogrid-accent, #0078d4)",F.color="#fff",F.fontWeight=600):U&&(F.background="var(--ogrid-bg-hover, #f0f0f0)"),jsx("button",{type:"button",style:F,onClick:()=>Qe(n.year,n.month,n.date),onMouseEnter:()=>o(v),onMouseLeave:()=>o(null),tabIndex:-1,children:n.date},v)})]}),jsx("div",{style:Pt}),jsx("div",{style:Tt,children:"Time"}),jsxs("div",{style:Et,children:[jsxs("div",{ref:I,style:Ee,children:[jsx("div",{style:we,children:"Hr"}),m.map(n=>{let v=n===e,E={...Me,background:v?"var(--ogrid-accent, #0078d4)":"none",color:v?"#fff":"inherit",fontWeight:v?600:400};return jsx("button",{type:"button",style:E,onClick:()=>Ze(n),tabIndex:-1,children:n},n)})]}),jsxs("div",{ref:_,style:Ee,children:[jsx("div",{style:we,children:"Min"}),B.map(n=>{let v=n===s.minutes,E={...Me,background:v?"var(--ogrid-accent, #0078d4)":"none",color:v?"#fff":"inherit",fontWeight:v?600:400};return jsx("button",{type:"button",style:E,onClick:()=>et(n),tabIndex:-1,children:String(n).padStart(2,"0")},n)})]}),jsxs("div",{style:{...Ee,flex:"none",width:"46px"},children:[jsx("div",{style:we,children:"AM/PM"}),["AM","PM"].map(n=>{let v=n===l,E={...Me,background:v?"var(--ogrid-accent, #0078d4)":"none",color:v?"#fff":"inherit",fontWeight:v?600:400};return jsx("button",{type:"button",style:E,onClick:()=>tt(n),tabIndex:-1,children:n},n)})]})]}),jsxs("div",{style:wt,children:[jsx("button",{type:"button",style:De,onClick:ot,children:"Now"}),jsx("button",{type:"button",style:De,onClick:()=>d(),children:"Apply"}),jsx("button",{type:"button",style:De,onClick:nt,children:"Clear"})]})]})}var It={fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',fontSize:"13px",background:"var(--ogrid-bg, #fff)",color:"var(--ogrid-fg, #242424)",border:"1px solid var(--ogrid-border, rgba(0,0,0,0.12))",borderRadius:"8px",boxShadow:"var(--ogrid-shadow, 0 4px 16px rgba(0,0,0,0.15))",padding:"12px",userSelect:"none"},Ht={display:"flex",alignItems:"center",gap:"2px",padding:"8px 0"},At={background:"none",border:"none",cursor:"pointer",padding:"2px",fontSize:"28px",lineHeight:1,transition:"transform 0.1s ease",color:"inherit"},Lt={fontSize:"12px",color:"var(--ogrid-muted, #888)",padding:"4px 0 0"},zt={display:"flex",justifyContent:"flex-start",marginTop:"8px",paddingTop:"8px",borderTop:"1px solid var(--ogrid-border, rgba(0,0,0,0.08))"},Vt={background:"none",border:"none",cursor:"pointer",padding:"4px 8px",borderRadius:"4px",fontSize:"12px",color:"var(--ogrid-accent, #0078d4)",fontWeight:500};function We(S){let{value:x,onValueChange:i,onCommit:d,onCancel:p,cellEditorParams:h}=S,r=h?.maxStars??DEFAULT_MAX_STARS,c=h?.allowHalf??false,R=z.useMemo(()=>{if(x==null||x==="")return 0;let b=Number(x);return Number.isNaN(b)?0:clampRating(b,r)},[x,r]),[g,y]=z.useState(R),[k,w]=z.useState(null),P=z.useRef(null),V=k??g,M=(b,t)=>{let s=t.currentTarget.getBoundingClientRect(),C=t.clientX-s.left,l=s.width,f=getRatingFromPosition(b,C,l,c),e=clampRating(f,r);y(e),i(e),setTimeout(()=>d(),0);},D=(b,t)=>{let s=t.currentTarget.getBoundingClientRect(),C=t.clientX-s.left,l=s.width,f=getRatingFromPosition(b,C,l,c);w(clampRating(f,r));},A=()=>{w(null);},$=()=>{y(0),i(""),d();};z.useEffect(()=>{P.current?.focus();},[]),z.useEffect(()=>{let b=s=>{if(s.key==="Escape")s.preventDefault(),p();else if(s.key==="Enter")s.preventDefault(),d();else if(s.key==="ArrowRight"||s.key==="ArrowUp"){s.preventDefault();let C=c?.5:1;y(l=>{let f=clampRating(l+C,r);return i(f),f});}else if(s.key==="ArrowLeft"||s.key==="ArrowDown"){s.preventDefault();let C=c?.5:1;y(l=>{let f=clampRating(Math.max(0,l-C),r);return i(f||""),f});}},t=P.current;if(t)return t.addEventListener("keydown",b),()=>t.removeEventListener("keydown",b)},[p,d,i,r,c]);let L=b=>{let t=getStarFill(b,V,c),s,C;t==="full"||t==="half"?(s="\u2605",C="#F59E0B"):(s="\u2606",C="var(--ogrid-muted, #ccc)");let l={...At,color:C};return t==="half"?jsx("button",{type:"button",style:l,onClick:f=>M(b,f),onMouseMove:f=>D(b,f),tabIndex:-1,"aria-label":`${b+1} of ${r} stars`,children:jsx("span",{style:{background:"linear-gradient(90deg, #F59E0B 50%, var(--ogrid-muted, #ccc) 50%)",WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent",backgroundClip:"text"},children:"\u2605"})},b):jsx("button",{type:"button",style:l,onClick:f=>M(b,f),onMouseMove:f=>D(b,f),tabIndex:-1,"aria-label":`${b+1} of ${r} stars`,children:s},b)};return jsxs("div",{ref:P,style:It,onMouseDown:b=>b.stopPropagation(),tabIndex:0,role:"slider","aria-label":"Rating","aria-valuemin":0,"aria-valuemax":r,"aria-valuenow":g,"aria-valuetext":g>0?`${g} of ${r} stars`:"No rating",children:[jsx("div",{style:Ht,onMouseLeave:A,children:Array.from({length:r},(b,t)=>L(t))}),jsx("div",{style:Lt,children:g>0?`${g} / ${r}`:"No rating"}),jsx("div",{style:zt,children:jsx("button",{type:"button",style:Vt,onClick:$,children:"Clear"})})]})}var Ft={fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',fontSize:"13px",background:"var(--ogrid-bg, #fff)",color:"var(--ogrid-fg, #242424)",border:"1px solid var(--ogrid-border, rgba(0,0,0,0.12))",borderRadius:"8px",boxShadow:"var(--ogrid-shadow, 0 4px 16px rgba(0,0,0,0.15))",padding:"12px",width:"240px",userSelect:"none"},Wt={display:"flex",gap:"6px",marginBottom:"10px",alignItems:"center"},Kt={fontSize:"14px",fontWeight:600,color:"var(--ogrid-muted, #888)",lineHeight:1},Yt={flex:1,padding:"4px 8px",border:"1px solid var(--ogrid-border, rgba(0,0,0,0.2))",borderRadius:"4px",fontSize:"13px",outline:"none",background:"var(--ogrid-bg, #fff)",color:"inherit",fontFamily:"monospace",textTransform:"uppercase"},Ot={width:"28px",height:"28px",borderRadius:"4px",border:"1px solid var(--ogrid-border, rgba(0,0,0,0.12))",flexShrink:0},Ut={display:"grid",gridTemplateColumns:"repeat(5, 1fr)",gap:"6px",padding:"4px 0"},_t={width:"36px",height:"36px",borderRadius:"50%",border:"none",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"14px",fontWeight:700,padding:0,transition:"transform 0.1s ease, box-shadow 0.1s ease"},Xt={display:"flex",justifyContent:"flex-start",marginTop:"8px",paddingTop:"8px",borderTop:"1px solid var(--ogrid-border, rgba(0,0,0,0.08))"},qt={background:"none",border:"none",cursor:"pointer",padding:"4px 8px",borderRadius:"4px",fontSize:"12px",color:"var(--ogrid-accent, #0078d4)",fontWeight:500};function Oe(S){let{value:x,onValueChange:i,onCommit:d,onCancel:p,cellEditorParams:h}=S,r=h?.colors??DEFAULT_COLOR_PALETTE,c=h?.allowCustom??true,R=z.useMemo(()=>x==null||x===""?"":normalizeHex(String(x))??String(x),[x]),[g,y]=z.useState(R),[k,w]=z.useState(R.replace(/^#/,"")),[P,V]=z.useState(null),M=z.useRef(null),D=t=>{let s=normalizeHex(t)??t;y(s),w(s.replace(/^#/,"")),i(s),setTimeout(()=>d(),0);},A=t=>{let s=t.target.value.replace(/[^0-9A-Fa-f]/g,"").slice(0,6);w(s);let C="#"+s;if(isValidHex(C)){let l=normalizeHex(C);l&&(y(l),i(l));}},$=t=>{if(t.key==="Enter"){t.preventDefault(),t.stopPropagation();let s="#"+k;if(isValidHex(s)){let C=normalizeHex(s);C&&i(C);}d();}t.key==="Escape"&&(t.preventDefault(),t.stopPropagation(),p());},L=()=>{y(""),w(""),i(""),d();};z.useEffect(()=>{let t=M.current?.querySelector("input");t&&(t.focus(),t.select());},[]),z.useEffect(()=>{let t=C=>{C.key==="Escape"&&(C.preventDefault(),p());},s=M.current;if(s)return s.addEventListener("keydown",t),()=>s.removeEventListener("keydown",t)},[p]);let b=(t,s)=>{let C=normalizeHex(t)??t,l=g.toUpperCase()===C.toUpperCase(),f=P===t,e=isLightColor(t),T={..._t,backgroundColor:t,border:e?"1px solid var(--ogrid-border, rgba(0,0,0,0.2))":"1px solid transparent",transform:f?"scale(1.15)":"scale(1)",boxShadow:l?"0 0 0 2px var(--ogrid-accent, #0078d4)":"none",color:e?"#333":"#fff"};return jsx("button",{type:"button",style:T,onClick:()=>D(t),onMouseEnter:()=>V(t),onMouseLeave:()=>V(null),tabIndex:-1,"aria-label":t,"aria-pressed":l,children:l?"\u2713":""},`${t}-${s}`)};return jsxs("div",{ref:M,style:Ft,onMouseDown:t=>t.stopPropagation(),children:[c&&jsxs("div",{style:Wt,children:[jsx("div",{style:{...Ot,backgroundColor:g||"transparent"}}),jsx("span",{style:Kt,children:"#"}),jsx("input",{type:"text","aria-label":"Hex color",value:k,onChange:A,onKeyDown:$,placeholder:"000000",maxLength:6,style:Yt})]}),jsx("div",{style:Ut,children:r.map((t,s)=>b(t,s))}),jsx("div",{style:Xt,children:jsx("button",{type:"button",style:qt,onClick:L,children:"Clear"})})]})}var Zt={fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',fontSize:"13px",background:"var(--ogrid-bg, #fff)",color:"var(--ogrid-fg, #242424)",border:"1px solid var(--ogrid-border, rgba(0,0,0,0.12))",borderRadius:"8px",boxShadow:"var(--ogrid-shadow, 0 4px 16px rgba(0,0,0,0.15))",padding:"12px 16px",width:"280px",userSelect:"none"},eo={display:"flex",alignItems:"center",gap:"12px",padding:"8px 0"},to={flex:1,position:"relative",height:"24px",display:"flex",alignItems:"center",cursor:"pointer"},oo={width:"100%",height:"6px",borderRadius:"3px",background:"var(--ogrid-border, rgba(0,0,0,0.15))",position:"relative",overflow:"hidden"},no={position:"absolute",top:0,left:0,height:"100%",borderRadius:"3px",background:"var(--ogrid-accent, #0078d4)",transition:"width 0.05s ease"},ro={position:"absolute",top:"50%",width:"18px",height:"18px",borderRadius:"50%",background:"var(--ogrid-accent, #0078d4)",border:"2px solid var(--ogrid-bg, #fff)",boxShadow:"0 1px 4px rgba(0,0,0,0.3)",transform:"translate(-50%, -50%)",cursor:"grab",transition:"box-shadow 0.1s ease"},ao={fontSize:"14px",fontWeight:600,minWidth:"40px",textAlign:"right",fontVariantNumeric:"tabular-nums"},io={display:"flex",gap:"8px",alignItems:"center",marginTop:"8px",paddingTop:"8px",borderTop:"1px solid var(--ogrid-border, rgba(0,0,0,0.08))"},so={fontSize:"12px",color:"var(--ogrid-muted, #888)"},lo={flex:1,padding:"4px 8px",border:"1px solid var(--ogrid-border, rgba(0,0,0,0.2))",borderRadius:"4px",fontSize:"13px",outline:"none",background:"var(--ogrid-bg, #fff)",color:"inherit",textAlign:"right",fontVariantNumeric:"tabular-nums"},co={display:"flex",justifyContent:"space-between",fontSize:"11px",color:"var(--ogrid-muted, #888)",padding:"2px 0 0"};function _e(S){let{value:x,onValueChange:i,onCommit:d,onCancel:p,cellEditorParams:h}=S,r=h?.min??DEFAULT_MIN,c=h?.max??DEFAULT_MAX,R=h?.step??DEFAULT_STEP,g=z.useMemo(()=>{if(x==null||x==="")return r;let l=Number(x);return Number.isNaN(l)?r:clampValue(snapToStep(l,r,R),r,c)},[x,r,c,R]),[y,k]=z.useState(g),[w,P]=z.useState(String(g)),[V,M]=z.useState(false),D=z.useRef(null),A=z.useRef(null),$=getPercentage(y,r,c),L=z.useCallback(l=>{let f=clampValue(snapToStep(l,r,R),r,c);k(f),P(String(f)),i(f);},[r,c,R,i]),b=l=>{if(!A.current)return;let f=A.current.getBoundingClientRect(),e=l.clientX-f.left,T=getValueFromOffset(e,f.width,r,c,R);L(T);},t=l=>{l.preventDefault(),l.stopPropagation(),M(true);};z.useEffect(()=>{if(!V)return;let l=e=>{if(!A.current)return;let T=A.current.getBoundingClientRect(),H=e.clientX-T.left,o=getValueFromOffset(H,T.width,r,c,R);L(o);},f=()=>{M(false),setTimeout(()=>d(),0);};return document.addEventListener("mousemove",l),document.addEventListener("mouseup",f),()=>{document.removeEventListener("mousemove",l),document.removeEventListener("mouseup",f);}},[V,r,c,R,L,d]);let s=l=>{let f=l.target.value;P(f);let e=Number(f);if(!Number.isNaN(e)){let T=clampValue(snapToStep(e,r,R),r,c);k(T),i(T);}},C=l=>{if(l.key==="Enter"){l.preventDefault(),l.stopPropagation();let f=Number(w);if(!Number.isNaN(f)){let e=clampValue(snapToStep(f,r,R),r,c);i(e);}d();}l.key==="Escape"&&(l.preventDefault(),l.stopPropagation(),p());};return z.useEffect(()=>{let l=D.current?.querySelector("input");l&&(l.focus(),l.select());},[]),z.useEffect(()=>{let l=e=>{e.key==="Escape"&&(e.preventDefault(),p());},f=D.current;if(f)return f.addEventListener("keydown",l),()=>f.removeEventListener("keydown",l)},[p]),jsxs("div",{ref:D,style:Zt,onMouseDown:l=>l.stopPropagation(),children:[jsxs("div",{style:eo,children:[jsxs("div",{ref:A,style:to,onClick:b,children:[jsx("div",{style:oo,children:jsx("div",{style:{...no,width:`${$}%`}})}),jsx("div",{style:{...ro,left:`${$}%`,cursor:V?"grabbing":"grab"},onMouseDown:t,role:"slider","aria-label":"Slider","aria-valuemin":r,"aria-valuemax":c,"aria-valuenow":y})]}),jsx("span",{style:ao,children:y})]}),jsxs("div",{style:co,children:[jsx("span",{children:r}),jsx("span",{children:c})]}),jsxs("div",{style:io,children:[jsx("span",{style:so,children:"Value:"}),jsx("input",{type:"text","aria-label":`Value (${r} to ${c})`,value:w,onChange:s,onKeyDown:C,style:lo})]})]})}var mo={fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',fontSize:"13px",background:"var(--ogrid-bg, #fff)",color:"var(--ogrid-fg, #242424)",border:"1px solid var(--ogrid-border, rgba(0,0,0,0.12))",borderRadius:"8px",boxShadow:"var(--ogrid-shadow, 0 4px 16px rgba(0,0,0,0.15))",padding:"12px",width:"280px",userSelect:"none"},bo={display:"flex",flexWrap:"wrap",gap:"4px",minHeight:"32px",padding:"4px 0"},So={display:"inline-flex",alignItems:"center",gap:"4px",padding:"3px 8px",borderRadius:"12px",fontSize:"12px",fontWeight:500,lineHeight:1.4,maxWidth:"200px",overflow:"hidden"},xo={overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},yo={background:"none",border:"none",cursor:"pointer",padding:"0 2px",fontSize:"14px",lineHeight:1,color:"inherit",opacity:.6,flexShrink:0},vo={width:"100%",padding:"6px 8px",border:"1px solid var(--ogrid-border, rgba(0,0,0,0.2))",borderRadius:"4px",fontSize:"13px",outline:"none",background:"var(--ogrid-bg, #fff)",color:"inherit",marginTop:"6px",boxSizing:"border-box"},ho={maxHeight:"160px",overflowY:"auto",marginTop:"4px",border:"1px solid var(--ogrid-border, rgba(0,0,0,0.1))",borderRadius:"4px",background:"var(--ogrid-bg, #fff)"},Xe={padding:"6px 10px",cursor:"pointer",fontSize:"12px",borderBottom:"1px solid var(--ogrid-border, rgba(0,0,0,0.04))",display:"flex",alignItems:"center",gap:"8px"},qe={background:"var(--ogrid-bg-hover, #f0f0f0)"},Ro={width:"14px",height:"14px",borderRadius:"3px",border:"1.5px solid var(--ogrid-border, rgba(0,0,0,0.3))",display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0,fontSize:"10px",background:"var(--ogrid-bg, #fff)"},Co={background:"var(--ogrid-accent, #0078d4)",border:"1.5px solid var(--ogrid-accent, #0078d4)",color:"#fff"},ko={fontSize:"12px",color:"var(--ogrid-muted, #888)",fontStyle:"italic",padding:"4px 0"},Po={display:"flex",justifyContent:"space-between",alignItems:"center",marginTop:"8px",paddingTop:"8px",borderTop:"1px solid var(--ogrid-border, rgba(0,0,0,0.08))"},To={background:"none",border:"none",cursor:"pointer",padding:"4px 8px",borderRadius:"4px",fontSize:"12px",color:"var(--ogrid-accent, #0078d4)",fontWeight:500},Eo={background:"var(--ogrid-accent, #0078d4)",color:"#fff",border:"none",cursor:"pointer",padding:"5px 12px",borderRadius:"4px",fontSize:"12px",fontWeight:600},wo={fontSize:"11px",color:"var(--ogrid-muted, #888)"},Mo=0;function Ge(S){let{value:x,onValueChange:i,onCommit:d,onCancel:p,cellEditorParams:h}=S,r=h,c=r?.suggestions,R=r?.allowCreate??true,g=r?.showApplyButton??true,y=!!c&&!R,[k,w]=z.useState(()=>parseTags(x)),[P,V]=z.useState(""),[M,D]=z.useState(-1),A=z.useRef(null),$=z.useRef(null),L=z.useRef(`ogrid-tags-listbox-${++Mo}`).current,b=z.useMemo(()=>{if(!c)return [];if(y){let a=P.toLowerCase().trim();return c.filter(m=>!a||m.toLowerCase().includes(a))}return filterTagSuggestions(P,c,k)},[P,c,k,y]),t=y?b.length>0:b.length>0&&P.length>0,s=z.useCallback(a=>{w(a),i(formatTags(a));},[i]),C=z.useCallback(a=>{let m=a.trim();if(!m||k.includes(m)||!R&&c&&!c.includes(m))return;let B=[...k,m];s(B),V(""),D(-1);},[k,R,c,s]),l=z.useCallback(a=>{let m=k.filter((B,G)=>G!==a);s(m);},[k,s]),f=z.useCallback(a=>{if(k.includes(a)){let m=k.filter(B=>B!==a);s(m);}else {let m=[...k,a];s(m);}},[k,s]),e=()=>{d();},T=()=>{s([]),V(""),i(""),g||d();},H=a=>{V(a.target.value),D(-1);},o=a=>{if(a.key==="Enter")if(a.preventDefault(),a.stopPropagation(),y){let m=b[M];t&&M>=0&&m!==void 0?f(m):d();}else t&&M>=0&&b[M]!==void 0?C(b[M]):P.trim()?C(P):d();else a.key==="Escape"?(a.preventDefault(),a.stopPropagation(),p()):!y&&(a.key===","||a.key==="Tab")?P.trim()&&(a.preventDefault(),C(P)):a.key==="Backspace"&&P===""&&k.length>0&&!y?l(k.length-1):a.key==="ArrowDown"&&t?(a.preventDefault(),D(m=>m<b.length-1?m+1:0)):a.key==="ArrowUp"&&t&&(a.preventDefault(),D(m=>m>0?m-1:b.length-1));},u=a=>{y?(f(a),$.current?.focus()):(C(a),$.current?.focus());};z.useEffect(()=>{$.current?.focus();},[]),z.useEffect(()=>{let a=B=>{B.key==="Escape"&&(B.preventDefault(),p());},m=A.current;if(m)return m.addEventListener("keydown",a),()=>m.removeEventListener("keydown",a)},[p]);let I=(a,m)=>{let B=getTagColor(a);return jsxs("span",{style:{...So,backgroundColor:B,color:"#333"},children:[jsx("span",{style:xo,children:a}),jsx("button",{type:"button",style:yo,onClick:()=>l(m),tabIndex:-1,"aria-label":`Remove ${a}`,children:"\xD7"})]},`${a}-${m}`)},_=(a,m)=>{let B=k.includes(a),G=m===M;return y?jsxs("div",{id:`${L}-opt-${m}`,role:"option","aria-selected":B,style:{...Xe,...G?qe:{}},onClick:()=>u(a),onMouseEnter:()=>D(m),children:[jsx("span",{style:{...Ro,...B?Co:{}},children:B?"\u2713":""}),jsx("span",{style:{flex:1},children:a})]},a):jsx("div",{id:`${L}-opt-${m}`,role:"option","aria-selected":B,style:{...Xe,...G?qe:{}},onClick:()=>u(a),onMouseEnter:()=>D(m),children:a},a)};return jsxs("div",{ref:A,style:mo,onMouseDown:a=>a.stopPropagation(),children:[jsx("div",{style:bo,children:k.length>0?k.map((a,m)=>I(a,m)):jsx("span",{style:ko,children:"No tags"})}),jsx("input",{ref:$,type:"text",value:P,onChange:H,onKeyDown:o,placeholder:y?"Search...":R?"Type to add tag...":"Search tags...",style:vo,"aria-label":"Tag search input",role:"combobox","aria-expanded":t,"aria-controls":t?L:void 0,"aria-autocomplete":"list","aria-activedescendant":t&&M>=0?`${L}-opt-${M}`:void 0}),t&&jsx("div",{id:L,role:"listbox","aria-label":"Tag suggestions",style:ho,children:b.map((a,m)=>_(a,m))}),jsxs("div",{style:Po,children:[jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[jsxs("span",{style:wo,children:[k.length," tag",k.length!==1?"s":""]}),jsx("button",{type:"button",style:To,onClick:T,children:"Clear all"})]}),g&&jsx("button",{type:"button",style:Eo,onClick:e,"aria-label":"Apply tags",children:"Apply"})]})]})}export{Oe as ColorPickerEditor,Ae as DatePickerEditor,Ne as DateTimePickerEditor,We as RatingEditor,_e as SliderEditor,Ge as TagsEditor,ze as TimePickerEditor};
|
|
1
|
+
import*as z from'react';import {parseDate,formatDate,getCalendarGrid,MONTH_NAMES,DAY_NAMES,DEFAULT_MAX_STARS,clampRating,DEFAULT_COLOR_PALETTE,normalizeHex,DEFAULT_MIN,DEFAULT_MAX,DEFAULT_STEP,clampValue,snapToStep,getPercentage,parseTags,filterTagSuggestions,formatTags,isValidHex,isLightColor,getStarFill,getValueFromOffset,getTagColor,getRatingFromPosition}from'@alaarab/ogrid-inputs';import {jsxs,jsx}from'react/jsx-runtime';var at={fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',fontSize:"13px",background:"var(--ogrid-bg, #fff)",color:"var(--ogrid-fg, #242424)",border:"1px solid var(--ogrid-border, rgba(0,0,0,0.12))",borderRadius:"8px",boxShadow:"var(--ogrid-shadow, 0 4px 16px rgba(0,0,0,0.15))",padding:"12px",width:"280px",userSelect:"none"},it={display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"8px"},Ie={background:"none",border:"none",cursor:"pointer",padding:"4px 8px",borderRadius:"4px",fontSize:"14px",color:"inherit",lineHeight:1},st={fontWeight:600,fontSize:"14px"},lt={display:"grid",gridTemplateColumns:"repeat(7, 1fr)",gap:"1px",textAlign:"center"},ct={padding:"4px 0",fontSize:"11px",fontWeight:600,color:"var(--ogrid-muted, #888)"},dt={padding:"6px 0",borderRadius:"4px",cursor:"pointer",fontSize:"13px",lineHeight:1,border:"none",background:"none",color:"inherit"},pt={display:"flex",justifyContent:"space-between",alignItems:"center",marginTop:"8px",paddingTop:"8px",borderTop:"1px solid var(--ogrid-border, rgba(0,0,0,0.08))"},He={background:"none",border:"none",cursor:"pointer",padding:"4px 8px",borderRadius:"4px",fontSize:"12px",color:"var(--ogrid-accent, #0078d4)",fontWeight:500},ut={display:"flex",gap:"6px",marginBottom:"8px"},ft={flex:1,padding:"4px 8px",border:"1px solid var(--ogrid-border, rgba(0,0,0,0.2))",borderRadius:"4px",fontSize:"13px",outline:"none",background:"var(--ogrid-bg, #fff)",color:"inherit"};function Ae(S){let{value:x,onValueChange:i,onCommit:d,onCancel:p}=S,h=z.useMemo(()=>x==null?null:parseDate(String(x)),[x]),r=new Date,[c,R]=z.useState(h?.year??r.getFullYear()),[g,y]=z.useState(h?.month??r.getMonth()),[k,w]=z.useState(h?formatDate(h.year,h.month,h.date):""),[P,V]=z.useState(k),[M,D]=z.useState(null),A=z.useRef(null),$=z.useMemo(()=>getCalendarGrid(c,g),[c,g]),L=()=>{g===0?(y(11),R(e=>e-1)):y(e=>e-1);},b=()=>{g===11?(y(0),R(e=>e+1)):y(e=>e+1);},t=(e,T,H)=>{let o=formatDate(e,T,H);w(o),V(o),i(o),setTimeout(()=>d(),0);},s=e=>{let T=e.target.value;V(T);let H=parseDate(T);H&&(w(formatDate(H.year,H.month,H.date)),R(H.year),y(H.month),i(T));},C=e=>{e.key==="Enter"&&(e.preventDefault(),e.stopPropagation(),i(P),d()),e.key==="Escape"&&(e.preventDefault(),e.stopPropagation(),p());},l=()=>{let e=new Date;t(e.getFullYear(),e.getMonth(),e.getDate());},f=()=>{w(""),V(""),i(""),d();};return z.useEffect(()=>{let e=A.current?.querySelector("input");e&&(e.focus(),e.select());},[]),z.useEffect(()=>{let e=H=>{H.key==="Escape"&&(H.preventDefault(),p());},T=A.current;if(T)return T.addEventListener("keydown",e),()=>T.removeEventListener("keydown",e)},[p]),jsxs("div",{ref:A,style:at,onMouseDown:e=>e.stopPropagation(),children:[jsx("div",{style:ut,children:jsx("input",{type:"text","aria-label":"Date (YYYY-MM-DD)",value:P,onChange:s,onKeyDown:C,placeholder:"YYYY-MM-DD",style:ft})}),jsxs("div",{style:it,children:[jsx("button",{type:"button",style:Ie,onClick:L,"aria-label":"Previous month",children:"\u2039"}),jsxs("span",{style:st,children:[MONTH_NAMES[g]," ",c]}),jsx("button",{type:"button",style:Ie,onClick:b,"aria-label":"Next month",children:"\u203A"})]}),jsxs("div",{style:lt,children:[DAY_NAMES.map(e=>jsx("div",{style:ct,children:e},e)),$.flat().map(e=>{let T=formatDate(e.year,e.month,e.date),H=T===k,o=T===M,u={...dt};return e.isCurrentMonth||(u.color="var(--ogrid-muted, #ccc)"),e.isToday&&!H&&(u.fontWeight=700,u.color="var(--ogrid-accent, #0078d4)"),H?(u.background="var(--ogrid-accent, #0078d4)",u.color="#fff",u.fontWeight=600):o&&(u.background="var(--ogrid-bg-hover, #f0f0f0)"),jsx("button",{type:"button",style:u,onClick:()=>t(e.year,e.month,e.date),onMouseEnter:()=>D(T),onMouseLeave:()=>D(null),tabIndex:-1,"aria-label":`${MONTH_NAMES[e.month]} ${e.date}, ${e.year}`,"aria-pressed":H,"aria-current":e.isToday?"date":void 0,children:e.date},T)})]}),jsxs("div",{style:pt,children:[jsx("button",{type:"button",style:He,onClick:l,children:"Today"}),jsx("button",{type:"button",style:He,onClick:f,children:"Clear"})]})]})}function Ce(S){if(!S)return null;let x=S.trim(),i=x.match(/^(\d{1,2}):(\d{2})\s*(AM|PM)$/i);if(i?.[1]!=null&&i[2]!=null&&i[3]!=null){let p=parseInt(i[1],10),h=parseInt(i[2],10),r=i[3].toUpperCase();return p<1||p>12||h<0||h>59?null:(r==="AM"?p=p===12?0:p:p=p===12?12:p+12,{hours:p,minutes:h})}let d=x.match(/^(\d{1,2}):(\d{2})$/);if(d?.[1]!=null&&d[2]!=null){let p=parseInt(d[1],10),h=parseInt(d[2],10);return p<0||p>23||h<0||h>59?null:{hours:p,minutes:h}}return null}function ue(S){let{hours:x,minutes:i}=S,d=x<12?"AM":"PM",p=x%12===0?12:x%12,h=String(i).padStart(2,"0");return `${p}:${h} ${d}`}function oe(S){return S%12===0?12:S%12}function ne(S){return S<12?"AM":"PM"}function re(S,x){return x==="AM"?S===12?0:S:S===12?12:S+12}function xe(S=5){let x=[];for(let i=0;i<60;i+=S)x.push(i);return x}function ye(){return [12,1,2,3,4,5,6,7,8,9,10,11]}var gt={fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',fontSize:"13px",background:"var(--ogrid-bg, #fff)",color:"var(--ogrid-fg, #242424)",border:"1px solid var(--ogrid-border, rgba(0,0,0,0.12))",borderRadius:"8px",boxShadow:"var(--ogrid-shadow, 0 4px 16px rgba(0,0,0,0.15))",padding:"12px",width:"220px",userSelect:"none"},mt={display:"flex",gap:"6px",marginBottom:"10px"},bt={flex:1,padding:"5px 8px",border:"1px solid var(--ogrid-border, rgba(0,0,0,0.2))",borderRadius:"4px",fontSize:"13px",outline:"none",background:"var(--ogrid-bg, #fff)",color:"inherit"},St={display:"flex",gap:"8px",alignItems:"stretch"},ke={display:"flex",flexDirection:"column",flex:1,gap:"0",border:"1px solid var(--ogrid-border, rgba(0,0,0,0.12))",borderRadius:"6px",overflow:"hidden",maxHeight:"176px",overflowY:"auto"},Pe={textAlign:"center",fontSize:"11px",fontWeight:600,color:"var(--ogrid-muted, #888)",padding:"4px 0",borderBottom:"1px solid var(--ogrid-border, rgba(0,0,0,0.08))",position:"sticky",top:0,background:"var(--ogrid-bg, #fff)"},Te={padding:"5px 0",textAlign:"center",cursor:"pointer",fontSize:"13px",border:"none",background:"none",color:"inherit",width:"100%"},xt={display:"flex",justifyContent:"space-between",alignItems:"center",marginTop:"10px",paddingTop:"8px",borderTop:"1px solid var(--ogrid-border, rgba(0,0,0,0.08))"},Le={background:"none",border:"none",cursor:"pointer",padding:"4px 8px",borderRadius:"4px",fontSize:"12px",color:"var(--ogrid-accent, #0078d4)",fontWeight:500};function ze(S){let{value:x,onValueChange:i,onCommit:d,onCancel:p}=S,r=(S.cellEditorParams??{}).minuteStep??5,c=()=>{let o=Ce(String(x??""));if(o)return o;let u=new Date;return {hours:u.getHours(),minutes:Math.floor(u.getMinutes()/r)*r}},[R,g]=z.useState(c),[y,k]=z.useState(ne(R.hours)),[w,P]=z.useState(oe(R.hours)),[V,M]=z.useState(ue(R)),D=z.useRef(null),A=z.useRef(null),$=z.useRef(null),L=ye(),b=xe(r),t=z.useCallback((o,u,I)=>{let a={hours:re(o,I),minutes:u},m=ue(a);M(m),i(m);},[i]),s=o=>{P(o),t(o,R.minutes,y),g(u=>({...u,hours:re(o,y)}));},C=o=>{g(u=>({...u,minutes:o})),t(w,o,y);},l=o=>{k(o),g(u=>({...u,hours:re(w,o)})),t(w,R.minutes,o);},f=o=>{let u=o.target.value;M(u);let I=Ce(u);I&&(g(I),P(oe(I.hours)),k(ne(I.hours)),i(ue(I)));},e=o=>{o.key==="Enter"&&(o.preventDefault(),o.stopPropagation(),i(V),d()),o.key==="Escape"&&(o.preventDefault(),o.stopPropagation(),p());},T=()=>{let o=new Date,u=o.getHours(),I=Math.floor(o.getMinutes()/r)*r,_={hours:u,minutes:I};g(_),P(oe(u)),k(ne(u));let a=ue(_);M(a),i(a),setTimeout(()=>d(),0);},H=()=>{i(""),d();};return z.useEffect(()=>{let o=(_,a,m)=>{if(!_)return;let B=(_.scrollHeight-25)/m;_.scrollTop=a*B;},u=L.indexOf(w),I=b.indexOf(R.minutes);o(A.current,u>=0?u:0,L.length),o($.current,I>=0?I:0,b.length);},[]),z.useEffect(()=>{let o=D.current?.querySelector("input");o&&(o.focus(),o.select());},[]),z.useEffect(()=>{let o=D.current,u=I=>{I.key==="Escape"&&(I.preventDefault(),p());};if(o)return o.addEventListener("keydown",u),()=>o.removeEventListener("keydown",u)},[p]),jsxs("div",{ref:D,style:gt,onMouseDown:o=>o.stopPropagation(),children:[jsx("div",{style:mt,children:jsx("input",{type:"text","aria-label":"Time",value:V,onChange:f,onKeyDown:e,placeholder:"h:mm AM/PM",style:bt})}),jsxs("div",{style:St,children:[jsxs("div",{ref:A,style:ke,children:[jsx("div",{style:Pe,children:"Hour"}),L.map(o=>{let u=o===w,I={...Te,background:u?"var(--ogrid-accent, #0078d4)":"none",color:u?"#fff":"inherit",fontWeight:u?600:400};return jsx("button",{type:"button",style:I,onClick:()=>s(o),tabIndex:-1,children:o},o)})]}),jsxs("div",{ref:$,style:ke,children:[jsx("div",{style:Pe,children:"Min"}),b.map(o=>{let u=o===R.minutes,I={...Te,background:u?"var(--ogrid-accent, #0078d4)":"none",color:u?"#fff":"inherit",fontWeight:u?600:400};return jsx("button",{type:"button",style:I,onClick:()=>C(o),tabIndex:-1,children:String(o).padStart(2,"0")},o)})]}),jsxs("div",{style:{...ke,flex:"none",width:"50px"},children:[jsx("div",{style:Pe,children:"AM/PM"}),["AM","PM"].map(o=>{let u=o===y,I={...Te,background:u?"var(--ogrid-accent, #0078d4)":"none",color:u?"#fff":"inherit",fontWeight:u?600:400};return jsx("button",{type:"button",style:I,onClick:()=>l(o),tabIndex:-1,children:o},o)})]})]}),jsxs("div",{style:xt,children:[jsx("button",{type:"button",style:Le,onClick:T,children:"Now"}),jsx("button",{type:"button",style:Le,onClick:H,children:"Clear"})]})]})}function Ve(S){if(!S)return null;let x=S.trim(),i=x.match(/^(\d{4})-(\d{2})-(\d{2})\s+(\d{1,2}):(\d{2})\s*(AM|PM)$/i);if(i?.[1]!=null&&i[2]!=null&&i[3]!=null&&i[4]!=null&&i[5]!=null&&i[6]!=null){let p=parseInt(i[1],10),h=parseInt(i[2],10)-1,r=parseInt(i[3],10),c=parseInt(i[4],10),R=parseInt(i[5],10),g=i[6].toUpperCase();if(c<1||c>12||R<0||R>59)return null;g==="AM"?c=c===12?0:c:c=c===12?12:c+12;let y=new Date(p,h,r);return y.getFullYear()!==p||y.getMonth()!==h||y.getDate()!==r?null:{year:p,month:h,date:r,hours:c,minutes:R}}let d=x.match(/^(\d{4})-(\d{2})-(\d{2})[T ](\d{2}):(\d{2})$/);if(d?.[1]!=null&&d[2]!=null&&d[3]!=null&&d[4]!=null&&d[5]!=null){let p=parseInt(d[1],10),h=parseInt(d[2],10)-1,r=parseInt(d[3],10),c=parseInt(d[4],10),R=parseInt(d[5],10);if(c<0||c>23||R<0||R>59)return null;let g=new Date(p,h,r);return g.getFullYear()!==p||g.getMonth()!==h||g.getDate()!==r?null:{year:p,month:h,date:r,hours:c,minutes:R}}return null}function $e(S){let x=String(S.month+1).padStart(2,"0"),i=String(S.date).padStart(2,"0"),d=`${S.year}-${x}-${i}`,p=S.hours<12?"AM":"PM",h=S.hours%12===0?12:S.hours%12,r=String(S.minutes).padStart(2,"0");return `${d} ${h}:${r} ${p}`}var yt={fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',fontSize:"13px",background:"var(--ogrid-bg, #fff)",color:"var(--ogrid-fg, #242424)",border:"1px solid var(--ogrid-border, rgba(0,0,0,0.12))",borderRadius:"8px",boxShadow:"var(--ogrid-shadow, 0 4px 16px rgba(0,0,0,0.15))",padding:"12px",width:"300px",userSelect:"none"},vt={display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"8px"},Be={background:"none",border:"none",cursor:"pointer",padding:"4px 8px",borderRadius:"4px",fontSize:"14px",color:"inherit",lineHeight:1},ht={fontWeight:600,fontSize:"14px"},Rt={display:"grid",gridTemplateColumns:"repeat(7, 1fr)",gap:"1px",textAlign:"center"},Ct={padding:"4px 0",fontSize:"11px",fontWeight:600,color:"var(--ogrid-muted, #888)"},kt={padding:"6px 0",borderRadius:"4px",cursor:"pointer",fontSize:"13px",lineHeight:1,border:"none",background:"none",color:"inherit"},Pt={borderTop:"1px solid var(--ogrid-border, rgba(0,0,0,0.08))",margin:"10px 0 8px"},Tt={fontSize:"11px",fontWeight:600,color:"var(--ogrid-muted, #888)",marginBottom:"6px",textTransform:"uppercase",letterSpacing:"0.04em"},Et={display:"flex",gap:"6px",alignItems:"stretch"},Ee={display:"flex",flexDirection:"column",flex:1,border:"1px solid var(--ogrid-border, rgba(0,0,0,0.12))",borderRadius:"6px",overflow:"hidden",maxHeight:"130px",overflowY:"auto"},we={textAlign:"center",fontSize:"11px",fontWeight:600,color:"var(--ogrid-muted, #888)",padding:"3px 0",borderBottom:"1px solid var(--ogrid-border, rgba(0,0,0,0.08))",position:"sticky",top:0,background:"var(--ogrid-bg, #fff)"},Me={padding:"4px 0",textAlign:"center",cursor:"pointer",fontSize:"12px",border:"none",background:"none",color:"inherit",width:"100%"},wt={display:"flex",justifyContent:"space-between",alignItems:"center",marginTop:"10px",paddingTop:"8px",borderTop:"1px solid var(--ogrid-border, rgba(0,0,0,0.08))"},De={background:"none",border:"none",cursor:"pointer",padding:"4px 8px",borderRadius:"4px",fontSize:"12px",color:"var(--ogrid-accent, #0078d4)",fontWeight:500};function Ne(S){let{value:x,onValueChange:i,onCommit:d,onCancel:p}=S,r=(S.cellEditorParams??{}).minuteStep??5,c=new Date,g=(()=>{let n=Ve(String(x??""));return n||{year:c.getFullYear(),month:c.getMonth(),date:c.getDate(),hours:c.getHours(),minutes:Math.floor(c.getMinutes()/r)*r}})(),[y,k]=z.useState(g.year),[w,P]=z.useState(g.month),[V,M]=z.useState(formatDate(g.year,g.month,g.date)),[D,A]=z.useState(g.year),[$,L]=z.useState(g.month),[b,t]=z.useState(g.date),[s,C]=z.useState({hours:g.hours,minutes:g.minutes}),[l,f]=z.useState(ne(g.hours)),[e,T]=z.useState(oe(g.hours)),[H,o]=z.useState(null),u=z.useRef(null),I=z.useRef(null),_=z.useRef(null),a=z.useMemo(()=>getCalendarGrid(y,w),[y,w]),m=ye(),B=xe(r),G=z.useCallback((n,v,E,U,F)=>{let se=$e({year:n,month:v,date:E,hours:U,minutes:F});i(se);},[i]),je=()=>{w===0?(P(11),k(n=>n-1)):P(n=>n-1);},Je=()=>{w===11?(P(0),k(n=>n+1)):P(n=>n+1);},Qe=(n,v,E)=>{let U=formatDate(n,v,E);M(U),A(n),L(v),t(E),G(n,v,E,s.hours,s.minutes);},Ze=n=>{T(n);let v=re(n,l);C(E=>({...E,hours:v})),G(D,$,b,v,s.minutes);},et=n=>{C(v=>({...v,minutes:n})),G(D,$,b,s.hours,n);},tt=n=>{f(n);let v=re(e,n);C(E=>({...E,hours:v})),G(D,$,b,v,s.minutes);},ot=()=>{let n=new Date,v=n.getFullYear(),E=n.getMonth(),U=n.getDate(),F=n.getHours(),se=Math.floor(n.getMinutes()/r)*r;k(v),P(E),M(formatDate(v,E,U)),A(v),L(E),t(U),C({hours:F,minutes:se}),T(oe(F)),f(ne(F)),G(v,E,U,F,se),setTimeout(()=>d(),0);},nt=()=>{i(""),d();};return z.useEffect(()=>{let n=(U,F,se)=>{if(!U)return;let rt=(U.scrollHeight-22)/se;U.scrollTop=F*rt;},v=m.indexOf(e),E=B.indexOf(s.minutes);n(I.current,v>=0?v:0,m.length),n(_.current,E>=0?E:0,B.length);},[]),z.useEffect(()=>{let n=u.current,v=E=>{E.key==="Escape"&&(E.preventDefault(),p());};if(n)return n.addEventListener("keydown",v),()=>n.removeEventListener("keydown",v)},[p]),jsxs("div",{ref:u,style:yt,onMouseDown:n=>n.stopPropagation(),children:[jsxs("div",{style:vt,children:[jsx("button",{type:"button",style:Be,onClick:je,"aria-label":"Previous month",children:"\u2039"}),jsxs("span",{style:ht,children:[MONTH_NAMES[w]," ",y]}),jsx("button",{type:"button",style:Be,onClick:Je,"aria-label":"Next month",children:"\u203A"})]}),jsxs("div",{style:Rt,children:[DAY_NAMES.map(n=>jsx("div",{style:Ct,children:n},n)),a.flat().map(n=>{let v=formatDate(n.year,n.month,n.date),E=v===V,U=v===H,F={...kt};return n.isCurrentMonth||(F.color="var(--ogrid-muted, #ccc)"),n.isToday&&!E&&(F.fontWeight=700,F.color="var(--ogrid-accent, #0078d4)"),E?(F.background="var(--ogrid-accent, #0078d4)",F.color="#fff",F.fontWeight=600):U&&(F.background="var(--ogrid-bg-hover, #f0f0f0)"),jsx("button",{type:"button",style:F,onClick:()=>Qe(n.year,n.month,n.date),onMouseEnter:()=>o(v),onMouseLeave:()=>o(null),tabIndex:-1,children:n.date},v)})]}),jsx("div",{style:Pt}),jsx("div",{style:Tt,children:"Time"}),jsxs("div",{style:Et,children:[jsxs("div",{ref:I,style:Ee,children:[jsx("div",{style:we,children:"Hr"}),m.map(n=>{let v=n===e,E={...Me,background:v?"var(--ogrid-accent, #0078d4)":"none",color:v?"#fff":"inherit",fontWeight:v?600:400};return jsx("button",{type:"button",style:E,onClick:()=>Ze(n),tabIndex:-1,children:n},n)})]}),jsxs("div",{ref:_,style:Ee,children:[jsx("div",{style:we,children:"Min"}),B.map(n=>{let v=n===s.minutes,E={...Me,background:v?"var(--ogrid-accent, #0078d4)":"none",color:v?"#fff":"inherit",fontWeight:v?600:400};return jsx("button",{type:"button",style:E,onClick:()=>et(n),tabIndex:-1,children:String(n).padStart(2,"0")},n)})]}),jsxs("div",{style:{...Ee,flex:"none",width:"46px"},children:[jsx("div",{style:we,children:"AM/PM"}),["AM","PM"].map(n=>{let v=n===l,E={...Me,background:v?"var(--ogrid-accent, #0078d4)":"none",color:v?"#fff":"inherit",fontWeight:v?600:400};return jsx("button",{type:"button",style:E,onClick:()=>tt(n),tabIndex:-1,children:n},n)})]})]}),jsxs("div",{style:wt,children:[jsx("button",{type:"button",style:De,onClick:ot,children:"Now"}),jsx("button",{type:"button",style:De,onClick:()=>d(),children:"Apply"}),jsx("button",{type:"button",style:De,onClick:nt,children:"Clear"})]})]})}var It={fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',fontSize:"13px",background:"var(--ogrid-bg, #fff)",color:"var(--ogrid-fg, #242424)",border:"1px solid var(--ogrid-border, rgba(0,0,0,0.12))",borderRadius:"8px",boxShadow:"var(--ogrid-shadow, 0 4px 16px rgba(0,0,0,0.15))",padding:"12px",userSelect:"none"},Ht={display:"flex",alignItems:"center",gap:"2px",padding:"8px 0"},At={background:"none",border:"none",cursor:"pointer",padding:"2px",fontSize:"28px",lineHeight:1,transition:"transform 0.1s ease",color:"inherit"},Lt={fontSize:"12px",color:"var(--ogrid-muted, #888)",padding:"4px 0 0"},zt={display:"flex",justifyContent:"flex-start",marginTop:"8px",paddingTop:"8px",borderTop:"1px solid var(--ogrid-border, rgba(0,0,0,0.08))"},Vt={background:"none",border:"none",cursor:"pointer",padding:"4px 8px",borderRadius:"4px",fontSize:"12px",color:"var(--ogrid-accent, #0078d4)",fontWeight:500};function We(S){let{value:x,onValueChange:i,onCommit:d,onCancel:p,cellEditorParams:h}=S,r=h?.maxStars??DEFAULT_MAX_STARS,c=h?.allowHalf??false,R=z.useMemo(()=>{if(x==null||x==="")return 0;let b=Number(x);return Number.isNaN(b)?0:clampRating(b,r)},[x,r]),[g,y]=z.useState(R),[k,w]=z.useState(null),P=z.useRef(null),V=k??g,M=(b,t)=>{let s=t.currentTarget.getBoundingClientRect(),C=t.clientX-s.left,l=s.width,f=getRatingFromPosition(b,C,l,c),e=clampRating(f,r);y(e),i(e),setTimeout(()=>d(),0);},D=(b,t)=>{let s=t.currentTarget.getBoundingClientRect(),C=t.clientX-s.left,l=s.width,f=getRatingFromPosition(b,C,l,c);w(clampRating(f,r));},A=()=>{w(null);},$=()=>{y(0),i(""),d();};z.useEffect(()=>{P.current?.focus();},[]),z.useEffect(()=>{let b=s=>{if(s.key==="Escape")s.preventDefault(),p();else if(s.key==="Enter")s.preventDefault(),d();else if(s.key==="ArrowRight"||s.key==="ArrowUp"){s.preventDefault();let C=c?.5:1;y(l=>{let f=clampRating(l+C,r);return i(f),f});}else if(s.key==="ArrowLeft"||s.key==="ArrowDown"){s.preventDefault();let C=c?.5:1;y(l=>{let f=clampRating(Math.max(0,l-C),r);return i(f||""),f});}},t=P.current;if(t)return t.addEventListener("keydown",b),()=>t.removeEventListener("keydown",b)},[p,d,i,r,c]);let L=b=>{let t=getStarFill(b,V,c),s,C;t==="full"||t==="half"?(s="\u2605",C="#F59E0B"):(s="\u2606",C="var(--ogrid-muted, #ccc)");let l={...At,color:C};return t==="half"?jsx("button",{type:"button",style:l,onClick:f=>M(b,f),onMouseMove:f=>D(b,f),tabIndex:-1,"aria-label":`${b+1} of ${r} stars`,children:jsx("span",{style:{background:"linear-gradient(90deg, #F59E0B 50%, var(--ogrid-muted, #ccc) 50%)",WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent",backgroundClip:"text"},children:"\u2605"})},b):jsx("button",{type:"button",style:l,onClick:f=>M(b,f),onMouseMove:f=>D(b,f),tabIndex:-1,"aria-label":`${b+1} of ${r} stars`,children:s},b)};return jsxs("div",{ref:P,style:It,onMouseDown:b=>b.stopPropagation(),tabIndex:0,role:"slider","aria-label":"Rating","aria-valuemin":0,"aria-valuemax":r,"aria-valuenow":g,"aria-valuetext":g>0?`${g} of ${r} stars`:"No rating",children:[jsx("div",{style:Ht,onMouseLeave:A,children:Array.from({length:r},(b,t)=>L(t))}),jsx("div",{style:Lt,children:g>0?`${g} / ${r}`:"No rating"}),jsx("div",{style:zt,children:jsx("button",{type:"button",style:Vt,onClick:$,children:"Clear"})})]})}var Ft={fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',fontSize:"13px",background:"var(--ogrid-bg, #fff)",color:"var(--ogrid-fg, #242424)",border:"1px solid var(--ogrid-border, rgba(0,0,0,0.12))",borderRadius:"8px",boxShadow:"var(--ogrid-shadow, 0 4px 16px rgba(0,0,0,0.15))",padding:"12px",width:"240px",userSelect:"none"},Wt={display:"flex",gap:"6px",marginBottom:"10px",alignItems:"center"},Kt={fontSize:"14px",fontWeight:600,color:"var(--ogrid-muted, #888)",lineHeight:1},Yt={flex:1,padding:"4px 8px",border:"1px solid var(--ogrid-border, rgba(0,0,0,0.2))",borderRadius:"4px",fontSize:"13px",outline:"none",background:"var(--ogrid-bg, #fff)",color:"inherit",fontFamily:"monospace",textTransform:"uppercase"},Ot={width:"28px",height:"28px",borderRadius:"4px",border:"1px solid var(--ogrid-border, rgba(0,0,0,0.12))",flexShrink:0},Ut={display:"grid",gridTemplateColumns:"repeat(5, 1fr)",gap:"6px",padding:"4px 0"},_t={width:"36px",height:"36px",borderRadius:"50%",border:"none",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"14px",fontWeight:700,padding:0,transition:"transform 0.1s ease, box-shadow 0.1s ease"},Xt={display:"flex",justifyContent:"flex-start",marginTop:"8px",paddingTop:"8px",borderTop:"1px solid var(--ogrid-border, rgba(0,0,0,0.08))"},qt={background:"none",border:"none",cursor:"pointer",padding:"4px 8px",borderRadius:"4px",fontSize:"12px",color:"var(--ogrid-accent, #0078d4)",fontWeight:500};function Oe(S){let{value:x,onValueChange:i,onCommit:d,onCancel:p,cellEditorParams:h}=S,r=h?.colors??DEFAULT_COLOR_PALETTE,c=h?.allowCustom??true,R=z.useMemo(()=>x==null||x===""?"":normalizeHex(String(x))??String(x),[x]),[g,y]=z.useState(R),[k,w]=z.useState(R.replace(/^#/,"")),[P,V]=z.useState(null),M=z.useRef(null),D=t=>{let s=normalizeHex(t)??t;y(s),w(s.replace(/^#/,"")),i(s),setTimeout(()=>d(),0);},A=t=>{let s=t.target.value.replace(/[^0-9A-Fa-f]/g,"").slice(0,6);w(s);let C="#"+s;if(isValidHex(C)){let l=normalizeHex(C);l&&(y(l),i(l));}},$=t=>{if(t.key==="Enter"){t.preventDefault(),t.stopPropagation();let s="#"+k;if(isValidHex(s)){let C=normalizeHex(s);C&&i(C);}d();}t.key==="Escape"&&(t.preventDefault(),t.stopPropagation(),p());},L=()=>{y(""),w(""),i(""),d();};z.useEffect(()=>{let t=M.current?.querySelector("input");t&&(t.focus(),t.select());},[]),z.useEffect(()=>{let t=C=>{C.key==="Escape"&&(C.preventDefault(),p());},s=M.current;if(s)return s.addEventListener("keydown",t),()=>s.removeEventListener("keydown",t)},[p]);let b=(t,s)=>{let C=normalizeHex(t)??t,l=g.toUpperCase()===C.toUpperCase(),f=P===t,e=isLightColor(t),T={..._t,backgroundColor:t,border:e?"1px solid var(--ogrid-border, rgba(0,0,0,0.2))":"1px solid transparent",transform:f?"scale(1.15)":"scale(1)",boxShadow:l?"0 0 0 2px var(--ogrid-accent, #0078d4)":"none",color:e?"#333":"#fff"};return jsx("button",{type:"button",style:T,onClick:()=>D(t),onMouseEnter:()=>V(t),onMouseLeave:()=>V(null),tabIndex:-1,"aria-label":t,"aria-pressed":l,children:l?"\u2713":""},`${t}-${s}`)};return jsxs("div",{ref:M,style:Ft,onMouseDown:t=>t.stopPropagation(),children:[c&&jsxs("div",{style:Wt,children:[jsx("div",{style:{...Ot,backgroundColor:g||"transparent"}}),jsx("span",{style:Kt,children:"#"}),jsx("input",{type:"text","aria-label":"Hex color",value:k,onChange:A,onKeyDown:$,placeholder:"000000",maxLength:6,style:Yt})]}),jsx("div",{style:Ut,children:r.map((t,s)=>b(t,s))}),jsx("div",{style:Xt,children:jsx("button",{type:"button",style:qt,onClick:L,children:"Clear"})})]})}var Zt={fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',fontSize:"13px",background:"var(--ogrid-bg, #fff)",color:"var(--ogrid-fg, #242424)",border:"1px solid var(--ogrid-border, rgba(0,0,0,0.12))",borderRadius:"8px",boxShadow:"var(--ogrid-shadow, 0 4px 16px rgba(0,0,0,0.15))",padding:"12px 16px",width:"280px",userSelect:"none"},eo={display:"flex",alignItems:"center",gap:"12px",padding:"8px 0"},to={flex:1,position:"relative",height:"24px",display:"flex",alignItems:"center",cursor:"pointer"},oo={width:"100%",height:"6px",borderRadius:"3px",background:"var(--ogrid-border, rgba(0,0,0,0.15))",position:"relative",overflow:"hidden"},no={position:"absolute",top:0,left:0,height:"100%",borderRadius:"3px",background:"var(--ogrid-accent, #0078d4)",transition:"width 0.05s ease"},ro={position:"absolute",top:"50%",width:"18px",height:"18px",borderRadius:"50%",background:"var(--ogrid-accent, #0078d4)",border:"2px solid var(--ogrid-bg, #fff)",boxShadow:"0 1px 4px rgba(0,0,0,0.3)",transform:"translate(-50%, -50%)",cursor:"grab",transition:"box-shadow 0.1s ease"},ao={fontSize:"14px",fontWeight:600,minWidth:"40px",textAlign:"right",fontVariantNumeric:"tabular-nums"},io={display:"flex",gap:"8px",alignItems:"center",marginTop:"8px",paddingTop:"8px",borderTop:"1px solid var(--ogrid-border, rgba(0,0,0,0.08))"},so={fontSize:"12px",color:"var(--ogrid-muted, #888)"},lo={flex:1,padding:"4px 8px",border:"1px solid var(--ogrid-border, rgba(0,0,0,0.2))",borderRadius:"4px",fontSize:"13px",outline:"none",background:"var(--ogrid-bg, #fff)",color:"inherit",textAlign:"right",fontVariantNumeric:"tabular-nums"},co={display:"flex",justifyContent:"space-between",fontSize:"11px",color:"var(--ogrid-muted, #888)",padding:"2px 0 0"};function _e(S){let{value:x,onValueChange:i,onCommit:d,onCancel:p,cellEditorParams:h}=S,r=h?.min??DEFAULT_MIN,c=h?.max??DEFAULT_MAX,R=h?.step??DEFAULT_STEP,g=z.useMemo(()=>{if(x==null||x==="")return r;let l=Number(x);return Number.isNaN(l)?r:clampValue(snapToStep(l,r,R),r,c)},[x,r,c,R]),[y,k]=z.useState(g),[w,P]=z.useState(String(g)),[V,M]=z.useState(false),D=z.useRef(null),A=z.useRef(null),$=getPercentage(y,r,c),L=z.useCallback(l=>{let f=clampValue(snapToStep(l,r,R),r,c);k(f),P(String(f)),i(f);},[r,c,R,i]),b=l=>{if(!A.current)return;let f=A.current.getBoundingClientRect(),e=l.clientX-f.left,T=getValueFromOffset(e,f.width,r,c,R);L(T);},t=l=>{l.preventDefault(),l.stopPropagation(),M(true);};z.useEffect(()=>{if(!V)return;let l=e=>{if(!A.current)return;let T=A.current.getBoundingClientRect(),H=e.clientX-T.left,o=getValueFromOffset(H,T.width,r,c,R);L(o);},f=()=>{M(false),setTimeout(()=>d(),0);};return document.addEventListener("mousemove",l),document.addEventListener("mouseup",f),()=>{document.removeEventListener("mousemove",l),document.removeEventListener("mouseup",f);}},[V,r,c,R,L,d]);let s=l=>{let f=l.target.value;P(f);let e=Number(f);if(!Number.isNaN(e)){let T=clampValue(snapToStep(e,r,R),r,c);k(T),i(T);}},C=l=>{if(l.key==="Enter"){l.preventDefault(),l.stopPropagation();let f=Number(w);if(!Number.isNaN(f)){let e=clampValue(snapToStep(f,r,R),r,c);i(e);}d();}l.key==="Escape"&&(l.preventDefault(),l.stopPropagation(),p());};return z.useEffect(()=>{let l=D.current?.querySelector("input");l&&(l.focus(),l.select());},[]),z.useEffect(()=>{let l=e=>{e.key==="Escape"&&(e.preventDefault(),p());},f=D.current;if(f)return f.addEventListener("keydown",l),()=>f.removeEventListener("keydown",l)},[p]),jsxs("div",{ref:D,style:Zt,onMouseDown:l=>l.stopPropagation(),children:[jsxs("div",{style:eo,children:[jsxs("div",{ref:A,style:to,onClick:b,children:[jsx("div",{style:oo,children:jsx("div",{style:{...no,width:`${$}%`}})}),jsx("div",{style:{...ro,left:`${$}%`,cursor:V?"grabbing":"grab"},onMouseDown:t,role:"slider","aria-label":"Slider","aria-valuemin":r,"aria-valuemax":c,"aria-valuenow":y})]}),jsx("span",{style:ao,children:y})]}),jsxs("div",{style:co,children:[jsx("span",{children:r}),jsx("span",{children:c})]}),jsxs("div",{style:io,children:[jsx("span",{style:so,children:"Value:"}),jsx("input",{type:"text","aria-label":`Value (${r} to ${c})`,value:w,onChange:s,onKeyDown:C,style:lo})]})]})}var mo={fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',fontSize:"13px",background:"var(--ogrid-bg, #fff)",color:"var(--ogrid-fg, #242424)",border:"1px solid var(--ogrid-border, rgba(0,0,0,0.12))",borderRadius:"8px",boxShadow:"var(--ogrid-shadow, 0 4px 16px rgba(0,0,0,0.15))",padding:"12px",width:"280px",userSelect:"none"},bo={display:"flex",flexWrap:"wrap",gap:"4px",minHeight:"32px",padding:"4px 0"},So={display:"inline-flex",alignItems:"center",gap:"4px",padding:"3px 8px",borderRadius:"12px",fontSize:"12px",fontWeight:500,lineHeight:1.4,maxWidth:"200px",overflow:"hidden"},xo={overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},yo={background:"none",border:"none",cursor:"pointer",padding:"0 2px",fontSize:"14px",lineHeight:1,color:"inherit",opacity:.6,flexShrink:0},vo={width:"100%",padding:"6px 8px",border:"1px solid var(--ogrid-border, rgba(0,0,0,0.2))",borderRadius:"4px",fontSize:"13px",outline:"none",background:"var(--ogrid-bg, #fff)",color:"inherit",marginTop:"6px",boxSizing:"border-box"},ho={maxHeight:"160px",overflowY:"auto",marginTop:"4px",border:"1px solid var(--ogrid-border, rgba(0,0,0,0.1))",borderRadius:"4px",background:"var(--ogrid-bg, #fff)"},Xe={padding:"6px 10px",cursor:"pointer",fontSize:"12px",borderBottom:"1px solid var(--ogrid-border, rgba(0,0,0,0.04))",display:"flex",alignItems:"center",gap:"8px"},qe={background:"var(--ogrid-bg-hover, #f0f0f0)"},Ro={width:"14px",height:"14px",borderRadius:"3px",border:"1.5px solid var(--ogrid-border, rgba(0,0,0,0.3))",display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0,fontSize:"10px",background:"var(--ogrid-bg, #fff)"},Co={background:"var(--ogrid-accent, #0078d4)",border:"1.5px solid var(--ogrid-accent, #0078d4)",color:"#fff"},ko={fontSize:"12px",color:"var(--ogrid-muted, #888)",fontStyle:"italic",padding:"4px 0"},Po={display:"flex",justifyContent:"space-between",alignItems:"center",marginTop:"8px",paddingTop:"8px",borderTop:"1px solid var(--ogrid-border, rgba(0,0,0,0.08))"},To={background:"none",border:"none",cursor:"pointer",padding:"4px 8px",borderRadius:"4px",fontSize:"12px",color:"var(--ogrid-accent, #0078d4)",fontWeight:500},Eo={background:"var(--ogrid-accent, #0078d4)",color:"#fff",border:"none",cursor:"pointer",padding:"5px 12px",borderRadius:"4px",fontSize:"12px",fontWeight:600},wo={fontSize:"11px",color:"var(--ogrid-muted, #888)"},Mo=0;function Ge(S){let{value:x,onValueChange:i,onCommit:d,onCancel:p,cellEditorParams:h}=S,r=h,c=r?.suggestions,R=r?.allowCreate??true,g=r?.showApplyButton??true,y=!!c&&!R,[k,w]=z.useState(()=>parseTags(x)),[P,V]=z.useState(""),[M,D]=z.useState(-1),A=z.useRef(null),$=z.useRef(null),[L]=z.useState(()=>`ogrid-tags-listbox-${++Mo}`),b=z.useMemo(()=>{if(!c)return [];if(y){let a=P.toLowerCase().trim();return c.filter(m=>!a||m.toLowerCase().includes(a))}return filterTagSuggestions(P,c,k)},[P,c,k,y]),t=y?b.length>0:b.length>0&&P.length>0,s=z.useCallback(a=>{w(a),i(formatTags(a));},[i]),C=z.useCallback(a=>{let m=a.trim();if(!m||k.includes(m)||!R&&c&&!c.includes(m))return;let B=[...k,m];s(B),V(""),D(-1);},[k,R,c,s]),l=z.useCallback(a=>{let m=k.filter((B,G)=>G!==a);s(m);},[k,s]),f=z.useCallback(a=>{if(k.includes(a)){let m=k.filter(B=>B!==a);s(m);}else {let m=[...k,a];s(m);}},[k,s]),e=()=>{d();},T=()=>{s([]),V(""),i(""),g||d();},H=a=>{V(a.target.value),D(-1);},o=a=>{if(a.key==="Enter")if(a.preventDefault(),a.stopPropagation(),y){let m=b[M];t&&M>=0&&m!==void 0?f(m):d();}else t&&M>=0&&b[M]!==void 0?C(b[M]):P.trim()?C(P):d();else a.key==="Escape"?(a.preventDefault(),a.stopPropagation(),p()):!y&&(a.key===","||a.key==="Tab")?P.trim()&&(a.preventDefault(),C(P)):a.key==="Backspace"&&P===""&&k.length>0&&!y?l(k.length-1):a.key==="ArrowDown"&&t?(a.preventDefault(),D(m=>m<b.length-1?m+1:0)):a.key==="ArrowUp"&&t&&(a.preventDefault(),D(m=>m>0?m-1:b.length-1));},u=a=>{y?(f(a),$.current?.focus()):(C(a),$.current?.focus());};z.useEffect(()=>{$.current?.focus();},[]),z.useEffect(()=>{let a=B=>{B.key==="Escape"&&(B.preventDefault(),p());},m=A.current;if(m)return m.addEventListener("keydown",a),()=>m.removeEventListener("keydown",a)},[p]);let I=(a,m)=>{let B=getTagColor(a);return jsxs("span",{style:{...So,backgroundColor:B,color:"#333"},children:[jsx("span",{style:xo,children:a}),jsx("button",{type:"button",style:yo,onClick:()=>l(m),tabIndex:-1,"aria-label":`Remove ${a}`,children:"\xD7"})]},`${a}-${m}`)},_=(a,m)=>{let B=k.includes(a),G=m===M;return y?jsxs("div",{id:`${L}-opt-${m}`,role:"option","aria-selected":B,style:{...Xe,...G?qe:{}},onClick:()=>u(a),onMouseEnter:()=>D(m),children:[jsx("span",{style:{...Ro,...B?Co:{}},children:B?"\u2713":""}),jsx("span",{style:{flex:1},children:a})]},a):jsx("div",{id:`${L}-opt-${m}`,role:"option","aria-selected":B,style:{...Xe,...G?qe:{}},onClick:()=>u(a),onMouseEnter:()=>D(m),children:a},a)};return jsxs("div",{ref:A,style:mo,onMouseDown:a=>a.stopPropagation(),children:[jsx("div",{style:bo,children:k.length>0?k.map((a,m)=>I(a,m)):jsx("span",{style:ko,children:"No tags"})}),jsx("input",{ref:$,type:"text",value:P,onChange:H,onKeyDown:o,placeholder:y?"Search...":R?"Type to add tag...":"Search tags...",style:vo,"aria-label":"Tag search input",role:"combobox","aria-expanded":t,"aria-controls":t?L:void 0,"aria-autocomplete":"list","aria-activedescendant":t&&M>=0?`${L}-opt-${M}`:void 0}),t&&jsx("div",{id:L,role:"listbox","aria-label":"Tag suggestions",style:ho,children:b.map((a,m)=>_(a,m))}),jsxs("div",{style:Po,children:[jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[jsxs("span",{style:wo,children:[k.length," tag",k.length!==1?"s":""]}),jsx("button",{type:"button",style:To,onClick:T,children:"Clear all"})]}),g&&jsx("button",{type:"button",style:Eo,onClick:e,"aria-label":"Apply tags",children:"Apply"})]})]})}export{Oe as ColorPickerEditor,Ae as DatePickerEditor,Ne as DateTimePickerEditor,We as RatingEditor,_e as SliderEditor,Ge as TagsEditor,ze as TimePickerEditor};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { ColorPickerEditor } from './ColorPickerEditor';
|
|
1
|
+
export { ColorPickerEditor } from './ColorPickerEditor.js';
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { DatePickerEditor } from './DatePickerEditor';
|
|
2
|
-
export { getCalendarGrid, formatDate, parseDate, DAY_NAMES, MONTH_NAMES } from './calendar-utils';
|
|
3
|
-
export type { CalendarDay } from './calendar-utils';
|
|
1
|
+
export { DatePickerEditor } from './DatePickerEditor.js';
|
|
2
|
+
export { getCalendarGrid, formatDate, parseDate, DAY_NAMES, MONTH_NAMES } from './calendar-utils.js';
|
|
3
|
+
export type { CalendarDay } from './calendar-utils.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { DateTimePickerEditor } from './DateTimePickerEditor';
|
|
2
|
-
export type { DateTimePickerEditorParams } from './DateTimePickerEditor';
|
|
3
|
-
export { parseDateTime, formatDateTime, getTimeFromDateTime } from './datetime-utils';
|
|
4
|
-
export type { DateTimeValue } from './datetime-utils';
|
|
1
|
+
export { DateTimePickerEditor } from './DateTimePickerEditor.js';
|
|
2
|
+
export type { DateTimePickerEditorParams } from './DateTimePickerEditor.js';
|
|
3
|
+
export { parseDateTime, formatDateTime, getTimeFromDateTime } from './datetime-utils.js';
|
|
4
|
+
export type { DateTimeValue } from './datetime-utils.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { RatingEditor } from './RatingEditor';
|
|
1
|
+
export { RatingEditor } from './RatingEditor.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { SliderEditor } from './SliderEditor';
|
|
1
|
+
export { SliderEditor } from './SliderEditor.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { TagsEditor } from './TagsEditor';
|
|
1
|
+
export { TagsEditor } from './TagsEditor.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { TimePickerEditor } from './TimePickerEditor';
|
|
2
|
-
export type { TimePickerEditorParams } from './TimePickerEditor';
|
|
3
|
-
export { parseTime, formatTime12, formatTime24, toHour12, toAmPm, fromHour12, clampTime, getMinuteOptions, getHour12Options, } from './timepicker-utils';
|
|
4
|
-
export type { TimeValue, AmPm } from './timepicker-utils';
|
|
1
|
+
export { TimePickerEditor } from './TimePickerEditor.js';
|
|
2
|
+
export type { TimePickerEditorParams } from './TimePickerEditor.js';
|
|
3
|
+
export { parseTime, formatTime12, formatTime24, toHour12, toAmPm, fromHour12, clampTime, getMinuteOptions, getHour12Options, } from './timepicker-utils.js';
|
|
4
|
+
export type { TimeValue, AmPm } from './timepicker-utils.js';
|
package/dist/types/index.d.ts
CHANGED
|
@@ -22,14 +22,14 @@
|
|
|
22
22
|
* cellEditorPopup: true,
|
|
23
23
|
* }];
|
|
24
24
|
*/
|
|
25
|
-
export { DatePickerEditor } from './DatePicker';
|
|
26
|
-
export type { CalendarDay } from './DatePicker';
|
|
27
|
-
export { TimePickerEditor } from './TimePicker';
|
|
28
|
-
export type { TimePickerEditorParams, TimeValue, AmPm } from './TimePicker';
|
|
29
|
-
export { DateTimePickerEditor } from './DateTimePicker';
|
|
30
|
-
export type { DateTimePickerEditorParams, DateTimeValue } from './DateTimePicker';
|
|
31
|
-
export { RatingEditor } from './Rating';
|
|
32
|
-
export { ColorPickerEditor } from './ColorPicker';
|
|
33
|
-
export { SliderEditor } from './Slider';
|
|
34
|
-
export { TagsEditor } from './Tags';
|
|
25
|
+
export { DatePickerEditor } from './DatePicker/index.js';
|
|
26
|
+
export type { CalendarDay } from './DatePicker/index.js';
|
|
27
|
+
export { TimePickerEditor } from './TimePicker/index.js';
|
|
28
|
+
export type { TimePickerEditorParams, TimeValue, AmPm } from './TimePicker/index.js';
|
|
29
|
+
export { DateTimePickerEditor } from './DateTimePicker/index.js';
|
|
30
|
+
export type { DateTimePickerEditorParams, DateTimeValue } from './DateTimePicker/index.js';
|
|
31
|
+
export { RatingEditor } from './Rating/index.js';
|
|
32
|
+
export { ColorPickerEditor } from './ColorPicker/index.js';
|
|
33
|
+
export { SliderEditor } from './Slider/index.js';
|
|
34
|
+
export { TagsEditor } from './Tags/index.js';
|
|
35
35
|
export type { ICellEditorProps, CellEditorParams } from '@alaarab/ogrid-core';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alaarab/ogrid-react-inputs",
|
|
3
|
-
"version": "2.17.
|
|
3
|
+
"version": "2.17.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "OGrid React Inputs – Optional premium cell editors (DatePicker, and more). Zero impact when not installed.",
|
|
6
6
|
"main": "dist/esm/index.js",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
}
|
|
15
15
|
},
|
|
16
16
|
"scripts": {
|
|
17
|
-
"build": "rimraf dist && tsup && tsc -p tsconfig.build.json",
|
|
17
|
+
"build": "rimraf dist && tsup && tsc -p tsconfig.build.json && node ../../scripts/fix-dts-extensions.mjs dist/types",
|
|
18
18
|
"typecheck": "tsc -p tsconfig.build.json --noEmit",
|
|
19
19
|
"test": "bun test --preload ../../bun-test.setup.ts"
|
|
20
20
|
},
|
|
@@ -39,8 +39,8 @@
|
|
|
39
39
|
"node": ">=18"
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"@alaarab/ogrid-core": "2.17.
|
|
43
|
-
"@alaarab/ogrid-inputs": "2.17.
|
|
42
|
+
"@alaarab/ogrid-core": "2.17.1",
|
|
43
|
+
"@alaarab/ogrid-inputs": "2.17.1"
|
|
44
44
|
},
|
|
45
45
|
"peerDependencies": {
|
|
46
46
|
"react": "^17.0.0 || ^18.0.0 || ^19.0.0",
|