@bison-lab/payload-core 3.18.0 → 3.19.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -1,5 +1,6 @@
1
- import { a as SeoImageSize, i as SeoImageDoc, n as titleTemplate, o as SeoImageValue, r as MediaId, s as SeoMeta, t as documentTitle } from "./title-B2-gWQZd.mjs";
2
- import { A as ThemeLibraryColorDoc, C as THEME_IDENTITY_SLUG, D as ThemeDoc, E as ThemeColorDoc, F as ColorUsage, I as ColorUsagesList, L as ColorUsagesOption, M as ResolvedThemeIdentity, N as ThemeIdentityFallback, P as resolveThemeIdentity, R as findColorUsages, S as THEME_COLORS_SLUG, T as THEME_TYPOGRAPHY_SLUG, _ as CreateThemeOptions, a as pageEditorTokens, b as SystemColorKey, c as LookFieldOptions, d as ColorTokenHit, f as findColorTokens, g as themeColorKeys, h as rewriteColorToken, i as pageEditorLooks, j as ThemeUploadDoc, l as colorTokenField, m as deleteLibraryColor, n as PAGE_EDITOR_SYSTEM_KEYS, o as themeLibraryFromDoc, p as rewriteColorTokens, r as PageEditorSystemKey, s as LookFieldMode, t as LookOption, u as lookField, v as EditableTheme, w as THEME_SLUG, x as THEME_APPEARANCE_SLUG, y as SYSTEM_COLOR_KEYS, z as rewriteColorUsages } from "./looks-Dk0l0mif.mjs";
1
+ import { a as SeoImageSize, i as SeoImageDoc, n as titleTemplate, o as SeoImageValue, r as MediaId, s as SeoMeta, t as documentTitle } from "./title-sWwcCqHT.mjs";
2
+ import { A as ThemeLibraryColorDoc, C as THEME_IDENTITY_SLUG, D as ThemeDoc, E as ThemeColorDoc, F as ColorUsage, I as ColorUsagesList, L as ColorUsagesOption, M as ResolvedThemeIdentity, N as ThemeIdentityFallback, P as resolveThemeIdentity, R as findColorUsages, S as THEME_COLORS_SLUG, T as THEME_TYPOGRAPHY_SLUG, _ as CreateThemeOptions, a as pageEditorTokens, b as SystemColorKey, c as LookFieldOptions, d as ColorTokenHit, f as findColorTokens, g as themeColorKeys, h as rewriteColorToken, i as pageEditorLooks, j as ThemeUploadDoc, l as colorTokenField, m as deleteLibraryColor, n as PAGE_EDITOR_SYSTEM_KEYS, o as themeLibraryFromDoc, p as rewriteColorTokens, r as PageEditorSystemKey, s as LookFieldMode, t as LookOption, u as lookField, v as EditableTheme, w as THEME_SLUG, x as THEME_APPEARANCE_SLUG, y as SYSTEM_COLOR_KEYS, z as rewriteColorUsages } from "./looks-CQ_DiSQO.mjs";
3
+ import { a as NAVIGATION_FOOTER_DB_NAME, c as NavigationDoc, i as NAVIGATION_FEATURE, l as NavigationFooter, n as CreateNavigationOptions, o as NAVIGATION_FOOTER_SLUG, r as NAVIGATION_DB_NAME, s as NAVIGATION_SLUG, t as getNavigation, u as NavigationHeader } from "./published-C49gmzAL.mjs";
3
4
  import { ThemeConfig } from "@bison-lab/tokens";
4
5
  import * as payload from "payload";
5
6
  import { Access, Block, CheckboxField, CollectionConfig, CollectionSlug, GlobalConfig, ImageSize, PayloadRequest, Plugin, TextField, UploadCollectionSlug } from "payload";
@@ -631,6 +632,108 @@ declare function slugField({
631
632
  isReserved
632
633
  }: SlugFieldOptions): TextField;
633
634
  //#endregion
635
+ //#region src/admin-nav/global.d.ts
636
+ /**
637
+ * Settings → Admin nav. Developer chrome, not a Features row. Save writes
638
+ * immediately. The package Nav reads this document. An empty row falls
639
+ * back to Payload's first-seen walk; a saved row is the sidebar.
640
+ */
641
+ declare function createAdminNav(): GlobalConfig;
642
+ //#endregion
643
+ //#region src/admin-nav/plugin.d.ts
644
+ /**
645
+ * Sets `admin.components.Nav` to the package Nav. A consuming site must
646
+ * not write its own Nav — SPI-10 is the later skin, and it reads
647
+ * `resolveAdminNav` rather than a second layout source.
648
+ */
649
+ declare const adminNav: () => payload.Plugin;
650
+ //#endregion
651
+ //#region src/admin-nav/types.d.ts
652
+ /**
653
+ * Developer-owned admin sidebar. SPI-10 skins this with AppSidebarBlock;
654
+ * this package ships the document and the default Nav. A consuming site
655
+ * waits for SPI-97 after this and BIS-110 publish.
656
+ */
657
+ declare const ADMIN_NAV_SLUG = "admin-nav";
658
+ type AdminNavEntityType = "collection" | "global";
659
+ interface AdminNavItem {
660
+ type: AdminNavEntityType;
661
+ slug: string;
662
+ label: string;
663
+ }
664
+ interface AdminNavGroup {
665
+ label: string;
666
+ items: AdminNavItem[];
667
+ }
668
+ interface AdminNavDoc {
669
+ groups?: Array<{
670
+ id?: string | null;
671
+ label?: string | null;
672
+ items?: Array<{
673
+ id?: string | null;
674
+ type?: string | null;
675
+ slug?: string | null;
676
+ }> | null;
677
+ }> | null;
678
+ }
679
+ interface AdminNavVisibleEntities {
680
+ collections?: readonly string[];
681
+ globals?: readonly string[];
682
+ }
683
+ interface AdminNavEntityConfig {
684
+ slug: string;
685
+ admin?: {
686
+ group?: unknown;
687
+ };
688
+ label?: unknown;
689
+ labels?: {
690
+ plural?: unknown;
691
+ singular?: unknown;
692
+ };
693
+ }
694
+ interface AdminNavConfig {
695
+ collections?: readonly AdminNavEntityConfig[];
696
+ globals?: readonly AdminNavEntityConfig[];
697
+ }
698
+ interface ResolveAdminNavArgs {
699
+ config: AdminNavConfig;
700
+ doc?: AdminNavDoc | null;
701
+ visibleEntities?: AdminNavVisibleEntities;
702
+ }
703
+ //#endregion
704
+ //#region src/admin-nav/resolve.d.ts
705
+ /**
706
+ * Layout for the package Nav (and later SPI-10). Permissions are
707
+ * `visibleEntities` — this function does not re-derive access.
708
+ */
709
+ declare function resolveAdminNav({
710
+ config,
711
+ doc,
712
+ visibleEntities
713
+ }: ResolveAdminNavArgs): AdminNavGroup[];
714
+ //#endregion
715
+ //#region src/admin-nav/fields.d.ts
716
+ declare const ADMIN_NAV = "@bison-lab/payload-core/admin#AdminNav";
717
+ declare const ADMIN_NAV_ROW_LABEL = "@bison-lab/payload-core/admin#AdminNavRowLabel";
718
+ declare const ADMIN_NAV_ITEM_ROW_LABEL = "@bison-lab/payload-core/admin#AdminNavItemRowLabel";
719
+ declare const ADMIN_NAV_ENTITY_FIELD = "@bison-lab/payload-core/admin#AdminNavEntityField";
720
+ //#endregion
721
+ //#region src/navigation/global.d.ts
722
+ /**
723
+ * Header (`navigation` / `nav`) and Footer (`navigation-footer` / `navf`).
724
+ * One Features tick (`navigation`). Independent Save / Publish / drafts —
725
+ * a draft header does not publish the footer.
726
+ */
727
+ declare function createNavigation({
728
+ blocks,
729
+ footerColumnRowLabel,
730
+ footerLinkRowLabel,
731
+ preview,
732
+ livePreview,
733
+ previewButton,
734
+ pagesCollection
735
+ }: CreateNavigationOptions): [GlobalConfig, GlobalConfig];
736
+ //#endregion
634
737
  //#region src/plugins/admin-only-api-tab.d.ts
635
738
  /**
636
739
  * Gates the document API tab to Developer, config-wide. After plugins that
@@ -711,5 +814,5 @@ declare function roleDescription(role: string, matrix?: readonly RoleRow[]): str
711
814
  */
712
815
  declare function resetRolesMatrix(current: unknown): RoleRow[];
713
816
  //#endregion
714
- export { BRAND_ASSETS_MIME_TYPES, BRAND_ASSETS_SLUG, CAPABILITIES, CAPABILITY_FEATURES, type Capability, type ColorTokenHit, type ColorUsage, type ColorUsagesList, type ColorUsagesOption, type CreateBrandAssetsOptions, type CreateFeaturesOptions, type CreateRolesOptions, type CreateThemeOptions, DEFAULT_ROLE_GRANTS, DEFAULT_ROLE_MATRIX, DESCRIPTION_LENGTH, DEVELOPER_DESCRIPTION, DOCUMENT_CREATE_NEW, DOCUMENT_TITLE_ACTIONS, DUPLICATE_ROLE_NAME_MESSAGE, DUPLICATE_ROLE_SLUG_MESSAGE, type EditableTheme, FEATURES_MATRIX_FIELD, FEATURES_SLUG, FEATURE_GROUPS, FEATURE_GROUP_LABELS, type FeatureExtra, type FeatureGroupId, type FeatureRow, type FeaturesDoc, INVALID_ROLE_NAME_MESSAGE, LAST_ADMIN_DELETE_MESSAGE, LAST_ADMIN_DEMOTE_MESSAGE, LAST_USERS_TICK_MESSAGE, LOOK_FIELD, type LookFieldMode, type LookFieldOptions, type LookOption, MISSING_PACKAGE_FEATURES_MESSAGE, MISSING_SEED_ROLES_MESSAGE, type MaybeUser, type MediaId, type MediaOptions, PACKAGE_FEATURES, PACKAGE_FEATURE_SLUGS, PAGE_EDITOR_SYSTEM_KEYS, type PackageFeature, type PackageFeatureSlug, type PageEditorSystemKey, type PagesOptions, ROLES, ROLES_FIELD, ROLES_FIELD_DESCRIPTION, ROLES_GLOBAL_DESCRIPTION, ROLES_GRANTS_FIELD, ROLES_MATRIX_FIELD, ROLES_ROW_LABEL, ROLES_SLUG, ROLE_LABELS, ROLE_NAME_FIELD, ROLE_SLUG_FIELD, type ResolvedThemeIdentity, type Role, type RoleExtra, type RoleRow, type RolesDoc, SHARE_IMAGE_SIZE, SYSTEM_COLOR_KEYS, type SeoDoc, type SeoImageDoc, type SeoImageSize, type SeoImageValue, type SeoMeta, type SeoPluginOptions, type SlugFieldOptions, type SystemColorKey, THEME_APPEARANCE_FIELD, THEME_APPEARANCE_SLUG, THEME_COLORS_SLUG, THEME_COLOR_FIELD, THEME_COLOR_SCALE_FIELD, THEME_CONTRAST_REPORT, THEME_DOCUMENT_CONTROLS, THEME_FEATURE_SLUGS, THEME_FONT_FIELD, THEME_GREY_SCALE_FIELD, THEME_IDENTITY_FALLBACK, THEME_IDENTITY_SLUG, THEME_LIBRARY_FIELD, THEME_PAIRING_FIELD, THEME_PREVIEW_BREAKPOINTS, THEME_PUBLISH_FIELD, THEME_SAVE_BUTTON, THEME_SECTION_HEADING, THEME_SLUG, THEME_TYPOGRAPHY_SLUG, type ThemeChild, type ThemeColorDoc, type ThemeDoc, type ThemeIdentityFallback, type ThemeLibraryColorDoc, type ThemeUploadDoc, type UsersOptions, adminOnlyApiTab, allowedFeaturesForUser, applyRoleSlugsFromNames, authenticatedOrPublished, canManageBrand, canManageContent, canPublish, canUseFeature, colorTokenField, createBrandAssets, createFeatures, createMedia, createPages, createRoles, createTheme, createUsers, defaultFeaturesFieldValue, defaultRolesFieldValue, deleteLibraryColor, developerOnlyAccess, documentCreateNew, documentTitle, documentTitleActions, featureCatalogue, featureGroupLabel, findColorTokens, findColorUsages, firstImageIn, getFeaturesMatrix, getRolesMatrix, hasCapability, hasFeature, hasGrant, hasRole, hideUnlessDeveloper, hideUnlessFeature, isAdmin, isAdminOrSelf, isAuthenticated, isDeveloper, isDeveloperTab, isFeatureGroupId, isFeatureSlug, isLockedFeature, isPackageFeatureSlug, isPrivilegedRole, isRole, isRoleName, isRoleSlug, lookField, noIndexField, normalizeSlug, normalizeStoredRoles, pageEditorLooks, pageEditorTokens, parseFeaturesMatrix, parseRolesMatrix, persistThemeChild, publishThemeChild, resetRolesMatrix, resolveThemeIdentity, rewriteColorToken, rewriteColorTokens, rewriteColorUsages, roleDescription, roleLabel, roleSelectOptions, sanitizeRoleNameInput, sanitizeSvg, seedFeatures, seedRoleRows, seedRoles, seedTheme, seoPlugin, slugField, slugifyRoleName, stampFeatureCatalogue, storedRoles, themeColorKeys, themeLibraryFromDoc, titleTemplate, truncateAtWord, validateFeaturesMatrix, validateRolesMatrix };
817
+ export { ADMIN_NAV, ADMIN_NAV_ENTITY_FIELD, ADMIN_NAV_ITEM_ROW_LABEL, ADMIN_NAV_ROW_LABEL, ADMIN_NAV_SLUG, type AdminNavConfig, type AdminNavDoc, type AdminNavGroup, type AdminNavItem, type AdminNavVisibleEntities, BRAND_ASSETS_MIME_TYPES, BRAND_ASSETS_SLUG, CAPABILITIES, CAPABILITY_FEATURES, type Capability, type ColorTokenHit, type ColorUsage, type ColorUsagesList, type ColorUsagesOption, type CreateBrandAssetsOptions, type CreateFeaturesOptions, type CreateNavigationOptions, type CreateRolesOptions, type CreateThemeOptions, DEFAULT_ROLE_GRANTS, DEFAULT_ROLE_MATRIX, DESCRIPTION_LENGTH, DEVELOPER_DESCRIPTION, DOCUMENT_CREATE_NEW, DOCUMENT_TITLE_ACTIONS, DUPLICATE_ROLE_NAME_MESSAGE, DUPLICATE_ROLE_SLUG_MESSAGE, type EditableTheme, FEATURES_MATRIX_FIELD, FEATURES_SLUG, FEATURE_GROUPS, FEATURE_GROUP_LABELS, type FeatureExtra, type FeatureGroupId, type FeatureRow, type FeaturesDoc, INVALID_ROLE_NAME_MESSAGE, LAST_ADMIN_DELETE_MESSAGE, LAST_ADMIN_DEMOTE_MESSAGE, LAST_USERS_TICK_MESSAGE, LOOK_FIELD, type LookFieldMode, type LookFieldOptions, type LookOption, MISSING_PACKAGE_FEATURES_MESSAGE, MISSING_SEED_ROLES_MESSAGE, type MaybeUser, type MediaId, type MediaOptions, NAVIGATION_DB_NAME, NAVIGATION_FEATURE, NAVIGATION_FOOTER_DB_NAME, NAVIGATION_FOOTER_SLUG, NAVIGATION_SLUG, type NavigationDoc, type NavigationFooter, type NavigationHeader, PACKAGE_FEATURES, PACKAGE_FEATURE_SLUGS, PAGE_EDITOR_SYSTEM_KEYS, type PackageFeature, type PackageFeatureSlug, type PageEditorSystemKey, type PagesOptions, ROLES, ROLES_FIELD, ROLES_FIELD_DESCRIPTION, ROLES_GLOBAL_DESCRIPTION, ROLES_GRANTS_FIELD, ROLES_MATRIX_FIELD, ROLES_ROW_LABEL, ROLES_SLUG, ROLE_LABELS, ROLE_NAME_FIELD, ROLE_SLUG_FIELD, type ResolveAdminNavArgs, type ResolvedThemeIdentity, type Role, type RoleExtra, type RoleRow, type RolesDoc, SHARE_IMAGE_SIZE, SYSTEM_COLOR_KEYS, type SeoDoc, type SeoImageDoc, type SeoImageSize, type SeoImageValue, type SeoMeta, type SeoPluginOptions, type SlugFieldOptions, type SystemColorKey, THEME_APPEARANCE_FIELD, THEME_APPEARANCE_SLUG, THEME_COLORS_SLUG, THEME_COLOR_FIELD, THEME_COLOR_SCALE_FIELD, THEME_CONTRAST_REPORT, THEME_DOCUMENT_CONTROLS, THEME_FEATURE_SLUGS, THEME_FONT_FIELD, THEME_GREY_SCALE_FIELD, THEME_IDENTITY_FALLBACK, THEME_IDENTITY_SLUG, THEME_LIBRARY_FIELD, THEME_PAIRING_FIELD, THEME_PREVIEW_BREAKPOINTS, THEME_PUBLISH_FIELD, THEME_SAVE_BUTTON, THEME_SECTION_HEADING, THEME_SLUG, THEME_TYPOGRAPHY_SLUG, type ThemeChild, type ThemeColorDoc, type ThemeDoc, type ThemeIdentityFallback, type ThemeLibraryColorDoc, type ThemeUploadDoc, type UsersOptions, adminNav, adminOnlyApiTab, allowedFeaturesForUser, applyRoleSlugsFromNames, authenticatedOrPublished, canManageBrand, canManageContent, canPublish, canUseFeature, colorTokenField, createAdminNav, createBrandAssets, createFeatures, createMedia, createNavigation, createPages, createRoles, createTheme, createUsers, defaultFeaturesFieldValue, defaultRolesFieldValue, deleteLibraryColor, developerOnlyAccess, documentCreateNew, documentTitle, documentTitleActions, featureCatalogue, featureGroupLabel, findColorTokens, findColorUsages, firstImageIn, getFeaturesMatrix, getNavigation, getRolesMatrix, hasCapability, hasFeature, hasGrant, hasRole, hideUnlessDeveloper, hideUnlessFeature, isAdmin, isAdminOrSelf, isAuthenticated, isDeveloper, isDeveloperTab, isFeatureGroupId, isFeatureSlug, isLockedFeature, isPackageFeatureSlug, isPrivilegedRole, isRole, isRoleName, isRoleSlug, lookField, noIndexField, normalizeSlug, normalizeStoredRoles, pageEditorLooks, pageEditorTokens, parseFeaturesMatrix, parseRolesMatrix, persistThemeChild, publishThemeChild, resetRolesMatrix, resolveAdminNav, resolveThemeIdentity, rewriteColorToken, rewriteColorTokens, rewriteColorUsages, roleDescription, roleLabel, roleSelectOptions, sanitizeRoleNameInput, sanitizeSvg, seedFeatures, seedRoleRows, seedRoles, seedTheme, seoPlugin, slugField, slugifyRoleName, stampFeatureCatalogue, storedRoles, themeColorKeys, themeLibraryFromDoc, titleTemplate, truncateAtWord, validateFeaturesMatrix, validateRolesMatrix };
715
818
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../src/seo/plugin.ts","../src/seo/fields.ts","../src/seo/share-image.ts","../src/seo/text.ts","../src/theme/global.ts","../src/brand-assets/collection.ts","../src/brand-assets/sanitize.ts","../src/theme/seed.ts","../src/theme/preview.ts","../src/theme/publish.ts","../src/theme/fields.ts","../src/roles/types.ts","../src/roles/global.ts","../src/roles/seed.ts","../src/roles/fields.ts","../src/features/types.ts","../src/features/global.ts","../src/features/seed.ts","../src/features/fields.ts","../src/roles/access.ts","../src/features/access.ts","../src/features/matrix.ts","../src/collections/pages.ts","../src/collections/users.ts","../src/collections/media.ts","../src/fields/slug.ts","../src/plugins/admin-only-api-tab.ts","../src/plugins/document-title-actions.ts","../src/admin/document-controls.ts","../src/roles/matrix.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/seo/plugin.ts","../src/seo/fields.ts","../src/seo/share-image.ts","../src/seo/text.ts","../src/theme/global.ts","../src/brand-assets/collection.ts","../src/brand-assets/sanitize.ts","../src/theme/seed.ts","../src/theme/preview.ts","../src/theme/publish.ts","../src/theme/fields.ts","../src/roles/types.ts","../src/roles/global.ts","../src/roles/seed.ts","../src/roles/fields.ts","../src/features/types.ts","../src/features/global.ts","../src/features/seed.ts","../src/features/fields.ts","../src/roles/access.ts","../src/features/access.ts","../src/features/matrix.ts","../src/collections/pages.ts","../src/collections/users.ts","../src/collections/media.ts","../src/fields/slug.ts","../src/admin-nav/global.ts","../src/admin-nav/plugin.ts","../src/admin-nav/types.ts","../src/admin-nav/resolve.ts","../src/admin-nav/fields.ts","../src/navigation/global.ts","../src/plugins/admin-only-api-tab.ts","../src/plugins/document-title-actions.ts","../src/admin/document-controls.ts","../src/roles/matrix.ts"],"mappings":"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"}
package/dist/index.mjs CHANGED
@@ -1,9 +1,10 @@
1
1
  import { n as documentTitle, r as titleTemplate, t as SHARE_IMAGE_SIZE } from "./share-image-C4ILz4p2.mjs";
2
2
  import { A as THEME_FONT_FIELD, C as validateThemeHex, D as THEME_COLOR_SCALE_FIELD, E as THEME_COLOR_FIELD, F as THEME_PUBLISH_FIELD, I as THEME_SAVE_BUTTON, L as THEME_SECTION_HEADING, M as THEME_IDENTITY_FALLBACK, N as THEME_LIBRARY_FIELD, O as THEME_CONTRAST_REPORT, P as THEME_PAIRING_FIELD, R as headingSelectValue, S as validateSourceIncluded, T as THEME_APPEARANCE_FIELD, _ as THEME_SLUG, a as pageEditorLooks, c as findColorTokens, d as rewriteColorToken, f as themeColorKeys, g as THEME_IDENTITY_SLUG, h as THEME_COLORS_SLUG, i as PAGE_EDITOR_SYSTEM_KEYS, j as THEME_GREY_SCALE_FIELD, k as THEME_DOCUMENT_CONTROLS, l as rewriteColorTokens, m as THEME_APPEARANCE_SLUG, n as colorTokenField, o as pageEditorTokens, p as SYSTEM_COLOR_KEYS, r as lookField, s as themeLibraryFromDoc, t as resolveThemeIdentity, u as deleteLibraryColor, v as THEME_TYPOGRAPHY_SLUG, w as LOOK_FIELD, x as themeConfigFromDoc, y as docFromConfig } from "./identity-LAzSeorC.mjs";
3
+ import { a as NAVIGATION_FOOTER_SLUG, i as NAVIGATION_FOOTER_DB_NAME, n as NAVIGATION_DB_NAME, o as NAVIGATION_SLUG, r as NAVIGATION_FEATURE, t as getNavigation } from "./published-ByS86dhW.mjs";
3
4
  import { seoPlugin as seoPlugin$1 } from "@payloadcms/plugin-seo";
4
5
  import { catalog } from "@bison-lab/fonts";
5
6
  import { DESTRUCTIVE_SCALE_HEX, SHADE_STEPS, presetHints } from "@bison-lab/tokens";
6
- import { APIError, ValidationError, definePlugin, validations } from "payload";
7
+ import { APIError, Forbidden, ValidationError, definePlugin, validations } from "payload";
7
8
  import { select, text } from "payload/shared";
8
9
  //#region src/seo/fields.ts
9
10
  /**
@@ -2096,6 +2097,432 @@ function createMedia({ staticDir = "media", mimeTypes = ["image/*"], imageSizes
2096
2097
  };
2097
2098
  }
2098
2099
  //#endregion
2100
+ //#region src/admin-nav/fields.ts
2101
+ const ADMIN_NAV = "@bison-lab/payload-core/admin#AdminNav";
2102
+ const ADMIN_NAV_ROW_LABEL = "@bison-lab/payload-core/admin#AdminNavRowLabel";
2103
+ const ADMIN_NAV_ITEM_ROW_LABEL = "@bison-lab/payload-core/admin#AdminNavItemRowLabel";
2104
+ const ADMIN_NAV_ENTITY_FIELD = "@bison-lab/payload-core/admin#AdminNavEntityField";
2105
+ //#endregion
2106
+ //#region src/admin-nav/types.ts
2107
+ /**
2108
+ * Developer-owned admin sidebar. SPI-10 skins this with AppSidebarBlock;
2109
+ * this package ships the document and the default Nav. A consuming site
2110
+ * waits for SPI-97 after this and BIS-110 publish.
2111
+ */
2112
+ const ADMIN_NAV_SLUG = "admin-nav";
2113
+ //#endregion
2114
+ //#region src/admin-nav/validate.ts
2115
+ const UNKNOWN_ENTITY_MESSAGE = "Not in this site's config.";
2116
+ /**
2117
+ * A Developer cannot invent a collection or global that is not registered.
2118
+ */
2119
+ const validateAdminNavSlug = (value, { req, siblingData }) => {
2120
+ if (typeof value !== "string" || value === "") return true;
2121
+ const type = siblingData && typeof siblingData === "object" && "type" in siblingData ? siblingData.type : null;
2122
+ return ((type === "global" ? req.payload?.config?.globals : type === "collection" ? req.payload?.config?.collections : []) ?? []).map((entity) => entity.slug).includes(value) || UNKNOWN_ENTITY_MESSAGE;
2123
+ };
2124
+ //#endregion
2125
+ //#region src/admin-nav/global.ts
2126
+ const groupsField = {
2127
+ name: "groups",
2128
+ type: "array",
2129
+ label: "Groups",
2130
+ labels: {
2131
+ singular: "Group",
2132
+ plural: "Groups"
2133
+ },
2134
+ admin: {
2135
+ components: { RowLabel: ADMIN_NAV_ROW_LABEL },
2136
+ description: "Sidebar headers and the collections or globals under each. Drag to reorder. An empty header still shows.",
2137
+ initCollapsed: false
2138
+ },
2139
+ fields: [{
2140
+ name: "label",
2141
+ type: "text",
2142
+ label: "Header"
2143
+ }, {
2144
+ name: "items",
2145
+ type: "array",
2146
+ label: "Items",
2147
+ labels: {
2148
+ singular: "Item",
2149
+ plural: "Items"
2150
+ },
2151
+ admin: { components: { RowLabel: ADMIN_NAV_ITEM_ROW_LABEL } },
2152
+ fields: [{
2153
+ type: "row",
2154
+ fields: [{
2155
+ name: "type",
2156
+ type: "select",
2157
+ label: "Type",
2158
+ required: true,
2159
+ defaultValue: "collection",
2160
+ options: [{
2161
+ label: "Collection",
2162
+ value: "collection"
2163
+ }, {
2164
+ label: "Global",
2165
+ value: "global"
2166
+ }],
2167
+ admin: { width: "40%" }
2168
+ }, {
2169
+ name: "slug",
2170
+ type: "text",
2171
+ label: "Slug",
2172
+ required: true,
2173
+ validate: validateAdminNavSlug,
2174
+ admin: {
2175
+ width: "60%",
2176
+ components: { Field: ADMIN_NAV_ENTITY_FIELD }
2177
+ }
2178
+ }]
2179
+ }]
2180
+ }]
2181
+ };
2182
+ /**
2183
+ * Settings → Admin nav. Developer chrome, not a Features row. Save writes
2184
+ * immediately. The package Nav reads this document. An empty row falls
2185
+ * back to Payload's first-seen walk; a saved row is the sidebar.
2186
+ */
2187
+ function createAdminNav() {
2188
+ return {
2189
+ slug: ADMIN_NAV_SLUG,
2190
+ label: "Admin nav",
2191
+ admin: {
2192
+ group: "Settings",
2193
+ hidden: hideUnlessDeveloper,
2194
+ description: "Sidebar group headers and order. An empty document falls back to Payload's first-seen walk. Once you save, only the groups and items you listed appear — omitted collections and globals stay off the sidebar."
2195
+ },
2196
+ access: {
2197
+ read: isAuthenticated,
2198
+ update: ({ req }) => isDeveloper(req.user)
2199
+ },
2200
+ fields: [groupsField]
2201
+ };
2202
+ }
2203
+ //#endregion
2204
+ //#region src/admin-nav/plugin.ts
2205
+ /**
2206
+ * Sets `admin.components.Nav` to the package Nav. A consuming site must
2207
+ * not write its own Nav — SPI-10 is the later skin, and it reads
2208
+ * `resolveAdminNav` rather than a second layout source.
2209
+ */
2210
+ const adminNav = definePlugin({
2211
+ slug: "admin-nav",
2212
+ order: 1e3,
2213
+ plugin: ({ config }) => ({
2214
+ ...config,
2215
+ admin: {
2216
+ ...config.admin,
2217
+ components: {
2218
+ ...config.admin?.components,
2219
+ Nav: ADMIN_NAV
2220
+ }
2221
+ }
2222
+ })
2223
+ });
2224
+ //#endregion
2225
+ //#region src/admin-nav/resolve.ts
2226
+ function sidebarGroup(group) {
2227
+ if (group === false) return false;
2228
+ if (typeof group === "string") return group;
2229
+ return "";
2230
+ }
2231
+ function asLabel(value, fallback) {
2232
+ return typeof value === "string" && value ? value : fallback;
2233
+ }
2234
+ function entityLabel(entity, type) {
2235
+ if (type === "collection") return asLabel(entity.labels?.plural, asLabel(entity.labels?.singular, entity.slug));
2236
+ return asLabel(entity.label, entity.slug);
2237
+ }
2238
+ function keyOf(type, slug) {
2239
+ return `${type}:${slug}`;
2240
+ }
2241
+ function catalog$1(config) {
2242
+ const collections = (config.collections ?? []).map((entity) => ({
2243
+ type: "collection",
2244
+ slug: entity.slug,
2245
+ label: entityLabel(entity, "collection"),
2246
+ group: sidebarGroup(entity.admin?.group)
2247
+ }));
2248
+ const globals = (config.globals ?? []).map((entity) => ({
2249
+ type: "global",
2250
+ slug: entity.slug,
2251
+ label: entityLabel(entity, "global"),
2252
+ group: sidebarGroup(entity.admin?.group)
2253
+ }));
2254
+ return [...collections, ...globals];
2255
+ }
2256
+ function defaultGroups(entities) {
2257
+ const groups = [];
2258
+ for (const entity of entities) {
2259
+ if (entity.group === false) continue;
2260
+ let group = groups.find((entry) => entry.label === entity.group);
2261
+ if (!group) {
2262
+ group = {
2263
+ label: entity.group,
2264
+ items: []
2265
+ };
2266
+ groups.push(group);
2267
+ }
2268
+ group.items.push({
2269
+ type: entity.type,
2270
+ slug: entity.slug,
2271
+ label: entity.label
2272
+ });
2273
+ }
2274
+ return groups;
2275
+ }
2276
+ function itemFromSaved(item, byKey) {
2277
+ const type = item.type === "global" || item.type === "collection" ? item.type : null;
2278
+ const slug = typeof item.slug === "string" ? item.slug : "";
2279
+ if (!type || !slug) return null;
2280
+ const entity = byKey.get(keyOf(type, slug));
2281
+ if (!entity || entity.group === false) return null;
2282
+ return {
2283
+ type,
2284
+ slug,
2285
+ label: entity.label
2286
+ };
2287
+ }
2288
+ function fromDocument(doc, entities) {
2289
+ const byKey = new Map(entities.map((entity) => [keyOf(entity.type, entity.slug), entity]));
2290
+ return (doc.groups ?? []).map((row) => ({
2291
+ label: typeof row.label === "string" ? row.label : "",
2292
+ items: (row.items ?? []).flatMap((item) => {
2293
+ const resolved = itemFromSaved(item ?? {}, byKey);
2294
+ return resolved ? [resolved] : [];
2295
+ })
2296
+ }));
2297
+ }
2298
+ /**
2299
+ * Layout for the package Nav (and later SPI-10). Permissions are
2300
+ * `visibleEntities` — this function does not re-derive access.
2301
+ */
2302
+ function resolveAdminNav({ config, doc, visibleEntities }) {
2303
+ const entities = catalog$1(config);
2304
+ const saved = Array.isArray(doc?.groups) ? doc.groups : [];
2305
+ let groups = saved.length === 0 ? defaultGroups(entities) : fromDocument({ groups: saved }, entities);
2306
+ if (visibleEntities) {
2307
+ const collections = new Set(visibleEntities.collections ?? []);
2308
+ const globals = new Set(visibleEntities.globals ?? []);
2309
+ groups = groups.map((group) => ({
2310
+ ...group,
2311
+ items: group.items.filter((item) => item.type === "collection" ? collections.has(item.slug) : globals.has(item.slug))
2312
+ }));
2313
+ }
2314
+ return groups;
2315
+ }
2316
+ //#endregion
2317
+ //#region src/navigation/link.ts
2318
+ /**
2319
+ * Same import-map string as `@bison-lab/payload-blocks`. A site that
2320
+ * already generates the blocks admin map gets the picker; a missing
2321
+ * entry renders the row as nothing, so `payload generate:importmap` is
2322
+ * part of adopting this factory.
2323
+ */
2324
+ const LINK_FIELD = "@bison-lab/payload-blocks/admin#LinkField";
2325
+ function linkTypeOf(link) {
2326
+ if (link?.type === "external") return "external";
2327
+ if (link?.type === "page") return "page";
2328
+ return link?.href ? "external" : "page";
2329
+ }
2330
+ const whenPage = (_data, siblingData) => linkTypeOf(siblingData) === "page";
2331
+ const whenExternal = (_data, siblingData) => linkTypeOf(siblingData) === "external";
2332
+ function linkDestinationFields({ required = false, pagesCollection = "pages" } = {}) {
2333
+ return [{
2334
+ type: "row",
2335
+ admin: { components: { Field: LINK_FIELD } },
2336
+ fields: [
2337
+ {
2338
+ name: "type",
2339
+ type: "radio",
2340
+ label: "Goes to",
2341
+ defaultValue: "page",
2342
+ options: [{
2343
+ label: "Page",
2344
+ value: "page"
2345
+ }, {
2346
+ label: "URL",
2347
+ value: "external"
2348
+ }],
2349
+ admin: { layout: "horizontal" }
2350
+ },
2351
+ {
2352
+ name: "page",
2353
+ type: "relationship",
2354
+ relationTo: pagesCollection,
2355
+ required,
2356
+ filterOptions: { _status: { equals: "published" } },
2357
+ admin: { condition: whenPage }
2358
+ },
2359
+ {
2360
+ name: "href",
2361
+ type: "text",
2362
+ label: "URL",
2363
+ required,
2364
+ admin: {
2365
+ condition: whenExternal,
2366
+ description: "A full URL (\"https://example.com\"), \"mailto:\" or \"tel:\", or a site path (\"/contact\")."
2367
+ }
2368
+ }
2369
+ ]
2370
+ }];
2371
+ }
2372
+ function linkFields({ required = false, pagesCollection } = {}) {
2373
+ return [
2374
+ ...linkDestinationFields({
2375
+ required,
2376
+ pagesCollection
2377
+ }),
2378
+ {
2379
+ name: "label",
2380
+ type: "text",
2381
+ label: "Label",
2382
+ required
2383
+ },
2384
+ {
2385
+ name: "newTab",
2386
+ type: "checkbox",
2387
+ label: "Open in a new tab",
2388
+ defaultValue: false
2389
+ }
2390
+ ];
2391
+ }
2392
+ function linkField({ name = "link", label, admin, required, pagesCollection } = {}) {
2393
+ return {
2394
+ name,
2395
+ type: "group",
2396
+ fields: linkFields({
2397
+ required,
2398
+ pagesCollection
2399
+ }),
2400
+ ...label === void 0 ? {} : { label },
2401
+ ...admin === void 0 ? {} : { admin }
2402
+ };
2403
+ }
2404
+ function footerLinkFields({ required = false, pagesCollection } = {}) {
2405
+ return linkFields({
2406
+ required,
2407
+ pagesCollection
2408
+ });
2409
+ }
2410
+ //#endregion
2411
+ //#region src/navigation/global.ts
2412
+ const refusePublishWithoutTick = async ({ data, req }) => {
2413
+ if (data._status !== "published") return data;
2414
+ if (!req.user) return data;
2415
+ if (await Promise.resolve(canPublish({ req }))) return data;
2416
+ throw new Forbidden();
2417
+ };
2418
+ /**
2419
+ * Header (`navigation` / `nav`) and Footer (`navigation-footer` / `navf`).
2420
+ * One Features tick (`navigation`). Independent Save / Publish / drafts —
2421
+ * a draft header does not publish the footer.
2422
+ */
2423
+ function createNavigation({ blocks, footerColumnRowLabel, footerLinkRowLabel, preview, livePreview, previewButton, pagesCollection }) {
2424
+ if (blocks.length === 0) throw new Error("createNavigation needs at least one header block");
2425
+ const hidden = hideUnlessFeature(NAVIGATION_FEATURE);
2426
+ const update = canUseFeature(NAVIGATION_FEATURE);
2427
+ const previewAdmin = {
2428
+ ...preview ? { preview } : {},
2429
+ ...livePreview ? { livePreview } : {},
2430
+ ...previewButton ? { components: { elements: { PreviewButton: previewButton } } } : {}
2431
+ };
2432
+ return [{
2433
+ slug: NAVIGATION_SLUG,
2434
+ dbName: "nav",
2435
+ label: "Header",
2436
+ admin: {
2437
+ group: "Navigation",
2438
+ hidden,
2439
+ description: "The public header. A draft never reaches the live site until you publish.",
2440
+ ...previewAdmin
2441
+ },
2442
+ access: {
2443
+ read: () => true,
2444
+ readVersions: isAuthenticated,
2445
+ update
2446
+ },
2447
+ versions: { drafts: { autosave: { interval: 375 } } },
2448
+ hooks: { beforeChange: [refusePublishWithoutTick] },
2449
+ fields: [{
2450
+ name: "header",
2451
+ type: "group",
2452
+ label: false,
2453
+ fields: [{
2454
+ name: "items",
2455
+ type: "blocks",
2456
+ labels: {
2457
+ singular: "Item",
2458
+ plural: "Items"
2459
+ },
2460
+ blocks,
2461
+ admin: { description: "Bar items, left to right. A mega menu leads with the choice a visitor has to make and keeps the other groups as named lists. A plain link is a bar item with nothing to open. Column widths in a panel must add up to 100%." }
2462
+ }, linkField({
2463
+ name: "cta",
2464
+ label: "Header button",
2465
+ required: true,
2466
+ pagesCollection,
2467
+ admin: { description: "The pill on the right of the bar." }
2468
+ })]
2469
+ }]
2470
+ }, {
2471
+ slug: NAVIGATION_FOOTER_SLUG,
2472
+ dbName: NAVIGATION_FOOTER_DB_NAME,
2473
+ label: "Footer",
2474
+ admin: {
2475
+ group: "Navigation",
2476
+ hidden,
2477
+ description: "The public footer shortcut columns. A draft never reaches the live site until you publish.",
2478
+ ...previewAdmin
2479
+ },
2480
+ access: {
2481
+ read: () => true,
2482
+ readVersions: isAuthenticated,
2483
+ update
2484
+ },
2485
+ versions: { drafts: { autosave: { interval: 375 } } },
2486
+ hooks: { beforeChange: [refusePublishWithoutTick] },
2487
+ fields: [{
2488
+ name: "footer",
2489
+ type: "group",
2490
+ label: false,
2491
+ fields: [{
2492
+ name: "columns",
2493
+ type: "array",
2494
+ dbName: "c",
2495
+ labels: {
2496
+ singular: "Column",
2497
+ plural: "Columns"
2498
+ },
2499
+ admin: {
2500
+ description: "A shortcut strip, not a sitemap. One entry per heading plus the few pages worth a standing link. Everything omitted here is still reachable from the header. Adding a link back to \"complete\" a column is the wrong instinct — the omissions are the point.",
2501
+ components: footerColumnRowLabel ? { RowLabel: footerColumnRowLabel } : void 0
2502
+ },
2503
+ fields: [{
2504
+ name: "heading",
2505
+ type: "text",
2506
+ required: true,
2507
+ label: "Heading"
2508
+ }, {
2509
+ name: "links",
2510
+ type: "array",
2511
+ labels: {
2512
+ singular: "Link",
2513
+ plural: "Links"
2514
+ },
2515
+ admin: { components: footerLinkRowLabel ? { RowLabel: footerLinkRowLabel } : void 0 },
2516
+ fields: footerLinkFields({
2517
+ required: true,
2518
+ pagesCollection
2519
+ })
2520
+ }]
2521
+ }]
2522
+ }]
2523
+ }];
2524
+ }
2525
+ //#endregion
2099
2526
  //#region src/plugins/admin-only-api-tab.ts
2100
2527
  function gateApiTab(entity) {
2101
2528
  const components = entity.admin?.components;
@@ -2177,6 +2604,6 @@ const documentTitleActions = definePlugin({
2177
2604
  plugin: ({ config }) => withTitleActions(config)
2178
2605
  });
2179
2606
  //#endregion
2180
- export { BRAND_ASSETS_MIME_TYPES, BRAND_ASSETS_SLUG, CAPABILITIES, CAPABILITY_FEATURES, DEFAULT_ROLE_GRANTS, DEFAULT_ROLE_MATRIX, DESCRIPTION_LENGTH, DEVELOPER_DESCRIPTION, DOCUMENT_CREATE_NEW, DOCUMENT_TITLE_ACTIONS, DUPLICATE_ROLE_NAME_MESSAGE, DUPLICATE_ROLE_SLUG_MESSAGE, FEATURES_MATRIX_FIELD, FEATURES_SLUG, FEATURE_GROUPS, FEATURE_GROUP_LABELS, INVALID_ROLE_NAME_MESSAGE, LAST_ADMIN_DELETE_MESSAGE, LAST_ADMIN_DEMOTE_MESSAGE, LAST_USERS_TICK_MESSAGE, LOOK_FIELD, MISSING_PACKAGE_FEATURES_MESSAGE, MISSING_SEED_ROLES_MESSAGE, PACKAGE_FEATURES, PACKAGE_FEATURE_SLUGS, PAGE_EDITOR_SYSTEM_KEYS, ROLES, ROLES_FIELD, ROLES_FIELD_DESCRIPTION, ROLES_GLOBAL_DESCRIPTION, ROLES_GRANTS_FIELD, ROLES_MATRIX_FIELD, ROLES_ROW_LABEL, ROLES_SLUG, ROLE_LABELS, ROLE_NAME_FIELD, ROLE_SLUG_FIELD, SHARE_IMAGE_SIZE, SYSTEM_COLOR_KEYS, THEME_APPEARANCE_FIELD, THEME_APPEARANCE_SLUG, THEME_COLORS_SLUG, THEME_COLOR_FIELD, THEME_COLOR_SCALE_FIELD, THEME_CONTRAST_REPORT, THEME_DOCUMENT_CONTROLS, THEME_FEATURE_SLUGS, THEME_FONT_FIELD, THEME_GREY_SCALE_FIELD, THEME_IDENTITY_FALLBACK, THEME_IDENTITY_SLUG, THEME_LIBRARY_FIELD, THEME_PAIRING_FIELD, THEME_PREVIEW_BREAKPOINTS, THEME_PUBLISH_FIELD, THEME_SAVE_BUTTON, THEME_SECTION_HEADING, THEME_SLUG, THEME_TYPOGRAPHY_SLUG, adminOnlyApiTab, allowedFeaturesForUser, applyRoleSlugsFromNames, authenticatedOrPublished, canManageBrand, canManageContent, canPublish, canUseFeature, colorTokenField, createBrandAssets, createFeatures, createMedia, createPages, createRoles, createTheme, createUsers, defaultFeaturesFieldValue, defaultRolesFieldValue, deleteLibraryColor, developerOnlyAccess, documentCreateNew, documentTitle, documentTitleActions, featureCatalogue, featureGroupLabel, findColorTokens, findColorUsages, firstImageIn, getFeaturesMatrix, getRolesMatrix, hasCapability, hasFeature, hasGrant, hasRole, hideUnlessDeveloper, hideUnlessFeature, isAdmin, isAdminOrSelf, isAuthenticated, isDeveloper, isDeveloperTab, isFeatureGroupId, isFeatureSlug, isLockedFeature, isPackageFeatureSlug, isPrivilegedRole, isRole, isRoleName, isRoleSlug, lookField, noIndexField, normalizeSlug, normalizeStoredRoles, pageEditorLooks, pageEditorTokens, parseFeaturesMatrix, parseRolesMatrix, persistThemeChild, publishThemeChild, resetRolesMatrix, resolveThemeIdentity, rewriteColorToken, rewriteColorTokens, rewriteColorUsages, roleDescription, roleLabel, roleSelectOptions, sanitizeRoleNameInput, sanitizeSvg, seedFeatures, seedRoleRows, seedRoles, seedTheme, seoPlugin, slugField, slugifyRoleName, stampFeatureCatalogue, storedRoles, themeColorKeys, themeLibraryFromDoc, titleTemplate, truncateAtWord, validateFeaturesMatrix, validateRolesMatrix };
2607
+ export { ADMIN_NAV, ADMIN_NAV_ENTITY_FIELD, ADMIN_NAV_ITEM_ROW_LABEL, ADMIN_NAV_ROW_LABEL, ADMIN_NAV_SLUG, BRAND_ASSETS_MIME_TYPES, BRAND_ASSETS_SLUG, CAPABILITIES, CAPABILITY_FEATURES, DEFAULT_ROLE_GRANTS, DEFAULT_ROLE_MATRIX, DESCRIPTION_LENGTH, DEVELOPER_DESCRIPTION, DOCUMENT_CREATE_NEW, DOCUMENT_TITLE_ACTIONS, DUPLICATE_ROLE_NAME_MESSAGE, DUPLICATE_ROLE_SLUG_MESSAGE, FEATURES_MATRIX_FIELD, FEATURES_SLUG, FEATURE_GROUPS, FEATURE_GROUP_LABELS, INVALID_ROLE_NAME_MESSAGE, LAST_ADMIN_DELETE_MESSAGE, LAST_ADMIN_DEMOTE_MESSAGE, LAST_USERS_TICK_MESSAGE, LOOK_FIELD, MISSING_PACKAGE_FEATURES_MESSAGE, MISSING_SEED_ROLES_MESSAGE, NAVIGATION_DB_NAME, NAVIGATION_FEATURE, NAVIGATION_FOOTER_DB_NAME, NAVIGATION_FOOTER_SLUG, NAVIGATION_SLUG, PACKAGE_FEATURES, PACKAGE_FEATURE_SLUGS, PAGE_EDITOR_SYSTEM_KEYS, ROLES, ROLES_FIELD, ROLES_FIELD_DESCRIPTION, ROLES_GLOBAL_DESCRIPTION, ROLES_GRANTS_FIELD, ROLES_MATRIX_FIELD, ROLES_ROW_LABEL, ROLES_SLUG, ROLE_LABELS, ROLE_NAME_FIELD, ROLE_SLUG_FIELD, SHARE_IMAGE_SIZE, SYSTEM_COLOR_KEYS, THEME_APPEARANCE_FIELD, THEME_APPEARANCE_SLUG, THEME_COLORS_SLUG, THEME_COLOR_FIELD, THEME_COLOR_SCALE_FIELD, THEME_CONTRAST_REPORT, THEME_DOCUMENT_CONTROLS, THEME_FEATURE_SLUGS, THEME_FONT_FIELD, THEME_GREY_SCALE_FIELD, THEME_IDENTITY_FALLBACK, THEME_IDENTITY_SLUG, THEME_LIBRARY_FIELD, THEME_PAIRING_FIELD, THEME_PREVIEW_BREAKPOINTS, THEME_PUBLISH_FIELD, THEME_SAVE_BUTTON, THEME_SECTION_HEADING, THEME_SLUG, THEME_TYPOGRAPHY_SLUG, adminNav, adminOnlyApiTab, allowedFeaturesForUser, applyRoleSlugsFromNames, authenticatedOrPublished, canManageBrand, canManageContent, canPublish, canUseFeature, colorTokenField, createAdminNav, createBrandAssets, createFeatures, createMedia, createNavigation, createPages, createRoles, createTheme, createUsers, defaultFeaturesFieldValue, defaultRolesFieldValue, deleteLibraryColor, developerOnlyAccess, documentCreateNew, documentTitle, documentTitleActions, featureCatalogue, featureGroupLabel, findColorTokens, findColorUsages, firstImageIn, getFeaturesMatrix, getNavigation, getRolesMatrix, hasCapability, hasFeature, hasGrant, hasRole, hideUnlessDeveloper, hideUnlessFeature, isAdmin, isAdminOrSelf, isAuthenticated, isDeveloper, isDeveloperTab, isFeatureGroupId, isFeatureSlug, isLockedFeature, isPackageFeatureSlug, isPrivilegedRole, isRole, isRoleName, isRoleSlug, lookField, noIndexField, normalizeSlug, normalizeStoredRoles, pageEditorLooks, pageEditorTokens, parseFeaturesMatrix, parseRolesMatrix, persistThemeChild, publishThemeChild, resetRolesMatrix, resolveAdminNav, resolveThemeIdentity, rewriteColorToken, rewriteColorTokens, rewriteColorUsages, roleDescription, roleLabel, roleSelectOptions, sanitizeRoleNameInput, sanitizeSvg, seedFeatures, seedRoleRows, seedRoles, seedTheme, seoPlugin, slugField, slugifyRoleName, stampFeatureCatalogue, storedRoles, themeColorKeys, themeLibraryFromDoc, titleTemplate, truncateAtWord, validateFeaturesMatrix, validateRolesMatrix };
2181
2608
 
2182
2609
  //# sourceMappingURL=index.mjs.map