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,27 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __create = Object.create;
|
|
3
3
|
var __defProp = Object.defineProperty;
|
|
4
|
-
var __defProps = Object.defineProperties;
|
|
5
4
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
|
-
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
7
5
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
8
|
-
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
9
6
|
var __getProtoOf = Object.getPrototypeOf;
|
|
10
7
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
11
|
-
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
12
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
13
|
-
var __spreadValues = (a, b) => {
|
|
14
|
-
for (var prop in b || (b = {}))
|
|
15
|
-
if (__hasOwnProp.call(b, prop))
|
|
16
|
-
__defNormalProp(a, prop, b[prop]);
|
|
17
|
-
if (__getOwnPropSymbols)
|
|
18
|
-
for (var prop of __getOwnPropSymbols(b)) {
|
|
19
|
-
if (__propIsEnum.call(b, prop))
|
|
20
|
-
__defNormalProp(a, prop, b[prop]);
|
|
21
|
-
}
|
|
22
|
-
return a;
|
|
23
|
-
};
|
|
24
|
-
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
25
8
|
var __export = (target, all) => {
|
|
26
9
|
for (var name in all)
|
|
27
10
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -43,406 +26,16 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
43
26
|
mod
|
|
44
27
|
));
|
|
45
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
46
|
-
|
|
47
|
-
// components/public/index.ts
|
|
48
29
|
var public_exports = {};
|
|
49
30
|
__export(public_exports, {
|
|
50
|
-
MarkdownContent: () =>
|
|
51
|
-
RichTextContent: () =>
|
|
52
|
-
SearchBox: () =>
|
|
31
|
+
MarkdownContent: () => import_MarkdownContent.default,
|
|
32
|
+
RichTextContent: () => import_RichTextContent.default,
|
|
33
|
+
SearchBox: () => import_SearchBox.default
|
|
53
34
|
});
|
|
54
35
|
module.exports = __toCommonJS(public_exports);
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
var
|
|
58
|
-
var import_rehype_sanitize = __toESM(require("rehype-sanitize"), 1);
|
|
59
|
-
var import_remark_gfm = __toESM(require("remark-gfm"), 1);
|
|
60
|
-
|
|
61
|
-
// lib/utils.ts
|
|
62
|
-
var import_clsx = require("clsx");
|
|
63
|
-
var import_tailwind_merge = require("tailwind-merge");
|
|
64
|
-
var cn = (...inputs) => (0, import_tailwind_merge.twMerge)((0, import_clsx.clsx)(inputs));
|
|
65
|
-
|
|
66
|
-
// components/public/MarkdownContent.tsx
|
|
67
|
-
var import_jsx_runtime = require("react/jsx-runtime");
|
|
68
|
-
var _a, _b, _c;
|
|
69
|
-
var sanitizeSchema = __spreadProps(__spreadValues({}, import_rehype_sanitize.defaultSchema), {
|
|
70
|
-
tagNames: [
|
|
71
|
-
...(_a = import_rehype_sanitize.defaultSchema.tagNames) != null ? _a : [],
|
|
72
|
-
"u"
|
|
73
|
-
// underline — not in GitHub default
|
|
74
|
-
],
|
|
75
|
-
attributes: __spreadProps(__spreadValues({}, import_rehype_sanitize.defaultSchema.attributes), {
|
|
76
|
-
code: [...(_c = (_b = import_rehype_sanitize.defaultSchema.attributes) == null ? void 0 : _b.code) != null ? _c : [], "className"],
|
|
77
|
-
img: ["src", "alt", "title"]
|
|
78
|
-
})
|
|
79
|
-
});
|
|
80
|
-
var MarkdownContent = ({ children, className }) => {
|
|
81
|
-
if (!children) {
|
|
82
|
-
return null;
|
|
83
|
-
}
|
|
84
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: cn(className), children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_markdown.default, { remarkPlugins: [import_remark_gfm.default], rehypePlugins: [[import_rehype_sanitize.default, sanitizeSchema]], children }) });
|
|
85
|
-
};
|
|
86
|
-
var MarkdownContent_default = MarkdownContent;
|
|
87
|
-
|
|
88
|
-
// components/public/RichTextContent.tsx
|
|
89
|
-
var import_image = __toESM(require("next/image"), 1);
|
|
90
|
-
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
91
|
-
var RichTextContent = ({ document: document2, components, variables, conditions, className }) => {
|
|
92
|
-
var _a2;
|
|
93
|
-
if (!document2 || !((_a2 = document2.content) == null ? void 0 : _a2.length)) return null;
|
|
94
|
-
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { className: cn(className), children: document2.content.map((node, i) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(RenderNode, { node, components, variables, conditions }, i)) });
|
|
95
|
-
};
|
|
96
|
-
var RichTextContent_default = RichTextContent;
|
|
97
|
-
function RenderNode({ node, components, variables, conditions }) {
|
|
98
|
-
var _a2;
|
|
99
|
-
switch (node.type) {
|
|
100
|
-
case "paragraph":
|
|
101
|
-
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("p", { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(RenderChildren, { nodes: node.children, components, variables, conditions }) });
|
|
102
|
-
case "heading": {
|
|
103
|
-
const Tag = `h${node.level}`;
|
|
104
|
-
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Tag, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(RenderChildren, { nodes: node.children, components, variables, conditions }) });
|
|
105
|
-
}
|
|
106
|
-
case "blockquote":
|
|
107
|
-
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("blockquote", { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(RenderChildren, { nodes: node.children, components, variables, conditions }) });
|
|
108
|
-
case "list":
|
|
109
|
-
if (node.ordered) {
|
|
110
|
-
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("ol", { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
111
|
-
RenderChildren,
|
|
112
|
-
{
|
|
113
|
-
nodes: node.children,
|
|
114
|
-
components,
|
|
115
|
-
variables,
|
|
116
|
-
conditions
|
|
117
|
-
}
|
|
118
|
-
) });
|
|
119
|
-
}
|
|
120
|
-
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("ul", { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(RenderChildren, { nodes: node.children, components, variables, conditions }) });
|
|
121
|
-
case "listItem":
|
|
122
|
-
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(RenderChildren, { nodes: node.children, components, variables, conditions }) });
|
|
123
|
-
case "thematicBreak":
|
|
124
|
-
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("hr", {});
|
|
125
|
-
case "code":
|
|
126
|
-
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("pre", { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("code", { className: node.lang ? `language-${node.lang}` : void 0, children: node.value }) });
|
|
127
|
-
case "text":
|
|
128
|
-
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(RenderText, { node });
|
|
129
|
-
case "link":
|
|
130
|
-
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("a", { href: node.url, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(RenderChildren, { nodes: node.children, components, variables, conditions }) });
|
|
131
|
-
case "image":
|
|
132
|
-
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(RenderImage, { image: node.image });
|
|
133
|
-
case "break":
|
|
134
|
-
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("br", {});
|
|
135
|
-
case "html":
|
|
136
|
-
return null;
|
|
137
|
-
case "variable": {
|
|
138
|
-
const value = variables == null ? void 0 : variables[node.name];
|
|
139
|
-
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children: value != null ? value : `{${node.name}}` });
|
|
140
|
-
}
|
|
141
|
-
case "component": {
|
|
142
|
-
const Component = components == null ? void 0 : components[node.name];
|
|
143
|
-
if (!Component) return null;
|
|
144
|
-
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Component, __spreadProps(__spreadValues({}, node.props), { children: ((_a2 = node.children) == null ? void 0 : _a2.length) ? /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
145
|
-
RenderChildren,
|
|
146
|
-
{
|
|
147
|
-
nodes: node.children,
|
|
148
|
-
components,
|
|
149
|
-
variables,
|
|
150
|
-
conditions
|
|
151
|
-
}
|
|
152
|
-
) : null }));
|
|
153
|
-
}
|
|
154
|
-
case "reference":
|
|
155
|
-
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(RenderReference, { node, components });
|
|
156
|
-
case "condition":
|
|
157
|
-
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(RenderCondition, { node, components, variables, conditions });
|
|
158
|
-
default:
|
|
159
|
-
return null;
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
function RenderText({ node }) {
|
|
163
|
-
let element = node.value;
|
|
164
|
-
if (node.marks) {
|
|
165
|
-
for (const mark of node.marks) {
|
|
166
|
-
switch (mark) {
|
|
167
|
-
case "bold":
|
|
168
|
-
element = /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("strong", { children: element });
|
|
169
|
-
break;
|
|
170
|
-
case "italic":
|
|
171
|
-
element = /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("em", { children: element });
|
|
172
|
-
break;
|
|
173
|
-
case "underline":
|
|
174
|
-
element = /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("u", { children: element });
|
|
175
|
-
break;
|
|
176
|
-
case "code":
|
|
177
|
-
element = /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("code", { children: element });
|
|
178
|
-
break;
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children: element });
|
|
183
|
-
}
|
|
184
|
-
function RenderImage({ image }) {
|
|
185
|
-
if (!image.src) return null;
|
|
186
|
-
const hasSize = image.width != null && image.height != null;
|
|
187
|
-
if (hasSize) {
|
|
188
|
-
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
189
|
-
import_image.default,
|
|
190
|
-
__spreadValues({
|
|
191
|
-
src: image.src,
|
|
192
|
-
alt: image.alt,
|
|
193
|
-
width: image.width,
|
|
194
|
-
height: image.height
|
|
195
|
-
}, image.blurDataURL ? { placeholder: "blur", blurDataURL: image.blurDataURL } : {})
|
|
196
|
-
);
|
|
197
|
-
}
|
|
198
|
-
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("span", { className: "relative block w-full", style: { aspectRatio: "16/9" }, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
199
|
-
import_image.default,
|
|
200
|
-
__spreadValues({
|
|
201
|
-
src: image.src,
|
|
202
|
-
alt: image.alt,
|
|
203
|
-
fill: true,
|
|
204
|
-
className: "object-cover"
|
|
205
|
-
}, image.blurDataURL ? { placeholder: "blur", blurDataURL: image.blurDataURL } : {})
|
|
206
|
-
) });
|
|
207
|
-
}
|
|
208
|
-
function RenderReference({
|
|
209
|
-
node,
|
|
210
|
-
components
|
|
211
|
-
}) {
|
|
212
|
-
var _a2, _b2;
|
|
213
|
-
const entry = node.entry;
|
|
214
|
-
if (!entry) return null;
|
|
215
|
-
const collectionType = (_a2 = entry.sys) == null ? void 0 : _a2.type;
|
|
216
|
-
if (collectionType && (components == null ? void 0 : components[collectionType])) {
|
|
217
|
-
const Component = components[collectionType];
|
|
218
|
-
return node.display === "inline" ? /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Component, { entry, display: node.display }) : /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Component, { entry, display: node.display }) });
|
|
219
|
-
}
|
|
220
|
-
const title = entry.fields ? Object.values(entry.fields).find((v) => typeof v === "string" && v.length > 0) : null;
|
|
221
|
-
if (node.display === "inline") {
|
|
222
|
-
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("span", { children: (_b2 = title != null ? title : collectionType) != null ? _b2 : "Reference" });
|
|
223
|
-
}
|
|
224
|
-
return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("div", { className: "rounded border border-border p-3 my-2 bg-muted/30", children: [
|
|
225
|
-
collectionType && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("span", { className: "text-xs text-muted-foreground block mb-0.5", children: collectionType }),
|
|
226
|
-
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("span", { className: "text-sm font-medium", children: title != null ? title : "Untitled entry" })
|
|
227
|
-
] });
|
|
228
|
-
}
|
|
229
|
-
function RenderCondition({
|
|
230
|
-
node,
|
|
231
|
-
components,
|
|
232
|
-
variables,
|
|
233
|
-
conditions
|
|
234
|
-
}) {
|
|
235
|
-
var _a2;
|
|
236
|
-
const branches = node.branches;
|
|
237
|
-
if (!branches || typeof branches !== "object") return null;
|
|
238
|
-
const selectedKey = node.field && conditions ? conditions[node.field] : void 0;
|
|
239
|
-
if (selectedKey) {
|
|
240
|
-
const doc = branches[selectedKey];
|
|
241
|
-
if (!doc || !((_a2 = doc.content) == null ? void 0 : _a2.length)) return null;
|
|
242
|
-
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children: doc.content.map((child, i) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(RenderNode, { node: child, components, variables, conditions }, i)) });
|
|
243
|
-
}
|
|
244
|
-
return null;
|
|
245
|
-
}
|
|
246
|
-
function RenderChildren({
|
|
247
|
-
nodes,
|
|
248
|
-
components,
|
|
249
|
-
variables,
|
|
250
|
-
conditions
|
|
251
|
-
}) {
|
|
252
|
-
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children: nodes.map((child, i) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(RenderNode, { node: child, components, variables, conditions }, i)) });
|
|
253
|
-
}
|
|
254
|
-
|
|
255
|
-
// components/public/SearchBox.tsx
|
|
256
|
-
var import_react = require("react");
|
|
257
|
-
var import_lucide_react = require("lucide-react");
|
|
258
|
-
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
259
|
-
function escapeRegex(s) {
|
|
260
|
-
return s.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
261
|
-
}
|
|
262
|
-
function highlightTerms(text, terms) {
|
|
263
|
-
const filtered = terms.filter((t) => t.length > 0);
|
|
264
|
-
if (filtered.length === 0) return text;
|
|
265
|
-
const pattern = filtered.map((t) => escapeRegex(t) + "\\w*").join("|");
|
|
266
|
-
const parts = text.split(new RegExp(`(${pattern})`, "gi"));
|
|
267
|
-
return parts.map(
|
|
268
|
-
(part, i) => i % 2 === 1 ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("mark", { className: "bg-yellow-200 dark:bg-yellow-800 text-inherit rounded-sm px-0.5", children: part }, i) : part
|
|
269
|
-
);
|
|
270
|
-
}
|
|
271
|
-
function SearchBox({ placeholder = "Search...", className = "" }) {
|
|
272
|
-
const inputRef = (0, import_react.useRef)(null);
|
|
273
|
-
const dropdownRef = (0, import_react.useRef)(null);
|
|
274
|
-
const [query, setQuery] = (0, import_react.useState)("");
|
|
275
|
-
const [results, setResults] = (0, import_react.useState)([]);
|
|
276
|
-
const [isOpen, setIsOpen] = (0, import_react.useState)(false);
|
|
277
|
-
const [isSearching, setIsSearching] = (0, import_react.useState)(false);
|
|
278
|
-
const [selectedIndex, setSelectedIndex] = (0, import_react.useState)(-1);
|
|
279
|
-
const debounceRef = (0, import_react.useRef)(void 0);
|
|
280
|
-
const doSearch = (0, import_react.useCallback)(async (q) => {
|
|
281
|
-
if (!q.trim()) {
|
|
282
|
-
setResults([]);
|
|
283
|
-
setIsOpen(false);
|
|
284
|
-
setSelectedIndex(-1);
|
|
285
|
-
return;
|
|
286
|
-
}
|
|
287
|
-
setIsSearching(true);
|
|
288
|
-
try {
|
|
289
|
-
const response = await fetch(`/api/search?q=${encodeURIComponent(q)}&limit=10`);
|
|
290
|
-
if (response.ok) {
|
|
291
|
-
const data = await response.json();
|
|
292
|
-
setResults(data.results || []);
|
|
293
|
-
setIsOpen(true);
|
|
294
|
-
setSelectedIndex(-1);
|
|
295
|
-
} else {
|
|
296
|
-
setResults([]);
|
|
297
|
-
setIsOpen(false);
|
|
298
|
-
}
|
|
299
|
-
} catch (e) {
|
|
300
|
-
setResults([]);
|
|
301
|
-
setIsOpen(false);
|
|
302
|
-
} finally {
|
|
303
|
-
setIsSearching(false);
|
|
304
|
-
}
|
|
305
|
-
}, []);
|
|
306
|
-
const handleChange = (e) => {
|
|
307
|
-
const value = e.target.value;
|
|
308
|
-
setQuery(value);
|
|
309
|
-
if (debounceRef.current) clearTimeout(debounceRef.current);
|
|
310
|
-
debounceRef.current = setTimeout(() => doSearch(value), 300);
|
|
311
|
-
};
|
|
312
|
-
const handleKeyDown = (e) => {
|
|
313
|
-
if (!isOpen || results.length === 0) {
|
|
314
|
-
return;
|
|
315
|
-
}
|
|
316
|
-
switch (e.key) {
|
|
317
|
-
case "ArrowDown":
|
|
318
|
-
e.preventDefault();
|
|
319
|
-
setSelectedIndex((prev) => prev < results.length - 1 ? prev + 1 : 0);
|
|
320
|
-
break;
|
|
321
|
-
case "ArrowUp":
|
|
322
|
-
e.preventDefault();
|
|
323
|
-
setSelectedIndex((prev) => prev > 0 ? prev - 1 : results.length - 1);
|
|
324
|
-
break;
|
|
325
|
-
case "Enter":
|
|
326
|
-
e.preventDefault();
|
|
327
|
-
if (selectedIndex >= 0 && results[selectedIndex]) {
|
|
328
|
-
navigateToResult(results[selectedIndex]);
|
|
329
|
-
}
|
|
330
|
-
break;
|
|
331
|
-
case "Escape":
|
|
332
|
-
e.preventDefault();
|
|
333
|
-
setIsOpen(false);
|
|
334
|
-
setSelectedIndex(-1);
|
|
335
|
-
break;
|
|
336
|
-
default:
|
|
337
|
-
break;
|
|
338
|
-
}
|
|
339
|
-
};
|
|
340
|
-
const navigateToResult = (result) => {
|
|
341
|
-
window.location.href = result.url;
|
|
342
|
-
};
|
|
343
|
-
(0, import_react.useEffect)(() => {
|
|
344
|
-
const handleClickOutside = (event) => {
|
|
345
|
-
if (dropdownRef.current && !dropdownRef.current.contains(event.target) && inputRef.current && !inputRef.current.contains(event.target)) {
|
|
346
|
-
setIsOpen(false);
|
|
347
|
-
}
|
|
348
|
-
};
|
|
349
|
-
document.addEventListener("mousedown", handleClickOutside);
|
|
350
|
-
return () => document.removeEventListener("mousedown", handleClickOutside);
|
|
351
|
-
}, []);
|
|
352
|
-
(0, import_react.useEffect)(() => {
|
|
353
|
-
if (selectedIndex >= 0 && dropdownRef.current) {
|
|
354
|
-
const items = dropdownRef.current.querySelectorAll("[data-result-item]");
|
|
355
|
-
if (items[selectedIndex]) {
|
|
356
|
-
items[selectedIndex].scrollIntoView({ block: "nearest" });
|
|
357
|
-
}
|
|
358
|
-
}
|
|
359
|
-
}, [selectedIndex]);
|
|
360
|
-
const handleClear = () => {
|
|
361
|
-
var _a2;
|
|
362
|
-
setQuery("");
|
|
363
|
-
setResults([]);
|
|
364
|
-
setIsOpen(false);
|
|
365
|
-
setSelectedIndex(-1);
|
|
366
|
-
(_a2 = inputRef.current) == null ? void 0 : _a2.focus();
|
|
367
|
-
};
|
|
368
|
-
return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: cn("relative w-full", className), children: [
|
|
369
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: "relative", children: [
|
|
370
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_lucide_react.Search, { className: "absolute left-3 top-1/2 -translate-y-1/2 text-gray-400", size: 18 }),
|
|
371
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
372
|
-
"input",
|
|
373
|
-
{
|
|
374
|
-
ref: inputRef,
|
|
375
|
-
type: "text",
|
|
376
|
-
value: query,
|
|
377
|
-
onChange: handleChange,
|
|
378
|
-
onKeyDown: handleKeyDown,
|
|
379
|
-
onFocus: () => {
|
|
380
|
-
if (query.trim() && results.length > 0) {
|
|
381
|
-
setIsOpen(true);
|
|
382
|
-
}
|
|
383
|
-
},
|
|
384
|
-
placeholder,
|
|
385
|
-
className: cn(
|
|
386
|
-
"w-full pl-10 pr-10 py-2 text-sm border border-gray-200 rounded-lg",
|
|
387
|
-
"bg-white text-gray-900 placeholder-gray-400",
|
|
388
|
-
"focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent",
|
|
389
|
-
"dark:bg-gray-900 dark:border-gray-700 dark:text-gray-100 dark:placeholder-gray-500"
|
|
390
|
-
),
|
|
391
|
-
autoComplete: "off"
|
|
392
|
-
}
|
|
393
|
-
),
|
|
394
|
-
query && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
395
|
-
"button",
|
|
396
|
-
{
|
|
397
|
-
type: "button",
|
|
398
|
-
onClick: handleClear,
|
|
399
|
-
className: "absolute right-3 top-1/2 -translate-y-1/2 text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 transition-colors",
|
|
400
|
-
"aria-label": "Clear search",
|
|
401
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_lucide_react.X, { size: 18 })
|
|
402
|
-
}
|
|
403
|
-
)
|
|
404
|
-
] }),
|
|
405
|
-
isOpen && (results.length > 0 || isSearching) && /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(
|
|
406
|
-
"div",
|
|
407
|
-
{
|
|
408
|
-
ref: dropdownRef,
|
|
409
|
-
className: cn(
|
|
410
|
-
"absolute top-full left-0 right-0 mt-2 bg-white dark:bg-gray-900 border border-gray-200 dark:border-gray-700",
|
|
411
|
-
"rounded-lg shadow-lg z-50 max-h-96 overflow-y-auto"
|
|
412
|
-
),
|
|
413
|
-
children: [
|
|
414
|
-
isSearching && results.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: "px-4 py-3 text-sm text-gray-500 dark:text-gray-400 text-center", children: "Searching..." }),
|
|
415
|
-
results.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("ul", { className: "divide-y divide-gray-100 dark:divide-gray-800", children: results.map((result, index) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
416
|
-
"li",
|
|
417
|
-
{
|
|
418
|
-
"data-result-item": true,
|
|
419
|
-
className: cn(
|
|
420
|
-
"p-0 transition-colors",
|
|
421
|
-
index === selectedIndex ? "bg-blue-50 dark:bg-blue-900/30" : "bg-white dark:bg-gray-900 hover:bg-gray-50 dark:hover:bg-gray-800"
|
|
422
|
-
),
|
|
423
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(
|
|
424
|
-
"button",
|
|
425
|
-
{
|
|
426
|
-
type: "button",
|
|
427
|
-
onClick: () => navigateToResult(result),
|
|
428
|
-
className: "w-full text-left px-4 py-3 flex flex-col gap-1",
|
|
429
|
-
children: [
|
|
430
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: "flex items-center justify-between gap-2", children: [
|
|
431
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { className: "font-medium text-gray-900 dark:text-gray-100 truncate text-sm", children: highlightTerms(result.title, Object.keys(result.match)) }),
|
|
432
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { className: "shrink-0 text-xs text-gray-500 dark:text-gray-400 bg-gray-100 dark:bg-gray-800 px-2 py-0.5 rounded", children: result.typeLabel })
|
|
433
|
-
] }),
|
|
434
|
-
Object.values(result.match).flat().includes("content") && result.snippet && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("p", { className: "text-xs text-gray-500 dark:text-gray-400 line-clamp-2 text-left", children: highlightTerms(result.snippet, Object.keys(result.match)) })
|
|
435
|
-
]
|
|
436
|
-
}
|
|
437
|
-
)
|
|
438
|
-
},
|
|
439
|
-
result.id
|
|
440
|
-
)) })
|
|
441
|
-
]
|
|
442
|
-
}
|
|
443
|
-
)
|
|
444
|
-
] });
|
|
445
|
-
}
|
|
36
|
+
var import_MarkdownContent = __toESM(require("./MarkdownContent"), 1);
|
|
37
|
+
var import_RichTextContent = __toESM(require("./RichTextContent"), 1);
|
|
38
|
+
var import_SearchBox = __toESM(require("./SearchBox"), 1);
|
|
446
39
|
// Annotate the CommonJS export names for ESM import in node:
|
|
447
40
|
0 && (module.exports = {
|
|
448
41
|
MarkdownContent,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../components/public/index.ts","../../../components/public/MarkdownContent.tsx","../../../lib/utils.ts","../../../components/public/RichTextContent.tsx","../../../components/public/SearchBox.tsx"],"sourcesContent":["export { default as MarkdownContent } from './MarkdownContent';\nexport { default as RichTextContent } from './RichTextContent';\nexport { default as SearchBox } from './SearchBox';\nexport type { SearchBoxProps } from './SearchBox';\n","import React from 'react';\n\nimport Markdown from 'react-markdown';\nimport rehypeSanitize, { defaultSchema } from 'rehype-sanitize';\nimport remarkGfm from 'remark-gfm';\n\nimport { cn } from '../../lib/utils';\n\n/**\n * Sanitization schema: extends the default GitHub-flavoured schema with\n * the same tag/attribute allowlist that was previously applied via sanitize-html.\n */\nconst sanitizeSchema = {\n ...defaultSchema,\n tagNames: [\n ...(defaultSchema.tagNames ?? []),\n 'u', // underline — not in GitHub default\n ],\n attributes: {\n ...defaultSchema.attributes,\n code: [...(defaultSchema.attributes?.code ?? []), 'className'],\n img: ['src', 'alt', 'title'],\n },\n};\n\ntype MarkdownContentProps = {\n children: string | undefined | null;\n className?: string;\n};\n\n/**\n * Renders raw Markdown as React elements using react-markdown with GFM support\n * and HTML sanitization. Replaces the previous `dangerouslySetInnerHTML` approach.\n */\nconst MarkdownContent = ({ children, className }: MarkdownContentProps) => {\n if (!children) {\n return null;\n }\n\n return (\n <div className={cn(className)}>\n <Markdown remarkPlugins={[remarkGfm]} rehypePlugins={[[rehypeSanitize, sanitizeSchema]]}>\n {children}\n </Markdown>\n </div>\n );\n};\n\nexport default MarkdownContent;\n","import { type ClassValue, clsx } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\n/**\n * Merge Tailwind classes with clsx — the standard utility for Radix UI + Tailwind components.\n * Handles conditional classes, deduplication, and conflict resolution.\n *\n * @example\n * cn('px-4 py-2', isActive && 'bg-primary text-primary-foreground', className)\n */\nexport const cn = (...inputs: ClassValue[]) => twMerge(clsx(inputs));\n","import React from 'react';\nimport Image from 'next/image';\n\nimport type { RichTextDocument, RichTextNode, ResolvedImageField } from '../../types';\nimport { cn } from '../../lib/utils';\n\ntype RichTextContentProps = {\n document: RichTextDocument | null | undefined;\n /** Map custom component names to React components for rendering `{ type: 'component' }` nodes. */\n components?: Record<string, React.ComponentType<any>>;\n /** Variable substitutions for `{ type: 'variable' }` nodes. */\n variables?: Record<string, string>;\n /** Condition branch selections: map condition field names to the branch key to render. */\n conditions?: Record<string, string>;\n className?: string;\n};\n\n/**\n * Renders a `RichTextDocument` AST to React elements.\n *\n * Standard markdown nodes become HTML elements.\n * `CmsImage` embeds render as `next/image`.\n * Custom components and variables are resolved from the provided props.\n */\nconst RichTextContent = ({ document, components, variables, conditions, className }: RichTextContentProps) => {\n if (!document || !document.content?.length) return null;\n return (\n <div className={cn(className)}>\n {document.content.map((node, i) => (\n <RenderNode key={i} node={node} components={components} variables={variables} conditions={conditions} />\n ))}\n </div>\n );\n};\n\nexport default RichTextContent;\n\n// ---------------------------------------------------------------------------\n// Internal node renderer\n// ---------------------------------------------------------------------------\n\ntype NodeProps = {\n node: RichTextNode;\n components?: Record<string, React.ComponentType<any>>;\n variables?: Record<string, string>;\n conditions?: Record<string, string>;\n};\n\nfunction RenderNode({ node, components, variables, conditions }: NodeProps) {\n switch (node.type) {\n case 'paragraph':\n return (\n <p>\n <RenderChildren nodes={node.children} components={components} variables={variables} conditions={conditions} />\n </p>\n );\n\n case 'heading': {\n const Tag = `h${node.level}` as 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\n return (\n <Tag>\n <RenderChildren nodes={node.children} components={components} variables={variables} conditions={conditions} />\n </Tag>\n );\n }\n\n case 'blockquote':\n return (\n <blockquote>\n <RenderChildren nodes={node.children} components={components} variables={variables} conditions={conditions} />\n </blockquote>\n );\n\n case 'list':\n if (node.ordered) {\n return (\n <ol>\n <RenderChildren\n nodes={node.children}\n components={components}\n variables={variables}\n conditions={conditions}\n />\n </ol>\n );\n }\n return (\n <ul>\n <RenderChildren nodes={node.children} components={components} variables={variables} conditions={conditions} />\n </ul>\n );\n\n case 'listItem':\n return (\n <li>\n <RenderChildren nodes={node.children} components={components} variables={variables} conditions={conditions} />\n </li>\n );\n\n case 'thematicBreak':\n return <hr />;\n\n case 'code':\n return (\n <pre>\n <code className={node.lang ? `language-${node.lang}` : undefined}>{node.value}</code>\n </pre>\n );\n\n case 'text':\n return <RenderText node={node} />;\n\n case 'link':\n return (\n <a href={node.url}>\n <RenderChildren nodes={node.children} components={components} variables={variables} conditions={conditions} />\n </a>\n );\n\n case 'image':\n return <RenderImage image={node.image} />;\n\n case 'break':\n return <br />;\n\n case 'html':\n return null;\n\n case 'variable': {\n const value = variables?.[node.name];\n return <>{value ?? `{${node.name}}`}</>;\n }\n\n case 'component': {\n const Component = components?.[node.name];\n if (!Component) return null;\n return (\n <Component {...node.props}>\n {node.children?.length ? (\n <RenderChildren\n nodes={node.children}\n components={components}\n variables={variables}\n conditions={conditions}\n />\n ) : null}\n </Component>\n );\n }\n\n case 'reference':\n return <RenderReference node={node} components={components} />;\n\n case 'condition':\n return <RenderCondition node={node} components={components} variables={variables} conditions={conditions} />;\n\n default:\n return null;\n }\n}\n\n// ---------------------------------------------------------------------------\n// Inline text with marks\n// ---------------------------------------------------------------------------\n\nfunction RenderText({ node }: { node: Extract<RichTextNode, { type: 'text' }> }) {\n let element: React.ReactNode = node.value;\n if (node.marks) {\n for (const mark of node.marks) {\n switch (mark) {\n case 'bold':\n element = <strong>{element}</strong>;\n break;\n case 'italic':\n element = <em>{element}</em>;\n break;\n case 'underline':\n element = <u>{element}</u>;\n break;\n case 'code':\n element = <code>{element}</code>;\n break;\n }\n }\n }\n return <>{element}</>;\n}\n\n// ---------------------------------------------------------------------------\n// Image rendering via next/image\n// ---------------------------------------------------------------------------\n\nfunction RenderImage({ image }: { image: ResolvedImageField }) {\n if (!image.src) return null;\n\n const hasSize = image.width != null && image.height != null;\n\n if (hasSize) {\n return (\n <Image\n src={image.src}\n alt={image.alt}\n width={image.width!}\n height={image.height!}\n {...(image.blurDataURL ? { placeholder: 'blur' as const, blurDataURL: image.blurDataURL } : {})}\n />\n );\n }\n\n // Fallback for images without dimensions — use fill with a container\n return (\n <span className=\"relative block w-full\" style={{ aspectRatio: '16/9' }}>\n <Image\n src={image.src}\n alt={image.alt}\n fill\n className=\"object-cover\"\n {...(image.blurDataURL ? { placeholder: 'blur' as const, blurDataURL: image.blurDataURL } : {})}\n />\n </span>\n );\n}\n\n// ---------------------------------------------------------------------------\n// Reference rendering — embedded entry references\n// ---------------------------------------------------------------------------\n\ntype ReferenceNode = Extract<RichTextNode, { type: 'reference' }>;\n\nfunction RenderReference({\n node,\n components,\n}: {\n node: ReferenceNode;\n components?: Record<string, React.ComponentType<any>>;\n}) {\n const entry = node.entry as { sys?: { type?: string }; fields?: Record<string, unknown> } | null;\n if (!entry) return null;\n\n const collectionType = entry.sys?.type;\n\n // If consumer provided a custom component for this collection type, use it\n if (collectionType && components?.[collectionType]) {\n const Component = components[collectionType];\n return node.display === 'inline' ? (\n <Component entry={entry} display={node.display} />\n ) : (\n <div>\n <Component entry={entry} display={node.display} />\n </div>\n );\n }\n\n // Default fallback: show the entry's title field if available\n const title = entry.fields\n ? (Object.values(entry.fields).find((v) => typeof v === 'string' && v.length > 0) as string | undefined)\n : null;\n\n if (node.display === 'inline') {\n return <span>{title ?? collectionType ?? 'Reference'}</span>;\n }\n\n return (\n <div className=\"rounded border border-border p-3 my-2 bg-muted/30\">\n {collectionType && <span className=\"text-xs text-muted-foreground block mb-0.5\">{collectionType}</span>}\n <span className=\"text-sm font-medium\">{title ?? 'Untitled entry'}</span>\n </div>\n );\n}\n\n// ---------------------------------------------------------------------------\n// Condition rendering — select and render the appropriate branch\n// ---------------------------------------------------------------------------\n\ntype ConditionNode = Extract<RichTextNode, { type: 'condition' }>;\n\nfunction RenderCondition({\n node,\n components,\n variables,\n conditions,\n}: {\n node: ConditionNode;\n components?: Record<string, React.ComponentType<any>>;\n variables?: Record<string, string>;\n conditions?: Record<string, string>;\n}) {\n const branches = node.branches;\n if (!branches || typeof branches !== 'object') return null;\n\n // If a condition selection was provided, render only the selected branch\n const selectedKey = node.field && conditions ? conditions[node.field] : undefined;\n\n if (selectedKey) {\n const doc = (branches as Record<string, RichTextDocument>)[selectedKey];\n if (!doc || !doc.content?.length) return null;\n return (\n <>\n {doc.content.map((child, i) => (\n <RenderNode key={i} node={child} components={components} variables={variables} conditions={conditions} />\n ))}\n </>\n );\n }\n\n // No condition provided — render nothing (consumer must specify which branch to show)\n return null;\n}\n\n// ---------------------------------------------------------------------------\n// Helper: render a list of child nodes\n// ---------------------------------------------------------------------------\n\nfunction RenderChildren({\n nodes,\n components,\n variables,\n conditions,\n}: { nodes: RichTextNode[] } & Pick<NodeProps, 'components' | 'variables' | 'conditions'>) {\n return (\n <>\n {nodes.map((child, i) => (\n <RenderNode key={i} node={child} components={components} variables={variables} conditions={conditions} />\n ))}\n </>\n );\n}\n","'use client';\n\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { Search, X } from 'lucide-react';\n\nimport type { SearchResult } from '../../lib/searchIndex';\nimport { cn } from '../../lib/utils';\n\n/** Escape special regex characters in a string. */\nfunction escapeRegex(s: string): string {\n return s.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n}\n\n/**\n * Split text into alternating non-match/match segments and wrap matches in <mark>.\n * Uses prefix matching (term\\w*) to support MiniSearch's prefix: true behavior.\n */\nfunction highlightTerms(text: string, terms: string[]): React.ReactNode {\n const filtered = terms.filter((t) => t.length > 0);\n if (filtered.length === 0) return text;\n\n const pattern = filtered.map((t) => escapeRegex(t) + '\\\\w*').join('|');\n const parts = text.split(new RegExp(`(${pattern})`, 'gi'));\n\n return parts.map((part, i) =>\n i % 2 === 1 ? (\n <mark key={i} className=\"bg-yellow-200 dark:bg-yellow-800 text-inherit rounded-sm px-0.5\">\n {part}\n </mark>\n ) : (\n part\n ),\n );\n}\n\nexport interface SearchBoxProps {\n placeholder?: string;\n className?: string;\n}\n\nexport default function SearchBox({ placeholder = 'Search...', className = '' }: SearchBoxProps) {\n const inputRef = useRef<HTMLInputElement>(null);\n const dropdownRef = useRef<HTMLDivElement>(null);\n const [query, setQuery] = useState('');\n const [results, setResults] = useState<SearchResult[]>([]);\n const [isOpen, setIsOpen] = useState(false);\n const [isSearching, setIsSearching] = useState(false);\n const [selectedIndex, setSelectedIndex] = useState(-1);\n const debounceRef = useRef<ReturnType<typeof setTimeout> | undefined>(undefined);\n\n // Fetch search results\n const doSearch = useCallback(async (q: string) => {\n if (!q.trim()) {\n setResults([]);\n setIsOpen(false);\n setSelectedIndex(-1);\n return;\n }\n\n setIsSearching(true);\n try {\n const response = await fetch(`/api/search?q=${encodeURIComponent(q)}&limit=10`);\n if (response.ok) {\n const data = await response.json();\n setResults(data.results || []);\n setIsOpen(true);\n setSelectedIndex(-1);\n } else {\n setResults([]);\n setIsOpen(false);\n }\n } catch {\n setResults([]);\n setIsOpen(false);\n } finally {\n setIsSearching(false);\n }\n }, []);\n\n // Handle input change with debounce\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const value = e.target.value;\n setQuery(value);\n\n if (debounceRef.current) clearTimeout(debounceRef.current);\n debounceRef.current = setTimeout(() => doSearch(value), 300);\n };\n\n // Handle keyboard navigation\n const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (!isOpen || results.length === 0) {\n return;\n }\n\n switch (e.key) {\n case 'ArrowDown':\n e.preventDefault();\n setSelectedIndex((prev) => (prev < results.length - 1 ? prev + 1 : 0));\n break;\n case 'ArrowUp':\n e.preventDefault();\n setSelectedIndex((prev) => (prev > 0 ? prev - 1 : results.length - 1));\n break;\n case 'Enter':\n e.preventDefault();\n if (selectedIndex >= 0 && results[selectedIndex]) {\n navigateToResult(results[selectedIndex]);\n }\n break;\n case 'Escape':\n e.preventDefault();\n setIsOpen(false);\n setSelectedIndex(-1);\n break;\n default:\n break;\n }\n };\n\n // Navigate to a result\n const navigateToResult = (result: SearchResult) => {\n window.location.href = result.url;\n };\n\n // Close dropdown when clicking outside\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n if (\n dropdownRef.current &&\n !dropdownRef.current.contains(event.target as Node) &&\n inputRef.current &&\n !inputRef.current.contains(event.target as Node)\n ) {\n setIsOpen(false);\n }\n };\n\n document.addEventListener('mousedown', handleClickOutside);\n return () => document.removeEventListener('mousedown', handleClickOutside);\n }, []);\n\n // Scroll selected result into view\n useEffect(() => {\n if (selectedIndex >= 0 && dropdownRef.current) {\n const items = dropdownRef.current.querySelectorAll('[data-result-item]');\n if (items[selectedIndex]) {\n items[selectedIndex].scrollIntoView({ block: 'nearest' });\n }\n }\n }, [selectedIndex]);\n\n const handleClear = () => {\n setQuery('');\n setResults([]);\n setIsOpen(false);\n setSelectedIndex(-1);\n inputRef.current?.focus();\n };\n\n return (\n <div className={cn('relative w-full', className)}>\n <div className=\"relative\">\n <Search className=\"absolute left-3 top-1/2 -translate-y-1/2 text-gray-400\" size={18} />\n <input\n ref={inputRef}\n type=\"text\"\n value={query}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n onFocus={() => {\n if (query.trim() && results.length > 0) {\n setIsOpen(true);\n }\n }}\n placeholder={placeholder}\n className={cn(\n 'w-full pl-10 pr-10 py-2 text-sm border border-gray-200 rounded-lg',\n 'bg-white text-gray-900 placeholder-gray-400',\n 'focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent',\n 'dark:bg-gray-900 dark:border-gray-700 dark:text-gray-100 dark:placeholder-gray-500',\n )}\n autoComplete=\"off\"\n />\n {query && (\n <button\n type=\"button\"\n onClick={handleClear}\n className=\"absolute right-3 top-1/2 -translate-y-1/2 text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 transition-colors\"\n aria-label=\"Clear search\"\n >\n <X size={18} />\n </button>\n )}\n </div>\n\n {/* Dropdown results */}\n {isOpen && (results.length > 0 || isSearching) && (\n <div\n ref={dropdownRef}\n className={cn(\n 'absolute top-full left-0 right-0 mt-2 bg-white dark:bg-gray-900 border border-gray-200 dark:border-gray-700',\n 'rounded-lg shadow-lg z-50 max-h-96 overflow-y-auto',\n )}\n >\n {isSearching && results.length === 0 && (\n <div className=\"px-4 py-3 text-sm text-gray-500 dark:text-gray-400 text-center\">Searching...</div>\n )}\n\n {results.length > 0 && (\n <ul className=\"divide-y divide-gray-100 dark:divide-gray-800\">\n {results.map((result, index) => (\n <li\n key={result.id}\n data-result-item\n className={cn(\n 'p-0 transition-colors',\n index === selectedIndex\n ? 'bg-blue-50 dark:bg-blue-900/30'\n : 'bg-white dark:bg-gray-900 hover:bg-gray-50 dark:hover:bg-gray-800',\n )}\n >\n <button\n type=\"button\"\n onClick={() => navigateToResult(result)}\n className=\"w-full text-left px-4 py-3 flex flex-col gap-1\"\n >\n <div className=\"flex items-center justify-between gap-2\">\n <span className=\"font-medium text-gray-900 dark:text-gray-100 truncate text-sm\">\n {highlightTerms(result.title, Object.keys(result.match))}\n </span>\n <span className=\"shrink-0 text-xs text-gray-500 dark:text-gray-400 bg-gray-100 dark:bg-gray-800 px-2 py-0.5 rounded\">\n {result.typeLabel}\n </span>\n </div>\n {Object.values(result.match).flat().includes('content') && result.snippet && (\n <p className=\"text-xs text-gray-500 dark:text-gray-400 line-clamp-2 text-left\">\n {highlightTerms(result.snippet, Object.keys(result.match))}\n </p>\n )}\n </button>\n </li>\n ))}\n </ul>\n )}\n </div>\n )}\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACEA,4BAAqB;AACrB,6BAA8C;AAC9C,wBAAsB;;;ACJtB,kBAAsC;AACtC,4BAAwB;AASjB,IAAM,KAAK,IAAI,eAAyB,mCAAQ,kBAAK,MAAM,CAAC;;;AD+B7D;AAzCN;AAYA,IAAM,iBAAiB,iCAClB,uCADkB;AAAA,EAErB,UAAU;AAAA,IACR,IAAI,0CAAc,aAAd,YAA0B,CAAC;AAAA,IAC/B;AAAA;AAAA,EACF;AAAA,EACA,YAAY,iCACP,qCAAc,aADP;AAAA,IAEV,MAAM,CAAC,IAAI,gDAAc,eAAd,mBAA0B,SAA1B,YAAkC,CAAC,GAAI,WAAW;AAAA,IAC7D,KAAK,CAAC,OAAO,OAAO,OAAO;AAAA,EAC7B;AACF;AAWA,IAAM,kBAAkB,CAAC,EAAE,UAAU,UAAU,MAA4B;AACzE,MAAI,CAAC,UAAU;AACb,WAAO;AAAA,EACT;AAEA,SACE,4CAAC,SAAI,WAAW,GAAG,SAAS,GAC1B,sDAAC,sBAAAA,SAAA,EAAS,eAAe,CAAC,kBAAAC,OAAS,GAAG,eAAe,CAAC,CAAC,uBAAAC,SAAgB,cAAc,CAAC,GACnF,UACH,GACF;AAEJ;AAEA,IAAO,0BAAQ;;;AE/Cf,mBAAkB;AA4BV,IAAAC,sBAAA;AALR,IAAM,kBAAkB,CAAC,EAAE,UAAAC,WAAU,YAAY,WAAW,YAAY,UAAU,MAA4B;AAxB9G,MAAAC;AAyBE,MAAI,CAACD,aAAY,GAACC,MAAAD,UAAS,YAAT,gBAAAC,IAAkB,QAAQ,QAAO;AACnD,SACE,6CAAC,SAAI,WAAW,GAAG,SAAS,GACzB,UAAAD,UAAS,QAAQ,IAAI,CAAC,MAAM,MAC3B,6CAAC,cAAmB,MAAY,YAAwB,WAAsB,cAA7D,CAAqF,CACvG,GACH;AAEJ;AAEA,IAAO,0BAAQ;AAaf,SAAS,WAAW,EAAE,MAAM,YAAY,WAAW,WAAW,GAAc;AAhD5E,MAAAC;AAiDE,UAAQ,KAAK,MAAM;AAAA,IACjB,KAAK;AACH,aACE,6CAAC,OACC,uDAAC,kBAAe,OAAO,KAAK,UAAU,YAAwB,WAAsB,YAAwB,GAC9G;AAAA,IAGJ,KAAK,WAAW;AACd,YAAM,MAAM,IAAI,KAAK,KAAK;AAC1B,aACE,6CAAC,OACC,uDAAC,kBAAe,OAAO,KAAK,UAAU,YAAwB,WAAsB,YAAwB,GAC9G;AAAA,IAEJ;AAAA,IAEA,KAAK;AACH,aACE,6CAAC,gBACC,uDAAC,kBAAe,OAAO,KAAK,UAAU,YAAwB,WAAsB,YAAwB,GAC9G;AAAA,IAGJ,KAAK;AACH,UAAI,KAAK,SAAS;AAChB,eACE,6CAAC,QACC;AAAA,UAAC;AAAA;AAAA,YACC,OAAO,KAAK;AAAA,YACZ;AAAA,YACA;AAAA,YACA;AAAA;AAAA,QACF,GACF;AAAA,MAEJ;AACA,aACE,6CAAC,QACC,uDAAC,kBAAe,OAAO,KAAK,UAAU,YAAwB,WAAsB,YAAwB,GAC9G;AAAA,IAGJ,KAAK;AACH,aACE,6CAAC,QACC,uDAAC,kBAAe,OAAO,KAAK,UAAU,YAAwB,WAAsB,YAAwB,GAC9G;AAAA,IAGJ,KAAK;AACH,aAAO,6CAAC,QAAG;AAAA,IAEb,KAAK;AACH,aACE,6CAAC,SACC,uDAAC,UAAK,WAAW,KAAK,OAAO,YAAY,KAAK,IAAI,KAAK,QAAY,eAAK,OAAM,GAChF;AAAA,IAGJ,KAAK;AACH,aAAO,6CAAC,cAAW,MAAY;AAAA,IAEjC,KAAK;AACH,aACE,6CAAC,OAAE,MAAM,KAAK,KACZ,uDAAC,kBAAe,OAAO,KAAK,UAAU,YAAwB,WAAsB,YAAwB,GAC9G;AAAA,IAGJ,KAAK;AACH,aAAO,6CAAC,eAAY,OAAO,KAAK,OAAO;AAAA,IAEzC,KAAK;AACH,aAAO,6CAAC,QAAG;AAAA,IAEb,KAAK;AACH,aAAO;AAAA,IAET,KAAK,YAAY;AACf,YAAM,QAAQ,uCAAY,KAAK;AAC/B,aAAO,6EAAG,kCAAS,IAAI,KAAK,IAAI,KAAI;AAAA,IACtC;AAAA,IAEA,KAAK,aAAa;AAChB,YAAM,YAAY,yCAAa,KAAK;AACpC,UAAI,CAAC,UAAW,QAAO;AACvB,aACE,6CAAC,4CAAc,KAAK,QAAnB,EACE,YAAAA,MAAA,KAAK,aAAL,gBAAAA,IAAe,UACd;AAAA,QAAC;AAAA;AAAA,UACC,OAAO,KAAK;AAAA,UACZ;AAAA,UACA;AAAA,UACA;AAAA;AAAA,MACF,IACE,OACN;AAAA,IAEJ;AAAA,IAEA,KAAK;AACH,aAAO,6CAAC,mBAAgB,MAAY,YAAwB;AAAA,IAE9D,KAAK;AACH,aAAO,6CAAC,mBAAgB,MAAY,YAAwB,WAAsB,YAAwB;AAAA,IAE5G;AACE,aAAO;AAAA,EACX;AACF;AAMA,SAAS,WAAW,EAAE,KAAK,GAAsD;AAC/E,MAAI,UAA2B,KAAK;AACpC,MAAI,KAAK,OAAO;AACd,eAAW,QAAQ,KAAK,OAAO;AAC7B,cAAQ,MAAM;AAAA,QACZ,KAAK;AACH,oBAAU,6CAAC,YAAQ,mBAAQ;AAC3B;AAAA,QACF,KAAK;AACH,oBAAU,6CAAC,QAAI,mBAAQ;AACvB;AAAA,QACF,KAAK;AACH,oBAAU,6CAAC,OAAG,mBAAQ;AACtB;AAAA,QACF,KAAK;AACH,oBAAU,6CAAC,UAAM,mBAAQ;AACzB;AAAA,MACJ;AAAA,IACF;AAAA,EACF;AACA,SAAO,6EAAG,mBAAQ;AACpB;AAMA,SAAS,YAAY,EAAE,MAAM,GAAkC;AAC7D,MAAI,CAAC,MAAM,IAAK,QAAO;AAEvB,QAAM,UAAU,MAAM,SAAS,QAAQ,MAAM,UAAU;AAEvD,MAAI,SAAS;AACX,WACE;AAAA,MAAC,aAAAC;AAAA,MAAA;AAAA,QACC,KAAK,MAAM;AAAA,QACX,KAAK,MAAM;AAAA,QACX,OAAO,MAAM;AAAA,QACb,QAAQ,MAAM;AAAA,SACT,MAAM,cAAc,EAAE,aAAa,QAAiB,aAAa,MAAM,YAAY,IAAI,CAAC;AAAA,IAC/F;AAAA,EAEJ;AAGA,SACE,6CAAC,UAAK,WAAU,yBAAwB,OAAO,EAAE,aAAa,OAAO,GACnE;AAAA,IAAC,aAAAA;AAAA,IAAA;AAAA,MACC,KAAK,MAAM;AAAA,MACX,KAAK,MAAM;AAAA,MACX,MAAI;AAAA,MACJ,WAAU;AAAA,OACL,MAAM,cAAc,EAAE,aAAa,QAAiB,aAAa,MAAM,YAAY,IAAI,CAAC;AAAA,EAC/F,GACF;AAEJ;AAQA,SAAS,gBAAgB;AAAA,EACvB;AAAA,EACA;AACF,GAGG;AA3OH,MAAAD,KAAAE;AA4OE,QAAM,QAAQ,KAAK;AACnB,MAAI,CAAC,MAAO,QAAO;AAEnB,QAAM,kBAAiBF,MAAA,MAAM,QAAN,gBAAAA,IAAW;AAGlC,MAAI,mBAAkB,yCAAa,kBAAiB;AAClD,UAAM,YAAY,WAAW,cAAc;AAC3C,WAAO,KAAK,YAAY,WACtB,6CAAC,aAAU,OAAc,SAAS,KAAK,SAAS,IAEhD,6CAAC,SACC,uDAAC,aAAU,OAAc,SAAS,KAAK,SAAS,GAClD;AAAA,EAEJ;AAGA,QAAM,QAAQ,MAAM,SACf,OAAO,OAAO,MAAM,MAAM,EAAE,KAAK,CAAC,MAAM,OAAO,MAAM,YAAY,EAAE,SAAS,CAAC,IAC9E;AAEJ,MAAI,KAAK,YAAY,UAAU;AAC7B,WAAO,6CAAC,UAAM,WAAAE,MAAA,wBAAS,mBAAT,OAAAA,MAA2B,aAAY;AAAA,EACvD;AAEA,SACE,8CAAC,SAAI,WAAU,qDACZ;AAAA,sBAAkB,6CAAC,UAAK,WAAU,8CAA8C,0BAAe;AAAA,IAChG,6CAAC,UAAK,WAAU,uBAAuB,kCAAS,kBAAiB;AAAA,KACnE;AAEJ;AAQA,SAAS,gBAAgB;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAKG;AA9RH,MAAAF;AA+RE,QAAM,WAAW,KAAK;AACtB,MAAI,CAAC,YAAY,OAAO,aAAa,SAAU,QAAO;AAGtD,QAAM,cAAc,KAAK,SAAS,aAAa,WAAW,KAAK,KAAK,IAAI;AAExE,MAAI,aAAa;AACf,UAAM,MAAO,SAA8C,WAAW;AACtE,QAAI,CAAC,OAAO,GAACA,MAAA,IAAI,YAAJ,gBAAAA,IAAa,QAAQ,QAAO;AACzC,WACE,6EACG,cAAI,QAAQ,IAAI,CAAC,OAAO,MACvB,6CAAC,cAAmB,MAAM,OAAO,YAAwB,WAAsB,cAA9D,CAAsF,CACxG,GACH;AAAA,EAEJ;AAGA,SAAO;AACT;AAMA,SAAS,eAAe;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAA2F;AACzF,SACE,6EACG,gBAAM,IAAI,CAAC,OAAO,MACjB,6CAAC,cAAmB,MAAM,OAAO,YAAwB,WAAsB,cAA9D,CAAsF,CACxG,GACH;AAEJ;;;ACpUA,mBAAgE;AAChE,0BAA0B;AAuBpB,IAAAG,sBAAA;AAjBN,SAAS,YAAY,GAAmB;AACtC,SAAO,EAAE,QAAQ,uBAAuB,MAAM;AAChD;AAMA,SAAS,eAAe,MAAc,OAAkC;AACtE,QAAM,WAAW,MAAM,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC;AACjD,MAAI,SAAS,WAAW,EAAG,QAAO;AAElC,QAAM,UAAU,SAAS,IAAI,CAAC,MAAM,YAAY,CAAC,IAAI,MAAM,EAAE,KAAK,GAAG;AACrE,QAAM,QAAQ,KAAK,MAAM,IAAI,OAAO,IAAI,OAAO,KAAK,IAAI,CAAC;AAEzD,SAAO,MAAM;AAAA,IAAI,CAAC,MAAM,MACtB,IAAI,MAAM,IACR,6CAAC,UAAa,WAAU,mEACrB,kBADQ,CAEX,IAEA;AAAA,EAEJ;AACF;AAOe,SAAR,UAA2B,EAAE,cAAc,aAAa,YAAY,GAAG,GAAmB;AAC/F,QAAM,eAAW,qBAAyB,IAAI;AAC9C,QAAM,kBAAc,qBAAuB,IAAI;AAC/C,QAAM,CAAC,OAAO,QAAQ,QAAI,uBAAS,EAAE;AACrC,QAAM,CAAC,SAAS,UAAU,QAAI,uBAAyB,CAAC,CAAC;AACzD,QAAM,CAAC,QAAQ,SAAS,QAAI,uBAAS,KAAK;AAC1C,QAAM,CAAC,aAAa,cAAc,QAAI,uBAAS,KAAK;AACpD,QAAM,CAAC,eAAe,gBAAgB,QAAI,uBAAS,EAAE;AACrD,QAAM,kBAAc,qBAAkD,MAAS;AAG/E,QAAM,eAAW,0BAAY,OAAO,MAAc;AAChD,QAAI,CAAC,EAAE,KAAK,GAAG;AACb,iBAAW,CAAC,CAAC;AACb,gBAAU,KAAK;AACf,uBAAiB,EAAE;AACnB;AAAA,IACF;AAEA,mBAAe,IAAI;AACnB,QAAI;AACF,YAAM,WAAW,MAAM,MAAM,iBAAiB,mBAAmB,CAAC,CAAC,WAAW;AAC9E,UAAI,SAAS,IAAI;AACf,cAAM,OAAO,MAAM,SAAS,KAAK;AACjC,mBAAW,KAAK,WAAW,CAAC,CAAC;AAC7B,kBAAU,IAAI;AACd,yBAAiB,EAAE;AAAA,MACrB,OAAO;AACL,mBAAW,CAAC,CAAC;AACb,kBAAU,KAAK;AAAA,MACjB;AAAA,IACF,SAAQ;AACN,iBAAW,CAAC,CAAC;AACb,gBAAU,KAAK;AAAA,IACjB,UAAE;AACA,qBAAe,KAAK;AAAA,IACtB;AAAA,EACF,GAAG,CAAC,CAAC;AAGL,QAAM,eAAe,CAAC,MAA2C;AAC/D,UAAM,QAAQ,EAAE,OAAO;AACvB,aAAS,KAAK;AAEd,QAAI,YAAY,QAAS,cAAa,YAAY,OAAO;AACzD,gBAAY,UAAU,WAAW,MAAM,SAAS,KAAK,GAAG,GAAG;AAAA,EAC7D;AAGA,QAAM,gBAAgB,CAAC,MAA6C;AAClE,QAAI,CAAC,UAAU,QAAQ,WAAW,GAAG;AACnC;AAAA,IACF;AAEA,YAAQ,EAAE,KAAK;AAAA,MACb,KAAK;AACH,UAAE,eAAe;AACjB,yBAAiB,CAAC,SAAU,OAAO,QAAQ,SAAS,IAAI,OAAO,IAAI,CAAE;AACrE;AAAA,MACF,KAAK;AACH,UAAE,eAAe;AACjB,yBAAiB,CAAC,SAAU,OAAO,IAAI,OAAO,IAAI,QAAQ,SAAS,CAAE;AACrE;AAAA,MACF,KAAK;AACH,UAAE,eAAe;AACjB,YAAI,iBAAiB,KAAK,QAAQ,aAAa,GAAG;AAChD,2BAAiB,QAAQ,aAAa,CAAC;AAAA,QACzC;AACA;AAAA,MACF,KAAK;AACH,UAAE,eAAe;AACjB,kBAAU,KAAK;AACf,yBAAiB,EAAE;AACnB;AAAA,MACF;AACE;AAAA,IACJ;AAAA,EACF;AAGA,QAAM,mBAAmB,CAAC,WAAyB;AACjD,WAAO,SAAS,OAAO,OAAO;AAAA,EAChC;AAGA,8BAAU,MAAM;AACd,UAAM,qBAAqB,CAAC,UAAsB;AAChD,UACE,YAAY,WACZ,CAAC,YAAY,QAAQ,SAAS,MAAM,MAAc,KAClD,SAAS,WACT,CAAC,SAAS,QAAQ,SAAS,MAAM,MAAc,GAC/C;AACA,kBAAU,KAAK;AAAA,MACjB;AAAA,IACF;AAEA,aAAS,iBAAiB,aAAa,kBAAkB;AACzD,WAAO,MAAM,SAAS,oBAAoB,aAAa,kBAAkB;AAAA,EAC3E,GAAG,CAAC,CAAC;AAGL,8BAAU,MAAM;AACd,QAAI,iBAAiB,KAAK,YAAY,SAAS;AAC7C,YAAM,QAAQ,YAAY,QAAQ,iBAAiB,oBAAoB;AACvE,UAAI,MAAM,aAAa,GAAG;AACxB,cAAM,aAAa,EAAE,eAAe,EAAE,OAAO,UAAU,CAAC;AAAA,MAC1D;AAAA,IACF;AAAA,EACF,GAAG,CAAC,aAAa,CAAC;AAElB,QAAM,cAAc,MAAM;AAvJ5B,QAAAC;AAwJI,aAAS,EAAE;AACX,eAAW,CAAC,CAAC;AACb,cAAU,KAAK;AACf,qBAAiB,EAAE;AACnB,KAAAA,MAAA,SAAS,YAAT,gBAAAA,IAAkB;AAAA,EACpB;AAEA,SACE,8CAAC,SAAI,WAAW,GAAG,mBAAmB,SAAS,GAC7C;AAAA,kDAAC,SAAI,WAAU,YACb;AAAA,mDAAC,8BAAO,WAAU,0DAAyD,MAAM,IAAI;AAAA,MACrF;AAAA,QAAC;AAAA;AAAA,UACC,KAAK;AAAA,UACL,MAAK;AAAA,UACL,OAAO;AAAA,UACP,UAAU;AAAA,UACV,WAAW;AAAA,UACX,SAAS,MAAM;AACb,gBAAI,MAAM,KAAK,KAAK,QAAQ,SAAS,GAAG;AACtC,wBAAU,IAAI;AAAA,YAChB;AAAA,UACF;AAAA,UACA;AAAA,UACA,WAAW;AAAA,YACT;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACF;AAAA,UACA,cAAa;AAAA;AAAA,MACf;AAAA,MACC,SACC;AAAA,QAAC;AAAA;AAAA,UACC,MAAK;AAAA,UACL,SAAS;AAAA,UACT,WAAU;AAAA,UACV,cAAW;AAAA,UAEX,uDAAC,yBAAE,MAAM,IAAI;AAAA;AAAA,MACf;AAAA,OAEJ;AAAA,IAGC,WAAW,QAAQ,SAAS,KAAK,gBAChC;AAAA,MAAC;AAAA;AAAA,QACC,KAAK;AAAA,QACL,WAAW;AAAA,UACT;AAAA,UACA;AAAA,QACF;AAAA,QAEC;AAAA,yBAAe,QAAQ,WAAW,KACjC,6CAAC,SAAI,WAAU,kEAAiE,0BAAY;AAAA,UAG7F,QAAQ,SAAS,KAChB,6CAAC,QAAG,WAAU,iDACX,kBAAQ,IAAI,CAAC,QAAQ,UACpB;AAAA,YAAC;AAAA;AAAA,cAEC,oBAAgB;AAAA,cAChB,WAAW;AAAA,gBACT;AAAA,gBACA,UAAU,gBACN,mCACA;AAAA,cACN;AAAA,cAEA;AAAA,gBAAC;AAAA;AAAA,kBACC,MAAK;AAAA,kBACL,SAAS,MAAM,iBAAiB,MAAM;AAAA,kBACtC,WAAU;AAAA,kBAEV;AAAA,kEAAC,SAAI,WAAU,2CACb;AAAA,mEAAC,UAAK,WAAU,iEACb,yBAAe,OAAO,OAAO,OAAO,KAAK,OAAO,KAAK,CAAC,GACzD;AAAA,sBACA,6CAAC,UAAK,WAAU,sGACb,iBAAO,WACV;AAAA,uBACF;AAAA,oBACC,OAAO,OAAO,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,SAAS,KAAK,OAAO,WAChE,6CAAC,OAAE,WAAU,mEACV,yBAAe,OAAO,SAAS,OAAO,KAAK,OAAO,KAAK,CAAC,GAC3D;AAAA;AAAA;AAAA,cAEJ;AAAA;AAAA,YA3BK,OAAO;AAAA,UA4Bd,CACD,GACH;AAAA;AAAA;AAAA,IAEJ;AAAA,KAEJ;AAEJ;","names":["Markdown","remarkGfm","rehypeSanitize","import_jsx_runtime","document","_a","Image","_b","import_jsx_runtime","_a"]}
|
|
1
|
+
{"version":3,"sources":["../../../components/public/index.ts"],"sourcesContent":["export { default as MarkdownContent } from './MarkdownContent';\nexport { default as RichTextContent } from './RichTextContent';\nexport { default as SearchBox } from './SearchBox';\nexport type { SearchBoxProps } from './SearchBox';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,6BAA2C;AAC3C,6BAA2C;AAC3C,uBAAqC;","names":[]}
|
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Fills `<main>` while the catch-all `AdminApp` RSC slot suspends (`await params`,
|
|
3
|
-
* etc.). `TopHeader` stays mounted above this boundary.
|
|
4
|
-
*/
|
|
5
|
-
export declare function MainSlotSkeleton({ className }: {
|
|
6
|
-
className?: string;
|
|
7
|
-
}): import("react/jsx-runtime").JSX.Element;
|
|
8
1
|
/**
|
|
9
2
|
* Full-viewport shell while `AdminLayoutInner` runs (e.g. `getThemeCookie()`).
|
|
10
3
|
* No providers are mounted yet — static shimmer only.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MainSlotSkeleton.d.ts","sourceRoot":"","sources":["../../../components/skeletons/MainSlotSkeleton.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MainSlotSkeleton.d.ts","sourceRoot":"","sources":["../../../components/skeletons/MainSlotSkeleton.tsx"],"names":[],"mappings":"AAMA;;;GAGG;AACH,wBAAgB,sBAAsB,4CASrC"}
|
|
@@ -1,27 +1,14 @@
|
|
|
1
1
|
import "../../chunk-B5LE2OEC.js";
|
|
2
2
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { ContentPageChromeSkeleton } from "../Dashboard/skeletons/ContentPageChromeSkeleton";
|
|
4
3
|
import { TopHeaderSkeleton } from "../Layout/skeletons/TopHeaderSkeleton";
|
|
5
|
-
import {
|
|
6
|
-
function MainSlotSkeleton({ className }) {
|
|
7
|
-
return /* @__PURE__ */ jsx(
|
|
8
|
-
"div",
|
|
9
|
-
{
|
|
10
|
-
className: cn("flex min-h-0 flex-1 flex-col overflow-hidden", className),
|
|
11
|
-
role: "status",
|
|
12
|
-
"aria-label": "Loading page",
|
|
13
|
-
children: /* @__PURE__ */ jsx(ContentPageChromeSkeleton, {})
|
|
14
|
-
}
|
|
15
|
-
);
|
|
16
|
-
}
|
|
4
|
+
import { NeutralPageSkeleton } from "../Layout/skeletons/NeutralPageSkeleton";
|
|
17
5
|
function AdminBootstrapSkeleton() {
|
|
18
|
-
return /* @__PURE__ */ jsxs("div", { className: "
|
|
6
|
+
return /* @__PURE__ */ jsxs("div", { className: "octo-layout", role: "status", "aria-label": "Loading CMS", children: [
|
|
19
7
|
/* @__PURE__ */ jsx(TopHeaderSkeleton, {}),
|
|
20
|
-
/* @__PURE__ */ jsx("div", { className: "
|
|
8
|
+
/* @__PURE__ */ jsx("div", { className: "octo-page-shell octo-page-shell--skel-overflow", children: /* @__PURE__ */ jsx(NeutralPageSkeleton, {}) })
|
|
21
9
|
] });
|
|
22
10
|
}
|
|
23
11
|
export {
|
|
24
|
-
AdminBootstrapSkeleton
|
|
25
|
-
MainSlotSkeleton
|
|
12
|
+
AdminBootstrapSkeleton
|
|
26
13
|
};
|
|
27
14
|
//# sourceMappingURL=MainSlotSkeleton.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../components/skeletons/MainSlotSkeleton.tsx"],"sourcesContent":["import React from 'react';\n\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../components/skeletons/MainSlotSkeleton.tsx"],"sourcesContent":["import React from 'react';\n\nimport { TopHeaderSkeleton } from '../Layout/skeletons/TopHeaderSkeleton';\n\nimport { NeutralPageSkeleton } from '../Layout/skeletons/NeutralPageSkeleton';\n\n/**\n * Full-viewport shell while `AdminLayoutInner` runs (e.g. `getThemeCookie()`).\n * No providers are mounted yet — static shimmer only.\n */\nexport function AdminBootstrapSkeleton() {\n return (\n <div className=\"octo-layout\" role=\"status\" aria-label=\"Loading CMS\">\n <TopHeaderSkeleton />\n <div className=\"octo-page-shell octo-page-shell--skel-overflow\">\n <NeutralPageSkeleton />\n </div>\n </div>\n );\n}\n"],"mappings":";AAYI,SACE,KADF;AAVJ,SAAS,yBAAyB;AAElC,SAAS,2BAA2B;AAM7B,SAAS,yBAAyB;AACvC,SACE,qBAAC,SAAI,WAAU,eAAc,MAAK,UAAS,cAAW,eACpD;AAAA,wBAAC,qBAAkB;AAAA,IACnB,oBAAC,SAAI,WAAU,kDACb,8BAAC,uBAAoB,GACvB;AAAA,KACF;AAEJ;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blocks.d.ts","sourceRoot":"","sources":["../../../components/skeletons/blocks.tsx"],"names":[],"mappings":"AAMA;;;;GAIG;AAEH;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"blocks.d.ts","sourceRoot":"","sources":["../../../components/skeletons/blocks.tsx"],"names":[],"mappings":"AAMA;;;;GAIG;AAEH;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,2CAWtE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,EAAE,KAAS,EAAE,SAAS,EAAE,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,2CAe5F"}
|
|
@@ -3,10 +3,18 @@ import { jsx, jsxs } from "react/jsx-runtime";
|
|
|
3
3
|
import { cn } from "../../lib/utils";
|
|
4
4
|
import { ShimmerBlock } from "./primitives";
|
|
5
5
|
function FormFieldSkeleton({ className }) {
|
|
6
|
-
return /* @__PURE__ */ jsxs(
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
return /* @__PURE__ */ jsxs(
|
|
7
|
+
"div",
|
|
8
|
+
{
|
|
9
|
+
className: cn("octo-field", "octo-field octo-field--skel", className),
|
|
10
|
+
role: "status",
|
|
11
|
+
"aria-label": "Loading field",
|
|
12
|
+
children: [
|
|
13
|
+
/* @__PURE__ */ jsx(ShimmerBlock, { className: "octo-skel-h-3 octo-skel-w-24" }),
|
|
14
|
+
/* @__PURE__ */ jsx(ShimmerBlock, { className: "octo-skel-h-9 octo-skel-w-full" })
|
|
15
|
+
]
|
|
16
|
+
}
|
|
17
|
+
);
|
|
10
18
|
}
|
|
11
19
|
function CardSkeleton({ lines = 3, className }) {
|
|
12
20
|
return /* @__PURE__ */ jsxs(
|
|
@@ -14,10 +22,10 @@ function CardSkeleton({ lines = 3, className }) {
|
|
|
14
22
|
{
|
|
15
23
|
role: "status",
|
|
16
24
|
"aria-label": "Loading card",
|
|
17
|
-
className: cn("
|
|
25
|
+
className: cn("octo-card", "octo-card octo-card--skel-layout", className),
|
|
18
26
|
children: [
|
|
19
|
-
/* @__PURE__ */ jsx(ShimmerBlock, { className: "h-4
|
|
20
|
-
/* @__PURE__ */ jsx("div", { className: "
|
|
27
|
+
/* @__PURE__ */ jsx(ShimmerBlock, { className: "octo-skel-h-4", style: { width: "33%" } }),
|
|
28
|
+
/* @__PURE__ */ jsx("div", { className: "octo-card__skel-lines", children: Array.from({ length: lines }, (_, i) => /* @__PURE__ */ jsx(ShimmerBlock, { className: "octo-skel-h-3 octo-skel-w-full" }, i)) })
|
|
21
29
|
]
|
|
22
30
|
}
|
|
23
31
|
);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../components/skeletons/blocks.tsx"],"sourcesContent":["import React from 'react';\n\nimport { cn } from '../../lib/utils';\n\nimport { ShimmerBlock } from './primitives';\n\n/**\n * Cross-cutting block-level skeletons reused across admin pages.\n * Smaller than page skeletons, larger than primitives — sized to drop into\n * a real layout slot so layout shift is minimal when content resolves.\n */\n\n/**\n * Single label + input pair, sized to match a typical form row in the entry\n * editor and content-type detail. Width follows the surrounding container.\n */\nexport function FormFieldSkeleton({ className }: { className?: string }) {\n return (\n <div
|
|
1
|
+
{"version":3,"sources":["../../../components/skeletons/blocks.tsx"],"sourcesContent":["import React from 'react';\n\nimport { cn } from '../../lib/utils';\n\nimport { ShimmerBlock } from './primitives';\n\n/**\n * Cross-cutting block-level skeletons reused across admin pages.\n * Smaller than page skeletons, larger than primitives — sized to drop into\n * a real layout slot so layout shift is minimal when content resolves.\n */\n\n/**\n * Single label + input pair, sized to match a typical form row in the entry\n * editor and content-type detail. Width follows the surrounding container.\n */\nexport function FormFieldSkeleton({ className }: { className?: string }) {\n return (\n <div\n className={cn('octo-field', 'octo-field octo-field--skel', className)}\n role=\"status\"\n aria-label=\"Loading field\"\n >\n <ShimmerBlock className=\"octo-skel-h-3 octo-skel-w-24\" />\n <ShimmerBlock className=\"octo-skel-h-9 octo-skel-w-full\" />\n </div>\n );\n}\n\n/**\n * Generic content card: header line, then `lines` body rows. Used for entry\n * sidebar cards (History, Linked By) and any boxed content slot.\n */\nexport function CardSkeleton({ lines = 3, className }: { lines?: number; className?: string }) {\n return (\n <div\n role=\"status\"\n aria-label=\"Loading card\"\n className={cn('octo-card', 'octo-card octo-card--skel-layout', className)}\n >\n <ShimmerBlock className=\"octo-skel-h-4\" style={{ width: '33%' }} />\n <div className=\"octo-card__skel-lines\">\n {Array.from({ length: lines }, (_, i) => (\n <ShimmerBlock key={i} className=\"octo-skel-h-3 octo-skel-w-full\" />\n ))}\n </div>\n </div>\n );\n}\n"],"mappings":";AAkBI,SAKE,KALF;AAhBJ,SAAS,UAAU;AAEnB,SAAS,oBAAoB;AAYtB,SAAS,kBAAkB,EAAE,UAAU,GAA2B;AACvE,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,GAAG,cAAc,+BAA+B,SAAS;AAAA,MACpE,MAAK;AAAA,MACL,cAAW;AAAA,MAEX;AAAA,4BAAC,gBAAa,WAAU,gCAA+B;AAAA,QACvD,oBAAC,gBAAa,WAAU,kCAAiC;AAAA;AAAA;AAAA,EAC3D;AAEJ;AAMO,SAAS,aAAa,EAAE,QAAQ,GAAG,UAAU,GAA2C;AAC7F,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,cAAW;AAAA,MACX,WAAW,GAAG,aAAa,oCAAoC,SAAS;AAAA,MAExE;AAAA,4BAAC,gBAAa,WAAU,iBAAgB,OAAO,EAAE,OAAO,MAAM,GAAG;AAAA,QACjE,oBAAC,SAAI,WAAU,yBACZ,gBAAM,KAAK,EAAE,QAAQ,MAAM,GAAG,CAAC,GAAG,MACjC,oBAAC,gBAAqB,WAAU,oCAAb,CAA8C,CAClE,GACH;AAAA;AAAA;AAAA,EACF;AAEJ;","names":[]}
|