sanity-plugin-media 1.3.0 → 1.4.0-beta.2
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/CHANGELOG.md +35 -0
- package/README.md +18 -16
- package/dist/app.js +26 -7
- package/dist/app.js.map +1 -1
- package/dist/components/AssetGridVirtualized/index.js +72 -0
- package/dist/components/AssetGridVirtualized/index.js.map +1 -0
- package/dist/components/AssetTableVirtualized/index.js +65 -0
- package/dist/components/AssetTableVirtualized/index.js.map +1 -0
- package/dist/components/Browser/index.js +2 -2
- package/dist/components/Browser/index.js.map +1 -1
- package/dist/components/CardAsset/index.js +49 -50
- package/dist/components/CardAsset/index.js.map +1 -1
- package/dist/components/CardUpload/index.js +16 -25
- package/dist/components/CardUpload/index.js.map +1 -1
- package/dist/components/Cards/index.js +0 -1
- package/dist/components/Cards/index.js.map +1 -1
- package/dist/components/Dialog/index.js +26 -0
- package/dist/components/Dialog/index.js.map +1 -0
- package/dist/components/DialogAssetEdit/index.js +2 -1
- package/dist/components/DialogAssetEdit/index.js.map +1 -1
- package/dist/components/DialogConfirm/index.js +2 -1
- package/dist/components/DialogConfirm/index.js.map +1 -1
- package/dist/components/DialogSearchFacets/index.js +8 -2
- package/dist/components/DialogSearchFacets/index.js.map +1 -1
- package/dist/components/DialogTagCreate/index.js +2 -1
- package/dist/components/DialogTagCreate/index.js.map +1 -1
- package/dist/components/DialogTagEdit/index.js +2 -1
- package/dist/components/DialogTagEdit/index.js.map +1 -1
- package/dist/components/DialogTags/index.js +7 -4
- package/dist/components/DialogTags/index.js.map +1 -1
- package/dist/components/Dialogs/index.js +1 -1
- package/dist/components/Dialogs/index.js.map +1 -1
- package/dist/components/FormFieldInputTags/index.js +2 -1
- package/dist/components/FormFieldInputTags/index.js.map +1 -1
- package/dist/components/Header/index.js +5 -3
- package/dist/components/Header/index.js.map +1 -1
- package/dist/components/Items/index.js +6 -67
- package/dist/components/Items/index.js.map +1 -1
- package/dist/components/PanelHeader/index.js +0 -1
- package/dist/components/PickedBar/index.js +12 -14
- package/dist/components/PickedBar/index.js.map +1 -1
- package/dist/components/ReduxProvider/index.js +13 -0
- package/dist/components/ReduxProvider/index.js.map +1 -1
- package/dist/components/SearchFacetTags/index.js +2 -1
- package/dist/components/SearchFacetTags/index.js.map +1 -1
- package/dist/components/SearchFacetsControl/index.js +25 -10
- package/dist/components/SearchFacetsControl/index.js.map +1 -1
- package/dist/components/Table/index.js +0 -1
- package/dist/components/Table/index.js.map +1 -1
- package/dist/components/TableRowAsset/index.js +6 -6
- package/dist/components/TableRowAsset/index.js.map +1 -1
- package/dist/components/TableRowUpload/index.js +15 -18
- package/dist/components/TableRowUpload/index.js.map +1 -1
- package/dist/components/Tag/index.js +4 -3
- package/dist/components/Tag/index.js.map +1 -1
- package/dist/components/TagPanel/index.js +0 -1
- package/dist/components/TagView/index.js +35 -0
- package/dist/components/TagView/index.js.map +1 -0
- package/dist/components/TagViewHeader/index.js +46 -0
- package/dist/components/TagViewHeader/index.js.map +1 -0
- package/dist/components/Tags/index.js +0 -1
- package/dist/components/Tags/index.js.map +1 -1
- package/dist/components/TagsAll/index.js +0 -1
- package/dist/components/TagsPanel/index.js +2 -2
- package/dist/components/TagsPanel/index.js.map +1 -1
- package/dist/components/TagsPicked/index.js +0 -1
- package/dist/components/TagsVirtualized/index.js +152 -0
- package/dist/components/TagsVirtualized/index.js.map +1 -0
- package/dist/components/UploadDropzone/index.js +33 -25
- package/dist/components/UploadDropzone/index.js.map +1 -1
- package/dist/config/searchFacets.js +13 -3
- package/dist/config/searchFacets.js.map +1 -1
- package/dist/constants.js +2 -1
- package/dist/constants.js.map +1 -1
- package/dist/contexts/AssetSourceDispatchContext.js.map +1 -1
- package/dist/modules/assets/index.js +8 -5
- package/dist/modules/assets/index.js.map +1 -1
- package/dist/modules/notifications/index.js +1 -1
- package/dist/modules/notifications/index.js.map +1 -1
- package/dist/modules/tags/index.js +6 -4
- package/dist/modules/tags/index.js.map +1 -1
- package/dist/modules/uploads/index.js +5 -4
- package/dist/modules/uploads/index.js.map +1 -1
- package/dist/styled/react-select/creatable.js +22 -9
- package/dist/styled/react-select/creatable.js.map +1 -1
- package/dist/styled/react-select/single.js +16 -3
- package/dist/styled/react-select/single.js.map +1 -1
- package/dist/utils/constructFilter.js +8 -7
- package/dist/utils/constructFilter.js.map +1 -1
- package/dist/utils/getDocumentAssetIds.js +4 -2
- package/dist/utils/getDocumentAssetIds.js.map +1 -1
- package/package.json +7 -12
- package/sanity.json +4 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,41 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
## [1.4.0-beta.2](https://github.com/robinpyon/sanity-plugin-media/compare/v1.4.0-beta.1...v1.4.0-beta.2) (2021-09-18)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
* ensure that genertic tag deletion errors are caught and displayed in notifications ([4dc7b10](https://github.com/robinpyon/sanity-plugin-media/commit/4dc7b10448451d358f2f7e721b2ec56ed1944bdf))
|
|
11
|
+
|
|
12
|
+
## [1.4.0-beta.1](https://github.com/robinpyon/sanity-plugin-media/compare/v1.4.0-beta.0...v1.4.0-beta.1) (2021-09-09)
|
|
13
|
+
|
|
14
|
+
## [1.4.0-beta.0](https://github.com/robinpyon/sanity-plugin-media/compare/v1.3.1...v1.4.0-beta.0) (2021-09-09)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Features
|
|
18
|
+
|
|
19
|
+
* add filename facet ([43b10da](https://github.com/robinpyon/sanity-plugin-media/commit/43b10dac3e5bd4e56be009caf8a198ff951995c4))
|
|
20
|
+
* add initial file custom asset source support: conditionally filter and facet by asset type ([cb96447](https://github.com/robinpyon/sanity-plugin-media/commit/cb96447706637eafa5ea5f509a53ecf596a1eb37))
|
|
21
|
+
* add overscan to asset grid view ([abebeab](https://github.com/robinpyon/sanity-plugin-media/commit/abebeab349e25e248d5fa53ffe45a1d08e50375d))
|
|
22
|
+
* disable react-select until all tags have loaded in full ([35849df](https://github.com/robinpyon/sanity-plugin-media/commit/35849df57f9cad19f07b3d5c80ad6e2b27cb7e32))
|
|
23
|
+
* virtualize react-select views ([fa7da0a](https://github.com/robinpyon/sanity-plugin-media/commit/fa7da0a39d086b8a72501591efc97255ad7a43d2))
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
### Bug Fixes
|
|
27
|
+
|
|
28
|
+
* ensure that no empty virtuoso views are rendered ([dc4a606](https://github.com/robinpyon/sanity-plugin-media/commit/dc4a60611d4a9014a25d068a2de110912d2e646c))
|
|
29
|
+
* force fixed positioning on sanity-ui Dialogs to prevent mobile scrolling issues ([097ec0c](https://github.com/robinpyon/sanity-plugin-media/commit/097ec0cd29db9d19d7952769b27f6464a7511b02))
|
|
30
|
+
* force search facet <MenuButton /> to render in a portal, remove hard-coded z-index ([b708e75](https://github.com/robinpyon/sanity-plugin-media/commit/b708e75db0b12a753252b83663fd104d4b46b272))
|
|
31
|
+
* **tags:** render all tags in a virtualized container ([dd8c755](https://github.com/robinpyon/sanity-plugin-media/commit/dd8c755f7bbee83d7202fda6a27cf340a3238241))
|
|
32
|
+
|
|
33
|
+
### [1.3.1](https://github.com/robinpyon/sanity-plugin-media/compare/v1.3.0...v1.3.1) (2021-05-09)
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
### Bug Fixes
|
|
37
|
+
|
|
38
|
+
* only check against asset._type when searching for linked asset IDs ([39a7a77](https://github.com/robinpyon/sanity-plugin-media/commit/39a7a774b1472f40042a1fc43c53b130af6d40f7))
|
|
39
|
+
|
|
5
40
|
## [1.3.0](https://github.com/robinpyon/sanity-plugin-media/compare/v1.2.2...v1.3.0) (2021-04-27)
|
|
6
41
|
|
|
7
42
|
|
package/README.md
CHANGED
|
@@ -5,10 +5,13 @@
|
|
|
5
5
|
|
|
6
6
|
A convenient way to browse, manage and refine your [Sanity](https://www.sanity.io/) assets.
|
|
7
7
|
|
|
8
|
-
Use it standalone as a browser, or optionally hook it up as a [custom asset source](https://www.sanity.io/docs/custom-asset-sources) and use it to power
|
|
8
|
+
Use it standalone as a browser, or optionally hook it up as a [custom asset source](https://www.sanity.io/docs/custom-asset-sources) and use it to power both image and file selection too.
|
|
9
9
|
|
|
10
10
|

|
|
11
|
-
|
|
11
|
+
_Default grid view_
|
|
12
|
+
|
|
13
|
+

|
|
14
|
+
_Individual asset view_
|
|
12
15
|
|
|
13
16
|
## Features
|
|
14
17
|
|
|
@@ -29,10 +32,10 @@ Use it standalone as a browser, or optionally hook it up as a [custom asset sour
|
|
|
29
32
|
|
|
30
33
|
#### Built for large datasets and collaborative editing in mind
|
|
31
34
|
|
|
32
|
-
- Virtualized grid + tabular views for super speedy browsing, even with thousands of assets
|
|
35
|
+
- Virtualized grid + tabular views for super speedy browsing, even with thousands of assets and tags
|
|
33
36
|
- Utilises Sanity's [real time updates](https://www.sanity.io/docs/realtime-updates) for live changes from other studio members
|
|
34
37
|
|
|
35
|
-
#### Fits right in with your Sanity studio
|
|
38
|
+
#### Fits right in with your Sanity studio
|
|
36
39
|
|
|
37
40
|
- Built with the same [UI components Sanity uses](https://www.sanity.io/ui) under the hood
|
|
38
41
|
- Fully responsive and mobile friendly
|
|
@@ -49,17 +52,23 @@ This will add the Media button to your studio menu. If this is all you're after
|
|
|
49
52
|
|
|
50
53
|
### Enabling it as a global [custom asset source](https://www.sanity.io/docs/custom-asset-sources)
|
|
51
54
|
|
|
52
|
-
You'll need to do this if you want to use the plugin when selecting images.
|
|
55
|
+
You'll need to do this if you want to use the plugin when selecting images or files.
|
|
53
56
|
|
|
54
57
|
This plugin exposes `part:sanity-plugin-media/asset-source` which you import when defining custom asset sources.
|
|
55
58
|
|
|
56
59
|
In `sanity.json`, add the following snippet to the `parts` array:
|
|
57
60
|
|
|
58
61
|
```json
|
|
62
|
+
// Images
|
|
59
63
|
{
|
|
60
64
|
"implements": "part:@sanity/form-builder/input/image/asset-sources",
|
|
61
65
|
"path": "./parts/assetSources.js"
|
|
62
|
-
}
|
|
66
|
+
},
|
|
67
|
+
// Files (Sanity >= 2.16.0)
|
|
68
|
+
{
|
|
69
|
+
"implements": "part:@sanity/form-builder/input/file/asset-sources",
|
|
70
|
+
"path": "./parts/assetSources.js"
|
|
71
|
+
},
|
|
63
72
|
```
|
|
64
73
|
|
|
65
74
|
In `./parts/assetSources.js`:
|
|
@@ -70,7 +79,7 @@ import MediaAssetSource from 'part:sanity-plugin-media/asset-source'
|
|
|
70
79
|
export default [MediaAssetSource]
|
|
71
80
|
```
|
|
72
81
|
|
|
73
|
-
That's it! The browser will now pop up every time you try select an image.
|
|
82
|
+
That's it! The browser will now pop up every time you try select an image or file.
|
|
74
83
|
|
|
75
84
|
## Known issues
|
|
76
85
|
|
|
@@ -101,13 +110,6 @@ That's it! The browser will now pop up every time you try select an image.
|
|
|
101
110
|
|
|
102
111
|
</details>
|
|
103
112
|
|
|
104
|
-
<details>
|
|
105
|
-
<summary>There isn't a way to use the plugin to select file (non-image) assets</summary>
|
|
106
|
-
|
|
107
|
-
- This will be possible if and when Sanity enables custom asset sources on `file` fields.
|
|
108
|
-
|
|
109
|
-
</details>
|
|
110
|
-
|
|
111
113
|
<details>
|
|
112
114
|
<summary>Limitations when using Sanity's GraphQL endpoints</summary>
|
|
113
115
|
|
|
@@ -207,8 +209,8 @@ Note that tags are namespaced within `opt.media` and tag names are accessed via
|
|
|
207
209
|
<details>
|
|
208
210
|
<summary>How does the plugin determine what should uploaded as a <code>sanity.imageAsset</code> or <code>sanity.fileAsset</code>?</summary>
|
|
209
211
|
|
|
210
|
-
-
|
|
211
|
-
-
|
|
212
|
+
- As a rule of thumb, when uploading when accessing the plugin as a _tool_ (e.g. if you've acceessed it via the header), it will look at incoming files' MIME type. All files of type `image/*` will be uploaded as `sanity.imageAsset` whilst everything else will be treated as `sanity.fileAsset`
|
|
213
|
+
- If you upload when using the plugin in a file selection context, all files will be uploaded as `sanity.fileAsset`, regardless of their MIME type. This is probably not what you want, since images uploaded as files won't have associated metadata nor will they work in Sanity's image pipeline.
|
|
212
214
|
|
|
213
215
|
</details>
|
|
214
216
|
|
package/dist/app.js
CHANGED
|
@@ -10,21 +10,40 @@ var __assign = (this && this.__assign) || function () {
|
|
|
10
10
|
};
|
|
11
11
|
return __assign.apply(this, arguments);
|
|
12
12
|
};
|
|
13
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
16
|
+
}) : (function(o, m, k, k2) {
|
|
17
|
+
if (k2 === undefined) k2 = k;
|
|
18
|
+
o[k2] = m[k];
|
|
19
|
+
}));
|
|
20
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
21
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
22
|
+
}) : function(o, v) {
|
|
23
|
+
o["default"] = v;
|
|
24
|
+
});
|
|
25
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
26
|
+
if (mod && mod.__esModule) return mod;
|
|
27
|
+
var result = {};
|
|
28
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
29
|
+
__setModuleDefault(result, mod);
|
|
30
|
+
return result;
|
|
31
|
+
};
|
|
13
32
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
33
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
34
|
};
|
|
16
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
36
|
var ui_1 = require("@sanity/ui");
|
|
18
|
-
var react_1 =
|
|
37
|
+
var react_1 = __importStar(require("react"));
|
|
19
38
|
var theme_ui_1 = require("theme-ui");
|
|
20
|
-
var constants_1 = require("./constants");
|
|
21
|
-
var AssetSourceDispatchContext_1 = require("./contexts/AssetSourceDispatchContext");
|
|
22
39
|
var Browser_1 = __importDefault(require("./components/Browser"));
|
|
23
40
|
var ReduxProvider_1 = __importDefault(require("./components/ReduxProvider"));
|
|
41
|
+
var constants_1 = require("./constants");
|
|
42
|
+
var AssetSourceDispatchContext_1 = require("./contexts/AssetSourceDispatchContext");
|
|
24
43
|
var useKeyPress_1 = __importDefault(require("./hooks/useKeyPress"));
|
|
25
44
|
var GlobalStyles_1 = __importDefault(require("./styled/GlobalStyles"));
|
|
26
45
|
var theme_1 = __importDefault(require("./styled/theme"));
|
|
27
|
-
var AssetBrowser = function (props) {
|
|
46
|
+
var AssetBrowser = react_1.forwardRef(function (props, ref) {
|
|
28
47
|
var onClose = props.onClose, onSelect = props.onSelect, tool = props.tool;
|
|
29
48
|
// Close on escape key press
|
|
30
49
|
useKeyPress_1.default('escape', onClose);
|
|
@@ -42,9 +61,9 @@ var AssetBrowser = function (props) {
|
|
|
42
61
|
react_1.default.createElement(ui_1.ToastProvider, { zOffset: constants_1.Z_INDEX_TOAST_PROVIDER },
|
|
43
62
|
react_1.default.createElement(AssetSourceDispatchContext_1.AssetBrowserDispatchProvider, { onSelect: onSelect },
|
|
44
63
|
react_1.default.createElement(GlobalStyles_1.default, null),
|
|
45
|
-
tool ? (react_1.default.createElement(ui_1.Box, { style: { height: '100%', position: 'relative' } },
|
|
64
|
+
tool ? (react_1.default.createElement(ui_1.Box, { ref: ref, style: { height: '100%', position: 'relative' } },
|
|
46
65
|
react_1.default.createElement(Browser_1.default, { onClose: onClose }))) : (react_1.default.createElement(ui_1.Portal, null,
|
|
47
|
-
react_1.default.createElement(ui_1.Box, { onDragEnter: handleStopPropagation, onDragLeave: handleStopPropagation, onDragOver: handleStopPropagation, onDrop: handleStopPropagation, onMouseUp: handleStopPropagation, style: {
|
|
66
|
+
react_1.default.createElement(ui_1.Box, { onDragEnter: handleStopPropagation, onDragLeave: handleStopPropagation, onDragOver: handleStopPropagation, onDrop: handleStopPropagation, onMouseUp: handleStopPropagation, ref: ref, style: {
|
|
48
67
|
bottom: 0,
|
|
49
68
|
height: 'auto',
|
|
50
69
|
left: 0,
|
|
@@ -54,6 +73,6 @@ var AssetBrowser = function (props) {
|
|
|
54
73
|
zIndex: constants_1.Z_INDEX_APP
|
|
55
74
|
} },
|
|
56
75
|
react_1.default.createElement(Browser_1.default, { onClose: onClose })))))))))));
|
|
57
|
-
};
|
|
76
|
+
});
|
|
58
77
|
exports.default = AssetBrowser;
|
|
59
78
|
//# sourceMappingURL=app.js.map
|
package/dist/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAAiG;AAEjG,6CAA4D;AAC5D,qCAA6D;AAC7D,iEAA0C;AAC1C,6EAAsD;AACtD,yCAA+D;AAC/D,oFAAkF;AAClF,oEAA6C;AAC7C,uEAA+C;AAC/C,yDAAkC;AAIlC,IAAM,YAAY,GAAc,kBAAU,CAAC,UAAC,KAAY,EAAE,GAAwB;IACzE,IAAA,OAAO,GAAoB,KAAK,QAAzB,EAAE,QAAQ,GAAU,KAAK,SAAf,EAAE,IAAI,GAAI,KAAK,KAAT,CAAS;IAEvC,4BAA4B;IAC5B,qBAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAE9B,kEAAkE;IAClE,yHAAyH;IACzH,qFAAqF;IACrF,IAAM,qBAAqB,GAAG,UAAC,CAAa;QAC1C,CAAC,CAAC,WAAW,CAAC,wBAAwB,EAAE,CAAA;QACxC,CAAC,CAAC,eAAe,EAAE,CAAA;IACrB,CAAC,CAAA;IAED,OAAO,CACL,8BAAC,uBAAa,eAAK,KAAK;QACtB,8BAAC,kBAAa,IAAC,MAAM,EAAC,MAAM,EAAC,KAAK,EAAE,gBAAW;YAC7C,8BAAC,wBAAmB,IAAC,KAAK,EAAE,eAAK;gBAC/B,8BAAC,mBAAc,IAAC,OAAO,EAAE,QAAQ,CAAC,IAAI;oBACpC,8BAAC,kBAAa,IAAC,OAAO,EAAE,kCAAsB;wBAC5C,8BAAC,yDAA4B,IAAC,QAAQ,EAAE,QAAQ;4BAC9C,8BAAC,sBAAW,OAAG;4BAEd,IAAI,CAAC,CAAC,CAAC,CACN,8BAAC,QAAG,IAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,EAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAC;gCAC1D,8BAAC,iBAAO,IAAC,OAAO,EAAE,OAAO,GAAI,CACzB,CACP,CAAC,CAAC,CAAC,CACF,8BAAC,WAAM;gCACL,8BAAC,QAAG,IACF,WAAW,EAAE,qBAAqB,EAClC,WAAW,EAAE,qBAAqB,EAClC,UAAU,EAAE,qBAAqB,EACjC,MAAM,EAAE,qBAAqB,EAC7B,SAAS,EAAE,qBAAqB,EAChC,GAAG,EAAE,GAAG,EACR,KAAK,EAAE;wCACL,MAAM,EAAE,CAAC;wCACT,MAAM,EAAE,MAAM;wCACd,IAAI,EAAE,CAAC;wCACP,QAAQ,EAAE,OAAO;wCACjB,GAAG,EAAE,CAAC;wCACN,KAAK,EAAE,MAAM;wCACb,MAAM,EAAE,uBAAW;qCACpB;oCAED,8BAAC,iBAAO,IAAC,OAAO,EAAE,OAAO,GAAI,CACzB,CACC,CACV,CAC4B,CACjB,CACD,CACG,CACR,CACF,CACjB,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,kBAAe,YAAY,CAAA"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
|
|
3
|
+
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
|
4
|
+
return cooked;
|
|
5
|
+
};
|
|
6
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
+
if (k2 === undefined) k2 = k;
|
|
8
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
var react_1 = __importStar(require("react"));
|
|
30
|
+
var react_virtuoso_1 = require("react-virtuoso");
|
|
31
|
+
var styled_components_1 = __importDefault(require("styled-components"));
|
|
32
|
+
var useTypedSelector_1 = __importDefault(require("../../hooks/useTypedSelector"));
|
|
33
|
+
var CardAsset_1 = __importDefault(require("../CardAsset"));
|
|
34
|
+
var CardUpload_1 = __importDefault(require("../CardUpload"));
|
|
35
|
+
var CARD_HEIGHT = 220;
|
|
36
|
+
var CARD_WIDTH = 240;
|
|
37
|
+
var VirtualCell = react_1.memo(function (_a) {
|
|
38
|
+
var item = _a.item, selected = _a.selected;
|
|
39
|
+
if ((item === null || item === void 0 ? void 0 : item.type) === 'asset') {
|
|
40
|
+
return react_1.default.createElement(CardAsset_1.default, { id: item.id, selected: selected });
|
|
41
|
+
}
|
|
42
|
+
if ((item === null || item === void 0 ? void 0 : item.type) === 'upload') {
|
|
43
|
+
return react_1.default.createElement(CardUpload_1.default, { id: item.id });
|
|
44
|
+
}
|
|
45
|
+
return null;
|
|
46
|
+
});
|
|
47
|
+
var ItemContainer = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n height: ", "px;\n width: ", "px;\n"], ["\n height: ", "px;\n width: ", "px;\n"])), CARD_HEIGHT, CARD_WIDTH);
|
|
48
|
+
var ListContainer = styled_components_1.default.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n display: grid;\n grid-column-gap: 5px;\n grid-template-columns: repeat(auto-fill, ", "px);\n grid-row-gap: 5px;\n justify-content: center;\n margin: 0 auto;\n"], ["\n display: grid;\n grid-column-gap: 5px;\n grid-template-columns: repeat(auto-fill, ", "px);\n grid-row-gap: 5px;\n justify-content: center;\n margin: 0 auto;\n"])), CARD_WIDTH);
|
|
49
|
+
var AssetGridVirtualized = function (props) {
|
|
50
|
+
var items = props.items, onLoadMore = props.onLoadMore;
|
|
51
|
+
// Redux
|
|
52
|
+
var selectedAssets = useTypedSelector_1.default(function (state) { return state.selected.assets; });
|
|
53
|
+
var selectedIds = (selectedAssets && selectedAssets.map(function (asset) { return asset._id; })) || [];
|
|
54
|
+
var totalCount = items === null || items === void 0 ? void 0 : items.length;
|
|
55
|
+
if (totalCount === 0) {
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
return (react_1.default.createElement(react_virtuoso_1.VirtuosoGrid, { className: "media__custom-scrollbar", computeItemKey: function (index) {
|
|
59
|
+
var item = items[index];
|
|
60
|
+
return item === null || item === void 0 ? void 0 : item.id;
|
|
61
|
+
}, components: {
|
|
62
|
+
Item: ItemContainer,
|
|
63
|
+
List: ListContainer
|
|
64
|
+
}, endReached: onLoadMore, itemContent: function (index) {
|
|
65
|
+
var item = items[index];
|
|
66
|
+
var selected = selectedIds.includes(item === null || item === void 0 ? void 0 : item.id);
|
|
67
|
+
return react_1.default.createElement(VirtualCell, { item: item, selected: selected });
|
|
68
|
+
}, overscan: 48, totalCount: totalCount }));
|
|
69
|
+
};
|
|
70
|
+
exports.default = AssetGridVirtualized;
|
|
71
|
+
var templateObject_1, templateObject_2;
|
|
72
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/AssetGridVirtualized/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,6CAAiC;AACjC,iDAA2C;AAC3C,wEAAsC;AACtC,kFAA2D;AAC3D,2DAAoC;AACpC,6DAAsC;AAOtC,IAAM,WAAW,GAAG,GAAG,CAAA;AACvB,IAAM,UAAU,GAAG,GAAG,CAAA;AAEtB,IAAM,WAAW,GAAG,YAAI,CACtB,UAAC,EAA2E;QAA1E,IAAI,UAAA,EAAE,QAAQ,cAAA;IACd,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,OAAO,EAAE;QAC1B,OAAO,8BAAC,mBAAS,IAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,GAAI,CAAA;KACtD;IAED,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,QAAQ,EAAE;QAC3B,OAAO,8BAAC,oBAAU,IAAC,EAAE,EAAE,IAAI,CAAC,EAAE,GAAI,CAAA;KACnC;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CACF,CAAA;AAED,IAAM,aAAa,GAAG,2BAAM,CAAC,GAAG,4GAAA,cACpB,EAAW,gBACZ,EAAU,OACpB,KAFW,WAAW,EACZ,UAAU,CACpB,CAAA;AAED,IAAM,aAAa,GAAG,2BAAM,CAAC,GAAG,4OAAA,0FAGa,EAAU,6EAItD,KAJ4C,UAAU,CAItD,CAAA;AAED,IAAM,oBAAoB,GAAG,UAAC,KAAY;IACjC,IAAA,KAAK,GAAgB,KAAK,MAArB,EAAE,UAAU,GAAI,KAAK,WAAT,CAAS;IAEjC,QAAQ;IACR,IAAM,cAAc,GAAG,0BAAgB,CAAC,UAAA,KAAK,IAAI,OAAA,KAAK,CAAC,QAAQ,CAAC,MAAM,EAArB,CAAqB,CAAC,CAAA;IAEvE,IAAM,WAAW,GAAG,CAAC,cAAc,IAAI,cAAc,CAAC,GAAG,CAAC,UAAA,KAAK,IAAI,OAAA,KAAK,CAAC,GAAG,EAAT,CAAS,CAAC,CAAC,IAAI,EAAE,CAAA;IACpF,IAAM,UAAU,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,CAAA;IAEhC,IAAI,UAAU,KAAK,CAAC,EAAE;QACpB,OAAO,IAAI,CAAA;KACZ;IAED,OAAO,CACL,8BAAC,6BAAY,IACX,SAAS,EAAC,yBAAyB,EACnC,cAAc,EAAE,UAAA,KAAK;YACnB,IAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAA;YACzB,OAAO,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,EAAE,CAAA;QACjB,CAAC,EACD,UAAU,EAAE;YACV,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,aAAa;SACpB,EACD,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,UAAA,KAAK;YAChB,IAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAA;YACzB,IAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,EAAE,CAAC,CAAA;YAC/C,OAAO,8BAAC,WAAW,IAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,GAAI,CAAA;QACxD,CAAC,EACD,QAAQ,EAAE,EAAE,EACZ,UAAU,EAAE,UAAU,GACtB,CACH,CAAA;AACH,CAAC,CAAA;AAED,kBAAe,oBAAoB,CAAA"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
22
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
|
+
};
|
|
24
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
+
var ui_1 = require("@sanity/ui");
|
|
26
|
+
var react_1 = __importStar(require("react"));
|
|
27
|
+
var react_virtuoso_1 = require("react-virtuoso");
|
|
28
|
+
var useTypedSelector_1 = __importDefault(require("../../hooks/useTypedSelector"));
|
|
29
|
+
var TableHeader_1 = __importDefault(require("../TableHeader"));
|
|
30
|
+
var TableRowAsset_1 = __importDefault(require("../TableRowAsset"));
|
|
31
|
+
var TableRowUpload_1 = __importDefault(require("../TableRowUpload"));
|
|
32
|
+
var VirtualRow = react_1.memo(function (_a) {
|
|
33
|
+
var item = _a.item, selected = _a.selected;
|
|
34
|
+
if ((item === null || item === void 0 ? void 0 : item.type) === 'asset') {
|
|
35
|
+
return (react_1.default.createElement(ui_1.Box, { style: { height: '100px' } },
|
|
36
|
+
react_1.default.createElement(TableRowAsset_1.default, { id: item.id, selected: selected })));
|
|
37
|
+
}
|
|
38
|
+
if ((item === null || item === void 0 ? void 0 : item.type) === 'upload') {
|
|
39
|
+
return (react_1.default.createElement(ui_1.Box, { style: { height: '100px' } },
|
|
40
|
+
react_1.default.createElement(TableRowUpload_1.default, { id: item.id })));
|
|
41
|
+
}
|
|
42
|
+
return null;
|
|
43
|
+
});
|
|
44
|
+
var AssetTableVirtualized = function (props) {
|
|
45
|
+
var items = props.items, onLoadMore = props.onLoadMore;
|
|
46
|
+
// Redux
|
|
47
|
+
var selectedAssets = useTypedSelector_1.default(function (state) { return state.selected.assets; });
|
|
48
|
+
var selectedIds = (selectedAssets && selectedAssets.map(function (asset) { return asset._id; })) || [];
|
|
49
|
+
var totalCount = items === null || items === void 0 ? void 0 : items.length;
|
|
50
|
+
if (totalCount === 0) {
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
return (react_1.default.createElement(react_virtuoso_1.GroupedVirtuoso, { className: "media__custom-scrollbar", computeItemKey: function (index) {
|
|
54
|
+
var item = items[index];
|
|
55
|
+
return (item === null || item === void 0 ? void 0 : item.id) || index;
|
|
56
|
+
}, endReached: onLoadMore, groupCounts: Array(1).fill(totalCount), groupContent: function () {
|
|
57
|
+
return react_1.default.createElement(TableHeader_1.default, null);
|
|
58
|
+
}, itemContent: function (index) {
|
|
59
|
+
var item = items[index];
|
|
60
|
+
var selected = selectedIds.includes(item === null || item === void 0 ? void 0 : item.id);
|
|
61
|
+
return react_1.default.createElement(VirtualRow, { item: item, selected: selected });
|
|
62
|
+
} }));
|
|
63
|
+
};
|
|
64
|
+
exports.default = AssetTableVirtualized;
|
|
65
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/AssetTableVirtualized/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AACA,iCAA8B;AAC9B,6CAAiC;AACjC,iDAA8C;AAC9C,kFAA2D;AAC3D,+DAAwC;AACxC,mEAA4C;AAC5C,qEAA8C;AAO9C,IAAM,UAAU,GAAG,YAAI,CACrB,UAAC,EAA2E;QAA1E,IAAI,UAAA,EAAE,QAAQ,cAAA;IACd,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,OAAO,EAAE;QAC1B,OAAO,CACL,8BAAC,QAAG,IAAC,KAAK,EAAE,EAAC,MAAM,EAAE,OAAO,EAAC;YAC3B,8BAAC,uBAAa,IAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,GAAI,CAC9C,CACP,CAAA;KACF;IAED,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,QAAQ,EAAE;QAC3B,OAAO,CACL,8BAAC,QAAG,IAAC,KAAK,EAAE,EAAC,MAAM,EAAE,OAAO,EAAC;YAC3B,8BAAC,wBAAc,IAAC,EAAE,EAAE,IAAI,CAAC,EAAE,GAAI,CAC3B,CACP,CAAA;KACF;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CACF,CAAA;AAED,IAAM,qBAAqB,GAAG,UAAC,KAAY;IAClC,IAAA,KAAK,GAAgB,KAAK,MAArB,EAAE,UAAU,GAAI,KAAK,WAAT,CAAS;IAEjC,QAAQ;IACR,IAAM,cAAc,GAAG,0BAAgB,CAAC,UAAA,KAAK,IAAI,OAAA,KAAK,CAAC,QAAQ,CAAC,MAAM,EAArB,CAAqB,CAAC,CAAA;IAEvE,IAAM,WAAW,GAAG,CAAC,cAAc,IAAI,cAAc,CAAC,GAAG,CAAC,UAAA,KAAK,IAAI,OAAA,KAAK,CAAC,GAAG,EAAT,CAAS,CAAC,CAAC,IAAI,EAAE,CAAA;IACpF,IAAM,UAAU,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,CAAA;IAEhC,IAAI,UAAU,KAAK,CAAC,EAAE;QACpB,OAAO,IAAI,CAAA;KACZ;IAED,OAAO,CACL,8BAAC,gCAAe,IACd,SAAS,EAAC,yBAAyB,EACnC,cAAc,EAAE,UAAA,KAAK;YACnB,IAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAA;YACzB,OAAO,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,EAAE,KAAI,KAAK,CAAA;QAC1B,CAAC,EACD,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EACtC,YAAY,EAAE;YACZ,OAAO,8BAAC,qBAAW,OAAG,CAAA;QACxB,CAAC,EACD,WAAW,EAAE,UAAA,KAAK;YAChB,IAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAA;YACzB,IAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,EAAE,CAAC,CAAA;YAC/C,OAAO,8BAAC,UAAU,IAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,GAAI,CAAA;QACvD,CAAC,GACD,CACH,CAAA;AACH,CAAC,CAAA;AAED,kBAAe,qBAAqB,CAAA"}
|
|
@@ -108,8 +108,8 @@ var Browser = function (props) {
|
|
|
108
108
|
react_1.default.createElement(Controls_1.default, null),
|
|
109
109
|
react_1.default.createElement(ui_1.Flex, { flex: 1 },
|
|
110
110
|
react_1.default.createElement(ui_1.Flex, { align: "flex-end", direction: "column", flex: 1, style: { position: 'relative' } },
|
|
111
|
-
react_1.default.createElement(
|
|
112
|
-
react_1.default.createElement(
|
|
111
|
+
react_1.default.createElement(PickedBar_1.default, null),
|
|
112
|
+
react_1.default.createElement(Items_1.default, null)),
|
|
113
113
|
react_1.default.createElement(TagsPanel_1.default, null)),
|
|
114
114
|
react_1.default.createElement(DebugControls_1.default, null)))));
|
|
115
115
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Browser/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,iCAAqC;AAErC,8CAAuB;AACvB,6CAA0C;AAC1C,2CAAuC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Browser/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -32,7 +32,6 @@ var ui_1 = require("@sanity/ui");
|
|
|
32
32
|
var react_1 = __importStar(require("react"));
|
|
33
33
|
var react_redux_1 = require("react-redux");
|
|
34
34
|
var styled_components_1 = __importStar(require("styled-components"));
|
|
35
|
-
var FileIcon_1 = __importDefault(require("../FileIcon"));
|
|
36
35
|
var constants_1 = require("../../constants");
|
|
37
36
|
var AssetSourceDispatchContext_1 = require("../../contexts/AssetSourceDispatchContext");
|
|
38
37
|
var useKeyPress_1 = __importDefault(require("../../hooks/useKeyPress"));
|
|
@@ -41,8 +40,9 @@ var assets_1 = require("../../modules/assets");
|
|
|
41
40
|
var dialog_1 = require("../../modules/dialog");
|
|
42
41
|
var imageDprUrl_1 = __importDefault(require("../../utils/imageDprUrl"));
|
|
43
42
|
var typeGuards_1 = require("../../utils/typeGuards");
|
|
43
|
+
var FileIcon_1 = __importDefault(require("../FileIcon"));
|
|
44
44
|
var Image_1 = __importDefault(require("../Image"));
|
|
45
|
-
var CardContainer = styled_components_1.default(ui_1.Flex)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n /* background: ", "; */\n border: 1px solid transparent;\n overflow: hidden;\n pointer-events: ", ";\n position: relative;\n transition: all 300ms;\n user-select: none;\n\n border: ", ";\n\n ", "\n"], ["\n /* background: ", "; */\n border: 1px solid transparent;\n overflow: hidden;\n pointer-events: ", ";\n position: relative;\n transition: all 300ms;\n user-select: none;\n\n border: ",
|
|
45
|
+
var CardContainer = styled_components_1.default(ui_1.Flex)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n /* background: ", "; */\n border: 1px solid transparent;\n height: 100%;\n overflow: hidden;\n pointer-events: ", ";\n position: relative;\n transition: all 300ms;\n user-select: none;\n width: 100%;\n\n border: ", ";\n\n ", "\n"], ["\n /* background: ", "; */\n border: 1px solid transparent;\n height: 100%;\n overflow: hidden;\n pointer-events: ", ";\n position: relative;\n transition: all 300ms;\n user-select: none;\n width: 100%;\n\n border: ",
|
|
46
46
|
";\n\n ",
|
|
47
47
|
"\n"])), color_1.hues.gray[950].hex, function (props) { return (props.updating ? 'none' : 'auto'); }, function (props) {
|
|
48
48
|
return props.picked
|
|
@@ -60,7 +60,7 @@ var StyledWarningOutlineIcon = styled_components_1.default(icons_1.WarningFilled
|
|
|
60
60
|
});
|
|
61
61
|
var CardAsset = function (props) {
|
|
62
62
|
var _a, _b;
|
|
63
|
-
var id = props.id, selected = props.selected
|
|
63
|
+
var id = props.id, selected = props.selected;
|
|
64
64
|
// Refs
|
|
65
65
|
var shiftPressed = useKeyPress_1.default('shift');
|
|
66
66
|
// Redux
|
|
@@ -118,56 +118,55 @@ var CardAsset = function (props) {
|
|
|
118
118
|
};
|
|
119
119
|
var opacityContainer = updating ? 0.5 : 1;
|
|
120
120
|
var opacityPreview = selected || updating ? 0.25 : 1;
|
|
121
|
-
return (react_1.default.createElement(
|
|
122
|
-
react_1.default.createElement(
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
121
|
+
return (react_1.default.createElement(CardContainer, { direction: "column", picked: picked, updating: item.updating },
|
|
122
|
+
react_1.default.createElement(ui_1.Box, { flex: 1, style: {
|
|
123
|
+
cursor: selected ? 'default' : 'pointer',
|
|
124
|
+
position: 'relative'
|
|
125
|
+
} },
|
|
126
|
+
react_1.default.createElement("div", { onClick: handleAssetClick, style: { height: '100%', opacity: opacityPreview } },
|
|
127
|
+
typeGuards_1.isFileAsset(asset) && react_1.default.createElement(FileIcon_1.default, { extension: asset.extension, width: "80px" }),
|
|
128
|
+
typeGuards_1.isImageAsset(asset) && (react_1.default.createElement(Image_1.default, { draggable: false, showCheckerboard: !isOpaque, src: imageDprUrl_1.default(asset, { height: 250, width: 250 }), style: {
|
|
129
|
+
draggable: false,
|
|
130
|
+
transition: 'opacity 1000ms'
|
|
131
|
+
} }))),
|
|
132
|
+
selected && !updating && (react_1.default.createElement(ui_1.Flex, { align: "center", justify: "center", style: {
|
|
133
|
+
height: '100%',
|
|
134
|
+
left: 0,
|
|
135
|
+
opacity: opacityContainer,
|
|
136
|
+
position: 'absolute',
|
|
137
|
+
top: 0,
|
|
138
|
+
width: '100%'
|
|
126
139
|
} },
|
|
127
|
-
react_1.default.createElement(
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
} }))),
|
|
133
|
-
selected && !updating && (react_1.default.createElement(ui_1.Flex, { align: "center", justify: "center", style: {
|
|
134
|
-
height: '100%',
|
|
135
|
-
left: 0,
|
|
136
|
-
opacity: opacityContainer,
|
|
137
|
-
position: 'absolute',
|
|
138
|
-
top: 0,
|
|
139
|
-
width: '100%'
|
|
140
|
-
} },
|
|
141
|
-
react_1.default.createElement(ui_1.Text, { size: 2 },
|
|
142
|
-
react_1.default.createElement(icons_1.CheckmarkCircleIcon, null)))),
|
|
143
|
-
updating && (react_1.default.createElement(ui_1.Flex, { align: "center", justify: "center", style: {
|
|
144
|
-
height: '100%',
|
|
145
|
-
left: 0,
|
|
146
|
-
position: 'absolute',
|
|
147
|
-
top: 0,
|
|
148
|
-
width: '100%'
|
|
149
|
-
} },
|
|
150
|
-
react_1.default.createElement(ui_1.Spinner, null)))),
|
|
151
|
-
react_1.default.createElement(ContextActionContainer, { align: "center", onClick: handleContextActionClick, paddingX: 1, style: { opacity: opacityContainer } },
|
|
152
|
-
onSelect ? (react_1.default.createElement(icons_1.EditIcon, { style: {
|
|
153
|
-
flexShrink: 0,
|
|
154
|
-
opacity: 0.5
|
|
155
|
-
} })) : (react_1.default.createElement(ui_1.Checkbox, { checked: picked, readOnly: true, style: {
|
|
156
|
-
flexShrink: 0,
|
|
157
|
-
pointerEvents: 'none',
|
|
158
|
-
transform: 'scale(0.8)'
|
|
159
|
-
} })),
|
|
160
|
-
react_1.default.createElement(ui_1.Box, { marginLeft: 2 },
|
|
161
|
-
react_1.default.createElement(ui_1.Text, { muted: true, size: 0, textOverflow: "ellipsis" }, asset.originalFilename))),
|
|
162
|
-
error && (react_1.default.createElement(ui_1.Box, { padding: 3, style: {
|
|
140
|
+
react_1.default.createElement(ui_1.Text, { size: 2 },
|
|
141
|
+
react_1.default.createElement(icons_1.CheckmarkCircleIcon, null)))),
|
|
142
|
+
updating && (react_1.default.createElement(ui_1.Flex, { align: "center", justify: "center", style: {
|
|
143
|
+
height: '100%',
|
|
144
|
+
left: 0,
|
|
163
145
|
position: 'absolute',
|
|
164
|
-
|
|
165
|
-
|
|
146
|
+
top: 0,
|
|
147
|
+
width: '100%'
|
|
166
148
|
} },
|
|
167
|
-
react_1.default.createElement(ui_1.
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
149
|
+
react_1.default.createElement(ui_1.Spinner, null)))),
|
|
150
|
+
react_1.default.createElement(ContextActionContainer, { align: "center", onClick: handleContextActionClick, paddingX: 1, style: { opacity: opacityContainer } },
|
|
151
|
+
onSelect ? (react_1.default.createElement(icons_1.EditIcon, { style: {
|
|
152
|
+
flexShrink: 0,
|
|
153
|
+
opacity: 0.5
|
|
154
|
+
} })) : (react_1.default.createElement(ui_1.Checkbox, { checked: picked, readOnly: true, style: {
|
|
155
|
+
flexShrink: 0,
|
|
156
|
+
pointerEvents: 'none',
|
|
157
|
+
transform: 'scale(0.8)'
|
|
158
|
+
} })),
|
|
159
|
+
react_1.default.createElement(ui_1.Box, { marginLeft: 2 },
|
|
160
|
+
react_1.default.createElement(ui_1.Text, { muted: true, size: 0, textOverflow: "ellipsis" }, asset.originalFilename))),
|
|
161
|
+
error && (react_1.default.createElement(ui_1.Box, { padding: 3, style: {
|
|
162
|
+
position: 'absolute',
|
|
163
|
+
right: 0,
|
|
164
|
+
top: 0
|
|
165
|
+
} },
|
|
166
|
+
react_1.default.createElement(ui_1.Tooltip, { content: react_1.default.createElement(ui_1.Container, { padding: 2, width: 0 },
|
|
167
|
+
react_1.default.createElement(ui_1.Text, { size: 1 }, error)), placement: "left", portal: true },
|
|
168
|
+
react_1.default.createElement(ui_1.Text, { size: 1 },
|
|
169
|
+
react_1.default.createElement(StyledWarningOutlineIcon, { color: "critical" })))))));
|
|
171
170
|
};
|
|
172
171
|
exports.default = react_1.memo(CardAsset);
|
|
173
172
|
var templateObject_1, templateObject_2, templateObject_3;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/CardAsset/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAkC;AAClC,uCAA8E;AAC9E,iCAAiF;AACjF,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/CardAsset/index.tsx"],"names":[],"mappings":"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"}
|