sanity-plugin-utils 1.6.4 → 1.6.6

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/structure';
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
  });
@@ -726,35 +739,56 @@ function useListeningQuery(query, _ref) {
726
739
  error
727
740
  };
728
741
  }
742
+ function chunkArray(array, size) {
743
+ const chunks = [];
744
+ for (let i = 0; i < array.length; i += size) {
745
+ chunks.push(array.slice(i, i + size));
746
+ }
747
+ return chunks;
748
+ }
729
749
  function useProjectUsers(_ref2) {
730
750
  let {
731
751
  apiVersion
732
752
  } = _ref2;
733
753
  const {
734
754
  currentUser
735
- } = useWorkspace();
736
- const client = useClient({
755
+ } = sanity.useWorkspace();
756
+ const client = sanity.useClient({
737
757
  apiVersion: apiVersion != null ? apiVersion : "2023-01-01"
738
758
  });
739
- const [users, setUsers] = useState([]);
740
- useEffect(() => {
759
+ const [users, setUsers] = React.useState([]);
760
+ React.useEffect(() => {
741
761
  const {
742
762
  projectId
743
763
  } = client.config();
744
- async function getUser(id) {
745
- const userDetails = await client.request({
746
- url: "/projects/".concat(projectId, "/users/").concat(id)
747
- });
748
- return userDetails;
749
- }
750
764
  async function getUsersWithRoles() {
751
- const userRoles = await client.request({
752
- url: "/projects/".concat(projectId, "/acl")
753
- }).then(async res => Promise.all(res.map(async user => ({
754
- isCurrentUser: user.projectUserId === (currentUser == null ? void 0 : currentUser.id),
755
- ...(await getUser(user.projectUserId))
756
- })))).catch(err => err);
757
- setUsers(userRoles);
765
+ try {
766
+ const aclData = await client.request({
767
+ url: "/projects/".concat(projectId, "/acl")
768
+ });
769
+ const userIds = aclData.map(user => user.projectUserId);
770
+ const userIdChunks = chunkArray(userIds, 200);
771
+ let usersData = [];
772
+ for (const chunk of userIdChunks) {
773
+ const chunkedUserIds = chunk.join(",");
774
+ const response = await client.request({
775
+ url: "/projects/".concat(projectId, "/users/").concat(chunkedUserIds)
776
+ });
777
+ usersData = [...usersData, ...response];
778
+ }
779
+ const usersWithRoles = usersData.map(user => {
780
+ var _a;
781
+ const userRoles = ((_a = aclData.find(aclUser => aclUser.projectUserId === user.id)) == null ? void 0 : _a.roles) || [];
782
+ return {
783
+ ...user,
784
+ isCurrentUser: user.id === (currentUser == null ? void 0 : currentUser.id),
785
+ roles: userRoles
786
+ };
787
+ });
788
+ setUsers(usersWithRoles);
789
+ } catch (err) {
790
+ console.error("Failed to fetch users:", err);
791
+ }
758
792
  }
759
793
  if (!users.length) {
760
794
  getUsersWithRoles();
@@ -763,12 +797,12 @@ function useProjectUsers(_ref2) {
763
797
  return users;
764
798
  }
765
799
  function useOpenInNewPane(id, type) {
766
- const routerContext = React.useContext(RouterContext);
800
+ const routerContext = React__default.default.useContext(router.RouterContext);
767
801
  const {
768
802
  routerPanesState,
769
803
  groupIndex
770
- } = usePaneRouter();
771
- const openInNewPane = React.useCallback(() => {
804
+ } = structure.usePaneRouter();
805
+ const openInNewPane = React__default.default.useCallback(() => {
772
806
  if (!routerContext || !id || !type) {
773
807
  return;
774
808
  }
@@ -802,20 +836,20 @@ function Feedback(props) {
802
836
  ...DEFAULT_PROPS,
803
837
  ...props
804
838
  };
805
- return /* @__PURE__ */jsx(Card, {
839
+ return /* @__PURE__ */jsxRuntime.jsx(ui.Card, {
806
840
  tone,
807
841
  padding: 4,
808
842
  radius: 3,
809
843
  border: true,
810
- children: /* @__PURE__ */jsxs(Flex, {
811
- children: [icon ? "display icon" : null, children ? children : /* @__PURE__ */jsx(Box, {
844
+ children: /* @__PURE__ */jsxRuntime.jsxs(ui.Flex, {
845
+ children: [icon ? "display icon" : null, children ? children : /* @__PURE__ */jsxRuntime.jsx(ui.Box, {
812
846
  flex: 1,
813
- children: /* @__PURE__ */jsxs(Stack, {
847
+ children: /* @__PURE__ */jsxRuntime.jsxs(ui.Stack, {
814
848
  space: 4,
815
- children: [title ? /* @__PURE__ */jsx(Text, {
849
+ children: [title ? /* @__PURE__ */jsxRuntime.jsx(ui.Text, {
816
850
  weight: "semibold",
817
851
  children: title
818
- }) : null, description ? /* @__PURE__ */jsx(Text, {
852
+ }) : null, description ? /* @__PURE__ */jsxRuntime.jsx(ui.Text, {
819
853
  size: 2,
820
854
  children: description
821
855
  }) : null]
@@ -827,59 +861,59 @@ function Feedback(props) {
827
861
  var __freeze = Object.freeze;
828
862
  var __defProp = Object.defineProperty;
829
863
  var __template = (cooked, raw) => __freeze(__defProp(cooked, "raw", {
830
- value: __freeze(raw || cooked.slice())
864
+ value: __freeze(cooked.slice())
831
865
  }));
832
866
  var _a, _b, _c;
833
867
  const TableWrapper = function () {
834
868
  let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
835
- return /* @__PURE__ */jsx(Card, {
869
+ return /* @__PURE__ */jsxRuntime.jsx(ui.Card, {
836
870
  as: "table",
837
871
  ...props
838
872
  });
839
873
  };
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 "]))));
874
+ 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
875
  function Table(props) {
842
876
  const {
843
877
  children,
844
878
  ...rest
845
879
  } = props;
846
- return /* @__PURE__ */jsx(StyledTable, {
880
+ return /* @__PURE__ */jsxRuntime.jsx(StyledTable, {
847
881
  ...rest,
848
882
  children
849
883
  });
850
884
  }
851
885
  const RowWrapper = function () {
852
886
  let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
853
- return /* @__PURE__ */jsx(Card, {
887
+ return /* @__PURE__ */jsxRuntime.jsx(ui.Card, {
854
888
  as: "tr",
855
889
  ...props
856
890
  });
857
891
  };
858
- const StyledRow = styled(RowWrapper)(() => css(_b || (_b = __template(["\n display: table-row;\n\n &:not([hidden]) {\n display: table-row;\n }\n "]))));
892
+ 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
893
  function Row(props) {
860
894
  const {
861
895
  children,
862
896
  ...rest
863
897
  } = props;
864
- return /* @__PURE__ */jsx(StyledRow, {
898
+ return /* @__PURE__ */jsxRuntime.jsx(StyledRow, {
865
899
  ...rest,
866
900
  children
867
901
  });
868
902
  }
869
903
  const CellWrapper = function () {
870
904
  let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
871
- return /* @__PURE__ */jsx(Card, {
905
+ return /* @__PURE__ */jsxRuntime.jsx(ui.Card, {
872
906
  as: "td",
873
907
  ...props
874
908
  });
875
909
  };
876
- const StyledCell = styled(CellWrapper)(() => css(_c || (_c = __template(["\n display: table-cell;\n\n &:not([hidden]) {\n display: table-cell;\n }\n "]))));
910
+ 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
911
  function Cell(props) {
878
912
  const {
879
913
  children,
880
914
  ...rest
881
915
  } = props;
882
- return /* @__PURE__ */jsx(StyledCell, {
916
+ return /* @__PURE__ */jsxRuntime.jsx(StyledCell, {
883
917
  ...rest,
884
918
  children
885
919
  });
@@ -917,11 +951,11 @@ function UserSelectMenu(props) {
917
951
  ...LABELS,
918
952
  ...props.labels
919
953
  } : LABELS;
920
- const [searchString, setSearchString] = React.useState("");
954
+ const [searchString, setSearchString] = React__default.default.useState("");
921
955
  const searchResults = searchUsers(userList || [], searchString);
922
956
  const me = userList.find(u => u.isCurrentUser);
923
957
  const meAssigned = me && value.includes(me.id);
924
- const input = useRef(null);
958
+ const input = React.useRef(null);
925
959
  const handleSearchChange = event => {
926
960
  setSearchString(event.target.value);
927
961
  };
@@ -939,51 +973,51 @@ function UserSelectMenu(props) {
939
973
  const handleClearAssigneesClick = () => {
940
974
  if (onClear) onClear();
941
975
  };
942
- return /* @__PURE__ */jsxs(Menu, {
976
+ return /* @__PURE__ */jsxRuntime.jsxs(ui.Menu, {
943
977
  style,
944
- children: [meAssigned ? /* @__PURE__ */jsx(MenuItem, {
978
+ children: [meAssigned ? /* @__PURE__ */jsxRuntime.jsx(ui.MenuItem, {
945
979
  tone: "caution",
946
980
  disabled: !me,
947
981
  onClick: handleUnassignMyself,
948
- icon: RemoveCircleIcon,
982
+ icon: icons.RemoveCircleIcon,
949
983
  text: labels.removeMe
950
- }) : /* @__PURE__ */jsx(MenuItem, {
984
+ }) : /* @__PURE__ */jsxRuntime.jsx(ui.MenuItem, {
951
985
  tone: "positive",
952
986
  onClick: handleAssignMyself,
953
- icon: AddCircleIcon,
987
+ icon: icons.AddCircleIcon,
954
988
  text: labels.addMe
955
- }), /* @__PURE__ */jsx(MenuItem, {
989
+ }), /* @__PURE__ */jsxRuntime.jsx(ui.MenuItem, {
956
990
  tone: "critical",
957
991
  disabled: value.length === 0,
958
992
  onClick: handleClearAssigneesClick,
959
- icon: RestoreIcon,
993
+ icon: icons.RestoreIcon,
960
994
  text: labels.clear
961
- }), /* @__PURE__ */jsx(Box, {
995
+ }), /* @__PURE__ */jsxRuntime.jsx(ui.Box, {
962
996
  padding: 1,
963
- children: /* @__PURE__ */jsx(TextInput, {
997
+ children: /* @__PURE__ */jsxRuntime.jsx(ui.TextInput, {
964
998
  ref: input,
965
999
  onChange: handleSearchChange,
966
1000
  placeholder: labels.searchPlaceholder,
967
1001
  value: searchString
968
1002
  })
969
- }), searchString && (searchResults == null ? void 0 : searchResults.length) === 0 && /* @__PURE__ */jsx(MenuItem, {
1003
+ }), searchString && (searchResults == null ? void 0 : searchResults.length) === 0 && /* @__PURE__ */jsxRuntime.jsx(ui.MenuItem, {
970
1004
  disabled: true,
971
1005
  text: labels.notFound
972
- }), searchResults && searchResults.map(user => /* @__PURE__ */jsx(MenuItem, {
1006
+ }), searchResults && searchResults.map(user => /* @__PURE__ */jsxRuntime.jsx(ui.MenuItem, {
973
1007
  pressed: value.includes(user.id),
974
1008
  onClick: () => handleSelect(value.indexOf(user.id) > -1, user),
975
- children: /* @__PURE__ */jsxs(Flex, {
1009
+ children: /* @__PURE__ */jsxRuntime.jsxs(ui.Flex, {
976
1010
  align: "center",
977
- children: [/* @__PURE__ */jsx(UserAvatar, {
1011
+ children: [/* @__PURE__ */jsxRuntime.jsx(sanity.UserAvatar, {
978
1012
  user,
979
1013
  size: 1
980
- }), /* @__PURE__ */jsx(Box, {
1014
+ }), /* @__PURE__ */jsxRuntime.jsx(ui.Box, {
981
1015
  paddingX: 2,
982
1016
  flex: 1,
983
- children: /* @__PURE__ */jsx(Text, {
1017
+ children: /* @__PURE__ */jsxRuntime.jsx(ui.Text, {
984
1018
  children: user.displayName
985
1019
  })
986
- }), user.isCurrentUser && /* @__PURE__ */jsx(Badge, {
1020
+ }), user.isCurrentUser && /* @__PURE__ */jsxRuntime.jsx(ui.Badge, {
987
1021
  fontSize: 1,
988
1022
  tone: "positive",
989
1023
  mode: "outline",
@@ -993,5 +1027,14 @@ function UserSelectMenu(props) {
993
1027
  }, user.id))]
994
1028
  });
995
1029
  }
996
- export { Cell, Feedback, Row, Table, UserSelectMenu, useImageUrlBuilder, useImageUrlBuilderImage, useListeningQuery, useOpenInNewPane, useProjectUsers };
997
- //# sourceMappingURL=index.esm.js.map
1030
+ exports.Cell = Cell;
1031
+ exports.Feedback = Feedback;
1032
+ exports.Row = Row;
1033
+ exports.Table = Table;
1034
+ exports.UserSelectMenu = UserSelectMenu;
1035
+ exports.useImageUrlBuilder = useImageUrlBuilder;
1036
+ exports.useImageUrlBuilderImage = useImageUrlBuilderImage;
1037
+ exports.useListeningQuery = useListeningQuery;
1038
+ exports.useOpenInNewPane = useOpenInNewPane;
1039
+ exports.useProjectUsers = useProjectUsers;
1040
+ //# 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 {useEffect, useState} 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\nfunction chunkArray<T>(array: T[], size: number): T[][] {\n const chunks: T[][] = []\n for (let i = 0; i < array.length; i += size) {\n chunks.push(array.slice(i, i + size))\n }\n return chunks\n}\n\n// Custom hook to fetch user details and roles in batches\nexport function useProjectUsers({apiVersion}: HookConfig): UserExtended[] {\n const {currentUser} = useWorkspace()\n const client = useClient({apiVersion: apiVersion ?? '2023-01-01'})\n const [users, setUsers] = useState<UserExtended[]>([])\n\n useEffect(() => {\n const {projectId} = client.config()\n\n async function getUsersWithRoles() {\n try {\n const aclData = await client.request({\n url: `/projects/${projectId}/acl`,\n })\n\n const userIds = aclData.map((user: UserResponse) => user.projectUserId)\n\n const userIdChunks = chunkArray(userIds, 200)\n\n let usersData: UserExtended[] = []\n\n // Fetch users in batches of 200\n for (const chunk of userIdChunks) {\n const chunkedUserIds = chunk.join(',')\n const response = await client.request({\n url: `/projects/${projectId}/users/${chunkedUserIds}`,\n })\n usersData = [...usersData, ...response]\n }\n\n // Combine user details with roles\n const usersWithRoles = usersData.map((user: UserExtended) => {\n const userRoles =\n aclData.find(\n (aclUser: UserResponse) => aclUser.projectUserId === user.id\n )?.roles || []\n\n return {\n ...user,\n isCurrentUser: user.id === currentUser?.id,\n roles: userRoles,\n }\n })\n\n setUsers(usersWithRoles)\n } catch (err) {\n console.error('Failed to fetch users:', err)\n }\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","chunkArray","array","chunks","useProjectUsers","_ref2","currentUser","useWorkspace","users","setUsers","getUsersWithRoles","aclData","request","userIds","map","user","projectUserId","userIdChunks","usersData","chunk","chunkedUserIds","response","usersWithRoles","userRoles","find","aclUser","roles","isCurrentUser","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","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 {}