@jirawatpyk/aura-react 4.12.0 → 4.14.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/README.md +48 -16
- package/dist/aura.bundle.js +966 -437
- package/dist/cjs/index.cjs +965 -436
- package/dist/esm/Command.js +215 -0
- package/dist/esm/DataTable.js +11 -1
- package/dist/esm/Dialog.js +5 -3
- package/dist/esm/FilterBar.js +112 -0
- package/dist/esm/FormErrorSummary.js +76 -0
- package/dist/esm/PasswordField.js +38 -0
- package/dist/esm/Popover.js +3 -1
- package/dist/esm/Toaster.js +60 -14
- package/dist/esm/index.js +10 -1
- package/dist/esm/locale.js +50 -3
- package/dist/index.d.ts +119 -1
- package/dist/styles.css +124 -8
- package/package.json +1 -1
package/dist/aura.bundle.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* @ds-bundle: {"format":4,"namespace":"Aura","components":[{"name":"Icon"},{"name":"Button"},{"name":"IconButton"},{"name":"Menu"},{"name":"DropdownMenu"},{"name":"Checkbox"},{"name":"StatusPill"},{"name":"TextField"},{"name":"Textarea"},{"name":"Select"},{"name":"RadioGroup"},{"name":"Switch"},{"name":"Combobox"},{"name":"DatePicker"},{"name":"DateRangePicker"},{"name":"Calendar"},{"name":"Alert"},{"name":"Toaster"},{"name":"Tooltip"},{"name":"Dialog"},{"name":"Drawer"},{"name":"DataTable"},{"name":"Card"},{"name":"Tabs"},{"name":"SideNav"},{"name":"Breadcrumb"},{"name":"Avatar"},{"name":"Stack"},{"name":"Grid"},{"name":"Container"},{"name":"AppShell"},{"name":"Surface"},{"name":"Stat"},{"name":"TimePicker"},{"name":"FileUpload"},{"name":"ColorSchemeScript"},{"name":"ColorSchemeToggle"},{"name":"Badge"},{"name":"Tag"},{"name":"Progress"},{"name":"Skeleton"},{"name":"EmptyState"},{"name":"Pagination"},{"name":"Accordion"},{"name":"Popover"},{"name":"NumberField"},{"name":"Stepper"},{"name":"SegmentedControl"}]} */
|
|
1
|
+
/* @ds-bundle: {"format":4,"namespace":"Aura","components":[{"name":"Icon"},{"name":"Button"},{"name":"IconButton"},{"name":"Menu"},{"name":"DropdownMenu"},{"name":"Checkbox"},{"name":"StatusPill"},{"name":"TextField"},{"name":"Textarea"},{"name":"Select"},{"name":"RadioGroup"},{"name":"Switch"},{"name":"Combobox"},{"name":"DatePicker"},{"name":"DateRangePicker"},{"name":"Calendar"},{"name":"Alert"},{"name":"Toaster"},{"name":"PasswordField"},{"name":"FormErrorSummary"},{"name":"FilterBar"},{"name":"Command"},{"name":"Tooltip"},{"name":"Dialog"},{"name":"Drawer"},{"name":"DataTable"},{"name":"Card"},{"name":"Tabs"},{"name":"SideNav"},{"name":"Breadcrumb"},{"name":"Avatar"},{"name":"Stack"},{"name":"Grid"},{"name":"Container"},{"name":"AppShell"},{"name":"Surface"},{"name":"Stat"},{"name":"TimePicker"},{"name":"FileUpload"},{"name":"ColorSchemeScript"},{"name":"ColorSchemeToggle"},{"name":"Badge"},{"name":"Tag"},{"name":"Progress"},{"name":"Skeleton"},{"name":"EmptyState"},{"name":"Pagination"},{"name":"Accordion"},{"name":"Popover"},{"name":"NumberField"},{"name":"Stepper"},{"name":"SegmentedControl"}]} */
|
|
2
2
|
window.Aura = (() => {
|
|
3
3
|
var __create = Object.create;
|
|
4
4
|
var __defProp = Object.defineProperty;
|
|
@@ -64,6 +64,7 @@ window.Aura = (() => {
|
|
|
64
64
|
ColorSchemeScript: () => ColorSchemeScript,
|
|
65
65
|
ColorSchemeToggle: () => ColorSchemeToggle,
|
|
66
66
|
Combobox: () => Combobox,
|
|
67
|
+
Command: () => Command,
|
|
67
68
|
Container: () => Container,
|
|
68
69
|
DataTable: () => DataTable,
|
|
69
70
|
DatePicker: () => DatePicker,
|
|
@@ -74,6 +75,8 @@ window.Aura = (() => {
|
|
|
74
75
|
EmptyState: () => EmptyState,
|
|
75
76
|
Field: () => Field,
|
|
76
77
|
FileUpload: () => FileUpload,
|
|
78
|
+
FilterBar: () => FilterBar,
|
|
79
|
+
FormErrorSummary: () => FormErrorSummary,
|
|
77
80
|
Grid: () => Grid,
|
|
78
81
|
ICONS: () => ICONS,
|
|
79
82
|
Icon: () => Icon,
|
|
@@ -81,6 +84,7 @@ window.Aura = (() => {
|
|
|
81
84
|
Menu: () => Menu,
|
|
82
85
|
NumberField: () => NumberField,
|
|
83
86
|
Pagination: () => Pagination,
|
|
87
|
+
PasswordField: () => PasswordField,
|
|
84
88
|
Popover: () => Popover,
|
|
85
89
|
Progress: () => Progress,
|
|
86
90
|
RadioGroup: () => RadioGroup,
|
|
@@ -119,6 +123,7 @@ window.Aura = (() => {
|
|
|
119
123
|
useAuraLocale: () => useAuraLocale,
|
|
120
124
|
useBreakpoint: () => useBreakpoint,
|
|
121
125
|
useColorScheme: () => useColorScheme,
|
|
126
|
+
useDensity: () => useDensity,
|
|
122
127
|
useFormatDate: () => useFormatDate,
|
|
123
128
|
useResponsive: () => useResponsive
|
|
124
129
|
});
|
|
@@ -273,6 +278,19 @@ window.Aura = (() => {
|
|
|
273
278
|
close: "Close",
|
|
274
279
|
dismiss: "Dismiss",
|
|
275
280
|
dismissToast: "Dismiss notification",
|
|
281
|
+
showPassword: "Show password",
|
|
282
|
+
filters: "Filters",
|
|
283
|
+
search: "Search",
|
|
284
|
+
clearFilters: "Clear all",
|
|
285
|
+
results: function(n2) {
|
|
286
|
+
return n2 === 1 ? "1 result" : n2.toLocaleString("en") + " results";
|
|
287
|
+
},
|
|
288
|
+
commandMenu: "Command menu",
|
|
289
|
+
commandPlaceholder: "Type a command or search\u2026",
|
|
290
|
+
commandHint: "\u2191\u2193 to move \xB7 Enter to open \xB7 Esc to close",
|
|
291
|
+
errorSummary: function(n2) {
|
|
292
|
+
return n2 === 1 ? "Fix 1 field to continue" : "Fix " + n2 + " fields to continue";
|
|
293
|
+
},
|
|
276
294
|
notifications: "Notifications",
|
|
277
295
|
mainNav: "Main",
|
|
278
296
|
breadcrumb: "Breadcrumb",
|
|
@@ -371,6 +389,19 @@ window.Aura = (() => {
|
|
|
371
389
|
close: "\u0E1B\u0E34\u0E14",
|
|
372
390
|
dismiss: "\u0E1B\u0E34\u0E14",
|
|
373
391
|
dismissToast: "\u0E1B\u0E34\u0E14\u0E01\u0E32\u0E23\u0E41\u0E08\u0E49\u0E07\u0E40\u0E15\u0E37\u0E2D\u0E19",
|
|
392
|
+
showPassword: "\u0E41\u0E2A\u0E14\u0E07\u0E23\u0E2B\u0E31\u0E2A\u0E1C\u0E48\u0E32\u0E19",
|
|
393
|
+
filters: "\u0E15\u0E31\u0E27\u0E01\u0E23\u0E2D\u0E07",
|
|
394
|
+
search: "\u0E04\u0E49\u0E19\u0E2B\u0E32",
|
|
395
|
+
clearFilters: "\u0E25\u0E49\u0E32\u0E07\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14",
|
|
396
|
+
results: function(n2) {
|
|
397
|
+
return n2.toLocaleString("en") + " \u0E23\u0E32\u0E22\u0E01\u0E32\u0E23";
|
|
398
|
+
},
|
|
399
|
+
commandMenu: "\u0E40\u0E21\u0E19\u0E39\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07",
|
|
400
|
+
commandPlaceholder: "\u0E1E\u0E34\u0E21\u0E1E\u0E4C\u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07\u0E2B\u0E23\u0E37\u0E2D\u0E04\u0E49\u0E19\u0E2B\u0E32\u2026",
|
|
401
|
+
commandHint: "\u2191\u2193 \u0E40\u0E25\u0E37\u0E48\u0E2D\u0E19 \xB7 Enter \u0E40\u0E1B\u0E34\u0E14 \xB7 Esc \u0E1B\u0E34\u0E14",
|
|
402
|
+
errorSummary: function(n2) {
|
|
403
|
+
return "\u0E41\u0E01\u0E49\u0E44\u0E02 " + n2 + " \u0E0A\u0E48\u0E2D\u0E07\u0E01\u0E48\u0E2D\u0E19\u0E44\u0E1B\u0E15\u0E48\u0E2D";
|
|
404
|
+
},
|
|
374
405
|
notifications: "\u0E01\u0E32\u0E23\u0E41\u0E08\u0E49\u0E07\u0E40\u0E15\u0E37\u0E2D\u0E19",
|
|
375
406
|
mainNav: "\u0E40\u0E21\u0E19\u0E39\u0E2B\u0E25\u0E31\u0E01",
|
|
376
407
|
breadcrumb: "\u0E40\u0E2A\u0E49\u0E19\u0E17\u0E32\u0E07",
|
|
@@ -469,6 +500,19 @@ window.Aura = (() => {
|
|
|
469
500
|
close: "St\xE4ng",
|
|
470
501
|
dismiss: "St\xE4ng",
|
|
471
502
|
dismissToast: "St\xE4ng aviseringen",
|
|
503
|
+
showPassword: "Visa l\xF6senord",
|
|
504
|
+
filters: "Filter",
|
|
505
|
+
search: "S\xF6k",
|
|
506
|
+
clearFilters: "Rensa alla",
|
|
507
|
+
results: function(n2) {
|
|
508
|
+
return n2 === 1 ? "1 tr\xE4ff" : n2.toLocaleString("sv-SE") + " tr\xE4ffar";
|
|
509
|
+
},
|
|
510
|
+
commandMenu: "Kommandomeny",
|
|
511
|
+
commandPlaceholder: "Skriv ett kommando eller s\xF6k\u2026",
|
|
512
|
+
commandHint: "\u2191\u2193 flytta \xB7 Enter \xF6ppna \xB7 Esc st\xE4ng",
|
|
513
|
+
errorSummary: function(n2) {
|
|
514
|
+
return n2 === 1 ? "R\xE4tta 1 f\xE4lt f\xF6r att forts\xE4tta" : "R\xE4tta " + n2 + " f\xE4lt f\xF6r att forts\xE4tta";
|
|
515
|
+
},
|
|
472
516
|
notifications: "Aviseringar",
|
|
473
517
|
mainNav: "Huvudmeny",
|
|
474
518
|
breadcrumb: "Br\xF6dsmulor",
|
|
@@ -566,6 +610,8 @@ window.Aura = (() => {
|
|
|
566
610
|
};
|
|
567
611
|
var LocaleContext = React3.createContext(null);
|
|
568
612
|
function AuraProvider(props) {
|
|
613
|
+
const outer = React3.useContext(LocaleContext);
|
|
614
|
+
const density = props.density || outer && outer.density || null;
|
|
569
615
|
const value = React3.useMemo(
|
|
570
616
|
function() {
|
|
571
617
|
const base = props.locale && STRINGS[props.locale] || STRINGS.en;
|
|
@@ -573,12 +619,13 @@ window.Aura = (() => {
|
|
|
573
619
|
locale: props.locale || "en",
|
|
574
620
|
calendar: props.calendar || null,
|
|
575
621
|
strings: props.strings ? Object.assign({}, base, props.strings) : base,
|
|
576
|
-
linkComponent: props.linkComponent || null
|
|
622
|
+
linkComponent: props.linkComponent || null,
|
|
623
|
+
density
|
|
577
624
|
};
|
|
578
625
|
},
|
|
579
|
-
[props.locale, props.calendar, props.strings, props.linkComponent]
|
|
626
|
+
[props.locale, props.calendar, props.strings, props.linkComponent, density]
|
|
580
627
|
);
|
|
581
|
-
return /* @__PURE__ */ React3.createElement(LocaleContext.Provider, { value }, props.children);
|
|
628
|
+
return /* @__PURE__ */ React3.createElement(LocaleContext.Provider, { value }, props.density ? /* @__PURE__ */ React3.createElement("div", { className: "aura-density", "data-density": props.density }, props.children) : props.children);
|
|
582
629
|
}
|
|
583
630
|
function useAuraLocale() {
|
|
584
631
|
return React3.useContext(LocaleContext) || { locale: null, calendar: null, strings: STRINGS.en };
|
|
@@ -587,6 +634,10 @@ window.Aura = (() => {
|
|
|
587
634
|
const ctx = React3.useContext(LocaleContext);
|
|
588
635
|
return own || ctx && ctx.linkComponent || "a";
|
|
589
636
|
}
|
|
637
|
+
function useDensity() {
|
|
638
|
+
const ctx = React3.useContext(LocaleContext);
|
|
639
|
+
return ctx && ctx.density || void 0;
|
|
640
|
+
}
|
|
590
641
|
function useStrings() {
|
|
591
642
|
return useAuraLocale().strings;
|
|
592
643
|
}
|
|
@@ -695,7 +746,7 @@ window.Aura = (() => {
|
|
|
695
746
|
const own = React6.useRef(null), merged = useMergedRef(ref, own);
|
|
696
747
|
const posState = React6.useState(null);
|
|
697
748
|
const pos = posState[0], setPos = posState[1];
|
|
698
|
-
const
|
|
749
|
+
const items2 = props.items || [];
|
|
699
750
|
const mounted = useMounted();
|
|
700
751
|
useIsoLayoutEffect(
|
|
701
752
|
function() {
|
|
@@ -767,7 +818,7 @@ window.Aura = (() => {
|
|
|
767
818
|
onKeyDown,
|
|
768
819
|
style: { top: pos ? pos.top : -9999, left: pos ? pos.left : -9999 }
|
|
769
820
|
},
|
|
770
|
-
|
|
821
|
+
items2.map(function(it, i) {
|
|
771
822
|
if (it.separator) return /* @__PURE__ */ React6.createElement("div", { key: "s" + i, role: "separator", className: "aura-menu__sep" });
|
|
772
823
|
const isCheck = it.checked !== void 0;
|
|
773
824
|
return /* @__PURE__ */ React6.createElement(
|
|
@@ -2087,7 +2138,7 @@ window.Aura = (() => {
|
|
|
2087
2138
|
const boxRef = React17.useRef(null), inputRef = React17.useRef(null), inputMerged = useMergedRef(ref, inputRef);
|
|
2088
2139
|
const pop = useCalendarPopover(boxRef);
|
|
2089
2140
|
const o = { locale, calendar };
|
|
2090
|
-
function
|
|
2141
|
+
function show2(r) {
|
|
2091
2142
|
if (!r.start) return "";
|
|
2092
2143
|
if (!r.end) return formatDate(r.start, o) + " \u2013";
|
|
2093
2144
|
return formatDate(r.start, o) + " \u2013 " + formatDate(r.end, o);
|
|
@@ -2169,7 +2220,7 @@ window.Aura = (() => {
|
|
|
2169
2220
|
boxRef,
|
|
2170
2221
|
inputRef: inputMerged,
|
|
2171
2222
|
open: pop.open,
|
|
2172
|
-
display:
|
|
2223
|
+
display: show2(v),
|
|
2173
2224
|
placeholder: props.placeholder || dt.rangePlaceholder,
|
|
2174
2225
|
hasValue: v.start != null,
|
|
2175
2226
|
clearable: props.clearable,
|
|
@@ -2227,15 +2278,40 @@ window.Aura = (() => {
|
|
|
2227
2278
|
f(toastState.list.slice());
|
|
2228
2279
|
});
|
|
2229
2280
|
}
|
|
2230
|
-
function
|
|
2231
|
-
if (typeof opts === "string") opts = { title: opts };
|
|
2281
|
+
function show(opts) {
|
|
2232
2282
|
const id = opts.id || "t" + ++toastState.n;
|
|
2233
|
-
|
|
2234
|
-
return t.id
|
|
2235
|
-
})
|
|
2283
|
+
const at = toastState.list.findIndex(function(t) {
|
|
2284
|
+
return t.id === id;
|
|
2285
|
+
});
|
|
2286
|
+
const entry = Object.assign({ tone: "info" }, opts, {
|
|
2287
|
+
id,
|
|
2288
|
+
loading: !!opts.loading,
|
|
2289
|
+
rev: at >= 0 ? toastState.list[at].rev + 1 : 0
|
|
2290
|
+
});
|
|
2291
|
+
if (at >= 0) {
|
|
2292
|
+
toastState.list = toastState.list.slice();
|
|
2293
|
+
toastState.list[at] = entry;
|
|
2294
|
+
} else toastState.list = toastState.list.concat([entry]).slice(-3);
|
|
2236
2295
|
emitToasts();
|
|
2237
2296
|
return id;
|
|
2238
2297
|
}
|
|
2298
|
+
function toast(opts) {
|
|
2299
|
+
return show(typeof opts === "string" ? { title: opts } : opts);
|
|
2300
|
+
}
|
|
2301
|
+
function shorthand(tone2) {
|
|
2302
|
+
return function(title, opts) {
|
|
2303
|
+
return show(Object.assign({}, opts, { title, tone: tone2 }));
|
|
2304
|
+
};
|
|
2305
|
+
}
|
|
2306
|
+
toast.success = shorthand("success");
|
|
2307
|
+
toast.error = shorthand("danger");
|
|
2308
|
+
toast.warning = shorthand("warning");
|
|
2309
|
+
toast.info = shorthand("info");
|
|
2310
|
+
toast.loading = function(title, opts) {
|
|
2311
|
+
return show(
|
|
2312
|
+
Object.assign({}, opts, { title, tone: "info", loading: true, duration: Infinity })
|
|
2313
|
+
);
|
|
2314
|
+
};
|
|
2239
2315
|
toast.dismiss = function(id) {
|
|
2240
2316
|
toastState.list = toastState.list.filter(function(t) {
|
|
2241
2317
|
return t.id !== id;
|
|
@@ -2245,35 +2321,56 @@ window.Aura = (() => {
|
|
|
2245
2321
|
function ToastItem(props) {
|
|
2246
2322
|
const str = useStrings();
|
|
2247
2323
|
const t = props.toast, timer = React19.useRef(null), left = React19.useRef(t.duration || 5e3), since = React19.useRef(0);
|
|
2324
|
+
const hover = React19.useRef(false);
|
|
2248
2325
|
function start() {
|
|
2249
|
-
if (left.current === Infinity) return;
|
|
2326
|
+
if (left.current === Infinity || timer.current) return;
|
|
2250
2327
|
since.current = Date.now();
|
|
2251
2328
|
timer.current = setTimeout(function() {
|
|
2252
2329
|
toast.dismiss(t.id);
|
|
2253
2330
|
}, left.current);
|
|
2254
2331
|
}
|
|
2332
|
+
function resume() {
|
|
2333
|
+
hover.current = false;
|
|
2334
|
+
start();
|
|
2335
|
+
}
|
|
2255
2336
|
function pause() {
|
|
2337
|
+
hover.current = true;
|
|
2256
2338
|
if (timer.current) {
|
|
2257
2339
|
clearTimeout(timer.current);
|
|
2258
2340
|
timer.current = null;
|
|
2259
2341
|
left.current -= Date.now() - since.current;
|
|
2260
2342
|
}
|
|
2261
2343
|
}
|
|
2262
|
-
React19.useEffect(
|
|
2263
|
-
|
|
2264
|
-
|
|
2265
|
-
|
|
2344
|
+
React19.useEffect(
|
|
2345
|
+
function() {
|
|
2346
|
+
if (timer.current) clearTimeout(timer.current);
|
|
2347
|
+
timer.current = null;
|
|
2348
|
+
left.current = t.duration || 5e3;
|
|
2349
|
+
if (!hover.current) start();
|
|
2350
|
+
return function() {
|
|
2351
|
+
if (timer.current) clearTimeout(timer.current);
|
|
2352
|
+
};
|
|
2353
|
+
},
|
|
2354
|
+
[t.rev]
|
|
2355
|
+
);
|
|
2266
2356
|
return /* @__PURE__ */ React19.createElement(
|
|
2267
2357
|
"div",
|
|
2268
2358
|
{
|
|
2269
|
-
className: cx("aura-toast", "aura-toast--" + t.tone),
|
|
2359
|
+
className: cx("aura-toast", "aura-toast--" + t.tone, t.loading && "is-loading"),
|
|
2270
2360
|
role: t.tone === "danger" ? "alert" : "status",
|
|
2361
|
+
"aria-busy": t.loading || void 0,
|
|
2271
2362
|
onMouseEnter: pause,
|
|
2272
|
-
onMouseLeave:
|
|
2363
|
+
onMouseLeave: resume,
|
|
2273
2364
|
onFocus: pause,
|
|
2274
|
-
onBlur:
|
|
2365
|
+
onBlur: resume
|
|
2275
2366
|
},
|
|
2276
|
-
/* @__PURE__ */ React19.createElement(
|
|
2367
|
+
/* @__PURE__ */ React19.createElement(
|
|
2368
|
+
Icon,
|
|
2369
|
+
{
|
|
2370
|
+
name: t.loading ? "loader-circle" : ALERT_ICON[t.tone] || "info",
|
|
2371
|
+
className: cx("aura-toast__icon", t.loading && "aura-spin")
|
|
2372
|
+
}
|
|
2373
|
+
),
|
|
2277
2374
|
/* @__PURE__ */ React19.createElement("div", { className: "aura-toast__body" }, /* @__PURE__ */ React19.createElement("p", { className: "aura-toast__title" }, t.title), t.description ? /* @__PURE__ */ React19.createElement("p", { className: "aura-toast__text" }, t.description) : null),
|
|
2278
2375
|
t.action ? /* @__PURE__ */ React19.createElement(
|
|
2279
2376
|
"button",
|
|
@@ -2330,14 +2427,517 @@ window.Aura = (() => {
|
|
|
2330
2427
|
);
|
|
2331
2428
|
}
|
|
2332
2429
|
|
|
2333
|
-
// src/
|
|
2430
|
+
// src/PasswordField.tsx
|
|
2334
2431
|
var React20 = __toESM(require_react(), 1);
|
|
2432
|
+
var PasswordField = React20.forwardRef(function PasswordField2(props, ref) {
|
|
2433
|
+
const t = useStrings();
|
|
2434
|
+
const shown = React20.useState(false);
|
|
2435
|
+
const rest = omit(props, ["toggle", "className"]);
|
|
2436
|
+
return /* @__PURE__ */ React20.createElement(
|
|
2437
|
+
TextField,
|
|
2438
|
+
{
|
|
2439
|
+
autoComplete: "current-password",
|
|
2440
|
+
...rest,
|
|
2441
|
+
ref,
|
|
2442
|
+
type: shown[0] ? "text" : "password",
|
|
2443
|
+
spellCheck: false,
|
|
2444
|
+
autoCapitalize: "none",
|
|
2445
|
+
className: cx("aura-password", props.className),
|
|
2446
|
+
suffix: props.toggle === false ? void 0 : /* @__PURE__ */ React20.createElement(
|
|
2447
|
+
IconButton,
|
|
2448
|
+
{
|
|
2449
|
+
icon: shown[0] ? "eye-off" : "eye",
|
|
2450
|
+
label: t.showPassword,
|
|
2451
|
+
"aria-pressed": shown[0],
|
|
2452
|
+
disabled: props.disabled,
|
|
2453
|
+
onClick: function() {
|
|
2454
|
+
shown[1](!shown[0]);
|
|
2455
|
+
}
|
|
2456
|
+
}
|
|
2457
|
+
)
|
|
2458
|
+
}
|
|
2459
|
+
);
|
|
2460
|
+
});
|
|
2461
|
+
|
|
2462
|
+
// src/FormErrorSummary.tsx
|
|
2463
|
+
var React21 = __toESM(require_react(), 1);
|
|
2464
|
+
function items(errors) {
|
|
2465
|
+
if (Array.isArray(errors)) return errors;
|
|
2466
|
+
const out = [];
|
|
2467
|
+
for (const k in errors || {}) {
|
|
2468
|
+
const e = errors[k];
|
|
2469
|
+
if (e && e.message) out.push({ field: k, message: e.message });
|
|
2470
|
+
}
|
|
2471
|
+
return out;
|
|
2472
|
+
}
|
|
2473
|
+
function fieldElement(field) {
|
|
2474
|
+
if (typeof document === "undefined") return null;
|
|
2475
|
+
return document.getElementById(field) || document.querySelector('[name="' + field.replace(/"/g, '\\"') + '"]');
|
|
2476
|
+
}
|
|
2477
|
+
var FormErrorSummary = React21.forwardRef(
|
|
2478
|
+
function FormErrorSummary2(props, ref) {
|
|
2479
|
+
const t = useStrings();
|
|
2480
|
+
const auto = uid(), id = props.id || auto;
|
|
2481
|
+
const list = items(props.errors);
|
|
2482
|
+
const box = React21.useRef(null);
|
|
2483
|
+
React21.useEffect(
|
|
2484
|
+
function() {
|
|
2485
|
+
const has = list.length > 0;
|
|
2486
|
+
if (has && box.current) box.current.focus();
|
|
2487
|
+
},
|
|
2488
|
+
/* focus when errors first appear, and again whenever focusKey changes (each submit) */
|
|
2489
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
2490
|
+
[list.length > 0, props.focusKey]
|
|
2491
|
+
);
|
|
2492
|
+
if (!list.length) return null;
|
|
2493
|
+
return /* @__PURE__ */ React21.createElement(
|
|
2494
|
+
"div",
|
|
2495
|
+
{
|
|
2496
|
+
ref: function(el) {
|
|
2497
|
+
box.current = el;
|
|
2498
|
+
if (typeof ref === "function") ref(el);
|
|
2499
|
+
else if (ref) ref.current = el;
|
|
2500
|
+
},
|
|
2501
|
+
id,
|
|
2502
|
+
tabIndex: -1,
|
|
2503
|
+
role: "alert",
|
|
2504
|
+
"aria-labelledby": id + "-title",
|
|
2505
|
+
className: cx("aura-alert aura-alert--danger aura-error-summary", props.className)
|
|
2506
|
+
},
|
|
2507
|
+
/* @__PURE__ */ React21.createElement(Icon, { name: "circle-alert", className: "aura-alert__icon" }),
|
|
2508
|
+
/* @__PURE__ */ React21.createElement("div", { className: "aura-alert__body" }, /* @__PURE__ */ React21.createElement("h2", { className: "aura-alert__title", id: id + "-title" }, props.title || t.errorSummary(list.length)), /* @__PURE__ */ React21.createElement("ul", { className: "aura-error-summary__list" }, list.map(function(e) {
|
|
2509
|
+
return /* @__PURE__ */ React21.createElement("li", { key: e.field }, /* @__PURE__ */ React21.createElement(
|
|
2510
|
+
"a",
|
|
2511
|
+
{
|
|
2512
|
+
href: "#" + e.field,
|
|
2513
|
+
onClick: function(ev) {
|
|
2514
|
+
ev.preventDefault();
|
|
2515
|
+
if (props.onSelect) {
|
|
2516
|
+
props.onSelect(e.field);
|
|
2517
|
+
return;
|
|
2518
|
+
}
|
|
2519
|
+
const el = fieldElement(e.field);
|
|
2520
|
+
if (el) {
|
|
2521
|
+
el.scrollIntoView({ block: "center" });
|
|
2522
|
+
el.focus();
|
|
2523
|
+
}
|
|
2524
|
+
}
|
|
2525
|
+
},
|
|
2526
|
+
e.message
|
|
2527
|
+
));
|
|
2528
|
+
})))
|
|
2529
|
+
);
|
|
2530
|
+
}
|
|
2531
|
+
);
|
|
2532
|
+
|
|
2533
|
+
// src/FilterBar.tsx
|
|
2534
|
+
var React23 = __toESM(require_react(), 1);
|
|
2535
|
+
|
|
2536
|
+
// src/Tag.tsx
|
|
2537
|
+
var React22 = __toESM(require_react(), 1);
|
|
2538
|
+
var Tag = React22.forwardRef(function Tag2(props, ref) {
|
|
2539
|
+
const t = useStrings();
|
|
2540
|
+
const selectable = props.onClick != null || props.selected != null;
|
|
2541
|
+
const rest = omit(props, ["onRemove", "selected", "icon", "className", "children", "disabled", "removeLabel"]);
|
|
2542
|
+
const inner = [
|
|
2543
|
+
props.icon ? /* @__PURE__ */ React22.createElement(Icon, { key: "i", name: props.icon, size: 14 }) : null,
|
|
2544
|
+
/* @__PURE__ */ React22.createElement("span", { key: "t", className: "aura-tag__text" }, props.children)
|
|
2545
|
+
];
|
|
2546
|
+
if (selectable) {
|
|
2547
|
+
return /* @__PURE__ */ React22.createElement(
|
|
2548
|
+
"button",
|
|
2549
|
+
{
|
|
2550
|
+
...rest,
|
|
2551
|
+
ref,
|
|
2552
|
+
type: "button",
|
|
2553
|
+
"aria-pressed": !!props.selected,
|
|
2554
|
+
disabled: props.disabled,
|
|
2555
|
+
className: cx("aura-tag is-selectable", props.selected && "is-selected", props.className)
|
|
2556
|
+
},
|
|
2557
|
+
props.selected ? /* @__PURE__ */ React22.createElement(Icon, { name: "check", size: 14 }) : inner[0],
|
|
2558
|
+
inner[1]
|
|
2559
|
+
);
|
|
2560
|
+
}
|
|
2561
|
+
return /* @__PURE__ */ React22.createElement("span", { ...rest, ref, className: cx("aura-tag", props.disabled && "is-disabled", props.className) }, inner, props.onRemove && !props.disabled ? /* @__PURE__ */ React22.createElement(
|
|
2562
|
+
"button",
|
|
2563
|
+
{
|
|
2564
|
+
type: "button",
|
|
2565
|
+
className: "aura-tag__remove",
|
|
2566
|
+
"aria-label": props.removeLabel || t.remove(typeof props.children === "string" ? props.children : ""),
|
|
2567
|
+
onClick: props.onRemove
|
|
2568
|
+
},
|
|
2569
|
+
/* @__PURE__ */ React22.createElement(Icon, { name: "x", size: 12 })
|
|
2570
|
+
) : null);
|
|
2571
|
+
});
|
|
2572
|
+
|
|
2573
|
+
// src/FilterBar.tsx
|
|
2574
|
+
var FilterBar = React23.forwardRef(function FilterBar2(props, ref) {
|
|
2575
|
+
const t = useStrings();
|
|
2576
|
+
const id = uid();
|
|
2577
|
+
const hasSearch = !!props.onSearchChange;
|
|
2578
|
+
const draft = React23.useState(props.search || "");
|
|
2579
|
+
const timer = React23.useRef(null);
|
|
2580
|
+
const sent = React23.useRef(props.search || "");
|
|
2581
|
+
const onChange = React23.useRef(props.onSearchChange);
|
|
2582
|
+
onChange.current = props.onSearchChange;
|
|
2583
|
+
React23.useEffect(
|
|
2584
|
+
function() {
|
|
2585
|
+
if ((props.search || "") !== sent.current) {
|
|
2586
|
+
sent.current = props.search || "";
|
|
2587
|
+
draft[1](props.search || "");
|
|
2588
|
+
}
|
|
2589
|
+
},
|
|
2590
|
+
[props.search]
|
|
2591
|
+
);
|
|
2592
|
+
React23.useEffect(function() {
|
|
2593
|
+
return function() {
|
|
2594
|
+
if (timer.current) clearTimeout(timer.current);
|
|
2595
|
+
};
|
|
2596
|
+
}, []);
|
|
2597
|
+
function send(v) {
|
|
2598
|
+
if (timer.current) clearTimeout(timer.current);
|
|
2599
|
+
timer.current = null;
|
|
2600
|
+
if (v === sent.current) return;
|
|
2601
|
+
sent.current = v;
|
|
2602
|
+
if (onChange.current) onChange.current(v);
|
|
2603
|
+
}
|
|
2604
|
+
function type(v) {
|
|
2605
|
+
draft[1](v);
|
|
2606
|
+
if (timer.current) clearTimeout(timer.current);
|
|
2607
|
+
timer.current = setTimeout(
|
|
2608
|
+
function() {
|
|
2609
|
+
send(v);
|
|
2610
|
+
},
|
|
2611
|
+
props.searchDelay == null ? 300 : props.searchDelay
|
|
2612
|
+
);
|
|
2613
|
+
}
|
|
2614
|
+
const filters = props.filters || [];
|
|
2615
|
+
const anything = filters.length > 0 || !!(props.search || draft[0]);
|
|
2616
|
+
const count = props.resultCount == null ? null : typeof props.resultCount === "number" ? t.results(props.resultCount) : props.resultCount;
|
|
2617
|
+
return /* @__PURE__ */ React23.createElement(
|
|
2618
|
+
"div",
|
|
2619
|
+
{
|
|
2620
|
+
ref,
|
|
2621
|
+
role: "region",
|
|
2622
|
+
"aria-label": props.label || t.filters,
|
|
2623
|
+
className: cx("aura-filterbar", props.className)
|
|
2624
|
+
},
|
|
2625
|
+
/* @__PURE__ */ React23.createElement("div", { className: "aura-filterbar__row" }, hasSearch ? /* @__PURE__ */ React23.createElement("div", { className: "aura-input has-icon aura-filterbar__search" }, /* @__PURE__ */ React23.createElement(Icon, { name: "search", className: "aura-input__icon" }), /* @__PURE__ */ React23.createElement(
|
|
2626
|
+
"input",
|
|
2627
|
+
{
|
|
2628
|
+
id,
|
|
2629
|
+
type: "search",
|
|
2630
|
+
className: "aura-input__control",
|
|
2631
|
+
"aria-label": props.searchLabel || t.search,
|
|
2632
|
+
placeholder: props.searchPlaceholder || props.searchLabel || t.search,
|
|
2633
|
+
value: draft[0],
|
|
2634
|
+
onChange: function(e) {
|
|
2635
|
+
type(e.target.value);
|
|
2636
|
+
},
|
|
2637
|
+
onKeyDown: function(e) {
|
|
2638
|
+
if (e.key === "Enter") send(draft[0]);
|
|
2639
|
+
if (e.key === "Escape" && draft[0]) {
|
|
2640
|
+
e.preventDefault();
|
|
2641
|
+
draft[1]("");
|
|
2642
|
+
send("");
|
|
2643
|
+
}
|
|
2644
|
+
}
|
|
2645
|
+
}
|
|
2646
|
+
), draft[0] ? /* @__PURE__ */ React23.createElement(
|
|
2647
|
+
IconButton,
|
|
2648
|
+
{
|
|
2649
|
+
icon: "x",
|
|
2650
|
+
label: t.clear((props.searchLabel || t.search).toLowerCase()),
|
|
2651
|
+
className: "aura-filterbar__clear-search",
|
|
2652
|
+
onClick: function() {
|
|
2653
|
+
draft[1]("");
|
|
2654
|
+
send("");
|
|
2655
|
+
}
|
|
2656
|
+
}
|
|
2657
|
+
) : null) : null, props.children ? /* @__PURE__ */ React23.createElement("div", { className: "aura-filterbar__controls" }, props.children) : null, /* @__PURE__ */ React23.createElement("span", { className: "aura-filterbar__spacer" }), count != null ? /* @__PURE__ */ React23.createElement("span", { className: "aura-filterbar__count", "aria-live": "polite" }, count) : null, props.actions ? /* @__PURE__ */ React23.createElement("div", { className: "aura-filterbar__actions" }, props.actions) : null),
|
|
2658
|
+
filters.length || props.onClearAll && anything ? /* @__PURE__ */ React23.createElement("div", { className: "aura-filterbar__chips" }, filters.map(function(f) {
|
|
2659
|
+
return /* @__PURE__ */ React23.createElement(Tag, { key: f.id, onRemove: f.onRemove }, f.label);
|
|
2660
|
+
}), props.onClearAll && anything ? /* @__PURE__ */ React23.createElement(
|
|
2661
|
+
"button",
|
|
2662
|
+
{
|
|
2663
|
+
type: "button",
|
|
2664
|
+
className: "aura-filterbar__clear",
|
|
2665
|
+
onClick: function() {
|
|
2666
|
+
draft[1]("");
|
|
2667
|
+
sent.current = "";
|
|
2668
|
+
if (timer.current) clearTimeout(timer.current);
|
|
2669
|
+
props.onClearAll();
|
|
2670
|
+
}
|
|
2671
|
+
},
|
|
2672
|
+
t.clearFilters
|
|
2673
|
+
) : null) : null
|
|
2674
|
+
);
|
|
2675
|
+
});
|
|
2676
|
+
|
|
2677
|
+
// src/Command.tsx
|
|
2678
|
+
var React25 = __toESM(require_react(), 1);
|
|
2335
2679
|
var import_react_dom5 = __toESM(require_react_dom(), 1);
|
|
2336
|
-
|
|
2337
|
-
|
|
2338
|
-
|
|
2339
|
-
|
|
2340
|
-
|
|
2680
|
+
|
|
2681
|
+
// src/useModal.tsx
|
|
2682
|
+
var React24 = __toESM(require_react(), 1);
|
|
2683
|
+
function useModal(open, ref, opts) {
|
|
2684
|
+
const mounted = useMounted();
|
|
2685
|
+
const prev = React24.useRef(null);
|
|
2686
|
+
const o = opts || {};
|
|
2687
|
+
React24.useEffect(
|
|
2688
|
+
function() {
|
|
2689
|
+
if (!open || !mounted) return;
|
|
2690
|
+
prev.current = document.activeElement;
|
|
2691
|
+
const body = document.body, overflow = body.style.overflow;
|
|
2692
|
+
body.style.overflow = "hidden";
|
|
2693
|
+
const el = ref.current;
|
|
2694
|
+
const target = el && (el.querySelector("[data-autofocus]") || el.querySelector(o.bodySelector + " " + FOCUSABLE) || el.querySelector(o.footSelector + " " + FOCUSABLE) || el);
|
|
2695
|
+
if (target && o.autoFocus !== false) target.focus();
|
|
2696
|
+
return function() {
|
|
2697
|
+
body.style.overflow = overflow;
|
|
2698
|
+
if (prev.current && prev.current.focus) prev.current.focus();
|
|
2699
|
+
};
|
|
2700
|
+
},
|
|
2701
|
+
[open, mounted]
|
|
2702
|
+
);
|
|
2703
|
+
function onKeyDown(e) {
|
|
2704
|
+
if (e.key === "Escape") {
|
|
2705
|
+
e.stopPropagation();
|
|
2706
|
+
if (o.onEscape) o.onEscape();
|
|
2707
|
+
return;
|
|
2708
|
+
}
|
|
2709
|
+
if (e.key !== "Tab" || !ref.current) return;
|
|
2710
|
+
const list = Array.prototype.slice.call(ref.current.querySelectorAll(FOCUSABLE));
|
|
2711
|
+
if (!list.length) {
|
|
2712
|
+
e.preventDefault();
|
|
2713
|
+
return;
|
|
2714
|
+
}
|
|
2715
|
+
const first = list[0], last = list[list.length - 1];
|
|
2716
|
+
if (e.shiftKey && (document.activeElement === first || document.activeElement === ref.current)) {
|
|
2717
|
+
e.preventDefault();
|
|
2718
|
+
last.focus();
|
|
2719
|
+
} else if (!e.shiftKey && document.activeElement === last) {
|
|
2720
|
+
e.preventDefault();
|
|
2721
|
+
first.focus();
|
|
2722
|
+
}
|
|
2723
|
+
}
|
|
2724
|
+
return { ready: !!open && mounted, onKeyDown };
|
|
2725
|
+
}
|
|
2726
|
+
|
|
2727
|
+
// src/Command.tsx
|
|
2728
|
+
function isMac() {
|
|
2729
|
+
return typeof navigator !== "undefined" && /Mac|iPhone|iPad/.test(navigator.platform || navigator.userAgent);
|
|
2730
|
+
}
|
|
2731
|
+
function Command(props) {
|
|
2732
|
+
const t = useStrings();
|
|
2733
|
+
const density = useDensity();
|
|
2734
|
+
const id = uid(), listId = id + "-list";
|
|
2735
|
+
const box = React25.useRef(null);
|
|
2736
|
+
const input = React25.useRef(null);
|
|
2737
|
+
const q = React25.useState(""), act = React25.useState(0);
|
|
2738
|
+
const openRef = React25.useRef(props.open);
|
|
2739
|
+
openRef.current = props.open;
|
|
2740
|
+
const close = function() {
|
|
2741
|
+
props.onOpenChange(false);
|
|
2742
|
+
};
|
|
2743
|
+
const modal = useModal(props.open, box, { onEscape: close });
|
|
2744
|
+
React25.useEffect(
|
|
2745
|
+
function() {
|
|
2746
|
+
if (props.hotkey === false) return;
|
|
2747
|
+
function onKey2(e) {
|
|
2748
|
+
if ((e.metaKey || e.ctrlKey) && !e.altKey && !e.shiftKey && (e.key === "k" || e.key === "K")) {
|
|
2749
|
+
e.preventDefault();
|
|
2750
|
+
props.onOpenChange(!openRef.current);
|
|
2751
|
+
}
|
|
2752
|
+
}
|
|
2753
|
+
document.addEventListener("keydown", onKey2, true);
|
|
2754
|
+
return function() {
|
|
2755
|
+
document.removeEventListener("keydown", onKey2, true);
|
|
2756
|
+
};
|
|
2757
|
+
},
|
|
2758
|
+
[props.hotkey, props.onOpenChange]
|
|
2759
|
+
);
|
|
2760
|
+
React25.useEffect(
|
|
2761
|
+
function() {
|
|
2762
|
+
if (!props.open) {
|
|
2763
|
+
q[1]("");
|
|
2764
|
+
act[1](0);
|
|
2765
|
+
}
|
|
2766
|
+
},
|
|
2767
|
+
[props.open]
|
|
2768
|
+
);
|
|
2769
|
+
const filter = props.filter || defaultFilter;
|
|
2770
|
+
const shown = (props.items || []).filter(function(it) {
|
|
2771
|
+
return filter(it, q[0]);
|
|
2772
|
+
});
|
|
2773
|
+
const groups = [];
|
|
2774
|
+
shown.forEach(function(it) {
|
|
2775
|
+
const name = it.group || "";
|
|
2776
|
+
let g = groups.filter(function(x) {
|
|
2777
|
+
return x.name === name;
|
|
2778
|
+
})[0];
|
|
2779
|
+
if (!g) groups.push(g = { name, items: [] });
|
|
2780
|
+
g.items.push(it);
|
|
2781
|
+
});
|
|
2782
|
+
const flat = [];
|
|
2783
|
+
groups.forEach(function(g) {
|
|
2784
|
+
g.items.forEach(function(it) {
|
|
2785
|
+
flat.push(it);
|
|
2786
|
+
});
|
|
2787
|
+
});
|
|
2788
|
+
const enabled = flat.map(function(it, i2) {
|
|
2789
|
+
return it.disabled ? -1 : i2;
|
|
2790
|
+
}).filter(function(i2) {
|
|
2791
|
+
return i2 >= 0;
|
|
2792
|
+
});
|
|
2793
|
+
const active = enabled.indexOf(act[0]) >= 0 ? act[0] : enabled.length ? enabled[0] : -1;
|
|
2794
|
+
const optId = function(i2) {
|
|
2795
|
+
return id + "-o" + i2;
|
|
2796
|
+
};
|
|
2797
|
+
React25.useEffect(
|
|
2798
|
+
function() {
|
|
2799
|
+
if (!box.current || active < 0) return;
|
|
2800
|
+
const el = box.current.querySelector("#" + CSS.escape(optId(active)));
|
|
2801
|
+
if (el && el.scrollIntoView) el.scrollIntoView({ block: "nearest" });
|
|
2802
|
+
},
|
|
2803
|
+
[active]
|
|
2804
|
+
);
|
|
2805
|
+
function run(it) {
|
|
2806
|
+
if (it.disabled) return;
|
|
2807
|
+
close();
|
|
2808
|
+
if (it.onSelect) it.onSelect();
|
|
2809
|
+
if (props.onSelect) props.onSelect(it);
|
|
2810
|
+
}
|
|
2811
|
+
function move(dir) {
|
|
2812
|
+
if (!enabled.length) return;
|
|
2813
|
+
const at = enabled.indexOf(active);
|
|
2814
|
+
let n2;
|
|
2815
|
+
if (dir === "first") n2 = 0;
|
|
2816
|
+
else if (dir === "last") n2 = enabled.length - 1;
|
|
2817
|
+
else n2 = (at + dir + enabled.length) % enabled.length;
|
|
2818
|
+
act[1](enabled[n2]);
|
|
2819
|
+
}
|
|
2820
|
+
function onKey(e) {
|
|
2821
|
+
if (e.key === "ArrowDown") {
|
|
2822
|
+
e.preventDefault();
|
|
2823
|
+
move(1);
|
|
2824
|
+
} else if (e.key === "ArrowUp") {
|
|
2825
|
+
e.preventDefault();
|
|
2826
|
+
move(-1);
|
|
2827
|
+
} else if (e.key === "Home" && e.ctrlKey) {
|
|
2828
|
+
e.preventDefault();
|
|
2829
|
+
move("first");
|
|
2830
|
+
} else if (e.key === "End" && e.ctrlKey) {
|
|
2831
|
+
e.preventDefault();
|
|
2832
|
+
move("last");
|
|
2833
|
+
} else if (e.key === "Enter") {
|
|
2834
|
+
e.preventDefault();
|
|
2835
|
+
if (active >= 0) run(flat[active]);
|
|
2836
|
+
}
|
|
2837
|
+
}
|
|
2838
|
+
if (!modal.ready) return null;
|
|
2839
|
+
let i = -1;
|
|
2840
|
+
return (0, import_react_dom5.createPortal)(
|
|
2841
|
+
/* @__PURE__ */ React25.createElement(
|
|
2842
|
+
"div",
|
|
2843
|
+
{
|
|
2844
|
+
className: "aura-dialog-layer aura-command-layer",
|
|
2845
|
+
"data-density": density,
|
|
2846
|
+
onKeyDown: function(e) {
|
|
2847
|
+
modal.onKeyDown(e);
|
|
2848
|
+
e.stopPropagation();
|
|
2849
|
+
}
|
|
2850
|
+
},
|
|
2851
|
+
/* @__PURE__ */ React25.createElement("div", { className: "aura-scrim", onClick: close, "aria-hidden": true }),
|
|
2852
|
+
/* @__PURE__ */ React25.createElement(
|
|
2853
|
+
"div",
|
|
2854
|
+
{
|
|
2855
|
+
ref: box,
|
|
2856
|
+
role: "dialog",
|
|
2857
|
+
"aria-modal": true,
|
|
2858
|
+
"aria-label": props.label || t.commandMenu,
|
|
2859
|
+
tabIndex: -1,
|
|
2860
|
+
className: cx("aura-command", props.className)
|
|
2861
|
+
},
|
|
2862
|
+
/* @__PURE__ */ React25.createElement("div", { className: "aura-command__search" }, /* @__PURE__ */ React25.createElement(Icon, { name: "search", className: "aura-command__search-icon" }), /* @__PURE__ */ React25.createElement(
|
|
2863
|
+
"input",
|
|
2864
|
+
{
|
|
2865
|
+
ref: input,
|
|
2866
|
+
"data-autofocus": "",
|
|
2867
|
+
type: "text",
|
|
2868
|
+
role: "combobox",
|
|
2869
|
+
"aria-expanded": true,
|
|
2870
|
+
"aria-controls": listId,
|
|
2871
|
+
"aria-autocomplete": "list",
|
|
2872
|
+
"aria-activedescendant": active >= 0 ? optId(active) : void 0,
|
|
2873
|
+
"aria-label": props.label || t.commandMenu,
|
|
2874
|
+
placeholder: props.placeholder || t.commandPlaceholder,
|
|
2875
|
+
className: "aura-command__input",
|
|
2876
|
+
value: q[0],
|
|
2877
|
+
autoComplete: "off",
|
|
2878
|
+
spellCheck: false,
|
|
2879
|
+
onChange: function(e) {
|
|
2880
|
+
q[1](e.target.value);
|
|
2881
|
+
act[1](0);
|
|
2882
|
+
},
|
|
2883
|
+
onKeyDown: onKey
|
|
2884
|
+
}
|
|
2885
|
+
), /* @__PURE__ */ React25.createElement("kbd", { className: "aura-command__kbd" }, "Esc")),
|
|
2886
|
+
/* @__PURE__ */ React25.createElement("div", { className: "aura-command__list", id: listId, role: "listbox", "aria-label": props.label || t.commandMenu }, !flat.length ? /* @__PURE__ */ React25.createElement("p", { className: "aura-command__empty", role: "presentation" }, props.emptyText || t.noMatches) : groups.map(function(g, gi) {
|
|
2887
|
+
const gid = id + "-g" + gi;
|
|
2888
|
+
return /* @__PURE__ */ React25.createElement(
|
|
2889
|
+
"div",
|
|
2890
|
+
{
|
|
2891
|
+
key: g.name || gi,
|
|
2892
|
+
role: "group",
|
|
2893
|
+
"aria-labelledby": g.name ? gid : void 0,
|
|
2894
|
+
className: "aura-command__group"
|
|
2895
|
+
},
|
|
2896
|
+
g.name ? /* @__PURE__ */ React25.createElement("div", { className: "aura-command__heading", id: gid, role: "presentation" }, g.name) : null,
|
|
2897
|
+
g.items.map(function(it) {
|
|
2898
|
+
i++;
|
|
2899
|
+
const n2 = i;
|
|
2900
|
+
return /* @__PURE__ */ React25.createElement(
|
|
2901
|
+
"div",
|
|
2902
|
+
{
|
|
2903
|
+
key: it.id,
|
|
2904
|
+
id: optId(n2),
|
|
2905
|
+
role: "option",
|
|
2906
|
+
"aria-selected": n2 === active,
|
|
2907
|
+
"aria-disabled": it.disabled || void 0,
|
|
2908
|
+
className: cx("aura-command__item", n2 === active && "is-active", it.disabled && "is-disabled"),
|
|
2909
|
+
onPointerDown: function(e) {
|
|
2910
|
+
e.preventDefault();
|
|
2911
|
+
},
|
|
2912
|
+
onPointerMove: function() {
|
|
2913
|
+
if (!it.disabled && act[0] !== n2) act[1](n2);
|
|
2914
|
+
},
|
|
2915
|
+
onClick: function() {
|
|
2916
|
+
run(it);
|
|
2917
|
+
}
|
|
2918
|
+
},
|
|
2919
|
+
it.icon ? /* @__PURE__ */ React25.createElement(Icon, { name: it.icon }) : null,
|
|
2920
|
+
/* @__PURE__ */ React25.createElement("span", { className: "aura-command__text" }, /* @__PURE__ */ React25.createElement("span", { className: "aura-command__label" }, it.label), it.description ? /* @__PURE__ */ React25.createElement("span", { className: "aura-command__desc" }, it.description) : null),
|
|
2921
|
+
it.shortcut ? /* @__PURE__ */ React25.createElement("kbd", { className: "aura-command__kbd" }, it.shortcut) : null
|
|
2922
|
+
);
|
|
2923
|
+
})
|
|
2924
|
+
);
|
|
2925
|
+
})),
|
|
2926
|
+
/* @__PURE__ */ React25.createElement("div", { className: "aura-command__foot", "aria-hidden": true }, t.commandHint, /* @__PURE__ */ React25.createElement("span", { className: "aura-command__mod" }, isMac() ? "\u2318K" : "Ctrl K"))
|
|
2927
|
+
)
|
|
2928
|
+
),
|
|
2929
|
+
document.body
|
|
2930
|
+
);
|
|
2931
|
+
}
|
|
2932
|
+
|
|
2933
|
+
// src/Tooltip.tsx
|
|
2934
|
+
var React26 = __toESM(require_react(), 1);
|
|
2935
|
+
var import_react_dom6 = __toESM(require_react_dom(), 1);
|
|
2936
|
+
var Tooltip = React26.forwardRef(function Tooltip2(props, ref) {
|
|
2937
|
+
const id = uid(), st = React26.useState(false), open = props.open !== void 0 ? props.open : st[0], set = st[1];
|
|
2938
|
+
const anchor = React26.useRef(null), anchorMerged = useMergedRef(ref, anchor), tip = React26.useRef(null), timer = React26.useRef(void 0);
|
|
2939
|
+
const pos = React26.useState(null);
|
|
2940
|
+
function show2(now) {
|
|
2341
2941
|
clearTimeout(timer.current);
|
|
2342
2942
|
timer.current = setTimeout(
|
|
2343
2943
|
function() {
|
|
@@ -2361,7 +2961,7 @@ window.Aura = (() => {
|
|
|
2361
2961
|
},
|
|
2362
2962
|
[open]
|
|
2363
2963
|
);
|
|
2364
|
-
|
|
2964
|
+
React26.useEffect(
|
|
2365
2965
|
function() {
|
|
2366
2966
|
if (!open) return;
|
|
2367
2967
|
function esc(e) {
|
|
@@ -2374,25 +2974,25 @@ window.Aura = (() => {
|
|
|
2374
2974
|
},
|
|
2375
2975
|
[open]
|
|
2376
2976
|
);
|
|
2377
|
-
const child =
|
|
2378
|
-
const trigger = /* @__PURE__ */
|
|
2977
|
+
const child = React26.Children.only(props.children);
|
|
2978
|
+
const trigger = /* @__PURE__ */ React26.createElement(
|
|
2379
2979
|
"span",
|
|
2380
2980
|
{
|
|
2381
2981
|
ref: anchorMerged,
|
|
2382
2982
|
className: "aura-tooltip-anchor",
|
|
2383
2983
|
onMouseEnter: function() {
|
|
2384
|
-
|
|
2984
|
+
show2(false);
|
|
2385
2985
|
},
|
|
2386
2986
|
onMouseLeave: hide,
|
|
2387
2987
|
onFocus: function() {
|
|
2388
|
-
|
|
2988
|
+
show2(true);
|
|
2389
2989
|
},
|
|
2390
2990
|
onBlur: hide
|
|
2391
2991
|
},
|
|
2392
|
-
|
|
2992
|
+
React26.cloneElement(child, { "aria-describedby": open ? id : child.props["aria-describedby"] })
|
|
2393
2993
|
);
|
|
2394
|
-
return /* @__PURE__ */
|
|
2395
|
-
/* @__PURE__ */
|
|
2994
|
+
return /* @__PURE__ */ React26.createElement(React26.Fragment, null, trigger, open ? (0, import_react_dom6.createPortal)(
|
|
2995
|
+
/* @__PURE__ */ React26.createElement(
|
|
2396
2996
|
"div",
|
|
2397
2997
|
{
|
|
2398
2998
|
ref: tip,
|
|
@@ -2408,59 +3008,12 @@ window.Aura = (() => {
|
|
|
2408
3008
|
});
|
|
2409
3009
|
|
|
2410
3010
|
// src/Dialog.tsx
|
|
2411
|
-
var
|
|
2412
|
-
var
|
|
2413
|
-
|
|
2414
|
-
// src/useModal.tsx
|
|
2415
|
-
var React21 = __toESM(require_react(), 1);
|
|
2416
|
-
function useModal(open, ref, opts) {
|
|
2417
|
-
const mounted = useMounted();
|
|
2418
|
-
const prev = React21.useRef(null);
|
|
2419
|
-
const o = opts || {};
|
|
2420
|
-
React21.useEffect(
|
|
2421
|
-
function() {
|
|
2422
|
-
if (!open || !mounted) return;
|
|
2423
|
-
prev.current = document.activeElement;
|
|
2424
|
-
const body = document.body, overflow = body.style.overflow;
|
|
2425
|
-
body.style.overflow = "hidden";
|
|
2426
|
-
const el = ref.current;
|
|
2427
|
-
const target = el && (el.querySelector("[data-autofocus]") || el.querySelector(o.bodySelector + " " + FOCUSABLE) || el.querySelector(o.footSelector + " " + FOCUSABLE) || el);
|
|
2428
|
-
if (target && o.autoFocus !== false) target.focus();
|
|
2429
|
-
return function() {
|
|
2430
|
-
body.style.overflow = overflow;
|
|
2431
|
-
if (prev.current && prev.current.focus) prev.current.focus();
|
|
2432
|
-
};
|
|
2433
|
-
},
|
|
2434
|
-
[open, mounted]
|
|
2435
|
-
);
|
|
2436
|
-
function onKeyDown(e) {
|
|
2437
|
-
if (e.key === "Escape") {
|
|
2438
|
-
e.stopPropagation();
|
|
2439
|
-
if (o.onEscape) o.onEscape();
|
|
2440
|
-
return;
|
|
2441
|
-
}
|
|
2442
|
-
if (e.key !== "Tab" || !ref.current) return;
|
|
2443
|
-
const list = Array.prototype.slice.call(ref.current.querySelectorAll(FOCUSABLE));
|
|
2444
|
-
if (!list.length) {
|
|
2445
|
-
e.preventDefault();
|
|
2446
|
-
return;
|
|
2447
|
-
}
|
|
2448
|
-
const first = list[0], last = list[list.length - 1];
|
|
2449
|
-
if (e.shiftKey && (document.activeElement === first || document.activeElement === ref.current)) {
|
|
2450
|
-
e.preventDefault();
|
|
2451
|
-
last.focus();
|
|
2452
|
-
} else if (!e.shiftKey && document.activeElement === last) {
|
|
2453
|
-
e.preventDefault();
|
|
2454
|
-
first.focus();
|
|
2455
|
-
}
|
|
2456
|
-
}
|
|
2457
|
-
return { ready: !!open && mounted, onKeyDown };
|
|
2458
|
-
}
|
|
2459
|
-
|
|
2460
|
-
// src/Dialog.tsx
|
|
2461
|
-
var Dialog = React22.forwardRef(function Dialog2(props, ref) {
|
|
3011
|
+
var React27 = __toESM(require_react(), 1);
|
|
3012
|
+
var import_react_dom7 = __toESM(require_react_dom(), 1);
|
|
3013
|
+
var Dialog = React27.forwardRef(function Dialog2(props, ref) {
|
|
2462
3014
|
const t = useStrings();
|
|
2463
|
-
const
|
|
3015
|
+
const density = useDensity();
|
|
3016
|
+
const own = React27.useRef(null), merged = useMergedRef(ref, own), titleId = uid(), descId = uid();
|
|
2464
3017
|
function close() {
|
|
2465
3018
|
if (props.dismissible !== false && props.onClose) props.onClose();
|
|
2466
3019
|
}
|
|
@@ -2471,8 +3024,8 @@ window.Aura = (() => {
|
|
|
2471
3024
|
footSelector: ".aura-dialog__foot"
|
|
2472
3025
|
});
|
|
2473
3026
|
if (!modal.ready) return null;
|
|
2474
|
-
return (0,
|
|
2475
|
-
/* @__PURE__ */
|
|
3027
|
+
return (0, import_react_dom7.createPortal)(
|
|
3028
|
+
/* @__PURE__ */ React27.createElement("div", { className: "aura-dialog-layer", "data-density": density, onKeyDown: modal.onKeyDown }, /* @__PURE__ */ React27.createElement("div", { className: "aura-scrim", onClick: close, "aria-hidden": true }), /* @__PURE__ */ React27.createElement(
|
|
2476
3029
|
"div",
|
|
2477
3030
|
{
|
|
2478
3031
|
ref: merged,
|
|
@@ -2483,17 +3036,18 @@ window.Aura = (() => {
|
|
|
2483
3036
|
tabIndex: -1,
|
|
2484
3037
|
className: cx("aura-dialog", "aura-dialog--" + (props.size || "md"), props.className)
|
|
2485
3038
|
},
|
|
2486
|
-
/* @__PURE__ */
|
|
2487
|
-
props.description ? /* @__PURE__ */
|
|
2488
|
-
props.children ? /* @__PURE__ */
|
|
2489
|
-
props.footer ? /* @__PURE__ */
|
|
3039
|
+
/* @__PURE__ */ React27.createElement("div", { className: "aura-dialog__head" }, /* @__PURE__ */ React27.createElement("h2", { className: "aura-dialog__title", id: titleId }, props.title), props.dismissible !== false ? /* @__PURE__ */ React27.createElement(IconButton, { icon: "x", label: t.close, className: "aura-dialog__close", onClick: close }) : null),
|
|
3040
|
+
props.description ? /* @__PURE__ */ React27.createElement("p", { className: "aura-dialog__desc", id: descId }, props.description) : null,
|
|
3041
|
+
props.children ? /* @__PURE__ */ React27.createElement("div", { className: "aura-dialog__body" }, props.children) : null,
|
|
3042
|
+
props.footer ? /* @__PURE__ */ React27.createElement("div", { className: "aura-dialog__foot" }, props.footer) : null
|
|
2490
3043
|
)),
|
|
2491
3044
|
document.body
|
|
2492
3045
|
);
|
|
2493
3046
|
});
|
|
2494
|
-
var Drawer =
|
|
3047
|
+
var Drawer = React27.forwardRef(function Drawer2(props, ref) {
|
|
2495
3048
|
const t = useStrings();
|
|
2496
|
-
const
|
|
3049
|
+
const density = useDensity();
|
|
3050
|
+
const own = React27.useRef(null), merged = useMergedRef(ref, own), titleId = uid(), descId = uid();
|
|
2497
3051
|
function close() {
|
|
2498
3052
|
if (props.dismissible !== false && props.onClose) props.onClose();
|
|
2499
3053
|
}
|
|
@@ -2505,8 +3059,8 @@ window.Aura = (() => {
|
|
|
2505
3059
|
});
|
|
2506
3060
|
if (!modal.ready) return null;
|
|
2507
3061
|
const side = props.side === "left" ? "left" : "right";
|
|
2508
|
-
return (0,
|
|
2509
|
-
/* @__PURE__ */
|
|
3062
|
+
return (0, import_react_dom7.createPortal)(
|
|
3063
|
+
/* @__PURE__ */ React27.createElement("div", { className: "aura-dialog-layer aura-drawer-layer", "data-density": density, onKeyDown: modal.onKeyDown }, /* @__PURE__ */ React27.createElement("div", { className: "aura-scrim", onClick: close, "aria-hidden": true }), /* @__PURE__ */ React27.createElement(
|
|
2510
3064
|
"div",
|
|
2511
3065
|
{
|
|
2512
3066
|
ref: merged,
|
|
@@ -2518,17 +3072,17 @@ window.Aura = (() => {
|
|
|
2518
3072
|
tabIndex: -1,
|
|
2519
3073
|
className: cx("aura-drawer", "aura-drawer--" + side, "aura-drawer--" + (props.size || "md"), props.className)
|
|
2520
3074
|
},
|
|
2521
|
-
props.title || props.dismissible !== false ? /* @__PURE__ */
|
|
2522
|
-
props.description ? /* @__PURE__ */
|
|
2523
|
-
/* @__PURE__ */
|
|
2524
|
-
props.footer ? /* @__PURE__ */
|
|
3075
|
+
props.title || props.dismissible !== false ? /* @__PURE__ */ React27.createElement("div", { className: "aura-drawer__head" }, props.title ? /* @__PURE__ */ React27.createElement("h2", { className: "aura-drawer__title", id: titleId }, props.title) : /* @__PURE__ */ React27.createElement("span", { style: { flex: 1 } }), props.dismissible !== false ? /* @__PURE__ */ React27.createElement(IconButton, { icon: "x", label: t.close, onClick: close }) : null) : null,
|
|
3076
|
+
props.description ? /* @__PURE__ */ React27.createElement("p", { className: "aura-drawer__desc", id: descId }, props.description) : null,
|
|
3077
|
+
/* @__PURE__ */ React27.createElement("div", { className: "aura-drawer__body" }, props.children),
|
|
3078
|
+
props.footer ? /* @__PURE__ */ React27.createElement("div", { className: "aura-drawer__foot" }, props.footer) : null
|
|
2525
3079
|
)),
|
|
2526
3080
|
document.body
|
|
2527
3081
|
);
|
|
2528
3082
|
});
|
|
2529
3083
|
|
|
2530
3084
|
// src/DataTable.tsx
|
|
2531
|
-
var
|
|
3085
|
+
var React28 = __toESM(require_react(), 1);
|
|
2532
3086
|
var BP = { sm: 640, md: 768, lg: 1024, xl: 1280 };
|
|
2533
3087
|
var DEFAULT_COLUMNS = [
|
|
2534
3088
|
{ key: "id", label: "ID", width: 96, mono: true },
|
|
@@ -2537,10 +3091,10 @@ window.Aura = (() => {
|
|
|
2537
3091
|
{ key: "owner", label: "OWNER" }
|
|
2538
3092
|
];
|
|
2539
3093
|
var SKELETON_WIDTHS = ["72%", "56%", "84%", "44%", "64%"];
|
|
2540
|
-
var
|
|
3094
|
+
var ROW_H_DEFAULT = 48;
|
|
2541
3095
|
var OVERSCAN = 8;
|
|
2542
3096
|
var FLEX_MIN = 160;
|
|
2543
|
-
var DataTable =
|
|
3097
|
+
var DataTable = React28.forwardRef(function DataTable2(props, ref) {
|
|
2544
3098
|
const t = useStrings();
|
|
2545
3099
|
const columns = props.columns || DEFAULT_COLUMNS;
|
|
2546
3100
|
const byKey = {};
|
|
@@ -2587,23 +3141,23 @@ window.Aura = (() => {
|
|
|
2587
3141
|
}),
|
|
2588
3142
|
props.onPinnedColumnsChange
|
|
2589
3143
|
);
|
|
2590
|
-
const widthState =
|
|
3144
|
+
const widthState = React28.useState({});
|
|
2591
3145
|
const widths = widthState[0], setWidths = widthState[1];
|
|
2592
|
-
const activeState =
|
|
2593
|
-
const scrollState =
|
|
3146
|
+
const activeState = React28.useState({ r: 1, c: 0 });
|
|
3147
|
+
const scrollState = React28.useState(0);
|
|
2594
3148
|
const scrollTop = scrollState[0], setScrollTop = scrollState[1];
|
|
2595
|
-
const scrolledX =
|
|
2596
|
-
const menuState =
|
|
3149
|
+
const scrolledX = React28.useState(false);
|
|
3150
|
+
const menuState = React28.useState(null);
|
|
2597
3151
|
const menu = menuState[0], setMenu = menuState[1];
|
|
2598
|
-
const dragState =
|
|
3152
|
+
const dragState = React28.useState(null);
|
|
2599
3153
|
const drag = dragState[0], setDrag = dragState[1];
|
|
2600
|
-
const gridRef =
|
|
2601
|
-
const wrapRef =
|
|
2602
|
-
const boxWidth =
|
|
3154
|
+
const gridRef = React28.useRef(null);
|
|
3155
|
+
const wrapRef = React28.useRef(null), wrapMerged = useMergedRef(ref, wrapRef);
|
|
3156
|
+
const boxWidth = React28.useState(null);
|
|
2603
3157
|
const measure = !!props.stackBelow || columns.some(function(c) {
|
|
2604
3158
|
return c.hideBelow != null;
|
|
2605
3159
|
});
|
|
2606
|
-
|
|
3160
|
+
React28.useEffect(
|
|
2607
3161
|
function() {
|
|
2608
3162
|
if (!measure || !wrapRef.current || typeof ResizeObserver === "undefined") return;
|
|
2609
3163
|
const ro = new ResizeObserver(function(en) {
|
|
@@ -2622,9 +3176,17 @@ window.Aura = (() => {
|
|
|
2622
3176
|
const px = typeof c.hideBelow === "number" ? c.hideBelow : BP[c.hideBelow];
|
|
2623
3177
|
return px != null && boxWidth[0] < px;
|
|
2624
3178
|
}
|
|
2625
|
-
const scrollRef =
|
|
2626
|
-
const
|
|
2627
|
-
const
|
|
3179
|
+
const scrollRef = React28.useRef(null);
|
|
3180
|
+
const rowH = React28.useState(ROW_H_DEFAULT);
|
|
3181
|
+
const ROW_H = rowH[0];
|
|
3182
|
+
useIsoLayoutEffect(function() {
|
|
3183
|
+
const el = wrapRef.current;
|
|
3184
|
+
if (!el || typeof getComputedStyle === "undefined") return;
|
|
3185
|
+
const v = parseFloat(getComputedStyle(el).getPropertyValue("--aura-table-row-height"));
|
|
3186
|
+
if (v > 0 && v !== rowH[0]) rowH[1](v);
|
|
3187
|
+
});
|
|
3188
|
+
const pending = React28.useRef(null);
|
|
3189
|
+
const resizing = React28.useRef(false);
|
|
2628
3190
|
useIsoLayoutEffect(function() {
|
|
2629
3191
|
if (stacked || !gridRef.current) return;
|
|
2630
3192
|
const els = gridRef.current.querySelectorAll(
|
|
@@ -2683,7 +3245,7 @@ window.Aura = (() => {
|
|
|
2683
3245
|
if (isPinned(c)) s.left = "calc(var(--aura-space-6)" + selW + " + " + pinOffsets[c.key] + "px)";
|
|
2684
3246
|
return s;
|
|
2685
3247
|
}
|
|
2686
|
-
const view =
|
|
3248
|
+
const view = React28.useMemo(
|
|
2687
3249
|
function() {
|
|
2688
3250
|
if (manual || !sort || !sort.key || !byKey[sort.key]) return rows;
|
|
2689
3251
|
const col = byKey[sort.key];
|
|
@@ -2717,7 +3279,7 @@ window.Aura = (() => {
|
|
|
2717
3279
|
const canSortAny = !busy && (manual ? total > 1 : rows.length > 1);
|
|
2718
3280
|
const shownTotal = manual && props.totalRows == null ? first + rows.length : total;
|
|
2719
3281
|
const linkPaging = !!props.getPageHref && !props.onPageChange;
|
|
2720
|
-
const prevLink =
|
|
3282
|
+
const prevLink = React28.useRef(null), nextLink = React28.useRef(null);
|
|
2721
3283
|
function goPage(p, focus) {
|
|
2722
3284
|
const next = Math.min(Math.max(1, p), pageCount);
|
|
2723
3285
|
if (next === page) return false;
|
|
@@ -2752,7 +3314,7 @@ window.Aura = (() => {
|
|
|
2752
3314
|
);
|
|
2753
3315
|
}
|
|
2754
3316
|
function rowLinkWrap(r, content) {
|
|
2755
|
-
return rowHref ? /* @__PURE__ */
|
|
3317
|
+
return rowHref ? /* @__PURE__ */ React28.createElement(Link, { href: rowHref(r), className: "aura-table__row-link" }, content) : content;
|
|
2756
3318
|
}
|
|
2757
3319
|
const height = props.height || 0;
|
|
2758
3320
|
const virtual = !!height && !loading && pageRows.length > 0;
|
|
@@ -2775,7 +3337,7 @@ window.Aura = (() => {
|
|
|
2775
3337
|
if (!activeRendered) return r === 0 && c === ac ? 0 : -1;
|
|
2776
3338
|
return r === ar && c === ac ? 0 : -1;
|
|
2777
3339
|
}
|
|
2778
|
-
|
|
3340
|
+
React28.useEffect(function() {
|
|
2779
3341
|
const p = pending.current;
|
|
2780
3342
|
if (!p || !gridRef.current) return;
|
|
2781
3343
|
let c = p.c;
|
|
@@ -2941,9 +3503,9 @@ window.Aura = (() => {
|
|
|
2941
3503
|
const group = vis.filter(function(x) {
|
|
2942
3504
|
return isPinned(x) === isPinned(c);
|
|
2943
3505
|
}), gi = group.indexOf(c);
|
|
2944
|
-
const
|
|
3506
|
+
const items2 = [];
|
|
2945
3507
|
if (c.sortable)
|
|
2946
|
-
|
|
3508
|
+
items2.push(
|
|
2947
3509
|
{
|
|
2948
3510
|
label: t.sortAsc,
|
|
2949
3511
|
icon: "arrow-up",
|
|
@@ -2963,7 +3525,7 @@ window.Aura = (() => {
|
|
|
2963
3525
|
{ separator: true }
|
|
2964
3526
|
);
|
|
2965
3527
|
if (c.width != null)
|
|
2966
|
-
|
|
3528
|
+
items2.push({
|
|
2967
3529
|
label: isPinned(c) ? t.unpin : t.pin,
|
|
2968
3530
|
icon: isPinned(c) ? "pin-off" : "pin",
|
|
2969
3531
|
onSelect: function() {
|
|
@@ -2971,7 +3533,7 @@ window.Aura = (() => {
|
|
|
2971
3533
|
}
|
|
2972
3534
|
});
|
|
2973
3535
|
if (reorderable)
|
|
2974
|
-
|
|
3536
|
+
items2.push(
|
|
2975
3537
|
{
|
|
2976
3538
|
label: t.moveLeft,
|
|
2977
3539
|
icon: "arrow-left",
|
|
@@ -2989,7 +3551,7 @@ window.Aura = (() => {
|
|
|
2989
3551
|
}
|
|
2990
3552
|
}
|
|
2991
3553
|
);
|
|
2992
|
-
|
|
3554
|
+
items2.push(
|
|
2993
3555
|
{ separator: true },
|
|
2994
3556
|
{
|
|
2995
3557
|
label: t.hideColumn,
|
|
@@ -3000,7 +3562,7 @@ window.Aura = (() => {
|
|
|
3000
3562
|
}
|
|
3001
3563
|
}
|
|
3002
3564
|
);
|
|
3003
|
-
return
|
|
3565
|
+
return items2;
|
|
3004
3566
|
}
|
|
3005
3567
|
function pickerItems() {
|
|
3006
3568
|
return order.map(function(k) {
|
|
@@ -3086,10 +3648,10 @@ window.Aura = (() => {
|
|
|
3086
3648
|
e.stopPropagation();
|
|
3087
3649
|
}
|
|
3088
3650
|
}
|
|
3089
|
-
const head = [/* @__PURE__ */
|
|
3651
|
+
const head = [/* @__PURE__ */ React28.createElement("span", { key: "__gl", className: "aura-table__gutter", "aria-hidden": true })];
|
|
3090
3652
|
if (selectable)
|
|
3091
3653
|
head.push(
|
|
3092
|
-
/* @__PURE__ */
|
|
3654
|
+
/* @__PURE__ */ React28.createElement(
|
|
3093
3655
|
"span",
|
|
3094
3656
|
{
|
|
3095
3657
|
key: "__sel",
|
|
@@ -3103,7 +3665,7 @@ window.Aura = (() => {
|
|
|
3103
3665
|
activeState[1]({ r: 0, c: 0 });
|
|
3104
3666
|
}
|
|
3105
3667
|
},
|
|
3106
|
-
nRows ? /* @__PURE__ */
|
|
3668
|
+
nRows ? /* @__PURE__ */ React28.createElement(
|
|
3107
3669
|
Checkbox,
|
|
3108
3670
|
{
|
|
3109
3671
|
checked: all,
|
|
@@ -3122,7 +3684,7 @@ window.Aura = (() => {
|
|
|
3122
3684
|
const ariaSort = isSorted && canSort ? sort.dir === "desc" ? "descending" : "ascending" : canSort ? "none" : void 0;
|
|
3123
3685
|
const pin = isPinned(c), edge = pin && i === nPinned - 1;
|
|
3124
3686
|
head.push(
|
|
3125
|
-
/* @__PURE__ */
|
|
3687
|
+
/* @__PURE__ */ React28.createElement(
|
|
3126
3688
|
"span",
|
|
3127
3689
|
{
|
|
3128
3690
|
key: c.key,
|
|
@@ -3171,7 +3733,7 @@ window.Aura = (() => {
|
|
|
3171
3733
|
setDrag(null);
|
|
3172
3734
|
}
|
|
3173
3735
|
},
|
|
3174
|
-
/* @__PURE__ */
|
|
3736
|
+
/* @__PURE__ */ React28.createElement("span", { className: "aura-table__th-inner" }, canSort ? /* @__PURE__ */ React28.createElement(
|
|
3175
3737
|
"button",
|
|
3176
3738
|
{
|
|
3177
3739
|
type: "button",
|
|
@@ -3183,8 +3745,8 @@ window.Aura = (() => {
|
|
|
3183
3745
|
}
|
|
3184
3746
|
},
|
|
3185
3747
|
c.label,
|
|
3186
|
-
/* @__PURE__ */
|
|
3187
|
-
) : /* @__PURE__ */
|
|
3748
|
+
/* @__PURE__ */ React28.createElement(Icon, { name: isSorted ? sort.dir === "desc" ? "arrow-down" : "arrow-up" : "arrow-up-down", size: 12 })
|
|
3749
|
+
) : /* @__PURE__ */ React28.createElement("span", { className: cx("aura-table__th-label", !c.label && "aura-sr-only") }, c.label || (c.actions ? t.actions : c.key)), pin ? /* @__PURE__ */ React28.createElement(Icon, { name: "pin", size: 12, className: "aura-table__pin-icon", label: t.pinned }) : null, controls ? /* @__PURE__ */ React28.createElement(
|
|
3188
3750
|
"button",
|
|
3189
3751
|
{
|
|
3190
3752
|
type: "button",
|
|
@@ -3198,9 +3760,9 @@ window.Aura = (() => {
|
|
|
3198
3760
|
openMenu("col", c.key, e.currentTarget, { r: 0, c: ci });
|
|
3199
3761
|
}
|
|
3200
3762
|
},
|
|
3201
|
-
/* @__PURE__ */
|
|
3763
|
+
/* @__PURE__ */ React28.createElement(Icon, { name: "ellipsis" })
|
|
3202
3764
|
) : null),
|
|
3203
|
-
canResize(c) ? /* @__PURE__ */
|
|
3765
|
+
canResize(c) ? /* @__PURE__ */ React28.createElement(
|
|
3204
3766
|
"span",
|
|
3205
3767
|
{
|
|
3206
3768
|
className: "aura-table__resize",
|
|
@@ -3222,7 +3784,7 @@ window.Aura = (() => {
|
|
|
3222
3784
|
);
|
|
3223
3785
|
});
|
|
3224
3786
|
head.push(
|
|
3225
|
-
/* @__PURE__ */
|
|
3787
|
+
/* @__PURE__ */ React28.createElement(
|
|
3226
3788
|
"span",
|
|
3227
3789
|
{
|
|
3228
3790
|
key: "__gr",
|
|
@@ -3233,14 +3795,14 @@ window.Aura = (() => {
|
|
|
3233
3795
|
);
|
|
3234
3796
|
function cellContent(c, r) {
|
|
3235
3797
|
const v = r[c.key];
|
|
3236
|
-
return c.render ? c.render(r) : c.pill ? /* @__PURE__ */
|
|
3798
|
+
return c.render ? c.render(r) : c.pill ? /* @__PURE__ */ React28.createElement(StatusPill, { ...{ tone: c.tones && c.tones[v] } }, v) : v;
|
|
3237
3799
|
}
|
|
3238
3800
|
function rowCells(r, i, k, isSel) {
|
|
3239
3801
|
const ri = i + 1;
|
|
3240
|
-
const cells = [/* @__PURE__ */
|
|
3802
|
+
const cells = [/* @__PURE__ */ React28.createElement("span", { key: "__gl", className: "aura-table__gutter", "aria-hidden": true })];
|
|
3241
3803
|
if (selectable)
|
|
3242
3804
|
cells.push(
|
|
3243
|
-
/* @__PURE__ */
|
|
3805
|
+
/* @__PURE__ */ React28.createElement(
|
|
3244
3806
|
"span",
|
|
3245
3807
|
{
|
|
3246
3808
|
key: "__sel",
|
|
@@ -3254,7 +3816,7 @@ window.Aura = (() => {
|
|
|
3254
3816
|
if (e.target === e.currentTarget) activeState[1]({ r: ri, c: 0 });
|
|
3255
3817
|
}
|
|
3256
3818
|
},
|
|
3257
|
-
/* @__PURE__ */
|
|
3819
|
+
/* @__PURE__ */ React28.createElement(
|
|
3258
3820
|
Checkbox,
|
|
3259
3821
|
{
|
|
3260
3822
|
checked: isSel,
|
|
@@ -3270,7 +3832,7 @@ window.Aura = (() => {
|
|
|
3270
3832
|
vis.forEach(function(c, j) {
|
|
3271
3833
|
const ci = j + (selectable ? 1 : 0), v = r[c.key], pin = isPinned(c);
|
|
3272
3834
|
cells.push(
|
|
3273
|
-
/* @__PURE__ */
|
|
3835
|
+
/* @__PURE__ */ React28.createElement(
|
|
3274
3836
|
"span",
|
|
3275
3837
|
{
|
|
3276
3838
|
key: c.key,
|
|
@@ -3295,7 +3857,7 @@ window.Aura = (() => {
|
|
|
3295
3857
|
);
|
|
3296
3858
|
});
|
|
3297
3859
|
cells.push(
|
|
3298
|
-
/* @__PURE__ */
|
|
3860
|
+
/* @__PURE__ */ React28.createElement(
|
|
3299
3861
|
"span",
|
|
3300
3862
|
{
|
|
3301
3863
|
key: "__gr",
|
|
@@ -3312,21 +3874,21 @@ window.Aura = (() => {
|
|
|
3312
3874
|
const n2 = pageSize || props.skeletonRows || 5;
|
|
3313
3875
|
const skRows = body = [];
|
|
3314
3876
|
for (let i = 0; i < n2; i++) {
|
|
3315
|
-
const sk = [/* @__PURE__ */
|
|
3877
|
+
const sk = [/* @__PURE__ */ React28.createElement("span", { key: "__gl", className: "aura-table__gutter" })];
|
|
3316
3878
|
if (selectable)
|
|
3317
3879
|
sk.push(
|
|
3318
|
-
/* @__PURE__ */
|
|
3880
|
+
/* @__PURE__ */ React28.createElement("span", { key: "__sel", className: cx("aura-table__sel", nPinned && "is-pinned") }, /* @__PURE__ */ React28.createElement("span", { className: "aura-skel aura-skel--box" }))
|
|
3319
3881
|
);
|
|
3320
3882
|
vis.forEach(function(c, j) {
|
|
3321
3883
|
sk.push(
|
|
3322
|
-
/* @__PURE__ */
|
|
3884
|
+
/* @__PURE__ */ React28.createElement(
|
|
3323
3885
|
"span",
|
|
3324
3886
|
{
|
|
3325
3887
|
key: c.key,
|
|
3326
3888
|
className: cx("aura-table__td", c.align === "end" && "is-end", isPinned(c) && "is-pinned"),
|
|
3327
3889
|
style: cellStyle(c, j)
|
|
3328
3890
|
},
|
|
3329
|
-
/* @__PURE__ */
|
|
3891
|
+
/* @__PURE__ */ React28.createElement(
|
|
3330
3892
|
"span",
|
|
3331
3893
|
{
|
|
3332
3894
|
className: cx("aura-skel", c.pill && "aura-skel--pill"),
|
|
@@ -3337,24 +3899,24 @@ window.Aura = (() => {
|
|
|
3337
3899
|
);
|
|
3338
3900
|
});
|
|
3339
3901
|
sk.push(
|
|
3340
|
-
/* @__PURE__ */
|
|
3902
|
+
/* @__PURE__ */ React28.createElement("span", { key: "__gr", className: cx("aura-table__gutter aura-table__gutter--end", controls && "has-picker") })
|
|
3341
3903
|
);
|
|
3342
3904
|
skRows.push(
|
|
3343
|
-
/* @__PURE__ */
|
|
3905
|
+
/* @__PURE__ */ React28.createElement("div", { key: "sk" + i, className: "aura-table__row aura-table__row--skeleton", "aria-hidden": true, style: rowStyle }, sk)
|
|
3344
3906
|
);
|
|
3345
3907
|
}
|
|
3346
3908
|
} else if (!rows.length) {
|
|
3347
3909
|
const em = props.empty || {};
|
|
3348
|
-
body = /* @__PURE__ */
|
|
3910
|
+
body = /* @__PURE__ */ React28.createElement("div", { className: "aura-table__empty", role: "row" }, /* @__PURE__ */ React28.createElement("div", { role: "gridcell" }, /* @__PURE__ */ React28.createElement("span", { className: "aura-table__empty-icon" }, /* @__PURE__ */ React28.createElement(Icon, { name: em.icon || "inbox", size: "lg" })), /* @__PURE__ */ React28.createElement("p", { className: "aura-table__empty-title" }, em.title || t.empty), em.description ? /* @__PURE__ */ React28.createElement("p", { className: "aura-table__empty-text" }, em.description) : null, em.action ? /* @__PURE__ */ React28.createElement("div", { className: "aura-table__empty-action" }, em.action) : null));
|
|
3349
3911
|
} else {
|
|
3350
3912
|
const bodyRows = body = [];
|
|
3351
3913
|
if (virtual && start > 0)
|
|
3352
|
-
bodyRows.push(/* @__PURE__ */
|
|
3914
|
+
bodyRows.push(/* @__PURE__ */ React28.createElement("div", { key: "__top", style: { height: start * ROW_H + "px" }, "aria-hidden": true }));
|
|
3353
3915
|
for (let ri = start; ri < end; ri++) {
|
|
3354
3916
|
(function(r, i) {
|
|
3355
3917
|
const k = r[rowKey], isSel = !!selSet[k];
|
|
3356
3918
|
bodyRows.push(
|
|
3357
|
-
/* @__PURE__ */
|
|
3919
|
+
/* @__PURE__ */ React28.createElement(
|
|
3358
3920
|
"div",
|
|
3359
3921
|
{
|
|
3360
3922
|
key: k,
|
|
@@ -3380,13 +3942,13 @@ window.Aura = (() => {
|
|
|
3380
3942
|
})(pageRows[ri], ri);
|
|
3381
3943
|
}
|
|
3382
3944
|
if (virtual && end < pageRows.length)
|
|
3383
|
-
bodyRows.push(/* @__PURE__ */
|
|
3945
|
+
bodyRows.push(/* @__PURE__ */ React28.createElement("div", { key: "__bot", style: { height: (pageRows.length - end) * ROW_H + "px" }, "aria-hidden": true }));
|
|
3384
3946
|
}
|
|
3385
3947
|
let foot = null;
|
|
3386
3948
|
function pagerButton(dir) {
|
|
3387
3949
|
const p = page + dir, off = busy || (dir < 0 ? page <= 1 : page >= pageCount), label = dir < 0 ? t.prevPage : t.nextPage, icon = dir < 0 ? "chevron-left" : "chevron-right";
|
|
3388
3950
|
if (props.getPageHref && !off)
|
|
3389
|
-
return /* @__PURE__ */
|
|
3951
|
+
return /* @__PURE__ */ React28.createElement(
|
|
3390
3952
|
Link,
|
|
3391
3953
|
{
|
|
3392
3954
|
ref: dir < 0 ? prevLink : nextLink,
|
|
@@ -3400,9 +3962,9 @@ window.Aura = (() => {
|
|
|
3400
3962
|
}
|
|
3401
3963
|
}
|
|
3402
3964
|
},
|
|
3403
|
-
/* @__PURE__ */
|
|
3965
|
+
/* @__PURE__ */ React28.createElement(Icon, { name: icon })
|
|
3404
3966
|
);
|
|
3405
|
-
return /* @__PURE__ */
|
|
3967
|
+
return /* @__PURE__ */ React28.createElement(
|
|
3406
3968
|
IconButton,
|
|
3407
3969
|
{
|
|
3408
3970
|
icon,
|
|
@@ -3416,9 +3978,9 @@ window.Aura = (() => {
|
|
|
3416
3978
|
}
|
|
3417
3979
|
if (pageSize && (rows.length || busy)) {
|
|
3418
3980
|
const from = rows.length ? first + 1 : 0, to = manual ? first + rows.length : Math.min(first + pageSize, view.length);
|
|
3419
|
-
foot = /* @__PURE__ */
|
|
3981
|
+
foot = /* @__PURE__ */ React28.createElement("div", { className: "aura-table__foot" }, /* @__PURE__ */ React28.createElement("span", { "aria-live": "polite" }, busy ? t.loading : t.range(from, to, shownTotal)), /* @__PURE__ */ React28.createElement("span", { className: "aura-table__pager" }, /* @__PURE__ */ React28.createElement("span", null, t.page(page, pageCount)), pagerButton(-1), pagerButton(1)));
|
|
3420
3982
|
} else if (height && rows.length && !loading) {
|
|
3421
|
-
foot = /* @__PURE__ */
|
|
3983
|
+
foot = /* @__PURE__ */ React28.createElement("div", { className: "aura-table__foot" }, /* @__PURE__ */ React28.createElement("span", null, t.rowCount(shownTotal)), selectable && selected.length ? /* @__PURE__ */ React28.createElement("span", null, t.selectedCount(selected.length)) : /* @__PURE__ */ React28.createElement("span", null));
|
|
3422
3984
|
}
|
|
3423
3985
|
if (stacked) {
|
|
3424
3986
|
const titleCol = vis[0], pillCol = vis.filter(function(c) {
|
|
@@ -3432,17 +3994,17 @@ window.Aura = (() => {
|
|
|
3432
3994
|
});
|
|
3433
3995
|
let cardBody;
|
|
3434
3996
|
if (loading) {
|
|
3435
|
-
cardBody = /* @__PURE__ */
|
|
3436
|
-
return /* @__PURE__ */
|
|
3997
|
+
cardBody = /* @__PURE__ */ React28.createElement("ul", { className: "aura-table__cards", "aria-busy": true }, [0, 1, 2].map(function(i) {
|
|
3998
|
+
return /* @__PURE__ */ React28.createElement("li", { key: i, className: "aura-table__card", "aria-hidden": true }, /* @__PURE__ */ React28.createElement("span", { className: "aura-skel", style: { width: "50%", height: "14px" } }), /* @__PURE__ */ React28.createElement("span", { className: "aura-skel", style: { width: "80%" } }), /* @__PURE__ */ React28.createElement("span", { className: "aura-skel", style: { width: "64%" } }));
|
|
3437
3999
|
}));
|
|
3438
4000
|
} else if (!rows.length) {
|
|
3439
4001
|
const em2 = props.empty || {};
|
|
3440
|
-
cardBody = /* @__PURE__ */
|
|
4002
|
+
cardBody = /* @__PURE__ */ React28.createElement("div", { className: "aura-table__empty" }, /* @__PURE__ */ React28.createElement("div", null, /* @__PURE__ */ React28.createElement("span", { className: "aura-table__empty-icon" }, /* @__PURE__ */ React28.createElement(Icon, { name: em2.icon || "inbox", size: "lg" })), /* @__PURE__ */ React28.createElement("p", { className: "aura-table__empty-title" }, em2.title || t.empty), em2.description ? /* @__PURE__ */ React28.createElement("p", { className: "aura-table__empty-text" }, em2.description) : null, em2.action ? /* @__PURE__ */ React28.createElement("div", { className: "aura-table__empty-action" }, em2.action) : null));
|
|
3441
4003
|
} else {
|
|
3442
4004
|
const cellVal = cellContent;
|
|
3443
|
-
cardBody = /* @__PURE__ */
|
|
4005
|
+
cardBody = /* @__PURE__ */ React28.createElement("ul", { className: "aura-table__cards", "aria-label": props.label }, pageRows.map(function(r) {
|
|
3444
4006
|
const k = r[rowKey], isSel = !!selSet[k];
|
|
3445
|
-
return /* @__PURE__ */
|
|
4007
|
+
return /* @__PURE__ */ React28.createElement(
|
|
3446
4008
|
"li",
|
|
3447
4009
|
{
|
|
3448
4010
|
key: k,
|
|
@@ -3463,7 +4025,7 @@ window.Aura = (() => {
|
|
|
3463
4025
|
props.onRowActivate(r);
|
|
3464
4026
|
}
|
|
3465
4027
|
},
|
|
3466
|
-
/* @__PURE__ */
|
|
4028
|
+
/* @__PURE__ */ React28.createElement("div", { className: "aura-table__card-head" }, selectable ? /* @__PURE__ */ React28.createElement(
|
|
3467
4029
|
Checkbox,
|
|
3468
4030
|
{
|
|
3469
4031
|
checked: isSel,
|
|
@@ -3472,26 +4034,27 @@ window.Aura = (() => {
|
|
|
3472
4034
|
toggle(k, on);
|
|
3473
4035
|
}
|
|
3474
4036
|
}
|
|
3475
|
-
) : null, /* @__PURE__ */
|
|
3476
|
-
return /* @__PURE__ */
|
|
4037
|
+
) : null, /* @__PURE__ */ React28.createElement("span", { className: cx("aura-table__card-title", titleCol.mono && "aura-table__mono") }, rowLinkWrap(r, cellVal(titleCol, r))), pillCol ? cellVal(pillCol, r) : null, actionCols.map(function(c) {
|
|
4038
|
+
return /* @__PURE__ */ React28.createElement("span", { key: c.key, className: "aura-table__card-actions" }, cellVal(c, r));
|
|
3477
4039
|
})),
|
|
3478
|
-
rest.length ? /* @__PURE__ */
|
|
3479
|
-
return /* @__PURE__ */
|
|
4040
|
+
rest.length ? /* @__PURE__ */ React28.createElement("dl", { className: "aura-table__card-fields" }, rest.map(function(c) {
|
|
4041
|
+
return /* @__PURE__ */ React28.createElement("div", { key: c.key }, /* @__PURE__ */ React28.createElement("dt", null, c.label), /* @__PURE__ */ React28.createElement("dd", { className: c.mono ? "aura-table__mono" : void 0 }, cellVal(c, r)));
|
|
3480
4042
|
})) : null
|
|
3481
4043
|
);
|
|
3482
4044
|
}));
|
|
3483
4045
|
}
|
|
3484
|
-
return /* @__PURE__ */
|
|
4046
|
+
return /* @__PURE__ */ React28.createElement(
|
|
3485
4047
|
"div",
|
|
3486
4048
|
{
|
|
3487
4049
|
ref: wrapMerged,
|
|
4050
|
+
"data-density": props.density,
|
|
3488
4051
|
className: cx("aura-table aura-table--stacked", refreshing && "is-refreshing", props.className),
|
|
3489
4052
|
role: "region",
|
|
3490
4053
|
"aria-label": props.label,
|
|
3491
4054
|
"aria-busy": busy || void 0
|
|
3492
4055
|
},
|
|
3493
|
-
refreshing ? /* @__PURE__ */
|
|
3494
|
-
selectable && pageRows.length && !busy ? /* @__PURE__ */
|
|
4056
|
+
refreshing ? /* @__PURE__ */ React28.createElement("span", { className: "aura-table__busy-bar", "aria-hidden": true }) : null,
|
|
4057
|
+
selectable && pageRows.length && !busy ? /* @__PURE__ */ React28.createElement("div", { className: "aura-table__stack-bar" }, /* @__PURE__ */ React28.createElement(
|
|
3495
4058
|
Checkbox,
|
|
3496
4059
|
{
|
|
3497
4060
|
checked: all,
|
|
@@ -3499,7 +4062,7 @@ window.Aura = (() => {
|
|
|
3499
4062
|
label: all ? t.deselectAllRows : t.selectAllRows,
|
|
3500
4063
|
onChange: toggleAll
|
|
3501
4064
|
}
|
|
3502
|
-
), /* @__PURE__ */
|
|
4065
|
+
), /* @__PURE__ */ React28.createElement("span", null, nSel ? t.selectedCount(nSel) : t.selectAll)) : null,
|
|
3503
4066
|
cardBody,
|
|
3504
4067
|
foot
|
|
3505
4068
|
);
|
|
@@ -3509,14 +4072,15 @@ window.Aura = (() => {
|
|
|
3509
4072
|
scrollPaddingTop: ROW_H + "px"
|
|
3510
4073
|
};
|
|
3511
4074
|
if (height) scrollStyle.height = height + "px";
|
|
3512
|
-
return /* @__PURE__ */
|
|
4075
|
+
return /* @__PURE__ */ React28.createElement(
|
|
3513
4076
|
"div",
|
|
3514
4077
|
{
|
|
3515
4078
|
ref: wrapMerged,
|
|
4079
|
+
"data-density": props.density,
|
|
3516
4080
|
className: cx("aura-table", scrolledX[0] && "is-scrolled-x", refreshing && "is-refreshing", props.className)
|
|
3517
4081
|
},
|
|
3518
|
-
refreshing ? /* @__PURE__ */
|
|
3519
|
-
/* @__PURE__ */
|
|
4082
|
+
refreshing ? /* @__PURE__ */ React28.createElement("span", { className: "aura-table__busy-bar", "aria-hidden": true }) : null,
|
|
4083
|
+
/* @__PURE__ */ React28.createElement(
|
|
3520
4084
|
"div",
|
|
3521
4085
|
{
|
|
3522
4086
|
ref: function(el) {
|
|
@@ -3541,11 +4105,11 @@ window.Aura = (() => {
|
|
|
3541
4105
|
if (sx !== scrolledX[0]) scrolledX[1](sx);
|
|
3542
4106
|
}
|
|
3543
4107
|
},
|
|
3544
|
-
/* @__PURE__ */
|
|
4108
|
+
/* @__PURE__ */ React28.createElement("div", { className: "aura-table__head", role: "row", "aria-rowindex": 1, style: rowStyle }, head),
|
|
3545
4109
|
body
|
|
3546
4110
|
),
|
|
3547
|
-
busy ? /* @__PURE__ */
|
|
3548
|
-
controls ? /* @__PURE__ */
|
|
4111
|
+
busy ? /* @__PURE__ */ React28.createElement("span", { className: "aura-sr-only", role: "status" }, t.loadingRows) : null,
|
|
4112
|
+
controls ? /* @__PURE__ */ React28.createElement("div", { className: "aura-table__picker" }, /* @__PURE__ */ React28.createElement(
|
|
3549
4113
|
IconButton,
|
|
3550
4114
|
{
|
|
3551
4115
|
icon: "columns-3",
|
|
@@ -3557,7 +4121,7 @@ window.Aura = (() => {
|
|
|
3557
4121
|
}
|
|
3558
4122
|
)) : null,
|
|
3559
4123
|
foot,
|
|
3560
|
-
menu ? /* @__PURE__ */
|
|
4124
|
+
menu ? /* @__PURE__ */ React28.createElement(
|
|
3561
4125
|
Menu,
|
|
3562
4126
|
{
|
|
3563
4127
|
anchor: menu.anchor,
|
|
@@ -3570,9 +4134,9 @@ window.Aura = (() => {
|
|
|
3570
4134
|
});
|
|
3571
4135
|
|
|
3572
4136
|
// src/Card.tsx
|
|
3573
|
-
var
|
|
3574
|
-
var h4 =
|
|
3575
|
-
var Card =
|
|
4137
|
+
var React29 = __toESM(require_react(), 1);
|
|
4138
|
+
var h4 = React29.createElement;
|
|
4139
|
+
var Card = React29.forwardRef(function Card2(props, ref) {
|
|
3576
4140
|
const creative = props.variant === "creative";
|
|
3577
4141
|
return h4(
|
|
3578
4142
|
props.as || "section",
|
|
@@ -3586,41 +4150,41 @@ window.Aura = (() => {
|
|
|
3586
4150
|
),
|
|
3587
4151
|
"aria-labelledby": props.title && props.titleId ? props.titleId : void 0
|
|
3588
4152
|
},
|
|
3589
|
-
props.title || props.actions ? /* @__PURE__ */
|
|
3590
|
-
props.children ? /* @__PURE__ */
|
|
3591
|
-
props.footer ? /* @__PURE__ */
|
|
4153
|
+
props.title || props.actions ? /* @__PURE__ */ React29.createElement("div", { className: "aura-card__head" }, /* @__PURE__ */ React29.createElement("div", { className: "aura-card__heading" }, props.title ? h4("h" + (props.headingLevel || 3), { className: "aura-card__title", id: props.titleId }, props.title) : null, props.description ? /* @__PURE__ */ React29.createElement("p", { className: "aura-card__desc" }, props.description) : null), props.actions ? /* @__PURE__ */ React29.createElement("div", { className: "aura-card__actions" }, props.actions) : null) : null,
|
|
4154
|
+
props.children ? /* @__PURE__ */ React29.createElement("div", { className: "aura-card__body" }, props.children) : null,
|
|
4155
|
+
props.footer ? /* @__PURE__ */ React29.createElement("div", { className: "aura-card__foot" }, props.footer) : null
|
|
3592
4156
|
);
|
|
3593
4157
|
});
|
|
3594
4158
|
|
|
3595
4159
|
// src/Tabs.tsx
|
|
3596
|
-
var
|
|
3597
|
-
var Tabs =
|
|
3598
|
-
const
|
|
4160
|
+
var React30 = __toESM(require_react(), 1);
|
|
4161
|
+
var Tabs = React30.forwardRef(function Tabs2(props, ref) {
|
|
4162
|
+
const items2 = props.tabs || [], base = uid();
|
|
3599
4163
|
const st = useMaybeControlled(
|
|
3600
4164
|
props.value,
|
|
3601
|
-
props.defaultValue ||
|
|
4165
|
+
props.defaultValue || items2[0] && items2[0].id,
|
|
3602
4166
|
props.onChange
|
|
3603
4167
|
);
|
|
3604
|
-
const refs =
|
|
3605
|
-
const current2 =
|
|
4168
|
+
const refs = React30.useRef({});
|
|
4169
|
+
const current2 = items2.filter(function(t) {
|
|
3606
4170
|
return t.id === st[0];
|
|
3607
|
-
})[0] ||
|
|
4171
|
+
})[0] || items2[0];
|
|
3608
4172
|
function go(i) {
|
|
3609
|
-
const enabled =
|
|
4173
|
+
const enabled = items2.filter(function(t2) {
|
|
3610
4174
|
return !t2.disabled;
|
|
3611
4175
|
});
|
|
3612
4176
|
const t = enabled[(i + enabled.length) % enabled.length];
|
|
3613
4177
|
st[1](t.id);
|
|
3614
4178
|
if (refs.current[t.id]) refs.current[t.id].focus();
|
|
3615
4179
|
}
|
|
3616
|
-
return /* @__PURE__ */
|
|
4180
|
+
return /* @__PURE__ */ React30.createElement("div", { ref, className: cx("aura-tabs", props.className) }, /* @__PURE__ */ React30.createElement(
|
|
3617
4181
|
"div",
|
|
3618
4182
|
{
|
|
3619
4183
|
role: "tablist",
|
|
3620
4184
|
"aria-label": props.label,
|
|
3621
4185
|
className: "aura-tabs__list",
|
|
3622
4186
|
onKeyDown: function(e) {
|
|
3623
|
-
const enabled =
|
|
4187
|
+
const enabled = items2.filter(function(t) {
|
|
3624
4188
|
return !t.disabled;
|
|
3625
4189
|
}), i = enabled.indexOf(current2);
|
|
3626
4190
|
if (e.key === "ArrowRight") {
|
|
@@ -3638,9 +4202,9 @@ window.Aura = (() => {
|
|
|
3638
4202
|
}
|
|
3639
4203
|
}
|
|
3640
4204
|
},
|
|
3641
|
-
|
|
4205
|
+
items2.map(function(t) {
|
|
3642
4206
|
const on = current2 && t.id === current2.id;
|
|
3643
|
-
return /* @__PURE__ */
|
|
4207
|
+
return /* @__PURE__ */ React30.createElement(
|
|
3644
4208
|
"button",
|
|
3645
4209
|
{
|
|
3646
4210
|
key: t.id,
|
|
@@ -3659,12 +4223,12 @@ window.Aura = (() => {
|
|
|
3659
4223
|
st[1](t.id);
|
|
3660
4224
|
}
|
|
3661
4225
|
},
|
|
3662
|
-
t.icon ? /* @__PURE__ */
|
|
4226
|
+
t.icon ? /* @__PURE__ */ React30.createElement(Icon, { name: t.icon }) : null,
|
|
3663
4227
|
t.label,
|
|
3664
|
-
t.count != null ? /* @__PURE__ */
|
|
4228
|
+
t.count != null ? /* @__PURE__ */ React30.createElement("span", { className: "aura-tab__count" }, t.count) : null
|
|
3665
4229
|
);
|
|
3666
4230
|
})
|
|
3667
|
-
), current2 && current2.content !== void 0 ? /* @__PURE__ */
|
|
4231
|
+
), current2 && current2.content !== void 0 ? /* @__PURE__ */ React30.createElement(
|
|
3668
4232
|
"div",
|
|
3669
4233
|
{
|
|
3670
4234
|
role: "tabpanel",
|
|
@@ -3678,13 +4242,13 @@ window.Aura = (() => {
|
|
|
3678
4242
|
});
|
|
3679
4243
|
|
|
3680
4244
|
// src/SideNav.tsx
|
|
3681
|
-
var
|
|
4245
|
+
var React31 = __toESM(require_react(), 1);
|
|
3682
4246
|
function contains(it, id) {
|
|
3683
4247
|
return !!id && !!it.children && it.children.some(function(c) {
|
|
3684
4248
|
return c.id === id || contains(c, id);
|
|
3685
4249
|
});
|
|
3686
4250
|
}
|
|
3687
|
-
var SideNav =
|
|
4251
|
+
var SideNav = React31.forwardRef(function SideNav2(props, ref) {
|
|
3688
4252
|
const t = useStrings();
|
|
3689
4253
|
const Link = useLinkComponent(props.linkComponent);
|
|
3690
4254
|
const base = uid();
|
|
@@ -3695,12 +4259,12 @@ window.Aura = (() => {
|
|
|
3695
4259
|
);
|
|
3696
4260
|
const active = st[0];
|
|
3697
4261
|
const sections = props.sections || [{ items: props.items || [] }];
|
|
3698
|
-
const openState =
|
|
4262
|
+
const openState = React31.useState({}), toggled = openState[0], setToggled = openState[1];
|
|
3699
4263
|
function isOpen(it) {
|
|
3700
4264
|
if (toggled[it.id] != null) return toggled[it.id];
|
|
3701
4265
|
return !!it.defaultOpen || contains(it, active);
|
|
3702
4266
|
}
|
|
3703
|
-
|
|
4267
|
+
React31.useEffect(
|
|
3704
4268
|
function() {
|
|
3705
4269
|
if (!active) return;
|
|
3706
4270
|
const next = {};
|
|
@@ -3722,14 +4286,14 @@ window.Aura = (() => {
|
|
|
3722
4286
|
},
|
|
3723
4287
|
[active]
|
|
3724
4288
|
);
|
|
3725
|
-
const navRef =
|
|
4289
|
+
const navRef = React31.useRef(null);
|
|
3726
4290
|
function onKeyDown(e) {
|
|
3727
4291
|
const k = e.key;
|
|
3728
4292
|
if (k !== "ArrowDown" && k !== "ArrowUp" && k !== "Home" && k !== "End") return;
|
|
3729
4293
|
const root = navRef.current;
|
|
3730
4294
|
if (!root) return;
|
|
3731
|
-
const
|
|
3732
|
-
const visible =
|
|
4295
|
+
const items2 = Array.prototype.slice.call(root.querySelectorAll(".aura-nav__item"));
|
|
4296
|
+
const visible = items2.filter(function(el) {
|
|
3733
4297
|
return el.offsetParent !== null || el === document.activeElement;
|
|
3734
4298
|
});
|
|
3735
4299
|
const i = visible.indexOf(document.activeElement);
|
|
@@ -3740,11 +4304,11 @@ window.Aura = (() => {
|
|
|
3740
4304
|
}
|
|
3741
4305
|
function inner(it, group, open) {
|
|
3742
4306
|
return [
|
|
3743
|
-
it.icon ? /* @__PURE__ */
|
|
3744
|
-
/* @__PURE__ */
|
|
3745
|
-
it.badge != null ? /* @__PURE__ */
|
|
3746
|
-
it.count != null ? /* @__PURE__ */
|
|
3747
|
-
group ? /* @__PURE__ */
|
|
4307
|
+
it.icon ? /* @__PURE__ */ React31.createElement(Icon, { key: "i", name: it.icon }) : null,
|
|
4308
|
+
/* @__PURE__ */ React31.createElement("span", { key: "l", className: "aura-nav__label" }, it.label),
|
|
4309
|
+
it.badge != null ? /* @__PURE__ */ React31.createElement("span", { key: "b", className: "aura-nav__badge" }, it.badge) : null,
|
|
4310
|
+
it.count != null ? /* @__PURE__ */ React31.createElement("span", { key: "c", className: "aura-nav__count" }, it.count) : null,
|
|
4311
|
+
group ? /* @__PURE__ */ React31.createElement(Icon, { key: "g", name: "chevron-down", className: cx("aura-nav__chevron", open && "is-open") }) : null
|
|
3748
4312
|
];
|
|
3749
4313
|
}
|
|
3750
4314
|
function item(it, depth) {
|
|
@@ -3752,7 +4316,7 @@ window.Aura = (() => {
|
|
|
3752
4316
|
const open = isOpen(it);
|
|
3753
4317
|
const listId = base + "-" + it.id;
|
|
3754
4318
|
const holdsActive = contains(it, active);
|
|
3755
|
-
return /* @__PURE__ */
|
|
4319
|
+
return /* @__PURE__ */ React31.createElement("li", { key: it.id, className: "aura-nav__group" }, /* @__PURE__ */ React31.createElement(
|
|
3756
4320
|
"button",
|
|
3757
4321
|
{
|
|
3758
4322
|
type: "button",
|
|
@@ -3776,7 +4340,7 @@ window.Aura = (() => {
|
|
|
3776
4340
|
}
|
|
3777
4341
|
},
|
|
3778
4342
|
inner(it, true, open)
|
|
3779
|
-
), /* @__PURE__ */
|
|
4343
|
+
), /* @__PURE__ */ React31.createElement("ul", { id: listId, className: "aura-nav__list aura-nav__sub", hidden: !open }, it.children.map(function(c) {
|
|
3780
4344
|
return item(c, depth + 1);
|
|
3781
4345
|
})));
|
|
3782
4346
|
}
|
|
@@ -3790,9 +4354,9 @@ window.Aura = (() => {
|
|
|
3790
4354
|
st[1](it.id);
|
|
3791
4355
|
}
|
|
3792
4356
|
};
|
|
3793
|
-
return /* @__PURE__ */
|
|
4357
|
+
return /* @__PURE__ */ React31.createElement("li", { key: it.id }, it.href ? /* @__PURE__ */ React31.createElement(Link, { href: it.href, ...common }, inner(it, false, false)) : /* @__PURE__ */ React31.createElement("button", { type: "button", ...common }, inner(it, false, false)));
|
|
3794
4358
|
}
|
|
3795
|
-
return /* @__PURE__ */
|
|
4359
|
+
return /* @__PURE__ */ React31.createElement(
|
|
3796
4360
|
"nav",
|
|
3797
4361
|
{
|
|
3798
4362
|
ref: function(el) {
|
|
@@ -3804,43 +4368,43 @@ window.Aura = (() => {
|
|
|
3804
4368
|
"aria-label": props.label || t.mainNav,
|
|
3805
4369
|
onKeyDown
|
|
3806
4370
|
},
|
|
3807
|
-
props.header ? /* @__PURE__ */
|
|
3808
|
-
/* @__PURE__ */
|
|
3809
|
-
return /* @__PURE__ */
|
|
4371
|
+
props.header ? /* @__PURE__ */ React31.createElement("div", { className: "aura-nav__header" }, props.header) : null,
|
|
4372
|
+
/* @__PURE__ */ React31.createElement("div", { className: "aura-nav__scroll" }, sections.map(function(s, i) {
|
|
4373
|
+
return /* @__PURE__ */ React31.createElement("div", { key: i, className: "aura-nav__section" }, s.title ? /* @__PURE__ */ React31.createElement("p", { className: "aura-nav__title" }, s.title) : null, /* @__PURE__ */ React31.createElement("ul", { className: "aura-nav__list" }, s.items.map(function(it) {
|
|
3810
4374
|
return item(it, 0);
|
|
3811
4375
|
})));
|
|
3812
4376
|
})),
|
|
3813
|
-
props.footer ? /* @__PURE__ */
|
|
4377
|
+
props.footer ? /* @__PURE__ */ React31.createElement("div", { className: "aura-nav__footer" }, props.footer) : null
|
|
3814
4378
|
);
|
|
3815
4379
|
});
|
|
3816
4380
|
|
|
3817
4381
|
// src/Breadcrumb.tsx
|
|
3818
|
-
var
|
|
3819
|
-
var Breadcrumb =
|
|
4382
|
+
var React32 = __toESM(require_react(), 1);
|
|
4383
|
+
var Breadcrumb = React32.forwardRef(function Breadcrumb2(props, ref) {
|
|
3820
4384
|
const t = useStrings();
|
|
3821
4385
|
const Link = useLinkComponent();
|
|
3822
|
-
const
|
|
3823
|
-
return /* @__PURE__ */
|
|
3824
|
-
const last = i ===
|
|
3825
|
-
return /* @__PURE__ */
|
|
4386
|
+
const items2 = props.items || [];
|
|
4387
|
+
return /* @__PURE__ */ React32.createElement("nav", { ref, "aria-label": props.label || t.breadcrumb, className: cx("aura-crumbs", props.className) }, /* @__PURE__ */ React32.createElement("ol", null, items2.map(function(it, i) {
|
|
4388
|
+
const last = i === items2.length - 1;
|
|
4389
|
+
return /* @__PURE__ */ React32.createElement("li", { key: i }, last ? /* @__PURE__ */ React32.createElement("span", { "aria-current": "page", className: "aura-crumbs__current" }, it.label) : it.href ? /* @__PURE__ */ React32.createElement(Link, { href: it.href, onClick: it.onClick }, it.label) : /* @__PURE__ */ React32.createElement("button", { type: "button", onClick: it.onClick }, it.label), last ? null : /* @__PURE__ */ React32.createElement(Icon, { name: "chevron-right", size: 12, className: "aura-crumbs__sep" }));
|
|
3826
4390
|
})));
|
|
3827
4391
|
});
|
|
3828
4392
|
|
|
3829
4393
|
// src/Avatar.tsx
|
|
3830
|
-
var
|
|
4394
|
+
var React33 = __toESM(require_react(), 1);
|
|
3831
4395
|
var AVATAR_TONES = ["progress", "ready", "neutral", "warning"];
|
|
3832
4396
|
function initials(name) {
|
|
3833
4397
|
const parts = String(name || "?").trim().split(/\s+/);
|
|
3834
4398
|
return ((parts[0] || "?")[0] + (parts.length > 1 ? parts[parts.length - 1][0] : parts[0][1] || "")).toUpperCase();
|
|
3835
4399
|
}
|
|
3836
|
-
var Avatar =
|
|
3837
|
-
const size = props.size || "md", errState =
|
|
4400
|
+
var Avatar = React33.forwardRef(function Avatar2(props, ref) {
|
|
4401
|
+
const size = props.size || "md", errState = React33.useState(false);
|
|
3838
4402
|
let hash = 0;
|
|
3839
4403
|
String(props.name || "").split("").forEach(function(ch) {
|
|
3840
4404
|
hash = hash * 31 + ch.charCodeAt(0) >>> 0;
|
|
3841
4405
|
});
|
|
3842
4406
|
const tone2 = AVATAR_TONES[hash % AVATAR_TONES.length];
|
|
3843
|
-
return /* @__PURE__ */
|
|
4407
|
+
return /* @__PURE__ */ React33.createElement(
|
|
3844
4408
|
"span",
|
|
3845
4409
|
{
|
|
3846
4410
|
ref,
|
|
@@ -3848,7 +4412,7 @@ window.Aura = (() => {
|
|
|
3848
4412
|
role: "img",
|
|
3849
4413
|
"aria-label": props.name + (props.status ? ", " + props.status : "")
|
|
3850
4414
|
},
|
|
3851
|
-
props.src && !errState[0] ? /* @__PURE__ */
|
|
4415
|
+
props.src && !errState[0] ? /* @__PURE__ */ React33.createElement(
|
|
3852
4416
|
"img",
|
|
3853
4417
|
{
|
|
3854
4418
|
src: props.src,
|
|
@@ -3857,20 +4421,20 @@ window.Aura = (() => {
|
|
|
3857
4421
|
errState[1](true);
|
|
3858
4422
|
}
|
|
3859
4423
|
}
|
|
3860
|
-
) : /* @__PURE__ */
|
|
3861
|
-
props.status === "online" ? /* @__PURE__ */
|
|
4424
|
+
) : /* @__PURE__ */ React33.createElement("span", { "aria-hidden": true }, initials(props.name)),
|
|
4425
|
+
props.status === "online" ? /* @__PURE__ */ React33.createElement("span", { className: "aura-avatar__status", "aria-hidden": true }) : null
|
|
3862
4426
|
);
|
|
3863
4427
|
});
|
|
3864
4428
|
|
|
3865
4429
|
// src/Stack.tsx
|
|
3866
|
-
var
|
|
4430
|
+
var React35 = __toESM(require_react(), 1);
|
|
3867
4431
|
|
|
3868
4432
|
// src/responsive.tsx
|
|
3869
|
-
var
|
|
4433
|
+
var React34 = __toESM(require_react(), 1);
|
|
3870
4434
|
var breakpoints = { sm: 640, md: 768, lg: 1024, xl: 1280 };
|
|
3871
4435
|
var ORDER = ["base", "sm", "md", "lg", "xl"];
|
|
3872
4436
|
function useBreakpoint() {
|
|
3873
|
-
return
|
|
4437
|
+
return React34.useSyncExternalStore(subscribe, current, function() {
|
|
3874
4438
|
return "lg";
|
|
3875
4439
|
});
|
|
3876
4440
|
}
|
|
@@ -3910,8 +4474,8 @@ window.Aura = (() => {
|
|
|
3910
4474
|
};
|
|
3911
4475
|
|
|
3912
4476
|
// src/Stack.tsx
|
|
3913
|
-
var h5 =
|
|
3914
|
-
var Stack =
|
|
4477
|
+
var h5 = React35.createElement;
|
|
4478
|
+
var Stack = React35.forwardRef(function Stack2(props, ref) {
|
|
3915
4479
|
const style = Object.assign(
|
|
3916
4480
|
{},
|
|
3917
4481
|
respVars("aura-stack-dir", props.direction || "column"),
|
|
@@ -3925,9 +4489,9 @@ window.Aura = (() => {
|
|
|
3925
4489
|
});
|
|
3926
4490
|
|
|
3927
4491
|
// src/Grid.tsx
|
|
3928
|
-
var
|
|
3929
|
-
var h6 =
|
|
3930
|
-
var Grid =
|
|
4492
|
+
var React36 = __toESM(require_react(), 1);
|
|
4493
|
+
var h6 = React36.createElement;
|
|
4494
|
+
var Grid = React36.forwardRef(function Grid2(props, ref) {
|
|
3931
4495
|
const style = Object.assign(
|
|
3932
4496
|
{},
|
|
3933
4497
|
respVars("aura-grid-gap", props.gap == null ? 6 : props.gap, space),
|
|
@@ -3942,9 +4506,9 @@ window.Aura = (() => {
|
|
|
3942
4506
|
});
|
|
3943
4507
|
|
|
3944
4508
|
// src/Container.tsx
|
|
3945
|
-
var
|
|
3946
|
-
var h7 =
|
|
3947
|
-
var Container =
|
|
4509
|
+
var React37 = __toESM(require_react(), 1);
|
|
4510
|
+
var h7 = React37.createElement;
|
|
4511
|
+
var Container = React37.forwardRef(function Container2(props, ref) {
|
|
3948
4512
|
return h7(
|
|
3949
4513
|
props.as || "div",
|
|
3950
4514
|
{
|
|
@@ -3957,27 +4521,27 @@ window.Aura = (() => {
|
|
|
3957
4521
|
});
|
|
3958
4522
|
|
|
3959
4523
|
// src/AppShell.tsx
|
|
3960
|
-
var
|
|
3961
|
-
var AppShell =
|
|
4524
|
+
var React38 = __toESM(require_react(), 1);
|
|
4525
|
+
var AppShell = React38.forwardRef(function AppShell2(props, ref) {
|
|
3962
4526
|
const t = useStrings();
|
|
3963
4527
|
const bp = useBreakpoint();
|
|
3964
4528
|
const compact = bp === "base" || bp === "sm" || bp === "md";
|
|
3965
|
-
const st =
|
|
3966
|
-
|
|
4529
|
+
const st = React38.useState(false), open = st[0], setOpen = st[1];
|
|
4530
|
+
React38.useEffect(
|
|
3967
4531
|
function() {
|
|
3968
4532
|
if (!compact) setOpen(false);
|
|
3969
4533
|
},
|
|
3970
4534
|
[compact]
|
|
3971
4535
|
);
|
|
3972
4536
|
const navEl = props.nav;
|
|
3973
|
-
const nav = props.nav &&
|
|
4537
|
+
const nav = props.nav && React38.isValidElement(props.nav) && compact ? React38.cloneElement(navEl, {
|
|
3974
4538
|
onChange: function(id) {
|
|
3975
4539
|
if (navEl.props.onChange) navEl.props.onChange(id);
|
|
3976
4540
|
setOpen(false);
|
|
3977
4541
|
},
|
|
3978
4542
|
className: cx(navEl.props.className, "is-in-drawer")
|
|
3979
4543
|
}) : props.nav;
|
|
3980
|
-
return /* @__PURE__ */
|
|
4544
|
+
return /* @__PURE__ */ React38.createElement("div", { ref, className: cx("aura-shell", compact && "is-compact", props.className) }, !compact ? /* @__PURE__ */ React38.createElement("div", { className: "aura-shell__nav" }, nav) : null, compact ? /* @__PURE__ */ React38.createElement(
|
|
3981
4545
|
Drawer,
|
|
3982
4546
|
{
|
|
3983
4547
|
open,
|
|
@@ -3990,7 +4554,7 @@ window.Aura = (() => {
|
|
|
3990
4554
|
dismissible: true
|
|
3991
4555
|
},
|
|
3992
4556
|
nav
|
|
3993
|
-
) : null, /* @__PURE__ */
|
|
4557
|
+
) : null, /* @__PURE__ */ React38.createElement("div", { className: "aura-shell__main" }, props.header || compact ? /* @__PURE__ */ React38.createElement("header", { className: "aura-shell__bar" }, compact ? /* @__PURE__ */ React38.createElement(
|
|
3994
4558
|
IconButton,
|
|
3995
4559
|
{
|
|
3996
4560
|
icon: "menu",
|
|
@@ -4001,13 +4565,13 @@ window.Aura = (() => {
|
|
|
4001
4565
|
},
|
|
4002
4566
|
"aria-expanded": open
|
|
4003
4567
|
}
|
|
4004
|
-
) : null, /* @__PURE__ */
|
|
4568
|
+
) : null, /* @__PURE__ */ React38.createElement("div", { className: "aura-shell__bar-content" }, props.header)) : null, /* @__PURE__ */ React38.createElement("main", { className: "aura-shell__content", id: props.mainId || "main" }, props.children)));
|
|
4005
4569
|
});
|
|
4006
4570
|
|
|
4007
4571
|
// src/Surface.tsx
|
|
4008
|
-
var
|
|
4009
|
-
var h8 =
|
|
4010
|
-
var Surface =
|
|
4572
|
+
var React39 = __toESM(require_react(), 1);
|
|
4573
|
+
var h8 = React39.createElement;
|
|
4574
|
+
var Surface = React39.forwardRef(function Surface2(props, ref) {
|
|
4011
4575
|
const t = props.texture || "mesh";
|
|
4012
4576
|
const rest = omit(props, ["texture", "className", "children", "as"]);
|
|
4013
4577
|
return h8(
|
|
@@ -4028,8 +4592,8 @@ window.Aura = (() => {
|
|
|
4028
4592
|
});
|
|
4029
4593
|
|
|
4030
4594
|
// src/Stat.tsx
|
|
4031
|
-
var
|
|
4032
|
-
var Stat =
|
|
4595
|
+
var React40 = __toESM(require_react(), 1);
|
|
4596
|
+
var Stat = React40.forwardRef(function Stat2(props, ref) {
|
|
4033
4597
|
const ch = props.change;
|
|
4034
4598
|
const dir = ch && (ch.direction || "flat");
|
|
4035
4599
|
const tone2 = ch && (ch.tone || (dir === "up" ? "positive" : dir === "down" ? "negative" : "neutral"));
|
|
@@ -4038,7 +4602,7 @@ window.Aura = (() => {
|
|
|
4038
4602
|
const numeric = typeof v === "number" || typeof v === "string" && /\d/.test(v) && /^[\s\d.,:+\-\u2212%()\u0E3F$\u20AC\u00A3\u00A5kKmMbB]+$/.test(v.replace(/\b[A-Z]{3}\b/g, ""));
|
|
4039
4603
|
const Tag3 = props.href ? Link : props.onClick ? "button" : "div";
|
|
4040
4604
|
const interactive = !!(props.href || props.onClick);
|
|
4041
|
-
return /* @__PURE__ */
|
|
4605
|
+
return /* @__PURE__ */ React40.createElement(
|
|
4042
4606
|
Tag3,
|
|
4043
4607
|
{
|
|
4044
4608
|
ref,
|
|
@@ -4048,15 +4612,15 @@ window.Aura = (() => {
|
|
|
4048
4612
|
type: Tag3 === "button" ? "button" : void 0,
|
|
4049
4613
|
"aria-busy": props.loading || void 0
|
|
4050
4614
|
},
|
|
4051
|
-
/* @__PURE__ */
|
|
4052
|
-
props.loading ? /* @__PURE__ */
|
|
4053
|
-
ch && !props.loading || props.caption ? /* @__PURE__ */
|
|
4615
|
+
/* @__PURE__ */ React40.createElement("span", { className: "aura-stat__head" }, /* @__PURE__ */ React40.createElement("span", { className: "aura-stat__label" }, props.label), props.icon ? /* @__PURE__ */ React40.createElement("span", { className: "aura-stat__icon" }, /* @__PURE__ */ React40.createElement(Icon, { name: props.icon })) : null),
|
|
4616
|
+
props.loading ? /* @__PURE__ */ React40.createElement("span", { className: "aura-stat__value" }, /* @__PURE__ */ React40.createElement("span", { className: "aura-skel aura-stat__skel" })) : /* @__PURE__ */ React40.createElement("span", { className: cx("aura-stat__value", numeric && "is-numeric") }, props.value, props.unit ? /* @__PURE__ */ React40.createElement("span", { className: "aura-stat__unit" }, props.unit) : null),
|
|
4617
|
+
ch && !props.loading || props.caption ? /* @__PURE__ */ React40.createElement("span", { className: "aura-stat__foot" }, ch && !props.loading ? /* @__PURE__ */ React40.createElement("span", { className: cx("aura-stat__change", "is-" + tone2) }, /* @__PURE__ */ React40.createElement(Icon, { name: dir === "up" ? "trending-up" : dir === "down" ? "trending-down" : "minus", size: 14 }), /* @__PURE__ */ React40.createElement("span", null, ch.value)) : null, ch && ch.label && !props.loading ? /* @__PURE__ */ React40.createElement("span", { className: "aura-stat__caption" }, ch.label) : null, props.caption ? /* @__PURE__ */ React40.createElement("span", { className: "aura-stat__caption" }, props.caption) : null) : null
|
|
4054
4618
|
);
|
|
4055
4619
|
});
|
|
4056
4620
|
|
|
4057
4621
|
// src/TimePicker.tsx
|
|
4058
|
-
var
|
|
4059
|
-
var
|
|
4622
|
+
var React41 = __toESM(require_react(), 1);
|
|
4623
|
+
var import_react_dom8 = __toESM(require_react_dom(), 1);
|
|
4060
4624
|
function pad2(n2) {
|
|
4061
4625
|
return (n2 < 10 ? "0" : "") + n2;
|
|
4062
4626
|
}
|
|
@@ -4079,7 +4643,7 @@ window.Aura = (() => {
|
|
|
4079
4643
|
if (hh > 23 || mm > 59) return null;
|
|
4080
4644
|
return pad2(hh) + ":" + pad2(mm);
|
|
4081
4645
|
}
|
|
4082
|
-
var TimePicker =
|
|
4646
|
+
var TimePicker = React41.forwardRef(function TimePicker2(props, ref) {
|
|
4083
4647
|
const t = useStrings();
|
|
4084
4648
|
const auto = uid(), id = props.id || auto, listId = id + "-list";
|
|
4085
4649
|
const st = useMaybeControlled(
|
|
@@ -4089,7 +4653,7 @@ window.Aura = (() => {
|
|
|
4089
4653
|
);
|
|
4090
4654
|
const value = st[0];
|
|
4091
4655
|
const step = props.step || 30, lo = toMin(props.min) != null ? toMin(props.min) : 0, hi = toMin(props.max) != null ? toMin(props.max) : 24 * 60 - 1;
|
|
4092
|
-
const slots =
|
|
4656
|
+
const slots = React41.useMemo(
|
|
4093
4657
|
function() {
|
|
4094
4658
|
const out = [];
|
|
4095
4659
|
for (let m = lo; m <= hi; m += step) out.push(fromMin(m));
|
|
@@ -4101,12 +4665,12 @@ window.Aura = (() => {
|
|
|
4101
4665
|
const n2 = toMin(v);
|
|
4102
4666
|
return n2 == null || n2 < lo || n2 > hi || props.isTimeDisabled && props.isTimeDisabled(v);
|
|
4103
4667
|
}
|
|
4104
|
-
const openState =
|
|
4105
|
-
const editState =
|
|
4106
|
-
const aState =
|
|
4107
|
-
const errState =
|
|
4108
|
-
const pos =
|
|
4109
|
-
const boxRef =
|
|
4668
|
+
const openState = React41.useState(false), open = openState[0], setOpen = openState[1];
|
|
4669
|
+
const editState = React41.useState(null), editing = editState[0], setEditing = editState[1];
|
|
4670
|
+
const aState = React41.useState(0), active = aState[0], setActive = aState[1];
|
|
4671
|
+
const errState = React41.useState(null);
|
|
4672
|
+
const pos = React41.useState(null);
|
|
4673
|
+
const boxRef = React41.useRef(null), inputRef = React41.useRef(null), listRef = React41.useRef(null), inputMerged = useMergedRef(ref, inputRef);
|
|
4110
4674
|
const mounted = useMounted();
|
|
4111
4675
|
function nearest(v) {
|
|
4112
4676
|
const n2 = toMin(v);
|
|
@@ -4134,7 +4698,7 @@ window.Aura = (() => {
|
|
|
4134
4698
|
},
|
|
4135
4699
|
[open]
|
|
4136
4700
|
);
|
|
4137
|
-
|
|
4701
|
+
React41.useEffect(
|
|
4138
4702
|
function() {
|
|
4139
4703
|
if (!open) return;
|
|
4140
4704
|
function outside(e) {
|
|
@@ -4156,7 +4720,7 @@ window.Aura = (() => {
|
|
|
4156
4720
|
},
|
|
4157
4721
|
[open]
|
|
4158
4722
|
);
|
|
4159
|
-
|
|
4723
|
+
React41.useEffect(
|
|
4160
4724
|
function() {
|
|
4161
4725
|
if (!open || !listRef.current) return;
|
|
4162
4726
|
const el = listRef.current.querySelector('[data-idx="' + active + '"]');
|
|
@@ -4164,7 +4728,7 @@ window.Aura = (() => {
|
|
|
4164
4728
|
},
|
|
4165
4729
|
[active, open]
|
|
4166
4730
|
);
|
|
4167
|
-
function
|
|
4731
|
+
function show2() {
|
|
4168
4732
|
if (open || props.disabled || props.readOnly) return;
|
|
4169
4733
|
setActive(nearest(value || props.suggest || fromMin(lo)));
|
|
4170
4734
|
setOpen(true);
|
|
@@ -4214,11 +4778,11 @@ window.Aura = (() => {
|
|
|
4214
4778
|
const k = e.key;
|
|
4215
4779
|
if (k === "ArrowDown") {
|
|
4216
4780
|
e.preventDefault();
|
|
4217
|
-
if (!open)
|
|
4781
|
+
if (!open) show2();
|
|
4218
4782
|
else move(1);
|
|
4219
4783
|
} else if (k === "ArrowUp") {
|
|
4220
4784
|
e.preventDefault();
|
|
4221
|
-
if (!open)
|
|
4785
|
+
if (!open) show2();
|
|
4222
4786
|
else move(-1);
|
|
4223
4787
|
} else if (k === "Home" && open) {
|
|
4224
4788
|
e.preventDefault();
|
|
@@ -4253,10 +4817,10 @@ window.Aura = (() => {
|
|
|
4253
4817
|
}
|
|
4254
4818
|
}
|
|
4255
4819
|
const error = errState[0] || props.error;
|
|
4256
|
-
const list = open && mounted && pos[0] ? (0,
|
|
4257
|
-
/* @__PURE__ */
|
|
4820
|
+
const list = open && mounted && pos[0] ? (0, import_react_dom8.createPortal)(
|
|
4821
|
+
/* @__PURE__ */ React41.createElement("div", { ref: listRef, className: "aura-combo__popover aura-time__popover", style: pos[0] }, /* @__PURE__ */ React41.createElement("ul", { id: listId, role: "listbox", "aria-label": props.label, className: "aura-combo__list" }, slots.map(function(s, i) {
|
|
4258
4822
|
const dis = blocked(s), sel = s === value;
|
|
4259
|
-
return /* @__PURE__ */
|
|
4823
|
+
return /* @__PURE__ */ React41.createElement(
|
|
4260
4824
|
"li",
|
|
4261
4825
|
{
|
|
4262
4826
|
key: s,
|
|
@@ -4281,13 +4845,13 @@ window.Aura = (() => {
|
|
|
4281
4845
|
if (active !== i) setActive(i);
|
|
4282
4846
|
}
|
|
4283
4847
|
},
|
|
4284
|
-
/* @__PURE__ */
|
|
4285
|
-
sel ? /* @__PURE__ */
|
|
4848
|
+
/* @__PURE__ */ React41.createElement("span", { className: "aura-combo__label" }, s),
|
|
4849
|
+
sel ? /* @__PURE__ */ React41.createElement(Icon, { name: "check", className: "aura-combo__check" }) : null
|
|
4286
4850
|
);
|
|
4287
4851
|
}))),
|
|
4288
4852
|
document.body
|
|
4289
4853
|
) : null;
|
|
4290
|
-
return /* @__PURE__ */
|
|
4854
|
+
return /* @__PURE__ */ React41.createElement(
|
|
4291
4855
|
Field,
|
|
4292
4856
|
{
|
|
4293
4857
|
id,
|
|
@@ -4299,7 +4863,7 @@ window.Aura = (() => {
|
|
|
4299
4863
|
disabled: props.disabled,
|
|
4300
4864
|
className: props.className
|
|
4301
4865
|
},
|
|
4302
|
-
/* @__PURE__ */
|
|
4866
|
+
/* @__PURE__ */ React41.createElement("div", { ref: boxRef, className: cx("aura-input aura-combo aura-time has-icon", open && "is-open") }, /* @__PURE__ */ React41.createElement(Icon, { name: "clock", className: "aura-input__icon" }), /* @__PURE__ */ React41.createElement(
|
|
4303
4867
|
"input",
|
|
4304
4868
|
{
|
|
4305
4869
|
ref: inputMerged,
|
|
@@ -4325,11 +4889,11 @@ window.Aura = (() => {
|
|
|
4325
4889
|
setEditing(e.target.value);
|
|
4326
4890
|
const v = parseTime(e.target.value);
|
|
4327
4891
|
if (v) {
|
|
4328
|
-
if (!open)
|
|
4892
|
+
if (!open) show2();
|
|
4329
4893
|
setActive(nearest(v));
|
|
4330
4894
|
}
|
|
4331
4895
|
},
|
|
4332
|
-
onClick:
|
|
4896
|
+
onClick: show2,
|
|
4333
4897
|
onKeyDown,
|
|
4334
4898
|
onBlur: function() {
|
|
4335
4899
|
setTimeout(function() {
|
|
@@ -4339,7 +4903,7 @@ window.Aura = (() => {
|
|
|
4339
4903
|
}, 0);
|
|
4340
4904
|
}
|
|
4341
4905
|
}
|
|
4342
|
-
), props.clearable !== false && value != null && !props.disabled ? /* @__PURE__ */
|
|
4906
|
+
), props.clearable !== false && value != null && !props.disabled ? /* @__PURE__ */ React41.createElement(
|
|
4343
4907
|
"button",
|
|
4344
4908
|
{
|
|
4345
4909
|
type: "button",
|
|
@@ -4352,8 +4916,8 @@ window.Aura = (() => {
|
|
|
4352
4916
|
if (inputRef.current) inputRef.current.focus();
|
|
4353
4917
|
}
|
|
4354
4918
|
},
|
|
4355
|
-
/* @__PURE__ */
|
|
4356
|
-
) : null, /* @__PURE__ */
|
|
4919
|
+
/* @__PURE__ */ React41.createElement(Icon, { name: "x" })
|
|
4920
|
+
) : null, /* @__PURE__ */ React41.createElement(
|
|
4357
4921
|
"button",
|
|
4358
4922
|
{
|
|
4359
4923
|
type: "button",
|
|
@@ -4366,19 +4930,19 @@ window.Aura = (() => {
|
|
|
4366
4930
|
onClick: function() {
|
|
4367
4931
|
if (open) setOpen(false);
|
|
4368
4932
|
else {
|
|
4369
|
-
|
|
4933
|
+
show2();
|
|
4370
4934
|
inputRef.current && inputRef.current.focus();
|
|
4371
4935
|
}
|
|
4372
4936
|
}
|
|
4373
4937
|
},
|
|
4374
|
-
/* @__PURE__ */
|
|
4938
|
+
/* @__PURE__ */ React41.createElement(Icon, { name: "chevron-down" })
|
|
4375
4939
|
)),
|
|
4376
4940
|
list
|
|
4377
4941
|
);
|
|
4378
4942
|
});
|
|
4379
4943
|
|
|
4380
4944
|
// src/FileUpload.tsx
|
|
4381
|
-
var
|
|
4945
|
+
var React42 = __toESM(require_react(), 1);
|
|
4382
4946
|
function formatBytes(n2) {
|
|
4383
4947
|
if (n2 == null) return "";
|
|
4384
4948
|
if (n2 < 1024) return n2 + " B";
|
|
@@ -4412,17 +4976,17 @@ window.Aura = (() => {
|
|
|
4412
4976
|
}).join(", ");
|
|
4413
4977
|
}
|
|
4414
4978
|
var seq = 0;
|
|
4415
|
-
var FileUpload =
|
|
4979
|
+
var FileUpload = React42.forwardRef(function FileUpload2(props, ref) {
|
|
4416
4980
|
const t = useStrings();
|
|
4417
4981
|
const auto = uid(), id = props.id || auto;
|
|
4418
4982
|
const st = useMaybeControlled(props.value, props.defaultValue || [], props.onChange);
|
|
4419
|
-
const
|
|
4420
|
-
const dragState =
|
|
4421
|
-
const inputRef =
|
|
4422
|
-
const urls =
|
|
4983
|
+
const items2 = st[0] || [];
|
|
4984
|
+
const dragState = React42.useState(false), over = dragState[0];
|
|
4985
|
+
const inputRef = React42.useRef(null), inputMerged = useMergedRef(ref, inputRef);
|
|
4986
|
+
const urls = React42.useRef({});
|
|
4423
4987
|
const maxFiles = props.multiple ? props.maxFiles : 1;
|
|
4424
4988
|
const note = t.accepts(describeAccept(props.accept, t), props.maxSize ? formatBytes(props.maxSize) : "");
|
|
4425
|
-
|
|
4989
|
+
React42.useEffect(function() {
|
|
4426
4990
|
return function() {
|
|
4427
4991
|
Object.keys(urls.current).forEach(function(k) {
|
|
4428
4992
|
URL.revokeObjectURL(urls.current[k]);
|
|
@@ -4437,7 +5001,7 @@ window.Aura = (() => {
|
|
|
4437
5001
|
function add(list) {
|
|
4438
5002
|
const files = Array.prototype.slice.call(list || []);
|
|
4439
5003
|
if (!files.length || props.disabled) return;
|
|
4440
|
-
const keep = props.multiple ?
|
|
5004
|
+
const keep = props.multiple ? items2.slice() : [];
|
|
4441
5005
|
let room = maxFiles ? maxFiles - keep.filter(function(i) {
|
|
4442
5006
|
return !i.error;
|
|
4443
5007
|
}).length : Infinity;
|
|
@@ -4465,7 +5029,7 @@ window.Aura = (() => {
|
|
|
4465
5029
|
delete urls.current[it.id];
|
|
4466
5030
|
}
|
|
4467
5031
|
st[1](
|
|
4468
|
-
|
|
5032
|
+
items2.filter(function(x) {
|
|
4469
5033
|
return x.id !== it.id;
|
|
4470
5034
|
})
|
|
4471
5035
|
);
|
|
@@ -4473,7 +5037,7 @@ window.Aura = (() => {
|
|
|
4473
5037
|
if (inputRef.current) inputRef.current.focus();
|
|
4474
5038
|
}
|
|
4475
5039
|
const error = props.error;
|
|
4476
|
-
return /* @__PURE__ */
|
|
5040
|
+
return /* @__PURE__ */ React42.createElement(
|
|
4477
5041
|
Field,
|
|
4478
5042
|
{
|
|
4479
5043
|
id,
|
|
@@ -4485,7 +5049,7 @@ window.Aura = (() => {
|
|
|
4485
5049
|
disabled: props.disabled,
|
|
4486
5050
|
className: props.className
|
|
4487
5051
|
},
|
|
4488
|
-
/* @__PURE__ */
|
|
5052
|
+
/* @__PURE__ */ React42.createElement(
|
|
4489
5053
|
"div",
|
|
4490
5054
|
{
|
|
4491
5055
|
className: cx("aura-upload", over && "is-over", props.disabled && "is-disabled", error && "is-invalid"),
|
|
@@ -4506,9 +5070,9 @@ window.Aura = (() => {
|
|
|
4506
5070
|
add(e.dataTransfer && e.dataTransfer.files);
|
|
4507
5071
|
}
|
|
4508
5072
|
},
|
|
4509
|
-
/* @__PURE__ */
|
|
4510
|
-
/* @__PURE__ */
|
|
4511
|
-
/* @__PURE__ */
|
|
5073
|
+
/* @__PURE__ */ React42.createElement(Icon, { name: "cloud-upload", size: "lg", className: "aura-upload__icon" }),
|
|
5074
|
+
/* @__PURE__ */ React42.createElement("span", { className: "aura-upload__text" }, t.dropFiles, " "),
|
|
5075
|
+
/* @__PURE__ */ React42.createElement(
|
|
4512
5076
|
"input",
|
|
4513
5077
|
{
|
|
4514
5078
|
ref: inputMerged,
|
|
@@ -4519,7 +5083,7 @@ window.Aura = (() => {
|
|
|
4519
5083
|
multiple: !!props.multiple,
|
|
4520
5084
|
disabled: props.disabled,
|
|
4521
5085
|
name: props.name,
|
|
4522
|
-
required: props.required && !
|
|
5086
|
+
required: props.required && !items2.some(function(i) {
|
|
4523
5087
|
return !i.error;
|
|
4524
5088
|
}),
|
|
4525
5089
|
"aria-invalid": error ? true : void 0,
|
|
@@ -4530,12 +5094,12 @@ window.Aura = (() => {
|
|
|
4530
5094
|
}
|
|
4531
5095
|
}
|
|
4532
5096
|
),
|
|
4533
|
-
/* @__PURE__ */
|
|
4534
|
-
note ? /* @__PURE__ */
|
|
5097
|
+
/* @__PURE__ */ React42.createElement("span", { className: "aura-upload__browse", "aria-hidden": true }, props.multiple ? t.browse : t.browseOne),
|
|
5098
|
+
note ? /* @__PURE__ */ React42.createElement("span", { className: "aura-upload__note", id: id + "-note" }, note) : null
|
|
4535
5099
|
),
|
|
4536
|
-
|
|
5100
|
+
items2.length ? /* @__PURE__ */ React42.createElement("ul", { className: "aura-upload__list", "aria-live": "polite" }, items2.map(function(it) {
|
|
4537
5101
|
const src = thumb(it);
|
|
4538
|
-
return /* @__PURE__ */
|
|
5102
|
+
return /* @__PURE__ */ React42.createElement("li", { key: it.id, className: cx("aura-upload__item", it.error && "is-error") }, src ? /* @__PURE__ */ React42.createElement("img", { className: "aura-upload__thumb", src, alt: "" }) : /* @__PURE__ */ React42.createElement("span", { className: "aura-upload__thumb is-icon", "aria-hidden": true }, /* @__PURE__ */ React42.createElement(Icon, { name: /^image\//.test(it.type || "") ? "image" : "file", size: "md" })), /* @__PURE__ */ React42.createElement("span", { className: "aura-upload__meta" }, /* @__PURE__ */ React42.createElement("span", { className: "aura-upload__name" }, it.name), /* @__PURE__ */ React42.createElement("span", { className: "aura-upload__sub" }, it.error ? /* @__PURE__ */ React42.createElement(React42.Fragment, null, /* @__PURE__ */ React42.createElement(Icon, { name: "circle-alert", size: 12 }), it.error) : it.status === "uploading" ? t.uploading + (it.progress != null ? " " + Math.round(it.progress) + "%" : "") : it.status === "done" ? /* @__PURE__ */ React42.createElement(React42.Fragment, null, /* @__PURE__ */ React42.createElement(Icon, { name: "circle-check", size: 12 }), formatBytes(it.size)) : formatBytes(it.size)), it.status === "uploading" ? /* @__PURE__ */ React42.createElement(
|
|
4539
5103
|
"span",
|
|
4540
5104
|
{
|
|
4541
5105
|
className: "aura-upload__bar",
|
|
@@ -4545,8 +5109,8 @@ window.Aura = (() => {
|
|
|
4545
5109
|
"aria-valuemax": 100,
|
|
4546
5110
|
"aria-valuenow": it.progress != null ? Math.round(it.progress) : void 0
|
|
4547
5111
|
},
|
|
4548
|
-
/* @__PURE__ */
|
|
4549
|
-
) : null), /* @__PURE__ */
|
|
5112
|
+
/* @__PURE__ */ React42.createElement("span", { style: { width: (it.progress || 0) + "%" } })
|
|
5113
|
+
) : null), /* @__PURE__ */ React42.createElement(
|
|
4550
5114
|
IconButton,
|
|
4551
5115
|
{
|
|
4552
5116
|
icon: "x",
|
|
@@ -4832,9 +5396,9 @@ window.Aura = (() => {
|
|
|
4832
5396
|
}
|
|
4833
5397
|
|
|
4834
5398
|
// src/ThemeStyle.tsx
|
|
4835
|
-
var
|
|
5399
|
+
var React43 = __toESM(require_react(), 1);
|
|
4836
5400
|
function ThemeStyle(props) {
|
|
4837
|
-
const css =
|
|
5401
|
+
const css = React43.useMemo(
|
|
4838
5402
|
function() {
|
|
4839
5403
|
return createTheme({ brand: props.brand, signal: props.signal, primary: props.primary, name: props.name }).css(
|
|
4840
5404
|
props.selector
|
|
@@ -4842,11 +5406,11 @@ window.Aura = (() => {
|
|
|
4842
5406
|
},
|
|
4843
5407
|
[props.brand, props.signal, props.primary, props.name, props.selector]
|
|
4844
5408
|
);
|
|
4845
|
-
return /* @__PURE__ */
|
|
5409
|
+
return /* @__PURE__ */ React43.createElement("style", { "data-aura-theme": props.name || props.brand, dangerouslySetInnerHTML: { __html: css } });
|
|
4846
5410
|
}
|
|
4847
5411
|
|
|
4848
5412
|
// src/colorScheme.tsx
|
|
4849
|
-
var
|
|
5413
|
+
var React44 = __toESM(require_react(), 1);
|
|
4850
5414
|
var DEFAULT_KEY = "aura-color-scheme";
|
|
4851
5415
|
var SCHEMES = ["light", "dark", "system"];
|
|
4852
5416
|
var EVENT = "aura-color-scheme";
|
|
@@ -4859,7 +5423,7 @@ window.Aura = (() => {
|
|
|
4859
5423
|
return "(function(){try{var s=localStorage.getItem(" + key + ");if(s!=='light'&&s!=='dark'&&s!=='system')s=" + fallback + `;var d=document.documentElement;d.setAttribute("data-theme",s);var dark=s==='dark'||(s==='system'&&window.matchMedia('(prefers-color-scheme: dark)').matches);d.classList.toggle("dark",dark);}catch(e){}})();`;
|
|
4860
5424
|
}
|
|
4861
5425
|
function ColorSchemeScript(props) {
|
|
4862
|
-
return /* @__PURE__ */
|
|
5426
|
+
return /* @__PURE__ */ React44.createElement(
|
|
4863
5427
|
"script",
|
|
4864
5428
|
{
|
|
4865
5429
|
"data-aura-color-scheme": "",
|
|
@@ -4884,7 +5448,7 @@ window.Aura = (() => {
|
|
|
4884
5448
|
function useColorScheme(options) {
|
|
4885
5449
|
const key = options && options.storageKey || DEFAULT_KEY;
|
|
4886
5450
|
const fallback = options && options.defaultScheme || "system";
|
|
4887
|
-
const subscribe2 =
|
|
5451
|
+
const subscribe2 = React44.useCallback(
|
|
4888
5452
|
function(cb) {
|
|
4889
5453
|
const mq = window.matchMedia ? window.matchMedia("(prefers-color-scheme: dark)") : null;
|
|
4890
5454
|
function onSystem() {
|
|
@@ -4902,7 +5466,7 @@ window.Aura = (() => {
|
|
|
4902
5466
|
},
|
|
4903
5467
|
[fallback]
|
|
4904
5468
|
);
|
|
4905
|
-
const snapshot =
|
|
5469
|
+
const snapshot = React44.useSyncExternalStore(
|
|
4906
5470
|
subscribe2,
|
|
4907
5471
|
function() {
|
|
4908
5472
|
const s = readScheme(fallback);
|
|
@@ -4913,7 +5477,7 @@ window.Aura = (() => {
|
|
|
4913
5477
|
}
|
|
4914
5478
|
);
|
|
4915
5479
|
const parts = snapshot.split("|");
|
|
4916
|
-
const setScheme =
|
|
5480
|
+
const setScheme = React44.useCallback(
|
|
4917
5481
|
function(next) {
|
|
4918
5482
|
if (!valid(next)) return;
|
|
4919
5483
|
try {
|
|
@@ -4932,11 +5496,11 @@ window.Aura = (() => {
|
|
|
4932
5496
|
const cs = useColorScheme(props);
|
|
4933
5497
|
const names = { light: t.schemeLight, dark: t.schemeDark, system: t.schemeSystem };
|
|
4934
5498
|
const label = props.label || t.colorScheme;
|
|
4935
|
-
return /* @__PURE__ */
|
|
5499
|
+
return /* @__PURE__ */ React44.createElement(
|
|
4936
5500
|
DropdownMenu,
|
|
4937
5501
|
{
|
|
4938
5502
|
label,
|
|
4939
|
-
trigger: /* @__PURE__ */
|
|
5503
|
+
trigger: /* @__PURE__ */ React44.createElement(IconButton, { icon: cs.resolved === "dark" ? "moon" : "sun", label: label + ": " + names[cs.scheme] }),
|
|
4940
5504
|
items: SCHEMES.map(function(s) {
|
|
4941
5505
|
return {
|
|
4942
5506
|
label: names[s],
|
|
@@ -4951,10 +5515,10 @@ window.Aura = (() => {
|
|
|
4951
5515
|
}
|
|
4952
5516
|
|
|
4953
5517
|
// src/Badge.tsx
|
|
4954
|
-
var
|
|
4955
|
-
var Badge =
|
|
5518
|
+
var React45 = __toESM(require_react(), 1);
|
|
5519
|
+
var Badge = React45.forwardRef(function Badge2(props, ref) {
|
|
4956
5520
|
const rest = omit(props, ["tone", "variant", "icon", "className", "children"]);
|
|
4957
|
-
return /* @__PURE__ */
|
|
5521
|
+
return /* @__PURE__ */ React45.createElement(
|
|
4958
5522
|
"span",
|
|
4959
5523
|
{
|
|
4960
5524
|
...rest,
|
|
@@ -4967,56 +5531,19 @@ window.Aura = (() => {
|
|
|
4967
5531
|
props.className
|
|
4968
5532
|
)
|
|
4969
5533
|
},
|
|
4970
|
-
props.icon ? /* @__PURE__ */
|
|
5534
|
+
props.icon ? /* @__PURE__ */ React45.createElement(Icon, { name: props.icon, size: 12 }) : null,
|
|
4971
5535
|
props.children
|
|
4972
5536
|
);
|
|
4973
5537
|
});
|
|
4974
5538
|
|
|
4975
|
-
// src/Tag.tsx
|
|
4976
|
-
var React41 = __toESM(require_react(), 1);
|
|
4977
|
-
var Tag = React41.forwardRef(function Tag2(props, ref) {
|
|
4978
|
-
const t = useStrings();
|
|
4979
|
-
const selectable = props.onClick != null || props.selected != null;
|
|
4980
|
-
const rest = omit(props, ["onRemove", "selected", "icon", "className", "children", "disabled", "removeLabel"]);
|
|
4981
|
-
const inner = [
|
|
4982
|
-
props.icon ? /* @__PURE__ */ React41.createElement(Icon, { key: "i", name: props.icon, size: 14 }) : null,
|
|
4983
|
-
/* @__PURE__ */ React41.createElement("span", { key: "t", className: "aura-tag__text" }, props.children)
|
|
4984
|
-
];
|
|
4985
|
-
if (selectable) {
|
|
4986
|
-
return /* @__PURE__ */ React41.createElement(
|
|
4987
|
-
"button",
|
|
4988
|
-
{
|
|
4989
|
-
...rest,
|
|
4990
|
-
ref,
|
|
4991
|
-
type: "button",
|
|
4992
|
-
"aria-pressed": !!props.selected,
|
|
4993
|
-
disabled: props.disabled,
|
|
4994
|
-
className: cx("aura-tag is-selectable", props.selected && "is-selected", props.className)
|
|
4995
|
-
},
|
|
4996
|
-
props.selected ? /* @__PURE__ */ React41.createElement(Icon, { name: "check", size: 14 }) : inner[0],
|
|
4997
|
-
inner[1]
|
|
4998
|
-
);
|
|
4999
|
-
}
|
|
5000
|
-
return /* @__PURE__ */ React41.createElement("span", { ...rest, ref, className: cx("aura-tag", props.disabled && "is-disabled", props.className) }, inner, props.onRemove && !props.disabled ? /* @__PURE__ */ React41.createElement(
|
|
5001
|
-
"button",
|
|
5002
|
-
{
|
|
5003
|
-
type: "button",
|
|
5004
|
-
className: "aura-tag__remove",
|
|
5005
|
-
"aria-label": props.removeLabel || t.remove(typeof props.children === "string" ? props.children : ""),
|
|
5006
|
-
onClick: props.onRemove
|
|
5007
|
-
},
|
|
5008
|
-
/* @__PURE__ */ React41.createElement(Icon, { name: "x", size: 12 })
|
|
5009
|
-
) : null);
|
|
5010
|
-
});
|
|
5011
|
-
|
|
5012
5539
|
// src/Progress.tsx
|
|
5013
|
-
var
|
|
5014
|
-
var Progress =
|
|
5540
|
+
var React46 = __toESM(require_react(), 1);
|
|
5541
|
+
var Progress = React46.forwardRef(function Progress2(props, ref) {
|
|
5015
5542
|
const auto = uid(), id = props.id || auto;
|
|
5016
5543
|
const max = props.max || 100, det = props.value != null;
|
|
5017
5544
|
const pct = det ? Math.max(0, Math.min(100, props.value / max * 100)) : 0;
|
|
5018
5545
|
const shown = props.valueLabel != null ? props.valueLabel : det ? Math.round(pct) + "%" : null;
|
|
5019
|
-
return /* @__PURE__ */
|
|
5546
|
+
return /* @__PURE__ */ React46.createElement(
|
|
5020
5547
|
"div",
|
|
5021
5548
|
{
|
|
5022
5549
|
ref,
|
|
@@ -5027,8 +5554,8 @@ window.Aura = (() => {
|
|
|
5027
5554
|
props.className
|
|
5028
5555
|
)
|
|
5029
5556
|
},
|
|
5030
|
-
props.label || props.showValue && shown ? /* @__PURE__ */
|
|
5031
|
-
/* @__PURE__ */
|
|
5557
|
+
props.label || props.showValue && shown ? /* @__PURE__ */ React46.createElement("div", { className: "aura-progress__head" }, props.label ? /* @__PURE__ */ React46.createElement("span", { className: "aura-progress__label", id: id + "-label" }, props.label) : /* @__PURE__ */ React46.createElement("span", null), props.showValue && shown ? /* @__PURE__ */ React46.createElement("span", { className: "aura-progress__value" }, shown) : null) : null,
|
|
5558
|
+
/* @__PURE__ */ React46.createElement(
|
|
5032
5559
|
"div",
|
|
5033
5560
|
{
|
|
5034
5561
|
className: cx("aura-progress__track", !det && "is-indeterminate"),
|
|
@@ -5040,21 +5567,21 @@ window.Aura = (() => {
|
|
|
5040
5567
|
"aria-valuenow": det ? props.value : void 0,
|
|
5041
5568
|
"aria-valuetext": det && props.valueLabel != null ? String(props.valueLabel) : void 0
|
|
5042
5569
|
},
|
|
5043
|
-
/* @__PURE__ */
|
|
5570
|
+
/* @__PURE__ */ React46.createElement("span", { className: "aura-progress__bar", style: det ? { width: pct + "%" } : void 0 })
|
|
5044
5571
|
),
|
|
5045
|
-
props.hint ? /* @__PURE__ */
|
|
5572
|
+
props.hint ? /* @__PURE__ */ React46.createElement("p", { className: "aura-progress__hint" }, props.hint) : null
|
|
5046
5573
|
);
|
|
5047
5574
|
});
|
|
5048
5575
|
|
|
5049
5576
|
// src/Skeleton.tsx
|
|
5050
|
-
var
|
|
5051
|
-
var Skeleton =
|
|
5577
|
+
var React47 = __toESM(require_react(), 1);
|
|
5578
|
+
var Skeleton = React47.forwardRef(function Skeleton2(props, ref) {
|
|
5052
5579
|
const v = props.variant || "text";
|
|
5053
5580
|
if (v === "text" && (props.lines || 1) > 1) {
|
|
5054
5581
|
const n2 = props.lines, rows = [];
|
|
5055
5582
|
for (let i = 0; i < n2; i++)
|
|
5056
|
-
rows.push(/* @__PURE__ */
|
|
5057
|
-
return /* @__PURE__ */
|
|
5583
|
+
rows.push(/* @__PURE__ */ React47.createElement("span", { key: i, className: "aura-skel aura-skel--text", style: { width: i === n2 - 1 ? "60%" : "100%" } }));
|
|
5584
|
+
return /* @__PURE__ */ React47.createElement(
|
|
5058
5585
|
"span",
|
|
5059
5586
|
{
|
|
5060
5587
|
ref,
|
|
@@ -5069,28 +5596,28 @@ window.Aura = (() => {
|
|
|
5069
5596
|
if (v === "circle") {
|
|
5070
5597
|
style.width = style.height = props.size || props.width || 40;
|
|
5071
5598
|
}
|
|
5072
|
-
return /* @__PURE__ */
|
|
5599
|
+
return /* @__PURE__ */ React47.createElement("span", { ref, "aria-hidden": true, className: cx("aura-skel", "aura-skel--" + v, props.className), style });
|
|
5073
5600
|
});
|
|
5074
5601
|
|
|
5075
5602
|
// src/EmptyState.tsx
|
|
5076
|
-
var
|
|
5077
|
-
var EmptyState =
|
|
5603
|
+
var React48 = __toESM(require_react(), 1);
|
|
5604
|
+
var EmptyState = React48.forwardRef(function EmptyState2(props, ref) {
|
|
5078
5605
|
const HT = "h" + (props.headingLevel || 3);
|
|
5079
|
-
return /* @__PURE__ */
|
|
5606
|
+
return /* @__PURE__ */ React48.createElement(
|
|
5080
5607
|
"div",
|
|
5081
5608
|
{
|
|
5082
5609
|
ref,
|
|
5083
5610
|
className: cx("aura-empty", props.size === "sm" && "is-sm", props.bordered && "is-bordered", props.className)
|
|
5084
5611
|
},
|
|
5085
|
-
/* @__PURE__ */
|
|
5086
|
-
/* @__PURE__ */
|
|
5087
|
-
props.description ? /* @__PURE__ */
|
|
5088
|
-
props.action ? /* @__PURE__ */
|
|
5612
|
+
/* @__PURE__ */ React48.createElement("span", { className: "aura-empty__icon", "aria-hidden": true }, /* @__PURE__ */ React48.createElement(Icon, { name: props.icon || "inbox", size: props.size === "sm" ? "md" : "lg" })),
|
|
5613
|
+
/* @__PURE__ */ React48.createElement(HT, { className: "aura-empty__title" }, props.title),
|
|
5614
|
+
props.description ? /* @__PURE__ */ React48.createElement("p", { className: "aura-empty__text" }, props.description) : null,
|
|
5615
|
+
props.action ? /* @__PURE__ */ React48.createElement("div", { className: "aura-empty__action" }, props.action) : null
|
|
5089
5616
|
);
|
|
5090
5617
|
});
|
|
5091
5618
|
|
|
5092
5619
|
// src/Pagination.tsx
|
|
5093
|
-
var
|
|
5620
|
+
var React49 = __toESM(require_react(), 1);
|
|
5094
5621
|
function pageList(page, count, sib) {
|
|
5095
5622
|
let out = [], lo = Math.max(2, page - sib), hi = Math.min(count - 1, page + sib);
|
|
5096
5623
|
if (page - sib <= 3) {
|
|
@@ -5110,7 +5637,7 @@ window.Aura = (() => {
|
|
|
5110
5637
|
if (count > 1) out.push(count);
|
|
5111
5638
|
return out;
|
|
5112
5639
|
}
|
|
5113
|
-
var Pagination =
|
|
5640
|
+
var Pagination = React49.forwardRef(function Pagination2(props, ref) {
|
|
5114
5641
|
const t = useStrings();
|
|
5115
5642
|
const count = Math.max(1, props.pageCount || 1);
|
|
5116
5643
|
const st = useMaybeControlled(props.page, props.defaultPage || 1, props.onChange);
|
|
@@ -5129,7 +5656,7 @@ window.Aura = (() => {
|
|
|
5129
5656
|
},
|
|
5130
5657
|
extra
|
|
5131
5658
|
);
|
|
5132
|
-
return link ? /* @__PURE__ */
|
|
5659
|
+
return link ? /* @__PURE__ */ React49.createElement(
|
|
5133
5660
|
Link,
|
|
5134
5661
|
{
|
|
5135
5662
|
href: link(p),
|
|
@@ -5142,7 +5669,7 @@ window.Aura = (() => {
|
|
|
5142
5669
|
...common
|
|
5143
5670
|
},
|
|
5144
5671
|
label
|
|
5145
|
-
) : /* @__PURE__ */
|
|
5672
|
+
) : /* @__PURE__ */ React49.createElement(
|
|
5146
5673
|
"button",
|
|
5147
5674
|
{
|
|
5148
5675
|
type: "button",
|
|
@@ -5154,7 +5681,7 @@ window.Aura = (() => {
|
|
|
5154
5681
|
label
|
|
5155
5682
|
);
|
|
5156
5683
|
}
|
|
5157
|
-
return /* @__PURE__ */
|
|
5684
|
+
return /* @__PURE__ */ React49.createElement("nav", { ref, className: cx("aura-pagination", props.className), "aria-label": props.label || t.pagination }, /* @__PURE__ */ React49.createElement(
|
|
5158
5685
|
IconButton,
|
|
5159
5686
|
{
|
|
5160
5687
|
icon: "chevron-left",
|
|
@@ -5164,9 +5691,9 @@ window.Aura = (() => {
|
|
|
5164
5691
|
go(page - 1);
|
|
5165
5692
|
}
|
|
5166
5693
|
}
|
|
5167
|
-
), /* @__PURE__ */
|
|
5168
|
-
return typeof p === "number" ? /* @__PURE__ */
|
|
5169
|
-
})), /* @__PURE__ */
|
|
5694
|
+
), /* @__PURE__ */ React49.createElement("ol", { className: "aura-pagination__list" }, pageList(page, count, props.siblingCount == null ? 1 : props.siblingCount).map(function(p) {
|
|
5695
|
+
return typeof p === "number" ? /* @__PURE__ */ React49.createElement("li", { key: p }, item(p, p)) : /* @__PURE__ */ React49.createElement("li", { key: p, className: "aura-pagination__gap", "aria-hidden": true }, "\u2026");
|
|
5696
|
+
})), /* @__PURE__ */ React49.createElement("span", { className: "aura-pagination__compact", "aria-hidden": true }, t.page(page, count)), /* @__PURE__ */ React49.createElement(
|
|
5170
5697
|
IconButton,
|
|
5171
5698
|
{
|
|
5172
5699
|
icon: "chevron-right",
|
|
@@ -5180,8 +5707,8 @@ window.Aura = (() => {
|
|
|
5180
5707
|
});
|
|
5181
5708
|
|
|
5182
5709
|
// src/Accordion.tsx
|
|
5183
|
-
var
|
|
5184
|
-
var Accordion =
|
|
5710
|
+
var React50 = __toESM(require_react(), 1);
|
|
5711
|
+
var Accordion = React50.forwardRef(function Accordion2(props, ref) {
|
|
5185
5712
|
const auto = uid(), base = props.id || auto;
|
|
5186
5713
|
const multiple = props.type === "multiple";
|
|
5187
5714
|
const st = useMaybeControlled(
|
|
@@ -5191,7 +5718,7 @@ window.Aura = (() => {
|
|
|
5191
5718
|
);
|
|
5192
5719
|
const open = multiple ? st[0] || [] : st[0] ? [st[0]] : [];
|
|
5193
5720
|
const HT = "h" + (props.headingLevel || 3);
|
|
5194
|
-
const
|
|
5721
|
+
const items2 = props.items || [];
|
|
5195
5722
|
function toggle(id) {
|
|
5196
5723
|
const isOpen = open.indexOf(id) >= 0;
|
|
5197
5724
|
if (multiple)
|
|
@@ -5219,9 +5746,9 @@ window.Aura = (() => {
|
|
|
5219
5746
|
n2.focus();
|
|
5220
5747
|
}
|
|
5221
5748
|
}
|
|
5222
|
-
return /* @__PURE__ */
|
|
5749
|
+
return /* @__PURE__ */ React50.createElement("div", { ref, className: cx("aura-accordion", props.className), onKeyDown: onKey }, items2.map(function(it) {
|
|
5223
5750
|
const on = open.indexOf(it.id) >= 0, bid = base + "-btn-" + it.id, pid = base + "-panel-" + it.id;
|
|
5224
|
-
return /* @__PURE__ */
|
|
5751
|
+
return /* @__PURE__ */ React50.createElement("div", { key: it.id, className: cx("aura-accordion__item", on && "is-open") }, /* @__PURE__ */ React50.createElement(HT, { className: "aura-accordion__heading" }, /* @__PURE__ */ React50.createElement(
|
|
5225
5752
|
"button",
|
|
5226
5753
|
{
|
|
5227
5754
|
type: "button",
|
|
@@ -5233,16 +5760,16 @@ window.Aura = (() => {
|
|
|
5233
5760
|
toggle(it.id);
|
|
5234
5761
|
}
|
|
5235
5762
|
},
|
|
5236
|
-
it.icon ? /* @__PURE__ */
|
|
5237
|
-
/* @__PURE__ */
|
|
5238
|
-
/* @__PURE__ */
|
|
5239
|
-
)), /* @__PURE__ */
|
|
5763
|
+
it.icon ? /* @__PURE__ */ React50.createElement(Icon, { name: it.icon, className: "aura-accordion__lead" }) : null,
|
|
5764
|
+
/* @__PURE__ */ React50.createElement("span", { className: "aura-accordion__title" }, it.title, it.description ? /* @__PURE__ */ React50.createElement("span", { className: "aura-accordion__desc" }, it.description) : null),
|
|
5765
|
+
/* @__PURE__ */ React50.createElement(Icon, { name: "chevron-down", className: "aura-accordion__chevron" })
|
|
5766
|
+
)), /* @__PURE__ */ React50.createElement("div", { id: pid, role: "region", "aria-labelledby": bid, className: "aura-accordion__panel", hidden: !on }, it.content));
|
|
5240
5767
|
}));
|
|
5241
5768
|
});
|
|
5242
5769
|
|
|
5243
5770
|
// src/Popover.tsx
|
|
5244
|
-
var
|
|
5245
|
-
var
|
|
5771
|
+
var React51 = __toESM(require_react(), 1);
|
|
5772
|
+
var import_react_dom9 = __toESM(require_react_dom(), 1);
|
|
5246
5773
|
function position(anchor, pop, placement) {
|
|
5247
5774
|
const r = anchor.getBoundingClientRect(), pw = pop.offsetWidth, ph = pop.offsetHeight, vw = window.innerWidth, vh = window.innerHeight, gap = 6;
|
|
5248
5775
|
let side = (placement || "bottom-start").split("-")[0], align = (placement || "bottom-start").split("-")[1] || "start";
|
|
@@ -5252,13 +5779,14 @@ window.Aura = (() => {
|
|
|
5252
5779
|
const left = align === "end" ? r.right - pw : align === "center" ? r.left + r.width / 2 - pw / 2 : r.left;
|
|
5253
5780
|
return { top: Math.max(8, top), left: Math.max(8, Math.min(left, vw - pw - 8)), side };
|
|
5254
5781
|
}
|
|
5255
|
-
var Popover =
|
|
5782
|
+
var Popover = React51.forwardRef(function Popover2(props, ref) {
|
|
5256
5783
|
const t = useStrings();
|
|
5784
|
+
const density = useDensity();
|
|
5257
5785
|
const auto = uid(), id = props.id || auto;
|
|
5258
5786
|
const st = useMaybeControlled(props.open, !!props.defaultOpen, props.onOpenChange);
|
|
5259
5787
|
const open = !!st[0];
|
|
5260
|
-
const wrap =
|
|
5261
|
-
const pos =
|
|
5788
|
+
const wrap = React51.useRef(null), pop = React51.useRef(null), popMerged = useMergedRef(ref, pop);
|
|
5789
|
+
const pos = React51.useState(null), mounted = useMounted();
|
|
5262
5790
|
function trigger() {
|
|
5263
5791
|
return wrap.current && (wrap.current.querySelector('button, [role="button"], a, input') || wrap.current.firstElementChild);
|
|
5264
5792
|
}
|
|
@@ -5285,7 +5813,7 @@ window.Aura = (() => {
|
|
|
5285
5813
|
},
|
|
5286
5814
|
[open, mounted, props.placement]
|
|
5287
5815
|
);
|
|
5288
|
-
|
|
5816
|
+
React51.useEffect(
|
|
5289
5817
|
function() {
|
|
5290
5818
|
if (!open || !mounted) return;
|
|
5291
5819
|
if (props.autoFocus !== false && pop.current) {
|
|
@@ -5304,13 +5832,14 @@ window.Aura = (() => {
|
|
|
5304
5832
|
},
|
|
5305
5833
|
[open, mounted]
|
|
5306
5834
|
);
|
|
5307
|
-
const child =
|
|
5308
|
-
const panel = open && mounted ? (0,
|
|
5309
|
-
/* @__PURE__ */
|
|
5835
|
+
const child = React51.Children.only(props.trigger);
|
|
5836
|
+
const panel = open && mounted ? (0, import_react_dom9.createPortal)(
|
|
5837
|
+
/* @__PURE__ */ React51.createElement(
|
|
5310
5838
|
"div",
|
|
5311
5839
|
{
|
|
5312
5840
|
ref: popMerged,
|
|
5313
5841
|
id,
|
|
5842
|
+
"data-density": density,
|
|
5314
5843
|
role: "dialog",
|
|
5315
5844
|
"aria-modal": false,
|
|
5316
5845
|
"aria-label": props.title ? void 0 : props.label,
|
|
@@ -5328,7 +5857,7 @@ window.Aura = (() => {
|
|
|
5328
5857
|
} else trapTab(e, pop.current);
|
|
5329
5858
|
}
|
|
5330
5859
|
},
|
|
5331
|
-
props.title ? /* @__PURE__ */
|
|
5860
|
+
props.title ? /* @__PURE__ */ React51.createElement("div", { className: "aura-popover__head" }, /* @__PURE__ */ React51.createElement("p", { className: "aura-popover__title", id: id + "-title" }, props.title), /* @__PURE__ */ React51.createElement(
|
|
5332
5861
|
IconButton,
|
|
5333
5862
|
{
|
|
5334
5863
|
icon: "x",
|
|
@@ -5338,7 +5867,7 @@ window.Aura = (() => {
|
|
|
5338
5867
|
}
|
|
5339
5868
|
}
|
|
5340
5869
|
)) : null,
|
|
5341
|
-
/* @__PURE__ */
|
|
5870
|
+
/* @__PURE__ */ React51.createElement("div", { className: "aura-popover__body" }, typeof props.children === "function" ? props.children({
|
|
5342
5871
|
close: function() {
|
|
5343
5872
|
close(true);
|
|
5344
5873
|
}
|
|
@@ -5346,7 +5875,7 @@ window.Aura = (() => {
|
|
|
5346
5875
|
),
|
|
5347
5876
|
document.body
|
|
5348
5877
|
) : null;
|
|
5349
|
-
return /* @__PURE__ */
|
|
5878
|
+
return /* @__PURE__ */ React51.createElement("span", { ref: wrap, className: "aura-popover-anchor" }, React51.cloneElement(child, {
|
|
5350
5879
|
onClick: function(e) {
|
|
5351
5880
|
if (child.props.onClick) child.props.onClick(e);
|
|
5352
5881
|
st[1](!open);
|
|
@@ -5358,7 +5887,7 @@ window.Aura = (() => {
|
|
|
5358
5887
|
});
|
|
5359
5888
|
|
|
5360
5889
|
// src/NumberField.tsx
|
|
5361
|
-
var
|
|
5890
|
+
var React52 = __toESM(require_react(), 1);
|
|
5362
5891
|
function decimalsOf(n2) {
|
|
5363
5892
|
const s = String(n2);
|
|
5364
5893
|
const i = s.indexOf(".");
|
|
@@ -5369,7 +5898,7 @@ window.Aura = (() => {
|
|
|
5369
5898
|
if (!/^-?(\d+\.?\d*|\.\d+)$/.test(s)) return NaN;
|
|
5370
5899
|
return Number(s);
|
|
5371
5900
|
}
|
|
5372
|
-
var NumberField =
|
|
5901
|
+
var NumberField = React52.forwardRef(function NumberField2(props, ref) {
|
|
5373
5902
|
const t = useStrings();
|
|
5374
5903
|
const auto = uid(), id = props.id || auto;
|
|
5375
5904
|
const step = props.step || 1;
|
|
@@ -5380,7 +5909,7 @@ window.Aura = (() => {
|
|
|
5380
5909
|
props.onChange
|
|
5381
5910
|
);
|
|
5382
5911
|
const value = st[0], setValue = st[1];
|
|
5383
|
-
const draftState =
|
|
5912
|
+
const draftState = React52.useState(null), draft = draftState[0], setDraft = draftState[1];
|
|
5384
5913
|
function fmt2(n2) {
|
|
5385
5914
|
if (n2 == null || isNaN(n2)) return "";
|
|
5386
5915
|
return n2.toLocaleString("en", { minimumFractionDigits: decimals, maximumFractionDigits: decimals });
|
|
@@ -5429,7 +5958,7 @@ window.Aura = (() => {
|
|
|
5429
5958
|
};
|
|
5430
5959
|
const valueText = value == null ? void 0 : [affixText(props.prefix), fmt2(value), affixText(props.suffix)].join(" ").trim();
|
|
5431
5960
|
const stepper = props.stepper !== false && !props.readOnly;
|
|
5432
|
-
return /* @__PURE__ */
|
|
5961
|
+
return /* @__PURE__ */ React52.createElement(
|
|
5433
5962
|
Field,
|
|
5434
5963
|
{
|
|
5435
5964
|
id,
|
|
@@ -5441,7 +5970,7 @@ window.Aura = (() => {
|
|
|
5441
5970
|
disabled: props.disabled,
|
|
5442
5971
|
className: props.className
|
|
5443
5972
|
},
|
|
5444
|
-
/* @__PURE__ */
|
|
5973
|
+
/* @__PURE__ */ React52.createElement("div", { className: cx("aura-input aura-number", stepper && "has-stepper") }, props.prefix != null ? /* @__PURE__ */ React52.createElement("span", { className: "aura-number__affix", "aria-hidden": true }, props.prefix) : null, /* @__PURE__ */ React52.createElement(
|
|
5445
5974
|
"input",
|
|
5446
5975
|
{
|
|
5447
5976
|
ref,
|
|
@@ -5488,7 +6017,7 @@ window.Aura = (() => {
|
|
|
5488
6017
|
},
|
|
5489
6018
|
onKeyDown
|
|
5490
6019
|
}
|
|
5491
|
-
), props.suffix != null ? /* @__PURE__ */
|
|
6020
|
+
), props.suffix != null ? /* @__PURE__ */ React52.createElement("span", { className: "aura-number__affix", "aria-hidden": true }, props.suffix) : null, stepper ? /* @__PURE__ */ React52.createElement("span", { className: "aura-number__steps" }, /* @__PURE__ */ React52.createElement(
|
|
5492
6021
|
"button",
|
|
5493
6022
|
{
|
|
5494
6023
|
type: "button",
|
|
@@ -5504,8 +6033,8 @@ window.Aura = (() => {
|
|
|
5504
6033
|
nudge(-step);
|
|
5505
6034
|
}
|
|
5506
6035
|
},
|
|
5507
|
-
/* @__PURE__ */
|
|
5508
|
-
), /* @__PURE__ */
|
|
6036
|
+
/* @__PURE__ */ React52.createElement(Icon, { name: "minus" })
|
|
6037
|
+
), /* @__PURE__ */ React52.createElement(
|
|
5509
6038
|
"button",
|
|
5510
6039
|
{
|
|
5511
6040
|
type: "button",
|
|
@@ -5521,14 +6050,14 @@ window.Aura = (() => {
|
|
|
5521
6050
|
nudge(step);
|
|
5522
6051
|
}
|
|
5523
6052
|
},
|
|
5524
|
-
/* @__PURE__ */
|
|
6053
|
+
/* @__PURE__ */ React52.createElement(Icon, { name: "plus" })
|
|
5525
6054
|
)) : null)
|
|
5526
6055
|
);
|
|
5527
6056
|
});
|
|
5528
6057
|
|
|
5529
6058
|
// src/Stepper.tsx
|
|
5530
|
-
var
|
|
5531
|
-
var Stepper =
|
|
6059
|
+
var React53 = __toESM(require_react(), 1);
|
|
6060
|
+
var Stepper = React53.forwardRef(function Stepper2(props, ref) {
|
|
5532
6061
|
const t = useStrings();
|
|
5533
6062
|
const steps = props.steps || [];
|
|
5534
6063
|
let at = -1;
|
|
@@ -5538,26 +6067,26 @@ window.Aura = (() => {
|
|
|
5538
6067
|
if (at < 0) at = 0;
|
|
5539
6068
|
const vertical = props.orientation === "vertical";
|
|
5540
6069
|
const cur = steps[at];
|
|
5541
|
-
return /* @__PURE__ */
|
|
6070
|
+
return /* @__PURE__ */ React53.createElement(
|
|
5542
6071
|
"nav",
|
|
5543
6072
|
{
|
|
5544
6073
|
ref,
|
|
5545
6074
|
"aria-label": props.label,
|
|
5546
6075
|
className: cx("aura-stepper", vertical ? "aura-stepper--vertical" : "aura-stepper--horizontal", props.className)
|
|
5547
6076
|
},
|
|
5548
|
-
/* @__PURE__ */
|
|
6077
|
+
/* @__PURE__ */ React53.createElement("ol", { className: "aura-stepper__list" }, steps.map(function(s, i) {
|
|
5549
6078
|
const state = i < at ? "done" : i === at ? "current" : "upcoming";
|
|
5550
|
-
const marker = /* @__PURE__ */
|
|
5551
|
-
const text = /* @__PURE__ */
|
|
6079
|
+
const marker = /* @__PURE__ */ React53.createElement("span", { className: "aura-stepper__marker", "aria-hidden": true }, state === "done" ? /* @__PURE__ */ React53.createElement(Icon, { name: "check" }) : i + 1);
|
|
6080
|
+
const text = /* @__PURE__ */ React53.createElement("span", { className: "aura-stepper__text" }, /* @__PURE__ */ React53.createElement("span", { className: "aura-stepper__label" }, s.label, state === "done" ? /* @__PURE__ */ React53.createElement("span", { className: "aura-sr-only" }, ", " + t.stepDone) : null), s.description ? /* @__PURE__ */ React53.createElement("span", { className: "aura-stepper__desc" }, s.description) : null);
|
|
5552
6081
|
const clickable = state === "done" && !!props.onStepClick;
|
|
5553
|
-
return /* @__PURE__ */
|
|
6082
|
+
return /* @__PURE__ */ React53.createElement(
|
|
5554
6083
|
"li",
|
|
5555
6084
|
{
|
|
5556
6085
|
key: s.id,
|
|
5557
6086
|
className: cx("aura-stepper__item", "is-" + state),
|
|
5558
6087
|
"aria-current": state === "current" ? "step" : void 0
|
|
5559
6088
|
},
|
|
5560
|
-
clickable ? /* @__PURE__ */
|
|
6089
|
+
clickable ? /* @__PURE__ */ React53.createElement(
|
|
5561
6090
|
"button",
|
|
5562
6091
|
{
|
|
5563
6092
|
type: "button",
|
|
@@ -5568,19 +6097,19 @@ window.Aura = (() => {
|
|
|
5568
6097
|
},
|
|
5569
6098
|
marker,
|
|
5570
6099
|
text
|
|
5571
|
-
) : /* @__PURE__ */
|
|
6100
|
+
) : /* @__PURE__ */ React53.createElement("span", { className: "aura-stepper__step" }, marker, text)
|
|
5572
6101
|
);
|
|
5573
6102
|
})),
|
|
5574
|
-
!vertical && cur ? /* @__PURE__ */
|
|
6103
|
+
!vertical && cur ? /* @__PURE__ */ React53.createElement("p", { className: "aura-stepper__compact", "aria-hidden": true }, /* @__PURE__ */ React53.createElement("span", { className: "aura-stepper__count" }, t.stepOf(at + 1, steps.length)), /* @__PURE__ */ React53.createElement("span", { className: "aura-stepper__compact-label" }, cur.label)) : null
|
|
5575
6104
|
);
|
|
5576
6105
|
});
|
|
5577
6106
|
|
|
5578
6107
|
// src/SegmentedControl.tsx
|
|
5579
|
-
var
|
|
6108
|
+
var React54 = __toESM(require_react(), 1);
|
|
5580
6109
|
function toOpt2(o) {
|
|
5581
6110
|
return typeof o === "object" ? o : { value: o, label: o };
|
|
5582
6111
|
}
|
|
5583
|
-
var SegmentedControl =
|
|
6112
|
+
var SegmentedControl = React54.forwardRef(
|
|
5584
6113
|
function SegmentedControl2(props, ref) {
|
|
5585
6114
|
const options = (props.options || []).map(toOpt2);
|
|
5586
6115
|
const firstEnabled = options.filter(function(o) {
|
|
@@ -5593,7 +6122,7 @@ window.Aura = (() => {
|
|
|
5593
6122
|
);
|
|
5594
6123
|
const value = st[0], setValue = st[1];
|
|
5595
6124
|
const auto = uid(), id = props.id || auto;
|
|
5596
|
-
const refs =
|
|
6125
|
+
const refs = React54.useRef([]);
|
|
5597
6126
|
const selIdx = options.findIndex(function(o) {
|
|
5598
6127
|
return o.value === value;
|
|
5599
6128
|
});
|
|
@@ -5626,7 +6155,7 @@ window.Aura = (() => {
|
|
|
5626
6155
|
move(options.length, -1);
|
|
5627
6156
|
}
|
|
5628
6157
|
}
|
|
5629
|
-
return /* @__PURE__ */
|
|
6158
|
+
return /* @__PURE__ */ React54.createElement(
|
|
5630
6159
|
"div",
|
|
5631
6160
|
{
|
|
5632
6161
|
ref,
|
|
@@ -5645,7 +6174,7 @@ window.Aura = (() => {
|
|
|
5645
6174
|
options.map(function(o, i) {
|
|
5646
6175
|
const on = o.value === value;
|
|
5647
6176
|
const off = props.disabled || o.disabled;
|
|
5648
|
-
return /* @__PURE__ */
|
|
6177
|
+
return /* @__PURE__ */ React54.createElement(
|
|
5649
6178
|
"button",
|
|
5650
6179
|
{
|
|
5651
6180
|
key: o.value,
|
|
@@ -5667,8 +6196,8 @@ window.Aura = (() => {
|
|
|
5667
6196
|
onKeyDown(e, i);
|
|
5668
6197
|
}
|
|
5669
6198
|
},
|
|
5670
|
-
o.icon ? /* @__PURE__ */
|
|
5671
|
-
o.iconOnly ? null : /* @__PURE__ */
|
|
6199
|
+
o.icon ? /* @__PURE__ */ React54.createElement(Icon, { name: o.icon }) : null,
|
|
6200
|
+
o.iconOnly ? null : /* @__PURE__ */ React54.createElement("span", null, o.label)
|
|
5672
6201
|
);
|
|
5673
6202
|
})
|
|
5674
6203
|
);
|