@entur/form 5.1.4 → 5.2.2

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.
package/dist/form.esm.js CHANGED
@@ -1,7 +1,8 @@
1
1
  import { useRandomId, useOnMount, warnAboutMissingStyles } from '@entur/utils';
2
2
  import { Tooltip } from '@entur/tooltip';
3
3
  import classNames from 'classnames';
4
- import React__default, { useState, createElement, useContext, createContext } from 'react';
4
+ import * as React from 'react';
5
+ import React__default from 'react';
5
6
  import { ValidationExclamationIcon, ValidationErrorIcon, ValidationCheckIcon, QuestionIcon, TrainIcon, BusIcon, ScooterIcon, BicycleIcon, FerryIcon, TramIcon, PlaneIcon, SubwayIcon, CloseSmallIcon } from '@entur/icons';
6
7
  import { SubLabel, Paragraph, Label } from '@entur/typography';
7
8
  import { colors } from '@entur/tokens';
@@ -39,6 +40,8 @@ function _objectWithoutPropertiesLoose(source, excluded) {
39
40
  return target;
40
41
  }
41
42
 
43
+ var _excluded$f = ["children", "hideIcon", "variant", "className"];
44
+
42
45
  var AlertIcon = function AlertIcon(_ref) {
43
46
  var variant = _ref.variant;
44
47
  var iconClass = "eds-feedback-text__icon eds-feedback-text__icon--" + variant;
@@ -73,9 +76,9 @@ var FeedbackText = function FeedbackText(_ref2) {
73
76
  hideIcon = _ref2$hideIcon === void 0 ? false : _ref2$hideIcon,
74
77
  variant = _ref2.variant,
75
78
  className = _ref2.className,
76
- rest = _objectWithoutPropertiesLoose(_ref2, ["children", "hideIcon", "variant", "className"]);
79
+ rest = _objectWithoutPropertiesLoose(_ref2, _excluded$f);
77
80
 
78
- return React__default.createElement(SubLabel, Object.assign({
81
+ return React__default.createElement(SubLabel, _extends({
79
82
  className: classNames('eds-feedback-text', {
80
83
  'eds-feedback-text--info': variant === 'info'
81
84
  }, className)
@@ -86,7 +89,7 @@ var FeedbackText = function FeedbackText(_ref2) {
86
89
  }, children));
87
90
  };
88
91
 
89
- var InputGroupContext = /*#__PURE__*/createContext({
92
+ var InputGroupContext = /*#__PURE__*/React.createContext({
90
93
  isFilled: false,
91
94
  setFilled: function setFilled() {
92
95
  return null;
@@ -95,11 +98,11 @@ var InputGroupContext = /*#__PURE__*/createContext({
95
98
  var InputGroupContextProvider = function InputGroupContextProvider(_ref) {
96
99
  var children = _ref.children;
97
100
 
98
- var _React$useState = useState(false),
101
+ var _React$useState = React.useState(false),
99
102
  filled = _React$useState[0],
100
103
  setFilled = _React$useState[1];
101
104
 
102
- return createElement(InputGroupContext.Provider, {
105
+ return React.createElement(InputGroupContext.Provider, {
103
106
  value: {
104
107
  isFilled: filled,
105
108
  setFilled: setFilled
@@ -107,22 +110,23 @@ var InputGroupContextProvider = function InputGroupContextProvider(_ref) {
107
110
  }, children);
108
111
  };
109
112
  var useInputGroupContext = function useInputGroupContext() {
110
- return useContext(InputGroupContext);
113
+ return React.useContext(InputGroupContext);
111
114
  };
112
115
 
116
+ var _excluded$e = ["label", "required", "labelId", "staticAnimation"];
113
117
  var InputGroupLabel = function InputGroupLabel(_ref) {
114
118
  var label = _ref.label,
115
119
  required = _ref.required,
116
120
  labelId = _ref.labelId,
117
121
  _ref$staticAnimation = _ref.staticAnimation,
118
122
  staticAnimation = _ref$staticAnimation === void 0 ? false : _ref$staticAnimation,
119
- rest = _objectWithoutPropertiesLoose(_ref, ["label", "required", "labelId", "staticAnimation"]);
123
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$e);
120
124
 
121
125
  var _useInputGroupContext = useInputGroupContext(),
122
126
  isFilled = _useInputGroupContext.isFilled;
123
127
 
124
128
  var filler = staticAnimation || isFilled;
125
- return React__default.createElement("label", Object.assign({
129
+ return React__default.createElement("label", _extends({
126
130
  className: classNames(rest.className, {
127
131
  'eds-input-group-label-wrapper--filled': filler
128
132
  }),
@@ -148,6 +152,7 @@ var useVariant = function useVariant() {
148
152
  return context;
149
153
  };
150
154
 
155
+ var _excluded$d = ["children", "className", "dark", "disabled", "readOnly", "variant", "prepend", "append", "size", "isFilled", "label", "required", "labelTooltip", "feedback", "labelId", "labelProps", "style", "disableLabelAnimation"];
151
156
  var BaseFormControl = /*#__PURE__*/React__default.forwardRef(function (_ref, ref) {
152
157
  var children = _ref.children,
153
158
  className = _ref.className,
@@ -172,11 +177,11 @@ var BaseFormControl = /*#__PURE__*/React__default.forwardRef(function (_ref, ref
172
177
  style = _ref.style,
173
178
  _ref$disableLabelAnim = _ref.disableLabelAnimation,
174
179
  disableLabelAnimation = _ref$disableLabelAnim === void 0 ? false : _ref$disableLabelAnim,
175
- rest = _objectWithoutPropertiesLoose(_ref, ["children", "className", "dark", "disabled", "readOnly", "variant", "prepend", "append", "size", "isFilled", "label", "required", "labelTooltip", "feedback", "labelId", "labelProps", "style", "disableLabelAnimation"]);
180
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$d);
176
181
 
177
182
  var contextVariant = useVariant();
178
183
  var currentVariant = variant || contextVariant;
179
- return React__default.createElement(InputGroupContextProvider, null, React__default.createElement("div", Object.assign({
184
+ return React__default.createElement(InputGroupContextProvider, null, React__default.createElement("div", _extends({
180
185
  className: classNames('eds-form-control-wrapper', className, "eds-form-control-wrapper--size-" + size, {
181
186
  'eds-form-control-wrapper--success': currentVariant === 'success',
182
187
  'eds-form-control-wrapper--error': currentVariant === 'error',
@@ -189,7 +194,7 @@ var BaseFormControl = /*#__PURE__*/React__default.forwardRef(function (_ref, ref
189
194
  style: style
190
195
  }, rest), prepend && React__default.createElement("div", {
191
196
  className: "eds-form-control__prepend"
192
- }, prepend), React__default.createElement(InputGroupLabel, Object.assign({
197
+ }, prepend), React__default.createElement(InputGroupLabel, _extends({
193
198
  label: label,
194
199
  required: required,
195
200
  labelId: labelId,
@@ -208,6 +213,7 @@ var BaseFormControl = /*#__PURE__*/React__default.forwardRef(function (_ref, ref
208
213
  }, feedback));
209
214
  });
210
215
 
216
+ var _excluded$c = ["checked", "className", "children", "style", "disabled", "reduceClickArea"];
211
217
  var Checkbox = /*#__PURE__*/React__default.forwardRef(function (_ref, ref) {
212
218
  var checked = _ref.checked,
213
219
  className = _ref.className,
@@ -216,7 +222,7 @@ var Checkbox = /*#__PURE__*/React__default.forwardRef(function (_ref, ref) {
216
222
  _ref$disabled = _ref.disabled,
217
223
  disabled = _ref$disabled === void 0 ? false : _ref$disabled,
218
224
  reduceClickArea = _ref.reduceClickArea,
219
- rest = _objectWithoutPropertiesLoose(_ref, ["checked", "className", "children", "style", "disabled", "reduceClickArea"]);
225
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$c);
220
226
 
221
227
  // Trick to allow using a ref locally, while still allowing for ref forwarding
222
228
  // Read more at https://reactjs.org/docs/hooks-reference.html#useimperativehandle
@@ -238,7 +244,7 @@ var Checkbox = /*#__PURE__*/React__default.forwardRef(function (_ref, ref) {
238
244
  'eds-checkbox__container--reduced-click-area': reduceClickArea
239
245
  }),
240
246
  style: style
241
- }, React__default.createElement("input", Object.assign({
247
+ }, React__default.createElement("input", _extends({
242
248
  type: "checkbox",
243
249
  ref: innerRef,
244
250
  checked: isControlled ? checked === true : undefined,
@@ -278,13 +284,14 @@ var CheckboxIcon = function CheckboxIcon(_ref2) {
278
284
  }));
279
285
  };
280
286
 
287
+ var _excluded$b = ["children", "className", "label"];
281
288
  var Fieldset = function Fieldset(_ref) {
282
289
  var children = _ref.children,
283
290
  className = _ref.className,
284
291
  label = _ref.label,
285
- rest = _objectWithoutPropertiesLoose(_ref, ["children", "className", "label"]);
292
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$b);
286
293
 
287
- return React__default.createElement("fieldset", Object.assign({
294
+ return React__default.createElement("fieldset", _extends({
288
295
  className: classNames('eds-fieldset', className)
289
296
  }, rest), label && React__default.createElement(Label, {
290
297
  as: "legend",
@@ -304,12 +311,13 @@ var useRadioGroupContext = function useRadioGroupContext() {
304
311
  return context;
305
312
  };
306
313
 
314
+ var _excluded$a = ["className", "children", "value", "disabled"];
307
315
  var Radio = /*#__PURE__*/React__default.forwardRef(function (_ref, ref) {
308
316
  var className = _ref.className,
309
317
  children = _ref.children,
310
318
  value = _ref.value,
311
319
  disabled = _ref.disabled,
312
- rest = _objectWithoutPropertiesLoose(_ref, ["className", "children", "value", "disabled"]);
320
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$a);
313
321
 
314
322
  var classList = classNames(className, 'eds-form-component--radio__radio', {
315
323
  'eds-form-component--radio__radio--disabled': disabled
@@ -322,7 +330,7 @@ var Radio = /*#__PURE__*/React__default.forwardRef(function (_ref, ref) {
322
330
 
323
331
  return React__default.createElement("label", {
324
332
  className: "eds-form-component--radio__container"
325
- }, React__default.createElement("input", Object.assign({
333
+ }, React__default.createElement("input", _extends({
326
334
  type: "radio",
327
335
  name: name,
328
336
  ref: ref,
@@ -341,13 +349,14 @@ var Radio = /*#__PURE__*/React__default.forwardRef(function (_ref, ref) {
341
349
  }, children));
342
350
  });
343
351
 
352
+ var _excluded$9 = ["name", "value", "children", "onChange", "label"];
344
353
  var RadioGroup = function RadioGroup(_ref) {
345
354
  var name = _ref.name,
346
355
  value = _ref.value,
347
356
  children = _ref.children,
348
357
  onChange = _ref.onChange,
349
358
  label = _ref.label,
350
- rest = _objectWithoutPropertiesLoose(_ref, ["name", "value", "children", "onChange", "label"]);
359
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$9);
351
360
 
352
361
  var contextValue = React__default.useMemo(function () {
353
362
  return {
@@ -358,11 +367,12 @@ var RadioGroup = function RadioGroup(_ref) {
358
367
  }, [name, value, onChange]);
359
368
  return React__default.createElement(RadioGroupContextProvider, {
360
369
  value: contextValue
361
- }, label ? React__default.createElement(Fieldset, Object.assign({
370
+ }, label ? React__default.createElement(Fieldset, _extends({
362
371
  label: label
363
372
  }, rest), children) : children);
364
373
  };
365
374
 
375
+ var _excluded$8 = ["className", "children", "value", "title", "secondaryLabel", "size", "hideCheckbox", "style", "id", "disabled"];
366
376
  var RadioPanel = /*#__PURE__*/React__default.forwardRef(function (_ref, ref) {
367
377
  var className = _ref.className,
368
378
  children = _ref.children,
@@ -377,7 +387,7 @@ var RadioPanel = /*#__PURE__*/React__default.forwardRef(function (_ref, ref) {
377
387
  id = _ref.id,
378
388
  _ref$disabled = _ref.disabled,
379
389
  disabled = _ref$disabled === void 0 ? false : _ref$disabled,
380
- rest = _objectWithoutPropertiesLoose(_ref, ["className", "children", "value", "title", "secondaryLabel", "size", "hideCheckbox", "style", "id", "disabled"]);
390
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$8);
381
391
 
382
392
  var classList = classNames(className, 'eds-radio-panel__container', "eds-radio-panel--" + size, {
383
393
  'eds-radio-panel--disabled': disabled
@@ -393,7 +403,7 @@ var RadioPanel = /*#__PURE__*/React__default.forwardRef(function (_ref, ref) {
393
403
  return React__default.createElement("label", {
394
404
  className: "eds-radio-panel__wrapper",
395
405
  htmlFor: radioPanelId
396
- }, React__default.createElement("input", Object.assign({
406
+ }, React__default.createElement("input", _extends({
397
407
  type: "radio",
398
408
  name: name,
399
409
  ref: ref,
@@ -431,54 +441,58 @@ var RadioPanelCheck = function RadioPanelCheck() {
431
441
  }));
432
442
  };
433
443
 
444
+ var _excluded$7 = ["className", "children", "labelPlacement", "icon", "color", "contrastColor", "size"];
434
445
  var Switch = /*#__PURE__*/React__default.forwardRef(function (_ref, ref) {
435
446
  var className = _ref.className,
436
447
  children = _ref.children,
448
+ _ref$labelPlacement = _ref.labelPlacement,
449
+ labelPlacement = _ref$labelPlacement === void 0 ? 'right' : _ref$labelPlacement,
437
450
  icon = _ref.icon,
438
451
  _ref$color = _ref.color,
439
452
  color = _ref$color === void 0 ? colors.validation.mintContrast : _ref$color,
440
453
  contrastColor = _ref.contrastColor,
441
454
  _ref$size = _ref.size,
442
455
  size = _ref$size === void 0 ? 'medium' : _ref$size,
443
- rest = _objectWithoutPropertiesLoose(_ref, ["className", "children", "icon", "color", "contrastColor", "size"]);
456
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$7);
444
457
 
445
458
  var chosenContrastColor = contrastColor && contrastColor || color;
446
459
  return React__default.createElement("label", {
447
- className: classNames('eds-switch', className),
460
+ className: classNames('eds-switch', "eds-switch--" + labelPlacement, className),
448
461
  style: _extends({}, rest.style)
449
- }, React__default.createElement("input", Object.assign({
462
+ }, React__default.createElement("input", _extends({
450
463
  type: "checkbox",
451
464
  ref: ref
452
465
  }, rest)), React__default.createElement("span", {
453
- className: classNames('eds-switch__switch', {
454
- 'eds-switch__switch--large': size === 'large'
455
- }),
466
+ className: classNames('eds-switch__switch', "eds-switch__switch--" + size),
456
467
  style: {
457
468
  '--eds-switch-color': color,
458
469
  '--eds-switch-contrast-color': chosenContrastColor
459
470
  }
460
471
  }, React__default.createElement("span", {
461
472
  className: "eds-switch__circle"
462
- }, icon && icon)), children && React__default.createElement(Paragraph, {
463
- margin: "none",
464
- as: "span"
473
+ }, icon && icon)), children && React__default.createElement("span", {
474
+ className: classNames('eds-switch__label', "eds-switch__label--" + size + "--" + labelPlacement)
465
475
  }, children));
466
476
  });
467
477
 
478
+ var _excluded$6 = ["className", "children", "labelPlacement", "transport", "size"];
468
479
  var TravelSwitch = function TravelSwitch(_ref) {
469
480
  var className = _ref.className,
470
481
  children = _ref.children,
482
+ _ref$labelPlacement = _ref.labelPlacement,
483
+ labelPlacement = _ref$labelPlacement === void 0 ? 'right' : _ref$labelPlacement,
471
484
  transport = _ref.transport,
472
485
  size = _ref.size,
473
- rest = _objectWithoutPropertiesLoose(_ref, ["className", "children", "transport", "size"]);
486
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$6);
474
487
 
475
488
  var _modeCalc = modeCalc(transport),
476
489
  color = _modeCalc.color,
477
490
  contrast = _modeCalc.contrast,
478
491
  Icon = _modeCalc.Icon;
479
492
 
480
- return React__default.createElement(Switch, Object.assign({
493
+ return React__default.createElement(Switch, _extends({
481
494
  className: className,
495
+ labelPlacement: labelPlacement,
482
496
  color: color,
483
497
  contrastColor: contrast,
484
498
  icon: React__default.createElement(Icon, null),
@@ -581,6 +595,8 @@ function isFilled(obj, SSR) {
581
595
  return obj && (hasValue(obj.value) && obj.value !== '' || SSR && hasValue(obj.defaultValue) && obj.defaultValue !== '');
582
596
  }
583
597
 
598
+ var _excluded$5 = ["variant", "disabled", "readOnly", "className", "style", "label", "feedback", "labelTooltip", "onChange", "disableLabelAnimation"],
599
+ _excluded2$1 = ["readOnly", "disabled", "onChange", "value"];
584
600
  var TextArea = /*#__PURE__*/React__default.forwardRef(function (_ref, ref) {
585
601
  var variant = _ref.variant,
586
602
  _ref$disabled = _ref.disabled,
@@ -594,7 +610,7 @@ var TextArea = /*#__PURE__*/React__default.forwardRef(function (_ref, ref) {
594
610
  labelTooltip = _ref.labelTooltip,
595
611
  onChange = _ref.onChange,
596
612
  disableLabelAnimation = _ref.disableLabelAnimation,
597
- rest = _objectWithoutPropertiesLoose(_ref, ["variant", "disabled", "readOnly", "className", "style", "label", "feedback", "labelTooltip", "onChange", "disableLabelAnimation"]);
613
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$5);
598
614
 
599
615
  var textAreaId = useRandomId('eds-textarea');
600
616
  return React__default.createElement(BaseFormControl, {
@@ -611,7 +627,7 @@ var TextArea = /*#__PURE__*/React__default.forwardRef(function (_ref, ref) {
611
627
  className: 'eds-textarea__label'
612
628
  },
613
629
  disableLabelAnimation: disableLabelAnimation
614
- }, React__default.createElement(TextAreaBase, Object.assign({
630
+ }, React__default.createElement(TextAreaBase, _extends({
615
631
  readOnly: readOnly,
616
632
  disabled: disabled,
617
633
  ref: ref,
@@ -624,7 +640,7 @@ var TextAreaBase = /*#__PURE__*/React__default.forwardRef(function (_ref2, ref)
624
640
  disabled = _ref2.disabled,
625
641
  onChange = _ref2.onChange,
626
642
  value = _ref2.value,
627
- rest = _objectWithoutPropertiesLoose(_ref2, ["readOnly", "disabled", "onChange", "value"]);
643
+ rest = _objectWithoutPropertiesLoose(_ref2, _excluded2$1);
628
644
 
629
645
  var _useInputGroupContext = useInputGroupContext(),
630
646
  isInputFilled = _useInputGroupContext.isFilled,
@@ -635,6 +651,11 @@ var TextAreaBase = /*#__PURE__*/React__default.forwardRef(function (_ref2, ref)
635
651
  setFiller && !isInputFilled && setFiller(true);
636
652
  }
637
653
  });
654
+ React__default.useEffect(function () {
655
+ if (value && setFiller && !isInputFilled) {
656
+ setFiller(true);
657
+ }
658
+ }, [value, setFiller, isInputFilled]);
638
659
 
639
660
  var handleChange = function handleChange(event) {
640
661
  if (isFilled(event.target)) {
@@ -648,7 +669,7 @@ var TextAreaBase = /*#__PURE__*/React__default.forwardRef(function (_ref2, ref)
648
669
  }
649
670
  };
650
671
 
651
- return React__default.createElement("textarea", Object.assign({
672
+ return React__default.createElement("textarea", _extends({
652
673
  className: "eds-form-control eds-textarea",
653
674
  ref: ref,
654
675
  readOnly: readOnly,
@@ -658,6 +679,9 @@ var TextAreaBase = /*#__PURE__*/React__default.forwardRef(function (_ref2, ref)
658
679
  }, rest));
659
680
  });
660
681
 
682
+ var _excluded$4 = ["prepend", "append", "variant", "disabled", "readOnly", "className", "style", "size", "label", "required", "labelTooltip", "feedback", "onChange", "disableLabelAnimation", "labelProps", "clearable", "onClear", "value"],
683
+ _excluded2 = ["disabled", "readOnly", "placeholder", "onChange", "value", "variant"],
684
+ _excluded3 = ["onClear"];
661
685
  var TextField = /*#__PURE__*/React__default.forwardRef(function (_ref, ref) {
662
686
  var prepend = _ref.prepend,
663
687
  append = _ref.append,
@@ -681,7 +705,7 @@ var TextField = /*#__PURE__*/React__default.forwardRef(function (_ref, ref) {
681
705
  clearable = _ref$clearable === void 0 ? false : _ref$clearable,
682
706
  onClear = _ref.onClear,
683
707
  value = _ref.value,
684
- rest = _objectWithoutPropertiesLoose(_ref, ["prepend", "append", "variant", "disabled", "readOnly", "className", "style", "size", "label", "required", "labelTooltip", "feedback", "onChange", "disableLabelAnimation", "labelProps", "clearable", "onClear", "value"]);
708
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$4);
685
709
 
686
710
  var textFieldId = labelProps && labelProps.id ? labelProps.id : useRandomId('eds-textfield');
687
711
  return React__default.createElement(BaseFormControl, {
@@ -689,9 +713,8 @@ var TextField = /*#__PURE__*/React__default.forwardRef(function (_ref, ref) {
689
713
  readOnly: readOnly,
690
714
  variant: variant,
691
715
  prepend: prepend,
692
- append: clearable ? React__default.createElement(ClearButton, {
693
- onClear: onClear,
694
- hasValue: value ? true : false
716
+ append: clearable && onClear ? React__default.createElement(ClearButton, {
717
+ onClear: onClear
695
718
  }) : append,
696
719
  className: className,
697
720
  style: style,
@@ -703,7 +726,7 @@ var TextField = /*#__PURE__*/React__default.forwardRef(function (_ref, ref) {
703
726
  feedback: feedback,
704
727
  disableLabelAnimation: disableLabelAnimation,
705
728
  labelProps: labelProps
706
- }, React__default.createElement(TextFieldBase, Object.assign({
729
+ }, React__default.createElement(TextFieldBase, _extends({
707
730
  disabled: disabled,
708
731
  readOnly: readOnly,
709
732
  ref: ref,
@@ -719,7 +742,7 @@ var TextFieldBase = /*#__PURE__*/React__default.forwardRef(function (_ref2, forw
719
742
  onChange = _ref2.onChange,
720
743
  value = _ref2.value,
721
744
  variant = _ref2.variant,
722
- rest = _objectWithoutPropertiesLoose(_ref2, ["disabled", "readOnly", "placeholder", "onChange", "value", "variant"]);
745
+ rest = _objectWithoutPropertiesLoose(_ref2, _excluded2);
723
746
 
724
747
  var contextVariant = useVariant();
725
748
  var currentVariant = variant || contextVariant;
@@ -733,6 +756,11 @@ var TextFieldBase = /*#__PURE__*/React__default.forwardRef(function (_ref2, forw
733
756
  setFiller && !isInputFilled && setFiller(true);
734
757
  }
735
758
  });
759
+ React__default.useEffect(function () {
760
+ if (value && setFiller && !isInputFilled) {
761
+ setFiller(true);
762
+ }
763
+ }, [value, setFiller, isInputFilled]);
736
764
 
737
765
  var handleChange = function handleChange(event) {
738
766
  if (isFilled(event.target)) {
@@ -746,7 +774,7 @@ var TextFieldBase = /*#__PURE__*/React__default.forwardRef(function (_ref2, forw
746
774
  }
747
775
  };
748
776
 
749
- return React__default.createElement("input", Object.assign({
777
+ return React__default.createElement("input", _extends({
750
778
  "aria-invalid": currentVariant === 'error',
751
779
  className: "eds-form-control",
752
780
  disabled: disabled,
@@ -760,21 +788,28 @@ var TextFieldBase = /*#__PURE__*/React__default.forwardRef(function (_ref2, forw
760
788
 
761
789
  var ClearButton = function ClearButton(_ref3) {
762
790
  var onClear = _ref3.onClear,
763
- hasValue = _ref3.hasValue,
764
- props = _objectWithoutPropertiesLoose(_ref3, ["onClear", "hasValue"]);
791
+ props = _objectWithoutPropertiesLoose(_ref3, _excluded3);
792
+
793
+ var _useInputGroupContext2 = useInputGroupContext(),
794
+ hasValue = _useInputGroupContext2.isFilled,
795
+ setFilled = _useInputGroupContext2.setFilled;
765
796
 
766
797
  return React__default.createElement("div", {
767
798
  className: "eds-textfield__clear-button-wrapper"
768
799
  }, hasValue && React__default.createElement("div", {
769
800
  className: "eds-textfield__divider"
770
- }), hasValue && React__default.createElement("button", Object.assign({
801
+ }), hasValue && React__default.createElement("button", _extends({
771
802
  className: "eds-textfield__clear-button",
772
803
  type: "button",
773
804
  tabIndex: -1,
774
- onClick: onClear
805
+ onClick: function onClick() {
806
+ setFilled(false);
807
+ onClear();
808
+ }
775
809
  }, props), React__default.createElement(CloseSmallIcon, null)));
776
810
  };
777
811
 
812
+ var _excluded$3 = ["name", "onChange", "selectedValue", "multiple", "size"];
778
813
  var SegmentedContext = /*#__PURE__*/React__default.createContext(null);
779
814
  var SegmentedProvider = function SegmentedProvider(_ref) {
780
815
  var name = _ref.name,
@@ -783,7 +818,7 @@ var SegmentedProvider = function SegmentedProvider(_ref) {
783
818
  selectedValue = _ref.selectedValue,
784
819
  multiple = _ref.multiple,
785
820
  size = _ref.size,
786
- rest = _objectWithoutPropertiesLoose(_ref, ["name", "onChange", "selectedValue", "multiple", "size"]);
821
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$3);
787
822
 
788
823
  var generatedName = useRandomId('eds-segmented-control');
789
824
  var contextValue = React__default.useMemo(function () {
@@ -795,7 +830,7 @@ var SegmentedProvider = function SegmentedProvider(_ref) {
795
830
  size: size
796
831
  };
797
832
  }, [generatedName, multiple, name, onChange, selectedValue, size]);
798
- return React__default.createElement(SegmentedContext.Provider, Object.assign({
833
+ return React__default.createElement(SegmentedContext.Provider, _extends({
799
834
  value: contextValue
800
835
  }, rest));
801
836
  };
@@ -809,6 +844,7 @@ var useSegmentedContext = function useSegmentedContext() {
809
844
  return context;
810
845
  };
811
846
 
847
+ var _excluded$2 = ["children", "className", "style", "value", "name", "onChange"];
812
848
  var SegmentedChoice = /*#__PURE__*/React__default.forwardRef(function (_ref, ref) {
813
849
  var children = _ref.children,
814
850
  className = _ref.className,
@@ -817,7 +853,7 @@ var SegmentedChoice = /*#__PURE__*/React__default.forwardRef(function (_ref, ref
817
853
  name = _ref.name,
818
854
  _ref$onChange = _ref.onChange,
819
855
  onChange = _ref$onChange === void 0 ? function () {} : _ref$onChange,
820
- rest = _objectWithoutPropertiesLoose(_ref, ["children", "className", "style", "value", "name", "onChange"]);
856
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$2);
821
857
 
822
858
  var _useSegmentedContext = useSegmentedContext(),
823
859
  commonName = _useSegmentedContext.name,
@@ -845,7 +881,7 @@ var SegmentedChoice = /*#__PURE__*/React__default.forwardRef(function (_ref, ref
845
881
  'eds-segmented-choide--large': size === 'large'
846
882
  }),
847
883
  style: style
848
- }, React__default.createElement("input", Object.assign({
884
+ }, React__default.createElement("input", _extends({
849
885
  type: multiple ? 'checkbox' : 'radio',
850
886
  name: name || commonName,
851
887
  checked: isChecked,
@@ -859,6 +895,7 @@ var SegmentedChoice = /*#__PURE__*/React__default.forwardRef(function (_ref, ref
859
895
  }, children));
860
896
  });
861
897
 
898
+ var _excluded$1 = ["children", "label", "name", "onChange", "selectedValue", "size", "className"];
862
899
  var SegmentedControl = function SegmentedControl(_ref) {
863
900
  var children = _ref.children,
864
901
  label = _ref.label,
@@ -868,7 +905,7 @@ var SegmentedControl = function SegmentedControl(_ref) {
868
905
  _ref$size = _ref.size,
869
906
  size = _ref$size === void 0 ? 'medium' : _ref$size,
870
907
  className = _ref.className,
871
- rest = _objectWithoutPropertiesLoose(_ref, ["children", "label", "name", "onChange", "selectedValue", "size", "className"]);
908
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$1);
872
909
 
873
910
  return React__default.createElement(SegmentedProvider, {
874
911
  name: name,
@@ -878,11 +915,12 @@ var SegmentedControl = function SegmentedControl(_ref) {
878
915
  size: size
879
916
  }, React__default.createElement(Label, {
880
917
  as: "div"
881
- }, label), React__default.createElement("div", Object.assign({
918
+ }, label), React__default.createElement("div", _extends({
882
919
  className: classNames('eds-segmented-control', className)
883
920
  }, rest), children));
884
921
  };
885
922
 
923
+ var _excluded = ["children", "label", "name", "onChange", "selectedValue"];
886
924
  /**This component is not used by anyone, and is therefore deprecated
887
925
  * @deprecated
888
926
  */
@@ -893,7 +931,7 @@ var MultipleSegmentedControl = function MultipleSegmentedControl(_ref) {
893
931
  name = _ref.name,
894
932
  onChange = _ref.onChange,
895
933
  selectedValue = _ref.selectedValue,
896
- rest = _objectWithoutPropertiesLoose(_ref, ["children", "label", "name", "onChange", "selectedValue"]);
934
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded);
897
935
 
898
936
  return React__default.createElement(SegmentedProvider, {
899
937
  name: name,
@@ -903,7 +941,7 @@ var MultipleSegmentedControl = function MultipleSegmentedControl(_ref) {
903
941
  size: "medium"
904
942
  }, React__default.createElement(Label, {
905
943
  as: "div"
906
- }, label), React__default.createElement("div", Object.assign({
944
+ }, label), React__default.createElement("div", _extends({
907
945
  className: "eds-segmented-control"
908
946
  }, rest), children));
909
947
  };