next-sanity 4.1.8 → 4.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +31 -36
- package/dist/_chunks/{NextStudioLoading-8cf56cdf.js → NextStudioLoading-2003f32a.js} +4 -4
- package/dist/_chunks/NextStudioLoading-2003f32a.js.map +1 -0
- package/dist/_chunks/{NextStudioLoading-bf57e61a.cjs → NextStudioLoading-225bb240.cjs} +4 -4
- package/dist/_chunks/NextStudioLoading-225bb240.cjs.map +1 -0
- package/dist/studio/head.cjs.map +1 -1
- package/dist/studio/head.d.ts +1 -0
- package/dist/studio/head.js.map +1 -1
- package/dist/studio/index.cjs +33 -16
- package/dist/studio/index.cjs.map +1 -1
- package/dist/studio/index.d.ts +19 -3
- package/dist/studio/index.js +35 -19
- package/dist/studio/index.js.map +1 -1
- package/dist/studio/loading.cjs +1 -1
- package/dist/studio/loading.d.ts +4 -1
- package/dist/studio/loading.js +1 -1
- package/dist/studio/metadata.cjs +13 -0
- package/dist/studio/metadata.cjs.js +5 -0
- package/dist/studio/metadata.cjs.map +1 -0
- package/dist/studio/metadata.d.ts +43 -0
- package/dist/studio/metadata.js +8 -0
- package/dist/studio/metadata.js.map +1 -0
- package/package.json +17 -3
- package/src/studio/NextStudio.tsx +47 -19
- package/src/studio/NextStudioLayout.tsx +1 -1
- package/src/studio/NextStudioLoading.tsx +11 -4
- package/src/studio/head/NextStudioHead.tsx +1 -0
- package/src/studio/metadata.ts +44 -0
- package/dist/_chunks/NextStudioLoading-8cf56cdf.js.map +0 -1
- package/dist/_chunks/NextStudioLoading-bf57e61a.cjs.map +0 -1
package/README.md
CHANGED
|
@@ -570,54 +570,49 @@ In routes that load `NextStudio` ensure you have `'use client'` at the top of yo
|
|
|
570
570
|
`app/studio/[[...index]]/page.tsx`:
|
|
571
571
|
|
|
572
572
|
```tsx
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
import {NextStudio} from 'next-sanity/studio'
|
|
573
|
+
import {Studio} from './Studio'
|
|
576
574
|
|
|
577
|
-
|
|
575
|
+
// Set the right `viewport`, `robots` and `referer` meta tags
|
|
576
|
+
export {metadata} from 'next-sanity/studio/metadata'
|
|
578
577
|
|
|
579
578
|
export default function StudioPage() {
|
|
580
|
-
|
|
581
|
-
return <NextStudio config={config} />
|
|
579
|
+
return <Studio />
|
|
582
580
|
}
|
|
583
581
|
```
|
|
584
582
|
|
|
585
|
-
|
|
586
|
-
`app/studio/[[...index]]/head.tsx`:
|
|
583
|
+
`app/studio/[[...index]]/Studio.tsx`:
|
|
587
584
|
|
|
588
585
|
```tsx
|
|
589
|
-
|
|
590
|
-
export {NextStudioHead as default} from 'next-sanity/studio/head'
|
|
586
|
+
'use client'
|
|
591
587
|
|
|
592
|
-
|
|
593
|
-
import {NextStudioHead} from 'next-sanity/studio/head'
|
|
588
|
+
import {NextStudio} from 'next-sanity/studio'
|
|
594
589
|
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
rel="icon"
|
|
601
|
-
type="image/png"
|
|
602
|
-
sizes="32x32"
|
|
603
|
-
href="https://www.sanity.io/static/images/favicons/favicon-32x32.png"
|
|
604
|
-
/>
|
|
605
|
-
</>
|
|
606
|
-
)
|
|
590
|
+
import config from '../../../sanity.config'
|
|
591
|
+
|
|
592
|
+
export function Studio() {
|
|
593
|
+
// Supports the same props as `import {Studio} from 'sanity'`, `config` is required
|
|
594
|
+
return <NextStudio config={config} />
|
|
607
595
|
}
|
|
608
596
|
```
|
|
609
597
|
|
|
610
|
-
|
|
611
|
-
`app/studio/[[...index]]/
|
|
598
|
+
Customize meta tags
|
|
599
|
+
`app/studio/[[...index]]/page.tsx`:
|
|
612
600
|
|
|
613
601
|
```tsx
|
|
614
|
-
|
|
602
|
+
import type {Metadata} from 'next'
|
|
603
|
+
import {metadata as studioMetadata} from 'next-sanity/studio/metadata'
|
|
615
604
|
|
|
616
|
-
import
|
|
617
|
-
import {NextStudioLoading} from 'next-sanity/studio/loading'
|
|
605
|
+
import {Studio} from './Studio'
|
|
618
606
|
|
|
619
|
-
|
|
620
|
-
|
|
607
|
+
// Set the right `viewport`, `robots` and `referer` meta tags
|
|
608
|
+
export const metadata: Metadata = {
|
|
609
|
+
...studioMetadata,
|
|
610
|
+
// Overrides the viewport to resize behavior
|
|
611
|
+
viewport: `${studioMetadata.viewport}, interactive-widget=resizes-content`,
|
|
612
|
+
}
|
|
613
|
+
|
|
614
|
+
export default function StudioPage() {
|
|
615
|
+
return <Studio />
|
|
621
616
|
}
|
|
622
617
|
```
|
|
623
618
|
|
|
@@ -628,17 +623,17 @@ Using just `NextStudio` gives you a fully working Sanity Studio v3. However we r
|
|
|
628
623
|
`/pages/studio/[[...index]].tsx`:
|
|
629
624
|
|
|
630
625
|
```tsx
|
|
631
|
-
import Head from 'next/head'
|
|
632
|
-
import {NextStudio} from 'next-sanity/studio'
|
|
633
|
-
import {NextStudioHead} from 'next-sanity/studio/head'
|
|
634
|
-
|
|
635
626
|
import config from '../../sanity.config'
|
|
627
|
+
import Head from 'next/head'
|
|
628
|
+
import {NextStudio, metadata} from 'next-sanity/studio'
|
|
636
629
|
|
|
637
630
|
export default function StudioPage() {
|
|
638
631
|
return (
|
|
639
632
|
<>
|
|
640
633
|
<Head>
|
|
641
|
-
|
|
634
|
+
{Object.entries(metadata).map(([key, value]) => (
|
|
635
|
+
<meta key={key} name={key} content={value} />
|
|
636
|
+
))}
|
|
642
637
|
</Head>
|
|
643
638
|
<NextStudio config={config} />
|
|
644
639
|
</>
|
|
@@ -53,7 +53,7 @@ function NextStudioLoading(props) {
|
|
|
53
53
|
wrapper: {
|
|
54
54
|
display: "block",
|
|
55
55
|
animation: "".concat(id, " 500ms linear infinite"),
|
|
56
|
-
color: theme.color[scheme].default.muted.default.enabled.muted.fg,
|
|
56
|
+
color: theme.color[scheme === "dark" ? "dark" : "light"].default.muted.default.enabled.muted.fg,
|
|
57
57
|
width: rem(capHeight),
|
|
58
58
|
height: rem(capHeight)
|
|
59
59
|
},
|
|
@@ -69,7 +69,7 @@ function NextStudioLoading(props) {
|
|
|
69
69
|
children: [unstable__noScript && /* @__PURE__ */jsx(NextStudioNoScript, {}), /* @__PURE__ */jsx("div", {
|
|
70
70
|
style: {
|
|
71
71
|
fontFamily: fonts.text.family,
|
|
72
|
-
backgroundColor: theme.color[scheme].default.base.bg,
|
|
72
|
+
backgroundColor: theme.color[scheme === "dark" ? "dark" : "light"].default.base.bg,
|
|
73
73
|
height: "100vh",
|
|
74
74
|
maxHeight: "100dvh",
|
|
75
75
|
overscrollBehavior: "none",
|
|
@@ -107,7 +107,7 @@ function NextStudioLoading(props) {
|
|
|
107
107
|
lineHeight: "calc(1.3125)",
|
|
108
108
|
// @TODO use rem calc
|
|
109
109
|
transform: "translateY(-5px)",
|
|
110
|
-
color: theme.color[scheme].default.muted.default.enabled.muted.fg
|
|
110
|
+
color: theme.color[scheme === "dark" ? "dark" : "light"].default.muted.default.enabled.muted.fg
|
|
111
111
|
},
|
|
112
112
|
children: /* @__PURE__ */jsx("span", {
|
|
113
113
|
children: "Loading\u2026"
|
|
@@ -124,4 +124,4 @@ function NextStudioLoading(props) {
|
|
|
124
124
|
});
|
|
125
125
|
}
|
|
126
126
|
export { NextStudioLoading, NextStudioNoScript, useTheme };
|
|
127
|
-
//# sourceMappingURL=NextStudioLoading-
|
|
127
|
+
//# sourceMappingURL=NextStudioLoading-2003f32a.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NextStudioLoading-2003f32a.js","sources":["../../src/studio/useTheme.ts","../../src/studio/NextStudioNoScript.tsx","../../src/studio/NextStudioLoading.tsx"],"sourcesContent":["import {studioTheme} from '@sanity/ui'\nimport {useMemo} from 'react'\nimport type {Config, SingleWorkspace, StudioTheme} from 'sanity'\n\n/** @alpha */\nexport function useTheme(\n config?: Config | Required<Pick<SingleWorkspace, 'theme'>>\n): StudioTheme {\n const workspace = useMemo<\n SingleWorkspace | Required<Pick<SingleWorkspace, 'theme'>> | undefined\n >(() => (Array.isArray(config) ? config[0] : config), [config])\n return useMemo<StudioTheme>(() => workspace?.theme || studioTheme, [workspace])\n}\n","/* eslint-disable react/no-danger */\n\nconst style = {\n __html: `\n.sanity-app-no-js__root {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n bottom: 0;\n background: #fff;\n z-index: 1;\n}\n\n.sanity-app-no-js__content {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n text-align: center;\n font-family: helvetica, arial, sans-serif;\n}\n`,\n} as const\n\n/** @alpha */\nexport const NextStudioNoScript = () => (\n <noscript>\n <div className=\"sanity-app-no-js__root\">\n <div className=\"sanity-app-no-js__content\">\n <style type=\"text/css\" dangerouslySetInnerHTML={style} />\n <h1>JavaScript disabled</h1>\n <p>\n Please <a href=\"https://www.enable-javascript.com/\">enable JavaScript</a> in your\n browser and reload the page to proceed.\n </p>\n </div>\n </div>\n </noscript>\n)\n","/* eslint-disable no-warning-comments */\n// Intentionally not using `styled-components` to ensure it works in any `next` setup.\n// Whether 'styled-components' SSR is setup or not.\n\nimport {SpinnerIcon} from '@sanity/icons'\nimport {_responsive, rem} from '@sanity/ui'\nimport type {Config, SingleWorkspace, StudioProps} from 'sanity'\n\nimport {NextStudioNoScript} from './NextStudioNoScript'\nimport {useTheme} from './useTheme'\n\n/**\n * @alpha\n * @deprecated Will be removed in the next major release\n */\nexport interface NextStudioLoadingProps extends Pick<StudioProps, 'scheme'> {\n /**\n * If your Studio Config has a custom theme you can pass it here to ensure the loading screen matches your theme.\n */\n config?: Config | Required<Pick<SingleWorkspace, 'theme'>>\n /**\n * Render the <noscript> tag\n * @defaultValue true\n * @alpha\n */\n unstable__noScript?: boolean\n}\n\nconst keyframes = `\nfrom {\n transform: rotate(0deg);\n}\n\nto {\n transform: rotate(360deg);\n}\n`\n\nexport function NextStudioLoading(props: NextStudioLoadingProps) {\n const {config, scheme = 'light', unstable__noScript = true} = props\n const id = 'next-sanity-spinner'\n const theme = useTheme(config)\n const {fonts, media} = theme\n\n const styles: any = _responsive(media, [2], (size: number) => {\n const {ascenderHeight, descenderHeight, lineHeight, iconSize} = fonts.text.sizes[size]\n const capHeight = lineHeight - ascenderHeight - descenderHeight\n\n return {\n wrapper: {\n display: 'block',\n animation: `${id} 500ms linear infinite`,\n color:\n theme.color[scheme === 'dark' ? 'dark' : 'light'].default.muted.default.enabled.muted\n .fg,\n width: rem(capHeight),\n height: rem(capHeight),\n },\n svg: {\n display: 'block',\n width: rem(iconSize),\n height: rem(iconSize),\n margin: (capHeight - iconSize) / 2,\n },\n }\n })[0]\n\n return (\n <>\n {unstable__noScript && <NextStudioNoScript />}\n <div\n style={{\n fontFamily: fonts.text.family,\n backgroundColor: theme.color[scheme === 'dark' ? 'dark' : 'light'].default.base.bg,\n height: '100vh',\n maxHeight: '100dvh',\n overscrollBehavior: 'none',\n WebkitFontSmoothing: 'antialiased',\n overflow: 'auto',\n }}\n >\n <div\n data-ui=\"Flex\"\n style={{\n display: 'flex',\n minWidth: 0,\n minHeight: 0,\n alignItems: 'center',\n justifyContent: 'center',\n flexDirection: 'column',\n height: '100%',\n margin: 0,\n padding: 0,\n // @TODO use rem calc\n gap: '10px',\n }}\n >\n <style key={scheme}>{`@keyframes ${id} {${keyframes}}`}</style>\n <div\n data-ui=\"Text\"\n style={{\n position: 'relative',\n // @TODO read from theme\n fontWeight: 400,\n // @TODO read from theme\n padding: '1px 0px',\n // @TODO use rem calc\n fontSize: '1rem',\n // @TODO use rem calc\n lineHeight: 'calc(1.3125)',\n // @TODO use rem calc\n transform: 'translateY(-5px)',\n color:\n theme.color[scheme === 'dark' ? 'dark' : 'light'].default.muted.default.enabled\n .muted.fg,\n }}\n >\n <span>Loading…</span>\n </div>\n <div data-ui=\"Spinner\" style={styles.wrapper}>\n <SpinnerIcon style={styles.svg} />\n </div>\n </div>\n </div>\n </>\n )\n}\n"],"names":["useTheme","config","workspace","useMemo","Array","isArray","theme","studioTheme","style","__html","NextStudioNoScript","jsx","children","className","jsxs","type","dangerouslySetInnerHTML","href","keyframes","NextStudioLoading","props","scheme","unstable__noScript","id","fonts","media","styles","_responsive","size","ascenderHeight","descenderHeight","lineHeight","iconSize","text","sizes","capHeight","wrapper","display","animation","color","default","muted","enabled","fg","width","rem","height","svg","margin","Fragment","fontFamily","family","backgroundColor","base","bg","maxHeight","overscrollBehavior","WebkitFontSmoothing","overflow","minWidth","minHeight","alignItems","justifyContent","flexDirection","padding","gap","concat","position","fontWeight","fontSize","transform","SpinnerIcon"],"mappings":"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"}
|
|
@@ -55,7 +55,7 @@ function NextStudioLoading(props) {
|
|
|
55
55
|
wrapper: {
|
|
56
56
|
display: "block",
|
|
57
57
|
animation: "".concat(id, " 500ms linear infinite"),
|
|
58
|
-
color: theme.color[scheme].default.muted.default.enabled.muted.fg,
|
|
58
|
+
color: theme.color[scheme === "dark" ? "dark" : "light"].default.muted.default.enabled.muted.fg,
|
|
59
59
|
width: ui.rem(capHeight),
|
|
60
60
|
height: ui.rem(capHeight)
|
|
61
61
|
},
|
|
@@ -71,7 +71,7 @@ function NextStudioLoading(props) {
|
|
|
71
71
|
children: [unstable__noScript && /* @__PURE__ */jsxRuntime.jsx(NextStudioNoScript, {}), /* @__PURE__ */jsxRuntime.jsx("div", {
|
|
72
72
|
style: {
|
|
73
73
|
fontFamily: fonts.text.family,
|
|
74
|
-
backgroundColor: theme.color[scheme].default.base.bg,
|
|
74
|
+
backgroundColor: theme.color[scheme === "dark" ? "dark" : "light"].default.base.bg,
|
|
75
75
|
height: "100vh",
|
|
76
76
|
maxHeight: "100dvh",
|
|
77
77
|
overscrollBehavior: "none",
|
|
@@ -109,7 +109,7 @@ function NextStudioLoading(props) {
|
|
|
109
109
|
lineHeight: "calc(1.3125)",
|
|
110
110
|
// @TODO use rem calc
|
|
111
111
|
transform: "translateY(-5px)",
|
|
112
|
-
color: theme.color[scheme].default.muted.default.enabled.muted.fg
|
|
112
|
+
color: theme.color[scheme === "dark" ? "dark" : "light"].default.muted.default.enabled.muted.fg
|
|
113
113
|
},
|
|
114
114
|
children: /* @__PURE__ */jsxRuntime.jsx("span", {
|
|
115
115
|
children: "Loading\u2026"
|
|
@@ -128,4 +128,4 @@ function NextStudioLoading(props) {
|
|
|
128
128
|
exports.NextStudioLoading = NextStudioLoading;
|
|
129
129
|
exports.NextStudioNoScript = NextStudioNoScript;
|
|
130
130
|
exports.useTheme = useTheme;
|
|
131
|
-
//# sourceMappingURL=NextStudioLoading-
|
|
131
|
+
//# sourceMappingURL=NextStudioLoading-225bb240.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NextStudioLoading-225bb240.cjs","sources":["../../src/studio/useTheme.ts","../../src/studio/NextStudioNoScript.tsx","../../src/studio/NextStudioLoading.tsx"],"sourcesContent":["import {studioTheme} from '@sanity/ui'\nimport {useMemo} from 'react'\nimport type {Config, SingleWorkspace, StudioTheme} from 'sanity'\n\n/** @alpha */\nexport function useTheme(\n config?: Config | Required<Pick<SingleWorkspace, 'theme'>>\n): StudioTheme {\n const workspace = useMemo<\n SingleWorkspace | Required<Pick<SingleWorkspace, 'theme'>> | undefined\n >(() => (Array.isArray(config) ? config[0] : config), [config])\n return useMemo<StudioTheme>(() => workspace?.theme || studioTheme, [workspace])\n}\n","/* eslint-disable react/no-danger */\n\nconst style = {\n __html: `\n.sanity-app-no-js__root {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n bottom: 0;\n background: #fff;\n z-index: 1;\n}\n\n.sanity-app-no-js__content {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n text-align: center;\n font-family: helvetica, arial, sans-serif;\n}\n`,\n} as const\n\n/** @alpha */\nexport const NextStudioNoScript = () => (\n <noscript>\n <div className=\"sanity-app-no-js__root\">\n <div className=\"sanity-app-no-js__content\">\n <style type=\"text/css\" dangerouslySetInnerHTML={style} />\n <h1>JavaScript disabled</h1>\n <p>\n Please <a href=\"https://www.enable-javascript.com/\">enable JavaScript</a> in your\n browser and reload the page to proceed.\n </p>\n </div>\n </div>\n </noscript>\n)\n","/* eslint-disable no-warning-comments */\n// Intentionally not using `styled-components` to ensure it works in any `next` setup.\n// Whether 'styled-components' SSR is setup or not.\n\nimport {SpinnerIcon} from '@sanity/icons'\nimport {_responsive, rem} from '@sanity/ui'\nimport type {Config, SingleWorkspace, StudioProps} from 'sanity'\n\nimport {NextStudioNoScript} from './NextStudioNoScript'\nimport {useTheme} from './useTheme'\n\n/**\n * @alpha\n * @deprecated Will be removed in the next major release\n */\nexport interface NextStudioLoadingProps extends Pick<StudioProps, 'scheme'> {\n /**\n * If your Studio Config has a custom theme you can pass it here to ensure the loading screen matches your theme.\n */\n config?: Config | Required<Pick<SingleWorkspace, 'theme'>>\n /**\n * Render the <noscript> tag\n * @defaultValue true\n * @alpha\n */\n unstable__noScript?: boolean\n}\n\nconst keyframes = `\nfrom {\n transform: rotate(0deg);\n}\n\nto {\n transform: rotate(360deg);\n}\n`\n\nexport function NextStudioLoading(props: NextStudioLoadingProps) {\n const {config, scheme = 'light', unstable__noScript = true} = props\n const id = 'next-sanity-spinner'\n const theme = useTheme(config)\n const {fonts, media} = theme\n\n const styles: any = _responsive(media, [2], (size: number) => {\n const {ascenderHeight, descenderHeight, lineHeight, iconSize} = fonts.text.sizes[size]\n const capHeight = lineHeight - ascenderHeight - descenderHeight\n\n return {\n wrapper: {\n display: 'block',\n animation: `${id} 500ms linear infinite`,\n color:\n theme.color[scheme === 'dark' ? 'dark' : 'light'].default.muted.default.enabled.muted\n .fg,\n width: rem(capHeight),\n height: rem(capHeight),\n },\n svg: {\n display: 'block',\n width: rem(iconSize),\n height: rem(iconSize),\n margin: (capHeight - iconSize) / 2,\n },\n }\n })[0]\n\n return (\n <>\n {unstable__noScript && <NextStudioNoScript />}\n <div\n style={{\n fontFamily: fonts.text.family,\n backgroundColor: theme.color[scheme === 'dark' ? 'dark' : 'light'].default.base.bg,\n height: '100vh',\n maxHeight: '100dvh',\n overscrollBehavior: 'none',\n WebkitFontSmoothing: 'antialiased',\n overflow: 'auto',\n }}\n >\n <div\n data-ui=\"Flex\"\n style={{\n display: 'flex',\n minWidth: 0,\n minHeight: 0,\n alignItems: 'center',\n justifyContent: 'center',\n flexDirection: 'column',\n height: '100%',\n margin: 0,\n padding: 0,\n // @TODO use rem calc\n gap: '10px',\n }}\n >\n <style key={scheme}>{`@keyframes ${id} {${keyframes}}`}</style>\n <div\n data-ui=\"Text\"\n style={{\n position: 'relative',\n // @TODO read from theme\n fontWeight: 400,\n // @TODO read from theme\n padding: '1px 0px',\n // @TODO use rem calc\n fontSize: '1rem',\n // @TODO use rem calc\n lineHeight: 'calc(1.3125)',\n // @TODO use rem calc\n transform: 'translateY(-5px)',\n color:\n theme.color[scheme === 'dark' ? 'dark' : 'light'].default.muted.default.enabled\n .muted.fg,\n }}\n >\n <span>Loading…</span>\n </div>\n <div data-ui=\"Spinner\" style={styles.wrapper}>\n <SpinnerIcon style={styles.svg} />\n </div>\n </div>\n </div>\n </>\n )\n}\n"],"names":["useTheme","config","workspace","useMemo","Array","isArray","theme","studioTheme","style","__html","NextStudioNoScript","jsx","children","className","jsxs","type","dangerouslySetInnerHTML","href","keyframes","NextStudioLoading","props","scheme","unstable__noScript","id","fonts","media","styles","_responsive","size","ascenderHeight","descenderHeight","lineHeight","iconSize","text","sizes","capHeight","wrapper","display","animation","color","default","muted","enabled","fg","width","rem","height","svg","margin","Fragment","fontFamily","family","backgroundColor","base","bg","maxHeight","overscrollBehavior","WebkitFontSmoothing","overflow","minWidth","minHeight","alignItems","justifyContent","flexDirection","padding","gap","concat","position","fontWeight","fontSize","transform","SpinnerIcon"],"mappings":"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"}
|
package/dist/studio/head.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"head.cjs","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,UAAA,CAAAA,IAAA,CAAAC,mBAAA,EAAA;IAAAC,QAAA,EAAA,CAAWR,OAAA,IAAAS,eAAAA,UAAAA,CAAAA,GAAA,CAAC,MAAmB,EAAA;MAAAT;IAAA,CAAA,EAAV,SAA4B,CAAA,EACjDC,QACC,mBAAAQ,UAAA,CAAAA,GAAA,CAAC,MAAA,EAAA;MAECC,IAAK,EAAA,UAAA;MAELC,OAAQ,EAAA;IAAA,CAAA,EAHJ,UAAA,CAIN,EAEDT,UAAWO,eAAAA,UAAAA,CAAAA,GAAA,CAAA,MAAA,EAAA;MAAkBC,MAAK,QAAS;MAAAC,OAAA,EAAST;OAAhC,QAAwC,CAAA,EAC5DC,YAAaM,eAAAA,UAAAA,CAAAA,GAAA,CAAA,MAAA,EAAA;MAAoBC,MAAK,UAAW;MAAAC,OAAA,EAASR;OAApC,UAA8C,CAAA,EACpEE,KAAA,IAAUI,eAAAA,UAAAA,CAAAA,GAAA,CAAA,OAAA,EAAA;MAAOD,QAAM,EAAAH;IAAA,CAAA,CAAA,EACvBD,QAAA,kCAAa,MAAuB,EAAA;MAAAQ,GAAA,EAAI;MAAOC,IAAM,EAAAjB,UAAA;MAAYkB,KAAM,EAAA;IAAA,CAAA,EAAjD,aAAuD,CAAA,EAC7EV,YAAaK,eAAAA,UAAAA,CAAAA,GAAA,CAAA,MAAA,EAAA;MAAgCG,KAAI,kBAAmB;MAAAC,IAAA,EAAMlB;OAApD,sBAAgE,CAAA,EACtFS,QAAA,kCAAa,MAAuB,EAAA;MAAAQ,GAAA,EAAI;MAAOC,IAAM,EAAAhB,UAAA;MAAYkB,IAAK,EAAA;IAAA,CAAA,EAAhD,aAAgE,CAAA;EACzF,CAAA,CAAA;AAEJ;"}
|
|
1
|
+
{"version":3,"file":"head.cjs","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,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==\"","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 * @deprecated Use `import {metadata} from 'next-sanity/studio'` instead, this component will be removed in the next major release.\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;AA6E9C,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,UAAA,CAAAA,IAAA,CAAAC,mBAAA,EAAA;IAAAC,QAAA,EAAA,CAAWR,OAAA,IAAAS,eAAAA,UAAAA,CAAAA,GAAA,CAAC,MAAmB,EAAA;MAAAT;IAAA,CAAA,EAAV,SAA4B,CAAA,EACjDC,QACC,mBAAAQ,UAAA,CAAAA,GAAA,CAAC,MAAA,EAAA;MAECC,IAAK,EAAA,UAAA;MAELC,OAAQ,EAAA;IAAA,CAAA,EAHJ,UAAA,CAIN,EAEDT,UAAWO,eAAAA,UAAAA,CAAAA,GAAA,CAAA,MAAA,EAAA;MAAkBC,MAAK,QAAS;MAAAC,OAAA,EAAST;OAAhC,QAAwC,CAAA,EAC5DC,YAAaM,eAAAA,UAAAA,CAAAA,GAAA,CAAA,MAAA,EAAA;MAAoBC,MAAK,UAAW;MAAAC,OAAA,EAASR;OAApC,UAA8C,CAAA,EACpEE,KAAA,IAAUI,eAAAA,UAAAA,CAAAA,GAAA,CAAA,OAAA,EAAA;MAAOD,QAAM,EAAAH;IAAA,CAAA,CAAA,EACvBD,QAAA,kCAAa,MAAuB,EAAA;MAAAQ,GAAA,EAAI;MAAOC,IAAM,EAAAjB,UAAA;MAAYkB,KAAM,EAAA;IAAA,CAAA,EAAjD,aAAuD,CAAA,EAC7EV,YAAaK,eAAAA,UAAAA,CAAAA,GAAA,CAAA,MAAA,EAAA;MAAgCG,KAAI,kBAAmB;MAAAC,IAAA,EAAMlB;OAApD,sBAAgE,CAAA,EACtFS,QAAA,kCAAa,MAAuB,EAAA;MAAAQ,GAAA,EAAI;MAAOC,IAAM,EAAAhB,UAAA;MAAYkB,IAAK,EAAA;IAAA,CAAA,EAAhD,aAAgE,CAAA;EACzF,CAAA,CAAA;AAEJ;"}
|
package/dist/studio/head.d.ts
CHANGED
package/dist/studio/head.js.map
CHANGED
|
@@ -1 +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;"}
|
|
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 * @deprecated Use `import {metadata} from 'next-sanity/studio'` instead, this component will be removed in the next major release.\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;AA6E9C,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;"}
|
package/dist/studio/index.cjs
CHANGED
|
@@ -9,7 +9,7 @@ var jsxRuntime = require('react/jsx-runtime');
|
|
|
9
9
|
var react = require('react');
|
|
10
10
|
var sanity = require('sanity');
|
|
11
11
|
var styled = require('styled-components');
|
|
12
|
-
var NextStudioLoading = require('../_chunks/NextStudioLoading-
|
|
12
|
+
var NextStudioLoading = require('../_chunks/NextStudioLoading-225bb240.cjs');
|
|
13
13
|
function _interopDefaultCompat(e) {
|
|
14
14
|
return e && typeof e === 'object' && 'default' in e ? e : {
|
|
15
15
|
default: e
|
|
@@ -48,7 +48,7 @@ const NextStudioLayoutComponent = _ref4 => {
|
|
|
48
48
|
return /* @__PURE__ */jsxRuntime.jsx(Layout, {
|
|
49
49
|
"data-ui": "NextStudioLayout",
|
|
50
50
|
$fontFamily: theme.fonts.text.family,
|
|
51
|
-
$bg: theme.color[scheme].default.base.bg,
|
|
51
|
+
$bg: theme.color[scheme === "dark" ? "dark" : "light"].default.base.bg,
|
|
52
52
|
children
|
|
53
53
|
});
|
|
54
54
|
};
|
|
@@ -57,26 +57,43 @@ const NextStudioComponent = _ref5 => {
|
|
|
57
57
|
let {
|
|
58
58
|
children,
|
|
59
59
|
config,
|
|
60
|
-
unstable__noScript,
|
|
60
|
+
unstable__noScript = true,
|
|
61
|
+
unstable__fastRender,
|
|
61
62
|
scheme,
|
|
62
63
|
...props
|
|
63
64
|
} = _ref5;
|
|
64
|
-
|
|
65
|
-
|
|
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, {
|
|
65
|
+
if (unstable__fastRender) {
|
|
66
|
+
return /* @__PURE__ */jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
67
|
+
children: [unstable__noScript && /* @__PURE__ */jsxRuntime.jsx(NextStudioLoading.NextStudioNoScript, {}), /* @__PURE__ */jsxRuntime.jsx(NextStudioLayout, {
|
|
74
68
|
config,
|
|
75
69
|
scheme,
|
|
76
|
-
|
|
77
|
-
|
|
70
|
+
children: children || /* @__PURE__ */jsxRuntime.jsx(sanity.Studio, {
|
|
71
|
+
config,
|
|
72
|
+
scheme,
|
|
73
|
+
unstable_globalStyles: true,
|
|
74
|
+
...props
|
|
75
|
+
})
|
|
76
|
+
})]
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
return /* @__PURE__ */jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
80
|
+
children: [unstable__noScript && /* @__PURE__ */jsxRuntime.jsx(NextStudioLoading.NextStudioNoScript, {}), /* @__PURE__ */jsxRuntime.jsx(NextStudioClientOnly, {
|
|
81
|
+
fallback: /* @__PURE__ */jsxRuntime.jsx(NextStudioLoading.NextStudioLoading, {
|
|
82
|
+
unstable__noScript,
|
|
83
|
+
config,
|
|
84
|
+
scheme
|
|
85
|
+
}),
|
|
86
|
+
children: /* @__PURE__ */jsxRuntime.jsx(NextStudioLayout, {
|
|
87
|
+
config,
|
|
88
|
+
scheme,
|
|
89
|
+
children: children || /* @__PURE__ */jsxRuntime.jsx(sanity.Studio, {
|
|
90
|
+
config,
|
|
91
|
+
scheme,
|
|
92
|
+
unstable_globalStyles: true,
|
|
93
|
+
...props
|
|
94
|
+
})
|
|
78
95
|
})
|
|
79
|
-
})
|
|
96
|
+
})]
|
|
80
97
|
});
|
|
81
98
|
};
|
|
82
99
|
const NextStudio = react.memo(NextStudioComponent);
|
|
@@ -1 +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
|
|
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 === 'dark' ? 'dark' : 'light'].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} from './NextStudioLoading'\nimport {NextStudioNoScript} from './NextStudioNoScript'\n\nexport type {NextStudioLoadingProps} from './NextStudioLoading'\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?: boolean\n /**\n * Render in a faster mode that requires `styled-components` SSR to be setup.\n * @defaultValue false\n * @alpha\n */\n unstable__fastRender?: boolean\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 = true,\n unstable__fastRender,\n scheme,\n ...props\n}: NextStudioProps) => {\n if (unstable__fastRender) {\n return (\n <>\n {unstable__noScript && <NextStudioNoScript />}\n <NextStudioLayout config={config} scheme={scheme}>\n {children || (\n <Studio config={config} scheme={scheme} unstable_globalStyles {...props} />\n )}\n </NextStudioLayout>\n </>\n )\n }\n\n return (\n <>\n {unstable__noScript && <NextStudioNoScript />}\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 || (\n <Studio config={config} scheme={scheme} unstable_globalStyles {...props} />\n )}\n </NextStudioLayout>\n </NextStudioClientOnly>\n </>\n )\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","_ref","children","fallback","mounted","setMounted","useState","useEffect","startTransition","jsx","Fragment","Layout","styled","default","div","_templateObject","_taggedTemplateLiteral","_ref2","$fontFamily","_ref3","$bg","NextStudioLayoutComponent","_ref4","config","scheme","theme","useTheme","fonts","text","family","color","base","bg","NextStudioLayout","memo","NextStudioComponent","_ref5","unstable__noScript","unstable__fastRender","props","jsxs","NextStudioNoScript","Studio","unstable_globalStyles","NextStudioLoading","NextStudio","createStore","document","subscribe","getSnapshot","getServerSnapshot","matchMedia","window","onStoreChange","addEventListener","removeEventListener","matches","store","usePrefersColorScheme","useSyncExternalStore"],"mappings":";;;;;;;;;;;;;;;;;;AASO,SAASA,oBAAqBA,CAAAC,IAAA,EAAiD;EAAA,IAAjD;IAACC,QAAU;IAAAC;GAAsC,GAAAF,IAAA;EACpF,MAAM,CAACG,OAAA,EAASC,UAAU,CAAA,GAAIC,eAAS,KAAK,CAAA;EAClCC,KAAA,CAAAA,SAAA,CAAA,MAAMC,KAAAA,CAAAA,gBAAgB,MAAMH,UAAA,CAAW,IAAI,CAAC,CAAA,EAAG,EAAE,CAAA;EAEpD,OAAAI,eAAAA,UAAAA,CAAAA,GAAA,CAAAC,UAAAA,CAAAA,QAAA,EAAA;IAAGR,QAAU,EAAAE,OAAA,GAAAF,QAAA,GAAWC;EAAS,CAAA,CAAA;AAC1C;ACEA,MAAMQ,SAASC,eAAO,CAAAC,OAAA,CAAAC,GAAA,CAAAC,eAAA,KAAAA,eAAA,GAAAC,sBAAA,8LACLC,KAAA;EAAA,IAAC;IAACC;EAAiB,CAAA,GAAAD,KAAA;EAAA,OAAAC,WAAA;AAAA,GACdC,KAAA;EAAA,IAAC;IAACC;EAAc,CAAA,GAAAD,KAAA;EAAA,OAAAC,GAAA;AAAA,EAAA;AAQtC,MAAMC,4BAA4BC,KAAA,IAIL;EAAA,IAJM;IACjCpB,QAAA;IACAqB,MAAA;IACAC,MAAS,GAAA;EACX,CAA6B,GAAAF,KAAA;EACrB,MAAAG,KAAA,GAAQC,2BAASH,MAAM,CAAA;EAG3B,sBAAAd,UAAA,CAAAA,GAAA,CAACE,MAAA,EAAA;IACC,SAAQ,EAAA,kBAAA;IACRO,WAAA,EAAaO,KAAM,CAAAE,KAAA,CAAMC,IAAK,CAAAC,MAAA;IAC9BT,GAAA,EAAKK,MAAMK,KAAM,CAAAN,MAAA,KAAW,SAAS,MAAS,GAAA,OAAO,CAAE,CAAAX,OAAA,CAAQkB,IAAK,CAAAC,EAAA;IAEnE9B;EAAA,CAAA,CACH;AAEJ,CAAA;AAGa,MAAA+B,gBAAA,GAAmBC,WAAKb,yBAAyB,CAAA;ACf9D,MAAMc,sBAAsBC,KAAA,IAOL;EAAA,IAPM;IAC3BlC,QAAA;IACAqB,MAAA;IACAc,kBAAqB,GAAA,IAAA;IACrBC,oBAAA;IACAd,MAAA;IACA,GAAGe;EACL,CAAuB,GAAAH,KAAA;EACrB,IAAIE,oBAAsB,EAAA;IACxB,sBAEKE,UAAA,CAAAA,IAAA,CAAA9B,mBAAA,EAAA;MAAAR,QAAA,EAAA,CAAAmC,kBAAA,kCAAuBI,iBAAmB,CAAAA,kBAAA,EAAA,EAAA,CAAA,EAAA,eAC1ChC,UAAA,CAAAA,GAAA,CAAAwB,gBAAA,EAAA;QAAiBV,MAAgB;QAAAC,MAAA;QAC/BtB,QACC,EAAAA,QAAA,mBAAAO,UAAA,CAAAA,GAAA,CAACiC,MAAO,CAAAA,MAAA,EAAA;UAAAnB,MAAA;UAAgBC,MAAgB;UAAAmB,qBAAA,EAAqB,IAAE;UAAA,GAAGJ;QAAO,CAAA;OAE7E,CAAA;IACF,CAAA,CAAA;EAEJ;EAEA,sBAEKC,UAAA,CAAAA,IAAA,CAAA9B,mBAAA,EAAA;IAAAR,QAAA,EAAA,CAAAmC,kBAAA,kCAAuBI,iBAAmB,CAAAA,kBAAA,EAAA,EAAA,CAAA,EAAA,eAC3ChC,UAAA,CAAAA,GAAA,CAACT,oBAAA,EAAA;MACCG,QACE,iBAAAM,UAAA,CAAAA,GAAA,CAACmC,iBAAA,CAAAA,iBAAA,EAAA;QACCP,kBAAA;QACAd,MAAA;QACAC;MAAA,CAAA,CACF;MAGFtB,QAAC,EAAA,eAAAO,UAAA,CAAAA,GAAA,CAAAwB,gBAAA,EAAA;QAAiBV,MAAgB;QAAAC,MAAA;QAC/BtB,QACC,EAAAA,QAAA,IAAAO,eAAAA,UAAAA,CAAAA,GAAA,CAACiC,MAAAA,CAAAA,MAAO,EAAA;UAAAnB,MAAA;UAAgBC,MAAgB;UAAAmB,qBAAA,EAAqB,IAAE;UAAA,GAAGJ;QAAO,CAAA;OAE7E;IAAA,CAAA,CACF;EACF,CAAA,CAAA;AAEJ,CAAA;AAiBa,MAAAM,UAAA,GAAaX,WAAKC,mBAAmB,CAAA;ACpFlD,SAASW,WAAcA,CAAA,EAAA;EACjB,IAAA,OAAOC,aAAa,WAAa,EAAA;IAC5B,OAAA;MACLC,SAAA,EAAWA,CAAA,KAAM,MAAM,CAAC,CAAA;MACxBC,aAAaA,CAAA,KAAM,OAAA;MACnBC,mBAAmBA,CAAA,KAAM;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,EAAAA,CAAA,KAAOE,UAAW,CAAAK,OAAA,GAAU,MAAS,GAAA,OAAA;IAClDN,mBAAmBA,CAAA,KAAM;EAAA,CAC3B;AACF;AACA,MAAMO,QAAQX,WAAY,EAAA;AAGnB,SAASY,qBAA6CA,CAAA,EAAA;EAC3D,OAAOC,KAAAA,CAAAA,qBAAqBF,KAAM,CAAAT,SAAA,EAAWS,KAAM,CAAAR,WAAA,EAAaQ,MAAMP,iBAAiB,CAAA;AACzF;;;;;;"}
|
package/dist/studio/index.d.ts
CHANGED
|
@@ -24,7 +24,14 @@ import type {ThemeColorSchemeKey} from '@sanity/ui'
|
|
|
24
24
|
* @beta
|
|
25
25
|
*/
|
|
26
26
|
export declare const NextStudio: MemoExoticComponent<
|
|
27
|
-
({
|
|
27
|
+
({
|
|
28
|
+
children,
|
|
29
|
+
config,
|
|
30
|
+
unstable__noScript,
|
|
31
|
+
unstable__fastRender,
|
|
32
|
+
scheme,
|
|
33
|
+
...props
|
|
34
|
+
}: NextStudioProps) => JSX.Element
|
|
28
35
|
>
|
|
29
36
|
|
|
30
37
|
/** @alpha */
|
|
@@ -49,7 +56,10 @@ export declare interface NextStudioLayoutProps extends Pick<StudioProps, 'config
|
|
|
49
56
|
children: React.ReactNode
|
|
50
57
|
}
|
|
51
58
|
|
|
52
|
-
/**
|
|
59
|
+
/**
|
|
60
|
+
* @alpha
|
|
61
|
+
* @deprecated Will be removed in the next major release
|
|
62
|
+
*/
|
|
53
63
|
export declare interface NextStudioLoadingProps extends Pick<StudioProps, 'scheme'> {
|
|
54
64
|
/**
|
|
55
65
|
* If your Studio Config has a custom theme you can pass it here to ensure the loading screen matches your theme.
|
|
@@ -74,7 +84,13 @@ export declare interface NextStudioProps extends StudioProps {
|
|
|
74
84
|
* @defaultValue true
|
|
75
85
|
* @alpha
|
|
76
86
|
*/
|
|
77
|
-
unstable__noScript?:
|
|
87
|
+
unstable__noScript?: boolean
|
|
88
|
+
/**
|
|
89
|
+
* Render in a faster mode that requires `styled-components` SSR to be setup.
|
|
90
|
+
* @defaultValue false
|
|
91
|
+
* @alpha
|
|
92
|
+
*/
|
|
93
|
+
unstable__fastRender?: boolean
|
|
78
94
|
}
|
|
79
95
|
|
|
80
96
|
/** @alpha */
|
package/dist/studio/index.js
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
var _templateObject;
|
|
2
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';
|
|
3
|
+
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
4
4
|
import { useState, useEffect, startTransition, memo, useSyncExternalStore } from 'react';
|
|
5
5
|
import { Studio } from 'sanity';
|
|
6
6
|
import styled from 'styled-components';
|
|
7
|
-
import { useTheme, NextStudioLoading } from '../_chunks/NextStudioLoading-
|
|
8
|
-
export { NextStudioNoScript } from '../_chunks/NextStudioLoading-8cf56cdf.js';
|
|
7
|
+
import { useTheme, NextStudioNoScript, NextStudioLoading } from '../_chunks/NextStudioLoading-2003f32a.js';
|
|
9
8
|
function NextStudioClientOnly(_ref) {
|
|
10
9
|
let {
|
|
11
10
|
children,
|
|
@@ -38,7 +37,7 @@ const NextStudioLayoutComponent = _ref4 => {
|
|
|
38
37
|
return /* @__PURE__ */jsx(Layout, {
|
|
39
38
|
"data-ui": "NextStudioLayout",
|
|
40
39
|
$fontFamily: theme.fonts.text.family,
|
|
41
|
-
$bg: theme.color[scheme].default.base.bg,
|
|
40
|
+
$bg: theme.color[scheme === "dark" ? "dark" : "light"].default.base.bg,
|
|
42
41
|
children
|
|
43
42
|
});
|
|
44
43
|
};
|
|
@@ -47,26 +46,43 @@ const NextStudioComponent = _ref5 => {
|
|
|
47
46
|
let {
|
|
48
47
|
children,
|
|
49
48
|
config,
|
|
50
|
-
unstable__noScript,
|
|
49
|
+
unstable__noScript = true,
|
|
50
|
+
unstable__fastRender,
|
|
51
51
|
scheme,
|
|
52
52
|
...props
|
|
53
53
|
} = _ref5;
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
unstable__noScript,
|
|
57
|
-
config,
|
|
58
|
-
scheme
|
|
59
|
-
}),
|
|
60
|
-
children: /* @__PURE__ */jsx(NextStudioLayout, {
|
|
61
|
-
config,
|
|
62
|
-
scheme,
|
|
63
|
-
children: children || /* @__PURE__ */jsx(Studio, {
|
|
54
|
+
if (unstable__fastRender) {
|
|
55
|
+
return /* @__PURE__ */jsxs(Fragment, {
|
|
56
|
+
children: [unstable__noScript && /* @__PURE__ */jsx(NextStudioNoScript, {}), /* @__PURE__ */jsx(NextStudioLayout, {
|
|
64
57
|
config,
|
|
65
58
|
scheme,
|
|
66
|
-
|
|
67
|
-
|
|
59
|
+
children: children || /* @__PURE__ */jsx(Studio, {
|
|
60
|
+
config,
|
|
61
|
+
scheme,
|
|
62
|
+
unstable_globalStyles: true,
|
|
63
|
+
...props
|
|
64
|
+
})
|
|
65
|
+
})]
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
return /* @__PURE__ */jsxs(Fragment, {
|
|
69
|
+
children: [unstable__noScript && /* @__PURE__ */jsx(NextStudioNoScript, {}), /* @__PURE__ */jsx(NextStudioClientOnly, {
|
|
70
|
+
fallback: /* @__PURE__ */jsx(NextStudioLoading, {
|
|
71
|
+
unstable__noScript,
|
|
72
|
+
config,
|
|
73
|
+
scheme
|
|
74
|
+
}),
|
|
75
|
+
children: /* @__PURE__ */jsx(NextStudioLayout, {
|
|
76
|
+
config,
|
|
77
|
+
scheme,
|
|
78
|
+
children: children || /* @__PURE__ */jsx(Studio, {
|
|
79
|
+
config,
|
|
80
|
+
scheme,
|
|
81
|
+
unstable_globalStyles: true,
|
|
82
|
+
...props
|
|
83
|
+
})
|
|
68
84
|
})
|
|
69
|
-
})
|
|
85
|
+
})]
|
|
70
86
|
});
|
|
71
87
|
};
|
|
72
88
|
const NextStudio = memo(NextStudioComponent);
|
|
@@ -92,5 +108,5 @@ const store = createStore();
|
|
|
92
108
|
function usePrefersColorScheme() {
|
|
93
109
|
return useSyncExternalStore(store.subscribe, store.getSnapshot, store.getServerSnapshot);
|
|
94
110
|
}
|
|
95
|
-
export { NextStudio, NextStudioClientOnly, NextStudioLayout, usePrefersColorScheme, useTheme };
|
|
111
|
+
export { NextStudio, NextStudioClientOnly, NextStudioLayout, NextStudioNoScript, usePrefersColorScheme, useTheme };
|
|
96
112
|
//# sourceMappingURL=index.js.map
|
package/dist/studio/index.js.map
CHANGED
|
@@ -1 +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
|
|
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 === 'dark' ? 'dark' : 'light'].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} from './NextStudioLoading'\nimport {NextStudioNoScript} from './NextStudioNoScript'\n\nexport type {NextStudioLoadingProps} from './NextStudioLoading'\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?: boolean\n /**\n * Render in a faster mode that requires `styled-components` SSR to be setup.\n * @defaultValue false\n * @alpha\n */\n unstable__fastRender?: boolean\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 = true,\n unstable__fastRender,\n scheme,\n ...props\n}: NextStudioProps) => {\n if (unstable__fastRender) {\n return (\n <>\n {unstable__noScript && <NextStudioNoScript />}\n <NextStudioLayout config={config} scheme={scheme}>\n {children || (\n <Studio config={config} scheme={scheme} unstable_globalStyles {...props} />\n )}\n </NextStudioLayout>\n </>\n )\n }\n\n return (\n <>\n {unstable__noScript && <NextStudioNoScript />}\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 || (\n <Studio config={config} scheme={scheme} unstable_globalStyles {...props} />\n )}\n </NextStudioLayout>\n </NextStudioClientOnly>\n </>\n )\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","_ref","children","fallback","mounted","setMounted","useState","useEffect","startTransition","jsx","Fragment","Layout","styled","div","_templateObject","_taggedTemplateLiteral","_ref2","$fontFamily","_ref3","$bg","NextStudioLayoutComponent","_ref4","config","scheme","theme","useTheme","fonts","text","family","color","default","base","bg","NextStudioLayout","memo","NextStudioComponent","_ref5","unstable__noScript","unstable__fastRender","props","jsxs","NextStudioNoScript","Studio","unstable_globalStyles","NextStudioLoading","NextStudio","createStore","document","subscribe","getSnapshot","getServerSnapshot","matchMedia","window","onStoreChange","addEventListener","removeEventListener","matches","store","usePrefersColorScheme","useSyncExternalStore"],"mappings":";;;;;;;AASO,SAASA,oBAAqBA,CAAAC,IAAA,EAAiD;EAAA,IAAjD;IAACC,QAAU;IAAAC;GAAsC,GAAAF,IAAA;EACpF,MAAM,CAACG,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,CAAAC,eAAA,KAAAA,eAAA,GAAAC,sBAAA,8LACLC,KAAA;EAAA,IAAC;IAACC;EAAiB,CAAA,GAAAD,KAAA;EAAA,OAAAC,WAAA;AAAA,GACdC,KAAA;EAAA,IAAC;IAACC;EAAc,CAAA,GAAAD,KAAA;EAAA,OAAAC,GAAA;AAAA,EAAA;AAQtC,MAAMC,4BAA4BC,KAAA,IAIL;EAAA,IAJM;IACjCnB,QAAA;IACAoB,MAAA;IACAC,MAAS,GAAA;EACX,CAA6B,GAAAF,KAAA;EACrB,MAAAG,KAAA,GAAQC,SAASH,MAAM,CAAA;EAG3B,sBAAAb,GAAA,CAACE,MAAA,EAAA;IACC,SAAQ,EAAA,kBAAA;IACRM,WAAA,EAAaO,KAAM,CAAAE,KAAA,CAAMC,IAAK,CAAAC,MAAA;IAC9BT,GAAA,EAAKK,MAAMK,KAAM,CAAAN,MAAA,KAAW,SAAS,MAAS,GAAA,OAAO,CAAE,CAAAO,OAAA,CAAQC,IAAK,CAAAC,EAAA;IAEnE9B;EAAA,CAAA,CACH;AAEJ,CAAA;AAGa,MAAA+B,gBAAA,GAAmBC,KAAKd,yBAAyB,CAAA;ACf9D,MAAMe,sBAAsBC,KAAA,IAOL;EAAA,IAPM;IAC3BlC,QAAA;IACAoB,MAAA;IACAe,kBAAqB,GAAA,IAAA;IACrBC,oBAAA;IACAf,MAAA;IACA,GAAGgB;EACL,CAAuB,GAAAH,KAAA;EACrB,IAAIE,oBAAsB,EAAA;IACxB,sBAEKE,IAAA,CAAA9B,QAAA,EAAA;MAAAR,QAAA,EAAA,CAAAmC,kBAAA,uBAAuBI,kBAAmB,EAAA,EAAA,CAAA,EAAA,eAC1ChC,GAAA,CAAAwB,gBAAA,EAAA;QAAiBX,MAAgB;QAAAC,MAAA;QAC/BrB,QACC,EAAAA,QAAA,mBAAAO,GAAA,CAACiC,MAAO,EAAA;UAAApB,MAAA;UAAgBC,MAAgB;UAAAoB,qBAAA,EAAqB,IAAE;UAAA,GAAGJ;QAAO,CAAA;OAE7E,CAAA;IACF,CAAA,CAAA;EAEJ;EAEA,sBAEKC,IAAA,CAAA9B,QAAA,EAAA;IAAAR,QAAA,EAAA,CAAAmC,kBAAA,uBAAuBI,kBAAmB,EAAA,EAAA,CAAA,EAAA,eAC3ChC,GAAA,CAACT,oBAAA,EAAA;MACCG,QACE,iBAAAM,GAAA,CAACmC,iBAAA,EAAA;QACCP,kBAAA;QACAf,MAAA;QACAC;MAAA,CAAA,CACF;MAGFrB,QAAC,EAAA,eAAAO,GAAA,CAAAwB,gBAAA,EAAA;QAAiBX,MAAgB;QAAAC,MAAA;QAC/BrB,QACC,EAAAA,QAAA,IAAA,eAAAO,GAAA,CAACiC,MAAO,EAAA;UAAApB,MAAA;UAAgBC,MAAgB;UAAAoB,qBAAA,EAAqB,IAAE;UAAA,GAAGJ;QAAO,CAAA;OAE7E;IAAA,CAAA,CACF;EACF,CAAA,CAAA;AAEJ,CAAA;AAiBa,MAAAM,UAAA,GAAaX,KAAKC,mBAAmB,CAAA;ACpFlD,SAASW,WAAcA,CAAA,EAAA;EACjB,IAAA,OAAOC,aAAa,WAAa,EAAA;IAC5B,OAAA;MACLC,SAAA,EAAWA,CAAA,KAAM,MAAM,CAAC,CAAA;MACxBC,aAAaA,CAAA,KAAM,OAAA;MACnBC,mBAAmBA,CAAA,KAAM;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,EAAAA,CAAA,KAAOE,UAAW,CAAAK,OAAA,GAAU,MAAS,GAAA,OAAA;IAClDN,mBAAmBA,CAAA,KAAM;EAAA,CAC3B;AACF;AACA,MAAMO,QAAQX,WAAY,EAAA;AAGnB,SAASY,qBAA6CA,CAAA,EAAA;EAC3D,OAAOC,qBAAqBF,KAAM,CAAAT,SAAA,EAAWS,KAAM,CAAAR,WAAA,EAAaQ,MAAMP,iBAAiB,CAAA;AACzF;"}
|
package/dist/studio/loading.cjs
CHANGED
|
@@ -3,6 +3,6 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
var NextStudioLoading = require('../_chunks/NextStudioLoading-
|
|
6
|
+
var NextStudioLoading = require('../_chunks/NextStudioLoading-225bb240.cjs');
|
|
7
7
|
exports.NextStudioLoading = NextStudioLoading.NextStudioLoading;
|
|
8
8
|
//# sourceMappingURL=loading.cjs.map
|
package/dist/studio/loading.d.ts
CHANGED
|
@@ -4,7 +4,10 @@ import type {StudioProps} from 'sanity'
|
|
|
4
4
|
|
|
5
5
|
export declare function NextStudioLoading(props: NextStudioLoadingProps): JSX.Element
|
|
6
6
|
|
|
7
|
-
/**
|
|
7
|
+
/**
|
|
8
|
+
* @alpha
|
|
9
|
+
* @deprecated Will be removed in the next major release
|
|
10
|
+
*/
|
|
8
11
|
export declare interface NextStudioLoadingProps extends Pick<StudioProps, 'scheme'> {
|
|
9
12
|
/**
|
|
10
13
|
* If your Studio Config has a custom theme you can pass it here to ensure the loading screen matches your theme.
|
package/dist/studio/loading.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { NextStudioLoading } from '../_chunks/NextStudioLoading-
|
|
1
|
+
export { NextStudioLoading } from '../_chunks/NextStudioLoading-2003f32a.js';
|
|
2
2
|
//# sourceMappingURL=loading.js.map
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
const metadata = {
|
|
7
|
+
// Studio implements display cutouts CSS (The iPhone Notch ™ ) and needs `viewport-fit=covered` for it to work correctly
|
|
8
|
+
viewport: "width=device-width,initial-scale=1,viewport-fit=cover",
|
|
9
|
+
referrer: "same-origin",
|
|
10
|
+
robots: "noindex"
|
|
11
|
+
};
|
|
12
|
+
exports.metadata = metadata;
|
|
13
|
+
//# sourceMappingURL=metadata.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata.cjs","sources":["../../src/studio/metadata.ts"],"sourcesContent":["import type {Metadata} from 'next'\n\n/**\n * In Next 13 appDir mode (`/app/studio/[[...index]]/page.tsx`):\n * ```tsx\n * // If you don't want to change any defaults you can just re-export the metadata directly:\n * export {metadata} from 'next-sanity/studio'\n *\n * // To customize the metadata, spread it on the export:\n * import {metadata as studioMetadata} from 'next-sanity/studio'\n * import type { Metadata } from 'next'\n *\n * export const metadata: Metadata = {\n * ...studioMetadata,\n * // Overrides the viewport to resize behavior\n * viewport: `${studioMetadata.viewport}, interactive-widget=resizes-content`,\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, metadata} from 'next-sanity/studio'\n *\n * export default function StudioPage() {\n * return (\n * <>\n * <Head>\n * {Object.entries(metadata).map(([key, value]) => (\n * <meta key={key} name={key} content={value} />\n * ))}\n * </Head>\n * <NextStudio config={config} />\n * </>\n * )\n * }\n * ```\n * @public\n */\nexport const metadata = {\n // Studio implements display cutouts CSS (The iPhone Notch ™ ) and needs `viewport-fit=covered` for it to work correctly\n viewport: 'width=device-width,initial-scale=1,viewport-fit=cover' as const,\n referrer: 'same-origin' as const,\n robots: 'noindex' as const,\n} satisfies Metadata\n"],"names":["metadata","viewport","referrer","robots"],"mappings":";;;;;AAsCO,MAAMA,QAAW,GAAA;EAAA;EAEtBC,QAAU,EAAA,uDAAA;EACVC,QAAU,EAAA,aAAA;EACVC,MAAQ,EAAA;AACV,CAAA;"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* In Next 13 appDir mode (`/app/studio/[[...index]]/page.tsx`):
|
|
3
|
+
* ```tsx
|
|
4
|
+
* // If you don't want to change any defaults you can just re-export the metadata directly:
|
|
5
|
+
* export {metadata} from 'next-sanity/studio'
|
|
6
|
+
*
|
|
7
|
+
* // To customize the metadata, spread it on the export:
|
|
8
|
+
* import {metadata as studioMetadata} from 'next-sanity/studio'
|
|
9
|
+
* import type { Metadata } from 'next'
|
|
10
|
+
*
|
|
11
|
+
* export const metadata: Metadata = {
|
|
12
|
+
* ...studioMetadata,
|
|
13
|
+
* // Overrides the viewport to resize behavior
|
|
14
|
+
* viewport: `${studioMetadata.viewport}, interactive-widget=resizes-content`,
|
|
15
|
+
* })
|
|
16
|
+
* ```
|
|
17
|
+
* If you're using Next 12 or the `pages` folder (`/pages/studio/[[...index]].tsx`):
|
|
18
|
+
* ```tsx
|
|
19
|
+
* import Head from 'next/head'
|
|
20
|
+
* import {NextStudio, metadata} from 'next-sanity/studio'
|
|
21
|
+
*
|
|
22
|
+
* export default function StudioPage() {
|
|
23
|
+
* return (
|
|
24
|
+
* <>
|
|
25
|
+
* <Head>
|
|
26
|
+
* {Object.entries(metadata).map(([key, value]) => (
|
|
27
|
+
* <meta key={key} name={key} content={value} />
|
|
28
|
+
* ))}
|
|
29
|
+
* </Head>
|
|
30
|
+
* <NextStudio config={config} />
|
|
31
|
+
* </>
|
|
32
|
+
* )
|
|
33
|
+
* }
|
|
34
|
+
* ```
|
|
35
|
+
* @public
|
|
36
|
+
*/
|
|
37
|
+
export declare const metadata: {
|
|
38
|
+
viewport: 'width=device-width,initial-scale=1,viewport-fit=cover'
|
|
39
|
+
referrer: 'same-origin'
|
|
40
|
+
robots: 'noindex'
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export {}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
const metadata = {
|
|
2
|
+
// Studio implements display cutouts CSS (The iPhone Notch ™ ) and needs `viewport-fit=covered` for it to work correctly
|
|
3
|
+
viewport: "width=device-width,initial-scale=1,viewport-fit=cover",
|
|
4
|
+
referrer: "same-origin",
|
|
5
|
+
robots: "noindex"
|
|
6
|
+
};
|
|
7
|
+
export { metadata };
|
|
8
|
+
//# sourceMappingURL=metadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata.js","sources":["../../src/studio/metadata.ts"],"sourcesContent":["import type {Metadata} from 'next'\n\n/**\n * In Next 13 appDir mode (`/app/studio/[[...index]]/page.tsx`):\n * ```tsx\n * // If you don't want to change any defaults you can just re-export the metadata directly:\n * export {metadata} from 'next-sanity/studio'\n *\n * // To customize the metadata, spread it on the export:\n * import {metadata as studioMetadata} from 'next-sanity/studio'\n * import type { Metadata } from 'next'\n *\n * export const metadata: Metadata = {\n * ...studioMetadata,\n * // Overrides the viewport to resize behavior\n * viewport: `${studioMetadata.viewport}, interactive-widget=resizes-content`,\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, metadata} from 'next-sanity/studio'\n *\n * export default function StudioPage() {\n * return (\n * <>\n * <Head>\n * {Object.entries(metadata).map(([key, value]) => (\n * <meta key={key} name={key} content={value} />\n * ))}\n * </Head>\n * <NextStudio config={config} />\n * </>\n * )\n * }\n * ```\n * @public\n */\nexport const metadata = {\n // Studio implements display cutouts CSS (The iPhone Notch ™ ) and needs `viewport-fit=covered` for it to work correctly\n viewport: 'width=device-width,initial-scale=1,viewport-fit=cover' as const,\n referrer: 'same-origin' as const,\n robots: 'noindex' as const,\n} satisfies Metadata\n"],"names":["metadata","viewport","referrer","robots"],"mappings":"AAsCO,MAAMA,QAAW,GAAA;EAAA;EAEtBC,QAAU,EAAA,uDAAA;EACVC,QAAU,EAAA,aAAA;EACVC,MAAQ,EAAA;AACV,CAAA;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "next-sanity",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.2.0",
|
|
4
4
|
"description": "Sanity.io toolkit for Next.js",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"sanity",
|
|
@@ -79,6 +79,17 @@
|
|
|
79
79
|
"import": "./dist/studio/loading.js",
|
|
80
80
|
"default": "./dist/studio/loading.js"
|
|
81
81
|
},
|
|
82
|
+
"./studio/metadata": {
|
|
83
|
+
"types": "./dist/studio/metadata.d.ts",
|
|
84
|
+
"source": "./src/studio/metadata.ts",
|
|
85
|
+
"require": "./dist/studio/metadata.cjs",
|
|
86
|
+
"node": {
|
|
87
|
+
"import": "./dist/studio/metadata.cjs.js",
|
|
88
|
+
"require": "./dist/studio/metadata.cjs"
|
|
89
|
+
},
|
|
90
|
+
"import": "./dist/studio/metadata.js",
|
|
91
|
+
"default": "./dist/studio/metadata.js"
|
|
92
|
+
},
|
|
82
93
|
"./webhook": {
|
|
83
94
|
"types": "./dist/webhook.d.ts",
|
|
84
95
|
"source": "./src/webhook/index.ts",
|
|
@@ -110,6 +121,9 @@
|
|
|
110
121
|
"studio/loading": [
|
|
111
122
|
"./dist/studio/loading.d.ts"
|
|
112
123
|
],
|
|
124
|
+
"studio/metadata": [
|
|
125
|
+
"./dist/studio/metadata.d.ts"
|
|
126
|
+
],
|
|
113
127
|
"webhook": [
|
|
114
128
|
"./dist/webhook.d.ts"
|
|
115
129
|
]
|
|
@@ -167,7 +181,7 @@
|
|
|
167
181
|
"@typescript-eslint/eslint-plugin": "^5.54.1",
|
|
168
182
|
"autoprefixer": "^10.4.14",
|
|
169
183
|
"eslint": "^8.36.0",
|
|
170
|
-
"eslint-config-next": "13.3.
|
|
184
|
+
"eslint-config-next": "13.3.2-canary.12",
|
|
171
185
|
"eslint-config-prettier": "^8.7.0",
|
|
172
186
|
"eslint-config-sanity": "^6.0.0",
|
|
173
187
|
"eslint-gitignore": "^0.1.0",
|
|
@@ -177,7 +191,7 @@
|
|
|
177
191
|
"jest": "^29.5.0",
|
|
178
192
|
"jest-environment-jsdom": "^29.5.0",
|
|
179
193
|
"ls-engines": "^0.9.0",
|
|
180
|
-
"next": "13.3.
|
|
194
|
+
"next": "13.3.2-canary.12",
|
|
181
195
|
"postcss": "^8.4.21",
|
|
182
196
|
"prettier": "^2.8.4",
|
|
183
197
|
"prettier-plugin-packagejson": "^2.4.3",
|
|
@@ -3,9 +3,10 @@ import {Studio, type StudioProps} from 'sanity'
|
|
|
3
3
|
|
|
4
4
|
import {NextStudioClientOnly} from './NextStudioClientOnly'
|
|
5
5
|
import {NextStudioLayout} from './NextStudioLayout'
|
|
6
|
-
import {NextStudioLoading
|
|
6
|
+
import {NextStudioLoading} from './NextStudioLoading'
|
|
7
|
+
import {NextStudioNoScript} from './NextStudioNoScript'
|
|
7
8
|
|
|
8
|
-
export type {NextStudioLoadingProps}
|
|
9
|
+
export type {NextStudioLoadingProps} from './NextStudioLoading'
|
|
9
10
|
|
|
10
11
|
/** @beta */
|
|
11
12
|
export interface NextStudioProps extends StudioProps {
|
|
@@ -15,7 +16,13 @@ export interface NextStudioProps extends StudioProps {
|
|
|
15
16
|
* @defaultValue true
|
|
16
17
|
* @alpha
|
|
17
18
|
*/
|
|
18
|
-
unstable__noScript?:
|
|
19
|
+
unstable__noScript?: boolean
|
|
20
|
+
/**
|
|
21
|
+
* Render in a faster mode that requires `styled-components` SSR to be setup.
|
|
22
|
+
* @defaultValue false
|
|
23
|
+
* @alpha
|
|
24
|
+
*/
|
|
25
|
+
unstable__fastRender?: boolean
|
|
19
26
|
}
|
|
20
27
|
/**
|
|
21
28
|
* 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
|
|
@@ -24,24 +31,45 @@ export interface NextStudioProps extends StudioProps {
|
|
|
24
31
|
const NextStudioComponent = ({
|
|
25
32
|
children,
|
|
26
33
|
config,
|
|
27
|
-
unstable__noScript,
|
|
34
|
+
unstable__noScript = true,
|
|
35
|
+
unstable__fastRender,
|
|
28
36
|
scheme,
|
|
29
37
|
...props
|
|
30
|
-
}: NextStudioProps) =>
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
config={config}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
38
|
+
}: NextStudioProps) => {
|
|
39
|
+
if (unstable__fastRender) {
|
|
40
|
+
return (
|
|
41
|
+
<>
|
|
42
|
+
{unstable__noScript && <NextStudioNoScript />}
|
|
43
|
+
<NextStudioLayout config={config} scheme={scheme}>
|
|
44
|
+
{children || (
|
|
45
|
+
<Studio config={config} scheme={scheme} unstable_globalStyles {...props} />
|
|
46
|
+
)}
|
|
47
|
+
</NextStudioLayout>
|
|
48
|
+
</>
|
|
49
|
+
)
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
return (
|
|
53
|
+
<>
|
|
54
|
+
{unstable__noScript && <NextStudioNoScript />}
|
|
55
|
+
<NextStudioClientOnly
|
|
56
|
+
fallback={
|
|
57
|
+
<NextStudioLoading
|
|
58
|
+
unstable__noScript={unstable__noScript}
|
|
59
|
+
config={config}
|
|
60
|
+
scheme={scheme}
|
|
61
|
+
/>
|
|
62
|
+
}
|
|
63
|
+
>
|
|
64
|
+
<NextStudioLayout config={config} scheme={scheme}>
|
|
65
|
+
{children || (
|
|
66
|
+
<Studio config={config} scheme={scheme} unstable_globalStyles {...props} />
|
|
67
|
+
)}
|
|
68
|
+
</NextStudioLayout>
|
|
69
|
+
</NextStudioClientOnly>
|
|
70
|
+
</>
|
|
71
|
+
)
|
|
72
|
+
}
|
|
45
73
|
|
|
46
74
|
/**
|
|
47
75
|
* Override how the Studio renders by passing children.
|
|
@@ -35,7 +35,7 @@ const NextStudioLayoutComponent = ({
|
|
|
35
35
|
<Layout
|
|
36
36
|
data-ui="NextStudioLayout"
|
|
37
37
|
$fontFamily={theme.fonts.text.family}
|
|
38
|
-
$bg={theme.color[scheme].default.base.bg}
|
|
38
|
+
$bg={theme.color[scheme === 'dark' ? 'dark' : 'light'].default.base.bg}
|
|
39
39
|
>
|
|
40
40
|
{children}
|
|
41
41
|
</Layout>
|
|
@@ -9,7 +9,10 @@ import type {Config, SingleWorkspace, StudioProps} from 'sanity'
|
|
|
9
9
|
import {NextStudioNoScript} from './NextStudioNoScript'
|
|
10
10
|
import {useTheme} from './useTheme'
|
|
11
11
|
|
|
12
|
-
/**
|
|
12
|
+
/**
|
|
13
|
+
* @alpha
|
|
14
|
+
* @deprecated Will be removed in the next major release
|
|
15
|
+
*/
|
|
13
16
|
export interface NextStudioLoadingProps extends Pick<StudioProps, 'scheme'> {
|
|
14
17
|
/**
|
|
15
18
|
* If your Studio Config has a custom theme you can pass it here to ensure the loading screen matches your theme.
|
|
@@ -47,7 +50,9 @@ export function NextStudioLoading(props: NextStudioLoadingProps) {
|
|
|
47
50
|
wrapper: {
|
|
48
51
|
display: 'block',
|
|
49
52
|
animation: `${id} 500ms linear infinite`,
|
|
50
|
-
color:
|
|
53
|
+
color:
|
|
54
|
+
theme.color[scheme === 'dark' ? 'dark' : 'light'].default.muted.default.enabled.muted
|
|
55
|
+
.fg,
|
|
51
56
|
width: rem(capHeight),
|
|
52
57
|
height: rem(capHeight),
|
|
53
58
|
},
|
|
@@ -66,7 +71,7 @@ export function NextStudioLoading(props: NextStudioLoadingProps) {
|
|
|
66
71
|
<div
|
|
67
72
|
style={{
|
|
68
73
|
fontFamily: fonts.text.family,
|
|
69
|
-
backgroundColor: theme.color[scheme].default.base.bg,
|
|
74
|
+
backgroundColor: theme.color[scheme === 'dark' ? 'dark' : 'light'].default.base.bg,
|
|
70
75
|
height: '100vh',
|
|
71
76
|
maxHeight: '100dvh',
|
|
72
77
|
overscrollBehavior: 'none',
|
|
@@ -105,7 +110,9 @@ export function NextStudioLoading(props: NextStudioLoadingProps) {
|
|
|
105
110
|
lineHeight: 'calc(1.3125)',
|
|
106
111
|
// @TODO use rem calc
|
|
107
112
|
transform: 'translateY(-5px)',
|
|
108
|
-
color:
|
|
113
|
+
color:
|
|
114
|
+
theme.color[scheme === 'dark' ? 'dark' : 'light'].default.muted.default.enabled
|
|
115
|
+
.muted.fg,
|
|
109
116
|
}}
|
|
110
117
|
>
|
|
111
118
|
<span>Loading…</span>
|
|
@@ -79,6 +79,7 @@ export interface NextStudioHeadProps {
|
|
|
79
79
|
* }
|
|
80
80
|
* ```
|
|
81
81
|
* @public
|
|
82
|
+
* @deprecated Use `import {metadata} from 'next-sanity/studio'` instead, this component will be removed in the next major release.
|
|
82
83
|
*/
|
|
83
84
|
export function NextStudioHead(props: NextStudioHeadProps) {
|
|
84
85
|
const {
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type {Metadata} from 'next'
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* In Next 13 appDir mode (`/app/studio/[[...index]]/page.tsx`):
|
|
5
|
+
* ```tsx
|
|
6
|
+
* // If you don't want to change any defaults you can just re-export the metadata directly:
|
|
7
|
+
* export {metadata} from 'next-sanity/studio'
|
|
8
|
+
*
|
|
9
|
+
* // To customize the metadata, spread it on the export:
|
|
10
|
+
* import {metadata as studioMetadata} from 'next-sanity/studio'
|
|
11
|
+
* import type { Metadata } from 'next'
|
|
12
|
+
*
|
|
13
|
+
* export const metadata: Metadata = {
|
|
14
|
+
* ...studioMetadata,
|
|
15
|
+
* // Overrides the viewport to resize behavior
|
|
16
|
+
* viewport: `${studioMetadata.viewport}, interactive-widget=resizes-content`,
|
|
17
|
+
* })
|
|
18
|
+
* ```
|
|
19
|
+
* If you're using Next 12 or the `pages` folder (`/pages/studio/[[...index]].tsx`):
|
|
20
|
+
* ```tsx
|
|
21
|
+
* import Head from 'next/head'
|
|
22
|
+
* import {NextStudio, metadata} from 'next-sanity/studio'
|
|
23
|
+
*
|
|
24
|
+
* export default function StudioPage() {
|
|
25
|
+
* return (
|
|
26
|
+
* <>
|
|
27
|
+
* <Head>
|
|
28
|
+
* {Object.entries(metadata).map(([key, value]) => (
|
|
29
|
+
* <meta key={key} name={key} content={value} />
|
|
30
|
+
* ))}
|
|
31
|
+
* </Head>
|
|
32
|
+
* <NextStudio config={config} />
|
|
33
|
+
* </>
|
|
34
|
+
* )
|
|
35
|
+
* }
|
|
36
|
+
* ```
|
|
37
|
+
* @public
|
|
38
|
+
*/
|
|
39
|
+
export const metadata = {
|
|
40
|
+
// Studio implements display cutouts CSS (The iPhone Notch ™ ) and needs `viewport-fit=covered` for it to work correctly
|
|
41
|
+
viewport: 'width=device-width,initial-scale=1,viewport-fit=cover' as const,
|
|
42
|
+
referrer: 'same-origin' as const,
|
|
43
|
+
robots: 'noindex' as const,
|
|
44
|
+
} satisfies Metadata
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NextStudioLoading-8cf56cdf.js","sources":["../../src/studio/useTheme.ts","../../src/studio/NextStudioNoScript.tsx","../../src/studio/NextStudioLoading.tsx"],"sourcesContent":["import {studioTheme} from '@sanity/ui'\nimport {useMemo} from 'react'\nimport type {Config, SingleWorkspace, StudioTheme} from 'sanity'\n\n/** @alpha */\nexport function useTheme(\n config?: Config | Required<Pick<SingleWorkspace, 'theme'>>\n): StudioTheme {\n const workspace = useMemo<\n SingleWorkspace | Required<Pick<SingleWorkspace, 'theme'>> | undefined\n >(() => (Array.isArray(config) ? config[0] : config), [config])\n return useMemo<StudioTheme>(() => workspace?.theme || studioTheme, [workspace])\n}\n","/* eslint-disable react/no-danger */\n\nconst style = {\n __html: `\n.sanity-app-no-js__root {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n bottom: 0;\n background: #fff;\n z-index: 1;\n}\n\n.sanity-app-no-js__content {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n text-align: center;\n font-family: helvetica, arial, sans-serif;\n}\n`,\n} as const\n\n/** @alpha */\nexport const NextStudioNoScript = () => (\n <noscript>\n <div className=\"sanity-app-no-js__root\">\n <div className=\"sanity-app-no-js__content\">\n <style type=\"text/css\" dangerouslySetInnerHTML={style} />\n <h1>JavaScript disabled</h1>\n <p>\n Please <a href=\"https://www.enable-javascript.com/\">enable JavaScript</a> in your\n browser and reload the page to proceed.\n </p>\n </div>\n </div>\n </noscript>\n)\n","/* eslint-disable no-warning-comments */\n// Intentionally not using `styled-components` to ensure it works in any `next` setup.\n// Whether 'styled-components' SSR is setup or not.\n\nimport {SpinnerIcon} from '@sanity/icons'\nimport {_responsive, rem} from '@sanity/ui'\nimport type {Config, SingleWorkspace, StudioProps} from 'sanity'\n\nimport {NextStudioNoScript} from './NextStudioNoScript'\nimport {useTheme} from './useTheme'\n\n/** @alpha */\nexport interface NextStudioLoadingProps extends Pick<StudioProps, 'scheme'> {\n /**\n * If your Studio Config has a custom theme you can pass it here to ensure the loading screen matches your theme.\n */\n config?: Config | Required<Pick<SingleWorkspace, 'theme'>>\n /**\n * Render the <noscript> tag\n * @defaultValue true\n * @alpha\n */\n unstable__noScript?: boolean\n}\n\nconst keyframes = `\nfrom {\n transform: rotate(0deg);\n}\n\nto {\n transform: rotate(360deg);\n}\n`\n\nexport function NextStudioLoading(props: NextStudioLoadingProps) {\n const {config, scheme = 'light', unstable__noScript = true} = props\n const id = 'next-sanity-spinner'\n const theme = useTheme(config)\n const {fonts, media} = theme\n\n const styles: any = _responsive(media, [2], (size: number) => {\n const {ascenderHeight, descenderHeight, lineHeight, iconSize} = fonts.text.sizes[size]\n const capHeight = lineHeight - ascenderHeight - descenderHeight\n\n return {\n wrapper: {\n display: 'block',\n animation: `${id} 500ms linear infinite`,\n color: theme.color[scheme].default.muted.default.enabled.muted.fg,\n width: rem(capHeight),\n height: rem(capHeight),\n },\n svg: {\n display: 'block',\n width: rem(iconSize),\n height: rem(iconSize),\n margin: (capHeight - iconSize) / 2,\n },\n }\n })[0]\n\n return (\n <>\n {unstable__noScript && <NextStudioNoScript />}\n <div\n style={{\n fontFamily: fonts.text.family,\n backgroundColor: theme.color[scheme].default.base.bg,\n height: '100vh',\n maxHeight: '100dvh',\n overscrollBehavior: 'none',\n WebkitFontSmoothing: 'antialiased',\n overflow: 'auto',\n }}\n >\n <div\n data-ui=\"Flex\"\n style={{\n display: 'flex',\n minWidth: 0,\n minHeight: 0,\n alignItems: 'center',\n justifyContent: 'center',\n flexDirection: 'column',\n height: '100%',\n margin: 0,\n padding: 0,\n // @TODO use rem calc\n gap: '10px',\n }}\n >\n <style key={scheme}>{`@keyframes ${id} {${keyframes}}`}</style>\n <div\n data-ui=\"Text\"\n style={{\n position: 'relative',\n // @TODO read from theme\n fontWeight: 400,\n // @TODO read from theme\n padding: '1px 0px',\n // @TODO use rem calc\n fontSize: '1rem',\n // @TODO use rem calc\n lineHeight: 'calc(1.3125)',\n // @TODO use rem calc\n transform: 'translateY(-5px)',\n color: theme.color[scheme].default.muted.default.enabled.muted.fg,\n }}\n >\n <span>Loading…</span>\n </div>\n <div data-ui=\"Spinner\" style={styles.wrapper}>\n <SpinnerIcon style={styles.svg} />\n </div>\n </div>\n </div>\n </>\n )\n}\n"],"names":["useTheme","config","workspace","useMemo","Array","isArray","theme","studioTheme","style","__html","NextStudioNoScript","jsx","children","className","jsxs","type","dangerouslySetInnerHTML","href","keyframes","NextStudioLoading","props","scheme","unstable__noScript","id","fonts","media","styles","_responsive","size","ascenderHeight","descenderHeight","lineHeight","iconSize","text","sizes","capHeight","wrapper","display","animation","color","default","muted","enabled","fg","width","rem","height","svg","margin","Fragment","fontFamily","family","backgroundColor","base","bg","maxHeight","overscrollBehavior","WebkitFontSmoothing","overflow","minWidth","minHeight","alignItems","justifyContent","flexDirection","padding","gap","concat","position","fontWeight","fontSize","transform","SpinnerIcon"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NextStudioLoading-bf57e61a.cjs","sources":["../../src/studio/useTheme.ts","../../src/studio/NextStudioNoScript.tsx","../../src/studio/NextStudioLoading.tsx"],"sourcesContent":["import {studioTheme} from '@sanity/ui'\nimport {useMemo} from 'react'\nimport type {Config, SingleWorkspace, StudioTheme} from 'sanity'\n\n/** @alpha */\nexport function useTheme(\n config?: Config | Required<Pick<SingleWorkspace, 'theme'>>\n): StudioTheme {\n const workspace = useMemo<\n SingleWorkspace | Required<Pick<SingleWorkspace, 'theme'>> | undefined\n >(() => (Array.isArray(config) ? config[0] : config), [config])\n return useMemo<StudioTheme>(() => workspace?.theme || studioTheme, [workspace])\n}\n","/* eslint-disable react/no-danger */\n\nconst style = {\n __html: `\n.sanity-app-no-js__root {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n bottom: 0;\n background: #fff;\n z-index: 1;\n}\n\n.sanity-app-no-js__content {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n text-align: center;\n font-family: helvetica, arial, sans-serif;\n}\n`,\n} as const\n\n/** @alpha */\nexport const NextStudioNoScript = () => (\n <noscript>\n <div className=\"sanity-app-no-js__root\">\n <div className=\"sanity-app-no-js__content\">\n <style type=\"text/css\" dangerouslySetInnerHTML={style} />\n <h1>JavaScript disabled</h1>\n <p>\n Please <a href=\"https://www.enable-javascript.com/\">enable JavaScript</a> in your\n browser and reload the page to proceed.\n </p>\n </div>\n </div>\n </noscript>\n)\n","/* eslint-disable no-warning-comments */\n// Intentionally not using `styled-components` to ensure it works in any `next` setup.\n// Whether 'styled-components' SSR is setup or not.\n\nimport {SpinnerIcon} from '@sanity/icons'\nimport {_responsive, rem} from '@sanity/ui'\nimport type {Config, SingleWorkspace, StudioProps} from 'sanity'\n\nimport {NextStudioNoScript} from './NextStudioNoScript'\nimport {useTheme} from './useTheme'\n\n/** @alpha */\nexport interface NextStudioLoadingProps extends Pick<StudioProps, 'scheme'> {\n /**\n * If your Studio Config has a custom theme you can pass it here to ensure the loading screen matches your theme.\n */\n config?: Config | Required<Pick<SingleWorkspace, 'theme'>>\n /**\n * Render the <noscript> tag\n * @defaultValue true\n * @alpha\n */\n unstable__noScript?: boolean\n}\n\nconst keyframes = `\nfrom {\n transform: rotate(0deg);\n}\n\nto {\n transform: rotate(360deg);\n}\n`\n\nexport function NextStudioLoading(props: NextStudioLoadingProps) {\n const {config, scheme = 'light', unstable__noScript = true} = props\n const id = 'next-sanity-spinner'\n const theme = useTheme(config)\n const {fonts, media} = theme\n\n const styles: any = _responsive(media, [2], (size: number) => {\n const {ascenderHeight, descenderHeight, lineHeight, iconSize} = fonts.text.sizes[size]\n const capHeight = lineHeight - ascenderHeight - descenderHeight\n\n return {\n wrapper: {\n display: 'block',\n animation: `${id} 500ms linear infinite`,\n color: theme.color[scheme].default.muted.default.enabled.muted.fg,\n width: rem(capHeight),\n height: rem(capHeight),\n },\n svg: {\n display: 'block',\n width: rem(iconSize),\n height: rem(iconSize),\n margin: (capHeight - iconSize) / 2,\n },\n }\n })[0]\n\n return (\n <>\n {unstable__noScript && <NextStudioNoScript />}\n <div\n style={{\n fontFamily: fonts.text.family,\n backgroundColor: theme.color[scheme].default.base.bg,\n height: '100vh',\n maxHeight: '100dvh',\n overscrollBehavior: 'none',\n WebkitFontSmoothing: 'antialiased',\n overflow: 'auto',\n }}\n >\n <div\n data-ui=\"Flex\"\n style={{\n display: 'flex',\n minWidth: 0,\n minHeight: 0,\n alignItems: 'center',\n justifyContent: 'center',\n flexDirection: 'column',\n height: '100%',\n margin: 0,\n padding: 0,\n // @TODO use rem calc\n gap: '10px',\n }}\n >\n <style key={scheme}>{`@keyframes ${id} {${keyframes}}`}</style>\n <div\n data-ui=\"Text\"\n style={{\n position: 'relative',\n // @TODO read from theme\n fontWeight: 400,\n // @TODO read from theme\n padding: '1px 0px',\n // @TODO use rem calc\n fontSize: '1rem',\n // @TODO use rem calc\n lineHeight: 'calc(1.3125)',\n // @TODO use rem calc\n transform: 'translateY(-5px)',\n color: theme.color[scheme].default.muted.default.enabled.muted.fg,\n }}\n >\n <span>Loading…</span>\n </div>\n <div data-ui=\"Spinner\" style={styles.wrapper}>\n <SpinnerIcon style={styles.svg} />\n </div>\n </div>\n </div>\n </>\n )\n}\n"],"names":["useTheme","config","workspace","useMemo","Array","isArray","theme","studioTheme","style","__html","NextStudioNoScript","jsx","children","className","jsxs","type","dangerouslySetInnerHTML","href","keyframes","NextStudioLoading","props","scheme","unstable__noScript","id","fonts","media","styles","_responsive","size","ascenderHeight","descenderHeight","lineHeight","iconSize","text","sizes","capHeight","wrapper","display","animation","color","default","muted","enabled","fg","width","rem","height","svg","margin","Fragment","fontFamily","family","backgroundColor","base","bg","maxHeight","overscrollBehavior","WebkitFontSmoothing","overflow","minWidth","minHeight","alignItems","justifyContent","flexDirection","padding","gap","concat","position","fontWeight","fontSize","transform","SpinnerIcon"],"mappings":"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"}
|