dce-reactkit 3.2.2-beta.5 → 3.2.2-beta.50

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.
Files changed (46) hide show
  1. package/dist/cjs/index.js +728 -433
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/cjs/types/components/ButtonInputGroup.d.ts +1 -0
  4. package/dist/cjs/types/components/Drawer.d.ts +1 -0
  5. package/dist/cjs/types/components/IntelliTable.d.ts +1 -0
  6. package/dist/cjs/types/components/ItemPicker/NestableItemList.d.ts +1 -0
  7. package/dist/cjs/types/components/ItemPicker/index.d.ts +1 -0
  8. package/dist/cjs/types/types/LogAction.d.ts +16 -16
  9. package/dist/cjs/types/types/LogBuiltInMetadata.d.ts +1 -1
  10. package/dist/cjs/types/types/LogMetadataContextMap.d.ts +11 -0
  11. package/dist/cjs/types/types/LogMetadataTagMap.d.ts +8 -0
  12. package/dist/cjs/types/types/LogMetadataTargetMap.d.ts +8 -0
  13. package/dist/cjs/types/types/LogMetadataType.d.ts +6 -12
  14. package/dist/esm/index.js +729 -434
  15. package/dist/esm/index.js.map +1 -1
  16. package/dist/esm/types/components/ButtonInputGroup.d.ts +1 -0
  17. package/dist/esm/types/components/Drawer.d.ts +1 -0
  18. package/dist/esm/types/components/IntelliTable.d.ts +1 -0
  19. package/dist/esm/types/components/ItemPicker/NestableItemList.d.ts +1 -0
  20. package/dist/esm/types/components/ItemPicker/index.d.ts +1 -0
  21. package/dist/esm/types/types/LogAction.d.ts +16 -16
  22. package/dist/esm/types/types/LogBuiltInMetadata.d.ts +1 -1
  23. package/dist/esm/types/types/LogMetadataContextMap.d.ts +11 -0
  24. package/dist/esm/types/types/LogMetadataTagMap.d.ts +8 -0
  25. package/dist/esm/types/types/LogMetadataTargetMap.d.ts +8 -0
  26. package/dist/esm/types/types/LogMetadataType.d.ts +6 -12
  27. package/dist/index.d.ts +51 -29
  28. package/package.json +1 -1
  29. package/src/components/ButtonInputGroup.tsx +5 -2
  30. package/src/components/CSVDownloadButton.tsx +2 -2
  31. package/src/components/Drawer.tsx +9 -1
  32. package/src/components/IntelliTable.tsx +181 -26
  33. package/src/components/ItemPicker/NestableItemList.tsx +32 -14
  34. package/src/components/ItemPicker/index.tsx +4 -0
  35. package/src/components/LogReviewer.tsx +635 -406
  36. package/src/components/SimpleDateChooser.tsx +27 -18
  37. package/src/helpers/genCSV.ts +22 -4
  38. package/src/helpers/genRouteHandler.ts +2 -2
  39. package/src/helpers/logClientEvent.tsx +1 -1
  40. package/src/server/initServer.ts +10 -3
  41. package/src/types/LogAction.ts +16 -16
  42. package/src/types/LogBuiltInMetadata.ts +5 -5
  43. package/src/types/LogMetadataContextMap.ts +15 -0
  44. package/src/types/LogMetadataTagMap.ts +9 -0
  45. package/src/types/LogMetadataTargetMap.ts +9 -0
  46. package/src/types/LogMetadataType.ts +8 -15
@@ -7,6 +7,7 @@ declare type Props = {
7
7
  label: string;
8
8
  minLabelWidth?: string;
9
9
  children: React.ReactNode;
10
+ className?: string;
10
11
  };
11
12
  declare const ButtonInputGroup: React.FC<Props>;
12
13
  export default ButtonInputGroup;
@@ -4,6 +4,7 @@
4
4
  */
5
5
  import React from 'react';
6
6
  declare type Props = {
7
+ customBackgroundColor?: string;
7
8
  children: React.ReactNode;
8
9
  };
9
10
  declare const Drawer: React.FC<Props>;
@@ -12,6 +12,7 @@ declare type Props = {
12
12
  [k: string]: any;
13
13
  }[];
14
14
  columns: IntelliTableColumn[];
15
+ csvName?: string;
15
16
  };
16
17
  declare const IntelliTable: React.FC<Props>;
17
18
  export default IntelliTable;
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * Reusable nested item picker
3
3
  * @author Yuen Ler Chow
4
+ * @author Gabe Abrams
4
5
  */
5
6
  import React from 'react';
6
7
  import PickableItem from './types/PickableItem';
@@ -13,6 +13,7 @@ declare type Props = {
13
13
  * values updated
14
14
  */
15
15
  onChanged: (updatedItems: PickableItem[]) => void;
16
+ noBottomMargin?: boolean;
16
17
  };
17
18
  declare const ItemPicker: React.FC<Props>;
18
19
  export default ItemPicker;
@@ -3,21 +3,21 @@
3
3
  * @author Gabe Abrams
4
4
  */
5
5
  declare enum LogAction {
6
- Open = "open",
7
- Close = "close",
8
- Cancel = "cancel",
9
- Expand = "expand",
10
- Collapse = "collapse",
11
- View = "view",
12
- Interrupt = "interrupt",
13
- Create = "create",
14
- Edit = "edit",
15
- Delete = "delete",
16
- Add = "add",
17
- Remove = "remove",
18
- Activate = "activate",
19
- Deactivate = "deactivate",
20
- Peek = "peek",
21
- Unknown = "unknown"
6
+ Open = "Open",
7
+ Close = "Close",
8
+ Cancel = "Cancel",
9
+ Expand = "Expand",
10
+ Collapse = "Collapse",
11
+ View = "View",
12
+ Interrupt = "Interrupt",
13
+ Create = "Create",
14
+ Edit = "Edit",
15
+ Delete = "Delete",
16
+ Add = "Add",
17
+ Remove = "Remove",
18
+ Activate = "Activate",
19
+ Deactivate = "Deactivate",
20
+ Peek = "Peek",
21
+ Unknown = "Unknown"
22
22
  }
23
23
  export default LogAction;
@@ -10,7 +10,7 @@ declare const LogBuiltInMetadata: {
10
10
  ClientFatalError: string;
11
11
  };
12
12
  Target: {
13
- NoSpecificTarget: string;
13
+ NoTarget: string;
14
14
  };
15
15
  };
16
16
  export default LogBuiltInMetadata;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Type of the context map in a LogMetadata file
3
+ * @author Gabe Abrams
4
+ */
5
+ declare type LogMetadataContextMap = {
6
+ [k: string]: (string | {
7
+ _: string;
8
+ [k: string]: string;
9
+ });
10
+ };
11
+ export default LogMetadataContextMap;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Type of the tag map inside a LogMetadata file
3
+ * @author Gabe Abrams
4
+ */
5
+ declare type LogMetadataTagMap = {
6
+ [k: string]: string;
7
+ };
8
+ export default LogMetadataTagMap;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Type of the target map inside a LogMetadata file
3
+ * @author Gabe Abrams
4
+ */
5
+ declare type LogMetadataTargetMap = {
6
+ [k: string]: string;
7
+ };
8
+ export default LogMetadataTargetMap;
@@ -1,19 +1,13 @@
1
+ import LogMetadataContextMap from './LogMetadataContextMap';
2
+ import LogMetadataTagMap from './LogMetadataTagMap';
3
+ import LogMetadataTargetMap from './LogMetadataTargetMap';
1
4
  /**
2
5
  * Type of a LogMetadata file
3
6
  * @author Gabe Abrams
4
7
  */
5
8
  declare type LogMetadataType = {
6
- Context?: {
7
- [k: string]: (string | {
8
- _: string;
9
- [k: string]: string;
10
- });
11
- };
12
- Tag?: {
13
- [k: string]: string;
14
- };
15
- Target?: {
16
- [k: string]: string;
17
- };
9
+ Context?: LogMetadataContextMap;
10
+ Tag?: LogMetadataTagMap;
11
+ Target?: LogMetadataTargetMap;
18
12
  };
19
13
  export default LogMetadataType;
package/dist/index.d.ts CHANGED
@@ -242,6 +242,7 @@ declare type Props$a = {
242
242
  label: string;
243
243
  minLabelWidth?: string;
244
244
  children: React.ReactNode;
245
+ className?: string;
245
246
  };
246
247
  declare const ButtonInputGroup: React.FC<Props$a>;
247
248
 
@@ -274,6 +275,7 @@ declare const SimpleDateChooser: React.FC<Props$9>;
274
275
  */
275
276
 
276
277
  declare type Props$8 = {
278
+ customBackgroundColor?: string;
277
279
  children: React.ReactNode;
278
280
  };
279
281
  declare const Drawer: React.FC<Props$8>;
@@ -363,26 +365,45 @@ declare type Props$3 = {
363
365
  * values updated
364
366
  */
365
367
  onChanged: (updatedItems: PickableItem[]) => void;
368
+ noBottomMargin?: boolean;
366
369
  };
367
370
  declare const ItemPicker: React.FC<Props$3>;
368
371
 
372
+ /**
373
+ * Type of the context map in a LogMetadata file
374
+ * @author Gabe Abrams
375
+ */
376
+ declare type LogMetadataContextMap = {
377
+ [k: string]: (string | {
378
+ _: string;
379
+ [k: string]: string;
380
+ });
381
+ };
382
+
383
+ /**
384
+ * Type of the tag map inside a LogMetadata file
385
+ * @author Gabe Abrams
386
+ */
387
+ declare type LogMetadataTagMap = {
388
+ [k: string]: string;
389
+ };
390
+
391
+ /**
392
+ * Type of the target map inside a LogMetadata file
393
+ * @author Gabe Abrams
394
+ */
395
+ declare type LogMetadataTargetMap = {
396
+ [k: string]: string;
397
+ };
398
+
369
399
  /**
370
400
  * Type of a LogMetadata file
371
401
  * @author Gabe Abrams
372
402
  */
373
403
  declare type LogMetadataType = {
374
- Context?: {
375
- [k: string]: (string | {
376
- _: string;
377
- [k: string]: string;
378
- });
379
- };
380
- Tag?: {
381
- [k: string]: string;
382
- };
383
- Target?: {
384
- [k: string]: string;
385
- };
404
+ Context?: LogMetadataContextMap;
405
+ Tag?: LogMetadataTagMap;
406
+ Target?: LogMetadataTargetMap;
386
407
  };
387
408
 
388
409
  /**
@@ -438,6 +459,7 @@ declare type Props$1 = {
438
459
  [k: string]: any;
439
460
  }[];
440
461
  columns: IntelliTableColumn[];
462
+ csvName?: string;
441
463
  };
442
464
  declare const IntelliTable: React.FC<Props$1>;
443
465
 
@@ -667,22 +689,22 @@ declare type LogSourceSpecificInfo = ({
667
689
  * @author Gabe Abrams
668
690
  */
669
691
  declare enum LogAction {
670
- Open = "open",
671
- Close = "close",
672
- Cancel = "cancel",
673
- Expand = "expand",
674
- Collapse = "collapse",
675
- View = "view",
676
- Interrupt = "interrupt",
677
- Create = "create",
678
- Edit = "edit",
679
- Delete = "delete",
680
- Add = "add",
681
- Remove = "remove",
682
- Activate = "activate",
683
- Deactivate = "deactivate",
684
- Peek = "peek",
685
- Unknown = "unknown"
692
+ Open = "Open",
693
+ Close = "Close",
694
+ Cancel = "Cancel",
695
+ Expand = "Expand",
696
+ Collapse = "Collapse",
697
+ View = "View",
698
+ Interrupt = "Interrupt",
699
+ Create = "Create",
700
+ Edit = "Edit",
701
+ Delete = "Delete",
702
+ Add = "Add",
703
+ Remove = "Remove",
704
+ Activate = "Activate",
705
+ Deactivate = "Deactivate",
706
+ Peek = "Peek",
707
+ Unknown = "Unknown"
686
708
  }
687
709
 
688
710
  /**
@@ -1026,7 +1048,7 @@ declare const LogBuiltInMetadata: {
1026
1048
  ClientFatalError: string;
1027
1049
  };
1028
1050
  Target: {
1029
- NoSpecificTarget: string;
1051
+ NoTarget: string;
1030
1052
  };
1031
1053
  };
1032
1054
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dce-reactkit",
3
- "version": "3.2.2-beta.5",
3
+ "version": "3.2.2-beta.50",
4
4
  "description": "Shared components for Harvard DCE apps",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -18,6 +18,8 @@ type Props = {
18
18
  minLabelWidth?: string,
19
19
  // Buttons
20
20
  children: React.ReactNode,
21
+ // Additional class names to add to the outer container
22
+ className?: string,
21
23
  };
22
24
 
23
25
  /*------------------------------------------------------------------------*/
@@ -36,6 +38,7 @@ const ButtonInputGroup: React.FC<Props> = (props) => {
36
38
  label,
37
39
  minLabelWidth,
38
40
  children,
41
+ className,
39
42
  } = props;
40
43
 
41
44
  /*------------------------------------------------------------------------*/
@@ -47,7 +50,7 @@ const ButtonInputGroup: React.FC<Props> = (props) => {
47
50
  /*----------------------------------------*/
48
51
 
49
52
  return (
50
- <div className="input-group">
53
+ <div className={`input-group ${className ?? ''}`}>
51
54
  <div className="input-group-prepend d-flex w-100">
52
55
  {/* Label */}
53
56
  <span
@@ -66,7 +69,7 @@ const ButtonInputGroup: React.FC<Props> = (props) => {
66
69
 
67
70
  {/* Contents */}
68
71
  <span
69
- className="input-group-text flex-grow-1 rounded-right"
72
+ className="input-group-text flex-grow-1 rounded-right d-flex flex-wrap"
70
73
  style={{
71
74
  backgroundColor: 'white',
72
75
  borderTopLeftRadius: 0,
@@ -70,7 +70,7 @@ const CSVDownloadButton: React.FC<Props> = (props) => {
70
70
  <a
71
71
  id={id}
72
72
  download={filename}
73
- href={`data:application/octet-stream,${csv}`}
73
+ href={`data:application/octet-stream,${encodeURIComponent(csv)}`}
74
74
  className={`CSVDownloadButton-button ${className ?? 'btn btn-secondary'}`}
75
75
  aria-label={(
76
76
  ariaLabel
@@ -84,8 +84,8 @@ const CSVDownloadButton: React.FC<Props> = (props) => {
84
84
  <>
85
85
  <FontAwesomeIcon
86
86
  icon={faCloudDownloadAlt}
87
- className="mr-2"
88
87
  />
88
+ {' '}
89
89
  Download CSV
90
90
  </>
91
91
  )}
@@ -12,6 +12,8 @@ import React from 'react';
12
12
 
13
13
  // Props definition
14
14
  type Props = {
15
+ // Custom background color
16
+ customBackgroundColor?: string,
15
17
  // Children to display
16
18
  children: React.ReactNode,
17
19
  };
@@ -49,6 +51,7 @@ const Drawer: React.FC<Props> = (props) => {
49
51
 
50
52
  // Destructure all props
51
53
  const {
54
+ customBackgroundColor,
52
55
  children,
53
56
  } = props;
54
57
 
@@ -61,7 +64,12 @@ const Drawer: React.FC<Props> = (props) => {
61
64
  /*----------------------------------------*/
62
65
 
63
66
  return (
64
- <div className="Drawer-container">
67
+ <div
68
+ className="Drawer-container"
69
+ style={{
70
+ backgroundColor: (customBackgroundColor ?? undefined),
71
+ }}
72
+ >
65
73
  <style>{style}</style>
66
74
  {children}
67
75
  </div>