@sanity/dashboard 2.34.1-canary.0 → 2.34.2-empty-template-cli.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/lib/DashboardTool.js +6 -0
- package/lib/components/DashboardLayout.js +9 -0
- package/lib/components/NotFoundWidget.js +11 -1
- package/lib/components/WidgetGroup.js +13 -0
- package/lib/components/dashboardWidget.js +13 -4
- package/lib/containers/Dashboard.js +9 -0
- package/lib/containers/WidgetContainer.js +14 -0
- package/lib/index.js +4 -0
- package/lib/legacyParts.js +7 -0
- package/lib/versionedClient.js +3 -0
- package/lib/widgets/projectInfo/ProjectInfo.js +37 -12
- package/lib/widgets/projectInfo/index.js +3 -0
- package/lib/widgets/projectUsers/ProjectUsers.js +40 -5
- package/lib/widgets/projectUsers/index.js +3 -0
- package/lib/widgets/sanityTutorials/SanityTutorials.js +30 -6
- package/lib/widgets/sanityTutorials/Tutorial.js +20 -5
- package/lib/widgets/sanityTutorials/dataAdapter.js +4 -0
- package/lib/widgets/sanityTutorials/index.js +3 -0
- package/package.json +4 -4
package/lib/DashboardTool.js
CHANGED
|
@@ -4,13 +4,18 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
+
|
|
7
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
8
10
|
var _Dashboard = _interopRequireDefault(require("./containers/Dashboard"));
|
|
11
|
+
|
|
9
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
+
|
|
10
14
|
var strokeStyle = {
|
|
11
15
|
stroke: 'currentColor',
|
|
12
16
|
strokeWidth: 1.2
|
|
13
17
|
};
|
|
18
|
+
|
|
14
19
|
var DashboardIcon = () => /*#__PURE__*/_react.default.createElement("svg", {
|
|
15
20
|
"data-sanity-icon": true,
|
|
16
21
|
viewBox: "0 0 25 25",
|
|
@@ -29,6 +34,7 @@ var DashboardIcon = () => /*#__PURE__*/_react.default.createElement("svg", {
|
|
|
29
34
|
d: "M14.5 19.5V12.5M10.5 12.5V5.5",
|
|
30
35
|
style: strokeStyle
|
|
31
36
|
}));
|
|
37
|
+
|
|
32
38
|
var _default = {
|
|
33
39
|
title: 'Dashboard',
|
|
34
40
|
name: 'dashboard',
|
|
@@ -4,12 +4,19 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
+
|
|
7
8
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
+
|
|
8
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
|
|
9
12
|
var _ui = require("@sanity/ui");
|
|
13
|
+
|
|
10
14
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
15
|
+
|
|
11
16
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
17
|
+
|
|
12
18
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
|
+
|
|
13
20
|
function DashboardLayout(props) {
|
|
14
21
|
var width = props.width;
|
|
15
22
|
var formattedWidth = (0, _react.useMemo)(() => getWidth(width), [width]);
|
|
@@ -23,6 +30,7 @@ function DashboardLayout(props) {
|
|
|
23
30
|
"data-name": "dashboard-layout"
|
|
24
31
|
}, props.children);
|
|
25
32
|
}
|
|
33
|
+
|
|
26
34
|
function getWidth(value) {
|
|
27
35
|
var widthMap = {
|
|
28
36
|
small: 2,
|
|
@@ -31,6 +39,7 @@ function getWidth(value) {
|
|
|
31
39
|
};
|
|
32
40
|
return (widthMap === null || widthMap === void 0 ? void 0 : widthMap[value]) || widthMap.large;
|
|
33
41
|
}
|
|
42
|
+
|
|
34
43
|
DashboardLayout.propTypes = {
|
|
35
44
|
// eslint-disable-next-line react/forbid-prop-types
|
|
36
45
|
children: _propTypes.default.any,
|
|
@@ -4,17 +4,26 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
+
|
|
7
8
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
+
|
|
8
10
|
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
|
|
9
12
|
var _ui = require("@sanity/ui");
|
|
13
|
+
|
|
10
14
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
15
|
+
|
|
11
16
|
var _templateObject;
|
|
17
|
+
|
|
12
18
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
|
+
|
|
13
20
|
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
21
|
+
|
|
14
22
|
var Root = (0, _styledComponents.default)(_ui.Card)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: column;\n justify-content: stretch;\n height: 100%;\n"])));
|
|
23
|
+
|
|
15
24
|
function NotFoundWidget(props) {
|
|
16
25
|
var title = props.title,
|
|
17
|
-
|
|
26
|
+
children = props.children;
|
|
18
27
|
return /*#__PURE__*/_react.default.createElement(Root, {
|
|
19
28
|
radius: 3,
|
|
20
29
|
paddingX: 3,
|
|
@@ -27,6 +36,7 @@ function NotFoundWidget(props) {
|
|
|
27
36
|
as: "h2"
|
|
28
37
|
}, title), children && /*#__PURE__*/_react.default.createElement(_ui.Box, null, children)));
|
|
29
38
|
}
|
|
39
|
+
|
|
30
40
|
NotFoundWidget.propTypes = {
|
|
31
41
|
// eslint-disable-next-line react/forbid-prop-types
|
|
32
42
|
children: _propTypes.default.any,
|
|
@@ -4,15 +4,25 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
+
|
|
7
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
8
10
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
11
|
+
|
|
9
12
|
var _ui = require("@sanity/ui");
|
|
13
|
+
|
|
10
14
|
var _legacyParts = require("../legacyParts");
|
|
15
|
+
|
|
11
16
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11;
|
|
17
|
+
|
|
12
18
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
19
|
+
|
|
13
20
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
21
|
+
|
|
14
22
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
23
|
+
|
|
15
24
|
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
25
|
+
|
|
16
26
|
var media = {
|
|
17
27
|
small: function small() {
|
|
18
28
|
return (0, _styledComponents.css)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n @media (min-width: ", "px) {\n ", "\n }\n "])), _ref => {
|
|
@@ -28,6 +38,7 @@ var media = {
|
|
|
28
38
|
}
|
|
29
39
|
};
|
|
30
40
|
var Root = (0, _styledComponents.default)(_ui.Grid)(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));\n\n & > div {\n overflow: hidden;\n }\n\n & > div[data-width='medium'] {\n ", "\n }\n\n & > div[data-width='large'] {\n ", "\n\n ", "\n }\n\n & > div[data-width='full'] {\n ", "\n }\n\n & > div[data-height='medium'] {\n ", "\n }\n\n & > div[data-height='large'] {\n ", "\n\n ", "\n }\n\n & > div[data-height='full'] {\n ", "\n }\n"])), media.small(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n grid-column: span 2;\n "]))), media.small(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n grid-column: span 2;\n "]))), media.medium(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n grid-column: span 3;\n "]))), media.small(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n grid-column: 1 / -1;\n "]))), media.small(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["\n grid-row: span 2;\n "]))), media.small(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["\n grid-row: span 2;\n "]))), media.medium(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["\n grid-row: span 3;\n "]))), media.medium(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral(["\n grid-row: 1 / -1;\n "]))));
|
|
41
|
+
|
|
31
42
|
function WidgetGroup(props) {
|
|
32
43
|
var config = props.config || {};
|
|
33
44
|
var widgets = config.widgets || [];
|
|
@@ -45,11 +56,13 @@ function WidgetGroup(props) {
|
|
|
45
56
|
config: widgetConfig
|
|
46
57
|
});
|
|
47
58
|
}
|
|
59
|
+
|
|
48
60
|
return /*#__PURE__*/_react.default.createElement(_legacyParts.WidgetContainer, {
|
|
49
61
|
key: String(index),
|
|
50
62
|
config: widgetConfig
|
|
51
63
|
});
|
|
52
64
|
}));
|
|
53
65
|
}
|
|
66
|
+
|
|
54
67
|
var _default = WidgetGroup;
|
|
55
68
|
exports.default = _default;
|
|
@@ -4,14 +4,23 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.DashboardWidget = void 0;
|
|
7
|
+
|
|
7
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
|
|
8
10
|
var _ui = require("@sanity/ui");
|
|
11
|
+
|
|
9
12
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
13
|
+
|
|
10
14
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4;
|
|
15
|
+
|
|
11
16
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
+
|
|
12
18
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
19
|
+
|
|
13
20
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
21
|
+
|
|
14
22
|
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
23
|
+
|
|
15
24
|
var Root = (0, _styledComponents.default)(_ui.Card)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: column;\n justify-content: stretch;\n height: 100%;\n box-sizing: border-box;\n position: relative;\n"])));
|
|
16
25
|
var Header = (0, _styledComponents.default)(_ui.Card)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n position: sticky;\n top: 0;\n z-index: 2;\n border-top-left-radius: inherit;\n border-top-right-radius: inherit;\n"])));
|
|
17
26
|
var Footer = (0, _styledComponents.default)(_ui.Card)(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n position: sticky;\n overflow: hidden;\n bottom: 0;\n z-index: 2;\n border-bottom-right-radius: inherit;\n border-bottom-left-radius: inherit;\n margin-top: auto;\n"])));
|
|
@@ -21,10 +30,10 @@ var Content = (0, _styledComponents.default)(_ui.Box)(_templateObject4 || (_temp
|
|
|
21
30
|
});
|
|
22
31
|
var DashboardWidget = /*#__PURE__*/(0, _react.forwardRef)((props, ref) => {
|
|
23
32
|
var header = props.header,
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
33
|
+
children = props.children,
|
|
34
|
+
footer = props.footer,
|
|
35
|
+
hideFooterBorder = props.hideFooterBorder,
|
|
36
|
+
className = props.className;
|
|
28
37
|
return /*#__PURE__*/_react.default.createElement(Root, {
|
|
29
38
|
radius: 3,
|
|
30
39
|
display: "flex",
|
|
@@ -4,16 +4,24 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
+
|
|
7
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
8
10
|
var _DashboardLayout = _interopRequireDefault(require("../components/DashboardLayout"));
|
|
11
|
+
|
|
9
12
|
var _WidgetGroup = _interopRequireDefault(require("../components/WidgetGroup"));
|
|
13
|
+
|
|
10
14
|
var _legacyParts = require("../legacyParts");
|
|
15
|
+
|
|
11
16
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
+
|
|
12
18
|
function Dashboard() {
|
|
13
19
|
var _dashboardConfig$layo;
|
|
20
|
+
|
|
14
21
|
if (!_legacyParts.dashboardConfig) {
|
|
15
22
|
return null;
|
|
16
23
|
}
|
|
24
|
+
|
|
17
25
|
var widgetConfigs = _legacyParts.dashboardConfig.widgets || [];
|
|
18
26
|
var layoutWidth = (_legacyParts.dashboardConfig === null || _legacyParts.dashboardConfig === void 0 ? void 0 : (_dashboardConfig$layo = _legacyParts.dashboardConfig.layout) === null || _dashboardConfig$layo === void 0 ? void 0 : _dashboardConfig$layo.width) || 'large';
|
|
19
27
|
return /*#__PURE__*/_react.default.createElement(_DashboardLayout.default, {
|
|
@@ -24,5 +32,6 @@ function Dashboard() {
|
|
|
24
32
|
}
|
|
25
33
|
}));
|
|
26
34
|
}
|
|
35
|
+
|
|
27
36
|
var _default = Dashboard;
|
|
28
37
|
exports.default = _default;
|
|
@@ -4,20 +4,32 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
+
|
|
7
8
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
+
|
|
8
10
|
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
|
|
9
12
|
var _NotFoundWidget = _interopRequireDefault(require("../components/NotFoundWidget"));
|
|
13
|
+
|
|
10
14
|
var _legacyParts = require("../legacyParts");
|
|
15
|
+
|
|
11
16
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
+
|
|
12
18
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
19
|
+
|
|
13
20
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
21
|
+
|
|
14
22
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
23
|
+
|
|
15
24
|
function WidgetContainer(props) {
|
|
16
25
|
var config = props.config || {};
|
|
17
26
|
var definition = Array.isArray(_legacyParts.definitions) ? _legacyParts.definitions.find(wid => wid.name === config.name) : null;
|
|
27
|
+
|
|
18
28
|
if (definition) {
|
|
19
29
|
var options = _objectSpread(_objectSpread({}, definition.options || {}), config.options || {});
|
|
30
|
+
|
|
20
31
|
var _layout = _objectSpread(_objectSpread({}, definition.layout || {}), config.layout || {});
|
|
32
|
+
|
|
21
33
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
22
34
|
"data-width": _layout.width,
|
|
23
35
|
"data-height": _layout.height,
|
|
@@ -25,6 +37,7 @@ function WidgetContainer(props) {
|
|
|
25
37
|
"data-name": "sanity-dashboard-widget-container"
|
|
26
38
|
}, /*#__PURE__*/_react.default.createElement(definition.component, options));
|
|
27
39
|
}
|
|
40
|
+
|
|
28
41
|
var layout = config.layout || {};
|
|
29
42
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
30
43
|
"data-width": layout.width,
|
|
@@ -33,6 +46,7 @@ function WidgetContainer(props) {
|
|
|
33
46
|
title: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, "Not found: \"", config.name, "\"")
|
|
34
47
|
}, /*#__PURE__*/_react.default.createElement("p", null, "Make sure your ", /*#__PURE__*/_react.default.createElement("code", null, "sanity.json"), " file mentions such a widget and that it\u2019s an implementation of ", /*#__PURE__*/_react.default.createElement("code", null, "part:@sanity/dashboard/widget"), ".")));
|
|
35
48
|
}
|
|
49
|
+
|
|
36
50
|
WidgetContainer.propTypes = {
|
|
37
51
|
// eslint-disable-next-line react/forbid-prop-types
|
|
38
52
|
config: _propTypes.default.any
|
package/lib/index.js
CHANGED
|
@@ -10,7 +10,9 @@ Object.defineProperty(exports, "default", {
|
|
|
10
10
|
return _DashboardTool.default;
|
|
11
11
|
}
|
|
12
12
|
});
|
|
13
|
+
|
|
13
14
|
var _dashboardWidget = require("./components/dashboardWidget");
|
|
15
|
+
|
|
14
16
|
Object.keys(_dashboardWidget).forEach(function (key) {
|
|
15
17
|
if (key === "default" || key === "__esModule") return;
|
|
16
18
|
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
@@ -22,5 +24,7 @@ Object.keys(_dashboardWidget).forEach(function (key) {
|
|
|
22
24
|
}
|
|
23
25
|
});
|
|
24
26
|
});
|
|
27
|
+
|
|
25
28
|
var _DashboardTool = _interopRequireDefault(require("./DashboardTool"));
|
|
29
|
+
|
|
26
30
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
package/lib/legacyParts.js
CHANGED
|
@@ -39,10 +39,17 @@ Object.defineProperty(exports, "userStore", {
|
|
|
39
39
|
return _user.default;
|
|
40
40
|
}
|
|
41
41
|
});
|
|
42
|
+
|
|
42
43
|
var _widgetContainer = _interopRequireDefault(require("part:@sanity/dashboard/widget-container"));
|
|
44
|
+
|
|
43
45
|
var _config = _interopRequireDefault(require("part:@sanity/dashboard/config?"));
|
|
46
|
+
|
|
44
47
|
var _client = _interopRequireDefault(require("part:@sanity/base/client"));
|
|
48
|
+
|
|
45
49
|
var _widget = _interopRequireDefault(require("all:part:@sanity/dashboard/widget?"));
|
|
50
|
+
|
|
46
51
|
var _default = _interopRequireDefault(require("part:@sanity/components/previews/default"));
|
|
52
|
+
|
|
47
53
|
var _user = _interopRequireDefault(require("part:@sanity/base/user"));
|
|
54
|
+
|
|
48
55
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
package/lib/versionedClient.js
CHANGED
|
@@ -4,7 +4,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.versionedClient = void 0;
|
|
7
|
+
|
|
7
8
|
var _legacyParts = require("./legacyParts");
|
|
9
|
+
|
|
8
10
|
/**
|
|
9
11
|
* Only for use inside of @sanity/dashboard
|
|
10
12
|
* Don't import this from external modules.
|
|
@@ -14,4 +16,5 @@ var _legacyParts = require("./legacyParts");
|
|
|
14
16
|
var versionedClient = _legacyParts.sanityClient.withConfig({
|
|
15
17
|
apiVersion: '1'
|
|
16
18
|
});
|
|
19
|
+
|
|
17
20
|
exports.versionedClient = versionedClient;
|
|
@@ -4,38 +4,55 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
+
|
|
7
8
|
var _isPlainObject2 = _interopRequireDefault(require("lodash/isPlainObject"));
|
|
9
|
+
|
|
8
10
|
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
|
|
9
12
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
|
+
|
|
10
14
|
var _ui = require("@sanity/ui");
|
|
15
|
+
|
|
11
16
|
var _versionedClient = require("../../versionedClient");
|
|
17
|
+
|
|
12
18
|
var _ = require("../../");
|
|
19
|
+
|
|
13
20
|
var _legacyParts = require("../../legacyParts");
|
|
21
|
+
|
|
14
22
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
23
|
+
|
|
15
24
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
25
|
+
|
|
16
26
|
var _versionedClient$conf = _versionedClient.versionedClient.config(),
|
|
17
|
-
|
|
18
|
-
|
|
27
|
+
projectId = _versionedClient$conf.projectId,
|
|
28
|
+
dataset = _versionedClient$conf.dataset;
|
|
29
|
+
|
|
19
30
|
function isUrl(url) {
|
|
20
31
|
return /^https?:\/\//.test("".concat(url));
|
|
21
32
|
}
|
|
33
|
+
|
|
22
34
|
function getGraphQlUrl() {
|
|
23
35
|
return "https://".concat(projectId, ".api.sanity.io/v1/graphql/").concat(dataset, "/default");
|
|
24
36
|
}
|
|
37
|
+
|
|
25
38
|
function getGroqUrl() {
|
|
26
39
|
return "https://".concat(projectId, ".api.sanity.io/v1/groq/").concat(dataset);
|
|
27
40
|
}
|
|
41
|
+
|
|
28
42
|
function getManageUrl() {
|
|
29
43
|
return "https://manage.sanity.io/projects/".concat(projectId);
|
|
30
44
|
}
|
|
45
|
+
|
|
31
46
|
class ProjectInfo extends _react.default.PureComponent {
|
|
32
47
|
constructor() {
|
|
33
48
|
super(...arguments);
|
|
49
|
+
|
|
34
50
|
_defineProperty(this, "state", {
|
|
35
51
|
studioHost: null,
|
|
36
52
|
graphqlApi: null
|
|
37
53
|
});
|
|
38
54
|
}
|
|
55
|
+
|
|
39
56
|
componentDidMount() {
|
|
40
57
|
// fetch project data
|
|
41
58
|
this.subscriptions = [];
|
|
@@ -56,9 +73,8 @@ class ProjectInfo extends _react.default.PureComponent {
|
|
|
56
73
|
}
|
|
57
74
|
});
|
|
58
75
|
}
|
|
59
|
-
}));
|
|
76
|
+
})); // ping assumed graphql endpoint
|
|
60
77
|
|
|
61
|
-
// ping assumed graphql endpoint
|
|
62
78
|
this.subscriptions.push(_versionedClient.versionedClient.observable.request({
|
|
63
79
|
method: 'HEAD',
|
|
64
80
|
uri: "/graphql/".concat(dataset, "/default")
|
|
@@ -82,13 +98,15 @@ class ProjectInfo extends _react.default.PureComponent {
|
|
|
82
98
|
}
|
|
83
99
|
}));
|
|
84
100
|
}
|
|
101
|
+
|
|
85
102
|
componentWillUnmount() {
|
|
86
103
|
this.subscriptions.forEach(sub => sub.unsubscribe());
|
|
87
104
|
}
|
|
105
|
+
|
|
88
106
|
assembleTableRows() {
|
|
89
107
|
var _this$state = this.state,
|
|
90
|
-
|
|
91
|
-
|
|
108
|
+
graphqlApi = _this$state.graphqlApi,
|
|
109
|
+
studioHost = _this$state.studioHost;
|
|
92
110
|
var propsData = this.props.data;
|
|
93
111
|
var result = [{
|
|
94
112
|
title: 'Sanity project',
|
|
@@ -99,21 +117,21 @@ class ProjectInfo extends _react.default.PureComponent {
|
|
|
99
117
|
title: 'Dataset',
|
|
100
118
|
value: dataset
|
|
101
119
|
}]
|
|
102
|
-
}];
|
|
120
|
+
}]; // Handle any apps
|
|
103
121
|
|
|
104
|
-
// Handle any apps
|
|
105
122
|
var apps = [studioHost ? {
|
|
106
123
|
title: 'Studio',
|
|
107
124
|
value: studioHost
|
|
108
125
|
} : null].concat(propsData.filter(item => item.category === 'apps')).filter(Boolean);
|
|
126
|
+
|
|
109
127
|
if (apps.length > 0) {
|
|
110
128
|
result = result.concat([{
|
|
111
129
|
title: 'Apps',
|
|
112
130
|
rows: apps
|
|
113
131
|
}]);
|
|
114
|
-
}
|
|
132
|
+
} // Handle APIs
|
|
133
|
+
|
|
115
134
|
|
|
116
|
-
// Handle APIs
|
|
117
135
|
result = result.concat([{
|
|
118
136
|
title: 'APIs',
|
|
119
137
|
rows: [{
|
|
@@ -123,15 +141,15 @@ class ProjectInfo extends _react.default.PureComponent {
|
|
|
123
141
|
title: 'GraphQL',
|
|
124
142
|
value: graphqlApi || 'Not deployed'
|
|
125
143
|
}]
|
|
126
|
-
}], propsData.filter(item => item.category === 'apis'));
|
|
144
|
+
}], propsData.filter(item => item.category === 'apis')); // Handle whatever else there might be
|
|
127
145
|
|
|
128
|
-
// Handle whatever else there might be
|
|
129
146
|
var otherStuff = {};
|
|
130
147
|
propsData.forEach(item => {
|
|
131
148
|
if (item.category !== 'apps' && item.category !== 'apis') {
|
|
132
149
|
if (!otherStuff[item.category]) {
|
|
133
150
|
otherStuff[item.category] = [];
|
|
134
151
|
}
|
|
152
|
+
|
|
135
153
|
otherStuff[item.category].push(item);
|
|
136
154
|
}
|
|
137
155
|
});
|
|
@@ -143,8 +161,10 @@ class ProjectInfo extends _react.default.PureComponent {
|
|
|
143
161
|
});
|
|
144
162
|
return result;
|
|
145
163
|
}
|
|
164
|
+
|
|
146
165
|
render() {
|
|
147
166
|
var _this$props$__experim;
|
|
167
|
+
|
|
148
168
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, this.props.__experimental_before && this.props.__experimental_before.map((widgetConfig, idx) => /*#__PURE__*/_react.default.createElement(_legacyParts.WidgetContainer, {
|
|
149
169
|
key: String(idx),
|
|
150
170
|
config: widgetConfig
|
|
@@ -183,6 +203,7 @@ class ProjectInfo extends _react.default.PureComponent {
|
|
|
183
203
|
if (!item || !item.rows) {
|
|
184
204
|
return null;
|
|
185
205
|
}
|
|
206
|
+
|
|
186
207
|
return /*#__PURE__*/_react.default.createElement(_ui.Stack, {
|
|
187
208
|
key: item.title,
|
|
188
209
|
space: 3
|
|
@@ -225,16 +246,20 @@ class ProjectInfo extends _react.default.PureComponent {
|
|
|
225
246
|
})));
|
|
226
247
|
}))))));
|
|
227
248
|
}
|
|
249
|
+
|
|
228
250
|
}
|
|
251
|
+
|
|
229
252
|
_defineProperty(ProjectInfo, "propTypes", {
|
|
230
253
|
// eslint-disable-next-line camelcase
|
|
231
254
|
__experimental_before: _propTypes.default.array,
|
|
232
255
|
data: _propTypes.default.array
|
|
233
256
|
});
|
|
257
|
+
|
|
234
258
|
_defineProperty(ProjectInfo, "defaultProps", {
|
|
235
259
|
// eslint-disable-next-line camelcase
|
|
236
260
|
__experimental_before: [],
|
|
237
261
|
data: []
|
|
238
262
|
});
|
|
263
|
+
|
|
239
264
|
var _default = ProjectInfo;
|
|
240
265
|
exports.default = _default;
|
|
@@ -4,8 +4,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
+
|
|
7
8
|
var _ProjectInfo = _interopRequireDefault(require("./ProjectInfo"));
|
|
9
|
+
|
|
8
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
+
|
|
9
12
|
var _default = {
|
|
10
13
|
name: 'project-info',
|
|
11
14
|
component: _ProjectInfo.default,
|
|
@@ -4,62 +4,90 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
+
|
|
7
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
8
10
|
var _operators = require("rxjs/operators");
|
|
11
|
+
|
|
9
12
|
var _ui = require("@sanity/ui");
|
|
13
|
+
|
|
10
14
|
var _icons = require("@sanity/icons");
|
|
15
|
+
|
|
11
16
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
17
|
+
|
|
12
18
|
var _components = require("@sanity/base/components");
|
|
19
|
+
|
|
13
20
|
var _spinner = _interopRequireDefault(require("part:@sanity/components/loading/spinner"));
|
|
21
|
+
|
|
14
22
|
var _versionedClient = require("../../versionedClient");
|
|
23
|
+
|
|
15
24
|
var _ = require("../../");
|
|
25
|
+
|
|
16
26
|
var _legacyParts = require("../../legacyParts");
|
|
27
|
+
|
|
17
28
|
var _templateObject;
|
|
29
|
+
|
|
18
30
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
31
|
+
|
|
19
32
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
33
|
+
|
|
20
34
|
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
35
|
+
|
|
21
36
|
var AvatarWrapper = (0, _styledComponents.default)(_ui.Card)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n box-sizing: border-box;\n border-radius: 50%;\n border-color: transparent;\n overflow: hidden;\n width: 100%;\n height: 100%;\n\n & > img {\n width: 100%;\n height: auto;\n }\n"])));
|
|
37
|
+
|
|
22
38
|
function getInviteUrl(projectId) {
|
|
23
39
|
return "https://manage.sanity.io/projects/".concat(projectId, "/team/invite");
|
|
24
40
|
}
|
|
41
|
+
|
|
25
42
|
function sortUsersByRobotStatus(userA, userB, project) {
|
|
26
43
|
var members = project.members;
|
|
27
44
|
var membershipA = members.find(member => member.id === userA.id);
|
|
28
45
|
var membershipB = members.find(member => member.id === userB.id);
|
|
46
|
+
|
|
29
47
|
if (membershipA.isRobot) {
|
|
30
48
|
return 1;
|
|
31
49
|
}
|
|
50
|
+
|
|
32
51
|
if (membershipB.isRobot) {
|
|
33
52
|
return -1;
|
|
34
53
|
}
|
|
54
|
+
|
|
35
55
|
return 0;
|
|
36
56
|
}
|
|
57
|
+
|
|
37
58
|
class ProjectUsers extends _react.default.PureComponent {
|
|
38
59
|
constructor() {
|
|
39
60
|
super(...arguments);
|
|
61
|
+
|
|
40
62
|
_defineProperty(this, "state", {
|
|
41
63
|
project: null,
|
|
42
64
|
users: null,
|
|
43
65
|
error: null
|
|
44
66
|
});
|
|
67
|
+
|
|
45
68
|
_defineProperty(this, "handleRetryFetch", () => {
|
|
46
69
|
this.fetchData();
|
|
47
70
|
});
|
|
48
71
|
}
|
|
72
|
+
|
|
49
73
|
componentDidMount() {
|
|
50
74
|
this.fetchData();
|
|
51
75
|
}
|
|
76
|
+
|
|
52
77
|
componentWillUnmount() {
|
|
53
78
|
if (this.subscription) {
|
|
54
79
|
this.subscription.unsubscribe();
|
|
55
80
|
}
|
|
56
81
|
}
|
|
82
|
+
|
|
57
83
|
fetchData() {
|
|
58
84
|
if (this.subscription) {
|
|
59
85
|
this.subscription.unsubscribe();
|
|
60
86
|
}
|
|
87
|
+
|
|
61
88
|
var _versionedClient$conf = _versionedClient.versionedClient.config(),
|
|
62
|
-
|
|
89
|
+
projectId = _versionedClient$conf.projectId;
|
|
90
|
+
|
|
63
91
|
this.subscription = _versionedClient.versionedClient.observable.request({
|
|
64
92
|
uri: "/projects/".concat(projectId)
|
|
65
93
|
}).pipe((0, _operators.switchMap)(project => _legacyParts.userStore.observable.getUsers(project.members.map(mem => mem.id)).pipe((0, _operators.map)(users => ({
|
|
@@ -68,7 +96,7 @@ class ProjectUsers extends _react.default.PureComponent {
|
|
|
68
96
|
}))))).subscribe({
|
|
69
97
|
next: _ref => {
|
|
70
98
|
var users = _ref.users,
|
|
71
|
-
|
|
99
|
+
project = _ref.project;
|
|
72
100
|
return this.setState({
|
|
73
101
|
project,
|
|
74
102
|
users: (Array.isArray(users) ? users : [users]).sort((userA, userB) => sortUsersByRobotStatus(userA, userB, project))
|
|
@@ -79,12 +107,14 @@ class ProjectUsers extends _react.default.PureComponent {
|
|
|
79
107
|
})
|
|
80
108
|
});
|
|
81
109
|
}
|
|
110
|
+
|
|
82
111
|
render() {
|
|
83
112
|
var _this$state = this.state,
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
113
|
+
error = _this$state.error,
|
|
114
|
+
project = _this$state.project,
|
|
115
|
+
users = _this$state.users;
|
|
87
116
|
var isLoading = !users || !project;
|
|
117
|
+
|
|
88
118
|
if (error) {
|
|
89
119
|
return /*#__PURE__*/_react.default.createElement(_.DashboardWidget, {
|
|
90
120
|
header: "Project users"
|
|
@@ -98,6 +128,7 @@ class ProjectUsers extends _react.default.PureComponent {
|
|
|
98
128
|
}
|
|
99
129
|
}, "retry"), "..?")));
|
|
100
130
|
}
|
|
131
|
+
|
|
101
132
|
return /*#__PURE__*/_react.default.createElement(_.DashboardWidget, {
|
|
102
133
|
header: "Project users",
|
|
103
134
|
footer: /*#__PURE__*/_react.default.createElement(_ui.Button, {
|
|
@@ -140,8 +171,12 @@ class ProjectUsers extends _react.default.PureComponent {
|
|
|
140
171
|
}));
|
|
141
172
|
})));
|
|
142
173
|
}
|
|
174
|
+
|
|
143
175
|
}
|
|
176
|
+
|
|
144
177
|
_defineProperty(ProjectUsers, "propTypes", {});
|
|
178
|
+
|
|
145
179
|
_defineProperty(ProjectUsers, "defaultProps", {});
|
|
180
|
+
|
|
146
181
|
var _default = ProjectUsers;
|
|
147
182
|
exports.default = _default;
|
|
@@ -4,8 +4,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
+
|
|
7
8
|
var _ProjectUsers = _interopRequireDefault(require("./ProjectUsers"));
|
|
9
|
+
|
|
8
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
+
|
|
9
12
|
var _default = {
|
|
10
13
|
name: 'project-users',
|
|
11
14
|
component: _ProjectUsers.default
|
|
@@ -4,23 +4,33 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
+
|
|
7
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
8
10
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
+
|
|
9
12
|
var _ui = require("@sanity/ui");
|
|
13
|
+
|
|
10
14
|
var _Tutorial = _interopRequireDefault(require("./Tutorial"));
|
|
15
|
+
|
|
11
16
|
var _dataAdapter = _interopRequireDefault(require("./dataAdapter"));
|
|
17
|
+
|
|
12
18
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
|
+
|
|
13
20
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
21
|
+
|
|
14
22
|
var FeedItem = _ref => {
|
|
15
23
|
var feedItem = _ref.feedItem;
|
|
16
24
|
// Check to see if the feed item has the content needed to render an item with a link and poster image
|
|
17
25
|
var isEmpty = !feedItem.title || !feedItem.guideOrTutorial && !feedItem.externalLink && !feedItem.feedItems;
|
|
26
|
+
|
|
18
27
|
if (isEmpty) {
|
|
19
28
|
return null;
|
|
20
29
|
}
|
|
30
|
+
|
|
21
31
|
var subtitle = feedItem.description;
|
|
22
32
|
var _feedItem$guideOrTuto = feedItem.guideOrTutorial,
|
|
23
|
-
|
|
33
|
+
guideOrTutorial = _feedItem$guideOrTuto === void 0 ? {} : _feedItem$guideOrTuto;
|
|
24
34
|
return /*#__PURE__*/_react.default.createElement(_Tutorial.default, {
|
|
25
35
|
title: feedItem.title,
|
|
26
36
|
href: createUrl(guideOrTutorial.slug, guideOrTutorial._type) || feedItem.externalLink,
|
|
@@ -29,23 +39,29 @@ var FeedItem = _ref => {
|
|
|
29
39
|
posterURL: feedItem.poster ? urlBuilder.image(feedItem.poster).height(360).url() : undefined
|
|
30
40
|
});
|
|
31
41
|
};
|
|
42
|
+
|
|
32
43
|
var urlBuilder = _dataAdapter.default.urlBuilder,
|
|
33
|
-
|
|
44
|
+
getFeed = _dataAdapter.default.getFeed;
|
|
45
|
+
|
|
34
46
|
function createUrl(slug, type) {
|
|
35
47
|
if (type === 'tutorial') {
|
|
36
48
|
return "https://www.sanity.io/docs/tutorials/".concat(slug.current);
|
|
37
49
|
} else if (type === 'guide') {
|
|
38
50
|
return "https://www.sanity.io/docs/guides/".concat(slug.current);
|
|
39
51
|
}
|
|
52
|
+
|
|
40
53
|
return false;
|
|
41
54
|
}
|
|
55
|
+
|
|
42
56
|
class SanityTutorials extends _react.default.Component {
|
|
43
57
|
constructor() {
|
|
44
58
|
super(...arguments);
|
|
59
|
+
|
|
45
60
|
_defineProperty(this, "state", {
|
|
46
61
|
feedItems: []
|
|
47
62
|
});
|
|
48
63
|
}
|
|
64
|
+
|
|
49
65
|
componentDidMount() {
|
|
50
66
|
var templateRepoId = this.props.templateRepoId;
|
|
51
67
|
this.subscription = getFeed(templateRepoId).subscribe(response => {
|
|
@@ -55,21 +71,24 @@ class SanityTutorials extends _react.default.Component {
|
|
|
55
71
|
});
|
|
56
72
|
});
|
|
57
73
|
}
|
|
74
|
+
|
|
58
75
|
componentWillUnmount() {
|
|
59
76
|
if (this.subscription) {
|
|
60
77
|
this.subscription.unsubscribe();
|
|
61
78
|
}
|
|
62
79
|
}
|
|
80
|
+
|
|
63
81
|
render() {
|
|
64
82
|
var _this$state = this.state,
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
83
|
+
_this$state$title = _this$state.title,
|
|
84
|
+
title = _this$state$title === void 0 ? 'Learn about Sanity' : _this$state$title,
|
|
85
|
+
feedItems = _this$state.feedItems; // Filter out items and sections for layout purposes
|
|
68
86
|
|
|
69
|
-
// Filter out items and sections for layout purposes
|
|
70
87
|
var sections = feedItems.filter(i => i._type === 'feedSection');
|
|
71
88
|
var items = feedItems.filter(i => i._type === 'feedItem');
|
|
89
|
+
|
|
72
90
|
var columns = length => length < 4 ? [1, 2, 3] : [1, 2, 3, 4];
|
|
91
|
+
|
|
73
92
|
return /*#__PURE__*/_react.default.createElement(_ui.Container, {
|
|
74
93
|
width: 4
|
|
75
94
|
}, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
|
|
@@ -107,6 +126,7 @@ class SanityTutorials extends _react.default.Component {
|
|
|
107
126
|
text: "Go to docs"
|
|
108
127
|
}))))), sections && (sections === null || sections === void 0 ? void 0 : sections.length) > 0 && sections.map(section => {
|
|
109
128
|
var _section$sectionItems;
|
|
129
|
+
|
|
110
130
|
return (section === null || section === void 0 ? void 0 : section.sectionItems) && /*#__PURE__*/_react.default.createElement(_ui.Stack, {
|
|
111
131
|
space: 4,
|
|
112
132
|
key: section._id
|
|
@@ -134,12 +154,16 @@ class SanityTutorials extends _react.default.Component {
|
|
|
134
154
|
feedItem: feedItem
|
|
135
155
|
})))))));
|
|
136
156
|
}
|
|
157
|
+
|
|
137
158
|
}
|
|
159
|
+
|
|
138
160
|
_defineProperty(SanityTutorials, "propTypes", {
|
|
139
161
|
templateRepoId: _propTypes.default.string
|
|
140
162
|
});
|
|
163
|
+
|
|
141
164
|
_defineProperty(SanityTutorials, "defaultProps", {
|
|
142
165
|
templateRepoId: null
|
|
143
166
|
});
|
|
167
|
+
|
|
144
168
|
var _default = SanityTutorials;
|
|
145
169
|
exports.default = _default;
|
|
@@ -4,13 +4,21 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
+
|
|
7
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
8
10
|
var _ui = require("@sanity/ui");
|
|
11
|
+
|
|
9
12
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
13
|
+
|
|
10
14
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
|
|
15
|
+
|
|
11
16
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
+
|
|
12
18
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
19
|
+
|
|
13
20
|
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
21
|
+
|
|
14
22
|
// eslint-disable-next-line no-useless-escape
|
|
15
23
|
var youtubeRegex = /youtu(?:.*\/v\/|.*v\=|\.be\/)([A-Za-z0-9_-]{11})/;
|
|
16
24
|
var PlayIconBox = (0, _styledComponents.default)(_ui.Box)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n\n &:before {\n content: '';\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 2.75em;\n height: 2.75em;\n border-radius: 50%;\n background: ", ";\n opacity: 0.75;\n }\n"])), _ref => {
|
|
@@ -19,8 +27,11 @@ var PlayIconBox = (0, _styledComponents.default)(_ui.Box)(_templateObject || (_t
|
|
|
19
27
|
});
|
|
20
28
|
var Root = (0, _styledComponents.default)(_ui.Flex)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n &:hover {\n ", " {\n &:before {\n opacity: 1;\n }\n }\n }\n"])), PlayIconBox);
|
|
21
29
|
var PosterCard = (0, _styledComponents.default)(_ui.Card)(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n width: 100%;\n padding-bottom: calc(9 / 16 * 100%);\n position: relative;\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n"])));
|
|
30
|
+
|
|
22
31
|
var Poster = _styledComponents.default.img(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n object-fit: cover;\n display: block;\n border-radius: inherit;\n\n &:not([src]) {\n display: none;\n }\n"])));
|
|
32
|
+
|
|
23
33
|
var YoutubeContainer = (0, _styledComponents.default)(_ui.Card)(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n position: relative;\n padding-bottom: 56.25%;\n overflow: hidden;\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n\n iframe {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n }\n"])));
|
|
34
|
+
|
|
24
35
|
var YoutubeEmbed = _ref2 => {
|
|
25
36
|
var embedId = _ref2.embedId;
|
|
26
37
|
return /*#__PURE__*/_react.default.createElement(YoutubeContainer, {
|
|
@@ -34,14 +45,15 @@ var YoutubeEmbed = _ref2 => {
|
|
|
34
45
|
allowFullScreen: true
|
|
35
46
|
}));
|
|
36
47
|
};
|
|
48
|
+
|
|
37
49
|
class Tutorial extends _react.default.PureComponent {
|
|
38
50
|
render() {
|
|
39
51
|
var _this$props = this.props,
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
52
|
+
title = _this$props.title,
|
|
53
|
+
posterURL = _this$props.posterURL,
|
|
54
|
+
showPlayIcon = _this$props.showPlayIcon,
|
|
55
|
+
href = _this$props.href,
|
|
56
|
+
presenterSubtitle = _this$props.presenterSubtitle;
|
|
45
57
|
var isYoutube = showPlayIcon && href && href.match(youtubeRegex);
|
|
46
58
|
return isYoutube ? /*#__PURE__*/_react.default.createElement(_ui.Card, {
|
|
47
59
|
space: 2,
|
|
@@ -103,10 +115,13 @@ class Tutorial extends _react.default.PureComponent {
|
|
|
103
115
|
muted: true
|
|
104
116
|
}, presenterSubtitle)))));
|
|
105
117
|
}
|
|
118
|
+
|
|
106
119
|
}
|
|
120
|
+
|
|
107
121
|
_defineProperty(Tutorial, "defaultProps", {
|
|
108
122
|
posterURL: null,
|
|
109
123
|
showPlayIcon: false
|
|
110
124
|
});
|
|
125
|
+
|
|
111
126
|
var _default = Tutorial;
|
|
112
127
|
exports.default = _default;
|
|
@@ -4,9 +4,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
+
|
|
7
8
|
var _imageUrl = _interopRequireDefault(require("@sanity/image-url"));
|
|
9
|
+
|
|
8
10
|
var _versionedClient = require("../../versionedClient");
|
|
11
|
+
|
|
9
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
+
|
|
10
14
|
var tutorialsProjectConfig = {
|
|
11
15
|
projectId: '3do82whm',
|
|
12
16
|
dataset: 'next'
|
|
@@ -4,8 +4,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
+
|
|
7
8
|
var _SanityTutorials = _interopRequireDefault(require("./SanityTutorials"));
|
|
9
|
+
|
|
8
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
+
|
|
9
12
|
var _default = {
|
|
10
13
|
name: 'sanity-tutorials',
|
|
11
14
|
component: _SanityTutorials.default,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sanity/dashboard",
|
|
3
|
-
"version": "2.34.
|
|
3
|
+
"version": "2.34.2-empty-template-cli.0+184a9350e5",
|
|
4
4
|
"description": "Tool for rendering dashboard widgets",
|
|
5
5
|
"main": "./lib/index.js",
|
|
6
6
|
"types": "./dist/dts",
|
|
@@ -22,13 +22,13 @@
|
|
|
22
22
|
"dependencies": {
|
|
23
23
|
"@sanity/icons": "^1.3.4",
|
|
24
24
|
"@sanity/image-url": "^1.0.1",
|
|
25
|
-
"@sanity/types": "2.34.
|
|
25
|
+
"@sanity/types": "2.34.2-empty-template-cli.0+184a9350e5",
|
|
26
26
|
"@sanity/ui": "^0.37.22",
|
|
27
27
|
"lodash": "^4.17.15",
|
|
28
28
|
"rxjs": "^6.5.3"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
|
-
"@sanity/base": "2.34.
|
|
31
|
+
"@sanity/base": "2.34.2-empty-template-cli.0+184a9350e5",
|
|
32
32
|
"prop-types": "^15.6.0",
|
|
33
33
|
"rimraf": "^2.7.1"
|
|
34
34
|
},
|
|
@@ -47,5 +47,5 @@
|
|
|
47
47
|
"url": "https://github.com/sanity-io/sanity/issues"
|
|
48
48
|
},
|
|
49
49
|
"homepage": "https://www.sanity.io/",
|
|
50
|
-
"gitHead": "
|
|
50
|
+
"gitHead": "184a9350e50aa05877a3b10e052ce4e2ca743ef0"
|
|
51
51
|
}
|