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.
Files changed (796) hide show
  1. package/dist/admin/AdminApp.d.ts +1 -1
  2. package/dist/admin/AdminApp.js +2 -2
  3. package/dist/admin/AdminApp.js.map +1 -1
  4. package/dist/admin/actions/agent.d.ts +3 -3
  5. package/dist/admin/actions/agent.js.map +1 -1
  6. package/dist/admin/actions/media.d.ts.map +1 -1
  7. package/dist/admin/actions/media.js +3 -1
  8. package/dist/admin/actions/media.js.map +1 -1
  9. package/dist/admin/pages/AdminErrorView.d.ts.map +1 -1
  10. package/dist/admin/pages/AdminErrorView.js +9 -9
  11. package/dist/admin/pages/AdminErrorView.js.map +1 -1
  12. package/dist/admin/pages/AdminLayout.d.ts +1 -1
  13. package/dist/admin/pages/AdminLayout.d.ts.map +1 -1
  14. package/dist/admin/pages/AdminLayout.js +2 -2
  15. package/dist/admin/pages/AdminLayout.js.map +1 -1
  16. package/dist/admin/pages/ChatPage.d.ts +3 -3
  17. package/dist/admin/pages/ChatPage.d.ts.map +1 -1
  18. package/dist/admin/pages/ChatPage.js +8 -5
  19. package/dist/admin/pages/ChatPage.js.map +1 -1
  20. package/dist/admin/pages/CollectionPage.d.ts.map +1 -1
  21. package/dist/admin/pages/CollectionPage.js +5 -1
  22. package/dist/admin/pages/CollectionPage.js.map +1 -1
  23. package/dist/admin/pages/ContentModelPage.d.ts.map +1 -1
  24. package/dist/admin/pages/ContentModelPage.js +5 -1
  25. package/dist/admin/pages/ContentModelPage.js.map +1 -1
  26. package/dist/admin/pages/ContentPage.d.ts.map +1 -1
  27. package/dist/admin/pages/ContentPage.js +5 -1
  28. package/dist/admin/pages/ContentPage.js.map +1 -1
  29. package/dist/admin/pages/ContentTypePage.d.ts.map +1 -1
  30. package/dist/admin/pages/ContentTypePage.js +6 -2
  31. package/dist/admin/pages/ContentTypePage.js.map +1 -1
  32. package/dist/admin/pages/EntryPage.d.ts.map +1 -1
  33. package/dist/admin/pages/EntryPage.js +5 -1
  34. package/dist/admin/pages/EntryPage.js.map +1 -1
  35. package/dist/admin/pages/MediaAssetPage.d.ts.map +1 -1
  36. package/dist/admin/pages/MediaAssetPage.js +6 -2
  37. package/dist/admin/pages/MediaAssetPage.js.map +1 -1
  38. package/dist/admin/pages/MediaPage.d.ts.map +1 -1
  39. package/dist/admin/pages/MediaPage.js +6 -2
  40. package/dist/admin/pages/MediaPage.js.map +1 -1
  41. package/dist/admin/theme/toggle.d.ts.map +1 -1
  42. package/dist/admin/theme/toggle.js +27 -27
  43. package/dist/admin/theme/toggle.js.map +1 -1
  44. package/dist/agent/chatSetup.d.ts +19 -0
  45. package/dist/agent/chatSetup.d.ts.map +1 -0
  46. package/dist/agent/chatSetup.js +119 -0
  47. package/dist/agent/chatSetup.js.map +1 -0
  48. package/dist/agent/featureFlag.d.ts +3 -3
  49. package/dist/agent/featureFlag.js.map +1 -1
  50. package/dist/agent/index.cjs +75 -5309
  51. package/dist/agent/index.cjs.map +1 -1
  52. package/dist/{agentDocs-M3R2CPUQ.js → agentDocs-QZ4NOQVH.js} +2 -2
  53. package/dist/{chunk-DCDFWNC6.js → chunk-I7VNI2IG.js} +4 -7
  54. package/dist/{chunk-DCDFWNC6.js.map → chunk-I7VNI2IG.js.map} +1 -1
  55. package/dist/chunk-TOUAHFDW.js +7 -0
  56. package/dist/{chunk-NAHOP7TG.js.map → chunk-TOUAHFDW.js.map} +1 -1
  57. package/dist/cli/index.js +4 -4
  58. package/dist/cli/lib/templates.js +3 -6
  59. package/dist/cli/lib/templates.js.map +1 -1
  60. package/dist/components/Chat/ChatAgentSetup.d.ts +7 -0
  61. package/dist/components/Chat/ChatAgentSetup.d.ts.map +1 -0
  62. package/dist/components/Chat/ChatAgentSetup.js +37 -0
  63. package/dist/components/Chat/ChatAgentSetup.js.map +1 -0
  64. package/dist/components/Chat/ChatPage.d.ts +6 -1
  65. package/dist/components/Chat/ChatPage.d.ts.map +1 -1
  66. package/dist/components/Chat/ChatPage.js +123 -128
  67. package/dist/components/Chat/ChatPage.js.map +1 -1
  68. package/dist/components/Chat/ChatSidebar.d.ts +10 -0
  69. package/dist/components/Chat/ChatSidebar.d.ts.map +1 -0
  70. package/dist/components/Chat/ChatSidebar.js +45 -0
  71. package/dist/components/Chat/ChatSidebar.js.map +1 -0
  72. package/dist/components/Chat/Composer.d.ts.map +1 -1
  73. package/dist/components/Chat/Composer.js +28 -45
  74. package/dist/components/Chat/Composer.js.map +1 -1
  75. package/dist/components/Chat/Message.d.ts.map +1 -1
  76. package/dist/components/Chat/Message.js +40 -39
  77. package/dist/components/Chat/Message.js.map +1 -1
  78. package/dist/components/Chat/ProposalCard.d.ts.map +1 -1
  79. package/dist/components/Chat/ProposalCard.js +56 -67
  80. package/dist/components/Chat/ProposalCard.js.map +1 -1
  81. package/dist/components/Chat/ToolCallCard.d.ts.map +1 -1
  82. package/dist/components/Chat/ToolCallCard.js +29 -38
  83. package/dist/components/Chat/ToolCallCard.js.map +1 -1
  84. package/dist/components/Chat/chatStorage.d.ts +64 -0
  85. package/dist/components/Chat/chatStorage.d.ts.map +1 -0
  86. package/dist/components/Chat/chatStorage.js +154 -0
  87. package/dist/components/Chat/chatStorage.js.map +1 -0
  88. package/dist/components/Chat/useChatHistory.d.ts +12 -0
  89. package/dist/components/Chat/useChatHistory.d.ts.map +1 -0
  90. package/dist/components/Chat/useChatHistory.js +196 -0
  91. package/dist/components/Chat/useChatHistory.js.map +1 -0
  92. package/dist/components/Chat/useChatStream.d.ts +6 -0
  93. package/dist/components/Chat/useChatStream.d.ts.map +1 -1
  94. package/dist/components/Chat/useChatStream.js +31 -2
  95. package/dist/components/Chat/useChatStream.js.map +1 -1
  96. package/dist/components/CommandK/CommandK.d.ts +1 -1
  97. package/dist/components/CommandK/CommandK.d.ts.map +1 -1
  98. package/dist/components/CommandK/CommandK.js +100 -116
  99. package/dist/components/CommandK/CommandK.js.map +1 -1
  100. package/dist/components/CommandK/parts.d.ts.map +1 -1
  101. package/dist/components/CommandK/parts.js +9 -11
  102. package/dist/components/CommandK/parts.js.map +1 -1
  103. package/dist/components/ContentModel/ConditionalBranchesEditor.d.ts.map +1 -1
  104. package/dist/components/ContentModel/ConditionalBranchesEditor.js +40 -45
  105. package/dist/components/ContentModel/ConditionalBranchesEditor.js.map +1 -1
  106. package/dist/components/ContentModel/ContentModelList.d.ts.map +1 -1
  107. package/dist/components/ContentModel/ContentModelList.js +65 -80
  108. package/dist/components/ContentModel/ContentModelList.js.map +1 -1
  109. package/dist/components/ContentModel/ContentTypeDetail.d.ts.map +1 -1
  110. package/dist/components/ContentModel/ContentTypeDetail.js +253 -280
  111. package/dist/components/ContentModel/ContentTypeDetail.js.map +1 -1
  112. package/dist/components/ContentModel/CreateContentTypeDialog.d.ts.map +1 -1
  113. package/dist/components/ContentModel/CreateContentTypeDialog.js +42 -30
  114. package/dist/components/ContentModel/CreateContentTypeDialog.js.map +1 -1
  115. package/dist/components/ContentModel/DeleteContentTypeDialog.d.ts.map +1 -1
  116. package/dist/components/ContentModel/DeleteContentTypeDialog.js +14 -15
  117. package/dist/components/ContentModel/DeleteContentTypeDialog.js.map +1 -1
  118. package/dist/components/ContentModel/DeleteFieldDialog.d.ts.map +1 -1
  119. package/dist/components/ContentModel/DeleteFieldDialog.js +27 -20
  120. package/dist/components/ContentModel/DeleteFieldDialog.js.map +1 -1
  121. package/dist/components/ContentModel/EditContentTypeDialog.d.ts.map +1 -1
  122. package/dist/components/ContentModel/EditContentTypeDialog.js +46 -34
  123. package/dist/components/ContentModel/EditContentTypeDialog.js.map +1 -1
  124. package/dist/components/ContentModel/FieldDialog.d.ts.map +1 -1
  125. package/dist/components/ContentModel/FieldDialog.js +95 -84
  126. package/dist/components/ContentModel/FieldDialog.js.map +1 -1
  127. package/dist/components/ContentModel/RichTextOptionsEditor.d.ts.map +1 -1
  128. package/dist/components/ContentModel/RichTextOptionsEditor.js +90 -81
  129. package/dist/components/ContentModel/RichTextOptionsEditor.js.map +1 -1
  130. package/dist/components/ContentModel/SchemaImpactList.d.ts.map +1 -1
  131. package/dist/components/ContentModel/SchemaImpactList.js +19 -36
  132. package/dist/components/ContentModel/SchemaImpactList.js.map +1 -1
  133. package/dist/components/ContentModel/SchemaOptionFieldInput.d.ts.map +1 -1
  134. package/dist/components/ContentModel/SchemaOptionFieldInput.js +63 -84
  135. package/dist/components/ContentModel/SchemaOptionFieldInput.js.map +1 -1
  136. package/dist/components/ContentModel/skeletons/ContentModelListPageSkeleton.d.ts +3 -0
  137. package/dist/components/ContentModel/skeletons/ContentModelListPageSkeleton.d.ts.map +1 -0
  138. package/dist/components/ContentModel/skeletons/ContentModelListPageSkeleton.js +15 -0
  139. package/dist/components/ContentModel/skeletons/ContentModelListPageSkeleton.js.map +1 -0
  140. package/dist/components/ContentModel/skeletons/ContentTypeDetailPageSkeleton.d.ts +3 -0
  141. package/dist/components/ContentModel/skeletons/ContentTypeDetailPageSkeleton.d.ts.map +1 -0
  142. package/dist/components/ContentModel/skeletons/ContentTypeDetailPageSkeleton.js +11 -0
  143. package/dist/components/ContentModel/skeletons/ContentTypeDetailPageSkeleton.js.map +1 -0
  144. package/dist/components/ContentModel/skeletons/FieldTableSkeleton.js +3 -3
  145. package/dist/components/ContentModel/skeletons/FieldTableSkeleton.js.map +1 -1
  146. package/dist/components/ContentModel/skeletons/SchemaTableSkeleton.d.ts.map +1 -1
  147. package/dist/components/ContentModel/skeletons/SchemaTableSkeleton.js +4 -12
  148. package/dist/components/ContentModel/skeletons/SchemaTableSkeleton.js.map +1 -1
  149. package/dist/components/Dashboard/DashboardContent.d.ts.map +1 -1
  150. package/dist/components/Dashboard/DashboardContent.js +87 -114
  151. package/dist/components/Dashboard/DashboardContent.js.map +1 -1
  152. package/dist/components/Dashboard/RecentPullRequests.d.ts.map +1 -1
  153. package/dist/components/Dashboard/RecentPullRequests.js +33 -45
  154. package/dist/components/Dashboard/RecentPullRequests.js.map +1 -1
  155. package/dist/components/Dashboard/skeletons/ContentPageChromeSkeleton.d.ts +2 -7
  156. package/dist/components/Dashboard/skeletons/ContentPageChromeSkeleton.d.ts.map +1 -1
  157. package/dist/components/Dashboard/skeletons/ContentPageChromeSkeleton.js +5 -20
  158. package/dist/components/Dashboard/skeletons/ContentPageChromeSkeleton.js.map +1 -1
  159. package/dist/components/Dashboard/skeletons/ContentTableSkeleton.js +9 -9
  160. package/dist/components/Dashboard/skeletons/ContentTableSkeleton.js.map +1 -1
  161. package/dist/components/Dashboard/skeletons/DashboardCollectionPageSkeleton.d.ts +3 -0
  162. package/dist/components/Dashboard/skeletons/DashboardCollectionPageSkeleton.d.ts.map +1 -0
  163. package/dist/components/Dashboard/skeletons/DashboardCollectionPageSkeleton.js +10 -0
  164. package/dist/components/Dashboard/skeletons/DashboardCollectionPageSkeleton.js.map +1 -0
  165. package/dist/components/Dashboard/skeletons/DashboardPageSkeleton.d.ts +9 -0
  166. package/dist/components/Dashboard/skeletons/DashboardPageSkeleton.d.ts.map +1 -0
  167. package/dist/components/Dashboard/skeletons/DashboardPageSkeleton.js +16 -0
  168. package/dist/components/Dashboard/skeletons/DashboardPageSkeleton.js.map +1 -0
  169. package/dist/components/Dashboard/skeletons/LeftPanelSkeleton.d.ts.map +1 -1
  170. package/dist/components/Dashboard/skeletons/LeftPanelSkeleton.js +7 -18
  171. package/dist/components/Dashboard/skeletons/LeftPanelSkeleton.js.map +1 -1
  172. package/dist/components/DiffView/DiffHunk.d.ts.map +1 -1
  173. package/dist/components/DiffView/DiffHunk.js +12 -40
  174. package/dist/components/DiffView/DiffHunk.js.map +1 -1
  175. package/dist/components/DiffView/DiffView.d.ts.map +1 -1
  176. package/dist/components/DiffView/DiffView.js +33 -52
  177. package/dist/components/DiffView/DiffView.js.map +1 -1
  178. package/dist/components/EditPost/EditPost.d.ts.map +1 -1
  179. package/dist/components/EditPost/EditPost.js +139 -200
  180. package/dist/components/EditPost/EditPost.js.map +1 -1
  181. package/dist/components/EditPost/skeletons/EditPostPageSkeleton.d.ts +3 -0
  182. package/dist/components/EditPost/skeletons/EditPostPageSkeleton.d.ts.map +1 -0
  183. package/dist/components/EditPost/skeletons/EditPostPageSkeleton.js +21 -0
  184. package/dist/components/EditPost/skeletons/EditPostPageSkeleton.js.map +1 -0
  185. package/dist/components/EditPost/skeletons/EntryFormSkeleton.d.ts.map +1 -1
  186. package/dist/components/EditPost/skeletons/EntryFormSkeleton.js +1 -9
  187. package/dist/components/EditPost/skeletons/EntryFormSkeleton.js.map +1 -1
  188. package/dist/components/EditPost/skeletons/EntrySidebarSkeleton.d.ts.map +1 -1
  189. package/dist/components/EditPost/skeletons/EntrySidebarSkeleton.js +12 -20
  190. package/dist/components/EditPost/skeletons/EntrySidebarSkeleton.js.map +1 -1
  191. package/dist/components/ErrorBoundary/ErrorBoundary.d.ts.map +1 -0
  192. package/dist/components/{ErrorBoundary.js → ErrorBoundary/ErrorBoundary.js} +15 -21
  193. package/dist/components/ErrorBoundary/ErrorBoundary.js.map +1 -0
  194. package/dist/components/HistorySection/HistorySection.d.ts.map +1 -1
  195. package/dist/components/HistorySection/HistorySection.js +23 -42
  196. package/dist/components/HistorySection/HistorySection.js.map +1 -1
  197. package/dist/components/InlineEntryEditor/InlineEntryEditor.d.ts.map +1 -1
  198. package/dist/components/InlineEntryEditor/InlineEntryEditor.js +120 -123
  199. package/dist/components/InlineEntryEditor/InlineEntryEditor.js.map +1 -1
  200. package/dist/components/Layout/BranchSelectorDialog.d.ts +9 -0
  201. package/dist/components/Layout/BranchSelectorDialog.d.ts.map +1 -0
  202. package/dist/components/Layout/BranchSelectorDialog.js +130 -0
  203. package/dist/components/Layout/BranchSelectorDialog.js.map +1 -0
  204. package/dist/components/Layout/CreateBranchDialog.d.ts.map +1 -0
  205. package/dist/components/{CreateBranchDialog.js → Layout/CreateBranchDialog.js} +16 -16
  206. package/dist/components/Layout/CreateBranchDialog.js.map +1 -0
  207. package/dist/components/Layout/Layout.d.ts.map +1 -1
  208. package/dist/components/Layout/Layout.js +18 -26
  209. package/dist/components/Layout/Layout.js.map +1 -1
  210. package/dist/components/Layout/LeftNavItem.d.ts.map +1 -1
  211. package/dist/components/Layout/LeftNavItem.js +7 -7
  212. package/dist/components/Layout/LeftNavItem.js.map +1 -1
  213. package/dist/components/Layout/Page.d.ts +16 -0
  214. package/dist/components/Layout/Page.d.ts.map +1 -0
  215. package/dist/components/Layout/Page.js +47 -0
  216. package/dist/components/Layout/Page.js.map +1 -0
  217. package/dist/components/Layout/TopHeader.d.ts +1 -1
  218. package/dist/components/Layout/TopHeader.d.ts.map +1 -1
  219. package/dist/components/Layout/TopHeader.js +70 -165
  220. package/dist/components/Layout/TopHeader.js.map +1 -1
  221. package/dist/components/Layout/UserAccountDialog.d.ts +12 -0
  222. package/dist/components/Layout/UserAccountDialog.d.ts.map +1 -0
  223. package/dist/components/Layout/UserAccountDialog.js +48 -0
  224. package/dist/components/Layout/UserAccountDialog.js.map +1 -0
  225. package/dist/components/Layout/skeletons/AgentNavSkeleton.js +1 -1
  226. package/dist/components/Layout/skeletons/AgentNavSkeleton.js.map +1 -1
  227. package/dist/components/Layout/skeletons/BranchChipSkeleton.d.ts.map +1 -1
  228. package/dist/components/Layout/skeletons/BranchChipSkeleton.js +1 -8
  229. package/dist/components/Layout/skeletons/BranchChipSkeleton.js.map +1 -1
  230. package/dist/components/Layout/skeletons/NeutralPageSkeleton.d.ts +3 -0
  231. package/dist/components/Layout/skeletons/NeutralPageSkeleton.d.ts.map +1 -0
  232. package/dist/components/Layout/skeletons/NeutralPageSkeleton.js +11 -0
  233. package/dist/components/Layout/skeletons/NeutralPageSkeleton.js.map +1 -0
  234. package/dist/components/Layout/skeletons/PageChromeSkeleton.d.ts +19 -0
  235. package/dist/components/Layout/skeletons/PageChromeSkeleton.d.ts.map +1 -0
  236. package/dist/components/Layout/skeletons/PageChromeSkeleton.js +31 -0
  237. package/dist/components/Layout/skeletons/PageChromeSkeleton.js.map +1 -0
  238. package/dist/components/Layout/skeletons/RouteMainSlotSkeleton.d.ts +9 -0
  239. package/dist/components/Layout/skeletons/RouteMainSlotSkeleton.d.ts.map +1 -0
  240. package/dist/components/Layout/skeletons/RouteMainSlotSkeleton.js +15 -0
  241. package/dist/components/Layout/skeletons/RouteMainSlotSkeleton.js.map +1 -0
  242. package/dist/components/Layout/skeletons/TopHeaderSkeleton.d.ts.map +1 -1
  243. package/dist/components/Layout/skeletons/TopHeaderSkeleton.js +10 -17
  244. package/dist/components/Layout/skeletons/TopHeaderSkeleton.js.map +1 -1
  245. package/dist/components/Layout/skeletons/routeSkeletons.d.ts +16 -0
  246. package/dist/components/Layout/skeletons/routeSkeletons.d.ts.map +1 -0
  247. package/dist/components/Layout/skeletons/routeSkeletons.js +48 -0
  248. package/dist/components/Layout/skeletons/routeSkeletons.js.map +1 -0
  249. package/dist/components/LinkedBySection/LinkedBySection.js +13 -13
  250. package/dist/components/LinkedBySection/LinkedBySection.js.map +1 -1
  251. package/dist/components/MediaAsset/MediaAsset.d.ts +1 -1
  252. package/dist/components/MediaAsset/MediaAsset.d.ts.map +1 -1
  253. package/dist/components/MediaAsset/MediaAsset.js +126 -136
  254. package/dist/components/MediaAsset/MediaAsset.js.map +1 -1
  255. package/dist/components/MediaAsset/skeletons/MediaAssetPageSkeleton.d.ts +3 -0
  256. package/dist/components/MediaAsset/skeletons/MediaAssetPageSkeleton.d.ts.map +1 -0
  257. package/dist/components/MediaAsset/skeletons/MediaAssetPageSkeleton.js +21 -0
  258. package/dist/components/MediaAsset/skeletons/MediaAssetPageSkeleton.js.map +1 -0
  259. package/dist/components/MediaAsset/skeletons/MediaMetadataFormSkeleton.d.ts.map +1 -1
  260. package/dist/components/MediaAsset/skeletons/MediaMetadataFormSkeleton.js +26 -22
  261. package/dist/components/MediaAsset/skeletons/MediaMetadataFormSkeleton.js.map +1 -1
  262. package/dist/components/MediaAsset/skeletons/MediaPreviewSkeleton.d.ts.map +1 -1
  263. package/dist/components/MediaAsset/skeletons/MediaPreviewSkeleton.js +1 -9
  264. package/dist/components/MediaAsset/skeletons/MediaPreviewSkeleton.js.map +1 -1
  265. package/dist/components/MediaManager/CreateFolderDialog.d.ts.map +1 -1
  266. package/dist/components/MediaManager/CreateFolderDialog.js +15 -8
  267. package/dist/components/MediaManager/CreateFolderDialog.js.map +1 -1
  268. package/dist/components/MediaManager/DeleteFolderDialog.d.ts.map +1 -1
  269. package/dist/components/MediaManager/DeleteFolderDialog.js +1 -2
  270. package/dist/components/MediaManager/DeleteFolderDialog.js.map +1 -1
  271. package/dist/components/MediaManager/MarkdownImageEditToolbar.d.ts.map +1 -1
  272. package/dist/components/MediaManager/MarkdownImageEditToolbar.js +7 -9
  273. package/dist/components/MediaManager/MarkdownImageEditToolbar.js.map +1 -1
  274. package/dist/components/MediaManager/MarkdownInsertImageDialog.d.ts.map +1 -1
  275. package/dist/components/MediaManager/MarkdownInsertImageDialog.js +6 -9
  276. package/dist/components/MediaManager/MarkdownInsertImageDialog.js.map +1 -1
  277. package/dist/components/MediaManager/MediaLeftPanel.d.ts.map +1 -1
  278. package/dist/components/MediaManager/MediaLeftPanel.js +21 -23
  279. package/dist/components/MediaManager/MediaLeftPanel.js.map +1 -1
  280. package/dist/components/MediaManager/MediaListTable.d.ts.map +1 -1
  281. package/dist/components/MediaManager/MediaListTable.js +15 -21
  282. package/dist/components/MediaManager/MediaListTable.js.map +1 -1
  283. package/dist/components/MediaManager/MediaManager.d.ts.map +1 -1
  284. package/dist/components/MediaManager/MediaManager.js +101 -151
  285. package/dist/components/MediaManager/MediaManager.js.map +1 -1
  286. package/dist/components/MediaManager/MediaSelectDialog.js +22 -64
  287. package/dist/components/MediaManager/MediaSelectDialog.js.map +1 -1
  288. package/dist/components/MediaManager/MediaUploadBar.d.ts.map +1 -1
  289. package/dist/components/MediaManager/MediaUploadBar.js +9 -10
  290. package/dist/components/MediaManager/MediaUploadBar.js.map +1 -1
  291. package/dist/components/MediaManager/MediaUploadDialog.d.ts.map +1 -1
  292. package/dist/components/MediaManager/MediaUploadDialog.js +18 -11
  293. package/dist/components/MediaManager/MediaUploadDialog.js.map +1 -1
  294. package/dist/components/MediaManager/MediaViewModeSwitcher.d.ts +8 -0
  295. package/dist/components/MediaManager/MediaViewModeSwitcher.d.ts.map +1 -0
  296. package/dist/components/MediaManager/MediaViewModeSwitcher.js +14 -0
  297. package/dist/components/MediaManager/MediaViewModeSwitcher.js.map +1 -0
  298. package/dist/components/MediaManager/skeletons/MediaGridSkeleton.d.ts.map +1 -1
  299. package/dist/components/MediaManager/skeletons/MediaGridSkeleton.js +4 -12
  300. package/dist/components/MediaManager/skeletons/MediaGridSkeleton.js.map +1 -1
  301. package/dist/components/MediaManager/skeletons/MediaLeftPanelSkeleton.d.ts.map +1 -1
  302. package/dist/components/MediaManager/skeletons/MediaLeftPanelSkeleton.js +5 -13
  303. package/dist/components/MediaManager/skeletons/MediaLeftPanelSkeleton.js.map +1 -1
  304. package/dist/components/MediaManager/skeletons/MediaListTableSkeleton.d.ts.map +1 -1
  305. package/dist/components/MediaManager/skeletons/MediaListTableSkeleton.js +7 -15
  306. package/dist/components/MediaManager/skeletons/MediaListTableSkeleton.js.map +1 -1
  307. package/dist/components/MediaManager/skeletons/MediaManagerMainSkeleton.d.ts +3 -0
  308. package/dist/components/MediaManager/skeletons/MediaManagerMainSkeleton.d.ts.map +1 -0
  309. package/dist/components/MediaManager/skeletons/MediaManagerMainSkeleton.js +15 -0
  310. package/dist/components/MediaManager/skeletons/MediaManagerMainSkeleton.js.map +1 -0
  311. package/dist/components/MediaManager/skeletons/MediaManagerPageSkeleton.d.ts +3 -0
  312. package/dist/components/MediaManager/skeletons/MediaManagerPageSkeleton.d.ts.map +1 -0
  313. package/dist/components/MediaManager/skeletons/MediaManagerPageSkeleton.js +21 -0
  314. package/dist/components/MediaManager/skeletons/MediaManagerPageSkeleton.js.map +1 -0
  315. package/dist/components/public/MarkdownContent.d.ts.map +1 -1
  316. package/dist/components/public/MarkdownContent.js +1 -2
  317. package/dist/components/public/MarkdownContent.js.map +1 -1
  318. package/dist/components/public/RichTextContent.d.ts.map +1 -1
  319. package/dist/components/public/RichTextContent.js +19 -8
  320. package/dist/components/public/RichTextContent.js.map +1 -1
  321. package/dist/components/public/SearchBox.d.ts.map +1 -1
  322. package/dist/components/public/SearchBox.js +32 -60
  323. package/dist/components/public/SearchBox.js.map +1 -1
  324. package/dist/components/public/index.cjs +6 -413
  325. package/dist/components/public/index.cjs.map +1 -1
  326. package/dist/components/skeletons/MainSlotSkeleton.d.ts +0 -7
  327. package/dist/components/skeletons/MainSlotSkeleton.d.ts.map +1 -1
  328. package/dist/components/skeletons/MainSlotSkeleton.js +4 -17
  329. package/dist/components/skeletons/MainSlotSkeleton.js.map +1 -1
  330. package/dist/components/skeletons/blocks.d.ts.map +1 -1
  331. package/dist/components/skeletons/blocks.js +15 -7
  332. package/dist/components/skeletons/blocks.js.map +1 -1
  333. package/dist/components/skeletons/index.d.ts +4 -4
  334. package/dist/components/skeletons/index.d.ts.map +1 -1
  335. package/dist/components/skeletons/index.js +1 -2
  336. package/dist/components/skeletons/index.js.map +1 -1
  337. package/dist/components/skeletons/primitives.d.ts +2 -2
  338. package/dist/components/skeletons/primitives.d.ts.map +1 -1
  339. package/dist/components/skeletons/primitives.js +3 -3
  340. package/dist/components/skeletons/primitives.js.map +1 -1
  341. package/dist/components/test/dndTestUtils.d.ts +7 -0
  342. package/dist/components/test/dndTestUtils.d.ts.map +1 -0
  343. package/dist/components/test/dndTestUtils.js +15 -0
  344. package/dist/components/test/dndTestUtils.js.map +1 -0
  345. package/dist/components/ui/Avatar/Avatar.d.ts +5 -0
  346. package/dist/components/ui/Avatar/Avatar.d.ts.map +1 -0
  347. package/dist/components/ui/Avatar/Avatar.js +63 -0
  348. package/dist/components/ui/Avatar/Avatar.js.map +1 -0
  349. package/dist/components/ui/{branch-chip.d.ts → BranchChip/BranchChip.d.ts} +2 -5
  350. package/dist/components/ui/BranchChip/BranchChip.d.ts.map +1 -0
  351. package/dist/components/ui/BranchChip/BranchChip.js +47 -0
  352. package/dist/components/ui/BranchChip/BranchChip.js.map +1 -0
  353. package/dist/components/ui/Button/Button.d.ts +15 -0
  354. package/dist/components/ui/Button/Button.d.ts.map +1 -0
  355. package/dist/components/ui/Button/Button.js +49 -0
  356. package/dist/components/ui/Button/Button.js.map +1 -0
  357. package/dist/components/ui/Card/Card.d.ts +6 -0
  358. package/dist/components/ui/Card/Card.d.ts.map +1 -0
  359. package/dist/components/ui/{card.js → Card/Card.js} +12 -22
  360. package/dist/components/ui/Card/Card.js.map +1 -0
  361. package/dist/components/ui/{chip.d.ts → Chip/Chip.d.ts} +1 -1
  362. package/dist/components/ui/Chip/Chip.d.ts.map +1 -0
  363. package/dist/components/ui/Chip/Chip.js +24 -0
  364. package/dist/components/ui/Chip/Chip.js.map +1 -0
  365. package/dist/components/ui/Dialog/Dialog.d.ts +32 -0
  366. package/dist/components/ui/Dialog/Dialog.d.ts.map +1 -0
  367. package/dist/components/ui/Dialog/Dialog.js +194 -0
  368. package/dist/components/ui/Dialog/Dialog.js.map +1 -0
  369. package/dist/components/ui/DropdownMenu/DropdownMenu.d.ts +66 -0
  370. package/dist/components/ui/DropdownMenu/DropdownMenu.d.ts.map +1 -0
  371. package/dist/components/ui/DropdownMenu/DropdownMenu.js +308 -0
  372. package/dist/components/ui/DropdownMenu/DropdownMenu.js.map +1 -0
  373. package/dist/components/ui/{field.d.ts → FormField/Field.d.ts} +1 -1
  374. package/dist/components/ui/FormField/Field.d.ts.map +1 -0
  375. package/dist/components/ui/FormField/Field.js +41 -0
  376. package/dist/components/ui/FormField/Field.js.map +1 -0
  377. package/dist/components/{FieldShell.d.ts → ui/FormField/FieldShell.d.ts} +2 -2
  378. package/dist/components/ui/FormField/FieldShell.d.ts.map +1 -0
  379. package/dist/components/ui/FormField/FieldShell.js +29 -0
  380. package/dist/components/ui/FormField/FieldShell.js.map +1 -0
  381. package/dist/components/ui/FormField/FormBooleanField.d.ts.map +1 -0
  382. package/dist/components/ui/FormField/FormBooleanField.js +56 -0
  383. package/dist/components/ui/FormField/FormBooleanField.js.map +1 -0
  384. package/dist/components/ui/FormField/FormColorField.d.ts.map +1 -0
  385. package/dist/components/{FormColorField.js → ui/FormField/FormColorField.js} +10 -13
  386. package/dist/components/ui/FormField/FormColorField.js.map +1 -0
  387. package/dist/components/{FormConditionalField.d.ts → ui/FormField/FormConditionalField.d.ts} +1 -1
  388. package/dist/components/ui/FormField/FormConditionalField.d.ts.map +1 -0
  389. package/dist/components/{FormConditionalField.js → ui/FormField/FormConditionalField.js} +61 -58
  390. package/dist/components/ui/FormField/FormConditionalField.js.map +1 -0
  391. package/dist/components/ui/FormField/FormDatetimeField.d.ts.map +1 -0
  392. package/dist/components/ui/FormField/FormDatetimeField.js +48 -0
  393. package/dist/components/ui/FormField/FormDatetimeField.js.map +1 -0
  394. package/dist/components/{FormFields.d.ts → ui/FormField/FormFields.d.ts} +1 -1
  395. package/dist/components/ui/FormField/FormFields.d.ts.map +1 -0
  396. package/dist/components/{FormFields.js → ui/FormField/FormFields.js} +6 -6
  397. package/dist/components/ui/FormField/FormFields.js.map +1 -0
  398. package/dist/components/{FormImageField.d.ts → ui/FormField/FormImageField.d.ts} +1 -1
  399. package/dist/components/ui/FormField/FormImageField.d.ts.map +1 -0
  400. package/dist/components/{FormImageField.js → ui/FormField/FormImageField.js} +25 -30
  401. package/dist/components/ui/FormField/FormImageField.js.map +1 -0
  402. package/dist/components/ui/FormField/FormJsonField.d.ts.map +1 -0
  403. package/dist/components/{FormJsonField.js → ui/FormField/FormJsonField.js} +7 -10
  404. package/dist/components/ui/FormField/FormJsonField.js.map +1 -0
  405. package/dist/components/ui/FormField/FormMarkdownField.d.ts.map +1 -0
  406. package/dist/components/{FormMarkdownField.js → ui/FormField/FormMarkdownField.js} +11 -20
  407. package/dist/components/ui/FormField/FormMarkdownField.js.map +1 -0
  408. package/dist/components/ui/FormField/FormNumberField.d.ts.map +1 -0
  409. package/dist/components/ui/FormField/FormNumberField.js +38 -0
  410. package/dist/components/ui/FormField/FormNumberField.js.map +1 -0
  411. package/dist/components/{FormReferenceField.d.ts → ui/FormField/FormReferenceField.d.ts} +1 -1
  412. package/dist/components/ui/FormField/FormReferenceField.d.ts.map +1 -0
  413. package/dist/components/{FormReferenceField.js → ui/FormField/FormReferenceField.js} +109 -118
  414. package/dist/components/ui/FormField/FormReferenceField.js.map +1 -0
  415. package/dist/components/{FormRichTextField.d.ts → ui/FormField/FormRichTextField.d.ts} +1 -1
  416. package/dist/components/ui/FormField/FormRichTextField.d.ts.map +1 -0
  417. package/dist/components/{FormRichTextField.js → ui/FormField/FormRichTextField.js} +28 -33
  418. package/dist/components/ui/FormField/FormRichTextField.js.map +1 -0
  419. package/dist/components/{FormSelectField.d.ts → ui/FormField/FormSelectField.d.ts} +1 -1
  420. package/dist/components/ui/FormField/FormSelectField.d.ts.map +1 -0
  421. package/dist/components/{FormSelectField.js → ui/FormField/FormSelectField.js} +11 -23
  422. package/dist/components/ui/FormField/FormSelectField.js.map +1 -0
  423. package/dist/components/ui/FormField/FormSlugField.d.ts.map +1 -0
  424. package/dist/components/{FormSlugField.js → ui/FormField/FormSlugField.js} +21 -26
  425. package/dist/components/ui/FormField/FormSlugField.js.map +1 -0
  426. package/dist/components/ui/FormField/FormStringField.d.ts.map +1 -0
  427. package/dist/components/ui/FormField/FormStringField.js +23 -0
  428. package/dist/components/ui/FormField/FormStringField.js.map +1 -0
  429. package/dist/components/ui/FormField/FormStringListField.d.ts.map +1 -0
  430. package/dist/components/{FormStringListField.js → ui/FormField/FormStringListField.js} +14 -25
  431. package/dist/components/ui/FormField/FormStringListField.js.map +1 -0
  432. package/dist/components/ui/FormField/FormTextField.d.ts.map +1 -0
  433. package/dist/components/ui/FormField/FormTextField.js +35 -0
  434. package/dist/components/ui/FormField/FormTextField.js.map +1 -0
  435. package/dist/components/ui/FormField/FormUrlField.d.ts.map +1 -0
  436. package/dist/components/ui/FormField/FormUrlField.js +26 -0
  437. package/dist/components/ui/FormField/FormUrlField.js.map +1 -0
  438. package/dist/components/{richtext → ui/FormField/richtext}/ComponentEmbedEditor.d.ts +1 -1
  439. package/dist/components/ui/FormField/richtext/ComponentEmbedEditor.d.ts.map +1 -0
  440. package/dist/components/ui/FormField/richtext/ComponentEmbedEditor.js +165 -0
  441. package/dist/components/ui/FormField/richtext/ComponentEmbedEditor.js.map +1 -0
  442. package/dist/components/ui/FormField/richtext/ConditionEmbedEditor.d.ts.map +1 -0
  443. package/dist/components/{richtext → ui/FormField/richtext}/ConditionEmbedEditor.js +25 -39
  444. package/dist/components/ui/FormField/richtext/ConditionEmbedEditor.js.map +1 -0
  445. package/dist/components/ui/FormField/richtext/ImageEmbedEditor.d.ts.map +1 -0
  446. package/dist/components/{richtext → ui/FormField/richtext}/ImageEmbedEditor.js +77 -56
  447. package/dist/components/ui/FormField/richtext/ImageEmbedEditor.js.map +1 -0
  448. package/dist/components/ui/FormField/richtext/ReferenceEmbedEditor.d.ts.map +1 -0
  449. package/dist/components/{richtext → ui/FormField/richtext}/ReferenceEmbedEditor.js +55 -43
  450. package/dist/components/ui/FormField/richtext/ReferenceEmbedEditor.js.map +1 -0
  451. package/dist/components/ui/FormField/richtext/SlashCommandMenu.d.ts.map +1 -0
  452. package/dist/components/{richtext → ui/FormField/richtext}/SlashCommandMenu.js +21 -33
  453. package/dist/components/ui/FormField/richtext/SlashCommandMenu.js.map +1 -0
  454. package/dist/components/ui/FormField/richtext/VariableEmbedEditor.d.ts.map +1 -0
  455. package/dist/components/ui/FormField/richtext/VariableEmbedEditor.js +61 -0
  456. package/dist/components/ui/FormField/richtext/VariableEmbedEditor.js.map +1 -0
  457. package/dist/components/ui/Icon/Icon.d.ts +77 -0
  458. package/dist/components/ui/Icon/Icon.d.ts.map +1 -0
  459. package/dist/components/ui/Icon/Icon.js +618 -0
  460. package/dist/components/ui/Icon/Icon.js.map +1 -0
  461. package/dist/components/ui/{input.d.ts → Input/Input.d.ts} +1 -1
  462. package/dist/components/ui/Input/Input.d.ts.map +1 -0
  463. package/dist/components/ui/Input/Input.js +25 -0
  464. package/dist/components/ui/Input/Input.js.map +1 -0
  465. package/dist/components/ui/{kbd.d.ts → Kbd/Kbd.d.ts} +1 -1
  466. package/dist/components/ui/Kbd/Kbd.d.ts.map +1 -0
  467. package/dist/components/ui/Kbd/Kbd.js +19 -0
  468. package/dist/components/ui/Kbd/Kbd.js.map +1 -0
  469. package/dist/components/ui/Label/Label.d.ts +3 -0
  470. package/dist/components/ui/Label/Label.d.ts.map +1 -0
  471. package/dist/components/ui/Label/Label.js +20 -0
  472. package/dist/components/ui/Label/Label.js.map +1 -0
  473. package/dist/components/ui/Portal/Portal.d.ts +8 -0
  474. package/dist/components/ui/Portal/Portal.d.ts.map +1 -0
  475. package/dist/components/ui/Portal/Portal.js +14 -0
  476. package/dist/components/ui/Portal/Portal.js.map +1 -0
  477. package/dist/components/ui/Select/Select.d.ts +33 -0
  478. package/dist/components/ui/Select/Select.d.ts.map +1 -0
  479. package/dist/components/ui/Select/Select.js +280 -0
  480. package/dist/components/ui/Select/Select.js.map +1 -0
  481. package/dist/components/ui/Slot/Slot.d.ts +6 -0
  482. package/dist/components/ui/Slot/Slot.d.ts.map +1 -0
  483. package/dist/components/ui/Slot/Slot.js +39 -0
  484. package/dist/components/ui/Slot/Slot.js.map +1 -0
  485. package/dist/components/ui/{status-badge.d.ts → StatusBadge/StatusBadge.d.ts} +2 -2
  486. package/dist/components/ui/StatusBadge/StatusBadge.d.ts.map +1 -0
  487. package/dist/components/ui/{status-badge.js → StatusBadge/StatusBadge.js} +8 -9
  488. package/dist/components/ui/StatusBadge/StatusBadge.js.map +1 -0
  489. package/dist/components/ui/Switcher/Switcher.d.ts +9 -0
  490. package/dist/components/ui/Switcher/Switcher.d.ts.map +1 -0
  491. package/dist/components/ui/Switcher/Switcher.js +75 -0
  492. package/dist/components/ui/Switcher/Switcher.js.map +1 -0
  493. package/dist/components/ui/{table.d.ts → Table/Table.d.ts} +1 -1
  494. package/dist/components/ui/Table/Table.d.ts.map +1 -0
  495. package/dist/components/ui/{table.js → Table/Table.js} +11 -29
  496. package/dist/components/ui/Table/Table.js.map +1 -0
  497. package/dist/components/ui/Tabs/Tabs.d.ts +16 -0
  498. package/dist/components/ui/Tabs/Tabs.d.ts.map +1 -0
  499. package/dist/components/ui/Tabs/Tabs.js +96 -0
  500. package/dist/components/ui/Tabs/Tabs.js.map +1 -0
  501. package/dist/components/ui/{textarea.d.ts → Textarea/Textarea.d.ts} +1 -1
  502. package/dist/components/ui/Textarea/Textarea.d.ts.map +1 -0
  503. package/dist/components/ui/Textarea/Textarea.js +16 -0
  504. package/dist/components/ui/Textarea/Textarea.js.map +1 -0
  505. package/dist/components/ui/Toast/Toast.d.ts +21 -0
  506. package/dist/components/ui/Toast/Toast.d.ts.map +1 -0
  507. package/dist/components/ui/Toast/Toast.js +98 -0
  508. package/dist/components/ui/Toast/Toast.js.map +1 -0
  509. package/dist/components/ui/{toaster.d.ts → Toaster/Toaster.d.ts} +1 -1
  510. package/dist/components/ui/Toaster/Toaster.d.ts.map +1 -0
  511. package/dist/components/ui/Toaster/Toaster.js +27 -0
  512. package/dist/components/ui/Toaster/Toaster.js.map +1 -0
  513. package/dist/components/ui/index.d.ts +45 -31
  514. package/dist/components/ui/index.d.ts.map +1 -1
  515. package/dist/components/ui/index.js +76 -36
  516. package/dist/components/ui/index.js.map +1 -1
  517. package/dist/config.cjs +4 -99
  518. package/dist/config.cjs.map +1 -1
  519. package/dist/defineConfig.cjs +0 -2
  520. package/dist/defineConfig.cjs.map +1 -1
  521. package/dist/globals.css +9648 -430
  522. package/dist/hooks/useComposedRefs.d.ts +5 -0
  523. package/dist/hooks/useComposedRefs.d.ts.map +1 -0
  524. package/dist/hooks/useComposedRefs.js +23 -0
  525. package/dist/hooks/useComposedRefs.js.map +1 -0
  526. package/dist/hooks/useControllableState.d.ts +8 -0
  527. package/dist/hooks/useControllableState.d.ts.map +1 -0
  528. package/dist/hooks/useControllableState.js +28 -0
  529. package/dist/hooks/useControllableState.js.map +1 -0
  530. package/dist/hooks/usePopoverContent.d.ts +26 -0
  531. package/dist/hooks/usePopoverContent.d.ts.map +1 -0
  532. package/dist/hooks/usePopoverContent.js +44 -0
  533. package/dist/hooks/usePopoverContent.js.map +1 -0
  534. package/dist/hooks/useToast.d.ts +4 -4
  535. package/dist/hooks/useToast.d.ts.map +1 -1
  536. package/dist/hooks/useToast.js +1 -3
  537. package/dist/hooks/useToast.js.map +1 -1
  538. package/dist/index.cjs +11 -9506
  539. package/dist/index.cjs.map +1 -1
  540. package/dist/{init-KWH66PKY.js → init-KNIWQGJL.js} +3 -18
  541. package/dist/init-KNIWQGJL.js.map +1 -0
  542. package/dist/lib/configStore.cjs +1 -3
  543. package/dist/lib/configStore.cjs.map +1 -1
  544. package/dist/lib/slugField.d.ts.map +1 -1
  545. package/dist/lib/slugField.js +3 -3
  546. package/dist/lib/slugField.js.map +1 -1
  547. package/dist/lib/slugify.d.ts +13 -0
  548. package/dist/lib/slugify.d.ts.map +1 -0
  549. package/dist/lib/slugify.js +8 -0
  550. package/dist/lib/slugify.js.map +1 -0
  551. package/dist/lib/utils.d.ts +5 -9
  552. package/dist/lib/utils.d.ts.map +1 -1
  553. package/dist/lib/utils.js +29 -3
  554. package/dist/lib/utils.js.map +1 -1
  555. package/dist/query.cjs +58 -9011
  556. package/dist/query.cjs.map +1 -1
  557. package/dist/types.cjs +0 -2
  558. package/dist/types.cjs.map +1 -1
  559. package/dist/types.d.ts +3 -1
  560. package/dist/types.d.ts.map +1 -1
  561. package/dist/{update-QNJRYPMC.js → update-QALIQG76.js} +2 -2
  562. package/dist/withOctoCMS.cjs +2 -36
  563. package/dist/withOctoCMS.cjs.map +1 -1
  564. package/globals.css +9648 -430
  565. package/package.json +1 -16
  566. package/dist/chunk-NAHOP7TG.js +0 -7
  567. package/dist/components/ContentModel/ContentModelList.skeleton.d.ts +0 -5
  568. package/dist/components/ContentModel/ContentModelList.skeleton.d.ts.map +0 -1
  569. package/dist/components/ContentModel/ContentModelList.skeleton.js +0 -16
  570. package/dist/components/ContentModel/ContentModelList.skeleton.js.map +0 -1
  571. package/dist/components/ContentModel/ContentTypeDetail.skeleton.d.ts +0 -5
  572. package/dist/components/ContentModel/ContentTypeDetail.skeleton.d.ts.map +0 -1
  573. package/dist/components/ContentModel/ContentTypeDetail.skeleton.js +0 -22
  574. package/dist/components/ContentModel/ContentTypeDetail.skeleton.js.map +0 -1
  575. package/dist/components/ContentTypes.d.ts +0 -7
  576. package/dist/components/ContentTypes.d.ts.map +0 -1
  577. package/dist/components/ContentTypes.js +0 -132
  578. package/dist/components/ContentTypes.js.map +0 -1
  579. package/dist/components/CreateBranchDialog.d.ts.map +0 -1
  580. package/dist/components/CreateBranchDialog.js.map +0 -1
  581. package/dist/components/Dashboard/DashboardContent.collection.skeleton.d.ts +0 -3
  582. package/dist/components/Dashboard/DashboardContent.collection.skeleton.d.ts.map +0 -1
  583. package/dist/components/Dashboard/DashboardContent.collection.skeleton.js +0 -10
  584. package/dist/components/Dashboard/DashboardContent.collection.skeleton.js.map +0 -1
  585. package/dist/components/Dashboard/DashboardContent.list.skeleton.d.ts +0 -7
  586. package/dist/components/Dashboard/DashboardContent.list.skeleton.d.ts.map +0 -1
  587. package/dist/components/Dashboard/DashboardContent.list.skeleton.js +0 -22
  588. package/dist/components/Dashboard/DashboardContent.list.skeleton.js.map +0 -1
  589. package/dist/components/Dashboard/DashboardContent.skeleton.d.ts +0 -2
  590. package/dist/components/Dashboard/DashboardContent.skeleton.d.ts.map +0 -1
  591. package/dist/components/Dashboard/DashboardContent.skeleton.js +0 -13
  592. package/dist/components/Dashboard/DashboardContent.skeleton.js.map +0 -1
  593. package/dist/components/EditPost/EditPost.skeleton.d.ts +0 -5
  594. package/dist/components/EditPost/EditPost.skeleton.d.ts.map +0 -1
  595. package/dist/components/EditPost/EditPost.skeleton.js +0 -34
  596. package/dist/components/EditPost/EditPost.skeleton.js.map +0 -1
  597. package/dist/components/ErrorBoundary.d.ts.map +0 -1
  598. package/dist/components/ErrorBoundary.js.map +0 -1
  599. package/dist/components/FieldHintAndError.d.ts +0 -8
  600. package/dist/components/FieldHintAndError.d.ts.map +0 -1
  601. package/dist/components/FieldHintAndError.js +0 -14
  602. package/dist/components/FieldHintAndError.js.map +0 -1
  603. package/dist/components/FieldLabel.d.ts +0 -11
  604. package/dist/components/FieldLabel.d.ts.map +0 -1
  605. package/dist/components/FieldLabel.js +0 -17
  606. package/dist/components/FieldLabel.js.map +0 -1
  607. package/dist/components/FieldShell.d.ts.map +0 -1
  608. package/dist/components/FieldShell.js +0 -29
  609. package/dist/components/FieldShell.js.map +0 -1
  610. package/dist/components/FileExplorer/FileExplorer.d.ts +0 -8
  611. package/dist/components/FileExplorer/FileExplorer.d.ts.map +0 -1
  612. package/dist/components/FileExplorer/FileExplorer.js +0 -68
  613. package/dist/components/FileExplorer/FileExplorer.js.map +0 -1
  614. package/dist/components/FormBooleanField.d.ts.map +0 -1
  615. package/dist/components/FormBooleanField.js +0 -52
  616. package/dist/components/FormBooleanField.js.map +0 -1
  617. package/dist/components/FormColorField.d.ts.map +0 -1
  618. package/dist/components/FormColorField.js.map +0 -1
  619. package/dist/components/FormConditionalField.d.ts.map +0 -1
  620. package/dist/components/FormConditionalField.js.map +0 -1
  621. package/dist/components/FormDatetimeField.d.ts.map +0 -1
  622. package/dist/components/FormDatetimeField.js +0 -42
  623. package/dist/components/FormDatetimeField.js.map +0 -1
  624. package/dist/components/FormFields.d.ts.map +0 -1
  625. package/dist/components/FormFields.js.map +0 -1
  626. package/dist/components/FormImageField.d.ts.map +0 -1
  627. package/dist/components/FormImageField.js.map +0 -1
  628. package/dist/components/FormJsonField.d.ts.map +0 -1
  629. package/dist/components/FormJsonField.js.map +0 -1
  630. package/dist/components/FormMarkdownField.d.ts.map +0 -1
  631. package/dist/components/FormMarkdownField.js.map +0 -1
  632. package/dist/components/FormNumberField.d.ts.map +0 -1
  633. package/dist/components/FormNumberField.js +0 -43
  634. package/dist/components/FormNumberField.js.map +0 -1
  635. package/dist/components/FormReferenceField.d.ts.map +0 -1
  636. package/dist/components/FormReferenceField.js.map +0 -1
  637. package/dist/components/FormRichTextField.d.ts.map +0 -1
  638. package/dist/components/FormRichTextField.js.map +0 -1
  639. package/dist/components/FormSelectField.d.ts.map +0 -1
  640. package/dist/components/FormSelectField.js.map +0 -1
  641. package/dist/components/FormSlugField.d.ts.map +0 -1
  642. package/dist/components/FormSlugField.js.map +0 -1
  643. package/dist/components/FormStringField.d.ts.map +0 -1
  644. package/dist/components/FormStringField.js +0 -28
  645. package/dist/components/FormStringField.js.map +0 -1
  646. package/dist/components/FormStringListField.d.ts.map +0 -1
  647. package/dist/components/FormStringListField.js.map +0 -1
  648. package/dist/components/FormTextField.d.ts.map +0 -1
  649. package/dist/components/FormTextField.js +0 -40
  650. package/dist/components/FormTextField.js.map +0 -1
  651. package/dist/components/FormUrlField.d.ts.map +0 -1
  652. package/dist/components/FormUrlField.js +0 -31
  653. package/dist/components/FormUrlField.js.map +0 -1
  654. package/dist/components/Layout/PageBar.d.ts +0 -10
  655. package/dist/components/Layout/PageBar.d.ts.map +0 -1
  656. package/dist/components/Layout/PageBar.js +0 -43
  657. package/dist/components/Layout/PageBar.js.map +0 -1
  658. package/dist/components/Layout/PageShell.d.ts +0 -30
  659. package/dist/components/Layout/PageShell.d.ts.map +0 -1
  660. package/dist/components/Layout/PageShell.js +0 -33
  661. package/dist/components/Layout/PageShell.js.map +0 -1
  662. package/dist/components/MediaAsset/MediaAsset.skeleton.d.ts +0 -3
  663. package/dist/components/MediaAsset/MediaAsset.skeleton.d.ts.map +0 -1
  664. package/dist/components/MediaAsset/MediaAsset.skeleton.js +0 -42
  665. package/dist/components/MediaAsset/MediaAsset.skeleton.js.map +0 -1
  666. package/dist/components/MediaManager/MediaManager.skeleton.d.ts +0 -3
  667. package/dist/components/MediaManager/MediaManager.skeleton.d.ts.map +0 -1
  668. package/dist/components/MediaManager/MediaManager.skeleton.js +0 -30
  669. package/dist/components/MediaManager/MediaManager.skeleton.js.map +0 -1
  670. package/dist/components/StatusBadge.d.ts +0 -2
  671. package/dist/components/StatusBadge.d.ts.map +0 -1
  672. package/dist/components/StatusBadge.js +0 -7
  673. package/dist/components/StatusBadge.js.map +0 -1
  674. package/dist/components/richtext/ComponentEmbedEditor.d.ts.map +0 -1
  675. package/dist/components/richtext/ComponentEmbedEditor.js +0 -153
  676. package/dist/components/richtext/ComponentEmbedEditor.js.map +0 -1
  677. package/dist/components/richtext/ConditionEmbedEditor.d.ts.map +0 -1
  678. package/dist/components/richtext/ConditionEmbedEditor.js.map +0 -1
  679. package/dist/components/richtext/ImageEmbedEditor.d.ts.map +0 -1
  680. package/dist/components/richtext/ImageEmbedEditor.js.map +0 -1
  681. package/dist/components/richtext/ReferenceEmbedEditor.d.ts.map +0 -1
  682. package/dist/components/richtext/ReferenceEmbedEditor.js.map +0 -1
  683. package/dist/components/richtext/SlashCommandMenu.d.ts.map +0 -1
  684. package/dist/components/richtext/SlashCommandMenu.js.map +0 -1
  685. package/dist/components/richtext/VariableEmbedEditor.d.ts.map +0 -1
  686. package/dist/components/richtext/VariableEmbedEditor.js +0 -58
  687. package/dist/components/richtext/VariableEmbedEditor.js.map +0 -1
  688. package/dist/components/ui/avatar-stack.d.ts +0 -13
  689. package/dist/components/ui/avatar-stack.d.ts.map +0 -1
  690. package/dist/components/ui/avatar-stack.js +0 -27
  691. package/dist/components/ui/avatar-stack.js.map +0 -1
  692. package/dist/components/ui/avatar.d.ts +0 -7
  693. package/dist/components/ui/avatar.d.ts.map +0 -1
  694. package/dist/components/ui/avatar.js +0 -45
  695. package/dist/components/ui/avatar.js.map +0 -1
  696. package/dist/components/ui/banner.d.ts +0 -13
  697. package/dist/components/ui/banner.d.ts.map +0 -1
  698. package/dist/components/ui/banner.js +0 -24
  699. package/dist/components/ui/banner.js.map +0 -1
  700. package/dist/components/ui/branch-chip.d.ts.map +0 -1
  701. package/dist/components/ui/branch-chip.js +0 -58
  702. package/dist/components/ui/branch-chip.js.map +0 -1
  703. package/dist/components/ui/button.d.ts +0 -14
  704. package/dist/components/ui/button.d.ts.map +0 -1
  705. package/dist/components/ui/button.js +0 -65
  706. package/dist/components/ui/button.js.map +0 -1
  707. package/dist/components/ui/card.d.ts +0 -7
  708. package/dist/components/ui/card.d.ts.map +0 -1
  709. package/dist/components/ui/card.js.map +0 -1
  710. package/dist/components/ui/chip.d.ts.map +0 -1
  711. package/dist/components/ui/chip.js +0 -44
  712. package/dist/components/ui/chip.js.map +0 -1
  713. package/dist/components/ui/dialog.d.ts +0 -20
  714. package/dist/components/ui/dialog.d.ts.map +0 -1
  715. package/dist/components/ui/dialog.js +0 -93
  716. package/dist/components/ui/dialog.js.map +0 -1
  717. package/dist/components/ui/dropdown-menu.d.ts +0 -28
  718. package/dist/components/ui/dropdown-menu.d.ts.map +0 -1
  719. package/dist/components/ui/dropdown-menu.js +0 -165
  720. package/dist/components/ui/dropdown-menu.js.map +0 -1
  721. package/dist/components/ui/empty.d.ts +0 -11
  722. package/dist/components/ui/empty.d.ts.map +0 -1
  723. package/dist/components/ui/empty.js +0 -24
  724. package/dist/components/ui/empty.js.map +0 -1
  725. package/dist/components/ui/field.d.ts.map +0 -1
  726. package/dist/components/ui/field.js +0 -52
  727. package/dist/components/ui/field.js.map +0 -1
  728. package/dist/components/ui/input.d.ts.map +0 -1
  729. package/dist/components/ui/input.js +0 -51
  730. package/dist/components/ui/input.js.map +0 -1
  731. package/dist/components/ui/kbd.d.ts.map +0 -1
  732. package/dist/components/ui/kbd.js +0 -30
  733. package/dist/components/ui/kbd.js.map +0 -1
  734. package/dist/components/ui/label.d.ts +0 -6
  735. package/dist/components/ui/label.d.ts.map +0 -1
  736. package/dist/components/ui/label.js +0 -20
  737. package/dist/components/ui/label.js.map +0 -1
  738. package/dist/components/ui/publish-button.d.ts +0 -7
  739. package/dist/components/ui/publish-button.d.ts.map +0 -1
  740. package/dist/components/ui/publish-button.js +0 -50
  741. package/dist/components/ui/publish-button.js.map +0 -1
  742. package/dist/components/ui/select.d.ts +0 -14
  743. package/dist/components/ui/select.d.ts.map +0 -1
  744. package/dist/components/ui/select.js +0 -132
  745. package/dist/components/ui/select.js.map +0 -1
  746. package/dist/components/ui/sonner.d.ts +0 -6
  747. package/dist/components/ui/sonner.d.ts.map +0 -1
  748. package/dist/components/ui/sonner.js +0 -37
  749. package/dist/components/ui/sonner.js.map +0 -1
  750. package/dist/components/ui/status-badge.d.ts.map +0 -1
  751. package/dist/components/ui/status-badge.js.map +0 -1
  752. package/dist/components/ui/table.d.ts.map +0 -1
  753. package/dist/components/ui/table.js.map +0 -1
  754. package/dist/components/ui/tabs-pill.d.ts +0 -17
  755. package/dist/components/ui/tabs-pill.d.ts.map +0 -1
  756. package/dist/components/ui/tabs-pill.js +0 -67
  757. package/dist/components/ui/tabs-pill.js.map +0 -1
  758. package/dist/components/ui/tabs.d.ts +0 -8
  759. package/dist/components/ui/tabs.d.ts.map +0 -1
  760. package/dist/components/ui/tabs.js +0 -59
  761. package/dist/components/ui/tabs.js.map +0 -1
  762. package/dist/components/ui/textarea.d.ts.map +0 -1
  763. package/dist/components/ui/textarea.js +0 -25
  764. package/dist/components/ui/textarea.js.map +0 -1
  765. package/dist/components/ui/toast-card.d.ts +0 -15
  766. package/dist/components/ui/toast-card.d.ts.map +0 -1
  767. package/dist/components/ui/toast-card.js +0 -90
  768. package/dist/components/ui/toast-card.js.map +0 -1
  769. package/dist/components/ui/toast.d.ts +0 -16
  770. package/dist/components/ui/toast.d.ts.map +0 -1
  771. package/dist/components/ui/toast.js +0 -95
  772. package/dist/components/ui/toast.js.map +0 -1
  773. package/dist/components/ui/toaster.d.ts.map +0 -1
  774. package/dist/components/ui/toaster.js +0 -30
  775. package/dist/components/ui/toaster.js.map +0 -1
  776. package/dist/init-KWH66PKY.js.map +0 -1
  777. /package/dist/{agentDocs-M3R2CPUQ.js.map → agentDocs-QZ4NOQVH.js.map} +0 -0
  778. /package/dist/components/{ErrorBoundary.d.ts → ErrorBoundary/ErrorBoundary.d.ts} +0 -0
  779. /package/dist/components/{CreateBranchDialog.d.ts → Layout/CreateBranchDialog.d.ts} +0 -0
  780. /package/dist/components/{FormBooleanField.d.ts → ui/FormField/FormBooleanField.d.ts} +0 -0
  781. /package/dist/components/{FormColorField.d.ts → ui/FormField/FormColorField.d.ts} +0 -0
  782. /package/dist/components/{FormDatetimeField.d.ts → ui/FormField/FormDatetimeField.d.ts} +0 -0
  783. /package/dist/components/{FormJsonField.d.ts → ui/FormField/FormJsonField.d.ts} +0 -0
  784. /package/dist/components/{FormMarkdownField.d.ts → ui/FormField/FormMarkdownField.d.ts} +0 -0
  785. /package/dist/components/{FormNumberField.d.ts → ui/FormField/FormNumberField.d.ts} +0 -0
  786. /package/dist/components/{FormSlugField.d.ts → ui/FormField/FormSlugField.d.ts} +0 -0
  787. /package/dist/components/{FormStringField.d.ts → ui/FormField/FormStringField.d.ts} +0 -0
  788. /package/dist/components/{FormStringListField.d.ts → ui/FormField/FormStringListField.d.ts} +0 -0
  789. /package/dist/components/{FormTextField.d.ts → ui/FormField/FormTextField.d.ts} +0 -0
  790. /package/dist/components/{FormUrlField.d.ts → ui/FormField/FormUrlField.d.ts} +0 -0
  791. /package/dist/components/{richtext → ui/FormField/richtext}/ConditionEmbedEditor.d.ts +0 -0
  792. /package/dist/components/{richtext → ui/FormField/richtext}/ImageEmbedEditor.d.ts +0 -0
  793. /package/dist/components/{richtext → ui/FormField/richtext}/ReferenceEmbedEditor.d.ts +0 -0
  794. /package/dist/components/{richtext → ui/FormField/richtext}/SlashCommandMenu.d.ts +0 -0
  795. /package/dist/components/{richtext → ui/FormField/richtext}/VariableEmbedEditor.d.ts +0 -0
  796. /package/dist/{update-QNJRYPMC.js.map → update-QALIQG76.js.map} +0 -0
@@ -1,19 +1,19 @@
1
1
  "use client";
2
- import "../../chunk-B5LE2OEC.js";
2
+ import "../../../../chunk-B5LE2OEC.js";
3
3
  import { jsx, jsxs } from "react/jsx-runtime";
4
4
  import { useCallback, useEffect, useRef, useState, useTransition } from "react";
5
5
  import { useQueryClient } from "@tanstack/react-query";
6
- import { ImageIcon, Upload, X } from "lucide-react";
6
+ import { Button } from "../../Button/Button";
7
+ import { Dialog, DialogContent, DialogHeader, DialogTitle } from "../../Dialog/Dialog";
8
+ import { Icon } from "../../Icon/Icon";
9
+ import { Label } from "../../Label/Label";
7
10
  import { useMdastNodeUpdater } from "@mdxeditor/editor";
8
- import { uploadMedia } from "../../admin/actions";
9
- import { queryKeys } from "../../admin/query/keys";
10
- import { useMediaList } from "../../admin/query/hooks/useMediaList";
11
- import { useConfig } from "../../hooks/useConfig";
12
- import { toast } from "../../hooks/useToast";
13
- import { suggestedTitleFromFileName } from "../../lib/suggestedMediaTitle";
14
- import { Button } from "../ui/button";
15
- import { Dialog, DialogContent, DialogHeader, DialogTitle } from "../ui";
16
- import { Label } from "../ui/label";
11
+ import { uploadMedia } from "../../../../admin/actions";
12
+ import { queryKeys } from "../../../../admin/query/keys";
13
+ import { useMediaList } from "../../../../admin/query/hooks/useMediaList";
14
+ import { useConfig } from "../../../../hooks/useConfig";
15
+ import { toast } from "../../../../hooks/useToast";
16
+ import { suggestedTitleFromFileName } from "../../../../lib/suggestedMediaTitle";
17
17
  const ImageEmbedEditor = ({ mdastNode }) => {
18
18
  var _a;
19
19
  const config = useConfig();
@@ -92,37 +92,29 @@ const ImageEmbedEditor = ({ mdastNode }) => {
92
92
  }, [stagedFile, uploadTitle, selectedFolder, updateMediaId, queryClient]);
93
93
  const folders = [...new Set(mediaEntries.map((f) => f.folder))];
94
94
  const filteredEntries = selectedFolder ? mediaEntries.filter((f) => f.folder === selectedFolder) : mediaEntries;
95
- return /* @__PURE__ */ jsxs("div", { className: "my-2 rounded-lg border border-border bg-muted/30 p-3", contentEditable: false, children: [
96
- currentMediaId && selectedEntry ? /* @__PURE__ */ jsxs("div", { className: "flex items-start gap-3", children: [
97
- /* @__PURE__ */ jsxs("div", { className: "relative w-48 h-32 rounded-lg border border-border overflow-hidden bg-muted flex-none", children: [
95
+ return /* @__PURE__ */ jsxs("div", { className: "octo-image-embed", contentEditable: false, children: [
96
+ currentMediaId && selectedEntry ? /* @__PURE__ */ jsxs("div", { className: "octo-image-embed__selected", children: [
97
+ /* @__PURE__ */ jsxs("div", { className: "octo-image-embed__thumb-wrap", children: [
98
98
  /* @__PURE__ */ jsx(
99
99
  "img",
100
100
  {
101
101
  src: selectedEntry.publicUrl,
102
102
  alt: selectedEntry.title || selectedEntry.originalName || "",
103
- className: "w-full h-full object-cover"
103
+ className: "octo-image-embed__thumb"
104
104
  }
105
105
  ),
106
- /* @__PURE__ */ jsx(
107
- "button",
108
- {
109
- type: "button",
110
- onClick: () => updateMediaId(""),
111
- className: "absolute top-1 right-1 rounded-full bg-black/60 text-white p-0.5 hover:bg-black/80",
112
- children: /* @__PURE__ */ jsx(X, { className: "w-3.5 h-3.5" })
113
- }
114
- )
106
+ /* @__PURE__ */ jsx("button", { type: "button", onClick: () => updateMediaId(""), className: "octo-image-embed__clear", children: /* @__PURE__ */ jsx(Icon.X, { className: "octo-icon-sm" }) })
115
107
  ] }),
116
- /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-1.5 pt-1", children: [
117
- /* @__PURE__ */ jsx("span", { className: "text-xs font-medium text-muted-foreground", children: "Image embed" }),
118
- /* @__PURE__ */ jsx("span", { className: "text-sm break-all", children: selectedEntry.title || selectedEntry.originalName }),
119
- /* @__PURE__ */ jsx(Button, { type: "button", variant: "outline", size: "sm", onClick: () => setIsOpen(true), children: "Change image" })
108
+ /* @__PURE__ */ jsxs("div", { className: "octo-image-embed__info", children: [
109
+ /* @__PURE__ */ jsx("span", { className: "octo-image-embed__info-label", children: "Image embed" }),
110
+ /* @__PURE__ */ jsx("span", { className: "octo-image-embed__info-name", children: selectedEntry.title || selectedEntry.originalName }),
111
+ /* @__PURE__ */ jsx(Button, { type: "button", variant: "outline", onClick: () => setIsOpen(true), children: "Change image" })
120
112
  ] })
121
- ] }) : /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
122
- /* @__PURE__ */ jsx("div", { className: "w-16 h-16 rounded-lg border-2 border-dashed border-border flex items-center justify-center bg-muted/50 flex-none", children: /* @__PURE__ */ jsx(ImageIcon, { className: "w-6 h-6 text-muted-foreground" }) }),
113
+ ] }) : /* @__PURE__ */ jsxs("div", { className: "octo-image-embed__empty-state", children: [
114
+ /* @__PURE__ */ jsx("div", { className: "octo-image-embed__placeholder", children: /* @__PURE__ */ jsx(Icon.Image, { className: "octo-image-embed__placeholder-icon octo-icon-24" }) }),
123
115
  /* @__PURE__ */ jsxs("div", { children: [
124
- /* @__PURE__ */ jsx("span", { className: "text-sm text-muted-foreground block mb-1", children: "No image selected" }),
125
- /* @__PURE__ */ jsx(Button, { type: "button", variant: "outline", size: "sm", onClick: () => setIsOpen(true), children: "Select image" })
116
+ /* @__PURE__ */ jsx("span", { className: "octo-image-embed__no-label", children: "No image selected" }),
117
+ /* @__PURE__ */ jsx(Button, { type: "button", variant: "outline", onClick: () => setIsOpen(true), children: "Select image" })
126
118
  ] })
127
119
  ] }),
128
120
  /* @__PURE__ */ jsx(
@@ -136,44 +128,43 @@ const ImageEmbedEditor = ({ mdastNode }) => {
136
128
  setUploadTitle("");
137
129
  }
138
130
  },
139
- children: /* @__PURE__ */ jsxs(DialogContent, { className: "max-w-3xl max-h-[80vh] flex flex-col", children: [
131
+ children: /* @__PURE__ */ jsxs(DialogContent, { className: "octo-dialog-content octo-dialog-content--5xl octo-dialog-content--vh-80 octo-dialog-content--flex-col", children: [
140
132
  /* @__PURE__ */ jsx(DialogHeader, { children: /* @__PURE__ */ jsx(DialogTitle, { children: "Select or upload image" }) }),
141
- /* @__PURE__ */ jsxs("div", { className: "border-2 border-dashed border-border rounded-lg p-4 flex flex-col gap-3", children: [
133
+ /* @__PURE__ */ jsxs("div", { className: "octo-image-embed__dropzone", children: [
142
134
  /* @__PURE__ */ jsx(
143
135
  "input",
144
136
  {
145
137
  ref: uploadInputRef,
146
138
  type: "file",
147
139
  accept: config.mediaAllowedFormats.map((f) => `.${f}`).join(","),
148
- className: "hidden",
140
+ className: "octo-u-hidden",
149
141
  onChange: (e) => {
150
142
  if (e.target.files) stageFileFromList(e.target.files);
151
143
  e.target.value = "";
152
144
  }
153
145
  }
154
146
  ),
155
- !stagedFile ? /* @__PURE__ */ jsx("div", { className: "flex items-center justify-center gap-3", children: /* @__PURE__ */ jsxs(
147
+ !stagedFile ? /* @__PURE__ */ jsx("div", { className: "octo-image-embed__upload-placeholder", children: /* @__PURE__ */ jsxs(
156
148
  Button,
157
149
  {
158
150
  type: "button",
159
151
  variant: "outline",
160
- size: "sm",
161
152
  onClick: () => {
162
153
  var _a2;
163
154
  return (_a2 = uploadInputRef.current) == null ? void 0 : _a2.click();
164
155
  },
165
156
  disabled: isPending,
166
157
  children: [
167
- /* @__PURE__ */ jsx(Upload, { className: "w-4 h-4" }),
158
+ /* @__PURE__ */ jsx(Icon.Upload, { className: "octo-icon-md" }),
168
159
  "Choose file to upload"
169
160
  ]
170
161
  }
171
- ) }) : /* @__PURE__ */ jsxs("div", { className: "space-y-3 max-w-md", children: [
172
- /* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground break-all", children: stagedFile.name }),
162
+ ) }) : /* @__PURE__ */ jsxs("div", { className: "octo-image-embed__upload-form", children: [
163
+ /* @__PURE__ */ jsx("p", { className: "octo-u-text-base octo-u-text-muted octo-u-word-break-all", children: stagedFile.name }),
173
164
  /* @__PURE__ */ jsxs("div", { children: [
174
- /* @__PURE__ */ jsxs(Label, { htmlFor: "richtext-image-upload-title", className: "text-sm", children: [
165
+ /* @__PURE__ */ jsxs(Label, { htmlFor: "richtext-image-upload-title", className: "octo-field-label", children: [
175
166
  "Title ",
176
- /* @__PURE__ */ jsx("span", { className: "text-destructive", children: "*" })
167
+ /* @__PURE__ */ jsx("span", { className: "octo-u-text-danger", children: "*" })
177
168
  ] }),
178
169
  /* @__PURE__ */ jsx(
179
170
  "input",
@@ -182,20 +173,19 @@ const ImageEmbedEditor = ({ mdastNode }) => {
182
173
  type: "text",
183
174
  value: uploadTitle,
184
175
  onChange: (e) => setUploadTitle(e.target.value),
185
- className: "mt-1 w-full text-sm px-2 py-1.5 rounded border border-border bg-layout-bg",
176
+ className: "octo-media-asset__input octo-u-mt-1",
186
177
  placeholder: "Shown as default alt text when this image is used",
187
178
  disabled: isPending
188
179
  }
189
180
  )
190
181
  ] }),
191
- /* @__PURE__ */ jsxs("div", { className: "flex gap-2", children: [
192
- /* @__PURE__ */ jsx(Button, { type: "button", size: "sm", onClick: confirmStagedUpload, disabled: isPending, children: "Upload" }),
182
+ /* @__PURE__ */ jsxs("div", { className: "octo-u-flex octo-u-gap-2", children: [
183
+ /* @__PURE__ */ jsx(Button, { type: "button", onClick: confirmStagedUpload, disabled: isPending, children: "Upload" }),
193
184
  /* @__PURE__ */ jsx(
194
185
  Button,
195
186
  {
196
187
  type: "button",
197
188
  variant: "outline",
198
- size: "sm",
199
189
  onClick: () => {
200
190
  setStagedFile(null);
201
191
  setUploadTitle("");
@@ -206,16 +196,27 @@ const ImageEmbedEditor = ({ mdastNode }) => {
206
196
  )
207
197
  ] })
208
198
  ] }),
209
- isPending && /* @__PURE__ */ jsx("span", { className: "text-xs text-muted-foreground", children: "Uploading..." })
199
+ isPending && /* @__PURE__ */ jsx("span", { className: "octo-u-text-xs octo-u-text-muted", children: "Uploading..." })
210
200
  ] }),
211
- /* @__PURE__ */ jsxs("div", { className: "flex gap-4 flex-1 min-h-0 overflow-hidden", children: [
212
- folders.length > 1 && /* @__PURE__ */ jsxs("div", { className: "w-36 flex-none overflow-y-auto border-r border-border pr-2", children: [
201
+ /* @__PURE__ */ jsxs("div", { className: "octo-image-embed__body", children: [
202
+ folders.length > 1 && /* @__PURE__ */ jsxs("div", { className: "octo-image-embed__folders", children: [
213
203
  /* @__PURE__ */ jsx(
214
204
  "button",
215
205
  {
216
206
  type: "button",
217
207
  onClick: () => setSelectedFolder(null),
218
- className: `block w-full text-left px-2 py-1.5 rounded text-sm ${selectedFolder === null ? "bg-primary text-primary-foreground" : "hover:bg-muted"}`,
208
+ style: {
209
+ display: "block",
210
+ width: "100%",
211
+ textAlign: "left",
212
+ padding: "6px 8px",
213
+ borderRadius: 6,
214
+ fontSize: 14,
215
+ border: 0,
216
+ cursor: "pointer",
217
+ background: selectedFolder === null ? "var(--brand)" : "transparent",
218
+ color: selectedFolder === null ? "var(--bg)" : "var(--text)"
219
+ },
219
220
  children: "All"
220
221
  }
221
222
  ),
@@ -224,13 +225,24 @@ const ImageEmbedEditor = ({ mdastNode }) => {
224
225
  {
225
226
  type: "button",
226
227
  onClick: () => setSelectedFolder(folder),
227
- className: `block w-full text-left px-2 py-1.5 rounded text-sm ${selectedFolder === folder ? "bg-primary text-primary-foreground" : "hover:bg-muted"}`,
228
+ style: {
229
+ display: "block",
230
+ width: "100%",
231
+ textAlign: "left",
232
+ padding: "6px 8px",
233
+ borderRadius: 6,
234
+ fontSize: 14,
235
+ border: 0,
236
+ cursor: "pointer",
237
+ background: selectedFolder === folder ? "var(--brand)" : "transparent",
238
+ color: selectedFolder === folder ? "var(--bg)" : "var(--text)"
239
+ },
228
240
  children: folder === "/" ? "Root" : folder
229
241
  },
230
242
  folder
231
243
  ))
232
244
  ] }),
233
- /* @__PURE__ */ jsx("div", { className: "flex-1 overflow-y-auto", children: /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-3 gap-3", children: [
245
+ /* @__PURE__ */ jsx("div", { className: "octo-image-embed__scroller", children: /* @__PURE__ */ jsxs("div", { className: "octo-image-embed__grid", children: [
234
246
  filteredEntries.map((entry) => {
235
247
  const isSelected = currentMediaId === entry.id;
236
248
  return /* @__PURE__ */ jsxs(
@@ -238,23 +250,32 @@ const ImageEmbedEditor = ({ mdastNode }) => {
238
250
  {
239
251
  type: "button",
240
252
  onClick: () => handleSelect(entry),
241
- className: `group relative aspect-square rounded-lg overflow-hidden border-2 transition-colors ${isSelected ? "border-primary ring-2 ring-primary/30" : "border-border hover:border-primary/50"}`,
253
+ style: {
254
+ position: "relative",
255
+ aspectRatio: "1",
256
+ borderRadius: 8,
257
+ overflow: "hidden",
258
+ border: isSelected ? "2px solid var(--brand)" : "2px solid var(--border)",
259
+ cursor: "pointer",
260
+ padding: 0,
261
+ background: "transparent"
262
+ },
242
263
  children: [
243
264
  /* @__PURE__ */ jsx(
244
265
  "img",
245
266
  {
246
267
  src: entry.publicUrl,
247
268
  alt: entry.title || entry.originalName,
248
- className: "w-full h-full object-cover"
269
+ className: "octo-image-embed__thumb-img"
249
270
  }
250
271
  ),
251
- /* @__PURE__ */ jsx("div", { className: "absolute inset-x-0 bottom-0 bg-black/60 px-2 py-1", children: /* @__PURE__ */ jsx("span", { className: "text-xs text-white truncate block", children: entry.title || entry.originalName }) })
272
+ /* @__PURE__ */ jsx("div", { className: "octo-image-embed__thumb-overlay", children: /* @__PURE__ */ jsx("span", { className: "octo-image-embed__thumb-caption", children: entry.title || entry.originalName }) })
252
273
  ]
253
274
  },
254
275
  entry.id
255
276
  );
256
277
  }),
257
- filteredEntries.length === 0 && /* @__PURE__ */ jsx("div", { className: "col-span-3 text-center py-12 text-muted-foreground", children: "No images found" })
278
+ filteredEntries.length === 0 && /* @__PURE__ */ jsx("div", { className: "octo-image-embed__empty", children: "No images found" })
258
279
  ] }) })
259
280
  ] })
260
281
  ] })
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../components/ui/FormField/richtext/ImageEmbedEditor.tsx"],"sourcesContent":["'use client';\n\nimport React, { useCallback, useEffect, useRef, useState, useTransition } from 'react';\nimport { useQueryClient } from '@tanstack/react-query';\nimport { Button } from '../../Button/Button';\nimport { Dialog, DialogContent, DialogHeader, DialogTitle } from '../../Dialog/Dialog';\nimport { Icon } from '../../Icon/Icon';\nimport { Label } from '../../Label/Label';\nimport type { JsxEditorProps } from '@mdxeditor/editor';\nimport { useMdastNodeUpdater } from '@mdxeditor/editor';\n\nimport { uploadMedia } from '../../../../admin/actions';\nimport { queryKeys } from '../../../../admin/query/keys';\nimport { useMediaList } from '../../../../admin/query/hooks/useMediaList';\nimport { useConfig } from '../../../../hooks/useConfig';\nimport { toast } from '../../../../hooks/useToast';\nimport type { MediaFile } from '../../../../types';\nimport { suggestedTitleFromFileName } from '../../../../lib/suggestedMediaTitle';\n\nconst ImageEmbedEditor: React.FC<JsxEditorProps> = ({ mdastNode }) => {\n const config = useConfig();\n const queryClient = useQueryClient();\n const updateNode = useMdastNodeUpdater();\n const mediaIdAttr = mdastNode.attributes?.find((a: any) => a.type === 'mdxJsxAttribute' && a.name === 'mediaId');\n const currentMediaId = typeof mediaIdAttr?.value === 'string' ? mediaIdAttr.value : '';\n\n const [isOpen, setIsOpen] = useState(false);\n const { data: mediaEntries = [], refetch: refetchMedia } = useMediaList({ enabled: isOpen });\n const [selectedFolder, setSelectedFolder] = useState<string | null>(null);\n const [isPending, startTransition] = useTransition();\n const uploadInputRef = useRef<HTMLInputElement>(null);\n const [stagedFile, setStagedFile] = useState<File | null>(null);\n const [uploadTitle, setUploadTitle] = useState('');\n\n const selectedEntry = mediaEntries.find((e) => e.id === currentMediaId);\n\n useEffect(() => {\n if (!isOpen) return;\n void refetchMedia();\n }, [isOpen, refetchMedia]);\n\n const updateMediaId = useCallback(\n (newId: string) => {\n updateNode({\n attributes: [{ type: 'mdxJsxAttribute', name: 'mediaId', value: newId }],\n } as any);\n },\n [updateNode],\n );\n\n const handleSelect = useCallback(\n (entry: MediaFile) => {\n updateMediaId(entry.id);\n setIsOpen(false);\n },\n [updateMediaId],\n );\n\n const stageFileFromList = useCallback(\n (fileList: FileList) => {\n const file = fileList[0];\n if (!file) return;\n const ext = file.name.split('.').pop()?.toLowerCase() || '';\n if (!config.mediaAllowedFormats.includes(ext)) {\n toast({ title: `Format .${ext} not allowed`, variant: 'destructive' });\n return;\n }\n setStagedFile(file);\n setUploadTitle(suggestedTitleFromFileName(file.name));\n },\n [config.mediaAllowedFormats],\n );\n\n const confirmStagedUpload = useCallback(() => {\n if (!stagedFile) return;\n const title = uploadTitle.trim();\n if (!title) {\n toast({ title: 'Title is required', variant: 'destructive' });\n return;\n }\n const file = stagedFile;\n const formData = new FormData();\n formData.set('file', file);\n formData.set('folder', selectedFolder || '/');\n formData.set('title', title);\n\n startTransition(async () => {\n const uploadResult = await uploadMedia(formData);\n if (!uploadResult.success) {\n toast({ title: uploadResult.error, variant: 'destructive' });\n return;\n }\n const mediaId = uploadResult.id;\n await queryClient.invalidateQueries({ queryKey: queryKeys.media.list() });\n updateMediaId(mediaId);\n setStagedFile(null);\n setUploadTitle('');\n setIsOpen(false);\n toast({ title: `Uploaded \"${file.name}\"`, variant: 'success' });\n });\n }, [stagedFile, uploadTitle, selectedFolder, updateMediaId, queryClient]);\n\n const folders = [...new Set(mediaEntries.map((f) => f.folder))];\n const filteredEntries = selectedFolder ? mediaEntries.filter((f) => f.folder === selectedFolder) : mediaEntries;\n\n return (\n <div className=\"octo-image-embed\" contentEditable={false}>\n {currentMediaId && selectedEntry ? (\n <div className=\"octo-image-embed__selected\">\n <div className=\"octo-image-embed__thumb-wrap\">\n <img\n src={selectedEntry.publicUrl}\n alt={selectedEntry.title || selectedEntry.originalName || ''}\n className=\"octo-image-embed__thumb\"\n />\n <button type=\"button\" onClick={() => updateMediaId('')} className=\"octo-image-embed__clear\">\n <Icon.X className=\"octo-icon-sm\" />\n </button>\n </div>\n <div className=\"octo-image-embed__info\">\n <span className=\"octo-image-embed__info-label\">Image embed</span>\n <span className=\"octo-image-embed__info-name\">{selectedEntry.title || selectedEntry.originalName}</span>\n <Button type=\"button\" variant=\"outline\" onClick={() => setIsOpen(true)}>\n Change image\n </Button>\n </div>\n </div>\n ) : (\n <div className=\"octo-image-embed__empty-state\">\n <div className=\"octo-image-embed__placeholder\">\n <Icon.Image className=\"octo-image-embed__placeholder-icon octo-icon-24\" />\n </div>\n <div>\n <span className=\"octo-image-embed__no-label\">No image selected</span>\n <Button type=\"button\" variant=\"outline\" onClick={() => setIsOpen(true)}>\n Select image\n </Button>\n </div>\n </div>\n )}\n\n <Dialog\n open={isOpen}\n onOpenChange={(open) => {\n setIsOpen(open);\n if (!open) {\n setStagedFile(null);\n setUploadTitle('');\n }\n }}\n >\n <DialogContent className=\"octo-dialog-content octo-dialog-content--5xl octo-dialog-content--vh-80 octo-dialog-content--flex-col\">\n <DialogHeader>\n <DialogTitle>Select or upload image</DialogTitle>\n </DialogHeader>\n <div className=\"octo-image-embed__dropzone\">\n <input\n ref={uploadInputRef}\n type=\"file\"\n accept={config.mediaAllowedFormats.map((f) => `.${f}`).join(',')}\n className=\"octo-u-hidden\"\n onChange={(e) => {\n if (e.target.files) stageFileFromList(e.target.files);\n e.target.value = '';\n }}\n />\n {!stagedFile ? (\n <div className=\"octo-image-embed__upload-placeholder\">\n <Button\n type=\"button\"\n variant=\"outline\"\n onClick={() => uploadInputRef.current?.click()}\n disabled={isPending}\n >\n <Icon.Upload className=\"octo-icon-md\" />\n Choose file to upload\n </Button>\n </div>\n ) : (\n <div className=\"octo-image-embed__upload-form\">\n <p className=\"octo-u-text-base octo-u-text-muted octo-u-word-break-all\">{stagedFile.name}</p>\n <div>\n <Label htmlFor=\"richtext-image-upload-title\" className=\"octo-field-label\">\n Title <span className=\"octo-u-text-danger\">*</span>\n </Label>\n <input\n id=\"richtext-image-upload-title\"\n type=\"text\"\n value={uploadTitle}\n onChange={(e) => setUploadTitle(e.target.value)}\n className=\"octo-media-asset__input octo-u-mt-1\"\n placeholder=\"Shown as default alt text when this image is used\"\n disabled={isPending}\n />\n </div>\n <div className=\"octo-u-flex octo-u-gap-2\">\n <Button type=\"button\" onClick={confirmStagedUpload} disabled={isPending}>\n Upload\n </Button>\n <Button\n type=\"button\"\n variant=\"outline\"\n onClick={() => {\n setStagedFile(null);\n setUploadTitle('');\n }}\n disabled={isPending}\n >\n Cancel\n </Button>\n </div>\n </div>\n )}\n {isPending && <span className=\"octo-u-text-xs octo-u-text-muted\">Uploading...</span>}\n </div>\n <div className=\"octo-image-embed__body\">\n {folders.length > 1 && (\n <div className=\"octo-image-embed__folders\">\n <button\n type=\"button\"\n onClick={() => setSelectedFolder(null)}\n style={{\n display: 'block',\n width: '100%',\n textAlign: 'left',\n padding: '6px 8px',\n borderRadius: 6,\n fontSize: 14,\n border: 0,\n cursor: 'pointer',\n background: selectedFolder === null ? 'var(--brand)' : 'transparent',\n color: selectedFolder === null ? 'var(--bg)' : 'var(--text)',\n }}\n >\n All\n </button>\n {folders.map((folder) => (\n <button\n key={folder}\n type=\"button\"\n onClick={() => setSelectedFolder(folder)}\n style={{\n display: 'block',\n width: '100%',\n textAlign: 'left',\n padding: '6px 8px',\n borderRadius: 6,\n fontSize: 14,\n border: 0,\n cursor: 'pointer',\n background: selectedFolder === folder ? 'var(--brand)' : 'transparent',\n color: selectedFolder === folder ? 'var(--bg)' : 'var(--text)',\n }}\n >\n {folder === '/' ? 'Root' : folder}\n </button>\n ))}\n </div>\n )}\n <div className=\"octo-image-embed__scroller\">\n <div className=\"octo-image-embed__grid\">\n {filteredEntries.map((entry) => {\n const isSelected = currentMediaId === entry.id;\n return (\n <button\n key={entry.id}\n type=\"button\"\n onClick={() => handleSelect(entry)}\n style={{\n position: 'relative',\n aspectRatio: '1',\n borderRadius: 8,\n overflow: 'hidden',\n border: isSelected ? '2px solid var(--brand)' : '2px solid var(--border)',\n cursor: 'pointer',\n padding: 0,\n background: 'transparent',\n }}\n >\n <img\n src={entry.publicUrl}\n alt={entry.title || entry.originalName}\n className=\"octo-image-embed__thumb-img\"\n />\n <div className=\"octo-image-embed__thumb-overlay\">\n <span className=\"octo-image-embed__thumb-caption\">{entry.title || entry.originalName}</span>\n </div>\n </button>\n );\n })}\n {filteredEntries.length === 0 && <div className=\"octo-image-embed__empty\">No images found</div>}\n </div>\n </div>\n </div>\n </DialogContent>\n </Dialog>\n </div>\n );\n};\n\nexport default ImageEmbedEditor;\n"],"mappings":"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","names":["_a"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReferenceEmbedEditor.d.ts","sourceRoot":"","sources":["../../../../../components/ui/FormField/richtext/ReferenceEmbedEditor.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAIzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AASxD;;;;;GAKG;AACH,QAAA,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAwOlD,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
@@ -1,14 +1,14 @@
1
1
  "use client";
2
- import "../../chunk-B5LE2OEC.js";
2
+ import "../../../../chunk-B5LE2OEC.js";
3
3
  import { jsx, jsxs } from "react/jsx-runtime";
4
4
  import { useCallback, useEffect, useMemo, useState } from "react";
5
- import { FileText, Link2, Search, X } from "lucide-react";
5
+ import { Button } from "../../Button/Button";
6
+ import { Dialog, DialogContent, DialogHeader, DialogTitle } from "../../Dialog/Dialog";
7
+ import { Icon } from "../../Icon/Icon";
6
8
  import { useMdastNodeUpdater } from "@mdxeditor/editor";
7
- import { useConfig } from "../../hooks/useConfig";
8
- import { useEntryList } from "../../admin/query/hooks/useEntryList";
9
- import { toReferenceKey } from "../../lib/referenceKeys";
10
- import { Button } from "../ui/button";
11
- import { Dialog, DialogContent, DialogHeader, DialogTitle } from "../ui";
9
+ import { useConfig } from "../../../../hooks/useConfig";
10
+ import { useEntryList } from "../../../../admin/query/hooks/useEntryList";
11
+ import { toReferenceKey } from "../../../../lib/referenceKeys";
12
12
  const ReferenceEmbedEditor = ({ mdastNode }) => {
13
13
  var _a, _b;
14
14
  const config = useConfig();
@@ -79,52 +79,52 @@ const ReferenceEmbedEditor = ({ mdastNode }) => {
79
79
  var _a2;
80
80
  return ((_a2 = config.collections[type]) == null ? void 0 : _a2.label) || type;
81
81
  };
82
- return /* @__PURE__ */ jsxs("div", { className: "my-2 rounded-lg border border-border bg-muted/30 p-3", contentEditable: false, children: [
83
- currentId && selectedEntry ? /* @__PURE__ */ jsxs("div", { className: "flex items-start gap-3", children: [
84
- /* @__PURE__ */ jsx("div", { className: "w-12 h-12 rounded-lg border border-border bg-primary/10 flex items-center justify-center flex-none", children: /* @__PURE__ */ jsx(FileText, { className: "w-5 h-5 text-primary" }) }),
85
- /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-1 flex-1 min-w-0 pt-0.5", children: [
86
- /* @__PURE__ */ jsxs("span", { className: "text-xs font-medium text-muted-foreground", children: [
82
+ return /* @__PURE__ */ jsxs("div", { className: "octo-ref-embed", contentEditable: false, children: [
83
+ currentId && selectedEntry ? /* @__PURE__ */ jsxs("div", { className: "octo-ref-embed__selected", children: [
84
+ /* @__PURE__ */ jsx("div", { className: "octo-ref-embed__icon-wrap", children: /* @__PURE__ */ jsx(Icon.FileText, { className: "octo-icon-lg octo-u-text-brand" }) }),
85
+ /* @__PURE__ */ jsxs("div", { className: "octo-ref-embed__info", children: [
86
+ /* @__PURE__ */ jsxs("span", { className: "octo-ref-embed__info-label", children: [
87
87
  "Reference embed \xB7 ",
88
88
  currentDisplay
89
89
  ] }),
90
- /* @__PURE__ */ jsx("span", { className: "text-sm font-medium truncate", children: selectedEntry.title }),
91
- /* @__PURE__ */ jsx("span", { className: "text-xs text-muted-foreground", children: getCollectionLabel(selectedEntry.type) })
90
+ /* @__PURE__ */ jsx("span", { className: "octo-ref-embed__info-title", children: selectedEntry.title }),
91
+ /* @__PURE__ */ jsx("span", { className: "octo-ref-embed__info-type", children: getCollectionLabel(selectedEntry.type) })
92
92
  ] }),
93
- /* @__PURE__ */ jsxs("div", { className: "flex gap-1 flex-none", children: [
93
+ /* @__PURE__ */ jsxs("div", { className: "octo-ref-embed__actions", children: [
94
94
  /* @__PURE__ */ jsx(
95
95
  "button",
96
96
  {
97
97
  type: "button",
98
98
  onClick: toggleDisplay,
99
- className: "p-1.5 rounded hover:bg-muted text-muted-foreground hover:text-foreground transition-colors",
99
+ className: "octo-ref-embed__action-btn",
100
100
  title: `Switch to ${currentDisplay === "inline" ? "block" : "inline"} display`,
101
- children: /* @__PURE__ */ jsx(Link2, { className: "w-3.5 h-3.5" })
101
+ children: /* @__PURE__ */ jsx(Icon.Link2, { className: "octo-icon-sm" })
102
102
  }
103
103
  ),
104
- /* @__PURE__ */ jsx(Button, { type: "button", variant: "outline", size: "sm", onClick: () => setIsOpen(true), children: "Change" }),
104
+ /* @__PURE__ */ jsx(Button, { type: "button", variant: "outline", onClick: () => setIsOpen(true), children: "Change" }),
105
105
  /* @__PURE__ */ jsx(
106
106
  "button",
107
107
  {
108
108
  type: "button",
109
109
  onClick: handleClear,
110
- className: "p-1.5 rounded hover:bg-destructive/10 text-muted-foreground hover:text-destructive transition-colors",
110
+ className: "octo-ref-embed__action-btn octo-ref-embed__action-btn--danger",
111
111
  title: "Remove reference",
112
- children: /* @__PURE__ */ jsx(X, { className: "w-3.5 h-3.5" })
112
+ children: /* @__PURE__ */ jsx(Icon.X, { className: "octo-icon-sm" })
113
113
  }
114
114
  )
115
115
  ] })
116
- ] }) : currentId && !selectedEntry ? /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
117
- /* @__PURE__ */ jsx("div", { className: "w-12 h-12 rounded-lg border-2 border-dashed border-border flex items-center justify-center bg-muted/50 flex-none", children: /* @__PURE__ */ jsx(FileText, { className: "w-5 h-5 text-muted-foreground" }) }),
118
- /* @__PURE__ */ jsxs("div", { className: "flex-1", children: [
119
- /* @__PURE__ */ jsx("span", { className: "text-sm text-muted-foreground block mb-0.5", children: isFetched && !listPending ? "Referenced entry not found" : "Loading\u2026" }),
120
- /* @__PURE__ */ jsx("span", { className: "text-xs text-muted-foreground", children: currentId })
116
+ ] }) : currentId && !selectedEntry ? /* @__PURE__ */ jsxs("div", { className: "octo-ref-embed__loading", children: [
117
+ /* @__PURE__ */ jsx("div", { className: "octo-ref-embed__loading-icon", children: /* @__PURE__ */ jsx(Icon.FileText, { className: "octo-icon-lg octo-u-text-muted" }) }),
118
+ /* @__PURE__ */ jsxs("div", { className: "octo-u-flex-1", children: [
119
+ /* @__PURE__ */ jsx("span", { className: "octo-ref-embed__loading-text", children: isFetched && !listPending ? "Referenced entry not found" : "Loading\u2026" }),
120
+ /* @__PURE__ */ jsx("span", { className: "octo-ref-embed__loading-id", children: currentId })
121
121
  ] }),
122
- /* @__PURE__ */ jsx(Button, { type: "button", variant: "outline", size: "sm", onClick: () => setIsOpen(true), children: "Select entry" })
123
- ] }) : /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
124
- /* @__PURE__ */ jsx("div", { className: "w-12 h-12 rounded-lg border-2 border-dashed border-border flex items-center justify-center bg-muted/50 flex-none", children: /* @__PURE__ */ jsx(FileText, { className: "w-5 h-5 text-muted-foreground" }) }),
122
+ /* @__PURE__ */ jsx(Button, { type: "button", variant: "outline", onClick: () => setIsOpen(true), children: "Select entry" })
123
+ ] }) : /* @__PURE__ */ jsxs("div", { className: "octo-ref-embed__empty-state", children: [
124
+ /* @__PURE__ */ jsx("div", { className: "octo-ref-embed__loading-icon", children: /* @__PURE__ */ jsx(Icon.FileText, { className: "octo-icon-lg octo-u-text-muted" }) }),
125
125
  /* @__PURE__ */ jsxs("div", { children: [
126
- /* @__PURE__ */ jsx("span", { className: "text-sm text-muted-foreground block mb-1", children: "No entry selected" }),
127
- /* @__PURE__ */ jsx(Button, { type: "button", variant: "outline", size: "sm", onClick: () => setIsOpen(true), children: "Select entry" })
126
+ /* @__PURE__ */ jsx("span", { className: "octo-ref-embed__loading-text octo-u-mb-1", children: "No entry selected" }),
127
+ /* @__PURE__ */ jsx(Button, { type: "button", variant: "outline", onClick: () => setIsOpen(true), children: "Select entry" })
128
128
  ] })
129
129
  ] }),
130
130
  /* @__PURE__ */ jsx(
@@ -138,11 +138,11 @@ const ReferenceEmbedEditor = ({ mdastNode }) => {
138
138
  setCollectionFilter(null);
139
139
  }
140
140
  },
141
- children: /* @__PURE__ */ jsxs(DialogContent, { className: "max-w-2xl max-h-[80vh] flex flex-col", children: [
141
+ children: /* @__PURE__ */ jsxs(DialogContent, { className: "octo-dialog-content octo-dialog-content--3xl octo-dialog-content--vh-80 octo-dialog-content--flex-col", children: [
142
142
  /* @__PURE__ */ jsx(DialogHeader, { children: /* @__PURE__ */ jsx(DialogTitle, { children: "Select entry to embed" }) }),
143
- /* @__PURE__ */ jsxs("div", { className: "flex gap-2", children: [
144
- /* @__PURE__ */ jsxs("div", { className: "relative flex-1", children: [
145
- /* @__PURE__ */ jsx(Search, { className: "absolute left-2.5 top-1/2 -translate-y-1/2 w-4 h-4 text-muted-foreground" }),
143
+ /* @__PURE__ */ jsxs("div", { className: "octo-ref-embed__search-row", children: [
144
+ /* @__PURE__ */ jsxs("div", { className: "octo-ref-embed__search-wrap", children: [
145
+ /* @__PURE__ */ jsx(Icon.Search, { className: "octo-icon-md octo-u-text-muted octo-ref-embed__search-icon" }),
146
146
  /* @__PURE__ */ jsx(
147
147
  "input",
148
148
  {
@@ -150,7 +150,7 @@ const ReferenceEmbedEditor = ({ mdastNode }) => {
150
150
  value: searchQuery,
151
151
  onChange: (e) => setSearchQuery(e.target.value),
152
152
  placeholder: "Filter entries\u2026",
153
- className: "w-full text-sm pl-8 pr-3 py-2 rounded-md border border-border bg-layout-bg"
153
+ className: "octo-ff-reference__search-input"
154
154
  }
155
155
  )
156
156
  ] }),
@@ -159,7 +159,7 @@ const ReferenceEmbedEditor = ({ mdastNode }) => {
159
159
  {
160
160
  value: collectionFilter != null ? collectionFilter : "",
161
161
  onChange: (e) => setCollectionFilter(e.target.value || null),
162
- className: "text-sm rounded-md border border-border bg-layout-bg px-2 py-2",
162
+ className: "octo-media-asset__input",
163
163
  children: [
164
164
  /* @__PURE__ */ jsx("option", { value: "", children: "All collections" }),
165
165
  availableCollections.map((type) => /* @__PURE__ */ jsx("option", { value: type, children: getCollectionLabel(type) }, type))
@@ -167,7 +167,7 @@ const ReferenceEmbedEditor = ({ mdastNode }) => {
167
167
  }
168
168
  )
169
169
  ] }),
170
- /* @__PURE__ */ jsx("div", { className: "flex-1 overflow-y-auto min-h-0 border border-border rounded-md", children: listPending && entries.length === 0 ? /* @__PURE__ */ jsx("div", { className: "text-center py-12 text-muted-foreground text-sm", children: "Loading entries\u2026" }) : filteredEntries.length === 0 ? /* @__PURE__ */ jsx("div", { className: "text-center py-12 text-muted-foreground text-sm", children: searchQuery ? "No matching entries" : "No entries found" }) : /* @__PURE__ */ jsx("div", { className: "divide-y divide-border", children: filteredEntries.map((entry) => {
170
+ /* @__PURE__ */ jsx("div", { className: "octo-ref-embed__list", children: listPending && entries.length === 0 ? /* @__PURE__ */ jsx("div", { className: "octo-ref-embed__empty", children: "Loading entries\u2026" }) : filteredEntries.length === 0 ? /* @__PURE__ */ jsx("div", { className: "octo-ref-embed__empty", children: searchQuery ? "No matching entries" : "No entries found" }) : /* @__PURE__ */ jsx("div", { className: "octo-ref-embed__divider", children: filteredEntries.map((entry) => {
171
171
  const refKey = toReferenceKey(entry.path);
172
172
  const isSelected = refKey === toReferenceKey(currentId);
173
173
  return /* @__PURE__ */ jsxs(
@@ -175,14 +175,26 @@ const ReferenceEmbedEditor = ({ mdastNode }) => {
175
175
  {
176
176
  type: "button",
177
177
  onClick: () => handleSelect(entry),
178
- className: `w-full text-left px-3 py-2.5 flex items-center gap-3 transition-colors ${isSelected ? "bg-primary/10 text-primary" : "hover:bg-muted"}`,
178
+ style: {
179
+ width: "100%",
180
+ textAlign: "left",
181
+ padding: "8px 12px",
182
+ display: "flex",
183
+ alignItems: "center",
184
+ gap: 12,
185
+ background: isSelected ? "color-mix(in oklab, var(--brand) 10%, transparent)" : "transparent",
186
+ color: isSelected ? "var(--brand)" : "var(--text)",
187
+ border: 0,
188
+ cursor: "pointer",
189
+ borderBottom: "1px solid var(--border)"
190
+ },
179
191
  children: [
180
- /* @__PURE__ */ jsx(FileText, { className: "w-4 h-4 flex-none text-muted-foreground" }),
181
- /* @__PURE__ */ jsxs("div", { className: "flex-1 min-w-0", children: [
182
- /* @__PURE__ */ jsx("div", { className: "text-sm font-medium truncate", children: entry.title }),
183
- /* @__PURE__ */ jsx("div", { className: "text-xs text-muted-foreground", children: getCollectionLabel(entry.type) })
192
+ /* @__PURE__ */ jsx(Icon.FileText, { className: "octo-icon-md octo-u-shrink-0 octo-u-text-muted" }),
193
+ /* @__PURE__ */ jsxs("div", { className: "octo-ref-embed__entry-info", children: [
194
+ /* @__PURE__ */ jsx("div", { className: "octo-ref-embed__entry-title", children: entry.title }),
195
+ /* @__PURE__ */ jsx("div", { className: "octo-ref-embed__entry-meta", children: getCollectionLabel(entry.type) })
184
196
  ] }),
185
- isSelected && /* @__PURE__ */ jsx("span", { className: "text-xs font-medium text-primary flex-none", children: "Selected" })
197
+ isSelected && /* @__PURE__ */ jsx("span", { className: "octo-ref-embed__selected-badge", children: "Selected" })
186
198
  ]
187
199
  },
188
200
  `${entry.type}-${entry.id}`
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../components/ui/FormField/richtext/ReferenceEmbedEditor.tsx"],"sourcesContent":["'use client';\n\nimport React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport { Button } from '../../Button/Button';\nimport { Dialog, DialogContent, DialogHeader, DialogTitle } from '../../Dialog/Dialog';\nimport { Icon } from '../../Icon/Icon';\nimport type { JsxEditorProps } from '@mdxeditor/editor';\nimport { useMdastNodeUpdater } from '@mdxeditor/editor';\n\nimport type { Config } from '../../../../admin/types';\nimport { useConfig } from '../../../../hooks/useConfig';\nimport { useEntryList } from '../../../../admin/query/hooks/useEntryList';\nimport type { EntryListItem } from '../../../../types';\nimport { toReferenceKey } from '../../../../lib/referenceKeys';\n\n/**\n * WYSIWYG editor component for `<CmsRef>` JSX embeds inside richtext fields.\n *\n * Shows a preview of the selected entry (title + collection type) and provides a\n * dialog to search and select an entry from configured collections.\n */\nconst ReferenceEmbedEditor: React.FC<JsxEditorProps> = ({ mdastNode }) => {\n const config = useConfig();\n const updateNode = useMdastNodeUpdater();\n\n // Read current attributes\n const idAttr = mdastNode.attributes?.find((a: any) => a.type === 'mdxJsxAttribute' && a.name === 'id');\n const displayAttr = mdastNode.attributes?.find((a: any) => a.type === 'mdxJsxAttribute' && a.name === 'display');\n const currentId = typeof idAttr?.value === 'string' ? idAttr.value : '';\n const currentDisplay = typeof displayAttr?.value === 'string' ? displayAttr.value : 'block';\n\n const [isOpen, setIsOpen] = useState(false);\n const [searchQuery, setSearchQuery] = useState('');\n const [collectionFilter, setCollectionFilter] = useState<string | null>(null);\n\n const {\n data: entries = [],\n isPending: listPending,\n isFetched,\n refetch,\n } = useEntryList(undefined, { enabled: Boolean(isOpen || currentId) });\n\n useEffect(() => {\n if (!isOpen) return;\n void refetch();\n }, [isOpen, refetch]);\n\n // Find selected entry from the list once loaded (use content path — `id` is already `post-123`-style stem)\n const selectedEntry = useMemo(() => {\n if (!currentId) return null;\n const refKey = toReferenceKey(currentId);\n return entries.find((e) => toReferenceKey(e.path) === refKey) ?? null;\n }, [currentId, entries]);\n\n const updateAttributes = useCallback(\n (id: string, display: string) => {\n updateNode({\n attributes: [\n { type: 'mdxJsxAttribute', name: 'id', value: id },\n { type: 'mdxJsxAttribute', name: 'display', value: display },\n ],\n } as any);\n },\n [updateNode],\n );\n\n const handleSelect = useCallback(\n (entry: EntryListItem) => {\n const refKey = toReferenceKey(entry.path);\n updateAttributes(refKey, currentDisplay);\n setIsOpen(false);\n setSearchQuery('');\n },\n [updateAttributes, currentDisplay],\n );\n\n const handleClear = useCallback(() => {\n updateAttributes('', currentDisplay);\n }, [updateAttributes, currentDisplay]);\n\n const toggleDisplay = useCallback(() => {\n const newDisplay = currentDisplay === 'inline' ? 'block' : 'inline';\n updateAttributes(currentId, newDisplay);\n }, [updateAttributes, currentId, currentDisplay]);\n\n // Filter entries by search + collection\n const filteredEntries = useMemo(() => {\n let filtered = entries;\n if (collectionFilter) {\n filtered = filtered.filter((e) => e.type === collectionFilter);\n }\n if (searchQuery.trim()) {\n const q = searchQuery.toLowerCase();\n filtered = filtered.filter((e) => e.title.toLowerCase().includes(q) || e.type.toLowerCase().includes(q));\n }\n return filtered;\n }, [entries, collectionFilter, searchQuery]);\n\n // Unique collection types in the entry list\n const availableCollections = useMemo(() => [...new Set(entries.map((e) => e.type))], [entries]);\n\n const getCollectionLabel = (type: string) => config.collections[type as keyof Config['collections']]?.label || type;\n\n return (\n <div className=\"octo-ref-embed\" contentEditable={false}>\n {currentId && selectedEntry ? (\n <div className=\"octo-ref-embed__selected\">\n <div className=\"octo-ref-embed__icon-wrap\">\n <Icon.FileText className=\"octo-icon-lg octo-u-text-brand\" />\n </div>\n <div className=\"octo-ref-embed__info\">\n <span className=\"octo-ref-embed__info-label\">Reference embed · {currentDisplay}</span>\n <span className=\"octo-ref-embed__info-title\">{selectedEntry.title}</span>\n <span className=\"octo-ref-embed__info-type\">{getCollectionLabel(selectedEntry.type)}</span>\n </div>\n <div className=\"octo-ref-embed__actions\">\n <button\n type=\"button\"\n onClick={toggleDisplay}\n className=\"octo-ref-embed__action-btn\"\n title={`Switch to ${currentDisplay === 'inline' ? 'block' : 'inline'} display`}\n >\n <Icon.Link2 className=\"octo-icon-sm\" />\n </button>\n <Button type=\"button\" variant=\"outline\" onClick={() => setIsOpen(true)}>\n Change\n </Button>\n <button\n type=\"button\"\n onClick={handleClear}\n className=\"octo-ref-embed__action-btn octo-ref-embed__action-btn--danger\"\n title=\"Remove reference\"\n >\n <Icon.X className=\"octo-icon-sm\" />\n </button>\n </div>\n </div>\n ) : currentId && !selectedEntry ? (\n <div className=\"octo-ref-embed__loading\">\n <div className=\"octo-ref-embed__loading-icon\">\n <Icon.FileText className=\"octo-icon-lg octo-u-text-muted\" />\n </div>\n <div className=\"octo-u-flex-1\">\n <span className=\"octo-ref-embed__loading-text\">\n {isFetched && !listPending ? 'Referenced entry not found' : 'Loading…'}\n </span>\n <span className=\"octo-ref-embed__loading-id\">{currentId}</span>\n </div>\n <Button type=\"button\" variant=\"outline\" onClick={() => setIsOpen(true)}>\n Select entry\n </Button>\n </div>\n ) : (\n <div className=\"octo-ref-embed__empty-state\">\n <div className=\"octo-ref-embed__loading-icon\">\n <Icon.FileText className=\"octo-icon-lg octo-u-text-muted\" />\n </div>\n <div>\n <span className=\"octo-ref-embed__loading-text octo-u-mb-1\">No entry selected</span>\n <Button type=\"button\" variant=\"outline\" onClick={() => setIsOpen(true)}>\n Select entry\n </Button>\n </div>\n </div>\n )}\n\n <Dialog\n open={isOpen}\n onOpenChange={(open) => {\n setIsOpen(open);\n if (!open) {\n setSearchQuery('');\n setCollectionFilter(null);\n }\n }}\n >\n <DialogContent className=\"octo-dialog-content octo-dialog-content--3xl octo-dialog-content--vh-80 octo-dialog-content--flex-col\">\n <DialogHeader>\n <DialogTitle>Select entry to embed</DialogTitle>\n </DialogHeader>\n\n {/* Search + filter bar */}\n <div className=\"octo-ref-embed__search-row\">\n <div className=\"octo-ref-embed__search-wrap\">\n <Icon.Search className=\"octo-icon-md octo-u-text-muted octo-ref-embed__search-icon\" />\n <input\n type=\"text\"\n value={searchQuery}\n onChange={(e) => setSearchQuery(e.target.value)}\n placeholder=\"Filter entries…\"\n className=\"octo-ff-reference__search-input\"\n />\n </div>\n <select\n value={collectionFilter ?? ''}\n onChange={(e) => setCollectionFilter(e.target.value || null)}\n className=\"octo-media-asset__input\"\n >\n <option value=\"\">All collections</option>\n {availableCollections.map((type) => (\n <option key={type} value={type}>\n {getCollectionLabel(type)}\n </option>\n ))}\n </select>\n </div>\n\n {/* Entry list */}\n <div className=\"octo-ref-embed__list\">\n {listPending && entries.length === 0 ? (\n <div className=\"octo-ref-embed__empty\">Loading entries…</div>\n ) : filteredEntries.length === 0 ? (\n <div className=\"octo-ref-embed__empty\">{searchQuery ? 'No matching entries' : 'No entries found'}</div>\n ) : (\n <div className=\"octo-ref-embed__divider\">\n {filteredEntries.map((entry) => {\n const refKey = toReferenceKey(entry.path);\n const isSelected = refKey === toReferenceKey(currentId);\n return (\n <button\n key={`${entry.type}-${entry.id}`}\n type=\"button\"\n onClick={() => handleSelect(entry)}\n style={{\n width: '100%',\n textAlign: 'left',\n padding: '8px 12px',\n display: 'flex',\n alignItems: 'center',\n gap: 12,\n background: isSelected ? 'color-mix(in oklab, var(--brand) 10%, transparent)' : 'transparent',\n color: isSelected ? 'var(--brand)' : 'var(--text)',\n border: 0,\n cursor: 'pointer',\n borderBottom: '1px solid var(--border)',\n }}\n >\n <Icon.FileText className=\"octo-icon-md octo-u-shrink-0 octo-u-text-muted\" />\n <div className=\"octo-ref-embed__entry-info\">\n <div className=\"octo-ref-embed__entry-title\">{entry.title}</div>\n <div className=\"octo-ref-embed__entry-meta\">{getCollectionLabel(entry.type)}</div>\n </div>\n {isSelected && <span className=\"octo-ref-embed__selected-badge\">Selected</span>}\n </button>\n );\n })}\n </div>\n )}\n </div>\n </DialogContent>\n </Dialog>\n </div>\n );\n};\n\nexport default ReferenceEmbedEditor;\n"],"mappings":"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","names":["_a"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SlashCommandMenu.d.ts","sourceRoot":"","sources":["../../../../../components/ui/FormField/richtext/SlashCommandMenu.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAExE,MAAM,MAAM,aAAa,GAAG;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB,CAAC;AAEF,KAAK,qBAAqB,GAAG;IAC3B,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC/C,QAAQ,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IACxC,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,qBAAqB,kDAgG3G"}