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
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import "
|
|
2
|
+
import "../../../../chunk-B5LE2OEC.js";
|
|
3
3
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
4
|
import { useCallback, useEffect, useRef, useState, useTransition } from "react";
|
|
5
5
|
import { useQueryClient } from "@tanstack/react-query";
|
|
6
|
-
import {
|
|
6
|
+
import { Button } from "../../Button/Button";
|
|
7
|
+
import { Dialog, DialogContent, DialogHeader, DialogTitle } from "../../Dialog/Dialog";
|
|
8
|
+
import { Icon } from "../../Icon/Icon";
|
|
9
|
+
import { Label } from "../../Label/Label";
|
|
7
10
|
import { useMdastNodeUpdater } from "@mdxeditor/editor";
|
|
8
|
-
import { uploadMedia } from "
|
|
9
|
-
import { queryKeys } from "
|
|
10
|
-
import { useMediaList } from "
|
|
11
|
-
import { useConfig } from "
|
|
12
|
-
import { toast } from "
|
|
13
|
-
import { suggestedTitleFromFileName } from "
|
|
14
|
-
import { Button } from "../ui/button";
|
|
15
|
-
import { Dialog, DialogContent, DialogHeader, DialogTitle } from "../ui";
|
|
16
|
-
import { Label } from "../ui/label";
|
|
11
|
+
import { uploadMedia } from "../../../../admin/actions";
|
|
12
|
+
import { queryKeys } from "../../../../admin/query/keys";
|
|
13
|
+
import { useMediaList } from "../../../../admin/query/hooks/useMediaList";
|
|
14
|
+
import { useConfig } from "../../../../hooks/useConfig";
|
|
15
|
+
import { toast } from "../../../../hooks/useToast";
|
|
16
|
+
import { suggestedTitleFromFileName } from "../../../../lib/suggestedMediaTitle";
|
|
17
17
|
const ImageEmbedEditor = ({ mdastNode }) => {
|
|
18
18
|
var _a;
|
|
19
19
|
const config = useConfig();
|
|
@@ -92,37 +92,29 @@ const ImageEmbedEditor = ({ mdastNode }) => {
|
|
|
92
92
|
}, [stagedFile, uploadTitle, selectedFolder, updateMediaId, queryClient]);
|
|
93
93
|
const folders = [...new Set(mediaEntries.map((f) => f.folder))];
|
|
94
94
|
const filteredEntries = selectedFolder ? mediaEntries.filter((f) => f.folder === selectedFolder) : mediaEntries;
|
|
95
|
-
return /* @__PURE__ */ jsxs("div", { className: "
|
|
96
|
-
currentMediaId && selectedEntry ? /* @__PURE__ */ jsxs("div", { className: "
|
|
97
|
-
/* @__PURE__ */ jsxs("div", { className: "
|
|
95
|
+
return /* @__PURE__ */ jsxs("div", { className: "octo-image-embed", contentEditable: false, children: [
|
|
96
|
+
currentMediaId && selectedEntry ? /* @__PURE__ */ jsxs("div", { className: "octo-image-embed__selected", children: [
|
|
97
|
+
/* @__PURE__ */ jsxs("div", { className: "octo-image-embed__thumb-wrap", children: [
|
|
98
98
|
/* @__PURE__ */ jsx(
|
|
99
99
|
"img",
|
|
100
100
|
{
|
|
101
101
|
src: selectedEntry.publicUrl,
|
|
102
102
|
alt: selectedEntry.title || selectedEntry.originalName || "",
|
|
103
|
-
className: "
|
|
103
|
+
className: "octo-image-embed__thumb"
|
|
104
104
|
}
|
|
105
105
|
),
|
|
106
|
-
/* @__PURE__ */ jsx(
|
|
107
|
-
"button",
|
|
108
|
-
{
|
|
109
|
-
type: "button",
|
|
110
|
-
onClick: () => updateMediaId(""),
|
|
111
|
-
className: "absolute top-1 right-1 rounded-full bg-black/60 text-white p-0.5 hover:bg-black/80",
|
|
112
|
-
children: /* @__PURE__ */ jsx(X, { className: "w-3.5 h-3.5" })
|
|
113
|
-
}
|
|
114
|
-
)
|
|
106
|
+
/* @__PURE__ */ jsx("button", { type: "button", onClick: () => updateMediaId(""), className: "octo-image-embed__clear", children: /* @__PURE__ */ jsx(Icon.X, { className: "octo-icon-sm" }) })
|
|
115
107
|
] }),
|
|
116
|
-
/* @__PURE__ */ jsxs("div", { className: "
|
|
117
|
-
/* @__PURE__ */ jsx("span", { className: "
|
|
118
|
-
/* @__PURE__ */ jsx("span", { className: "
|
|
119
|
-
/* @__PURE__ */ jsx(Button, { type: "button", variant: "outline",
|
|
108
|
+
/* @__PURE__ */ jsxs("div", { className: "octo-image-embed__info", children: [
|
|
109
|
+
/* @__PURE__ */ jsx("span", { className: "octo-image-embed__info-label", children: "Image embed" }),
|
|
110
|
+
/* @__PURE__ */ jsx("span", { className: "octo-image-embed__info-name", children: selectedEntry.title || selectedEntry.originalName }),
|
|
111
|
+
/* @__PURE__ */ jsx(Button, { type: "button", variant: "outline", onClick: () => setIsOpen(true), children: "Change image" })
|
|
120
112
|
] })
|
|
121
|
-
] }) : /* @__PURE__ */ jsxs("div", { className: "
|
|
122
|
-
/* @__PURE__ */ jsx("div", { className: "
|
|
113
|
+
] }) : /* @__PURE__ */ jsxs("div", { className: "octo-image-embed__empty-state", children: [
|
|
114
|
+
/* @__PURE__ */ jsx("div", { className: "octo-image-embed__placeholder", children: /* @__PURE__ */ jsx(Icon.Image, { className: "octo-image-embed__placeholder-icon octo-icon-24" }) }),
|
|
123
115
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
124
|
-
/* @__PURE__ */ jsx("span", { className: "
|
|
125
|
-
/* @__PURE__ */ jsx(Button, { type: "button", variant: "outline",
|
|
116
|
+
/* @__PURE__ */ jsx("span", { className: "octo-image-embed__no-label", children: "No image selected" }),
|
|
117
|
+
/* @__PURE__ */ jsx(Button, { type: "button", variant: "outline", onClick: () => setIsOpen(true), children: "Select image" })
|
|
126
118
|
] })
|
|
127
119
|
] }),
|
|
128
120
|
/* @__PURE__ */ jsx(
|
|
@@ -136,44 +128,43 @@ const ImageEmbedEditor = ({ mdastNode }) => {
|
|
|
136
128
|
setUploadTitle("");
|
|
137
129
|
}
|
|
138
130
|
},
|
|
139
|
-
children: /* @__PURE__ */ jsxs(DialogContent, { className: "
|
|
131
|
+
children: /* @__PURE__ */ jsxs(DialogContent, { className: "octo-dialog-content octo-dialog-content--5xl octo-dialog-content--vh-80 octo-dialog-content--flex-col", children: [
|
|
140
132
|
/* @__PURE__ */ jsx(DialogHeader, { children: /* @__PURE__ */ jsx(DialogTitle, { children: "Select or upload image" }) }),
|
|
141
|
-
/* @__PURE__ */ jsxs("div", { className: "
|
|
133
|
+
/* @__PURE__ */ jsxs("div", { className: "octo-image-embed__dropzone", children: [
|
|
142
134
|
/* @__PURE__ */ jsx(
|
|
143
135
|
"input",
|
|
144
136
|
{
|
|
145
137
|
ref: uploadInputRef,
|
|
146
138
|
type: "file",
|
|
147
139
|
accept: config.mediaAllowedFormats.map((f) => `.${f}`).join(","),
|
|
148
|
-
className: "hidden",
|
|
140
|
+
className: "octo-u-hidden",
|
|
149
141
|
onChange: (e) => {
|
|
150
142
|
if (e.target.files) stageFileFromList(e.target.files);
|
|
151
143
|
e.target.value = "";
|
|
152
144
|
}
|
|
153
145
|
}
|
|
154
146
|
),
|
|
155
|
-
!stagedFile ? /* @__PURE__ */ jsx("div", { className: "
|
|
147
|
+
!stagedFile ? /* @__PURE__ */ jsx("div", { className: "octo-image-embed__upload-placeholder", children: /* @__PURE__ */ jsxs(
|
|
156
148
|
Button,
|
|
157
149
|
{
|
|
158
150
|
type: "button",
|
|
159
151
|
variant: "outline",
|
|
160
|
-
size: "sm",
|
|
161
152
|
onClick: () => {
|
|
162
153
|
var _a2;
|
|
163
154
|
return (_a2 = uploadInputRef.current) == null ? void 0 : _a2.click();
|
|
164
155
|
},
|
|
165
156
|
disabled: isPending,
|
|
166
157
|
children: [
|
|
167
|
-
/* @__PURE__ */ jsx(Upload, { className: "
|
|
158
|
+
/* @__PURE__ */ jsx(Icon.Upload, { className: "octo-icon-md" }),
|
|
168
159
|
"Choose file to upload"
|
|
169
160
|
]
|
|
170
161
|
}
|
|
171
|
-
) }) : /* @__PURE__ */ jsxs("div", { className: "
|
|
172
|
-
/* @__PURE__ */ jsx("p", { className: "text-
|
|
162
|
+
) }) : /* @__PURE__ */ jsxs("div", { className: "octo-image-embed__upload-form", children: [
|
|
163
|
+
/* @__PURE__ */ jsx("p", { className: "octo-u-text-base octo-u-text-muted octo-u-word-break-all", children: stagedFile.name }),
|
|
173
164
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
174
|
-
/* @__PURE__ */ jsxs(Label, { htmlFor: "richtext-image-upload-title", className: "
|
|
165
|
+
/* @__PURE__ */ jsxs(Label, { htmlFor: "richtext-image-upload-title", className: "octo-field-label", children: [
|
|
175
166
|
"Title ",
|
|
176
|
-
/* @__PURE__ */ jsx("span", { className: "text-
|
|
167
|
+
/* @__PURE__ */ jsx("span", { className: "octo-u-text-danger", children: "*" })
|
|
177
168
|
] }),
|
|
178
169
|
/* @__PURE__ */ jsx(
|
|
179
170
|
"input",
|
|
@@ -182,20 +173,19 @@ const ImageEmbedEditor = ({ mdastNode }) => {
|
|
|
182
173
|
type: "text",
|
|
183
174
|
value: uploadTitle,
|
|
184
175
|
onChange: (e) => setUploadTitle(e.target.value),
|
|
185
|
-
className: "
|
|
176
|
+
className: "octo-media-asset__input octo-u-mt-1",
|
|
186
177
|
placeholder: "Shown as default alt text when this image is used",
|
|
187
178
|
disabled: isPending
|
|
188
179
|
}
|
|
189
180
|
)
|
|
190
181
|
] }),
|
|
191
|
-
/* @__PURE__ */ jsxs("div", { className: "flex gap-2", children: [
|
|
192
|
-
/* @__PURE__ */ jsx(Button, { type: "button",
|
|
182
|
+
/* @__PURE__ */ jsxs("div", { className: "octo-u-flex octo-u-gap-2", children: [
|
|
183
|
+
/* @__PURE__ */ jsx(Button, { type: "button", onClick: confirmStagedUpload, disabled: isPending, children: "Upload" }),
|
|
193
184
|
/* @__PURE__ */ jsx(
|
|
194
185
|
Button,
|
|
195
186
|
{
|
|
196
187
|
type: "button",
|
|
197
188
|
variant: "outline",
|
|
198
|
-
size: "sm",
|
|
199
189
|
onClick: () => {
|
|
200
190
|
setStagedFile(null);
|
|
201
191
|
setUploadTitle("");
|
|
@@ -206,16 +196,27 @@ const ImageEmbedEditor = ({ mdastNode }) => {
|
|
|
206
196
|
)
|
|
207
197
|
] })
|
|
208
198
|
] }),
|
|
209
|
-
isPending && /* @__PURE__ */ jsx("span", { className: "text-xs text-muted
|
|
199
|
+
isPending && /* @__PURE__ */ jsx("span", { className: "octo-u-text-xs octo-u-text-muted", children: "Uploading..." })
|
|
210
200
|
] }),
|
|
211
|
-
/* @__PURE__ */ jsxs("div", { className: "
|
|
212
|
-
folders.length > 1 && /* @__PURE__ */ jsxs("div", { className: "
|
|
201
|
+
/* @__PURE__ */ jsxs("div", { className: "octo-image-embed__body", children: [
|
|
202
|
+
folders.length > 1 && /* @__PURE__ */ jsxs("div", { className: "octo-image-embed__folders", children: [
|
|
213
203
|
/* @__PURE__ */ jsx(
|
|
214
204
|
"button",
|
|
215
205
|
{
|
|
216
206
|
type: "button",
|
|
217
207
|
onClick: () => setSelectedFolder(null),
|
|
218
|
-
|
|
208
|
+
style: {
|
|
209
|
+
display: "block",
|
|
210
|
+
width: "100%",
|
|
211
|
+
textAlign: "left",
|
|
212
|
+
padding: "6px 8px",
|
|
213
|
+
borderRadius: 6,
|
|
214
|
+
fontSize: 14,
|
|
215
|
+
border: 0,
|
|
216
|
+
cursor: "pointer",
|
|
217
|
+
background: selectedFolder === null ? "var(--brand)" : "transparent",
|
|
218
|
+
color: selectedFolder === null ? "var(--bg)" : "var(--text)"
|
|
219
|
+
},
|
|
219
220
|
children: "All"
|
|
220
221
|
}
|
|
221
222
|
),
|
|
@@ -224,13 +225,24 @@ const ImageEmbedEditor = ({ mdastNode }) => {
|
|
|
224
225
|
{
|
|
225
226
|
type: "button",
|
|
226
227
|
onClick: () => setSelectedFolder(folder),
|
|
227
|
-
|
|
228
|
+
style: {
|
|
229
|
+
display: "block",
|
|
230
|
+
width: "100%",
|
|
231
|
+
textAlign: "left",
|
|
232
|
+
padding: "6px 8px",
|
|
233
|
+
borderRadius: 6,
|
|
234
|
+
fontSize: 14,
|
|
235
|
+
border: 0,
|
|
236
|
+
cursor: "pointer",
|
|
237
|
+
background: selectedFolder === folder ? "var(--brand)" : "transparent",
|
|
238
|
+
color: selectedFolder === folder ? "var(--bg)" : "var(--text)"
|
|
239
|
+
},
|
|
228
240
|
children: folder === "/" ? "Root" : folder
|
|
229
241
|
},
|
|
230
242
|
folder
|
|
231
243
|
))
|
|
232
244
|
] }),
|
|
233
|
-
/* @__PURE__ */ jsx("div", { className: "
|
|
245
|
+
/* @__PURE__ */ jsx("div", { className: "octo-image-embed__scroller", children: /* @__PURE__ */ jsxs("div", { className: "octo-image-embed__grid", children: [
|
|
234
246
|
filteredEntries.map((entry) => {
|
|
235
247
|
const isSelected = currentMediaId === entry.id;
|
|
236
248
|
return /* @__PURE__ */ jsxs(
|
|
@@ -238,23 +250,32 @@ const ImageEmbedEditor = ({ mdastNode }) => {
|
|
|
238
250
|
{
|
|
239
251
|
type: "button",
|
|
240
252
|
onClick: () => handleSelect(entry),
|
|
241
|
-
|
|
253
|
+
style: {
|
|
254
|
+
position: "relative",
|
|
255
|
+
aspectRatio: "1",
|
|
256
|
+
borderRadius: 8,
|
|
257
|
+
overflow: "hidden",
|
|
258
|
+
border: isSelected ? "2px solid var(--brand)" : "2px solid var(--border)",
|
|
259
|
+
cursor: "pointer",
|
|
260
|
+
padding: 0,
|
|
261
|
+
background: "transparent"
|
|
262
|
+
},
|
|
242
263
|
children: [
|
|
243
264
|
/* @__PURE__ */ jsx(
|
|
244
265
|
"img",
|
|
245
266
|
{
|
|
246
267
|
src: entry.publicUrl,
|
|
247
268
|
alt: entry.title || entry.originalName,
|
|
248
|
-
className: "
|
|
269
|
+
className: "octo-image-embed__thumb-img"
|
|
249
270
|
}
|
|
250
271
|
),
|
|
251
|
-
/* @__PURE__ */ jsx("div", { className: "
|
|
272
|
+
/* @__PURE__ */ jsx("div", { className: "octo-image-embed__thumb-overlay", children: /* @__PURE__ */ jsx("span", { className: "octo-image-embed__thumb-caption", children: entry.title || entry.originalName }) })
|
|
252
273
|
]
|
|
253
274
|
},
|
|
254
275
|
entry.id
|
|
255
276
|
);
|
|
256
277
|
}),
|
|
257
|
-
filteredEntries.length === 0 && /* @__PURE__ */ jsx("div", { className: "
|
|
278
|
+
filteredEntries.length === 0 && /* @__PURE__ */ jsx("div", { className: "octo-image-embed__empty", children: "No images found" })
|
|
258
279
|
] }) })
|
|
259
280
|
] })
|
|
260
281
|
] })
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../components/ui/FormField/richtext/ImageEmbedEditor.tsx"],"sourcesContent":["'use client';\n\nimport React, { useCallback, useEffect, useRef, useState, useTransition } from 'react';\nimport { useQueryClient } from '@tanstack/react-query';\nimport { Button } from '../../Button/Button';\nimport { Dialog, DialogContent, DialogHeader, DialogTitle } from '../../Dialog/Dialog';\nimport { Icon } from '../../Icon/Icon';\nimport { Label } from '../../Label/Label';\nimport type { JsxEditorProps } from '@mdxeditor/editor';\nimport { useMdastNodeUpdater } from '@mdxeditor/editor';\n\nimport { uploadMedia } from '../../../../admin/actions';\nimport { queryKeys } from '../../../../admin/query/keys';\nimport { useMediaList } from '../../../../admin/query/hooks/useMediaList';\nimport { useConfig } from '../../../../hooks/useConfig';\nimport { toast } from '../../../../hooks/useToast';\nimport type { MediaFile } from '../../../../types';\nimport { suggestedTitleFromFileName } from '../../../../lib/suggestedMediaTitle';\n\nconst ImageEmbedEditor: React.FC<JsxEditorProps> = ({ mdastNode }) => {\n const config = useConfig();\n const queryClient = useQueryClient();\n const updateNode = useMdastNodeUpdater();\n const mediaIdAttr = mdastNode.attributes?.find((a: any) => a.type === 'mdxJsxAttribute' && a.name === 'mediaId');\n const currentMediaId = typeof mediaIdAttr?.value === 'string' ? mediaIdAttr.value : '';\n\n const [isOpen, setIsOpen] = useState(false);\n const { data: mediaEntries = [], refetch: refetchMedia } = useMediaList({ enabled: isOpen });\n const [selectedFolder, setSelectedFolder] = useState<string | null>(null);\n const [isPending, startTransition] = useTransition();\n const uploadInputRef = useRef<HTMLInputElement>(null);\n const [stagedFile, setStagedFile] = useState<File | null>(null);\n const [uploadTitle, setUploadTitle] = useState('');\n\n const selectedEntry = mediaEntries.find((e) => e.id === currentMediaId);\n\n useEffect(() => {\n if (!isOpen) return;\n void refetchMedia();\n }, [isOpen, refetchMedia]);\n\n const updateMediaId = useCallback(\n (newId: string) => {\n updateNode({\n attributes: [{ type: 'mdxJsxAttribute', name: 'mediaId', value: newId }],\n } as any);\n },\n [updateNode],\n );\n\n const handleSelect = useCallback(\n (entry: MediaFile) => {\n updateMediaId(entry.id);\n setIsOpen(false);\n },\n [updateMediaId],\n );\n\n const stageFileFromList = useCallback(\n (fileList: FileList) => {\n const file = fileList[0];\n if (!file) return;\n const ext = file.name.split('.').pop()?.toLowerCase() || '';\n if (!config.mediaAllowedFormats.includes(ext)) {\n toast({ title: `Format .${ext} not allowed`, variant: 'destructive' });\n return;\n }\n setStagedFile(file);\n setUploadTitle(suggestedTitleFromFileName(file.name));\n },\n [config.mediaAllowedFormats],\n );\n\n const confirmStagedUpload = useCallback(() => {\n if (!stagedFile) return;\n const title = uploadTitle.trim();\n if (!title) {\n toast({ title: 'Title is required', variant: 'destructive' });\n return;\n }\n const file = stagedFile;\n const formData = new FormData();\n formData.set('file', file);\n formData.set('folder', selectedFolder || '/');\n formData.set('title', title);\n\n startTransition(async () => {\n const uploadResult = await uploadMedia(formData);\n if (!uploadResult.success) {\n toast({ title: uploadResult.error, variant: 'destructive' });\n return;\n }\n const mediaId = uploadResult.id;\n await queryClient.invalidateQueries({ queryKey: queryKeys.media.list() });\n updateMediaId(mediaId);\n setStagedFile(null);\n setUploadTitle('');\n setIsOpen(false);\n toast({ title: `Uploaded \"${file.name}\"`, variant: 'success' });\n });\n }, [stagedFile, uploadTitle, selectedFolder, updateMediaId, queryClient]);\n\n const folders = [...new Set(mediaEntries.map((f) => f.folder))];\n const filteredEntries = selectedFolder ? mediaEntries.filter((f) => f.folder === selectedFolder) : mediaEntries;\n\n return (\n <div className=\"octo-image-embed\" contentEditable={false}>\n {currentMediaId && selectedEntry ? (\n <div className=\"octo-image-embed__selected\">\n <div className=\"octo-image-embed__thumb-wrap\">\n <img\n src={selectedEntry.publicUrl}\n alt={selectedEntry.title || selectedEntry.originalName || ''}\n className=\"octo-image-embed__thumb\"\n />\n <button type=\"button\" onClick={() => updateMediaId('')} className=\"octo-image-embed__clear\">\n <Icon.X className=\"octo-icon-sm\" />\n </button>\n </div>\n <div className=\"octo-image-embed__info\">\n <span className=\"octo-image-embed__info-label\">Image embed</span>\n <span className=\"octo-image-embed__info-name\">{selectedEntry.title || selectedEntry.originalName}</span>\n <Button type=\"button\" variant=\"outline\" onClick={() => setIsOpen(true)}>\n Change image\n </Button>\n </div>\n </div>\n ) : (\n <div className=\"octo-image-embed__empty-state\">\n <div className=\"octo-image-embed__placeholder\">\n <Icon.Image className=\"octo-image-embed__placeholder-icon octo-icon-24\" />\n </div>\n <div>\n <span className=\"octo-image-embed__no-label\">No image selected</span>\n <Button type=\"button\" variant=\"outline\" onClick={() => setIsOpen(true)}>\n Select image\n </Button>\n </div>\n </div>\n )}\n\n <Dialog\n open={isOpen}\n onOpenChange={(open) => {\n setIsOpen(open);\n if (!open) {\n setStagedFile(null);\n setUploadTitle('');\n }\n }}\n >\n <DialogContent className=\"octo-dialog-content octo-dialog-content--5xl octo-dialog-content--vh-80 octo-dialog-content--flex-col\">\n <DialogHeader>\n <DialogTitle>Select or upload image</DialogTitle>\n </DialogHeader>\n <div className=\"octo-image-embed__dropzone\">\n <input\n ref={uploadInputRef}\n type=\"file\"\n accept={config.mediaAllowedFormats.map((f) => `.${f}`).join(',')}\n className=\"octo-u-hidden\"\n onChange={(e) => {\n if (e.target.files) stageFileFromList(e.target.files);\n e.target.value = '';\n }}\n />\n {!stagedFile ? (\n <div className=\"octo-image-embed__upload-placeholder\">\n <Button\n type=\"button\"\n variant=\"outline\"\n onClick={() => uploadInputRef.current?.click()}\n disabled={isPending}\n >\n <Icon.Upload className=\"octo-icon-md\" />\n Choose file to upload\n </Button>\n </div>\n ) : (\n <div className=\"octo-image-embed__upload-form\">\n <p className=\"octo-u-text-base octo-u-text-muted octo-u-word-break-all\">{stagedFile.name}</p>\n <div>\n <Label htmlFor=\"richtext-image-upload-title\" className=\"octo-field-label\">\n Title <span className=\"octo-u-text-danger\">*</span>\n </Label>\n <input\n id=\"richtext-image-upload-title\"\n type=\"text\"\n value={uploadTitle}\n onChange={(e) => setUploadTitle(e.target.value)}\n className=\"octo-media-asset__input octo-u-mt-1\"\n placeholder=\"Shown as default alt text when this image is used\"\n disabled={isPending}\n />\n </div>\n <div className=\"octo-u-flex octo-u-gap-2\">\n <Button type=\"button\" onClick={confirmStagedUpload} disabled={isPending}>\n Upload\n </Button>\n <Button\n type=\"button\"\n variant=\"outline\"\n onClick={() => {\n setStagedFile(null);\n setUploadTitle('');\n }}\n disabled={isPending}\n >\n Cancel\n </Button>\n </div>\n </div>\n )}\n {isPending && <span className=\"octo-u-text-xs octo-u-text-muted\">Uploading...</span>}\n </div>\n <div className=\"octo-image-embed__body\">\n {folders.length > 1 && (\n <div className=\"octo-image-embed__folders\">\n <button\n type=\"button\"\n onClick={() => setSelectedFolder(null)}\n style={{\n display: 'block',\n width: '100%',\n textAlign: 'left',\n padding: '6px 8px',\n borderRadius: 6,\n fontSize: 14,\n border: 0,\n cursor: 'pointer',\n background: selectedFolder === null ? 'var(--brand)' : 'transparent',\n color: selectedFolder === null ? 'var(--bg)' : 'var(--text)',\n }}\n >\n All\n </button>\n {folders.map((folder) => (\n <button\n key={folder}\n type=\"button\"\n onClick={() => setSelectedFolder(folder)}\n style={{\n display: 'block',\n width: '100%',\n textAlign: 'left',\n padding: '6px 8px',\n borderRadius: 6,\n fontSize: 14,\n border: 0,\n cursor: 'pointer',\n background: selectedFolder === folder ? 'var(--brand)' : 'transparent',\n color: selectedFolder === folder ? 'var(--bg)' : 'var(--text)',\n }}\n >\n {folder === '/' ? 'Root' : folder}\n </button>\n ))}\n </div>\n )}\n <div className=\"octo-image-embed__scroller\">\n <div className=\"octo-image-embed__grid\">\n {filteredEntries.map((entry) => {\n const isSelected = currentMediaId === entry.id;\n return (\n <button\n key={entry.id}\n type=\"button\"\n onClick={() => handleSelect(entry)}\n style={{\n position: 'relative',\n aspectRatio: '1',\n borderRadius: 8,\n overflow: 'hidden',\n border: isSelected ? '2px solid var(--brand)' : '2px solid var(--border)',\n cursor: 'pointer',\n padding: 0,\n background: 'transparent',\n }}\n >\n <img\n src={entry.publicUrl}\n alt={entry.title || entry.originalName}\n className=\"octo-image-embed__thumb-img\"\n />\n <div className=\"octo-image-embed__thumb-overlay\">\n <span className=\"octo-image-embed__thumb-caption\">{entry.title || entry.originalName}</span>\n </div>\n </button>\n );\n })}\n {filteredEntries.length === 0 && <div className=\"octo-image-embed__empty\">No images found</div>}\n </div>\n </div>\n </div>\n </DialogContent>\n </Dialog>\n </div>\n );\n};\n\nexport default ImageEmbedEditor;\n"],"mappings":"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","names":["_a"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReferenceEmbedEditor.d.ts","sourceRoot":"","sources":["../../../../../components/ui/FormField/richtext/ReferenceEmbedEditor.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAIzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AASxD;;;;;GAKG;AACH,QAAA,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAwOlD,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import "
|
|
2
|
+
import "../../../../chunk-B5LE2OEC.js";
|
|
3
3
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
4
|
import { useCallback, useEffect, useMemo, useState } from "react";
|
|
5
|
-
import {
|
|
5
|
+
import { Button } from "../../Button/Button";
|
|
6
|
+
import { Dialog, DialogContent, DialogHeader, DialogTitle } from "../../Dialog/Dialog";
|
|
7
|
+
import { Icon } from "../../Icon/Icon";
|
|
6
8
|
import { useMdastNodeUpdater } from "@mdxeditor/editor";
|
|
7
|
-
import { useConfig } from "
|
|
8
|
-
import { useEntryList } from "
|
|
9
|
-
import { toReferenceKey } from "
|
|
10
|
-
import { Button } from "../ui/button";
|
|
11
|
-
import { Dialog, DialogContent, DialogHeader, DialogTitle } from "../ui";
|
|
9
|
+
import { useConfig } from "../../../../hooks/useConfig";
|
|
10
|
+
import { useEntryList } from "../../../../admin/query/hooks/useEntryList";
|
|
11
|
+
import { toReferenceKey } from "../../../../lib/referenceKeys";
|
|
12
12
|
const ReferenceEmbedEditor = ({ mdastNode }) => {
|
|
13
13
|
var _a, _b;
|
|
14
14
|
const config = useConfig();
|
|
@@ -79,52 +79,52 @@ const ReferenceEmbedEditor = ({ mdastNode }) => {
|
|
|
79
79
|
var _a2;
|
|
80
80
|
return ((_a2 = config.collections[type]) == null ? void 0 : _a2.label) || type;
|
|
81
81
|
};
|
|
82
|
-
return /* @__PURE__ */ jsxs("div", { className: "
|
|
83
|
-
currentId && selectedEntry ? /* @__PURE__ */ jsxs("div", { className: "
|
|
84
|
-
/* @__PURE__ */ jsx("div", { className: "
|
|
85
|
-
/* @__PURE__ */ jsxs("div", { className: "
|
|
86
|
-
/* @__PURE__ */ jsxs("span", { className: "
|
|
82
|
+
return /* @__PURE__ */ jsxs("div", { className: "octo-ref-embed", contentEditable: false, children: [
|
|
83
|
+
currentId && selectedEntry ? /* @__PURE__ */ jsxs("div", { className: "octo-ref-embed__selected", children: [
|
|
84
|
+
/* @__PURE__ */ jsx("div", { className: "octo-ref-embed__icon-wrap", children: /* @__PURE__ */ jsx(Icon.FileText, { className: "octo-icon-lg octo-u-text-brand" }) }),
|
|
85
|
+
/* @__PURE__ */ jsxs("div", { className: "octo-ref-embed__info", children: [
|
|
86
|
+
/* @__PURE__ */ jsxs("span", { className: "octo-ref-embed__info-label", children: [
|
|
87
87
|
"Reference embed \xB7 ",
|
|
88
88
|
currentDisplay
|
|
89
89
|
] }),
|
|
90
|
-
/* @__PURE__ */ jsx("span", { className: "
|
|
91
|
-
/* @__PURE__ */ jsx("span", { className: "
|
|
90
|
+
/* @__PURE__ */ jsx("span", { className: "octo-ref-embed__info-title", children: selectedEntry.title }),
|
|
91
|
+
/* @__PURE__ */ jsx("span", { className: "octo-ref-embed__info-type", children: getCollectionLabel(selectedEntry.type) })
|
|
92
92
|
] }),
|
|
93
|
-
/* @__PURE__ */ jsxs("div", { className: "
|
|
93
|
+
/* @__PURE__ */ jsxs("div", { className: "octo-ref-embed__actions", children: [
|
|
94
94
|
/* @__PURE__ */ jsx(
|
|
95
95
|
"button",
|
|
96
96
|
{
|
|
97
97
|
type: "button",
|
|
98
98
|
onClick: toggleDisplay,
|
|
99
|
-
className: "
|
|
99
|
+
className: "octo-ref-embed__action-btn",
|
|
100
100
|
title: `Switch to ${currentDisplay === "inline" ? "block" : "inline"} display`,
|
|
101
|
-
children: /* @__PURE__ */ jsx(Link2, { className: "
|
|
101
|
+
children: /* @__PURE__ */ jsx(Icon.Link2, { className: "octo-icon-sm" })
|
|
102
102
|
}
|
|
103
103
|
),
|
|
104
|
-
/* @__PURE__ */ jsx(Button, { type: "button", variant: "outline",
|
|
104
|
+
/* @__PURE__ */ jsx(Button, { type: "button", variant: "outline", onClick: () => setIsOpen(true), children: "Change" }),
|
|
105
105
|
/* @__PURE__ */ jsx(
|
|
106
106
|
"button",
|
|
107
107
|
{
|
|
108
108
|
type: "button",
|
|
109
109
|
onClick: handleClear,
|
|
110
|
-
className: "
|
|
110
|
+
className: "octo-ref-embed__action-btn octo-ref-embed__action-btn--danger",
|
|
111
111
|
title: "Remove reference",
|
|
112
|
-
children: /* @__PURE__ */ jsx(X, { className: "
|
|
112
|
+
children: /* @__PURE__ */ jsx(Icon.X, { className: "octo-icon-sm" })
|
|
113
113
|
}
|
|
114
114
|
)
|
|
115
115
|
] })
|
|
116
|
-
] }) : currentId && !selectedEntry ? /* @__PURE__ */ jsxs("div", { className: "
|
|
117
|
-
/* @__PURE__ */ jsx("div", { className: "
|
|
118
|
-
/* @__PURE__ */ jsxs("div", { className: "flex-1", children: [
|
|
119
|
-
/* @__PURE__ */ jsx("span", { className: "
|
|
120
|
-
/* @__PURE__ */ jsx("span", { className: "
|
|
116
|
+
] }) : currentId && !selectedEntry ? /* @__PURE__ */ jsxs("div", { className: "octo-ref-embed__loading", children: [
|
|
117
|
+
/* @__PURE__ */ jsx("div", { className: "octo-ref-embed__loading-icon", children: /* @__PURE__ */ jsx(Icon.FileText, { className: "octo-icon-lg octo-u-text-muted" }) }),
|
|
118
|
+
/* @__PURE__ */ jsxs("div", { className: "octo-u-flex-1", children: [
|
|
119
|
+
/* @__PURE__ */ jsx("span", { className: "octo-ref-embed__loading-text", children: isFetched && !listPending ? "Referenced entry not found" : "Loading\u2026" }),
|
|
120
|
+
/* @__PURE__ */ jsx("span", { className: "octo-ref-embed__loading-id", children: currentId })
|
|
121
121
|
] }),
|
|
122
|
-
/* @__PURE__ */ jsx(Button, { type: "button", variant: "outline",
|
|
123
|
-
] }) : /* @__PURE__ */ jsxs("div", { className: "
|
|
124
|
-
/* @__PURE__ */ jsx("div", { className: "
|
|
122
|
+
/* @__PURE__ */ jsx(Button, { type: "button", variant: "outline", onClick: () => setIsOpen(true), children: "Select entry" })
|
|
123
|
+
] }) : /* @__PURE__ */ jsxs("div", { className: "octo-ref-embed__empty-state", children: [
|
|
124
|
+
/* @__PURE__ */ jsx("div", { className: "octo-ref-embed__loading-icon", children: /* @__PURE__ */ jsx(Icon.FileText, { className: "octo-icon-lg octo-u-text-muted" }) }),
|
|
125
125
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
126
|
-
/* @__PURE__ */ jsx("span", { className: "text
|
|
127
|
-
/* @__PURE__ */ jsx(Button, { type: "button", variant: "outline",
|
|
126
|
+
/* @__PURE__ */ jsx("span", { className: "octo-ref-embed__loading-text octo-u-mb-1", children: "No entry selected" }),
|
|
127
|
+
/* @__PURE__ */ jsx(Button, { type: "button", variant: "outline", onClick: () => setIsOpen(true), children: "Select entry" })
|
|
128
128
|
] })
|
|
129
129
|
] }),
|
|
130
130
|
/* @__PURE__ */ jsx(
|
|
@@ -138,11 +138,11 @@ const ReferenceEmbedEditor = ({ mdastNode }) => {
|
|
|
138
138
|
setCollectionFilter(null);
|
|
139
139
|
}
|
|
140
140
|
},
|
|
141
|
-
children: /* @__PURE__ */ jsxs(DialogContent, { className: "
|
|
141
|
+
children: /* @__PURE__ */ jsxs(DialogContent, { className: "octo-dialog-content octo-dialog-content--3xl octo-dialog-content--vh-80 octo-dialog-content--flex-col", children: [
|
|
142
142
|
/* @__PURE__ */ jsx(DialogHeader, { children: /* @__PURE__ */ jsx(DialogTitle, { children: "Select entry to embed" }) }),
|
|
143
|
-
/* @__PURE__ */ jsxs("div", { className: "
|
|
144
|
-
/* @__PURE__ */ jsxs("div", { className: "
|
|
145
|
-
/* @__PURE__ */ jsx(Search, { className: "
|
|
143
|
+
/* @__PURE__ */ jsxs("div", { className: "octo-ref-embed__search-row", children: [
|
|
144
|
+
/* @__PURE__ */ jsxs("div", { className: "octo-ref-embed__search-wrap", children: [
|
|
145
|
+
/* @__PURE__ */ jsx(Icon.Search, { className: "octo-icon-md octo-u-text-muted octo-ref-embed__search-icon" }),
|
|
146
146
|
/* @__PURE__ */ jsx(
|
|
147
147
|
"input",
|
|
148
148
|
{
|
|
@@ -150,7 +150,7 @@ const ReferenceEmbedEditor = ({ mdastNode }) => {
|
|
|
150
150
|
value: searchQuery,
|
|
151
151
|
onChange: (e) => setSearchQuery(e.target.value),
|
|
152
152
|
placeholder: "Filter entries\u2026",
|
|
153
|
-
className: "
|
|
153
|
+
className: "octo-ff-reference__search-input"
|
|
154
154
|
}
|
|
155
155
|
)
|
|
156
156
|
] }),
|
|
@@ -159,7 +159,7 @@ const ReferenceEmbedEditor = ({ mdastNode }) => {
|
|
|
159
159
|
{
|
|
160
160
|
value: collectionFilter != null ? collectionFilter : "",
|
|
161
161
|
onChange: (e) => setCollectionFilter(e.target.value || null),
|
|
162
|
-
className: "
|
|
162
|
+
className: "octo-media-asset__input",
|
|
163
163
|
children: [
|
|
164
164
|
/* @__PURE__ */ jsx("option", { value: "", children: "All collections" }),
|
|
165
165
|
availableCollections.map((type) => /* @__PURE__ */ jsx("option", { value: type, children: getCollectionLabel(type) }, type))
|
|
@@ -167,7 +167,7 @@ const ReferenceEmbedEditor = ({ mdastNode }) => {
|
|
|
167
167
|
}
|
|
168
168
|
)
|
|
169
169
|
] }),
|
|
170
|
-
/* @__PURE__ */ jsx("div", { className: "
|
|
170
|
+
/* @__PURE__ */ jsx("div", { className: "octo-ref-embed__list", children: listPending && entries.length === 0 ? /* @__PURE__ */ jsx("div", { className: "octo-ref-embed__empty", children: "Loading entries\u2026" }) : filteredEntries.length === 0 ? /* @__PURE__ */ jsx("div", { className: "octo-ref-embed__empty", children: searchQuery ? "No matching entries" : "No entries found" }) : /* @__PURE__ */ jsx("div", { className: "octo-ref-embed__divider", children: filteredEntries.map((entry) => {
|
|
171
171
|
const refKey = toReferenceKey(entry.path);
|
|
172
172
|
const isSelected = refKey === toReferenceKey(currentId);
|
|
173
173
|
return /* @__PURE__ */ jsxs(
|
|
@@ -175,14 +175,26 @@ const ReferenceEmbedEditor = ({ mdastNode }) => {
|
|
|
175
175
|
{
|
|
176
176
|
type: "button",
|
|
177
177
|
onClick: () => handleSelect(entry),
|
|
178
|
-
|
|
178
|
+
style: {
|
|
179
|
+
width: "100%",
|
|
180
|
+
textAlign: "left",
|
|
181
|
+
padding: "8px 12px",
|
|
182
|
+
display: "flex",
|
|
183
|
+
alignItems: "center",
|
|
184
|
+
gap: 12,
|
|
185
|
+
background: isSelected ? "color-mix(in oklab, var(--brand) 10%, transparent)" : "transparent",
|
|
186
|
+
color: isSelected ? "var(--brand)" : "var(--text)",
|
|
187
|
+
border: 0,
|
|
188
|
+
cursor: "pointer",
|
|
189
|
+
borderBottom: "1px solid var(--border)"
|
|
190
|
+
},
|
|
179
191
|
children: [
|
|
180
|
-
/* @__PURE__ */ jsx(FileText, { className: "
|
|
181
|
-
/* @__PURE__ */ jsxs("div", { className: "
|
|
182
|
-
/* @__PURE__ */ jsx("div", { className: "
|
|
183
|
-
/* @__PURE__ */ jsx("div", { className: "
|
|
192
|
+
/* @__PURE__ */ jsx(Icon.FileText, { className: "octo-icon-md octo-u-shrink-0 octo-u-text-muted" }),
|
|
193
|
+
/* @__PURE__ */ jsxs("div", { className: "octo-ref-embed__entry-info", children: [
|
|
194
|
+
/* @__PURE__ */ jsx("div", { className: "octo-ref-embed__entry-title", children: entry.title }),
|
|
195
|
+
/* @__PURE__ */ jsx("div", { className: "octo-ref-embed__entry-meta", children: getCollectionLabel(entry.type) })
|
|
184
196
|
] }),
|
|
185
|
-
isSelected && /* @__PURE__ */ jsx("span", { className: "
|
|
197
|
+
isSelected && /* @__PURE__ */ jsx("span", { className: "octo-ref-embed__selected-badge", children: "Selected" })
|
|
186
198
|
]
|
|
187
199
|
},
|
|
188
200
|
`${entry.type}-${entry.id}`
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../components/ui/FormField/richtext/ReferenceEmbedEditor.tsx"],"sourcesContent":["'use client';\n\nimport React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport { Button } from '../../Button/Button';\nimport { Dialog, DialogContent, DialogHeader, DialogTitle } from '../../Dialog/Dialog';\nimport { Icon } from '../../Icon/Icon';\nimport type { JsxEditorProps } from '@mdxeditor/editor';\nimport { useMdastNodeUpdater } from '@mdxeditor/editor';\n\nimport type { Config } from '../../../../admin/types';\nimport { useConfig } from '../../../../hooks/useConfig';\nimport { useEntryList } from '../../../../admin/query/hooks/useEntryList';\nimport type { EntryListItem } from '../../../../types';\nimport { toReferenceKey } from '../../../../lib/referenceKeys';\n\n/**\n * WYSIWYG editor component for `<CmsRef>` JSX embeds inside richtext fields.\n *\n * Shows a preview of the selected entry (title + collection type) and provides a\n * dialog to search and select an entry from configured collections.\n */\nconst ReferenceEmbedEditor: React.FC<JsxEditorProps> = ({ mdastNode }) => {\n const config = useConfig();\n const updateNode = useMdastNodeUpdater();\n\n // Read current attributes\n const idAttr = mdastNode.attributes?.find((a: any) => a.type === 'mdxJsxAttribute' && a.name === 'id');\n const displayAttr = mdastNode.attributes?.find((a: any) => a.type === 'mdxJsxAttribute' && a.name === 'display');\n const currentId = typeof idAttr?.value === 'string' ? idAttr.value : '';\n const currentDisplay = typeof displayAttr?.value === 'string' ? displayAttr.value : 'block';\n\n const [isOpen, setIsOpen] = useState(false);\n const [searchQuery, setSearchQuery] = useState('');\n const [collectionFilter, setCollectionFilter] = useState<string | null>(null);\n\n const {\n data: entries = [],\n isPending: listPending,\n isFetched,\n refetch,\n } = useEntryList(undefined, { enabled: Boolean(isOpen || currentId) });\n\n useEffect(() => {\n if (!isOpen) return;\n void refetch();\n }, [isOpen, refetch]);\n\n // Find selected entry from the list once loaded (use content path — `id` is already `post-123`-style stem)\n const selectedEntry = useMemo(() => {\n if (!currentId) return null;\n const refKey = toReferenceKey(currentId);\n return entries.find((e) => toReferenceKey(e.path) === refKey) ?? null;\n }, [currentId, entries]);\n\n const updateAttributes = useCallback(\n (id: string, display: string) => {\n updateNode({\n attributes: [\n { type: 'mdxJsxAttribute', name: 'id', value: id },\n { type: 'mdxJsxAttribute', name: 'display', value: display },\n ],\n } as any);\n },\n [updateNode],\n );\n\n const handleSelect = useCallback(\n (entry: EntryListItem) => {\n const refKey = toReferenceKey(entry.path);\n updateAttributes(refKey, currentDisplay);\n setIsOpen(false);\n setSearchQuery('');\n },\n [updateAttributes, currentDisplay],\n );\n\n const handleClear = useCallback(() => {\n updateAttributes('', currentDisplay);\n }, [updateAttributes, currentDisplay]);\n\n const toggleDisplay = useCallback(() => {\n const newDisplay = currentDisplay === 'inline' ? 'block' : 'inline';\n updateAttributes(currentId, newDisplay);\n }, [updateAttributes, currentId, currentDisplay]);\n\n // Filter entries by search + collection\n const filteredEntries = useMemo(() => {\n let filtered = entries;\n if (collectionFilter) {\n filtered = filtered.filter((e) => e.type === collectionFilter);\n }\n if (searchQuery.trim()) {\n const q = searchQuery.toLowerCase();\n filtered = filtered.filter((e) => e.title.toLowerCase().includes(q) || e.type.toLowerCase().includes(q));\n }\n return filtered;\n }, [entries, collectionFilter, searchQuery]);\n\n // Unique collection types in the entry list\n const availableCollections = useMemo(() => [...new Set(entries.map((e) => e.type))], [entries]);\n\n const getCollectionLabel = (type: string) => config.collections[type as keyof Config['collections']]?.label || type;\n\n return (\n <div className=\"octo-ref-embed\" contentEditable={false}>\n {currentId && selectedEntry ? (\n <div className=\"octo-ref-embed__selected\">\n <div className=\"octo-ref-embed__icon-wrap\">\n <Icon.FileText className=\"octo-icon-lg octo-u-text-brand\" />\n </div>\n <div className=\"octo-ref-embed__info\">\n <span className=\"octo-ref-embed__info-label\">Reference embed · {currentDisplay}</span>\n <span className=\"octo-ref-embed__info-title\">{selectedEntry.title}</span>\n <span className=\"octo-ref-embed__info-type\">{getCollectionLabel(selectedEntry.type)}</span>\n </div>\n <div className=\"octo-ref-embed__actions\">\n <button\n type=\"button\"\n onClick={toggleDisplay}\n className=\"octo-ref-embed__action-btn\"\n title={`Switch to ${currentDisplay === 'inline' ? 'block' : 'inline'} display`}\n >\n <Icon.Link2 className=\"octo-icon-sm\" />\n </button>\n <Button type=\"button\" variant=\"outline\" onClick={() => setIsOpen(true)}>\n Change\n </Button>\n <button\n type=\"button\"\n onClick={handleClear}\n className=\"octo-ref-embed__action-btn octo-ref-embed__action-btn--danger\"\n title=\"Remove reference\"\n >\n <Icon.X className=\"octo-icon-sm\" />\n </button>\n </div>\n </div>\n ) : currentId && !selectedEntry ? (\n <div className=\"octo-ref-embed__loading\">\n <div className=\"octo-ref-embed__loading-icon\">\n <Icon.FileText className=\"octo-icon-lg octo-u-text-muted\" />\n </div>\n <div className=\"octo-u-flex-1\">\n <span className=\"octo-ref-embed__loading-text\">\n {isFetched && !listPending ? 'Referenced entry not found' : 'Loading…'}\n </span>\n <span className=\"octo-ref-embed__loading-id\">{currentId}</span>\n </div>\n <Button type=\"button\" variant=\"outline\" onClick={() => setIsOpen(true)}>\n Select entry\n </Button>\n </div>\n ) : (\n <div className=\"octo-ref-embed__empty-state\">\n <div className=\"octo-ref-embed__loading-icon\">\n <Icon.FileText className=\"octo-icon-lg octo-u-text-muted\" />\n </div>\n <div>\n <span className=\"octo-ref-embed__loading-text octo-u-mb-1\">No entry selected</span>\n <Button type=\"button\" variant=\"outline\" onClick={() => setIsOpen(true)}>\n Select entry\n </Button>\n </div>\n </div>\n )}\n\n <Dialog\n open={isOpen}\n onOpenChange={(open) => {\n setIsOpen(open);\n if (!open) {\n setSearchQuery('');\n setCollectionFilter(null);\n }\n }}\n >\n <DialogContent className=\"octo-dialog-content octo-dialog-content--3xl octo-dialog-content--vh-80 octo-dialog-content--flex-col\">\n <DialogHeader>\n <DialogTitle>Select entry to embed</DialogTitle>\n </DialogHeader>\n\n {/* Search + filter bar */}\n <div className=\"octo-ref-embed__search-row\">\n <div className=\"octo-ref-embed__search-wrap\">\n <Icon.Search className=\"octo-icon-md octo-u-text-muted octo-ref-embed__search-icon\" />\n <input\n type=\"text\"\n value={searchQuery}\n onChange={(e) => setSearchQuery(e.target.value)}\n placeholder=\"Filter entries…\"\n className=\"octo-ff-reference__search-input\"\n />\n </div>\n <select\n value={collectionFilter ?? ''}\n onChange={(e) => setCollectionFilter(e.target.value || null)}\n className=\"octo-media-asset__input\"\n >\n <option value=\"\">All collections</option>\n {availableCollections.map((type) => (\n <option key={type} value={type}>\n {getCollectionLabel(type)}\n </option>\n ))}\n </select>\n </div>\n\n {/* Entry list */}\n <div className=\"octo-ref-embed__list\">\n {listPending && entries.length === 0 ? (\n <div className=\"octo-ref-embed__empty\">Loading entries…</div>\n ) : filteredEntries.length === 0 ? (\n <div className=\"octo-ref-embed__empty\">{searchQuery ? 'No matching entries' : 'No entries found'}</div>\n ) : (\n <div className=\"octo-ref-embed__divider\">\n {filteredEntries.map((entry) => {\n const refKey = toReferenceKey(entry.path);\n const isSelected = refKey === toReferenceKey(currentId);\n return (\n <button\n key={`${entry.type}-${entry.id}`}\n type=\"button\"\n onClick={() => handleSelect(entry)}\n style={{\n width: '100%',\n textAlign: 'left',\n padding: '8px 12px',\n display: 'flex',\n alignItems: 'center',\n gap: 12,\n background: isSelected ? 'color-mix(in oklab, var(--brand) 10%, transparent)' : 'transparent',\n color: isSelected ? 'var(--brand)' : 'var(--text)',\n border: 0,\n cursor: 'pointer',\n borderBottom: '1px solid var(--border)',\n }}\n >\n <Icon.FileText className=\"octo-icon-md octo-u-shrink-0 octo-u-text-muted\" />\n <div className=\"octo-ref-embed__entry-info\">\n <div className=\"octo-ref-embed__entry-title\">{entry.title}</div>\n <div className=\"octo-ref-embed__entry-meta\">{getCollectionLabel(entry.type)}</div>\n </div>\n {isSelected && <span className=\"octo-ref-embed__selected-badge\">Selected</span>}\n </button>\n );\n })}\n </div>\n )}\n </div>\n </DialogContent>\n </Dialog>\n </div>\n );\n};\n\nexport default ReferenceEmbedEditor;\n"],"mappings":"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","names":["_a"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SlashCommandMenu.d.ts","sourceRoot":"","sources":["../../../../../components/ui/FormField/richtext/SlashCommandMenu.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAExE,MAAM,MAAM,aAAa,GAAG;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB,CAAC;AAEF,KAAK,qBAAqB,GAAG;IAC3B,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC/C,QAAQ,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IACxC,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,qBAAqB,kDAgG3G"}
|