@orion-ds/react 5.2.0 → 5.3.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/README.md +1 -5
- package/dist/components/Calendar/Calendar.cjs +1 -1
- package/dist/components/Calendar/Calendar.d.ts.map +1 -1
- package/dist/components/Calendar/Calendar.mjs +86 -80
- package/dist/components/Chart/Chart.cjs +1 -1
- package/dist/components/Chart/Chart.d.ts.map +1 -1
- package/dist/components/Chart/Chart.mjs +101 -121
- package/dist/components/CodeEditor/CodeEditor.cjs +6 -6
- package/dist/components/CodeEditor/CodeEditor.d.ts.map +1 -1
- package/dist/components/CodeEditor/CodeEditor.mjs +130 -127
- package/dist/components/CollapsibleFolder/CollapsibleFolder.cjs +1 -1
- package/dist/components/CollapsibleFolder/CollapsibleFolder.d.ts.map +1 -1
- package/dist/components/CollapsibleFolder/CollapsibleFolder.mjs +110 -106
- package/dist/components/DatePicker/DatePicker.cjs +1 -1
- package/dist/components/DatePicker/DatePicker.d.ts.map +1 -1
- package/dist/components/DatePicker/DatePicker.mjs +81 -77
- package/dist/components/ThemeController/ThemeController.cjs +1 -1
- package/dist/components/ThemeController/ThemeController.d.ts.map +1 -1
- package/dist/components/ThemeController/ThemeController.mjs +21 -26
- package/dist/tokens/types.d.ts +77 -33
- package/dist/tokens/types.d.ts.map +1 -1
- package/dist/utils/optionalDeps.cjs +1 -1
- package/dist/utils/optionalDeps.d.ts +24 -6
- package/dist/utils/optionalDeps.d.ts.map +1 -1
- package/dist/utils/optionalDeps.mjs +40 -21
- package/package.json +1 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsxs as a, jsx as r } from "react/jsx-runtime";
|
|
2
|
-
import { useThemeContext as
|
|
3
|
-
import { useTheme as
|
|
2
|
+
import { useThemeContext as S } from "../../contexts/ThemeContext.mjs";
|
|
3
|
+
import { useTheme as w } from "../../hooks/useTheme.mjs";
|
|
4
4
|
import { Switch as v } from "../Switch/Switch.mjs";
|
|
5
|
-
import { Button as
|
|
5
|
+
import { Button as s } from "../Button/Button.mjs";
|
|
6
6
|
import { Card as o } from "../Card/Card.mjs";
|
|
7
7
|
import { Badge as n } from "../Badge/Badge.mjs";
|
|
8
8
|
import { Radio as F } from "../Radio/Radio.mjs";
|
|
@@ -28,11 +28,6 @@ const l = {
|
|
|
28
28
|
radius: "9999px",
|
|
29
29
|
description: "Red-Orange accent • Pill buttons"
|
|
30
30
|
},
|
|
31
|
-
ember: {
|
|
32
|
-
accent: "#F15D22",
|
|
33
|
-
radius: "12px",
|
|
34
|
-
description: "Orange accent • Black buttons • 12px radius"
|
|
35
|
-
},
|
|
36
31
|
lemon: {
|
|
37
32
|
accent: "#72FF43",
|
|
38
33
|
radius: "9999px",
|
|
@@ -40,29 +35,29 @@ const l = {
|
|
|
40
35
|
}
|
|
41
36
|
}, T = ({
|
|
42
37
|
showBrandSelector: p = !0,
|
|
43
|
-
showThemeToggle:
|
|
38
|
+
showThemeToggle: h = !0,
|
|
44
39
|
showSummary: y = !0,
|
|
45
40
|
compact: u = !1,
|
|
46
|
-
className:
|
|
41
|
+
className: g,
|
|
47
42
|
style: x,
|
|
48
43
|
onThemeChange: f,
|
|
49
44
|
onBrandChange: k
|
|
50
45
|
}) => {
|
|
51
|
-
const C =
|
|
46
|
+
const C = w();
|
|
52
47
|
let m = null;
|
|
53
48
|
try {
|
|
54
|
-
m =
|
|
49
|
+
m = S();
|
|
55
50
|
} catch {
|
|
56
51
|
}
|
|
57
|
-
const { theme: t, brand:
|
|
58
|
-
|
|
59
|
-
},
|
|
60
|
-
|
|
52
|
+
const { theme: t, brand: b, setTheme: z, setBrand: B } = m ?? C, i = b, c = (e) => {
|
|
53
|
+
z(e), f?.(e);
|
|
54
|
+
}, d = (e) => {
|
|
55
|
+
B(e), k?.(e);
|
|
61
56
|
};
|
|
62
57
|
return u ? /* @__PURE__ */ a(
|
|
63
58
|
"div",
|
|
64
59
|
{
|
|
65
|
-
className:
|
|
60
|
+
className: g,
|
|
66
61
|
style: {
|
|
67
62
|
display: "flex",
|
|
68
63
|
gap: "var(--spacing-3)",
|
|
@@ -70,7 +65,7 @@ const l = {
|
|
|
70
65
|
flexWrap: "wrap"
|
|
71
66
|
},
|
|
72
67
|
children: [
|
|
73
|
-
|
|
68
|
+
h && /* @__PURE__ */ a(
|
|
74
69
|
"div",
|
|
75
70
|
{
|
|
76
71
|
style: {
|
|
@@ -92,11 +87,11 @@ const l = {
|
|
|
92
87
|
}
|
|
93
88
|
),
|
|
94
89
|
p && /* @__PURE__ */ r("div", { style: { display: "flex", gap: "var(--spacing-2)" }, children: Object.keys(l).map((e) => /* @__PURE__ */ r(
|
|
95
|
-
|
|
90
|
+
s,
|
|
96
91
|
{
|
|
97
92
|
variant: i === e ? "primary" : "secondary",
|
|
98
93
|
size: "sm",
|
|
99
|
-
onClick: () =>
|
|
94
|
+
onClick: () => d(e),
|
|
100
95
|
children: e.charAt(0).toUpperCase() + e.slice(1)
|
|
101
96
|
},
|
|
102
97
|
e
|
|
@@ -107,7 +102,7 @@ const l = {
|
|
|
107
102
|
o,
|
|
108
103
|
{
|
|
109
104
|
variant: "elevated",
|
|
110
|
-
className:
|
|
105
|
+
className: g,
|
|
111
106
|
style: {
|
|
112
107
|
background: "var(--interactive-primary)",
|
|
113
108
|
color: "var(--interactive-primary-text)",
|
|
@@ -150,7 +145,7 @@ const l = {
|
|
|
150
145
|
color: "var(--text-primary)"
|
|
151
146
|
},
|
|
152
147
|
children: /* @__PURE__ */ a("div", { style: { display: "grid", gap: "var(--spacing-6)" }, children: [
|
|
153
|
-
|
|
148
|
+
h && /* @__PURE__ */ a("div", { children: [
|
|
154
149
|
/* @__PURE__ */ a(
|
|
155
150
|
"div",
|
|
156
151
|
{
|
|
@@ -231,7 +226,7 @@ const l = {
|
|
|
231
226
|
},
|
|
232
227
|
children: [
|
|
233
228
|
/* @__PURE__ */ r(
|
|
234
|
-
|
|
229
|
+
s,
|
|
235
230
|
{
|
|
236
231
|
variant: t === "light" ? "primary" : "ghost",
|
|
237
232
|
size: "sm",
|
|
@@ -240,7 +235,7 @@ const l = {
|
|
|
240
235
|
}
|
|
241
236
|
),
|
|
242
237
|
/* @__PURE__ */ r(
|
|
243
|
-
|
|
238
|
+
s,
|
|
244
239
|
{
|
|
245
240
|
variant: t === "dark" ? "primary" : "ghost",
|
|
246
241
|
size: "sm",
|
|
@@ -293,7 +288,7 @@ const l = {
|
|
|
293
288
|
children: Object.keys(l).map((e) => /* @__PURE__ */ a(
|
|
294
289
|
"div",
|
|
295
290
|
{
|
|
296
|
-
onClick: () =>
|
|
291
|
+
onClick: () => d(e),
|
|
297
292
|
style: {
|
|
298
293
|
padding: "var(--spacing-4)",
|
|
299
294
|
background: i === e ? "var(--interactive-primary)" : "var(--surface-subtle)",
|
|
@@ -320,7 +315,7 @@ const l = {
|
|
|
320
315
|
name: "brand",
|
|
321
316
|
value: e,
|
|
322
317
|
checked: i === e,
|
|
323
|
-
onChange: () =>
|
|
318
|
+
onChange: () => d(e),
|
|
324
319
|
label: e.charAt(0).toUpperCase() + e.slice(1),
|
|
325
320
|
size: "lg"
|
|
326
321
|
}
|
package/dist/tokens/types.d.ts
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Orion Design System - TypeScript Type Definitions
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* DYNAMICALLY GENERATED from JSON token files.
|
|
5
5
|
* DO NOT EDIT MANUALLY - Run 'npm run build:tokens' to regenerate.
|
|
6
|
+
*
|
|
7
|
+
* This file uses introspection to match JSON structure exactly,
|
|
8
|
+
* preventing type mismatches when tokens change.
|
|
6
9
|
*/
|
|
7
10
|
export type ColorShades = {
|
|
8
11
|
'50': string;
|
|
@@ -23,6 +26,7 @@ export interface BrandColors {
|
|
|
23
26
|
red: ColorShades;
|
|
24
27
|
orange: ColorShades;
|
|
25
28
|
lemon: ColorShades;
|
|
29
|
+
[key: string]: ColorShades;
|
|
26
30
|
}
|
|
27
31
|
export interface NeutralColors {
|
|
28
32
|
0: string;
|
|
@@ -37,10 +41,15 @@ export interface NeutralColors {
|
|
|
37
41
|
800: string;
|
|
38
42
|
900: string;
|
|
39
43
|
950: string;
|
|
40
|
-
1000
|
|
44
|
+
1000?: string;
|
|
45
|
+
[key: string]: any;
|
|
41
46
|
}
|
|
42
47
|
export interface StatusColors {
|
|
48
|
+
100?: string;
|
|
49
|
+
300?: string;
|
|
43
50
|
500: string;
|
|
51
|
+
700?: string;
|
|
52
|
+
[key: string]: any;
|
|
44
53
|
}
|
|
45
54
|
export interface ColorPrimitives {
|
|
46
55
|
brand: BrandColors;
|
|
@@ -55,14 +64,17 @@ export interface TypographyFamily {
|
|
|
55
64
|
primary: string;
|
|
56
65
|
secondary: string;
|
|
57
66
|
mono: string;
|
|
67
|
+
[key: string]: string;
|
|
58
68
|
}
|
|
59
69
|
export interface TypographyWeight {
|
|
60
70
|
regular: string;
|
|
61
71
|
medium: string;
|
|
62
72
|
bold: string;
|
|
73
|
+
[key: string]: string;
|
|
63
74
|
}
|
|
64
75
|
export interface TypographySize {
|
|
65
76
|
10: string;
|
|
77
|
+
11: string;
|
|
66
78
|
12: string;
|
|
67
79
|
13: string;
|
|
68
80
|
14: string;
|
|
@@ -75,6 +87,7 @@ export interface TypographySize {
|
|
|
75
87
|
64: string;
|
|
76
88
|
80: string;
|
|
77
89
|
96: string;
|
|
90
|
+
[key: string]: any;
|
|
78
91
|
}
|
|
79
92
|
export interface TypographyLineHeight {
|
|
80
93
|
none: string;
|
|
@@ -83,49 +96,56 @@ export interface TypographyLineHeight {
|
|
|
83
96
|
normal: string;
|
|
84
97
|
relaxed: string;
|
|
85
98
|
loose: string;
|
|
99
|
+
[key: string]: string;
|
|
86
100
|
}
|
|
87
101
|
export interface TypographyPrimitives {
|
|
88
102
|
family: TypographyFamily;
|
|
89
103
|
weight: TypographyWeight;
|
|
90
104
|
size: TypographySize;
|
|
91
105
|
lineHeight: TypographyLineHeight;
|
|
106
|
+
[key: string]: any;
|
|
92
107
|
}
|
|
93
108
|
export interface SpacingPrimitives {
|
|
94
|
-
0: string;
|
|
95
|
-
|
|
109
|
+
'0': string;
|
|
110
|
+
'1': string;
|
|
111
|
+
'2': string;
|
|
112
|
+
'3': string;
|
|
113
|
+
'4': string;
|
|
114
|
+
'5': string;
|
|
96
115
|
'05': string;
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
20: string;
|
|
111
|
-
24: string;
|
|
112
|
-
32: string;
|
|
116
|
+
'6': string;
|
|
117
|
+
'7': string;
|
|
118
|
+
'8': string;
|
|
119
|
+
'9': string;
|
|
120
|
+
'10': string;
|
|
121
|
+
'11': string;
|
|
122
|
+
'12': string;
|
|
123
|
+
'16': string;
|
|
124
|
+
'20': string;
|
|
125
|
+
'24': string;
|
|
126
|
+
'32': string;
|
|
127
|
+
'px': string;
|
|
128
|
+
[key: string]: any;
|
|
113
129
|
}
|
|
114
130
|
export interface RadiusPrimitives {
|
|
115
|
-
0: string;
|
|
116
|
-
|
|
117
|
-
|
|
131
|
+
'0': string;
|
|
132
|
+
'2xl': string;
|
|
133
|
+
'3xl'?: string;
|
|
134
|
+
full: string;
|
|
118
135
|
lg: string;
|
|
119
136
|
'lg-2': string;
|
|
137
|
+
md: string;
|
|
138
|
+
sm: string;
|
|
120
139
|
xl: string;
|
|
121
|
-
|
|
122
|
-
|
|
140
|
+
xs?: string;
|
|
141
|
+
[key: string]: any;
|
|
123
142
|
}
|
|
124
143
|
export interface BlurPrimitives {
|
|
125
144
|
sm: string;
|
|
126
145
|
md: string;
|
|
127
146
|
lg: string;
|
|
128
147
|
xl: string;
|
|
148
|
+
[key: string]: string;
|
|
129
149
|
}
|
|
130
150
|
export interface IconPrimitives {
|
|
131
151
|
library: string;
|
|
@@ -135,8 +155,10 @@ export interface IconPrimitives {
|
|
|
135
155
|
md: string;
|
|
136
156
|
lg: string;
|
|
137
157
|
xl: string;
|
|
158
|
+
[key: string]: string;
|
|
138
159
|
};
|
|
139
160
|
stroke: string;
|
|
161
|
+
[key: string]: any;
|
|
140
162
|
}
|
|
141
163
|
export interface Primitives {
|
|
142
164
|
project?: {
|
|
@@ -147,8 +169,11 @@ export interface Primitives {
|
|
|
147
169
|
typography: TypographyPrimitives;
|
|
148
170
|
spacing: SpacingPrimitives;
|
|
149
171
|
radius: RadiusPrimitives;
|
|
172
|
+
radiusScale?: Record<string, any>;
|
|
150
173
|
blur: BlurPrimitives;
|
|
151
174
|
icon: IconPrimitives;
|
|
175
|
+
zIndex?: Record<string, any>;
|
|
176
|
+
transition?: Record<string, any>;
|
|
152
177
|
}
|
|
153
178
|
export interface SurfaceSemantics {
|
|
154
179
|
base: string;
|
|
@@ -159,6 +184,13 @@ export interface SurfaceSemantics {
|
|
|
159
184
|
glass: string;
|
|
160
185
|
sunken: string;
|
|
161
186
|
overlay: string;
|
|
187
|
+
[key: string]: string;
|
|
188
|
+
}
|
|
189
|
+
export interface TextOnBrandSemantics {
|
|
190
|
+
primary: string;
|
|
191
|
+
secondary: string;
|
|
192
|
+
tertiary: string;
|
|
193
|
+
[key: string]: string;
|
|
162
194
|
}
|
|
163
195
|
export interface TextSemantics {
|
|
164
196
|
primary: string;
|
|
@@ -166,35 +198,43 @@ export interface TextSemantics {
|
|
|
166
198
|
tertiary: string;
|
|
167
199
|
inverse: string;
|
|
168
200
|
brand: string;
|
|
201
|
+
'on-brand'?: TextOnBrandSemantics;
|
|
202
|
+
[key: string]: any;
|
|
169
203
|
}
|
|
170
204
|
export interface BorderSemantics {
|
|
171
205
|
subtle: string;
|
|
172
206
|
strong: string;
|
|
173
207
|
interactive: string;
|
|
208
|
+
[key: string]: string;
|
|
174
209
|
}
|
|
175
210
|
export interface InteractivePrimarySemantics {
|
|
176
211
|
default: string;
|
|
177
212
|
hover: string;
|
|
178
213
|
text: string;
|
|
214
|
+
[key: string]: string;
|
|
179
215
|
}
|
|
180
216
|
export interface InteractiveSecondarySemantics {
|
|
181
217
|
default: string;
|
|
182
218
|
hover: string;
|
|
183
219
|
text: string;
|
|
220
|
+
[key: string]: string;
|
|
184
221
|
}
|
|
185
222
|
export interface InteractiveGhostSemantics {
|
|
186
223
|
hover: string;
|
|
224
|
+
[key: string]: string;
|
|
187
225
|
}
|
|
188
226
|
export interface InteractiveSemantics {
|
|
189
227
|
primary: InteractivePrimarySemantics;
|
|
190
228
|
secondary: InteractiveSecondarySemantics;
|
|
191
229
|
ghost: InteractiveGhostSemantics;
|
|
230
|
+
[key: string]: any;
|
|
192
231
|
}
|
|
193
232
|
export interface StatusSemantics {
|
|
194
233
|
error: string;
|
|
195
234
|
success: string;
|
|
196
235
|
warning: string;
|
|
197
236
|
info: string;
|
|
237
|
+
[key: string]: string;
|
|
198
238
|
}
|
|
199
239
|
export interface SoftSemantics {
|
|
200
240
|
brand: string;
|
|
@@ -215,6 +255,8 @@ export interface SemanticTokens {
|
|
|
215
255
|
interactive: InteractiveSemantics;
|
|
216
256
|
status: StatusSemantics;
|
|
217
257
|
soft: SoftSemantics;
|
|
258
|
+
alert?: Record<string, any>;
|
|
259
|
+
chart?: Record<string, any>;
|
|
218
260
|
focus?: {
|
|
219
261
|
ring: string;
|
|
220
262
|
};
|
|
@@ -244,7 +286,7 @@ export interface BrandConfig {
|
|
|
244
286
|
};
|
|
245
287
|
geometry: {
|
|
246
288
|
radiusControl: string;
|
|
247
|
-
radiusContainer
|
|
289
|
+
radiusContainer?: string;
|
|
248
290
|
buttonStyle: string;
|
|
249
291
|
};
|
|
250
292
|
semantic: {
|
|
@@ -264,15 +306,16 @@ export interface BrandConfig {
|
|
|
264
306
|
css: string;
|
|
265
307
|
attribute: string | null;
|
|
266
308
|
};
|
|
309
|
+
[key: string]: any;
|
|
267
310
|
}
|
|
268
|
-
export type ColorTokenPath = `color.brand
|
|
269
|
-
export type TypographyTokenPath = `typography.family
|
|
270
|
-
export type SpacingTokenPath = `spacing
|
|
271
|
-
export type RadiusTokenPath = `radius
|
|
272
|
-
export type BlurTokenPath = `blur
|
|
311
|
+
export type ColorTokenPath = `color.brand.\${Brand}.\${keyof ColorShades}` | `color.neutral.\${keyof NeutralColors}` | `color.neutralPure.\${keyof NeutralColors}` | 'color.error.500' | 'color.success.500' | 'color.warning.500' | 'color.info.500';
|
|
312
|
+
export type TypographyTokenPath = `typography.family.\${keyof TypographyFamily}` | `typography.weight.\${keyof TypographyWeight}` | `typography.size.\${keyof TypographySize}` | `typography.lineHeight.\${keyof TypographyLineHeight}`;
|
|
313
|
+
export type SpacingTokenPath = `spacing.\${keyof SpacingPrimitives}`;
|
|
314
|
+
export type RadiusTokenPath = `radius.\${keyof RadiusPrimitives}`;
|
|
315
|
+
export type BlurTokenPath = `blur.\${keyof BlurPrimitives}`;
|
|
273
316
|
export type TokenPath = ColorTokenPath | TypographyTokenPath | SpacingTokenPath | RadiusTokenPath | BlurTokenPath;
|
|
274
|
-
export type SemanticTokenPath = `surface
|
|
275
|
-
export type CSSVariableName =
|
|
317
|
+
export type SemanticTokenPath = `surface.\${keyof SurfaceSemantics}` | `text.\${keyof TextSemantics}` | `border.\${keyof BorderSemantics}` | `interactive.primary.\${keyof InteractivePrimarySemantics}` | `interactive.secondary.\${keyof InteractiveSecondarySemantics}` | `interactive.ghost.\${keyof InteractiveGhostSemantics}` | `status.\${keyof StatusSemantics}` | `soft.\${keyof SoftSemantics}`;
|
|
318
|
+
export type CSSVariableName = `--\${string}`;
|
|
276
319
|
export interface CSSVariableMap {
|
|
277
320
|
'--surface-base': string;
|
|
278
321
|
'--surface-subtle': string;
|
|
@@ -318,6 +361,7 @@ export interface CSSVariableMap {
|
|
|
318
361
|
'--radius-2xl': string;
|
|
319
362
|
'--radius-full': string;
|
|
320
363
|
'--radius-control': string;
|
|
364
|
+
[key: string]: any;
|
|
321
365
|
}
|
|
322
366
|
/** Get nested property type from dot notation path */
|
|
323
367
|
export type GetTokenValue<T, Path extends string> = Path extends `${infer Key}.${infer Rest}` ? Key extends keyof T ? GetTokenValue<T[Key], Rest> : never : Path extends keyof T ? T[Path] : never;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tokens/types.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tokens/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=new Map,a=new Map;async function d(t){const e=Array.isArray(t)?t:[t];return(await Promise.all(e.map(async r=>{if(o.has(r))return o.get(r)??!1;if(a.has(r))return a.get(r);const n=(async()=>{try{return await import(r),o.set(r,!0),!0}catch{return o.set(r,!1),!1}})();a.set(r,n);const c=await n;return a.delete(r),c}))).every(Boolean)}function p(t){return(Array.isArray(t)?t:[t]).every(s=>o.has(s)?o.get(s)??!1:!0)}async function i(t,e,s){const n=(Array.isArray(e)?e:[e]).join(" ");return{available:await d(e),componentName:t,depName:e,installCommand:`npm install ${n}`,pnpmCommand:`pnpm add ${n}`,docsUrl:s}}const l={Chart:{depName:"recharts",docsUrl:"https://docs.orion-ds.dev/components/chart"},Calendar:{depName:"date-fns",docsUrl:"https://docs.orion-ds.dev/components/calendar"},DatePicker:{depName:"date-fns",docsUrl:"https://docs.orion-ds.dev/components/date-picker"},CodeEditor:{depName:"react-syntax-highlighter",docsUrl:"https://docs.orion-ds.dev/components/code-editor"},Chat:{depName:["react-markdown","remark-gfm"],docsUrl:"https://docs.orion-ds.dev/components/chat"},CollapsibleFolder:{depName:["@dnd-kit/core","@dnd-kit/sortable","@dnd-kit/utilities"],docsUrl:"https://docs.orion-ds.dev/components/collapsible-folder"}};function u(t){const e=l[t],s=Array.isArray(e.depName)?[...e.depName]:e.depName;if(!p(s))return i(t,s,e.docsUrl).then(n=>n.available?void 0:n)}exports.OPTIONAL_DEP_COMPONENTS=l;exports.checkComponent=u;exports.getOptionalDepError=i;
|
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Optional Dependency Error Handling
|
|
2
|
+
* Optional Dependency Error Handling (ESM-Safe v5.3.1+)
|
|
3
3
|
*
|
|
4
4
|
* Provides helpful error messages when users try to use components
|
|
5
5
|
* that require optional peer dependencies (recharts, date-fns, etc.)
|
|
6
6
|
* without having them installed.
|
|
7
|
+
*
|
|
8
|
+
* Uses async import() instead of require() for ESM spec compliance.
|
|
9
|
+
* Results are cached for performance (cache hit = O(1) lookup).
|
|
10
|
+
*
|
|
11
|
+
* @see V5_3_0_ESM_REQUIRE_BUG_ANALYSIS.md for RCA of v5.3.0 regression
|
|
7
12
|
*/
|
|
8
13
|
/**
|
|
9
14
|
* Metadata for an optional dependency error
|
|
@@ -17,13 +22,14 @@ export interface OptionalDepError {
|
|
|
17
22
|
docsUrl: string;
|
|
18
23
|
}
|
|
19
24
|
/**
|
|
20
|
-
* Get error information for a missing optional dependency
|
|
25
|
+
* Get error information for a missing optional dependency (async)
|
|
26
|
+
*
|
|
21
27
|
* @param componentName - Name of the Orion component
|
|
22
28
|
* @param depName - NPM package name or array of package names
|
|
23
29
|
* @param docsUrl - URL to component documentation
|
|
24
|
-
* @returns OptionalDepError with installation instructions
|
|
30
|
+
* @returns Promise<OptionalDepError> with installation instructions
|
|
25
31
|
*/
|
|
26
|
-
export declare function getOptionalDepError(componentName: string, depName: string | string[], docsUrl: string): OptionalDepError
|
|
32
|
+
export declare function getOptionalDepError(componentName: string, depName: string | string[], docsUrl: string): Promise<OptionalDepError>;
|
|
27
33
|
/**
|
|
28
34
|
* Registry of all optional-dependency components
|
|
29
35
|
* Used to validate component registrations
|
|
@@ -56,8 +62,20 @@ export declare const OPTIONAL_DEP_COMPONENTS: {
|
|
|
56
62
|
};
|
|
57
63
|
/**
|
|
58
64
|
* Type-safe way to get optional dependency info
|
|
65
|
+
*
|
|
66
|
+
* Returns synchronously if result is cached (dependency already checked).
|
|
67
|
+
* Returns Promise if result needs async validation.
|
|
68
|
+
*
|
|
59
69
|
* @param componentName - One of the optional-dependency component names
|
|
60
|
-
* @returns Error info if dependency is missing, undefined if available
|
|
70
|
+
* @returns Error info if dependency is missing, undefined if available,
|
|
71
|
+
* or Promise for async validation
|
|
72
|
+
*
|
|
73
|
+
* @example
|
|
74
|
+
* // Sync usage (cache hit or assumed available)
|
|
75
|
+
* const error = checkComponent('Calendar');
|
|
76
|
+
* if (error instanceof Promise) {
|
|
77
|
+
* const resolvedError = await error;
|
|
78
|
+
* }
|
|
61
79
|
*/
|
|
62
|
-
export declare function checkComponent(componentName: keyof typeof OPTIONAL_DEP_COMPONENTS): OptionalDepError | undefined;
|
|
80
|
+
export declare function checkComponent(componentName: keyof typeof OPTIONAL_DEP_COMPONENTS): OptionalDepError | Promise<OptionalDepError | undefined> | undefined;
|
|
63
81
|
//# sourceMappingURL=optionalDeps.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"optionalDeps.d.ts","sourceRoot":"","sources":["../../src/utils/optionalDeps.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"optionalDeps.d.ts","sourceRoot":"","sources":["../../src/utils/optionalDeps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAyFD;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,EAC1B,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,gBAAgB,CAAC,CAa3B;AAED;;;GAGG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;CAyB1B,CAAC;AAEX;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,cAAc,CAC5B,aAAa,EAAE,MAAM,OAAO,uBAAuB,GAClD,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,GAAG,SAAS,CAiBtE"}
|
|
@@ -1,24 +1,40 @@
|
|
|
1
|
+
const o = /* @__PURE__ */ new Map(), a = /* @__PURE__ */ new Map();
|
|
2
|
+
async function i(e) {
|
|
3
|
+
const t = Array.isArray(e) ? e : [e];
|
|
4
|
+
return (await Promise.all(
|
|
5
|
+
t.map(async (s) => {
|
|
6
|
+
if (o.has(s))
|
|
7
|
+
return o.get(s) ?? !1;
|
|
8
|
+
if (a.has(s))
|
|
9
|
+
return a.get(s);
|
|
10
|
+
const n = (async () => {
|
|
11
|
+
try {
|
|
12
|
+
return await import(s), o.set(s, !0), !0;
|
|
13
|
+
} catch {
|
|
14
|
+
return o.set(s, !1), !1;
|
|
15
|
+
}
|
|
16
|
+
})();
|
|
17
|
+
a.set(s, n);
|
|
18
|
+
const c = await n;
|
|
19
|
+
return a.delete(s), c;
|
|
20
|
+
})
|
|
21
|
+
)).every(Boolean);
|
|
22
|
+
}
|
|
1
23
|
function d(e) {
|
|
2
|
-
return (Array.isArray(e) ? e : [e]).every((
|
|
3
|
-
try {
|
|
4
|
-
return require(o), !0;
|
|
5
|
-
} catch {
|
|
6
|
-
return !1;
|
|
7
|
-
}
|
|
8
|
-
});
|
|
24
|
+
return (Array.isArray(e) ? e : [e]).every((r) => o.has(r) ? o.get(r) ?? !1 : !0);
|
|
9
25
|
}
|
|
10
|
-
function
|
|
11
|
-
const
|
|
26
|
+
async function l(e, t, r) {
|
|
27
|
+
const n = (Array.isArray(t) ? t : [t]).join(" ");
|
|
12
28
|
return {
|
|
13
|
-
available:
|
|
29
|
+
available: await i(t),
|
|
14
30
|
componentName: e,
|
|
15
|
-
depName:
|
|
16
|
-
installCommand: `npm install ${
|
|
17
|
-
pnpmCommand: `pnpm add ${
|
|
18
|
-
docsUrl:
|
|
31
|
+
depName: t,
|
|
32
|
+
installCommand: `npm install ${n}`,
|
|
33
|
+
pnpmCommand: `pnpm add ${n}`,
|
|
34
|
+
docsUrl: r
|
|
19
35
|
};
|
|
20
36
|
}
|
|
21
|
-
const
|
|
37
|
+
const p = {
|
|
22
38
|
Chart: {
|
|
23
39
|
depName: "recharts",
|
|
24
40
|
docsUrl: "https://docs.orion-ds.dev/components/chart"
|
|
@@ -44,12 +60,15 @@ const a = {
|
|
|
44
60
|
docsUrl: "https://docs.orion-ds.dev/components/collapsible-folder"
|
|
45
61
|
}
|
|
46
62
|
};
|
|
47
|
-
function
|
|
48
|
-
const
|
|
49
|
-
|
|
63
|
+
function h(e) {
|
|
64
|
+
const t = p[e], r = Array.isArray(t.depName) ? [...t.depName] : t.depName;
|
|
65
|
+
if (!d(r))
|
|
66
|
+
return l(e, r, t.docsUrl).then(
|
|
67
|
+
(n) => n.available ? void 0 : n
|
|
68
|
+
);
|
|
50
69
|
}
|
|
51
70
|
export {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
71
|
+
p as OPTIONAL_DEP_COMPONENTS,
|
|
72
|
+
h as checkComponent,
|
|
73
|
+
l as getOptionalDepError
|
|
55
74
|
};
|
package/package.json
CHANGED