octocms 0.4.13 → 0.4.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/AdminApp.d.ts +1 -1
- package/dist/admin/AdminApp.js +2 -2
- package/dist/admin/AdminApp.js.map +1 -1
- package/dist/admin/actions/agent.d.ts +3 -3
- package/dist/admin/actions/agent.js.map +1 -1
- package/dist/admin/actions/media.d.ts.map +1 -1
- package/dist/admin/actions/media.js +3 -1
- package/dist/admin/actions/media.js.map +1 -1
- package/dist/admin/pages/AdminErrorView.d.ts.map +1 -1
- package/dist/admin/pages/AdminErrorView.js +9 -9
- package/dist/admin/pages/AdminErrorView.js.map +1 -1
- package/dist/admin/pages/AdminLayout.d.ts +1 -1
- package/dist/admin/pages/AdminLayout.d.ts.map +1 -1
- package/dist/admin/pages/AdminLayout.js +2 -2
- package/dist/admin/pages/AdminLayout.js.map +1 -1
- package/dist/admin/pages/ChatPage.d.ts +3 -3
- package/dist/admin/pages/ChatPage.d.ts.map +1 -1
- package/dist/admin/pages/ChatPage.js +8 -5
- package/dist/admin/pages/ChatPage.js.map +1 -1
- package/dist/admin/pages/CollectionPage.d.ts.map +1 -1
- package/dist/admin/pages/CollectionPage.js +5 -1
- package/dist/admin/pages/CollectionPage.js.map +1 -1
- package/dist/admin/pages/ContentModelPage.d.ts.map +1 -1
- package/dist/admin/pages/ContentModelPage.js +5 -1
- package/dist/admin/pages/ContentModelPage.js.map +1 -1
- package/dist/admin/pages/ContentPage.d.ts.map +1 -1
- package/dist/admin/pages/ContentPage.js +5 -1
- package/dist/admin/pages/ContentPage.js.map +1 -1
- package/dist/admin/pages/ContentTypePage.d.ts.map +1 -1
- package/dist/admin/pages/ContentTypePage.js +6 -2
- package/dist/admin/pages/ContentTypePage.js.map +1 -1
- package/dist/admin/pages/EntryPage.d.ts.map +1 -1
- package/dist/admin/pages/EntryPage.js +5 -1
- package/dist/admin/pages/EntryPage.js.map +1 -1
- package/dist/admin/pages/MediaAssetPage.d.ts.map +1 -1
- package/dist/admin/pages/MediaAssetPage.js +6 -2
- package/dist/admin/pages/MediaAssetPage.js.map +1 -1
- package/dist/admin/pages/MediaPage.d.ts.map +1 -1
- package/dist/admin/pages/MediaPage.js +6 -2
- package/dist/admin/pages/MediaPage.js.map +1 -1
- package/dist/admin/theme/toggle.d.ts.map +1 -1
- package/dist/admin/theme/toggle.js +27 -27
- package/dist/admin/theme/toggle.js.map +1 -1
- package/dist/agent/chatSetup.d.ts +19 -0
- package/dist/agent/chatSetup.d.ts.map +1 -0
- package/dist/agent/chatSetup.js +119 -0
- package/dist/agent/chatSetup.js.map +1 -0
- package/dist/agent/featureFlag.d.ts +3 -3
- package/dist/agent/featureFlag.js.map +1 -1
- package/dist/agent/index.cjs +75 -5309
- package/dist/agent/index.cjs.map +1 -1
- package/dist/{agentDocs-M3R2CPUQ.js → agentDocs-QZ4NOQVH.js} +2 -2
- package/dist/{chunk-DCDFWNC6.js → chunk-I7VNI2IG.js} +4 -7
- package/dist/{chunk-DCDFWNC6.js.map → chunk-I7VNI2IG.js.map} +1 -1
- package/dist/chunk-TOUAHFDW.js +7 -0
- package/dist/{chunk-NAHOP7TG.js.map → chunk-TOUAHFDW.js.map} +1 -1
- package/dist/cli/index.js +4 -4
- package/dist/cli/lib/templates.js +3 -6
- package/dist/cli/lib/templates.js.map +1 -1
- package/dist/components/Chat/ChatAgentSetup.d.ts +7 -0
- package/dist/components/Chat/ChatAgentSetup.d.ts.map +1 -0
- package/dist/components/Chat/ChatAgentSetup.js +37 -0
- package/dist/components/Chat/ChatAgentSetup.js.map +1 -0
- package/dist/components/Chat/ChatPage.d.ts +6 -1
- package/dist/components/Chat/ChatPage.d.ts.map +1 -1
- package/dist/components/Chat/ChatPage.js +123 -128
- package/dist/components/Chat/ChatPage.js.map +1 -1
- package/dist/components/Chat/ChatSidebar.d.ts +10 -0
- package/dist/components/Chat/ChatSidebar.d.ts.map +1 -0
- package/dist/components/Chat/ChatSidebar.js +45 -0
- package/dist/components/Chat/ChatSidebar.js.map +1 -0
- package/dist/components/Chat/Composer.d.ts.map +1 -1
- package/dist/components/Chat/Composer.js +28 -45
- package/dist/components/Chat/Composer.js.map +1 -1
- package/dist/components/Chat/Message.d.ts.map +1 -1
- package/dist/components/Chat/Message.js +40 -39
- package/dist/components/Chat/Message.js.map +1 -1
- package/dist/components/Chat/ProposalCard.d.ts.map +1 -1
- package/dist/components/Chat/ProposalCard.js +56 -67
- package/dist/components/Chat/ProposalCard.js.map +1 -1
- package/dist/components/Chat/ToolCallCard.d.ts.map +1 -1
- package/dist/components/Chat/ToolCallCard.js +29 -38
- package/dist/components/Chat/ToolCallCard.js.map +1 -1
- package/dist/components/Chat/chatStorage.d.ts +64 -0
- package/dist/components/Chat/chatStorage.d.ts.map +1 -0
- package/dist/components/Chat/chatStorage.js +154 -0
- package/dist/components/Chat/chatStorage.js.map +1 -0
- package/dist/components/Chat/useChatHistory.d.ts +12 -0
- package/dist/components/Chat/useChatHistory.d.ts.map +1 -0
- package/dist/components/Chat/useChatHistory.js +196 -0
- package/dist/components/Chat/useChatHistory.js.map +1 -0
- package/dist/components/Chat/useChatStream.d.ts +6 -0
- package/dist/components/Chat/useChatStream.d.ts.map +1 -1
- package/dist/components/Chat/useChatStream.js +31 -2
- package/dist/components/Chat/useChatStream.js.map +1 -1
- package/dist/components/CommandK/CommandK.d.ts +1 -1
- package/dist/components/CommandK/CommandK.d.ts.map +1 -1
- package/dist/components/CommandK/CommandK.js +100 -116
- package/dist/components/CommandK/CommandK.js.map +1 -1
- package/dist/components/CommandK/parts.d.ts.map +1 -1
- package/dist/components/CommandK/parts.js +9 -11
- package/dist/components/CommandK/parts.js.map +1 -1
- package/dist/components/ContentModel/ConditionalBranchesEditor.d.ts.map +1 -1
- package/dist/components/ContentModel/ConditionalBranchesEditor.js +40 -45
- package/dist/components/ContentModel/ConditionalBranchesEditor.js.map +1 -1
- package/dist/components/ContentModel/ContentModelList.d.ts.map +1 -1
- package/dist/components/ContentModel/ContentModelList.js +65 -80
- package/dist/components/ContentModel/ContentModelList.js.map +1 -1
- package/dist/components/ContentModel/ContentTypeDetail.d.ts.map +1 -1
- package/dist/components/ContentModel/ContentTypeDetail.js +253 -280
- package/dist/components/ContentModel/ContentTypeDetail.js.map +1 -1
- package/dist/components/ContentModel/CreateContentTypeDialog.d.ts.map +1 -1
- package/dist/components/ContentModel/CreateContentTypeDialog.js +42 -30
- package/dist/components/ContentModel/CreateContentTypeDialog.js.map +1 -1
- package/dist/components/ContentModel/DeleteContentTypeDialog.d.ts.map +1 -1
- package/dist/components/ContentModel/DeleteContentTypeDialog.js +14 -15
- package/dist/components/ContentModel/DeleteContentTypeDialog.js.map +1 -1
- package/dist/components/ContentModel/DeleteFieldDialog.d.ts.map +1 -1
- package/dist/components/ContentModel/DeleteFieldDialog.js +27 -20
- package/dist/components/ContentModel/DeleteFieldDialog.js.map +1 -1
- package/dist/components/ContentModel/EditContentTypeDialog.d.ts.map +1 -1
- package/dist/components/ContentModel/EditContentTypeDialog.js +46 -34
- package/dist/components/ContentModel/EditContentTypeDialog.js.map +1 -1
- package/dist/components/ContentModel/FieldDialog.d.ts.map +1 -1
- package/dist/components/ContentModel/FieldDialog.js +95 -84
- package/dist/components/ContentModel/FieldDialog.js.map +1 -1
- package/dist/components/ContentModel/RichTextOptionsEditor.d.ts.map +1 -1
- package/dist/components/ContentModel/RichTextOptionsEditor.js +90 -81
- package/dist/components/ContentModel/RichTextOptionsEditor.js.map +1 -1
- package/dist/components/ContentModel/SchemaImpactList.d.ts.map +1 -1
- package/dist/components/ContentModel/SchemaImpactList.js +19 -36
- package/dist/components/ContentModel/SchemaImpactList.js.map +1 -1
- package/dist/components/ContentModel/SchemaOptionFieldInput.d.ts.map +1 -1
- package/dist/components/ContentModel/SchemaOptionFieldInput.js +63 -84
- package/dist/components/ContentModel/SchemaOptionFieldInput.js.map +1 -1
- package/dist/components/ContentModel/skeletons/ContentModelListPageSkeleton.d.ts +3 -0
- package/dist/components/ContentModel/skeletons/ContentModelListPageSkeleton.d.ts.map +1 -0
- package/dist/components/ContentModel/skeletons/ContentModelListPageSkeleton.js +15 -0
- package/dist/components/ContentModel/skeletons/ContentModelListPageSkeleton.js.map +1 -0
- package/dist/components/ContentModel/skeletons/ContentTypeDetailPageSkeleton.d.ts +3 -0
- package/dist/components/ContentModel/skeletons/ContentTypeDetailPageSkeleton.d.ts.map +1 -0
- package/dist/components/ContentModel/skeletons/ContentTypeDetailPageSkeleton.js +11 -0
- package/dist/components/ContentModel/skeletons/ContentTypeDetailPageSkeleton.js.map +1 -0
- package/dist/components/ContentModel/skeletons/FieldTableSkeleton.js +3 -3
- package/dist/components/ContentModel/skeletons/FieldTableSkeleton.js.map +1 -1
- package/dist/components/ContentModel/skeletons/SchemaTableSkeleton.d.ts.map +1 -1
- package/dist/components/ContentModel/skeletons/SchemaTableSkeleton.js +4 -12
- package/dist/components/ContentModel/skeletons/SchemaTableSkeleton.js.map +1 -1
- package/dist/components/Dashboard/DashboardContent.d.ts.map +1 -1
- package/dist/components/Dashboard/DashboardContent.js +87 -114
- package/dist/components/Dashboard/DashboardContent.js.map +1 -1
- package/dist/components/Dashboard/RecentPullRequests.d.ts.map +1 -1
- package/dist/components/Dashboard/RecentPullRequests.js +33 -45
- package/dist/components/Dashboard/RecentPullRequests.js.map +1 -1
- package/dist/components/Dashboard/skeletons/ContentPageChromeSkeleton.d.ts +2 -7
- package/dist/components/Dashboard/skeletons/ContentPageChromeSkeleton.d.ts.map +1 -1
- package/dist/components/Dashboard/skeletons/ContentPageChromeSkeleton.js +5 -20
- package/dist/components/Dashboard/skeletons/ContentPageChromeSkeleton.js.map +1 -1
- package/dist/components/Dashboard/skeletons/ContentTableSkeleton.js +9 -9
- package/dist/components/Dashboard/skeletons/ContentTableSkeleton.js.map +1 -1
- package/dist/components/Dashboard/skeletons/DashboardCollectionPageSkeleton.d.ts +3 -0
- package/dist/components/Dashboard/skeletons/DashboardCollectionPageSkeleton.d.ts.map +1 -0
- package/dist/components/Dashboard/skeletons/DashboardCollectionPageSkeleton.js +10 -0
- package/dist/components/Dashboard/skeletons/DashboardCollectionPageSkeleton.js.map +1 -0
- package/dist/components/Dashboard/skeletons/DashboardPageSkeleton.d.ts +9 -0
- package/dist/components/Dashboard/skeletons/DashboardPageSkeleton.d.ts.map +1 -0
- package/dist/components/Dashboard/skeletons/DashboardPageSkeleton.js +16 -0
- package/dist/components/Dashboard/skeletons/DashboardPageSkeleton.js.map +1 -0
- package/dist/components/Dashboard/skeletons/LeftPanelSkeleton.d.ts.map +1 -1
- package/dist/components/Dashboard/skeletons/LeftPanelSkeleton.js +7 -18
- package/dist/components/Dashboard/skeletons/LeftPanelSkeleton.js.map +1 -1
- package/dist/components/DiffView/DiffHunk.d.ts.map +1 -1
- package/dist/components/DiffView/DiffHunk.js +12 -40
- package/dist/components/DiffView/DiffHunk.js.map +1 -1
- package/dist/components/DiffView/DiffView.d.ts.map +1 -1
- package/dist/components/DiffView/DiffView.js +33 -52
- package/dist/components/DiffView/DiffView.js.map +1 -1
- package/dist/components/EditPost/EditPost.d.ts.map +1 -1
- package/dist/components/EditPost/EditPost.js +139 -200
- package/dist/components/EditPost/EditPost.js.map +1 -1
- package/dist/components/EditPost/skeletons/EditPostPageSkeleton.d.ts +3 -0
- package/dist/components/EditPost/skeletons/EditPostPageSkeleton.d.ts.map +1 -0
- package/dist/components/EditPost/skeletons/EditPostPageSkeleton.js +21 -0
- package/dist/components/EditPost/skeletons/EditPostPageSkeleton.js.map +1 -0
- package/dist/components/EditPost/skeletons/EntryFormSkeleton.d.ts.map +1 -1
- package/dist/components/EditPost/skeletons/EntryFormSkeleton.js +1 -9
- package/dist/components/EditPost/skeletons/EntryFormSkeleton.js.map +1 -1
- package/dist/components/EditPost/skeletons/EntrySidebarSkeleton.d.ts.map +1 -1
- package/dist/components/EditPost/skeletons/EntrySidebarSkeleton.js +12 -20
- package/dist/components/EditPost/skeletons/EntrySidebarSkeleton.js.map +1 -1
- package/dist/components/ErrorBoundary/ErrorBoundary.d.ts.map +1 -0
- package/dist/components/{ErrorBoundary.js → ErrorBoundary/ErrorBoundary.js} +15 -21
- package/dist/components/ErrorBoundary/ErrorBoundary.js.map +1 -0
- package/dist/components/HistorySection/HistorySection.d.ts.map +1 -1
- package/dist/components/HistorySection/HistorySection.js +23 -42
- package/dist/components/HistorySection/HistorySection.js.map +1 -1
- package/dist/components/InlineEntryEditor/InlineEntryEditor.d.ts.map +1 -1
- package/dist/components/InlineEntryEditor/InlineEntryEditor.js +120 -123
- package/dist/components/InlineEntryEditor/InlineEntryEditor.js.map +1 -1
- package/dist/components/Layout/BranchSelectorDialog.d.ts +9 -0
- package/dist/components/Layout/BranchSelectorDialog.d.ts.map +1 -0
- package/dist/components/Layout/BranchSelectorDialog.js +130 -0
- package/dist/components/Layout/BranchSelectorDialog.js.map +1 -0
- package/dist/components/Layout/CreateBranchDialog.d.ts.map +1 -0
- package/dist/components/{CreateBranchDialog.js → Layout/CreateBranchDialog.js} +16 -16
- package/dist/components/Layout/CreateBranchDialog.js.map +1 -0
- package/dist/components/Layout/Layout.d.ts.map +1 -1
- package/dist/components/Layout/Layout.js +18 -26
- package/dist/components/Layout/Layout.js.map +1 -1
- package/dist/components/Layout/LeftNavItem.d.ts.map +1 -1
- package/dist/components/Layout/LeftNavItem.js +7 -7
- package/dist/components/Layout/LeftNavItem.js.map +1 -1
- package/dist/components/Layout/Page.d.ts +16 -0
- package/dist/components/Layout/Page.d.ts.map +1 -0
- package/dist/components/Layout/Page.js +47 -0
- package/dist/components/Layout/Page.js.map +1 -0
- package/dist/components/Layout/TopHeader.d.ts +1 -1
- package/dist/components/Layout/TopHeader.d.ts.map +1 -1
- package/dist/components/Layout/TopHeader.js +70 -165
- package/dist/components/Layout/TopHeader.js.map +1 -1
- package/dist/components/Layout/UserAccountDialog.d.ts +12 -0
- package/dist/components/Layout/UserAccountDialog.d.ts.map +1 -0
- package/dist/components/Layout/UserAccountDialog.js +48 -0
- package/dist/components/Layout/UserAccountDialog.js.map +1 -0
- package/dist/components/Layout/skeletons/AgentNavSkeleton.js +1 -1
- package/dist/components/Layout/skeletons/AgentNavSkeleton.js.map +1 -1
- package/dist/components/Layout/skeletons/BranchChipSkeleton.d.ts.map +1 -1
- package/dist/components/Layout/skeletons/BranchChipSkeleton.js +1 -8
- package/dist/components/Layout/skeletons/BranchChipSkeleton.js.map +1 -1
- package/dist/components/Layout/skeletons/NeutralPageSkeleton.d.ts +3 -0
- package/dist/components/Layout/skeletons/NeutralPageSkeleton.d.ts.map +1 -0
- package/dist/components/Layout/skeletons/NeutralPageSkeleton.js +11 -0
- package/dist/components/Layout/skeletons/NeutralPageSkeleton.js.map +1 -0
- package/dist/components/Layout/skeletons/PageChromeSkeleton.d.ts +19 -0
- package/dist/components/Layout/skeletons/PageChromeSkeleton.d.ts.map +1 -0
- package/dist/components/Layout/skeletons/PageChromeSkeleton.js +31 -0
- package/dist/components/Layout/skeletons/PageChromeSkeleton.js.map +1 -0
- package/dist/components/Layout/skeletons/RouteMainSlotSkeleton.d.ts +9 -0
- package/dist/components/Layout/skeletons/RouteMainSlotSkeleton.d.ts.map +1 -0
- package/dist/components/Layout/skeletons/RouteMainSlotSkeleton.js +15 -0
- package/dist/components/Layout/skeletons/RouteMainSlotSkeleton.js.map +1 -0
- package/dist/components/Layout/skeletons/TopHeaderSkeleton.d.ts.map +1 -1
- package/dist/components/Layout/skeletons/TopHeaderSkeleton.js +10 -17
- package/dist/components/Layout/skeletons/TopHeaderSkeleton.js.map +1 -1
- package/dist/components/Layout/skeletons/routeSkeletons.d.ts +16 -0
- package/dist/components/Layout/skeletons/routeSkeletons.d.ts.map +1 -0
- package/dist/components/Layout/skeletons/routeSkeletons.js +48 -0
- package/dist/components/Layout/skeletons/routeSkeletons.js.map +1 -0
- package/dist/components/LinkedBySection/LinkedBySection.js +13 -13
- package/dist/components/LinkedBySection/LinkedBySection.js.map +1 -1
- package/dist/components/MediaAsset/MediaAsset.d.ts +1 -1
- package/dist/components/MediaAsset/MediaAsset.d.ts.map +1 -1
- package/dist/components/MediaAsset/MediaAsset.js +126 -136
- package/dist/components/MediaAsset/MediaAsset.js.map +1 -1
- package/dist/components/MediaAsset/skeletons/MediaAssetPageSkeleton.d.ts +3 -0
- package/dist/components/MediaAsset/skeletons/MediaAssetPageSkeleton.d.ts.map +1 -0
- package/dist/components/MediaAsset/skeletons/MediaAssetPageSkeleton.js +21 -0
- package/dist/components/MediaAsset/skeletons/MediaAssetPageSkeleton.js.map +1 -0
- package/dist/components/MediaAsset/skeletons/MediaMetadataFormSkeleton.d.ts.map +1 -1
- package/dist/components/MediaAsset/skeletons/MediaMetadataFormSkeleton.js +26 -22
- package/dist/components/MediaAsset/skeletons/MediaMetadataFormSkeleton.js.map +1 -1
- package/dist/components/MediaAsset/skeletons/MediaPreviewSkeleton.d.ts.map +1 -1
- package/dist/components/MediaAsset/skeletons/MediaPreviewSkeleton.js +1 -9
- package/dist/components/MediaAsset/skeletons/MediaPreviewSkeleton.js.map +1 -1
- package/dist/components/MediaManager/CreateFolderDialog.d.ts.map +1 -1
- package/dist/components/MediaManager/CreateFolderDialog.js +15 -8
- package/dist/components/MediaManager/CreateFolderDialog.js.map +1 -1
- package/dist/components/MediaManager/DeleteFolderDialog.d.ts.map +1 -1
- package/dist/components/MediaManager/DeleteFolderDialog.js +1 -2
- package/dist/components/MediaManager/DeleteFolderDialog.js.map +1 -1
- package/dist/components/MediaManager/MarkdownImageEditToolbar.d.ts.map +1 -1
- package/dist/components/MediaManager/MarkdownImageEditToolbar.js +7 -9
- package/dist/components/MediaManager/MarkdownImageEditToolbar.js.map +1 -1
- package/dist/components/MediaManager/MarkdownInsertImageDialog.d.ts.map +1 -1
- package/dist/components/MediaManager/MarkdownInsertImageDialog.js +6 -9
- package/dist/components/MediaManager/MarkdownInsertImageDialog.js.map +1 -1
- package/dist/components/MediaManager/MediaLeftPanel.d.ts.map +1 -1
- package/dist/components/MediaManager/MediaLeftPanel.js +21 -23
- package/dist/components/MediaManager/MediaLeftPanel.js.map +1 -1
- package/dist/components/MediaManager/MediaListTable.d.ts.map +1 -1
- package/dist/components/MediaManager/MediaListTable.js +15 -21
- package/dist/components/MediaManager/MediaListTable.js.map +1 -1
- package/dist/components/MediaManager/MediaManager.d.ts.map +1 -1
- package/dist/components/MediaManager/MediaManager.js +101 -151
- package/dist/components/MediaManager/MediaManager.js.map +1 -1
- package/dist/components/MediaManager/MediaSelectDialog.js +22 -64
- package/dist/components/MediaManager/MediaSelectDialog.js.map +1 -1
- package/dist/components/MediaManager/MediaUploadBar.d.ts.map +1 -1
- package/dist/components/MediaManager/MediaUploadBar.js +9 -10
- package/dist/components/MediaManager/MediaUploadBar.js.map +1 -1
- package/dist/components/MediaManager/MediaUploadDialog.d.ts.map +1 -1
- package/dist/components/MediaManager/MediaUploadDialog.js +18 -11
- package/dist/components/MediaManager/MediaUploadDialog.js.map +1 -1
- package/dist/components/MediaManager/MediaViewModeSwitcher.d.ts +8 -0
- package/dist/components/MediaManager/MediaViewModeSwitcher.d.ts.map +1 -0
- package/dist/components/MediaManager/MediaViewModeSwitcher.js +14 -0
- package/dist/components/MediaManager/MediaViewModeSwitcher.js.map +1 -0
- package/dist/components/MediaManager/skeletons/MediaGridSkeleton.d.ts.map +1 -1
- package/dist/components/MediaManager/skeletons/MediaGridSkeleton.js +4 -12
- package/dist/components/MediaManager/skeletons/MediaGridSkeleton.js.map +1 -1
- package/dist/components/MediaManager/skeletons/MediaLeftPanelSkeleton.d.ts.map +1 -1
- package/dist/components/MediaManager/skeletons/MediaLeftPanelSkeleton.js +5 -13
- package/dist/components/MediaManager/skeletons/MediaLeftPanelSkeleton.js.map +1 -1
- package/dist/components/MediaManager/skeletons/MediaListTableSkeleton.d.ts.map +1 -1
- package/dist/components/MediaManager/skeletons/MediaListTableSkeleton.js +7 -15
- package/dist/components/MediaManager/skeletons/MediaListTableSkeleton.js.map +1 -1
- package/dist/components/MediaManager/skeletons/MediaManagerMainSkeleton.d.ts +3 -0
- package/dist/components/MediaManager/skeletons/MediaManagerMainSkeleton.d.ts.map +1 -0
- package/dist/components/MediaManager/skeletons/MediaManagerMainSkeleton.js +15 -0
- package/dist/components/MediaManager/skeletons/MediaManagerMainSkeleton.js.map +1 -0
- package/dist/components/MediaManager/skeletons/MediaManagerPageSkeleton.d.ts +3 -0
- package/dist/components/MediaManager/skeletons/MediaManagerPageSkeleton.d.ts.map +1 -0
- package/dist/components/MediaManager/skeletons/MediaManagerPageSkeleton.js +21 -0
- package/dist/components/MediaManager/skeletons/MediaManagerPageSkeleton.js.map +1 -0
- package/dist/components/public/MarkdownContent.d.ts.map +1 -1
- package/dist/components/public/MarkdownContent.js +1 -2
- package/dist/components/public/MarkdownContent.js.map +1 -1
- package/dist/components/public/RichTextContent.d.ts.map +1 -1
- package/dist/components/public/RichTextContent.js +19 -8
- package/dist/components/public/RichTextContent.js.map +1 -1
- package/dist/components/public/SearchBox.d.ts.map +1 -1
- package/dist/components/public/SearchBox.js +32 -60
- package/dist/components/public/SearchBox.js.map +1 -1
- package/dist/components/public/index.cjs +6 -413
- package/dist/components/public/index.cjs.map +1 -1
- package/dist/components/skeletons/MainSlotSkeleton.d.ts +0 -7
- package/dist/components/skeletons/MainSlotSkeleton.d.ts.map +1 -1
- package/dist/components/skeletons/MainSlotSkeleton.js +4 -17
- package/dist/components/skeletons/MainSlotSkeleton.js.map +1 -1
- package/dist/components/skeletons/blocks.d.ts.map +1 -1
- package/dist/components/skeletons/blocks.js +15 -7
- package/dist/components/skeletons/blocks.js.map +1 -1
- package/dist/components/skeletons/index.d.ts +4 -4
- package/dist/components/skeletons/index.d.ts.map +1 -1
- package/dist/components/skeletons/index.js +1 -2
- package/dist/components/skeletons/index.js.map +1 -1
- package/dist/components/skeletons/primitives.d.ts +2 -2
- package/dist/components/skeletons/primitives.d.ts.map +1 -1
- package/dist/components/skeletons/primitives.js +3 -3
- package/dist/components/skeletons/primitives.js.map +1 -1
- package/dist/components/test/dndTestUtils.d.ts +7 -0
- package/dist/components/test/dndTestUtils.d.ts.map +1 -0
- package/dist/components/test/dndTestUtils.js +15 -0
- package/dist/components/test/dndTestUtils.js.map +1 -0
- package/dist/components/ui/Avatar/Avatar.d.ts +5 -0
- package/dist/components/ui/Avatar/Avatar.d.ts.map +1 -0
- package/dist/components/ui/Avatar/Avatar.js +63 -0
- package/dist/components/ui/Avatar/Avatar.js.map +1 -0
- package/dist/components/ui/{branch-chip.d.ts → BranchChip/BranchChip.d.ts} +2 -5
- package/dist/components/ui/BranchChip/BranchChip.d.ts.map +1 -0
- package/dist/components/ui/BranchChip/BranchChip.js +47 -0
- package/dist/components/ui/BranchChip/BranchChip.js.map +1 -0
- package/dist/components/ui/Button/Button.d.ts +15 -0
- package/dist/components/ui/Button/Button.d.ts.map +1 -0
- package/dist/components/ui/Button/Button.js +49 -0
- package/dist/components/ui/Button/Button.js.map +1 -0
- package/dist/components/ui/Card/Card.d.ts +6 -0
- package/dist/components/ui/Card/Card.d.ts.map +1 -0
- package/dist/components/ui/{card.js → Card/Card.js} +12 -22
- package/dist/components/ui/Card/Card.js.map +1 -0
- package/dist/components/ui/{chip.d.ts → Chip/Chip.d.ts} +1 -1
- package/dist/components/ui/Chip/Chip.d.ts.map +1 -0
- package/dist/components/ui/Chip/Chip.js +24 -0
- package/dist/components/ui/Chip/Chip.js.map +1 -0
- package/dist/components/ui/Dialog/Dialog.d.ts +32 -0
- package/dist/components/ui/Dialog/Dialog.d.ts.map +1 -0
- package/dist/components/ui/Dialog/Dialog.js +194 -0
- package/dist/components/ui/Dialog/Dialog.js.map +1 -0
- package/dist/components/ui/DropdownMenu/DropdownMenu.d.ts +66 -0
- package/dist/components/ui/DropdownMenu/DropdownMenu.d.ts.map +1 -0
- package/dist/components/ui/DropdownMenu/DropdownMenu.js +308 -0
- package/dist/components/ui/DropdownMenu/DropdownMenu.js.map +1 -0
- package/dist/components/ui/{field.d.ts → FormField/Field.d.ts} +1 -1
- package/dist/components/ui/FormField/Field.d.ts.map +1 -0
- package/dist/components/ui/FormField/Field.js +41 -0
- package/dist/components/ui/FormField/Field.js.map +1 -0
- package/dist/components/{FieldShell.d.ts → ui/FormField/FieldShell.d.ts} +2 -2
- package/dist/components/ui/FormField/FieldShell.d.ts.map +1 -0
- package/dist/components/ui/FormField/FieldShell.js +29 -0
- package/dist/components/ui/FormField/FieldShell.js.map +1 -0
- package/dist/components/ui/FormField/FormBooleanField.d.ts.map +1 -0
- package/dist/components/ui/FormField/FormBooleanField.js +56 -0
- package/dist/components/ui/FormField/FormBooleanField.js.map +1 -0
- package/dist/components/ui/FormField/FormColorField.d.ts.map +1 -0
- package/dist/components/{FormColorField.js → ui/FormField/FormColorField.js} +10 -13
- package/dist/components/ui/FormField/FormColorField.js.map +1 -0
- package/dist/components/{FormConditionalField.d.ts → ui/FormField/FormConditionalField.d.ts} +1 -1
- package/dist/components/ui/FormField/FormConditionalField.d.ts.map +1 -0
- package/dist/components/{FormConditionalField.js → ui/FormField/FormConditionalField.js} +61 -58
- package/dist/components/ui/FormField/FormConditionalField.js.map +1 -0
- package/dist/components/ui/FormField/FormDatetimeField.d.ts.map +1 -0
- package/dist/components/ui/FormField/FormDatetimeField.js +48 -0
- package/dist/components/ui/FormField/FormDatetimeField.js.map +1 -0
- package/dist/components/{FormFields.d.ts → ui/FormField/FormFields.d.ts} +1 -1
- package/dist/components/ui/FormField/FormFields.d.ts.map +1 -0
- package/dist/components/{FormFields.js → ui/FormField/FormFields.js} +6 -6
- package/dist/components/ui/FormField/FormFields.js.map +1 -0
- package/dist/components/{FormImageField.d.ts → ui/FormField/FormImageField.d.ts} +1 -1
- package/dist/components/ui/FormField/FormImageField.d.ts.map +1 -0
- package/dist/components/{FormImageField.js → ui/FormField/FormImageField.js} +25 -30
- package/dist/components/ui/FormField/FormImageField.js.map +1 -0
- package/dist/components/ui/FormField/FormJsonField.d.ts.map +1 -0
- package/dist/components/{FormJsonField.js → ui/FormField/FormJsonField.js} +7 -10
- package/dist/components/ui/FormField/FormJsonField.js.map +1 -0
- package/dist/components/ui/FormField/FormMarkdownField.d.ts.map +1 -0
- package/dist/components/{FormMarkdownField.js → ui/FormField/FormMarkdownField.js} +11 -20
- package/dist/components/ui/FormField/FormMarkdownField.js.map +1 -0
- package/dist/components/ui/FormField/FormNumberField.d.ts.map +1 -0
- package/dist/components/ui/FormField/FormNumberField.js +38 -0
- package/dist/components/ui/FormField/FormNumberField.js.map +1 -0
- package/dist/components/{FormReferenceField.d.ts → ui/FormField/FormReferenceField.d.ts} +1 -1
- package/dist/components/ui/FormField/FormReferenceField.d.ts.map +1 -0
- package/dist/components/{FormReferenceField.js → ui/FormField/FormReferenceField.js} +109 -118
- package/dist/components/ui/FormField/FormReferenceField.js.map +1 -0
- package/dist/components/{FormRichTextField.d.ts → ui/FormField/FormRichTextField.d.ts} +1 -1
- package/dist/components/ui/FormField/FormRichTextField.d.ts.map +1 -0
- package/dist/components/{FormRichTextField.js → ui/FormField/FormRichTextField.js} +28 -33
- package/dist/components/ui/FormField/FormRichTextField.js.map +1 -0
- package/dist/components/{FormSelectField.d.ts → ui/FormField/FormSelectField.d.ts} +1 -1
- package/dist/components/ui/FormField/FormSelectField.d.ts.map +1 -0
- package/dist/components/{FormSelectField.js → ui/FormField/FormSelectField.js} +11 -23
- package/dist/components/ui/FormField/FormSelectField.js.map +1 -0
- package/dist/components/ui/FormField/FormSlugField.d.ts.map +1 -0
- package/dist/components/{FormSlugField.js → ui/FormField/FormSlugField.js} +21 -26
- package/dist/components/ui/FormField/FormSlugField.js.map +1 -0
- package/dist/components/ui/FormField/FormStringField.d.ts.map +1 -0
- package/dist/components/ui/FormField/FormStringField.js +23 -0
- package/dist/components/ui/FormField/FormStringField.js.map +1 -0
- package/dist/components/ui/FormField/FormStringListField.d.ts.map +1 -0
- package/dist/components/{FormStringListField.js → ui/FormField/FormStringListField.js} +14 -25
- package/dist/components/ui/FormField/FormStringListField.js.map +1 -0
- package/dist/components/ui/FormField/FormTextField.d.ts.map +1 -0
- package/dist/components/ui/FormField/FormTextField.js +35 -0
- package/dist/components/ui/FormField/FormTextField.js.map +1 -0
- package/dist/components/ui/FormField/FormUrlField.d.ts.map +1 -0
- package/dist/components/ui/FormField/FormUrlField.js +26 -0
- package/dist/components/ui/FormField/FormUrlField.js.map +1 -0
- package/dist/components/{richtext → ui/FormField/richtext}/ComponentEmbedEditor.d.ts +1 -1
- package/dist/components/ui/FormField/richtext/ComponentEmbedEditor.d.ts.map +1 -0
- package/dist/components/ui/FormField/richtext/ComponentEmbedEditor.js +165 -0
- package/dist/components/ui/FormField/richtext/ComponentEmbedEditor.js.map +1 -0
- package/dist/components/ui/FormField/richtext/ConditionEmbedEditor.d.ts.map +1 -0
- package/dist/components/{richtext → ui/FormField/richtext}/ConditionEmbedEditor.js +25 -39
- package/dist/components/ui/FormField/richtext/ConditionEmbedEditor.js.map +1 -0
- package/dist/components/ui/FormField/richtext/ImageEmbedEditor.d.ts.map +1 -0
- package/dist/components/{richtext → ui/FormField/richtext}/ImageEmbedEditor.js +77 -56
- package/dist/components/ui/FormField/richtext/ImageEmbedEditor.js.map +1 -0
- package/dist/components/ui/FormField/richtext/ReferenceEmbedEditor.d.ts.map +1 -0
- package/dist/components/{richtext → ui/FormField/richtext}/ReferenceEmbedEditor.js +55 -43
- package/dist/components/ui/FormField/richtext/ReferenceEmbedEditor.js.map +1 -0
- package/dist/components/ui/FormField/richtext/SlashCommandMenu.d.ts.map +1 -0
- package/dist/components/{richtext → ui/FormField/richtext}/SlashCommandMenu.js +21 -33
- package/dist/components/ui/FormField/richtext/SlashCommandMenu.js.map +1 -0
- package/dist/components/ui/FormField/richtext/VariableEmbedEditor.d.ts.map +1 -0
- package/dist/components/ui/FormField/richtext/VariableEmbedEditor.js +61 -0
- package/dist/components/ui/FormField/richtext/VariableEmbedEditor.js.map +1 -0
- package/dist/components/ui/Icon/Icon.d.ts +77 -0
- package/dist/components/ui/Icon/Icon.d.ts.map +1 -0
- package/dist/components/ui/Icon/Icon.js +618 -0
- package/dist/components/ui/Icon/Icon.js.map +1 -0
- package/dist/components/ui/{input.d.ts → Input/Input.d.ts} +1 -1
- package/dist/components/ui/Input/Input.d.ts.map +1 -0
- package/dist/components/ui/Input/Input.js +25 -0
- package/dist/components/ui/Input/Input.js.map +1 -0
- package/dist/components/ui/{kbd.d.ts → Kbd/Kbd.d.ts} +1 -1
- package/dist/components/ui/Kbd/Kbd.d.ts.map +1 -0
- package/dist/components/ui/Kbd/Kbd.js +19 -0
- package/dist/components/ui/Kbd/Kbd.js.map +1 -0
- package/dist/components/ui/Label/Label.d.ts +3 -0
- package/dist/components/ui/Label/Label.d.ts.map +1 -0
- package/dist/components/ui/Label/Label.js +20 -0
- package/dist/components/ui/Label/Label.js.map +1 -0
- package/dist/components/ui/Portal/Portal.d.ts +8 -0
- package/dist/components/ui/Portal/Portal.d.ts.map +1 -0
- package/dist/components/ui/Portal/Portal.js +14 -0
- package/dist/components/ui/Portal/Portal.js.map +1 -0
- package/dist/components/ui/Select/Select.d.ts +33 -0
- package/dist/components/ui/Select/Select.d.ts.map +1 -0
- package/dist/components/ui/Select/Select.js +280 -0
- package/dist/components/ui/Select/Select.js.map +1 -0
- package/dist/components/ui/Slot/Slot.d.ts +6 -0
- package/dist/components/ui/Slot/Slot.d.ts.map +1 -0
- package/dist/components/ui/Slot/Slot.js +39 -0
- package/dist/components/ui/Slot/Slot.js.map +1 -0
- package/dist/components/ui/{status-badge.d.ts → StatusBadge/StatusBadge.d.ts} +2 -2
- package/dist/components/ui/StatusBadge/StatusBadge.d.ts.map +1 -0
- package/dist/components/ui/{status-badge.js → StatusBadge/StatusBadge.js} +8 -9
- package/dist/components/ui/StatusBadge/StatusBadge.js.map +1 -0
- package/dist/components/ui/Switcher/Switcher.d.ts +9 -0
- package/dist/components/ui/Switcher/Switcher.d.ts.map +1 -0
- package/dist/components/ui/Switcher/Switcher.js +75 -0
- package/dist/components/ui/Switcher/Switcher.js.map +1 -0
- package/dist/components/ui/{table.d.ts → Table/Table.d.ts} +1 -1
- package/dist/components/ui/Table/Table.d.ts.map +1 -0
- package/dist/components/ui/{table.js → Table/Table.js} +11 -29
- package/dist/components/ui/Table/Table.js.map +1 -0
- package/dist/components/ui/Tabs/Tabs.d.ts +16 -0
- package/dist/components/ui/Tabs/Tabs.d.ts.map +1 -0
- package/dist/components/ui/Tabs/Tabs.js +96 -0
- package/dist/components/ui/Tabs/Tabs.js.map +1 -0
- package/dist/components/ui/{textarea.d.ts → Textarea/Textarea.d.ts} +1 -1
- package/dist/components/ui/Textarea/Textarea.d.ts.map +1 -0
- package/dist/components/ui/Textarea/Textarea.js +16 -0
- package/dist/components/ui/Textarea/Textarea.js.map +1 -0
- package/dist/components/ui/Toast/Toast.d.ts +21 -0
- package/dist/components/ui/Toast/Toast.d.ts.map +1 -0
- package/dist/components/ui/Toast/Toast.js +98 -0
- package/dist/components/ui/Toast/Toast.js.map +1 -0
- package/dist/components/ui/{toaster.d.ts → Toaster/Toaster.d.ts} +1 -1
- package/dist/components/ui/Toaster/Toaster.d.ts.map +1 -0
- package/dist/components/ui/Toaster/Toaster.js +27 -0
- package/dist/components/ui/Toaster/Toaster.js.map +1 -0
- package/dist/components/ui/index.d.ts +45 -31
- package/dist/components/ui/index.d.ts.map +1 -1
- package/dist/components/ui/index.js +76 -36
- package/dist/components/ui/index.js.map +1 -1
- package/dist/config.cjs +4 -99
- package/dist/config.cjs.map +1 -1
- package/dist/defineConfig.cjs +0 -2
- package/dist/defineConfig.cjs.map +1 -1
- package/dist/globals.css +9648 -430
- package/dist/hooks/useComposedRefs.d.ts +5 -0
- package/dist/hooks/useComposedRefs.d.ts.map +1 -0
- package/dist/hooks/useComposedRefs.js +23 -0
- package/dist/hooks/useComposedRefs.js.map +1 -0
- package/dist/hooks/useControllableState.d.ts +8 -0
- package/dist/hooks/useControllableState.d.ts.map +1 -0
- package/dist/hooks/useControllableState.js +28 -0
- package/dist/hooks/useControllableState.js.map +1 -0
- package/dist/hooks/usePopoverContent.d.ts +26 -0
- package/dist/hooks/usePopoverContent.d.ts.map +1 -0
- package/dist/hooks/usePopoverContent.js +44 -0
- package/dist/hooks/usePopoverContent.js.map +1 -0
- package/dist/hooks/useToast.d.ts +4 -4
- package/dist/hooks/useToast.d.ts.map +1 -1
- package/dist/hooks/useToast.js +1 -3
- package/dist/hooks/useToast.js.map +1 -1
- package/dist/index.cjs +11 -9506
- package/dist/index.cjs.map +1 -1
- package/dist/{init-KWH66PKY.js → init-KNIWQGJL.js} +3 -18
- package/dist/init-KNIWQGJL.js.map +1 -0
- package/dist/lib/configStore.cjs +1 -3
- package/dist/lib/configStore.cjs.map +1 -1
- package/dist/lib/slugField.d.ts.map +1 -1
- package/dist/lib/slugField.js +3 -3
- package/dist/lib/slugField.js.map +1 -1
- package/dist/lib/slugify.d.ts +13 -0
- package/dist/lib/slugify.d.ts.map +1 -0
- package/dist/lib/slugify.js +8 -0
- package/dist/lib/slugify.js.map +1 -0
- package/dist/lib/utils.d.ts +5 -9
- package/dist/lib/utils.d.ts.map +1 -1
- package/dist/lib/utils.js +29 -3
- package/dist/lib/utils.js.map +1 -1
- package/dist/query.cjs +58 -9011
- package/dist/query.cjs.map +1 -1
- package/dist/types.cjs +0 -2
- package/dist/types.cjs.map +1 -1
- package/dist/types.d.ts +3 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/{update-QNJRYPMC.js → update-QALIQG76.js} +2 -2
- package/dist/withOctoCMS.cjs +2 -36
- package/dist/withOctoCMS.cjs.map +1 -1
- package/globals.css +9648 -430
- package/package.json +1 -16
- package/dist/chunk-NAHOP7TG.js +0 -7
- package/dist/components/ContentModel/ContentModelList.skeleton.d.ts +0 -5
- package/dist/components/ContentModel/ContentModelList.skeleton.d.ts.map +0 -1
- package/dist/components/ContentModel/ContentModelList.skeleton.js +0 -16
- package/dist/components/ContentModel/ContentModelList.skeleton.js.map +0 -1
- package/dist/components/ContentModel/ContentTypeDetail.skeleton.d.ts +0 -5
- package/dist/components/ContentModel/ContentTypeDetail.skeleton.d.ts.map +0 -1
- package/dist/components/ContentModel/ContentTypeDetail.skeleton.js +0 -22
- package/dist/components/ContentModel/ContentTypeDetail.skeleton.js.map +0 -1
- package/dist/components/ContentTypes.d.ts +0 -7
- package/dist/components/ContentTypes.d.ts.map +0 -1
- package/dist/components/ContentTypes.js +0 -132
- package/dist/components/ContentTypes.js.map +0 -1
- package/dist/components/CreateBranchDialog.d.ts.map +0 -1
- package/dist/components/CreateBranchDialog.js.map +0 -1
- package/dist/components/Dashboard/DashboardContent.collection.skeleton.d.ts +0 -3
- package/dist/components/Dashboard/DashboardContent.collection.skeleton.d.ts.map +0 -1
- package/dist/components/Dashboard/DashboardContent.collection.skeleton.js +0 -10
- package/dist/components/Dashboard/DashboardContent.collection.skeleton.js.map +0 -1
- package/dist/components/Dashboard/DashboardContent.list.skeleton.d.ts +0 -7
- package/dist/components/Dashboard/DashboardContent.list.skeleton.d.ts.map +0 -1
- package/dist/components/Dashboard/DashboardContent.list.skeleton.js +0 -22
- package/dist/components/Dashboard/DashboardContent.list.skeleton.js.map +0 -1
- package/dist/components/Dashboard/DashboardContent.skeleton.d.ts +0 -2
- package/dist/components/Dashboard/DashboardContent.skeleton.d.ts.map +0 -1
- package/dist/components/Dashboard/DashboardContent.skeleton.js +0 -13
- package/dist/components/Dashboard/DashboardContent.skeleton.js.map +0 -1
- package/dist/components/EditPost/EditPost.skeleton.d.ts +0 -5
- package/dist/components/EditPost/EditPost.skeleton.d.ts.map +0 -1
- package/dist/components/EditPost/EditPost.skeleton.js +0 -34
- package/dist/components/EditPost/EditPost.skeleton.js.map +0 -1
- package/dist/components/ErrorBoundary.d.ts.map +0 -1
- package/dist/components/ErrorBoundary.js.map +0 -1
- package/dist/components/FieldHintAndError.d.ts +0 -8
- package/dist/components/FieldHintAndError.d.ts.map +0 -1
- package/dist/components/FieldHintAndError.js +0 -14
- package/dist/components/FieldHintAndError.js.map +0 -1
- package/dist/components/FieldLabel.d.ts +0 -11
- package/dist/components/FieldLabel.d.ts.map +0 -1
- package/dist/components/FieldLabel.js +0 -17
- package/dist/components/FieldLabel.js.map +0 -1
- package/dist/components/FieldShell.d.ts.map +0 -1
- package/dist/components/FieldShell.js +0 -29
- package/dist/components/FieldShell.js.map +0 -1
- package/dist/components/FileExplorer/FileExplorer.d.ts +0 -8
- package/dist/components/FileExplorer/FileExplorer.d.ts.map +0 -1
- package/dist/components/FileExplorer/FileExplorer.js +0 -68
- package/dist/components/FileExplorer/FileExplorer.js.map +0 -1
- package/dist/components/FormBooleanField.d.ts.map +0 -1
- package/dist/components/FormBooleanField.js +0 -52
- package/dist/components/FormBooleanField.js.map +0 -1
- package/dist/components/FormColorField.d.ts.map +0 -1
- package/dist/components/FormColorField.js.map +0 -1
- package/dist/components/FormConditionalField.d.ts.map +0 -1
- package/dist/components/FormConditionalField.js.map +0 -1
- package/dist/components/FormDatetimeField.d.ts.map +0 -1
- package/dist/components/FormDatetimeField.js +0 -42
- package/dist/components/FormDatetimeField.js.map +0 -1
- package/dist/components/FormFields.d.ts.map +0 -1
- package/dist/components/FormFields.js.map +0 -1
- package/dist/components/FormImageField.d.ts.map +0 -1
- package/dist/components/FormImageField.js.map +0 -1
- package/dist/components/FormJsonField.d.ts.map +0 -1
- package/dist/components/FormJsonField.js.map +0 -1
- package/dist/components/FormMarkdownField.d.ts.map +0 -1
- package/dist/components/FormMarkdownField.js.map +0 -1
- package/dist/components/FormNumberField.d.ts.map +0 -1
- package/dist/components/FormNumberField.js +0 -43
- package/dist/components/FormNumberField.js.map +0 -1
- package/dist/components/FormReferenceField.d.ts.map +0 -1
- package/dist/components/FormReferenceField.js.map +0 -1
- package/dist/components/FormRichTextField.d.ts.map +0 -1
- package/dist/components/FormRichTextField.js.map +0 -1
- package/dist/components/FormSelectField.d.ts.map +0 -1
- package/dist/components/FormSelectField.js.map +0 -1
- package/dist/components/FormSlugField.d.ts.map +0 -1
- package/dist/components/FormSlugField.js.map +0 -1
- package/dist/components/FormStringField.d.ts.map +0 -1
- package/dist/components/FormStringField.js +0 -28
- package/dist/components/FormStringField.js.map +0 -1
- package/dist/components/FormStringListField.d.ts.map +0 -1
- package/dist/components/FormStringListField.js.map +0 -1
- package/dist/components/FormTextField.d.ts.map +0 -1
- package/dist/components/FormTextField.js +0 -40
- package/dist/components/FormTextField.js.map +0 -1
- package/dist/components/FormUrlField.d.ts.map +0 -1
- package/dist/components/FormUrlField.js +0 -31
- package/dist/components/FormUrlField.js.map +0 -1
- package/dist/components/Layout/PageBar.d.ts +0 -10
- package/dist/components/Layout/PageBar.d.ts.map +0 -1
- package/dist/components/Layout/PageBar.js +0 -43
- package/dist/components/Layout/PageBar.js.map +0 -1
- package/dist/components/Layout/PageShell.d.ts +0 -30
- package/dist/components/Layout/PageShell.d.ts.map +0 -1
- package/dist/components/Layout/PageShell.js +0 -33
- package/dist/components/Layout/PageShell.js.map +0 -1
- package/dist/components/MediaAsset/MediaAsset.skeleton.d.ts +0 -3
- package/dist/components/MediaAsset/MediaAsset.skeleton.d.ts.map +0 -1
- package/dist/components/MediaAsset/MediaAsset.skeleton.js +0 -42
- package/dist/components/MediaAsset/MediaAsset.skeleton.js.map +0 -1
- package/dist/components/MediaManager/MediaManager.skeleton.d.ts +0 -3
- package/dist/components/MediaManager/MediaManager.skeleton.d.ts.map +0 -1
- package/dist/components/MediaManager/MediaManager.skeleton.js +0 -30
- package/dist/components/MediaManager/MediaManager.skeleton.js.map +0 -1
- package/dist/components/StatusBadge.d.ts +0 -2
- package/dist/components/StatusBadge.d.ts.map +0 -1
- package/dist/components/StatusBadge.js +0 -7
- package/dist/components/StatusBadge.js.map +0 -1
- package/dist/components/richtext/ComponentEmbedEditor.d.ts.map +0 -1
- package/dist/components/richtext/ComponentEmbedEditor.js +0 -153
- package/dist/components/richtext/ComponentEmbedEditor.js.map +0 -1
- package/dist/components/richtext/ConditionEmbedEditor.d.ts.map +0 -1
- package/dist/components/richtext/ConditionEmbedEditor.js.map +0 -1
- package/dist/components/richtext/ImageEmbedEditor.d.ts.map +0 -1
- package/dist/components/richtext/ImageEmbedEditor.js.map +0 -1
- package/dist/components/richtext/ReferenceEmbedEditor.d.ts.map +0 -1
- package/dist/components/richtext/ReferenceEmbedEditor.js.map +0 -1
- package/dist/components/richtext/SlashCommandMenu.d.ts.map +0 -1
- package/dist/components/richtext/SlashCommandMenu.js.map +0 -1
- package/dist/components/richtext/VariableEmbedEditor.d.ts.map +0 -1
- package/dist/components/richtext/VariableEmbedEditor.js +0 -58
- package/dist/components/richtext/VariableEmbedEditor.js.map +0 -1
- package/dist/components/ui/avatar-stack.d.ts +0 -13
- package/dist/components/ui/avatar-stack.d.ts.map +0 -1
- package/dist/components/ui/avatar-stack.js +0 -27
- package/dist/components/ui/avatar-stack.js.map +0 -1
- package/dist/components/ui/avatar.d.ts +0 -7
- package/dist/components/ui/avatar.d.ts.map +0 -1
- package/dist/components/ui/avatar.js +0 -45
- package/dist/components/ui/avatar.js.map +0 -1
- package/dist/components/ui/banner.d.ts +0 -13
- package/dist/components/ui/banner.d.ts.map +0 -1
- package/dist/components/ui/banner.js +0 -24
- package/dist/components/ui/banner.js.map +0 -1
- package/dist/components/ui/branch-chip.d.ts.map +0 -1
- package/dist/components/ui/branch-chip.js +0 -58
- package/dist/components/ui/branch-chip.js.map +0 -1
- package/dist/components/ui/button.d.ts +0 -14
- package/dist/components/ui/button.d.ts.map +0 -1
- package/dist/components/ui/button.js +0 -65
- package/dist/components/ui/button.js.map +0 -1
- package/dist/components/ui/card.d.ts +0 -7
- package/dist/components/ui/card.d.ts.map +0 -1
- package/dist/components/ui/card.js.map +0 -1
- package/dist/components/ui/chip.d.ts.map +0 -1
- package/dist/components/ui/chip.js +0 -44
- package/dist/components/ui/chip.js.map +0 -1
- package/dist/components/ui/dialog.d.ts +0 -20
- package/dist/components/ui/dialog.d.ts.map +0 -1
- package/dist/components/ui/dialog.js +0 -93
- package/dist/components/ui/dialog.js.map +0 -1
- package/dist/components/ui/dropdown-menu.d.ts +0 -28
- package/dist/components/ui/dropdown-menu.d.ts.map +0 -1
- package/dist/components/ui/dropdown-menu.js +0 -165
- package/dist/components/ui/dropdown-menu.js.map +0 -1
- package/dist/components/ui/empty.d.ts +0 -11
- package/dist/components/ui/empty.d.ts.map +0 -1
- package/dist/components/ui/empty.js +0 -24
- package/dist/components/ui/empty.js.map +0 -1
- package/dist/components/ui/field.d.ts.map +0 -1
- package/dist/components/ui/field.js +0 -52
- package/dist/components/ui/field.js.map +0 -1
- package/dist/components/ui/input.d.ts.map +0 -1
- package/dist/components/ui/input.js +0 -51
- package/dist/components/ui/input.js.map +0 -1
- package/dist/components/ui/kbd.d.ts.map +0 -1
- package/dist/components/ui/kbd.js +0 -30
- package/dist/components/ui/kbd.js.map +0 -1
- package/dist/components/ui/label.d.ts +0 -6
- package/dist/components/ui/label.d.ts.map +0 -1
- package/dist/components/ui/label.js +0 -20
- package/dist/components/ui/label.js.map +0 -1
- package/dist/components/ui/publish-button.d.ts +0 -7
- package/dist/components/ui/publish-button.d.ts.map +0 -1
- package/dist/components/ui/publish-button.js +0 -50
- package/dist/components/ui/publish-button.js.map +0 -1
- package/dist/components/ui/select.d.ts +0 -14
- package/dist/components/ui/select.d.ts.map +0 -1
- package/dist/components/ui/select.js +0 -132
- package/dist/components/ui/select.js.map +0 -1
- package/dist/components/ui/sonner.d.ts +0 -6
- package/dist/components/ui/sonner.d.ts.map +0 -1
- package/dist/components/ui/sonner.js +0 -37
- package/dist/components/ui/sonner.js.map +0 -1
- package/dist/components/ui/status-badge.d.ts.map +0 -1
- package/dist/components/ui/status-badge.js.map +0 -1
- package/dist/components/ui/table.d.ts.map +0 -1
- package/dist/components/ui/table.js.map +0 -1
- package/dist/components/ui/tabs-pill.d.ts +0 -17
- package/dist/components/ui/tabs-pill.d.ts.map +0 -1
- package/dist/components/ui/tabs-pill.js +0 -67
- package/dist/components/ui/tabs-pill.js.map +0 -1
- package/dist/components/ui/tabs.d.ts +0 -8
- package/dist/components/ui/tabs.d.ts.map +0 -1
- package/dist/components/ui/tabs.js +0 -59
- package/dist/components/ui/tabs.js.map +0 -1
- package/dist/components/ui/textarea.d.ts.map +0 -1
- package/dist/components/ui/textarea.js +0 -25
- package/dist/components/ui/textarea.js.map +0 -1
- package/dist/components/ui/toast-card.d.ts +0 -15
- package/dist/components/ui/toast-card.d.ts.map +0 -1
- package/dist/components/ui/toast-card.js +0 -90
- package/dist/components/ui/toast-card.js.map +0 -1
- package/dist/components/ui/toast.d.ts +0 -16
- package/dist/components/ui/toast.d.ts.map +0 -1
- package/dist/components/ui/toast.js +0 -95
- package/dist/components/ui/toast.js.map +0 -1
- package/dist/components/ui/toaster.d.ts.map +0 -1
- package/dist/components/ui/toaster.js +0 -30
- package/dist/components/ui/toaster.js.map +0 -1
- package/dist/init-KWH66PKY.js.map +0 -1
- /package/dist/{agentDocs-M3R2CPUQ.js.map → agentDocs-QZ4NOQVH.js.map} +0 -0
- /package/dist/components/{ErrorBoundary.d.ts → ErrorBoundary/ErrorBoundary.d.ts} +0 -0
- /package/dist/components/{CreateBranchDialog.d.ts → Layout/CreateBranchDialog.d.ts} +0 -0
- /package/dist/components/{FormBooleanField.d.ts → ui/FormField/FormBooleanField.d.ts} +0 -0
- /package/dist/components/{FormColorField.d.ts → ui/FormField/FormColorField.d.ts} +0 -0
- /package/dist/components/{FormDatetimeField.d.ts → ui/FormField/FormDatetimeField.d.ts} +0 -0
- /package/dist/components/{FormJsonField.d.ts → ui/FormField/FormJsonField.d.ts} +0 -0
- /package/dist/components/{FormMarkdownField.d.ts → ui/FormField/FormMarkdownField.d.ts} +0 -0
- /package/dist/components/{FormNumberField.d.ts → ui/FormField/FormNumberField.d.ts} +0 -0
- /package/dist/components/{FormSlugField.d.ts → ui/FormField/FormSlugField.d.ts} +0 -0
- /package/dist/components/{FormStringField.d.ts → ui/FormField/FormStringField.d.ts} +0 -0
- /package/dist/components/{FormStringListField.d.ts → ui/FormField/FormStringListField.d.ts} +0 -0
- /package/dist/components/{FormTextField.d.ts → ui/FormField/FormTextField.d.ts} +0 -0
- /package/dist/components/{FormUrlField.d.ts → ui/FormField/FormUrlField.d.ts} +0 -0
- /package/dist/components/{richtext → ui/FormField/richtext}/ConditionEmbedEditor.d.ts +0 -0
- /package/dist/components/{richtext → ui/FormField/richtext}/ImageEmbedEditor.d.ts +0 -0
- /package/dist/components/{richtext → ui/FormField/richtext}/ReferenceEmbedEditor.d.ts +0 -0
- /package/dist/components/{richtext → ui/FormField/richtext}/SlashCommandMenu.d.ts +0 -0
- /package/dist/components/{richtext → ui/FormField/richtext}/VariableEmbedEditor.d.ts +0 -0
- /package/dist/{update-QNJRYPMC.js.map → update-QALIQG76.js.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../components/ui/FormField/FormStringListField.tsx"],"sourcesContent":["'use client';\n\nimport { Icon } from '../Icon/Icon';\nimport React, { useCallback, useEffect, useId, useMemo, useRef, useState } from 'react';\n\nimport { cn } from '../../../lib/utils';\nimport { normalizeStringListFromStorage } from '../../../lib/stringListField';\n\nimport { Field } from './Field';\n\ntype Row = { id: string; value: string };\n\ntype FormStringListFieldProps = {\n label: string;\n name: string;\n /** Stored value: `string[]`, or legacy single `string`. */\n value: unknown;\n required?: boolean;\n hint?: string;\n error?: string;\n onClearError?: (name: string) => void;\n};\n\nfunction rowsFromStrings(values: string[], nextId: () => string): Row[] {\n return values.map((value) => ({ id: nextId(), value }));\n}\n\nconst ListRow = ({\n row,\n index,\n onRemove,\n onDragStart,\n onDragOver,\n onDragEnd,\n onDrop,\n}: {\n row: Row;\n index: number;\n onRemove: (index: number) => void;\n onDragStart: (index: number) => void;\n onDragOver: (e: React.DragEvent, _index: number) => void;\n onDragEnd: () => void;\n onDrop: (index: number) => void;\n}) => (\n <div\n draggable\n onDragStart={() => onDragStart(index)}\n onDragOver={(e) => onDragOver(e, index)}\n onDragEnd={onDragEnd}\n onDrop={() => onDrop(index)}\n className=\"octo-ff-list__item\"\n >\n <span className=\"octo-ff-list__item-grip\" aria-hidden>\n <Icon.GripVertical className=\"octo-icon-md\" />\n </span>\n <span className=\"octo-ff-list__item-value\">{row.value}</span>\n <span className=\"octo-ff-list__item-sep\" aria-hidden />\n <button\n type=\"button\"\n onClick={() => onRemove(index)}\n className=\"octo-ff-list__item-remove\"\n aria-label={`Remove ${row.value}`}\n >\n <Icon.X className=\"octo-icon-md\" />\n </button>\n </div>\n);\n\nconst FormStringListField = ({ label, name, value, required, hint, error, onClearError }: FormStringListFieldProps) => {\n const inputId = useId();\n const idCounterRef = useRef(0);\n const nextRowId = useCallback(() => {\n idCounterRef.current += 1;\n return `str-list-${idCounterRef.current}`;\n }, []);\n\n const storageKey = useMemo(() => JSON.stringify(normalizeStringListFromStorage(value)), [value]);\n const [rows, setRows] = useState<Row[]>(() =>\n rowsFromStrings(JSON.parse(storageKey) as string[], () => {\n idCounterRef.current += 1;\n return `str-list-${idCounterRef.current}`;\n }),\n );\n const [draft, setDraft] = useState('');\n const [dragIndex, setDragIndex] = useState<number | null>(null);\n\n useEffect(() => {\n idCounterRef.current = 0;\n setRows(rowsFromStrings(JSON.parse(storageKey) as string[], nextRowId));\n setDraft('');\n }, [storageKey, nextRowId]);\n\n const serializedValue = useMemo(() => JSON.stringify(rows.map((r) => r.value)), [rows]);\n\n const commitDraft = useCallback(() => {\n const next = draft.trim();\n if (!next) return;\n setRows((prev) => [...prev, { id: nextRowId(), value: next }]);\n setDraft('');\n onClearError?.(name);\n }, [draft, name, nextRowId, onClearError]);\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Enter') {\n e.preventDefault();\n commitDraft();\n }\n };\n\n const handleRemove = useCallback(\n (index: number) => {\n setRows((prev) => prev.filter((_, i) => i !== index));\n onClearError?.(name);\n },\n [name, onClearError],\n );\n\n const handleDragStart = useCallback((index: number) => {\n setDragIndex(index);\n }, []);\n\n const handleDragOver = useCallback((e: React.DragEvent) => {\n e.preventDefault();\n }, []);\n\n const handleDragEnd = useCallback(() => {\n setDragIndex(null);\n }, []);\n\n const handleDrop = useCallback(\n (targetIndex: number) => {\n if (dragIndex === null || dragIndex === targetIndex) return;\n setRows((prev) => {\n const next = [...prev];\n const [dragged] = next.splice(dragIndex, 1);\n next.splice(targetIndex, 0, dragged);\n return next;\n });\n setDragIndex(null);\n onClearError?.(name);\n },\n [dragIndex, name, onClearError],\n );\n\n return (\n <Field label={label} schema=\"string[]\" required={required} hint={hint} error={error}>\n <input\n id={inputId}\n className={cn('octo-ff-list__add-input', error && 'octo-ff-list__add-input octo-ff-list__add-input--error')}\n type=\"text\"\n value={draft}\n onChange={(e) => setDraft(e.target.value)}\n onKeyDown={handleKeyDown}\n onBlur={() => {\n if (draft.trim()) commitDraft();\n }}\n placeholder=\"Type the value and hit enter\"\n aria-invalid={error ? true : undefined}\n />\n {rows.length > 0 ? (\n <div className=\"octo-ff-list__items\">\n {rows.map((row, i) => (\n <ListRow\n key={row.id}\n row={row}\n index={i}\n onRemove={handleRemove}\n onDragStart={handleDragStart}\n onDragOver={handleDragOver}\n onDragEnd={handleDragEnd}\n onDrop={handleDrop}\n />\n ))}\n </div>\n ) : null}\n <input type=\"hidden\" name={name} value={serializedValue} />\n </Field>\n );\n};\n\nexport default FormStringListField;\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormTextField.d.ts","sourceRoot":"","sources":["../../../../components/ui/FormField/FormTextField.tsx"],"names":[],"mappings":"AAWA,KAAK,kBAAkB,GAAG;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5C,CAAC;AAEF,QAAA,MAAM,aAAa,GAAI,oEASpB,kBAAkB,4CAcpB,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import "../../../chunk-B5LE2OEC.js";
|
|
3
|
+
import { jsx } from "react/jsx-runtime";
|
|
4
|
+
import { cn } from "../../../lib/utils";
|
|
5
|
+
import { Field } from "./Field";
|
|
6
|
+
import { FIELD_TEXTAREA_CLASS } from "./FieldShell";
|
|
7
|
+
const DEFAULT_ROWS = 4;
|
|
8
|
+
const FormTextField = ({
|
|
9
|
+
label,
|
|
10
|
+
name,
|
|
11
|
+
value,
|
|
12
|
+
rows = DEFAULT_ROWS,
|
|
13
|
+
required,
|
|
14
|
+
hint,
|
|
15
|
+
error,
|
|
16
|
+
onClearError
|
|
17
|
+
}) => {
|
|
18
|
+
return /* @__PURE__ */ jsx(Field, { label, htmlFor: name, schema: "text", required, hint, error, children: /* @__PURE__ */ jsx(
|
|
19
|
+
"textarea",
|
|
20
|
+
{
|
|
21
|
+
id: name,
|
|
22
|
+
className: cn(FIELD_TEXTAREA_CLASS, error && "octo-textarea octo-textarea--error"),
|
|
23
|
+
name,
|
|
24
|
+
rows,
|
|
25
|
+
defaultValue: value,
|
|
26
|
+
"aria-invalid": error ? true : void 0,
|
|
27
|
+
onChange: () => onClearError == null ? void 0 : onClearError(name)
|
|
28
|
+
}
|
|
29
|
+
) });
|
|
30
|
+
};
|
|
31
|
+
var FormTextField_default = FormTextField;
|
|
32
|
+
export {
|
|
33
|
+
FormTextField_default as default
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=FormTextField.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../components/ui/FormField/FormTextField.tsx"],"sourcesContent":["'use client';\n\nimport React from 'react';\n\nimport { cn } from '../../../lib/utils';\n\nimport { Field } from './Field';\nimport { FIELD_TEXTAREA_CLASS } from './FieldShell';\n\nconst DEFAULT_ROWS = 4;\n\ntype FormTextFieldProps = {\n label: string;\n name: string;\n value: string;\n rows?: number;\n required?: boolean;\n hint?: string;\n error?: string;\n onClearError?: (fieldName: string) => void;\n};\n\nconst FormTextField = ({\n label,\n name,\n value,\n rows = DEFAULT_ROWS,\n required,\n hint,\n error,\n onClearError,\n}: FormTextFieldProps) => {\n return (\n <Field label={label} htmlFor={name} schema=\"text\" required={required} hint={hint} error={error}>\n <textarea\n id={name}\n className={cn(FIELD_TEXTAREA_CLASS, error && 'octo-textarea octo-textarea--error')}\n name={name}\n rows={rows}\n defaultValue={value}\n aria-invalid={error ? true : undefined}\n onChange={() => onClearError?.(name)}\n />\n </Field>\n );\n};\n\nexport default FormTextField;\n"],"mappings":";;AAkCM;AA9BN,SAAS,UAAU;AAEnB,SAAS,aAAa;AACtB,SAAS,4BAA4B;AAErC,MAAM,eAAe;AAarB,MAAM,gBAAgB,CAAC;AAAA,EACrB;AAAA,EACA;AAAA,EACA;AAAA,EACA,OAAO;AAAA,EACP;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAA0B;AACxB,SACE,oBAAC,SAAM,OAAc,SAAS,MAAM,QAAO,QAAO,UAAoB,MAAY,OAChF;AAAA,IAAC;AAAA;AAAA,MACC,IAAI;AAAA,MACJ,WAAW,GAAG,sBAAsB,SAAS,oCAAoC;AAAA,MACjF;AAAA,MACA;AAAA,MACA,cAAc;AAAA,MACd,gBAAc,QAAQ,OAAO;AAAA,MAC7B,UAAU,MAAM,6CAAe;AAAA;AAAA,EACjC,GACF;AAEJ;AAEA,IAAO,wBAAQ;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormUrlField.d.ts","sourceRoot":"","sources":["../../../../components/ui/FormField/FormUrlField.tsx"],"names":[],"mappings":"AAOA,KAAK,iBAAiB,GAAG;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5C,CAAC;AAEF,QAAA,MAAM,YAAY,GAAI,6DAA6D,iBAAiB,4CAkBnG,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import "../../../chunk-B5LE2OEC.js";
|
|
3
|
+
import { jsx } from "react/jsx-runtime";
|
|
4
|
+
import { Field } from "./Field";
|
|
5
|
+
import { FieldShell, FIELD_INPUT_CLASS } from "./FieldShell";
|
|
6
|
+
const FormUrlField = ({ label, name, value, required, hint, error, onClearError }) => {
|
|
7
|
+
return /* @__PURE__ */ jsx(Field, { label, htmlFor: name, schema: "url", required, hint, error, children: /* @__PURE__ */ jsx(FieldShell, { error: !!error, children: /* @__PURE__ */ jsx(
|
|
8
|
+
"input",
|
|
9
|
+
{
|
|
10
|
+
id: name,
|
|
11
|
+
className: FIELD_INPUT_CLASS,
|
|
12
|
+
type: "text",
|
|
13
|
+
inputMode: "url",
|
|
14
|
+
autoComplete: "url",
|
|
15
|
+
name,
|
|
16
|
+
defaultValue: value,
|
|
17
|
+
"aria-invalid": error ? true : void 0,
|
|
18
|
+
onChange: () => onClearError == null ? void 0 : onClearError(name)
|
|
19
|
+
}
|
|
20
|
+
) }) });
|
|
21
|
+
};
|
|
22
|
+
var FormUrlField_default = FormUrlField;
|
|
23
|
+
export {
|
|
24
|
+
FormUrlField_default as default
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=FormUrlField.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../components/ui/FormField/FormUrlField.tsx"],"sourcesContent":["'use client';\n\nimport React from 'react';\n\nimport { Field } from './Field';\nimport { FieldShell, FIELD_INPUT_CLASS } from './FieldShell';\n\ntype FormUrlFieldProps = {\n label: string;\n name: string;\n value: string;\n required?: boolean;\n hint?: string;\n error?: string;\n onClearError?: (fieldName: string) => void;\n};\n\nconst FormUrlField = ({ label, name, value, required, hint, error, onClearError }: FormUrlFieldProps) => {\n return (\n <Field label={label} htmlFor={name} schema=\"url\" required={required} hint={hint} error={error}>\n <FieldShell error={!!error}>\n <input\n id={name}\n className={FIELD_INPUT_CLASS}\n type=\"text\"\n inputMode=\"url\"\n autoComplete=\"url\"\n name={name}\n defaultValue={value}\n aria-invalid={error ? true : undefined}\n onChange={() => onClearError?.(name)}\n />\n </FieldShell>\n </Field>\n );\n};\n\nexport default FormUrlField;\n"],"mappings":";;AAqBQ;AAjBR,SAAS,aAAa;AACtB,SAAS,YAAY,yBAAyB;AAY9C,MAAM,eAAe,CAAC,EAAE,OAAO,MAAM,OAAO,UAAU,MAAM,OAAO,aAAa,MAAyB;AACvG,SACE,oBAAC,SAAM,OAAc,SAAS,MAAM,QAAO,OAAM,UAAoB,MAAY,OAC/E,8BAAC,cAAW,OAAO,CAAC,CAAC,OACnB;AAAA,IAAC;AAAA;AAAA,MACC,IAAI;AAAA,MACJ,WAAW;AAAA,MACX,MAAK;AAAA,MACL,WAAU;AAAA,MACV,cAAa;AAAA,MACb;AAAA,MACA,cAAc;AAAA,MACd,gBAAc,QAAQ,OAAO;AAAA,MAC7B,UAAU,MAAM,6CAAe;AAAA;AAAA,EACjC,GACF,GACF;AAEJ;AAEA,IAAO,uBAAQ;","names":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { JsxEditorProps } from '@mdxeditor/editor';
|
|
3
|
-
import type { RichTextComponentDef } from '
|
|
3
|
+
import type { RichTextComponentDef } from '../../../../admin/types';
|
|
4
4
|
/**
|
|
5
5
|
* WYSIWYG editor component for custom JSX components embedded in richtext fields.
|
|
6
6
|
*
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ComponentEmbedEditor.d.ts","sourceRoot":"","sources":["../../../../../components/ui/FormField/richtext/ComponentEmbedEditor.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAE3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGxD,OAAO,KAAK,EAAE,oBAAoB,EAAyB,MAAM,yBAAyB,CAAC;AAE3F;;;;;GAKG;AACH,QAAA,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAClC,cAAc,GAAG;IAAE,YAAY,EAAE,oBAAoB,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAqE/E,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import "../../../../chunk-B5LE2OEC.js";
|
|
3
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
|
+
import { useCallback } from "react";
|
|
5
|
+
import { Icon } from "../../Icon/Icon";
|
|
6
|
+
import { useMdastNodeUpdater } from "@mdxeditor/editor";
|
|
7
|
+
const ComponentEmbedEditor = ({ mdastNode, componentDef, componentName: _componentName }) => {
|
|
8
|
+
const updateNode = useMdastNodeUpdater();
|
|
9
|
+
const getAttrValue = useCallback(
|
|
10
|
+
(name) => {
|
|
11
|
+
var _a;
|
|
12
|
+
const attr = (_a = mdastNode.attributes) == null ? void 0 : _a.find((a) => a.type === "mdxJsxAttribute" && a.name === name);
|
|
13
|
+
return typeof (attr == null ? void 0 : attr.value) === "string" ? attr.value : "";
|
|
14
|
+
},
|
|
15
|
+
[mdastNode.attributes]
|
|
16
|
+
);
|
|
17
|
+
const updateProp = useCallback(
|
|
18
|
+
(propName, value) => {
|
|
19
|
+
var _a;
|
|
20
|
+
const existing = ((_a = mdastNode.attributes) != null ? _a : []).filter(
|
|
21
|
+
(a) => a.type === "mdxJsxAttribute" && a.name !== propName
|
|
22
|
+
);
|
|
23
|
+
updateNode({
|
|
24
|
+
attributes: [...existing, { type: "mdxJsxAttribute", name: propName, value }]
|
|
25
|
+
});
|
|
26
|
+
},
|
|
27
|
+
[mdastNode.attributes, updateNode]
|
|
28
|
+
);
|
|
29
|
+
const isBlock = componentDef.kind === "block";
|
|
30
|
+
if (!isBlock) {
|
|
31
|
+
return /* @__PURE__ */ jsxs(
|
|
32
|
+
"span",
|
|
33
|
+
{
|
|
34
|
+
className: "octo-var-embed octo-var-embed--set",
|
|
35
|
+
style: { background: "#78350f", color: "#fef3c7" },
|
|
36
|
+
contentEditable: false,
|
|
37
|
+
children: [
|
|
38
|
+
/* @__PURE__ */ jsx(Icon.Puzzle, { className: "octo-icon-xs octo-u-shrink-0" }),
|
|
39
|
+
/* @__PURE__ */ jsx("span", { children: componentDef.label }),
|
|
40
|
+
componentDef.props.map((prop) => {
|
|
41
|
+
const value = getAttrValue(prop.name);
|
|
42
|
+
if (!value) return null;
|
|
43
|
+
return /* @__PURE__ */ jsxs("span", { style: { color: "#fbbf24" }, children: [
|
|
44
|
+
prop.name,
|
|
45
|
+
'="',
|
|
46
|
+
value,
|
|
47
|
+
'"'
|
|
48
|
+
] }, prop.name);
|
|
49
|
+
})
|
|
50
|
+
]
|
|
51
|
+
}
|
|
52
|
+
);
|
|
53
|
+
}
|
|
54
|
+
return /* @__PURE__ */ jsxs("div", { className: "octo-embed-editor", contentEditable: false, children: [
|
|
55
|
+
/* @__PURE__ */ jsxs("div", { className: "octo-embed-editor__header", children: [
|
|
56
|
+
/* @__PURE__ */ jsx("div", { className: "octo-embed-editor__icon octo-embed-editor__icon--component", children: /* @__PURE__ */ jsx(Icon.Puzzle, { style: { width: 16, height: 16, color: "#fcd34d" } }) }),
|
|
57
|
+
/* @__PURE__ */ jsxs("div", { className: "octo-embed-editor__title-wrap", children: [
|
|
58
|
+
/* @__PURE__ */ jsx("span", { className: "octo-embed-editor__subtitle", children: "Component" }),
|
|
59
|
+
/* @__PURE__ */ jsx("span", { className: "octo-embed-editor__title", children: componentDef.label })
|
|
60
|
+
] })
|
|
61
|
+
] }),
|
|
62
|
+
/* @__PURE__ */ jsx("div", { className: "octo-embed-editor__body", children: componentDef.props.map((prop) => /* @__PURE__ */ jsx(PropInput, { prop, value: getAttrValue(prop.name), onChange: updateProp }, prop.name)) })
|
|
63
|
+
] });
|
|
64
|
+
};
|
|
65
|
+
var ComponentEmbedEditor_default = ComponentEmbedEditor;
|
|
66
|
+
function PropInput({ prop, value, onChange }) {
|
|
67
|
+
var _a;
|
|
68
|
+
const handleChange = useCallback(
|
|
69
|
+
(e) => {
|
|
70
|
+
onChange(prop.name, e.target.value);
|
|
71
|
+
},
|
|
72
|
+
[prop.name, onChange]
|
|
73
|
+
);
|
|
74
|
+
const handleCheckbox = useCallback(
|
|
75
|
+
(e) => {
|
|
76
|
+
onChange(prop.name, e.target.checked ? "true" : "false");
|
|
77
|
+
},
|
|
78
|
+
[prop.name, onChange]
|
|
79
|
+
);
|
|
80
|
+
switch (prop.type) {
|
|
81
|
+
case "boolean":
|
|
82
|
+
return /* @__PURE__ */ jsxs("label", { className: "octo-embed-editor__field-checkbox", children: [
|
|
83
|
+
/* @__PURE__ */ jsx(
|
|
84
|
+
"input",
|
|
85
|
+
{
|
|
86
|
+
type: "checkbox",
|
|
87
|
+
checked: value === "true",
|
|
88
|
+
onChange: handleCheckbox,
|
|
89
|
+
className: "octo-embed-editor__input",
|
|
90
|
+
style: { width: "auto" }
|
|
91
|
+
}
|
|
92
|
+
),
|
|
93
|
+
/* @__PURE__ */ jsxs("span", { className: "octo-embed-editor__field-label", children: [
|
|
94
|
+
prop.label,
|
|
95
|
+
prop.required && /* @__PURE__ */ jsx("span", { className: "octo-embed-editor__field-required", children: "*" })
|
|
96
|
+
] })
|
|
97
|
+
] });
|
|
98
|
+
case "number":
|
|
99
|
+
return /* @__PURE__ */ jsxs("label", { className: "octo-embed-editor__field", children: [
|
|
100
|
+
/* @__PURE__ */ jsxs("span", { className: "octo-embed-editor__field-label", children: [
|
|
101
|
+
prop.label,
|
|
102
|
+
prop.required && /* @__PURE__ */ jsx("span", { className: "octo-embed-editor__field-required", children: "*" })
|
|
103
|
+
] }),
|
|
104
|
+
/* @__PURE__ */ jsx("input", { type: "number", value, onChange: handleChange, className: "octo-embed-editor__input" })
|
|
105
|
+
] });
|
|
106
|
+
case "select":
|
|
107
|
+
return /* @__PURE__ */ jsxs("label", { className: "octo-embed-editor__field", children: [
|
|
108
|
+
/* @__PURE__ */ jsxs("span", { className: "octo-embed-editor__field-label", children: [
|
|
109
|
+
prop.label,
|
|
110
|
+
prop.required && /* @__PURE__ */ jsx("span", { className: "octo-embed-editor__field-required", children: "*" })
|
|
111
|
+
] }),
|
|
112
|
+
/* @__PURE__ */ jsxs("select", { value, onChange: handleChange, className: "octo-embed-editor__input", children: [
|
|
113
|
+
!prop.required && /* @__PURE__ */ jsx("option", { value: "", children: "\u2014" }),
|
|
114
|
+
((_a = prop.options) != null ? _a : []).map((opt) => /* @__PURE__ */ jsx("option", { value: opt.value, children: opt.label }, opt.value))
|
|
115
|
+
] })
|
|
116
|
+
] });
|
|
117
|
+
case "url":
|
|
118
|
+
return /* @__PURE__ */ jsxs("label", { className: "octo-embed-editor__field", children: [
|
|
119
|
+
/* @__PURE__ */ jsxs("span", { className: "octo-embed-editor__field-label", children: [
|
|
120
|
+
prop.label,
|
|
121
|
+
prop.required && /* @__PURE__ */ jsx("span", { className: "octo-embed-editor__field-required", children: "*" })
|
|
122
|
+
] }),
|
|
123
|
+
/* @__PURE__ */ jsx(
|
|
124
|
+
"input",
|
|
125
|
+
{
|
|
126
|
+
type: "url",
|
|
127
|
+
value,
|
|
128
|
+
onChange: handleChange,
|
|
129
|
+
placeholder: "https://\u2026",
|
|
130
|
+
className: "octo-embed-editor__input"
|
|
131
|
+
}
|
|
132
|
+
)
|
|
133
|
+
] });
|
|
134
|
+
case "image":
|
|
135
|
+
return /* @__PURE__ */ jsxs("label", { className: "octo-embed-editor__field", children: [
|
|
136
|
+
/* @__PURE__ */ jsxs("span", { className: "octo-embed-editor__field-label", children: [
|
|
137
|
+
prop.label,
|
|
138
|
+
prop.required && /* @__PURE__ */ jsx("span", { className: "octo-embed-editor__field-required", children: "*" })
|
|
139
|
+
] }),
|
|
140
|
+
/* @__PURE__ */ jsx(
|
|
141
|
+
"input",
|
|
142
|
+
{
|
|
143
|
+
type: "text",
|
|
144
|
+
value,
|
|
145
|
+
onChange: handleChange,
|
|
146
|
+
placeholder: "Media UUID",
|
|
147
|
+
className: "octo-embed-editor__input"
|
|
148
|
+
}
|
|
149
|
+
)
|
|
150
|
+
] });
|
|
151
|
+
case "string":
|
|
152
|
+
default:
|
|
153
|
+
return /* @__PURE__ */ jsxs("label", { className: "octo-embed-editor__field", children: [
|
|
154
|
+
/* @__PURE__ */ jsxs("span", { className: "octo-embed-editor__field-label", children: [
|
|
155
|
+
prop.label,
|
|
156
|
+
prop.required && /* @__PURE__ */ jsx("span", { className: "octo-embed-editor__field-required", children: "*" })
|
|
157
|
+
] }),
|
|
158
|
+
/* @__PURE__ */ jsx("input", { type: "text", value, onChange: handleChange, className: "octo-embed-editor__input" })
|
|
159
|
+
] });
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
export {
|
|
163
|
+
ComponentEmbedEditor_default as default
|
|
164
|
+
};
|
|
165
|
+
//# sourceMappingURL=ComponentEmbedEditor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../components/ui/FormField/richtext/ComponentEmbedEditor.tsx"],"sourcesContent":["'use client';\n\nimport React, { useCallback } from 'react';\nimport { Icon } from '../../Icon/Icon';\nimport type { JsxEditorProps } from '@mdxeditor/editor';\nimport { useMdastNodeUpdater } from '@mdxeditor/editor';\n\nimport type { RichTextComponentDef, RichTextComponentProp } from '../../../../admin/types';\n\n/**\n * WYSIWYG editor component for custom JSX components embedded in richtext fields.\n *\n * Renders a card with a dynamic props form generated from the `RichTextComponentDef`\n * configuration. Each prop type maps to an appropriate input control.\n */\nconst ComponentEmbedEditor: React.FC<\n JsxEditorProps & { componentDef: RichTextComponentDef; componentName: string }\n> = ({ mdastNode, componentDef, componentName: _componentName }) => {\n const updateNode = useMdastNodeUpdater();\n\n const getAttrValue = useCallback(\n (name: string): string => {\n const attr = mdastNode.attributes?.find((a: any) => a.type === 'mdxJsxAttribute' && a.name === name);\n return typeof attr?.value === 'string' ? attr.value : '';\n },\n [mdastNode.attributes],\n );\n\n const updateProp = useCallback(\n (propName: string, value: string) => {\n const existing = (mdastNode.attributes ?? []).filter(\n (a: any) => a.type === 'mdxJsxAttribute' && a.name !== propName,\n );\n updateNode({\n attributes: [...existing, { type: 'mdxJsxAttribute', name: propName, value }],\n } as any);\n },\n [mdastNode.attributes, updateNode],\n );\n\n const isBlock = componentDef.kind === 'block';\n\n if (!isBlock) {\n // Inline: compact pill with a popover-style edit on click\n return (\n <span\n className=\"octo-var-embed octo-var-embed--set\"\n style={{ background: '#78350f', color: '#fef3c7' }}\n contentEditable={false}\n >\n <Icon.Puzzle className=\"octo-icon-xs octo-u-shrink-0\" />\n <span>{componentDef.label}</span>\n {componentDef.props.map((prop) => {\n const value = getAttrValue(prop.name);\n if (!value) return null;\n return (\n <span key={prop.name} style={{ color: '#fbbf24' }}>\n {prop.name}="{value}"\n </span>\n );\n })}\n </span>\n );\n }\n\n // Block: full card with props form\n return (\n <div className=\"octo-embed-editor\" contentEditable={false}>\n <div className=\"octo-embed-editor__header\">\n <div className=\"octo-embed-editor__icon octo-embed-editor__icon--component\">\n <Icon.Puzzle style={{ width: 16, height: 16, color: '#fcd34d' }} />\n </div>\n <div className=\"octo-embed-editor__title-wrap\">\n <span className=\"octo-embed-editor__subtitle\">Component</span>\n <span className=\"octo-embed-editor__title\">{componentDef.label}</span>\n </div>\n </div>\n\n <div className=\"octo-embed-editor__body\">\n {componentDef.props.map((prop) => (\n <PropInput key={prop.name} prop={prop} value={getAttrValue(prop.name)} onChange={updateProp} />\n ))}\n </div>\n </div>\n );\n};\n\nexport default ComponentEmbedEditor;\n\n// ---------------------------------------------------------------------------\n// Individual prop input renderers\n// ---------------------------------------------------------------------------\n\ntype PropInputProps = {\n prop: RichTextComponentProp;\n value: string;\n onChange: (name: string, value: string) => void;\n};\n\nfunction PropInput({ prop, value, onChange }: PropInputProps) {\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement | HTMLSelectElement>) => {\n onChange(prop.name, e.target.value);\n },\n [prop.name, onChange],\n );\n\n const handleCheckbox = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n onChange(prop.name, e.target.checked ? 'true' : 'false');\n },\n [prop.name, onChange],\n );\n\n switch (prop.type) {\n case 'boolean':\n return (\n <label className=\"octo-embed-editor__field-checkbox\">\n <input\n type=\"checkbox\"\n checked={value === 'true'}\n onChange={handleCheckbox}\n className=\"octo-embed-editor__input\"\n style={{ width: 'auto' }}\n />\n <span className=\"octo-embed-editor__field-label\">\n {prop.label}\n {prop.required && <span className=\"octo-embed-editor__field-required\">*</span>}\n </span>\n </label>\n );\n\n case 'number':\n return (\n <label className=\"octo-embed-editor__field\">\n <span className=\"octo-embed-editor__field-label\">\n {prop.label}\n {prop.required && <span className=\"octo-embed-editor__field-required\">*</span>}\n </span>\n <input type=\"number\" value={value} onChange={handleChange} className=\"octo-embed-editor__input\" />\n </label>\n );\n\n case 'select':\n return (\n <label className=\"octo-embed-editor__field\">\n <span className=\"octo-embed-editor__field-label\">\n {prop.label}\n {prop.required && <span className=\"octo-embed-editor__field-required\">*</span>}\n </span>\n <select value={value} onChange={handleChange} className=\"octo-embed-editor__input\">\n {!prop.required && <option value=\"\">—</option>}\n {(prop.options ?? []).map((opt) => (\n <option key={opt.value} value={opt.value}>\n {opt.label}\n </option>\n ))}\n </select>\n </label>\n );\n\n case 'url':\n return (\n <label className=\"octo-embed-editor__field\">\n <span className=\"octo-embed-editor__field-label\">\n {prop.label}\n {prop.required && <span className=\"octo-embed-editor__field-required\">*</span>}\n </span>\n <input\n type=\"url\"\n value={value}\n onChange={handleChange}\n placeholder=\"https://…\"\n className=\"octo-embed-editor__input\"\n />\n </label>\n );\n\n case 'image':\n return (\n <label className=\"octo-embed-editor__field\">\n <span className=\"octo-embed-editor__field-label\">\n {prop.label}\n {prop.required && <span className=\"octo-embed-editor__field-required\">*</span>}\n </span>\n <input\n type=\"text\"\n value={value}\n onChange={handleChange}\n placeholder=\"Media UUID\"\n className=\"octo-embed-editor__input\"\n />\n </label>\n );\n\n case 'string':\n default:\n return (\n <label className=\"octo-embed-editor__field\">\n <span className=\"octo-embed-editor__field-label\">\n {prop.label}\n {prop.required && <span className=\"octo-embed-editor__field-required\">*</span>}\n </span>\n <input type=\"text\" value={value} onChange={handleChange} className=\"octo-embed-editor__input\" />\n </label>\n );\n }\n}\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConditionEmbedEditor.d.ts","sourceRoot":"","sources":["../../../../../components/ui/FormField/richtext/ConditionEmbedEditor.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAG9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGxD;;;;;;GAMG;AACH,QAAA,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAmOlD,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
import {
|
|
3
3
|
__spreadProps,
|
|
4
4
|
__spreadValues
|
|
5
|
-
} from "
|
|
5
|
+
} from "../../../../chunk-B5LE2OEC.js";
|
|
6
6
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
7
|
import { useCallback, useMemo, useState } from "react";
|
|
8
|
-
import {
|
|
8
|
+
import { Button } from "../../Button/Button";
|
|
9
|
+
import { Icon } from "../../Icon/Icon";
|
|
9
10
|
import { useMdastNodeUpdater } from "@mdxeditor/editor";
|
|
10
|
-
import { Button } from "../ui/button";
|
|
11
11
|
const ConditionEmbedEditor = ({ mdastNode }) => {
|
|
12
12
|
var _a, _b, _c;
|
|
13
13
|
const updateNode = useMdastNodeUpdater();
|
|
@@ -126,17 +126,11 @@ const ConditionEmbedEditor = ({ mdastNode }) => {
|
|
|
126
126
|
[mdastNode.children, updateNode, activeTab]
|
|
127
127
|
);
|
|
128
128
|
const activeBranch = branches.find((b) => b.key === activeTab);
|
|
129
|
-
return /* @__PURE__ */ jsxs("div", { className: "
|
|
130
|
-
/* @__PURE__ */ jsxs("div", { className: "
|
|
131
|
-
/* @__PURE__ */ jsx(
|
|
132
|
-
|
|
133
|
-
{
|
|
134
|
-
className: "w-8 h-8 rounded-lg border border-border bg-teal-900 light:bg-teal-100 flex items-center\n justify-center flex-none",
|
|
135
|
-
children: /* @__PURE__ */ jsx(GitBranch, { className: "w-4 h-4 text-teal-300 light:text-teal-700" })
|
|
136
|
-
}
|
|
137
|
-
),
|
|
138
|
-
/* @__PURE__ */ jsxs("div", { className: "flex-1 min-w-0", children: [
|
|
139
|
-
/* @__PURE__ */ jsx("span", { className: "text-xs font-medium text-muted-foreground", children: "Condition embed" }),
|
|
129
|
+
return /* @__PURE__ */ jsxs("div", { className: "octo-embed-editor", contentEditable: false, children: [
|
|
130
|
+
/* @__PURE__ */ jsxs("div", { className: "octo-embed-editor__header", children: [
|
|
131
|
+
/* @__PURE__ */ jsx("div", { className: "octo-embed-editor__icon octo-embed-editor__icon--condition", children: /* @__PURE__ */ jsx(Icon.GitBranch, { style: { width: 16, height: 16, color: "#5eead4" } }) }),
|
|
132
|
+
/* @__PURE__ */ jsxs("div", { className: "octo-embed-editor__title-wrap", children: [
|
|
133
|
+
/* @__PURE__ */ jsx("span", { className: "octo-embed-editor__subtitle", children: "Condition embed" }),
|
|
140
134
|
editingField ? /* @__PURE__ */ jsx(
|
|
141
135
|
"input",
|
|
142
136
|
{
|
|
@@ -152,7 +146,8 @@ const ConditionEmbedEditor = ({ mdastNode }) => {
|
|
|
152
146
|
setEditingField(false);
|
|
153
147
|
}
|
|
154
148
|
},
|
|
155
|
-
className: "
|
|
149
|
+
className: "octo-embed-editor__input",
|
|
150
|
+
style: { display: "block", maxWidth: 240 },
|
|
156
151
|
placeholder: "Field name (e.g. promo)"
|
|
157
152
|
}
|
|
158
153
|
) : /* @__PURE__ */ jsx(
|
|
@@ -160,38 +155,29 @@ const ConditionEmbedEditor = ({ mdastNode }) => {
|
|
|
160
155
|
{
|
|
161
156
|
type: "button",
|
|
162
157
|
onClick: () => setEditingField(true),
|
|
163
|
-
className: "
|
|
158
|
+
className: "octo-embed-editor__title",
|
|
164
159
|
title: "Click to edit condition field name",
|
|
165
|
-
children: currentField || /* @__PURE__ */ jsx("span", { className: "text-muted-
|
|
160
|
+
children: currentField || /* @__PURE__ */ jsx("span", { className: "octo-u-text-muted octo-u-italic", children: "Set field name\u2026" })
|
|
166
161
|
}
|
|
167
162
|
)
|
|
168
163
|
] })
|
|
169
164
|
] }),
|
|
170
|
-
/* @__PURE__ */ jsxs("div", { className: "
|
|
165
|
+
/* @__PURE__ */ jsxs("div", { className: "octo-embed-editor__tabs", children: [
|
|
171
166
|
branches.map((branch) => /* @__PURE__ */ jsx(
|
|
172
167
|
"button",
|
|
173
168
|
{
|
|
174
169
|
type: "button",
|
|
175
170
|
onClick: () => setActiveTab(branch.key),
|
|
176
|
-
className: `
|
|
171
|
+
className: `octo-embed-editor__tab${activeTab === branch.key ? " octo-embed-editor__tab octo-embed-editor__tab--active" : ""}`,
|
|
177
172
|
children: branch.key
|
|
178
173
|
},
|
|
179
174
|
branch.key
|
|
180
175
|
)),
|
|
181
|
-
/* @__PURE__ */ jsx(
|
|
182
|
-
"button",
|
|
183
|
-
{
|
|
184
|
-
type: "button",
|
|
185
|
-
onClick: addBranch,
|
|
186
|
-
className: "px-2 py-1.5 text-xs text-muted-foreground hover:text-foreground transition-colors",
|
|
187
|
-
title: "Add branch",
|
|
188
|
-
children: /* @__PURE__ */ jsx(Plus, { className: "w-3.5 h-3.5" })
|
|
189
|
-
}
|
|
190
|
-
)
|
|
176
|
+
/* @__PURE__ */ jsx("button", { type: "button", onClick: addBranch, className: "octo-embed-editor__tab-add", title: "Add branch", children: /* @__PURE__ */ jsx(Icon.Plus, { className: "octo-icon-sm" }) })
|
|
191
177
|
] }),
|
|
192
|
-
activeBranch && /* @__PURE__ */ jsxs("div", { className: "
|
|
193
|
-
/* @__PURE__ */ jsxs("div", { className: "
|
|
194
|
-
/* @__PURE__ */ jsx("label", { htmlFor: `condition-branch-key-${activeBranch.key}`, className: "
|
|
178
|
+
activeBranch && /* @__PURE__ */ jsxs("div", { className: "octo-embed-editor__body", children: [
|
|
179
|
+
/* @__PURE__ */ jsxs("div", { className: "octo-embed-editor__branch-key-row", children: [
|
|
180
|
+
/* @__PURE__ */ jsx("label", { htmlFor: `condition-branch-key-${activeBranch.key}`, className: "octo-embed-editor__field-label", children: "Key:" }),
|
|
195
181
|
/* @__PURE__ */ jsx(
|
|
196
182
|
"input",
|
|
197
183
|
{
|
|
@@ -199,7 +185,8 @@ const ConditionEmbedEditor = ({ mdastNode }) => {
|
|
|
199
185
|
type: "text",
|
|
200
186
|
value: activeBranch.key,
|
|
201
187
|
onChange: (e) => renameBranch(activeBranch.key, e.target.value),
|
|
202
|
-
className: "
|
|
188
|
+
className: "octo-embed-editor__input",
|
|
189
|
+
style: { width: 128 }
|
|
203
190
|
}
|
|
204
191
|
),
|
|
205
192
|
branches.length > 1 && /* @__PURE__ */ jsx(
|
|
@@ -207,11 +194,10 @@ const ConditionEmbedEditor = ({ mdastNode }) => {
|
|
|
207
194
|
{
|
|
208
195
|
type: "button",
|
|
209
196
|
variant: "ghost",
|
|
210
|
-
size: "sm",
|
|
211
197
|
onClick: () => removeBranch(activeBranch.key),
|
|
212
|
-
|
|
198
|
+
style: { height: 24, width: 24, padding: 0, color: "var(--muted)" },
|
|
213
199
|
title: "Remove this branch",
|
|
214
|
-
children: /* @__PURE__ */ jsx(Trash2, { className: "
|
|
200
|
+
children: /* @__PURE__ */ jsx(Icon.Trash2, { className: "octo-icon-sm" })
|
|
215
201
|
}
|
|
216
202
|
)
|
|
217
203
|
] }),
|
|
@@ -221,15 +207,15 @@ const ConditionEmbedEditor = ({ mdastNode }) => {
|
|
|
221
207
|
value: activeBranch.content,
|
|
222
208
|
onChange: (e) => updateBranchContent(activeBranch.key, e.target.value),
|
|
223
209
|
placeholder: "Branch content (markdown)\u2026",
|
|
224
|
-
className: "
|
|
210
|
+
className: "octo-embed-editor__textarea",
|
|
225
211
|
rows: 3
|
|
226
212
|
}
|
|
227
213
|
)
|
|
228
214
|
] }),
|
|
229
|
-
branches.length === 0 && /* @__PURE__ */ jsxs("div", { className: "
|
|
215
|
+
branches.length === 0 && /* @__PURE__ */ jsxs("div", { className: "octo-embed-editor__empty", children: [
|
|
230
216
|
"No branches yet.",
|
|
231
217
|
" ",
|
|
232
|
-
/* @__PURE__ */ jsx("button", { type: "button", onClick: addBranch, className: "
|
|
218
|
+
/* @__PURE__ */ jsx("button", { type: "button", onClick: addBranch, className: "octo-embed-editor__empty-link", children: "Add one" })
|
|
233
219
|
] })
|
|
234
220
|
] });
|
|
235
221
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../components/ui/FormField/richtext/ConditionEmbedEditor.tsx"],"sourcesContent":["'use client';\n\nimport React, { useCallback, useMemo, useState } from 'react';\nimport { Button } from '../../Button/Button';\nimport { Icon } from '../../Icon/Icon';\nimport type { JsxEditorProps } from '@mdxeditor/editor';\nimport { useMdastNodeUpdater } from '@mdxeditor/editor';\n\n/**\n * WYSIWYG editor component for `<CmsCondition>` JSX embeds inside richtext fields.\n *\n * Renders a tabbed card where each tab is a branch (e.g. \"control\", \"test\").\n * Each branch's content is stored as the text value of a `<CmsBranch key=\"...\">` child element.\n * The `field` attribute identifies this condition (e.g. \"promo\", \"hero\").\n */\nconst ConditionEmbedEditor: React.FC<JsxEditorProps> = ({ mdastNode }) => {\n const updateNode = useMdastNodeUpdater();\n\n // Read `field` attribute\n const fieldAttr = mdastNode.attributes?.find((a: any) => a.type === 'mdxJsxAttribute' && a.name === 'field');\n const currentField = typeof fieldAttr?.value === 'string' ? fieldAttr.value : '';\n\n // Parse CmsBranch children to extract { key, content } pairs\n const branches = useMemo(() => {\n const result: { key: string; content: string }[] = [];\n for (const child of mdastNode.children ?? []) {\n if (child.type === 'mdxJsxFlowElement' && child.name === 'CmsBranch') {\n const keyAttr = (child as any).attributes?.find((a: any) => a.type === 'mdxJsxAttribute' && a.name === 'key');\n const key = typeof keyAttr?.value === 'string' ? keyAttr.value : '';\n // Extract text content from children of CmsBranch\n const content = serializeChildrenToMarkdown((child as any).children ?? []);\n result.push({ key, content });\n }\n }\n return result;\n }, [mdastNode.children]);\n\n const [activeTab, setActiveTab] = useState(branches[0]?.key ?? '');\n const [editingField, setEditingField] = useState(false);\n\n const updateField = useCallback(\n (newField: string) => {\n const existingAttrs = (mdastNode.attributes ?? []).filter(\n (a: any) => a.type === 'mdxJsxAttribute' && a.name !== 'field',\n );\n updateNode({\n attributes: [...existingAttrs, { type: 'mdxJsxAttribute', name: 'field', value: newField }],\n } as any);\n },\n [mdastNode.attributes, updateNode],\n );\n\n const updateBranchContent = useCallback(\n (branchKey: string, newContent: string) => {\n const children = (mdastNode.children ?? []).map((child: any) => {\n if (child.type === 'mdxJsxFlowElement' && child.name === 'CmsBranch') {\n const keyAttr = child.attributes?.find((a: any) => a.type === 'mdxJsxAttribute' && a.name === 'key');\n const key = typeof keyAttr?.value === 'string' ? keyAttr.value : '';\n if (key === branchKey) {\n return {\n ...child,\n children: [{ type: 'text', value: newContent }],\n };\n }\n }\n return child;\n });\n updateNode({ children } as any);\n },\n [mdastNode.children, updateNode],\n );\n\n const addBranch = useCallback(() => {\n const existingKeys = branches.map((b) => b.key);\n let newKey = 'variant';\n let counter = 1;\n while (existingKeys.includes(newKey)) {\n newKey = `variant${counter}`;\n counter++;\n }\n const newChild = {\n type: 'mdxJsxFlowElement',\n name: 'CmsBranch',\n attributes: [{ type: 'mdxJsxAttribute', name: 'key', value: newKey }],\n children: [{ type: 'text', value: '' }],\n };\n updateNode({\n children: [...(mdastNode.children ?? []), newChild],\n } as any);\n setActiveTab(newKey);\n }, [branches, mdastNode.children, updateNode]);\n\n const removeBranch = useCallback(\n (branchKey: string) => {\n if (branches.length <= 1) return; // Must keep at least one branch\n const children = (mdastNode.children ?? []).filter((child: any) => {\n if (child.type === 'mdxJsxFlowElement' && child.name === 'CmsBranch') {\n const keyAttr = child.attributes?.find((a: any) => a.type === 'mdxJsxAttribute' && a.name === 'key');\n const key = typeof keyAttr?.value === 'string' ? keyAttr.value : '';\n return key !== branchKey;\n }\n return true;\n });\n updateNode({ children } as any);\n if (activeTab === branchKey) {\n const remaining = branches.filter((b) => b.key !== branchKey);\n setActiveTab(remaining[0]?.key ?? '');\n }\n },\n [branches, mdastNode.children, updateNode, activeTab],\n );\n\n const renameBranch = useCallback(\n (oldKey: string, newKey: string) => {\n if (!newKey.trim() || oldKey === newKey) return;\n const children = (mdastNode.children ?? []).map((child: any) => {\n if (child.type === 'mdxJsxFlowElement' && child.name === 'CmsBranch') {\n const keyAttr = child.attributes?.find((a: any) => a.type === 'mdxJsxAttribute' && a.name === 'key');\n const key = typeof keyAttr?.value === 'string' ? keyAttr.value : '';\n if (key === oldKey) {\n return {\n ...child,\n attributes: [{ type: 'mdxJsxAttribute', name: 'key', value: newKey }],\n };\n }\n }\n return child;\n });\n updateNode({ children } as any);\n if (activeTab === oldKey) {\n setActiveTab(newKey);\n }\n },\n [mdastNode.children, updateNode, activeTab],\n );\n\n const activeBranch = branches.find((b) => b.key === activeTab);\n\n return (\n <div className=\"octo-embed-editor\" contentEditable={false}>\n {/* Header */}\n <div className=\"octo-embed-editor__header\">\n <div className=\"octo-embed-editor__icon octo-embed-editor__icon--condition\">\n <Icon.GitBranch style={{ width: 16, height: 16, color: '#5eead4' }} />\n </div>\n <div className=\"octo-embed-editor__title-wrap\">\n <span className=\"octo-embed-editor__subtitle\">Condition embed</span>\n {editingField ? (\n <input\n type=\"text\"\n defaultValue={currentField}\n onBlur={(e) => {\n updateField(e.target.value);\n setEditingField(false);\n }}\n onKeyDown={(e) => {\n if (e.key === 'Enter') {\n updateField((e.target as HTMLInputElement).value);\n setEditingField(false);\n }\n }}\n className=\"octo-embed-editor__input\"\n style={{ display: 'block', maxWidth: 240 }}\n placeholder=\"Field name (e.g. promo)\"\n />\n ) : (\n <button\n type=\"button\"\n onClick={() => setEditingField(true)}\n className=\"octo-embed-editor__title\"\n title=\"Click to edit condition field name\"\n >\n {currentField || <span className=\"octo-u-text-muted octo-u-italic\">Set field name…</span>}\n </button>\n )}\n </div>\n </div>\n\n {/* Tabs */}\n <div className=\"octo-embed-editor__tabs\">\n {branches.map((branch) => (\n <button\n key={branch.key}\n type=\"button\"\n onClick={() => setActiveTab(branch.key)}\n className={`octo-embed-editor__tab${activeTab === branch.key ? ' octo-embed-editor__tab octo-embed-editor__tab--active' : ''}`}\n >\n {branch.key}\n </button>\n ))}\n <button type=\"button\" onClick={addBranch} className=\"octo-embed-editor__tab-add\" title=\"Add branch\">\n <Icon.Plus className=\"octo-icon-sm\" />\n </button>\n </div>\n\n {/* Active branch editor */}\n {activeBranch && (\n <div className=\"octo-embed-editor__body\">\n <div className=\"octo-embed-editor__branch-key-row\">\n <label htmlFor={`condition-branch-key-${activeBranch.key}`} className=\"octo-embed-editor__field-label\">\n Key:\n </label>\n <input\n id={`condition-branch-key-${activeBranch.key}`}\n type=\"text\"\n value={activeBranch.key}\n onChange={(e) => renameBranch(activeBranch.key, e.target.value)}\n className=\"octo-embed-editor__input\"\n style={{ width: 128 }}\n />\n {branches.length > 1 && (\n <Button\n type=\"button\"\n variant=\"ghost\"\n onClick={() => removeBranch(activeBranch.key)}\n style={{ height: 24, width: 24, padding: 0, color: 'var(--muted)' }}\n title=\"Remove this branch\"\n >\n <Icon.Trash2 className=\"octo-icon-sm\" />\n </Button>\n )}\n </div>\n <textarea\n value={activeBranch.content}\n onChange={(e) => updateBranchContent(activeBranch.key, e.target.value)}\n placeholder=\"Branch content (markdown)…\"\n className=\"octo-embed-editor__textarea\"\n rows={3}\n />\n </div>\n )}\n\n {branches.length === 0 && (\n <div className=\"octo-embed-editor__empty\">\n No branches yet.{' '}\n <button type=\"button\" onClick={addBranch} className=\"octo-embed-editor__empty-link\">\n Add one\n </button>\n </div>\n )}\n </div>\n );\n};\n\nexport default ConditionEmbedEditor;\n\n// ---------------------------------------------------------------------------\n// Helper: serialize mdast children to a plain markdown-like text string\n// ---------------------------------------------------------------------------\n\nfunction serializeChildrenToMarkdown(children: any[]): string {\n return children\n .map((child: any) => {\n if (child.type === 'text') return child.value ?? '';\n if (child.type === 'paragraph') return serializeChildrenToMarkdown(child.children ?? []);\n return '';\n })\n .join('');\n}\n"],"mappings":"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","names":["_a","_b","_c"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ImageEmbedEditor.d.ts","sourceRoot":"","sources":["../../../../../components/ui/FormField/richtext/ImageEmbedEditor.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAkE,MAAM,OAAO,CAAC;AAMvF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAWxD,QAAA,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAuR9C,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|