@redocly/theme 0.63.0-next.4 → 0.63.0-next.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (136) hide show
  1. package/lib/components/Accordion/variables.js +2 -2
  2. package/lib/components/Buttons/DownloadButton.d.ts +6 -0
  3. package/lib/components/Buttons/DownloadButton.js +20 -0
  4. package/lib/components/Buttons/EmailButton.js +6 -1
  5. package/lib/components/Buttons/NewTabButton.js +6 -1
  6. package/lib/components/Catalog/Catalog.js +114 -50
  7. package/lib/components/Catalog/CatalogAvatar.d.ts +5 -0
  8. package/lib/components/Catalog/CatalogAvatar.js +92 -0
  9. package/lib/components/Catalog/CatalogCardView/CatalogCard.js +26 -7
  10. package/lib/components/Catalog/CatalogCardView/CatalogCardView.js +10 -2
  11. package/lib/components/Catalog/CatalogEntity/CatalogEntity.js +17 -17
  12. package/lib/components/Catalog/CatalogEntity/CatalogEntityGraph/CatalogEntityRelationsLinkedNode.js +4 -20
  13. package/lib/components/Catalog/CatalogEntity/CatalogEntityGraph/CatalogEntityRelationsNodeContent.d.ts +7 -0
  14. package/lib/components/Catalog/CatalogEntity/CatalogEntityGraph/CatalogEntityRelationsNodeContent.js +53 -0
  15. package/lib/components/Catalog/CatalogEntity/CatalogEntityGraph/CatalogEntityRelationsRootNode.js +3 -17
  16. package/lib/components/Catalog/CatalogEntity/CatalogEntityHistory/CatalogEntityHistoryButton.js +30 -9
  17. package/lib/components/Catalog/CatalogEntity/CatalogEntityHistory/CatalogEntityHistorySidebar.js +16 -3
  18. package/lib/components/Catalog/CatalogEntity/CatalogEntityHistory/CatalogEntityVersionItem.js +8 -4
  19. package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/CatalogEntityProperties.js +11 -5
  20. package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/DomainsProperty.js +1 -1
  21. package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/OwnersProperty.js +1 -1
  22. package/lib/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityApiDescriptionRelations.js +1 -1
  23. package/lib/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityRelationsTable.js +4 -1
  24. package/lib/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityRelationsTableContent.js +7 -2
  25. package/lib/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityTeamRelations.js +1 -1
  26. package/lib/components/Catalog/CatalogEntity/CatalogEntitySchema.js +1 -1
  27. package/lib/components/Catalog/CatalogFilter/CatalogFilterCheckboxes.js +1 -1
  28. package/lib/components/Catalog/CatalogFilter/CatalogFilterContent.d.ts +4 -2
  29. package/lib/components/Catalog/CatalogFilter/CatalogFilterContent.js +25 -8
  30. package/lib/components/Catalog/CatalogMobileFiltersPanel/CatalogMobileFiltersPanel.d.ts +7 -0
  31. package/lib/components/Catalog/CatalogMobileFiltersPanel/CatalogMobileFiltersPanel.js +24 -0
  32. package/lib/components/Catalog/CatalogMobileFiltersPanel/CatalogMobileFiltersPanelHeader.d.ts +6 -0
  33. package/lib/components/Catalog/CatalogMobileFiltersPanel/CatalogMobileFiltersPanelHeader.js +26 -0
  34. package/lib/components/Catalog/CatalogMobileFiltersPanel/CatalogMobileFiltersPanelOverlay.d.ts +7 -0
  35. package/lib/components/Catalog/CatalogMobileFiltersPanel/CatalogMobileFiltersPanelOverlay.js +30 -0
  36. package/lib/components/Catalog/CatalogMobileTopBar/CatalogMobileTopBar.d.ts +13 -0
  37. package/lib/components/Catalog/CatalogMobileTopBar/CatalogMobileTopBar.js +30 -0
  38. package/lib/components/Catalog/CatalogMobileTopBar/CatalogMobileTopBarControls.d.ts +11 -0
  39. package/lib/components/Catalog/CatalogMobileTopBar/CatalogMobileTopBarControls.js +21 -0
  40. package/lib/components/Catalog/CatalogMobileTopBar/CatalogMobileTopBarFiltersButton.d.ts +7 -0
  41. package/lib/components/Catalog/CatalogMobileTopBar/CatalogMobileTopBarFiltersButton.js +25 -0
  42. package/lib/components/Catalog/CatalogPageDescription.js +0 -6
  43. package/lib/components/Catalog/CatalogSelector.d.ts +0 -1
  44. package/lib/components/Catalog/CatalogSelector.js +50 -16
  45. package/lib/components/Catalog/CatalogTableView/CatalogTableView.d.ts +2 -1
  46. package/lib/components/Catalog/CatalogTableView/CatalogTableView.js +20 -5
  47. package/lib/components/Catalog/CatalogTableView/CatalogUserEntityCell.js +2 -23
  48. package/lib/components/Catalog/CatalogTagsWithTooltip.d.ts +2 -1
  49. package/lib/components/Catalog/CatalogTagsWithTooltip.js +14 -6
  50. package/lib/components/Catalog/variables.js +78 -36
  51. package/lib/components/Filter/variables.js +1 -1
  52. package/lib/components/LoadMore/LoadMore.js +1 -0
  53. package/lib/components/Menu/MenuItem.js +1 -1
  54. package/lib/components/PageActions/PageActions.js +1 -2
  55. package/lib/components/Search/SearchDialog.js +1 -1
  56. package/lib/components/SidebarActions/SidebarActions.js +1 -1
  57. package/lib/components/Tooltip/AnchorTooltip.js +5 -2
  58. package/lib/components/Tooltip/JsTooltip.js +5 -2
  59. package/lib/components/UserMenu/UserMenu.js +1 -3
  60. package/lib/core/hooks/index.d.ts +1 -0
  61. package/lib/core/hooks/index.js +1 -0
  62. package/lib/core/hooks/use-is-truncated.d.ts +1 -0
  63. package/lib/core/hooks/use-is-truncated.js +19 -0
  64. package/lib/core/hooks/use-tabs.d.ts +1 -1
  65. package/lib/core/hooks/use-tabs.js +30 -17
  66. package/lib/core/types/hooks.d.ts +1 -0
  67. package/lib/core/types/l10n.d.ts +1 -1
  68. package/lib/core/types/tooltip.d.ts +1 -0
  69. package/lib/core/utils/custom-catalog-options-casing.d.ts +15 -0
  70. package/lib/core/utils/custom-catalog-options-casing.js +32 -0
  71. package/lib/core/utils/index.d.ts +1 -0
  72. package/lib/core/utils/index.js +1 -0
  73. package/lib/index.d.ts +1 -0
  74. package/lib/index.js +1 -0
  75. package/lib/markdoc/components/MarkdocExample/MarkdocExample.js +2 -2
  76. package/lib/markdoc/components/Tabs/Tabs.d.ts +1 -2
  77. package/lib/markdoc/components/Tabs/Tabs.js +9 -22
  78. package/package.json +4 -4
  79. package/src/components/Accordion/variables.ts +2 -2
  80. package/src/components/Buttons/DownloadButton.tsx +41 -0
  81. package/src/components/Buttons/EmailButton.tsx +18 -8
  82. package/src/components/Buttons/NewTabButton.tsx +19 -8
  83. package/src/components/Catalog/Catalog.tsx +157 -95
  84. package/src/components/Catalog/CatalogAvatar.tsx +68 -0
  85. package/src/components/Catalog/CatalogCardView/CatalogCard.tsx +29 -5
  86. package/src/components/Catalog/CatalogCardView/CatalogCardView.tsx +10 -2
  87. package/src/components/Catalog/CatalogEntity/CatalogEntity.tsx +17 -17
  88. package/src/components/Catalog/CatalogEntity/CatalogEntityGraph/CatalogEntityRelationsLinkedNode.tsx +4 -21
  89. package/src/components/Catalog/CatalogEntity/CatalogEntityGraph/CatalogEntityRelationsNodeContent.tsx +82 -0
  90. package/src/components/Catalog/CatalogEntity/CatalogEntityGraph/CatalogEntityRelationsRootNode.tsx +4 -22
  91. package/src/components/Catalog/CatalogEntity/CatalogEntityHistory/CatalogEntityHistoryButton.tsx +39 -10
  92. package/src/components/Catalog/CatalogEntity/CatalogEntityHistory/CatalogEntityHistorySidebar.tsx +19 -3
  93. package/src/components/Catalog/CatalogEntity/CatalogEntityHistory/CatalogEntityVersionItem.tsx +8 -4
  94. package/src/components/Catalog/CatalogEntity/CatalogEntityProperties/CatalogEntityProperties.tsx +12 -10
  95. package/src/components/Catalog/CatalogEntity/CatalogEntityProperties/DomainsProperty.tsx +5 -1
  96. package/src/components/Catalog/CatalogEntity/CatalogEntityProperties/OwnersProperty.tsx +1 -0
  97. package/src/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityApiDescriptionRelations.tsx +1 -1
  98. package/src/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityRelationsTable.tsx +6 -2
  99. package/src/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityRelationsTableContent.tsx +10 -2
  100. package/src/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityTeamRelations.tsx +1 -1
  101. package/src/components/Catalog/CatalogEntity/CatalogEntitySchema.tsx +1 -1
  102. package/src/components/Catalog/CatalogFilter/CatalogFilterCheckboxes.tsx +1 -1
  103. package/src/components/Catalog/CatalogFilter/CatalogFilterContent.tsx +30 -6
  104. package/src/components/Catalog/CatalogMobileFiltersPanel/CatalogMobileFiltersPanel.tsx +31 -0
  105. package/src/components/Catalog/CatalogMobileFiltersPanel/CatalogMobileFiltersPanelHeader.tsx +34 -0
  106. package/src/components/Catalog/CatalogMobileFiltersPanel/CatalogMobileFiltersPanelOverlay.tsx +40 -0
  107. package/src/components/Catalog/CatalogMobileTopBar/CatalogMobileTopBar.tsx +54 -0
  108. package/src/components/Catalog/CatalogMobileTopBar/CatalogMobileTopBarControls.tsx +34 -0
  109. package/src/components/Catalog/CatalogMobileTopBar/CatalogMobileTopBarFiltersButton.tsx +39 -0
  110. package/src/components/Catalog/CatalogPageDescription.tsx +0 -6
  111. package/src/components/Catalog/CatalogSelector.tsx +23 -21
  112. package/src/components/Catalog/CatalogTableView/CatalogTableView.tsx +37 -6
  113. package/src/components/Catalog/CatalogTableView/CatalogUserEntityCell.tsx +2 -26
  114. package/src/components/Catalog/CatalogTagsWithTooltip.tsx +24 -9
  115. package/src/components/Catalog/variables.ts +78 -36
  116. package/src/components/Filter/variables.ts +1 -1
  117. package/src/components/LoadMore/LoadMore.tsx +1 -0
  118. package/src/components/Menu/MenuItem.tsx +1 -0
  119. package/src/components/PageActions/PageActions.tsx +1 -2
  120. package/src/components/Search/SearchDialog.tsx +1 -1
  121. package/src/components/SidebarActions/SidebarActions.tsx +1 -0
  122. package/src/components/Tooltip/AnchorTooltip.tsx +5 -1
  123. package/src/components/Tooltip/JsTooltip.tsx +5 -1
  124. package/src/components/UserMenu/UserMenu.tsx +1 -3
  125. package/src/core/hooks/code-walkthrough/use-code-walkthrough.ts +1 -1
  126. package/src/core/hooks/index.ts +1 -0
  127. package/src/core/hooks/use-is-truncated.ts +20 -0
  128. package/src/core/hooks/use-tabs.ts +40 -21
  129. package/src/core/types/hooks.ts +1 -1
  130. package/src/core/types/l10n.ts +7 -0
  131. package/src/core/types/tooltip.ts +1 -0
  132. package/src/core/utils/custom-catalog-options-casing.ts +29 -0
  133. package/src/core/utils/index.ts +1 -0
  134. package/src/index.ts +1 -0
  135. package/src/markdoc/components/MarkdocExample/MarkdocExample.tsx +2 -6
  136. package/src/markdoc/components/Tabs/Tabs.tsx +4 -37
@@ -9,9 +9,9 @@ exports.catalog = (0, styled_components_1.css) `
9
9
  * @tokens Catalog page
10
10
  */
11
11
  --catalog-page-padding-vertical: var(--spacing-xl);
12
- --catalog-page-padding-horizontal: var(--spacing-xxl);
12
+ --catalog-page-padding-horizontal: var(--spacing-xl);
13
13
  --catalog-page-padding: var(--catalog-page-padding-vertical) var(--catalog-page-padding-horizontal);
14
- --catalog-page-content-height: calc(100vh - var(--navbar-height) - var(--spacing-lg) * 2);
14
+ --catalog-page-padding-mobile: var(--catalog-page-padding-vertical) var(--spacing-base);
15
15
 
16
16
  --catalog-filter-padding-vertical-mobile: 0;
17
17
  --catalog-filter-padding-horizontal-mobile: var(--spacing-base);
@@ -31,9 +31,8 @@ exports.catalog = (0, styled_components_1.css) `
31
31
  /**
32
32
  * @tokens Catalog page content
33
33
  */
34
- --catalog-page-content-width-mobile: 90%;
35
- --catalog-page-content-width-desktop: 100%;
36
- --catalog-page-content-margin-mobile: 0 auto;
34
+ --catalog-page-content-width: 100%;
35
+ --catalog-page-content-margin: 0 auto;
37
36
 
38
37
  /**
39
38
  * @tokens Catalog page title
@@ -50,7 +49,7 @@ exports.catalog = (0, styled_components_1.css) `
50
49
  --catalog-description-text-color: var(--text-color-secondary);
51
50
  --catalog-description-font-weight: var(--font-weight-regular);
52
51
  --catalog-description-font-size: var(--font-size-lg);
53
- --catalog-description-margin: 0 0 var(--spacing-sm) 0;
52
+ --catalog-description-margin: 0 0 var(--spacing-xl) 0;
54
53
  --catalog-description-line-height: var(--line-height-lg);
55
54
 
56
55
  /**
@@ -82,14 +81,12 @@ exports.catalog = (0, styled_components_1.css) `
82
81
  /**
83
82
  * @tokens Catalog selector
84
83
  */
85
- --catalog-select-wrapper-margin-top: var(--spacing-xxs);
86
- --catalog-select-label-margin-bottom: var(--spacing-xxs);
87
- --catalog-select-label-font-weight: var(--filter-title-font-weight);
88
- --catalog-select-label-font-size: var(--filter-title-font-size);
89
- --catalog-select-label-line-height: var(--filter-title-line-height);
90
84
  --catalog-select-border-radius: var(--filter-input-border-radius);
91
- --catalog-select-input-padding: var(--select-input-padding-vertical) var(--spacing-sm);
92
85
  --catalog-select-icon-color: var(--input-t-icon-color);
86
+ --catalog-select-accordion-header-padding: 12px 16px 8px 16px;
87
+ --catalog-select-accordion-body-padding: 0px 16px 12px 16px;
88
+ --catalog-select-select-line-height: 1.15em;
89
+ --catalog-select-select-input-padding: 8px 12px;
93
90
 
94
91
  /**
95
92
  * @tokens Catalog highlight
@@ -97,6 +94,18 @@ exports.catalog = (0, styled_components_1.css) `
97
94
  --catalog-highlight-bg-color: var(--search-highlight-bg-color);
98
95
  --catalog-highlight-text-color: var(--search-highlight-text-color);
99
96
 
97
+ /**
98
+ * @tokens Catalog entity
99
+ */
100
+
101
+ --catalog-entity-max-width: 1072px;
102
+ --catalog-spacing-large: calc(var(--spacing-unit) * 16);
103
+ --catalog-entity-padding: var(--spacing-xl) var(--catalog-spacing-large);
104
+ --catalog-entity-padding-large: var(--spacing-lg) var(--catalog-spacing-large);
105
+ --catalog-entity-padding-medium: var(--spacing-lg) var(--spacing-xl);
106
+ --catalog-entity-padding-small: var(--spacing-lg) var(--spacing-base);
107
+ --catalog-entity-margin: 0 auto;
108
+
100
109
  /**
101
110
  * @tokens Catalog entity icon
102
111
  */
@@ -139,10 +148,12 @@ exports.catalog = (0, styled_components_1.css) `
139
148
  /**
140
149
  * @tokens Catalog tags
141
150
  */
142
- --catalog-tags-wrapper-gap: var(--spacing-xs) calc(var(--spacing-xs) - 5px);
143
151
  --catalog-tags-more-button-font-size: var(--font-size-base);
144
152
  --catalog-tags-more-button-margin-left: 4px;
145
153
  --catalog-tags-placeholder-bg-color: var(--bg-color);
154
+ --catalog-tags-not-connected-font-size: var(--font-size-base);
155
+ --catalog-tags-not-connected-line-height: var(--line-height-base);
156
+ --catalog-tags-not-connected-color: var(--text-color-disabled);
146
157
 
147
158
  /**
148
159
  * @tokens Catalog empty state
@@ -155,7 +166,12 @@ exports.catalog = (0, styled_components_1.css) `
155
166
  */
156
167
  --catalog-actions-row-margin-bottom: var(--spacing-xl);
157
168
  --catalog-controls-wrapper-gap: var(--spacing-sm);
169
+
170
+ /**
171
+ * @tokens Catalog filter
172
+ */
158
173
  --catalog-filter-input-width: 360px;
174
+ --catalog-filter-content-header-padding: var(--spacing-base) var(--spacing-base) var(--spacing-sm) var(--spacing-base);
159
175
 
160
176
  /**
161
177
  * @tokens Catalog search input wrapper
@@ -188,17 +204,10 @@ exports.catalog = (0, styled_components_1.css) `
188
204
  --catalog-sidebar-display-desktop: flex;
189
205
  --catalog-sidebar-menu-container-padding-top: 0;
190
206
 
191
- /**
192
- * @tokens Catalog page description responsive
193
- */
194
- --catalog-page-description-display-mobile: none;
195
- --catalog-page-description-display-desktop: block;
196
-
197
207
  /**
198
208
  * @tokens Catalog card
199
209
  */
200
210
  --catalog-card-height: 241px;
201
- --catalog-card-min-width: 400px;
202
211
  --catalog-card-padding-vertical: var(--spacing-base);
203
212
  --catalog-card-padding-horizontal: var(--spacing-md);
204
213
  --catalog-card-gap: var(--spacing-sm);
@@ -213,7 +222,7 @@ exports.catalog = (0, styled_components_1.css) `
213
222
  --catalog-card-border-color-hover: var(--border-color-primary);
214
223
  --catalog-card-border-radius: var(--border-radius-lg);
215
224
  --catalog-cards-group-margin: 0 0 var(--spacing-base) 0;
216
- --catalog-cards-group-gap: var(--spacing-xl);
225
+ --catalog-cards-group-gap: var(--spacing-lg);
217
226
 
218
227
  /**
219
228
  * @tokens Catalog card icon
@@ -233,7 +242,7 @@ exports.catalog = (0, styled_components_1.css) `
233
242
  --catalog-metadata-section-gap: var(--spacing-xs);
234
243
  --catalog-metadata-label-font-size: var(--font-size-base);
235
244
  --catalog-metadata-label-font-weight: var(--font-weight-medium);
236
- --catalog-metadata-label-color: var(--text-color-secondary);
245
+ --catalog-metadata-label-color: var(--text-color-description);
237
246
  --catalog-metadata-column-half-gap: var(--spacing-sm);
238
247
  --catalog-metadata-heading-size: var(--font-size-md);
239
248
 
@@ -256,10 +265,20 @@ exports.catalog = (0, styled_components_1.css) `
256
265
  */
257
266
  --catalog-card-title-color: var(--text-color-primary);
258
267
  --catalog-card-title-min-height: var(--spacing-xxl);
259
- --catalog-card-title-font-size: var(--font-size-lg);
260
- --catalog-card-title-font-weight: var(--font-weight-bold);
261
- --catalog-card-title-line-height: var(--line-height-lg);
262
- --catalog-card-title-line-clamp: 2;
268
+ --catalog-card-title-font-size: var(--font-size-xl);
269
+ --catalog-card-title-font-weight: var(--font-weight-medium);
270
+ --catalog-card-title-line-height: var(--line-height-xl);
271
+ --catalog-card-title-height: 34px;
272
+ --catalog-card-title-display: flex;
273
+ --catalog-card-title-align-items: center;
274
+ --catalog-card-title-margin-bottom: 2px;
275
+
276
+ /**
277
+ * @tokens Catalog card summary
278
+ */
279
+ --catalog-card-summary-font-size: var(--font-size-base);
280
+ --catalog-card-summary-font-weight: var(--font-weight-regular);
281
+ --catalog-card-summary-line-height: var(--line-height-base);
263
282
 
264
283
  /**
265
284
  * @tokens Catalog card footer
@@ -296,11 +315,17 @@ exports.catalog = (0, styled_components_1.css) `
296
315
  --catalog-page-badge-dot-size: 6px;
297
316
  --catalog-page-badge-dot-border-color: var(--color-static-white);
298
317
 
318
+ /**
319
+ * @tokens Catalog card metadata
320
+ */
321
+ --catalog-card-metadata-owner-tag-left-padding: 2px;
322
+
323
+
299
324
  /**
300
325
  * @tokens Catalog table
301
326
  */
302
- --catalog-table-border-color: var(--border-color-primary);
303
- --catalog-table-header-bg-color: var(--bg-color-secondary);
327
+ --catalog-table-border-color: var(--border-color-secondary);
328
+ --catalog-table-header-bg-color: var(--layer-color);
304
329
  --catalog-table-header-font-weight: var(--font-weight-medium);
305
330
  --catalog-table-header-cell-padding: 4px 8px;
306
331
  --catalog-table-cell-padding: 4px 8px;
@@ -331,7 +356,7 @@ exports.catalog = (0, styled_components_1.css) `
331
356
  /**
332
357
  * @tokens Catalog table entity title
333
358
  */
334
- --catalog-table-entity-title-font-size: var(--catalog-card-title-font-size);
359
+ --catalog-table-entity-title-font-size: var(--font-size-lg);
335
360
  --catalog-table-entity-title-line-height: var(--line-height-lg);
336
361
  --catalog-table-entity-title-font-weight: var(--font-weight-medium);
337
362
 
@@ -392,16 +417,27 @@ exports.catalog = (0, styled_components_1.css) `
392
417
  --catalog-empty-state-font-size: var(--font-size-base);
393
418
  --catalog-empty-state-line-height: var(--line-height-base);
394
419
 
420
+ /**
421
+ * @tokens Catalog avatar
422
+ */
395
423
  --catalog-avatar-bg-color: #ededf2;
424
+ --catalog-avatar-small-size: 20px;
425
+ --catalog-avatar-medium-size: 32px;
426
+ --catalog-avatar-large-size: 40px;
427
+ --catalog-avatar-font-size-small: 10px;
428
+ --catalog-avatar-font-size-medium: var(--font-size-base);
429
+ --catalog-avatar-font-size-large: var(--font-size-lg);
430
+ --catalog-avatar-font-weight: var(--font-weight-regular);
431
+ --catalog-avatar-line-height: var(--line-height-base);
396
432
  // @tokens End
397
433
 
398
434
  /**
399
435
  * @tokens Catalog entity relations node
400
436
  */
401
- --catalog-entity-relations-node-padding-vertical: 10px;
402
- --catalog-entity-relations-node-padding-horizontal: 14px;
437
+ --catalog-entity-relations-node-padding-vertical: 8px;
438
+ --catalog-entity-relations-node-padding-horizontal: 12px;
403
439
  --catalog-entity-relations-node-padding: var(--catalog-entity-relations-node-padding-vertical) var(--catalog-entity-relations-node-padding-horizontal);
404
- --catalog-entity-relations-node-gap: 8px;
440
+ --catalog-entity-relations-node-gap: 4px;
405
441
  --catalog-entity-relations-node-border-radius: 10px;
406
442
 
407
443
  --catalog-entity-relations-node-bg-color: var(--layer-color);
@@ -412,7 +448,6 @@ exports.catalog = (0, styled_components_1.css) `
412
448
  --catalog-entity-relations-node-border-style: var(--border-style);
413
449
 
414
450
  --catalog-entity-relations-node-font-weight: var(--font-weight-regular);
415
- --catalog-entity-relations-node-font-weight-root: 600;
416
451
 
417
452
  --catalog-entity-relations-node-root-bg-color: var(--color-blue-6);
418
453
  --catalog-entity-relations-node-root-text-color: var(--color-static-white);
@@ -440,14 +475,17 @@ exports.catalog = (0, styled_components_1.css) `
440
475
  /**
441
476
  * @tokens Catalog history button
442
477
  */
478
+ --catalog-history-button-width: 252px;
479
+ --catalog-history-button-item-width: 244px;
443
480
  --catalog-history-separator-border-color: var(--border-color-secondary);
444
481
  --catalog-history-separator-margin-bottom: var(--spacing-sm);
445
482
  --catalog-history-item-padding: var(--spacing-xxs);
446
483
  --catalog-history-item-margin-bottom: calc(var(--spacing-xxs) * -1);
447
- --catalog-history-item-gap: var(--spacing-xxs);
484
+ --catalog-history-item-gap: var(--spacing-xs);
448
485
  --catalog-history-item-border-radius: var(--menu-item-label-border-radius);
449
486
  --catalog-history-item-bg-color-hover: var(--menu-item-bg-color-hover);
450
487
  --catalog-history-icon-size: 16px;
488
+ --catalog-history-content-max-width: 212px;
451
489
  --catalog-history-text-font-family: var(--font-family-base);
452
490
  --catalog-history-text-font-size: var(--font-size-base);
453
491
  --catalog-history-text-font-weight: var(--font-weight-regular);
@@ -458,12 +496,15 @@ exports.catalog = (0, styled_components_1.css) `
458
496
  --catalog-history-pill-padding-horizontal: var(--spacing-xs);
459
497
  --catalog-history-pill-border-color: var(--border-color-primary);
460
498
  --catalog-history-pill-border-radius: 12px;
461
- --catalog-history-pill-icon-size: 14px;
499
+ --catalog-history-pill-icon-size: 16px;
462
500
  --catalog-history-pill-icon-color: var(--color-green-8);
463
501
  --catalog-history-pill-font-family: var(--font-family-base);
464
502
  --catalog-history-pill-font-size: var(--font-size-base);
465
503
  --catalog-history-pill-line-height: var(--line-height-base);
466
504
  --catalog-history-pill-text-color: var(--text-color-primary);
505
+ --catalog-history-pill-min-width: calc(100% - 118px - var(--catalog-history-item-gap));
506
+
507
+
467
508
  // @tokens End
468
509
 
469
510
  /**
@@ -476,7 +517,7 @@ exports.catalog = (0, styled_components_1.css) `
476
517
  --catalog-history-sidebar-header-padding: var(--spacing-base) var(--spacing-sm) var(--spacing-base);
477
518
  --catalog-history-sidebar-header-font-family: var(--font-family-base);
478
519
  --catalog-history-sidebar-header-font-size: var(--font-size-base);
479
- --catalog-history-sidebar-header-font-weight: var(--font-weight-semibold);
520
+ --catalog-history-sidebar-header-font-weight: var(--font-weight-regular);
480
521
  --catalog-history-sidebar-header-line-height: var(--line-height-base);
481
522
  --catalog-history-sidebar-header-letter-spacing: 0;
482
523
  --catalog-history-sidebar-header-color: var(--text-color-primary);
@@ -513,6 +554,7 @@ exports.catalog = (0, styled_components_1.css) `
513
554
  --catalog-history-sidebar-version-date-color: var(--color-warm-grey-7);
514
555
 
515
556
  --catalog-history-sidebar-revisions-padding-left: 40px;
557
+ --catalog-history-sidebar-revisions-padding-bottom: var(--spacing-base);
516
558
 
517
559
  --catalog-history-sidebar-revision-item-padding: var(--spacing-xs) var(--spacing-sm);
518
560
  --catalog-history-sidebar-revision-item-border-radius: var(--border-radius-md);
@@ -16,7 +16,7 @@ exports.filter = (0, styled_components_1.css) `
16
16
 
17
17
  --filter-options-padding-vertical: 0;
18
18
  --filter-options-padding-horizontal: 0;
19
- --filter-options-gap: var(--spacing-sm);
19
+ --filter-options-gap: var(--spacing-xs);
20
20
  --filter-options-max-height: 350px;
21
21
 
22
22
  --filter-option-font-size: var(--font-size-base);
@@ -14,5 +14,6 @@ function LoadMore({ icon, onClick, disabled, blinking, label, }) {
14
14
  const LoadMoreWrapper = styled_components_1.default.div `
15
15
  display: flex;
16
16
  justify-content: center;
17
+ margin-top: var(--spacing-xs);
17
18
  `;
18
19
  //# sourceMappingURL=LoadMore.js.map
@@ -100,7 +100,7 @@ function MenuItem(props) {
100
100
  item.sublabel ? (react_1.default.createElement(MenuItemSubLabel, null, translate(item.subLabelTranslationKey, item.sublabel))) : null),
101
101
  isDrilldown ? react_1.default.createElement(ArrowRightIcon_1.ArrowRightIcon, { size: "12px" }) : null,
102
102
  hasHttpTag ? (react_1.default.createElement(HttpTag_1.HttpTag, { color: httpColor || '' }, item.httpVerb === 'hook' ? 'event' : item.httpVerb)) : null));
103
- return (react_1.default.createElement(MenuItemWrapper, { "data-component-name": "Menu/MenuItem", className: generateClassName({ type, item, className }) },
103
+ return (react_1.default.createElement(MenuItemWrapper, { "data-component-name": "Menu/MenuItem", className: generateClassName({ type, item, className }), role: "listitem" },
104
104
  item.link ? (react_1.default.createElement(MenuItemLink, { to: item.link, external: item.external, target: item.target, languageInsensitive: item.languageInsensitive, onKeyDown: handleExpandOnEnter }, label)) : (label),
105
105
  isNested ? (react_1.default.createElement(MenuItemNestedWrapper, { depth: depth, ref: nestedMenuRef, style: style }, isExpanded || !canUnmount ? props.children : null)) : null,
106
106
  item.separatorLine ? (react_1.default.createElement(MenuItemSeparatorLine, { depth: depth, linePosition: item.linePosition })) : null));
@@ -126,8 +126,7 @@ const StyledDropdownMenuItem = (0, styled_components_1.default)(DropdownMenuItem
126
126
  & > a {
127
127
  display: inline-block;
128
128
  width: 100%;
129
- padding: var(--dropdown-menu-item-padding-vertical)
130
- var(--dropdown-menu-item-padding-horizontal);
129
+ padding: var(--dropdown-menu-item-padding-vertical) var(--dropdown-menu-item-padding-horizontal);
131
130
  }
132
131
  }
133
132
  `;
@@ -73,7 +73,7 @@ function SearchDialog({ onClose, className, initialMode = 'search', }) {
73
73
  const { query, setQuery, filter, setFilter, items, isSearchLoading, facets, setLoadMore, advancedSearch, askAi, groupField, } = useSearch(product === null || product === void 0 ? void 0 : product.name, autoSearchDisabled);
74
74
  const { isFilterOpen, onFilterToggle, onFilterChange, onFilterReset, onFacetReset, onQuickFilterReset, } = (0, hooks_1.useSearchFilter)(filter, setFilter);
75
75
  const { addSearchHistoryItem } = (0, hooks_1.useRecentSearches)();
76
- const aiSearch = useAiSearch({ filter });
76
+ const aiSearch = useAiSearch({ filter: filter, product: product === null || product === void 0 ? void 0 : product.name });
77
77
  (0, hooks_1.useModalScrollLock)(true);
78
78
  const searchInputRef = (0, react_1.useRef)(null);
79
79
  const modalRef = (0, react_1.useRef)(null);
@@ -30,7 +30,7 @@ const SidebarActions = ({ layout, hideCollapseSidebarButton = false, collapsedSi
30
30
  else {
31
31
  telemetry.sendSidebarItemCollapsedMessage();
32
32
  }
33
- }, size: "small", variant: "outlined", icon: collapsedSidebar ? react_1.default.createElement(SidePanelOpenIcon_1.SidePanelOpenIcon, null) : react_1.default.createElement(SidePanelCloseIcon_1.SidePanelCloseIcon, null) }))),
33
+ }, size: "small", variant: "outlined", "aria-label": collapsedSidebar ? 'Show sidebar' : 'Hide sidebar', icon: collapsedSidebar ? react_1.default.createElement(SidePanelOpenIcon_1.SidePanelOpenIcon, null) : react_1.default.createElement(SidePanelCloseIcon_1.SidePanelCloseIcon, null) }))),
34
34
  isApiDocs && (react_1.default.createElement(styled_1.ControlsWrapChangeLayoutButtons, { isCollapsed: collapsedSidebar },
35
35
  react_1.default.createElement(ChangeViewButton_1.ChangeViewButton, { collapsedSidebar: collapsedSidebar, layout: layout, onClick: () => {
36
36
  onChangeViewClick();
@@ -38,7 +38,7 @@ const react_1 = __importStar(require("react"));
38
38
  const styled_components_1 = __importStar(require("styled-components"));
39
39
  const hooks_1 = require("../../core/hooks");
40
40
  const Portal_1 = require("../../components/Portal/Portal");
41
- function TooltipComponent({ children, isOpen, tip, withArrow = true, placement = 'top', className = 'default', width, dataTestId, disabled = false, arrowPosition = 'center', }) {
41
+ function TooltipComponent({ children, isOpen, tip, withArrow = true, placement = 'top', className = 'default', width, dataTestId, disabled = false, arrowPosition = 'center', onClick, }) {
42
42
  const tooltipWrapperRef = (0, react_1.useRef)(null);
43
43
  const tooltipBodyRef = (0, react_1.useRef)(null);
44
44
  const { isOpened, handleOpen, handleClose } = (0, hooks_1.useControl)(isOpen);
@@ -59,7 +59,10 @@ function TooltipComponent({ children, isOpen, tip, withArrow = true, placement =
59
59
  ? {
60
60
  onMouseEnter: handleOpen,
61
61
  onMouseLeave: handleClose,
62
- onClick: handleClose,
62
+ onClick: (e) => {
63
+ onClick === null || onClick === void 0 ? void 0 : onClick(e);
64
+ handleClose();
65
+ },
63
66
  onFocus: handleOpen,
64
67
  onBlur: handleClose,
65
68
  }
@@ -38,7 +38,7 @@ const react_1 = __importStar(require("react"));
38
38
  const styled_components_1 = __importStar(require("styled-components"));
39
39
  const hooks_1 = require("../../core/hooks");
40
40
  const Portal_1 = require("../../components/Portal/Portal");
41
- function TooltipComponent({ children, isOpen, tip, withArrow = true, placement = 'top', className = 'default', width, dataTestId, disabled = false, arrowPosition = 'center', }) {
41
+ function TooltipComponent({ children, isOpen, tip, withArrow = true, placement = 'top', className = 'default', width, dataTestId, disabled = false, arrowPosition = 'center', onClick, }) {
42
42
  const ref = (0, react_1.useRef)(null);
43
43
  const { isOpened, handleOpen, handleClose } = (0, hooks_1.useControl)(isOpen);
44
44
  const [tooltipPosition, setTooltipPosition] = (0, react_1.useState)({ top: 0, left: 0 });
@@ -111,7 +111,10 @@ function TooltipComponent({ children, isOpen, tip, withArrow = true, placement =
111
111
  !disabled && {
112
112
  onMouseEnter: handleOpen,
113
113
  onMouseLeave: handleClose,
114
- onClick: handleClose,
114
+ onClick: (e) => {
115
+ onClick === null || onClick === void 0 ? void 0 : onClick(e);
116
+ handleClose();
117
+ },
115
118
  onFocus: handleOpen,
116
119
  onBlur: handleClose,
117
120
  };
@@ -85,9 +85,7 @@ const StyledDropdown = (0, styled_components_1.default)(Dropdown_1.Dropdown).att
85
85
  --dropdown-menu-item-bg-color-active: var(--user-menu-dropdown-item-bg-color-active);
86
86
  --dropdown-menu-item-bg-color-hover: var(--user-menu-dropdown-item-bg-color-hover);
87
87
  --dropdown-menu-item-bg-color-disabled: var(--user-menu-dropdown-item-bg-color-disabled);
88
- --dropdown-menu-item-separator-border-color: var(
89
- --user-menu-dropdown-item-separator-border-color
90
- );
88
+ --dropdown-menu-item-separator-border-color: var(--user-menu-dropdown-item-separator-border-color);
91
89
  --dropdown-menu-item-color-dangerous: var(--user-menu-dropdown-item-color-dangerous);
92
90
  --dropdown-menu-item-color-disabled: var(--user-menu-dropdown-item-color-disabled);
93
91
  --dropdown-menu-item-color-active: var(--user-menu-dropdown-item-color-active);
@@ -49,3 +49,4 @@ export * from './catalog/use-catalog-entity-details';
49
49
  export * from './catalog/use-catalog-entity-schema';
50
50
  export * from './catalog/use-catalog-table-header-cell-actions';
51
51
  export * from './use-store';
52
+ export * from './use-is-truncated';
@@ -65,4 +65,5 @@ __exportStar(require("./catalog/use-catalog-entity-details"), exports);
65
65
  __exportStar(require("./catalog/use-catalog-entity-schema"), exports);
66
66
  __exportStar(require("./catalog/use-catalog-table-header-cell-actions"), exports);
67
67
  __exportStar(require("./use-store"), exports);
68
+ __exportStar(require("./use-is-truncated"), exports);
68
69
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ export declare function useIsTruncated<T extends HTMLElement>(content: string | null): [React.RefObject<T | null>, boolean];
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useIsTruncated = useIsTruncated;
4
+ const react_1 = require("react");
5
+ function useIsTruncated(content) {
6
+ const ref = (0, react_1.useRef)(null);
7
+ const [isTruncated, setIsTruncated] = (0, react_1.useState)(false);
8
+ (0, react_1.useLayoutEffect)(() => {
9
+ const el = ref.current;
10
+ if (!el) {
11
+ setIsTruncated(false);
12
+ }
13
+ else {
14
+ setIsTruncated(el.scrollWidth > el.clientWidth);
15
+ }
16
+ }, [content]);
17
+ return [ref, isTruncated];
18
+ }
19
+ //# sourceMappingURL=use-is-truncated.js.map
@@ -19,6 +19,6 @@ type UseActiveTabProps = {
19
19
  export declare function useTabs({ activeTab, onTabChange, totalTabs, containerRef, }: UseTabsProps): UseTabsReturn;
20
20
  export declare const useActiveTab: ({ initialTab, tabsId }: UseActiveTabProps) => {
21
21
  activeTab: string;
22
- setActiveTab: import("react").Dispatch<import("react").SetStateAction<string>>;
22
+ setActiveTab: import("react").Dispatch<import("react").SetStateAction<string | undefined>>;
23
23
  };
24
24
  export {};
@@ -215,33 +215,46 @@ function useTabs({ activeTab, onTabChange, totalTabs, containerRef, }) {
215
215
  };
216
216
  }
217
217
  const useActiveTab = ({ initialTab, tabsId }) => {
218
- const [searchParams, setSearchParams] = (0, react_router_dom_1.useSearchParams)();
219
- const initialTabValue = (0, react_1.useMemo)(() => getInitialTab({ initialTab, searchParams, tabsId }),
220
- // eslint-disable-next-line react-hooks/exhaustive-deps
221
- []);
222
- const [activeTab, setActiveTab] = (0, react_1.useState)(initialTabValue);
223
- const prevActiveTabRef = (0, react_1.useRef)(activeTab);
218
+ const location = (0, react_router_dom_1.useLocation)();
219
+ const navigate = (0, react_router_dom_1.useNavigate)();
220
+ const [activeTab, setActiveTab] = (0, react_1.useState)(undefined);
221
+ const resolvedActiveTab = activeTab !== null && activeTab !== void 0 ? activeTab : initialTab;
222
+ const prevActiveTabRef = (0, react_1.useRef)(resolvedActiveTab);
224
223
  (0, react_1.useEffect)(() => {
225
- const hasActiveTabChanged = prevActiveTabRef.current !== activeTab;
224
+ if (activeTab !== undefined) {
225
+ return;
226
+ }
227
+ setActiveTab(getInitialTab({ initialTab, hash: location.hash, tabsId }));
228
+ }, [activeTab, initialTab, location.hash, tabsId]);
229
+ (0, react_1.useEffect)(() => {
230
+ const hasActiveTabChanged = prevActiveTabRef.current !== resolvedActiveTab;
226
231
  if (!tabsId || !hasActiveTabChanged) {
227
232
  return;
228
233
  }
229
- prevActiveTabRef.current = activeTab;
230
- setSearchParams((searchParams) => {
231
- searchParams.set(tabsId, activeTab);
232
- return searchParams;
233
- });
234
- }, [activeTab, setSearchParams, tabsId]);
234
+ prevActiveTabRef.current = resolvedActiveTab;
235
+ const nextHashParams = new URLSearchParams(location.hash.startsWith('#') ? location.hash.slice(1) : location.hash);
236
+ nextHashParams.set(tabsId, resolvedActiveTab);
237
+ const nextHash = `#${nextHashParams.toString()}`;
238
+ if (nextHash === location.hash) {
239
+ return;
240
+ }
241
+ navigate({
242
+ pathname: location.pathname,
243
+ search: location.search,
244
+ hash: nextHash,
245
+ }, { replace: true });
246
+ }, [resolvedActiveTab, navigate, location.pathname, location.search, location.hash, tabsId]);
235
247
  return (0, react_1.useMemo)(() => ({
236
- activeTab,
248
+ activeTab: resolvedActiveTab,
237
249
  setActiveTab,
238
- }), [activeTab]);
250
+ }), [resolvedActiveTab]);
239
251
  };
240
252
  exports.useActiveTab = useActiveTab;
241
- const getInitialTab = ({ initialTab, searchParams, tabsId }) => {
253
+ const getInitialTab = ({ initialTab, hash, tabsId }) => {
254
+ const hashParams = new URLSearchParams(hash.startsWith('#') ? hash.slice(1) : hash);
242
255
  let resultTab = initialTab;
243
256
  if (tabsId) {
244
- const tabFromUrl = searchParams.get(tabsId);
257
+ const tabFromUrl = hashParams.get(tabsId);
245
258
  resultTab = tabFromUrl ? tabFromUrl : resultTab;
246
259
  }
247
260
  return resultTab;
@@ -86,6 +86,7 @@ export type ThemeHooks = {
86
86
  };
87
87
  useAiSearch: (options?: {
88
88
  filter?: SearchFilterItem[];
89
+ product?: string;
89
90
  }) => {
90
91
  askQuestion: (question: string, history?: AiSearchConversationItem[]) => void;
91
92
  isGeneratingResponse: boolean;
@@ -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' | 'search.loading' | 'search.noResults.title' | 'search.keys.navigate' | 'search.keys.select' | 'search.keys.exit' | 'search.label' | 'search.cancel' | 'search.recent' | 'search.navbar.label' | 'search.suggested' | 'search.showMore' | 'search.filter.title' | 'search.filter.reset' | 'search.filter.field.reset' | 'search.ai.welcomeText' | 'search.ai.newConversation' | 'search.ai.backToSearch' | 'search.ai.back' | 'search.ai.assistant' | 'search.ai.placeholder' | 'search.ai.generatingResponse' | 'search.ai.followUpQuestion' | 'search.ai.suggestionsTitle' | 'search.ai.thinkingText' | 'search.ai.resourcesFound' | 'search.ai.resourcesFound.basedOn' | 'search.ai.resourcesFound.resources' | 'search.ai.feedback.title' | 'search.ai.feedback.detailsPlaceholder' | 'search.ai.feedback.thanks' | 'search.ai.toolResult.found' | 'search.ai.toolResult.found.documents' | 'search.ai.toolCall.searching' | 'search.ai.button' | 'search.ai.label' | 'search.ai.disclaimer' | 'search.ai.error.description' | 'search.ai.error.description.forbidden' | 'search.ai.error.description.unauthorized' | 'search.ai.error.header' | 'search.ai.error.header.forbidden' | 'search.ai.error.header.unauthorized' | 'search.ai.feedback.more' | 'search.searchItem.deprecated' | 'search.groups.all' | 'search.filter.field.footer' | 'aiAssistant.trigger' | 'toc.header' | 'footer.copyrightText' | 'page.homeButton' | 'page.forbidden.title' | 'page.forbidden.description' | 'page.notFound.title' | 'page.notFound.description' | 'page.lastUpdated.timeago' | 'page.lastUpdated.on' | 'catalog.filters.placeholder' | 'catalog.filters.title' | 'catalog.filters.add' | 'catalog.filters.clearAll' | 'catalog.filters.select.addFilter' | 'catalog.filters.select.all' | 'catalog.filters.done' | 'catalog.catalogs.all.title' | 'catalog.catalogs.all.description' | 'catalog.catalogs.all.switcherLabel' | 'catalog.catalogs.service.title' | 'catalog.catalogs.service.description' | 'catalog.catalogs.service.switcherLabel' | 'catalog.catalogs.user.title' | 'catalog.catalogs.user.description' | 'catalog.catalogs.user.switcherLabel' | 'catalog.catalogs.team.title' | 'catalog.catalogs.team.description' | 'catalog.catalogs.team.switcherLabel' | 'catalog.catalogs.domain.title' | 'catalog.catalogs.domain.description' | 'catalog.catalogs.domain.switcherLabel' | 'catalog.catalogs.apiDescription.title' | 'catalog.catalogs.apiDescription.description' | 'catalog.catalogs.apiDescription.switcherLabel' | 'catalog.catalogs.dataSchema.title' | 'catalog.catalogs.dataSchema.description' | 'catalog.catalogs.dataSchema.switcherLabel' | 'catalog.catalogs.apiOperation.title' | 'catalog.catalogs.apiOperation.description' | 'catalog.catalogs.apiOperation.switcherLabel' | 'catalog.entity.metadata.title' | 'catalog.entity.schema.title' | 'catalog.entity.properties.apiDescription.title' | 'catalog.backToAllLabel' | 'catalog.tags.more' | 'catalog.tags.label' | 'catalog.sort' | 'catalog.catalogs.label' | 'catalog.owners.label' | 'catalog.repositories.label' | 'catalog.email.label' | 'catalog.format.label' | 'catalog.entityType.label' | 'catalog.domains.label' | 'catalog.contact.label' | 'catalog.methodAndPath.label' | 'catalog.links.label' | 'catalog.metadata.domains' | 'catalog.metadata.owners' | 'catalog.history.button.label' | 'catalog.history.sidebar.title' | 'catalog.history.sidebar.close' | 'catalog.history.version.label' | 'catalog.history.version.notSpecified' | 'catalog.history.version.default' | 'catalog.history.revisions.limitMessage' | 'catalog.history.revision.current' | 'catalog.history.revisions.showLess' | 'catalog.history.revisions.showMore' | 'sidebar.menu.backLabel' | 'sidebar.menu.backToLabel' | 'sidebar.actions.show' | 'sidebar.actions.hide' | 'sidebar.actions.changeToSingleColumn' | 'sidebar.actions.changeToTwoColumns' | 'sidebar.actions.singleColumn' | 'sidebar.actions.twoColumns' | 'versionPicker.label' | 'versionPicker.unversioned' | 'codeSnippet.copy.buttonText' | 'codeSnippet.copy.tooltipText' | 'codeSnippet.copy.toasterText' | 'markdown.editPage.text' | 'feedback.settings.comment.submitText' | 'feedback.settings.comment.label' | 'feedback.settings.comment.send' | 'feedback.settings.comment.cancel' | 'feedback.settings.comment.maxLength' | 'feedback.settings.comment.satisfiedLabel' | 'feedback.settings.comment.neutralLabel' | 'feedback.settings.comment.dissatisfiedLabel' | 'feedback.settings.submitText' | 'feedback.settings.label' | 'feedback.settings.reasons.label' | 'feedback.submit' | 'feedback.cancel' | 'feedback.settings.comment.likeLabel' | 'feedback.settings.comment.dislikeLabel' | 'feedback.sentiment.thumbUp' | 'feedback.sentiment.thumbDown' | 'feedback.settings.leftScaleLabel' | 'feedback.settings.rightScaleLabel' | 'feedback.settings.optionalEmail.placeholder' | 'feedback.settings.optionalEmail.label' | 'codeSnippet.report.buttonText' | 'codeSnippet.report.tooltipText' | 'codeSnippet.report.label' | 'codeSnippet.expand.tooltipText' | 'codeSnippet.collapse.tooltipText' | 'userMenu.login' | 'userMenu.logout' | 'userMenu.devOnboardingLabel' | 'mobileMenu.mainMenu' | 'mobileMenu.previous' | 'mobileMenu.products' | 'mobileMenu.version' | 'navbar.products' | 'page.nextButton' | 'page.previousButton' | 'page.actions.copyButtonText' | 'page.actions.copyTitle' | 'page.actions.copyDescription' | 'page.actions.viewAsMdTitle' | 'page.actions.viewAsMdButtonText' | 'page.actions.viewAsMdDescription' | 'page.actions.chatGptTitle' | 'page.actions.chatGptButtonText' | 'page.actions.chatGptDescription' | 'page.actions.claudeTitle' | 'page.actions.claudeButtonText' | 'page.actions.claudeDescription' | 'page.actions.cursorMcpButtonText' | 'page.actions.cursorMcpTitle' | 'page.actions.cursorMcpDescription' | 'page.actions.connectMcp' | 'page.actions.connectMcp.cursor' | 'page.actions.connectMcp.cursorDescription' | 'page.actions.connectMcp.vscode' | 'page.actions.connectMcp.vscodeDescription' | 'page.actions.connectMcp.copyConfig' | 'page.actions.connectMcp.copyConfigDescription' | 'openapi.download.description.title' | 'openapi.info.title' | 'openapi.info.contact.url' | 'openapi.info.contact.name' | 'openapi.info.license' | 'openapi.info.termsOfService' | 'openapi.info.metadata.title' | 'openapi.key' | 'openapi.value' | 'openapi.enum' | 'openapi.items' | 'openapi.default' | 'openapi.variable' | 'openapi.variables' | 'openapi.actions.show' | 'openapi.actions.hide' | 'openapi.actions.more' | 'openapi.languages.title' | 'openapi.servers.title' | 'openapi.operations' | 'openapi.webhooks' | 'openapi.description' | 'openapi.badges.deprecated' | 'openapi.badges.required' | 'openapi.badges.webhook' | 'openapi.request' | 'openapi.path' | 'openapi.query' | 'openapi.cookie' | 'openapi.header' | 'openapi.body' | 'openapi.responses' | 'openapi.response' | 'openapi.callbacks' | 'openapi.callbackRequest' | 'openapi.callbackResponse' | 'openapi.payload' | 'openapi.discriminator' | 'openapi.contentType' | 'openapi.tryIt' | 'openapi.loading' | 'openapi.example' | 'openapi.examples' | 'openapi.additionalProperties' | 'openapi.patternProperties' | 'openapi.required' | 'openapi.recursive' | 'openapi.complex' | 'openapi.hideExample' | 'openapi.showExample' | 'openapi.expandAll' | 'openapi.collapseAll' | 'openapi.viewSecurityDetails' | 'openapi.noResponseExample' | 'openapi.discriminator.searchPlaceholder' | 'openapi.discriminator.searchNoResults' | 'openapi.discriminator.defaultMapping' | 'openapi.discriminator.defaultMappingTooltip' | 'openapi.noResponseContent' | 'openapi.noRequestPayload' | 'openapi.hidePattern' | 'openapi.showPattern' | 'openapi.authorizationUrl' | 'openapi.tokenUrl' | 'openapi.refreshUrl' | 'openapi.showOptionalScopes' | 'openapi.hideOptionalScopes' | 'openapi.security' | 'openapi.httpAuthorizationScheme' | 'openapi.bearerFormat' | 'openapi.parameterName' | 'openapi.flowType' | 'openapi.connectUrl' | 'openapi.requiredScopes' | 'openapi.unsupportedLanguage' | 'openapi.failedToGenerateCodeSample' | 'openapi.schemaCatalogLink.title' | 'openapi.schemaCatalogLink.copyButtonTooltip' | 'openapi.schemaCatalogLink.copiedTooltip' | 'openapi.mcp.title' | 'openapi.mcp.endpoint' | 'openapi.mcp.tools' | 'openapi.mcp.protocolVersion' | 'openapi.mcp.capabilities' | 'openapi.mcp.experimentalCapabilities' | 'openapi.mcp.inputSchema' | 'openapi.mcp.inputExample' | 'openapi.mcp.outputSchema' | 'openapi.mcp.outputExample' | 'asyncapi.download.description.title' | 'asyncapi.info.title' | 'graphql.download.description.title' | 'graphql.info.title' | 'graphql.info.contact.url' | 'graphql.info.contact.name' | 'graphql.info.license' | 'graphql.info.termsOfService' | 'graphql.overview' | 'graphql.metadata' | 'graphql.key' | 'graphql.value' | 'graphql.queries' | 'graphql.mutations' | 'graphql.subscriptions' | 'graphql.directives' | 'graphql.objects' | 'graphql.interfaces' | 'graphql.unions' | 'graphql.enums' | 'graphql.inputs' | 'graphql.scalars' | 'graphql.arguments.label' | 'graphql.arguments.show' | 'graphql.arguments.hide' | 'graphql.arguments.here' | 'graphql.returnTypes.label' | 'graphql.returnTypes.show' | 'graphql.returnTypes.hide' | 'graphql.possibleTypes' | 'graphql.defaultValue' | 'graphql.deprecationReason' | 'graphql.requiredScopes' | 'graphql.viewSecurityDetails' | 'graphql.objectScopes' | 'graphql.fieldScopes' | 'graphql.implementedInterfaces' | 'graphql.nonNull' | 'graphql.required' | 'graphql.deprecated' | 'graphql.variables' | 'graphql.querySample' | 'graphql.mutationSample' | 'graphql.subscriptionSample' | 'graphql.responseSample' | 'graphql.locations' | 'graphql.sample' | 'graphql.referenced' | 'graphql.content.fragment' | 'codeWalkthrough.download' | 'codeWalkthrough.preview' | 'time.justNow' | 'time.past.second' | 'time.past.seconds' | 'time.past.minute' | 'time.past.minutes' | 'time.past.hour' | 'time.past.hours' | 'time.past.day' | 'time.past.days' | 'time.past.week' | 'time.past.weeks' | 'time.past.month' | 'time.past.months' | 'time.past.year' | 'time.past.years' | 'page.internalServerError.title' | 'page.internalServerError.description' | 'page.skipToContent.label' | 'select.noResults' | 'loaders.loading' | 'filter.dateRange.from' | 'filter.dateRange.to' | 'mermaid.openFullscreen' | 'mermaid.zoomIn' | 'mermaid.zoomOut' | 'mermaid.reset' | 'mermaid.close' | 'mermaid.viewer';
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' | 'search.loading' | 'search.noResults.title' | 'search.keys.navigate' | 'search.keys.select' | 'search.keys.exit' | 'search.label' | 'search.cancel' | 'search.recent' | 'search.navbar.label' | 'search.suggested' | 'search.showMore' | 'search.filter.title' | 'search.filter.reset' | 'search.filter.field.reset' | 'search.ai.welcomeText' | 'search.ai.newConversation' | 'search.ai.backToSearch' | 'search.ai.back' | 'search.ai.assistant' | 'search.ai.placeholder' | 'search.ai.generatingResponse' | 'search.ai.followUpQuestion' | 'search.ai.suggestionsTitle' | 'search.ai.thinkingText' | 'search.ai.resourcesFound' | 'search.ai.resourcesFound.basedOn' | 'search.ai.resourcesFound.resources' | 'search.ai.feedback.title' | 'search.ai.feedback.detailsPlaceholder' | 'search.ai.feedback.thanks' | 'search.ai.toolResult.found' | 'search.ai.toolResult.found.documents' | 'search.ai.toolCall.searching' | 'search.ai.button' | 'search.ai.label' | 'search.ai.disclaimer' | 'search.ai.error.description' | 'search.ai.error.description.forbidden' | 'search.ai.error.description.unauthorized' | 'search.ai.error.header' | 'search.ai.error.header.forbidden' | 'search.ai.error.header.unauthorized' | 'search.ai.feedback.more' | 'search.searchItem.deprecated' | 'search.groups.all' | 'search.filter.field.footer' | 'aiAssistant.trigger' | 'toc.header' | 'footer.copyrightText' | 'page.homeButton' | 'page.forbidden.title' | 'page.forbidden.description' | 'page.notFound.title' | 'page.notFound.description' | 'page.lastUpdated.timeago' | 'page.lastUpdated.on' | 'catalog.filters.placeholder' | 'catalog.filters.title' | 'catalog.filters.add' | 'catalog.filters.clearAll' | 'catalog.filters.select.addFilter' | 'catalog.filters.select.all' | 'catalog.filters.done' | 'catalog.catalogs.all.title' | 'catalog.catalogs.all.description' | 'catalog.catalogs.all.switcherLabel' | 'catalog.catalogs.service.title' | 'catalog.catalogs.service.description' | 'catalog.catalogs.service.switcherLabel' | 'catalog.catalogs.user.title' | 'catalog.catalogs.user.description' | 'catalog.catalogs.user.switcherLabel' | 'catalog.catalogs.team.title' | 'catalog.catalogs.team.description' | 'catalog.catalogs.team.switcherLabel' | 'catalog.catalogs.domain.title' | 'catalog.catalogs.domain.description' | 'catalog.catalogs.domain.switcherLabel' | 'catalog.catalogs.apiDescription.title' | 'catalog.catalogs.apiDescription.description' | 'catalog.catalogs.apiDescription.switcherLabel' | 'catalog.catalogs.dataSchema.title' | 'catalog.catalogs.dataSchema.description' | 'catalog.catalogs.dataSchema.switcherLabel' | 'catalog.catalogs.apiOperation.title' | 'catalog.catalogs.apiOperation.description' | 'catalog.catalogs.apiOperation.switcherLabel' | 'catalog.entity.metadata.title' | 'catalog.entity.schema.title' | 'catalog.entity.properties.apiDescription.title' | 'catalog.backToAllLabel' | 'catalog.notConnected' | 'catalog.tags.more' | 'catalog.tags.label' | 'catalog.sort' | 'catalog.catalogs.label' | 'catalog.owners.label' | 'catalog.repositories.label' | 'catalog.email.label' | 'catalog.format.label' | 'catalog.entityType.label' | 'catalog.domains.label' | 'catalog.contact.label' | 'catalog.methodAndPath.label' | 'catalog.links.label' | 'catalog.metadata.domains' | 'catalog.metadata.owners' | 'catalog.history.button.label' | 'catalog.history.sidebar.title' | 'catalog.history.sidebar.close' | 'catalog.history.version.label' | 'catalog.filters.close' | 'catalog.history.version.notSpecified' | 'catalog.history.version.default' | 'catalog.history.revisions.limitMessage' | 'catalog.history.revision.current' | 'catalog.history.revisions.showLess' | 'catalog.history.revisions.showMore' | 'sidebar.menu.backLabel' | 'sidebar.menu.backToLabel' | 'sidebar.actions.show' | 'sidebar.actions.hide' | 'sidebar.actions.changeToSingleColumn' | 'sidebar.actions.changeToTwoColumns' | 'sidebar.actions.singleColumn' | 'sidebar.actions.twoColumns' | 'versionPicker.label' | 'versionPicker.unversioned' | 'codeSnippet.copy.buttonText' | 'codeSnippet.copy.tooltipText' | 'codeSnippet.copy.toasterText' | 'markdown.editPage.text' | 'feedback.settings.comment.submitText' | 'feedback.settings.comment.label' | 'feedback.settings.comment.send' | 'feedback.settings.comment.cancel' | 'feedback.settings.comment.maxLength' | 'feedback.settings.comment.satisfiedLabel' | 'feedback.settings.comment.neutralLabel' | 'feedback.settings.comment.dissatisfiedLabel' | 'feedback.settings.submitText' | 'feedback.settings.label' | 'feedback.settings.reasons.label' | 'feedback.submit' | 'feedback.cancel' | 'feedback.settings.comment.likeLabel' | 'feedback.settings.comment.dislikeLabel' | 'feedback.sentiment.thumbUp' | 'feedback.sentiment.thumbDown' | 'feedback.settings.leftScaleLabel' | 'feedback.settings.rightScaleLabel' | 'feedback.settings.optionalEmail.placeholder' | 'feedback.settings.optionalEmail.label' | 'codeSnippet.report.buttonText' | 'codeSnippet.report.tooltipText' | 'codeSnippet.report.label' | 'codeSnippet.expand.tooltipText' | 'codeSnippet.collapse.tooltipText' | 'userMenu.login' | 'userMenu.logout' | 'userMenu.devOnboardingLabel' | 'mobileMenu.mainMenu' | 'mobileMenu.previous' | 'mobileMenu.products' | 'mobileMenu.version' | 'navbar.products' | 'page.nextButton' | 'page.previousButton' | 'page.actions.copyButtonText' | 'page.actions.copyTitle' | 'page.actions.copyDescription' | 'page.actions.viewAsMdTitle' | 'page.actions.viewAsMdButtonText' | 'page.actions.viewAsMdDescription' | 'page.actions.chatGptTitle' | 'page.actions.chatGptButtonText' | 'page.actions.chatGptDescription' | 'page.actions.claudeTitle' | 'page.actions.claudeButtonText' | 'page.actions.claudeDescription' | 'page.actions.cursorMcpButtonText' | 'page.actions.cursorMcpTitle' | 'page.actions.cursorMcpDescription' | 'page.actions.connectMcp' | 'page.actions.connectMcp.cursor' | 'page.actions.connectMcp.cursorDescription' | 'page.actions.connectMcp.vscode' | 'page.actions.connectMcp.vscodeDescription' | 'page.actions.connectMcp.copyConfig' | 'page.actions.connectMcp.copyConfigDescription' | 'openapi.download.description.title' | 'openapi.info.title' | 'openapi.info.contact.url' | 'openapi.info.contact.name' | 'openapi.info.license' | 'openapi.info.termsOfService' | 'openapi.info.metadata.title' | 'openapi.key' | 'openapi.value' | 'openapi.enum' | 'openapi.items' | 'openapi.default' | 'openapi.variable' | 'openapi.variables' | 'openapi.actions.show' | 'openapi.actions.hide' | 'openapi.actions.more' | 'openapi.languages.title' | 'openapi.languages.moreButton.tooltipText' | 'openapi.servers.title' | 'openapi.operations' | 'openapi.webhooks' | 'openapi.description' | 'openapi.badges.deprecated' | 'openapi.badges.required' | 'openapi.badges.webhook' | 'openapi.request' | 'openapi.path' | 'openapi.query' | 'openapi.cookie' | 'openapi.header' | 'openapi.body' | 'openapi.responses' | 'openapi.response' | 'openapi.callbacks' | 'openapi.callbackRequest' | 'openapi.callbackResponse' | 'openapi.payload' | 'openapi.discriminator' | 'openapi.contentType' | 'openapi.tryIt' | 'openapi.loading' | 'openapi.example' | 'openapi.examples' | 'openapi.additionalProperties' | 'openapi.patternProperties' | 'openapi.required' | 'openapi.recursive' | 'openapi.complex' | 'openapi.hideExample' | 'openapi.showExample' | 'openapi.expandAll' | 'openapi.collapseAll' | 'openapi.viewSecurityDetails' | 'openapi.noResponseExample' | 'openapi.discriminator.searchPlaceholder' | 'openapi.discriminator.searchNoResults' | 'openapi.discriminator.defaultMapping' | 'openapi.discriminator.defaultMappingTooltip' | 'openapi.noResponseContent' | 'openapi.noRequestPayload' | 'openapi.hidePattern' | 'openapi.showPattern' | 'openapi.authorizationUrl' | 'openapi.tokenUrl' | 'openapi.refreshUrl' | 'openapi.showOptionalScopes' | 'openapi.hideOptionalScopes' | 'openapi.security' | 'openapi.httpAuthorizationScheme' | 'openapi.bearerFormat' | 'openapi.parameterName' | 'openapi.flowType' | 'openapi.connectUrl' | 'openapi.requiredScopes' | 'openapi.unsupportedLanguage' | 'openapi.failedToGenerateCodeSample' | 'openapi.schemaCatalogLink.title' | 'openapi.schemaCatalogLink.copyButtonTooltip' | 'openapi.schemaCatalogLink.copiedTooltip' | 'openapi.mcp.title' | 'openapi.mcp.endpoint' | 'openapi.mcp.tools' | 'openapi.mcp.protocolVersion' | 'openapi.mcp.capabilities' | 'openapi.mcp.experimentalCapabilities' | 'openapi.mcp.inputSchema' | 'openapi.mcp.inputExample' | 'openapi.mcp.outputSchema' | 'openapi.mcp.outputExample' | 'asyncapi.download.description.title' | 'asyncapi.info.title' | 'graphql.download.description.title' | 'graphql.info.title' | 'graphql.info.contact.url' | 'graphql.info.contact.name' | 'graphql.info.license' | 'graphql.info.termsOfService' | 'graphql.overview' | 'graphql.metadata' | 'graphql.key' | 'graphql.value' | 'graphql.queries' | 'graphql.mutations' | 'graphql.subscriptions' | 'graphql.directives' | 'graphql.objects' | 'graphql.interfaces' | 'graphql.unions' | 'graphql.enums' | 'graphql.inputs' | 'graphql.scalars' | 'graphql.arguments.label' | 'graphql.arguments.show' | 'graphql.arguments.hide' | 'graphql.arguments.here' | 'graphql.returnTypes.label' | 'graphql.returnTypes.show' | 'graphql.returnTypes.hide' | 'graphql.possibleTypes' | 'graphql.defaultValue' | 'graphql.deprecationReason' | 'graphql.requiredScopes' | 'graphql.viewSecurityDetails' | 'graphql.objectScopes' | 'graphql.fieldScopes' | 'graphql.implementedInterfaces' | 'graphql.nonNull' | 'graphql.required' | 'graphql.deprecated' | 'graphql.variables' | 'graphql.querySample' | 'graphql.mutationSample' | 'graphql.subscriptionSample' | 'graphql.responseSample' | 'graphql.locations' | 'graphql.sample' | 'graphql.referenced' | 'graphql.content.fragment' | 'button.copy.tooltipText' | 'button.download.tooltipText' | 'button.externalLink.tooltipText' | 'button.email.tooltipText' | 'codeWalkthrough.download' | 'codeWalkthrough.preview' | 'time.justNow' | 'time.past.second' | 'time.past.seconds' | 'time.past.minute' | 'time.past.minutes' | 'time.past.hour' | 'time.past.hours' | 'time.past.day' | 'time.past.days' | 'time.past.week' | 'time.past.weeks' | 'time.past.month' | 'time.past.months' | 'time.past.year' | 'time.past.years' | 'page.internalServerError.title' | 'page.internalServerError.description' | 'page.skipToContent.label' | 'select.noResults' | 'loaders.loading' | 'filter.dateRange.from' | 'filter.dateRange.to' | 'mermaid.openFullscreen' | 'mermaid.zoomIn' | 'mermaid.zoomOut' | 'mermaid.reset' | 'mermaid.close' | 'mermaid.viewer';
3
3
  export type Locale = {
4
4
  code: string;
5
5
  name: string;
@@ -10,4 +10,5 @@ export type TooltipProps = {
10
10
  dataTestId?: string;
11
11
  disabled?: boolean;
12
12
  arrowPosition?: 'top' | 'bottom' | 'left' | 'right' | 'center';
13
+ onClick?: React.MouseEventHandler<HTMLDivElement>;
13
14
  };
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Converts a string to title case for catalog option labels.
3
+ * Splits on whitespace, hyphens, and underscores; capitalizes each word.
4
+ * The first word is rendered as "API" when it is "api" (case-insensitive).
5
+ *
6
+ * @param str - The raw string to format (e.g. from config or entity data).
7
+ * @returns The formatted label with words capitalized and joined by spaces.
8
+ *
9
+ * @example
10
+ * customCatalogOptionsCasing('api_spec') // 'API Spec'
11
+ * customCatalogOptionsCasing('my-custom-option') // 'My Custom Option'
12
+ * customCatalogOptionsCasing('user name') // 'User Name'
13
+ * customCatalogOptionsCasing(' api version ') // 'API Version'
14
+ */
15
+ export declare function customCatalogOptionsCasing(str: string): string;