@jirawatpyk/aura-react 4.18.0 → 4.20.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 +47 -3
- package/dist/aura.bundle.js +698 -298
- package/dist/cjs/index.cjs +697 -297
- package/dist/esm/ActionBar.js +47 -0
- package/dist/esm/AppShell.js +2 -2
- package/dist/esm/BottomNav.js +45 -0
- package/dist/esm/DataTable.js +187 -114
- package/dist/esm/DatePicker.js +33 -11
- package/dist/esm/DropdownMenu.js +1 -0
- package/dist/esm/Menu.js +64 -22
- package/dist/esm/Separator.js +20 -0
- package/dist/esm/Table.js +79 -0
- package/dist/esm/Tabs.js +35 -0
- package/dist/esm/Toaster.js +23 -6
- package/dist/esm/Tooltip.js +21 -3
- package/dist/esm/dates.js +12 -1
- package/dist/esm/index.js +16 -0
- package/dist/esm/locale.js +4 -2
- package/dist/esm/strings.js +3 -0
- package/dist/index.d.ts +163 -10
- package/dist/server/index.cjs +15 -1
- package/dist/server/index.d.ts +3 -0
- package/dist/server/index.js +15 -1
- package/dist/styles.css +184 -55
- package/dist/styles.layer.css +184 -55
- 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":"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"}]} */
|
|
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":"ActionBar"},{"name":"Separator"},{"name":"Table"},{"name":"Tr"},{"name":"Th"},{"name":"Td"},{"name":"BottomNav"},{"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;
|
|
@@ -51,11 +51,13 @@ window.Aura = (() => {
|
|
|
51
51
|
var index_exports = {};
|
|
52
52
|
__export(index_exports, {
|
|
53
53
|
Accordion: () => Accordion,
|
|
54
|
+
ActionBar: () => ActionBar,
|
|
54
55
|
Alert: () => Alert,
|
|
55
56
|
AppShell: () => AppShell,
|
|
56
57
|
AuraProvider: () => AuraProvider,
|
|
57
58
|
Avatar: () => Avatar,
|
|
58
59
|
Badge: () => Badge,
|
|
60
|
+
BottomNav: () => BottomNav,
|
|
59
61
|
Breadcrumb: () => Breadcrumb,
|
|
60
62
|
Button: () => Button,
|
|
61
63
|
Calendar: () => Calendar,
|
|
@@ -91,6 +93,7 @@ window.Aura = (() => {
|
|
|
91
93
|
STRINGS: () => STRINGS,
|
|
92
94
|
SegmentedControl: () => SegmentedControl,
|
|
93
95
|
Select: () => Select,
|
|
96
|
+
Separator: () => Separator,
|
|
94
97
|
SideNav: () => SideNav,
|
|
95
98
|
Skeleton: () => Skeleton,
|
|
96
99
|
Stack: () => Stack,
|
|
@@ -99,14 +102,21 @@ window.Aura = (() => {
|
|
|
99
102
|
Stepper: () => Stepper,
|
|
100
103
|
Surface: () => Surface,
|
|
101
104
|
Switch: () => Switch,
|
|
105
|
+
TBody: () => TBody,
|
|
106
|
+
TFoot: () => TFoot,
|
|
107
|
+
THead: () => THead,
|
|
108
|
+
Table: () => Table,
|
|
102
109
|
Tabs: () => Tabs,
|
|
103
110
|
Tag: () => Tag,
|
|
111
|
+
Td: () => Td,
|
|
104
112
|
TextField: () => TextField,
|
|
105
113
|
Textarea: () => Textarea,
|
|
114
|
+
Th: () => Th,
|
|
106
115
|
ThemeStyle: () => ThemeStyle,
|
|
107
116
|
TimePicker: () => TimePicker,
|
|
108
117
|
Toaster: () => Toaster,
|
|
109
118
|
Tooltip: () => Tooltip,
|
|
119
|
+
Tr: () => Tr,
|
|
110
120
|
brandScale: () => scale,
|
|
111
121
|
breakpoints: () => breakpoints,
|
|
112
122
|
colorSchemeScript: () => colorSchemeScript,
|
|
@@ -114,12 +124,13 @@ window.Aura = (() => {
|
|
|
114
124
|
contrast: () => contrast,
|
|
115
125
|
createTheme: () => createTheme,
|
|
116
126
|
formatBytes: () => formatBytes,
|
|
117
|
-
formatDate: () =>
|
|
127
|
+
formatDate: () => formatDate2,
|
|
118
128
|
iconNames: () => iconNames,
|
|
119
129
|
parseDate: () => parseDate,
|
|
120
130
|
parseTime: () => parseTime,
|
|
121
131
|
statusTone: () => toneFor,
|
|
122
132
|
toast: () => toast,
|
|
133
|
+
todayIn: () => todayIn,
|
|
123
134
|
useAuraLocale: () => useAuraLocale,
|
|
124
135
|
useBreakpoint: () => useBreakpoint,
|
|
125
136
|
useColorScheme: () => useColorScheme,
|
|
@@ -346,6 +357,7 @@ window.Aura = (() => {
|
|
|
346
357
|
},
|
|
347
358
|
prevPage: "Previous page",
|
|
348
359
|
nextPage: "Next page",
|
|
360
|
+
totals: "Totals",
|
|
349
361
|
rowCount: function(c) {
|
|
350
362
|
return n(c) + " rows";
|
|
351
363
|
},
|
|
@@ -459,6 +471,7 @@ window.Aura = (() => {
|
|
|
459
471
|
},
|
|
460
472
|
prevPage: "\u0E2B\u0E19\u0E49\u0E32\u0E01\u0E48\u0E2D\u0E19\u0E2B\u0E19\u0E49\u0E32",
|
|
461
473
|
nextPage: "\u0E2B\u0E19\u0E49\u0E32\u0E16\u0E31\u0E14\u0E44\u0E1B",
|
|
474
|
+
totals: "\u0E23\u0E27\u0E21",
|
|
462
475
|
rowCount: function(c) {
|
|
463
476
|
return n(c) + " \u0E41\u0E16\u0E27";
|
|
464
477
|
},
|
|
@@ -572,6 +585,7 @@ window.Aura = (() => {
|
|
|
572
585
|
},
|
|
573
586
|
prevPage: "F\xF6reg\xE5ende sida",
|
|
574
587
|
nextPage: "N\xE4sta sida",
|
|
588
|
+
totals: "Summa",
|
|
575
589
|
rowCount: function(c) {
|
|
576
590
|
return nsv(c) + " rader";
|
|
577
591
|
},
|
|
@@ -622,6 +636,7 @@ window.Aura = (() => {
|
|
|
622
636
|
function AuraProvider(props) {
|
|
623
637
|
const outer = React3.useContext(LocaleContext);
|
|
624
638
|
const density = props.density || outer && outer.density || null;
|
|
639
|
+
const timeZone = props.timeZone || outer && outer.timeZone || null;
|
|
625
640
|
const value = React3.useMemo(
|
|
626
641
|
function() {
|
|
627
642
|
const base = props.locale && STRINGS[props.locale] || STRINGS.en;
|
|
@@ -630,10 +645,11 @@ window.Aura = (() => {
|
|
|
630
645
|
calendar: props.calendar || null,
|
|
631
646
|
strings: props.strings ? Object.assign({}, base, props.strings) : base,
|
|
632
647
|
linkComponent: props.linkComponent || null,
|
|
633
|
-
density
|
|
648
|
+
density,
|
|
649
|
+
timeZone
|
|
634
650
|
};
|
|
635
651
|
},
|
|
636
|
-
[props.locale, props.calendar, props.strings, props.linkComponent, density]
|
|
652
|
+
[props.locale, props.calendar, props.strings, props.linkComponent, density, timeZone]
|
|
637
653
|
);
|
|
638
654
|
return /* @__PURE__ */ React3.createElement(LocaleContext.Provider, { value }, props.density ? /* @__PURE__ */ React3.createElement("div", { className: "aura-density", "data-density": props.density }, props.children) : props.children);
|
|
639
655
|
}
|
|
@@ -767,6 +783,7 @@ window.Aura = (() => {
|
|
|
767
783
|
const pos = posState[0], setPos = posState[1];
|
|
768
784
|
const items2 = props.items || [];
|
|
769
785
|
const mounted = useMounted();
|
|
786
|
+
const Link = useLinkComponent(props.linkComponent);
|
|
770
787
|
useIsoLayoutEffect(
|
|
771
788
|
function() {
|
|
772
789
|
const a = props.anchor, m = own.current;
|
|
@@ -827,6 +844,63 @@ window.Aura = (() => {
|
|
|
827
844
|
}
|
|
828
845
|
e.stopPropagation();
|
|
829
846
|
}
|
|
847
|
+
function groupItems(list) {
|
|
848
|
+
const out = [];
|
|
849
|
+
list.forEach(function(it, i) {
|
|
850
|
+
const g = it.type === "radio" && it.group ? it.group : null;
|
|
851
|
+
const last = out[out.length - 1];
|
|
852
|
+
if (last && last.group === g && g !== null) last.items.push({ it, i });
|
|
853
|
+
else out.push({ group: g, items: [{ it, i }] });
|
|
854
|
+
});
|
|
855
|
+
return out;
|
|
856
|
+
}
|
|
857
|
+
function renderItem(it, i) {
|
|
858
|
+
if (it.separator) return /* @__PURE__ */ React6.createElement("div", { key: "s" + i, role: "separator", className: "aura-menu__sep" });
|
|
859
|
+
const isRadio = it.type === "radio";
|
|
860
|
+
const isCheck = !isRadio && it.checked !== void 0;
|
|
861
|
+
const lead = isRadio ? /* @__PURE__ */ React6.createElement("span", { className: cx("aura-menu__radio", it.checked && "is-on") }) : isCheck ? /* @__PURE__ */ React6.createElement("span", { className: cx("aura-menu__check", it.checked && "is-on") }, it.checked ? /* @__PURE__ */ React6.createElement(Icon, { name: "check", size: 12, strokeWidth: 3 }) : null) : it.icon ? /* @__PURE__ */ React6.createElement(Icon, { name: it.icon }) : /* @__PURE__ */ React6.createElement("span", { className: "aura-menu__blank" });
|
|
862
|
+
const body = [
|
|
863
|
+
/* @__PURE__ */ React6.createElement(React6.Fragment, { key: "l" }, lead),
|
|
864
|
+
/* @__PURE__ */ React6.createElement("span", { key: "t", className: "aura-menu__label" }, it.label),
|
|
865
|
+
it.hint ? /* @__PURE__ */ React6.createElement("span", { key: "h", className: "aura-menu__hint" }, it.hint) : null
|
|
866
|
+
];
|
|
867
|
+
const cls = cx("aura-menu__item", it.tone === "danger" && "aura-menu__item--danger");
|
|
868
|
+
if (it.href && !it.disabled)
|
|
869
|
+
return /* @__PURE__ */ React6.createElement(
|
|
870
|
+
Link,
|
|
871
|
+
{
|
|
872
|
+
key: i,
|
|
873
|
+
href: it.href,
|
|
874
|
+
target: it.target,
|
|
875
|
+
rel: it.target === "_blank" ? "noreferrer" : void 0,
|
|
876
|
+
tabIndex: -1,
|
|
877
|
+
role: "menuitem",
|
|
878
|
+
className: cls,
|
|
879
|
+
onClick: function() {
|
|
880
|
+
if (it.onSelect) it.onSelect();
|
|
881
|
+
props.onClose(false);
|
|
882
|
+
}
|
|
883
|
+
},
|
|
884
|
+
body
|
|
885
|
+
);
|
|
886
|
+
return /* @__PURE__ */ React6.createElement(
|
|
887
|
+
"button",
|
|
888
|
+
{
|
|
889
|
+
key: i,
|
|
890
|
+
type: "button",
|
|
891
|
+
tabIndex: -1,
|
|
892
|
+
disabled: it.disabled,
|
|
893
|
+
role: isRadio ? "menuitemradio" : isCheck ? "menuitemcheckbox" : "menuitem",
|
|
894
|
+
"aria-checked": isRadio || isCheck ? !!it.checked : void 0,
|
|
895
|
+
className: cls,
|
|
896
|
+
onClick: function() {
|
|
897
|
+
if (it.onSelect) it.onSelect();
|
|
898
|
+
if (!it.keepOpen) props.onClose(true);
|
|
899
|
+
}
|
|
900
|
+
},
|
|
901
|
+
body
|
|
902
|
+
);
|
|
903
|
+
}
|
|
830
904
|
const el = /* @__PURE__ */ React6.createElement(
|
|
831
905
|
"div",
|
|
832
906
|
{
|
|
@@ -837,28 +911,11 @@ window.Aura = (() => {
|
|
|
837
911
|
onKeyDown,
|
|
838
912
|
style: { top: pos ? pos.top : -9999, left: pos ? pos.left : -9999 }
|
|
839
913
|
},
|
|
840
|
-
items2.map(function(
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
{
|
|
846
|
-
key: i,
|
|
847
|
-
type: "button",
|
|
848
|
-
tabIndex: -1,
|
|
849
|
-
disabled: it.disabled,
|
|
850
|
-
role: isCheck ? "menuitemcheckbox" : "menuitem",
|
|
851
|
-
"aria-checked": isCheck ? !!it.checked : void 0,
|
|
852
|
-
className: "aura-menu__item",
|
|
853
|
-
onClick: function() {
|
|
854
|
-
it.onSelect();
|
|
855
|
-
if (!it.keepOpen) props.onClose(true);
|
|
856
|
-
}
|
|
857
|
-
},
|
|
858
|
-
isCheck ? /* @__PURE__ */ React6.createElement("span", { className: cx("aura-menu__check", it.checked && "is-on") }, it.checked ? /* @__PURE__ */ React6.createElement(Icon, { name: "check", size: 12, strokeWidth: 3 }) : null) : it.icon ? /* @__PURE__ */ React6.createElement(Icon, { name: it.icon }) : /* @__PURE__ */ React6.createElement("span", { className: "aura-menu__blank" }),
|
|
859
|
-
/* @__PURE__ */ React6.createElement("span", { className: "aura-menu__label" }, it.label),
|
|
860
|
-
it.hint ? /* @__PURE__ */ React6.createElement("span", { className: "aura-menu__hint" }, it.hint) : null
|
|
861
|
-
);
|
|
914
|
+
groupItems(items2).map(function(block, bi) {
|
|
915
|
+
const rendered = block.items.map(function(x) {
|
|
916
|
+
return renderItem(x.it, x.i);
|
|
917
|
+
});
|
|
918
|
+
return block.group ? /* @__PURE__ */ React6.createElement("div", { key: "g" + bi, role: "group", "aria-label": block.group, className: "aura-menu__group" }, rendered) : /* @__PURE__ */ React6.createElement(React6.Fragment, { key: "f" + bi }, rendered);
|
|
862
919
|
})
|
|
863
920
|
);
|
|
864
921
|
return mounted ? (0, import_react_dom.createPortal)(el, document.body) : null;
|
|
@@ -887,6 +944,7 @@ window.Aura = (() => {
|
|
|
887
944
|
anchor,
|
|
888
945
|
label: props.label,
|
|
889
946
|
items: props.items,
|
|
947
|
+
linkComponent: props.linkComponent,
|
|
890
948
|
onClose: function(restore) {
|
|
891
949
|
setAnchor(null);
|
|
892
950
|
if (restore && typeof anchor.focus === "function") anchor.focus();
|
|
@@ -1273,13 +1331,13 @@ window.Aura = (() => {
|
|
|
1273
1331
|
function place() {
|
|
1274
1332
|
if (!boxRef.current) return;
|
|
1275
1333
|
const r = boxRef.current.getBoundingClientRect();
|
|
1276
|
-
const maxH = 320,
|
|
1334
|
+
const maxH = 320, below2 = window.innerHeight - r.bottom - 8, up = below2 < 200 && r.top > below2;
|
|
1277
1335
|
posState[1]({
|
|
1278
1336
|
left: r.left,
|
|
1279
1337
|
width: r.width,
|
|
1280
1338
|
top: up ? void 0 : r.bottom + 4,
|
|
1281
1339
|
bottom: up ? window.innerHeight - r.top + 4 : void 0,
|
|
1282
|
-
maxHeight: Math.min(maxH, (up ? r.top :
|
|
1340
|
+
maxHeight: Math.min(maxH, (up ? r.top : below2) - 8)
|
|
1283
1341
|
});
|
|
1284
1342
|
}
|
|
1285
1343
|
useIsoLayoutEffect(
|
|
@@ -1696,8 +1754,35 @@ window.Aura = (() => {
|
|
|
1696
1754
|
const dt = new Date(y, mo - 1, d);
|
|
1697
1755
|
return dt.getMonth() === mo - 1 && dt.getDate() === d ? toISO(dt) : null;
|
|
1698
1756
|
}
|
|
1757
|
+
function todayIn(timeZone) {
|
|
1758
|
+
const now = /* @__PURE__ */ new Date();
|
|
1759
|
+
if (!timeZone) return toISO(now);
|
|
1760
|
+
return new Intl.DateTimeFormat("en-CA", {
|
|
1761
|
+
timeZone,
|
|
1762
|
+
year: "numeric",
|
|
1763
|
+
month: "2-digit",
|
|
1764
|
+
day: "2-digit"
|
|
1765
|
+
}).format(now);
|
|
1766
|
+
}
|
|
1699
1767
|
|
|
1700
1768
|
// src/DatePicker.tsx
|
|
1769
|
+
var warnedNoLocale = false;
|
|
1770
|
+
function isDev() {
|
|
1771
|
+
try {
|
|
1772
|
+
return true;
|
|
1773
|
+
} catch (e) {
|
|
1774
|
+
return false;
|
|
1775
|
+
}
|
|
1776
|
+
}
|
|
1777
|
+
function formatDate2(iso, opts) {
|
|
1778
|
+
if (!warnedNoLocale && !(opts && opts.locale) && isDev()) {
|
|
1779
|
+
warnedNoLocale = true;
|
|
1780
|
+
console.warn(
|
|
1781
|
+
"[AURA] formatDate() was called without a locale. It shows Thai with Buddhist-era years today; in 5.0 it will show English with Gregorian years, like '@jirawatpyk/aura-react/server'. Pass { locale: 'th' } to keep Thai, or use useFormatDate() in components."
|
|
1782
|
+
);
|
|
1783
|
+
}
|
|
1784
|
+
return formatDate(iso, opts);
|
|
1785
|
+
}
|
|
1701
1786
|
function useFormatDate() {
|
|
1702
1787
|
const ctx = useAuraLocale(), locale = ctx.locale || "en", calendar = ctx.calendar;
|
|
1703
1788
|
return React17.useCallback(
|
|
@@ -1717,9 +1802,9 @@ window.Aura = (() => {
|
|
|
1717
1802
|
var Calendar = React17.forwardRef(function Calendar2(props, ref) {
|
|
1718
1803
|
const ctx = useAuraLocale(), locale = props.locale || ctx.locale || "en", calendar = props.calendar || ctx.calendar || defaultCalendar(locale), tag = localeTag(locale, calendar);
|
|
1719
1804
|
const weekStart = props.weekStartsOn == null ? locale === "sv" ? 1 : 0 : props.weekStartsOn;
|
|
1720
|
-
|
|
1721
|
-
today =
|
|
1722
|
-
const min = fromISO(props.min), max = fromISO(props.max);
|
|
1805
|
+
const todayISO = props.today || todayIn(props.timeZone || ctx.timeZone);
|
|
1806
|
+
const today = fromISO(todayISO);
|
|
1807
|
+
const min = fromISO(props.min === "today" ? todayISO : props.min), max = fromISO(props.max === "today" ? todayISO : props.max);
|
|
1723
1808
|
const start = fromISO(props.start), end = fromISO(props.end);
|
|
1724
1809
|
const focusState = React17.useState(fromISO(props.focus) || start || today);
|
|
1725
1810
|
const focusDate = focusState[0], setFocus = focusState[1];
|
|
@@ -2105,6 +2190,8 @@ window.Aura = (() => {
|
|
|
2105
2190
|
weekStartsOn: props.weekStartsOn,
|
|
2106
2191
|
min: props.min,
|
|
2107
2192
|
max: props.max,
|
|
2193
|
+
timeZone: props.timeZone,
|
|
2194
|
+
today: props.today,
|
|
2108
2195
|
isDateDisabled: props.isDateDisabled,
|
|
2109
2196
|
start: st[0],
|
|
2110
2197
|
focus: st[0],
|
|
@@ -2221,6 +2308,8 @@ window.Aura = (() => {
|
|
|
2221
2308
|
weekStartsOn: props.weekStartsOn,
|
|
2222
2309
|
min: props.min,
|
|
2223
2310
|
max: props.max,
|
|
2311
|
+
timeZone: props.timeZone,
|
|
2312
|
+
today: props.today,
|
|
2224
2313
|
isDateDisabled: props.isDateDisabled,
|
|
2225
2314
|
start: draft[0] || v.start,
|
|
2226
2315
|
end: draft[0] ? null : v.end,
|
|
@@ -2295,11 +2384,19 @@ window.Aura = (() => {
|
|
|
2295
2384
|
// src/Toaster.tsx
|
|
2296
2385
|
var React19 = __toESM(require_react(), 1);
|
|
2297
2386
|
var import_react_dom4 = __toESM(require_react_dom(), 1);
|
|
2387
|
+
var MAX_VISIBLE = 3;
|
|
2298
2388
|
var toastState = {
|
|
2299
2389
|
list: [],
|
|
2390
|
+
queue: [],
|
|
2300
2391
|
subs: [],
|
|
2301
2392
|
n: 0
|
|
2302
2393
|
};
|
|
2394
|
+
function promote() {
|
|
2395
|
+
while (toastState.list.length < MAX_VISIBLE && toastState.queue.length) {
|
|
2396
|
+
toastState.list = toastState.list.concat([toastState.queue[0]]);
|
|
2397
|
+
toastState.queue = toastState.queue.slice(1);
|
|
2398
|
+
}
|
|
2399
|
+
}
|
|
2303
2400
|
function emitToasts() {
|
|
2304
2401
|
toastState.subs.forEach(function(f) {
|
|
2305
2402
|
f(toastState.list.slice());
|
|
@@ -2307,18 +2404,24 @@ window.Aura = (() => {
|
|
|
2307
2404
|
}
|
|
2308
2405
|
function show(opts) {
|
|
2309
2406
|
const id = opts.id || "t" + ++toastState.n;
|
|
2310
|
-
const
|
|
2407
|
+
const byId = function(t) {
|
|
2311
2408
|
return t.id === id;
|
|
2312
|
-
}
|
|
2409
|
+
};
|
|
2410
|
+
const at = toastState.list.findIndex(byId), queued = toastState.queue.findIndex(byId);
|
|
2411
|
+
const prev = at >= 0 ? toastState.list[at] : queued >= 0 ? toastState.queue[queued] : null;
|
|
2313
2412
|
const entry = Object.assign({ tone: "info" }, opts, {
|
|
2314
2413
|
id,
|
|
2315
2414
|
loading: !!opts.loading,
|
|
2316
|
-
rev:
|
|
2415
|
+
rev: prev ? prev.rev + 1 : 0
|
|
2317
2416
|
});
|
|
2318
2417
|
if (at >= 0) {
|
|
2319
2418
|
toastState.list = toastState.list.slice();
|
|
2320
2419
|
toastState.list[at] = entry;
|
|
2321
|
-
} else
|
|
2420
|
+
} else if (queued >= 0) {
|
|
2421
|
+
toastState.queue = toastState.queue.slice();
|
|
2422
|
+
toastState.queue[queued] = entry;
|
|
2423
|
+
} else if (toastState.list.length < MAX_VISIBLE) toastState.list = toastState.list.concat([entry]);
|
|
2424
|
+
else toastState.queue = toastState.queue.concat([entry]);
|
|
2322
2425
|
emitToasts();
|
|
2323
2426
|
return id;
|
|
2324
2427
|
}
|
|
@@ -2340,9 +2443,12 @@ window.Aura = (() => {
|
|
|
2340
2443
|
);
|
|
2341
2444
|
};
|
|
2342
2445
|
toast.dismiss = function(id) {
|
|
2343
|
-
|
|
2446
|
+
const keep = function(t) {
|
|
2344
2447
|
return t.id !== id;
|
|
2345
|
-
}
|
|
2448
|
+
};
|
|
2449
|
+
toastState.list = toastState.list.filter(keep);
|
|
2450
|
+
toastState.queue = toastState.queue.filter(keep);
|
|
2451
|
+
promote();
|
|
2346
2452
|
emitToasts();
|
|
2347
2453
|
};
|
|
2348
2454
|
function ToastItem(props) {
|
|
@@ -3003,9 +3109,27 @@ window.Aura = (() => {
|
|
|
3003
3109
|
function() {
|
|
3004
3110
|
if (!open || !anchor.current || !tip.current) return;
|
|
3005
3111
|
const r = anchor.current.getBoundingClientRect(), t = tip.current.getBoundingClientRect();
|
|
3006
|
-
|
|
3007
|
-
|
|
3008
|
-
|
|
3112
|
+
const vw = window.innerWidth, vh = window.innerHeight, gap = 8, m = 8;
|
|
3113
|
+
let side = props.side || "top";
|
|
3114
|
+
if (side === "top" && r.top - t.height - gap < m && r.bottom + gap + t.height <= vh - m) side = "bottom";
|
|
3115
|
+
else if (side === "bottom" && r.bottom + gap + t.height > vh - m && r.top - t.height - gap >= m) side = "top";
|
|
3116
|
+
else if (side === "left" && r.left - t.width - gap < m && r.right + gap + t.width <= vw - m) side = "right";
|
|
3117
|
+
else if (side === "right" && r.right + gap + t.width > vw - m && r.left - t.width - gap >= m) side = "left";
|
|
3118
|
+
const clampX = function(x) {
|
|
3119
|
+
return Math.max(m, Math.min(x, vw - t.width - m));
|
|
3120
|
+
};
|
|
3121
|
+
const clampY = function(y) {
|
|
3122
|
+
return Math.max(m, Math.min(y, vh - t.height - m));
|
|
3123
|
+
};
|
|
3124
|
+
let top, left;
|
|
3125
|
+
if (side === "top" || side === "bottom") {
|
|
3126
|
+
top = side === "top" ? r.top - t.height - gap : r.bottom + gap;
|
|
3127
|
+
left = clampX(r.left + r.width / 2 - t.width / 2);
|
|
3128
|
+
} else {
|
|
3129
|
+
left = side === "left" ? r.left - t.width - gap : r.right + gap;
|
|
3130
|
+
left = clampX(left);
|
|
3131
|
+
top = clampY(r.top + r.height / 2 - t.height / 2);
|
|
3132
|
+
}
|
|
3009
3133
|
pos[1]({ top, left });
|
|
3010
3134
|
},
|
|
3011
3135
|
[open]
|
|
@@ -3132,6 +3256,7 @@ window.Aura = (() => {
|
|
|
3132
3256
|
|
|
3133
3257
|
// src/DataTable.tsx
|
|
3134
3258
|
var React28 = __toESM(require_react(), 1);
|
|
3259
|
+
var import_react_dom8 = __toESM(require_react_dom(), 1);
|
|
3135
3260
|
var BP = { sm: 640, md: 768, lg: 1024, xl: 1280 };
|
|
3136
3261
|
var DEFAULT_COLUMNS = [
|
|
3137
3262
|
{ key: "id", label: "ID", width: 96, mono: true },
|
|
@@ -3140,7 +3265,16 @@ window.Aura = (() => {
|
|
|
3140
3265
|
{ key: "owner", label: "OWNER" }
|
|
3141
3266
|
];
|
|
3142
3267
|
var SKELETON_WIDTHS = ["72%", "56%", "84%", "44%", "64%"];
|
|
3143
|
-
var
|
|
3268
|
+
var Q = 1e4;
|
|
3269
|
+
var MAX_HIDE_LEVELS = 3;
|
|
3270
|
+
function below(w, threshold) {
|
|
3271
|
+
return w < threshold * (1 - 0.5 / Q);
|
|
3272
|
+
}
|
|
3273
|
+
function hidePx(c) {
|
|
3274
|
+
if (c.hideBelow == null) return void 0;
|
|
3275
|
+
const px = typeof c.hideBelow === "number" ? c.hideBelow : BP[c.hideBelow];
|
|
3276
|
+
return px != null && px > 0 ? px : void 0;
|
|
3277
|
+
}
|
|
3144
3278
|
var ROW_H_DEFAULT = 48;
|
|
3145
3279
|
var OVERSCAN = 8;
|
|
3146
3280
|
var FLEX_MIN = 160;
|
|
@@ -3216,33 +3350,75 @@ window.Aura = (() => {
|
|
|
3216
3350
|
const measure = !!props.stackBelow || columns.some(function(c) {
|
|
3217
3351
|
return c.hideBelow != null;
|
|
3218
3352
|
});
|
|
3219
|
-
const dual = !!props.stackBelow && boxWidth[0] == null && STACK_WIDTHS.indexOf(props.stackBelow) >= 0;
|
|
3220
3353
|
React28.useEffect(
|
|
3221
3354
|
function() {
|
|
3222
3355
|
if (!measure || !wrapRef.current || typeof ResizeObserver === "undefined") return;
|
|
3223
3356
|
const ro = new ResizeObserver(function(en) {
|
|
3224
|
-
|
|
3357
|
+
const bb = en[0].borderBoxSize && en[0].borderBoxSize[0];
|
|
3358
|
+
boxWidth[1](bb ? bb.inlineSize : en[0].target.getBoundingClientRect().width);
|
|
3225
3359
|
});
|
|
3226
3360
|
ro.observe(wrapRef.current);
|
|
3227
3361
|
return function() {
|
|
3228
3362
|
ro.disconnect();
|
|
3229
3363
|
};
|
|
3230
3364
|
},
|
|
3231
|
-
[measure
|
|
3365
|
+
[measure]
|
|
3232
3366
|
);
|
|
3233
|
-
const stacked = !!props.stackBelow && boxWidth[0] != null && boxWidth[0]
|
|
3367
|
+
const stacked = !!props.stackBelow && boxWidth[0] != null && below(boxWidth[0], props.stackBelow);
|
|
3234
3368
|
useIsoLayoutEffect(
|
|
3235
3369
|
function() {
|
|
3236
3370
|
if (measure && boxWidth[0] == null && wrapRef.current) boxWidth[1](wrapRef.current.getBoundingClientRect().width);
|
|
3237
3371
|
},
|
|
3238
3372
|
[measure]
|
|
3239
3373
|
);
|
|
3374
|
+
const hideLevels = [];
|
|
3375
|
+
columns.forEach(function(c) {
|
|
3376
|
+
const px = hidePx(c);
|
|
3377
|
+
if (px != null && hideLevels.indexOf(px) < 0) hideLevels.push(px);
|
|
3378
|
+
});
|
|
3379
|
+
hideLevels.sort(function(a, b) {
|
|
3380
|
+
return b - a;
|
|
3381
|
+
});
|
|
3382
|
+
hideLevels.length = Math.min(hideLevels.length, MAX_HIDE_LEVELS);
|
|
3383
|
+
const levels = [];
|
|
3384
|
+
if (props.stackBelow && props.stackBelow > 0) levels.push({ name: "stack", px: props.stackBelow });
|
|
3385
|
+
hideLevels.forEach(function(px, i) {
|
|
3386
|
+
levels.push({ name: "h" + (i + 1), px });
|
|
3387
|
+
});
|
|
3388
|
+
function hideLevel(c) {
|
|
3389
|
+
const px = hidePx(c);
|
|
3390
|
+
const i = px == null ? -1 : hideLevels.indexOf(px);
|
|
3391
|
+
return i < 0 ? void 0 : i + 1;
|
|
3392
|
+
}
|
|
3240
3393
|
function tooNarrow(c) {
|
|
3241
3394
|
if (c.hideBelow == null || boxWidth[0] == null || stacked) return false;
|
|
3242
|
-
const px =
|
|
3243
|
-
return px != null && boxWidth[0]
|
|
3395
|
+
const px = hidePx(c);
|
|
3396
|
+
return px != null && below(boxWidth[0], px);
|
|
3244
3397
|
}
|
|
3245
3398
|
const scrollRef = React28.useRef(null);
|
|
3399
|
+
const tipState = React28.useState(null), tip = tipState[0], setTip = tipState[1];
|
|
3400
|
+
function showFull(e) {
|
|
3401
|
+
const el = e.target.closest ? e.target.closest(".aura-table__td") : null;
|
|
3402
|
+
if (!el || el.scrollWidth <= el.clientWidth + 1 || el.querySelector("button, input, .aura-pill"))
|
|
3403
|
+
return setTip(null);
|
|
3404
|
+
const r = el.getBoundingClientRect();
|
|
3405
|
+
setTip({ text: (el.textContent || "").trim(), left: r.left, top: r.top });
|
|
3406
|
+
}
|
|
3407
|
+
function hideFull() {
|
|
3408
|
+
setTip(null);
|
|
3409
|
+
}
|
|
3410
|
+
const tipEl = tip && typeof document !== "undefined" ? (0, import_react_dom8.createPortal)(
|
|
3411
|
+
/* @__PURE__ */ React28.createElement(
|
|
3412
|
+
"div",
|
|
3413
|
+
{
|
|
3414
|
+
className: "aura-tooltip aura-tooltip--above",
|
|
3415
|
+
"aria-hidden": "true",
|
|
3416
|
+
style: { left: tip.left, top: tip.top - 6 }
|
|
3417
|
+
},
|
|
3418
|
+
tip.text
|
|
3419
|
+
),
|
|
3420
|
+
document.body
|
|
3421
|
+
) : null;
|
|
3246
3422
|
const rowH = React28.useState(ROW_H_DEFAULT);
|
|
3247
3423
|
const ROW_H = rowH[0];
|
|
3248
3424
|
useIsoLayoutEffect(function() {
|
|
@@ -3254,7 +3430,7 @@ window.Aura = (() => {
|
|
|
3254
3430
|
const pending = React28.useRef(null);
|
|
3255
3431
|
const resizing = React28.useRef(false);
|
|
3256
3432
|
useIsoLayoutEffect(function() {
|
|
3257
|
-
if (
|
|
3433
|
+
if (!gridRef.current) return;
|
|
3258
3434
|
const els = gridRef.current.querySelectorAll(
|
|
3259
3435
|
'.aura-table__td button, .aura-table__td a[href], .aura-table__td input, .aura-table__td select, .aura-table__td textarea, .aura-table__td [tabindex="0"]'
|
|
3260
3436
|
);
|
|
@@ -3286,12 +3462,31 @@ window.Aura = (() => {
|
|
|
3286
3462
|
})
|
|
3287
3463
|
);
|
|
3288
3464
|
const nPinned = vis.filter(isPinned).length;
|
|
3465
|
+
const pillKey = (vis.filter(function(c, i) {
|
|
3466
|
+
return i > 0 && c.pill;
|
|
3467
|
+
})[0] || { key: "" }).key;
|
|
3468
|
+
function cardPart(c, i) {
|
|
3469
|
+
return i === 0 ? "title" : c.key === pillKey ? "pill" : c.actions ? "actions" : "field";
|
|
3470
|
+
}
|
|
3471
|
+
function cardAttrs(c, i) {
|
|
3472
|
+
const part = cardPart(c, i), lv = hideLevel(c);
|
|
3473
|
+
return {
|
|
3474
|
+
"data-card": part,
|
|
3475
|
+
"data-label": part === "field" ? c.label || void 0 : void 0,
|
|
3476
|
+
"data-hide": lv ? String(lv) : void 0
|
|
3477
|
+
};
|
|
3478
|
+
}
|
|
3479
|
+
const hasFields = vis.some(function(c, i) {
|
|
3480
|
+
return cardPart(c, i) === "field";
|
|
3481
|
+
});
|
|
3289
3482
|
const hasFlex = vis.some(function(c) {
|
|
3290
3483
|
return widthOf(c) == null;
|
|
3291
3484
|
});
|
|
3292
|
-
let fixedSum = 0;
|
|
3485
|
+
let fixedSum = 0, hideTerms = "";
|
|
3293
3486
|
vis.forEach(function(c) {
|
|
3294
|
-
|
|
3487
|
+
const w = widthOf(c) != null ? widthOf(c) : FLEX_MIN, lv = hideLevel(c);
|
|
3488
|
+
if (lv && boxWidth[0] == null) hideTerms += " + " + w + "px * var(--aura-h" + lv + "-on, 1)";
|
|
3489
|
+
else fixedSum += w;
|
|
3295
3490
|
});
|
|
3296
3491
|
let pinOffsets = {}, acc = 0;
|
|
3297
3492
|
vis.forEach(function(c) {
|
|
@@ -3302,13 +3497,17 @@ window.Aura = (() => {
|
|
|
3302
3497
|
});
|
|
3303
3498
|
const selW = selectable ? " + var(--aura-table-select-width)" : "";
|
|
3304
3499
|
const gutterR = controls ? "var(--aura-space-12)" : "var(--aura-space-6)";
|
|
3305
|
-
const rowMinWidth = "calc(" + fixedSum + "px + var(--aura-space-6) + " + gutterR + selW + ")";
|
|
3500
|
+
const rowMinWidth = "calc(" + fixedSum + "px" + hideTerms + " + var(--aura-space-6) + " + gutterR + selW + ")";
|
|
3306
3501
|
function cellStyle(c, i) {
|
|
3307
|
-
|
|
3308
|
-
if (w == null)
|
|
3309
|
-
|
|
3310
|
-
|
|
3311
|
-
|
|
3502
|
+
const w = widthOf(c), s = {};
|
|
3503
|
+
if (w == null) {
|
|
3504
|
+
s["--aura-cell-flex"] = "1 1 0";
|
|
3505
|
+
s["--aura-cell-min"] = (c.minWidth || FLEX_MIN) + "px";
|
|
3506
|
+
} else {
|
|
3507
|
+
s["--aura-cell-flex"] = !hasFlex && i === vis.length - 1 ? "1 0 auto" : "none";
|
|
3508
|
+
s["--aura-cell-w"] = w + "px";
|
|
3509
|
+
}
|
|
3510
|
+
if (isPinned(c)) s["--aura-cell-left"] = "calc(var(--aura-space-6)" + selW + " + " + pinOffsets[c.key] + "px)";
|
|
3312
3511
|
return s;
|
|
3313
3512
|
}
|
|
3314
3513
|
const view = React28.useMemo(
|
|
@@ -3391,7 +3590,7 @@ window.Aura = (() => {
|
|
|
3391
3590
|
return rowHref ? /* @__PURE__ */ React28.createElement(Link, { href: rowHref(r), className: "aura-table__row-link" }, content) : content;
|
|
3392
3591
|
}
|
|
3393
3592
|
const height = props.height || 0;
|
|
3394
|
-
const virtual = !!height && !loading && pageRows.length > 0;
|
|
3593
|
+
const virtual = !!height && !loading && pageRows.length > 0 && !stacked;
|
|
3395
3594
|
const bodyH = Math.max(ROW_H, height - ROW_H);
|
|
3396
3595
|
let start = 0, end = pageRows.length;
|
|
3397
3596
|
if (virtual) {
|
|
@@ -3746,7 +3945,8 @@ window.Aura = (() => {
|
|
|
3746
3945
|
label: all ? t.deselectAllRows : t.selectAllRows,
|
|
3747
3946
|
onChange: toggleAll
|
|
3748
3947
|
}
|
|
3749
|
-
) : null
|
|
3948
|
+
) : null,
|
|
3949
|
+
nRows ? /* @__PURE__ */ React28.createElement("span", { className: "aura-table__sel-text" }, nSel ? t.selectedCount(nSel) : t.selectAll) : /* @__PURE__ */ React28.createElement("span", { className: "aura-sr-only" }, t.selectRows)
|
|
3750
3950
|
)
|
|
3751
3951
|
);
|
|
3752
3952
|
vis.forEach(function(c, i) {
|
|
@@ -3764,6 +3964,7 @@ window.Aura = (() => {
|
|
|
3764
3964
|
"aria-sort": ariaSort,
|
|
3765
3965
|
"aria-colindex": ci + 1,
|
|
3766
3966
|
style: cellStyle(c, i),
|
|
3967
|
+
"data-hide": hideLevel(c) ? String(hideLevel(c)) : void 0,
|
|
3767
3968
|
tabIndex: tabFor(0, ci),
|
|
3768
3969
|
"data-rc": "0:" + ci,
|
|
3769
3970
|
className: cx(
|
|
@@ -3920,6 +4121,7 @@ window.Aura = (() => {
|
|
|
3920
4121
|
pin && j === nPinned - 1 && "is-pin-edge"
|
|
3921
4122
|
),
|
|
3922
4123
|
style: cellStyle(c, j),
|
|
4124
|
+
...cardAttrs(c, j),
|
|
3923
4125
|
onFocus: function() {
|
|
3924
4126
|
if (activeState[0].r !== ri || activeState[0].c !== ci) activeState[1]({ r: ri, c: ci });
|
|
3925
4127
|
}
|
|
@@ -3928,6 +4130,7 @@ window.Aura = (() => {
|
|
|
3928
4130
|
)
|
|
3929
4131
|
);
|
|
3930
4132
|
});
|
|
4133
|
+
if (hasFields) cells.push(/* @__PURE__ */ React28.createElement("span", { key: "__br", className: "aura-table__break", "aria-hidden": true }));
|
|
3931
4134
|
cells.push(
|
|
3932
4135
|
/* @__PURE__ */ React28.createElement(
|
|
3933
4136
|
"span",
|
|
@@ -3941,7 +4144,7 @@ window.Aura = (() => {
|
|
|
3941
4144
|
return cells;
|
|
3942
4145
|
}
|
|
3943
4146
|
let body;
|
|
3944
|
-
const rowStyle = {
|
|
4147
|
+
const rowStyle = { ["--aura-row-min"]: rowMinWidth };
|
|
3945
4148
|
if (loading) {
|
|
3946
4149
|
const n2 = pageSize || props.skeletonRows || 5;
|
|
3947
4150
|
const skRows = body = [];
|
|
@@ -3958,7 +4161,9 @@ window.Aura = (() => {
|
|
|
3958
4161
|
{
|
|
3959
4162
|
key: c.key,
|
|
3960
4163
|
className: cx("aura-table__td", c.align === "end" && "is-end", isPinned(c) && "is-pinned"),
|
|
3961
|
-
style: cellStyle(c, j)
|
|
4164
|
+
style: cellStyle(c, j),
|
|
4165
|
+
...cardAttrs(c, j),
|
|
4166
|
+
"data-label": void 0
|
|
3962
4167
|
},
|
|
3963
4168
|
/* @__PURE__ */ React28.createElement(
|
|
3964
4169
|
"span",
|
|
@@ -3970,6 +4175,7 @@ window.Aura = (() => {
|
|
|
3970
4175
|
)
|
|
3971
4176
|
);
|
|
3972
4177
|
});
|
|
4178
|
+
if (hasFields) sk.push(/* @__PURE__ */ React28.createElement("span", { key: "__br", className: "aura-table__break" }));
|
|
3973
4179
|
sk.push(
|
|
3974
4180
|
/* @__PURE__ */ React28.createElement("span", { key: "__gr", className: cx("aura-table__gutter aura-table__gutter--end", controls && "has-picker") })
|
|
3975
4181
|
);
|
|
@@ -4055,103 +4261,67 @@ window.Aura = (() => {
|
|
|
4055
4261
|
} else if (height && rows.length && !loading) {
|
|
4056
4262
|
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));
|
|
4057
4263
|
}
|
|
4058
|
-
|
|
4059
|
-
|
|
4060
|
-
|
|
4061
|
-
|
|
4062
|
-
|
|
4063
|
-
|
|
4064
|
-
|
|
4065
|
-
|
|
4066
|
-
|
|
4067
|
-
})
|
|
4068
|
-
|
|
4069
|
-
|
|
4070
|
-
|
|
4071
|
-
|
|
4072
|
-
|
|
4073
|
-
} else if (!rows.length) {
|
|
4074
|
-
const em2 = props.empty || {};
|
|
4075
|
-
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));
|
|
4076
|
-
} else {
|
|
4077
|
-
const cellVal = cellContent;
|
|
4078
|
-
cardBody = /* @__PURE__ */ React28.createElement("ul", { className: "aura-table__cards", "aria-label": props.label }, pageRows.map(function(r) {
|
|
4079
|
-
const k = r[rowKey], isSel = !!selSet[k];
|
|
4080
|
-
return /* @__PURE__ */ React28.createElement(
|
|
4081
|
-
"li",
|
|
4082
|
-
{
|
|
4083
|
-
key: k,
|
|
4084
|
-
className: cx(
|
|
4085
|
-
"aura-table__card",
|
|
4086
|
-
isSel && "is-selected",
|
|
4087
|
-
(props.onRowActivate || rowHref) && "is-actionable"
|
|
4088
|
-
),
|
|
4089
|
-
tabIndex: props.onRowActivate && !rowHref ? 0 : void 0,
|
|
4090
|
-
onClick: function(e) {
|
|
4091
|
-
const el = e.target;
|
|
4092
|
-
if (el.closest && el.closest(".aura-check, button, a, input")) return;
|
|
4093
|
-
if (rowHref) followRow(e.currentTarget, e);
|
|
4094
|
-
else if (props.onRowActivate) props.onRowActivate(r);
|
|
4095
|
-
},
|
|
4096
|
-
onKeyDown: function(e) {
|
|
4097
|
-
if (e.target === e.currentTarget && e.key === "Enter" && props.onRowActivate && !rowHref)
|
|
4098
|
-
props.onRowActivate(r);
|
|
4099
|
-
}
|
|
4100
|
-
},
|
|
4101
|
-
/* @__PURE__ */ React28.createElement("div", { className: "aura-table__card-head" }, selectable ? /* @__PURE__ */ React28.createElement(
|
|
4102
|
-
Checkbox,
|
|
4103
|
-
{
|
|
4104
|
-
checked: isSel,
|
|
4105
|
-
label: t.selectRow(k),
|
|
4106
|
-
onChange: function(on) {
|
|
4107
|
-
toggle(k, on);
|
|
4108
|
-
}
|
|
4109
|
-
}
|
|
4110
|
-
) : 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) {
|
|
4111
|
-
return /* @__PURE__ */ React28.createElement("span", { key: c.key, className: "aura-table__card-actions" }, cellVal(c, r));
|
|
4112
|
-
})),
|
|
4113
|
-
rest.length ? /* @__PURE__ */ React28.createElement("dl", { className: "aura-table__card-fields" }, rest.map(function(c) {
|
|
4114
|
-
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)));
|
|
4115
|
-
})) : null
|
|
4116
|
-
);
|
|
4117
|
-
}));
|
|
4118
|
-
}
|
|
4119
|
-
return /* @__PURE__ */ React28.createElement(
|
|
4120
|
-
"div",
|
|
4121
|
-
{
|
|
4122
|
-
ref: wrapRefArg,
|
|
4123
|
-
"data-density": props.density,
|
|
4124
|
-
className: cx("aura-table aura-table--stacked", refreshing && "is-refreshing", props.className),
|
|
4125
|
-
role: "region",
|
|
4126
|
-
"aria-label": props.label,
|
|
4127
|
-
"aria-busy": busy || void 0
|
|
4128
|
-
},
|
|
4129
|
-
refreshing ? /* @__PURE__ */ React28.createElement("span", { className: "aura-table__busy-bar", "aria-hidden": true }) : null,
|
|
4130
|
-
selectable && pageRows.length && !busy ? /* @__PURE__ */ React28.createElement("div", { className: "aura-table__stack-bar" }, /* @__PURE__ */ React28.createElement(
|
|
4131
|
-
Checkbox,
|
|
4264
|
+
const totalRow = props.footer && rows.length && !loading ? /* @__PURE__ */ React28.createElement(
|
|
4265
|
+
"div",
|
|
4266
|
+
{
|
|
4267
|
+
role: "row",
|
|
4268
|
+
"aria-rowindex": shownTotal + 2,
|
|
4269
|
+
"aria-label": t.totals,
|
|
4270
|
+
className: cx("aura-table__row aura-table__total", props.stickyFooter && "is-sticky"),
|
|
4271
|
+
style: rowStyle
|
|
4272
|
+
},
|
|
4273
|
+
/* @__PURE__ */ React28.createElement("span", { className: "aura-table__gutter", "aria-hidden": true }),
|
|
4274
|
+
selectable ? /* @__PURE__ */ React28.createElement("span", { className: cx("aura-table__sel", nPinned && "is-pinned"), "aria-hidden": true }) : null,
|
|
4275
|
+
vis.map(function(c, j) {
|
|
4276
|
+
const pin = isPinned(c);
|
|
4277
|
+
return /* @__PURE__ */ React28.createElement(
|
|
4278
|
+
"span",
|
|
4132
4279
|
{
|
|
4133
|
-
|
|
4134
|
-
|
|
4135
|
-
|
|
4136
|
-
|
|
4137
|
-
|
|
4138
|
-
|
|
4139
|
-
|
|
4140
|
-
|
|
4141
|
-
|
|
4142
|
-
|
|
4143
|
-
|
|
4280
|
+
key: c.key,
|
|
4281
|
+
role: "gridcell",
|
|
4282
|
+
"aria-colindex": j + (selectable ? 2 : 1),
|
|
4283
|
+
className: cx(
|
|
4284
|
+
"aura-table__td",
|
|
4285
|
+
c.mono && "aura-table__mono",
|
|
4286
|
+
c.align === "end" && "is-end",
|
|
4287
|
+
pin && "is-pinned",
|
|
4288
|
+
pin && j === nPinned - 1 && "is-pin-edge",
|
|
4289
|
+
props.footer[c.key] == null && "is-blank"
|
|
4290
|
+
),
|
|
4291
|
+
style: cellStyle(c, j),
|
|
4292
|
+
...cardAttrs(c, j),
|
|
4293
|
+
"data-label": j === 0 ? void 0 : c.label || t.totals
|
|
4294
|
+
},
|
|
4295
|
+
props.footer[c.key]
|
|
4296
|
+
);
|
|
4297
|
+
}),
|
|
4298
|
+
hasFields ? /* @__PURE__ */ React28.createElement("span", { className: "aura-table__break", "aria-hidden": true }) : null,
|
|
4299
|
+
/* @__PURE__ */ React28.createElement(
|
|
4300
|
+
"span",
|
|
4301
|
+
{
|
|
4302
|
+
className: cx("aura-table__gutter aura-table__gutter--end", controls && "has-picker"),
|
|
4303
|
+
"aria-hidden": true
|
|
4304
|
+
}
|
|
4305
|
+
)
|
|
4306
|
+
) : null;
|
|
4144
4307
|
const scrollStyle = {
|
|
4145
4308
|
scrollPaddingLeft: "calc(var(--aura-space-6)" + selW + " + " + acc + "px)",
|
|
4146
4309
|
scrollPaddingTop: ROW_H + "px"
|
|
4147
4310
|
};
|
|
4148
|
-
if (height) scrollStyle
|
|
4311
|
+
if (height) scrollStyle["--aura-table-h"] = height + "px";
|
|
4149
4312
|
const gridEl = /* @__PURE__ */ React28.createElement(
|
|
4150
4313
|
"div",
|
|
4151
4314
|
{
|
|
4152
|
-
ref:
|
|
4315
|
+
ref: levels.length ? wrapRef : wrapMerged,
|
|
4153
4316
|
"data-density": props.density,
|
|
4154
|
-
className: cx(
|
|
4317
|
+
className: cx(
|
|
4318
|
+
"aura-table",
|
|
4319
|
+
stacked && "aura-table--stacked",
|
|
4320
|
+
scrolledX[0] && "is-scrolled-x",
|
|
4321
|
+
refreshing && "is-refreshing",
|
|
4322
|
+
!levels.length && props.className
|
|
4323
|
+
),
|
|
4324
|
+
style: levels.length ? { ["--aura-q-back"]: String(levels[levels.length - 1].px / Q) } : void 0
|
|
4155
4325
|
},
|
|
4156
4326
|
refreshing ? /* @__PURE__ */ React28.createElement("span", { className: "aura-table__busy-bar", "aria-hidden": true }) : null,
|
|
4157
4327
|
/* @__PURE__ */ React28.createElement(
|
|
@@ -4162,11 +4332,15 @@ window.Aura = (() => {
|
|
|
4162
4332
|
gridRef.current = el;
|
|
4163
4333
|
},
|
|
4164
4334
|
className: "aura-table__scroll",
|
|
4335
|
+
onMouseOver: showFull,
|
|
4336
|
+
onMouseLeave: hideFull,
|
|
4337
|
+
onFocus: showFull,
|
|
4338
|
+
onBlur: hideFull,
|
|
4165
4339
|
style: scrollStyle,
|
|
4166
4340
|
role: "grid",
|
|
4167
4341
|
"aria-label": props.label,
|
|
4168
4342
|
"aria-busy": busy || void 0,
|
|
4169
|
-
"aria-rowcount": loading ? -1 : shownTotal + 1,
|
|
4343
|
+
"aria-rowcount": loading ? -1 : shownTotal + 1 + (totalRow ? 1 : 0),
|
|
4170
4344
|
"aria-colcount": nCols,
|
|
4171
4345
|
"aria-multiselectable": selectable || void 0,
|
|
4172
4346
|
onKeyDown: onGridKey,
|
|
@@ -4179,8 +4353,18 @@ window.Aura = (() => {
|
|
|
4179
4353
|
if (sx !== scrolledX[0]) scrolledX[1](sx);
|
|
4180
4354
|
}
|
|
4181
4355
|
},
|
|
4182
|
-
/* @__PURE__ */ React28.createElement(
|
|
4183
|
-
|
|
4356
|
+
/* @__PURE__ */ React28.createElement(
|
|
4357
|
+
"div",
|
|
4358
|
+
{
|
|
4359
|
+
className: cx("aura-table__head", selectable && nRows > 0 && !busy && "has-select-all"),
|
|
4360
|
+
role: "row",
|
|
4361
|
+
"aria-rowindex": 1,
|
|
4362
|
+
style: rowStyle
|
|
4363
|
+
},
|
|
4364
|
+
head
|
|
4365
|
+
),
|
|
4366
|
+
body,
|
|
4367
|
+
totalRow
|
|
4184
4368
|
),
|
|
4185
4369
|
busy ? /* @__PURE__ */ React28.createElement("span", { className: "aura-sr-only", role: "status" }, t.loadingRows) : null,
|
|
4186
4370
|
controls ? /* @__PURE__ */ React28.createElement("div", { className: "aura-table__picker" }, /* @__PURE__ */ React28.createElement(
|
|
@@ -4203,10 +4387,23 @@ window.Aura = (() => {
|
|
|
4203
4387
|
label: menu.kind === "picker" ? t.columns : t.column(byKey[menu.key] && byKey[menu.key].label),
|
|
4204
4388
|
items: menu.kind === "picker" ? pickerItems() : byKey[menu.key] ? columnMenuItems(byKey[menu.key]) : []
|
|
4205
4389
|
}
|
|
4206
|
-
) : null
|
|
4390
|
+
) : null,
|
|
4391
|
+
tipEl
|
|
4207
4392
|
);
|
|
4208
|
-
if (!
|
|
4209
|
-
|
|
4393
|
+
if (!levels.length) return gridEl;
|
|
4394
|
+
let out = gridEl;
|
|
4395
|
+
for (let i = levels.length - 1; i >= 0; i--) {
|
|
4396
|
+
const prev = i === 0 ? Q : levels[i - 1].px;
|
|
4397
|
+
out = /* @__PURE__ */ React28.createElement(
|
|
4398
|
+
"div",
|
|
4399
|
+
{
|
|
4400
|
+
className: cx("aura-table-q", "aura-table-q--" + levels[i].name),
|
|
4401
|
+
style: { ["--aura-q-scale"]: String(prev / levels[i].px) }
|
|
4402
|
+
},
|
|
4403
|
+
out
|
|
4404
|
+
);
|
|
4405
|
+
}
|
|
4406
|
+
return /* @__PURE__ */ React28.createElement("div", { ref, className: cx("aura-table-box", props.className) }, out);
|
|
4210
4407
|
});
|
|
4211
4408
|
|
|
4212
4409
|
// src/Card.tsx
|
|
@@ -4245,6 +4442,40 @@ window.Aura = (() => {
|
|
|
4245
4442
|
const current2 = items2.filter(function(t) {
|
|
4246
4443
|
return t.id === st[0];
|
|
4247
4444
|
})[0] || items2[0];
|
|
4445
|
+
const Link = useLinkComponent(props.linkComponent);
|
|
4446
|
+
const asLinks = items2.length > 0 && items2.every(function(t) {
|
|
4447
|
+
return !!t.href;
|
|
4448
|
+
});
|
|
4449
|
+
if (asLinks)
|
|
4450
|
+
return /* @__PURE__ */ React30.createElement(
|
|
4451
|
+
"nav",
|
|
4452
|
+
{
|
|
4453
|
+
ref,
|
|
4454
|
+
"aria-label": props.label,
|
|
4455
|
+
className: cx("aura-tabs aura-tabs--links", props.className)
|
|
4456
|
+
},
|
|
4457
|
+
/* @__PURE__ */ React30.createElement("div", { className: "aura-tabs__list" }, items2.map(function(t) {
|
|
4458
|
+
const on = current2 && t.id === current2.id;
|
|
4459
|
+
const inner = [
|
|
4460
|
+
t.icon ? /* @__PURE__ */ React30.createElement(Icon, { key: "i", name: t.icon }) : null,
|
|
4461
|
+
t.label,
|
|
4462
|
+
t.count != null ? /* @__PURE__ */ React30.createElement("span", { key: "c", className: "aura-tab__count" }, t.count) : null
|
|
4463
|
+
];
|
|
4464
|
+
return t.disabled ? /* @__PURE__ */ React30.createElement("span", { key: t.id, className: "aura-tab is-disabled", "aria-disabled": true }, inner) : /* @__PURE__ */ React30.createElement(
|
|
4465
|
+
Link,
|
|
4466
|
+
{
|
|
4467
|
+
key: t.id,
|
|
4468
|
+
href: t.href,
|
|
4469
|
+
className: cx("aura-tab", on && "is-active"),
|
|
4470
|
+
"aria-current": on ? "page" : void 0,
|
|
4471
|
+
onClick: function() {
|
|
4472
|
+
st[1](t.id);
|
|
4473
|
+
}
|
|
4474
|
+
},
|
|
4475
|
+
inner
|
|
4476
|
+
);
|
|
4477
|
+
}))
|
|
4478
|
+
);
|
|
4248
4479
|
function go(i) {
|
|
4249
4480
|
const enabled = items2.filter(function(t2) {
|
|
4250
4481
|
return !t2.disabled;
|
|
@@ -4319,7 +4550,7 @@ window.Aura = (() => {
|
|
|
4319
4550
|
|
|
4320
4551
|
// src/SideNav.tsx
|
|
4321
4552
|
var React31 = __toESM(require_react(), 1);
|
|
4322
|
-
var
|
|
4553
|
+
var import_react_dom9 = __toESM(require_react_dom(), 1);
|
|
4323
4554
|
function contains(it, id) {
|
|
4324
4555
|
return !!id && !!it.children && it.children.some(function(c) {
|
|
4325
4556
|
return c.id === id || contains(c, id);
|
|
@@ -4506,7 +4737,7 @@ window.Aura = (() => {
|
|
|
4506
4737
|
}
|
|
4507
4738
|
}
|
|
4508
4739
|
)) : null,
|
|
4509
|
-
tip && typeof document !== "undefined" ? (0,
|
|
4740
|
+
tip && typeof document !== "undefined" ? (0, import_react_dom9.createPortal)(
|
|
4510
4741
|
/* @__PURE__ */ React31.createElement(
|
|
4511
4742
|
"div",
|
|
4512
4743
|
{
|
|
@@ -4690,7 +4921,7 @@ window.Aura = (() => {
|
|
|
4690
4921
|
collapsed: false,
|
|
4691
4922
|
collapsible: false
|
|
4692
4923
|
}) : props.nav;
|
|
4693
|
-
return /* @__PURE__ */ React38.createElement("div", { ref, className: cx("aura-shell", props.className) }, props.nav ? /* @__PURE__ */ React38.createElement("div", { className: "aura-shell__nav" }, props.nav) : null, props.nav ? /* @__PURE__ */ React38.createElement(
|
|
4924
|
+
return /* @__PURE__ */ React38.createElement("div", { ref, className: cx("aura-shell", props.bottomNav && "aura-shell--bottomnav", props.className) }, props.nav ? /* @__PURE__ */ React38.createElement("div", { className: "aura-shell__nav" }, props.nav) : null, props.nav ? /* @__PURE__ */ React38.createElement(
|
|
4694
4925
|
Drawer,
|
|
4695
4926
|
{
|
|
4696
4927
|
open,
|
|
@@ -4715,13 +4946,182 @@ window.Aura = (() => {
|
|
|
4715
4946
|
},
|
|
4716
4947
|
"aria-expanded": open
|
|
4717
4948
|
}
|
|
4718
|
-
) : 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)));
|
|
4949
|
+
) : 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), props.bottomNav || null));
|
|
4719
4950
|
});
|
|
4720
4951
|
|
|
4721
|
-
// src/
|
|
4952
|
+
// src/ActionBar.tsx
|
|
4722
4953
|
var React39 = __toESM(require_react(), 1);
|
|
4723
|
-
var
|
|
4724
|
-
|
|
4954
|
+
var ActionBar = React39.forwardRef(function ActionBar2(props, ref) {
|
|
4955
|
+
const t = useStrings();
|
|
4956
|
+
const bulk = props.selected != null;
|
|
4957
|
+
const idle = bulk && !props.selected;
|
|
4958
|
+
const count = bulk && props.selected ? t.selectedCount(props.selected) : null;
|
|
4959
|
+
const cameFrom = React39.useRef(null);
|
|
4960
|
+
const own = React39.useRef(null);
|
|
4961
|
+
function clear() {
|
|
4962
|
+
props.onClearSelection();
|
|
4963
|
+
setTimeout(function() {
|
|
4964
|
+
const back = cameFrom.current;
|
|
4965
|
+
const a = document.activeElement;
|
|
4966
|
+
if ((!a || a === document.body || !a.isConnected) && back && back.isConnected) back.focus();
|
|
4967
|
+
}, 0);
|
|
4968
|
+
}
|
|
4969
|
+
return /* @__PURE__ */ React39.createElement(
|
|
4970
|
+
"div",
|
|
4971
|
+
{
|
|
4972
|
+
ref: function(el) {
|
|
4973
|
+
own.current = el;
|
|
4974
|
+
if (typeof ref === "function") ref(el);
|
|
4975
|
+
else if (ref) ref.current = el;
|
|
4976
|
+
},
|
|
4977
|
+
onFocus: function(e) {
|
|
4978
|
+
const from = e.relatedTarget;
|
|
4979
|
+
if (from && own.current && !own.current.contains(from)) cameFrom.current = from;
|
|
4980
|
+
},
|
|
4981
|
+
role: "region",
|
|
4982
|
+
"aria-label": props.label || t.actions,
|
|
4983
|
+
className: cx(
|
|
4984
|
+
"aura-actionbar",
|
|
4985
|
+
"aura-actionbar--" + (props.position || "viewport"),
|
|
4986
|
+
idle && "is-idle",
|
|
4987
|
+
props.className
|
|
4988
|
+
)
|
|
4989
|
+
},
|
|
4990
|
+
/* @__PURE__ */ React39.createElement("div", { className: "aura-actionbar__inner" }, /* @__PURE__ */ React39.createElement("div", { className: "aura-actionbar__status", role: "status" }, count, count && props.status ? " \xB7 " : null, props.status), !idle ? /* @__PURE__ */ React39.createElement("div", { className: "aura-actionbar__actions" }, count && props.onClearSelection ? /* @__PURE__ */ React39.createElement(Button, { variant: "ghost", size: "sm", onClick: clear }, t.clear()) : null, props.children) : null)
|
|
4991
|
+
);
|
|
4992
|
+
});
|
|
4993
|
+
|
|
4994
|
+
// src/Separator.tsx
|
|
4995
|
+
var React40 = __toESM(require_react(), 1);
|
|
4996
|
+
var Separator = React40.forwardRef(function Separator2(props, ref) {
|
|
4997
|
+
const vertical = props.orientation === "vertical";
|
|
4998
|
+
const decorative = props.decorative !== false;
|
|
4999
|
+
return /* @__PURE__ */ React40.createElement(
|
|
5000
|
+
"div",
|
|
5001
|
+
{
|
|
5002
|
+
ref,
|
|
5003
|
+
className: cx("aura-separator", vertical && "aura-separator--vertical", props.className),
|
|
5004
|
+
role: decorative ? "none" : "separator",
|
|
5005
|
+
"aria-orientation": !decorative && vertical ? "vertical" : void 0,
|
|
5006
|
+
style: props.spacing != null ? { ["--aura-separator-space"]: "var(--aura-space-" + props.spacing + ")" } : void 0
|
|
5007
|
+
}
|
|
5008
|
+
);
|
|
5009
|
+
});
|
|
5010
|
+
|
|
5011
|
+
// src/Table.tsx
|
|
5012
|
+
var React41 = __toESM(require_react(), 1);
|
|
5013
|
+
var Table = React41.forwardRef(function Table2(props, ref) {
|
|
5014
|
+
const { caption, captionHidden, density, className, children, ...rest } = props;
|
|
5015
|
+
const capId = uid();
|
|
5016
|
+
const wrap = React41.useRef(null);
|
|
5017
|
+
const sc = React41.useState(false), scrolls = sc[0];
|
|
5018
|
+
useIsoLayoutEffect(function() {
|
|
5019
|
+
const el = wrap.current;
|
|
5020
|
+
if (!el || typeof ResizeObserver === "undefined") return;
|
|
5021
|
+
function check() {
|
|
5022
|
+
sc[1](el.scrollWidth > el.clientWidth + 1);
|
|
5023
|
+
}
|
|
5024
|
+
check();
|
|
5025
|
+
const ro = new ResizeObserver(check);
|
|
5026
|
+
ro.observe(el);
|
|
5027
|
+
return function() {
|
|
5028
|
+
ro.disconnect();
|
|
5029
|
+
};
|
|
5030
|
+
}, []);
|
|
5031
|
+
return /* @__PURE__ */ React41.createElement(
|
|
5032
|
+
"div",
|
|
5033
|
+
{
|
|
5034
|
+
ref: wrap,
|
|
5035
|
+
className: "aura-tbl-wrap",
|
|
5036
|
+
"data-density": density,
|
|
5037
|
+
tabIndex: scrolls ? 0 : void 0,
|
|
5038
|
+
role: scrolls ? "region" : void 0,
|
|
5039
|
+
"aria-labelledby": scrolls && caption != null ? capId : void 0
|
|
5040
|
+
},
|
|
5041
|
+
/* @__PURE__ */ React41.createElement("table", { ref, className: cx("aura-tbl", className), ...rest }, caption != null ? /* @__PURE__ */ React41.createElement("caption", { id: capId, className: cx("aura-tbl__caption", captionHidden && "aura-sr-only") }, caption) : null, children)
|
|
5042
|
+
);
|
|
5043
|
+
});
|
|
5044
|
+
function section(tag, cls) {
|
|
5045
|
+
const C = React41.forwardRef(function TableSection(props, ref) {
|
|
5046
|
+
const { className, ...rest } = props;
|
|
5047
|
+
return React41.createElement(tag, Object.assign({ ref, className: cx(cls, className) }, rest));
|
|
5048
|
+
});
|
|
5049
|
+
return C;
|
|
5050
|
+
}
|
|
5051
|
+
var THead = section("thead", "aura-tbl__head");
|
|
5052
|
+
THead.displayName = "THead";
|
|
5053
|
+
var TBody = section("tbody", "aura-tbl__body");
|
|
5054
|
+
TBody.displayName = "TBody";
|
|
5055
|
+
var TFoot = section("tfoot", "aura-tbl__foot");
|
|
5056
|
+
TFoot.displayName = "TFoot";
|
|
5057
|
+
var Tr = React41.forwardRef(function Tr2(props, ref) {
|
|
5058
|
+
const { className, ...rest } = props;
|
|
5059
|
+
return /* @__PURE__ */ React41.createElement("tr", { ref, className: cx("aura-tbl__row", className), ...rest });
|
|
5060
|
+
});
|
|
5061
|
+
function cellClass(base, p) {
|
|
5062
|
+
const align = p.align || (p.numeric ? "end" : void 0);
|
|
5063
|
+
return cx(
|
|
5064
|
+
base,
|
|
5065
|
+
align === "end" && "is-end",
|
|
5066
|
+
align === "center" && "is-center",
|
|
5067
|
+
p.numeric && "is-numeric",
|
|
5068
|
+
p.mono && "aura-table__mono",
|
|
5069
|
+
p.className
|
|
5070
|
+
);
|
|
5071
|
+
}
|
|
5072
|
+
var Th = React41.forwardRef(function Th2(props, ref) {
|
|
5073
|
+
const { align, numeric, mono, className, scope, ...rest } = props;
|
|
5074
|
+
return /* @__PURE__ */ React41.createElement("th", { ref, scope: scope || "col", className: cellClass("aura-tbl__th", props), ...rest });
|
|
5075
|
+
});
|
|
5076
|
+
var Td = React41.forwardRef(function Td2(props, ref) {
|
|
5077
|
+
const { align, numeric, mono, className, scope, ...rest } = props;
|
|
5078
|
+
return /* @__PURE__ */ React41.createElement("td", { ref, className: cellClass("aura-tbl__td", props), ...rest });
|
|
5079
|
+
});
|
|
5080
|
+
|
|
5081
|
+
// src/BottomNav.tsx
|
|
5082
|
+
var React42 = __toESM(require_react(), 1);
|
|
5083
|
+
var BottomNav = React42.forwardRef(function BottomNav2(props, ref) {
|
|
5084
|
+
const t = useStrings();
|
|
5085
|
+
const Link = useLinkComponent(props.linkComponent);
|
|
5086
|
+
const st = useMaybeControlled(
|
|
5087
|
+
props.value,
|
|
5088
|
+
props.defaultValue,
|
|
5089
|
+
props.onChange
|
|
5090
|
+
);
|
|
5091
|
+
const active = st[0];
|
|
5092
|
+
const hide = props.hideFrom === false ? "always" : "below-" + (props.hideFrom || "lg");
|
|
5093
|
+
return /* @__PURE__ */ React42.createElement(React42.Fragment, null, /* @__PURE__ */ React42.createElement("div", { className: cx("aura-bottomnav-spacer", "aura-bottomnav--" + hide), "aria-hidden": "true" }), /* @__PURE__ */ React42.createElement(
|
|
5094
|
+
"nav",
|
|
5095
|
+
{
|
|
5096
|
+
ref,
|
|
5097
|
+
className: cx("aura-bottomnav", "aura-bottomnav--" + hide, props.className),
|
|
5098
|
+
"aria-label": props.label || t.mainNav
|
|
5099
|
+
},
|
|
5100
|
+
/* @__PURE__ */ React42.createElement("ul", { className: "aura-bottomnav__list" }, props.items.map(function(it) {
|
|
5101
|
+
const on = active === it.id;
|
|
5102
|
+
const count = it.count != null && it.count > 0 ? it.count > 99 ? "99+" : String(it.count) : null;
|
|
5103
|
+
const common = {
|
|
5104
|
+
className: cx("aura-bottomnav__item", on && "is-active"),
|
|
5105
|
+
"aria-current": on ? "page" : void 0,
|
|
5106
|
+
onClick: function(e) {
|
|
5107
|
+
if (!it.href) e.preventDefault();
|
|
5108
|
+
st[1](it.id);
|
|
5109
|
+
}
|
|
5110
|
+
};
|
|
5111
|
+
const inner = [
|
|
5112
|
+
/* @__PURE__ */ React42.createElement("span", { key: "i", className: "aura-bottomnav__icon" }, /* @__PURE__ */ React42.createElement(Icon, { name: it.icon, size: "md" }), count ? /* @__PURE__ */ React42.createElement("span", { className: "aura-bottomnav__count", "aria-hidden": "true" }, count) : it.badge ? /* @__PURE__ */ React42.createElement("span", { className: "aura-bottomnav__dot", "aria-hidden": "true" }) : null),
|
|
5113
|
+
/* @__PURE__ */ React42.createElement("span", { key: "l", className: "aura-bottomnav__label" }, it.label),
|
|
5114
|
+
count || it.badge && it.badgeLabel ? /* @__PURE__ */ React42.createElement("span", { key: "s", className: "aura-sr-only" }, " (" + (count || it.badgeLabel) + ")") : null
|
|
5115
|
+
];
|
|
5116
|
+
return /* @__PURE__ */ React42.createElement("li", { key: it.id, className: "aura-bottomnav__cell" }, it.href ? /* @__PURE__ */ React42.createElement(Link, { href: it.href, ...common }, inner) : /* @__PURE__ */ React42.createElement("button", { type: "button", ...common }, inner));
|
|
5117
|
+
}))
|
|
5118
|
+
));
|
|
5119
|
+
});
|
|
5120
|
+
|
|
5121
|
+
// src/Surface.tsx
|
|
5122
|
+
var React43 = __toESM(require_react(), 1);
|
|
5123
|
+
var h8 = React43.createElement;
|
|
5124
|
+
var Surface = React43.forwardRef(function Surface2(props, ref) {
|
|
4725
5125
|
const t = props.texture || "mesh";
|
|
4726
5126
|
const rest = omit(props, ["texture", "className", "children", "as"]);
|
|
4727
5127
|
return h8(
|
|
@@ -4742,8 +5142,8 @@ window.Aura = (() => {
|
|
|
4742
5142
|
});
|
|
4743
5143
|
|
|
4744
5144
|
// src/Stat.tsx
|
|
4745
|
-
var
|
|
4746
|
-
var Stat =
|
|
5145
|
+
var React44 = __toESM(require_react(), 1);
|
|
5146
|
+
var Stat = React44.forwardRef(function Stat2(props, ref) {
|
|
4747
5147
|
const ch = props.change;
|
|
4748
5148
|
const dir = ch && (ch.direction || "flat");
|
|
4749
5149
|
const tone2 = ch && (ch.tone || (dir === "up" ? "positive" : dir === "down" ? "negative" : "neutral"));
|
|
@@ -4752,7 +5152,7 @@ window.Aura = (() => {
|
|
|
4752
5152
|
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, ""));
|
|
4753
5153
|
const Tag3 = props.href ? Link : props.onClick ? "button" : "div";
|
|
4754
5154
|
const interactive = !!(props.href || props.onClick);
|
|
4755
|
-
return /* @__PURE__ */
|
|
5155
|
+
return /* @__PURE__ */ React44.createElement(
|
|
4756
5156
|
Tag3,
|
|
4757
5157
|
{
|
|
4758
5158
|
ref,
|
|
@@ -4762,15 +5162,15 @@ window.Aura = (() => {
|
|
|
4762
5162
|
type: Tag3 === "button" ? "button" : void 0,
|
|
4763
5163
|
"aria-busy": props.loading || void 0
|
|
4764
5164
|
},
|
|
4765
|
-
/* @__PURE__ */
|
|
4766
|
-
props.loading ? /* @__PURE__ */
|
|
4767
|
-
ch && !props.loading || props.caption ? /* @__PURE__ */
|
|
5165
|
+
/* @__PURE__ */ React44.createElement("span", { className: "aura-stat__head" }, /* @__PURE__ */ React44.createElement("span", { className: "aura-stat__label" }, props.label), props.icon ? /* @__PURE__ */ React44.createElement("span", { className: "aura-stat__icon" }, /* @__PURE__ */ React44.createElement(Icon, { name: props.icon })) : null),
|
|
5166
|
+
props.loading ? /* @__PURE__ */ React44.createElement("span", { className: "aura-stat__value" }, /* @__PURE__ */ React44.createElement("span", { className: "aura-skel aura-stat__skel" })) : /* @__PURE__ */ React44.createElement("span", { className: cx("aura-stat__value", numeric && "is-numeric") }, props.value, props.unit ? /* @__PURE__ */ React44.createElement("span", { className: "aura-stat__unit" }, props.unit) : null),
|
|
5167
|
+
ch && !props.loading || props.caption ? /* @__PURE__ */ React44.createElement("span", { className: "aura-stat__foot" }, ch && !props.loading ? /* @__PURE__ */ React44.createElement("span", { className: cx("aura-stat__change", "is-" + tone2) }, /* @__PURE__ */ React44.createElement(Icon, { name: dir === "up" ? "trending-up" : dir === "down" ? "trending-down" : "minus", size: 14 }), /* @__PURE__ */ React44.createElement("span", null, ch.value)) : null, ch && ch.label && !props.loading ? /* @__PURE__ */ React44.createElement("span", { className: "aura-stat__caption" }, ch.label) : null, props.caption ? /* @__PURE__ */ React44.createElement("span", { className: "aura-stat__caption" }, props.caption) : null) : null
|
|
4768
5168
|
);
|
|
4769
5169
|
});
|
|
4770
5170
|
|
|
4771
5171
|
// src/TimePicker.tsx
|
|
4772
|
-
var
|
|
4773
|
-
var
|
|
5172
|
+
var React45 = __toESM(require_react(), 1);
|
|
5173
|
+
var import_react_dom10 = __toESM(require_react_dom(), 1);
|
|
4774
5174
|
|
|
4775
5175
|
// src/text.ts
|
|
4776
5176
|
function formatBytes(n2) {
|
|
@@ -4810,7 +5210,7 @@ window.Aura = (() => {
|
|
|
4810
5210
|
function fromMin(n2) {
|
|
4811
5211
|
return pad3(Math.floor(n2 / 60)) + ":" + pad3(n2 % 60);
|
|
4812
5212
|
}
|
|
4813
|
-
var TimePicker =
|
|
5213
|
+
var TimePicker = React45.forwardRef(function TimePicker2(props, ref) {
|
|
4814
5214
|
const t = useStrings();
|
|
4815
5215
|
const auto = uid(), id = props.id || auto, listId = id + "-list";
|
|
4816
5216
|
const st = useMaybeControlled(
|
|
@@ -4820,7 +5220,7 @@ window.Aura = (() => {
|
|
|
4820
5220
|
);
|
|
4821
5221
|
const value = st[0];
|
|
4822
5222
|
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;
|
|
4823
|
-
const slots =
|
|
5223
|
+
const slots = React45.useMemo(
|
|
4824
5224
|
function() {
|
|
4825
5225
|
const out = [];
|
|
4826
5226
|
for (let m = lo; m <= hi; m += step) out.push(fromMin(m));
|
|
@@ -4832,12 +5232,12 @@ window.Aura = (() => {
|
|
|
4832
5232
|
const n2 = toMin(v);
|
|
4833
5233
|
return n2 == null || n2 < lo || n2 > hi || props.isTimeDisabled && props.isTimeDisabled(v);
|
|
4834
5234
|
}
|
|
4835
|
-
const openState =
|
|
4836
|
-
const editState =
|
|
4837
|
-
const aState =
|
|
4838
|
-
const errState =
|
|
4839
|
-
const pos =
|
|
4840
|
-
const boxRef =
|
|
5235
|
+
const openState = React45.useState(false), open = openState[0], setOpen = openState[1];
|
|
5236
|
+
const editState = React45.useState(null), editing = editState[0], setEditing = editState[1];
|
|
5237
|
+
const aState = React45.useState(0), active = aState[0], setActive = aState[1];
|
|
5238
|
+
const errState = React45.useState(null);
|
|
5239
|
+
const pos = React45.useState(null);
|
|
5240
|
+
const boxRef = React45.useRef(null), inputRef = React45.useRef(null), listRef = React45.useRef(null), inputMerged = useMergedRef(ref, inputRef);
|
|
4841
5241
|
const mounted = useMounted();
|
|
4842
5242
|
function nearest(v) {
|
|
4843
5243
|
const n2 = toMin(v);
|
|
@@ -4850,13 +5250,13 @@ window.Aura = (() => {
|
|
|
4850
5250
|
}
|
|
4851
5251
|
function place() {
|
|
4852
5252
|
if (!boxRef.current) return;
|
|
4853
|
-
const r = boxRef.current.getBoundingClientRect(),
|
|
5253
|
+
const r = boxRef.current.getBoundingClientRect(), below2 = window.innerHeight - r.bottom - 8, up = below2 < 200 && r.top > below2;
|
|
4854
5254
|
pos[1]({
|
|
4855
5255
|
left: r.left,
|
|
4856
5256
|
width: Math.max(r.width, 160),
|
|
4857
5257
|
top: up ? void 0 : r.bottom + 4,
|
|
4858
5258
|
bottom: up ? window.innerHeight - r.top + 4 : void 0,
|
|
4859
|
-
maxHeight: Math.min(280, (up ? r.top :
|
|
5259
|
+
maxHeight: Math.min(280, (up ? r.top : below2) - 8)
|
|
4860
5260
|
});
|
|
4861
5261
|
}
|
|
4862
5262
|
useIsoLayoutEffect(
|
|
@@ -4865,7 +5265,7 @@ window.Aura = (() => {
|
|
|
4865
5265
|
},
|
|
4866
5266
|
[open]
|
|
4867
5267
|
);
|
|
4868
|
-
|
|
5268
|
+
React45.useEffect(
|
|
4869
5269
|
function() {
|
|
4870
5270
|
if (!open) return;
|
|
4871
5271
|
function outside(e) {
|
|
@@ -4887,7 +5287,7 @@ window.Aura = (() => {
|
|
|
4887
5287
|
},
|
|
4888
5288
|
[open]
|
|
4889
5289
|
);
|
|
4890
|
-
|
|
5290
|
+
React45.useEffect(
|
|
4891
5291
|
function() {
|
|
4892
5292
|
if (!open || !listRef.current) return;
|
|
4893
5293
|
const el = listRef.current.querySelector('[data-idx="' + active + '"]');
|
|
@@ -4984,10 +5384,10 @@ window.Aura = (() => {
|
|
|
4984
5384
|
}
|
|
4985
5385
|
}
|
|
4986
5386
|
const error = errState[0] || props.error;
|
|
4987
|
-
const list = open && mounted && pos[0] ? (0,
|
|
4988
|
-
/* @__PURE__ */
|
|
5387
|
+
const list = open && mounted && pos[0] ? (0, import_react_dom10.createPortal)(
|
|
5388
|
+
/* @__PURE__ */ React45.createElement("div", { ref: listRef, className: "aura-combo__popover aura-time__popover", style: pos[0] }, /* @__PURE__ */ React45.createElement("ul", { id: listId, role: "listbox", "aria-label": props.label, className: "aura-combo__list" }, slots.map(function(s, i) {
|
|
4989
5389
|
const dis = blocked(s), sel = s === value;
|
|
4990
|
-
return /* @__PURE__ */
|
|
5390
|
+
return /* @__PURE__ */ React45.createElement(
|
|
4991
5391
|
"li",
|
|
4992
5392
|
{
|
|
4993
5393
|
key: s,
|
|
@@ -5012,13 +5412,13 @@ window.Aura = (() => {
|
|
|
5012
5412
|
if (active !== i) setActive(i);
|
|
5013
5413
|
}
|
|
5014
5414
|
},
|
|
5015
|
-
/* @__PURE__ */
|
|
5016
|
-
sel ? /* @__PURE__ */
|
|
5415
|
+
/* @__PURE__ */ React45.createElement("span", { className: "aura-combo__label" }, s),
|
|
5416
|
+
sel ? /* @__PURE__ */ React45.createElement(Icon, { name: "check", className: "aura-combo__check" }) : null
|
|
5017
5417
|
);
|
|
5018
5418
|
}))),
|
|
5019
5419
|
document.body
|
|
5020
5420
|
) : null;
|
|
5021
|
-
return /* @__PURE__ */
|
|
5421
|
+
return /* @__PURE__ */ React45.createElement(
|
|
5022
5422
|
Field,
|
|
5023
5423
|
{
|
|
5024
5424
|
id,
|
|
@@ -5030,7 +5430,7 @@ window.Aura = (() => {
|
|
|
5030
5430
|
disabled: props.disabled,
|
|
5031
5431
|
className: props.className
|
|
5032
5432
|
},
|
|
5033
|
-
/* @__PURE__ */
|
|
5433
|
+
/* @__PURE__ */ React45.createElement("div", { ref: boxRef, className: cx("aura-input aura-combo aura-time has-icon", open && "is-open") }, /* @__PURE__ */ React45.createElement(Icon, { name: "clock", className: "aura-input__icon" }), /* @__PURE__ */ React45.createElement(
|
|
5034
5434
|
"input",
|
|
5035
5435
|
{
|
|
5036
5436
|
ref: inputMerged,
|
|
@@ -5070,7 +5470,7 @@ window.Aura = (() => {
|
|
|
5070
5470
|
}, 0);
|
|
5071
5471
|
}
|
|
5072
5472
|
}
|
|
5073
|
-
), props.clearable !== false && value != null && !props.disabled ? /* @__PURE__ */
|
|
5473
|
+
), props.clearable !== false && value != null && !props.disabled ? /* @__PURE__ */ React45.createElement(
|
|
5074
5474
|
"button",
|
|
5075
5475
|
{
|
|
5076
5476
|
type: "button",
|
|
@@ -5083,8 +5483,8 @@ window.Aura = (() => {
|
|
|
5083
5483
|
if (inputRef.current) inputRef.current.focus();
|
|
5084
5484
|
}
|
|
5085
5485
|
},
|
|
5086
|
-
/* @__PURE__ */
|
|
5087
|
-
) : null, /* @__PURE__ */
|
|
5486
|
+
/* @__PURE__ */ React45.createElement(Icon, { name: "x" })
|
|
5487
|
+
) : null, /* @__PURE__ */ React45.createElement(
|
|
5088
5488
|
"button",
|
|
5089
5489
|
{
|
|
5090
5490
|
type: "button",
|
|
@@ -5102,14 +5502,14 @@ window.Aura = (() => {
|
|
|
5102
5502
|
}
|
|
5103
5503
|
}
|
|
5104
5504
|
},
|
|
5105
|
-
/* @__PURE__ */
|
|
5505
|
+
/* @__PURE__ */ React45.createElement(Icon, { name: "chevron-down" })
|
|
5106
5506
|
)),
|
|
5107
5507
|
list
|
|
5108
5508
|
);
|
|
5109
5509
|
});
|
|
5110
5510
|
|
|
5111
5511
|
// src/FileUpload.tsx
|
|
5112
|
-
var
|
|
5512
|
+
var React46 = __toESM(require_react(), 1);
|
|
5113
5513
|
function matches(file, accept) {
|
|
5114
5514
|
if (!accept) return true;
|
|
5115
5515
|
const name = (file.name || "").toLowerCase(), type = (file.type || "").toLowerCase();
|
|
@@ -5133,17 +5533,17 @@ window.Aura = (() => {
|
|
|
5133
5533
|
}).join(", ");
|
|
5134
5534
|
}
|
|
5135
5535
|
var seq = 0;
|
|
5136
|
-
var FileUpload =
|
|
5536
|
+
var FileUpload = React46.forwardRef(function FileUpload2(props, ref) {
|
|
5137
5537
|
const t = useStrings();
|
|
5138
5538
|
const auto = uid(), id = props.id || auto;
|
|
5139
5539
|
const st = useMaybeControlled(props.value, props.defaultValue || [], props.onChange);
|
|
5140
5540
|
const items2 = st[0] || [];
|
|
5141
|
-
const dragState =
|
|
5142
|
-
const inputRef =
|
|
5143
|
-
const urls =
|
|
5541
|
+
const dragState = React46.useState(false), over = dragState[0];
|
|
5542
|
+
const inputRef = React46.useRef(null), inputMerged = useMergedRef(ref, inputRef);
|
|
5543
|
+
const urls = React46.useRef({});
|
|
5144
5544
|
const maxFiles = props.multiple ? props.maxFiles : 1;
|
|
5145
5545
|
const note = t.accepts(describeAccept(props.accept, t), props.maxSize ? formatBytes(props.maxSize) : "");
|
|
5146
|
-
|
|
5546
|
+
React46.useEffect(function() {
|
|
5147
5547
|
return function() {
|
|
5148
5548
|
Object.keys(urls.current).forEach(function(k) {
|
|
5149
5549
|
URL.revokeObjectURL(urls.current[k]);
|
|
@@ -5194,7 +5594,7 @@ window.Aura = (() => {
|
|
|
5194
5594
|
if (inputRef.current) inputRef.current.focus();
|
|
5195
5595
|
}
|
|
5196
5596
|
const error = props.error;
|
|
5197
|
-
return /* @__PURE__ */
|
|
5597
|
+
return /* @__PURE__ */ React46.createElement(
|
|
5198
5598
|
Field,
|
|
5199
5599
|
{
|
|
5200
5600
|
id,
|
|
@@ -5206,7 +5606,7 @@ window.Aura = (() => {
|
|
|
5206
5606
|
disabled: props.disabled,
|
|
5207
5607
|
className: props.className
|
|
5208
5608
|
},
|
|
5209
|
-
/* @__PURE__ */
|
|
5609
|
+
/* @__PURE__ */ React46.createElement(
|
|
5210
5610
|
"div",
|
|
5211
5611
|
{
|
|
5212
5612
|
className: cx("aura-upload", over && "is-over", props.disabled && "is-disabled", error && "is-invalid"),
|
|
@@ -5227,9 +5627,9 @@ window.Aura = (() => {
|
|
|
5227
5627
|
add(e.dataTransfer && e.dataTransfer.files);
|
|
5228
5628
|
}
|
|
5229
5629
|
},
|
|
5230
|
-
/* @__PURE__ */
|
|
5231
|
-
/* @__PURE__ */
|
|
5232
|
-
/* @__PURE__ */
|
|
5630
|
+
/* @__PURE__ */ React46.createElement(Icon, { name: "cloud-upload", size: "lg", className: "aura-upload__icon" }),
|
|
5631
|
+
/* @__PURE__ */ React46.createElement("span", { className: "aura-upload__text" }, t.dropFiles, " "),
|
|
5632
|
+
/* @__PURE__ */ React46.createElement(
|
|
5233
5633
|
"input",
|
|
5234
5634
|
{
|
|
5235
5635
|
ref: inputMerged,
|
|
@@ -5251,12 +5651,12 @@ window.Aura = (() => {
|
|
|
5251
5651
|
}
|
|
5252
5652
|
}
|
|
5253
5653
|
),
|
|
5254
|
-
/* @__PURE__ */
|
|
5255
|
-
note ? /* @__PURE__ */
|
|
5654
|
+
/* @__PURE__ */ React46.createElement("span", { className: "aura-upload__browse", "aria-hidden": true }, props.multiple ? t.browse : t.browseOne),
|
|
5655
|
+
note ? /* @__PURE__ */ React46.createElement("span", { className: "aura-upload__note", id: id + "-note" }, note) : null
|
|
5256
5656
|
),
|
|
5257
|
-
items2.length ? /* @__PURE__ */
|
|
5657
|
+
items2.length ? /* @__PURE__ */ React46.createElement("ul", { className: "aura-upload__list", "aria-live": "polite" }, items2.map(function(it) {
|
|
5258
5658
|
const src = thumb(it);
|
|
5259
|
-
return /* @__PURE__ */
|
|
5659
|
+
return /* @__PURE__ */ React46.createElement("li", { key: it.id, className: cx("aura-upload__item", it.error && "is-error") }, src ? /* @__PURE__ */ React46.createElement("img", { className: "aura-upload__thumb", src, alt: "" }) : /* @__PURE__ */ React46.createElement("span", { className: "aura-upload__thumb is-icon", "aria-hidden": true }, /* @__PURE__ */ React46.createElement(Icon, { name: /^image\//.test(it.type || "") ? "image" : "file", size: "md" })), /* @__PURE__ */ React46.createElement("span", { className: "aura-upload__meta" }, /* @__PURE__ */ React46.createElement("span", { className: "aura-upload__name" }, it.name), /* @__PURE__ */ React46.createElement("span", { className: "aura-upload__sub" }, it.error ? /* @__PURE__ */ React46.createElement(React46.Fragment, null, /* @__PURE__ */ React46.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__ */ React46.createElement(React46.Fragment, null, /* @__PURE__ */ React46.createElement(Icon, { name: "circle-check", size: 12 }), formatBytes(it.size)) : formatBytes(it.size)), it.status === "uploading" ? /* @__PURE__ */ React46.createElement(
|
|
5260
5660
|
"span",
|
|
5261
5661
|
{
|
|
5262
5662
|
className: "aura-upload__bar",
|
|
@@ -5266,8 +5666,8 @@ window.Aura = (() => {
|
|
|
5266
5666
|
"aria-valuemax": 100,
|
|
5267
5667
|
"aria-valuenow": it.progress != null ? Math.round(it.progress) : void 0
|
|
5268
5668
|
},
|
|
5269
|
-
/* @__PURE__ */
|
|
5270
|
-
) : null), /* @__PURE__ */
|
|
5669
|
+
/* @__PURE__ */ React46.createElement("span", { style: { width: (it.progress || 0) + "%" } })
|
|
5670
|
+
) : null), /* @__PURE__ */ React46.createElement(
|
|
5271
5671
|
IconButton,
|
|
5272
5672
|
{
|
|
5273
5673
|
icon: "x",
|
|
@@ -5553,9 +5953,9 @@ window.Aura = (() => {
|
|
|
5553
5953
|
}
|
|
5554
5954
|
|
|
5555
5955
|
// src/ThemeStyle.tsx
|
|
5556
|
-
var
|
|
5956
|
+
var React47 = __toESM(require_react(), 1);
|
|
5557
5957
|
function ThemeStyle(props) {
|
|
5558
|
-
const css =
|
|
5958
|
+
const css = React47.useMemo(
|
|
5559
5959
|
function() {
|
|
5560
5960
|
return createTheme({ brand: props.brand, signal: props.signal, primary: props.primary, name: props.name }).css(
|
|
5561
5961
|
props.selector
|
|
@@ -5563,11 +5963,11 @@ window.Aura = (() => {
|
|
|
5563
5963
|
},
|
|
5564
5964
|
[props.brand, props.signal, props.primary, props.name, props.selector]
|
|
5565
5965
|
);
|
|
5566
|
-
return /* @__PURE__ */
|
|
5966
|
+
return /* @__PURE__ */ React47.createElement("style", { "data-aura-theme": props.name || props.brand, dangerouslySetInnerHTML: { __html: css } });
|
|
5567
5967
|
}
|
|
5568
5968
|
|
|
5569
5969
|
// src/colorScheme.tsx
|
|
5570
|
-
var
|
|
5970
|
+
var React48 = __toESM(require_react(), 1);
|
|
5571
5971
|
|
|
5572
5972
|
// src/colorSchemeScript.ts
|
|
5573
5973
|
var DEFAULT_KEY = "aura-color-scheme";
|
|
@@ -5584,7 +5984,7 @@ window.Aura = (() => {
|
|
|
5584
5984
|
|
|
5585
5985
|
// src/colorScheme.tsx
|
|
5586
5986
|
function ColorSchemeScript(props) {
|
|
5587
|
-
return /* @__PURE__ */
|
|
5987
|
+
return /* @__PURE__ */ React48.createElement(
|
|
5588
5988
|
"script",
|
|
5589
5989
|
{
|
|
5590
5990
|
"data-aura-color-scheme": "",
|
|
@@ -5609,7 +6009,7 @@ window.Aura = (() => {
|
|
|
5609
6009
|
function useColorScheme(options) {
|
|
5610
6010
|
const key = options && options.storageKey || DEFAULT_KEY;
|
|
5611
6011
|
const fallback = options && options.defaultScheme || "system";
|
|
5612
|
-
const subscribe2 =
|
|
6012
|
+
const subscribe2 = React48.useCallback(
|
|
5613
6013
|
function(cb) {
|
|
5614
6014
|
const mq = window.matchMedia ? window.matchMedia("(prefers-color-scheme: dark)") : null;
|
|
5615
6015
|
function onSystem() {
|
|
@@ -5627,7 +6027,7 @@ window.Aura = (() => {
|
|
|
5627
6027
|
},
|
|
5628
6028
|
[fallback]
|
|
5629
6029
|
);
|
|
5630
|
-
const snapshot =
|
|
6030
|
+
const snapshot = React48.useSyncExternalStore(
|
|
5631
6031
|
subscribe2,
|
|
5632
6032
|
function() {
|
|
5633
6033
|
const s = readScheme(fallback);
|
|
@@ -5638,7 +6038,7 @@ window.Aura = (() => {
|
|
|
5638
6038
|
}
|
|
5639
6039
|
);
|
|
5640
6040
|
const parts = snapshot.split("|");
|
|
5641
|
-
const setScheme =
|
|
6041
|
+
const setScheme = React48.useCallback(
|
|
5642
6042
|
function(next) {
|
|
5643
6043
|
if (!valid(next)) return;
|
|
5644
6044
|
try {
|
|
@@ -5657,11 +6057,11 @@ window.Aura = (() => {
|
|
|
5657
6057
|
const cs = useColorScheme(props);
|
|
5658
6058
|
const names = { light: t.schemeLight, dark: t.schemeDark, system: t.schemeSystem };
|
|
5659
6059
|
const label = props.label || t.colorScheme;
|
|
5660
|
-
return /* @__PURE__ */
|
|
6060
|
+
return /* @__PURE__ */ React48.createElement(
|
|
5661
6061
|
DropdownMenu,
|
|
5662
6062
|
{
|
|
5663
6063
|
label,
|
|
5664
|
-
trigger: /* @__PURE__ */
|
|
6064
|
+
trigger: /* @__PURE__ */ React48.createElement(IconButton, { icon: cs.resolved === "dark" ? "moon" : "sun", label: label + ": " + names[cs.scheme] }),
|
|
5665
6065
|
items: SCHEMES.map(function(s) {
|
|
5666
6066
|
return {
|
|
5667
6067
|
label: names[s],
|
|
@@ -5676,10 +6076,10 @@ window.Aura = (() => {
|
|
|
5676
6076
|
}
|
|
5677
6077
|
|
|
5678
6078
|
// src/Badge.tsx
|
|
5679
|
-
var
|
|
5680
|
-
var Badge =
|
|
6079
|
+
var React49 = __toESM(require_react(), 1);
|
|
6080
|
+
var Badge = React49.forwardRef(function Badge2(props, ref) {
|
|
5681
6081
|
const rest = omit(props, ["tone", "variant", "icon", "className", "children"]);
|
|
5682
|
-
return /* @__PURE__ */
|
|
6082
|
+
return /* @__PURE__ */ React49.createElement(
|
|
5683
6083
|
"span",
|
|
5684
6084
|
{
|
|
5685
6085
|
...rest,
|
|
@@ -5692,19 +6092,19 @@ window.Aura = (() => {
|
|
|
5692
6092
|
props.className
|
|
5693
6093
|
)
|
|
5694
6094
|
},
|
|
5695
|
-
props.icon ? /* @__PURE__ */
|
|
6095
|
+
props.icon ? /* @__PURE__ */ React49.createElement(Icon, { name: props.icon, size: 12 }) : null,
|
|
5696
6096
|
props.children
|
|
5697
6097
|
);
|
|
5698
6098
|
});
|
|
5699
6099
|
|
|
5700
6100
|
// src/Progress.tsx
|
|
5701
|
-
var
|
|
5702
|
-
var Progress =
|
|
6101
|
+
var React50 = __toESM(require_react(), 1);
|
|
6102
|
+
var Progress = React50.forwardRef(function Progress2(props, ref) {
|
|
5703
6103
|
const auto = uid(), id = props.id || auto;
|
|
5704
6104
|
const max = props.max || 100, det = props.value != null;
|
|
5705
6105
|
const pct = det ? Math.max(0, Math.min(100, props.value / max * 100)) : 0;
|
|
5706
6106
|
const shown = props.valueLabel != null ? props.valueLabel : det ? Math.round(pct) + "%" : null;
|
|
5707
|
-
return /* @__PURE__ */
|
|
6107
|
+
return /* @__PURE__ */ React50.createElement(
|
|
5708
6108
|
"div",
|
|
5709
6109
|
{
|
|
5710
6110
|
ref,
|
|
@@ -5715,8 +6115,8 @@ window.Aura = (() => {
|
|
|
5715
6115
|
props.className
|
|
5716
6116
|
)
|
|
5717
6117
|
},
|
|
5718
|
-
props.label || props.showValue && shown ? /* @__PURE__ */
|
|
5719
|
-
/* @__PURE__ */
|
|
6118
|
+
props.label || props.showValue && shown ? /* @__PURE__ */ React50.createElement("div", { className: "aura-progress__head" }, props.label ? /* @__PURE__ */ React50.createElement("span", { className: "aura-progress__label", id: id + "-label" }, props.label) : /* @__PURE__ */ React50.createElement("span", null), props.showValue && shown ? /* @__PURE__ */ React50.createElement("span", { className: "aura-progress__value" }, shown) : null) : null,
|
|
6119
|
+
/* @__PURE__ */ React50.createElement(
|
|
5720
6120
|
"div",
|
|
5721
6121
|
{
|
|
5722
6122
|
className: cx("aura-progress__track", !det && "is-indeterminate"),
|
|
@@ -5728,21 +6128,21 @@ window.Aura = (() => {
|
|
|
5728
6128
|
"aria-valuenow": det ? props.value : void 0,
|
|
5729
6129
|
"aria-valuetext": det && props.valueLabel != null ? String(props.valueLabel) : void 0
|
|
5730
6130
|
},
|
|
5731
|
-
/* @__PURE__ */
|
|
6131
|
+
/* @__PURE__ */ React50.createElement("span", { className: "aura-progress__bar", style: det ? { width: pct + "%" } : void 0 })
|
|
5732
6132
|
),
|
|
5733
|
-
props.hint ? /* @__PURE__ */
|
|
6133
|
+
props.hint ? /* @__PURE__ */ React50.createElement("p", { className: "aura-progress__hint" }, props.hint) : null
|
|
5734
6134
|
);
|
|
5735
6135
|
});
|
|
5736
6136
|
|
|
5737
6137
|
// src/Skeleton.tsx
|
|
5738
|
-
var
|
|
5739
|
-
var Skeleton =
|
|
6138
|
+
var React51 = __toESM(require_react(), 1);
|
|
6139
|
+
var Skeleton = React51.forwardRef(function Skeleton2(props, ref) {
|
|
5740
6140
|
const v = props.variant || "text";
|
|
5741
6141
|
if (v === "text" && (props.lines || 1) > 1) {
|
|
5742
6142
|
const n2 = props.lines, rows = [];
|
|
5743
6143
|
for (let i = 0; i < n2; i++)
|
|
5744
|
-
rows.push(/* @__PURE__ */
|
|
5745
|
-
return /* @__PURE__ */
|
|
6144
|
+
rows.push(/* @__PURE__ */ React51.createElement("span", { key: i, className: "aura-skel aura-skel--text", style: { width: i === n2 - 1 ? "60%" : "100%" } }));
|
|
6145
|
+
return /* @__PURE__ */ React51.createElement(
|
|
5746
6146
|
"span",
|
|
5747
6147
|
{
|
|
5748
6148
|
ref,
|
|
@@ -5760,28 +6160,28 @@ window.Aura = (() => {
|
|
|
5760
6160
|
if (v === "circle") {
|
|
5761
6161
|
style.width = style.height = props.size || props.width || 40;
|
|
5762
6162
|
}
|
|
5763
|
-
return /* @__PURE__ */
|
|
6163
|
+
return /* @__PURE__ */ React51.createElement("span", { ref, "aria-hidden": true, className: cx("aura-skel", "aura-skel--" + v, props.className), style });
|
|
5764
6164
|
});
|
|
5765
6165
|
|
|
5766
6166
|
// src/EmptyState.tsx
|
|
5767
|
-
var
|
|
5768
|
-
var EmptyState =
|
|
6167
|
+
var React52 = __toESM(require_react(), 1);
|
|
6168
|
+
var EmptyState = React52.forwardRef(function EmptyState2(props, ref) {
|
|
5769
6169
|
const HT = "h" + (props.headingLevel || 3);
|
|
5770
|
-
return /* @__PURE__ */
|
|
6170
|
+
return /* @__PURE__ */ React52.createElement(
|
|
5771
6171
|
"div",
|
|
5772
6172
|
{
|
|
5773
6173
|
ref,
|
|
5774
6174
|
className: cx("aura-empty", props.size === "sm" && "is-sm", props.bordered && "is-bordered", props.className)
|
|
5775
6175
|
},
|
|
5776
|
-
/* @__PURE__ */
|
|
5777
|
-
/* @__PURE__ */
|
|
5778
|
-
props.description ? /* @__PURE__ */
|
|
5779
|
-
props.action ? /* @__PURE__ */
|
|
6176
|
+
/* @__PURE__ */ React52.createElement("span", { className: "aura-empty__icon", "aria-hidden": true }, /* @__PURE__ */ React52.createElement(Icon, { name: props.icon || "inbox", size: props.size === "sm" ? "md" : "lg" })),
|
|
6177
|
+
/* @__PURE__ */ React52.createElement(HT, { className: "aura-empty__title" }, props.title),
|
|
6178
|
+
props.description ? /* @__PURE__ */ React52.createElement("p", { className: "aura-empty__text" }, props.description) : null,
|
|
6179
|
+
props.action ? /* @__PURE__ */ React52.createElement("div", { className: "aura-empty__action" }, props.action) : null
|
|
5780
6180
|
);
|
|
5781
6181
|
});
|
|
5782
6182
|
|
|
5783
6183
|
// src/Pagination.tsx
|
|
5784
|
-
var
|
|
6184
|
+
var React53 = __toESM(require_react(), 1);
|
|
5785
6185
|
function pageList(page, count, sib) {
|
|
5786
6186
|
let out = [], lo = Math.max(2, page - sib), hi = Math.min(count - 1, page + sib);
|
|
5787
6187
|
if (page - sib <= 3) {
|
|
@@ -5801,7 +6201,7 @@ window.Aura = (() => {
|
|
|
5801
6201
|
if (count > 1) out.push(count);
|
|
5802
6202
|
return out;
|
|
5803
6203
|
}
|
|
5804
|
-
var Pagination =
|
|
6204
|
+
var Pagination = React53.forwardRef(function Pagination2(props, ref) {
|
|
5805
6205
|
const t = useStrings();
|
|
5806
6206
|
const count = Math.max(1, props.pageCount || 1);
|
|
5807
6207
|
const st = useMaybeControlled(props.page, props.defaultPage || 1, props.onChange);
|
|
@@ -5820,7 +6220,7 @@ window.Aura = (() => {
|
|
|
5820
6220
|
},
|
|
5821
6221
|
extra
|
|
5822
6222
|
);
|
|
5823
|
-
return link ? /* @__PURE__ */
|
|
6223
|
+
return link ? /* @__PURE__ */ React53.createElement(
|
|
5824
6224
|
Link,
|
|
5825
6225
|
{
|
|
5826
6226
|
href: link(p),
|
|
@@ -5833,7 +6233,7 @@ window.Aura = (() => {
|
|
|
5833
6233
|
...common
|
|
5834
6234
|
},
|
|
5835
6235
|
label
|
|
5836
|
-
) : /* @__PURE__ */
|
|
6236
|
+
) : /* @__PURE__ */ React53.createElement(
|
|
5837
6237
|
"button",
|
|
5838
6238
|
{
|
|
5839
6239
|
type: "button",
|
|
@@ -5847,7 +6247,7 @@ window.Aura = (() => {
|
|
|
5847
6247
|
}
|
|
5848
6248
|
function arrow(p, icon, label, rel, disabled) {
|
|
5849
6249
|
if (!link || disabled)
|
|
5850
|
-
return /* @__PURE__ */
|
|
6250
|
+
return /* @__PURE__ */ React53.createElement(
|
|
5851
6251
|
IconButton,
|
|
5852
6252
|
{
|
|
5853
6253
|
icon,
|
|
@@ -5858,7 +6258,7 @@ window.Aura = (() => {
|
|
|
5858
6258
|
}
|
|
5859
6259
|
}
|
|
5860
6260
|
);
|
|
5861
|
-
return /* @__PURE__ */
|
|
6261
|
+
return /* @__PURE__ */ React53.createElement(
|
|
5862
6262
|
Link,
|
|
5863
6263
|
{
|
|
5864
6264
|
href: link(p),
|
|
@@ -5873,17 +6273,17 @@ window.Aura = (() => {
|
|
|
5873
6273
|
}
|
|
5874
6274
|
}
|
|
5875
6275
|
},
|
|
5876
|
-
/* @__PURE__ */
|
|
6276
|
+
/* @__PURE__ */ React53.createElement(Icon, { name: icon, size: "sm" })
|
|
5877
6277
|
);
|
|
5878
6278
|
}
|
|
5879
|
-
return /* @__PURE__ */
|
|
5880
|
-
return typeof p === "number" ? /* @__PURE__ */
|
|
5881
|
-
})), /* @__PURE__ */
|
|
6279
|
+
return /* @__PURE__ */ React53.createElement("nav", { ref, className: cx("aura-pagination", props.className), "aria-label": props.label || t.pagination }, arrow(page - 1, "chevron-left", t.prevPage, "prev", page <= 1), /* @__PURE__ */ React53.createElement("ol", { className: "aura-pagination__list" }, pageList(page, count, props.siblingCount == null ? 1 : props.siblingCount).map(function(p) {
|
|
6280
|
+
return typeof p === "number" ? /* @__PURE__ */ React53.createElement("li", { key: p }, item(p, p)) : /* @__PURE__ */ React53.createElement("li", { key: p, className: "aura-pagination__gap", "aria-hidden": true }, "\u2026");
|
|
6281
|
+
})), /* @__PURE__ */ React53.createElement("span", { className: "aura-pagination__compact", "aria-hidden": true }, t.page(page, count)), arrow(page + 1, "chevron-right", t.nextPage, "next", page >= count));
|
|
5882
6282
|
});
|
|
5883
6283
|
|
|
5884
6284
|
// src/Accordion.tsx
|
|
5885
|
-
var
|
|
5886
|
-
var Accordion =
|
|
6285
|
+
var React54 = __toESM(require_react(), 1);
|
|
6286
|
+
var Accordion = React54.forwardRef(function Accordion2(props, ref) {
|
|
5887
6287
|
const auto = uid(), base = props.id || auto;
|
|
5888
6288
|
const multiple = props.type === "multiple";
|
|
5889
6289
|
const st = useMaybeControlled(
|
|
@@ -5921,9 +6321,9 @@ window.Aura = (() => {
|
|
|
5921
6321
|
n2.focus();
|
|
5922
6322
|
}
|
|
5923
6323
|
}
|
|
5924
|
-
return /* @__PURE__ */
|
|
6324
|
+
return /* @__PURE__ */ React54.createElement("div", { ref, className: cx("aura-accordion", props.className), onKeyDown: onKey }, items2.map(function(it) {
|
|
5925
6325
|
const on = open.indexOf(it.id) >= 0, bid = base + "-btn-" + it.id, pid = base + "-panel-" + it.id;
|
|
5926
|
-
return /* @__PURE__ */
|
|
6326
|
+
return /* @__PURE__ */ React54.createElement("div", { key: it.id, className: cx("aura-accordion__item", on && "is-open") }, /* @__PURE__ */ React54.createElement(HT, { className: "aura-accordion__heading" }, /* @__PURE__ */ React54.createElement(
|
|
5927
6327
|
"button",
|
|
5928
6328
|
{
|
|
5929
6329
|
type: "button",
|
|
@@ -5935,16 +6335,16 @@ window.Aura = (() => {
|
|
|
5935
6335
|
toggle(it.id);
|
|
5936
6336
|
}
|
|
5937
6337
|
},
|
|
5938
|
-
it.icon ? /* @__PURE__ */
|
|
5939
|
-
/* @__PURE__ */
|
|
5940
|
-
/* @__PURE__ */
|
|
5941
|
-
)), /* @__PURE__ */
|
|
6338
|
+
it.icon ? /* @__PURE__ */ React54.createElement(Icon, { name: it.icon, className: "aura-accordion__lead" }) : null,
|
|
6339
|
+
/* @__PURE__ */ React54.createElement("span", { className: "aura-accordion__title" }, it.title, it.description ? /* @__PURE__ */ React54.createElement("span", { className: "aura-accordion__desc" }, it.description) : null),
|
|
6340
|
+
/* @__PURE__ */ React54.createElement(Icon, { name: "chevron-down", className: "aura-accordion__chevron" })
|
|
6341
|
+
)), /* @__PURE__ */ React54.createElement("div", { id: pid, role: "region", "aria-labelledby": bid, className: "aura-accordion__panel", hidden: !on }, it.content));
|
|
5942
6342
|
}));
|
|
5943
6343
|
});
|
|
5944
6344
|
|
|
5945
6345
|
// src/Popover.tsx
|
|
5946
|
-
var
|
|
5947
|
-
var
|
|
6346
|
+
var React55 = __toESM(require_react(), 1);
|
|
6347
|
+
var import_react_dom11 = __toESM(require_react_dom(), 1);
|
|
5948
6348
|
function position(anchor, pop, placement) {
|
|
5949
6349
|
const r = anchor.getBoundingClientRect(), pw = pop.offsetWidth, ph = pop.offsetHeight, vw = window.innerWidth, vh = window.innerHeight, gap = 6;
|
|
5950
6350
|
let side = (placement || "bottom-start").split("-")[0], align = (placement || "bottom-start").split("-")[1] || "start";
|
|
@@ -5954,14 +6354,14 @@ window.Aura = (() => {
|
|
|
5954
6354
|
const left = align === "end" ? r.right - pw : align === "center" ? r.left + r.width / 2 - pw / 2 : r.left;
|
|
5955
6355
|
return { top: Math.max(8, top), left: Math.max(8, Math.min(left, vw - pw - 8)), side };
|
|
5956
6356
|
}
|
|
5957
|
-
var Popover =
|
|
6357
|
+
var Popover = React55.forwardRef(function Popover2(props, ref) {
|
|
5958
6358
|
const t = useStrings();
|
|
5959
6359
|
const density = useDensity();
|
|
5960
6360
|
const auto = uid(), id = props.id || auto;
|
|
5961
6361
|
const st = useMaybeControlled(props.open, !!props.defaultOpen, props.onOpenChange);
|
|
5962
6362
|
const open = !!st[0];
|
|
5963
|
-
const wrap =
|
|
5964
|
-
const pos =
|
|
6363
|
+
const wrap = React55.useRef(null), pop = React55.useRef(null), popMerged = useMergedRef(ref, pop);
|
|
6364
|
+
const pos = React55.useState(null), mounted = useMounted();
|
|
5965
6365
|
function trigger() {
|
|
5966
6366
|
return wrap.current && (wrap.current.querySelector('button, [role="button"], a, input') || wrap.current.firstElementChild);
|
|
5967
6367
|
}
|
|
@@ -5988,7 +6388,7 @@ window.Aura = (() => {
|
|
|
5988
6388
|
},
|
|
5989
6389
|
[open, mounted, props.placement]
|
|
5990
6390
|
);
|
|
5991
|
-
|
|
6391
|
+
React55.useEffect(
|
|
5992
6392
|
function() {
|
|
5993
6393
|
if (!open || !mounted) return;
|
|
5994
6394
|
if (props.autoFocus !== false && pop.current) {
|
|
@@ -6007,9 +6407,9 @@ window.Aura = (() => {
|
|
|
6007
6407
|
},
|
|
6008
6408
|
[open, mounted]
|
|
6009
6409
|
);
|
|
6010
|
-
const child =
|
|
6011
|
-
const panel = open && mounted ? (0,
|
|
6012
|
-
/* @__PURE__ */
|
|
6410
|
+
const child = React55.Children.only(props.trigger);
|
|
6411
|
+
const panel = open && mounted ? (0, import_react_dom11.createPortal)(
|
|
6412
|
+
/* @__PURE__ */ React55.createElement(
|
|
6013
6413
|
"div",
|
|
6014
6414
|
{
|
|
6015
6415
|
ref: popMerged,
|
|
@@ -6032,7 +6432,7 @@ window.Aura = (() => {
|
|
|
6032
6432
|
} else trapTab(e, pop.current);
|
|
6033
6433
|
}
|
|
6034
6434
|
},
|
|
6035
|
-
props.title ? /* @__PURE__ */
|
|
6435
|
+
props.title ? /* @__PURE__ */ React55.createElement("div", { className: "aura-popover__head" }, /* @__PURE__ */ React55.createElement("p", { className: "aura-popover__title", id: id + "-title" }, props.title), /* @__PURE__ */ React55.createElement(
|
|
6036
6436
|
IconButton,
|
|
6037
6437
|
{
|
|
6038
6438
|
icon: "x",
|
|
@@ -6042,7 +6442,7 @@ window.Aura = (() => {
|
|
|
6042
6442
|
}
|
|
6043
6443
|
}
|
|
6044
6444
|
)) : null,
|
|
6045
|
-
/* @__PURE__ */
|
|
6445
|
+
/* @__PURE__ */ React55.createElement("div", { className: "aura-popover__body" }, typeof props.children === "function" ? props.children({
|
|
6046
6446
|
close: function() {
|
|
6047
6447
|
close(true);
|
|
6048
6448
|
}
|
|
@@ -6050,7 +6450,7 @@ window.Aura = (() => {
|
|
|
6050
6450
|
),
|
|
6051
6451
|
document.body
|
|
6052
6452
|
) : null;
|
|
6053
|
-
return /* @__PURE__ */
|
|
6453
|
+
return /* @__PURE__ */ React55.createElement("span", { ref: wrap, className: "aura-popover-anchor" }, React55.cloneElement(child, {
|
|
6054
6454
|
onClick: function(e) {
|
|
6055
6455
|
if (child.props.onClick) child.props.onClick(e);
|
|
6056
6456
|
st[1](!open);
|
|
@@ -6062,7 +6462,7 @@ window.Aura = (() => {
|
|
|
6062
6462
|
});
|
|
6063
6463
|
|
|
6064
6464
|
// src/NumberField.tsx
|
|
6065
|
-
var
|
|
6465
|
+
var React56 = __toESM(require_react(), 1);
|
|
6066
6466
|
function decimalsOf(n2) {
|
|
6067
6467
|
const s = String(n2);
|
|
6068
6468
|
const i = s.indexOf(".");
|
|
@@ -6073,7 +6473,7 @@ window.Aura = (() => {
|
|
|
6073
6473
|
if (!/^-?(\d+\.?\d*|\.\d+)$/.test(s)) return NaN;
|
|
6074
6474
|
return Number(s);
|
|
6075
6475
|
}
|
|
6076
|
-
var NumberField =
|
|
6476
|
+
var NumberField = React56.forwardRef(function NumberField2(props, ref) {
|
|
6077
6477
|
const t = useStrings();
|
|
6078
6478
|
const auto = uid(), id = props.id || auto;
|
|
6079
6479
|
const step = props.step || 1;
|
|
@@ -6084,7 +6484,7 @@ window.Aura = (() => {
|
|
|
6084
6484
|
props.onChange
|
|
6085
6485
|
);
|
|
6086
6486
|
const value = st[0], setValue = st[1];
|
|
6087
|
-
const draftState =
|
|
6487
|
+
const draftState = React56.useState(null), draft = draftState[0], setDraft = draftState[1];
|
|
6088
6488
|
function fmt2(n2) {
|
|
6089
6489
|
if (n2 == null || isNaN(n2)) return "";
|
|
6090
6490
|
return n2.toLocaleString("en", { minimumFractionDigits: decimals, maximumFractionDigits: decimals });
|
|
@@ -6133,7 +6533,7 @@ window.Aura = (() => {
|
|
|
6133
6533
|
};
|
|
6134
6534
|
const valueText = value == null ? void 0 : [affixText(props.prefix), fmt2(value), affixText(props.suffix)].join(" ").trim();
|
|
6135
6535
|
const stepper = props.stepper !== false && !props.readOnly;
|
|
6136
|
-
return /* @__PURE__ */
|
|
6536
|
+
return /* @__PURE__ */ React56.createElement(
|
|
6137
6537
|
Field,
|
|
6138
6538
|
{
|
|
6139
6539
|
id,
|
|
@@ -6145,7 +6545,7 @@ window.Aura = (() => {
|
|
|
6145
6545
|
disabled: props.disabled,
|
|
6146
6546
|
className: props.className
|
|
6147
6547
|
},
|
|
6148
|
-
/* @__PURE__ */
|
|
6548
|
+
/* @__PURE__ */ React56.createElement("div", { className: cx("aura-input aura-number", stepper && "has-stepper") }, props.prefix != null ? /* @__PURE__ */ React56.createElement("span", { className: "aura-number__affix", "aria-hidden": true }, props.prefix) : null, /* @__PURE__ */ React56.createElement(
|
|
6149
6549
|
"input",
|
|
6150
6550
|
{
|
|
6151
6551
|
ref,
|
|
@@ -6192,7 +6592,7 @@ window.Aura = (() => {
|
|
|
6192
6592
|
},
|
|
6193
6593
|
onKeyDown
|
|
6194
6594
|
}
|
|
6195
|
-
), props.suffix != null ? /* @__PURE__ */
|
|
6595
|
+
), props.suffix != null ? /* @__PURE__ */ React56.createElement("span", { className: "aura-number__affix", "aria-hidden": true }, props.suffix) : null, stepper ? /* @__PURE__ */ React56.createElement("span", { className: "aura-number__steps" }, /* @__PURE__ */ React56.createElement(
|
|
6196
6596
|
"button",
|
|
6197
6597
|
{
|
|
6198
6598
|
type: "button",
|
|
@@ -6208,8 +6608,8 @@ window.Aura = (() => {
|
|
|
6208
6608
|
nudge(-step);
|
|
6209
6609
|
}
|
|
6210
6610
|
},
|
|
6211
|
-
/* @__PURE__ */
|
|
6212
|
-
), /* @__PURE__ */
|
|
6611
|
+
/* @__PURE__ */ React56.createElement(Icon, { name: "minus" })
|
|
6612
|
+
), /* @__PURE__ */ React56.createElement(
|
|
6213
6613
|
"button",
|
|
6214
6614
|
{
|
|
6215
6615
|
type: "button",
|
|
@@ -6225,14 +6625,14 @@ window.Aura = (() => {
|
|
|
6225
6625
|
nudge(step);
|
|
6226
6626
|
}
|
|
6227
6627
|
},
|
|
6228
|
-
/* @__PURE__ */
|
|
6628
|
+
/* @__PURE__ */ React56.createElement(Icon, { name: "plus" })
|
|
6229
6629
|
)) : null)
|
|
6230
6630
|
);
|
|
6231
6631
|
});
|
|
6232
6632
|
|
|
6233
6633
|
// src/Stepper.tsx
|
|
6234
|
-
var
|
|
6235
|
-
var Stepper =
|
|
6634
|
+
var React57 = __toESM(require_react(), 1);
|
|
6635
|
+
var Stepper = React57.forwardRef(function Stepper2(props, ref) {
|
|
6236
6636
|
const t = useStrings();
|
|
6237
6637
|
const steps = props.steps || [];
|
|
6238
6638
|
let at = -1;
|
|
@@ -6242,26 +6642,26 @@ window.Aura = (() => {
|
|
|
6242
6642
|
if (at < 0) at = 0;
|
|
6243
6643
|
const vertical = props.orientation === "vertical";
|
|
6244
6644
|
const cur = steps[at];
|
|
6245
|
-
return /* @__PURE__ */
|
|
6645
|
+
return /* @__PURE__ */ React57.createElement(
|
|
6246
6646
|
"nav",
|
|
6247
6647
|
{
|
|
6248
6648
|
ref,
|
|
6249
6649
|
"aria-label": props.label,
|
|
6250
6650
|
className: cx("aura-stepper", vertical ? "aura-stepper--vertical" : "aura-stepper--horizontal", props.className)
|
|
6251
6651
|
},
|
|
6252
|
-
/* @__PURE__ */
|
|
6652
|
+
/* @__PURE__ */ React57.createElement("ol", { className: "aura-stepper__list" }, steps.map(function(s, i) {
|
|
6253
6653
|
const state = i < at ? "done" : i === at ? "current" : "upcoming";
|
|
6254
|
-
const marker = /* @__PURE__ */
|
|
6255
|
-
const text = /* @__PURE__ */
|
|
6654
|
+
const marker = /* @__PURE__ */ React57.createElement("span", { className: "aura-stepper__marker", "aria-hidden": true }, state === "done" ? /* @__PURE__ */ React57.createElement(Icon, { name: "check" }) : i + 1);
|
|
6655
|
+
const text = /* @__PURE__ */ React57.createElement("span", { className: "aura-stepper__text" }, /* @__PURE__ */ React57.createElement("span", { className: "aura-stepper__label" }, s.label, state === "done" ? /* @__PURE__ */ React57.createElement("span", { className: "aura-sr-only" }, ", " + t.stepDone) : null), s.description ? /* @__PURE__ */ React57.createElement("span", { className: "aura-stepper__desc" }, s.description) : null);
|
|
6256
6656
|
const clickable = state === "done" && !!props.onStepClick;
|
|
6257
|
-
return /* @__PURE__ */
|
|
6657
|
+
return /* @__PURE__ */ React57.createElement(
|
|
6258
6658
|
"li",
|
|
6259
6659
|
{
|
|
6260
6660
|
key: s.id,
|
|
6261
6661
|
className: cx("aura-stepper__item", "is-" + state),
|
|
6262
6662
|
"aria-current": state === "current" ? "step" : void 0
|
|
6263
6663
|
},
|
|
6264
|
-
clickable ? /* @__PURE__ */
|
|
6664
|
+
clickable ? /* @__PURE__ */ React57.createElement(
|
|
6265
6665
|
"button",
|
|
6266
6666
|
{
|
|
6267
6667
|
type: "button",
|
|
@@ -6272,19 +6672,19 @@ window.Aura = (() => {
|
|
|
6272
6672
|
},
|
|
6273
6673
|
marker,
|
|
6274
6674
|
text
|
|
6275
|
-
) : /* @__PURE__ */
|
|
6675
|
+
) : /* @__PURE__ */ React57.createElement("span", { className: "aura-stepper__step" }, marker, text)
|
|
6276
6676
|
);
|
|
6277
6677
|
})),
|
|
6278
|
-
!vertical && cur ? /* @__PURE__ */
|
|
6678
|
+
!vertical && cur ? /* @__PURE__ */ React57.createElement("p", { className: "aura-stepper__compact", "aria-hidden": true }, /* @__PURE__ */ React57.createElement("span", { className: "aura-stepper__count" }, t.stepOf(at + 1, steps.length)), /* @__PURE__ */ React57.createElement("span", { className: "aura-stepper__compact-label" }, cur.label)) : null
|
|
6279
6679
|
);
|
|
6280
6680
|
});
|
|
6281
6681
|
|
|
6282
6682
|
// src/SegmentedControl.tsx
|
|
6283
|
-
var
|
|
6683
|
+
var React58 = __toESM(require_react(), 1);
|
|
6284
6684
|
function toOpt2(o) {
|
|
6285
6685
|
return typeof o === "object" ? o : { value: o, label: o };
|
|
6286
6686
|
}
|
|
6287
|
-
var SegmentedControl =
|
|
6687
|
+
var SegmentedControl = React58.forwardRef(
|
|
6288
6688
|
function SegmentedControl2(props, ref) {
|
|
6289
6689
|
const options = (props.options || []).map(toOpt2);
|
|
6290
6690
|
const firstEnabled = options.filter(function(o) {
|
|
@@ -6297,7 +6697,7 @@ window.Aura = (() => {
|
|
|
6297
6697
|
);
|
|
6298
6698
|
const value = st[0], setValue = st[1];
|
|
6299
6699
|
const auto = uid(), id = props.id || auto;
|
|
6300
|
-
const refs =
|
|
6700
|
+
const refs = React58.useRef([]);
|
|
6301
6701
|
const selIdx = options.findIndex(function(o) {
|
|
6302
6702
|
return o.value === value;
|
|
6303
6703
|
});
|
|
@@ -6330,7 +6730,7 @@ window.Aura = (() => {
|
|
|
6330
6730
|
move(options.length, -1);
|
|
6331
6731
|
}
|
|
6332
6732
|
}
|
|
6333
|
-
return /* @__PURE__ */
|
|
6733
|
+
return /* @__PURE__ */ React58.createElement(
|
|
6334
6734
|
"div",
|
|
6335
6735
|
{
|
|
6336
6736
|
ref,
|
|
@@ -6349,7 +6749,7 @@ window.Aura = (() => {
|
|
|
6349
6749
|
options.map(function(o, i) {
|
|
6350
6750
|
const on = o.value === value;
|
|
6351
6751
|
const off = props.disabled || o.disabled;
|
|
6352
|
-
return /* @__PURE__ */
|
|
6752
|
+
return /* @__PURE__ */ React58.createElement(
|
|
6353
6753
|
"button",
|
|
6354
6754
|
{
|
|
6355
6755
|
key: o.value,
|
|
@@ -6371,8 +6771,8 @@ window.Aura = (() => {
|
|
|
6371
6771
|
onKeyDown(e, i);
|
|
6372
6772
|
}
|
|
6373
6773
|
},
|
|
6374
|
-
o.icon ? /* @__PURE__ */
|
|
6375
|
-
o.iconOnly ? null : /* @__PURE__ */
|
|
6774
|
+
o.icon ? /* @__PURE__ */ React58.createElement(Icon, { name: o.icon }) : null,
|
|
6775
|
+
o.iconOnly ? null : /* @__PURE__ */ React58.createElement("span", null, o.label)
|
|
6376
6776
|
);
|
|
6377
6777
|
})
|
|
6378
6778
|
);
|