dce-reactkit 3.2.2-beta.8 → 3.2.3

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 (50) hide show
  1. package/dist/cjs/index.js +743 -440
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/cjs/types/components/Drawer.d.ts +1 -0
  4. package/dist/cjs/types/components/IntelliTable.d.ts +1 -0
  5. package/dist/cjs/types/components/ItemPicker/NestableItemList.d.ts +1 -0
  6. package/dist/cjs/types/components/ItemPicker/index.d.ts +1 -0
  7. package/dist/cjs/types/dynamicConstants/DynamicWord.d.ts +13 -0
  8. package/dist/cjs/types/index.d.ts +2 -1
  9. package/dist/cjs/types/types/LogAction.d.ts +16 -16
  10. package/dist/cjs/types/types/LogBuiltInMetadata.d.ts +1 -1
  11. package/dist/cjs/types/types/LogMetadataContextMap.d.ts +11 -0
  12. package/dist/cjs/types/types/LogMetadataTagMap.d.ts +8 -0
  13. package/dist/cjs/types/types/LogMetadataTargetMap.d.ts +8 -0
  14. package/dist/cjs/types/types/LogMetadataType.d.ts +6 -12
  15. package/dist/esm/index.js +744 -442
  16. package/dist/esm/index.js.map +1 -1
  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/dynamicConstants/DynamicWord.d.ts +13 -0
  22. package/dist/esm/types/index.d.ts +2 -1
  23. package/dist/esm/types/types/LogAction.d.ts +16 -16
  24. package/dist/esm/types/types/LogBuiltInMetadata.d.ts +1 -1
  25. package/dist/esm/types/types/LogMetadataContextMap.d.ts +11 -0
  26. package/dist/esm/types/types/LogMetadataTagMap.d.ts +8 -0
  27. package/dist/esm/types/types/LogMetadataTargetMap.d.ts +8 -0
  28. package/dist/esm/types/types/LogMetadataType.d.ts +6 -12
  29. package/dist/index.d.ts +64 -30
  30. package/package.json +1 -1
  31. package/src/components/ButtonInputGroup.tsx +1 -1
  32. package/src/components/CSVDownloadButton.tsx +2 -2
  33. package/src/components/Drawer.tsx +9 -1
  34. package/src/components/IntelliTable.tsx +178 -23
  35. package/src/components/ItemPicker/NestableItemList.tsx +32 -14
  36. package/src/components/ItemPicker/index.tsx +4 -0
  37. package/src/components/LogReviewer.tsx +588 -418
  38. package/src/components/SimpleDateChooser.tsx +30 -25
  39. package/src/dynamicConstants/DynamicWord.tsx +55 -0
  40. package/src/helpers/genCSV.ts +22 -4
  41. package/src/helpers/genRouteHandler.ts +2 -2
  42. package/src/helpers/logClientEvent.tsx +1 -1
  43. package/src/index.ts +5 -0
  44. package/src/server/initServer.ts +10 -3
  45. package/src/types/LogAction.ts +16 -16
  46. package/src/types/LogBuiltInMetadata.ts +5 -5
  47. package/src/types/LogMetadataContextMap.ts +15 -0
  48. package/src/types/LogMetadataTagMap.ts +9 -0
  49. package/src/types/LogMetadataTargetMap.ts +9 -0
  50. package/src/types/LogMetadataType.ts +8 -15
@@ -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;
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Dynamic words determined by the user's platform
3
+ * @author Gabe Abrams
4
+ */
5
+ declare const DynamicWord: {
6
+ Click: string;
7
+ ClickCapitalized: string;
8
+ App: string;
9
+ AppCapitalized: string;
10
+ Device: string;
11
+ DeviceCapitalized: string;
12
+ };
13
+ export default DynamicWord;
@@ -20,6 +20,7 @@ import ErrorWithCode from './errors/ErrorWithCode';
20
20
  import MINUTE_IN_MS from './constants/MINUTE_IN_MS';
21
21
  import HOUR_IN_MS from './constants/HOUR_IN_MS';
22
22
  import DAY_IN_MS from './constants/DAY_IN_MS';
23
+ import DynamicWord from './dynamicConstants/DynamicWord';
23
24
  import abbreviate from './helpers/abbreviate';
24
25
  import avg from './helpers/avg';
25
26
  import ceilToNumDecimals from './helpers/ceilToNumDecimals';
@@ -64,4 +65,4 @@ import LogBuiltInMetadata from './types/LogBuiltInMetadata';
64
65
  import LogMetadataType from './types/LogMetadataType';
65
66
  import IntelliTableColumn from './types/IntelliTableColumn';
66
67
  import PickableItem from './components/ItemPicker/types/PickableItem';
67
- export { AppWrapper, LoadingSpinner, ErrorBox, Modal, TabBox, RadioButton, CheckboxButton, ButtonInputGroup, SimpleDateChooser, Drawer, PopSuccessMark, PopFailureMark, PopPendingMark, CopiableBox, ItemPicker, LogReviewer, IntelliTable, CSVDownloadButton, alert, confirm, showFatalError, ErrorWithCode, MINUTE_IN_MS, HOUR_IN_MS, DAY_IN_MS, abbreviate, avg, ceilToNumDecimals, floorToNumDecimals, forceNumIntoBounds, padDecimalZeros, padZerosLeft, roundToNumDecimals, sum, waitMs, getOrdinal, getTimeInfoInET, stubServerEndpoint, startMinWait, getHumanReadableDate, getPartOfDay, stringsToHumanReadableList, onlyKeepLetters, parallelLimit, getMonthName, genCSV, canReviewLogs, visitServerEndpoint, logClientEvent, initServer, genRouteHandler, handleError, handleSuccess, initLogCollection, ModalButtonType, ModalSize, ModalType, ReactKitErrorCode, Variant, DayOfWeek, Log, LogType, LogSource, LogAction, LogBuiltInMetadata, LogMetadataType, IntelliTableColumn, PickableItem, ParamType, };
68
+ export { AppWrapper, LoadingSpinner, ErrorBox, Modal, TabBox, RadioButton, CheckboxButton, ButtonInputGroup, SimpleDateChooser, Drawer, PopSuccessMark, PopFailureMark, PopPendingMark, CopiableBox, ItemPicker, LogReviewer, IntelliTable, CSVDownloadButton, alert, confirm, showFatalError, ErrorWithCode, MINUTE_IN_MS, HOUR_IN_MS, DAY_IN_MS, DynamicWord, abbreviate, avg, ceilToNumDecimals, floorToNumDecimals, forceNumIntoBounds, padDecimalZeros, padZerosLeft, roundToNumDecimals, sum, waitMs, getOrdinal, getTimeInfoInET, stubServerEndpoint, startMinWait, getHumanReadableDate, getPartOfDay, stringsToHumanReadableList, onlyKeepLetters, parallelLimit, getMonthName, genCSV, canReviewLogs, visitServerEndpoint, logClientEvent, initServer, genRouteHandler, handleError, handleSuccess, initLogCollection, ModalButtonType, ModalSize, ModalType, ReactKitErrorCode, Variant, DayOfWeek, Log, LogType, LogSource, LogAction, LogBuiltInMetadata, LogMetadataType, IntelliTableColumn, PickableItem, ParamType, };
@@ -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
@@ -275,6 +275,7 @@ declare const SimpleDateChooser: React.FC<Props$9>;
275
275
  */
276
276
 
277
277
  declare type Props$8 = {
278
+ customBackgroundColor?: string;
278
279
  children: React.ReactNode;
279
280
  };
280
281
  declare const Drawer: React.FC<Props$8>;
@@ -364,26 +365,45 @@ declare type Props$3 = {
364
365
  * values updated
365
366
  */
366
367
  onChanged: (updatedItems: PickableItem[]) => void;
368
+ noBottomMargin?: boolean;
367
369
  };
368
370
  declare const ItemPicker: React.FC<Props$3>;
369
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
+
370
399
  /**
371
400
  * Type of a LogMetadata file
372
401
  * @author Gabe Abrams
373
402
  */
374
403
  declare type LogMetadataType = {
375
- Context?: {
376
- [k: string]: (string | {
377
- _: string;
378
- [k: string]: string;
379
- });
380
- };
381
- Tag?: {
382
- [k: string]: string;
383
- };
384
- Target?: {
385
- [k: string]: string;
386
- };
404
+ Context?: LogMetadataContextMap;
405
+ Tag?: LogMetadataTagMap;
406
+ Target?: LogMetadataTargetMap;
387
407
  };
388
408
 
389
409
  /**
@@ -439,6 +459,7 @@ declare type Props$1 = {
439
459
  [k: string]: any;
440
460
  }[];
441
461
  columns: IntelliTableColumn[];
462
+ csvName?: string;
442
463
  };
443
464
  declare const IntelliTable: React.FC<Props$1>;
444
465
 
@@ -488,6 +509,19 @@ declare const HOUR_IN_MS = 3600000;
488
509
  */
489
510
  declare const DAY_IN_MS = 86400000;
490
511
 
512
+ /**
513
+ * Dynamic words determined by the user's platform
514
+ * @author Gabe Abrams
515
+ */
516
+ declare const DynamicWord: {
517
+ Click: string;
518
+ ClickCapitalized: string;
519
+ App: string;
520
+ AppCapitalized: string;
521
+ Device: string;
522
+ DeviceCapitalized: string;
523
+ };
524
+
491
525
  /**
492
526
  * Shorten text so it fits into a certain number of chars
493
527
  * @author Gabe Abrams
@@ -668,22 +702,22 @@ declare type LogSourceSpecificInfo = ({
668
702
  * @author Gabe Abrams
669
703
  */
670
704
  declare enum LogAction {
671
- Open = "open",
672
- Close = "close",
673
- Cancel = "cancel",
674
- Expand = "expand",
675
- Collapse = "collapse",
676
- View = "view",
677
- Interrupt = "interrupt",
678
- Create = "create",
679
- Edit = "edit",
680
- Delete = "delete",
681
- Add = "add",
682
- Remove = "remove",
683
- Activate = "activate",
684
- Deactivate = "deactivate",
685
- Peek = "peek",
686
- Unknown = "unknown"
705
+ Open = "Open",
706
+ Close = "Close",
707
+ Cancel = "Cancel",
708
+ Expand = "Expand",
709
+ Collapse = "Collapse",
710
+ View = "View",
711
+ Interrupt = "Interrupt",
712
+ Create = "Create",
713
+ Edit = "Edit",
714
+ Delete = "Delete",
715
+ Add = "Add",
716
+ Remove = "Remove",
717
+ Activate = "Activate",
718
+ Deactivate = "Deactivate",
719
+ Peek = "Peek",
720
+ Unknown = "Unknown"
687
721
  }
688
722
 
689
723
  /**
@@ -1027,8 +1061,8 @@ declare const LogBuiltInMetadata: {
1027
1061
  ClientFatalError: string;
1028
1062
  };
1029
1063
  Target: {
1030
- NoSpecificTarget: string;
1064
+ NoTarget: string;
1031
1065
  };
1032
1066
  };
1033
1067
 
1034
- export { AppWrapper, ButtonInputGroup, CSVDownloadButton, CheckboxButton, CopiableBox, DAY_IN_MS, DayOfWeek, Drawer, ErrorBox, ErrorWithCode, HOUR_IN_MS, IntelliTable, IntelliTableColumn, ItemPicker, LoadingSpinner, Log, LogAction, LogBuiltInMetadata, LogMetadataType, LogReviewer, LogSource, LogType, MINUTE_IN_MS, Modal, ModalButtonType, ModalSize, ModalType, ParamType, PickableItem, PopFailureMark, PopPendingMark, PopSuccessMark, RadioButton, ReactKitErrorCode, SimpleDateChooser, TabBox, Variant, abbreviate, alert, avg, canReviewLogs, ceilToNumDecimals, confirm, floorToNumDecimals, forceNumIntoBounds, genCSV, genRouteHandler, getHumanReadableDate, getMonthName, getOrdinal, getPartOfDay, getTimeInfoInET, handleError, handleSuccess, initLogCollection, initServer, logClientEvent, onlyKeepLetters, padDecimalZeros, padZerosLeft, parallelLimit, roundToNumDecimals, showFatalError, startMinWait, stringsToHumanReadableList, stubServerEndpoint, sum, visitServerEndpoint, waitMs };
1068
+ export { AppWrapper, ButtonInputGroup, CSVDownloadButton, CheckboxButton, CopiableBox, DAY_IN_MS, DayOfWeek, Drawer, DynamicWord, ErrorBox, ErrorWithCode, HOUR_IN_MS, IntelliTable, IntelliTableColumn, ItemPicker, LoadingSpinner, Log, LogAction, LogBuiltInMetadata, LogMetadataType, LogReviewer, LogSource, LogType, MINUTE_IN_MS, Modal, ModalButtonType, ModalSize, ModalType, ParamType, PickableItem, PopFailureMark, PopPendingMark, PopSuccessMark, RadioButton, ReactKitErrorCode, SimpleDateChooser, TabBox, Variant, abbreviate, alert, avg, canReviewLogs, ceilToNumDecimals, confirm, floorToNumDecimals, forceNumIntoBounds, genCSV, genRouteHandler, getHumanReadableDate, getMonthName, getOrdinal, getPartOfDay, getTimeInfoInET, handleError, handleSuccess, initLogCollection, initServer, logClientEvent, onlyKeepLetters, padDecimalZeros, padZerosLeft, parallelLimit, roundToNumDecimals, showFatalError, startMinWait, stringsToHumanReadableList, stubServerEndpoint, sum, visitServerEndpoint, waitMs };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dce-reactkit",
3
- "version": "3.2.2-beta.8",
3
+ "version": "3.2.3",
4
4
  "description": "Shared components for Harvard DCE apps",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -69,7 +69,7 @@ const ButtonInputGroup: React.FC<Props> = (props) => {
69
69
 
70
70
  {/* Contents */}
71
71
  <span
72
- className="input-group-text flex-grow-1 rounded-right"
72
+ className="input-group-text flex-grow-1 rounded-right d-flex flex-wrap"
73
73
  style={{
74
74
  backgroundColor: 'white',
75
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>