@orion-studios/payload-studio 0.5.0-beta.110 → 0.5.0-beta.112
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/README.md +56 -74
- package/dist/admin-app/client.js +8 -0
- package/dist/admin-app/client.mjs +8 -0
- package/dist/admin-app/index.d.mts +1 -1
- package/dist/admin-app/index.d.ts +1 -1
- package/dist/{chunk-GKMBYYXF.mjs → chunk-3T2P6SDM.mjs} +0 -13
- package/dist/{index-ZbOx4OCF.d.mts → index-7lxTrxSG.d.mts} +1 -1
- package/dist/{index-ZbOx4OCF.d.ts → index-7lxTrxSG.d.ts} +1 -1
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +0 -13
- package/dist/index.mjs +1 -1
- package/dist/nextjs/index.js +0 -15
- package/dist/studio-pages/index.js +0 -13
- package/dist/studio-pages/index.mjs +1 -1
- package/package.json +10 -4
package/README.md
CHANGED
|
@@ -1,22 +1,67 @@
|
|
|
1
1
|
# @orion-studios/payload-studio
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
`payload-studio` is the base package for Orion's XO-style websites. It defines the supported contract for:
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
- Payload admin customization
|
|
6
|
+
- Studio builder primitives
|
|
7
|
+
- block schema and document compilation
|
|
8
|
+
- Next.js query helpers
|
|
9
|
+
- shared media and social/global helpers
|
|
6
10
|
|
|
7
|
-
|
|
11
|
+
## Canonical Guide
|
|
8
12
|
|
|
9
|
-
|
|
10
|
-
- Internal layout/style fields still remain in the schema for compile compatibility with existing pages.
|
|
11
|
-
- Editors should focus on content, media, typography, and a small set of block-specific variants.
|
|
13
|
+
Start here for any new project:
|
|
12
14
|
|
|
13
|
-
|
|
15
|
+
- [Studio Website Setup Guide](./docs/studio-website-setup-guide.md)
|
|
16
|
+
|
|
17
|
+
## Stable Import Pattern
|
|
18
|
+
|
|
19
|
+
Prefer explicit subpath imports.
|
|
20
|
+
|
|
21
|
+
```ts
|
|
22
|
+
import { configureAdmin, type StudioSection } from '@orion-studios/payload-studio/admin'
|
|
23
|
+
import { createPayloadClient, createPageQueries, createSiteQueries } from '@orion-studios/payload-studio/nextjs'
|
|
24
|
+
import { defaultPageLayoutBlocks } from '@orion-studios/payload-studio/blocks'
|
|
25
|
+
import { pageStudioModuleManifest } from '@orion-studios/payload-studio/studio-pages'
|
|
26
|
+
import { withImageUploadOptimization } from '@orion-studios/payload-studio/studio'
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
The root `@orion-studios/payload-studio` namespace export remains available for backward compatibility, but new integrations should treat subpath imports as the public contract.
|
|
30
|
+
|
|
31
|
+
## Quick Start
|
|
14
32
|
|
|
15
33
|
```bash
|
|
16
34
|
npm install @orion-studios/payload-studio
|
|
17
35
|
```
|
|
18
36
|
|
|
19
|
-
|
|
37
|
+
```ts
|
|
38
|
+
import { configureAdmin } from '@orion-studios/payload-studio/admin'
|
|
39
|
+
|
|
40
|
+
const adminConfig = configureAdmin({
|
|
41
|
+
brandName: 'Client Name',
|
|
42
|
+
brandPrimary: '#243654',
|
|
43
|
+
brandSecondary: '#b56f4d',
|
|
44
|
+
defaultTheme: 'brand-light',
|
|
45
|
+
logoUrl: '/branding/logo.svg',
|
|
46
|
+
studio: {
|
|
47
|
+
forms: {
|
|
48
|
+
enabled: true,
|
|
49
|
+
collectionSlug: 'forms',
|
|
50
|
+
submissionsCollectionSlug: 'form-submissions',
|
|
51
|
+
uploadsCollectionSlug: 'form-uploads',
|
|
52
|
+
},
|
|
53
|
+
globals: [
|
|
54
|
+
{ slug: 'site-settings', label: 'Website Settings' },
|
|
55
|
+
{ slug: 'header', label: 'Header & Navigation' },
|
|
56
|
+
{ slug: 'footer', label: 'Footer' },
|
|
57
|
+
{ slug: 'social-media', label: 'Social Media' },
|
|
58
|
+
{ slug: 'contact-form', label: 'Contact Form' },
|
|
59
|
+
],
|
|
60
|
+
},
|
|
61
|
+
})
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## Key Exports
|
|
20
65
|
|
|
21
66
|
- `@orion-studios/payload-studio/admin`
|
|
22
67
|
- `@orion-studios/payload-studio/admin/client`
|
|
@@ -31,80 +76,17 @@ npm install @orion-studios/payload-studio
|
|
|
31
76
|
- `@orion-studios/payload-studio/studio-pages/client`
|
|
32
77
|
- `@orion-studios/payload-studio/studio-pages/builder.css`
|
|
33
78
|
|
|
34
|
-
##
|
|
35
|
-
|
|
36
|
-
```ts
|
|
37
|
-
import { configureAdmin } from '@orion-studios/payload-studio/admin'
|
|
38
|
-
import { defaultPageLayoutBlocks } from '@orion-studios/payload-studio/blocks'
|
|
39
|
-
import { createPayloadClient, createPageQueries } from '@orion-studios/payload-studio/nextjs'
|
|
40
|
-
import { createStudioRegistry } from '@orion-studios/payload-studio/studio'
|
|
41
|
-
import { pageStudioModuleManifest } from '@orion-studios/payload-studio/studio-pages'
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
```ts
|
|
45
|
-
import { withImageUploadOptimization } from '@orion-studios/payload-studio/studio'
|
|
46
|
-
|
|
47
|
-
// In your Media collection:
|
|
48
|
-
// export const Media = withImageUploadOptimization({
|
|
49
|
-
// slug: 'media',
|
|
50
|
-
// upload: { ... },
|
|
51
|
-
// fields: [...],
|
|
52
|
-
// })
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
```ts
|
|
56
|
-
import { BuilderPageEditor } from '@orion-studios/payload-studio/studio-pages/client'
|
|
57
|
-
import '@orion-studios/payload-studio/studio-pages/builder.css'
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
```ts
|
|
61
|
-
import { AdminPage } from '@orion-studios/payload-studio/admin-app'
|
|
62
|
-
import { AdminShellClient } from '@orion-studios/payload-studio/admin-app/client'
|
|
63
|
-
import '@orion-studios/payload-studio/admin-app/styles.css'
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
## Social Media Global
|
|
79
|
+
## Add-on Integration
|
|
67
80
|
|
|
68
|
-
|
|
69
|
-
import { createSocialMediaGlobal } from '@orion-studios/payload-studio/admin'
|
|
70
|
-
|
|
71
|
-
export const globals = [
|
|
72
|
-
createSocialMediaGlobal(),
|
|
73
|
-
]
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
`createSocialMediaGlobal` creates a `social-media` global with:
|
|
77
|
-
|
|
78
|
-
- Major platforms (Facebook, Instagram, X, LinkedIn, YouTube, TikTok, Pinterest, Snapchat)
|
|
79
|
-
- URL field for each platform
|
|
80
|
-
- Four icon choices per platform (`Simple Icons`, `Font Awesome Brands`, `Tabler Brands`, `Remix Icons`)
|
|
81
|
-
|
|
82
|
-
You can fetch and normalize these links in Next.js:
|
|
83
|
-
|
|
84
|
-
```ts
|
|
85
|
-
import { createSiteQueries, resolveSocialMediaLinks } from '@orion-studios/payload-studio/nextjs'
|
|
86
|
-
|
|
87
|
-
const { getSocialMedia } = createSiteQueries(getPayloadClient)
|
|
88
|
-
const social = await getSocialMedia()
|
|
89
|
-
const links = resolveSocialMediaLinks(social)
|
|
90
|
-
```
|
|
81
|
+
`StudioSection` from `@orion-studios/payload-studio/admin` is the official contract for optional add-ons such as analytics and SEO.
|
|
91
82
|
|
|
92
83
|
## Build
|
|
93
84
|
|
|
94
85
|
```bash
|
|
95
|
-
npm install
|
|
96
86
|
npm run build
|
|
87
|
+
npm run test
|
|
97
88
|
```
|
|
98
89
|
|
|
99
|
-
## Upload Optimization Hook
|
|
100
|
-
|
|
101
|
-
`withImageUploadOptimization` and `createImageUploadOptimizationHook` compress raster uploads
|
|
102
|
-
before Payload writes files and before cloud storage adapters upload them.
|
|
103
|
-
|
|
104
|
-
- Preserves pixel dimensions (no resize)
|
|
105
|
-
- Optimizes JPEG / PNG / WebP / AVIF / TIFF
|
|
106
|
-
- Runs in a collection `beforeOperation` hook
|
|
107
|
-
|
|
108
90
|
## License
|
|
109
91
|
|
|
110
92
|
MIT © Orion Studios
|
package/dist/admin-app/client.js
CHANGED
|
@@ -72,6 +72,14 @@ function NavIcon({ name }) {
|
|
|
72
72
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("line", { x1: "8", y1: "13", x2: "16", y2: "13" }),
|
|
73
73
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("line", { x1: "8", y1: "17", x2: "12", y2: "17" })
|
|
74
74
|
] });
|
|
75
|
+
case "forms":
|
|
76
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("svg", { ...props, children: [
|
|
77
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M9 3h6" }),
|
|
78
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M12 3v18" }),
|
|
79
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M5 7h14a2 2 0 0 1 2 2v8a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4V9a2 2 0 0 1 2-2Z" }),
|
|
80
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M7 11h10" }),
|
|
81
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M7 15h6" })
|
|
82
|
+
] });
|
|
75
83
|
case "globals":
|
|
76
84
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("svg", { ...props, children: [
|
|
77
85
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { cx: "12", cy: "12", r: "3" }),
|
|
@@ -45,6 +45,14 @@ function NavIcon({ name }) {
|
|
|
45
45
|
/* @__PURE__ */ jsx("line", { x1: "8", y1: "13", x2: "16", y2: "13" }),
|
|
46
46
|
/* @__PURE__ */ jsx("line", { x1: "8", y1: "17", x2: "12", y2: "17" })
|
|
47
47
|
] });
|
|
48
|
+
case "forms":
|
|
49
|
+
return /* @__PURE__ */ jsxs("svg", { ...props, children: [
|
|
50
|
+
/* @__PURE__ */ jsx("path", { d: "M9 3h6" }),
|
|
51
|
+
/* @__PURE__ */ jsx("path", { d: "M12 3v18" }),
|
|
52
|
+
/* @__PURE__ */ jsx("path", { d: "M5 7h14a2 2 0 0 1 2 2v8a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4V9a2 2 0 0 1 2-2Z" }),
|
|
53
|
+
/* @__PURE__ */ jsx("path", { d: "M7 11h10" }),
|
|
54
|
+
/* @__PURE__ */ jsx("path", { d: "M7 15h6" })
|
|
55
|
+
] });
|
|
48
56
|
case "globals":
|
|
49
57
|
return /* @__PURE__ */ jsxs("svg", { ...props, children: [
|
|
50
58
|
/* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "3" }),
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { A as AdminBreadcrumbItem, a as AdminBreadcrumbs, b as AdminNavIcon, c as AdminNavInput, d as AdminNavItem, e as AdminNavLinkItem, f as AdminPage, g as AdminPageLinkOption, h as AdminPageRecord, j as AdminRole, M as MediaDetailPanelProps, k as MediaListItemProps, N as NestedNavItem, l as NestedNavItemInput, m as NestedNavTree, n as buildAdminPageLinkOptions, o as buildNestedNavTree, p as getAdminNavRows, q as navItemIsActive, r as normalizeAdminNavInputs, s as normalizeNestedNavItems, t as parseAdminHeaderNavFromForm, u as roleCanAccessNav } from '../index-
|
|
1
|
+
export { A as AdminBreadcrumbItem, a as AdminBreadcrumbs, b as AdminNavIcon, c as AdminNavInput, d as AdminNavItem, e as AdminNavLinkItem, f as AdminPage, g as AdminPageLinkOption, h as AdminPageRecord, j as AdminRole, M as MediaDetailPanelProps, k as MediaListItemProps, N as NestedNavItem, l as NestedNavItemInput, m as NestedNavTree, n as buildAdminPageLinkOptions, o as buildNestedNavTree, p as getAdminNavRows, q as navItemIsActive, r as normalizeAdminNavInputs, s as normalizeNestedNavItems, t as parseAdminHeaderNavFromForm, u as roleCanAccessNav } from '../index-7lxTrxSG.mjs';
|
|
2
2
|
import 'react/jsx-runtime';
|
|
3
3
|
import 'react';
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { A as AdminBreadcrumbItem, a as AdminBreadcrumbs, b as AdminNavIcon, c as AdminNavInput, d as AdminNavItem, e as AdminNavLinkItem, f as AdminPage, g as AdminPageLinkOption, h as AdminPageRecord, j as AdminRole, M as MediaDetailPanelProps, k as MediaListItemProps, N as NestedNavItem, l as NestedNavItemInput, m as NestedNavTree, n as buildAdminPageLinkOptions, o as buildNestedNavTree, p as getAdminNavRows, q as navItemIsActive, r as normalizeAdminNavInputs, s as normalizeNestedNavItems, t as parseAdminHeaderNavFromForm, u as roleCanAccessNav } from '../index-
|
|
1
|
+
export { A as AdminBreadcrumbItem, a as AdminBreadcrumbs, b as AdminNavIcon, c as AdminNavInput, d as AdminNavItem, e as AdminNavLinkItem, f as AdminPage, g as AdminPageLinkOption, h as AdminPageRecord, j as AdminRole, M as MediaDetailPanelProps, k as MediaListItemProps, N as NestedNavItem, l as NestedNavItemInput, m as NestedNavTree, n as buildAdminPageLinkOptions, o as buildNestedNavTree, p as getAdminNavRows, q as navItemIsActive, r as normalizeAdminNavInputs, s as normalizeNestedNavItems, t as parseAdminHeaderNavFromForm, u as roleCanAccessNav } from '../index-7lxTrxSG.js';
|
|
2
2
|
import 'react/jsx-runtime';
|
|
3
3
|
import 'react';
|
|
@@ -50,16 +50,6 @@ var resolveBuilderThemeTokens = (layers) => {
|
|
|
50
50
|
return merge(withPage, layers.block);
|
|
51
51
|
};
|
|
52
52
|
|
|
53
|
-
// src/studio-pages/builder/settings-v2/BlockInspectorRenderer.tsx
|
|
54
|
-
import { useMemo, useState as useState2 } from "react";
|
|
55
|
-
|
|
56
|
-
// src/studio-pages/builder/ui/Accordion.tsx
|
|
57
|
-
import { useEffect, useState } from "react";
|
|
58
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
59
|
-
|
|
60
|
-
// src/studio-pages/builder/ui/ImageControls.tsx
|
|
61
|
-
import { Fragment, jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
62
|
-
|
|
63
53
|
// src/studio-pages/builder/settings-v2/inspectorSchema.ts
|
|
64
54
|
var alignOptions = [
|
|
65
55
|
{ label: "Left", value: "left" },
|
|
@@ -410,9 +400,6 @@ var inspectorDefinitionByBlockType = {
|
|
|
410
400
|
}
|
|
411
401
|
};
|
|
412
402
|
|
|
413
|
-
// src/studio-pages/builder/settings-v2/BlockInspectorRenderer.tsx
|
|
414
|
-
import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
415
|
-
|
|
416
403
|
// src/studio-pages/migrations.ts
|
|
417
404
|
var isRecord2 = (value) => Boolean(value) && typeof value === "object" && !Array.isArray(value);
|
|
418
405
|
var assertPageStudioDocumentV1 = (value) => {
|
|
@@ -2,7 +2,7 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
|
2
2
|
import { ReactNode } from 'react';
|
|
3
3
|
|
|
4
4
|
type AdminRole = 'admin' | 'editor' | 'client';
|
|
5
|
-
type AdminNavIcon = 'dashboard' | 'pages' | 'globals' | 'media' | 'tools' | 'account';
|
|
5
|
+
type AdminNavIcon = 'dashboard' | 'pages' | 'forms' | 'globals' | 'media' | 'tools' | 'account';
|
|
6
6
|
type AdminNavItem = {
|
|
7
7
|
href: string;
|
|
8
8
|
icon?: AdminNavIcon;
|
|
@@ -2,7 +2,7 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
|
2
2
|
import { ReactNode } from 'react';
|
|
3
3
|
|
|
4
4
|
type AdminRole = 'admin' | 'editor' | 'client';
|
|
5
|
-
type AdminNavIcon = 'dashboard' | 'pages' | 'globals' | 'media' | 'tools' | 'account';
|
|
5
|
+
type AdminNavIcon = 'dashboard' | 'pages' | 'forms' | 'globals' | 'media' | 'tools' | 'account';
|
|
6
6
|
type AdminNavItem = {
|
|
7
7
|
href: string;
|
|
8
8
|
icon?: AdminNavIcon;
|
package/dist/index.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { i as admin } from './index-B7QvY3yF.mjs';
|
|
2
|
-
export { i as adminApp } from './index-
|
|
2
|
+
export { i as adminApp } from './index-7lxTrxSG.mjs';
|
|
3
3
|
export { i as blocks } from './index-CluwY0ZQ.mjs';
|
|
4
4
|
export { i as nextjs } from './index-D8BNfUJb.mjs';
|
|
5
5
|
export { i as studio } from './index-BzKOThsI.mjs';
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { i as admin } from './index-BK03FiEM.js';
|
|
2
|
-
export { i as adminApp } from './index-
|
|
2
|
+
export { i as adminApp } from './index-7lxTrxSG.js';
|
|
3
3
|
export { i as blocks } from './index-CluwY0ZQ.js';
|
|
4
4
|
export { i as nextjs } from './index-DD_E2UfJ.js';
|
|
5
5
|
export { i as studio } from './index-BzKOThsI.js';
|
package/dist/index.js
CHANGED
|
@@ -3851,16 +3851,6 @@ var resolveBuilderThemeTokens = (layers) => {
|
|
|
3851
3851
|
return merge(withPage, layers.block);
|
|
3852
3852
|
};
|
|
3853
3853
|
|
|
3854
|
-
// src/studio-pages/builder/settings-v2/BlockInspectorRenderer.tsx
|
|
3855
|
-
var import_react2 = require("react");
|
|
3856
|
-
|
|
3857
|
-
// src/studio-pages/builder/ui/Accordion.tsx
|
|
3858
|
-
var import_react = require("react");
|
|
3859
|
-
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
3860
|
-
|
|
3861
|
-
// src/studio-pages/builder/ui/ImageControls.tsx
|
|
3862
|
-
var import_jsx_runtime5 = require("react/jsx-runtime");
|
|
3863
|
-
|
|
3864
3854
|
// src/studio-pages/builder/settings-v2/inspectorSchema.ts
|
|
3865
3855
|
var alignOptions = [
|
|
3866
3856
|
{ label: "Left", value: "left" },
|
|
@@ -4211,9 +4201,6 @@ var inspectorDefinitionByBlockType = {
|
|
|
4211
4201
|
}
|
|
4212
4202
|
};
|
|
4213
4203
|
|
|
4214
|
-
// src/studio-pages/builder/settings-v2/BlockInspectorRenderer.tsx
|
|
4215
|
-
var import_jsx_runtime6 = require("react/jsx-runtime");
|
|
4216
|
-
|
|
4217
4204
|
// src/studio-pages/migrations.ts
|
|
4218
4205
|
var isRecord5 = (value) => Boolean(value) && typeof value === "object" && !Array.isArray(value);
|
|
4219
4206
|
var assertPageStudioDocumentV1 = (value) => {
|
package/dist/index.mjs
CHANGED
package/dist/nextjs/index.js
CHANGED
|
@@ -45,21 +45,6 @@ function createPayloadClient(config) {
|
|
|
45
45
|
// src/nextjs/queries/pages.ts
|
|
46
46
|
var import_cache = require("next/cache");
|
|
47
47
|
|
|
48
|
-
// src/studio/imageUploadOptimization.ts
|
|
49
|
-
var import_promises = require("fs/promises");
|
|
50
|
-
var DEFAULT_OPTIONS = {
|
|
51
|
-
avifQuality: 50,
|
|
52
|
-
enforceSmallerForLossy: true,
|
|
53
|
-
jpegQuality: 78,
|
|
54
|
-
minBytes: 48 * 1024,
|
|
55
|
-
minQualityFloor: 42,
|
|
56
|
-
onlyIfSmaller: true,
|
|
57
|
-
pngCompressionLevel: 9,
|
|
58
|
-
skipAnimated: true,
|
|
59
|
-
tiffQuality: 75,
|
|
60
|
-
webpQuality: 78
|
|
61
|
-
};
|
|
62
|
-
|
|
63
48
|
// src/studio/index.ts
|
|
64
49
|
var isRecord = (value) => Boolean(value) && typeof value === "object" && !Array.isArray(value);
|
|
65
50
|
function assertStudioDocumentV1(input) {
|
|
@@ -354,16 +354,6 @@ var resolveBuilderThemeTokens = (layers) => {
|
|
|
354
354
|
return merge(withPage, layers.block);
|
|
355
355
|
};
|
|
356
356
|
|
|
357
|
-
// src/studio-pages/builder/settings-v2/BlockInspectorRenderer.tsx
|
|
358
|
-
var import_react2 = require("react");
|
|
359
|
-
|
|
360
|
-
// src/studio-pages/builder/ui/Accordion.tsx
|
|
361
|
-
var import_react = require("react");
|
|
362
|
-
var import_jsx_runtime = require("react/jsx-runtime");
|
|
363
|
-
|
|
364
|
-
// src/studio-pages/builder/ui/ImageControls.tsx
|
|
365
|
-
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
366
|
-
|
|
367
357
|
// src/studio-pages/builder/settings-v2/inspectorSchema.ts
|
|
368
358
|
var alignOptions = [
|
|
369
359
|
{ label: "Left", value: "left" },
|
|
@@ -714,9 +704,6 @@ var inspectorDefinitionByBlockType = {
|
|
|
714
704
|
}
|
|
715
705
|
};
|
|
716
706
|
|
|
717
|
-
// src/studio-pages/builder/settings-v2/BlockInspectorRenderer.tsx
|
|
718
|
-
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
719
|
-
|
|
720
707
|
// src/studio-pages/document.ts
|
|
721
708
|
var ensureNodeID = (value, index) => {
|
|
722
709
|
if (typeof value === "string" && value.trim().length > 0) {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@orion-studios/payload-studio",
|
|
3
|
-
"version": "0.5.0-beta.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.5.0-beta.112",
|
|
4
|
+
"description": "Base CMS, builder, and custom admin toolkit for Orion Studios websites",
|
|
5
5
|
"types": "./dist/index.d.ts",
|
|
6
6
|
"main": "./dist/index.js",
|
|
7
7
|
"module": "./dist/index.mjs",
|
|
@@ -75,9 +75,9 @@
|
|
|
75
75
|
"dist"
|
|
76
76
|
],
|
|
77
77
|
"scripts": {
|
|
78
|
-
"build": "tsup && node
|
|
78
|
+
"build": "tsup && node scripts/copy-assets.mjs",
|
|
79
79
|
"dev": "tsup --watch",
|
|
80
|
-
"test": "tsx --test src/studio-pages/builder/settings-v2/__tests__/*.test.ts src/studio-pages/__tests__/*.test.ts",
|
|
80
|
+
"test": "tsx --test src/shared/__tests__/*.test.ts src/studio-pages/builder/settings-v2/__tests__/*.test.ts src/studio-pages/__tests__/*.test.ts",
|
|
81
81
|
"typecheck": "tsc --noEmit"
|
|
82
82
|
},
|
|
83
83
|
"overrides": {
|
|
@@ -98,6 +98,11 @@
|
|
|
98
98
|
],
|
|
99
99
|
"author": "Orion Studios",
|
|
100
100
|
"license": "MIT",
|
|
101
|
+
"sideEffects": [
|
|
102
|
+
"./dist/admin.css",
|
|
103
|
+
"./dist/admin-app/styles.css",
|
|
104
|
+
"./dist/studio-pages/builder.css"
|
|
105
|
+
],
|
|
101
106
|
"peerDependencies": {
|
|
102
107
|
"@payloadcms/richtext-lexical": "^3.0.0",
|
|
103
108
|
"@payloadcms/ui": "^3.0.0",
|
|
@@ -109,6 +114,7 @@
|
|
|
109
114
|
"devDependencies": {
|
|
110
115
|
"@payloadcms/richtext-lexical": "3.75.0",
|
|
111
116
|
"@payloadcms/ui": "3.75.0",
|
|
117
|
+
"@types/node": "^22.0.0",
|
|
112
118
|
"@types/react": "^19.0.0",
|
|
113
119
|
"@types/react-dom": "^19.0.0",
|
|
114
120
|
"next": "16.2.0",
|