@happyvertical/smrt-content 0.30.0

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 (291) hide show
  1. package/AGENTS.md +194 -0
  2. package/CLAUDE.md +1 -0
  3. package/LICENSE +7 -0
  4. package/README.md +634 -0
  5. package/dist/__smrt-register__.d.ts +2 -0
  6. package/dist/__smrt-register__.d.ts.map +1 -0
  7. package/dist/asset-associable.d.ts +115 -0
  8. package/dist/asset-associable.d.ts.map +1 -0
  9. package/dist/body-format.d.ts +29 -0
  10. package/dist/body-format.d.ts.map +1 -0
  11. package/dist/body-format.js +604 -0
  12. package/dist/body-format.js.map +1 -0
  13. package/dist/content-asset.d.ts +17 -0
  14. package/dist/content-asset.d.ts.map +1 -0
  15. package/dist/content-assets.d.ts +10 -0
  16. package/dist/content-assets.d.ts.map +1 -0
  17. package/dist/content-chat-handlers.d.ts +115 -0
  18. package/dist/content-chat-handlers.d.ts.map +1 -0
  19. package/dist/content-chat-prompts.d.ts +3 -0
  20. package/dist/content-chat-prompts.d.ts.map +1 -0
  21. package/dist/content-chat-session.d.ts +26 -0
  22. package/dist/content-chat-session.d.ts.map +1 -0
  23. package/dist/content-contribution-attachment.d.ts +42 -0
  24. package/dist/content-contribution-attachment.d.ts.map +1 -0
  25. package/dist/content-contribution-attachments.d.ts +8 -0
  26. package/dist/content-contribution-attachments.d.ts.map +1 -0
  27. package/dist/content-contribution-config.d.ts +84 -0
  28. package/dist/content-contribution-config.d.ts.map +1 -0
  29. package/dist/content-contribution-revision.d.ts +38 -0
  30. package/dist/content-contribution-revision.d.ts.map +1 -0
  31. package/dist/content-contribution-revisions.d.ts +8 -0
  32. package/dist/content-contribution-revisions.d.ts.map +1 -0
  33. package/dist/content-contribution-type.d.ts +51 -0
  34. package/dist/content-contribution-type.d.ts.map +1 -0
  35. package/dist/content-contribution-types.d.ts +7 -0
  36. package/dist/content-contribution-types.d.ts.map +1 -0
  37. package/dist/content-contribution.d.ts +161 -0
  38. package/dist/content-contribution.d.ts.map +1 -0
  39. package/dist/content-contributions.d.ts +53 -0
  40. package/dist/content-contributions.d.ts.map +1 -0
  41. package/dist/content-contributor.d.ts +30 -0
  42. package/dist/content-contributor.d.ts.map +1 -0
  43. package/dist/content-contributors.d.ts +13 -0
  44. package/dist/content-contributors.d.ts.map +1 -0
  45. package/dist/content-correction.d.ts +39 -0
  46. package/dist/content-correction.d.ts.map +1 -0
  47. package/dist/content-corrections.d.ts +9 -0
  48. package/dist/content-corrections.d.ts.map +1 -0
  49. package/dist/content-editor-assistant.d.ts +68 -0
  50. package/dist/content-editor-assistant.d.ts.map +1 -0
  51. package/dist/content-editor-assistant.js +97 -0
  52. package/dist/content-editor-assistant.js.map +1 -0
  53. package/dist/content-feed-parser.d.ts +19 -0
  54. package/dist/content-feed-parser.d.ts.map +1 -0
  55. package/dist/content-feed-source.d.ts +52 -0
  56. package/dist/content-feed-source.d.ts.map +1 -0
  57. package/dist/content-feed-sources.d.ts +11 -0
  58. package/dist/content-feed-sources.d.ts.map +1 -0
  59. package/dist/content-feed-sync.d.ts +23 -0
  60. package/dist/content-feed-sync.d.ts.map +1 -0
  61. package/dist/content-governance-assignment.d.ts +42 -0
  62. package/dist/content-governance-assignment.d.ts.map +1 -0
  63. package/dist/content-governance-assignments.d.ts +11 -0
  64. package/dist/content-governance-assignments.d.ts.map +1 -0
  65. package/dist/content-governance-policies.d.ts +7 -0
  66. package/dist/content-governance-policies.d.ts.map +1 -0
  67. package/dist/content-governance-policy.d.ts +29 -0
  68. package/dist/content-governance-policy.d.ts.map +1 -0
  69. package/dist/content-governance-profile.d.ts +31 -0
  70. package/dist/content-governance-profile.d.ts.map +1 -0
  71. package/dist/content-governance-profiles.d.ts +7 -0
  72. package/dist/content-governance-profiles.d.ts.map +1 -0
  73. package/dist/content-governance.d.ts +188 -0
  74. package/dist/content-governance.d.ts.map +1 -0
  75. package/dist/content-prompts.d.ts +10 -0
  76. package/dist/content-prompts.d.ts.map +1 -0
  77. package/dist/content-reference.d.ts +17 -0
  78. package/dist/content-reference.d.ts.map +1 -0
  79. package/dist/content-references.d.ts +55 -0
  80. package/dist/content-references.d.ts.map +1 -0
  81. package/dist/content-review.d.ts +34 -0
  82. package/dist/content-review.d.ts.map +1 -0
  83. package/dist/content-reviews.d.ts +21 -0
  84. package/dist/content-reviews.d.ts.map +1 -0
  85. package/dist/content-transparency.d.ts +72 -0
  86. package/dist/content-transparency.d.ts.map +1 -0
  87. package/dist/content-types.d.ts +51 -0
  88. package/dist/content-types.d.ts.map +1 -0
  89. package/dist/content-version.d.ts +38 -0
  90. package/dist/content-version.d.ts.map +1 -0
  91. package/dist/content-versions.d.ts +16 -0
  92. package/dist/content-versions.d.ts.map +1 -0
  93. package/dist/content.d.ts +736 -0
  94. package/dist/content.d.ts.map +1 -0
  95. package/dist/contents.d.ts +292 -0
  96. package/dist/contents.d.ts.map +1 -0
  97. package/dist/database-utils.d.ts +3 -0
  98. package/dist/database-utils.d.ts.map +1 -0
  99. package/dist/index.d.ts +78 -0
  100. package/dist/index.d.ts.map +1 -0
  101. package/dist/index.js +11602 -0
  102. package/dist/index.js.map +1 -0
  103. package/dist/manifest.json +12308 -0
  104. package/dist/mock-smrt-client.d.ts +493 -0
  105. package/dist/mock-smrt-client.d.ts.map +1 -0
  106. package/dist/mock-smrt-client.js +390 -0
  107. package/dist/mock-smrt-client.js.map +1 -0
  108. package/dist/playground.d.ts +2 -0
  109. package/dist/playground.d.ts.map +1 -0
  110. package/dist/playground.js +454 -0
  111. package/dist/playground.js.map +1 -0
  112. package/dist/publish-readiness.d.ts +30 -0
  113. package/dist/publish-readiness.d.ts.map +1 -0
  114. package/dist/publish-readiness.js +74 -0
  115. package/dist/publish-readiness.js.map +1 -0
  116. package/dist/safe-remote-url.d.ts +52 -0
  117. package/dist/safe-remote-url.d.ts.map +1 -0
  118. package/dist/serialization.d.ts +78 -0
  119. package/dist/serialization.d.ts.map +1 -0
  120. package/dist/smrt-knowledge.json +6130 -0
  121. package/dist/svelte/api.d.ts +3 -0
  122. package/dist/svelte/api.d.ts.map +1 -0
  123. package/dist/svelte/api.js +10 -0
  124. package/dist/svelte/components/ArticleCard.svelte +159 -0
  125. package/dist/svelte/components/ArticleCard.svelte.d.ts +17 -0
  126. package/dist/svelte/components/ArticleCard.svelte.d.ts.map +1 -0
  127. package/dist/svelte/components/ArticleList.svelte +75 -0
  128. package/dist/svelte/components/ArticleList.svelte.d.ts +21 -0
  129. package/dist/svelte/components/ArticleList.svelte.d.ts.map +1 -0
  130. package/dist/svelte/components/ContentAgentChat.svelte +652 -0
  131. package/dist/svelte/components/ContentAgentChat.svelte.d.ts +17 -0
  132. package/dist/svelte/components/ContentAgentChat.svelte.d.ts.map +1 -0
  133. package/dist/svelte/components/ContentBodyEditor.svelte +1446 -0
  134. package/dist/svelte/components/ContentBodyEditor.svelte.d.ts +25 -0
  135. package/dist/svelte/components/ContentBodyEditor.svelte.d.ts.map +1 -0
  136. package/dist/svelte/components/ContentBodyRenderer.svelte +152 -0
  137. package/dist/svelte/components/ContentBodyRenderer.svelte.d.ts +10 -0
  138. package/dist/svelte/components/ContentBodyRenderer.svelte.d.ts.map +1 -0
  139. package/dist/svelte/components/ContentClaimAuditTool.svelte +441 -0
  140. package/dist/svelte/components/ContentClaimAuditTool.svelte.d.ts +12 -0
  141. package/dist/svelte/components/ContentClaimAuditTool.svelte.d.ts.map +1 -0
  142. package/dist/svelte/components/ContentContributionForm.svelte +226 -0
  143. package/dist/svelte/components/ContentContributionForm.svelte.d.ts +23 -0
  144. package/dist/svelte/components/ContentContributionForm.svelte.d.ts.map +1 -0
  145. package/dist/svelte/components/ContentContributionInbox.svelte +322 -0
  146. package/dist/svelte/components/ContentContributionInbox.svelte.d.ts +22 -0
  147. package/dist/svelte/components/ContentContributionInbox.svelte.d.ts.map +1 -0
  148. package/dist/svelte/components/ContentContributionPortal.svelte +182 -0
  149. package/dist/svelte/components/ContentContributionPortal.svelte.d.ts +12 -0
  150. package/dist/svelte/components/ContentContributionPortal.svelte.d.ts.map +1 -0
  151. package/dist/svelte/components/ContentContributionTypeManager.svelte +281 -0
  152. package/dist/svelte/components/ContentContributionTypeManager.svelte.d.ts +10 -0
  153. package/dist/svelte/components/ContentContributionTypeManager.svelte.d.ts.map +1 -0
  154. package/dist/svelte/components/ContentContributorManager.svelte +140 -0
  155. package/dist/svelte/components/ContentContributorManager.svelte.d.ts +10 -0
  156. package/dist/svelte/components/ContentContributorManager.svelte.d.ts.map +1 -0
  157. package/dist/svelte/components/ContentCorrectionsTool.svelte +361 -0
  158. package/dist/svelte/components/ContentCorrectionsTool.svelte.d.ts +11 -0
  159. package/dist/svelte/components/ContentCorrectionsTool.svelte.d.ts.map +1 -0
  160. package/dist/svelte/components/ContentEditor.svelte +2166 -0
  161. package/dist/svelte/components/ContentEditor.svelte.d.ts +26 -0
  162. package/dist/svelte/components/ContentEditor.svelte.d.ts.map +1 -0
  163. package/dist/svelte/components/ContentGovernanceAssignmentEditor.svelte +199 -0
  164. package/dist/svelte/components/ContentGovernanceAssignmentEditor.svelte.d.ts +11 -0
  165. package/dist/svelte/components/ContentGovernanceAssignmentEditor.svelte.d.ts.map +1 -0
  166. package/dist/svelte/components/ContentGovernanceManager.svelte +340 -0
  167. package/dist/svelte/components/ContentGovernanceManager.svelte.d.ts +11 -0
  168. package/dist/svelte/components/ContentGovernanceManager.svelte.d.ts.map +1 -0
  169. package/dist/svelte/components/ContentGovernancePanel.svelte +2244 -0
  170. package/dist/svelte/components/ContentGovernancePanel.svelte.d.ts +26 -0
  171. package/dist/svelte/components/ContentGovernancePanel.svelte.d.ts.map +1 -0
  172. package/dist/svelte/components/ContentGovernancePolicyEditor.svelte +110 -0
  173. package/dist/svelte/components/ContentGovernancePolicyEditor.svelte.d.ts +10 -0
  174. package/dist/svelte/components/ContentGovernancePolicyEditor.svelte.d.ts.map +1 -0
  175. package/dist/svelte/components/ContentGovernanceProfileEditor.svelte +185 -0
  176. package/dist/svelte/components/ContentGovernanceProfileEditor.svelte.d.ts +11 -0
  177. package/dist/svelte/components/ContentGovernanceProfileEditor.svelte.d.ts.map +1 -0
  178. package/dist/svelte/components/ContentGovernanceTool.svelte +56 -0
  179. package/dist/svelte/components/ContentGovernanceTool.svelte.d.ts +13 -0
  180. package/dist/svelte/components/ContentGovernanceTool.svelte.d.ts.map +1 -0
  181. package/dist/svelte/components/ContentImageBrowser.svelte +243 -0
  182. package/dist/svelte/components/ContentImageBrowser.svelte.d.ts +18 -0
  183. package/dist/svelte/components/ContentImageBrowser.svelte.d.ts.map +1 -0
  184. package/dist/svelte/components/ContentImageChooser.svelte +134 -0
  185. package/dist/svelte/components/ContentImageChooser.svelte.d.ts +11 -0
  186. package/dist/svelte/components/ContentImageChooser.svelte.d.ts.map +1 -0
  187. package/dist/svelte/components/ContentList.svelte +906 -0
  188. package/dist/svelte/components/ContentList.svelte.d.ts +16 -0
  189. package/dist/svelte/components/ContentList.svelte.d.ts.map +1 -0
  190. package/dist/svelte/components/ContentMetadataFields.svelte +107 -0
  191. package/dist/svelte/components/ContentMetadataFields.svelte.d.ts +8 -0
  192. package/dist/svelte/components/ContentMetadataFields.svelte.d.ts.map +1 -0
  193. package/dist/svelte/components/ContentReferencesPanel.svelte +221 -0
  194. package/dist/svelte/components/ContentReferencesPanel.svelte.d.ts +20 -0
  195. package/dist/svelte/components/ContentReferencesPanel.svelte.d.ts.map +1 -0
  196. package/dist/svelte/components/ContentReviewStatusTray.svelte +151 -0
  197. package/dist/svelte/components/ContentReviewStatusTray.svelte.d.ts +20 -0
  198. package/dist/svelte/components/ContentReviewStatusTray.svelte.d.ts.map +1 -0
  199. package/dist/svelte/components/ContentStatusFields.svelte +85 -0
  200. package/dist/svelte/components/ContentStatusFields.svelte.d.ts +8 -0
  201. package/dist/svelte/components/ContentStatusFields.svelte.d.ts.map +1 -0
  202. package/dist/svelte/components/ContentTitleField.svelte +54 -0
  203. package/dist/svelte/components/ContentTitleField.svelte.d.ts +10 -0
  204. package/dist/svelte/components/ContentTitleField.svelte.d.ts.map +1 -0
  205. package/dist/svelte/components/ContentTransparencyReport.svelte +322 -0
  206. package/dist/svelte/components/ContentTransparencyReport.svelte.d.ts +10 -0
  207. package/dist/svelte/components/ContentTransparencyReport.svelte.d.ts.map +1 -0
  208. package/dist/svelte/components/ContentTransparencyTool.svelte +314 -0
  209. package/dist/svelte/components/ContentTransparencyTool.svelte.d.ts +10 -0
  210. package/dist/svelte/components/ContentTransparencyTool.svelte.d.ts.map +1 -0
  211. package/dist/svelte/components/ContentVersionsTool.svelte +291 -0
  212. package/dist/svelte/components/ContentVersionsTool.svelte.d.ts +10 -0
  213. package/dist/svelte/components/ContentVersionsTool.svelte.d.ts.map +1 -0
  214. package/dist/svelte/components/GovernedContentEditor.svelte +409 -0
  215. package/dist/svelte/components/GovernedContentEditor.svelte.d.ts +35 -0
  216. package/dist/svelte/components/GovernedContentEditor.svelte.d.ts.map +1 -0
  217. package/dist/svelte/components/ImageThumbnail.cache.d.ts +14 -0
  218. package/dist/svelte/components/ImageThumbnail.cache.d.ts.map +1 -0
  219. package/dist/svelte/components/ImageThumbnail.cache.js +36 -0
  220. package/dist/svelte/components/ImageThumbnail.svelte +159 -0
  221. package/dist/svelte/components/ImageThumbnail.svelte.d.ts +8 -0
  222. package/dist/svelte/components/ImageThumbnail.svelte.d.ts.map +1 -0
  223. package/dist/svelte/components/Markdown.svelte +125 -0
  224. package/dist/svelte/components/Markdown.svelte.d.ts +11 -0
  225. package/dist/svelte/components/Markdown.svelte.d.ts.map +1 -0
  226. package/dist/svelte/content-editor-form.d.ts +63 -0
  227. package/dist/svelte/content-editor-form.d.ts.map +1 -0
  228. package/dist/svelte/content-editor-form.js +94 -0
  229. package/dist/svelte/content-editor-media.d.ts +12 -0
  230. package/dist/svelte/content-editor-media.d.ts.map +1 -0
  231. package/dist/svelte/content-editor-media.js +84 -0
  232. package/dist/svelte/content-editor-state.svelte.d.ts +35 -0
  233. package/dist/svelte/content-editor-state.svelte.d.ts.map +1 -0
  234. package/dist/svelte/content-editor-state.svelte.js +141 -0
  235. package/dist/svelte/governance-manager-client.d.ts +22 -0
  236. package/dist/svelte/governance-manager-client.d.ts.map +1 -0
  237. package/dist/svelte/governance-manager-client.js +1 -0
  238. package/dist/svelte/i18n.contribution.d.ts +57 -0
  239. package/dist/svelte/i18n.contribution.d.ts.map +1 -0
  240. package/dist/svelte/i18n.contribution.js +64 -0
  241. package/dist/svelte/i18n.editor.d.ts +71 -0
  242. package/dist/svelte/i18n.editor.d.ts.map +1 -0
  243. package/dist/svelte/i18n.editor.js +87 -0
  244. package/dist/svelte/i18n.governance.d.ts +66 -0
  245. package/dist/svelte/i18n.governance.d.ts.map +1 -0
  246. package/dist/svelte/i18n.governance.js +66 -0
  247. package/dist/svelte/i18n.routes.d.ts +66 -0
  248. package/dist/svelte/i18n.routes.d.ts.map +1 -0
  249. package/dist/svelte/i18n.routes.js +75 -0
  250. package/dist/svelte/i18n.tools.d.ts +81 -0
  251. package/dist/svelte/i18n.tools.d.ts.map +1 -0
  252. package/dist/svelte/i18n.tools.js +90 -0
  253. package/dist/svelte/index.d.ts +101 -0
  254. package/dist/svelte/index.d.ts.map +1 -0
  255. package/dist/svelte/index.js +63 -0
  256. package/dist/svelte/playground.d.ts +281 -0
  257. package/dist/svelte/playground.d.ts.map +1 -0
  258. package/dist/svelte/playground.js +438 -0
  259. package/dist/svelte/routes/ContentContributionsRoute.svelte +809 -0
  260. package/dist/svelte/routes/ContentContributionsRoute.svelte.d.ts +10 -0
  261. package/dist/svelte/routes/ContentContributionsRoute.svelte.d.ts.map +1 -0
  262. package/dist/svelte/routes/ContentFactsRoute.svelte +612 -0
  263. package/dist/svelte/routes/ContentFactsRoute.svelte.d.ts +11 -0
  264. package/dist/svelte/routes/ContentFactsRoute.svelte.d.ts.map +1 -0
  265. package/dist/svelte/routes/ContentGovernanceRoute.svelte +218 -0
  266. package/dist/svelte/routes/ContentGovernanceRoute.svelte.d.ts +10 -0
  267. package/dist/svelte/routes/ContentGovernanceRoute.svelte.d.ts.map +1 -0
  268. package/dist/svelte/routes/ContentWorkspaceRoute.svelte +431 -0
  269. package/dist/svelte/routes/ContentWorkspaceRoute.svelte.d.ts +12 -0
  270. package/dist/svelte/routes/ContentWorkspaceRoute.svelte.d.ts.map +1 -0
  271. package/dist/svelte/routes/PublishedArticleRoute.svelte +194 -0
  272. package/dist/svelte/routes/PublishedArticleRoute.svelte.d.ts +10 -0
  273. package/dist/svelte/routes/PublishedArticleRoute.svelte.d.ts.map +1 -0
  274. package/dist/svelte/routes/index.d.ts +8 -0
  275. package/dist/svelte/routes/index.d.ts.map +1 -0
  276. package/dist/svelte/routes/index.js +6 -0
  277. package/dist/svelte/routes/shared.d.ts +90 -0
  278. package/dist/svelte/routes/shared.d.ts.map +1 -0
  279. package/dist/svelte/routes/shared.js +104 -0
  280. package/dist/svelte/types.d.ts +69 -0
  281. package/dist/svelte/types.d.ts.map +1 -0
  282. package/dist/svelte/types.js +6 -0
  283. package/dist/thumbnail-generator.d.ts +174 -0
  284. package/dist/thumbnail-generator.d.ts.map +1 -0
  285. package/dist/ui.d.ts +10 -0
  286. package/dist/ui.d.ts.map +1 -0
  287. package/dist/ui.js +42 -0
  288. package/dist/ui.js.map +1 -0
  289. package/dist/utils.d.ts +18 -0
  290. package/dist/utils.d.ts.map +1 -0
  291. package/package.json +119 -0
@@ -0,0 +1,16 @@
1
+ import type { Snippet } from 'svelte';
2
+ type $$ComponentProps = {
3
+ apiBaseUrl?: string;
4
+ contents: any[];
5
+ type?: string;
6
+ defaultViewMode?: 'grid' | 'detailed' | 'compact';
7
+ onEdit: (content: any) => void;
8
+ onDelete: (content: any) => void;
9
+ onAdd: () => void;
10
+ controls?: Snippet;
11
+ getViewHref?: (content: any) => string | null;
12
+ };
13
+ declare const ContentList: import("svelte").Component<$$ComponentProps, {}, "">;
14
+ type ContentList = ReturnType<typeof ContentList>;
15
+ export default ContentList;
16
+ //# sourceMappingURL=ContentList.svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContentList.svelte.d.ts","sourceRoot":"","sources":["../../../src/svelte/components/ContentList.svelte.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAKrC,KAAK,gBAAgB,GAAG;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,GAAG,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IAClD,MAAM,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,CAAC;IAC/B,QAAQ,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,CAAC;IACjC,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,MAAM,GAAG,IAAI,CAAC;CAC/C,CAAC;AA6VF,QAAA,MAAM,WAAW,sDAAwC,CAAC;AAC1D,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;AAClD,eAAe,WAAW,CAAC"}
@@ -0,0 +1,107 @@
1
+ <script lang="ts">
2
+ import { useI18n } from '@happyvertical/smrt-ui/i18n';
3
+ import { M } from '../i18n.editor.js';
4
+
5
+ const { t } = useI18n();
6
+
7
+ export interface Props {
8
+ data: Record<string, any>;
9
+ onChange?: (change: Record<string, unknown>) => void;
10
+ }
11
+
12
+ let { data, onChange = undefined }: Props = $props();
13
+
14
+ const tagsValue = $derived(
15
+ Array.isArray(data.tags) ? data.tags.join(', ') : String(data.tags || ''),
16
+ );
17
+
18
+ function updateField(key: string, value: unknown) {
19
+ onChange?.({ [key]: value });
20
+ }
21
+
22
+ function updateTags(value: string) {
23
+ updateField(
24
+ 'tags',
25
+ value
26
+ .split(',')
27
+ .map((tag) => tag.trim())
28
+ .filter(Boolean),
29
+ );
30
+ }
31
+ </script>
32
+
33
+ <div class="content-metadata-fields">
34
+ <label>
35
+ <span>Author</span>
36
+ <input
37
+ type="text"
38
+ value={data.author || ''}
39
+ oninput={(event) => updateField('author', event.currentTarget.value)}
40
+ />
41
+ </label>
42
+ <label>
43
+ <span>Description</span>
44
+ <textarea
45
+ rows="4"
46
+ value={data.description || ''}
47
+ oninput={(event) => updateField('description', event.currentTarget.value)}
48
+ ></textarea>
49
+ </label>
50
+ <label>
51
+ <span>Tags</span>
52
+ <input
53
+ type="text"
54
+ value={tagsValue}
55
+ placeholder={t(M['content.content_metadata_fields.tags_placeholder'])}
56
+ oninput={(event) => updateTags(event.currentTarget.value)}
57
+ />
58
+ </label>
59
+ <label>
60
+ <span>URL</span>
61
+ <input
62
+ type="url"
63
+ value={data.url || ''}
64
+ oninput={(event) => updateField('url', event.currentTarget.value)}
65
+ />
66
+ </label>
67
+ <label>
68
+ <span>{t(M['content.content_metadata_fields.file_key'])}</span>
69
+ <input
70
+ type="text"
71
+ value={data.fileKey || ''}
72
+ oninput={(event) => updateField('fileKey', event.currentTarget.value)}
73
+ />
74
+ </label>
75
+ </div>
76
+
77
+ <style>
78
+ .content-metadata-fields {
79
+ display: grid;
80
+ gap: 1rem;
81
+ }
82
+
83
+ label {
84
+ display: grid;
85
+ gap: 0.45rem;
86
+ color: var(--smrt-color-on-surface-variant);
87
+ font-size: var(--smrt-typography-label-large-size, 0.875rem);
88
+ font-weight: var(--smrt-typography-weight-medium, 500);
89
+ }
90
+
91
+ input,
92
+ textarea {
93
+ width: 100%;
94
+ box-sizing: border-box;
95
+ border: 1px solid color-mix(in srgb, var(--smrt-color-outline) 50%, transparent);
96
+ border-radius: 0.5rem;
97
+ background: var(--smrt-color-surface-container-low);
98
+ color: var(--smrt-color-on-surface);
99
+ font: inherit;
100
+ padding: 0.75rem 0.875rem;
101
+ }
102
+
103
+ textarea {
104
+ min-height: 7rem;
105
+ resize: vertical;
106
+ }
107
+ </style>
@@ -0,0 +1,8 @@
1
+ export interface Props {
2
+ data: Record<string, any>;
3
+ onChange?: (change: Record<string, unknown>) => void;
4
+ }
5
+ declare const ContentMetadataFields: import("svelte").Component<Props, {}, "">;
6
+ type ContentMetadataFields = ReturnType<typeof ContentMetadataFields>;
7
+ export default ContentMetadataFields;
8
+ //# sourceMappingURL=ContentMetadataFields.svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContentMetadataFields.svelte.d.ts","sourceRoot":"","sources":["../../../src/svelte/components/ContentMetadataFields.svelte.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1B,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CACtD;AAwDD,QAAA,MAAM,qBAAqB,2CAAwC,CAAC;AACpE,KAAK,qBAAqB,GAAG,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACtE,eAAe,qBAAqB,CAAC"}
@@ -0,0 +1,221 @@
1
+ <script lang="ts">
2
+ import { useI18n } from '@happyvertical/smrt-ui/i18n';
3
+ import type { Snippet } from 'svelte';
4
+ import type { ContentEditorReference } from '../content-editor-form';
5
+ import { M } from '../i18n.editor.js';
6
+
7
+ const { t } = useI18n();
8
+
9
+ export interface Props {
10
+ referenceIds?: string[];
11
+ references?: ContentEditorReference[];
12
+ onReferenceIdsChange?: (referenceIds: string[]) => void;
13
+ /**
14
+ * Optional snippet rendered inside the panel beneath the references list
15
+ * and the "add reference by ID" input. Host applications use this to inject
16
+ * a richer picker (browsing a tenant asset pool, searching an external
17
+ * archive, etc.) without forking the component. The snippet is responsible
18
+ * for calling `onReferenceIdsChange` (or otherwise mutating the parent
19
+ * state) when the user selects an entry.
20
+ */
21
+ children?: Snippet;
22
+ }
23
+
24
+ let {
25
+ referenceIds = [],
26
+ references = [],
27
+ onReferenceIdsChange = undefined,
28
+ children = undefined,
29
+ }: Props = $props();
30
+
31
+ let newReferenceId = $state('');
32
+
33
+ const visibleReferences = $derived(
34
+ references.length
35
+ ? references
36
+ : referenceIds.map((id) => ({ id, title: id })),
37
+ );
38
+
39
+ function getReferenceLabel(reference: ContentEditorReference): string {
40
+ return String(
41
+ reference?.title ||
42
+ reference?.name ||
43
+ reference?.url ||
44
+ reference?.source ||
45
+ reference?.id ||
46
+ 'Reference',
47
+ );
48
+ }
49
+
50
+ function getReferenceUrl(reference: ContentEditorReference): string {
51
+ return String(
52
+ reference?.url || reference?.originalUrl || reference?.source || '',
53
+ );
54
+ }
55
+
56
+ function getSafeReferenceUrl(reference: ContentEditorReference): string {
57
+ const url = getReferenceUrl(reference).trim();
58
+ if (!url) {
59
+ return '';
60
+ }
61
+
62
+ try {
63
+ const parsed = new URL(url);
64
+ return parsed.protocol === 'http:' || parsed.protocol === 'https:'
65
+ ? parsed.href
66
+ : '';
67
+ } catch {
68
+ return '';
69
+ }
70
+ }
71
+
72
+ function addReference() {
73
+ const id = newReferenceId.trim();
74
+ if (!id || referenceIds.includes(id)) {
75
+ return;
76
+ }
77
+ onReferenceIdsChange?.([...referenceIds, id]);
78
+ newReferenceId = '';
79
+ }
80
+
81
+ function removeReference(id: string) {
82
+ onReferenceIdsChange?.(
83
+ referenceIds.filter((referenceId) => referenceId !== id),
84
+ );
85
+ }
86
+ </script>
87
+
88
+ <div class="content-references-panel">
89
+ {#if visibleReferences.length}
90
+ <div class="reference-list">
91
+ {#each visibleReferences as reference, index (reference.id || getSafeReferenceUrl(reference) || `${getReferenceLabel(reference)}-${index}`)}
92
+ {@const safeUrl = getSafeReferenceUrl(reference)}
93
+ {@const referenceId = typeof reference.id === 'string' ? reference.id : ''}
94
+ <div class="reference-row">
95
+ <div class="reference-copy">
96
+ <strong>{getReferenceLabel(reference)}</strong>
97
+ {#if safeUrl}
98
+ <a href={safeUrl} target="_blank" rel="noreferrer">{safeUrl}</a>
99
+ {/if}
100
+ </div>
101
+ {#if referenceId}
102
+ <button type="button" onclick={() => removeReference(referenceId)}>Remove</button>
103
+ {/if}
104
+ </div>
105
+ {/each}
106
+ </div>
107
+ {:else}
108
+ <p class="empty-state">{t(M['content.content_references_panel.no_references'])}</p>
109
+ {/if}
110
+
111
+ <div class="reference-input-row">
112
+ <input
113
+ type="text"
114
+ aria-label={t(M['content.content_references_panel.add_reference_by_id_or_url'])}
115
+ placeholder={t(M['content.content_references_panel.reference_id_or_url_placeholder'])}
116
+ bind:value={newReferenceId}
117
+ onkeydown={(event) => {
118
+ if (event.key === 'Enter') {
119
+ event.preventDefault();
120
+ addReference();
121
+ }
122
+ }}
123
+ />
124
+ <button type="button" onclick={addReference}>Add</button>
125
+ </div>
126
+
127
+ {#if children}
128
+ <div class="reference-extras">
129
+ {@render children()}
130
+ </div>
131
+ {/if}
132
+ </div>
133
+
134
+ <style>
135
+ .content-references-panel {
136
+ display: grid;
137
+ gap: 0.875rem;
138
+ padding: 1rem;
139
+ border: 1px dashed color-mix(in srgb, var(--smrt-color-outline) 45%, transparent);
140
+ border-radius: 0.5rem;
141
+ }
142
+
143
+ .empty-state {
144
+ margin: 0;
145
+ color: var(--smrt-color-on-surface-variant);
146
+ font-size: var(--smrt-typography-body-medium-size, 0.875rem);
147
+ font-style: italic;
148
+ }
149
+
150
+ .reference-list {
151
+ display: grid;
152
+ gap: 0.65rem;
153
+ }
154
+
155
+ .reference-row {
156
+ display: flex;
157
+ align-items: center;
158
+ justify-content: space-between;
159
+ gap: 1rem;
160
+ padding: 0.75rem;
161
+ border: 1px solid color-mix(in srgb, var(--smrt-color-outline) 28%, transparent);
162
+ border-radius: 0.5rem;
163
+ background: var(--smrt-color-surface-container-low);
164
+ }
165
+
166
+ .reference-copy {
167
+ display: grid;
168
+ gap: 0.2rem;
169
+ min-width: 0;
170
+ }
171
+
172
+ .reference-copy strong,
173
+ .reference-copy a {
174
+ overflow: hidden;
175
+ text-overflow: ellipsis;
176
+ white-space: nowrap;
177
+ }
178
+
179
+ .reference-copy strong {
180
+ color: var(--smrt-color-on-surface);
181
+ font-size: var(--smrt-typography-title-small-size, 0.875rem);
182
+ }
183
+
184
+ .reference-copy a {
185
+ color: var(--smrt-color-primary);
186
+ font-size: var(--smrt-typography-body-medium-size, 0.8125rem);
187
+ text-decoration: none;
188
+ }
189
+
190
+ .reference-input-row {
191
+ display: grid;
192
+ grid-template-columns: minmax(0, 1fr) auto;
193
+ gap: 0.5rem;
194
+ }
195
+
196
+ .reference-extras {
197
+ display: grid;
198
+ gap: 0.65rem;
199
+ }
200
+
201
+ input,
202
+ button {
203
+ min-height: 2.5rem;
204
+ border: 1px solid color-mix(in srgb, var(--smrt-color-outline) 50%, transparent);
205
+ border-radius: 0.5rem;
206
+ background: var(--smrt-color-surface-container-low);
207
+ color: var(--smrt-color-on-surface);
208
+ font: inherit;
209
+ padding: 0.55rem 0.875rem;
210
+ }
211
+
212
+ button {
213
+ background: var(--smrt-color-surface-container);
214
+ cursor: pointer;
215
+ font-weight: var(--smrt-typography-weight-semibold, 600);
216
+ }
217
+
218
+ button:hover {
219
+ background: var(--smrt-color-surface-container-high);
220
+ }
221
+ </style>
@@ -0,0 +1,20 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { ContentEditorReference } from '../content-editor-form';
3
+ export interface Props {
4
+ referenceIds?: string[];
5
+ references?: ContentEditorReference[];
6
+ onReferenceIdsChange?: (referenceIds: string[]) => void;
7
+ /**
8
+ * Optional snippet rendered inside the panel beneath the references list
9
+ * and the "add reference by ID" input. Host applications use this to inject
10
+ * a richer picker (browsing a tenant asset pool, searching an external
11
+ * archive, etc.) without forking the component. The snippet is responsible
12
+ * for calling `onReferenceIdsChange` (or otherwise mutating the parent
13
+ * state) when the user selects an entry.
14
+ */
15
+ children?: Snippet;
16
+ }
17
+ declare const ContentReferencesPanel: import("svelte").Component<Props, {}, "">;
18
+ type ContentReferencesPanel = ReturnType<typeof ContentReferencesPanel>;
19
+ export default ContentReferencesPanel;
20
+ //# sourceMappingURL=ContentReferencesPanel.svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContentReferencesPanel.svelte.d.ts","sourceRoot":"","sources":["../../../src/svelte/components/ContentReferencesPanel.svelte.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAIrE,MAAM,WAAW,KAAK;IACpB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACtC,oBAAoB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACxD;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAsHD,QAAA,MAAM,sBAAsB,2CAAwC,CAAC;AACrE,KAAK,sBAAsB,GAAG,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACxE,eAAe,sBAAsB,CAAC"}
@@ -0,0 +1,151 @@
1
+ <script lang="ts">
2
+ export type ContentReviewStatusTone =
3
+ | 'neutral'
4
+ | 'danger'
5
+ | 'warning'
6
+ | 'success';
7
+ export type ContentReviewStatusIcon = 'content' | 'facts' | 'safety' | 'custom';
8
+
9
+ export interface ContentReviewStatusTrayItem {
10
+ id: string;
11
+ icon: ContentReviewStatusIcon;
12
+ label: string;
13
+ tone: ContentReviewStatusTone;
14
+ status: string;
15
+ }
16
+
17
+ export interface Props {
18
+ items?: ContentReviewStatusTrayItem[];
19
+ activeId?: string | null;
20
+ open?: boolean;
21
+ label?: string;
22
+ onSelect?: (item: ContentReviewStatusTrayItem) => void;
23
+ }
24
+
25
+ let {
26
+ items = [],
27
+ activeId = null,
28
+ open = false,
29
+ label = 'Review status',
30
+ onSelect = undefined,
31
+ }: Props = $props();
32
+ </script>
33
+
34
+ {#snippet trayIcon(icon: ContentReviewStatusIcon)}
35
+ {#if icon === 'content'}
36
+ <svg viewBox="0 0 24 24" aria-hidden="true">
37
+ <path d="M9 11l2 2 4-4"></path>
38
+ <path d="M8 5h8"></path>
39
+ <path d="M8 19h8"></path>
40
+ <path d="M5 7h14"></path>
41
+ <path d="M5 17h14"></path>
42
+ </svg>
43
+ {:else if icon === 'facts'}
44
+ <svg viewBox="0 0 24 24" aria-hidden="true">
45
+ <path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8Z"></path>
46
+ <path d="M14 2v6h6"></path>
47
+ <path d="M9 15h6"></path>
48
+ <path d="M9 11h2"></path>
49
+ </svg>
50
+ {:else if icon === 'safety'}
51
+ <svg viewBox="0 0 24 24" aria-hidden="true">
52
+ <path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10Z"></path>
53
+ <path d="m9 12 2 2 4-4"></path>
54
+ </svg>
55
+ {:else}
56
+ <svg viewBox="0 0 24 24" aria-hidden="true">
57
+ <path d="m12 3 1.8 4.2L18 9l-4.2 1.8L12 15l-1.8-4.2L6 9l4.2-1.8Z"></path>
58
+ <path d="m5 15 .9 2.1L8 18l-2.1.9L5 21l-.9-2.1L2 18l2.1-.9Z"></path>
59
+ <path d="m19 14 .9 2.1L22 17l-2.1.9L19 20l-.9-2.1L16 17l2.1-.9Z"></path>
60
+ </svg>
61
+ {/if}
62
+ {/snippet}
63
+
64
+ {#if items.length > 0}
65
+ <div class="content-review-status-tray" role="group" aria-label={label}>
66
+ {#each items as item (item.id)}
67
+ <button
68
+ type="button"
69
+ aria-pressed={activeId === item.id && open}
70
+ class={`tray-button tray-button--${item.tone}`}
71
+ class:active={activeId === item.id && open}
72
+ title={`${item.label}: ${item.status}`}
73
+ onclick={() => onSelect?.(item)}
74
+ >
75
+ {@render trayIcon(item.icon)}
76
+ <span class="tray-button__indicator" aria-hidden="true"></span>
77
+ <span class="sr-only">{item.label}: {item.status}</span>
78
+ </button>
79
+ {/each}
80
+ </div>
81
+ {/if}
82
+
83
+ <style>
84
+ .content-review-status-tray {
85
+ display: inline-flex;
86
+ align-items: center;
87
+ gap: 0.35rem;
88
+ min-height: 2.5rem;
89
+ }
90
+
91
+ .tray-button {
92
+ position: relative;
93
+ display: inline-grid;
94
+ place-items: center;
95
+ width: 2.5rem;
96
+ height: 2.5rem;
97
+ border: 1px solid var(--smrt-color-outline-variant);
98
+ border-radius: 0.55rem;
99
+ background: var(--smrt-color-surface-container-low);
100
+ color: var(--smrt-color-on-surface-variant);
101
+ cursor: pointer;
102
+ padding: 0;
103
+ }
104
+
105
+ .tray-button:hover,
106
+ .tray-button.active {
107
+ background: var(--smrt-color-surface-container);
108
+ color: var(--smrt-color-on-surface);
109
+ }
110
+
111
+ .tray-button svg {
112
+ width: 1.15rem;
113
+ height: 1.15rem;
114
+ fill: none;
115
+ stroke: currentColor;
116
+ stroke-width: 1.9;
117
+ stroke-linecap: round;
118
+ stroke-linejoin: round;
119
+ }
120
+
121
+ .tray-button__indicator {
122
+ position: absolute;
123
+ right: 0.35rem;
124
+ bottom: 0.35rem;
125
+ width: 0.45rem;
126
+ height: 0.45rem;
127
+ border-radius: var(--smrt-radius-full, 9999px);
128
+ background: var(--smrt-color-outline);
129
+ }
130
+
131
+ .tray-button--danger .tray-button__indicator {
132
+ background: var(--smrt-color-error);
133
+ }
134
+
135
+ .tray-button--warning .tray-button__indicator {
136
+ background: var(--smrt-color-tertiary, #d97706);
137
+ }
138
+
139
+ .tray-button--success .tray-button__indicator {
140
+ background: var(--smrt-color-primary);
141
+ }
142
+
143
+ .sr-only {
144
+ position: absolute;
145
+ width: 1px;
146
+ height: 1px;
147
+ overflow: hidden;
148
+ clip: rect(0, 0, 0, 0);
149
+ white-space: nowrap;
150
+ }
151
+ </style>
@@ -0,0 +1,20 @@
1
+ export type ContentReviewStatusTone = 'neutral' | 'danger' | 'warning' | 'success';
2
+ export type ContentReviewStatusIcon = 'content' | 'facts' | 'safety' | 'custom';
3
+ export interface ContentReviewStatusTrayItem {
4
+ id: string;
5
+ icon: ContentReviewStatusIcon;
6
+ label: string;
7
+ tone: ContentReviewStatusTone;
8
+ status: string;
9
+ }
10
+ export interface Props {
11
+ items?: ContentReviewStatusTrayItem[];
12
+ activeId?: string | null;
13
+ open?: boolean;
14
+ label?: string;
15
+ onSelect?: (item: ContentReviewStatusTrayItem) => void;
16
+ }
17
+ declare const ContentReviewStatusTray: import("svelte").Component<Props, {}, "">;
18
+ type ContentReviewStatusTray = ReturnType<typeof ContentReviewStatusTray>;
19
+ export default ContentReviewStatusTray;
20
+ //# sourceMappingURL=ContentReviewStatusTray.svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContentReviewStatusTray.svelte.d.ts","sourceRoot":"","sources":["../../../src/svelte/components/ContentReviewStatusTray.svelte.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,uBAAuB,GAC/B,SAAS,GACT,QAAQ,GACR,SAAS,GACT,SAAS,CAAC;AACd,MAAM,MAAM,uBAAuB,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEhF,MAAM,WAAW,2BAA2B;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,uBAAuB,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,uBAAuB,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,KAAK;IACpB,KAAK,CAAC,EAAE,2BAA2B,EAAE,CAAC;IACtC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,2BAA2B,KAAK,IAAI,CAAC;CACxD;AA8DD,QAAA,MAAM,uBAAuB,2CAAwC,CAAC;AACtE,KAAK,uBAAuB,GAAG,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAC1E,eAAe,uBAAuB,CAAC"}
@@ -0,0 +1,85 @@
1
+ <script lang="ts">
2
+ import { useI18n } from '@happyvertical/smrt-ui/i18n';
3
+ import { M } from '../i18n.editor.js';
4
+
5
+ const { t } = useI18n();
6
+
7
+ export interface Props {
8
+ data: Record<string, any>;
9
+ onChange?: (change: Record<string, unknown>) => void;
10
+ }
11
+
12
+ let { data, onChange = undefined }: Props = $props();
13
+
14
+ function updateField(key: string, value: unknown) {
15
+ onChange?.({ [key]: value });
16
+ }
17
+ </script>
18
+
19
+ <div class="content-status-fields">
20
+ <label>
21
+ <span>Type</span>
22
+ <select value={data.type || 'article'} onchange={(event) => updateField('type', event.currentTarget.value)}>
23
+ <option value="article">Article</option>
24
+ <option value="document">Document</option>
25
+ <option value="mirror">Mirror</option>
26
+ <option value="video-segment">{t(M['content.content_status_fields.video_segment'])}</option>
27
+ </select>
28
+ </label>
29
+ <label>
30
+ <span>State</span>
31
+ <select value={data.state || 'active'} onchange={(event) => updateField('state', event.currentTarget.value)}>
32
+ <option value="active">Active</option>
33
+ <option value="highlighted">Highlighted</option>
34
+ <option value="deprecated">Deprecated</option>
35
+ </select>
36
+ </label>
37
+ <label>
38
+ <span>Status</span>
39
+ <select value={data.status || 'draft'} onchange={(event) => updateField('status', event.currentTarget.value)}>
40
+ <option value="draft">Draft</option>
41
+ <option value="review">Review</option>
42
+ <option value="published">Published</option>
43
+ <option value="archived">Archived</option>
44
+ </select>
45
+ </label>
46
+ <label>
47
+ <span>Published</span>
48
+ <input
49
+ type="datetime-local"
50
+ value={data.publish_date || ''}
51
+ onchange={(event) => updateField('publish_date', event.currentTarget.value)}
52
+ />
53
+ </label>
54
+ </div>
55
+
56
+ <style>
57
+ .content-status-fields {
58
+ display: flex;
59
+ align-items: end;
60
+ flex-wrap: wrap;
61
+ gap: 0.75rem;
62
+ }
63
+
64
+ label {
65
+ display: grid;
66
+ gap: 0.35rem;
67
+ min-width: 8.5rem;
68
+ color: var(--smrt-color-on-surface-variant);
69
+ font-size: var(--smrt-typography-label-medium-size, 0.75rem);
70
+ font-weight: var(--smrt-typography-weight-semibold, 600);
71
+ }
72
+
73
+ select,
74
+ input {
75
+ min-height: 2.5rem;
76
+ border: 1px solid color-mix(in srgb, var(--smrt-color-outline) 50%, transparent);
77
+ border-radius: 0.5rem;
78
+ background: var(--smrt-color-surface-container-low);
79
+ color: var(--smrt-color-on-surface);
80
+ font: inherit;
81
+ font-size: var(--smrt-typography-body-medium-size, 0.875rem);
82
+ font-weight: var(--smrt-typography-weight-medium, 500);
83
+ padding: 0.55rem 0.75rem;
84
+ }
85
+ </style>
@@ -0,0 +1,8 @@
1
+ export interface Props {
2
+ data: Record<string, any>;
3
+ onChange?: (change: Record<string, unknown>) => void;
4
+ }
5
+ declare const ContentStatusFields: import("svelte").Component<Props, {}, "">;
6
+ type ContentStatusFields = ReturnType<typeof ContentStatusFields>;
7
+ export default ContentStatusFields;
8
+ //# sourceMappingURL=ContentStatusFields.svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContentStatusFields.svelte.d.ts","sourceRoot":"","sources":["../../../src/svelte/components/ContentStatusFields.svelte.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1B,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CACtD;AAoDD,QAAA,MAAM,mBAAmB,2CAAwC,CAAC;AAClE,KAAK,mBAAmB,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAClE,eAAe,mBAAmB,CAAC"}