@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.
@@ -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
- children = props.children;
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
- children = props.children,
25
- footer = props.footer,
26
- hideFooterBorder = props.hideFooterBorder,
27
- className = props.className;
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 }; }
@@ -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 }; }
@@ -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
- projectId = _versionedClient$conf.projectId,
18
- dataset = _versionedClient$conf.dataset;
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
- graphqlApi = _this$state.graphqlApi,
91
- studioHost = _this$state.studioHost;
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
- projectId = _versionedClient$conf.projectId;
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
- project = _ref.project;
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
- error = _this$state.error,
85
- project = _this$state.project,
86
- users = _this$state.users;
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
- guideOrTutorial = _feedItem$guideOrTuto === void 0 ? {} : _feedItem$guideOrTuto;
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
- getFeed = _dataAdapter.default.getFeed;
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
- _this$state$title = _this$state.title,
66
- title = _this$state$title === void 0 ? 'Learn about Sanity' : _this$state$title,
67
- feedItems = _this$state.feedItems;
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
- title = _this$props.title,
41
- posterURL = _this$props.posterURL,
42
- showPlayIcon = _this$props.showPlayIcon,
43
- href = _this$props.href,
44
- presenterSubtitle = _this$props.presenterSubtitle;
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.1-canary.0+b3e58b8893",
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.1-canary.0+b3e58b8893",
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.1-canary.0+b3e58b8893",
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": "b3e58b8893c9573844279488896df2313df914f1"
50
+ "gitHead": "184a9350e50aa05877a3b10e052ce4e2ca743ef0"
51
51
  }