@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,95 @@
1
+ // @ts-nocheck
2
+ /**
3
+ * Content Preview Component
4
+ *
5
+ * Live preview panel that renders page/post content using QwickApps React Framework
6
+ * Shows in the admin panel alongside the content editor
7
+ *
8
+ * Copyright (c) 2025 QwickApps.com. All rights reserved.
9
+ */
10
+ 'use client';
11
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
+ import { useFormFields } from '@payloadcms/ui';
13
+ import { useEffect, useState } from 'react';
14
+ import { iconMap } from '@qwickapps/react-framework';
15
+ import './styles/ContentPreview.css';
16
+ export const ContentPreview = () => {
17
+ const [previewData, setPreviewData] = useState(null);
18
+ const [previewMode, setPreviewMode] = useState('desktop');
19
+ // Get form field values
20
+ const title = useFormFields(([fields]) => fields.title?.value);
21
+ const layout = useFormFields(([fields]) => fields.layout?.value);
22
+ const status = useFormFields(([fields]) => fields.status?.value);
23
+ // Update preview data when fields change
24
+ useEffect(() => {
25
+ // Ensure layout is always an array
26
+ const layoutArray = Array.isArray(layout) ? layout : [];
27
+ setPreviewData({
28
+ title,
29
+ layout: layoutArray,
30
+ status,
31
+ });
32
+ }, [title, layout, status]);
33
+ // Check if layout is valid and has items
34
+ const hasBlocks = previewData &&
35
+ Array.isArray(previewData.layout) &&
36
+ previewData.layout.length > 0;
37
+ if (!hasBlocks) {
38
+ return (_jsxs("div", { className: "content-preview", children: [_jsxs("div", { className: "preview-header", children: [_jsx("h3", { children: "\uD83D\uDD0D Live Preview" }), _jsxs("div", { className: "preview-device-selector", children: [_jsx("button", { className: previewMode === 'desktop' ? 'active' : '', onClick: () => setPreviewMode('desktop'), title: "Desktop View", children: "\uD83D\uDDA5\uFE0F" }), _jsx("button", { className: previewMode === 'tablet' ? 'active' : '', onClick: () => setPreviewMode('tablet'), title: "Tablet View", children: "\uD83D\uDCF1" }), _jsx("button", { className: previewMode === 'mobile' ? 'active' : '', onClick: () => setPreviewMode('mobile'), title: "Mobile View", children: "\uD83D\uDCF1" })] })] }), _jsxs("div", { className: "preview-empty", children: [_jsx("p", { children: "No content blocks added yet." }), _jsx("p", { children: "Add content blocks to see a live preview." })] })] }));
39
+ }
40
+ // Map of viewport widths for different devices
41
+ const viewportWidths = {
42
+ desktop: '100%',
43
+ tablet: '768px',
44
+ mobile: '375px',
45
+ };
46
+ return (_jsxs("div", { className: "content-preview", children: [_jsxs("div", { className: "preview-header", children: [_jsx("h3", { children: "\uD83D\uDD0D Live Preview" }), _jsxs("div", { className: "preview-device-selector", children: [_jsx("button", { className: previewMode === 'desktop' ? 'active' : '', onClick: () => setPreviewMode('desktop'), title: "Desktop View", children: "\uD83D\uDDA5\uFE0F" }), _jsx("button", { className: previewMode === 'tablet' ? 'active' : '', onClick: () => setPreviewMode('tablet'), title: "Tablet View", children: "\uD83D\uDCF1" }), _jsx("button", { className: previewMode === 'mobile' ? 'active' : '', onClick: () => setPreviewMode('mobile'), title: "Mobile View", children: "\uD83D\uDCF1" })] }), status && (_jsxs("div", { className: `preview-status status-${status}`, children: [status === 'published' ? '✅' : '📝', " ", status] }))] }), _jsx("div", { className: `preview-viewport viewport-${previewMode}`, style: {
47
+ maxWidth: viewportWidths[previewMode],
48
+ }, children: _jsxs("div", { className: "preview-content", children: [previewData.title && (_jsx("h1", { className: "preview-title", children: previewData.title })), _jsx("div", { className: "preview-blocks", children: Array.isArray(previewData.layout) && previewData.layout.map((block, index) => (_jsx(PreviewBlock, { block: block }, index))) })] }) }), _jsx("div", { className: "preview-info", children: _jsxs("small", { children: ["\uD83D\uDCCA ", previewData.layout.length, " block", previewData.layout.length !== 1 ? 's' : ''] }) })] }));
49
+ };
50
+ /**
51
+ * Individual Block Preview Component
52
+ */
53
+ const PreviewBlock = ({ block }) => {
54
+ const blockType = block.blockType;
55
+ // Simple preview rendering for different block types
56
+ switch (blockType) {
57
+ case 'hero':
58
+ return (_jsxs("div", { className: "preview-block preview-hero", style: { background: block.backgroundGradient || '#f5f5f5' }, children: [_jsx("h2", { children: block.title || 'Hero Title' }), block.subtitle && _jsx("p", { children: block.subtitle }), block.actions && block.actions.length > 0 && (_jsx("div", { className: "preview-actions", children: block.actions.map((action, i) => (_jsx("button", { className: `preview-button ${action.variant || 'contained'}`, children: action.label }, i))) }))] }));
59
+ case 'textSection':
60
+ return (_jsxs("div", { className: "preview-block preview-text-section", children: [block.heading && _jsx("h3", { children: block.heading }), block.content && (_jsx("div", { className: "preview-rich-text", children: "[Rich Text Content]" }))] }));
61
+ case 'featureGrid':
62
+ return (_jsxs("div", { className: "preview-block preview-feature-grid", children: [block.heading && _jsx("h3", { children: block.heading }), _jsx("div", { className: "preview-grid", style: { gridTemplateColumns: `repeat(${block.columns || 3}, 1fr)` }, children: block.features && block.features.map((feature, i) => {
63
+ const iconData = feature.icon ? iconMap[feature.icon] : null;
64
+ const IconComponent = iconData?.component;
65
+ return (_jsxs("div", { className: "preview-feature-card", children: [_jsx("div", { className: "feature-icon", children: IconComponent ? _jsx(IconComponent, {}) : '⭐' }), _jsx("div", { className: "feature-title", children: feature.title || `Feature ${i + 1}` }), feature.description && _jsx("div", { className: "feature-description", children: feature.description })] }, i));
66
+ }) })] }));
67
+ case 'image':
68
+ return (_jsxs("div", { className: "preview-block preview-image", children: [_jsxs("div", { className: "preview-image-placeholder", children: ["\uD83D\uDDBC\uFE0F ", block.alt || 'Image'] }), block.caption && _jsx("p", { className: "image-caption", children: block.caption })] }));
69
+ case 'code':
70
+ return (_jsxs("div", { className: "preview-block preview-code", children: [block.title && _jsx("h4", { children: block.title }), _jsx("pre", { className: "code-block", children: _jsx("code", { className: `language-${block.language || 'text'}`, children: block.code || '// Code goes here' }) })] }));
71
+ case 'ctaSection':
72
+ return (_jsxs("div", { className: "preview-block preview-cta", children: [_jsx("h3", { children: block.heading || 'Call to Action' }), block.description && _jsx("p", { children: block.description }), block.buttons && block.buttons.length > 0 && (_jsx("div", { className: "preview-actions", children: block.buttons.map((btn, i) => (_jsx("button", { className: `preview-button ${btn.variant || 'contained'}`, children: btn.label }, i))) }))] }));
73
+ case 'spacer':
74
+ return (_jsx("div", { className: "preview-block preview-spacer", style: {
75
+ height: block.height === 'small' ? '24px' :
76
+ block.height === 'large' ? '96px' :
77
+ block.height === 'xlarge' ? '144px' : '48px',
78
+ }, children: _jsxs("div", { className: "spacer-indicator", children: ["\u2195\uFE0F Spacer (", block.height || 'medium', ")"] }) }));
79
+ case 'form':
80
+ return (_jsxs("div", { className: "preview-block preview-form", children: [_jsx("h3", { children: "\uD83D\uDCCB Form Block" }), _jsx("p", { children: "Form preview will appear here" })] }));
81
+ case 'accordion':
82
+ return (_jsxs("div", { className: "preview-block preview-accordion", children: [block.heading && _jsx("h3", { children: block.heading }), block.items && block.items.map((item, i) => (_jsxs("div", { className: "accordion-item", children: ["\u25B6 ", item.title || `Item ${i + 1}`] }, i)))] }));
83
+ case 'cardGrid':
84
+ return (_jsxs("div", { className: "preview-block preview-card-grid", children: [block.heading && _jsx("h3", { children: block.heading }), _jsx("div", { className: "preview-grid", style: { gridTemplateColumns: `repeat(${block.columns || 3}, 1fr)` }, children: block.cards && block.cards.map((card, i) => {
85
+ const iconData = card.icon ? iconMap[card.icon] : null;
86
+ const IconComponent = iconData?.component;
87
+ return (_jsxs("div", { className: "preview-card", children: [IconComponent && (_jsx("div", { className: "card-icon", children: _jsx(IconComponent, {}) })), _jsx("h4", { children: card.title || `Card ${i + 1}` }), card.description && _jsx("p", { children: card.description })] }, i));
88
+ }) })] }));
89
+ case 'productGrid':
90
+ return (_jsxs("div", { className: "preview-block preview-product-grid", children: [block.heading && _jsx("h3", { children: block.heading }), _jsx("div", { className: "preview-grid", style: { gridTemplateColumns: `repeat(${block.columns || 3}, 1fr)` }, children: Array.from({ length: block.products?.length || 3 }).map((_, i) => (_jsxs("div", { className: "preview-product-card", children: [_jsx("div", { className: "product-image", children: "\uD83D\uDECD\uFE0F" }), _jsxs("div", { className: "product-title", children: ["Product ", i + 1] })] }, i))) })] }));
91
+ default:
92
+ return (_jsx("div", { className: "preview-block preview-unknown", children: _jsxs("p", { children: ["\uD83D\uDCE6 ", blockType || 'Unknown', " Block"] }) }));
93
+ }
94
+ };
95
+ //# sourceMappingURL=ContentPreview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContentPreview.js","sourceRoot":"","sources":["../../../src/admin/components/ContentPreview.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Custom Dashboard for QwickPress Admin
3
+ *
4
+ * A rich, modern dashboard with colorful cards showing stats and quick actions
5
+ * Uses QwickApps React Framework for consistent styling
6
+ *
7
+ * Copyright (c) 2025 QwickApps.com. All rights reserved.
8
+ */
9
+ import React from 'react';
10
+ import type { AdminViewProps } from 'payload';
11
+ import './styles/Dashboard.css';
12
+ export declare const Dashboard: React.FC<AdminViewProps>;
13
+ //# sourceMappingURL=Dashboard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dashboard.d.ts","sourceRoot":"","sources":["../../../src/admin/components/Dashboard.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,OAAO,wBAAwB,CAAC;AAEhC,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAE9C,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { DashboardContent } from './DashboardContent';
3
+ import './styles/Dashboard.css';
4
+ export const Dashboard = () => {
5
+ return _jsx(DashboardContent, {});
6
+ };
7
+ //# sourceMappingURL=Dashboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dashboard.js","sourceRoot":"","sources":["../../../src/admin/components/Dashboard.tsx"],"names":[],"mappings":";AAWA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,wBAAwB,CAAC;AAEhC,MAAM,CAAC,MAAM,SAAS,GAA6B,GAAG,EAAE;IACtD,OAAO,KAAC,gBAAgB,KAAG,CAAC;AAC9B,CAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Dashboard Content Component (Client Component)
3
+ *
4
+ * Note: Theme switching is handled by Payload CMS natively.
5
+ * Users can change their theme preference in Account Settings.
6
+ *
7
+ * Copyright (c) 2025 QwickApps.com. All rights reserved.
8
+ */
9
+ import React from 'react';
10
+ export declare const DashboardContent: React.FC;
11
+ //# sourceMappingURL=DashboardContent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardContent.d.ts","sourceRoot":"","sources":["../../../src/admin/components/DashboardContent.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAA8B,MAAM,OAAO,CAAC;AAenD,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAyMpC,CAAC"}
@@ -0,0 +1,129 @@
1
+ /**
2
+ * Dashboard Content Component (Client Component)
3
+ *
4
+ * Note: Theme switching is handled by Payload CMS natively.
5
+ * Users can change their theme preference in Account Settings.
6
+ *
7
+ * Copyright (c) 2025 QwickApps.com. All rights reserved.
8
+ */
9
+ 'use client';
10
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
+ import { useState, useEffect } from 'react';
12
+ export const DashboardContent = () => {
13
+ const [stats, setStats] = useState({});
14
+ const [loading, setLoading] = useState(true);
15
+ // Fetch collection counts
16
+ useEffect(() => {
17
+ const fetchStats = async () => {
18
+ try {
19
+ const counts = {};
20
+ // Fetch counts for each collection
21
+ const collections = ['pages', 'posts', 'products', 'forms', 'media', 'users'];
22
+ for (const collection of collections) {
23
+ try {
24
+ const response = await fetch(`/api/${collection}?limit=0`);
25
+ const data = await response.json();
26
+ counts[collection] = data.totalDocs || 0;
27
+ }
28
+ catch (err) {
29
+ console.error(`Error fetching ${collection}:`, err);
30
+ counts[collection] = 0;
31
+ }
32
+ }
33
+ setStats(counts);
34
+ setLoading(false);
35
+ }
36
+ catch (error) {
37
+ console.error('Error fetching dashboard stats:', error);
38
+ setLoading(false);
39
+ }
40
+ };
41
+ fetchStats();
42
+ }, []);
43
+ const cards = [
44
+ {
45
+ title: 'Pages',
46
+ description: 'Create and manage standalone pages like Home, About, Contact',
47
+ icon: '📄',
48
+ count: stats.pages,
49
+ href: '/admin/collections/pages',
50
+ colorClass: 'card-primary',
51
+ stats: [
52
+ { label: 'Total', value: stats.pages || 0 },
53
+ ],
54
+ },
55
+ {
56
+ title: 'Blog Posts',
57
+ description: 'Write and publish blog posts, articles, and news updates',
58
+ icon: '✍️',
59
+ count: stats.posts,
60
+ href: '/admin/collections/posts',
61
+ colorClass: 'card-primary',
62
+ stats: [
63
+ { label: 'Total', value: stats.posts || 0 },
64
+ ],
65
+ },
66
+ {
67
+ title: 'Products',
68
+ description: 'Manage your product catalog and showcase your offerings',
69
+ icon: '🛍️',
70
+ count: stats.products,
71
+ href: '/admin/collections/products',
72
+ colorClass: 'card-primary',
73
+ stats: [
74
+ { label: 'Total', value: stats.products || 0 },
75
+ ],
76
+ },
77
+ {
78
+ title: 'Forms',
79
+ description: 'Create custom forms for contact, feedback, and data collection',
80
+ icon: '📋',
81
+ count: stats.forms,
82
+ href: '/admin/collections/forms',
83
+ colorClass: 'card-primary',
84
+ stats: [
85
+ { label: 'Total', value: stats.forms || 0 },
86
+ ],
87
+ },
88
+ {
89
+ title: 'Media Library',
90
+ description: 'Upload and organize images, videos, and other media files',
91
+ icon: '🖼️',
92
+ count: stats.media,
93
+ href: '/admin/collections/media',
94
+ colorClass: 'card-primary',
95
+ stats: [
96
+ { label: 'Files', value: stats.media || 0 },
97
+ ],
98
+ },
99
+ {
100
+ title: 'Navigation',
101
+ description: 'Configure your site navigation menus and structure',
102
+ icon: '🧭',
103
+ href: '/admin/collections/navigation',
104
+ colorClass: 'card-primary',
105
+ },
106
+ {
107
+ title: 'Features',
108
+ description: 'Manage feature highlights and benefits for your site',
109
+ icon: '⭐',
110
+ href: '/admin/collections/features',
111
+ colorClass: 'card-primary',
112
+ },
113
+ {
114
+ title: 'Users',
115
+ description: 'Manage user accounts and permissions',
116
+ icon: '👥',
117
+ count: stats.users,
118
+ href: '/admin/collections/users',
119
+ colorClass: 'card-primary',
120
+ stats: [
121
+ { label: 'Total', value: stats.users || 0 },
122
+ ],
123
+ },
124
+ ];
125
+ return (_jsxs("div", { className: "dashboard-container", children: [_jsx("div", { className: "dashboard-header", children: _jsx("div", { className: "dashboard-header-content", children: _jsxs("div", { className: "dashboard-title", children: [_jsx("h1", { children: "Welcome to QwickPress" }), _jsx("p", { children: "Your AI-First Headless CMS powered by QwickApps Framework" }), _jsx("p", { className: "theme-note", children: "\uD83D\uDCA1 Change theme in Account Settings" })] }) }) }), loading && (_jsxs("div", { className: "dashboard-loading", children: [_jsx("div", { className: "loading-spinner" }), _jsx("p", { children: "Loading dashboard..." })] })), !loading && (_jsx("div", { className: "dashboard-grid", children: cards.map((card, index) => (_jsxs("a", { href: card.href, className: `dashboard-card ${card.colorClass}`, style: {
126
+ animationDelay: `${index * 0.1}s`,
127
+ }, children: [_jsx("div", { className: "card-icon", children: card.icon }), _jsxs("div", { className: "card-content", children: [_jsx("h3", { className: "card-title", children: card.title }), _jsx("p", { className: "card-description", children: card.description }), card.stats && (_jsx("div", { className: "card-stats", children: card.stats.map((stat, statIndex) => (_jsxs("div", { className: "stat-item", children: [_jsxs("span", { className: "stat-label", children: [stat.label, ":"] }), _jsx("span", { className: "stat-value", children: stat.value })] }, statIndex))) })), typeof card.count === 'number' && !card.stats && (_jsx("div", { className: "card-count", children: card.count }))] }), _jsx("div", { className: "card-arrow", children: "\u2192" })] }, index))) })), _jsx("div", { className: "dashboard-footer", children: _jsxs("div", { className: "quick-links", children: [_jsx("h3", { children: "Quick Links" }), _jsxs("div", { className: "links-grid", children: [_jsx("a", { href: "/admin/collections/pages/create", className: "quick-link", children: "\u2795 New Page" }), _jsx("a", { href: "/admin/collections/posts/create", className: "quick-link", children: "\u2795 New Post" }), _jsx("a", { href: "/admin/collections/products/create", className: "quick-link", children: "\u2795 New Product" }), _jsx("a", { href: "/admin/collections/forms/create", className: "quick-link", children: "\u2795 New Form" }), _jsx("a", { href: "/", target: "_blank", className: "quick-link", children: "\uD83C\uDF10 View Site" }), _jsx("a", { href: "/api/docs", target: "_blank", className: "quick-link", children: "\uD83D\uDCDA API Docs" })] })] }) })] }));
128
+ };
129
+ //# sourceMappingURL=DashboardContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardContent.js","sourceRoot":"","sources":["../../../src/admin/components/DashboardContent.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Custom RowLabel for Form Fields
3
+ *
4
+ * Displays field label and type instead of generic "Field 01"
5
+ * Centralized implementation that receives data as props
6
+ *
7
+ * Copyright (c) 2025 QwickApps.com. All rights reserved.
8
+ */
9
+ import React from 'react';
10
+ interface FormFieldLabelProps {
11
+ data?: {
12
+ label?: string;
13
+ fieldName?: string;
14
+ inputType?: string;
15
+ required?: boolean;
16
+ };
17
+ rowNumber?: number;
18
+ }
19
+ export declare const FormFieldRowLabel: React.FC<FormFieldLabelProps>;
20
+ export {};
21
+ //# sourceMappingURL=FormFieldRowLabel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormFieldRowLabel.d.ts","sourceRoot":"","sources":["../../../src/admin/components/FormFieldRowLabel.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,UAAU,mBAAmB;IAC3B,IAAI,CAAC,EAAE;QACL,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC;IACF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA+D3D,CAAC"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Custom RowLabel for Form Fields
3
+ *
4
+ * Displays field label and type instead of generic "Field 01"
5
+ * Centralized implementation that receives data as props
6
+ *
7
+ * Copyright (c) 2025 QwickApps.com. All rights reserved.
8
+ */
9
+ 'use client';
10
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
11
+ export const FormFieldRowLabel = ({ data, rowNumber = 0 }) => {
12
+ const fieldIndex = String(rowNumber + 1).padStart(2, '0');
13
+ // Show error if required fields are missing
14
+ if (!data?.label || !data?.fieldName || !data?.inputType) {
15
+ return (_jsxs("div", { style: { color: 'orange', fontWeight: 'bold' }, children: ["\u26A0\uFE0F Missing required fields - label: ", data?.label || 'MISSING', ", fieldName: ", data?.fieldName || 'MISSING', ", inputType: ", data?.inputType || 'MISSING'] }));
16
+ }
17
+ // Icon mapping for field types
18
+ const typeIcons = {
19
+ text: '📝',
20
+ email: '📧',
21
+ tel: '📱',
22
+ number: '🔢',
23
+ textarea: '📄',
24
+ select: '📋',
25
+ checkbox: '☑️',
26
+ };
27
+ const icon = typeIcons[data.inputType] || '📝';
28
+ return (_jsxs("div", { style: {
29
+ display: 'flex',
30
+ alignItems: 'center',
31
+ gap: '8px',
32
+ fontWeight: 500,
33
+ }, children: [_jsxs("span", { style: {
34
+ color: 'var(--theme-elevation-800)',
35
+ fontFamily: 'monospace',
36
+ }, children: [fieldIndex, "."] }), _jsx("span", { style: { fontSize: '16px' }, children: icon }), _jsx("span", { style: { color: 'var(--theme-elevation-900)' }, children: data.label }), _jsxs("span", { style: {
37
+ color: 'var(--theme-elevation-600)',
38
+ fontWeight: 400,
39
+ fontSize: '13px',
40
+ fontFamily: 'monospace',
41
+ }, children: ["(", data.inputType, ")"] }), data.required && (_jsx("span", { style: {
42
+ color: 'var(--theme-error-500)',
43
+ fontSize: '12px',
44
+ fontWeight: 600,
45
+ }, children: "*" }))] }));
46
+ };
47
+ //# sourceMappingURL=FormFieldRowLabel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormFieldRowLabel.js","sourceRoot":"","sources":["../../../src/admin/components/FormFieldRowLabel.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,YAAY,CAAC;;AAcb,MAAM,CAAC,MAAM,iBAAiB,GAAkC,CAAC,EAAE,IAAI,EAAE,SAAS,GAAG,CAAC,EAAE,EAAE,EAAE;IAC1F,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAE1D,4CAA4C;IAC5C,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,IAAI,EAAE,SAAS,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC;QACzD,OAAO,CACL,eAAK,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,+DACZ,IAAI,EAAE,KAAK,IAAI,SAAS,mBAAe,IAAI,EAAE,SAAS,IAAI,SAAS,mBAAe,IAAI,EAAE,SAAS,IAAI,SAAS,IAC/I,CACP,CAAC;IACJ,CAAC;IAED,+BAA+B;IAC/B,MAAM,SAAS,GAA2B;QACxC,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,IAAI;QACX,GAAG,EAAE,IAAI;QACT,MAAM,EAAE,IAAI;QACZ,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,IAAI;QACZ,QAAQ,EAAE,IAAI;KACf,CAAC;IAEF,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC;IAE/C,OAAO,CACL,eAAK,KAAK,EAAE;YACV,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,QAAQ;YACpB,GAAG,EAAE,KAAK;YACV,UAAU,EAAE,GAAG;SAChB,aACC,gBAAM,KAAK,EAAE;oBACX,KAAK,EAAE,4BAA4B;oBACnC,UAAU,EAAE,WAAW;iBACxB,aACE,UAAU,SACN,EACP,eAAM,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,YAC9B,IAAI,GACA,EACP,eAAM,KAAK,EAAE,EAAE,KAAK,EAAE,4BAA4B,EAAE,YACjD,IAAI,CAAC,KAAK,GACN,EACP,gBAAM,KAAK,EAAE;oBACX,KAAK,EAAE,4BAA4B;oBACnC,UAAU,EAAE,GAAG;oBACf,QAAQ,EAAE,MAAM;oBAChB,UAAU,EAAE,WAAW;iBACxB,kBACG,IAAI,CAAC,SAAS,SACX,EACN,IAAI,CAAC,QAAQ,IAAI,CAChB,eAAM,KAAK,EAAE;oBACX,KAAK,EAAE,wBAAwB;oBAC/B,QAAQ,EAAE,MAAM;oBAChB,UAAU,EAAE,GAAG;iBAChB,kBAEM,CACR,IACG,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * QwickPress Admin Icon Component
3
+ *
4
+ * Custom icon displayed in the Payload CMS admin panel (favicon/small logo).
5
+ * Uses QwickIcon from the framework.
6
+ *
7
+ * Copyright (c) 2025 QwickApps.com. All rights reserved.
8
+ */
9
+ export declare const Icon: () => import("react/jsx-runtime").JSX.Element;
10
+ //# sourceMappingURL=Icon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Icon.d.ts","sourceRoot":"","sources":["../../../src/admin/components/Icon.tsx"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAOH,eAAO,MAAM,IAAI,+CAEhB,CAAC"}
@@ -0,0 +1,16 @@
1
+ // @ts-nocheck
2
+ /**
3
+ * QwickPress Admin Icon Component
4
+ *
5
+ * Custom icon displayed in the Payload CMS admin panel (favicon/small logo).
6
+ * Uses QwickIcon from the framework.
7
+ *
8
+ * Copyright (c) 2025 QwickApps.com. All rights reserved.
9
+ */
10
+ 'use client';
11
+ import { jsx as _jsx } from "react/jsx-runtime";
12
+ import { QwickIcon } from '@qwickapps/react-framework';
13
+ export const Icon = () => {
14
+ return _jsx(QwickIcon, { size: 24 });
15
+ };
16
+ //# sourceMappingURL=Icon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Icon.js","sourceRoot":"","sources":["../../../src/admin/components/Icon.tsx"],"names":[],"mappings":"AAAA,cAAc;AACd;;;;;;;GAOG;AAEH,YAAY,CAAC;;AAGb,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAEvD,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,EAAE;IACvB,OAAO,KAAC,SAAS,IAAC,IAAI,EAAE,EAAE,GAAI,CAAC;AACjC,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * QwickPress Admin Logo Component
3
+ *
4
+ * Custom logo displayed in the Payload CMS admin panel.
5
+ * Uses the ProductLogo component from QwickApps framework for consistent branding.
6
+ *
7
+ * Copyright (c) 2025 QwickApps.com. All rights reserved.
8
+ */
9
+ export declare const Logo: () => import("react/jsx-runtime").JSX.Element;
10
+ //# sourceMappingURL=Logo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Logo.d.ts","sourceRoot":"","sources":["../../../src/admin/components/Logo.tsx"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAOH,eAAO,MAAM,IAAI,+CAQhB,CAAC"}
@@ -0,0 +1,16 @@
1
+ // @ts-nocheck
2
+ /**
3
+ * QwickPress Admin Logo Component
4
+ *
5
+ * Custom logo displayed in the Payload CMS admin panel.
6
+ * Uses the ProductLogo component from QwickApps framework for consistent branding.
7
+ *
8
+ * Copyright (c) 2025 QwickApps.com. All rights reserved.
9
+ */
10
+ 'use client';
11
+ import { jsx as _jsx } from "react/jsx-runtime";
12
+ import { ProductLogo } from '@qwickapps/react-framework';
13
+ export const Logo = () => {
14
+ return (_jsx(ProductLogo, { name: "wick Press", size: "small", onClick: () => { window.location.href = '/admin'; } }));
15
+ };
16
+ //# sourceMappingURL=Logo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Logo.js","sourceRoot":"","sources":["../../../src/admin/components/Logo.tsx"],"names":[],"mappings":"AAAA,cAAc;AACd;;;;;;;GAOG;AAEH,YAAY,CAAC;;AAGb,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEzD,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,EAAE;IACvB,OAAO,CACL,KAAC,WAAW,IACV,IAAI,EAAC,YAAY,EACjB,IAAI,EAAC,OAAO,EACZ,OAAO,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAA,CAAC,CAAC,GAClD,CACH,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Custom Label for Navigation Items
3
+ *
4
+ * Displays meaningful labels showing item label and route
5
+ * Centralized implementation that receives data as props
6
+ *
7
+ * Copyright (c) 2025 QwickApps.com. All rights reserved.
8
+ */
9
+ import React from 'react';
10
+ interface NavigationItemLabelProps {
11
+ data?: {
12
+ label?: string;
13
+ route?: string;
14
+ icon?: string;
15
+ children?: any[];
16
+ };
17
+ rowNumber?: number;
18
+ }
19
+ export declare const NavigationItemRowLabel: React.FC<NavigationItemLabelProps>;
20
+ export {};
21
+ //# sourceMappingURL=NavigationItemRowLabel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavigationItemRowLabel.d.ts","sourceRoot":"","sources":["../../../src/admin/components/NavigationItemRowLabel.tsx"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAIH,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,UAAU,wBAAwB;IAChC,IAAI,CAAC,EAAE;QACL,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;KAClB,CAAC;IACF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CA4DrE,CAAC"}
@@ -0,0 +1,43 @@
1
+ // @ts-nocheck
2
+ /**
3
+ * Custom Label for Navigation Items
4
+ *
5
+ * Displays meaningful labels showing item label and route
6
+ * Centralized implementation that receives data as props
7
+ *
8
+ * Copyright (c) 2025 QwickApps.com. All rights reserved.
9
+ */
10
+ 'use client';
11
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
12
+ import { getIconEmoji } from '@qwickapps/react-framework';
13
+ export const NavigationItemRowLabel = ({ data, rowNumber = 0 }) => {
14
+ const displayIndex = String(rowNumber + 1).padStart(2, '0');
15
+ const hasChildren = data?.children && Array.isArray(data.children) && data.children.length > 0;
16
+ const displayIcon = getIconEmoji(data?.icon);
17
+ // Show error if required fields are missing
18
+ if (!data?.label || !data?.route) {
19
+ return (_jsxs("div", { style: { color: 'orange', fontWeight: 'bold' }, children: ["\u26A0\uFE0F Missing required fields - label: ", data?.label || 'MISSING', ", route: ", data?.route || 'MISSING'] }));
20
+ }
21
+ return (_jsxs("div", { style: {
22
+ display: 'flex',
23
+ alignItems: 'center',
24
+ gap: '8px',
25
+ fontWeight: 500,
26
+ }, children: [_jsxs("span", { style: {
27
+ color: 'var(--theme-elevation-600)',
28
+ fontSize: '14px',
29
+ fontWeight: 600,
30
+ }, children: [displayIndex, "."] }), _jsx("span", { style: { fontSize: '16px' }, children: displayIcon }), _jsx("span", { style: { color: 'var(--theme-elevation-900)' }, children: data.label }), _jsxs("span", { style: {
31
+ color: 'var(--theme-elevation-600)',
32
+ fontWeight: 400,
33
+ fontSize: '14px',
34
+ }, children: ["\u2192 ", data.route] }), hasChildren && (_jsxs("span", { style: {
35
+ fontSize: '12px',
36
+ padding: '2px 6px',
37
+ background: 'var(--theme-primary-light)',
38
+ color: 'var(--theme-primary-dark)',
39
+ borderRadius: '4px',
40
+ fontWeight: 600,
41
+ }, children: [data.children.length, " sub-item", data.children.length !== 1 ? 's' : ''] }))] }));
42
+ };
43
+ //# sourceMappingURL=NavigationItemRowLabel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavigationItemRowLabel.js","sourceRoot":"","sources":["../../../src/admin/components/NavigationItemRowLabel.tsx"],"names":[],"mappings":"AAAA,cAAc;AACd;;;;;;;GAOG;AAEH,YAAY,CAAC;;AAGb,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAY1D,MAAM,CAAC,MAAM,sBAAsB,GAAuC,CAAC,EAAE,IAAI,EAAE,SAAS,GAAG,CAAC,EAAE,EAAE,EAAE;IACpG,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC5D,MAAM,WAAW,GAAG,IAAI,EAAE,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IAE/F,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAE7C,4CAA4C;IAC5C,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;QACjC,OAAO,CACL,eAAK,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,+DACZ,IAAI,EAAE,KAAK,IAAI,SAAS,eAAW,IAAI,EAAE,KAAK,IAAI,SAAS,IAC5F,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,eAAK,KAAK,EAAE;YACV,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,QAAQ;YACpB,GAAG,EAAE,KAAK;YACV,UAAU,EAAE,GAAG;SAChB,aACC,gBAAM,KAAK,EAAE;oBACX,KAAK,EAAE,4BAA4B;oBACnC,QAAQ,EAAE,MAAM;oBAChB,UAAU,EAAE,GAAG;iBAChB,aACE,YAAY,SACR,EAEP,eAAM,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,YAC9B,WAAW,GACP,EAEP,eAAM,KAAK,EAAE,EAAE,KAAK,EAAE,4BAA4B,EAAE,YACjD,IAAI,CAAC,KAAK,GACN,EAEP,gBAAM,KAAK,EAAE;oBACX,KAAK,EAAE,4BAA4B;oBACnC,UAAU,EAAE,GAAG;oBACf,QAAQ,EAAE,MAAM;iBACjB,wBACI,IAAI,CAAC,KAAK,IACR,EAEN,WAAW,IAAI,CACd,gBAAM,KAAK,EAAE;oBACX,QAAQ,EAAE,MAAM;oBAChB,OAAO,EAAE,SAAS;oBAClB,UAAU,EAAE,4BAA4B;oBACxC,KAAK,EAAE,2BAA2B;oBAClC,YAAY,EAAE,KAAK;oBACnB,UAAU,EAAE,GAAG;iBAChB,aACE,IAAI,CAAC,QAAS,CAAC,MAAM,eAAW,IAAI,CAAC,QAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAClE,CACR,IACG,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Custom Label for Navigation Sub-Items
3
+ *
4
+ * Displays meaningful labels for nested navigation items
5
+ * Centralized implementation that receives data as props
6
+ *
7
+ * Copyright (c) 2025 QwickApps.com. All rights reserved.
8
+ */
9
+ import React from 'react';
10
+ interface NavigationSubItemLabelProps {
11
+ data?: {
12
+ label?: string;
13
+ route?: string;
14
+ };
15
+ rowNumber?: number;
16
+ }
17
+ export declare const NavigationSubItemRowLabel: React.FC<NavigationSubItemLabelProps>;
18
+ export {};
19
+ //# sourceMappingURL=NavigationSubItemRowLabel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavigationSubItemRowLabel.d.ts","sourceRoot":"","sources":["../../../src/admin/components/NavigationSubItemRowLabel.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,UAAU,2BAA2B;IACnC,IAAI,CAAC,EAAE;QACL,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,EAAE,CAAC,2BAA2B,CA4C3E,CAAC"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Custom Label for Navigation Sub-Items
3
+ *
4
+ * Displays meaningful labels for nested navigation items
5
+ * Centralized implementation that receives data as props
6
+ *
7
+ * Copyright (c) 2025 QwickApps.com. All rights reserved.
8
+ */
9
+ 'use client';
10
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
11
+ export const NavigationSubItemRowLabel = ({ data, rowNumber = 0 }) => {
12
+ const displayIndex = String(rowNumber + 1).padStart(2, '0');
13
+ // Show error if required fields are missing
14
+ if (!data?.label || !data?.route) {
15
+ return (_jsxs("div", { style: { color: 'orange', fontWeight: 'bold' }, children: ["\u26A0\uFE0F Missing required fields - label: ", data?.label || 'MISSING', ", route: ", data?.route || 'MISSING'] }));
16
+ }
17
+ return (_jsxs("div", { style: {
18
+ display: 'flex',
19
+ alignItems: 'center',
20
+ gap: '8px',
21
+ fontWeight: 500,
22
+ }, children: [_jsxs("span", { style: {
23
+ color: 'var(--theme-elevation-600)',
24
+ fontSize: '14px',
25
+ fontWeight: 600,
26
+ }, children: [displayIndex, "."] }), _jsx("span", { style: { fontSize: '16px' }, children: "\u21B3" }), _jsx("span", { style: { color: 'var(--theme-elevation-900)' }, children: data.label }), _jsxs("span", { style: {
27
+ color: 'var(--theme-elevation-600)',
28
+ fontWeight: 400,
29
+ fontSize: '14px',
30
+ }, children: ["\u2192 ", data.route] })] }));
31
+ };
32
+ //# sourceMappingURL=NavigationSubItemRowLabel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavigationSubItemRowLabel.js","sourceRoot":"","sources":["../../../src/admin/components/NavigationSubItemRowLabel.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,YAAY,CAAC;;AAYb,MAAM,CAAC,MAAM,yBAAyB,GAA0C,CAAC,EAAE,IAAI,EAAE,SAAS,GAAG,CAAC,EAAE,EAAE,EAAE;IAC1G,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAE5D,4CAA4C;IAC5C,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;QACjC,OAAO,CACL,eAAK,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,+DACZ,IAAI,EAAE,KAAK,IAAI,SAAS,eAAW,IAAI,EAAE,KAAK,IAAI,SAAS,IAC5F,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,eAAK,KAAK,EAAE;YACV,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,QAAQ;YACpB,GAAG,EAAE,KAAK;YACV,UAAU,EAAE,GAAG;SAChB,aACC,gBAAM,KAAK,EAAE;oBACX,KAAK,EAAE,4BAA4B;oBACnC,QAAQ,EAAE,MAAM;oBAChB,UAAU,EAAE,GAAG;iBAChB,aACE,YAAY,SACR,EAEP,eAAM,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,uBAE1B,EAEP,eAAM,KAAK,EAAE,EAAE,KAAK,EAAE,4BAA4B,EAAE,YACjD,IAAI,CAAC,KAAK,GACN,EAEP,gBAAM,KAAK,EAAE;oBACX,KAAK,EAAE,4BAA4B;oBACnC,UAAU,EAAE,GAAG;oBACf,QAAQ,EAAE,MAAM;iBACjB,wBACI,IAAI,CAAC,KAAK,IACR,IACH,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Enhanced Pages List Header Component
3
+ *
4
+ * Adds Material Design-styled header above the Pages list
5
+ * Provides quick stats and actions for better UX
6
+ *
7
+ * Copyright (c) 2025 QwickApps.com. All rights reserved.
8
+ */
9
+ import React from 'react';
10
+ import type { BeforeListClientProps } from 'payload';
11
+ import './styles/CollectionListHeader.css';
12
+ export declare const PagesListHeader: React.FC<BeforeListClientProps>;
13
+ //# sourceMappingURL=PagesListHeader.d.ts.map