@local-civics/mgmt-ui 0.1.195 → 0.1.196

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.mjs CHANGED
@@ -163,8 +163,8 @@ function LinksGroup({ icon: Icon, href, label, initiallyOpened, links, active, n
163
163
  }
164
164
 
165
165
  var __defProp$d = Object.defineProperty;
166
- var __defProps$a = Object.defineProperties;
167
- var __getOwnPropDescs$a = Object.getOwnPropertyDescriptors;
166
+ var __defProps$9 = Object.defineProperties;
167
+ var __getOwnPropDescs$9 = Object.getOwnPropertyDescriptors;
168
168
  var __getOwnPropSymbols$d = Object.getOwnPropertySymbols;
169
169
  var __hasOwnProp$d = Object.prototype.hasOwnProperty;
170
170
  var __propIsEnum$d = Object.prototype.propertyIsEnumerable;
@@ -180,7 +180,7 @@ var __spreadValues$d = (a, b) => {
180
180
  }
181
181
  return a;
182
182
  };
183
- var __spreadProps$a = (a, b) => __defProps$a(a, __getOwnPropDescs$a(b));
183
+ var __spreadProps$9 = (a, b) => __defProps$9(a, __getOwnPropDescs$9(b));
184
184
  const useStyles$u = createStyles((theme, _params, getRef) => {
185
185
  const icon = getRef("icon");
186
186
  return {
@@ -212,7 +212,7 @@ const useStyles$u = createStyles((theme, _params, getRef) => {
212
212
  color: theme.colorScheme === "dark" ? theme.white : theme.black,
213
213
  borderBottom: `1px solid ${theme.colorScheme === "dark" ? theme.colors.dark[4] : theme.colors.gray[3]}`
214
214
  },
215
- link: __spreadProps$a(__spreadValues$d({}, theme.fn.focusStyles()), {
215
+ link: __spreadProps$9(__spreadValues$d({}, theme.fn.focusStyles()), {
216
216
  display: "flex",
217
217
  alignItems: "center",
218
218
  textDecoration: "none",
@@ -295,7 +295,7 @@ function Navbar(props) {
295
295
  }
296
296
  return /* @__PURE__ */ React.createElement(
297
297
  LinksGroup,
298
- __spreadProps$a(__spreadValues$d(__spreadValues$d({
298
+ __spreadProps$9(__spreadValues$d(__spreadValues$d({
299
299
  key: item.label,
300
300
  active: props.active
301
301
  }, item), context), {
@@ -637,8 +637,6 @@ function useSortableData(items, config = { key: "", direction: null }) {
637
637
  let direction = "asc";
638
638
  if (sortConfig.key === key && sortConfig.direction === "asc") {
639
639
  direction = "desc";
640
- } else if (sortConfig.key === key && sortConfig.direction === "desc") {
641
- direction = null;
642
640
  }
643
641
  setSortConfig({ key, direction });
644
642
  };
@@ -646,8 +644,8 @@ function useSortableData(items, config = { key: "", direction: null }) {
646
644
  }
647
645
 
648
646
  var __defProp$c = Object.defineProperty;
649
- var __defProps$9 = Object.defineProperties;
650
- var __getOwnPropDescs$9 = Object.getOwnPropertyDescriptors;
647
+ var __defProps$8 = Object.defineProperties;
648
+ var __getOwnPropDescs$8 = Object.getOwnPropertyDescriptors;
651
649
  var __getOwnPropSymbols$c = Object.getOwnPropertySymbols;
652
650
  var __hasOwnProp$c = Object.prototype.hasOwnProperty;
653
651
  var __propIsEnum$c = Object.prototype.propertyIsEnumerable;
@@ -663,10 +661,10 @@ var __spreadValues$c = (a, b) => {
663
661
  }
664
662
  return a;
665
663
  };
666
- var __spreadProps$9 = (a, b) => __defProps$9(a, __getOwnPropDescs$9(b));
664
+ var __spreadProps$8 = (a, b) => __defProps$8(a, __getOwnPropDescs$8(b));
667
665
  function Table$k(props) {
668
666
  const preparedItems = React.useMemo(() => {
669
- return props.items.map((item) => __spreadProps$9(__spreadValues$c({}, item), {
667
+ return props.items.map((item) => __spreadProps$8(__spreadValues$c({}, item), {
670
668
  status: item.isComplete ? 1 : 0
671
669
  }));
672
670
  }, [props.items]);
@@ -1118,8 +1116,8 @@ const SplitButton$4 = (props) => {
1118
1116
  };
1119
1117
 
1120
1118
  var __defProp$b = Object.defineProperty;
1121
- var __defProps$8 = Object.defineProperties;
1122
- var __getOwnPropDescs$8 = Object.getOwnPropertyDescriptors;
1119
+ var __defProps$7 = Object.defineProperties;
1120
+ var __getOwnPropDescs$7 = Object.getOwnPropertyDescriptors;
1123
1121
  var __getOwnPropSymbols$b = Object.getOwnPropertySymbols;
1124
1122
  var __hasOwnProp$b = Object.prototype.hasOwnProperty;
1125
1123
  var __propIsEnum$b = Object.prototype.propertyIsEnumerable;
@@ -1135,14 +1133,14 @@ var __spreadValues$b = (a, b) => {
1135
1133
  }
1136
1134
  return a;
1137
1135
  };
1138
- var __spreadProps$8 = (a, b) => __defProps$8(a, __getOwnPropDescs$8(b));
1136
+ var __spreadProps$7 = (a, b) => __defProps$7(a, __getOwnPropDescs$7(b));
1139
1137
  function Table$c(props) {
1140
- React.useMemo(() => {
1141
- return props.items.map((item) => __spreadProps$8(__spreadValues$b({}, item), {
1138
+ const preparedItems = React.useMemo(() => {
1139
+ return props.items.map((item) => __spreadProps$7(__spreadValues$b({}, item), {
1142
1140
  fullName: item.givenName && item.familyName ? `${item.givenName} ${item.familyName}`.toLowerCase() : item.email.toLowerCase()
1143
1141
  }));
1144
1142
  }, [props.items]);
1145
- const { items: sortedItems, requestSort, sortConfig } = useSortableData(props.items);
1143
+ const { items: sortedItems, requestSort, sortConfig } = useSortableData(preparedItems);
1146
1144
  if (props.items.length === 0) {
1147
1145
  return /* @__PURE__ */ React.createElement(
1148
1146
  PlaceholderBanner,
@@ -1236,8 +1234,8 @@ function Table$c(props) {
1236
1234
  }
1237
1235
 
1238
1236
  var __defProp$a = Object.defineProperty;
1239
- var __defProps$7 = Object.defineProperties;
1240
- var __getOwnPropDescs$7 = Object.getOwnPropertyDescriptors;
1237
+ var __defProps$6 = Object.defineProperties;
1238
+ var __getOwnPropDescs$6 = Object.getOwnPropertyDescriptors;
1241
1239
  var __getOwnPropSymbols$a = Object.getOwnPropertySymbols;
1242
1240
  var __hasOwnProp$a = Object.prototype.hasOwnProperty;
1243
1241
  var __propIsEnum$a = Object.prototype.propertyIsEnumerable;
@@ -1253,7 +1251,7 @@ var __spreadValues$a = (a, b) => {
1253
1251
  }
1254
1252
  return a;
1255
1253
  };
1256
- var __spreadProps$7 = (a, b) => __defProps$7(a, __getOwnPropDescs$7(b));
1254
+ var __spreadProps$6 = (a, b) => __defProps$6(a, __getOwnPropDescs$6(b));
1257
1255
  const useStyles$m = createStyles((theme) => ({
1258
1256
  title: {
1259
1257
  fontSize: 34,
@@ -1319,7 +1317,7 @@ const Class = (props) => {
1319
1317
  padding: "xl",
1320
1318
  size: "xl"
1321
1319
  },
1322
- /* @__PURE__ */ React.createElement(Stack$5, { spacing: "md" }, /* @__PURE__ */ React.createElement(DropzoneButton$1, __spreadProps$7(__spreadValues$a({}, props), { close: () => setOpened(false) })), /* @__PURE__ */ React.createElement(Divider, { label: "or", labelPosition: "center", my: "md", variant: "dashed" }), /* @__PURE__ */ React.createElement("form", { onSubmit: form.onSubmit(() => {
1320
+ /* @__PURE__ */ React.createElement(Stack$5, { spacing: "md" }, /* @__PURE__ */ React.createElement(DropzoneButton$1, __spreadProps$6(__spreadValues$a({}, props), { close: () => setOpened(false) })), /* @__PURE__ */ React.createElement(Divider, { label: "or", labelPosition: "center", my: "md", variant: "dashed" }), /* @__PURE__ */ React.createElement("form", { onSubmit: form.onSubmit(() => {
1323
1321
  const values = form.values;
1324
1322
  form.reset();
1325
1323
  setOpened(false);
@@ -2052,8 +2050,8 @@ function Stack$3(props) {
2052
2050
  }
2053
2051
 
2054
2052
  var __defProp$7 = Object.defineProperty;
2055
- var __defProps$6 = Object.defineProperties;
2056
- var __getOwnPropDescs$6 = Object.getOwnPropertyDescriptors;
2053
+ var __defProps$5 = Object.defineProperties;
2054
+ var __getOwnPropDescs$5 = Object.getOwnPropertyDescriptors;
2057
2055
  var __getOwnPropSymbols$7 = Object.getOwnPropertySymbols;
2058
2056
  var __hasOwnProp$7 = Object.prototype.hasOwnProperty;
2059
2057
  var __propIsEnum$7 = Object.prototype.propertyIsEnumerable;
@@ -2069,10 +2067,10 @@ var __spreadValues$7 = (a, b) => {
2069
2067
  }
2070
2068
  return a;
2071
2069
  };
2072
- var __spreadProps$6 = (a, b) => __defProps$6(a, __getOwnPropDescs$6(b));
2070
+ var __spreadProps$5 = (a, b) => __defProps$5(a, __getOwnPropDescs$5(b));
2073
2071
  function Table$6(props) {
2074
2072
  const preparedItems = React.useMemo(() => {
2075
- return props.items.map((item) => __spreadProps$6(__spreadValues$7({}, item), {
2073
+ return props.items.map((item) => __spreadProps$5(__spreadValues$7({}, item), {
2076
2074
  status: item.isComplete ? 2 : item.isStarted ? 1 : 0
2077
2075
  }));
2078
2076
  }, [props.items]);
@@ -2560,8 +2558,8 @@ function Table$4(props) {
2560
2558
  }
2561
2559
 
2562
2560
  var __defProp$6 = Object.defineProperty;
2563
- var __defProps$5 = Object.defineProperties;
2564
- var __getOwnPropDescs$5 = Object.getOwnPropertyDescriptors;
2561
+ var __defProps$4 = Object.defineProperties;
2562
+ var __getOwnPropDescs$4 = Object.getOwnPropertyDescriptors;
2565
2563
  var __getOwnPropSymbols$6 = Object.getOwnPropertySymbols;
2566
2564
  var __hasOwnProp$6 = Object.prototype.hasOwnProperty;
2567
2565
  var __propIsEnum$6 = Object.prototype.propertyIsEnumerable;
@@ -2577,7 +2575,7 @@ var __spreadValues$6 = (a, b) => {
2577
2575
  }
2578
2576
  return a;
2579
2577
  };
2580
- var __spreadProps$5 = (a, b) => __defProps$5(a, __getOwnPropDescs$5(b));
2578
+ var __spreadProps$4 = (a, b) => __defProps$4(a, __getOwnPropDescs$4(b));
2581
2579
  const useStyles$a = createStyles((theme) => ({
2582
2580
  title: {
2583
2581
  fontSize: 34,
@@ -2639,7 +2637,7 @@ const People = (props) => {
2639
2637
  padding: "xl",
2640
2638
  size: "xl"
2641
2639
  },
2642
- /* @__PURE__ */ React.createElement(Stack$5, { spacing: "md" }, /* @__PURE__ */ React.createElement(DropzoneButton, __spreadProps$5(__spreadValues$6({}, props), { close: () => setOpened(false) })), /* @__PURE__ */ React.createElement(Divider, { label: "or", labelPosition: "center", my: "md", variant: "dashed" }), /* @__PURE__ */ React.createElement("form", { onSubmit: form.onSubmit(() => {
2640
+ /* @__PURE__ */ React.createElement(Stack$5, { spacing: "md" }, /* @__PURE__ */ React.createElement(DropzoneButton, __spreadProps$4(__spreadValues$6({}, props), { close: () => setOpened(false) })), /* @__PURE__ */ React.createElement(Divider, { label: "or", labelPosition: "center", my: "md", variant: "dashed" }), /* @__PURE__ */ React.createElement("form", { onSubmit: form.onSubmit(() => {
2643
2641
  const values = form.values;
2644
2642
  form.reset();
2645
2643
  setOpened(false);
@@ -2927,8 +2925,8 @@ const TrialHome = (props) => {
2927
2925
  };
2928
2926
 
2929
2927
  var __defProp$4 = Object.defineProperty;
2930
- var __defProps$4 = Object.defineProperties;
2931
- var __getOwnPropDescs$4 = Object.getOwnPropertyDescriptors;
2928
+ var __defProps$3 = Object.defineProperties;
2929
+ var __getOwnPropDescs$3 = Object.getOwnPropertyDescriptors;
2932
2930
  var __getOwnPropSymbols$4 = Object.getOwnPropertySymbols;
2933
2931
  var __hasOwnProp$4 = Object.prototype.hasOwnProperty;
2934
2932
  var __propIsEnum$4 = Object.prototype.propertyIsEnumerable;
@@ -2944,7 +2942,7 @@ var __spreadValues$4 = (a, b) => {
2944
2942
  }
2945
2943
  return a;
2946
2944
  };
2947
- var __spreadProps$4 = (a, b) => __defProps$4(a, __getOwnPropDescs$4(b));
2945
+ var __spreadProps$3 = (a, b) => __defProps$3(a, __getOwnPropDescs$3(b));
2948
2946
  var __objRest = (source, exclude) => {
2949
2947
  var target = {};
2950
2948
  for (var prop in source)
@@ -3002,7 +3000,7 @@ function ImageCheckbox(_a) {
3002
3000
  const { classes, cx } = useStyles$7({ checked: value });
3003
3001
  return /* @__PURE__ */ React.createElement(
3004
3002
  UnstyledButton,
3005
- __spreadProps$4(__spreadValues$4({}, others), {
3003
+ __spreadProps$3(__spreadValues$4({}, others), {
3006
3004
  onClick: () => handleChange(!value),
3007
3005
  className: cx(classes.button, className)
3008
3006
  }),
@@ -3023,7 +3021,7 @@ function ImageCheckbox(_a) {
3023
3021
  function SelectGrid(props) {
3024
3022
  const items = props.items.map((item) => /* @__PURE__ */ React.createElement(
3025
3023
  ImageCheckbox,
3026
- __spreadProps$4(__spreadValues$4({}, item), {
3024
+ __spreadProps$3(__spreadValues$4({}, item), {
3027
3025
  key: item.title,
3028
3026
  onChange: (checked) => props.onChange(item.title, checked)
3029
3027
  })
@@ -3042,8 +3040,8 @@ function SelectGrid(props) {
3042
3040
  }
3043
3041
 
3044
3042
  var __defProp$3 = Object.defineProperty;
3045
- var __defProps$3 = Object.defineProperties;
3046
- var __getOwnPropDescs$3 = Object.getOwnPropertyDescriptors;
3043
+ var __defProps$2 = Object.defineProperties;
3044
+ var __getOwnPropDescs$2 = Object.getOwnPropertyDescriptors;
3047
3045
  var __getOwnPropSymbols$3 = Object.getOwnPropertySymbols;
3048
3046
  var __hasOwnProp$3 = Object.prototype.hasOwnProperty;
3049
3047
  var __propIsEnum$3 = Object.prototype.propertyIsEnumerable;
@@ -3059,7 +3057,7 @@ var __spreadValues$3 = (a, b) => {
3059
3057
  }
3060
3058
  return a;
3061
3059
  };
3062
- var __spreadProps$3 = (a, b) => __defProps$3(a, __getOwnPropDescs$3(b));
3060
+ var __spreadProps$2 = (a, b) => __defProps$2(a, __getOwnPropDescs$2(b));
3063
3061
  const useStyles$6 = createStyles((theme) => ({
3064
3062
  wrapper: {
3065
3063
  minHeight: "100%",
@@ -3169,7 +3167,7 @@ const TrialRegistration = (props) => {
3169
3167
  label: "School/Organization Name",
3170
3168
  placeholder: "What's the name of your school?",
3171
3169
  data: props.organizations.map((o) => {
3172
- return __spreadProps$3(__spreadValues$3({}, o), { value: o.displayName });
3170
+ return __spreadProps$2(__spreadValues$3({}, o), { value: o.displayName });
3173
3171
  }),
3174
3172
  onItemSubmit: (item) => setOrganization({ organizationId: item.organizationId, displayName: item.displayName }),
3175
3173
  onChange: (next) => {
@@ -3181,7 +3179,7 @@ const TrialRegistration = (props) => {
3181
3179
  SelectGrid,
3182
3180
  {
3183
3181
  items: OPTIONS,
3184
- onChange: (e, checked) => setInterests(__spreadProps$3(__spreadValues$3({}, interests), { [e]: checked }))
3182
+ onChange: (e, checked) => setInterests(__spreadProps$2(__spreadValues$3({}, interests), { [e]: checked }))
3185
3183
  }
3186
3184
  ), /* @__PURE__ */ React.createElement(Group, { position: "right", mt: "md" }, /* @__PURE__ */ React.createElement(
3187
3185
  Button,
@@ -3220,8 +3218,8 @@ const AdminProvider = (props) => {
3220
3218
  };
3221
3219
 
3222
3220
  var __defProp$2 = Object.defineProperty;
3223
- var __defProps$2 = Object.defineProperties;
3224
- var __getOwnPropDescs$2 = Object.getOwnPropertyDescriptors;
3221
+ var __defProps$1 = Object.defineProperties;
3222
+ var __getOwnPropDescs$1 = Object.getOwnPropertyDescriptors;
3225
3223
  var __getOwnPropSymbols$2 = Object.getOwnPropertySymbols;
3226
3224
  var __hasOwnProp$2 = Object.prototype.hasOwnProperty;
3227
3225
  var __propIsEnum$2 = Object.prototype.propertyIsEnumerable;
@@ -3237,7 +3235,7 @@ var __spreadValues$2 = (a, b) => {
3237
3235
  }
3238
3236
  return a;
3239
3237
  };
3240
- var __spreadProps$2 = (a, b) => __defProps$2(a, __getOwnPropDescs$2(b));
3238
+ var __spreadProps$1 = (a, b) => __defProps$1(a, __getOwnPropDescs$1(b));
3241
3239
  const useStyles$5 = createStyles((theme, props) => ({
3242
3240
  footer: {
3243
3241
  paddingTop: theme.spacing.md,
@@ -3333,7 +3331,7 @@ const App = (props) => {
3333
3331
  padding: "xs",
3334
3332
  navbar: props.navbar && /* @__PURE__ */ React.createElement(
3335
3333
  Navbar,
3336
- __spreadProps$2(__spreadValues$2({}, props.navbar.props), {
3334
+ __spreadProps$1(__spreadValues$2({}, props.navbar.props), {
3337
3335
  onSwitchAccounts: account.accounts && account.accounts.length > 1 ? () => account.setChangeModalOpen(true) : void 0
3338
3336
  })
3339
3337
  ),
@@ -3527,8 +3525,6 @@ function Stack$1(props) {
3527
3525
  }
3528
3526
 
3529
3527
  var __defProp$1 = Object.defineProperty;
3530
- var __defProps$1 = Object.defineProperties;
3531
- var __getOwnPropDescs$1 = Object.getOwnPropertyDescriptors;
3532
3528
  var __getOwnPropSymbols$1 = Object.getOwnPropertySymbols;
3533
3529
  var __hasOwnProp$1 = Object.prototype.hasOwnProperty;
3534
3530
  var __propIsEnum$1 = Object.prototype.propertyIsEnumerable;
@@ -3544,37 +3540,12 @@ var __spreadValues$1 = (a, b) => {
3544
3540
  }
3545
3541
  return a;
3546
3542
  };
3547
- var __spreadProps$1 = (a, b) => __defProps$1(a, __getOwnPropDescs$1(b));
3548
3543
  function Table$2(props) {
3549
3544
  const preparedItems = React.useMemo(() => {
3550
- var _a, _b;
3551
- console.group("Pathway Table Data Check");
3552
- console.log("Raw items from props:", props);
3553
- console.log("Raw items from prop.itemss:", props.items);
3554
- console.log("Categories available:", props.categories);
3555
- const mapped = props.items.map((item) => {
3556
- const flatItem = __spreadProps$1(__spreadValues$1({}, item), {
3557
- status: item.isComplete ? 1 : 0
3558
- });
3559
- if (item.categoryPoints) {
3560
- Object.keys(item.categoryPoints).forEach((catId) => {
3561
- flatItem[catId] = item.categoryPoints[catId];
3562
- });
3563
- }
3564
- return flatItem;
3565
- });
3566
- console.log("Transformed items (Flat):", mapped);
3567
- const firstCatId = (_b = (_a = props.categories) == null ? void 0 : _a[0]) == null ? void 0 : _b.categoryId;
3568
- if (mapped.length > 0 && firstCatId) {
3569
- console.log(`Matching Check for ID [${firstCatId}]:`, mapped[0][firstCatId] !== void 0 ? "\u2705 FOUND" : "\u274C MISSING");
3570
- console.groupEnd();
3571
- } else if (props.categories) {
3572
- console.groupEnd();
3573
- }
3574
- return mapped;
3575
- }, [props.items, props.categories]);
3545
+ return (props.items || []).map((item) => __spreadValues$1(__spreadValues$1({}, item), item.categoryPoints));
3546
+ }, [props.items]);
3576
3547
  const { items: sortedItems, requestSort, sortConfig } = useSortableData(preparedItems);
3577
- if (props.items.length === 0) {
3548
+ if (props.loading && props.items.length === 0) {
3578
3549
  return /* @__PURE__ */ React.createElement(
3579
3550
  PlaceholderBanner,
3580
3551
  {
@@ -3612,7 +3583,7 @@ function Table$2(props) {
3612
3583
  render: (row) => /* @__PURE__ */ React.createElement(Group, { spacing: "sm", noWrap: true }, /* @__PURE__ */ React.createElement(Avatar, { size: 40, src: row.avatar, radius: 40 }), /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement(Text, { size: "sm", weight: 500 }, row.name), /* @__PURE__ */ React.createElement(Text, { size: "xs", color: "dimmed" }, row.email)))
3613
3584
  },
3614
3585
  {
3615
- accessor: "status",
3586
+ accessor: "isComplete",
3616
3587
  title: "Status",
3617
3588
  sortable: true,
3618
3589
  titleStyle: { whiteSpace: "nowrap" },
@@ -3657,6 +3628,8 @@ function Table$1(props) {
3657
3628
  DataTable,
3658
3629
  {
3659
3630
  verticalSpacing: "sm",
3631
+ withBorder: false,
3632
+ borderRadius: "sm",
3660
3633
  sx: { minWidth: 700 },
3661
3634
  highlightOnHover: true,
3662
3635
  striped: true,
@@ -3669,7 +3642,23 @@ function Table$1(props) {
3669
3642
  accessor: "badgeName",
3670
3643
  title: "Badge Name",
3671
3644
  sortable: true,
3672
- render: (row) => /* @__PURE__ */ React.createElement(Text, { component: Link, to: row.href, color: "blue" }, row.badgeName)
3645
+ render: (row) => /* @__PURE__ */ React.createElement(
3646
+ Text,
3647
+ {
3648
+ component: Link,
3649
+ to: row.href,
3650
+ sx: (theme) => ({
3651
+ color: theme.colorScheme === "dark" ? theme.white : theme.black,
3652
+ textDecoration: "none",
3653
+ fontWeight: 500,
3654
+ "&:hover": {
3655
+ textDecoration: "underline",
3656
+ color: theme.colors.blue[6]
3657
+ }
3658
+ })
3659
+ },
3660
+ row.badgeName
3661
+ )
3673
3662
  },
3674
3663
  {
3675
3664
  accessor: "percentageCompletion",