@commercetools-uikit/selectable-search-input 19.4.0 → 19.6.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.
@@ -22,6 +22,7 @@ var _findInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/insta
22
22
  var _trimInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/trim');
23
23
  var react$1 = require('react');
24
24
  var SecondaryIconButton = require('@commercetools-uikit/secondary-icon-button');
25
+ var IconButton = require('@commercetools-uikit/icon-button');
25
26
  var Constraints = require('@commercetools-uikit/constraints');
26
27
  var icons = require('@commercetools-uikit/icons');
27
28
  var utils = require('@commercetools-uikit/utils');
@@ -53,6 +54,7 @@ var _flatMapInstanceProperty__default = /*#__PURE__*/_interopDefault(_flatMapIns
53
54
  var _findInstanceProperty__default = /*#__PURE__*/_interopDefault(_findInstanceProperty);
54
55
  var _trimInstanceProperty__default = /*#__PURE__*/_interopDefault(_trimInstanceProperty);
55
56
  var SecondaryIconButton__default = /*#__PURE__*/_interopDefault(SecondaryIconButton);
57
+ var IconButton__default = /*#__PURE__*/_interopDefault(IconButton);
56
58
  var Constraints__default = /*#__PURE__*/_interopDefault(Constraints);
57
59
  var Select__default = /*#__PURE__*/_interopDefault(Select);
58
60
 
@@ -98,8 +100,8 @@ const getInputBoxShadow = props => {
98
100
  }
99
101
  return designSystem.designTokens.shadowForInput;
100
102
  };
101
- const getSelectableSearchInputStyles = props => [inputUtils.getInputStyles(props), /*#__PURE__*/react.css("border:none;box-shadow:none;background:none;&,&:focus,&:focus:not(:read-only){box-shadow:none;}&:focus,&:hover{background-color:transparent!important;}width:100%;color:", getInputFontColor(props), ";" + ("" ), "" )];
102
- const getButtonStyles = () => /*#__PURE__*/react.css("border:none;background:none;height:100%;border-top-right-radius:", designSystem.designTokens.borderRadiusForInput, ";border-bottom-right-radius:", designSystem.designTokens.borderRadiusForInput, ";border-left:none;align-items:center;transition:border-color ", designSystem.designTokens.transitionStandard, ",background-color ", designSystem.designTokens.transitionStandard, ";transition:border-color ", designSystem.designTokens.transitionStandard, ",box-shadow ", designSystem.designTokens.transitionStandard, ";margin-right:", designSystem.designTokens.spacing20, ";" + ("" ), "" );
103
+ const getSelectableSearchInputStyles = props => [inputUtils.getInputStyles(props), /*#__PURE__*/react.css("border:none;box-shadow:none;background:none;&,&:focus,&:focus:not(:read-only){box-shadow:none;}&:focus,&:hover{background-color:transparent!important;}width:100%;color:", getInputFontColor(props), ";order:2;margin-left:", designSystem.designTokens.spacing10, ";padding-left:0;padding-right:0;" + ("" ), "" )];
104
+ const getButtonStyles = () => /*#__PURE__*/react.css("border:none;background:none;height:100%;border-top-right-radius:", designSystem.designTokens.borderRadiusForInput, ";border-bottom-right-radius:", designSystem.designTokens.borderRadiusForInput, ";border-left:none;align-items:center;transition:border-color ", designSystem.designTokens.transitionStandard, ",background-color ", designSystem.designTokens.transitionStandard, ";transition:border-color ", designSystem.designTokens.transitionStandard, ",box-shadow ", designSystem.designTokens.transitionStandard, ";" + ("" ), "" );
103
105
  const getIconColor = (props, defaultColor) => {
104
106
  if (props.isDisabled) {
105
107
  return designSystem.designTokens.fontColorForInputWhenDisabled;
@@ -109,8 +111,8 @@ const getIconColor = (props, defaultColor) => {
109
111
  }
110
112
  return defaultColor;
111
113
  };
112
- const getClearIconButtonStyles = props => [getButtonStyles(), /*#__PURE__*/react.css("fill:", getIconColor(props, designSystem.designTokens.colorNeutral40), ";&:hover{fill:", getIconColor(props, designSystem.designTokens.colorError), ";}" + ("" ), "" )];
113
- const getSearchIconButtonStyles = props => [getButtonStyles(), /*#__PURE__*/react.css("margin-right:", designSystem.designTokens.spacing25, ";fill:", getIconColor(props, designSystem.designTokens.colorNeutral60), ";cursor:", props.isReadOnly ? 'default' : 'pointer', ";&:hover{fill:", getIconColor(props, designSystem.designTokens.colorPrimary), ";}" + ("" ), "" )];
114
+ const getClearIconButtonStyles = props => [getButtonStyles(), /*#__PURE__*/react.css("fill:", getIconColor(props, designSystem.designTokens.colorNeutral40), ";&:hover{fill:", getIconColor(props, designSystem.designTokens.colorError), ";}order:3;margin-left:", designSystem.designTokens.spacing10, ";" + ("" ), "" )];
115
+ const getSearchIconButtonStyles = props => [getButtonStyles(), /*#__PURE__*/react.css("fill:", getIconColor(props, designSystem.designTokens.colorNeutral60), ";cursor:", props.isReadOnly ? 'default' : 'pointer', ";&:hover{fill:", getIconColor(props, designSystem.designTokens.colorPrimary), ";}border-radius:0;order:1;" + ("" ), "" )];
114
116
  const getBackgroundColor = (props, defaultColor) => {
115
117
  if (props.isDisabled) {
116
118
  return designSystem.designTokens.backgroundColorForInputWhenDisabled;
@@ -120,7 +122,7 @@ const getBackgroundColor = (props, defaultColor) => {
120
122
  }
121
123
  return defaultColor;
122
124
  };
123
- const getSelectableSearchInputContainerStyles = props => [/*#__PURE__*/react.css("display:flex;align-items:center;background-color:", getBackgroundColor(props, designSystem.designTokens.backgroundColorForInput), ";border:1px solid ", getInputContainerBorderColor(props), ";border-radius:", designSystem.designTokens.borderRadiusForInput, ";box-shadow:", getInputBoxShadow(props), ";height:", props.isCondensed ? "".concat(designSystem.designTokens.heightForInputAsSmall) : "".concat(designSystem.designTokens.heightForInput), ";box-sizing:border-box;border-top-left-radius:0;border-bottom-left-radius:0;margin-left:0;width:", props.horizontalConstraint === 'auto' ? 'auto' : '100%', ";transition:border-color ", designSystem.designTokens.transitionStandard, ",background-color ", designSystem.designTokens.transitionStandard, ";&::placeholder{color:", designSystem.designTokens.colorNeutral60, ";}&:hover{border-color:", getInputContainerBorderColor(props, designSystem.designTokens.borderColorForInputWhenHovered), ";background-color:", getBackgroundColor(props, designSystem.designTokens.backgroundColorForInputWhenHovered), ";}&:focus{border-color:", designSystem.designTokens.borderColorForInputWhenFocused, ";}" + ("" ), "" ), !props.isDisabled && !props.isReadOnly && /*#__PURE__*/react.css("&:focus-within{border-color:", designSystem.designTokens.borderColorForInputWhenFocused, ";box-shadow:inset 0 0 0 1px ", designSystem.designTokens.borderColorForInputWhenFocused, ";}" + ("" ), "" )];
125
+ const getSelectableSearchInputContainerStyles = props => [/*#__PURE__*/react.css("display:flex;align-items:center;background-color:", getBackgroundColor(props, designSystem.designTokens.backgroundColorForInput), ";border:1px solid ", getInputContainerBorderColor(props), ";border-radius:", designSystem.designTokens.borderRadiusForInput, ";box-shadow:", getInputBoxShadow(props), ";height:", props.isCondensed ? "".concat(designSystem.designTokens.heightForInputAsSmall) : "".concat(designSystem.designTokens.heightForInput), ";box-sizing:border-box;border-top-left-radius:0;border-bottom-left-radius:0;width:", props.horizontalConstraint === 'auto' ? 'auto' : '100%', ";transition:border-color ", designSystem.designTokens.transitionStandard, ",background-color ", designSystem.designTokens.transitionStandard, ";padding-left:", designSystem.designTokens.spacing30, ";padding-right:", designSystem.designTokens.spacing30, ";&::placeholder{color:", designSystem.designTokens.colorNeutral60, ";}&:hover{border-color:", getInputContainerBorderColor(props, designSystem.designTokens.borderColorForInputWhenHovered), ";background-color:", getBackgroundColor(props, designSystem.designTokens.backgroundColorForInputWhenHovered), ";}&:focus{border-color:", designSystem.designTokens.borderColorForInputWhenFocused, ";}" + ("" ), "" ), !props.isDisabled && !props.isReadOnly && /*#__PURE__*/react.css("&:focus-within{border-color:", designSystem.designTokens.borderColorForInputWhenFocused, ";box-shadow:inset 0 0 0 1px ", designSystem.designTokens.borderColorForInputWhenFocused, ";}" + ("" ), "" )];
124
126
  const createSelectableSelectStyles = _ref => {
125
127
  let hasWarning = _ref.hasWarning,
126
128
  hasError = _ref.hasError,
@@ -225,13 +227,13 @@ const SelectableSelect = props => {
225
227
  isSearchable: props.isReadOnly ? false : props.isMenuSearchable,
226
228
  maxMenuHeight: props.maxMenuHeight,
227
229
  closeMenuOnSelect: props.closeMenuOnSelect,
228
- components: {
230
+ components: _objectSpread$1({
229
231
  SingleValue: innerProps => jsxRuntime.jsx(SingleValue, _objectSpread$1({
230
232
  id: props.id,
231
233
  dataProps: props.dataProps
232
234
  }, innerProps)),
233
235
  DropdownIndicator: selectUtils.DropdownIndicator
234
- },
236
+ }, props.selectCustomComponents),
235
237
  options: props.options,
236
238
  menuIsOpen: props.isReadOnly ? false : undefined,
237
239
  placeholder: "",
@@ -310,6 +312,7 @@ const SelectableSearchInput = props => {
310
312
  return option;
311
313
  });
312
314
  const selectedOption = _findInstanceProperty__default["default"](optionsWithoutGroups).call(optionsWithoutGroups, option => option.value === searchInputOption);
315
+ if (props.rightActionIcon && !props.rightActionProps) ;
313
316
  const selectablSearchInputId = hooks.useFieldId(props.id, selectableSearchInputSequentialId);
314
317
  if (!props.isReadOnly) ;
315
318
  selectUtils.warnIfMenuPortalPropsAreMissing({
@@ -443,7 +446,8 @@ const SelectableSearchInput = props => {
443
446
  handleDropdownChange: handleDropdownChange,
444
447
  textInputRef: textInputRef,
445
448
  selectedOption: selectedOption,
446
- dataProps: transformedSelectDataProps
449
+ dataProps: transformedSelectDataProps,
450
+ selectCustomComponents: props.selectCustomComponents
447
451
  }))
448
452
  }), jsxRuntime.jsxs("div", {
449
453
  css: [getSelectableSearchInputContainerStyles(props), dropdownHasFocus && !props.isReadOnly && /*#__PURE__*/react.css("border-left-color:", designSystem.designTokens.borderColorForInputWhenFocused, ";&:hover{border-left-color:", designSystem.designTokens.borderColorForInputWhenFocused, ";}" + ("" ), "" ), "" , "" ],
@@ -476,17 +480,25 @@ const SelectableSearchInput = props => {
476
480
  }
477
481
  })), props.isClearable && searchInputValue && !props.isDisabled && !props.isReadOnly && jsxRuntime.jsx(SecondaryIconButton__default["default"], {
478
482
  icon: jsxRuntime.jsx(icons.CloseIcon, {}),
479
- size: props.isCondensed ? 'small' : 'medium',
483
+ size: props.isCondensed ? '10' : '20',
480
484
  label: 'clear-button',
481
485
  onClick: handleClear,
482
486
  css: getClearIconButtonStyles(props)
483
487
  }), props.showSubmitButton && jsxRuntime.jsx(SecondaryIconButton__default["default"], {
484
488
  icon: jsxRuntime.jsx(icons.SearchIcon, {}),
485
- size: props.isCondensed ? 'medium' : 'big',
489
+ size: props.isCondensed ? '20' : '40',
486
490
  label: 'search-button',
487
491
  onClick: handleSubmit,
488
492
  css: getSearchIconButtonStyles(props),
489
493
  isDisabled: props.isDisabled
494
+ }), props.rightActionIcon && props.rightActionProps && jsxRuntime.jsx("div", {
495
+ css: /*#__PURE__*/react.css("order:4;margin-left:", designSystem.designTokens.spacing30, ";" + ("" ), "" ),
496
+ children: jsxRuntime.jsx(IconButton__default["default"], _objectSpread({
497
+ theme: "primary",
498
+ isDisabled: props.isDisabled || props.isReadOnly,
499
+ size: props.isCondensed ? '10' : '20',
500
+ icon: props.rightActionIcon
501
+ }, props.rightActionProps))
490
502
  })]
491
503
  })]
492
504
  })
@@ -504,7 +516,7 @@ SelectableSearchInput.getDropdownId = getDropdownName;
504
516
  var SelectableSearchInput$1 = SelectableSearchInput;
505
517
 
506
518
  // NOTE: This string will be replaced on build time with the package version.
507
- var version = "19.4.0";
519
+ var version = "19.6.0";
508
520
 
509
521
  exports["default"] = SelectableSearchInput$1;
510
522
  exports.version = version;