@sanity/sdk-react 0.0.0-alpha.2 → 0.0.0-alpha.21
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 +38 -67
- package/dist/index.d.ts +4811 -2
- package/dist/index.js +1069 -2
- package/dist/index.js.map +1 -1
- package/package.json +27 -58
- package/src/_exports/index.ts +66 -10
- package/src/components/Login/LoginLinks.test.tsx +4 -14
- package/src/components/Login/LoginLinks.tsx +16 -31
- package/src/components/SDKProvider.test.tsx +79 -0
- package/src/components/SDKProvider.tsx +42 -0
- package/src/components/SanityApp.test.tsx +156 -0
- package/src/components/SanityApp.tsx +90 -0
- package/src/components/auth/AuthBoundary.test.tsx +6 -19
- package/src/components/auth/AuthBoundary.tsx +20 -4
- package/src/components/auth/Login.test.tsx +2 -16
- package/src/components/auth/Login.tsx +11 -30
- package/src/components/auth/LoginCallback.test.tsx +5 -20
- package/src/components/auth/LoginCallback.tsx +9 -14
- package/src/components/auth/LoginError.test.tsx +2 -17
- package/src/components/auth/LoginError.tsx +11 -16
- package/src/components/auth/LoginFooter.test.tsx +2 -16
- package/src/components/auth/LoginFooter.tsx +8 -24
- package/src/components/auth/LoginLayout.test.tsx +2 -16
- package/src/components/auth/LoginLayout.tsx +8 -38
- package/src/components/auth/authTestHelpers.tsx +11 -0
- package/src/components/utils.ts +22 -0
- package/src/context/SanityInstanceContext.ts +4 -0
- package/src/{components/context → context}/SanityProvider.test.tsx +2 -2
- package/src/context/SanityProvider.tsx +50 -0
- package/src/hooks/_synchronous-groq-js.mjs +4 -0
- package/src/hooks/auth/useAuthState.tsx +4 -5
- package/src/hooks/auth/useAuthToken.tsx +1 -1
- package/src/hooks/auth/useCurrentUser.tsx +28 -4
- package/src/hooks/auth/useDashboardOrganizationId.test.tsx +42 -0
- package/src/hooks/auth/useDashboardOrganizationId.tsx +29 -0
- package/src/hooks/auth/useHandleAuthCallback.test.tsx +16 -0
- package/src/hooks/auth/{useHandleCallback.tsx → useHandleAuthCallback.tsx} +7 -6
- package/src/hooks/auth/useLogOut.test.tsx +2 -2
- package/src/hooks/auth/useLogOut.tsx +1 -1
- package/src/hooks/auth/useLoginUrls.tsx +1 -0
- package/src/hooks/client/useClient.ts +9 -30
- package/src/hooks/comlink/useFrameConnection.test.tsx +167 -0
- package/src/hooks/comlink/useFrameConnection.ts +107 -0
- package/src/hooks/comlink/useManageFavorite.test.ts +111 -0
- package/src/hooks/comlink/useManageFavorite.ts +130 -0
- package/src/hooks/comlink/useRecordDocumentHistoryEvent.test.ts +81 -0
- package/src/hooks/comlink/useRecordDocumentHistoryEvent.ts +106 -0
- package/src/hooks/comlink/useWindowConnection.test.ts +135 -0
- package/src/hooks/comlink/useWindowConnection.ts +122 -0
- package/src/hooks/context/useSanityInstance.test.tsx +2 -2
- package/src/hooks/context/useSanityInstance.ts +24 -8
- package/src/hooks/dashboard/useNavigateToStudioDocument.test.ts +178 -0
- package/src/hooks/dashboard/useNavigateToStudioDocument.ts +123 -0
- package/src/hooks/dashboard/useStudioWorkspacesByResourceId.test.tsx +278 -0
- package/src/hooks/dashboard/useStudioWorkspacesByResourceId.ts +92 -0
- package/src/hooks/datasets/useDatasets.ts +40 -0
- package/src/hooks/document/useApplyDocumentActions.test.ts +25 -0
- package/src/hooks/document/useApplyDocumentActions.ts +75 -0
- package/src/hooks/document/useDocument.test.ts +81 -0
- package/src/hooks/document/useDocument.ts +107 -0
- package/src/hooks/document/useDocumentEvent.test.ts +63 -0
- package/src/hooks/document/useDocumentEvent.ts +54 -0
- package/src/hooks/document/useDocumentPermissions.ts +84 -0
- package/src/hooks/document/useDocumentSyncStatus.test.ts +16 -0
- package/src/hooks/document/useDocumentSyncStatus.ts +33 -0
- package/src/hooks/document/useEditDocument.test.ts +179 -0
- package/src/hooks/document/useEditDocument.ts +195 -0
- package/src/hooks/documents/useDocuments.test.tsx +152 -0
- package/src/hooks/documents/useDocuments.ts +174 -0
- package/src/hooks/helpers/createCallbackHook.tsx +3 -2
- package/src/hooks/helpers/createStateSourceHook.test.tsx +66 -0
- package/src/hooks/helpers/createStateSourceHook.tsx +29 -10
- package/src/hooks/paginatedDocuments/usePaginatedDocuments.test.tsx +259 -0
- package/src/hooks/paginatedDocuments/usePaginatedDocuments.ts +290 -0
- package/src/hooks/preview/usePreview.test.tsx +19 -10
- package/src/hooks/preview/usePreview.tsx +67 -13
- package/src/hooks/projection/useProjection.test.tsx +218 -0
- package/src/hooks/projection/useProjection.ts +147 -0
- package/src/hooks/projects/useProject.ts +48 -0
- package/src/hooks/projects/useProjects.ts +45 -0
- package/src/hooks/query/useQuery.test.tsx +188 -0
- package/src/hooks/query/useQuery.ts +103 -0
- package/src/hooks/users/useUsers.test.ts +163 -0
- package/src/hooks/users/useUsers.ts +107 -0
- package/src/utils/getEnv.ts +21 -0
- package/src/version.ts +8 -0
- package/src/vite-env.d.ts +10 -0
- package/dist/_chunks-es/useLogOut.js +0 -44
- package/dist/_chunks-es/useLogOut.js.map +0 -1
- package/dist/assets/bundle-CcAyERuZ.css +0 -11
- package/dist/components.d.ts +0 -257
- package/dist/components.js +0 -316
- package/dist/components.js.map +0 -1
- package/dist/hooks.d.ts +0 -187
- package/dist/hooks.js +0 -81
- package/dist/hooks.js.map +0 -1
- package/src/_exports/components.ts +0 -13
- package/src/_exports/hooks.ts +0 -9
- package/src/components/DocumentGridLayout/DocumentGridLayout.stories.tsx +0 -113
- package/src/components/DocumentGridLayout/DocumentGridLayout.test.tsx +0 -42
- package/src/components/DocumentGridLayout/DocumentGridLayout.tsx +0 -21
- package/src/components/DocumentListLayout/DocumentListLayout.stories.tsx +0 -105
- package/src/components/DocumentListLayout/DocumentListLayout.test.tsx +0 -42
- package/src/components/DocumentListLayout/DocumentListLayout.tsx +0 -12
- package/src/components/DocumentPreviewLayout/DocumentPreviewLayout.md +0 -49
- package/src/components/DocumentPreviewLayout/DocumentPreviewLayout.stories.tsx +0 -39
- package/src/components/DocumentPreviewLayout/DocumentPreviewLayout.test.tsx +0 -30
- package/src/components/DocumentPreviewLayout/DocumentPreviewLayout.tsx +0 -171
- package/src/components/context/SanityProvider.tsx +0 -42
- package/src/css/css.config.js +0 -220
- package/src/css/paramour.css +0 -2347
- package/src/css/styles.css +0 -11
- package/src/hooks/auth/useHandleCallback.test.tsx +0 -16
- package/src/hooks/client/useClient.test.tsx +0 -130
- package/src/hooks/documentCollection/useDocuments.test.ts +0 -130
- package/src/hooks/documentCollection/useDocuments.ts +0 -87
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
# DocumentPreviewLayout
|
|
2
|
-
|
|
3
|
-
The DocumentPreviewLayout component is used to render a compact representation of a [document](#). These previews are often rendered for each document within a [DocumentListUI component](#), but can also be rendered as standalone components.
|
|
4
|
-
|
|
5
|
-
Document previews surface the following information about each document:
|
|
6
|
-
|
|
7
|
-
- The document's title
|
|
8
|
-
- A subtitle (optional)
|
|
9
|
-
- A piece of media, such as an icon or image (optional)
|
|
10
|
-
- The document type (optional)
|
|
11
|
-
- The document’s state, such as draft or published (optional)
|
|
12
|
-
|
|
13
|
-
Additionally, each document preview can take a `url` prop to enable navigation changes when selecting the document, and a `selected` prop to indicate that a given document has been selected.
|
|
14
|
-
|
|
15
|
-
![An image of the stock preview component]()
|
|
16
|
-
|
|
17
|
-
```jsx
|
|
18
|
-
<DocumentPreviewLayout
|
|
19
|
-
title={doc.title}
|
|
20
|
-
subtitle={doc.subtitle}
|
|
21
|
-
media={doc.media}
|
|
22
|
-
docType={doc.type}
|
|
23
|
-
docState={doc.published ? 'published' : 'draft'}
|
|
24
|
-
url={doc.url}
|
|
25
|
-
selected={true}
|
|
26
|
-
/>
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
## Installation
|
|
30
|
-
|
|
31
|
-
```shell
|
|
32
|
-
npm install @sanity/sdk
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
```javascript
|
|
36
|
-
import DocumentPreviewLayout from `@sanity/sdk/react/DocumentPreviewLayout`
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
## Props
|
|
40
|
-
|
|
41
|
-
| Name | Type | Description |
|
|
42
|
-
| ---------- | -------------------- | ----------------------------------------------------------- |
|
|
43
|
-
| `title` | `string` | The title to display for the document |
|
|
44
|
-
| `subtitle` | `string` (optional) | The subtitle to display for the document |
|
|
45
|
-
| `media` | `node` (optional) | The image, icon, or other node to display with the document |
|
|
46
|
-
| `docType` | `string` (optional) | The document type |
|
|
47
|
-
| `docState` | `string` (optional) | The state of the document, such as 'published' or 'draft' |
|
|
48
|
-
| `url` | `string` (optional) | The URL to navigate to when selecting the document |
|
|
49
|
-
| `selected` | `boolean` (optional) | The `selected` state of the document; defaults to `false` |
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import {type Meta, type StoryObj} from '@storybook/react'
|
|
2
|
-
|
|
3
|
-
import {DocumentPreviewLayout} from './DocumentPreviewLayout'
|
|
4
|
-
|
|
5
|
-
const meta: Meta<typeof DocumentPreviewLayout> = {
|
|
6
|
-
title: 'DocumentPreviewLayout',
|
|
7
|
-
component: DocumentPreviewLayout,
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export default meta
|
|
11
|
-
type Story = StoryObj<typeof meta>
|
|
12
|
-
|
|
13
|
-
export const Basic: Story = {
|
|
14
|
-
args: {
|
|
15
|
-
title: 'Hello World',
|
|
16
|
-
},
|
|
17
|
-
render: (props) => {
|
|
18
|
-
return <DocumentPreviewLayout {...props} />
|
|
19
|
-
},
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
export const AllProps: Story = {
|
|
23
|
-
args: {
|
|
24
|
-
title: 'Hello World',
|
|
25
|
-
subtitle: 'It’s nice to meet you',
|
|
26
|
-
onClick: () => {
|
|
27
|
-
alert('Hello World!')
|
|
28
|
-
},
|
|
29
|
-
media: {
|
|
30
|
-
type: 'image-asset',
|
|
31
|
-
url: 'https://picsum.photos/80/80',
|
|
32
|
-
},
|
|
33
|
-
docType: 'article',
|
|
34
|
-
status: 'published',
|
|
35
|
-
},
|
|
36
|
-
render: (props) => {
|
|
37
|
-
return <DocumentPreviewLayout {...props} />
|
|
38
|
-
},
|
|
39
|
-
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import {render, screen} from '../../../test/test-utils.tsx'
|
|
2
|
-
import {DocumentPreviewLayout} from './DocumentPreviewLayout'
|
|
3
|
-
|
|
4
|
-
describe('DocumentPreviewLayout', () => {
|
|
5
|
-
it('renders the data it receives via props', () => {
|
|
6
|
-
render(<DocumentPreviewLayout title="Test Preview" subtitle="It works" />)
|
|
7
|
-
expect(screen.getByText('Test Preview')).toBeVisible()
|
|
8
|
-
expect(screen.getByText('It works')).toBeVisible()
|
|
9
|
-
})
|
|
10
|
-
|
|
11
|
-
it('renders empty when no title is provided (todo)', () => {
|
|
12
|
-
const {container} = render(<DocumentPreviewLayout title="" />)
|
|
13
|
-
expect(container).toBeEmptyDOMElement()
|
|
14
|
-
})
|
|
15
|
-
|
|
16
|
-
it('renders the doctype when one is provided', () => {
|
|
17
|
-
render(<DocumentPreviewLayout title="Test Preview" docType="article" />)
|
|
18
|
-
expect(screen.getByText('article')).toBeVisible()
|
|
19
|
-
})
|
|
20
|
-
|
|
21
|
-
it('renders the published status when provided', () => {
|
|
22
|
-
render(<DocumentPreviewLayout title="Test Preview" status="published" />)
|
|
23
|
-
expect(screen.getByText('published')).toBeVisible()
|
|
24
|
-
})
|
|
25
|
-
|
|
26
|
-
it('renders the draft status when provided', () => {
|
|
27
|
-
render(<DocumentPreviewLayout title="Test Preview" status="draft" />)
|
|
28
|
-
expect(screen.getByText('draft')).toBeVisible()
|
|
29
|
-
})
|
|
30
|
-
})
|
|
@@ -1,171 +0,0 @@
|
|
|
1
|
-
import 'inter-ui/inter.css'
|
|
2
|
-
import '../../css/styles.css'
|
|
3
|
-
|
|
4
|
-
import {DocumentIcon} from '@sanity/icons'
|
|
5
|
-
import {forwardRef} from 'react'
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @public
|
|
9
|
-
*/
|
|
10
|
-
export interface DocumentPreviewLayoutProps {
|
|
11
|
-
docType?: string
|
|
12
|
-
media?: {type: string; url: string} | null | undefined
|
|
13
|
-
onClick?: () => void
|
|
14
|
-
selected?: boolean
|
|
15
|
-
status?: string
|
|
16
|
-
subtitle?: string
|
|
17
|
-
title: string
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* This is a component that renders a document preview.
|
|
22
|
-
*
|
|
23
|
-
* @public
|
|
24
|
-
*
|
|
25
|
-
* @param props - The props for the DocumentPreviewLayout component.
|
|
26
|
-
* @returns - The DocumentPreviewLayout component.
|
|
27
|
-
*/
|
|
28
|
-
export const DocumentPreviewLayout = forwardRef(
|
|
29
|
-
(
|
|
30
|
-
{
|
|
31
|
-
docType,
|
|
32
|
-
media,
|
|
33
|
-
onClick,
|
|
34
|
-
selected = false,
|
|
35
|
-
status = '',
|
|
36
|
-
subtitle = '',
|
|
37
|
-
title,
|
|
38
|
-
}: DocumentPreviewLayoutProps,
|
|
39
|
-
ref: React.Ref<HTMLElement>,
|
|
40
|
-
): JSX.Element => {
|
|
41
|
-
// @TODO: empty state
|
|
42
|
-
if (!title) {
|
|
43
|
-
return <></>
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
let PreviewMedia
|
|
47
|
-
|
|
48
|
-
if (media?.url) {
|
|
49
|
-
const baseUrl = new URL(media.url)
|
|
50
|
-
baseUrl.searchParams.set('h', '66')
|
|
51
|
-
baseUrl.searchParams.set('w', '66')
|
|
52
|
-
baseUrl.searchParams.set('fit', 'crop')
|
|
53
|
-
const mediaUrl = baseUrl.toString()
|
|
54
|
-
// media url string params for sanity img
|
|
55
|
-
PreviewMedia = <img src={mediaUrl} alt="" />
|
|
56
|
-
} else {
|
|
57
|
-
PreviewMedia = <DocumentIcon />
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
return (
|
|
61
|
-
<>
|
|
62
|
-
<style>{`
|
|
63
|
-
.DocumentPreviewLayout {
|
|
64
|
-
--_hoverFocusBg: light-dark(var(--shade-11), var(--tint-1));
|
|
65
|
-
--_selectedBg: light-dark(var(--blue-10), var(--blue-2));
|
|
66
|
-
--_selectedFg: light-dark(var(--gray-1), var(--gray-10));
|
|
67
|
-
--_titleFg: light-dark(var(--gray-1), var(--gray-10));
|
|
68
|
-
--_subtitleFg: light-dark(var(--gray-4), var(--gray-7));
|
|
69
|
-
--_docTypeFg: light-dark(var(--gray-1), var(--gray-10));
|
|
70
|
-
--_docTypeBg: light-dark(var(--shade-10), var(--tint-1));
|
|
71
|
-
--_publishedFg: light-dark(var(--gray-1), var(--gray-10));
|
|
72
|
-
--_publishedBg: light-dark(var(--green-10), var(--green-2));
|
|
73
|
-
--_draftFg: light-dark(var(--gray-1), var(--gray-10));
|
|
74
|
-
--_draftBg: light-dark(var(--yellow-6), var(--yellow-2));
|
|
75
|
-
|
|
76
|
-
appearance: none;
|
|
77
|
-
|
|
78
|
-
&:has(:hover, focus) {
|
|
79
|
-
background-color: var(--hoverFocusBg, var(--_hoverFocusBg));
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
&.selected {
|
|
83
|
-
background-color: var(--selectedBg, var(--_selectedBg));
|
|
84
|
-
color: var(--selectedFg, var(--_selectedFg));
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
.Title {
|
|
88
|
-
color: var(--titleFg, var(--_titleFg));
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
&:not(.selected) .Subtitle {
|
|
92
|
-
color: var(--subtitleFg, var(--_subtitleFg));
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
.Media {
|
|
96
|
-
aspect-ratio: 1;
|
|
97
|
-
inline-size: 33px;
|
|
98
|
-
border-color: var(--gray-8);
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
.DocType {
|
|
102
|
-
color: var(--docTypeFg, var(--_docTypeFg));
|
|
103
|
-
background-color: var(--docTypeBg, var(--_docTypeBg));
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
.Published {
|
|
107
|
-
color: var(--publishedFg, var(--_publishedFg));
|
|
108
|
-
background-color: var(--publishedBg, var(--_publishedBg));
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
.Draft {
|
|
112
|
-
color: var(--draftFg, var(--_draftFg));
|
|
113
|
-
background-color: var(--draftBg, var(--_draftBg));
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
:is(.Published, .Draft) figcaption {
|
|
117
|
-
@container (width < 52ch) {
|
|
118
|
-
clip: rect(0 0 0 0);
|
|
119
|
-
clip-path: inset(50%);
|
|
120
|
-
height: 1px;
|
|
121
|
-
overflow: hidden;
|
|
122
|
-
position: absolute;
|
|
123
|
-
white-space: nowrap;
|
|
124
|
-
width: 1px;
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
}
|
|
129
|
-
`}</style>
|
|
130
|
-
<button
|
|
131
|
-
onClick={onClick}
|
|
132
|
-
ref={ref as React.Ref<HTMLButtonElement>}
|
|
133
|
-
className={`DocumentPreviewLayout block si-100 text-start p-1 radius1 ${selected ? 'selected' : ''}`}
|
|
134
|
-
>
|
|
135
|
-
<div className="container-inline flex align-items-center gap-2 font-sans">
|
|
136
|
-
<figure className="Media border0 border-solid flex-none flex align-items-center justify-content-center object-cover">
|
|
137
|
-
{PreviewMedia}
|
|
138
|
-
</figure>
|
|
139
|
-
|
|
140
|
-
<div className="leading2 flex-grow overflow-hidden">
|
|
141
|
-
<p className="Title text-1 font-medium truncate">{title}</p>
|
|
142
|
-
{subtitle && <p className="Subtitle text-1 truncate">{subtitle}</p>}
|
|
143
|
-
</div>
|
|
144
|
-
|
|
145
|
-
{docType && (
|
|
146
|
-
<figure className="DocType inline-block pb-5 pi-3 radius-pill text-2">
|
|
147
|
-
<figcaption className="inline">{docType}</figcaption>
|
|
148
|
-
</figure>
|
|
149
|
-
)}
|
|
150
|
-
|
|
151
|
-
{/* @TODO: finalize UI for this */}
|
|
152
|
-
{status === 'published' && (
|
|
153
|
-
<figure className="Published inline-block pb-5 pi-3 radius-pill text-2">
|
|
154
|
-
✔︎ <figcaption className="inline">published</figcaption>
|
|
155
|
-
</figure>
|
|
156
|
-
)}
|
|
157
|
-
|
|
158
|
-
{/* @TODO: finalize UI for this */}
|
|
159
|
-
{status === 'draft' && (
|
|
160
|
-
<figure className="Draft inline-block pb-5 pi-3 radius-pill text-2">
|
|
161
|
-
⛑︎ <figcaption className="inline">draft</figcaption>
|
|
162
|
-
</figure>
|
|
163
|
-
)}
|
|
164
|
-
</div>
|
|
165
|
-
</button>
|
|
166
|
-
</>
|
|
167
|
-
)
|
|
168
|
-
},
|
|
169
|
-
)
|
|
170
|
-
|
|
171
|
-
DocumentPreviewLayout.displayName = 'DocumentPreviewLayout'
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import {type SanityInstance} from '@sanity/sdk'
|
|
2
|
-
import {createContext, type ReactElement} from 'react'
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* @public
|
|
6
|
-
*/
|
|
7
|
-
export interface SanityProviderProps {
|
|
8
|
-
children: React.ReactNode
|
|
9
|
-
sanityInstance: SanityInstance
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
export const SanityInstanceContext = createContext<SanityInstance | null>(null)
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Top-level context provider that provides a Sanity configuration instance.
|
|
16
|
-
* This must wrap any Sanity SDK React component.
|
|
17
|
-
* @public
|
|
18
|
-
* @param props - Sanity project and dataset configuration
|
|
19
|
-
* @returns Rendered component
|
|
20
|
-
* @example
|
|
21
|
-
* ```tsx
|
|
22
|
-
* import {createSanityInstance} from '@sanity/sdk'
|
|
23
|
-
* import {ExampleComponent, SanityProvider} from '@sanity/sdk-react'
|
|
24
|
-
*
|
|
25
|
-
* const sanityInstance = createSanityInstance({projectId: 'your-project-id', dataset: 'production'})
|
|
26
|
-
*
|
|
27
|
-
* export default function MyApp() {
|
|
28
|
-
* return (
|
|
29
|
-
* <SanityProvider sanityInstance={sanityInstance}>
|
|
30
|
-
* <ExampleComponent />
|
|
31
|
-
* </SanityProvider>
|
|
32
|
-
* )
|
|
33
|
-
* }
|
|
34
|
-
* ```
|
|
35
|
-
*/
|
|
36
|
-
export const SanityProvider = ({children, sanityInstance}: SanityProviderProps): ReactElement => {
|
|
37
|
-
return (
|
|
38
|
-
<SanityInstanceContext.Provider value={sanityInstance}>
|
|
39
|
-
{children}
|
|
40
|
-
</SanityInstanceContext.Provider>
|
|
41
|
-
)
|
|
42
|
-
}
|
package/src/css/css.config.js
DELETED
|
@@ -1,220 +0,0 @@
|
|
|
1
|
-
export default {
|
|
2
|
-
color: {
|
|
3
|
-
spots: {
|
|
4
|
-
'tint-0': 'hsla(0, 0%, 100%, 0.035)',
|
|
5
|
-
'tint-1': 'hsla(0, 0%, 100%, 0.1)',
|
|
6
|
-
'tint-2': 'hsla(0, 0%, 100%, 0.19)',
|
|
7
|
-
'tint-3': 'hsla(0, 0%, 100%, 0.28)',
|
|
8
|
-
'tint-4': 'hsla(0, 0%, 100%, 0.36)',
|
|
9
|
-
'tint-5': 'hsla(0, 0%, 100%, 0.45)',
|
|
10
|
-
'tint-6': 'hsla(0, 0%, 100%, 0.55)',
|
|
11
|
-
'tint-7': 'hsla(0, 0%, 100%, 0.64)',
|
|
12
|
-
'tint-8': 'hsla(0, 0%, 100%, 0.73)',
|
|
13
|
-
'tint-9': 'hsla(0, 0%, 100%, 0.815)',
|
|
14
|
-
'tint-10': 'hsla(0, 0%, 100%, 0.895)',
|
|
15
|
-
'tint-11': 'hsla(0, 0%, 100%, 0.94)',
|
|
16
|
-
|
|
17
|
-
'shade-0': 'hsla(0, 0%, 0%, 0.94)',
|
|
18
|
-
'shade-1': 'hsla(0, 0%, 0%, 0.899)',
|
|
19
|
-
'shade-2': 'hsla(0, 0%, 0%, 0.8)',
|
|
20
|
-
'shade-3': 'hsla(0, 0%, 0%, 0.69)',
|
|
21
|
-
'shade-4': 'hsla(0, 0%, 0%, 0.6)',
|
|
22
|
-
'shade-5': 'hsla(0, 0%, 0%, 0.5)',
|
|
23
|
-
'shade-6': 'hsla(0, 0%, 0%, 0.41)',
|
|
24
|
-
'shade-7': 'hsla(0, 0%, 0%, 0.32)',
|
|
25
|
-
'shade-8': 'hsla(0, 0%, 0%, 0.24)',
|
|
26
|
-
'shade-9': 'hsla(0, 0%, 0%, 0.16)',
|
|
27
|
-
'shade-10': 'hsla(0, 0%, 0%, 0.07)',
|
|
28
|
-
'shade-11': 'hsla(0, 0%, 0%, 0.035)',
|
|
29
|
-
|
|
30
|
-
'gray-0': '#000000',
|
|
31
|
-
'gray-1': '#1a1a1a',
|
|
32
|
-
'gray-2': '#353535',
|
|
33
|
-
'gray-3': '#4e4e4e',
|
|
34
|
-
'gray-4': '#686868',
|
|
35
|
-
'gray-5': '#808080',
|
|
36
|
-
'gray-6': '#979797',
|
|
37
|
-
'gray-7': '#adadad',
|
|
38
|
-
'gray-8': '#c2c2c2',
|
|
39
|
-
'gray-9': '#d7d7d7',
|
|
40
|
-
'gray-10': '#ebebeb',
|
|
41
|
-
'gray-11': '#ffffff',
|
|
42
|
-
|
|
43
|
-
'slate-gray-0': '#0c0c0e',
|
|
44
|
-
'slate-gray-1': '#26262c',
|
|
45
|
-
'slate-gray-2': '#403f49',
|
|
46
|
-
'slate-gray-3': '#595865',
|
|
47
|
-
'slate-gray-4': '#71707f',
|
|
48
|
-
'slate-gray-5': '#878697',
|
|
49
|
-
'slate-gray-6': '#9d9cad',
|
|
50
|
-
'slate-gray-7': '#b1b0c0',
|
|
51
|
-
'slate-gray-8': '#c4c4d0',
|
|
52
|
-
'slate-gray-9': '#d7d6e0',
|
|
53
|
-
'slate-gray-10': '#e8e8ee',
|
|
54
|
-
'slate-gray-11': '#fafafb',
|
|
55
|
-
|
|
56
|
-
'blue-0': '#060c16',
|
|
57
|
-
'blue-1': '#122443',
|
|
58
|
-
'blue-2': '#1f3c6f',
|
|
59
|
-
'blue-3': '#2e5397',
|
|
60
|
-
'blue-4': '#3e6aba',
|
|
61
|
-
'blue-5': '#5180d7',
|
|
62
|
-
'blue-6': '#6696ec',
|
|
63
|
-
'blue-7': '#7faaf9',
|
|
64
|
-
'blue-8': '#99beff',
|
|
65
|
-
'blue-9': '#b6d2ff',
|
|
66
|
-
'blue-10': '#d4e4ff',
|
|
67
|
-
'blue-11': '#f2f7ff',
|
|
68
|
-
|
|
69
|
-
'indigo-0': '#0d0a18',
|
|
70
|
-
'indigo-1': '#271f4b',
|
|
71
|
-
'indigo-2': '#41337b',
|
|
72
|
-
'indigo-3': '#5b48a6',
|
|
73
|
-
'indigo-4': '#735dcc',
|
|
74
|
-
'indigo-5': '#8a72ea',
|
|
75
|
-
'indigo-6': '#a088ff',
|
|
76
|
-
'indigo-7': '#b39eff',
|
|
77
|
-
'indigo-8': '#c6b3ff',
|
|
78
|
-
'indigo-9': '#d7c9ff',
|
|
79
|
-
'indigo-10': '#e8e0ff',
|
|
80
|
-
'indigo-11': '#f8f6ff',
|
|
81
|
-
|
|
82
|
-
'violet-0': '#160a1b',
|
|
83
|
-
'violet-1': '#3b1a47',
|
|
84
|
-
'violet-2': '#5e2a72',
|
|
85
|
-
'violet-3': '#7f3c98',
|
|
86
|
-
'violet-4': '#9d4eba',
|
|
87
|
-
'violet-5': '#b662d6',
|
|
88
|
-
'violet-6': '#cb77eb',
|
|
89
|
-
'violet-7': '#db8ef8',
|
|
90
|
-
'violet-8': '#e7a6ff',
|
|
91
|
-
'violet-9': '#f0c0ff',
|
|
92
|
-
'violet-10': '#f7daff',
|
|
93
|
-
'violet-11': '#fdf4ff',
|
|
94
|
-
|
|
95
|
-
'magenta-0': '#130811',
|
|
96
|
-
'magenta-1': '#381831',
|
|
97
|
-
'magenta-2': '#5c2850',
|
|
98
|
-
'magenta-3': '#803870',
|
|
99
|
-
'magenta-4': '#a4488f',
|
|
100
|
-
'magenta-5': '#c858af',
|
|
101
|
-
'magenta-6': '#db6ec3',
|
|
102
|
-
'magenta-7': '#e289ce',
|
|
103
|
-
'magenta-8': '#e8a4d9',
|
|
104
|
-
'magenta-9': '#efbfe4',
|
|
105
|
-
'magenta-10': '#f6daf0',
|
|
106
|
-
'magenta-11': '#fdf5fb',
|
|
107
|
-
|
|
108
|
-
'red-0': '#130707',
|
|
109
|
-
'red-1': '#3b1516',
|
|
110
|
-
'red-2': '#632325',
|
|
111
|
-
'red-3': '#8b3233',
|
|
112
|
-
'red-4': '#b34042',
|
|
113
|
-
'red-5': '#db4e51',
|
|
114
|
-
'red-6': '#f06467',
|
|
115
|
-
'red-7': '#f28183',
|
|
116
|
-
'red-8': '#f59d9f',
|
|
117
|
-
'red-9': '#f8babb',
|
|
118
|
-
'red-10': '#fbd7d7',
|
|
119
|
-
'red-11': '#fef3f3',
|
|
120
|
-
|
|
121
|
-
'red-orange-0': '#120705',
|
|
122
|
-
'red-orange-1': '#371410',
|
|
123
|
-
'red-orange-2': '#5c221a',
|
|
124
|
-
'red-orange-3': '#813025',
|
|
125
|
-
'red-orange-4': '#a63e2f',
|
|
126
|
-
'red-orange-5': '#cc4c3a',
|
|
127
|
-
'red-orange-6': '#e06150',
|
|
128
|
-
'red-orange-7': '#e67f70',
|
|
129
|
-
'red-orange-8': '#eb9c91',
|
|
130
|
-
'red-orange-9': '#f1b9b1',
|
|
131
|
-
'red-orange-10': '#f7d6d1',
|
|
132
|
-
'red-orange-11': '#fdf3f2',
|
|
133
|
-
|
|
134
|
-
'orange-0': '#201307',
|
|
135
|
-
'orange-1': '#43240f',
|
|
136
|
-
'orange-2': '#693612',
|
|
137
|
-
'orange-3': '#8f4812',
|
|
138
|
-
'orange-4': '#b05710',
|
|
139
|
-
'orange-5': '#d1660c',
|
|
140
|
-
'orange-6': '#f47603',
|
|
141
|
-
'orange-7': '#ff8f32',
|
|
142
|
-
'orange-8': '#ffa960',
|
|
143
|
-
'orange-9': '#ffc28c',
|
|
144
|
-
'orange-10': '#ffdab8',
|
|
145
|
-
'orange-11': '#fff2e7',
|
|
146
|
-
|
|
147
|
-
'yellow-0': '#000000',
|
|
148
|
-
'yellow-1': '#413b15',
|
|
149
|
-
'yellow-2': '#655c19',
|
|
150
|
-
'yellow-3': '#857a1a',
|
|
151
|
-
'yellow-4': '#a1941a',
|
|
152
|
-
'yellow-5': '#c0b017',
|
|
153
|
-
'yellow-6': '#eedb0b',
|
|
154
|
-
'yellow-7': '#feee45',
|
|
155
|
-
'yellow-8': '#fdf377',
|
|
156
|
-
'yellow-9': '#fdf8a2',
|
|
157
|
-
'yellow-10': '#fdfcca',
|
|
158
|
-
'yellow-11': '#fffff1',
|
|
159
|
-
|
|
160
|
-
'green-0': '#011409',
|
|
161
|
-
'green-1': '#0a311e',
|
|
162
|
-
'green-2': '#134d33',
|
|
163
|
-
'green-3': '#1b6846',
|
|
164
|
-
'green-4': '#238158',
|
|
165
|
-
'green-5': '#2b9968',
|
|
166
|
-
'green-6': '#34b379',
|
|
167
|
-
'green-7': '#45dc8f',
|
|
168
|
-
'green-8': '#58f19c',
|
|
169
|
-
'green-9': '#9ef4c4',
|
|
170
|
-
'green-10': '#c5f9dd',
|
|
171
|
-
'green-11': '#effff9',
|
|
172
|
-
|
|
173
|
-
'teal-0': '#080e0c',
|
|
174
|
-
'teal-1': '#152621',
|
|
175
|
-
'teal-2': '#1d3f35',
|
|
176
|
-
'teal-3': '#25594a',
|
|
177
|
-
'teal-4': '#2b7560',
|
|
178
|
-
'teal-5': '#309178',
|
|
179
|
-
'teal-6': '#48a98e',
|
|
180
|
-
'teal-7': '#6eb9a1',
|
|
181
|
-
'teal-8': '#90c9b6',
|
|
182
|
-
'teal-9': '#b0d8ca',
|
|
183
|
-
'teal-10': '#d0e8df',
|
|
184
|
-
'teal-11': '#f0f8f5',
|
|
185
|
-
|
|
186
|
-
'cyan-0': '#000000',
|
|
187
|
-
'cyan-1': '#132223',
|
|
188
|
-
'cyan-2': '#1b3f41',
|
|
189
|
-
'cyan-3': '#205e62',
|
|
190
|
-
'cyan-4': '#237f84',
|
|
191
|
-
'cyan-5': '#21a2a8',
|
|
192
|
-
'cyan-6': '#45bbc1',
|
|
193
|
-
'cyan-7': '#74c9cd',
|
|
194
|
-
'cyan-8': '#9ad6d9',
|
|
195
|
-
'cyan-9': '#bde4e6',
|
|
196
|
-
'cyan-10': '#def2f2',
|
|
197
|
-
'cyan-11': '#ffffff',
|
|
198
|
-
},
|
|
199
|
-
},
|
|
200
|
-
fonts: {
|
|
201
|
-
sans: 'Inter, system-ui, Avenir, Helvetica, Arial, sans-serif',
|
|
202
|
-
},
|
|
203
|
-
grid: {
|
|
204
|
-
steps: 12,
|
|
205
|
-
},
|
|
206
|
-
spaceScale: {
|
|
207
|
-
steps: 6,
|
|
208
|
-
baseMin: 16,
|
|
209
|
-
baseMax: 16,
|
|
210
|
-
scaleMin: 'minor-third',
|
|
211
|
-
scaleMax: 'minor-third',
|
|
212
|
-
},
|
|
213
|
-
typeScale: {
|
|
214
|
-
steps: 6,
|
|
215
|
-
baseMin: 16,
|
|
216
|
-
baseMax: 16,
|
|
217
|
-
scaleMin: 'minor-third',
|
|
218
|
-
scaleMax: 'minor-third',
|
|
219
|
-
},
|
|
220
|
-
}
|