asma-ui-core 3.77.0 → 3.78.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.
@@ -0,0 +1,12 @@
1
+ import { useCallback as s, useEffect as o, useRef as u } from "react";
2
+ function a(e) {
3
+ const t = u(e), r = u(!1), n = u(null), f = s((c) => {
4
+ n.current = c, c && r.current && (r.current = !1, c.focus());
5
+ }, []);
6
+ return o(() => {
7
+ t.current !== e && (t.current = e, r.current = !0, n.current && (r.current = !1, n.current.focus()));
8
+ }, [e]), f;
9
+ }
10
+ export {
11
+ a as useRouteHeadingFocus
12
+ };
package/dist/index.js CHANGED
@@ -12,11 +12,11 @@ import { ChevronDoubleLeftIcon as g } from "./components/icons/chevron-double-le
12
12
  import { ChevronDoubleRightIcon as h } from "./components/icons/chevron-double-right-icon/ChevronDoubleRightIcon.js";
13
13
  import { QnrIcon as b } from "./components/icons/qnr-icon/QnrIcon.js";
14
14
  import { PdfIcon as P } from "./components/icons/pdf-icon/PdfIcon.js";
15
- import { DashboardViewIcon as A } from "./components/icons/dashboard-view-icon/DashboardViewIcon.js";
15
+ import { DashboardViewIcon as F } from "./components/icons/dashboard-view-icon/DashboardViewIcon.js";
16
16
  import { DashboardViewOutlineIcon as R } from "./components/icons/dashboard-view-outline-icon/DashboardViewOutlineIcon.js";
17
17
  import { PeopleOutlineIcon as v } from "./components/icons/people-outline-icon/PeopleOutlineIcon.js";
18
18
  import { PeopleIcon as B } from "./components/icons/people-icon/PeopleIcon.js";
19
- import { CheckOutlineIcon as x } from "./components/icons/check-outline-icon/CheckOutlineIcon.js";
19
+ import { CheckOutlineIcon as N } from "./components/icons/check-outline-icon/CheckOutlineIcon.js";
20
20
  import { CheckFactOutlineIcon as _ } from "./components/icons/check-fact-outline-icon/CheckFactOutlineIcon.js";
21
21
  import { CheckFactIcon as W } from "./components/icons/check-fact-icon/CheckFactIcon.js";
22
22
  import { CalendarIcon as V } from "./components/icons/calendar-icon/CalendarIcon.js";
@@ -39,11 +39,11 @@ import { PersonOutlineIcon as Do } from "./components/icons/person-outline-icon/
39
39
  import { DotsVerticalIcon as ko } from "./components/icons/dots-vertical-icon/DotsVerticalIcon.js";
40
40
  import { SearchIcon as Lo } from "./components/icons/search-icon/SearchIcon.js";
41
41
  import { LoadingIcon as To } from "./components/icons/loading-icon/LoadingIcon.js";
42
- import { DropUpIcon as Fo } from "./components/icons/drop-up-icon/DropUpIcon.js";
42
+ import { DropUpIcon as Ao } from "./components/icons/drop-up-icon/DropUpIcon.js";
43
43
  import { DropDownIcon as Mo } from "./components/icons/drop-down-icon/DropDownIcon.js";
44
44
  import { ArchiveIcon as wo } from "./components/icons/archive-icon/ArchiveIcon.js";
45
- import { DownloadIcon as No } from "./components/icons/download-icon/DownloadIcon.js";
46
- import { CheckBoxCheckedIcon as Ho } from "./components/icons/checkbox-checked-icon/CheckBoxCheckedIcon.js";
45
+ import { DownloadIcon as Ho } from "./components/icons/download-icon/DownloadIcon.js";
46
+ import { CheckBoxCheckedIcon as xo } from "./components/icons/checkbox-checked-icon/CheckBoxCheckedIcon.js";
47
47
  import { ChevronDownIcon as Eo } from "./components/icons/chevron-down-icon/ChevronDownIcon.js";
48
48
  import { ChevronUpIcon as Uo } from "./components/icons/chevron-up-icon/ChevronUpIcon.js";
49
49
  import { CloseIcon as zo } from "./components/icons/close-icon/CloseIcon.js";
@@ -66,11 +66,11 @@ import { ReplayIcon as Dr } from "./components/icons/replay-icon/ReplayIcon.js";
66
66
  import { CalendarBlankOutlineIcon as kr } from "./components/icons/calendar-blank-outline-icon/CalendarBlankOutlineIcon.js";
67
67
  import { LinkOutlineIcon as Lr } from "./components/icons/link-outline-icon/LinkOutlineIcon.js";
68
68
  import { FastCheckOutlineIcon as Tr } from "./components/icons/fast-check-outline-icon/FastCheckOutlineIcon.js";
69
- import { UnknownDocumentOutlineRoundedIcon as Fr } from "./components/icons/unknown-document-outline-rounded-icon/UnknownDocumentOutlineRoundedIcon.js";
69
+ import { UnknownDocumentOutlineRoundedIcon as Ar } from "./components/icons/unknown-document-outline-rounded-icon/UnknownDocumentOutlineRoundedIcon.js";
70
70
  import { ListStatusIcon as Mr } from "./components/icons/list-status-icon/ListStatusIcon.js";
71
71
  import { ListViewOutlineIcon as wr } from "./components/icons/list-view-outline-icon/ListViewOutlineIcon.js";
72
- import { TextBoxCheckOutlineIcon as Nr } from "./components/icons/text-box-check-outline-icon/TextBoxCheckOutlineIcon.js";
73
- import { ListSettingsLineIcon as Hr } from "./components/icons/list-settings-line-icon/ListSettingsLineIcon.js";
72
+ import { TextBoxCheckOutlineIcon as Hr } from "./components/icons/text-box-check-outline-icon/TextBoxCheckOutlineIcon.js";
73
+ import { ListSettingsLineIcon as xr } from "./components/icons/list-settings-line-icon/ListSettingsLineIcon.js";
74
74
  import { EarthIcon as Er } from "./components/icons/earth-icon/EarthIcon.js";
75
75
  import { SettingsMenuHorizontalIcon as Ur } from "./components/icons/settings-menu-horizontal-icon/SettingsMenuHorizontalIcon.js";
76
76
  import { PencilOutlineIcon as zr } from "./components/icons/pencil-outline-icon/PencilOutlineIcon.js";
@@ -93,11 +93,11 @@ import { FormIcon as Dm } from "./components/icons/form-icon/FormIcon.js";
93
93
  import { RepeatOutlineIcon as km } from "./components/icons/repeat-outline-icon/RepeatOutlineIcon.js";
94
94
  import { ClockOutlineIcon as Lm } from "./components/icons/clock-outline-icon/ClockOutlineIcon.js";
95
95
  import { TodayIcon as Tm } from "./components/icons/today-icon/TodayIcon.js";
96
- import { MicrosoftOutlookIcon as Fm } from "./components/icons/microsoft-outlook-icon/MicrosoftOutlookIcon.js";
96
+ import { MicrosoftOutlookIcon as Am } from "./components/icons/microsoft-outlook-icon/MicrosoftOutlookIcon.js";
97
97
  import { LoginIcon as Mm } from "./components/icons/login-logout-icons/LoginIcon.js";
98
98
  import { LogoutIcon as wm } from "./components/icons/login-logout-icons/LogoutIcon.js";
99
- import { TimerIcon as Nm } from "./components/icons/timer-icon/TimerIcon.js";
100
- import { BackIcon as Hm } from "./components/icons/back-icon/BackIcon.js";
99
+ import { TimerIcon as Hm } from "./components/icons/timer-icon/TimerIcon.js";
100
+ import { BackIcon as xm } from "./components/icons/back-icon/BackIcon.js";
101
101
  import { HelpIcon as Em } from "./components/icons/help-icon/HelpIcon.js";
102
102
  import { HelpOutlineIcon as Um } from "./components/icons/help-outline-icon/HelpOutlineIcon.js";
103
103
  import { NewWindowIcon as zm } from "./components/icons/new-window-icon/NewWindowIcon.js";
@@ -120,11 +120,11 @@ import { ContentCopyOutlineIcon as Dt } from "./components/icons/content-copy-ou
120
120
  import { RefreshIcon as kt } from "./components/icons/refresh-icon/RefreshIcon.js";
121
121
  import { SettingsNoteIcon as Lt } from "./components/icons/settings-note-icon/SettingsNoteIcon.js";
122
122
  import { InheritancePointerIcon as Tt } from "./components/icons/inheritance-pointer-icon/InheritancePointerIcon.js";
123
- import { CloudDoneOutlineIcon as Ft } from "./components/icons/cloud-done-outline-icon/CloudDoneOutlineIcon.js";
123
+ import { CloudDoneOutlineIcon as At } from "./components/icons/cloud-done-outline-icon/CloudDoneOutlineIcon.js";
124
124
  import { CloudIcon as Mt } from "./components/icons/cloud-icon/CloudIcon.js";
125
125
  import { AttachFileIcon as wt } from "./components/icons/attach-file-icon/AttachFileIcon.js";
126
- import { SendIcon as Nt } from "./components/icons/send-icon/SendIcon.js";
127
- import { CardIdIcon as Ht } from "./components/icons/card-id-icon/CardIdIcon.js";
126
+ import { SendIcon as Ht } from "./components/icons/send-icon/SendIcon.js";
127
+ import { CardIdIcon as xt } from "./components/icons/card-id-icon/CardIdIcon.js";
128
128
  import { CheckCircleIcon as Et } from "./components/icons/check-circle-icon/CheckCircleIndex.js";
129
129
  import { CardIdIconOutlined as Ut } from "./components/icons/card-id-icon-outlined/CardIdIconOutlined.js";
130
130
  import { OutlineNotificationsIcon as zt } from "./components/icons/outline-notifications-icon/OutlineNotificationsIcon.js";
@@ -147,11 +147,11 @@ import { CancelOutlineIcon as Di } from "./components/icons/cancel-outline-icon/
147
147
  import { InfoOutlineIcon as ki } from "./components/icons/info-outline-icon/InfoOutlineIcon.js";
148
148
  import { TuneIcon as Li } from "./components/icons/tune-icon/TuneIcon.js";
149
149
  import { FileDocIcon as Ti } from "./components/icons/file-doc-icon/FileDocIcon.js";
150
- import { DvrIconOutline as Fi } from "./components/icons/dvr-icon-outline/DvrIconOutline.js";
150
+ import { DvrIconOutline as Ai } from "./components/icons/dvr-icon-outline/DvrIconOutline.js";
151
151
  import { BackupIcon as Mi } from "./components/icons/backup-icon/BackupIcon.js";
152
152
  import { DownloadTrayIcon as wi } from "./components/icons/download-tray-icon/DownloadTrayIcon.js";
153
- import { DownloadingIcon as Ni } from "./components/icons/downloading-icon/DownloadingIcon.js";
154
- import { FileRtfIcon as Hi } from "./components/icons/file-rtf-icon/FileRtfIcon.js";
153
+ import { DownloadingIcon as Hi } from "./components/icons/downloading-icon/DownloadingIcon.js";
154
+ import { FileRtfIcon as xi } from "./components/icons/file-rtf-icon/FileRtfIcon.js";
155
155
  import { LinkOffIcon as Ei } from "./components/icons/link-off-icon/LinkOffIcon.js";
156
156
  import { CircleWarningOutlineIcon as Ui } from "./components/icons/warning-circle-icon/CircleWarningOutlineIcon.js";
157
157
  import { AppRegistrationIcon as zi } from "./components/icons/app-registration-icon/AppRegistrationIcon.js";
@@ -174,11 +174,11 @@ import { FileImageIcon as De } from "./components/icons/file-image-icon/FileImag
174
174
  import { DrawIcon as ke } from "./components/icons/draw-icon/DrawIcon.js";
175
175
  import { ArrowShrinkIcon as Le } from "./components/icons/arrow-shrink-icon/ArrowShrinkIcon.js";
176
176
  import { IndeterminateIcon as Te } from "./components/icons/indeterminate-icon/IndeterminateIcon.js";
177
- import { ManageSearchIcon as Fe } from "./components/icons/manage-search-icon/ManageSearchIcon.js";
177
+ import { ManageSearchIcon as Ae } from "./components/icons/manage-search-icon/ManageSearchIcon.js";
178
178
  import { HubIcon as Me } from "./components/icons/hub-icon/HubIcon.js";
179
179
  import { HubIconFilled as we } from "./components/icons/hub-icon/HubIconFilled.js";
180
- import { WidgetIcon as Ne } from "./components/icons/widgets-icon/WidgetIcon.js";
181
- import { WidgetIconFilled as He } from "./components/icons/widgets-icon/WidgetIconFilled.js";
180
+ import { WidgetIcon as He } from "./components/icons/widgets-icon/WidgetIcon.js";
181
+ import { WidgetIconFilled as xe } from "./components/icons/widgets-icon/WidgetIconFilled.js";
182
182
  import { RocketLaunchIcon as Ee } from "./components/icons/rocket-launch-icon/RocketLaunchIcon.js";
183
183
  import { LoadCurrentIcon as Ue } from "./components/icons/load-current-icon/LoadCurrentIcon.js";
184
184
  import { RotateAutoIcon as ze } from "./components/icons/rotate-auto-icon/RotateAutoIcon.js";
@@ -200,11 +200,11 @@ import { StyledDialogActions as gn } from "./components/feedback/dialog/StyledDi
200
200
  import { StyledDialogContent as hn } from "./components/feedback/dialog/StyledDialogContent.js";
201
201
  import { StyledDialogTitle as bn } from "./components/feedback/dialog/StyledDialogTitle.js";
202
202
  import { StyledEmptyPage as Pn } from "./components/feedback/empty-page/StyledEmptyPage.js";
203
- import { StyledFilteredEmptyState as An } from "./components/feedback/filtered-empty-state/StyledFilteredEmptyState.js";
203
+ import { StyledFilteredEmptyState as Fn } from "./components/feedback/filtered-empty-state/StyledFilteredEmptyState.js";
204
204
  import { StyledLoading as Rn } from "./components/feedback/loading/StyledLoading.js";
205
205
  import { StyledAlert as vn } from "./components/feedback/snack-bar/StyledAlert.js";
206
206
  import { SnackbarProvider as Bn } from "./components/feedback/snack-bar/SnackbarProvider.js";
207
- import { StyledSnackbar as xn } from "./components/feedback/snack-bar/StyledSnackbar.js";
207
+ import { StyledSnackbar as Nn } from "./components/feedback/snack-bar/StyledSnackbar.js";
208
208
  import { processAlertSnackBar as _n } from "./components/feedback/snack-bar/processAlertSnackBar.js";
209
209
  import { processDefaultSnackbar as Wn } from "./components/feedback/snack-bar/processDefaultSnackbar.js";
210
210
  import { processInfoSnackbar as Vn } from "./components/feedback/snack-bar/processInfoSnackbar.js";
@@ -226,9 +226,9 @@ import { StyledFormControl as gp } from "./components/miscellaneous/StyledFormCo
226
226
  import { defaultDatePickerValidationMessages as hp, useDatePickerValidation as kp } from "./datetime/components/date-picker/hooks/useDatePickerValidation.js";
227
227
  import { StyledDrawer as Lp } from "./components/navigation/drawer/StyledDrawer.js";
228
228
  import { StyledDatePicker as Tp } from "./datetime/components/date-picker/StyledDatePicker.js";
229
- import { PopupState as Fp, bindPopover as Rp, bindPopper as Mp, bindTrigger as vp, usePopupState as wp } from "./hooks/usePopupState.js";
230
- import { ClickAwayListener as Np } from "./components/mui-compat/ClickAwayListener.js";
231
- import { Paper as Hp } from "./components/mui-compat/Paper.js";
229
+ import { PopupState as Ap, bindPopover as Rp, bindPopper as Mp, bindTrigger as vp, usePopupState as wp } from "./hooks/usePopupState.js";
230
+ import { ClickAwayListener as Hp } from "./components/mui-compat/ClickAwayListener.js";
231
+ import { Paper as xp } from "./components/mui-compat/Paper.js";
232
232
  import { Stack as Ep } from "./components/mui-compat/Stack.js";
233
233
  import { Container as Up } from "./components/mui-compat/Container.js";
234
234
  import { Avatar as zp } from "./components/mui-compat/Avatar.js";
@@ -250,11 +250,11 @@ import { StyledLink as Df } from "./components/navigation/link/StyledLink.js";
250
250
  import { StyledTab as kf } from "./components/navigation/tabs/StyledTab.js";
251
251
  import { StyledTabs as Lf } from "./components/navigation/tabs/StyledTabs.js";
252
252
  import { StyledTitleChevron as Tf } from "./components/navigation/title-chevron/StyledTitleChevron.js";
253
- import { Listbox as Ff } from "./components/navigation/listbox/Listbox.js";
253
+ import { Listbox as Af } from "./components/navigation/listbox/Listbox.js";
254
254
  import { StyledAccordion as Mf } from "./components/utils/accordion/base-ui/StyledAccordion.js";
255
255
  import { StyledAccordionSummary as wf } from "./components/utils/accordion/base-ui/StyledAccordionSummary.js";
256
- import { StyledAccordionDetails as Nf } from "./components/utils/accordion/base-ui/StyledAccordionDetails.js";
257
- import { ACTIONS_COLUMN_ID as Hf, DND_HANDLE_COLUMN_ID as _f, EXPAND_COLUMN_ID as Ef, INTERNAL_COLUMN_IDS as Wf, SELECT_COLUMN_ID as Uf, SHOW_FULL_TEXT_ID as Vf, isCustomAction as zf } from "./table/types.js";
256
+ import { StyledAccordionDetails as Hf } from "./components/utils/accordion/base-ui/StyledAccordionDetails.js";
257
+ import { ACTIONS_COLUMN_ID as xf, DND_HANDLE_COLUMN_ID as _f, EXPAND_COLUMN_ID as Ef, INTERNAL_COLUMN_IDS as Wf, SELECT_COLUMN_ID as Uf, SHOW_FULL_TEXT_ID as Vf, isCustomAction as zf } from "./table/types.js";
258
258
  import { RowDragHandleCell as Xf } from "./table/components/columns/dndHandleColumn.js";
259
259
  import { StyledTable as Kf } from "./table/components/StyledTableIndex.js";
260
260
  import { createColumnHelper as Zf } from "./table/index.js";
@@ -270,12 +270,14 @@ import { StyledWidget as uc } from "./components/custom/widget/widget/StyledWidg
270
270
  import { StyledModuleTitle as sc } from "./components/custom/module/module-title/StyledModuleTitle.js";
271
271
  import { ACTION_GAP_PX as Cc, MORE_BUTTON_PX as Oc, estimateToolbarActionWidth as gc, planBulkToolbarActions as Dc, planToolbarActions as hc, resolveToolbarActionWidth as kc } from "./components/custom/module/header-layout/planToolbarActions.js";
272
272
  import { DynamicToolbar as Lc } from "./components/custom/module/header-layout/DynamicToolbar.js";
273
- import { MinimizableDialog as Tc } from "./components/feedback/minimizable-dialog/MinimizableDialog.js";
274
- import { MinimizableDialogV2 as Fc } from "./components/feedback/minimizable-dialog/v2/MinimizableDialogV2.js";
275
- import { createDialogStack as Mc } from "./components/feedback/minimizable-dialog/stack/createDialogStack.js";
276
- import { PathfinderCard as wc } from "./components/custom/pathfinder-card/PathfinderCard.js";
273
+ import { PageHeader as Tc } from "./components/custom/page/page-header/PageHeader.js";
274
+ import { MinimizableDialog as Ac } from "./components/feedback/minimizable-dialog/MinimizableDialog.js";
275
+ import { MinimizableDialogV2 as Mc } from "./components/feedback/minimizable-dialog/v2/MinimizableDialogV2.js";
276
+ import { createDialogStack as wc } from "./components/feedback/minimizable-dialog/stack/createDialogStack.js";
277
+ import { PathfinderCard as Hc } from "./components/custom/pathfinder-card/PathfinderCard.js";
278
+ import { useRouteHeadingFocus as xc } from "./hooks/useRouteHeadingFocus.js";
277
279
  export {
278
- Hf as ACTIONS_COLUMN_ID,
280
+ xf as ACTIONS_COLUMN_ID,
279
281
  Cc as ACTION_GAP_PX,
280
282
  zi as AppRegistrationIcon,
281
283
  wo as ArchiveIcon,
@@ -287,7 +289,7 @@ export {
287
289
  Y as AssignmentOutlineIcon,
288
290
  wt as AttachFileIcon,
289
291
  zp as Avatar,
290
- Hm as BackIcon,
292
+ xm as BackIcon,
291
293
  Mi as BackupIcon,
292
294
  tm as BadgeIcon,
293
295
  a as BellIcon,
@@ -298,14 +300,14 @@ export {
298
300
  Q as CalendarRangeOutlineIcon,
299
301
  Ke as CallIcon,
300
302
  Di as CancelOutlineIcon,
301
- Ht as CardIdIcon,
303
+ xt as CardIdIcon,
302
304
  Ut as CardIdIconOutlined,
303
- Ho as CheckBoxCheckedIcon,
305
+ xo as CheckBoxCheckedIcon,
304
306
  Et as CheckCircleIcon,
305
307
  W as CheckFactIcon,
306
308
  _ as CheckFactOutlineIcon,
307
309
  Xo as CheckIcon,
308
- x as CheckOutlineIcon,
310
+ N as CheckOutlineIcon,
309
311
  Se as CheckReadIcon,
310
312
  g as ChevronDoubleLeftIcon,
311
313
  h as ChevronDoubleRightIcon,
@@ -314,10 +316,10 @@ export {
314
316
  s as ChevronRightIcon,
315
317
  Uo as ChevronUpIcon,
316
318
  Ui as CircleWarningOutlineIcon,
317
- Np as ClickAwayListener,
319
+ Hp as ClickAwayListener,
318
320
  Lm as ClockOutlineIcon,
319
321
  zo as CloseIcon,
320
- Ft as CloudDoneOutlineIcon,
322
+ At as CloudDoneOutlineIcon,
321
323
  Mt as CloudIcon,
322
324
  Ji as CloudOffOutlineIcon,
323
325
  Zr as ConsentsIcon,
@@ -330,7 +332,7 @@ export {
330
332
  ic as CopyButton,
331
333
  nc as CopyWrapper,
332
334
  _f as DND_HANDLE_COLUMN_ID,
333
- A as DashboardViewIcon,
335
+ F as DashboardViewIcon,
334
336
  R as DashboardViewOutlineIcon,
335
337
  cr as DeleteOutlineIcon,
336
338
  $m as DescriptionIcon,
@@ -339,15 +341,15 @@ export {
339
341
  Jm as DnsOutlineIcon,
340
342
  Xm as DoneAllIcon,
341
343
  ko as DotsVerticalIcon,
342
- No as DownloadIcon,
344
+ Ho as DownloadIcon,
343
345
  wi as DownloadTrayIcon,
344
- Ni as DownloadingIcon,
346
+ Hi as DownloadingIcon,
345
347
  er as DragHorizontalIcon,
346
348
  ke as DrawIcon,
347
349
  Mo as DropDownIcon,
348
- Fo as DropUpIcon,
350
+ Ao as DropUpIcon,
349
351
  yr as DvrIcon,
350
- Fi as DvrIconOutline,
352
+ Ai as DvrIconOutline,
351
353
  Lc as DynamicToolbar,
352
354
  Jf as DynamicToolbarLayoutContext,
353
355
  Ef as EXPAND_COLUMN_ID,
@@ -362,7 +364,7 @@ export {
362
364
  Ti as FileDocIcon,
363
365
  De as FileImageIcon,
364
366
  pr as FilePdfIcon,
365
- Hi as FileRtfIcon,
367
+ xi as FileRtfIcon,
366
368
  Oe as FileXlsIcon,
367
369
  Ir as FilterIcon,
368
370
  dr as FilterIconOff,
@@ -395,10 +397,10 @@ export {
395
397
  Ei as LinkOffIcon,
396
398
  Lr as LinkOutlineIcon,
397
399
  oo as ListNumberedIcon,
398
- Hr as ListSettingsLineIcon,
400
+ xr as ListSettingsLineIcon,
399
401
  Mr as ListStatusIcon,
400
402
  wr as ListViewOutlineIcon,
401
- Ff as Listbox,
403
+ Af as Listbox,
402
404
  Ue as LoadCurrentIcon,
403
405
  To as LoadingIcon,
404
406
  Om as LocationIcon,
@@ -406,13 +408,13 @@ export {
406
408
  Mm as LoginIcon,
407
409
  wm as LogoutIcon,
408
410
  Oc as MORE_BUTTON_PX,
409
- Fe as ManageSearchIcon,
411
+ Ae as ManageSearchIcon,
410
412
  mo as MessageProcessingIcon,
411
413
  io as MessageProcessingOutlineIcon,
412
414
  rm as MessageReplyIcon,
413
- Fm as MicrosoftOutlookIcon,
414
- Tc as MinimizableDialog,
415
- Fc as MinimizableDialogV2,
415
+ Am as MicrosoftOutlookIcon,
416
+ Ac as MinimizableDialog,
417
+ Mc as MinimizableDialogV2,
416
418
  Jr as MinimizeIcon,
417
419
  Xe as MoveUpIcon,
418
420
  G as NewCalendarIcon,
@@ -423,8 +425,9 @@ export {
423
425
  Kt as OutlineCheckboxIconChecked,
424
426
  Jt as OutlineCheckboxIconIndeterminate,
425
427
  zt as OutlineNotificationsIcon,
426
- Hp as Paper,
427
- wc as PathfinderCard,
428
+ Tc as PageHeader,
429
+ xp as Paper,
430
+ Hc as PathfinderCard,
428
431
  P as PdfIcon,
429
432
  zr as PencilOutlineIcon,
430
433
  B as PeopleIcon,
@@ -439,7 +442,7 @@ export {
439
442
  pm as PlusIcon,
440
443
  cm as PlusIconCircle,
441
444
  Jp as Popper,
442
- Fp as PopupState,
445
+ Ap as PopupState,
443
446
  b as QnrIcon,
444
447
  kt as RefreshIcon,
445
448
  di as RemoveIcon,
@@ -457,7 +460,7 @@ export {
457
460
  Vf as SHOW_FULL_TEXT_ID,
458
461
  Ii as SaveIcon,
459
462
  Lo as SearchIcon,
460
- Nt as SendIcon,
463
+ Ht as SendIcon,
461
464
  lo as SettingsIcon,
462
465
  Ur as SettingsMenuHorizontalIcon,
463
466
  Lt as SettingsNoteIcon,
@@ -469,7 +472,7 @@ export {
469
472
  Ep as Stack,
470
473
  un as StyledAIDisclosure,
471
474
  Mf as StyledAccordion,
472
- Nf as StyledAccordionDetails,
475
+ Hf as StyledAccordionDetails,
473
476
  wf as StyledAccordionSummary,
474
477
  vn as StyledAlert,
475
478
  f as StyledBadge,
@@ -486,7 +489,7 @@ export {
486
489
  Pn as StyledEmptyPage,
487
490
  oc as StyledFilterButton,
488
491
  mc as StyledFilterMenu,
489
- An as StyledFilteredEmptyState,
492
+ Fn as StyledFilteredEmptyState,
490
493
  gp as StyledFormControl,
491
494
  pf as StyledFormControlLabel,
492
495
  df as StyledFormGroup,
@@ -510,7 +513,7 @@ export {
510
513
  np as StyledSelectAutocomplete,
511
514
  ip as StyledSelectItem,
512
515
  fp as StyledSlider,
513
- xn as StyledSnackbar,
516
+ Nn as StyledSnackbar,
514
517
  lp as StyledSwitch,
515
518
  kf as StyledTab,
516
519
  Kf as StyledTable,
@@ -525,13 +528,13 @@ export {
525
528
  lc as StyledWidgetTitle,
526
529
  Xt as SyncIcon,
527
530
  Zi as SyncSavedLocallyIcon,
528
- Nr as TextBoxCheckOutlineIcon,
531
+ Hr as TextBoxCheckOutlineIcon,
529
532
  pe as TimelapseOutlineIcon,
530
- Nm as TimerIcon,
533
+ Hm as TimerIcon,
531
534
  Tm as TodayIcon,
532
535
  rr as TopicIcon,
533
536
  Li as TuneIcon,
534
- Fr as UnknownDocumentOutlineRoundedIcon,
537
+ Ar as UnknownDocumentOutlineRoundedIcon,
535
538
  Km as UnlockIcon,
536
539
  Oi as UploadIcon,
537
540
  fc as VirtualList,
@@ -540,8 +543,8 @@ export {
540
543
  $i as VisibilityOutlineIcon,
541
544
  ce as WandStarsIcon,
542
545
  Xr as WarningAmberOutlineIcon,
543
- Ne as WidgetIcon,
544
- He as WidgetIconFilled,
546
+ He as WidgetIcon,
547
+ xe as WidgetIconFilled,
545
548
  ym as WorkIcon,
546
549
  Rp as bindPopover,
547
550
  Mp as bindPopper,
@@ -549,7 +552,7 @@ export {
549
552
  qn as closeSnackbar,
550
553
  m as cn,
551
554
  Zf as createColumnHelper,
552
- Mc as createDialogStack,
555
+ wc as createDialogStack,
553
556
  hp as defaultDatePickerValidationMessages,
554
557
  $p as defaultTimePickerHelperMessages,
555
558
  Kn as enqueueSnackbar,
@@ -569,5 +572,6 @@ export {
569
572
  kp as useDatePickerValidation,
570
573
  Yf as useDynamicToolbarLayout,
571
574
  wp as usePopupState,
575
+ xc as useRouteHeadingFocus,
572
576
  Qn as useSnackbar
573
577
  };
@@ -11,9 +11,15 @@ export declare function MoreTriggerButton({ overflowMenuLabel, onOpen, }: {
11
11
  onOpen?: (anchor: HTMLElement) => void;
12
12
  }): JSX.Element;
13
13
  /** Inline action buttons plus the "More" overflow menu for a planned strip. */
14
- export declare function ToolbarActionGroup({ plan, overflowMenuLabel, className, selectionTone, }: {
14
+ export declare function ToolbarActionGroup({ plan, overflowMenuLabel, className, selectionTone, registerActionWidth, }: {
15
15
  plan: PlannedToolbarActions;
16
16
  overflowMenuLabel: string;
17
17
  className?: string;
18
18
  selectionTone?: boolean;
19
+ /**
20
+ * Width-registry hookup for `measureInStrip: false` actions: their single visible
21
+ * mount is measured here, so the planner budgets the real rendered width and the
22
+ * `estimatedWidthPx` only bridges the gap until the first measurement.
23
+ */
24
+ registerActionWidth?: (actionId: string, showLabel: boolean) => (element: HTMLElement | null) => void;
19
25
  }): JSX.Element | null;
@@ -4,6 +4,7 @@ import { ToolbarTranslations } from './useTranslations';
4
4
  export declare const KEY_TITLE = "title";
5
5
  export declare const KEY_LEADING = "slot:leading";
6
6
  export declare const KEY_SEARCH = "slot:search";
7
+ export declare const KEY_STATUS = "slot:status";
7
8
  export declare const KEY_SELECTION_INDICATOR = "selection-indicator";
8
9
  export declare const KEY_MORE_BUTTON = "more-button";
9
10
  export declare const filterKey: (iconOnly: boolean) => string;
@@ -14,14 +15,15 @@ export interface SelectionIndicatorMeasurement {
14
15
  hasClear: boolean;
15
16
  translations: ToolbarTranslations;
16
17
  }
17
- /**
18
- * Invisible, inert strip rendering every action in both variants (label and
19
- * icon-only) plus the More trigger and selection indicator, so the planners
20
- * work with real rendered widths instead of font-dependent guesses.
21
- */
22
- export declare function ToolbarMeasurementStrip({ actions, register, overflowMenuLabel, selectionIndicator, }: {
18
+ /** Invisible strip rendering every action in both variants, so the planners
19
+ * work with real rendered widths instead of guesses. */
20
+ export declare function ToolbarMeasurementStrip({ actions, register, overflowMenuLabel, selectionIndicator, title, titleClassName, }: {
23
21
  actions: DynamicToolbarAction[];
24
22
  register: WidthRegistry['register'];
25
23
  overflowMenuLabel: string;
26
24
  selectionIndicator?: SelectionIndicatorMeasurement;
25
+ /** Title measured as an unconstrained single line (the visible heading is clamped). */
26
+ title?: string;
27
+ /** Typography classes matching the visible heading, so the width is real. */
28
+ titleClassName?: string;
27
29
  }): JSX.Element;
@@ -29,6 +29,13 @@ export interface DynamicToolbarAction {
29
29
  ariaLabel?: string;
30
30
  /** Custom inline renderer for richer actions such as popover triggers. */
31
31
  render?: (options: DynamicToolbarActionRenderOptions) => ReactElement;
32
+ /**
33
+ * Skip the measurement strip for this action and plan with `estimatedWidthPx`
34
+ * instead. For stateful renderers (widgets, stores, always-mounted dialogs)
35
+ * that must mount exactly once. Combine with `keepVisible` so the single
36
+ * mount stays in the visible row.
37
+ */
38
+ measureInStrip?: boolean;
32
39
  }
33
40
  export interface PlannedToolbarAction {
34
41
  action: DynamicToolbarAction;
@@ -4,11 +4,17 @@ declare const translations: {
4
4
  more: string;
5
5
  clearSelection: string;
6
6
  selected: string;
7
+ back: string;
8
+ menu: string;
9
+ close: string;
7
10
  };
8
11
  no: {
9
12
  more: string;
10
13
  clearSelection: string;
11
14
  selected: string;
15
+ back: string;
16
+ menu: string;
17
+ close: string;
12
18
  };
13
19
  };
14
20
  export type ToolbarTranslations = (typeof translations)['en'];
@@ -0,0 +1,47 @@
1
+ import { ReactNode, Ref } from 'react';
2
+ import { DynamicToolbarAction } from '../../module/header-layout/planToolbarActions';
3
+ import { ToolbarLocale } from '../../module/header-layout/useTranslations';
4
+ export interface PageHeaderAction extends DynamicToolbarAction {
5
+ /** Count badge on the action button (e.g. unread notifications). */
6
+ badgeCount?: number;
7
+ }
8
+ export interface PageHeaderProps {
9
+ /** Page/object title — the route heading. PageHeader owns the heading element. */
10
+ title: string;
11
+ /** Heading element. Default `h1` (one PageHeader per route). */
12
+ titleAs?: 'h1' | 'h2' | 'div';
13
+ /** Heading test id, emitted as both `data-test` and `data-testid`. */
14
+ titleDataTest?: string;
15
+ /** Heading ref. For route-change focus pass `useRouteHeadingFocus(pathname)`
16
+ * from a component that survives the host's route changes. */
17
+ titleRef?: Ref<HTMLHeadingElement>;
18
+ /** Context line under the title (subtitle, progress bar, …). */
19
+ subtitle?: ReactNode;
20
+ /** Slot rendered right after the title (status chip, saved-state, help button, …). */
21
+ status?: ReactNode;
22
+ /** Leading navigation control. Never moves into overflow, never disappears. */
23
+ leading?: 'back' | 'menu';
24
+ onLeadingClick?: () => void;
25
+ /** i18n label for the leading control; also its accessible name when icon-only. */
26
+ leadingLabel?: string;
27
+ /** Custom leading node (e.g. an injected widget). Wins over `leading`; never overflows. */
28
+ leadingSlot?: ReactNode;
29
+ /** Trailing actions, adaptive: labels collapse, low-priority actions overflow. */
30
+ actions?: PageHeaderAction[];
31
+ /** Search-mode slot: when `searchOpen`, replaces title and actions (nav stays). */
32
+ search?: ReactNode;
33
+ searchOpen?: boolean;
34
+ onSearchClose?: () => void;
35
+ /** i18n label for the search-mode close button. */
36
+ searchCloseLabel?: string;
37
+ /** Skeleton state — placeholder bars replace title and actions (nav stays). */
38
+ loading?: boolean;
39
+ /** Stick to the top of the scroll container; compacts once scrolled (data-stuck). */
40
+ sticky?: boolean;
41
+ locale?: ToolbarLocale;
42
+ className?: string;
43
+ dataTest?: string;
44
+ }
45
+ /** Maps a PageHeaderAction to the toolbar engine's action shape. Exported for tests. */
46
+ export declare const toToolbarAction: (action: PageHeaderAction) => DynamicToolbarAction;
47
+ export declare function PageHeader({ title, titleAs: HeadingTag, titleDataTest, titleRef, subtitle, status, leading, onLeadingClick, leadingLabel, leadingSlot, actions, search, searchOpen, onSearchClose, searchCloseLabel, loading, sticky, locale, className, dataTest, }: PageHeaderProps): JSX.Element;
@@ -0,0 +1,11 @@
1
+ import { RefObject } from 'react';
2
+ /** Opening search focuses the search slot; closing restores the previously focused
3
+ * element (tracked via focusin — the invoker may already be unmounted), else the heading. */
4
+ export declare function useSearchFocus(hasSearch: boolean, searchOpen: boolean, searchAreaRef: RefObject<HTMLDivElement>, headingRef: RefObject<HTMLElement>): void;
5
+ /** Header is "stuck" (compact) once the sentinel above it scrolls out of view. */
6
+ export declare function useStuckOnScroll(sticky: boolean, sentinelRef: RefObject<HTMLDivElement>): boolean;
7
+ /** Writes the header's measured height as scroll-padding-top on the nearest scroll
8
+ * container, so a sticky header never covers focused content. */
9
+ export declare function useStickyScrollPadding(sticky: boolean, containerRef: RefObject<HTMLDivElement>): void;
10
+ /** True while the 2-line clamp hides part of the title (drives the native tooltip). */
11
+ export declare function useIsTitleClamped(headingRef: RefObject<HTMLElement>, title: string, enabled: boolean): boolean;
@@ -0,0 +1,2 @@
1
+ export { PageHeader } from './PageHeader';
2
+ export type { PageHeaderProps, PageHeaderAction } from './PageHeader';
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Focuses the page heading on route change. Mount once at a level that survives
3
+ * navigation (e.g. `useRouteHeadingFocus(useLocation().pathname)`) and pass the
4
+ * returned ref to `PageHeader`'s `titleRef`. The pending flag also catches
5
+ * headings that mount after navigation; first render and StrictMode replays are no-ops.
6
+ */
7
+ export declare function useRouteHeadingFocus(routeKey: string | number): (element: HTMLElement | null) => void;
@@ -51,7 +51,9 @@ export * from './components/custom/widget/widget-header/StyledWidgetHeader';
51
51
  export * from './components/custom/widget/widget/StyledWidget';
52
52
  export * from './components/custom/module/module-title/StyledModuleTitle';
53
53
  export * from './components/custom/module/header-layout';
54
+ export * from './components/custom/page/page-header';
54
55
  export * from './components/feedback/minimizable-dialog';
55
56
  export * from './components/custom/pathfinder-card/PathfinderCard';
56
57
  export * from './hooks/usePopupState';
58
+ export * from './hooks/useRouteHeadingFocus';
57
59
  export { Paper, ClickAwayListener, Avatar, Skeleton, Container, Stack, FormLabel, Fade, Popper, } from './components/mui-compat';
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "3.77.0",
6
+ "version": "3.78.0",
7
7
  "type": "module",
8
8
  "sideEffects": [
9
9
  "**/*.css",