next-sanity 0.0.0-dev.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.
- package/LICENSE +21 -0
- package/README.md +910 -0
- package/dist/_chunks/NextStudioLoading-8cf56cdf.js +127 -0
- package/dist/_chunks/NextStudioLoading-8cf56cdf.js.map +1 -0
- package/dist/_chunks/NextStudioLoading-bf57e61a.cjs +131 -0
- package/dist/_chunks/NextStudioLoading-bf57e61a.cjs.map +1 -0
- package/dist/index.cjs +26 -0
- package/dist/index.cjs.js +6 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -0
- package/dist/preview.cjs +19 -0
- package/dist/preview.cjs.js +6 -0
- package/dist/preview.cjs.map +1 -0
- package/dist/preview.d.ts +20 -0
- package/dist/preview.js +2 -0
- package/dist/preview.js.map +1 -0
- package/dist/studio/head.cjs +51 -0
- package/dist/studio/head.cjs.js +5 -0
- package/dist/studio/head.cjs.map +1 -0
- package/dist/studio/head.d.ts +79 -0
- package/dist/studio/head.js +46 -0
- package/dist/studio/head.js.map +1 -0
- package/dist/studio/index.cjs +111 -0
- package/dist/studio/index.cjs.js +10 -0
- package/dist/studio/index.cjs.map +1 -0
- package/dist/studio/index.d.ts +88 -0
- package/dist/studio/index.js +96 -0
- package/dist/studio/index.js.map +1 -0
- package/dist/studio/loading.cjs +8 -0
- package/dist/studio/loading.cjs.js +5 -0
- package/dist/studio/loading.cjs.map +1 -0
- package/dist/studio/loading.d.ts +23 -0
- package/dist/studio/loading.js +2 -0
- package/dist/studio/loading.js.map +1 -0
- package/dist/webhook.cjs +54 -0
- package/dist/webhook.cjs.js +6 -0
- package/dist/webhook.cjs.map +1 -0
- package/dist/webhook.d.ts +31 -0
- package/dist/webhook.js +42 -0
- package/dist/webhook.js.map +1 -0
- package/package.json +207 -0
- package/src/client.ts +2 -0
- package/src/index.ts +3 -0
- package/src/preview/definePreview.tsx +37 -0
- package/src/preview/index.ts +2 -0
- package/src/studio/NextStudio.tsx +61 -0
- package/src/studio/NextStudioClientOnly.tsx +15 -0
- package/src/studio/NextStudioLayout.tsx +46 -0
- package/src/studio/NextStudioLoading.tsx +120 -0
- package/src/studio/NextStudioNoScript.tsx +40 -0
- package/src/studio/head/NextStudioHead.tsx +112 -0
- package/src/studio/head/apple-touch-icon.png +0 -0
- package/src/studio/head/favicon.ico +0 -0
- package/src/studio/head/favicon.svg +7 -0
- package/src/studio/head/index.ts +1 -0
- package/src/studio/index.ts +6 -0
- package/src/studio/loading.ts +1 -0
- package/src/studio/usePrefersColorScheme.ts +30 -0
- package/src/studio/useTheme.ts +13 -0
- package/src/webhook/config.ts +18 -0
- package/src/webhook/index.ts +2 -0
- package/src/webhook/parseBody.ts +44 -0
- package/src/webhook/readBody.ts +10 -0
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* In Next 13 appDir mode (`/app/studio/[[...index]]/head.tsx`):
|
|
5
|
+
* ```tsx
|
|
6
|
+
* // If you don't want to change any defaults you can just re-export the head component directly:
|
|
7
|
+
* export {NextStudioHead as default} from 'next-sanity/studio/head'
|
|
8
|
+
*
|
|
9
|
+
* // To customize it, use it as a children component:
|
|
10
|
+
* import {NextStudioHead} from 'next-sanity/studio/head'
|
|
11
|
+
*
|
|
12
|
+
* export default function CustomStudioHead() {
|
|
13
|
+
* return (
|
|
14
|
+
* <>
|
|
15
|
+
* <NextStudioHead favicons={false} />
|
|
16
|
+
* <link
|
|
17
|
+
* rel="icon"
|
|
18
|
+
* type="image/png"
|
|
19
|
+
* sizes="32x32"
|
|
20
|
+
* href="https://www.sanity.io/static/images/favicons/favicon-32x32.png"
|
|
21
|
+
* />
|
|
22
|
+
* </>
|
|
23
|
+
* )
|
|
24
|
+
* }
|
|
25
|
+
* ```
|
|
26
|
+
* If you're using Next 12 or the `pages` folder (`/pages/studio/[[...index]].tsx`):
|
|
27
|
+
* ```tsx
|
|
28
|
+
* import Head from 'next/head'
|
|
29
|
+
* import {NextStudio} from 'next-sanity/studio'
|
|
30
|
+
* import {NextStudioHead} from 'next-sanity/studio/head'
|
|
31
|
+
*
|
|
32
|
+
* export default function StudioPage() {
|
|
33
|
+
* return (
|
|
34
|
+
* <>
|
|
35
|
+
* <Head>
|
|
36
|
+
* <NextStudioHead />
|
|
37
|
+
* </Head>
|
|
38
|
+
* <NextStudio config={config} />
|
|
39
|
+
* </>
|
|
40
|
+
* )
|
|
41
|
+
* }
|
|
42
|
+
* ```
|
|
43
|
+
* @public
|
|
44
|
+
*/
|
|
45
|
+
export declare function NextStudioHead(props: NextStudioHeadProps): JSX.Element
|
|
46
|
+
|
|
47
|
+
/** @public */
|
|
48
|
+
export declare interface NextStudioHeadProps {
|
|
49
|
+
/**
|
|
50
|
+
* @defaultValue 'utf-8'
|
|
51
|
+
*/
|
|
52
|
+
charSet?: false | string
|
|
53
|
+
/**
|
|
54
|
+
* Sets the viewport to `viewport-fit=cover` to integrate with iOS devices with display cutouts (The Notch, Dynamic Island).
|
|
55
|
+
* Also sets `width=device-width, initial-scale=1` to make the studio page responsive.
|
|
56
|
+
* @defaultValue true
|
|
57
|
+
*/
|
|
58
|
+
viewport?: boolean
|
|
59
|
+
/**
|
|
60
|
+
* It's common practice to hide the address to your Sanity Studio from search engines by setting `robots` to `noindex`
|
|
61
|
+
* @defaultValue 'noindex'
|
|
62
|
+
*/
|
|
63
|
+
robots?: false | string
|
|
64
|
+
/**
|
|
65
|
+
* @defaultValue 'same-origin'
|
|
66
|
+
*/
|
|
67
|
+
referrer?: false | string
|
|
68
|
+
/**
|
|
69
|
+
* Adds the same favicons as the `npx sanity dev` pipeline.
|
|
70
|
+
* @defaultValue true
|
|
71
|
+
*/
|
|
72
|
+
favicons?: boolean
|
|
73
|
+
/**
|
|
74
|
+
* @defaultValue 'Sanity'
|
|
75
|
+
*/
|
|
76
|
+
title?: false | string
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
export {}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
2
|
+
var _faviconPng = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALQAAAC0CAYAAAA9zQYyAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAA33SURBVHgB7Z1djJTVGcef952ZnfUDFtLyUSuyVdFGLIuoGLC7sPUjaIPaJhWTxkZbL7xoYm+atDet9aZNelNjmpjQxirxQmuqxaTS2mRhsaCouBBogtKyFFq+ouwuCDPMx+n5n5l3md2d2ZlZ3nnnPc95fslmPiGw83ufec55znmORzU4vXb5HCrQQz6pNcqjtfqpbhKE9jFEioZ9T70xe3Dvi7Xe5FV7crRv2VOKvKf13TkkCPFjWAfap6uJPUFoRGWvoF6nUkQWhHijaKvKeY/PfXdoOHhqXGgtc7dXVAMkqYVgF8PK926Zu3VoBA/84FkdmV8gkVmwj26TVZQxQp/u/dpjkmYI1qLdPd277Eelu5qRvp5DJNFZsJsRnXp8xTfRWWQW7EdPMxce8j3yHyRBYIBP/hpfJx3dJAgMQAEQg8LlJAg86PZJEBghQgusEKEFVojQAitEaIEVIrTAChFaYIUILbBChBZYIUILrBChBVaI0AIrRGiBFSK0wAoRWmCFCC2wQoQWWCFCC6wQoQVWiNACK0RogRVJEmaMl06Tv2gx0ew55Hd1kddxGfkL5hOlO0uvz57ajVhlM0TlH5XJmsdqbISKo6OkTp0gNTqiH4+SMDNE6Cbw5i0wAif0D269srhN/R34M4HwNd5jJD95ggpHDlPx6GF9/7h+LktCfbyRvh5FQk38q7XAS26gxNKeGQkcFkUtd37/HnMrEbw2InQVkEokV9xBiVtXtlXiWgRyF/bvJWEiInQF3uwuSq7uo8T1N8ZS5Mkg985/uIsKBw9I1C4jQlM5Iq9aQ0kdkW0EYhf27TVR23WxnRc6uWKlico2ROR6QOzcjkGnUxFnhUZ60bHugdK0GzOQY1/YstnJaO2k0Jyici0w9ZfX0Tq/exe5hHPz0Km191qbKzcDLtZU/73k6YJPbuBtcgVnSt8Y+HWsW++EzJVg+rHze0+YFMsFnBAaMqc3PGqKIy7izVto/v8uSO2E0ObD1B+qy2BdiQtSsxcaObPrMgeMS62/sbjCWuhU313O5cz1gNQdDz5MXGErtL/wKur49iMkTAVz76n+e4gjbIW+4tnfkVAbs/jq+huIGyyFTj/+pInQ3uVXkFCblK6Ucsun2QkNkTsfe7L0IJUioTam+KKl5gS7SiGic0CUEVplMlQ4+DEVTx0nGhul4skTpefHRia8D4MyVO8gU7ADxte3Xmd7yvBYKot/A9Z/cICV0GYgWBFxWj3nConzH+0yMjQqBAQfl/zgAaKdpbtma9fSZZRsQ/EntaqPskc2EQdYCV0ZnYGJ0EmdduRzFCbYyJrbGe4yzeCiwIIiLJyKUmy/vEeSQ5Rmk0N7V86i1Nf7pzzvf+kqChOInN20sWVrjrHkM7flTcpsfC5SwRClOcBGaMgMqSfjf3EehQGicualjSaCRrEDG2JnX91kLqAoCKK07bAROtnbX/V5f+GXS2nHJYA2ApALfTOiBhcQFutHAYcozSpCV38hRYlrummmIDIbmdu4+wPpTRRSl3qN2D0vzULoxPLbpn3dv3YJzYRxmWPQ5AVSR5F+2L7ElofQei51OrzLL9fRp5uaBQLFaV8e0o9WDxTr/S7jDguhk7fcVvc9iRtvaiqXLsS0kUurUw/b0w4WQqOgUg9EaSN1g6AdQBwx03otTj38679KtuKM0CBx3RLyvlB/Gq8Q84YthQ9bu5Pbnz+fbIWF0NXmn2uRvOV2ojprPPIxb9SCFgWtzKXRoNJWrC99NxqdA5B6pG5fRbl/bKtaEm+1LGGBXNrrmkPCRJzsDw0RUneuqSq1LesZkBJJg8apOHskRSD15PQjWPYp2InTZ6wYqVdPlNqsZxasxXqh1dkzdCkgp+64+z5KBNVEOfrBapwXOiBxcw+l7r5f/0YSJNgLi5SjePx/FAaI1rNe+hNd9tNnmp49EeIBC6FxJEOYYBsX2iAEu8cFe+ARoY+FE6ErCXaPX/n7VyRiWwQPoUOO0JWgComIPeuVv5iozW3bPzdYdPBH9IRwUYGBaO6dAcptH6C8vhXiA5sjKSB0O9ICyJ0f+sDIXdC3YQ1QhZnBRui0znc7J7UxaAcQGoPU/EcfGNFbmQ4JU2GzlgPRMQ7gWwI/wR5HRPDJgoc1dy5MhdUpWBi0JZfX373SbiB4IDluJYqHByuhIbONbXQr0xQje0y+bWyE3TmFtkTpeiA9CSRHBJfBZmOwE9rWKF2PIE0JZlMkD68Oy5NkO3/4Y0p/57vEGUTwC29tlqnCSbAUGtU9RGnbe0w0CrZjSZGnBNuzvjF1hnUYzWygtR1E6swLz1Muol54cYT14fWI0IjULkkNXBabtdDAVamBi2InfrJ44dPEGPXZp5TftYOSd9zpnNSmCXxvv2n67kqF0olNspju+vypJ5ydDQg2LNRsOcwI9hE6ANHpwmsvm6iVXLqMXMNE67vW6TvxWffSCpwROgDpBz5QdCx1Ma9G4cmbNcv8HjjinNAAqYeJ1lQ6VMg1sZM3LTP/7/w7W4kbTgodgGqbKUbodMQ1sc2Bm0ZqXsUYp4UGwY4TRGylI3diyY3OiG0qqcxyaueFrgSzIRA7+ICRa3KXGzk1UjAua7LZF1YuFXzgST3dhUEk17Uh+JY6+4MNLKY1RegmwPoQSI1Tt5CacFh3HYC0C3P1tiNCXyKQ2teSBxHc5oY0EDpveT4tQodMZRS3LU3hEKVF6BaDQaWJ3OUobgobMR5o2h6lReg2EKQmcYzitkdpEToGBFE8LrMpY9/stXZlnggdQxC9kZqk7nugLTMpWEOd/cPzZCMidMxph9w2px0itEVAbvTwQ1rS6ulBW9MOEdpCzNpmnW+38oQBW2c7nD7WzVbMZoUtm+nMhvvp/C9/RsVj/6Ww8S0t84vQlgOxzz7xCGVfCHcQZ2vFU4RmACJ2Rs9KnH/2V6TOfU5hIEILbcdLpij397eocOCfdKlg8b+NiNAMgdC5XTtI5XI0U2xdBy5CM8Kbt2D8Pnbf5Le9HVoKYgsiNBN8LbPX2TnhOXXuHOV3bHNKamvPWEk//Ci1ktzu96h48GOyBW/+gqrPG6nf30nJ1WvIS6WIO/YeGpTuJL/GhxgG+OizFgk93YImNTpChX1DusJ4O3HH2pSjeOQwtRJ/0WLy0mmyAW92V90Vevh9Ff79CTWKrfsL7RX6aGuFBsnVfWQDuPgaAbMf6vRnDb1XnbFz+ahE6GlIrrjDRL84g2+RVKMXnp7GKwz/q6G3Fixta2Ct0CqbiUTqjpgfVp+8FRfdnIbf32jqIUK3gXwEv3R8nadWxTP18K9eTMkZ/NuKJ0/UfY+SHDp6ivv3kspkqNUgl04u7aE4gVSo4771NBPU6U+nrSIGB4HaiNVCm7QjgsEhSK1bHxupIXN6w6NNpRoT0DIXjwzXfBmHfdqK9ZXC/O5dFBVG6hUrqZ2gvH1JMpcpHqudUtjcxsB6oTHIiWJwGJDqv1cPFNe3ZfYDF1MYMgM1NlJ1i5Xpxmpxi10WazlyOwcpShI69YBYiYiOtsDgD6V+XExeupNCQacdqCBOeXr7gNWHC9lb+q4giNKNFhjCAFESU3pKDxgL+/ZSfv8eHfVGKSwwv+zrCyeJpjQt+n9hDDIZW9sXBLAQGiBKpxe1dsFSNSC2mQXRP2aOFxeXHqiqk8e1MNnm/i6dH0NeSIzFRqFF4xpg+i5x7ZLxx3kG54azERoyYYDYzkEbZKyMpiZPHR01kdDcz1wU3OtMk9dxGZG+xSKrMPLipvEnZpyZ535NtsNGaJDfMUiJ624gr6sNclQBkrZF1EYZu5hDX3hrs7Vzz5WwWuCPSHjhr2+S0BwYBNqeOwew27GC1CM38DcS6oPF/wAtELicsstyCxZy6SgLLjaTGxyg7GsvExfY7ilElI6y4GIjmIfO/Nb+gWAlrDfJXvjzHxtaWeYikDn76iY2qUYAa6HNIBEfmkg9AaxQzOqLPcxCUFxg38YAUmc3bZScuoyRWV/k6hTPi5zVPPR0IKeG3HFdrB8FQZrBMTIHOCM0QOFF6fQjtfae2BRfogIl+dyWzaxlBk4JDVANK548HstdKK0iv/s9/Q31NrmA0x38sfwTKQjXaI0UA5VTl6Yv5UgKKu8ZvGkZG7FV5jzlP3qfCh++1/SKP9sRocuY7kM391gttssiB4jQVUAqgiYzreydFyYi8kVE6GnAgvvkrSspcfXi2EVtSFw8dZLyOwelxF+BCN0gwW4SNEVMLLoGz1DUQOLCwU+oeHSYinq2xvVoXA0ReoaY7qRlybFVyp83v9xwPBzRIa8aGzNleyPwkf+YXS/C9IjQIYKNrd78haW9gHqQiVtstSJstcLrXRdbH2Br1vh9bM/ChlWzVWu0tG1L5J0RzhVWWglSACX5bFuRM1YEVojQAitEaIEVIrTAChFaYIUILbBChBZYIUILrBChBVaI0AIrRGiBFSK0wAoRWmCFCC2wQoQWWCFCC6wQoQVWiNACK0RogRUitMAKEVpghQgtsAJCD5Mg8GDIV6S2kSAwQLt82CeltpIgMMAn/3WfEok39H3pOyXYzqGuwaEX/blbh0aU8n5BgmAxHpUcHm+VOdLbM6AfrSVBsA1FA3O27/kG7o5P26mE9y2SGQ/BPg6pnPf94MG40Cb18L1+bftWEoT4oxCZtbMr5r47NBw8WbU79+ne5Y95nvq5vttNghAv0M8c475n5m4f+s3kF6dtN2/EJvWgfle3fricokeasQsBw57OHorkDVKC3kBGUe1N/wfbbdzDqoctgAAAAABJRU5ErkJggg==";
|
|
3
|
+
var _faviconIco = "data:image/vnd.microsoft.icon;base64,AAABAAEAICAAAAEAIACoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAlL7VMLz7w6y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPfDrJSy1TC8+8OsvPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvDrLz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/M0Lw/zdF8P8zQvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/zNC8P9dafP/ho/2/6Go+P+rsfn/q7H5/6ux+f+dpPj/foj2/05b8v8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P9MWfL/nKP4/6ux+f+rsfn/q7H5/6ux+f+rsfn/q7H5/6ux+f+rsfn/q7H5/4SN9v81Q/D/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/UFzy/6et+f+rsfn/q7H5/6ux+f+rsfn/q7H5/6ux+f+rsfn/q7H5/6ux+f+rsfn/q7H5/5Ka9/82RPD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/zdF8P+epPj/q7H5/6ux+f+rsfn/q7H5/4aP9v9jbvT/WGTz/2Vw9P+IkPb/q7H5/6ux+f+rsfn/w8j7/4qS9v8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Z3L0/6ux+f+rsfn/q7H5/6mv+f9RXvL/Lz7w/y8+8P8vPvD/Lz7w/y8+8P9dafP/q7H5/6ux+f/X2vz/ztL7/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P9+iPX/m6L4/5ui+P+bovj/d4D1/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P+Ikfb/t7z6//v7///19v7/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/4WO9v/09f7///////j5/v8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/NkTw/2p09P++wvr/////////////////1df8/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/0JQ8f9zffX/pKv4/9LV+//4+f7///////////////////////////+EjPb/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/32G9v/S1fz/////////////////////////////////////////////////xMn7/zJB8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/zZE8P/Eyfv/////////////////////////////////////////////////+Pn+/56k+P82RPD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/rrT5///////////////////////////////////////r7f7/u8D6/4SM9v9CUPH/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/zxK8f/8/P//////////////////7/D+/7G2+f96hPX/TFny/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/ZnH0////////////+Pn+/5CY9/82RPD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P9td/T///////b2/v+1u/r/Tlvy/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/0RS8f9lcfT/ZXH0/2Vx9P9aZvP/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/1Nf8v//////ys77/6ux+f+MlPf/MUDw/y8+8P8vPvD/Lz7w/y8+8P8zQvD/kJj3/6ux+f+rsfn/q7H5/3R/9f8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/9jb/P+ssvn/q7H5/6ux+f+QmPf/VGDy/zlH8P87SfH/VGDy/5Ka9/+rsfn/q7H5/6ux+f+pr/n/QE7x/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Xmr0/6ux+f+rsfn/q7H5/6ux+f+rsfn/q7H5/6ux+f+rsfn/q7H5/6ux+f+rsfn/q7H5/2959f8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Ymz0/6mv+f+rsfn/q7H5/6ux+f+rsfn/q7H5/6ux+f+rsfn/q7H5/6ux+f9xe/X/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/RFLy/4CJ9v+nrvn/q7H5/6ux+f+rsfn/q7H5/6eu+f+Ikfb/Slfy/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/zNB8P9KV/L/VmLz/1Rg8/9IVfL/NUPw/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvDrLz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w6yUvtUwvPvDrLz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8OslLLVMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=";
|
|
4
|
+
var _faviconSvg = "data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20width%3D%22512%22%20height%3D%22512%22%20viewBox%3D%220%200%20512%20512%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Crect%20width%3D%22512%22%20height%3D%22512%22%20fill%3D%22%23F03E2F%22%20rx%3D%2230%22%20%2F%3E%20%3Cpath%20d%3D%22M161.527%20136.723C161.527%20179.76%20187.738%20205.443%20240.388%20219.095L296%20232.283C345.687%20243.852%20376%20272.775%20376%20319.514C376%20341.727%20369.162%20360.931%20357.538%20375.971C357.538%20329.232%20333.607%20303.78%20276.171%20288.74L221.47%20276.246C177.709%20266.065%20143.977%20242.464%20143.977%20191.56C143.977%20170.505%20150.359%20151.994%20161.527%20136.723Z%22%20fill%3D%22white%22%20%2F%3E%20%3Cpath%20opacity%3D%220.5%22%20d%3D%22M323.35%20308.176C347.054%20323.679%20357.538%20345.197%20357.538%20376.202C337.709%20401.654%20303.293%20416%20262.724%20416C194.575%20416%20146.484%20381.756%20136%20322.753H201.641C210.074%20350.056%20232.41%20362.551%20262.268%20362.551C298.735%20362.32%20322.895%20342.652%20323.35%20308.176Z%22%20fill%3D%22white%22%20%2F%3E%20%3Cpath%20opacity%3D%220.5%22%20d%3D%22M195.715%20200.816C172.923%20186.007%20161.527%20165.183%20161.527%20136.954C180.672%20111.503%20213.493%2096%20253.835%2096C323.35%2096%20363.692%20133.252%20373.721%20185.776H310.359C303.293%20165.183%20285.971%20148.986%20254.291%20148.986C220.33%20148.986%20197.311%20169.116%20195.715%20200.816Z%22%20fill%3D%22white%22%20%2F%3E%3C%2Fsvg%3E";
|
|
5
|
+
const faviconPng = _faviconPng;
|
|
6
|
+
const faviconIco = _faviconIco;
|
|
7
|
+
const faviconSvg = _faviconSvg;
|
|
8
|
+
function NextStudioHead(props) {
|
|
9
|
+
const {
|
|
10
|
+
charSet = "utf-8",
|
|
11
|
+
viewport = true,
|
|
12
|
+
robots = "noindex",
|
|
13
|
+
referrer = "same-origin",
|
|
14
|
+
favicons = true,
|
|
15
|
+
title = "Sanity"
|
|
16
|
+
} = props;
|
|
17
|
+
return /* @__PURE__ */jsxs(Fragment, {
|
|
18
|
+
children: [charSet && /* @__PURE__ */jsx("meta", {
|
|
19
|
+
charSet
|
|
20
|
+
}, "charset"), viewport && /* @__PURE__ */jsx("meta", {
|
|
21
|
+
name: "viewport",
|
|
22
|
+
content: "width=device-width,initial-scale=1,viewport-fit=cover"
|
|
23
|
+
}, "viewport"), robots && /* @__PURE__ */jsx("meta", {
|
|
24
|
+
name: "robots",
|
|
25
|
+
content: robots
|
|
26
|
+
}, "robots"), referrer && /* @__PURE__ */jsx("meta", {
|
|
27
|
+
name: "referrer",
|
|
28
|
+
content: referrer
|
|
29
|
+
}, "referrer"), title && /* @__PURE__ */jsx("title", {
|
|
30
|
+
children: title
|
|
31
|
+
}), favicons && /* @__PURE__ */jsx("link", {
|
|
32
|
+
rel: "icon",
|
|
33
|
+
href: faviconIco,
|
|
34
|
+
sizes: "any"
|
|
35
|
+
}, "favicon.ico"), favicons && /* @__PURE__ */jsx("link", {
|
|
36
|
+
rel: "apple-touch-icon",
|
|
37
|
+
href: faviconPng
|
|
38
|
+
}, "apple-touch-icon.png"), favicons && /* @__PURE__ */jsx("link", {
|
|
39
|
+
rel: "icon",
|
|
40
|
+
href: faviconSvg,
|
|
41
|
+
type: "image/svg+xml"
|
|
42
|
+
}, "favicon.svg")]
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
export { NextStudioHead };
|
|
46
|
+
//# sourceMappingURL=head.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"head.js","sources":["../../src/studio/head/apple-touch-icon.png","../../src/studio/head/favicon.ico","../../src/studio/head/favicon.svg","../../src/studio/head/NextStudioHead.tsx"],"sourcesContent":["export default \"data:image/png;base64,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\"","export default \"data:image/vnd.microsoft.icon;base64,AAABAAEAICAAAAEAIACoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAlL7VMLz7w6y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPfDrJSy1TC8+8OsvPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvDrLz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/M0Lw/zdF8P8zQvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/zNC8P9dafP/ho/2/6Go+P+rsfn/q7H5/6ux+f+dpPj/foj2/05b8v8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P9MWfL/nKP4/6ux+f+rsfn/q7H5/6ux+f+rsfn/q7H5/6ux+f+rsfn/q7H5/4SN9v81Q/D/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/UFzy/6et+f+rsfn/q7H5/6ux+f+rsfn/q7H5/6ux+f+rsfn/q7H5/6ux+f+rsfn/q7H5/5Ka9/82RPD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/zdF8P+epPj/q7H5/6ux+f+rsfn/q7H5/4aP9v9jbvT/WGTz/2Vw9P+IkPb/q7H5/6ux+f+rsfn/w8j7/4qS9v8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Z3L0/6ux+f+rsfn/q7H5/6mv+f9RXvL/Lz7w/y8+8P8vPvD/Lz7w/y8+8P9dafP/q7H5/6ux+f/X2vz/ztL7/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P9+iPX/m6L4/5ui+P+bovj/d4D1/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P+Ikfb/t7z6//v7///19v7/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/4WO9v/09f7///////j5/v8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/NkTw/2p09P++wvr/////////////////1df8/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/0JQ8f9zffX/pKv4/9LV+//4+f7///////////////////////////+EjPb/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/32G9v/S1fz/////////////////////////////////////////////////xMn7/zJB8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/zZE8P/Eyfv/////////////////////////////////////////////////+Pn+/56k+P82RPD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/rrT5///////////////////////////////////////r7f7/u8D6/4SM9v9CUPH/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/zxK8f/8/P//////////////////7/D+/7G2+f96hPX/TFny/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/ZnH0////////////+Pn+/5CY9/82RPD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P9td/T///////b2/v+1u/r/Tlvy/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/0RS8f9lcfT/ZXH0/2Vx9P9aZvP/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/1Nf8v//////ys77/6ux+f+MlPf/MUDw/y8+8P8vPvD/Lz7w/y8+8P8zQvD/kJj3/6ux+f+rsfn/q7H5/3R/9f8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/9jb/P+ssvn/q7H5/6ux+f+QmPf/VGDy/zlH8P87SfH/VGDy/5Ka9/+rsfn/q7H5/6ux+f+pr/n/QE7x/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Xmr0/6ux+f+rsfn/q7H5/6ux+f+rsfn/q7H5/6ux+f+rsfn/q7H5/6ux+f+rsfn/q7H5/2959f8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Ymz0/6mv+f+rsfn/q7H5/6ux+f+rsfn/q7H5/6ux+f+rsfn/q7H5/6ux+f9xe/X/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/RFLy/4CJ9v+nrvn/q7H5/6ux+f+rsfn/q7H5/6eu+f+Ikfb/Slfy/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/zNB8P9KV/L/VmLz/1Rg8/9IVfL/NUPw/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvDrLz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w6yUvtUwvPvDrLz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8P8vPvD/Lz7w/y8+8OslLLVMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\"","export default \"data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20width%3D%22512%22%20height%3D%22512%22%20viewBox%3D%220%200%20512%20512%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Crect%20width%3D%22512%22%20height%3D%22512%22%20fill%3D%22%23F03E2F%22%20rx%3D%2230%22%20%2F%3E%20%3Cpath%20d%3D%22M161.527%20136.723C161.527%20179.76%20187.738%20205.443%20240.388%20219.095L296%20232.283C345.687%20243.852%20376%20272.775%20376%20319.514C376%20341.727%20369.162%20360.931%20357.538%20375.971C357.538%20329.232%20333.607%20303.78%20276.171%20288.74L221.47%20276.246C177.709%20266.065%20143.977%20242.464%20143.977%20191.56C143.977%20170.505%20150.359%20151.994%20161.527%20136.723Z%22%20fill%3D%22white%22%20%2F%3E%20%3Cpath%20opacity%3D%220.5%22%20d%3D%22M323.35%20308.176C347.054%20323.679%20357.538%20345.197%20357.538%20376.202C337.709%20401.654%20303.293%20416%20262.724%20416C194.575%20416%20146.484%20381.756%20136%20322.753H201.641C210.074%20350.056%20232.41%20362.551%20262.268%20362.551C298.735%20362.32%20322.895%20342.652%20323.35%20308.176Z%22%20fill%3D%22white%22%20%2F%3E%20%3Cpath%20opacity%3D%220.5%22%20d%3D%22M195.715%20200.816C172.923%20186.007%20161.527%20165.183%20161.527%20136.954C180.672%20111.503%20213.493%2096%20253.835%2096C323.35%2096%20363.692%20133.252%20373.721%20185.776H310.359C303.293%20165.183%20285.971%20148.986%20254.291%20148.986C220.33%20148.986%20197.311%20169.116%20195.715%20200.816Z%22%20fill%3D%22white%22%20%2F%3E%3C%2Fsvg%3E\"","import _faviconPng from './apple-touch-icon.png'\nimport _faviconIco from './favicon.ico'\nimport _faviconSvg from './favicon.svg'\n\nconst faviconPng = typeof _faviconPng === 'string' ? _faviconPng : _faviconPng.default\nconst faviconIco = typeof _faviconIco === 'string' ? _faviconIco : _faviconIco.default\nconst faviconSvg = typeof _faviconSvg === 'string' ? _faviconSvg : _faviconSvg.default\n\n/** @public */\nexport interface NextStudioHeadProps {\n /**\n * @defaultValue 'utf-8'\n */\n charSet?: false | string\n /**\n * Sets the viewport to `viewport-fit=cover` to integrate with iOS devices with display cutouts (The Notch, Dynamic Island).\n * Also sets `width=device-width, initial-scale=1` to make the studio page responsive.\n * @defaultValue true\n */\n viewport?: boolean\n /**\n * It's common practice to hide the address to your Sanity Studio from search engines by setting `robots` to `noindex`\n * @defaultValue 'noindex'\n */\n robots?: false | string\n /**\n * @defaultValue 'same-origin'\n */\n referrer?: false | string\n /**\n * Adds the same favicons as the `npx sanity dev` pipeline.\n * @defaultValue true\n */\n favicons?: boolean\n /**\n * @defaultValue 'Sanity'\n */\n title?: false | string\n}\n\n/**\n * In Next 13 appDir mode (`/app/studio/[[...index]]/head.tsx`):\n * ```tsx\n * // If you don't want to change any defaults you can just re-export the head component directly:\n * export {NextStudioHead as default} from 'next-sanity/studio/head'\n *\n * // To customize it, use it as a children component:\n * import {NextStudioHead} from 'next-sanity/studio/head'\n *\n * export default function CustomStudioHead() {\n * return (\n * <>\n * <NextStudioHead favicons={false} />\n * <link\n * rel=\"icon\"\n * type=\"image/png\"\n * sizes=\"32x32\"\n * href=\"https://www.sanity.io/static/images/favicons/favicon-32x32.png\"\n * />\n * </>\n * )\n * }\n * ```\n * If you're using Next 12 or the `pages` folder (`/pages/studio/[[...index]].tsx`):\n * ```tsx\n * import Head from 'next/head'\n * import {NextStudio} from 'next-sanity/studio'\n * import {NextStudioHead} from 'next-sanity/studio/head'\n *\n * export default function StudioPage() {\n * return (\n * <>\n * <Head>\n * <NextStudioHead />\n * </Head>\n * <NextStudio config={config} />\n * </>\n * )\n * }\n * ```\n * @public\n */\nexport function NextStudioHead(props: NextStudioHeadProps) {\n const {\n charSet = 'utf-8',\n viewport = true,\n robots = 'noindex',\n referrer = 'same-origin',\n favicons = true,\n title = 'Sanity',\n } = props\n\n return (\n <>\n {charSet && <meta key=\"charset\" charSet={charSet} />}\n {viewport && (\n <meta\n key=\"viewport\"\n name=\"viewport\"\n // Studio implements display cutouts CSS (The iPhone Notch ™ ) and needs `viewport-fit=covered` for it to work correctly\n content=\"width=device-width,initial-scale=1,viewport-fit=cover\"\n />\n )}\n {robots && <meta key=\"robots\" name=\"robots\" content={robots} />}\n {referrer && <meta key=\"referrer\" name=\"referrer\" content={referrer} />}\n {title && <title>{title}</title>}\n {favicons && <link key=\"favicon.ico\" rel=\"icon\" href={faviconIco} sizes=\"any\" />}\n {favicons && <link key=\"apple-touch-icon.png\" rel=\"apple-touch-icon\" href={faviconPng} />}\n {favicons && <link key=\"favicon.svg\" rel=\"icon\" href={faviconSvg} type=\"image/svg+xml\" />}\n </>\n )\n}\n"],"names":["_faviconPng","_faviconIco","_faviconSvg","faviconPng","faviconIco","faviconSvg","NextStudioHead","props","charSet","viewport","robots","referrer","favicons","title","jsxs","Fragment","children","jsx","name","content","rel","href","sizes","type"],"mappings":";AAAA,IAAeA,WAAA,GAAA,w0JAAA;ACAf,IAAeC,WAAA,GAAA,2nLAAA;ACAf,IAAeC,WAAA,GAAA,igDAAA;ACIf,MAAMC,UAAa,GAAkCH;AACrD,MAAMI,UAAa,GAAkCH;AACrD,MAAMI,UAAa,GAAkCH;AA4E9C,SAASI,eAAeC,KAA4B,EAAA;EACnD,MAAA;IACJC,OAAU,GAAA,OAAA;IACVC,QAAW,GAAA,IAAA;IACXC,MAAS,GAAA,SAAA;IACTC,QAAW,GAAA,aAAA;IACXC,QAAW,GAAA,IAAA;IACXC,KAAQ,GAAA;EACN,CAAA,GAAAN,KAAA;EAEJ,sBAEKO,IAAA,CAAAC,QAAA,EAAA;IAAAC,QAAA,EAAA,CAAWR,OAAA,IAAA,eAAAS,GAAA,CAAC,MAAmB,EAAA;MAAAT;IAAA,CAAA,EAAV,SAA4B,CAAA,EACjDC,QACC,mBAAAQ,GAAA,CAAC,MAAA,EAAA;MAECC,IAAK,EAAA,UAAA;MAELC,OAAQ,EAAA;IAAA,CAAA,EAHJ,UAAA,CAIN,EAEDT,UAAW,eAAAO,GAAA,CAAA,MAAA,EAAA;MAAkBC,MAAK,QAAS;MAAAC,OAAA,EAAST;OAAhC,QAAwC,CAAA,EAC5DC,YAAa,eAAAM,GAAA,CAAA,MAAA,EAAA;MAAoBC,MAAK,UAAW;MAAAC,OAAA,EAASR;OAApC,UAA8C,CAAA,EACpEE,KAAA,IAAU,eAAAI,GAAA,CAAA,OAAA,EAAA;MAAOD,QAAM,EAAAH;IAAA,CAAA,CAAA,EACvBD,QAAA,uBAAa,MAAuB,EAAA;MAAAQ,GAAA,EAAI;MAAOC,IAAM,EAAAjB,UAAA;MAAYkB,KAAM,EAAA;IAAA,CAAA,EAAjD,aAAuD,CAAA,EAC7EV,YAAa,eAAAK,GAAA,CAAA,MAAA,EAAA;MAAgCG,KAAI,kBAAmB;MAAAC,IAAA,EAAMlB;OAApD,sBAAgE,CAAA,EACtFS,QAAA,uBAAa,MAAuB,EAAA;MAAAQ,GAAA,EAAI;MAAOC,IAAM,EAAAhB,UAAA;MAAYkB,IAAK,EAAA;IAAA,CAAA,EAAhD,aAAgE,CAAA;EACzF,CAAA,CAAA;AAEJ;"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _templateObject;
|
|
4
|
+
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
5
|
+
Object.defineProperty(exports, '__esModule', {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
9
|
+
var react = require('react');
|
|
10
|
+
var sanity = require('sanity');
|
|
11
|
+
var styled = require('styled-components');
|
|
12
|
+
var NextStudioLoading = require('../_chunks/NextStudioLoading-bf57e61a.cjs');
|
|
13
|
+
function _interopDefaultCompat(e) {
|
|
14
|
+
return e && typeof e === 'object' && 'default' in e ? e : {
|
|
15
|
+
default: e
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
var styled__default = /*#__PURE__*/_interopDefaultCompat(styled);
|
|
19
|
+
function NextStudioClientOnly(_ref) {
|
|
20
|
+
let {
|
|
21
|
+
children,
|
|
22
|
+
fallback
|
|
23
|
+
} = _ref;
|
|
24
|
+
const [mounted, setMounted] = react.useState(false);
|
|
25
|
+
react.useEffect(() => react.startTransition(() => setMounted(true)), []);
|
|
26
|
+
return /* @__PURE__ */jsxRuntime.jsx(jsxRuntime.Fragment, {
|
|
27
|
+
children: mounted ? children : fallback
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
const Layout = styled__default.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n font-family: ", ";\n background-color: ", ";\n height: 100vh;\n max-height: 100dvh;\n overscroll-behavior: none;\n -webkit-font-smoothing: antialiased;\n overflow: auto;\n"])), _ref2 => {
|
|
31
|
+
let {
|
|
32
|
+
$fontFamily
|
|
33
|
+
} = _ref2;
|
|
34
|
+
return $fontFamily;
|
|
35
|
+
}, _ref3 => {
|
|
36
|
+
let {
|
|
37
|
+
$bg
|
|
38
|
+
} = _ref3;
|
|
39
|
+
return $bg;
|
|
40
|
+
});
|
|
41
|
+
const NextStudioLayoutComponent = _ref4 => {
|
|
42
|
+
let {
|
|
43
|
+
children,
|
|
44
|
+
config,
|
|
45
|
+
scheme = "light"
|
|
46
|
+
} = _ref4;
|
|
47
|
+
const theme = NextStudioLoading.useTheme(config);
|
|
48
|
+
return /* @__PURE__ */jsxRuntime.jsx(Layout, {
|
|
49
|
+
"data-ui": "NextStudioLayout",
|
|
50
|
+
$fontFamily: theme.fonts.text.family,
|
|
51
|
+
$bg: theme.color[scheme].default.base.bg,
|
|
52
|
+
children
|
|
53
|
+
});
|
|
54
|
+
};
|
|
55
|
+
const NextStudioLayout = react.memo(NextStudioLayoutComponent);
|
|
56
|
+
const NextStudioComponent = _ref5 => {
|
|
57
|
+
let {
|
|
58
|
+
children,
|
|
59
|
+
config,
|
|
60
|
+
unstable__noScript,
|
|
61
|
+
scheme,
|
|
62
|
+
...props
|
|
63
|
+
} = _ref5;
|
|
64
|
+
return /* @__PURE__ */jsxRuntime.jsx(NextStudioClientOnly, {
|
|
65
|
+
fallback: /* @__PURE__ */jsxRuntime.jsx(NextStudioLoading.NextStudioLoading, {
|
|
66
|
+
unstable__noScript,
|
|
67
|
+
config,
|
|
68
|
+
scheme
|
|
69
|
+
}),
|
|
70
|
+
children: /* @__PURE__ */jsxRuntime.jsx(NextStudioLayout, {
|
|
71
|
+
config,
|
|
72
|
+
scheme,
|
|
73
|
+
children: children || /* @__PURE__ */jsxRuntime.jsx(sanity.Studio, {
|
|
74
|
+
config,
|
|
75
|
+
scheme,
|
|
76
|
+
unstable_globalStyles: true,
|
|
77
|
+
...props
|
|
78
|
+
})
|
|
79
|
+
})
|
|
80
|
+
});
|
|
81
|
+
};
|
|
82
|
+
const NextStudio = react.memo(NextStudioComponent);
|
|
83
|
+
function createStore() {
|
|
84
|
+
if (typeof document === "undefined") {
|
|
85
|
+
return {
|
|
86
|
+
subscribe: () => () => {},
|
|
87
|
+
getSnapshot: () => "light",
|
|
88
|
+
getServerSnapshot: () => "light"
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
const matchMedia = window.matchMedia("(prefers-color-scheme: dark)");
|
|
92
|
+
return {
|
|
93
|
+
subscribe: onStoreChange => {
|
|
94
|
+
matchMedia.addEventListener("change", onStoreChange);
|
|
95
|
+
return () => matchMedia.removeEventListener("change", onStoreChange);
|
|
96
|
+
},
|
|
97
|
+
getSnapshot: () => matchMedia.matches ? "dark" : "light",
|
|
98
|
+
getServerSnapshot: () => "light"
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
const store = createStore();
|
|
102
|
+
function usePrefersColorScheme() {
|
|
103
|
+
return react.useSyncExternalStore(store.subscribe, store.getSnapshot, store.getServerSnapshot);
|
|
104
|
+
}
|
|
105
|
+
exports.NextStudioNoScript = NextStudioLoading.NextStudioNoScript;
|
|
106
|
+
exports.useTheme = NextStudioLoading.useTheme;
|
|
107
|
+
exports.NextStudio = NextStudio;
|
|
108
|
+
exports.NextStudioClientOnly = NextStudioClientOnly;
|
|
109
|
+
exports.NextStudioLayout = NextStudioLayout;
|
|
110
|
+
exports.usePrefersColorScheme = usePrefersColorScheme;
|
|
111
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import cjs from './index.cjs';
|
|
2
|
+
|
|
3
|
+
export const NextStudioNoScript = cjs.NextStudioNoScript;
|
|
4
|
+
export const useTheme = cjs.useTheme;
|
|
5
|
+
export const NextStudio = cjs.NextStudio;
|
|
6
|
+
export const NextStudioClientOnly = cjs.NextStudioClientOnly;
|
|
7
|
+
export const NextStudioLayout = cjs.NextStudioLayout;
|
|
8
|
+
export const usePrefersColorScheme = cjs.usePrefersColorScheme;
|
|
9
|
+
|
|
10
|
+
export default cjs.default;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../src/studio/NextStudioClientOnly.tsx","../../src/studio/NextStudioLayout.tsx","../../src/studio/NextStudio.tsx","../../src/studio/usePrefersColorScheme.ts"],"sourcesContent":["import {type ReactNode, startTransition, useEffect, useState} from 'react'\n\n/** @alpha */\nexport type NextStudioClientOnlyProps = {\n children: ReactNode\n fallback: ReactNode\n}\n\n/** @alpha */\nexport function NextStudioClientOnly({children, fallback}: NextStudioClientOnlyProps) {\n const [mounted, setMounted] = useState(false)\n useEffect(() => startTransition(() => setMounted(true)), [])\n\n return <>{mounted ? children : fallback}</>\n}\n","/* eslint-disable camelcase */\nimport {memo} from 'react'\nimport type {StudioProps} from 'sanity'\nimport styled from 'styled-components'\n\nimport {useTheme} from './useTheme'\n\n/** @alpha */\nexport interface NextStudioLayoutProps extends Pick<StudioProps, 'config' | 'scheme'> {\n children: React.ReactNode\n}\n\ntype LayoutProps = {\n $bg: string\n $fontFamily: string\n}\nconst Layout = styled.div<LayoutProps>`\n font-family: ${({$fontFamily}) => $fontFamily};\n background-color: ${({$bg}: any) => $bg};\n height: 100vh;\n max-height: 100dvh;\n overscroll-behavior: none;\n -webkit-font-smoothing: antialiased;\n overflow: auto;\n`\n\nconst NextStudioLayoutComponent = ({\n children,\n config,\n scheme = 'light',\n}: NextStudioLayoutProps) => {\n const theme = useTheme(config)\n\n return (\n <Layout\n data-ui=\"NextStudioLayout\"\n $fontFamily={theme.fonts.text.family}\n $bg={theme.color[scheme].default.base.bg}\n >\n {children}\n </Layout>\n )\n}\n\n/** @alpha */\nexport const NextStudioLayout = memo(NextStudioLayoutComponent)\n","import {memo} from 'react'\nimport {Studio, type StudioProps} from 'sanity'\n\nimport {NextStudioClientOnly} from './NextStudioClientOnly'\nimport {NextStudioLayout} from './NextStudioLayout'\nimport {NextStudioLoading, type NextStudioLoadingProps} from './NextStudioLoading'\n\nexport type {NextStudioLoadingProps}\n\n/** @beta */\nexport interface NextStudioProps extends StudioProps {\n children?: React.ReactNode\n /**\n * Render the <noscript> tag\n * @defaultValue true\n * @alpha\n */\n unstable__noScript?: NextStudioLoadingProps['unstable__noScript']\n}\n/**\n * Intended to render at the root of a page, letting the Studio own that page and render much like it would if you used `npx sanity start` to render\n * It's a drop-in replacement for `import {Studio} from 'sanity'`\n */\nconst NextStudioComponent = ({\n children,\n config,\n unstable__noScript,\n scheme,\n ...props\n}: NextStudioProps) => (\n <NextStudioClientOnly\n fallback={\n <NextStudioLoading\n unstable__noScript={unstable__noScript}\n config={config}\n scheme={scheme}\n />\n }\n >\n <NextStudioLayout config={config} scheme={scheme}>\n {children || <Studio config={config} scheme={scheme} unstable_globalStyles {...props} />}\n </NextStudioLayout>\n </NextStudioClientOnly>\n)\n\n/**\n * Override how the Studio renders by passing children.\n * This is useful for advanced use cases where you're using StudioProvider and StudioLayout instead of Studio:\n * ```\n * import {StudioProvider, StudioLayout} from 'sanity'\n * import {NextStudio} from 'next-sanity/studio'\n * <NextStudio config={config}>\n * <StudioProvider config={config}>\n * <CustomComponentThatUsesContextFromStudioProvider />\n * <StudioLayout />\n * </StudioProvider>\n * </NextStudio>\n * ```\n * @beta\n */\nexport const NextStudio = memo(NextStudioComponent)\n","/* eslint-disable @typescript-eslint/no-empty-function */\nimport type {ThemeColorSchemeKey} from '@sanity/ui'\nimport {useSyncExternalStore} from 'react'\n\nfunction createStore() {\n if (typeof document === 'undefined') {\n return {\n subscribe: () => () => {},\n getSnapshot: () => 'light' as const,\n getServerSnapshot: () => 'light' as const,\n }\n }\n\n const matchMedia = window.matchMedia('(prefers-color-scheme: dark)')\n\n return {\n subscribe: (onStoreChange: () => void) => {\n matchMedia.addEventListener('change', onStoreChange)\n return () => matchMedia.removeEventListener('change', onStoreChange)\n },\n getSnapshot: () => (matchMedia.matches ? 'dark' : 'light'),\n getServerSnapshot: () => 'light' as const,\n }\n}\nconst store = createStore()\n\n/** @alpha */\nexport function usePrefersColorScheme(): ThemeColorSchemeKey {\n return useSyncExternalStore(store.subscribe, store.getSnapshot, store.getServerSnapshot)\n}\n"],"names":["NextStudioClientOnly","children","fallback","mounted","setMounted","useState","useEffect","startTransition","jsx","Fragment","Layout","styled","default","div","$fontFamily","$bg","NextStudioLayoutComponent","config","scheme","theme","useTheme","fonts","text","family","color","base","bg","NextStudioLayout","memo","NextStudioComponent","unstable__noScript","props","NextStudioLoading","Studio","unstable_globalStyles","NextStudio","createStore","document","subscribe","getSnapshot","getServerSnapshot","matchMedia","window","onStoreChange","addEventListener","removeEventListener","matches","store","usePrefersColorScheme","useSyncExternalStore"],"mappings":"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"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
|
|
3
|
+
import type {Config} from 'sanity'
|
|
4
|
+
import {MemoExoticComponent} from 'react'
|
|
5
|
+
import {ReactNode} from 'react'
|
|
6
|
+
import type {SingleWorkspace} from 'sanity'
|
|
7
|
+
import {StudioProps} from 'sanity'
|
|
8
|
+
import type {StudioTheme} from 'sanity'
|
|
9
|
+
import type {ThemeColorSchemeKey} from '@sanity/ui'
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Override how the Studio renders by passing children.
|
|
13
|
+
* This is useful for advanced use cases where you're using StudioProvider and StudioLayout instead of Studio:
|
|
14
|
+
* ```
|
|
15
|
+
* import {StudioProvider, StudioLayout} from 'sanity'
|
|
16
|
+
* import {NextStudio} from 'next-sanity/studio'
|
|
17
|
+
* <NextStudio config={config}>
|
|
18
|
+
* <StudioProvider config={config}>
|
|
19
|
+
* <CustomComponentThatUsesContextFromStudioProvider />
|
|
20
|
+
* <StudioLayout />
|
|
21
|
+
* </StudioProvider>
|
|
22
|
+
* </NextStudio>
|
|
23
|
+
* ```
|
|
24
|
+
* @beta
|
|
25
|
+
*/
|
|
26
|
+
export declare const NextStudio: MemoExoticComponent<
|
|
27
|
+
({children, config, unstable__noScript, scheme, ...props}: NextStudioProps) => JSX.Element
|
|
28
|
+
>
|
|
29
|
+
|
|
30
|
+
/** @alpha */
|
|
31
|
+
export declare function NextStudioClientOnly({
|
|
32
|
+
children,
|
|
33
|
+
fallback,
|
|
34
|
+
}: NextStudioClientOnlyProps): JSX.Element
|
|
35
|
+
|
|
36
|
+
/** @alpha */
|
|
37
|
+
export declare type NextStudioClientOnlyProps = {
|
|
38
|
+
children: ReactNode
|
|
39
|
+
fallback: ReactNode
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/** @alpha */
|
|
43
|
+
export declare const NextStudioLayout: MemoExoticComponent<
|
|
44
|
+
({children, config, scheme}: NextStudioLayoutProps) => JSX.Element
|
|
45
|
+
>
|
|
46
|
+
|
|
47
|
+
/** @alpha */
|
|
48
|
+
export declare interface NextStudioLayoutProps extends Pick<StudioProps, 'config' | 'scheme'> {
|
|
49
|
+
children: React.ReactNode
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/** @alpha */
|
|
53
|
+
export declare interface NextStudioLoadingProps extends Pick<StudioProps, 'scheme'> {
|
|
54
|
+
/**
|
|
55
|
+
* If your Studio Config has a custom theme you can pass it here to ensure the loading screen matches your theme.
|
|
56
|
+
*/
|
|
57
|
+
config?: Config | Required<Pick<SingleWorkspace, 'theme'>>
|
|
58
|
+
/**
|
|
59
|
+
* Render the <noscript> tag
|
|
60
|
+
* @defaultValue true
|
|
61
|
+
* @alpha
|
|
62
|
+
*/
|
|
63
|
+
unstable__noScript?: boolean
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/** @alpha */
|
|
67
|
+
export declare const NextStudioNoScript: () => JSX.Element
|
|
68
|
+
|
|
69
|
+
/** @beta */
|
|
70
|
+
export declare interface NextStudioProps extends StudioProps {
|
|
71
|
+
children?: React.ReactNode
|
|
72
|
+
/**
|
|
73
|
+
* Render the <noscript> tag
|
|
74
|
+
* @defaultValue true
|
|
75
|
+
* @alpha
|
|
76
|
+
*/
|
|
77
|
+
unstable__noScript?: NextStudioLoadingProps['unstable__noScript']
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/** @alpha */
|
|
81
|
+
export declare function usePrefersColorScheme(): ThemeColorSchemeKey
|
|
82
|
+
|
|
83
|
+
/** @alpha */
|
|
84
|
+
export declare function useTheme(
|
|
85
|
+
config?: Config | Required<Pick<SingleWorkspace, 'theme'>>
|
|
86
|
+
): StudioTheme
|
|
87
|
+
|
|
88
|
+
export {}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
var _templateObject;
|
|
2
|
+
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
3
|
+
import { jsx, Fragment } from 'react/jsx-runtime';
|
|
4
|
+
import { useState, useEffect, startTransition, memo, useSyncExternalStore } from 'react';
|
|
5
|
+
import { Studio } from 'sanity';
|
|
6
|
+
import styled from 'styled-components';
|
|
7
|
+
import { useTheme, NextStudioLoading } from '../_chunks/NextStudioLoading-8cf56cdf.js';
|
|
8
|
+
export { NextStudioNoScript } from '../_chunks/NextStudioLoading-8cf56cdf.js';
|
|
9
|
+
function NextStudioClientOnly(_ref) {
|
|
10
|
+
let {
|
|
11
|
+
children,
|
|
12
|
+
fallback
|
|
13
|
+
} = _ref;
|
|
14
|
+
const [mounted, setMounted] = useState(false);
|
|
15
|
+
useEffect(() => startTransition(() => setMounted(true)), []);
|
|
16
|
+
return /* @__PURE__ */jsx(Fragment, {
|
|
17
|
+
children: mounted ? children : fallback
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
const Layout = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n font-family: ", ";\n background-color: ", ";\n height: 100vh;\n max-height: 100dvh;\n overscroll-behavior: none;\n -webkit-font-smoothing: antialiased;\n overflow: auto;\n"])), _ref2 => {
|
|
21
|
+
let {
|
|
22
|
+
$fontFamily
|
|
23
|
+
} = _ref2;
|
|
24
|
+
return $fontFamily;
|
|
25
|
+
}, _ref3 => {
|
|
26
|
+
let {
|
|
27
|
+
$bg
|
|
28
|
+
} = _ref3;
|
|
29
|
+
return $bg;
|
|
30
|
+
});
|
|
31
|
+
const NextStudioLayoutComponent = _ref4 => {
|
|
32
|
+
let {
|
|
33
|
+
children,
|
|
34
|
+
config,
|
|
35
|
+
scheme = "light"
|
|
36
|
+
} = _ref4;
|
|
37
|
+
const theme = useTheme(config);
|
|
38
|
+
return /* @__PURE__ */jsx(Layout, {
|
|
39
|
+
"data-ui": "NextStudioLayout",
|
|
40
|
+
$fontFamily: theme.fonts.text.family,
|
|
41
|
+
$bg: theme.color[scheme].default.base.bg,
|
|
42
|
+
children
|
|
43
|
+
});
|
|
44
|
+
};
|
|
45
|
+
const NextStudioLayout = memo(NextStudioLayoutComponent);
|
|
46
|
+
const NextStudioComponent = _ref5 => {
|
|
47
|
+
let {
|
|
48
|
+
children,
|
|
49
|
+
config,
|
|
50
|
+
unstable__noScript,
|
|
51
|
+
scheme,
|
|
52
|
+
...props
|
|
53
|
+
} = _ref5;
|
|
54
|
+
return /* @__PURE__ */jsx(NextStudioClientOnly, {
|
|
55
|
+
fallback: /* @__PURE__ */jsx(NextStudioLoading, {
|
|
56
|
+
unstable__noScript,
|
|
57
|
+
config,
|
|
58
|
+
scheme
|
|
59
|
+
}),
|
|
60
|
+
children: /* @__PURE__ */jsx(NextStudioLayout, {
|
|
61
|
+
config,
|
|
62
|
+
scheme,
|
|
63
|
+
children: children || /* @__PURE__ */jsx(Studio, {
|
|
64
|
+
config,
|
|
65
|
+
scheme,
|
|
66
|
+
unstable_globalStyles: true,
|
|
67
|
+
...props
|
|
68
|
+
})
|
|
69
|
+
})
|
|
70
|
+
});
|
|
71
|
+
};
|
|
72
|
+
const NextStudio = memo(NextStudioComponent);
|
|
73
|
+
function createStore() {
|
|
74
|
+
if (typeof document === "undefined") {
|
|
75
|
+
return {
|
|
76
|
+
subscribe: () => () => {},
|
|
77
|
+
getSnapshot: () => "light",
|
|
78
|
+
getServerSnapshot: () => "light"
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
const matchMedia = window.matchMedia("(prefers-color-scheme: dark)");
|
|
82
|
+
return {
|
|
83
|
+
subscribe: onStoreChange => {
|
|
84
|
+
matchMedia.addEventListener("change", onStoreChange);
|
|
85
|
+
return () => matchMedia.removeEventListener("change", onStoreChange);
|
|
86
|
+
},
|
|
87
|
+
getSnapshot: () => matchMedia.matches ? "dark" : "light",
|
|
88
|
+
getServerSnapshot: () => "light"
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
const store = createStore();
|
|
92
|
+
function usePrefersColorScheme() {
|
|
93
|
+
return useSyncExternalStore(store.subscribe, store.getSnapshot, store.getServerSnapshot);
|
|
94
|
+
}
|
|
95
|
+
export { NextStudio, NextStudioClientOnly, NextStudioLayout, usePrefersColorScheme, useTheme };
|
|
96
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/studio/NextStudioClientOnly.tsx","../../src/studio/NextStudioLayout.tsx","../../src/studio/NextStudio.tsx","../../src/studio/usePrefersColorScheme.ts"],"sourcesContent":["import {type ReactNode, startTransition, useEffect, useState} from 'react'\n\n/** @alpha */\nexport type NextStudioClientOnlyProps = {\n children: ReactNode\n fallback: ReactNode\n}\n\n/** @alpha */\nexport function NextStudioClientOnly({children, fallback}: NextStudioClientOnlyProps) {\n const [mounted, setMounted] = useState(false)\n useEffect(() => startTransition(() => setMounted(true)), [])\n\n return <>{mounted ? children : fallback}</>\n}\n","/* eslint-disable camelcase */\nimport {memo} from 'react'\nimport type {StudioProps} from 'sanity'\nimport styled from 'styled-components'\n\nimport {useTheme} from './useTheme'\n\n/** @alpha */\nexport interface NextStudioLayoutProps extends Pick<StudioProps, 'config' | 'scheme'> {\n children: React.ReactNode\n}\n\ntype LayoutProps = {\n $bg: string\n $fontFamily: string\n}\nconst Layout = styled.div<LayoutProps>`\n font-family: ${({$fontFamily}) => $fontFamily};\n background-color: ${({$bg}: any) => $bg};\n height: 100vh;\n max-height: 100dvh;\n overscroll-behavior: none;\n -webkit-font-smoothing: antialiased;\n overflow: auto;\n`\n\nconst NextStudioLayoutComponent = ({\n children,\n config,\n scheme = 'light',\n}: NextStudioLayoutProps) => {\n const theme = useTheme(config)\n\n return (\n <Layout\n data-ui=\"NextStudioLayout\"\n $fontFamily={theme.fonts.text.family}\n $bg={theme.color[scheme].default.base.bg}\n >\n {children}\n </Layout>\n )\n}\n\n/** @alpha */\nexport const NextStudioLayout = memo(NextStudioLayoutComponent)\n","import {memo} from 'react'\nimport {Studio, type StudioProps} from 'sanity'\n\nimport {NextStudioClientOnly} from './NextStudioClientOnly'\nimport {NextStudioLayout} from './NextStudioLayout'\nimport {NextStudioLoading, type NextStudioLoadingProps} from './NextStudioLoading'\n\nexport type {NextStudioLoadingProps}\n\n/** @beta */\nexport interface NextStudioProps extends StudioProps {\n children?: React.ReactNode\n /**\n * Render the <noscript> tag\n * @defaultValue true\n * @alpha\n */\n unstable__noScript?: NextStudioLoadingProps['unstable__noScript']\n}\n/**\n * Intended to render at the root of a page, letting the Studio own that page and render much like it would if you used `npx sanity start` to render\n * It's a drop-in replacement for `import {Studio} from 'sanity'`\n */\nconst NextStudioComponent = ({\n children,\n config,\n unstable__noScript,\n scheme,\n ...props\n}: NextStudioProps) => (\n <NextStudioClientOnly\n fallback={\n <NextStudioLoading\n unstable__noScript={unstable__noScript}\n config={config}\n scheme={scheme}\n />\n }\n >\n <NextStudioLayout config={config} scheme={scheme}>\n {children || <Studio config={config} scheme={scheme} unstable_globalStyles {...props} />}\n </NextStudioLayout>\n </NextStudioClientOnly>\n)\n\n/**\n * Override how the Studio renders by passing children.\n * This is useful for advanced use cases where you're using StudioProvider and StudioLayout instead of Studio:\n * ```\n * import {StudioProvider, StudioLayout} from 'sanity'\n * import {NextStudio} from 'next-sanity/studio'\n * <NextStudio config={config}>\n * <StudioProvider config={config}>\n * <CustomComponentThatUsesContextFromStudioProvider />\n * <StudioLayout />\n * </StudioProvider>\n * </NextStudio>\n * ```\n * @beta\n */\nexport const NextStudio = memo(NextStudioComponent)\n","/* eslint-disable @typescript-eslint/no-empty-function */\nimport type {ThemeColorSchemeKey} from '@sanity/ui'\nimport {useSyncExternalStore} from 'react'\n\nfunction createStore() {\n if (typeof document === 'undefined') {\n return {\n subscribe: () => () => {},\n getSnapshot: () => 'light' as const,\n getServerSnapshot: () => 'light' as const,\n }\n }\n\n const matchMedia = window.matchMedia('(prefers-color-scheme: dark)')\n\n return {\n subscribe: (onStoreChange: () => void) => {\n matchMedia.addEventListener('change', onStoreChange)\n return () => matchMedia.removeEventListener('change', onStoreChange)\n },\n getSnapshot: () => (matchMedia.matches ? 'dark' : 'light'),\n getServerSnapshot: () => 'light' as const,\n }\n}\nconst store = createStore()\n\n/** @alpha */\nexport function usePrefersColorScheme(): ThemeColorSchemeKey {\n return useSyncExternalStore(store.subscribe, store.getSnapshot, store.getServerSnapshot)\n}\n"],"names":["NextStudioClientOnly","children","fallback","mounted","setMounted","useState","useEffect","startTransition","jsx","Fragment","Layout","styled","div","$fontFamily","$bg","NextStudioLayoutComponent","config","scheme","theme","useTheme","fonts","text","family","color","default","base","bg","NextStudioLayout","memo","NextStudioComponent","unstable__noScript","props","NextStudioLoading","Studio","unstable_globalStyles","NextStudio","createStore","document","subscribe","getSnapshot","getServerSnapshot","matchMedia","window","onStoreChange","addEventListener","removeEventListener","matches","store","usePrefersColorScheme","useSyncExternalStore"],"mappings":";;;;;;;;AASO,SAASA,oBAAqB,OAAiD;EAAA,IAAjD;IAACC,QAAU;IAAAC;GAAsC;EACpF,MAAM,CAACC,OAAA,EAASC,UAAU,CAAA,GAAIC,SAAS,KAAK,CAAA;EAClCC,SAAA,CAAA,MAAMC,gBAAgB,MAAMH,UAAA,CAAW,IAAI,CAAC,CAAA,EAAG,EAAE,CAAA;EAEpD,OAAA,eAAAI,GAAA,CAAAC,QAAA,EAAA;IAAGR,QAAU,EAAAE,OAAA,GAAAF,QAAA,GAAWC;EAAS,CAAA,CAAA;AAC1C;ACEA,MAAMQ,SAASC,MAAO,CAAAC,GAAA,2PACL;EAAA,IAAC;IAACC;EAAiB,CAAA;EAAA,OAAAA,WAAA;AAAA,GACd;EAAA,IAAC;IAACC;EAAc,CAAA;EAAA,OAAAA,GAAA;AAAA,EAAA;AAQtC,MAAMC,4BAA4B,SAIL;EAAA,IAJM;IACjCd,QAAA;IACAe,MAAA;IACAC,MAAS,GAAA;EACX,CAA6B;EACrB,MAAAC,KAAA,GAAQC,SAASH,MAAM,CAAA;EAG3B,sBAAAR,GAAA,CAACE,MAAA,EAAA;IACC,SAAQ,EAAA,kBAAA;IACRG,WAAA,EAAaK,KAAM,CAAAE,KAAA,CAAMC,IAAK,CAAAC,MAAA;IAC9BR,KAAKI,KAAM,CAAAK,KAAA,CAAMN,MAAM,CAAA,CAAEO,QAAQC,IAAK,CAAAC,EAAA;IAErCzB;EAAA,CAAA,CACH;AAEJ,CAAA;AAGa,MAAA0B,gBAAA,GAAmBC,KAAKb,yBAAyB,CAAA;ACtB9D,MAAMc,sBAAsB;EAAA,IAAC;IAC3B5B,QAAA;IACAe,MAAA;IACAc,kBAAA;IACAb,MAAA;IACA,GAAGc;EACL,CACE;EAAA,sBAAAvB,GAAA,CAACR,oBAAA,EAAA;IACCE,QACE,iBAAAM,GAAA,CAACwB,iBAAA,EAAA;MACCF,kBAAA;MACAd,MAAA;MACAC;IAAA,CAAA,CACF;IAGFhB,QAAC,EAAA,eAAAO,GAAA,CAAAmB,gBAAA,EAAA;MAAiBX,MAAgB;MAAAC,MAAA;MAC/BhB,QAAY,EAAAA,QAAA,IAAA,eAAAO,GAAA,CAACyB,MAAO,EAAA;QAAAjB,MAAA;QAAgBC,MAAgB;QAAAiB,qBAAA,EAAqB,IAAE;QAAA,GAAGH;MAAO,CAAA;KACxF;EAAA,CAAA,CACF;AAAA;AAkBW,MAAAI,UAAA,GAAaP,KAAKC,mBAAmB,CAAA;ACxDlD,SAASO,WAAc,GAAA;EACjB,IAAA,OAAOC,aAAa,WAAa,EAAA;IAC5B,OAAA;MACLC,SAAA,EAAW,MAAM,MAAM,CAAC,CAAA;MACxBC,aAAa,MAAM,OAAA;MACnBC,mBAAmB,MAAM;IAAA,CAC3B;EACF;EAEM,MAAAC,UAAA,GAAaC,MAAO,CAAAD,UAAA,CAAW,8BAA8B,CAAA;EAE5D,OAAA;IACLH,SAAA,EAAYK,aAA8B,IAAA;MAC7BF,UAAA,CAAAG,gBAAA,CAAiB,UAAUD,aAAa,CAAA;MACnD,OAAO,MAAMF,UAAA,CAAWI,mBAAoB,CAAA,QAAA,EAAUF,aAAa,CAAA;IACrE,CAAA;IACAJ,WAAa,EAAA,MAAOE,UAAW,CAAAK,OAAA,GAAU,MAAS,GAAA,OAAA;IAClDN,mBAAmB,MAAM;EAAA,CAC3B;AACF;AACA,MAAMO,QAAQX,WAAY,EAAA;AAGnB,SAASY,qBAA6C,GAAA;EAC3D,OAAOC,qBAAqBF,KAAM,CAAAT,SAAA,EAAWS,KAAM,CAAAR,WAAA,EAAaQ,MAAMP,iBAAiB,CAAA;AACzF;"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var NextStudioLoading = require('../_chunks/NextStudioLoading-bf57e61a.cjs');
|
|
7
|
+
exports.NextStudioLoading = NextStudioLoading.NextStudioLoading;
|
|
8
|
+
//# sourceMappingURL=loading.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loading.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
|
|
3
|
+
import type {Config} from 'sanity'
|
|
4
|
+
import type {SingleWorkspace} from 'sanity'
|
|
5
|
+
import type {StudioProps} from 'sanity'
|
|
6
|
+
|
|
7
|
+
export declare function NextStudioLoading(props: NextStudioLoadingProps): JSX.Element
|
|
8
|
+
|
|
9
|
+
/** @alpha */
|
|
10
|
+
export declare interface NextStudioLoadingProps extends Pick<StudioProps, 'scheme'> {
|
|
11
|
+
/**
|
|
12
|
+
* If your Studio Config has a custom theme you can pass it here to ensure the loading screen matches your theme.
|
|
13
|
+
*/
|
|
14
|
+
config?: Config | Required<Pick<SingleWorkspace, 'theme'>>
|
|
15
|
+
/**
|
|
16
|
+
* Render the <noscript> tag
|
|
17
|
+
* @defaultValue true
|
|
18
|
+
* @alpha
|
|
19
|
+
*/
|
|
20
|
+
unstable__noScript?: boolean
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export {}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loading.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|