@redocly/theme 0.40.6 → 0.41.0-rc.11

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 (104) hide show
  1. package/lib/components/Dropdown/DropdownMenu.d.ts +2 -0
  2. package/lib/components/Dropdown/DropdownMenu.js +3 -1
  3. package/lib/components/Loaders/SpinnerLoader.d.ts +5 -0
  4. package/lib/components/Loaders/SpinnerLoader.js +32 -0
  5. package/lib/components/OpenApiDocs/hooks/AfterOpenApiDescription.d.ts +1 -0
  6. package/lib/components/OpenApiDocs/hooks/AfterOpenApiDescription.js +11 -0
  7. package/lib/components/Search/FilterFields/SearchFilterFieldSelect.d.ts +12 -0
  8. package/lib/components/Search/FilterFields/SearchFilterFieldSelect.js +113 -0
  9. package/lib/components/Search/FilterFields/SearchFilterFieldTags.d.ts +10 -0
  10. package/lib/components/Search/FilterFields/SearchFilterFieldTags.js +37 -0
  11. package/lib/components/Search/Search.js +1 -1
  12. package/lib/components/Search/SearchDialog.js +103 -26
  13. package/lib/components/Search/SearchFilter.d.ts +11 -0
  14. package/lib/components/Search/SearchFilter.js +71 -0
  15. package/lib/components/Search/SearchFilterField.d.ts +11 -0
  16. package/lib/components/Search/SearchFilterField.js +43 -0
  17. package/lib/components/Search/SearchGroups.d.ts +9 -0
  18. package/lib/components/Search/SearchGroups.js +69 -0
  19. package/lib/components/Search/SearchHighlight.d.ts +1 -1
  20. package/lib/components/Search/SearchHighlight.js +28 -5
  21. package/lib/components/Search/SearchInput.d.ts +3 -2
  22. package/lib/components/Search/SearchInput.js +11 -3
  23. package/lib/components/Search/SearchItem.d.ts +2 -2
  24. package/lib/components/Search/SearchItem.js +23 -15
  25. package/lib/components/Search/variables.js +48 -2
  26. package/lib/components/Segmented/Segmented.d.ts +2 -5
  27. package/lib/components/Select/Select.d.ts +2 -36
  28. package/lib/components/Select/Select.js +134 -98
  29. package/lib/components/Select/SelectInput.d.ts +23 -0
  30. package/lib/components/Select/SelectInput.js +129 -0
  31. package/lib/components/Select/variables.js +11 -1
  32. package/lib/components/Tag/Tag.d.ts +4 -2
  33. package/lib/components/Tag/Tag.js +40 -4
  34. package/lib/components/Tag/variables.dark.js +20 -5
  35. package/lib/components/Tag/variables.js +49 -17
  36. package/lib/components/VersionPicker/VersionPicker.d.ts +2 -3
  37. package/lib/components/VersionPicker/VersionPicker.js +13 -30
  38. package/lib/core/hooks/__mocks__/index.d.ts +1 -1
  39. package/lib/core/hooks/__mocks__/index.js +1 -1
  40. package/lib/core/hooks/__mocks__/use-theme-hooks.d.ts +1 -1
  41. package/lib/core/hooks/__mocks__/use-theme-hooks.js +1 -1
  42. package/lib/core/hooks/index.d.ts +2 -1
  43. package/lib/core/hooks/index.js +2 -1
  44. package/lib/core/hooks/search/use-recent-searches.js +2 -0
  45. package/lib/core/hooks/{use-search.d.ts → search/use-search-dialog.d.ts} +1 -1
  46. package/lib/core/hooks/{use-search.js → search/use-search-dialog.js} +5 -5
  47. package/lib/core/hooks/search/use-search-filter.d.ts +9 -0
  48. package/lib/core/hooks/search/use-search-filter.js +50 -0
  49. package/lib/core/types/hooks.d.ts +16 -4
  50. package/lib/core/types/index.d.ts +1 -1
  51. package/lib/core/types/index.js +1 -1
  52. package/lib/core/types/l10n.d.ts +1 -1
  53. package/lib/core/types/search.d.ts +43 -2
  54. package/lib/core/types/select.d.ts +30 -0
  55. package/lib/core/types/{select-option.js → select.js} +1 -1
  56. package/lib/icons/ResetIcon/ResetIcon.d.ts +9 -0
  57. package/lib/icons/ResetIcon/ResetIcon.js +22 -0
  58. package/lib/icons/SettingsIcon/SettingsIcon.d.ts +9 -0
  59. package/lib/icons/SettingsIcon/SettingsIcon.js +23 -0
  60. package/lib/index.d.ts +8 -1
  61. package/lib/index.js +8 -1
  62. package/package.json +2 -2
  63. package/src/components/Dropdown/DropdownMenu.tsx +2 -1
  64. package/src/components/Filter/FilterSelect.tsx +3 -3
  65. package/src/components/Loaders/SpinnerLoader.tsx +31 -0
  66. package/src/components/OpenApiDocs/hooks/AfterOpenApiDescription.tsx +9 -0
  67. package/src/components/Search/FilterFields/SearchFilterFieldSelect.tsx +134 -0
  68. package/src/components/Search/FilterFields/SearchFilterFieldTags.tsx +61 -0
  69. package/src/components/Search/Search.tsx +2 -2
  70. package/src/components/Search/SearchDialog.tsx +168 -42
  71. package/src/components/Search/SearchFilter.tsx +90 -0
  72. package/src/components/Search/SearchFilterField.tsx +84 -0
  73. package/src/components/Search/SearchGroups.tsx +80 -0
  74. package/src/components/Search/SearchHighlight.tsx +29 -2
  75. package/src/components/Search/SearchInput.tsx +17 -3
  76. package/src/components/Search/SearchItem.tsx +38 -24
  77. package/src/components/Search/variables.ts +48 -2
  78. package/src/components/Segmented/Segmented.tsx +2 -2
  79. package/src/components/Select/Select.tsx +200 -157
  80. package/src/components/Select/SelectInput.tsx +201 -0
  81. package/src/components/Select/variables.ts +11 -1
  82. package/src/components/Tag/Tag.tsx +57 -6
  83. package/src/components/Tag/variables.dark.ts +20 -5
  84. package/src/components/Tag/variables.ts +49 -17
  85. package/src/components/VersionPicker/VersionPicker.tsx +15 -39
  86. package/src/core/hooks/__mocks__/index.ts +1 -1
  87. package/src/core/hooks/__mocks__/use-theme-hooks.ts +1 -1
  88. package/src/core/hooks/index.ts +2 -1
  89. package/src/core/hooks/search/use-recent-searches.ts +3 -0
  90. package/src/core/hooks/{use-search.ts → search/use-search-dialog.ts} +1 -1
  91. package/src/core/hooks/search/use-search-filter.ts +57 -0
  92. package/src/core/types/hooks.ts +24 -4
  93. package/src/core/types/index.ts +1 -1
  94. package/src/core/types/l10n.ts +7 -1
  95. package/src/core/types/search.ts +54 -2
  96. package/src/core/types/select.ts +32 -0
  97. package/src/icons/ResetIcon/ResetIcon.tsx +26 -0
  98. package/src/icons/SettingsIcon/SettingsIcon.tsx +30 -0
  99. package/src/index.ts +8 -1
  100. package/lib/core/types/select-option.d.ts +0 -4
  101. package/src/core/types/select-option.ts +0 -4
  102. /package/lib/components/{Loading → Loaders}/Loading.d.ts +0 -0
  103. /package/lib/components/{Loading → Loaders}/Loading.js +0 -0
  104. /package/src/components/{Loading → Loaders}/Loading.tsx +0 -0
@@ -9,7 +9,7 @@ exports.tag = (0, styled_components_1.css) `
9
9
 
10
10
  --tag-border-width: 1px; //@presenter Border
11
11
  --tag-border-style: solid; //@presenter Border
12
- --tag-border-radius: var(--border-radius-xl); // @presenter BorderRadius
12
+ --tag-border-radius: var(--border-radius); // @presenter BorderRadius
13
13
  --tag-box-shadow: none; // @presenter Shadow
14
14
 
15
15
  --tag-status-dot-color-default: var(--color-persian-green-7);
@@ -22,8 +22,17 @@ exports.tag = (0, styled_components_1.css) `
22
22
  * @tokens Tag spacing
23
23
  */
24
24
 
25
- --tag-padding: 1px 8px; //@presenter Spacing
26
- --tag-large-padding: 4px 16px; //@presenter Spacing
25
+ --tag-padding-vertical: 1px; //@presenter Spacing
26
+ --tag-padding-horizontal: 8px; //@presenter Spacing
27
+ --tag-padding: 0 var(--tag-padding-horizontal); //@presenter Spacing
28
+ --tag-content-padding: var(--tag-padding-vertical) 0; //@presenter Spacing
29
+ --tag-content-gap: 4px; //@presenter Spacing
30
+
31
+ --tag-large-padding-vertical: 4px; //@presenter Spacing
32
+ --tag-large-padding-horizontal: 16px; //@presenter Spacing
33
+ --tag-large-padding: 0 var(--tag-large-padding-horizontal); //@presenter Spacing
34
+ --tag-large-content-padding: var(--tag-large-padding-vertical); //@presenter Spacing
35
+
27
36
  --tag-margin: 0 5px 0 0; //@presenter Spacing
28
37
  --tag-gap: 5px; //@presenter Spacing
29
38
 
@@ -33,6 +42,7 @@ exports.tag = (0, styled_components_1.css) `
33
42
 
34
43
  .tag-size-large {
35
44
  --tag-padding: var(--tag-large-padding);
45
+ --tag-content-padding: var(--tag-large-content-padding);
36
46
  --tag-font-size: var(--font-size-base);
37
47
  }
38
48
 
@@ -67,6 +77,7 @@ exports.tag = (0, styled_components_1.css) `
67
77
  --tag-color: var(--text-color-primary); // @presenter Color
68
78
  --tag-bg-color: var(--color-warm-grey-2); // @presenter Color
69
79
  --tag-border-color: var(--border-color-primary); // @presenter Color
80
+ --tag-close-button-bg-color-hover: var(--color-warm-grey-3); // @presenter Color
70
81
  }
71
82
 
72
83
  .tag-green,
@@ -75,6 +86,7 @@ exports.tag = (0, styled_components_1.css) `
75
86
  --tag-color: var(--color-success-active); // @presenter Color
76
87
  --tag-bg-color: var(--color-success-bg); // @presenter Color
77
88
  --tag-border-color: var(--color-success-active); // @presenter Color
89
+ --tag-close-button-bg-color-hover: var(--color-success-bg-hover); // @presenter Color
78
90
  }
79
91
 
80
92
  .tag-red,
@@ -83,6 +95,7 @@ exports.tag = (0, styled_components_1.css) `
83
95
  --tag-color: var(--color-error-active); // @presenter Color
84
96
  --tag-bg-color: var(--color-error-bg); // @presenter Color
85
97
  --tag-border-color: var(--color-error-active); // @presenter Color
98
+ --tag-close-button-bg-color-hover: var(--color-error-hover); // @presenter Color
86
99
  }
87
100
 
88
101
  .tag-gold,
@@ -91,6 +104,7 @@ exports.tag = (0, styled_components_1.css) `
91
104
  --tag-color: var(--color-warning-active); // @presenter Color
92
105
  --tag-bg-color: var(--color-warning-bg); // @presenter Color
93
106
  --tag-border-color: var(--color-warning-active); // @presenter Color
107
+ --tag-close-button-bg-color-hover: var(--color-warning-hover); // @presenter Color
94
108
  }
95
109
 
96
110
  .tag-blue,
@@ -98,6 +112,7 @@ exports.tag = (0, styled_components_1.css) `
98
112
  --tag-color: var(--color-info-active); // @presenter Color
99
113
  --tag-bg-color: var(--color-info-bg); // @presenter Color
100
114
  --tag-border-color: var(--color-info-active); // @presenter Color
115
+ --tag-close-button-bg-color-hover: var(--color-info-hover); // @presenter Color
101
116
  }
102
117
 
103
118
  .tag-purple,
@@ -105,26 +120,24 @@ exports.tag = (0, styled_components_1.css) `
105
120
  --tag-color: var(--color-purple-7); // @presenter Color
106
121
  --tag-bg-color: var(--color-purple-1); // @presenter Color
107
122
  --tag-border-color: var(--color-purple-7); // @presenter Color
123
+ --tag-close-button-bg-color-hover: var(--color-purple-3); // @presenter Color
108
124
  }
109
125
 
110
126
  .tag-cyan,
111
- .tag-option {
127
+ .tag-option,
128
+ .tag-geekblue,
129
+ .tag-link {
112
130
  --tag-color: var(--color-turquoise-7); // @presenter Color
113
131
  --tag-bg-color: var(--color-turquoise-1); // @presenter Color
114
132
  --tag-border-color: var(--color-turquoise-7); // @presenter Color
133
+ --tag-close-button-bg-color-hover: var(--color-turquoise-3); // @presenter Color
115
134
  }
116
135
 
117
136
  .tag-yellow {
118
137
  --tag-color: var(--color-carrot-7); // @presenter Color
119
138
  --tag-bg-color: var(--color-carrot-1); // @presenter Color
120
139
  --tag-border-color: var(--color-carrot-7); // @presenter Color
121
- }
122
-
123
- .tag-geekblue,
124
- .tag-link {
125
- --tag-color: var(--color-turquoise-7); // @presenter Color
126
- --tag-bg-color: var(--color-turquoise-1); // @presenter Color
127
- --tag-border-color: var(--color-turquoise-7); // @presenter Color
140
+ --tag-close-button-bg-color-hover: var(--color-carrot-3); // @presenter Color
128
141
  }
129
142
 
130
143
  .tag-magenta,
@@ -132,18 +145,21 @@ exports.tag = (0, styled_components_1.css) `
132
145
  --tag-color: var(--color-magenta-7); // @presenter Color
133
146
  --tag-bg-color: var(--color-magenta-1); // @presenter Color
134
147
  --tag-border-color: var(--color-magenta-7); // @presenter Color
148
+ --tag-close-button-bg-color-hover: var(--color-magenta-3); // @presenter Color
135
149
  }
136
150
 
137
151
  .tag-lime {
138
152
  --tag-color: var(--color-green-7); // @presenter Color
139
153
  --tag-bg-color: none; // @presenter Color
140
154
  --tag-border-color: var(--color-green-7); // @presenter Color
155
+ --tag-close-button-bg-color-hover: var(--color-green-3); // @presenter Color
141
156
  }
142
157
 
143
158
  .tag-product {
144
159
  --tag-color: var(--color-warm-grey-7); // @presenter Color
145
160
  --tag-bg-color: transparent; // @presenter Color
146
161
  --tag-border-color: var(--color-warm-grey-4); // @presenter Color
162
+ --tag-close-button-bg-color-hover: var(--color-warm-grey-3); // @presenter Color
147
163
  }
148
164
 
149
165
  /**
@@ -158,12 +174,28 @@ exports.tag = (0, styled_components_1.css) `
158
174
  * @tokens Operation tag colors
159
175
  */
160
176
 
161
- --tag-operation-color-delete: #E70B46;
162
- --tag-operation-color-get: #25B869;
163
- --tag-operation-color-post: #1E65F5;
164
- --tag-operation-color-put: #F5901D;
165
- --tag-operation-color-patch: #F5C31D;
166
- --tag-operation-color-deprecated: var(--text-color-disabled);
177
+ --tag-operation-color-delete: #e70b46; // @presenter Color
178
+ --tag-operation-bg-color-delete: #fee2e9; // @presenter Color
179
+
180
+ --tag-operation-color-get: #25b869; // @presenter Color
181
+ --tag-operation-bg-color-get: #e5faef; // @presenter Color
182
+
183
+ --tag-operation-color-post: #1e65f5; // @presenter Color
184
+ --tag-operation-bg-color-post: #e2ebfe; // @presenter Color
185
+
186
+ --tag-operation-color-put: #f5901d; // @presenter Color
187
+ --tag-operation-bg-color-put: #fef1e2; // @presenter Color
188
+
189
+ --tag-operation-color-patch: #f5c31d; // @presenter Color
190
+ --tag-operation-bg-color-patch: #fdf6dd; // @presenter Color
191
+
192
+ --tag-operation-color-head: #5b4ccc; // @presenter Color
193
+ --tag-operation-bg-color-head: #e6e1fe; // @presenter Color
194
+
195
+ --tag-operation-color-options: #1a1c21; // @presenter Color
196
+ --tag-operation-bg-color-options: #ededf2; // @presenter Color
197
+
198
+ --tag-operation-color-deprecated: var(--text-color-disabled); // @presenter Color
167
199
 
168
200
  .tag-delete {
169
201
  --tag-color: var(--tag-operation-color-delete); // @presenter Color
@@ -1,8 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import type { Version } from '@redocly/config';
3
- import { Select, type SelectProps } from '../../components/Select/Select';
4
- export interface VersionPickerProps extends SelectProps {
5
- }
3
+ import type { SelectProps } from '../../core/types/select';
4
+ import { Select } from '../../components/Select/Select';
6
5
  export declare function VersionPicker(props: {
7
6
  versions?: Version[];
8
7
  onChange: (v: Version) => void;
@@ -31,6 +31,7 @@ const React = __importStar(require("react"));
31
31
  const styled_components_1 = __importDefault(require("styled-components"));
32
32
  const hooks_1 = require("../../core/hooks");
33
33
  const Select_1 = require("../../components/Select/Select");
34
+ const SelectInput_1 = require("../../components/Select/SelectInput");
34
35
  function VersionPicker(props) {
35
36
  var _a;
36
37
  const themeConfig = (0, hooks_1.useThemeConfig)();
@@ -38,22 +39,24 @@ function VersionPicker(props) {
38
39
  const { useTranslate } = (0, hooks_1.useThemeHooks)();
39
40
  const { translate } = useTranslate();
40
41
  const { versions = [], onChange } = props;
41
- const options = versions.map((version) => {
42
- return {
43
- element: version.label || version.version,
44
- value: version,
45
- active: version.active,
46
- };
47
- });
42
+ const options = versions.map(({ label, version, active }) => ({
43
+ element: label || version,
44
+ value: version,
45
+ active: active,
46
+ }));
47
+ const value = (_a = options.find((item) => item.active)) === null || _a === void 0 ? void 0 : _a.value;
48
48
  if (versionPicker === null || versionPicker === void 0 ? void 0 : versionPicker.hide) {
49
49
  return null;
50
50
  }
51
- const value = (_a = options.find((item) => item.active)) === null || _a === void 0 ? void 0 : _a.value;
51
+ const handleOnChange = (value) => {
52
+ const selectedVersion = versions.find((v) => v.version === value);
53
+ onChange(selectedVersion);
54
+ };
52
55
  if (!options.length && !(versionPicker === null || versionPicker === void 0 ? void 0 : versionPicker.showForUnversioned))
53
56
  return null;
54
57
  return (React.createElement(VersionsPickerWrapper, { "data-component-name": "VersionPicker/VersionPicker" },
55
58
  React.createElement(VersionPickerLabel, { "data-translation-key": "theme.versionPicker.label" }, translate('theme.versionPicker.label', 'Version:')),
56
- React.createElement(exports.VersionPickerSelect, { placeholder: translate('theme.versionPicker.unversioned', 'All versions'), disabled: !options.length, options: options, value: value, onChange: onChange })));
59
+ React.createElement(exports.VersionPickerSelect, { placeholder: translate('theme.versionPicker.unversioned', 'All versions'), disabled: !options.length, options: options, value: value, onChange: handleOnChange })));
57
60
  }
58
61
  exports.VersionPicker = VersionPicker;
59
62
  const VersionPickerLabel = styled_components_1.default.label `
@@ -72,32 +75,12 @@ exports.VersionPickerSelect = (0, styled_components_1.default)(Select_1.Select)
72
75
  line-height: var(--version-picker-line-height);
73
76
  color: var(--version-picker-text-color);
74
77
 
75
- ${Select_1.SelectInput} {
78
+ ${SelectInput_1.SelectInputWrapper} {
76
79
  border: var(--version-picker-input-border);
77
80
  border-radius: var(--version-picker-input-border-radius);
78
81
  padding: var(--version-picker-input-padding-vertical)
79
82
  var(--version-picker-input-padding-horizontal);
80
83
  }
81
-
82
- ${Select_1.SelectList} {
83
- right: 0;
84
- width: 100%;
85
- min-width: var(--version-picker-list-min-width);
86
- max-width: var(--version-picker-list-max-width);
87
- padding: var(--version-picker-list-padding);
88
- background-color: var(--version-picker-list-bg-color);
89
- border-radius: var(--version-picker-list-border-radius);
90
- box-shadow: var(--version-picker-list-box-shadow);
91
- }
92
-
93
- ${Select_1.SelectListItem} {
94
- border-radius: var(--version-picker-list-item-border-radius);
95
-
96
- & > * {
97
- padding: var(--version-picker-list-item-vertical-padding)
98
- var(--version-picker-list-item-horizontal-padding);
99
- }
100
- }
101
84
  `;
102
85
  const VersionsPickerWrapper = styled_components_1.default.div `
103
86
  display: flex;
@@ -20,5 +20,5 @@ export * from '../../../core/hooks/menu/use-menu-item-expanded';
20
20
  export * from '../../../core/hooks/menu/use-mobile-menu-levels';
21
21
  export * from '../../../core/hooks/feedback/use-report-dialog';
22
22
  export * from '../../../core/hooks/use-product-picker';
23
- export * from '../../../core/hooks/use-search';
23
+ export * from '../../../core/hooks/search/use-search-dialog';
24
24
  export * from '../../../core/hooks/use-language-picker';
@@ -36,6 +36,6 @@ __exportStar(require("../../../core/hooks/menu/use-menu-item-expanded"), exports
36
36
  __exportStar(require("../../../core/hooks/menu/use-mobile-menu-levels"), exports);
37
37
  __exportStar(require("../../../core/hooks/feedback/use-report-dialog"), exports);
38
38
  __exportStar(require("../../../core/hooks/use-product-picker"), exports);
39
- __exportStar(require("../../../core/hooks/use-search"), exports);
39
+ __exportStar(require("../../../core/hooks/search/use-search-dialog"), exports);
40
40
  __exportStar(require("../../../core/hooks/use-language-picker"), exports);
41
41
  //# sourceMappingURL=index.js.map
@@ -30,7 +30,7 @@ export declare const useThemeHooks: jest.Mock<{
30
30
  }, [], any>;
31
31
  useCurrentProduct: jest.Mock<any, any, any>;
32
32
  useProducts: jest.Mock<never[], [], any>;
33
- useFuseSearch: jest.Mock<{
33
+ useSearch: jest.Mock<{
34
34
  query: jest.Mock<any, any, any>;
35
35
  setQuery: jest.Mock<any, any, any>;
36
36
  items: never[];
@@ -37,7 +37,7 @@ exports.useThemeHooks = jest.fn(() => ({
37
37
  })),
38
38
  useCurrentProduct: jest.fn(),
39
39
  useProducts: jest.fn(() => []),
40
- useFuseSearch: jest.fn(() => ({
40
+ useSearch: jest.fn(() => ({
41
41
  query: jest.fn().mockReturnValue(''),
42
42
  setQuery: jest.fn(),
43
43
  items: [],
@@ -24,6 +24,7 @@ export * from '../../core/hooks/use-tabs';
24
24
  export * from '../../core/hooks/use-focus-trap';
25
25
  export * from '../../core/hooks/use-language-picker';
26
26
  export * from '../../core/hooks/use-product-picker';
27
- export * from '../../core/hooks/use-search';
27
+ export * from '../../core/hooks/search/use-search-dialog';
28
+ export * from '../../core/hooks/search/use-search-filter';
28
29
  export * from '../../core/hooks/use-controlled-state';
29
30
  export * from '../../core/hooks/use-codeblock-tabs-controls';
@@ -40,7 +40,8 @@ __exportStar(require("../../core/hooks/use-tabs"), exports);
40
40
  __exportStar(require("../../core/hooks/use-focus-trap"), exports);
41
41
  __exportStar(require("../../core/hooks/use-language-picker"), exports);
42
42
  __exportStar(require("../../core/hooks/use-product-picker"), exports);
43
- __exportStar(require("../../core/hooks/use-search"), exports);
43
+ __exportStar(require("../../core/hooks/search/use-search-dialog"), exports);
44
+ __exportStar(require("../../core/hooks/search/use-search-filter"), exports);
44
45
  __exportStar(require("../../core/hooks/use-controlled-state"), exports);
45
46
  __exportStar(require("../../core/hooks/use-codeblock-tabs-controls"), exports);
46
47
  //# sourceMappingURL=index.js.map
@@ -17,6 +17,8 @@ function updateRecentSearches(value, isAdd) {
17
17
  if (!(0, utils_1.isBrowser)())
18
18
  return [];
19
19
  const recentSearches = getRecentSearches();
20
+ if (value === '')
21
+ return recentSearches;
20
22
  const valueIndex = recentSearches.indexOf(value);
21
23
  if (valueIndex !== -1)
22
24
  recentSearches.splice(valueIndex, 1);
@@ -1,4 +1,4 @@
1
- export declare function useSearch(): {
1
+ export declare function useSearchDialog(): {
2
2
  isOpen: boolean;
3
3
  onOpen: () => void;
4
4
  onClose: () => void;
@@ -3,12 +3,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.useSearch = void 0;
6
+ exports.useSearchDialog = void 0;
7
7
  const react_1 = require("react");
8
8
  const react_router_dom_1 = require("react-router-dom");
9
9
  const hotkeys_js_1 = __importDefault(require("hotkeys-js"));
10
- const hooks_1 = require("../../core/hooks");
11
- function useSearch() {
10
+ const hooks_1 = require("../../../core/hooks");
11
+ function useSearchDialog() {
12
12
  var _a, _b;
13
13
  const [isOpen, setIsOpen] = (0, react_1.useState)(false);
14
14
  const themeSettings = (0, hooks_1.useThemeConfig)();
@@ -40,5 +40,5 @@ function useSearch() {
40
40
  (0, react_1.useEffect)(onClose, [location]);
41
41
  return { isOpen, onOpen, onClose };
42
42
  }
43
- exports.useSearch = useSearch;
44
- //# sourceMappingURL=use-search.js.map
43
+ exports.useSearchDialog = useSearchDialog;
44
+ //# sourceMappingURL=use-search-dialog.js.map
@@ -0,0 +1,9 @@
1
+ import type { SearchFilterItem } from '../../../core/types';
2
+ export declare function useSearchFilter(filter: SearchFilterItem[], setFilter: React.Dispatch<React.SetStateAction<SearchFilterItem[]>>): {
3
+ onFacetReset: (field: string) => void;
4
+ onTopFacetsReset: () => void;
5
+ onFilterChange: (field: string, value: string | string[] | undefined, isTop?: boolean) => void;
6
+ onFilterReset: () => void;
7
+ onFilterToggle: () => void;
8
+ isFilterOpen: boolean;
9
+ };
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useSearchFilter = void 0;
4
+ const react_1 = require("react");
5
+ function useSearchFilter(filter, setFilter) {
6
+ const [isFilterOpen, setIsFilterOpen] = (0, react_1.useState)(false);
7
+ const onFilterToggle = (0, react_1.useCallback)(() => {
8
+ setIsFilterOpen(!isFilterOpen);
9
+ }, [isFilterOpen]);
10
+ const onFilterChange = (field, value, isTop) => {
11
+ const values = value ? (Array.isArray(value) ? value : [value]) : [];
12
+ const _filter = [...filter];
13
+ const fieldIndex = _filter.findIndex((filter) => filter.field === field);
14
+ if (fieldIndex > -1) {
15
+ // filter field already exists
16
+ _filter[fieldIndex].values = values;
17
+ }
18
+ else {
19
+ if (!values.length)
20
+ return;
21
+ _filter.push({ field, values, isTop });
22
+ }
23
+ setFilter(_filter.filter((item) => item.values.length));
24
+ };
25
+ const onFilterReset = () => {
26
+ setFilter([]);
27
+ };
28
+ const onTopFacetsReset = () => {
29
+ const _filter = [...filter];
30
+ setFilter(_filter.filter((item) => !item.isTop));
31
+ };
32
+ const onFacetReset = (field) => {
33
+ const _filter = [...filter];
34
+ const fieldIndex = _filter.findIndex((filter) => filter.field === field);
35
+ if (fieldIndex !== -1) {
36
+ _filter[fieldIndex].values = [];
37
+ }
38
+ setFilter(_filter.filter((item) => item.values.length));
39
+ };
40
+ return {
41
+ onFacetReset,
42
+ onTopFacetsReset,
43
+ onFilterChange,
44
+ onFilterReset,
45
+ onFilterToggle,
46
+ isFilterOpen,
47
+ };
48
+ }
49
+ exports.useSearchFilter = useSearchFilter;
50
+ //# sourceMappingURL=use-search-filter.js.map
@@ -2,7 +2,7 @@ import type { PageProps, ResolvedNavItemWithLink, Version } from '@redocly/confi
2
2
  import type { Callback, TFunction as TFunc } from 'i18next';
3
3
  import type { To, Location } from 'react-router-dom';
4
4
  import type { CatalogConfig, ProductUiConfig } from '../../config';
5
- import type { UserMenuData, FilteredCatalog, ItemState, SearchDocument, SubmitFeedbackParams, TFunction, BreadcrumbItem, DrilldownMenuItemDetails } from '../../core/types';
5
+ import type { UserMenuData, FilteredCatalog, ItemState, SearchItemData, SubmitFeedbackParams, TFunction, BreadcrumbItem, DrilldownMenuItemDetails, SearchFacet, SearchFilterItem, SearchFacetQuery } from '../../core/types';
6
6
  export type ThemeHooks = {
7
7
  useTranslate: () => {
8
8
  translate: TFunction;
@@ -45,11 +45,23 @@ export type ThemeHooks = {
45
45
  location: Location;
46
46
  };
47
47
  useBreadcrumbs: () => BreadcrumbItem[];
48
- useFuseSearch: (product?: string) => {
48
+ useSearch: (product?: string) => {
49
49
  query: string;
50
50
  setQuery: React.Dispatch<React.SetStateAction<string>>;
51
- items: SearchDocument[] | null;
52
- isLoading: boolean;
51
+ filter: SearchFilterItem[];
52
+ setFilter: React.Dispatch<React.SetStateAction<SearchFilterItem[]>>;
53
+ items: Record<string, SearchItemData[] | null>;
54
+ isSearchLoading: boolean;
55
+ facets: SearchFacet[];
56
+ setLoadMore: React.Dispatch<React.SetStateAction<{
57
+ groupKey: string;
58
+ offset: number;
59
+ } | undefined>>;
60
+ };
61
+ useFacetQuery: (field: string) => {
62
+ searchFacet: SearchFacet | null;
63
+ setSearchFacet: React.Dispatch<React.SetStateAction<SearchFacet | null>>;
64
+ setSearchFacetQuery: React.Dispatch<React.SetStateAction<SearchFacetQuery | null>>;
53
65
  };
54
66
  useSidebarItems: (activeVersion?: Version | null) => {
55
67
  currentItems: ItemState[];
@@ -6,7 +6,7 @@ export * from '../../core/types/hooks';
6
6
  export * from '../../core/types/markdown';
7
7
  export * from '../../core/types/navbar';
8
8
  export * from '../../core/types/search';
9
- export * from '../../core/types/select-option';
9
+ export * from '../../core/types/select';
10
10
  export * from '../../core/types/sidebar';
11
11
  export * from '../../core/types/filter';
12
12
  export * from '../../core/types/user-menu';
@@ -22,7 +22,7 @@ __exportStar(require("../../core/types/hooks"), exports);
22
22
  __exportStar(require("../../core/types/markdown"), exports);
23
23
  __exportStar(require("../../core/types/navbar"), exports);
24
24
  __exportStar(require("../../core/types/search"), exports);
25
- __exportStar(require("../../core/types/select-option"), exports);
25
+ __exportStar(require("../../core/types/select"), exports);
26
26
  __exportStar(require("../../core/types/sidebar"), exports);
27
27
  __exportStar(require("../../core/types/filter"), exports);
28
28
  __exportStar(require("../../core/types/user-menu"), exports);
@@ -1,5 +1,5 @@
1
1
  import type { TOptions } from 'i18next';
2
- export type TranslationKey = 'dev.newApp' | 'dev.newApp.text' | 'dev.sidebar.header' | 'dev.sidebar.footer.text' | 'dev.create.app.dialog.appName.placeholder' | 'dev.create.app.dialog.appName.error' | 'dev.create.app.dialog.selectAPIs' | 'dev.create.app.dialog.description' | 'dev.create.app.dialog.description.placeholder' | 'dev.create.app.dialog.create' | 'dev.create.app.dialog.cancel' | 'dev.main.tab.appKeys' | 'dev.main.tab.logs' | 'dev.app.description.title' | 'dev.edit.description.dialog.title' | 'dev.edit.description.dialog.save' | 'dev.edit.description.dialog.cancel' | 'dev.edit.apis.dialog.selectedAPIs' | 'dev.app.key.create' | 'dev.create.key.dialog.title' | 'dev.create.key.dialog.create' | 'dev.create.key.dialog.cancel' | 'dev.app.edit' | 'dev.app.delete' | 'dev.edit.app.dialog.title' | 'dev.edit.app.dialog.save' | 'dev.edit.app.dialog.cancel' | 'dev.delete.app.dialog.title' | 'dev.delete.app.dialog.confirmation' | 'dev.delete.app.dialog.delete' | 'dev.delete.app.dialog.cancel' | 'dev.app.key.roll' | 'dev.roll.key.dialog.title' | 'dev.roll.key.dialog.apiKey' | 'dev.roll.key.dialog.expires' | 'dev.roll.key.dialog.confirmation' | 'dev.roll.key.dialog.cancel' | 'dev.roll.key.dialog.roll' | 'dev.update.key.dialog.title' | 'dev.update.key.dialog.update' | 'dev.update.key.dialog.cancel' | 'dev.app.key.api.name' | 'dev.app.key.api.status' | 'dev.app.key.api.edit' | 'dev.edit.apis.dialog.title' | 'dev.edit.apis.dialog.apiKey' | 'dev.edit.apis.dialog.save' | 'dev.edit.apis.dialog.cancel' | 'dev.select.placeholder' | 'dev.app.overview.status.pending' | 'dev.app.overview.status.approved' | 'dev.app.overview.status.revoked' | 'dev.app.overview.status' | 'dev.app.overview.non-production' | 'dev.app.overview.production' | 'dev.app.overview.clientId' | 'dev.app.overview.apiKey' | 'dev.app.key.revoke' | 'dev.revoke.key.dialog.title' | 'dev.revoke.key.dialog.apiKey' | 'dev.revoke.key.dialog.expires' | 'dev.revoke.key.dialog.confirmation' | 'dev.revoke.key.dialog.revoke' | 'dev.revoke.key.dialog.cancel' | 'dev.app.overview.expires' | 'dev.app.overview.created' | 'dev.app.overview.visibilityToggle.hide' | 'dev.app.overview.visibilityToggle.show' | 'theme.search.noResults' | 'theme.search.keys.navigate' | 'theme.search.keys.select' | 'theme.search.keys.exit' | 'theme.search.label' | 'theme.search.cancel' | 'theme.search.recent' | 'theme.search.navbar.label' | 'theme.search.suggested' | 'theme.toc.header' | 'theme.footer.copyrightText' | 'theme.page.homeButton' | 'theme.page.forbidden.title' | 'theme.page.notFound.title' | 'theme.page.notFound.description' | 'theme.page.lastUpdated.timeago' | 'theme.page.lastUpdated.on' | 'theme.catalog.filters.placeholder' | 'theme.catalog.filters.title' | 'theme.catalog.filters.clearAll' | 'theme.catalog.filters.select.addFilter' | 'theme.catalog.filters.select.all' | 'theme.catalog.filters.done' | 'theme.sidebar.menu.backLabel' | 'theme.sidebar.actions.show' | 'theme.sidebar.actions.hide' | 'theme.sidebar.actions.changeLayout' | 'theme.versionPicker.label' | 'theme.versionPicker.unversioned' | 'theme.codeSnippet.copy.buttonText' | 'theme.codeSnippet.copy.tooltipText' | 'theme.codeSnippet.copy.toasterText' | 'theme.markdown.editPage.text' | 'theme.feedback.settings.comment.submitText' | 'theme.feedback.settings.comment.label' | 'theme.feedback.settings.comment.send' | 'theme.feedback.settings.comment.cancel' | 'theme.feedback.settings.comment.satisfiedLabel' | 'theme.feedback.settings.comment.neutralLabel' | 'theme.feedback.settings.comment.dissatisfiedLabel' | 'theme.feedback.settings.submitText' | 'theme.feedback.settings.label' | 'theme.feedback.settings.reasons.label' | 'theme.feedback.settings.reasons.send' | 'theme.feedback.settings.comment.likeLabel' | 'theme.feedback.settings.comment.dislikeLabel' | 'theme.feedback.sentiment.thumbUp' | 'theme.feedback.sentiment.thumbDown' | 'theme.feedback.settings.leftScaleLabel' | 'theme.feedback.settings.rightScaleLabel' | 'theme.codeSnippet.report.buttonText' | 'theme.codeSnippet.report.tooltipText' | 'theme.codeSnippet.report.label' | 'theme.userMenu.login' | 'theme.userMenu.logout' | 'theme.userMenu.devOnboardingLabel' | 'theme.mobileMenu.mainMenu' | 'theme.mobileMenu.previous' | 'theme.mobileMenu.products' | 'theme.page.nextButton' | 'theme.page.previousButton';
2
+ export type TranslationKey = 'dev.newApp' | 'dev.newApp.text' | 'dev.sidebar.header' | 'dev.sidebar.footer.text' | 'dev.create.app.dialog.appName.placeholder' | 'dev.create.app.dialog.appName.error' | 'dev.create.app.dialog.selectAPIs' | 'dev.create.app.dialog.description' | 'dev.create.app.dialog.description.placeholder' | 'dev.create.app.dialog.create' | 'dev.create.app.dialog.cancel' | 'dev.main.tab.appKeys' | 'dev.main.tab.logs' | 'dev.app.description.title' | 'dev.edit.description.dialog.title' | 'dev.edit.description.dialog.save' | 'dev.edit.description.dialog.cancel' | 'dev.edit.apis.dialog.selectedAPIs' | 'dev.app.key.create' | 'dev.create.key.dialog.title' | 'dev.create.key.dialog.create' | 'dev.create.key.dialog.cancel' | 'dev.app.edit' | 'dev.app.delete' | 'dev.edit.app.dialog.title' | 'dev.edit.app.dialog.save' | 'dev.edit.app.dialog.cancel' | 'dev.delete.app.dialog.title' | 'dev.delete.app.dialog.confirmation' | 'dev.delete.app.dialog.delete' | 'dev.delete.app.dialog.cancel' | 'dev.app.key.roll' | 'dev.roll.key.dialog.title' | 'dev.roll.key.dialog.apiKey' | 'dev.roll.key.dialog.expires' | 'dev.roll.key.dialog.confirmation' | 'dev.roll.key.dialog.cancel' | 'dev.roll.key.dialog.roll' | 'dev.update.key.dialog.title' | 'dev.update.key.dialog.update' | 'dev.update.key.dialog.cancel' | 'dev.app.key.api.name' | 'dev.app.key.api.status' | 'dev.app.key.api.edit' | 'dev.edit.apis.dialog.title' | 'dev.edit.apis.dialog.apiKey' | 'dev.edit.apis.dialog.save' | 'dev.edit.apis.dialog.cancel' | 'dev.select.placeholder' | 'dev.app.overview.status.pending' | 'dev.app.overview.status.approved' | 'dev.app.overview.status.revoked' | 'dev.app.overview.status' | 'dev.app.overview.non-production' | 'dev.app.overview.production' | 'dev.app.overview.clientId' | 'dev.app.overview.apiKey' | 'dev.app.key.revoke' | 'dev.revoke.key.dialog.title' | 'dev.revoke.key.dialog.apiKey' | 'dev.revoke.key.dialog.expires' | 'dev.revoke.key.dialog.confirmation' | 'dev.revoke.key.dialog.revoke' | 'dev.revoke.key.dialog.cancel' | 'dev.app.overview.expires' | 'dev.app.overview.created' | 'dev.app.overview.visibilityToggle.hide' | 'dev.app.overview.visibilityToggle.show' | 'theme.search.loading' | 'theme.search.noResults.title' | 'theme.search.noResults.description' | 'theme.search.keys.navigate' | 'theme.search.keys.select' | 'theme.search.keys.exit' | 'theme.search.label' | 'theme.search.cancel' | 'theme.search.recent' | 'theme.search.navbar.label' | 'theme.search.suggested' | 'theme.search.showMore' | 'theme.search.filter.title' | 'theme.search.filter.reset' | 'theme.search.filter.field.reset' | 'theme.toc.header' | 'theme.footer.copyrightText' | 'theme.page.homeButton' | 'theme.page.forbidden.title' | 'theme.page.notFound.title' | 'theme.page.notFound.description' | 'theme.page.lastUpdated.timeago' | 'theme.page.lastUpdated.on' | 'theme.catalog.filters.placeholder' | 'theme.catalog.filters.title' | 'theme.catalog.filters.clearAll' | 'theme.catalog.filters.select.addFilter' | 'theme.catalog.filters.select.all' | 'theme.catalog.filters.done' | 'theme.sidebar.menu.backLabel' | 'theme.sidebar.actions.show' | 'theme.sidebar.actions.hide' | 'theme.sidebar.actions.changeLayout' | 'theme.versionPicker.label' | 'theme.versionPicker.unversioned' | 'theme.codeSnippet.copy.buttonText' | 'theme.codeSnippet.copy.tooltipText' | 'theme.codeSnippet.copy.toasterText' | 'theme.markdown.editPage.text' | 'theme.feedback.settings.comment.submitText' | 'theme.feedback.settings.comment.label' | 'theme.feedback.settings.comment.send' | 'theme.feedback.settings.comment.cancel' | 'theme.feedback.settings.comment.satisfiedLabel' | 'theme.feedback.settings.comment.neutralLabel' | 'theme.feedback.settings.comment.dissatisfiedLabel' | 'theme.feedback.settings.submitText' | 'theme.feedback.settings.label' | 'theme.feedback.settings.reasons.label' | 'theme.feedback.settings.reasons.send' | 'theme.feedback.settings.comment.likeLabel' | 'theme.feedback.settings.comment.dislikeLabel' | 'theme.feedback.sentiment.thumbUp' | 'theme.feedback.sentiment.thumbDown' | 'theme.feedback.settings.leftScaleLabel' | 'theme.feedback.settings.rightScaleLabel' | 'theme.codeSnippet.report.buttonText' | 'theme.codeSnippet.report.tooltipText' | 'theme.codeSnippet.report.label' | 'theme.userMenu.login' | 'theme.userMenu.logout' | 'theme.userMenu.devOnboardingLabel' | 'theme.mobileMenu.mainMenu' | 'theme.mobileMenu.previous' | 'theme.mobileMenu.products' | 'theme.page.nextButton' | 'theme.page.previousButton';
3
3
  export type Locale = {
4
4
  code: string;
5
5
  name: string;
@@ -12,9 +12,9 @@ export type SearchDocument = {
12
12
  title: string | string[];
13
13
  text: string | string[];
14
14
  path?: string[];
15
- httpVerb?: string;
15
+ httpMethod?: string;
16
+ httpPath?: string | string[];
16
17
  deprecated?: boolean;
17
- pathName?: string | string[];
18
18
  parameters?: OperationParameter[];
19
19
  metadata?: Record<string, any>;
20
20
  version?: string;
@@ -29,4 +29,45 @@ export type SearchDocument = {
29
29
  fsPath?: string;
30
30
  };
31
31
  badges?: ItemBadge[];
32
+ facets?: Record<string, string>;
33
+ filterTags?: string[];
34
+ parametersNames?: string[];
35
+ parametersDescriptons?: string[];
36
+ };
37
+ export type ParameterHighlight = {
38
+ name: string;
39
+ description: string;
40
+ place: string;
41
+ path: string[];
42
+ };
43
+ export type SearchItemData = {
44
+ document: SearchDocument;
45
+ highlight: Record<string, string> & {
46
+ parameters?: ParameterHighlight[];
47
+ path?: string[];
48
+ };
49
+ };
50
+ export type SearchFacet = {
51
+ name: string;
52
+ field: string;
53
+ type: SearchFacetType;
54
+ values: string[] | SearchFacetCount[];
55
+ isTop?: boolean;
56
+ index?: number;
57
+ };
58
+ export type SearchFacetCount = {
59
+ value: string;
60
+ count: number;
61
+ isCounterVisible?: boolean;
62
+ };
63
+ export type SearchFacetQuery = {
64
+ query: string;
65
+ filter: SearchFilterItem[];
66
+ facetQuery: string;
67
+ };
68
+ export type SearchFacetType = 'input' | 'multi-select' | 'select' | 'switch' | 'radio' | 'tags' | 'checkbox';
69
+ export type SearchFilterItem = {
70
+ field: string;
71
+ values: string[];
72
+ isTop?: boolean;
32
73
  };
@@ -0,0 +1,30 @@
1
+ import type React from 'react';
2
+ export type SelectOption<T> = {
3
+ value: T;
4
+ element?: React.ReactNode | JSX.Element | string;
5
+ label?: string;
6
+ };
7
+ export type SelectProps<T = any> = {
8
+ value?: SelectOption<T> | SelectOption<T>[] | T | T[];
9
+ options: SelectOption<T>[];
10
+ multiple?: boolean;
11
+ searchable?: boolean;
12
+ clearable?: boolean;
13
+ dataAttributes?: Record<string, string>;
14
+ className?: string;
15
+ withArrow?: boolean;
16
+ triggerEvent?: 'click' | 'hover';
17
+ placement?: 'top' | 'bottom';
18
+ alignment?: 'start' | 'end';
19
+ onlyIcon?: boolean;
20
+ placeholder?: string;
21
+ disabled?: boolean;
22
+ hideCheckmarkIcon?: boolean;
23
+ dataTestId?: string;
24
+ icon?: React.ReactNode;
25
+ footer?: React.ReactNode;
26
+ onChange?: (value: T | T[]) => void;
27
+ renderInput?: () => React.ReactElement;
28
+ renderDivider?: () => React.ReactElement;
29
+ onSearch?: (value: T | null) => void;
30
+ };
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=select-option.js.map
3
+ //# sourceMappingURL=select.js.map
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import type { IconProps } from '../../icons/types';
3
+ export declare const ResetIcon: import("styled-components").StyledComponent<(props: IconProps) => React.JSX.Element, any, {
4
+ 'data-component-name': string;
5
+ } & {
6
+ color?: string | undefined;
7
+ size?: string | undefined;
8
+ className?: string | undefined;
9
+ } & React.SVGProps<SVGSVGElement>, "data-component-name">;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ResetIcon = void 0;
7
+ const react_1 = __importDefault(require("react"));
8
+ const styled_components_1 = __importDefault(require("styled-components"));
9
+ const utils_1 = require("../../core/utils");
10
+ const Icon = (props) => (react_1.default.createElement("svg", Object.assign({ viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, props),
11
+ react_1.default.createElement("path", { d: "M9 14C10.1867 14 11.3467 13.6481 12.3334 12.9888C13.3201 12.3295 14.0892 11.3925 14.5433 10.2961C14.9974 9.19975 15.1162 7.99335 14.8847 6.82946C14.6532 5.66558 14.0818 4.59648 13.2426 3.75736C12.4035 2.91825 11.3344 2.3468 10.1705 2.11529C9.00666 1.88378 7.80026 2.0026 6.7039 2.45673C5.60754 2.91085 4.67047 3.67989 4.01118 4.66658C3.35189 5.65328 3 6.81331 3 8V11.1L1.2 9.3L0.5 10L3.5 13L6.5 10L5.8 9.3L4 11.1V8C4 7.0111 4.29324 6.0444 4.84265 5.22215C5.39206 4.39991 6.17295 3.75904 7.08658 3.38061C8.00021 3.00217 9.00555 2.90315 9.97545 3.09608C10.9454 3.289 11.8363 3.76521 12.5355 4.46447C13.2348 5.16373 13.711 6.05465 13.9039 7.02455C14.0969 7.99446 13.9978 8.99979 13.6194 9.91342C13.241 10.8271 12.6001 11.6079 11.7779 12.1574C10.9556 12.7068 9.98891 13 9 13V14Z", fill: "#1A1C21" })));
12
+ exports.ResetIcon = (0, styled_components_1.default)(Icon).attrs(() => ({
13
+ 'data-component-name': 'icons/ResetIcon/ResetIcon',
14
+ })) `
15
+ path {
16
+ fill: ${({ color }) => (0, utils_1.getCssColorVariable)(color)};
17
+ }
18
+
19
+ height: ${({ size }) => size || '16px'};
20
+ width: ${({ size }) => size || '16px'};
21
+ `;
22
+ //# sourceMappingURL=ResetIcon.js.map
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import type { IconProps } from '../../icons/types';
3
+ export declare const SettingsIcon: import("styled-components").StyledComponent<(props: IconProps) => React.JSX.Element, any, {
4
+ 'data-component-name': string;
5
+ } & {
6
+ color?: string | undefined;
7
+ size?: string | undefined;
8
+ className?: string | undefined;
9
+ } & React.SVGProps<SVGSVGElement>, "data-component-name">;