@local-civics/mgmt-ui 0.1.191 → 0.1.192
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +117 -52
- package/dist/index.js +552 -346
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +609 -404
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -34,35 +34,35 @@ function _interopNamespaceDefault(e) {
|
|
|
34
34
|
var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
|
|
35
35
|
var papa__namespace = /*#__PURE__*/_interopNamespaceDefault(papa);
|
|
36
36
|
|
|
37
|
-
var __defProp$
|
|
38
|
-
var __getOwnPropSymbols$
|
|
39
|
-
var __hasOwnProp$
|
|
40
|
-
var __propIsEnum$
|
|
41
|
-
var __defNormalProp$
|
|
42
|
-
var __spreadValues$
|
|
37
|
+
var __defProp$d = Object.defineProperty;
|
|
38
|
+
var __getOwnPropSymbols$d = Object.getOwnPropertySymbols;
|
|
39
|
+
var __hasOwnProp$d = Object.prototype.hasOwnProperty;
|
|
40
|
+
var __propIsEnum$d = Object.prototype.propertyIsEnumerable;
|
|
41
|
+
var __defNormalProp$d = (obj, key, value) => key in obj ? __defProp$d(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
42
|
+
var __spreadValues$d = (a, b) => {
|
|
43
43
|
for (var prop in b || (b = {}))
|
|
44
|
-
if (__hasOwnProp$
|
|
45
|
-
__defNormalProp$
|
|
46
|
-
if (__getOwnPropSymbols$
|
|
47
|
-
for (var prop of __getOwnPropSymbols$
|
|
48
|
-
if (__propIsEnum$
|
|
49
|
-
__defNormalProp$
|
|
44
|
+
if (__hasOwnProp$d.call(b, prop))
|
|
45
|
+
__defNormalProp$d(a, prop, b[prop]);
|
|
46
|
+
if (__getOwnPropSymbols$d)
|
|
47
|
+
for (var prop of __getOwnPropSymbols$d(b)) {
|
|
48
|
+
if (__propIsEnum$d.call(b, prop))
|
|
49
|
+
__defNormalProp$d(a, prop, b[prop]);
|
|
50
50
|
}
|
|
51
51
|
return a;
|
|
52
52
|
};
|
|
53
53
|
var __objRest$2 = (source, exclude) => {
|
|
54
54
|
var target = {};
|
|
55
55
|
for (var prop in source)
|
|
56
|
-
if (__hasOwnProp$
|
|
56
|
+
if (__hasOwnProp$d.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
57
57
|
target[prop] = source[prop];
|
|
58
|
-
if (source != null && __getOwnPropSymbols$
|
|
59
|
-
for (var prop of __getOwnPropSymbols$
|
|
60
|
-
if (exclude.indexOf(prop) < 0 && __propIsEnum$
|
|
58
|
+
if (source != null && __getOwnPropSymbols$d)
|
|
59
|
+
for (var prop of __getOwnPropSymbols$d(source)) {
|
|
60
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum$d.call(source, prop))
|
|
61
61
|
target[prop] = source[prop];
|
|
62
62
|
}
|
|
63
63
|
return target;
|
|
64
64
|
};
|
|
65
|
-
const useStyles$
|
|
65
|
+
const useStyles$y = core.createStyles((theme) => ({
|
|
66
66
|
user: {
|
|
67
67
|
display: "block",
|
|
68
68
|
width: "100%",
|
|
@@ -73,8 +73,8 @@ const useStyles$w = core.createStyles((theme) => ({
|
|
|
73
73
|
}));
|
|
74
74
|
function UserButton(_a) {
|
|
75
75
|
var _b = _a, { image, name, email, icon } = _b, others = __objRest$2(_b, ["image", "name", "email", "icon"]);
|
|
76
|
-
const { classes } = useStyles$
|
|
77
|
-
return /* @__PURE__ */ React__namespace.createElement(core.Group, __spreadValues$
|
|
76
|
+
const { classes } = useStyles$y();
|
|
77
|
+
return /* @__PURE__ */ React__namespace.createElement(core.Group, __spreadValues$d({ className: classes.user }, others), /* @__PURE__ */ React__namespace.createElement(core.Avatar, { src: image, radius: "xl" }), /* @__PURE__ */ React__namespace.createElement("div", { style: { flex: 1 } }, /* @__PURE__ */ React__namespace.createElement(core.Text, { size: "sm", weight: 500 }, name), /* @__PURE__ */ React__namespace.createElement(core.Text, { color: "dimmed", size: "xs" }, email)));
|
|
78
78
|
}
|
|
79
79
|
|
|
80
80
|
const compact = (num) => {
|
|
@@ -84,7 +84,7 @@ const compact = (num) => {
|
|
|
84
84
|
}).format(num || 0);
|
|
85
85
|
};
|
|
86
86
|
|
|
87
|
-
const useStyles$
|
|
87
|
+
const useStyles$x = core.createStyles((theme, _params, getRef) => {
|
|
88
88
|
const icon = getRef("icon");
|
|
89
89
|
return {
|
|
90
90
|
control: {
|
|
@@ -137,7 +137,7 @@ const useStyles$v = core.createStyles((theme, _params, getRef) => {
|
|
|
137
137
|
};
|
|
138
138
|
});
|
|
139
139
|
function LinksGroup({ icon: Icon, href, label, initiallyOpened, links, active, notifications }) {
|
|
140
|
-
const { classes, theme, cx } = useStyles$
|
|
140
|
+
const { classes, theme, cx } = useStyles$x();
|
|
141
141
|
const hasLinks = Array.isArray(links) && links.length > 0;
|
|
142
142
|
const hasActiveLinks = Array.isArray(links) && links.map((l) => !!active && active === `${label}/${l.label}`).reduce((a, b) => a || b, false);
|
|
143
143
|
const [opened, setOpened] = React.useState(initiallyOpened || hasActiveLinks || false);
|
|
@@ -182,26 +182,26 @@ function LinksGroup({ icon: Icon, href, label, initiallyOpened, links, active, n
|
|
|
182
182
|
), hasLinks ? /* @__PURE__ */ React__namespace.createElement(core.Collapse, { in: opened }, items) : null);
|
|
183
183
|
}
|
|
184
184
|
|
|
185
|
-
var __defProp$
|
|
186
|
-
var __defProps$
|
|
187
|
-
var __getOwnPropDescs$
|
|
188
|
-
var __getOwnPropSymbols$
|
|
189
|
-
var __hasOwnProp$
|
|
190
|
-
var __propIsEnum$
|
|
191
|
-
var __defNormalProp$
|
|
192
|
-
var __spreadValues$
|
|
185
|
+
var __defProp$c = Object.defineProperty;
|
|
186
|
+
var __defProps$9 = Object.defineProperties;
|
|
187
|
+
var __getOwnPropDescs$9 = Object.getOwnPropertyDescriptors;
|
|
188
|
+
var __getOwnPropSymbols$c = Object.getOwnPropertySymbols;
|
|
189
|
+
var __hasOwnProp$c = Object.prototype.hasOwnProperty;
|
|
190
|
+
var __propIsEnum$c = Object.prototype.propertyIsEnumerable;
|
|
191
|
+
var __defNormalProp$c = (obj, key, value) => key in obj ? __defProp$c(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
192
|
+
var __spreadValues$c = (a, b) => {
|
|
193
193
|
for (var prop in b || (b = {}))
|
|
194
|
-
if (__hasOwnProp$
|
|
195
|
-
__defNormalProp$
|
|
196
|
-
if (__getOwnPropSymbols$
|
|
197
|
-
for (var prop of __getOwnPropSymbols$
|
|
198
|
-
if (__propIsEnum$
|
|
199
|
-
__defNormalProp$
|
|
194
|
+
if (__hasOwnProp$c.call(b, prop))
|
|
195
|
+
__defNormalProp$c(a, prop, b[prop]);
|
|
196
|
+
if (__getOwnPropSymbols$c)
|
|
197
|
+
for (var prop of __getOwnPropSymbols$c(b)) {
|
|
198
|
+
if (__propIsEnum$c.call(b, prop))
|
|
199
|
+
__defNormalProp$c(a, prop, b[prop]);
|
|
200
200
|
}
|
|
201
201
|
return a;
|
|
202
202
|
};
|
|
203
|
-
var __spreadProps$
|
|
204
|
-
const useStyles$
|
|
203
|
+
var __spreadProps$9 = (a, b) => __defProps$9(a, __getOwnPropDescs$9(b));
|
|
204
|
+
const useStyles$w = core.createStyles((theme, _params, getRef) => {
|
|
205
205
|
const icon = getRef("icon");
|
|
206
206
|
return {
|
|
207
207
|
navbar: {
|
|
@@ -232,7 +232,7 @@ const useStyles$u = core.createStyles((theme, _params, getRef) => {
|
|
|
232
232
|
color: theme.colorScheme === "dark" ? theme.white : theme.black,
|
|
233
233
|
borderBottom: `1px solid ${theme.colorScheme === "dark" ? theme.colors.dark[4] : theme.colors.gray[3]}`
|
|
234
234
|
},
|
|
235
|
-
link: __spreadProps$
|
|
235
|
+
link: __spreadProps$9(__spreadValues$c({}, theme.fn.focusStyles()), {
|
|
236
236
|
display: "flex",
|
|
237
237
|
alignItems: "center",
|
|
238
238
|
textDecoration: "none",
|
|
@@ -302,7 +302,7 @@ const TRIAL_PAGES = [
|
|
|
302
302
|
"Badges"
|
|
303
303
|
];
|
|
304
304
|
function Navbar(props) {
|
|
305
|
-
const { classes, cx } = useStyles$
|
|
305
|
+
const { classes, cx } = useStyles$w();
|
|
306
306
|
const [burgerOpen, setBurgerOpen] = React__namespace.useState(false);
|
|
307
307
|
const toggle = () => setBurgerOpen(!burgerOpen);
|
|
308
308
|
const links = data.map((item) => {
|
|
@@ -315,12 +315,12 @@ function Navbar(props) {
|
|
|
315
315
|
}
|
|
316
316
|
return /* @__PURE__ */ React__namespace.createElement(
|
|
317
317
|
LinksGroup,
|
|
318
|
-
__spreadProps$
|
|
318
|
+
__spreadProps$9(__spreadValues$c(__spreadValues$c({
|
|
319
319
|
key: item.label,
|
|
320
320
|
active: props.active
|
|
321
321
|
}, item), context), {
|
|
322
322
|
links: (item.links || []).map((link) => {
|
|
323
|
-
return __spreadValues$
|
|
323
|
+
return __spreadValues$c(__spreadValues$c({}, link), props.links[`${item.label}/${link.label}`] || { notifications: 0, href: "" });
|
|
324
324
|
})
|
|
325
325
|
})
|
|
326
326
|
);
|
|
@@ -345,7 +345,7 @@ function Navbar(props) {
|
|
|
345
345
|
} }, /* @__PURE__ */ React__namespace.createElement(icons.IconLogout, { className: classes.linkIcon, stroke: 1.5 }), /* @__PURE__ */ React__namespace.createElement("span", null, "Logout"))))));
|
|
346
346
|
}
|
|
347
347
|
|
|
348
|
-
const useStyles$
|
|
348
|
+
const useStyles$v = core.createStyles((theme) => ({
|
|
349
349
|
inner: {
|
|
350
350
|
paddingTop: theme.spacing.xl,
|
|
351
351
|
paddingBottom: theme.spacing.xl * 4
|
|
@@ -381,7 +381,7 @@ const useStyles$t = core.createStyles((theme) => ({
|
|
|
381
381
|
}
|
|
382
382
|
}));
|
|
383
383
|
const GettingStarted = (props) => {
|
|
384
|
-
const { classes } = useStyles$
|
|
384
|
+
const { classes } = useStyles$v();
|
|
385
385
|
return /* @__PURE__ */ React__namespace.createElement(
|
|
386
386
|
core.Modal,
|
|
387
387
|
{
|
|
@@ -395,7 +395,7 @@ const GettingStarted = (props) => {
|
|
|
395
395
|
);
|
|
396
396
|
};
|
|
397
397
|
|
|
398
|
-
const useStyles$
|
|
398
|
+
const useStyles$u = core.createStyles((theme) => ({
|
|
399
399
|
title: {
|
|
400
400
|
fontSize: 34,
|
|
401
401
|
fontWeight: 900,
|
|
@@ -436,7 +436,7 @@ const useStyles$s = core.createStyles((theme) => ({
|
|
|
436
436
|
}
|
|
437
437
|
}));
|
|
438
438
|
const SwitchAccount = (props) => {
|
|
439
|
-
const { classes, theme } = useStyles$
|
|
439
|
+
const { classes, theme } = useStyles$u();
|
|
440
440
|
const options = props.accounts.map((a) => {
|
|
441
441
|
return /* @__PURE__ */ React__namespace.createElement(core.UnstyledButton, { onClick: () => props.onClick && props.onClick(a.accountId), key: a.accountId, p: theme.spacing.md }, /* @__PURE__ */ React__namespace.createElement(core.Card, { withBorder: true, shadow: "md", radius: "md", className: classes.card, p: "xl" }, a.isAdmin && /* @__PURE__ */ React__namespace.createElement(React__namespace.Fragment, null, /* @__PURE__ */ React__namespace.createElement(icons.IconBatteryEco, { size: 50, stroke: 2, color: theme.fn.primaryColor() })), a.isGroupAdmin && !a.isAdmin && /* @__PURE__ */ React__namespace.createElement(React__namespace.Fragment, null, /* @__PURE__ */ React__namespace.createElement(icons.IconBooks, { size: 50, stroke: 2, color: theme.fn.primaryColor() })), !a.isAdmin && !a.isGroupAdmin && /* @__PURE__ */ React__namespace.createElement(React__namespace.Fragment, null, /* @__PURE__ */ React__namespace.createElement(icons.IconBackpack, { size: 50, stroke: 2, color: theme.fn.primaryColor() })), /* @__PURE__ */ React__namespace.createElement(core.Text, { size: "lg", weight: 500, className: classes.cardTitle, mt: "md" }, a.name), /* @__PURE__ */ React__namespace.createElement(core.Text, { size: "sm", color: "dimmed", mt: "sm" }, a.isAdmin ? "Admin" : a.isGroupAdmin ? "Educator" : "Student")));
|
|
442
442
|
});
|
|
@@ -453,7 +453,7 @@ const SwitchAccount = (props) => {
|
|
|
453
453
|
);
|
|
454
454
|
};
|
|
455
455
|
|
|
456
|
-
const useStyles$
|
|
456
|
+
const useStyles$t = core.createStyles((theme) => ({
|
|
457
457
|
root: {
|
|
458
458
|
display: "flex",
|
|
459
459
|
backgroundImage: `linear-gradient(-60deg, ${theme.colors[theme.primaryColor][4]} 0%, ${theme.colors[theme.primaryColor][7]} 100%)`,
|
|
@@ -497,7 +497,7 @@ const useStyles$r = core.createStyles((theme) => ({
|
|
|
497
497
|
}
|
|
498
498
|
}));
|
|
499
499
|
const StatsGroup = ({ data, footer }) => {
|
|
500
|
-
const { classes } = useStyles$
|
|
500
|
+
const { classes } = useStyles$t();
|
|
501
501
|
const stats = data.map((stat) => {
|
|
502
502
|
const value = (() => {
|
|
503
503
|
if (stat.unit === "%") {
|
|
@@ -517,7 +517,7 @@ const Tabs = (props) => {
|
|
|
517
517
|
return /* @__PURE__ */ React__namespace.createElement(core.Tabs, { value: props.value, onTabChange: props.onChange }, /* @__PURE__ */ React__namespace.createElement(core.Tabs.List, null, tabs));
|
|
518
518
|
};
|
|
519
519
|
|
|
520
|
-
const useStyles$
|
|
520
|
+
const useStyles$s = core.createStyles((theme) => ({
|
|
521
521
|
button: {
|
|
522
522
|
borderTopRightRadius: 0,
|
|
523
523
|
borderBottomRightRadius: 0,
|
|
@@ -531,8 +531,8 @@ const useStyles$q = core.createStyles((theme) => ({
|
|
|
531
531
|
borderLeft: `1px solid ${theme.colorScheme === "dark" ? theme.colors.dark[7] : theme.white}`
|
|
532
532
|
}
|
|
533
533
|
}));
|
|
534
|
-
const SplitButton$
|
|
535
|
-
const { classes, theme } = useStyles$
|
|
534
|
+
const SplitButton$5 = (props) => {
|
|
535
|
+
const { classes, theme } = useStyles$s();
|
|
536
536
|
theme.colors[theme.primaryColor][theme.colorScheme === "dark" ? 5 : 6];
|
|
537
537
|
return /* @__PURE__ */ React__namespace.createElement(core.Stack, { spacing: "sm" }, /* @__PURE__ */ React__namespace.createElement(
|
|
538
538
|
core.Button,
|
|
@@ -560,7 +560,7 @@ const SplitButton$4 = (props) => {
|
|
|
560
560
|
));
|
|
561
561
|
};
|
|
562
562
|
|
|
563
|
-
const useStyles$
|
|
563
|
+
const useStyles$r = core.createStyles((theme) => ({
|
|
564
564
|
wrapper: {
|
|
565
565
|
display: "flex",
|
|
566
566
|
alignItems: "center",
|
|
@@ -611,13 +611,13 @@ const useStyles$p = core.createStyles((theme) => ({
|
|
|
611
611
|
}
|
|
612
612
|
}));
|
|
613
613
|
const PlaceholderBanner = (props) => {
|
|
614
|
-
const { classes } = useStyles$
|
|
614
|
+
const { classes } = useStyles$r();
|
|
615
615
|
const title = props.title || "Nothing to display";
|
|
616
616
|
const description = props.description || "We don't have anything to show you here just yet. Add data, check back later, or adjust your search.";
|
|
617
617
|
return /* @__PURE__ */ React__namespace.createElement("div", { className: classes.wrapper }, /* @__PURE__ */ React__namespace.createElement("div", { className: classes.body }, /* @__PURE__ */ React__namespace.createElement(core.Title, { className: classes.title }, props.loading ? "Loading..." : title), /* @__PURE__ */ React__namespace.createElement(core.Text, { size: "sm", color: "dimmed" }, props.loading ? "Hold on, we're loading your data." : description)), /* @__PURE__ */ React__namespace.createElement(core.Image, { src: `https://cdn.localcivics.io/illustrations/${props.icon}.svg`, className: classes.image }));
|
|
618
618
|
};
|
|
619
619
|
|
|
620
|
-
function Stack$
|
|
620
|
+
function Stack$4(props) {
|
|
621
621
|
if (props.items.length === 0) {
|
|
622
622
|
return null;
|
|
623
623
|
}
|
|
@@ -665,28 +665,28 @@ function useSortableData(items, config = { key: "", direction: null }) {
|
|
|
665
665
|
return { items: sortedItems, requestSort, sortConfig };
|
|
666
666
|
}
|
|
667
667
|
|
|
668
|
-
var __defProp$
|
|
669
|
-
var __defProps$
|
|
670
|
-
var __getOwnPropDescs$
|
|
671
|
-
var __getOwnPropSymbols$
|
|
672
|
-
var __hasOwnProp$
|
|
673
|
-
var __propIsEnum$
|
|
674
|
-
var __defNormalProp$
|
|
675
|
-
var __spreadValues$
|
|
668
|
+
var __defProp$b = Object.defineProperty;
|
|
669
|
+
var __defProps$8 = Object.defineProperties;
|
|
670
|
+
var __getOwnPropDescs$8 = Object.getOwnPropertyDescriptors;
|
|
671
|
+
var __getOwnPropSymbols$b = Object.getOwnPropertySymbols;
|
|
672
|
+
var __hasOwnProp$b = Object.prototype.hasOwnProperty;
|
|
673
|
+
var __propIsEnum$b = Object.prototype.propertyIsEnumerable;
|
|
674
|
+
var __defNormalProp$b = (obj, key, value) => key in obj ? __defProp$b(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
675
|
+
var __spreadValues$b = (a, b) => {
|
|
676
676
|
for (var prop in b || (b = {}))
|
|
677
|
-
if (__hasOwnProp$
|
|
678
|
-
__defNormalProp$
|
|
679
|
-
if (__getOwnPropSymbols$
|
|
680
|
-
for (var prop of __getOwnPropSymbols$
|
|
681
|
-
if (__propIsEnum$
|
|
682
|
-
__defNormalProp$
|
|
677
|
+
if (__hasOwnProp$b.call(b, prop))
|
|
678
|
+
__defNormalProp$b(a, prop, b[prop]);
|
|
679
|
+
if (__getOwnPropSymbols$b)
|
|
680
|
+
for (var prop of __getOwnPropSymbols$b(b)) {
|
|
681
|
+
if (__propIsEnum$b.call(b, prop))
|
|
682
|
+
__defNormalProp$b(a, prop, b[prop]);
|
|
683
683
|
}
|
|
684
684
|
return a;
|
|
685
685
|
};
|
|
686
|
-
var __spreadProps$
|
|
687
|
-
function Table$
|
|
686
|
+
var __spreadProps$8 = (a, b) => __defProps$8(a, __getOwnPropDescs$8(b));
|
|
687
|
+
function Table$k(props) {
|
|
688
688
|
const preparedItems = React__namespace.useMemo(() => {
|
|
689
|
-
return props.items.map((item) => __spreadProps$
|
|
689
|
+
return props.items.map((item) => __spreadProps$8(__spreadValues$b({}, item), {
|
|
690
690
|
status: item.isComplete ? 1 : 0
|
|
691
691
|
}));
|
|
692
692
|
}, [props.items]);
|
|
@@ -732,13 +732,13 @@ function Table$j(props) {
|
|
|
732
732
|
render: (row) => /* @__PURE__ */ React__namespace.createElement(React__namespace.Fragment, null, !!row.isComplete && /* @__PURE__ */ React__namespace.createElement(core.Badge, { variant: "filled" }, "Complete"), !row.isComplete && /* @__PURE__ */ React__namespace.createElement(core.Badge, { color: "red", variant: "filled" }, "Incomplete"))
|
|
733
733
|
}],
|
|
734
734
|
rowExpansion: {
|
|
735
|
-
content: ({ record }) => /* @__PURE__ */ React__namespace.createElement(Stack$
|
|
735
|
+
content: ({ record }) => /* @__PURE__ */ React__namespace.createElement(Stack$4, { items: record.lessons })
|
|
736
736
|
}
|
|
737
737
|
}
|
|
738
738
|
));
|
|
739
739
|
}
|
|
740
740
|
|
|
741
|
-
function Table$
|
|
741
|
+
function Table$j(props) {
|
|
742
742
|
const { items: sortedItems, requestSort, sortConfig } = useSortableData(props.items);
|
|
743
743
|
if (props.items.length === 0) {
|
|
744
744
|
return /* @__PURE__ */ React__namespace.createElement(
|
|
@@ -783,7 +783,7 @@ function Table$i(props) {
|
|
|
783
783
|
));
|
|
784
784
|
}
|
|
785
785
|
|
|
786
|
-
const useStyles$
|
|
786
|
+
const useStyles$q = core.createStyles((theme) => ({
|
|
787
787
|
title: {
|
|
788
788
|
fontSize: 34,
|
|
789
789
|
fontWeight: 900,
|
|
@@ -796,7 +796,7 @@ const useStyles$o = core.createStyles((theme) => ({
|
|
|
796
796
|
}
|
|
797
797
|
}));
|
|
798
798
|
const Badge = (props) => {
|
|
799
|
-
const { classes } = useStyles$
|
|
799
|
+
const { classes } = useStyles$q();
|
|
800
800
|
const [tab, setTab] = React.useState("lessons");
|
|
801
801
|
const numberOfStudents = props.students.length;
|
|
802
802
|
const numberOfBadges = numberOfStudents > 0 ? props.students.filter((u) => u.isComplete).length : 0;
|
|
@@ -810,7 +810,7 @@ const Badge = (props) => {
|
|
|
810
810
|
},
|
|
811
811
|
"Back"
|
|
812
812
|
)), /* @__PURE__ */ React__namespace.createElement(core.Group, null, /* @__PURE__ */ React__namespace.createElement(core.Stack, { spacing: 0 }, /* @__PURE__ */ React__namespace.createElement(core.Title, { order: 2, className: classes.title, mt: "md" }, props.displayName || "Badge"), /* @__PURE__ */ React__namespace.createElement(core.Text, { color: "dimmed", className: classes.description, mt: "sm" }, props.description || "No description")), !props.trial && /* @__PURE__ */ React__namespace.createElement(core.Stack, { ml: "auto" }, /* @__PURE__ */ React__namespace.createElement(
|
|
813
|
-
SplitButton$
|
|
813
|
+
SplitButton$5,
|
|
814
814
|
{
|
|
815
815
|
href: props.href,
|
|
816
816
|
onCopyLinkClick: props.onCopyLinkClick,
|
|
@@ -848,13 +848,13 @@ const Badge = (props) => {
|
|
|
848
848
|
onChange: setTab
|
|
849
849
|
}
|
|
850
850
|
), (!!props.trial || tab === "lessons") && /* @__PURE__ */ React__namespace.createElement(
|
|
851
|
-
Table$
|
|
851
|
+
Table$j,
|
|
852
852
|
{
|
|
853
853
|
loading: props.loading,
|
|
854
854
|
items: props.lessons
|
|
855
855
|
}
|
|
856
856
|
), !props.trial && tab === "students" && /* @__PURE__ */ React__namespace.createElement(
|
|
857
|
-
Table$
|
|
857
|
+
Table$k,
|
|
858
858
|
{
|
|
859
859
|
loading: props.loading,
|
|
860
860
|
items: props.students
|
|
@@ -862,7 +862,7 @@ const Badge = (props) => {
|
|
|
862
862
|
)))))));
|
|
863
863
|
};
|
|
864
864
|
|
|
865
|
-
function Table$
|
|
865
|
+
function Table$i(props) {
|
|
866
866
|
if (props.items.length === 0) {
|
|
867
867
|
return /* @__PURE__ */ React__namespace.createElement(
|
|
868
868
|
PlaceholderBanner,
|
|
@@ -894,7 +894,7 @@ function Table$h(props) {
|
|
|
894
894
|
return /* @__PURE__ */ React__namespace.createElement(core.ScrollArea.Autosize, { maxHeight: 600 }, /* @__PURE__ */ React__namespace.createElement(core.Table, { horizontalSpacing: 0, verticalSpacing: 0, sx: { minWidth: 700 } }, /* @__PURE__ */ React__namespace.createElement("tbody", null, rows)));
|
|
895
895
|
}
|
|
896
896
|
|
|
897
|
-
const useStyles$
|
|
897
|
+
const useStyles$p = core.createStyles((theme) => ({
|
|
898
898
|
title: {
|
|
899
899
|
fontSize: 34,
|
|
900
900
|
fontWeight: 900,
|
|
@@ -907,7 +907,7 @@ const useStyles$n = core.createStyles((theme) => ({
|
|
|
907
907
|
}
|
|
908
908
|
}));
|
|
909
909
|
const Badges = (props) => {
|
|
910
|
-
const { classes } = useStyles$
|
|
910
|
+
const { classes } = useStyles$p();
|
|
911
911
|
return /* @__PURE__ */ React__namespace.createElement(core.Container, { size: "lg", py: "xl" }, /* @__PURE__ */ React__namespace.createElement(core.Stack, { spacing: "md" }, /* @__PURE__ */ React__namespace.createElement(core.Grid, null, /* @__PURE__ */ React__namespace.createElement(core.Grid.Col, { sm: "auto" }, /* @__PURE__ */ React__namespace.createElement(core.Badge, { variant: "filled", size: "lg" }, "Badges"), /* @__PURE__ */ React__namespace.createElement(core.Title, { order: 2, className: classes.title, mt: "md" }, "Badges and micro-credentials"), /* @__PURE__ */ React__namespace.createElement(core.Text, { color: "dimmed", className: classes.description, mt: "sm" }, "Key milestones that reflect skill development, micro-credentials, or academic progress"))), /* @__PURE__ */ React__namespace.createElement(
|
|
912
912
|
core.Autocomplete,
|
|
913
913
|
{
|
|
@@ -916,7 +916,7 @@ const Badges = (props) => {
|
|
|
916
916
|
onChange: props.onAutocompleteChange
|
|
917
917
|
}
|
|
918
918
|
), /* @__PURE__ */ React__namespace.createElement("div", { style: { position: "relative" } }, /* @__PURE__ */ React__namespace.createElement(core.LoadingOverlay, { visible: props.loading, overlayBlur: 2 }), /* @__PURE__ */ React__namespace.createElement(
|
|
919
|
-
Table$
|
|
919
|
+
Table$i,
|
|
920
920
|
{
|
|
921
921
|
loading: props.loading,
|
|
922
922
|
items: props.badges
|
|
@@ -924,7 +924,7 @@ const Badges = (props) => {
|
|
|
924
924
|
))));
|
|
925
925
|
};
|
|
926
926
|
|
|
927
|
-
function Table$
|
|
927
|
+
function Table$h(props) {
|
|
928
928
|
if (props.items.length === 0) {
|
|
929
929
|
return /* @__PURE__ */ React__namespace.createElement(
|
|
930
930
|
PlaceholderBanner,
|
|
@@ -964,7 +964,7 @@ function relativeTimeFromElapsed(elapsed) {
|
|
|
964
964
|
return "";
|
|
965
965
|
}
|
|
966
966
|
|
|
967
|
-
function Table$
|
|
967
|
+
function Table$g(props) {
|
|
968
968
|
if (props.items.length === 0) {
|
|
969
969
|
return /* @__PURE__ */ React__namespace.createElement(
|
|
970
970
|
PlaceholderBanner,
|
|
@@ -980,7 +980,7 @@ function Table$f(props) {
|
|
|
980
980
|
return /* @__PURE__ */ React__namespace.createElement(core.ScrollArea.Autosize, { maxHeight: 600 }, /* @__PURE__ */ React__namespace.createElement(core.Table, { verticalSpacing: "sm", sx: { minWidth: 700 }, highlightOnHover: true, striped: true }, /* @__PURE__ */ React__namespace.createElement("thead", null, /* @__PURE__ */ React__namespace.createElement("tr", null, /* @__PURE__ */ React__namespace.createElement("th", null, "Student Name"), /* @__PURE__ */ React__namespace.createElement("th", null, "Lesson Name"), /* @__PURE__ */ React__namespace.createElement("th", null, "Reflection"), /* @__PURE__ */ React__namespace.createElement("th", null, "Updated At"))), /* @__PURE__ */ React__namespace.createElement("tbody", null, rows)));
|
|
981
981
|
}
|
|
982
982
|
|
|
983
|
-
function Table$
|
|
983
|
+
function Table$f(props) {
|
|
984
984
|
if (props.items.length === 0) {
|
|
985
985
|
return /* @__PURE__ */ React__namespace.createElement(
|
|
986
986
|
PlaceholderBanner,
|
|
@@ -996,7 +996,7 @@ function Table$e(props) {
|
|
|
996
996
|
return /* @__PURE__ */ React__namespace.createElement(core.ScrollArea.Autosize, { maxHeight: 600 }, /* @__PURE__ */ React__namespace.createElement(core.Table, { verticalSpacing: "sm", sx: { minWidth: 700 }, highlightOnHover: true, striped: true }, /* @__PURE__ */ React__namespace.createElement("thead", null, /* @__PURE__ */ React__namespace.createElement("tr", null, /* @__PURE__ */ React__namespace.createElement("th", null, "Student Name"), /* @__PURE__ */ React__namespace.createElement("th", null, "Impact Statement"))), /* @__PURE__ */ React__namespace.createElement("tbody", null, rows)));
|
|
997
997
|
}
|
|
998
998
|
|
|
999
|
-
function Table$
|
|
999
|
+
function Table$e(props) {
|
|
1000
1000
|
if (props.items.length === 0) {
|
|
1001
1001
|
return /* @__PURE__ */ React__namespace.createElement(
|
|
1002
1002
|
PlaceholderBanner,
|
|
@@ -1012,7 +1012,7 @@ function Table$d(props) {
|
|
|
1012
1012
|
return /* @__PURE__ */ React__namespace.createElement(core.ScrollArea.Autosize, { maxHeight: 600 }, /* @__PURE__ */ React__namespace.createElement(core.Table, { verticalSpacing: "sm", sx: { minWidth: 700 }, highlightOnHover: true, striped: true }, /* @__PURE__ */ React__namespace.createElement("thead", null, /* @__PURE__ */ React__namespace.createElement("tr", null, /* @__PURE__ */ React__namespace.createElement("th", null, "Badge Name"), /* @__PURE__ */ React__namespace.createElement("th", null, "Description"), /* @__PURE__ */ React__namespace.createElement("th", null, "Completion"))), /* @__PURE__ */ React__namespace.createElement("tbody", null, rows)));
|
|
1013
1013
|
}
|
|
1014
1014
|
|
|
1015
|
-
function Table$
|
|
1015
|
+
function Table$d(props) {
|
|
1016
1016
|
if (props.items.length === 0) {
|
|
1017
1017
|
return /* @__PURE__ */ React__namespace.createElement(
|
|
1018
1018
|
PlaceholderBanner,
|
|
@@ -1077,33 +1077,33 @@ const Dashboard = (props) => {
|
|
|
1077
1077
|
onChange: setTab
|
|
1078
1078
|
}
|
|
1079
1079
|
), tab === "impact" && /* @__PURE__ */ React__namespace.createElement(
|
|
1080
|
-
Table$
|
|
1080
|
+
Table$f,
|
|
1081
1081
|
{
|
|
1082
1082
|
loading: props.loading,
|
|
1083
1083
|
items: props.impacts
|
|
1084
1084
|
}
|
|
1085
1085
|
), tab === "reflections" && /* @__PURE__ */ React__namespace.createElement(
|
|
1086
|
-
Table$
|
|
1086
|
+
Table$g,
|
|
1087
1087
|
{
|
|
1088
1088
|
loading: props.loading,
|
|
1089
1089
|
items: props.reflections
|
|
1090
1090
|
}
|
|
1091
1091
|
), tab === "badges" && /* @__PURE__ */ React__namespace.createElement(
|
|
1092
|
-
Table$
|
|
1092
|
+
Table$e,
|
|
1093
1093
|
{
|
|
1094
1094
|
loading: props.loading,
|
|
1095
1095
|
items: props.badges,
|
|
1096
1096
|
onClick: props.onBadgeClick
|
|
1097
1097
|
}
|
|
1098
1098
|
), tab === "lessons" && /* @__PURE__ */ React__namespace.createElement(
|
|
1099
|
-
Table$
|
|
1099
|
+
Table$d,
|
|
1100
1100
|
{
|
|
1101
1101
|
loading: props.loading,
|
|
1102
1102
|
items: props.lessons,
|
|
1103
1103
|
onClick: props.onLessonClick
|
|
1104
1104
|
}
|
|
1105
1105
|
), tab === "students" && /* @__PURE__ */ React__namespace.createElement(
|
|
1106
|
-
Table$
|
|
1106
|
+
Table$h,
|
|
1107
1107
|
{
|
|
1108
1108
|
loading: props.loading,
|
|
1109
1109
|
items: props.students,
|
|
@@ -1112,7 +1112,7 @@ const Dashboard = (props) => {
|
|
|
1112
1112
|
)))))));
|
|
1113
1113
|
};
|
|
1114
1114
|
|
|
1115
|
-
const SplitButton$
|
|
1115
|
+
const SplitButton$4 = (props) => {
|
|
1116
1116
|
return /* @__PURE__ */ React__namespace.createElement(core.Stack, { spacing: "sm" }, /* @__PURE__ */ React__namespace.createElement(
|
|
1117
1117
|
core.Button,
|
|
1118
1118
|
{
|
|
@@ -1137,7 +1137,7 @@ const SplitButton$3 = (props) => {
|
|
|
1137
1137
|
));
|
|
1138
1138
|
};
|
|
1139
1139
|
|
|
1140
|
-
const useStyles$
|
|
1140
|
+
const useStyles$o = core.createStyles((theme) => ({
|
|
1141
1141
|
th: { padding: "0 !important" },
|
|
1142
1142
|
control: {
|
|
1143
1143
|
width: "100%",
|
|
@@ -1148,11 +1148,11 @@ const useStyles$m = core.createStyles((theme) => ({
|
|
|
1148
1148
|
}
|
|
1149
1149
|
}));
|
|
1150
1150
|
function Th$2({ children, reversed, sorted, onSort }) {
|
|
1151
|
-
const { classes } = useStyles$
|
|
1151
|
+
const { classes } = useStyles$o();
|
|
1152
1152
|
const Icon = sorted ? reversed ? icons.IconChevronUp : icons.IconChevronDown : icons.IconSelector;
|
|
1153
1153
|
return /* @__PURE__ */ React__namespace.createElement("th", { className: classes.th }, /* @__PURE__ */ React__namespace.createElement(core.UnstyledButton, { onClick: onSort, className: classes.control }, /* @__PURE__ */ React__namespace.createElement(core.Group, { position: "apart", noWrap: true, spacing: "xs" }, /* @__PURE__ */ React__namespace.createElement(core.Text, { weight: 500, size: "sm", sx: { whiteSpace: "nowrap" } }, children), /* @__PURE__ */ React__namespace.createElement(core.Center, null, /* @__PURE__ */ React__namespace.createElement(Icon, { size: 14, stroke: 1.5 })))));
|
|
1154
1154
|
}
|
|
1155
|
-
function Table$
|
|
1155
|
+
function Table$c(props) {
|
|
1156
1156
|
const { items: sortedItems, requestSort, sortConfig } = useSortableData(props.items);
|
|
1157
1157
|
if (props.items.length === 0) {
|
|
1158
1158
|
return /* @__PURE__ */ React__namespace.createElement(
|
|
@@ -1233,26 +1233,26 @@ function Table$b(props) {
|
|
|
1233
1233
|
), /* @__PURE__ */ React__namespace.createElement("th", null), " ")), /* @__PURE__ */ React__namespace.createElement("tbody", null, rows)));
|
|
1234
1234
|
}
|
|
1235
1235
|
|
|
1236
|
-
var __defProp$
|
|
1237
|
-
var __defProps$
|
|
1238
|
-
var __getOwnPropDescs$
|
|
1239
|
-
var __getOwnPropSymbols$
|
|
1240
|
-
var __hasOwnProp$
|
|
1241
|
-
var __propIsEnum$
|
|
1242
|
-
var __defNormalProp$
|
|
1243
|
-
var __spreadValues$
|
|
1236
|
+
var __defProp$a = Object.defineProperty;
|
|
1237
|
+
var __defProps$7 = Object.defineProperties;
|
|
1238
|
+
var __getOwnPropDescs$7 = Object.getOwnPropertyDescriptors;
|
|
1239
|
+
var __getOwnPropSymbols$a = Object.getOwnPropertySymbols;
|
|
1240
|
+
var __hasOwnProp$a = Object.prototype.hasOwnProperty;
|
|
1241
|
+
var __propIsEnum$a = Object.prototype.propertyIsEnumerable;
|
|
1242
|
+
var __defNormalProp$a = (obj, key, value) => key in obj ? __defProp$a(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
1243
|
+
var __spreadValues$a = (a, b) => {
|
|
1244
1244
|
for (var prop in b || (b = {}))
|
|
1245
|
-
if (__hasOwnProp$
|
|
1246
|
-
__defNormalProp$
|
|
1247
|
-
if (__getOwnPropSymbols$
|
|
1248
|
-
for (var prop of __getOwnPropSymbols$
|
|
1249
|
-
if (__propIsEnum$
|
|
1250
|
-
__defNormalProp$
|
|
1245
|
+
if (__hasOwnProp$a.call(b, prop))
|
|
1246
|
+
__defNormalProp$a(a, prop, b[prop]);
|
|
1247
|
+
if (__getOwnPropSymbols$a)
|
|
1248
|
+
for (var prop of __getOwnPropSymbols$a(b)) {
|
|
1249
|
+
if (__propIsEnum$a.call(b, prop))
|
|
1250
|
+
__defNormalProp$a(a, prop, b[prop]);
|
|
1251
1251
|
}
|
|
1252
1252
|
return a;
|
|
1253
1253
|
};
|
|
1254
|
-
var __spreadProps$
|
|
1255
|
-
const useStyles$
|
|
1254
|
+
var __spreadProps$7 = (a, b) => __defProps$7(a, __getOwnPropDescs$7(b));
|
|
1255
|
+
const useStyles$n = core.createStyles((theme) => ({
|
|
1256
1256
|
title: {
|
|
1257
1257
|
fontSize: 34,
|
|
1258
1258
|
fontWeight: 900,
|
|
@@ -1285,7 +1285,7 @@ const useStyles$l = core.createStyles((theme) => ({
|
|
|
1285
1285
|
}
|
|
1286
1286
|
}));
|
|
1287
1287
|
const Class = (props) => {
|
|
1288
|
-
const { classes } = useStyles$
|
|
1288
|
+
const { classes } = useStyles$n();
|
|
1289
1289
|
const form$1 = form.useForm({
|
|
1290
1290
|
initialValues: {
|
|
1291
1291
|
classId: "",
|
|
@@ -1317,27 +1317,27 @@ const Class = (props) => {
|
|
|
1317
1317
|
padding: "xl",
|
|
1318
1318
|
size: "xl"
|
|
1319
1319
|
},
|
|
1320
|
-
/* @__PURE__ */ React__namespace.createElement(core.Stack, { spacing: "md" }, /* @__PURE__ */ React__namespace.createElement(DropzoneButton$1, __spreadProps$
|
|
1320
|
+
/* @__PURE__ */ React__namespace.createElement(core.Stack, { spacing: "md" }, /* @__PURE__ */ React__namespace.createElement(DropzoneButton$1, __spreadProps$7(__spreadValues$a({}, props), { close: () => setOpened(false) })), /* @__PURE__ */ React__namespace.createElement(core.Divider, { label: "or", labelPosition: "center", my: "md", variant: "dashed" }), /* @__PURE__ */ React__namespace.createElement("form", { onSubmit: form$1.onSubmit(() => {
|
|
1321
1321
|
const values = form$1.values;
|
|
1322
1322
|
form$1.reset();
|
|
1323
1323
|
setOpened(false);
|
|
1324
1324
|
props.onCreateMembers && props.onCreateMembers([values]);
|
|
1325
1325
|
}) }, /* @__PURE__ */ React__namespace.createElement(core.Stack, null, /* @__PURE__ */ React__namespace.createElement(
|
|
1326
1326
|
core.TextInput,
|
|
1327
|
-
__spreadValues$
|
|
1327
|
+
__spreadValues$a({
|
|
1328
1328
|
withAsterisk: true,
|
|
1329
1329
|
label: "Email",
|
|
1330
1330
|
placeholder: "Email"
|
|
1331
1331
|
}, form$1.getInputProps("email"))
|
|
1332
1332
|
), /* @__PURE__ */ React__namespace.createElement(core.Group, { grow: true }, /* @__PURE__ */ React__namespace.createElement(
|
|
1333
1333
|
core.TextInput,
|
|
1334
|
-
__spreadValues$
|
|
1334
|
+
__spreadValues$a({
|
|
1335
1335
|
label: "Given name",
|
|
1336
1336
|
placeholder: "Given name"
|
|
1337
1337
|
}, form$1.getInputProps("givenName"))
|
|
1338
1338
|
), /* @__PURE__ */ React__namespace.createElement(
|
|
1339
1339
|
core.TextInput,
|
|
1340
|
-
__spreadValues$
|
|
1340
|
+
__spreadValues$a({
|
|
1341
1341
|
label: "Family name",
|
|
1342
1342
|
placeholder: "Family name"
|
|
1343
1343
|
}, form$1.getInputProps("familyName"))
|
|
@@ -1351,7 +1351,7 @@ const Class = (props) => {
|
|
|
1351
1351
|
},
|
|
1352
1352
|
"Back"
|
|
1353
1353
|
)), /* @__PURE__ */ React__namespace.createElement(core.Title, { order: 2, className: classes.title, mt: "md" }, props.displayName || "Class"), /* @__PURE__ */ React__namespace.createElement(core.Text, { color: "dimmed", className: classes.description, mt: "sm" }, props.description || "No description")), /* @__PURE__ */ React__namespace.createElement(core.Grid.Col, { sm: "content" }, !props.loading && /* @__PURE__ */ React__namespace.createElement(
|
|
1354
|
-
SplitButton$
|
|
1354
|
+
SplitButton$4,
|
|
1355
1355
|
{
|
|
1356
1356
|
onAddMembersClick: () => setOpened(true),
|
|
1357
1357
|
onCopyClassLinkClick: props.onCopyLinkClick,
|
|
@@ -1376,7 +1376,7 @@ const Class = (props) => {
|
|
|
1376
1376
|
value: props.numberOfLessonsCompleted
|
|
1377
1377
|
}
|
|
1378
1378
|
] }), /* @__PURE__ */ React__namespace.createElement(
|
|
1379
|
-
Table$
|
|
1379
|
+
Table$c,
|
|
1380
1380
|
{
|
|
1381
1381
|
loading: props.loading,
|
|
1382
1382
|
items: props.members,
|
|
@@ -1386,7 +1386,7 @@ const Class = (props) => {
|
|
|
1386
1386
|
))))));
|
|
1387
1387
|
};
|
|
1388
1388
|
const DropzoneButton$1 = (props) => {
|
|
1389
|
-
const { classes, theme } = useStyles$
|
|
1389
|
+
const { classes, theme } = useStyles$n();
|
|
1390
1390
|
const openRef = React__namespace.useRef(null);
|
|
1391
1391
|
const [loading, setLoading] = React__namespace.useState(false);
|
|
1392
1392
|
const onDrop = React__namespace.useCallback((acceptedFiles) => {
|
|
@@ -1432,7 +1432,7 @@ const DropzoneButton$1 = (props) => {
|
|
|
1432
1432
|
} }, "Select file"));
|
|
1433
1433
|
};
|
|
1434
1434
|
|
|
1435
|
-
const useStyles$
|
|
1435
|
+
const useStyles$m = core.createStyles((theme) => ({
|
|
1436
1436
|
th: { padding: "0 !important" },
|
|
1437
1437
|
control: {
|
|
1438
1438
|
width: "100%",
|
|
@@ -1443,11 +1443,11 @@ const useStyles$k = core.createStyles((theme) => ({
|
|
|
1443
1443
|
}
|
|
1444
1444
|
}));
|
|
1445
1445
|
function Th$1({ children, reversed, sorted, onSort }) {
|
|
1446
|
-
const { classes } = useStyles$
|
|
1446
|
+
const { classes } = useStyles$m();
|
|
1447
1447
|
const Icon = sorted ? reversed ? icons.IconChevronUp : icons.IconChevronDown : icons.IconSelector;
|
|
1448
1448
|
return /* @__PURE__ */ React__namespace.createElement("th", { className: classes.th }, /* @__PURE__ */ React__namespace.createElement(core.UnstyledButton, { onClick: onSort, className: classes.control }, /* @__PURE__ */ React__namespace.createElement(core.Group, { position: "apart", noWrap: true, spacing: "xs" }, /* @__PURE__ */ React__namespace.createElement(core.Text, { weight: 500, size: "sm", sx: { whiteSpace: "nowrap" } }, children), /* @__PURE__ */ React__namespace.createElement(core.Center, null, /* @__PURE__ */ React__namespace.createElement(Icon, { size: 14, stroke: 1.5 })))));
|
|
1449
1449
|
}
|
|
1450
|
-
function Table$
|
|
1450
|
+
function Table$b(props) {
|
|
1451
1451
|
const { items: sortedItems, requestSort, sortConfig } = useSortableData(props.items);
|
|
1452
1452
|
if (props.items.length === 0) {
|
|
1453
1453
|
return /* @__PURE__ */ React__namespace.createElement(
|
|
@@ -1488,23 +1488,23 @@ function Table$a(props) {
|
|
|
1488
1488
|
), /* @__PURE__ */ React__namespace.createElement("th", null))), /* @__PURE__ */ React__namespace.createElement("tbody", null, rows)));
|
|
1489
1489
|
}
|
|
1490
1490
|
|
|
1491
|
-
var __defProp$
|
|
1492
|
-
var __getOwnPropSymbols$
|
|
1493
|
-
var __hasOwnProp$
|
|
1494
|
-
var __propIsEnum$
|
|
1495
|
-
var __defNormalProp$
|
|
1496
|
-
var __spreadValues$
|
|
1491
|
+
var __defProp$9 = Object.defineProperty;
|
|
1492
|
+
var __getOwnPropSymbols$9 = Object.getOwnPropertySymbols;
|
|
1493
|
+
var __hasOwnProp$9 = Object.prototype.hasOwnProperty;
|
|
1494
|
+
var __propIsEnum$9 = Object.prototype.propertyIsEnumerable;
|
|
1495
|
+
var __defNormalProp$9 = (obj, key, value) => key in obj ? __defProp$9(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
1496
|
+
var __spreadValues$9 = (a, b) => {
|
|
1497
1497
|
for (var prop in b || (b = {}))
|
|
1498
|
-
if (__hasOwnProp$
|
|
1499
|
-
__defNormalProp$
|
|
1500
|
-
if (__getOwnPropSymbols$
|
|
1501
|
-
for (var prop of __getOwnPropSymbols$
|
|
1502
|
-
if (__propIsEnum$
|
|
1503
|
-
__defNormalProp$
|
|
1498
|
+
if (__hasOwnProp$9.call(b, prop))
|
|
1499
|
+
__defNormalProp$9(a, prop, b[prop]);
|
|
1500
|
+
if (__getOwnPropSymbols$9)
|
|
1501
|
+
for (var prop of __getOwnPropSymbols$9(b)) {
|
|
1502
|
+
if (__propIsEnum$9.call(b, prop))
|
|
1503
|
+
__defNormalProp$9(a, prop, b[prop]);
|
|
1504
1504
|
}
|
|
1505
1505
|
return a;
|
|
1506
1506
|
};
|
|
1507
|
-
const useStyles$
|
|
1507
|
+
const useStyles$l = core.createStyles((theme) => ({
|
|
1508
1508
|
title: {
|
|
1509
1509
|
fontSize: 34,
|
|
1510
1510
|
fontWeight: 900,
|
|
@@ -1517,7 +1517,7 @@ const useStyles$j = core.createStyles((theme) => ({
|
|
|
1517
1517
|
}
|
|
1518
1518
|
}));
|
|
1519
1519
|
const Classes = (props) => {
|
|
1520
|
-
const { classes } = useStyles$
|
|
1520
|
+
const { classes } = useStyles$l();
|
|
1521
1521
|
const form$1 = form.useForm({
|
|
1522
1522
|
initialValues: {
|
|
1523
1523
|
classId: "",
|
|
@@ -1547,14 +1547,14 @@ const Classes = (props) => {
|
|
|
1547
1547
|
props.onCreateClass && props.onCreateClass(values);
|
|
1548
1548
|
}) }, /* @__PURE__ */ React__namespace.createElement(core.Stack, null, /* @__PURE__ */ React__namespace.createElement(
|
|
1549
1549
|
core.TextInput,
|
|
1550
|
-
__spreadValues$
|
|
1550
|
+
__spreadValues$9({
|
|
1551
1551
|
withAsterisk: true,
|
|
1552
1552
|
label: "Name",
|
|
1553
1553
|
placeholder: "Class name"
|
|
1554
1554
|
}, form$1.getInputProps("name"))
|
|
1555
1555
|
), /* @__PURE__ */ React__namespace.createElement(
|
|
1556
1556
|
core.TextInput,
|
|
1557
|
-
__spreadValues$
|
|
1557
|
+
__spreadValues$9({
|
|
1558
1558
|
label: "Description",
|
|
1559
1559
|
placeholder: "A class for my first period English students"
|
|
1560
1560
|
}, form$1.getInputProps("description"))
|
|
@@ -1579,7 +1579,7 @@ const Classes = (props) => {
|
|
|
1579
1579
|
onChange: props.onAutocompleteChange
|
|
1580
1580
|
}
|
|
1581
1581
|
), /* @__PURE__ */ React__namespace.createElement(
|
|
1582
|
-
Table$
|
|
1582
|
+
Table$b,
|
|
1583
1583
|
{
|
|
1584
1584
|
loading: props.loading,
|
|
1585
1585
|
items: props.classes,
|
|
@@ -1588,7 +1588,7 @@ const Classes = (props) => {
|
|
|
1588
1588
|
))))));
|
|
1589
1589
|
};
|
|
1590
1590
|
|
|
1591
|
-
const useStyles$
|
|
1591
|
+
const useStyles$k = core.createStyles((theme) => ({
|
|
1592
1592
|
title: {
|
|
1593
1593
|
fontSize: 34,
|
|
1594
1594
|
fontWeight: 900,
|
|
@@ -1602,11 +1602,11 @@ const useStyles$i = core.createStyles((theme) => ({
|
|
|
1602
1602
|
}
|
|
1603
1603
|
}));
|
|
1604
1604
|
const UserInfo = (props) => {
|
|
1605
|
-
const { classes } = useStyles$
|
|
1605
|
+
const { classes } = useStyles$k();
|
|
1606
1606
|
return /* @__PURE__ */ React__namespace.createElement(React__namespace.Fragment, null, /* @__PURE__ */ React__namespace.createElement(core.Title, { className: classes.title }, props.name), /* @__PURE__ */ React__namespace.createElement(core.Text, { color: "dimmed", className: classes.description, mt: "xs" }, props.impactStatement));
|
|
1607
1607
|
};
|
|
1608
1608
|
|
|
1609
|
-
function Table$
|
|
1609
|
+
function Table$a(props) {
|
|
1610
1610
|
if (props.items.length === 0) {
|
|
1611
1611
|
return /* @__PURE__ */ React__namespace.createElement(
|
|
1612
1612
|
PlaceholderBanner,
|
|
@@ -1642,7 +1642,7 @@ function Table$9(props) {
|
|
|
1642
1642
|
));
|
|
1643
1643
|
}
|
|
1644
1644
|
|
|
1645
|
-
function Table$
|
|
1645
|
+
function Table$9(props) {
|
|
1646
1646
|
if (props.items.length === 0) {
|
|
1647
1647
|
return /* @__PURE__ */ React__namespace.createElement(
|
|
1648
1648
|
PlaceholderBanner,
|
|
@@ -1658,7 +1658,7 @@ function Table$8(props) {
|
|
|
1658
1658
|
return /* @__PURE__ */ React__namespace.createElement(core.ScrollArea.Autosize, { maxHeight: 600 }, /* @__PURE__ */ React__namespace.createElement(core.Table, { verticalSpacing: "sm", sx: { minWidth: 700 }, highlightOnHover: true, striped: true }, /* @__PURE__ */ React__namespace.createElement("thead", null, /* @__PURE__ */ React__namespace.createElement("tr", null, /* @__PURE__ */ React__namespace.createElement("th", null, "Lesson Name"), /* @__PURE__ */ React__namespace.createElement("th", null, "Question"), /* @__PURE__ */ React__namespace.createElement("th", null, "Answer"))), /* @__PURE__ */ React__namespace.createElement("tbody", null, rows)));
|
|
1659
1659
|
}
|
|
1660
1660
|
|
|
1661
|
-
function Table$
|
|
1661
|
+
function Table$8(props) {
|
|
1662
1662
|
if (props.items.length === 0) {
|
|
1663
1663
|
return /* @__PURE__ */ React__namespace.createElement(
|
|
1664
1664
|
PlaceholderBanner,
|
|
@@ -1720,19 +1720,19 @@ const Student = (props) => {
|
|
|
1720
1720
|
onChange: setTab
|
|
1721
1721
|
}
|
|
1722
1722
|
), tab === "badges" && /* @__PURE__ */ React__namespace.createElement(
|
|
1723
|
-
Table$
|
|
1723
|
+
Table$a,
|
|
1724
1724
|
{
|
|
1725
1725
|
loading: props.loading,
|
|
1726
1726
|
items: props.badges
|
|
1727
1727
|
}
|
|
1728
1728
|
), tab === "answers" && /* @__PURE__ */ React__namespace.createElement(
|
|
1729
|
-
Table$
|
|
1729
|
+
Table$9,
|
|
1730
1730
|
{
|
|
1731
1731
|
loading: props.loading,
|
|
1732
1732
|
items: props.answers
|
|
1733
1733
|
}
|
|
1734
1734
|
), tab === "reflections" && /* @__PURE__ */ React__namespace.createElement(
|
|
1735
|
-
Table$
|
|
1735
|
+
Table$8,
|
|
1736
1736
|
{
|
|
1737
1737
|
loading: props.loading,
|
|
1738
1738
|
items: props.reflections
|
|
@@ -1740,7 +1740,7 @@ const Student = (props) => {
|
|
|
1740
1740
|
))))));
|
|
1741
1741
|
};
|
|
1742
1742
|
|
|
1743
|
-
const useStyles$
|
|
1743
|
+
const useStyles$j = core.createStyles((theme, props) => {
|
|
1744
1744
|
const from = props.from || "blue";
|
|
1745
1745
|
const to = props.to || "green";
|
|
1746
1746
|
return {
|
|
@@ -1768,7 +1768,7 @@ const useStyles$h = core.createStyles((theme, props) => {
|
|
|
1768
1768
|
};
|
|
1769
1769
|
});
|
|
1770
1770
|
function CardGradient(props) {
|
|
1771
|
-
const { classes } = useStyles$
|
|
1771
|
+
const { classes } = useStyles$j(props);
|
|
1772
1772
|
const from = props.from || "blue";
|
|
1773
1773
|
const to = props.to || "green";
|
|
1774
1774
|
const icon = props.icon || /* @__PURE__ */ React__namespace.createElement(icons.IconColorSwatch, { size: 28, stroke: 1.5 });
|
|
@@ -1784,35 +1784,35 @@ function CardGradient(props) {
|
|
|
1784
1784
|
), /* @__PURE__ */ React__namespace.createElement(core.Text, { size: "xl", weight: 500, mt: "md" }, props.title), /* @__PURE__ */ React__namespace.createElement(core.Text, { size: "sm", mt: "sm", color: "dimmed" }, props.description));
|
|
1785
1785
|
}
|
|
1786
1786
|
|
|
1787
|
-
var __defProp$
|
|
1788
|
-
var __getOwnPropSymbols$
|
|
1789
|
-
var __hasOwnProp$
|
|
1790
|
-
var __propIsEnum$
|
|
1791
|
-
var __defNormalProp$
|
|
1792
|
-
var __spreadValues$
|
|
1787
|
+
var __defProp$8 = Object.defineProperty;
|
|
1788
|
+
var __getOwnPropSymbols$8 = Object.getOwnPropertySymbols;
|
|
1789
|
+
var __hasOwnProp$8 = Object.prototype.hasOwnProperty;
|
|
1790
|
+
var __propIsEnum$8 = Object.prototype.propertyIsEnumerable;
|
|
1791
|
+
var __defNormalProp$8 = (obj, key, value) => key in obj ? __defProp$8(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
1792
|
+
var __spreadValues$8 = (a, b) => {
|
|
1793
1793
|
for (var prop in b || (b = {}))
|
|
1794
|
-
if (__hasOwnProp$
|
|
1795
|
-
__defNormalProp$
|
|
1796
|
-
if (__getOwnPropSymbols$
|
|
1797
|
-
for (var prop of __getOwnPropSymbols$
|
|
1798
|
-
if (__propIsEnum$
|
|
1799
|
-
__defNormalProp$
|
|
1794
|
+
if (__hasOwnProp$8.call(b, prop))
|
|
1795
|
+
__defNormalProp$8(a, prop, b[prop]);
|
|
1796
|
+
if (__getOwnPropSymbols$8)
|
|
1797
|
+
for (var prop of __getOwnPropSymbols$8(b)) {
|
|
1798
|
+
if (__propIsEnum$8.call(b, prop))
|
|
1799
|
+
__defNormalProp$8(a, prop, b[prop]);
|
|
1800
1800
|
}
|
|
1801
1801
|
return a;
|
|
1802
1802
|
};
|
|
1803
1803
|
var __objRest$1 = (source, exclude) => {
|
|
1804
1804
|
var target = {};
|
|
1805
1805
|
for (var prop in source)
|
|
1806
|
-
if (__hasOwnProp$
|
|
1806
|
+
if (__hasOwnProp$8.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
1807
1807
|
target[prop] = source[prop];
|
|
1808
|
-
if (source != null && __getOwnPropSymbols$
|
|
1809
|
-
for (var prop of __getOwnPropSymbols$
|
|
1810
|
-
if (exclude.indexOf(prop) < 0 && __propIsEnum$
|
|
1808
|
+
if (source != null && __getOwnPropSymbols$8)
|
|
1809
|
+
for (var prop of __getOwnPropSymbols$8(source)) {
|
|
1810
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum$8.call(source, prop))
|
|
1811
1811
|
target[prop] = source[prop];
|
|
1812
1812
|
}
|
|
1813
1813
|
return target;
|
|
1814
1814
|
};
|
|
1815
|
-
const useStyles$
|
|
1815
|
+
const useStyles$i = core.createStyles((theme) => ({
|
|
1816
1816
|
card: {
|
|
1817
1817
|
height: 240,
|
|
1818
1818
|
backgroundSize: "cover",
|
|
@@ -1857,7 +1857,7 @@ const TenantBanner = (_a) => {
|
|
|
1857
1857
|
"className",
|
|
1858
1858
|
"code"
|
|
1859
1859
|
]);
|
|
1860
|
-
const { classes, cx, theme } = useStyles$
|
|
1860
|
+
const { classes, cx, theme } = useStyles$i();
|
|
1861
1861
|
const handleCopy = async () => {
|
|
1862
1862
|
if (!code)
|
|
1863
1863
|
return;
|
|
@@ -1874,9 +1874,9 @@ const TenantBanner = (_a) => {
|
|
|
1874
1874
|
};
|
|
1875
1875
|
return /* @__PURE__ */ React__namespace.createElement(
|
|
1876
1876
|
core.Card,
|
|
1877
|
-
__spreadValues$
|
|
1877
|
+
__spreadValues$8({
|
|
1878
1878
|
radius: "md",
|
|
1879
|
-
style: __spreadValues$
|
|
1879
|
+
style: __spreadValues$8({ backgroundImage: `url(${image})` }, style),
|
|
1880
1880
|
className: cx(classes.card, className)
|
|
1881
1881
|
}, others),
|
|
1882
1882
|
/* @__PURE__ */ React__namespace.createElement(
|
|
@@ -1965,7 +1965,7 @@ const Home = (props) => {
|
|
|
1965
1965
|
)))));
|
|
1966
1966
|
};
|
|
1967
1967
|
|
|
1968
|
-
function Table$
|
|
1968
|
+
function Table$7(props) {
|
|
1969
1969
|
const { items: sortedItems, requestSort, sortConfig } = useSortableData(props.items);
|
|
1970
1970
|
if (props.items.length === 0) {
|
|
1971
1971
|
return /* @__PURE__ */ React__namespace.createElement(
|
|
@@ -1997,7 +1997,7 @@ function Table$6(props) {
|
|
|
1997
1997
|
));
|
|
1998
1998
|
}
|
|
1999
1999
|
|
|
2000
|
-
const useStyles$
|
|
2000
|
+
const useStyles$h = core.createStyles((theme) => ({
|
|
2001
2001
|
button: {
|
|
2002
2002
|
borderTopRightRadius: 0,
|
|
2003
2003
|
borderBottomRightRadius: 0,
|
|
@@ -2011,8 +2011,8 @@ const useStyles$f = core.createStyles((theme) => ({
|
|
|
2011
2011
|
borderLeft: `1px solid ${theme.colorScheme === "dark" ? theme.colors.dark[7] : theme.white}`
|
|
2012
2012
|
}
|
|
2013
2013
|
}));
|
|
2014
|
-
const SplitButton$
|
|
2015
|
-
const { classes, theme } = useStyles$
|
|
2014
|
+
const SplitButton$3 = (props) => {
|
|
2015
|
+
const { classes, theme } = useStyles$h();
|
|
2016
2016
|
theme.colors[theme.primaryColor][theme.colorScheme === "dark" ? 5 : 6];
|
|
2017
2017
|
return /* @__PURE__ */ React__namespace.createElement(core.Stack, { spacing: "sm" }, /* @__PURE__ */ React__namespace.createElement(
|
|
2018
2018
|
core.Button,
|
|
@@ -2041,7 +2041,7 @@ const SplitButton$2 = (props) => {
|
|
|
2041
2041
|
));
|
|
2042
2042
|
};
|
|
2043
2043
|
|
|
2044
|
-
function Stack$
|
|
2044
|
+
function Stack$3(props) {
|
|
2045
2045
|
if (props.items.length === 0) {
|
|
2046
2046
|
return null;
|
|
2047
2047
|
}
|
|
@@ -2049,28 +2049,28 @@ function Stack$2(props) {
|
|
|
2049
2049
|
return /* @__PURE__ */ React__namespace.createElement(core.ScrollArea.Autosize, { maxHeight: 600 }, /* @__PURE__ */ React__namespace.createElement(core.UnstyledButton, { component: reactRouterDom.Link, to: props.href }, /* @__PURE__ */ React__namespace.createElement(core.Stack, { spacing: 24, sx: { padding: 20, minWidth: 700 } }, rows)));
|
|
2050
2050
|
}
|
|
2051
2051
|
|
|
2052
|
-
var __defProp$
|
|
2053
|
-
var __defProps$
|
|
2054
|
-
var __getOwnPropDescs$
|
|
2055
|
-
var __getOwnPropSymbols$
|
|
2056
|
-
var __hasOwnProp$
|
|
2057
|
-
var __propIsEnum$
|
|
2058
|
-
var __defNormalProp$
|
|
2059
|
-
var __spreadValues$
|
|
2052
|
+
var __defProp$7 = Object.defineProperty;
|
|
2053
|
+
var __defProps$6 = Object.defineProperties;
|
|
2054
|
+
var __getOwnPropDescs$6 = Object.getOwnPropertyDescriptors;
|
|
2055
|
+
var __getOwnPropSymbols$7 = Object.getOwnPropertySymbols;
|
|
2056
|
+
var __hasOwnProp$7 = Object.prototype.hasOwnProperty;
|
|
2057
|
+
var __propIsEnum$7 = Object.prototype.propertyIsEnumerable;
|
|
2058
|
+
var __defNormalProp$7 = (obj, key, value) => key in obj ? __defProp$7(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
2059
|
+
var __spreadValues$7 = (a, b) => {
|
|
2060
2060
|
for (var prop in b || (b = {}))
|
|
2061
|
-
if (__hasOwnProp$
|
|
2062
|
-
__defNormalProp$
|
|
2063
|
-
if (__getOwnPropSymbols$
|
|
2064
|
-
for (var prop of __getOwnPropSymbols$
|
|
2065
|
-
if (__propIsEnum$
|
|
2066
|
-
__defNormalProp$
|
|
2061
|
+
if (__hasOwnProp$7.call(b, prop))
|
|
2062
|
+
__defNormalProp$7(a, prop, b[prop]);
|
|
2063
|
+
if (__getOwnPropSymbols$7)
|
|
2064
|
+
for (var prop of __getOwnPropSymbols$7(b)) {
|
|
2065
|
+
if (__propIsEnum$7.call(b, prop))
|
|
2066
|
+
__defNormalProp$7(a, prop, b[prop]);
|
|
2067
2067
|
}
|
|
2068
2068
|
return a;
|
|
2069
2069
|
};
|
|
2070
|
-
var __spreadProps$
|
|
2071
|
-
function Table$
|
|
2070
|
+
var __spreadProps$6 = (a, b) => __defProps$6(a, __getOwnPropDescs$6(b));
|
|
2071
|
+
function Table$6(props) {
|
|
2072
2072
|
const preparedItems = React__namespace.useMemo(() => {
|
|
2073
|
-
return props.items.map((item) => __spreadProps$
|
|
2073
|
+
return props.items.map((item) => __spreadProps$6(__spreadValues$7({}, item), {
|
|
2074
2074
|
status: item.isComplete ? 2 : item.isStarted ? 1 : 0
|
|
2075
2075
|
}));
|
|
2076
2076
|
}, [props.items]);
|
|
@@ -2116,13 +2116,13 @@ function Table$5(props) {
|
|
|
2116
2116
|
render: (row) => /* @__PURE__ */ React__namespace.createElement(React__namespace.Fragment, null, !!row.isComplete && /* @__PURE__ */ React__namespace.createElement(core.Badge, { variant: "filled" }, "Complete"), !row.isComplete && !row.isStarted && /* @__PURE__ */ React__namespace.createElement(core.Badge, { color: "red", variant: "filled" }, "Not started"), !row.isComplete && !!row.isStarted && /* @__PURE__ */ React__namespace.createElement(core.Badge, { color: "violet", variant: "filled" }, "In progress"))
|
|
2117
2117
|
}],
|
|
2118
2118
|
rowExpansion: {
|
|
2119
|
-
content: ({ record }) => /* @__PURE__ */ React__namespace.createElement(Stack$
|
|
2119
|
+
content: ({ record }) => /* @__PURE__ */ React__namespace.createElement(Stack$3, { href: record.href, items: record.answers })
|
|
2120
2120
|
}
|
|
2121
2121
|
}
|
|
2122
2122
|
));
|
|
2123
2123
|
}
|
|
2124
2124
|
|
|
2125
|
-
function Stack$
|
|
2125
|
+
function Stack$2(props) {
|
|
2126
2126
|
const primaryAxis = React__namespace.useMemo(
|
|
2127
2127
|
() => ({
|
|
2128
2128
|
position: "left",
|
|
@@ -2190,7 +2190,7 @@ function Stack$1(props) {
|
|
|
2190
2190
|
}
|
|
2191
2191
|
const truncateWithEllipses = (text, max) => text.substr(0, max - 1) + (text.length > max ? "…" : "");
|
|
2192
2192
|
|
|
2193
|
-
const useStyles$
|
|
2193
|
+
const useStyles$g = core.createStyles((theme) => ({
|
|
2194
2194
|
title: {
|
|
2195
2195
|
fontSize: 34,
|
|
2196
2196
|
fontWeight: 900,
|
|
@@ -2203,7 +2203,7 @@ const useStyles$e = core.createStyles((theme) => ({
|
|
|
2203
2203
|
}
|
|
2204
2204
|
}));
|
|
2205
2205
|
const Lesson = (props) => {
|
|
2206
|
-
const { classes } = useStyles$
|
|
2206
|
+
const { classes } = useStyles$g();
|
|
2207
2207
|
const [tab, setTab] = React.useState("question");
|
|
2208
2208
|
const numberOfStudents = props.students.length;
|
|
2209
2209
|
const numberOfLessons = numberOfStudents > 0 ? props.students.filter((u) => u.isComplete).length : 0;
|
|
@@ -2254,7 +2254,7 @@ const Lesson = (props) => {
|
|
|
2254
2254
|
},
|
|
2255
2255
|
"Back"
|
|
2256
2256
|
)), /* @__PURE__ */ React__namespace.createElement(core.Group, null, /* @__PURE__ */ React__namespace.createElement(core.Stack, { spacing: 0 }, /* @__PURE__ */ React__namespace.createElement(core.Title, { order: 2, className: classes.title, mt: "md" }, props.displayName || "Lesson"), /* @__PURE__ */ React__namespace.createElement(core.Text, { color: "dimmed", className: classes.description, mt: "sm" }, props.description || "No description")), /* @__PURE__ */ React__namespace.createElement(core.Stack, { ml: "auto" }, /* @__PURE__ */ React__namespace.createElement(
|
|
2257
|
-
SplitButton$
|
|
2257
|
+
SplitButton$3,
|
|
2258
2258
|
{
|
|
2259
2259
|
href: props.href,
|
|
2260
2260
|
noExport: props.trial,
|
|
@@ -2295,19 +2295,19 @@ const Lesson = (props) => {
|
|
|
2295
2295
|
onChange: setTab
|
|
2296
2296
|
}
|
|
2297
2297
|
), tab === "question" && /* @__PURE__ */ React__namespace.createElement(
|
|
2298
|
-
Stack$
|
|
2298
|
+
Stack$2,
|
|
2299
2299
|
{
|
|
2300
2300
|
loading: props.loading,
|
|
2301
2301
|
items: props.questions
|
|
2302
2302
|
}
|
|
2303
2303
|
), tab === "reflections" && /* @__PURE__ */ React__namespace.createElement(
|
|
2304
|
-
Table$
|
|
2304
|
+
Table$7,
|
|
2305
2305
|
{
|
|
2306
2306
|
loading: props.loading,
|
|
2307
2307
|
items: props.reflections
|
|
2308
2308
|
}
|
|
2309
2309
|
), tab === "students" && /* @__PURE__ */ React__namespace.createElement(
|
|
2310
|
-
Table$
|
|
2310
|
+
Table$6,
|
|
2311
2311
|
{
|
|
2312
2312
|
loading: props.loading,
|
|
2313
2313
|
items: props.students
|
|
@@ -2315,7 +2315,7 @@ const Lesson = (props) => {
|
|
|
2315
2315
|
)))))));
|
|
2316
2316
|
};
|
|
2317
2317
|
|
|
2318
|
-
function Table$
|
|
2318
|
+
function Table$5(props) {
|
|
2319
2319
|
if (props.items.length === 0) {
|
|
2320
2320
|
return /* @__PURE__ */ React__namespace.createElement(
|
|
2321
2321
|
PlaceholderBanner,
|
|
@@ -2347,7 +2347,7 @@ function Table$4(props) {
|
|
|
2347
2347
|
return /* @__PURE__ */ React__namespace.createElement(core.ScrollArea.Autosize, { maxHeight: 600 }, /* @__PURE__ */ React__namespace.createElement(core.Table, { horizontalSpacing: 0, verticalSpacing: 0, sx: { minWidth: 700 } }, /* @__PURE__ */ React__namespace.createElement("tbody", null, rows)));
|
|
2348
2348
|
}
|
|
2349
2349
|
|
|
2350
|
-
const useStyles$
|
|
2350
|
+
const useStyles$f = core.createStyles((theme) => ({
|
|
2351
2351
|
title: {
|
|
2352
2352
|
fontSize: 34,
|
|
2353
2353
|
fontWeight: 900,
|
|
@@ -2360,7 +2360,7 @@ const useStyles$d = core.createStyles((theme) => ({
|
|
|
2360
2360
|
}
|
|
2361
2361
|
}));
|
|
2362
2362
|
const Lessons = (props) => {
|
|
2363
|
-
const { classes } = useStyles$
|
|
2363
|
+
const { classes } = useStyles$f();
|
|
2364
2364
|
return /* @__PURE__ */ React__namespace.createElement(core.Container, { size: "lg", py: "xl" }, /* @__PURE__ */ React__namespace.createElement(core.Stack, { spacing: "md" }, /* @__PURE__ */ React__namespace.createElement(core.Grid, null, /* @__PURE__ */ React__namespace.createElement(core.Grid.Col, { sm: "auto" }, /* @__PURE__ */ React__namespace.createElement(core.Badge, { variant: "filled", size: "lg" }, "Lessons"), /* @__PURE__ */ React__namespace.createElement(core.Title, { order: 2, className: classes.title, mt: "md" }, "Lessons"), /* @__PURE__ */ React__namespace.createElement(core.Text, { color: "dimmed", className: classes.description, mt: "sm" }, "Bite-sized activities and learning experiences accelerating students achievement"))), /* @__PURE__ */ React__namespace.createElement(
|
|
2365
2365
|
core.Autocomplete,
|
|
2366
2366
|
{
|
|
@@ -2369,7 +2369,7 @@ const Lessons = (props) => {
|
|
|
2369
2369
|
onChange: props.onAutocompleteChange
|
|
2370
2370
|
}
|
|
2371
2371
|
), /* @__PURE__ */ React__namespace.createElement("div", { style: { position: "relative" } }, /* @__PURE__ */ React__namespace.createElement(core.LoadingOverlay, { visible: props.loading, overlayBlur: 2 }), /* @__PURE__ */ React__namespace.createElement(
|
|
2372
|
-
Table$
|
|
2372
|
+
Table$5,
|
|
2373
2373
|
{
|
|
2374
2374
|
loading: props.loading,
|
|
2375
2375
|
items: props.lessons
|
|
@@ -2377,7 +2377,7 @@ const Lessons = (props) => {
|
|
|
2377
2377
|
))));
|
|
2378
2378
|
};
|
|
2379
2379
|
|
|
2380
|
-
const useStyles$
|
|
2380
|
+
const useStyles$e = core.createStyles((theme) => ({
|
|
2381
2381
|
title: {
|
|
2382
2382
|
fontSize: 22,
|
|
2383
2383
|
fontWeight: 900,
|
|
@@ -2396,7 +2396,7 @@ const useStyles$c = core.createStyles((theme) => ({
|
|
|
2396
2396
|
}
|
|
2397
2397
|
}));
|
|
2398
2398
|
function AccessCode(props) {
|
|
2399
|
-
const { classes } = useStyles$
|
|
2399
|
+
const { classes } = useStyles$e();
|
|
2400
2400
|
return /* @__PURE__ */ React__namespace.createElement(core.Container, { mx: "0", px: "0", size: 460, my: 30 }, /* @__PURE__ */ React__namespace.createElement(core.Title, { className: classes.title }, "Access code"), /* @__PURE__ */ React__namespace.createElement(core.Text, { color: "dimmed", size: "sm" }, "Grant access to join your organization"), /* @__PURE__ */ React__namespace.createElement(core.Paper, { withBorder: true, shadow: "md", p: 30, radius: "md", mt: "xl" }, /* @__PURE__ */ React__namespace.createElement(core.TextInput, { value: props.value, readOnly: true }), /* @__PURE__ */ React__namespace.createElement(core.Group, { position: "apart", mt: "lg", className: classes.controls }, /* @__PURE__ */ React__namespace.createElement(
|
|
2401
2401
|
core.Anchor,
|
|
2402
2402
|
{
|
|
@@ -2424,7 +2424,7 @@ const monthNames = [
|
|
|
2424
2424
|
"November",
|
|
2425
2425
|
"December"
|
|
2426
2426
|
];
|
|
2427
|
-
const useStyles$
|
|
2427
|
+
const useStyles$d = core.createStyles((theme) => ({
|
|
2428
2428
|
title: {
|
|
2429
2429
|
fontSize: 34,
|
|
2430
2430
|
fontWeight: 900,
|
|
@@ -2454,7 +2454,7 @@ const useStyles$b = core.createStyles((theme) => ({
|
|
|
2454
2454
|
}
|
|
2455
2455
|
}));
|
|
2456
2456
|
const Organization = (props) => {
|
|
2457
|
-
const { classes } = useStyles$
|
|
2457
|
+
const { classes } = useStyles$d();
|
|
2458
2458
|
return /* @__PURE__ */ React__namespace.createElement(React__namespace.Fragment, null, /* @__PURE__ */ React__namespace.createElement(core.Container, { size: "lg", py: "xl" }, /* @__PURE__ */ React__namespace.createElement(core.Stack, { spacing: "md" }, /* @__PURE__ */ React__namespace.createElement(core.Grid, null, /* @__PURE__ */ React__namespace.createElement(core.Grid.Col, { sm: "auto" }, /* @__PURE__ */ React__namespace.createElement(core.UnstyledButton, { onClick: props.onBackClick }, /* @__PURE__ */ React__namespace.createElement(
|
|
2459
2459
|
core.Badge,
|
|
2460
2460
|
{
|
|
@@ -2480,7 +2480,7 @@ const Organization = (props) => {
|
|
|
2480
2480
|
] }))))));
|
|
2481
2481
|
};
|
|
2482
2482
|
|
|
2483
|
-
const useStyles$
|
|
2483
|
+
const useStyles$c = core.createStyles((theme) => ({
|
|
2484
2484
|
button: {
|
|
2485
2485
|
borderTopRightRadius: 0,
|
|
2486
2486
|
borderBottomRightRadius: 0,
|
|
@@ -2494,8 +2494,8 @@ const useStyles$a = core.createStyles((theme) => ({
|
|
|
2494
2494
|
borderLeft: `1px solid ${theme.colorScheme === "dark" ? theme.colors.dark[7] : theme.white}`
|
|
2495
2495
|
}
|
|
2496
2496
|
}));
|
|
2497
|
-
const SplitButton$
|
|
2498
|
-
const { classes, theme } = useStyles$
|
|
2497
|
+
const SplitButton$2 = (props) => {
|
|
2498
|
+
const { classes, theme } = useStyles$c();
|
|
2499
2499
|
const menuIconColor = theme.colors[theme.primaryColor][theme.colorScheme === "dark" ? 5 : 6];
|
|
2500
2500
|
const hasMenu = !!props.withOrganizationLink;
|
|
2501
2501
|
return /* @__PURE__ */ React__namespace.createElement(core.Group, { noWrap: true, spacing: 0 }, /* @__PURE__ */ React__namespace.createElement(
|
|
@@ -2525,7 +2525,7 @@ const SplitButton$1 = (props) => {
|
|
|
2525
2525
|
))));
|
|
2526
2526
|
};
|
|
2527
2527
|
|
|
2528
|
-
function Table$
|
|
2528
|
+
function Table$4(props) {
|
|
2529
2529
|
if (props.items.length === 0) {
|
|
2530
2530
|
return /* @__PURE__ */ React__namespace.createElement(
|
|
2531
2531
|
PlaceholderBanner,
|
|
@@ -2557,26 +2557,26 @@ function Table$3(props) {
|
|
|
2557
2557
|
return /* @__PURE__ */ React__namespace.createElement(core.ScrollArea, null, /* @__PURE__ */ React__namespace.createElement(core.Table, { verticalSpacing: 20, sx: { minWidth: 700 }, highlightOnHover: true, striped: true }, /* @__PURE__ */ React__namespace.createElement("thead", null, /* @__PURE__ */ React__namespace.createElement("tr", null, /* @__PURE__ */ React__namespace.createElement("th", null, "Name"), /* @__PURE__ */ React__namespace.createElement("th", null, "Role"), /* @__PURE__ */ React__namespace.createElement("th", null, "Account Created?"), /* @__PURE__ */ React__namespace.createElement("th", null, "# of Classes"), /* @__PURE__ */ React__namespace.createElement("th", null, "Last Active"), /* @__PURE__ */ React__namespace.createElement("th", null))), /* @__PURE__ */ React__namespace.createElement("tbody", null, rows)));
|
|
2558
2558
|
}
|
|
2559
2559
|
|
|
2560
|
-
var __defProp$
|
|
2561
|
-
var __defProps$
|
|
2562
|
-
var __getOwnPropDescs$
|
|
2563
|
-
var __getOwnPropSymbols$
|
|
2564
|
-
var __hasOwnProp$
|
|
2565
|
-
var __propIsEnum$
|
|
2566
|
-
var __defNormalProp$
|
|
2567
|
-
var __spreadValues$
|
|
2560
|
+
var __defProp$6 = Object.defineProperty;
|
|
2561
|
+
var __defProps$5 = Object.defineProperties;
|
|
2562
|
+
var __getOwnPropDescs$5 = Object.getOwnPropertyDescriptors;
|
|
2563
|
+
var __getOwnPropSymbols$6 = Object.getOwnPropertySymbols;
|
|
2564
|
+
var __hasOwnProp$6 = Object.prototype.hasOwnProperty;
|
|
2565
|
+
var __propIsEnum$6 = Object.prototype.propertyIsEnumerable;
|
|
2566
|
+
var __defNormalProp$6 = (obj, key, value) => key in obj ? __defProp$6(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
2567
|
+
var __spreadValues$6 = (a, b) => {
|
|
2568
2568
|
for (var prop in b || (b = {}))
|
|
2569
|
-
if (__hasOwnProp$
|
|
2570
|
-
__defNormalProp$
|
|
2571
|
-
if (__getOwnPropSymbols$
|
|
2572
|
-
for (var prop of __getOwnPropSymbols$
|
|
2573
|
-
if (__propIsEnum$
|
|
2574
|
-
__defNormalProp$
|
|
2569
|
+
if (__hasOwnProp$6.call(b, prop))
|
|
2570
|
+
__defNormalProp$6(a, prop, b[prop]);
|
|
2571
|
+
if (__getOwnPropSymbols$6)
|
|
2572
|
+
for (var prop of __getOwnPropSymbols$6(b)) {
|
|
2573
|
+
if (__propIsEnum$6.call(b, prop))
|
|
2574
|
+
__defNormalProp$6(a, prop, b[prop]);
|
|
2575
2575
|
}
|
|
2576
2576
|
return a;
|
|
2577
2577
|
};
|
|
2578
|
-
var __spreadProps$
|
|
2579
|
-
const useStyles$
|
|
2578
|
+
var __spreadProps$5 = (a, b) => __defProps$5(a, __getOwnPropDescs$5(b));
|
|
2579
|
+
const useStyles$b = core.createStyles((theme) => ({
|
|
2580
2580
|
title: {
|
|
2581
2581
|
fontSize: 34,
|
|
2582
2582
|
fontWeight: 900,
|
|
@@ -2606,7 +2606,7 @@ const useStyles$9 = core.createStyles((theme) => ({
|
|
|
2606
2606
|
}
|
|
2607
2607
|
}));
|
|
2608
2608
|
const People = (props) => {
|
|
2609
|
-
const { classes } = useStyles$
|
|
2609
|
+
const { classes } = useStyles$b();
|
|
2610
2610
|
const form$1 = form.useForm({
|
|
2611
2611
|
initialValues: {
|
|
2612
2612
|
userId: "",
|
|
@@ -2637,27 +2637,27 @@ const People = (props) => {
|
|
|
2637
2637
|
padding: "xl",
|
|
2638
2638
|
size: "xl"
|
|
2639
2639
|
},
|
|
2640
|
-
/* @__PURE__ */ React__namespace.createElement(core.Stack, { spacing: "md" }, /* @__PURE__ */ React__namespace.createElement(DropzoneButton, __spreadProps$
|
|
2640
|
+
/* @__PURE__ */ React__namespace.createElement(core.Stack, { spacing: "md" }, /* @__PURE__ */ React__namespace.createElement(DropzoneButton, __spreadProps$5(__spreadValues$6({}, props), { close: () => setOpened(false) })), /* @__PURE__ */ React__namespace.createElement(core.Divider, { label: "or", labelPosition: "center", my: "md", variant: "dashed" }), /* @__PURE__ */ React__namespace.createElement("form", { onSubmit: form$1.onSubmit(() => {
|
|
2641
2641
|
const values = form$1.values;
|
|
2642
2642
|
form$1.reset();
|
|
2643
2643
|
setOpened(false);
|
|
2644
2644
|
props.onCreateUsers && props.onCreateUsers([values]);
|
|
2645
2645
|
}) }, /* @__PURE__ */ React__namespace.createElement(core.Stack, null, /* @__PURE__ */ React__namespace.createElement(
|
|
2646
2646
|
core.TextInput,
|
|
2647
|
-
__spreadValues$
|
|
2647
|
+
__spreadValues$6({
|
|
2648
2648
|
withAsterisk: true,
|
|
2649
2649
|
label: "Email",
|
|
2650
2650
|
placeholder: "Email"
|
|
2651
2651
|
}, form$1.getInputProps("email"))
|
|
2652
2652
|
), /* @__PURE__ */ React__namespace.createElement(core.Group, { grow: true }, /* @__PURE__ */ React__namespace.createElement(
|
|
2653
2653
|
core.TextInput,
|
|
2654
|
-
__spreadValues$
|
|
2654
|
+
__spreadValues$6({
|
|
2655
2655
|
label: "Given name",
|
|
2656
2656
|
placeholder: "Given name"
|
|
2657
2657
|
}, form$1.getInputProps("givenName"))
|
|
2658
2658
|
), /* @__PURE__ */ React__namespace.createElement(
|
|
2659
2659
|
core.TextInput,
|
|
2660
|
-
__spreadValues$
|
|
2660
|
+
__spreadValues$6({
|
|
2661
2661
|
label: "Family name",
|
|
2662
2662
|
placeholder: "Family name"
|
|
2663
2663
|
}, form$1.getInputProps("familyName"))
|
|
@@ -2671,7 +2671,7 @@ const People = (props) => {
|
|
|
2671
2671
|
},
|
|
2672
2672
|
"Back"
|
|
2673
2673
|
)), /* @__PURE__ */ React__namespace.createElement(core.Title, { order: 2, className: classes.title, mt: "md" }, "People"), /* @__PURE__ */ React__namespace.createElement(core.Text, { color: "dimmed", className: classes.description, mt: "sm" }, "Manage members of your organization")), /* @__PURE__ */ React__namespace.createElement(core.Grid.Col, { sm: "content" }, !props.loading && /* @__PURE__ */ React__namespace.createElement(
|
|
2674
|
-
SplitButton$
|
|
2674
|
+
SplitButton$2,
|
|
2675
2675
|
{
|
|
2676
2676
|
withOrganizationLink: props.withOrganizationLink,
|
|
2677
2677
|
onAddUsersClick: () => setOpened(true),
|
|
@@ -2700,7 +2700,7 @@ const People = (props) => {
|
|
|
2700
2700
|
onChange: props.onAutocompleteChange
|
|
2701
2701
|
}
|
|
2702
2702
|
), /* @__PURE__ */ React__namespace.createElement(
|
|
2703
|
-
Table$
|
|
2703
|
+
Table$4,
|
|
2704
2704
|
{
|
|
2705
2705
|
loading: props.loading,
|
|
2706
2706
|
items: props.users,
|
|
@@ -2710,7 +2710,7 @@ const People = (props) => {
|
|
|
2710
2710
|
))))));
|
|
2711
2711
|
};
|
|
2712
2712
|
const DropzoneButton = (props) => {
|
|
2713
|
-
const { classes, theme } = useStyles$
|
|
2713
|
+
const { classes, theme } = useStyles$b();
|
|
2714
2714
|
const openRef = React__namespace.useRef(null);
|
|
2715
2715
|
const [loading, setLoading] = React__namespace.useState(false);
|
|
2716
2716
|
const onDrop = React__namespace.useCallback((acceptedFiles) => {
|
|
@@ -2756,7 +2756,7 @@ const DropzoneButton = (props) => {
|
|
|
2756
2756
|
} }, "Select file"));
|
|
2757
2757
|
};
|
|
2758
2758
|
|
|
2759
|
-
const useStyles$
|
|
2759
|
+
const useStyles$a = core.createStyles((theme) => ({
|
|
2760
2760
|
form: {
|
|
2761
2761
|
backgroundColor: theme.white,
|
|
2762
2762
|
padding: theme.spacing.xl,
|
|
@@ -2819,7 +2819,7 @@ const useStyles$8 = core.createStyles((theme) => ({
|
|
|
2819
2819
|
}
|
|
2820
2820
|
}));
|
|
2821
2821
|
const StartAnonymousLesson = (props) => {
|
|
2822
|
-
const { classes } = useStyles$
|
|
2822
|
+
const { classes } = useStyles$a();
|
|
2823
2823
|
const [name, setName] = React__namespace.useState("");
|
|
2824
2824
|
return /* @__PURE__ */ React__namespace.createElement("div", { className: classes.wrapper }, /* @__PURE__ */ React__namespace.createElement(core.Container, null, /* @__PURE__ */ React__namespace.createElement(core.SimpleGrid, { maw: 960, cols: 2, spacing: 15, breakpoints: [{ maxWidth: "sm", cols: 1 }] }, /* @__PURE__ */ React__namespace.createElement("div", { className: classes.content }, /* @__PURE__ */ React__namespace.createElement(core.Badge, { color: "violet" }, "Community"), /* @__PURE__ */ React__namespace.createElement(core.Title, { className: classes.title }, props.title), /* @__PURE__ */ React__namespace.createElement(core.Text, { color: "dimmed", mt: "md" }, props.description), /* @__PURE__ */ React__namespace.createElement(core.Text, { color: "dimmed", mt: "md" }, "You are now part of ", `${props.educatorName}'s`, " Class")), /* @__PURE__ */ React__namespace.createElement("div", { className: classes.form }, /* @__PURE__ */ React__namespace.createElement(
|
|
2825
2825
|
core.TextInput,
|
|
@@ -2843,24 +2843,24 @@ const StartAnonymousLesson = (props) => {
|
|
|
2843
2843
|
))))));
|
|
2844
2844
|
};
|
|
2845
2845
|
|
|
2846
|
-
var __defProp$
|
|
2847
|
-
var __getOwnPropSymbols$
|
|
2848
|
-
var __hasOwnProp$
|
|
2849
|
-
var __propIsEnum$
|
|
2850
|
-
var __defNormalProp$
|
|
2851
|
-
var __spreadValues$
|
|
2846
|
+
var __defProp$5 = Object.defineProperty;
|
|
2847
|
+
var __getOwnPropSymbols$5 = Object.getOwnPropertySymbols;
|
|
2848
|
+
var __hasOwnProp$5 = Object.prototype.hasOwnProperty;
|
|
2849
|
+
var __propIsEnum$5 = Object.prototype.propertyIsEnumerable;
|
|
2850
|
+
var __defNormalProp$5 = (obj, key, value) => key in obj ? __defProp$5(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
2851
|
+
var __spreadValues$5 = (a, b) => {
|
|
2852
2852
|
for (var prop in b || (b = {}))
|
|
2853
|
-
if (__hasOwnProp$
|
|
2854
|
-
__defNormalProp$
|
|
2855
|
-
if (__getOwnPropSymbols$
|
|
2856
|
-
for (var prop of __getOwnPropSymbols$
|
|
2857
|
-
if (__propIsEnum$
|
|
2858
|
-
__defNormalProp$
|
|
2853
|
+
if (__hasOwnProp$5.call(b, prop))
|
|
2854
|
+
__defNormalProp$5(a, prop, b[prop]);
|
|
2855
|
+
if (__getOwnPropSymbols$5)
|
|
2856
|
+
for (var prop of __getOwnPropSymbols$5(b)) {
|
|
2857
|
+
if (__propIsEnum$5.call(b, prop))
|
|
2858
|
+
__defNormalProp$5(a, prop, b[prop]);
|
|
2859
2859
|
}
|
|
2860
2860
|
return a;
|
|
2861
2861
|
};
|
|
2862
2862
|
const BadgeGrid = (props) => {
|
|
2863
|
-
const badges = props.badges.map((b) => /* @__PURE__ */ React__namespace.createElement(TaskCard, __spreadValues$
|
|
2863
|
+
const badges = props.badges.map((b) => /* @__PURE__ */ React__namespace.createElement(TaskCard, __spreadValues$5({ key: b.title }, b)));
|
|
2864
2864
|
return /* @__PURE__ */ React__namespace.createElement(core.SimpleGrid, { cols: 4, breakpoints: [{ maxWidth: "sm", cols: 1 }, { maxWidth: "md", cols: 3 }] }, badges);
|
|
2865
2865
|
};
|
|
2866
2866
|
function TaskCard(props) {
|
|
@@ -2876,7 +2876,7 @@ function TaskCard(props) {
|
|
|
2876
2876
|
));
|
|
2877
2877
|
}
|
|
2878
2878
|
|
|
2879
|
-
const useStyles$
|
|
2879
|
+
const useStyles$9 = core.createStyles((theme) => ({
|
|
2880
2880
|
action: {
|
|
2881
2881
|
backgroundColor: "inherit",
|
|
2882
2882
|
":hover": {
|
|
@@ -2895,7 +2895,7 @@ const useStyles$7 = core.createStyles((theme) => ({
|
|
|
2895
2895
|
}
|
|
2896
2896
|
}));
|
|
2897
2897
|
const TrialHome = (props) => {
|
|
2898
|
-
const { classes } = useStyles$
|
|
2898
|
+
const { classes } = useStyles$9();
|
|
2899
2899
|
return /* @__PURE__ */ React__namespace.createElement(core.Container, { size: "lg" }, /* @__PURE__ */ React__namespace.createElement(core.Badge, null, props.daysRemaining, " day", props.daysRemaining !== 1 ? "s" : "", " left"), /* @__PURE__ */ React__namespace.createElement(
|
|
2900
2900
|
core.Button,
|
|
2901
2901
|
{
|
|
@@ -2924,38 +2924,38 @@ const TrialHome = (props) => {
|
|
|
2924
2924
|
)), /* @__PURE__ */ React__namespace.createElement(core.Title, { maw: 500, mb: 20, mt: 20, className: classes.title }, "Based on the tags you selected, check out these lessons to get started with your students!"), /* @__PURE__ */ React__namespace.createElement(BadgeGrid, { onAssign: props.onAssign, badges: props.badges })));
|
|
2925
2925
|
};
|
|
2926
2926
|
|
|
2927
|
-
var __defProp$
|
|
2928
|
-
var __defProps$
|
|
2929
|
-
var __getOwnPropDescs$
|
|
2930
|
-
var __getOwnPropSymbols$
|
|
2931
|
-
var __hasOwnProp$
|
|
2932
|
-
var __propIsEnum$
|
|
2933
|
-
var __defNormalProp$
|
|
2934
|
-
var __spreadValues$
|
|
2927
|
+
var __defProp$4 = Object.defineProperty;
|
|
2928
|
+
var __defProps$4 = Object.defineProperties;
|
|
2929
|
+
var __getOwnPropDescs$4 = Object.getOwnPropertyDescriptors;
|
|
2930
|
+
var __getOwnPropSymbols$4 = Object.getOwnPropertySymbols;
|
|
2931
|
+
var __hasOwnProp$4 = Object.prototype.hasOwnProperty;
|
|
2932
|
+
var __propIsEnum$4 = Object.prototype.propertyIsEnumerable;
|
|
2933
|
+
var __defNormalProp$4 = (obj, key, value) => key in obj ? __defProp$4(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
2934
|
+
var __spreadValues$4 = (a, b) => {
|
|
2935
2935
|
for (var prop in b || (b = {}))
|
|
2936
|
-
if (__hasOwnProp$
|
|
2937
|
-
__defNormalProp$
|
|
2938
|
-
if (__getOwnPropSymbols$
|
|
2939
|
-
for (var prop of __getOwnPropSymbols$
|
|
2940
|
-
if (__propIsEnum$
|
|
2941
|
-
__defNormalProp$
|
|
2936
|
+
if (__hasOwnProp$4.call(b, prop))
|
|
2937
|
+
__defNormalProp$4(a, prop, b[prop]);
|
|
2938
|
+
if (__getOwnPropSymbols$4)
|
|
2939
|
+
for (var prop of __getOwnPropSymbols$4(b)) {
|
|
2940
|
+
if (__propIsEnum$4.call(b, prop))
|
|
2941
|
+
__defNormalProp$4(a, prop, b[prop]);
|
|
2942
2942
|
}
|
|
2943
2943
|
return a;
|
|
2944
2944
|
};
|
|
2945
|
-
var __spreadProps$
|
|
2945
|
+
var __spreadProps$4 = (a, b) => __defProps$4(a, __getOwnPropDescs$4(b));
|
|
2946
2946
|
var __objRest = (source, exclude) => {
|
|
2947
2947
|
var target = {};
|
|
2948
2948
|
for (var prop in source)
|
|
2949
|
-
if (__hasOwnProp$
|
|
2949
|
+
if (__hasOwnProp$4.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
2950
2950
|
target[prop] = source[prop];
|
|
2951
|
-
if (source != null && __getOwnPropSymbols$
|
|
2952
|
-
for (var prop of __getOwnPropSymbols$
|
|
2953
|
-
if (exclude.indexOf(prop) < 0 && __propIsEnum$
|
|
2951
|
+
if (source != null && __getOwnPropSymbols$4)
|
|
2952
|
+
for (var prop of __getOwnPropSymbols$4(source)) {
|
|
2953
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum$4.call(source, prop))
|
|
2954
2954
|
target[prop] = source[prop];
|
|
2955
2955
|
}
|
|
2956
2956
|
return target;
|
|
2957
2957
|
};
|
|
2958
|
-
const useStyles$
|
|
2958
|
+
const useStyles$8 = core.createStyles((theme, { checked }) => ({
|
|
2959
2959
|
button: {
|
|
2960
2960
|
display: "flex",
|
|
2961
2961
|
alignItems: "center",
|
|
@@ -2997,10 +2997,10 @@ function ImageCheckbox(_a) {
|
|
|
2997
2997
|
finalValue: false,
|
|
2998
2998
|
onChange
|
|
2999
2999
|
});
|
|
3000
|
-
const { classes, cx } = useStyles$
|
|
3000
|
+
const { classes, cx } = useStyles$8({ checked: value });
|
|
3001
3001
|
return /* @__PURE__ */ React__namespace.createElement(
|
|
3002
3002
|
core.UnstyledButton,
|
|
3003
|
-
__spreadProps$
|
|
3003
|
+
__spreadProps$4(__spreadValues$4({}, others), {
|
|
3004
3004
|
onClick: () => handleChange(!value),
|
|
3005
3005
|
className: cx(classes.button, className)
|
|
3006
3006
|
}),
|
|
@@ -3021,7 +3021,7 @@ function ImageCheckbox(_a) {
|
|
|
3021
3021
|
function SelectGrid(props) {
|
|
3022
3022
|
const items = props.items.map((item) => /* @__PURE__ */ React__namespace.createElement(
|
|
3023
3023
|
ImageCheckbox,
|
|
3024
|
-
__spreadProps$
|
|
3024
|
+
__spreadProps$4(__spreadValues$4({}, item), {
|
|
3025
3025
|
key: item.title,
|
|
3026
3026
|
onChange: (checked) => props.onChange(item.title, checked)
|
|
3027
3027
|
})
|
|
@@ -3039,26 +3039,26 @@ function SelectGrid(props) {
|
|
|
3039
3039
|
);
|
|
3040
3040
|
}
|
|
3041
3041
|
|
|
3042
|
-
var __defProp$
|
|
3043
|
-
var __defProps$
|
|
3044
|
-
var __getOwnPropDescs$
|
|
3045
|
-
var __getOwnPropSymbols$
|
|
3046
|
-
var __hasOwnProp$
|
|
3047
|
-
var __propIsEnum$
|
|
3048
|
-
var __defNormalProp$
|
|
3049
|
-
var __spreadValues$
|
|
3042
|
+
var __defProp$3 = Object.defineProperty;
|
|
3043
|
+
var __defProps$3 = Object.defineProperties;
|
|
3044
|
+
var __getOwnPropDescs$3 = Object.getOwnPropertyDescriptors;
|
|
3045
|
+
var __getOwnPropSymbols$3 = Object.getOwnPropertySymbols;
|
|
3046
|
+
var __hasOwnProp$3 = Object.prototype.hasOwnProperty;
|
|
3047
|
+
var __propIsEnum$3 = Object.prototype.propertyIsEnumerable;
|
|
3048
|
+
var __defNormalProp$3 = (obj, key, value) => key in obj ? __defProp$3(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3049
|
+
var __spreadValues$3 = (a, b) => {
|
|
3050
3050
|
for (var prop in b || (b = {}))
|
|
3051
|
-
if (__hasOwnProp$
|
|
3052
|
-
__defNormalProp$
|
|
3053
|
-
if (__getOwnPropSymbols$
|
|
3054
|
-
for (var prop of __getOwnPropSymbols$
|
|
3055
|
-
if (__propIsEnum$
|
|
3056
|
-
__defNormalProp$
|
|
3051
|
+
if (__hasOwnProp$3.call(b, prop))
|
|
3052
|
+
__defNormalProp$3(a, prop, b[prop]);
|
|
3053
|
+
if (__getOwnPropSymbols$3)
|
|
3054
|
+
for (var prop of __getOwnPropSymbols$3(b)) {
|
|
3055
|
+
if (__propIsEnum$3.call(b, prop))
|
|
3056
|
+
__defNormalProp$3(a, prop, b[prop]);
|
|
3057
3057
|
}
|
|
3058
3058
|
return a;
|
|
3059
3059
|
};
|
|
3060
|
-
var __spreadProps$
|
|
3061
|
-
const useStyles$
|
|
3060
|
+
var __spreadProps$3 = (a, b) => __defProps$3(a, __getOwnPropDescs$3(b));
|
|
3061
|
+
const useStyles$7 = core.createStyles((theme) => ({
|
|
3062
3062
|
wrapper: {
|
|
3063
3063
|
minHeight: "100%",
|
|
3064
3064
|
boxSizing: "border-box",
|
|
@@ -3121,7 +3121,7 @@ const OPTIONS = [
|
|
|
3121
3121
|
{ description: "project-based learning", title: "Project-Based Learning", icon: icons.IconTools }
|
|
3122
3122
|
];
|
|
3123
3123
|
const TrialRegistration = (props) => {
|
|
3124
|
-
const { classes } = useStyles$
|
|
3124
|
+
const { classes } = useStyles$7();
|
|
3125
3125
|
const [firstName, setFirstName] = React__namespace.useState("");
|
|
3126
3126
|
const [lastName, setLastName] = React__namespace.useState("");
|
|
3127
3127
|
const [organization, setOrganization] = React__namespace.useState({ organizationId: "", displayName: "" });
|
|
@@ -3167,7 +3167,7 @@ const TrialRegistration = (props) => {
|
|
|
3167
3167
|
label: "School/Organization Name",
|
|
3168
3168
|
placeholder: "What's the name of your school?",
|
|
3169
3169
|
data: props.organizations.map((o) => {
|
|
3170
|
-
return __spreadProps$
|
|
3170
|
+
return __spreadProps$3(__spreadValues$3({}, o), { value: o.displayName });
|
|
3171
3171
|
}),
|
|
3172
3172
|
onItemSubmit: (item) => setOrganization({ organizationId: item.organizationId, displayName: item.displayName }),
|
|
3173
3173
|
onChange: (next) => {
|
|
@@ -3179,7 +3179,7 @@ const TrialRegistration = (props) => {
|
|
|
3179
3179
|
SelectGrid,
|
|
3180
3180
|
{
|
|
3181
3181
|
items: OPTIONS,
|
|
3182
|
-
onChange: (e, checked) => setInterests(__spreadProps$
|
|
3182
|
+
onChange: (e, checked) => setInterests(__spreadProps$3(__spreadValues$3({}, interests), { [e]: checked }))
|
|
3183
3183
|
}
|
|
3184
3184
|
), /* @__PURE__ */ React__namespace.createElement(core.Group, { position: "right", mt: "md" }, /* @__PURE__ */ React__namespace.createElement(
|
|
3185
3185
|
core.Button,
|
|
@@ -3217,26 +3217,26 @@ const AdminProvider = (props) => {
|
|
|
3217
3217
|
);
|
|
3218
3218
|
};
|
|
3219
3219
|
|
|
3220
|
-
var __defProp$
|
|
3221
|
-
var __defProps$
|
|
3222
|
-
var __getOwnPropDescs$
|
|
3223
|
-
var __getOwnPropSymbols$
|
|
3224
|
-
var __hasOwnProp$
|
|
3225
|
-
var __propIsEnum$
|
|
3226
|
-
var __defNormalProp$
|
|
3227
|
-
var __spreadValues$
|
|
3220
|
+
var __defProp$2 = Object.defineProperty;
|
|
3221
|
+
var __defProps$2 = Object.defineProperties;
|
|
3222
|
+
var __getOwnPropDescs$2 = Object.getOwnPropertyDescriptors;
|
|
3223
|
+
var __getOwnPropSymbols$2 = Object.getOwnPropertySymbols;
|
|
3224
|
+
var __hasOwnProp$2 = Object.prototype.hasOwnProperty;
|
|
3225
|
+
var __propIsEnum$2 = Object.prototype.propertyIsEnumerable;
|
|
3226
|
+
var __defNormalProp$2 = (obj, key, value) => key in obj ? __defProp$2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3227
|
+
var __spreadValues$2 = (a, b) => {
|
|
3228
3228
|
for (var prop in b || (b = {}))
|
|
3229
|
-
if (__hasOwnProp$
|
|
3230
|
-
__defNormalProp$
|
|
3231
|
-
if (__getOwnPropSymbols$
|
|
3232
|
-
for (var prop of __getOwnPropSymbols$
|
|
3233
|
-
if (__propIsEnum$
|
|
3234
|
-
__defNormalProp$
|
|
3229
|
+
if (__hasOwnProp$2.call(b, prop))
|
|
3230
|
+
__defNormalProp$2(a, prop, b[prop]);
|
|
3231
|
+
if (__getOwnPropSymbols$2)
|
|
3232
|
+
for (var prop of __getOwnPropSymbols$2(b)) {
|
|
3233
|
+
if (__propIsEnum$2.call(b, prop))
|
|
3234
|
+
__defNormalProp$2(a, prop, b[prop]);
|
|
3235
3235
|
}
|
|
3236
3236
|
return a;
|
|
3237
3237
|
};
|
|
3238
|
-
var __spreadProps$
|
|
3239
|
-
const useStyles$
|
|
3238
|
+
var __spreadProps$2 = (a, b) => __defProps$2(a, __getOwnPropDescs$2(b));
|
|
3239
|
+
const useStyles$6 = core.createStyles((theme, props) => ({
|
|
3240
3240
|
footer: {
|
|
3241
3241
|
paddingTop: theme.spacing.md,
|
|
3242
3242
|
paddingBottom: theme.spacing.md,
|
|
@@ -3323,7 +3323,7 @@ const useStyles$4 = core.createStyles((theme, props) => ({
|
|
|
3323
3323
|
}
|
|
3324
3324
|
}));
|
|
3325
3325
|
const App = (props) => {
|
|
3326
|
-
const { classes } = useStyles$
|
|
3326
|
+
const { classes } = useStyles$6(props);
|
|
3327
3327
|
const account = useAccount(props.account, props.accounts, props.onAccountChange);
|
|
3328
3328
|
return /* @__PURE__ */ React__namespace.createElement(
|
|
3329
3329
|
core.AppShell,
|
|
@@ -3331,7 +3331,7 @@ const App = (props) => {
|
|
|
3331
3331
|
padding: "xs",
|
|
3332
3332
|
navbar: props.navbar && /* @__PURE__ */ React__namespace.createElement(
|
|
3333
3333
|
Navbar,
|
|
3334
|
-
__spreadProps$
|
|
3334
|
+
__spreadProps$2(__spreadValues$2({}, props.navbar.props), {
|
|
3335
3335
|
onSwitchAccounts: account.accounts && account.accounts.length > 1 ? () => account.setChangeModalOpen(true) : void 0
|
|
3336
3336
|
})
|
|
3337
3337
|
),
|
|
@@ -3418,7 +3418,7 @@ const useAccount = (account, accounts, onAccountChange) => {
|
|
|
3418
3418
|
};
|
|
3419
3419
|
};
|
|
3420
3420
|
|
|
3421
|
-
function Table$
|
|
3421
|
+
function Table$3(props) {
|
|
3422
3422
|
if (props.items.length === 0) {
|
|
3423
3423
|
return /* @__PURE__ */ React__namespace.createElement(
|
|
3424
3424
|
PlaceholderBanner,
|
|
@@ -3450,7 +3450,7 @@ function Table$2(props) {
|
|
|
3450
3450
|
return /* @__PURE__ */ React__namespace.createElement(core.ScrollArea.Autosize, { maxHeight: 600 }, /* @__PURE__ */ React__namespace.createElement(core.Table, { horizontalSpacing: 0, verticalSpacing: 0, sx: { minWidth: 700 } }, /* @__PURE__ */ React__namespace.createElement("tbody", null, rows)));
|
|
3451
3451
|
}
|
|
3452
3452
|
|
|
3453
|
-
const useStyles$
|
|
3453
|
+
const useStyles$5 = core.createStyles((theme) => ({
|
|
3454
3454
|
title: {
|
|
3455
3455
|
fontSize: 34,
|
|
3456
3456
|
fontWeight: 900,
|
|
@@ -3463,9 +3463,9 @@ const useStyles$3 = core.createStyles((theme) => ({
|
|
|
3463
3463
|
}
|
|
3464
3464
|
}));
|
|
3465
3465
|
const Pathways = (props) => {
|
|
3466
|
-
const { classes } = useStyles$
|
|
3466
|
+
const { classes } = useStyles$5();
|
|
3467
3467
|
return /* @__PURE__ */ React__namespace.createElement(core.Container, { size: "lg", py: "xl" }, /* @__PURE__ */ React__namespace.createElement(core.Stack, { spacing: "md" }, /* @__PURE__ */ React__namespace.createElement(core.Grid, null, /* @__PURE__ */ React__namespace.createElement(core.Grid.Col, { sm: "auto" }, /* @__PURE__ */ React__namespace.createElement(core.Badge, { variant: "filled", size: "lg" }, "Pathways"), /* @__PURE__ */ React__namespace.createElement(core.Title, { order: 2, className: classes.title, mt: "md" }, "Pathways"), /* @__PURE__ */ React__namespace.createElement(core.Text, { color: "dimmed", className: classes.description, mt: "sm" }, "Explore all your unique pathway requirements in one clear space"))), /* @__PURE__ */ React__namespace.createElement("div", { style: { position: "relative" } }, /* @__PURE__ */ React__namespace.createElement(core.LoadingOverlay, { visible: props.loading, overlayBlur: 2 }), /* @__PURE__ */ React__namespace.createElement(
|
|
3468
|
-
Table$
|
|
3468
|
+
Table$3,
|
|
3469
3469
|
{
|
|
3470
3470
|
loading: props.loading,
|
|
3471
3471
|
items: props.pathways
|
|
@@ -3473,7 +3473,7 @@ const Pathways = (props) => {
|
|
|
3473
3473
|
))));
|
|
3474
3474
|
};
|
|
3475
3475
|
|
|
3476
|
-
const useStyles$
|
|
3476
|
+
const useStyles$4 = core.createStyles((theme) => ({
|
|
3477
3477
|
button: {
|
|
3478
3478
|
borderTopRightRadius: 0,
|
|
3479
3479
|
borderBottomRightRadius: 0,
|
|
@@ -3487,8 +3487,8 @@ const useStyles$2 = core.createStyles((theme) => ({
|
|
|
3487
3487
|
borderLeft: `1px solid ${theme.colorScheme === "dark" ? theme.colors.dark[7] : theme.white}`
|
|
3488
3488
|
}
|
|
3489
3489
|
}));
|
|
3490
|
-
const SplitButton = (props) => {
|
|
3491
|
-
const { classes, theme } = useStyles$
|
|
3490
|
+
const SplitButton$1 = (props) => {
|
|
3491
|
+
const { classes, theme } = useStyles$4();
|
|
3492
3492
|
theme.colors[theme.primaryColor][theme.colorScheme === "dark" ? 5 : 6];
|
|
3493
3493
|
return /* @__PURE__ */ React__namespace.createElement(core.Stack, { spacing: "sm" }, /* @__PURE__ */ React__namespace.createElement(
|
|
3494
3494
|
core.Button,
|
|
@@ -3516,7 +3516,7 @@ const SplitButton = (props) => {
|
|
|
3516
3516
|
));
|
|
3517
3517
|
};
|
|
3518
3518
|
|
|
3519
|
-
function Stack(props) {
|
|
3519
|
+
function Stack$1(props) {
|
|
3520
3520
|
if (props.items.length === 0) {
|
|
3521
3521
|
return null;
|
|
3522
3522
|
}
|
|
@@ -3524,29 +3524,29 @@ function Stack(props) {
|
|
|
3524
3524
|
return /* @__PURE__ */ React__namespace.createElement(core.Grid, { grow: true, gutter: "lg", sx: { padding: 20, minWidth: 700 } }, rows);
|
|
3525
3525
|
}
|
|
3526
3526
|
|
|
3527
|
-
var __defProp = Object.defineProperty;
|
|
3528
|
-
var __defProps = Object.defineProperties;
|
|
3529
|
-
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
3530
|
-
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
3531
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
3532
|
-
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
3533
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3534
|
-
var __spreadValues = (a, b) => {
|
|
3527
|
+
var __defProp$1 = Object.defineProperty;
|
|
3528
|
+
var __defProps$1 = Object.defineProperties;
|
|
3529
|
+
var __getOwnPropDescs$1 = Object.getOwnPropertyDescriptors;
|
|
3530
|
+
var __getOwnPropSymbols$1 = Object.getOwnPropertySymbols;
|
|
3531
|
+
var __hasOwnProp$1 = Object.prototype.hasOwnProperty;
|
|
3532
|
+
var __propIsEnum$1 = Object.prototype.propertyIsEnumerable;
|
|
3533
|
+
var __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3534
|
+
var __spreadValues$1 = (a, b) => {
|
|
3535
3535
|
for (var prop in b || (b = {}))
|
|
3536
|
-
if (__hasOwnProp.call(b, prop))
|
|
3537
|
-
__defNormalProp(a, prop, b[prop]);
|
|
3538
|
-
if (__getOwnPropSymbols)
|
|
3539
|
-
for (var prop of __getOwnPropSymbols(b)) {
|
|
3540
|
-
if (__propIsEnum.call(b, prop))
|
|
3541
|
-
__defNormalProp(a, prop, b[prop]);
|
|
3536
|
+
if (__hasOwnProp$1.call(b, prop))
|
|
3537
|
+
__defNormalProp$1(a, prop, b[prop]);
|
|
3538
|
+
if (__getOwnPropSymbols$1)
|
|
3539
|
+
for (var prop of __getOwnPropSymbols$1(b)) {
|
|
3540
|
+
if (__propIsEnum$1.call(b, prop))
|
|
3541
|
+
__defNormalProp$1(a, prop, b[prop]);
|
|
3542
3542
|
}
|
|
3543
3543
|
return a;
|
|
3544
3544
|
};
|
|
3545
|
-
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
3546
|
-
function Table$
|
|
3545
|
+
var __spreadProps$1 = (a, b) => __defProps$1(a, __getOwnPropDescs$1(b));
|
|
3546
|
+
function Table$2(props) {
|
|
3547
3547
|
const preparedItems = React__namespace.useMemo(() => {
|
|
3548
3548
|
return props.items.map((item) => {
|
|
3549
|
-
const flatItem = __spreadProps(__spreadValues({}, item), {
|
|
3549
|
+
const flatItem = __spreadProps$1(__spreadValues$1({}, item), {
|
|
3550
3550
|
status: item.isComplete ? 1 : 0
|
|
3551
3551
|
});
|
|
3552
3552
|
if (item.categoryPoints) {
|
|
@@ -3614,13 +3614,13 @@ function Table$1(props) {
|
|
|
3614
3614
|
}))
|
|
3615
3615
|
],
|
|
3616
3616
|
rowExpansion: {
|
|
3617
|
-
content: ({ record }) => /* @__PURE__ */ React__namespace.createElement(Stack, { items: record.badges })
|
|
3617
|
+
content: ({ record }) => /* @__PURE__ */ React__namespace.createElement(Stack$1, { items: record.badges })
|
|
3618
3618
|
}
|
|
3619
3619
|
}
|
|
3620
3620
|
));
|
|
3621
3621
|
}
|
|
3622
3622
|
|
|
3623
|
-
const useStyles$
|
|
3623
|
+
const useStyles$3 = core.createStyles((theme) => ({
|
|
3624
3624
|
th: { padding: "0 !important" },
|
|
3625
3625
|
control: {
|
|
3626
3626
|
width: "100%",
|
|
@@ -3631,11 +3631,11 @@ const useStyles$1 = core.createStyles((theme) => ({
|
|
|
3631
3631
|
}
|
|
3632
3632
|
}));
|
|
3633
3633
|
function Th({ children, reversed, sorted, onSort }) {
|
|
3634
|
-
const { classes } = useStyles$
|
|
3634
|
+
const { classes } = useStyles$3();
|
|
3635
3635
|
const Icon = sorted ? reversed ? icons.IconChevronUp : icons.IconChevronDown : icons.IconSelector;
|
|
3636
3636
|
return /* @__PURE__ */ React__namespace.createElement("th", { className: classes.th }, /* @__PURE__ */ React__namespace.createElement(core.UnstyledButton, { onClick: onSort, className: classes.control }, /* @__PURE__ */ React__namespace.createElement(core.Group, { position: "apart", noWrap: true, spacing: "xs" }, /* @__PURE__ */ React__namespace.createElement(core.Text, { weight: 500, size: "sm", sx: { whiteSpace: "nowrap" } }, children), /* @__PURE__ */ React__namespace.createElement(core.Center, null, /* @__PURE__ */ React__namespace.createElement(Icon, { size: 14, stroke: 1.5 })))));
|
|
3637
3637
|
}
|
|
3638
|
-
function Table(props) {
|
|
3638
|
+
function Table$1(props) {
|
|
3639
3639
|
const { items: sortedItems, requestSort, sortConfig } = useSortableData(props.items);
|
|
3640
3640
|
if (props.items.length === 0) {
|
|
3641
3641
|
return /* @__PURE__ */ React__namespace.createElement(
|
|
@@ -3671,7 +3671,7 @@ function Table(props) {
|
|
|
3671
3671
|
))), /* @__PURE__ */ React__namespace.createElement("tbody", null, rows)));
|
|
3672
3672
|
}
|
|
3673
3673
|
|
|
3674
|
-
const useStyles = core.createStyles((theme) => ({
|
|
3674
|
+
const useStyles$2 = core.createStyles((theme) => ({
|
|
3675
3675
|
title: {
|
|
3676
3676
|
fontSize: 34,
|
|
3677
3677
|
fontWeight: 900,
|
|
@@ -3684,7 +3684,7 @@ const useStyles = core.createStyles((theme) => ({
|
|
|
3684
3684
|
}
|
|
3685
3685
|
}));
|
|
3686
3686
|
const Pathway = (props) => {
|
|
3687
|
-
const { classes } = useStyles();
|
|
3687
|
+
const { classes } = useStyles$2();
|
|
3688
3688
|
const [tab, setTab] = React.useState("badges");
|
|
3689
3689
|
const numberOfStudents = props.students.length;
|
|
3690
3690
|
numberOfStudents > 0 ? props.students.filter((u) => u.isComplete).length / numberOfStudents : 0;
|
|
@@ -3698,7 +3698,7 @@ const Pathway = (props) => {
|
|
|
3698
3698
|
},
|
|
3699
3699
|
"Back"
|
|
3700
3700
|
)), /* @__PURE__ */ React__namespace.createElement(core.Group, null, /* @__PURE__ */ React__namespace.createElement(core.Stack, { spacing: 0 }, /* @__PURE__ */ React__namespace.createElement(core.Title, { order: 2, className: classes.title, mt: "md" }, props.title || "Pathway"), /* @__PURE__ */ React__namespace.createElement(core.Text, { color: "dimmed", className: classes.description, mt: "sm" }, props.description || "No description")), !props.trial && /* @__PURE__ */ React__namespace.createElement(core.Stack, { ml: "auto" }, /* @__PURE__ */ React__namespace.createElement(
|
|
3701
|
-
SplitButton,
|
|
3701
|
+
SplitButton$1,
|
|
3702
3702
|
{
|
|
3703
3703
|
href: props.href,
|
|
3704
3704
|
onCopyLinkClick: props.onCopyLinkClick,
|
|
@@ -3736,13 +3736,13 @@ const Pathway = (props) => {
|
|
|
3736
3736
|
onChange: setTab
|
|
3737
3737
|
}
|
|
3738
3738
|
), (!!props.trial || tab === "badges") && /* @__PURE__ */ React__namespace.createElement(
|
|
3739
|
-
Table,
|
|
3739
|
+
Table$1,
|
|
3740
3740
|
{
|
|
3741
3741
|
loading: props.loading,
|
|
3742
3742
|
items: props.badges
|
|
3743
3743
|
}
|
|
3744
3744
|
), !props.trial && tab === "students" && /* @__PURE__ */ React__namespace.createElement(
|
|
3745
|
-
Table$
|
|
3745
|
+
Table$2,
|
|
3746
3746
|
{
|
|
3747
3747
|
loading: props.loading,
|
|
3748
3748
|
items: props.students,
|
|
@@ -3751,6 +3751,211 @@ const Pathway = (props) => {
|
|
|
3751
3751
|
)))))));
|
|
3752
3752
|
};
|
|
3753
3753
|
|
|
3754
|
+
const useStyles$1 = core.createStyles((theme) => ({
|
|
3755
|
+
button: {
|
|
3756
|
+
borderTopRightRadius: 0,
|
|
3757
|
+
borderBottomRightRadius: 0,
|
|
3758
|
+
marginLeft: 0,
|
|
3759
|
+
marginRight: 0
|
|
3760
|
+
},
|
|
3761
|
+
menuControl: {
|
|
3762
|
+
borderTopLeftRadius: 0,
|
|
3763
|
+
borderBottomLeftRadius: 0,
|
|
3764
|
+
border: 0,
|
|
3765
|
+
borderLeft: `1px solid ${theme.colorScheme === "dark" ? theme.colors.dark[7] : theme.white}`
|
|
3766
|
+
}
|
|
3767
|
+
}));
|
|
3768
|
+
const SplitButton = (props) => {
|
|
3769
|
+
const { classes, theme } = useStyles$1();
|
|
3770
|
+
theme.colors[theme.primaryColor][theme.colorScheme === "dark" ? 5 : 6];
|
|
3771
|
+
return /* @__PURE__ */ React__namespace.createElement(core.Stack, { spacing: "sm" }, /* @__PURE__ */ React__namespace.createElement(
|
|
3772
|
+
core.Button,
|
|
3773
|
+
{
|
|
3774
|
+
component: reactRouterDom.Link,
|
|
3775
|
+
to: props.href,
|
|
3776
|
+
className: classes.button,
|
|
3777
|
+
variant: "gradient"
|
|
3778
|
+
},
|
|
3779
|
+
"Preview"
|
|
3780
|
+
), /* @__PURE__ */ React__namespace.createElement(
|
|
3781
|
+
core.Button,
|
|
3782
|
+
{
|
|
3783
|
+
leftIcon: /* @__PURE__ */ React__namespace.createElement(icons.IconClipboardCopy, { size: 14 }),
|
|
3784
|
+
onClick: props.onCopyLinkClick
|
|
3785
|
+
},
|
|
3786
|
+
"Copy link"
|
|
3787
|
+
), /* @__PURE__ */ React__namespace.createElement(
|
|
3788
|
+
core.Button,
|
|
3789
|
+
{
|
|
3790
|
+
leftIcon: /* @__PURE__ */ React__namespace.createElement(icons.IconTableExport, { size: 14 }),
|
|
3791
|
+
onClick: props.onExportDataClick
|
|
3792
|
+
},
|
|
3793
|
+
"Export data (.csv)"
|
|
3794
|
+
));
|
|
3795
|
+
};
|
|
3796
|
+
|
|
3797
|
+
function Stack(props) {
|
|
3798
|
+
if (!props.items.length)
|
|
3799
|
+
return null;
|
|
3800
|
+
return /* @__PURE__ */ React__namespace.createElement(core.Grid, { gutter: "md", sx: { padding: 20, minWidth: 700 } }, /* @__PURE__ */ React__namespace.createElement(core.Grid.Col, { span: 6 }, /* @__PURE__ */ React__namespace.createElement(core.Text, { color: "dark.4", weight: "bold", size: "md" }, "By link")), /* @__PURE__ */ React__namespace.createElement(core.Grid.Col, { span: 6 }, /* @__PURE__ */ React__namespace.createElement(core.Text, { color: "dark.4", weight: "bold", size: "md" }, "By badge")), /* @__PURE__ */ React__namespace.createElement(core.Grid.Col, { span: 6 }, /* @__PURE__ */ React__namespace.createElement(core.Text, { color: "dark.4", weight: "bold", size: "md" }, "By Lesson")), /* @__PURE__ */ React__namespace.createElement(core.Grid.Col, { span: 6 }, /* @__PURE__ */ React__namespace.createElement(core.Text, { color: "dark.4", weight: "bold", size: "md" }, "By Question")), props.items.map((row, i) => /* @__PURE__ */ React__namespace.createElement(React__namespace.Fragment, { key: i }, /* @__PURE__ */ React__namespace.createElement(core.Grid.Col, { span: 6 }, /* @__PURE__ */ React__namespace.createElement("a", { href: row.link, target: "_blank", rel: "noopener noreferrer" }, "View File")), /* @__PURE__ */ React__namespace.createElement(core.Grid.Col, { span: 6 }, /* @__PURE__ */ React__namespace.createElement(core.Text, null, row.badgeName)), /* @__PURE__ */ React__namespace.createElement(core.Grid.Col, { span: 6 }, /* @__PURE__ */ React__namespace.createElement(core.Text, null, row.lessonName)), /* @__PURE__ */ React__namespace.createElement(core.Grid.Col, { span: 6 }, /* @__PURE__ */ React__namespace.createElement(core.Text, null, row.question)))));
|
|
3801
|
+
}
|
|
3802
|
+
|
|
3803
|
+
var __defProp = Object.defineProperty;
|
|
3804
|
+
var __defProps = Object.defineProperties;
|
|
3805
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
3806
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
3807
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
3808
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
3809
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3810
|
+
var __spreadValues = (a, b) => {
|
|
3811
|
+
for (var prop in b || (b = {}))
|
|
3812
|
+
if (__hasOwnProp.call(b, prop))
|
|
3813
|
+
__defNormalProp(a, prop, b[prop]);
|
|
3814
|
+
if (__getOwnPropSymbols)
|
|
3815
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
3816
|
+
if (__propIsEnum.call(b, prop))
|
|
3817
|
+
__defNormalProp(a, prop, b[prop]);
|
|
3818
|
+
}
|
|
3819
|
+
return a;
|
|
3820
|
+
};
|
|
3821
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
3822
|
+
function Table(props) {
|
|
3823
|
+
const preparedItems = React__namespace.useMemo(() => {
|
|
3824
|
+
return props.items.map((item) => {
|
|
3825
|
+
var _a;
|
|
3826
|
+
return __spreadProps(__spreadValues({}, item), {
|
|
3827
|
+
submissionCount: ((_a = item.submissions) == null ? void 0 : _a.length) || 0
|
|
3828
|
+
});
|
|
3829
|
+
});
|
|
3830
|
+
}, [props.items]);
|
|
3831
|
+
const { items: sortedItems, requestSort, sortConfig } = useSortableData(preparedItems);
|
|
3832
|
+
if (props.items.length === 0) {
|
|
3833
|
+
return /* @__PURE__ */ React__namespace.createElement(
|
|
3834
|
+
PlaceholderBanner,
|
|
3835
|
+
{
|
|
3836
|
+
title: "No files to display",
|
|
3837
|
+
description: "There are no submitted files to display yet.",
|
|
3838
|
+
loading: props.loading,
|
|
3839
|
+
icon: "badges"
|
|
3840
|
+
}
|
|
3841
|
+
);
|
|
3842
|
+
}
|
|
3843
|
+
const sortStatus = {
|
|
3844
|
+
columnAccessor: sortConfig.key,
|
|
3845
|
+
direction: sortConfig.direction === "desc" ? "desc" : "asc"
|
|
3846
|
+
};
|
|
3847
|
+
return /* @__PURE__ */ React__namespace.createElement(core.ScrollArea.Autosize, { maxHeight: 600 }, /* @__PURE__ */ React__namespace.createElement(
|
|
3848
|
+
mantineDatatable.DataTable,
|
|
3849
|
+
{
|
|
3850
|
+
verticalSpacing: "sm",
|
|
3851
|
+
sx: { minWidth: 700 },
|
|
3852
|
+
withBorder: false,
|
|
3853
|
+
borderRadius: "sm",
|
|
3854
|
+
withColumnBorders: true,
|
|
3855
|
+
striped: true,
|
|
3856
|
+
highlightOnHover: true,
|
|
3857
|
+
records: sortedItems,
|
|
3858
|
+
sortStatus,
|
|
3859
|
+
onSortStatusChange: (status) => requestSort(status.columnAccessor),
|
|
3860
|
+
idAccessor: "userId",
|
|
3861
|
+
columns: [{
|
|
3862
|
+
accessor: "name",
|
|
3863
|
+
title: "Student Name",
|
|
3864
|
+
sortable: true,
|
|
3865
|
+
render: (row) => /* @__PURE__ */ React__namespace.createElement(core.Group, { spacing: "sm" }, /* @__PURE__ */ React__namespace.createElement(core.Avatar, { size: 40, src: row.avatar, radius: 40 }), /* @__PURE__ */ React__namespace.createElement("div", null, /* @__PURE__ */ React__namespace.createElement(core.Text, { size: "sm", weight: 500 }, row.name), /* @__PURE__ */ React__namespace.createElement(core.Text, { size: "xs", color: "dimmed" }, row.email)))
|
|
3866
|
+
}, {
|
|
3867
|
+
accessor: "submissionCount",
|
|
3868
|
+
title: "Files",
|
|
3869
|
+
sortable: true,
|
|
3870
|
+
render: (row) => row.submissions.length
|
|
3871
|
+
}],
|
|
3872
|
+
rowExpansion: {
|
|
3873
|
+
content: ({ record }) => /* @__PURE__ */ React__namespace.createElement(Stack, { items: record.submissions })
|
|
3874
|
+
}
|
|
3875
|
+
}
|
|
3876
|
+
));
|
|
3877
|
+
}
|
|
3878
|
+
|
|
3879
|
+
const useStyles = core.createStyles((theme) => ({
|
|
3880
|
+
title: {
|
|
3881
|
+
fontSize: 34,
|
|
3882
|
+
fontWeight: 900,
|
|
3883
|
+
[theme.fn.smallerThan("sm")]: {
|
|
3884
|
+
fontSize: 24
|
|
3885
|
+
}
|
|
3886
|
+
},
|
|
3887
|
+
description: {
|
|
3888
|
+
maxWidth: 600
|
|
3889
|
+
}
|
|
3890
|
+
}));
|
|
3891
|
+
const FileLocker = (props) => {
|
|
3892
|
+
const { classes } = useStyles();
|
|
3893
|
+
const [tab, setTab] = React.useState("students");
|
|
3894
|
+
props.students.length;
|
|
3895
|
+
const numberOfFiles = props.students.reduce(
|
|
3896
|
+
(acc, s) => {
|
|
3897
|
+
var _a;
|
|
3898
|
+
return acc + (((_a = s.submissions) == null ? void 0 : _a.length) || 0);
|
|
3899
|
+
},
|
|
3900
|
+
0
|
|
3901
|
+
);
|
|
3902
|
+
return /* @__PURE__ */ React__namespace.createElement(core.Container, { size: "lg", py: "xl" }, /* @__PURE__ */ React__namespace.createElement(core.Stack, { spacing: "md" }, /* @__PURE__ */ React__namespace.createElement(core.Grid, null, /* @__PURE__ */ React__namespace.createElement(core.Grid.Col, { sm: "auto" }, /* @__PURE__ */ React__namespace.createElement(core.UnstyledButton, { onClick: props.onBackClick }, /* @__PURE__ */ React__namespace.createElement(
|
|
3903
|
+
core.Badge,
|
|
3904
|
+
{
|
|
3905
|
+
variant: "filled",
|
|
3906
|
+
leftSection: /* @__PURE__ */ React__namespace.createElement(core.ActionIcon, { color: "blue", size: "xs", radius: "xl", variant: "filled" }, /* @__PURE__ */ React__namespace.createElement(icons.IconArrowLeft, { size: 14 })),
|
|
3907
|
+
size: "lg"
|
|
3908
|
+
},
|
|
3909
|
+
"Back"
|
|
3910
|
+
)), /* @__PURE__ */ React__namespace.createElement(core.Group, null, /* @__PURE__ */ React__namespace.createElement(core.Stack, { spacing: 0 }, /* @__PURE__ */ React__namespace.createElement(core.Title, { order: 2, className: classes.title, mt: "md" }, props.displayName || "File"), /* @__PURE__ */ React__namespace.createElement(core.Text, { color: "dimmed", className: classes.description, mt: "sm" }, props.description || "No description")), !props.trial && /* @__PURE__ */ React__namespace.createElement(core.Stack, { ml: "auto" }, /* @__PURE__ */ React__namespace.createElement(
|
|
3911
|
+
SplitButton,
|
|
3912
|
+
{
|
|
3913
|
+
href: props.href,
|
|
3914
|
+
onCopyLinkClick: props.onCopyLinkClick,
|
|
3915
|
+
onExportDataClick: props.onExportDataClick
|
|
3916
|
+
}
|
|
3917
|
+
))))), /* @__PURE__ */ React__namespace.createElement("div", null, /* @__PURE__ */ React__namespace.createElement("div", { style: { position: "relative" } }, /* @__PURE__ */ React__namespace.createElement(core.LoadingOverlay, { visible: props.loading, overlayBlur: 2 }), /* @__PURE__ */ React__namespace.createElement(core.Stack, null, /* @__PURE__ */ React__namespace.createElement(StatsGroup, { data: [
|
|
3918
|
+
{
|
|
3919
|
+
title: props.trial ? "LESSONS SUBMITTED" : "FILES",
|
|
3920
|
+
value: props.trial ? props.lessonsCompleted || 0 : numberOfFiles,
|
|
3921
|
+
unit: props.trial ? "" : ""
|
|
3922
|
+
}
|
|
3923
|
+
] }), !props.trial && /* @__PURE__ */ React__namespace.createElement(
|
|
3924
|
+
core.Select,
|
|
3925
|
+
{
|
|
3926
|
+
clearable: true,
|
|
3927
|
+
clearButtonLabel: "Clear class selection",
|
|
3928
|
+
size: "sm",
|
|
3929
|
+
placeholder: "Select a class",
|
|
3930
|
+
nothingFound: "No options",
|
|
3931
|
+
value: props.classId,
|
|
3932
|
+
onChange: props.onClassChange,
|
|
3933
|
+
icon: /* @__PURE__ */ React__namespace.createElement(icons.IconCategory2, null),
|
|
3934
|
+
data: props.classes.map((g) => {
|
|
3935
|
+
return { value: g.classId, label: g.name };
|
|
3936
|
+
})
|
|
3937
|
+
}
|
|
3938
|
+
), /* @__PURE__ */ React__namespace.createElement(core.Stack, { spacing: 0 }, !props.trial && /* @__PURE__ */ React__namespace.createElement(
|
|
3939
|
+
Tabs,
|
|
3940
|
+
{
|
|
3941
|
+
value: tab,
|
|
3942
|
+
data: [
|
|
3943
|
+
{ label: "By student", value: "students" },
|
|
3944
|
+
{ label: "By pathway", value: "pathways" },
|
|
3945
|
+
{ label: "By badge", value: "badges" },
|
|
3946
|
+
{ label: "By lesson", value: "lessons" }
|
|
3947
|
+
],
|
|
3948
|
+
onChange: setTab
|
|
3949
|
+
}
|
|
3950
|
+
), !props.trial && tab === "students" && /* @__PURE__ */ React__namespace.createElement(
|
|
3951
|
+
Table,
|
|
3952
|
+
{
|
|
3953
|
+
loading: props.loading,
|
|
3954
|
+
items: props.students
|
|
3955
|
+
}
|
|
3956
|
+
)))))));
|
|
3957
|
+
};
|
|
3958
|
+
|
|
3754
3959
|
Object.defineProperty(exports, 'showNotification', {
|
|
3755
3960
|
enumerable: true,
|
|
3756
3961
|
get: function () { return notifications.showNotification; }
|
|
@@ -3766,6 +3971,7 @@ exports.Badges = Badges;
|
|
|
3766
3971
|
exports.Class = Class;
|
|
3767
3972
|
exports.Classes = Classes;
|
|
3768
3973
|
exports.Dashboard = Dashboard;
|
|
3974
|
+
exports.FileLocker = FileLocker;
|
|
3769
3975
|
exports.GettingStarted = GettingStarted;
|
|
3770
3976
|
exports.Home = Home;
|
|
3771
3977
|
exports.Lesson = Lesson;
|