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.
- package/dist/asma-ui-core.css +1 -1
- package/dist/components/custom/module/header-layout/ToolbarActionGroup.js +47 -40
- package/dist/components/custom/module/header-layout/ToolbarMeasurement.js +48 -32
- package/dist/components/custom/module/header-layout/useTranslations.js +15 -9
- package/dist/components/custom/page/page-header/PageHeader.hooks.js +75 -0
- package/dist/components/custom/page/page-header/PageHeader.js +159 -0
- package/dist/components/feedback/dialog/StyledDialog.js +33 -33
- package/dist/hooks/useRouteHeadingFocus.js +12 -0
- package/dist/index.js +68 -64
- package/dist/src/components/custom/module/header-layout/ToolbarActionGroup.d.ts +7 -1
- package/dist/src/components/custom/module/header-layout/ToolbarMeasurement.d.ts +8 -6
- package/dist/src/components/custom/module/header-layout/planToolbarActions.d.ts +7 -0
- package/dist/src/components/custom/module/header-layout/useTranslations.d.ts +6 -0
- package/dist/src/components/custom/page/page-header/PageHeader.d.ts +47 -0
- package/dist/src/components/custom/page/page-header/PageHeader.hooks.d.ts +11 -0
- package/dist/src/components/custom/page/page-header/PageHeader.test.d.ts +1 -0
- package/dist/src/components/custom/page/page-header/index.d.ts +2 -0
- package/dist/src/hooks/useRouteHeadingFocus.d.ts +7 -0
- package/dist/src/index.d.ts +2 -0
- package/package.json +1 -1
|
@@ -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
|
|
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
|
|
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
|
|
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
|
|
46
|
-
import { CheckBoxCheckedIcon as
|
|
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
|
|
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
|
|
73
|
-
import { ListSettingsLineIcon as
|
|
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
|
|
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
|
|
100
|
-
import { BackIcon as
|
|
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
|
|
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
|
|
127
|
-
import { CardIdIcon as
|
|
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
|
|
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
|
|
154
|
-
import { FileRtfIcon as
|
|
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
|
|
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
|
|
181
|
-
import { WidgetIconFilled as
|
|
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
|
|
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
|
|
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
|
|
230
|
-
import { ClickAwayListener as
|
|
231
|
-
import { Paper as
|
|
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
|
|
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
|
|
257
|
-
import { ACTIONS_COLUMN_ID as
|
|
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 {
|
|
274
|
-
import {
|
|
275
|
-
import {
|
|
276
|
-
import {
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
303
|
+
xt as CardIdIcon,
|
|
302
304
|
Ut as CardIdIconOutlined,
|
|
303
|
-
|
|
305
|
+
xo as CheckBoxCheckedIcon,
|
|
304
306
|
Et as CheckCircleIcon,
|
|
305
307
|
W as CheckFactIcon,
|
|
306
308
|
_ as CheckFactOutlineIcon,
|
|
307
309
|
Xo as CheckIcon,
|
|
308
|
-
|
|
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
|
-
|
|
319
|
+
Hp as ClickAwayListener,
|
|
318
320
|
Lm as ClockOutlineIcon,
|
|
319
321
|
zo as CloseIcon,
|
|
320
|
-
|
|
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
|
-
|
|
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
|
-
|
|
344
|
+
Ho as DownloadIcon,
|
|
343
345
|
wi as DownloadTrayIcon,
|
|
344
|
-
|
|
346
|
+
Hi as DownloadingIcon,
|
|
345
347
|
er as DragHorizontalIcon,
|
|
346
348
|
ke as DrawIcon,
|
|
347
349
|
Mo as DropDownIcon,
|
|
348
|
-
|
|
350
|
+
Ao as DropUpIcon,
|
|
349
351
|
yr as DvrIcon,
|
|
350
|
-
|
|
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
|
-
|
|
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
|
-
|
|
400
|
+
xr as ListSettingsLineIcon,
|
|
399
401
|
Mr as ListStatusIcon,
|
|
400
402
|
wr as ListViewOutlineIcon,
|
|
401
|
-
|
|
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
|
-
|
|
411
|
+
Ae as ManageSearchIcon,
|
|
410
412
|
mo as MessageProcessingIcon,
|
|
411
413
|
io as MessageProcessingOutlineIcon,
|
|
412
414
|
rm as MessageReplyIcon,
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
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
|
-
|
|
427
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
531
|
+
Hr as TextBoxCheckOutlineIcon,
|
|
529
532
|
pe as TimelapseOutlineIcon,
|
|
530
|
-
|
|
533
|
+
Hm as TimerIcon,
|
|
531
534
|
Tm as TodayIcon,
|
|
532
535
|
rr as TopicIcon,
|
|
533
536
|
Li as TuneIcon,
|
|
534
|
-
|
|
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
|
-
|
|
544
|
-
|
|
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
|
-
|
|
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
|
-
*
|
|
19
|
-
|
|
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 @@
|
|
|
1
|
+
export {};
|
|
@@ -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;
|
package/dist/src/index.d.ts
CHANGED
|
@@ -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';
|