react-science 1.0.1 → 2.0.0

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 (49) hide show
  1. package/lib/app/about/AboutDialogToolbarButton.d.ts.map +1 -1
  2. package/lib/app/about/AboutDialogToolbarButton.js +1 -1
  3. package/lib/app/about/AboutDialogToolbarButton.js.map +1 -1
  4. package/lib/components/index.d.ts +0 -1
  5. package/lib/components/index.d.ts.map +1 -1
  6. package/lib/components/index.js +0 -1
  7. package/lib/components/index.js.map +1 -1
  8. package/lib/components/info-panel/InfoPanel.d.ts.map +1 -1
  9. package/lib/components/info-panel/InfoPanel.js +65 -18
  10. package/lib/components/info-panel/InfoPanel.js.map +1 -1
  11. package/lib/components/root-layout/RootLayout.d.ts.map +1 -1
  12. package/lib/components/root-layout/RootLayout.js +1 -1
  13. package/lib/components/root-layout/RootLayout.js.map +1 -1
  14. package/lib-esm/app/about/AboutDialogToolbarButton.d.ts.map +1 -1
  15. package/lib-esm/app/about/AboutDialogToolbarButton.js +1 -1
  16. package/lib-esm/app/about/AboutDialogToolbarButton.js.map +1 -1
  17. package/lib-esm/components/index.d.ts +0 -1
  18. package/lib-esm/components/index.d.ts.map +1 -1
  19. package/lib-esm/components/index.js +0 -1
  20. package/lib-esm/components/index.js.map +1 -1
  21. package/lib-esm/components/info-panel/InfoPanel.d.ts.map +1 -1
  22. package/lib-esm/components/info-panel/InfoPanel.js +67 -20
  23. package/lib-esm/components/info-panel/InfoPanel.js.map +1 -1
  24. package/lib-esm/components/root-layout/RootLayout.d.ts.map +1 -1
  25. package/lib-esm/components/root-layout/RootLayout.js +2 -2
  26. package/lib-esm/components/root-layout/RootLayout.js.map +1 -1
  27. package/package.json +10 -10
  28. package/src/app/about/AboutDialogToolbarButton.tsx +1 -0
  29. package/src/components/index.ts +0 -1
  30. package/src/components/info-panel/InfoPanel.tsx +148 -68
  31. package/src/components/root-layout/RootLayout.tsx +10 -6
  32. package/lib/components/layout-manager/LayoutManager.d.ts +0 -18
  33. package/lib/components/layout-manager/LayoutManager.d.ts.map +0 -1
  34. package/lib/components/layout-manager/LayoutManager.js +0 -51
  35. package/lib/components/layout-manager/LayoutManager.js.map +0 -1
  36. package/lib/components/layout-manager/index.d.ts +0 -2
  37. package/lib/components/layout-manager/index.d.ts.map +0 -1
  38. package/lib/components/layout-manager/index.js +0 -18
  39. package/lib/components/layout-manager/index.js.map +0 -1
  40. package/lib-esm/components/layout-manager/LayoutManager.d.ts +0 -18
  41. package/lib-esm/components/layout-manager/LayoutManager.d.ts.map +0 -1
  42. package/lib-esm/components/layout-manager/LayoutManager.js +0 -47
  43. package/lib-esm/components/layout-manager/LayoutManager.js.map +0 -1
  44. package/lib-esm/components/layout-manager/index.d.ts +0 -2
  45. package/lib-esm/components/layout-manager/index.d.ts.map +0 -1
  46. package/lib-esm/components/layout-manager/index.js +0 -2
  47. package/lib-esm/components/layout-manager/index.js.map +0 -1
  48. package/src/components/layout-manager/LayoutManager.tsx +0 -95
  49. package/src/components/layout-manager/index.ts +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"AboutDialogToolbarButton.d.ts","sourceRoot":"","sources":["../../../src/app/about/AboutDialogToolbarButton.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,UAAU,6BAA6B;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC;IAC7B,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,6BAA6B,2CAiB5E"}
1
+ {"version":3,"file":"AboutDialogToolbarButton.d.ts","sourceRoot":"","sources":["../../../src/app/about/AboutDialogToolbarButton.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,UAAU,6BAA6B;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC;IAC7B,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,6BAA6B,2CAkB5E"}
@@ -7,7 +7,7 @@ const components_1 = require("../../components");
7
7
  function AboutDialogToolbarButton(props) {
8
8
  const { name, icon, body } = props;
9
9
  const [isOpenDialog, openDialog, closeDialog] = (0, components_1.useOnOff)(false);
10
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(components_1.Toolbar.Item, { title: `About ${name}`, onClick: openDialog, icon: icon }), (0, jsx_runtime_1.jsx)(core_1.Dialog, { isOpen: isOpenDialog, onClose: closeDialog, title: name, icon: "info-sign", children: (0, jsx_runtime_1.jsx)(core_1.DialogBody, { children: body }) })] }));
10
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(components_1.Toolbar.Item, { title: `About ${name}`, onClick: openDialog, icon: icon }), (0, jsx_runtime_1.jsx)(core_1.Dialog, { shouldReturnFocusOnClose: false, isOpen: isOpenDialog, onClose: closeDialog, title: name, icon: "info-sign", children: (0, jsx_runtime_1.jsx)(core_1.DialogBody, { children: body }) })] }));
11
11
  }
12
12
  exports.AboutDialogToolbarButton = AboutDialogToolbarButton;
13
13
  //# sourceMappingURL=AboutDialogToolbarButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AboutDialogToolbarButton.js","sourceRoot":"","sources":["../../../src/app/about/AboutDialogToolbarButton.tsx"],"names":[],"mappings":";;;;AAAA,4CAAuD;AAIvD,iDAAqD;AAQrD,SAAgB,wBAAwB,CAAC,KAAoC;IAC3E,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IACnC,MAAM,CAAC,YAAY,EAAE,UAAU,EAAE,WAAW,CAAC,GAAG,IAAA,qBAAQ,EAAC,KAAK,CAAC,CAAC;IAEhE,OAAO,CACL,6DACE,uBAAC,oBAAO,CAAC,IAAI,IAAC,KAAK,EAAE,SAAS,IAAI,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,GAAI,EACzE,uBAAC,aAAM,IACL,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,IAAI,EACX,IAAI,EAAC,WAAW,YAEhB,uBAAC,iBAAU,cAAE,IAAI,GAAc,GACxB,IACR,CACJ,CAAC;AACJ,CAAC;AAjBD,4DAiBC"}
1
+ {"version":3,"file":"AboutDialogToolbarButton.js","sourceRoot":"","sources":["../../../src/app/about/AboutDialogToolbarButton.tsx"],"names":[],"mappings":";;;;AAAA,4CAAuD;AAIvD,iDAAqD;AAQrD,SAAgB,wBAAwB,CAAC,KAAoC;IAC3E,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IACnC,MAAM,CAAC,YAAY,EAAE,UAAU,EAAE,WAAW,CAAC,GAAG,IAAA,qBAAQ,EAAC,KAAK,CAAC,CAAC;IAEhE,OAAO,CACL,6DACE,uBAAC,oBAAO,CAAC,IAAI,IAAC,KAAK,EAAE,SAAS,IAAI,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,GAAI,EACzE,uBAAC,aAAM,IACL,wBAAwB,EAAE,KAAK,EAC/B,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,IAAI,EACX,IAAI,EAAC,WAAW,YAEhB,uBAAC,iBAAU,cAAE,IAAI,GAAc,GACxB,IACR,CACJ,CAAC;AACJ,CAAC;AAlBD,4DAkBC"}
@@ -7,7 +7,6 @@ export * from './fullscreen/index';
7
7
  export * from './header/index';
8
8
  export * from './hooks/index';
9
9
  export * from './info-panel/index';
10
- export * from './layout-manager/index';
11
10
  export * from './dialog/index';
12
11
  export * from './root-layout/index';
13
12
  export * from './split-pane/index';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,OAAO,KAAK,cAAc,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,OAAO,KAAK,cAAc,MAAM,yBAAyB,CAAC"}
@@ -36,7 +36,6 @@ __exportStar(require("./fullscreen/index"), exports);
36
36
  __exportStar(require("./header/index"), exports);
37
37
  __exportStar(require("./hooks/index"), exports);
38
38
  __exportStar(require("./info-panel/index"), exports);
39
- __exportStar(require("./layout-manager/index"), exports);
40
39
  __exportStar(require("./dialog/index"), exports);
41
40
  __exportStar(require("./root-layout/index"), exports);
42
41
  __exportStar(require("./split-pane/index"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,iDAA+B;AAC/B,uDAAqC;AACrC,oDAAkC;AAClC,gDAA8B;AAC9B,qDAAmC;AACnC,iDAA+B;AAC/B,gDAA8B;AAC9B,qDAAmC;AACnC,yDAAuC;AACvC,iDAA+B;AAC/B,sDAAoC;AACpC,qDAAmC;AACnC,gDAA8B;AAC9B,kDAAgC;AAChC,gDAA8B;AAC9B,0EAA0D"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,iDAA+B;AAC/B,uDAAqC;AACrC,oDAAkC;AAClC,gDAA8B;AAC9B,qDAAmC;AACnC,iDAA+B;AAC/B,gDAA8B;AAC9B,qDAAmC;AACnC,iDAA+B;AAC/B,sDAAoC;AACpC,qDAAmC;AACnC,gDAA8B;AAC9B,kDAAgC;AAChC,gDAA8B;AAC9B,0EAA0D"}
@@ -1 +1 @@
1
- {"version":3,"file":"InfoPanel.d.ts","sourceRoot":"","sources":["../../../src/components/info-panel/InfoPanel.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAY,MAAM,OAAO,CAAC;AAMhD,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,GAAG,CAAC,CAAC;CAChE;AAED,UAAU,cAAc;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,aAAa,EAAE,CAAC;IACvB,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,UAAU,CAAC,EAAE,aAAa,CAAC;CAC5B;AAkBD,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,oDA4E9C"}
1
+ {"version":3,"file":"InfoPanel.d.ts","sourceRoot":"","sources":["../../../src/components/info-panel/InfoPanel.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAkC,MAAM,OAAO,CAAC;AAKtE,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,GAAG,CAAC,CAAC;CAChE;AAED,UAAU,cAAc;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,aAAa,EAAE,CAAC;IACvB,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,UAAU,CAAC,EAAE,aAAa,CAAC;CAC5B;AAuBD,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,oDAqJ9C"}
@@ -5,11 +5,8 @@ const jsx_runtime_1 = require("@emotion/react/jsx-runtime");
5
5
  /** @jsxImportSource @emotion/react */
6
6
  const core_1 = require("@blueprintjs/core");
7
7
  const react_1 = require("@emotion/react");
8
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment, @typescript-eslint/prefer-ts-expect-error
9
- // @ts-ignore
10
8
  const react_2 = require("@headlessui/react");
11
9
  const react_3 = require("react");
12
- const fa_1 = require("react-icons/fa");
13
10
  const index_1 = require("../index");
14
11
  const Table_1 = require("../table/Table");
15
12
  const style = {
@@ -21,30 +18,37 @@ const style = {
21
18
  transition: 'all 0.3s ease-in-out',
22
19
  }),
23
20
  button: (0, react_1.css)({
21
+ borderBottom: '1px solid #f5f5f5',
24
22
  display: 'flex',
25
23
  alignItems: 'center',
26
24
  gap: 5,
27
25
  padding: '5px 2px',
26
+ width: '100%',
27
+ ':hover': {
28
+ backgroundColor: '#f5f5f5',
29
+ },
28
30
  }),
29
31
  };
30
32
  function InfoPanel(props) {
31
33
  const [search, setSearch] = (0, react_3.useState)('');
32
34
  const { title = 'Information', data = [], titleStyle, inputStyle } = props;
33
- function viewData(data) {
35
+ const viewData = (0, react_3.useCallback)((data) => {
34
36
  const exactMatch = [];
35
37
  const startsWith = [];
36
38
  const includes = [];
37
39
  const valueContains = [];
38
- for (const [key, value] of Object.entries(data)) {
39
- if (key === search) {
40
+ for (const [key, value] of Object.entries(data).sort(([a], [b]) => a.localeCompare(b))) {
41
+ const lowerKey = key.toLowerCase();
42
+ const lowerSearch = search.toLowerCase();
43
+ if (lowerKey === lowerSearch) {
40
44
  exactMatch.push([key, value]);
41
45
  continue;
42
46
  }
43
- if (key.startsWith(search)) {
47
+ if (lowerKey.startsWith(lowerSearch)) {
44
48
  startsWith.push([key, value]);
45
49
  continue;
46
50
  }
47
- if (key.includes(search)) {
51
+ if (lowerKey.includes(lowerSearch)) {
48
52
  includes.push([key, value]);
49
53
  continue;
50
54
  }
@@ -53,15 +57,54 @@ function InfoPanel(props) {
53
57
  continue;
54
58
  }
55
59
  }
56
- return [...exactMatch, ...startsWith, ...includes, ...valueContains].map(([key, value]) => ((0, jsx_runtime_1.jsxs)(Table_1.Table.Row, { children: [(0, jsx_runtime_1.jsx)(index_1.ValueRenderers.Text, { value: key }), valueCell(value)] }, key)));
57
- }
58
- return ((0, jsx_runtime_1.jsxs)("div", { css: style.container, children: [(0, jsx_runtime_1.jsx)("div", { style: titleStyle, children: title }), (0, jsx_runtime_1.jsx)(core_1.InputGroup, { placeholder: "search for a parameter ...", value: search, onChange: ({ target }) => {
59
- if (target.value !== undefined)
60
- setSearch(target.value);
61
- }, style: inputStyle, leftIcon: "search", type: "search" }), data.map(({ description, data }) => {
62
- const content = viewData(data);
63
- return content.length > 0 ? ((0, jsx_runtime_1.jsx)(react_2.Disclosure, { defaultOpen: true, children: ({ open }) => ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)(react_2.Disclosure.Button, { css: style.button, children: [(0, jsx_runtime_1.jsx)(fa_1.FaChevronRight, { css: style.chevron(open) }), description] }), (0, jsx_runtime_1.jsx)(react_2.Disclosure.Panel, { children: (0, jsx_runtime_1.jsxs)(Table_1.Table, { bordered: true, children: [(0, jsx_runtime_1.jsxs)(Table_1.Table.Header, { children: [(0, jsx_runtime_1.jsx)(index_1.ValueRenderers.Header, { value: "Parameter" }), (0, jsx_runtime_1.jsx)(index_1.ValueRenderers.Header, { value: "Value" })] }), content] }) })] })) }, description)) : null;
64
- })] }));
60
+ return [...exactMatch, ...startsWith, ...includes, ...valueContains];
61
+ }, [search]);
62
+ const { filteredData, total, count } = (0, react_3.useMemo)(() => {
63
+ const filteredData = [];
64
+ let total = 0;
65
+ let count = 0;
66
+ for (const { data: dataContent, ...other } of data) {
67
+ total += Object.entries(dataContent).length;
68
+ const content = viewData(dataContent);
69
+ if (content.length === 0)
70
+ continue;
71
+ filteredData.push({ data: content, ...other });
72
+ count += content.length;
73
+ }
74
+ return { filteredData, total, count };
75
+ }, [data, viewData]);
76
+ return ((0, jsx_runtime_1.jsxs)("div", { css: style.container, children: [(0, jsx_runtime_1.jsx)("div", { style: titleStyle, children: title }), (0, jsx_runtime_1.jsxs)("div", { tabIndex: 0, css: (0, react_1.css)({
77
+ zIndex: 10,
78
+ marginTop: '5px',
79
+ position: 'sticky',
80
+ backgroundColor: 'white',
81
+ top: '5px',
82
+ display: 'flex',
83
+ alignItems: 'center',
84
+ gap: 6,
85
+ width: '100%',
86
+ }), children: [(0, jsx_runtime_1.jsx)(core_1.InputGroup, { css: (0, react_1.css)({
87
+ flexGrow: 1,
88
+ }), placeholder: "search for a parameter ...", value: search, onChange: ({ target }) => {
89
+ if (target.value !== undefined) {
90
+ setSearch(target.value);
91
+ }
92
+ }, style: inputStyle, leftIcon: "search", type: "search", fill: true }), "[", count, "/", total, "]"] }), (0, jsx_runtime_1.jsx)("div", { style: {
93
+ marginTop: '5px',
94
+ display: 'flex',
95
+ flexDirection: 'column',
96
+ gap: '5px',
97
+ }, children: filteredData.map(({ description, data }) => {
98
+ return ((0, jsx_runtime_1.jsx)(react_2.Disclosure, { defaultOpen: true, children: ({ open }) => ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)(react_2.Disclosure.Button, { css: style.button, children: [(0, jsx_runtime_1.jsx)(core_1.Icon, { icon: "chevron-right", css: style.chevron(open) }), description] }), (0, jsx_runtime_1.jsx)(react_2.Disclosure.Panel, { children: (0, jsx_runtime_1.jsxs)(Table_1.Table, { striped: true, css: (0, react_1.css)({
99
+ width: '100%',
100
+ 'td:first-child': {
101
+ width: '30%',
102
+ },
103
+ }), compact: true, children: [(0, jsx_runtime_1.jsxs)(Table_1.Table.Header, { children: [(0, jsx_runtime_1.jsx)(index_1.ValueRenderers.Header, { style: { width: '50px' }, value: "Parameter" }), (0, jsx_runtime_1.jsx)(index_1.ValueRenderers.Header, { value: "Value" })] }), data.map(([key, value]) => ((0, jsx_runtime_1.jsxs)(Table_1.Table.Row, { bordered: true, style: {
104
+ height: '10px',
105
+ padding: '0 !imporant',
106
+ }, children: [(0, jsx_runtime_1.jsx)(index_1.ValueRenderers.Text, { style: { width: '50px' }, value: key }), valueCell(value)] }, key)))] }) })] })) }, description));
107
+ }) })] }));
65
108
  }
66
109
  exports.InfoPanel = InfoPanel;
67
110
  /**
@@ -90,7 +133,11 @@ function valueCell(value) {
90
133
  * @param search - Value to search for.
91
134
  * @returns - If search exist in value
92
135
  */
93
- function valueSearch(value, search) {
136
+ function valueSearch(value, search, lowerCase = true) {
137
+ if (lowerCase) {
138
+ value = String(value).toLowerCase();
139
+ search = search.toLowerCase();
140
+ }
94
141
  switch (typeof value) {
95
142
  case 'number':
96
143
  return String(value).includes(search);
@@ -1 +1 @@
1
- {"version":3,"file":"InfoPanel.js","sourceRoot":"","sources":["../../../src/components/info-panel/InfoPanel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InfoPanel.js","sourceRoot":"","sources":["../../../src/components/info-panel/InfoPanel.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"RootLayout.d.ts","sourceRoot":"","sources":["../../../src/components/root-layout/RootLayout.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAyB,MAAM,OAAO,CAAC;AAUxE,UAAU,eAAe;IACvB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAQD,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,2CAsBhD"}
1
+ {"version":3,"file":"RootLayout.d.ts","sourceRoot":"","sources":["../../../src/components/root-layout/RootLayout.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAyB,MAAM,OAAO,CAAC;AAUxE,UAAU,eAAe;IACvB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAQD,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,2CA0BhD"}
@@ -22,7 +22,7 @@ function RootLayout(props) {
22
22
  setRootRef(node);
23
23
  }
24
24
  }, []);
25
- return ((0, jsx_runtime_1.jsx)("div", { style: { ...style, ...props.style }, translate: "no", children: (0, jsx_runtime_1.jsx)(customPreflight_1.CustomDivPreflight, { ref: ref, children: (0, jsx_runtime_1.jsx)(RootLayoutContext_1.RootLayoutProvider, { innerRef: rootRef, children: (0, jsx_runtime_1.jsx)(react_query_1.QueryClientProvider, { client: queryClient_1.queryClient, children: (0, jsx_runtime_1.jsx)(accordion_1.AccordionProvider, { children: props.children }) }) }) }) }));
25
+ return ((0, jsx_runtime_1.jsx)("div", { style: { ...style, ...props.style }, translate: "no", children: (0, jsx_runtime_1.jsx)(customPreflight_1.CustomDivPreflight, { ref: ref, children: (0, jsx_runtime_1.jsx)(core_1.BlueprintProvider, { ...(rootRef ? { portalContainer: rootRef } : undefined), children: (0, jsx_runtime_1.jsx)(RootLayoutContext_1.RootLayoutProvider, { innerRef: rootRef, children: (0, jsx_runtime_1.jsx)(react_query_1.QueryClientProvider, { client: queryClient_1.queryClient, children: (0, jsx_runtime_1.jsx)(accordion_1.AccordionProvider, { children: props.children }) }) }) }) }) }));
26
26
  }
27
27
  exports.RootLayout = RootLayout;
28
28
  //# sourceMappingURL=RootLayout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RootLayout.js","sourceRoot":"","sources":["../../../src/components/root-layout/RootLayout.tsx"],"names":[],"mappings":";;;;AAAA,4CAAsD;AACtD,uDAA4D;AAC5D,iCAAwE;AAExE,4CAAiD;AAEjD,2DAAyD;AACzD,iEAAiE;AACjE,+CAA4C;AAE5C,wBAAiB,CAAC,mBAAmB,EAAE,CAAC;AAOxC,MAAM,KAAK,GAAkB;IAC3B,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,MAAM;IACd,QAAQ,EAAE,MAAM;CACjB,CAAC;AAEF,SAAgB,UAAU,CAAC,KAAsB;IAC/C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,EACpC,OAAO,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CACvD,CAAC;IAEF,MAAM,GAAG,GAAG,IAAA,mBAAW,EAAC,CAAC,IAAoB,EAAE,EAAE;QAC/C,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,UAAU,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,gCAAK,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,SAAS,EAAC,IAAI,YACtD,uBAAC,oCAAkB,IAAC,GAAG,EAAE,GAAG,YAC1B,uBAAC,sCAAkB,IAAC,QAAQ,EAAE,OAAO,YACnC,uBAAC,iCAAmB,IAAC,MAAM,EAAE,yBAAW,YACtC,uBAAC,6BAAiB,cAAE,KAAK,CAAC,QAAQ,GAAqB,GACnC,GACH,GACF,GACjB,CACP,CAAC;AACJ,CAAC;AAtBD,gCAsBC"}
1
+ {"version":3,"file":"RootLayout.js","sourceRoot":"","sources":["../../../src/components/root-layout/RootLayout.tsx"],"names":[],"mappings":";;;;AAAA,4CAAyE;AACzE,uDAA4D;AAC5D,iCAAwE;AAExE,4CAAiD;AAEjD,2DAAyD;AACzD,iEAAiE;AACjE,+CAA4C;AAE5C,wBAAiB,CAAC,mBAAmB,EAAE,CAAC;AAOxC,MAAM,KAAK,GAAkB;IAC3B,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,MAAM;IACd,QAAQ,EAAE,MAAM;CACjB,CAAC;AAEF,SAAgB,UAAU,CAAC,KAAsB;IAC/C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,EACpC,OAAO,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CACvD,CAAC;IAEF,MAAM,GAAG,GAAG,IAAA,mBAAW,EAAC,CAAC,IAAoB,EAAE,EAAE;QAC/C,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,UAAU,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,gCAAK,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,SAAS,EAAC,IAAI,YACtD,uBAAC,oCAAkB,IAAC,GAAG,EAAE,GAAG,YAC1B,uBAAC,wBAAiB,OACZ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,YAExD,uBAAC,sCAAkB,IAAC,QAAQ,EAAE,OAAO,YACnC,uBAAC,iCAAmB,IAAC,MAAM,EAAE,yBAAW,YACtC,uBAAC,6BAAiB,cAAE,KAAK,CAAC,QAAQ,GAAqB,GACnC,GACH,GACH,GACD,GACjB,CACP,CAAC;AACJ,CAAC;AA1BD,gCA0BC"}
@@ -1 +1 @@
1
- {"version":3,"file":"AboutDialogToolbarButton.d.ts","sourceRoot":"","sources":["../../../src/app/about/AboutDialogToolbarButton.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,UAAU,6BAA6B;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC;IAC7B,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,6BAA6B,2CAiB5E"}
1
+ {"version":3,"file":"AboutDialogToolbarButton.d.ts","sourceRoot":"","sources":["../../../src/app/about/AboutDialogToolbarButton.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,UAAU,6BAA6B;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC;IAC7B,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,6BAA6B,2CAkB5E"}
@@ -4,6 +4,6 @@ import { Toolbar, useOnOff } from '../../components';
4
4
  export function AboutDialogToolbarButton(props) {
5
5
  const { name, icon, body } = props;
6
6
  const [isOpenDialog, openDialog, closeDialog] = useOnOff(false);
7
- return (_jsxs(_Fragment, { children: [_jsx(Toolbar.Item, { title: `About ${name}`, onClick: openDialog, icon: icon }), _jsx(Dialog, { isOpen: isOpenDialog, onClose: closeDialog, title: name, icon: "info-sign", children: _jsx(DialogBody, { children: body }) })] }));
7
+ return (_jsxs(_Fragment, { children: [_jsx(Toolbar.Item, { title: `About ${name}`, onClick: openDialog, icon: icon }), _jsx(Dialog, { shouldReturnFocusOnClose: false, isOpen: isOpenDialog, onClose: closeDialog, title: name, icon: "info-sign", children: _jsx(DialogBody, { children: body }) })] }));
8
8
  }
9
9
  //# sourceMappingURL=AboutDialogToolbarButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AboutDialogToolbarButton.js","sourceRoot":"","sources":["../../../src/app/about/AboutDialogToolbarButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAIvD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAQrD,MAAM,UAAU,wBAAwB,CAAC,KAAoC;IAC3E,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IACnC,MAAM,CAAC,YAAY,EAAE,UAAU,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEhE,OAAO,CACL,8BACE,KAAC,OAAO,CAAC,IAAI,IAAC,KAAK,EAAE,SAAS,IAAI,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,GAAI,EACzE,KAAC,MAAM,IACL,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,IAAI,EACX,IAAI,EAAC,WAAW,YAEhB,KAAC,UAAU,cAAE,IAAI,GAAc,GACxB,IACR,CACJ,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"AboutDialogToolbarButton.js","sourceRoot":"","sources":["../../../src/app/about/AboutDialogToolbarButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAIvD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAQrD,MAAM,UAAU,wBAAwB,CAAC,KAAoC;IAC3E,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IACnC,MAAM,CAAC,YAAY,EAAE,UAAU,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEhE,OAAO,CACL,8BACE,KAAC,OAAO,CAAC,IAAI,IAAC,KAAK,EAAE,SAAS,IAAI,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,GAAI,EACzE,KAAC,MAAM,IACL,wBAAwB,EAAE,KAAK,EAC/B,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,IAAI,EACX,IAAI,EAAC,WAAW,YAEhB,KAAC,UAAU,cAAE,IAAI,GAAc,GACxB,IACR,CACJ,CAAC;AACJ,CAAC"}
@@ -7,7 +7,6 @@ export * from './fullscreen/index';
7
7
  export * from './header/index';
8
8
  export * from './hooks/index';
9
9
  export * from './info-panel/index';
10
- export * from './layout-manager/index';
11
10
  export * from './dialog/index';
12
11
  export * from './root-layout/index';
13
12
  export * from './split-pane/index';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,OAAO,KAAK,cAAc,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,OAAO,KAAK,cAAc,MAAM,yBAAyB,CAAC"}
@@ -7,7 +7,6 @@ export * from './fullscreen/index';
7
7
  export * from './header/index';
8
8
  export * from './hooks/index';
9
9
  export * from './info-panel/index';
10
- export * from './layout-manager/index';
11
10
  export * from './dialog/index';
12
11
  export * from './root-layout/index';
13
12
  export * from './split-pane/index';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,OAAO,KAAK,cAAc,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,OAAO,KAAK,cAAc,MAAM,yBAAyB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"InfoPanel.d.ts","sourceRoot":"","sources":["../../../src/components/info-panel/InfoPanel.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAY,MAAM,OAAO,CAAC;AAMhD,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,GAAG,CAAC,CAAC;CAChE;AAED,UAAU,cAAc;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,aAAa,EAAE,CAAC;IACvB,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,UAAU,CAAC,EAAE,aAAa,CAAC;CAC5B;AAkBD,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,oDA4E9C"}
1
+ {"version":3,"file":"InfoPanel.d.ts","sourceRoot":"","sources":["../../../src/components/info-panel/InfoPanel.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAkC,MAAM,OAAO,CAAC;AAKtE,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,GAAG,CAAC,CAAC;CAChE;AAED,UAAU,cAAc;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,aAAa,EAAE,CAAC;IACvB,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,UAAU,CAAC,EAAE,aAAa,CAAC;CAC5B;AAuBD,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,oDAqJ9C"}
@@ -1,12 +1,9 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "@emotion/react/jsx-runtime";
2
2
  /** @jsxImportSource @emotion/react */
3
- import { InputGroup } from '@blueprintjs/core';
3
+ import { Icon, InputGroup } from '@blueprintjs/core';
4
4
  import { css } from '@emotion/react';
5
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment, @typescript-eslint/prefer-ts-expect-error
6
- // @ts-ignore
7
5
  import { Disclosure } from '@headlessui/react';
8
- import { useState } from 'react';
9
- import { FaChevronRight } from 'react-icons/fa';
6
+ import { useCallback, useMemo, useState } from 'react';
10
7
  import { ValueRenderers } from '../index';
11
8
  import { Table } from '../table/Table';
12
9
  const style = {
@@ -18,30 +15,37 @@ const style = {
18
15
  transition: 'all 0.3s ease-in-out',
19
16
  }),
20
17
  button: css({
18
+ borderBottom: '1px solid #f5f5f5',
21
19
  display: 'flex',
22
20
  alignItems: 'center',
23
21
  gap: 5,
24
22
  padding: '5px 2px',
23
+ width: '100%',
24
+ ':hover': {
25
+ backgroundColor: '#f5f5f5',
26
+ },
25
27
  }),
26
28
  };
27
29
  export function InfoPanel(props) {
28
30
  const [search, setSearch] = useState('');
29
31
  const { title = 'Information', data = [], titleStyle, inputStyle } = props;
30
- function viewData(data) {
32
+ const viewData = useCallback((data) => {
31
33
  const exactMatch = [];
32
34
  const startsWith = [];
33
35
  const includes = [];
34
36
  const valueContains = [];
35
- for (const [key, value] of Object.entries(data)) {
36
- if (key === search) {
37
+ for (const [key, value] of Object.entries(data).sort(([a], [b]) => a.localeCompare(b))) {
38
+ const lowerKey = key.toLowerCase();
39
+ const lowerSearch = search.toLowerCase();
40
+ if (lowerKey === lowerSearch) {
37
41
  exactMatch.push([key, value]);
38
42
  continue;
39
43
  }
40
- if (key.startsWith(search)) {
44
+ if (lowerKey.startsWith(lowerSearch)) {
41
45
  startsWith.push([key, value]);
42
46
  continue;
43
47
  }
44
- if (key.includes(search)) {
48
+ if (lowerKey.includes(lowerSearch)) {
45
49
  includes.push([key, value]);
46
50
  continue;
47
51
  }
@@ -50,15 +54,54 @@ export function InfoPanel(props) {
50
54
  continue;
51
55
  }
52
56
  }
53
- return [...exactMatch, ...startsWith, ...includes, ...valueContains].map(([key, value]) => (_jsxs(Table.Row, { children: [_jsx(ValueRenderers.Text, { value: key }), valueCell(value)] }, key)));
54
- }
55
- return (_jsxs("div", { css: style.container, children: [_jsx("div", { style: titleStyle, children: title }), _jsx(InputGroup, { placeholder: "search for a parameter ...", value: search, onChange: ({ target }) => {
56
- if (target.value !== undefined)
57
- setSearch(target.value);
58
- }, style: inputStyle, leftIcon: "search", type: "search" }), data.map(({ description, data }) => {
59
- const content = viewData(data);
60
- return content.length > 0 ? (_jsx(Disclosure, { defaultOpen: true, children: ({ open }) => (_jsxs(_Fragment, { children: [_jsxs(Disclosure.Button, { css: style.button, children: [_jsx(FaChevronRight, { css: style.chevron(open) }), description] }), _jsx(Disclosure.Panel, { children: _jsxs(Table, { bordered: true, children: [_jsxs(Table.Header, { children: [_jsx(ValueRenderers.Header, { value: "Parameter" }), _jsx(ValueRenderers.Header, { value: "Value" })] }), content] }) })] })) }, description)) : null;
61
- })] }));
57
+ return [...exactMatch, ...startsWith, ...includes, ...valueContains];
58
+ }, [search]);
59
+ const { filteredData, total, count } = useMemo(() => {
60
+ const filteredData = [];
61
+ let total = 0;
62
+ let count = 0;
63
+ for (const { data: dataContent, ...other } of data) {
64
+ total += Object.entries(dataContent).length;
65
+ const content = viewData(dataContent);
66
+ if (content.length === 0)
67
+ continue;
68
+ filteredData.push({ data: content, ...other });
69
+ count += content.length;
70
+ }
71
+ return { filteredData, total, count };
72
+ }, [data, viewData]);
73
+ return (_jsxs("div", { css: style.container, children: [_jsx("div", { style: titleStyle, children: title }), _jsxs("div", { tabIndex: 0, css: css({
74
+ zIndex: 10,
75
+ marginTop: '5px',
76
+ position: 'sticky',
77
+ backgroundColor: 'white',
78
+ top: '5px',
79
+ display: 'flex',
80
+ alignItems: 'center',
81
+ gap: 6,
82
+ width: '100%',
83
+ }), children: [_jsx(InputGroup, { css: css({
84
+ flexGrow: 1,
85
+ }), placeholder: "search for a parameter ...", value: search, onChange: ({ target }) => {
86
+ if (target.value !== undefined) {
87
+ setSearch(target.value);
88
+ }
89
+ }, style: inputStyle, leftIcon: "search", type: "search", fill: true }), "[", count, "/", total, "]"] }), _jsx("div", { style: {
90
+ marginTop: '5px',
91
+ display: 'flex',
92
+ flexDirection: 'column',
93
+ gap: '5px',
94
+ }, children: filteredData.map(({ description, data }) => {
95
+ return (_jsx(Disclosure, { defaultOpen: true, children: ({ open }) => (_jsxs(_Fragment, { children: [_jsxs(Disclosure.Button, { css: style.button, children: [_jsx(Icon, { icon: "chevron-right", css: style.chevron(open) }), description] }), _jsx(Disclosure.Panel, { children: _jsxs(Table, { striped: true, css: css({
96
+ width: '100%',
97
+ 'td:first-child': {
98
+ width: '30%',
99
+ },
100
+ }), compact: true, children: [_jsxs(Table.Header, { children: [_jsx(ValueRenderers.Header, { style: { width: '50px' }, value: "Parameter" }), _jsx(ValueRenderers.Header, { value: "Value" })] }), data.map(([key, value]) => (_jsxs(Table.Row, { bordered: true, style: {
101
+ height: '10px',
102
+ padding: '0 !imporant',
103
+ }, children: [_jsx(ValueRenderers.Text, { style: { width: '50px' }, value: key }), valueCell(value)] }, key)))] }) })] })) }, description));
104
+ }) })] }));
62
105
  }
63
106
  /**
64
107
  * Get the value cell depending on the type of the value
@@ -86,7 +129,11 @@ function valueCell(value) {
86
129
  * @param search - Value to search for.
87
130
  * @returns - If search exist in value
88
131
  */
89
- function valueSearch(value, search) {
132
+ function valueSearch(value, search, lowerCase = true) {
133
+ if (lowerCase) {
134
+ value = String(value).toLowerCase();
135
+ search = search.toLowerCase();
136
+ }
90
137
  switch (typeof value) {
91
138
  case 'number':
92
139
  return String(value).includes(search);
@@ -1 +1 @@
1
- {"version":3,"file":"InfoPanel.js","sourceRoot":"","sources":["../../../src/components/info-panel/InfoPanel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InfoPanel.js","sourceRoot":"","sources":["../../../src/components/info-panel/InfoPanel.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"RootLayout.d.ts","sourceRoot":"","sources":["../../../src/components/root-layout/RootLayout.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAyB,MAAM,OAAO,CAAC;AAUxE,UAAU,eAAe;IACvB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAQD,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,2CAsBhD"}
1
+ {"version":3,"file":"RootLayout.d.ts","sourceRoot":"","sources":["../../../src/components/root-layout/RootLayout.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAyB,MAAM,OAAO,CAAC;AAUxE,UAAU,eAAe;IACvB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAQD,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,2CA0BhD"}
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { FocusStyleManager } from '@blueprintjs/core';
2
+ import { BlueprintProvider, FocusStyleManager } from '@blueprintjs/core';
3
3
  import { QueryClientProvider } from '@tanstack/react-query';
4
4
  import { useCallback, useState } from 'react';
5
5
  import { AccordionProvider } from '../accordion';
@@ -19,6 +19,6 @@ export function RootLayout(props) {
19
19
  setRootRef(node);
20
20
  }
21
21
  }, []);
22
- return (_jsx("div", { style: { ...style, ...props.style }, translate: "no", children: _jsx(CustomDivPreflight, { ref: ref, children: _jsx(RootLayoutProvider, { innerRef: rootRef, children: _jsx(QueryClientProvider, { client: queryClient, children: _jsx(AccordionProvider, { children: props.children }) }) }) }) }));
22
+ return (_jsx("div", { style: { ...style, ...props.style }, translate: "no", children: _jsx(CustomDivPreflight, { ref: ref, children: _jsx(BlueprintProvider, { ...(rootRef ? { portalContainer: rootRef } : undefined), children: _jsx(RootLayoutProvider, { innerRef: rootRef, children: _jsx(QueryClientProvider, { client: queryClient, children: _jsx(AccordionProvider, { children: props.children }) }) }) }) }) }));
23
23
  }
24
24
  //# sourceMappingURL=RootLayout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RootLayout.js","sourceRoot":"","sources":["../../../src/components/root-layout/RootLayout.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAA4B,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAExE,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,iBAAiB,CAAC,mBAAmB,EAAE,CAAC;AAOxC,MAAM,KAAK,GAAkB;IAC3B,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,MAAM;IACd,QAAQ,EAAE,MAAM;CACjB,CAAC;AAEF,MAAM,UAAU,UAAU,CAAC,KAAsB;IAC/C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CACpC,OAAO,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CACvD,CAAC;IAEF,MAAM,GAAG,GAAG,WAAW,CAAC,CAAC,IAAoB,EAAE,EAAE;QAC/C,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,UAAU,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,cAAK,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,SAAS,EAAC,IAAI,YACtD,KAAC,kBAAkB,IAAC,GAAG,EAAE,GAAG,YAC1B,KAAC,kBAAkB,IAAC,QAAQ,EAAE,OAAO,YACnC,KAAC,mBAAmB,IAAC,MAAM,EAAE,WAAW,YACtC,KAAC,iBAAiB,cAAE,KAAK,CAAC,QAAQ,GAAqB,GACnC,GACH,GACF,GACjB,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"RootLayout.js","sourceRoot":"","sources":["../../../src/components/root-layout/RootLayout.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAA4B,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAExE,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,iBAAiB,CAAC,mBAAmB,EAAE,CAAC;AAOxC,MAAM,KAAK,GAAkB;IAC3B,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,MAAM;IACd,QAAQ,EAAE,MAAM;CACjB,CAAC;AAEF,MAAM,UAAU,UAAU,CAAC,KAAsB;IAC/C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CACpC,OAAO,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CACvD,CAAC;IAEF,MAAM,GAAG,GAAG,WAAW,CAAC,CAAC,IAAoB,EAAE,EAAE;QAC/C,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,UAAU,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,cAAK,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,SAAS,EAAC,IAAI,YACtD,KAAC,kBAAkB,IAAC,GAAG,EAAE,GAAG,YAC1B,KAAC,iBAAiB,OACZ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,YAExD,KAAC,kBAAkB,IAAC,QAAQ,EAAE,OAAO,YACnC,KAAC,mBAAmB,IAAC,MAAM,EAAE,WAAW,YACtC,KAAC,iBAAiB,cAAE,KAAK,CAAC,QAAQ,GAAqB,GACnC,GACH,GACH,GACD,GACjB,CACP,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-science",
3
- "version": "1.0.1",
3
+ "version": "2.0.0",
4
4
  "description": "React components to build scientific applications UI",
5
5
  "exports": {
6
6
  "./app": {
@@ -86,7 +86,7 @@
86
86
  "ml-peak-shape-generator": "^4.1.2",
87
87
  "ml-signal-processing": "^1.0.4",
88
88
  "ml-spectra-processing": "^14.2.2",
89
- "ms-spectrum": "^3.4.3",
89
+ "ms-spectrum": "^3.4.4",
90
90
  "netcdfjs": "^3.0.0",
91
91
  "react-d3-utils": "^1.0.0",
92
92
  "react-dropzone": "^14.2.3",
@@ -107,13 +107,13 @@
107
107
  "@babel/preset-react": "^7.23.3",
108
108
  "@blueprintjs/core": "^5.10.0",
109
109
  "@blueprintjs/icons": "^5.8.0",
110
- "@playwright/experimental-ct-react": "~1.41.0",
111
- "@playwright/test": "~1.41.0",
112
- "@storybook/addon-essentials": "7.6.16",
113
- "@storybook/addon-storysource": "7.6.16",
114
- "@storybook/blocks": "7.6.16",
115
- "@storybook/react": "7.6.16",
116
- "@storybook/react-vite": "7.6.16",
110
+ "@playwright/experimental-ct-react": "^1.42.1",
111
+ "@playwright/test": "^1.42.1",
112
+ "@storybook/addon-essentials": "^8.0.0",
113
+ "@storybook/addon-storysource": "^8.0.0",
114
+ "@storybook/blocks": "^8.0.0",
115
+ "@storybook/react": "^8.0.0",
116
+ "@storybook/react-vite": "^8.0.0",
117
117
  "@types/babel__core": "^7.20.5",
118
118
  "@types/d3-scale-chromatic": "^3.0.3",
119
119
  "@types/lodash": "^4.17.0",
@@ -133,7 +133,7 @@
133
133
  "react-dom": "^18.2.0",
134
134
  "react-ocl": "^6.1.0",
135
135
  "rimraf": "^5.0.5",
136
- "storybook": "7.6.16",
136
+ "storybook": "^8.0.0",
137
137
  "typescript": "^5.4.2",
138
138
  "vite": "^5.1.6",
139
139
  "vitest": "^1.4.0"
@@ -18,6 +18,7 @@ export function AboutDialogToolbarButton(props: AboutDialogToolbarButtonProps) {
18
18
  <>
19
19
  <Toolbar.Item title={`About ${name}`} onClick={openDialog} icon={icon} />
20
20
  <Dialog
21
+ shouldReturnFocusOnClose={false}
21
22
  isOpen={isOpenDialog}
22
23
  onClose={closeDialog}
23
24
  title={name}
@@ -7,7 +7,6 @@ export * from './fullscreen/index';
7
7
  export * from './header/index';
8
8
  export * from './hooks/index';
9
9
  export * from './info-panel/index';
10
- export * from './layout-manager/index';
11
10
  export * from './dialog/index';
12
11
  export * from './root-layout/index';
13
12
  export * from './split-pane/index';
@@ -1,11 +1,8 @@
1
1
  /** @jsxImportSource @emotion/react */
2
- import { InputGroup } from '@blueprintjs/core';
2
+ import { Icon, InputGroup } from '@blueprintjs/core';
3
3
  import { css } from '@emotion/react';
4
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment, @typescript-eslint/prefer-ts-expect-error
5
- // @ts-ignore
6
4
  import { Disclosure } from '@headlessui/react';
7
- import { CSSProperties, useState } from 'react';
8
- import { FaChevronRight } from 'react-icons/fa';
5
+ import { CSSProperties, useCallback, useMemo, useState } from 'react';
9
6
 
10
7
  import { ValueRenderers } from '../index';
11
8
  import { Table } from '../table/Table';
@@ -31,87 +28,165 @@ const style = {
31
28
  transition: 'all 0.3s ease-in-out',
32
29
  }),
33
30
  button: css({
31
+ borderBottom: '1px solid #f5f5f5',
34
32
  display: 'flex',
35
33
  alignItems: 'center',
36
34
  gap: 5,
37
35
  padding: '5px 2px',
36
+ width: '100%',
37
+ ':hover': {
38
+ backgroundColor: '#f5f5f5',
39
+ },
38
40
  }),
39
41
  };
40
42
 
41
43
  export function InfoPanel(props: InfoPanelProps) {
42
44
  const [search, setSearch] = useState('');
43
45
  const { title = 'Information', data = [], titleStyle, inputStyle } = props;
44
- function viewData(data: Record<string, string | number | object>) {
45
- const exactMatch: Array<[string, string | number | object]> = [];
46
- const startsWith: Array<[string, string | number | object]> = [];
47
- const includes: Array<[string, string | number | object]> = [];
48
- const valueContains: Array<[string, string | number | object]> = [];
46
+ const viewData = useCallback(
47
+ (data: Record<string, string | number | object>) => {
48
+ const exactMatch: Array<[string, string | number | object]> = [];
49
+ const startsWith: Array<[string, string | number | object]> = [];
50
+ const includes: Array<[string, string | number | object]> = [];
51
+ const valueContains: Array<[string, string | number | object]> = [];
49
52
 
50
- for (const [key, value] of Object.entries(data)) {
51
- if (key === search) {
52
- exactMatch.push([key, value]);
53
- continue;
53
+ for (const [key, value] of Object.entries(data).sort(([a], [b]) =>
54
+ a.localeCompare(b),
55
+ )) {
56
+ const lowerKey = key.toLowerCase();
57
+ const lowerSearch = search.toLowerCase();
58
+ if (lowerKey === lowerSearch) {
59
+ exactMatch.push([key, value]);
60
+ continue;
61
+ }
62
+ if (lowerKey.startsWith(lowerSearch)) {
63
+ startsWith.push([key, value]);
64
+ continue;
65
+ }
66
+ if (lowerKey.includes(lowerSearch)) {
67
+ includes.push([key, value]);
68
+ continue;
69
+ }
70
+ if (valueSearch(value, search)) {
71
+ valueContains.push([key, value]);
72
+ continue;
73
+ }
54
74
  }
55
- if (key.startsWith(search)) {
56
- startsWith.push([key, value]);
57
- continue;
58
- }
59
- if (key.includes(search)) {
60
- includes.push([key, value]);
61
- continue;
62
- }
63
- if (valueSearch(value, search)) {
64
- valueContains.push([key, value]);
65
- continue;
75
+ return [...exactMatch, ...startsWith, ...includes, ...valueContains];
76
+ },
77
+ [search],
78
+ );
79
+ const { filteredData, total, count } = useMemo(() => {
80
+ const filteredData: Array<
81
+ Omit<InfoPanelData, 'data'> & {
82
+ data: Array<[string, string | number | object]>;
66
83
  }
84
+ > = [];
85
+ let total = 0;
86
+ let count = 0;
87
+ for (const { data: dataContent, ...other } of data) {
88
+ total += Object.entries(dataContent).length;
89
+ const content = viewData(dataContent);
90
+ if (content.length === 0) continue;
91
+ filteredData.push({ data: content, ...other });
92
+ count += content.length;
67
93
  }
68
- return [...exactMatch, ...startsWith, ...includes, ...valueContains].map(
69
- ([key, value]) => (
70
- <Table.Row key={key}>
71
- <ValueRenderers.Text value={key} />
72
- {valueCell(value)}
73
- </Table.Row>
74
- ),
75
- );
76
- }
94
+ return { filteredData, total, count };
95
+ }, [data, viewData]);
77
96
  return (
78
97
  <div css={style.container}>
79
98
  <div style={titleStyle}>{title}</div>
80
- <InputGroup
81
- placeholder="search for a parameter ..."
82
- value={search}
83
- onChange={({ target }) => {
84
- if (target.value !== undefined) setSearch(target.value);
99
+ <div
100
+ tabIndex={0}
101
+ css={css({
102
+ zIndex: 10,
103
+ marginTop: '5px',
104
+ position: 'sticky',
105
+ backgroundColor: 'white',
106
+ top: '5px',
107
+ display: 'flex',
108
+ alignItems: 'center',
109
+ gap: 6,
110
+ width: '100%',
111
+ })}
112
+ >
113
+ <InputGroup
114
+ css={css({
115
+ flexGrow: 1,
116
+ })}
117
+ placeholder="search for a parameter ..."
118
+ value={search}
119
+ onChange={({ target }) => {
120
+ if (target.value !== undefined) {
121
+ setSearch(target.value);
122
+ }
123
+ }}
124
+ style={inputStyle}
125
+ leftIcon="search"
126
+ type="search"
127
+ fill
128
+ />
129
+ [{count}/{total}]
130
+ </div>
131
+ <div
132
+ style={{
133
+ marginTop: '5px',
134
+ display: 'flex',
135
+ flexDirection: 'column',
136
+ gap: '5px',
85
137
  }}
86
- style={inputStyle}
87
- leftIcon="search"
88
- type="search"
89
- />
90
-
91
- {data.map(({ description, data }) => {
92
- const content = viewData(data);
93
- return content.length > 0 ? (
94
- <Disclosure defaultOpen key={description}>
95
- {({ open }) => (
96
- <>
97
- <Disclosure.Button css={style.button}>
98
- <FaChevronRight css={style.chevron(open)} />
99
- {description}
100
- </Disclosure.Button>
101
- <Disclosure.Panel>
102
- <Table bordered>
103
- <Table.Header>
104
- <ValueRenderers.Header value="Parameter" />
105
- <ValueRenderers.Header value="Value" />
106
- </Table.Header>
107
- {content}
108
- </Table>
109
- </Disclosure.Panel>
110
- </>
111
- )}
112
- </Disclosure>
113
- ) : null;
114
- })}
138
+ >
139
+ {filteredData.map(({ description, data }) => {
140
+ return (
141
+ <Disclosure defaultOpen key={description}>
142
+ {({ open }) => (
143
+ <>
144
+ <Disclosure.Button css={style.button}>
145
+ <Icon icon="chevron-right" css={style.chevron(open)} />
146
+ {description}
147
+ </Disclosure.Button>
148
+ <Disclosure.Panel>
149
+ <Table
150
+ striped
151
+ css={css({
152
+ width: '100%',
153
+ 'td:first-child': {
154
+ width: '30%',
155
+ },
156
+ })}
157
+ compact
158
+ >
159
+ <Table.Header>
160
+ <ValueRenderers.Header
161
+ style={{ width: '50px' }}
162
+ value="Parameter"
163
+ />
164
+ <ValueRenderers.Header value="Value" />
165
+ </Table.Header>
166
+ {data.map(([key, value]) => (
167
+ <Table.Row
168
+ key={key}
169
+ bordered
170
+ style={{
171
+ height: '10px',
172
+ padding: '0 !imporant',
173
+ }}
174
+ >
175
+ <ValueRenderers.Text
176
+ style={{ width: '50px' }}
177
+ value={key}
178
+ />
179
+ {valueCell(value)}
180
+ </Table.Row>
181
+ ))}
182
+ </Table>
183
+ </Disclosure.Panel>
184
+ </>
185
+ )}
186
+ </Disclosure>
187
+ );
188
+ })}
189
+ </div>
115
190
  </div>
116
191
  );
117
192
  }
@@ -145,7 +220,12 @@ function valueCell(value: number | string | object | boolean) {
145
220
  function valueSearch(
146
221
  value: number | string | object | boolean,
147
222
  search: string,
223
+ lowerCase = true,
148
224
  ): boolean {
225
+ if (lowerCase) {
226
+ value = String(value).toLowerCase();
227
+ search = search.toLowerCase();
228
+ }
149
229
  switch (typeof value) {
150
230
  case 'number':
151
231
  return String(value).includes(search);
@@ -1,4 +1,4 @@
1
- import { FocusStyleManager } from '@blueprintjs/core';
1
+ import { BlueprintProvider, FocusStyleManager } from '@blueprintjs/core';
2
2
  import { QueryClientProvider } from '@tanstack/react-query';
3
3
  import { CSSProperties, ReactNode, useCallback, useState } from 'react';
4
4
 
@@ -35,11 +35,15 @@ export function RootLayout(props: RootLayoutProps) {
35
35
  return (
36
36
  <div style={{ ...style, ...props.style }} translate="no">
37
37
  <CustomDivPreflight ref={ref}>
38
- <RootLayoutProvider innerRef={rootRef}>
39
- <QueryClientProvider client={queryClient}>
40
- <AccordionProvider>{props.children}</AccordionProvider>
41
- </QueryClientProvider>
42
- </RootLayoutProvider>
38
+ <BlueprintProvider
39
+ {...(rootRef ? { portalContainer: rootRef } : undefined)}
40
+ >
41
+ <RootLayoutProvider innerRef={rootRef}>
42
+ <QueryClientProvider client={queryClient}>
43
+ <AccordionProvider>{props.children}</AccordionProvider>
44
+ </QueryClientProvider>
45
+ </RootLayoutProvider>
46
+ </BlueprintProvider>
43
47
  </CustomDivPreflight>
44
48
  </div>
45
49
  );
@@ -1,18 +0,0 @@
1
- import { FunctionComponent, ComponentType } from 'react';
2
- declare const layoutComponents: ComponentsMap;
3
- type ComponentsMap = Record<string, ComponentType<any>>;
4
- interface LayoutManagerProps {
5
- layout: Layout;
6
- components?: ComponentsMap;
7
- }
8
- export interface Layout {
9
- layout: LayoutComponent | any;
10
- }
11
- interface LayoutComponent {
12
- id: string;
13
- component: keyof typeof layoutComponents | FunctionComponent;
14
- children?: LayoutComponent[];
15
- }
16
- export declare function LayoutManager(props: LayoutManagerProps): JSX.Element | null;
17
- export {};
18
- //# sourceMappingURL=LayoutManager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LayoutManager.d.ts","sourceRoot":"","sources":["../../../src/components/layout-manager/LayoutManager.tsx"],"names":[],"mappings":"AACA,OAAO,EAEL,iBAAiB,EACjB,aAAa,EAEd,MAAM,OAAO,CAAC;AAMf,QAAA,MAAM,gBAAgB,EAAE,aAIvB,CAAC;AAEF,KAAK,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;AAExD,UAAU,kBAAkB;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,aAAa,CAAC;CAC5B;AAED,MAAM,WAAW,MAAM;IAErB,MAAM,EAAE,eAAe,GAAG,GAAG,CAAC;CAC/B;AACD,UAAU,eAAe;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,OAAO,gBAAgB,GAAG,iBAAiB,CAAC;IAC7D,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;CAC9B;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,sBAGtD"}
@@ -1,51 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LayoutManager = void 0;
4
- const uuid_1 = require("@lukeed/uuid");
5
- const react_1 = require("react");
6
- const Accordion_1 = require("../accordion/Accordion");
7
- const DropZone_1 = require("../drop-zone/DropZone");
8
- const SplitPane_1 = require("../split-pane/SplitPane");
9
- const layoutComponents = {
10
- SplitPane: SplitPane_1.SplitPane,
11
- Accordion: Accordion_1.Accordion,
12
- DropZone: DropZone_1.DropZone,
13
- };
14
- function LayoutManager(props) {
15
- const { layout, components } = props;
16
- return createLayout(layout, components);
17
- }
18
- exports.LayoutManager = LayoutManager;
19
- function createLayoutComponent(com, components, props = {}) {
20
- const { id, component, children, ...compProps } = com;
21
- const componentId = id || (0, uuid_1.v4)();
22
- const componentNode = findComponent(component, components);
23
- if (componentNode) {
24
- const componentProps = { id: componentId, ...compProps, ...props };
25
- const childrenComp = children && typeof children === 'string'
26
- ? children
27
- : createElements(children, components);
28
- return (0, react_1.createElement)(componentNode,
29
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
30
- componentProps, childrenComp);
31
- }
32
- return null;
33
- }
34
- function createLayout(layout, components) {
35
- return createLayoutComponent(layout.layout, components);
36
- }
37
- function createElements(children, components) {
38
- return children?.map((comp, index) => createLayoutComponent(comp, components, { key: index }));
39
- }
40
- function findComponent(component, definedComponents) {
41
- if (typeof component === 'function')
42
- return component;
43
- if (typeof component === 'string') {
44
- if (definedComponents?.[component])
45
- return definedComponents[component];
46
- if (layoutComponents[component])
47
- return layoutComponents[component];
48
- }
49
- return null;
50
- }
51
- //# sourceMappingURL=LayoutManager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LayoutManager.js","sourceRoot":"","sources":["../../../src/components/layout-manager/LayoutManager.tsx"],"names":[],"mappings":";;;AAAA,uCAA0C;AAC1C,iCAKe;AAEf,sDAAmD;AACnD,oDAAiD;AACjD,uDAAoD;AAEpD,MAAM,gBAAgB,GAAkB;IACtC,SAAS,EAAT,qBAAS;IACT,SAAS,EAAT,qBAAS;IACT,QAAQ,EAAR,mBAAQ;CACT,CAAC;AAmBF,SAAgB,aAAa,CAAC,KAAyB;IACrD,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IACrC,OAAO,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAC1C,CAAC;AAHD,sCAGC;AAED,SAAS,qBAAqB,CAC5B,GAAoB,EACpB,UAA4C,EAC5C,KAAK,GAAG,EAAE;IAEV,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,GAAG,GAAG,CAAC;IACtD,MAAM,WAAW,GAAG,EAAE,IAAI,IAAA,SAAI,GAAE,CAAC;IACjC,MAAM,aAAa,GAAG,aAAa,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAE3D,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,cAAc,GAAG,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK,EAAE,CAAC;QACnE,MAAM,YAAY,GAChB,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ;YACtC,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,cAAc,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAE3C,OAAO,IAAA,qBAAa,EAClB,aAAa;QACb,8DAA8D;QAC9D,cAAqB,EACrB,YAAY,CACb,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,YAAY,CACnB,MAAc,EACd,UAA4C;IAE5C,OAAO,qBAAqB,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,cAAc,CACrB,QAAuC,EACvC,UAA4C;IAE5C,OAAO,QAAQ,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACnC,qBAAqB,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CACxD,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CACpB,SAAuC,EACvC,iBAAmD;IAEnD,IAAI,OAAO,SAAS,KAAK,UAAU;QAAE,OAAO,SAAS,CAAC;IAEtD,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAClC,IAAI,iBAAiB,EAAE,CAAC,SAAS,CAAC;YAAE,OAAO,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACxE,IAAI,gBAAgB,CAAC,SAAS,CAAC;YAAE,OAAO,gBAAgB,CAAC,SAAS,CAAC,CAAC;IACtE,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,2 +0,0 @@
1
- export * from './LayoutManager';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/layout-manager/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
@@ -1,18 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./LayoutManager"), exports);
18
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/layout-manager/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC"}
@@ -1,18 +0,0 @@
1
- import { FunctionComponent, ComponentType } from 'react';
2
- declare const layoutComponents: ComponentsMap;
3
- type ComponentsMap = Record<string, ComponentType<any>>;
4
- interface LayoutManagerProps {
5
- layout: Layout;
6
- components?: ComponentsMap;
7
- }
8
- export interface Layout {
9
- layout: LayoutComponent | any;
10
- }
11
- interface LayoutComponent {
12
- id: string;
13
- component: keyof typeof layoutComponents | FunctionComponent;
14
- children?: LayoutComponent[];
15
- }
16
- export declare function LayoutManager(props: LayoutManagerProps): JSX.Element | null;
17
- export {};
18
- //# sourceMappingURL=LayoutManager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LayoutManager.d.ts","sourceRoot":"","sources":["../../../src/components/layout-manager/LayoutManager.tsx"],"names":[],"mappings":"AACA,OAAO,EAEL,iBAAiB,EACjB,aAAa,EAEd,MAAM,OAAO,CAAC;AAMf,QAAA,MAAM,gBAAgB,EAAE,aAIvB,CAAC;AAEF,KAAK,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;AAExD,UAAU,kBAAkB;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,aAAa,CAAC;CAC5B;AAED,MAAM,WAAW,MAAM;IAErB,MAAM,EAAE,eAAe,GAAG,GAAG,CAAC;CAC/B;AACD,UAAU,eAAe;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,OAAO,gBAAgB,GAAG,iBAAiB,CAAC;IAC7D,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;CAC9B;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,sBAGtD"}
@@ -1,47 +0,0 @@
1
- import { v4 as uuid } from '@lukeed/uuid';
2
- import { createElement, } from 'react';
3
- import { Accordion } from '../accordion/Accordion';
4
- import { DropZone } from '../drop-zone/DropZone';
5
- import { SplitPane } from '../split-pane/SplitPane';
6
- const layoutComponents = {
7
- SplitPane,
8
- Accordion,
9
- DropZone,
10
- };
11
- export function LayoutManager(props) {
12
- const { layout, components } = props;
13
- return createLayout(layout, components);
14
- }
15
- function createLayoutComponent(com, components, props = {}) {
16
- const { id, component, children, ...compProps } = com;
17
- const componentId = id || uuid();
18
- const componentNode = findComponent(component, components);
19
- if (componentNode) {
20
- const componentProps = { id: componentId, ...compProps, ...props };
21
- const childrenComp = children && typeof children === 'string'
22
- ? children
23
- : createElements(children, components);
24
- return createElement(componentNode,
25
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
26
- componentProps, childrenComp);
27
- }
28
- return null;
29
- }
30
- function createLayout(layout, components) {
31
- return createLayoutComponent(layout.layout, components);
32
- }
33
- function createElements(children, components) {
34
- return children?.map((comp, index) => createLayoutComponent(comp, components, { key: index }));
35
- }
36
- function findComponent(component, definedComponents) {
37
- if (typeof component === 'function')
38
- return component;
39
- if (typeof component === 'string') {
40
- if (definedComponents?.[component])
41
- return definedComponents[component];
42
- if (layoutComponents[component])
43
- return layoutComponents[component];
44
- }
45
- return null;
46
- }
47
- //# sourceMappingURL=LayoutManager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LayoutManager.js","sourceRoot":"","sources":["../../../src/components/layout-manager/LayoutManager.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EACL,aAAa,GAId,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEpD,MAAM,gBAAgB,GAAkB;IACtC,SAAS;IACT,SAAS;IACT,QAAQ;CACT,CAAC;AAmBF,MAAM,UAAU,aAAa,CAAC,KAAyB;IACrD,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IACrC,OAAO,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,qBAAqB,CAC5B,GAAoB,EACpB,UAA4C,EAC5C,KAAK,GAAG,EAAE;IAEV,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,GAAG,GAAG,CAAC;IACtD,MAAM,WAAW,GAAG,EAAE,IAAI,IAAI,EAAE,CAAC;IACjC,MAAM,aAAa,GAAG,aAAa,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAE3D,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,cAAc,GAAG,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK,EAAE,CAAC;QACnE,MAAM,YAAY,GAChB,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ;YACtC,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,cAAc,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAE3C,OAAO,aAAa,CAClB,aAAa;QACb,8DAA8D;QAC9D,cAAqB,EACrB,YAAY,CACb,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,YAAY,CACnB,MAAc,EACd,UAA4C;IAE5C,OAAO,qBAAqB,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,cAAc,CACrB,QAAuC,EACvC,UAA4C;IAE5C,OAAO,QAAQ,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACnC,qBAAqB,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CACxD,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CACpB,SAAuC,EACvC,iBAAmD;IAEnD,IAAI,OAAO,SAAS,KAAK,UAAU;QAAE,OAAO,SAAS,CAAC;IAEtD,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAClC,IAAI,iBAAiB,EAAE,CAAC,SAAS,CAAC;YAAE,OAAO,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACxE,IAAI,gBAAgB,CAAC,SAAS,CAAC;YAAE,OAAO,gBAAgB,CAAC,SAAS,CAAC,CAAC;IACtE,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,2 +0,0 @@
1
- export * from './LayoutManager';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/layout-manager/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
@@ -1,2 +0,0 @@
1
- export * from './LayoutManager';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/layout-manager/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
@@ -1,95 +0,0 @@
1
- import { v4 as uuid } from '@lukeed/uuid';
2
- import {
3
- createElement,
4
- FunctionComponent,
5
- ComponentType,
6
- ReactNode,
7
- } from 'react';
8
-
9
- import { Accordion } from '../accordion/Accordion';
10
- import { DropZone } from '../drop-zone/DropZone';
11
- import { SplitPane } from '../split-pane/SplitPane';
12
-
13
- const layoutComponents: ComponentsMap = {
14
- SplitPane,
15
- Accordion,
16
- DropZone,
17
- };
18
-
19
- type ComponentsMap = Record<string, ComponentType<any>>;
20
-
21
- interface LayoutManagerProps {
22
- layout: Layout;
23
- components?: ComponentsMap;
24
- }
25
-
26
- export interface Layout {
27
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
28
- layout: LayoutComponent | any;
29
- }
30
- interface LayoutComponent {
31
- id: string;
32
- component: keyof typeof layoutComponents | FunctionComponent;
33
- children?: LayoutComponent[];
34
- }
35
-
36
- export function LayoutManager(props: LayoutManagerProps) {
37
- const { layout, components } = props;
38
- return createLayout(layout, components);
39
- }
40
-
41
- function createLayoutComponent(
42
- com: LayoutComponent,
43
- components: LayoutManagerProps['components'],
44
- props = {},
45
- ): JSX.Element | null {
46
- const { id, component, children, ...compProps } = com;
47
- const componentId = id || uuid();
48
- const componentNode = findComponent(component, components);
49
-
50
- if (componentNode) {
51
- const componentProps = { id: componentId, ...compProps, ...props };
52
- const childrenComp =
53
- children && typeof children === 'string'
54
- ? children
55
- : createElements(children, components);
56
-
57
- return createElement(
58
- componentNode,
59
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
60
- componentProps as any,
61
- childrenComp,
62
- );
63
- }
64
- return null;
65
- }
66
-
67
- function createLayout(
68
- layout: Layout,
69
- components: LayoutManagerProps['components'],
70
- ) {
71
- return createLayoutComponent(layout.layout, components);
72
- }
73
-
74
- function createElements(
75
- children: LayoutComponent[] | undefined,
76
- components: LayoutManagerProps['components'],
77
- ): ReactNode[] | undefined {
78
- return children?.map((comp, index) =>
79
- createLayoutComponent(comp, components, { key: index }),
80
- );
81
- }
82
-
83
- function findComponent(
84
- component: LayoutComponent['component'],
85
- definedComponents: LayoutManagerProps['components'],
86
- ): ComponentType<any> | null {
87
- if (typeof component === 'function') return component;
88
-
89
- if (typeof component === 'string') {
90
- if (definedComponents?.[component]) return definedComponents[component];
91
- if (layoutComponents[component]) return layoutComponents[component];
92
- }
93
-
94
- return null;
95
- }
@@ -1 +0,0 @@
1
- export * from './LayoutManager';