sanity-plugin-utils 1.6.3 → 1.6.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,3 +1,11 @@
1
+ > This is a **Sanity Studio v3** plugin.
2
+
3
+ ## Installation
4
+
5
+ ```sh
6
+ npm install sanity-plugin-utils
7
+ ```
8
+
1
9
  # sanity-plugin-utils
2
10
 
3
11
  Handy hooks and clever components for Sanity Studio v3.
@@ -1,13 +1,26 @@
1
- import React, { useMemo, useState, useRef, useEffect } from 'react';
2
- import { useClient, useDocumentStore, useWorkspace, UserAvatar } from 'sanity';
3
- import { distinctUntilChanged, catchError } from 'rxjs/operators';
4
- import isEqual from 'react-fast-compare';
5
- import { usePaneRouter } from 'sanity/desk';
6
- import { RouterContext } from 'sanity/router';
7
- import { jsx, jsxs } from 'react/jsx-runtime';
8
- import { Card, Flex, Box, Stack, Text, Menu, MenuItem, TextInput, Badge } from '@sanity/ui';
9
- import styled, { css } from 'styled-components';
10
- import { RemoveCircleIcon, AddCircleIcon, RestoreIcon } from '@sanity/icons';
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', {
4
+ value: true
5
+ });
6
+ var React = require('react');
7
+ var sanity = require('sanity');
8
+ var isEqual = require('react-fast-compare');
9
+ var operators = require('rxjs/operators');
10
+ var structure = require('sanity/structure');
11
+ var router = require('sanity/router');
12
+ var jsxRuntime = require('react/jsx-runtime');
13
+ var ui = require('@sanity/ui');
14
+ var styled = require('styled-components');
15
+ var icons = require('@sanity/icons');
16
+ function _interopDefaultCompat(e) {
17
+ return e && typeof e === 'object' && 'default' in e ? e : {
18
+ default: e
19
+ };
20
+ }
21
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
22
+ var isEqual__default = /*#__PURE__*/_interopDefaultCompat(isEqual);
23
+ var styled__default = /*#__PURE__*/_interopDefaultCompat(styled);
11
24
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
12
25
  function getDefaultExportFromCjs(x) {
13
26
  return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
@@ -658,13 +671,13 @@ var builder_1 = __importDefault(builder);
658
671
  var node = builder_1.default;
659
672
  var createImageUrlBuilder = /*@__PURE__*/getDefaultExportFromCjs(node);
660
673
  function useImageUrlBuilder(clientOptions) {
661
- const client = useClient(clientOptions);
662
- const builder = useMemo(() => createImageUrlBuilder(client), [client]);
674
+ const client = sanity.useClient(clientOptions);
675
+ const builder = React.useMemo(() => createImageUrlBuilder(client), [client]);
663
676
  return builder;
664
677
  }
665
678
  function useImageUrlBuilderImage(source, clientOptions) {
666
679
  const builder = useImageUrlBuilder(clientOptions);
667
- const image = useMemo(() => source && builder ? builder.image(source) : null, [builder, source]);
680
+ const image = React.useMemo(() => source && builder ? builder.image(source) : null, [builder, source]);
668
681
  return image;
669
682
  }
670
683
  const DEFAULT_PARAMS = {};
@@ -673,8 +686,8 @@ const DEFAULT_OPTIONS = {
673
686
  };
674
687
  const DEFAULT_INITIAL_VALUE = null;
675
688
  function useParams(params) {
676
- const stringifiedParams = useMemo(() => JSON.stringify(params || {}), [params]);
677
- return useMemo(() => JSON.parse(stringifiedParams), [stringifiedParams]);
689
+ const stringifiedParams = React.useMemo(() => JSON.stringify(params || {}), [params]);
690
+ return React.useMemo(() => JSON.parse(stringifiedParams), [stringifiedParams]);
678
691
  }
679
692
  function useListeningQuery(query, _ref) {
680
693
  let {
@@ -682,24 +695,24 @@ function useListeningQuery(query, _ref) {
682
695
  options = DEFAULT_OPTIONS,
683
696
  initialValue = DEFAULT_INITIAL_VALUE
684
697
  } = _ref;
685
- const [loading, setLoading] = useState(true);
686
- const [error, setError] = useState(false);
687
- const [data, setData] = useState(initialValue);
698
+ const [loading, setLoading] = React.useState(true);
699
+ const [error, setError] = React.useState(false);
700
+ const [data, setData] = React.useState(initialValue);
688
701
  const memoParams = useParams(params);
689
702
  const memoOptions = useParams(options);
690
- const subscription = useRef(null);
691
- const documentStore = useDocumentStore();
692
- useEffect(() => {
703
+ const subscription = React.useRef(null);
704
+ const documentStore = sanity.useDocumentStore();
705
+ React.useEffect(() => {
693
706
  if (query && !error && !subscription.current) {
694
707
  try {
695
- subscription.current = documentStore.listenQuery(query, memoParams, memoOptions).pipe(distinctUntilChanged(isEqual), catchError(err => {
708
+ subscription.current = documentStore.listenQuery(query, memoParams, memoOptions).pipe(operators.distinctUntilChanged(isEqual__default.default), operators.catchError(err => {
696
709
  console.error(err);
697
710
  setError(err);
698
711
  setLoading(false);
699
712
  setData(null);
700
713
  return err;
701
714
  })).subscribe(documents => {
702
- setData(current => isEqual(current, documents) ? current : documents);
715
+ setData(current => isEqual__default.default(current, documents) ? current : documents);
703
716
  setLoading(false);
704
717
  setError(false);
705
718
  });
@@ -732,12 +745,12 @@ function useProjectUsers(_ref2) {
732
745
  } = _ref2;
733
746
  const {
734
747
  currentUser
735
- } = useWorkspace();
736
- const client = useClient({
748
+ } = sanity.useWorkspace();
749
+ const client = sanity.useClient({
737
750
  apiVersion: apiVersion != null ? apiVersion : "2023-01-01"
738
751
  });
739
- const [users, setUsers] = useState([]);
740
- useEffect(() => {
752
+ const [users, setUsers] = React.useState([]);
753
+ React.useEffect(() => {
741
754
  const {
742
755
  projectId
743
756
  } = client.config();
@@ -763,12 +776,12 @@ function useProjectUsers(_ref2) {
763
776
  return users;
764
777
  }
765
778
  function useOpenInNewPane(id, type) {
766
- const routerContext = React.useContext(RouterContext);
779
+ const routerContext = React__default.default.useContext(router.RouterContext);
767
780
  const {
768
781
  routerPanesState,
769
782
  groupIndex
770
- } = usePaneRouter();
771
- const openInNewPane = React.useCallback(() => {
783
+ } = structure.usePaneRouter();
784
+ const openInNewPane = React__default.default.useCallback(() => {
772
785
  if (!routerContext || !id || !type) {
773
786
  return;
774
787
  }
@@ -802,20 +815,20 @@ function Feedback(props) {
802
815
  ...DEFAULT_PROPS,
803
816
  ...props
804
817
  };
805
- return /* @__PURE__ */jsx(Card, {
818
+ return /* @__PURE__ */jsxRuntime.jsx(ui.Card, {
806
819
  tone,
807
820
  padding: 4,
808
821
  radius: 3,
809
822
  border: true,
810
- children: /* @__PURE__ */jsxs(Flex, {
811
- children: [icon ? "display icon" : null, children ? children : /* @__PURE__ */jsx(Box, {
823
+ children: /* @__PURE__ */jsxRuntime.jsxs(ui.Flex, {
824
+ children: [icon ? "display icon" : null, children ? children : /* @__PURE__ */jsxRuntime.jsx(ui.Box, {
812
825
  flex: 1,
813
- children: /* @__PURE__ */jsxs(Stack, {
826
+ children: /* @__PURE__ */jsxRuntime.jsxs(ui.Stack, {
814
827
  space: 4,
815
- children: [title ? /* @__PURE__ */jsx(Text, {
828
+ children: [title ? /* @__PURE__ */jsxRuntime.jsx(ui.Text, {
816
829
  weight: "semibold",
817
830
  children: title
818
- }) : null, description ? /* @__PURE__ */jsx(Text, {
831
+ }) : null, description ? /* @__PURE__ */jsxRuntime.jsx(ui.Text, {
819
832
  size: 2,
820
833
  children: description
821
834
  }) : null]
@@ -827,59 +840,59 @@ function Feedback(props) {
827
840
  var __freeze = Object.freeze;
828
841
  var __defProp = Object.defineProperty;
829
842
  var __template = (cooked, raw) => __freeze(__defProp(cooked, "raw", {
830
- value: __freeze(raw || cooked.slice())
843
+ value: __freeze(cooked.slice())
831
844
  }));
832
845
  var _a, _b, _c;
833
846
  const TableWrapper = function () {
834
847
  let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
835
- return /* @__PURE__ */jsx(Card, {
848
+ return /* @__PURE__ */jsxRuntime.jsx(ui.Card, {
836
849
  as: "table",
837
850
  ...props
838
851
  });
839
852
  };
840
- const StyledTable = styled(TableWrapper)(() => css(_a || (_a = __template(["\n display: table;\n width: 100%;\n border-collapse: collapse;\n\n &:not([hidden]) {\n display: table;\n border-collapse: collapse;\n }\n "]))));
853
+ const StyledTable = styled__default.default(TableWrapper)(() => styled.css(_a || (_a = __template(["\n display: table;\n width: 100%;\n border-collapse: collapse;\n\n &:not([hidden]) {\n display: table;\n border-collapse: collapse;\n }\n "]))));
841
854
  function Table(props) {
842
855
  const {
843
856
  children,
844
857
  ...rest
845
858
  } = props;
846
- return /* @__PURE__ */jsx(StyledTable, {
859
+ return /* @__PURE__ */jsxRuntime.jsx(StyledTable, {
847
860
  ...rest,
848
861
  children
849
862
  });
850
863
  }
851
864
  const RowWrapper = function () {
852
865
  let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
853
- return /* @__PURE__ */jsx(Card, {
866
+ return /* @__PURE__ */jsxRuntime.jsx(ui.Card, {
854
867
  as: "tr",
855
868
  ...props
856
869
  });
857
870
  };
858
- const StyledRow = styled(RowWrapper)(() => css(_b || (_b = __template(["\n display: table-row;\n\n &:not([hidden]) {\n display: table-row;\n }\n "]))));
871
+ const StyledRow = styled__default.default(RowWrapper)(() => styled.css(_b || (_b = __template(["\n display: table-row;\n\n &:not([hidden]) {\n display: table-row;\n }\n "]))));
859
872
  function Row(props) {
860
873
  const {
861
874
  children,
862
875
  ...rest
863
876
  } = props;
864
- return /* @__PURE__ */jsx(StyledRow, {
877
+ return /* @__PURE__ */jsxRuntime.jsx(StyledRow, {
865
878
  ...rest,
866
879
  children
867
880
  });
868
881
  }
869
882
  const CellWrapper = function () {
870
883
  let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
871
- return /* @__PURE__ */jsx(Card, {
884
+ return /* @__PURE__ */jsxRuntime.jsx(ui.Card, {
872
885
  as: "td",
873
886
  ...props
874
887
  });
875
888
  };
876
- const StyledCell = styled(CellWrapper)(() => css(_c || (_c = __template(["\n display: table-cell;\n\n &:not([hidden]) {\n display: table-cell;\n }\n "]))));
889
+ const StyledCell = styled__default.default(CellWrapper)(() => styled.css(_c || (_c = __template(["\n display: table-cell;\n\n &:not([hidden]) {\n display: table-cell;\n }\n "]))));
877
890
  function Cell(props) {
878
891
  const {
879
892
  children,
880
893
  ...rest
881
894
  } = props;
882
- return /* @__PURE__ */jsx(StyledCell, {
895
+ return /* @__PURE__ */jsxRuntime.jsx(StyledCell, {
883
896
  ...rest,
884
897
  children
885
898
  });
@@ -917,11 +930,11 @@ function UserSelectMenu(props) {
917
930
  ...LABELS,
918
931
  ...props.labels
919
932
  } : LABELS;
920
- const [searchString, setSearchString] = React.useState("");
933
+ const [searchString, setSearchString] = React__default.default.useState("");
921
934
  const searchResults = searchUsers(userList || [], searchString);
922
935
  const me = userList.find(u => u.isCurrentUser);
923
936
  const meAssigned = me && value.includes(me.id);
924
- const input = useRef(null);
937
+ const input = React.useRef(null);
925
938
  const handleSearchChange = event => {
926
939
  setSearchString(event.target.value);
927
940
  };
@@ -939,51 +952,51 @@ function UserSelectMenu(props) {
939
952
  const handleClearAssigneesClick = () => {
940
953
  if (onClear) onClear();
941
954
  };
942
- return /* @__PURE__ */jsxs(Menu, {
955
+ return /* @__PURE__ */jsxRuntime.jsxs(ui.Menu, {
943
956
  style,
944
- children: [meAssigned ? /* @__PURE__ */jsx(MenuItem, {
957
+ children: [meAssigned ? /* @__PURE__ */jsxRuntime.jsx(ui.MenuItem, {
945
958
  tone: "caution",
946
959
  disabled: !me,
947
960
  onClick: handleUnassignMyself,
948
- icon: RemoveCircleIcon,
961
+ icon: icons.RemoveCircleIcon,
949
962
  text: labels.removeMe
950
- }) : /* @__PURE__ */jsx(MenuItem, {
963
+ }) : /* @__PURE__ */jsxRuntime.jsx(ui.MenuItem, {
951
964
  tone: "positive",
952
965
  onClick: handleAssignMyself,
953
- icon: AddCircleIcon,
966
+ icon: icons.AddCircleIcon,
954
967
  text: labels.addMe
955
- }), /* @__PURE__ */jsx(MenuItem, {
968
+ }), /* @__PURE__ */jsxRuntime.jsx(ui.MenuItem, {
956
969
  tone: "critical",
957
970
  disabled: value.length === 0,
958
971
  onClick: handleClearAssigneesClick,
959
- icon: RestoreIcon,
972
+ icon: icons.RestoreIcon,
960
973
  text: labels.clear
961
- }), /* @__PURE__ */jsx(Box, {
974
+ }), /* @__PURE__ */jsxRuntime.jsx(ui.Box, {
962
975
  padding: 1,
963
- children: /* @__PURE__ */jsx(TextInput, {
976
+ children: /* @__PURE__ */jsxRuntime.jsx(ui.TextInput, {
964
977
  ref: input,
965
978
  onChange: handleSearchChange,
966
979
  placeholder: labels.searchPlaceholder,
967
980
  value: searchString
968
981
  })
969
- }), searchString && (searchResults == null ? void 0 : searchResults.length) === 0 && /* @__PURE__ */jsx(MenuItem, {
982
+ }), searchString && (searchResults == null ? void 0 : searchResults.length) === 0 && /* @__PURE__ */jsxRuntime.jsx(ui.MenuItem, {
970
983
  disabled: true,
971
984
  text: labels.notFound
972
- }), searchResults && searchResults.map(user => /* @__PURE__ */jsx(MenuItem, {
985
+ }), searchResults && searchResults.map(user => /* @__PURE__ */jsxRuntime.jsx(ui.MenuItem, {
973
986
  pressed: value.includes(user.id),
974
987
  onClick: () => handleSelect(value.indexOf(user.id) > -1, user),
975
- children: /* @__PURE__ */jsxs(Flex, {
988
+ children: /* @__PURE__ */jsxRuntime.jsxs(ui.Flex, {
976
989
  align: "center",
977
- children: [/* @__PURE__ */jsx(UserAvatar, {
990
+ children: [/* @__PURE__ */jsxRuntime.jsx(sanity.UserAvatar, {
978
991
  user,
979
992
  size: 1
980
- }), /* @__PURE__ */jsx(Box, {
993
+ }), /* @__PURE__ */jsxRuntime.jsx(ui.Box, {
981
994
  paddingX: 2,
982
995
  flex: 1,
983
- children: /* @__PURE__ */jsx(Text, {
996
+ children: /* @__PURE__ */jsxRuntime.jsx(ui.Text, {
984
997
  children: user.displayName
985
998
  })
986
- }), user.isCurrentUser && /* @__PURE__ */jsx(Badge, {
999
+ }), user.isCurrentUser && /* @__PURE__ */jsxRuntime.jsx(ui.Badge, {
987
1000
  fontSize: 1,
988
1001
  tone: "positive",
989
1002
  mode: "outline",
@@ -993,5 +1006,14 @@ function UserSelectMenu(props) {
993
1006
  }, user.id))]
994
1007
  });
995
1008
  }
996
- export { Cell, Feedback, Row, Table, UserSelectMenu, useImageUrlBuilder, useImageUrlBuilderImage, useListeningQuery, useOpenInNewPane, useProjectUsers };
997
- //# sourceMappingURL=index.esm.js.map
1009
+ exports.Cell = Cell;
1010
+ exports.Feedback = Feedback;
1011
+ exports.Row = Row;
1012
+ exports.Table = Table;
1013
+ exports.UserSelectMenu = UserSelectMenu;
1014
+ exports.useImageUrlBuilder = useImageUrlBuilder;
1015
+ exports.useImageUrlBuilderImage = useImageUrlBuilderImage;
1016
+ exports.useListeningQuery = useListeningQuery;
1017
+ exports.useOpenInNewPane = useOpenInNewPane;
1018
+ exports.useProjectUsers = useProjectUsers;
1019
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1,13 @@
1
+ import cjs from './index.cjs';
2
+
3
+ export const Cell = cjs.Cell;
4
+ export const Feedback = cjs.Feedback;
5
+ export const Row = cjs.Row;
6
+ export const Table = cjs.Table;
7
+ export const UserSelectMenu = cjs.UserSelectMenu;
8
+ export const useImageUrlBuilder = cjs.useImageUrlBuilder;
9
+ export const useImageUrlBuilderImage = cjs.useImageUrlBuilderImage;
10
+ export const useListeningQuery = cjs.useListeningQuery;
11
+ export const useOpenInNewPane = cjs.useOpenInNewPane;
12
+ export const useProjectUsers = cjs.useProjectUsers;
13
+
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":["../node_modules/@sanity/image-url/lib/node/parseAssetId.js","../node_modules/@sanity/image-url/lib/node/parseSource.js","../node_modules/@sanity/image-url/lib/node/urlForImage.js","../node_modules/@sanity/image-url/lib/node/builder.js","../node_modules/@sanity/image-url/lib/node/index.js","../src/hooks/useImageUrlBuilder.tsx","../src/hooks/useImageUrlBuilderImage.tsx","../src/hooks/useListeningQuery.tsx","../src/hooks/useProjectUsers.tsx","../src/hooks/useOpenInNewPane.tsx","../src/components/Feedback.tsx","../src/components/Table.tsx","../src/components/UserSelectMenu/index.tsx"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar example = 'image-Tb9Ew8CXIwaY6R1kjMvI0uRR-2000x3000-jpg';\nfunction parseAssetId(ref) {\n var _a = ref.split('-'), id = _a[1], dimensionString = _a[2], format = _a[3];\n if (!id || !dimensionString || !format) {\n throw new Error(\"Malformed asset _ref '\".concat(ref, \"'. Expected an id like \\\"\").concat(example, \"\\\".\"));\n }\n var _b = dimensionString.split('x'), imgWidthStr = _b[0], imgHeightStr = _b[1];\n var width = +imgWidthStr;\n var height = +imgHeightStr;\n var isValidAssetId = isFinite(width) && isFinite(height);\n if (!isValidAssetId) {\n throw new Error(\"Malformed asset _ref '\".concat(ref, \"'. Expected an id like \\\"\").concat(example, \"\\\".\"));\n }\n return { id: id, width: width, height: height, format: format };\n}\nexports.default = parseAssetId;\n//# sourceMappingURL=parseAssetId.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar isRef = function (src) {\n var source = src;\n return source ? typeof source._ref === 'string' : false;\n};\nvar isAsset = function (src) {\n var source = src;\n return source ? typeof source._id === 'string' : false;\n};\nvar isAssetStub = function (src) {\n var source = src;\n return source && source.asset ? typeof source.asset.url === 'string' : false;\n};\n// Convert an asset-id, asset or image to an image record suitable for processing\n// eslint-disable-next-line complexity\nfunction parseSource(source) {\n if (!source) {\n return null;\n }\n var image;\n if (typeof source === 'string' && isUrl(source)) {\n // Someone passed an existing image url?\n image = {\n asset: { _ref: urlToId(source) },\n };\n }\n else if (typeof source === 'string') {\n // Just an asset id\n image = {\n asset: { _ref: source },\n };\n }\n else if (isRef(source)) {\n // We just got passed an asset directly\n image = {\n asset: source,\n };\n }\n else if (isAsset(source)) {\n // If we were passed an image asset document\n image = {\n asset: {\n _ref: source._id || '',\n },\n };\n }\n else if (isAssetStub(source)) {\n // If we were passed a partial asset (`url`, but no `_id`)\n image = {\n asset: {\n _ref: urlToId(source.asset.url),\n },\n };\n }\n else if (typeof source.asset === 'object') {\n // Probably an actual image with materialized asset\n image = __assign({}, source);\n }\n else {\n // We got something that does not look like an image, or it is an image\n // that currently isn't sporting an asset.\n return null;\n }\n var img = source;\n if (img.crop) {\n image.crop = img.crop;\n }\n if (img.hotspot) {\n image.hotspot = img.hotspot;\n }\n return applyDefaults(image);\n}\nexports.default = parseSource;\nfunction isUrl(url) {\n return /^https?:\\/\\//.test(\"\".concat(url));\n}\nfunction urlToId(url) {\n var parts = url.split('/').slice(-1);\n return \"image-\".concat(parts[0]).replace(/\\.([a-z]+)$/, '-$1');\n}\n// Mock crop and hotspot if image lacks it\nfunction applyDefaults(image) {\n if (image.crop && image.hotspot) {\n return image;\n }\n // We need to pad in default values for crop or hotspot\n var result = __assign({}, image);\n if (!result.crop) {\n result.crop = {\n left: 0,\n top: 0,\n bottom: 0,\n right: 0,\n };\n }\n if (!result.hotspot) {\n result.hotspot = {\n x: 0.5,\n y: 0.5,\n height: 1.0,\n width: 1.0,\n };\n }\n return result;\n}\n//# sourceMappingURL=parseSource.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parseSource = exports.SPEC_NAME_TO_URL_NAME_MAPPINGS = void 0;\nvar parseAssetId_1 = __importDefault(require(\"./parseAssetId\"));\nvar parseSource_1 = __importDefault(require(\"./parseSource\"));\nexports.parseSource = parseSource_1.default;\nexports.SPEC_NAME_TO_URL_NAME_MAPPINGS = [\n ['width', 'w'],\n ['height', 'h'],\n ['format', 'fm'],\n ['download', 'dl'],\n ['blur', 'blur'],\n ['sharpen', 'sharp'],\n ['invert', 'invert'],\n ['orientation', 'or'],\n ['minHeight', 'min-h'],\n ['maxHeight', 'max-h'],\n ['minWidth', 'min-w'],\n ['maxWidth', 'max-w'],\n ['quality', 'q'],\n ['fit', 'fit'],\n ['crop', 'crop'],\n ['saturation', 'sat'],\n ['auto', 'auto'],\n ['dpr', 'dpr'],\n ['pad', 'pad'],\n];\nfunction urlForImage(options) {\n var spec = __assign({}, (options || {}));\n var source = spec.source;\n delete spec.source;\n var image = (0, parseSource_1.default)(source);\n if (!image) {\n throw new Error(\"Unable to resolve image URL from source (\".concat(JSON.stringify(source), \")\"));\n }\n var id = image.asset._ref || image.asset._id || '';\n var asset = (0, parseAssetId_1.default)(id);\n // Compute crop rect in terms of pixel coordinates in the raw source image\n var cropLeft = Math.round(image.crop.left * asset.width);\n var cropTop = Math.round(image.crop.top * asset.height);\n var crop = {\n left: cropLeft,\n top: cropTop,\n width: Math.round(asset.width - image.crop.right * asset.width - cropLeft),\n height: Math.round(asset.height - image.crop.bottom * asset.height - cropTop),\n };\n // Compute hot spot rect in terms of pixel coordinates\n var hotSpotVerticalRadius = (image.hotspot.height * asset.height) / 2;\n var hotSpotHorizontalRadius = (image.hotspot.width * asset.width) / 2;\n var hotSpotCenterX = image.hotspot.x * asset.width;\n var hotSpotCenterY = image.hotspot.y * asset.height;\n var hotspot = {\n left: hotSpotCenterX - hotSpotHorizontalRadius,\n top: hotSpotCenterY - hotSpotVerticalRadius,\n right: hotSpotCenterX + hotSpotHorizontalRadius,\n bottom: hotSpotCenterY + hotSpotVerticalRadius,\n };\n // If irrelevant, or if we are requested to: don't perform crop/fit based on\n // the crop/hotspot.\n if (!(spec.rect || spec.focalPoint || spec.ignoreImageParams || spec.crop)) {\n spec = __assign(__assign({}, spec), fit({ crop: crop, hotspot: hotspot }, spec));\n }\n return specToImageUrl(__assign(__assign({}, spec), { asset: asset }));\n}\nexports.default = urlForImage;\n// eslint-disable-next-line complexity\nfunction specToImageUrl(spec) {\n var cdnUrl = (spec.baseUrl || 'https://cdn.sanity.io').replace(/\\/+$/, '');\n var filename = \"\".concat(spec.asset.id, \"-\").concat(spec.asset.width, \"x\").concat(spec.asset.height, \".\").concat(spec.asset.format);\n var baseUrl = \"\".concat(cdnUrl, \"/images/\").concat(spec.projectId, \"/\").concat(spec.dataset, \"/\").concat(filename);\n var params = [];\n if (spec.rect) {\n // Only bother url with a crop if it actually crops anything\n var _a = spec.rect, left = _a.left, top_1 = _a.top, width = _a.width, height = _a.height;\n var isEffectiveCrop = left !== 0 || top_1 !== 0 || height !== spec.asset.height || width !== spec.asset.width;\n if (isEffectiveCrop) {\n params.push(\"rect=\".concat(left, \",\").concat(top_1, \",\").concat(width, \",\").concat(height));\n }\n }\n if (spec.bg) {\n params.push(\"bg=\".concat(spec.bg));\n }\n if (spec.focalPoint) {\n params.push(\"fp-x=\".concat(spec.focalPoint.x));\n params.push(\"fp-y=\".concat(spec.focalPoint.y));\n }\n var flip = [spec.flipHorizontal && 'h', spec.flipVertical && 'v'].filter(Boolean).join('');\n if (flip) {\n params.push(\"flip=\".concat(flip));\n }\n // Map from spec name to url param name, and allow using the actual param name as an alternative\n exports.SPEC_NAME_TO_URL_NAME_MAPPINGS.forEach(function (mapping) {\n var specName = mapping[0], param = mapping[1];\n if (typeof spec[specName] !== 'undefined') {\n params.push(\"\".concat(param, \"=\").concat(encodeURIComponent(spec[specName])));\n }\n else if (typeof spec[param] !== 'undefined') {\n params.push(\"\".concat(param, \"=\").concat(encodeURIComponent(spec[param])));\n }\n });\n if (params.length === 0) {\n return baseUrl;\n }\n return \"\".concat(baseUrl, \"?\").concat(params.join('&'));\n}\nfunction fit(source, spec) {\n var cropRect;\n var imgWidth = spec.width;\n var imgHeight = spec.height;\n // If we are not constraining the aspect ratio, we'll just use the whole crop\n if (!(imgWidth && imgHeight)) {\n return { width: imgWidth, height: imgHeight, rect: source.crop };\n }\n var crop = source.crop;\n var hotspot = source.hotspot;\n // If we are here, that means aspect ratio is locked and fitting will be a bit harder\n var desiredAspectRatio = imgWidth / imgHeight;\n var cropAspectRatio = crop.width / crop.height;\n if (cropAspectRatio > desiredAspectRatio) {\n // The crop is wider than the desired aspect ratio. That means we are cutting from the sides\n var height = Math.round(crop.height);\n var width = Math.round(height * desiredAspectRatio);\n var top_2 = Math.max(0, Math.round(crop.top));\n // Center output horizontally over hotspot\n var hotspotXCenter = Math.round((hotspot.right - hotspot.left) / 2 + hotspot.left);\n var left = Math.max(0, Math.round(hotspotXCenter - width / 2));\n // Keep output within crop\n if (left < crop.left) {\n left = crop.left;\n }\n else if (left + width > crop.left + crop.width) {\n left = crop.left + crop.width - width;\n }\n cropRect = { left: left, top: top_2, width: width, height: height };\n }\n else {\n // The crop is taller than the desired ratio, we are cutting from top and bottom\n var width = crop.width;\n var height = Math.round(width / desiredAspectRatio);\n var left = Math.max(0, Math.round(crop.left));\n // Center output vertically over hotspot\n var hotspotYCenter = Math.round((hotspot.bottom - hotspot.top) / 2 + hotspot.top);\n var top_3 = Math.max(0, Math.round(hotspotYCenter - height / 2));\n // Keep output rect within crop\n if (top_3 < crop.top) {\n top_3 = crop.top;\n }\n else if (top_3 + height > crop.top + crop.height) {\n top_3 = crop.top + crop.height - height;\n }\n cropRect = { left: left, top: top_3, width: width, height: height };\n }\n return {\n width: imgWidth,\n height: imgHeight,\n rect: cropRect,\n };\n}\n//# sourceMappingURL=urlForImage.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ImageUrlBuilder = void 0;\nvar urlForImage_1 = __importStar(require(\"./urlForImage\"));\nvar validFits = ['clip', 'crop', 'fill', 'fillmax', 'max', 'scale', 'min'];\nvar validCrops = ['top', 'bottom', 'left', 'right', 'center', 'focalpoint', 'entropy'];\nvar validAutoModes = ['format'];\nfunction isSanityModernClientLike(client) {\n return client && 'config' in client ? typeof client.config === 'function' : false;\n}\nfunction isSanityClientLike(client) {\n return client && 'clientConfig' in client ? typeof client.clientConfig === 'object' : false;\n}\nfunction rewriteSpecName(key) {\n var specs = urlForImage_1.SPEC_NAME_TO_URL_NAME_MAPPINGS;\n for (var _i = 0, specs_1 = specs; _i < specs_1.length; _i++) {\n var entry = specs_1[_i];\n var specName = entry[0], param = entry[1];\n if (key === specName || key === param) {\n return specName;\n }\n }\n return key;\n}\nfunction urlBuilder(options) {\n // Did we get a modernish client?\n if (isSanityModernClientLike(options)) {\n // Inherit config from client\n var _a = options.config(), apiUrl = _a.apiHost, projectId = _a.projectId, dataset = _a.dataset;\n var apiHost = apiUrl || 'https://api.sanity.io';\n return new ImageUrlBuilder(null, {\n baseUrl: apiHost.replace(/^https:\\/\\/api\\./, 'https://cdn.'),\n projectId: projectId,\n dataset: dataset,\n });\n }\n // Did we get a SanityClient?\n var client = options;\n if (isSanityClientLike(client)) {\n // Inherit config from client\n var _b = client.clientConfig, apiUrl = _b.apiHost, projectId = _b.projectId, dataset = _b.dataset;\n var apiHost = apiUrl || 'https://api.sanity.io';\n return new ImageUrlBuilder(null, {\n baseUrl: apiHost.replace(/^https:\\/\\/api\\./, 'https://cdn.'),\n projectId: projectId,\n dataset: dataset,\n });\n }\n // Or just accept the options as given\n return new ImageUrlBuilder(null, options);\n}\nexports.default = urlBuilder;\nvar ImageUrlBuilder = /** @class */ (function () {\n function ImageUrlBuilder(parent, options) {\n this.options = parent\n ? __assign(__assign({}, (parent.options || {})), (options || {})) : __assign({}, (options || {})); // Copy options\n }\n ImageUrlBuilder.prototype.withOptions = function (options) {\n var baseUrl = options.baseUrl || this.options.baseUrl;\n var newOptions = { baseUrl: baseUrl };\n for (var key in options) {\n if (options.hasOwnProperty(key)) {\n var specKey = rewriteSpecName(key);\n newOptions[specKey] = options[key];\n }\n }\n return new ImageUrlBuilder(this, __assign({ baseUrl: baseUrl }, newOptions));\n };\n // The image to be represented. Accepts a Sanity 'image'-document, 'asset'-document or\n // _id of asset. To get the benefit of automatic hot-spot/crop integration with the content\n // studio, the 'image'-document must be provided.\n ImageUrlBuilder.prototype.image = function (source) {\n return this.withOptions({ source: source });\n };\n // Specify the dataset\n ImageUrlBuilder.prototype.dataset = function (dataset) {\n return this.withOptions({ dataset: dataset });\n };\n // Specify the projectId\n ImageUrlBuilder.prototype.projectId = function (projectId) {\n return this.withOptions({ projectId: projectId });\n };\n // Specify background color\n ImageUrlBuilder.prototype.bg = function (bg) {\n return this.withOptions({ bg: bg });\n };\n // Set DPR scaling factor\n ImageUrlBuilder.prototype.dpr = function (dpr) {\n // A DPR of 1 is the default - so only include it if we have a different value\n return this.withOptions(dpr && dpr !== 1 ? { dpr: dpr } : {});\n };\n // Specify the width of the image in pixels\n ImageUrlBuilder.prototype.width = function (width) {\n return this.withOptions({ width: width });\n };\n // Specify the height of the image in pixels\n ImageUrlBuilder.prototype.height = function (height) {\n return this.withOptions({ height: height });\n };\n // Specify focal point in fraction of image dimensions. Each component 0.0-1.0\n ImageUrlBuilder.prototype.focalPoint = function (x, y) {\n return this.withOptions({ focalPoint: { x: x, y: y } });\n };\n ImageUrlBuilder.prototype.maxWidth = function (maxWidth) {\n return this.withOptions({ maxWidth: maxWidth });\n };\n ImageUrlBuilder.prototype.minWidth = function (minWidth) {\n return this.withOptions({ minWidth: minWidth });\n };\n ImageUrlBuilder.prototype.maxHeight = function (maxHeight) {\n return this.withOptions({ maxHeight: maxHeight });\n };\n ImageUrlBuilder.prototype.minHeight = function (minHeight) {\n return this.withOptions({ minHeight: minHeight });\n };\n // Specify width and height in pixels\n ImageUrlBuilder.prototype.size = function (width, height) {\n return this.withOptions({ width: width, height: height });\n };\n // Specify blur between 0 and 100\n ImageUrlBuilder.prototype.blur = function (blur) {\n return this.withOptions({ blur: blur });\n };\n ImageUrlBuilder.prototype.sharpen = function (sharpen) {\n return this.withOptions({ sharpen: sharpen });\n };\n // Specify the desired rectangle of the image\n ImageUrlBuilder.prototype.rect = function (left, top, width, height) {\n return this.withOptions({ rect: { left: left, top: top, width: width, height: height } });\n };\n // Specify the image format of the image. 'jpg', 'pjpg', 'png', 'webp'\n ImageUrlBuilder.prototype.format = function (format) {\n return this.withOptions({ format: format });\n };\n ImageUrlBuilder.prototype.invert = function (invert) {\n return this.withOptions({ invert: invert });\n };\n // Rotation in degrees 0, 90, 180, 270\n ImageUrlBuilder.prototype.orientation = function (orientation) {\n return this.withOptions({ orientation: orientation });\n };\n // Compression quality 0-100\n ImageUrlBuilder.prototype.quality = function (quality) {\n return this.withOptions({ quality: quality });\n };\n // Make it a download link. Parameter is default filename.\n ImageUrlBuilder.prototype.forceDownload = function (download) {\n return this.withOptions({ download: download });\n };\n // Flip image horizontally\n ImageUrlBuilder.prototype.flipHorizontal = function () {\n return this.withOptions({ flipHorizontal: true });\n };\n // Flip image vertically\n ImageUrlBuilder.prototype.flipVertical = function () {\n return this.withOptions({ flipVertical: true });\n };\n // Ignore crop/hotspot from image record, even when present\n ImageUrlBuilder.prototype.ignoreImageParams = function () {\n return this.withOptions({ ignoreImageParams: true });\n };\n ImageUrlBuilder.prototype.fit = function (value) {\n if (validFits.indexOf(value) === -1) {\n throw new Error(\"Invalid fit mode \\\"\".concat(value, \"\\\"\"));\n }\n return this.withOptions({ fit: value });\n };\n ImageUrlBuilder.prototype.crop = function (value) {\n if (validCrops.indexOf(value) === -1) {\n throw new Error(\"Invalid crop mode \\\"\".concat(value, \"\\\"\"));\n }\n return this.withOptions({ crop: value });\n };\n // Saturation\n ImageUrlBuilder.prototype.saturation = function (saturation) {\n return this.withOptions({ saturation: saturation });\n };\n ImageUrlBuilder.prototype.auto = function (value) {\n if (validAutoModes.indexOf(value) === -1) {\n throw new Error(\"Invalid auto mode \\\"\".concat(value, \"\\\"\"));\n }\n return this.withOptions({ auto: value });\n };\n // Specify the number of pixels to pad the image\n ImageUrlBuilder.prototype.pad = function (pad) {\n return this.withOptions({ pad: pad });\n };\n // Gets the url based on the submitted parameters\n ImageUrlBuilder.prototype.url = function () {\n return (0, urlForImage_1.default)(this.options);\n };\n // Alias for url()\n ImageUrlBuilder.prototype.toString = function () {\n return this.url();\n };\n return ImageUrlBuilder;\n}());\nexports.ImageUrlBuilder = ImageUrlBuilder;\n//# sourceMappingURL=builder.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nvar builder_1 = __importDefault(require(\"./builder\"));\nmodule.exports = builder_1.default;\n//# sourceMappingURL=index.js.map","import createImageUrlBuilder from '@sanity/image-url'\nimport {useMemo} from 'react'\nimport type {ImageUrlBuilder, SourceClientOptions} from 'sanity'\nimport {useClient} from 'sanity'\n\nexport function useImageUrlBuilder(\n clientOptions?: SourceClientOptions\n): ImageUrlBuilder | null {\n const client = useClient(clientOptions)\n const builder = useMemo(() => createImageUrlBuilder(client), [client])\n\n return builder\n}\n","import type {SanityImageSource} from '@sanity/asset-utils'\nimport {useMemo} from 'react'\nimport type {ImageUrlBuilder, SourceClientOptions} from 'sanity'\n\nimport {useImageUrlBuilder} from './useImageUrlBuilder'\n\nexport function useImageUrlBuilderImage(\n source: SanityImageSource,\n clientOptions?: SourceClientOptions\n): ImageUrlBuilder | null {\n const builder = useImageUrlBuilder(clientOptions)\n const image = useMemo(\n () => (source && builder ? builder.image(source) : null),\n [builder, source]\n )\n\n return image\n}\n","import {useEffect, useMemo, useRef, useState} from 'react'\nimport isEqual from 'react-fast-compare'\nimport {Subscription} from 'rxjs'\nimport {catchError, distinctUntilChanged} from 'rxjs/operators'\nimport {ListenQueryOptions, ListenQueryParams, useDocumentStore} from 'sanity'\n\ntype Value = unknown\n\ninterface Config<V> {\n params?: ListenQueryParams\n options?: ListenQueryOptions\n initialValue?: null | V\n}\n\n// make generic optional\ninterface Return<V = Value> {\n loading: boolean\n error: boolean | unknown | ProgressEvent\n data: unknown | V\n initialValue?: Value\n}\n\nconst DEFAULT_PARAMS = {}\nconst DEFAULT_OPTIONS = {apiVersion: `v2023-05-01`}\nconst DEFAULT_INITIAL_VALUE = null\n\nfunction useParams(\n params?: undefined | null | ListenQueryParams | ListenQueryOptions\n): ListenQueryParams {\n const stringifiedParams = useMemo(\n () => JSON.stringify(params || {}),\n [params]\n )\n return useMemo(() => JSON.parse(stringifiedParams), [stringifiedParams])\n}\n\nexport function useListeningQuery<V>(\n query: string | {fetch: string; listen: string},\n {\n params = DEFAULT_PARAMS,\n options = DEFAULT_OPTIONS,\n initialValue = DEFAULT_INITIAL_VALUE,\n }: Config<V>\n): Return<V> {\n const [loading, setLoading] = useState<Return['loading']>(true)\n const [error, setError] = useState<Return['error']>(false)\n const [data, setData] = useState<Return['data']>(initialValue)\n const memoParams = useParams(params)\n const memoOptions = useParams(options)\n\n const subscription = useRef<null | Subscription>(null)\n const documentStore = useDocumentStore()\n\n useEffect(() => {\n if (query && !error && !subscription.current) {\n try {\n subscription.current = documentStore\n .listenQuery(query, memoParams, memoOptions)\n .pipe(\n distinctUntilChanged(isEqual),\n catchError((err) => {\n console.error(err)\n setError(err)\n setLoading(false)\n setData(null)\n\n return err\n })\n )\n .subscribe((documents) => {\n setData((current: Value) =>\n isEqual(current, documents) ? current : documents\n )\n setLoading(false)\n setError(false)\n })\n } catch (err) {\n console.error(err)\n setLoading(false)\n setError(err)\n }\n }\n\n // Unsubscribe when an error occurs\n if (error && subscription.current) {\n subscription.current.unsubscribe()\n }\n\n return () => {\n if (subscription.current) {\n subscription?.current?.unsubscribe()\n subscription.current = null\n }\n }\n }, [query, error, memoParams, memoOptions, documentStore])\n\n return {data, loading, error}\n}\n","import {useState, useEffect} from 'react'\nimport {useClient, useWorkspace} from 'sanity'\n\nexport type UserExtended = {\n createdAt: string\n displayName: string\n email: string\n familyName: string\n givenName: string\n id: string\n imageUrl: string\n isCurrentUser: boolean\n middleName: string\n projectId: string\n provider: string\n sanityUserId: string\n updatedAt: string\n}\n\ntype UserRole = {\n name: string\n title: string\n}\n\ntype UserResponse = {\n isRobot: boolean\n projectUserId: string\n roles: UserRole[]\n}\n\ntype HookConfig = {\n apiVersion?: string\n}\n\n// Custom hook to fetch user details\n// Built-in hook doesn't fetch all user details\nexport function useProjectUsers({apiVersion}: HookConfig): UserExtended[] {\n const {currentUser} = useWorkspace()\n const client = useClient({apiVersion: apiVersion ?? '2023-01-01'})\n const [users, setUsers] = useState([])\n\n useEffect(() => {\n const {projectId} = client.config()\n\n async function getUser(id: string) {\n const userDetails = await client.request({\n url: `/projects/${projectId}/users/${id}`,\n })\n\n return userDetails\n }\n\n async function getUsersWithRoles() {\n const userRoles = await client\n .request({\n url: `/projects/${projectId}/acl`,\n })\n .then(async (res) =>\n Promise.all(\n res.map(async (user: UserResponse) => ({\n isCurrentUser: user.projectUserId === currentUser?.id,\n ...(await getUser(user.projectUserId)),\n }))\n )\n )\n .catch((err) => err)\n\n setUsers(userRoles)\n }\n\n if (!users.length) {\n getUsersWithRoles()\n }\n }, [client, currentUser?.id, users.length])\n\n return users\n}\n","import React from 'react'\nimport {usePaneRouter} from 'sanity/structure'\nimport {RouterContext} from 'sanity/router'\n\nexport function useOpenInNewPane(id?: string, type?: string) {\n const routerContext = React.useContext(RouterContext)\n const {routerPanesState, groupIndex} = usePaneRouter()\n\n const openInNewPane = React.useCallback(() => {\n if (!routerContext || !id || !type) {\n return\n }\n\n const panes = [...routerPanesState]\n panes.splice(groupIndex + 1, 0, [\n {\n id: id,\n params: {type},\n },\n ])\n\n const href = routerContext.resolvePathFromState({panes})\n routerContext.navigateUrl({path: href})\n }, [id, type, routerContext, routerPanesState, groupIndex])\n\n return openInNewPane\n}\n","import {Box, Card, CardTone, Flex, Stack, Text} from '@sanity/ui'\nimport React from 'react'\n\ntype FeedbackChildren = {\n children?: React.ReactNode\n title?: never\n description?: never\n}\n\ntype FeedbackTextProps = {\n title?: string\n description?: React.ReactNode\n children?: never\n}\n\ntype FeedbackProps = (FeedbackChildren | FeedbackTextProps) & {\n tone?: CardTone\n icon?: React.ReactNode\n}\n\nconst DEFAULT_PROPS: FeedbackProps = {\n tone: 'primary',\n}\n\nexport function Feedback(props: FeedbackProps) {\n const {title, description, icon, tone, children} = {\n ...DEFAULT_PROPS,\n ...props,\n }\n\n return (\n <Card tone={tone} padding={4} radius={3} border>\n <Flex>\n {icon ? `display icon` : null}\n {children ? (\n children\n ) : (\n <Box flex={1}>\n <Stack space={4}>\n {title ? <Text weight=\"semibold\">{title}</Text> : null}\n {description ? <Text size={2}>{description}</Text> : null}\n </Stack>\n </Box>\n )}\n </Flex>\n </Card>\n )\n}\n","import {PropsWithChildren} from 'react'\nimport styled, {css} from 'styled-components'\nimport {Card, CardProps} from '@sanity/ui'\n\n// Wrappers required because of bug with passing down \"as\" prop\n// https://github.com/styled-components/styled-components/issues/2449\n\n// Table\nconst TableWrapper = (props: CardProps = {}) => {\n return <Card as=\"table\" {...props} />\n}\n\nconst StyledTable = styled(TableWrapper)(\n () => css`\n display: table;\n width: 100%;\n border-collapse: collapse;\n\n &:not([hidden]) {\n display: table;\n border-collapse: collapse;\n }\n `\n)\n\ntype TableProps = PropsWithChildren<CardProps>\n\nexport function Table(props: TableProps) {\n const {children, ...rest} = props\n\n return <StyledTable {...rest}>{children}</StyledTable>\n}\n\n// Row\nconst RowWrapper = (props: CardProps = {}) => {\n return <Card as=\"tr\" {...props} />\n}\n\nconst StyledRow = styled(RowWrapper)(\n () => css`\n display: table-row;\n\n &:not([hidden]) {\n display: table-row;\n }\n `\n)\n\ntype TableRowProps = PropsWithChildren<CardProps>\n\nexport function Row(props: TableRowProps) {\n const {children, ...rest} = props\n\n return <StyledRow {...rest}>{children}</StyledRow>\n}\n\n// Cell\nconst CellWrapper = (props = {}) => {\n return <Card as=\"td\" {...props} />\n}\n\nconst StyledCell = styled(CellWrapper)(\n () => css`\n display: table-cell;\n\n &:not([hidden]) {\n display: table-cell;\n }\n `\n)\n\ntype TableCellProps = PropsWithChildren<\n CardProps & {\n colSpan?: number\n rowSpan?: number\n }\n>\n\nexport function Cell(props: TableCellProps) {\n const {children, ...rest} = props\n\n return <StyledCell {...rest}>{children}</StyledCell>\n}\n","import React, {useRef} from 'react'\nimport {Box, Text, Menu, MenuItem, TextInput, Flex, Badge} from '@sanity/ui'\nimport {AddCircleIcon, RemoveCircleIcon, RestoreIcon} from '@sanity/icons'\nimport {UserAvatar} from 'sanity'\n\nimport {UserExtended} from '../../hooks/useProjectUsers'\n\nfunction searchUsers(\n users: UserExtended[],\n searchString: string\n): UserExtended[] {\n return users.filter((user) => {\n const displayName = (user.displayName || '').toLowerCase()\n if (displayName.startsWith(searchString)) return true\n const givenName = (user.givenName || '').toLowerCase()\n if (givenName.startsWith(searchString)) return true\n const middleName = (user.middleName || '').toLowerCase()\n if (middleName.startsWith(searchString)) return true\n const familyName = (user.familyName || '').toLowerCase()\n if (familyName.startsWith(searchString)) return true\n\n return false\n })\n}\n\ntype Labels = {\n addMe?: string\n removeMe?: string\n clear?: string\n searchPlaceholder?: string\n notFound?: string\n}\n\ntype UserSelectMenuProps = {\n value: string[]\n userList: UserExtended[]\n onAdd: (userId: string) => void\n onRemove: (userId: string) => void\n onClear: () => void\n labels?: Labels\n style?: React.CSSProperties\n}\n\nconst LABELS: Labels = {\n addMe: 'Assign myself',\n removeMe: 'Unassign myself',\n clear: 'Clear assignees',\n searchPlaceholder: 'Search users',\n notFound: 'No users found',\n}\n\nexport function UserSelectMenu(props: UserSelectMenuProps) {\n const {\n value = [],\n userList = [],\n onAdd,\n onRemove,\n onClear,\n style = {},\n } = props\n const labels = props?.labels ? {...LABELS, ...props.labels} : LABELS\n\n const [searchString, setSearchString] = React.useState('')\n const searchResults = searchUsers(userList || [], searchString)\n\n const me = userList.find((u) => u.isCurrentUser)\n const meAssigned = me && value.includes(me.id)\n\n // Focus input on open\n // TODO: Fix focus, it gets immediately taken away\n const input = useRef<HTMLInputElement>(null)\n // useEffect(() => {\n // if (open && input?.current) {\n // input.current.focus()\n // }\n // }, [open])\n\n const handleSearchChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n setSearchString(event.target.value)\n }\n\n const handleSelect = (isChecked: boolean, user: UserExtended) => {\n if (!isChecked) {\n if (onAdd) onAdd(user.id)\n } else if (onRemove) onRemove(user.id)\n }\n\n const handleAssignMyself = () => {\n if (me && onAdd) onAdd(me.id)\n }\n\n const handleUnassignMyself = () => {\n if (me && onRemove) onRemove(me.id)\n }\n\n const handleClearAssigneesClick = () => {\n if (onClear) onClear()\n }\n\n return (\n <Menu style={style}>\n {meAssigned ? (\n <MenuItem\n tone=\"caution\"\n disabled={!me}\n onClick={handleUnassignMyself}\n icon={RemoveCircleIcon}\n text={labels.removeMe}\n />\n ) : (\n <MenuItem\n tone=\"positive\"\n onClick={handleAssignMyself}\n icon={AddCircleIcon}\n text={labels.addMe}\n />\n )}\n\n <MenuItem\n tone=\"critical\"\n disabled={value.length === 0}\n onClick={handleClearAssigneesClick}\n icon={RestoreIcon}\n text={labels.clear}\n />\n\n <Box padding={1}>\n <TextInput\n ref={input}\n onChange={handleSearchChange}\n placeholder={labels.searchPlaceholder}\n value={searchString}\n />\n </Box>\n\n {searchString && searchResults?.length === 0 && (\n <MenuItem disabled text={labels.notFound} />\n )}\n\n {searchResults &&\n searchResults.map((user) => (\n <MenuItem\n key={user.id}\n pressed={value.includes(user.id)}\n onClick={() => handleSelect(value.indexOf(user.id) > -1, user)}\n >\n <Flex align=\"center\">\n <UserAvatar user={user} size={1} />\n <Box paddingX={2} flex={1}>\n <Text>{user.displayName}</Text>\n </Box>\n {user.isCurrentUser && (\n <Badge fontSize={1} tone=\"positive\" mode=\"outline\">\n Me\n </Badge>\n )}\n </Flex>\n </MenuItem>\n ))}\n </Menu>\n )\n}\n"],"names":["Object","defineProperty","parseAssetId_1","value","example","parseAssetId","ref","_a","split","id","dimensionString","format","Error","concat","_b","imgWidthStr","imgHeightStr","width","height","isValidAssetId","isFinite","default","__assign","this","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","parseSource_1","isRef","src","source","_ref","isAsset","_id","isAssetStub","asset","url","parseSource","image","isUrl","urlToId","img","crop","hotspot","applyDefaults","test","parts","slice","replace","result","left","top","bottom","right","x","y","__importDefault","mod","__esModule","exports","SPEC_NAME_TO_URL_NAME_MAPPINGS","require$$0","require$$1","urlForImage","options","spec","JSON","stringify","cropLeft","Math","round","cropTop","hotSpotVerticalRadius","hotSpotHorizontalRadius","hotSpotCenterX","hotSpotCenterY","rect","focalPoint","ignoreImageParams","fit","specToImageUrl","cdnUrl","baseUrl","filename","projectId","dataset","params","top_1","isEffectiveCrop","push","bg","flip","flipHorizontal","flipVertical","filter","Boolean","join","forEach","mapping","specName","param","encodeURIComponent","cropRect","imgWidth","imgHeight","desiredAspectRatio","cropAspectRatio","top_2","max","hotspotXCenter","hotspotYCenter","top_3","__createBinding","create","o","m","k","k2","undefined","enumerable","get","__setModuleDefault","v","__importStar","builder","ImageUrlBuilder","urlForImage_1","validFits","validCrops","validAutoModes","isSanityModernClientLike","client","config","isSanityClientLike","clientConfig","rewriteSpecName","key","specs","_i","specs_1","entry","urlBuilder","apiUrl","apiHost","parent","withOptions","newOptions","specKey","dpr","maxWidth","minWidth","maxHeight","minHeight","size","blur","sharpen","invert","orientation","quality","forceDownload","download","indexOf","saturation","auto","pad","toString","builder_1","node","useImageUrlBuilder","clientOptions","useClient","useMemo","createImageUrlBuilder","useImageUrlBuilderImage","DEFAULT_PARAMS","DEFAULT_OPTIONS","apiVersion","DEFAULT_INITIAL_VALUE","useParams","stringifiedParams","parse","useListeningQuery","query","initialValue","loading","setLoading","useState","error","setError","data","setData","memoParams","memoOptions","subscription","useRef","documentStore","useDocumentStore","useEffect","current","listenQuery","pipe","distinctUntilChanged","isEqual","catchError","err","console","subscribe","documents","unsubscribe","useProjectUsers","_ref2","currentUser","useWorkspace","users","setUsers","getUser","userDetails","request","getUsersWithRoles","userRoles","then","res","Promise","all","map","user","isCurrentUser","projectUserId","catch","useOpenInNewPane","type","routerContext","React","useContext","RouterContext","routerPanesState","groupIndex","usePaneRouter","openInNewPane","useCallback","panes","splice","href","resolvePathFromState","navigateUrl","path","DEFAULT_PROPS","tone","Feedback","props","title","description","icon","children","jsx","Card","padding","radius","border","jsxs","Flex","Box","flex","Stack","space","Text","weight","_c","TableWrapper","as","StyledTable","styled","css","__template","Table","rest","RowWrapper","StyledRow","Row","CellWrapper","StyledCell","Cell","searchUsers","searchString","displayName","toLowerCase","startsWith","givenName","middleName","familyName","LABELS","addMe","removeMe","clear","searchPlaceholder","notFound","UserSelectMenu","userList","onAdd","onRemove","onClear","style","labels","setSearchString","searchResults","me","find","u","meAssigned","includes","input","handleSearchChange","event","target","handleSelect","isChecked","handleAssignMyself","handleUnassignMyself","handleClearAssigneesClick","Menu","MenuItem","disabled","onClick","RemoveCircleIcon","text","AddCircleIcon","RestoreIcon","TextInput","onChange","placeholder","pressed","align","UserAvatar","paddingX","Badge","fontSize","mode"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4]}
package/lib/index.d.ts CHANGED
@@ -51,7 +51,7 @@ declare type Labels = {
51
51
  declare interface Return<V = Value> {
52
52
  loading: boolean
53
53
  error: boolean | unknown | ProgressEvent
54
- data: null | V
54
+ data: unknown | V
55
55
  initialValue?: Value
56
56
  }
57
57
 
@@ -125,6 +125,6 @@ declare type UserSelectMenuProps = {
125
125
  style?: React_2.CSSProperties
126
126
  }
127
127
 
128
- declare type Value = any
128
+ declare type Value = unknown
129
129
 
130
130
  export {}