@devtron-labs/devtron-fe-common-lib 0.0.58-beta-24 → 0.0.58-beta-25

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.
@@ -1,3 +1,3 @@
1
1
  /// <reference types="react" />
2
2
  import { CustomInputProps } from './Types';
3
- export declare function CustomInput({ name, value, error, onChange, onFocus, label, type, disabled, labelClassName, placeholder, tabIndex, dataTestid, isRequiredField, autoFocus, rootClassName, autoComplete, helperText, handleOnBlur, readOnly, noTrim, ref, onKeyPress, defaultValue, onKeyDown, required, additionalErrorInfo, inputWrapClassName, inputProps, }: CustomInputProps): JSX.Element;
3
+ export declare function CustomInput({ name, value, error, onChange, onFocus, label, type, disabled, labelClassName, placeholder, tabIndex, dataTestid, isRequiredField, autoFocus, rootClassName, autoComplete, helperText, handleOnBlur, readOnly, noTrim, ref, onKeyPress, defaultValue, onKeyDown, required, additionalErrorInfo, inputWrapClassName, }: CustomInputProps): JSX.Element;
@@ -1,4 +1,4 @@
1
- import React, { HTMLInputTypeAttribute, InputHTMLAttributes } from 'react';
1
+ import React, { HTMLInputTypeAttribute } from 'react';
2
2
  export interface CustomInputProps {
3
3
  name: string;
4
4
  value: string | number;
@@ -27,5 +27,4 @@ export interface CustomInputProps {
27
27
  required?: boolean;
28
28
  additionalErrorInfo?: React.ReactNode;
29
29
  inputWrapClassName?: string;
30
- inputProps?: InputHTMLAttributes<HTMLInputElement>;
31
30
  }
@@ -55,7 +55,10 @@ export declare const customStyles: {
55
55
  dropdownIndicator: (base: any, state: any) => any;
56
56
  };
57
57
  export declare const getFilteredChartVersions: (charts: any, selectedChartType: any) => any;
58
- export declare function getUnlockedJSON(json: any, jsonPathArray: any): any;
58
+ export declare function getUnlockedJSON(json: any, jsonPathArray: any, removeParentKeysAndEmptyArrays?: boolean): {
59
+ newDocument: any;
60
+ removedPatches: any[];
61
+ };
59
62
  export declare function getLockedJSON(json: any, jsonPathArray: string[]): any;
60
63
  /**
61
64
  * Returns a debounced variant of the function
package/dist/index.js CHANGED
@@ -11804,42 +11804,59 @@ var getFilteredChartVersions = function (charts, selectedChartType) {
11804
11804
  chartRefId: item.chartRefId,
11805
11805
  }); });
11806
11806
  };
11807
- function removeEmptyObjectKeysAndNullValues(obj) {
11808
- // It recursively removes empty object keys and array values that are null
11809
- for (var key in obj) {
11807
+ function removeEmptyObjectKeysAndNullValues(obj, originaljsonCopy) {
11808
+ var _loop_1 = function (key) {
11810
11809
  if (Array.isArray(obj[key])) {
11811
- if (obj[key].length === 0)
11812
- continue;
11813
- obj[key] = obj[key].filter(function (item) { return item !== null; });
11814
11810
  // Check if the array is empty
11815
- if (obj[key].length === 0) {
11816
- delete obj[key]; // Delete the key if the array is empty
11811
+ if (obj[key].length !== 0) {
11812
+ obj[key].forEach(function (element, index) {
11813
+ if (element === null || (typeof element === 'object' && Object.keys(element).length === 0))
11814
+ obj[key].splice(index, 1);
11815
+ else
11816
+ removeEmptyObjectKeysAndNullValues(element, originaljsonCopy[key][index]);
11817
+ });
11818
+ }
11819
+ if (obj[key].length === 0 && originaljsonCopy[key].length !== 0) {
11820
+ delete obj[key];
11817
11821
  }
11818
11822
  }
11819
11823
  else if (obj[key] && typeof obj[key] === 'object') {
11820
- if (removeEmptyObjectKeysAndNullValues(obj[key])) {
11824
+ if (removeEmptyObjectKeysAndNullValues(obj[key], originaljsonCopy[key]) &&
11825
+ Object.keys(originaljsonCopy[key]).length !== 0) {
11821
11826
  delete obj[key];
11822
11827
  }
11823
11828
  }
11824
11829
  else if (obj[key] === undefined) {
11825
11830
  delete obj[key];
11826
11831
  }
11832
+ };
11833
+ // It recursively removes empty object keys and empty array keys
11834
+ for (var key in obj) {
11835
+ _loop_1(key);
11827
11836
  }
11828
11837
  return Object.keys(obj).length === 0;
11829
11838
  }
11830
- function getUnlockedJSON(json, jsonPathArray) {
11839
+ function getUnlockedJSON(json, jsonPathArray, removeParentKeysAndEmptyArrays) {
11840
+ if (removeParentKeysAndEmptyArrays === void 0) { removeParentKeysAndEmptyArrays = false; }
11841
+ if (!jsonPathArray.length)
11842
+ return { newDocument: json, removedPatches: [] };
11831
11843
  var jsonCopy = JSON.parse(JSON.stringify(json));
11844
+ var originaljsonCopy = JSON.parse(JSON.stringify(json));
11845
+ var removedPatches = [];
11832
11846
  var patches = jsonPathArray.flatMap(function (jsonPath) {
11833
11847
  var pathsToRemove = JSONPath({ path: jsonPath, json: jsonCopy, resultType: 'all' });
11848
+ //reversing patches to handle correct array index deletion
11849
+ pathsToRemove.reverse();
11834
11850
  return pathsToRemove.map(function (result) {
11835
- return Array.isArray(result.parent)
11836
- ? { op: 'replace', path: result.pointer, value: null }
11837
- : { op: 'remove', path: result.pointer };
11851
+ //storing removed patches to have functionality of undo
11852
+ removedPatches.push({ op: 'add', path: result.pointer, value: result.value });
11853
+ return { op: 'remove', path: result.pointer };
11838
11854
  });
11839
11855
  });
11840
11856
  var newDocument = applyPatch(jsonCopy, patches).newDocument;
11841
- removeEmptyObjectKeysAndNullValues(newDocument);
11842
- return newDocument;
11857
+ if (removeParentKeysAndEmptyArrays)
11858
+ removeEmptyObjectKeysAndNullValues(newDocument, originaljsonCopy);
11859
+ return { newDocument: newDocument, removedPatches: removedPatches.reverse() };
11843
11860
  }
11844
11861
  function getLockedJSON(json, jsonPathArray) {
11845
11862
  var jsonCopy = JSON.parse(JSON.stringify(json));
@@ -24701,7 +24718,7 @@ var SearchBar = function (_a) {
24701
24718
  inputRef.current.value = '';
24702
24719
  _applySearch('');
24703
24720
  };
24704
- return (jsxRuntime.jsx("div", __assign({ className: containerClassName }, { children: jsxRuntime.jsxs("div", __assign({ className: "search-bar bc-n50 focus-within-border-b5 dc__hover-border-n300 dc__block w-100 min-w-200 dc__position-rel en-2 bw-1 br-4 h-32" }, { children: [jsxRuntime.jsx(SvgIcSearch, { className: "search-bar__icon dc__position-abs icon-color-n6 icon-dim-16" }), jsxRuntime.jsx("input", __assign({ placeholder: inputProps.placeholder || 'Search', "data-testid": "search-bar", type: "text" }, inputProps, { defaultValue: initialSearchText, className: "search-bar__input dc__position-abs w-100 h-100 br-4 dc__no-border pt-6 pr-10 pb-6 pl-30 fs-13 lh-20 fw-4 cn-9 placeholder-cn5 ".concat(showClearButton ? 'pr-30' : 'pr-10'), onChange: handleChange, onKeyDown: handleKeyDown, ref: inputRef })), showClearButton && (jsxRuntime.jsx("button", __assign({ className: "flex search-bar__clear-button dc__position-abs dc__transparent mt-0 mb-0 mr-5 ml-5", type: "button", onClick: clearSearch, "aria-label": "Clear search" }, { children: jsxRuntime.jsx(SvgIcErrorCross, { className: "icon-dim-16 icon-n4 dc__vertical-align-middle" }) })))] })) })));
24721
+ return (jsxRuntime.jsx("div", __assign({ className: containerClassName }, { children: jsxRuntime.jsxs("div", __assign({ className: "search-bar bcn-0 dc__block w-100 min-w-200 dc__position-rel en-2 bw-1 br-4 h-32" }, { children: [jsxRuntime.jsx(SvgIcSearch, { className: "search-bar__icon dc__position-abs icon-color-n6 icon-dim-18" }), jsxRuntime.jsx("input", __assign({ placeholder: "Search", "data-testid": "search-bar", type: "text" }, inputProps, { defaultValue: initialSearchText, className: "search-bar__input bcn-0 dc__position-abs w-100 h-100 br-4 dc__no-border pt-6 pr-10 pb-6 pl-30 fs-13 lh-20 fw-4 cn-9 placeholder-cn5 ".concat(showClearButton ? 'pr-30' : 'pr-10'), onChange: handleChange, onKeyDown: handleKeyDown, ref: inputRef })), showClearButton && (jsxRuntime.jsx("button", __assign({ className: "flex search-bar__clear-button dc__position-abs dc__transparent mt-0 mb-0 mr-5 ml-5", type: "button", onClick: clearSearch, "aria-label": "Clear search" }, { children: jsxRuntime.jsx(SvgIcErrorCross, { className: "icon-dim-18 icon-n4 dc__vertical-align-middle" }) })))] })) })));
24705
24722
  };
24706
24723
 
24707
24724
  var css_248z$4 = ".toggle__switch {\n position: relative;\n display: inline-block;\n width: 100%;\n height: 100%;\n}\n.toggle__switch.disabled {\n cursor: not-allowed;\n}\n.toggle__switch.disabled .toggle__slider {\n cursor: not-allowed;\n}\n\n/* Hide default HTML checkbox */\n.toggle__switch input {\n opacity: 0;\n width: 0;\n height: 0;\n}\n\n/* The slider */\n.toggle__slider {\n position: absolute;\n cursor: pointer;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: #ccc;\n transition: all 0.4s ease;\n}\n.toggle__slider.round {\n border-radius: 34px;\n}\n.toggle__slider.round:before {\n border-radius: 50%;\n}\n.toggle__slider:before {\n position: absolute;\n content: \"\";\n height: calc(100% - 8px);\n width: calc(50% - 4px);\n left: 4px;\n bottom: 4px;\n background-color: white;\n transition: all 0.4s ease;\n}\n.toggle__slider.with-icon {\n background-color: var(--N000) !important;\n}\n.toggle__slider.with-icon svg {\n position: absolute;\n content: \"\";\n top: -1px;\n left: -1px;\n background-color: var(--N300);\n transition: all 0.4s ease;\n}\n\ninput:checked + .toggle__slider {\n background-color: var(--color);\n}\ninput:checked + .toggle__slider:before {\n transform: translateX(100%);\n}\ninput:checked + .toggle__slider.with-icon svg {\n transform: translateX(100%);\n background-color: var(--color);\n}\n\ninput:focus + .toggle__slider {\n box-shadow: 0 0 1px var(--color);\n}";
@@ -28485,7 +28502,7 @@ var handleAddCD = function (_a) {
28485
28502
  };
28486
28503
 
28487
28504
  function CustomInput(_a) {
28488
- var name = _a.name, value = _a.value, error = _a.error, onChange = _a.onChange, _b = _a.onFocus, onFocus = _b === void 0 ? function (e) { } : _b, label = _a.label, _c = _a.type, type = _c === void 0 ? 'text' : _c, _d = _a.disabled, disabled = _d === void 0 ? false : _d, _e = _a.labelClassName, labelClassName = _e === void 0 ? '' : _e, _f = _a.placeholder, placeholder = _f === void 0 ? '' : _f, _g = _a.tabIndex, tabIndex = _g === void 0 ? 1 : _g, _h = _a.dataTestid, dataTestid = _h === void 0 ? '' : _h, _j = _a.isRequiredField, isRequiredField = _j === void 0 ? false : _j, _k = _a.autoFocus, autoFocus = _k === void 0 ? false : _k, _l = _a.rootClassName, rootClassName = _l === void 0 ? '' : _l, _m = _a.autoComplete, autoComplete = _m === void 0 ? 'off' : _m, _o = _a.helperText, helperText = _o === void 0 ? '' : _o, handleOnBlur = _a.handleOnBlur, _p = _a.readOnly, readOnly = _p === void 0 ? false : _p, _q = _a.noTrim, noTrim = _q === void 0 ? false : _q, ref = _a.ref, onKeyPress = _a.onKeyPress, defaultValue = _a.defaultValue, onKeyDown = _a.onKeyDown, required = _a.required, additionalErrorInfo = _a.additionalErrorInfo, _r = _a.inputWrapClassName, inputWrapClassName = _r === void 0 ? '' : _r, _s = _a.inputProps, inputProps = _s === void 0 ? {} : _s;
28505
+ var name = _a.name, value = _a.value, error = _a.error, onChange = _a.onChange, _b = _a.onFocus, onFocus = _b === void 0 ? function (e) { } : _b, label = _a.label, _c = _a.type, type = _c === void 0 ? 'text' : _c, _d = _a.disabled, disabled = _d === void 0 ? false : _d, _e = _a.labelClassName, labelClassName = _e === void 0 ? '' : _e, _f = _a.placeholder, placeholder = _f === void 0 ? '' : _f, _g = _a.tabIndex, tabIndex = _g === void 0 ? 1 : _g, _h = _a.dataTestid, dataTestid = _h === void 0 ? '' : _h, _j = _a.isRequiredField, isRequiredField = _j === void 0 ? false : _j, _k = _a.autoFocus, autoFocus = _k === void 0 ? false : _k, _l = _a.rootClassName, rootClassName = _l === void 0 ? '' : _l, _m = _a.autoComplete, autoComplete = _m === void 0 ? 'off' : _m, _o = _a.helperText, helperText = _o === void 0 ? '' : _o, handleOnBlur = _a.handleOnBlur, _p = _a.readOnly, readOnly = _p === void 0 ? false : _p, _q = _a.noTrim, noTrim = _q === void 0 ? false : _q, ref = _a.ref, onKeyPress = _a.onKeyPress, defaultValue = _a.defaultValue, onKeyDown = _a.onKeyDown, required = _a.required, additionalErrorInfo = _a.additionalErrorInfo, _r = _a.inputWrapClassName, inputWrapClassName = _r === void 0 ? '' : _r;
28489
28506
  function handleError(error) {
28490
28507
  if (!Array.isArray(error)) {
28491
28508
  return [error];
@@ -28534,10 +28551,10 @@ function CustomInput(_a) {
28534
28551
  return (jsxRuntime.jsx("label", __assign({ className: "form__label ".concat(labelClassName), "data-testid": "label-".concat(dataTestid) }, { children: renderInputLabelConditionally() })));
28535
28552
  }
28536
28553
  };
28537
- return (jsxRuntime.jsxs("div", __assign({ className: "flex column left top ".concat(inputWrapClassName) }, { children: [renderInputLabel(), jsxRuntime.jsx("input", __assign({ "data-testid": dataTestid, type: type, name: name, autoComplete: autoComplete, className: "form__input ".concat(rootClassName), onChange: function (e) {
28554
+ return (jsxRuntime.jsxs("div", __assign({ className: "flex column left top ".concat(inputWrapClassName) }, { children: [renderInputLabel(), jsxRuntime.jsx("input", { "data-testid": dataTestid, type: type, name: name, autoComplete: autoComplete, className: "form__input ".concat(rootClassName), onChange: function (e) {
28538
28555
  e.persist();
28539
28556
  onChange(e);
28540
- }, onBlur: onBlur, onFocus: onFocus, placeholder: placeholder, value: value, disabled: disabled, tabIndex: tabIndex, autoFocus: autoFocus, readOnly: readOnly, ref: ref, onKeyPress: onKeyPress, defaultValue: defaultValue, onKeyDown: onKeyDown, required: required }, inputProps)), getInputError(), helperText && (jsxRuntime.jsxs("div", __assign({ className: "form__text-field-info" }, { children: [jsxRuntime.jsx(SvgIcInfoFilled, { className: "form__icon form__icon--info" }), jsxRuntime.jsx("p", __assign({ className: "sentence-case" }, { children: helperText }))] })))] })));
28557
+ }, onBlur: onBlur, onFocus: onFocus, placeholder: placeholder, value: value, disabled: disabled, tabIndex: tabIndex, autoFocus: autoFocus, readOnly: readOnly, ref: ref, onKeyPress: onKeyPress, defaultValue: defaultValue, onKeyDown: onKeyDown, required: required }), getInputError(), helperText && (jsxRuntime.jsxs("div", __assign({ className: "form__text-field-info" }, { children: [jsxRuntime.jsx(SvgIcInfoFilled, { className: "form__icon form__icon--info" }), jsxRuntime.jsx("p", __assign({ className: "sentence-case" }, { children: helperText }))] })))] })));
28541
28558
  }
28542
28559
 
28543
28560
  exports.DraggablePositionVariant = void 0;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@devtron-labs/devtron-fe-common-lib",
3
- "version": "0.0.58-beta-24",
3
+ "version": "0.0.58-beta-25",
4
4
  "description": "Supporting common component library",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -30,7 +30,6 @@ export function CustomInput({
30
30
  required,
31
31
  additionalErrorInfo,
32
32
  inputWrapClassName = '',
33
- inputProps = {},
34
33
  }: CustomInputProps) {
35
34
  function handleError(error: any): any[] {
36
35
  if (!Array.isArray(error)) {
@@ -94,7 +93,7 @@ export function CustomInput({
94
93
 
95
94
  return (
96
95
  <div className={`flex column left top ${inputWrapClassName}`}>
97
- {renderInputLabel()}
96
+ {renderInputLabel()}
98
97
  <input
99
98
  data-testid={dataTestid}
100
99
  type={type}
@@ -118,7 +117,6 @@ export function CustomInput({
118
117
  defaultValue={defaultValue}
119
118
  onKeyDown={onKeyDown}
120
119
  required={required}
121
- {...inputProps}
122
120
  />
123
121
 
124
122
  {getInputError()}
@@ -1,4 +1,4 @@
1
- import React, { HTMLInputTypeAttribute, InputHTMLAttributes } from 'react'
1
+ import React, { HTMLInputTypeAttribute } from 'react'
2
2
 
3
3
  export interface CustomInputProps {
4
4
  name: string
@@ -6,7 +6,7 @@ export interface CustomInputProps {
6
6
  onChange: (e: any) => void
7
7
  onFocus?: (e: any) => void
8
8
  autoComplete?: string
9
- label?: string | React.ReactNode
9
+ label?: string | React.ReactNode
10
10
  labelClassName?: string
11
11
  type?: HTMLInputTypeAttribute
12
12
  disabled?: boolean
@@ -28,5 +28,4 @@ export interface CustomInputProps {
28
28
  required?: boolean
29
29
  additionalErrorInfo?: React.ReactNode
30
30
  inputWrapClassName?: string
31
- inputProps?: InputHTMLAttributes<HTMLInputElement>
32
- }
31
+ }
@@ -499,18 +499,27 @@ export const getFilteredChartVersions = (charts, selectedChartType) => {
499
499
  chartRefId: item.chartRefId,
500
500
  }))
501
501
  }
502
- function removeEmptyObjectKeysAndNullValues(obj) {
503
- // It recursively removes empty object keys and array values that are null
502
+
503
+ function removeEmptyObjectKeysAndNullValues(obj, originaljsonCopy) {
504
+ // It recursively removes empty object keys and empty array keys
504
505
  for (let key in obj) {
505
506
  if (Array.isArray(obj[key])) {
506
- if (obj[key].length === 0) continue
507
- obj[key] = obj[key].filter((item) => item !== null)
508
507
  // Check if the array is empty
509
- if (obj[key].length === 0) {
510
- delete obj[key] // Delete the key if the array is empty
508
+ if (obj[key].length !== 0) {
509
+ obj[key].forEach((element, index) => {
510
+ if (element === null || (typeof element === 'object' && Object.keys(element).length === 0))
511
+ obj[key].splice(index, 1)
512
+ else removeEmptyObjectKeysAndNullValues(element, originaljsonCopy[key][index])
513
+ })
514
+ }
515
+ if (obj[key].length === 0 && originaljsonCopy[key].length !== 0) {
516
+ delete obj[key]
511
517
  }
512
518
  } else if (obj[key] && typeof obj[key] === 'object') {
513
- if (removeEmptyObjectKeysAndNullValues(obj[key])) {
519
+ if (
520
+ removeEmptyObjectKeysAndNullValues(obj[key], originaljsonCopy[key]) &&
521
+ Object.keys(originaljsonCopy[key]).length !== 0
522
+ ) {
514
523
  delete obj[key]
515
524
  }
516
525
  } else if (obj[key] === undefined) {
@@ -520,20 +529,25 @@ function removeEmptyObjectKeysAndNullValues(obj) {
520
529
  return Object.keys(obj).length === 0
521
530
  }
522
531
 
523
- export function getUnlockedJSON(json, jsonPathArray) {
532
+ export function getUnlockedJSON(json, jsonPathArray, removeParentKeysAndEmptyArrays = false) {
533
+ if (!jsonPathArray.length) return { newDocument: json, removedPatches: [] }
534
+
524
535
  const jsonCopy = JSON.parse(JSON.stringify(json))
536
+ const originaljsonCopy = JSON.parse(JSON.stringify(json))
537
+ let removedPatches = []
525
538
  let patches = jsonPathArray.flatMap((jsonPath) => {
526
539
  const pathsToRemove = JSONPath({ path: jsonPath, json: jsonCopy, resultType: 'all' })
527
- return pathsToRemove.map((result) =>
528
- Array.isArray(result.parent)
529
- ? { op: 'replace', path: result.pointer, value: null }
530
- : { op: 'remove', path: result.pointer },
531
- )
540
+ //reversing patches to handle correct array index deletion
541
+ pathsToRemove.reverse()
542
+ return pathsToRemove.map((result) => {
543
+ //storing removed patches to have functionality of undo
544
+ removedPatches.push({ op: 'add', path: result.pointer, value: result.value })
545
+ return { op: 'remove', path: result.pointer }
546
+ })
532
547
  })
533
548
  let newDocument = jsonpatch.applyPatch(jsonCopy, patches).newDocument
534
-
535
- removeEmptyObjectKeysAndNullValues(newDocument)
536
- return newDocument
549
+ if (removeParentKeysAndEmptyArrays) removeEmptyObjectKeysAndNullValues(newDocument, originaljsonCopy)
550
+ return { newDocument, removedPatches: removedPatches.reverse() }
537
551
  }
538
552
 
539
553
  export function getLockedJSON(json, jsonPathArray: string[]) {
@@ -84,17 +84,18 @@ const SearchBar = ({
84
84
  inputRef.current.value = ''
85
85
  _applySearch('')
86
86
  }
87
+
87
88
  return (
88
89
  <div className={containerClassName}>
89
- <div className="search-bar bc-n50 focus-within-border-b5 dc__hover-border-n300 dc__block w-100 min-w-200 dc__position-rel en-2 bw-1 br-4 h-32">
90
- <Search className="search-bar__icon dc__position-abs icon-color-n6 icon-dim-16" />
90
+ <div className="search-bar bcn-0 dc__block w-100 min-w-200 dc__position-rel en-2 bw-1 br-4 h-32">
91
+ <Search className="search-bar__icon dc__position-abs icon-color-n6 icon-dim-18" />
91
92
  <input
92
- placeholder={inputProps.placeholder || 'Search'}
93
+ placeholder="Search"
93
94
  data-testid="search-bar"
94
95
  type="text"
95
96
  {...inputProps}
96
97
  defaultValue={initialSearchText}
97
- className={`search-bar__input dc__position-abs w-100 h-100 br-4 dc__no-border pt-6 pr-10 pb-6 pl-30 fs-13 lh-20 fw-4 cn-9 placeholder-cn5 ${
98
+ className={`search-bar__input bcn-0 dc__position-abs w-100 h-100 br-4 dc__no-border pt-6 pr-10 pb-6 pl-30 fs-13 lh-20 fw-4 cn-9 placeholder-cn5 ${
98
99
  showClearButton ? 'pr-30' : 'pr-10'
99
100
  }`}
100
101
  onChange={handleChange}
@@ -108,7 +109,7 @@ const SearchBar = ({
108
109
  onClick={clearSearch}
109
110
  aria-label="Clear search"
110
111
  >
111
- <Clear className="icon-dim-16 icon-n4 dc__vertical-align-middle" />
112
+ <Clear className="icon-dim-18 icon-n4 dc__vertical-align-middle" />
112
113
  </button>
113
114
  )}
114
115
  </div>