@red-hat-developer-hub/backstage-plugin-global-header 1.20.2 → 1.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +92 -8
  3. package/config.d.ts +75 -33
  4. package/dist/alpha/components/ApplicationLauncherDropdown.esm.js +35 -0
  5. package/dist/alpha/components/ApplicationLauncherDropdown.esm.js.map +1 -0
  6. package/dist/alpha/components/GlobalHeader.esm.js +23 -0
  7. package/dist/alpha/components/GlobalHeader.esm.js.map +1 -0
  8. package/dist/alpha/components/GlobalHeaderDropdown.esm.js +59 -0
  9. package/dist/alpha/components/GlobalHeaderDropdown.esm.js.map +1 -0
  10. package/dist/alpha/components/GlobalHeaderDropdownContent.esm.js +52 -0
  11. package/dist/alpha/components/GlobalHeaderDropdownContent.esm.js.map +1 -0
  12. package/dist/alpha/components/GlobalHeaderMenuItem.esm.js +41 -0
  13. package/dist/alpha/components/GlobalHeaderMenuItem.esm.js.map +1 -0
  14. package/dist/alpha/components/HelpDropdown.esm.js +32 -0
  15. package/dist/alpha/components/HelpDropdown.esm.js.map +1 -0
  16. package/dist/alpha/components/MyProfileMenuItem.esm.js +58 -0
  17. package/dist/alpha/components/MyProfileMenuItem.esm.js.map +1 -0
  18. package/dist/alpha/components/ProfileDropdown.esm.js +97 -0
  19. package/dist/alpha/components/ProfileDropdown.esm.js.map +1 -0
  20. package/dist/alpha/defaults/index.esm.js +26 -0
  21. package/dist/alpha/defaults/index.esm.js.map +1 -0
  22. package/dist/alpha/defaults/menuItemExtensions.esm.js +67 -0
  23. package/dist/alpha/defaults/menuItemExtensions.esm.js.map +1 -0
  24. package/dist/alpha/defaults/rhdhLogo.esm.js +7 -0
  25. package/dist/alpha/defaults/rhdhLogo.esm.js.map +1 -0
  26. package/dist/alpha/defaults/toolbarExtensions.esm.js +74 -0
  27. package/dist/alpha/defaults/toolbarExtensions.esm.js.map +1 -0
  28. package/dist/alpha/extensions/GlobalHeaderContext.esm.js +31 -0
  29. package/dist/alpha/extensions/GlobalHeaderContext.esm.js.map +1 -0
  30. package/dist/alpha/extensions/blueprints.esm.js +112 -0
  31. package/dist/alpha/extensions/blueprints.esm.js.map +1 -0
  32. package/dist/alpha/extensions/dataRefs.esm.js +11 -0
  33. package/dist/alpha/extensions/dataRefs.esm.js.map +1 -0
  34. package/dist/alpha/extensions/globalHeaderModule.esm.js +72 -0
  35. package/dist/alpha/extensions/globalHeaderModule.esm.js.map +1 -0
  36. package/dist/alpha/plugin.esm.js +28 -0
  37. package/dist/alpha/plugin.esm.js.map +1 -0
  38. package/dist/alpha/utils/menuItemGrouping.esm.js +52 -0
  39. package/dist/alpha/utils/menuItemGrouping.esm.js.map +1 -0
  40. package/dist/alpha/utils/readConfigComponents.esm.js +29 -0
  41. package/dist/alpha/utils/readConfigComponents.esm.js.map +1 -0
  42. package/dist/alpha/utils/readConfigMenuItems.esm.js +19 -0
  43. package/dist/alpha/utils/readConfigMenuItems.esm.js.map +1 -0
  44. package/dist/alpha.d.ts +1255 -0
  45. package/dist/alpha.esm.js +28 -0
  46. package/dist/alpha.esm.js.map +1 -0
  47. package/dist/components/HeaderDropdownComponent/HeaderDropdownComponent.esm.js +23 -15
  48. package/dist/components/HeaderDropdownComponent/HeaderDropdownComponent.esm.js.map +1 -1
  49. package/dist/components/HeaderDropdownComponent/MenuSection.esm.js +15 -3
  50. package/dist/components/HeaderDropdownComponent/MenuSection.esm.js.map +1 -1
  51. package/dist/components/HeaderIcon/HeaderIcon.esm.js +5 -1
  52. package/dist/components/HeaderIcon/HeaderIcon.esm.js.map +1 -1
  53. package/dist/components/HeaderIconButton/HeaderIconButton.esm.js +3 -5
  54. package/dist/components/HeaderIconButton/HeaderIconButton.esm.js.map +1 -1
  55. package/dist/components/LogoutButton/LogoutButton.esm.js +4 -2
  56. package/dist/components/LogoutButton/LogoutButton.esm.js.map +1 -1
  57. package/dist/components/MenuItemLink/MenuItemLink.esm.js.map +1 -1
  58. package/dist/defaultMountPoints/defaultMountPoints.esm.js +7 -10
  59. package/dist/defaultMountPoints/defaultMountPoints.esm.js.map +1 -1
  60. package/dist/hooks/useDropdownManager.esm.js +10 -5
  61. package/dist/hooks/useDropdownManager.esm.js.map +1 -1
  62. package/dist/index.d.ts +7 -66
  63. package/dist/index.esm.js.map +1 -1
  64. package/dist/plugin.esm.js +6 -7
  65. package/dist/plugin.esm.js.map +1 -1
  66. package/dist/translations/de.esm.js +8 -1
  67. package/dist/translations/de.esm.js.map +1 -1
  68. package/dist/translations/es.esm.js +8 -1
  69. package/dist/translations/es.esm.js.map +1 -1
  70. package/dist/types/index.d-CdKdPbQ2.d.ts +67 -0
  71. package/package.json +57 -37
@@ -0,0 +1,1255 @@
1
+ import * as _backstage_frontend_plugin_api from '@backstage/frontend-plugin-api';
2
+ import { ComponentType, ReactNode, ComponentProps } from 'react';
3
+ export { b as GlobalHeaderIconButton, H as HeaderIconButtonProps, a as globalHeaderTranslationRef, g as globalHeaderTranslations } from './types/index.d-CdKdPbQ2.js';
4
+ import * as react_jsx_runtime from 'react/jsx-runtime';
5
+ import Button from '@mui/material/Button';
6
+
7
+ /**
8
+ * Data produced by a `GlobalHeaderComponentBlueprint` extension.
9
+ * Represents a single toolbar-level item in the global header.
10
+ *
11
+ * @alpha
12
+ */
13
+ interface GlobalHeaderComponentData {
14
+ component: ComponentType<any>;
15
+ priority?: number;
16
+ /** MUI `sx`-compatible layout overrides applied by the header wrapper. */
17
+ layout?: Record<string, unknown>;
18
+ }
19
+ /**
20
+ * Data produced by a `GlobalHeaderMenuItemBlueprint` extension.
21
+ * Represents a single menu item inside a header dropdown.
22
+ *
23
+ * When `type` is `'component'`, the item is a self-contained component that
24
+ * controls its own layout and `MenuItem` wrapping (e.g. `SoftwareTemplatesSection`,
25
+ * `LogoutButton`).
26
+ *
27
+ * When `type` is `'data'` (the default), the item is data-driven: it is
28
+ * grouped by `sectionLabel` and rendered through `MenuSection`
29
+ * which provides `<MenuItem>` wrapping, `<Link>` navigation, section headers
30
+ * and dividers.
31
+ *
32
+ * @alpha
33
+ */
34
+ interface GlobalHeaderMenuItemData {
35
+ target: string;
36
+ /**
37
+ * React component used for rendering. Required when `type` is `'component'`.
38
+ * For `type: 'data'` items, defaults to the built-in `MenuItemLink`.
39
+ */
40
+ component?: ComponentType<any>;
41
+ priority?: number;
42
+ /**
43
+ * Controls how the item is rendered.
44
+ *
45
+ * - `'data'` (default) -- grouped by `sectionLabel` and rendered through
46
+ * `MenuSection` with standard `MenuItem` wrapping.
47
+ * - `'component'` -- rendered directly; the component controls its own
48
+ * layout and `MenuItem` wrapping.
49
+ */
50
+ type?: 'component' | 'data';
51
+ /** Display title for the item. */
52
+ title?: string;
53
+ /** Translation key for the title. */
54
+ titleKey?: string;
55
+ /** Icon identifier passed to `HeaderIcon`. */
56
+ icon?: string;
57
+ /** Secondary title rendered below the main title. */
58
+ subTitle?: string;
59
+ /** Translation key for the secondary title. */
60
+ subTitleKey?: string;
61
+ /** Navigation URL. External links show a launch indicator. */
62
+ link?: string;
63
+ /** Click handler invoked when the item is selected (in addition to closing the menu). */
64
+ onClick?: () => void;
65
+ /**
66
+ * Section label used both as the grouping key and the displayed header.
67
+ * Items sharing the same string are grouped together and rendered as a
68
+ * single `MenuSection`. Auto-translated when the value contains
69
+ * dots (e.g. `'applicationLauncher.sections.documentation'`).
70
+ */
71
+ sectionLabel?: string;
72
+ /** Optional URL rendered as a clickable link in the section header row. */
73
+ sectionLink?: string;
74
+ /** Display text for the section header link. */
75
+ sectionLinkLabel?: string;
76
+ }
77
+
78
+ /**
79
+ * Plugin providing the default global header toolbar items and
80
+ * dropdown menu items.
81
+ *
82
+ * @alpha
83
+ */
84
+ declare const globalHeaderPlugin: _backstage_frontend_plugin_api.OverridableFrontendPlugin<{}, {}, {
85
+ "gh-component:global-header/app-launcher-dropdown": _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
86
+ kind: "gh-component";
87
+ name: "app-launcher-dropdown";
88
+ config: {
89
+ priority: number | undefined;
90
+ };
91
+ configInput: {
92
+ priority?: number | undefined;
93
+ };
94
+ output: _backstage_frontend_plugin_api.ExtensionDataRef<GlobalHeaderComponentData, "global-header.component", {}>;
95
+ inputs: {};
96
+ params: ToolbarComponentParams;
97
+ }>;
98
+ "gh-component:global-header/company-logo": _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
99
+ kind: "gh-component";
100
+ name: "company-logo";
101
+ config: {
102
+ priority: number | undefined;
103
+ };
104
+ configInput: {
105
+ priority?: number | undefined;
106
+ };
107
+ output: _backstage_frontend_plugin_api.ExtensionDataRef<GlobalHeaderComponentData, "global-header.component", {}>;
108
+ inputs: {};
109
+ params: ToolbarComponentParams;
110
+ }>;
111
+ "gh-component:global-header/divider": _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
112
+ kind: "gh-component";
113
+ name: "divider";
114
+ config: {
115
+ priority: number | undefined;
116
+ };
117
+ configInput: {
118
+ priority?: number | undefined;
119
+ };
120
+ output: _backstage_frontend_plugin_api.ExtensionDataRef<GlobalHeaderComponentData, "global-header.component", {}>;
121
+ inputs: {};
122
+ params: ToolbarComponentParams;
123
+ }>;
124
+ "gh-component:global-header/help-dropdown": _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
125
+ kind: "gh-component";
126
+ name: "help-dropdown";
127
+ config: {
128
+ priority: number | undefined;
129
+ };
130
+ configInput: {
131
+ priority?: number | undefined;
132
+ };
133
+ output: _backstage_frontend_plugin_api.ExtensionDataRef<GlobalHeaderComponentData, "global-header.component", {}>;
134
+ inputs: {};
135
+ params: ToolbarComponentParams;
136
+ }>;
137
+ "gh-component:global-header/notification-button": _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
138
+ kind: "gh-component";
139
+ name: "notification-button";
140
+ config: {
141
+ priority: number | undefined;
142
+ };
143
+ configInput: {
144
+ priority?: number | undefined;
145
+ };
146
+ output: _backstage_frontend_plugin_api.ExtensionDataRef<GlobalHeaderComponentData, "global-header.component", {}>;
147
+ inputs: {};
148
+ params: ToolbarComponentParams;
149
+ }>;
150
+ "gh-component:global-header/profile-dropdown": _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
151
+ kind: "gh-component";
152
+ name: "profile-dropdown";
153
+ config: {
154
+ priority: number | undefined;
155
+ };
156
+ configInput: {
157
+ priority?: number | undefined;
158
+ };
159
+ output: _backstage_frontend_plugin_api.ExtensionDataRef<GlobalHeaderComponentData, "global-header.component", {}>;
160
+ inputs: {};
161
+ params: ToolbarComponentParams;
162
+ }>;
163
+ "gh-component:global-header/search": _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
164
+ kind: "gh-component";
165
+ name: "search";
166
+ config: {
167
+ priority: number | undefined;
168
+ };
169
+ configInput: {
170
+ priority?: number | undefined;
171
+ };
172
+ output: _backstage_frontend_plugin_api.ExtensionDataRef<GlobalHeaderComponentData, "global-header.component", {}>;
173
+ inputs: {};
174
+ params: ToolbarComponentParams;
175
+ }>;
176
+ "gh-component:global-header/self-service-button": _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
177
+ kind: "gh-component";
178
+ name: "self-service-button";
179
+ config: {
180
+ priority: number | undefined;
181
+ };
182
+ configInput: {
183
+ priority?: number | undefined;
184
+ };
185
+ output: _backstage_frontend_plugin_api.ExtensionDataRef<GlobalHeaderComponentData, "global-header.component", {}>;
186
+ inputs: {};
187
+ params: ToolbarComponentParams;
188
+ }>;
189
+ "gh-component:global-header/spacer": _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
190
+ kind: "gh-component";
191
+ name: "spacer";
192
+ config: {
193
+ priority: number | undefined;
194
+ };
195
+ configInput: {
196
+ priority?: number | undefined;
197
+ };
198
+ output: _backstage_frontend_plugin_api.ExtensionDataRef<GlobalHeaderComponentData, "global-header.component", {}>;
199
+ inputs: {};
200
+ params: ToolbarComponentParams;
201
+ }>;
202
+ "gh-component:global-header/starred-dropdown": _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
203
+ kind: "gh-component";
204
+ name: "starred-dropdown";
205
+ config: {
206
+ priority: number | undefined;
207
+ };
208
+ configInput: {
209
+ priority?: number | undefined;
210
+ };
211
+ output: _backstage_frontend_plugin_api.ExtensionDataRef<GlobalHeaderComponentData, "global-header.component", {}>;
212
+ inputs: {};
213
+ params: ToolbarComponentParams;
214
+ }>;
215
+ "gh-menu-item:global-header/app-launcher-devhub": _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
216
+ kind: "gh-menu-item";
217
+ name: "app-launcher-devhub";
218
+ config: {
219
+ priority: number | undefined;
220
+ title: string | undefined;
221
+ titleKey: string | undefined;
222
+ icon: string | undefined;
223
+ link: string | undefined;
224
+ sectionLabel: string | undefined;
225
+ sectionLink: string | undefined;
226
+ sectionLinkLabel: string | undefined;
227
+ };
228
+ configInput: {
229
+ link?: string | undefined;
230
+ title?: string | undefined;
231
+ icon?: string | undefined;
232
+ titleKey?: string | undefined;
233
+ priority?: number | undefined;
234
+ sectionLabel?: string | undefined;
235
+ sectionLink?: string | undefined;
236
+ sectionLinkLabel?: string | undefined;
237
+ };
238
+ output: _backstage_frontend_plugin_api.ExtensionDataRef<GlobalHeaderMenuItemData, "global-header.menu-item", {}>;
239
+ inputs: {};
240
+ params: MenuItemParams;
241
+ }>;
242
+ "gh-menu-item:global-header/app-launcher-rhdh-local": _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
243
+ kind: "gh-menu-item";
244
+ name: "app-launcher-rhdh-local";
245
+ config: {
246
+ priority: number | undefined;
247
+ title: string | undefined;
248
+ titleKey: string | undefined;
249
+ icon: string | undefined;
250
+ link: string | undefined;
251
+ sectionLabel: string | undefined;
252
+ sectionLink: string | undefined;
253
+ sectionLinkLabel: string | undefined;
254
+ };
255
+ configInput: {
256
+ link?: string | undefined;
257
+ title?: string | undefined;
258
+ icon?: string | undefined;
259
+ titleKey?: string | undefined;
260
+ priority?: number | undefined;
261
+ sectionLabel?: string | undefined;
262
+ sectionLink?: string | undefined;
263
+ sectionLinkLabel?: string | undefined;
264
+ };
265
+ output: _backstage_frontend_plugin_api.ExtensionDataRef<GlobalHeaderMenuItemData, "global-header.menu-item", {}>;
266
+ inputs: {};
267
+ params: MenuItemParams;
268
+ }>;
269
+ "gh-menu-item:global-header/logout": _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
270
+ kind: "gh-menu-item";
271
+ name: "logout";
272
+ config: {
273
+ priority: number | undefined;
274
+ title: string | undefined;
275
+ titleKey: string | undefined;
276
+ icon: string | undefined;
277
+ link: string | undefined;
278
+ sectionLabel: string | undefined;
279
+ sectionLink: string | undefined;
280
+ sectionLinkLabel: string | undefined;
281
+ };
282
+ configInput: {
283
+ link?: string | undefined;
284
+ title?: string | undefined;
285
+ icon?: string | undefined;
286
+ titleKey?: string | undefined;
287
+ priority?: number | undefined;
288
+ sectionLabel?: string | undefined;
289
+ sectionLink?: string | undefined;
290
+ sectionLinkLabel?: string | undefined;
291
+ };
292
+ output: _backstage_frontend_plugin_api.ExtensionDataRef<GlobalHeaderMenuItemData, "global-header.menu-item", {}>;
293
+ inputs: {};
294
+ params: MenuItemParams;
295
+ }>;
296
+ "gh-menu-item:global-header/my-profile": _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
297
+ kind: "gh-menu-item";
298
+ name: "my-profile";
299
+ config: {
300
+ priority: number | undefined;
301
+ title: string | undefined;
302
+ titleKey: string | undefined;
303
+ icon: string | undefined;
304
+ link: string | undefined;
305
+ sectionLabel: string | undefined;
306
+ sectionLink: string | undefined;
307
+ sectionLinkLabel: string | undefined;
308
+ };
309
+ configInput: {
310
+ link?: string | undefined;
311
+ title?: string | undefined;
312
+ icon?: string | undefined;
313
+ titleKey?: string | undefined;
314
+ priority?: number | undefined;
315
+ sectionLabel?: string | undefined;
316
+ sectionLink?: string | undefined;
317
+ sectionLinkLabel?: string | undefined;
318
+ };
319
+ output: _backstage_frontend_plugin_api.ExtensionDataRef<GlobalHeaderMenuItemData, "global-header.menu-item", {}>;
320
+ inputs: {};
321
+ params: MenuItemParams;
322
+ }>;
323
+ "gh-menu-item:global-header/settings": _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
324
+ kind: "gh-menu-item";
325
+ name: "settings";
326
+ config: {
327
+ priority: number | undefined;
328
+ title: string | undefined;
329
+ titleKey: string | undefined;
330
+ icon: string | undefined;
331
+ link: string | undefined;
332
+ sectionLabel: string | undefined;
333
+ sectionLink: string | undefined;
334
+ sectionLinkLabel: string | undefined;
335
+ };
336
+ configInput: {
337
+ link?: string | undefined;
338
+ title?: string | undefined;
339
+ icon?: string | undefined;
340
+ titleKey?: string | undefined;
341
+ priority?: number | undefined;
342
+ sectionLabel?: string | undefined;
343
+ sectionLink?: string | undefined;
344
+ sectionLinkLabel?: string | undefined;
345
+ };
346
+ output: _backstage_frontend_plugin_api.ExtensionDataRef<GlobalHeaderMenuItemData, "global-header.menu-item", {}>;
347
+ inputs: {};
348
+ params: MenuItemParams;
349
+ }>;
350
+ "gh-menu-item:global-header/support-button": _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
351
+ kind: "gh-menu-item";
352
+ name: "support-button";
353
+ config: {
354
+ priority: number | undefined;
355
+ title: string | undefined;
356
+ titleKey: string | undefined;
357
+ icon: string | undefined;
358
+ link: string | undefined;
359
+ sectionLabel: string | undefined;
360
+ sectionLink: string | undefined;
361
+ sectionLinkLabel: string | undefined;
362
+ };
363
+ configInput: {
364
+ link?: string | undefined;
365
+ title?: string | undefined;
366
+ icon?: string | undefined;
367
+ titleKey?: string | undefined;
368
+ priority?: number | undefined;
369
+ sectionLabel?: string | undefined;
370
+ sectionLink?: string | undefined;
371
+ sectionLinkLabel?: string | undefined;
372
+ };
373
+ output: _backstage_frontend_plugin_api.ExtensionDataRef<GlobalHeaderMenuItemData, "global-header.menu-item", {}>;
374
+ inputs: {};
375
+ params: MenuItemParams;
376
+ }>;
377
+ }>;
378
+
379
+ /**
380
+ * Frontend module that provides the global header system.
381
+ * Registers a wrapper extension with input slots for toolbar components
382
+ * and dropdown menu items.
383
+ *
384
+ * Uses `pluginId: 'app'` because the `wrappers` input on `app/root` is
385
+ * marked `internal: true`, restricting attachments to extensions from the
386
+ * `app` plugin.
387
+ *
388
+ * @alpha
389
+ */
390
+ declare const globalHeaderModule: _backstage_frontend_plugin_api.FrontendModule;
391
+
392
+ /**
393
+ * Params accepted by {@link GlobalHeaderComponentBlueprint}.
394
+ *
395
+ * Supply `component` for full control (tier 2/3), or provide data fields
396
+ * (`icon`, `title`, `link`/`onClick`) and let the framework render a
397
+ * consistent `HeaderIconButton` automatically (tier 1).
398
+ *
399
+ * @alpha
400
+ */
401
+ interface ToolbarComponentParams {
402
+ icon?: string;
403
+ title?: string;
404
+ titleKey?: string;
405
+ tooltip?: string;
406
+ link?: string;
407
+ onClick?: () => void;
408
+ component?: ComponentType<any>;
409
+ priority?: number;
410
+ /** MUI `sx`-compatible layout overrides applied by the header wrapper. */
411
+ layout?: Record<string, unknown>;
412
+ }
413
+ /**
414
+ * Params accepted by {@link GlobalHeaderMenuItemBlueprint}.
415
+ *
416
+ * Supply `component` for full control, or provide data fields
417
+ * (`title`, `icon`, `link`) and let the framework render a
418
+ * consistent `MenuItemLink` automatically.
419
+ *
420
+ * Items with a `component` but **no** data fields (`title`, `link`, etc.)
421
+ * are rendered directly by the dropdown — the component controls its own
422
+ * layout and `MenuItem` wrapping (e.g. `SoftwareTemplatesSection`,
423
+ * `LogoutButton`).
424
+ *
425
+ * Items with data fields (with or without a custom component) are grouped
426
+ * by `sectionLabel` and rendered inside `MenuSection`.
427
+ *
428
+ * @alpha
429
+ */
430
+ interface MenuItemParams {
431
+ target: string;
432
+ title?: string;
433
+ titleKey?: string;
434
+ subTitle?: string;
435
+ subTitleKey?: string;
436
+ icon?: string;
437
+ link?: string;
438
+ onClick?: () => void;
439
+ component?: ComponentType<any>;
440
+ priority?: number;
441
+ /** Section label used as the grouping key and the displayed section header. */
442
+ sectionLabel?: string;
443
+ /** URL rendered as a clickable link in the section header row. */
444
+ sectionLink?: string;
445
+ /** Display text for the section header link. */
446
+ sectionLinkLabel?: string;
447
+ }
448
+ /**
449
+ * Blueprint for contributing toolbar-level items to the global header.
450
+ *
451
+ * Supports three tiers:
452
+ *
453
+ * 1. **Data-driven** -- provide `icon`, `title`, `link` (or `onClick`) and the
454
+ * framework renders a consistent `HeaderIconButton` automatically.
455
+ * 2. **Building blocks** -- provide a `component` that uses the exported
456
+ * `GlobalHeaderIconButton` / `GlobalHeaderDropdown` for consistent styling.
457
+ * 3. **Fully custom** -- provide any arbitrary React component.
458
+ *
459
+ * The `priority` can be overridden by deployers via `app-config.yaml`:
460
+ *
461
+ * ```yaml
462
+ * app:
463
+ * extensions:
464
+ * - gh-component:global-header/search:
465
+ * config:
466
+ * priority: 200
467
+ * ```
468
+ *
469
+ * @alpha
470
+ */
471
+ declare const GlobalHeaderComponentBlueprint: _backstage_frontend_plugin_api.ExtensionBlueprint<{
472
+ kind: "gh-component";
473
+ params: ToolbarComponentParams;
474
+ output: _backstage_frontend_plugin_api.ExtensionDataRef<GlobalHeaderComponentData, "global-header.component", {}>;
475
+ inputs: {};
476
+ config: {
477
+ priority: number | undefined;
478
+ };
479
+ configInput: {
480
+ priority?: number | undefined;
481
+ };
482
+ dataRefs: {
483
+ componentData: _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<GlobalHeaderComponentData, "global-header.component", {}>;
484
+ };
485
+ }>;
486
+ /**
487
+ * Blueprint for contributing menu items to a header dropdown.
488
+ *
489
+ * The `target` field routes the item to the correct dropdown (e.g. `'create'`,
490
+ * `'profile'`, `'help'`, `'app-launcher'`, or any custom target).
491
+ *
492
+ * **Custom components** (only `component`, no data fields) are rendered
493
+ * directly by the dropdown — they control their own layout and wrapping.
494
+ *
495
+ * **Data-driven items** (at least `title`/`link`/`icon`) are grouped by
496
+ * `sectionLabel` and rendered through `MenuSection` for consistent styling.
497
+ *
498
+ * Deployers can override any data field via `app-config.yaml`:
499
+ *
500
+ * ```yaml
501
+ * app:
502
+ * extensions:
503
+ * - gh-menu-item:global-header/app-launcher-devhub:
504
+ * config:
505
+ * title: "Custom Title"
506
+ * sectionLabel: mySection
507
+ * ```
508
+ *
509
+ * @alpha
510
+ */
511
+ declare const GlobalHeaderMenuItemBlueprint: _backstage_frontend_plugin_api.ExtensionBlueprint<{
512
+ kind: "gh-menu-item";
513
+ params: MenuItemParams;
514
+ output: _backstage_frontend_plugin_api.ExtensionDataRef<GlobalHeaderMenuItemData, "global-header.menu-item", {}>;
515
+ inputs: {};
516
+ config: {
517
+ priority: number | undefined;
518
+ title: string | undefined;
519
+ titleKey: string | undefined;
520
+ icon: string | undefined;
521
+ link: string | undefined;
522
+ sectionLabel: string | undefined;
523
+ sectionLink: string | undefined;
524
+ sectionLinkLabel: string | undefined;
525
+ };
526
+ configInput: {
527
+ link?: string | undefined;
528
+ title?: string | undefined;
529
+ icon?: string | undefined;
530
+ titleKey?: string | undefined;
531
+ priority?: number | undefined;
532
+ sectionLabel?: string | undefined;
533
+ sectionLink?: string | undefined;
534
+ sectionLinkLabel?: string | undefined;
535
+ };
536
+ dataRefs: {
537
+ menuItemData: _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<GlobalHeaderMenuItemData, "global-header.menu-item", {}>;
538
+ };
539
+ }>;
540
+
541
+ /**
542
+ * Extension data ref carrying toolbar component data from a plugin to the
543
+ * global header wrapper.
544
+ *
545
+ * @alpha
546
+ */
547
+ declare const globalHeaderComponentDataRef: _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<GlobalHeaderComponentData, "global-header.component", {}>;
548
+ /**
549
+ * Extension data ref carrying menu item data from a plugin to the
550
+ * global header wrapper.
551
+ *
552
+ * @alpha
553
+ */
554
+ declare const globalHeaderMenuItemDataRef: _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<GlobalHeaderMenuItemData, "global-header.menu-item", {}>;
555
+
556
+ /**
557
+ * Returns all toolbar-level header components, sorted by priority (highest first).
558
+ *
559
+ * @alpha
560
+ */
561
+ declare function useGlobalHeaderComponents(): GlobalHeaderComponentData[];
562
+ /**
563
+ * Returns menu items for a specific dropdown target, sorted by priority (highest first).
564
+ *
565
+ * @alpha
566
+ */
567
+ declare function useGlobalHeaderMenuItems(target: string): GlobalHeaderMenuItemData[];
568
+
569
+ /**
570
+ * Props for {@link GlobalHeaderMenuItem}.
571
+ *
572
+ * @alpha
573
+ */
574
+ interface GlobalHeaderMenuItemProps {
575
+ /** Navigation URL. When absent the item renders as a plain action button. */
576
+ to?: string;
577
+ /** Display title. */
578
+ title?: string;
579
+ /** Translation key for the title. */
580
+ titleKey?: string;
581
+ /** Secondary text rendered below the title. */
582
+ subTitle?: string;
583
+ /** Translation key for the secondary text. */
584
+ subTitleKey?: string;
585
+ /** Icon identifier passed to `HeaderIcon`. */
586
+ icon?: string;
587
+ /** Tooltip shown on hover. */
588
+ tooltip?: string;
589
+ /** Called when the item is clicked (typically the dropdown's `handleClose`). */
590
+ onClick?: () => void;
591
+ }
592
+ /**
593
+ * A complete, self-contained menu item for use inside header dropdowns.
594
+ *
595
+ * Renders a MUI `MenuItem` with optional `Link` navigation and the
596
+ * standard `MenuItemLink` content (icon, title, subtitle, external
597
+ * link indicator). Consumers only need this one component — no manual
598
+ * `MenuItem` or `Link` wrapping required.
599
+ *
600
+ * @example
601
+ * ```tsx
602
+ * const MyHelpItem = ({ handleClose }) => (
603
+ * <GlobalHeaderMenuItem
604
+ * to="https://docs.example.com"
605
+ * title="Documentation"
606
+ * icon="menu_book"
607
+ * onClick={handleClose}
608
+ * />
609
+ * );
610
+ * ```
611
+ *
612
+ * @alpha
613
+ */
614
+ declare const GlobalHeaderMenuItem: ({ to, title, titleKey, subTitle, subTitleKey, icon, tooltip, onClick, }: GlobalHeaderMenuItemProps) => react_jsx_runtime.JSX.Element;
615
+
616
+ /**
617
+ * Props for {@link GlobalHeaderDropdown}.
618
+ *
619
+ * @alpha
620
+ */
621
+ interface GlobalHeaderDropdownProps {
622
+ /** Extension target name that items are collected from (e.g. `'help'`, `'create'`). */
623
+ target: string;
624
+ /** Content rendered inside the trigger button. */
625
+ buttonContent: ReactNode;
626
+ /** MUI Button props forwarded to the trigger. */
627
+ buttonProps?: ComponentProps<typeof Button>;
628
+ /** Render an `IconButton` instead of a regular `Button`. */
629
+ isIconButton?: boolean;
630
+ /** Tooltip shown on hover of the trigger button. */
631
+ tooltip?: string;
632
+ /** Rendered when no menu items are contributed (or all render empty when `trackValidity` is on). */
633
+ emptyState?: ReactNode;
634
+ /**
635
+ * When `true`, the dropdown checks the rendered MenuList for visible
636
+ * `[role="menuitem"]` elements after each render. If none are found,
637
+ * the `emptyState` is shown instead.
638
+ */
639
+ trackValidity?: boolean;
640
+ }
641
+ /**
642
+ * High-level dropdown building block for the global header.
643
+ *
644
+ * Collects menu items from a named extension `target`, groups them
645
+ * by section, sorts by priority, and renders them inside a
646
+ * `HeaderDropdownComponent`.
647
+ *
648
+ * @alpha
649
+ */
650
+ declare const GlobalHeaderDropdown: ({ target, buttonContent, buttonProps, isIconButton, tooltip, emptyState, trackValidity, }: GlobalHeaderDropdownProps) => react_jsx_runtime.JSX.Element | null;
651
+
652
+ /** @alpha */
653
+ declare const companyLogoExtension: _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
654
+ kind: "gh-component";
655
+ name: "company-logo";
656
+ config: {
657
+ priority: number | undefined;
658
+ };
659
+ configInput: {
660
+ priority?: number | undefined;
661
+ };
662
+ output: _backstage_frontend_plugin_api.ExtensionDataRef<GlobalHeaderComponentData, "global-header.component", {}>;
663
+ inputs: {};
664
+ params: ToolbarComponentParams;
665
+ }>;
666
+ /** @alpha */
667
+ declare const searchExtension: _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
668
+ kind: "gh-component";
669
+ name: "search";
670
+ config: {
671
+ priority: number | undefined;
672
+ };
673
+ configInput: {
674
+ priority?: number | undefined;
675
+ };
676
+ output: _backstage_frontend_plugin_api.ExtensionDataRef<GlobalHeaderComponentData, "global-header.component", {}>;
677
+ inputs: {};
678
+ params: ToolbarComponentParams;
679
+ }>;
680
+ /** @alpha */
681
+ declare const spacerExtension: _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
682
+ kind: "gh-component";
683
+ name: "spacer";
684
+ config: {
685
+ priority: number | undefined;
686
+ };
687
+ configInput: {
688
+ priority?: number | undefined;
689
+ };
690
+ output: _backstage_frontend_plugin_api.ExtensionDataRef<GlobalHeaderComponentData, "global-header.component", {}>;
691
+ inputs: {};
692
+ params: ToolbarComponentParams;
693
+ }>;
694
+ /** @alpha */
695
+ declare const selfServiceButtonExtension: _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
696
+ kind: "gh-component";
697
+ name: "self-service-button";
698
+ config: {
699
+ priority: number | undefined;
700
+ };
701
+ configInput: {
702
+ priority?: number | undefined;
703
+ };
704
+ output: _backstage_frontend_plugin_api.ExtensionDataRef<GlobalHeaderComponentData, "global-header.component", {}>;
705
+ inputs: {};
706
+ params: ToolbarComponentParams;
707
+ }>;
708
+ /** @alpha */
709
+ declare const starredDropdownExtension: _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
710
+ kind: "gh-component";
711
+ name: "starred-dropdown";
712
+ config: {
713
+ priority: number | undefined;
714
+ };
715
+ configInput: {
716
+ priority?: number | undefined;
717
+ };
718
+ output: _backstage_frontend_plugin_api.ExtensionDataRef<GlobalHeaderComponentData, "global-header.component", {}>;
719
+ inputs: {};
720
+ params: ToolbarComponentParams;
721
+ }>;
722
+ /** @alpha */
723
+ declare const applicationLauncherDropdownExtension: _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
724
+ kind: "gh-component";
725
+ name: "app-launcher-dropdown";
726
+ config: {
727
+ priority: number | undefined;
728
+ };
729
+ configInput: {
730
+ priority?: number | undefined;
731
+ };
732
+ output: _backstage_frontend_plugin_api.ExtensionDataRef<GlobalHeaderComponentData, "global-header.component", {}>;
733
+ inputs: {};
734
+ params: ToolbarComponentParams;
735
+ }>;
736
+ /** @alpha */
737
+ declare const helpDropdownExtension: _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
738
+ kind: "gh-component";
739
+ name: "help-dropdown";
740
+ config: {
741
+ priority: number | undefined;
742
+ };
743
+ configInput: {
744
+ priority?: number | undefined;
745
+ };
746
+ output: _backstage_frontend_plugin_api.ExtensionDataRef<GlobalHeaderComponentData, "global-header.component", {}>;
747
+ inputs: {};
748
+ params: ToolbarComponentParams;
749
+ }>;
750
+ /** @alpha */
751
+ declare const notificationButtonExtension: _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
752
+ kind: "gh-component";
753
+ name: "notification-button";
754
+ config: {
755
+ priority: number | undefined;
756
+ };
757
+ configInput: {
758
+ priority?: number | undefined;
759
+ };
760
+ output: _backstage_frontend_plugin_api.ExtensionDataRef<GlobalHeaderComponentData, "global-header.component", {}>;
761
+ inputs: {};
762
+ params: ToolbarComponentParams;
763
+ }>;
764
+ /** @alpha */
765
+ declare const dividerExtension: _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
766
+ kind: "gh-component";
767
+ name: "divider";
768
+ config: {
769
+ priority: number | undefined;
770
+ };
771
+ configInput: {
772
+ priority?: number | undefined;
773
+ };
774
+ output: _backstage_frontend_plugin_api.ExtensionDataRef<GlobalHeaderComponentData, "global-header.component", {}>;
775
+ inputs: {};
776
+ params: ToolbarComponentParams;
777
+ }>;
778
+ /** @alpha */
779
+ declare const profileDropdownExtension: _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
780
+ kind: "gh-component";
781
+ name: "profile-dropdown";
782
+ config: {
783
+ priority: number | undefined;
784
+ };
785
+ configInput: {
786
+ priority?: number | undefined;
787
+ };
788
+ output: _backstage_frontend_plugin_api.ExtensionDataRef<GlobalHeaderComponentData, "global-header.component", {}>;
789
+ inputs: {};
790
+ params: ToolbarComponentParams;
791
+ }>;
792
+
793
+ /** @alpha */
794
+ declare const settingsMenuItemExtension: _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
795
+ kind: "gh-menu-item";
796
+ name: "settings";
797
+ config: {
798
+ priority: number | undefined;
799
+ title: string | undefined;
800
+ titleKey: string | undefined;
801
+ icon: string | undefined;
802
+ link: string | undefined;
803
+ sectionLabel: string | undefined;
804
+ sectionLink: string | undefined;
805
+ sectionLinkLabel: string | undefined;
806
+ };
807
+ configInput: {
808
+ link?: string | undefined;
809
+ title?: string | undefined;
810
+ icon?: string | undefined;
811
+ titleKey?: string | undefined;
812
+ priority?: number | undefined;
813
+ sectionLabel?: string | undefined;
814
+ sectionLink?: string | undefined;
815
+ sectionLinkLabel?: string | undefined;
816
+ };
817
+ output: _backstage_frontend_plugin_api.ExtensionDataRef<GlobalHeaderMenuItemData, "global-header.menu-item", {}>;
818
+ inputs: {};
819
+ params: MenuItemParams;
820
+ }>;
821
+ /** @alpha */
822
+ declare const myProfileMenuItemExtension: _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
823
+ kind: "gh-menu-item";
824
+ name: "my-profile";
825
+ config: {
826
+ priority: number | undefined;
827
+ title: string | undefined;
828
+ titleKey: string | undefined;
829
+ icon: string | undefined;
830
+ link: string | undefined;
831
+ sectionLabel: string | undefined;
832
+ sectionLink: string | undefined;
833
+ sectionLinkLabel: string | undefined;
834
+ };
835
+ configInput: {
836
+ link?: string | undefined;
837
+ title?: string | undefined;
838
+ icon?: string | undefined;
839
+ titleKey?: string | undefined;
840
+ priority?: number | undefined;
841
+ sectionLabel?: string | undefined;
842
+ sectionLink?: string | undefined;
843
+ sectionLinkLabel?: string | undefined;
844
+ };
845
+ output: _backstage_frontend_plugin_api.ExtensionDataRef<GlobalHeaderMenuItemData, "global-header.menu-item", {}>;
846
+ inputs: {};
847
+ params: MenuItemParams;
848
+ }>;
849
+ /** @alpha */
850
+ declare const logoutMenuItemExtension: _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
851
+ kind: "gh-menu-item";
852
+ name: "logout";
853
+ config: {
854
+ priority: number | undefined;
855
+ title: string | undefined;
856
+ titleKey: string | undefined;
857
+ icon: string | undefined;
858
+ link: string | undefined;
859
+ sectionLabel: string | undefined;
860
+ sectionLink: string | undefined;
861
+ sectionLinkLabel: string | undefined;
862
+ };
863
+ configInput: {
864
+ link?: string | undefined;
865
+ title?: string | undefined;
866
+ icon?: string | undefined;
867
+ titleKey?: string | undefined;
868
+ priority?: number | undefined;
869
+ sectionLabel?: string | undefined;
870
+ sectionLink?: string | undefined;
871
+ sectionLinkLabel?: string | undefined;
872
+ };
873
+ output: _backstage_frontend_plugin_api.ExtensionDataRef<GlobalHeaderMenuItemData, "global-header.menu-item", {}>;
874
+ inputs: {};
875
+ params: MenuItemParams;
876
+ }>;
877
+ /** @alpha */
878
+ declare const supportButtonMenuItemExtension: _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
879
+ kind: "gh-menu-item";
880
+ name: "support-button";
881
+ config: {
882
+ priority: number | undefined;
883
+ title: string | undefined;
884
+ titleKey: string | undefined;
885
+ icon: string | undefined;
886
+ link: string | undefined;
887
+ sectionLabel: string | undefined;
888
+ sectionLink: string | undefined;
889
+ sectionLinkLabel: string | undefined;
890
+ };
891
+ configInput: {
892
+ link?: string | undefined;
893
+ title?: string | undefined;
894
+ icon?: string | undefined;
895
+ titleKey?: string | undefined;
896
+ priority?: number | undefined;
897
+ sectionLabel?: string | undefined;
898
+ sectionLink?: string | undefined;
899
+ sectionLinkLabel?: string | undefined;
900
+ };
901
+ output: _backstage_frontend_plugin_api.ExtensionDataRef<GlobalHeaderMenuItemData, "global-header.menu-item", {}>;
902
+ inputs: {};
903
+ params: MenuItemParams;
904
+ }>;
905
+ /** @alpha */
906
+ declare const appLauncherDevHubMenuItemExtension: _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
907
+ kind: "gh-menu-item";
908
+ name: "app-launcher-devhub";
909
+ config: {
910
+ priority: number | undefined;
911
+ title: string | undefined;
912
+ titleKey: string | undefined;
913
+ icon: string | undefined;
914
+ link: string | undefined;
915
+ sectionLabel: string | undefined;
916
+ sectionLink: string | undefined;
917
+ sectionLinkLabel: string | undefined;
918
+ };
919
+ configInput: {
920
+ link?: string | undefined;
921
+ title?: string | undefined;
922
+ icon?: string | undefined;
923
+ titleKey?: string | undefined;
924
+ priority?: number | undefined;
925
+ sectionLabel?: string | undefined;
926
+ sectionLink?: string | undefined;
927
+ sectionLinkLabel?: string | undefined;
928
+ };
929
+ output: _backstage_frontend_plugin_api.ExtensionDataRef<GlobalHeaderMenuItemData, "global-header.menu-item", {}>;
930
+ inputs: {};
931
+ params: MenuItemParams;
932
+ }>;
933
+ /** @alpha */
934
+ declare const appLauncherRhdhLocalMenuItemExtension: _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
935
+ kind: "gh-menu-item";
936
+ name: "app-launcher-rhdh-local";
937
+ config: {
938
+ priority: number | undefined;
939
+ title: string | undefined;
940
+ titleKey: string | undefined;
941
+ icon: string | undefined;
942
+ link: string | undefined;
943
+ sectionLabel: string | undefined;
944
+ sectionLink: string | undefined;
945
+ sectionLinkLabel: string | undefined;
946
+ };
947
+ configInput: {
948
+ link?: string | undefined;
949
+ title?: string | undefined;
950
+ icon?: string | undefined;
951
+ titleKey?: string | undefined;
952
+ priority?: number | undefined;
953
+ sectionLabel?: string | undefined;
954
+ sectionLink?: string | undefined;
955
+ sectionLinkLabel?: string | undefined;
956
+ };
957
+ output: _backstage_frontend_plugin_api.ExtensionDataRef<GlobalHeaderMenuItemData, "global-header.menu-item", {}>;
958
+ inputs: {};
959
+ params: MenuItemParams;
960
+ }>;
961
+
962
+ /**
963
+ * All default toolbar component extensions.
964
+ * @alpha
965
+ */
966
+ declare const defaultToolbarExtensions: (_backstage_frontend_plugin_api.OverridableExtensionDefinition<{
967
+ kind: "gh-component";
968
+ name: "company-logo";
969
+ config: {
970
+ priority: number | undefined;
971
+ };
972
+ configInput: {
973
+ priority?: number | undefined;
974
+ };
975
+ output: _backstage_frontend_plugin_api.ExtensionDataRef<GlobalHeaderComponentData, "global-header.component", {}>;
976
+ inputs: {};
977
+ params: ToolbarComponentParams;
978
+ }> | _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
979
+ kind: "gh-component";
980
+ name: "search";
981
+ config: {
982
+ priority: number | undefined;
983
+ };
984
+ configInput: {
985
+ priority?: number | undefined;
986
+ };
987
+ output: _backstage_frontend_plugin_api.ExtensionDataRef<GlobalHeaderComponentData, "global-header.component", {}>;
988
+ inputs: {};
989
+ params: ToolbarComponentParams;
990
+ }> | _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
991
+ kind: "gh-component";
992
+ name: "spacer";
993
+ config: {
994
+ priority: number | undefined;
995
+ };
996
+ configInput: {
997
+ priority?: number | undefined;
998
+ };
999
+ output: _backstage_frontend_plugin_api.ExtensionDataRef<GlobalHeaderComponentData, "global-header.component", {}>;
1000
+ inputs: {};
1001
+ params: ToolbarComponentParams;
1002
+ }> | _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
1003
+ kind: "gh-component";
1004
+ name: "self-service-button";
1005
+ config: {
1006
+ priority: number | undefined;
1007
+ };
1008
+ configInput: {
1009
+ priority?: number | undefined;
1010
+ };
1011
+ output: _backstage_frontend_plugin_api.ExtensionDataRef<GlobalHeaderComponentData, "global-header.component", {}>;
1012
+ inputs: {};
1013
+ params: ToolbarComponentParams;
1014
+ }> | _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
1015
+ kind: "gh-component";
1016
+ name: "starred-dropdown";
1017
+ config: {
1018
+ priority: number | undefined;
1019
+ };
1020
+ configInput: {
1021
+ priority?: number | undefined;
1022
+ };
1023
+ output: _backstage_frontend_plugin_api.ExtensionDataRef<GlobalHeaderComponentData, "global-header.component", {}>;
1024
+ inputs: {};
1025
+ params: ToolbarComponentParams;
1026
+ }> | _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
1027
+ kind: "gh-component";
1028
+ name: "app-launcher-dropdown";
1029
+ config: {
1030
+ priority: number | undefined;
1031
+ };
1032
+ configInput: {
1033
+ priority?: number | undefined;
1034
+ };
1035
+ output: _backstage_frontend_plugin_api.ExtensionDataRef<GlobalHeaderComponentData, "global-header.component", {}>;
1036
+ inputs: {};
1037
+ params: ToolbarComponentParams;
1038
+ }> | _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
1039
+ kind: "gh-component";
1040
+ name: "help-dropdown";
1041
+ config: {
1042
+ priority: number | undefined;
1043
+ };
1044
+ configInput: {
1045
+ priority?: number | undefined;
1046
+ };
1047
+ output: _backstage_frontend_plugin_api.ExtensionDataRef<GlobalHeaderComponentData, "global-header.component", {}>;
1048
+ inputs: {};
1049
+ params: ToolbarComponentParams;
1050
+ }> | _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
1051
+ kind: "gh-component";
1052
+ name: "notification-button";
1053
+ config: {
1054
+ priority: number | undefined;
1055
+ };
1056
+ configInput: {
1057
+ priority?: number | undefined;
1058
+ };
1059
+ output: _backstage_frontend_plugin_api.ExtensionDataRef<GlobalHeaderComponentData, "global-header.component", {}>;
1060
+ inputs: {};
1061
+ params: ToolbarComponentParams;
1062
+ }> | _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
1063
+ kind: "gh-component";
1064
+ name: "divider";
1065
+ config: {
1066
+ priority: number | undefined;
1067
+ };
1068
+ configInput: {
1069
+ priority?: number | undefined;
1070
+ };
1071
+ output: _backstage_frontend_plugin_api.ExtensionDataRef<GlobalHeaderComponentData, "global-header.component", {}>;
1072
+ inputs: {};
1073
+ params: ToolbarComponentParams;
1074
+ }> | _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
1075
+ kind: "gh-component";
1076
+ name: "profile-dropdown";
1077
+ config: {
1078
+ priority: number | undefined;
1079
+ };
1080
+ configInput: {
1081
+ priority?: number | undefined;
1082
+ };
1083
+ output: _backstage_frontend_plugin_api.ExtensionDataRef<GlobalHeaderComponentData, "global-header.component", {}>;
1084
+ inputs: {};
1085
+ params: ToolbarComponentParams;
1086
+ }>)[];
1087
+ /**
1088
+ * All default menu item extensions.
1089
+ * @alpha
1090
+ */
1091
+ declare const defaultMenuItemExtensions: (_backstage_frontend_plugin_api.OverridableExtensionDefinition<{
1092
+ kind: "gh-menu-item";
1093
+ name: "settings";
1094
+ config: {
1095
+ priority: number | undefined;
1096
+ title: string | undefined;
1097
+ titleKey: string | undefined;
1098
+ icon: string | undefined;
1099
+ link: string | undefined;
1100
+ sectionLabel: string | undefined;
1101
+ sectionLink: string | undefined;
1102
+ sectionLinkLabel: string | undefined;
1103
+ };
1104
+ configInput: {
1105
+ link?: string | undefined;
1106
+ title?: string | undefined;
1107
+ icon?: string | undefined;
1108
+ titleKey?: string | undefined;
1109
+ priority?: number | undefined;
1110
+ sectionLabel?: string | undefined;
1111
+ sectionLink?: string | undefined;
1112
+ sectionLinkLabel?: string | undefined;
1113
+ };
1114
+ output: _backstage_frontend_plugin_api.ExtensionDataRef<GlobalHeaderMenuItemData, "global-header.menu-item", {}>;
1115
+ inputs: {};
1116
+ params: MenuItemParams;
1117
+ }> | _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
1118
+ kind: "gh-menu-item";
1119
+ name: "my-profile";
1120
+ config: {
1121
+ priority: number | undefined;
1122
+ title: string | undefined;
1123
+ titleKey: string | undefined;
1124
+ icon: string | undefined;
1125
+ link: string | undefined;
1126
+ sectionLabel: string | undefined;
1127
+ sectionLink: string | undefined;
1128
+ sectionLinkLabel: string | undefined;
1129
+ };
1130
+ configInput: {
1131
+ link?: string | undefined;
1132
+ title?: string | undefined;
1133
+ icon?: string | undefined;
1134
+ titleKey?: string | undefined;
1135
+ priority?: number | undefined;
1136
+ sectionLabel?: string | undefined;
1137
+ sectionLink?: string | undefined;
1138
+ sectionLinkLabel?: string | undefined;
1139
+ };
1140
+ output: _backstage_frontend_plugin_api.ExtensionDataRef<GlobalHeaderMenuItemData, "global-header.menu-item", {}>;
1141
+ inputs: {};
1142
+ params: MenuItemParams;
1143
+ }> | _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
1144
+ kind: "gh-menu-item";
1145
+ name: "logout";
1146
+ config: {
1147
+ priority: number | undefined;
1148
+ title: string | undefined;
1149
+ titleKey: string | undefined;
1150
+ icon: string | undefined;
1151
+ link: string | undefined;
1152
+ sectionLabel: string | undefined;
1153
+ sectionLink: string | undefined;
1154
+ sectionLinkLabel: string | undefined;
1155
+ };
1156
+ configInput: {
1157
+ link?: string | undefined;
1158
+ title?: string | undefined;
1159
+ icon?: string | undefined;
1160
+ titleKey?: string | undefined;
1161
+ priority?: number | undefined;
1162
+ sectionLabel?: string | undefined;
1163
+ sectionLink?: string | undefined;
1164
+ sectionLinkLabel?: string | undefined;
1165
+ };
1166
+ output: _backstage_frontend_plugin_api.ExtensionDataRef<GlobalHeaderMenuItemData, "global-header.menu-item", {}>;
1167
+ inputs: {};
1168
+ params: MenuItemParams;
1169
+ }> | _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
1170
+ kind: "gh-menu-item";
1171
+ name: "support-button";
1172
+ config: {
1173
+ priority: number | undefined;
1174
+ title: string | undefined;
1175
+ titleKey: string | undefined;
1176
+ icon: string | undefined;
1177
+ link: string | undefined;
1178
+ sectionLabel: string | undefined;
1179
+ sectionLink: string | undefined;
1180
+ sectionLinkLabel: string | undefined;
1181
+ };
1182
+ configInput: {
1183
+ link?: string | undefined;
1184
+ title?: string | undefined;
1185
+ icon?: string | undefined;
1186
+ titleKey?: string | undefined;
1187
+ priority?: number | undefined;
1188
+ sectionLabel?: string | undefined;
1189
+ sectionLink?: string | undefined;
1190
+ sectionLinkLabel?: string | undefined;
1191
+ };
1192
+ output: _backstage_frontend_plugin_api.ExtensionDataRef<GlobalHeaderMenuItemData, "global-header.menu-item", {}>;
1193
+ inputs: {};
1194
+ params: MenuItemParams;
1195
+ }> | _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
1196
+ kind: "gh-menu-item";
1197
+ name: "app-launcher-devhub";
1198
+ config: {
1199
+ priority: number | undefined;
1200
+ title: string | undefined;
1201
+ titleKey: string | undefined;
1202
+ icon: string | undefined;
1203
+ link: string | undefined;
1204
+ sectionLabel: string | undefined;
1205
+ sectionLink: string | undefined;
1206
+ sectionLinkLabel: string | undefined;
1207
+ };
1208
+ configInput: {
1209
+ link?: string | undefined;
1210
+ title?: string | undefined;
1211
+ icon?: string | undefined;
1212
+ titleKey?: string | undefined;
1213
+ priority?: number | undefined;
1214
+ sectionLabel?: string | undefined;
1215
+ sectionLink?: string | undefined;
1216
+ sectionLinkLabel?: string | undefined;
1217
+ };
1218
+ output: _backstage_frontend_plugin_api.ExtensionDataRef<GlobalHeaderMenuItemData, "global-header.menu-item", {}>;
1219
+ inputs: {};
1220
+ params: MenuItemParams;
1221
+ }> | _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
1222
+ kind: "gh-menu-item";
1223
+ name: "app-launcher-rhdh-local";
1224
+ config: {
1225
+ priority: number | undefined;
1226
+ title: string | undefined;
1227
+ titleKey: string | undefined;
1228
+ icon: string | undefined;
1229
+ link: string | undefined;
1230
+ sectionLabel: string | undefined;
1231
+ sectionLink: string | undefined;
1232
+ sectionLinkLabel: string | undefined;
1233
+ };
1234
+ configInput: {
1235
+ link?: string | undefined;
1236
+ title?: string | undefined;
1237
+ icon?: string | undefined;
1238
+ titleKey?: string | undefined;
1239
+ priority?: number | undefined;
1240
+ sectionLabel?: string | undefined;
1241
+ sectionLink?: string | undefined;
1242
+ sectionLinkLabel?: string | undefined;
1243
+ };
1244
+ output: _backstage_frontend_plugin_api.ExtensionDataRef<GlobalHeaderMenuItemData, "global-header.menu-item", {}>;
1245
+ inputs: {};
1246
+ params: MenuItemParams;
1247
+ }>)[];
1248
+
1249
+ /**
1250
+ * App module that registers global header translations.
1251
+ * @alpha
1252
+ */
1253
+ declare const globalHeaderTranslationsModule: _backstage_frontend_plugin_api.FrontendModule;
1254
+
1255
+ export { GlobalHeaderComponentBlueprint, type GlobalHeaderComponentData, GlobalHeaderDropdown, type GlobalHeaderDropdownProps, GlobalHeaderMenuItem, GlobalHeaderMenuItemBlueprint, type GlobalHeaderMenuItemData, type GlobalHeaderMenuItemProps, type MenuItemParams, type ToolbarComponentParams, appLauncherDevHubMenuItemExtension, appLauncherRhdhLocalMenuItemExtension, applicationLauncherDropdownExtension, companyLogoExtension, globalHeaderPlugin as default, defaultMenuItemExtensions, defaultToolbarExtensions, dividerExtension, globalHeaderComponentDataRef, globalHeaderMenuItemDataRef, globalHeaderModule, globalHeaderTranslationsModule, helpDropdownExtension, logoutMenuItemExtension, myProfileMenuItemExtension, notificationButtonExtension, profileDropdownExtension, searchExtension, selfServiceButtonExtension, settingsMenuItemExtension, spacerExtension, starredDropdownExtension, supportButtonMenuItemExtension, useGlobalHeaderComponents, useGlobalHeaderMenuItems };