@commercetools-uikit/primary-action-dropdown 12.2.2 → 12.2.6

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.
@@ -5,36 +5,35 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var _slicedToArray = require('@babel/runtime-corejs3/helpers/slicedToArray');
6
6
  var _toConsumableArray = require('@babel/runtime-corejs3/helpers/toConsumableArray');
7
7
  var _styled = require('@emotion/styled/base');
8
+ require('prop-types');
8
9
  var _concatInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/concat');
9
10
  var _findInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/find');
10
- var React = require('react');
11
- var PropTypes = require('prop-types');
12
- var react = require('@emotion/react');
11
+ var react = require('react');
12
+ var react$1 = require('@emotion/react');
13
13
  var AccessibleButton = require('@commercetools-uikit/accessible-button');
14
14
  var designSystem = require('@commercetools-uikit/design-system');
15
15
  var Text = require('@commercetools-uikit/text');
16
16
  require('@commercetools-uikit/utils');
17
17
  var icons = require('@commercetools-uikit/icons');
18
18
  var hooks = require('@commercetools-uikit/hooks');
19
+ var jsxRuntime = require('@emotion/react/jsx-runtime');
19
20
 
20
21
  function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
21
22
 
22
23
  var _styled__default = /*#__PURE__*/_interopDefault(_styled);
23
24
  var _concatInstanceProperty__default = /*#__PURE__*/_interopDefault(_concatInstanceProperty);
24
25
  var _findInstanceProperty__default = /*#__PURE__*/_interopDefault(_findInstanceProperty);
25
- var React__default = /*#__PURE__*/_interopDefault(React);
26
- var PropTypes__default = /*#__PURE__*/_interopDefault(PropTypes);
27
26
  var AccessibleButton__default = /*#__PURE__*/_interopDefault(AccessibleButton);
28
27
  var Text__default = /*#__PURE__*/_interopDefault(Text);
29
28
 
30
29
  var getButtonStyles = function getButtonStyles(isDisabled) {
31
- var baseButtonStyles = /*#__PURE__*/react.css("display:flex;align-items:center;height:", designSystem.customProperties.bigButtonHeight, ";" + ("" ));
30
+ var baseButtonStyles = /*#__PURE__*/react$1.css("display:flex;align-items:center;height:", designSystem.customProperties.bigButtonHeight, ";" + ("" ), "" );
32
31
 
33
32
  if (isDisabled) {
34
- return [baseButtonStyles, /*#__PURE__*/react.css("box-shadow:none;background-color:", designSystem.customProperties.colorAccent98, ";" + ("" ))];
33
+ return [baseButtonStyles, /*#__PURE__*/react$1.css("box-shadow:none;background-color:", designSystem.customProperties.colorAccent98, ";" + ("" ), "" )];
35
34
  }
36
35
 
37
- return [baseButtonStyles, /*#__PURE__*/react.css("background-color:", designSystem.customProperties.colorSurface, ";box-shadow:", designSystem.customProperties.shadow7, ";&:hover{box-shadow:", designSystem.customProperties.shadow8, ";}&:active{box-shadow:", designSystem.customProperties.shadow9, ";background-color:", designSystem.customProperties.colorNeutral95, ";}" + ("" ))];
36
+ return [baseButtonStyles, /*#__PURE__*/react$1.css("background-color:", designSystem.customProperties.colorSurface, ";box-shadow:", designSystem.customProperties.shadow7, ";&:hover{box-shadow:", designSystem.customProperties.shadow8, ";}&:active{box-shadow:", designSystem.customProperties.shadow9, ";background-color:", designSystem.customProperties.colorNeutral95, ";}" + ("" ), "" )];
38
37
  };
39
38
 
40
39
  var _ref3 = {
@@ -45,75 +44,62 @@ var _ref3 = {
45
44
  var DropdownHead = function DropdownHead(props) {
46
45
  var _context;
47
46
 
48
- return react.jsx("div", {
49
- css: _ref3
50
- }, react.jsx(AccessibleButton__default['default'], {
51
- label: props.children,
52
- onClick: props.onClick,
53
- isDisabled: props.isDisabled,
54
- css: _concatInstanceProperty__default['default'](_context = []).call(_context, _toConsumableArray(getButtonStyles(props.isDisabled)), [/*#__PURE__*/react.css("padding:0 ", designSystem.customProperties.spacingS, ";border-radius:", designSystem.customProperties.borderRadius6, " 0 0 ", designSystem.customProperties.borderRadius6, ";" + ("" ))])
55
- }, react.jsx("span", {
56
- css: /*#__PURE__*/react.css("margin:0 ", designSystem.customProperties.spacingXs, " 0 0;display:flex;align-items:center;justify-content:center;" + ("" ))
57
- }, /*#__PURE__*/React__default['default'].cloneElement(props.iconLeft, {
58
- size: 'big',
59
- color: props.isDisabled ? 'neutral60' : 'solid'
60
- })), react.jsx("span", {
61
- css: /*#__PURE__*/react.css("margin:0 ", designSystem.customProperties.spacingXs, " 0 0;display:flex;align-items:center;justify-content:center;" + ("" ))
62
- }, react.jsx(Text__default['default'].Detail, {
63
- tone: props.isDisabled ? 'secondary' : undefined
64
- }, props.children))), props.chevron);
47
+ return jsxRuntime.jsxs("div", {
48
+ css: _ref3,
49
+ children: [jsxRuntime.jsxs(AccessibleButton__default["default"], {
50
+ label: props.children,
51
+ onClick: props.onClick,
52
+ isDisabled: props.isDisabled,
53
+ css: _concatInstanceProperty__default["default"](_context = []).call(_context, _toConsumableArray(getButtonStyles(props.isDisabled)), [/*#__PURE__*/react$1.css("padding:0 ", designSystem.customProperties.spacingS, ";border-radius:", designSystem.customProperties.borderRadius6, " 0 0 ", designSystem.customProperties.borderRadius6, ";" + ("" ), "" ), "" ]),
54
+ children: [jsxRuntime.jsx("span", {
55
+ css: /*#__PURE__*/react$1.css("margin:0 ", designSystem.customProperties.spacingXs, " 0 0;display:flex;align-items:center;justify-content:center;" + ("" ), "" ),
56
+ children: /*#__PURE__*/react.cloneElement(props.iconLeft, {
57
+ size: 'big',
58
+ color: props.isDisabled ? 'neutral60' : 'solid'
59
+ })
60
+ }), jsxRuntime.jsx("span", {
61
+ css: /*#__PURE__*/react$1.css("margin:0 ", designSystem.customProperties.spacingXs, " 0 0;display:flex;align-items:center;justify-content:center;" + ("" ), "" ),
62
+ children: jsxRuntime.jsx(Text__default["default"].Detail, {
63
+ tone: props.isDisabled ? 'secondary' : undefined,
64
+ children: props.children
65
+ })
66
+ })]
67
+ }), props.chevron]
68
+ });
65
69
  };
66
70
 
67
- DropdownHead.displayName = 'DropdownHead';
68
71
  DropdownHead.propTypes = {};
72
+ DropdownHead.displayName = 'DropdownHead';
69
73
 
70
74
  var _ref2 = {
71
75
  name: "1jklb6q",
72
76
  styles: "pointer-events:none;margin-top:3px"
73
77
  } ;
74
78
 
75
- var DropdownChevron = /*#__PURE__*/React__default['default'].forwardRef(function (props, ref) {
79
+ var DropdownChevron = /*#__PURE__*/react.forwardRef(function (props, ref) {
76
80
  var _context2;
77
81
 
78
- return react.jsx(AccessibleButton__default['default'], {
82
+ return jsxRuntime.jsx(AccessibleButton__default["default"], {
79
83
  ref: ref,
80
84
  label: "Open Dropdown",
81
85
  onClick: props.onClick,
82
86
  isDisabled: props.isDisabled,
83
- isOpen: props.isOpen,
84
- css: _concatInstanceProperty__default['default'](_context2 = []).call(_context2, _toConsumableArray(getButtonStyles(props.isDisabled)), [/*#__PURE__*/react.css("padding:0 ", designSystem.customProperties.spacingXs, ";border-left:1px solid ", designSystem.customProperties.colorNeutral, ";border-radius:0 ", designSystem.customProperties.borderRadius6, " ", designSystem.customProperties.borderRadius6, " 0;" + ("" ))])
85
- }, react.jsx("div", {
86
- // The margin-top is to center the icon as the caret visually looks too high otherwise
87
- css: _ref2
88
- }, /*#__PURE__*/React__default['default'].cloneElement(props.isOpen && !props.isDisabled ? react.jsx(icons.CaretUpIcon, null) : react.jsx(icons.CaretDownIcon, null), {
89
- color: props.isDisabled ? 'neutral60' : 'solid',
90
- size: 'small'
91
- })));
87
+ css: _concatInstanceProperty__default["default"](_context2 = []).call(_context2, _toConsumableArray(getButtonStyles(props.isDisabled)), [/*#__PURE__*/react$1.css("padding:0 ", designSystem.customProperties.spacingXs, ";border-left:1px solid ", designSystem.customProperties.colorNeutral, ";border-radius:0 ", designSystem.customProperties.borderRadius6, " ", designSystem.customProperties.borderRadius6, " 0;" + ("" ), "" ), "" ]),
88
+ children: jsxRuntime.jsx("div", {
89
+ // The margin-top is to center the icon as the caret visually looks too high otherwise
90
+ css: _ref2,
91
+ children: /*#__PURE__*/react.cloneElement(props.isOpen && !props.isDisabled ? jsxRuntime.jsx(icons.CaretUpIcon, {}) : jsxRuntime.jsx(icons.CaretDownIcon, {}), {
92
+ color: props.isDisabled ? 'neutral60' : 'solid',
93
+ size: 'small'
94
+ })
95
+ })
96
+ });
92
97
  });
93
98
  DropdownChevron.displayName = 'DropdownChevron';
94
- DropdownChevron.propTypes = {
95
- onClick: PropTypes__default['default'].func.isRequired,
96
- isDisabled: PropTypes__default['default'].bool.isRequired,
97
- isOpen: PropTypes__default['default'].bool.isRequired
98
- };
99
99
 
100
- var Options = _styled__default['default']("div", {
101
- target: "e102bf7i0"
102
- } )("position:absolute;z-index:5;width:100%;top:calc(", designSystem.customProperties.spacingS, " + ", designSystem.customProperties.bigButtonHeight, ");left:0;border:1px solid ", designSystem.customProperties.colorNeutral, ";border-radius:", designSystem.customProperties.borderRadius6, ";box-shadow:", designSystem.customProperties.shadow1, ";");
103
-
104
- var Option = function Option(props) {
105
- return react.jsx(AccessibleButton__default['default'], {
106
- label: props.children,
107
- onClick: props.onClick,
108
- isDisabled: props.isDisabled,
109
- css: [/*#__PURE__*/react.css("display:block;text-align:left;width:100%;padding:", designSystem.customProperties.spacingS, ";background-color:", designSystem.customProperties.colorSurface, ";&:first-of-type{border-radius:", designSystem.customProperties.borderRadius6, " ", designSystem.customProperties.borderRadius6, " 0 0;}&:last-of-type{border-radius:0 0 ", designSystem.customProperties.borderRadius6, " ", designSystem.customProperties.borderRadius6, ";}&:hover{background-color:", designSystem.customProperties.colorNeutral95, ";}" + ("" )), props.isDisabled && /*#__PURE__*/react.css("color:", designSystem.customProperties.colorNeutral, ";" + ("" )), "" ]
110
- }, props.children);
111
- };
112
- Option.displayName = 'Option';
113
- Option.propTypes = {};
114
- Option.defaultProps = {
115
- isDisabled: false
116
- };
100
+ var Options = _styled__default["default"]("div", {
101
+ target: "eb24b7r0"
102
+ } )("position:absolute;z-index:5;width:100%;top:calc(", designSystem.customProperties.spacingS, " + ", designSystem.customProperties.bigButtonHeight, ");left:0;border:1px solid ", designSystem.customProperties.colorNeutral, ";border-radius:", designSystem.customProperties.borderRadius6, ";box-shadow:", designSystem.customProperties.shadow1, ";" + ("" ));
117
103
  /*
118
104
  This component registers a global click event listener to close the dropdown.
119
105
  It uses this global listener to close when:
@@ -125,69 +111,91 @@ Option.defaultProps = {
125
111
  immediately.
126
112
  */
127
113
 
114
+
128
115
  var _ref = {
129
116
  name: "47yzp9",
130
117
  styles: "position:relative;display:inline-flex;align-items:column"
131
118
  } ;
132
119
 
133
120
  var PrimaryActionDropdown = function PrimaryActionDropdown(props) {
134
- var ref = React__default['default'].useRef();
121
+ var ref = react.useRef();
135
122
 
136
123
  var _useToggleState = hooks.useToggleState(false),
137
124
  _useToggleState2 = _slicedToArray(_useToggleState, 2),
138
125
  isOpen = _useToggleState2[0],
139
126
  toggle = _useToggleState2[1];
140
127
 
141
- var handleGlobalClick = React__default['default'].useCallback(function (event) {
128
+ var handleGlobalClick = react.useCallback(function (event) {
142
129
  var dropdownButton = ref.current;
143
130
 
144
131
  if (dropdownButton && event.target !== dropdownButton && !dropdownButton.contains(event.target)) {
145
132
  toggle(false);
146
133
  }
147
134
  }, [ref, toggle]);
148
- React__default['default'].useEffect(function () {
135
+ react.useEffect(function () {
149
136
  window.addEventListener('click', handleGlobalClick);
150
137
  return function () {
151
138
  window.removeEventListener('click', handleGlobalClick);
152
139
  };
153
140
  }, [handleGlobalClick]);
154
- var childrenAsArray = React__default['default'].Children.toArray(props.children);
155
- var primaryOption = _findInstanceProperty__default['default'](childrenAsArray).call(childrenAsArray, function (option) {
156
- return !option.props.isDisabled;
141
+ var childrenAsArray = react.Children.toArray(props.children);
142
+ var primaryOption = _findInstanceProperty__default["default"](childrenAsArray).call(childrenAsArray, function (option) {
143
+ return /*#__PURE__*/react.isValidElement(option) && !option.props.isDisabled;
157
144
  }) || childrenAsArray[0];
158
145
  var onClick = primaryOption.props.onClick;
159
- var handleClickOnHead = React__default['default'].useCallback(function (event) {
146
+ var handleClickOnHead = react.useCallback(function (event) {
160
147
  if (isOpen) {
161
148
  toggle(true);
162
149
  } else {
163
150
  onClick(event);
164
151
  }
165
152
  }, [isOpen, onClick, toggle]);
166
- var handleClickOnChevron = React__default['default'].useCallback(function () {
153
+ var handleClickOnChevron = react.useCallback(function () {
167
154
  toggle();
168
155
  }, [toggle]);
169
- return react.jsx("div", {
170
- css: _ref
171
- }, react.jsx(DropdownHead, {
172
- iconLeft: primaryOption.props.iconLeft,
173
- isDisabled: primaryOption.props.isDisabled,
174
- onClick: handleClickOnHead,
175
- chevron: react.jsx(DropdownChevron, {
176
- ref: ref,
177
- onClick: handleClickOnChevron,
156
+ return jsxRuntime.jsxs("div", {
157
+ css: _ref,
158
+ children: [jsxRuntime.jsx(DropdownHead, {
159
+ iconLeft: primaryOption.props.iconLeft,
178
160
  isDisabled: primaryOption.props.isDisabled,
179
- isOpen: isOpen
180
- })
181
- }, primaryOption.props.children), isOpen && !primaryOption.props.isDisabled && react.jsx(Options, null, childrenAsArray));
161
+ onClick: handleClickOnHead,
162
+ chevron: jsxRuntime.jsx(DropdownChevron, {
163
+ ref: ref,
164
+ onClick: handleClickOnChevron,
165
+ isDisabled: primaryOption.props.isDisabled,
166
+ isOpen: isOpen
167
+ }),
168
+ children: primaryOption.props.children
169
+ }), isOpen && !primaryOption.props.isDisabled && jsxRuntime.jsx(Options, {
170
+ children: childrenAsArray
171
+ })]
172
+ });
182
173
  };
183
174
 
184
- PrimaryActionDropdown.displayName = 'PrimaryActionDropdown';
185
175
  PrimaryActionDropdown.propTypes = {};
176
+ PrimaryActionDropdown.displayName = 'PrimaryActionDropdown';
186
177
  var PrimaryActionDropdown$1 = PrimaryActionDropdown;
187
178
 
188
- // NOTE: This string will be replaced in the `prepare` script by the `scripts/version.js` file.
189
- var version = '12.2.2';
179
+ var Option = function Option(props) {
180
+ return jsxRuntime.jsx(AccessibleButton__default["default"], {
181
+ label: props.children,
182
+ onClick: props.onClick,
183
+ isDisabled: props.isDisabled,
184
+ css: [/*#__PURE__*/react$1.css("display:block;text-align:left;width:100%;padding:", designSystem.customProperties.spacingS, ";background-color:", designSystem.customProperties.colorSurface, ";&:first-of-type{border-radius:", designSystem.customProperties.borderRadius6, " ", designSystem.customProperties.borderRadius6, " 0 0;}&:last-of-type{border-radius:0 0 ", designSystem.customProperties.borderRadius6, " ", designSystem.customProperties.borderRadius6, ";}&:hover{background-color:", designSystem.customProperties.colorNeutral95, ";}" + ("" ), "" ), props.isDisabled && /*#__PURE__*/react$1.css("color:", designSystem.customProperties.colorNeutral, ";" + ("" ), "" ), "" , "" ],
185
+ children: props.children
186
+ });
187
+ };
188
+
189
+ Option.propTypes = {};
190
+ Option.displayName = 'Option';
191
+ Option.defaultProps = {
192
+ isDisabled: false
193
+ };
194
+ var Option$1 = Option;
195
+
196
+ // NOTE: This string will be replaced on build time with the package version.
197
+ var version = "12.2.6";
190
198
 
191
- exports.Option = Option;
192
- exports['default'] = PrimaryActionDropdown$1;
199
+ exports.Option = Option$1;
200
+ exports["default"] = PrimaryActionDropdown$1;
193
201
  exports.version = version;