sanity-plugin-utils 1.6.4 → 1.6.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -0
- package/lib/{index.esm.js → index.cjs} +122 -79
- package/lib/index.cjs.js +13 -0
- package/lib/index.cjs.map +1 -0
- package/lib/index.d.ts +2 -2
- package/lib/index.js +99 -100
- package/lib/index.js.map +1 -1
- package/package.json +40 -36
- package/src/components/Feedback.tsx +5 -2
- package/src/components/Table.tsx +20 -23
- package/src/hooks/useListeningQuery.tsx +5 -5
- package/src/hooks/useProjectUsers.tsx +47 -25
- package/lib/index.esm.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,13 +1,26 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var React = require('react');
|
|
7
|
+
var sanity = require('sanity');
|
|
8
|
+
var isEqual = require('react-fast-compare');
|
|
9
|
+
var operators = require('rxjs/operators');
|
|
10
|
+
var structure = require('sanity/structure');
|
|
11
|
+
var router = require('sanity/router');
|
|
12
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
13
|
+
var ui = require('@sanity/ui');
|
|
14
|
+
var styled = require('styled-components');
|
|
15
|
+
var icons = require('@sanity/icons');
|
|
16
|
+
function _interopDefaultCompat(e) {
|
|
17
|
+
return e && typeof e === 'object' && 'default' in e ? e : {
|
|
18
|
+
default: e
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
22
|
+
var isEqual__default = /*#__PURE__*/_interopDefaultCompat(isEqual);
|
|
23
|
+
var styled__default = /*#__PURE__*/_interopDefaultCompat(styled);
|
|
11
24
|
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
|
12
25
|
function getDefaultExportFromCjs(x) {
|
|
13
26
|
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
|
|
@@ -658,13 +671,13 @@ var builder_1 = __importDefault(builder);
|
|
|
658
671
|
var node = builder_1.default;
|
|
659
672
|
var createImageUrlBuilder = /*@__PURE__*/getDefaultExportFromCjs(node);
|
|
660
673
|
function useImageUrlBuilder(clientOptions) {
|
|
661
|
-
const client = useClient(clientOptions);
|
|
662
|
-
const builder = useMemo(() => createImageUrlBuilder(client), [client]);
|
|
674
|
+
const client = sanity.useClient(clientOptions);
|
|
675
|
+
const builder = React.useMemo(() => createImageUrlBuilder(client), [client]);
|
|
663
676
|
return builder;
|
|
664
677
|
}
|
|
665
678
|
function useImageUrlBuilderImage(source, clientOptions) {
|
|
666
679
|
const builder = useImageUrlBuilder(clientOptions);
|
|
667
|
-
const image = useMemo(() => source && builder ? builder.image(source) : null, [builder, source]);
|
|
680
|
+
const image = React.useMemo(() => source && builder ? builder.image(source) : null, [builder, source]);
|
|
668
681
|
return image;
|
|
669
682
|
}
|
|
670
683
|
const DEFAULT_PARAMS = {};
|
|
@@ -673,8 +686,8 @@ const DEFAULT_OPTIONS = {
|
|
|
673
686
|
};
|
|
674
687
|
const DEFAULT_INITIAL_VALUE = null;
|
|
675
688
|
function useParams(params) {
|
|
676
|
-
const stringifiedParams = useMemo(() => JSON.stringify(params || {}), [params]);
|
|
677
|
-
return useMemo(() => JSON.parse(stringifiedParams), [stringifiedParams]);
|
|
689
|
+
const stringifiedParams = React.useMemo(() => JSON.stringify(params || {}), [params]);
|
|
690
|
+
return React.useMemo(() => JSON.parse(stringifiedParams), [stringifiedParams]);
|
|
678
691
|
}
|
|
679
692
|
function useListeningQuery(query, _ref) {
|
|
680
693
|
let {
|
|
@@ -682,24 +695,24 @@ function useListeningQuery(query, _ref) {
|
|
|
682
695
|
options = DEFAULT_OPTIONS,
|
|
683
696
|
initialValue = DEFAULT_INITIAL_VALUE
|
|
684
697
|
} = _ref;
|
|
685
|
-
const [loading, setLoading] = useState(true);
|
|
686
|
-
const [error, setError] = useState(false);
|
|
687
|
-
const [data, setData] = useState(initialValue);
|
|
698
|
+
const [loading, setLoading] = React.useState(true);
|
|
699
|
+
const [error, setError] = React.useState(false);
|
|
700
|
+
const [data, setData] = React.useState(initialValue);
|
|
688
701
|
const memoParams = useParams(params);
|
|
689
702
|
const memoOptions = useParams(options);
|
|
690
|
-
const subscription = useRef(null);
|
|
691
|
-
const documentStore = useDocumentStore();
|
|
692
|
-
useEffect(() => {
|
|
703
|
+
const subscription = React.useRef(null);
|
|
704
|
+
const documentStore = sanity.useDocumentStore();
|
|
705
|
+
React.useEffect(() => {
|
|
693
706
|
if (query && !error && !subscription.current) {
|
|
694
707
|
try {
|
|
695
|
-
subscription.current = documentStore.listenQuery(query, memoParams, memoOptions).pipe(distinctUntilChanged(
|
|
708
|
+
subscription.current = documentStore.listenQuery(query, memoParams, memoOptions).pipe(operators.distinctUntilChanged(isEqual__default.default), operators.catchError(err => {
|
|
696
709
|
console.error(err);
|
|
697
710
|
setError(err);
|
|
698
711
|
setLoading(false);
|
|
699
712
|
setData(null);
|
|
700
713
|
return err;
|
|
701
714
|
})).subscribe(documents => {
|
|
702
|
-
setData(current =>
|
|
715
|
+
setData(current => isEqual__default.default(current, documents) ? current : documents);
|
|
703
716
|
setLoading(false);
|
|
704
717
|
setError(false);
|
|
705
718
|
});
|
|
@@ -726,35 +739,56 @@ function useListeningQuery(query, _ref) {
|
|
|
726
739
|
error
|
|
727
740
|
};
|
|
728
741
|
}
|
|
742
|
+
function chunkArray(array, size) {
|
|
743
|
+
const chunks = [];
|
|
744
|
+
for (let i = 0; i < array.length; i += size) {
|
|
745
|
+
chunks.push(array.slice(i, i + size));
|
|
746
|
+
}
|
|
747
|
+
return chunks;
|
|
748
|
+
}
|
|
729
749
|
function useProjectUsers(_ref2) {
|
|
730
750
|
let {
|
|
731
751
|
apiVersion
|
|
732
752
|
} = _ref2;
|
|
733
753
|
const {
|
|
734
754
|
currentUser
|
|
735
|
-
} = useWorkspace();
|
|
736
|
-
const client = useClient({
|
|
755
|
+
} = sanity.useWorkspace();
|
|
756
|
+
const client = sanity.useClient({
|
|
737
757
|
apiVersion: apiVersion != null ? apiVersion : "2023-01-01"
|
|
738
758
|
});
|
|
739
|
-
const [users, setUsers] = useState([]);
|
|
740
|
-
useEffect(() => {
|
|
759
|
+
const [users, setUsers] = React.useState([]);
|
|
760
|
+
React.useEffect(() => {
|
|
741
761
|
const {
|
|
742
762
|
projectId
|
|
743
763
|
} = client.config();
|
|
744
|
-
async function getUser(id) {
|
|
745
|
-
const userDetails = await client.request({
|
|
746
|
-
url: "/projects/".concat(projectId, "/users/").concat(id)
|
|
747
|
-
});
|
|
748
|
-
return userDetails;
|
|
749
|
-
}
|
|
750
764
|
async function getUsersWithRoles() {
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
765
|
+
try {
|
|
766
|
+
const aclData = await client.request({
|
|
767
|
+
url: "/projects/".concat(projectId, "/acl")
|
|
768
|
+
});
|
|
769
|
+
const userIds = aclData.map(user => user.projectUserId);
|
|
770
|
+
const userIdChunks = chunkArray(userIds, 200);
|
|
771
|
+
let usersData = [];
|
|
772
|
+
for (const chunk of userIdChunks) {
|
|
773
|
+
const chunkedUserIds = chunk.join(",");
|
|
774
|
+
const response = await client.request({
|
|
775
|
+
url: "/projects/".concat(projectId, "/users/").concat(chunkedUserIds)
|
|
776
|
+
});
|
|
777
|
+
usersData = [...usersData, ...response];
|
|
778
|
+
}
|
|
779
|
+
const usersWithRoles = usersData.map(user => {
|
|
780
|
+
var _a;
|
|
781
|
+
const userRoles = ((_a = aclData.find(aclUser => aclUser.projectUserId === user.id)) == null ? void 0 : _a.roles) || [];
|
|
782
|
+
return {
|
|
783
|
+
...user,
|
|
784
|
+
isCurrentUser: user.id === (currentUser == null ? void 0 : currentUser.id),
|
|
785
|
+
roles: userRoles
|
|
786
|
+
};
|
|
787
|
+
});
|
|
788
|
+
setUsers(usersWithRoles);
|
|
789
|
+
} catch (err) {
|
|
790
|
+
console.error("Failed to fetch users:", err);
|
|
791
|
+
}
|
|
758
792
|
}
|
|
759
793
|
if (!users.length) {
|
|
760
794
|
getUsersWithRoles();
|
|
@@ -763,12 +797,12 @@ function useProjectUsers(_ref2) {
|
|
|
763
797
|
return users;
|
|
764
798
|
}
|
|
765
799
|
function useOpenInNewPane(id, type) {
|
|
766
|
-
const routerContext =
|
|
800
|
+
const routerContext = React__default.default.useContext(router.RouterContext);
|
|
767
801
|
const {
|
|
768
802
|
routerPanesState,
|
|
769
803
|
groupIndex
|
|
770
|
-
} = usePaneRouter();
|
|
771
|
-
const openInNewPane =
|
|
804
|
+
} = structure.usePaneRouter();
|
|
805
|
+
const openInNewPane = React__default.default.useCallback(() => {
|
|
772
806
|
if (!routerContext || !id || !type) {
|
|
773
807
|
return;
|
|
774
808
|
}
|
|
@@ -802,20 +836,20 @@ function Feedback(props) {
|
|
|
802
836
|
...DEFAULT_PROPS,
|
|
803
837
|
...props
|
|
804
838
|
};
|
|
805
|
-
return /* @__PURE__ */jsx(Card, {
|
|
839
|
+
return /* @__PURE__ */jsxRuntime.jsx(ui.Card, {
|
|
806
840
|
tone,
|
|
807
841
|
padding: 4,
|
|
808
842
|
radius: 3,
|
|
809
843
|
border: true,
|
|
810
|
-
children: /* @__PURE__ */jsxs(Flex, {
|
|
811
|
-
children: [icon ? "display icon" : null, children ? children : /* @__PURE__ */jsx(Box, {
|
|
844
|
+
children: /* @__PURE__ */jsxRuntime.jsxs(ui.Flex, {
|
|
845
|
+
children: [icon ? "display icon" : null, children ? children : /* @__PURE__ */jsxRuntime.jsx(ui.Box, {
|
|
812
846
|
flex: 1,
|
|
813
|
-
children: /* @__PURE__ */jsxs(Stack, {
|
|
847
|
+
children: /* @__PURE__ */jsxRuntime.jsxs(ui.Stack, {
|
|
814
848
|
space: 4,
|
|
815
|
-
children: [title ? /* @__PURE__ */jsx(Text, {
|
|
849
|
+
children: [title ? /* @__PURE__ */jsxRuntime.jsx(ui.Text, {
|
|
816
850
|
weight: "semibold",
|
|
817
851
|
children: title
|
|
818
|
-
}) : null, description ? /* @__PURE__ */jsx(Text, {
|
|
852
|
+
}) : null, description ? /* @__PURE__ */jsxRuntime.jsx(ui.Text, {
|
|
819
853
|
size: 2,
|
|
820
854
|
children: description
|
|
821
855
|
}) : null]
|
|
@@ -827,59 +861,59 @@ function Feedback(props) {
|
|
|
827
861
|
var __freeze = Object.freeze;
|
|
828
862
|
var __defProp = Object.defineProperty;
|
|
829
863
|
var __template = (cooked, raw) => __freeze(__defProp(cooked, "raw", {
|
|
830
|
-
value: __freeze(
|
|
864
|
+
value: __freeze(cooked.slice())
|
|
831
865
|
}));
|
|
832
866
|
var _a, _b, _c;
|
|
833
867
|
const TableWrapper = function () {
|
|
834
868
|
let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
835
|
-
return /* @__PURE__ */jsx(Card, {
|
|
869
|
+
return /* @__PURE__ */jsxRuntime.jsx(ui.Card, {
|
|
836
870
|
as: "table",
|
|
837
871
|
...props
|
|
838
872
|
});
|
|
839
873
|
};
|
|
840
|
-
const StyledTable =
|
|
874
|
+
const StyledTable = styled__default.default(TableWrapper)(() => styled.css(_a || (_a = __template(["\n display: table;\n width: 100%;\n border-collapse: collapse;\n\n &:not([hidden]) {\n display: table;\n border-collapse: collapse;\n }\n "]))));
|
|
841
875
|
function Table(props) {
|
|
842
876
|
const {
|
|
843
877
|
children,
|
|
844
878
|
...rest
|
|
845
879
|
} = props;
|
|
846
|
-
return /* @__PURE__ */jsx(StyledTable, {
|
|
880
|
+
return /* @__PURE__ */jsxRuntime.jsx(StyledTable, {
|
|
847
881
|
...rest,
|
|
848
882
|
children
|
|
849
883
|
});
|
|
850
884
|
}
|
|
851
885
|
const RowWrapper = function () {
|
|
852
886
|
let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
853
|
-
return /* @__PURE__ */jsx(Card, {
|
|
887
|
+
return /* @__PURE__ */jsxRuntime.jsx(ui.Card, {
|
|
854
888
|
as: "tr",
|
|
855
889
|
...props
|
|
856
890
|
});
|
|
857
891
|
};
|
|
858
|
-
const StyledRow =
|
|
892
|
+
const StyledRow = styled__default.default(RowWrapper)(() => styled.css(_b || (_b = __template(["\n display: table-row;\n\n &:not([hidden]) {\n display: table-row;\n }\n "]))));
|
|
859
893
|
function Row(props) {
|
|
860
894
|
const {
|
|
861
895
|
children,
|
|
862
896
|
...rest
|
|
863
897
|
} = props;
|
|
864
|
-
return /* @__PURE__ */jsx(StyledRow, {
|
|
898
|
+
return /* @__PURE__ */jsxRuntime.jsx(StyledRow, {
|
|
865
899
|
...rest,
|
|
866
900
|
children
|
|
867
901
|
});
|
|
868
902
|
}
|
|
869
903
|
const CellWrapper = function () {
|
|
870
904
|
let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
871
|
-
return /* @__PURE__ */jsx(Card, {
|
|
905
|
+
return /* @__PURE__ */jsxRuntime.jsx(ui.Card, {
|
|
872
906
|
as: "td",
|
|
873
907
|
...props
|
|
874
908
|
});
|
|
875
909
|
};
|
|
876
|
-
const StyledCell =
|
|
910
|
+
const StyledCell = styled__default.default(CellWrapper)(() => styled.css(_c || (_c = __template(["\n display: table-cell;\n\n &:not([hidden]) {\n display: table-cell;\n }\n "]))));
|
|
877
911
|
function Cell(props) {
|
|
878
912
|
const {
|
|
879
913
|
children,
|
|
880
914
|
...rest
|
|
881
915
|
} = props;
|
|
882
|
-
return /* @__PURE__ */jsx(StyledCell, {
|
|
916
|
+
return /* @__PURE__ */jsxRuntime.jsx(StyledCell, {
|
|
883
917
|
...rest,
|
|
884
918
|
children
|
|
885
919
|
});
|
|
@@ -917,11 +951,11 @@ function UserSelectMenu(props) {
|
|
|
917
951
|
...LABELS,
|
|
918
952
|
...props.labels
|
|
919
953
|
} : LABELS;
|
|
920
|
-
const [searchString, setSearchString] =
|
|
954
|
+
const [searchString, setSearchString] = React__default.default.useState("");
|
|
921
955
|
const searchResults = searchUsers(userList || [], searchString);
|
|
922
956
|
const me = userList.find(u => u.isCurrentUser);
|
|
923
957
|
const meAssigned = me && value.includes(me.id);
|
|
924
|
-
const input = useRef(null);
|
|
958
|
+
const input = React.useRef(null);
|
|
925
959
|
const handleSearchChange = event => {
|
|
926
960
|
setSearchString(event.target.value);
|
|
927
961
|
};
|
|
@@ -939,51 +973,51 @@ function UserSelectMenu(props) {
|
|
|
939
973
|
const handleClearAssigneesClick = () => {
|
|
940
974
|
if (onClear) onClear();
|
|
941
975
|
};
|
|
942
|
-
return /* @__PURE__ */jsxs(Menu, {
|
|
976
|
+
return /* @__PURE__ */jsxRuntime.jsxs(ui.Menu, {
|
|
943
977
|
style,
|
|
944
|
-
children: [meAssigned ? /* @__PURE__ */jsx(MenuItem, {
|
|
978
|
+
children: [meAssigned ? /* @__PURE__ */jsxRuntime.jsx(ui.MenuItem, {
|
|
945
979
|
tone: "caution",
|
|
946
980
|
disabled: !me,
|
|
947
981
|
onClick: handleUnassignMyself,
|
|
948
|
-
icon: RemoveCircleIcon,
|
|
982
|
+
icon: icons.RemoveCircleIcon,
|
|
949
983
|
text: labels.removeMe
|
|
950
|
-
}) : /* @__PURE__ */jsx(MenuItem, {
|
|
984
|
+
}) : /* @__PURE__ */jsxRuntime.jsx(ui.MenuItem, {
|
|
951
985
|
tone: "positive",
|
|
952
986
|
onClick: handleAssignMyself,
|
|
953
|
-
icon: AddCircleIcon,
|
|
987
|
+
icon: icons.AddCircleIcon,
|
|
954
988
|
text: labels.addMe
|
|
955
|
-
}), /* @__PURE__ */jsx(MenuItem, {
|
|
989
|
+
}), /* @__PURE__ */jsxRuntime.jsx(ui.MenuItem, {
|
|
956
990
|
tone: "critical",
|
|
957
991
|
disabled: value.length === 0,
|
|
958
992
|
onClick: handleClearAssigneesClick,
|
|
959
|
-
icon: RestoreIcon,
|
|
993
|
+
icon: icons.RestoreIcon,
|
|
960
994
|
text: labels.clear
|
|
961
|
-
}), /* @__PURE__ */jsx(Box, {
|
|
995
|
+
}), /* @__PURE__ */jsxRuntime.jsx(ui.Box, {
|
|
962
996
|
padding: 1,
|
|
963
|
-
children: /* @__PURE__ */jsx(TextInput, {
|
|
997
|
+
children: /* @__PURE__ */jsxRuntime.jsx(ui.TextInput, {
|
|
964
998
|
ref: input,
|
|
965
999
|
onChange: handleSearchChange,
|
|
966
1000
|
placeholder: labels.searchPlaceholder,
|
|
967
1001
|
value: searchString
|
|
968
1002
|
})
|
|
969
|
-
}), searchString && (searchResults == null ? void 0 : searchResults.length) === 0 && /* @__PURE__ */jsx(MenuItem, {
|
|
1003
|
+
}), searchString && (searchResults == null ? void 0 : searchResults.length) === 0 && /* @__PURE__ */jsxRuntime.jsx(ui.MenuItem, {
|
|
970
1004
|
disabled: true,
|
|
971
1005
|
text: labels.notFound
|
|
972
|
-
}), searchResults && searchResults.map(user => /* @__PURE__ */jsx(MenuItem, {
|
|
1006
|
+
}), searchResults && searchResults.map(user => /* @__PURE__ */jsxRuntime.jsx(ui.MenuItem, {
|
|
973
1007
|
pressed: value.includes(user.id),
|
|
974
1008
|
onClick: () => handleSelect(value.indexOf(user.id) > -1, user),
|
|
975
|
-
children: /* @__PURE__ */jsxs(Flex, {
|
|
1009
|
+
children: /* @__PURE__ */jsxRuntime.jsxs(ui.Flex, {
|
|
976
1010
|
align: "center",
|
|
977
|
-
children: [/* @__PURE__ */jsx(UserAvatar, {
|
|
1011
|
+
children: [/* @__PURE__ */jsxRuntime.jsx(sanity.UserAvatar, {
|
|
978
1012
|
user,
|
|
979
1013
|
size: 1
|
|
980
|
-
}), /* @__PURE__ */jsx(Box, {
|
|
1014
|
+
}), /* @__PURE__ */jsxRuntime.jsx(ui.Box, {
|
|
981
1015
|
paddingX: 2,
|
|
982
1016
|
flex: 1,
|
|
983
|
-
children: /* @__PURE__ */jsx(Text, {
|
|
1017
|
+
children: /* @__PURE__ */jsxRuntime.jsx(ui.Text, {
|
|
984
1018
|
children: user.displayName
|
|
985
1019
|
})
|
|
986
|
-
}), user.isCurrentUser && /* @__PURE__ */jsx(Badge, {
|
|
1020
|
+
}), user.isCurrentUser && /* @__PURE__ */jsxRuntime.jsx(ui.Badge, {
|
|
987
1021
|
fontSize: 1,
|
|
988
1022
|
tone: "positive",
|
|
989
1023
|
mode: "outline",
|
|
@@ -993,5 +1027,14 @@ function UserSelectMenu(props) {
|
|
|
993
1027
|
}, user.id))]
|
|
994
1028
|
});
|
|
995
1029
|
}
|
|
996
|
-
|
|
997
|
-
|
|
1030
|
+
exports.Cell = Cell;
|
|
1031
|
+
exports.Feedback = Feedback;
|
|
1032
|
+
exports.Row = Row;
|
|
1033
|
+
exports.Table = Table;
|
|
1034
|
+
exports.UserSelectMenu = UserSelectMenu;
|
|
1035
|
+
exports.useImageUrlBuilder = useImageUrlBuilder;
|
|
1036
|
+
exports.useImageUrlBuilderImage = useImageUrlBuilderImage;
|
|
1037
|
+
exports.useListeningQuery = useListeningQuery;
|
|
1038
|
+
exports.useOpenInNewPane = useOpenInNewPane;
|
|
1039
|
+
exports.useProjectUsers = useProjectUsers;
|
|
1040
|
+
//# sourceMappingURL=index.cjs.map
|
package/lib/index.cjs.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import cjs from './index.cjs';
|
|
2
|
+
|
|
3
|
+
export const Cell = cjs.Cell;
|
|
4
|
+
export const Feedback = cjs.Feedback;
|
|
5
|
+
export const Row = cjs.Row;
|
|
6
|
+
export const Table = cjs.Table;
|
|
7
|
+
export const UserSelectMenu = cjs.UserSelectMenu;
|
|
8
|
+
export const useImageUrlBuilder = cjs.useImageUrlBuilder;
|
|
9
|
+
export const useImageUrlBuilderImage = cjs.useImageUrlBuilderImage;
|
|
10
|
+
export const useListeningQuery = cjs.useListeningQuery;
|
|
11
|
+
export const useOpenInNewPane = cjs.useOpenInNewPane;
|
|
12
|
+
export const useProjectUsers = cjs.useProjectUsers;
|
|
13
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../node_modules/@sanity/image-url/lib/node/parseAssetId.js","../node_modules/@sanity/image-url/lib/node/parseSource.js","../node_modules/@sanity/image-url/lib/node/urlForImage.js","../node_modules/@sanity/image-url/lib/node/builder.js","../node_modules/@sanity/image-url/lib/node/index.js","../src/hooks/useImageUrlBuilder.tsx","../src/hooks/useImageUrlBuilderImage.tsx","../src/hooks/useListeningQuery.tsx","../src/hooks/useProjectUsers.tsx","../src/hooks/useOpenInNewPane.tsx","../src/components/Feedback.tsx","../src/components/Table.tsx","../src/components/UserSelectMenu/index.tsx"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar example = 'image-Tb9Ew8CXIwaY6R1kjMvI0uRR-2000x3000-jpg';\nfunction parseAssetId(ref) {\n var _a = ref.split('-'), id = _a[1], dimensionString = _a[2], format = _a[3];\n if (!id || !dimensionString || !format) {\n throw new Error(\"Malformed asset _ref '\".concat(ref, \"'. Expected an id like \\\"\").concat(example, \"\\\".\"));\n }\n var _b = dimensionString.split('x'), imgWidthStr = _b[0], imgHeightStr = _b[1];\n var width = +imgWidthStr;\n var height = +imgHeightStr;\n var isValidAssetId = isFinite(width) && isFinite(height);\n if (!isValidAssetId) {\n throw new Error(\"Malformed asset _ref '\".concat(ref, \"'. Expected an id like \\\"\").concat(example, \"\\\".\"));\n }\n return { id: id, width: width, height: height, format: format };\n}\nexports.default = parseAssetId;\n//# sourceMappingURL=parseAssetId.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar isRef = function (src) {\n var source = src;\n return source ? typeof source._ref === 'string' : false;\n};\nvar isAsset = function (src) {\n var source = src;\n return source ? typeof source._id === 'string' : false;\n};\nvar isAssetStub = function (src) {\n var source = src;\n return source && source.asset ? typeof source.asset.url === 'string' : false;\n};\n// Convert an asset-id, asset or image to an image record suitable for processing\n// eslint-disable-next-line complexity\nfunction parseSource(source) {\n if (!source) {\n return null;\n }\n var image;\n if (typeof source === 'string' && isUrl(source)) {\n // Someone passed an existing image url?\n image = {\n asset: { _ref: urlToId(source) },\n };\n }\n else if (typeof source === 'string') {\n // Just an asset id\n image = {\n asset: { _ref: source },\n };\n }\n else if (isRef(source)) {\n // We just got passed an asset directly\n image = {\n asset: source,\n };\n }\n else if (isAsset(source)) {\n // If we were passed an image asset document\n image = {\n asset: {\n _ref: source._id || '',\n },\n };\n }\n else if (isAssetStub(source)) {\n // If we were passed a partial asset (`url`, but no `_id`)\n image = {\n asset: {\n _ref: urlToId(source.asset.url),\n },\n };\n }\n else if (typeof source.asset === 'object') {\n // Probably an actual image with materialized asset\n image = __assign({}, source);\n }\n else {\n // We got something that does not look like an image, or it is an image\n // that currently isn't sporting an asset.\n return null;\n }\n var img = source;\n if (img.crop) {\n image.crop = img.crop;\n }\n if (img.hotspot) {\n image.hotspot = img.hotspot;\n }\n return applyDefaults(image);\n}\nexports.default = parseSource;\nfunction isUrl(url) {\n return /^https?:\\/\\//.test(\"\".concat(url));\n}\nfunction urlToId(url) {\n var parts = url.split('/').slice(-1);\n return \"image-\".concat(parts[0]).replace(/\\.([a-z]+)$/, '-$1');\n}\n// Mock crop and hotspot if image lacks it\nfunction applyDefaults(image) {\n if (image.crop && image.hotspot) {\n return image;\n }\n // We need to pad in default values for crop or hotspot\n var result = __assign({}, image);\n if (!result.crop) {\n result.crop = {\n left: 0,\n top: 0,\n bottom: 0,\n right: 0,\n };\n }\n if (!result.hotspot) {\n result.hotspot = {\n x: 0.5,\n y: 0.5,\n height: 1.0,\n width: 1.0,\n };\n }\n return result;\n}\n//# sourceMappingURL=parseSource.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parseSource = exports.SPEC_NAME_TO_URL_NAME_MAPPINGS = void 0;\nvar parseAssetId_1 = __importDefault(require(\"./parseAssetId\"));\nvar parseSource_1 = __importDefault(require(\"./parseSource\"));\nexports.parseSource = parseSource_1.default;\nexports.SPEC_NAME_TO_URL_NAME_MAPPINGS = [\n ['width', 'w'],\n ['height', 'h'],\n ['format', 'fm'],\n ['download', 'dl'],\n ['blur', 'blur'],\n ['sharpen', 'sharp'],\n ['invert', 'invert'],\n ['orientation', 'or'],\n ['minHeight', 'min-h'],\n ['maxHeight', 'max-h'],\n ['minWidth', 'min-w'],\n ['maxWidth', 'max-w'],\n ['quality', 'q'],\n ['fit', 'fit'],\n ['crop', 'crop'],\n ['saturation', 'sat'],\n ['auto', 'auto'],\n ['dpr', 'dpr'],\n ['pad', 'pad'],\n];\nfunction urlForImage(options) {\n var spec = __assign({}, (options || {}));\n var source = spec.source;\n delete spec.source;\n var image = (0, parseSource_1.default)(source);\n if (!image) {\n throw new Error(\"Unable to resolve image URL from source (\".concat(JSON.stringify(source), \")\"));\n }\n var id = image.asset._ref || image.asset._id || '';\n var asset = (0, parseAssetId_1.default)(id);\n // Compute crop rect in terms of pixel coordinates in the raw source image\n var cropLeft = Math.round(image.crop.left * asset.width);\n var cropTop = Math.round(image.crop.top * asset.height);\n var crop = {\n left: cropLeft,\n top: cropTop,\n width: Math.round(asset.width - image.crop.right * asset.width - cropLeft),\n height: Math.round(asset.height - image.crop.bottom * asset.height - cropTop),\n };\n // Compute hot spot rect in terms of pixel coordinates\n var hotSpotVerticalRadius = (image.hotspot.height * asset.height) / 2;\n var hotSpotHorizontalRadius = (image.hotspot.width * asset.width) / 2;\n var hotSpotCenterX = image.hotspot.x * asset.width;\n var hotSpotCenterY = image.hotspot.y * asset.height;\n var hotspot = {\n left: hotSpotCenterX - hotSpotHorizontalRadius,\n top: hotSpotCenterY - hotSpotVerticalRadius,\n right: hotSpotCenterX + hotSpotHorizontalRadius,\n bottom: hotSpotCenterY + hotSpotVerticalRadius,\n };\n // If irrelevant, or if we are requested to: don't perform crop/fit based on\n // the crop/hotspot.\n if (!(spec.rect || spec.focalPoint || spec.ignoreImageParams || spec.crop)) {\n spec = __assign(__assign({}, spec), fit({ crop: crop, hotspot: hotspot }, spec));\n }\n return specToImageUrl(__assign(__assign({}, spec), { asset: asset }));\n}\nexports.default = urlForImage;\n// eslint-disable-next-line complexity\nfunction specToImageUrl(spec) {\n var cdnUrl = (spec.baseUrl || 'https://cdn.sanity.io').replace(/\\/+$/, '');\n var filename = \"\".concat(spec.asset.id, \"-\").concat(spec.asset.width, \"x\").concat(spec.asset.height, \".\").concat(spec.asset.format);\n var baseUrl = \"\".concat(cdnUrl, \"/images/\").concat(spec.projectId, \"/\").concat(spec.dataset, \"/\").concat(filename);\n var params = [];\n if (spec.rect) {\n // Only bother url with a crop if it actually crops anything\n var _a = spec.rect, left = _a.left, top_1 = _a.top, width = _a.width, height = _a.height;\n var isEffectiveCrop = left !== 0 || top_1 !== 0 || height !== spec.asset.height || width !== spec.asset.width;\n if (isEffectiveCrop) {\n params.push(\"rect=\".concat(left, \",\").concat(top_1, \",\").concat(width, \",\").concat(height));\n }\n }\n if (spec.bg) {\n params.push(\"bg=\".concat(spec.bg));\n }\n if (spec.focalPoint) {\n params.push(\"fp-x=\".concat(spec.focalPoint.x));\n params.push(\"fp-y=\".concat(spec.focalPoint.y));\n }\n var flip = [spec.flipHorizontal && 'h', spec.flipVertical && 'v'].filter(Boolean).join('');\n if (flip) {\n params.push(\"flip=\".concat(flip));\n }\n // Map from spec name to url param name, and allow using the actual param name as an alternative\n exports.SPEC_NAME_TO_URL_NAME_MAPPINGS.forEach(function (mapping) {\n var specName = mapping[0], param = mapping[1];\n if (typeof spec[specName] !== 'undefined') {\n params.push(\"\".concat(param, \"=\").concat(encodeURIComponent(spec[specName])));\n }\n else if (typeof spec[param] !== 'undefined') {\n params.push(\"\".concat(param, \"=\").concat(encodeURIComponent(spec[param])));\n }\n });\n if (params.length === 0) {\n return baseUrl;\n }\n return \"\".concat(baseUrl, \"?\").concat(params.join('&'));\n}\nfunction fit(source, spec) {\n var cropRect;\n var imgWidth = spec.width;\n var imgHeight = spec.height;\n // If we are not constraining the aspect ratio, we'll just use the whole crop\n if (!(imgWidth && imgHeight)) {\n return { width: imgWidth, height: imgHeight, rect: source.crop };\n }\n var crop = source.crop;\n var hotspot = source.hotspot;\n // If we are here, that means aspect ratio is locked and fitting will be a bit harder\n var desiredAspectRatio = imgWidth / imgHeight;\n var cropAspectRatio = crop.width / crop.height;\n if (cropAspectRatio > desiredAspectRatio) {\n // The crop is wider than the desired aspect ratio. That means we are cutting from the sides\n var height = Math.round(crop.height);\n var width = Math.round(height * desiredAspectRatio);\n var top_2 = Math.max(0, Math.round(crop.top));\n // Center output horizontally over hotspot\n var hotspotXCenter = Math.round((hotspot.right - hotspot.left) / 2 + hotspot.left);\n var left = Math.max(0, Math.round(hotspotXCenter - width / 2));\n // Keep output within crop\n if (left < crop.left) {\n left = crop.left;\n }\n else if (left + width > crop.left + crop.width) {\n left = crop.left + crop.width - width;\n }\n cropRect = { left: left, top: top_2, width: width, height: height };\n }\n else {\n // The crop is taller than the desired ratio, we are cutting from top and bottom\n var width = crop.width;\n var height = Math.round(width / desiredAspectRatio);\n var left = Math.max(0, Math.round(crop.left));\n // Center output vertically over hotspot\n var hotspotYCenter = Math.round((hotspot.bottom - hotspot.top) / 2 + hotspot.top);\n var top_3 = Math.max(0, Math.round(hotspotYCenter - height / 2));\n // Keep output rect within crop\n if (top_3 < crop.top) {\n top_3 = crop.top;\n }\n else if (top_3 + height > crop.top + crop.height) {\n top_3 = crop.top + crop.height - height;\n }\n cropRect = { left: left, top: top_3, width: width, height: height };\n }\n return {\n width: imgWidth,\n height: imgHeight,\n rect: cropRect,\n };\n}\n//# sourceMappingURL=urlForImage.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ImageUrlBuilder = void 0;\nvar urlForImage_1 = __importStar(require(\"./urlForImage\"));\nvar validFits = ['clip', 'crop', 'fill', 'fillmax', 'max', 'scale', 'min'];\nvar validCrops = ['top', 'bottom', 'left', 'right', 'center', 'focalpoint', 'entropy'];\nvar validAutoModes = ['format'];\nfunction isSanityModernClientLike(client) {\n return client && 'config' in client ? typeof client.config === 'function' : false;\n}\nfunction isSanityClientLike(client) {\n return client && 'clientConfig' in client ? typeof client.clientConfig === 'object' : false;\n}\nfunction rewriteSpecName(key) {\n var specs = urlForImage_1.SPEC_NAME_TO_URL_NAME_MAPPINGS;\n for (var _i = 0, specs_1 = specs; _i < specs_1.length; _i++) {\n var entry = specs_1[_i];\n var specName = entry[0], param = entry[1];\n if (key === specName || key === param) {\n return specName;\n }\n }\n return key;\n}\nfunction urlBuilder(options) {\n // Did we get a modernish client?\n if (isSanityModernClientLike(options)) {\n // Inherit config from client\n var _a = options.config(), apiUrl = _a.apiHost, projectId = _a.projectId, dataset = _a.dataset;\n var apiHost = apiUrl || 'https://api.sanity.io';\n return new ImageUrlBuilder(null, {\n baseUrl: apiHost.replace(/^https:\\/\\/api\\./, 'https://cdn.'),\n projectId: projectId,\n dataset: dataset,\n });\n }\n // Did we get a SanityClient?\n var client = options;\n if (isSanityClientLike(client)) {\n // Inherit config from client\n var _b = client.clientConfig, apiUrl = _b.apiHost, projectId = _b.projectId, dataset = _b.dataset;\n var apiHost = apiUrl || 'https://api.sanity.io';\n return new ImageUrlBuilder(null, {\n baseUrl: apiHost.replace(/^https:\\/\\/api\\./, 'https://cdn.'),\n projectId: projectId,\n dataset: dataset,\n });\n }\n // Or just accept the options as given\n return new ImageUrlBuilder(null, options);\n}\nexports.default = urlBuilder;\nvar ImageUrlBuilder = /** @class */ (function () {\n function ImageUrlBuilder(parent, options) {\n this.options = parent\n ? __assign(__assign({}, (parent.options || {})), (options || {})) : __assign({}, (options || {})); // Copy options\n }\n ImageUrlBuilder.prototype.withOptions = function (options) {\n var baseUrl = options.baseUrl || this.options.baseUrl;\n var newOptions = { baseUrl: baseUrl };\n for (var key in options) {\n if (options.hasOwnProperty(key)) {\n var specKey = rewriteSpecName(key);\n newOptions[specKey] = options[key];\n }\n }\n return new ImageUrlBuilder(this, __assign({ baseUrl: baseUrl }, newOptions));\n };\n // The image to be represented. Accepts a Sanity 'image'-document, 'asset'-document or\n // _id of asset. To get the benefit of automatic hot-spot/crop integration with the content\n // studio, the 'image'-document must be provided.\n ImageUrlBuilder.prototype.image = function (source) {\n return this.withOptions({ source: source });\n };\n // Specify the dataset\n ImageUrlBuilder.prototype.dataset = function (dataset) {\n return this.withOptions({ dataset: dataset });\n };\n // Specify the projectId\n ImageUrlBuilder.prototype.projectId = function (projectId) {\n return this.withOptions({ projectId: projectId });\n };\n // Specify background color\n ImageUrlBuilder.prototype.bg = function (bg) {\n return this.withOptions({ bg: bg });\n };\n // Set DPR scaling factor\n ImageUrlBuilder.prototype.dpr = function (dpr) {\n // A DPR of 1 is the default - so only include it if we have a different value\n return this.withOptions(dpr && dpr !== 1 ? { dpr: dpr } : {});\n };\n // Specify the width of the image in pixels\n ImageUrlBuilder.prototype.width = function (width) {\n return this.withOptions({ width: width });\n };\n // Specify the height of the image in pixels\n ImageUrlBuilder.prototype.height = function (height) {\n return this.withOptions({ height: height });\n };\n // Specify focal point in fraction of image dimensions. Each component 0.0-1.0\n ImageUrlBuilder.prototype.focalPoint = function (x, y) {\n return this.withOptions({ focalPoint: { x: x, y: y } });\n };\n ImageUrlBuilder.prototype.maxWidth = function (maxWidth) {\n return this.withOptions({ maxWidth: maxWidth });\n };\n ImageUrlBuilder.prototype.minWidth = function (minWidth) {\n return this.withOptions({ minWidth: minWidth });\n };\n ImageUrlBuilder.prototype.maxHeight = function (maxHeight) {\n return this.withOptions({ maxHeight: maxHeight });\n };\n ImageUrlBuilder.prototype.minHeight = function (minHeight) {\n return this.withOptions({ minHeight: minHeight });\n };\n // Specify width and height in pixels\n ImageUrlBuilder.prototype.size = function (width, height) {\n return this.withOptions({ width: width, height: height });\n };\n // Specify blur between 0 and 100\n ImageUrlBuilder.prototype.blur = function (blur) {\n return this.withOptions({ blur: blur });\n };\n ImageUrlBuilder.prototype.sharpen = function (sharpen) {\n return this.withOptions({ sharpen: sharpen });\n };\n // Specify the desired rectangle of the image\n ImageUrlBuilder.prototype.rect = function (left, top, width, height) {\n return this.withOptions({ rect: { left: left, top: top, width: width, height: height } });\n };\n // Specify the image format of the image. 'jpg', 'pjpg', 'png', 'webp'\n ImageUrlBuilder.prototype.format = function (format) {\n return this.withOptions({ format: format });\n };\n ImageUrlBuilder.prototype.invert = function (invert) {\n return this.withOptions({ invert: invert });\n };\n // Rotation in degrees 0, 90, 180, 270\n ImageUrlBuilder.prototype.orientation = function (orientation) {\n return this.withOptions({ orientation: orientation });\n };\n // Compression quality 0-100\n ImageUrlBuilder.prototype.quality = function (quality) {\n return this.withOptions({ quality: quality });\n };\n // Make it a download link. Parameter is default filename.\n ImageUrlBuilder.prototype.forceDownload = function (download) {\n return this.withOptions({ download: download });\n };\n // Flip image horizontally\n ImageUrlBuilder.prototype.flipHorizontal = function () {\n return this.withOptions({ flipHorizontal: true });\n };\n // Flip image vertically\n ImageUrlBuilder.prototype.flipVertical = function () {\n return this.withOptions({ flipVertical: true });\n };\n // Ignore crop/hotspot from image record, even when present\n ImageUrlBuilder.prototype.ignoreImageParams = function () {\n return this.withOptions({ ignoreImageParams: true });\n };\n ImageUrlBuilder.prototype.fit = function (value) {\n if (validFits.indexOf(value) === -1) {\n throw new Error(\"Invalid fit mode \\\"\".concat(value, \"\\\"\"));\n }\n return this.withOptions({ fit: value });\n };\n ImageUrlBuilder.prototype.crop = function (value) {\n if (validCrops.indexOf(value) === -1) {\n throw new Error(\"Invalid crop mode \\\"\".concat(value, \"\\\"\"));\n }\n return this.withOptions({ crop: value });\n };\n // Saturation\n ImageUrlBuilder.prototype.saturation = function (saturation) {\n return this.withOptions({ saturation: saturation });\n };\n ImageUrlBuilder.prototype.auto = function (value) {\n if (validAutoModes.indexOf(value) === -1) {\n throw new Error(\"Invalid auto mode \\\"\".concat(value, \"\\\"\"));\n }\n return this.withOptions({ auto: value });\n };\n // Specify the number of pixels to pad the image\n ImageUrlBuilder.prototype.pad = function (pad) {\n return this.withOptions({ pad: pad });\n };\n // Gets the url based on the submitted parameters\n ImageUrlBuilder.prototype.url = function () {\n return (0, urlForImage_1.default)(this.options);\n };\n // Alias for url()\n ImageUrlBuilder.prototype.toString = function () {\n return this.url();\n };\n return ImageUrlBuilder;\n}());\nexports.ImageUrlBuilder = ImageUrlBuilder;\n//# sourceMappingURL=builder.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nvar builder_1 = __importDefault(require(\"./builder\"));\nmodule.exports = builder_1.default;\n//# sourceMappingURL=index.js.map","import createImageUrlBuilder from '@sanity/image-url'\nimport {useMemo} from 'react'\nimport type {ImageUrlBuilder, SourceClientOptions} from 'sanity'\nimport {useClient} from 'sanity'\n\nexport function useImageUrlBuilder(\n clientOptions?: SourceClientOptions\n): ImageUrlBuilder | null {\n const client = useClient(clientOptions)\n const builder = useMemo(() => createImageUrlBuilder(client), [client])\n\n return builder\n}\n","import type {SanityImageSource} from '@sanity/asset-utils'\nimport {useMemo} from 'react'\nimport type {ImageUrlBuilder, SourceClientOptions} from 'sanity'\n\nimport {useImageUrlBuilder} from './useImageUrlBuilder'\n\nexport function useImageUrlBuilderImage(\n source: SanityImageSource,\n clientOptions?: SourceClientOptions\n): ImageUrlBuilder | null {\n const builder = useImageUrlBuilder(clientOptions)\n const image = useMemo(\n () => (source && builder ? builder.image(source) : null),\n [builder, source]\n )\n\n return image\n}\n","import {useEffect, useMemo, useRef, useState} from 'react'\nimport isEqual from 'react-fast-compare'\nimport {Subscription} from 'rxjs'\nimport {catchError, distinctUntilChanged} from 'rxjs/operators'\nimport {ListenQueryOptions, ListenQueryParams, useDocumentStore} from 'sanity'\n\ntype Value = unknown\n\ninterface Config<V> {\n params?: ListenQueryParams\n options?: ListenQueryOptions\n initialValue?: null | V\n}\n\n// make generic optional\ninterface Return<V = Value> {\n loading: boolean\n error: boolean | unknown | ProgressEvent\n data: unknown | V\n initialValue?: Value\n}\n\nconst DEFAULT_PARAMS = {}\nconst DEFAULT_OPTIONS = {apiVersion: `v2023-05-01`}\nconst DEFAULT_INITIAL_VALUE = null\n\nfunction useParams(\n params?: undefined | null | ListenQueryParams | ListenQueryOptions\n): ListenQueryParams {\n const stringifiedParams = useMemo(\n () => JSON.stringify(params || {}),\n [params]\n )\n return useMemo(() => JSON.parse(stringifiedParams), [stringifiedParams])\n}\n\nexport function useListeningQuery<V>(\n query: string | {fetch: string; listen: string},\n {\n params = DEFAULT_PARAMS,\n options = DEFAULT_OPTIONS,\n initialValue = DEFAULT_INITIAL_VALUE,\n }: Config<V>\n): Return<V> {\n const [loading, setLoading] = useState<Return['loading']>(true)\n const [error, setError] = useState<Return['error']>(false)\n const [data, setData] = useState<Return['data']>(initialValue)\n const memoParams = useParams(params)\n const memoOptions = useParams(options)\n\n const subscription = useRef<null | Subscription>(null)\n const documentStore = useDocumentStore()\n\n useEffect(() => {\n if (query && !error && !subscription.current) {\n try {\n subscription.current = documentStore\n .listenQuery(query, memoParams, memoOptions)\n .pipe(\n distinctUntilChanged(isEqual),\n catchError((err) => {\n console.error(err)\n setError(err)\n setLoading(false)\n setData(null)\n\n return err\n })\n )\n .subscribe((documents) => {\n setData((current: Value) =>\n isEqual(current, documents) ? current : documents\n )\n setLoading(false)\n setError(false)\n })\n } catch (err) {\n console.error(err)\n setLoading(false)\n setError(err)\n }\n }\n\n // Unsubscribe when an error occurs\n if (error && subscription.current) {\n subscription.current.unsubscribe()\n }\n\n return () => {\n if (subscription.current) {\n subscription?.current?.unsubscribe()\n subscription.current = null\n }\n }\n }, [query, error, memoParams, memoOptions, documentStore])\n\n return {data, loading, error}\n}\n","import {useEffect, useState} from 'react'\nimport {useClient, useWorkspace} from 'sanity'\n\nexport type UserExtended = {\n createdAt: string\n displayName: string\n email: string\n familyName: string\n givenName: string\n id: string\n imageUrl: string\n isCurrentUser: boolean\n middleName: string\n projectId: string\n provider: string\n sanityUserId: string\n updatedAt: string\n}\n\ntype UserRole = {\n name: string\n title: string\n}\n\ntype UserResponse = {\n isRobot: boolean\n projectUserId: string\n roles: UserRole[]\n}\n\ntype HookConfig = {\n apiVersion?: string\n}\n\nfunction chunkArray<T>(array: T[], size: number): T[][] {\n const chunks: T[][] = []\n for (let i = 0; i < array.length; i += size) {\n chunks.push(array.slice(i, i + size))\n }\n return chunks\n}\n\n// Custom hook to fetch user details and roles in batches\nexport function useProjectUsers({apiVersion}: HookConfig): UserExtended[] {\n const {currentUser} = useWorkspace()\n const client = useClient({apiVersion: apiVersion ?? '2023-01-01'})\n const [users, setUsers] = useState<UserExtended[]>([])\n\n useEffect(() => {\n const {projectId} = client.config()\n\n async function getUsersWithRoles() {\n try {\n const aclData = await client.request({\n url: `/projects/${projectId}/acl`,\n })\n\n const userIds = aclData.map((user: UserResponse) => user.projectUserId)\n\n const userIdChunks = chunkArray(userIds, 200)\n\n let usersData: UserExtended[] = []\n\n // Fetch users in batches of 200\n for (const chunk of userIdChunks) {\n const chunkedUserIds = chunk.join(',')\n const response = await client.request({\n url: `/projects/${projectId}/users/${chunkedUserIds}`,\n })\n usersData = [...usersData, ...response]\n }\n\n // Combine user details with roles\n const usersWithRoles = usersData.map((user: UserExtended) => {\n const userRoles =\n aclData.find(\n (aclUser: UserResponse) => aclUser.projectUserId === user.id\n )?.roles || []\n\n return {\n ...user,\n isCurrentUser: user.id === currentUser?.id,\n roles: userRoles,\n }\n })\n\n setUsers(usersWithRoles)\n } catch (err) {\n console.error('Failed to fetch users:', err)\n }\n }\n\n if (!users.length) {\n getUsersWithRoles()\n }\n }, [client, currentUser?.id, users.length])\n\n return users\n}\n","import React from 'react'\nimport {usePaneRouter} from 'sanity/structure'\nimport {RouterContext} from 'sanity/router'\n\nexport function useOpenInNewPane(id?: string, type?: string) {\n const routerContext = React.useContext(RouterContext)\n const {routerPanesState, groupIndex} = usePaneRouter()\n\n const openInNewPane = React.useCallback(() => {\n if (!routerContext || !id || !type) {\n return\n }\n\n const panes = [...routerPanesState]\n panes.splice(groupIndex + 1, 0, [\n {\n id: id,\n params: {type},\n },\n ])\n\n const href = routerContext.resolvePathFromState({panes})\n routerContext.navigateUrl({path: href})\n }, [id, type, routerContext, routerPanesState, groupIndex])\n\n return openInNewPane\n}\n","import {Box, Card, CardTone, Flex, Stack, Text} from '@sanity/ui'\nimport React from 'react'\n\ntype FeedbackChildren = {\n children?: React.ReactNode\n title?: never\n description?: never\n}\n\ntype FeedbackTextProps = {\n title?: string\n description?: React.ReactNode\n children?: never\n}\n\ntype FeedbackProps = (FeedbackChildren | FeedbackTextProps) & {\n tone?: CardTone\n icon?: React.ReactNode\n}\n\nconst DEFAULT_PROPS: FeedbackProps = {\n tone: 'primary',\n}\n\nexport function Feedback(props: FeedbackProps) {\n const {title, description, icon, tone, children} = {\n ...DEFAULT_PROPS,\n ...props,\n }\n\n return (\n <Card tone={tone} padding={4} radius={3} border>\n <Flex>\n {icon ? `display icon` : null}\n {children ? (\n children\n ) : (\n <Box flex={1}>\n <Stack space={4}>\n {title ? <Text weight=\"semibold\">{title}</Text> : null}\n {description ? <Text size={2}>{description}</Text> : null}\n </Stack>\n </Box>\n )}\n </Flex>\n </Card>\n )\n}\n","import {PropsWithChildren} from 'react'\nimport styled, {css} from 'styled-components'\nimport {Card, CardProps} from '@sanity/ui'\n\n// Wrappers required because of bug with passing down \"as\" prop\n// https://github.com/styled-components/styled-components/issues/2449\n\n// Table\nconst TableWrapper = (props: CardProps = {}) => {\n return <Card as=\"table\" {...props} />\n}\n\nconst StyledTable = styled(TableWrapper)(\n () => css`\n display: table;\n width: 100%;\n border-collapse: collapse;\n\n &:not([hidden]) {\n display: table;\n border-collapse: collapse;\n }\n `\n)\n\ntype TableProps = PropsWithChildren<CardProps>\n\nexport function Table(props: TableProps) {\n const {children, ...rest} = props\n\n return <StyledTable {...rest}>{children}</StyledTable>\n}\n\n// Row\nconst RowWrapper = (props: CardProps = {}) => {\n return <Card as=\"tr\" {...props} />\n}\n\nconst StyledRow = styled(RowWrapper)(\n () => css`\n display: table-row;\n\n &:not([hidden]) {\n display: table-row;\n }\n `\n)\n\ntype TableRowProps = PropsWithChildren<CardProps>\n\nexport function Row(props: TableRowProps) {\n const {children, ...rest} = props\n\n return <StyledRow {...rest}>{children}</StyledRow>\n}\n\n// Cell\nconst CellWrapper = (props = {}) => {\n return <Card as=\"td\" {...props} />\n}\n\nconst StyledCell = styled(CellWrapper)(\n () => css`\n display: table-cell;\n\n &:not([hidden]) {\n display: table-cell;\n }\n `\n)\n\ntype TableCellProps = PropsWithChildren<\n CardProps & {\n colSpan?: number\n rowSpan?: number\n }\n>\n\nexport function Cell(props: TableCellProps) {\n const {children, ...rest} = props\n\n return <StyledCell {...rest}>{children}</StyledCell>\n}\n","import React, {useRef} from 'react'\nimport {Box, Text, Menu, MenuItem, TextInput, Flex, Badge} from '@sanity/ui'\nimport {AddCircleIcon, RemoveCircleIcon, RestoreIcon} from '@sanity/icons'\nimport {UserAvatar} from 'sanity'\n\nimport {UserExtended} from '../../hooks/useProjectUsers'\n\nfunction searchUsers(\n users: UserExtended[],\n searchString: string\n): UserExtended[] {\n return users.filter((user) => {\n const displayName = (user.displayName || '').toLowerCase()\n if (displayName.startsWith(searchString)) return true\n const givenName = (user.givenName || '').toLowerCase()\n if (givenName.startsWith(searchString)) return true\n const middleName = (user.middleName || '').toLowerCase()\n if (middleName.startsWith(searchString)) return true\n const familyName = (user.familyName || '').toLowerCase()\n if (familyName.startsWith(searchString)) return true\n\n return false\n })\n}\n\ntype Labels = {\n addMe?: string\n removeMe?: string\n clear?: string\n searchPlaceholder?: string\n notFound?: string\n}\n\ntype UserSelectMenuProps = {\n value: string[]\n userList: UserExtended[]\n onAdd: (userId: string) => void\n onRemove: (userId: string) => void\n onClear: () => void\n labels?: Labels\n style?: React.CSSProperties\n}\n\nconst LABELS: Labels = {\n addMe: 'Assign myself',\n removeMe: 'Unassign myself',\n clear: 'Clear assignees',\n searchPlaceholder: 'Search users',\n notFound: 'No users found',\n}\n\nexport function UserSelectMenu(props: UserSelectMenuProps) {\n const {\n value = [],\n userList = [],\n onAdd,\n onRemove,\n onClear,\n style = {},\n } = props\n const labels = props?.labels ? {...LABELS, ...props.labels} : LABELS\n\n const [searchString, setSearchString] = React.useState('')\n const searchResults = searchUsers(userList || [], searchString)\n\n const me = userList.find((u) => u.isCurrentUser)\n const meAssigned = me && value.includes(me.id)\n\n // Focus input on open\n // TODO: Fix focus, it gets immediately taken away\n const input = useRef<HTMLInputElement>(null)\n // useEffect(() => {\n // if (open && input?.current) {\n // input.current.focus()\n // }\n // }, [open])\n\n const handleSearchChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n setSearchString(event.target.value)\n }\n\n const handleSelect = (isChecked: boolean, user: UserExtended) => {\n if (!isChecked) {\n if (onAdd) onAdd(user.id)\n } else if (onRemove) onRemove(user.id)\n }\n\n const handleAssignMyself = () => {\n if (me && onAdd) onAdd(me.id)\n }\n\n const handleUnassignMyself = () => {\n if (me && onRemove) onRemove(me.id)\n }\n\n const handleClearAssigneesClick = () => {\n if (onClear) onClear()\n }\n\n return (\n <Menu style={style}>\n {meAssigned ? (\n <MenuItem\n tone=\"caution\"\n disabled={!me}\n onClick={handleUnassignMyself}\n icon={RemoveCircleIcon}\n text={labels.removeMe}\n />\n ) : (\n <MenuItem\n tone=\"positive\"\n onClick={handleAssignMyself}\n icon={AddCircleIcon}\n text={labels.addMe}\n />\n )}\n\n <MenuItem\n tone=\"critical\"\n disabled={value.length === 0}\n onClick={handleClearAssigneesClick}\n icon={RestoreIcon}\n text={labels.clear}\n />\n\n <Box padding={1}>\n <TextInput\n ref={input}\n onChange={handleSearchChange}\n placeholder={labels.searchPlaceholder}\n value={searchString}\n />\n </Box>\n\n {searchString && searchResults?.length === 0 && (\n <MenuItem disabled text={labels.notFound} />\n )}\n\n {searchResults &&\n searchResults.map((user) => (\n <MenuItem\n key={user.id}\n pressed={value.includes(user.id)}\n onClick={() => handleSelect(value.indexOf(user.id) > -1, user)}\n >\n <Flex align=\"center\">\n <UserAvatar user={user} size={1} />\n <Box paddingX={2} flex={1}>\n <Text>{user.displayName}</Text>\n </Box>\n {user.isCurrentUser && (\n <Badge fontSize={1} tone=\"positive\" mode=\"outline\">\n Me\n </Badge>\n )}\n </Flex>\n </MenuItem>\n ))}\n </Menu>\n )\n}\n"],"names":["Object","defineProperty","parseAssetId_1","value","example","parseAssetId","ref","_a","split","id","dimensionString","format","Error","concat","_b","imgWidthStr","imgHeightStr","width","height","isValidAssetId","isFinite","default","__assign","this","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","parseSource_1","isRef","src","source","_ref","isAsset","_id","isAssetStub","asset","url","parseSource","image","isUrl","urlToId","img","crop","hotspot","applyDefaults","test","parts","slice","replace","result","left","top","bottom","right","x","y","__importDefault","mod","__esModule","exports","SPEC_NAME_TO_URL_NAME_MAPPINGS","require$$0","require$$1","urlForImage","options","spec","JSON","stringify","cropLeft","Math","round","cropTop","hotSpotVerticalRadius","hotSpotHorizontalRadius","hotSpotCenterX","hotSpotCenterY","rect","focalPoint","ignoreImageParams","fit","specToImageUrl","cdnUrl","baseUrl","filename","projectId","dataset","params","top_1","isEffectiveCrop","push","bg","flip","flipHorizontal","flipVertical","filter","Boolean","join","forEach","mapping","specName","param","encodeURIComponent","cropRect","imgWidth","imgHeight","desiredAspectRatio","cropAspectRatio","top_2","max","hotspotXCenter","hotspotYCenter","top_3","__createBinding","create","o","m","k","k2","undefined","enumerable","get","__setModuleDefault","v","__importStar","builder","ImageUrlBuilder","urlForImage_1","validFits","validCrops","validAutoModes","isSanityModernClientLike","client","config","isSanityClientLike","clientConfig","rewriteSpecName","key","specs","_i","specs_1","entry","urlBuilder","apiUrl","apiHost","parent","withOptions","newOptions","specKey","dpr","maxWidth","minWidth","maxHeight","minHeight","size","blur","sharpen","invert","orientation","quality","forceDownload","download","indexOf","saturation","auto","pad","toString","builder_1","node","useImageUrlBuilder","clientOptions","useClient","useMemo","createImageUrlBuilder","useImageUrlBuilderImage","DEFAULT_PARAMS","DEFAULT_OPTIONS","apiVersion","DEFAULT_INITIAL_VALUE","useParams","stringifiedParams","parse","useListeningQuery","query","initialValue","loading","setLoading","useState","error","setError","data","setData","memoParams","memoOptions","subscription","useRef","documentStore","useDocumentStore","useEffect","current","listenQuery","pipe","distinctUntilChanged","isEqual","catchError","err","console","subscribe","documents","unsubscribe","chunkArray","array","chunks","useProjectUsers","_ref2","currentUser","useWorkspace","users","setUsers","getUsersWithRoles","aclData","request","userIds","map","user","projectUserId","userIdChunks","usersData","chunk","chunkedUserIds","response","usersWithRoles","userRoles","find","aclUser","roles","isCurrentUser","useOpenInNewPane","type","routerContext","React","useContext","RouterContext","routerPanesState","groupIndex","usePaneRouter","openInNewPane","useCallback","panes","splice","href","resolvePathFromState","navigateUrl","path","DEFAULT_PROPS","tone","Feedback","props","title","description","icon","children","jsx","Card","padding","radius","border","jsxs","Flex","Box","flex","Stack","space","Text","weight","_c","TableWrapper","as","StyledTable","styled","css","__template","Table","rest","RowWrapper","StyledRow","Row","CellWrapper","StyledCell","Cell","searchUsers","searchString","displayName","toLowerCase","startsWith","givenName","middleName","familyName","LABELS","addMe","removeMe","clear","searchPlaceholder","notFound","UserSelectMenu","userList","onAdd","onRemove","onClear","style","labels","setSearchString","searchResults","me","u","meAssigned","includes","input","handleSearchChange","event","target","handleSelect","isChecked","handleAssignMyself","handleUnassignMyself","handleClearAssigneesClick","Menu","MenuItem","disabled","onClick","RemoveCircleIcon","text","AddCircleIcon","RestoreIcon","TextInput","onChange","placeholder","pressed","align","UserAvatar","paddingX","Badge","fontSize","mode"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACAA,MAAM,CAACC,cAAc,CAACC,cAAO,EAAE,YAAY,EAAE;EAAEC,KAAK,EAAE;AAAI,CAAE,CAAC;AAC7D,IAAIC,OAAO,GAAG,8CAA8C;AAC5D,SAASC,YAAYA,CAACC,GAAG,EAAE;EACvB,IAAIC,EAAE,GAAGD,GAAG,CAACE,KAAK,CAAC,GAAG,CAAC;IAAEC,EAAE,GAAGF,EAAE,CAAC,CAAC,CAAC;IAAEG,eAAe,GAAGH,EAAE,CAAC,CAAC,CAAC;IAAEI,MAAM,GAAGJ,EAAE,CAAC,CAAC,CAAC;EAC5E,IAAI,CAACE,EAAE,IAAI,CAACC,eAAe,IAAI,CAACC,MAAM,EAAE;IACpC,MAAM,IAAIC,KAAK,CAAC,wBAAwB,CAACC,MAAM,CAACP,GAAG,EAAE,2BAA2B,CAAC,CAACO,MAAM,CAACT,OAAO,EAAE,KAAK,CAAC,CAAC;EAC5G;EACD,IAAIU,EAAE,GAAGJ,eAAe,CAACF,KAAK,CAAC,GAAG,CAAC;IAAEO,WAAW,GAAGD,EAAE,CAAC,CAAC,CAAC;IAAEE,YAAY,GAAGF,EAAE,CAAC,CAAC,CAAC;EAC9E,IAAIG,KAAK,GAAG,CAACF,WAAW;EACxB,IAAIG,MAAM,GAAG,CAACF,YAAY;EAC1B,IAAIG,cAAc,GAAGC,QAAQ,CAACH,KAAK,CAAC,IAAIG,QAAQ,CAACF,MAAM,CAAC;EACxD,IAAI,CAACC,cAAc,EAAE;IACjB,MAAM,IAAIP,KAAK,CAAC,wBAAwB,CAACC,MAAM,CAACP,GAAG,EAAE,2BAA2B,CAAC,CAACO,MAAM,CAACT,OAAO,EAAE,KAAK,CAAC,CAAC;EAC5G;EACD,OAAO;IAAEK,EAAE,EAAEA,EAAE;IAAEQ,KAAK,EAAEA,KAAK;IAAEC,MAAM,EAAEA,MAAM;IAAEP,MAAM,EAAEA;GAAQ;AACnE;AACeT,cAAA,CAAAmB,OAAA,GAAGhB,YAAA;;AChBlB,IAAIiB,UAAQ,GAAIC,cAAI,IAAIA,cAAI,CAACD,QAAQ,IAAK,YAAY;EAClDA,UAAQ,GAAGtB,MAAM,CAACwB,MAAM,IAAI,UAASC,CAAC,EAAE;IACpC,KAAK,IAAIC,CAAC,EAAEC,CAAC,GAAG,CAAC,EAAEC,CAAC,GAAGC,SAAS,CAACC,MAAM,EAAEH,CAAC,GAAGC,CAAC,EAAED,CAAC,EAAE,EAAE;MACjDD,CAAC,GAAGG,SAAS,CAACF,CAAC,CAAC;MAChB,KAAK,IAAII,CAAC,IAAIL,CAAC,EAAE,IAAI1B,MAAM,CAACgC,SAAS,CAACC,cAAc,CAACC,IAAI,CAACR,CAAC,EAAEK,CAAC,CAAC,EAC3DN,CAAC,CAACM,CAAC,CAAC,GAAGL,CAAC,CAACK,CAAC,CAAC;IAClB;IACD,OAAON,CAAC;EAChB,CAAK;EACD,OAAOH,UAAQ,CAACa,KAAK,CAAC,IAAI,EAAEN,SAAS,CAAC;AAC1C,CAAC;AACD7B,MAAM,CAACC,cAAc,CAACmC,aAAO,EAAE,YAAY,EAAE;EAAEjC,KAAK,EAAE;AAAI,CAAE,CAAC;AAC7D,IAAIkC,KAAK,GAAG,SAAAA,CAAUC,GAAG,EAAE;EACvB,IAAIC,MAAM,GAAGD,GAAG;EAChB,OAAOC,MAAM,GAAG,OAAOA,MAAM,CAACC,IAAI,KAAK,QAAQ,GAAG,KAAK;AAC3D,CAAC;AACD,IAAIC,OAAO,GAAG,SAAAA,CAAUH,GAAG,EAAE;EACzB,IAAIC,MAAM,GAAGD,GAAG;EAChB,OAAOC,MAAM,GAAG,OAAOA,MAAM,CAACG,GAAG,KAAK,QAAQ,GAAG,KAAK;AAC1D,CAAC;AACD,IAAIC,WAAW,GAAG,SAAAA,CAAUL,GAAG,EAAE;EAC7B,IAAIC,MAAM,GAAGD,GAAG;EAChB,OAAOC,MAAM,IAAIA,MAAM,CAACK,KAAK,GAAG,OAAOL,MAAM,CAACK,KAAK,CAACC,GAAG,KAAK,QAAQ,GAAG,KAAK;AAChF,CAAC;AACD;AACA;AACA,SAASC,WAAWA,CAACP,MAAM,EAAE;EACzB,IAAI,CAACA,MAAM,EAAE;IACT,OAAO,IAAI;EACd;EACD,IAAIQ,KAAK;EACT,IAAI,OAAOR,MAAM,KAAK,QAAQ,IAAIS,KAAK,CAACT,MAAM,CAAC,EAAE;IACrD;IACQQ,KAAK,GAAG;MACJH,KAAK,EAAE;QAAEJ,IAAI,EAAES,OAAO,CAACV,MAAM;MAAG;IAC5C,CAAS;EACJ,CAAA,MACI,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;IACzC;IACQQ,KAAK,GAAG;MACJH,KAAK,EAAE;QAAEJ,IAAI,EAAED;MAAQ;IACnC,CAAS;EACJ,CAAA,MACI,IAAIF,KAAK,CAACE,MAAM,CAAC,EAAE;IAC5B;IACQQ,KAAK,GAAG;MACJH,KAAK,EAAEL;IACnB,CAAS;EACJ,CAAA,MACI,IAAIE,OAAO,CAACF,MAAM,CAAC,EAAE;IAC9B;IACQQ,KAAK,GAAG;MACJH,KAAK,EAAE;QACHJ,IAAI,EAAED,MAAM,CAACG,GAAG,IAAI;MACvB;IACb,CAAS;EACJ,CAAA,MACI,IAAIC,WAAW,CAACJ,MAAM,CAAC,EAAE;IAClC;IACQQ,KAAK,GAAG;MACJH,KAAK,EAAE;QACHJ,IAAI,EAAES,OAAO,CAACV,MAAM,CAACK,KAAK,CAACC,GAAG;MACjC;IACb,CAAS;EACJ,CAAA,MACI,IAAI,OAAON,MAAM,CAACK,KAAK,KAAK,QAAQ,EAAE;IAC/C;IACQG,KAAK,GAAGzB,UAAQ,CAAC,EAAE,EAAEiB,MAAM,CAAC;EAC/B,CAAA,MACI;IACT;IACA;IACQ,OAAO,IAAI;EACd;EACD,IAAIW,GAAG,GAAGX,MAAM;EAChB,IAAIW,GAAG,CAACC,IAAI,EAAE;IACVJ,KAAK,CAACI,IAAI,GAAGD,GAAG,CAACC,IAAI;EACxB;EACD,IAAID,GAAG,CAACE,OAAO,EAAE;IACbL,KAAK,CAACK,OAAO,GAAGF,GAAG,CAACE,OAAO;EAC9B;EACD,OAAOC,aAAa,CAACN,KAAK,CAAC;AAC/B;AACeX,aAAA,CAAAf,OAAA,GAAGyB,WAAY;AAC9B,SAASE,KAAKA,CAACH,GAAG,EAAE;EAChB,OAAO,cAAc,CAACS,IAAI,CAAC,EAAE,CAACzC,MAAM,CAACgC,GAAG,CAAC,CAAC;AAC9C;AACA,SAASI,OAAOA,CAACJ,GAAG,EAAE;EAClB,IAAIU,KAAK,GAAGV,GAAG,CAACrC,KAAK,CAAC,GAAG,CAAC,CAACgD,KAAK,CAAC,CAAC,CAAC,CAAC;EACpC,OAAO,QAAQ,CAAC3C,MAAM,CAAC0C,KAAK,CAAC,CAAC,CAAC,CAAC,CAACE,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC;AAClE;AACA;AACA,SAASJ,aAAaA,CAACN,KAAK,EAAE;EAC1B,IAAIA,KAAK,CAACI,IAAI,IAAIJ,KAAK,CAACK,OAAO,EAAE;IAC7B,OAAOL,KAAK;EACf;EACL;EACI,IAAIW,MAAM,GAAGpC,UAAQ,CAAC,CAAE,CAAA,EAAEyB,KAAK,CAAC;EAChC,IAAI,CAACW,MAAM,CAACP,IAAI,EAAE;IACdO,MAAM,CAACP,IAAI,GAAG;MACVQ,IAAI,EAAE,CAAC;MACPC,GAAG,EAAE,CAAC;MACNC,MAAM,EAAE,CAAC;MACTC,KAAK,EAAE;IACnB,CAAS;EACJ;EACD,IAAI,CAACJ,MAAM,CAACN,OAAO,EAAE;IACjBM,MAAM,CAACN,OAAO,GAAG;MACbW,CAAC,EAAE,GAAG;MACNC,CAAC,EAAE,GAAG;MACN9C,MAAM,EAAE,GAAG;MACXD,KAAK,EAAE;IACnB,CAAS;EACJ;EACD,OAAOyC,MAAM;AACjB;;ECnHA,IAAIpC,QAAQ,GAAIC,cAAI,IAAIA,cAAI,CAACD,QAAQ,IAAK,YAAY;IAClDA,QAAQ,GAAGtB,MAAM,CAACwB,MAAM,IAAI,UAASC,CAAC,EAAE;MACpC,KAAK,IAAIC,CAAC,EAAEC,CAAC,GAAG,CAAC,EAAEC,CAAC,GAAGC,SAAS,CAACC,MAAM,EAAEH,CAAC,GAAGC,CAAC,EAAED,CAAC,EAAE,EAAE;QACjDD,CAAC,GAAGG,SAAS,CAACF,CAAC,CAAC;QAChB,KAAK,IAAII,CAAC,IAAIL,CAAC,EAAE,IAAI1B,MAAM,CAACgC,SAAS,CAACC,cAAc,CAACC,IAAI,CAACR,CAAC,EAAEK,CAAC,CAAC,EAC3DN,CAAC,CAACM,CAAC,CAAC,GAAGL,CAAC,CAACK,CAAC,CAAC;MAClB;MACD,OAAON,CAAC;IAChB,CAAK;IACD,OAAOH,QAAQ,CAACa,KAAK,CAAC,IAAI,EAAEN,SAAS,CAAC;EAC1C,CAAC;EACD,IAAIoC,eAAe,GAAI1C,cAAI,IAAIA,cAAI,CAAC0C,eAAe,IAAK,UAAUC,GAAG,EAAE;IACnE,OAAQA,GAAG,IAAIA,GAAG,CAACC,UAAU,GAAID,GAAG,GAAG;MAAE,SAAS,EAAEA;KAAK;EAC7D,CAAC;EACDlE,MAAM,CAACC,cAAc,CAAAmE,OAAA,EAAU,YAAY,EAAE;IAAEjE,KAAK,EAAE;EAAI,CAAE,CAAC;EAC7DiE,OAAsB,CAAAtB,WAAA,GAAAsB,OAAA,CAAAC,8BAAA,GAAyC,KAAK,CAAC;EACrE,IAAInE,cAAc,GAAG+D,eAAe,CAACK,cAAyB,CAAC;EAC/D,IAAIlC,aAAa,GAAG6B,eAAe,CAACM,aAAwB,CAAC;EAC7DH,OAAsB,CAAAtB,WAAA,GAAAV,aAAa,CAACf,OAAO;EAC3C+C,OAAyC,CAAAC,8BAAA,GAAA,CACrC,CAAC,OAAO,EAAE,GAAG,CAAC,EACd,CAAC,QAAQ,EAAE,GAAG,CAAC,EACf,CAAC,QAAQ,EAAE,IAAI,CAAC,EAChB,CAAC,UAAU,EAAE,IAAI,CAAC,EAClB,CAAC,MAAM,EAAE,MAAM,CAAC,EAChB,CAAC,SAAS,EAAE,OAAO,CAAC,EACpB,CAAC,QAAQ,EAAE,QAAQ,CAAC,EACpB,CAAC,aAAa,EAAE,IAAI,CAAC,EACrB,CAAC,WAAW,EAAE,OAAO,CAAC,EACtB,CAAC,WAAW,EAAE,OAAO,CAAC,EACtB,CAAC,UAAU,EAAE,OAAO,CAAC,EACrB,CAAC,UAAU,EAAE,OAAO,CAAC,EACrB,CAAC,SAAS,EAAE,GAAG,CAAC,EAChB,CAAC,KAAK,EAAE,KAAK,CAAC,EACd,CAAC,MAAM,EAAE,MAAM,CAAC,EAChB,CAAC,YAAY,EAAE,KAAK,CAAC,EACrB,CAAC,MAAM,EAAE,MAAM,CAAC,EAChB,CAAC,KAAK,EAAE,KAAK,CAAC,EACd,CAAC,KAAK,EAAE,KAAK,CAAC,CACjB;EACD,SAASG,WAAWA,CAACC,OAAO,EAAE;IAC1B,IAAIC,IAAI,GAAGpD,QAAQ,CAAC,CAAE,CAAA,EAAGmD,OAAO,IAAI,CAAE,CAAA,CAAE;IACxC,IAAIlC,MAAM,GAAGmC,IAAI,CAACnC,MAAM;IACxB,OAAOmC,IAAI,CAACnC,MAAM;IAClB,IAAIQ,KAAK,GAAG,CAAI,CAAA,EAAAX,aAAa,CAACf,OAAO,EAAEkB,MAAM,CAAC;IAC9C,IAAI,CAACQ,KAAK,EAAE;MACR,MAAM,IAAInC,KAAK,CAAC,2CAA2C,CAACC,MAAM,CAAC8D,IAAI,CAACC,SAAS,CAACrC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;IACnG;IACD,IAAI9B,EAAE,GAAGsC,KAAK,CAACH,KAAK,CAACJ,IAAI,IAAIO,KAAK,CAACH,KAAK,CAACF,GAAG,IAAI,EAAE;IAClD,IAAIE,KAAK,GAAG,CAAI,CAAA,EAAA1C,cAAc,CAACmB,OAAO,EAAEZ,EAAE,CAAC;IAC/C;IACI,IAAIoE,QAAQ,GAAGC,IAAI,CAACC,KAAK,CAAChC,KAAK,CAACI,IAAI,CAACQ,IAAI,GAAGf,KAAK,CAAC3B,KAAK,CAAC;IACxD,IAAI+D,OAAO,GAAGF,IAAI,CAACC,KAAK,CAAChC,KAAK,CAACI,IAAI,CAACS,GAAG,GAAGhB,KAAK,CAAC1B,MAAM,CAAC;IACvD,IAAIiC,IAAI,GAAG;MACPQ,IAAI,EAAEkB,QAAQ;MACdjB,GAAG,EAAEoB,OAAO;MACZ/D,KAAK,EAAE6D,IAAI,CAACC,KAAK,CAACnC,KAAK,CAAC3B,KAAK,GAAG8B,KAAK,CAACI,IAAI,CAACW,KAAK,GAAGlB,KAAK,CAAC3B,KAAK,GAAG4D,QAAQ,CAAC;MAC1E3D,MAAM,EAAE4D,IAAI,CAACC,KAAK,CAACnC,KAAK,CAAC1B,MAAM,GAAG6B,KAAK,CAACI,IAAI,CAACU,MAAM,GAAGjB,KAAK,CAAC1B,MAAM,GAAG8D,OAAO;IACpF,CAAK;IACL;IACI,IAAIC,qBAAqB,GAAIlC,KAAK,CAACK,OAAO,CAAClC,MAAM,GAAG0B,KAAK,CAAC1B,MAAM,GAAI,CAAC;IACrE,IAAIgE,uBAAuB,GAAInC,KAAK,CAACK,OAAO,CAACnC,KAAK,GAAG2B,KAAK,CAAC3B,KAAK,GAAI,CAAC;IACrE,IAAIkE,cAAc,GAAGpC,KAAK,CAACK,OAAO,CAACW,CAAC,GAAGnB,KAAK,CAAC3B,KAAK;IAClD,IAAImE,cAAc,GAAGrC,KAAK,CAACK,OAAO,CAACY,CAAC,GAAGpB,KAAK,CAAC1B,MAAM;IACnD,IAAIkC,OAAO,GAAG;MACVO,IAAI,EAAEwB,cAAc,GAAGD,uBAAuB;MAC9CtB,GAAG,EAAEwB,cAAc,GAAGH,qBAAqB;MAC3CnB,KAAK,EAAEqB,cAAc,GAAGD,uBAAuB;MAC/CrB,MAAM,EAAEuB,cAAc,GAAGH;IACjC,CAAK;IACL;IACA;IACI,IAAI,EAAEP,IAAI,CAACW,IAAI,IAAIX,IAAI,CAACY,UAAU,IAAIZ,IAAI,CAACa,iBAAiB,IAAIb,IAAI,CAACvB,IAAI,CAAC,EAAE;MACxEuB,IAAI,GAAGpD,QAAQ,CAACA,QAAQ,CAAC,CAAA,CAAE,EAAEoD,IAAI,CAAC,EAAEc,GAAG,CAAC;QAAErC,IAAI,EAAEA,IAAI;QAAEC,OAAO,EAAEA;MAAO,CAAE,EAAEsB,IAAI,CAAC,CAAC;IACnF;IACD,OAAOe,cAAc,CAACnE,QAAQ,CAACA,QAAQ,CAAC,CAAE,CAAA,EAAEoD,IAAI,CAAC,EAAE;MAAE9B,KAAK,EAAEA;IAAO,CAAA,CAAC,CAAC;EACxE;EACDwB,OAAA,CAAA/C,OAAA,GAAkBmD,WAAW;EAC7B;EACA,SAASiB,cAAcA,CAACf,IAAI,EAAE;IAC1B,IAAIgB,MAAM,GAAG,CAAChB,IAAI,CAACiB,OAAO,IAAI,uBAAuB,EAAElC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;IAC1E,IAAImC,QAAQ,GAAG,EAAE,CAAC/E,MAAM,CAAC6D,IAAI,CAAC9B,KAAK,CAACnC,EAAE,EAAE,GAAG,CAAC,CAACI,MAAM,CAAC6D,IAAI,CAAC9B,KAAK,CAAC3B,KAAK,EAAE,GAAG,CAAC,CAACJ,MAAM,CAAC6D,IAAI,CAAC9B,KAAK,CAAC1B,MAAM,EAAE,GAAG,CAAC,CAACL,MAAM,CAAC6D,IAAI,CAAC9B,KAAK,CAACjC,MAAM,CAAC;IACnI,IAAIgF,OAAO,GAAG,EAAE,CAAC9E,MAAM,CAAC6E,MAAM,EAAE,UAAU,CAAC,CAAC7E,MAAM,CAAC6D,IAAI,CAACmB,SAAS,EAAE,GAAG,CAAC,CAAChF,MAAM,CAAC6D,IAAI,CAACoB,OAAO,EAAE,GAAG,CAAC,CAACjF,MAAM,CAAC+E,QAAQ,CAAC;IAClH,IAAIG,MAAM,GAAG,EAAE;IACf,IAAIrB,IAAI,CAACW,IAAI,EAAE;MACnB;MACQ,IAAI9E,EAAE,GAAGmE,IAAI,CAACW,IAAI;QAAE1B,IAAI,GAAGpD,EAAE,CAACoD,IAAI;QAAEqC,KAAK,GAAGzF,EAAE,CAACqD,GAAG;QAAE3C,KAAK,GAAGV,EAAE,CAACU,KAAK;QAAEC,MAAM,GAAGX,EAAE,CAACW,MAAM;MACxF,IAAI+E,eAAe,GAAGtC,IAAI,KAAK,CAAC,IAAIqC,KAAK,KAAK,CAAC,IAAI9E,MAAM,KAAKwD,IAAI,CAAC9B,KAAK,CAAC1B,MAAM,IAAID,KAAK,KAAKyD,IAAI,CAAC9B,KAAK,CAAC3B,KAAK;MAC7G,IAAIgF,eAAe,EAAE;QACjBF,MAAM,CAACG,IAAI,CAAC,OAAO,CAACrF,MAAM,CAAC8C,IAAI,EAAE,GAAG,CAAC,CAAC9C,MAAM,CAACmF,KAAK,EAAE,GAAG,CAAC,CAACnF,MAAM,CAACI,KAAK,EAAE,GAAG,CAAC,CAACJ,MAAM,CAACK,MAAM,CAAC,CAAC;MAC9F;IACJ;IACD,IAAIwD,IAAI,CAACyB,EAAE,EAAE;MACTJ,MAAM,CAACG,IAAI,CAAC,KAAK,CAACrF,MAAM,CAAC6D,IAAI,CAACyB,EAAE,CAAC,CAAC;IACrC;IACD,IAAIzB,IAAI,CAACY,UAAU,EAAE;MACjBS,MAAM,CAACG,IAAI,CAAC,OAAO,CAACrF,MAAM,CAAC6D,IAAI,CAACY,UAAU,CAACvB,CAAC,CAAC,CAAC;MAC9CgC,MAAM,CAACG,IAAI,CAAC,OAAO,CAACrF,MAAM,CAAC6D,IAAI,CAACY,UAAU,CAACtB,CAAC,CAAC,CAAC;IACjD;IACD,IAAIoC,IAAI,GAAG,CAAC1B,IAAI,CAAC2B,cAAc,IAAI,GAAG,EAAE3B,IAAI,CAAC4B,YAAY,IAAI,GAAG,CAAC,CAACC,MAAM,CAACC,OAAO,CAAC,CAACC,IAAI,CAAC,EAAE,CAAC;IAC1F,IAAIL,IAAI,EAAE;MACNL,MAAM,CAACG,IAAI,CAAC,OAAO,CAACrF,MAAM,CAACuF,IAAI,CAAC,CAAC;IACpC;IACL;IACIhC,OAAO,CAACC,8BAA8B,CAACqC,OAAO,CAAC,UAAUC,OAAO,EAAE;MAC9D,IAAIC,QAAQ,GAAGD,OAAO,CAAC,CAAC,CAAC;QAAEE,KAAK,GAAGF,OAAO,CAAC,CAAC,CAAC;MAC7C,IAAI,OAAOjC,IAAI,CAACkC,QAAQ,CAAC,KAAK,WAAW,EAAE;QACvCb,MAAM,CAACG,IAAI,CAAC,EAAE,CAACrF,MAAM,CAACgG,KAAK,EAAE,GAAG,CAAC,CAAChG,MAAM,CAACiG,kBAAkB,CAACpC,IAAI,CAACkC,QAAQ,CAAC,CAAC,CAAC,CAAC;MAChF,CAAA,MACI,IAAI,OAAOlC,IAAI,CAACmC,KAAK,CAAC,KAAK,WAAW,EAAE;QACzCd,MAAM,CAACG,IAAI,CAAC,EAAE,CAACrF,MAAM,CAACgG,KAAK,EAAE,GAAG,CAAC,CAAChG,MAAM,CAACiG,kBAAkB,CAACpC,IAAI,CAACmC,KAAK,CAAC,CAAC,CAAC,CAAC;MAC7E;IACT,CAAK,CAAC;IACF,IAAId,MAAM,CAACjE,MAAM,KAAK,CAAC,EAAE;MACrB,OAAO6D,OAAO;IACjB;IACD,OAAO,EAAE,CAAC9E,MAAM,CAAC8E,OAAO,EAAE,GAAG,CAAC,CAAC9E,MAAM,CAACkF,MAAM,CAACU,IAAI,CAAC,GAAG,CAAC,CAAC;EAC1D;EACD,SAASjB,GAAGA,CAACjD,MAAM,EAAEmC,IAAI,EAAE;IACvB,IAAIqC,QAAQ;IACZ,IAAIC,QAAQ,GAAGtC,IAAI,CAACzD,KAAK;IACzB,IAAIgG,SAAS,GAAGvC,IAAI,CAACxD,MAAM;IAC/B;IACI,IAAI,EAAE8F,QAAQ,IAAIC,SAAS,CAAC,EAAE;MAC1B,OAAO;QAAEhG,KAAK,EAAE+F,QAAQ;QAAE9F,MAAM,EAAE+F,SAAS;QAAE5B,IAAI,EAAE9C,MAAM,CAACY;OAAM;IACnE;IACD,IAAIA,IAAI,GAAGZ,MAAM,CAACY,IAAI;IACtB,IAAIC,OAAO,GAAGb,MAAM,CAACa,OAAO;IAChC;IACI,IAAI8D,kBAAkB,GAAGF,QAAQ,GAAGC,SAAS;IAC7C,IAAIE,eAAe,GAAGhE,IAAI,CAAClC,KAAK,GAAGkC,IAAI,CAACjC,MAAM;IAC9C,IAAIiG,eAAe,GAAGD,kBAAkB,EAAE;MAC9C;MACQ,IAAIhG,MAAM,GAAG4D,IAAI,CAACC,KAAK,CAAC5B,IAAI,CAACjC,MAAM,CAAC;MACpC,IAAID,KAAK,GAAG6D,IAAI,CAACC,KAAK,CAAC7D,MAAM,GAAGgG,kBAAkB,CAAC;MACnD,IAAIE,KAAK,GAAGtC,IAAI,CAACuC,GAAG,CAAC,CAAC,EAAEvC,IAAI,CAACC,KAAK,CAAC5B,IAAI,CAACS,GAAG,CAAC,CAAC;MACrD;MACQ,IAAI0D,cAAc,GAAGxC,IAAI,CAACC,KAAK,CAAC,CAAC3B,OAAO,CAACU,KAAK,GAAGV,OAAO,CAACO,IAAI,IAAI,CAAC,GAAGP,OAAO,CAACO,IAAI,CAAC;MAClF,IAAIA,IAAI,GAAGmB,IAAI,CAACuC,GAAG,CAAC,CAAC,EAAEvC,IAAI,CAACC,KAAK,CAACuC,cAAc,GAAGrG,KAAK,GAAG,CAAC,CAAC,CAAC;MACtE;MACQ,IAAI0C,IAAI,GAAGR,IAAI,CAACQ,IAAI,EAAE;QAClBA,IAAI,GAAGR,IAAI,CAACQ,IAAI;MACnB,CAAA,MACI,IAAIA,IAAI,GAAG1C,KAAK,GAAGkC,IAAI,CAACQ,IAAI,GAAGR,IAAI,CAAClC,KAAK,EAAE;QAC5C0C,IAAI,GAAGR,IAAI,CAACQ,IAAI,GAAGR,IAAI,CAAClC,KAAK,GAAGA,KAAK;MACxC;MACD8F,QAAQ,GAAG;QAAEpD,IAAI,EAAEA,IAAI;QAAEC,GAAG,EAAEwD,KAAK;QAAEnG,KAAK,EAAEA,KAAK;QAAEC,MAAM,EAAEA;OAAQ;IACtE,CAAA,MACI;MACT;MACQ,IAAID,KAAK,GAAGkC,IAAI,CAAClC,KAAK;MACtB,IAAIC,MAAM,GAAG4D,IAAI,CAACC,KAAK,CAAC9D,KAAK,GAAGiG,kBAAkB,CAAC;MACnD,IAAIvD,IAAI,GAAGmB,IAAI,CAACuC,GAAG,CAAC,CAAC,EAAEvC,IAAI,CAACC,KAAK,CAAC5B,IAAI,CAACQ,IAAI,CAAC,CAAC;MACrD;MACQ,IAAI4D,cAAc,GAAGzC,IAAI,CAACC,KAAK,CAAC,CAAC3B,OAAO,CAACS,MAAM,GAAGT,OAAO,CAACQ,GAAG,IAAI,CAAC,GAAGR,OAAO,CAACQ,GAAG,CAAC;MACjF,IAAI4D,KAAK,GAAG1C,IAAI,CAACuC,GAAG,CAAC,CAAC,EAAEvC,IAAI,CAACC,KAAK,CAACwC,cAAc,GAAGrG,MAAM,GAAG,CAAC,CAAC,CAAC;MACxE;MACQ,IAAIsG,KAAK,GAAGrE,IAAI,CAACS,GAAG,EAAE;QAClB4D,KAAK,GAAGrE,IAAI,CAACS,GAAG;MACnB,CAAA,MACI,IAAI4D,KAAK,GAAGtG,MAAM,GAAGiC,IAAI,CAACS,GAAG,GAAGT,IAAI,CAACjC,MAAM,EAAE;QAC9CsG,KAAK,GAAGrE,IAAI,CAACS,GAAG,GAAGT,IAAI,CAACjC,MAAM,GAAGA,MAAM;MAC1C;MACD6F,QAAQ,GAAG;QAAEpD,IAAI,EAAEA,IAAI;QAAEC,GAAG,EAAE4D,KAAK;QAAEvG,KAAK,EAAEA,KAAK;QAAEC,MAAM,EAAEA;OAAQ;IACtE;IACD,OAAO;MACHD,KAAK,EAAE+F,QAAQ;MACf9F,MAAM,EAAE+F,SAAS;MACjB5B,IAAI,EAAE0B;IACd,CAAK;EACJ;;AC1KD,IAAIzF,QAAQ,GAAIC,cAAI,IAAIA,cAAI,CAACD,QAAQ,IAAK,YAAY;EAClDA,QAAQ,GAAGtB,MAAM,CAACwB,MAAM,IAAI,UAASC,CAAC,EAAE;IACpC,KAAK,IAAIC,CAAC,EAAEC,CAAC,GAAG,CAAC,EAAEC,CAAC,GAAGC,SAAS,CAACC,MAAM,EAAEH,CAAC,GAAGC,CAAC,EAAED,CAAC,EAAE,EAAE;MACjDD,CAAC,GAAGG,SAAS,CAACF,CAAC,CAAC;MAChB,KAAK,IAAII,CAAC,IAAIL,CAAC,EAAE,IAAI1B,MAAM,CAACgC,SAAS,CAACC,cAAc,CAACC,IAAI,CAACR,CAAC,EAAEK,CAAC,CAAC,EAC3DN,CAAC,CAACM,CAAC,CAAC,GAAGL,CAAC,CAACK,CAAC,CAAC;IAClB;IACD,OAAON,CAAC;EAChB,CAAK;EACD,OAAOH,QAAQ,CAACa,KAAK,CAAC,IAAI,EAAEN,SAAS,CAAC;AAC1C,CAAC;AACD,IAAI4F,eAAe,GAAIlG,cAAI,IAAIA,cAAI,CAACkG,eAAe,KAAMzH,MAAM,CAAC0H,MAAM,GAAI,UAASC,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAEC,EAAE,EAAE;EAC5F,IAAIA,EAAE,KAAKC,SAAS,EAAED,EAAE,GAAGD,CAAC;EAC5B7H,MAAM,CAACC,cAAc,CAAC0H,CAAC,EAAEG,EAAE,EAAE;IAAEE,UAAU,EAAE,IAAI;IAAEC,GAAG,EAAE,SAAAA,CAAA,EAAW;MAAE,OAAOL,CAAC,CAACC,CAAC,CAAC;IAAC;EAAI,CAAA,CAAC;AACxF,CAAC,GAAK,UAASF,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAEC,EAAE,EAAE;EACxB,IAAIA,EAAE,KAAKC,SAAS,EAAED,EAAE,GAAGD,CAAC;EAC5BF,CAAC,CAACG,EAAE,CAAC,GAAGF,CAAC,CAACC,CAAC,CAAC;AAChB,CAAE,CAAC;AACH,IAAIK,kBAAkB,GAAI3G,cAAI,IAAIA,cAAI,CAAC2G,kBAAkB,KAAMlI,MAAM,CAAC0H,MAAM,GAAI,UAASC,CAAC,EAAEQ,CAAC,EAAE;EAC3FnI,MAAM,CAACC,cAAc,CAAC0H,CAAC,EAAE,SAAS,EAAE;IAAEK,UAAU,EAAE,IAAI;IAAE7H,KAAK,EAAEgI;EAAC,CAAE,CAAC;AACvE,CAAC,GAAI,UAASR,CAAC,EAAEQ,CAAC,EAAE;EAChBR,CAAC,CAAC,SAAS,CAAC,GAAGQ,CAAC;AACpB,CAAC,CAAC;AACF,IAAIC,YAAY,GAAI7G,cAAI,IAAIA,cAAI,CAAC6G,YAAY,IAAK,UAAUlE,GAAG,EAAE;EAC7D,IAAIA,GAAG,IAAIA,GAAG,CAACC,UAAU,EAAE,OAAOD,GAAG;EACrC,IAAIR,MAAM,GAAG,CAAA,CAAE;EACf,IAAIQ,GAAG,IAAI,IAAI,EAAE,KAAK,IAAI2D,CAAC,IAAI3D,GAAG,EAAE,IAAI2D,CAAC,KAAK,SAAS,IAAI7H,MAAM,CAACgC,SAAS,CAACC,cAAc,CAACC,IAAI,CAACgC,GAAG,EAAE2D,CAAC,CAAC,EAAEJ,eAAe,CAAC/D,MAAM,EAAEQ,GAAG,EAAE2D,CAAC,CAAC;EACxIK,kBAAkB,CAACxE,MAAM,EAAEQ,GAAG,CAAC;EAC/B,OAAOR,MAAM;AACjB,CAAC;AACD1D,MAAM,CAACC,cAAc,CAACoI,OAAO,EAAE,YAAY,EAAE;EAAElI,KAAK,EAAE;AAAI,CAAE,CAAC;AACtCkI,OAAA,CAAAC,eAAA,GAAG,KAAK,CAAE;AACjC,IAAIC,aAAa,GAAGH,YAAY,CAAC9D,WAAwB,CAAC;AAC1D,IAAIkE,SAAS,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC;AAC1E,IAAIC,UAAU,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC;AACtF,IAAIC,cAAc,GAAG,CAAC,QAAQ,CAAC;AAC/B,SAASC,wBAAwBA,CAACC,MAAM,EAAE;EACtC,OAAOA,MAAM,IAAI,QAAQ,IAAIA,MAAM,GAAG,OAAOA,MAAM,CAACC,MAAM,KAAK,UAAU,GAAG,KAAK;AACrF;AACA,SAASC,kBAAkBA,CAACF,MAAM,EAAE;EAChC,OAAOA,MAAM,IAAI,cAAc,IAAIA,MAAM,GAAG,OAAOA,MAAM,CAACG,YAAY,KAAK,QAAQ,GAAG,KAAK;AAC/F;AACA,SAASC,eAAeA,CAACC,GAAG,EAAE;EAC1B,IAAIC,KAAK,GAAGX,aAAa,CAAClE,8BAA8B;EACxD,KAAK,IAAI8E,EAAE,GAAG,CAAC,EAAEC,OAAO,GAAGF,KAAK,EAAEC,EAAE,GAAGC,OAAO,CAACtH,MAAM,EAAEqH,EAAE,EAAE,EAAE;IACzD,IAAIE,KAAK,GAAGD,OAAO,CAACD,EAAE,CAAC;IACvB,IAAIvC,QAAQ,GAAGyC,KAAK,CAAC,CAAC,CAAC;MAAExC,KAAK,GAAGwC,KAAK,CAAC,CAAC,CAAC;IACzC,IAAIJ,GAAG,KAAKrC,QAAQ,IAAIqC,GAAG,KAAKpC,KAAK,EAAE;MACnC,OAAOD,QAAQ;IAClB;EACJ;EACD,OAAOqC,GAAG;AACd;AACA,SAASK,UAAUA,CAAC7E,OAAO,EAAE;EAC7B;EACI,IAAIkE,wBAAwB,CAAClE,OAAO,CAAC,EAAE;IAC3C;IACQ,IAAIlE,EAAE,GAAGkE,OAAO,CAACoE,MAAM,CAAE,CAAA;MAAEU,MAAM,GAAGhJ,EAAE,CAACiJ,OAAO;MAAE3D,SAAS,GAAGtF,EAAE,CAACsF,SAAS;MAAEC,OAAO,GAAGvF,EAAE,CAACuF,OAAO;IAC9F,IAAI0D,OAAO,GAAGD,MAAM,IAAI,uBAAuB;IAC/C,OAAO,IAAIjB,eAAe,CAAC,IAAI,EAAE;MAC7B3C,OAAO,EAAE6D,OAAO,CAAC/F,OAAO,CAAC,kBAAkB,EAAE,cAAc,CAAC;MAC5DoC,SAAS,EAAEA,SAAS;MACpBC,OAAO,EAAEA;IACrB,CAAS,CAAC;EACL;EACL;EACI,IAAI8C,MAAM,GAAGnE,OAAO;EACpB,IAAIqE,kBAAkB,CAACF,MAAM,CAAC,EAAE;IACpC;IACQ,IAAI9H,EAAE,GAAG8H,MAAM,CAACG,YAAY;MAAEQ,MAAM,GAAGzI,EAAE,CAAC0I,OAAO;MAAE3D,SAAS,GAAG/E,EAAE,CAAC+E,SAAS;MAAEC,OAAO,GAAGhF,EAAE,CAACgF,OAAO;IACjG,IAAI0D,OAAO,GAAGD,MAAM,IAAI,uBAAuB;IAC/C,OAAO,IAAIjB,eAAe,CAAC,IAAI,EAAE;MAC7B3C,OAAO,EAAE6D,OAAO,CAAC/F,OAAO,CAAC,kBAAkB,EAAE,cAAc,CAAC;MAC5DoC,SAAS,EAAEA,SAAS;MACpBC,OAAO,EAAEA;IACrB,CAAS,CAAC;EACL;EACL;EACI,OAAO,IAAIwC,eAAe,CAAC,IAAI,EAAE7D,OAAO,CAAC;AAC7C;AACe4D,OAAA,CAAAhH,OAAA,GAAGiI,UAAW;AAC7B,IAAIhB,eAAe,gBAAkB,YAAY;EAC7C,SAASA,eAAeA,CAACmB,MAAM,EAAEhF,OAAO,EAAE;IACtC,IAAI,CAACA,OAAO,GAAGgF,MAAM,GACfnI,QAAQ,CAACA,QAAQ,CAAC,CAAA,CAAE,EAAGmI,MAAM,CAAChF,OAAO,IAAI,CAAA,CAAI,CAAA,EAAGA,OAAO,IAAI,CAAA,CAAI,CAAA,GAAGnD,QAAQ,CAAC,CAAE,CAAA,EAAGmD,OAAO,IAAI,CAAE,CAAA,CAAE,CAAC,CAAA;EACzG;EACD6D,eAAe,CAACtG,SAAS,CAAC0H,WAAW,GAAG,UAAUjF,OAAO,EAAE;IACvD,IAAIkB,OAAO,GAAGlB,OAAO,CAACkB,OAAO,IAAI,IAAI,CAAClB,OAAO,CAACkB,OAAO;IACrD,IAAIgE,UAAU,GAAG;MAAEhE,OAAO,EAAEA;KAAS;IACrC,KAAK,IAAIsD,GAAG,IAAIxE,OAAO,EAAE;MACrB,IAAIA,OAAO,CAACxC,cAAc,CAACgH,GAAG,CAAC,EAAE;QAC7B,IAAIW,OAAO,GAAGZ,eAAe,CAACC,GAAG,CAAC;QAClCU,UAAU,CAACC,OAAO,CAAC,GAAGnF,OAAO,CAACwE,GAAG,CAAC;MACrC;IACJ;IACD,OAAO,IAAIX,eAAe,CAAC,IAAI,EAAEhH,QAAQ,CAAC;MAAEqE,OAAO,EAAEA;IAAO,CAAE,EAAEgE,UAAU,CAAC,CAAC;EACpF,CAAK;EACL;EACA;EACA;EACIrB,eAAe,CAACtG,SAAS,CAACe,KAAK,GAAG,UAAUR,MAAM,EAAE;IAChD,OAAO,IAAI,CAACmH,WAAW,CAAC;MAAEnH,MAAM,EAAEA;IAAQ,CAAA,CAAC;EACnD,CAAK;EACL;EACI+F,eAAe,CAACtG,SAAS,CAAC8D,OAAO,GAAG,UAAUA,OAAO,EAAE;IACnD,OAAO,IAAI,CAAC4D,WAAW,CAAC;MAAE5D,OAAO,EAAEA;IAAS,CAAA,CAAC;EACrD,CAAK;EACL;EACIwC,eAAe,CAACtG,SAAS,CAAC6D,SAAS,GAAG,UAAUA,SAAS,EAAE;IACvD,OAAO,IAAI,CAAC6D,WAAW,CAAC;MAAE7D,SAAS,EAAEA;IAAW,CAAA,CAAC;EACzD,CAAK;EACL;EACIyC,eAAe,CAACtG,SAAS,CAACmE,EAAE,GAAG,UAAUA,EAAE,EAAE;IACzC,OAAO,IAAI,CAACuD,WAAW,CAAC;MAAEvD,EAAE,EAAEA;IAAI,CAAA,CAAC;EAC3C,CAAK;EACL;EACImC,eAAe,CAACtG,SAAS,CAAC6H,GAAG,GAAG,UAAUA,GAAG,EAAE;IACnD;IACQ,OAAO,IAAI,CAACH,WAAW,CAACG,GAAG,IAAIA,GAAG,KAAK,CAAC,GAAG;MAAEA,GAAG,EAAEA;KAAK,GAAG,CAAA,CAAE,CAAC;EACrE,CAAK;EACL;EACIvB,eAAe,CAACtG,SAAS,CAACf,KAAK,GAAG,UAAUA,KAAK,EAAE;IAC/C,OAAO,IAAI,CAACyI,WAAW,CAAC;MAAEzI,KAAK,EAAEA;IAAO,CAAA,CAAC;EACjD,CAAK;EACL;EACIqH,eAAe,CAACtG,SAAS,CAACd,MAAM,GAAG,UAAUA,MAAM,EAAE;IACjD,OAAO,IAAI,CAACwI,WAAW,CAAC;MAAExI,MAAM,EAAEA;IAAQ,CAAA,CAAC;EACnD,CAAK;EACL;EACIoH,eAAe,CAACtG,SAAS,CAACsD,UAAU,GAAG,UAAUvB,CAAC,EAAEC,CAAC,EAAE;IACnD,OAAO,IAAI,CAAC0F,WAAW,CAAC;MAAEpE,UAAU,EAAE;QAAEvB,CAAC,EAAEA,CAAC;QAAEC,CAAC,EAAEA;MAAG;IAAA,CAAE,CAAC;EAC/D,CAAK;EACDsE,eAAe,CAACtG,SAAS,CAAC8H,QAAQ,GAAG,UAAUA,QAAQ,EAAE;IACrD,OAAO,IAAI,CAACJ,WAAW,CAAC;MAAEI,QAAQ,EAAEA;IAAU,CAAA,CAAC;EACvD,CAAK;EACDxB,eAAe,CAACtG,SAAS,CAAC+H,QAAQ,GAAG,UAAUA,QAAQ,EAAE;IACrD,OAAO,IAAI,CAACL,WAAW,CAAC;MAAEK,QAAQ,EAAEA;IAAU,CAAA,CAAC;EACvD,CAAK;EACDzB,eAAe,CAACtG,SAAS,CAACgI,SAAS,GAAG,UAAUA,SAAS,EAAE;IACvD,OAAO,IAAI,CAACN,WAAW,CAAC;MAAEM,SAAS,EAAEA;IAAW,CAAA,CAAC;EACzD,CAAK;EACD1B,eAAe,CAACtG,SAAS,CAACiI,SAAS,GAAG,UAAUA,SAAS,EAAE;IACvD,OAAO,IAAI,CAACP,WAAW,CAAC;MAAEO,SAAS,EAAEA;IAAW,CAAA,CAAC;EACzD,CAAK;EACL;EACI3B,eAAe,CAACtG,SAAS,CAACkI,IAAI,GAAG,UAAUjJ,KAAK,EAAEC,MAAM,EAAE;IACtD,OAAO,IAAI,CAACwI,WAAW,CAAC;MAAEzI,KAAK,EAAEA,KAAK;MAAEC,MAAM,EAAEA;IAAM,CAAE,CAAC;EACjE,CAAK;EACL;EACIoH,eAAe,CAACtG,SAAS,CAACmI,IAAI,GAAG,UAAUA,IAAI,EAAE;IAC7C,OAAO,IAAI,CAACT,WAAW,CAAC;MAAES,IAAI,EAAEA;IAAM,CAAA,CAAC;EAC/C,CAAK;EACD7B,eAAe,CAACtG,SAAS,CAACoI,OAAO,GAAG,UAAUA,OAAO,EAAE;IACnD,OAAO,IAAI,CAACV,WAAW,CAAC;MAAEU,OAAO,EAAEA;IAAS,CAAA,CAAC;EACrD,CAAK;EACL;EACI9B,eAAe,CAACtG,SAAS,CAACqD,IAAI,GAAG,UAAU1B,IAAI,EAAEC,GAAG,EAAE3C,KAAK,EAAEC,MAAM,EAAE;IACjE,OAAO,IAAI,CAACwI,WAAW,CAAC;MAAErE,IAAI,EAAE;QAAE1B,IAAI,EAAEA,IAAI;QAAEC,GAAG,EAAEA,GAAG;QAAE3C,KAAK,EAAEA,KAAK;QAAEC,MAAM,EAAEA;MAAM;IAAI,CAAA,CAAC;EACjG,CAAK;EACL;EACIoH,eAAe,CAACtG,SAAS,CAACrB,MAAM,GAAG,UAAUA,MAAM,EAAE;IACjD,OAAO,IAAI,CAAC+I,WAAW,CAAC;MAAE/I,MAAM,EAAEA;IAAQ,CAAA,CAAC;EACnD,CAAK;EACD2H,eAAe,CAACtG,SAAS,CAACqI,MAAM,GAAG,UAAUA,MAAM,EAAE;IACjD,OAAO,IAAI,CAACX,WAAW,CAAC;MAAEW,MAAM,EAAEA;IAAQ,CAAA,CAAC;EACnD,CAAK;EACL;EACI/B,eAAe,CAACtG,SAAS,CAACsI,WAAW,GAAG,UAAUA,WAAW,EAAE;IAC3D,OAAO,IAAI,CAACZ,WAAW,CAAC;MAAEY,WAAW,EAAEA;IAAa,CAAA,CAAC;EAC7D,CAAK;EACL;EACIhC,eAAe,CAACtG,SAAS,CAACuI,OAAO,GAAG,UAAUA,OAAO,EAAE;IACnD,OAAO,IAAI,CAACb,WAAW,CAAC;MAAEa,OAAO,EAAEA;IAAS,CAAA,CAAC;EACrD,CAAK;EACL;EACIjC,eAAe,CAACtG,SAAS,CAACwI,aAAa,GAAG,UAAUC,QAAQ,EAAE;IAC1D,OAAO,IAAI,CAACf,WAAW,CAAC;MAAEe,QAAQ,EAAEA;IAAU,CAAA,CAAC;EACvD,CAAK;EACL;EACInC,eAAe,CAACtG,SAAS,CAACqE,cAAc,GAAG,YAAY;IACnD,OAAO,IAAI,CAACqD,WAAW,CAAC;MAAErD,cAAc,EAAE;IAAM,CAAA,CAAC;EACzD,CAAK;EACL;EACIiC,eAAe,CAACtG,SAAS,CAACsE,YAAY,GAAG,YAAY;IACjD,OAAO,IAAI,CAACoD,WAAW,CAAC;MAAEpD,YAAY,EAAE;IAAM,CAAA,CAAC;EACvD,CAAK;EACL;EACIgC,eAAe,CAACtG,SAAS,CAACuD,iBAAiB,GAAG,YAAY;IACtD,OAAO,IAAI,CAACmE,WAAW,CAAC;MAAEnE,iBAAiB,EAAE;IAAM,CAAA,CAAC;EAC5D,CAAK;EACD+C,eAAe,CAACtG,SAAS,CAACwD,GAAG,GAAG,UAAUrF,KAAK,EAAE;IAC7C,IAAIqI,SAAS,CAACkC,OAAO,CAACvK,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE;MACjC,MAAM,IAAIS,KAAK,CAAC,qBAAqB,CAACC,MAAM,CAACV,KAAK,EAAE,IAAI,CAAC,CAAC;IAC7D;IACD,OAAO,IAAI,CAACuJ,WAAW,CAAC;MAAElE,GAAG,EAAErF;IAAO,CAAA,CAAC;EAC/C,CAAK;EACDmI,eAAe,CAACtG,SAAS,CAACmB,IAAI,GAAG,UAAUhD,KAAK,EAAE;IAC9C,IAAIsI,UAAU,CAACiC,OAAO,CAACvK,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE;MAClC,MAAM,IAAIS,KAAK,CAAC,sBAAsB,CAACC,MAAM,CAACV,KAAK,EAAE,IAAI,CAAC,CAAC;IAC9D;IACD,OAAO,IAAI,CAACuJ,WAAW,CAAC;MAAEvG,IAAI,EAAEhD;IAAO,CAAA,CAAC;EAChD,CAAK;EACL;EACImI,eAAe,CAACtG,SAAS,CAAC2I,UAAU,GAAG,UAAUA,UAAU,EAAE;IACzD,OAAO,IAAI,CAACjB,WAAW,CAAC;MAAEiB,UAAU,EAAEA;IAAY,CAAA,CAAC;EAC3D,CAAK;EACDrC,eAAe,CAACtG,SAAS,CAAC4I,IAAI,GAAG,UAAUzK,KAAK,EAAE;IAC9C,IAAIuI,cAAc,CAACgC,OAAO,CAACvK,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE;MACtC,MAAM,IAAIS,KAAK,CAAC,sBAAsB,CAACC,MAAM,CAACV,KAAK,EAAE,IAAI,CAAC,CAAC;IAC9D;IACD,OAAO,IAAI,CAACuJ,WAAW,CAAC;MAAEkB,IAAI,EAAEzK;IAAO,CAAA,CAAC;EAChD,CAAK;EACL;EACImI,eAAe,CAACtG,SAAS,CAAC6I,GAAG,GAAG,UAAUA,GAAG,EAAE;IAC3C,OAAO,IAAI,CAACnB,WAAW,CAAC;MAAEmB,GAAG,EAAEA;IAAK,CAAA,CAAC;EAC7C,CAAK;EACL;EACIvC,eAAe,CAACtG,SAAS,CAACa,GAAG,GAAG,YAAY;IACxC,OAAO,CAAI,CAAA,EAAA0F,aAAa,CAAClH,OAAO,EAAE,IAAI,CAACoD,OAAO,CAAC;EACvD,CAAK;EACL;EACI6D,eAAe,CAACtG,SAAS,CAAC8I,QAAQ,GAAG,YAAY;IAC7C,OAAO,IAAI,CAACjI,GAAG,EAAE;EACzB,CAAK;EACD,OAAOyF,eAAe;AAC1B,CAAC,CAAA,CAAG;AACmBD,OAAA,CAAAC,eAAA,GAAGA,eAAe;AClOzC,IAAIrE,eAAe,GAAI1C,cAAI,IAAIA,cAAI,CAAC0C,eAAe,IAAK,UAAUC,GAAG,EAAE;EACnE,OAAQA,GAAG,IAAIA,GAAG,CAACC,UAAU,GAAID,GAAG,GAAG;IAAE,SAAS,EAAEA;GAAK;AAC7D,CAAC;AACD,IAAI6G,SAAS,GAAG9G,eAAe,CAACK,OAAoB,CAAC;AACrD,IAAA0G,IAAc,GAAGD,SAAS,CAAC1J,OAAO;;ACA3B,SAAS4J,mBACdC,aACwB,EAAA;EAClB,MAAAtC,MAAA,GAASuC,iBAAUD,aAAa,CAAA;EAChC,MAAA7C,OAAA,GAAU+C,KAAAA,CAAAA,QAAQ,MAAMC,qBAAA,CAAsBzC,MAAM,CAAG,EAAA,CAACA,MAAM,CAAC,CAAA;EAE9D,OAAAP,OAAA;AACT;ACNgB,SAAAiD,uBAAAA,CACd/I,QACA2I,aACwB,EAAA;EAClB,MAAA7C,OAAA,GAAU4C,mBAAmBC,aAAa,CAAA;EAChD,MAAMnI,KAAQ,GAAAqI,KAAA,CAAAA,OAAA,CACZ,MAAO7I,MAAU,IAAA8F,OAAA,GAAUA,OAAQ,CAAAtF,KAAA,CAAMR,MAAM,CAAI,GAAA,IAAA,EACnD,CAAC8F,SAAS9F,MAAM,CAAA,CAClB;EAEO,OAAAQ,KAAA;AACT;ACKA,MAAMwI,iBAAiB,CAAA,CAAC;AACxB,MAAMC,eAAA,GAAkB;EAACC,UAAA,EAAY;CAAa;AAClD,MAAMC,qBAAwB,GAAA,IAAA;AAE9B,SAASC,UACP5F,MACmB,EAAA;EACnB,MAAM6F,iBAAoB,GAAAR,KAAA,CAAAA,OAAA,CACxB,MAAMzG,IAAA,CAAKC,SAAU,CAAAmB,MAAA,IAAU,EAAE,CAAA,EACjC,CAACA,MAAM,CAAA,CACT;EACO,OAAAqF,KAAAA,CAAAA,OAAA,CAAQ,MAAMzG,IAAK,CAAAkH,KAAA,CAAMD,iBAAiB,CAAG,EAAA,CAACA,iBAAiB,CAAC,CAAA;AACzE;AAEO,SAASE,kBACdC,KACA,EAAAvJ,IAAA,EAKW;EAAA,IALX;IACEuD,MAAS,GAAAwF,cAAA;IACT9G,OAAU,GAAA+G,eAAA;IACVQ,YAAe,GAAAN;EACjB,CACW,GAAAlJ,IAAA;EACX,MAAM,CAACyJ,OAAA,EAASC,UAAU,CAAA,GAAIC,eAA4B,IAAI,CAAA;EAC9D,MAAM,CAACC,KAAA,EAAOC,QAAQ,CAAA,GAAIF,eAA0B,KAAK,CAAA;EACzD,MAAM,CAACG,IAAA,EAAMC,OAAO,CAAA,GAAIJ,eAAyBH,YAAY,CAAA;EACvD,MAAAQ,UAAA,GAAab,UAAU5F,MAAM,CAAA;EAC7B,MAAA0G,WAAA,GAAcd,UAAUlH,OAAO,CAAA;EAE/B,MAAAiI,YAAA,GAAeC,aAA4B,IAAI,CAAA;EACrD,MAAMC,gBAAgBC,MAAAA,CAAAA,gBAAiB,EAAA;EAEvCC,KAAAA,CAAAA,SAAA,CAAU,MAAM;IACd,IAAIf,KAAS,IAAA,CAACK,KAAS,IAAA,CAACM,aAAaK,OAAS,EAAA;MACxC,IAAA;QACFL,YAAA,CAAaK,UAAUH,aACpB,CAAAI,WAAA,CAAYjB,KAAO,EAAAS,UAAA,EAAYC,WAAW,CAC1C,CAAAQ,IAAA,CACCC,SAAAA,CAAAA,qBAAqBC,gBAAAA,CAAAA,OAAO,CAAA,EAC5BC,SAAA,CAAAA,UAAA,CAAYC,GAAQ,IAAA;UAClBC,OAAA,CAAQlB,MAAMiB,GAAG,CAAA;UACjBhB,QAAA,CAASgB,GAAG,CAAA;UACZnB,UAAA,CAAW,KAAK,CAAA;UAChBK,OAAA,CAAQ,IAAI,CAAA;UAEL,OAAAc,GAAA;QAAA,CACR,CAAA,CACH,CACCE,SAAU,CAACC,SAAc,IAAA;UACxBjB,OAAA,CAASQ,OACP,IAAAI,gBAAAA,CAAAA,OAAA,CAAQJ,OAAS,EAAAS,SAAS,IAAIT,OAAU,GAAAS,SAAA,CAC1C;UACAtB,UAAA,CAAW,KAAK,CAAA;UAChBG,QAAA,CAAS,KAAK,CAAA;QAAA,CACf,CAAA;eACIgB,GAAK,EAAA;QACZC,OAAA,CAAQlB,MAAMiB,GAAG,CAAA;QACjBnB,UAAA,CAAW,KAAK,CAAA;QAChBG,QAAA,CAASgB,GAAG,CAAA;MACd;IACF;IAGI,IAAAjB,KAAA,IAASM,aAAaK,OAAS,EAAA;MACjCL,YAAA,CAAaK,QAAQU,WAAY,EAAA;IACnC;IAEA,OAAO,MAAM;MAxFjB,IAAAlN,EAAA;MAyFM,IAAImM,aAAaK,OAAS,EAAA;QACxB,CAAAxM,EAAA,GAAAmM,YAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,YAAA,CAAcK,YAAd,IAAuB,GAAA,KAAA,CAAA,GAAAxM,EAAA,CAAAkN,WAAA,CAAA,CAAA;QACvBf,YAAA,CAAaK,OAAU,GAAA,IAAA;MACzB;IAAA,CACF;EAAA,GACC,CAAChB,KAAA,EAAOK,OAAOI,UAAY,EAAAC,WAAA,EAAaG,aAAa,CAAC,CAAA;EAElD,OAAA;IAACN,IAAM;IAAAL,OAAA;IAASG;GAAK;AAC9B;AC/DA,SAASsB,UAAAA,CAAcC,OAAYzD,IAAqB,EAAA;EACtD,MAAM0D,SAAgB,EAAC;EACvB,KAAA,IAASjM,IAAI,CAAG,EAAAA,CAAA,GAAIgM,KAAM,CAAA7L,MAAA,EAAQH,KAAKuI,IAAM,EAAA;IAC3C0D,MAAA,CAAO1H,KAAKyH,KAAM,CAAAnK,KAAA,CAAM7B,CAAG,EAAAA,CAAA,GAAIuI,IAAI,CAAC,CAAA;EACtC;EACO,OAAA0D,MAAA;AACT;AAGgB,SAAAC,eAAAA,CAAAC,KAAA,EAA0D;EAAA,IAA1C;IAACrC;GAAyC,GAAAqC,KAAA;EAClE,MAAA;IAACC;GAAW,GAAIC,MAAAA,CAAAA,YAAa,EAAA;EACnC,MAAMpF,SAASuC,MAAU,CAAAA,SAAA,CAAA;IAACM,UAAY,EAAAA,UAAA,IAAA,IAAA,GAAAA,UAAA,GAAc;GAAa,CAAA;EACjE,MAAM,CAACwC,KAAO,EAAAC,QAAQ,CAAI,GAAA/B,KAAA,CAAAA,QAAA,CAAyB,EAAE,CAAA;EAErDW,KAAAA,CAAAA,SAAA,CAAU,MAAM;IACd,MAAM;MAACjH;IAAA,CAAa,GAAA+C,MAAA,CAAOC,MAAO,CAAA,CAAA;IAElC,eAAesF,iBAAoBA,CAAA,EAAA;MAC7B,IAAA;QACI,MAAAC,OAAA,GAAU,MAAMxF,MAAA,CAAOyF,OAAQ,CAAA;UACnCxL,GAAA,EAAK,aAAahC,MAAS,CAAAgF,SAAA,EAAA,MAAA;QAAA,CAC5B,CAAA;QAED,MAAMyI,UAAUF,OAAQ,CAAAG,GAAA,CAAKC,IAAA,IAAuBA,KAAKC,aAAa,CAAA;QAEhE,MAAAC,YAAA,GAAehB,UAAW,CAAAY,OAAA,EAAS,GAAG,CAAA;QAE5C,IAAIK,YAA4B,EAAC;QAGjC,KAAA,MAAWC,SAASF,YAAc,EAAA;UAC1B,MAAAG,cAAA,GAAiBD,KAAM,CAAAnI,IAAA,CAAK,GAAG,CAAA;UAC/B,MAAAqI,QAAA,GAAW,MAAMlG,MAAA,CAAOyF,OAAQ,CAAA;YACpCxL,GAAA,EAAK,YAAa,CAAAhC,MAAA,CAAAgF,SAAA,EAAS,SAAU,CAAA,CAAAhF,MAAA,CAAAgO,cAAA;UAAA,CACtC,CAAA;UACDF,SAAA,GAAY,CAAC,GAAGA,SAAW,EAAA,GAAGG,QAAQ,CAAA;QACxC;QAGA,MAAMC,cAAiB,GAAAJ,SAAA,CAAUJ,GAAI,CAACC,IAAuB,IAAA;UAzErE,IAAAjO,EAAA;UA0EU,MAAMyO,cACJzO,EAAQ,GAAA6N,OAAA,CAAAa,IAAA,CACLC,OAAA,IAA0BA,OAAQ,CAAAT,aAAA,KAAkBD,IAAK,CAAA/N,EAC5D,CAAA,KAFA,IAEG,GAAA,KAAA,CAAA,GAAAF,EAAA,CAAA4O,KAAA,KAAS,EAAC;UAER,OAAA;YACL,GAAGX,IAAA;YACHY,aAAA,EAAeZ,IAAK,CAAA/N,EAAA,MAAOsN,WAAa,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,WAAA,CAAAtN,EAAA,CAAA;YACxC0O,KAAO,EAAAH;UAAA,CACT;QAAA,CACD,CAAA;QAEDd,QAAA,CAASa,cAAc,CAAA;eAChB1B,GAAK,EAAA;QACJC,OAAA,CAAAlB,KAAA,CAAM,0BAA0BiB,GAAG,CAAA;MAC7C;IACF;IAEI,IAAA,CAACY,MAAMnM,MAAQ,EAAA;MACCqM,iBAAA,EAAA;IACpB;KACC,CAACvF,MAAA,EAAQmF,2CAAatN,EAAI,EAAAwN,KAAA,CAAMnM,MAAM,CAAC,CAAA;EAEnC,OAAAmM,KAAA;AACT;AC9FgB,SAAAoB,gBAAAA,CAAiB5O,IAAa6O,IAAe,EAAA;EACrD,MAAAC,aAAA,GAAgBC,cAAAA,CAAAA,OAAM,CAAAC,UAAA,CAAWC,MAAa,CAAAA,aAAA,CAAA;EACpD,MAAM;IAACC,gBAAA;IAAkBC;EAAU,CAAA,GAAIC,SAAc,CAAAA,aAAA,CAAA,CAAA;EAE/C,MAAAC,aAAA,GAAgBN,sBAAM,CAAAO,WAAA,CAAY,MAAM;IAC5C,IAAI,CAACR,aAAA,IAAiB,CAAC9O,EAAA,IAAM,CAAC6O,IAAM,EAAA;MAClC;IACF;IAEM,MAAAU,KAAA,GAAQ,CAAC,GAAGL,gBAAgB,CAAA;IAC5BK,KAAA,CAAAC,MAAA,CAAOL,UAAa,GAAA,CAAA,EAAG,CAAG,EAAA,CAC9B;MACEnP,EAAA;MACAsF,MAAA,EAAQ;QAACuJ;MAAI;IACf,CAAA,CACD,CAAA;IAED,MAAMY,IAAO,GAAAX,aAAA,CAAcY,oBAAqB,CAAA;MAACH;IAAM,CAAA,CAAA;IACvDT,aAAA,CAAca,WAAY,CAAA;MAACC,IAAM,EAAAH;IAAK,CAAA,CAAA;EAAA,GACrC,CAACzP,EAAA,EAAI6O,MAAMC,aAAe,EAAAI,gBAAA,EAAkBC,UAAU,CAAC,CAAA;EAEnD,OAAAE,aAAA;AACT;ACNA,MAAMQ,aAA+B,GAAA;EACnCC,IAAM,EAAA;AACR,CAAA;AAEO,SAASC,SAASC,KAAsB,EAAA;EAC7C,MAAM;IAACC,KAAO;IAAAC,WAAA;IAAaC,IAAM;IAAAL,IAAA;IAAMM;GAAY,GAAA;IACjD,GAAGP,aAAA;IACH,GAAGG;EAAA,CACL;EAGE,OAAAK,eAAAA,UAAAA,CAAAA,GAAA,CAACC,EAAAA,CAAAA,IAAK,EAAA;IAAAR,IAAA;IAAYS,OAAS,EAAA,CAAA;IAAGC,QAAQ,CAAG;IAAAC,MAAA,EAAM,IAC7C;IAAAL,QAAA,EAAA,eAAAM,UAAA,CAAAA,IAAA,CAACC,EACE,CAAAA,IAAA,EAAA;MAAAP,QAAA,EAAA,CAAAD,IAAA,GAAO,cAAiB,GAAA,IAAA,EACxBC,QAAA,GACCA,WAECC,eAAAA,UAAAA,CAAAA,GAAA,CAAAO,EAAA,CAAAA,GAAA,EAAA;QAAIC,MAAM,CACT;QAAAT,QAAA,EAAA,eAAAM,UAAA,CAAAA,IAAA,CAACI,EAAM,CAAAA,KAAA,EAAA;UAAAC,KAAA,EAAO,CACX;UAAAX,QAAA,EAAA,CAAAH,KAAA,GAASI,eAAAA,UAAAA,CAAAA,GAAA,CAAAW,EAAAA,CAAAA,IAAA,EAAA;YAAKC,MAAO,EAAA,UAAA;YAAYb;UAAM,CAAA,CAAU,GAAA,IAAA,EACjDF,cAAeG,eAAAA,UAAAA,CAAAA,GAAA,CAAAW,EAAAA,CAAAA,IAAA,EAAA;YAAKvH,IAAM,EAAA,CAAA;YAAI2G;UAAY,CAAA,CAAU,GAAA,IAAA;QAAA,CACvD;MACF,CAAA,CAAA;IAEJ,CAAA;EACF,CAAA,CAAA;AAEJ;;;;;;AC/CA,IAAAtQ,EAAA,EAAAO,EAAA,EAAA6Q,EAAA;AAQA,MAAMC,YAAe,GAAA,SAAAA,CAAA,EAA2B;EAAA,IAA1BnB,KAAmB,GAAA5O,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAkG,SAAA,GAAAlG,SAAA,MAAA,EAAO;EAC9C,OAAQiP,eAAAA,UAAAA,CAAAA,GAAA,CAAAC,EAAAA,CAAAA,IAAA,EAAA;IAAKc,EAAG,EAAA,OAAA;IAAS,GAAGpB;EAAO,CAAA,CAAA;AACrC,CAAA;AAEA,MAAMqB,WAAA,GAAcC,wBAAOH,YAAY,CAAA,CACrC,MAAMI,MAAAA,CAAAA,GAAG,CAAAzR,EAAA,KAAAA,EAAA,GAAA0R,UAAA,CAAA,CAAA,sKAAA,CAAA,CAAA,CAAA,CAUX,CAAA;AAIO,SAASC,MAAMzB,KAAmB,EAAA;EACvC,MAAM;IAACI,QAAA;IAAU,GAAGsB;EAAA,CAAQ,GAAA1B,KAAA;EAE5B,OAAQK,eAAAA,UAAAA,CAAAA,GAAA,CAAAgB,WAAA,EAAA;IAAa,GAAGK,IAAA;IAAOtB;EAAS,CAAA,CAAA;AAC1C;AAGA,MAAMuB,UAAa,GAAA,SAAAA,CAAA,EAA2B;EAAA,IAA1B3B,KAAmB,GAAA5O,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAkG,SAAA,GAAAlG,SAAA,MAAA,EAAO;EAC5C,OAAQiP,eAAAA,UAAAA,CAAAA,GAAA,CAAAC,EAAAA,CAAAA,IAAA,EAAA;IAAKc,EAAG,EAAA,IAAA;IAAM,GAAGpB;EAAO,CAAA,CAAA;AAClC,CAAA;AAEA,MAAM4B,SAAA,GAAYN,wBAAOK,UAAU,CAAA,CACjC,MAAMJ,MAAAA,CAAAA,GAAG,CAAAlR,EAAA,KAAAA,EAAA,GAAAmR,UAAA,CAAA,CAAA,0FAAA,CAAA,CAAA,CAAA,CAOX,CAAA;AAIO,SAASK,IAAI7B,KAAsB,EAAA;EACxC,MAAM;IAACI,QAAA;IAAU,GAAGsB;EAAA,CAAQ,GAAA1B,KAAA;EAE5B,OAAQK,eAAAA,UAAAA,CAAAA,GAAA,CAAAuB,SAAA,EAAA;IAAW,GAAGF,IAAA;IAAOtB;EAAS,CAAA,CAAA;AACxC;AAGA,MAAM0B,WAAc,GAAA,SAAAA,CAAA,EAAgB;EAAA,IAAf9B,KAAQ,GAAA5O,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAkG,SAAA,GAAAlG,SAAA,MAAA,EAAO;EAClC,OAAQiP,eAAAA,UAAAA,CAAAA,GAAA,CAAAC,EAAAA,CAAAA,IAAA,EAAA;IAAKc,EAAG,EAAA,IAAA;IAAM,GAAGpB;EAAO,CAAA,CAAA;AAClC,CAAA;AAEA,MAAM+B,UAAA,GAAaT,wBAAOQ,WAAW,CAAA,CACnC,MAAMP,MAAAA,CAAAA,GAAG,CAAAL,EAAA,KAAAA,EAAA,GAAAM,UAAA,CAAA,CAAA,4FAAA,CAAA,CAAA,CAAA,CAOX,CAAA;AASO,SAASQ,KAAKhC,KAAuB,EAAA;EAC1C,MAAM;IAACI,QAAA;IAAU,GAAGsB;EAAA,CAAQ,GAAA1B,KAAA;EAE5B,OAAQK,eAAAA,UAAAA,CAAAA,GAAA,CAAA0B,UAAA,EAAA;IAAY,GAAGL,IAAA;IAAOtB;EAAS,CAAA,CAAA;AACzC;AC3EA,SAAS6B,WAAAA,CACPzE,OACA0E,YACgB,EAAA;EACT,OAAA1E,KAAA,CAAM1H,MAAO,CAACiI,IAAS,IAAA;IAC5B,MAAMoE,WAAe,GAAA,CAAApE,IAAA,CAAKoE,WAAe,IAAA,EAAA,EAAIC,WAAY,CAAA,CAAA;IACrD,IAAAD,WAAA,CAAYE,WAAWH,YAAY,CAAA,EAAU,OAAA,IAAA;IACjD,MAAMI,SAAa,GAAA,CAAAvE,IAAA,CAAKuE,SAAa,IAAA,EAAA,EAAIF,WAAY,CAAA,CAAA;IACjD,IAAAE,SAAA,CAAUD,WAAWH,YAAY,CAAA,EAAU,OAAA,IAAA;IAC/C,MAAMK,UAAc,GAAA,CAAAxE,IAAA,CAAKwE,UAAc,IAAA,EAAA,EAAIH,WAAY,CAAA,CAAA;IACnD,IAAAG,UAAA,CAAWF,WAAWH,YAAY,CAAA,EAAU,OAAA,IAAA;IAChD,MAAMM,UAAc,GAAA,CAAAzE,IAAA,CAAKyE,UAAc,IAAA,EAAA,EAAIJ,WAAY,CAAA,CAAA;IACnD,IAAAI,UAAA,CAAWH,WAAWH,YAAY,CAAA,EAAU,OAAA,IAAA;IAEzC,OAAA,KAAA;EAAA,CACR,CAAA;AACH;AAoBA,MAAMO,MAAiB,GAAA;EACrBC,KAAO,EAAA,eAAA;EACPC,QAAU,EAAA,iBAAA;EACVC,KAAO,EAAA,iBAAA;EACPC,iBAAmB,EAAA,cAAA;EACnBC,QAAU,EAAA;AACZ,CAAA;AAEO,SAASC,eAAe/C,KAA4B,EAAA;EACnD,MAAA;IACJtQ,QAAQ,EAAC;IACTsT,WAAW,EAAC;IACZC,KAAA;IACAC,QAAA;IACAC,OAAA;IACAC,QAAQ,CAAC;EACP,CAAA,GAAApD,KAAA;EACE,MAAAqD,MAAA,GAAA,CAASrD,+BAAOqD,MAAS,IAAA;IAAC,GAAGZ,MAAQ;IAAA,GAAGzC,KAAM,CAAAqD;EAAA,CAAU,GAAAZ,MAAA;EAE9D,MAAM,CAACP,YAAc,EAAAoB,eAAe,CAAI,GAAAvE,cAAAA,CAAAA,OAAA,CAAMrD,SAAS,EAAE,CAAA;EACzD,MAAM6H,aAAgB,GAAAtB,WAAA,CAAYe,QAAY,IAAA,IAAId,YAAY,CAAA;EAE9D,MAAMsB,KAAKR,QAAS,CAAAxE,IAAA,CAAMiF,CAAA,IAAMA,EAAE9E,aAAa,CAAA;EAC/C,MAAM+E,UAAa,GAAAF,EAAA,IAAM9T,KAAM,CAAAiU,QAAA,CAASH,GAAGxT,EAAE,CAAA;EAIvC,MAAA4T,KAAA,GAAQ1H,aAAyB,IAAI,CAAA;EAOrC,MAAA2H,kBAAA,GAAsBC,KAA+C,IAAA;IACzDR,eAAA,CAAAQ,KAAA,CAAMC,OAAOrU,KAAK,CAAA;EAAA,CACpC;EAEM,MAAAsU,YAAA,GAAeA,CAACC,SAAA,EAAoBlG,IAAuB,KAAA;IAC/D,IAAI,CAACkG,SAAW,EAAA;MACV,IAAAhB,KAAA,EAAOA,KAAA,CAAMlF,KAAK/N,EAAE,CAAA;IACf,CAAA,MAAA,IAAAkT,QAAA,EAAUA,QAAA,CAASnF,KAAK/N,EAAE,CAAA;EAAA,CACvC;EAEA,MAAMkU,qBAAqBA,CAAA,KAAM;IAC/B,IAAIV,EAAM,IAAAP,KAAA,EAAOA,KAAA,CAAMO,GAAGxT,EAAE,CAAA;EAAA,CAC9B;EAEA,MAAMmU,uBAAuBA,CAAA,KAAM;IACjC,IAAIX,EAAM,IAAAN,QAAA,EAAUA,QAAA,CAASM,GAAGxT,EAAE,CAAA;EAAA,CACpC;EAEA,MAAMoU,4BAA4BA,CAAA,KAAM;IAClC,IAAAjB,OAAA,EAAiBA,OAAA,EAAA;EAAA,CACvB;EAGE,OAAA,eAAAzC,eAAA,CAAC2D,EAAAA,CAAAA;IAAKjB,KACH;IAAAhD,QAAA,EAAA,CACCsD,UAAA,kBAAArD,UAAA,CAAAA,GAAA,CAACiE,EAAA,CAAAA,QAAA,EAAA;MACCxE,IAAK,EAAA,SAAA;MACLyE,UAAU,CAACf,EAAA;MACXgB,OAAS,EAAAL,oBAAA;MACThE,IAAM,EAAAsE,KAAA,CAAAA,gBAAA;MACNC,MAAMrB,MAAO,CAAAV;IAAA,CAAA,CAGf,kBAAAtC,UAAA,CAAAA,GAAA,CAACiE,EAAA,CAAAA,QAAA,EAAA;MACCxE,IAAK,EAAA,UAAA;MACL0E,OAAS,EAAAN,kBAAA;MACT/D,IAAM,EAAAwE,KAAA,CAAAA,aAAA;MACND,MAAMrB,MAAO,CAAAX;IAAA,CACf,CAAA,EAAA,eAGFrC,UAAA,CAAAA,GAAA,CAACiE,EAAA,CAAAA,QAAA,EAAA;MACCxE,IAAK,EAAA,UAAA;MACLyE,QAAA,EAAU7U,MAAM2B,MAAW,KAAA,CAAA;MAC3BmT,OAAS,EAAAJ,yBAAA;MACTjE,IAAM,EAAAyE,KAAA,CAAAA,WAAA;MACNF,MAAMrB,MAAO,CAAAT;IAAA,CACf,CAAA,EAEAvC,eAAAA,UAAAA,CAAAA,GAAA,CAACO,EAAAA,CAAAA,GAAI,EAAA;MAAAL,OAAA,EAAS,CACZ;MAAAH,QAAA,EAAA,eAAAC,UAAA,CAAAA,GAAA,CAACwE,EAAA,CAAAA,SAAA,EAAA;QACChV,GAAK,EAAA+T,KAAA;QACLkB,QAAU,EAAAjB,kBAAA;QACVkB,aAAa1B,MAAO,CAAAR,iBAAA;QACpBnT,KAAO,EAAAwS;MAAA,CAAA;KAEX,CAAA,EAECA,YAAA,IAAA,CAAgBqB,aAAe,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,aAAA,CAAAlS,MAAA,MAAW,CACzC,IAAAgP,eAAAA,UAAAA,CAAAA,GAAA,CAACiE,EAAAA,CAAAA;MAASC,QAAQ,EAAA,IAAA;MAACG,IAAM,EAAArB,MAAA,CAAOP;KAAU,CAAA,EAG3CS,aACC,IAAAA,aAAA,CAAczF,GAAI,CAACC,IACjB,IAAA,eAAAsC,UAAA,CAAAA,GAAA,CAACiE,EAAA,CAAAA,QAAA,EAAA;MAECU,OAAS,EAAAtV,KAAA,CAAMiU,QAAS,CAAA5F,IAAA,CAAK/N,EAAE,CAAA;MAC/BwU,OAAA,EAASA,CAAA,KAAMR,YAAa,CAAAtU,KAAA,CAAMuK,QAAQ8D,IAAK,CAAA/N,EAAE,CAAI,GAAA,CAAA,CAAA,EAAI+N,IAAI,CAAA;MAE7DqC,QAAA,EAAA,eAAAM,UAAA,CAAAA,IAAA,CAACC,EAAK,CAAAA,IAAA,EAAA;QAAAsE,KAAA,EAAM,QACV;QAAA7E,QAAA,EAAA,CAACC,eAAAA,UAAAA,CAAAA,GAAA,CAAA6E,MAAAA,CAAAA,UAAA,EAAA;UAAWnH,IAAY;UAAAtE,IAAA,EAAM;QAAG,CAAA,CAAA,EAAA,eACjC4G,UAAA,CAAAA,GAAA,CAACO,EAAI,CAAAA,GAAA,EAAA;UAAAuE,QAAA,EAAU,CAAG;UAAAtE,IAAA,EAAM;UACtBT,QAAC,EAAAC,eAAAA,UAAAA,CAAAA,GAAA,CAAAW,EAAAA,CAAAA,IAAA,EAAA;YAAMZ,QAAK,EAAArC,IAAA,CAAAoE;UAAA,CAAY;QAC1B,CAAA,CAAA,EACCpE,IAAA,CAAKY,aACJ,IAAA0B,eAAAA,UAAAA,CAAAA,GAAA,CAAC+E,EAAM,CAAAA,KAAA,EAAA;UAAAC,QAAA,EAAU;UAAGvF,IAAK,EAAA,UAAA;UAAWwF,IAAK,EAAA,SAAA;UAAUlF,QAEnD,EAAA;QAAA,CAAA,CAAA;OAEJ;IAAA,CAAA,EAdKrC,IAAK,CAAA/N,EAAA,CAgBb,CAAA;EACL,CAAA,CAAA;AAEJ;;;;;;;;;;","x_google_ignoreList":[0,1,2,3,4]}
|
package/lib/index.d.ts
CHANGED
|
@@ -51,7 +51,7 @@ declare type Labels = {
|
|
|
51
51
|
declare interface Return<V = Value> {
|
|
52
52
|
loading: boolean
|
|
53
53
|
error: boolean | unknown | ProgressEvent
|
|
54
|
-
data:
|
|
54
|
+
data: unknown | V
|
|
55
55
|
initialValue?: Value
|
|
56
56
|
}
|
|
57
57
|
|
|
@@ -125,6 +125,6 @@ declare type UserSelectMenuProps = {
|
|
|
125
125
|
style?: React_2.CSSProperties
|
|
126
126
|
}
|
|
127
127
|
|
|
128
|
-
declare type Value =
|
|
128
|
+
declare type Value = unknown
|
|
129
129
|
|
|
130
130
|
export {}
|