Releases: vivid-planet/comet
7.17.0
@comet/cms-admin@7.17.0
Minor Changes
-
4c3b646: Add
video/webm
to allowedMimetypes ofDamVideoBlock
-
a1bf436: Add support for searching/filtering redirects by target
Add a custom target URL service to resolve the URLs of custom redirect targets:
@Injectable({ scope: Scope.REQUEST }) export class MyRedirectTargetUrlService implements RedirectTargetUrlServiceInterface { constructor() {} async resolveTargetUrl(target: ExtractBlockData<RedirectsLinkBlock>["attachedBlocks"][number]): Promise<string | undefined> { // Your custom logic here } }
RedirectsModule.register({ imports: [MikroOrmModule.forFeature([News]), PredefinedPagesModule], customTargets: { news: NewsLinkBlock }, Scope: RedirectScope, + TargetUrlService: MyRedirectTargetUrlService, }),
Patch Changes
- ae56e87: Prevent the content of
ContentScopeIndicator
from breaking on mobile to align with the Comet DXP design
@comet/cms-api@7.17.0
Minor Changes
-
a1bf436: Add support for searching/filtering redirects by target
Add a custom target URL service to resolve the URLs of custom redirect targets:
@Injectable({ scope: Scope.REQUEST }) export class MyRedirectTargetUrlService implements RedirectTargetUrlServiceInterface { constructor() {} async resolveTargetUrl(target: ExtractBlockData<RedirectsLinkBlock>["attachedBlocks"][number]): Promise<string | undefined> { // Your custom logic here } }
RedirectsModule.register({ imports: [MikroOrmModule.forFeature([News]), PredefinedPagesModule], customTargets: { news: NewsLinkBlock }, Scope: RedirectScope, + TargetUrlService: MyRedirectTargetUrlService, }),
-
e1392ae: Add
isAnyOf
filter toStringFilter
,NumberFilter
,OneToManyFilter
, andManyToManyFilter
8.0.0-beta.3
@comet/cms-admin@8.0.0-beta.3
Patch Changes
- 8f58741: Remove unused field
allowedImageSizes
from DamConfig
8.0.0-beta.2
@comet/admin@8.0.0-beta.2
Major Changes
-
5b8fe2e: Update props and usage of
FeedbackButton
to be consistent with the new CometButton
- The
variant
prop now replaces its old values and the now removedcolor
prop. - The
responsive
prop is now supported to move the button's text to a tooltip on smaller devices. - The previous values of
slotProps
have been removed, they can now be set through theslotProps
of theroot
slot.
- <FeedbackButton variant="contained" color="primary"> + <FeedbackButton> Okay </FeedbackButton> - <FeedbackButton variant="contained" color="error"> + <FeedbackButton variant="destructive"> Delete </FeedbackButton>
- The
-
f904b71: Require Node v22
The minimum required Node version is now v22.0.0.
See the migration guide for instructions on how to upgrade your project. -
15c6fa0: Remove
DialogContent
fromEditDialog
as spacing inside a dialog is not always needed in the Comet DXP designTo maintain the existing styling of
EditDialog
, such as for forms and text, manually wrap the content withDialogContent
. This ensures proper spacing.
For grids or other elements that already handle their own spacing (e.g.,DataGrid
), addingDialogContent
is not necessary.<EditDialog> //... + <DialogContent> + //... + </DialogContent> // ... </EditDialog>
-
5b8fe2e: Adapt
SaveButton
andSaveBoundarySaveButton
to look like the standardFeedbackButton
in order to match the Comet DXP designTheir props have been updated to match those of
FeedbackButton
:saving
has been renamed toloading
.saveIcon
has been renamed tostartIcon
.hasConflict
has been removed. UsehasErrors
instead and optionally provide atooltipErrorMessage
to show a more precise error message in the tooltip.- The following icon-props have been removed, as the
startIcon
is now shown in all states:savingIcon
,successIcon
,errorIcon
,conflictIcon
. - The following props used for the text-content have been removed as now the default text is shown in all states:
savingItem
,successItem
,errorItem
,conflictItem
.
Minor Changes
-
d99602a: Adapt styling of MUI's
Link
according to the Comet DXP designUse
Link
only for links in continuous text or as standalone text links. Replace all other usages with better fitting components (e.g.,RouterLink
,StackLink
, orButton
). -
5b8fe2e: Adapt multiple usages of save buttons to look like the standard
FeedbackButton
and match the Comet DXP designThis applies to:
FinalFormSaveButton
FinalFormSaveCancelButtonsLegacy
FinalFormSaveSplitButton
- The save button inside
TableLocalChangesToolbar
- The save button inside the
useSaveState
hook - The save button inside
MoveDamItemDialog
- The save button inside
createUsePage
-
535476e: Format numbers in
DataGrid
pagination depending on the current locale -
43eb598: Set the custom
DataGridPanel
as default in the theme of theDataGrid
componentIf set, the
DataGridPanel
can now be removed from the project's theme, e.g., inadmin/src/theme.ts
:- import { DataGridPanel } from "@comet/admin"; import { createCometTheme } from "@comet/admin-theme"; - import type {} from "@mui/x-data-grid/themeAugmentation"; - export const theme = createCometTheme({ - components: { - MuiDataGrid: { - defaultProps: { - components: { - Panel: DataGridPanel, - }, - }, - }, - }, - }); + export const theme = createCometTheme();
@comet/admin-babel-preset@8.0.0-beta.2
Major Changes
-
f904b71: Require Node v22
The minimum required Node version is now v22.0.0.
See the migration guide for instructions on how to upgrade your project.
@comet/admin-color-picker@8.0.0-beta.2
Major Changes
-
f904b71: Require Node v22
The minimum required Node version is now v22.0.0.
See the migration guide for instructions on how to upgrade your project.
@comet/admin-date-time@8.0.0-beta.2
Major Changes
-
f904b71: Require Node v22
The minimum required Node version is now v22.0.0.
See the migration guide for instructions on how to upgrade your project.
@comet/admin-generator@8.0.0-beta.2
Major Changes
-
f904b71: Require Node v22
The minimum required Node version is now v22.0.0.
See the migration guide for instructions on how to upgrade your project.
@comet/admin-icons@8.0.0-beta.2
Major Changes
-
f904b71: Require Node v22
The minimum required Node version is now v22.0.0.
See the migration guide for instructions on how to upgrade your project.
@comet/admin-rte@8.0.0-beta.2
Major Changes
-
f904b71: Require Node v22
The minimum required Node version is now v22.0.0.
See the migration guide for instructions on how to upgrade your project.
@comet/cms-admin@8.0.0-beta.2
Major Changes
-
f904b71: Require Node v22
The minimum required Node version is now v22.0.0.
See the migration guide for instructions on how to upgrade your project. -
b10c4f9: Merge providers into new
CometConfigProvider
Previously, each module (e.g., DAM) had its own provider used for configuration.
This led to crowding the application since most applications use multiple CMS features.
A newCometConfigProvider
provider is introduced to use instead.Example
<CometConfigProvider apiUrl={config.apiUrl} graphQLApiUrl={`${config.apiUrl}/graphql`} adminUrl={config.adminUrl} // Config for the page tree module pageTree={{ categories: pageTreeCategories, documentTypes: pageTreeDocumentTypes, }} // Config for the DAM module dam={{ ...config.dam, scopeParts: ["domain"], contentGeneration: { generateAltText: true, generateImageTitle: true, }, }} // Additional modules... > {/* Application */} </CometConfigProvider>
Breaking changes
-
Multiple exports have been removed:
CmsBlockContext
,CmsBlockContextProvider
,useCmsBlockContext
,BuildInformationProvider
,DamConfigProvider
,useDamConfig
,DependenciesConfigProvider
,useDependenciesConfig
,LocaleProvider
,SitesConfigProvider
-
useLocale
has been renamed touseContentLanguage
-
useSitesConfig
has been renamed touseSiteConfigs
How to upgrade
- Add the
CometConfigProvider
tosrc/App.tsx
- Move configs for used modules to the new provider
- Remove the old config providers
-
Minor Changes
-
5b8fe2e: Adapt multiple usages of save buttons to look like the standard
FeedbackButton
and match the Comet DXP designThis applies to:
FinalFormSaveButton
FinalFormSaveCancelButtonsLegacy
FinalFormSaveSplitButton
- The save button inside
TableLocalChangesToolbar
- The save button inside the
useSaveState
hook - The save button inside
MoveDamItemDialog
- The save button inside
createUsePage
@comet/api-generator@8.0.0-beta.2
Major Changes
-
f904b71: Require Node v22
The minimum required Node version is now v22.0.0.
See the migration guide for instructions on how to upgrade your project.
Patch Changes
- 0ee3e04: Exit without an error code when no entities are found
@comet/cms-api@8.0.0-beta.2
Major Changes
-
f904b71: Require Node v22
The minimum required Node version is now v22.0.0.
See the migration guide for instructions on how to upgrade your project. -
56064fc: Remove
node-fetch
in favor of Node's native Fetch APINote: You need a Node version that supports the Fetch API, preferably Node v22.
-
23f393b: Protect images in the site preview
The image URLs in the site preview are now generated as preview URLs.
Authorization is handled via the newcreateSitePreviewAuthService
, which validates the site preview cookie.
Patch Changes
- 092e96e: Fix validation error caused by
EmptyDamScope
when uploading a file
@comet/cli@8.0.0-beta.2
Major Changes
-
f904b71: Require Node v22
The minimum required Node version is now v22.0.0.
See the migration guide for instructions on how to upgrade your project.
@comet/eslint-config@8.0.0-beta.2
Major Changes
-
f904b71: Require Node v22
The minimum required Node version is now v22.0.0.
See the migration guide for instructions on how to upgrade your project.
@comet/eslint-plugin@8.0.0-beta.2
Major Changes
-
f904b71: Require Node v22
The minimum required Node version is now v22.0.0.
See the migration guide for instructions on how to upgrade your project.
@comet/cms-site@8.0.0-beta.2
Major Changes
-
67ae9df: Fix opacity on
VideoPreviewImage
to only affect the background color -
f904b71: Require Node v22
The minimum required Node version is now v22.0.0.
See the migration guide for instructions on how to upgrade your project. -
23f393b: Protect images in the site preview
The image URLs in the site preview are now generated as preview URLs.
Authorization is handled via...
7.16.0
@comet/admin@7.16.0
Patch Changes
- ec1cf3c: Adapt styling of
Button
variants to align with Comet DXP design - bf7b89f: Adapt styling of
FieldSet
to align with Comet DXP design
@comet/admin-date-time@7.16.0
Patch Changes
- 5b7c6b4: Disabled
DatePicker
fields no longer have aClearInputAdornment
@comet/admin-theme@7.16.0
Patch Changes
- ec1cf3c: Adapt styling of
Button
variants to align with Comet DXP design
@comet/blocks-admin@7.16.0
Minor Changes
- ed9282b: createOneOfBlock: Add support for dynamic display names of child blocks
Patch Changes
- 9bd499d: Remove incorrect clear button from type select in
createOneOfBlock
@comet/cms-admin@7.16.0
Minor Changes
-
997b220: Adapt styling of the link dialog in
createRichTextBlock
to match the Comet DXP design -
ed9282b: Improve the block preview of redirect targets
Display the redirect target in the first line.
Move additional information (type, path) to the second line.
Patch Changes
- ea014c5: Set the correct icon for the button to confirm page actions
- e59fffb: Adapt styling of the page tree search input to match the Comet DXP design
@comet/cms-api@7.16.0
Minor Changes
-
4137cdb: File Uploads: Add option to disable the GraphQL field resolvers
Use this when using file uploads without GraphQL.
FileUploadsModule.register({ /* ... */ download: { /* ... */ createFieldResolvers: false, }, });
-
a2dfcc1: Export
UserPermissionsService
andCurrentUserPermission
This allows the usage of
getPermissionsAndContentScopes
if projects want to get all rule-based and admin-based permissions for specific users.
@comet/cms-site@7.16.0
Minor Changes
- 71642aa: Export
VideoPreviewImage
component
Patch Changes
-
6363262: Fix preview overlay alignment for blocks that are scrolled into view when selected from the admin block list, e.g., in slider blocks
-
4ddeeb0: Prevent unintended horizontal scrolling in the admin's block preview
This previously occurred when blocks were rendered outside of the viewport width, such as elements of a slider.
8.0.0-beta.1
@comet/eslint-config@8.0.0-beta.1
Patch Changes
- 649297e: Readd
@comet/eslint-plugin
dependency that was mistakenly removed
8.0.0-beta.0
@comet/admin@8.0.0-beta.0
Major Changes
-
7ce585d: Prevent the selection of DataGrid rows by clicking on them
According to the Comet design guidelines, rows should be selected using checkboxes, with the
checkboxSelection
prop, where required.<DataGrid checkboxSelection onRowSelectionModelChange={(newRowSelectionModel) => { setRowSelectionModel(newRowSelectionModel); }} rowSelectionModel={rowSelectionModel} // ... />
To restore the previous behavior, set the
disableRowSelectionOnClick
prop tofalse
in the individualDataGrid
component or globally, using the theme'sdefaultProps
.<DataGrid disableRowSelectionOnClick // ... />
const theme = createCometTheme({ components: { MuiDataGrid: { defaultProps: { disableRowSelectionOnClick: false, }, }, }, });
-
f7429bd: Rename menu components
To better differentiate between imports from
@comet/admin
and@mui/material
, the following components and related types have been renamed:-
Menu
→MainNavigation
-
MenuProps
→MainNavigationProps
-
MenuClassKey
→MainNavigationClassKey
-
MenuItem
→MainNavigationItem
-
MenuItemProps
→MainNavigationItemProps
-
MenuItemClassKey
→MainNavigationItemClassKey
-
MenuCollapsibleItem
→MainNavigationCollapsibleItem
-
MenuCollapsibleItemProps
→MainNavigationCollapsibleItemProps
-
MenuCollapsibleItemClassKey
→MainNavigationCollapsibleItemClassKey
-
IWithMenu
→WithMainNavigation
-
withMenu
→withMainNavigation
-
MenuItemAnchorLink
→MainNavigationItemAnchorLink
-
MenuItemAnchorLinkProps
→MainNavigationItemAnchorLinkProps
-
MenuItemGroup
→MainNavigationItemGroup
-
MenuItemGroupClassKey
→MainNavigationItemGroupClassKey
-
MenuItemGroupProps
→MainNavigationItemGroupProps
-
MenuItemRouterLink
→MainNavigationItemRouterLink
-
MenuItemRouterLinkProps
→MainNavigationItemRouterLinkProps
Remove
MenuContext
, use theuseMainNavigation()
hook instead.
-
-
b374300: Adapt the styling of
Alert
to match the updated Comet designRemove styling for the
text
variant of buttons used inAlert
.
Use buttons with theoutlined
variant instead to adhere to the Comet design guidelines.<Alert // ... action={ - <Button variant="text" startIcon={<ArrowRight />}> + <Button variant="outlined" startIcon={<ArrowRight />}> Action Text </Button> } // ... >
-
717ede6: Merge
@comet/admin-theme
into@comet/admin
This affects the following exports:
breakpointsOptions
,breakpointValues
,createCometTheme
,createTypographyOptions
,errorPalette
,greyPalette
,infoPalette
,paletteOptions
,primaryPalette
,shadows
,successPalette
,warningPalette
.Migrating your project
-
Remove the
@comet/admin-theme
dependency from your project -
Change all imports from
@comet/admin-theme
to@comet/admin
-import { createCometTheme } from "@comet/admin-theme"; +import { createCometTheme } from "@comet/admin"; const theme = createCometTheme();
-
Remove the no longer required type overrides that were previously required for the custom
Typography
variants, typically located inadmin/src/vendors.d.ts
-/// <reference types="@comet/admin-theme" />
-
-
de6d677: Bump @mui/x-data-grid peer dependency to v7
This has breaking changes in DataGrid.
Follow the official migration guide to upgrade.As well, be aware if you have a date in the data grid, you will need to add a
valueGetter
<DataGrid //other props columns=[ { field: "updatedAt", type: "dateTime", + valueGetter: (params, row) => row.updatedAt && new Date(row.updatedAt) }] />
Also, be aware if you have a
valueGetter
orvalueFormatter
in the data grid, you will need to change the arguments passing to the functions. Previously, arguments were passed as an object. Now, they are passed directly as individual parameters<DataGrid //other props columns=[ { field: "updatedAt", type: "dateTime", - valueGetter: ({params, row}) => row.updatedAt && new Date(row.updatedAt) + valueGetter: (params, row) => row.updatedAt && new Date(row.updatedAt) - valueFormatter: ({value}) => (value ? intl.formatDate(value, { dateStyle: "medium", timeStyle: "short" }) : ""), + valueFormatter: (value) => (value ? intl.formatDate(value, { dateStyle: "medium", timeStyle: "short" }) : ""), }] />
-
04e308a: Upgrade to MUI v6
This only causes minimal breaking changes, see the official migration guide for details.
It is recommended to run the following codemods in your application:
npx @mui/codemod@latest v6.0.0/list-item-button-prop admin/src npx @mui/codemod@latest v6.0.0/styled admin/src npx @mui/codemod@latest v6.0.0/sx-prop admin/src npx @mui/codemod@latest v6.0.0/theme-v6 admin/src/theme.ts
-
a8c737b: Redesign the
ToolbarBreadcrumbs
componentDue to internal changes, including the props and class keys, custom usages and styling may need to be adjusted.
-
cfa2f85: Bump @mui/x-data-grid peer dependency to v6
This has breaking changes in DataGrid.
Follow the official migration guide to upgrade.The
useDataGridRemote
hook has been changed to match the updated DataGrid props:- const { pageSize, page, onPageSizeChange } = useDataGridRemote(); + const { paginationModel, onPaginationModelChange } = useDataGridRemote();
The
muiGridSortToGql
helper now expects the columns instead of theapiRef
:const columns : GridColDef[] = [/* column definitions */]; const dataGridRemote = useDataGridRemote(); const persistentColumnState = usePersistentColumnState("persistent_column_state"); - muiGridSortToGql(dataGridRemote.sortModel, persistentColumnState.apiRef); + muiGridSortToGql(dataGridRemote.sortModel, columns);
-
c5d9a47: Remove custom
secondary
color styling fromCheckbox
andRadio
-
4828880: Remove
trigger
prop fromTooltip
Minor Changes
- 682a674: Add support for React 18
Patch Changes
- 400dd1e: Adapt
height
of elements inDataGrid
depending on thedensity
-prop to match the Comet DXP design - b8817b8: Add
AppHeaderFillSpaceProps
,ClearInputAdornmentClassKey
,ToolbarActionButtonClassKey
,ToolbarActionButton
,CrudMoreActionsMenuClassKey
,GridActionsColDef
,GridBaseColDef
,GridSingleSelectColDef
, andTableDndOrderClassKey
to the public API - eeb21ce: Allow non-full-width fields in
FieldSet
- Updated dependencies [04e308a]
- Updated dependencies [682a674]
- @comet/admin-icons@8.0.0-beta.0
@comet/admin-babel-preset@8.0.0-beta.0
Minor Changes
- 682a674: Add support for React 18
@comet/admin-color-picker@8.0.0-beta.0
Major Changes
-
04e308a: Upgrade to MUI v6
This only causes minimal breaking changes, see the official migration guide for details.
It is recommended to run the following codemods in your application:
npx @mui/codemod@latest v6.0.0/list-item-button-prop admin/src npx @mui/codemod@latest v6.0.0/styled admin/src npx @mui/codemod@latest v6.0.0/sx-prop admin/src npx @mui/codemod@latest v6.0.0/theme-v6 admin/src/theme.ts
Minor Changes
- 682a674: Add support for React 18
Patch Changes
- b8817b8: Add
ColorPickerNoColorPreviewProps
to the public API - Updated dependencies [7ce585d]
- Updated dependencies [f7429bd]
- Updated dependencies [b374300]
- Updated dependencies [717ede6]
- Updated dependencies [de6d677]
- Updated dependencies [04e308a]
- Updated dependencies [400dd1e]
- Updated dependencies [a8c737b]
- Updated dependencies [b8817b8]
- Updated dependencies [eeb21ce]
- Updated dependencies [cfa2f85]
- Updated dependencies [c5d9a47]
- Updated dependencies [4828880]
- Updated dependencies [682a674]
- @comet/admin@8.0.0-beta.0
- @comet/admin-icons@8.0.0-beta.0
@comet/admin-date-time@8.0.0-beta.0
Major Changes
-
04e308a: Upgrade to MUI v6
This only causes minimal breaking changes, see the official migration guide for details.
It is recommended to run the following codemods in your application:
npx @mui/codemod@latest v6.0.0/list-item-button-prop admin/src npx @mui/codemod@latest v6.0.0/styled admin/src npx @mui/codemod@latest v6.0.0/sx-prop admin/src npx @mui/codemod@latest v6.0.0/theme-v6 admin/src/theme.ts
Minor Changes
- 682a674: Add support for React 18
Patch Changes
7.15.0
@comet/admin@7.15.0
Minor Changes
-
a189d4e: Support dynamic values for the
label
prop ofSwitchField
depending on itschecked
state<SwitchField name="switch" label={(checked) => (checked ? "On" : "Off")} />
-
7d8c36e: Add the
DataGridPanel
component to replace MUIs defaultPanel
used byDataGrid
to match the Comet DXP designIt is recommended to add this component to your theme's
defaultProps
ofMuiDataGrid
.Example theme configuration for
admin/src/theme.ts
:import { DataGridPanel } from "@comet/admin"; import { createCometTheme } from "@comet/admin-theme"; import type {} from "@mui/x-data-grid/themeAugmentation"; export const theme = createCometTheme({ components: { MuiDataGrid: { defaultProps: { components: { Panel: DataGridPanel, }, }, }, }, });
-
a189d4e: Allow passing a
ReactNode
tofieldLabel
ofCheckboxField
andSwitchField
This enables using
FormattedMessage
for the label.<CheckboxField name="visible" fieldLabel={<FormattedMessage id="exampleForm.visible" defaultMessage="Visible" />} /> <SwitchField name="visible" fieldLabel={<FormattedMessage id="exampleForm.visible" defaultMessage="Visible" />} />
Patch Changes
- faa54eb: Fix display of warnings for forms that use both form-level and field-level validation
- 6827982: Preserve the default
Button
color when using thesx
prop with thetextLight
ortextDark
variant
@comet/admin-theme@7.15.0
Minor Changes
- 7d8c36e: Improve the styling of the filter and columns panels of
DataGrid
@comet/blocks-admin@7.15.0
Patch Changes
- e056e8f: Change "Add column" button label in
createColumnsBlock
to "Add item"
@comet/cms-admin@7.15.0
Patch Changes
- 46ab330: Adapt styling of the dashboard header to match the Comet DXP design
@comet/cms-api@7.15.0
Patch Changes
-
83b8111: Allow
use
tag in SVG againuse
can be used to define paths once in a SVG and then integrating them multiple times via anchor links:<use xlink:href="#path-id" />
. This should not be prohibited.It's still not possible to use
use
to reference external files, since we still prohibithref
andxlink:href
attributes starting withhttp://
,https://
andjavascript:
. -
e6f9641: Add fallback values for users created via ID token
@comet/cms-site@7.15.0
Patch Changes
- 75fb1d0: Fix block preview not rendering before user interaction
7.14.0
@comet/admin@7.14.0
Minor Changes
-
6b75f20: Deprecate
density
prop ofDataGridToolbar
The density setting of the surrounding Data Grid now controls the styling of the toolbar.
@comet/admin-rte@7.14.0
Minor Changes
-
bb041f7: Add content generation capabilities to
createSeoBlock
The SEO block (when created using the
createSeoBlock
factory) now supports automatic generation of:- HTML title
- Meta description
- Open Graph title
- Open Graph description
See the docs for instructions on enabling this feature.
-
7f72e82: Add
extractTextContents
method to blocksextractTextContents
can be used to extract plain text from blocks. This functionality is particularly useful for operations such as search indexing or using the content for LLM-based tasks. The optionincludeInvisibleContent
can be set to include the content of invisible blocks in the extracted text.The method is optional for now, but it is recommended to implement it for all blocks and documents. The default behavior is to return
- if the state is a string: the string itself
- otherwise: an empty array
@comet/admin-theme@7.14.0
Patch Changes
- 9b190db: Fix spacing for
ListItemIcon
andListItemAvatar
to align with Comet DXP design - 84e0636: Fix dialog header height for dialogs with no title
@comet/blocks-admin@7.14.0
Minor Changes
-
948e07b: Add an
override
argument to all block factories to followcreateCompositeBlock
's pattern -
bb041f7: Add content generation capabilities to
createSeoBlock
The SEO block (when created using the
createSeoBlock
factory) now supports automatic generation of:- HTML title
- Meta description
- Open Graph title
- Open Graph description
See the docs for instructions on enabling this feature.
-
7f72e82: Add
extractTextContents
method to blocksextractTextContents
can be used to extract plain text from blocks. This functionality is particularly useful for operations such as search indexing or using the content for LLM-based tasks. The optionincludeInvisibleContent
can be set to include the content of invisible blocks in the extracted text.The method is optional for now, but it is recommended to implement it for all blocks and documents. The default behavior is to return
- if the state is a string: the string itself
- otherwise: an empty array
@comet/cms-admin@7.14.0
Minor Changes
-
97cd0a3: User Permissions: Use Data Grid instead of a checkbox list for displaying and selecting content scopes
-
bb041f7: Add content generation capabilities to
createSeoBlock
The SEO block (when created using the
createSeoBlock
factory) now supports automatic generation of:- HTML title
- Meta description
- Open Graph title
- Open Graph description
See the docs for instructions on enabling this feature.
-
7f72e82: Add
extractTextContents
method to blocksextractTextContents
can be used to extract plain text from blocks. This functionality is particularly useful for operations such as search indexing or using the content for LLM-based tasks. The optionincludeInvisibleContent
can be set to include the content of invisible blocks in the extracted text.The method is optional for now, but it is recommended to implement it for all blocks and documents. The default behavior is to return
- if the state is a string: the string itself
- otherwise: an empty array
-
c71604e: Add an
override
argument to all block factories to followcreateCompositeBlock
's pattern
@comet/blocks-api@7.14.0
Patch Changes
- 7e7a4aa: Fix
title
field not added to types increateLinkBlock
@comet/cms-api@7.14.0
Minor Changes
-
99ff035: Pass available permissions to
AccessControlService.getPermissionsForUser
-
a84d88c: Ignore filters in
@AffectedEntity
checkWhen using the
@AffectedEntity
decorator we possibly also want to check entities which are filtered by default. Since we don't know how the entity is handled in the resolver we ignore the filters completely. -
3c47c08: Allow passing a language to
generateAltText
andgenerateImageTitle
-
bb041f7: Add content generation capabilities to
createSeoBlock
The SEO block (when created using the
createSeoBlock
factory) now supports automatic generation of:- HTML title
- Meta description
- Open Graph title
- Open Graph description
See the docs for instructions on enabling this feature.
-
7f72e82: Add
extractTextContents
method to blocksextractTextContents
can be used to extract plain text from blocks. This functionality is particularly useful for operations such as search indexing or using the content for LLM-based tasks. The optionincludeInvisibleContent
can be set to include the content of invisible blocks in the extracted text.The method is optional for now, but it is recommended to implement it for all blocks and documents. The default behavior is to return
- if the state is a string: the string itself
- otherwise: an empty array
Patch Changes
@comet/cms-site@7.14.0
Minor Changes
-
6163b83: Play/pause auto-play videos depending on their visibility
Start videos in
DamVideoBlock
,YoutubeVideoBlock
andVimeoVideoBlock
when the block is in or enters the viewport.
Pause them when the block is leaving the viewport. -
d07a6da: Add comment explaining why we omit the
alt
-prop inPixelImageBlock
Patch Changes
7.13.0
@comet/admin@7.13.0
Minor Changes
-
bd562d3: Add
disableForcePromptRoute
option toStackSwitch
This can be useful when a navigation in a switch shouldn't trigger a prompt, e.g., when navigating inside a block.
-
5c06e4b: Reduce
MainContent
padding on mobile -
b918c81: Add support for custom components to
CrudMoreActionsMenu
Example
const CustomAction = () => ( <CrudMoreActionsMenuItem onClick={() => { // Perform action }} > <ListItemIcon> <Favorite /> </ListItemIcon> Custom Action </CrudMoreActionsMenuItem> ); <CrudMoreActionsMenu overallActions={[<CustomAction key="custom-action" />]} />;
Note: Use the
CrudMoreActionsMenuItem
component orCrudMoreActionsMenuContext
to close the menu after clicking an item.
@comet/admin-rte@7.13.0
Patch Changes
- 86c1d59: Set correct editor height when using the
minHeight
option
@comet/blocks-admin@7.13.0
Patch Changes
- bd562d3: Prevent router prompt when using a block with subroutes in a form
@comet/cms-admin@7.13.0
Patch Changes
-
f49370a: Improve SVG validation
Following tags are banned in SVGs:
- script
- [new] foreignObject
- [new] use
- [new] image
- [new] animate
- [new] animateMotion
- [new] animateTransform
- [new] set
Following attributes are banned:
- Event handlers (
onload
,onclick
, ...) - [new]
href
andxlink:href
(if the value starts withhttp://
,https://
orjavascript:
)
@comet/cms-api@7.13.0
Patch Changes
-
f49370a: Improve SVG validation
Following tags are banned in SVGs:
- script
- [new] foreignObject
- [new] use
- [new] image
- [new] animate
- [new] animateMotion
- [new] animateTransform
- [new] set
Following attributes are banned:
- Event handlers (
onload
,onclick
, ...) - [new]
href
andxlink:href
(if the value starts withhttp://
,https://
orjavascript:
)
@comet/cms-site@7.13.0
Minor Changes
-
f60b636: Extend the
usePreview
-helpersisSelected
andisHovered
with optional partial match support- When
exactMatch
is set totrue
(default), the function checks for exact URL matches. - When
exactMatch
is set tofalse
, the function checks if the selected route starts with the given URL.
- When
7.12.0
@comet/admin@7.12.0
Minor Changes
-
af51bb4: Make the width of
GridToolbarQuickFilter
responsive when used insideDataGridToolbar
-
92b3255: Hide group title in
CrudMoreActionsMenu
when only one group is present -
e8003f9: Add a new
FillSpace
component to replaceToolbarFillSpace
andAppHeaderFillSpace
ToolbarFillSpace
andAppHeaderFillSpace
are now deprecated. -
4f6e6b0: Deprecate
FinalFormRadio
andFinalFormCheckbox
-
5583c9c: Export
renderFinalFormChildren
helper -
7da81fa: Add a new
Button
component to replaceToolbarActionButton
and MUI'sButton
Compared to MUI's
Button
component, thecolor
prop has been removed, and thevariant
prop now defines those variants, defined by the Comet design guidelines,primary
is the default variant.-import { Button } from "@mui/material"; +import { Button } from "@comet/admin"; export const AllButtonVariants = () => ( <> - <Button variant="contained" color="primary">Primary</Button> + <Button>Primary</Button> - <Button variant="contained" color="secondary">Secondary</Button> + <Button variant="secondary">Secondary</Button> - <Button variant="outlined">Outlined</Button> + <Button variant="outlined">Outlined</Button> - <Button variant="outlined" color="error">Destructive</Button> + <Button variant="destructive">Destructive</Button> - <Button variant="contained" color="success">Success</Button> + <Button variant="success">Success</Button> - <Button variant="text" sx={{ color: "white" }}>Text Light</Button> + <Button variant="textLight">Text Light</Button> - <Button variant="text" sx={{ color: "black" }}>Text Dark</Button> + <Button variant="textDark">Text Dark</Button> </> );
Responsive behavior
ToolbarActionButton
is now deprecated.
Previously,ToolbarActionButton
would hide its text content on mobile and add it with a tooltip instead.
This behavior can now be achieved by setting theresponsive
prop on theButton
component.-import { ToolbarActionButton } from "@comet/admin/lib/common/toolbar/actions/ToolbarActionButton"; +import { Button } from "@comet/admin"; import { Favorite } from "@comet/admin-icons"; const Example = () => { - return <ToolbarActionButton startIcon={<Favorite />}>Hello</ToolbarActionButton>; + return <Button responsive startIcon={<Favorite />}>Hello</Button>; };
Patch Changes
- 9546356: Fix mobile styling of
AppHeaderMenuButton
- 3ddc227: Adjust the spacings inside
Toolbar
andDataGridToolbar
to match the Comet design - 0bb181a:
usePersistentColumnState
: Prevent Data Grids with the same name to overwrite each others pinned and column-visibility states
@comet/admin-theme@7.12.0
Minor Changes
- ee59753: Add styling of
Card
andCardHeader
to align with Comet DXP design
Patch Changes
- 47be4eb: Adapt styling of
DialogActions
,DialogContent
, andDialogTitle
to match the Comet DXP design - af51bb4: Prevent the input value of
GridToolbarQuickFilter
from being truncated too early
@comet/blocks-admin@7.12.0
Minor Changes
-
86479e7: Simplify setting field props when using
createCompositeBlockTextField
orcreateCompositeBlockSelectField
The props can now be set directly without nesting them inside the
fieldProps
object.block: createCompositeBlockTextField({ - fieldProps: { label: "Title", fullWidth: true, - }, }),
-
af350d0: Add
createCompositeBlockSwitchField
helper functionTo simplify the creation of a switch field block by hiding the verbose definition of
Form
,Field
and items. -
86479e7: Support
disabled
in select options when usingcreateCompositeBlockSelectField
Patch Changes
- 5583c9c: Allow passing a function as child to
BlocksFinalForm
@comet/cms-admin@7.12.0
Minor Changes
-
604491d: Validate filename length for uploads to DAM or FileUploads
The filename can't exceed 255 characters.
Patch Changes
-
64173b5: Fix page tree node slug validation to prevent URL encoded characters
-
0837c4c: Hide the "Dependents" tab in the DAM for users without the permission
dependencies
-
cf1a829: Remove
video/avi
,image/psd
andvideo/x-m4v
from default accepted mimetypesNone of this mimetypes had an actual impact:
video/avi
doesn't actually existimage/psd
doesn't exist / is non-standardvideo/x-m4v
is a niche format and the mimetype is not widely used (e.g., Google Chrome and MacOS usevideo/mp4
instead)
So removing them shouldn't have any noticeable effects.
-
cf1a829: Add
image/x-icon
to default accepted mimetypesPreviously, only
image/vnd.microsoft.icon
was supported. That could lead to problems uploading .ico files, since
image/vnd.microsoft.icon
andimage/x-icon
are valid mimetypes for this format. -
02dd20a: Export
useDamScope
hookThis allows accessing the DAM scope in the application. This might be necessary when developing integrations with a third-party DAM.
-
9546356: Update default icon of
ContentScopeSelect
and fix mobile styling forAppHeader
components- Update the default icon in
ContentScopeSelect
from<Domain />
to<Language />
- Fix mobile styling of
BuildEntry
andContentScopeSelect
andUserHeaderItem
- Update the default icon in
@comet/cms-api@7.12.0
Minor Changes
-
604491d: Validate filename length for uploads to DAM or FileUploads
The filename can't exceed 255 characters.
-
575f1a7: Add
ExceptionFilter
to replaceExceptionInterceptor
The main motivation for this change was that the
ExceptionInterceptor
didn't capture exceptions thrown in guards. This could lead to information leaks, e.g., details about the database schema or the underlying code. This is considered a security risk.The
ExceptionFilter
also catches error within guards. The error format remains unchanged.Switching from the
ExceptionInterceptor
to theExceptionFilter
must be done in the project:// main.ts - app.useGlobalInterceptors(new ExceptionInterceptor(config.debug)); + app.useGlobalFilters(new ExceptionFilter(config.debug));
Patch Changes
-
64173b5: Fix page tree node slug validation to prevent URL encoded characters
-
c66a403: Migrate from deprecated
@azure/openai
package toopenai
See https://learn.microsoft.com/en-us/azure/ai-services/openai/how-to/migration-javascript for more information.
-
6b4866a: Pass
x-preview-dam-urls
andx-relative-dam-urls
headers tourl
field resolver inFileImagesResolver
-
cf1a829: Remove
video/avi
,image/psd
andvideo/x-m4v
from default accepted mimetypesNone of these mimetypes had an actual impact:
video/avi
doesn't actually existimage/psd
doesn't exist / is non-standardvideo/x-m4v
is a niche format and the mimetype is not widely used (e.g., Google Chrome and MacOS usevideo/mp4
instead)
So removing them shouldn't have any noticeable effects.
-
cf1a829: Add
image/x-icon
to default accepted mimetypesPreviously, only
image/vnd.microsoft.icon
was supported. That could lead to problems uploading .ico files, since
image/vnd.microsoft.icon
andimage/x-icon
are valid mimetypes for this format. -
ff0a037: Prevent image uploads from failing if exif data cannot be parsed
@comet/cli@7.12.0
Minor Changes
- 753cd6f: Add option for base64 encoding in
inject-site-configs
command
@comet/cms-site@7.12.0
Patch Changes
- e92e6df: Prevent the block-preview from becoming unresponsive when rendering an
input