@tetherto/dev-websites-core 0.3.6 → 0.3.8

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 (66) hide show
  1. package/README.md +1 -1
  2. package/dist/cache/handler.d.mts.map +1 -1
  3. package/dist/cms/index.d.mts +2 -2
  4. package/dist/cms/index.mjs +2 -2
  5. package/dist/cms.mjs +44 -9
  6. package/dist/cms.mjs.map +1 -1
  7. package/dist/i18n/index.mjs +1 -2
  8. package/dist/index.d.mts +15 -4
  9. package/dist/index.d.mts.map +1 -1
  10. package/dist/index.mjs +2 -2
  11. package/dist/index5.d.mts +2 -2
  12. package/dist/ui/carousel/index.mjs +1 -2
  13. package/dist/ui/components/Accordion/index.mjs +1 -2
  14. package/dist/ui/components/Avatar/index.mjs +1 -2
  15. package/dist/ui/components/Badge/index.mjs +1 -2
  16. package/dist/ui/components/BadgeVersion/index.mjs +1 -2
  17. package/dist/ui/components/Button/index.mjs +1 -2
  18. package/dist/ui/components/Card/index.mjs +1 -2
  19. package/dist/ui/components/Carousel/index.mjs +1 -2
  20. package/dist/ui/components/Checkbox/index.mjs +1 -2
  21. package/dist/ui/components/CodeBlock/index.mjs +1 -2
  22. package/dist/ui/components/CodeBlockTabs/index.mjs +1 -2
  23. package/dist/ui/components/CollapsibleSection/index.mjs +1 -2
  24. package/dist/ui/components/CopyButton/index.mjs +1 -2
  25. package/dist/ui/components/CustomHtml/CustomHtml.d.mts +8 -0
  26. package/dist/ui/components/CustomHtml/CustomHtml.d.mts.map +1 -0
  27. package/dist/ui/components/CustomHtml/CustomHtml.mjs +31 -0
  28. package/dist/ui/components/CustomHtml/CustomHtml.mjs.map +1 -0
  29. package/dist/ui/components/CustomHtml/converters.d.mts +14 -0
  30. package/dist/ui/components/CustomHtml/converters.d.mts.map +1 -0
  31. package/dist/ui/components/CustomHtml/converters.mjs +9 -0
  32. package/dist/ui/components/CustomHtml/converters.mjs.map +1 -0
  33. package/dist/ui/components/CustomHtml/index.d.mts +3 -0
  34. package/dist/ui/components/CustomHtml/index.mjs +3 -0
  35. package/dist/ui/components/Dialog/index.mjs +1 -2
  36. package/dist/ui/components/EmptyState/index.mjs +1 -2
  37. package/dist/ui/components/FieldError/index.mjs +1 -2
  38. package/dist/ui/components/FormattedDate/index.mjs +1 -2
  39. package/dist/ui/components/GoogleOAuthButton/index.mjs +1 -2
  40. package/dist/ui/components/IconButton/index.mjs +1 -2
  41. package/dist/ui/components/Input/index.mjs +1 -2
  42. package/dist/ui/components/Label/index.mjs +1 -2
  43. package/dist/ui/components/LazyVideo/index.mjs +1 -2
  44. package/dist/ui/components/Pagination/index.mjs +1 -2
  45. package/dist/ui/components/PaginationItem/index.mjs +1 -2
  46. package/dist/ui/components/PasswordInput/index.mjs +1 -2
  47. package/dist/ui/components/ProgressStepper/index.mjs +1 -2
  48. package/dist/ui/components/Prose/index.mjs +1 -2
  49. package/dist/ui/components/Radio/index.mjs +1 -2
  50. package/dist/ui/components/Reveal/index.mjs +1 -2
  51. package/dist/ui/components/SearchInput/index.mjs +1 -2
  52. package/dist/ui/components/Select/index.mjs +1 -2
  53. package/dist/ui/components/Sheet/index.mjs +1 -2
  54. package/dist/ui/components/StaggerReveal/index.mjs +1 -2
  55. package/dist/ui/components/Stepper/index.mjs +1 -2
  56. package/dist/ui/components/Switch/index.mjs +1 -2
  57. package/dist/ui/components/TextButton/index.mjs +1 -2
  58. package/dist/ui/components/Textarea/index.mjs +1 -2
  59. package/dist/ui/components/Toast/index.mjs +1 -2
  60. package/dist/ui/components/Tooltip/index.mjs +1 -2
  61. package/dist/ui/components/VisuallyHidden/index.mjs +1 -2
  62. package/dist/ui/hooks/index.mjs +1 -2
  63. package/dist/ui/index.d.mts +4 -1
  64. package/dist/ui/index.mjs +1 -0
  65. package/dist/ui/utils/index.mjs +1 -2
  66. package/package.json +18 -10
package/README.md CHANGED
@@ -194,7 +194,7 @@ Registered by `buildCmsConfig` in this order. Disable or extend any of them via
194
194
  | ---------------- | ---------- | ----------------------------------------------------------------------------------------------------------------- |
195
195
  | `users` | collection | Admin auth users (Payload local strategy). |
196
196
  | `api-tokens` | collection | Server-to-server API-key auth for non-admin REST/GraphQL clients. Disable with `overrides['api-tokens'] = false`. |
197
- | `media` | collection | Uploads (image/video/pdf) with image sizes; served from S3 or disk. |
197
+ | `media` | collection | Uploads (image/video/pdf) with image sizes; served from S3 or disk. Anonymous REST document reads are denied; files stay public at `/api/media/file/*`. |
198
198
  | `authors` | collection | Blog authors — bio, social profiles, JSON-LD `Person` overrides. |
199
199
  | `categories` | collection | Blog post categories. |
200
200
  | `blog-posts` | collection | Blog posts — drafts + autosave, SEO, author/category relations. |
@@ -1 +1 @@
1
- {"version":3,"file":"handler.d.mts","names":[],"sources":["../../src/cache/types.ts","../../src/cache/createMongoCacheHandler.ts","../../src/cache/handler.ts"],"mappings":";;;;;;KAgCY;EACV;EACA;EACA;EACA,UAAU;;EAEV,cAAc,0BAA0B;GACvC;;KAWS;EACV;EACA,OAAO;;;KAIG;EACV;;;;KCtBU;EACV,IAAI,cAAc,QAAQ;EAC1B,IAAI,aAAa,OAAO,oBAAoB,MAAM,kBAAkB;EACpE,OAAO,cAAc;EACrB;EACA,cAAc,yBAAyB,sBAAsB;;;;;;KAOnD,oCAAoC,kBAAkB"}
1
+ {"version":3,"file":"handler.d.mts","names":["_$__createMongoCacheHandler_js0.MongoCacheHandlerConstructor"],"sources":["../../src/cache/types.ts","../../src/cache/createMongoCacheHandler.ts","../../src/cache/handler.ts"],"mappings":";;;;;;KAgCY;EACV;EACA;EACA;EACA,UAAU;;EAEV,cAAc,0BAA0B;GACvC;;KAWS;EACV;EACA,OAAO;;;KAIG;EACV;;;;KCtBU;EACV,IAAI,cAAc,QAAQ;EAC1B,IAAI,aAAa,OAAO,oBAAoB,MAAM,kBAAkB;EACpE,OAAO,cAAc;EACrB;EACA,cAAc,yBAAyB,sBAAsB;;;;;;KAOnD,oCAAoC,kBAAkB"}
@@ -1,3 +1,3 @@
1
- import { $ as createAccessHelpers, A as downloadCtaBlock, B as seoFields, C as codeBlockLanguages, D as sectionHeadingBlock, E as leafBlocks, F as richTextBlock, G as STOCK_COLLECTION_SLUGS, H as BuildCmsConfigOptions, I as coerceBlogPostCategoriesOnRead, J as GlobalOverride, K as StockCollectionSlug, L as coerceBlogPostCategoriesOnWrite, M as imageBlock, N as codeTabsBlock, O as accordionBlock, P as codeBlock, Q as AccessOptions, R as setPublishedAt, S as showcaseContentBlocks, T as languageOptions, U as buildCmsConfig, V as draftsWithAutosave, W as Overrides, X as applyGlobalOverride, Y as applyCollectionOverride, Z as AccessHelpers, _ as requireEnvAtRuntime, _t as writeAccess, a as createChangelog, at as RoleRule, b as blogContentBlocks, c as createPages, ct as collectionRoleRule, d as createAuthors, dt as hiddenUnless, et as ADMIN_ROLE, f as createMedia, ft as isCmsAdmin, g as createS3MediaPlugin, gt as withRoles, h as CreateS3MediaPluginOptions, ht as userHasAnyRole, i as createEventTags, it as RoleOption, j as videoBlock, k as stepsBlock, l as createBlogPosts, lt as effectiveRoles, m as createUsers, mt as resolveRoleOptions, n as createSiteSettings, nt as DEFAULT_GLOBAL_ROLES, o as createChangelogTags, ot as RolesOptions, p as createApiTokens, pt as publishedOrRoleRead, q as CollectionOverride, r as createEvents, rt as DEFAULT_ROLES, s as createLegalPages, st as adminRoleAccess, t as createAnnouncementBanner, tt as DEFAULT_COLLECTION_ROLES, u as createCategories, ut as globalRoleRule, v as getRichTextEditorConfig, w as defaultCodeLanguage, x as pageContentBlocks, y as richTextEditor, z as slugify } from "../index.mjs";
1
+ import { $ as AccessOptions, A as downloadCtaBlock, B as slugify, C as codeBlockLanguages, D as sectionHeadingBlock, E as leafBlocks, F as codeBlock, G as Overrides, H as draftsWithAutosave, I as richTextBlock, J as CollectionOverride, K as STOCK_COLLECTION_SLUGS, L as coerceBlogPostCategoriesOnRead, M as videoBlock, N as imageBlock, O as accordionBlock, P as codeTabsBlock, Q as AccessHelpers, R as coerceBlogPostCategoriesOnWrite, S as showcaseContentBlocks, T as languageOptions, U as BuildCmsConfigOptions, V as seoFields, W as buildCmsConfig, X as applyCollectionOverride, Y as GlobalOverride, Z as applyGlobalOverride, _ as requireEnvAtRuntime, _t as withRoles, a as createChangelog, at as RoleOption, b as blogContentBlocks, c as createPages, ct as adminRoleAccess, d as createAuthors, dt as globalRoleRule, et as createAccessHelpers, f as createMedia, ft as hiddenUnless, g as createS3MediaPlugin, gt as userHasAnyRole, h as CreateS3MediaPluginOptions, ht as resolveRoleOptions, i as createEventTags, it as DEFAULT_ROLES, j as customHtmlBlock, k as stepsBlock, l as createBlogPosts, lt as collectionRoleRule, m as createUsers, mt as publishedOrRoleRead, n as createSiteSettings, nt as DEFAULT_COLLECTION_ROLES, o as createChangelogTags, ot as RoleRule, p as createApiTokens, pt as isCmsAdmin, q as StockCollectionSlug, r as createEvents, rt as DEFAULT_GLOBAL_ROLES, s as createLegalPages, st as RolesOptions, t as createAnnouncementBanner, tt as ADMIN_ROLE, u as createCategories, ut as effectiveRoles, v as getRichTextEditorConfig, vt as writeAccess, w as defaultCodeLanguage, x as pageContentBlocks, y as richTextEditor, z as setPublishedAt } from "../index.mjs";
2
2
  import { n as readPayloadMediaAsDataUrl, r as readPayloadMediaBuffer, t as PayloadMedia } from "../readMediaBuffer.mjs";
3
- export { ADMIN_ROLE, type AccessHelpers, type AccessOptions, type BuildCmsConfigOptions, type CollectionOverride, type CreateS3MediaPluginOptions, DEFAULT_COLLECTION_ROLES, DEFAULT_GLOBAL_ROLES, DEFAULT_ROLES, type GlobalOverride, type Overrides, type PayloadMedia, type RoleOption, type RoleRule, type RolesOptions, STOCK_COLLECTION_SLUGS, type StockCollectionSlug, accordionBlock, adminRoleAccess, applyCollectionOverride, applyGlobalOverride, blogContentBlocks, buildCmsConfig, codeBlock, codeBlockLanguages, codeTabsBlock, coerceBlogPostCategoriesOnRead, coerceBlogPostCategoriesOnWrite, collectionRoleRule, createAccessHelpers, createAnnouncementBanner, createApiTokens, createAuthors, createBlogPosts, createCategories, createChangelog, createChangelogTags, createEventTags, createEvents, createLegalPages, createMedia, createPages, createS3MediaPlugin, createSiteSettings, createUsers, defaultCodeLanguage, downloadCtaBlock, draftsWithAutosave, effectiveRoles, getRichTextEditorConfig, globalRoleRule, hiddenUnless, imageBlock, isCmsAdmin, languageOptions, leafBlocks, pageContentBlocks, publishedOrRoleRead, readPayloadMediaAsDataUrl, readPayloadMediaBuffer, requireEnvAtRuntime, resolveRoleOptions, richTextBlock, richTextEditor, sectionHeadingBlock, seoFields, setPublishedAt, showcaseContentBlocks, slugify, stepsBlock, userHasAnyRole, videoBlock, withRoles, writeAccess };
3
+ export { ADMIN_ROLE, type AccessHelpers, type AccessOptions, type BuildCmsConfigOptions, type CollectionOverride, type CreateS3MediaPluginOptions, DEFAULT_COLLECTION_ROLES, DEFAULT_GLOBAL_ROLES, DEFAULT_ROLES, type GlobalOverride, type Overrides, type PayloadMedia, type RoleOption, type RoleRule, type RolesOptions, STOCK_COLLECTION_SLUGS, type StockCollectionSlug, accordionBlock, adminRoleAccess, applyCollectionOverride, applyGlobalOverride, blogContentBlocks, buildCmsConfig, codeBlock, codeBlockLanguages, codeTabsBlock, coerceBlogPostCategoriesOnRead, coerceBlogPostCategoriesOnWrite, collectionRoleRule, createAccessHelpers, createAnnouncementBanner, createApiTokens, createAuthors, createBlogPosts, createCategories, createChangelog, createChangelogTags, createEventTags, createEvents, createLegalPages, createMedia, createPages, createS3MediaPlugin, createSiteSettings, createUsers, customHtmlBlock, defaultCodeLanguage, downloadCtaBlock, draftsWithAutosave, effectiveRoles, getRichTextEditorConfig, globalRoleRule, hiddenUnless, imageBlock, isCmsAdmin, languageOptions, leafBlocks, pageContentBlocks, publishedOrRoleRead, readPayloadMediaAsDataUrl, readPayloadMediaBuffer, requireEnvAtRuntime, resolveRoleOptions, richTextBlock, richTextEditor, sectionHeadingBlock, seoFields, setPublishedAt, showcaseContentBlocks, slugify, stepsBlock, userHasAnyRole, videoBlock, withRoles, writeAccess };
@@ -1,3 +1,3 @@
1
- import { $ as hiddenUnless, A as richTextBlock, B as languageOptions, C as blogContentBlocks, D as accordionBlock, E as sectionHeadingBlock, F as downloadCtaBlock, G as ADMIN_ROLE, H as seoFields, I as codeTabsBlock, J as DEFAULT_ROLES, K as DEFAULT_COLLECTION_ROLES, L as codeBlock, M as richTextEditor, N as videoBlock, O as leafBlocks, P as imageBlock, Q as globalRoleRule, R as codeBlockLanguages, S as coerceBlogPostCategoriesOnWrite, T as showcaseContentBlocks, U as slugify, V as createAuthors, W as createApiTokens, X as collectionRoleRule, Y as adminRoleAccess, Z as effectiveRoles, _ as createCategories, a as STOCK_COLLECTION_SLUGS, at as writeAccess, b as setPublishedAt, c as createSiteSettings, d as createPages, et as isCmsAdmin, f as createMedia, g as createChangelog, h as createChangelogTags, i as buildCmsConfig, it as withRoles, j as getRichTextEditorConfig, k as stepsBlock, l as createUsers, m as createEventTags, n as createS3MediaPlugin, nt as resolveRoleOptions, o as applyCollectionOverride, ot as createAccessHelpers, p as createEvents, q as DEFAULT_GLOBAL_ROLES, r as requireEnvAtRuntime, rt as userHasAnyRole, s as applyGlobalOverride, t as createAnnouncementBanner, tt as publishedOrRoleRead, u as createLegalPages, v as createBlogPosts, w as pageContentBlocks, x as coerceBlogPostCategoriesOnRead, y as draftsWithAutosave, z as defaultCodeLanguage } from "../cms.mjs";
1
+ import { $ as globalRoleRule, A as richTextBlock, B as defaultCodeLanguage, C as blogContentBlocks, D as accordionBlock, E as sectionHeadingBlock, F as downloadCtaBlock, G as createApiTokens, H as createAuthors, I as customHtmlBlock, J as DEFAULT_GLOBAL_ROLES, K as ADMIN_ROLE, L as codeTabsBlock, M as richTextEditor, N as videoBlock, O as leafBlocks, P as imageBlock, Q as effectiveRoles, R as codeBlock, S as coerceBlogPostCategoriesOnWrite, T as showcaseContentBlocks, U as seoFields, V as languageOptions, W as slugify, X as adminRoleAccess, Y as DEFAULT_ROLES, Z as collectionRoleRule, _ as createCategories, a as STOCK_COLLECTION_SLUGS, at as withRoles, b as setPublishedAt, c as createSiteSettings, d as createPages, et as hiddenUnless, f as createMedia, g as createChangelog, h as createChangelogTags, i as buildCmsConfig, it as userHasAnyRole, j as getRichTextEditorConfig, k as stepsBlock, l as createUsers, m as createEventTags, n as createS3MediaPlugin, nt as publishedOrRoleRead, o as applyCollectionOverride, ot as writeAccess, p as createEvents, q as DEFAULT_COLLECTION_ROLES, r as requireEnvAtRuntime, rt as resolveRoleOptions, s as applyGlobalOverride, st as createAccessHelpers, t as createAnnouncementBanner, tt as isCmsAdmin, u as createLegalPages, v as createBlogPosts, w as pageContentBlocks, x as coerceBlogPostCategoriesOnRead, y as draftsWithAutosave, z as codeBlockLanguages } from "../cms.mjs";
2
2
  import { n as readPayloadMediaBuffer, t as readPayloadMediaAsDataUrl } from "../readMediaBuffer.mjs";
3
- export { ADMIN_ROLE, DEFAULT_COLLECTION_ROLES, DEFAULT_GLOBAL_ROLES, DEFAULT_ROLES, STOCK_COLLECTION_SLUGS, accordionBlock, adminRoleAccess, applyCollectionOverride, applyGlobalOverride, blogContentBlocks, buildCmsConfig, codeBlock, codeBlockLanguages, codeTabsBlock, coerceBlogPostCategoriesOnRead, coerceBlogPostCategoriesOnWrite, collectionRoleRule, createAccessHelpers, createAnnouncementBanner, createApiTokens, createAuthors, createBlogPosts, createCategories, createChangelog, createChangelogTags, createEventTags, createEvents, createLegalPages, createMedia, createPages, createS3MediaPlugin, createSiteSettings, createUsers, defaultCodeLanguage, downloadCtaBlock, draftsWithAutosave, effectiveRoles, getRichTextEditorConfig, globalRoleRule, hiddenUnless, imageBlock, isCmsAdmin, languageOptions, leafBlocks, pageContentBlocks, publishedOrRoleRead, readPayloadMediaAsDataUrl, readPayloadMediaBuffer, requireEnvAtRuntime, resolveRoleOptions, richTextBlock, richTextEditor, sectionHeadingBlock, seoFields, setPublishedAt, showcaseContentBlocks, slugify, stepsBlock, userHasAnyRole, videoBlock, withRoles, writeAccess };
3
+ export { ADMIN_ROLE, DEFAULT_COLLECTION_ROLES, DEFAULT_GLOBAL_ROLES, DEFAULT_ROLES, STOCK_COLLECTION_SLUGS, accordionBlock, adminRoleAccess, applyCollectionOverride, applyGlobalOverride, blogContentBlocks, buildCmsConfig, codeBlock, codeBlockLanguages, codeTabsBlock, coerceBlogPostCategoriesOnRead, coerceBlogPostCategoriesOnWrite, collectionRoleRule, createAccessHelpers, createAnnouncementBanner, createApiTokens, createAuthors, createBlogPosts, createCategories, createChangelog, createChangelogTags, createEventTags, createEvents, createLegalPages, createMedia, createPages, createS3MediaPlugin, createSiteSettings, createUsers, customHtmlBlock, defaultCodeLanguage, downloadCtaBlock, draftsWithAutosave, effectiveRoles, getRichTextEditorConfig, globalRoleRule, hiddenUnless, imageBlock, isCmsAdmin, languageOptions, leafBlocks, pageContentBlocks, publishedOrRoleRead, readPayloadMediaAsDataUrl, readPayloadMediaBuffer, requireEnvAtRuntime, resolveRoleOptions, richTextBlock, richTextEditor, sectionHeadingBlock, seoFields, setPublishedAt, showcaseContentBlocks, slugify, stepsBlock, userHasAnyRole, videoBlock, withRoles, writeAccess };
package/dist/cms.mjs CHANGED
@@ -21,11 +21,18 @@ function createAccessHelpers(options = {}) {
21
21
  if (apiTokens && isDisabledApiToken(req)) return false;
22
22
  return true;
23
23
  };
24
+ const mediaRead = ({ req, isReadingStaticFile }) => {
25
+ if (isReadingStaticFile) return true;
26
+ if (isAdminUser(req)) return true;
27
+ if (req.user?.collection === "api-tokens") return !(apiTokens && isDisabledApiToken(req));
28
+ return false;
29
+ };
24
30
  const adminOnlyField = ({ req }) => isAdminUser(req);
25
31
  return {
26
32
  adminOnly,
27
33
  adminOrPublished,
28
34
  publicRead,
35
+ mediaRead,
29
36
  adminOnlyField
30
37
  };
31
38
  }
@@ -889,6 +896,25 @@ const codeTabsBlock = {
889
896
  }]
890
897
  };
891
898
  //#endregion
899
+ //#region src/cms/blocks/custom-html.ts
900
+ const customHtmlBlock = {
901
+ slug: "custom-html",
902
+ labels: {
903
+ singular: "Custom HTML",
904
+ plural: "Custom HTML"
905
+ },
906
+ fields: [{
907
+ name: "html",
908
+ type: "code",
909
+ required: true,
910
+ localized: true,
911
+ admin: {
912
+ language: "html",
913
+ description: "Raw HTML, CSS, and scripts. Rendered as-is. Inline scripts run in the browser, same as a WordPress Custom HTML block."
914
+ }
915
+ }]
916
+ };
917
+ //#endregion
892
918
  //#region src/cms/blocks/download-cta.ts
893
919
  const downloadCtaBlock = {
894
920
  slug: "download-cta",
@@ -1043,17 +1069,21 @@ const richTextFeatures = ({ defaultFeatures }) => [
1043
1069
  name: "caption",
1044
1070
  type: "text"
1045
1071
  }] } } }),
1046
- BlocksFeature({ blocks: [CodeBlock({
1047
- languages: codeBlockLanguages,
1048
- defaultLanguage: defaultCodeLanguage
1049
- }), videoBlock] }),
1072
+ BlocksFeature({ blocks: [
1073
+ CodeBlock({
1074
+ languages: codeBlockLanguages,
1075
+ defaultLanguage: defaultCodeLanguage
1076
+ }),
1077
+ videoBlock,
1078
+ customHtmlBlock
1079
+ ] }),
1050
1080
  EXPERIMENTAL_TableFeature()
1051
1081
  ];
1052
1082
  /**
1053
1083
  * Shared Lexical editor for every `richText` field.
1054
1084
  *
1055
- * Adds `CodeBlock`, inline `video` block, media upload captions, and
1056
- * `EXPERIMENTAL_TableFeature` on top of Payload defaults.
1085
+ * Adds `CodeBlock`, inline `video` and `custom-html` blocks, media upload
1086
+ * captions, and `EXPERIMENTAL_TableFeature` on top of Payload defaults.
1057
1087
  */
1058
1088
  const richTextEditor = () => lexicalEditor({ features: richTextFeatures });
1059
1089
  /** Resolve Lexical editor config for seed scripts / markdown conversion. */
@@ -1121,6 +1151,7 @@ const leafBlocks = [
1121
1151
  imageBlock,
1122
1152
  videoBlock,
1123
1153
  downloadCtaBlock,
1154
+ customHtmlBlock,
1124
1155
  stepsBlock
1125
1156
  ];
1126
1157
  //#endregion
@@ -1181,6 +1212,7 @@ const blogContentBlocks = [
1181
1212
  imageBlock,
1182
1213
  videoBlock,
1183
1214
  downloadCtaBlock,
1215
+ customHtmlBlock,
1184
1216
  stepsBlock,
1185
1217
  accordionBlock
1186
1218
  ];
@@ -1864,7 +1896,10 @@ function createEvents(access) {
1864
1896
  }
1865
1897
  //#endregion
1866
1898
  //#region src/cms/collections/createMedia.ts
1867
- /** Stock media upload collection (always publicly readable once uploaded). */
1899
+ /**
1900
+ * Stock media upload collection.
1901
+ * Documents are not publicly listable; files stay public via `/api/media/file/*`.
1902
+ */
1868
1903
  function createMedia(access) {
1869
1904
  return {
1870
1905
  slug: "media",
@@ -1877,7 +1912,7 @@ function createMedia(access) {
1877
1912
  ]
1878
1913
  },
1879
1914
  access: {
1880
- read: access.publicRead,
1915
+ read: access.mediaRead,
1881
1916
  create: access.adminOnly,
1882
1917
  update: access.adminOnly,
1883
1918
  delete: access.adminOnly
@@ -2353,6 +2388,6 @@ function createAnnouncementBanner(access) {
2353
2388
  };
2354
2389
  }
2355
2390
  //#endregion
2356
- export { hiddenUnless as $, richTextBlock as A, languageOptions as B, blogContentBlocks as C, accordionBlock as D, sectionHeadingBlock as E, downloadCtaBlock as F, ADMIN_ROLE as G, seoFields as H, codeTabsBlock as I, DEFAULT_ROLES as J, DEFAULT_COLLECTION_ROLES as K, codeBlock as L, richTextEditor as M, videoBlock as N, leafBlocks as O, imageBlock as P, globalRoleRule as Q, codeBlockLanguages as R, coerceBlogPostCategoriesOnWrite as S, showcaseContentBlocks as T, slugify as U, createAuthors as V, createApiTokens as W, collectionRoleRule as X, adminRoleAccess as Y, effectiveRoles as Z, createCategories as _, STOCK_COLLECTION_SLUGS as a, writeAccess as at, setPublishedAt as b, createSiteSettings as c, createPages as d, isCmsAdmin as et, createMedia as f, createChangelog as g, createChangelogTags as h, buildCmsConfig as i, withRoles as it, getRichTextEditorConfig as j, stepsBlock as k, createUsers as l, createEventTags as m, createS3MediaPlugin as n, resolveRoleOptions as nt, applyCollectionOverride as o, createAccessHelpers as ot, createEvents as p, DEFAULT_GLOBAL_ROLES as q, requireEnvAtRuntime as r, userHasAnyRole as rt, applyGlobalOverride as s, createAnnouncementBanner as t, publishedOrRoleRead as tt, createLegalPages as u, createBlogPosts as v, pageContentBlocks as w, coerceBlogPostCategoriesOnRead as x, draftsWithAutosave as y, defaultCodeLanguage as z };
2391
+ export { globalRoleRule as $, richTextBlock as A, defaultCodeLanguage as B, blogContentBlocks as C, accordionBlock as D, sectionHeadingBlock as E, downloadCtaBlock as F, createApiTokens as G, createAuthors as H, customHtmlBlock as I, DEFAULT_GLOBAL_ROLES as J, ADMIN_ROLE as K, codeTabsBlock as L, richTextEditor as M, videoBlock as N, leafBlocks as O, imageBlock as P, effectiveRoles as Q, codeBlock as R, coerceBlogPostCategoriesOnWrite as S, showcaseContentBlocks as T, seoFields as U, languageOptions as V, slugify as W, adminRoleAccess as X, DEFAULT_ROLES as Y, collectionRoleRule as Z, createCategories as _, STOCK_COLLECTION_SLUGS as a, withRoles as at, setPublishedAt as b, createSiteSettings as c, createPages as d, hiddenUnless as et, createMedia as f, createChangelog as g, createChangelogTags as h, buildCmsConfig as i, userHasAnyRole as it, getRichTextEditorConfig as j, stepsBlock as k, createUsers as l, createEventTags as m, createS3MediaPlugin as n, publishedOrRoleRead as nt, applyCollectionOverride as o, writeAccess as ot, createEvents as p, DEFAULT_COLLECTION_ROLES as q, requireEnvAtRuntime as r, resolveRoleOptions as rt, applyGlobalOverride as s, createAccessHelpers as st, createAnnouncementBanner as t, isCmsAdmin as tt, createLegalPages as u, createBlogPosts as v, pageContentBlocks as w, coerceBlogPostCategoriesOnRead as x, draftsWithAutosave as y, codeBlockLanguages as z };
2357
2392
 
2358
2393
  //# sourceMappingURL=cms.mjs.map