orc-shared 5.10.2 → 5.99.0-dev.10

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 (234) hide show
  1. package/dist/components/AppFrame/About.js +13 -13
  2. package/dist/components/AppFrame/Anchor.js +7 -7
  3. package/dist/components/AppFrame/AppFrame.js +3 -3
  4. package/dist/components/AppFrame/Help.js +4 -4
  5. package/dist/components/AppFrame/MenuItem.js +17 -26
  6. package/dist/components/AppFrame/Preferences.js +14 -14
  7. package/dist/components/AppFrame/Sidebar.js +6 -6
  8. package/dist/components/AppFrame/Topbar.js +6 -6
  9. package/dist/components/ApplicationModuleLoader.js +3 -2
  10. package/dist/components/Authenticate.js +29 -22
  11. package/dist/components/DropMenu/Menu.js +9 -9
  12. package/dist/components/ErrorPlaceholder.js +8 -24
  13. package/dist/components/Form/Field.js +4 -4
  14. package/dist/components/Form/Inputs/Button.js +2 -2
  15. package/dist/components/Form/Inputs/MultiSelector.js +137 -0
  16. package/dist/components/Form/Inputs/Selector.js +13 -10
  17. package/dist/components/Form/Inputs/index.js +1 -1
  18. package/dist/components/InternetExplorerWarningMessage.js +15 -15
  19. package/dist/components/LoadingIcon.js +38 -17
  20. package/dist/components/MaterialUI/DataDisplay/Modal.js +3 -3
  21. package/dist/components/MaterialUI/DataDisplay/PredefinedElements/Placeholder.js +6 -6
  22. package/dist/components/MaterialUI/DataDisplay/PredefinedElements/StepperModal.js +1 -1
  23. package/dist/components/MaterialUI/DataDisplay/PredefinedElements/TableInfoBar.js +1 -1
  24. package/dist/components/MaterialUI/DataDisplay/SelectionList.js +1 -1
  25. package/dist/components/MaterialUI/DataDisplay/Table.js +2 -1
  26. package/dist/components/MaterialUI/DataDisplay/TableProps.js +3 -1
  27. package/dist/components/MaterialUI/DataDisplay/TransferList.js +1 -1
  28. package/dist/components/MaterialUI/Inputs/CheckboxGroup.js +1 -1
  29. package/dist/components/MaterialUI/Inputs/DatePicker.js +1 -1
  30. package/dist/components/MaterialUI/Inputs/PredefinedElements/SearchControl.js +1 -1
  31. package/dist/components/MaterialUI/Inputs/Select.js +175 -109
  32. package/dist/components/MaterialUI/Inputs/SelectProps.js +11 -1
  33. package/dist/components/MaterialUI/Inputs/Switch.js +1 -1
  34. package/dist/components/MaterialUI/Navigation/DropDownMenu.js +2 -4
  35. package/dist/components/MaterialUI/ScopeSelector/ScopeSelector.js +1 -1
  36. package/dist/components/MaterialUI/ScopeSelector/TreeItem.js +27 -42
  37. package/dist/components/MaterialUI/Surfaces/Paper.js +1 -1
  38. package/dist/components/MaterialUI/Surfaces/SectionExpansionPanel.js +3 -2
  39. package/dist/components/MaterialUI/muiThemes.js +3 -1
  40. package/dist/components/Provision.js +30 -13
  41. package/dist/components/Routing/SegmentPage.js +117 -56
  42. package/dist/components/Scope/ScopeNode.js +62 -57
  43. package/dist/components/Sidepanel.js +59 -23
  44. package/dist/components/Spritesheet.js +35 -17
  45. package/dist/components/Text.js +1 -60
  46. package/dist/components/ToastList.js +95 -64
  47. package/dist/components/Treeview/Branch.js +82 -20
  48. package/dist/components/Treeview/Label.js +108 -31
  49. package/dist/components/Treeview/Leaf.js +56 -12
  50. package/dist/components/Treeview/Node.js +22 -9
  51. package/dist/components/Treeview/index.js +7 -1
  52. package/dist/components/Treeview/settings.js +17 -6
  53. package/dist/{components/Modal/index.js → hooks/useWindowSize.js} +38 -36
  54. package/dist/sharedMessages.js +8 -0
  55. package/dist/utils/index.js +0 -4
  56. package/dist/utils/testUtils.js +1 -12
  57. package/dist/{components/Modal/Background.js → utils/toastHelper.js} +11 -14
  58. package/package.json +2 -2
  59. package/src/components/AppFrame/About.js +13 -13
  60. package/src/components/AppFrame/Anchor.js +7 -7
  61. package/src/components/AppFrame/AppFrame.js +3 -3
  62. package/src/components/AppFrame/Help.js +4 -4
  63. package/src/components/AppFrame/MenuItem.js +15 -23
  64. package/src/components/AppFrame/Preferences.js +14 -14
  65. package/src/components/AppFrame/Sidebar.js +6 -6
  66. package/src/components/AppFrame/Topbar.js +6 -6
  67. package/src/components/ApplicationModuleLoader.js +2 -2
  68. package/src/components/ApplicationModuleLoader.test.js +15 -28
  69. package/src/components/Authenticate.js +21 -23
  70. package/src/components/Authenticate.test.js +19 -27
  71. package/src/components/DropMenu/Menu.js +9 -9
  72. package/src/components/ErrorPlaceholder.js +4 -21
  73. package/src/components/ErrorPlaceholder.test.js +7 -14
  74. package/src/components/Form/Field.js +4 -4
  75. package/src/components/Form/InputField.test.js +2 -1
  76. package/src/components/Form/Inputs/Button.js +2 -2
  77. package/src/components/Form/Inputs/MultiSelector.js +73 -0
  78. package/src/components/Form/Inputs/MultiSelector.test.js +332 -0
  79. package/src/components/Form/Inputs/Selector.js +12 -4
  80. package/src/components/Form/Inputs/Selector.test.js +27 -12
  81. package/src/components/Form/Inputs/index.js +1 -1
  82. package/src/components/InternetExplorerWarningMessage.js +15 -15
  83. package/src/components/Loader.test.js +50 -59
  84. package/src/components/LoadingIcon.js +27 -14
  85. package/src/components/LoadingIcon.test.js +11 -15
  86. package/src/components/MaterialUI/DataDisplay/Modal.js +3 -3
  87. package/src/components/MaterialUI/DataDisplay/PredefinedElements/Placeholder.js +6 -6
  88. package/src/components/MaterialUI/DataDisplay/PredefinedElements/StepperModal.js +1 -1
  89. package/src/components/MaterialUI/DataDisplay/PredefinedElements/TableInfoBar.js +1 -1
  90. package/src/components/MaterialUI/DataDisplay/SelectionList.js +1 -1
  91. package/src/components/MaterialUI/DataDisplay/Table.js +6 -1
  92. package/src/components/MaterialUI/DataDisplay/Table.test.js +21 -1
  93. package/src/components/MaterialUI/DataDisplay/TableProps.js +2 -0
  94. package/src/components/MaterialUI/DataDisplay/TableProps.test.js +20 -2
  95. package/src/components/MaterialUI/DataDisplay/TransferList.js +1 -1
  96. package/src/components/MaterialUI/Inputs/CheckboxGroup.js +1 -1
  97. package/src/components/MaterialUI/Inputs/DatePicker.js +1 -1
  98. package/src/components/MaterialUI/Inputs/PredefinedElements/SearchControl.js +1 -1
  99. package/src/components/MaterialUI/Inputs/PredefinedElements/SearchControl.test.js +1 -1
  100. package/src/components/MaterialUI/Inputs/Select.js +143 -83
  101. package/src/components/MaterialUI/Inputs/Select.test.js +199 -14
  102. package/src/components/MaterialUI/Inputs/SelectProps.js +10 -0
  103. package/src/components/MaterialUI/Inputs/SelectProps.test.js +10 -0
  104. package/src/components/MaterialUI/Inputs/Switch.js +1 -1
  105. package/src/components/MaterialUI/Navigation/DropDownMenu.js +2 -2
  106. package/src/components/MaterialUI/Navigation/DropDownMenu.test.js +5 -6
  107. package/src/components/MaterialUI/ScopeSelector/ScopeSelector.js +1 -2
  108. package/src/components/MaterialUI/ScopeSelector/TreeItem.js +8 -31
  109. package/src/components/MaterialUI/Surfaces/Paper.js +1 -1
  110. package/src/components/MaterialUI/Surfaces/SectionExpansionPanel.js +2 -1
  111. package/src/components/MaterialUI/muiThemes.js +4 -1
  112. package/src/components/Navigation/Navigation.test.js +0 -5
  113. package/src/components/Navigation/useNavigationState.test.js +79 -222
  114. package/src/components/Provision.js +36 -42
  115. package/src/components/Provision.test.js +10 -26
  116. package/src/components/Routing/SegmentPage.js +68 -52
  117. package/src/components/Routing/SegmentPage.test.js +4 -12
  118. package/src/components/Scope/ScopeNode.js +44 -55
  119. package/src/components/Scope/ScopeNode.test.js +84 -163
  120. package/src/components/ScopeExtendedConfigurationLoader.test.js +1 -4
  121. package/src/components/Sidepanel.js +38 -32
  122. package/src/components/Sidepanel.test.js +54 -27
  123. package/src/components/Spritesheet.js +23 -21
  124. package/src/components/Spritesheet.test.js +10 -10
  125. package/src/components/Text.js +0 -49
  126. package/src/components/ToastList.js +79 -90
  127. package/src/components/ToastList.test.js +29 -103
  128. package/src/components/Treeview/Branch.js +65 -47
  129. package/src/components/Treeview/Branch.test.js +2 -43
  130. package/src/components/Treeview/Label.js +68 -54
  131. package/src/components/Treeview/Label.test.js +55 -63
  132. package/src/components/Treeview/Leaf.js +41 -22
  133. package/src/components/Treeview/Leaf.test.js +1 -15
  134. package/src/components/Treeview/Node.js +16 -9
  135. package/src/components/Treeview/Node.test.js +269 -200
  136. package/src/components/Treeview/Treeview.test.js +248 -248
  137. package/src/components/Treeview/index.js +6 -0
  138. package/src/components/Treeview/settings.js +10 -6
  139. package/src/hooks/useMultipleFieldEditState.test.js +0 -1
  140. package/src/hooks/useWindowSize.js +39 -0
  141. package/src/hooks/useWindowSize.test.js +68 -0
  142. package/src/sharedMessages.js +8 -0
  143. package/src/translations/en-US.json +2 -0
  144. package/src/translations/fr-CA.json +2 -0
  145. package/src/utils/index.js +0 -4
  146. package/src/utils/testUtils.js +0 -10
  147. package/src/utils/testUtils.test.js +0 -68
  148. package/src/utils/toastHelper.js +8 -0
  149. package/src/utils/toastHelper.test.js +41 -0
  150. package/dist/components/Button.js +0 -70
  151. package/dist/components/CategoryList.js +0 -197
  152. package/dist/components/Checkbox.js +0 -103
  153. package/dist/components/Icon.js +0 -69
  154. package/dist/components/IconButton.js +0 -80
  155. package/dist/components/Input.js +0 -101
  156. package/dist/components/List/DataCell.js +0 -129
  157. package/dist/components/List/HeadCell.js +0 -125
  158. package/dist/components/List/HeadRow.js +0 -73
  159. package/dist/components/List/List.js +0 -274
  160. package/dist/components/List/Row.js +0 -109
  161. package/dist/components/List/enhanceColumnDefs.js +0 -111
  162. package/dist/components/List/index.js +0 -59
  163. package/dist/components/Modal/Dialog.js +0 -75
  164. package/dist/components/Modal/Wrapper.js +0 -69
  165. package/dist/components/MultiSelector.js +0 -187
  166. package/dist/components/Navigation/Bar.js +0 -293
  167. package/dist/components/Navigation/Tab.js +0 -182
  168. package/dist/components/Placeholder.js +0 -114
  169. package/dist/components/Scope/Selector.js +0 -123
  170. package/dist/components/Selector.js +0 -185
  171. package/dist/components/Switch.js +0 -128
  172. package/dist/components/Toolbar.js +0 -227
  173. package/dist/components/Tooltip.js +0 -66
  174. package/dist/getTheme.js +0 -158
  175. package/dist/getThemeOverrides.js +0 -93
  176. package/dist/hocs/withAuthentication.js +0 -72
  177. package/dist/utils/styledPropFuncs.js +0 -88
  178. package/src/components/Button.js +0 -90
  179. package/src/components/Button.test.js +0 -49
  180. package/src/components/CategoryList.js +0 -140
  181. package/src/components/CategoryList.test.js +0 -667
  182. package/src/components/Checkbox.js +0 -63
  183. package/src/components/Checkbox.test.js +0 -122
  184. package/src/components/Icon.js +0 -18
  185. package/src/components/IconButton.js +0 -30
  186. package/src/components/IconButton.test.js +0 -61
  187. package/src/components/Input.js +0 -35
  188. package/src/components/Input.test.js +0 -34
  189. package/src/components/List/DataCell.js +0 -77
  190. package/src/components/List/DataCell.test.js +0 -357
  191. package/src/components/List/HeadCell.js +0 -105
  192. package/src/components/List/HeadCell.test.js +0 -331
  193. package/src/components/List/HeadRow.js +0 -21
  194. package/src/components/List/HeadRow.test.js +0 -27
  195. package/src/components/List/List.js +0 -162
  196. package/src/components/List/List.test.js +0 -705
  197. package/src/components/List/Row.js +0 -72
  198. package/src/components/List/Row.test.js +0 -194
  199. package/src/components/List/enhanceColumnDefs.js +0 -54
  200. package/src/components/List/enhanceColumnDefs.test.js +0 -179
  201. package/src/components/List/index.js +0 -6
  202. package/src/components/Modal/Background.js +0 -10
  203. package/src/components/Modal/Dialog.js +0 -27
  204. package/src/components/Modal/Dialog.test.js +0 -20
  205. package/src/components/Modal/Modal.test.js +0 -52
  206. package/src/components/Modal/Wrapper.js +0 -32
  207. package/src/components/Modal/Wrapper.test.js +0 -55
  208. package/src/components/Modal/index.js +0 -22
  209. package/src/components/MultiSelector.js +0 -104
  210. package/src/components/MultiSelector.test.js +0 -348
  211. package/src/components/Navigation/Bar.js +0 -212
  212. package/src/components/Navigation/Bar.test.js +0 -552
  213. package/src/components/Navigation/Tab.js +0 -156
  214. package/src/components/Navigation/Tab.test.js +0 -404
  215. package/src/components/Placeholder.js +0 -61
  216. package/src/components/Placeholder.test.js +0 -106
  217. package/src/components/Scope/Selector.js +0 -70
  218. package/src/components/Scope/Selector.test.js +0 -138
  219. package/src/components/Selector.js +0 -191
  220. package/src/components/Selector.test.js +0 -157
  221. package/src/components/Switch.js +0 -112
  222. package/src/components/Switch.test.js +0 -130
  223. package/src/components/Text.test.js +0 -132
  224. package/src/components/Toolbar.js +0 -178
  225. package/src/components/Toolbar.test.js +0 -478
  226. package/src/components/Tooltip.js +0 -51
  227. package/src/components/Tooltip.test.js +0 -21
  228. package/src/getTheme.js +0 -103
  229. package/src/getTheme.test.js +0 -92
  230. package/src/getThemeOverrides.js +0 -27
  231. package/src/hocs/withAuthentication.js +0 -18
  232. package/src/hocs/withAuthentication.test.js +0 -120
  233. package/src/utils/styledPropFuncs.js +0 -20
  234. package/src/utils/styledPropFuncs.test.js +0 -166
@@ -1,212 +0,0 @@
1
- import React, { useRef, useEffect, useState, useCallback } from "react";
2
- import styled from "styled-components";
3
- import { useHistory } from "react-router-dom";
4
- import { ifFlag, getThemeProp, safeGet } from "../../utils";
5
- import DropMenu from "../DropMenu";
6
- import IconButton from "../IconButton";
7
- import Tab from "./Tab";
8
-
9
- export const TabBar = styled.div`
10
- flex: 0 0 10px;
11
- max-height: 0px;
12
- padding: 0 0 0 10px;
13
- margin: 0 200px 0 0;
14
- display: flex;
15
- align-items: flex-end;
16
- width: calc(100% - 210px);
17
- font-family: ${getThemeProp(["fonts", "header"], "sans-serif")};
18
- font-size: 13px;
19
- text-transform: uppercase;
20
- `;
21
-
22
- export const InnerBar = styled.div`
23
- position: relative;
24
- flex: 0 1 100%;
25
- margin-left: -10px;
26
- padding-left: 10px;
27
- z-index: 0;
28
- overflow: hidden;
29
- min-width: 0;
30
- box-sizing: border-box;
31
- height: 50px;
32
- display: flex;
33
- align-items: flex-end;
34
- scroll-behavior: smooth;
35
- `;
36
-
37
- const Fade = styled.div`
38
- position: absolute;
39
- left: 0;
40
- bottom: 11px;
41
- height: 38px;
42
- width: 10px;
43
- z-index: 1;
44
- background-color: red;
45
- box-shadow: 0px 0 5px 5px #fff;
46
- clip-path: polygon(-10px 0, -10px 100%, 30px 100%, 30px 0);
47
- visibility: ${ifFlag("scroll", "visible", "hidden")};
48
- `;
49
-
50
- export const ScrollableBar = React.forwardRef(({ children }, ref) => {
51
- return (
52
- <>
53
- <Fade scroll={0} />
54
- <InnerBar id="navigationPageTabs" ref={ref}>
55
- {children}
56
- </InnerBar>
57
- </>
58
- );
59
- });
60
-
61
- const getTabEdges = (pages, tabRefs) => {
62
- let lastWidth = 0;
63
- return pages.map(({ href }) => {
64
- const tabWidth = safeGet(tabRefs, href, "offsetWidth") || 0;
65
- lastWidth += tabWidth;
66
- return lastWidth;
67
- });
68
- };
69
-
70
- export const useTabScroll = (pages, debug = false, refs) => {
71
- let barRef = useRef(null);
72
- let tabRefs = useRef({});
73
- if (debug) {
74
- barRef = refs.barRef;
75
- tabRefs = refs.tabRefs;
76
- }
77
- const [barWidth, setBarWidth] = useState(0);
78
- const [tabEdges, setTabEdges] = useState([]);
79
- const setWidthOfBar = useCallback(() => {
80
- setBarWidth(safeGet(barRef, "current", "offsetWidth") || 0);
81
- }, [barRef, setBarWidth]);
82
- const setEdgesOfTabs = useCallback(() => {
83
- setTabEdges(getTabEdges(pages, tabRefs.current));
84
- }, [pages, tabRefs, setTabEdges]);
85
- useEffect(() => {
86
- setWidthOfBar();
87
- window.addEventListener("resize", setWidthOfBar);
88
- return () => window.removeEventListener("resize", setWidthOfBar);
89
- }, [pages, setWidthOfBar]);
90
- useEffect(() => {
91
- setEdgesOfTabs(pages);
92
- window.addEventListener("resize", setEdgesOfTabs);
93
- return () => window.removeEventListener("resize", setEdgesOfTabs);
94
- }, [pages, setEdgesOfTabs]);
95
-
96
- const lastActiveIndex = useRef(-1);
97
- let activeIndex = pages.findIndex(page => page.active);
98
- if (activeIndex === -1) {
99
- activeIndex = lastActiveIndex.current;
100
- } else {
101
- lastActiveIndex.current = activeIndex;
102
- }
103
- const [lastShownTab, setLastShown] = useState(pages.length);
104
- useEffect(() => {
105
- const barElem = barRef.current;
106
- /* istanbul ignore if */
107
- if (!barElem) return;
108
- const activeEdge = tabEdges[activeIndex + 1] || tabEdges[activeIndex] || 0;
109
- let scrollEdge = Math.max(activeEdge - barWidth + 7, 0);
110
- barElem.scrollLeft = scrollEdge;
111
- const edgeIndex = tabEdges.findIndex(edge => edge > barWidth + barElem.scrollLeft - 10) - 1;
112
- if (tabEdges[tabEdges.length - 1] <= barWidth) {
113
- setLastShown(pages.length);
114
- } else if (edgeIndex > activeIndex) {
115
- setLastShown(edgeIndex);
116
- } else {
117
- setLastShown(activeIndex + 1);
118
- }
119
- }, [setLastShown, pages, barRef, barWidth, tabEdges, activeIndex]);
120
- const history = useHistory();
121
- return {
122
- ...(debug ? { barWidth, tabEdges } : {}),
123
- hiddenTabs: barWidth < tabEdges[tabEdges.length - 1],
124
- lastShownTab,
125
- tabMenuItems: pages.map(({ label, href }) => ({
126
- id: href,
127
- label,
128
- handler: () => {
129
- history.push(href);
130
- },
131
- })),
132
- getTabRef: useCallback(
133
- node => {
134
- /* istanbul ignore else */
135
- if (node) {
136
- const href = safeGet(node, "dataset", "href");
137
- tabRefs.current[href] = node;
138
- }
139
- },
140
- [tabRefs],
141
- ),
142
- getBarRef: useCallback(
143
- node => {
144
- /* istanbul ignore else */
145
- if (node && node !== barRef.current) {
146
- barRef.current = node;
147
- }
148
- },
149
- [barRef],
150
- ),
151
- };
152
- };
153
-
154
- export const StyledMenu = styled(DropMenu).attrs(() => ({ alignRight: true }))`
155
- position: absolute;
156
- top: 10px;
157
- right: 140px;
158
- text-transform: none;
159
- `;
160
-
161
- export const MenuButton = styled(IconButton).attrs(props => ({
162
- icon: ifFlag(
163
- "open",
164
- getThemeProp(["icons", "indicators", "more"], "arrow-more"),
165
- getThemeProp(["icons", "indicators", "more"], "arrow-more"),
166
- )(props),
167
- }))``;
168
-
169
- const Bar = ({ module, pages }) => {
170
- const { hiddenTabs, tabMenuItems, lastShownTab, getTabRef, getBarRef } = useTabScroll(pages);
171
- return (
172
- <TabBar>
173
- <Tab
174
- module
175
- icon={module.icon}
176
- href={module.href}
177
- mappedFrom={module.mappedFrom}
178
- label={module.label}
179
- active={module.active}
180
- />
181
- <ScrollableBar ref={getBarRef}>
182
- {pages.map(
183
- ({ href, mappedFrom, label, mustTruncate, active, icon, outsideScope, scopeNotSupported, close }, index) => {
184
- return (
185
- <Tab
186
- ref={getTabRef}
187
- key={href}
188
- icon={icon}
189
- href={href}
190
- mappedFrom={mappedFrom}
191
- label={label}
192
- mustTruncate={mustTruncate}
193
- active={active}
194
- close={close}
195
- outsideScope={outsideScope}
196
- scopeNotSupported={scopeNotSupported}
197
- hide={index > lastShownTab}
198
- />
199
- );
200
- },
201
- )}
202
- </ScrollableBar>
203
- {hiddenTabs ? (
204
- <StyledMenu id="navigationTabs" menuItems={tabMenuItems}>
205
- <MenuButton />
206
- </StyledMenu>
207
- ) : null}
208
- </TabBar>
209
- );
210
- };
211
-
212
- export default Bar;