@cccsaurora/howler-ui 2.19.0-dev.1294 → 2.19.0-dev.1296
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/api/index.d.ts +1 -1
- package/api/search/action.js +1 -1
- package/api/search/analytic.js +1 -1
- package/api/search/case.js +1 -1
- package/api/search/count/hit.js +1 -1
- package/api/search/dossier.js +1 -1
- package/api/search/eql/hit.js +1 -1
- package/api/search/explain/hit.js +1 -1
- package/api/search/facet/hit.js +1 -1
- package/api/search/grouped/hit.js +1 -1
- package/api/search/grouped/user.js +1 -1
- package/api/search/histogram/hit.js +1 -1
- package/api/search/hit.js +1 -1
- package/api/search/overview.js +1 -1
- package/api/search/sigma/hit.js +1 -1
- package/api/search/template.js +1 -1
- package/api/search/user.js +1 -1
- package/api/search/view.js +1 -1
- package/api/v2/search/facet.js +1 -1
- package/api/v2/search/index.js +1 -1
- package/api/view/index.d.ts +1 -1
- package/branding/AppBrand.d.ts +2 -2
- package/commons/components/app/AppSkeleton.js +1 -1
- package/commons/components/app/hooks/useAppConfigs.d.ts +2 -2
- package/commons/components/app/hooks/useAppSitemap.d.ts +5 -2
- package/commons/components/breadcrumbs/BreadcrumbIcon.js +1 -1
- package/commons/components/breadcrumbs/Breadcrumbs.d.ts +3 -2
- package/commons/components/display/AppToc.d.ts +2 -1
- package/commons/components/display/AppToc.js +1 -1
- package/commons/components/display/hooks/useAppColor.d.ts +1 -1
- package/commons/components/leftnav/LeftNavDrawer.d.ts +2 -1
- package/commons/components/leftnav/LeftNavGroup.d.ts +2 -1
- package/commons/components/leftnav/LeftNavItem.d.ts +2 -1
- package/commons/components/leftnav/LeftNavItem.js +1 -1
- package/commons/components/notification/Notification.js +1 -1
- package/commons/components/notification/elements/NotificationHeader.js +1 -1
- package/commons/components/notification/elements/NotificationItems.js +1 -1
- package/commons/components/notification/elements/item/NotificationItemAuthor.js +1 -1
- package/commons/components/pages/PageCenter.d.ts +2 -1
- package/commons/components/pages/PageContent.d.ts +2 -1
- package/commons/components/pages/PageFullScreen.d.ts +2 -1
- package/commons/components/search/AppSearch.js +1 -1
- package/commons/components/search/AppSearchInput.d.ts +2 -1
- package/commons/components/search/AppSearchResult.d.ts +2 -1
- package/commons/components/topnav/AppBar.d.ts +2 -1
- package/commons/components/topnav/AppName.d.ts +3 -2
- package/commons/components/topnav/AppSwitcher.d.ts +2 -1
- package/commons/components/topnav/ThemeSelection.d.ts +2 -1
- package/commons/components/topnav/ThemeSelection.js +1 -1
- package/commons/components/topnav/UserProfile.d.ts +2 -1
- package/commons/components/topnav/UserProfile.js +1 -1
- package/commons/components/utils/hooks/useThemeBuilder.d.ts +1 -1
- package/components/app/App.js +2 -2
- package/components/app/drawers/ApiKeyDrawer.js +1 -1
- package/components/app/hooks/useMatchers.js +4 -4
- package/components/app/hooks/useTitle.js +1 -1
- package/components/app/providers/AnalyticProvider.js +1 -1
- package/components/app/providers/AvatarProvider.js +1 -1
- package/components/app/providers/FavouritesProvider.js +1 -1
- package/components/app/providers/GridColumnsProvider.d.ts +1 -1
- package/components/app/providers/GridColumnsProvider.js +1 -1
- package/components/app/providers/OverviewProvider.js +1 -1
- package/components/app/providers/RecordProvider.js +2 -2
- package/components/app/providers/RecordSearchProvider.js +2 -2
- package/components/app/providers/SocketProvider.js +3 -3
- package/components/app/providers/UserListProvider.test.js +6 -6
- package/components/app/providers/ViewProvider.js +3 -3
- package/components/elements/Comment.js +2 -2
- package/components/elements/ContextMenu.test.js +3 -3
- package/components/elements/EditRow.js +4 -4
- package/components/elements/ObjectDetails.js +1 -1
- package/components/elements/UserList.js +1 -1
- package/components/elements/addons/buttons/index.d.ts +1 -1
- package/components/elements/addons/layout/FlexOne.d.ts +3 -2
- package/components/elements/addons/layout/FlexPort.d.ts +2 -1
- package/components/elements/addons/layout/FlexVertical.d.ts +2 -1
- package/components/elements/addons/layout/vsbox/VSBoxElement.d.ts +2 -1
- package/components/elements/addons/lists/TuiList.d.ts +2 -1
- package/components/elements/addons/lists/TuiListBase.d.ts +2 -1
- package/components/elements/addons/lists/TuiListElement.d.ts +2 -1
- package/components/elements/addons/lists/TuiListMenu.d.ts +2 -1
- package/components/elements/addons/lists/TuiListMenu.js +1 -1
- package/components/elements/addons/lists/table/TuiTableHeader.d.ts +3 -2
- package/components/elements/addons/lists/table/index.d.ts +1 -1
- package/components/elements/case/CaseCard.js +2 -2
- package/components/elements/display/ActionButton.js +1 -1
- package/components/elements/display/ChipPopper.js +1 -1
- package/components/elements/display/ClassificationChip.d.ts +1 -1
- package/components/elements/display/HandlebarsMarkdown.js +3 -3
- package/components/elements/display/HowlerAvatar.js +2 -2
- package/components/elements/display/Image.js +3 -3
- package/components/elements/display/Markdown.js +2 -2
- package/components/elements/display/handlebars/helpers.js +3 -3
- package/components/elements/display/json/JSONViewer.js +2 -2
- package/components/elements/display/modals/RationaleModal.js +2 -2
- package/components/elements/display/modals/RationaleModal.test.js +1 -1
- package/components/elements/event/EventCard.js +1 -1
- package/components/elements/hit/HitActions.d.ts +1 -1
- package/components/elements/hit/HitActions.js +1 -1
- package/components/elements/hit/HitBanner.js +1 -1
- package/components/elements/hit/HitCard.js +1 -1
- package/components/elements/hit/HitLabels.js +1 -1
- package/components/elements/hit/HitNotebooks.js +9 -9
- package/components/elements/hit/HitOutline.js +1 -1
- package/components/elements/hit/HitOverview.js +1 -1
- package/components/elements/hit/HitPreview.js +1 -1
- package/components/elements/hit/HitSummary.js +2 -2
- package/components/elements/hit/ResolvePivotUrl.d.ts +1 -1
- package/components/elements/hit/actions/ButtonActions.js +1 -3
- package/components/elements/hit/aggregate/HitGraph.js +1 -1
- package/components/elements/hit/elements/AnalyticLink.js +1 -1
- package/components/elements/hit/elements/Assigned.js +1 -1
- package/components/elements/hit/grid/AddColumnModal.js +1 -1
- package/components/elements/hit/grid/ColumnHeader.js +1 -1
- package/components/elements/hit/grid/RecordRow.js +1 -1
- package/components/elements/hit/grid/RecordTable.js +2 -2
- package/components/elements/hit/outlines/DefaultOutline.js +1 -3
- package/components/elements/hit/related/PivotLink.js +1 -1
- package/components/elements/record/RecordComments.js +5 -7
- package/components/elements/record/RecordContextMenu.js +2 -2
- package/components/elements/record/RecordContextMenu.test.js +4 -4
- package/components/elements/record/RecordWorklog.js +1 -1
- package/components/elements/view/LayoutToggle.d.ts +1 -1
- package/components/hooks/useHitActions.js +1 -1
- package/components/hooks/useLocalStorage.js +1 -1
- package/components/hooks/useLocalStorageItem.test.js +2 -2
- package/components/hooks/useMyChart.d.ts +23 -23
- package/components/hooks/useMySnackbar.js +1 -1
- package/components/hooks/useMyUserFunctions.d.ts +21 -21
- package/components/hooks/useRelatedRecords.js +1 -1
- package/components/logins/Login.js +1 -1
- package/components/logins/auth/OAuthLogin.js +1 -1
- package/components/logins/hooks/useLogin.js +2 -2
- package/components/routes/action/edit/ActionEditor.js +4 -4
- package/components/routes/action/shared/OperationEntry.js +1 -1
- package/components/routes/action/shared/OperationStep.js +1 -1
- package/components/routes/action/useMyActionFunctions.js +1 -1
- package/components/routes/action/view/ActionDetails.js +2 -2
- package/components/routes/action/view/ActionSearch.js +4 -4
- package/components/routes/admin/users/UserEditor.js +1 -1
- package/components/routes/admin/users/UserSearch.js +5 -5
- package/components/routes/advanced/QueryBuilder.js +2 -2
- package/components/routes/advanced/luceneCompletionProvider.js +1 -1
- package/components/routes/analytics/AnalyticComments.js +3 -5
- package/components/routes/analytics/AnalyticDetails.js +2 -2
- package/components/routes/analytics/AnalyticHitComments.js +1 -1
- package/components/routes/analytics/AnalyticHitComments.test.js +1 -1
- package/components/routes/analytics/AnalyticOverview.js +2 -2
- package/components/routes/analytics/AnalyticOverviews.js +1 -1
- package/components/routes/analytics/AnalyticSearch.js +2 -2
- package/components/routes/analytics/AnalyticTemplates.js +1 -1
- package/components/routes/analytics/TriageSettings.js +2 -2
- package/components/routes/analytics/widgets/Assessment.js +1 -1
- package/components/routes/analytics/widgets/Created.js +1 -1
- package/components/routes/analytics/widgets/Escalation.js +1 -1
- package/components/routes/analytics/widgets/Stacked.js +1 -1
- package/components/routes/cases/CaseViewer.js +1 -1
- package/components/routes/cases/Cases.js +3 -3
- package/components/routes/cases/constants.d.ts +1 -1
- package/components/routes/cases/detail/CaseDashboard.js +1 -1
- package/components/routes/cases/detail/CaseDetails.js +3 -3
- package/components/routes/cases/detail/CaseObservables.js +2 -2
- package/components/routes/cases/detail/CaseRules.js +3 -3
- package/components/routes/cases/detail/CaseSearch.js +2 -2
- package/components/routes/cases/detail/CaseSearch.test.js +1 -1
- package/components/routes/cases/detail/CaseTask.js +4 -4
- package/components/routes/cases/detail/CaseTimeline.js +2 -2
- package/components/routes/cases/detail/CreateRuleDialog.test.js +1 -1
- package/components/routes/cases/detail/ItemPage.js +1 -1
- package/components/routes/cases/detail/MarkdownPage.js +1 -1
- package/components/routes/cases/detail/TaskPanel.js +2 -2
- package/components/routes/cases/detail/sidebar/CaseFolder.js +2 -2
- package/components/routes/cases/detail/sidebar/CaseFolderContextMenu.js +1 -1
- package/components/routes/cases/detail/utils.d.ts +1 -1
- package/components/routes/cases/hooks/useCase.js +2 -5
- package/components/routes/cases/modals/AddRecordToCaseModal.js +2 -2
- package/components/routes/cases/modals/AddToCaseModal.js +1 -1
- package/components/routes/cases/modals/CreateCaseModal.js +1 -1
- package/components/routes/cases/modals/RenameItemModal.js +2 -2
- package/components/routes/cases/modals/ResolveModal.js +1 -1
- package/components/routes/cases/modals/hooks.d.ts +1 -1
- package/components/routes/dossiers/DossierEditor.js +2 -2
- package/components/routes/dossiers/DossierEditor.test.js +1 -1
- package/components/routes/dossiers/Dossiers.js +3 -3
- package/components/routes/dossiers/PivotForm.js +2 -4
- package/components/routes/events/EventViewer.js +1 -1
- package/components/routes/help/ApiDocumentation.js +1 -1
- package/components/routes/help/HitBannerDocumentation.js +1 -1
- package/components/routes/help/HitSchemaDocumentation.js +1 -1
- package/components/routes/help/RetentionDocumentation.js +2 -2
- package/components/routes/help/SearchDocumentation.js +1 -1
- package/components/routes/hits/search/InformationPane.js +5 -5
- package/components/routes/hits/search/QuerySettings.test.js +4 -5
- package/components/routes/hits/search/RecordBrowser.js +1 -1
- package/components/routes/hits/search/SearchPane.js +4 -2
- package/components/routes/hits/search/ViewLink.js +1 -1
- package/components/routes/hits/search/shared/CustomSort.js +1 -1
- package/components/routes/hits/search/shared/HitFilter.d.ts +1 -1
- package/components/routes/hits/search/shared/HitSort.d.ts +1 -1
- package/components/routes/hits/search/shared/HitSort.js +1 -1
- package/components/routes/hits/search/shared/SearchSpan.d.ts +1 -1
- package/components/routes/hits/search/shared/SearchSpan.js +1 -1
- package/components/routes/hits/view/HitViewer.js +3 -3
- package/components/routes/home/AddNewCard.js +2 -2
- package/components/routes/home/AnalyticCard.js +1 -1
- package/components/routes/home/EntryWrapper.js +1 -1
- package/components/routes/home/HomeSettings.js +1 -1
- package/components/routes/home/ViewCard.js +5 -5
- package/components/routes/home/index.js +2 -2
- package/components/routes/overviews/OverviewCard.js +1 -1
- package/components/routes/overviews/OverviewViewer.js +3 -3
- package/components/routes/overviews/Overviews.js +3 -3
- package/components/routes/overviews/markdownExtendedTokenProvider.js +15 -15
- package/components/routes/settings/ProfileSection.js +2 -2
- package/components/routes/templates/TemplateEditor.d.ts +3 -2
- package/components/routes/templates/TemplateEditor.js +1 -1
- package/components/routes/templates/TemplateViewer.js +3 -3
- package/components/routes/templates/Templates.js +3 -3
- package/components/routes/views/ViewComposer.js +3 -3
- package/components/routes/views/Views.js +2 -2
- package/i18n.js +1 -1
- package/index.d.ts +1 -1
- package/index.js +1 -1
- package/locales/en/translation.json +1 -0
- package/locales/fr/translation.json +1 -0
- package/package.json +134 -134
- package/plugins/clue/components/ClueLeadForm.js +1 -1
- package/plugins/clue/components/CluePivotForm.js +2 -2
- package/plugins/clue/helpers.js +4 -4
- package/plugins/clue/index.d.ts +2 -1
- package/rest/AxiosClient.test.js +1 -0
- package/utils/Throttler.test.js +2 -2
- package/utils/actionUtils.d.ts +3 -3
- package/utils/classificationParser.js +20 -20
- package/utils/constants.d.ts +3 -3
- package/utils/localStorage.js +1 -1
- package/utils/menuUtils.js +0 -4
- package/utils/stringUtils.test.js +1 -1
- package/utils/utils.d.ts +1 -1
- package/utils/utils.js +2 -2
- package/utils/utils.test.js +1 -1
- package/utils/xsrf.js +1 -1
package/api/index.d.ts
CHANGED
|
@@ -92,7 +92,7 @@ export declare const setHeaders: (ifMatch?: string) => HeadersInit;
|
|
|
92
92
|
* @param body - the body of the request.
|
|
93
93
|
* @returns the `api_response` object of the returned {@link HowlerResponse}.
|
|
94
94
|
*/
|
|
95
|
-
export declare const hfetch: <R>(_uri: string, method?:
|
|
95
|
+
export declare const hfetch: <R>(_uri: string, method?: 'get' | 'post' | 'put' | 'delete' | 'patch', body?: any, searchParams?: URLSearchParams, requestHeaders?: HeadersInit) => Promise<R>;
|
|
96
96
|
/**
|
|
97
97
|
* Perform an HTTP GET for the specified uri.
|
|
98
98
|
*
|
package/api/search/action.js
CHANGED
|
@@ -4,5 +4,5 @@ export const uri = () => {
|
|
|
4
4
|
return joinUri(parentUri(), 'action');
|
|
5
5
|
};
|
|
6
6
|
export const post = (request) => {
|
|
7
|
-
return hpost(uri(), { ...
|
|
7
|
+
return hpost(uri(), { ...request, query: request?.query || 'action_id:*' });
|
|
8
8
|
};
|
package/api/search/analytic.js
CHANGED
|
@@ -4,5 +4,5 @@ export const uri = () => {
|
|
|
4
4
|
return joinUri(parentUri(), 'analytic');
|
|
5
5
|
};
|
|
6
6
|
export const post = (request) => {
|
|
7
|
-
return hpost(uri(), { ...
|
|
7
|
+
return hpost(uri(), { ...request, query: request?.query || 'analytic_id:*' });
|
|
8
8
|
};
|
package/api/search/case.js
CHANGED
|
@@ -4,5 +4,5 @@ export const uri = () => {
|
|
|
4
4
|
return joinUri(parentUri(), 'case');
|
|
5
5
|
};
|
|
6
6
|
export const post = (request) => {
|
|
7
|
-
return hpost(uri(), { ...
|
|
7
|
+
return hpost(uri(), { ...request, query: request?.query || 'case_id:*' });
|
|
8
8
|
};
|
package/api/search/count/hit.js
CHANGED
|
@@ -5,5 +5,5 @@ export const uri = () => {
|
|
|
5
5
|
return joinUri(parentUri(), 'hit');
|
|
6
6
|
};
|
|
7
7
|
export const post = (request) => {
|
|
8
|
-
return hpost(uri(), { ...
|
|
8
|
+
return hpost(uri(), { ...request, query: request?.query || DEFAULT_QUERY });
|
|
9
9
|
};
|
package/api/search/dossier.js
CHANGED
|
@@ -4,5 +4,5 @@ export const uri = () => {
|
|
|
4
4
|
return joinUri(parentUri(), 'dossier');
|
|
5
5
|
};
|
|
6
6
|
export const post = (request) => {
|
|
7
|
-
return hpost(uri(), { ...
|
|
7
|
+
return hpost(uri(), { ...request, query: request?.query || 'title:*' });
|
|
8
8
|
};
|
package/api/search/eql/hit.js
CHANGED
|
@@ -4,5 +4,5 @@ export const uri = () => {
|
|
|
4
4
|
return joinAllUri(parentUri(), 'hit', 'eql');
|
|
5
5
|
};
|
|
6
6
|
export const post = (request) => {
|
|
7
|
-
return hpost(uri(), { ...
|
|
7
|
+
return hpost(uri(), { ...request, eql_query: request?.eql_query || 'any where true' });
|
|
8
8
|
};
|
|
@@ -5,5 +5,5 @@ export const uri = () => {
|
|
|
5
5
|
return joinAllUri(parentUri(), 'hit', 'explain');
|
|
6
6
|
};
|
|
7
7
|
export const post = (request) => {
|
|
8
|
-
return hpost(uri(), { ...
|
|
8
|
+
return hpost(uri(), { ...request, eql_query: request?.query || DEFAULT_QUERY });
|
|
9
9
|
};
|
package/api/search/facet/hit.js
CHANGED
|
@@ -5,5 +5,5 @@ export const uri = () => {
|
|
|
5
5
|
return joinUri(parentUri(), 'hit');
|
|
6
6
|
};
|
|
7
7
|
export const post = (request) => {
|
|
8
|
-
return hpost(uri(), { ...
|
|
8
|
+
return hpost(uri(), { ...request, query: request?.query || DEFAULT_QUERY });
|
|
9
9
|
};
|
|
@@ -5,5 +5,5 @@ export const uri = (field) => {
|
|
|
5
5
|
return joinAllUri(parentUri(), 'hit', field);
|
|
6
6
|
};
|
|
7
7
|
export const post = (field, request) => {
|
|
8
|
-
return hpost(uri(field), { ...
|
|
8
|
+
return hpost(uri(field), { ...request, query: request?.query || DEFAULT_QUERY });
|
|
9
9
|
};
|
|
@@ -5,5 +5,5 @@ export const uri = (field) => {
|
|
|
5
5
|
return joinAllUri(parentUri(), 'hit', field);
|
|
6
6
|
};
|
|
7
7
|
export const post = (field, request) => {
|
|
8
|
-
return hpost(uri(field), { ...
|
|
8
|
+
return hpost(uri(field), { ...request, query: request?.query || DEFAULT_QUERY });
|
|
9
9
|
};
|
package/api/search/hit.js
CHANGED
|
@@ -8,6 +8,6 @@ export const uri = () => {
|
|
|
8
8
|
return joinUri(parentUri(), 'hit');
|
|
9
9
|
};
|
|
10
10
|
export const post = (request) => {
|
|
11
|
-
return hpost(uri(), { ...
|
|
11
|
+
return hpost(uri(), { ...request, query: request?.query || DEFAULT_QUERY });
|
|
12
12
|
};
|
|
13
13
|
export { eql, explain, sigma };
|
package/api/search/overview.js
CHANGED
|
@@ -4,5 +4,5 @@ export const uri = () => {
|
|
|
4
4
|
return joinUri(parentUri(), 'overview');
|
|
5
5
|
};
|
|
6
6
|
export const post = (request) => {
|
|
7
|
-
return hpost(uri(), { ...
|
|
7
|
+
return hpost(uri(), { ...request, query: request?.query || 'overview_id:*' });
|
|
8
8
|
};
|
package/api/search/sigma/hit.js
CHANGED
package/api/search/template.js
CHANGED
|
@@ -4,5 +4,5 @@ export const uri = () => {
|
|
|
4
4
|
return joinUri(parentUri(), 'template');
|
|
5
5
|
};
|
|
6
6
|
export const post = (request) => {
|
|
7
|
-
return hpost(uri(), { ...
|
|
7
|
+
return hpost(uri(), { ...request, query: request?.query || 'template_id:*' });
|
|
8
8
|
};
|
package/api/search/user.js
CHANGED
package/api/search/view.js
CHANGED
package/api/v2/search/facet.js
CHANGED
|
@@ -8,5 +8,5 @@ export const post = (indexes, request) => {
|
|
|
8
8
|
if (typeof indexes === 'string') {
|
|
9
9
|
indexes = indexes.split(',');
|
|
10
10
|
}
|
|
11
|
-
return hpost(uri(indexes), { ...
|
|
11
|
+
return hpost(uri(indexes), { ...request, query: request?.query || 'howler.id:*' });
|
|
12
12
|
};
|
package/api/v2/search/index.js
CHANGED
|
@@ -19,6 +19,6 @@ export const post = (indexes, request) => {
|
|
|
19
19
|
if (indexes.length < 1) {
|
|
20
20
|
throw new Error('indexes must have length of at least 1.');
|
|
21
21
|
}
|
|
22
|
-
return hpost(uri(indexes), { ...
|
|
22
|
+
return hpost(uri(indexes), { ...request, query: request?.query || 'howler.id:*' });
|
|
23
23
|
};
|
|
24
24
|
export { facet };
|
package/api/view/index.d.ts
CHANGED
|
@@ -4,6 +4,6 @@ import type { View } from '@cccsaurora/howler-ui/models/entities/generated/View'
|
|
|
4
4
|
export declare const uri: (id?: string) => string;
|
|
5
5
|
export declare const get: () => Promise<View[]>;
|
|
6
6
|
export declare const post: (newData: Partial<View>, refresh?: HowlerRefreshParam) => Promise<View>;
|
|
7
|
-
export declare const put: (id: string, partialView: Partial<Omit<View,
|
|
7
|
+
export declare const put: (id: string, partialView: Partial<Omit<View, 'view_id'>>, refresh?: HowlerRefreshParam) => Promise<View>;
|
|
8
8
|
export declare const del: (id: string, refresh?: HowlerRefreshParam) => Promise<void>;
|
|
9
9
|
export { favourite };
|
package/branding/AppBrand.d.ts
CHANGED
|
@@ -72,9 +72,9 @@ export declare const SIZES: {
|
|
|
72
72
|
};
|
|
73
73
|
};
|
|
74
74
|
};
|
|
75
|
-
export declare const BRAND_APPLICATIONS: readonly [
|
|
75
|
+
export declare const BRAND_APPLICATIONS: readonly ['analyticalplatform', 'assemblyline', 'howler'];
|
|
76
76
|
export declare const BRAND_SIZES: string[];
|
|
77
|
-
export declare const BRAND_VARIANTS: readonly [
|
|
77
|
+
export declare const BRAND_VARIANTS: readonly ['app', 'logo', 'banner-vertical', 'banner-horizontal'];
|
|
78
78
|
export type BrandApplication = (typeof BRAND_APPLICATIONS)[number];
|
|
79
79
|
export type BrandVariant = (typeof BRAND_VARIANTS)[number];
|
|
80
80
|
export type BrandSize = (typeof BRAND_SIZES)[number];
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Apps } from '@mui/icons-material';
|
|
3
3
|
import { Divider, List, Skeleton, Toolbar, styled, useMediaQuery, useTheme } from '@mui/material';
|
|
4
4
|
import { useAppBreadcrumbs, useAppConfigs, useAppLayout, useAppLeftNav, useAppQuickSearch } from '@cccsaurora/howler-ui/commons/components/app/hooks';
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
export declare function useAppConfigs(): {
|
|
2
|
-
allowPersonalization: boolean;
|
|
3
2
|
preferences: {
|
|
4
3
|
topnav: {
|
|
5
4
|
themeSelectionMode?: import("../AppConfigs").AppThemeSelectionMode;
|
|
@@ -52,8 +51,9 @@ export declare function useAppConfigs(): {
|
|
|
52
51
|
itemsAfter?: number;
|
|
53
52
|
};
|
|
54
53
|
theme: {
|
|
55
|
-
components?: import("@mui/material").Components<Omit<import("@mui/material").Theme,
|
|
54
|
+
components?: import("@mui/material").Components<Omit<import("@mui/material").Theme, '@cccsaurora/howler-ui/components'>>;
|
|
56
55
|
palette?: import("../AppConfigs").AppPaletteConfigs;
|
|
57
56
|
appbar?: import("../AppConfigs").AppBarThemeConfigs;
|
|
58
57
|
};
|
|
58
|
+
allowPersonalization: boolean;
|
|
59
59
|
};
|
|
@@ -5,9 +5,12 @@ export type BreadcrumbItem = {
|
|
|
5
5
|
matcher: PathMatch<string>;
|
|
6
6
|
};
|
|
7
7
|
export declare const getRoute: (route: string, siteMap: AppSiteMapRoute[]) => BreadcrumbItem;
|
|
8
|
+
declare const appendRoute: (breadcrumbs: BreadcrumbItem[], breadcrumb: BreadcrumbItem) => BreadcrumbItem[];
|
|
9
|
+
declare const is404: (breadcrumb: BreadcrumbItem) => boolean;
|
|
8
10
|
export declare function useAppSitemap(): {
|
|
9
|
-
appendRoute:
|
|
11
|
+
appendRoute: typeof appendRoute;
|
|
10
12
|
getTitle: (breadcrumb: BreadcrumbItem) => string;
|
|
11
13
|
getRoute: (path: string) => BreadcrumbItem;
|
|
12
|
-
is404:
|
|
14
|
+
is404: typeof is404;
|
|
13
15
|
};
|
|
16
|
+
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useTheme } from '@mui/material';
|
|
3
3
|
import {} from '@cccsaurora/howler-ui/commons/components/app/hooks/useAppSitemap';
|
|
4
4
|
const BreadcrumbIcon = ({ item }) => {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
declare const
|
|
1
|
+
declare const Breadcrumbs: ({ disableStyle }: {
|
|
2
2
|
disableStyle?: boolean;
|
|
3
|
-
}) => import("react/jsx-runtime").JSX.Element
|
|
3
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
declare const _default: import("react").MemoExoticComponent<typeof Breadcrumbs>;
|
|
4
5
|
export default _default;
|
|
@@ -15,5 +15,6 @@ type AppTocProps = {
|
|
|
15
15
|
titleI18nKey?: string;
|
|
16
16
|
topI18nKey?: string;
|
|
17
17
|
};
|
|
18
|
-
declare const
|
|
18
|
+
declare const AppToc: ({ children, translation, items, titleI18nKey, topI18nKey }: AppTocProps) => import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
declare const _default: React.MemoExoticComponent<typeof AppToc>;
|
|
19
20
|
export default _default;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { styled, useTheme } from '@mui/material';
|
|
3
3
|
import { useAppBar } from '@cccsaurora/howler-ui/commons/components/app/hooks/useAppBar';
|
|
4
4
|
import { useAppLayout } from '@cccsaurora/howler-ui/commons/components/app/hooks/useAppLayout';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { colors } from '@mui/material';
|
|
2
2
|
type MuiColorType = keyof typeof colors;
|
|
3
3
|
type MuiColorVariant = keyof typeof colors.blue;
|
|
4
|
-
export default function useAppColor(color?: MuiColorType, lightVariant?: MuiColorVariant, darkVariant?: MuiColorVariant): "#
|
|
4
|
+
export default function useAppColor(color?: MuiColorType, lightVariant?: MuiColorVariant, darkVariant?: MuiColorVariant): "#0d47a1" | "#1565c0" | "#1976d2" | "#1e88e5" | "#2196f3" | "#2962ff" | "#2979ff" | "#42a5f5" | "#448aff" | "#64b5f6" | "#82b1ff" | "#90caf9" | "#bbdefb" | "#e3f2fd";
|
|
5
5
|
export {};
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
declare const
|
|
1
|
+
declare const LeftNavDrawer: () => import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
declare const _default: import("react").MemoExoticComponent<typeof LeftNavDrawer>;
|
|
2
3
|
export default _default;
|
|
@@ -3,5 +3,6 @@ interface LeftNavGroupProps {
|
|
|
3
3
|
group: AppLeftNavGroup;
|
|
4
4
|
onItemClick: () => void;
|
|
5
5
|
}
|
|
6
|
-
declare const
|
|
6
|
+
declare const LeftNavGroup: ({ group, onItemClick }: LeftNavGroupProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
declare const _default: import("react").MemoExoticComponent<typeof LeftNavGroup>;
|
|
7
8
|
export default _default;
|
|
@@ -6,5 +6,6 @@ type LeftNavItemProps = {
|
|
|
6
6
|
hideIcon?: boolean;
|
|
7
7
|
onClick: () => void;
|
|
8
8
|
};
|
|
9
|
-
declare const
|
|
9
|
+
declare const LeftNavItem: ({ item, context, popover, hideIcon, onClick }: LeftNavItemProps) => import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
declare const _default: import("react").MemoExoticComponent<typeof LeftNavItem>;
|
|
10
11
|
export default _default;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Box, ListItem, ListItemButton, ListItemIcon, ListItemText, Tooltip, useTheme } from '@mui/material';
|
|
3
3
|
import { useAppLeftNav, useAppUser } from '@cccsaurora/howler-ui/commons/components/app/hooks';
|
|
4
4
|
import { memo, useMemo } from 'react';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { parseFeed } from '@cccsaurora/howler-ui/commons/components/notification';
|
|
3
3
|
import { NotificationContainer } from '@cccsaurora/howler-ui/commons/components/notification/elements/NotificationContainer';
|
|
4
4
|
import { NotificationTopNavButton } from '@cccsaurora/howler-ui/commons/components/notification/elements/NotificationTopNavButton';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Divider, Icon, Typography, useTheme } from '@mui/material';
|
|
3
3
|
import React, { memo } from 'react';
|
|
4
4
|
export const NotificationHeader = memo(({ title = '', icon = null, children = null }) => {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Divider, Stack, useTheme } from '@mui/material';
|
|
3
3
|
import {} from '@cccsaurora/howler-ui/commons/components/app/AppNotificationService';
|
|
4
4
|
import {} from '@cccsaurora/howler-ui/commons/components/notification';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Link, Typography, useTheme } from '@mui/material';
|
|
3
3
|
import { memo, useMemo } from 'react';
|
|
4
4
|
export const NotificationItemAuthor = memo(({ author = null }) => {
|
|
@@ -4,5 +4,6 @@ type PageCenterProps = PageProps & {
|
|
|
4
4
|
maxWidth?: string;
|
|
5
5
|
textAlign?: string;
|
|
6
6
|
};
|
|
7
|
-
declare const
|
|
7
|
+
declare const PageCenter: ({ children, height, width, maxWidth, textAlign, ...props }: PageCenterProps) => import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
declare const _default: import("react").MemoExoticComponent<typeof PageCenter>;
|
|
8
9
|
export default _default;
|
|
@@ -3,5 +3,6 @@ import { type ReactNode } from 'react';
|
|
|
3
3
|
type PageContentProps = PageProps & {
|
|
4
4
|
children?: ReactNode;
|
|
5
5
|
};
|
|
6
|
-
declare const
|
|
6
|
+
declare const PageContent: ({ children, ...props }: PageContentProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
declare const _default: import("react").MemoExoticComponent<typeof PageContent>;
|
|
7
8
|
export default _default;
|
|
@@ -6,5 +6,6 @@ type PageFullscreenProps = {
|
|
|
6
6
|
mr?: number;
|
|
7
7
|
mt?: number;
|
|
8
8
|
};
|
|
9
|
-
declare const
|
|
9
|
+
declare const PageFullscreen: ({ children, margin, mb, ml, mr, mt }: PageFullscreenProps) => import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
declare const _default: import("react").MemoExoticComponent<typeof PageFullscreen>;
|
|
10
11
|
export default _default;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Search } from '@mui/icons-material';
|
|
3
3
|
import { Box, ClickAwayListener, Dialog, DialogContent, DialogTitle, emphasize, IconButton, Popper, Slide, Stack, styled, Tooltip, useMediaQuery, useTheme } from '@mui/material';
|
|
4
4
|
import { useAppSearchService } from '@cccsaurora/howler-ui/commons/components/app/hooks/useAppSearchService';
|
|
@@ -7,5 +7,6 @@ type AppSearchInputProps = {
|
|
|
7
7
|
onClear: () => void;
|
|
8
8
|
onToggleFullscreen: () => void;
|
|
9
9
|
} & InputBaseProps;
|
|
10
|
-
declare const
|
|
10
|
+
declare const AppSearchInput: ({ searching, provided, autoFocus, showToggle, value, open, onClear, onToggleFullscreen, onFocus, onChange, onKeyDown, ...inputProps }: AppSearchInputProps) => import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
declare const _default: import("react").MemoExoticComponent<typeof AppSearchInput>;
|
|
11
12
|
export default _default;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type MenuListProps } from '@mui/material';
|
|
2
2
|
type AppSearchResultProps = MenuListProps;
|
|
3
|
-
declare const
|
|
3
|
+
declare const AppSearchResult: ({ className, ...menuProps }: AppSearchResultProps) => import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
declare const _default: import("react").MemoExoticComponent<typeof AppSearchResult>;
|
|
4
5
|
export default _default;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export declare const AppBarBase: ({ children }: {
|
|
2
2
|
children: any;
|
|
3
3
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
4
|
-
declare const
|
|
4
|
+
declare const AppBar: () => import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
declare const _default: import("react").MemoExoticComponent<typeof AppBar>;
|
|
5
6
|
export default _default;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
declare const
|
|
1
|
+
declare const AppName: ({ noName }: {
|
|
2
2
|
noName?: boolean;
|
|
3
|
-
}) => import("react/jsx-runtime").JSX.Element
|
|
3
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
declare const _default: import("react").MemoExoticComponent<typeof AppName>;
|
|
4
5
|
export default _default;
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
declare const
|
|
1
|
+
declare const AppSwitcher: () => import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
declare const _default: import("react").MemoExoticComponent<typeof AppSwitcher>;
|
|
2
3
|
export default _default;
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
declare const
|
|
1
|
+
declare const ThemeSelection: () => import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
declare const _default: import("react").MemoExoticComponent<typeof ThemeSelection>;
|
|
2
3
|
export default _default;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Divider, List, ListItemButton, ListItemSecondaryAction, ListItemText, ListSubheader, Switch, Typography, useMediaQuery, useTheme } from '@mui/material';
|
|
3
3
|
import { APP_STORAGE_PREFIX } from '@cccsaurora/howler-ui/commons/components/app/AppConstants';
|
|
4
4
|
import { useAppBar, useAppBreadcrumbs, useAppConfigs, useAppLanguage, useAppLayout, useAppQuickSearch, useAppTheme } from '@cccsaurora/howler-ui/commons/components/app/hooks';
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { StyledComponent } from '@emotion/styled';
|
|
2
2
|
import { type AppAvatarProps } from '@cccsaurora/howler-ui/commons/components/display/AppAvatar';
|
|
3
3
|
export declare const AppUserAvatar: StyledComponent<AppAvatarProps>;
|
|
4
|
-
declare const
|
|
4
|
+
declare const UserProfile: () => import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
declare const _default: import("react").MemoExoticComponent<typeof UserProfile>;
|
|
5
6
|
export default _default;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Box, ClickAwayListener, Divider, Fade, IconButton, List, ListItem, ListItemButton, ListItemIcon, ListItemText, ListSubheader, Paper, Popper, styled, Typography, useTheme } from '@mui/material';
|
|
3
3
|
import { useAppConfigs, useAppUser } from '@cccsaurora/howler-ui/commons/components/app/hooks';
|
|
4
4
|
import AppAvatar, {} from '@cccsaurora/howler-ui/commons/components/display/AppAvatar';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type Components, type PaletteOptions, type Theme } from '@mui/material';
|
|
2
2
|
import type { AppThemeConfigs } from '@cccsaurora/howler-ui/commons/components/app/AppConfigs';
|
|
3
|
-
export declare const createTuiTheme: (components: Components<Omit<Theme,
|
|
3
|
+
export declare const createTuiTheme: (components: Components<Omit<Theme, '@cccsaurora/howler-ui/components'>>, palette: PaletteOptions) => Theme;
|
|
4
4
|
export default function useThemeBuilder(theme?: AppThemeConfigs): {
|
|
5
5
|
darkTheme: Theme;
|
|
6
6
|
lightTheme: Theme;
|
package/components/app/App.js
CHANGED
|
@@ -129,7 +129,7 @@ const MyApp = () => {
|
|
|
129
129
|
// Simulate app loading time...
|
|
130
130
|
// e.g. fetching initial app data, etc.
|
|
131
131
|
useEffect(() => {
|
|
132
|
-
dispatchApi(api.configs.get()).then(data => {
|
|
132
|
+
void dispatchApi(api.configs.get()).then(data => {
|
|
133
133
|
apiConfig.setConfig(data);
|
|
134
134
|
if (data?.configuration?.ui?.apps) {
|
|
135
135
|
setItems(data.configuration.ui.apps);
|
|
@@ -138,7 +138,7 @@ const MyApp = () => {
|
|
|
138
138
|
if (appUser.isReady() || (!get(StorageKey.APP_TOKEN) && !get(StorageKey.REFRESH_TOKEN))) {
|
|
139
139
|
return;
|
|
140
140
|
}
|
|
141
|
-
getUser();
|
|
141
|
+
void getUser();
|
|
142
142
|
// eslint-disable-next-line
|
|
143
143
|
}, []);
|
|
144
144
|
useEffect(() => {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Alert, AlertTitle, Button, Checkbox, Divider, FormControl, FormControlLabel, FormGroup, FormLabel, Stack, TextField, Typography } from '@mui/material';
|
|
3
3
|
import { LocalizationProvider, StaticDateTimePicker } from '@mui/x-date-pickers';
|
|
4
4
|
import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';
|
|
@@ -20,7 +20,7 @@ const useMatchers = (lazy = false) => {
|
|
|
20
20
|
try {
|
|
21
21
|
return (await getRecord(hit.howler.id, true)).__template;
|
|
22
22
|
}
|
|
23
|
-
catch
|
|
23
|
+
catch {
|
|
24
24
|
return null;
|
|
25
25
|
}
|
|
26
26
|
}, [getRecord, lazy]);
|
|
@@ -39,7 +39,7 @@ const useMatchers = (lazy = false) => {
|
|
|
39
39
|
try {
|
|
40
40
|
return (await getRecord(hit.howler.id, true)).__overview;
|
|
41
41
|
}
|
|
42
|
-
catch
|
|
42
|
+
catch {
|
|
43
43
|
return null;
|
|
44
44
|
}
|
|
45
45
|
}, [getRecord, lazy]);
|
|
@@ -58,7 +58,7 @@ const useMatchers = (lazy = false) => {
|
|
|
58
58
|
try {
|
|
59
59
|
return (await getRecord(hit.howler.id, true)).__dossiers ?? [];
|
|
60
60
|
}
|
|
61
|
-
catch
|
|
61
|
+
catch {
|
|
62
62
|
return [];
|
|
63
63
|
}
|
|
64
64
|
}, [getRecord, lazy]);
|
|
@@ -76,7 +76,7 @@ const useMatchers = (lazy = false) => {
|
|
|
76
76
|
try {
|
|
77
77
|
return (await getRecord(hit.howler.id, true)).__analytic;
|
|
78
78
|
}
|
|
79
|
-
catch
|
|
79
|
+
catch {
|
|
80
80
|
return null;
|
|
81
81
|
}
|
|
82
82
|
}, [getRecord, lazy]);
|
|
@@ -28,7 +28,7 @@ const AnalyticProvider = ({ children }) => {
|
|
|
28
28
|
}, [ready, fetching]);
|
|
29
29
|
useEffect(() => {
|
|
30
30
|
if (!ready && appUser.isReady()) {
|
|
31
|
-
fetchAnalytics();
|
|
31
|
+
void fetchAnalytics();
|
|
32
32
|
}
|
|
33
33
|
}, [ready, appUser, fetchAnalytics]);
|
|
34
34
|
const getAnalyticFromId = useCallback(async (id) => {
|
|
@@ -21,7 +21,7 @@ const AvatarProvider = ({ children }) => {
|
|
|
21
21
|
promises[id] = dispatchApi(api.user.avatar.get(id), { logError: false, showError: false, throwError: false });
|
|
22
22
|
return promises[id];
|
|
23
23
|
}
|
|
24
|
-
catch
|
|
24
|
+
catch {
|
|
25
25
|
promises[id] = api.user.get(id).then(user => user.name);
|
|
26
26
|
return promises[id];
|
|
27
27
|
}
|
|
@@ -113,7 +113,7 @@ const FavouriteProvider = ({ children }) => {
|
|
|
113
113
|
const newElements = leftNav.elements
|
|
114
114
|
.filter(el => !['views', 'analytics'].includes(el.element?.id))
|
|
115
115
|
.filter(el => !!el);
|
|
116
|
-
(async () => {
|
|
116
|
+
void (async () => {
|
|
117
117
|
const analyticElement = processAnalyticElement();
|
|
118
118
|
if (analyticElement) {
|
|
119
119
|
newElements.splice(2, 0, analyticElement);
|
|
@@ -47,6 +47,6 @@ export declare const GridColumnsContext: import("react").Context<GridColumnsCont
|
|
|
47
47
|
* - `"path"` — reads from the current route's `:id` param.
|
|
48
48
|
*/
|
|
49
49
|
declare const GridColumnsProvider: ({ children, viewSource }: PropsWithChildren<{
|
|
50
|
-
viewSource?:
|
|
50
|
+
viewSource?: 'params' | 'path';
|
|
51
51
|
}>) => import("react/jsx-runtime").JSX.Element;
|
|
52
52
|
export default GridColumnsProvider;
|
|
@@ -79,7 +79,7 @@ const GridColumnsProvider = ({ children, viewSource = 'params' }) => {
|
|
|
79
79
|
return;
|
|
80
80
|
}
|
|
81
81
|
setIsReady(false);
|
|
82
|
-
getCurrentViews({ views: viewIds }).then(_views => {
|
|
82
|
+
void getCurrentViews({ views: viewIds }).then(_views => {
|
|
83
83
|
// Discard stale results: either the user already made a manual edit, or viewIds changed.
|
|
84
84
|
if (currentLoadRef.current.hasLocalEdits) {
|
|
85
85
|
setIsReady(true);
|
|
@@ -45,7 +45,7 @@ const OverviewProvider = ({ children }) => {
|
|
|
45
45
|
})[0], [overviews]);
|
|
46
46
|
const refresh = useCallback(() => {
|
|
47
47
|
setLoaded(false);
|
|
48
|
-
getOverviews();
|
|
48
|
+
void getOverviews();
|
|
49
49
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
50
50
|
}, []);
|
|
51
51
|
return (_jsx(OverviewContext.Provider, { value: {
|