@shefing/quickfilter 1.0.41 → 1.0.42

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.
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Dashboard/index.tsx"],"sourcesContent":["import type { EntityToGroup } from '@payloadcms/ui/shared'\nimport type {AdminViewServerProps} from 'payload'\n\nimport { HydrateAuthProvider, SetStepNav } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { EntityType, groupNavItems } from '@payloadcms/ui/shared'\nimport React, { Fragment } from 'react'\nimport { processNavGroups } from '../lib/utils'\n\nimport type { DashboardViewClientProps, DashboardViewServerPropsOnly } from './Default/index'\n\nimport { DefaultDashboard } from './Default'\n\nexport async function Dashboard({ initPageResult, params, searchParams }: AdminViewServerProps) {\n // Check if initPageResult is undefined\n if (!initPageResult) {\n console.error('initPageResult is undefined in Dashboard component');\n return null;\n }\n\n const {\n locale,\n permissions,\n req: {\n i18n,\n payload: { config },\n payload,\n user,\n },\n req,\n visibleEntities,\n } = initPageResult\n\n const collections = config.collections.filter(\n (collection) =>\n permissions?.collections?.[collection.slug]?.read &&\n visibleEntities.collections.includes(collection.slug),\n )\n\n const globals = config.globals.filter(\n (global) =>\n permissions?.globals?.[global.slug]?.read && visibleEntities.globals.includes(global.slug),\n )\n\n // Query locked global documents only if there are globals in the config\n let globalData = []\n\n if (config.globals.length > 0) {\n const lockedDocuments = await payload.find({\n collection: 'payload-locked-documents',\n depth: 1,\n overrideAccess: false,\n pagination: false,\n req,\n where: {\n globalSlug: {\n exists: true,\n },\n },\n })\n\n // Map over globals to include `lockDuration` and lock data for each global slug\n globalData = config.globals.map((global) => {\n const lockDurationDefault = 300\n const lockDuration =\n typeof global.lockDocuments === 'object'\n ? global.lockDocuments.duration\n : lockDurationDefault\n\n const lockedDoc = lockedDocuments.docs.find((doc) => doc.globalSlug === global.slug)\n\n return {\n slug: global.slug,\n data: {\n _isLocked: !!lockedDoc,\n _lastEditedAt: lockedDoc?.updatedAt ?? null,\n _userEditing: lockedDoc?.user?.value ?? null,\n },\n lockDuration,\n }\n })\n }\n\n const navGroups = groupNavItems(\n [\n ...(collections.map((collection) => {\n const entityToGroup: EntityToGroup = {\n type: EntityType.collection,\n entity: collection,\n }\n\n return entityToGroup\n }) ?? []),\n ...(globals.map((global) => {\n const entityToGroup: EntityToGroup = {\n type: EntityType.global,\n entity: global,\n }\n\n return entityToGroup\n }) ?? []),\n ],\n permissions,\n i18n,\n )\n\n // Process collections to calculate URLs with defaultFilter\n const processedGroups = processNavGroups(navGroups, collections, payload, i18n);\n\n return (\n <Fragment>\n <HydrateAuthProvider permissions={permissions} />\n <SetStepNav nav={[]} />\n {RenderServerComponent({\n clientProps: {\n locale,\n } satisfies DashboardViewClientProps,\n Component: config.admin?.components?.views?.dashboard?.Component,\n Fallback: DefaultDashboard,\n importMap: payload.importMap,\n serverProps: {\n globalData,\n i18n,\n locale,\n navGroups: processedGroups,\n params,\n payload,\n permissions,\n searchParams,\n user,\n visibleEntities,\n } satisfies DashboardViewServerPropsOnly,\n })}\n </Fragment>\n )\n}\n\nexport default Dashboard\n"],"names":["HydrateAuthProvider","SetStepNav","RenderServerComponent","EntityType","groupNavItems","React","Fragment","processNavGroups","DefaultDashboard","Dashboard","initPageResult","params","searchParams","console","error","locale","permissions","req","i18n","payload","config","user","visibleEntities","collections","filter","collection","slug","read","includes","globals","global","globalData","length","lockedDocuments","find","depth","overrideAccess","pagination","where","globalSlug","exists","map","lockDurationDefault","lockDuration","lockDocuments","duration","lockedDoc","docs","doc","data","_isLocked","_lastEditedAt","updatedAt","_userEditing","value","navGroups","entityToGroup","type","entity","processedGroups","nav","clientProps","Component","admin","components","views","dashboard","Fallback","importMap","serverProps"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/Dashboard/index.tsx"],"sourcesContent":["import type { EntityToGroup } from '@payloadcms/ui/shared'\nimport type {AdminViewServerProps} from 'payload'\n\nimport { HydrateAuthProvider, SetStepNav } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { EntityType, groupNavItems } from '@payloadcms/ui/shared'\nimport React, { Fragment } from 'react'\nimport { processNavGroups } from '../lib/utils'\n\nimport type { DashboardViewClientProps, DashboardViewServerPropsOnly } from './Default'\n\nimport { DefaultDashboard } from './Default'\n\nexport async function Dashboard({ initPageResult, params, searchParams }: AdminViewServerProps) {\n // Check if initPageResult is undefined\n if (!initPageResult) {\n console.error('initPageResult is undefined in Dashboard component');\n return null;\n }\n\n const {\n locale,\n permissions,\n req: {\n i18n,\n payload: { config },\n payload,\n user,\n },\n req,\n visibleEntities,\n } = initPageResult\n\n const collections = config.collections.filter(\n (collection) =>\n permissions?.collections?.[collection.slug]?.read &&\n visibleEntities.collections.includes(collection.slug),\n )\n\n const globals = config.globals.filter(\n (global) =>\n permissions?.globals?.[global.slug]?.read && visibleEntities.globals.includes(global.slug),\n )\n\n // Query locked global documents only if there are globals in the config\n let globalData = []\n\n if (config.globals.length > 0) {\n const lockedDocuments = await payload.find({\n collection: 'payload-locked-documents',\n depth: 1,\n overrideAccess: false,\n pagination: false,\n req,\n where: {\n globalSlug: {\n exists: true,\n },\n },\n })\n\n // Map over globals to include `lockDuration` and lock data for each global slug\n globalData = config.globals.map((global) => {\n const lockDurationDefault = 300\n const lockDuration =\n typeof global.lockDocuments === 'object'\n ? global.lockDocuments.duration\n : lockDurationDefault\n\n const lockedDoc = lockedDocuments.docs.find((doc) => doc.globalSlug === global.slug)\n\n return {\n slug: global.slug,\n data: {\n _isLocked: !!lockedDoc,\n _lastEditedAt: lockedDoc?.updatedAt ?? null,\n _userEditing: lockedDoc?.user?.value ?? null,\n },\n lockDuration,\n }\n })\n }\n\n const navGroups = groupNavItems(\n [\n ...(collections.map((collection) => {\n const entityToGroup: EntityToGroup = {\n type: EntityType.collection,\n entity: collection,\n }\n\n return entityToGroup\n }) ?? []),\n ...(globals.map((global) => {\n const entityToGroup: EntityToGroup = {\n type: EntityType.global,\n entity: global,\n }\n\n return entityToGroup\n }) ?? []),\n ],\n permissions,\n i18n,\n )\n\n // Process collections to calculate URLs with defaultFilter\n const processedGroups = processNavGroups(navGroups, collections, payload, i18n);\n\n return (\n <Fragment>\n <HydrateAuthProvider permissions={permissions} />\n <SetStepNav nav={[]} />\n {RenderServerComponent({\n clientProps: {\n locale,\n } satisfies DashboardViewClientProps,\n Component: config.admin?.components?.views?.dashboard?.Component,\n Fallback: DefaultDashboard,\n importMap: payload.importMap,\n serverProps: {\n globalData,\n i18n,\n locale,\n navGroups: processedGroups,\n params,\n payload,\n permissions,\n searchParams,\n user,\n visibleEntities,\n } satisfies DashboardViewServerPropsOnly,\n })}\n </Fragment>\n )\n}\n\nexport default Dashboard\n"],"names":["HydrateAuthProvider","SetStepNav","RenderServerComponent","EntityType","groupNavItems","React","Fragment","processNavGroups","DefaultDashboard","Dashboard","initPageResult","params","searchParams","console","error","locale","permissions","req","i18n","payload","config","user","visibleEntities","collections","filter","collection","slug","read","includes","globals","global","globalData","length","lockedDocuments","find","depth","overrideAccess","pagination","where","globalSlug","exists","map","lockDurationDefault","lockDuration","lockDocuments","duration","lockedDoc","docs","doc","data","_isLocked","_lastEditedAt","updatedAt","_userEditing","value","navGroups","entityToGroup","type","entity","processedGroups","nav","clientProps","Component","admin","components","views","dashboard","Fallback","importMap","serverProps"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { GenerateViewMetadata } from '@payloadcms/next/views';
2
+ export declare const generateDashboardViewMetadata: GenerateViewMetadata;
3
+ //# sourceMappingURL=metadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../src/Dashboard/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAIlE,eAAO,MAAM,6BAA6B,EAAE,oBAYxC,CAAA"}
@@ -0,0 +1,12 @@
1
+ import { generateMetadata } from '../lib/meta';
2
+ export const generateDashboardViewMetadata = async ({ config, i18n: { t } })=>generateMetadata({
3
+ serverURL: config.serverURL,
4
+ title: t('general:dashboard'),
5
+ ...config.admin.meta,
6
+ openGraph: {
7
+ title: t('general:dashboard'),
8
+ ...config.admin.meta?.openGraph || {}
9
+ }
10
+ });
11
+
12
+ //# sourceMappingURL=metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/Dashboard/metadata.ts"],"sourcesContent":["import type { GenerateViewMetadata } from '@payloadcms/next/views'\n\nimport { generateMetadata } from '../lib/meta'\n\nexport const generateDashboardViewMetadata: GenerateViewMetadata = async ({\n config,\n i18n: { t },\n}) =>\n generateMetadata({\n serverURL: config.serverURL,\n title: t('general:dashboard'),\n ...config.admin.meta,\n openGraph: {\n title: t('general:dashboard'),\n ...(config.admin.meta?.openGraph || {}),\n },\n })\n"],"names":["generateMetadata","generateDashboardViewMetadata","config","i18n","t","serverURL","title","admin","meta","openGraph"],"mappings":"AAEA,SAASA,gBAAgB,QAAQ,cAAa;AAE9C,OAAO,MAAMC,gCAAsD,OAAO,EACxEC,MAAM,EACNC,MAAM,EAAEC,CAAC,EAAE,EACZ,GACCJ,iBAAiB;QACfK,WAAWH,OAAOG,SAAS;QAC3BC,OAAOF,EAAE;QACT,GAAGF,OAAOK,KAAK,CAACC,IAAI;QACpBC,WAAW;YACTH,OAAOF,EAAE;YACT,GAAIF,OAAOK,KAAK,CAACC,IAAI,EAAEC,aAAa,CAAC,CAAC;QACxC;IACF,GAAE"}
@@ -0,0 +1,6 @@
1
+ import type { Metadata } from 'next';
2
+ import type { MetaConfig } from 'payload';
3
+ export declare const generateMetadata: (args: {
4
+ serverURL: string;
5
+ } & MetaConfig) => Promise<Metadata>;
6
+ //# sourceMappingURL=meta.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../src/lib/meta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AAEpC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAYzC,eAAO,MAAM,gBAAgB,SACrB;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,UAAU,KACvC,OAAO,CAAC,QAAQ,CAqFlB,CAAA"}
@@ -0,0 +1,74 @@
1
+ import { payloadFaviconDark, payloadFaviconLight, staticOGImage } from '@payloadcms/ui/assets';
2
+ import * as qs from 'qs-esm';
3
+ const defaultOpenGraph = {
4
+ description: 'Payload is a headless CMS and application framework built with TypeScript, Node.js, and React.',
5
+ siteName: 'Payload App',
6
+ title: 'Payload App'
7
+ };
8
+ export const generateMetadata = async (args)=>{
9
+ const { defaultOGImageType, serverURL, titleSuffix, ...rest } = args;
10
+ /**
11
+ * @todo find a way to remove the type assertion here.
12
+ * It is a result of needing to `DeepCopy` the `MetaConfig` type from Payload.
13
+ * This is required for the `DeepRequired` from `Config` to `SanitizedConfig`.
14
+ */ const incomingMetadata = rest;
15
+ const icons = incomingMetadata.icons || [
16
+ {
17
+ type: 'image/png',
18
+ rel: 'icon',
19
+ sizes: '32x32',
20
+ url: typeof payloadFaviconDark === 'object' ? payloadFaviconDark?.src : payloadFaviconDark
21
+ },
22
+ {
23
+ type: 'image/png',
24
+ media: '(prefers-color-scheme: dark)',
25
+ rel: 'icon',
26
+ sizes: '32x32',
27
+ url: typeof payloadFaviconLight === 'object' ? payloadFaviconLight?.src : payloadFaviconLight
28
+ }
29
+ ];
30
+ const metaTitle = [
31
+ incomingMetadata.title,
32
+ titleSuffix
33
+ ].filter(Boolean).join(' ');
34
+ const ogTitle = `${typeof incomingMetadata.openGraph?.title === 'string' ? incomingMetadata.openGraph.title : incomingMetadata.title} ${titleSuffix}`;
35
+ const mergedOpenGraph = {
36
+ ...defaultOpenGraph || {},
37
+ ...defaultOGImageType === 'dynamic' ? {
38
+ images: [
39
+ {
40
+ alt: ogTitle,
41
+ height: 630,
42
+ url: `/api/og${qs.stringify({
43
+ description: incomingMetadata.openGraph?.description || defaultOpenGraph.description,
44
+ title: ogTitle
45
+ }, {
46
+ addQueryPrefix: true
47
+ })}`,
48
+ width: 1200
49
+ }
50
+ ]
51
+ } : {},
52
+ ...defaultOGImageType === 'static' ? {
53
+ images: [
54
+ {
55
+ alt: ogTitle,
56
+ height: 480,
57
+ url: typeof staticOGImage === 'object' ? staticOGImage?.src : staticOGImage,
58
+ width: 640
59
+ }
60
+ ]
61
+ } : {},
62
+ title: ogTitle,
63
+ ...incomingMetadata.openGraph || {}
64
+ };
65
+ return Promise.resolve({
66
+ ...incomingMetadata,
67
+ icons,
68
+ metadataBase: new URL(serverURL || process.env.PAYLOAD_PUBLIC_SERVER_URL || `http://localhost:${process.env.PORT || 3000}`),
69
+ openGraph: mergedOpenGraph,
70
+ title: metaTitle
71
+ });
72
+ };
73
+
74
+ //# sourceMappingURL=meta.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/meta.ts"],"sourcesContent":["import type { Metadata } from 'next'\nimport type { Icon } from 'next/dist/lib/metadata/types/metadata-types.js'\nimport type { MetaConfig } from 'payload'\n\nimport { payloadFaviconDark, payloadFaviconLight, staticOGImage } from '@payloadcms/ui/assets'\nimport * as qs from 'qs-esm'\n\nconst defaultOpenGraph: Metadata['openGraph'] = {\n description:\n 'Payload is a headless CMS and application framework built with TypeScript, Node.js, and React.',\n siteName: 'Payload App',\n title: 'Payload App',\n}\n\nexport const generateMetadata = async (\n args: { serverURL: string } & MetaConfig,\n): Promise<Metadata> => {\n const { defaultOGImageType, serverURL, titleSuffix, ...rest } = args\n\n /**\n * @todo find a way to remove the type assertion here.\n * It is a result of needing to `DeepCopy` the `MetaConfig` type from Payload.\n * This is required for the `DeepRequired` from `Config` to `SanitizedConfig`.\n */\n const incomingMetadata = rest as unknown as Metadata;\n\n const icons: Metadata['icons'] =\n incomingMetadata.icons ||\n ([\n {\n type: 'image/png',\n rel: 'icon',\n sizes: '32x32',\n url: typeof payloadFaviconDark === 'object' ? payloadFaviconDark?.src : payloadFaviconDark,\n },\n {\n type: 'image/png',\n media: '(prefers-color-scheme: dark)',\n rel: 'icon',\n sizes: '32x32',\n url:\n typeof payloadFaviconLight === 'object' ? payloadFaviconLight?.src : payloadFaviconLight,\n },\n ] satisfies Array<Icon>)\n\n const metaTitle: Metadata['title'] = [incomingMetadata.title, titleSuffix]\n .filter(Boolean)\n .join(' ')\n\n const ogTitle = `${typeof incomingMetadata.openGraph?.title === 'string' ? incomingMetadata.openGraph.title : incomingMetadata.title} ${titleSuffix}`\n\n const mergedOpenGraph: Metadata['openGraph'] = {\n ...(defaultOpenGraph || {}),\n ...(defaultOGImageType === 'dynamic'\n ? {\n images: [\n {\n alt: ogTitle,\n height: 630,\n url: `/api/og${qs.stringify(\n {\n description:\n incomingMetadata.openGraph?.description || defaultOpenGraph.description,\n title: ogTitle,\n },\n {\n addQueryPrefix: true,\n },\n )}`,\n width: 1200,\n },\n ],\n }\n : {}),\n ...(defaultOGImageType === 'static'\n ? {\n images: [\n {\n alt: ogTitle,\n height: 480,\n url: typeof staticOGImage === 'object' ? staticOGImage?.src : staticOGImage,\n width: 640,\n },\n ],\n }\n : {}),\n title: ogTitle,\n ...(incomingMetadata.openGraph || {}),\n }\n\n return Promise.resolve({\n ...incomingMetadata,\n icons,\n metadataBase: new URL(\n serverURL ||\n process.env.PAYLOAD_PUBLIC_SERVER_URL ||\n `http://localhost:${process.env.PORT || 3000}`,\n ),\n openGraph: mergedOpenGraph,\n title: metaTitle,\n })\n}\n"],"names":["payloadFaviconDark","payloadFaviconLight","staticOGImage","qs","defaultOpenGraph","description","siteName","title","generateMetadata","args","defaultOGImageType","serverURL","titleSuffix","rest","incomingMetadata","icons","type","rel","sizes","url","src","media","metaTitle","filter","Boolean","join","ogTitle","openGraph","mergedOpenGraph","images","alt","height","stringify","addQueryPrefix","width","Promise","resolve","metadataBase","URL","process","env","PAYLOAD_PUBLIC_SERVER_URL","PORT"],"mappings":"AAIA,SAASA,kBAAkB,EAAEC,mBAAmB,EAAEC,aAAa,QAAQ,wBAAuB;AAC9F,YAAYC,QAAQ,SAAQ;AAE5B,MAAMC,mBAA0C;IAC9CC,aACE;IACFC,UAAU;IACVC,OAAO;AACT;AAEA,OAAO,MAAMC,mBAAmB,OAC9BC;IAEA,MAAM,EAAEC,kBAAkB,EAAEC,SAAS,EAAEC,WAAW,EAAE,GAAGC,MAAM,GAAGJ;IAEhE;;;;GAIC,GACD,MAAMK,mBAAmBD;IAEzB,MAAME,QACJD,iBAAiBC,KAAK,IACrB;QACC;YACEC,MAAM;YACNC,KAAK;YACLC,OAAO;YACPC,KAAK,OAAOnB,uBAAuB,WAAWA,oBAAoBoB,MAAMpB;QAC1E;QACA;YACEgB,MAAM;YACNK,OAAO;YACPJ,KAAK;YACLC,OAAO;YACPC,KACE,OAAOlB,wBAAwB,WAAWA,qBAAqBmB,MAAMnB;QACzE;KACD;IAEH,MAAMqB,YAA+B;QAACR,iBAAiBP,KAAK;QAAEK;KAAY,CACvEW,MAAM,CAACC,SACPC,IAAI,CAAC;IAER,MAAMC,UAAU,GAAG,OAAOZ,iBAAiBa,SAAS,EAAEpB,UAAU,WAAWO,iBAAiBa,SAAS,CAACpB,KAAK,GAAGO,iBAAiBP,KAAK,CAAC,CAAC,EAAEK,aAAa;IAErJ,MAAMgB,kBAAyC;QAC7C,GAAIxB,oBAAoB,CAAC,CAAC;QAC1B,GAAIM,uBAAuB,YACvB;YACEmB,QAAQ;gBACN;oBACEC,KAAKJ;oBACLK,QAAQ;oBACRZ,KAAK,CAAC,OAAO,EAAEhB,GAAG6B,SAAS,CACzB;wBACE3B,aACES,iBAAiBa,SAAS,EAAEtB,eAAeD,iBAAiBC,WAAW;wBACzEE,OAAOmB;oBACT,GACA;wBACEO,gBAAgB;oBAClB,IACC;oBACHC,OAAO;gBACT;aACD;QACH,IACA,CAAC,CAAC;QACN,GAAIxB,uBAAuB,WACvB;YACEmB,QAAQ;gBACN;oBACEC,KAAKJ;oBACLK,QAAQ;oBACRZ,KAAK,OAAOjB,kBAAkB,WAAWA,eAAekB,MAAMlB;oBAC9DgC,OAAO;gBACT;aACD;QACH,IACA,CAAC,CAAC;QACN3B,OAAOmB;QACP,GAAIZ,iBAAiBa,SAAS,IAAI,CAAC,CAAC;IACtC;IAEA,OAAOQ,QAAQC,OAAO,CAAC;QACrB,GAAGtB,gBAAgB;QACnBC;QACAsB,cAAc,IAAIC,IAChB3B,aACE4B,QAAQC,GAAG,CAACC,yBAAyB,IACrC,CAAC,iBAAiB,EAAEF,QAAQC,GAAG,CAACE,IAAI,IAAI,MAAM;QAElDf,WAAWC;QACXrB,OAAOe;IACT;AACF,EAAC"}
@@ -1,8 +1,8 @@
1
1
  import * as React from 'react';
2
2
  import { type VariantProps } from 'class-variance-authority';
3
3
  declare const buttonVariants: (props?: {
4
- variant?: "link" | "default" | "defaultHover" | "destructive" | "outline" | "secondary" | "ghost" | "icon";
5
- size?: "sm" | "lg" | "default" | "icon";
4
+ variant?: "link" | "icon" | "default" | "defaultHover" | "destructive" | "outline" | "secondary" | "ghost";
5
+ size?: "icon" | "default" | "lg" | "sm";
6
6
  } & import("class-variance-authority/types").ClassProp) => string;
7
7
  export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
8
8
  asChild?: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shefing/quickfilter",
3
- "version": "1.0.41",
3
+ "version": "1.0.42",
4
4
  "private": false,
5
5
  "bugs": "https://github.com/shefing/payload-tools/issues",
6
6
  "repository": "https://github.com/shefing/payload-tools",