@qwickapps/cms 0.2.5 → 0.2.7

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.
@@ -2,7 +2,7 @@ export const Media = {
2
2
  slug: 'media',
3
3
  upload: {
4
4
  staticDir: 'media',
5
- mimeTypes: ['image/*', 'video/*', 'application/pdf'],
5
+ mimeTypes: ['image/*', 'image/svg+xml', 'video/*', 'application/pdf'],
6
6
  },
7
7
  admin: {
8
8
  useAsTitle: 'filename',
@@ -1 +1 @@
1
- {"version":3,"file":"Media.js","sourceRoot":"","sources":["../../src/collections/Media.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,KAAK,GAAqB;IACrC,IAAI,EAAE,OAAO;IACb,MAAM,EAAE;QACN,SAAS,EAAE,OAAO;QAClB,SAAS,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,iBAAiB,CAAC;KACrD;IACD,KAAK,EAAE;QACL,UAAU,EAAE,UAAU;QACtB,KAAK,EAAE,OAAO;KACf;IACD,MAAM,EAAE;QACN,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI;KACjB;IACD,MAAM,EAAE;QACN;YACE,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,IAAI;SACf;QACD;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,UAAU;SACjB;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"Media.js","sourceRoot":"","sources":["../../src/collections/Media.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,KAAK,GAAqB;IACrC,IAAI,EAAE,OAAO;IACb,MAAM,EAAE;QACN,SAAS,EAAE,OAAO;QAClB,SAAS,EAAE,CAAC,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,iBAAiB,CAAC;KACtE;IACD,KAAK,EAAE;QACL,UAAU,EAAE,UAAU;QACtB,KAAK,EAAE,OAAO;KACf;IACD,MAAM,EAAE;QACN,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI;KACjB;IACD,MAAM,EAAE;QACN;YACE,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,IAAI;SACf;QACD;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,UAAU;SACjB;KACF;CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/logging/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AASH,KAAK,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAMpD,UAAU,eAAe;IACvB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAChE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC/D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC/D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAChE,SAAS,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CACnD;AAsHD;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,CAkBlE;AAED;;GAEG;AACH,eAAO,MAAM,UAAU;IACrB,2DAA2D;;IAG3D,+DAA+D;;IAG/D,qEAAqE;;IAGrE,8DAA8D;;IAG9D,sDAAsD;;IAGtD,gEAAgE;;CAEjE,CAAC;AAEF;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAKlD;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAE5D;AAGD,YAAY,EAAE,QAAQ,EAAE,eAAe,IAAI,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/logging/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AASH,KAAK,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAMpD,UAAU,eAAe;IACvB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAChE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC/D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC/D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAChE,SAAS,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CACnD;AAwHD;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,CAkBlE;AAED;;GAEG;AACH,eAAO,MAAM,UAAU;IACrB,2DAA2D;;IAG3D,+DAA+D;;IAG/D,qEAAqE;;IAGrE,8DAA8D;;IAG9D,sDAAsD;;IAGtD,gEAAgE;;CAEjE,CAAC;AAEF;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAKlD;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAE5D;AAGD,YAAY,EAAE,QAAQ,EAAE,eAAe,IAAI,MAAM,EAAE,CAAC"}
@@ -44,7 +44,9 @@ catch {
44
44
  // @qwickapps/logging not installed - use console fallback
45
45
  }
46
46
  try {
47
- // @ts-expect-error - optional dependency, may not be installed or published
47
+ // Dynamic import with type suppression for optional dependency
48
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
49
+ // @ts-ignore - @qwickapps/log-client is an optional dependency
48
50
  const logClientModule = await import('@qwickapps/log-client');
49
51
  LogClientClass = logClientModule.LogClient;
50
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/logging/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/logging/index.ts"],"names":[],"mappings":"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"}
@@ -14,10 +14,13 @@ export interface ClientSideQwickAppProps {
14
14
  }>;
15
15
  }>;
16
16
  initialSettings?: Settings | null;
17
+ appBar?: {
18
+ actions?: ReactNode;
19
+ };
17
20
  }
18
21
  /**
19
22
  * ClientSideQwickApp - Client Component
20
23
  * Wraps the entire app with QwickApps framework, settings provider, and analytics
21
24
  */
22
- export declare function ClientSideQwickApp({ children, navigationItems, initialSettings }: ClientSideQwickAppProps): import("react/jsx-runtime").JSX.Element;
25
+ export declare function ClientSideQwickApp({ children, navigationItems, initialSettings, appBar }: ClientSideQwickAppProps): import("react/jsx-runtime").JSX.Element;
23
26
  //# sourceMappingURL=ClientSideQwickApp.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ClientSideQwickApp.d.ts","sourceRoot":"","sources":["../../src/nextjs/ClientSideQwickApp.tsx"],"names":[],"mappings":"AAcA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGlC,OAAO,EAAoB,QAAQ,EAAe,MAAM,oBAAoB,CAAC;AAU7E,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,SAAS,CAAC;IACpB,eAAe,EAAE,KAAK,CAAC;QACrB,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,KAAK,CAAC;YACf,EAAE,EAAE,MAAM,CAAC;YACX,KAAK,EAAE,MAAM,CAAC;YACd,KAAK,EAAE,MAAM,CAAC;SACf,CAAC,CAAC;KACJ,CAAC,CAAC;IACH,eAAe,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;CACnC;AAyCD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,eAAe,EAAE,EAAE,uBAAuB,2CAWzG"}
1
+ {"version":3,"file":"ClientSideQwickApp.d.ts","sourceRoot":"","sources":["../../src/nextjs/ClientSideQwickApp.tsx"],"names":[],"mappings":"AAcA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGlC,OAAO,EAAoB,QAAQ,EAAe,MAAM,oBAAoB,CAAC;AAU7E,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,SAAS,CAAC;IACpB,eAAe,EAAE,KAAK,CAAC;QACrB,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,KAAK,CAAC;YACf,EAAE,EAAE,MAAM,CAAC;YACX,KAAK,EAAE,MAAM,CAAC;YACd,KAAK,EAAE,MAAM,CAAC;SACf,CAAC,CAAC;KACJ,CAAC,CAAC;IACH,eAAe,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IAClC,MAAM,CAAC,EAAE;QACP,OAAO,CAAC,EAAE,SAAS,CAAC;KACrB,CAAC;CACH;AA0CD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE,uBAAuB,2CAWjH"}
@@ -24,7 +24,7 @@ const payloadProvider = new PayloadDataProvider({
24
24
  /**
25
25
  * Inner component that uses settings from SettingsProvider
26
26
  */
27
- function QwickAppWithSettings({ children, navigationItems }) {
27
+ function QwickAppWithSettings({ children, navigationItems, appBar }) {
28
28
  const { settings } = useSettings();
29
29
  // Use settings for app name
30
30
  const appName = settings?.siteName || 'QwickPress';
@@ -35,7 +35,7 @@ function QwickAppWithSettings({ children, navigationItems }) {
35
35
  const defaultPalette = settings?.defaultPalette || 'default';
36
36
  const showThemeSwitcher = settings?.showThemeSwitcher !== undefined ? settings.showThemeSwitcher : true;
37
37
  const showPaletteSwitcher = settings?.showPaletteSwitcher !== undefined ? settings.showPaletteSwitcher : false;
38
- return (_jsx(QwickApp, { appName: appName, logo: logoElement, appId: "com.qwickapps.press", enableScaffolding: true, navigationItems: navigationItems, showThemeSwitcher: showThemeSwitcher, showPaletteSwitcher: showPaletteSwitcher, defaultTheme: defaultTheme, defaultPalette: defaultPalette, dataSource: {
38
+ return (_jsx(QwickApp, { appName: appName, logo: logoElement, appId: "com.qwickapps.press", enableScaffolding: true, navigationItems: navigationItems, appBar: appBar, showThemeSwitcher: showThemeSwitcher, showPaletteSwitcher: showPaletteSwitcher, defaultTheme: defaultTheme, defaultPalette: defaultPalette, dataSource: {
39
39
  dataProvider: payloadProvider,
40
40
  enableLogging: false
41
41
  }, children: children }));
@@ -44,7 +44,7 @@ function QwickAppWithSettings({ children, navigationItems }) {
44
44
  * ClientSideQwickApp - Client Component
45
45
  * Wraps the entire app with QwickApps framework, settings provider, and analytics
46
46
  */
47
- export function ClientSideQwickApp({ children, navigationItems, initialSettings }) {
48
- return (_jsx(AppRouterCacheProvider, { children: _jsxs(SettingsProvider, { initialSettings: initialSettings || undefined, children: [_jsx(ScriptsInjector, {}), _jsx(QwickAppWithSettings, { navigationItems: navigationItems, children: children })] }) }));
47
+ export function ClientSideQwickApp({ children, navigationItems, initialSettings, appBar }) {
48
+ return (_jsx(AppRouterCacheProvider, { children: _jsxs(SettingsProvider, { initialSettings: initialSettings || undefined, children: [_jsx(ScriptsInjector, {}), _jsx(QwickAppWithSettings, { navigationItems: navigationItems, appBar: appBar, children: children })] }) }));
49
49
  }
50
50
  //# sourceMappingURL=ClientSideQwickApp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ClientSideQwickApp.js","sourceRoot":"","sources":["../../src/nextjs/ClientSideQwickApp.tsx"],"names":[],"mappings":"AAAA,cAAc;AACd,YAAY,CAAC;;AAEb;;;;;;;GAOG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,gGAAgG;AAChG,OAAO,EAAE,gBAAgB,EAAY,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,wCAAwC;AACxC,MAAM,eAAe,GAAG,IAAI,mBAAmB,CAAC;IAC9C,MAAM,EAAE,MAAM;IACd,KAAK,EAAE,KAAK;CACb,CAAC,CAAC;AAkBH;;GAEG;AACH,SAAS,oBAAoB,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAmD;IAC1G,MAAM,EAAE,QAAQ,EAAE,GAAG,WAAW,EAAE,CAAC;IAEnC,4BAA4B;IAC5B,MAAM,OAAO,GAAG,QAAQ,EAAE,QAAQ,IAAI,YAAY,CAAC;IAEnD,6EAA6E;IAC7E,MAAM,WAAW,GAAG,KAAC,QAAQ,IAAC,IAAI,EAAC,OAAO,GAAG,CAAC;IAE9C,sDAAsD;IACtD,MAAM,YAAY,GAAG,QAAQ,EAAE,YAAY,IAAI,OAAO,CAAC;IACvD,MAAM,cAAc,GAAG,QAAQ,EAAE,cAAc,IAAI,SAAS,CAAC;IAC7D,MAAM,iBAAiB,GAAG,QAAQ,EAAE,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC;IACxG,MAAM,mBAAmB,GAAG,QAAQ,EAAE,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC;IAE/G,OAAO,CACL,KAAC,QAAQ,IACP,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,WAAW,EACjB,KAAK,EAAC,qBAAqB,EAC3B,iBAAiB,EAAE,IAAI,EACvB,eAAe,EAAE,eAAe,EAChC,iBAAiB,EAAE,iBAAiB,EACpC,mBAAmB,EAAE,mBAAmB,EACxC,YAAY,EAAE,YAAY,EAC1B,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE;YACV,YAAY,EAAE,eAAe;YAC7B,aAAa,EAAE,KAAK;SACrB,YAEA,QAAe,GACP,CACZ,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,eAAe,EAA2B;IACxG,OAAO,CACL,KAAC,sBAAsB,cACrB,MAAC,gBAAgB,IAAC,eAAe,EAAE,eAAe,IAAI,SAAS,aAC7D,KAAC,eAAe,KAAG,EACnB,KAAC,oBAAoB,IAAC,eAAe,EAAE,eAAe,YACnD,QAAQ,GACY,IACN,GACI,CAC1B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"ClientSideQwickApp.js","sourceRoot":"","sources":["../../src/nextjs/ClientSideQwickApp.tsx"],"names":[],"mappings":"AAAA,cAAc;AACd,YAAY,CAAC;;AAEb;;;;;;;GAOG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,gGAAgG;AAChG,OAAO,EAAE,gBAAgB,EAAY,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,wCAAwC;AACxC,MAAM,eAAe,GAAG,IAAI,mBAAmB,CAAC;IAC9C,MAAM,EAAE,MAAM;IACd,KAAK,EAAE,KAAK;CACb,CAAC,CAAC;AAqBH;;GAEG;AACH,SAAS,oBAAoB,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAqF;IACpJ,MAAM,EAAE,QAAQ,EAAE,GAAG,WAAW,EAAE,CAAC;IAEnC,4BAA4B;IAC5B,MAAM,OAAO,GAAG,QAAQ,EAAE,QAAQ,IAAI,YAAY,CAAC;IAEnD,6EAA6E;IAC7E,MAAM,WAAW,GAAG,KAAC,QAAQ,IAAC,IAAI,EAAC,OAAO,GAAG,CAAC;IAE9C,sDAAsD;IACtD,MAAM,YAAY,GAAG,QAAQ,EAAE,YAAY,IAAI,OAAO,CAAC;IACvD,MAAM,cAAc,GAAG,QAAQ,EAAE,cAAc,IAAI,SAAS,CAAC;IAC7D,MAAM,iBAAiB,GAAG,QAAQ,EAAE,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC;IACxG,MAAM,mBAAmB,GAAG,QAAQ,EAAE,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC;IAE/G,OAAO,CACL,KAAC,QAAQ,IACP,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,WAAW,EACjB,KAAK,EAAC,qBAAqB,EAC3B,iBAAiB,EAAE,IAAI,EACvB,eAAe,EAAE,eAAe,EAChC,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,iBAAiB,EACpC,mBAAmB,EAAE,mBAAmB,EACxC,YAAY,EAAE,YAAY,EAC1B,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE;YACV,YAAY,EAAE,eAAe;YAC7B,aAAa,EAAE,KAAK;SACrB,YAEA,QAAe,GACP,CACZ,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,EAA2B;IAChH,OAAO,CACL,KAAC,sBAAsB,cACrB,MAAC,gBAAgB,IAAC,eAAe,EAAE,eAAe,IAAI,SAAS,aAC7D,KAAC,eAAe,KAAG,EACnB,KAAC,oBAAoB,IAAC,eAAe,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,YACnE,QAAQ,GACY,IACN,GACI,CAC1B,CAAC;AACJ,CAAC"}
@@ -5,10 +5,13 @@ import type { Config } from 'payload';
5
5
  export interface ServerQwickAppProps {
6
6
  children: ReactNode;
7
7
  payloadConfig: Config;
8
+ appBar?: {
9
+ actions?: ReactNode;
10
+ };
8
11
  }
9
12
  /**
10
13
  * ServerQwickApp - Server Component
11
14
  * Fetches navigation and settings from CMS and passes to client component
12
15
  */
13
- export declare function ServerQwickApp({ children, payloadConfig }: ServerQwickAppProps): Promise<import("react/jsx-runtime").JSX.Element>;
16
+ export declare function ServerQwickApp({ children, payloadConfig, appBar }: ServerQwickAppProps): Promise<import("react/jsx-runtime").JSX.Element>;
14
17
  //# sourceMappingURL=ServerQwickApp.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ServerQwickApp.d.ts","sourceRoot":"","sources":["../../src/nextjs/ServerQwickApp.tsx"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,kBAAkB,CAAC;AAEvC,OAAO,aAAa,CAAC;AAYrB,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEtC,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,SAAS,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACvB;AAqJD;;;GAGG;AACH,wBAAsB,cAAc,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,mBAAmB,oDAYpF"}
1
+ {"version":3,"file":"ServerQwickApp.d.ts","sourceRoot":"","sources":["../../src/nextjs/ServerQwickApp.tsx"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,kBAAkB,CAAC;AAEvC,OAAO,aAAa,CAAC;AAYrB,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEtC,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,SAAS,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE;QACP,OAAO,CAAC,EAAE,SAAS,CAAC;KACrB,CAAC;CACH;AAqJD;;;GAGG;AACH,wBAAsB,cAAc,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,mBAAmB,oDAa5F"}
@@ -152,9 +152,9 @@ function getDefaultSettings() {
152
152
  * ServerQwickApp - Server Component
153
153
  * Fetches navigation and settings from CMS and passes to client component
154
154
  */
155
- export async function ServerQwickApp({ children, payloadConfig }) {
155
+ export async function ServerQwickApp({ children, payloadConfig, appBar }) {
156
156
  const navigationData = await getNavigationData(payloadConfig);
157
157
  const settings = await getSettings(payloadConfig);
158
- return (_jsx(ClientSideQwickApp, { navigationItems: navigationData.items, initialSettings: settings, children: children }));
158
+ return (_jsx(ClientSideQwickApp, { navigationItems: navigationData.items, initialSettings: settings, appBar: appBar, children: children }));
159
159
  }
160
160
  //# sourceMappingURL=ServerQwickApp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ServerQwickApp.js","sourceRoot":"","sources":["../../src/nextjs/ServerQwickApp.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ServerQwickApp.js","sourceRoot":"","sources":["../../src/nextjs/ServerQwickApp.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qwickapps/cms",
3
- "version": "0.2.5",
3
+ "version": "0.2.7",
4
4
  "description": "QwickApps CMS - Reusable Payload CMS collections, globals, and components",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -55,7 +55,7 @@
55
55
  "dev": "tsc --watch",
56
56
  "clean": "rm -rf dist",
57
57
  "validate": "./qa/clean-install/validate.sh",
58
- "prepublishOnly": "npm run validate"
58
+ "validate:safe": "test -f ./qa/clean-install/validate.sh && npm run validate || echo 'Validation skipped - qa scripts not available'"
59
59
  },
60
60
  "peerDependencies": {
61
61
  "@mui/icons-material": ">=6.0.0",
@@ -66,7 +66,7 @@
66
66
  "@payloadcms/ui": "^3.0.0",
67
67
  "@qwickapps/react-framework": "*",
68
68
  "@qwickapps/schema": "*",
69
- "next": "^15.5.6",
69
+ "next": "^15.5.11",
70
70
  "payload": "^3.0.0",
71
71
  "react": "^19.0.0",
72
72
  "react-dom": "^19.0.0"
@@ -91,11 +91,12 @@
91
91
  },
92
92
  "files": [
93
93
  "dist",
94
+ "qa",
94
95
  "README.md",
95
96
  "LICENSE"
96
97
  ],
97
98
  "dependencies": {
98
- "@mui/material-nextjs": "^7.3.5",
99
+ "@mui/material-nextjs": "^7.3.7",
99
100
  "@payloadcms/email-nodemailer": "3.65.0",
100
101
  "@payloadcms/live-preview-react": "3.65.0",
101
102
  "server-only": "^0.0.1"
@@ -107,9 +108,9 @@
107
108
  "license": "PolyForm-Shield-1.0.0",
108
109
  "repository": {
109
110
  "type": "git",
110
- "url": "https://github.com/raajkumars/qwickapps.git",
111
- "directory": "packages/qwickapps-cms"
111
+ "url": "https://github.com/qwickapps/cms.git"
112
112
  },
113
+ "homepage": "https://github.com/qwickapps/cms#readme",
113
114
  "publishConfig": {
114
115
  "access": "public"
115
116
  }
@@ -0,0 +1,50 @@
1
+ # Clean Environment Test for @qwickapps/cms
2
+ # This Dockerfile simulates a fresh installation environment
3
+
4
+ FROM node:20-slim
5
+
6
+ ARG TARBALL
7
+
8
+ WORKDIR /app
9
+
10
+ # Copy and install the package tarball
11
+ COPY ${TARBALL} ./package.tgz
12
+ RUN npm init -y && \
13
+ npm pkg set type="module"
14
+
15
+ # Install peer dependencies (minimal set for type checking)
16
+ # Note: We install stubs/types where possible to avoid full runtime dependencies
17
+ RUN npm install \
18
+ react@19 \
19
+ react-dom@19 \
20
+ @types/react@19 \
21
+ @types/react-dom@19 \
22
+ next@15 \
23
+ payload@3 \
24
+ @payloadcms/next@3 \
25
+ @payloadcms/db-postgres@3 \
26
+ @payloadcms/richtext-lexical@3 \
27
+ @payloadcms/ui@3 \
28
+ @mui/material@6 \
29
+ @mui/icons-material@6 \
30
+ @emotion/react \
31
+ @emotion/styled \
32
+ @qwickapps/react-framework \
33
+ @qwickapps/schema \
34
+ --legacy-peer-deps
35
+
36
+ # Install the CMS package
37
+ RUN npm install ./package.tgz --legacy-peer-deps
38
+
39
+ # Copy test files
40
+ COPY qa/clean-install/test-cms.ts ./test-cms.ts
41
+ COPY qa/clean-install/tsconfig.json ./tsconfig.json
42
+
43
+ # Install TypeScript and tsx
44
+ RUN npm install typescript @types/node tsx --save-dev --legacy-peer-deps
45
+
46
+ # Run TypeScript type checking
47
+ RUN npx tsc --noEmit
48
+
49
+ # Run the test
50
+ RUN npx tsx test-cms.ts
@@ -0,0 +1,46 @@
1
+ # Clean Install Validation
2
+
3
+ This directory contains validation tests to ensure `@qwickapps/cms` works correctly when installed in a fresh environment (not from monorepo).
4
+
5
+ ## What It Tests
6
+
7
+ 1. **Package Installation** - Verifies the package installs without errors
8
+ 2. **TypeScript Compilation** - Validates all type definitions work
9
+ 3. **Subpath Exports** - Tests all subpath exports (collections, blocks, plugins, etc.)
10
+ 4. **Logging Module** - Validates optional logging dependencies work correctly
11
+ 5. **Type Definitions** - Ensures TypeScript types are properly exported
12
+
13
+ ## Running the Test
14
+
15
+ ```bash
16
+ # From the package directory
17
+ ./qa/clean-install/validate.sh
18
+ ```
19
+
20
+ ## Requirements
21
+
22
+ - Docker (for isolated environment testing)
23
+ - npm (for package creation)
24
+
25
+ ## How It Works
26
+
27
+ 1. Builds the package and creates an npm tarball
28
+ 2. Spins up a fresh Docker container with Node.js
29
+ 3. Installs the tarball with peer dependencies
30
+ 4. Runs TypeScript type checking
31
+ 5. Executes export verification tests
32
+ 6. Reports success or failure
33
+
34
+ ## Peer Dependencies Note
35
+
36
+ This package has many peer dependencies (Payload CMS, Next.js, React, etc.). The validation:
37
+ - Installs minimal peer dependencies needed for type checking
38
+ - Focuses on TypeScript compilation and export verification
39
+ - Does not test full runtime behavior (that requires a complete Payload/Next.js setup)
40
+
41
+ ## When to Run
42
+
43
+ - Before publishing to npm
44
+ - After making changes to exports or types
45
+ - As part of CI/CD pipeline
46
+ - When debugging installation issues
@@ -0,0 +1,198 @@
1
+ /**
2
+ * Clean Environment Validation Test for @qwickapps/cms
3
+ *
4
+ * This file tests that the package can be imported and used correctly
5
+ * in a fresh TypeScript/Node.js project.
6
+ *
7
+ * It validates:
8
+ * - All subpath exports are available
9
+ * - TypeScript types work correctly
10
+ * - Collections, blocks, and plugins can be imported
11
+ * - Logging module works with optional dependencies
12
+ */
13
+
14
+ let testsPassed = 0;
15
+ let testsFailed = 0;
16
+
17
+ function test(name: string, fn: () => void | Promise<void>): void {
18
+ try {
19
+ const result = fn();
20
+ if (result instanceof Promise) {
21
+ result
22
+ .then(() => {
23
+ console.log(` ✓ ${name}`);
24
+ testsPassed++;
25
+ })
26
+ .catch((err) => {
27
+ console.log(` ✗ ${name}: ${err.message}`);
28
+ testsFailed++;
29
+ });
30
+ } else {
31
+ console.log(` ✓ ${name}`);
32
+ testsPassed++;
33
+ }
34
+ } catch (err: unknown) {
35
+ const message = err instanceof Error ? err.message : String(err);
36
+ console.log(` ✗ ${name}: ${message}`);
37
+ testsFailed++;
38
+ }
39
+ }
40
+
41
+ function assert(condition: boolean, message: string): void {
42
+ if (!condition) {
43
+ throw new Error(message);
44
+ }
45
+ }
46
+
47
+ console.log('╔════════════════════════════════════════════════════════════════╗');
48
+ console.log('║ @qwickapps/cms - Clean Environment Test ║');
49
+ console.log('╚════════════════════════════════════════════════════════════════╝');
50
+ console.log('');
51
+
52
+ // Test 1: Main exports
53
+ console.log('Test Group: Main Exports');
54
+
55
+ test('Main module imports successfully', async () => {
56
+ const cms = await import('@qwickapps/cms');
57
+ assert(cms !== undefined, 'Main module should export something');
58
+ });
59
+
60
+ // Test 2: Collections subpath
61
+ console.log('\nTest Group: Collections Subpath');
62
+
63
+ test('Collections subpath imports successfully', async () => {
64
+ const collections = await import('@qwickapps/cms/collections');
65
+ assert(collections !== undefined, 'Collections should be importable');
66
+ });
67
+
68
+ test('Pages collection exists', async () => {
69
+ const { Pages } = await import('@qwickapps/cms/collections');
70
+ assert(Pages !== undefined, 'Pages collection should exist');
71
+ assert(typeof Pages === 'object', 'Pages should be an object');
72
+ });
73
+
74
+ test('Users collection exists', async () => {
75
+ const { Users } = await import('@qwickapps/cms/collections');
76
+ assert(Users !== undefined, 'Users collection should exist');
77
+ });
78
+
79
+ test('Media collection exists', async () => {
80
+ const { Media } = await import('@qwickapps/cms/collections');
81
+ assert(Media !== undefined, 'Media collection should exist');
82
+ });
83
+
84
+ test('Posts collection exists', async () => {
85
+ const { Posts } = await import('@qwickapps/cms/collections');
86
+ assert(Posts !== undefined, 'Posts collection should exist');
87
+ });
88
+
89
+ test('Navigation collection exists', async () => {
90
+ const { Navigation } = await import('@qwickapps/cms/collections');
91
+ assert(Navigation !== undefined, 'Navigation collection should exist');
92
+ });
93
+
94
+ // Test 3: Blocks subpath
95
+ console.log('\nTest Group: Blocks Subpath');
96
+
97
+ test('Blocks subpath imports successfully', async () => {
98
+ const blocks = await import('@qwickapps/cms/blocks');
99
+ assert(blocks !== undefined, 'Blocks should be importable');
100
+ });
101
+
102
+ test('HeroBlock exists', async () => {
103
+ const { HeroBlock } = await import('@qwickapps/cms/blocks');
104
+ assert(HeroBlock !== undefined, 'HeroBlock should exist');
105
+ });
106
+
107
+ test('contentBlocks array exists', async () => {
108
+ const { contentBlocks } = await import('@qwickapps/cms/blocks');
109
+ assert(contentBlocks !== undefined, 'contentBlocks should exist');
110
+ assert(Array.isArray(contentBlocks), 'contentBlocks should be an array');
111
+ });
112
+
113
+ // Test 4: Plugins subpath
114
+ console.log('\nTest Group: Plugins Subpath');
115
+
116
+ test('Plugins subpath imports successfully', async () => {
117
+ const plugins = await import('@qwickapps/cms/plugins');
118
+ assert(plugins !== undefined, 'Plugins should be importable');
119
+ });
120
+
121
+ test('qwickappsPlugin exists', async () => {
122
+ const { qwickappsPlugin } = await import('@qwickapps/cms/plugins');
123
+ assert(qwickappsPlugin !== undefined, 'qwickappsPlugin should exist');
124
+ assert(typeof qwickappsPlugin === 'function', 'qwickappsPlugin should be a function');
125
+ });
126
+
127
+ // Test 5: Globals subpath
128
+ console.log('\nTest Group: Globals Subpath');
129
+
130
+ test('Globals subpath imports successfully', async () => {
131
+ const globals = await import('@qwickapps/cms/globals');
132
+ assert(globals !== undefined, 'Globals should be importable');
133
+ });
134
+
135
+ // Test 6: Components subpath
136
+ console.log('\nTest Group: Components Subpath');
137
+
138
+ test('Components subpath imports successfully', async () => {
139
+ const components = await import('@qwickapps/cms/components');
140
+ assert(components !== undefined, 'Components should be importable');
141
+ });
142
+
143
+ // Test 7: Providers subpath
144
+ console.log('\nTest Group: Providers Subpath');
145
+
146
+ test('Providers subpath imports successfully', async () => {
147
+ const providers = await import('@qwickapps/cms/providers');
148
+ assert(providers !== undefined, 'Providers should be importable');
149
+ });
150
+
151
+ // Test 8: Logging subpath (with optional dependencies)
152
+ console.log('\nTest Group: Logging Subpath');
153
+
154
+ test('Logging subpath imports successfully', async () => {
155
+ const logging = await import('@qwickapps/cms/logging');
156
+ assert(logging !== undefined, 'Logging should be importable');
157
+ });
158
+
159
+ test('createCMSLogger exists', async () => {
160
+ const { createCMSLogger } = await import('@qwickapps/cms/logging');
161
+ assert(createCMSLogger !== undefined, 'createCMSLogger should exist');
162
+ assert(typeof createCMSLogger === 'function', 'createCMSLogger should be a function');
163
+ });
164
+
165
+ test('cmsLoggers object exists', async () => {
166
+ const { cmsLoggers } = await import('@qwickapps/cms/logging');
167
+ assert(cmsLoggers !== undefined, 'cmsLoggers should exist');
168
+ assert(typeof cmsLoggers === 'object', 'cmsLoggers should be an object');
169
+ });
170
+
171
+ test('flushCMSLogs exists', async () => {
172
+ const { flushCMSLogs } = await import('@qwickapps/cms/logging');
173
+ assert(flushCMSLogs !== undefined, 'flushCMSLogs should exist');
174
+ assert(typeof flushCMSLogs === 'function', 'flushCMSLogs should be a function');
175
+ });
176
+
177
+ // Test 9: Admin subpath
178
+ // Note: Admin components import CSS which requires a bundler (webpack/vite).
179
+ // TypeScript type checking validates the exports. Runtime import is skipped.
180
+ console.log('\nTest Group: Admin Subpath');
181
+ console.log(' ⏭ Admin subpath skipped (requires bundler for CSS imports)');
182
+ console.log(' ✓ Admin types validated by TypeScript compilation');
183
+
184
+ // Wait for async tests to complete
185
+ await new Promise(resolve => setTimeout(resolve, 100));
186
+
187
+ // Summary
188
+ console.log('\n' + '─'.repeat(60));
189
+ console.log(`\nResults: ${testsPassed} passed, ${testsFailed} failed`);
190
+ console.log('');
191
+
192
+ if (testsFailed > 0) {
193
+ console.log('❌ Some tests failed! Package may have issues.');
194
+ process.exit(1);
195
+ } else {
196
+ console.log('✅ All tests passed! Package works correctly in clean environment.');
197
+ process.exit(0);
198
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2022",
4
+ "module": "NodeNext",
5
+ "moduleResolution": "NodeNext",
6
+ "esModuleInterop": true,
7
+ "strict": true,
8
+ "skipLibCheck": true,
9
+ "declaration": false,
10
+ "outDir": "./dist",
11
+ "rootDir": ".",
12
+ "noEmit": true,
13
+ "jsx": "react-jsx"
14
+ },
15
+ "include": ["*.ts", "*.tsx"]
16
+ }
@@ -0,0 +1,46 @@
1
+ #!/bin/bash
2
+ set -e
3
+
4
+ # Clean Environment Validation Script for @qwickapps/cms
5
+ # This script validates that the package can be installed and used in a clean environment
6
+
7
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
8
+ PACKAGE_DIR="$(cd "$SCRIPT_DIR/../.." && pwd)"
9
+ PACKAGE_NAME="@qwickapps/cms"
10
+
11
+ echo "╔════════════════════════════════════════════════════════════════╗"
12
+ echo "║ $PACKAGE_NAME - Clean Install Validation ║"
13
+ echo "╚════════════════════════════════════════════════════════════════╝"
14
+ echo ""
15
+
16
+ # Check if Docker is available
17
+ if ! command -v docker &> /dev/null; then
18
+ echo "❌ Docker is required but not installed. Please install Docker."
19
+ exit 1
20
+ fi
21
+
22
+ # Build the package first
23
+ echo "📦 Building package..."
24
+ cd "$PACKAGE_DIR"
25
+ npm run build
26
+
27
+ # Create tarball
28
+ echo "📦 Creating npm tarball..."
29
+ TARBALL=$(npm pack 2>&1 | tail -1)
30
+ echo " Created: $TARBALL"
31
+
32
+ # Build Docker image and run test
33
+ echo ""
34
+ echo "🐳 Running clean environment test..."
35
+ docker build --no-cache -t qwickapps-cms-test \
36
+ --build-arg TARBALL="$TARBALL" \
37
+ -f "$SCRIPT_DIR/Dockerfile" \
38
+ "$PACKAGE_DIR"
39
+
40
+ # Cleanup
41
+ echo ""
42
+ echo "🧹 Cleaning up..."
43
+ rm -f "$PACKAGE_DIR/$TARBALL"
44
+
45
+ echo ""
46
+ echo "✅ Clean environment validation passed!"