@ntbjs/react-components 2.0.0-rc.26 → 2.0.0-rc.28

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 (85) hide show
  1. package/build/{ActionButton-03dc5f67.js → ActionButton-4db754c3.js} +17 -24
  2. package/build/{Alert-8a511bdc.js → Alert-e6847a22.js} +29 -36
  3. package/build/{AssetAction-d081e4b7.js → AssetGallery-f67393d4.js} +588 -622
  4. package/build/{Badge-aa4cd9c1.js → Badge-d93586a9.js} +35 -42
  5. package/build/{Button-2e26f5da.js → Button-179a2fe4.js} +83 -90
  6. package/build/{Checkbox-0b8faf49.js → Checkbox-4a5fd716.js} +45 -52
  7. package/build/{CompactAutocompleteSelect-797778cb.js → CompactAutocompleteSelect-52c49513.js} +116 -125
  8. package/build/{CompactStarRating-da21b53f.js → CompactStarRating-9af2f427.js} +76 -101
  9. package/build/{CompactTextInput-d56aec71.js → CompactTextInput-42ca5d42.js} +104 -129
  10. package/build/InputGroup-1294d190.js +23 -0
  11. package/build/{MultiLevelCheckboxSelect-d229cf98.js → MultiLevelCheckboxSelect-d8044c88.js} +139 -167
  12. package/build/{MultiSelect-d7920eb1.js → MultiSelect-9f497e62.js} +81 -90
  13. package/build/{Popover-c4be47ea.js → Popover-20050b91.js} +35 -44
  14. package/build/{Radio-150fb2c9.js → Radio-73ca3ae2.js} +28 -35
  15. package/build/SectionSeparator-f47760a2.js +31 -0
  16. package/build/{Switch-d2d6e9ec.js → Switch-ecf3122b.js} +35 -42
  17. package/build/Tab-04d435c3.js +32 -0
  18. package/build/{Tabs-b06c0e24.js → Tabs-74d1ea8a.js} +37 -44
  19. package/build/{TextArea-26d3c8a1.js → TextArea-1e5b9201.js} +105 -113
  20. package/build/{TextInput-3a567daa.js → TextInput-fab35842.js} +78 -86
  21. package/build/Tooltip-c1d1199e.js +65 -0
  22. package/build/{VerificationStatusIcon-9876b68f.js → VerificationStatusIcon-49cb1c1b.js} +19 -44
  23. package/build/{_rollupPluginBabelHelpers-4b342fad.js → _rollupPluginBabelHelpers-c245b26a.js} +1 -3
  24. package/build/arrow-forward-ad12c5f3.js +15 -0
  25. package/build/close-a5d37608.js +15 -0
  26. package/build/data/Alert/index.js +6 -12
  27. package/build/data/Badge/index.js +5 -11
  28. package/build/data/Popover/index.js +10 -16
  29. package/build/data/Tab/index.js +5 -11
  30. package/build/data/Tabs/index.js +7 -13
  31. package/build/data/Tooltip/index.js +7 -13
  32. package/build/data/index.js +16 -30
  33. package/build/{defaultTheme-d9a7342e.js → defaultTheme-1bcc2541.js} +3 -7
  34. package/build/edit-note-283a0e15.js +15 -0
  35. package/build/expand-more-c5523c46.js +15 -0
  36. package/build/inputs/ActionButton/index.js +6 -12
  37. package/build/inputs/Button/index.js +13 -19
  38. package/build/inputs/Checkbox/index.js +6 -12
  39. package/build/inputs/CompactAutocompleteSelect/index.js +23 -29
  40. package/build/inputs/CompactStarRating/index.js +17 -23
  41. package/build/inputs/CompactTextInput/index.js +19 -25
  42. package/build/inputs/MultiLevelCheckboxSelect/MultiLevelCheckboxSelect.js +26 -0
  43. package/build/inputs/MultiSelect/index.js +10 -16
  44. package/build/inputs/Radio/index.js +7 -13
  45. package/build/inputs/Switch/index.js +6 -12
  46. package/build/inputs/TextArea/index.js +20 -26
  47. package/build/inputs/TextInput/index.js +9 -15
  48. package/build/inputs/index.js +40 -60
  49. package/build/layout/InputGroup/index.js +5 -11
  50. package/build/layout/SectionSeparator/index.js +5 -11
  51. package/build/layout/index.js +6 -15
  52. package/build/{shift-away-subtle-158617af.js → shift-away-subtle-0dd94a03.js} +3 -5
  53. package/build/ssr/index.js +1 -12
  54. package/build/styles/utils/colors.scss +4 -4
  55. package/build/warning-circle-24f3efcd.js +15 -0
  56. package/build/widgets/AssetGallery/AssetGallery.js +45 -0
  57. package/build/widgets/AssetPreview/AssetPreviewTopBar/AssetPreviewTopBar.js +127 -0
  58. package/build/widgets/ContextMenu/ContextMenu.js +26 -0
  59. package/build/{ContextMenuItem-3967010d.js → widgets/ContextMenu/ContextMenuItem/ContextMenuItem.js} +23 -48
  60. package/build/widgets/ContextMenu/ContextMenuItemsGroup/ContextMenuItemsGroup.js +37 -0
  61. package/build/{InfoCard-d0fdf377.js → widgets/InfoCard/InfoCard.js} +27 -34
  62. package/build/widgets/Instructions/Instructions.js +255 -0
  63. package/build/{ProgressBar-2d26c1fb.js → widgets/ProgressBar/ProgressBar.js} +39 -46
  64. package/build/widgets/index.js +50 -65
  65. package/package.json +3 -3
  66. package/styles/utils/colors.scss +4 -4
  67. package/build/AssetPreviewTopBar-623cfa18.js +0 -152
  68. package/build/ContextMenu-82f9d728.js +0 -33
  69. package/build/InputGroup-8d4a4644.js +0 -30
  70. package/build/Instructions-af191987.js +0 -274
  71. package/build/SectionSeparator-e06c7660.js +0 -38
  72. package/build/Tab-ccbca1f2.js +0 -39
  73. package/build/Tooltip-d5882b82.js +0 -73
  74. package/build/arrow-forward-d7c77ae3.js +0 -37
  75. package/build/close-1751121a.js +0 -37
  76. package/build/edit-note-cefe2215.js +0 -37
  77. package/build/expand-more-d74e2bd2.js +0 -37
  78. package/build/widgets/AssetGallery/index.js +0 -55
  79. package/build/widgets/AssetPreview/AssetPreviewTopBar/index.js +0 -12
  80. package/build/widgets/ContextMenu/ContextMenuItem/index.js +0 -11
  81. package/build/widgets/ContextMenu/ContextMenuItemsGroup/index.js +0 -44
  82. package/build/widgets/ContextMenu/index.js +0 -11
  83. package/build/widgets/InfoCard/index.js +0 -12
  84. package/build/widgets/Instructions/index.js +0 -33
  85. package/build/widgets/ProgressBar/index.js +0 -12
@@ -1,65 +1,50 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var AssetAction = require('../AssetAction-d081e4b7.js');
6
- var ContextMenu = require('../ContextMenu-82f9d728.js');
7
- var AssetPreviewTopBar = require('../AssetPreviewTopBar-623cfa18.js');
8
- var Instructions = require('../Instructions-af191987.js');
9
- var ProgressBar = require('../ProgressBar-2d26c1fb.js');
10
- var InfoCard = require('../InfoCard-d0fdf377.js');
11
- require('../_rollupPluginBabelHelpers-4b342fad.js');
12
- require('lodash');
13
- require('../defaultTheme-d9a7342e.js');
14
- require('styled-components');
15
- require('react');
16
- require('@restart/hooks/useMergedRefs');
17
- require('resize-observer-polyfill');
18
- require('../MultiLevelCheckboxSelect-d229cf98.js');
19
- require('../Alert-8a511bdc.js');
20
- require('../Badge-aa4cd9c1.js');
21
- require('../Popover-c4be47ea.js');
22
- require('polished');
23
- require('@tippyjs/react');
24
- require('../shift-away-subtle-158617af.js');
25
- require('popper-max-size-modifier');
26
- require('../Tab-ccbca1f2.js');
27
- require('../Tabs-b06c0e24.js');
28
- require('../Tooltip-d5882b82.js');
29
- require('../VerificationStatusIcon-9876b68f.js');
30
- require('../Checkbox-0b8faf49.js');
31
- require('nanoid');
32
- require('../TextInput-3a567daa.js');
33
- require('../edit-note-cefe2215.js');
34
- require('../InputGroup-8d4a4644.js');
35
- require('../SectionSeparator-e06c7660.js');
36
- require('../close-1751121a.js');
37
- require('@restart/hooks/useUpdateEffect');
38
- require('@floating-ui/react');
39
- require('../ActionButton-03dc5f67.js');
40
- require('../Button-2e26f5da.js');
41
- require('../expand-more-d74e2bd2.js');
42
- require('../CompactAutocompleteSelect-797778cb.js');
43
- require('react-select');
44
- require('react-select-async-paginate');
45
- require('react-select/creatable');
46
- require('../CompactStarRating-da21b53f.js');
47
- require('../CompactTextInput-d56aec71.js');
48
- require('../MultiSelect-d7920eb1.js');
49
- require('../Radio-150fb2c9.js');
50
- require('../TextArea-26d3c8a1.js');
51
- require('../Switch-d2d6e9ec.js');
52
- require('../ContextMenuItem-3967010d.js');
53
- require('../arrow-forward-d7c77ae3.js');
54
-
55
-
56
-
57
- exports.AssetAction = AssetAction.AssetAction;
58
- exports.AssetActionBase = AssetAction.AssetActionsBase;
59
- exports.AssetGallery = AssetAction.AssetGallery;
60
- exports.SummaryCard = AssetAction.SummaryCard;
61
- exports.ContextMenu = ContextMenu.ContextMenu;
62
- exports.AssetPreviewTopBar = AssetPreviewTopBar.AssetPreviewTopBar;
63
- exports.Instructions = Instructions.Instructions;
64
- exports.ProgressBar = ProgressBar.ProgressBar;
65
- exports.InfoCard = InfoCard.InfoCard;
1
+ export { b as AssetAction, a as AssetActionBase, A as AssetGallery, S as SummaryCard } from '../AssetGallery-f67393d4.js';
2
+ export { default as ContextMenu } from './ContextMenu/ContextMenu.js';
3
+ export { default as AssetPreviewTopBar } from './AssetPreview/AssetPreviewTopBar/AssetPreviewTopBar.js';
4
+ export { default as Instructions } from './Instructions/Instructions.js';
5
+ export { default as ProgressBar } from './ProgressBar/ProgressBar.js';
6
+ export { default as InfoCard } from './InfoCard/InfoCard.js';
7
+ import '../_rollupPluginBabelHelpers-c245b26a.js';
8
+ import 'lodash';
9
+ import '../defaultTheme-1bcc2541.js';
10
+ import 'styled-components';
11
+ import 'react';
12
+ import '@restart/hooks/useMergedRefs';
13
+ import 'resize-observer-polyfill';
14
+ import '../MultiLevelCheckboxSelect-d8044c88.js';
15
+ import '../Alert-e6847a22.js';
16
+ import '../Badge-d93586a9.js';
17
+ import '../Popover-20050b91.js';
18
+ import 'polished';
19
+ import '@tippyjs/react';
20
+ import '../shift-away-subtle-0dd94a03.js';
21
+ import 'popper-max-size-modifier';
22
+ import '../Tab-04d435c3.js';
23
+ import '../Tabs-74d1ea8a.js';
24
+ import '../Tooltip-c1d1199e.js';
25
+ import '../VerificationStatusIcon-49cb1c1b.js';
26
+ import '../Checkbox-4a5fd716.js';
27
+ import 'nanoid';
28
+ import '../TextInput-fab35842.js';
29
+ import '../edit-note-283a0e15.js';
30
+ import '../InputGroup-1294d190.js';
31
+ import '../SectionSeparator-f47760a2.js';
32
+ import '../close-a5d37608.js';
33
+ import '@restart/hooks/useUpdateEffect';
34
+ import '../warning-circle-24f3efcd.js';
35
+ import '@floating-ui/react';
36
+ import '../ActionButton-4db754c3.js';
37
+ import '../Button-179a2fe4.js';
38
+ import '../expand-more-c5523c46.js';
39
+ import '../CompactAutocompleteSelect-52c49513.js';
40
+ import 'react-select';
41
+ import 'react-select-async-paginate';
42
+ import 'react-select/creatable';
43
+ import '../CompactStarRating-9af2f427.js';
44
+ import '../CompactTextInput-42ca5d42.js';
45
+ import '../MultiSelect-9f497e62.js';
46
+ import '../Radio-73ca3ae2.js';
47
+ import '../TextArea-1e5b9201.js';
48
+ import '../Switch-ecf3122b.js';
49
+ import './ContextMenu/ContextMenuItem/ContextMenuItem.js';
50
+ import '../arrow-forward-ad12c5f3.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ntbjs/react-components",
3
- "version": "2.0.0-rc.26",
3
+ "version": "2.0.0-rc.28",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -86,10 +86,10 @@
86
86
  "rollup-plugin-delete": "^2.0.0",
87
87
  "rollup-plugin-multi-input": "^1.3.1",
88
88
  "rollup-plugin-peer-deps-external": "^2.2.0",
89
- "rollup-plugin-postcss": "^4.0.0",
89
+ "rollup-plugin-postcss": "^4.0.2",
90
90
  "rollup-plugin-scss": "^2.6.1",
91
91
  "rollup-plugin-url": "^3.0.1",
92
- "sass": "^1.34.1",
92
+ "sass": "^1.97.2",
93
93
  "sass-loader": "^10.1.1",
94
94
  "storybook-dark-mode": "^2.0.4",
95
95
  "url-loader": "^4.1.1"
@@ -1,15 +1,15 @@
1
- @import '../config';
1
+ @use '../config';
2
2
 
3
3
  @function color($name) {
4
- @if map-has-key($colors, $name) {
5
- @return map-get($colors, $name);
4
+ @if map-has-key(config.$colors, $name) {
5
+ @return map-get(config.$colors, $name);
6
6
  } @else {
7
7
  @error "No color with the name `#{$name}`. was found.";
8
8
  }
9
9
  }
10
10
 
11
11
  :export {
12
- @each $name, $color in $colors {
12
+ @each $name, $color in config.$colors {
13
13
  #{$name}: $color;
14
14
  }
15
15
  }
@@ -1,152 +0,0 @@
1
- 'use strict';
2
-
3
- var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-4b342fad.js');
4
- var React = require('react');
5
- var defaultTheme = require('./defaultTheme-d9a7342e.js');
6
- var styled = require('styled-components');
7
- var close = require('./close-1751121a.js');
8
-
9
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
10
-
11
- function _interopNamespace(e) {
12
- if (e && e.__esModule) return e;
13
- var n = Object.create(null);
14
- if (e) {
15
- Object.keys(e).forEach(function (k) {
16
- if (k !== 'default') {
17
- var d = Object.getOwnPropertyDescriptor(e, k);
18
- Object.defineProperty(n, k, d.get ? d : {
19
- enumerable: true,
20
- get: function () { return e[k]; }
21
- });
22
- }
23
- });
24
- }
25
- n["default"] = e;
26
- return Object.freeze(n);
27
- }
28
-
29
- var React__namespace = /*#__PURE__*/_interopNamespace(React);
30
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
31
- var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
32
-
33
- var _path;
34
- function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
35
- function SvgArrowBack(props) {
36
- return /*#__PURE__*/React__namespace.createElement("svg", _extends({
37
- xmlns: "http://www.w3.org/2000/svg",
38
- viewBox: "0 0 32 32"
39
- }, props), _path || (_path = /*#__PURE__*/React__namespace.createElement("path", {
40
- fill: "currentColor",
41
- d: "M16 32L0 16 16 0l2.1 2.1L5.7 14.5H32v3H5.7l12.4 12.4L16 32z"
42
- })));
43
- }
44
-
45
- const AssetPreviewTopBar$1 = styled__default["default"].div.attrs(defaultTheme.applyDefaultTheme)`
46
- box-sizing: border-box;
47
- align-items: center;
48
- border-bottom: ${props => props.border ? `1px solid` : `none`};
49
- color: inherit;
50
- display: flex;
51
- font-family: ${props => props.theme.primaryFontFamily};
52
- font-weight: 400;
53
- min-height: 72px;
54
- padding: 0 24px;
55
- width: 100%;
56
-
57
- ${props => props.theme.themeProp('border-color', props.theme.getColor('gray-800'), props.theme.getColor('gray-200'))}
58
-
59
- ${props => props.shadow && props.theme.themeProp('box-shadow', '0 -2px 12px #505050', '0 -3px 12px #b0b6b9')}
60
-
61
- ${props => props.disabled && styled.css`
62
- cursor: not-allowed;
63
- `}
64
- `;
65
- const BackButtonContainer = styled__default["default"].a.attrs(defaultTheme.applyDefaultTheme)`
66
- align-items: center;
67
- display: flex;
68
- font-size: 1.125rem;
69
- ${props => props.theme.themeProp('color', props.theme.getColor('gray-100'), props.theme.getColor('gray-900'))};
70
-
71
- ${props => props.disabled && styled.css`
72
- opacity: 0.5;
73
- pointer-events: none;
74
- `}
75
-
76
- &:hover {
77
- cursor: pointer;
78
- }
79
-
80
- > svg {
81
- height: 24px;
82
- margin-right: 16px;
83
- width: 24px;
84
- }
85
- `;
86
- const BackHoverEffect = styled__default["default"].div`
87
- display: inline-flex;
88
- align-items: center;
89
-
90
- > svg {
91
- height: 24px;
92
- margin-right: 16px;
93
- width: 24px;
94
- transition: transform 0.3s ease-in-out;
95
- }
96
-
97
- &:hover > svg {
98
- transform: translateX(-2px);
99
- }
100
- `;
101
- const LeftText = styled__default["default"].span.attrs(defaultTheme.applyDefaultTheme)`
102
- font-size: 1.125rem;
103
- margin-left: 16px;
104
-
105
- ${props => props.theme.themeProp('color', props.theme.getColor('gray-500'), props.theme.getColor('gray-400'))};
106
- `;
107
- const ButtonsContainer = styled__default["default"].div.attrs(defaultTheme.applyDefaultTheme)`
108
- align-items: center;
109
- display: flex;
110
- margin-left: auto;
111
-
112
- > span {
113
- margin-left: 16px;
114
- }
115
- `;
116
-
117
- const AssetPreviewTopBar = React__default["default"].forwardRef(function AssetPreviewTopBar({
118
- onBackButtonClick,
119
- backButtonText,
120
- backButtonAsClose,
121
- leftText,
122
- buttons,
123
- shadow,
124
- border,
125
- disabled,
126
- ...props
127
- }, forwardedRef) {
128
- return React__default["default"].createElement(AssetPreviewTopBar$1, _rollupPluginBabelHelpers._extends({
129
- ref: forwardedRef,
130
- shadow: shadow,
131
- border: border,
132
- disabled: disabled
133
- }, props), React__default["default"].createElement(BackButtonContainer, {
134
- onClick: onBackButtonClick,
135
- disabled: disabled
136
- }, backButtonAsClose ? React__default["default"].createElement(React__default["default"].Fragment, null, React__default["default"].createElement(close.SvgClose, null), backButtonText) : React__default["default"].createElement(BackHoverEffect, null, React__default["default"].createElement(SvgArrowBack, null), backButtonText)), leftText && React__default["default"].createElement(LeftText, null, leftText), Array.isArray(buttons) && React__default["default"].createElement(ButtonsContainer, null, buttons.map((button, index) => React__default["default"].createElement("span", {
137
- key: 'topBarButton-' + index
138
- }, button))));
139
- });
140
- AssetPreviewTopBar.propTypes = process.env.NODE_ENV !== "production" ? {
141
- onBackButtonClick: defaultTheme.PropTypes.func.isRequired,
142
- backButtonText: defaultTheme.PropTypes.string.isRequired,
143
- disabled: defaultTheme.PropTypes.bool,
144
- backButtonAsClose: defaultTheme.PropTypes.bool,
145
- leftText: defaultTheme.PropTypes.string,
146
- shadow: defaultTheme.PropTypes.bool,
147
- border: defaultTheme.PropTypes.bool,
148
- buttons: defaultTheme.PropTypes.arrayOf(defaultTheme.PropTypes.node)
149
- } : {};
150
- AssetPreviewTopBar.defaultProps = {};
151
-
152
- exports.AssetPreviewTopBar = AssetPreviewTopBar;
@@ -1,33 +0,0 @@
1
- 'use strict';
2
-
3
- var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-4b342fad.js');
4
- var React = require('react');
5
- var defaultTheme = require('./defaultTheme-d9a7342e.js');
6
- var styled = require('styled-components');
7
-
8
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
9
-
10
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
11
- var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
12
-
13
- const ContextMenu$1 = styled__default["default"].div.attrs(defaultTheme.applyDefaultTheme)`
14
- font-family: ${props => props.theme.primaryFontFamily};
15
- padding: 3px 0;
16
- `;
17
-
18
- const ContextMenu = React__default["default"].forwardRef(function ContextMenu({
19
- children,
20
- ...props
21
- }, forwardedRef) {
22
- return React__default["default"].createElement(ContextMenu$1, _rollupPluginBabelHelpers._extends({
23
- ref: forwardedRef
24
- }, props, {
25
- role: "menu"
26
- }), children);
27
- });
28
- ContextMenu.propTypes = process.env.NODE_ENV !== "production" ? {
29
- children: defaultTheme.PropTypes.any
30
- } : {};
31
- ContextMenu.defaultProps = {};
32
-
33
- exports.ContextMenu = ContextMenu;
@@ -1,30 +0,0 @@
1
- 'use strict';
2
-
3
- var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-4b342fad.js');
4
- var React = require('react');
5
- var defaultTheme = require('./defaultTheme-d9a7342e.js');
6
- var styled = require('styled-components');
7
-
8
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
9
-
10
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
11
- var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
12
-
13
- const InputGroup$1 = styled__default["default"].div.attrs(defaultTheme.applyDefaultTheme)`
14
- margin: 8px 0;
15
- `;
16
-
17
- const InputGroup = React__default["default"].forwardRef(function InputGroup({
18
- children,
19
- ...props
20
- }, forwardedRef) {
21
- return React__default["default"].createElement(InputGroup$1, _rollupPluginBabelHelpers._extends({
22
- ref: forwardedRef
23
- }, props), children);
24
- });
25
- InputGroup.propTypes = process.env.NODE_ENV !== "production" ? {
26
- children: defaultTheme.PropTypes.node
27
- } : {};
28
- InputGroup.defaultProps = {};
29
-
30
- exports.InputGroup = InputGroup;
@@ -1,274 +0,0 @@
1
- 'use strict';
2
-
3
- var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-4b342fad.js');
4
- var lodash = require('lodash');
5
- var defaultTheme = require('./defaultTheme-d9a7342e.js');
6
- var React = require('react');
7
- var CompactAutocompleteSelect = require('./CompactAutocompleteSelect-797778cb.js');
8
- var TextArea = require('./TextArea-26d3c8a1.js');
9
- var styled = require('styled-components');
10
-
11
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
12
-
13
- function _interopNamespace(e) {
14
- if (e && e.__esModule) return e;
15
- var n = Object.create(null);
16
- if (e) {
17
- Object.keys(e).forEach(function (k) {
18
- if (k !== 'default') {
19
- var d = Object.getOwnPropertyDescriptor(e, k);
20
- Object.defineProperty(n, k, d.get ? d : {
21
- enumerable: true,
22
- get: function () { return e[k]; }
23
- });
24
- }
25
- });
26
- }
27
- n["default"] = e;
28
- return Object.freeze(n);
29
- }
30
-
31
- var React__namespace = /*#__PURE__*/_interopNamespace(React);
32
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
33
- var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
34
-
35
- var _path;
36
- function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
37
- function SvgWarningCircle(props) {
38
- return /*#__PURE__*/React__namespace.createElement("svg", _extends({
39
- xmlns: "http://www.w3.org/2000/svg",
40
- viewBox: "0 0 24 24"
41
- }, props), _path || (_path = /*#__PURE__*/React__namespace.createElement("path", {
42
- fill: "currentColor",
43
- d: "M10.8 15.6h2.4V18h-2.4zm0-9.6h2.4v7.2h-2.4zm1.188-6A12 12 0 1024 12 11.994 11.994 0 0011.988 0zM12 21.6a9.6 9.6 0 119.6-9.6 9.597 9.597 0 01-9.6 9.6z"
44
- })));
45
- }
46
-
47
- const Instructions$1 = styled__default["default"].div.attrs(defaultTheme.applyDefaultTheme)`
48
- display: flex;
49
- position: relative;
50
- flex-direction: column;
51
- ${props => props.theme.themeProp('background', '#634E01', props.theme.getColor('signal-yellow-400'))};
52
- `;
53
- const TopBarContainer = styled__default["default"].div.attrs(defaultTheme.applyDefaultTheme)`
54
- position: absolute;
55
- display: flex;
56
- width: 100%;
57
- margin-top: 0;
58
- transition: margin-top 120ms;
59
- &&.slide-in {
60
- margin-top: -24px;
61
- }
62
- ${props => props.theme.themeProp('background', '#634E01', props.theme.getColor('signal-yellow-400'))};
63
-
64
- ${props => props.initialHover && props.theme.themeProp('background', '#634E01', props.theme.getColor('signal-yellow-400'))};
65
- `;
66
- const SelectContainer = styled__default["default"].div.attrs(defaultTheme.applyDefaultTheme)`
67
- width: 100%;
68
- margin: 0 2px;
69
- `;
70
- const InstructionsArea = styled__default["default"].div.attrs(defaultTheme.applyDefaultTheme)`
71
- margin: 2px 2px -2px 2px;
72
- `;
73
-
74
- const Instructions = React__default["default"].forwardRef(function Instructions({
75
- clickToAdd,
76
- customAddMessage,
77
- selectedOption,
78
- loadOptions,
79
- readOnly,
80
- disabled,
81
- hidden,
82
- name,
83
- lightBackground,
84
- autoSelect,
85
- subscribeCurrentValue: subscribeCurrentValueProp,
86
- onChange: onChangeProp,
87
- onFocus: onFocusProp,
88
- onBlur: onBlurProp,
89
- onUpdateCallback,
90
- availableOptions,
91
- loadingMessageFunc,
92
- placeholder,
93
- type,
94
- selectType,
95
- edit,
96
- rows,
97
- showMore,
98
- showMoreText,
99
- showLessText,
100
- isExpanded,
101
- loadingIcon,
102
- successIcon,
103
- padding,
104
- ...props
105
- }, forwardedRef) {
106
- const [isHovered, setIsHovered] = React.useState(false);
107
- const [selected, setSelected] = React.useState({});
108
- const [addInstructions, setAddInstructions] = React.useState(clickToAdd);
109
- const [customMessage, setCustomMessage] = React.useState(customAddMessage);
110
- const [background, setBackground] = React.useState(lightBackground);
111
- const [initialHover, setInitialHover] = React.useState(true);
112
- const [currentValue, setCurrentValue] = React.useState();
113
- React.useEffect(() => {
114
- if (lodash.isFunction(subscribeCurrentValueProp)) {
115
- subscribeCurrentValueProp(currentValue);
116
- }
117
- }, [currentValue]);
118
- React.useEffect(() => {
119
- handleChange(selected);
120
- }, [selected]);
121
- React.useEffect(() => {
122
- if (selectedOption) {
123
- setCurrentValue(selectedOption.value);
124
- }
125
- }, [selectedOption]);
126
- React.useEffect(() => {
127
- if (addInstructions) {
128
- setCurrentValue(customMessage);
129
- setInitialHover(true);
130
- }
131
- }, [addInstructions, handleOnFocus]);
132
- const onChange = React.useCallback(event => {
133
- setCurrentValue(event.target.value);
134
- if (lodash.isFunction(onChangeProp)) {
135
- onChangeProp(event);
136
- }
137
- }, [onChangeProp]);
138
- const onFocus = React.useCallback(event => {
139
- if (autoSelect) {
140
- event.target.select();
141
- }
142
- if (lodash.isFunction(onFocusProp)) {
143
- onFocusProp(event);
144
- }
145
- if (event.target.value === customMessage) {
146
- setCurrentValue('');
147
- }
148
- }, [autoSelect, readOnly, onFocusProp]);
149
- const onBlur = React.useCallback(event => {
150
- if (lodash.isFunction(onBlurProp)) {
151
- onBlurProp(event);
152
- }
153
- }, [onBlurProp]);
154
- const handleMouseOver = () => {
155
- setIsHovered(true);
156
- };
157
- const handleMouseLeave = () => {
158
- setIsHovered(false);
159
- };
160
- const handleOnFocus = () => {
161
- if (customMessage === currentValue) {
162
- setCurrentValue('');
163
- }
164
- };
165
- const handleChange = selected => {
166
- if (selected === null) {
167
- setSelected({});
168
- setAddInstructions(true);
169
- setBackground(true);
170
- setInitialHover(true);
171
- setCustomMessage(customAddMessage);
172
- } else {
173
- setSelected(selected);
174
- setCurrentValue(selected.value);
175
- setAddInstructions(false);
176
- setBackground(false);
177
- setInitialHover(false);
178
- onUpdateCallback(selected);
179
- }
180
- };
181
- const sharedSelectProps = {
182
- options: loadOptions ? undefined : availableOptions,
183
- loadOptions: loadOptions,
184
- loadingMessage: loadingMessageFunc,
185
- placeholder: placeholder
186
- };
187
- if (hidden) return null;
188
- return React__default["default"].createElement(Instructions$1, _rollupPluginBabelHelpers._extends({
189
- ref: forwardedRef,
190
- initialHover: initialHover,
191
- onMouseDown: handleMouseOver,
192
- onMouseLeave: handleMouseLeave
193
- }, props), !readOnly && !disabled && React__default["default"].createElement(TopBarContainer, {
194
- initialHover: initialHover,
195
- className: isHovered && !readOnly && !disabled && 'slide-in'
196
- }, React__default["default"].createElement(SelectContainer, null, React__default["default"].createElement(CompactAutocompleteSelect.CompactAutocompleteSelect, _rollupPluginBabelHelpers._extends({
197
- type: selectType,
198
- value: selectedOption,
199
- creatable: false,
200
- onChange: handleChange
201
- }, sharedSelectProps)))), React__default["default"].createElement(InstructionsArea, {
202
- type: type
203
- }, React__default["default"].createElement(TextArea.TextArea, {
204
- noBorder: true,
205
- instructionsTextArea: true,
206
- type: type,
207
- lightBackground: background,
208
- readOnly: readOnly,
209
- disabled: disabled,
210
- name: name,
211
- isExpanded: isExpanded,
212
- edit: edit,
213
- value: currentValue === null ? '' : currentValue,
214
- onFocus: onFocus,
215
- onChange: onChange,
216
- onBlur: onBlur,
217
- rows: rows,
218
- showMore: showMore,
219
- showMoreText: showMoreText,
220
- showLessText: showLessText,
221
- icon: React__default["default"].createElement(SvgWarningCircle, null),
222
- loadingIcon: loadingIcon,
223
- successIcon: successIcon,
224
- padding: padding
225
- })));
226
- });
227
- Instructions.defaultProps = {
228
- clickToAdd: false,
229
- lightBackground: false,
230
- autoSelect: true,
231
- hidden: false,
232
- edit: false,
233
- disabled: false,
234
- readOnly: false,
235
- type: '',
236
- selectType: '',
237
- padding: 'medium',
238
- onUpdateCallback: () => {}
239
- };
240
- Instructions.propTypes = process.env.NODE_ENV !== "production" ? {
241
- name: defaultTheme.PropTypes.string,
242
- placeholder: defaultTheme.PropTypes.string,
243
- rows: defaultTheme.PropTypes.oneOfType([defaultTheme.PropTypes.number, defaultTheme.PropTypes.string]),
244
- selectedOption: defaultTheme.PropTypes.any,
245
- loadOptions: defaultTheme.PropTypes.func,
246
- loadingMessageFunc: defaultTheme.PropTypes.func,
247
- clickToAdd: defaultTheme.PropTypes.bool,
248
- customAddMessage: defaultTheme.PropTypes.string,
249
- autoSelect: defaultTheme.PropTypes.bool,
250
- readOnly: defaultTheme.PropTypes.bool,
251
- disabled: defaultTheme.PropTypes.bool,
252
- hidden: defaultTheme.PropTypes.bool,
253
- showMore: defaultTheme.PropTypes.bool,
254
- showMoreText: defaultTheme.PropTypes.string,
255
- showLessText: defaultTheme.PropTypes.string,
256
- availableOptions: defaultTheme.PropTypes.arrayOf(defaultTheme.PropTypes.object),
257
- lightBackground: defaultTheme.PropTypes.bool,
258
- edit: defaultTheme.PropTypes.bool,
259
- options: defaultTheme.PropTypes.array,
260
- subscribeCurrentValue: defaultTheme.PropTypes.func,
261
- onChange: defaultTheme.PropTypes.func,
262
- onFocus: defaultTheme.PropTypes.func,
263
- onBlur: defaultTheme.PropTypes.func,
264
- onUpdateCallback: defaultTheme.PropTypes.func,
265
- type: defaultTheme.PropTypes.oneOf(['', 'error', 'error-border', 'warning', 'instructions-warning', 'loading', 'success']),
266
- selectType: defaultTheme.PropTypes.oneOf(['', 'error', 'warning', 'instructions-warning', 'loading', 'success']),
267
- isExpanded: defaultTheme.PropTypes.func,
268
- loadingIcon: defaultTheme.PropTypes.element,
269
- successIcon: defaultTheme.PropTypes.element,
270
- padding: defaultTheme.PropTypes.oneOf(['', 'small', 'medium', 'large'])
271
- } : {};
272
-
273
- exports.Instructions = Instructions;
274
- exports.SvgWarningCircle = SvgWarningCircle;