@orion-studios/payload-studio 0.5.0-beta.99 → 0.6.0-beta.2

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 (62) hide show
  1. package/README.md +58 -68
  2. package/dist/admin/client.d.mts +6 -0
  3. package/dist/admin/client.d.ts +6 -0
  4. package/dist/admin/client.js +4533 -799
  5. package/dist/admin/client.mjs +3349 -756
  6. package/dist/admin/index.d.mts +2 -1
  7. package/dist/admin/index.d.ts +2 -1
  8. package/dist/admin/index.js +386 -55
  9. package/dist/admin/index.mjs +2 -1
  10. package/dist/admin-app/client.d.mts +1 -0
  11. package/dist/admin-app/client.d.ts +1 -0
  12. package/dist/admin-app/client.js +285 -109
  13. package/dist/admin-app/client.mjs +59 -871
  14. package/dist/admin-app/index.d.mts +2 -1
  15. package/dist/admin-app/index.d.ts +2 -1
  16. package/dist/admin-app/index.mjs +5 -3
  17. package/dist/admin-app/styles.css +1767 -56
  18. package/dist/admin.css +158 -35
  19. package/dist/blocks/index.js +415 -200
  20. package/dist/blocks/index.mjs +2 -2
  21. package/dist/{chunk-XK3K5GRP.mjs → chunk-JQAHXYAM.mjs} +271 -67
  22. package/dist/chunk-KPIX7OSV.mjs +1051 -0
  23. package/dist/chunk-OQSEJXC4.mjs +166 -0
  24. package/dist/{chunk-XHWQJUX5.mjs → chunk-OTHERBGX.mjs} +3 -3
  25. package/dist/chunk-PF3EBZXF.mjs +326 -0
  26. package/dist/{chunk-74XFAVXU.mjs → chunk-QJAWO6K3.mjs} +377 -55
  27. package/dist/{chunk-XVH5SCBD.mjs → chunk-RKTIFEUY.mjs} +4 -19
  28. package/dist/chunk-W2UOCJDX.mjs +32 -0
  29. package/dist/{chunk-C4J35SPJ.mjs → chunk-XKUTZ7IU.mjs} +257 -452
  30. package/dist/{index-ZbOx4OCF.d.mts → index-52HdVLQq.d.ts} +12 -22
  31. package/dist/index-B6_D4Hm4.d.ts +439 -0
  32. package/dist/index-CYaWadBl.d.mts +439 -0
  33. package/dist/index-Crx_MtPw.d.ts +223 -0
  34. package/dist/index-Cv-6qnrw.d.mts +223 -0
  35. package/dist/{index-ZbOx4OCF.d.ts → index-DEQC3Dwj.d.mts} +12 -22
  36. package/dist/{index-BIwu3qIH.d.mts → index-DWmudwDm.d.mts} +2 -1
  37. package/dist/{index-BIwu3qIH.d.ts → index-DWmudwDm.d.ts} +2 -1
  38. package/dist/index.d.mts +5 -4
  39. package/dist/index.d.ts +5 -4
  40. package/dist/index.js +1858 -1202
  41. package/dist/index.mjs +10 -8
  42. package/dist/nextjs/index.js +5 -684
  43. package/dist/nextjs/index.mjs +2 -3
  44. package/dist/sitePreviewTypes-BkHCWxNW.d.mts +58 -0
  45. package/dist/sitePreviewTypes-BkHCWxNW.d.ts +58 -0
  46. package/dist/studio/index.d.mts +1 -1
  47. package/dist/studio/index.d.ts +1 -1
  48. package/dist/studio-pages/builder.css +125 -83
  49. package/dist/studio-pages/client.d.mts +58 -1
  50. package/dist/studio-pages/client.d.ts +58 -1
  51. package/dist/studio-pages/client.js +450 -241
  52. package/dist/studio-pages/client.mjs +455 -247
  53. package/dist/studio-pages/index.d.mts +3 -2
  54. package/dist/studio-pages/index.d.ts +3 -2
  55. package/dist/studio-pages/index.js +418 -183
  56. package/dist/studio-pages/index.mjs +15 -6
  57. package/package.json +10 -4
  58. package/dist/chunk-SIL2J5MF.mjs +0 -155
  59. package/dist/index-BnoqmQDP.d.mts +0 -219
  60. package/dist/index-CTpik6fR.d.ts +0 -219
  61. package/dist/index-R7hA134j.d.mts +0 -140
  62. package/dist/index-vjrjy0P4.d.ts +0 -140
package/README.md CHANGED
@@ -1,102 +1,92 @@
1
1
  # @orion-studios/payload-studio
2
2
 
3
- Unified Payload CMS toolkit for Orion Studios projects.
3
+ `payload-studio` is the base package for Orion's XO-style websites. It defines the supported contract for:
4
4
 
5
- ## Install
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
- ```bash
8
- npm install @orion-studios/payload-studio
9
- ```
11
+ ## Canonical Guide
10
12
 
11
- ## Subpath Exports
13
+ Start here for any new project:
12
14
 
13
- - `@orion-studios/payload-studio/admin`
14
- - `@orion-studios/payload-studio/admin/client`
15
- - `@orion-studios/payload-studio/admin.css`
16
- - `@orion-studios/payload-studio/admin-app`
17
- - `@orion-studios/payload-studio/admin-app/client`
18
- - `@orion-studios/payload-studio/admin-app/styles.css`
19
- - `@orion-studios/payload-studio/blocks`
20
- - `@orion-studios/payload-studio/nextjs`
21
- - `@orion-studios/payload-studio/studio`
22
- - `@orion-studios/payload-studio/studio-pages`
23
- - `@orion-studios/payload-studio/studio-pages/client`
24
- - `@orion-studios/payload-studio/studio-pages/builder.css`
15
+ - [Studio Website Setup Guide](./docs/studio-website-setup-guide.md)
25
16
 
26
- ## Quick Usage
17
+ ## Stable Import Pattern
18
+
19
+ Prefer explicit subpath imports.
27
20
 
28
21
  ```ts
29
- import { configureAdmin } from '@orion-studios/payload-studio/admin'
22
+ import { configureAdmin, type StudioSection } from '@orion-studios/payload-studio/admin'
23
+ import { createPayloadClient, createPageQueries, createSiteQueries } from '@orion-studios/payload-studio/nextjs'
30
24
  import { defaultPageLayoutBlocks } from '@orion-studios/payload-studio/blocks'
31
- import { createPayloadClient, createPageQueries } from '@orion-studios/payload-studio/nextjs'
32
- import { createStudioRegistry } from '@orion-studios/payload-studio/studio'
33
25
  import { pageStudioModuleManifest } from '@orion-studios/payload-studio/studio-pages'
34
- ```
35
-
36
- ```ts
37
26
  import { withImageUploadOptimization } from '@orion-studios/payload-studio/studio'
38
-
39
- // In your Media collection:
40
- // export const Media = withImageUploadOptimization({
41
- // slug: 'media',
42
- // upload: { ... },
43
- // fields: [...],
44
- // })
45
27
  ```
46
28
 
47
- ```ts
48
- import { BuilderPageEditor } from '@orion-studios/payload-studio/studio-pages/client'
49
- import '@orion-studios/payload-studio/studio-pages/builder.css'
50
- ```
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.
51
30
 
52
- ```ts
53
- import { AdminPage } from '@orion-studios/payload-studio/admin-app'
54
- import { AdminShellClient } from '@orion-studios/payload-studio/admin-app/client'
55
- import '@orion-studios/payload-studio/admin-app/styles.css'
56
- ```
31
+ ## Quick Start
57
32
 
58
- ## Social Media Global
33
+ ```bash
34
+ npm install @orion-studios/payload-studio
35
+ ```
59
36
 
60
37
  ```ts
61
- import { createSocialMediaGlobal } from '@orion-studios/payload-studio/admin'
38
+ import { configureAdmin } from '@orion-studios/payload-studio/admin'
62
39
 
63
- export const globals = [
64
- createSocialMediaGlobal(),
65
- ]
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
+ })
66
62
  ```
67
63
 
68
- `createSocialMediaGlobal` creates a `social-media` global with:
69
-
70
- - Major platforms (Facebook, Instagram, X, LinkedIn, YouTube, TikTok, Pinterest, Snapchat)
71
- - URL field for each platform
72
- - Four icon choices per platform (`Simple Icons`, `Font Awesome Brands`, `Tabler Brands`, `Remix Icons`)
64
+ ## Key Exports
73
65
 
74
- You can fetch and normalize these links in Next.js:
66
+ - `@orion-studios/payload-studio/admin`
67
+ - `@orion-studios/payload-studio/admin/client`
68
+ - `@orion-studios/payload-studio/admin.css`
69
+ - `@orion-studios/payload-studio/admin-app`
70
+ - `@orion-studios/payload-studio/admin-app/client`
71
+ - `@orion-studios/payload-studio/admin-app/styles.css`
72
+ - `@orion-studios/payload-studio/blocks`
73
+ - `@orion-studios/payload-studio/nextjs`
74
+ - `@orion-studios/payload-studio/studio`
75
+ - `@orion-studios/payload-studio/studio-pages`
76
+ - `@orion-studios/payload-studio/studio-pages/client`
77
+ - `@orion-studios/payload-studio/studio-pages/builder.css`
75
78
 
76
- ```ts
77
- import { createSiteQueries, resolveSocialMediaLinks } from '@orion-studios/payload-studio/nextjs'
79
+ ## Add-on Integration
78
80
 
79
- const { getSocialMedia } = createSiteQueries(getPayloadClient)
80
- const social = await getSocialMedia()
81
- const links = resolveSocialMediaLinks(social)
82
- ```
81
+ `StudioSection` from `@orion-studios/payload-studio/admin` is the official contract for optional add-ons such as analytics and SEO.
83
82
 
84
83
  ## Build
85
84
 
86
85
  ```bash
87
- npm install
88
86
  npm run build
87
+ npm run test
89
88
  ```
90
89
 
91
- ## Upload Optimization Hook
92
-
93
- `withImageUploadOptimization` and `createImageUploadOptimizationHook` compress raster uploads
94
- before Payload writes files and before cloud storage adapters upload them.
95
-
96
- - Preserves pixel dimensions (no resize)
97
- - Optimizes JPEG / PNG / WebP / AVIF / TIFF
98
- - Runs in a collection `beforeOperation` hook
99
-
100
90
  ## License
101
91
 
102
92
  MIT © Orion Studios
@@ -9,6 +9,8 @@ export declare function useTheme(): {
9
9
 
10
10
  export declare const Logo: FC<any>
11
11
  export declare const Icon: FC<any>
12
+ export declare const AdminLoginIntro: FC<any>
13
+ export declare const AdminLoginPasswordToggle: FC<any>
12
14
  export declare const Dashboard: FC<any>
13
15
  export declare const ThemeSwitcher: FC<any>
14
16
  export declare const ThemeProvider: FC<any>
@@ -21,13 +23,17 @@ export declare const OrionBlocksField: FC<any>
21
23
  export declare const WelcomeHeader: FC<any>
22
24
  export declare const AdminStudioDashboard: FC<any>
23
25
  export declare const AdminStudioNav: FC<any>
26
+ export declare const StudioSectionLayout: FC<any>
24
27
  export declare const AdminStudioPagesListView: FC<any>
25
28
  export declare const AdminStudioPageEditView: FC<any>
26
29
  export declare const AdminStudioGlobalsView: FC<any>
27
30
  export declare const AdminStudioContactFormView: FC<any>
28
31
  export declare const AdminStudioMediaView: FC<any>
32
+ export declare const AdminStudioFormsView: FC<any>
29
33
  export declare const AdminStudioToolsView: FC<any>
30
34
  export declare const OpenInStudioMenuItem: FC<any>
31
35
  export declare const PageEditRedirectToStudio: FC<any>
32
36
  export declare const StudioBackBreadcrumb: FC<any>
33
37
  export declare const StudioContactFormRedirect: FC<any>
38
+ export declare function resolveAdminPath(adminBasePath: string, targetPath: string): string
39
+ export declare function useAdminBasePath(fallback?: string): string
@@ -9,6 +9,8 @@ export declare function useTheme(): {
9
9
 
10
10
  export declare const Logo: FC<any>
11
11
  export declare const Icon: FC<any>
12
+ export declare const AdminLoginIntro: FC<any>
13
+ export declare const AdminLoginPasswordToggle: FC<any>
12
14
  export declare const Dashboard: FC<any>
13
15
  export declare const ThemeSwitcher: FC<any>
14
16
  export declare const ThemeProvider: FC<any>
@@ -21,13 +23,17 @@ export declare const OrionBlocksField: FC<any>
21
23
  export declare const WelcomeHeader: FC<any>
22
24
  export declare const AdminStudioDashboard: FC<any>
23
25
  export declare const AdminStudioNav: FC<any>
26
+ export declare const StudioSectionLayout: FC<any>
24
27
  export declare const AdminStudioPagesListView: FC<any>
25
28
  export declare const AdminStudioPageEditView: FC<any>
26
29
  export declare const AdminStudioGlobalsView: FC<any>
27
30
  export declare const AdminStudioContactFormView: FC<any>
28
31
  export declare const AdminStudioMediaView: FC<any>
32
+ export declare const AdminStudioFormsView: FC<any>
29
33
  export declare const AdminStudioToolsView: FC<any>
30
34
  export declare const OpenInStudioMenuItem: FC<any>
31
35
  export declare const PageEditRedirectToStudio: FC<any>
32
36
  export declare const StudioBackBreadcrumb: FC<any>
33
37
  export declare const StudioContactFormRedirect: FC<any>
38
+ export declare function resolveAdminPath(adminBasePath: string, targetPath: string): string
39
+ export declare function useAdminBasePath(fallback?: string): string