react-science 0.19.2 → 0.20.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 (126) hide show
  1. package/lib/app/about/AboutDialogToolbarButton.js +10 -10
  2. package/lib/app/explorer/MeasurementExplorer.js +36 -43
  3. package/lib/app/helpers/react-plot.js +16 -13
  4. package/lib/app/kinds/iv/plot-view/IvPlotView.js +14 -13
  5. package/lib/app/panels/measurements/MeasurementCheckbox.js +10 -8
  6. package/lib/app/panels/measurements/MeasurementColorPreview.js +9 -7
  7. package/lib/app/panels/measurements/MeasurementsTable.js +81 -94
  8. package/lib/components/button/ButtonGroup.js +31 -43
  9. package/lib/components/color-picker/color-picker-dropdown/ColorPickerDropdown.js +18 -21
  10. package/lib/components/drop-zone/DropZone.js +48 -48
  11. package/lib/components/dropdown-menu/DropdownMenu.js +4 -4
  12. package/lib/components/forms/Input.js +150 -0
  13. package/lib/components/forms/context/FieldsContext.js +54 -0
  14. package/lib/components/forms/context/index.js +17 -0
  15. package/lib/components/forms/index.js +18 -0
  16. package/lib/components/index.js +1 -0
  17. package/lib/components/modal/ConfirmModal.js +40 -29
  18. package/lib/components/modal/Modal.js +45 -34
  19. package/lib/components/root-layout/RootLayout.js +1 -1
  20. package/lib/components/root-layout/css-reset/customPreflight.js +10 -3
  21. package/lib/components/spinner/FullSpinner.js +10 -7
  22. package/lib-esm/app/about/AboutDialogToolbarButton.d.ts +1 -1
  23. package/lib-esm/app/about/AboutDialogToolbarButton.d.ts.map +1 -1
  24. package/lib-esm/app/about/AboutDialogToolbarButton.js +7 -10
  25. package/lib-esm/app/about/AboutDialogToolbarButton.js.map +1 -1
  26. package/lib-esm/app/explorer/MeasurementExplorer.d.ts +2 -1
  27. package/lib-esm/app/explorer/MeasurementExplorer.d.ts.map +1 -1
  28. package/lib-esm/app/explorer/MeasurementExplorer.js +31 -41
  29. package/lib-esm/app/explorer/MeasurementExplorer.js.map +1 -1
  30. package/lib-esm/app/helpers/MeasurementPlot.js.map +1 -1
  31. package/lib-esm/app/helpers/react-plot.d.ts +4 -2
  32. package/lib-esm/app/helpers/react-plot.d.ts.map +1 -1
  33. package/lib-esm/app/helpers/react-plot.js +11 -11
  34. package/lib-esm/app/helpers/react-plot.js.map +1 -1
  35. package/lib-esm/app/kinds/iv/plot-view/IvPlotView.d.ts +2 -1
  36. package/lib-esm/app/kinds/iv/plot-view/IvPlotView.d.ts.map +1 -1
  37. package/lib-esm/app/kinds/iv/plot-view/IvPlotView.js +14 -13
  38. package/lib-esm/app/kinds/iv/plot-view/IvPlotView.js.map +1 -1
  39. package/lib-esm/app/panels/measurements/MeasurementCheckbox.d.ts +2 -1
  40. package/lib-esm/app/panels/measurements/MeasurementCheckbox.d.ts.map +1 -1
  41. package/lib-esm/app/panels/measurements/MeasurementCheckbox.js +4 -5
  42. package/lib-esm/app/panels/measurements/MeasurementCheckbox.js.map +1 -1
  43. package/lib-esm/app/panels/measurements/MeasurementColorPreview.d.ts +2 -1
  44. package/lib-esm/app/panels/measurements/MeasurementColorPreview.d.ts.map +1 -1
  45. package/lib-esm/app/panels/measurements/MeasurementColorPreview.js +4 -5
  46. package/lib-esm/app/panels/measurements/MeasurementColorPreview.js.map +1 -1
  47. package/lib-esm/app/panels/measurements/MeasurementsTable.d.ts +2 -1
  48. package/lib-esm/app/panels/measurements/MeasurementsTable.d.ts.map +1 -1
  49. package/lib-esm/app/panels/measurements/MeasurementsTable.js +81 -94
  50. package/lib-esm/app/panels/measurements/MeasurementsTable.js.map +1 -1
  51. package/lib-esm/components/button/ButtonGroup.d.ts +2 -2
  52. package/lib-esm/components/button/ButtonGroup.d.ts.map +1 -1
  53. package/lib-esm/components/button/ButtonGroup.js +28 -43
  54. package/lib-esm/components/button/ButtonGroup.js.map +1 -1
  55. package/lib-esm/components/color-picker/color-picker-dropdown/ColorPickerDropdown.d.ts +2 -1
  56. package/lib-esm/components/color-picker/color-picker-dropdown/ColorPickerDropdown.d.ts.map +1 -1
  57. package/lib-esm/components/color-picker/color-picker-dropdown/ColorPickerDropdown.js +16 -19
  58. package/lib-esm/components/color-picker/color-picker-dropdown/ColorPickerDropdown.js.map +1 -1
  59. package/lib-esm/components/drop-zone/DropZone.d.ts +2 -2
  60. package/lib-esm/components/drop-zone/DropZone.d.ts.map +1 -1
  61. package/lib-esm/components/drop-zone/DropZone.js +42 -45
  62. package/lib-esm/components/drop-zone/DropZone.js.map +1 -1
  63. package/lib-esm/components/dropdown-menu/DropdownMenu.js +4 -4
  64. package/lib-esm/components/dropdown-menu/DropdownMenu.js.map +1 -1
  65. package/lib-esm/components/forms/Input.d.ts +17 -0
  66. package/lib-esm/components/forms/Input.d.ts.map +1 -0
  67. package/lib-esm/components/forms/Input.js +144 -0
  68. package/lib-esm/components/forms/Input.js.map +1 -0
  69. package/lib-esm/components/forms/context/FieldsContext.d.ts +16 -0
  70. package/lib-esm/components/forms/context/FieldsContext.d.ts.map +1 -0
  71. package/lib-esm/components/forms/context/FieldsContext.js +47 -0
  72. package/lib-esm/components/forms/context/FieldsContext.js.map +1 -0
  73. package/lib-esm/components/forms/context/index.d.ts +2 -0
  74. package/lib-esm/components/forms/context/index.d.ts.map +1 -0
  75. package/lib-esm/components/forms/context/index.js +2 -0
  76. package/lib-esm/components/forms/context/index.js.map +1 -0
  77. package/lib-esm/components/forms/index.d.ts +3 -0
  78. package/lib-esm/components/forms/index.d.ts.map +1 -0
  79. package/lib-esm/components/forms/index.js +3 -0
  80. package/lib-esm/components/forms/index.js.map +1 -0
  81. package/lib-esm/components/index.d.ts +1 -0
  82. package/lib-esm/components/index.d.ts.map +1 -1
  83. package/lib-esm/components/index.js +1 -0
  84. package/lib-esm/components/index.js.map +1 -1
  85. package/lib-esm/components/modal/ConfirmModal.d.ts +1 -1
  86. package/lib-esm/components/modal/ConfirmModal.d.ts.map +1 -1
  87. package/lib-esm/components/modal/ConfirmModal.js +37 -29
  88. package/lib-esm/components/modal/ConfirmModal.js.map +1 -1
  89. package/lib-esm/components/modal/Modal.d.ts +4 -4
  90. package/lib-esm/components/modal/Modal.d.ts.map +1 -1
  91. package/lib-esm/components/modal/Modal.js +45 -34
  92. package/lib-esm/components/modal/Modal.js.map +1 -1
  93. package/lib-esm/components/root-layout/RootLayout.d.ts.map +1 -1
  94. package/lib-esm/components/root-layout/RootLayout.js +2 -2
  95. package/lib-esm/components/root-layout/RootLayout.js.map +1 -1
  96. package/lib-esm/components/root-layout/css-reset/customPreflight.d.ts +5 -1
  97. package/lib-esm/components/root-layout/css-reset/customPreflight.d.ts.map +1 -1
  98. package/lib-esm/components/root-layout/css-reset/customPreflight.js +6 -2
  99. package/lib-esm/components/root-layout/css-reset/customPreflight.js.map +1 -1
  100. package/lib-esm/components/spinner/FullSpinner.d.ts +7 -1
  101. package/lib-esm/components/spinner/FullSpinner.d.ts.map +1 -1
  102. package/lib-esm/components/spinner/FullSpinner.js +8 -8
  103. package/lib-esm/components/spinner/FullSpinner.js.map +1 -1
  104. package/package.json +1 -1
  105. package/src/app/about/AboutDialogToolbarButton.tsx +6 -9
  106. package/src/app/explorer/MeasurementExplorer.tsx +47 -59
  107. package/src/app/helpers/MeasurementPlot.tsx +1 -0
  108. package/src/app/helpers/react-plot.tsx +24 -19
  109. package/src/app/kinds/iv/plot-view/IvPlotView.tsx +18 -19
  110. package/src/app/panels/measurements/MeasurementCheckbox.tsx +3 -5
  111. package/src/app/panels/measurements/MeasurementColorPreview.tsx +4 -6
  112. package/src/app/panels/measurements/MeasurementsTable.tsx +112 -115
  113. package/src/components/button/ButtonGroup.tsx +30 -44
  114. package/src/components/color-picker/color-picker-dropdown/ColorPickerDropdown.tsx +19 -26
  115. package/src/components/drop-zone/DropZone.tsx +54 -56
  116. package/src/components/dropdown-menu/DropdownMenu.tsx +19 -17
  117. package/src/components/forms/Input.tsx +255 -0
  118. package/src/components/forms/context/FieldsContext.tsx +82 -0
  119. package/src/components/forms/context/index.ts +1 -0
  120. package/src/components/forms/index.ts +2 -0
  121. package/src/components/index.ts +1 -0
  122. package/src/components/modal/ConfirmModal.tsx +49 -44
  123. package/src/components/modal/Modal.tsx +54 -58
  124. package/src/components/root-layout/RootLayout.tsx +3 -7
  125. package/src/components/root-layout/css-reset/customPreflight.ts +6 -2
  126. package/src/components/spinner/FullSpinner.tsx +14 -9
@@ -27,10 +27,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
29
  exports.ColorPickerDropdown = void 0;
30
- const jsx_runtime_1 = require("@emotion/react/jsx-runtime");
31
- /** @jsxImportSource @emotion/react */
32
- const react_1 = require("@emotion/react");
33
- const react_2 = require("react");
30
+ const jsx_runtime_1 = require("react/jsx-runtime");
31
+ const styled_1 = __importDefault(require("@emotion/styled"));
32
+ const react_1 = require("react");
34
33
  const useModifiedPopper_1 = require("../../hooks/useModifiedPopper");
35
34
  const useOnClickOutside_1 = require("../../hooks/useOnClickOutside");
36
35
  const useOnOff_1 = require("../../hooks/useOnOff");
@@ -38,24 +37,22 @@ const Portal_1 = require("../../root-layout/Portal");
38
37
  const FixedColorPreview_1 = __importDefault(require("../preview/FixedColorPreview"));
39
38
  const ColorPicker_1 = require("../react-color/ColorPicker");
40
39
  const colorHelper = __importStar(require("../react-color/helpers/color"));
41
- const colorPickerDropdownCss = {
42
- root: (0, react_1.css) `
43
- position: relative;
44
- width: 100%;
45
- border: 1px solid darkgray;
46
- border-radius: 0.25rem;
47
- height: 30px;
48
- padding: 5px;
49
- `,
50
- preview: (0, react_1.css) `
51
- height: 100%;
52
- width: 100%;
53
- border-radius: 0.125rem;
54
- `,
55
- };
40
+ const ColorPickerRoot = styled_1.default.button `
41
+ position: relative;
42
+ width: 100%;
43
+ border: 1px solid darkgray;
44
+ border-radius: 0.25rem;
45
+ height: 30px;
46
+ padding: 5px;
47
+ `;
48
+ const ColorPickerPreview = styled_1.default.div `
49
+ height: 100%;
50
+ width: 100%;
51
+ border-radius: 0.125rem;
52
+ `;
56
53
  function ColorPickerDropdown(props) {
57
54
  const { color, ...otherProps } = props;
58
- const ref = (0, react_2.useRef)(null);
55
+ const ref = (0, react_1.useRef)(null);
59
56
  const [isOpened, , close, toggle] = (0, useOnOff_1.useOnOff)(false);
60
57
  const { hex } = colorHelper.toState(color || 'white');
61
58
  const { setReferenceElement, setPopperElement, popperProps } = (0, useModifiedPopper_1.useModifiedPopper)({
@@ -63,7 +60,7 @@ function ColorPickerDropdown(props) {
63
60
  offset: 6,
64
61
  });
65
62
  (0, useOnClickOutside_1.useOnClickOutside)(ref, close);
66
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("button", { type: "button", ref: setReferenceElement, css: colorPickerDropdownCss.root, onClick: toggle, children: (0, jsx_runtime_1.jsx)("div", { css: colorPickerDropdownCss.preview, children: (0, jsx_runtime_1.jsx)(FixedColorPreview_1.default, { color: hex }) }) }), isOpened && ((0, jsx_runtime_1.jsx)(Portal_1.Portal, { children: (0, jsx_runtime_1.jsx)("div", { ref: (div) => {
63
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(ColorPickerRoot, { type: "button", ref: setReferenceElement, onClick: toggle, children: (0, jsx_runtime_1.jsx)(ColorPickerPreview, { children: (0, jsx_runtime_1.jsx)(FixedColorPreview_1.default, { color: hex }) }) }), isOpened && ((0, jsx_runtime_1.jsx)(Portal_1.Portal, { children: (0, jsx_runtime_1.jsx)("div", { ref: (div) => {
67
64
  setPopperElement(div);
68
65
  ref.current = div;
69
66
  }, ...popperProps, children: (0, jsx_runtime_1.jsx)(ColorPicker_1.ColorPicker, { color: color, ...otherProps }) }) }))] }));
@@ -1,47 +1,53 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.DropZoneContainer = exports.DropZone = void 0;
4
- const jsx_runtime_1 = require("@emotion/react/jsx-runtime");
5
- /** @jsxImportSource @emotion/react */
6
- const react_1 = require("@emotion/react");
7
- const react_2 = require("react");
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const styled_1 = __importDefault(require("@emotion/styled"));
9
+ const react_1 = require("react");
8
10
  const react_dropzone_1 = require("react-dropzone");
9
11
  const fa_1 = require("react-icons/fa");
10
- const dropZoneCss = {
11
- root: (0, react_1.css) `
12
- position: relative;
13
- height: 100%;
14
- width: 100%;
15
- `,
16
- dragActive: (0, react_1.css) `
17
- font-size: 1.5em;
18
- font-weight: 600;
19
- position: absolute;
20
- top: 0;
21
- bottom: 0;
22
- left: 0;
23
- right: 0;
24
- opacity: 0.7;
25
- background-color: white;
26
- border: 5px dashed;
27
- display: flex;
28
- flex-direction: column;
29
- align-items: center;
30
- justify-content: center;
31
- `,
32
- empty: (0, react_1.css) `
33
- font-size: 1.5em;
34
- font-weight: 600;
35
- display: flex;
36
- align-items: center;
37
- justify-content: center;
38
- width: 100%;
39
- height: 100%;
40
- padding: 1em;
41
- border: 5px dashed;
42
- cursor: pointer;
43
- `,
44
- };
12
+ const DropzoneRoot = styled_1.default.div `
13
+ position: relative;
14
+ height: 100%;
15
+ width: 100%;
16
+ `;
17
+ const DropzoneDragActive = styled_1.default.div `
18
+ font-size: 1.5em;
19
+ font-weight: 600;
20
+ position: absolute;
21
+ top: 0;
22
+ bottom: 0;
23
+ left: 0;
24
+ right: 0;
25
+ opacity: 0.7;
26
+ background-color: white;
27
+ border: 5px dashed;
28
+ display: flex;
29
+ flex-direction: column;
30
+ align-items: center;
31
+ justify-content: center;
32
+
33
+ border-color: ${({ borderColor }) => borderColor};
34
+ color: ${({ color }) => color};
35
+ `;
36
+ const DropzoneEmpty = styled_1.default.div `
37
+ font-size: 1.5em;
38
+ font-weight: 600;
39
+ display: flex;
40
+ align-items: center;
41
+ justify-content: center;
42
+ width: 100%;
43
+ height: 100%;
44
+ padding: 1em;
45
+ border: 5px dashed;
46
+ cursor: pointer;
47
+
48
+ border-color: ${({ borderColor }) => borderColor};
49
+ color: ${({ color }) => color};
50
+ `;
45
51
  function DropZone(props) {
46
52
  return (0, jsx_runtime_1.jsx)(DropZoneContent, { ...props });
47
53
  }
@@ -53,7 +59,7 @@ exports.DropZoneContainer = DropZoneContainer;
53
59
  function DropZoneContent(props) {
54
60
  const { color = 'black', borderColor = 'gray', children = null, onDrop, emptyText = 'Click or drag and drop to add data.', onClick, fileValidator, } = props;
55
61
  const hasChildren = children !== null;
56
- const handleOnDrop = (0, react_2.useCallback)((acceptedFiles, rejectedFiles) => {
62
+ const handleOnDrop = (0, react_1.useCallback)((acceptedFiles, rejectedFiles) => {
57
63
  onDrop?.(acceptedFiles, rejectedFiles);
58
64
  }, [onDrop]);
59
65
  const { getRootProps, getInputProps, isDragActive } = (0, react_dropzone_1.useDropzone)({
@@ -61,16 +67,10 @@ function DropZoneContent(props) {
61
67
  validator: fileValidator,
62
68
  onDrop: handleOnDrop,
63
69
  });
64
- const getPropsOptions = (0, react_2.useMemo)(() => {
70
+ const getPropsOptions = (0, react_1.useMemo)(() => {
65
71
  if (onClick) {
66
72
  return { onClick };
67
73
  }
68
74
  }, [onClick]);
69
- return ((0, jsx_runtime_1.jsxs)("div", { ...getRootProps(getPropsOptions), css: dropZoneCss.root, children: [children, isDragActive ? ((0, jsx_runtime_1.jsxs)("div", { css: dropZoneCss.dragActive, style: {
70
- borderColor,
71
- color,
72
- }, children: [(0, jsx_runtime_1.jsx)(fa_1.FaCloudUploadAlt, { size: 70 }), (0, jsx_runtime_1.jsx)("p", { children: "Drop the files here." })] })) : !hasChildren ? ((0, jsx_runtime_1.jsx)("div", { css: dropZoneCss.empty, style: {
73
- borderColor,
74
- color,
75
- }, children: emptyText })) : null, (0, jsx_runtime_1.jsx)("input", { ...getInputProps() })] }));
75
+ return ((0, jsx_runtime_1.jsxs)(DropzoneRoot, { ...getRootProps(getPropsOptions), children: [children, isDragActive ? ((0, jsx_runtime_1.jsxs)(DropzoneDragActive, { borderColor: borderColor, color: color, children: [(0, jsx_runtime_1.jsx)(fa_1.FaCloudUploadAlt, { size: 70 }), (0, jsx_runtime_1.jsx)("p", { children: "Drop the files here." })] })) : !hasChildren ? ((0, jsx_runtime_1.jsx)(DropzoneEmpty, { borderColor: borderColor, color: color, children: emptyText })) : null, (0, jsx_runtime_1.jsx)("input", { ...getInputProps() })] }));
76
76
  }
@@ -30,10 +30,10 @@ function DropdownContextMenu(props) {
30
30
  const { isPopperElementOpen, closePopperElement, handleContextMenu, setPopperElement, styles, attributes, } = (0, useContextMenuPlacement_1.useContextMenuPlacement)(otherProps.placement || 'right-start');
31
31
  const ref = (0, react_2.useRef)(null);
32
32
  (0, useOnClickOutside_1.useOnClickOutside)(ref, closePopperElement);
33
- return ((0, jsx_runtime_1.jsxs)(HandleMenuContextDiv, { onContextMenu: handleContextMenu, children: [isPopperElementOpen && ((0, jsx_runtime_1.jsx)("div", { ref: ref, children: (0, jsx_runtime_1.jsx)("div", { ref: setPopperElement, style: styles.popper, ...attributes.popper, children: (0, jsx_runtime_1.jsx)(react_1.Menu, { children: (0, jsx_runtime_1.jsx)(MenuItems_1.MenuItems, { itemsStatic: true, onSelect: (selected) => {
34
- closePopperElement();
35
- onSelect(selected);
36
- }, ...otherProps }) }) }) })), children] }));
33
+ return ((0, jsx_runtime_1.jsxs)(HandleMenuContextDiv, { onContextMenu: handleContextMenu, children: [isPopperElementOpen && ((0, jsx_runtime_1.jsx)(Portal_1.Portal, { children: (0, jsx_runtime_1.jsx)("div", { ref: ref, children: (0, jsx_runtime_1.jsx)("div", { ref: setPopperElement, style: styles.popper, ...attributes.popper, children: (0, jsx_runtime_1.jsx)(react_1.Menu, { children: (0, jsx_runtime_1.jsx)(MenuItems_1.MenuItems, { itemsStatic: true, onSelect: (selected) => {
34
+ closePopperElement();
35
+ onSelect(selected);
36
+ }, ...otherProps }) }) }) }) })), children] }));
37
37
  }
38
38
  function DropdownClickMenu(props) {
39
39
  const { placement = 'bottom-start', onSelect, ...otherProps } = props;
@@ -0,0 +1,150 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Input = void 0;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const styled_1 = __importDefault(require("@emotion/styled"));
9
+ const index_1 = require("../index");
10
+ const FieldsContext_1 = require("./context/FieldsContext");
11
+ const LabelStyled = styled_1.default.label `
12
+ padding: ${(props) => props.variant === 'default'
13
+ ? props.hasTrailing
14
+ ? '2px 9px 4px 9px'
15
+ : '2px 9px'
16
+ : props.hasTrailing
17
+ ? '1px 7px 1px 7px'
18
+ : '1px 7px'};
19
+
20
+ font-size: ${(props) => (props.variant === 'small' ? '1em' : '1.125em')};
21
+ line-height: '17px';
22
+
23
+ background-color: white;
24
+ border-width: 1px;
25
+ align-items: center;
26
+ flex-direction: row;
27
+ flex: 1 1 0%;
28
+ display: flex;
29
+ position: relative;
30
+
31
+ border-top-right-radius: ${(props) => props.hasLeading && !props.hasTrailing && '0.375rem'};
32
+
33
+ border-bottom-right-radius: ${(props) => props.hasLeading && !props.hasTrailing && '0.375rem'};
34
+
35
+ border-top-left-radius: ${(props) => props.hasTrailing && !props.hasLeading && '0.375rem'};
36
+
37
+ border-bottom-left-radius: ${(props) => props.hasTrailing && !props.hasLeading && '0.375rem'};
38
+
39
+ border-radius: ${(props) => !props.hasLeading && !props.hasTrailing && '0.375rem'};
40
+
41
+ border-color: var(--custom-border-color);
42
+ `;
43
+ function getStyleColor(hasError, hasValid) {
44
+ if (hasError) {
45
+ return {
46
+ default: '#ffa39e',
47
+ hover: '#f95d55',
48
+ };
49
+ }
50
+ if (hasValid) {
51
+ return {
52
+ default: '#6adc24',
53
+ hover: '#62cb21',
54
+ };
55
+ }
56
+ return {
57
+ default: 'rgb(217, 217, 217)',
58
+ hover: '#4096ff',
59
+ };
60
+ }
61
+ const GroupStyled = styled_1.default.div `
62
+ display: flex;
63
+ border-radius: 0.375rem;
64
+ margin-top: 0.25rem;
65
+
66
+ .addon {
67
+ color: ${({ hasError }) => hasError && '#f95d55'};
68
+ }
69
+
70
+ --custom-border-color: ${({ hasError, hasValid }) => getStyleColor(hasError, hasValid).default};
71
+
72
+ :hover,
73
+ :focus-within {
74
+ --custom-border-color: ${({ hasError, hasValid }) => getStyleColor(hasError, hasValid).hover};
75
+ }
76
+ `;
77
+ const InputStyled = styled_1.default.input `
78
+ padding: 0;
79
+ flex: 1 1 0%;
80
+ border: none;
81
+ position: relative;
82
+ outline: none;
83
+ `;
84
+ const LeadingAddonStyled = styled_1.default.div `
85
+ padding-left: 0.75rem;
86
+ padding-right: 0.75rem;
87
+ border-right-width: 0px;
88
+ border-width: 1px;
89
+ border-top-left-radius: 0.375rem;
90
+ border-bottom-left-radius: 0.375rem;
91
+ align-items: center;
92
+ display: inline-flex;
93
+
94
+ border-right: none;
95
+
96
+ border-color: var(--custom-border-color);
97
+ `;
98
+ const TrailingAddonStyled = styled_1.default.div `
99
+ padding-left: 0.75rem;
100
+ padding-right: 0.75rem;
101
+ border-left-width: 0px;
102
+ border-width: 1px;
103
+ border-top-right-radius: 0.375rem;
104
+ border-bottom-right-radius: 0.375rem;
105
+ align-items: center;
106
+ display: inline-flex;
107
+
108
+ border-left: none;
109
+
110
+ border-color: var(--custom-border-color);
111
+ `;
112
+ const LeadingInlineAddonStyled = styled_1.default.div `
113
+ display: flex;
114
+ align-items: center;
115
+ padding-right: 0.5rem;
116
+ `;
117
+ const TrailingInlineAddonStyled = styled_1.default.div `
118
+ display: flex;
119
+ align-items: center;
120
+ padding-left: 0.5rem;
121
+ `;
122
+ const RootInput = styled_1.default.div `
123
+ display: flex;
124
+ flex-direction: column;
125
+ gap: 2px;
126
+ `;
127
+ function Input(props) {
128
+ const { variant: variantProps, trailingAddon, leadingAddon, help, error, valid, loading, ...otherProps } = props;
129
+ const { name, variant: contextVariant } = (0, FieldsContext_1.useFieldsContext)();
130
+ const hasLeading = (leadingAddon && !leadingAddon.inline) || false;
131
+ const hasTrailing = (trailingAddon && !trailingAddon.inline) || false;
132
+ const variant = variantProps || contextVariant;
133
+ return ((0, jsx_runtime_1.jsxs)(RootInput, { children: [(0, jsx_runtime_1.jsxs)(GroupStyled, { hasError: !!error, hasValid: !!valid, children: [leadingAddon && !leadingAddon.inline && ((0, jsx_runtime_1.jsx)(LeadingAddonStyled, { children: leadingAddon.addon })), (0, jsx_runtime_1.jsxs)(LabelStyled, { variant: variant, hasLeading: hasLeading, hasTrailing: hasTrailing, children: [leadingAddon?.inline && ((0, jsx_runtime_1.jsx)(LeadingInlineAddonStyled, { className: "addon", children: leadingAddon.addon })), (0, jsx_runtime_1.jsx)(InputStyled, { id: name, name: name, ...otherProps }), trailingAddon?.inline && ((0, jsx_runtime_1.jsx)(TrailingInlineAddonStyled, { className: "addon", children: trailingAddon.addon })), loading && ((0, jsx_runtime_1.jsx)(TrailingInlineAddonStyled, { style: { height: variant === 'default' ? 20 : 10 }, children: (0, jsx_runtime_1.jsx)(index_1.FullSpinner, { height: variant === 'default' ? 20 : 10, width: variant === 'default' ? 20 : 10 }) }))] }), trailingAddon && !trailingAddon.inline && ((0, jsx_runtime_1.jsx)(TrailingAddonStyled, { children: trailingAddon.addon }))] }), (0, jsx_runtime_1.jsx)(SubText, { error: error, help: help, valid: valid })] }));
134
+ }
135
+ exports.Input = Input;
136
+ function SubText(props) {
137
+ const { error, help, valid: validProps } = props;
138
+ const valid = typeof validProps === 'string' ? validProps : undefined;
139
+ const text = error || valid || help;
140
+ return (0, jsx_runtime_1.jsx)("p", { style: { color: getColor(error, validProps) }, children: text });
141
+ }
142
+ function getColor(error, valid) {
143
+ if (error) {
144
+ return '#f95d55';
145
+ }
146
+ if (valid && typeof valid !== 'boolean') {
147
+ return '#62cb21';
148
+ }
149
+ return 'gray';
150
+ }
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Field = exports.useFieldsContext = void 0;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const styled_1 = __importDefault(require("@emotion/styled"));
9
+ const react_1 = require("react");
10
+ const context = (0, react_1.createContext)(null);
11
+ const FieldContextRoot = styled_1.default.div `
12
+ display: flex;
13
+ flex-flow: row;
14
+ min-width: 0;
15
+ margin: 0;
16
+ padding: 0;
17
+ gap: 5px;
18
+ `;
19
+ const Label = styled_1.default.label `
20
+ position: relative;
21
+ display: inline-flex;
22
+ max-width: 100%;
23
+ line-height: ${(props) => (props.variant === 'small' ? '28px' : '32px')};
24
+ font-size: ${(props) => (props.variant === 'small' ? '1em' : '1.125em')};
25
+ white-space: nowrap;
26
+ text-align: end;
27
+ `;
28
+ const LabelContainer = styled_1.default.div `
29
+ flex-grow: 0;
30
+ display: inline-block;
31
+ overflow: hidden;
32
+ text-align: end;
33
+ vertical-align: middle;
34
+ white-space: nowrap;
35
+ `;
36
+ const FieldContextRequired = styled_1.default.span `
37
+ color: red;
38
+ `;
39
+ function useFieldsContext() {
40
+ const ctx = (0, react_1.useContext)(context);
41
+ if (!ctx) {
42
+ return { name: undefined, variant: 'default' };
43
+ }
44
+ return ctx;
45
+ }
46
+ exports.useFieldsContext = useFieldsContext;
47
+ function Field(props) {
48
+ const { label, name, children, required, variant } = props;
49
+ const memoized = (0, react_1.useMemo)(() => {
50
+ return { name, variant: variant || 'default' };
51
+ }, [name, variant]);
52
+ return ((0, jsx_runtime_1.jsx)(context.Provider, { value: memoized, children: (0, jsx_runtime_1.jsxs)(FieldContextRoot, { children: [(0, jsx_runtime_1.jsx)(LabelContainer, { children: (0, jsx_runtime_1.jsxs)(Label, { htmlFor: name, variant: memoized.variant, children: [label, " ", required && (0, jsx_runtime_1.jsx)(FieldContextRequired, { children: "*" }), ":", ' '] }) }), children] }) }));
53
+ }
54
+ exports.Field = Field;
@@ -0,0 +1,17 @@
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("./FieldsContext"), exports);
@@ -0,0 +1,18 @@
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("./Input"), exports);
18
+ __exportStar(require("./context"), exports);
@@ -32,6 +32,7 @@ __exportStar(require("./button/index"), exports);
32
32
  __exportStar(require("./color-picker/index"), exports);
33
33
  __exportStar(require("./drop-zone/index"), exports);
34
34
  __exportStar(require("./dropdown-menu/index"), exports);
35
+ __exportStar(require("./forms/index"), exports);
35
36
  __exportStar(require("./fullscreen/index"), exports);
36
37
  __exportStar(require("./header/index"), exports);
37
38
  __exportStar(require("./hooks/index"), exports);
@@ -1,11 +1,47 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.ConfirmModal = void 0;
4
- const jsx_runtime_1 = require("@emotion/react/jsx-runtime");
5
- /** @jsxImportSource @emotion/react */
6
- const react_1 = require("@emotion/react");
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const styled_1 = __importDefault(require("@emotion/styled"));
7
9
  const __1 = require("..");
8
10
  const useDialog_1 = require("./useDialog");
11
+ const ConfirmModalDialog = styled_1.default.dialog `
12
+ display: flex;
13
+ position: fixed;
14
+ background-color: transparent;
15
+
16
+ ::backdrop {
17
+ background-color: rgba(113, 113, 122, 0.75);
18
+ }
19
+ `;
20
+ const ConfirmModalOpened = styled_1.default.div `
21
+ position: relative;
22
+ display: flex;
23
+ flex-direction: column;
24
+ background-color: white;
25
+ max-height: 90%;
26
+ width: 100%;
27
+ border-width: 1px;
28
+ border-color: transparent;
29
+ border-radius: 0.5rem;
30
+ box-shadow: 0 0 0 0, 0 8px 16px rgba(0, 0, 0, 0.3);
31
+ border-top: 10px solid ${({ headerColor }) => headerColor};
32
+ `;
33
+ const ConfirmModalChildrenRoot = styled_1.default.div `
34
+ color: ${({ headerColor }) => headerColor};
35
+ display: flex;
36
+ flex: 1 1 0%;
37
+ `;
38
+ const ConfirmModalFooter = styled_1.default.div `
39
+ border-top: 2px solid rgb(247, 247, 247);
40
+ padding: 10px 20px 10px 20px;
41
+ display: flex;
42
+ flex-direction: row-reverse;
43
+ gap: 10px;
44
+ `;
9
45
  function ConfirmModal(props) {
10
46
  const { isOpen, saveText = 'Save', cancelText = 'Cancel', headerColor, maxWidth, onRequestClose, onCancel = onRequestClose, onConfirm, requestCloseOnBackdrop = true, requestCloseOnEsc = true, children, } = props;
11
47
  const { ref, onClick } = (0, useDialog_1.useDialog)({
@@ -14,32 +50,7 @@ function ConfirmModal(props) {
14
50
  requestCloseOnBackdrop,
15
51
  onRequestClose,
16
52
  });
17
- return ((0, jsx_runtime_1.jsx)("dialog", { ref: ref, style: {
18
- display: 'flex',
19
- position: 'fixed',
20
- backgroundColor: 'transparent',
21
- }, css: (0, react_1.css) `
22
- ::backdrop: rgba(113, 113, 122, 0.75);
23
- `, onClick: onClick, children: isOpen ? ((0, jsx_runtime_1.jsxs)("div", { style: {
24
- position: 'relative',
25
- display: 'flex',
26
- flexDirection: 'column',
27
- backgroundColor: 'white',
28
- maxHeight: '90%',
29
- width: '100%',
30
- maxWidth: maxWidth || undefined,
31
- borderWidth: 1,
32
- borderColor: 'transparent',
33
- borderRadius: '0.5rem',
34
- boxShadow: '0 0 0 0,0 8px 16px rgba(0, 0, 0, 0.3)',
35
- borderTop: `10px solid ${headerColor}`,
36
- }, children: [(0, jsx_runtime_1.jsx)("div", { style: { color: headerColor, display: 'flex', flex: '1 1 0%' }, children: children }), (0, jsx_runtime_1.jsxs)("div", { style: {
37
- borderTop: '2px solid rgb(247, 247, 247)',
38
- padding: '10px 20px 10px 20px',
39
- display: 'flex',
40
- flexDirection: 'row-reverse',
41
- gap: 10,
42
- }, children: [(0, jsx_runtime_1.jsx)(__1.Button, { onClick: onConfirm, backgroundColor: {
53
+ return ((0, jsx_runtime_1.jsx)(ConfirmModalDialog, { ref: ref, onClick: onClick, children: isOpen ? ((0, jsx_runtime_1.jsxs)(ConfirmModalOpened, { headerColor: headerColor, style: { maxWidth }, children: [(0, jsx_runtime_1.jsx)(ConfirmModalChildrenRoot, { headerColor: headerColor, children: children }), (0, jsx_runtime_1.jsxs)(ConfirmModalFooter, { children: [(0, jsx_runtime_1.jsx)(__1.Button, { onClick: onConfirm, backgroundColor: {
43
54
  basic: 'hsla(243deg, 75%, 58%, 1)',
44
55
  hover: 'hsla(245deg, 58%, 50%, 1)',
45
56
  }, color: { basic: 'white' }, children: saveText }), (0, jsx_runtime_1.jsx)(__1.Button, { onClick: onCancel, backgroundColor: {
@@ -4,56 +4,67 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.Modal = void 0;
7
- const jsx_runtime_1 = require("@emotion/react/jsx-runtime");
8
- /** @jsxImportSource @emotion/react */
9
- const react_1 = require("@emotion/react");
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const styled_1 = __importDefault(require("@emotion/styled"));
10
9
  const ModalCloseButton_1 = __importDefault(require("./ModalCloseButton"));
11
10
  const useDialog_1 = require("./useDialog");
11
+ const DialogRoot = styled_1.default.dialog `
12
+ display: flex;
13
+ position: fixed;
14
+ background-color: transparent;
15
+
16
+ ::backdrop {
17
+ background-color: rgba(113, 113, 122, 0.75);
18
+ }
19
+ `;
20
+ const DialogOpened = styled_1.default.div `
21
+ position: relative;
22
+ display: flex;
23
+ flex-direction: column;
24
+ background-color: white;
25
+ max-height: 90%;
26
+ border-width: 1px;
27
+ border-color: transparent;
28
+ border-radius: 0.5rem;
29
+ box-shadow: 0 0 0 0, 0 8px 16px rgba(0, 0, 0, 0.3);
30
+ `;
31
+ const ModalHeaderStyled = styled_1.default.div `
32
+ display: flex;
33
+ align-items: center;
34
+ justify-content: space-between;
35
+ padding: 10px 20px 10px 20px;
36
+ border-bottom: 2px solid rgb(247, 247, 247);
37
+ `;
38
+ const ModalBodyStyled = styled_1.default.div `
39
+ display: flex;
40
+ flex: 1 1 0%;
41
+ overflow-y: auto;
42
+ `;
43
+ const ModalFooterStyled = styled_1.default.div `
44
+ border-top: 2px solid rgb(247, 247, 247);
45
+ padding: 10px 20px 10px 20px;
46
+ `;
12
47
  function Modal(props) {
13
- const { isOpen, onRequestClose, hasCloseButton = true, requestCloseOnBackdrop = true, requestCloseOnEsc = true, maxWidth, width, height, children, } = props;
48
+ const { isOpen, onRequestClose, hasCloseButton = true, requestCloseOnBackdrop = true, requestCloseOnEsc = true, children, width, maxWidth, height, } = props;
14
49
  const { ref, onClick } = (0, useDialog_1.useDialog)({
15
50
  isOpen,
16
51
  requestCloseOnEsc,
17
52
  requestCloseOnBackdrop,
18
53
  onRequestClose,
19
54
  });
20
- return ((0, jsx_runtime_1.jsx)("dialog", { ref: ref, style: {
21
- display: 'flex',
22
- position: 'fixed',
23
- backgroundColor: 'transparent',
24
- }, css: (0, react_1.css) `
25
- ::backdrop: rgba(113, 113, 122, 0.75);
26
- `, onClick: onClick, children: isOpen ? ((0, jsx_runtime_1.jsxs)("div", { style: {
27
- position: 'relative',
28
- display: 'flex',
29
- flexDirection: 'column',
30
- backgroundColor: 'white',
31
- maxHeight: '90%',
32
- width: width || '100%',
33
- maxWidth: maxWidth || undefined,
55
+ return ((0, jsx_runtime_1.jsx)(DialogRoot, { ref: ref, onClick: onClick, children: isOpen ? ((0, jsx_runtime_1.jsxs)(DialogOpened, { style: {
56
+ maxWidth,
34
57
  height: height || 'max-content',
35
- borderWidth: 1,
36
- borderColor: 'transparent',
37
- borderRadius: '0.5rem',
38
- boxShadow: '0 0 0 0,0 8px 16px rgba(0, 0, 0, 0.3)',
58
+ width: width || '100%',
39
59
  }, children: [children, hasCloseButton && (0, jsx_runtime_1.jsx)(ModalCloseButton_1.default, { onClick: onRequestClose })] })) : null }));
40
60
  }
41
61
  exports.Modal = Modal;
42
62
  Modal.Header = function ModalHeader(props) {
43
- return ((0, jsx_runtime_1.jsx)("div", { style: {
44
- display: 'flex',
45
- alignItems: 'center',
46
- justifyContent: 'space-between',
47
- padding: '10px 20px 10px 20px',
48
- borderBottom: '2px solid rgb(247, 247, 247)',
49
- }, children: props.children }));
63
+ return (0, jsx_runtime_1.jsx)(ModalHeaderStyled, { children: props.children });
50
64
  };
51
65
  Modal.Body = function ModalBody(props) {
52
- return ((0, jsx_runtime_1.jsx)("div", { style: { display: 'flex', flex: '1 1 0%', overflowY: 'auto' }, children: props.children }));
66
+ return (0, jsx_runtime_1.jsx)(ModalBodyStyled, { children: props.children });
53
67
  };
54
68
  Modal.Footer = function ModalFooter(props) {
55
- return ((0, jsx_runtime_1.jsx)("div", { style: {
56
- borderTop: '2px solid rgb(247, 247, 247)',
57
- padding: '10px 20px 10px 20px',
58
- }, children: props.children }));
69
+ return (0, jsx_runtime_1.jsx)(ModalFooterStyled, { children: props.children });
59
70
  };
@@ -28,6 +28,6 @@ function RootLayout(props) {
28
28
  setRootRef(node);
29
29
  }
30
30
  }, []);
31
- return ((0, jsx_runtime_1.jsxs)(emotion_esm_1.default.div, { style: { ...style, ...props.style }, children: [(0, jsx_runtime_1.jsx)(react_1.Global, { styles: preflight_1.preflight }), (0, jsx_runtime_1.jsx)("div", { ref: ref, css: customPreflight_1.customDivPreflight, style: { width: '100%', height: '100%', position: 'relative' }, 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)(AccordionContext_1.AccordionProvider, { children: props.children }) }) }) })] }));
31
+ return ((0, jsx_runtime_1.jsxs)(emotion_esm_1.default.div, { style: { ...style, ...props.style }, children: [(0, jsx_runtime_1.jsx)(react_1.Global, { styles: preflight_1.preflight }), (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)(AccordionContext_1.AccordionProvider, { children: props.children }) }) }) })] }));
32
32
  }
33
33
  exports.RootLayout = RootLayout;