@qwickapps/cms 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +45 -0
- package/README.md +203 -0
- package/dist/admin/components/AccordionItemRowLabel.d.ts +20 -0
- package/dist/admin/components/AccordionItemRowLabel.d.ts.map +1 -0
- package/dist/admin/components/AccordionItemRowLabel.js +47 -0
- package/dist/admin/components/AccordionItemRowLabel.js.map +1 -0
- package/dist/admin/components/BlockRowLabel.d.ts +19 -0
- package/dist/admin/components/BlockRowLabel.d.ts.map +1 -0
- package/dist/admin/components/BlockRowLabel.js +52 -0
- package/dist/admin/components/BlockRowLabel.js.map +1 -0
- package/dist/admin/components/ButtonRowLabel.d.ts +23 -0
- package/dist/admin/components/ButtonRowLabel.d.ts.map +1 -0
- package/dist/admin/components/ButtonRowLabel.js +63 -0
- package/dist/admin/components/ButtonRowLabel.js.map +1 -0
- package/dist/admin/components/CardRowLabel.d.ts +23 -0
- package/dist/admin/components/CardRowLabel.d.ts.map +1 -0
- package/dist/admin/components/CardRowLabel.js +59 -0
- package/dist/admin/components/CardRowLabel.js.map +1 -0
- package/dist/admin/components/ContentPreview.d.ts +12 -0
- package/dist/admin/components/ContentPreview.d.ts.map +1 -0
- package/dist/admin/components/ContentPreview.js +95 -0
- package/dist/admin/components/ContentPreview.js.map +1 -0
- package/dist/admin/components/Dashboard.d.ts +13 -0
- package/dist/admin/components/Dashboard.d.ts.map +1 -0
- package/dist/admin/components/Dashboard.js +7 -0
- package/dist/admin/components/Dashboard.js.map +1 -0
- package/dist/admin/components/DashboardContent.d.ts +11 -0
- package/dist/admin/components/DashboardContent.d.ts.map +1 -0
- package/dist/admin/components/DashboardContent.js +129 -0
- package/dist/admin/components/DashboardContent.js.map +1 -0
- package/dist/admin/components/FormFieldRowLabel.d.ts +21 -0
- package/dist/admin/components/FormFieldRowLabel.d.ts.map +1 -0
- package/dist/admin/components/FormFieldRowLabel.js +47 -0
- package/dist/admin/components/FormFieldRowLabel.js.map +1 -0
- package/dist/admin/components/Icon.d.ts +10 -0
- package/dist/admin/components/Icon.d.ts.map +1 -0
- package/dist/admin/components/Icon.js +16 -0
- package/dist/admin/components/Icon.js.map +1 -0
- package/dist/admin/components/Logo.d.ts +10 -0
- package/dist/admin/components/Logo.d.ts.map +1 -0
- package/dist/admin/components/Logo.js +16 -0
- package/dist/admin/components/Logo.js.map +1 -0
- package/dist/admin/components/NavigationItemRowLabel.d.ts +21 -0
- package/dist/admin/components/NavigationItemRowLabel.d.ts.map +1 -0
- package/dist/admin/components/NavigationItemRowLabel.js +43 -0
- package/dist/admin/components/NavigationItemRowLabel.js.map +1 -0
- package/dist/admin/components/NavigationSubItemRowLabel.d.ts +19 -0
- package/dist/admin/components/NavigationSubItemRowLabel.d.ts.map +1 -0
- package/dist/admin/components/NavigationSubItemRowLabel.js +32 -0
- package/dist/admin/components/NavigationSubItemRowLabel.js.map +1 -0
- package/dist/admin/components/PagesListHeader.d.ts +13 -0
- package/dist/admin/components/PagesListHeader.d.ts.map +1 -0
- package/dist/admin/components/PagesListHeader.js +48 -0
- package/dist/admin/components/PagesListHeader.js.map +1 -0
- package/dist/admin/components/ProductsListHeader.d.ts +13 -0
- package/dist/admin/components/ProductsListHeader.d.ts.map +1 -0
- package/dist/admin/components/ProductsListHeader.js +55 -0
- package/dist/admin/components/ProductsListHeader.js.map +1 -0
- package/dist/admin/components/styles/CollectionListHeader.css +161 -0
- package/dist/admin/components/styles/ContentPreview.css +416 -0
- package/dist/admin/components/styles/Dashboard.css +338 -0
- package/dist/admin/fields/ColorInput.d.ts +13 -0
- package/dist/admin/fields/ColorInput.d.ts.map +1 -0
- package/dist/admin/fields/ColorInput.js +201 -0
- package/dist/admin/fields/ColorInput.js.map +1 -0
- package/dist/admin/fields/index.d.ts +9 -0
- package/dist/admin/fields/index.d.ts.map +1 -0
- package/dist/admin/fields/index.js +9 -0
- package/dist/admin/fields/index.js.map +1 -0
- package/dist/admin/index.d.ts +24 -0
- package/dist/admin/index.d.ts.map +1 -0
- package/dist/admin/index.js +30 -0
- package/dist/admin/index.js.map +1 -0
- package/dist/blocks/ContentBlocks.d.ts +75 -0
- package/dist/blocks/ContentBlocks.d.ts.map +1 -0
- package/dist/blocks/ContentBlocks.js +1241 -0
- package/dist/blocks/ContentBlocks.js.map +1 -0
- package/dist/blocks/index.d.ts +2 -0
- package/dist/blocks/index.d.ts.map +1 -0
- package/dist/blocks/index.js +3 -0
- package/dist/blocks/index.js.map +1 -0
- package/dist/client/PayloadAPIClient.d.ts +65 -0
- package/dist/client/PayloadAPIClient.d.ts.map +1 -0
- package/dist/client/PayloadAPIClient.js +167 -0
- package/dist/client/PayloadAPIClient.js.map +1 -0
- package/dist/collections/Automations.d.ts +12 -0
- package/dist/collections/Automations.d.ts.map +1 -0
- package/dist/collections/Automations.js +741 -0
- package/dist/collections/Automations.js.map +1 -0
- package/dist/collections/Features.d.ts +3 -0
- package/dist/collections/Features.d.ts.map +1 -0
- package/dist/collections/Features.js +69 -0
- package/dist/collections/Features.js.map +1 -0
- package/dist/collections/Footer.d.ts +11 -0
- package/dist/collections/Footer.d.ts.map +1 -0
- package/dist/collections/Footer.js +130 -0
- package/dist/collections/Footer.js.map +1 -0
- package/dist/collections/FormSubmissions.d.ts +3 -0
- package/dist/collections/FormSubmissions.d.ts.map +1 -0
- package/dist/collections/FormSubmissions.js +119 -0
- package/dist/collections/FormSubmissions.js.map +1 -0
- package/dist/collections/Forms.d.ts +16 -0
- package/dist/collections/Forms.d.ts.map +1 -0
- package/dist/collections/Forms.js +308 -0
- package/dist/collections/Forms.js.map +1 -0
- package/dist/collections/HeroBlocks.d.ts +3 -0
- package/dist/collections/HeroBlocks.d.ts.map +1 -0
- package/dist/collections/HeroBlocks.js +115 -0
- package/dist/collections/HeroBlocks.js.map +1 -0
- package/dist/collections/Media.d.ts +3 -0
- package/dist/collections/Media.d.ts.map +1 -0
- package/dist/collections/Media.js +26 -0
- package/dist/collections/Media.js.map +1 -0
- package/dist/collections/Navigation.d.ts +3 -0
- package/dist/collections/Navigation.d.ts.map +1 -0
- package/dist/collections/Navigation.js +106 -0
- package/dist/collections/Navigation.js.map +1 -0
- package/dist/collections/Pages.d.ts +3 -0
- package/dist/collections/Pages.d.ts.map +1 -0
- package/dist/collections/Pages.js +94 -0
- package/dist/collections/Pages.js.map +1 -0
- package/dist/collections/Posts.d.ts +3 -0
- package/dist/collections/Posts.d.ts.map +1 -0
- package/dist/collections/Posts.js +134 -0
- package/dist/collections/Posts.js.map +1 -0
- package/dist/collections/Products.d.ts +3 -0
- package/dist/collections/Products.d.ts.map +1 -0
- package/dist/collections/Products.js +264 -0
- package/dist/collections/Products.js.map +1 -0
- package/dist/collections/Users.d.ts +3 -0
- package/dist/collections/Users.d.ts.map +1 -0
- package/dist/collections/Users.js +53 -0
- package/dist/collections/Users.js.map +1 -0
- package/dist/collections/hooks/index.d.ts +9 -0
- package/dist/collections/hooks/index.d.ts.map +1 -0
- package/dist/collections/hooks/index.js +9 -0
- package/dist/collections/hooks/index.js.map +1 -0
- package/dist/collections/hooks/loggingHooks.d.ts +45 -0
- package/dist/collections/hooks/loggingHooks.d.ts.map +1 -0
- package/dist/collections/hooks/loggingHooks.js +109 -0
- package/dist/collections/hooks/loggingHooks.js.map +1 -0
- package/dist/collections/index.d.ts +14 -0
- package/dist/collections/index.d.ts.map +1 -0
- package/dist/collections/index.js +16 -0
- package/dist/collections/index.js.map +1 -0
- package/dist/components/index.d.ts +2 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +4 -0
- package/dist/components/index.js.map +1 -0
- package/dist/globals/AdvancedSettings.d.ts +8 -0
- package/dist/globals/AdvancedSettings.d.ts.map +1 -0
- package/dist/globals/AdvancedSettings.js +157 -0
- package/dist/globals/AdvancedSettings.js.map +1 -0
- package/dist/globals/Integrations.d.ts +8 -0
- package/dist/globals/Integrations.d.ts.map +1 -0
- package/dist/globals/Integrations.js +270 -0
- package/dist/globals/Integrations.js.map +1 -0
- package/dist/globals/SiteSettings.d.ts +8 -0
- package/dist/globals/SiteSettings.d.ts.map +1 -0
- package/dist/globals/SiteSettings.js +258 -0
- package/dist/globals/SiteSettings.js.map +1 -0
- package/dist/globals/ThemeSettings.d.ts +11 -0
- package/dist/globals/ThemeSettings.d.ts.map +1 -0
- package/dist/globals/ThemeSettings.js +92 -0
- package/dist/globals/ThemeSettings.js.map +1 -0
- package/dist/globals/index.d.ts +5 -0
- package/dist/globals/index.d.ts.map +1 -0
- package/dist/globals/index.js +6 -0
- package/dist/globals/index.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +14 -0
- package/dist/index.js.map +1 -0
- package/dist/logging/index.d.ts +73 -0
- package/dist/logging/index.d.ts.map +1 -0
- package/dist/logging/index.js +190 -0
- package/dist/logging/index.js.map +1 -0
- package/dist/nextjs/BlockRenderer.d.ts +227 -0
- package/dist/nextjs/BlockRenderer.d.ts.map +1 -0
- package/dist/nextjs/BlockRenderer.js +358 -0
- package/dist/nextjs/BlockRenderer.js.map +1 -0
- package/dist/nextjs/ClientHomePage.d.ts +6 -0
- package/dist/nextjs/ClientHomePage.d.ts.map +1 -0
- package/dist/nextjs/ClientHomePage.js +17 -0
- package/dist/nextjs/ClientHomePage.js.map +1 -0
- package/dist/nextjs/ClientSideQwickApp.d.ts +23 -0
- package/dist/nextjs/ClientSideQwickApp.d.ts.map +1 -0
- package/dist/nextjs/ClientSideQwickApp.js +50 -0
- package/dist/nextjs/ClientSideQwickApp.js.map +1 -0
- package/dist/nextjs/DynamicQwickApp.d.ts +9 -0
- package/dist/nextjs/DynamicQwickApp.d.ts.map +1 -0
- package/dist/nextjs/DynamicQwickApp.js +19 -0
- package/dist/nextjs/DynamicQwickApp.js.map +1 -0
- package/dist/nextjs/FooterFromSettings.d.ts +6 -0
- package/dist/nextjs/FooterFromSettings.d.ts.map +1 -0
- package/dist/nextjs/FooterFromSettings.js +72 -0
- package/dist/nextjs/FooterFromSettings.js.map +1 -0
- package/dist/nextjs/FormBlockComponent.d.ts +25 -0
- package/dist/nextjs/FormBlockComponent.d.ts.map +1 -0
- package/dist/nextjs/FormBlockComponent.js +110 -0
- package/dist/nextjs/FormBlockComponent.js.map +1 -0
- package/dist/nextjs/HomePageContent.d.ts +6 -0
- package/dist/nextjs/HomePageContent.d.ts.map +1 -0
- package/dist/nextjs/HomePageContent.js +50 -0
- package/dist/nextjs/HomePageContent.js.map +1 -0
- package/dist/nextjs/LivePreviewClient.d.ts +40 -0
- package/dist/nextjs/LivePreviewClient.d.ts.map +1 -0
- package/dist/nextjs/LivePreviewClient.js +35 -0
- package/dist/nextjs/LivePreviewClient.js.map +1 -0
- package/dist/nextjs/RefreshRouteOnSave.d.ts +31 -0
- package/dist/nextjs/RefreshRouteOnSave.d.ts.map +1 -0
- package/dist/nextjs/RefreshRouteOnSave.js +59 -0
- package/dist/nextjs/RefreshRouteOnSave.js.map +1 -0
- package/dist/nextjs/ScriptsInjector.d.ts +2 -0
- package/dist/nextjs/ScriptsInjector.d.ts.map +1 -0
- package/dist/nextjs/ScriptsInjector.js +73 -0
- package/dist/nextjs/ScriptsInjector.js.map +1 -0
- package/dist/nextjs/ServerQwickApp.d.ts +13 -0
- package/dist/nextjs/ServerQwickApp.d.ts.map +1 -0
- package/dist/nextjs/ServerQwickApp.js +159 -0
- package/dist/nextjs/ServerQwickApp.js.map +1 -0
- package/dist/nextjs/SettingsProvider.d.ts +110 -0
- package/dist/nextjs/SettingsProvider.d.ts.map +1 -0
- package/dist/nextjs/SettingsProvider.js +107 -0
- package/dist/nextjs/SettingsProvider.js.map +1 -0
- package/dist/nextjs/SiteLogo.d.ts +35 -0
- package/dist/nextjs/SiteLogo.d.ts.map +1 -0
- package/dist/nextjs/SiteLogo.js +105 -0
- package/dist/nextjs/SiteLogo.js.map +1 -0
- package/dist/nextjs/framework.d.ts +19 -0
- package/dist/nextjs/framework.d.ts.map +1 -0
- package/dist/nextjs/framework.js +35 -0
- package/dist/nextjs/framework.js.map +1 -0
- package/dist/nextjs/index.d.ts +38 -0
- package/dist/nextjs/index.d.ts.map +1 -0
- package/dist/nextjs/index.js +47 -0
- package/dist/nextjs/index.js.map +1 -0
- package/dist/nextjs/metadata.d.ts +20 -0
- package/dist/nextjs/metadata.d.ts.map +1 -0
- package/dist/nextjs/metadata.js +107 -0
- package/dist/nextjs/metadata.js.map +1 -0
- package/dist/plugins/index.d.ts +2 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/plugins/index.js +3 -0
- package/dist/plugins/index.js.map +1 -0
- package/dist/plugins/qwickapps-plugin.d.ts +78 -0
- package/dist/plugins/qwickapps-plugin.d.ts.map +1 -0
- package/dist/plugins/qwickapps-plugin.js +154 -0
- package/dist/plugins/qwickapps-plugin.js.map +1 -0
- package/dist/providers/PayloadDataProvider.d.ts +72 -0
- package/dist/providers/PayloadDataProvider.d.ts.map +1 -0
- package/dist/providers/PayloadDataProvider.js +222 -0
- package/dist/providers/PayloadDataProvider.js.map +1 -0
- package/dist/providers/index.d.ts +2 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +3 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/styles/admin-theme.css +352 -0
- package/package.json +104 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/nextjs/index.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,sCAAsC,CAAC;AAG9C,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,KAAK,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAC3F,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAGlF,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG7D,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAGlF,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACrF,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAG7D,OAAO,EAAE,kBAAkB,EAAE,KAAK,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAC3F,OAAO,EAAE,iBAAiB,EAAE,KAAK,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAGxF,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAG5F,cAAc,gBAAgB,CAAC;AAG/B,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
/**
|
|
3
|
+
* QwickApps CMS - Next.js Integration Components
|
|
4
|
+
*
|
|
5
|
+
* This module provides ready-to-use Next.js components for integrating
|
|
6
|
+
* Payload CMS with the QwickApps Framework.
|
|
7
|
+
*
|
|
8
|
+
* Components included:
|
|
9
|
+
* - ServerQwickApp: Server component that fetches navigation and settings from CMS
|
|
10
|
+
* - ClientSideQwickApp: Client wrapper for QwickApp with PayloadDataProvider
|
|
11
|
+
* - ClientQwickApp: Simple client QwickApp wrapper (deprecated - use ServerQwickApp)
|
|
12
|
+
* - BlockRenderer: Renders Payload blocks as QwickApps Framework components
|
|
13
|
+
* - FormBlockComponent: Form renderer with CAPTCHA support
|
|
14
|
+
* - ScriptsInjector: Injects analytics and custom scripts
|
|
15
|
+
* - SettingsProvider: React Context for site settings
|
|
16
|
+
* - ClientHomePage: Homepage client component
|
|
17
|
+
* - HomePageContent: Homepage content component
|
|
18
|
+
* - DynamicQwickApp: Dynamic QwickApp loader
|
|
19
|
+
*
|
|
20
|
+
* Copyright (c) 2025 QwickApps.com. All rights reserved.
|
|
21
|
+
*/
|
|
22
|
+
import '@qwickapps/react-framework/index.css';
|
|
23
|
+
// Main app wrappers
|
|
24
|
+
export { ServerQwickApp } from './ServerQwickApp.js';
|
|
25
|
+
export { ClientSideQwickApp } from './ClientSideQwickApp.js';
|
|
26
|
+
export { DynamicQwickApp } from './DynamicQwickApp.js';
|
|
27
|
+
// Content rendering
|
|
28
|
+
export { BlockRenderer } from './BlockRenderer.js';
|
|
29
|
+
export { FormBlockComponent } from './FormBlockComponent.js';
|
|
30
|
+
// Homepage components
|
|
31
|
+
export { ClientHomePage } from './ClientHomePage.js';
|
|
32
|
+
export { HomePageContent } from './HomePageContent.js';
|
|
33
|
+
// Providers and utilities
|
|
34
|
+
export { SettingsProvider, useSettings } from './SettingsProvider.js';
|
|
35
|
+
export { ScriptsInjector } from './ScriptsInjector.js';
|
|
36
|
+
export { FooterFromSettings } from './FooterFromSettings.js';
|
|
37
|
+
export { SiteLogo } from './SiteLogo.js';
|
|
38
|
+
// Live Preview support
|
|
39
|
+
export { RefreshRouteOnSave } from './RefreshRouteOnSave.js';
|
|
40
|
+
export { LivePreviewClient } from './LivePreviewClient.js';
|
|
41
|
+
// Metadata utilities
|
|
42
|
+
export { generateRootMetadata, mergePageMetadata, getFaviconMetadata } from './metadata.js';
|
|
43
|
+
// Re-export framework components for convenience
|
|
44
|
+
export * from './framework.js';
|
|
45
|
+
// Re-export theme and palette providers for admin usage
|
|
46
|
+
export { ThemeProvider, PaletteProvider, useTheme, usePalette } from '@qwickapps/react-framework';
|
|
47
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/nextjs/index.ts"],"names":[],"mappings":"AAAA,cAAc;AACd;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,sCAAsC,CAAC;AAE9C,oBAAoB;AACpB,OAAO,EAAE,cAAc,EAA4B,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAgC,MAAM,yBAAyB,CAAC;AAC3F,OAAO,EAAE,eAAe,EAA6B,MAAM,sBAAsB,CAAC;AAElF,oBAAoB;AACpB,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,sBAAsB;AACtB,OAAO,EAAE,cAAc,EAA4B,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,eAAe,EAA6B,MAAM,sBAAsB,CAAC;AAElF,0BAA0B;AAC1B,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAiB,MAAM,uBAAuB,CAAC;AACrF,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAsB,MAAM,eAAe,CAAC;AAE7D,uBAAuB;AACvB,OAAO,EAAE,kBAAkB,EAAgC,MAAM,yBAAyB,CAAC;AAC3F,OAAO,EAAE,iBAAiB,EAA+B,MAAM,wBAAwB,CAAC;AAExF,qBAAqB;AACrB,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAE5F,iDAAiD;AACjD,cAAc,gBAAgB,CAAC;AAE/B,wDAAwD;AACxD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export declare const dynamic = "force-dynamic";
|
|
2
|
+
import type { Config } from 'payload';
|
|
3
|
+
import type { Metadata } from 'next';
|
|
4
|
+
import type { Settings } from './SettingsProvider';
|
|
5
|
+
/**
|
|
6
|
+
* Generate root layout metadata from CMS settings
|
|
7
|
+
* Used in app/layout.tsx for site-wide defaults
|
|
8
|
+
*/
|
|
9
|
+
export declare function generateRootMetadata(config: Config): Promise<Metadata>;
|
|
10
|
+
/**
|
|
11
|
+
* Merge page-specific metadata with site defaults
|
|
12
|
+
* Used in individual page generateMetadata functions
|
|
13
|
+
*/
|
|
14
|
+
export declare function mergePageMetadata(pageData: any, settings: Settings | null): Metadata;
|
|
15
|
+
/**
|
|
16
|
+
* Get favicon metadata from settings
|
|
17
|
+
* Helper for extracting favicon configuration
|
|
18
|
+
*/
|
|
19
|
+
export declare function getFaviconMetadata(settings: Settings | null): Metadata['icons'];
|
|
20
|
+
//# sourceMappingURL=metadata.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../src/nextjs/metadata.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,kBAAkB,CAAC;AAavC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CA8C5E;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,GAAG,EACb,QAAQ,EAAE,QAAQ,GAAG,IAAI,GACxB,QAAQ,CA4BV;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,CAU/E"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
export const dynamic = 'force-dynamic';
|
|
2
|
+
// @ts-nocheck
|
|
3
|
+
/**
|
|
4
|
+
* Metadata Generation Utilities
|
|
5
|
+
*
|
|
6
|
+
* Server-side utilities for generating Next.js metadata from Payload CMS settings.
|
|
7
|
+
* Used for SEO, social sharing, and browser metadata.
|
|
8
|
+
*
|
|
9
|
+
* Copyright (c) 2025 QwickApps.com. All rights reserved.
|
|
10
|
+
*/
|
|
11
|
+
import { getPayload } from 'payload';
|
|
12
|
+
/**
|
|
13
|
+
* Generate root layout metadata from CMS settings
|
|
14
|
+
* Used in app/layout.tsx for site-wide defaults
|
|
15
|
+
*/
|
|
16
|
+
export async function generateRootMetadata(config) {
|
|
17
|
+
try {
|
|
18
|
+
const payload = await getPayload({ config: config });
|
|
19
|
+
const [siteSettings, advancedSettings] = await Promise.all([
|
|
20
|
+
payload.findGlobal({ slug: 'site-settings', draft: false }).catch(() => ({})),
|
|
21
|
+
payload.findGlobal({ slug: 'advanced-settings', draft: false }).catch(() => ({})),
|
|
22
|
+
]);
|
|
23
|
+
const siteName = siteSettings.siteName || 'QwickPress';
|
|
24
|
+
const siteDescription = siteSettings.siteDescription;
|
|
25
|
+
const faviconUrl = siteSettings.favicon?.url;
|
|
26
|
+
const defaultOgImageUrl = advancedSettings.seo?.defaultOgImage?.url;
|
|
27
|
+
const twitterHandle = siteSettings.socialMedia?.twitter;
|
|
28
|
+
return {
|
|
29
|
+
title: {
|
|
30
|
+
template: `%s | ${siteName}`,
|
|
31
|
+
default: siteName,
|
|
32
|
+
},
|
|
33
|
+
description: siteDescription,
|
|
34
|
+
icons: faviconUrl ? {
|
|
35
|
+
icon: faviconUrl,
|
|
36
|
+
shortcut: faviconUrl,
|
|
37
|
+
apple: faviconUrl,
|
|
38
|
+
} : undefined,
|
|
39
|
+
openGraph: {
|
|
40
|
+
siteName,
|
|
41
|
+
type: 'website',
|
|
42
|
+
images: defaultOgImageUrl ? [defaultOgImageUrl] : undefined,
|
|
43
|
+
},
|
|
44
|
+
twitter: {
|
|
45
|
+
card: 'summary_large_image',
|
|
46
|
+
site: twitterHandle,
|
|
47
|
+
},
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
console.error('Error generating root metadata:', error);
|
|
52
|
+
// Return minimal fallback metadata
|
|
53
|
+
return {
|
|
54
|
+
title: {
|
|
55
|
+
template: '%s | QwickPress',
|
|
56
|
+
default: 'QwickPress',
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Merge page-specific metadata with site defaults
|
|
63
|
+
* Used in individual page generateMetadata functions
|
|
64
|
+
*/
|
|
65
|
+
export function mergePageMetadata(pageData, settings) {
|
|
66
|
+
const siteName = settings?.siteName || 'QwickPress';
|
|
67
|
+
const defaultDescription = settings?.seo?.defaultDescription;
|
|
68
|
+
const defaultKeywords = settings?.seo?.defaultKeywords;
|
|
69
|
+
const defaultOgImage = settings?.seo?.defaultOgImage?.url;
|
|
70
|
+
return {
|
|
71
|
+
title: pageData.seo?.title || pageData.title,
|
|
72
|
+
description: pageData.seo?.description || defaultDescription,
|
|
73
|
+
keywords: pageData.seo?.keywords || defaultKeywords,
|
|
74
|
+
openGraph: {
|
|
75
|
+
title: pageData.seo?.title || pageData.title,
|
|
76
|
+
description: pageData.seo?.description || defaultDescription,
|
|
77
|
+
siteName,
|
|
78
|
+
type: 'website',
|
|
79
|
+
images: pageData.seo?.ogImage?.url || defaultOgImage
|
|
80
|
+
? [pageData.seo?.ogImage?.url || defaultOgImage]
|
|
81
|
+
: undefined,
|
|
82
|
+
},
|
|
83
|
+
twitter: {
|
|
84
|
+
card: 'summary_large_image',
|
|
85
|
+
title: pageData.seo?.title || pageData.title,
|
|
86
|
+
description: pageData.seo?.description || defaultDescription,
|
|
87
|
+
images: pageData.seo?.ogImage?.url || defaultOgImage
|
|
88
|
+
? [pageData.seo?.ogImage?.url || defaultOgImage]
|
|
89
|
+
: undefined,
|
|
90
|
+
},
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Get favicon metadata from settings
|
|
95
|
+
* Helper for extracting favicon configuration
|
|
96
|
+
*/
|
|
97
|
+
export function getFaviconMetadata(settings) {
|
|
98
|
+
if (!settings?.favicon?.url) {
|
|
99
|
+
return undefined;
|
|
100
|
+
}
|
|
101
|
+
return {
|
|
102
|
+
icon: settings.favicon.url,
|
|
103
|
+
shortcut: settings.favicon.url,
|
|
104
|
+
apple: settings.favicon.url,
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=metadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/nextjs/metadata.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import type { Plugin } from 'payload';
|
|
2
|
+
/**
|
|
3
|
+
* QwickApps Integration Plugin for Payload CMS
|
|
4
|
+
*
|
|
5
|
+
* This plugin integrates QwickApps React Framework components
|
|
6
|
+
* with Payload CMS, enabling visual page building and component
|
|
7
|
+
* serialization.
|
|
8
|
+
*
|
|
9
|
+
* Features:
|
|
10
|
+
* - Component serialization/deserialization
|
|
11
|
+
* - Visual builder UI
|
|
12
|
+
* - Live preview
|
|
13
|
+
* - Component library management
|
|
14
|
+
*/
|
|
15
|
+
export interface QwickAppsPluginOptions {
|
|
16
|
+
/**
|
|
17
|
+
* Enable the visual builder UI
|
|
18
|
+
*/
|
|
19
|
+
enableVisualBuilder?: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Custom component registry
|
|
22
|
+
*/
|
|
23
|
+
components?: Record<string, any>;
|
|
24
|
+
/**
|
|
25
|
+
* Enable AI integration
|
|
26
|
+
*/
|
|
27
|
+
enableAI?: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* AI providers configuration
|
|
30
|
+
*/
|
|
31
|
+
aiProviders?: string[];
|
|
32
|
+
/**
|
|
33
|
+
* Collections to enable QwickApps integration
|
|
34
|
+
*/
|
|
35
|
+
collections?: string[];
|
|
36
|
+
}
|
|
37
|
+
export declare const qwickappsPlugin: (options?: QwickAppsPluginOptions) => Plugin;
|
|
38
|
+
/**
|
|
39
|
+
* Component Serialization Utilities
|
|
40
|
+
*
|
|
41
|
+
* These utilities help serialize and deserialize QwickApps components
|
|
42
|
+
* for storage in Payload CMS.
|
|
43
|
+
*/
|
|
44
|
+
export declare const serializeComponent: (component: any) => string;
|
|
45
|
+
export declare const deserializeComponent: (data: string) => any;
|
|
46
|
+
/**
|
|
47
|
+
* Component Library
|
|
48
|
+
*
|
|
49
|
+
* Registry of available QwickApps components for the visual builder
|
|
50
|
+
*/
|
|
51
|
+
export declare const getComponentLibrary: () => {
|
|
52
|
+
layout: {
|
|
53
|
+
id: string;
|
|
54
|
+
name: string;
|
|
55
|
+
category: string;
|
|
56
|
+
}[];
|
|
57
|
+
content: {
|
|
58
|
+
id: string;
|
|
59
|
+
name: string;
|
|
60
|
+
category: string;
|
|
61
|
+
}[];
|
|
62
|
+
media: {
|
|
63
|
+
id: string;
|
|
64
|
+
name: string;
|
|
65
|
+
category: string;
|
|
66
|
+
}[];
|
|
67
|
+
features: {
|
|
68
|
+
id: string;
|
|
69
|
+
name: string;
|
|
70
|
+
category: string;
|
|
71
|
+
}[];
|
|
72
|
+
navigation: {
|
|
73
|
+
id: string;
|
|
74
|
+
name: string;
|
|
75
|
+
category: string;
|
|
76
|
+
}[];
|
|
77
|
+
};
|
|
78
|
+
//# sourceMappingURL=qwickapps-plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"qwickapps-plugin.d.ts","sourceRoot":"","sources":["../../src/plugins/qwickapps-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAU,MAAM,EAAE,MAAM,SAAS,CAAC;AAE9C;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAEjC;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IAEvB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,eAAO,MAAM,eAAe,GAAI,UAAS,sBAA2B,KAAG,MAgHtE,CAAC;AAEF;;;;;GAKG;AAEH,eAAO,MAAM,kBAAkB,GAAI,WAAW,GAAG,KAAG,MAGnD,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,MAAM,MAAM,KAAG,GAGnD,CAAC;AAEF;;;;GAIG;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;CA6B/B,CAAC"}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
export const qwickappsPlugin = (options = {}) => {
|
|
2
|
+
const { enableVisualBuilder = true, components = {}, enableAI = false, aiProviders = [], collections = ['pages', 'posts'], } = options;
|
|
3
|
+
return (config) => {
|
|
4
|
+
// Add custom fields to collections
|
|
5
|
+
const enhancedCollections = config.collections?.map((collection) => {
|
|
6
|
+
// Only enhance specified collections
|
|
7
|
+
if (!collections.includes(collection.slug)) {
|
|
8
|
+
return collection;
|
|
9
|
+
}
|
|
10
|
+
return {
|
|
11
|
+
...collection,
|
|
12
|
+
fields: [
|
|
13
|
+
...collection.fields,
|
|
14
|
+
// Add QwickApps-specific fields if not already present
|
|
15
|
+
...(collection.fields.some((f) => f.name === 'qwickappsBuilder')
|
|
16
|
+
? []
|
|
17
|
+
: [
|
|
18
|
+
{
|
|
19
|
+
name: 'qwickappsBuilder',
|
|
20
|
+
type: 'group',
|
|
21
|
+
label: 'QwickApps Builder',
|
|
22
|
+
fields: [
|
|
23
|
+
{
|
|
24
|
+
name: 'enabled',
|
|
25
|
+
type: 'checkbox',
|
|
26
|
+
label: 'Use QwickApps Visual Builder',
|
|
27
|
+
defaultValue: true,
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
name: 'layout',
|
|
31
|
+
type: 'select',
|
|
32
|
+
label: 'Layout Template',
|
|
33
|
+
options: [
|
|
34
|
+
{ label: 'Default', value: 'default' },
|
|
35
|
+
{ label: 'Full Width', value: 'full-width' },
|
|
36
|
+
{ label: 'Narrow', value: 'narrow' },
|
|
37
|
+
{ label: 'Custom', value: 'custom' },
|
|
38
|
+
],
|
|
39
|
+
defaultValue: 'default',
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
name: 'theme',
|
|
43
|
+
type: 'select',
|
|
44
|
+
label: 'Theme',
|
|
45
|
+
options: [
|
|
46
|
+
{ label: 'Default', value: 'default' },
|
|
47
|
+
{ label: 'Ocean', value: 'ocean' },
|
|
48
|
+
{ label: 'Autumn', value: 'autumn' },
|
|
49
|
+
{ label: 'Winter', value: 'winter' },
|
|
50
|
+
{ label: 'Spring', value: 'spring' },
|
|
51
|
+
],
|
|
52
|
+
defaultValue: 'default',
|
|
53
|
+
},
|
|
54
|
+
],
|
|
55
|
+
},
|
|
56
|
+
]),
|
|
57
|
+
],
|
|
58
|
+
// Add custom admin components for visual builder
|
|
59
|
+
...(enableVisualBuilder
|
|
60
|
+
? {
|
|
61
|
+
admin: {
|
|
62
|
+
...collection.admin,
|
|
63
|
+
components: {
|
|
64
|
+
...collection.admin?.components,
|
|
65
|
+
// TODO: Add custom visual builder component
|
|
66
|
+
// views: {
|
|
67
|
+
// Edit: VisualBuilderView,
|
|
68
|
+
// },
|
|
69
|
+
},
|
|
70
|
+
},
|
|
71
|
+
}
|
|
72
|
+
: {}),
|
|
73
|
+
};
|
|
74
|
+
});
|
|
75
|
+
return {
|
|
76
|
+
...config,
|
|
77
|
+
collections: enhancedCollections,
|
|
78
|
+
// Add custom endpoints for AI integration
|
|
79
|
+
...(enableAI
|
|
80
|
+
? {
|
|
81
|
+
endpoints: [
|
|
82
|
+
...(config.endpoints || []),
|
|
83
|
+
{
|
|
84
|
+
path: '/ai/generate-content',
|
|
85
|
+
method: 'post',
|
|
86
|
+
handler: async (req) => {
|
|
87
|
+
// TODO: Implement AI content generation
|
|
88
|
+
return Response.json({ message: 'AI content generation endpoint' });
|
|
89
|
+
},
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
path: '/ai/optimize-seo',
|
|
93
|
+
method: 'post',
|
|
94
|
+
handler: async (req) => {
|
|
95
|
+
// TODO: Implement AI SEO optimization
|
|
96
|
+
return Response.json({ message: 'AI SEO optimization endpoint' });
|
|
97
|
+
},
|
|
98
|
+
},
|
|
99
|
+
],
|
|
100
|
+
}
|
|
101
|
+
: {}),
|
|
102
|
+
};
|
|
103
|
+
};
|
|
104
|
+
};
|
|
105
|
+
/**
|
|
106
|
+
* Component Serialization Utilities
|
|
107
|
+
*
|
|
108
|
+
* These utilities help serialize and deserialize QwickApps components
|
|
109
|
+
* for storage in Payload CMS.
|
|
110
|
+
*/
|
|
111
|
+
export const serializeComponent = (component) => {
|
|
112
|
+
// TODO: Integrate with @qwickapps/react-framework ComponentTransformer
|
|
113
|
+
return JSON.stringify(component);
|
|
114
|
+
};
|
|
115
|
+
export const deserializeComponent = (data) => {
|
|
116
|
+
// TODO: Integrate with @qwickapps/react-framework ComponentTransformer
|
|
117
|
+
return JSON.parse(data);
|
|
118
|
+
};
|
|
119
|
+
/**
|
|
120
|
+
* Component Library
|
|
121
|
+
*
|
|
122
|
+
* Registry of available QwickApps components for the visual builder
|
|
123
|
+
*/
|
|
124
|
+
export const getComponentLibrary = () => {
|
|
125
|
+
return {
|
|
126
|
+
layout: [
|
|
127
|
+
{ id: 'HeroBlock', name: 'Hero Block', category: 'Layout' },
|
|
128
|
+
{ id: 'Section', name: 'Section', category: 'Layout' },
|
|
129
|
+
{ id: 'GridLayout', name: 'Grid Layout', category: 'Layout' },
|
|
130
|
+
{ id: 'CollapsibleLayout', name: 'Collapsible Layout', category: 'Layout' },
|
|
131
|
+
],
|
|
132
|
+
content: [
|
|
133
|
+
{ id: 'Text', name: 'Text', category: 'Content' },
|
|
134
|
+
{ id: 'Content', name: 'Content Block', category: 'Content' },
|
|
135
|
+
{ id: 'Article', name: 'Article', category: 'Content' },
|
|
136
|
+
{ id: 'Html', name: 'HTML', category: 'Content' },
|
|
137
|
+
{ id: 'Markdown', name: 'Markdown', category: 'Content' },
|
|
138
|
+
],
|
|
139
|
+
media: [
|
|
140
|
+
{ id: 'Image', name: 'Image', category: 'Media' },
|
|
141
|
+
{ id: 'Code', name: 'Code Block', category: 'Media' },
|
|
142
|
+
],
|
|
143
|
+
features: [
|
|
144
|
+
{ id: 'FeatureGrid', name: 'Feature Grid', category: 'Features' },
|
|
145
|
+
{ id: 'FeatureCard', name: 'Feature Card', category: 'Features' },
|
|
146
|
+
{ id: 'ProductCard', name: 'Product Card', category: 'Features' },
|
|
147
|
+
],
|
|
148
|
+
navigation: [
|
|
149
|
+
{ id: 'ResponsiveMenu', name: 'Responsive Menu', category: 'Navigation' },
|
|
150
|
+
{ id: 'Breadcrumbs', name: 'Breadcrumbs', category: 'Navigation' },
|
|
151
|
+
],
|
|
152
|
+
};
|
|
153
|
+
};
|
|
154
|
+
//# sourceMappingURL=qwickapps-plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"qwickapps-plugin.js","sourceRoot":"","sources":["../../src/plugins/qwickapps-plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Payload CMS Data Provider Implementation
|
|
3
|
+
*
|
|
4
|
+
* Integrates Payload CMS with QwickApps React Framework data binding system.
|
|
5
|
+
* Fetches content from Payload REST API and transforms it to match framework schemas.
|
|
6
|
+
*
|
|
7
|
+
* Copyright (c) 2025 QwickApps.com. All rights reserved.
|
|
8
|
+
*/
|
|
9
|
+
import { Model } from '@qwickapps/schema';
|
|
10
|
+
import { DataResponse, IDataProvider, SelectOptions } from '@qwickapps/schema';
|
|
11
|
+
/**
|
|
12
|
+
* Configuration for Payload Data Provider
|
|
13
|
+
*/
|
|
14
|
+
export interface PayloadDataProviderConfig {
|
|
15
|
+
/** Base URL for Payload API (e.g., "http://localhost:3000/api") */
|
|
16
|
+
apiUrl?: string;
|
|
17
|
+
/** Enable debug logging */
|
|
18
|
+
debug?: boolean;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Payload CMS-based data provider for QwickApps Framework
|
|
22
|
+
*
|
|
23
|
+
* Fetches data from Payload REST API and provides it to framework components
|
|
24
|
+
* via the standard IDataProvider interface.
|
|
25
|
+
*
|
|
26
|
+
* Usage:
|
|
27
|
+
* ```tsx
|
|
28
|
+
* const payloadProvider = new PayloadDataProvider({
|
|
29
|
+
* apiUrl: 'http://localhost:3000/api'
|
|
30
|
+
* });
|
|
31
|
+
*
|
|
32
|
+
* <DataProvider dataSource={{ dataProvider: payloadProvider }}>
|
|
33
|
+
* <HeroBlock dataSource="hero-blocks" />
|
|
34
|
+
* </DataProvider>
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
export declare class PayloadDataProvider implements IDataProvider {
|
|
38
|
+
private apiUrl;
|
|
39
|
+
private debug;
|
|
40
|
+
constructor(config?: PayloadDataProviderConfig);
|
|
41
|
+
/**
|
|
42
|
+
* Get single data item by slug
|
|
43
|
+
*
|
|
44
|
+
* For Payload, slug can be:
|
|
45
|
+
* - Collection name (e.g., "hero-blocks") - returns first item
|
|
46
|
+
* - Collection with ID (e.g., "hero-blocks/1") - returns specific item
|
|
47
|
+
* - Nested path (e.g., "pages.home.hero") - navigates nested structure
|
|
48
|
+
*/
|
|
49
|
+
get<T extends Model>(slug: string): Promise<DataResponse<T>>;
|
|
50
|
+
/**
|
|
51
|
+
* Select multiple data items with query options
|
|
52
|
+
*
|
|
53
|
+
* Maps framework SelectOptions to Payload API query parameters
|
|
54
|
+
*/
|
|
55
|
+
select<T extends Model>(schema: string, options?: SelectOptions): Promise<DataResponse<T[]>>;
|
|
56
|
+
/**
|
|
57
|
+
* Parse slug into collection, ID, and nested path
|
|
58
|
+
*/
|
|
59
|
+
private parseSlug;
|
|
60
|
+
/**
|
|
61
|
+
* Navigate nested path in object
|
|
62
|
+
*/
|
|
63
|
+
private navigatePath;
|
|
64
|
+
/**
|
|
65
|
+
* Transform Payload data to match framework expectations
|
|
66
|
+
*
|
|
67
|
+
* Payload returns data with metadata (id, createdAt, updatedAt, etc.)
|
|
68
|
+
* This method can transform it to match framework component props
|
|
69
|
+
*/
|
|
70
|
+
private transformPayloadData;
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=PayloadDataProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PayloadDataProvider.d.ts","sourceRoot":"","sources":["../../src/providers/PayloadDataProvider.ts"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAE/E;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,mBAAoB,YAAW,aAAa;IACvD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAU;gBAEX,MAAM,GAAE,yBAA8B;IAKlD;;;;;;;OAOG;IACG,GAAG,CAAC,CAAC,SAAS,KAAK,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAsElE;;;;OAIG;IACG,MAAM,CAAC,CAAC,SAAS,KAAK,EAC1B,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC;IA0D7B;;OAEG;IACH,OAAO,CAAC,SAAS;IAuBjB;;OAEG;IACH,OAAO,CAAC,YAAY;IAepB;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;CAsB7B"}
|