slice-machine-ui 1.26.1-beta.1 → 1.26.1-beta.11
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/.eslintrc.js +6 -1
- package/.storybook/preview.tsx +2 -1
- package/components/App/index.tsx +6 -7
- package/components/AppLayout/index.tsx +6 -8
- package/components/AuthInstructions/index.jsx +1 -1
- package/components/Button/index.tsx +1 -2
- package/components/Card/Default.jsx +2 -1
- package/components/Card/Preview.jsx +1 -1
- package/components/Card/WithTabs/components.jsx +1 -1
- package/components/Card/WithTabs/index.jsx +4 -3
- package/components/Card/index.tsx +1 -0
- package/components/Changelog/index.tsx +6 -7
- package/components/Changelog/navigation/VersionBadge.tsx +2 -1
- package/components/Changelog/navigation/VersionTag.tsx +1 -0
- package/components/Changelog/navigation/index.tsx +3 -4
- package/components/Changelog/versionDetails/ReleaseNotesDetails.tsx +1 -1
- package/components/Changelog/versionDetails/UpdateCommandBox.tsx +4 -5
- package/components/Changelog/versionDetails/VersionKindLabel.tsx +3 -4
- package/components/Changelog/versionDetails/index.tsx +4 -5
- package/components/ChangesEmptyState/AuthErrorPage.tsx +2 -3
- package/components/ChangesEmptyState/OfflinePage.tsx +1 -1
- package/components/ChangesEmptyState/index.ts +1 -1
- package/components/ChangesItems/ChangesItems.tsx +9 -10
- package/components/ChangesItems/DevCollaborationExperiment.tsx +2 -3
- package/components/ChangesItems/ErrorBanner.tsx +1 -1
- package/components/CodeBlock/index.tsx +3 -4
- package/components/ConfigErrors/index.jsx +1 -1
- package/components/CustomTypeTable/changesPage.tsx +6 -6
- package/components/DeleteCTModal/index.tsx +6 -7
- package/components/DeleteDocumentsDrawer/AssociatedDocumentsCard.tsx +2 -3
- package/components/DeleteDocumentsDrawer/HardDeleteDocumentsDrawer.tsx +8 -9
- package/components/DeleteDocumentsDrawer/SoftDeleteDocumentsDrawer.tsx +8 -8
- package/components/DeleteDocumentsDrawer/index.tsx +1 -1
- package/components/DeleteSliceModal/index.tsx +6 -7
- package/components/DeleteVariationModal/index.tsx +5 -6
- package/components/DropDownSelector/index.tsx +2 -4
- package/components/EmptyState/index.tsx +3 -4
- package/components/FormFields/Array.jsx +2 -4
- package/components/FormFields/Checkbox.jsx +1 -1
- package/components/FormFields/CheckboxControl.jsx +1 -1
- package/components/FormFields/Input.tsx +1 -1
- package/components/FormFields/SelectDefaultValue.jsx +1 -1
- package/components/Forms/CreateCustomTypeModal/CreateCustomTypeModal.tsx +15 -16
- package/components/Forms/CreateSliceModal/CreateSliceModal.tsx +9 -10
- package/components/Forms/RenameCustomTypeModal/RenameCustomTypeModal.tsx +11 -12
- package/components/Forms/RenameSliceModal/RenameSliceModal.tsx +6 -7
- package/components/Forms/RenameVariationModal/RenameVariationModal.module.css +5 -0
- package/components/Forms/RenameVariationModal/RenameVariationModal.tsx +6 -7
- package/components/Forms/components/InputBox.tsx +2 -2
- package/components/Forms/components/SelectRepeatable.tsx +3 -3
- package/components/Forms/formsValidator.ts +3 -2
- package/components/FullPage/index.tsx +1 -1
- package/components/InputDeleteIcon/index.jsx +1 -1
- package/components/ItemHeader/index.tsx +1 -1
- package/components/ListItem/Header.tsx +1 -1
- package/components/ListItem/index.tsx +7 -10
- package/components/LoadingPage/index.tsx +1 -0
- package/components/LoginModal/index.tsx +22 -23
- package/components/ModalFormCard/index.tsx +5 -5
- package/components/Navigation/ChangesItem.tsx +8 -9
- package/components/Navigation/Environment.tsx +7 -8
- package/components/Navigation/RunningVersion.tsx +1 -2
- package/components/Navigation/UpdateBox.tsx +3 -4
- package/components/Navigation/VideoItem.tsx +16 -16
- package/components/Navigation/index.module.css +3 -0
- package/components/Navigation/index.test.tsx +14 -12
- package/components/Navigation/index.tsx +18 -20
- package/components/ReviewModal/ReviewForm.tsx +12 -13
- package/components/ReviewModal/ReviewFormSelect.tsx +1 -1
- package/components/ReviewModal/ReviewModal.tsx +6 -7
- package/components/ScreenshotChangesModal/VariationDropZone.tsx +7 -8
- package/components/ScreenshotChangesModal/index.tsx +10 -14
- package/components/ScreenshotChangesModal/useCustomScreenshot.tsx +1 -2
- package/components/ScreenshotPreview/index.tsx +1 -1
- package/components/ScreenshotPreviewModal/index.tsx +4 -4
- package/components/Simulator/components/FailedConnect/index.tsx +3 -4
- package/components/Simulator/components/Header/VariationsPopover/index.tsx +3 -5
- package/components/Simulator/components/Header/index.tsx +4 -5
- package/components/Simulator/components/IframeRenderer/index.tsx +3 -5
- package/components/Simulator/components/Toolbar/index.tsx +2 -4
- package/components/Simulator/index.tsx +19 -26
- package/components/SliceMachineDrawer/index.tsx +2 -2
- package/components/SliceMachineIconButton/index.tsx +1 -1
- package/components/SliceMachineModal/index.tsx +1 -1
- package/components/ToasterContainer/index.tsx +3 -5
- package/components/Tooltip/TextWithTooltip.tsx +2 -3
- package/components/Tooltip/index.jsx +2 -3
- package/components/Warnings/index.jsx +1 -1
- package/lib/builders/CustomTypeBuilder/SliceZone/DeleteSliceZoneModal.tsx +2 -3
- package/lib/builders/CustomTypeBuilder/SliceZone/List.tsx +4 -5
- package/lib/builders/CustomTypeBuilder/SliceZone/SlicesTemplatesModal.tsx +8 -9
- package/lib/builders/CustomTypeBuilder/SliceZone/UpdateSliceZoneModal.tsx +2 -3
- package/lib/builders/CustomTypeBuilder/SliceZone/UpdateSliceZoneModalList.tsx +3 -3
- package/lib/builders/CustomTypeBuilder/SliceZone/index.tsx +21 -22
- package/lib/builders/CustomTypeBuilder/TabModal/InputBox.tsx +1 -1
- package/lib/builders/CustomTypeBuilder/TabModal/delete.tsx +1 -1
- package/lib/builders/CustomTypeBuilder/TabModal/update.tsx +1 -1
- package/lib/builders/CustomTypeBuilder/TabZone/index.tsx +20 -21
- package/lib/builders/CustomTypeBuilder/index.tsx +4 -5
- package/lib/builders/SliceBuilder/FieldZones/index.tsx +105 -41
- package/lib/builders/SliceBuilder/Sidebar/AddVariationModal.tsx +7 -8
- package/lib/builders/SliceBuilder/Sidebar/index.tsx +7 -8
- package/lib/builders/SliceBuilder/SimulatorButton/index.tsx +9 -12
- package/lib/builders/SliceBuilder/index.tsx +11 -8
- package/lib/builders/common/EditModal/Field.jsx +2 -5
- package/lib/builders/common/EditModal/Form.jsx +1 -1
- package/lib/builders/common/EditModal/index.jsx +11 -17
- package/lib/builders/common/SelectFieldTypeModal/index.jsx +3 -5
- package/lib/builders/common/Zone/Card/components/ErrorTooltip.tsx +2 -3
- package/lib/builders/common/Zone/Card/components/Hints/CodeBlock.tsx +4 -6
- package/lib/builders/common/Zone/Card/components/Hints/index.tsx +1 -1
- package/lib/builders/common/Zone/Card/components/NewField.tsx +13 -14
- package/lib/builders/common/Zone/Card/index.jsx +2 -3
- package/lib/builders/common/Zone/components/EmptyState/index.tsx +2 -2
- package/lib/builders/common/Zone/index.jsx +3 -4
- package/lib/forms/defaults.ts +1 -1
- package/lib/forms/fields.ts +1 -2
- package/lib/forms/index.ts +1 -0
- package/lib/models/common/ComponentUI.ts +1 -1
- package/lib/models/common/CustomType/index.ts +5 -4
- package/lib/models/common/CustomType/sliceZone.ts +2 -1
- package/lib/models/common/CustomType/tab.ts +4 -4
- package/lib/models/common/DeprecatedMockConfigMessage.tsx +2 -2
- package/lib/models/common/Environment.ts +2 -2
- package/lib/models/common/Fields.ts +1 -1
- package/lib/models/common/Group.ts +3 -2
- package/lib/models/common/Library.ts +2 -1
- package/lib/models/common/LibraryUI.ts +1 -1
- package/lib/models/common/ModelData.ts +1 -1
- package/lib/models/common/ModelStatus/compareCustomTypeModels.ts +2 -1
- package/lib/models/common/ModelStatus/compareSliceModels.ts +2 -1
- package/lib/models/common/ModelStatus/index.ts +10 -9
- package/lib/models/common/Slice.ts +2 -2
- package/lib/models/common/Slices.ts +2 -2
- package/lib/models/common/normalizers/customType.ts +1 -1
- package/lib/models/common/normalizers/slices.ts +3 -2
- package/lib/models/common/widgets/Boolean/index.ts +5 -7
- package/lib/models/common/widgets/Color/index.ts +2 -3
- package/lib/models/common/widgets/ContentRelationship/Form.tsx +7 -9
- package/lib/models/common/widgets/ContentRelationship/index.ts +7 -8
- package/lib/models/common/widgets/Date/index.ts +2 -2
- package/lib/models/common/widgets/Embed/index.ts +2 -2
- package/lib/models/common/widgets/GeoPoint/index.ts +2 -3
- package/lib/models/common/widgets/Group/Form.jsx +3 -4
- package/lib/models/common/widgets/Group/ListItem/index.jsx +13 -23
- package/lib/models/common/widgets/Group/index.ts +4 -3
- package/lib/models/common/widgets/Image/Form.tsx +8 -11
- package/lib/models/common/widgets/Image/components.tsx +5 -5
- package/lib/models/common/widgets/Image/index.ts +3 -5
- package/lib/models/common/widgets/Link/Form.jsx +3 -5
- package/lib/models/common/widgets/Link/index.ts +3 -3
- package/lib/models/common/widgets/LinkToMedia/Form.jsx +2 -4
- package/lib/models/common/widgets/LinkToMedia/index.ts +3 -4
- package/lib/models/common/widgets/Number/index.ts +2 -2
- package/lib/models/common/widgets/Select/FormFields.jsx +7 -8
- package/lib/models/common/widgets/Select/index.ts +3 -6
- package/lib/models/common/widgets/StructuredText/Form.tsx +10 -10
- package/lib/models/common/widgets/StructuredText/index.ts +3 -6
- package/lib/models/common/widgets/StructuredText/options.tsx +2 -2
- package/lib/models/common/widgets/Text/index.ts +5 -5
- package/lib/models/common/widgets/Timestamp/index.ts +4 -5
- package/lib/models/common/widgets/UID/index.ts +4 -5
- package/lib/models/common/widgets/Widget.ts +2 -1
- package/lib/models/common/widgets/index.ts +1 -1
- package/lib/models/common/widgets/withGroup.ts +1 -2
- package/lib/models/server/ServerState.ts +4 -3
- package/lib/utils/index.ts +4 -5
- package/out/404.html +1 -1
- package/out/_next/static/6WrgMw0SELcypoJCYNiKd/_buildManifest.js +1 -0
- package/out/_next/static/chunks/{25-792af14760d9df34.js → 25-607d5cfe6492f4e8.js} +1 -1
- package/out/_next/static/chunks/286-6ee80333008646b9.js +1 -0
- package/out/_next/static/chunks/318-c84322cba57be932.js +1 -0
- package/out/_next/static/chunks/382-8194eab141c7ea2f.js +1 -0
- package/out/_next/static/chunks/727-b53258380c1a11f1.js +1 -0
- package/out/_next/static/chunks/799-68887319f3169f78.js +1 -0
- package/out/_next/static/chunks/pages/{_app-756c037ed6c707e9.js → _app-6177e3581af44083.js} +1 -1
- package/out/_next/static/chunks/pages/changelog-2d061c06b2b82e28.js +1 -0
- package/out/_next/static/chunks/pages/changes-cde59d56dc849106.js +1 -0
- package/out/_next/static/chunks/pages/custom-types/{[customTypeId]-d1a4a07e6b600fa6.js → [customTypeId]-89ccb93ce7409ad0.js} +1 -1
- package/out/_next/static/chunks/pages/index-b5817351a77c6d40.js +1 -0
- package/out/_next/static/chunks/pages/labs-0fc7d01b8c9bfc2a.js +1 -0
- package/out/_next/static/chunks/pages/page-types/{[pageTypeId]-a724ff12ef322020.js → [pageTypeId]-dbf86fe3a94dc892.js} +1 -1
- package/out/_next/static/chunks/pages/settings-897ad13a08f73048.js +1 -0
- package/out/_next/static/chunks/pages/slices/[lib]/[sliceName]/[variation]/simulator-ed3157875529f0f2.js +1 -0
- package/out/_next/static/chunks/pages/slices/[lib]/[sliceName]/[variation]-69cf4b12bb354f9f.js +1 -0
- package/out/_next/static/chunks/pages/slices-391f6c4b30af0759.js +1 -0
- package/out/_next/static/css/{838fd8bb5a7c32b0.css → 0e0d6c4ec6bf7373.css} +1 -1
- package/out/_next/static/css/{21654235130d0806.css → 243a4d347efcfd53.css} +1 -1
- package/out/_next/static/css/{b22c0750c14cc089.css → 27f2b9b9c9f65885.css} +1 -1
- package/out/_next/static/css/{72465cc1225f28a2.css → 6e65ff596e3b465e.css} +1 -1
- package/out/_next/static/css/70e3649c6ba13fdc.css +1 -0
- package/out/changelog.html +1 -1
- package/out/changes.html +1 -1
- package/out/custom-types/[customTypeId].html +1 -1
- package/out/custom-types.html +1 -1
- package/out/index.html +1 -1
- package/out/labs.html +1 -1
- package/out/page-types/[pageTypeId].html +1 -1
- package/out/settings.html +1 -1
- package/out/slices/[lib]/[sliceName]/[variation]/simulator.html +1 -1
- package/out/slices/[lib]/[sliceName]/[variation].html +1 -1
- package/out/slices.html +1 -1
- package/package.json +5 -3
- package/pages/_app.tsx +6 -8
- package/pages/changelog.tsx +1 -2
- package/pages/changes.tsx +17 -15
- package/pages/custom-types.tsx +1 -2
- package/pages/index.tsx +1 -2
- package/pages/slices/[lib]/[sliceName]/[variation]/index.tsx +2 -3
- package/pages/slices/[lib]/[sliceName]/[variation]/simulator.tsx +2 -3
- package/pages/slices.tsx +22 -20
- package/sentry.client.config.ts +1 -1
- package/src/ErrorBoundary.tsx +1 -2
- package/src/apiClient.ts +7 -8
- package/src/components/BaseHoverCard/BaseHoverCard.stories.tsx +1 -1
- package/src/components/BaseHoverCard/BaseHoverCard.test.tsx +1 -1
- package/src/components/BaseHoverCard/BaseHoverCard.tsx +1 -1
- package/src/components/BlankSlate/BlankSlate.stories.tsx +1 -1
- package/src/components/BlankSlate/index.ts +1 -1
- package/src/components/Breadcrumb/Breadcrumb.module.css +11 -0
- package/src/components/Breadcrumb/Breadcrumb.module.css.d.ts +6 -0
- package/src/components/Breadcrumb/Breadcrumb.stories.tsx +34 -0
- package/src/components/Breadcrumb/Breadcrumb.tsx +43 -25
- package/src/components/Breadcrumb/index.ts +1 -1
- package/src/components/Card/Card.stories.tsx +1 -2
- package/src/components/Card/Card.tsx +3 -2
- package/src/components/CodeBlock/CodeBlock.module.css +46 -0
- package/src/components/CodeBlock/CodeBlock.module.css.d.ts +10 -0
- package/src/components/CodeBlock/CodeBlock.tsx +7 -8
- package/src/components/ContentTabs/ContentTabs.module.css +60 -0
- package/src/components/ContentTabs/ContentTabs.module.css.d.ts +12 -0
- package/src/components/ContentTabs/ContentTabs.tsx +2 -2
- package/src/components/Count/Count.module.css +19 -0
- package/src/components/Count/Count.module.css.d.ts +6 -0
- package/src/components/{Counter/Counter.stories.tsx → Count/Count.stories.tsx} +3 -3
- package/src/components/{Counter/Counter.tsx → Count/Count.tsx} +3 -4
- package/src/components/Count/index.ts +1 -0
- package/src/components/Divider/Divider.stories.tsx +1 -1
- package/src/components/HoverCard/HoverCard.module.css +79 -0
- package/src/components/HoverCard/HoverCard.module.css.d.ts +13 -0
- package/src/components/HoverCard/HoverCard.stories.tsx +3 -2
- package/src/components/HoverCard/HoverCard.test.tsx +2 -2
- package/src/components/HoverCard/HoverCard.tsx +3 -4
- package/src/components/HoverCard/index.ts +3 -3
- package/src/components/SideNav/SideNav.stories.tsx +6 -7
- package/src/components/SideNav/SideNav.tsx +6 -6
- package/src/components/SideNav/SideNavEnvironmentSelector.tsx +3 -4
- package/src/components/Table/Table.stories.tsx +2 -2
- package/src/components/Table/Table.test.tsx +1 -2
- package/src/components/Table/Table.tsx +2 -2
- package/src/components/Table/index.ts +1 -1
- package/src/components/TextLink/TextLink.module.css +58 -0
- package/src/components/TextLink/TextLink.module.css.d.ts +11 -0
- package/src/components/TextLink/TextLink.stories.tsx +1 -1
- package/src/components/TextLink/TextLink.tsx +5 -5
- package/src/domain/__tests__/customType.test.ts +1 -2
- package/src/domain/__tests__/slice.test.ts +40 -0
- package/src/domain/customType.ts +1 -2
- package/src/domain/slice.ts +29 -5
- package/src/features/autoSave/AutoSaveStatusIndicator.tsx +1 -2
- package/src/features/changelog/useSliceMachineLatestNonBreakingVersion.ts +0 -1
- package/src/features/changelog/useSliceMachineReleaseNotes.ts +0 -1
- package/src/features/changelog/useSliceMachineVersions.ts +0 -1
- package/src/features/changes/BlankSlates/NoChangesBlankSlate.tsx +9 -13
- package/src/features/changes/PushChangesButton.tsx +5 -6
- package/src/features/changes/StatusBadge.tsx +2 -3
- package/src/features/customTypes/EditDropdown.tsx +6 -10
- package/src/features/customTypes/PageTypeOnboarding.tsx +4 -5
- package/src/features/customTypes/__tests__/CustomTypeBuilderPage.test.tsx +12 -15
- package/src/features/customTypes/__tests__/CustomTypesTablePage.test.tsx +7 -7
- package/src/features/customTypes/actions/convertCustomToPageType.ts +2 -3
- package/src/features/customTypes/actions/createCustomType.ts +2 -3
- package/src/features/customTypes/actions/deleteCustomType.ts +2 -3
- package/src/features/customTypes/actions/renameCustomType.ts +2 -3
- package/src/features/customTypes/customTypesBuilder/CustomTypeProvider.tsx +8 -9
- package/src/features/customTypes/customTypesBuilder/CustomTypesBuilderPage.tsx +22 -16
- package/src/features/customTypes/customTypesBuilder/PageSnippetDialog/PageSnippetDialog.tsx +4 -5
- package/src/features/customTypes/customTypesBuilder/SliceZoneBlankSlate.tsx +1 -2
- package/src/features/customTypes/customTypesBuilder/useCustomType.ts +0 -1
- package/src/features/customTypes/customTypesConfig.ts +1 -2
- package/src/features/customTypes/customTypesTable/CustomTypesTable.tsx +14 -15
- package/src/features/customTypes/customTypesTable/CustomTypesTablePage.tsx +21 -23
- package/src/features/customTypes/customTypesTable/useCustomTypes.ts +4 -5
- package/src/features/documentation/MarkdownRenderer/index.tsx +5 -7
- package/src/features/documentation/useDocumentation.ts +0 -1
- package/src/features/environments/actions/getActiveEnvironment.ts +0 -1
- package/src/features/environments/actions/setEnvironment.ts +1 -2
- package/src/features/inAppGuide/InAppGuideContext.tsx +2 -3
- package/src/features/inAppGuide/InAppGuideDialog.tsx +4 -5
- package/src/features/inAppGuide/inAppGuideContent.tsx +1 -2
- package/src/features/labs/labsList/LabsList.tsx +2 -2
- package/src/features/labs/labsList/LabsListItem.tsx +1 -1
- package/src/features/labs/labsList/LabsPage.tsx +7 -5
- package/src/features/labs/labsList/useLab.tsx +0 -1
- package/src/features/settings/SettingsPage.tsx +8 -6
- package/src/features/settings/git/ConnectGitRepository.tsx +2 -3
- package/src/features/settings/git/GitOwnerSelect.tsx +1 -2
- package/src/features/settings/git/GitProvider.ts +0 -1
- package/src/features/settings/git/GitProviderConnectButtons.tsx +1 -2
- package/src/features/settings/git/GitRepositoriesList.tsx +1 -2
- package/src/features/settings/git/GitRepositoriesSearch.tsx +1 -2
- package/src/features/settings/git/GitRepositoryConnectDialog.tsx +3 -4
- package/src/features/settings/git/useGitOwners.ts +0 -1
- package/src/features/settings/git/useGitRepos.ts +0 -1
- package/src/features/settings/git/useLinkedGitRepos.ts +0 -1
- package/src/features/settings/git/useWriteAPIToken.ts +0 -1
- package/src/features/slices/actions/addSlicesToSliceZone.ts +1 -2
- package/src/features/slices/actions/createSlice.ts +3 -4
- package/src/features/slices/actions/deleteSlice.ts +1 -2
- package/src/features/slices/actions/renameSlice.ts +3 -4
- package/src/features/slices/actions/uploadSliceScreenshot.ts +1 -2
- package/src/features/slices/convertLegacySlice/ConvertLegacySliceAsNewSliceDialog.tsx +9 -10
- package/src/features/slices/convertLegacySlice/ConvertLegacySliceAsNewVariationDialog.tsx +7 -8
- package/src/features/slices/convertLegacySlice/ConvertLegacySliceButton.module.css +14 -0
- package/src/features/slices/convertLegacySlice/ConvertLegacySliceButton.module.css.d.ts +6 -0
- package/src/features/slices/convertLegacySlice/ConvertLegacySliceButton.tsx +10 -11
- package/src/features/slices/convertLegacySlice/ConvertLegacySliceMergeWithIdenticalDialog.tsx +5 -8
- package/src/features/slices/convertLegacySlice/types.ts +1 -1
- package/src/features/slices/sliceBuilder/FloatingBackButton.tsx +3 -4
- package/src/features/slices/sliceBuilder/SliceBuilderProvider.tsx +9 -10
- package/src/features/slices/sliceBuilder/actions/deleteVariation.ts +2 -3
- package/src/features/slices/sliceBuilder/actions/renameVariation.ts +1 -2
- package/src/features/slices/sliceBuilder/useGroupsInSlicesExperiment.ts +8 -0
- package/src/features/slices/sliceCards/NonSharedSliceCard.tsx +2 -3
- package/src/features/slices/sliceCards/SharedSliceCard.tsx +4 -5
- package/src/features/slicesTemplates/actions/createSlicesTemplates.ts +2 -3
- package/src/features/sync/AutoSyncProvider.tsx +17 -18
- package/src/features/sync/actions/pushChanges.ts +1 -1
- package/src/features/sync/components/AutoSyncStatusIndicator.tsx +2 -3
- package/src/features/sync/fetchUnSyncChanges.ts +1 -1
- package/src/features/sync/getUnSyncChanges.ts +4 -4
- package/src/features/sync/useUnSyncChanges.ts +4 -5
- package/src/hooks/useActionQueue.tsx +5 -5
- package/src/hooks/useAdapterName.ts +0 -1
- package/src/hooks/useAuthStatus.ts +1 -2
- package/src/hooks/useCurrentSlice.tsx +2 -3
- package/src/hooks/useEditorContent.ts +3 -3
- package/src/hooks/useExperimentVariant.ts +0 -1
- package/src/hooks/useIsEmptyProject.ts +0 -1
- package/src/hooks/useRepositoryInformation.ts +2 -3
- package/src/hooks/useRouteChange.tsx +1 -1
- package/src/hooks/useSMTracker.ts +4 -5
- package/src/hooks/useScreenshotChangesModal.ts +3 -3
- package/src/hooks/useServerState.ts +4 -5
- package/src/hooks/useSliceMachineConfig.ts +1 -2
- package/src/hooks/useSliceMachineRunningVersion.ts +0 -1
- package/src/hooks/useThrottle.ts +1 -1
- package/src/hooks/useUpdateAvailable.ts +0 -1
- package/src/hooks/useWindowDimensions.ts +1 -1
- package/src/hooks/useWindowSize.ts +2 -1
- package/src/modules/availableCustomTypes/index.ts +13 -12
- package/src/modules/environment/index.ts +9 -8
- package/src/modules/loading/index.ts +3 -2
- package/src/modules/modal/index.ts +3 -2
- package/src/modules/slices/index.ts +4 -4
- package/src/modules/slices/types.ts +1 -1
- package/src/modules/useSliceMachineActions.ts +22 -21
- package/src/modules/userContext/index.ts +5 -4
- package/src/redux/reducer.ts +5 -5
- package/src/redux/store.ts +6 -5
- package/src/redux/type.ts +4 -4
- package/src/theme.ts +1 -2
- package/test/__setup__.ts +3 -0
- package/vite.config.ts +4 -3
- package/components/Forms/RenameVariationModal/RenameVariationModal.css.ts +0 -7
- package/components/Navigation/index.css.ts +0 -5
- package/out/_next/static/chunks/286-e0950c3083c672e8.js +0 -1
- package/out/_next/static/chunks/318-d6f1200138628ec3.js +0 -1
- package/out/_next/static/chunks/727-2c302be2def92786.js +0 -1
- package/out/_next/static/chunks/799-7b910b896ff60ebe.js +0 -1
- package/out/_next/static/chunks/904-c9221a5cb09524e8.js +0 -1
- package/out/_next/static/chunks/pages/changelog-5c9ac93faf0df06b.js +0 -1
- package/out/_next/static/chunks/pages/changes-3e4989e09fd412a8.js +0 -1
- package/out/_next/static/chunks/pages/index-cf93d16e9c63b6db.js +0 -1
- package/out/_next/static/chunks/pages/labs-6f5925cd6cdcee9e.js +0 -1
- package/out/_next/static/chunks/pages/settings-f0620e5b727cda03.js +0 -1
- package/out/_next/static/chunks/pages/slices/[lib]/[sliceName]/[variation]/simulator-01d67e97cb901e46.js +0 -1
- package/out/_next/static/chunks/pages/slices/[lib]/[sliceName]/[variation]-8d7043e6638d65cd.js +0 -1
- package/out/_next/static/chunks/pages/slices-77cff50b1df13579.js +0 -1
- package/out/_next/static/css/be1f49e49a5aa7eb.css +0 -1
- package/out/_next/static/dLmvq3LL0BsWu15laiKoK/_buildManifest.js +0 -1
- package/src/components/Breadcrumb/Breadcrumb.css.ts +0 -5
- package/src/components/Breadcrumb/Breadcrumb.stories.ts +0 -32
- package/src/components/CodeBlock/CodeBlock.css.ts +0 -37
- package/src/components/ContentTabs/ContentTabs.css.ts +0 -49
- package/src/components/Counter/Counter.css.ts +0 -26
- package/src/components/Counter/index.ts +0 -1
- package/src/components/HoverCard/HoverCard.css.ts +0 -105
- package/src/components/TextLink/TextLink.css.ts +0 -65
- package/src/features/slices/convertLegacySlice/ConvertLegacySliceButton.css.ts +0 -15
- /package/out/_next/static/{dLmvq3LL0BsWu15laiKoK → 6WrgMw0SELcypoJCYNiKd}/_ssgManifest.js +0 -0
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
// @vitest-environment jsdom
|
|
2
2
|
|
|
3
|
-
import { describe, test, vi } from "vitest";
|
|
4
|
-
|
|
5
3
|
import {
|
|
6
4
|
Table,
|
|
7
5
|
TableBody,
|
|
@@ -10,6 +8,7 @@ import {
|
|
|
10
8
|
TableRow,
|
|
11
9
|
} from "@src/components/Table";
|
|
12
10
|
import { render, screen } from "test/__testutils__";
|
|
11
|
+
import { describe, test, vi } from "vitest";
|
|
13
12
|
|
|
14
13
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
15
14
|
vi.mock("next/router", () => require("next-router-mock"));
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { findFocusableAncestor } from "@prismicio/editor-support/DOM";
|
|
2
|
+
import { clsx } from "clsx";
|
|
2
3
|
import {
|
|
4
|
+
createContext,
|
|
3
5
|
type FC,
|
|
4
6
|
type MouseEventHandler,
|
|
5
7
|
type PropsWithChildren,
|
|
6
|
-
createContext,
|
|
7
8
|
useContext,
|
|
8
9
|
} from "react";
|
|
9
|
-
import { clsx } from "clsx";
|
|
10
10
|
|
|
11
11
|
import * as styles from "./Table.css";
|
|
12
12
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { Table,
|
|
1
|
+
export { Table, TableBody, TableCell, TableHead, TableRow } from "./Table";
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
.root {
|
|
2
|
+
all: unset;
|
|
3
|
+
cursor: pointer;
|
|
4
|
+
display: flex;
|
|
5
|
+
align-items: center;
|
|
6
|
+
|
|
7
|
+
&:focus-visible {
|
|
8
|
+
outline: none;
|
|
9
|
+
text-decoration-line: underline;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.color-primary {
|
|
14
|
+
color: var(--purple9);
|
|
15
|
+
|
|
16
|
+
&:hover {
|
|
17
|
+
color: var(--purple8);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
&:active {
|
|
21
|
+
color: var(--purple9);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.color-secondary {
|
|
26
|
+
color: var(--indigo11);
|
|
27
|
+
|
|
28
|
+
&:hover {
|
|
29
|
+
color: var(--indigo10);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
&:active {
|
|
33
|
+
color: var(--indigo11);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.endIcon {
|
|
38
|
+
padding-left: 4px;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.icon-normal {
|
|
42
|
+
font-size: 1.2rem;
|
|
43
|
+
width: 18px;
|
|
44
|
+
height: 18px;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.icon-smallBold {
|
|
48
|
+
font-size: 1rem;
|
|
49
|
+
width: 16px;
|
|
50
|
+
height: 16px;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.icon-inherit {
|
|
54
|
+
font-family: inherit;
|
|
55
|
+
font-size: inherit;
|
|
56
|
+
width: inherit;
|
|
57
|
+
height: inherit;
|
|
58
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
declare const styles: {
|
|
2
|
+
readonly "color-primary": string;
|
|
3
|
+
readonly "color-secondary": string;
|
|
4
|
+
readonly "endIcon": string;
|
|
5
|
+
readonly "icon-inherit": string;
|
|
6
|
+
readonly "icon-normal": string;
|
|
7
|
+
readonly "icon-smallBold": string;
|
|
8
|
+
readonly "root": string;
|
|
9
|
+
};
|
|
10
|
+
export = styles;
|
|
11
|
+
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Text } from "@prismicio/editor-ui";
|
|
2
2
|
import { clsx } from "clsx";
|
|
3
|
-
import { type FC, type ReactNode
|
|
3
|
+
import { cloneElement, type FC, isValidElement, type ReactNode } from "react";
|
|
4
4
|
|
|
5
|
-
import
|
|
5
|
+
import styles from "./TextLink.module.css";
|
|
6
6
|
|
|
7
7
|
type IconProps = Readonly<{
|
|
8
8
|
className?: string;
|
|
@@ -10,7 +10,7 @@ type IconProps = Readonly<{
|
|
|
10
10
|
|
|
11
11
|
interface TextLinkProps {
|
|
12
12
|
children: string;
|
|
13
|
-
color?:
|
|
13
|
+
color?: "primary" | "secondary";
|
|
14
14
|
endIcon?: ReactNode;
|
|
15
15
|
href: string;
|
|
16
16
|
textVariant?: "normal" | "smallBold" | "inherit";
|
|
@@ -32,7 +32,7 @@ export const TextLink: FC<TextLinkProps> = (props) => {
|
|
|
32
32
|
target="_blank"
|
|
33
33
|
rel="noreferrer"
|
|
34
34
|
{...otherProps}
|
|
35
|
-
className={clsx(styles.root, styles
|
|
35
|
+
className={clsx(styles.root, styles[`color-${color}`])}
|
|
36
36
|
>
|
|
37
37
|
<Text component="span" color="inherit" variant={textVariant}>
|
|
38
38
|
{children}
|
|
@@ -42,7 +42,7 @@ export const TextLink: FC<TextLinkProps> = (props) => {
|
|
|
42
42
|
className: clsx(
|
|
43
43
|
endIcon.props.className,
|
|
44
44
|
styles.endIcon,
|
|
45
|
-
styles
|
|
45
|
+
styles[`icon-${textVariant}`],
|
|
46
46
|
),
|
|
47
47
|
})
|
|
48
48
|
: null}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { ComponentUI } from "@lib/models/common/ComponentUI";
|
|
2
|
+
import { Slices } from "@lib/models/common/Slice";
|
|
3
|
+
import { SharedSlice } from "@prismicio/types-internal/lib/customtypes";
|
|
4
|
+
import { describe, expect, it } from "vitest";
|
|
5
|
+
|
|
6
|
+
import { deleteRepeatableZone } from "../slice";
|
|
7
|
+
|
|
8
|
+
describe("deleteRepeatableZone", () => {
|
|
9
|
+
it("removes the `items` property from a specific variation within a slice", (ctx) => {
|
|
10
|
+
const variation = ctx.createMock.model.sharedSliceVariation({
|
|
11
|
+
itemsFields: { foo: ctx.createMock.model.boolean() },
|
|
12
|
+
});
|
|
13
|
+
const model = ctx.createMock.model.sharedSlice({ variations: [variation] });
|
|
14
|
+
const slice = buildMockSliceComponentUI(model);
|
|
15
|
+
|
|
16
|
+
const res = deleteRepeatableZone({ slice, variationId: variation.id });
|
|
17
|
+
expect(res.model.variations[0].items).toBeUndefined();
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
it("does nothing if the variation does not exist", (ctx) => {
|
|
21
|
+
const model = ctx.createMock.model.sharedSlice();
|
|
22
|
+
const slice = buildMockSliceComponentUI(model);
|
|
23
|
+
|
|
24
|
+
const res = deleteRepeatableZone({ slice, variationId: "non-existent" });
|
|
25
|
+
expect(res).toStrictEqual(slice);
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
function buildMockSliceComponentUI(model: SharedSlice): ComponentUI {
|
|
30
|
+
return {
|
|
31
|
+
model: Slices.toSM(model),
|
|
32
|
+
extension: "extension",
|
|
33
|
+
fileName: "fileName",
|
|
34
|
+
from: "from",
|
|
35
|
+
href: "href",
|
|
36
|
+
mocks: [],
|
|
37
|
+
pathToSlice: "pathToSlice",
|
|
38
|
+
screenshots: {},
|
|
39
|
+
};
|
|
40
|
+
}
|
package/src/domain/customType.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { removeKey } from "@prismicio/editor-support/Object";
|
|
1
2
|
import {
|
|
2
3
|
CustomType,
|
|
3
4
|
DynamicSection,
|
|
@@ -9,8 +10,6 @@ import {
|
|
|
9
10
|
SlicesFieldType,
|
|
10
11
|
UID,
|
|
11
12
|
} from "@prismicio/types-internal/lib/customtypes";
|
|
12
|
-
import { removeKey } from "@prismicio/editor-support/Object";
|
|
13
|
-
|
|
14
13
|
import { CustomTypeFormat } from "@slicemachine/manager";
|
|
15
14
|
|
|
16
15
|
type DeleteSliceZoneSliceArgs = {
|
package/src/domain/slice.ts
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
|
+
import type { ComponentUI } from "@lib/models/common/ComponentUI";
|
|
2
|
+
import type { VariationSM, WidgetsArea } from "@lib/models/common/Slice";
|
|
3
|
+
import { pascalize, snakelize } from "@lib/utils/str";
|
|
4
|
+
import { NestableWidget } from "@prismicio/types-internal/lib/customtypes";
|
|
1
5
|
import type {
|
|
2
6
|
CompositeSlice,
|
|
3
7
|
LegacySlice,
|
|
4
8
|
SharedSlice,
|
|
5
9
|
} from "@prismicio/types-internal/lib/customtypes/widgets/slices";
|
|
6
|
-
import { NestableWidget } from "@prismicio/types-internal/lib/customtypes";
|
|
7
|
-
|
|
8
|
-
import type { ComponentUI } from "@lib/models/common/ComponentUI";
|
|
9
|
-
import type { VariationSM, WidgetsArea } from "@lib/models/common/Slice";
|
|
10
|
-
import { pascalize, snakelize } from "@lib/utils/str";
|
|
11
10
|
|
|
12
11
|
type CopySliceVariationArgs = {
|
|
13
12
|
copiedVariation: VariationSM;
|
|
@@ -48,6 +47,11 @@ type ReorderFieldArgs = {
|
|
|
48
47
|
destinationIndex: number;
|
|
49
48
|
};
|
|
50
49
|
|
|
50
|
+
type DeleteRepeatableZoneArgs = {
|
|
51
|
+
slice: ComponentUI;
|
|
52
|
+
variationId: string;
|
|
53
|
+
};
|
|
54
|
+
|
|
51
55
|
const DEFAULT_VARIATION_ID = "default";
|
|
52
56
|
|
|
53
57
|
export function countMissingScreenshots(slice: ComponentUI): number {
|
|
@@ -281,3 +285,23 @@ export function rename(slice: ComponentUI, newSliceName: string): ComponentUI {
|
|
|
281
285
|
},
|
|
282
286
|
};
|
|
283
287
|
}
|
|
288
|
+
|
|
289
|
+
export function deleteRepeatableZone(args: DeleteRepeatableZoneArgs) {
|
|
290
|
+
const { slice, variationId } = args;
|
|
291
|
+
|
|
292
|
+
return {
|
|
293
|
+
...slice,
|
|
294
|
+
model: {
|
|
295
|
+
...slice.model,
|
|
296
|
+
variations: slice.model.variations.map((v) => {
|
|
297
|
+
if (v.id === variationId) {
|
|
298
|
+
const newVariation = { ...v };
|
|
299
|
+
delete newVariation.items;
|
|
300
|
+
|
|
301
|
+
return newVariation;
|
|
302
|
+
}
|
|
303
|
+
return v;
|
|
304
|
+
}),
|
|
305
|
+
},
|
|
306
|
+
};
|
|
307
|
+
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { FC } from "react";
|
|
2
1
|
import { Box, Icon, ProgressCircle, Text } from "@prismicio/editor-ui";
|
|
3
|
-
|
|
4
2
|
import { ActionQueueStatus } from "@src/hooks/useActionQueue";
|
|
3
|
+
import { FC } from "react";
|
|
5
4
|
|
|
6
5
|
type AutoSaveStatusIndicatorProps = {
|
|
7
6
|
status: ActionQueueStatus;
|
|
@@ -1,23 +1,19 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
1
|
+
import { createDocumentsListEndpointFromRepoName } from "@lib/utils/repo";
|
|
2
|
+
import { Button, Image, tokens } from "@prismicio/editor-ui";
|
|
3
3
|
import {
|
|
4
4
|
BlankSlate,
|
|
5
|
-
BlankSlateImage,
|
|
6
|
-
BlankSlateTitle,
|
|
7
|
-
BlankSlateDescription,
|
|
8
5
|
BlankSlateActions,
|
|
9
6
|
BlankSlateContent,
|
|
7
|
+
BlankSlateDescription,
|
|
8
|
+
BlankSlateImage,
|
|
9
|
+
BlankSlateTitle,
|
|
10
10
|
} from "@src/components/BlankSlate";
|
|
11
|
-
|
|
12
|
-
import { Button, Image, tokens } from "@prismicio/editor-ui";
|
|
13
|
-
|
|
14
|
-
import { FiExternalLink } from "react-icons/fi";
|
|
15
11
|
import { TextLink } from "@src/components/TextLink";
|
|
16
|
-
import { useSelector } from "react-redux";
|
|
17
|
-
import { SliceMachineStoreType } from "@src/redux/type";
|
|
18
12
|
import { getRepoName } from "@src/modules/environment";
|
|
19
|
-
|
|
20
|
-
import
|
|
13
|
+
import { SliceMachineStoreType } from "@src/redux/type";
|
|
14
|
+
import router from "next/router";
|
|
15
|
+
import { FiExternalLink } from "react-icons/fi";
|
|
16
|
+
import { useSelector } from "react-redux";
|
|
21
17
|
|
|
22
18
|
export const NoChangesBlankSlate = () => {
|
|
23
19
|
const { repoName } = useSelector((state: SliceMachineStoreType) => ({
|
|
@@ -1,18 +1,17 @@
|
|
|
1
1
|
import { Button, Skeleton, Tooltip } from "@prismicio/editor-ui";
|
|
2
|
+
import { ErrorBoundary } from "@src/ErrorBoundary";
|
|
3
|
+
import { gitProviderToConfig } from "@src/features/settings/git/GitProvider";
|
|
4
|
+
import { useGitIntegrationExperiment } from "@src/features/settings/git/useGitIntegrationExperiment";
|
|
5
|
+
import { useLinkedGitRepos } from "@src/features/settings/git/useLinkedGitRepos";
|
|
2
6
|
import {
|
|
3
7
|
type ComponentPropsWithoutRef,
|
|
4
8
|
type ElementRef,
|
|
5
9
|
type FC,
|
|
10
|
+
forwardRef,
|
|
6
11
|
type ReactNode,
|
|
7
12
|
Suspense,
|
|
8
|
-
forwardRef,
|
|
9
13
|
} from "react";
|
|
10
14
|
|
|
11
|
-
import { gitProviderToConfig } from "@src/features/settings/git/GitProvider";
|
|
12
|
-
import { useGitIntegrationExperiment } from "@src/features/settings/git/useGitIntegrationExperiment";
|
|
13
|
-
import { useLinkedGitRepos } from "@src/features/settings/git/useLinkedGitRepos";
|
|
14
|
-
import { ErrorBoundary } from "@src/ErrorBoundary";
|
|
15
|
-
|
|
16
15
|
type PushChangesButtonProps = Required<BarePushChangesButtonProps>;
|
|
17
16
|
|
|
18
17
|
export const PushChangesButton: FC<PushChangesButtonProps> = (props) => (
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { Badge, Tooltip } from "@prismicio/editor-ui";
|
|
2
|
-
import type { ComponentPropsWithoutRef, FC } from "react";
|
|
3
|
-
|
|
4
1
|
import { ModelStatus } from "@lib/models/common/ModelStatus";
|
|
2
|
+
import { Badge, Tooltip } from "@prismicio/editor-ui";
|
|
5
3
|
import { AuthStatus } from "@src/modules/userContext/types";
|
|
4
|
+
import type { ComponentPropsWithoutRef, FC } from "react";
|
|
6
5
|
|
|
7
6
|
export type StatusBadgeProps = GetStatusBadgeContentArgs;
|
|
8
7
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DeleteCustomTypeModal } from "@components/DeleteCTModal";
|
|
2
|
+
import { RenameCustomTypeModal } from "@components/Forms/RenameCustomTypeModal";
|
|
2
3
|
import {
|
|
3
4
|
DropdownMenu,
|
|
4
5
|
DropdownMenuContent,
|
|
@@ -7,20 +8,15 @@ import {
|
|
|
7
8
|
Icon,
|
|
8
9
|
IconButton,
|
|
9
10
|
} from "@prismicio/editor-ui";
|
|
10
|
-
import { useRouter } from "next/router";
|
|
11
|
-
|
|
12
|
-
import useSliceMachineActions from "@src/modules/useSliceMachineActions";
|
|
13
|
-
|
|
14
11
|
import { type CustomType } from "@prismicio/types-internal/lib/customtypes";
|
|
12
|
+
import { CustomTypeFormat } from "@slicemachine/manager";
|
|
13
|
+
import useSliceMachineActions from "@src/modules/useSliceMachineActions";
|
|
14
|
+
import { useRouter } from "next/router";
|
|
15
|
+
import { type FC, useState } from "react";
|
|
15
16
|
|
|
16
17
|
import { convertCustomToPageType } from "./actions/convertCustomToPageType";
|
|
17
|
-
|
|
18
18
|
import { CUSTOM_TYPES_CONFIG } from "./customTypesConfig";
|
|
19
19
|
|
|
20
|
-
import { RenameCustomTypeModal } from "@components/Forms/RenameCustomTypeModal";
|
|
21
|
-
import { DeleteCustomTypeModal } from "@components/DeleteCTModal";
|
|
22
|
-
import { CustomTypeFormat } from "@slicemachine/manager";
|
|
23
|
-
|
|
24
20
|
type EditDropdownProps = {
|
|
25
21
|
isChangesLocal: boolean;
|
|
26
22
|
format: CustomTypeFormat;
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import { useState } from "react";
|
|
2
|
-
import { Box, Button, Text } from "@prismicio/editor-ui";
|
|
3
|
-
import { cache } from "@prismicio/editor-support/Suspense";
|
|
4
|
-
|
|
5
1
|
import { CreateCustomTypeModal } from "@components/Forms/CreateCustomTypeModal";
|
|
6
|
-
import {
|
|
2
|
+
import { cache } from "@prismicio/editor-support/Suspense";
|
|
3
|
+
import { Box, Button, Text } from "@prismicio/editor-ui";
|
|
7
4
|
import { getIsEmptyProject } from "@src/hooks/useIsEmptyProject";
|
|
5
|
+
import { BlankPageIcon } from "@src/icons/BlankPageIcon";
|
|
6
|
+
import { useState } from "react";
|
|
8
7
|
|
|
9
8
|
export function PageTypeOnboarding() {
|
|
10
9
|
const [isCreatingCustomType, setIsCreatingCustomType] = useState(false);
|
|
@@ -1,22 +1,20 @@
|
|
|
1
1
|
// @vitest-environment jsdom
|
|
2
|
-
import {
|
|
2
|
+
import { CustomTypes } from "@lib/models/common/CustomType";
|
|
3
3
|
import { CustomType } from "@prismicio/types-internal/lib/customtypes";
|
|
4
|
-
|
|
5
|
-
import mockRouter from "next-router-mock";
|
|
6
|
-
|
|
7
4
|
import {
|
|
8
|
-
CustomTypeFormat,
|
|
9
5
|
createSliceMachineManager,
|
|
6
|
+
CustomTypeFormat,
|
|
10
7
|
} from "@slicemachine/manager";
|
|
11
8
|
import { createSliceMachineManagerMSWHandler } from "@slicemachine/manager/test";
|
|
12
|
-
import
|
|
9
|
+
import mockRouter from "next-router-mock";
|
|
10
|
+
import { createDynamicRouteParser } from "next-router-mock/dynamic-routes";
|
|
13
11
|
import { render, screen, within } from "test/__testutils__";
|
|
14
12
|
import { createTestPlugin } from "test/__testutils__/createTestPlugin";
|
|
15
13
|
import { createTestProject } from "test/__testutils__/createTestProject";
|
|
16
|
-
import {
|
|
17
|
-
import pkg from "../../../../package.json";
|
|
14
|
+
import { describe, test, TestContext, vi } from "vitest";
|
|
18
15
|
|
|
19
|
-
import
|
|
16
|
+
import pkg from "../../../../package.json";
|
|
17
|
+
import { CustomTypesBuilderPage } from "../customTypesBuilder/CustomTypesBuilderPage";
|
|
20
18
|
|
|
21
19
|
mockRouter.useParser(
|
|
22
20
|
createDynamicRouteParser([
|
|
@@ -89,10 +87,9 @@ describe.each(formats)(
|
|
|
89
87
|
// Submit the form
|
|
90
88
|
await user.click(screen.getByRole("button", { name: "Rename" }));
|
|
91
89
|
|
|
92
|
-
const
|
|
93
|
-
customType.format === "page" ? "Page types" : "Custom types";
|
|
90
|
+
const breadcrumb = screen.getByLabelText("Breadcrumb");
|
|
94
91
|
expect(
|
|
95
|
-
|
|
92
|
+
await within(breadcrumb).findByText(renamedCustomType),
|
|
96
93
|
).toBeVisible();
|
|
97
94
|
});
|
|
98
95
|
},
|
|
@@ -178,10 +175,10 @@ async function renderCustomTypesBuilderPage({
|
|
|
178
175
|
const renderResults = render(<CustomTypesBuilderPage />, customTypeMockStore);
|
|
179
176
|
|
|
180
177
|
const folder = customType.format === "page" ? "Page types" : "Custom types";
|
|
181
|
-
const breadcrumb = await screen.
|
|
182
|
-
|
|
178
|
+
const breadcrumb = await screen.findByLabelText("Breadcrumb");
|
|
179
|
+
expect(breadcrumb).toHaveTextContent(
|
|
180
|
+
`${folder}/${customType.label as string}`,
|
|
183
181
|
);
|
|
184
|
-
expect(breadcrumb).toBeVisible();
|
|
185
182
|
|
|
186
183
|
return renderResults;
|
|
187
184
|
}
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
// @vitest-environment jsdom
|
|
2
|
-
import {
|
|
3
|
-
import mockRouter from "next-router-mock";
|
|
2
|
+
import { CustomTypes } from "@lib/models/common/CustomType";
|
|
4
3
|
import { CustomType } from "@prismicio/types-internal/lib/customtypes";
|
|
5
|
-
|
|
6
4
|
import {
|
|
7
|
-
CustomTypeFormat,
|
|
8
5
|
createSliceMachineManager,
|
|
6
|
+
CustomTypeFormat,
|
|
9
7
|
} from "@slicemachine/manager";
|
|
10
8
|
import { createSliceMachineManagerMSWHandler } from "@slicemachine/manager/test";
|
|
11
9
|
import { CustomTypeReadHookData } from "@slicemachine/plugin-kit";
|
|
12
|
-
import
|
|
10
|
+
import mockRouter from "next-router-mock";
|
|
13
11
|
import { render, screen, waitFor, within } from "test/__testutils__";
|
|
14
12
|
import { createTestPlugin } from "test/__testutils__/createTestPlugin";
|
|
15
13
|
import { createTestProject } from "test/__testutils__/createTestProject";
|
|
16
|
-
import {
|
|
17
|
-
|
|
14
|
+
import { describe, test, TestContext, vi } from "vitest";
|
|
15
|
+
|
|
18
16
|
import pkg from "../../../../package.json";
|
|
17
|
+
import { CUSTOM_TYPES_MESSAGES } from "../customTypesMessages";
|
|
18
|
+
import { CustomTypesTablePage } from "../customTypesTable/CustomTypesTablePage";
|
|
19
19
|
|
|
20
20
|
const formats = [
|
|
21
21
|
{
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { toast } from "react-toastify";
|
|
2
1
|
import { CustomType } from "@prismicio/types-internal/lib/customtypes";
|
|
3
|
-
|
|
4
2
|
import { CustomTypeFormat } from "@slicemachine/manager";
|
|
5
|
-
import { convertToPageType } from "@src/domain/customType";
|
|
6
3
|
import { updateCustomType } from "@src/apiClient";
|
|
4
|
+
import { convertToPageType } from "@src/domain/customType";
|
|
5
|
+
import { toast } from "react-toastify";
|
|
7
6
|
|
|
8
7
|
import { CUSTOM_TYPES_MESSAGES } from "../customTypesMessages";
|
|
9
8
|
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import { toast } from "react-toastify";
|
|
2
|
-
import { CustomType } from "@prismicio/types-internal/lib/customtypes";
|
|
3
|
-
|
|
4
1
|
import { ToastMessageWithPath } from "@components/ToasterContainer";
|
|
2
|
+
import { CustomType } from "@prismicio/types-internal/lib/customtypes";
|
|
5
3
|
import { CustomTypeFormat } from "@slicemachine/manager";
|
|
6
4
|
import { telemetry, updateCustomType } from "@src/apiClient";
|
|
7
5
|
import { create } from "@src/domain/customType";
|
|
6
|
+
import { toast } from "react-toastify";
|
|
8
7
|
|
|
9
8
|
import { CUSTOM_TYPES_MESSAGES } from "../customTypesMessages";
|
|
10
9
|
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { toast } from "react-toastify";
|
|
2
1
|
import { CustomType } from "@prismicio/types-internal/lib/customtypes";
|
|
3
|
-
|
|
4
|
-
import { managerClient } from "@src/managerClient";
|
|
5
2
|
import { CustomTypeFormat } from "@slicemachine/manager";
|
|
3
|
+
import { managerClient } from "@src/managerClient";
|
|
4
|
+
import { toast } from "react-toastify";
|
|
6
5
|
|
|
7
6
|
import { CUSTOM_TYPES_MESSAGES } from "../customTypesMessages";
|
|
8
7
|
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { toast } from "react-toastify";
|
|
2
1
|
import { CustomType } from "@prismicio/types-internal/lib/customtypes";
|
|
3
|
-
|
|
4
|
-
import { managerClient } from "@src/managerClient";
|
|
5
2
|
import { CustomTypeFormat } from "@slicemachine/manager";
|
|
3
|
+
import { managerClient } from "@src/managerClient";
|
|
4
|
+
import { toast } from "react-toastify";
|
|
6
5
|
|
|
7
6
|
import { CUSTOM_TYPES_MESSAGES } from "../customTypesMessages";
|
|
8
7
|
|
|
@@ -1,19 +1,18 @@
|
|
|
1
|
+
import { useStableCallback } from "@prismicio/editor-support/React";
|
|
2
|
+
import { CustomType } from "@prismicio/types-internal/lib/customtypes";
|
|
3
|
+
import { updateCustomType } from "@src/apiClient";
|
|
4
|
+
import { getFormat } from "@src/domain/customType";
|
|
5
|
+
import { useAutoSync } from "@src/features/sync/AutoSyncProvider";
|
|
6
|
+
import { ActionQueueStatus, useActionQueue } from "@src/hooks/useActionQueue";
|
|
7
|
+
import useSliceMachineActions from "@src/modules/useSliceMachineActions";
|
|
1
8
|
import {
|
|
2
|
-
ReactNode,
|
|
3
9
|
createContext,
|
|
10
|
+
ReactNode,
|
|
4
11
|
useCallback,
|
|
5
12
|
useContext,
|
|
6
13
|
useMemo,
|
|
7
14
|
useState,
|
|
8
15
|
} from "react";
|
|
9
|
-
import { CustomType } from "@prismicio/types-internal/lib/customtypes";
|
|
10
|
-
import { useStableCallback } from "@prismicio/editor-support/React";
|
|
11
|
-
|
|
12
|
-
import useSliceMachineActions from "@src/modules/useSliceMachineActions";
|
|
13
|
-
import { useAutoSync } from "@src/features/sync/AutoSyncProvider";
|
|
14
|
-
import { getFormat } from "@src/domain/customType";
|
|
15
|
-
import { updateCustomType } from "@src/apiClient";
|
|
16
|
-
import { ActionQueueStatus, useActionQueue } from "@src/hooks/useActionQueue";
|
|
17
16
|
|
|
18
17
|
import { CUSTOM_TYPES_MESSAGES } from "../customTypesMessages";
|
|
19
18
|
|
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
import { Box } from "@prismicio/editor-ui";
|
|
2
|
-
import Head from "next/head";
|
|
3
|
-
import { useRouter } from "next/router";
|
|
4
|
-
import { type FC, useEffect } from "react";
|
|
5
|
-
import { useSelector } from "react-redux";
|
|
6
|
-
|
|
7
1
|
import {
|
|
8
2
|
AppLayout,
|
|
9
3
|
AppLayoutActions,
|
|
@@ -13,19 +7,27 @@ import {
|
|
|
13
7
|
AppLayoutHeader,
|
|
14
8
|
} from "@components/AppLayout";
|
|
15
9
|
import { CustomTypeBuilder } from "@lib/builders/CustomTypeBuilder";
|
|
16
|
-
import {
|
|
10
|
+
import { CustomTypes, CustomTypeSM } from "@lib/models/common/CustomType";
|
|
17
11
|
import { hasLocal } from "@lib/models/common/ModelData";
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
import type { SliceMachineStoreType } from "@src/redux/type";
|
|
12
|
+
import { Box } from "@prismicio/editor-ui";
|
|
13
|
+
import { BreadcrumbItem } from "@src/components/Breadcrumb";
|
|
21
14
|
import { getFormat } from "@src/domain/customType";
|
|
22
15
|
import { AutoSaveStatusIndicator } from "@src/features/autoSave/AutoSaveStatusIndicator";
|
|
16
|
+
import {
|
|
17
|
+
CUSTOM_TYPES_CONFIG,
|
|
18
|
+
readBuilderPageDynamicSegment,
|
|
19
|
+
} from "@src/features/customTypes/customTypesConfig";
|
|
20
|
+
import { selectCustomTypeById } from "@src/modules/availableCustomTypes";
|
|
21
|
+
import type { SliceMachineStoreType } from "@src/redux/type";
|
|
22
|
+
import Head from "next/head";
|
|
23
|
+
import { useRouter } from "next/router";
|
|
24
|
+
import { type FC, useEffect } from "react";
|
|
25
|
+
import { useSelector } from "react-redux";
|
|
23
26
|
|
|
24
|
-
import { CUSTOM_TYPES_CONFIG } from "../customTypesConfig";
|
|
25
27
|
import { CUSTOM_TYPES_MESSAGES } from "../customTypesMessages";
|
|
26
28
|
import { EditDropdown } from "../EditDropdown";
|
|
27
|
-
import { PageSnippetDialog } from "./PageSnippetDialog";
|
|
28
29
|
import { CustomTypeProvider } from "./CustomTypeProvider";
|
|
30
|
+
import { PageSnippetDialog } from "./PageSnippetDialog";
|
|
29
31
|
|
|
30
32
|
export const CustomTypesBuilderPage: FC = () => {
|
|
31
33
|
const router = useRouter();
|
|
@@ -87,10 +89,14 @@ const CustomTypesBuilderPageWithProvider: React.FC<
|
|
|
87
89
|
<>
|
|
88
90
|
<AppLayoutHeader>
|
|
89
91
|
<AppLayoutBackButton url={config.tablePagePathname} />
|
|
90
|
-
<AppLayoutBreadcrumb
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
92
|
+
<AppLayoutBreadcrumb>
|
|
93
|
+
<BreadcrumbItem>
|
|
94
|
+
{messages.name({ start: true, plural: true })}
|
|
95
|
+
</BreadcrumbItem>
|
|
96
|
+
<BreadcrumbItem active>
|
|
97
|
+
{customType.label ?? customType.id}
|
|
98
|
+
</BreadcrumbItem>
|
|
99
|
+
</AppLayoutBreadcrumb>
|
|
94
100
|
<AppLayoutActions>
|
|
95
101
|
<AutoSaveStatusIndicator status={actionQueueStatus} />
|
|
96
102
|
{customType.format === "page" ? (
|