@contentful/experiences-sdk-react 3.8.10-dev-20260703T1126-b50ca20.0 → 3.8.11-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/dist/ExperienceRoot.js.map +1 -1
  2. package/dist/blocks/editor/VisualEditorInjectScript.js.map +1 -1
  3. package/dist/blocks/editor/VisualEditorLoader.js.map +1 -1
  4. package/dist/blocks/editor/VisualEditorRoot.js.map +1 -1
  5. package/dist/blocks/preview/CompositionBlock.js +2 -3
  6. package/dist/blocks/preview/CompositionBlock.js.map +1 -1
  7. package/dist/blocks/preview/PreviewDeliveryRoot.js.map +1 -1
  8. package/dist/components/ErrorBoundary.js +1 -0
  9. package/dist/components/ErrorBoundary.js.map +1 -1
  10. package/dist/constants.js.map +1 -1
  11. package/dist/core/componentRegistry.js +2 -2
  12. package/dist/core/componentRegistry.js.map +1 -1
  13. package/dist/core/preview/PrebindingManager.js.map +1 -1
  14. package/dist/core/preview/assemblyUtils.js.map +1 -1
  15. package/dist/core/sdkFeatures.js.map +1 -1
  16. package/dist/core/styles/convertResolvedDesignValuesToMediaQuery.js.map +1 -1
  17. package/dist/core/styles/createStylesheetsForBuiltInStyles.js.map +1 -1
  18. package/dist/hooks/useBreakpoints.js.map +1 -1
  19. package/dist/hooks/useCustomFetch.js.map +1 -1
  20. package/dist/hooks/useDetectCanvasMode.js +1 -1
  21. package/dist/hooks/useDetectCanvasMode.js.map +1 -1
  22. package/dist/hooks/useFetchById.js.map +1 -1
  23. package/dist/hooks/useFetchBySlug.js.map +1 -1
  24. package/dist/hooks/useInitializeVisualEditor.js +1 -1
  25. package/dist/hooks/useInitializeVisualEditor.js.map +1 -1
  26. package/dist/hooks/useInjectStylesheet.js.map +1 -1
  27. package/dist/index.d.ts +3 -3
  28. package/dist/index.js.map +1 -1
  29. package/dist/sdkVersion.js +1 -1
  30. package/dist/sdkVersion.js.map +1 -1
  31. package/dist/src/ExperienceRoot.d.ts +2 -1
  32. package/dist/src/blocks/editor/VisualEditorInjectScript.d.ts +2 -1
  33. package/dist/src/blocks/preview/CompositionBlock.d.ts +2 -1
  34. package/dist/src/blocks/preview/PreviewDeliveryRoot.d.ts +2 -1
  35. package/dist/src/components/ErrorBoundary.d.ts +1 -1
  36. package/dist/src/core/preview/PrebindingManager.d.ts +2 -2
  37. package/dist/src/core/preview/__fixtures__.d.ts +33 -33
  38. package/dist/src/sdkVersion.d.ts +1 -1
  39. package/dist/test/components/Test.d.ts +2 -1
  40. package/dist/utils/parseComponentProps.js.map +1 -1
  41. package/dist/utils/prebindingUtils.js.map +1 -1
  42. package/dist/utils/withComponentWrapper.js.map +1 -1
  43. package/package.json +39 -39
@@ -1 +1 @@
1
- {"version":3,"file":"prebindingUtils.js","sources":["../../../src/utils/prebindingUtils.ts"],"sourcesContent":["import { type EntityStore, isLink } from '@contentful/experiences-core';\nimport { ExperienceComponentSettings, Parameter } from '@contentful/experiences-validators';\nimport { PrebindingManager } from '../core/preview/PrebindingManager';\n\nexport const shouldUsePrebinding = ({\n componentValueKey,\n componentSettings,\n parameters,\n patternRootNodeIdsChain,\n}: {\n componentValueKey: string;\n componentSettings: ExperienceComponentSettings;\n parameters: Record<string, Parameter>;\n patternRootNodeIdsChain: string[];\n}) => {\n const { prebindingDefinitions } = componentSettings;\n const { parameterDefinitions, variableMappings, allowedVariableOverrides } =\n prebindingDefinitions?.[0] || {};\n\n const variableMapping = variableMappings?.[componentValueKey];\n\n const parameterDefinition = parameterDefinitions?.[variableMapping?.parameterId || ''];\n\n const patternRootNodeIds = patternRootNodeIdsChain.join('---');\n const hoistedParameterId = PrebindingManager.getHoistedIdForParameterId(\n variableMapping?.parameterId || '',\n patternRootNodeIds,\n );\n const parameter = parameters?.[hoistedParameterId];\n\n const isValidForPrebinding =\n !!parameterDefinition &&\n !!parameter &&\n !!variableMapping &&\n !!allowedVariableOverrides &&\n Array.isArray(allowedVariableOverrides);\n\n if (!isValidForPrebinding) {\n return false;\n }\n\n // removed 'NoValue' check\n const isForDirectBindingOnly = allowedVariableOverrides.includes(componentValueKey);\n return !isForDirectBindingOnly;\n};\n\nexport const resolvePrebindingPath = ({\n componentValueKey,\n componentSettings,\n parameters,\n entityStore,\n patternRootNodeIdsChain,\n}: {\n componentValueKey: string;\n componentSettings: ExperienceComponentSettings;\n parameters: Record<string, Parameter>;\n entityStore: EntityStore;\n patternRootNodeIdsChain: string[];\n}) => {\n const prebindingDefinition = componentSettings.prebindingDefinitions?.[0];\n if (!prebindingDefinition) return '';\n\n const variableMapping = prebindingDefinition.variableMappings?.[componentValueKey];\n\n if (!variableMapping) return '';\n\n const patternRootNodeIds = patternRootNodeIdsChain.join('---');\n const hoistedParameterId = PrebindingManager.getHoistedIdForParameterId(\n variableMapping.parameterId,\n patternRootNodeIds,\n );\n const parameter = parameters?.[hoistedParameterId];\n\n if (!parameter) return '';\n\n const dataSourceKey = parameter.path.split('/')[1];\n\n const entityLink = entityStore.dataSource[dataSourceKey];\n if (!entityLink) return '';\n\n const entity = entityStore.getEntityFromLink(entityLink);\n if (!entity || entity.sys.type === 'Asset') return '';\n\n const contentType = entity.sys.contentType.sys.id;\n\n const hoistedParameterDefinition = entityStore.hoistedParameterDefinitions[hoistedParameterId];\n if (!hoistedParameterDefinition || !hoistedParameterDefinition.contentTypes.includes(contentType))\n return '';\n\n const fieldPath = variableMapping?.pathsByContentType?.[contentType]?.path;\n\n if (!fieldPath) return '';\n\n return parameter.path + fieldPath;\n};\n\nexport const resolveMaybePrebindingDefaultValuePath = ({\n componentValueKey,\n patternRootNodeIdsChain,\n entityStore,\n}: {\n componentValueKey: string;\n patternRootNodeIdsChain: string[];\n entityStore: EntityStore;\n}): string | undefined => {\n const variableMapping = entityStore.hoistedVariableMappings[componentValueKey];\n if (!variableMapping) return;\n\n const patternRootNodeIds = patternRootNodeIdsChain.join('---');\n\n const pdID = variableMapping.parameterId;\n const hoistedpdID = PrebindingManager.getHoistedIdForParameterId(pdID, patternRootNodeIds);\n const prebindingDefinition = entityStore.hoistedParameterDefinitions[hoistedpdID];\n\n if (!prebindingDefinition) {\n // probably shouldn't happen, as if ppd is not defined, then variableMapping should not be defined either\n return;\n }\n if (!prebindingDefinition.defaultSource) {\n // pretty normal, prebinding definitions are not required to have default source\n return;\n }\n\n const { contentTypeId, link: defaultEntryLink } = prebindingDefinition.defaultSource;\n\n if (!isLink(defaultEntryLink)) {\n // just extra safety check, defaultEntryLink should always be a link\n return;\n }\n\n if (prebindingDefinition.contentTypes.includes(contentTypeId)) {\n const entity = entityStore.getEntityFromLink(defaultEntryLink);\n\n if (!entity) {\n // looks like sideloading of the prebinding default value didn't work as expected.\n // And didn't sideload the entry into entityStore (and didn't add it's sideloaded_dsKey to the entityStore.dataSource)\n return;\n }\n\n const fieldPath = variableMapping.pathsByContentType[contentTypeId]?.path;\n if (!fieldPath) {\n // Path not found or degenerate shape (e.g. empty string '')\n return;\n }\n\n const fullDefaultValuePath = `/${defaultEntryLink.sys.id}${fieldPath}`;\n return fullDefaultValuePath;\n }\n\n return undefined;\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prebindingUtils.js","sources":["../../../src/utils/prebindingUtils.ts"],"sourcesContent":["import { type EntityStore, isLink } from '@contentful/experiences-core';\nimport { ExperienceComponentSettings, Parameter } from '@contentful/experiences-validators';\nimport { PrebindingManager } from '../core/preview/PrebindingManager';\n\nexport const shouldUsePrebinding = ({\n componentValueKey,\n componentSettings,\n parameters,\n patternRootNodeIdsChain,\n}: {\n componentValueKey: string;\n componentSettings: ExperienceComponentSettings;\n parameters: Record<string, Parameter>;\n patternRootNodeIdsChain: string[];\n}) => {\n const { prebindingDefinitions } = componentSettings;\n const { parameterDefinitions, variableMappings, allowedVariableOverrides } =\n prebindingDefinitions?.[0] || {};\n\n const variableMapping = variableMappings?.[componentValueKey];\n\n const parameterDefinition = parameterDefinitions?.[variableMapping?.parameterId || ''];\n\n const patternRootNodeIds = patternRootNodeIdsChain.join('---');\n const hoistedParameterId = PrebindingManager.getHoistedIdForParameterId(\n variableMapping?.parameterId || '',\n patternRootNodeIds,\n );\n const parameter = parameters?.[hoistedParameterId];\n\n const isValidForPrebinding =\n !!parameterDefinition &&\n !!parameter &&\n !!variableMapping &&\n !!allowedVariableOverrides &&\n Array.isArray(allowedVariableOverrides);\n\n if (!isValidForPrebinding) {\n return false;\n }\n\n // removed 'NoValue' check\n const isForDirectBindingOnly = allowedVariableOverrides.includes(componentValueKey);\n return !isForDirectBindingOnly;\n};\n\nexport const resolvePrebindingPath = ({\n componentValueKey,\n componentSettings,\n parameters,\n entityStore,\n patternRootNodeIdsChain,\n}: {\n componentValueKey: string;\n componentSettings: ExperienceComponentSettings;\n parameters: Record<string, Parameter>;\n entityStore: EntityStore;\n patternRootNodeIdsChain: string[];\n}) => {\n const prebindingDefinition = componentSettings.prebindingDefinitions?.[0];\n if (!prebindingDefinition) return '';\n\n const variableMapping = prebindingDefinition.variableMappings?.[componentValueKey];\n\n if (!variableMapping) return '';\n\n const patternRootNodeIds = patternRootNodeIdsChain.join('---');\n const hoistedParameterId = PrebindingManager.getHoistedIdForParameterId(\n variableMapping.parameterId,\n patternRootNodeIds,\n );\n const parameter = parameters?.[hoistedParameterId];\n\n if (!parameter) return '';\n\n const dataSourceKey = parameter.path.split('/')[1];\n\n const entityLink = entityStore.dataSource[dataSourceKey];\n if (!entityLink) return '';\n\n const entity = entityStore.getEntityFromLink(entityLink);\n if (!entity || entity.sys.type === 'Asset') return '';\n\n const contentType = entity.sys.contentType.sys.id;\n\n const hoistedParameterDefinition = entityStore.hoistedParameterDefinitions[hoistedParameterId];\n if (!hoistedParameterDefinition || !hoistedParameterDefinition.contentTypes.includes(contentType))\n return '';\n\n const fieldPath = variableMapping?.pathsByContentType?.[contentType]?.path;\n\n if (!fieldPath) return '';\n\n return parameter.path + fieldPath;\n};\n\nexport const resolveMaybePrebindingDefaultValuePath = ({\n componentValueKey,\n patternRootNodeIdsChain,\n entityStore,\n}: {\n componentValueKey: string;\n patternRootNodeIdsChain: string[];\n entityStore: EntityStore;\n}): string | undefined => {\n const variableMapping = entityStore.hoistedVariableMappings[componentValueKey];\n if (!variableMapping) return;\n\n const patternRootNodeIds = patternRootNodeIdsChain.join('---');\n\n const pdID = variableMapping.parameterId;\n const hoistedpdID = PrebindingManager.getHoistedIdForParameterId(pdID, patternRootNodeIds);\n const prebindingDefinition = entityStore.hoistedParameterDefinitions[hoistedpdID];\n\n if (!prebindingDefinition) {\n // probably shouldn't happen, as if ppd is not defined, then variableMapping should not be defined either\n return;\n }\n if (!prebindingDefinition.defaultSource) {\n // pretty normal, prebinding definitions are not required to have default source\n return;\n }\n\n const { contentTypeId, link: defaultEntryLink } = prebindingDefinition.defaultSource;\n\n if (!isLink(defaultEntryLink)) {\n // just extra safety check, defaultEntryLink should always be a link\n return;\n }\n\n if (prebindingDefinition.contentTypes.includes(contentTypeId)) {\n const entity = entityStore.getEntityFromLink(defaultEntryLink);\n\n if (!entity) {\n // looks like sideloading of the prebinding default value didn't work as expected.\n // And didn't sideload the entry into entityStore (and didn't add it's sideloaded_dsKey to the entityStore.dataSource)\n return;\n }\n\n const fieldPath = variableMapping.pathsByContentType[contentTypeId]?.path;\n if (!fieldPath) {\n // Path not found or degenerate shape (e.g. empty string '')\n return;\n }\n\n const fullDefaultValuePath = `/${defaultEntryLink.sys.id}${fieldPath}`;\n return fullDefaultValuePath;\n }\n\n return undefined;\n};\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"withComponentWrapper.js","sources":["../../../src/utils/withComponentWrapper.tsx"],"sourcesContent":["import { ComponentRegistration } from '@contentful/experiences-core/types';\nimport React from 'react';\ninterface CFProps extends React.HtmlHTMLAttributes<HTMLElement> {\n /**\n * Classes to be applied to the container component if `wrapComponent` is true, or directly to the child component if false.\n */\n className?: string;\n 'data-cf-node-id': string;\n 'data-cf-node-block-id': string;\n 'data-cf-node-block-type': string;\n}\n\n// NOTE: We're use this as a default for `options`. When only one option is explicitly defined,\n// all other default options are dropped as we're not merging the provided options with the default ones.\n// We started merging both options with SDK v3 but many customers wouldn't upgrade as it suddenly added\n// wrappers to their components because they only set the options to `{ wrapContainerWidth: \"100%\" }`.\n// With v2, it results in `wrapComponent` being undefined but with v3, it resulted in it being `true` and\n// thus causing unexpected layout changes.\n// We rolled back that change to let customers migrate smoothly for now but will adjust this behaviour with\n// v4.\nconst DEFAULT_OPTIONS = {\n wrapComponent: true,\n wrapContainer: 'div' as keyof JSX.IntrinsicElements,\n};\n\n/**\n * Sets up a component to be consumed by Experience Builder. This function can be used to wrap a component with a container component, or to pass props to the component directly.\n * @param Component Component to be used by Experience Builder.\n * @param options Options for the `withComponentWrapper` function.\n * @default { wrapComponent: true, wrapContainer: 'div' }\n * @returns A component that can be passed to `defineComponents`.\n */\nexport function withComponentWrapper<T>(\n Component: React.ElementType,\n options: ComponentRegistration['options'] = DEFAULT_OPTIONS,\n) {\n const Wrapped: React.FC<CFProps & T> = (props) => {\n const Tag = options.wrapContainer ?? 'div';\n const {\n className = '',\n 'data-cf-node-id': dataCfNodeId,\n 'data-cf-node-block-id': dataCfNodeBlockId,\n 'data-cf-node-block-type': dataCfNodeBlockType,\n ...componentProps\n } = props;\n const component = options.wrapComponent ? (\n <Tag\n data-component-wrapper\n className={className}\n data-cf-node-id={dataCfNodeId}\n data-cf-node-block-id={dataCfNodeBlockId}\n data-cf-node-block-type={dataCfNodeBlockType}>\n <Component {...componentProps} />\n </Tag>\n ) : (\n React.createElement(Component, props)\n );\n return component;\n };\n\n return Wrapped;\n}\n"],"names":["_jsx"],"mappings":";;;AAYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,eAAe,GAAG;AACtB,IAAA,aAAa,EAAE,IAAI;AACnB,IAAA,aAAa,EAAE,KAAoC;CACpD,CAAC;AAEF;;;;;;AAMG;SACa,oBAAoB,CAClC,SAA4B,EAC5B,UAA4C,eAAe,EAAA;AAE3D,IAAA,MAAM,OAAO,GAA0B,CAAC,KAAK,KAAI;AAC/C,QAAA,MAAM,GAAG,GAAG,OAAO,CAAC,aAAa,IAAI,KAAK,CAAC;QAC3C,MAAM,EACJ,SAAS,GAAG,EAAE,EACd,iBAAiB,EAAE,YAAY,EAC/B,uBAAuB,EAAE,iBAAiB,EAC1C,yBAAyB,EAAE,mBAAmB,EAC9C,GAAG,cAAc,EAClB,GAAG,KAAK,CAAC;AACV,QAAA,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,IACrCA,IAAC,GAAG,EAAA,EAAA,wBAAA,EAAA,IAAA,EAEF,SAAS,EAAE,SAAS,qBACH,YAAY,EAAA,uBAAA,EACN,iBAAiB,EACf,yBAAA,EAAA,mBAAmB,EAC5C,QAAA,EAAAA,GAAA,CAAC,SAAS,EAAK,EAAA,GAAA,cAAc,GAAI,EAC7B,CAAA,KAEN,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,CACtC,CAAC;AACF,QAAA,OAAO,SAAS,CAAC;AACnB,KAAC,CAAC;AAEF,IAAA,OAAO,OAAO,CAAC;AACjB;;;;"}
1
+ {"version":3,"file":"withComponentWrapper.js","sources":["../../../src/utils/withComponentWrapper.tsx"],"sourcesContent":["import { ComponentRegistration } from '@contentful/experiences-core/types';\nimport React from 'react';\ninterface CFProps extends React.HtmlHTMLAttributes<HTMLElement> {\n /**\n * Classes to be applied to the container component if `wrapComponent` is true, or directly to the child component if false.\n */\n className?: string;\n 'data-cf-node-id': string;\n 'data-cf-node-block-id': string;\n 'data-cf-node-block-type': string;\n}\n\n// NOTE: We're use this as a default for `options`. When only one option is explicitly defined,\n// all other default options are dropped as we're not merging the provided options with the default ones.\n// We started merging both options with SDK v3 but many customers wouldn't upgrade as it suddenly added\n// wrappers to their components because they only set the options to `{ wrapContainerWidth: \"100%\" }`.\n// With v2, it results in `wrapComponent` being undefined but with v3, it resulted in it being `true` and\n// thus causing unexpected layout changes.\n// We rolled back that change to let customers migrate smoothly for now but will adjust this behaviour with\n// v4.\nconst DEFAULT_OPTIONS = {\n wrapComponent: true,\n wrapContainer: 'div' as keyof React.JSX.IntrinsicElements,\n};\n\n/**\n * Sets up a component to be consumed by Experience Builder. This function can be used to wrap a component with a container component, or to pass props to the component directly.\n * @param Component Component to be used by Experience Builder.\n * @param options Options for the `withComponentWrapper` function.\n * @default { wrapComponent: true, wrapContainer: 'div' }\n * @returns A component that can be passed to `defineComponents`.\n */\nexport function withComponentWrapper<T>(\n Component: React.ElementType,\n options: ComponentRegistration['options'] = DEFAULT_OPTIONS,\n) {\n const Wrapped: React.FC<CFProps & T> = (props) => {\n const Tag = options.wrapContainer ?? 'div';\n const {\n className = '',\n 'data-cf-node-id': dataCfNodeId,\n 'data-cf-node-block-id': dataCfNodeBlockId,\n 'data-cf-node-block-type': dataCfNodeBlockType,\n ...componentProps\n } = props;\n const component = options.wrapComponent ? (\n <Tag\n data-component-wrapper\n className={className}\n data-cf-node-id={dataCfNodeId}\n data-cf-node-block-id={dataCfNodeBlockId}\n data-cf-node-block-type={dataCfNodeBlockType}>\n <Component {...componentProps} />\n </Tag>\n ) : (\n React.createElement(Component, props)\n );\n return component;\n };\n\n return Wrapped;\n}\n"],"names":["_jsx"],"mappings":";;;AAYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,eAAe,GAAG;AACtB,IAAA,aAAa,EAAE,IAAI;AACnB,IAAA,aAAa,EAAE,KAA0C;CAC1D;AAED;;;;;;AAMG;SACa,oBAAoB,CAClC,SAA4B,EAC5B,UAA4C,eAAe,EAAA;AAE3D,IAAA,MAAM,OAAO,GAA0B,CAAC,KAAK,KAAI;AAC/C,QAAA,MAAM,GAAG,GAAG,OAAO,CAAC,aAAa,IAAI,KAAK;QAC1C,MAAM,EACJ,SAAS,GAAG,EAAE,EACd,iBAAiB,EAAE,YAAY,EAC/B,uBAAuB,EAAE,iBAAiB,EAC1C,yBAAyB,EAAE,mBAAmB,EAC9C,GAAG,cAAc,EAClB,GAAG,KAAK;AACT,QAAA,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,IACrCA,IAAC,GAAG,EAAA,EAAA,wBAAA,EAAA,IAAA,EAEF,SAAS,EAAE,SAAS,qBACH,YAAY,EAAA,uBAAA,EACN,iBAAiB,EAAA,yBAAA,EACf,mBAAmB,EAAA,QAAA,EAC5CA,GAAA,CAAC,SAAS,EAAA,EAAA,GAAK,cAAc,GAAI,EAAA,CAC7B,KAEN,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,CACtC;AACD,QAAA,OAAO,SAAS;AAClB,IAAA,CAAC;AAED,IAAA,OAAO,OAAO;AAChB;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contentful/experiences-sdk-react",
3
- "version": "3.8.10-dev-20260703T1126-b50ca20.0",
3
+ "version": "3.8.11-beta.0",
4
4
  "main": "./dist/index.js",
5
5
  "module": "./dist/index.js",
6
6
  "typings": "./dist/src/index.d.ts",
@@ -41,50 +41,50 @@
41
41
  "depcruise": "depcruise src"
42
42
  },
43
43
  "dependencies": {
44
- "@contentful/experiences-components-react": "3.8.10-dev-20260703T1126-b50ca20.0",
45
- "@contentful/experiences-core": "3.8.10-dev-20260703T1126-b50ca20.0",
46
- "@contentful/experiences-validators": "3.8.10-dev-20260703T1126-b50ca20.0",
47
- "@contentful/experiences-visual-editor-react": "3.8.10-dev-20260703T1126-b50ca20.0",
48
- "@contentful/rich-text-types": "^17.0.0",
49
- "csstype": "^3.1.2",
50
- "immer": "^10.0.3",
44
+ "@contentful/experiences-components-react": "3.8.11-beta.0",
45
+ "@contentful/experiences-core": "3.8.11-beta.0",
46
+ "@contentful/experiences-validators": "3.8.11-beta.0",
47
+ "@contentful/experiences-visual-editor-react": "3.8.11-beta.0",
48
+ "@contentful/rich-text-types": "^17.2.7",
49
+ "csstype": "^3.2.3",
50
+ "immer": "^11.1.18",
51
51
  "md5": "^2.3.0",
52
52
  "style-inject": "^0.3.0"
53
53
  },
54
54
  "devDependencies": {
55
- "@rollup/plugin-commonjs": "^25.0.7",
56
- "@rollup/plugin-node-resolve": "^15.2.3",
57
- "@rollup/plugin-typescript": "^11.1.5",
58
- "@semantic-release/changelog": "^6.0.3",
59
- "@testing-library/jest-dom": "^6.1.4",
60
- "@testing-library/react": "^14.0.0",
61
- "@testing-library/user-event": "^14.4.3",
62
- "@types/jest": "^29.5.6",
63
- "@types/md5": "^2.3.5",
64
- "@types/node": "^20.11.10",
65
- "@types/react": "^18.0.28",
66
- "@types/react-dom": "^18.0.11",
67
- "@vitejs/plugin-react": "^4.2.1",
68
- "@vitejs/plugin-react-swc": "^3.0.0",
69
- "contentful": "^11.10.2",
70
- "glob": "^10.5.0",
71
- "husky": "^9.0.10",
72
- "jest": "^29.5.0",
73
- "jest-environment-jsdom": "^29.5.0",
74
- "jsdom": "^24.0.0",
75
- "react": "^18.2.0",
76
- "react-dom": "^18.2.0",
55
+ "@rollup/plugin-commonjs": "^29.0.3",
56
+ "@rollup/plugin-node-resolve": "^16.0.3",
57
+ "@rollup/plugin-typescript": "^12.3.0",
58
+ "@semantic-release/changelog": "^7.0.0",
59
+ "@testing-library/jest-dom": "^7.0.1",
60
+ "@testing-library/react": "^16.3.2",
61
+ "@testing-library/user-event": "^14.6.6",
62
+ "@types/jest": "^30.0.0",
63
+ "@types/md5": "^2.3.6",
64
+ "@types/node": "^20.19.43",
65
+ "@types/react": "^19.2.18",
66
+ "@types/react-dom": "^19.2.5",
67
+ "@vitejs/plugin-react": "^6.1.0",
68
+ "@vitejs/plugin-react-swc": "^4.3.3",
69
+ "contentful": "^11.12.9",
70
+ "glob": "^13.0.6",
71
+ "husky": "^9.1.7",
72
+ "jest": "^30.4.2",
73
+ "jest-environment-jsdom": "^30.4.1",
74
+ "jsdom": "^30.0.1",
75
+ "react": "^19.2.8",
76
+ "react-dom": "^19.2.8",
77
77
  "relative-deps": "^1.0.7",
78
- "rollup-plugin-dts": "^6.1.0",
79
- "rollup-plugin-node-externals": "^7.0.1",
78
+ "rollup-plugin-dts": "^6.5.1",
79
+ "rollup-plugin-node-externals": "^9.0.1",
80
80
  "rollup-plugin-preserve-directives": "^0.4.0",
81
- "semantic-release": "^25.0.3",
82
- "ts-jest": "^29.1.0",
83
- "typescript": "^5.2.2",
81
+ "semantic-release": "^25.0.9",
82
+ "ts-jest": "^29.4.12",
83
+ "typescript": "^7.0.2",
84
84
  "vite": "^5.4.8",
85
- "vite-plugin-css-injected-by-js": "^3.5.2",
86
- "vite-plugin-dts": "^4.2.2",
87
- "vite-plugin-svgr": "^4.1.0"
85
+ "vite-plugin-css-injected-by-js": "^5.0.2",
86
+ "vite-plugin-dts": "^5.0.3",
87
+ "vite-plugin-svgr": "^5.2.0"
88
88
  },
89
89
  "peerDependencies": {
90
90
  "contentful": ">=10.6.0",
@@ -95,5 +95,5 @@
95
95
  "dist",
96
96
  "package.json"
97
97
  ],
98
- "gitHead": "caa30f1cea277558f3265f8d0e23c4ae9271c140"
98
+ "gitHead": "d8262da24d649606e35c920bd889028ed7a0b360"
99
99
  }