@orion-ds/react 5.3.2 → 5.5.0
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/components/Calendar/Calendar.cjs +1 -1
- package/dist/components/Calendar/Calendar.d.ts.map +1 -1
- package/dist/components/Calendar/Calendar.mjs +14 -13
- package/dist/components/Chart/Chart.cjs +1 -1
- package/dist/components/Chart/Chart.d.ts.map +1 -1
- package/dist/components/Chart/Chart.mjs +18 -17
- package/dist/components/CodeEditor/CodeEditor.cjs +6 -6
- package/dist/components/CodeEditor/CodeEditor.d.ts.map +1 -1
- package/dist/components/CodeEditor/CodeEditor.mjs +138 -137
- package/dist/components/CollapsibleFolder/CollapsibleFolder.cjs +1 -1
- package/dist/components/CollapsibleFolder/CollapsibleFolder.d.ts.map +1 -1
- package/dist/components/CollapsibleFolder/CollapsibleFolder.mjs +9 -8
- package/dist/components/DatePicker/DatePicker.cjs +1 -1
- package/dist/components/DatePicker/DatePicker.d.ts.map +1 -1
- package/dist/components/DatePicker/DatePicker.mjs +20 -19
- package/package.json +7 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime"),o=require("react"),q=require("lucide-react"),$=require("../MissingDependencyError.cjs"),p=require("../../utils/optionalDeps.cjs"),l=require("./Calendar.module.css.cjs"),I=require("../Button/Button.cjs");let g,w,A,B,T,L,W,a,x,C,S,k,y;if(typeof require<"u")try{const e=require("date-fns");g=e.startOfMonth,w=e.endOfMonth,A=e.startOfWeek,B=e.endOfWeek,T=e.eachDayOfInterval,L=e.addMonths,W=e.subMonths,a=e.isSameDay,x=e.isSameMonth,C=e.isToday,S=e.isBefore,k=e.isAfter,y=e.format}catch{}const ee=["Su","Mo","Tu","We","Th","Fr","Sa"];function te(e,s){const u=e.length,d=(s%u+u)%u;return[...e.slice(d),...e.slice(0,d)]}const P=e=>{const{mode:s="single",min:u,max:d,disabled:m,weekStartsOn:h=0,showOutsideDays:R=!0,className:_,...z}=e,{selected:re,onSelect:le,...F}=z,[D,b]=o.useState(),[H,K]=o.useState(!0),[f,O]=o.useState(()=>s==="single"&&e.mode!=="range"&&e.mode!=="multiple"&&e.selected?g(e.selected):s==="range"&&e.mode==="range"&&e.selected?.from?g(e.selected.from):g(new Date));o.useEffect(()=>{(async()=>{try{const n=p.checkComponent("Calendar");n instanceof Promise?b(await n):b(n)}catch{b(void 0)}finally{K(!1)}})()},[]);const Y=o.useMemo(()=>{const t=g(f),n=w(f),r=A(t,{weekStartsOn:h}),c=B(n,{weekStartsOn:h});return T({start:r,end:c})},[f,h]),G=o.useMemo(()=>te(ee,h),[h]),M=o.useCallback(t=>u&&S(t,ne(u))||d&&k(t,se(d))?!0:m?Array.isArray(m)?m.some(n=>a(n,t)):m(t):!1,[u,d,m]),j=o.useCallback(t=>s==="single"&&e.mode!=="range"&&e.mode!=="multiple"?e.selected?a(e.selected,t):!1:s==="multiple"&&e.mode==="multiple"?e.selected?.some(n=>a(n,t))??!1:!1,[s,e]),v=o.useCallback(t=>{if(s!=="range"||e.mode!=="range"||!e.selected)return null;const{from:n,to:r}=e.selected;return n?r?a(t,n)&&a(t,r)||a(t,n)?"start":a(t,r)?"end":k(t,n)&&S(t,r)?"middle":null:a(t,n)?"start":null:null},[s,e]),J=o.useCallback(t=>{if(!M(t)){if(s==="single"&&e.mode!=="range"&&e.mode!=="multiple"){const n=e.onSelect;n?.(t)}else if(s==="range"&&e.mode==="range"){const n=e.onSelect,r=e.selected;!r?.from||r.from&&r.to?n?.({from:t,to:void 0}):S(t,r.from)?n?.({from:t,to:r.from}):n?.({from:r.from,to:t})}else if(s==="multiple"&&e.mode==="multiple"){const n=e.onSelect,r=e.selected??[],c=r.findIndex(N=>a(N,t));c>=0?n?.(r.filter((N,Z)=>Z!==c)):n?.([...r,t])}}},[s,e,M]),Q=()=>O(t=>W(t,1)),U=()=>O(t=>L(t,1)),V=t=>{const n=[l.default.day];if(!x(t,f)&&n.push(l.default.outside),C(t)&&n.push(l.default.today),M(t)&&n.push(l.default.disabled),s==="range"){const c=v(t);c==="start"&&(n.push(l.default.rangeStart),e.mode==="range"&&e.selected?.from&&e.selected?.to&&a(e.selected.from,e.selected.to)&&n.push(l.default.rangeEnd)),c==="middle"&&n.push(l.default.rangeMiddle),c==="end"&&n.push(l.default.rangeEnd)}else j(t)&&n.push(l.default.selected);return n.join(" ")},E=o.useId();if(D)return i.jsx($.MissingDependencyError,{...D});if(H)return i.jsx("div",{children:"Loading calendar..."});const X=[l.default.calendar,_].filter(Boolean).join(" ");return i.jsxs("div",{className:X,...F,children:[i.jsxs("div",{className:l.default.header,children:[i.jsx(I.Button,{variant:"ghost",iconOnly:!0,size:"sm",icon:i.jsx(q.ChevronLeft,{size:16}),onClick:Q,"aria-label":"Previous month"}),i.jsx("span",{id:E,className:l.default.monthLabel,children:y(f,"MMMM yyyy")}),i.jsx(I.Button,{variant:"ghost",iconOnly:!0,size:"sm",icon:i.jsx(q.ChevronRight,{size:16}),onClick:U,"aria-label":"Next month"})]}),i.jsxs("div",{className:l.default.grid,role:"grid","aria-labelledby":E,children:[G.map(t=>i.jsx("div",{className:l.default.weekday,role:"columnheader","aria-label":t,children:t},t)),Y.map(t=>!x(t,f)&&!R?i.jsx("div",{},t.toISOString()):i.jsx("button",{type:"button",className:V(t),onClick:()=>J(t),disabled:M(t),tabIndex:C(t)?0:-1,"aria-label":y(t,"EEEE, MMMM d, yyyy"),"aria-selected":j(t)||v(t)!==null,children:y(t,"d")},t.toISOString()))]})]})};P.displayName="Calendar";function ne(e){const s=new Date(e);return s.setHours(0,0,0,0),s}function se(e){const s=new Date(e);return s.setHours(23,59,59,999),s}exports.Calendar=P;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Calendar.d.ts","sourceRoot":"","sources":["../../../src/components/Calendar/Calendar.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAA2D,MAAM,OAAO,CAAC;AAQhF,OAAO,KAAK,EAAE,aAAa,EAAa,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"Calendar.d.ts","sourceRoot":"","sources":["../../../src/components/Calendar/Calendar.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAA2D,MAAM,OAAO,CAAC;AAQhF,OAAO,KAAK,EAAE,aAAa,EAAa,MAAM,kBAAkB,CAAC;AAgDjE,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAgS5C,CAAC"}
|
|
@@ -6,11 +6,12 @@ import { checkComponent as se } from "../../utils/optionalDeps.mjs";
|
|
|
6
6
|
import o from "./Calendar.module.css.mjs";
|
|
7
7
|
import { Button as T } from "../Button/Button.mjs";
|
|
8
8
|
let h, W, B, j, z, P, _, i, k, v, y, C, S;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
}
|
|
9
|
+
if (typeof require < "u")
|
|
10
|
+
try {
|
|
11
|
+
const e = require("date-fns");
|
|
12
|
+
h = e.startOfMonth, W = e.endOfMonth, B = e.startOfWeek, j = e.endOfWeek, z = e.eachDayOfInterval, P = e.addMonths, _ = e.subMonths, i = e.isSameDay, k = e.isSameMonth, v = e.isToday, y = e.isBefore, C = e.isAfter, S = e.format;
|
|
13
|
+
} catch {
|
|
14
|
+
}
|
|
14
15
|
const oe = ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"];
|
|
15
16
|
function ie(e, r) {
|
|
16
17
|
const a = e.length, f = (r % a + a) % a;
|
|
@@ -23,14 +24,14 @@ const le = (e) => {
|
|
|
23
24
|
max: f,
|
|
24
25
|
disabled: u,
|
|
25
26
|
weekStartsOn: m = 0,
|
|
26
|
-
showOutsideDays:
|
|
27
|
-
className:
|
|
28
|
-
...
|
|
27
|
+
showOutsideDays: q = !0,
|
|
28
|
+
className: F,
|
|
29
|
+
...H
|
|
29
30
|
} = e, {
|
|
30
31
|
selected: fe,
|
|
31
32
|
onSelect: de,
|
|
32
|
-
...
|
|
33
|
-
} =
|
|
33
|
+
...R
|
|
34
|
+
} = H, [E, O] = b(), [K, Y] = b(!0), [d, N] = b(() => r === "single" && e.mode !== "range" && e.mode !== "multiple" && e.selected ? h(e.selected) : r === "range" && e.mode === "range" && e.selected?.from ? h(e.selected.from) : h(/* @__PURE__ */ new Date()));
|
|
34
35
|
p(() => {
|
|
35
36
|
(async () => {
|
|
36
37
|
try {
|
|
@@ -91,8 +92,8 @@ const le = (e) => {
|
|
|
91
92
|
return /* @__PURE__ */ l(re, { ...E });
|
|
92
93
|
if (K)
|
|
93
94
|
return /* @__PURE__ */ l("div", { children: "Loading calendar..." });
|
|
94
|
-
const Z = [o.calendar,
|
|
95
|
-
return /* @__PURE__ */ D("div", { className: Z, ...
|
|
95
|
+
const Z = [o.calendar, F].filter(Boolean).join(" ");
|
|
96
|
+
return /* @__PURE__ */ D("div", { className: Z, ...R, children: [
|
|
96
97
|
/* @__PURE__ */ D("div", { className: o.header, children: [
|
|
97
98
|
/* @__PURE__ */ l(
|
|
98
99
|
T,
|
|
@@ -129,7 +130,7 @@ const le = (e) => {
|
|
|
129
130
|
},
|
|
130
131
|
t
|
|
131
132
|
)),
|
|
132
|
-
G.map((t) => !k(t, d) && !
|
|
133
|
+
G.map((t) => !k(t, d) && !q ? /* @__PURE__ */ l("div", {}, t.toISOString()) : /* @__PURE__ */ l(
|
|
133
134
|
"button",
|
|
134
135
|
{
|
|
135
136
|
type: "button",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),p=require("react"),G=require("../../utils/optionalDeps.cjs"),K=require("./useResolvedChartColors.cjs"),f=require("../MissingDependencyError.cjs"),s=require("./Chart.module.css.cjs");let N,D,L;try{const t=require("recharts");N=t.ResponsiveContainer,D=t.Tooltip,L=t.Legend}catch{}const m=p.createContext({}),g=()=>{const[t,n]=p.useState(),[r,a]=p.useState(!0);return p.useEffect(()=>{(async()=>{try{const o=G.checkComponent("Chart");o instanceof Promise?n(await o):n(o)}catch{n(void 0)}finally{a(!1)}})()},[]),{depError:t,isChecking:r}},E=({config:t,children:n,className:r,style:a,...l})=>{const{depError:o,isChecking:i}=g(),{resolvedConfig:c,resolvedColorVars:d}=K.useResolvedChartColors(t);if(o)return e.jsx(f.MissingDependencyError,{...o});if(i)return e.jsx("div",{children:"Loading chart..."});const u=[s.default.container,r].filter(Boolean).join(" ");return e.jsx(m.Provider,{value:c,children:e.jsx("div",{role:"figure",className:u,style:{...d,...a},...l,children:e.jsx(N,{width:"100%",height:"100%",children:n})})})};E.displayName="ChartContainer";const k=({active:t,payload:n,label:r,indicator:a="dot",hideLabel:l=!1,hideIndicator:o=!1,labelFormatter:i,formatter:c,className:d})=>{const{depError:u,isChecking:x}=g(),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),p=require("react"),G=require("../../utils/optionalDeps.cjs"),K=require("./useResolvedChartColors.cjs"),f=require("../MissingDependencyError.cjs"),s=require("./Chart.module.css.cjs");let N,D,L;if(typeof require<"u")try{const t=require("recharts");N=t.ResponsiveContainer,D=t.Tooltip,L=t.Legend}catch{}const m=p.createContext({}),g=()=>{const[t,n]=p.useState(),[r,a]=p.useState(!0);return p.useEffect(()=>{(async()=>{try{const o=G.checkComponent("Chart");o instanceof Promise?n(await o):n(o)}catch{n(void 0)}finally{a(!1)}})()},[]),{depError:t,isChecking:r}},E=({config:t,children:n,className:r,style:a,...l})=>{const{depError:o,isChecking:i}=g(),{resolvedConfig:c,resolvedColorVars:d}=K.useResolvedChartColors(t);if(o)return e.jsx(f.MissingDependencyError,{...o});if(i)return e.jsx("div",{children:"Loading chart..."});const u=[s.default.container,r].filter(Boolean).join(" ");return e.jsx(m.Provider,{value:c,children:e.jsx("div",{role:"figure",className:u,style:{...d,...a},...l,children:e.jsx(N,{width:"100%",height:"100%",children:n})})})};E.displayName="ChartContainer";const k=({active:t,payload:n,label:r,indicator:a="dot",hideLabel:l=!1,hideIndicator:o=!1,labelFormatter:i,formatter:c,className:d})=>{const{depError:u,isChecking:x}=g(),T=p.useContext(m);if(u)return e.jsx(f.MissingDependencyError,{...u});if(x||!t||!n?.length)return null;const S=[s.default.tooltip,d].filter(Boolean).join(" "),j=i?i(String(r)):r,I={dot:s.default.tooltipDot,line:s.default.tooltipLine,dashed:s.default.tooltipDashed}[a];return e.jsxs("div",{className:S,children:[!l&&j&&e.jsx("div",{className:s.default.tooltipLabel,children:j}),e.jsx("div",{className:s.default.tooltipItems,children:n.map(C=>{const h=String(C.dataKey||C.name),y=T[h],M=y?.label||h,R=c?c(C.value,h):String(C.value),v=C.color||y?.color;return e.jsxs("div",{className:s.default.tooltipItem,children:[!o&&e.jsx("span",{className:I,style:{backgroundColor:v,borderColor:v}}),e.jsx("span",{className:s.default.tooltipName,children:M}),e.jsx("span",{className:s.default.tooltipValue,children:R})]},h)})})]})};k.displayName="ChartTooltipContent";const b=({payload:t,className:n})=>{const{depError:r,isChecking:a}=g(),l=p.useContext(m);if(r)return e.jsx(f.MissingDependencyError,{...r});if(a||!t?.length)return null;const o=[s.default.legend,n].filter(Boolean).join(" ");return e.jsx("div",{className:o,children:t.map(i=>{const c=i.dataKey||i.value,d=l[c],u=d?.label||c,x=i.color||d?.color;return e.jsxs("div",{className:s.default.legendItem,children:[e.jsx("span",{className:s.default.legendDot,style:{backgroundColor:x}}),e.jsx("span",{children:u})]},c)})})};b.displayName="ChartLegendContent";const q=({id:t,color:n,startOpacity:r=.4,endOpacity:a=.05})=>{const{depError:l,isChecking:o}=g();return l?e.jsx(f.MissingDependencyError,{...l}):o?null:e.jsxs("linearGradient",{id:t,x1:"0",y1:"0",x2:"0",y2:"1",children:[e.jsx("stop",{offset:"5%",stopColor:n,stopOpacity:r}),e.jsx("stop",{offset:"95%",stopColor:n,stopOpacity:a})]})};q.displayName="ChartGradient";const B=D||null,O=L||null;exports.ChartContainer=E;exports.ChartGradient=q;exports.ChartLegend=O;exports.ChartLegendContent=b;exports.ChartTooltip=B;exports.ChartTooltipContent=k;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chart.d.ts","sourceRoot":"","sources":["../../../src/components/Chart/Chart.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAyD,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Chart.d.ts","sourceRoot":"","sources":["../../../src/components/Chart/Chart.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAyD,MAAM,OAAO,CAAC;AAsB9E,OAAO,KAAK,EAEV,mBAAmB,EACnB,wBAAwB,EACxB,uBAAuB,EACvB,kBAAkB,EACnB,MAAM,eAAe,CAAC;AAoCvB;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAsCxD,CAAC;AAIF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAmElE,CAAC;AAIF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAyChE,CAAC;AAIF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAwBtD,CAAC;AAMF,eAAO,MAAM,YAAY,KAAkB,CAAC;AAC5C,eAAO,MAAM,WAAW,KAAiB,CAAC"}
|
|
@@ -5,11 +5,12 @@ import { useResolvedChartColors as V } from "./useResolvedChartColors.mjs";
|
|
|
5
5
|
import { MissingDependencyError as f } from "../MissingDependencyError.mjs";
|
|
6
6
|
import r from "./Chart.module.css.mjs";
|
|
7
7
|
let D, E, b;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
}
|
|
8
|
+
if (typeof require < "u")
|
|
9
|
+
try {
|
|
10
|
+
const t = require("recharts");
|
|
11
|
+
D = t.ResponsiveContainer, E = t.Tooltip, b = t.Legend;
|
|
12
|
+
} catch {
|
|
13
|
+
}
|
|
13
14
|
const v = G({}), m = () => {
|
|
14
15
|
const [t, o] = L(), [s, i] = L(!0);
|
|
15
16
|
return B(() => {
|
|
@@ -24,7 +25,7 @@ const v = G({}), m = () => {
|
|
|
24
25
|
}
|
|
25
26
|
})();
|
|
26
27
|
}, []), { depError: t, isChecking: s };
|
|
27
|
-
},
|
|
28
|
+
}, q = ({
|
|
28
29
|
config: t,
|
|
29
30
|
children: o,
|
|
30
31
|
className: s,
|
|
@@ -48,8 +49,8 @@ const v = G({}), m = () => {
|
|
|
48
49
|
}
|
|
49
50
|
) });
|
|
50
51
|
};
|
|
51
|
-
|
|
52
|
-
const
|
|
52
|
+
q.displayName = "ChartContainer";
|
|
53
|
+
const w = ({
|
|
53
54
|
active: t,
|
|
54
55
|
payload: o,
|
|
55
56
|
label: s,
|
|
@@ -87,8 +88,8 @@ const O = ({
|
|
|
87
88
|
}) })
|
|
88
89
|
] });
|
|
89
90
|
};
|
|
90
|
-
|
|
91
|
-
const
|
|
91
|
+
w.displayName = "ChartTooltipContent";
|
|
92
|
+
const O = ({
|
|
92
93
|
payload: t,
|
|
93
94
|
className: o
|
|
94
95
|
}) => {
|
|
@@ -111,8 +112,8 @@ const P = ({
|
|
|
111
112
|
] }, c);
|
|
112
113
|
}) });
|
|
113
114
|
};
|
|
114
|
-
|
|
115
|
-
const
|
|
115
|
+
O.displayName = "ChartLegendContent";
|
|
116
|
+
const P = ({
|
|
116
117
|
id: t,
|
|
117
118
|
color: o,
|
|
118
119
|
startOpacity: s = 0.4,
|
|
@@ -124,13 +125,13 @@ const q = ({
|
|
|
124
125
|
/* @__PURE__ */ e("stop", { offset: "95%", stopColor: o, stopOpacity: i })
|
|
125
126
|
] });
|
|
126
127
|
};
|
|
127
|
-
|
|
128
|
+
P.displayName = "ChartGradient";
|
|
128
129
|
const U = E || null, W = b || null;
|
|
129
130
|
export {
|
|
130
|
-
|
|
131
|
-
|
|
131
|
+
q as ChartContainer,
|
|
132
|
+
P as ChartGradient,
|
|
132
133
|
W as ChartLegend,
|
|
133
|
-
|
|
134
|
+
O as ChartLegendContent,
|
|
134
135
|
U as ChartTooltip,
|
|
135
|
-
|
|
136
|
+
w as ChartTooltipContent
|
|
136
137
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
2
|
-
`),
|
|
3
|
-
`).length,
|
|
4
|
-
`).length-1)},
|
|
5
|
-
`,
|
|
6
|
-
`})}),
|
|
1
|
+
"use strict";var Z=Object.create;var F=Object.defineProperty;var ee=Object.getOwnPropertyDescriptor;var te=Object.getOwnPropertyNames;var re=Object.getPrototypeOf,ne=Object.prototype.hasOwnProperty;var se=(r,n,d,x)=>{if(n&&typeof n=="object"||typeof n=="function")for(let h of te(n))!ne.call(r,h)&&h!==d&&F(r,h,{get:()=>n[h],enumerable:!(x=ee(n,h))||x.enumerable});return r};var O=(r,n,d)=>(d=r!=null?Z(re(r)):{},se(n||!r||!r.__esModule?F(d,"default",{value:r,enumerable:!0}):d,r));Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),i=require("react"),ie=require("../MissingDependencyError.cjs"),ae=require("../../utils/optionalDeps.cjs"),o=require("./CodeEditor.module.css.cjs"),ce=require("../../contexts/ThemeContext.cjs");let k,N,S;Promise.all([import("react-syntax-highlighter"),import("react-syntax-highlighter/dist/esm/styles/prism")]).then(([r,n])=>{k=r.Prism,N=n.oneDark,S=n.oneLight}).catch(()=>{});const V=i.forwardRef(({value:r="",onChange:n,language:d,readOnly:x=!1,showLineNumbers:h=!0,placeholder:D,minRows:y=10,className:_,"aria-label":M,...H},z)=>{const[$,T]=i.useState(),[I,U]=i.useState(!0),[W,E]=i.useState(!1),[b,G]=i.useState(0),[f,J]=i.useState([]),v=i.useRef(null),j=i.useRef(null),w=i.useRef(null),q=i.useRef(null),Q=i.useRef(null),g=i.useRef(null),m=z||Q;i.useEffect(()=>{(async()=>{try{const t=ae.checkComponent("CodeEditor");t instanceof Promise?T(await t):T(t)}catch{T(void 0)}finally{U(!1)}})()},[]),i.useEffect(()=>{if(k&&N&&S){E(!0);return}const e=setTimeout(()=>{E(!0)},0);return()=>clearTimeout(e)},[]),i.useEffect(()=>{if(g.current&&m.current){const{start:e,end:t}=g.current;m.current.setSelectionRange(e,t),g.current=null}}),i.useEffect(()=>{const e=w.current,t=q.current;if(!e||!t)return;const a=()=>{const u=t.clientWidth;if(u<=0)return;e.style.width=`${u}px`;const c=r.split(`
|
|
2
|
+
`),p=Math.max(c.length,y),C=[];for(let R=0;R<p;R++){const Y=c[R]??"";e.textContent=Y||" ",C.push(e.scrollHeight)}J(C)};a();const l=new ResizeObserver(a);return l.observe(t),()=>l.disconnect()},[r,y]),i.useEffect(()=>{const e=a=>{const l=a.target;v.current&&(v.current.scrollTop=l.scrollTop),j.current&&(j.current.scrollTop=l.scrollTop,j.current.scrollLeft=l.scrollLeft)},t=m?.current;if(t)return t.addEventListener("scroll",e),()=>{t.removeEventListener("scroll",e)}},[m]);let A="dark";try{A=ce.useThemeContext().theme}catch{}const X=A==="light"?S:N,K=Math.max(r.split(`
|
|
3
|
+
`).length,y);if($)return s.jsx(ie.MissingDependencyError,{...$});if(I)return s.jsx("div",{children:"Loading code editor..."});if(d&&!W)return s.jsx("div",{children:"Loading code editor..."});const L=e=>{const t=e.value.substring(0,e.selectionStart);G(t.split(`
|
|
4
|
+
`).length-1)},P=e=>{if(e.key==="Tab"){e.preventDefault();const t=e.currentTarget,a=t.selectionStart,l=t.selectionEnd,u=" ";if(a===l){const c=r.substring(0,a)+u+r.substring(l);g.current={start:a+u.length,end:a+u.length},n?.(c)}else if(e.shiftKey){const c=r.lastIndexOf(`
|
|
5
|
+
`,a-1)+1,p=r.substring(c).match(/^ {1,2}/)?.[0]??"";if(p.length>0){const C=r.substring(0,c)+r.substring(c+p.length);g.current={start:Math.max(c,a-p.length),end:Math.max(c,l-p.length)},n?.(C)}}else{const c=r.substring(0,a)+u+r.substring(l);g.current={start:a+u.length,end:a+u.length},n?.(c)}}},B=[o.default.wrapper,_].filter(Boolean).join(" ");return d?s.jsxs("div",{className:B,style:{minHeight:`calc(${y} * 1.6em + 2 * var(--spacing-4))`},children:[s.jsx("div",{ref:w,className:o.default.lineMirror,"aria-hidden":"true"}),h&&s.jsx("div",{ref:v,className:o.default.lineNumbers,"aria-hidden":"true",children:Array.from({length:K}).map((e,t)=>s.jsx("div",{className:o.default.lineNumber,style:f[t]!==void 0?{height:`${f[t]}px`}:void 0,children:t+1},t))}),s.jsxs("div",{ref:q,className:o.default.editorArea,children:[s.jsx("div",{className:o.default.lineHighlight,style:{top:f.length>0?`calc(var(--spacing-4) + ${f.slice(0,b).reduce((e,t)=>e+t,0)}px)`:`calc(var(--spacing-4) + ${(b*1.6).toFixed(2)}em)`,...f[b]!==void 0?{height:`${f[b]}px`}:{}},"aria-hidden":"true"}),s.jsx("div",{ref:j,className:o.default.highlightLayer,"aria-hidden":"true",children:s.jsx(k,{language:d,style:X,customStyle:{margin:0,padding:0,background:"transparent",fontSize:"inherit",lineHeight:"inherit",fontFamily:"inherit",whiteSpace:"pre-wrap",wordBreak:"break-word",overflow:"visible"},codeTagProps:{style:{fontFamily:"inherit",background:"transparent",color:"var(--text-primary)",whiteSpace:"pre-wrap",wordBreak:"break-word"}},children:r+`
|
|
6
|
+
`})}),s.jsx("textarea",{ref:m,className:o.default.textareaOverlay,value:r,onChange:e=>n?.(e.target.value),onKeyDown:P,onKeyUp:e=>L(e.currentTarget),onMouseUp:e=>L(e.currentTarget),onClick:e=>L(e.currentTarget),placeholder:D,readOnly:x,"aria-label":M||"Code editor",spellCheck:"false",...H})]})]}):s.jsxs("div",{className:B,style:{minHeight:`calc(${y} * 1.6em + 2 * var(--spacing-4))`},children:[s.jsx("div",{ref:w,className:o.default.lineMirror,"aria-hidden":"true"}),h&&s.jsx("div",{ref:v,className:o.default.lineNumbers,"aria-hidden":"true",children:Array.from({length:K}).map((e,t)=>s.jsx("div",{className:o.default.lineNumber,style:f[t]!==void 0?{height:`${f[t]}px`}:void 0,children:t+1},t))}),s.jsx("textarea",{ref:m,className:o.default.textarea,value:r,onChange:e=>n?.(e.target.value),onKeyDown:P,placeholder:D,readOnly:x,"aria-label":M||"Code editor",spellCheck:"false",...H})]})});V.displayName="CodeEditor";exports.CodeEditor=V;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodeEditor.d.ts","sourceRoot":"","sources":["../../../src/components/CodeEditor/CodeEditor.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAkD,MAAM,OAAO,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AA+
|
|
1
|
+
{"version":3,"file":"CodeEditor.d.ts","sourceRoot":"","sources":["../../../src/components/CodeEditor/CodeEditor.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAkD,MAAM,OAAO,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AA+B1D;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,UAAU,6FA4XtB,CAAC"}
|
|
@@ -1,155 +1,156 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { forwardRef as
|
|
3
|
-
import { MissingDependencyError as
|
|
4
|
-
import { checkComponent as
|
|
5
|
-
import
|
|
6
|
-
import { useThemeContext as
|
|
7
|
-
let
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
r.default && r.default.registered && r.default.registered("markdown") && !r.default.languages.markdown?.["quoted-string"] && r.default.languages.insertBefore("markdown", "bold", {
|
|
17
|
-
"quoted-string": {
|
|
18
|
-
pattern: /"(?:\\.|[^"\\])*"/,
|
|
19
|
-
greedy: !0,
|
|
20
|
-
alias: "string"
|
|
21
|
-
}
|
|
22
|
-
});
|
|
23
|
-
} catch {
|
|
24
|
-
}
|
|
25
|
-
const te = X(
|
|
1
|
+
import { jsx as i, jsxs as H } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as Z, useState as p, useRef as m, useEffect as x } from "react";
|
|
3
|
+
import { MissingDependencyError as ee } from "../MissingDependencyError.mjs";
|
|
4
|
+
import { checkComponent as te } from "../../utils/optionalDeps.mjs";
|
|
5
|
+
import o from "./CodeEditor.module.css.mjs";
|
|
6
|
+
import { useThemeContext as re } from "../../contexts/ThemeContext.mjs";
|
|
7
|
+
let N, w, C;
|
|
8
|
+
Promise.all([
|
|
9
|
+
import("react-syntax-highlighter"),
|
|
10
|
+
import("react-syntax-highlighter/dist/esm/styles/prism")
|
|
11
|
+
]).then(([r, l]) => {
|
|
12
|
+
N = r.Prism, w = l.oneDark, C = l.oneLight;
|
|
13
|
+
}).catch(() => {
|
|
14
|
+
});
|
|
15
|
+
const ne = Z(
|
|
26
16
|
({
|
|
27
17
|
value: r = "",
|
|
28
18
|
onChange: l,
|
|
29
|
-
language:
|
|
30
|
-
readOnly:
|
|
31
|
-
showLineNumbers:
|
|
32
|
-
placeholder:
|
|
33
|
-
minRows:
|
|
34
|
-
className:
|
|
35
|
-
"aria-label":
|
|
36
|
-
|
|
37
|
-
},
|
|
38
|
-
const [
|
|
39
|
-
|
|
19
|
+
language: T,
|
|
20
|
+
readOnly: $ = !1,
|
|
21
|
+
showLineNumbers: A = !0,
|
|
22
|
+
placeholder: R,
|
|
23
|
+
minRows: g = 10,
|
|
24
|
+
className: O,
|
|
25
|
+
"aria-label": K,
|
|
26
|
+
...B
|
|
27
|
+
}, U) => {
|
|
28
|
+
const [P, L] = p(), [W, _] = p(!0), [q, S] = p(!1), [y, G] = p(0), [d, J] = p([]), v = m(null), b = m(null), D = m(null), j = m(null), Q = m(null), h = m(null), u = U || Q;
|
|
29
|
+
x(() => {
|
|
40
30
|
(async () => {
|
|
41
31
|
try {
|
|
42
|
-
const t =
|
|
43
|
-
t instanceof Promise ?
|
|
32
|
+
const t = te("CodeEditor");
|
|
33
|
+
t instanceof Promise ? L(await t) : L(t);
|
|
44
34
|
} catch {
|
|
45
|
-
|
|
35
|
+
L(void 0);
|
|
46
36
|
} finally {
|
|
47
|
-
|
|
37
|
+
_(!1);
|
|
48
38
|
}
|
|
49
39
|
})();
|
|
50
|
-
}, []),
|
|
40
|
+
}, []), x(() => {
|
|
41
|
+
if (N && w && C) {
|
|
42
|
+
S(!0);
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
const e = setTimeout(() => {
|
|
46
|
+
S(!0);
|
|
47
|
+
}, 0);
|
|
48
|
+
return () => clearTimeout(e);
|
|
49
|
+
}, []), x(() => {
|
|
51
50
|
if (h.current && u.current) {
|
|
52
51
|
const { start: e, end: t } = h.current;
|
|
53
52
|
u.current.setSelectionRange(e, t), h.current = null;
|
|
54
53
|
}
|
|
55
|
-
}),
|
|
56
|
-
const e =
|
|
54
|
+
}), x(() => {
|
|
55
|
+
const e = D.current, t = j.current;
|
|
57
56
|
if (!e || !t) return;
|
|
58
57
|
const n = () => {
|
|
59
|
-
const
|
|
60
|
-
if (
|
|
61
|
-
e.style.width = `${
|
|
62
|
-
const
|
|
63
|
-
`),
|
|
64
|
-
for (let
|
|
65
|
-
const
|
|
66
|
-
e.textContent =
|
|
58
|
+
const a = t.clientWidth;
|
|
59
|
+
if (a <= 0) return;
|
|
60
|
+
e.style.width = `${a}px`;
|
|
61
|
+
const s = r.split(`
|
|
62
|
+
`), f = Math.max(s.length, g), k = [];
|
|
63
|
+
for (let M = 0; M < f; M++) {
|
|
64
|
+
const Y = s[M] ?? "";
|
|
65
|
+
e.textContent = Y || " ", k.push(e.scrollHeight);
|
|
67
66
|
}
|
|
68
|
-
|
|
67
|
+
J(k);
|
|
69
68
|
};
|
|
70
69
|
n();
|
|
71
|
-
const
|
|
72
|
-
return
|
|
73
|
-
}, [r,
|
|
70
|
+
const c = new ResizeObserver(n);
|
|
71
|
+
return c.observe(t), () => c.disconnect();
|
|
72
|
+
}, [r, g]), x(() => {
|
|
74
73
|
const e = (n) => {
|
|
75
|
-
const
|
|
76
|
-
|
|
74
|
+
const c = n.target;
|
|
75
|
+
v.current && (v.current.scrollTop = c.scrollTop), b.current && (b.current.scrollTop = c.scrollTop, b.current.scrollLeft = c.scrollLeft);
|
|
77
76
|
}, t = u?.current;
|
|
78
77
|
if (t)
|
|
79
78
|
return t.addEventListener("scroll", e), () => {
|
|
80
79
|
t.removeEventListener("scroll", e);
|
|
81
80
|
};
|
|
82
81
|
}, [u]);
|
|
83
|
-
let
|
|
82
|
+
let F = "dark";
|
|
84
83
|
try {
|
|
85
|
-
|
|
84
|
+
F = re().theme;
|
|
86
85
|
} catch {
|
|
87
86
|
}
|
|
88
|
-
const
|
|
89
|
-
`).length,
|
|
90
|
-
if (
|
|
91
|
-
return /* @__PURE__ */
|
|
92
|
-
if (
|
|
93
|
-
return /* @__PURE__ */
|
|
94
|
-
|
|
87
|
+
const X = F === "light" ? C : w, V = Math.max(r.split(`
|
|
88
|
+
`).length, g);
|
|
89
|
+
if (P)
|
|
90
|
+
return /* @__PURE__ */ i(ee, { ...P });
|
|
91
|
+
if (W)
|
|
92
|
+
return /* @__PURE__ */ i("div", { children: "Loading code editor..." });
|
|
93
|
+
if (T && !q)
|
|
94
|
+
return /* @__PURE__ */ i("div", { children: "Loading code editor..." });
|
|
95
|
+
const E = (e) => {
|
|
95
96
|
const t = e.value.substring(0, e.selectionStart);
|
|
96
|
-
|
|
97
|
+
G(t.split(`
|
|
97
98
|
`).length - 1);
|
|
98
|
-
},
|
|
99
|
+
}, z = (e) => {
|
|
99
100
|
if (e.key === "Tab") {
|
|
100
101
|
e.preventDefault();
|
|
101
|
-
const t = e.currentTarget, n = t.selectionStart,
|
|
102
|
-
if (n ===
|
|
103
|
-
const
|
|
102
|
+
const t = e.currentTarget, n = t.selectionStart, c = t.selectionEnd, a = " ";
|
|
103
|
+
if (n === c) {
|
|
104
|
+
const s = r.substring(0, n) + a + r.substring(c);
|
|
104
105
|
h.current = {
|
|
105
|
-
start: n +
|
|
106
|
-
end: n +
|
|
107
|
-
}, l?.(
|
|
106
|
+
start: n + a.length,
|
|
107
|
+
end: n + a.length
|
|
108
|
+
}, l?.(s);
|
|
108
109
|
} else if (e.shiftKey) {
|
|
109
|
-
const
|
|
110
|
-
`, n - 1) + 1,
|
|
111
|
-
if (
|
|
112
|
-
const
|
|
110
|
+
const s = r.lastIndexOf(`
|
|
111
|
+
`, n - 1) + 1, f = r.substring(s).match(/^ {1,2}/)?.[0] ?? "";
|
|
112
|
+
if (f.length > 0) {
|
|
113
|
+
const k = r.substring(0, s) + r.substring(s + f.length);
|
|
113
114
|
h.current = {
|
|
114
|
-
start: Math.max(
|
|
115
|
-
end: Math.max(
|
|
116
|
-
}, l?.(
|
|
115
|
+
start: Math.max(s, n - f.length),
|
|
116
|
+
end: Math.max(s, c - f.length)
|
|
117
|
+
}, l?.(k);
|
|
117
118
|
}
|
|
118
119
|
} else {
|
|
119
|
-
const
|
|
120
|
+
const s = r.substring(0, n) + a + r.substring(c);
|
|
120
121
|
h.current = {
|
|
121
|
-
start: n +
|
|
122
|
-
end: n +
|
|
123
|
-
}, l?.(
|
|
122
|
+
start: n + a.length,
|
|
123
|
+
end: n + a.length
|
|
124
|
+
}, l?.(s);
|
|
124
125
|
}
|
|
125
126
|
}
|
|
126
|
-
},
|
|
127
|
-
return
|
|
127
|
+
}, I = [o.wrapper, O].filter(Boolean).join(" ");
|
|
128
|
+
return T ? /* @__PURE__ */ H(
|
|
128
129
|
"div",
|
|
129
130
|
{
|
|
130
|
-
className:
|
|
131
|
+
className: I,
|
|
131
132
|
style: {
|
|
132
|
-
minHeight: `calc(${
|
|
133
|
+
minHeight: `calc(${g} * 1.6em + 2 * var(--spacing-4))`
|
|
133
134
|
},
|
|
134
135
|
children: [
|
|
135
|
-
/* @__PURE__ */
|
|
136
|
+
/* @__PURE__ */ i(
|
|
136
137
|
"div",
|
|
137
138
|
{
|
|
138
|
-
ref:
|
|
139
|
-
className:
|
|
139
|
+
ref: D,
|
|
140
|
+
className: o.lineMirror,
|
|
140
141
|
"aria-hidden": "true"
|
|
141
142
|
}
|
|
142
143
|
),
|
|
143
|
-
|
|
144
|
+
A && /* @__PURE__ */ i(
|
|
144
145
|
"div",
|
|
145
146
|
{
|
|
146
|
-
ref:
|
|
147
|
-
className:
|
|
147
|
+
ref: v,
|
|
148
|
+
className: o.lineNumbers,
|
|
148
149
|
"aria-hidden": "true",
|
|
149
|
-
children: Array.from({ length:
|
|
150
|
+
children: Array.from({ length: V }).map((e, t) => /* @__PURE__ */ i(
|
|
150
151
|
"div",
|
|
151
152
|
{
|
|
152
|
-
className:
|
|
153
|
+
className: o.lineNumber,
|
|
153
154
|
style: d[t] !== void 0 ? { height: `${d[t]}px` } : void 0,
|
|
154
155
|
children: t + 1
|
|
155
156
|
},
|
|
@@ -157,29 +158,29 @@ const te = X(
|
|
|
157
158
|
))
|
|
158
159
|
}
|
|
159
160
|
),
|
|
160
|
-
/* @__PURE__ */
|
|
161
|
-
/* @__PURE__ */
|
|
161
|
+
/* @__PURE__ */ H("div", { ref: j, className: o.editorArea, children: [
|
|
162
|
+
/* @__PURE__ */ i(
|
|
162
163
|
"div",
|
|
163
164
|
{
|
|
164
|
-
className:
|
|
165
|
+
className: o.lineHighlight,
|
|
165
166
|
style: {
|
|
166
|
-
top: d.length > 0 ? `calc(var(--spacing-4) + ${d.slice(0,
|
|
167
|
-
...d[
|
|
167
|
+
top: d.length > 0 ? `calc(var(--spacing-4) + ${d.slice(0, y).reduce((e, t) => e + t, 0)}px)` : `calc(var(--spacing-4) + ${(y * 1.6).toFixed(2)}em)`,
|
|
168
|
+
...d[y] !== void 0 ? { height: `${d[y]}px` } : {}
|
|
168
169
|
},
|
|
169
170
|
"aria-hidden": "true"
|
|
170
171
|
}
|
|
171
172
|
),
|
|
172
|
-
/* @__PURE__ */
|
|
173
|
+
/* @__PURE__ */ i(
|
|
173
174
|
"div",
|
|
174
175
|
{
|
|
175
|
-
ref:
|
|
176
|
-
className:
|
|
176
|
+
ref: b,
|
|
177
|
+
className: o.highlightLayer,
|
|
177
178
|
"aria-hidden": "true",
|
|
178
|
-
children: /* @__PURE__ */
|
|
179
|
-
|
|
179
|
+
children: /* @__PURE__ */ i(
|
|
180
|
+
N,
|
|
180
181
|
{
|
|
181
|
-
language:
|
|
182
|
-
style:
|
|
182
|
+
language: T,
|
|
183
|
+
style: X,
|
|
183
184
|
customStyle: {
|
|
184
185
|
margin: 0,
|
|
185
186
|
padding: 0,
|
|
@@ -206,44 +207,44 @@ const te = X(
|
|
|
206
207
|
)
|
|
207
208
|
}
|
|
208
209
|
),
|
|
209
|
-
/* @__PURE__ */
|
|
210
|
+
/* @__PURE__ */ i(
|
|
210
211
|
"textarea",
|
|
211
212
|
{
|
|
212
213
|
ref: u,
|
|
213
|
-
className:
|
|
214
|
+
className: o.textareaOverlay,
|
|
214
215
|
value: r,
|
|
215
216
|
onChange: (e) => l?.(e.target.value),
|
|
216
|
-
onKeyDown:
|
|
217
|
-
onKeyUp: (e) =>
|
|
218
|
-
onMouseUp: (e) =>
|
|
219
|
-
onClick: (e) =>
|
|
220
|
-
placeholder:
|
|
221
|
-
readOnly:
|
|
222
|
-
"aria-label":
|
|
217
|
+
onKeyDown: z,
|
|
218
|
+
onKeyUp: (e) => E(e.currentTarget),
|
|
219
|
+
onMouseUp: (e) => E(e.currentTarget),
|
|
220
|
+
onClick: (e) => E(e.currentTarget),
|
|
221
|
+
placeholder: R,
|
|
222
|
+
readOnly: $,
|
|
223
|
+
"aria-label": K || "Code editor",
|
|
223
224
|
spellCheck: "false",
|
|
224
|
-
|
|
225
|
+
...B
|
|
225
226
|
}
|
|
226
227
|
)
|
|
227
228
|
] })
|
|
228
229
|
]
|
|
229
230
|
}
|
|
230
|
-
) : /* @__PURE__ */
|
|
231
|
+
) : /* @__PURE__ */ H(
|
|
231
232
|
"div",
|
|
232
233
|
{
|
|
233
|
-
className:
|
|
234
|
-
style: { minHeight: `calc(${
|
|
234
|
+
className: I,
|
|
235
|
+
style: { minHeight: `calc(${g} * 1.6em + 2 * var(--spacing-4))` },
|
|
235
236
|
children: [
|
|
236
|
-
/* @__PURE__ */
|
|
237
|
-
|
|
237
|
+
/* @__PURE__ */ i("div", { ref: D, className: o.lineMirror, "aria-hidden": "true" }),
|
|
238
|
+
A && /* @__PURE__ */ i(
|
|
238
239
|
"div",
|
|
239
240
|
{
|
|
240
|
-
ref:
|
|
241
|
-
className:
|
|
241
|
+
ref: v,
|
|
242
|
+
className: o.lineNumbers,
|
|
242
243
|
"aria-hidden": "true",
|
|
243
|
-
children: Array.from({ length:
|
|
244
|
+
children: Array.from({ length: V }).map((e, t) => /* @__PURE__ */ i(
|
|
244
245
|
"div",
|
|
245
246
|
{
|
|
246
|
-
className:
|
|
247
|
+
className: o.lineNumber,
|
|
247
248
|
style: d[t] !== void 0 ? { height: `${d[t]}px` } : void 0,
|
|
248
249
|
children: t + 1
|
|
249
250
|
},
|
|
@@ -251,19 +252,19 @@ const te = X(
|
|
|
251
252
|
))
|
|
252
253
|
}
|
|
253
254
|
),
|
|
254
|
-
/* @__PURE__ */
|
|
255
|
+
/* @__PURE__ */ i(
|
|
255
256
|
"textarea",
|
|
256
257
|
{
|
|
257
258
|
ref: u,
|
|
258
|
-
className:
|
|
259
|
+
className: o.textarea,
|
|
259
260
|
value: r,
|
|
260
261
|
onChange: (e) => l?.(e.target.value),
|
|
261
|
-
onKeyDown:
|
|
262
|
-
placeholder:
|
|
263
|
-
readOnly:
|
|
264
|
-
"aria-label":
|
|
262
|
+
onKeyDown: z,
|
|
263
|
+
placeholder: R,
|
|
264
|
+
readOnly: $,
|
|
265
|
+
"aria-label": K || "Code editor",
|
|
265
266
|
spellCheck: "false",
|
|
266
|
-
|
|
267
|
+
...B
|
|
267
268
|
}
|
|
268
269
|
)
|
|
269
270
|
]
|
|
@@ -271,7 +272,7 @@ const te = X(
|
|
|
271
272
|
);
|
|
272
273
|
}
|
|
273
274
|
);
|
|
274
|
-
|
|
275
|
+
ne.displayName = "CodeEditor";
|
|
275
276
|
export {
|
|
276
|
-
|
|
277
|
+
ne as CodeEditor
|
|
277
278
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),n=require("react"),x=require("lucide-react"),ie=require("../MissingDependencyError.cjs"),de=require("../../utils/optionalDeps.cjs"),a=require("./CollapsibleFolder.module.css.cjs"),D=require("../Collapsible/Collapsible.cjs"),ce=require("../Badge/Badge.cjs"),w=require("../Dropdown/Dropdown.cjs"),R=require("../Button/Button.cjs");let B;if(typeof require<"u")try{B=require("@dnd-kit/core").useDroppable}catch{}function z(u){const{id:f,title:O,itemCount:v,items:l,renderItem:A,itemLabel:M="Item",itemLabelPlural:P="Items",emptyText:$="No items in this folder",sortLabel:b="Sort",defaultExpanded:K=!0,sortOptions:i,selectedSort:Y,onSortChange:H,onDrop:j,onFolderEdit:C,onFolderDelete:N,onFolderInvite:y,isDropTarget:Z=!1,isDropCompleted:_=!1,onDragEnter:G,onDragLeaveFolder:T,className:J,...Q}=u,[I,p]=n.useState(),[U,V]=n.useState(!0),[g,W]=n.useState(K),[m,d]=n.useState(null),[S,h]=n.useState(!1),L=n.useRef(null),{setNodeRef:X}=B({id:f});if(n.useEffect(()=>{(async()=>{try{const r=de.checkComponent("CollapsibleFolder");r instanceof Promise?p(await r):p(r)}catch{p(void 0)}finally{V(!1)}})()},[]),I)return e.jsx(ie.MissingDependencyError,{...I});if(U)return e.jsx("div",{children:"Loading folder..."});const ee=t=>{if(t.preventDefault(),t.dataTransfer.dropEffect="move",S||(h(!0),G?.()),!g||l.length===0){d(0);return}const r=L.current;if(!r)return;const s=Array.from(r.querySelectorAll("[data-item-id]")),oe=t.clientY;let E=s.length;for(let c=0;c<s.length;c++){const F=s[c];if(!F)continue;const k=F.getBoundingClientRect();if(oe<k.top+k.height/2){E=c;break}}d(E)},te=t=>{t.currentTarget.contains(t.relatedTarget)||(h(!1),d(null),T?.())},ae=t=>{t.preventDefault();const r=t.dataTransfer.getData("text/plain")||t.dataTransfer.getData("itemId");if(r&&j){const s=m??l.length;j(r,f,s)}h(!1),d(null),T?.()},re=(t,r)=>{t.dataTransfer.effectAllowed="move",t.dataTransfer.setData("text/plain",r)},ne=i?.map(t=>({id:t.value,label:t.label,onClick:()=>H?.(t.value)})),q=[...C?[{id:"rename",label:"Rename",onClick:C}]:[],...y?[{id:"invite",label:"Invite participants",onClick:y}]:[],...N?[{id:"delete",label:"Delete folder",danger:!0,onClick:N}]:[]],o=Z||S,se=[a.default.folder,o&&a.default.dropTarget,_&&a.default.dropCompleted,J].filter(Boolean).join(" "),le=v===1?M:P;return e.jsx("div",{ref:X,className:se,"data-folder-id":f,"data-drop-active":o,onDragOver:ee,onDragLeave:te,onDrop:ae,...Q,children:e.jsxs(D.Collapsible,{open:g,onOpenChange:W,children:[e.jsxs("div",{className:a.default.header,children:[e.jsxs(D.Collapsible.Trigger,{className:a.default.trigger,children:[e.jsx(x.ChevronDown,{size:20,className:`${a.default.chevron} ${g?a.default.expanded:""}`}),e.jsx("h2",{className:a.default.title,children:O}),e.jsxs(ce.Badge,{variant:"secondary",className:a.default.badge,children:[v,e.jsxs("span",{className:a.default.badgeLabel,children:[" ",le]})]})]}),e.jsxs("div",{className:a.default.actions,children:[i&&i.length>0&&e.jsx("div",{className:a.default.sortDropdown,children:e.jsx(w.Dropdown,{trigger:e.jsx(R.Button,{variant:"ghost",size:"sm",iconRight:e.jsx(x.ChevronDown,{size:16}),"aria-label":`Sort by ${b}`,children:i.find(t=>t.value===Y)?.label||b}),items:ne,placement:"bottom-end"})}),q.length>0&&e.jsx(w.Dropdown,{trigger:e.jsx(R.Button,{variant:"ghost",size:"sm",iconOnly:!0,icon:e.jsx(x.MoreHorizontal,{size:20}),"aria-label":"Folder actions"}),items:q,placement:"bottom-end"})]})]}),e.jsx(D.Collapsible.Content,{children:e.jsx("div",{className:a.default.content,children:l.length===0?o?e.jsx("div",{className:a.default.emptyDropZone,children:e.jsx("div",{className:a.default.insertionLine,role:"presentation"})}):e.jsx("div",{className:a.default.emptyState,children:e.jsx("p",{className:a.default.emptyText,children:$})}):e.jsxs("div",{className:a.default.grid,ref:L,children:[l.map((t,r)=>e.jsxs(n.Fragment,{children:[o&&m===r&&e.jsx("div",{className:a.default.insertionLine,role:"presentation"}),e.jsx("div",{"data-item-id":t.id,draggable:t.draggable,onDragStart:s=>re(s,t.id),children:A(t,r)})]},t.id)),o&&m===l.length&&e.jsx("div",{className:a.default.insertionLine,role:"presentation"})]})})})]})})}z.displayName="CollapsibleFolder";exports.CollapsibleFolder=z;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CollapsibleFolder.d.ts","sourceRoot":"","sources":["../../../src/components/CollapsibleFolder/CollapsibleFolder.tsx"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"CollapsibleFolder.d.ts","sourceRoot":"","sources":["../../../src/components/CollapsibleFolder/CollapsibleFolder.tsx"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AA0BxE,wBAAgB,iBAAiB,CAC/B,KAAK,SAAS;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,EACjD,KAAK,EAAE,sBAAsB,CAAC,KAAK,CAAC,2CA0SrC;yBA5Se,iBAAiB"}
|
|
@@ -9,18 +9,19 @@ import { Badge as ge } from "../Badge/Badge.mjs";
|
|
|
9
9
|
import { Dropdown as A } from "../Dropdown/Dropdown.mjs";
|
|
10
10
|
import { Button as O } from "../Button/Button.mjs";
|
|
11
11
|
let B;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
}
|
|
12
|
+
if (typeof require < "u")
|
|
13
|
+
try {
|
|
14
|
+
B = require("@dnd-kit/core").useDroppable;
|
|
15
|
+
} catch {
|
|
16
|
+
}
|
|
16
17
|
function he(p) {
|
|
17
18
|
const {
|
|
18
19
|
id: f,
|
|
19
20
|
title: j,
|
|
20
21
|
itemCount: b,
|
|
21
22
|
items: i,
|
|
22
|
-
renderItem:
|
|
23
|
-
itemLabel:
|
|
23
|
+
renderItem: q,
|
|
24
|
+
itemLabel: $ = "Item",
|
|
24
25
|
itemLabelPlural: K = "Items",
|
|
25
26
|
emptyText: M = "No items in this folder",
|
|
26
27
|
sortLabel: N = "Sort",
|
|
@@ -119,7 +120,7 @@ function he(p) {
|
|
|
119
120
|
l && r.dropTarget,
|
|
120
121
|
G && r.dropCompleted,
|
|
121
122
|
Q
|
|
122
|
-
].filter(Boolean).join(" "), ie = b === 1 ?
|
|
123
|
+
].filter(Boolean).join(" "), ie = b === 1 ? $ : K;
|
|
123
124
|
return /* @__PURE__ */ t(
|
|
124
125
|
"div",
|
|
125
126
|
{
|
|
@@ -202,7 +203,7 @@ function he(p) {
|
|
|
202
203
|
"data-item-id": e.id,
|
|
203
204
|
draggable: e.draggable,
|
|
204
205
|
onDragStart: (o) => ne(o, e.id),
|
|
205
|
-
children:
|
|
206
|
+
children: q(e, n)
|
|
206
207
|
}
|
|
207
208
|
)
|
|
208
209
|
] }, e.id)),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),r=require("react"),R=require("lucide-react"),I=require("../MissingDependencyError.cjs"),T=require("../../utils/optionalDeps.cjs"),l=require("./DatePicker.module.css.cjs"),C=require("../Calendar/Calendar.cjs"),$=require("../Popover/Popover.cjs"),z=require("../Button/Button.cjs");let o;try{o=require("date-fns").format}catch{}const S=e=>{const{mode:a="single",min:k,max:v,disabledDates:P,placeholder:m="Pick a date",presets:d,format:c="PPP",disabled:b=!1,triggerClassName:
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),r=require("react"),R=require("lucide-react"),I=require("../MissingDependencyError.cjs"),T=require("../../utils/optionalDeps.cjs"),l=require("./DatePicker.module.css.cjs"),C=require("../Calendar/Calendar.cjs"),$=require("../Popover/Popover.cjs"),z=require("../Button/Button.cjs");let o;if(typeof require<"u")try{o=require("date-fns").format}catch{}const S=e=>{const{mode:a="single",min:k,max:v,disabledDates:P,placeholder:m="Pick a date",presets:d,format:c="PPP",disabled:b=!1,triggerClassName:y,className:D}=e,[g,u]=r.useState(),[q,N]=r.useState(!0),[w,i]=r.useState(!1),h=r.useMemo(()=>a==="single"&&e.mode!=="range"?e.selected?o(e.selected,c):null:a==="range"&&e.mode==="range"&&e.selected?.from?e.selected.to?`${o(e.selected.from,c)} - ${o(e.selected.to,c)}`:o(e.selected.from,c):null,[a,e,c]),j=r.useCallback(s=>{if(a==="single"&&e.mode!=="range"){const n=e.onSelect;n?.(s),i(!1)}else if(a==="range"&&e.mode==="range"){const n=e.onSelect,f=s;n?.(f),f?.from&&f?.to&&i(!1)}},[a,e]),B=r.useCallback(s=>{if(a==="single"&&e.mode!=="range"){const n=e.onSelect;n?.(s.value)}else if(a==="range"&&e.mode==="range"){const n=e.onSelect;n?.(s.value)}i(!1)},[a,e]);if(r.useEffect(()=>{(async()=>{try{const n=T.checkComponent("DatePicker");n instanceof Promise?u(await n):u(n)}catch{u(void 0)}finally{N(!1)}})()},[]),g)return t.jsx(I.MissingDependencyError,{...g});if(q)return t.jsx("div",{children:"Loading date picker..."});const E=[l.default.trigger,y].filter(Boolean).join(" "),M=[l.default.wrapper,D].filter(Boolean).join(" "),x={min:k,max:v,disabled:P},F=t.jsxs("div",{className:l.default.popoverContent,children:[d&&d.length>0&&t.jsx("div",{className:l.default.presets,children:d.map(s=>t.jsx("button",{type:"button",className:l.default.presetButton,onClick:()=>B(s),children:s.label},s.label))}),a==="single"?t.jsx(C.Calendar,{mode:"single",selected:e.mode!=="range"?e.selected:void 0,onSelect:j,...x}):t.jsx(C.Calendar,{mode:"range",selected:e.mode==="range"?e.selected:void 0,onSelect:j,...x})]}),O=t.jsx(z.Button,{variant:"secondary",className:E,disabled:b,"aria-label":m,icon:t.jsx(R.Calendar,{size:16,className:l.default.triggerIcon}),children:h?t.jsx("span",{children:h}):t.jsx("span",{className:l.default.placeholder,children:m})});return t.jsx("div",{className:M,children:t.jsx($.Popover,{trigger:O,content:F,placement:"bottom-start",open:w,onOpenChange:i,showArrow:!1,offset:4,className:l.default.popover})})};S.displayName="DatePicker";exports.DatePicker=S;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePicker.d.ts","sourceRoot":"","sources":["../../../src/components/DatePicker/DatePicker.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAoD,MAAM,OAAO,CAAC;AAWzE,OAAO,KAAK,EAAE,eAAe,EAAoB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"DatePicker.d.ts","sourceRoot":"","sources":["../../../src/components/DatePicker/DatePicker.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAoD,MAAM,OAAO,CAAC;AAWzE,OAAO,KAAK,EAAE,eAAe,EAAoB,MAAM,oBAAoB,CAAC;AAgB5E,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA0LhD,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { jsx as n, jsxs as
|
|
2
|
-
import { useState as f, useMemo as
|
|
1
|
+
import { jsx as n, jsxs as M } from "react/jsx-runtime";
|
|
2
|
+
import { useState as f, useMemo as O, useCallback as k, useEffect as z } from "react";
|
|
3
3
|
import { Calendar as A } from "lucide-react";
|
|
4
4
|
import { MissingDependencyError as L } from "../MissingDependencyError.mjs";
|
|
5
5
|
import { checkComponent as T } from "../../utils/optionalDeps.mjs";
|
|
@@ -8,23 +8,24 @@ import { Calendar as S } from "../Calendar/Calendar.mjs";
|
|
|
8
8
|
import { Popover as G } from "../Popover/Popover.mjs";
|
|
9
9
|
import { Button as H } from "../Button/Button.mjs";
|
|
10
10
|
let s;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
}
|
|
11
|
+
if (typeof require < "u")
|
|
12
|
+
try {
|
|
13
|
+
s = require("date-fns").format;
|
|
14
|
+
} catch {
|
|
15
|
+
}
|
|
15
16
|
const J = (e) => {
|
|
16
17
|
const {
|
|
17
18
|
mode: a = "single",
|
|
18
|
-
min:
|
|
19
|
-
max:
|
|
20
|
-
disabledDates:
|
|
19
|
+
min: y,
|
|
20
|
+
max: N,
|
|
21
|
+
disabledDates: P,
|
|
21
22
|
placeholder: g = "Pick a date",
|
|
22
23
|
presets: i,
|
|
23
24
|
format: o = "PPP",
|
|
24
|
-
disabled:
|
|
25
|
+
disabled: b = !1,
|
|
25
26
|
triggerClassName: D,
|
|
26
27
|
className: w
|
|
27
|
-
} = e, [u, d] = f(), [x, j] = f(!0), [B, c] = f(!1), h =
|
|
28
|
+
} = e, [u, d] = f(), [x, j] = f(!0), [B, c] = f(!1), h = O(() => a === "single" && e.mode !== "range" ? e.selected ? s(e.selected, o) : null : a === "range" && e.mode === "range" && e.selected?.from ? e.selected.to ? `${s(e.selected.from, o)} - ${s(e.selected.to, o)}` : s(e.selected.from, o) : null, [a, e, o]), C = k(
|
|
28
29
|
(r) => {
|
|
29
30
|
if (a === "single" && e.mode !== "range") {
|
|
30
31
|
const t = e.onSelect;
|
|
@@ -64,10 +65,10 @@ const J = (e) => {
|
|
|
64
65
|
if (x)
|
|
65
66
|
return /* @__PURE__ */ n("div", { children: "Loading date picker..." });
|
|
66
67
|
const F = [l.trigger, D].filter(Boolean).join(" "), $ = [l.wrapper, w].filter(Boolean).join(" "), v = {
|
|
67
|
-
min:
|
|
68
|
-
max:
|
|
69
|
-
disabled:
|
|
70
|
-
},
|
|
68
|
+
min: y,
|
|
69
|
+
max: N,
|
|
70
|
+
disabled: P
|
|
71
|
+
}, q = /* @__PURE__ */ M("div", { className: l.popoverContent, children: [
|
|
71
72
|
i && i.length > 0 && /* @__PURE__ */ n("div", { className: l.presets, children: i.map((r) => /* @__PURE__ */ n(
|
|
72
73
|
"button",
|
|
73
74
|
{
|
|
@@ -95,12 +96,12 @@ const J = (e) => {
|
|
|
95
96
|
...v
|
|
96
97
|
}
|
|
97
98
|
)
|
|
98
|
-
] }),
|
|
99
|
+
] }), I = /* @__PURE__ */ n(
|
|
99
100
|
H,
|
|
100
101
|
{
|
|
101
102
|
variant: "secondary",
|
|
102
103
|
className: F,
|
|
103
|
-
disabled:
|
|
104
|
+
disabled: b,
|
|
104
105
|
"aria-label": g,
|
|
105
106
|
icon: /* @__PURE__ */ n(A, { size: 16, className: l.triggerIcon }),
|
|
106
107
|
children: h ? /* @__PURE__ */ n("span", { children: h }) : /* @__PURE__ */ n("span", { className: l.placeholder, children: g })
|
|
@@ -109,8 +110,8 @@ const J = (e) => {
|
|
|
109
110
|
return /* @__PURE__ */ n("div", { className: $, children: /* @__PURE__ */ n(
|
|
110
111
|
G,
|
|
111
112
|
{
|
|
112
|
-
trigger:
|
|
113
|
-
content:
|
|
113
|
+
trigger: I,
|
|
114
|
+
content: q,
|
|
114
115
|
placement: "bottom-start",
|
|
115
116
|
open: B,
|
|
116
117
|
onOpenChange: c,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@orion-ds/react",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.5.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Orion Design System - React component library with 40+ AI-ready components and 9 templates",
|
|
6
6
|
"author": "Orion Design System Team",
|
|
@@ -156,6 +156,12 @@
|
|
|
156
156
|
"remark-gfm": ">=3.0.0"
|
|
157
157
|
},
|
|
158
158
|
"peerDependenciesMeta": {
|
|
159
|
+
"react": {
|
|
160
|
+
"optional": false
|
|
161
|
+
},
|
|
162
|
+
"react-dom": {
|
|
163
|
+
"optional": false
|
|
164
|
+
},
|
|
159
165
|
"lucide-react": {
|
|
160
166
|
"optional": false
|
|
161
167
|
},
|