@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.
Files changed (259) hide show
  1. package/LICENSE +45 -0
  2. package/README.md +203 -0
  3. package/dist/admin/components/AccordionItemRowLabel.d.ts +20 -0
  4. package/dist/admin/components/AccordionItemRowLabel.d.ts.map +1 -0
  5. package/dist/admin/components/AccordionItemRowLabel.js +47 -0
  6. package/dist/admin/components/AccordionItemRowLabel.js.map +1 -0
  7. package/dist/admin/components/BlockRowLabel.d.ts +19 -0
  8. package/dist/admin/components/BlockRowLabel.d.ts.map +1 -0
  9. package/dist/admin/components/BlockRowLabel.js +52 -0
  10. package/dist/admin/components/BlockRowLabel.js.map +1 -0
  11. package/dist/admin/components/ButtonRowLabel.d.ts +23 -0
  12. package/dist/admin/components/ButtonRowLabel.d.ts.map +1 -0
  13. package/dist/admin/components/ButtonRowLabel.js +63 -0
  14. package/dist/admin/components/ButtonRowLabel.js.map +1 -0
  15. package/dist/admin/components/CardRowLabel.d.ts +23 -0
  16. package/dist/admin/components/CardRowLabel.d.ts.map +1 -0
  17. package/dist/admin/components/CardRowLabel.js +59 -0
  18. package/dist/admin/components/CardRowLabel.js.map +1 -0
  19. package/dist/admin/components/ContentPreview.d.ts +12 -0
  20. package/dist/admin/components/ContentPreview.d.ts.map +1 -0
  21. package/dist/admin/components/ContentPreview.js +95 -0
  22. package/dist/admin/components/ContentPreview.js.map +1 -0
  23. package/dist/admin/components/Dashboard.d.ts +13 -0
  24. package/dist/admin/components/Dashboard.d.ts.map +1 -0
  25. package/dist/admin/components/Dashboard.js +7 -0
  26. package/dist/admin/components/Dashboard.js.map +1 -0
  27. package/dist/admin/components/DashboardContent.d.ts +11 -0
  28. package/dist/admin/components/DashboardContent.d.ts.map +1 -0
  29. package/dist/admin/components/DashboardContent.js +129 -0
  30. package/dist/admin/components/DashboardContent.js.map +1 -0
  31. package/dist/admin/components/FormFieldRowLabel.d.ts +21 -0
  32. package/dist/admin/components/FormFieldRowLabel.d.ts.map +1 -0
  33. package/dist/admin/components/FormFieldRowLabel.js +47 -0
  34. package/dist/admin/components/FormFieldRowLabel.js.map +1 -0
  35. package/dist/admin/components/Icon.d.ts +10 -0
  36. package/dist/admin/components/Icon.d.ts.map +1 -0
  37. package/dist/admin/components/Icon.js +16 -0
  38. package/dist/admin/components/Icon.js.map +1 -0
  39. package/dist/admin/components/Logo.d.ts +10 -0
  40. package/dist/admin/components/Logo.d.ts.map +1 -0
  41. package/dist/admin/components/Logo.js +16 -0
  42. package/dist/admin/components/Logo.js.map +1 -0
  43. package/dist/admin/components/NavigationItemRowLabel.d.ts +21 -0
  44. package/dist/admin/components/NavigationItemRowLabel.d.ts.map +1 -0
  45. package/dist/admin/components/NavigationItemRowLabel.js +43 -0
  46. package/dist/admin/components/NavigationItemRowLabel.js.map +1 -0
  47. package/dist/admin/components/NavigationSubItemRowLabel.d.ts +19 -0
  48. package/dist/admin/components/NavigationSubItemRowLabel.d.ts.map +1 -0
  49. package/dist/admin/components/NavigationSubItemRowLabel.js +32 -0
  50. package/dist/admin/components/NavigationSubItemRowLabel.js.map +1 -0
  51. package/dist/admin/components/PagesListHeader.d.ts +13 -0
  52. package/dist/admin/components/PagesListHeader.d.ts.map +1 -0
  53. package/dist/admin/components/PagesListHeader.js +48 -0
  54. package/dist/admin/components/PagesListHeader.js.map +1 -0
  55. package/dist/admin/components/ProductsListHeader.d.ts +13 -0
  56. package/dist/admin/components/ProductsListHeader.d.ts.map +1 -0
  57. package/dist/admin/components/ProductsListHeader.js +55 -0
  58. package/dist/admin/components/ProductsListHeader.js.map +1 -0
  59. package/dist/admin/components/styles/CollectionListHeader.css +161 -0
  60. package/dist/admin/components/styles/ContentPreview.css +416 -0
  61. package/dist/admin/components/styles/Dashboard.css +338 -0
  62. package/dist/admin/fields/ColorInput.d.ts +13 -0
  63. package/dist/admin/fields/ColorInput.d.ts.map +1 -0
  64. package/dist/admin/fields/ColorInput.js +201 -0
  65. package/dist/admin/fields/ColorInput.js.map +1 -0
  66. package/dist/admin/fields/index.d.ts +9 -0
  67. package/dist/admin/fields/index.d.ts.map +1 -0
  68. package/dist/admin/fields/index.js +9 -0
  69. package/dist/admin/fields/index.js.map +1 -0
  70. package/dist/admin/index.d.ts +24 -0
  71. package/dist/admin/index.d.ts.map +1 -0
  72. package/dist/admin/index.js +30 -0
  73. package/dist/admin/index.js.map +1 -0
  74. package/dist/blocks/ContentBlocks.d.ts +75 -0
  75. package/dist/blocks/ContentBlocks.d.ts.map +1 -0
  76. package/dist/blocks/ContentBlocks.js +1241 -0
  77. package/dist/blocks/ContentBlocks.js.map +1 -0
  78. package/dist/blocks/index.d.ts +2 -0
  79. package/dist/blocks/index.d.ts.map +1 -0
  80. package/dist/blocks/index.js +3 -0
  81. package/dist/blocks/index.js.map +1 -0
  82. package/dist/client/PayloadAPIClient.d.ts +65 -0
  83. package/dist/client/PayloadAPIClient.d.ts.map +1 -0
  84. package/dist/client/PayloadAPIClient.js +167 -0
  85. package/dist/client/PayloadAPIClient.js.map +1 -0
  86. package/dist/collections/Automations.d.ts +12 -0
  87. package/dist/collections/Automations.d.ts.map +1 -0
  88. package/dist/collections/Automations.js +741 -0
  89. package/dist/collections/Automations.js.map +1 -0
  90. package/dist/collections/Features.d.ts +3 -0
  91. package/dist/collections/Features.d.ts.map +1 -0
  92. package/dist/collections/Features.js +69 -0
  93. package/dist/collections/Features.js.map +1 -0
  94. package/dist/collections/Footer.d.ts +11 -0
  95. package/dist/collections/Footer.d.ts.map +1 -0
  96. package/dist/collections/Footer.js +130 -0
  97. package/dist/collections/Footer.js.map +1 -0
  98. package/dist/collections/FormSubmissions.d.ts +3 -0
  99. package/dist/collections/FormSubmissions.d.ts.map +1 -0
  100. package/dist/collections/FormSubmissions.js +119 -0
  101. package/dist/collections/FormSubmissions.js.map +1 -0
  102. package/dist/collections/Forms.d.ts +16 -0
  103. package/dist/collections/Forms.d.ts.map +1 -0
  104. package/dist/collections/Forms.js +308 -0
  105. package/dist/collections/Forms.js.map +1 -0
  106. package/dist/collections/HeroBlocks.d.ts +3 -0
  107. package/dist/collections/HeroBlocks.d.ts.map +1 -0
  108. package/dist/collections/HeroBlocks.js +115 -0
  109. package/dist/collections/HeroBlocks.js.map +1 -0
  110. package/dist/collections/Media.d.ts +3 -0
  111. package/dist/collections/Media.d.ts.map +1 -0
  112. package/dist/collections/Media.js +26 -0
  113. package/dist/collections/Media.js.map +1 -0
  114. package/dist/collections/Navigation.d.ts +3 -0
  115. package/dist/collections/Navigation.d.ts.map +1 -0
  116. package/dist/collections/Navigation.js +106 -0
  117. package/dist/collections/Navigation.js.map +1 -0
  118. package/dist/collections/Pages.d.ts +3 -0
  119. package/dist/collections/Pages.d.ts.map +1 -0
  120. package/dist/collections/Pages.js +94 -0
  121. package/dist/collections/Pages.js.map +1 -0
  122. package/dist/collections/Posts.d.ts +3 -0
  123. package/dist/collections/Posts.d.ts.map +1 -0
  124. package/dist/collections/Posts.js +134 -0
  125. package/dist/collections/Posts.js.map +1 -0
  126. package/dist/collections/Products.d.ts +3 -0
  127. package/dist/collections/Products.d.ts.map +1 -0
  128. package/dist/collections/Products.js +264 -0
  129. package/dist/collections/Products.js.map +1 -0
  130. package/dist/collections/Users.d.ts +3 -0
  131. package/dist/collections/Users.d.ts.map +1 -0
  132. package/dist/collections/Users.js +53 -0
  133. package/dist/collections/Users.js.map +1 -0
  134. package/dist/collections/hooks/index.d.ts +9 -0
  135. package/dist/collections/hooks/index.d.ts.map +1 -0
  136. package/dist/collections/hooks/index.js +9 -0
  137. package/dist/collections/hooks/index.js.map +1 -0
  138. package/dist/collections/hooks/loggingHooks.d.ts +45 -0
  139. package/dist/collections/hooks/loggingHooks.d.ts.map +1 -0
  140. package/dist/collections/hooks/loggingHooks.js +109 -0
  141. package/dist/collections/hooks/loggingHooks.js.map +1 -0
  142. package/dist/collections/index.d.ts +14 -0
  143. package/dist/collections/index.d.ts.map +1 -0
  144. package/dist/collections/index.js +16 -0
  145. package/dist/collections/index.js.map +1 -0
  146. package/dist/components/index.d.ts +2 -0
  147. package/dist/components/index.d.ts.map +1 -0
  148. package/dist/components/index.js +4 -0
  149. package/dist/components/index.js.map +1 -0
  150. package/dist/globals/AdvancedSettings.d.ts +8 -0
  151. package/dist/globals/AdvancedSettings.d.ts.map +1 -0
  152. package/dist/globals/AdvancedSettings.js +157 -0
  153. package/dist/globals/AdvancedSettings.js.map +1 -0
  154. package/dist/globals/Integrations.d.ts +8 -0
  155. package/dist/globals/Integrations.d.ts.map +1 -0
  156. package/dist/globals/Integrations.js +270 -0
  157. package/dist/globals/Integrations.js.map +1 -0
  158. package/dist/globals/SiteSettings.d.ts +8 -0
  159. package/dist/globals/SiteSettings.d.ts.map +1 -0
  160. package/dist/globals/SiteSettings.js +258 -0
  161. package/dist/globals/SiteSettings.js.map +1 -0
  162. package/dist/globals/ThemeSettings.d.ts +11 -0
  163. package/dist/globals/ThemeSettings.d.ts.map +1 -0
  164. package/dist/globals/ThemeSettings.js +92 -0
  165. package/dist/globals/ThemeSettings.js.map +1 -0
  166. package/dist/globals/index.d.ts +5 -0
  167. package/dist/globals/index.d.ts.map +1 -0
  168. package/dist/globals/index.js +6 -0
  169. package/dist/globals/index.js.map +1 -0
  170. package/dist/index.d.ts +9 -0
  171. package/dist/index.d.ts.map +1 -0
  172. package/dist/index.js +14 -0
  173. package/dist/index.js.map +1 -0
  174. package/dist/logging/index.d.ts +73 -0
  175. package/dist/logging/index.d.ts.map +1 -0
  176. package/dist/logging/index.js +190 -0
  177. package/dist/logging/index.js.map +1 -0
  178. package/dist/nextjs/BlockRenderer.d.ts +227 -0
  179. package/dist/nextjs/BlockRenderer.d.ts.map +1 -0
  180. package/dist/nextjs/BlockRenderer.js +358 -0
  181. package/dist/nextjs/BlockRenderer.js.map +1 -0
  182. package/dist/nextjs/ClientHomePage.d.ts +6 -0
  183. package/dist/nextjs/ClientHomePage.d.ts.map +1 -0
  184. package/dist/nextjs/ClientHomePage.js +17 -0
  185. package/dist/nextjs/ClientHomePage.js.map +1 -0
  186. package/dist/nextjs/ClientSideQwickApp.d.ts +23 -0
  187. package/dist/nextjs/ClientSideQwickApp.d.ts.map +1 -0
  188. package/dist/nextjs/ClientSideQwickApp.js +50 -0
  189. package/dist/nextjs/ClientSideQwickApp.js.map +1 -0
  190. package/dist/nextjs/DynamicQwickApp.d.ts +9 -0
  191. package/dist/nextjs/DynamicQwickApp.d.ts.map +1 -0
  192. package/dist/nextjs/DynamicQwickApp.js +19 -0
  193. package/dist/nextjs/DynamicQwickApp.js.map +1 -0
  194. package/dist/nextjs/FooterFromSettings.d.ts +6 -0
  195. package/dist/nextjs/FooterFromSettings.d.ts.map +1 -0
  196. package/dist/nextjs/FooterFromSettings.js +72 -0
  197. package/dist/nextjs/FooterFromSettings.js.map +1 -0
  198. package/dist/nextjs/FormBlockComponent.d.ts +25 -0
  199. package/dist/nextjs/FormBlockComponent.d.ts.map +1 -0
  200. package/dist/nextjs/FormBlockComponent.js +110 -0
  201. package/dist/nextjs/FormBlockComponent.js.map +1 -0
  202. package/dist/nextjs/HomePageContent.d.ts +6 -0
  203. package/dist/nextjs/HomePageContent.d.ts.map +1 -0
  204. package/dist/nextjs/HomePageContent.js +50 -0
  205. package/dist/nextjs/HomePageContent.js.map +1 -0
  206. package/dist/nextjs/LivePreviewClient.d.ts +40 -0
  207. package/dist/nextjs/LivePreviewClient.d.ts.map +1 -0
  208. package/dist/nextjs/LivePreviewClient.js +35 -0
  209. package/dist/nextjs/LivePreviewClient.js.map +1 -0
  210. package/dist/nextjs/RefreshRouteOnSave.d.ts +31 -0
  211. package/dist/nextjs/RefreshRouteOnSave.d.ts.map +1 -0
  212. package/dist/nextjs/RefreshRouteOnSave.js +59 -0
  213. package/dist/nextjs/RefreshRouteOnSave.js.map +1 -0
  214. package/dist/nextjs/ScriptsInjector.d.ts +2 -0
  215. package/dist/nextjs/ScriptsInjector.d.ts.map +1 -0
  216. package/dist/nextjs/ScriptsInjector.js +73 -0
  217. package/dist/nextjs/ScriptsInjector.js.map +1 -0
  218. package/dist/nextjs/ServerQwickApp.d.ts +13 -0
  219. package/dist/nextjs/ServerQwickApp.d.ts.map +1 -0
  220. package/dist/nextjs/ServerQwickApp.js +159 -0
  221. package/dist/nextjs/ServerQwickApp.js.map +1 -0
  222. package/dist/nextjs/SettingsProvider.d.ts +110 -0
  223. package/dist/nextjs/SettingsProvider.d.ts.map +1 -0
  224. package/dist/nextjs/SettingsProvider.js +107 -0
  225. package/dist/nextjs/SettingsProvider.js.map +1 -0
  226. package/dist/nextjs/SiteLogo.d.ts +35 -0
  227. package/dist/nextjs/SiteLogo.d.ts.map +1 -0
  228. package/dist/nextjs/SiteLogo.js +105 -0
  229. package/dist/nextjs/SiteLogo.js.map +1 -0
  230. package/dist/nextjs/framework.d.ts +19 -0
  231. package/dist/nextjs/framework.d.ts.map +1 -0
  232. package/dist/nextjs/framework.js +35 -0
  233. package/dist/nextjs/framework.js.map +1 -0
  234. package/dist/nextjs/index.d.ts +38 -0
  235. package/dist/nextjs/index.d.ts.map +1 -0
  236. package/dist/nextjs/index.js +47 -0
  237. package/dist/nextjs/index.js.map +1 -0
  238. package/dist/nextjs/metadata.d.ts +20 -0
  239. package/dist/nextjs/metadata.d.ts.map +1 -0
  240. package/dist/nextjs/metadata.js +107 -0
  241. package/dist/nextjs/metadata.js.map +1 -0
  242. package/dist/plugins/index.d.ts +2 -0
  243. package/dist/plugins/index.d.ts.map +1 -0
  244. package/dist/plugins/index.js +3 -0
  245. package/dist/plugins/index.js.map +1 -0
  246. package/dist/plugins/qwickapps-plugin.d.ts +78 -0
  247. package/dist/plugins/qwickapps-plugin.d.ts.map +1 -0
  248. package/dist/plugins/qwickapps-plugin.js +154 -0
  249. package/dist/plugins/qwickapps-plugin.js.map +1 -0
  250. package/dist/providers/PayloadDataProvider.d.ts +72 -0
  251. package/dist/providers/PayloadDataProvider.d.ts.map +1 -0
  252. package/dist/providers/PayloadDataProvider.js +222 -0
  253. package/dist/providers/PayloadDataProvider.js.map +1 -0
  254. package/dist/providers/index.d.ts +2 -0
  255. package/dist/providers/index.d.ts.map +1 -0
  256. package/dist/providers/index.js +3 -0
  257. package/dist/providers/index.js.map +1 -0
  258. package/dist/styles/admin-theme.css +352 -0
  259. package/package.json +104 -0
@@ -0,0 +1,190 @@
1
+ /**
2
+ * QwickApps CMS Logging
3
+ *
4
+ * Provides centralized logging for the CMS package with optional remote log forwarding.
5
+ * Dependencies @qwickapps/logging and @qwickapps/log-client are optional.
6
+ *
7
+ * What to log:
8
+ * - Authentication failures
9
+ * - Collection operation errors
10
+ * - Plugin initialization errors
11
+ * - Configuration warnings
12
+ * - Database connection issues
13
+ * - Unexpected exceptions
14
+ *
15
+ * What NOT to log (already captured by web analytics/access logs):
16
+ * - Normal page requests
17
+ * - Successful API calls
18
+ * - User sessions
19
+ * - Page views
20
+ *
21
+ * Environment Variables:
22
+ * LOG_SERVICE_URL - Log server URL (e.g., https://logs.qwickapps.com)
23
+ * LOG_SERVICE_TOKEN - Service account token for authentication
24
+ * LOG_ENABLED - Enable/disable remote logging (default: true in production)
25
+ *
26
+ * @module @qwickapps/cms/logging
27
+ */
28
+ // Configuration from environment
29
+ const LOG_SERVICE_URL = process.env.LOG_SERVICE_URL || 'https://logs.qwickapps.com';
30
+ const LOG_SERVICE_TOKEN = process.env.LOG_SERVICE_TOKEN;
31
+ const LOG_ENABLED = process.env.LOG_ENABLED !== 'false';
32
+ const IS_PRODUCTION = process.env.NODE_ENV === 'production';
33
+ // Optional dependency references (loaded dynamically)
34
+ let getLoggerFn = null;
35
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
36
+ let LogClientClass = null;
37
+ // Try to load optional dependencies
38
+ try {
39
+ const loggingModule = await import('@qwickapps/logging');
40
+ // Use getLogger factory function which returns a logger instance
41
+ getLoggerFn = (namespace) => loggingModule.getLogger(namespace);
42
+ }
43
+ catch {
44
+ // @qwickapps/logging not installed - use console fallback
45
+ }
46
+ try {
47
+ const logClientModule = await import('@qwickapps/log-client');
48
+ LogClientClass = logClientModule.LogClient;
49
+ }
50
+ catch {
51
+ // @qwickapps/log-client not installed - remote logging disabled
52
+ }
53
+ // Singleton log client instance
54
+ let logClient = null;
55
+ /**
56
+ * Get or create the log client singleton
57
+ */
58
+ function getLogClient() {
59
+ if (logClient)
60
+ return logClient;
61
+ if (!LogClientClass)
62
+ return null;
63
+ // Only enable in production with proper token, or explicitly enabled in dev
64
+ if (!LOG_ENABLED)
65
+ return null;
66
+ if (!LOG_SERVICE_TOKEN && IS_PRODUCTION) {
67
+ console.warn('[CMS Logging] No service token configured - remote logging disabled');
68
+ return null;
69
+ }
70
+ const config = {
71
+ serviceUrl: LOG_SERVICE_URL,
72
+ authToken: LOG_SERVICE_TOKEN,
73
+ batchSize: 50,
74
+ flushIntervalMs: 10000,
75
+ bufferMaxSize: 1000,
76
+ debug: !IS_PRODUCTION,
77
+ metadata: {
78
+ app_name: 'qwickapps-cms',
79
+ app_version: process.env.npm_package_version || '0.0.0',
80
+ environment: process.env.NODE_ENV || 'development',
81
+ device_type: 'server',
82
+ },
83
+ };
84
+ logClient = new LogClientClass(config);
85
+ return logClient;
86
+ }
87
+ /**
88
+ * Transport adapter that forwards logs to the QwickApps log server
89
+ */
90
+ class CMSLogTransport {
91
+ handle(level, namespace, message, context) {
92
+ if (level === 'debug')
93
+ return;
94
+ const client = getLogClient();
95
+ if (!client)
96
+ return;
97
+ client.addLog({
98
+ level,
99
+ msg: message,
100
+ timestamp: new Date().toISOString(),
101
+ ns: namespace,
102
+ ...context,
103
+ });
104
+ }
105
+ }
106
+ // Singleton transport instance
107
+ const cmsTransport = new CMSLogTransport();
108
+ /**
109
+ * Console-based fallback logger when @qwickapps/logging is not available
110
+ */
111
+ class ConsoleLogger {
112
+ namespace;
113
+ constructor(namespace) {
114
+ this.namespace = namespace;
115
+ }
116
+ debug(message, context) {
117
+ if (!IS_PRODUCTION) {
118
+ console.debug(`[${this.namespace}] ${message}`, context || '');
119
+ }
120
+ }
121
+ info(message, context) {
122
+ console.info(`[${this.namespace}] ${message}`, context || '');
123
+ }
124
+ warn(message, context) {
125
+ console.warn(`[${this.namespace}] ${message}`, context || '');
126
+ }
127
+ error(message, context) {
128
+ console.error(`[${this.namespace}] ${message}`, context || '');
129
+ }
130
+ }
131
+ /**
132
+ * Create a CMS logger with optional remote log forwarding
133
+ *
134
+ * @param namespace - Logger namespace (e.g., 'Auth', 'Collections', 'Plugins')
135
+ * @returns Configured Logger instance
136
+ *
137
+ * @example
138
+ * const log = createCMSLogger('Auth');
139
+ * log.error('Authentication failed', { userId, reason: 'invalid_token' });
140
+ */
141
+ export function createCMSLogger(namespace) {
142
+ const fullNamespace = `CMS.${namespace}`;
143
+ // Use @qwickapps/logging if available, otherwise fall back to console
144
+ if (getLoggerFn) {
145
+ const logger = getLoggerFn(fullNamespace);
146
+ if (logger.setConfig) {
147
+ logger.setConfig({
148
+ transports: [cmsTransport],
149
+ level: IS_PRODUCTION ? 'warn' : 'debug',
150
+ enabled: true,
151
+ disableConsole: IS_PRODUCTION,
152
+ });
153
+ }
154
+ return logger;
155
+ }
156
+ return new ConsoleLogger(fullNamespace);
157
+ }
158
+ /**
159
+ * Pre-configured loggers for common CMS operations
160
+ */
161
+ export const cmsLoggers = {
162
+ /** Authentication events (login failures, token issues) */
163
+ auth: createCMSLogger('Auth'),
164
+ /** Collection operations (CRUD errors, validation failures) */
165
+ collections: createCMSLogger('Collections'),
166
+ /** Plugin lifecycle (initialization errors, configuration issues) */
167
+ plugins: createCMSLogger('Plugins'),
168
+ /** Database operations (connection errors, query failures) */
169
+ database: createCMSLogger('Database'),
170
+ /** API errors (endpoint failures, response errors) */
171
+ api: createCMSLogger('API'),
172
+ /** Configuration issues (missing env vars, invalid settings) */
173
+ config: createCMSLogger('Config'),
174
+ };
175
+ /**
176
+ * Flush all pending logs (call before process exit)
177
+ */
178
+ export async function flushCMSLogs() {
179
+ if (logClient) {
180
+ await logClient.shutdown();
181
+ logClient = null;
182
+ }
183
+ }
184
+ /**
185
+ * Get log client statistics (for health checks)
186
+ */
187
+ export function getLogStats() {
188
+ return logClient?.getStats() || null;
189
+ }
190
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/logging/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,227 @@
1
+ /**
2
+ * Type definitions for Payload block data structures
3
+ */
4
+ /**
5
+ * ViewSchema props - inherited by all blocks
6
+ * These map to framework ViewSchema component props
7
+ */
8
+ interface ViewSchemaProps {
9
+ padding?: 'none' | 'tiny' | 'small' | 'medium' | 'large' | 'extra-large';
10
+ marginTop?: 'none' | 'tiny' | 'small' | 'medium' | 'large' | 'extra-large';
11
+ marginBottom?: 'none' | 'tiny' | 'small' | 'medium' | 'large' | 'extra-large';
12
+ width?: string;
13
+ maxWidth?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'false';
14
+ background?: string;
15
+ color?: string;
16
+ backgroundImage?: string;
17
+ backgroundGradient?: string;
18
+ className?: string;
19
+ sx?: any;
20
+ id?: string;
21
+ }
22
+ interface BaseBlock extends Omit<ViewSchemaProps, 'backgroundImage'> {
23
+ blockType: string;
24
+ id?: string;
25
+ backgroundImage?: {
26
+ url: string;
27
+ alt?: string;
28
+ } | string;
29
+ }
30
+ interface HeroBlockData extends BaseBlock {
31
+ blockType: 'hero';
32
+ title: string;
33
+ subtitle?: string;
34
+ backgroundImage?: {
35
+ url: string;
36
+ alt?: string;
37
+ };
38
+ backgroundGradient?: string;
39
+ textAlign?: 'left' | 'center' | 'right';
40
+ blockHeight?: 'small' | 'medium' | 'large' | 'viewport';
41
+ actions?: Array<{
42
+ label: string;
43
+ href: string;
44
+ variant?: 'contained' | 'outlined' | 'text';
45
+ buttonSize?: 'small' | 'medium' | 'large';
46
+ }>;
47
+ }
48
+ interface TextSectionBlockData extends BaseBlock {
49
+ blockType: 'textSection';
50
+ heading?: string;
51
+ content: any;
52
+ padding?: 'none' | 'small' | 'medium' | 'large';
53
+ background?: 'default' | 'surface' | 'surface-variant' | 'primary';
54
+ textAlign?: 'left' | 'center' | 'right';
55
+ maxWidth?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'false';
56
+ }
57
+ interface FeatureGridBlockData extends BaseBlock {
58
+ blockType: 'featureGrid';
59
+ heading?: string;
60
+ features: Array<{
61
+ id: string;
62
+ title: string;
63
+ description: string;
64
+ icon?: string;
65
+ }>;
66
+ columns?: number;
67
+ spacing?: 'small' | 'medium' | 'large';
68
+ padding?: 'none' | 'small' | 'medium' | 'large';
69
+ background?: 'default' | 'surface' | 'surface-variant';
70
+ }
71
+ interface CTASectionBlockData extends BaseBlock {
72
+ blockType: 'ctaSection';
73
+ heading: string;
74
+ description?: string;
75
+ buttons: Array<{
76
+ label: string;
77
+ href: string;
78
+ variant?: 'contained' | 'outlined' | 'text';
79
+ size?: 'small' | 'medium' | 'large';
80
+ }>;
81
+ padding?: 'small' | 'medium' | 'large';
82
+ background?: 'default' | 'surface' | 'primary';
83
+ textAlign?: 'left' | 'center' | 'right';
84
+ }
85
+ interface ImageBlockData extends BaseBlock {
86
+ blockType: 'image';
87
+ image: {
88
+ url: string;
89
+ width?: number;
90
+ height?: number;
91
+ };
92
+ alt: string;
93
+ caption?: string;
94
+ size?: 'small' | 'medium' | 'large' | 'full';
95
+ }
96
+ interface SpacerBlockData extends BaseBlock {
97
+ blockType: 'spacer';
98
+ height?: 'small' | 'medium' | 'large' | 'xlarge';
99
+ }
100
+ interface CodeBlockData extends BaseBlock {
101
+ blockType: 'code';
102
+ code: string;
103
+ language?: string;
104
+ title?: string;
105
+ showCopy?: boolean;
106
+ showLineNumbers?: boolean;
107
+ wrapLines?: boolean;
108
+ }
109
+ interface ProductGridBlockData extends BaseBlock {
110
+ blockType: 'productGrid';
111
+ heading?: string;
112
+ products: Array<{
113
+ id: string;
114
+ name: string;
115
+ slug: string;
116
+ category?: string;
117
+ tagline?: string;
118
+ description: any;
119
+ icon?: {
120
+ url: string;
121
+ };
122
+ image?: {
123
+ url: string;
124
+ };
125
+ status: string;
126
+ features?: Array<{
127
+ title: string;
128
+ description?: string;
129
+ }>;
130
+ technologies?: string;
131
+ actions?: Array<{
132
+ id: string;
133
+ label: string;
134
+ url: string;
135
+ variant?: 'contained' | 'outlined' | 'text';
136
+ color?: 'primary' | 'secondary' | 'error';
137
+ disabled?: boolean;
138
+ openInNewTab?: boolean;
139
+ }>;
140
+ githubUrl?: string;
141
+ docsUrl?: string;
142
+ demoUrl?: string;
143
+ }>;
144
+ variant?: 'compact' | 'detailed';
145
+ columns?: number;
146
+ spacing?: 'small' | 'medium' | 'large';
147
+ padding?: 'none' | 'small' | 'medium' | 'large';
148
+ background?: 'default' | 'surface' | 'surface-variant';
149
+ equalHeight?: boolean;
150
+ }
151
+ interface AccordionBlockData extends BaseBlock {
152
+ blockType: 'accordion';
153
+ heading?: string;
154
+ items: Array<{
155
+ title: string;
156
+ content: any;
157
+ defaultExpanded?: boolean;
158
+ }>;
159
+ allowMultiple?: boolean;
160
+ variant?: 'outlined' | 'filled' | 'plain';
161
+ padding?: 'none' | 'small' | 'medium' | 'large';
162
+ }
163
+ interface CardGridBlockData extends BaseBlock {
164
+ blockType: 'cardGrid';
165
+ heading?: string;
166
+ cards: Array<{
167
+ title: string;
168
+ description?: string;
169
+ image?: {
170
+ url: string;
171
+ };
172
+ icon?: string;
173
+ link?: string;
174
+ linkText?: string;
175
+ }>;
176
+ columns?: number;
177
+ spacing?: 'small' | 'medium' | 'large';
178
+ cardVariant?: 'outlined' | 'elevation' | 'filled';
179
+ padding?: 'none' | 'small' | 'medium' | 'large';
180
+ background?: 'default' | 'surface' | 'surface-variant';
181
+ }
182
+ interface FormBlockData extends BaseBlock {
183
+ blockType: 'form';
184
+ form: {
185
+ id: string;
186
+ formName: string;
187
+ title: string;
188
+ description?: string;
189
+ fields: Array<{
190
+ fieldName: string;
191
+ label: string;
192
+ inputType: 'text' | 'email' | 'tel' | 'number' | 'textarea' | 'select' | 'checkbox';
193
+ required?: boolean;
194
+ placeholder?: string;
195
+ options?: Array<{
196
+ label: string;
197
+ value: string;
198
+ }>;
199
+ }>;
200
+ submitButtonText?: string;
201
+ successMessage?: string;
202
+ enableCaptcha?: boolean;
203
+ };
204
+ overrideHeading?: string;
205
+ overrideDescription?: string;
206
+ overrideSubmitButtonText?: string;
207
+ overrideSuccessMessage?: string;
208
+ padding?: 'none' | 'small' | 'medium' | 'large';
209
+ }
210
+ type BlockData = HeroBlockData | TextSectionBlockData | FeatureGridBlockData | CTASectionBlockData | ImageBlockData | SpacerBlockData | CodeBlockData | ProductGridBlockData | AccordionBlockData | CardGridBlockData | FormBlockData;
211
+ /**
212
+ * Props for BlockRenderer component
213
+ */
214
+ interface BlockRendererProps {
215
+ /** Array of blocks from Payload CMS */
216
+ blocks?: BlockData[];
217
+ /** Optional className for the container */
218
+ className?: string;
219
+ }
220
+ /**
221
+ * BlockRenderer Component
222
+ *
223
+ * Renders an array of Payload blocks as QwickApps Framework components
224
+ */
225
+ export declare function BlockRenderer({ blocks, className }: BlockRendererProps): import("react/jsx-runtime").JSX.Element;
226
+ export default BlockRenderer;
227
+ //# sourceMappingURL=BlockRenderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlockRenderer.d.ts","sourceRoot":"","sources":["../../src/nextjs/BlockRenderer.tsx"],"names":[],"mappings":"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"}