sanity-plugin-utils 1.6.1 → 1.6.3
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/LICENSE +1 -1
- package/lib/index.d.ts +8 -5
- package/lib/index.esm.js +26 -11
- package/lib/index.esm.js.map +1 -1
- package/lib/index.js +26 -11
- package/lib/index.js.map +1 -1
- package/package.json +10 -5
- package/src/hooks/useListeningQuery.tsx +23 -5
package/LICENSE
CHANGED
package/lib/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import {CardProps} from '@sanity/ui'
|
|
2
2
|
import {CardTone} from '@sanity/ui'
|
|
3
3
|
import type {ImageUrlBuilder} from 'sanity'
|
|
4
|
+
import {JSX as JSX_2} from 'react/jsx-runtime'
|
|
4
5
|
import {ListenQueryOptions} from 'sanity'
|
|
5
6
|
import {ListenQueryParams} from 'sanity'
|
|
6
7
|
import {PropsWithChildren} from 'react'
|
|
@@ -8,7 +9,7 @@ import {default as React_2} from 'react'
|
|
|
8
9
|
import type {SanityImageSource} from '@sanity/asset-utils'
|
|
9
10
|
import type {SourceClientOptions} from 'sanity'
|
|
10
11
|
|
|
11
|
-
export declare function Cell(props: TableCellProps):
|
|
12
|
+
export declare function Cell(props: TableCellProps): JSX_2.Element
|
|
12
13
|
|
|
13
14
|
declare interface Config<V> {
|
|
14
15
|
params?: ListenQueryParams
|
|
@@ -16,7 +17,7 @@ declare interface Config<V> {
|
|
|
16
17
|
initialValue?: null | V
|
|
17
18
|
}
|
|
18
19
|
|
|
19
|
-
export declare function Feedback(props: FeedbackProps):
|
|
20
|
+
export declare function Feedback(props: FeedbackProps): JSX_2.Element
|
|
20
21
|
|
|
21
22
|
declare type FeedbackChildren = {
|
|
22
23
|
children?: React_2.ReactNode
|
|
@@ -54,9 +55,9 @@ declare interface Return<V = Value> {
|
|
|
54
55
|
initialValue?: Value
|
|
55
56
|
}
|
|
56
57
|
|
|
57
|
-
export declare function Row(props: TableRowProps):
|
|
58
|
+
export declare function Row(props: TableRowProps): JSX_2.Element
|
|
58
59
|
|
|
59
|
-
export declare function Table(props: TableProps):
|
|
60
|
+
export declare function Table(props: TableProps): JSX_2.Element
|
|
60
61
|
|
|
61
62
|
declare type TableCellProps = PropsWithChildren<
|
|
62
63
|
CardProps & {
|
|
@@ -110,7 +111,9 @@ export declare type UserExtended = {
|
|
|
110
111
|
updatedAt: string
|
|
111
112
|
}
|
|
112
113
|
|
|
113
|
-
export declare function UserSelectMenu(
|
|
114
|
+
export declare function UserSelectMenu(
|
|
115
|
+
props: UserSelectMenuProps
|
|
116
|
+
): JSX_2.Element
|
|
114
117
|
|
|
115
118
|
declare type UserSelectMenuProps = {
|
|
116
119
|
value: string[]
|
package/lib/index.esm.js
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
var _templateObject, _templateObject2, _templateObject3;
|
|
2
|
-
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
3
1
|
import React, { useMemo, useState, useRef, useEffect } from 'react';
|
|
4
2
|
import { useClient, useDocumentStore, useWorkspace, UserAvatar } from 'sanity';
|
|
5
3
|
import { distinctUntilChanged, catchError } from 'rxjs/operators';
|
|
@@ -11,6 +9,9 @@ import { Card, Flex, Box, Stack, Text, Menu, MenuItem, TextInput, Badge } from '
|
|
|
11
9
|
import styled, { css } from 'styled-components';
|
|
12
10
|
import { RemoveCircleIcon, AddCircleIcon, RestoreIcon } from '@sanity/icons';
|
|
13
11
|
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
|
12
|
+
function getDefaultExportFromCjs(x) {
|
|
13
|
+
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
|
|
14
|
+
}
|
|
14
15
|
var builder = {};
|
|
15
16
|
var urlForImage = {};
|
|
16
17
|
var parseAssetId$1 = {};
|
|
@@ -436,7 +437,6 @@ var ImageUrlBuilder = /** @class */function () {
|
|
|
436
437
|
function ImageUrlBuilder(parent, options) {
|
|
437
438
|
this.options = parent ? __assign(__assign({}, parent.options || {}), options || {}) : __assign({}, options || {}); // Copy options
|
|
438
439
|
}
|
|
439
|
-
|
|
440
440
|
ImageUrlBuilder.prototype.withOptions = function (options) {
|
|
441
441
|
var baseUrl = options.baseUrl || this.options.baseUrl;
|
|
442
442
|
var newOptions = {
|
|
@@ -656,7 +656,7 @@ var __importDefault = commonjsGlobal && commonjsGlobal.__importDefault || functi
|
|
|
656
656
|
};
|
|
657
657
|
var builder_1 = __importDefault(builder);
|
|
658
658
|
var node = builder_1.default;
|
|
659
|
-
var createImageUrlBuilder = node;
|
|
659
|
+
var createImageUrlBuilder = /*@__PURE__*/getDefaultExportFromCjs(node);
|
|
660
660
|
function useImageUrlBuilder(clientOptions) {
|
|
661
661
|
const client = useClient(clientOptions);
|
|
662
662
|
const builder = useMemo(() => createImageUrlBuilder(client), [client]);
|
|
@@ -672,6 +672,10 @@ const DEFAULT_OPTIONS = {
|
|
|
672
672
|
apiVersion: "v2023-05-01"
|
|
673
673
|
};
|
|
674
674
|
const DEFAULT_INITIAL_VALUE = null;
|
|
675
|
+
function useParams(params) {
|
|
676
|
+
const stringifiedParams = useMemo(() => JSON.stringify(params || {}), [params]);
|
|
677
|
+
return useMemo(() => JSON.parse(stringifiedParams), [stringifiedParams]);
|
|
678
|
+
}
|
|
675
679
|
function useListeningQuery(query, _ref) {
|
|
676
680
|
let {
|
|
677
681
|
params = DEFAULT_PARAMS,
|
|
@@ -681,12 +685,14 @@ function useListeningQuery(query, _ref) {
|
|
|
681
685
|
const [loading, setLoading] = useState(true);
|
|
682
686
|
const [error, setError] = useState(false);
|
|
683
687
|
const [data, setData] = useState(initialValue);
|
|
688
|
+
const memoParams = useParams(params);
|
|
689
|
+
const memoOptions = useParams(options);
|
|
684
690
|
const subscription = useRef(null);
|
|
685
691
|
const documentStore = useDocumentStore();
|
|
686
692
|
useEffect(() => {
|
|
687
|
-
if (query && !error) {
|
|
693
|
+
if (query && !error && !subscription.current) {
|
|
688
694
|
try {
|
|
689
|
-
subscription.current = documentStore.listenQuery(query,
|
|
695
|
+
subscription.current = documentStore.listenQuery(query, memoParams, memoOptions).pipe(distinctUntilChanged(isEqual), catchError(err => {
|
|
690
696
|
console.error(err);
|
|
691
697
|
setError(err);
|
|
692
698
|
setLoading(false);
|
|
@@ -708,9 +714,12 @@ function useListeningQuery(query, _ref) {
|
|
|
708
714
|
}
|
|
709
715
|
return () => {
|
|
710
716
|
var _a;
|
|
711
|
-
|
|
717
|
+
if (subscription.current) {
|
|
718
|
+
(_a = subscription == null ? void 0 : subscription.current) == null ? void 0 : _a.unsubscribe();
|
|
719
|
+
subscription.current = null;
|
|
720
|
+
}
|
|
712
721
|
};
|
|
713
|
-
}, [query, error,
|
|
722
|
+
}, [query, error, memoParams, memoOptions, documentStore]);
|
|
714
723
|
return {
|
|
715
724
|
data,
|
|
716
725
|
loading,
|
|
@@ -815,6 +824,12 @@ function Feedback(props) {
|
|
|
815
824
|
})
|
|
816
825
|
});
|
|
817
826
|
}
|
|
827
|
+
var __freeze = Object.freeze;
|
|
828
|
+
var __defProp = Object.defineProperty;
|
|
829
|
+
var __template = (cooked, raw) => __freeze(__defProp(cooked, "raw", {
|
|
830
|
+
value: __freeze(raw || cooked.slice())
|
|
831
|
+
}));
|
|
832
|
+
var _a, _b, _c;
|
|
818
833
|
const TableWrapper = function () {
|
|
819
834
|
let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
820
835
|
return /* @__PURE__ */jsx(Card, {
|
|
@@ -822,7 +837,7 @@ const TableWrapper = function () {
|
|
|
822
837
|
...props
|
|
823
838
|
});
|
|
824
839
|
};
|
|
825
|
-
const StyledTable = styled(TableWrapper)(() => css(
|
|
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 "]))));
|
|
826
841
|
function Table(props) {
|
|
827
842
|
const {
|
|
828
843
|
children,
|
|
@@ -840,7 +855,7 @@ const RowWrapper = function () {
|
|
|
840
855
|
...props
|
|
841
856
|
});
|
|
842
857
|
};
|
|
843
|
-
const StyledRow = styled(RowWrapper)(() => css(
|
|
858
|
+
const StyledRow = styled(RowWrapper)(() => css(_b || (_b = __template(["\n display: table-row;\n\n &:not([hidden]) {\n display: table-row;\n }\n "]))));
|
|
844
859
|
function Row(props) {
|
|
845
860
|
const {
|
|
846
861
|
children,
|
|
@@ -858,7 +873,7 @@ const CellWrapper = function () {
|
|
|
858
873
|
...props
|
|
859
874
|
});
|
|
860
875
|
};
|
|
861
|
-
const StyledCell = styled(CellWrapper)(() => css(
|
|
876
|
+
const StyledCell = styled(CellWrapper)(() => css(_c || (_c = __template(["\n display: table-cell;\n\n &:not([hidden]) {\n display: table-cell;\n }\n "]))));
|
|
862
877
|
function Cell(props) {
|
|
863
878
|
const {
|
|
864
879
|
children,
|
package/lib/index.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","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, useState, useRef} from 'react'\nimport {catchError, distinctUntilChanged} from 'rxjs/operators'\nimport isEqual from 'react-fast-compare'\nimport {ListenQueryOptions, ListenQueryParams, useDocumentStore} from 'sanity'\nimport {Subscription} from 'rxjs'\n\ntype Value = any\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: null | V\n initialValue?: Value\n}\n\nconst DEFAULT_PARAMS = {}\nconst DEFAULT_OPTIONS = {apiVersion: `v2023-05-01`}\nconst DEFAULT_INITIAL_VALUE = null\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 subscription = useRef<null | Subscription>(null)\n const documentStore = useDocumentStore()\n\n useEffect(() => {\n if (query && !error) {\n try {\n subscription.current = documentStore\n .listenQuery(query, params, options)\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 () => subscription?.current?.unsubscribe()\n }, [query, error, params, options, 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/desk'\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 React from 'react'\nimport {Box, Card, CardTone, Flex, Stack, Text} from '@sanity/ui'\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} = {...DEFAULT_PROPS, ...props}\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 () =>\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 () =>\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 () =>\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","useListeningQuery","query","initialValue","loading","setLoading","useState","error","setError","data","setData","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","TableWrapper","as","StyledTable","styled","css","_templateObject","_taggedTemplateLiteral","Table","rest","RowWrapper","StyledRow","_templateObject2","Row","CellWrapper","StyledCell","_templateObject3","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]}
|
|
1
|
+
{"version":3,"file":"index.esm.js","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, useState, useRef, useMemo} from 'react'\nimport {catchError, distinctUntilChanged} from 'rxjs/operators'\nimport isEqual from 'react-fast-compare'\nimport {ListenQueryOptions, ListenQueryParams, useDocumentStore} from 'sanity'\nimport {Subscription} from 'rxjs'\n\ntype Value = any\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: null | 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/desk'\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 React from 'react'\nimport {Box, Card, CardTone, Flex, Stack, Text} from '@sanity/ui'\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} = {...DEFAULT_PROPS, ...props}\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 () =>\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 () =>\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 () =>\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.js
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var _templateObject, _templateObject2, _templateObject3;
|
|
4
|
-
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
5
3
|
Object.defineProperty(exports, '__esModule', {
|
|
6
4
|
value: true
|
|
7
5
|
});
|
|
@@ -24,6 +22,9 @@ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
|
24
22
|
var isEqual__default = /*#__PURE__*/_interopDefaultCompat(isEqual);
|
|
25
23
|
var styled__default = /*#__PURE__*/_interopDefaultCompat(styled);
|
|
26
24
|
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
|
25
|
+
function getDefaultExportFromCjs(x) {
|
|
26
|
+
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
|
|
27
|
+
}
|
|
27
28
|
var builder = {};
|
|
28
29
|
var urlForImage = {};
|
|
29
30
|
var parseAssetId$1 = {};
|
|
@@ -449,7 +450,6 @@ var ImageUrlBuilder = /** @class */function () {
|
|
|
449
450
|
function ImageUrlBuilder(parent, options) {
|
|
450
451
|
this.options = parent ? __assign(__assign({}, parent.options || {}), options || {}) : __assign({}, options || {}); // Copy options
|
|
451
452
|
}
|
|
452
|
-
|
|
453
453
|
ImageUrlBuilder.prototype.withOptions = function (options) {
|
|
454
454
|
var baseUrl = options.baseUrl || this.options.baseUrl;
|
|
455
455
|
var newOptions = {
|
|
@@ -669,7 +669,7 @@ var __importDefault = commonjsGlobal && commonjsGlobal.__importDefault || functi
|
|
|
669
669
|
};
|
|
670
670
|
var builder_1 = __importDefault(builder);
|
|
671
671
|
var node = builder_1.default;
|
|
672
|
-
var createImageUrlBuilder = node;
|
|
672
|
+
var createImageUrlBuilder = /*@__PURE__*/getDefaultExportFromCjs(node);
|
|
673
673
|
function useImageUrlBuilder(clientOptions) {
|
|
674
674
|
const client = sanity.useClient(clientOptions);
|
|
675
675
|
const builder = React.useMemo(() => createImageUrlBuilder(client), [client]);
|
|
@@ -685,6 +685,10 @@ const DEFAULT_OPTIONS = {
|
|
|
685
685
|
apiVersion: "v2023-05-01"
|
|
686
686
|
};
|
|
687
687
|
const DEFAULT_INITIAL_VALUE = null;
|
|
688
|
+
function useParams(params) {
|
|
689
|
+
const stringifiedParams = React.useMemo(() => JSON.stringify(params || {}), [params]);
|
|
690
|
+
return React.useMemo(() => JSON.parse(stringifiedParams), [stringifiedParams]);
|
|
691
|
+
}
|
|
688
692
|
function useListeningQuery(query, _ref) {
|
|
689
693
|
let {
|
|
690
694
|
params = DEFAULT_PARAMS,
|
|
@@ -694,12 +698,14 @@ function useListeningQuery(query, _ref) {
|
|
|
694
698
|
const [loading, setLoading] = React.useState(true);
|
|
695
699
|
const [error, setError] = React.useState(false);
|
|
696
700
|
const [data, setData] = React.useState(initialValue);
|
|
701
|
+
const memoParams = useParams(params);
|
|
702
|
+
const memoOptions = useParams(options);
|
|
697
703
|
const subscription = React.useRef(null);
|
|
698
704
|
const documentStore = sanity.useDocumentStore();
|
|
699
705
|
React.useEffect(() => {
|
|
700
|
-
if (query && !error) {
|
|
706
|
+
if (query && !error && !subscription.current) {
|
|
701
707
|
try {
|
|
702
|
-
subscription.current = documentStore.listenQuery(query,
|
|
708
|
+
subscription.current = documentStore.listenQuery(query, memoParams, memoOptions).pipe(operators.distinctUntilChanged(isEqual__default.default), operators.catchError(err => {
|
|
703
709
|
console.error(err);
|
|
704
710
|
setError(err);
|
|
705
711
|
setLoading(false);
|
|
@@ -721,9 +727,12 @@ function useListeningQuery(query, _ref) {
|
|
|
721
727
|
}
|
|
722
728
|
return () => {
|
|
723
729
|
var _a;
|
|
724
|
-
|
|
730
|
+
if (subscription.current) {
|
|
731
|
+
(_a = subscription == null ? void 0 : subscription.current) == null ? void 0 : _a.unsubscribe();
|
|
732
|
+
subscription.current = null;
|
|
733
|
+
}
|
|
725
734
|
};
|
|
726
|
-
}, [query, error,
|
|
735
|
+
}, [query, error, memoParams, memoOptions, documentStore]);
|
|
727
736
|
return {
|
|
728
737
|
data,
|
|
729
738
|
loading,
|
|
@@ -828,6 +837,12 @@ function Feedback(props) {
|
|
|
828
837
|
})
|
|
829
838
|
});
|
|
830
839
|
}
|
|
840
|
+
var __freeze = Object.freeze;
|
|
841
|
+
var __defProp = Object.defineProperty;
|
|
842
|
+
var __template = (cooked, raw) => __freeze(__defProp(cooked, "raw", {
|
|
843
|
+
value: __freeze(raw || cooked.slice())
|
|
844
|
+
}));
|
|
845
|
+
var _a, _b, _c;
|
|
831
846
|
const TableWrapper = function () {
|
|
832
847
|
let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
833
848
|
return /* @__PURE__ */jsxRuntime.jsx(ui.Card, {
|
|
@@ -835,7 +850,7 @@ const TableWrapper = function () {
|
|
|
835
850
|
...props
|
|
836
851
|
});
|
|
837
852
|
};
|
|
838
|
-
const StyledTable = styled__default.default(TableWrapper)(() => styled.css(
|
|
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 "]))));
|
|
839
854
|
function Table(props) {
|
|
840
855
|
const {
|
|
841
856
|
children,
|
|
@@ -853,7 +868,7 @@ const RowWrapper = function () {
|
|
|
853
868
|
...props
|
|
854
869
|
});
|
|
855
870
|
};
|
|
856
|
-
const StyledRow = styled__default.default(RowWrapper)(() => styled.css(
|
|
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 "]))));
|
|
857
872
|
function Row(props) {
|
|
858
873
|
const {
|
|
859
874
|
children,
|
|
@@ -871,7 +886,7 @@ const CellWrapper = function () {
|
|
|
871
886
|
...props
|
|
872
887
|
});
|
|
873
888
|
};
|
|
874
|
-
const StyledCell = styled__default.default(CellWrapper)(() => styled.css(
|
|
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 "]))));
|
|
875
890
|
function Cell(props) {
|
|
876
891
|
const {
|
|
877
892
|
children,
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","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, useState, useRef} from 'react'\nimport {catchError, distinctUntilChanged} from 'rxjs/operators'\nimport isEqual from 'react-fast-compare'\nimport {ListenQueryOptions, ListenQueryParams, useDocumentStore} from 'sanity'\nimport {Subscription} from 'rxjs'\n\ntype Value = any\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: null | V\n initialValue?: Value\n}\n\nconst DEFAULT_PARAMS = {}\nconst DEFAULT_OPTIONS = {apiVersion: `v2023-05-01`}\nconst DEFAULT_INITIAL_VALUE = null\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 subscription = useRef<null | Subscription>(null)\n const documentStore = useDocumentStore()\n\n useEffect(() => {\n if (query && !error) {\n try {\n subscription.current = documentStore\n .listenQuery(query, params, options)\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 () => subscription?.current?.unsubscribe()\n }, [query, error, params, options, 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/desk'\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 React from 'react'\nimport {Box, Card, CardTone, Flex, Stack, Text} from '@sanity/ui'\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} = {...DEFAULT_PROPS, ...props}\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 () =>\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 () =>\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 () =>\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","useListeningQuery","query","initialValue","loading","setLoading","useState","error","setError","data","setData","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","TableWrapper","as","StyledTable","styled","css","_templateObject","_taggedTemplateLiteral","Table","rest","RowWrapper","StyledRow","_templateObject2","Row","CellWrapper","StyledCell","_templateObject3","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]}
|
|
1
|
+
{"version":3,"file":"index.js","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, useState, useRef, useMemo} from 'react'\nimport {catchError, distinctUntilChanged} from 'rxjs/operators'\nimport isEqual from 'react-fast-compare'\nimport {ListenQueryOptions, ListenQueryParams, useDocumentStore} from 'sanity'\nimport {Subscription} from 'rxjs'\n\ntype Value = any\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: null | 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/desk'\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 React from 'react'\nimport {Box, Card, CardTone, Flex, Stack, Text} from '@sanity/ui'\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} = {...DEFAULT_PROPS, ...props}\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 () =>\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 () =>\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 () =>\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/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sanity-plugin-utils",
|
|
3
|
+
"version": "1.6.3",
|
|
3
4
|
"description": "Handy hooks and clever components for Sanity Studio v3",
|
|
4
|
-
"version": "1.6.1",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"sanity",
|
|
7
7
|
"sanity-plugin"
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
"dependencies": {
|
|
54
54
|
"@sanity/icons": "^2.2.2",
|
|
55
55
|
"@sanity/incompatible-plugin": "^1.0.4",
|
|
56
|
-
"styled-components": "^
|
|
56
|
+
"styled-components": "^6.1.6"
|
|
57
57
|
},
|
|
58
58
|
"devDependencies": {
|
|
59
59
|
"@commitlint/cli": "^17.4.2",
|
|
@@ -86,13 +86,18 @@
|
|
|
86
86
|
"typescript": "^4.9.5"
|
|
87
87
|
},
|
|
88
88
|
"peerDependencies": {
|
|
89
|
-
"@sanity/ui": "^
|
|
89
|
+
"@sanity/ui": "^2.0.0",
|
|
90
90
|
"react": "^18",
|
|
91
91
|
"react-fast-compare": "^3.2.0",
|
|
92
92
|
"rxjs": "^7.0.0",
|
|
93
|
-
"sanity": "^3"
|
|
93
|
+
"sanity": "^3.0.0"
|
|
94
94
|
},
|
|
95
95
|
"engines": {
|
|
96
|
-
"node": ">=
|
|
96
|
+
"node": ">=18"
|
|
97
|
+
},
|
|
98
|
+
"sanityPlugin": {
|
|
99
|
+
"verifyPackage": {
|
|
100
|
+
"nodeEngine": false
|
|
101
|
+
}
|
|
97
102
|
}
|
|
98
103
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {useEffect, useState, useRef} from 'react'
|
|
1
|
+
import {useEffect, useState, useRef, useMemo} from 'react'
|
|
2
2
|
import {catchError, distinctUntilChanged} from 'rxjs/operators'
|
|
3
3
|
import isEqual from 'react-fast-compare'
|
|
4
4
|
import {ListenQueryOptions, ListenQueryParams, useDocumentStore} from 'sanity'
|
|
@@ -24,6 +24,16 @@ const DEFAULT_PARAMS = {}
|
|
|
24
24
|
const DEFAULT_OPTIONS = {apiVersion: `v2023-05-01`}
|
|
25
25
|
const DEFAULT_INITIAL_VALUE = null
|
|
26
26
|
|
|
27
|
+
function useParams(
|
|
28
|
+
params?: undefined | null | ListenQueryParams | ListenQueryOptions
|
|
29
|
+
): ListenQueryParams {
|
|
30
|
+
const stringifiedParams = useMemo(
|
|
31
|
+
() => JSON.stringify(params || {}),
|
|
32
|
+
[params]
|
|
33
|
+
)
|
|
34
|
+
return useMemo(() => JSON.parse(stringifiedParams), [stringifiedParams])
|
|
35
|
+
}
|
|
36
|
+
|
|
27
37
|
export function useListeningQuery<V>(
|
|
28
38
|
query: string | {fetch: string; listen: string},
|
|
29
39
|
{
|
|
@@ -35,14 +45,17 @@ export function useListeningQuery<V>(
|
|
|
35
45
|
const [loading, setLoading] = useState<Return['loading']>(true)
|
|
36
46
|
const [error, setError] = useState<Return['error']>(false)
|
|
37
47
|
const [data, setData] = useState<Return['data']>(initialValue)
|
|
48
|
+
const memoParams = useParams(params)
|
|
49
|
+
const memoOptions = useParams(options)
|
|
50
|
+
|
|
38
51
|
const subscription = useRef<null | Subscription>(null)
|
|
39
52
|
const documentStore = useDocumentStore()
|
|
40
53
|
|
|
41
54
|
useEffect(() => {
|
|
42
|
-
if (query && !error) {
|
|
55
|
+
if (query && !error && !subscription.current) {
|
|
43
56
|
try {
|
|
44
57
|
subscription.current = documentStore
|
|
45
|
-
.listenQuery(query,
|
|
58
|
+
.listenQuery(query, memoParams, memoOptions)
|
|
46
59
|
.pipe(
|
|
47
60
|
distinctUntilChanged(isEqual),
|
|
48
61
|
catchError((err) => {
|
|
@@ -73,8 +86,13 @@ export function useListeningQuery<V>(
|
|
|
73
86
|
subscription.current.unsubscribe()
|
|
74
87
|
}
|
|
75
88
|
|
|
76
|
-
return () =>
|
|
77
|
-
|
|
89
|
+
return () => {
|
|
90
|
+
if (subscription.current) {
|
|
91
|
+
subscription?.current?.unsubscribe()
|
|
92
|
+
subscription.current = null
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}, [query, error, memoParams, memoOptions, documentStore])
|
|
78
96
|
|
|
79
97
|
return {data, loading, error}
|
|
80
98
|
}
|