@jahia/data-helper 1.1.3 → 1.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,27 @@
1
+ # (Tue Sep 12 2023)
2
+
3
+ #### 🐛 Bug Fix
4
+
5
+ - BACKLOG-21525: fixed query refetch [#252](https://github.com/Jahia/javascript-components/pull/252) ([@tdraier](https://github.com/tdraier))
6
+
7
+ #### Authors: 1
8
+
9
+ - Thomas Draier ([@tdraier](https://github.com/tdraier))
10
+
11
+ ---
12
+
13
+ # (Tue May 30 2023)
14
+
15
+ #### 🐛 Bug Fix
16
+
17
+ - BACKLOG-21054: Fix legacy picker for vanity urls [#247](https://github.com/Jahia/javascript-components/pull/247) ([@gflores-jahia](https://github.com/gflores-jahia))
18
+
19
+ #### Authors: 1
20
+
21
+ - Geofrey Flores ([@gflores-jahia](https://github.com/gflores-jahia))
22
+
23
+ ---
24
+
1
25
  # (Thu May 25 2023)
2
26
 
3
27
  #### 🐛 Bug Fix
@@ -70,12 +70,13 @@ var timeoutHandler = function timeoutHandler(client) {
70
70
  });
71
71
  });
72
72
  } else {
73
- var watchedQuery = client.watchQuery(_objectSpread(_objectSpread({
73
+ var observableQuery = client.watchQuery(_objectSpread(_objectSpread({
74
74
  query: query,
75
75
  errorPolicy: 'ignore'
76
76
  }, queryOptions), {}, {
77
77
  variables: generatedVariables
78
- })).subscribe(function (_ref) {
78
+ }));
79
+ var subscription = observableQuery.subscribe(function (_ref) {
79
80
  var data = _ref.data,
80
81
  others = _objectWithoutProperties(_ref, _excluded);
81
82
  var result = getResult(data, others, options, query, generatedVariables);
@@ -84,15 +85,13 @@ var timeoutHandler = function timeoutHandler(client) {
84
85
  request.result = result;
85
86
  request.setResult(_objectSpread(_objectSpread({}, result), {}, {
86
87
  refetch: function refetch() {
87
- client.refetchQueries({
88
- include: [query]
89
- });
88
+ return observableQuery.refetch(generatedVariables);
90
89
  }
91
90
  }));
92
91
  }
93
92
  });
94
93
  });
95
- observedQueries.push(watchedQuery);
94
+ observedQueries.push(subscription);
96
95
  }
97
96
  });
98
97
  };
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useState","useApolloClient","getQuery","getEncodedPermissionName","getEncodedNodeTypeName","SCHEMA_FIELDS_QUERY","isSubset","merge","useMemoRequest","deepEquals","queue","schemaResult","timeout","observedQueries","scheduleQueue","client","window","setTimeout","timeoutHandler","clearTimeout","mergedQueue","forEach","request","toInsert","variables","queryOptions","options","originals","mergeable","find","q","JSON","stringify","push","_objectSpread","obs","unsubscribe","mergedRequest","_getQuery","query","generatedVariables","skip","setResult","loading","watchedQuery","watchQuery","errorPolicy","subscribe","_ref","data","others","_objectWithoutProperties","_excluded","result","getResult","refetch","refetchQueries","include","useNodeInfo","_useState","_useState2","_slicedToArray","type","then","_ref2","_useMemoRequest","_useMemoRequest2","currentRequest","queryHasChanged","splice","indexOf","fetchPolicy","infoQuery","res","readQuery","node","jcr","nodeByPath","nodeById","nodes","nodesByPath","nodesById","decodeResult","map","n","nodeOrig","site","getPermissions","name","getSitePermissions","getIsNodeTypes","getMimeType","resourceChildren","mimeType","length","value"],"sources":["useNodeInfo.ts"],"sourcesContent":["import {useEffect, useState} from 'react';\nimport {ApolloClient, ApolloError, NetworkStatus, useApolloClient, WatchQueryOptions} from '@apollo/client';\nimport {getQuery, NodeInfoOptions} from './useNodeInfo.gql-queries';\nimport {getEncodedPermissionName} from '../../fragments/getPermissionFragment';\nimport {getEncodedNodeTypeName} from '../../fragments/getIsNodeTypeFragment';\nimport {SCHEMA_FIELDS_QUERY} from '../useSchemaFields/useSchemaFields.gql-queries';\nimport {isSubset, merge} from './useNodeInfo.utils';\nimport {useMemoRequest} from './useMemoRequest';\nimport deepEquals from 'fast-deep-equal';\nimport {DocumentNode, GraphQLError} from 'graphql';\n\nexport type Request = {\n variables:{[key:string]: any},\n options: NodeInfoOptions,\n queryOptions: Partial<WatchQueryOptions>,\n}\n\nexport type QueuedRequest = Request & {\n result?: any,\n setResult: (data: any) => void\n}\n\nexport type MergedRequest = Request & { originals: QueuedRequest[] };\n\nexport type NodeInfoResult = {\n node?: any,\n nodes?: any[],\n errors?: readonly GraphQLError[],\n error?: ApolloError,\n loading?: boolean,\n networkStatus?: NetworkStatus,\n partial?: boolean,\n query?: DocumentNode,\n variables?: {[key:string]: any}\n}\n\nconst queue: QueuedRequest[] = [];\nlet schemaResult: any;\nlet timeout: number;\nlet observedQueries: { unsubscribe: () => void }[] = [];\n\nfunction scheduleQueue(client: ApolloClient<object>) {\n if (!timeout && schemaResult) {\n timeout = window.setTimeout(() => {\n timeoutHandler(client);\n clearTimeout(timeout);\n timeout = null;\n }, 0);\n }\n}\n\nconst timeoutHandler = (client: ApolloClient<object>) => {\n const mergedQueue: MergedRequest[] = [];\n\n queue.forEach(request => {\n const toInsert = {\n variables: request.variables,\n queryOptions: request.queryOptions,\n options: request.options,\n originals: [request]\n };\n\n const mergeable = mergedQueue.find(q => JSON.stringify(q.queryOptions) === JSON.stringify(toInsert.queryOptions) && (isSubset(q.variables, toInsert.variables) || isSubset(toInsert.variables, q.variables)));\n\n if (mergeable) {\n merge(mergeable, toInsert);\n } else {\n mergedQueue.push({\n variables: toInsert.variables && {...toInsert.variables},\n queryOptions: toInsert.queryOptions && {...toInsert.queryOptions},\n options: toInsert.options && {...toInsert.options},\n originals: toInsert.originals\n });\n }\n });\n\n observedQueries.forEach(obs => obs.unsubscribe());\n observedQueries = [];\n\n mergedQueue.forEach(mergedRequest => {\n const {variables, queryOptions, options, originals} = mergedRequest;\n const {query, generatedVariables, skip} = getQuery(variables, schemaResult, options);\n if (skip) {\n // No query to execute\n originals.forEach(request => {\n request.setResult({\n loading: false\n });\n });\n } else {\n const watchedQuery = client.watchQuery({query, errorPolicy: 'ignore', ...queryOptions, variables: generatedVariables}).subscribe(({data, ...others}) => {\n const result = getResult(data, others, options, query, generatedVariables);\n\n originals.forEach(request => {\n if (!deepEquals(request.result, result)) {\n request.result = result;\n request.setResult({\n ...result,\n refetch() {\n client.refetchQueries({include: [query]});\n }\n });\n }\n });\n });\n observedQueries.push(watchedQuery);\n }\n });\n};\n\nexport const useNodeInfo = (variables: {[key:string]: unknown}, options?: NodeInfoOptions, queryOptions?: Partial<WatchQueryOptions>) => {\n const [result, setResult] = useState<NodeInfoResult>({\n loading: true\n });\n\n const client = useApolloClient();\n\n if (!schemaResult) {\n client.query({query: SCHEMA_FIELDS_QUERY, variables: {type: 'GqlPublicationInfo'}}).then(({data}: {data: any}) => {\n schemaResult = data;\n scheduleQueue(client);\n });\n }\n\n // Normalize and memoize request\n const [currentRequest, queryHasChanged] = useMemoRequest(variables, queryOptions, options, setResult);\n useEffect(() => {\n queue.push(currentRequest);\n scheduleQueue(client);\n\n return () => {\n queue.splice(queue.indexOf(currentRequest), 1);\n };\n }, [client, currentRequest]);\n\n if (queryHasChanged && !result.loading) {\n if (queryOptions?.fetchPolicy !== 'no-cache' && queryOptions?.fetchPolicy !== 'network-only') {\n const infoQuery = getQuery(currentRequest.variables, schemaResult, currentRequest.options);\n const res = client.readQuery({query: infoQuery.query, variables: infoQuery.generatedVariables});\n if (res) {\n const result = getResult(res, {}, currentRequest.options, infoQuery.query, infoQuery.generatedVariables);\n setResult(result);\n return result;\n }\n }\n\n setResult({\n loading: true\n });\n return {loading: true};\n }\n\n return result;\n};\n\nconst getResult = (data: any, others: NodeInfoResult, options: NodeInfoOptions, query: DocumentNode, generatedVariables: {[key:string]: unknown}) => {\n const node: object = (data && data.jcr && (data.jcr.nodeByPath || data.jcr.nodeById)) || null;\n const nodes: object[] = (data && data.jcr && (data.jcr.nodesByPath || data.jcr.nodesById)) || null;\n let result = others;\n\n if (node) {\n result = {\n node: decodeResult(node, options),\n ...others,\n query,\n variables: generatedVariables\n };\n }\n\n if (nodes) {\n result = {\n nodes: nodes.map(n => decodeResult(n, options)),\n ...others,\n query,\n variables: generatedVariables\n };\n }\n\n return result;\n};\n\nconst decodeResult = (nodeOrig: any, options: NodeInfoOptions) => {\n const node = {...nodeOrig};\n if (node.site) {\n node.site = {...node.site};\n }\n\n if (node && options) {\n if (options.getPermissions) {\n options.getPermissions.forEach(name => {\n const res = node[getEncodedPermissionName(name)];\n delete node[getEncodedPermissionName(name)];\n node[name] = res;\n });\n }\n\n if (options.getSitePermissions) {\n options.getSitePermissions.forEach(name => {\n const res = node.site[getEncodedPermissionName(name)];\n delete node.site[getEncodedPermissionName(name)];\n node.site[name] = res;\n });\n }\n\n if (options.getIsNodeTypes) {\n options.getIsNodeTypes.forEach(name => {\n const res = node[getEncodedNodeTypeName(name)];\n delete node[getEncodedNodeTypeName(name)];\n node[name] = res;\n });\n }\n\n if (options.getMimeType) {\n const {nodes} = node.resourceChildren;\n node.mimeType = (nodes.length !== 0 && nodes[0].mimeType.value) || null;\n delete node.resourceChildren;\n }\n }\n\n return node;\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["useEffect","useState","useApolloClient","getQuery","getEncodedPermissionName","getEncodedNodeTypeName","SCHEMA_FIELDS_QUERY","isSubset","merge","useMemoRequest","deepEquals","queue","schemaResult","timeout","observedQueries","scheduleQueue","client","window","setTimeout","timeoutHandler","clearTimeout","mergedQueue","forEach","request","toInsert","variables","queryOptions","options","originals","mergeable","find","q","JSON","stringify","push","_objectSpread","obs","unsubscribe","mergedRequest","_getQuery","query","generatedVariables","skip","setResult","loading","observableQuery","watchQuery","errorPolicy","subscription","subscribe","_ref","data","others","_objectWithoutProperties","_excluded","result","getResult","refetch","useNodeInfo","_useState","_useState2","_slicedToArray","type","then","_ref2","_useMemoRequest","_useMemoRequest2","currentRequest","queryHasChanged","splice","indexOf","fetchPolicy","infoQuery","res","readQuery","node","jcr","nodeByPath","nodeById","nodes","nodesByPath","nodesById","decodeResult","map","n","nodeOrig","site","getPermissions","name","getSitePermissions","getIsNodeTypes","getMimeType","resourceChildren","mimeType","length","value"],"sources":["useNodeInfo.ts"],"sourcesContent":["import {useEffect, useState} from 'react';\nimport {ApolloClient, ApolloError, NetworkStatus, useApolloClient, WatchQueryOptions} from '@apollo/client';\nimport {getQuery, NodeInfoOptions} from './useNodeInfo.gql-queries';\nimport {getEncodedPermissionName} from '../../fragments/getPermissionFragment';\nimport {getEncodedNodeTypeName} from '../../fragments/getIsNodeTypeFragment';\nimport {SCHEMA_FIELDS_QUERY} from '../useSchemaFields/useSchemaFields.gql-queries';\nimport {isSubset, merge} from './useNodeInfo.utils';\nimport {useMemoRequest} from './useMemoRequest';\nimport deepEquals from 'fast-deep-equal';\nimport {DocumentNode, GraphQLError} from 'graphql';\n\nexport type Request = {\n variables:{[key:string]: any},\n options: NodeInfoOptions,\n queryOptions: Partial<WatchQueryOptions>,\n}\n\nexport type QueuedRequest = Request & {\n result?: any,\n setResult: (data: any) => void\n}\n\nexport type MergedRequest = Request & { originals: QueuedRequest[] };\n\nexport type NodeInfoResult = {\n node?: any,\n nodes?: any[],\n errors?: readonly GraphQLError[],\n error?: ApolloError,\n loading?: boolean,\n networkStatus?: NetworkStatus,\n partial?: boolean,\n query?: DocumentNode,\n variables?: {[key:string]: any}\n}\n\nconst queue: QueuedRequest[] = [];\nlet schemaResult: any;\nlet timeout: number;\nlet observedQueries: { unsubscribe: () => void }[] = [];\n\nfunction scheduleQueue(client: ApolloClient<object>) {\n if (!timeout && schemaResult) {\n timeout = window.setTimeout(() => {\n timeoutHandler(client);\n clearTimeout(timeout);\n timeout = null;\n }, 0);\n }\n}\n\nconst timeoutHandler = (client: ApolloClient<object>) => {\n const mergedQueue: MergedRequest[] = [];\n\n queue.forEach(request => {\n const toInsert = {\n variables: request.variables,\n queryOptions: request.queryOptions,\n options: request.options,\n originals: [request]\n };\n\n const mergeable = mergedQueue.find(q => JSON.stringify(q.queryOptions) === JSON.stringify(toInsert.queryOptions) && (isSubset(q.variables, toInsert.variables) || isSubset(toInsert.variables, q.variables)));\n\n if (mergeable) {\n merge(mergeable, toInsert);\n } else {\n mergedQueue.push({\n variables: toInsert.variables && {...toInsert.variables},\n queryOptions: toInsert.queryOptions && {...toInsert.queryOptions},\n options: toInsert.options && {...toInsert.options},\n originals: toInsert.originals\n });\n }\n });\n\n observedQueries.forEach(obs => obs.unsubscribe());\n observedQueries = [];\n\n mergedQueue.forEach(mergedRequest => {\n const {variables, queryOptions, options, originals} = mergedRequest;\n const {query, generatedVariables, skip} = getQuery(variables, schemaResult, options);\n if (skip) {\n // No query to execute\n originals.forEach(request => {\n request.setResult({\n loading: false\n });\n });\n } else {\n const observableQuery = client.watchQuery({query, errorPolicy: 'ignore', ...queryOptions, variables: generatedVariables});\n const subscription = observableQuery.subscribe(({data, ...others}) => {\n const result = getResult(data, others, options, query, generatedVariables);\n originals.forEach(request => {\n if (!deepEquals(request.result, result)) {\n request.result = result;\n request.setResult({\n ...result,\n refetch() {\n return observableQuery.refetch(generatedVariables);\n }\n });\n }\n });\n });\n observedQueries.push(subscription);\n }\n });\n};\n\nexport const useNodeInfo = (variables: {[key:string]: unknown}, options?: NodeInfoOptions, queryOptions?: Partial<WatchQueryOptions>) => {\n const [result, setResult] = useState<NodeInfoResult>({\n loading: true\n });\n\n const client = useApolloClient();\n\n if (!schemaResult) {\n client.query({query: SCHEMA_FIELDS_QUERY, variables: {type: 'GqlPublicationInfo'}}).then(({data}: {data: any}) => {\n schemaResult = data;\n scheduleQueue(client);\n });\n }\n\n // Normalize and memoize request\n const [currentRequest, queryHasChanged] = useMemoRequest(variables, queryOptions, options, setResult);\n useEffect(() => {\n queue.push(currentRequest);\n scheduleQueue(client);\n\n return () => {\n queue.splice(queue.indexOf(currentRequest), 1);\n };\n }, [client, currentRequest]);\n\n if (queryHasChanged && !result.loading) {\n if (queryOptions?.fetchPolicy !== 'no-cache' && queryOptions?.fetchPolicy !== 'network-only') {\n const infoQuery = getQuery(currentRequest.variables, schemaResult, currentRequest.options);\n const res = client.readQuery({query: infoQuery.query, variables: infoQuery.generatedVariables});\n if (res) {\n const result = getResult(res, {}, currentRequest.options, infoQuery.query, infoQuery.generatedVariables);\n setResult(result);\n return result;\n }\n }\n\n setResult({\n loading: true\n });\n return {loading: true};\n }\n\n return result;\n};\n\nconst getResult = (data: any, others: NodeInfoResult, options: NodeInfoOptions, query: DocumentNode, generatedVariables: {[key:string]: unknown}) => {\n const node: object = (data && data.jcr && (data.jcr.nodeByPath || data.jcr.nodeById)) || null;\n const nodes: object[] = (data && data.jcr && (data.jcr.nodesByPath || data.jcr.nodesById)) || null;\n let result = others;\n\n if (node) {\n result = {\n node: decodeResult(node, options),\n ...others,\n query,\n variables: generatedVariables\n };\n }\n\n if (nodes) {\n result = {\n nodes: nodes.map(n => decodeResult(n, options)),\n ...others,\n query,\n variables: generatedVariables\n };\n }\n\n return result;\n};\n\nconst decodeResult = (nodeOrig: any, options: NodeInfoOptions) => {\n const node = {...nodeOrig};\n if (node.site) {\n node.site = {...node.site};\n }\n\n if (node && options) {\n if (options.getPermissions) {\n options.getPermissions.forEach(name => {\n const res = node[getEncodedPermissionName(name)];\n delete node[getEncodedPermissionName(name)];\n node[name] = res;\n });\n }\n\n if (options.getSitePermissions) {\n options.getSitePermissions.forEach(name => {\n const res = node.site[getEncodedPermissionName(name)];\n delete node.site[getEncodedPermissionName(name)];\n node.site[name] = res;\n });\n }\n\n if (options.getIsNodeTypes) {\n options.getIsNodeTypes.forEach(name => {\n const res = node[getEncodedNodeTypeName(name)];\n delete node[getEncodedNodeTypeName(name)];\n node[name] = res;\n });\n }\n\n if (options.getMimeType) {\n const {nodes} = node.resourceChildren;\n node.mimeType = (nodes.length !== 0 && nodes[0].mimeType.value) || null;\n delete node.resourceChildren;\n }\n }\n\n return node;\n};\n"],"mappings":"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"}
@@ -45,7 +45,7 @@ export var Picker = /*#__PURE__*/function (_React$Component) {
45
45
  _this.query = replaceFragmentsInDocument(_this.query, resolvedFragments);
46
46
  var state = {};
47
47
  _this.eventsHandlers = {};
48
- if (openPaths === null) {
48
+ if (!openPaths) {
49
49
  // Uncontrolled mode
50
50
  state.isOpenControlled = false;
51
51
  state.openPaths = [];
@@ -67,7 +67,7 @@ export var Picker = /*#__PURE__*/function (_React$Component) {
67
67
  _this.eventsHandlers.onOpenItem = onOpenItem;
68
68
  }
69
69
  }
70
- if (selectedPaths === null) {
70
+ if (!selectedPaths) {
71
71
  // Uncontrolled mode
72
72
  state.isSelectControlled = false;
73
73
  state.selectedPaths = defaultSelectedPaths ? clone(defaultSelectedPaths) : [];
@@ -230,7 +230,7 @@ export var Picker = /*#__PURE__*/function (_React$Component) {
230
230
  value: function render() {
231
231
  var _this4 = this;
232
232
  var selectedPaths = this.state.selectedPaths ? this.state.selectedPaths : this.props.selectedPaths;
233
- var openPaths = this.state.openPaths ? this.state.openPaths : this.props.openPaths;
233
+ var openPaths = this.state.openPaths || this.props.openPaths;
234
234
  var setRefetch = this.props.setRefetch;
235
235
  openPaths = clone(openPaths);
236
236
  var vars = this.getVariables(selectedPaths, openPaths);
@@ -284,7 +284,7 @@ export var Picker = /*#__PURE__*/function (_React$Component) {
284
284
  }], [{
285
285
  key: "getDerivedStateFromProps",
286
286
  value: function getDerivedStateFromProps(nextProps, prevState) {
287
- if (prevState.isOpenControlled !== (nextProps.openPaths !== null) || prevState.isSelectControlled !== (nextProps.selectedPaths !== null)) {
287
+ if (prevState.isOpenControlled !== Boolean(nextProps.openPaths) || prevState.isSelectControlled !== Boolean(nextProps.selectedPaths)) {
288
288
  console.warn('Cannot change between controlled/uncontrolled modes');
289
289
  }
290
290
  var newState = {};
@@ -1 +1 @@
1
- {"version":3,"names":["React","Query","gql","displayName","nodeCacheRequiredFields","replaceFragmentsInDocument","PickerItemsFragment","rfdc","deepEquals","clone","Picker","_React$Component","_inherits","_super","_createSuper","props","_this","_classCallCheck","call","fragments","rootPaths","onOpenItem","onSelectItem","openPaths","selectedPaths","defaultSelectedPaths","onSelectionChange","defaultOpenPaths","resolvedFragments","mixinTypes","primaryNodeType","isPublished","query","_templateObject","_taggedTemplateLiteral","state","eventsHandlers","isOpenControlled","path","open","setState","prevState","concat","_toConsumableArray","filter","thispath","addPathToOpenPath","isSelectControlled","selected","multiple","newSelectedPaths","bind","_assertThisInitialized","_createClass","key","value","getVariables","_this$props","openableTypes","selectableTypes","queryVariables","vars","types","Set","selectable","openable","Object","assign","getPickerEntries","data","_this2","pickerEntries","nodesById","jcr","addNode","node","depth","index","indexOf","pickerNode","name","prefix","repeat","hidden","hasChildren","children","pageInfo","nodesCount","splice","uuid","rootNodes","forEach","rootNode","root","hideRoot","openNodes","sort","a","b","parent","parentIndex","nodes","slice","reverse","child","selectedNodes","map","s","pathsToOpen","rootFound","endsWith","_path$split","split","_path$split2","_toArray","tail","reduce","acc","it","rootPath","startsWith","includes","push","paths","_this3","Array","render","_this4","setRefetch","createElement","variables","fetchPolicy","result","error","loading","refetch","queryParams","renderProp","onLoading","previousEntries","_objectSpread","getDerivedStateFromProps","nextProps","console","warn","newState","Component","_defineProperty","_pt","array","arrayOf","string","func","isRequired","objectOf","any","bool"],"sources":["Picker.tsx"],"sourcesContent":["// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-nocheck\nimport React from 'react';\nimport {Query} from '@apollo/react-components';\nimport gql from 'graphql-tag';\nimport {displayName, Fragment, nodeCacheRequiredFields, replaceFragmentsInDocument} from '../fragments';\nimport {PickerItemsFragment} from './Picker.gql-fragments';\nimport {DocumentNode} from 'graphql';\nimport {QueryResult} from '@apollo/client';\nimport rfdc from 'rfdc';\nimport deepEquals from 'fast-deep-equal';\n\nconst clone = rfdc();\n\ntype PropType = {\n /**\n * Optional set of fragments to add to the graphQL query. Can be a string that identify a predefinedFragment or a fragment definition\n */\n fragments?: (string| Fragment)[],\n\n /**\n * List of root paths for the picker\n */\n rootPaths?: string[],\n\n onOpenItem?: (path:string, open:boolean) => void\n\n onSelectItem?: (path:string, selected: boolean, multiple:boolean) => void,\n\n /**\n * List of open folders in controlled mode\n */\n openPaths?: string[],\n\n /**\n * List of selected path in controlled mode\n */\n selectedPaths?: string[],\n\n /**\n * Preselected items path (uncontrolled mode)\n */\n defaultSelectedPaths?: string[],\n\n /**\n * Callback when the selection has changed\n */\n onSelectionChange?: (paths:string[]) => void,\n\n /**\n * List of folder paths that are open by default (uncontrolled mode)\n */\n defaultOpenPaths?: string[],\n\n /**\n * List of node types that can be \"opened\" (folders)\n */\n openableTypes?: string[],\n\n /**\n * List of node types that can be \"selected\" (items)\n */\n selectableTypes?: string[],\n\n onLoading: (l: boolean) => void,\n\n /**\n * Optional set of variable to pass to the graphQL query, in order to fulfill fragments needs\n */\n queryVariables?: {[key:string]: any},\n\n hideRoot?: boolean,\n\n /**\n * Optional function which receives refetch function of the Query component when the component is strapped\n */\n setRefetch: (p: any) => void,\n\n children: (p: any) => React.ReactElement\n};\n\ntype StateType = {\n isOpenControlled?: boolean,\n isSelectControlled?: boolean,\n openPaths?: string[],\n selectedPaths?: string[]\n};\n\nexport class Picker extends React.Component<PropType, StateType> {\n query: DocumentNode;\n eventsHandlers: {onOpenItem?: (path:string, open:boolean) => void, onSelectItem?: (path:string, selected: boolean, multiple:boolean) => void};\n previousEntries: any;\n\n constructor(props: PropType) {\n super(props);\n\n const {\n fragments,\n rootPaths,\n onOpenItem,\n onSelectItem,\n openPaths,\n selectedPaths,\n defaultSelectedPaths,\n onSelectionChange,\n defaultOpenPaths\n } = props;\n\n const resolvedFragments = fragments || [PickerItemsFragment.mixinTypes, PickerItemsFragment.primaryNodeType, PickerItemsFragment.isPublished, displayName];\n\n this.query = gql`\n query PickerQuery($rootPaths:[String!]!, $selectable:[String]!, $openable:[String]!, $openPaths:[String!]!, $types:[String]!) {\n jcr {\n rootNodes:nodesByPath(paths: $rootPaths) {\n name\n children(typesFilter:{types:$types}, limit:1) {\n pageInfo {\n nodesCount\n }\n }\n selectable : isNodeType(type: {types:$selectable})\n openable : isNodeType(type: {types:$openable})\n ... NodeCacheRequiredFields\n ... node\n },\n openNodes:nodesByPath(paths: $openPaths) {\n ... NodeCacheRequiredFields\n children(typesFilter:{types:$types}) {\n nodes {\n name\n children(typesFilter:{types:$types}, limit:1) {\n pageInfo {\n nodesCount\n }\n }\n selectable : isNodeType(type: {types:$selectable})\n openable : isNodeType(type: {types:$openable})\n ... NodeCacheRequiredFields\n ... node\n }\n }\n }\n }\n }\n ${nodeCacheRequiredFields.gql}`;\n this.query = replaceFragmentsInDocument(this.query, resolvedFragments);\n\n const state: StateType = {};\n\n this.eventsHandlers = {};\n\n if (openPaths === null) {\n // Uncontrolled mode\n state.isOpenControlled = false;\n state.openPaths = [];\n this.eventsHandlers.onOpenItem = (path, open) => {\n this.setState(prevState => ({\n openPaths: open ?\n [...prevState.openPaths, path] :\n prevState.openPaths.filter(thispath => thispath !== path)\n }));\n };\n\n if (defaultOpenPaths) {\n state.openPaths = this.addPathToOpenPath(defaultOpenPaths, rootPaths, state.openPaths);\n }\n } else {\n state.isOpenControlled = true;\n if (onOpenItem) {\n this.eventsHandlers.onOpenItem = onOpenItem;\n }\n }\n\n if (selectedPaths === null) {\n // Uncontrolled mode\n state.isSelectControlled = false;\n state.selectedPaths = defaultSelectedPaths ? clone(defaultSelectedPaths) : [];\n // Open selected path if open is uncontrolled\n if (defaultSelectedPaths && !state.isOpenControlled) {\n state.openPaths = this.addPathToOpenPath(defaultSelectedPaths, rootPaths, state.openPaths);\n }\n\n this.eventsHandlers.onSelectItem = (path, selected, multiple) => {\n this.setState(prevState => {\n const newSelectedPaths = selected ?\n [...(multiple ? prevState.selectedPaths : []), path] :\n prevState.selectedPaths.filter(thispath => thispath !== path);\n onSelectionChange(newSelectedPaths);\n return {\n selectedPaths: newSelectedPaths\n };\n });\n };\n } else if (onSelectItem) {\n state.isSelectControlled = true;\n if (onSelectItem) {\n this.eventsHandlers.onSelectItem = onSelectItem;\n }\n }\n\n this.state = state;\n\n // Binding\n this.openPaths = this.openPaths.bind(this);\n }\n\n static getDerivedStateFromProps(nextProps: PropType, prevState: StateType) {\n if ((prevState.isOpenControlled !== (nextProps.openPaths !== null)) || (prevState.isSelectControlled !== (nextProps.selectedPaths !== null))) {\n console.warn('Cannot change between controlled/uncontrolled modes');\n }\n\n const newState: StateType = {};\n\n if (prevState.isOpenControlled && !deepEquals(nextProps.openPaths, prevState.openPaths)) {\n newState.openPaths = nextProps.openPaths;\n }\n\n if (prevState.isSelectControlled && !deepEquals(nextProps.selectedPaths, prevState.selectedPaths)) {\n newState.selectedPaths = nextProps.selectedPaths;\n }\n\n if (newState.openPaths || newState.selectedPaths) {\n return newState;\n }\n\n return null;\n }\n\n getVariables(selectedPaths: string[], openPaths: string[]) {\n const {rootPaths, openableTypes, selectableTypes, queryVariables} = this.props;\n\n const vars = {\n rootPaths,\n types: [...new Set([...openableTypes, ...selectableTypes])],\n selectable: selectableTypes,\n openable: openableTypes,\n openPaths\n };\n\n if (queryVariables) {\n Object.assign(vars, queryVariables);\n }\n\n return vars;\n }\n\n getPickerEntries(data: any, selectedPaths: string[], openPaths: string[]) {\n let pickerEntries: any[] = [];\n const nodesById:any = {};\n const {jcr} = data;\n\n const addNode = function (node:any, depth:number, index:number) {\n let selected = false;\n if (node.selectable) {\n selected = selectedPaths.indexOf(node.path) !== -1;\n }\n\n const pickerNode = {\n name: node.name,\n path: node.path,\n open: node.openable && openPaths.indexOf(node.path) !== -1,\n selected,\n openable: node.openable,\n selectable: node.selectable,\n depth,\n prefix: '&nbsp;'.repeat(depth * 3),\n node,\n hidden: false,\n hasChildren: node.children.pageInfo.nodesCount > 0\n };\n pickerEntries.splice(index, 0, pickerNode);\n nodesById[node.uuid] = pickerNode;\n return pickerNode;\n };\n\n if (jcr) {\n if (jcr.rootNodes) {\n jcr.rootNodes.forEach((rootNode: any) => {\n const root = addNode(rootNode, 0, 0);\n root.hidden = this.props.hideRoot || false;\n });\n }\n\n if (jcr.openNodes) {\n jcr.openNodes.concat()\n .sort((a: any, b: any) => (a.path > b.path) ? 1 : ((b.path > a.path) ? -1 : 0))\n .forEach((node: any) => {\n const parent = nodesById[node.uuid];\n if (parent) {\n const parentIndex = pickerEntries.indexOf(parent);\n node.children.nodes.slice().reverse().forEach((child: any) => {\n addNode(child, parent.depth + 1, parentIndex + 1);\n });\n }\n });\n }\n }\n\n // Nodes loaded, fill selection list\n const selectedNodes = pickerEntries.filter(node => node.selected).map(node => node.node);\n\n selectedPaths = selectedNodes.map(s => s.path);\n pickerEntries = pickerEntries.filter(pickerNode => !pickerNode.hidden);\n\n return pickerEntries;\n }\n\n addPathToOpenPath(pathsToOpen: string[], rootPaths:string[], openPaths: string[]) {\n pathsToOpen.forEach(path => {\n let rootFound: false | string = false;\n if (!path.endsWith('/')) {\n path += '/';\n }\n\n const [...tail] = path.split('/');\n tail.reduce((acc, it) => {\n if (!rootFound) {\n rootPaths.forEach(rootPath => {\n rootFound = rootFound || (acc.startsWith(rootPath) && rootPath);\n });\n }\n\n if (rootFound && !openPaths.includes(acc)) {\n openPaths.push(acc);\n if (!openPaths.includes(rootFound)) {\n openPaths.push(rootFound);\n }\n }\n\n return acc + '/' + it;\n }, '');\n });\n return openPaths;\n }\n\n openPaths(paths: string[]) {\n if (!(paths instanceof Array)) {\n paths = [paths];\n }\n\n this.setState(prevState => {\n const openPaths = this.addPathToOpenPath(paths, this.props.rootPaths, prevState.openPaths);\n return {openPaths};\n });\n }\n\n render() {\n const selectedPaths = this.state.selectedPaths ? this.state.selectedPaths : this.props.selectedPaths;\n let openPaths = this.state.openPaths ? this.state.openPaths : this.props.openPaths;\n const {setRefetch} = this.props;\n\n openPaths = clone(openPaths);\n\n const vars = this.getVariables(selectedPaths, openPaths);\n\n return (\n <Query query={this.query} variables={vars} fetchPolicy=\"cache-first\">\n {(result: QueryResult): React.JSX.Element => {\n const {error, loading, data, refetch} = result;\n if (setRefetch) {\n setRefetch({\n query: this.query,\n queryParams: vars,\n refetch\n });\n }\n\n const renderProp = this.props.children;\n if (this.props.onLoading) {\n this.props.onLoading(loading);\n }\n\n if (loading) {\n if (this.previousEntries) {\n return renderProp({pickerEntries: this.previousEntries, loading, ...this.eventsHandlers});\n }\n\n return renderProp({pickerEntries: [], loading, ...this.eventsHandlers});\n }\n\n if (error) {\n return renderProp({pickerEntries: [], error, loading, ...this.eventsHandlers});\n }\n\n const pickerEntries = this.getPickerEntries(data, selectedPaths, openPaths);\n this.previousEntries = pickerEntries;\n\n return renderProp({pickerEntries, loading, ...this.eventsHandlers});\n }}\n </Query>\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","Query","gql","displayName","nodeCacheRequiredFields","replaceFragmentsInDocument","PickerItemsFragment","rfdc","deepEquals","clone","Picker","_React$Component","_inherits","_super","_createSuper","props","_this","_classCallCheck","call","fragments","rootPaths","onOpenItem","onSelectItem","openPaths","selectedPaths","defaultSelectedPaths","onSelectionChange","defaultOpenPaths","resolvedFragments","mixinTypes","primaryNodeType","isPublished","query","_templateObject","_taggedTemplateLiteral","state","eventsHandlers","isOpenControlled","path","open","setState","prevState","concat","_toConsumableArray","filter","thispath","addPathToOpenPath","isSelectControlled","selected","multiple","newSelectedPaths","bind","_assertThisInitialized","_createClass","key","value","getVariables","_this$props","openableTypes","selectableTypes","queryVariables","vars","types","Set","selectable","openable","Object","assign","getPickerEntries","data","_this2","pickerEntries","nodesById","jcr","addNode","node","depth","index","indexOf","pickerNode","name","prefix","repeat","hidden","hasChildren","children","pageInfo","nodesCount","splice","uuid","rootNodes","forEach","rootNode","root","hideRoot","openNodes","sort","a","b","parent","parentIndex","nodes","slice","reverse","child","selectedNodes","map","s","pathsToOpen","rootFound","endsWith","_path$split","split","_path$split2","_toArray","tail","reduce","acc","it","rootPath","startsWith","includes","push","paths","_this3","Array","render","_this4","setRefetch","createElement","variables","fetchPolicy","result","error","loading","refetch","queryParams","renderProp","onLoading","previousEntries","_objectSpread","getDerivedStateFromProps","nextProps","Boolean","console","warn","newState","Component","_defineProperty","_pt","array","arrayOf","string","func","isRequired","objectOf","any","bool"],"sources":["Picker.tsx"],"sourcesContent":["// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-nocheck\nimport React from 'react';\nimport {Query} from '@apollo/react-components';\nimport gql from 'graphql-tag';\nimport {displayName, Fragment, nodeCacheRequiredFields, replaceFragmentsInDocument} from '../fragments';\nimport {PickerItemsFragment} from './Picker.gql-fragments';\nimport {DocumentNode} from 'graphql';\nimport {QueryResult} from '@apollo/client';\nimport rfdc from 'rfdc';\nimport deepEquals from 'fast-deep-equal';\n\nconst clone = rfdc();\n\ntype PropType = {\n /**\n * Optional set of fragments to add to the graphQL query. Can be a string that identify a predefinedFragment or a fragment definition\n */\n fragments?: (string| Fragment)[],\n\n /**\n * List of root paths for the picker\n */\n rootPaths?: string[],\n\n onOpenItem?: (path:string, open:boolean) => void\n\n onSelectItem?: (path:string, selected: boolean, multiple:boolean) => void,\n\n /**\n * List of open folders in controlled mode\n */\n openPaths?: string[],\n\n /**\n * List of selected path in controlled mode\n */\n selectedPaths?: string[],\n\n /**\n * Preselected items path (uncontrolled mode)\n */\n defaultSelectedPaths?: string[],\n\n /**\n * Callback when the selection has changed\n */\n onSelectionChange?: (paths:string[]) => void,\n\n /**\n * List of folder paths that are open by default (uncontrolled mode)\n */\n defaultOpenPaths?: string[],\n\n /**\n * List of node types that can be \"opened\" (folders)\n */\n openableTypes?: string[],\n\n /**\n * List of node types that can be \"selected\" (items)\n */\n selectableTypes?: string[],\n\n onLoading: (l: boolean) => void,\n\n /**\n * Optional set of variable to pass to the graphQL query, in order to fulfill fragments needs\n */\n queryVariables?: {[key:string]: any},\n\n hideRoot?: boolean,\n\n /**\n * Optional function which receives refetch function of the Query component when the component is strapped\n */\n setRefetch: (p: any) => void,\n\n children: (p: any) => React.ReactElement\n};\n\ntype StateType = {\n isOpenControlled?: boolean,\n isSelectControlled?: boolean,\n openPaths?: string[],\n selectedPaths?: string[]\n};\n\nexport class Picker extends React.Component<PropType, StateType> {\n query: DocumentNode;\n eventsHandlers: {onOpenItem?: (path:string, open:boolean) => void, onSelectItem?: (path:string, selected: boolean, multiple:boolean) => void};\n previousEntries: any;\n\n constructor(props: PropType) {\n super(props);\n\n const {\n fragments,\n rootPaths,\n onOpenItem,\n onSelectItem,\n openPaths,\n selectedPaths,\n defaultSelectedPaths,\n onSelectionChange,\n defaultOpenPaths\n } = props;\n\n const resolvedFragments = fragments || [PickerItemsFragment.mixinTypes, PickerItemsFragment.primaryNodeType, PickerItemsFragment.isPublished, displayName];\n\n this.query = gql`\n query PickerQuery($rootPaths:[String!]!, $selectable:[String]!, $openable:[String]!, $openPaths:[String!]!, $types:[String]!) {\n jcr {\n rootNodes:nodesByPath(paths: $rootPaths) {\n name\n children(typesFilter:{types:$types}, limit:1) {\n pageInfo {\n nodesCount\n }\n }\n selectable : isNodeType(type: {types:$selectable})\n openable : isNodeType(type: {types:$openable})\n ... NodeCacheRequiredFields\n ... node\n },\n openNodes:nodesByPath(paths: $openPaths) {\n ... NodeCacheRequiredFields\n children(typesFilter:{types:$types}) {\n nodes {\n name\n children(typesFilter:{types:$types}, limit:1) {\n pageInfo {\n nodesCount\n }\n }\n selectable : isNodeType(type: {types:$selectable})\n openable : isNodeType(type: {types:$openable})\n ... NodeCacheRequiredFields\n ... node\n }\n }\n }\n }\n }\n ${nodeCacheRequiredFields.gql}`;\n this.query = replaceFragmentsInDocument(this.query, resolvedFragments);\n\n const state: StateType = {};\n\n this.eventsHandlers = {};\n\n if (!openPaths) {\n // Uncontrolled mode\n state.isOpenControlled = false;\n state.openPaths = [];\n this.eventsHandlers.onOpenItem = (path, open) => {\n this.setState(prevState => ({\n openPaths: open ?\n [...prevState.openPaths, path] :\n prevState.openPaths.filter(thispath => thispath !== path)\n }));\n };\n\n if (defaultOpenPaths) {\n state.openPaths = this.addPathToOpenPath(defaultOpenPaths, rootPaths, state.openPaths);\n }\n } else {\n state.isOpenControlled = true;\n if (onOpenItem) {\n this.eventsHandlers.onOpenItem = onOpenItem;\n }\n }\n\n if (!selectedPaths) {\n // Uncontrolled mode\n state.isSelectControlled = false;\n state.selectedPaths = defaultSelectedPaths ? clone(defaultSelectedPaths) : [];\n // Open selected path if open is uncontrolled\n if (defaultSelectedPaths && !state.isOpenControlled) {\n state.openPaths = this.addPathToOpenPath(defaultSelectedPaths, rootPaths, state.openPaths);\n }\n\n this.eventsHandlers.onSelectItem = (path, selected, multiple) => {\n this.setState(prevState => {\n const newSelectedPaths = selected ?\n [...(multiple ? prevState.selectedPaths : []), path] :\n prevState.selectedPaths.filter(thispath => thispath !== path);\n onSelectionChange(newSelectedPaths);\n return {\n selectedPaths: newSelectedPaths\n };\n });\n };\n } else if (onSelectItem) {\n state.isSelectControlled = true;\n if (onSelectItem) {\n this.eventsHandlers.onSelectItem = onSelectItem;\n }\n }\n\n this.state = state;\n\n // Binding\n this.openPaths = this.openPaths.bind(this);\n }\n\n static getDerivedStateFromProps(nextProps: PropType, prevState: StateType) {\n if ((prevState.isOpenControlled !== Boolean(nextProps.openPaths)) || (prevState.isSelectControlled !== Boolean(nextProps.selectedPaths))) {\n console.warn('Cannot change between controlled/uncontrolled modes');\n }\n\n const newState: StateType = {};\n\n if (prevState.isOpenControlled && !deepEquals(nextProps.openPaths, prevState.openPaths)) {\n newState.openPaths = nextProps.openPaths;\n }\n\n if (prevState.isSelectControlled && !deepEquals(nextProps.selectedPaths, prevState.selectedPaths)) {\n newState.selectedPaths = nextProps.selectedPaths;\n }\n\n if (newState.openPaths || newState.selectedPaths) {\n return newState;\n }\n\n return null;\n }\n\n getVariables(selectedPaths: string[], openPaths: string[]) {\n const {rootPaths, openableTypes, selectableTypes, queryVariables} = this.props;\n\n const vars = {\n rootPaths,\n types: [...new Set([...openableTypes, ...selectableTypes])],\n selectable: selectableTypes,\n openable: openableTypes,\n openPaths\n };\n\n if (queryVariables) {\n Object.assign(vars, queryVariables);\n }\n\n return vars;\n }\n\n getPickerEntries(data: any, selectedPaths: string[], openPaths: string[]) {\n let pickerEntries: any[] = [];\n const nodesById:any = {};\n const {jcr} = data;\n\n const addNode = function (node:any, depth:number, index:number) {\n let selected = false;\n if (node.selectable) {\n selected = selectedPaths.indexOf(node.path) !== -1;\n }\n\n const pickerNode = {\n name: node.name,\n path: node.path,\n open: node.openable && openPaths.indexOf(node.path) !== -1,\n selected,\n openable: node.openable,\n selectable: node.selectable,\n depth,\n prefix: '&nbsp;'.repeat(depth * 3),\n node,\n hidden: false,\n hasChildren: node.children.pageInfo.nodesCount > 0\n };\n pickerEntries.splice(index, 0, pickerNode);\n nodesById[node.uuid] = pickerNode;\n return pickerNode;\n };\n\n if (jcr) {\n if (jcr.rootNodes) {\n jcr.rootNodes.forEach((rootNode: any) => {\n const root = addNode(rootNode, 0, 0);\n root.hidden = this.props.hideRoot || false;\n });\n }\n\n if (jcr.openNodes) {\n jcr.openNodes.concat()\n .sort((a: any, b: any) => (a.path > b.path) ? 1 : ((b.path > a.path) ? -1 : 0))\n .forEach((node: any) => {\n const parent = nodesById[node.uuid];\n if (parent) {\n const parentIndex = pickerEntries.indexOf(parent);\n node.children.nodes.slice().reverse().forEach((child: any) => {\n addNode(child, parent.depth + 1, parentIndex + 1);\n });\n }\n });\n }\n }\n\n // Nodes loaded, fill selection list\n const selectedNodes = pickerEntries.filter(node => node.selected).map(node => node.node);\n\n selectedPaths = selectedNodes.map(s => s.path);\n pickerEntries = pickerEntries.filter(pickerNode => !pickerNode.hidden);\n\n return pickerEntries;\n }\n\n addPathToOpenPath(pathsToOpen: string[], rootPaths:string[], openPaths: string[]) {\n pathsToOpen.forEach(path => {\n let rootFound: false | string = false;\n if (!path.endsWith('/')) {\n path += '/';\n }\n\n const [...tail] = path.split('/');\n tail.reduce((acc, it) => {\n if (!rootFound) {\n rootPaths.forEach(rootPath => {\n rootFound = rootFound || (acc.startsWith(rootPath) && rootPath);\n });\n }\n\n if (rootFound && !openPaths.includes(acc)) {\n openPaths.push(acc);\n if (!openPaths.includes(rootFound)) {\n openPaths.push(rootFound);\n }\n }\n\n return acc + '/' + it;\n }, '');\n });\n return openPaths;\n }\n\n openPaths(paths: string[]) {\n if (!(paths instanceof Array)) {\n paths = [paths];\n }\n\n this.setState(prevState => {\n const openPaths = this.addPathToOpenPath(paths, this.props.rootPaths, prevState.openPaths);\n return {openPaths};\n });\n }\n\n render() {\n const selectedPaths = this.state.selectedPaths ? this.state.selectedPaths : this.props.selectedPaths;\n let openPaths = this.state.openPaths || this.props.openPaths;\n const {setRefetch} = this.props;\n\n openPaths = clone(openPaths);\n\n const vars = this.getVariables(selectedPaths, openPaths);\n\n return (\n <Query query={this.query} variables={vars} fetchPolicy=\"cache-first\">\n {(result: QueryResult): React.JSX.Element => {\n const {error, loading, data, refetch} = result;\n if (setRefetch) {\n setRefetch({\n query: this.query,\n queryParams: vars,\n refetch\n });\n }\n\n const renderProp = this.props.children;\n if (this.props.onLoading) {\n this.props.onLoading(loading);\n }\n\n if (loading) {\n if (this.previousEntries) {\n return renderProp({pickerEntries: this.previousEntries, loading, ...this.eventsHandlers});\n }\n\n return renderProp({pickerEntries: [], loading, ...this.eventsHandlers});\n }\n\n if (error) {\n return renderProp({pickerEntries: [], error, loading, ...this.eventsHandlers});\n }\n\n const pickerEntries = this.getPickerEntries(data, selectedPaths, openPaths);\n this.previousEntries = pickerEntries;\n\n return renderProp({pickerEntries, loading, ...this.eventsHandlers});\n }}\n </Query>\n );\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AACA;AACA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAAQC,KAAK,QAAO,0BAA0B;AAC9C,OAAOC,GAAG,MAAM,aAAa;AAC7B,SAAQC,WAAW,EAAYC,uBAAuB,EAAEC,0BAA0B;AAClF,SAAQC,mBAAmB;AAG3B,OAAOC,IAAI,MAAM,MAAM;AACvB,OAAOC,UAAU,MAAM,iBAAiB;AAExC,IAAMC,KAAK,GAAGF,IAAI,CAAC,CAAC;AA4EpB,WAAaG,MAAM,0BAAAC,gBAAA;EAAAC,SAAA,CAAAF,MAAA,EAAAC,gBAAA;EAAA,IAAAE,MAAA,GAAAC,YAAA,CAAAJ,MAAA;EAKf,SAAAA,OAAYK,KAAe,EAAE;IAAA,IAAAC,KAAA;IAAAC,eAAA,OAAAP,MAAA;IACzBM,KAAA,GAAAH,MAAA,CAAAK,IAAA,OAAMH,KAAK;IAEX,IACII,SAAS,GASTJ,KAAK,CATLI,SAAS;MACTC,SAAS,GAQTL,KAAK,CARLK,SAAS;MACTC,UAAU,GAOVN,KAAK,CAPLM,UAAU;MACVC,YAAY,GAMZP,KAAK,CANLO,YAAY;MACZC,SAAS,GAKTR,KAAK,CALLQ,SAAS;MACTC,aAAa,GAIbT,KAAK,CAJLS,aAAa;MACbC,oBAAoB,GAGpBV,KAAK,CAHLU,oBAAoB;MACpBC,iBAAiB,GAEjBX,KAAK,CAFLW,iBAAiB;MACjBC,gBAAgB,GAChBZ,KAAK,CADLY,gBAAgB;IAGpB,IAAMC,iBAAiB,GAAGT,SAAS,IAAI,CAACb,mBAAmB,CAACuB,UAAU,EAAEvB,mBAAmB,CAACwB,eAAe,EAAExB,mBAAmB,CAACyB,WAAW,EAAE5B,WAAW,CAAC;IAE1Ja,KAAA,CAAKgB,KAAK,GAAG9B,GAAG,CAAA+B,eAAA,KAAAA,eAAA,GAAAC,sBAAA,gnDAkCd9B,uBAAuB,CAACF,GAAG,CAAE;IAC/Bc,KAAA,CAAKgB,KAAK,GAAG3B,0BAA0B,CAACW,KAAA,CAAKgB,KAAK,EAAEJ,iBAAiB,CAAC;IAEtE,IAAMO,KAAgB,GAAG,CAAC,CAAC;IAE3BnB,KAAA,CAAKoB,cAAc,GAAG,CAAC,CAAC;IAExB,IAAI,CAACb,SAAS,EAAE;MACZ;MACAY,KAAK,CAACE,gBAAgB,GAAG,KAAK;MAC9BF,KAAK,CAACZ,SAAS,GAAG,EAAE;MACpBP,KAAA,CAAKoB,cAAc,CAACf,UAAU,GAAG,UAACiB,IAAI,EAAEC,IAAI,EAAK;QAC7CvB,KAAA,CAAKwB,QAAQ,CAAC,UAAAC,SAAS;UAAA,OAAK;YACxBlB,SAAS,EAAEgB,IAAI,MAAAG,MAAA,CAAAC,kBAAA,CACPF,SAAS,CAAClB,SAAS,IAAEe,IAAI,KAC7BG,SAAS,CAAClB,SAAS,CAACqB,MAAM,CAAC,UAAAC,QAAQ;cAAA,OAAIA,QAAQ,KAAKP,IAAI;YAAA;UAChE,CAAC;QAAA,CAAC,CAAC;MACP,CAAC;MAED,IAAIX,gBAAgB,EAAE;QAClBQ,KAAK,CAACZ,SAAS,GAAGP,KAAA,CAAK8B,iBAAiB,CAACnB,gBAAgB,EAAEP,SAAS,EAAEe,KAAK,CAACZ,SAAS,CAAC;MAC1F;IACJ,CAAC,MAAM;MACHY,KAAK,CAACE,gBAAgB,GAAG,IAAI;MAC7B,IAAIhB,UAAU,EAAE;QACZL,KAAA,CAAKoB,cAAc,CAACf,UAAU,GAAGA,UAAU;MAC/C;IACJ;IAEA,IAAI,CAACG,aAAa,EAAE;MAChB;MACAW,KAAK,CAACY,kBAAkB,GAAG,KAAK;MAChCZ,KAAK,CAACX,aAAa,GAAGC,oBAAoB,GAAGhB,KAAK,CAACgB,oBAAoB,CAAC,GAAG,EAAE;MAC7E;MACA,IAAIA,oBAAoB,IAAI,CAACU,KAAK,CAACE,gBAAgB,EAAE;QACjDF,KAAK,CAACZ,SAAS,GAAGP,KAAA,CAAK8B,iBAAiB,CAACrB,oBAAoB,EAAEL,SAAS,EAAEe,KAAK,CAACZ,SAAS,CAAC;MAC9F;MAEAP,KAAA,CAAKoB,cAAc,CAACd,YAAY,GAAG,UAACgB,IAAI,EAAEU,QAAQ,EAAEC,QAAQ,EAAK;QAC7DjC,KAAA,CAAKwB,QAAQ,CAAC,UAAAC,SAAS,EAAI;UACvB,IAAMS,gBAAgB,GAAGF,QAAQ,MAAAN,MAAA,CAAAC,kBAAA,CACxBM,QAAQ,GAAGR,SAAS,CAACjB,aAAa,GAAG,EAAE,IAAGc,IAAI,KACnDG,SAAS,CAACjB,aAAa,CAACoB,MAAM,CAAC,UAAAC,QAAQ;YAAA,OAAIA,QAAQ,KAAKP,IAAI;UAAA,EAAC;UACjEZ,iBAAiB,CAACwB,gBAAgB,CAAC;UACnC,OAAO;YACH1B,aAAa,EAAE0B;UACnB,CAAC;QACL,CAAC,CAAC;MACN,CAAC;IACL,CAAC,MAAM,IAAI5B,YAAY,EAAE;MACrBa,KAAK,CAACY,kBAAkB,GAAG,IAAI;MAC/B,IAAIzB,YAAY,EAAE;QACdN,KAAA,CAAKoB,cAAc,CAACd,YAAY,GAAGA,YAAY;MACnD;IACJ;IAEAN,KAAA,CAAKmB,KAAK,GAAGA,KAAK;;IAElB;IACAnB,KAAA,CAAKO,SAAS,GAAGP,KAAA,CAAKO,SAAS,CAAC4B,IAAI,CAAAC,sBAAA,CAAApC,KAAA,CAAK,CAAC;IAAC,OAAAA,KAAA;EAC/C;EAACqC,YAAA,CAAA3C,MAAA;IAAA4C,GAAA;IAAAC,KAAA,EAwBD,SAAAC,aAAahC,aAAuB,EAAED,SAAmB,EAAE;MACvD,IAAAkC,WAAA,GAAoE,IAAI,CAAC1C,KAAK;QAAvEK,SAAS,GAAAqC,WAAA,CAATrC,SAAS;QAAEsC,aAAa,GAAAD,WAAA,CAAbC,aAAa;QAAEC,eAAe,GAAAF,WAAA,CAAfE,eAAe;QAAEC,cAAc,GAAAH,WAAA,CAAdG,cAAc;MAEhE,IAAMC,IAAI,GAAG;QACTzC,SAAS,EAATA,SAAS;QACT0C,KAAK,EAAAnB,kBAAA,CAAM,IAAIoB,GAAG,IAAArB,MAAA,CAAAC,kBAAA,CAAKe,aAAa,GAAAf,kBAAA,CAAKgB,eAAe,EAAC,CAAC,CAAC;QAC3DK,UAAU,EAAEL,eAAe;QAC3BM,QAAQ,EAAEP,aAAa;QACvBnC,SAAS,EAATA;MACJ,CAAC;MAED,IAAIqC,cAAc,EAAE;QAChBM,MAAM,CAACC,MAAM,CAACN,IAAI,EAAED,cAAc,CAAC;MACvC;MAEA,OAAOC,IAAI;IACf;EAAC;IAAAP,GAAA;IAAAC,KAAA,EAED,SAAAa,iBAAiBC,IAAS,EAAE7C,aAAuB,EAAED,SAAmB,EAAE;MAAA,IAAA+C,MAAA;MACtE,IAAIC,aAAoB,GAAG,EAAE;MAC7B,IAAMC,SAAa,GAAG,CAAC,CAAC;MACxB,IAAOC,GAAG,GAAIJ,IAAI,CAAXI,GAAG;MAEV,IAAMC,OAAO,GAAG,SAAVA,OAAOA,CAAaC,IAAQ,EAAEC,KAAY,EAAEC,KAAY,EAAE;QAC5D,IAAI7B,QAAQ,GAAG,KAAK;QACpB,IAAI2B,IAAI,CAACX,UAAU,EAAE;UACjBhB,QAAQ,GAAGxB,aAAa,CAACsD,OAAO,CAACH,IAAI,CAACrC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtD;QAEA,IAAMyC,UAAU,GAAG;UACfC,IAAI,EAAEL,IAAI,CAACK,IAAI;UACf1C,IAAI,EAAEqC,IAAI,CAACrC,IAAI;UACfC,IAAI,EAAEoC,IAAI,CAACV,QAAQ,IAAI1C,SAAS,CAACuD,OAAO,CAACH,IAAI,CAACrC,IAAI,CAAC,KAAK,CAAC,CAAC;UAC1DU,QAAQ,EAARA,QAAQ;UACRiB,QAAQ,EAAEU,IAAI,CAACV,QAAQ;UACvBD,UAAU,EAAEW,IAAI,CAACX,UAAU;UAC3BY,KAAK,EAALA,KAAK;UACLK,MAAM,EAAE,QAAQ,CAACC,MAAM,CAACN,KAAK,GAAG,CAAC,CAAC;UAClCD,IAAI,EAAJA,IAAI;UACJQ,MAAM,EAAE,KAAK;UACbC,WAAW,EAAET,IAAI,CAACU,QAAQ,CAACC,QAAQ,CAACC,UAAU,GAAG;QACrD,CAAC;QACDhB,aAAa,CAACiB,MAAM,CAACX,KAAK,EAAE,CAAC,EAAEE,UAAU,CAAC;QAC1CP,SAAS,CAACG,IAAI,CAACc,IAAI,CAAC,GAAGV,UAAU;QACjC,OAAOA,UAAU;MACrB,CAAC;MAED,IAAIN,GAAG,EAAE;QACL,IAAIA,GAAG,CAACiB,SAAS,EAAE;UACfjB,GAAG,CAACiB,SAAS,CAACC,OAAO,CAAC,UAACC,QAAa,EAAK;YACrC,IAAMC,IAAI,GAAGnB,OAAO,CAACkB,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;YACpCC,IAAI,CAACV,MAAM,GAAGb,MAAI,CAACvD,KAAK,CAAC+E,QAAQ,IAAI,KAAK;UAC9C,CAAC,CAAC;QACN;QAEA,IAAIrB,GAAG,CAACsB,SAAS,EAAE;UACftB,GAAG,CAACsB,SAAS,CAACrD,MAAM,CAAC,CAAC,CACjBsD,IAAI,CAAC,UAACC,CAAM,EAAEC,CAAM;YAAA,OAAMD,CAAC,CAAC3D,IAAI,GAAG4D,CAAC,CAAC5D,IAAI,GAAI,CAAC,GAAK4D,CAAC,CAAC5D,IAAI,GAAG2D,CAAC,CAAC3D,IAAI,GAAI,CAAC,CAAC,GAAG,CAAE;UAAA,EAAC,CAC9EqD,OAAO,CAAC,UAAChB,IAAS,EAAK;YACpB,IAAMwB,MAAM,GAAG3B,SAAS,CAACG,IAAI,CAACc,IAAI,CAAC;YACnC,IAAIU,MAAM,EAAE;cACR,IAAMC,WAAW,GAAG7B,aAAa,CAACO,OAAO,CAACqB,MAAM,CAAC;cACjDxB,IAAI,CAACU,QAAQ,CAACgB,KAAK,CAACC,KAAK,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC,CAACZ,OAAO,CAAC,UAACa,KAAU,EAAK;gBAC1D9B,OAAO,CAAC8B,KAAK,EAAEL,MAAM,CAACvB,KAAK,GAAG,CAAC,EAAEwB,WAAW,GAAG,CAAC,CAAC;cACrD,CAAC,CAAC;YACN;UACJ,CAAC,CAAC;QACV;MACJ;;MAEA;MACA,IAAMK,aAAa,GAAGlC,aAAa,CAAC3B,MAAM,CAAC,UAAA+B,IAAI;QAAA,OAAIA,IAAI,CAAC3B,QAAQ;MAAA,EAAC,CAAC0D,GAAG,CAAC,UAAA/B,IAAI;QAAA,OAAIA,IAAI,CAACA,IAAI;MAAA,EAAC;MAExFnD,aAAa,GAAGiF,aAAa,CAACC,GAAG,CAAC,UAAAC,CAAC;QAAA,OAAIA,CAAC,CAACrE,IAAI;MAAA,EAAC;MAC9CiC,aAAa,GAAGA,aAAa,CAAC3B,MAAM,CAAC,UAAAmC,UAAU;QAAA,OAAI,CAACA,UAAU,CAACI,MAAM;MAAA,EAAC;MAEtE,OAAOZ,aAAa;IACxB;EAAC;IAAAjB,GAAA;IAAAC,KAAA,EAED,SAAAT,kBAAkB8D,WAAqB,EAAExF,SAAkB,EAAEG,SAAmB,EAAE;MAC9EqF,WAAW,CAACjB,OAAO,CAAC,UAAArD,IAAI,EAAI;QACxB,IAAIuE,SAAyB,GAAG,KAAK;QACrC,IAAI,CAACvE,IAAI,CAACwE,QAAQ,CAAC,GAAG,CAAC,EAAE;UACrBxE,IAAI,IAAI,GAAG;QACf;QAEA,IAAAyE,WAAA,GAAkBzE,IAAI,CAAC0E,KAAK,CAAC,GAAG,CAAC;UAAAC,YAAA,GAAAC,QAAA,CAAAH,WAAA;UAAvBI,IAAI,GAAAF,YAAA,CAAAX,KAAA;QACda,IAAI,CAACC,MAAM,CAAC,UAACC,GAAG,EAAEC,EAAE,EAAK;UACrB,IAAI,CAACT,SAAS,EAAE;YACZzF,SAAS,CAACuE,OAAO,CAAC,UAAA4B,QAAQ,EAAI;cAC1BV,SAAS,GAAGA,SAAS,IAAKQ,GAAG,CAACG,UAAU,CAACD,QAAQ,CAAC,IAAIA,QAAS;YACnE,CAAC,CAAC;UACN;UAEA,IAAIV,SAAS,IAAI,CAACtF,SAAS,CAACkG,QAAQ,CAACJ,GAAG,CAAC,EAAE;YACvC9F,SAAS,CAACmG,IAAI,CAACL,GAAG,CAAC;YACnB,IAAI,CAAC9F,SAAS,CAACkG,QAAQ,CAACZ,SAAS,CAAC,EAAE;cAChCtF,SAAS,CAACmG,IAAI,CAACb,SAAS,CAAC;YAC7B;UACJ;UAEA,OAAOQ,GAAG,GAAG,GAAG,GAAGC,EAAE;QACzB,CAAC,EAAE,EAAE,CAAC;MACV,CAAC,CAAC;MACF,OAAO/F,SAAS;IACpB;EAAC;IAAA+B,GAAA;IAAAC,KAAA,EAED,SAAAhC,UAAUoG,KAAe,EAAE;MAAA,IAAAC,MAAA;MACvB,IAAI,EAAED,KAAK,YAAYE,KAAK,CAAC,EAAE;QAC3BF,KAAK,GAAG,CAACA,KAAK,CAAC;MACnB;MAEA,IAAI,CAACnF,QAAQ,CAAC,UAAAC,SAAS,EAAI;QACvB,IAAMlB,SAAS,GAAGqG,MAAI,CAAC9E,iBAAiB,CAAC6E,KAAK,EAAEC,MAAI,CAAC7G,KAAK,CAACK,SAAS,EAAEqB,SAAS,CAAClB,SAAS,CAAC;QAC1F,OAAO;UAACA,SAAS,EAATA;QAAS,CAAC;MACtB,CAAC,CAAC;IACN;EAAC;IAAA+B,GAAA;IAAAC,KAAA,EAED,SAAAuE,OAAA,EAAS;MAAA,IAAAC,MAAA;MACL,IAAMvG,aAAa,GAAG,IAAI,CAACW,KAAK,CAACX,aAAa,GAAG,IAAI,CAACW,KAAK,CAACX,aAAa,GAAG,IAAI,CAACT,KAAK,CAACS,aAAa;MACpG,IAAID,SAAS,GAAG,IAAI,CAACY,KAAK,CAACZ,SAAS,IAAI,IAAI,CAACR,KAAK,CAACQ,SAAS;MAC5D,IAAOyG,UAAU,GAAI,IAAI,CAACjH,KAAK,CAAxBiH,UAAU;MAEjBzG,SAAS,GAAGd,KAAK,CAACc,SAAS,CAAC;MAE5B,IAAMsC,IAAI,GAAG,IAAI,CAACL,YAAY,CAAChC,aAAa,EAAED,SAAS,CAAC;MAExD,oBACIvB,KAAA,CAAAiI,aAAA,CAAChI,KAAK;QAAC+B,KAAK,EAAE,IAAI,CAACA,KAAM;QAACkG,SAAS,EAAErE,IAAK;QAACsE,WAAW,EAAC;MAAa,GAC/D,UAACC,MAAmB,EAAwB;QACzC,IAAOC,KAAK,GAA4BD,MAAM,CAAvCC,KAAK;UAAEC,OAAO,GAAmBF,MAAM,CAAhCE,OAAO;UAAEjE,IAAI,GAAa+D,MAAM,CAAvB/D,IAAI;UAAEkE,OAAO,GAAIH,MAAM,CAAjBG,OAAO;QACpC,IAAIP,UAAU,EAAE;UACZA,UAAU,CAAC;YACPhG,KAAK,EAAE+F,MAAI,CAAC/F,KAAK;YACjBwG,WAAW,EAAE3E,IAAI;YACjB0E,OAAO,EAAPA;UACJ,CAAC,CAAC;QACN;QAEA,IAAME,UAAU,GAAGV,MAAI,CAAChH,KAAK,CAACsE,QAAQ;QACtC,IAAI0C,MAAI,CAAChH,KAAK,CAAC2H,SAAS,EAAE;UACtBX,MAAI,CAAChH,KAAK,CAAC2H,SAAS,CAACJ,OAAO,CAAC;QACjC;QAEA,IAAIA,OAAO,EAAE;UACT,IAAIP,MAAI,CAACY,eAAe,EAAE;YACtB,OAAOF,UAAU,CAAAG,aAAA;cAAErE,aAAa,EAAEwD,MAAI,CAACY,eAAe;cAAEL,OAAO,EAAPA;YAAO,GAAKP,MAAI,CAAC3F,cAAc,CAAC,CAAC;UAC7F;UAEA,OAAOqG,UAAU,CAAAG,aAAA;YAAErE,aAAa,EAAE,EAAE;YAAE+D,OAAO,EAAPA;UAAO,GAAKP,MAAI,CAAC3F,cAAc,CAAC,CAAC;QAC3E;QAEA,IAAIiG,KAAK,EAAE;UACP,OAAOI,UAAU,CAAAG,aAAA;YAAErE,aAAa,EAAE,EAAE;YAAE8D,KAAK,EAALA,KAAK;YAAEC,OAAO,EAAPA;UAAO,GAAKP,MAAI,CAAC3F,cAAc,CAAC,CAAC;QAClF;QAEA,IAAMmC,aAAa,GAAGwD,MAAI,CAAC3D,gBAAgB,CAACC,IAAI,EAAE7C,aAAa,EAAED,SAAS,CAAC;QAC3EwG,MAAI,CAACY,eAAe,GAAGpE,aAAa;QAEpC,OAAOkE,UAAU,CAAAG,aAAA;UAAErE,aAAa,EAAbA,aAAa;UAAE+D,OAAO,EAAPA;QAAO,GAAKP,MAAI,CAAC3F,cAAc,CAAC,CAAC;MACvE,CACG,CAAC;IAEhB;EAAC;IAAAkB,GAAA;IAAAC,KAAA,EAzLD,SAAAsF,yBAAgCC,SAAmB,EAAErG,SAAoB,EAAE;MACvE,IAAKA,SAAS,CAACJ,gBAAgB,KAAK0G,OAAO,CAACD,SAAS,CAACvH,SAAS,CAAC,IAAMkB,SAAS,CAACM,kBAAkB,KAAKgG,OAAO,CAACD,SAAS,CAACtH,aAAa,CAAE,EAAE;QACtIwH,OAAO,CAACC,IAAI,CAAC,qDAAqD,CAAC;MACvE;MAEA,IAAMC,QAAmB,GAAG,CAAC,CAAC;MAE9B,IAAIzG,SAAS,CAACJ,gBAAgB,IAAI,CAAC7B,UAAU,CAACsI,SAAS,CAACvH,SAAS,EAAEkB,SAAS,CAAClB,SAAS,CAAC,EAAE;QACrF2H,QAAQ,CAAC3H,SAAS,GAAGuH,SAAS,CAACvH,SAAS;MAC5C;MAEA,IAAIkB,SAAS,CAACM,kBAAkB,IAAI,CAACvC,UAAU,CAACsI,SAAS,CAACtH,aAAa,EAAEiB,SAAS,CAACjB,aAAa,CAAC,EAAE;QAC/F0H,QAAQ,CAAC1H,aAAa,GAAGsH,SAAS,CAACtH,aAAa;MACpD;MAEA,IAAI0H,QAAQ,CAAC3H,SAAS,IAAI2H,QAAQ,CAAC1H,aAAa,EAAE;QAC9C,OAAO0H,QAAQ;MACnB;MAEA,OAAO,IAAI;IACf;EAAC;EAAA,OAAAxI,MAAA;AAAA,EA1IuBV,KAAK,CAACmJ,SAAS;AAgT1CC,eAAA,CAhTY1I,MAAM;EAAA;AACnB;AACA;EAxEIS,SAAS,EAAAkI,GAAA,CAAAC,KAAA;EAAA;AACb;AACA;EAGIlI,SAAS,EAAAiI,GAAA,CAAAE,OAAA,CAAAF,GAAA,CAAAG,MAAA;EAETnI,UAAU,EAAAgI,GAAA,CAAAI,IAAA;EAEVnI,YAAY,EAAA+H,GAAA,CAAAI,IAAA;EAAA;AAChB;AACA;EAGIlI,SAAS,EAAA8H,GAAA,CAAAE,OAAA,CAAAF,GAAA,CAAAG,MAAA;EAAA;AACb;AACA;EAGIhI,aAAa,EAAA6H,GAAA,CAAAE,OAAA,CAAAF,GAAA,CAAAG,MAAA;EAAA;AACjB;AACA;EAGI/H,oBAAoB,EAAA4H,GAAA,CAAAE,OAAA,CAAAF,GAAA,CAAAG,MAAA;EAAA;AACxB;AACA;EAGI9H,iBAAiB,EAAA2H,GAAA,CAAAI,IAAA;EAAA;AACrB;AACA;EAGI9H,gBAAgB,EAAA0H,GAAA,CAAAE,OAAA,CAAAF,GAAA,CAAAG,MAAA;EAAA;AACpB;AACA;EAGI9F,aAAa,EAAA2F,GAAA,CAAAE,OAAA,CAAAF,GAAA,CAAAG,MAAA;EAAA;AACjB;AACA;EAGI7F,eAAe,EAAA0F,GAAA,CAAAE,OAAA,CAAAF,GAAA,CAAAG,MAAA;EAEfd,SAAS,EAAAW,GAAA,CAAAI,IAAA,CAAAC,UAAA;EAAA;AACb;AACA;EAGI9F,cAAc,EAAAyF,GAAA,CAAAM,QAAA,CAAAN,GAAA,CAAAO,GAAA;EAEd9D,QAAQ,EAAAuD,GAAA,CAAAQ,IAAA;EAAA;AACZ;AACA;EAGI7B,UAAU,EAAAqB,GAAA,CAAAI,IAAA,CAAAC,UAAA;EAEVrE,QAAQ,EAAAgE,GAAA,CAAAI,IAAA,CAAAC;AAAA"}
@@ -77,12 +77,13 @@ var timeoutHandler = function timeoutHandler(client) {
77
77
  });
78
78
  });
79
79
  } else {
80
- var watchedQuery = client.watchQuery(_objectSpread(_objectSpread({
80
+ var observableQuery = client.watchQuery(_objectSpread(_objectSpread({
81
81
  query: query,
82
82
  errorPolicy: 'ignore'
83
83
  }, queryOptions), {}, {
84
84
  variables: generatedVariables
85
- })).subscribe(function (_ref) {
85
+ }));
86
+ var subscription = observableQuery.subscribe(function (_ref) {
86
87
  var data = _ref.data,
87
88
  others = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
88
89
  var result = getResult(data, others, options, query, generatedVariables);
@@ -91,15 +92,13 @@ var timeoutHandler = function timeoutHandler(client) {
91
92
  request.result = result;
92
93
  request.setResult(_objectSpread(_objectSpread({}, result), {}, {
93
94
  refetch: function refetch() {
94
- client.refetchQueries({
95
- include: [query]
96
- });
95
+ return observableQuery.refetch(generatedVariables);
97
96
  }
98
97
  }));
99
98
  }
100
99
  });
101
100
  });
102
- observedQueries.push(watchedQuery);
101
+ observedQueries.push(subscription);
103
102
  }
104
103
  });
105
104
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_client","_useNodeInfo","_getPermissionFragment","_getIsNodeTypeFragment","_useSchemaFields","_useNodeInfo2","_useMemoRequest3","_fastDeepEqual","_interopRequireDefault","_excluded","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","queue","schemaResult","timeout","observedQueries","scheduleQueue","client","window","setTimeout","timeoutHandler","clearTimeout","mergedQueue","request","toInsert","variables","queryOptions","options","originals","mergeable","find","q","JSON","stringify","isSubset","merge","obs","unsubscribe","mergedRequest","_getQuery","getQuery","query","generatedVariables","skip","setResult","loading","watchedQuery","watchQuery","errorPolicy","subscribe","_ref","data","others","_objectWithoutProperties2","result","getResult","deepEquals","refetch","refetchQueries","include","useNodeInfo","_useState","useState","_useState2","_slicedToArray2","useApolloClient","SCHEMA_FIELDS_QUERY","type","then","_ref2","_useMemoRequest","useMemoRequest","_useMemoRequest2","currentRequest","queryHasChanged","useEffect","splice","indexOf","fetchPolicy","infoQuery","res","readQuery","exports","node","jcr","nodeByPath","nodeById","nodes","nodesByPath","nodesById","decodeResult","map","n","nodeOrig","site","getPermissions","name","getEncodedPermissionName","getSitePermissions","getIsNodeTypes","getEncodedNodeTypeName","getMimeType","resourceChildren","mimeType","value"],"sources":["useNodeInfo.ts"],"sourcesContent":["import {useEffect, useState} from 'react';\nimport {ApolloClient, ApolloError, NetworkStatus, useApolloClient, WatchQueryOptions} from '@apollo/client';\nimport {getQuery, NodeInfoOptions} from './useNodeInfo.gql-queries';\nimport {getEncodedPermissionName} from '../../fragments/getPermissionFragment';\nimport {getEncodedNodeTypeName} from '../../fragments/getIsNodeTypeFragment';\nimport {SCHEMA_FIELDS_QUERY} from '../useSchemaFields/useSchemaFields.gql-queries';\nimport {isSubset, merge} from './useNodeInfo.utils';\nimport {useMemoRequest} from './useMemoRequest';\nimport deepEquals from 'fast-deep-equal';\nimport {DocumentNode, GraphQLError} from 'graphql';\n\nexport type Request = {\n variables:{[key:string]: any},\n options: NodeInfoOptions,\n queryOptions: Partial<WatchQueryOptions>,\n}\n\nexport type QueuedRequest = Request & {\n result?: any,\n setResult: (data: any) => void\n}\n\nexport type MergedRequest = Request & { originals: QueuedRequest[] };\n\nexport type NodeInfoResult = {\n node?: any,\n nodes?: any[],\n errors?: readonly GraphQLError[],\n error?: ApolloError,\n loading?: boolean,\n networkStatus?: NetworkStatus,\n partial?: boolean,\n query?: DocumentNode,\n variables?: {[key:string]: any}\n}\n\nconst queue: QueuedRequest[] = [];\nlet schemaResult: any;\nlet timeout: number;\nlet observedQueries: { unsubscribe: () => void }[] = [];\n\nfunction scheduleQueue(client: ApolloClient<object>) {\n if (!timeout && schemaResult) {\n timeout = window.setTimeout(() => {\n timeoutHandler(client);\n clearTimeout(timeout);\n timeout = null;\n }, 0);\n }\n}\n\nconst timeoutHandler = (client: ApolloClient<object>) => {\n const mergedQueue: MergedRequest[] = [];\n\n queue.forEach(request => {\n const toInsert = {\n variables: request.variables,\n queryOptions: request.queryOptions,\n options: request.options,\n originals: [request]\n };\n\n const mergeable = mergedQueue.find(q => JSON.stringify(q.queryOptions) === JSON.stringify(toInsert.queryOptions) && (isSubset(q.variables, toInsert.variables) || isSubset(toInsert.variables, q.variables)));\n\n if (mergeable) {\n merge(mergeable, toInsert);\n } else {\n mergedQueue.push({\n variables: toInsert.variables && {...toInsert.variables},\n queryOptions: toInsert.queryOptions && {...toInsert.queryOptions},\n options: toInsert.options && {...toInsert.options},\n originals: toInsert.originals\n });\n }\n });\n\n observedQueries.forEach(obs => obs.unsubscribe());\n observedQueries = [];\n\n mergedQueue.forEach(mergedRequest => {\n const {variables, queryOptions, options, originals} = mergedRequest;\n const {query, generatedVariables, skip} = getQuery(variables, schemaResult, options);\n if (skip) {\n // No query to execute\n originals.forEach(request => {\n request.setResult({\n loading: false\n });\n });\n } else {\n const watchedQuery = client.watchQuery({query, errorPolicy: 'ignore', ...queryOptions, variables: generatedVariables}).subscribe(({data, ...others}) => {\n const result = getResult(data, others, options, query, generatedVariables);\n\n originals.forEach(request => {\n if (!deepEquals(request.result, result)) {\n request.result = result;\n request.setResult({\n ...result,\n refetch() {\n client.refetchQueries({include: [query]});\n }\n });\n }\n });\n });\n observedQueries.push(watchedQuery);\n }\n });\n};\n\nexport const useNodeInfo = (variables: {[key:string]: unknown}, options?: NodeInfoOptions, queryOptions?: Partial<WatchQueryOptions>) => {\n const [result, setResult] = useState<NodeInfoResult>({\n loading: true\n });\n\n const client = useApolloClient();\n\n if (!schemaResult) {\n client.query({query: SCHEMA_FIELDS_QUERY, variables: {type: 'GqlPublicationInfo'}}).then(({data}: {data: any}) => {\n schemaResult = data;\n scheduleQueue(client);\n });\n }\n\n // Normalize and memoize request\n const [currentRequest, queryHasChanged] = useMemoRequest(variables, queryOptions, options, setResult);\n useEffect(() => {\n queue.push(currentRequest);\n scheduleQueue(client);\n\n return () => {\n queue.splice(queue.indexOf(currentRequest), 1);\n };\n }, [client, currentRequest]);\n\n if (queryHasChanged && !result.loading) {\n if (queryOptions?.fetchPolicy !== 'no-cache' && queryOptions?.fetchPolicy !== 'network-only') {\n const infoQuery = getQuery(currentRequest.variables, schemaResult, currentRequest.options);\n const res = client.readQuery({query: infoQuery.query, variables: infoQuery.generatedVariables});\n if (res) {\n const result = getResult(res, {}, currentRequest.options, infoQuery.query, infoQuery.generatedVariables);\n setResult(result);\n return result;\n }\n }\n\n setResult({\n loading: true\n });\n return {loading: true};\n }\n\n return result;\n};\n\nconst getResult = (data: any, others: NodeInfoResult, options: NodeInfoOptions, query: DocumentNode, generatedVariables: {[key:string]: unknown}) => {\n const node: object = (data && data.jcr && (data.jcr.nodeByPath || data.jcr.nodeById)) || null;\n const nodes: object[] = (data && data.jcr && (data.jcr.nodesByPath || data.jcr.nodesById)) || null;\n let result = others;\n\n if (node) {\n result = {\n node: decodeResult(node, options),\n ...others,\n query,\n variables: generatedVariables\n };\n }\n\n if (nodes) {\n result = {\n nodes: nodes.map(n => decodeResult(n, options)),\n ...others,\n query,\n variables: generatedVariables\n };\n }\n\n return result;\n};\n\nconst decodeResult = (nodeOrig: any, options: NodeInfoOptions) => {\n const node = {...nodeOrig};\n if (node.site) {\n node.site = {...node.site};\n }\n\n if (node && options) {\n if (options.getPermissions) {\n options.getPermissions.forEach(name => {\n const res = node[getEncodedPermissionName(name)];\n delete node[getEncodedPermissionName(name)];\n node[name] = res;\n });\n }\n\n if (options.getSitePermissions) {\n options.getSitePermissions.forEach(name => {\n const res = node.site[getEncodedPermissionName(name)];\n delete node.site[getEncodedPermissionName(name)];\n node.site[name] = res;\n });\n }\n\n if (options.getIsNodeTypes) {\n options.getIsNodeTypes.forEach(name => {\n const res = node[getEncodedNodeTypeName(name)];\n delete node[getEncodedNodeTypeName(name)];\n node[name] = res;\n });\n }\n\n if (options.getMimeType) {\n const {nodes} = node.resourceChildren;\n node.mimeType = (nodes.length !== 0 && nodes[0].mimeType.value) || null;\n delete node.resourceChildren;\n }\n }\n\n return node;\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","require","_client","_useNodeInfo","_getPermissionFragment","_getIsNodeTypeFragment","_useSchemaFields","_useNodeInfo2","_useMemoRequest3","_fastDeepEqual","_interopRequireDefault","_excluded","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","queue","schemaResult","timeout","observedQueries","scheduleQueue","client","window","setTimeout","timeoutHandler","clearTimeout","mergedQueue","request","toInsert","variables","queryOptions","options","originals","mergeable","find","q","JSON","stringify","isSubset","merge","obs","unsubscribe","mergedRequest","_getQuery","getQuery","query","generatedVariables","skip","setResult","loading","observableQuery","watchQuery","errorPolicy","subscription","subscribe","_ref","data","others","_objectWithoutProperties2","result","getResult","deepEquals","refetch","useNodeInfo","_useState","useState","_useState2","_slicedToArray2","useApolloClient","SCHEMA_FIELDS_QUERY","type","then","_ref2","_useMemoRequest","useMemoRequest","_useMemoRequest2","currentRequest","queryHasChanged","useEffect","splice","indexOf","fetchPolicy","infoQuery","res","readQuery","exports","node","jcr","nodeByPath","nodeById","nodes","nodesByPath","nodesById","decodeResult","map","n","nodeOrig","site","getPermissions","name","getEncodedPermissionName","getSitePermissions","getIsNodeTypes","getEncodedNodeTypeName","getMimeType","resourceChildren","mimeType","value"],"sources":["useNodeInfo.ts"],"sourcesContent":["import {useEffect, useState} from 'react';\nimport {ApolloClient, ApolloError, NetworkStatus, useApolloClient, WatchQueryOptions} from '@apollo/client';\nimport {getQuery, NodeInfoOptions} from './useNodeInfo.gql-queries';\nimport {getEncodedPermissionName} from '../../fragments/getPermissionFragment';\nimport {getEncodedNodeTypeName} from '../../fragments/getIsNodeTypeFragment';\nimport {SCHEMA_FIELDS_QUERY} from '../useSchemaFields/useSchemaFields.gql-queries';\nimport {isSubset, merge} from './useNodeInfo.utils';\nimport {useMemoRequest} from './useMemoRequest';\nimport deepEquals from 'fast-deep-equal';\nimport {DocumentNode, GraphQLError} from 'graphql';\n\nexport type Request = {\n variables:{[key:string]: any},\n options: NodeInfoOptions,\n queryOptions: Partial<WatchQueryOptions>,\n}\n\nexport type QueuedRequest = Request & {\n result?: any,\n setResult: (data: any) => void\n}\n\nexport type MergedRequest = Request & { originals: QueuedRequest[] };\n\nexport type NodeInfoResult = {\n node?: any,\n nodes?: any[],\n errors?: readonly GraphQLError[],\n error?: ApolloError,\n loading?: boolean,\n networkStatus?: NetworkStatus,\n partial?: boolean,\n query?: DocumentNode,\n variables?: {[key:string]: any}\n}\n\nconst queue: QueuedRequest[] = [];\nlet schemaResult: any;\nlet timeout: number;\nlet observedQueries: { unsubscribe: () => void }[] = [];\n\nfunction scheduleQueue(client: ApolloClient<object>) {\n if (!timeout && schemaResult) {\n timeout = window.setTimeout(() => {\n timeoutHandler(client);\n clearTimeout(timeout);\n timeout = null;\n }, 0);\n }\n}\n\nconst timeoutHandler = (client: ApolloClient<object>) => {\n const mergedQueue: MergedRequest[] = [];\n\n queue.forEach(request => {\n const toInsert = {\n variables: request.variables,\n queryOptions: request.queryOptions,\n options: request.options,\n originals: [request]\n };\n\n const mergeable = mergedQueue.find(q => JSON.stringify(q.queryOptions) === JSON.stringify(toInsert.queryOptions) && (isSubset(q.variables, toInsert.variables) || isSubset(toInsert.variables, q.variables)));\n\n if (mergeable) {\n merge(mergeable, toInsert);\n } else {\n mergedQueue.push({\n variables: toInsert.variables && {...toInsert.variables},\n queryOptions: toInsert.queryOptions && {...toInsert.queryOptions},\n options: toInsert.options && {...toInsert.options},\n originals: toInsert.originals\n });\n }\n });\n\n observedQueries.forEach(obs => obs.unsubscribe());\n observedQueries = [];\n\n mergedQueue.forEach(mergedRequest => {\n const {variables, queryOptions, options, originals} = mergedRequest;\n const {query, generatedVariables, skip} = getQuery(variables, schemaResult, options);\n if (skip) {\n // No query to execute\n originals.forEach(request => {\n request.setResult({\n loading: false\n });\n });\n } else {\n const observableQuery = client.watchQuery({query, errorPolicy: 'ignore', ...queryOptions, variables: generatedVariables});\n const subscription = observableQuery.subscribe(({data, ...others}) => {\n const result = getResult(data, others, options, query, generatedVariables);\n originals.forEach(request => {\n if (!deepEquals(request.result, result)) {\n request.result = result;\n request.setResult({\n ...result,\n refetch() {\n return observableQuery.refetch(generatedVariables);\n }\n });\n }\n });\n });\n observedQueries.push(subscription);\n }\n });\n};\n\nexport const useNodeInfo = (variables: {[key:string]: unknown}, options?: NodeInfoOptions, queryOptions?: Partial<WatchQueryOptions>) => {\n const [result, setResult] = useState<NodeInfoResult>({\n loading: true\n });\n\n const client = useApolloClient();\n\n if (!schemaResult) {\n client.query({query: SCHEMA_FIELDS_QUERY, variables: {type: 'GqlPublicationInfo'}}).then(({data}: {data: any}) => {\n schemaResult = data;\n scheduleQueue(client);\n });\n }\n\n // Normalize and memoize request\n const [currentRequest, queryHasChanged] = useMemoRequest(variables, queryOptions, options, setResult);\n useEffect(() => {\n queue.push(currentRequest);\n scheduleQueue(client);\n\n return () => {\n queue.splice(queue.indexOf(currentRequest), 1);\n };\n }, [client, currentRequest]);\n\n if (queryHasChanged && !result.loading) {\n if (queryOptions?.fetchPolicy !== 'no-cache' && queryOptions?.fetchPolicy !== 'network-only') {\n const infoQuery = getQuery(currentRequest.variables, schemaResult, currentRequest.options);\n const res = client.readQuery({query: infoQuery.query, variables: infoQuery.generatedVariables});\n if (res) {\n const result = getResult(res, {}, currentRequest.options, infoQuery.query, infoQuery.generatedVariables);\n setResult(result);\n return result;\n }\n }\n\n setResult({\n loading: true\n });\n return {loading: true};\n }\n\n return result;\n};\n\nconst getResult = (data: any, others: NodeInfoResult, options: NodeInfoOptions, query: DocumentNode, generatedVariables: {[key:string]: unknown}) => {\n const node: object = (data && data.jcr && (data.jcr.nodeByPath || data.jcr.nodeById)) || null;\n const nodes: object[] = (data && data.jcr && (data.jcr.nodesByPath || data.jcr.nodesById)) || null;\n let result = others;\n\n if (node) {\n result = {\n node: decodeResult(node, options),\n ...others,\n query,\n variables: generatedVariables\n };\n }\n\n if (nodes) {\n result = {\n nodes: nodes.map(n => decodeResult(n, options)),\n ...others,\n query,\n variables: generatedVariables\n };\n }\n\n return result;\n};\n\nconst decodeResult = (nodeOrig: any, options: NodeInfoOptions) => {\n const node = {...nodeOrig};\n if (node.site) {\n node.site = {...node.site};\n }\n\n if (node && options) {\n if (options.getPermissions) {\n options.getPermissions.forEach(name => {\n const res = node[getEncodedPermissionName(name)];\n delete node[getEncodedPermissionName(name)];\n node[name] = res;\n });\n }\n\n if (options.getSitePermissions) {\n options.getSitePermissions.forEach(name => {\n const res = node.site[getEncodedPermissionName(name)];\n delete node.site[getEncodedPermissionName(name)];\n node.site[name] = res;\n });\n }\n\n if (options.getIsNodeTypes) {\n options.getIsNodeTypes.forEach(name => {\n const res = node[getEncodedNodeTypeName(name)];\n delete node[getEncodedNodeTypeName(name)];\n node[name] = res;\n });\n }\n\n if (options.getMimeType) {\n const {nodes} = node.resourceChildren;\n node.mimeType = (nodes.length !== 0 && nodes[0].mimeType.value) || null;\n delete node.resourceChildren;\n }\n }\n\n return node;\n};\n"],"mappings":"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"}
@@ -51,7 +51,7 @@ var Picker = /*#__PURE__*/function (_React$Component) {
51
51
  _this.query = (0, _fragments.replaceFragmentsInDocument)(_this.query, resolvedFragments);
52
52
  var state = {};
53
53
  _this.eventsHandlers = {};
54
- if (openPaths === null) {
54
+ if (!openPaths) {
55
55
  // Uncontrolled mode
56
56
  state.isOpenControlled = false;
57
57
  state.openPaths = [];
@@ -73,7 +73,7 @@ var Picker = /*#__PURE__*/function (_React$Component) {
73
73
  _this.eventsHandlers.onOpenItem = onOpenItem;
74
74
  }
75
75
  }
76
- if (selectedPaths === null) {
76
+ if (!selectedPaths) {
77
77
  // Uncontrolled mode
78
78
  state.isSelectControlled = false;
79
79
  state.selectedPaths = defaultSelectedPaths ? clone(defaultSelectedPaths) : [];
@@ -236,7 +236,7 @@ var Picker = /*#__PURE__*/function (_React$Component) {
236
236
  value: function render() {
237
237
  var _this4 = this;
238
238
  var selectedPaths = this.state.selectedPaths ? this.state.selectedPaths : this.props.selectedPaths;
239
- var openPaths = this.state.openPaths ? this.state.openPaths : this.props.openPaths;
239
+ var openPaths = this.state.openPaths || this.props.openPaths;
240
240
  var setRefetch = this.props.setRefetch;
241
241
  openPaths = clone(openPaths);
242
242
  var vars = this.getVariables(selectedPaths, openPaths);
@@ -290,7 +290,7 @@ var Picker = /*#__PURE__*/function (_React$Component) {
290
290
  }], [{
291
291
  key: "getDerivedStateFromProps",
292
292
  value: function getDerivedStateFromProps(nextProps, prevState) {
293
- if (prevState.isOpenControlled !== (nextProps.openPaths !== null) || prevState.isSelectControlled !== (nextProps.selectedPaths !== null)) {
293
+ if (prevState.isOpenControlled !== Boolean(nextProps.openPaths) || prevState.isSelectControlled !== Boolean(nextProps.selectedPaths)) {
294
294
  console.warn('Cannot change between controlled/uncontrolled modes');
295
295
  }
296
296
  var newState = {};
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactComponents","_graphqlTag","_fragments","_Picker","_rfdc","_fastDeepEqual","_templateObject","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","clone","rfdc","Picker","_React$Component","_inherits2","_super","props","_this","_classCallCheck2","fragments","rootPaths","onOpenItem","onSelectItem","openPaths","selectedPaths","defaultSelectedPaths","onSelectionChange","defaultOpenPaths","resolvedFragments","PickerItemsFragment","mixinTypes","primaryNodeType","isPublished","displayName","query","gql","_taggedTemplateLiteral2","nodeCacheRequiredFields","replaceFragmentsInDocument","state","eventsHandlers","isOpenControlled","path","open","setState","prevState","concat","_toConsumableArray2","thispath","addPathToOpenPath","isSelectControlled","selected","multiple","newSelectedPaths","bind","_assertThisInitialized2","_createClass2","value","getVariables","_this$props","openableTypes","selectableTypes","queryVariables","vars","types","Set","selectable","openable","assign","getPickerEntries","data","_this2","pickerEntries","nodesById","jcr","addNode","node","depth","index","indexOf","pickerNode","name","prefix","repeat","hidden","hasChildren","children","pageInfo","nodesCount","splice","uuid","rootNodes","rootNode","root","hideRoot","openNodes","sort","a","b","parent","parentIndex","nodes","slice","reverse","child","selectedNodes","map","s","pathsToOpen","rootFound","endsWith","_path$split","split","_path$split2","_toArray2","tail","reduce","acc","it","rootPath","startsWith","includes","paths","_this3","Array","render","_this4","setRefetch","createElement","Query","variables","fetchPolicy","error","loading","refetch","queryParams","renderProp","onLoading","previousEntries","getDerivedStateFromProps","nextProps","console","warn","newState","deepEquals","React","Component","exports","_propTypes","array","arrayOf","string","func","isRequired","objectOf","any","bool"],"sources":["Picker.tsx"],"sourcesContent":["// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-nocheck\nimport React from 'react';\nimport {Query} from '@apollo/react-components';\nimport gql from 'graphql-tag';\nimport {displayName, Fragment, nodeCacheRequiredFields, replaceFragmentsInDocument} from '../fragments';\nimport {PickerItemsFragment} from './Picker.gql-fragments';\nimport {DocumentNode} from 'graphql';\nimport {QueryResult} from '@apollo/client';\nimport rfdc from 'rfdc';\nimport deepEquals from 'fast-deep-equal';\n\nconst clone = rfdc();\n\ntype PropType = {\n /**\n * Optional set of fragments to add to the graphQL query. Can be a string that identify a predefinedFragment or a fragment definition\n */\n fragments?: (string| Fragment)[],\n\n /**\n * List of root paths for the picker\n */\n rootPaths?: string[],\n\n onOpenItem?: (path:string, open:boolean) => void\n\n onSelectItem?: (path:string, selected: boolean, multiple:boolean) => void,\n\n /**\n * List of open folders in controlled mode\n */\n openPaths?: string[],\n\n /**\n * List of selected path in controlled mode\n */\n selectedPaths?: string[],\n\n /**\n * Preselected items path (uncontrolled mode)\n */\n defaultSelectedPaths?: string[],\n\n /**\n * Callback when the selection has changed\n */\n onSelectionChange?: (paths:string[]) => void,\n\n /**\n * List of folder paths that are open by default (uncontrolled mode)\n */\n defaultOpenPaths?: string[],\n\n /**\n * List of node types that can be \"opened\" (folders)\n */\n openableTypes?: string[],\n\n /**\n * List of node types that can be \"selected\" (items)\n */\n selectableTypes?: string[],\n\n onLoading: (l: boolean) => void,\n\n /**\n * Optional set of variable to pass to the graphQL query, in order to fulfill fragments needs\n */\n queryVariables?: {[key:string]: any},\n\n hideRoot?: boolean,\n\n /**\n * Optional function which receives refetch function of the Query component when the component is strapped\n */\n setRefetch: (p: any) => void,\n\n children: (p: any) => React.ReactElement\n};\n\ntype StateType = {\n isOpenControlled?: boolean,\n isSelectControlled?: boolean,\n openPaths?: string[],\n selectedPaths?: string[]\n};\n\nexport class Picker extends React.Component<PropType, StateType> {\n query: DocumentNode;\n eventsHandlers: {onOpenItem?: (path:string, open:boolean) => void, onSelectItem?: (path:string, selected: boolean, multiple:boolean) => void};\n previousEntries: any;\n\n constructor(props: PropType) {\n super(props);\n\n const {\n fragments,\n rootPaths,\n onOpenItem,\n onSelectItem,\n openPaths,\n selectedPaths,\n defaultSelectedPaths,\n onSelectionChange,\n defaultOpenPaths\n } = props;\n\n const resolvedFragments = fragments || [PickerItemsFragment.mixinTypes, PickerItemsFragment.primaryNodeType, PickerItemsFragment.isPublished, displayName];\n\n this.query = gql`\n query PickerQuery($rootPaths:[String!]!, $selectable:[String]!, $openable:[String]!, $openPaths:[String!]!, $types:[String]!) {\n jcr {\n rootNodes:nodesByPath(paths: $rootPaths) {\n name\n children(typesFilter:{types:$types}, limit:1) {\n pageInfo {\n nodesCount\n }\n }\n selectable : isNodeType(type: {types:$selectable})\n openable : isNodeType(type: {types:$openable})\n ... NodeCacheRequiredFields\n ... node\n },\n openNodes:nodesByPath(paths: $openPaths) {\n ... NodeCacheRequiredFields\n children(typesFilter:{types:$types}) {\n nodes {\n name\n children(typesFilter:{types:$types}, limit:1) {\n pageInfo {\n nodesCount\n }\n }\n selectable : isNodeType(type: {types:$selectable})\n openable : isNodeType(type: {types:$openable})\n ... NodeCacheRequiredFields\n ... node\n }\n }\n }\n }\n }\n ${nodeCacheRequiredFields.gql}`;\n this.query = replaceFragmentsInDocument(this.query, resolvedFragments);\n\n const state: StateType = {};\n\n this.eventsHandlers = {};\n\n if (openPaths === null) {\n // Uncontrolled mode\n state.isOpenControlled = false;\n state.openPaths = [];\n this.eventsHandlers.onOpenItem = (path, open) => {\n this.setState(prevState => ({\n openPaths: open ?\n [...prevState.openPaths, path] :\n prevState.openPaths.filter(thispath => thispath !== path)\n }));\n };\n\n if (defaultOpenPaths) {\n state.openPaths = this.addPathToOpenPath(defaultOpenPaths, rootPaths, state.openPaths);\n }\n } else {\n state.isOpenControlled = true;\n if (onOpenItem) {\n this.eventsHandlers.onOpenItem = onOpenItem;\n }\n }\n\n if (selectedPaths === null) {\n // Uncontrolled mode\n state.isSelectControlled = false;\n state.selectedPaths = defaultSelectedPaths ? clone(defaultSelectedPaths) : [];\n // Open selected path if open is uncontrolled\n if (defaultSelectedPaths && !state.isOpenControlled) {\n state.openPaths = this.addPathToOpenPath(defaultSelectedPaths, rootPaths, state.openPaths);\n }\n\n this.eventsHandlers.onSelectItem = (path, selected, multiple) => {\n this.setState(prevState => {\n const newSelectedPaths = selected ?\n [...(multiple ? prevState.selectedPaths : []), path] :\n prevState.selectedPaths.filter(thispath => thispath !== path);\n onSelectionChange(newSelectedPaths);\n return {\n selectedPaths: newSelectedPaths\n };\n });\n };\n } else if (onSelectItem) {\n state.isSelectControlled = true;\n if (onSelectItem) {\n this.eventsHandlers.onSelectItem = onSelectItem;\n }\n }\n\n this.state = state;\n\n // Binding\n this.openPaths = this.openPaths.bind(this);\n }\n\n static getDerivedStateFromProps(nextProps: PropType, prevState: StateType) {\n if ((prevState.isOpenControlled !== (nextProps.openPaths !== null)) || (prevState.isSelectControlled !== (nextProps.selectedPaths !== null))) {\n console.warn('Cannot change between controlled/uncontrolled modes');\n }\n\n const newState: StateType = {};\n\n if (prevState.isOpenControlled && !deepEquals(nextProps.openPaths, prevState.openPaths)) {\n newState.openPaths = nextProps.openPaths;\n }\n\n if (prevState.isSelectControlled && !deepEquals(nextProps.selectedPaths, prevState.selectedPaths)) {\n newState.selectedPaths = nextProps.selectedPaths;\n }\n\n if (newState.openPaths || newState.selectedPaths) {\n return newState;\n }\n\n return null;\n }\n\n getVariables(selectedPaths: string[], openPaths: string[]) {\n const {rootPaths, openableTypes, selectableTypes, queryVariables} = this.props;\n\n const vars = {\n rootPaths,\n types: [...new Set([...openableTypes, ...selectableTypes])],\n selectable: selectableTypes,\n openable: openableTypes,\n openPaths\n };\n\n if (queryVariables) {\n Object.assign(vars, queryVariables);\n }\n\n return vars;\n }\n\n getPickerEntries(data: any, selectedPaths: string[], openPaths: string[]) {\n let pickerEntries: any[] = [];\n const nodesById:any = {};\n const {jcr} = data;\n\n const addNode = function (node:any, depth:number, index:number) {\n let selected = false;\n if (node.selectable) {\n selected = selectedPaths.indexOf(node.path) !== -1;\n }\n\n const pickerNode = {\n name: node.name,\n path: node.path,\n open: node.openable && openPaths.indexOf(node.path) !== -1,\n selected,\n openable: node.openable,\n selectable: node.selectable,\n depth,\n prefix: '&nbsp;'.repeat(depth * 3),\n node,\n hidden: false,\n hasChildren: node.children.pageInfo.nodesCount > 0\n };\n pickerEntries.splice(index, 0, pickerNode);\n nodesById[node.uuid] = pickerNode;\n return pickerNode;\n };\n\n if (jcr) {\n if (jcr.rootNodes) {\n jcr.rootNodes.forEach((rootNode: any) => {\n const root = addNode(rootNode, 0, 0);\n root.hidden = this.props.hideRoot || false;\n });\n }\n\n if (jcr.openNodes) {\n jcr.openNodes.concat()\n .sort((a: any, b: any) => (a.path > b.path) ? 1 : ((b.path > a.path) ? -1 : 0))\n .forEach((node: any) => {\n const parent = nodesById[node.uuid];\n if (parent) {\n const parentIndex = pickerEntries.indexOf(parent);\n node.children.nodes.slice().reverse().forEach((child: any) => {\n addNode(child, parent.depth + 1, parentIndex + 1);\n });\n }\n });\n }\n }\n\n // Nodes loaded, fill selection list\n const selectedNodes = pickerEntries.filter(node => node.selected).map(node => node.node);\n\n selectedPaths = selectedNodes.map(s => s.path);\n pickerEntries = pickerEntries.filter(pickerNode => !pickerNode.hidden);\n\n return pickerEntries;\n }\n\n addPathToOpenPath(pathsToOpen: string[], rootPaths:string[], openPaths: string[]) {\n pathsToOpen.forEach(path => {\n let rootFound: false | string = false;\n if (!path.endsWith('/')) {\n path += '/';\n }\n\n const [...tail] = path.split('/');\n tail.reduce((acc, it) => {\n if (!rootFound) {\n rootPaths.forEach(rootPath => {\n rootFound = rootFound || (acc.startsWith(rootPath) && rootPath);\n });\n }\n\n if (rootFound && !openPaths.includes(acc)) {\n openPaths.push(acc);\n if (!openPaths.includes(rootFound)) {\n openPaths.push(rootFound);\n }\n }\n\n return acc + '/' + it;\n }, '');\n });\n return openPaths;\n }\n\n openPaths(paths: string[]) {\n if (!(paths instanceof Array)) {\n paths = [paths];\n }\n\n this.setState(prevState => {\n const openPaths = this.addPathToOpenPath(paths, this.props.rootPaths, prevState.openPaths);\n return {openPaths};\n });\n }\n\n render() {\n const selectedPaths = this.state.selectedPaths ? this.state.selectedPaths : this.props.selectedPaths;\n let openPaths = this.state.openPaths ? this.state.openPaths : this.props.openPaths;\n const {setRefetch} = this.props;\n\n openPaths = clone(openPaths);\n\n const vars = this.getVariables(selectedPaths, openPaths);\n\n return (\n <Query query={this.query} variables={vars} fetchPolicy=\"cache-first\">\n {(result: QueryResult): React.JSX.Element => {\n const {error, loading, data, refetch} = result;\n if (setRefetch) {\n setRefetch({\n query: this.query,\n queryParams: vars,\n refetch\n });\n }\n\n const renderProp = this.props.children;\n if (this.props.onLoading) {\n this.props.onLoading(loading);\n }\n\n if (loading) {\n if (this.previousEntries) {\n return renderProp({pickerEntries: this.previousEntries, loading, ...this.eventsHandlers});\n }\n\n return renderProp({pickerEntries: [], loading, ...this.eventsHandlers});\n }\n\n if (error) {\n return renderProp({pickerEntries: [], error, loading, ...this.eventsHandlers});\n }\n\n const pickerEntries = this.getPickerEntries(data, selectedPaths, openPaths);\n this.previousEntries = pickerEntries;\n\n return renderProp({pickerEntries, loading, ...this.eventsHandlers});\n }}\n </Query>\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactComponents","_graphqlTag","_fragments","_Picker","_rfdc","_fastDeepEqual","_templateObject","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","clone","rfdc","Picker","_React$Component","_inherits2","_super","props","_this","_classCallCheck2","fragments","rootPaths","onOpenItem","onSelectItem","openPaths","selectedPaths","defaultSelectedPaths","onSelectionChange","defaultOpenPaths","resolvedFragments","PickerItemsFragment","mixinTypes","primaryNodeType","isPublished","displayName","query","gql","_taggedTemplateLiteral2","nodeCacheRequiredFields","replaceFragmentsInDocument","state","eventsHandlers","isOpenControlled","path","open","setState","prevState","concat","_toConsumableArray2","thispath","addPathToOpenPath","isSelectControlled","selected","multiple","newSelectedPaths","bind","_assertThisInitialized2","_createClass2","value","getVariables","_this$props","openableTypes","selectableTypes","queryVariables","vars","types","Set","selectable","openable","assign","getPickerEntries","data","_this2","pickerEntries","nodesById","jcr","addNode","node","depth","index","indexOf","pickerNode","name","prefix","repeat","hidden","hasChildren","children","pageInfo","nodesCount","splice","uuid","rootNodes","rootNode","root","hideRoot","openNodes","sort","a","b","parent","parentIndex","nodes","slice","reverse","child","selectedNodes","map","s","pathsToOpen","rootFound","endsWith","_path$split","split","_path$split2","_toArray2","tail","reduce","acc","it","rootPath","startsWith","includes","paths","_this3","Array","render","_this4","setRefetch","createElement","Query","variables","fetchPolicy","error","loading","refetch","queryParams","renderProp","onLoading","previousEntries","getDerivedStateFromProps","nextProps","console","warn","newState","deepEquals","React","Component","exports","_propTypes","array","arrayOf","string","func","isRequired","objectOf","any","bool"],"sources":["Picker.tsx"],"sourcesContent":["// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-nocheck\nimport React from 'react';\nimport {Query} from '@apollo/react-components';\nimport gql from 'graphql-tag';\nimport {displayName, Fragment, nodeCacheRequiredFields, replaceFragmentsInDocument} from '../fragments';\nimport {PickerItemsFragment} from './Picker.gql-fragments';\nimport {DocumentNode} from 'graphql';\nimport {QueryResult} from '@apollo/client';\nimport rfdc from 'rfdc';\nimport deepEquals from 'fast-deep-equal';\n\nconst clone = rfdc();\n\ntype PropType = {\n /**\n * Optional set of fragments to add to the graphQL query. Can be a string that identify a predefinedFragment or a fragment definition\n */\n fragments?: (string| Fragment)[],\n\n /**\n * List of root paths for the picker\n */\n rootPaths?: string[],\n\n onOpenItem?: (path:string, open:boolean) => void\n\n onSelectItem?: (path:string, selected: boolean, multiple:boolean) => void,\n\n /**\n * List of open folders in controlled mode\n */\n openPaths?: string[],\n\n /**\n * List of selected path in controlled mode\n */\n selectedPaths?: string[],\n\n /**\n * Preselected items path (uncontrolled mode)\n */\n defaultSelectedPaths?: string[],\n\n /**\n * Callback when the selection has changed\n */\n onSelectionChange?: (paths:string[]) => void,\n\n /**\n * List of folder paths that are open by default (uncontrolled mode)\n */\n defaultOpenPaths?: string[],\n\n /**\n * List of node types that can be \"opened\" (folders)\n */\n openableTypes?: string[],\n\n /**\n * List of node types that can be \"selected\" (items)\n */\n selectableTypes?: string[],\n\n onLoading: (l: boolean) => void,\n\n /**\n * Optional set of variable to pass to the graphQL query, in order to fulfill fragments needs\n */\n queryVariables?: {[key:string]: any},\n\n hideRoot?: boolean,\n\n /**\n * Optional function which receives refetch function of the Query component when the component is strapped\n */\n setRefetch: (p: any) => void,\n\n children: (p: any) => React.ReactElement\n};\n\ntype StateType = {\n isOpenControlled?: boolean,\n isSelectControlled?: boolean,\n openPaths?: string[],\n selectedPaths?: string[]\n};\n\nexport class Picker extends React.Component<PropType, StateType> {\n query: DocumentNode;\n eventsHandlers: {onOpenItem?: (path:string, open:boolean) => void, onSelectItem?: (path:string, selected: boolean, multiple:boolean) => void};\n previousEntries: any;\n\n constructor(props: PropType) {\n super(props);\n\n const {\n fragments,\n rootPaths,\n onOpenItem,\n onSelectItem,\n openPaths,\n selectedPaths,\n defaultSelectedPaths,\n onSelectionChange,\n defaultOpenPaths\n } = props;\n\n const resolvedFragments = fragments || [PickerItemsFragment.mixinTypes, PickerItemsFragment.primaryNodeType, PickerItemsFragment.isPublished, displayName];\n\n this.query = gql`\n query PickerQuery($rootPaths:[String!]!, $selectable:[String]!, $openable:[String]!, $openPaths:[String!]!, $types:[String]!) {\n jcr {\n rootNodes:nodesByPath(paths: $rootPaths) {\n name\n children(typesFilter:{types:$types}, limit:1) {\n pageInfo {\n nodesCount\n }\n }\n selectable : isNodeType(type: {types:$selectable})\n openable : isNodeType(type: {types:$openable})\n ... NodeCacheRequiredFields\n ... node\n },\n openNodes:nodesByPath(paths: $openPaths) {\n ... NodeCacheRequiredFields\n children(typesFilter:{types:$types}) {\n nodes {\n name\n children(typesFilter:{types:$types}, limit:1) {\n pageInfo {\n nodesCount\n }\n }\n selectable : isNodeType(type: {types:$selectable})\n openable : isNodeType(type: {types:$openable})\n ... NodeCacheRequiredFields\n ... node\n }\n }\n }\n }\n }\n ${nodeCacheRequiredFields.gql}`;\n this.query = replaceFragmentsInDocument(this.query, resolvedFragments);\n\n const state: StateType = {};\n\n this.eventsHandlers = {};\n\n if (!openPaths) {\n // Uncontrolled mode\n state.isOpenControlled = false;\n state.openPaths = [];\n this.eventsHandlers.onOpenItem = (path, open) => {\n this.setState(prevState => ({\n openPaths: open ?\n [...prevState.openPaths, path] :\n prevState.openPaths.filter(thispath => thispath !== path)\n }));\n };\n\n if (defaultOpenPaths) {\n state.openPaths = this.addPathToOpenPath(defaultOpenPaths, rootPaths, state.openPaths);\n }\n } else {\n state.isOpenControlled = true;\n if (onOpenItem) {\n this.eventsHandlers.onOpenItem = onOpenItem;\n }\n }\n\n if (!selectedPaths) {\n // Uncontrolled mode\n state.isSelectControlled = false;\n state.selectedPaths = defaultSelectedPaths ? clone(defaultSelectedPaths) : [];\n // Open selected path if open is uncontrolled\n if (defaultSelectedPaths && !state.isOpenControlled) {\n state.openPaths = this.addPathToOpenPath(defaultSelectedPaths, rootPaths, state.openPaths);\n }\n\n this.eventsHandlers.onSelectItem = (path, selected, multiple) => {\n this.setState(prevState => {\n const newSelectedPaths = selected ?\n [...(multiple ? prevState.selectedPaths : []), path] :\n prevState.selectedPaths.filter(thispath => thispath !== path);\n onSelectionChange(newSelectedPaths);\n return {\n selectedPaths: newSelectedPaths\n };\n });\n };\n } else if (onSelectItem) {\n state.isSelectControlled = true;\n if (onSelectItem) {\n this.eventsHandlers.onSelectItem = onSelectItem;\n }\n }\n\n this.state = state;\n\n // Binding\n this.openPaths = this.openPaths.bind(this);\n }\n\n static getDerivedStateFromProps(nextProps: PropType, prevState: StateType) {\n if ((prevState.isOpenControlled !== Boolean(nextProps.openPaths)) || (prevState.isSelectControlled !== Boolean(nextProps.selectedPaths))) {\n console.warn('Cannot change between controlled/uncontrolled modes');\n }\n\n const newState: StateType = {};\n\n if (prevState.isOpenControlled && !deepEquals(nextProps.openPaths, prevState.openPaths)) {\n newState.openPaths = nextProps.openPaths;\n }\n\n if (prevState.isSelectControlled && !deepEquals(nextProps.selectedPaths, prevState.selectedPaths)) {\n newState.selectedPaths = nextProps.selectedPaths;\n }\n\n if (newState.openPaths || newState.selectedPaths) {\n return newState;\n }\n\n return null;\n }\n\n getVariables(selectedPaths: string[], openPaths: string[]) {\n const {rootPaths, openableTypes, selectableTypes, queryVariables} = this.props;\n\n const vars = {\n rootPaths,\n types: [...new Set([...openableTypes, ...selectableTypes])],\n selectable: selectableTypes,\n openable: openableTypes,\n openPaths\n };\n\n if (queryVariables) {\n Object.assign(vars, queryVariables);\n }\n\n return vars;\n }\n\n getPickerEntries(data: any, selectedPaths: string[], openPaths: string[]) {\n let pickerEntries: any[] = [];\n const nodesById:any = {};\n const {jcr} = data;\n\n const addNode = function (node:any, depth:number, index:number) {\n let selected = false;\n if (node.selectable) {\n selected = selectedPaths.indexOf(node.path) !== -1;\n }\n\n const pickerNode = {\n name: node.name,\n path: node.path,\n open: node.openable && openPaths.indexOf(node.path) !== -1,\n selected,\n openable: node.openable,\n selectable: node.selectable,\n depth,\n prefix: '&nbsp;'.repeat(depth * 3),\n node,\n hidden: false,\n hasChildren: node.children.pageInfo.nodesCount > 0\n };\n pickerEntries.splice(index, 0, pickerNode);\n nodesById[node.uuid] = pickerNode;\n return pickerNode;\n };\n\n if (jcr) {\n if (jcr.rootNodes) {\n jcr.rootNodes.forEach((rootNode: any) => {\n const root = addNode(rootNode, 0, 0);\n root.hidden = this.props.hideRoot || false;\n });\n }\n\n if (jcr.openNodes) {\n jcr.openNodes.concat()\n .sort((a: any, b: any) => (a.path > b.path) ? 1 : ((b.path > a.path) ? -1 : 0))\n .forEach((node: any) => {\n const parent = nodesById[node.uuid];\n if (parent) {\n const parentIndex = pickerEntries.indexOf(parent);\n node.children.nodes.slice().reverse().forEach((child: any) => {\n addNode(child, parent.depth + 1, parentIndex + 1);\n });\n }\n });\n }\n }\n\n // Nodes loaded, fill selection list\n const selectedNodes = pickerEntries.filter(node => node.selected).map(node => node.node);\n\n selectedPaths = selectedNodes.map(s => s.path);\n pickerEntries = pickerEntries.filter(pickerNode => !pickerNode.hidden);\n\n return pickerEntries;\n }\n\n addPathToOpenPath(pathsToOpen: string[], rootPaths:string[], openPaths: string[]) {\n pathsToOpen.forEach(path => {\n let rootFound: false | string = false;\n if (!path.endsWith('/')) {\n path += '/';\n }\n\n const [...tail] = path.split('/');\n tail.reduce((acc, it) => {\n if (!rootFound) {\n rootPaths.forEach(rootPath => {\n rootFound = rootFound || (acc.startsWith(rootPath) && rootPath);\n });\n }\n\n if (rootFound && !openPaths.includes(acc)) {\n openPaths.push(acc);\n if (!openPaths.includes(rootFound)) {\n openPaths.push(rootFound);\n }\n }\n\n return acc + '/' + it;\n }, '');\n });\n return openPaths;\n }\n\n openPaths(paths: string[]) {\n if (!(paths instanceof Array)) {\n paths = [paths];\n }\n\n this.setState(prevState => {\n const openPaths = this.addPathToOpenPath(paths, this.props.rootPaths, prevState.openPaths);\n return {openPaths};\n });\n }\n\n render() {\n const selectedPaths = this.state.selectedPaths ? this.state.selectedPaths : this.props.selectedPaths;\n let openPaths = this.state.openPaths || this.props.openPaths;\n const {setRefetch} = this.props;\n\n openPaths = clone(openPaths);\n\n const vars = this.getVariables(selectedPaths, openPaths);\n\n return (\n <Query query={this.query} variables={vars} fetchPolicy=\"cache-first\">\n {(result: QueryResult): React.JSX.Element => {\n const {error, loading, data, refetch} = result;\n if (setRefetch) {\n setRefetch({\n query: this.query,\n queryParams: vars,\n refetch\n });\n }\n\n const renderProp = this.props.children;\n if (this.props.onLoading) {\n this.props.onLoading(loading);\n }\n\n if (loading) {\n if (this.previousEntries) {\n return renderProp({pickerEntries: this.previousEntries, loading, ...this.eventsHandlers});\n }\n\n return renderProp({pickerEntries: [], loading, ...this.eventsHandlers});\n }\n\n if (error) {\n return renderProp({pickerEntries: [], error, loading, ...this.eventsHandlers});\n }\n\n const pickerEntries = this.getPickerEntries(data, selectedPaths, openPaths);\n this.previousEntries = pickerEntries;\n\n return renderProp({pickerEntries, loading, ...this.eventsHandlers});\n }}\n </Query>\n );\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAEA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAGA,IAAAK,KAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,cAAA,GAAAP,sBAAA,CAAAC,OAAA;AAAyC,IAAAO,eAAA;AAAA,SAAAC,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAC,MAAA,CAAAD,IAAA,CAAAF,MAAA,OAAAG,MAAA,CAAAC,qBAAA,QAAAC,OAAA,GAAAF,MAAA,CAAAC,qBAAA,CAAAJ,MAAA,GAAAC,cAAA,KAAAI,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAJ,MAAA,CAAAK,wBAAA,CAAAR,MAAA,EAAAO,GAAA,EAAAE,UAAA,OAAAP,IAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,IAAA,EAAAG,OAAA,YAAAH,IAAA;AAAA,SAAAU,cAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAf,OAAA,CAAAI,MAAA,CAAAc,MAAA,OAAAC,OAAA,WAAAC,GAAA,QAAAC,gBAAA,aAAAP,MAAA,EAAAM,GAAA,EAAAF,MAAA,CAAAE,GAAA,SAAAhB,MAAA,CAAAkB,yBAAA,GAAAlB,MAAA,CAAAmB,gBAAA,CAAAT,MAAA,EAAAV,MAAA,CAAAkB,yBAAA,CAAAJ,MAAA,KAAAlB,OAAA,CAAAI,MAAA,CAAAc,MAAA,GAAAC,OAAA,WAAAC,GAAA,IAAAhB,MAAA,CAAAoB,cAAA,CAAAV,MAAA,EAAAM,GAAA,EAAAhB,MAAA,CAAAK,wBAAA,CAAAS,MAAA,EAAAE,GAAA,iBAAAN,MAAA;AAAA,SAAAW,aAAAC,OAAA,QAAAC,yBAAA,GAAAC,yBAAA,oBAAAC,qBAAA,QAAAC,KAAA,OAAAC,gBAAA,aAAAL,OAAA,GAAAM,MAAA,MAAAL,yBAAA,QAAAM,SAAA,OAAAF,gBAAA,mBAAAG,WAAA,EAAAF,MAAA,GAAAG,OAAA,CAAAC,SAAA,CAAAN,KAAA,EAAAd,SAAA,EAAAiB,SAAA,YAAAD,MAAA,GAAAF,KAAA,CAAAlB,KAAA,OAAAI,SAAA,gBAAAqB,2BAAA,mBAAAL,MAAA;AAAA,SAAAJ,0BAAA,eAAAO,OAAA,qBAAAA,OAAA,CAAAC,SAAA,oBAAAD,OAAA,CAAAC,SAAA,CAAAE,IAAA,2BAAAC,KAAA,oCAAAC,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAR,OAAA,CAAAC,SAAA,CAAAI,OAAA,8CAAAI,CAAA,sBAVzC;AACA;AAWA,IAAMC,KAAK,GAAG,IAAAC,gBAAI,EAAC,CAAC;AAAC,IA4ERC,MAAM,0BAAAC,gBAAA;EAAA,IAAAC,UAAA,aAAAF,MAAA,EAAAC,gBAAA;EAAA,IAAAE,MAAA,GAAAzB,YAAA,CAAAsB,MAAA;EAKf,SAAAA,OAAYI,KAAe,EAAE;IAAA,IAAAC,KAAA;IAAA,IAAAC,gBAAA,mBAAAN,MAAA;IACzBK,KAAA,GAAAF,MAAA,CAAAP,IAAA,OAAMQ,KAAK;IAEX,IACIG,SAAS,GASTH,KAAK,CATLG,SAAS;MACTC,SAAS,GAQTJ,KAAK,CARLI,SAAS;MACTC,UAAU,GAOVL,KAAK,CAPLK,UAAU;MACVC,YAAY,GAMZN,KAAK,CANLM,YAAY;MACZC,SAAS,GAKTP,KAAK,CALLO,SAAS;MACTC,aAAa,GAIbR,KAAK,CAJLQ,aAAa;MACbC,oBAAoB,GAGpBT,KAAK,CAHLS,oBAAoB;MACpBC,iBAAiB,GAEjBV,KAAK,CAFLU,iBAAiB;MACjBC,gBAAgB,GAChBX,KAAK,CADLW,gBAAgB;IAGpB,IAAMC,iBAAiB,GAAGT,SAAS,IAAI,CAACU,2BAAmB,CAACC,UAAU,EAAED,2BAAmB,CAACE,eAAe,EAAEF,2BAAmB,CAACG,WAAW,EAAEC,sBAAW,CAAC;IAE1JhB,KAAA,CAAKiB,KAAK,OAAGC,sBAAG,EAAAvE,eAAA,KAAAA,eAAA,OAAAwE,uBAAA,4nDAkCdC,kCAAuB,CAACF,GAAG,CAAE;IAC/BlB,KAAA,CAAKiB,KAAK,GAAG,IAAAI,qCAA0B,EAACrB,KAAA,CAAKiB,KAAK,EAAEN,iBAAiB,CAAC;IAEtE,IAAMW,KAAgB,GAAG,CAAC,CAAC;IAE3BtB,KAAA,CAAKuB,cAAc,GAAG,CAAC,CAAC;IAExB,IAAI,CAACjB,SAAS,EAAE;MACZ;MACAgB,KAAK,CAACE,gBAAgB,GAAG,KAAK;MAC9BF,KAAK,CAAChB,SAAS,GAAG,EAAE;MACpBN,KAAA,CAAKuB,cAAc,CAACnB,UAAU,GAAG,UAACqB,IAAI,EAAEC,IAAI,EAAK;QAC7C1B,KAAA,CAAK2B,QAAQ,CAAC,UAAAC,SAAS;UAAA,OAAK;YACxBtB,SAAS,EAAEoB,IAAI,MAAAG,MAAA,KAAAC,mBAAA,aACPF,SAAS,CAACtB,SAAS,IAAEmB,IAAI,KAC7BG,SAAS,CAACtB,SAAS,CAACnD,MAAM,CAAC,UAAA4E,QAAQ;cAAA,OAAIA,QAAQ,KAAKN,IAAI;YAAA;UAChE,CAAC;QAAA,CAAC,CAAC;MACP,CAAC;MAED,IAAIf,gBAAgB,EAAE;QAClBY,KAAK,CAAChB,SAAS,GAAGN,KAAA,CAAKgC,iBAAiB,CAACtB,gBAAgB,EAAEP,SAAS,EAAEmB,KAAK,CAAChB,SAAS,CAAC;MAC1F;IACJ,CAAC,MAAM;MACHgB,KAAK,CAACE,gBAAgB,GAAG,IAAI;MAC7B,IAAIpB,UAAU,EAAE;QACZJ,KAAA,CAAKuB,cAAc,CAACnB,UAAU,GAAGA,UAAU;MAC/C;IACJ;IAEA,IAAI,CAACG,aAAa,EAAE;MAChB;MACAe,KAAK,CAACW,kBAAkB,GAAG,KAAK;MAChCX,KAAK,CAACf,aAAa,GAAGC,oBAAoB,GAAGf,KAAK,CAACe,oBAAoB,CAAC,GAAG,EAAE;MAC7E;MACA,IAAIA,oBAAoB,IAAI,CAACc,KAAK,CAACE,gBAAgB,EAAE;QACjDF,KAAK,CAAChB,SAAS,GAAGN,KAAA,CAAKgC,iBAAiB,CAACxB,oBAAoB,EAAEL,SAAS,EAAEmB,KAAK,CAAChB,SAAS,CAAC;MAC9F;MAEAN,KAAA,CAAKuB,cAAc,CAAClB,YAAY,GAAG,UAACoB,IAAI,EAAES,QAAQ,EAAEC,QAAQ,EAAK;QAC7DnC,KAAA,CAAK2B,QAAQ,CAAC,UAAAC,SAAS,EAAI;UACvB,IAAMQ,gBAAgB,GAAGF,QAAQ,MAAAL,MAAA,KAAAC,mBAAA,aACxBK,QAAQ,GAAGP,SAAS,CAACrB,aAAa,GAAG,EAAE,IAAGkB,IAAI,KACnDG,SAAS,CAACrB,aAAa,CAACpD,MAAM,CAAC,UAAA4E,QAAQ;YAAA,OAAIA,QAAQ,KAAKN,IAAI;UAAA,EAAC;UACjEhB,iBAAiB,CAAC2B,gBAAgB,CAAC;UACnC,OAAO;YACH7B,aAAa,EAAE6B;UACnB,CAAC;QACL,CAAC,CAAC;MACN,CAAC;IACL,CAAC,MAAM,IAAI/B,YAAY,EAAE;MACrBiB,KAAK,CAACW,kBAAkB,GAAG,IAAI;MAC/B,IAAI5B,YAAY,EAAE;QACdL,KAAA,CAAKuB,cAAc,CAAClB,YAAY,GAAGA,YAAY;MACnD;IACJ;IAEAL,KAAA,CAAKsB,KAAK,GAAGA,KAAK;;IAElB;IACAtB,KAAA,CAAKM,SAAS,GAAGN,KAAA,CAAKM,SAAS,CAAC+B,IAAI,KAAAC,uBAAA,aAAAtC,KAAA,CAAK,CAAC;IAAC,OAAAA,KAAA;EAC/C;EAAC,IAAAuC,aAAA,aAAA5C,MAAA;IAAA3B,GAAA;IAAAwE,KAAA,EAwBD,SAAAC,aAAalC,aAAuB,EAAED,SAAmB,EAAE;MACvD,IAAAoC,WAAA,GAAoE,IAAI,CAAC3C,KAAK;QAAvEI,SAAS,GAAAuC,WAAA,CAATvC,SAAS;QAAEwC,aAAa,GAAAD,WAAA,CAAbC,aAAa;QAAEC,eAAe,GAAAF,WAAA,CAAfE,eAAe;QAAEC,cAAc,GAAAH,WAAA,CAAdG,cAAc;MAEhE,IAAMC,IAAI,GAAG;QACT3C,SAAS,EAATA,SAAS;QACT4C,KAAK,MAAAjB,mBAAA,aAAM,IAAIkB,GAAG,IAAAnB,MAAA,KAAAC,mBAAA,aAAKa,aAAa,OAAAb,mBAAA,aAAKc,eAAe,EAAC,CAAC,CAAC;QAC3DK,UAAU,EAAEL,eAAe;QAC3BM,QAAQ,EAAEP,aAAa;QACvBrC,SAAS,EAATA;MACJ,CAAC;MAED,IAAIuC,cAAc,EAAE;QAChB7F,MAAM,CAACmG,MAAM,CAACL,IAAI,EAAED,cAAc,CAAC;MACvC;MAEA,OAAOC,IAAI;IACf;EAAC;IAAA9E,GAAA;IAAAwE,KAAA,EAED,SAAAY,iBAAiBC,IAAS,EAAE9C,aAAuB,EAAED,SAAmB,EAAE;MAAA,IAAAgD,MAAA;MACtE,IAAIC,aAAoB,GAAG,EAAE;MAC7B,IAAMC,SAAa,GAAG,CAAC,CAAC;MACxB,IAAOC,GAAG,GAAIJ,IAAI,CAAXI,GAAG;MAEV,IAAMC,OAAO,GAAG,SAAVA,OAAOA,CAAaC,IAAQ,EAAEC,KAAY,EAAEC,KAAY,EAAE;QAC5D,IAAI3B,QAAQ,GAAG,KAAK;QACpB,IAAIyB,IAAI,CAACV,UAAU,EAAE;UACjBf,QAAQ,GAAG3B,aAAa,CAACuD,OAAO,CAACH,IAAI,CAAClC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtD;QAEA,IAAMsC,UAAU,GAAG;UACfC,IAAI,EAAEL,IAAI,CAACK,IAAI;UACfvC,IAAI,EAAEkC,IAAI,CAAClC,IAAI;UACfC,IAAI,EAAEiC,IAAI,CAACT,QAAQ,IAAI5C,SAAS,CAACwD,OAAO,CAACH,IAAI,CAAClC,IAAI,CAAC,KAAK,CAAC,CAAC;UAC1DS,QAAQ,EAARA,QAAQ;UACRgB,QAAQ,EAAES,IAAI,CAACT,QAAQ;UACvBD,UAAU,EAAEU,IAAI,CAACV,UAAU;UAC3BW,KAAK,EAALA,KAAK;UACLK,MAAM,EAAE,QAAQ,CAACC,MAAM,CAACN,KAAK,GAAG,CAAC,CAAC;UAClCD,IAAI,EAAJA,IAAI;UACJQ,MAAM,EAAE,KAAK;UACbC,WAAW,EAAET,IAAI,CAACU,QAAQ,CAACC,QAAQ,CAACC,UAAU,GAAG;QACrD,CAAC;QACDhB,aAAa,CAACiB,MAAM,CAACX,KAAK,EAAE,CAAC,EAAEE,UAAU,CAAC;QAC1CP,SAAS,CAACG,IAAI,CAACc,IAAI,CAAC,GAAGV,UAAU;QACjC,OAAOA,UAAU;MACrB,CAAC;MAED,IAAIN,GAAG,EAAE;QACL,IAAIA,GAAG,CAACiB,SAAS,EAAE;UACfjB,GAAG,CAACiB,SAAS,CAAC3G,OAAO,CAAC,UAAC4G,QAAa,EAAK;YACrC,IAAMC,IAAI,GAAGlB,OAAO,CAACiB,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;YACpCC,IAAI,CAACT,MAAM,GAAGb,MAAI,CAACvD,KAAK,CAAC8E,QAAQ,IAAI,KAAK;UAC9C,CAAC,CAAC;QACN;QAEA,IAAIpB,GAAG,CAACqB,SAAS,EAAE;UACfrB,GAAG,CAACqB,SAAS,CAACjD,MAAM,CAAC,CAAC,CACjBkD,IAAI,CAAC,UAACC,CAAM,EAAEC,CAAM;YAAA,OAAMD,CAAC,CAACvD,IAAI,GAAGwD,CAAC,CAACxD,IAAI,GAAI,CAAC,GAAKwD,CAAC,CAACxD,IAAI,GAAGuD,CAAC,CAACvD,IAAI,GAAI,CAAC,CAAC,GAAG,CAAE;UAAA,EAAC,CAC9E1D,OAAO,CAAC,UAAC4F,IAAS,EAAK;YACpB,IAAMuB,MAAM,GAAG1B,SAAS,CAACG,IAAI,CAACc,IAAI,CAAC;YACnC,IAAIS,MAAM,EAAE;cACR,IAAMC,WAAW,GAAG5B,aAAa,CAACO,OAAO,CAACoB,MAAM,CAAC;cACjDvB,IAAI,CAACU,QAAQ,CAACe,KAAK,CAACC,KAAK,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC,CAACvH,OAAO,CAAC,UAACwH,KAAU,EAAK;gBAC1D7B,OAAO,CAAC6B,KAAK,EAAEL,MAAM,CAACtB,KAAK,GAAG,CAAC,EAAEuB,WAAW,GAAG,CAAC,CAAC;cACrD,CAAC,CAAC;YACN;UACJ,CAAC,CAAC;QACV;MACJ;;MAEA;MACA,IAAMK,aAAa,GAAGjC,aAAa,CAACpG,MAAM,CAAC,UAAAwG,IAAI;QAAA,OAAIA,IAAI,CAACzB,QAAQ;MAAA,EAAC,CAACuD,GAAG,CAAC,UAAA9B,IAAI;QAAA,OAAIA,IAAI,CAACA,IAAI;MAAA,EAAC;MAExFpD,aAAa,GAAGiF,aAAa,CAACC,GAAG,CAAC,UAAAC,CAAC;QAAA,OAAIA,CAAC,CAACjE,IAAI;MAAA,EAAC;MAC9C8B,aAAa,GAAGA,aAAa,CAACpG,MAAM,CAAC,UAAA4G,UAAU;QAAA,OAAI,CAACA,UAAU,CAACI,MAAM;MAAA,EAAC;MAEtE,OAAOZ,aAAa;IACxB;EAAC;IAAAvF,GAAA;IAAAwE,KAAA,EAED,SAAAR,kBAAkB2D,WAAqB,EAAExF,SAAkB,EAAEG,SAAmB,EAAE;MAC9EqF,WAAW,CAAC5H,OAAO,CAAC,UAAA0D,IAAI,EAAI;QACxB,IAAImE,SAAyB,GAAG,KAAK;QACrC,IAAI,CAACnE,IAAI,CAACoE,QAAQ,CAAC,GAAG,CAAC,EAAE;UACrBpE,IAAI,IAAI,GAAG;QACf;QAEA,IAAAqE,WAAA,GAAkBrE,IAAI,CAACsE,KAAK,CAAC,GAAG,CAAC;UAAAC,YAAA,OAAAC,SAAA,aAAAH,WAAA;UAAvBI,IAAI,GAAAF,YAAA,CAAAX,KAAA;QACda,IAAI,CAACC,MAAM,CAAC,UAACC,GAAG,EAAEC,EAAE,EAAK;UACrB,IAAI,CAACT,SAAS,EAAE;YACZzF,SAAS,CAACpC,OAAO,CAAC,UAAAuI,QAAQ,EAAI;cAC1BV,SAAS,GAAGA,SAAS,IAAKQ,GAAG,CAACG,UAAU,CAACD,QAAQ,CAAC,IAAIA,QAAS;YACnE,CAAC,CAAC;UACN;UAEA,IAAIV,SAAS,IAAI,CAACtF,SAAS,CAACkG,QAAQ,CAACJ,GAAG,CAAC,EAAE;YACvC9F,SAAS,CAAC/C,IAAI,CAAC6I,GAAG,CAAC;YACnB,IAAI,CAAC9F,SAAS,CAACkG,QAAQ,CAACZ,SAAS,CAAC,EAAE;cAChCtF,SAAS,CAAC/C,IAAI,CAACqI,SAAS,CAAC;YAC7B;UACJ;UAEA,OAAOQ,GAAG,GAAG,GAAG,GAAGC,EAAE;QACzB,CAAC,EAAE,EAAE,CAAC;MACV,CAAC,CAAC;MACF,OAAO/F,SAAS;IACpB;EAAC;IAAAtC,GAAA;IAAAwE,KAAA,EAED,SAAAlC,UAAUmG,KAAe,EAAE;MAAA,IAAAC,MAAA;MACvB,IAAI,EAAED,KAAK,YAAYE,KAAK,CAAC,EAAE;QAC3BF,KAAK,GAAG,CAACA,KAAK,CAAC;MACnB;MAEA,IAAI,CAAC9E,QAAQ,CAAC,UAAAC,SAAS,EAAI;QACvB,IAAMtB,SAAS,GAAGoG,MAAI,CAAC1E,iBAAiB,CAACyE,KAAK,EAAEC,MAAI,CAAC3G,KAAK,CAACI,SAAS,EAAEyB,SAAS,CAACtB,SAAS,CAAC;QAC1F,OAAO;UAACA,SAAS,EAATA;QAAS,CAAC;MACtB,CAAC,CAAC;IACN;EAAC;IAAAtC,GAAA;IAAAwE,KAAA,EAED,SAAAoE,OAAA,EAAS;MAAA,IAAAC,MAAA;MACL,IAAMtG,aAAa,GAAG,IAAI,CAACe,KAAK,CAACf,aAAa,GAAG,IAAI,CAACe,KAAK,CAACf,aAAa,GAAG,IAAI,CAACR,KAAK,CAACQ,aAAa;MACpG,IAAID,SAAS,GAAG,IAAI,CAACgB,KAAK,CAAChB,SAAS,IAAI,IAAI,CAACP,KAAK,CAACO,SAAS;MAC5D,IAAOwG,UAAU,GAAI,IAAI,CAAC/G,KAAK,CAAxB+G,UAAU;MAEjBxG,SAAS,GAAGb,KAAK,CAACa,SAAS,CAAC;MAE5B,IAAMwC,IAAI,GAAG,IAAI,CAACL,YAAY,CAAClC,aAAa,EAAED,SAAS,CAAC;MAExD,oBACIpE,MAAA,YAAA6K,aAAA,CAAC1K,gBAAA,CAAA2K,KAAK;QAAC/F,KAAK,EAAE,IAAI,CAACA,KAAM;QAACgG,SAAS,EAAEnE,IAAK;QAACoE,WAAW,EAAC;MAAa,GAC/D,UAACtI,MAAmB,EAAwB;QACzC,IAAOuI,KAAK,GAA4BvI,MAAM,CAAvCuI,KAAK;UAAEC,OAAO,GAAmBxI,MAAM,CAAhCwI,OAAO;UAAE/D,IAAI,GAAazE,MAAM,CAAvByE,IAAI;UAAEgE,OAAO,GAAIzI,MAAM,CAAjByI,OAAO;QACpC,IAAIP,UAAU,EAAE;UACZA,UAAU,CAAC;YACP7F,KAAK,EAAE4F,MAAI,CAAC5F,KAAK;YACjBqG,WAAW,EAAExE,IAAI;YACjBuE,OAAO,EAAPA;UACJ,CAAC,CAAC;QACN;QAEA,IAAME,UAAU,GAAGV,MAAI,CAAC9G,KAAK,CAACsE,QAAQ;QACtC,IAAIwC,MAAI,CAAC9G,KAAK,CAACyH,SAAS,EAAE;UACtBX,MAAI,CAAC9G,KAAK,CAACyH,SAAS,CAACJ,OAAO,CAAC;QACjC;QAEA,IAAIA,OAAO,EAAE;UACT,IAAIP,MAAI,CAACY,eAAe,EAAE;YACtB,OAAOF,UAAU,CAAA9J,aAAA;cAAE8F,aAAa,EAAEsD,MAAI,CAACY,eAAe;cAAEL,OAAO,EAAPA;YAAO,GAAKP,MAAI,CAACtF,cAAc,CAAC,CAAC;UAC7F;UAEA,OAAOgG,UAAU,CAAA9J,aAAA;YAAE8F,aAAa,EAAE,EAAE;YAAE6D,OAAO,EAAPA;UAAO,GAAKP,MAAI,CAACtF,cAAc,CAAC,CAAC;QAC3E;QAEA,IAAI4F,KAAK,EAAE;UACP,OAAOI,UAAU,CAAA9J,aAAA;YAAE8F,aAAa,EAAE,EAAE;YAAE4D,KAAK,EAALA,KAAK;YAAEC,OAAO,EAAPA;UAAO,GAAKP,MAAI,CAACtF,cAAc,CAAC,CAAC;QAClF;QAEA,IAAMgC,aAAa,GAAGsD,MAAI,CAACzD,gBAAgB,CAACC,IAAI,EAAE9C,aAAa,EAAED,SAAS,CAAC;QAC3EuG,MAAI,CAACY,eAAe,GAAGlE,aAAa;QAEpC,OAAOgE,UAAU,CAAA9J,aAAA;UAAE8F,aAAa,EAAbA,aAAa;UAAE6D,OAAO,EAAPA;QAAO,GAAKP,MAAI,CAACtF,cAAc,CAAC,CAAC;MACvE,CACG,CAAC;IAEhB;EAAC;IAAAvD,GAAA;IAAAwE,KAAA,EAzLD,SAAAkF,yBAAgCC,SAAmB,EAAE/F,SAAoB,EAAE;MACvE,IAAKA,SAAS,CAACJ,gBAAgB,KAAKpC,OAAO,CAACuI,SAAS,CAACrH,SAAS,CAAC,IAAMsB,SAAS,CAACK,kBAAkB,KAAK7C,OAAO,CAACuI,SAAS,CAACpH,aAAa,CAAE,EAAE;QACtIqH,OAAO,CAACC,IAAI,CAAC,qDAAqD,CAAC;MACvE;MAEA,IAAMC,QAAmB,GAAG,CAAC,CAAC;MAE9B,IAAIlG,SAAS,CAACJ,gBAAgB,IAAI,CAAC,IAAAuG,yBAAU,EAACJ,SAAS,CAACrH,SAAS,EAAEsB,SAAS,CAACtB,SAAS,CAAC,EAAE;QACrFwH,QAAQ,CAACxH,SAAS,GAAGqH,SAAS,CAACrH,SAAS;MAC5C;MAEA,IAAIsB,SAAS,CAACK,kBAAkB,IAAI,CAAC,IAAA8F,yBAAU,EAACJ,SAAS,CAACpH,aAAa,EAAEqB,SAAS,CAACrB,aAAa,CAAC,EAAE;QAC/FuH,QAAQ,CAACvH,aAAa,GAAGoH,SAAS,CAACpH,aAAa;MACpD;MAEA,IAAIuH,QAAQ,CAACxH,SAAS,IAAIwH,QAAQ,CAACvH,aAAa,EAAE;QAC9C,OAAOuH,QAAQ;MACnB;MAEA,OAAO,IAAI;IACf;EAAC;EAAA,OAAAnI,MAAA;AAAA,EA1IuBqI,iBAAK,CAACC,SAAS;AAAAC,OAAA,CAAAvI,MAAA,GAAAA,MAAA;AAAA,IAAA1B,gBAAA,aAA9B0B,MAAM;EAAA;AACnB;AACA;EAxEIO,SAAS,EAAAiI,UAAA,YAAAC,KAAA;EAAA;AACb;AACA;EAGIjI,SAAS,EAAAgI,UAAA,YAAAE,OAAA,CAAAF,UAAA,YAAAG,MAAA;EAETlI,UAAU,EAAA+H,UAAA,YAAAI,IAAA;EAEVlI,YAAY,EAAA8H,UAAA,YAAAI,IAAA;EAAA;AAChB;AACA;EAGIjI,SAAS,EAAA6H,UAAA,YAAAE,OAAA,CAAAF,UAAA,YAAAG,MAAA;EAAA;AACb;AACA;EAGI/H,aAAa,EAAA4H,UAAA,YAAAE,OAAA,CAAAF,UAAA,YAAAG,MAAA;EAAA;AACjB;AACA;EAGI9H,oBAAoB,EAAA2H,UAAA,YAAAE,OAAA,CAAAF,UAAA,YAAAG,MAAA;EAAA;AACxB;AACA;EAGI7H,iBAAiB,EAAA0H,UAAA,YAAAI,IAAA;EAAA;AACrB;AACA;EAGI7H,gBAAgB,EAAAyH,UAAA,YAAAE,OAAA,CAAAF,UAAA,YAAAG,MAAA;EAAA;AACpB;AACA;EAGI3F,aAAa,EAAAwF,UAAA,YAAAE,OAAA,CAAAF,UAAA,YAAAG,MAAA;EAAA;AACjB;AACA;EAGI1F,eAAe,EAAAuF,UAAA,YAAAE,OAAA,CAAAF,UAAA,YAAAG,MAAA;EAEfd,SAAS,EAAAW,UAAA,YAAAI,IAAA,CAAAC,UAAA;EAAA;AACb;AACA;EAGI3F,cAAc,EAAAsF,UAAA,YAAAM,QAAA,CAAAN,UAAA,YAAAO,GAAA;EAEd7D,QAAQ,EAAAsD,UAAA,YAAAQ,IAAA;EAAA;AACZ;AACA;EAGI7B,UAAU,EAAAqB,UAAA,YAAAI,IAAA,CAAAC,UAAA;EAEVnE,QAAQ,EAAA8D,UAAA,YAAAI,IAAA,CAAAC;AAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jahia/data-helper",
3
- "version": "1.1.3",
3
+ "version": "1.1.5",
4
4
  "scripts": {
5
5
  "compile:js": "node ./build.mjs",
6
6
  "build": "yarn tsc && yarn compile:js",