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
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import {
|
|
3
3
|
__spreadProps,
|
|
4
4
|
__spreadValues
|
|
5
|
-
} from "
|
|
5
|
+
} from "../../../chunk-B5LE2OEC.js";
|
|
6
6
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
7
7
|
import { useCallback, useRef, useEffect, useMemo, useState } from "react";
|
|
8
8
|
import {
|
|
@@ -33,9 +33,9 @@ import {
|
|
|
33
33
|
InsertCodeBlock
|
|
34
34
|
} from "@mdxeditor/editor";
|
|
35
35
|
import { usePublisher } from "@mdxeditor/gurx";
|
|
36
|
-
import {
|
|
37
|
-
import { cn } from "
|
|
38
|
-
import {
|
|
36
|
+
import { Icon } from "../Icon/Icon";
|
|
37
|
+
import { cn } from "../../../lib/utils";
|
|
38
|
+
import { Field } from "./Field";
|
|
39
39
|
import ComponentEmbedEditor from "./richtext/ComponentEmbedEditor";
|
|
40
40
|
import ConditionEmbedEditor from "./richtext/ConditionEmbedEditor";
|
|
41
41
|
import ImageEmbedEditor from "./richtext/ImageEmbedEditor";
|
|
@@ -57,7 +57,7 @@ function InsertCmsImageButton() {
|
|
|
57
57
|
props: { mediaId: "" }
|
|
58
58
|
});
|
|
59
59
|
},
|
|
60
|
-
children: /* @__PURE__ */ jsx(ImagePlus, { className: "
|
|
60
|
+
children: /* @__PURE__ */ jsx(Icon.ImagePlus, { className: "octo-icon-md" })
|
|
61
61
|
}
|
|
62
62
|
);
|
|
63
63
|
}
|
|
@@ -76,7 +76,7 @@ function InsertCmsRefButton() {
|
|
|
76
76
|
props: { id: "", display: "block" }
|
|
77
77
|
});
|
|
78
78
|
},
|
|
79
|
-
children: /* @__PURE__ */ jsx(FileText, { className: "
|
|
79
|
+
children: /* @__PURE__ */ jsx(Icon.FileText, { className: "octo-icon-md" })
|
|
80
80
|
}
|
|
81
81
|
);
|
|
82
82
|
}
|
|
@@ -96,7 +96,7 @@ function InsertCmsVarButton({ variables }) {
|
|
|
96
96
|
props: { name: (_a = variables[0]) != null ? _a : "" }
|
|
97
97
|
});
|
|
98
98
|
},
|
|
99
|
-
children: /* @__PURE__ */ jsx(Variable, { className: "
|
|
99
|
+
children: /* @__PURE__ */ jsx(Icon.Variable, { className: "octo-icon-md" })
|
|
100
100
|
}
|
|
101
101
|
);
|
|
102
102
|
}
|
|
@@ -115,7 +115,7 @@ function InsertCmsConditionButton() {
|
|
|
115
115
|
props: { field: "" }
|
|
116
116
|
});
|
|
117
117
|
},
|
|
118
|
-
children: /* @__PURE__ */ jsx(GitBranch, { className: "
|
|
118
|
+
children: /* @__PURE__ */ jsx(Icon.GitBranch, { className: "octo-icon-md" })
|
|
119
119
|
}
|
|
120
120
|
);
|
|
121
121
|
}
|
|
@@ -204,14 +204,14 @@ function InsertCustomComponentButton({ components }) {
|
|
|
204
204
|
props: defaultProps
|
|
205
205
|
});
|
|
206
206
|
},
|
|
207
|
-
children: /* @__PURE__ */ jsx(Puzzle, { className: "
|
|
207
|
+
children: /* @__PURE__ */ jsx(Icon.Puzzle, { className: "octo-icon-md" })
|
|
208
208
|
}
|
|
209
209
|
);
|
|
210
210
|
}
|
|
211
|
-
return /* @__PURE__ */ jsx("div", { className: "
|
|
211
|
+
return /* @__PURE__ */ jsx("div", { className: "octo-richtext-toolbar-select-wrap", children: /* @__PURE__ */ jsxs(
|
|
212
212
|
"select",
|
|
213
213
|
{
|
|
214
|
-
className: "mdxeditor-toolbar-button
|
|
214
|
+
className: "mdxeditor-toolbar-button octo-richtext-toolbar-select",
|
|
215
215
|
value: "",
|
|
216
216
|
title: "Insert component",
|
|
217
217
|
onChange: (e) => {
|
|
@@ -274,7 +274,7 @@ const FormRichTextField = ({
|
|
|
274
274
|
key: "h1",
|
|
275
275
|
label: "Heading 1",
|
|
276
276
|
description: "Large section heading",
|
|
277
|
-
icon: /* @__PURE__ */ jsx("span", { className: "text-xs font-
|
|
277
|
+
icon: /* @__PURE__ */ jsx("span", { className: "octo-u-text-xs octo-u-font-semibold", children: "H1" }),
|
|
278
278
|
action: () => {
|
|
279
279
|
var _a3;
|
|
280
280
|
return (_a3 = editorRef.current) == null ? void 0 : _a3.insertMarkdown("\n# ");
|
|
@@ -285,7 +285,7 @@ const FormRichTextField = ({
|
|
|
285
285
|
key: "h2",
|
|
286
286
|
label: "Heading 2",
|
|
287
287
|
description: "Medium section heading",
|
|
288
|
-
icon: /* @__PURE__ */ jsx("span", { className: "text-xs font-
|
|
288
|
+
icon: /* @__PURE__ */ jsx("span", { className: "octo-u-text-xs octo-u-font-semibold", children: "H2" }),
|
|
289
289
|
action: () => {
|
|
290
290
|
var _a3;
|
|
291
291
|
return (_a3 = editorRef.current) == null ? void 0 : _a3.insertMarkdown("\n## ");
|
|
@@ -296,7 +296,7 @@ const FormRichTextField = ({
|
|
|
296
296
|
key: "h3",
|
|
297
297
|
label: "Heading 3",
|
|
298
298
|
description: "Small section heading",
|
|
299
|
-
icon: /* @__PURE__ */ jsx("span", { className: "text-xs font-
|
|
299
|
+
icon: /* @__PURE__ */ jsx("span", { className: "octo-u-text-xs octo-u-font-semibold", children: "H3" }),
|
|
300
300
|
action: () => {
|
|
301
301
|
var _a3;
|
|
302
302
|
return (_a3 = editorRef.current) == null ? void 0 : _a3.insertMarkdown("\n### ");
|
|
@@ -306,7 +306,7 @@ const FormRichTextField = ({
|
|
|
306
306
|
items.push({
|
|
307
307
|
key: "bullet-list",
|
|
308
308
|
label: "Bullet List",
|
|
309
|
-
icon: /* @__PURE__ */ jsx("span", { className: "text-xs", children: "\u2022" }),
|
|
309
|
+
icon: /* @__PURE__ */ jsx("span", { className: "octo-u-text-xs", children: "\u2022" }),
|
|
310
310
|
action: () => {
|
|
311
311
|
var _a3;
|
|
312
312
|
return (_a3 = editorRef.current) == null ? void 0 : _a3.insertMarkdown("\n- ");
|
|
@@ -316,7 +316,7 @@ const FormRichTextField = ({
|
|
|
316
316
|
items.push({
|
|
317
317
|
key: "numbered-list",
|
|
318
318
|
label: "Numbered List",
|
|
319
|
-
icon: /* @__PURE__ */ jsx("span", { className: "text-xs", children: "1." }),
|
|
319
|
+
icon: /* @__PURE__ */ jsx("span", { className: "octo-u-text-xs", children: "1." }),
|
|
320
320
|
action: () => {
|
|
321
321
|
var _a3;
|
|
322
322
|
return (_a3 = editorRef.current) == null ? void 0 : _a3.insertMarkdown("\n1. ");
|
|
@@ -326,7 +326,7 @@ const FormRichTextField = ({
|
|
|
326
326
|
items.push({
|
|
327
327
|
key: "quote",
|
|
328
328
|
label: "Quote",
|
|
329
|
-
icon: /* @__PURE__ */ jsx("span", { className: "text-xs", children: ">" }),
|
|
329
|
+
icon: /* @__PURE__ */ jsx("span", { className: "octo-u-text-xs", children: ">" }),
|
|
330
330
|
action: () => {
|
|
331
331
|
var _a3;
|
|
332
332
|
return (_a3 = editorRef.current) == null ? void 0 : _a3.insertMarkdown("\n> ");
|
|
@@ -336,7 +336,7 @@ const FormRichTextField = ({
|
|
|
336
336
|
items.push({
|
|
337
337
|
key: "code-block",
|
|
338
338
|
label: "Code Block",
|
|
339
|
-
icon: /* @__PURE__ */ jsx("span", { className: "text-xs
|
|
339
|
+
icon: /* @__PURE__ */ jsx("span", { className: "octo-u-text-xs octo-u-mono", children: "{}" }),
|
|
340
340
|
action: () => {
|
|
341
341
|
var _a3;
|
|
342
342
|
return (_a3 = editorRef.current) == null ? void 0 : _a3.insertMarkdown("\n```\n\n```\n");
|
|
@@ -346,7 +346,7 @@ const FormRichTextField = ({
|
|
|
346
346
|
items.push({
|
|
347
347
|
key: "divider",
|
|
348
348
|
label: "Divider",
|
|
349
|
-
icon: /* @__PURE__ */ jsx("span", { className: "text-xs", children: "\u2014" }),
|
|
349
|
+
icon: /* @__PURE__ */ jsx("span", { className: "octo-u-text-xs", children: "\u2014" }),
|
|
350
350
|
action: () => {
|
|
351
351
|
var _a3;
|
|
352
352
|
return (_a3 = editorRef.current) == null ? void 0 : _a3.insertMarkdown("\n---\n");
|
|
@@ -356,7 +356,7 @@ const FormRichTextField = ({
|
|
|
356
356
|
items.push({
|
|
357
357
|
key: "table",
|
|
358
358
|
label: "Table",
|
|
359
|
-
icon: /* @__PURE__ */ jsx("span", { className: "text-xs", children: "\u229E" }),
|
|
359
|
+
icon: /* @__PURE__ */ jsx("span", { className: "octo-u-text-xs", children: "\u229E" }),
|
|
360
360
|
action: () => {
|
|
361
361
|
var _a3;
|
|
362
362
|
return (_a3 = editorRef.current) == null ? void 0 : _a3.insertMarkdown("\n| Col 1 | Col 2 |\n| --- | --- |\n| Cell | Cell |\n");
|
|
@@ -368,7 +368,7 @@ const FormRichTextField = ({
|
|
|
368
368
|
key: "cms-image",
|
|
369
369
|
label: "CMS Image",
|
|
370
370
|
description: "Insert from media library",
|
|
371
|
-
icon: /* @__PURE__ */ jsx(ImagePlus, { className: "
|
|
371
|
+
icon: /* @__PURE__ */ jsx(Icon.ImagePlus, { className: "octo-icon-md" }),
|
|
372
372
|
action: () => {
|
|
373
373
|
var _a3;
|
|
374
374
|
return (_a3 = insertJsxRef.current) == null ? void 0 : _a3.call(insertJsxRef, { kind: "flow", name: "CmsImage", props: { mediaId: "" } });
|
|
@@ -381,7 +381,7 @@ const FormRichTextField = ({
|
|
|
381
381
|
key: "cms-ref",
|
|
382
382
|
label: "Entry Reference",
|
|
383
383
|
description: "Embed a content entry",
|
|
384
|
-
icon: /* @__PURE__ */ jsx(FileText, { className: "
|
|
384
|
+
icon: /* @__PURE__ */ jsx(Icon.FileText, { className: "octo-icon-md" }),
|
|
385
385
|
action: () => {
|
|
386
386
|
var _a3;
|
|
387
387
|
return (_a3 = insertJsxRef.current) == null ? void 0 : _a3.call(insertJsxRef, { kind: "flow", name: "CmsRef", props: { id: "", display: "block" } });
|
|
@@ -394,7 +394,7 @@ const FormRichTextField = ({
|
|
|
394
394
|
key: "cms-condition",
|
|
395
395
|
label: "Condition Block",
|
|
396
396
|
description: "A/B content branches",
|
|
397
|
-
icon: /* @__PURE__ */ jsx(GitBranch, { className: "
|
|
397
|
+
icon: /* @__PURE__ */ jsx(Icon.GitBranch, { className: "octo-icon-md" }),
|
|
398
398
|
action: () => {
|
|
399
399
|
var _a3;
|
|
400
400
|
return (_a3 = insertJsxRef.current) == null ? void 0 : _a3.call(insertJsxRef, { kind: "flow", name: "CmsCondition", props: { field: "" } });
|
|
@@ -408,7 +408,7 @@ const FormRichTextField = ({
|
|
|
408
408
|
key: "cms-var",
|
|
409
409
|
label: "Template Variable",
|
|
410
410
|
description: "Dynamic value placeholder",
|
|
411
|
-
icon: /* @__PURE__ */ jsx(Variable, { className: "
|
|
411
|
+
icon: /* @__PURE__ */ jsx(Icon.Variable, { className: "octo-icon-md" }),
|
|
412
412
|
action: () => {
|
|
413
413
|
var _a3, _b3;
|
|
414
414
|
return (_b3 = insertJsxRef.current) == null ? void 0 : _b3.call(insertJsxRef, { kind: "text", name: "CmsVar", props: { name: (_a3 = vars[0]) != null ? _a3 : "" } });
|
|
@@ -427,7 +427,7 @@ const FormRichTextField = ({
|
|
|
427
427
|
key: `component-${cName}`,
|
|
428
428
|
label: def.label,
|
|
429
429
|
description: `Component: ${cName}`,
|
|
430
|
-
icon: /* @__PURE__ */ jsx(Puzzle, { className: "
|
|
430
|
+
icon: /* @__PURE__ */ jsx(Icon.Puzzle, { className: "octo-icon-md" }),
|
|
431
431
|
action: () => {
|
|
432
432
|
var _a3;
|
|
433
433
|
return (_a3 = insertJsxRef.current) == null ? void 0 : _a3.call(insertJsxRef, {
|
|
@@ -605,13 +605,9 @@ const FormRichTextField = ({
|
|
|
605
605
|
showUndoRedo
|
|
606
606
|
]
|
|
607
607
|
);
|
|
608
|
-
return /* @__PURE__ */ jsxs("
|
|
609
|
-
/* @__PURE__ */ jsxs("div", { className: "block text-xs font-medium text-muted-foreground mb-1.5", children: [
|
|
610
|
-
label,
|
|
611
|
-
required ? /* @__PURE__ */ jsx("span", { className: "text-destructive ml-1", children: "*" }) : null
|
|
612
|
-
] }),
|
|
608
|
+
return /* @__PURE__ */ jsxs(Field, { label, schema: "richtext", required, hint, error, className: "octo-ff-richtext", children: [
|
|
613
609
|
/* @__PURE__ */ jsx("input", { type: "hidden", ref: hiddenInputRef, name, defaultValue: value }),
|
|
614
|
-
/* @__PURE__ */ jsxs("div", { ref: editorWrapRef, className: "
|
|
610
|
+
/* @__PURE__ */ jsxs("div", { ref: editorWrapRef, className: "octo-ff-richtext__editor-wrap", children: [
|
|
615
611
|
/* @__PURE__ */ jsx(
|
|
616
612
|
MDXEditor,
|
|
617
613
|
{
|
|
@@ -633,8 +629,7 @@ const FormRichTextField = ({
|
|
|
633
629
|
onClose: handleSlashClose
|
|
634
630
|
}
|
|
635
631
|
)
|
|
636
|
-
] })
|
|
637
|
-
/* @__PURE__ */ jsx(FieldHintAndError, { hint, error })
|
|
632
|
+
] })
|
|
638
633
|
] });
|
|
639
634
|
};
|
|
640
635
|
var FormRichTextField_default = FormRichTextField;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../components/ui/FormField/FormRichTextField.tsx"],"sourcesContent":["'use client';\n\nimport React, { useCallback, useRef, useEffect, useMemo, useState } from 'react';\n\nimport {\n MDXEditorMethods,\n MDXEditor,\n Separator,\n headingsPlugin,\n listsPlugin,\n quotePlugin,\n thematicBreakPlugin,\n linkPlugin,\n linkDialogPlugin,\n imagePlugin,\n tablePlugin,\n codeBlockPlugin,\n markdownShortcutPlugin,\n toolbarPlugin,\n jsxPlugin,\n insertJsx$,\n BoldItalicUnderlineToggles,\n CreateLink,\n ListsToggle,\n BlockTypeSelect,\n InsertTable,\n InsertThematicBreak,\n InsertImage,\n CodeToggle,\n UndoRedo,\n InsertCodeBlock,\n} from '@mdxeditor/editor';\nimport type { JsxComponentDescriptor } from '@mdxeditor/editor';\nimport { usePublisher } from '@mdxeditor/gurx';\nimport { Icon } from '../Icon/Icon';\n\nimport { cn } from '../../../lib/utils';\nimport type { RichTextComponentDef, RichTextFieldConfig } from '../../../admin/types';\n\nimport { Field } from './Field';\nimport ComponentEmbedEditor from './richtext/ComponentEmbedEditor';\nimport ConditionEmbedEditor from './richtext/ConditionEmbedEditor';\nimport ImageEmbedEditor from './richtext/ImageEmbedEditor';\nimport ReferenceEmbedEditor from './richtext/ReferenceEmbedEditor';\nimport { SlashMenuOverlay } from './richtext/SlashCommandMenu';\nimport VariableEmbedEditor from './richtext/VariableEmbedEditor';\n\ntype FormRichTextFieldProps = {\n label: string;\n name: string;\n value: string;\n required?: boolean;\n hint?: string;\n error?: string;\n onClearError?: (name: string) => void;\n richtext?: RichTextFieldConfig;\n};\n\nfunction InsertCmsImageButton() {\n const insertJsx = usePublisher(insertJsx$);\n return (\n <button\n type=\"button\"\n title=\"Insert CMS image\"\n className=\"mdxeditor-toolbar-button\"\n onClick={() => {\n insertJsx({\n kind: 'flow',\n name: 'CmsImage',\n props: { mediaId: '' },\n });\n }}\n >\n <Icon.ImagePlus className=\"octo-icon-md\" />\n </button>\n );\n}\n\nfunction InsertCmsRefButton() {\n const insertJsx = usePublisher(insertJsx$);\n return (\n <button\n type=\"button\"\n title=\"Insert entry reference\"\n className=\"mdxeditor-toolbar-button\"\n onClick={() => {\n insertJsx({\n kind: 'flow',\n name: 'CmsRef',\n props: { id: '', display: 'block' },\n });\n }}\n >\n <Icon.FileText className=\"octo-icon-md\" />\n </button>\n );\n}\n\nfunction InsertCmsVarButton({ variables }: { variables: string[] }) {\n const insertJsx = usePublisher(insertJsx$);\n return (\n <button\n type=\"button\"\n title=\"Insert template variable\"\n className=\"mdxeditor-toolbar-button\"\n onClick={() => {\n insertJsx({\n kind: 'text',\n name: 'CmsVar',\n props: { name: variables[0] ?? '' },\n });\n }}\n >\n <Icon.Variable className=\"octo-icon-md\" />\n </button>\n );\n}\n\nfunction InsertCmsConditionButton() {\n const insertJsx = usePublisher(insertJsx$);\n return (\n <button\n type=\"button\"\n title=\"Insert condition block\"\n className=\"mdxeditor-toolbar-button\"\n onClick={() => {\n insertJsx({\n kind: 'flow',\n name: 'CmsCondition',\n props: { field: '' },\n });\n }}\n >\n <Icon.GitBranch className=\"octo-icon-md\" />\n </button>\n );\n}\n\nconst CMS_IMAGE_DESCRIPTOR: JsxComponentDescriptor = {\n name: 'CmsImage',\n kind: 'flow',\n props: [{ name: 'mediaId', type: 'string', required: true }],\n hasChildren: false,\n Editor: ImageEmbedEditor,\n};\n\nconst CMS_REFERENCE_DESCRIPTOR: JsxComponentDescriptor = {\n name: 'CmsRef',\n kind: 'flow',\n props: [\n { name: 'id', type: 'string', required: true },\n { name: 'display', type: 'string', required: false },\n ],\n hasChildren: false,\n Editor: ReferenceEmbedEditor,\n};\n\nfunction buildCmsVarDescriptor(allowedVariables: string[]): JsxComponentDescriptor {\n return {\n name: 'CmsVar',\n kind: 'text',\n props: [{ name: 'name', type: 'string', required: true }],\n hasChildren: false,\n Editor: (props: any) => <VariableEmbedEditor {...props} allowedVariables={allowedVariables} />,\n };\n}\n\nfunction buildCustomComponentDescriptor(name: string, def: RichTextComponentDef): JsxComponentDescriptor {\n return {\n name,\n kind: def.kind === 'inline' ? 'text' : 'flow',\n props: def.props.map((p) => ({ name: p.name, type: 'string', required: p.required })),\n hasChildren: false,\n Editor: (props: any) => <ComponentEmbedEditor {...props} componentDef={def} componentName={name} />,\n };\n}\n\nconst CMS_CONDITION_DESCRIPTOR: JsxComponentDescriptor = {\n name: 'CmsCondition',\n kind: 'flow',\n props: [{ name: 'field', type: 'string', required: true }],\n hasChildren: true,\n Editor: ConditionEmbedEditor,\n};\n\nconst CMS_BRANCH_DESCRIPTOR: JsxComponentDescriptor = {\n name: 'CmsBranch',\n kind: 'flow',\n props: [{ name: 'key', type: 'string', required: true }],\n hasChildren: true,\n Editor: () => null, // Rendered by the parent CmsCondition editor\n};\n\ntype InsertJsxPayload =\n | { kind: 'text'; name: string; props: Record<string, string> }\n | { kind: 'flow'; name: string; props: Record<string, string> };\n\n/** Syncs insertJsx publisher into a ref — must render under MDXEditor (e.g. toolbar) where RealmContext exists. */\nfunction InsertJsxPublisherBridge({\n targetRef,\n}: {\n targetRef: React.MutableRefObject<((payload: InsertJsxPayload) => void) | null>;\n}) {\n const publish = usePublisher(insertJsx$);\n useEffect(() => {\n targetRef.current = publish as (payload: InsertJsxPayload) => void;\n return () => {\n targetRef.current = null;\n };\n }, [publish, targetRef]);\n return null;\n}\n\nfunction InsertCustomComponentButton({ components }: { components: Record<string, RichTextComponentDef> }) {\n const insertJsx = usePublisher(insertJsx$);\n const entries = Object.entries(components);\n if (entries.length === 0) return null;\n\n if (entries.length === 1) {\n const [name, def] = entries[0];\n const defaultProps: Record<string, string> = {};\n for (const p of def.props) {\n defaultProps[p.name] = p.defaultValue != null ? String(p.defaultValue) : '';\n }\n return (\n <button\n type=\"button\"\n title={`Insert ${def.label}`}\n className=\"mdxeditor-toolbar-button\"\n onClick={() => {\n insertJsx({\n kind: def.kind === 'inline' ? 'text' : 'flow',\n name,\n props: defaultProps,\n });\n }}\n >\n <Icon.Puzzle className=\"octo-icon-md\" />\n </button>\n );\n }\n\n // Multiple components — show a dropdown\n return (\n <div className=\"octo-richtext-toolbar-select-wrap\">\n <select\n className=\"mdxeditor-toolbar-button octo-richtext-toolbar-select\"\n value=\"\"\n title=\"Insert component\"\n onChange={(e) => {\n const name = e.target.value;\n if (!name) return;\n const def = components[name];\n if (!def) return;\n const defaultProps: Record<string, string> = {};\n for (const p of def.props) {\n defaultProps[p.name] = p.defaultValue != null ? String(p.defaultValue) : '';\n }\n insertJsx({\n kind: def.kind === 'inline' ? 'text' : 'flow',\n name,\n props: defaultProps,\n });\n e.target.value = '';\n }}\n >\n <option value=\"\">🧩 Insert…</option>\n {entries.map(([name, def]) => (\n <option key={name} value={name}>\n {def.label}\n </option>\n ))}\n </select>\n </div>\n );\n}\n\nconst FormRichTextField = ({\n label,\n name,\n value,\n required,\n hint,\n error,\n onClearError,\n richtext,\n}: FormRichTextFieldProps) => {\n const editorRef = useRef<MDXEditorMethods>(null);\n const hiddenInputRef = useRef<HTMLInputElement>(null);\n const editorWrapRef = useRef<HTMLDivElement>(null);\n const insertJsxRef = useRef<((payload: InsertJsxPayload) => void) | null>(null);\n\n // Slash command menu state\n const [slashOpen, setSlashOpen] = useState(false);\n const [slashFilter, setSlashFilter] = useState('');\n const [slashPosition, setSlashPosition] = useState<{ top: number; left: number } | null>(null);\n\n const onChange = () => {\n const input = hiddenInputRef.current;\n if (input) {\n input.value = editorRef.current?.getMarkdown() || '';\n }\n onClearError?.(name);\n };\n\n useEffect(() => {\n editorRef.current?.setMarkdown(value);\n }, [value]);\n\n // Build slash command items\n const slashItems = useMemo(() => {\n type SlashItem = {\n key: string;\n label: string;\n description?: string;\n icon: React.ReactNode;\n action: () => void;\n keywords?: string[];\n };\n\n const items: SlashItem[] = [];\n\n items.push({\n key: 'h1',\n label: 'Heading 1',\n description: 'Large section heading',\n icon: <span className=\"octo-u-text-xs octo-u-font-semibold\">H1</span>,\n action: () => editorRef.current?.insertMarkdown('\\n# '),\n keywords: ['heading', 'title'],\n });\n items.push({\n key: 'h2',\n label: 'Heading 2',\n description: 'Medium section heading',\n icon: <span className=\"octo-u-text-xs octo-u-font-semibold\">H2</span>,\n action: () => editorRef.current?.insertMarkdown('\\n## '),\n keywords: ['heading', 'title'],\n });\n items.push({\n key: 'h3',\n label: 'Heading 3',\n description: 'Small section heading',\n icon: <span className=\"octo-u-text-xs octo-u-font-semibold\">H3</span>,\n action: () => editorRef.current?.insertMarkdown('\\n### '),\n keywords: ['heading', 'title'],\n });\n items.push({\n key: 'bullet-list',\n label: 'Bullet List',\n icon: <span className=\"octo-u-text-xs\">•</span>,\n action: () => editorRef.current?.insertMarkdown('\\n- '),\n keywords: ['list', 'bullet', 'unordered'],\n });\n items.push({\n key: 'numbered-list',\n label: 'Numbered List',\n icon: <span className=\"octo-u-text-xs\">1.</span>,\n action: () => editorRef.current?.insertMarkdown('\\n1. '),\n keywords: ['list', 'numbered', 'ordered'],\n });\n items.push({\n key: 'quote',\n label: 'Quote',\n icon: <span className=\"octo-u-text-xs\">></span>,\n action: () => editorRef.current?.insertMarkdown('\\n> '),\n keywords: ['quote', 'blockquote'],\n });\n items.push({\n key: 'code-block',\n label: 'Code Block',\n icon: <span className=\"octo-u-text-xs octo-u-mono\">{'{}'}</span>,\n action: () => editorRef.current?.insertMarkdown('\\n```\\n\\n```\\n'),\n keywords: ['code', 'block'],\n });\n items.push({\n key: 'divider',\n label: 'Divider',\n icon: <span className=\"octo-u-text-xs\">—</span>,\n action: () => editorRef.current?.insertMarkdown('\\n---\\n'),\n keywords: ['divider', 'hr', 'horizontal', 'rule'],\n });\n items.push({\n key: 'table',\n label: 'Table',\n icon: <span className=\"octo-u-text-xs\">⊞</span>,\n action: () => editorRef.current?.insertMarkdown('\\n| Col 1 | Col 2 |\\n| --- | --- |\\n| Cell | Cell |\\n'),\n keywords: ['table', 'grid'],\n });\n\n if (richtext?.embeds?.images) {\n items.push({\n key: 'cms-image',\n label: 'CMS Image',\n description: 'Insert from media library',\n icon: <Icon.ImagePlus className=\"octo-icon-md\" />,\n action: () => insertJsxRef.current?.({ kind: 'flow', name: 'CmsImage', props: { mediaId: '' } }),\n keywords: ['image', 'media', 'picture', 'photo'],\n });\n }\n\n if (richtext?.embeds?.references) {\n items.push({\n key: 'cms-ref',\n label: 'Entry Reference',\n description: 'Embed a content entry',\n icon: <Icon.FileText className=\"octo-icon-md\" />,\n action: () => insertJsxRef.current?.({ kind: 'flow', name: 'CmsRef', props: { id: '', display: 'block' } }),\n keywords: ['reference', 'entry', 'link', 'embed'],\n });\n }\n\n if (richtext?.embeds?.conditions) {\n items.push({\n key: 'cms-condition',\n label: 'Condition Block',\n description: 'A/B content branches',\n icon: <Icon.GitBranch className=\"octo-icon-md\" />,\n action: () => insertJsxRef.current?.({ kind: 'flow', name: 'CmsCondition', props: { field: '' } }),\n keywords: ['condition', 'branch', 'ab', 'test'],\n });\n }\n\n const vars = richtext?.embeds?.variables;\n if (vars && vars.length > 0) {\n items.push({\n key: 'cms-var',\n label: 'Template Variable',\n description: 'Dynamic value placeholder',\n icon: <Icon.Variable className=\"octo-icon-md\" />,\n action: () => insertJsxRef.current?.({ kind: 'text', name: 'CmsVar', props: { name: vars[0] ?? '' } }),\n keywords: ['variable', 'template', 'dynamic'],\n });\n }\n\n const customComponents = richtext?.embeds?.components;\n if (customComponents) {\n for (const [cName, def] of Object.entries(customComponents)) {\n const defaultProps: Record<string, string> = {};\n for (const p of def.props) {\n defaultProps[p.name] = p.defaultValue != null ? String(p.defaultValue) : '';\n }\n items.push({\n key: `component-${cName}`,\n label: def.label,\n description: `Component: ${cName}`,\n icon: <Icon.Puzzle className=\"octo-icon-md\" />,\n action: () =>\n insertJsxRef.current?.({\n kind: def.kind === 'inline' ? 'text' : 'flow',\n name: cName,\n props: defaultProps,\n }),\n keywords: ['component', cName.toLowerCase(), def.label.toLowerCase()],\n });\n }\n }\n\n return items;\n }, [richtext]);\n\n const filteredSlashItems = slashFilter\n ? slashItems.filter((item) => {\n const q = slashFilter.toLowerCase();\n return (\n item.label.toLowerCase().includes(q) ||\n item.description?.toLowerCase().includes(q) ||\n item.keywords?.some((kw) => kw.includes(q))\n );\n })\n : slashItems;\n\n // Listen for '/' typed in the editor to open the command menu\n useEffect(() => {\n const wrapper = editorWrapRef.current;\n if (!wrapper) return;\n\n const handleKeyDown = (e: KeyboardEvent) => {\n if (e.key === '/' && !slashOpen) {\n const sel = window.getSelection();\n if (sel && sel.rangeCount > 0) {\n const range = sel.getRangeAt(0);\n if (!wrapper.contains(range.commonAncestorContainer)) {\n return;\n }\n e.preventDefault();\n e.stopPropagation();\n const rect = range.getBoundingClientRect();\n setSlashPosition({ top: rect.bottom + 4, left: rect.left });\n setSlashFilter('');\n setSlashOpen(true);\n }\n } else if (slashOpen) {\n if (e.key === 'Escape') {\n setSlashOpen(false);\n } else if (e.key === 'Backspace') {\n setSlashFilter((prev) => {\n if (prev.length === 0) {\n setSlashOpen(false);\n return '';\n }\n return prev.slice(0, -1);\n });\n e.preventDefault();\n } else if (e.key.length === 1 && !e.ctrlKey && !e.metaKey) {\n setSlashFilter((prev) => prev + e.key);\n e.preventDefault();\n }\n }\n };\n\n wrapper.addEventListener('keydown', handleKeyDown, true);\n return () => wrapper.removeEventListener('keydown', handleKeyDown, true);\n }, [slashOpen]);\n\n const handleSlashSelect = useCallback(\n (item: (typeof slashItems)[number]) => {\n setSlashOpen(false);\n // Remove the '/' and any filter text that was typed\n const md = editorRef.current?.getMarkdown() ?? '';\n const slashPrefix = '/' + slashFilter;\n if (md.endsWith(slashPrefix)) {\n editorRef.current?.setMarkdown(md.slice(0, -slashPrefix.length));\n }\n item.action();\n },\n [slashFilter],\n );\n\n const handleSlashClose = useCallback(() => {\n setSlashOpen(false);\n }, []);\n\n const allowedVariables = useMemo(() => richtext?.embeds?.variables ?? [], [richtext]);\n\n const jsxDescriptors = useMemo(() => {\n const descriptors: JsxComponentDescriptor[] = [];\n if (richtext?.embeds?.images) {\n descriptors.push(CMS_IMAGE_DESCRIPTOR);\n }\n if (richtext?.embeds?.references) {\n descriptors.push(CMS_REFERENCE_DESCRIPTOR);\n }\n if (allowedVariables.length > 0) {\n descriptors.push(buildCmsVarDescriptor(allowedVariables));\n }\n if (richtext?.embeds?.conditions) {\n descriptors.push(CMS_CONDITION_DESCRIPTOR);\n descriptors.push(CMS_BRANCH_DESCRIPTOR);\n }\n const customComponents = richtext?.embeds?.components;\n if (customComponents) {\n for (const [name, def] of Object.entries(customComponents)) {\n descriptors.push(buildCustomComponentDescriptor(name, def));\n }\n }\n return descriptors;\n }, [richtext, allowedVariables]);\n\n const hasImageEmbeds = richtext?.embeds?.images === true;\n const hasReferenceEmbeds = !!richtext?.embeds?.references;\n const hasConditions = richtext?.embeds?.conditions === true;\n const hasVariables = allowedVariables.length > 0;\n const customComponents = richtext?.embeds?.components;\n const hasCustomComponents = !!customComponents && Object.keys(customComponents).length > 0;\n\n // Toolbar config — all buttons shown by default\n const tb = richtext?.toolbar;\n const showFormatting = tb?.formatting !== false;\n const showHeadings = tb?.headings !== false;\n const showLists = tb?.lists !== false;\n const showCode = tb?.code !== false;\n const showCodeBlock = tb?.codeBlock !== false;\n const showLinks = tb?.links !== false;\n const showTables = tb?.tables !== false;\n const showThematicBreak = tb?.thematicBreak !== false;\n const showImages = tb?.images !== false;\n const showUndoRedo = tb?.undoRedo !== false;\n\n const hasAnyEmbeds = hasImageEmbeds || hasReferenceEmbeds || hasConditions || hasVariables || hasCustomComponents;\n\n const plugins = useMemo(\n () => [\n headingsPlugin(),\n listsPlugin(),\n quotePlugin(),\n thematicBreakPlugin(),\n linkPlugin(),\n linkDialogPlugin(),\n imagePlugin(),\n tablePlugin(),\n codeBlockPlugin({ defaultCodeBlockLanguage: '' }),\n markdownShortcutPlugin(),\n ...(jsxDescriptors.length > 0 ? [jsxPlugin({ jsxComponentDescriptors: jsxDescriptors })] : []),\n toolbarPlugin({\n toolbarContents: () => (\n <>\n <InsertJsxPublisherBridge targetRef={insertJsxRef} />\n {showUndoRedo && <UndoRedo />}\n {showFormatting && <BoldItalicUnderlineToggles />}\n {showCode && <CodeToggle />}\n {showLinks && <CreateLink />}\n {showLists && <ListsToggle />}\n {showHeadings && <BlockTypeSelect />}\n {showTables && <InsertTable />}\n {showThematicBreak && <InsertThematicBreak />}\n {showImages && <InsertImage />}\n {showCodeBlock && <InsertCodeBlock />}\n {hasAnyEmbeds && <Separator />}\n {hasImageEmbeds && <InsertCmsImageButton />}\n {hasReferenceEmbeds && <InsertCmsRefButton />}\n {hasConditions && <InsertCmsConditionButton />}\n {hasVariables && <InsertCmsVarButton variables={allowedVariables} />}\n {hasCustomComponents && <InsertCustomComponentButton components={customComponents!} />}\n </>\n ),\n }),\n ],\n [\n jsxDescriptors,\n hasImageEmbeds,\n hasReferenceEmbeds,\n hasConditions,\n hasVariables,\n allowedVariables,\n hasCustomComponents,\n customComponents,\n hasAnyEmbeds,\n showFormatting,\n showHeadings,\n showLists,\n showCode,\n showCodeBlock,\n showLinks,\n showTables,\n showThematicBreak,\n showImages,\n showUndoRedo,\n ],\n );\n\n return (\n <Field label={label} schema=\"richtext\" required={required} hint={hint} error={error} className=\"octo-ff-richtext\">\n <input type=\"hidden\" ref={hiddenInputRef} name={name} defaultValue={value} />\n <div ref={editorWrapRef} className=\"octo-ff-richtext__editor-wrap\">\n <MDXEditor\n markdown={value}\n plugins={plugins}\n ref={editorRef}\n onChange={onChange}\n className={cn('editor-markdown', error && 'editor-markdown--invalid')}\n />\n <SlashMenuOverlay\n items={filteredSlashItems}\n open={slashOpen}\n filter={slashFilter}\n position={slashPosition}\n onSelect={handleSlashSelect}\n onClose={handleSlashClose}\n />\n </div>\n </Field>\n );\n};\n\nexport default FormRichTextField;\n"],"mappings":"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","names":["_a","_b","_c","_d","customComponents","name"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormSelectField.d.ts","sourceRoot":"","sources":["../../../../components/ui/FormField/FormSelectField.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAsBzD,KAAK,oBAAoB,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,SAAS,YAAY,EAAE,CAAC;IACjC,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5C,CAAC;AAEF,QAAA,MAAM,eAAe,GAAI,iFAUtB,oBAAoB,4CA6EtB,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import "
|
|
2
|
+
import "../../../chunk-B5LE2OEC.js";
|
|
3
3
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
4
|
import { useEffect, useState } from "react";
|
|
5
|
-
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "
|
|
6
|
-
import {
|
|
7
|
-
import { FieldLabel } from "./FieldLabel";
|
|
5
|
+
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "../Select/Select";
|
|
6
|
+
import { Field } from "./Field";
|
|
8
7
|
const EMPTY_VALUE = "__cms_select_none__";
|
|
9
8
|
function normalizeMulti(raw) {
|
|
10
9
|
if (Array.isArray(raw)) {
|
|
@@ -44,28 +43,25 @@ const FormSelectField = ({
|
|
|
44
43
|
onClearError == null ? void 0 : onClearError(name);
|
|
45
44
|
setMulti((prev) => prev.includes(val) ? prev.filter((x) => x !== val) : [...prev, val]);
|
|
46
45
|
};
|
|
47
|
-
return /* @__PURE__ */ jsxs(
|
|
48
|
-
/* @__PURE__ */ jsx(FieldLabel, { label, type: "select", required }),
|
|
46
|
+
return /* @__PURE__ */ jsxs(Field, { label, schema: "select", required, hint, error, children: [
|
|
49
47
|
/* @__PURE__ */ jsx("input", { type: "hidden", name, value: JSON.stringify(multi) }),
|
|
50
|
-
/* @__PURE__ */ jsx("ul", { className: "
|
|
48
|
+
/* @__PURE__ */ jsx("ul", { className: "octo-ff-select__multi", children: options.map((o) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsxs("label", { className: "octo-ff-select__multi-label", children: [
|
|
51
49
|
/* @__PURE__ */ jsx(
|
|
52
50
|
"input",
|
|
53
51
|
{
|
|
54
52
|
type: "checkbox",
|
|
55
53
|
checked: multi.includes(o.value),
|
|
56
54
|
onChange: () => toggle(o.value),
|
|
57
|
-
className: "
|
|
55
|
+
className: "octo-ff-select__multi-checkbox"
|
|
58
56
|
}
|
|
59
57
|
),
|
|
60
58
|
/* @__PURE__ */ jsx("span", { children: o.label })
|
|
61
|
-
] }) }, o.value)) })
|
|
62
|
-
/* @__PURE__ */ jsx(FieldHintAndError, { hint, error })
|
|
59
|
+
] }) }, o.value)) })
|
|
63
60
|
] });
|
|
64
61
|
}
|
|
65
62
|
const allowEmpty = !required;
|
|
66
63
|
const radixValue = allowEmpty ? single === "" ? EMPTY_VALUE : single : single === "" ? void 0 : single;
|
|
67
|
-
return /* @__PURE__ */ jsxs(
|
|
68
|
-
/* @__PURE__ */ jsx(FieldLabel, { label, type: "select", required }),
|
|
64
|
+
return /* @__PURE__ */ jsxs(Field, { label, schema: "select", required, hint, error, children: [
|
|
69
65
|
/* @__PURE__ */ jsx("input", { type: "hidden", name, value: single }),
|
|
70
66
|
/* @__PURE__ */ jsxs(
|
|
71
67
|
Select,
|
|
@@ -76,22 +72,14 @@ const FormSelectField = ({
|
|
|
76
72
|
setSingle(v === EMPTY_VALUE ? "" : v);
|
|
77
73
|
},
|
|
78
74
|
children: [
|
|
79
|
-
/* @__PURE__ */ jsx(
|
|
80
|
-
SelectTrigger,
|
|
81
|
-
{
|
|
82
|
-
className: "field-shell h-10 w-full max-w-md rounded-full border-border bg-card px-4",
|
|
83
|
-
"aria-invalid": error ? true : void 0,
|
|
84
|
-
children: /* @__PURE__ */ jsx(SelectValue, { placeholder: allowEmpty ? "\u2014" : "Choose\u2026" })
|
|
85
|
-
}
|
|
86
|
-
),
|
|
75
|
+
/* @__PURE__ */ jsx(SelectTrigger, { className: "field-shell octo-input octo-input--shell", "aria-invalid": error ? true : void 0, children: /* @__PURE__ */ jsx(SelectValue, { placeholder: allowEmpty ? "\u2014" : "Choose\u2026" }) }),
|
|
87
76
|
/* @__PURE__ */ jsxs(SelectContent, { children: [
|
|
88
|
-
allowEmpty ? /* @__PURE__ */ jsx(SelectItem, { value: EMPTY_VALUE, children: /* @__PURE__ */ jsx("span", { className: "
|
|
77
|
+
allowEmpty ? /* @__PURE__ */ jsx(SelectItem, { value: EMPTY_VALUE, children: /* @__PURE__ */ jsx("span", { className: "octo-field-hint-error__hint", children: "\u2014" }) }) : null,
|
|
89
78
|
options.map((o) => /* @__PURE__ */ jsx(SelectItem, { value: o.value, children: o.label }, o.value))
|
|
90
79
|
] })
|
|
91
80
|
]
|
|
92
81
|
}
|
|
93
|
-
)
|
|
94
|
-
/* @__PURE__ */ jsx(FieldHintAndError, { hint, error })
|
|
82
|
+
)
|
|
95
83
|
] });
|
|
96
84
|
};
|
|
97
85
|
var FormSelectField_default = FormSelectField;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../components/ui/FormField/FormSelectField.tsx"],"sourcesContent":["'use client';\n\nimport React, { useEffect, useState } from 'react';\n\nimport type { SelectOption } from '../../../admin/types';\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '../Select/Select';\n\nimport { Field } from './Field';\n\nconst EMPTY_VALUE = '__cms_select_none__';\n\nfunction normalizeMulti(raw: unknown): string[] {\n if (Array.isArray(raw)) {\n return raw.map(String);\n }\n if (typeof raw === 'string') {\n try {\n const p = JSON.parse(raw);\n return Array.isArray(p) ? p.map(String) : [];\n } catch {\n return [];\n }\n }\n return [];\n}\n\ntype FormSelectFieldProps = {\n label: string;\n name: string;\n value: unknown;\n options: readonly SelectOption[];\n multiple: boolean;\n required?: boolean;\n hint?: string;\n error?: string;\n onClearError?: (fieldName: string) => void;\n};\n\nconst FormSelectField = ({\n label,\n name,\n value,\n options,\n multiple,\n required,\n hint,\n error,\n onClearError,\n}: FormSelectFieldProps) => {\n const [multi, setMulti] = useState<string[]>(() => normalizeMulti(value));\n const [single, setSingle] = useState(() => (value == null || value === '' ? '' : String(value)));\n\n useEffect(() => {\n setMulti(normalizeMulti(value));\n }, [value]);\n\n useEffect(() => {\n setSingle(value == null || value === '' ? '' : String(value));\n }, [value]);\n\n if (multiple) {\n const toggle = (val: string) => {\n onClearError?.(name);\n setMulti((prev) => (prev.includes(val) ? prev.filter((x) => x !== val) : [...prev, val]));\n };\n\n return (\n <Field label={label} schema=\"select\" required={required} hint={hint} error={error}>\n <input type=\"hidden\" name={name} value={JSON.stringify(multi)} />\n <ul className=\"octo-ff-select__multi\">\n {options.map((o) => (\n <li key={o.value}>\n <label className=\"octo-ff-select__multi-label\">\n <input\n type=\"checkbox\"\n checked={multi.includes(o.value)}\n onChange={() => toggle(o.value)}\n className=\"octo-ff-select__multi-checkbox\"\n />\n <span>{o.label}</span>\n </label>\n </li>\n ))}\n </ul>\n </Field>\n );\n }\n\n const allowEmpty = !required;\n const radixValue: string | undefined = allowEmpty\n ? single === ''\n ? EMPTY_VALUE\n : single\n : single === ''\n ? undefined\n : single;\n\n return (\n <Field label={label} schema=\"select\" required={required} hint={hint} error={error}>\n <input type=\"hidden\" name={name} value={single} />\n <Select\n value={radixValue}\n onValueChange={(v) => {\n onClearError?.(name);\n setSingle(v === EMPTY_VALUE ? '' : v);\n }}\n >\n <SelectTrigger className=\"field-shell octo-input octo-input--shell\" aria-invalid={error ? true : undefined}>\n <SelectValue placeholder={allowEmpty ? '—' : 'Choose…'} />\n </SelectTrigger>\n <SelectContent>\n {allowEmpty ? (\n <SelectItem value={EMPTY_VALUE}>\n <span className=\"octo-field-hint-error__hint\">—</span>\n </SelectItem>\n ) : null}\n {options.map((o) => (\n <SelectItem key={o.value} value={o.value}>\n {o.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </Field>\n );\n};\n\nexport default FormSelectField;\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormSlugField.d.ts","sourceRoot":"","sources":["../../../../components/ui/FormField/FormSlugField.tsx"],"names":[],"mappings":"AAUA,KAAK,kBAAkB,GAAG;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5C,CAAC;AAEF,QAAA,MAAM,aAAa,GAAI,2EASpB,kBAAkB,4CAoFpB,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import "
|
|
2
|
+
import "../../../chunk-B5LE2OEC.js";
|
|
3
3
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
4
|
import { useCallback, useEffect, useRef, useState } from "react";
|
|
5
|
-
import { sanitizeSlugFieldInputValue, slugifyForUrl } from "
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
5
|
+
import { sanitizeSlugFieldInputValue, slugifyForUrl } from "../../../lib/slugField";
|
|
6
|
+
import { Button } from "../Button/Button";
|
|
7
|
+
import { Field } from "./Field";
|
|
8
8
|
import { FieldShell, FIELD_INPUT_CLASS } from "./FieldShell";
|
|
9
|
-
import { Button } from "./ui/button";
|
|
10
9
|
const FormSlugField = ({
|
|
11
10
|
label,
|
|
12
11
|
name,
|
|
@@ -70,27 +69,23 @@ const FormSlugField = ({
|
|
|
70
69
|
}
|
|
71
70
|
onClearError == null ? void 0 : onClearError(name);
|
|
72
71
|
};
|
|
73
|
-
return /* @__PURE__ */ jsxs("div", { className: "
|
|
74
|
-
/* @__PURE__ */ jsx(
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
/* @__PURE__ */ jsx(Button, { type: "button", variant: "outline", size: "sm", className: "rounded-full", onClick: onRegenerate, children: "Regenerate from title" })
|
|
91
|
-
] }),
|
|
92
|
-
/* @__PURE__ */ jsx(FieldHintAndError, { hint, error })
|
|
93
|
-
] });
|
|
72
|
+
return /* @__PURE__ */ jsx(Field, { label, htmlFor: name, schema: "slug", required, hint, error, children: /* @__PURE__ */ jsxs("div", { className: "octo-ff-slug__row", children: [
|
|
73
|
+
/* @__PURE__ */ jsx("div", { className: "octo-ff-slug__input-wrap", children: /* @__PURE__ */ jsx(FieldShell, { error: !!error, children: /* @__PURE__ */ jsx(
|
|
74
|
+
"input",
|
|
75
|
+
{
|
|
76
|
+
ref: inputRef,
|
|
77
|
+
id: name,
|
|
78
|
+
className: FIELD_INPUT_CLASS,
|
|
79
|
+
type: "text",
|
|
80
|
+
name,
|
|
81
|
+
defaultValue: value,
|
|
82
|
+
"aria-invalid": error ? true : void 0,
|
|
83
|
+
onInput: onSlugInput,
|
|
84
|
+
onChange: onSlugInput
|
|
85
|
+
}
|
|
86
|
+
) }) }),
|
|
87
|
+
/* @__PURE__ */ jsx(Button, { type: "button", variant: "outline", onClick: onRegenerate, children: "Regenerate from title" })
|
|
88
|
+
] }) });
|
|
94
89
|
};
|
|
95
90
|
var FormSlugField_default = FormSlugField;
|
|
96
91
|
export {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../components/ui/FormField/FormSlugField.tsx"],"sourcesContent":["'use client';\n\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\n\nimport { sanitizeSlugFieldInputValue, slugifyForUrl } from '../../../lib/slugField';\nimport { Button } from '../Button/Button';\n\nimport { Field } from './Field';\nimport { FieldShell, FIELD_INPUT_CLASS } from './FieldShell';\n\ntype FormSlugFieldProps = {\n label: string;\n name: string;\n value: string;\n sourceField: string;\n required?: boolean;\n hint?: string;\n error?: string;\n onClearError?: (fieldName: string) => void;\n};\n\nconst FormSlugField = ({\n label,\n name,\n value,\n sourceField,\n required,\n hint,\n error,\n onClearError,\n}: FormSlugFieldProps) => {\n const inputRef = useRef<HTMLInputElement>(null);\n const [slugTouched, setSlugTouched] = useState(() => Boolean(value?.trim()));\n\n const applyFromSource = useCallback(\n (sourceText: string) => {\n if (!inputRef.current || slugTouched) {\n return;\n }\n inputRef.current.value = slugifyForUrl(sourceText);\n },\n [slugTouched],\n );\n\n useEffect(() => {\n const input = inputRef.current;\n const form = input?.closest('form');\n if (!form || !input) {\n return undefined;\n }\n\n const onFormInput = (e: Event) => {\n const t = e.target;\n if (!(t instanceof HTMLInputElement) && !(t instanceof HTMLTextAreaElement)) {\n return;\n }\n if (t.name !== sourceField) {\n return;\n }\n applyFromSource(t.value);\n };\n\n form.addEventListener('input', onFormInput);\n return () => form.removeEventListener('input', onFormInput);\n }, [sourceField, applyFromSource]);\n\n const onSlugInput = (e: React.FormEvent<HTMLInputElement>) => {\n const el = e.currentTarget;\n const next = sanitizeSlugFieldInputValue(el.value);\n if (el.value !== next) {\n el.value = next;\n }\n setSlugTouched(true);\n onClearError?.(name);\n };\n\n const onRegenerate = () => {\n const form = inputRef.current?.closest('form');\n if (!form) {\n return;\n }\n const source = form.elements.namedItem(sourceField);\n const raw = source instanceof HTMLInputElement || source instanceof HTMLTextAreaElement ? source.value : '';\n setSlugTouched(false);\n if (inputRef.current) {\n inputRef.current.value = slugifyForUrl(raw);\n }\n onClearError?.(name);\n };\n\n return (\n <Field label={label} htmlFor={name} schema=\"slug\" required={required} hint={hint} error={error}>\n <div className=\"octo-ff-slug__row\">\n <div className=\"octo-ff-slug__input-wrap\">\n <FieldShell error={!!error}>\n <input\n ref={inputRef}\n id={name}\n className={FIELD_INPUT_CLASS}\n type=\"text\"\n name={name}\n defaultValue={value}\n aria-invalid={error ? true : undefined}\n onInput={onSlugInput}\n onChange={onSlugInput}\n />\n </FieldShell>\n </div>\n <Button type=\"button\" variant=\"outline\" onClick={onRegenerate}>\n Regenerate from title\n </Button>\n </div>\n </Field>\n );\n};\n\nexport default FormSlugField;\n"],"mappings":";;AA4FM,SAGM,KAHN;AA1FN,SAAgB,aAAa,WAAW,QAAQ,gBAAgB;AAEhE,SAAS,6BAA6B,qBAAqB;AAC3D,SAAS,cAAc;AAEvB,SAAS,aAAa;AACtB,SAAS,YAAY,yBAAyB;AAa9C,MAAM,gBAAgB,CAAC;AAAA,EACrB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAA0B;AACxB,QAAM,WAAW,OAAyB,IAAI;AAC9C,QAAM,CAAC,aAAa,cAAc,IAAI,SAAS,MAAM,QAAQ,+BAAO,MAAM,CAAC;AAE3E,QAAM,kBAAkB;AAAA,IACtB,CAAC,eAAuB;AACtB,UAAI,CAAC,SAAS,WAAW,aAAa;AACpC;AAAA,MACF;AACA,eAAS,QAAQ,QAAQ,cAAc,UAAU;AAAA,IACnD;AAAA,IACA,CAAC,WAAW;AAAA,EACd;AAEA,YAAU,MAAM;AACd,UAAM,QAAQ,SAAS;AACvB,UAAM,OAAO,+BAAO,QAAQ;AAC5B,QAAI,CAAC,QAAQ,CAAC,OAAO;AACnB,aAAO;AAAA,IACT;AAEA,UAAM,cAAc,CAAC,MAAa;AAChC,YAAM,IAAI,EAAE;AACZ,UAAI,EAAE,aAAa,qBAAqB,EAAE,aAAa,sBAAsB;AAC3E;AAAA,MACF;AACA,UAAI,EAAE,SAAS,aAAa;AAC1B;AAAA,MACF;AACA,sBAAgB,EAAE,KAAK;AAAA,IACzB;AAEA,SAAK,iBAAiB,SAAS,WAAW;AAC1C,WAAO,MAAM,KAAK,oBAAoB,SAAS,WAAW;AAAA,EAC5D,GAAG,CAAC,aAAa,eAAe,CAAC;AAEjC,QAAM,cAAc,CAAC,MAAyC;AAC5D,UAAM,KAAK,EAAE;AACb,UAAM,OAAO,4BAA4B,GAAG,KAAK;AACjD,QAAI,GAAG,UAAU,MAAM;AACrB,SAAG,QAAQ;AAAA,IACb;AACA,mBAAe,IAAI;AACnB,iDAAe;AAAA,EACjB;AAEA,QAAM,eAAe,MAAM;AA5E7B;AA6EI,UAAM,QAAO,cAAS,YAAT,mBAAkB,QAAQ;AACvC,QAAI,CAAC,MAAM;AACT;AAAA,IACF;AACA,UAAM,SAAS,KAAK,SAAS,UAAU,WAAW;AAClD,UAAM,MAAM,kBAAkB,oBAAoB,kBAAkB,sBAAsB,OAAO,QAAQ;AACzG,mBAAe,KAAK;AACpB,QAAI,SAAS,SAAS;AACpB,eAAS,QAAQ,QAAQ,cAAc,GAAG;AAAA,IAC5C;AACA,iDAAe;AAAA,EACjB;AAEA,SACE,oBAAC,SAAM,OAAc,SAAS,MAAM,QAAO,QAAO,UAAoB,MAAY,OAChF,+BAAC,SAAI,WAAU,qBACb;AAAA,wBAAC,SAAI,WAAU,4BACb,8BAAC,cAAW,OAAO,CAAC,CAAC,OACnB;AAAA,MAAC;AAAA;AAAA,QACC,KAAK;AAAA,QACL,IAAI;AAAA,QACJ,WAAW;AAAA,QACX,MAAK;AAAA,QACL;AAAA,QACA,cAAc;AAAA,QACd,gBAAc,QAAQ,OAAO;AAAA,QAC7B,SAAS;AAAA,QACT,UAAU;AAAA;AAAA,IACZ,GACF,GACF;AAAA,IACA,oBAAC,UAAO,MAAK,UAAS,SAAQ,WAAU,SAAS,cAAc,mCAE/D;AAAA,KACF,GACF;AAEJ;AAEA,IAAO,wBAAQ;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormStringField.d.ts","sourceRoot":"","sources":["../../../../components/ui/FormField/FormStringField.tsx"],"names":[],"mappings":"AAOA,KAAK,oBAAoB,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,QAAA,MAAM,eAAe,GAAI,+CAA+C,oBAAoB,4CAe3F,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import "../../../chunk-B5LE2OEC.js";
|
|
3
|
+
import { jsx } from "react/jsx-runtime";
|
|
4
|
+
import { Field } from "./Field";
|
|
5
|
+
import { FieldShell, FIELD_INPUT_CLASS } from "./FieldShell";
|
|
6
|
+
const FormStringField = ({ label, name, value, required, hint, error }) => {
|
|
7
|
+
return /* @__PURE__ */ jsx(Field, { label, htmlFor: name, schema: "string", required, hint, error, children: /* @__PURE__ */ jsx(FieldShell, { error: !!error, children: /* @__PURE__ */ jsx(
|
|
8
|
+
"input",
|
|
9
|
+
{
|
|
10
|
+
id: name,
|
|
11
|
+
className: FIELD_INPUT_CLASS,
|
|
12
|
+
type: "text",
|
|
13
|
+
name,
|
|
14
|
+
defaultValue: value,
|
|
15
|
+
"aria-invalid": error ? true : void 0
|
|
16
|
+
}
|
|
17
|
+
) }) });
|
|
18
|
+
};
|
|
19
|
+
var FormStringField_default = FormStringField;
|
|
20
|
+
export {
|
|
21
|
+
FormStringField_default as default
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=FormStringField.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../components/ui/FormField/FormStringField.tsx"],"sourcesContent":["'use client';\n\nimport React from 'react';\n\nimport { Field } from './Field';\nimport { FieldShell, FIELD_INPUT_CLASS } from './FieldShell';\n\ntype FormStringFieldProps = {\n label: string;\n name: string;\n value: string;\n required?: boolean;\n hint?: string;\n error?: string;\n};\n\nconst FormStringField = ({ label, name, value, required, hint, error }: FormStringFieldProps) => {\n return (\n <Field label={label} htmlFor={name} schema=\"string\" required={required} hint={hint} error={error}>\n <FieldShell error={!!error}>\n <input\n id={name}\n className={FIELD_INPUT_CLASS}\n type=\"text\"\n name={name}\n defaultValue={value}\n aria-invalid={error ? true : undefined}\n />\n </FieldShell>\n </Field>\n );\n};\n\nexport default FormStringField;\n"],"mappings":";;AAoBQ;AAhBR,SAAS,aAAa;AACtB,SAAS,YAAY,yBAAyB;AAW9C,MAAM,kBAAkB,CAAC,EAAE,OAAO,MAAM,OAAO,UAAU,MAAM,MAAM,MAA4B;AAC/F,SACE,oBAAC,SAAM,OAAc,SAAS,MAAM,QAAO,UAAS,UAAoB,MAAY,OAClF,8BAAC,cAAW,OAAO,CAAC,CAAC,OACnB;AAAA,IAAC;AAAA;AAAA,MACC,IAAI;AAAA,MACJ,WAAW;AAAA,MACX,MAAK;AAAA,MACL;AAAA,MACA,cAAc;AAAA,MACd,gBAAc,QAAQ,OAAO;AAAA;AAAA,EAC/B,GACF,GACF;AAEJ;AAEA,IAAO,0BAAQ;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormStringListField.d.ts","sourceRoot":"","sources":["../../../../components/ui/FormField/FormStringListField.tsx"],"names":[],"mappings":"AAYA,KAAK,wBAAwB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,2DAA2D;IAC3D,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC,CAAC;AA+CF,QAAA,MAAM,mBAAmB,GAAI,6DAA6D,wBAAwB,4CA8GjH,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import "
|
|
2
|
+
import "../../../chunk-B5LE2OEC.js";
|
|
3
3
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
|
-
import {
|
|
4
|
+
import { Icon } from "../Icon/Icon";
|
|
5
5
|
import { useCallback, useEffect, useId, useMemo, useRef, useState } from "react";
|
|
6
|
-
import { cn } from "
|
|
7
|
-
import { normalizeStringListFromStorage } from "
|
|
8
|
-
import {
|
|
6
|
+
import { cn } from "../../../lib/utils";
|
|
7
|
+
import { normalizeStringListFromStorage } from "../../../lib/stringListField";
|
|
8
|
+
import { Field } from "./Field";
|
|
9
9
|
function rowsFromStrings(values, nextId) {
|
|
10
10
|
return values.map((value) => ({ id: nextId(), value }));
|
|
11
11
|
}
|
|
@@ -25,22 +25,19 @@ const ListRow = ({
|
|
|
25
25
|
onDragOver: (e) => onDragOver(e, index),
|
|
26
26
|
onDragEnd,
|
|
27
27
|
onDrop: () => onDrop(index),
|
|
28
|
-
className:
|
|
29
|
-
"flex items-center gap-0 rounded-lg border border-border bg-muted/40 text-sm",
|
|
30
|
-
"cursor-grab active:cursor-grabbing"
|
|
31
|
-
),
|
|
28
|
+
className: "octo-ff-list__item",
|
|
32
29
|
children: [
|
|
33
|
-
/* @__PURE__ */ jsx("span", { className: "
|
|
34
|
-
/* @__PURE__ */ jsx("span", { className: "
|
|
35
|
-
/* @__PURE__ */ jsx("span", { className: "
|
|
30
|
+
/* @__PURE__ */ jsx("span", { className: "octo-ff-list__item-grip", "aria-hidden": true, children: /* @__PURE__ */ jsx(Icon.GripVertical, { className: "octo-icon-md" }) }),
|
|
31
|
+
/* @__PURE__ */ jsx("span", { className: "octo-ff-list__item-value", children: row.value }),
|
|
32
|
+
/* @__PURE__ */ jsx("span", { className: "octo-ff-list__item-sep", "aria-hidden": true }),
|
|
36
33
|
/* @__PURE__ */ jsx(
|
|
37
34
|
"button",
|
|
38
35
|
{
|
|
39
36
|
type: "button",
|
|
40
37
|
onClick: () => onRemove(index),
|
|
41
|
-
className: "
|
|
38
|
+
className: "octo-ff-list__item-remove",
|
|
42
39
|
"aria-label": `Remove ${row.value}`,
|
|
43
|
-
children: /* @__PURE__ */ jsx(X, { className: "
|
|
40
|
+
children: /* @__PURE__ */ jsx(Icon.X, { className: "octo-icon-md" })
|
|
44
41
|
}
|
|
45
42
|
)
|
|
46
43
|
]
|
|
@@ -111,19 +108,12 @@ const FormStringListField = ({ label, name, value, required, hint, error, onClea
|
|
|
111
108
|
},
|
|
112
109
|
[dragIndex, name, onClearError]
|
|
113
110
|
);
|
|
114
|
-
return /* @__PURE__ */ jsxs(
|
|
115
|
-
/* @__PURE__ */ jsxs("div", { className: "block text-xs font-medium text-muted-foreground mb-1.5", children: [
|
|
116
|
-
label,
|
|
117
|
-
required ? /* @__PURE__ */ jsx("span", { className: "text-destructive ml-1", children: "*" }) : null
|
|
118
|
-
] }),
|
|
111
|
+
return /* @__PURE__ */ jsxs(Field, { label, schema: "string[]", required, hint, error, children: [
|
|
119
112
|
/* @__PURE__ */ jsx(
|
|
120
113
|
"input",
|
|
121
114
|
{
|
|
122
115
|
id: inputId,
|
|
123
|
-
className: cn(
|
|
124
|
-
"w-full text-sm bg-background text-foreground px-3 py-2 rounded-md border border-border focus:outline-none focus:ring-2 focus:ring-primary/30 transition-colors mb-2",
|
|
125
|
-
error && "border-destructive focus:ring-destructive/30"
|
|
126
|
-
),
|
|
116
|
+
className: cn("octo-ff-list__add-input", error && "octo-ff-list__add-input octo-ff-list__add-input--error"),
|
|
127
117
|
type: "text",
|
|
128
118
|
value: draft,
|
|
129
119
|
onChange: (e) => setDraft(e.target.value),
|
|
@@ -135,7 +125,7 @@ const FormStringListField = ({ label, name, value, required, hint, error, onClea
|
|
|
135
125
|
"aria-invalid": error ? true : void 0
|
|
136
126
|
}
|
|
137
127
|
),
|
|
138
|
-
rows.length > 0 ? /* @__PURE__ */ jsx("div", { className: "
|
|
128
|
+
rows.length > 0 ? /* @__PURE__ */ jsx("div", { className: "octo-ff-list__items", children: rows.map((row, i) => /* @__PURE__ */ jsx(
|
|
139
129
|
ListRow,
|
|
140
130
|
{
|
|
141
131
|
row,
|
|
@@ -148,7 +138,6 @@ const FormStringListField = ({ label, name, value, required, hint, error, onClea
|
|
|
148
138
|
},
|
|
149
139
|
row.id
|
|
150
140
|
)) }) : null,
|
|
151
|
-
/* @__PURE__ */ jsx(FieldHintAndError, { hint, error }),
|
|
152
141
|
/* @__PURE__ */ jsx("input", { type: "hidden", name, value: serializedValue })
|
|
153
142
|
] });
|
|
154
143
|
};
|