sanity-plugin-media 1.4.10 → 2.0.0-v3-studio.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 +70 -26
- package/lib/cjs/index.js +7833 -0
- package/lib/cjs/index.js.map +1 -0
- package/lib/esm/index.js +7825 -0
- package/lib/esm/index.js.map +1 -0
- package/lib/types/index.d.ts +5 -0
- package/lib/types/index.d.ts.map +1 -0
- package/package.json +61 -48
- package/src/components/AssetGridVirtualized/index.tsx +79 -0
- package/src/components/AssetMetadata/index.tsx +113 -0
- package/src/components/AssetTableVirtualized/index.tsx +71 -0
- package/src/components/Browser/index.tsx +156 -0
- package/src/components/ButtonAssetCopy/index.tsx +67 -0
- package/src/components/ButtonViewGroup/index.tsx +39 -0
- package/src/components/CardAsset/index.tsx +266 -0
- package/src/components/CardUpload/index.tsx +157 -0
- package/src/components/Controls/index.tsx +135 -0
- package/src/components/DebugControls/index.tsx +77 -0
- package/src/components/Dialog/index.tsx +11 -0
- package/src/components/DialogAssetEdit/index.tsx +425 -0
- package/src/components/DialogConfirm/index.tsx +89 -0
- package/src/components/DialogSearchFacets/index.tsx +43 -0
- package/src/components/DialogTagCreate/index.tsx +122 -0
- package/src/components/DialogTagEdit/index.tsx +213 -0
- package/src/components/DialogTags/index.tsx +48 -0
- package/src/components/Dialogs/index.tsx +77 -0
- package/src/components/DocumentList/index.tsx +107 -0
- package/src/components/FileAssetPreview/index.tsx +37 -0
- package/src/components/FileIcon/index.tsx +41 -0
- package/src/components/FormBuilderTool/index.tsx +51 -0
- package/src/components/FormFieldInputFilename/index.tsx +50 -0
- package/src/components/FormFieldInputLabel/index.tsx +67 -0
- package/src/components/FormFieldInputTags/index.tsx +97 -0
- package/src/components/FormFieldInputText/index.tsx +41 -0
- package/src/components/FormFieldInputTextarea/index.tsx +43 -0
- package/src/components/FormSubmitButton/index.tsx +57 -0
- package/src/components/Header/index.tsx +76 -0
- package/src/components/Image/index.tsx +32 -0
- package/src/components/Items/index.tsx +67 -0
- package/src/components/Notifications/index.tsx +23 -0
- package/src/components/OrderSelect/index.tsx +59 -0
- package/src/components/PickedBar/index.tsx +75 -0
- package/src/components/Portal/index.tsx +24 -0
- package/src/components/Progress/index.tsx +39 -0
- package/src/components/ReduxProvider/index.tsx +74 -0
- package/src/components/SearchFacet/index.tsx +59 -0
- package/src/components/SearchFacetNumber/index.tsx +126 -0
- package/src/components/SearchFacetSelect/index.tsx +109 -0
- package/src/components/SearchFacetString/index.tsx +85 -0
- package/src/components/SearchFacetTags/index.tsx +108 -0
- package/src/components/SearchFacets/index.tsx +70 -0
- package/src/components/SearchFacetsControl/index.tsx +127 -0
- package/src/components/TableHeader/index.tsx +102 -0
- package/src/components/TableHeaderItem/index.tsx +61 -0
- package/src/components/TableRowAsset/index.tsx +334 -0
- package/src/components/TableRowUpload/index.tsx +165 -0
- package/src/components/Tag/index.tsx +199 -0
- package/src/components/TagIcon/index.tsx +24 -0
- package/src/components/TagView/index.tsx +48 -0
- package/src/components/TagViewHeader/index.tsx +71 -0
- package/src/components/TagsPanel/index.tsx +40 -0
- package/src/components/TagsVirtualized/index.tsx +159 -0
- package/src/components/TextInputNumber/index.tsx +32 -0
- package/src/components/TextInputSearch/index.tsx +59 -0
- package/src/components/Tool/index.tsx +13 -0
- package/src/components/UploadDropzone/index.tsx +150 -0
- package/src/config/orders.ts +28 -0
- package/src/config/searchFacets.ts +301 -0
- package/src/constants.ts +75 -0
- package/src/contexts/AssetSourceDispatchContext.tsx +37 -0
- package/src/contexts/DropzoneDispatchContext.tsx +34 -0
- package/src/hooks/useBreakpointIndex.ts +49 -0
- package/src/hooks/useKeyPress.ts +37 -0
- package/src/hooks/useOnScreen.ts +34 -0
- package/src/hooks/useTypedSelector.ts +7 -0
- package/src/index.ts +44 -0
- package/src/modules/assets/actions.ts +41 -0
- package/src/modules/assets/index.ts +806 -0
- package/src/modules/debug/index.ts +28 -0
- package/src/modules/dialog/actions.ts +10 -0
- package/src/modules/dialog/index.ts +233 -0
- package/src/modules/index.ts +109 -0
- package/src/modules/notifications/index.ts +178 -0
- package/src/modules/search/index.ts +134 -0
- package/src/modules/selected/index.ts +22 -0
- package/src/modules/selectors.ts +17 -0
- package/src/modules/tags/index.ts +544 -0
- package/src/modules/types.ts +9 -0
- package/src/modules/uploads/actions.ts +13 -0
- package/src/modules/uploads/index.ts +283 -0
- package/src/operators/checkTagName.ts +32 -0
- package/src/operators/debugThrottle.ts +25 -0
- package/src/schemas/tag.ts +28 -0
- package/src/styled/GlobalStyles/index.tsx +41 -0
- package/src/styled/react-select/creatable.tsx +187 -0
- package/src/styled/react-select/single.tsx +190 -0
- package/src/styled/theme.ts +12 -0
- package/src/types/index.ts +332 -0
- package/src/utils/blocksToText.ts +27 -0
- package/src/utils/constructFilter.ts +98 -0
- package/src/utils/generatePreviewBlobUrl.ts +47 -0
- package/src/utils/getAssetResolution.ts +7 -0
- package/src/utils/getDocumentAssetIds.ts +35 -0
- package/src/utils/getTagSelectOptions.ts +16 -0
- package/src/utils/imageDprUrl.ts +27 -0
- package/src/utils/sanitizeFormData.ts +26 -0
- package/src/utils/typeGuards.ts +9 -0
- package/src/utils/uploadSanityAsset.ts +93 -0
- package/src/utils/withMaxConcurrency.ts +55 -0
- package/CHANGELOG.md +0 -261
- package/dist/app.js +0 -78
- package/dist/app.js.map +0 -1
- package/dist/client.js +0 -12
- package/dist/client.js.map +0 -1
- package/dist/components/AssetGridVirtualized/index.js +0 -72
- package/dist/components/AssetGridVirtualized/index.js.map +0 -1
- package/dist/components/AssetMetadata/index.js +0 -61
- package/dist/components/AssetMetadata/index.js.map +0 -1
- package/dist/components/AssetTableVirtualized/index.js +0 -65
- package/dist/components/AssetTableVirtualized/index.js.map +0 -1
- package/dist/components/Browser/index.js +0 -112
- package/dist/components/Browser/index.js.map +0 -1
- package/dist/components/ButtonAssetCopy/index.js +0 -74
- package/dist/components/ButtonAssetCopy/index.js.map +0 -1
- package/dist/components/ButtonViewGroup/index.js +0 -27
- package/dist/components/ButtonViewGroup/index.js.map +0 -1
- package/dist/components/CardAsset/index.js +0 -171
- package/dist/components/CardAsset/index.js.map +0 -1
- package/dist/components/CardUpload/index.js +0 -87
- package/dist/components/CardUpload/index.js.map +0 -1
- package/dist/components/Controls/index.js +0 -74
- package/dist/components/Controls/index.js.map +0 -1
- package/dist/components/DebugControls/index.js +0 -51
- package/dist/components/DebugControls/index.js.map +0 -1
- package/dist/components/Dialog/index.js +0 -26
- package/dist/components/Dialog/index.js.map +0 -1
- package/dist/components/DialogAssetEdit/index.js +0 -304
- package/dist/components/DialogAssetEdit/index.js.map +0 -1
- package/dist/components/DialogConfirm/index.js +0 -49
- package/dist/components/DialogConfirm/index.js.map +0 -1
- package/dist/components/DialogSearchFacets/index.js +0 -48
- package/dist/components/DialogSearchFacets/index.js.map +0 -1
- package/dist/components/DialogTagCreate/index.js +0 -127
- package/dist/components/DialogTagCreate/index.js.map +0 -1
- package/dist/components/DialogTagEdit/index.js +0 -214
- package/dist/components/DialogTagEdit/index.js.map +0 -1
- package/dist/components/DialogTags/index.js +0 -52
- package/dist/components/DialogTags/index.js.map +0 -1
- package/dist/components/Dialogs/index.js +0 -46
- package/dist/components/Dialogs/index.js.map +0 -1
- package/dist/components/DocumentList/index.js +0 -51
- package/dist/components/DocumentList/index.js.map +0 -1
- package/dist/components/FileAssetPreview/index.js +0 -24
- package/dist/components/FileAssetPreview/index.js.map +0 -1
- package/dist/components/FileIcon/index.js +0 -34
- package/dist/components/FileIcon/index.js.map +0 -1
- package/dist/components/FormFieldInputFilename/index.js +0 -39
- package/dist/components/FormFieldInputFilename/index.js.map +0 -1
- package/dist/components/FormFieldInputLabel/index.js +0 -32
- package/dist/components/FormFieldInputLabel/index.js.map +0 -1
- package/dist/components/FormFieldInputTags/index.js +0 -41
- package/dist/components/FormFieldInputTags/index.js.map +0 -1
- package/dist/components/FormFieldInputText/index.js +0 -35
- package/dist/components/FormFieldInputText/index.js.map +0 -1
- package/dist/components/FormFieldInputTextarea/index.js +0 -35
- package/dist/components/FormFieldInputTextarea/index.js.map +0 -1
- package/dist/components/FormSubmitButton/index.js +0 -34
- package/dist/components/FormSubmitButton/index.js.map +0 -1
- package/dist/components/Header/index.js +0 -38
- package/dist/components/Header/index.js.map +0 -1
- package/dist/components/Image/index.js +0 -34
- package/dist/components/Image/index.js.map +0 -1
- package/dist/components/Items/index.js +0 -66
- package/dist/components/Items/index.js.map +0 -1
- package/dist/components/Notifications/index.js +0 -25
- package/dist/components/Notifications/index.js.map +0 -1
- package/dist/components/OrderSelect/index.js +0 -30
- package/dist/components/OrderSelect/index.js.map +0 -1
- package/dist/components/PickedBar/index.js +0 -50
- package/dist/components/PickedBar/index.js.map +0 -1
- package/dist/components/Progress/index.js +0 -30
- package/dist/components/Progress/index.js.map +0 -1
- package/dist/components/ReduxProvider/index.js +0 -100
- package/dist/components/ReduxProvider/index.js.map +0 -1
- package/dist/components/SearchFacet/index.js +0 -38
- package/dist/components/SearchFacet/index.js.map +0 -1
- package/dist/components/SearchFacetNumber/index.js +0 -43
- package/dist/components/SearchFacetNumber/index.js.map +0 -1
- package/dist/components/SearchFacetSelect/index.js +0 -39
- package/dist/components/SearchFacetSelect/index.js.map +0 -1
- package/dist/components/SearchFacetString/index.js +0 -35
- package/dist/components/SearchFacetString/index.js.map +0 -1
- package/dist/components/SearchFacetTags/index.js +0 -49
- package/dist/components/SearchFacetTags/index.js.map +0 -1
- package/dist/components/SearchFacets/index.js +0 -52
- package/dist/components/SearchFacets/index.js.map +0 -1
- package/dist/components/SearchFacetsControl/index.js +0 -71
- package/dist/components/SearchFacetsControl/index.js.map +0 -1
- package/dist/components/TableHeader/index.js +0 -80
- package/dist/components/TableHeader/index.js.map +0 -1
- package/dist/components/TableHeaderItem/index.js +0 -44
- package/dist/components/TableHeaderItem/index.js.map +0 -1
- package/dist/components/TableRowAsset/index.js +0 -216
- package/dist/components/TableRowAsset/index.js.map +0 -1
- package/dist/components/TableRowUpload/index.js +0 -100
- package/dist/components/TableRowUpload/index.js.map +0 -1
- package/dist/components/Tag/index.js +0 -98
- package/dist/components/Tag/index.js.map +0 -1
- package/dist/components/TagIcon/index.js +0 -12
- package/dist/components/TagIcon/index.js.map +0 -1
- package/dist/components/TagView/index.js +0 -35
- package/dist/components/TagView/index.js.map +0 -1
- package/dist/components/TagViewHeader/index.js +0 -41
- package/dist/components/TagViewHeader/index.js.map +0 -1
- package/dist/components/TagsPanel/index.js +0 -34
- package/dist/components/TagsPanel/index.js.map +0 -1
- package/dist/components/TagsVirtualized/index.js +0 -150
- package/dist/components/TagsVirtualized/index.js.map +0 -1
- package/dist/components/TextInputNumber/index.js +0 -43
- package/dist/components/TextInputNumber/index.js.map +0 -1
- package/dist/components/TextInputSearch/index.js +0 -39
- package/dist/components/TextInputSearch/index.js.map +0 -1
- package/dist/components/UploadDropzone/index.js +0 -207
- package/dist/components/UploadDropzone/index.js.map +0 -1
- package/dist/config/orders.js +0 -30
- package/dist/config/orders.js.map +0 -1
- package/dist/config/searchFacets.js +0 -304
- package/dist/config/searchFacets.js.map +0 -1
- package/dist/constants.js +0 -76
- package/dist/constants.js.map +0 -1
- package/dist/contexts/AssetSourceDispatchContext.js +0 -42
- package/dist/contexts/AssetSourceDispatchContext.js.map +0 -1
- package/dist/contexts/DropzoneDispatchContext.js +0 -40
- package/dist/contexts/DropzoneDispatchContext.js.map +0 -1
- package/dist/hooks/useBreakpointIndex.js +0 -66
- package/dist/hooks/useBreakpointIndex.js.map +0 -1
- package/dist/hooks/useKeyPress.js +0 -36
- package/dist/hooks/useKeyPress.js.map +0 -1
- package/dist/hooks/useOnScreen.js +0 -48
- package/dist/hooks/useOnScreen.js.map +0 -1
- package/dist/hooks/useTypedSelector.js +0 -6
- package/dist/hooks/useTypedSelector.js.map +0 -1
- package/dist/index.js +0 -14
- package/dist/index.js.map +0 -1
- package/dist/modules/assets/index.js +0 -599
- package/dist/modules/assets/index.js.map +0 -1
- package/dist/modules/debug/index.js +0 -23
- package/dist/modules/debug/index.js.map +0 -1
- package/dist/modules/dialog/index.js +0 -184
- package/dist/modules/dialog/index.js.map +0 -1
- package/dist/modules/index.js +0 -47
- package/dist/modules/index.js.map +0 -1
- package/dist/modules/notifications/index.js +0 -122
- package/dist/modules/notifications/index.js.map +0 -1
- package/dist/modules/search/index.js +0 -111
- package/dist/modules/search/index.js.map +0 -1
- package/dist/modules/selected/index.js +0 -15
- package/dist/modules/selected/index.js.map +0 -1
- package/dist/modules/selectors.js +0 -34
- package/dist/modules/selectors.js.map +0 -1
- package/dist/modules/tags/index.js +0 -434
- package/dist/modules/tags/index.js.map +0 -1
- package/dist/modules/types.js +0 -3
- package/dist/modules/types.js.map +0 -1
- package/dist/modules/uploads/index.js +0 -223
- package/dist/modules/uploads/index.js.map +0 -1
- package/dist/operators/checkTagName.js +0 -34
- package/dist/operators/checkTagName.js.map +0 -1
- package/dist/operators/debugThrottle.js +0 -19
- package/dist/operators/debugThrottle.js.map +0 -1
- package/dist/schemas/tag.js +0 -33
- package/dist/schemas/tag.js.map +0 -1
- package/dist/styled/GlobalStyles/index.js +0 -14
- package/dist/styled/GlobalStyles/index.js.map +0 -1
- package/dist/styled/react-select/creatable.js +0 -114
- package/dist/styled/react-select/creatable.js.map +0 -1
- package/dist/styled/react-select/single.js +0 -107
- package/dist/styled/react-select/single.js.map +0 -1
- package/dist/styled/theme.js +0 -13
- package/dist/styled/theme.js.map +0 -1
- package/dist/types/index.js +0 -3
- package/dist/types/index.js.map +0 -1
- package/dist/utils/blocksToText.js +0 -26
- package/dist/utils/blocksToText.js.map +0 -1
- package/dist/utils/constructFilter.js +0 -94
- package/dist/utils/constructFilter.js.map +0 -1
- package/dist/utils/generatePreviewBlobUrl.js +0 -88
- package/dist/utils/generatePreviewBlobUrl.js.map +0 -1
- package/dist/utils/getAssetResolution.js +0 -7
- package/dist/utils/getAssetResolution.js.map +0 -1
- package/dist/utils/getDocumentAssetIds.js +0 -52
- package/dist/utils/getDocumentAssetIds.js.map +0 -1
- package/dist/utils/getTagSelectOptions.js +0 -17
- package/dist/utils/getTagSelectOptions.js.map +0 -1
- package/dist/utils/imageDprUrl.js +0 -18
- package/dist/utils/imageDprUrl.js.map +0 -1
- package/dist/utils/sanitizeFormData.js +0 -26
- package/dist/utils/sanitizeFormData.js.map +0 -1
- package/dist/utils/typeGuards.js +0 -12
- package/dist/utils/typeGuards.js.map +0 -1
- package/dist/utils/uploadSanityAsset.js +0 -77
- package/dist/utils/uploadSanityAsset.js.map +0 -1
- package/dist/utils/withMaxConcurrency.js +0 -79
- package/dist/utils/withMaxConcurrency.js.map +0 -1
- package/sanity.json +0 -25
package/README.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# Sanity Media
|
|
2
2
|
|
|
3
|
+
> ⚠️ This version of `sanity-plugin-media` is for [Sanity Studio V3](https://www.sanity.io/blog/sanity-studio-v3-developer-preview), which is currently in developer preview.
|
|
4
|
+
>
|
|
5
|
+
> The Studio V2 compatible version can be found on the [V2 branch](https://github.com/robinpyon/sanity-plugin-media).
|
|
6
|
+
|
|
7
|
+
## What is it?
|
|
8
|
+
|
|
3
9
|

|
|
4
10
|

|
|
5
11
|
|
|
@@ -40,51 +46,67 @@ _Individual asset view_
|
|
|
40
46
|
- Built with the same [UI components Sanity uses](https://www.sanity.io/ui) under the hood
|
|
41
47
|
- Fully responsive and mobile friendly
|
|
42
48
|
|
|
43
|
-
## Install
|
|
49
|
+
## Install (V3 Studio only)
|
|
44
50
|
|
|
45
|
-
In your Sanity project folder:
|
|
51
|
+
In your Sanity project folder, install the plugin and its peer dependency:
|
|
46
52
|
|
|
47
53
|
```sh
|
|
48
|
-
|
|
54
|
+
npm install --save sanity-plugin-media@v3-studio @mdx-js/react
|
|
49
55
|
```
|
|
50
56
|
|
|
51
|
-
|
|
57
|
+
or
|
|
52
58
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
59
|
+
```sh
|
|
60
|
+
yarn add sanity-plugin-media@v3-studio @mdx-js/react
|
|
61
|
+
```
|
|
56
62
|
|
|
57
|
-
|
|
63
|
+
`@mdx-js/react` will be removed as a dependency in a future version.
|
|
58
64
|
|
|
59
|
-
|
|
65
|
+
## Usage
|
|
60
66
|
|
|
61
|
-
|
|
67
|
+
Add it as a plugin in your `sanity.config.ts` (or .js) file:
|
|
62
68
|
|
|
63
|
-
|
|
69
|
+
```js
|
|
70
|
+
import {media} from 'sanity-plugin-media'
|
|
64
71
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
},
|
|
70
|
-
{
|
|
71
|
-
"implements": "part:@sanity/form-builder/input/file/asset-sources",
|
|
72
|
-
"path": "./parts/assetSources.js"
|
|
73
|
-
},
|
|
72
|
+
export default createConfig({
|
|
73
|
+
// ...
|
|
74
|
+
plugins: [media()]
|
|
75
|
+
})
|
|
74
76
|
```
|
|
75
77
|
|
|
76
|
-
|
|
78
|
+
This will enable the Media plugin as both a standalone tool (accessible in your studio menu) and as an additional asset source for your image and file fields.
|
|
77
79
|
|
|
78
|
-
|
|
79
|
-
import MediaAssetSource from 'part:sanity-plugin-media/asset-source'
|
|
80
|
+
### Customizing the asset source
|
|
80
81
|
|
|
81
|
-
|
|
82
|
-
```
|
|
82
|
+
You can configure your studio to use this asset source either exclusively, or conditionally enable it based on the type of asset (image or file).
|
|
83
83
|
|
|
84
|
-
|
|
84
|
+
```js
|
|
85
|
+
import {media, mediaAssetSource} from 'sanity-plugin-media'
|
|
86
|
+
|
|
87
|
+
export default createConfig({
|
|
88
|
+
// ...
|
|
89
|
+
plugins: [media()],
|
|
90
|
+
form: {
|
|
91
|
+
// Don't use this plugin when selecting files only (but allow all other enabled asset sources)
|
|
92
|
+
file: {
|
|
93
|
+
assetSources: previousAssetSources => {
|
|
94
|
+
return previousAssetSources.filter(assetSource => assetSource !== mediaAssetSource)
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
})
|
|
99
|
+
```
|
|
85
100
|
|
|
86
101
|
## Known issues
|
|
87
102
|
|
|
103
|
+
<details>
|
|
104
|
+
<summary>(V3) Where has the references tab gone?</summary>
|
|
105
|
+
|
|
106
|
+
- This will be enabled in a future version!
|
|
107
|
+
|
|
108
|
+
</details>
|
|
109
|
+
|
|
88
110
|
<details>
|
|
89
111
|
<summary>There isn't a way to edit asset fields directly from the desk (without opening the plugin)</summary>
|
|
90
112
|
|
|
@@ -233,3 +255,25 @@ Contributions, issues and feature requests are welcome!
|
|
|
233
255
|
## License
|
|
234
256
|
|
|
235
257
|
MIT. See [license](LICENSE)
|
|
258
|
+
|
|
259
|
+
## Develop & test
|
|
260
|
+
|
|
261
|
+
Make sure to run `npm run build` once, then run
|
|
262
|
+
|
|
263
|
+
```bash
|
|
264
|
+
npm run link-watch
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
In another shell, `cd` to your test studio and run:
|
|
268
|
+
|
|
269
|
+
```bash
|
|
270
|
+
npx yalc add sanity-plugin-media && yarn install
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
Now, changes in this repo will be automatically built and pushed to the studio,
|
|
274
|
+
triggering hotreload. Yalc avoids issues with react-hooks that are typical when using yarn/npm link.
|
|
275
|
+
|
|
276
|
+
### About build & watch
|
|
277
|
+
|
|
278
|
+
This plugin uses [@sanity/plugin-sdk](https://github.com/sanity-io/plugin-sdk)
|
|
279
|
+
with default configuration for build & watch scripts.
|