@payloadcms/ui 3.0.0-beta.108 → 3.0.0-beta.109
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/elements/Autosave/index.d.ts.map +1 -1
- package/dist/elements/Autosave/index.js +1 -3
- package/dist/elements/Autosave/index.js.map +1 -1
- package/dist/elements/Button/index.d.ts.map +1 -1
- package/dist/elements/Button/index.js +1 -0
- package/dist/elements/Button/index.js.map +1 -1
- package/dist/elements/DocumentControls/index.js +4 -4
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/Popup/PopupTrigger/index.d.ts +1 -0
- package/dist/elements/Popup/PopupTrigger/index.d.ts.map +1 -1
- package/dist/elements/Popup/PopupTrigger/index.js +3 -2
- package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
- package/dist/elements/Popup/PopupTrigger/index.scss +12 -0
- package/dist/elements/Popup/index.d.ts +1 -0
- package/dist/elements/Popup/index.d.ts.map +1 -1
- package/dist/elements/Popup/index.js +6 -3
- package/dist/elements/Popup/index.js.map +1 -1
- package/dist/elements/Popup/index.scss +18 -1
- package/dist/elements/Status/index.js +1 -1
- package/dist/elements/Status/index.js.map +1 -1
- package/dist/exports/client/{CodeEditor-CXCLJBIQ.js → CodeEditor-FARZ6UIX.js} +2 -2
- package/dist/exports/client/chunk-6IWEPNUV.js +14 -0
- package/dist/exports/client/chunk-6IWEPNUV.js.map +8 -0
- package/dist/exports/client/index.js +7 -7
- package/dist/exports/client/index.js.map +4 -4
- package/dist/exports/shared/index.d.ts +3 -0
- package/dist/exports/shared/index.d.ts.map +1 -1
- package/dist/exports/shared/index.js +2 -2
- package/dist/exports/shared/index.js.map +4 -4
- package/dist/fields/Number/index.js +1 -1
- package/dist/fields/Number/index.js.map +1 -1
- package/dist/fields/Row/index.scss +1 -1
- package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/index.js +3 -9
- package/dist/providers/DocumentInfo/index.js.map +1 -1
- package/dist/providers/DocumentInfo/types.d.ts +1 -1
- package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/types.js.map +1 -1
- package/dist/providers/Root/index.js +0 -1
- package/dist/providers/Root/index.js.map +1 -1
- package/dist/providers/Theme/index.d.ts +0 -1
- package/dist/providers/Theme/index.d.ts.map +1 -1
- package/dist/providers/Theme/index.js +29 -21
- package/dist/providers/Theme/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/utilities/handleBackToDashboard.d.ts +8 -0
- package/dist/utilities/handleBackToDashboard.d.ts.map +1 -0
- package/dist/utilities/handleBackToDashboard.js +12 -0
- package/dist/utilities/handleBackToDashboard.js.map +1 -0
- package/dist/utilities/handleGoBack.d.ts +9 -0
- package/dist/utilities/handleGoBack.d.ts.map +1 -0
- package/dist/utilities/handleGoBack.js +13 -0
- package/dist/utilities/handleGoBack.js.map +1 -0
- package/dist/utilities/handleTakeOver.d.ts +7 -0
- package/dist/utilities/handleTakeOver.d.ts.map +1 -0
- package/dist/utilities/handleTakeOver.js +27 -0
- package/dist/utilities/handleTakeOver.js.map +1 -0
- package/package.json +5 -5
- package/dist/exports/client/chunk-W2YIQDPJ.js +0 -14
- package/dist/exports/client/chunk-W2YIQDPJ.js.map +0 -8
- /package/dist/exports/client/{CodeEditor-CXCLJBIQ.js.map → CodeEditor-FARZ6UIX.js.map} +0 -0
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { AppRouterInstance } from 'next/dist/shared/lib/app-router-context.shared-runtime.js';
|
|
2
|
+
type BackToDashboardProps = {
|
|
3
|
+
adminRoute: string;
|
|
4
|
+
router: AppRouterInstance;
|
|
5
|
+
};
|
|
6
|
+
export declare const handleBackToDashboard: ({ adminRoute, router }: BackToDashboardProps) => void;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=handleBackToDashboard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleBackToDashboard.d.ts","sourceRoot":"","sources":["../../src/utilities/handleBackToDashboard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2DAA2D,CAAA;AAIlG,KAAK,oBAAoB,GAAG;IAC1B,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,iBAAiB,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,qBAAqB,2BAA4B,oBAAoB,SAMjF,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { formatAdminURL } from './formatAdminURL.js';
|
|
2
|
+
export const handleBackToDashboard = ({
|
|
3
|
+
adminRoute,
|
|
4
|
+
router
|
|
5
|
+
}) => {
|
|
6
|
+
const redirectRoute = formatAdminURL({
|
|
7
|
+
adminRoute,
|
|
8
|
+
path: '/'
|
|
9
|
+
});
|
|
10
|
+
router.push(redirectRoute);
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=handleBackToDashboard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleBackToDashboard.js","names":["formatAdminURL","handleBackToDashboard","adminRoute","router","redirectRoute","path","push"],"sources":["../../src/utilities/handleBackToDashboard.tsx"],"sourcesContent":["import type { AppRouterInstance } from 'next/dist/shared/lib/app-router-context.shared-runtime.js'\n\nimport { formatAdminURL } from './formatAdminURL.js'\n\ntype BackToDashboardProps = {\n adminRoute: string\n router: AppRouterInstance\n}\n\nexport const handleBackToDashboard = ({ adminRoute, router }: BackToDashboardProps) => {\n const redirectRoute = formatAdminURL({\n adminRoute,\n path: '/',\n })\n router.push(redirectRoute)\n}\n"],"mappings":"AAEA,SAASA,cAAc,QAAQ;AAO/B,OAAO,MAAMC,qBAAA,GAAwBA,CAAC;EAAEC,UAAU;EAAEC;AAAM,CAAwB;EAChF,MAAMC,aAAA,GAAgBJ,cAAA,CAAe;IACnCE,UAAA;IACAG,IAAA,EAAM;EACR;EACAF,MAAA,CAAOG,IAAI,CAACF,aAAA;AACd","ignoreList":[]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { AppRouterInstance } from 'next/dist/shared/lib/app-router-context.shared-runtime.js';
|
|
2
|
+
type GoBackProps = {
|
|
3
|
+
adminRoute: string;
|
|
4
|
+
collectionSlug: string;
|
|
5
|
+
router: AppRouterInstance;
|
|
6
|
+
};
|
|
7
|
+
export declare const handleGoBack: ({ adminRoute, collectionSlug, router }: GoBackProps) => void;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=handleGoBack.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleGoBack.d.ts","sourceRoot":"","sources":["../../src/utilities/handleGoBack.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2DAA2D,CAAA;AAIlG,KAAK,WAAW,GAAG;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,CAAA;IACtB,MAAM,EAAE,iBAAiB,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,YAAY,2CAA4C,WAAW,SAM/E,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { formatAdminURL } from './formatAdminURL.js';
|
|
2
|
+
export const handleGoBack = ({
|
|
3
|
+
adminRoute,
|
|
4
|
+
collectionSlug,
|
|
5
|
+
router
|
|
6
|
+
}) => {
|
|
7
|
+
const redirectRoute = formatAdminURL({
|
|
8
|
+
adminRoute,
|
|
9
|
+
path: collectionSlug ? `/collections/${collectionSlug}` : '/'
|
|
10
|
+
});
|
|
11
|
+
router.push(redirectRoute);
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=handleGoBack.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleGoBack.js","names":["formatAdminURL","handleGoBack","adminRoute","collectionSlug","router","redirectRoute","path","push"],"sources":["../../src/utilities/handleGoBack.tsx"],"sourcesContent":["import type { AppRouterInstance } from 'next/dist/shared/lib/app-router-context.shared-runtime.js'\n\nimport { formatAdminURL } from './formatAdminURL.js'\n\ntype GoBackProps = {\n adminRoute: string\n collectionSlug: string\n router: AppRouterInstance\n}\n\nexport const handleGoBack = ({ adminRoute, collectionSlug, router }: GoBackProps) => {\n const redirectRoute = formatAdminURL({\n adminRoute,\n path: collectionSlug ? `/collections/${collectionSlug}` : '/',\n })\n router.push(redirectRoute)\n}\n"],"mappings":"AAEA,SAASA,cAAc,QAAQ;AAQ/B,OAAO,MAAMC,YAAA,GAAeA,CAAC;EAAEC,UAAU;EAAEC,cAAc;EAAEC;AAAM,CAAe;EAC9E,MAAMC,aAAA,GAAgBL,cAAA,CAAe;IACnCE,UAAA;IACAI,IAAA,EAAMH,cAAA,GAAiB,gBAAgBA,cAAA,EAAgB,GAAG;EAC5D;EACAC,MAAA,CAAOG,IAAI,CAACF,aAAA;AACd","ignoreList":[]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ClientUser } from 'payload';
|
|
2
|
+
export declare const handleTakeOver: (id: number | string, collectionSlug: string, globalSlug: string, user: ClientUser, isWithinDoc: boolean, updateDocumentEditor: (docId: number | string, slug: string, user: ClientUser) => Promise<void>, setCurrentEditor: (value: React.SetStateAction<ClientUser>) => void, documentLockStateRef: React.RefObject<{
|
|
3
|
+
hasShownLockedModal: boolean;
|
|
4
|
+
isLocked: boolean;
|
|
5
|
+
user: ClientUser;
|
|
6
|
+
}>, isLockingEnabled: boolean, setIsReadOnlyForIncomingUser?: (value: React.SetStateAction<boolean>) => void) => void;
|
|
7
|
+
//# sourceMappingURL=handleTakeOver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleTakeOver.d.ts","sourceRoot":"","sources":["../../src/utilities/handleTakeOver.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEzC,eAAO,MAAM,cAAc,OACrB,MAAM,GAAG,MAAM,kBACH,MAAM,cACV,MAAM,QACZ,UAAU,eACH,OAAO,wBACE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,oBAC7E,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,IAAI,wBAC7C,KAAK,CAAC,SAAS,CAAC;IACpC,mBAAmB,EAAE,OAAO,CAAA;IAC5B,QAAQ,EAAE,OAAO,CAAA;IACjB,IAAI,EAAE,UAAU,CAAA;CACjB,CAAC,oBACgB,OAAO,iCACM,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,KAC5E,IA6BF,CAAA"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export const handleTakeOver = (id, collectionSlug, globalSlug, user, isWithinDoc, updateDocumentEditor, setCurrentEditor, documentLockStateRef, isLockingEnabled, setIsReadOnlyForIncomingUser) => {
|
|
2
|
+
if (!isLockingEnabled) {
|
|
3
|
+
return;
|
|
4
|
+
}
|
|
5
|
+
try {
|
|
6
|
+
// Call updateDocumentEditor to update the document's owner to the current user
|
|
7
|
+
void updateDocumentEditor(id, collectionSlug ?? globalSlug, user);
|
|
8
|
+
if (!isWithinDoc) {
|
|
9
|
+
documentLockStateRef.current.hasShownLockedModal = true;
|
|
10
|
+
}
|
|
11
|
+
// Update the locked state to reflect the current user as the owner
|
|
12
|
+
documentLockStateRef.current = {
|
|
13
|
+
hasShownLockedModal: documentLockStateRef.current?.hasShownLockedModal,
|
|
14
|
+
isLocked: true,
|
|
15
|
+
user
|
|
16
|
+
};
|
|
17
|
+
setCurrentEditor(user);
|
|
18
|
+
// If this is a takeover within the document, ensure the document is editable
|
|
19
|
+
if (isWithinDoc && setIsReadOnlyForIncomingUser) {
|
|
20
|
+
setIsReadOnlyForIncomingUser(false);
|
|
21
|
+
}
|
|
22
|
+
} catch (error) {
|
|
23
|
+
// eslint-disable-next-line no-console
|
|
24
|
+
console.error('Error during document takeover:', error);
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=handleTakeOver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleTakeOver.js","names":["handleTakeOver","id","collectionSlug","globalSlug","user","isWithinDoc","updateDocumentEditor","setCurrentEditor","documentLockStateRef","isLockingEnabled","setIsReadOnlyForIncomingUser","current","hasShownLockedModal","isLocked","error","console"],"sources":["../../src/utilities/handleTakeOver.tsx"],"sourcesContent":["import type { ClientUser } from 'payload'\n\nexport const handleTakeOver = (\n id: number | string,\n collectionSlug: string,\n globalSlug: string,\n user: ClientUser,\n isWithinDoc: boolean,\n updateDocumentEditor: (docId: number | string, slug: string, user: ClientUser) => Promise<void>,\n setCurrentEditor: (value: React.SetStateAction<ClientUser>) => void,\n documentLockStateRef: React.RefObject<{\n hasShownLockedModal: boolean\n isLocked: boolean\n user: ClientUser\n }>,\n isLockingEnabled: boolean,\n setIsReadOnlyForIncomingUser?: (value: React.SetStateAction<boolean>) => void,\n): void => {\n if (!isLockingEnabled) {\n return\n }\n\n try {\n // Call updateDocumentEditor to update the document's owner to the current user\n void updateDocumentEditor(id, collectionSlug ?? globalSlug, user)\n\n if (!isWithinDoc) {\n documentLockStateRef.current.hasShownLockedModal = true\n }\n\n // Update the locked state to reflect the current user as the owner\n documentLockStateRef.current = {\n hasShownLockedModal: documentLockStateRef.current?.hasShownLockedModal,\n isLocked: true,\n user,\n }\n setCurrentEditor(user)\n\n // If this is a takeover within the document, ensure the document is editable\n if (isWithinDoc && setIsReadOnlyForIncomingUser) {\n setIsReadOnlyForIncomingUser(false)\n }\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Error during document takeover:', error)\n }\n}\n"],"mappings":"AAEA,OAAO,MAAMA,cAAA,GAAiBA,CAC5BC,EAAA,EACAC,cAAA,EACAC,UAAA,EACAC,IAAA,EACAC,WAAA,EACAC,oBAAA,EACAC,gBAAA,EACAC,oBAAA,EAKAC,gBAAA,EACAC,4BAAA;EAEA,IAAI,CAACD,gBAAA,EAAkB;IACrB;EACF;EAEA,IAAI;IACF;IACA,KAAKH,oBAAA,CAAqBL,EAAA,EAAIC,cAAA,IAAkBC,UAAA,EAAYC,IAAA;IAE5D,IAAI,CAACC,WAAA,EAAa;MAChBG,oBAAA,CAAqBG,OAAO,CAACC,mBAAmB,GAAG;IACrD;IAEA;IACAJ,oBAAA,CAAqBG,OAAO,GAAG;MAC7BC,mBAAA,EAAqBJ,oBAAA,CAAqBG,OAAO,EAAEC,mBAAA;MACnDC,QAAA,EAAU;MACVT;IACF;IACAG,gBAAA,CAAiBH,IAAA;IAEjB;IACA,IAAIC,WAAA,IAAeK,4BAAA,EAA8B;MAC/CA,4BAAA,CAA6B;IAC/B;EACF,EAAE,OAAOI,KAAA,EAAO;IACd;IACAC,OAAA,CAAQD,KAAK,CAAC,mCAAmCA,KAAA;EACnD;AACF","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@payloadcms/ui",
|
|
3
|
-
"version": "3.0.0-beta.
|
|
3
|
+
"version": "3.0.0-beta.109",
|
|
4
4
|
"homepage": "https://payloadcms.com",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -109,7 +109,7 @@
|
|
|
109
109
|
"ts-essentials": "10.0.2",
|
|
110
110
|
"use-context-selector": "2.0.0",
|
|
111
111
|
"uuid": "10.0.0",
|
|
112
|
-
"@payloadcms/translations": "3.0.0-beta.
|
|
112
|
+
"@payloadcms/translations": "3.0.0-beta.109"
|
|
113
113
|
},
|
|
114
114
|
"devDependencies": {
|
|
115
115
|
"@babel/cli": "^7.24.5",
|
|
@@ -127,14 +127,14 @@
|
|
|
127
127
|
"esbuild": "0.23.1",
|
|
128
128
|
"esbuild-sass-plugin": "3.3.1",
|
|
129
129
|
"eslint-plugin-react-compiler": "0.0.0-experimental-7670337-20240918",
|
|
130
|
-
"
|
|
131
|
-
"
|
|
130
|
+
"payload": "3.0.0-beta.109",
|
|
131
|
+
"@payloadcms/eslint-config": "3.0.0-beta.97"
|
|
132
132
|
},
|
|
133
133
|
"peerDependencies": {
|
|
134
134
|
"next": "^15.0.0-canary.160",
|
|
135
135
|
"react": "^19.0.0 || ^19.0.0-rc-5dcb0097-20240918",
|
|
136
136
|
"react-dom": "^19.0.0 || ^19.0.0-rc-5dcb0097-20240918",
|
|
137
|
-
"payload": "3.0.0-beta.
|
|
137
|
+
"payload": "3.0.0-beta.109"
|
|
138
138
|
},
|
|
139
139
|
"engines": {
|
|
140
140
|
"node": "^18.20.2 || >=20.9.0"
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
// Workaround for react-datepicker and other cjs dependencies potentially inserting require("react") statements
|
|
3
|
-
import * as requireReact from 'react';
|
|
4
|
-
import * as requireReactDom from 'react-dom';
|
|
5
|
-
|
|
6
|
-
function require(m) {
|
|
7
|
-
if (m === 'react') return requireReact;
|
|
8
|
-
if (m === 'react-dom') return requireReactDom;
|
|
9
|
-
throw new Error(`Unknown module ${m}`);
|
|
10
|
-
}
|
|
11
|
-
// Workaround end
|
|
12
|
-
|
|
13
|
-
import{c as T}from"react/compiler-runtime";import*as p from"react";var k=(i,e)=>{let t=T(9),s=e===void 0?!1:e,[l,r]=p.useState(!1),u=p.useRef(void 0),m;t[0]!==i?(m=()=>(r(!1),clearTimeout(u.current),u.current=setTimeout(()=>{r(!0)},i),()=>{clearTimeout(u.current)}),t[0]=i,t[1]=m):m=t[1];let o=m,d,n;t[2]!==s||t[3]!==o?(d=()=>{s&&o()},n=[o,s],t[2]=s,t[3]=o,t[4]=d,t[5]=n):(d=t[4],n=t[5]),p.useEffect(d,n);let c;return t[6]!==l||t[7]!==o?(c=[l,o],t[6]=l,t[7]=o,t[8]=c):c=t[8],c};import{c as $}from"react/compiler-runtime";import{jsx as y}from"react/jsx-runtime";import"react";var _=({animationDelay:i="0ms",height:e="60px",width:t="100%"})=>y("div",{className:"shimmer-effect",style:{height:typeof e=="number"?`${e}px`:e,width:typeof t=="number"?`${t}px`:t},children:y("div",{className:"shimmer-effect__shine",style:{animationDelay:i}})}),K=i=>{let e=$(7),{className:t,count:s,height:l,renderDelay:r,shimmerDelay:u,shimmerItemClassName:m,width:o}=i,d=r===void 0?500:r,n=u===void 0?25:u,c=typeof n=="number"?`${n}ms`:n,[h]=k(d,!0);if(!h)return null;let f;return e[0]!==s||e[1]!==m||e[2]!==c||e[3]!==l||e[4]!==o||e[5]!==t?(f=y("div",{className:t,children:[...Array(s)].map((x,a)=>y("div",{className:m,children:y(_,{animationDelay:`calc(${a} * ${c})`,height:l,width:o})},a))}),e[0]=s,e[1]=m,e[2]=c,e[3]=l,e[4]=o,e[5]=t,e[6]=f):f=e[6],f};import{c as M}from"react/compiler-runtime";import{jsx as R}from"react/jsx-runtime";import{createContext as b,useContext as v,useEffect as E,useState as D}from"react";var A={autoMode:!0,setTheme:()=>null,theme:"light"},C=b(A);function w(i,e,t){let s=new Date;s.setTime(s.getTime()+t*24*60*60*1e3);let l="expires="+s.toUTCString();document.cookie=i+"="+e+";"+l+";path=/"}var N=i=>{let e,t=window.document.cookie.split("; ").find(s=>s.startsWith(`${i}=`))?.split("=")[1];return t==="light"||t==="dark"?e=t:e=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",document.documentElement.setAttribute("data-theme",e),{theme:e,themeFromCookies:t}},j="light",J=i=>{let e=M(10),{children:t,cookiePrefix:s,theme:l}=i,r=`${s||"payload"}-theme`,[u,m]=D(l||j),[o,d]=D(),n,c;e[0]!==r?(n=()=>{let{theme:a,themeFromCookies:g}=N(r);m(a),d(!g)},c=[r],e[0]=r,e[1]=n,e[2]=c):(n=e[1],c=e[2]),E(n,c);let h;e[3]!==r?(h=a=>{if(a==="light"||a==="dark")m(a),d(!1),w(r,a,365),document.documentElement.setAttribute("data-theme",a);else if(a==="auto"){w(r,a,-1);let g=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";document.documentElement.setAttribute("data-theme",g),d(!0),m(g)}},e[3]=r,e[4]=h):h=e[4];let f=h,x;return e[5]!==o||e[6]!==f||e[7]!==u||e[8]!==t?(x=R(C.Provider,{value:{autoMode:o,setTheme:f,theme:u},children:t}),e[5]=o,e[6]=f,e[7]=u,e[8]=t,e[9]=x):x=e[9],x},L=()=>v(C);export{k as a,_ as b,K as c,j as d,J as e,L as f};
|
|
14
|
-
//# sourceMappingURL=chunk-W2YIQDPJ.js.map
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
{
|
|
3
|
-
"version": 3,
|
|
4
|
-
"sources": ["../../../src/hooks/useDelay.ts", "../../../src/elements/ShimmerEffect/index.tsx", "../../../src/providers/Theme/index.tsx"],
|
|
5
|
-
"sourcesContent": ["'use client'\nimport * as React from 'react'\n\ntype Result = [boolean, () => void]\nexport const useDelay = (delay: number, triggerOnMount = false): Result => {\n const [hasDelayed, setHasDelayed] = React.useState(false)\n const triggerTimeoutRef = React.useRef<NodeJS.Timeout>(undefined)\n\n const triggerDelay = React.useCallback(() => {\n setHasDelayed(false)\n clearTimeout(triggerTimeoutRef.current)\n triggerTimeoutRef.current = setTimeout(() => {\n setHasDelayed(true)\n }, delay)\n\n return () => {\n clearTimeout(triggerTimeoutRef.current)\n }\n }, [delay])\n\n React.useEffect(() => {\n if (triggerOnMount) {\n triggerDelay()\n }\n }, [triggerDelay, triggerOnMount])\n\n return [hasDelayed, triggerDelay]\n}\n", "'use client'\nimport * as React from 'react'\n\nimport { useDelay } from '../../hooks/useDelay.js'\nimport './index.scss'\n\nexport type ShimmerEffectProps = {\n readonly animationDelay?: string\n readonly height?: number | string\n readonly width?: number | string\n}\n\nexport const ShimmerEffect: React.FC<ShimmerEffectProps> = ({\n animationDelay = '0ms',\n height = '60px',\n width = '100%',\n}) => {\n return (\n <div\n className=\"shimmer-effect\"\n style={{\n height: typeof height === 'number' ? `${height}px` : height,\n width: typeof width === 'number' ? `${width}px` : width,\n }}\n >\n <div\n className=\"shimmer-effect__shine\"\n style={{\n animationDelay,\n }}\n />\n </div>\n )\n}\n\nexport type StaggeredShimmersProps = {\n className?: string\n count: number\n height?: number | string\n renderDelay?: number\n shimmerDelay?: number | string\n shimmerItemClassName?: string\n width?: number | string\n}\n\nexport const StaggeredShimmers: React.FC<StaggeredShimmersProps> = ({\n className,\n count,\n height,\n renderDelay = 500,\n shimmerDelay = 25,\n shimmerItemClassName,\n width,\n}) => {\n const shimmerDelayToPass = typeof shimmerDelay === 'number' ? `${shimmerDelay}ms` : shimmerDelay\n const [hasDelayed] = useDelay(renderDelay, true)\n\n if (!hasDelayed) {\n return null\n }\n\n return (\n <div className={className}>\n {[...Array(count)].map((_, i) => (\n <div className={shimmerItemClassName} key={i}>\n <ShimmerEffect\n animationDelay={`calc(${i} * ${shimmerDelayToPass})`}\n height={height}\n width={width}\n />\n </div>\n ))}\n </div>\n )\n}\n", "'use client'\nimport React, { createContext, useCallback, useContext, useEffect, useState } from 'react'\n\nexport type Theme = 'dark' | 'light'\n\nexport type ThemeContext = {\n autoMode: boolean\n setTheme: (theme: Theme) => void\n theme: Theme\n}\n\nconst initialContext: ThemeContext = {\n autoMode: true,\n setTheme: () => null,\n theme: 'light',\n}\n\nconst Context = createContext(initialContext)\n\nfunction setCookie(cname, cvalue, exdays) {\n const d = new Date()\n d.setTime(d.getTime() + exdays * 24 * 60 * 60 * 1000)\n const expires = 'expires=' + d.toUTCString()\n document.cookie = cname + '=' + cvalue + ';' + expires + ';path=/'\n}\n\nconst getTheme = (\n cookieKey,\n): {\n theme: Theme\n themeFromCookies: null | string\n} => {\n let theme: Theme\n\n const themeFromCookies = window.document.cookie\n .split('; ')\n .find((row) => row.startsWith(`${cookieKey}=`))\n ?.split('=')[1]\n\n if (themeFromCookies === 'light' || themeFromCookies === 'dark') {\n theme = themeFromCookies\n } else {\n theme =\n window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches\n ? 'dark'\n : 'light'\n }\n\n document.documentElement.setAttribute('data-theme', theme)\n\n return { theme, themeFromCookies }\n}\n\nexport const defaultTheme = 'light'\n\nexport const ThemeProvider: React.FC<{\n children?: React.ReactNode\n cookiePrefix?: string\n theme?: Theme\n}> = ({ children, cookiePrefix, theme: initialTheme }) => {\n const cookieKey = `${cookiePrefix || 'payload'}-theme`\n\n const [theme, setThemeState] = useState<Theme>(initialTheme || defaultTheme)\n\n const [autoMode, setAutoMode] = useState<boolean>()\n\n useEffect(() => {\n const { theme, themeFromCookies } = getTheme(cookieKey)\n setThemeState(theme)\n setAutoMode(!themeFromCookies)\n }, [cookieKey])\n\n const setTheme = useCallback(\n (themeToSet: 'auto' | Theme) => {\n if (themeToSet === 'light' || themeToSet === 'dark') {\n setThemeState(themeToSet)\n setAutoMode(false)\n setCookie(cookieKey, themeToSet, 365)\n document.documentElement.setAttribute('data-theme', themeToSet)\n } else if (themeToSet === 'auto') {\n // to delete the cookie, we set an expired date\n setCookie(cookieKey, themeToSet, -1)\n const themeFromOS =\n window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches\n ? 'dark'\n : 'light'\n document.documentElement.setAttribute('data-theme', themeFromOS)\n setAutoMode(true)\n setThemeState(themeFromOS)\n }\n },\n [cookieKey],\n )\n\n return <Context.Provider value={{ autoMode, setTheme, theme }}>{children}</Context.Provider>\n}\n\nexport const useTheme = (): ThemeContext => useContext(Context)\n"],
|
|
6
|
-
"mappings": "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",
|
|
7
|
-
"names": ["c", "_c", "React", "useDelay", "delay", "t0", "$", "triggerOnMount", "undefined", "hasDelayed", "setHasDelayed", "useState", "triggerTimeoutRef", "useRef", "t1", "clearTimeout", "current", "setTimeout", "triggerDelay", "t2", "t3", "useEffect", "t4", "c", "_c", "ShimmerEffect", "animationDelay", "height", "_jsx", "className", "style", "width", "StaggeredShimmers", "t0", "$", "_c", "count", "t1", "renderDelay", "shimmerDelay", "shimmerItemClassName", "undefined", "shimmerDelayToPass", "hasDelayed", "t3", "_", "i", "children", "c", "_c", "createContext", "useContext", "useEffect", "useState", "initialContext", "autoMode", "setTheme", "theme", "Context", "setCookie", "cname", "cvalue", "exdays", "d", "Date", "setTime", "getTime", "expires", "toUTCString", "document", "cookie", "getTheme", "cookieKey", "themeFromCookies", "window", "split", "find", "row", "startsWith", "matchMedia", "matches", "documentElement", "setAttribute", "defaultTheme", "ThemeProvider", "t0", "$", "children", "cookiePrefix", "initialTheme", "setThemeState", "setAutoMode", "t1", "t2", "theme_0", "t3", "themeToSet", "themeFromOS", "t4", "_jsx", "Provider", "value", "useTheme"]
|
|
8
|
-
}
|
|
File without changes
|