@techdocs/cli 1.11.1 → 1.11.2-next.0
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 +8 -0
- package/dist/embedded-app/.config-schema.json +1967 -1200
- package/dist/embedded-app/index.html +1 -1
- package/dist/embedded-app/index.html.tmpl +1 -1
- package/dist/embedded-app/static/123.bcb96abf.chunk.js +2 -0
- package/dist/embedded-app/static/123.bcb96abf.chunk.js.map +1 -0
- package/dist/embedded-app/static/1659.fe3e020b.chunk.js +2 -0
- package/dist/embedded-app/static/1659.fe3e020b.chunk.js.map +1 -0
- package/dist/embedded-app/static/3641.2f6dbbcb.chunk.js +2 -0
- package/dist/embedded-app/static/3641.2f6dbbcb.chunk.js.map +1 -0
- package/dist/embedded-app/static/3641.3641.9c1b1a2e.css +2 -0
- package/dist/embedded-app/static/3641.3641.9c1b1a2e.css.map +1 -0
- package/dist/embedded-app/static/4587.9946f651.chunk.js +2 -0
- package/dist/embedded-app/static/4587.9946f651.chunk.js.map +1 -0
- package/dist/embedded-app/static/{5443.fa47af87.chunk.js → 5443.835e027f.chunk.js} +2 -2
- package/dist/embedded-app/static/{5443.fa47af87.chunk.js.map → 5443.835e027f.chunk.js.map} +1 -1
- package/dist/embedded-app/static/{3939.3939.44355183.css → 5954.5954.8056ed76.css} +1 -1
- package/dist/embedded-app/static/{3939.3939.44355183.css.map → 5954.5954.8056ed76.css.map} +1 -1
- package/dist/embedded-app/static/5954.f0710c0b.chunk.js +2 -0
- package/dist/embedded-app/static/5954.f0710c0b.chunk.js.map +1 -0
- package/dist/embedded-app/static/{4815.b2bde1a3.chunk.js → 7213.e2116c72.chunk.js} +2 -2
- package/dist/embedded-app/static/7213.e2116c72.chunk.js.map +1 -0
- package/dist/embedded-app/static/{7226.8c68c3d3.chunk.js → 7226.07a43ca6.chunk.js} +2 -2
- package/dist/embedded-app/static/7226.07a43ca6.chunk.js.map +1 -0
- package/dist/embedded-app/static/{7477.a970d20a.chunk.js → 7227.69beafef.chunk.js} +5 -5
- package/dist/embedded-app/static/7227.69beafef.chunk.js.map +1 -0
- package/dist/embedded-app/static/{main.728cdf6e.css → main.2a45aed3.css} +2 -2
- package/dist/embedded-app/static/main.2a45aed3.css.map +1 -0
- package/dist/embedded-app/static/main.3aa6c085.js +523 -0
- package/dist/embedded-app/static/main.3aa6c085.js.map +1 -0
- package/dist/embedded-app/static/{module-material-ui.972bd852.js → module-material-ui.0bea4977.js} +2 -2
- package/dist/embedded-app/static/module-material-ui.0bea4977.js.map +1 -0
- package/dist/embedded-app/static/module-react-aria-components.edebf589.js +2 -0
- package/dist/embedded-app/static/module-react-aria-components.edebf589.js.map +1 -0
- package/dist/embedded-app/static/module-react-aria.84a78dd1.js +13 -0
- package/dist/embedded-app/static/module-react-aria.84a78dd1.js.map +1 -0
- package/dist/embedded-app/static/{module-react-stately.97fc37eb.js → module-react-stately.3db88231.js} +2 -2
- package/dist/embedded-app/static/module-react-stately.3db88231.js.map +1 -0
- package/dist/embedded-app/static/module-remixicon.4e40b5b6.js +2 -0
- package/dist/embedded-app/static/{module-remixicon.0feb7353.js.map → module-remixicon.4e40b5b6.js.map} +1 -1
- package/dist/embedded-app/static/{runtime.8fda57a9.js → runtime.9fcbc8ae.js} +2 -2
- package/dist/embedded-app/static/runtime.9fcbc8ae.js.map +1 -0
- package/dist/package.json.cjs.js +1 -1
- package/package.json +7 -7
- package/dist/embedded-app/static/123.59719fa4.chunk.js +0 -2
- package/dist/embedded-app/static/123.59719fa4.chunk.js.map +0 -1
- package/dist/embedded-app/static/1659.6b3694d1.chunk.js +0 -2
- package/dist/embedded-app/static/1659.6b3694d1.chunk.js.map +0 -1
- package/dist/embedded-app/static/3939.265160c5.chunk.js +0 -2
- package/dist/embedded-app/static/3939.265160c5.chunk.js.map +0 -1
- package/dist/embedded-app/static/4587.baab3514.chunk.js +0 -2
- package/dist/embedded-app/static/4587.baab3514.chunk.js.map +0 -1
- package/dist/embedded-app/static/4815.b2bde1a3.chunk.js.map +0 -1
- package/dist/embedded-app/static/7226.8c68c3d3.chunk.js.map +0 -1
- package/dist/embedded-app/static/7477.a970d20a.chunk.js.map +0 -1
- package/dist/embedded-app/static/main.728cdf6e.css.map +0 -1
- package/dist/embedded-app/static/main.fbc1b502.js +0 -523
- package/dist/embedded-app/static/main.fbc1b502.js.map +0 -1
- package/dist/embedded-app/static/module-material-ui.972bd852.js.map +0 -1
- package/dist/embedded-app/static/module-react-aria-components.ab7cc6df.js +0 -2
- package/dist/embedded-app/static/module-react-aria-components.ab7cc6df.js.map +0 -1
- package/dist/embedded-app/static/module-react-aria.e3e38de1.js +0 -13
- package/dist/embedded-app/static/module-react-aria.e3e38de1.js.map +0 -1
- package/dist/embedded-app/static/module-react-stately.97fc37eb.js.map +0 -1
- package/dist/embedded-app/static/module-remixicon.0feb7353.js +0 -2
- package/dist/embedded-app/static/runtime.8fda57a9.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"static/module-react-stately.97fc37eb.js","sources":["webpack://techdocs-cli-embedded-app/../../node_modules/react-stately/dist/private/autocomplete/useAutocompleteState.mjs","webpack://techdocs-cli-embedded-app/../../node_modules/react-stately/dist/private/collections/getChildNodes.mjs","webpack://techdocs-cli-embedded-app/../../node_modules/react-stately/dist/private/collections/getItemCount.mjs","webpack://techdocs-cli-embedded-app/../../node_modules/react-stately/dist/private/collections/CollectionBuilder.mjs","webpack://techdocs-cli-embedded-app/../../node_modules/react-stately/dist/private/collections/useCollection.mjs","webpack://techdocs-cli-embedded-app/../../node_modules/react-stately/dist/private/disclosure/useDisclosureGroupState.mjs","webpack://techdocs-cli-embedded-app/../../node_modules/react-stately/dist/private/disclosure/useDisclosureState.mjs","webpack://techdocs-cli-embedded-app/../../node_modules/react-stately/dist/private/flags/flags.mjs","webpack://techdocs-cli-embedded-app/../../node_modules/react-stately/dist/private/form/useFormValidationState.mjs","webpack://techdocs-cli-embedded-app/../../node_modules/react-stately/dist/private/virtualizer/Layout.mjs","webpack://techdocs-cli-embedded-app/../../node_modules/react-stately/dist/private/layout/ListLayout.mjs","webpack://techdocs-cli-embedded-app/../../node_modules/react-stately/dist/private/list/ListCollection.mjs","webpack://techdocs-cli-embedded-app/../../node_modules/react-stately/dist/private/list/useListState.mjs","webpack://techdocs-cli-embedded-app/../../node_modules/react-stately/dist/private/menu/useMenuTriggerState.mjs","webpack://techdocs-cli-embedded-app/../../node_modules/react-stately/dist/private/overlays/useOverlayTriggerState.mjs","webpack://techdocs-cli-embedded-app/../../node_modules/react-stately/dist/private/searchfield/useSearchFieldState.mjs","webpack://techdocs-cli-embedded-app/../../node_modules/react-stately/dist/private/selection/Selection.mjs","webpack://techdocs-cli-embedded-app/../../node_modules/react-stately/dist/private/selection/SelectionManager.mjs","webpack://techdocs-cli-embedded-app/../../node_modules/react-stately/dist/private/selection/useMultipleSelectionState.mjs","webpack://techdocs-cli-embedded-app/../../node_modules/react-stately/dist/private/tabs/useTabListState.mjs","webpack://techdocs-cli-embedded-app/../../node_modules/react-stately/dist/private/list/useSingleSelectListState.mjs","webpack://techdocs-cli-embedded-app/../../node_modules/react-stately/dist/private/toast/useToastState.mjs","webpack://techdocs-cli-embedded-app/../../node_modules/react-stately/dist/private/tree/TreeCollection.mjs","webpack://techdocs-cli-embedded-app/../../node_modules/react-stately/dist/private/tree/useTreeState.mjs","webpack://techdocs-cli-embedded-app/../../node_modules/react-stately/dist/private/utils/number.mjs","webpack://techdocs-cli-embedded-app/../../node_modules/react-stately/dist/private/utils/useControlledState.mjs","webpack://techdocs-cli-embedded-app/../../node_modules/react-stately/dist/private/virtualizer/LayoutInfo.mjs","webpack://techdocs-cli-embedded-app/../../node_modules/react-stately/dist/private/virtualizer/Point.mjs","webpack://techdocs-cli-embedded-app/../../node_modules/react-stately/dist/private/virtualizer/Rect.mjs","webpack://techdocs-cli-embedded-app/../../node_modules/react-stately/dist/private/virtualizer/Size.mjs","webpack://techdocs-cli-embedded-app/../../node_modules/react-stately/dist/private/virtualizer/ReusableView.mjs","webpack://techdocs-cli-embedded-app/../../node_modules/react-stately/dist/private/virtualizer/OverscanManager.mjs","webpack://techdocs-cli-embedded-app/../../node_modules/react-stately/dist/private/virtualizer/Virtualizer.mjs","webpack://techdocs-cli-embedded-app/../../node_modules/react-stately/dist/private/virtualizer/utils.mjs","webpack://techdocs-cli-embedded-app/../../node_modules/react-stately/dist/private/virtualizer/useVirtualizerState.mjs"],"sourcesContent":["import {useControlledState as $3e6197669829fe11$export$40bfa8c7b0832715} from \"../utils/useControlledState.mjs\";\nimport {useState as $7kYgW$useState} from \"react\";\n\n/*\n * Copyright 2024 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nfunction $436a01f8a2730afd$export$ce1595f6e1a63433(props) {\n let { onInputChange: propsOnInputChange, inputValue: propsInputValue, defaultInputValue: propsDefaultInputValue = '' } = props;\n let onInputChange = (value)=>{\n if (propsOnInputChange) propsOnInputChange(value);\n };\n let [focusedNodeId, setFocusedNodeId] = (0, $7kYgW$useState)(null);\n let [inputValue, setInputValue] = (0, $3e6197669829fe11$export$40bfa8c7b0832715)(propsInputValue, propsDefaultInputValue, onInputChange);\n return {\n inputValue: inputValue,\n setInputValue: setInputValue,\n focusedNodeId: focusedNodeId,\n setFocusedNodeId: setFocusedNodeId\n };\n}\n\n\nexport {$436a01f8a2730afd$export$ce1595f6e1a63433 as useAutocompleteState};\n//# sourceMappingURL=useAutocompleteState.mjs.map\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ function $cd5ea4b915021f1d$export$1005530eda016c13(node, collection) {\n // New API: call collection.getChildren with the node key.\n if (typeof collection.getChildren === 'function') return collection.getChildren(node.key);\n // Old API: access childNodes directly.\n return node.childNodes;\n}\nfunction $cd5ea4b915021f1d$export$fbdeaa6a76694f71(iterable) {\n return $cd5ea4b915021f1d$export$5f3398f8733f90e2(iterable, 0);\n}\nfunction $cd5ea4b915021f1d$export$5f3398f8733f90e2(iterable, index) {\n if (index < 0) return undefined;\n let i = 0;\n for (let item of iterable){\n if (i === index) return item;\n i++;\n }\n}\nfunction $cd5ea4b915021f1d$export$7475b2c64539e4cf(iterable) {\n let lastItem = undefined;\n for (let value of iterable)lastItem = value;\n return lastItem;\n}\nfunction $cd5ea4b915021f1d$export$8c434b3a7a4dad6(collection, a, b) {\n // If the two nodes have the same parent, compare their indices.\n if (a.parentKey === b.parentKey) return a.index - b.index;\n // Otherwise, collect all of the ancestors from each node, and find the first one that doesn't match starting from the root.\n // Include the base nodes in case we are comparing nodes of different levels so that we can compare the higher node to the lower level node's\n // ancestor of the same level\n let aAncestors = [\n ...$cd5ea4b915021f1d$var$getAncestors(collection, a),\n a\n ];\n let bAncestors = [\n ...$cd5ea4b915021f1d$var$getAncestors(collection, b),\n b\n ];\n let firstNonMatchingAncestor = aAncestors.slice(0, bAncestors.length).findIndex((a, i)=>a !== bAncestors[i]);\n if (firstNonMatchingAncestor !== -1) {\n // Compare the indices of two children within the common ancestor.\n a = aAncestors[firstNonMatchingAncestor];\n b = bAncestors[firstNonMatchingAncestor];\n return a.index - b.index;\n }\n // If there isn't a non matching ancestor, we might be in a case where one of the nodes is the ancestor of the other.\n if (aAncestors.findIndex((node)=>node === b) >= 0) return 1;\n else if (bAncestors.findIndex((node)=>node === a) >= 0) return -1;\n // 🤷\n return -1;\n}\nfunction $cd5ea4b915021f1d$var$getAncestors(collection, node) {\n let parents = [];\n let currNode = node;\n while(currNode?.parentKey != null){\n currNode = collection.getItem(currNode.parentKey);\n if (currNode) parents.unshift(currNode);\n }\n return parents;\n}\n\n\nexport {$cd5ea4b915021f1d$export$1005530eda016c13 as getChildNodes, $cd5ea4b915021f1d$export$fbdeaa6a76694f71 as getFirstItem, $cd5ea4b915021f1d$export$5f3398f8733f90e2 as getNthItem, $cd5ea4b915021f1d$export$7475b2c64539e4cf as getLastItem, $cd5ea4b915021f1d$export$8c434b3a7a4dad6 as compareNodeOrder};\n//# sourceMappingURL=getChildNodes.mjs.map\n","import {getChildNodes as $cd5ea4b915021f1d$export$1005530eda016c13} from \"./getChildNodes.mjs\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nconst $2efe10d3f1f9e31e$var$cache = new WeakMap();\nfunction $2efe10d3f1f9e31e$export$77d5aafae4e095b2(collection) {\n let count = $2efe10d3f1f9e31e$var$cache.get(collection);\n if (count != null) return count;\n // TS isn't smart enough to know we've ensured count is a number, so use a new variable\n let counter = 0;\n let countItems = (items)=>{\n for (let item of items){\n if (item.type === 'section') countItems((0, $cd5ea4b915021f1d$export$1005530eda016c13)(item, collection));\n else if (item.type === 'item') counter++;\n }\n };\n countItems(collection);\n $2efe10d3f1f9e31e$var$cache.set(collection, counter);\n return counter;\n}\n\n\nexport {$2efe10d3f1f9e31e$export$77d5aafae4e095b2 as getItemCount};\n//# sourceMappingURL=getItemCount.mjs.map\n","import $jO8i1$react from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nclass $bda7a7e55e1ff206$export$bf788dd355e3a401 {\n build(props, context) {\n this.context = context;\n return $bda7a7e55e1ff206$var$iterable(()=>this.iterateCollection(props));\n }\n *iterateCollection(props) {\n let { children: children, items: items } = props;\n if ((0, $jO8i1$react).isValidElement(children) && children.type === (0, $jO8i1$react).Fragment) yield* this.iterateCollection({\n children: children.props.children,\n items: items\n });\n else if (typeof children === 'function') {\n if (!items) throw new Error('props.children was a function but props.items is missing');\n let index = 0;\n for (let item of items){\n yield* this.getFullNode({\n value: item,\n index: index\n }, {\n renderer: children\n });\n index++;\n }\n } else {\n let items = [];\n (0, $jO8i1$react).Children.forEach(children, (child)=>{\n if (child) items.push(child);\n });\n let index = 0;\n for (let item of items){\n let nodes = this.getFullNode({\n element: item,\n index: index\n }, {});\n for (let node of nodes){\n index++;\n yield node;\n }\n }\n }\n }\n getKey(item, partialNode, state, parentKey) {\n if (item.key != null) return item.key;\n if (partialNode.type === 'cell' && partialNode.key != null) return `${parentKey}${partialNode.key}`;\n let v = partialNode.value;\n if (v != null) {\n let key = v.key ?? v.id;\n if (key == null) throw new Error('No key found for item');\n return key;\n }\n return parentKey ? `${parentKey}.${partialNode.index}` : `$.${partialNode.index}`;\n }\n getChildState(state, partialNode) {\n return {\n renderer: partialNode.renderer || state.renderer\n };\n }\n *getFullNode(partialNode, state, parentKey, parentNode) {\n if ((0, $jO8i1$react).isValidElement(partialNode.element) && partialNode.element.type === (0, $jO8i1$react).Fragment) {\n let children = [];\n (0, $jO8i1$react).Children.forEach(partialNode.element.props.children, (child)=>{\n children.push(child);\n });\n let index = partialNode.index ?? 0;\n for (const child of children)yield* this.getFullNode({\n element: child,\n index: index++\n }, state, parentKey, parentNode);\n return;\n }\n // If there's a value instead of an element on the node, and a parent renderer function is available,\n // use it to render an element for the value.\n let element = partialNode.element;\n if (!element && partialNode.value && state && state.renderer) {\n let cached = this.cache.get(partialNode.value);\n if (cached && (!cached.shouldInvalidate || !cached.shouldInvalidate(this.context))) {\n cached.index = partialNode.index;\n cached.parentKey = parentNode ? parentNode.key : null;\n yield cached;\n return;\n }\n element = state.renderer(partialNode.value);\n }\n // If there's an element with a getCollectionNode function on its type, then it's a supported component.\n // Call this function to get a partial node, and recursively build a full node from there.\n if ((0, $jO8i1$react).isValidElement(element)) {\n let type = element.type;\n if (typeof type !== 'function' && typeof type.getCollectionNode !== 'function') {\n let name = element.type;\n throw new Error(`Unknown element <${name}> in collection.`);\n }\n let childNodes = type.getCollectionNode(element.props, this.context);\n let index = partialNode.index ?? 0;\n let result = childNodes.next();\n while(!result.done && result.value){\n let childNode = result.value;\n partialNode.index = index;\n let nodeKey = childNode.key ?? null;\n if (nodeKey == null) nodeKey = childNode.element ? null : this.getKey(element, partialNode, state, parentKey);\n let nodes = this.getFullNode({\n ...childNode,\n key: nodeKey,\n index: index,\n wrapper: $bda7a7e55e1ff206$var$compose(partialNode.wrapper, childNode.wrapper)\n }, this.getChildState(state, childNode), parentKey ? `${parentKey}${element.key}` : element.key, parentNode);\n let children = [\n ...nodes\n ];\n for (let node of children){\n // Cache the node based on its value\n node.value = childNode.value ?? partialNode.value ?? null;\n if (node.value) this.cache.set(node.value, node);\n // The partial node may have specified a type for the child in order to specify a constraint.\n // Verify that the full node that was built recursively matches this type.\n if (partialNode.type && node.type !== partialNode.type) throw new Error(`Unsupported type <${$bda7a7e55e1ff206$var$capitalize(node.type)}> in <${$bda7a7e55e1ff206$var$capitalize(parentNode?.type ?? 'unknown parent type')}>. Only <${$bda7a7e55e1ff206$var$capitalize(partialNode.type)}> is supported.`);\n index++;\n yield node;\n }\n result = childNodes.next(children);\n }\n return;\n }\n // Ignore invalid elements\n if (partialNode.key == null || partialNode.type == null) return;\n // Create full node\n let builder = this;\n let node = {\n type: partialNode.type,\n props: partialNode.props,\n key: partialNode.key,\n parentKey: parentNode ? parentNode.key : null,\n value: partialNode.value ?? null,\n level: (parentNode?.level ?? 0) + (parentNode?.type === 'item' ? 1 : 0),\n index: partialNode.index,\n rendered: partialNode.rendered,\n textValue: partialNode.textValue ?? '',\n 'aria-label': partialNode['aria-label'],\n wrapper: partialNode.wrapper,\n shouldInvalidate: partialNode.shouldInvalidate,\n hasChildNodes: partialNode.hasChildNodes || false,\n childNodes: $bda7a7e55e1ff206$var$iterable(function*() {\n if (!partialNode.hasChildNodes || !partialNode.childNodes) return;\n let index = 0;\n for (let child of partialNode.childNodes()){\n // Ensure child keys are globally unique by prepending the parent node's key\n if (child.key != null) // TODO: Remove this line entirely and enforce that users always provide unique keys.\n // Currently this line will have issues when a parent has a key `a` and a child with key `bc`\n // but another parent has key `ab` and its child has a key `c`. The combined keys would result in both\n // children having a key of `abc`.\n child.key = `${node.key}${child.key}`;\n let nodes = builder.getFullNode({\n ...child,\n index: index\n }, builder.getChildState(state, child), node.key, node);\n for (let node of nodes){\n index++;\n yield node;\n }\n }\n })\n };\n yield node;\n }\n constructor(){\n this.cache = new WeakMap();\n }\n}\n// Wraps an iterator function as an iterable object, and caches the results.\nfunction $bda7a7e55e1ff206$var$iterable(iterator) {\n let cache = [];\n let iterable = null;\n return {\n *[Symbol.iterator] () {\n for (let item of cache)yield item;\n if (!iterable) iterable = iterator();\n for (let item of iterable){\n cache.push(item);\n yield item;\n }\n }\n };\n}\nfunction $bda7a7e55e1ff206$var$compose(outer, inner) {\n if (outer && inner) return (element)=>outer(inner(element));\n if (outer) return outer;\n if (inner) return inner;\n}\nfunction $bda7a7e55e1ff206$var$capitalize(str) {\n return str[0].toUpperCase() + str.slice(1);\n}\n\n\nexport {$bda7a7e55e1ff206$export$bf788dd355e3a401 as CollectionBuilder};\n//# sourceMappingURL=CollectionBuilder.mjs.map\n","import {CollectionBuilder as $bda7a7e55e1ff206$export$bf788dd355e3a401} from \"./CollectionBuilder.mjs\";\nimport {useMemo as $emYU7$useMemo} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nfunction $d03379b88399b8c5$export$6cd28814d92fa9c9(props, factory, context) {\n let builder = (0, $emYU7$useMemo)(()=>new (0, $bda7a7e55e1ff206$export$bf788dd355e3a401)(), []);\n let { children: children, items: items, collection: collection } = props;\n let result = (0, $emYU7$useMemo)(()=>{\n if (collection) return collection;\n let nodes = builder.build({\n children: children,\n items: items\n }, context);\n return factory(nodes);\n }, [\n builder,\n children,\n items,\n collection,\n context,\n factory\n ]);\n return result;\n}\n\n\nexport {$d03379b88399b8c5$export$6cd28814d92fa9c9 as useCollection};\n//# sourceMappingURL=useCollection.mjs.map\n","import {useControlledState as $3e6197669829fe11$export$40bfa8c7b0832715} from \"../utils/useControlledState.mjs\";\nimport {useMemo as $ilT6J$useMemo, useEffect as $ilT6J$useEffect} from \"react\";\n\n/*\n * Copyright 2024 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nfunction $29a18fa139197b5c$export$f36461af0ef4707d(props) {\n let { allowsMultipleExpanded: allowsMultipleExpanded = false, isDisabled: isDisabled = false } = props;\n let [expandedKeys, setExpandedKeys] = (0, $3e6197669829fe11$export$40bfa8c7b0832715)((0, $ilT6J$useMemo)(()=>props.expandedKeys ? new Set(props.expandedKeys) : undefined, [\n props.expandedKeys\n ]), (0, $ilT6J$useMemo)(()=>props.defaultExpandedKeys ? new Set(props.defaultExpandedKeys) : new Set(), [\n props.defaultExpandedKeys\n ]), props.onExpandedChange);\n (0, $ilT6J$useEffect)(()=>{\n // Ensure only one item is expanded if allowsMultipleExpanded is false.\n if (!allowsMultipleExpanded && expandedKeys.size > 1) {\n let firstKey = expandedKeys.values().next().value;\n if (firstKey != null) setExpandedKeys(new Set([\n firstKey\n ]));\n }\n });\n return {\n allowsMultipleExpanded: allowsMultipleExpanded,\n isDisabled: isDisabled,\n expandedKeys: expandedKeys,\n setExpandedKeys: setExpandedKeys,\n toggleKey (key) {\n let keys;\n if (allowsMultipleExpanded) {\n keys = new Set(expandedKeys);\n if (keys.has(key)) keys.delete(key);\n else keys.add(key);\n } else keys = new Set(expandedKeys.has(key) ? [] : [\n key\n ]);\n setExpandedKeys(keys);\n }\n };\n}\n\n\nexport {$29a18fa139197b5c$export$f36461af0ef4707d as useDisclosureGroupState};\n//# sourceMappingURL=useDisclosureGroupState.mjs.map\n","import {useControlledState as $3e6197669829fe11$export$40bfa8c7b0832715} from \"../utils/useControlledState.mjs\";\nimport {useCallback as $aw5JV$useCallback} from \"react\";\n\n/*\n * Copyright 2024 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nfunction $086b1fd51041276f$export$3fcbf6e4407997e0(props) {\n let [isExpanded, setExpanded] = (0, $3e6197669829fe11$export$40bfa8c7b0832715)(props.isExpanded, props.defaultExpanded || false, props.onExpandedChange);\n const expand = (0, $aw5JV$useCallback)(()=>{\n setExpanded(true);\n }, [\n setExpanded\n ]);\n const collapse = (0, $aw5JV$useCallback)(()=>{\n setExpanded(false);\n }, [\n setExpanded\n ]);\n const toggle = (0, $aw5JV$useCallback)(()=>{\n setExpanded(!isExpanded);\n }, [\n setExpanded,\n isExpanded\n ]);\n return {\n isExpanded: isExpanded,\n setExpanded: setExpanded,\n expand: expand,\n collapse: collapse,\n toggle: toggle\n };\n}\n\n\nexport {$086b1fd51041276f$export$3fcbf6e4407997e0 as useDisclosureState};\n//# sourceMappingURL=useDisclosureState.mjs.map\n","/*\n * Copyright 2023 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ let $6a20a7989e6c817a$var$_tableNestedRows = false;\nlet $6a20a7989e6c817a$var$_shadowDOM = false;\nfunction $6a20a7989e6c817a$export$d9d8a0f82de49530() {\n $6a20a7989e6c817a$var$_tableNestedRows = true;\n}\nfunction $6a20a7989e6c817a$export$1b00cb14a96194e6() {\n return $6a20a7989e6c817a$var$_tableNestedRows;\n}\nfunction $6a20a7989e6c817a$export$12b151d9882e9985() {\n $6a20a7989e6c817a$var$_shadowDOM = true;\n}\nfunction $6a20a7989e6c817a$export$98658e8c59125e6a() {\n return $6a20a7989e6c817a$var$_shadowDOM;\n}\n\n\nexport {$6a20a7989e6c817a$export$d9d8a0f82de49530 as enableTableNestedRows, $6a20a7989e6c817a$export$1b00cb14a96194e6 as tableNestedRows, $6a20a7989e6c817a$export$12b151d9882e9985 as enableShadowDOM, $6a20a7989e6c817a$export$98658e8c59125e6a as shadowDOM};\n//# sourceMappingURL=flags.mjs.map\n","import {createContext as $8AuPP$createContext, useMemo as $8AuPP$useMemo, useContext as $8AuPP$useContext, useState as $8AuPP$useState, useRef as $8AuPP$useRef, useEffect as $8AuPP$useEffect} from \"react\";\n\n/*\n * Copyright 2023 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nconst $fd2148440a13ec26$export$aca958c65c314e6c = {\n badInput: false,\n customError: false,\n patternMismatch: false,\n rangeOverflow: false,\n rangeUnderflow: false,\n stepMismatch: false,\n tooLong: false,\n tooShort: false,\n typeMismatch: false,\n valueMissing: false,\n valid: true\n};\nconst $fd2148440a13ec26$var$CUSTOM_VALIDITY_STATE = {\n ...$fd2148440a13ec26$export$aca958c65c314e6c,\n customError: true,\n valid: false\n};\nconst $fd2148440a13ec26$export$dad6ae84456c676a = {\n isInvalid: false,\n validationDetails: $fd2148440a13ec26$export$aca958c65c314e6c,\n validationErrors: []\n};\nconst $fd2148440a13ec26$export$571b5131b7e65c11 = (0, $8AuPP$createContext)({});\nconst $fd2148440a13ec26$export$a763b9476acd3eb = '__reactAriaFormValidationState';\nfunction $fd2148440a13ec26$export$fc1a364ae1f3ff10(props) {\n // Private prop for parent components to pass state to children.\n if (props[$fd2148440a13ec26$export$a763b9476acd3eb]) {\n let { realtimeValidation: realtimeValidation, displayValidation: displayValidation, updateValidation: updateValidation, resetValidation: resetValidation, commitValidation: commitValidation } = props[$fd2148440a13ec26$export$a763b9476acd3eb];\n return {\n realtimeValidation: realtimeValidation,\n displayValidation: displayValidation,\n updateValidation: updateValidation,\n resetValidation: resetValidation,\n commitValidation: commitValidation\n };\n }\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return $fd2148440a13ec26$var$useFormValidationStateImpl(props);\n}\nfunction $fd2148440a13ec26$var$useFormValidationStateImpl(props) {\n let { isInvalid: isInvalid, validationState: validationState, name: name, value: value, builtinValidation: builtinValidation, validate: validate, validationBehavior: validationBehavior = 'aria' } = props;\n // backward compatibility.\n if (validationState) isInvalid ||= validationState === 'invalid';\n // If the isInvalid prop is controlled, update validation result in realtime.\n let controlledError = isInvalid !== undefined ? {\n isInvalid: isInvalid,\n validationErrors: [],\n validationDetails: $fd2148440a13ec26$var$CUSTOM_VALIDITY_STATE\n } : null;\n // Perform custom client side validation.\n let clientError = (0, $8AuPP$useMemo)(()=>{\n if (!validate || value == null) return null;\n let validateErrors = $fd2148440a13ec26$var$runValidate(validate, value);\n return $fd2148440a13ec26$var$getValidationResult(validateErrors);\n }, [\n validate,\n value\n ]);\n if (builtinValidation?.validationDetails.valid) builtinValidation = undefined;\n // Get relevant server errors from the form.\n let serverErrors = (0, $8AuPP$useContext)($fd2148440a13ec26$export$571b5131b7e65c11);\n let serverErrorMessages = (0, $8AuPP$useMemo)(()=>{\n if (name) return Array.isArray(name) ? name.flatMap((name)=>$fd2148440a13ec26$var$asArray(serverErrors[name])) : $fd2148440a13ec26$var$asArray(serverErrors[name]);\n return [];\n }, [\n serverErrors,\n name\n ]);\n // Show server errors when the form gets a new value, and clear when the user changes the value.\n let [lastServerErrors, setLastServerErrors] = (0, $8AuPP$useState)(serverErrors);\n let [isServerErrorCleared, setServerErrorCleared] = (0, $8AuPP$useState)(false);\n if (serverErrors !== lastServerErrors) {\n setLastServerErrors(serverErrors);\n setServerErrorCleared(false);\n }\n let serverError = (0, $8AuPP$useMemo)(()=>$fd2148440a13ec26$var$getValidationResult(isServerErrorCleared ? [] : serverErrorMessages), [\n isServerErrorCleared,\n serverErrorMessages\n ]);\n // Track the next validation state in a ref until commitValidation is called.\n let nextValidation = (0, $8AuPP$useRef)($fd2148440a13ec26$export$dad6ae84456c676a);\n let [currentValidity, setCurrentValidity] = (0, $8AuPP$useState)($fd2148440a13ec26$export$dad6ae84456c676a);\n let lastError = (0, $8AuPP$useRef)($fd2148440a13ec26$export$dad6ae84456c676a);\n let commitValidation = ()=>{\n if (!commitQueued) return;\n setCommitQueued(false);\n let error = clientError || builtinValidation || nextValidation.current;\n if (!$fd2148440a13ec26$var$isEqualValidation(error, lastError.current)) {\n lastError.current = error;\n setCurrentValidity(error);\n }\n };\n let [commitQueued, setCommitQueued] = (0, $8AuPP$useState)(false);\n (0, $8AuPP$useEffect)(commitValidation);\n // realtimeValidation is used to update the native input element's state based on custom validation logic.\n // displayValidation is the currently displayed validation state that the user sees (e.g. on input change/form submit).\n // With validationBehavior=\"aria\", all errors are displayed in realtime rather than on submit.\n let realtimeValidation = controlledError || serverError || clientError || builtinValidation || $fd2148440a13ec26$export$dad6ae84456c676a;\n let displayValidation = validationBehavior === 'native' ? controlledError || serverError || currentValidity : controlledError || serverError || clientError || builtinValidation || currentValidity;\n return {\n realtimeValidation: realtimeValidation,\n displayValidation: displayValidation,\n updateValidation (value) {\n // If validationBehavior is 'aria', update in realtime. Otherwise, store in a ref until commit.\n if (validationBehavior === 'aria' && !$fd2148440a13ec26$var$isEqualValidation(currentValidity, value)) setCurrentValidity(value);\n else nextValidation.current = value;\n },\n resetValidation () {\n // Update the currently displayed validation state to valid on form reset,\n // even if the native validity says it isn't. It'll show again on the next form submit.\n let error = $fd2148440a13ec26$export$dad6ae84456c676a;\n if (!$fd2148440a13ec26$var$isEqualValidation(error, lastError.current)) {\n lastError.current = error;\n setCurrentValidity(error);\n }\n // Do not commit validation after the next render. This avoids a condition where\n // useSelect calls commitValidation inside an onReset handler.\n if (validationBehavior === 'native') setCommitQueued(false);\n setServerErrorCleared(true);\n },\n commitValidation () {\n // Commit validation state so the user sees it on blur/change/submit. Also clear any server errors.\n // Wait until after the next render to commit so that the latest value has been validated.\n if (validationBehavior === 'native') setCommitQueued(true);\n setServerErrorCleared(true);\n }\n };\n}\nfunction $fd2148440a13ec26$var$asArray(v) {\n if (!v) return [];\n return Array.isArray(v) ? v : [\n v\n ];\n}\nfunction $fd2148440a13ec26$var$runValidate(validate, value) {\n if (typeof validate === 'function') {\n let e = validate(value);\n if (e && typeof e !== 'boolean') return $fd2148440a13ec26$var$asArray(e);\n }\n return [];\n}\nfunction $fd2148440a13ec26$var$getValidationResult(errors) {\n return errors.length ? {\n isInvalid: true,\n validationErrors: errors,\n validationDetails: $fd2148440a13ec26$var$CUSTOM_VALIDITY_STATE\n } : null;\n}\nfunction $fd2148440a13ec26$var$isEqualValidation(a, b) {\n if (a === b) return true;\n return !!a && !!b && a.isInvalid === b.isInvalid && a.validationErrors.length === b.validationErrors.length && a.validationErrors.every((a, i)=>a === b.validationErrors[i]) && Object.entries(a.validationDetails).every(([k, v])=>b.validationDetails[k] === v);\n}\nfunction $fd2148440a13ec26$export$75ee7c75d68f5b0e(...results) {\n let errors = new Set();\n let isInvalid = false;\n let validationDetails = {\n ...$fd2148440a13ec26$export$aca958c65c314e6c\n };\n for (let v of results){\n for (let e of v.validationErrors)errors.add(e);\n // Only these properties apply for checkboxes.\n isInvalid ||= v.isInvalid;\n for(let key in validationDetails)validationDetails[key] ||= v.validationDetails[key];\n }\n validationDetails.valid = !isInvalid;\n return {\n isInvalid: isInvalid,\n validationErrors: [\n ...errors\n ],\n validationDetails: validationDetails\n };\n}\n\n\nexport {$fd2148440a13ec26$export$aca958c65c314e6c as VALID_VALIDITY_STATE, $fd2148440a13ec26$export$dad6ae84456c676a as DEFAULT_VALIDATION_RESULT, $fd2148440a13ec26$export$571b5131b7e65c11 as FormValidationContext, $fd2148440a13ec26$export$a763b9476acd3eb as privateValidationStateProp, $fd2148440a13ec26$export$fc1a364ae1f3ff10 as useFormValidationState, $fd2148440a13ec26$export$75ee7c75d68f5b0e as mergeValidation};\n//# sourceMappingURL=useFormValidationState.mjs.map\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ class $85410e0c3cc54f1d$export$c84671f46d6a1ca {\n /**\n * Returns whether the layout should invalidate in response to\n * visible rectangle changes. By default, it only invalidates\n * when the virtualizer's size changes. Return true always\n * to make the layout invalidate while scrolling (e.g. sticky headers).\n */ shouldInvalidate(newRect, oldRect) {\n // By default, invalidate when the size changes\n return newRect.width !== oldRect.width || newRect.height !== oldRect.height;\n }\n /**\n * Returns whether the layout should invalidate when the layout options change.\n * By default it invalidates when the object identity changes. Override this\n * method to optimize layout updates based on specific option changes.\n */ shouldInvalidateLayoutOptions(newOptions, oldOptions) {\n return newOptions !== oldOptions;\n }\n /**\n * This method allows the layout to perform any pre-computation\n * it needs to in order to prepare LayoutInfos for retrieval.\n * Called by the virtualizer before `getVisibleLayoutInfos`\n * or `getLayoutInfo` are called.\n */ update(invalidationContext) {}\n /** @private */ getItemRect(key) {\n return this.getLayoutInfo(key)?.rect ?? null;\n }\n /** @private */ getVisibleRect() {\n return this.virtualizer.visibleRect;\n }\n constructor(){\n /** The Virtualizer the layout is currently attached to. */ this.virtualizer = null;\n }\n}\n\n\nexport {$85410e0c3cc54f1d$export$c84671f46d6a1ca as Layout};\n//# sourceMappingURL=Layout.mjs.map\n","import {getChildNodes as $cd5ea4b915021f1d$export$1005530eda016c13} from \"../collections/getChildNodes.mjs\";\nimport {Layout as $85410e0c3cc54f1d$export$c84671f46d6a1ca} from \"../virtualizer/Layout.mjs\";\nimport {LayoutInfo as $eb6255cbf080eb7d$export$7e0eeb9da702a085} from \"../virtualizer/LayoutInfo.mjs\";\nimport {Rect as $af827553fd3cf456$export$c79fc6492f3af13d} from \"../virtualizer/Rect.mjs\";\nimport {Size as $cc8e610d5d6e3fe4$export$cb6da89c6af1a8ec} from \"../virtualizer/Size.mjs\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\nconst $942f06a693c162e2$var$DEFAULT_HEIGHT = 48;\nclass $942f06a693c162e2$export$cacbb3924155d68e extends (0, $85410e0c3cc54f1d$export$c84671f46d6a1ca) {\n /**\n * Creates a new ListLayout with options. See the list of properties below for a description\n * of the options that can be provided.\n */ constructor(options = {}){\n super();\n this.rowSize = options?.rowSize ?? options?.rowHeight ?? null;\n this.orientation = options.orientation ?? 'vertical';\n this.estimatedRowSize = options?.estimatedRowSize ?? options?.estimatedRowHeight ?? null;\n this.headingSize = options?.headingSize ?? options?.headingHeight ?? null;\n this.estimatedHeadingSize = options?.estimatedHeadingSize ?? options?.estimatedHeadingHeight ?? null;\n this.loaderSize = options?.loaderSize ?? options?.loaderHeight ?? null;\n this.dropIndicatorThickness = options.dropIndicatorThickness || 2;\n this.gap = options.gap || 0;\n this.padding = options.padding || 0;\n this.layoutNodes = new Map();\n this.rootNodes = [];\n this.lastCollection = null;\n this.invalidateEverything = false;\n this.validRect = new (0, $af827553fd3cf456$export$c79fc6492f3af13d)();\n this.requestedRect = new (0, $af827553fd3cf456$export$c79fc6492f3af13d)();\n this.contentSize = new (0, $cc8e610d5d6e3fe4$export$cb6da89c6af1a8ec)();\n }\n // Backward compatibility for subclassing.\n get collection() {\n return this.virtualizer.collection;\n }\n /** @deprecated Use `rowSize` instead. */ get rowHeight() {\n return this.rowSize;\n }\n /** @deprecated Use `estimatedRowSize` instead. */ get estimatedRowHeight() {\n return this.estimatedRowSize;\n }\n /** @deprecated Use `headingSize` instead. */ get headingHeight() {\n return this.headingSize;\n }\n /** @deprecated Use `estimatedHeadingSize` instead. */ get estimatedHeadingHeight() {\n return this.estimatedHeadingSize;\n }\n /** @deprecated Use `loaderSize` instead. */ get loaderHeight() {\n return this.loaderSize;\n }\n getLayoutInfo(key) {\n this.ensureLayoutInfo(key);\n return this.layoutNodes.get(key)?.layoutInfo || null;\n }\n getVisibleLayoutInfos(rect) {\n let offsetProperty = this.orientation === 'horizontal' ? 'x' : 'y';\n let heightProperty = this.orientation === 'horizontal' ? 'width' : 'height';\n // Adjust rect to keep number of visible rows consistent.\n // (only if height > 1 or width > 1 for getDropTargetFromPoint)\n if (rect[heightProperty] > 1) {\n let rowHeight = (this.rowSize ?? this.estimatedRowSize ?? $942f06a693c162e2$var$DEFAULT_HEIGHT) + this.gap;\n // Clone only before mutating\n rect = rect.copy();\n let offset = Math.floor(rect[offsetProperty] / rowHeight) * rowHeight;\n let height = rect[heightProperty] + rect[offsetProperty] - offset;\n rect[offsetProperty] = offset;\n rect[heightProperty] = Math.ceil(height / rowHeight) * rowHeight;\n }\n // If layout hasn't yet been done for the requested rect, union the\n // new rect with the existing valid rect, and recompute.\n this.layoutIfNeeded(rect);\n let res = [];\n let addNodes = (nodes)=>{\n for (let node of nodes)if (this.isVisible(node, rect)) {\n res.push(node.layoutInfo);\n if (node.children) addNodes(node.children);\n }\n };\n addNodes(this.rootNodes);\n return res;\n }\n layoutIfNeeded(rect) {\n if (!this.lastCollection) return;\n if (!this.requestedRect.containsRect(rect)) {\n this.requestedRect = this.requestedRect.union(rect);\n this.rootNodes = this.buildCollection();\n }\n // Ensure all of the persisted keys are available.\n for (let key of this.virtualizer.persistedKeys){\n if (this.ensureLayoutInfo(key)) return;\n }\n }\n ensureLayoutInfo(key) {\n // If the layout info wasn't found, it might be outside the bounds of the area that we've\n // computed layout for so far. This can happen when accessing a random key, e.g pressing Home/End.\n // Compute the full layout and try again.\n if (!this.layoutNodes.has(key) && this.requestedRect.area < this.contentSize.area && this.lastCollection) {\n this.requestedRect = new (0, $af827553fd3cf456$export$c79fc6492f3af13d)(0, 0, Infinity, Infinity);\n this.rootNodes = this.buildCollection();\n this.requestedRect = new (0, $af827553fd3cf456$export$c79fc6492f3af13d)(0, 0, this.contentSize.width, this.contentSize.height);\n return true;\n }\n return false;\n }\n isVisible(node, rect) {\n return node.layoutInfo.rect.intersects(rect) || node.layoutInfo.isSticky || node.layoutInfo.type === 'header' || node.layoutInfo.type === 'loader' || this.virtualizer.isPersistedKey(node.layoutInfo.key);\n }\n shouldInvalidateEverything(invalidationContext) {\n // Invalidate cache if the size of the collection changed.\n // In this case, we need to recalculate the entire layout.\n // Also invalidate if fixed sizes/gaps change.\n let options = invalidationContext.layoutOptions;\n return invalidationContext.sizeChanged || this.rowSize !== (options?.rowSize ?? options?.rowHeight ?? this.rowSize) || this.orientation !== (options?.orientation ?? this.orientation) || this.headingSize !== (options?.headingSize ?? options?.headingHeight ?? this.headingSize) || this.loaderSize !== (options?.loaderSize ?? options?.loaderHeight ?? this.loaderSize) || this.gap !== (options?.gap ?? this.gap) || this.padding !== (options?.padding ?? this.padding);\n }\n shouldInvalidateLayoutOptions(newOptions, oldOptions) {\n return (newOptions?.rowSize ?? newOptions?.rowHeight) !== (oldOptions?.rowSize ?? oldOptions?.rowHeight) || newOptions.orientation !== oldOptions.orientation || (newOptions?.estimatedRowSize ?? newOptions?.estimatedRowHeight) !== (oldOptions?.estimatedRowSize ?? oldOptions?.estimatedRowHeight) || (newOptions?.headingSize ?? newOptions?.headingHeight) !== (oldOptions?.headingSize ?? oldOptions?.headingHeight) || (newOptions?.estimatedHeadingSize ?? newOptions?.estimatedHeadingHeight) !== (oldOptions?.estimatedHeadingSize ?? oldOptions?.estimatedHeadingHeight) || (newOptions?.loaderSize ?? newOptions?.loaderHeight) !== (oldOptions?.loaderSize ?? oldOptions?.loaderHeight) || newOptions.dropIndicatorThickness !== oldOptions.dropIndicatorThickness || newOptions.gap !== oldOptions.gap || newOptions.padding !== oldOptions.padding;\n }\n update(invalidationContext) {\n let collection = this.virtualizer.collection;\n // Reset valid rect if we will have to invalidate everything.\n // Otherwise we can reuse cached layout infos outside the current visible rect.\n this.invalidateEverything = this.shouldInvalidateEverything(invalidationContext);\n if (this.invalidateEverything) {\n this.requestedRect = this.virtualizer.visibleRect.copy();\n this.layoutNodes.clear();\n }\n let options = invalidationContext.layoutOptions;\n this.rowSize = options?.rowSize ?? options?.rowHeight ?? this.rowSize;\n this.orientation = options?.orientation ?? this.orientation;\n this.estimatedRowSize = options?.estimatedRowSize ?? options?.estimatedRowHeight ?? this.estimatedRowSize;\n this.headingSize = options?.headingSize ?? options?.headingHeight ?? this.headingSize;\n this.estimatedHeadingSize = options?.estimatedHeadingSize ?? options?.estimatedHeadingHeight ?? this.estimatedHeadingSize;\n this.loaderSize = options?.loaderSize ?? options?.loaderHeight ?? this.loaderSize;\n this.dropIndicatorThickness = options?.dropIndicatorThickness ?? this.dropIndicatorThickness;\n this.gap = options?.gap ?? this.gap;\n this.padding = options?.padding ?? this.padding;\n this.rootNodes = this.buildCollection();\n // Remove deleted layout nodes\n if (this.lastCollection && collection !== this.lastCollection) {\n for (let key of this.lastCollection.getKeys())if (!collection.getItem(key)) {\n let layoutNode = this.layoutNodes.get(key);\n if (layoutNode) this.layoutNodes.delete(key);\n }\n }\n this.lastCollection = collection;\n this.invalidateEverything = false;\n this.validRect = this.requestedRect.copy();\n }\n buildCollection(offset = this.padding) {\n let collection = this.virtualizer.collection;\n let offsetProperty = this.orientation === 'horizontal' ? 'x' : 'y';\n let maxOffsetProperty = this.orientation === 'horizontal' ? 'maxX' : 'maxY';\n // filter out content nodes since we don't want them to affect the height\n // Tree specific for now, if we add content nodes to other collection items, we might need to reconsider this\n let collectionNodes = $942f06a693c162e2$var$toArray(collection, (node)=>node.type !== 'content');\n let loaderNodes = collectionNodes.filter((node)=>node.type === 'loader');\n let nodes = [];\n let isEmptyOrLoading = collection?.size === 0;\n if (isEmptyOrLoading) offset = 0;\n for (let node of collectionNodes){\n let rowHeight = (this.rowSize ?? this.estimatedRowSize ?? $942f06a693c162e2$var$DEFAULT_HEIGHT) + this.gap;\n // Skip rows before the valid rectangle unless they are already cached.\n if (node.type === 'item' && offset + rowHeight < this.requestedRect[offsetProperty] && !this.isValid(node, offset)) {\n offset += rowHeight;\n continue;\n }\n let layoutNode = this.orientation === 'horizontal' ? this.buildChild(node, offset, this.padding, null) : this.buildChild(node, this.padding, offset, null);\n offset = layoutNode.layoutInfo.rect[maxOffsetProperty] + this.gap;\n nodes.push(layoutNode);\n if (node.type === 'loader') {\n let index = loaderNodes.indexOf(node);\n loaderNodes.splice(index, 1);\n }\n // Build each loader that exists in the collection that is outside the visible rect so that they are persisted\n // at the proper estimated location. If the node.type is \"section\" then we don't do this shortcut since we have to\n // build the sections to see how tall they are.\n if ((node.type === 'item' || node.type === 'loader') && offset > this.requestedRect[maxOffsetProperty]) {\n let lastProcessedIndex = collectionNodes.indexOf(node);\n for (let loaderNode of loaderNodes){\n let loaderNodeIndex = collectionNodes.indexOf(loaderNode);\n // Subtract by an additional 1 since we've already added the current item's height to y\n offset += (loaderNodeIndex - lastProcessedIndex - 1) * rowHeight;\n let loader = this.orientation === 'horizontal' ? this.buildChild(loaderNode, offset, this.padding, null) : this.buildChild(loaderNode, this.padding, offset, null);\n nodes.push(loader);\n offset = loader.layoutInfo.rect[maxOffsetProperty];\n lastProcessedIndex = loaderNodeIndex;\n }\n // Account for the rest of the items after the last loader spinner, subtract by 1 since we've processed the current node's height already\n offset += (collectionNodes.length - lastProcessedIndex - 1) * rowHeight;\n break;\n }\n }\n offset = Math.max(offset - this.gap, 0);\n offset += isEmptyOrLoading ? 0 : this.padding;\n this.contentSize = this.orientation === 'horizontal' ? new (0, $cc8e610d5d6e3fe4$export$cb6da89c6af1a8ec)(offset, this.virtualizer.size.height) : new (0, $cc8e610d5d6e3fe4$export$cb6da89c6af1a8ec)(this.virtualizer.size.width, offset);\n return nodes;\n }\n isValid(node, offset) {\n let cached = this.layoutNodes.get(node.key);\n let offsetProperty = this.orientation === 'horizontal' ? 'x' : 'y';\n return !this.invalidateEverything && !!cached && cached.node === node && offset === cached.layoutInfo.rect[offsetProperty] && cached.layoutInfo.rect.intersects(this.validRect) && cached.validRect.containsRect(cached.layoutInfo.rect.intersection(this.requestedRect));\n }\n buildChild(node, x, y, parentKey) {\n if (this.isValid(node, this.orientation === 'horizontal' ? x : y)) return this.layoutNodes.get(node.key);\n let layoutNode = this.buildNode(node, x, y);\n layoutNode.layoutInfo.parentKey = parentKey ?? null;\n layoutNode.layoutInfo.allowOverflow = true;\n this.layoutNodes.set(node.key, layoutNode);\n return layoutNode;\n }\n buildNode(node, x, y) {\n switch(node.type){\n case 'section':\n return this.buildSection(node, x, y);\n case 'item':\n return this.buildItem(node, x, y);\n case 'header':\n return this.buildSectionHeader(node, x, y);\n case 'loader':\n return this.buildLoader(node, x, y);\n case 'separator':\n return this.buildItem(node, x, y);\n default:\n throw new Error('Unsupported node type: ' + node.type);\n }\n }\n buildLoader(node, x, y) {\n let rect = new (0, $af827553fd3cf456$export$c79fc6492f3af13d)(x, y, this.padding, 0);\n let layoutInfo = new (0, $eb6255cbf080eb7d$export$7e0eeb9da702a085)(node.type, node.key, rect);\n // Note that if the user provides isLoading to their sentinel during a case where they only want to render the emptyState, this will reserve\n // room for the loader alongside rendering the emptyState\n if (this.orientation === 'horizontal') {\n rect.height = this.virtualizer.contentSize.height - this.padding - y;\n rect.width = node.props.isLoading ? this.loaderSize ?? this.rowSize ?? this.estimatedRowSize ?? $942f06a693c162e2$var$DEFAULT_HEIGHT : 0;\n } else {\n rect.width = this.virtualizer.contentSize.width - this.padding - x;\n rect.height = node.props.isLoading ? this.loaderSize ?? this.rowSize ?? this.estimatedRowSize ?? $942f06a693c162e2$var$DEFAULT_HEIGHT : 0;\n }\n return {\n layoutInfo: layoutInfo,\n validRect: rect.intersection(this.requestedRect)\n };\n }\n buildSection(node, x, y) {\n let collection = this.virtualizer.collection;\n let width = this.virtualizer.size.width - this.padding - x;\n let height = this.virtualizer.size.height - this.padding - y;\n let rect = this.orientation === 'horizontal' ? new (0, $af827553fd3cf456$export$c79fc6492f3af13d)(x, y, 0, height) : new (0, $af827553fd3cf456$export$c79fc6492f3af13d)(x, y, width, 0);\n let layoutInfo = new (0, $eb6255cbf080eb7d$export$7e0eeb9da702a085)(node.type, node.key, rect);\n let offset = this.orientation === 'horizontal' ? x : y;\n let offsetProperty = this.orientation === 'horizontal' ? 'x' : 'y';\n let maxOffsetProperty = this.orientation === 'horizontal' ? 'maxX' : 'maxY';\n let heightProperty = this.orientation === 'horizontal' ? 'width' : 'height';\n let skipped = 0;\n let children = [];\n for (let child of (0, $cd5ea4b915021f1d$export$1005530eda016c13)(node, collection)){\n // skip if it is a content node, Tree specific for now, if we add content nodes to other collection items, we might need to reconsider this\n if (child.type === 'content') continue;\n let rowHeight = (this.rowSize ?? this.estimatedRowSize ?? $942f06a693c162e2$var$DEFAULT_HEIGHT) + this.gap;\n // Skip rows before the valid rectangle unless they are already cached.\n if (offset + rowHeight < this.requestedRect[offsetProperty] && !this.isValid(node, offset)) {\n offset += rowHeight;\n skipped++;\n continue;\n }\n let layoutNode = this.orientation === 'horizontal' ? this.buildChild(child, offset, y, layoutInfo.key) : this.buildChild(child, x, offset, layoutInfo.key);\n offset = layoutNode.layoutInfo.rect[maxOffsetProperty] + this.gap;\n children.push(layoutNode);\n if (offset > this.requestedRect[maxOffsetProperty]) {\n // Estimate the remaining height for rows that we don't need to layout right now.\n offset += ([\n ...(0, $cd5ea4b915021f1d$export$1005530eda016c13)(node, collection)\n ].length - (children.length + skipped)) * rowHeight;\n break;\n }\n }\n offset -= this.gap;\n rect[heightProperty] = offset - (this.orientation === 'horizontal' ? x : y);\n return {\n layoutInfo: layoutInfo,\n children: children,\n validRect: layoutInfo.rect.intersection(this.requestedRect),\n node: node\n };\n }\n buildSectionHeader(node, x, y) {\n let widthProperty = this.orientation === 'horizontal' ? 'height' : 'width';\n let heightProperty = this.orientation === 'horizontal' ? 'width' : 'height';\n let width = this.virtualizer.size[widthProperty] - this.padding - (this.orientation === 'horizontal' ? y : x);\n let rectHeight = this.headingSize;\n let isEstimated = false;\n // If no explicit height is available, use an estimated height.\n if (rectHeight == null) {\n // If a previous version of this layout info exists, reuse its height.\n // Mark as estimated if the size of the overall virtualizer changed,\n // or the content of the item changed.\n let previousLayoutNode = this.layoutNodes.get(node.key);\n let previousLayoutInfo = previousLayoutNode?.layoutInfo;\n if (previousLayoutInfo) {\n let curNode = this.virtualizer.collection.getItem(node.key);\n let lastNode = this.lastCollection ? this.lastCollection.getItem(node.key) : null;\n rectHeight = previousLayoutNode.layoutInfo.rect[heightProperty];\n isEstimated = width !== previousLayoutInfo.rect[widthProperty] || curNode !== lastNode || previousLayoutInfo.estimatedSize;\n } else {\n rectHeight = node.rendered ? this.estimatedHeadingSize : 0;\n isEstimated = true;\n }\n }\n if (rectHeight == null) rectHeight = $942f06a693c162e2$var$DEFAULT_HEIGHT;\n let headerRect = this.orientation === 'horizontal' ? new (0, $af827553fd3cf456$export$c79fc6492f3af13d)(x, y, rectHeight, width - y) : new (0, $af827553fd3cf456$export$c79fc6492f3af13d)(x, y, width - x, rectHeight);\n let header = new (0, $eb6255cbf080eb7d$export$7e0eeb9da702a085)('header', node.key, headerRect);\n header.estimatedSize = isEstimated;\n return {\n layoutInfo: header,\n children: [],\n validRect: header.rect.intersection(this.requestedRect),\n node: node\n };\n }\n buildItem(node, x, y) {\n let widthProperty = this.orientation === 'horizontal' ? 'height' : 'width';\n let heightProperty = this.orientation === 'horizontal' ? 'width' : 'height';\n let width = this.virtualizer.size[widthProperty] - this.padding - (this.orientation === 'horizontal' ? y : x);\n let rectHeight = this.rowSize;\n let isEstimated = false;\n // If no explicit height is available, use an estimated height.\n if (rectHeight == null) {\n // If a previous version of this layout info exists, reuse its height.\n // Mark as estimated if the size of the overall virtualizer changed,\n // or the content of the item changed.\n let previousLayoutNode = this.layoutNodes.get(node.key);\n if (previousLayoutNode) {\n rectHeight = previousLayoutNode.layoutInfo.rect[heightProperty];\n isEstimated = width !== previousLayoutNode.layoutInfo.rect[widthProperty] || node !== previousLayoutNode.node || previousLayoutNode.layoutInfo.estimatedSize;\n } else {\n rectHeight = this.estimatedRowSize;\n isEstimated = true;\n }\n }\n if (rectHeight == null) rectHeight = $942f06a693c162e2$var$DEFAULT_HEIGHT;\n let rect = this.orientation === 'horizontal' ? new (0, $af827553fd3cf456$export$c79fc6492f3af13d)(x, y, rectHeight, width) : new (0, $af827553fd3cf456$export$c79fc6492f3af13d)(x, y, width, rectHeight);\n let layoutInfo = new (0, $eb6255cbf080eb7d$export$7e0eeb9da702a085)(node.type, node.key, rect);\n layoutInfo.estimatedSize = isEstimated;\n return {\n layoutInfo: layoutInfo,\n children: [],\n validRect: layoutInfo.rect.intersection(this.requestedRect),\n node: node\n };\n }\n updateItemSize(key, size) {\n let layoutNode = this.layoutNodes.get(key);\n // If no layoutInfo, item has been deleted/removed.\n if (!layoutNode) return false;\n let collection = this.virtualizer.collection;\n let layoutInfo = layoutNode.layoutInfo;\n let offsetProperty = this.orientation === 'horizontal' ? 'x' : 'y';\n let heightProperty = this.orientation === 'horizontal' ? 'width' : 'height';\n layoutInfo.estimatedSize = false;\n if (layoutInfo.rect[heightProperty] !== size[heightProperty]) {\n // Copy layout info rather than mutating so that later caches are invalidated.\n let newLayoutInfo = layoutInfo.copy();\n newLayoutInfo.rect[heightProperty] = size[heightProperty];\n layoutNode.layoutInfo = newLayoutInfo;\n // Items after this layoutInfo will need to be repositioned to account for the new height.\n // Adjust the validRect so that only items above remain valid.\n this.validRect[heightProperty] = Math.min(this.validRect[heightProperty], layoutInfo.rect[offsetProperty] - this.validRect[offsetProperty]);\n // The requestedRect also needs to be adjusted to account for the height difference.\n this.requestedRect[heightProperty] += newLayoutInfo.rect[heightProperty] - layoutInfo.rect[heightProperty];\n // Invalidate layout for this layout node and all parents\n this.updateLayoutNode(key, layoutInfo, newLayoutInfo);\n let node = layoutInfo.parentKey != null ? collection.getItem(layoutInfo.parentKey) : null;\n while(node){\n this.updateLayoutNode(node.key, layoutInfo, newLayoutInfo);\n node = node.parentKey != null ? collection.getItem(node.parentKey) : null;\n }\n return true;\n }\n return false;\n }\n updateLayoutNode(key, oldLayoutInfo, newLayoutInfo) {\n let n = this.layoutNodes.get(key);\n if (n) {\n // Invalidate by intersecting the validRect of this node with the overall validRect.\n n.validRect = n.validRect.intersection(this.validRect);\n // Replace layout info in LayoutNode\n if (n.layoutInfo === oldLayoutInfo) n.layoutInfo = newLayoutInfo;\n }\n }\n getContentSize() {\n return this.contentSize;\n }\n getDropTargetFromPoint(x, y, isValidDropTarget) {\n x += this.virtualizer.visibleRect.x;\n y += this.virtualizer.visibleRect.y;\n // Find the closest item within on either side of the point using the gap width.\n let searchRect = new (0, $af827553fd3cf456$export$c79fc6492f3af13d)(x, Math.max(0, y - this.gap), 1, Math.max(1, this.gap * 2));\n let candidates = this.getVisibleLayoutInfos(searchRect);\n let key = null;\n let minDistance = Infinity;\n for (let candidate of candidates){\n // Ignore items outside the search rect, e.g. persisted keys.\n if (!candidate.rect.intersects(searchRect)) continue;\n let yDist = Math.abs(candidate.rect.y - y);\n let maxYDist = Math.abs(candidate.rect.maxY - y);\n let dist = Math.min(yDist, maxYDist);\n if (dist < minDistance) {\n minDistance = dist;\n key = candidate.key;\n }\n }\n if (key == null || this.virtualizer.collection.size === 0) return {\n type: 'root'\n };\n let layoutInfo = this.getLayoutInfo(key);\n if (!layoutInfo) return null;\n let rect = layoutInfo.rect;\n let target = {\n type: 'item',\n key: layoutInfo.key,\n dropPosition: 'on'\n };\n // If dropping on the item isn't accepted, try the target before or after depending on the y position.\n // Otherwise, if dropping on the item is accepted, still try the before/after positions if within 10px\n // of the top or bottom of the item.\n if (!isValidDropTarget(target)) {\n if (y <= rect.y + rect.height / 2 && isValidDropTarget({\n ...target,\n dropPosition: 'before'\n })) target.dropPosition = 'before';\n else if (isValidDropTarget({\n ...target,\n dropPosition: 'after'\n })) target.dropPosition = 'after';\n } else if (y <= rect.y + 10 && isValidDropTarget({\n ...target,\n dropPosition: 'before'\n })) target.dropPosition = 'before';\n else if (y >= rect.maxY - 10 && isValidDropTarget({\n ...target,\n dropPosition: 'after'\n })) target.dropPosition = 'after';\n return target;\n }\n getDropTargetLayoutInfo(target) {\n let layoutInfo = this.getLayoutInfo(target.key);\n let rect;\n if (target.dropPosition === 'before') rect = this.orientation === 'horizontal' ? new (0, $af827553fd3cf456$export$c79fc6492f3af13d)(Math.max(0, layoutInfo.rect.x - this.dropIndicatorThickness / 2), layoutInfo.rect.y, this.dropIndicatorThickness, layoutInfo.rect.height) : new (0, $af827553fd3cf456$export$c79fc6492f3af13d)(layoutInfo.rect.x, Math.max(0, layoutInfo.rect.y - this.dropIndicatorThickness / 2), layoutInfo.rect.width, this.dropIndicatorThickness);\n else if (target.dropPosition === 'after') {\n // Render after last visible descendant of the drop target.\n let targetNode = this.collection.getItem(target.key);\n if (targetNode) {\n let targetLevel = targetNode.level ?? 0;\n let currentKey = this.collection.getKeyAfter(target.key);\n while(currentKey != null){\n let node = this.collection.getItem(currentKey);\n if (!node || node.level <= targetLevel) break;\n layoutInfo = this.getLayoutInfo(currentKey) || layoutInfo;\n currentKey = this.collection.getKeyAfter(currentKey);\n }\n }\n rect = this.orientation === 'horizontal' ? new (0, $af827553fd3cf456$export$c79fc6492f3af13d)(layoutInfo.rect.maxX - this.dropIndicatorThickness / 2, layoutInfo.rect.y, this.dropIndicatorThickness, layoutInfo.rect.height) : new (0, $af827553fd3cf456$export$c79fc6492f3af13d)(layoutInfo.rect.x, layoutInfo.rect.maxY - this.dropIndicatorThickness / 2, layoutInfo.rect.width, this.dropIndicatorThickness);\n } else rect = layoutInfo.rect;\n return new (0, $eb6255cbf080eb7d$export$7e0eeb9da702a085)('dropIndicator', target.key + ':' + target.dropPosition, rect);\n }\n}\nfunction $942f06a693c162e2$var$toArray(collection, predicate) {\n const result = [];\n for (const node of collection)if (predicate(node)) result.push(node);\n return result;\n}\n\n\nexport {$942f06a693c162e2$export$cacbb3924155d68e as ListLayout};\n//# sourceMappingURL=ListLayout.mjs.map\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ class $f664a81d022446b5$export$d085fb9e920b5ca7 {\n constructor(nodes){\n this.keyMap = new Map();\n this.firstKey = null;\n this.lastKey = null;\n this.iterable = nodes;\n let visit = (node)=>{\n this.keyMap.set(node.key, node);\n if (node.childNodes && node.type === 'section') for (let child of node.childNodes)visit(child);\n };\n for (let node of nodes)visit(node);\n let last = null;\n let index = 0;\n let size = 0;\n for (let [key, node] of this.keyMap){\n if (last) {\n last.nextKey = key;\n node.prevKey = last.key;\n } else {\n this.firstKey = key;\n node.prevKey = undefined;\n }\n if (node.type === 'item') node.index = index++;\n // Only count sections and items when determining size so that\n // loaders and separators in RAC/S2 don't influence the emptyState determination\n if (node.type === 'section' || node.type === 'item') size++;\n last = node;\n // Set nextKey as undefined since this might be the last node\n // If it isn't the last node, last.nextKey will properly set at start of new loop\n last.nextKey = undefined;\n }\n this._size = size;\n this.lastKey = last?.key ?? null;\n }\n *[Symbol.iterator]() {\n yield* this.iterable;\n }\n get size() {\n return this._size;\n }\n getKeys() {\n return this.keyMap.keys();\n }\n getKeyBefore(key) {\n let node = this.keyMap.get(key);\n return node ? node.prevKey ?? null : null;\n }\n getKeyAfter(key) {\n let node = this.keyMap.get(key);\n return node ? node.nextKey ?? null : null;\n }\n getFirstKey() {\n return this.firstKey;\n }\n getLastKey() {\n return this.lastKey;\n }\n getItem(key) {\n return this.keyMap.get(key) ?? null;\n }\n at(idx) {\n const keys = [\n ...this.getKeys()\n ];\n return this.getItem(keys[idx]);\n }\n getChildren(key) {\n let node = this.keyMap.get(key);\n return node?.childNodes || [];\n }\n}\n\n\nexport {$f664a81d022446b5$export$d085fb9e920b5ca7 as ListCollection};\n//# sourceMappingURL=ListCollection.mjs.map\n","import {ListCollection as $f664a81d022446b5$export$d085fb9e920b5ca7} from \"./ListCollection.mjs\";\nimport {useMultipleSelectionState as $60f19cefd567a3e4$export$253fe78d46329472} from \"../selection/useMultipleSelectionState.mjs\";\nimport {SelectionManager as $4a07ac835f260f78$export$6c8a5aaad13c9852} from \"../selection/SelectionManager.mjs\";\nimport {useCollection as $d03379b88399b8c5$export$6cd28814d92fa9c9} from \"../collections/useCollection.mjs\";\nimport {useMemo as $3yt54$useMemo, useCallback as $3yt54$useCallback, useRef as $3yt54$useRef, useEffect as $3yt54$useEffect} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\nfunction $b14b6f590b50af39$export$2f645645f7bca764(props) {\n let { filter: filter, layoutDelegate: layoutDelegate } = props;\n let selectionState = (0, $60f19cefd567a3e4$export$253fe78d46329472)(props);\n let disabledKeys = (0, $3yt54$useMemo)(()=>props.disabledKeys ? new Set(props.disabledKeys) : new Set(), [\n props.disabledKeys\n ]);\n let factory = (0, $3yt54$useCallback)((nodes)=>filter ? new (0, $f664a81d022446b5$export$d085fb9e920b5ca7)(filter(nodes)) : new (0, $f664a81d022446b5$export$d085fb9e920b5ca7)(nodes), [\n filter\n ]);\n let context = (0, $3yt54$useMemo)(()=>({\n suppressTextValueWarning: props.suppressTextValueWarning\n }), [\n props.suppressTextValueWarning\n ]);\n let collection = (0, $d03379b88399b8c5$export$6cd28814d92fa9c9)(props, factory, context);\n let selectionManager = (0, $3yt54$useMemo)(()=>new (0, $4a07ac835f260f78$export$6c8a5aaad13c9852)(collection, selectionState, {\n layoutDelegate: layoutDelegate\n }), [\n collection,\n selectionState,\n layoutDelegate\n ]);\n $b14b6f590b50af39$var$useFocusedKeyReset(collection, selectionManager);\n return {\n collection: collection,\n disabledKeys: disabledKeys,\n selectionManager: selectionManager\n };\n}\nfunction $b14b6f590b50af39$export$ba9d38c0f1bf2b36(state, filterFn) {\n let collection = (0, $3yt54$useMemo)(()=>filterFn ? state.collection.filter(filterFn) : state.collection, [\n state.collection,\n filterFn\n ]);\n let selectionManager = state.selectionManager.withCollection(collection);\n $b14b6f590b50af39$var$useFocusedKeyReset(collection, selectionManager);\n return {\n collection: collection,\n selectionManager: selectionManager,\n disabledKeys: state.disabledKeys\n };\n}\nfunction $b14b6f590b50af39$var$useFocusedKeyReset(collection, selectionManager) {\n // Reset focused key if that item is deleted from the collection.\n const cachedCollection = (0, $3yt54$useRef)(null);\n (0, $3yt54$useEffect)(()=>{\n if (selectionManager.focusedKey != null && !collection.getItem(selectionManager.focusedKey) && cachedCollection.current) {\n // Walk forward in the old collection to find the next key that still exists in the new collection.\n let key = cachedCollection.current.getKeyAfter(selectionManager.focusedKey);\n let nextFocusedKey = null;\n while(key != null){\n let node = collection.getItem(key);\n if (node && node.type === 'item' && !selectionManager.isDisabled(key)) {\n nextFocusedKey = key;\n break;\n }\n key = cachedCollection.current.getKeyAfter(key);\n }\n // If no such key exists, walk backward.\n if (nextFocusedKey == null) {\n key = cachedCollection.current.getKeyBefore(selectionManager.focusedKey);\n while(key != null){\n let node = collection.getItem(key);\n if (node && node.type === 'item' && !selectionManager.isDisabled(key)) {\n nextFocusedKey = key;\n break;\n }\n key = cachedCollection.current.getKeyBefore(key);\n }\n }\n selectionManager.setFocusedKey(nextFocusedKey);\n }\n cachedCollection.current = collection;\n }, [\n collection,\n selectionManager\n ]);\n}\n\n\nexport {$b14b6f590b50af39$export$2f645645f7bca764 as useListState, $b14b6f590b50af39$export$ba9d38c0f1bf2b36 as UNSTABLE_useFilteredListState};\n//# sourceMappingURL=useListState.mjs.map\n","import {useOverlayTriggerState as $f11fb0bcf1b2687a$export$61c6a8c84e605fb6} from \"../overlays/useOverlayTriggerState.mjs\";\nimport {useState as $aoDK0$useState} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nfunction $e3403870bfb691da$export$79fefeb1c2091ac3(props) {\n let overlayTriggerState = (0, $f11fb0bcf1b2687a$export$61c6a8c84e605fb6)(props);\n let [focusStrategy, setFocusStrategy] = (0, $aoDK0$useState)(null);\n let [expandedKeysStack, setExpandedKeysStack] = (0, $aoDK0$useState)([]);\n let closeAll = ()=>{\n setExpandedKeysStack([]);\n overlayTriggerState.close();\n };\n let openSubmenu = (triggerKey, level)=>{\n setExpandedKeysStack((oldStack)=>{\n if (level > oldStack.length) return oldStack;\n return [\n ...oldStack.slice(0, level),\n triggerKey\n ];\n });\n };\n let closeSubmenu = (triggerKey, level)=>{\n setExpandedKeysStack((oldStack)=>{\n let key = oldStack[level];\n if (key === triggerKey) return oldStack.slice(0, level);\n else return oldStack;\n });\n };\n return {\n focusStrategy: focusStrategy,\n ...overlayTriggerState,\n open (focusStrategy = null) {\n setFocusStrategy(focusStrategy);\n overlayTriggerState.open();\n },\n toggle (focusStrategy = null) {\n setFocusStrategy(focusStrategy);\n overlayTriggerState.toggle();\n },\n close () {\n closeAll();\n },\n expandedKeysStack: expandedKeysStack,\n openSubmenu: openSubmenu,\n closeSubmenu: closeSubmenu\n };\n}\n\n\nexport {$e3403870bfb691da$export$79fefeb1c2091ac3 as useMenuTriggerState};\n//# sourceMappingURL=useMenuTriggerState.mjs.map\n","import {useControlledState as $3e6197669829fe11$export$40bfa8c7b0832715} from \"../utils/useControlledState.mjs\";\nimport {useCallback as $kE40A$useCallback} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nfunction $f11fb0bcf1b2687a$export$61c6a8c84e605fb6(props) {\n let [isOpen, setOpen] = (0, $3e6197669829fe11$export$40bfa8c7b0832715)(props.isOpen, props.defaultOpen || false, props.onOpenChange);\n const open = (0, $kE40A$useCallback)(()=>{\n setOpen(true);\n }, [\n setOpen\n ]);\n const close = (0, $kE40A$useCallback)(()=>{\n setOpen(false);\n }, [\n setOpen\n ]);\n const toggle = (0, $kE40A$useCallback)(()=>{\n setOpen(!isOpen);\n }, [\n setOpen,\n isOpen\n ]);\n return {\n isOpen: isOpen,\n setOpen: setOpen,\n open: open,\n close: close,\n toggle: toggle\n };\n}\n\n\nexport {$f11fb0bcf1b2687a$export$61c6a8c84e605fb6 as useOverlayTriggerState};\n//# sourceMappingURL=useOverlayTriggerState.mjs.map\n","import {useControlledState as $3e6197669829fe11$export$40bfa8c7b0832715} from \"../utils/useControlledState.mjs\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $56baeede9f35e022$export$3f8be18b0f41eaf2(props) {\n let [value, setValue] = (0, $3e6197669829fe11$export$40bfa8c7b0832715)($56baeede9f35e022$var$toString(props.value), $56baeede9f35e022$var$toString(props.defaultValue) || '', props.onChange);\n return {\n value: value,\n setValue: setValue\n };\n}\nfunction $56baeede9f35e022$var$toString(val) {\n if (val == null) return;\n return val.toString();\n}\n\n\nexport {$56baeede9f35e022$export$3f8be18b0f41eaf2 as useSearchFieldState};\n//# sourceMappingURL=useSearchFieldState.mjs.map\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ class $8b2540e09867b15e$export$52baac22726c72bf extends Set {\n constructor(keys, anchorKey, currentKey){\n super(keys);\n if (keys instanceof $8b2540e09867b15e$export$52baac22726c72bf) {\n this.anchorKey = anchorKey ?? keys.anchorKey;\n this.currentKey = currentKey ?? keys.currentKey;\n } else {\n this.anchorKey = anchorKey ?? null;\n this.currentKey = currentKey ?? null;\n }\n }\n}\n\n\nexport {$8b2540e09867b15e$export$52baac22726c72bf as Selection};\n//# sourceMappingURL=Selection.mjs.map\n","import {compareNodeOrder as $cd5ea4b915021f1d$export$8c434b3a7a4dad6, getChildNodes as $cd5ea4b915021f1d$export$1005530eda016c13, getFirstItem as $cd5ea4b915021f1d$export$fbdeaa6a76694f71} from \"../collections/getChildNodes.mjs\";\nimport {Selection as $8b2540e09867b15e$export$52baac22726c72bf} from \"./Selection.mjs\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nclass $4a07ac835f260f78$export$6c8a5aaad13c9852 {\n constructor(collection, state, options){\n this.collection = collection;\n this.state = state;\n this.allowsCellSelection = options?.allowsCellSelection ?? false;\n this._isSelectAll = null;\n this.layoutDelegate = options?.layoutDelegate || null;\n this.fullCollection = options?.fullCollection || null;\n }\n /**\n * The type of selection that is allowed in the collection.\n */ get selectionMode() {\n return this.state.selectionMode;\n }\n /**\n * Whether the collection allows empty selection.\n */ get disallowEmptySelection() {\n return this.state.disallowEmptySelection;\n }\n /**\n * The selection behavior for the collection.\n */ get selectionBehavior() {\n return this.state.selectionBehavior;\n }\n /**\n * Sets the selection behavior for the collection.\n */ setSelectionBehavior(selectionBehavior) {\n this.state.setSelectionBehavior(selectionBehavior);\n }\n /**\n * Whether the collection is currently focused.\n */ get isFocused() {\n return this.state.isFocused;\n }\n /**\n * Sets whether the collection is focused.\n */ setFocused(isFocused) {\n this.state.setFocused(isFocused);\n }\n /**\n * The current focused key in the collection.\n */ get focusedKey() {\n return this.state.focusedKey;\n }\n /** Whether the first or last child of the focused key should receive focus. */ get childFocusStrategy() {\n return this.state.childFocusStrategy;\n }\n /**\n * Sets the focused key.\n */ setFocusedKey(key, childFocusStrategy) {\n if (key == null || this.collection.getItem(key)) this.state.setFocusedKey(key, childFocusStrategy);\n }\n /**\n * The currently selected keys in the collection.\n */ get selectedKeys() {\n return this.state.selectedKeys === 'all' ? new Set(this.getSelectAllKeys()) : this.state.selectedKeys;\n }\n /**\n * The raw selection value for the collection.\n * Either 'all' for select all, or a set of keys.\n */ get rawSelection() {\n return this.state.selectedKeys;\n }\n /**\n * Returns whether a key is selected.\n */ isSelected(key) {\n if (this.state.selectionMode === 'none') return false;\n let mappedKey = this.getKey(key);\n if (mappedKey == null) return false;\n return this.state.selectedKeys === 'all' ? this.canSelectItem(mappedKey) : this.state.selectedKeys.has(mappedKey);\n }\n /**\n * Whether the selection is empty.\n */ get isEmpty() {\n return this.state.selectedKeys !== 'all' && this.state.selectedKeys.size === 0;\n }\n /**\n * Whether all items in the collection are selected.\n */ get isSelectAll() {\n if (this.isEmpty) return false;\n if (this.state.selectedKeys === 'all') return true;\n if (this._isSelectAll != null) return this._isSelectAll;\n let allKeys = this.getSelectAllKeys();\n let selectedKeys = this.state.selectedKeys;\n this._isSelectAll = allKeys.every((k)=>selectedKeys.has(k));\n return this._isSelectAll;\n }\n get firstSelectedKey() {\n let first = null;\n for (let key of this.state.selectedKeys){\n let item = this.collection.getItem(key);\n if (!first || item && (0, $cd5ea4b915021f1d$export$8c434b3a7a4dad6)(this.collection, item, first) < 0) first = item;\n }\n return first?.key ?? null;\n }\n get lastSelectedKey() {\n let last = null;\n for (let key of this.state.selectedKeys){\n let item = this.collection.getItem(key);\n if (!last || item && (0, $cd5ea4b915021f1d$export$8c434b3a7a4dad6)(this.collection, item, last) > 0) last = item;\n }\n return last?.key ?? null;\n }\n get disabledKeys() {\n return this.state.disabledKeys;\n }\n get disabledBehavior() {\n return this.state.disabledBehavior;\n }\n /**\n * Extends the selection to the given key.\n */ extendSelection(toKey) {\n if (this.selectionMode === 'none') return;\n if (this.selectionMode === 'single') {\n this.replaceSelection(toKey);\n return;\n }\n let mappedToKey = this.getKey(toKey);\n if (mappedToKey == null) return;\n let selection;\n // Only select the one key if coming from a select all.\n if (this.state.selectedKeys === 'all') selection = new (0, $8b2540e09867b15e$export$52baac22726c72bf)([\n mappedToKey\n ], mappedToKey, mappedToKey);\n else {\n let selectedKeys = this.state.selectedKeys;\n let anchorKey = selectedKeys.anchorKey ?? mappedToKey;\n selection = new (0, $8b2540e09867b15e$export$52baac22726c72bf)(selectedKeys, anchorKey, mappedToKey);\n for (let key of this.getKeyRange(anchorKey, selectedKeys.currentKey ?? mappedToKey))selection.delete(key);\n for (let key of this.getKeyRange(mappedToKey, anchorKey))if (this.canSelectItem(key)) selection.add(key);\n }\n this.state.setSelectedKeys(selection);\n }\n getKeyRange(from, to) {\n let fromItem = this.collection.getItem(from);\n let toItem = this.collection.getItem(to);\n if (fromItem && toItem) {\n if ((0, $cd5ea4b915021f1d$export$8c434b3a7a4dad6)(this.collection, fromItem, toItem) <= 0) return this.getKeyRangeInternal(from, to);\n return this.getKeyRangeInternal(to, from);\n }\n return [];\n }\n getKeyRangeInternal(from, to) {\n if (this.layoutDelegate?.getKeyRange) return this.layoutDelegate.getKeyRange(from, to);\n let keys = [];\n let key = from;\n while(key != null){\n let item = this.collection.getItem(key);\n if (item && (item.type === 'item' || item.type === 'cell' && this.allowsCellSelection)) keys.push(key);\n if (key === to) return keys;\n key = this.collection.getKeyAfter(key);\n }\n return [];\n }\n getKey(key) {\n let item = this.collection.getItem(key);\n if (!item) // ¯\\_(ツ)_/¯\n return key;\n // If cell selection is allowed, just return the key.\n if (item.type === 'cell' && this.allowsCellSelection) return key;\n // Find a parent item to select\n while(item && item.type !== 'item' && item.parentKey != null)item = this.collection.getItem(item.parentKey);\n if (!item || item.type !== 'item') return null;\n return item.key;\n }\n /**\n * Toggles whether the given key is selected.\n */ toggleSelection(key) {\n if (this.selectionMode === 'none') return;\n if (this.selectionMode === 'single' && !this.isSelected(key)) {\n this.replaceSelection(key);\n return;\n }\n let mappedKey = this.getKey(key);\n if (mappedKey == null) return;\n let keys = new (0, $8b2540e09867b15e$export$52baac22726c72bf)(this.state.selectedKeys === 'all' ? this.getSelectAllKeys() : this.state.selectedKeys);\n if (keys.has(mappedKey)) keys.delete(mappedKey);\n else if (this.canSelectItem(mappedKey)) {\n keys.add(mappedKey);\n keys.anchorKey = mappedKey;\n keys.currentKey = mappedKey;\n }\n if (this.disallowEmptySelection && keys.size === 0) return;\n this.state.setSelectedKeys(keys);\n }\n /**\n * Replaces the selection with only the given key.\n */ replaceSelection(key) {\n if (this.selectionMode === 'none') return;\n let mappedKey = this.getKey(key);\n if (mappedKey == null) return;\n let selection = this.canSelectItem(mappedKey) ? new (0, $8b2540e09867b15e$export$52baac22726c72bf)([\n mappedKey\n ], mappedKey, mappedKey) : new (0, $8b2540e09867b15e$export$52baac22726c72bf)();\n this.state.setSelectedKeys(selection);\n }\n /**\n * Replaces the selection with the given keys.\n */ setSelectedKeys(keys) {\n if (this.selectionMode === 'none') return;\n let selection = new (0, $8b2540e09867b15e$export$52baac22726c72bf)();\n for (let key of keys){\n let mappedKey = this.getKey(key);\n if (mappedKey != null) {\n selection.add(mappedKey);\n if (this.selectionMode === 'single') break;\n }\n }\n this.state.setSelectedKeys(selection);\n }\n getSelectAllKeys() {\n // Use the full (unfiltered) collection when available so that materializing\n // the 'all' selection includes items that are currently filtered out (e.g. by Autocomplete).\n let collection = this.fullCollection ?? this.collection;\n let keys = [];\n let addKeys = (key)=>{\n while(key != null){\n if (this.canSelectItemIn(key, collection)) {\n let item = collection.getItem(key);\n if (item?.type === 'item') keys.push(key);\n // Add child keys. If cell selection is allowed, then include item children too.\n if (item?.hasChildNodes && (this.allowsCellSelection || item.type !== 'item')) addKeys((0, $cd5ea4b915021f1d$export$fbdeaa6a76694f71)((0, $cd5ea4b915021f1d$export$1005530eda016c13)(item, collection))?.key ?? null);\n }\n key = collection.getKeyAfter(key);\n }\n };\n addKeys(collection.getFirstKey());\n return keys;\n }\n /**\n * Selects all items in the collection.\n */ selectAll() {\n if (!this.isSelectAll && this.selectionMode === 'multiple') this.state.setSelectedKeys('all');\n }\n /**\n * Removes all keys from the selection.\n */ clearSelection() {\n if (!this.disallowEmptySelection && (this.state.selectedKeys === 'all' || this.state.selectedKeys.size > 0)) this.state.setSelectedKeys(new (0, $8b2540e09867b15e$export$52baac22726c72bf)());\n }\n /**\n * Toggles between select all and an empty selection.\n */ toggleSelectAll() {\n if (this.isSelectAll) this.clearSelection();\n else this.selectAll();\n }\n select(key, e) {\n if (this.selectionMode === 'none') return;\n if (this.selectionMode === 'single') {\n if (this.isSelected(key) && !this.disallowEmptySelection) this.toggleSelection(key);\n else this.replaceSelection(key);\n } else if (this.selectionBehavior === 'toggle' || e && (e.pointerType === 'touch' || e.pointerType === 'virtual')) // if touch or virtual (VO) then we just want to toggle, otherwise it's impossible to multi select because they don't have modifier keys\n this.toggleSelection(key);\n else this.replaceSelection(key);\n }\n /**\n * Returns whether the current selection is equal to the given selection.\n */ isSelectionEqual(selection) {\n if (selection === this.state.selectedKeys) return true;\n // Check if the set of keys match.\n let selectedKeys = this.selectedKeys;\n if (selection.size !== selectedKeys.size) return false;\n for (let key of selection){\n if (!selectedKeys.has(key)) return false;\n }\n for (let key of selectedKeys){\n if (!selection.has(key)) return false;\n }\n return true;\n }\n canSelectItem(key) {\n return this.canSelectItemIn(key, this.collection);\n }\n canSelectItemIn(key, collection) {\n if (this.state.selectionMode === 'none' || this.state.disabledKeys.has(key)) return false;\n let item = collection.getItem(key);\n if (!item || item?.props?.isDisabled || item.type === 'cell' && !this.allowsCellSelection) return false;\n return true;\n }\n isDisabled(key) {\n return this.state.disabledBehavior === 'all' && (this.state.disabledKeys.has(key) || !!this.collection.getItem(key)?.props?.isDisabled);\n }\n isLink(key) {\n return !!this.collection.getItem(key)?.props?.href;\n }\n getItemProps(key) {\n return this.collection.getItem(key)?.props;\n }\n withCollection(collection) {\n return new $4a07ac835f260f78$export$6c8a5aaad13c9852(collection, this.state, {\n allowsCellSelection: this.allowsCellSelection,\n layoutDelegate: this.layoutDelegate || undefined,\n fullCollection: this.fullCollection ?? this.collection\n });\n }\n}\n\n\nexport {$4a07ac835f260f78$export$6c8a5aaad13c9852 as SelectionManager};\n//# sourceMappingURL=SelectionManager.mjs.map\n","import {Selection as $8b2540e09867b15e$export$52baac22726c72bf} from \"./Selection.mjs\";\nimport {useControlledState as $3e6197669829fe11$export$40bfa8c7b0832715} from \"../utils/useControlledState.mjs\";\nimport {useRef as $7w3VE$useRef, useState as $7w3VE$useState, useMemo as $7w3VE$useMemo, useEffect as $7w3VE$useEffect} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nfunction $60f19cefd567a3e4$var$equalSets(setA, setB) {\n if (setA.size !== setB.size) return false;\n for (let item of setA){\n if (!setB.has(item)) return false;\n }\n return true;\n}\nfunction $60f19cefd567a3e4$export$253fe78d46329472(props) {\n let { selectionMode: selectionMode = 'none', disallowEmptySelection: disallowEmptySelection = false, allowDuplicateSelectionEvents: allowDuplicateSelectionEvents, selectionBehavior: selectionBehaviorProp = 'toggle', disabledBehavior: disabledBehavior = 'all' } = props;\n // We want synchronous updates to `isFocused` and `focusedKey` after their setters are called.\n // But we also need to trigger a react re-render. So, we have both a ref (sync) and state (async).\n let isFocusedRef = (0, $7w3VE$useRef)(false);\n let [, setFocused] = (0, $7w3VE$useState)(false);\n let focusedKeyRef = (0, $7w3VE$useRef)(null);\n let childFocusStrategyRef = (0, $7w3VE$useRef)(null);\n let [, setFocusedKey] = (0, $7w3VE$useState)(null);\n let selectedKeysProp = (0, $7w3VE$useMemo)(()=>$60f19cefd567a3e4$var$convertSelection(props.selectedKeys), [\n props.selectedKeys\n ]);\n let defaultSelectedKeys = (0, $7w3VE$useMemo)(()=>$60f19cefd567a3e4$var$convertSelection(props.defaultSelectedKeys, new (0, $8b2540e09867b15e$export$52baac22726c72bf)()), [\n props.defaultSelectedKeys\n ]);\n let [selectedKeys, setSelectedKeys] = (0, $3e6197669829fe11$export$40bfa8c7b0832715)(selectedKeysProp, defaultSelectedKeys, props.onSelectionChange);\n let disabledKeysProp = (0, $7w3VE$useMemo)(()=>props.disabledKeys ? new Set(props.disabledKeys) : new Set(), [\n props.disabledKeys\n ]);\n let [selectionBehavior, setSelectionBehavior] = (0, $7w3VE$useState)(selectionBehaviorProp);\n // If the selectionBehavior prop is set to replace, but the current state is toggle (e.g. due to long press\n // to enter selection mode on touch), and the selection becomes empty, reset the selection behavior.\n if (selectionBehaviorProp === 'replace' && selectionBehavior === 'toggle' && typeof selectedKeys === 'object' && selectedKeys.size === 0) setSelectionBehavior('replace');\n // If the selectionBehavior prop changes, update the state as well.\n let lastSelectionBehavior = (0, $7w3VE$useRef)(selectionBehaviorProp);\n (0, $7w3VE$useEffect)(()=>{\n if (selectionBehaviorProp !== lastSelectionBehavior.current) {\n setSelectionBehavior(selectionBehaviorProp);\n lastSelectionBehavior.current = selectionBehaviorProp;\n }\n }, [\n selectionBehaviorProp\n ]);\n return {\n selectionMode: selectionMode,\n disallowEmptySelection: disallowEmptySelection,\n selectionBehavior: selectionBehavior,\n setSelectionBehavior: setSelectionBehavior,\n get isFocused () {\n return isFocusedRef.current;\n },\n setFocused (f) {\n isFocusedRef.current = f;\n setFocused(f);\n },\n get focusedKey () {\n return focusedKeyRef.current;\n },\n get childFocusStrategy () {\n return childFocusStrategyRef.current;\n },\n setFocusedKey (k, childFocusStrategy = 'first') {\n focusedKeyRef.current = k;\n childFocusStrategyRef.current = childFocusStrategy;\n setFocusedKey(k);\n },\n selectedKeys: selectedKeys,\n setSelectedKeys (keys) {\n if (allowDuplicateSelectionEvents || !$60f19cefd567a3e4$var$equalSets(keys, selectedKeys)) setSelectedKeys(keys);\n },\n disabledKeys: disabledKeysProp,\n disabledBehavior: disabledBehavior\n };\n}\nfunction $60f19cefd567a3e4$var$convertSelection(selection, defaultValue) {\n if (!selection) return defaultValue;\n return selection === 'all' ? 'all' : new (0, $8b2540e09867b15e$export$52baac22726c72bf)(selection);\n}\n\n\nexport {$60f19cefd567a3e4$export$253fe78d46329472 as useMultipleSelectionState};\n//# sourceMappingURL=useMultipleSelectionState.mjs.map\n","import {useSingleSelectListState as $0fdb127d377ffd84$export$e7f05e985daf4b5f} from \"../list/useSingleSelectListState.mjs\";\nimport {useRef as $eOo4G$useRef, useEffect as $eOo4G$useEffect} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nfunction $caeb030f09a278a1$export$4ba071daf4e486(props) {\n let state = (0, $0fdb127d377ffd84$export$e7f05e985daf4b5f)({\n ...props,\n onSelectionChange: props.onSelectionChange ? (key)=>{\n if (key != null) props.onSelectionChange?.(key);\n } : undefined,\n suppressTextValueWarning: true,\n defaultSelectedKey: props.defaultSelectedKey ?? $caeb030f09a278a1$var$findDefaultSelectedKey(props.collection, props.disabledKeys ? new Set(props.disabledKeys) : new Set()) ?? undefined\n });\n let { selectionManager: selectionManager, collection: collection, selectedKey: currentSelectedKey } = state;\n let lastSelectedKey = (0, $eOo4G$useRef)(currentSelectedKey);\n (0, $eOo4G$useEffect)(()=>{\n // Ensure a tab is always selected (in case no selected key was specified or if selected item was deleted from collection)\n let selectedKey = currentSelectedKey;\n if (props.selectedKey == null && (selectionManager.isEmpty || selectedKey == null || !collection.getItem(selectedKey))) {\n selectedKey = $caeb030f09a278a1$var$findDefaultSelectedKey(collection, state.disabledKeys);\n if (selectedKey != null) // directly set selection because replace/toggle selection won't consider disabled keys\n selectionManager.setSelectedKeys([\n selectedKey\n ]);\n }\n // If the tablist doesn't have focus and the selected key changes or if there isn't a focused key yet, change focused key to the selected key if it exists.\n if (selectedKey != null && selectionManager.focusedKey == null || !selectionManager.isFocused && selectedKey !== lastSelectedKey.current) selectionManager.setFocusedKey(selectedKey);\n lastSelectedKey.current = selectedKey;\n });\n return {\n ...state,\n isDisabled: props.isDisabled || false\n };\n}\nfunction $caeb030f09a278a1$var$findDefaultSelectedKey(collection, disabledKeys) {\n let selectedKey = null;\n if (collection) {\n selectedKey = collection.getFirstKey();\n // loop over tabs until we find one that isn't disabled and select that\n while(selectedKey != null && (disabledKeys.has(selectedKey) || collection.getItem(selectedKey)?.props?.isDisabled) && selectedKey !== collection.getLastKey())selectedKey = collection.getKeyAfter(selectedKey);\n // if this check is true, then every item is disabled, it makes more sense to default to the first key than the last\n if (selectedKey != null && (disabledKeys.has(selectedKey) || collection.getItem(selectedKey)?.props?.isDisabled) && selectedKey === collection.getLastKey()) selectedKey = collection.getFirstKey();\n }\n return selectedKey;\n}\n\n\nexport {$caeb030f09a278a1$export$4ba071daf4e486 as useTabListState};\n//# sourceMappingURL=useTabListState.mjs.map\n","import {useListState as $b14b6f590b50af39$export$2f645645f7bca764} from \"./useListState.mjs\";\nimport {useControlledState as $3e6197669829fe11$export$40bfa8c7b0832715} from \"../utils/useControlledState.mjs\";\nimport {useMemo as $jhfZc$useMemo} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nfunction $0fdb127d377ffd84$export$e7f05e985daf4b5f(props) {\n let [selectedKey, setSelectedKey] = (0, $3e6197669829fe11$export$40bfa8c7b0832715)(props.selectedKey, props.defaultSelectedKey ?? null, props.onSelectionChange);\n let selectedKeys = (0, $jhfZc$useMemo)(()=>selectedKey != null ? [\n selectedKey\n ] : [], [\n selectedKey\n ]);\n let { collection: collection, disabledKeys: disabledKeys, selectionManager: selectionManager } = (0, $b14b6f590b50af39$export$2f645645f7bca764)({\n ...props,\n selectionMode: 'single',\n disallowEmptySelection: true,\n allowDuplicateSelectionEvents: true,\n selectedKeys: selectedKeys,\n onSelectionChange: (keys)=>{\n // impossible, but TS doesn't know that\n if (keys === 'all') return;\n let key = keys.values().next().value ?? null;\n // Always fire onSelectionChange, even if the key is the same\n // as the current key (useControlledState does not).\n if (key === selectedKey && props.onSelectionChange) props.onSelectionChange(key);\n setSelectedKey(key);\n }\n });\n let selectedItem = selectedKey != null ? collection.getItem(selectedKey) : null;\n return {\n collection: collection,\n disabledKeys: disabledKeys,\n selectionManager: selectionManager,\n selectedKey: selectedKey,\n setSelectedKey: setSelectedKey,\n selectedItem: selectedItem\n };\n}\n\n\nexport {$0fdb127d377ffd84$export$e7f05e985daf4b5f as useSingleSelectListState};\n//# sourceMappingURL=useSingleSelectListState.mjs.map\n","import {useMemo as $3oMuY$useMemo, useCallback as $3oMuY$useCallback} from \"react\";\nimport {useSyncExternalStore as $3oMuY$useSyncExternalStore} from \"use-sync-external-store/shim/index.js\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nfunction $ac6ee1e83ff78022$export$c7b26b20d3ced9c5(props = {}) {\n let { maxVisibleToasts: maxVisibleToasts = 1, wrapUpdate: wrapUpdate } = props;\n let queue = (0, $3oMuY$useMemo)(()=>new $ac6ee1e83ff78022$export$f1f8569633bbbec4({\n maxVisibleToasts: maxVisibleToasts,\n wrapUpdate: wrapUpdate\n }), [\n maxVisibleToasts,\n wrapUpdate\n ]);\n return $ac6ee1e83ff78022$export$84726ef35ca2129a(queue);\n}\nfunction $ac6ee1e83ff78022$export$84726ef35ca2129a(queue) {\n let subscribe = (0, $3oMuY$useCallback)((fn)=>queue.subscribe(fn), [\n queue\n ]);\n let getSnapshot = (0, $3oMuY$useCallback)(()=>queue.visibleToasts, [\n queue\n ]);\n let visibleToasts = (0, $3oMuY$useSyncExternalStore)(subscribe, getSnapshot, getSnapshot);\n return {\n visibleToasts: visibleToasts,\n add: (content, options)=>queue.add(content, options),\n close: (key)=>queue.close(key),\n pauseAll: ()=>queue.pauseAll(),\n resumeAll: ()=>queue.resumeAll()\n };\n}\nclass $ac6ee1e83ff78022$export$f1f8569633bbbec4 {\n constructor(options){\n this.queue = [];\n this.subscriptions = new Set();\n /** The currently visible toasts. */ this.visibleToasts = [];\n this.maxVisibleToasts = options?.maxVisibleToasts ?? Infinity;\n this.wrapUpdate = options?.wrapUpdate;\n }\n runWithWrapUpdate(fn, action) {\n if (this.wrapUpdate) this.wrapUpdate(fn, action);\n else fn();\n }\n /** Subscribes to updates to the visible toasts. */ subscribe(fn) {\n this.subscriptions.add(fn);\n return ()=>this.subscriptions.delete(fn);\n }\n /** Adds a new toast to the queue. */ add(content, options = {}) {\n let toastKey = '_' + Math.random().toString(36).slice(2);\n let toast = {\n ...options,\n content: content,\n key: toastKey,\n timer: options.timeout ? new $ac6ee1e83ff78022$var$Timer(()=>this.close(toastKey), options.timeout) : undefined\n };\n this.queue.unshift(toast);\n this.updateVisibleToasts('add');\n return toastKey;\n }\n /**\n * Closes a toast.\n */ close(key) {\n let index = this.queue.findIndex((t)=>t.key === key);\n if (index >= 0) {\n this.queue[index].onClose?.();\n this.queue.splice(index, 1);\n }\n this.updateVisibleToasts('remove');\n }\n updateVisibleToasts(action) {\n this.visibleToasts = this.queue.slice(0, this.maxVisibleToasts);\n this.runWithWrapUpdate(()=>{\n for (let fn of this.subscriptions)fn();\n }, action);\n }\n /** Pauses the timers for all visible toasts. */ pauseAll() {\n for (let toast of this.visibleToasts)if (toast.timer) toast.timer.pause();\n }\n /** Resumes the timers for all visible toasts. */ resumeAll() {\n for (let toast of this.visibleToasts)if (toast.timer) toast.timer.resume();\n }\n clear() {\n this.queue = [];\n this.updateVisibleToasts('clear');\n }\n}\nclass $ac6ee1e83ff78022$var$Timer {\n constructor(callback, delay){\n this.startTime = null;\n this.remaining = delay;\n this.callback = callback;\n }\n reset(delay) {\n this.remaining = delay;\n this.resume();\n }\n pause() {\n if (this.timerId == null) return;\n clearTimeout(this.timerId);\n this.timerId = null;\n this.remaining -= Date.now() - this.startTime;\n }\n resume() {\n if (this.remaining <= 0) return;\n this.startTime = Date.now();\n this.timerId = setTimeout(()=>{\n this.timerId = null;\n this.remaining = 0;\n this.callback();\n }, this.remaining);\n }\n}\n\n\nexport {$ac6ee1e83ff78022$export$c7b26b20d3ced9c5 as useToastState, $ac6ee1e83ff78022$export$f1f8569633bbbec4 as ToastQueue, $ac6ee1e83ff78022$export$84726ef35ca2129a as useToastQueue};\n//# sourceMappingURL=useToastState.mjs.map\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ class $df1fcc684d3b021a$export$863faf230ee2118a {\n constructor(nodes, { expandedKeys: expandedKeys } = {}){\n this.keyMap = new Map();\n this.firstKey = null;\n this.lastKey = null;\n this.iterable = nodes;\n expandedKeys = expandedKeys || new Set();\n let visit = (node)=>{\n this.keyMap.set(node.key, node);\n if (node.childNodes && (node.type === 'section' || expandedKeys.has(node.key))) for (let child of node.childNodes)visit(child);\n };\n for (let node of nodes)visit(node);\n let last = null;\n let index = 0;\n for (let [key, node] of this.keyMap){\n if (last) {\n last.nextKey = key;\n node.prevKey = last.key;\n } else {\n this.firstKey = key;\n node.prevKey = undefined;\n }\n if (node.type === 'item') node.index = index++;\n last = node;\n // Set nextKey as undefined since this might be the last node\n // If it isn't the last node, last.nextKey will properly set at start of new loop\n last.nextKey = undefined;\n }\n this.lastKey = last?.key ?? null;\n }\n *[Symbol.iterator]() {\n yield* this.iterable;\n }\n get size() {\n return this.keyMap.size;\n }\n getKeys() {\n return this.keyMap.keys();\n }\n getKeyBefore(key) {\n let node = this.keyMap.get(key);\n return node ? node.prevKey ?? null : null;\n }\n getKeyAfter(key) {\n let node = this.keyMap.get(key);\n return node ? node.nextKey ?? null : null;\n }\n getFirstKey() {\n return this.firstKey;\n }\n getLastKey() {\n return this.lastKey;\n }\n getItem(key) {\n return this.keyMap.get(key) ?? null;\n }\n at(idx) {\n const keys = [\n ...this.getKeys()\n ];\n return this.getItem(keys[idx]);\n }\n}\n\n\nexport {$df1fcc684d3b021a$export$863faf230ee2118a as TreeCollection};\n//# sourceMappingURL=TreeCollection.mjs.map\n","import {SelectionManager as $4a07ac835f260f78$export$6c8a5aaad13c9852} from \"../selection/SelectionManager.mjs\";\nimport {TreeCollection as $df1fcc684d3b021a$export$863faf230ee2118a} from \"./TreeCollection.mjs\";\nimport {useCollection as $d03379b88399b8c5$export$6cd28814d92fa9c9} from \"../collections/useCollection.mjs\";\nimport {useControlledState as $3e6197669829fe11$export$40bfa8c7b0832715} from \"../utils/useControlledState.mjs\";\nimport {useMultipleSelectionState as $60f19cefd567a3e4$export$253fe78d46329472} from \"../selection/useMultipleSelectionState.mjs\";\nimport {useMemo as $aXIpm$useMemo, useCallback as $aXIpm$useCallback, useEffect as $aXIpm$useEffect} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\n\nfunction $6b915bde6cd300dd$export$728d6ba534403756(props) {\n let { onExpandedChange: onExpandedChange } = props;\n let [expandedKeys, setExpandedKeys] = (0, $3e6197669829fe11$export$40bfa8c7b0832715)(props.expandedKeys ? new Set(props.expandedKeys) : undefined, props.defaultExpandedKeys ? new Set(props.defaultExpandedKeys) : new Set(), onExpandedChange);\n let selectionState = (0, $60f19cefd567a3e4$export$253fe78d46329472)(props);\n let disabledKeys = (0, $aXIpm$useMemo)(()=>props.disabledKeys ? new Set(props.disabledKeys) : new Set(), [\n props.disabledKeys\n ]);\n let tree = (0, $d03379b88399b8c5$export$6cd28814d92fa9c9)(props, (0, $aXIpm$useCallback)((nodes)=>new (0, $df1fcc684d3b021a$export$863faf230ee2118a)(nodes, {\n expandedKeys: expandedKeys\n }), [\n expandedKeys\n ]), null);\n // Reset focused key if that item is deleted from the collection.\n (0, $aXIpm$useEffect)(()=>{\n if (selectionState.focusedKey != null && !tree.getItem(selectionState.focusedKey)) selectionState.setFocusedKey(null);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n tree,\n selectionState.focusedKey\n ]);\n let onToggle = (key)=>{\n setExpandedKeys($6b915bde6cd300dd$var$toggleKey(expandedKeys, key));\n };\n return {\n collection: tree,\n expandedKeys: expandedKeys,\n disabledKeys: disabledKeys,\n toggleKey: onToggle,\n setExpandedKeys: setExpandedKeys,\n selectionManager: new (0, $4a07ac835f260f78$export$6c8a5aaad13c9852)(tree, selectionState)\n };\n}\nfunction $6b915bde6cd300dd$var$toggleKey(set, key) {\n let res = new Set(set);\n if (res.has(key)) res.delete(key);\n else res.add(key);\n return res;\n}\n\n\nexport {$6b915bde6cd300dd$export$728d6ba534403756 as useTreeState};\n//# sourceMappingURL=useTreeState.mjs.map\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ /**\n * Takes a value and forces it to the closest min/max if it's outside. Also forces it to the closest valid step.\n */ function $240e9101ba2842f5$export$7d15b64cf5a3a4c4(value, min = -Infinity, max = Infinity) {\n let newValue = Math.min(Math.max(value, min), max);\n return newValue;\n}\nfunction $240e9101ba2842f5$export$e1a7b8e69ef6c52f(value, step) {\n let roundedValue = value;\n let precision = 0;\n let stepString = step.toString();\n // Handle negative exponents in exponential notation (e.g., \"1e-7\" → precision 8)\n let eIndex = stepString.toLowerCase().indexOf('e-');\n if (eIndex > 0) precision = Math.abs(Math.floor(Math.log10(Math.abs(step)))) + eIndex;\n else {\n let pointIndex = stepString.indexOf('.');\n if (pointIndex >= 0) precision = stepString.length - pointIndex;\n }\n if (precision > 0) {\n let pow = Math.pow(10, precision);\n roundedValue = Math.round(roundedValue * pow) / pow;\n }\n return roundedValue;\n}\nfunction $240e9101ba2842f5$export$cb6e0bb50bc19463(value, min, max, step) {\n min = Number(min);\n max = Number(max);\n let remainder = (value - (isNaN(min) ? 0 : min)) % step;\n let snappedValue = $240e9101ba2842f5$export$e1a7b8e69ef6c52f(Math.abs(remainder) * 2 >= step ? value + Math.sign(remainder) * (step - Math.abs(remainder)) : value - remainder, step);\n if (!isNaN(min)) {\n if (snappedValue < min) snappedValue = min;\n else if (!isNaN(max) && snappedValue > max) snappedValue = min + Math.floor($240e9101ba2842f5$export$e1a7b8e69ef6c52f((max - min) / step, step)) * step;\n } else if (!isNaN(max) && snappedValue > max) snappedValue = Math.floor($240e9101ba2842f5$export$e1a7b8e69ef6c52f(max / step, step)) * step;\n // correct floating point behavior by rounding to step precision\n snappedValue = $240e9101ba2842f5$export$e1a7b8e69ef6c52f(snappedValue, step);\n return snappedValue;\n}\nfunction $240e9101ba2842f5$export$b6268554fba451f(value, digits, base = 10) {\n const pow = Math.pow(base, digits);\n return Math.round(value * pow) / pow;\n}\n\n\nexport {$240e9101ba2842f5$export$7d15b64cf5a3a4c4 as clamp, $240e9101ba2842f5$export$e1a7b8e69ef6c52f as roundToStepPrecision, $240e9101ba2842f5$export$cb6e0bb50bc19463 as snapValueToStep, $240e9101ba2842f5$export$b6268554fba451f as toFixedNumber};\n//# sourceMappingURL=number.mjs.map\n","import $1CcWn$react, {useState as $1CcWn$useState, useRef as $1CcWn$useRef, useEffect as $1CcWn$useEffect, useReducer as $1CcWn$useReducer, useCallback as $1CcWn$useCallback} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n// Use the earliest effect possible to reset the ref below.\nconst $3e6197669829fe11$var$useEarlyEffect = typeof document !== 'undefined' ? (0, $1CcWn$react)['useInsertionEffect'] ?? (0, $1CcWn$react).useLayoutEffect : ()=>{};\nfunction $3e6197669829fe11$export$40bfa8c7b0832715(value, defaultValue, onChange) {\n // Store the value in both state and a ref. The state value will only be used when uncontrolled.\n // The ref is used to track the most current value, which is passed to the function setState callback.\n let [stateValue, setStateValue] = (0, $1CcWn$useState)(value || defaultValue);\n let valueRef = (0, $1CcWn$useRef)(stateValue);\n let isControlledRef = (0, $1CcWn$useRef)(value !== undefined);\n let isControlled = value !== undefined;\n (0, $1CcWn$useEffect)(()=>{\n let wasControlled = isControlledRef.current;\n if (wasControlled !== isControlled && process.env.NODE_ENV !== 'production') console.warn(`WARN: A component changed from ${wasControlled ? 'controlled' : 'uncontrolled'} to ${isControlled ? 'controlled' : 'uncontrolled'}.`);\n isControlledRef.current = isControlled;\n }, [\n isControlled\n ]);\n // After each render, update the ref to the current value.\n // This ensures that the setState callback argument is reset.\n // Note: the effect should not have any dependencies so that controlled values always reset.\n let currentValue = isControlled ? value : stateValue;\n $3e6197669829fe11$var$useEarlyEffect(()=>{\n valueRef.current = currentValue;\n });\n let [, forceUpdate] = (0, $1CcWn$useReducer)(()=>({}), {});\n let setValue = (0, $1CcWn$useCallback)((value, ...args)=>{\n // @ts-ignore - TS doesn't know that T cannot be a function.\n let newValue = typeof value === 'function' ? value(valueRef.current) : value;\n if (!Object.is(valueRef.current, newValue)) {\n // Update the ref so that the next setState callback has the most recent value.\n valueRef.current = newValue;\n setStateValue(newValue);\n // Always trigger a re-render, even when controlled, so that the layout effect above runs to reset the value.\n forceUpdate();\n // Trigger onChange. Note that if setState is called multiple times in a single event,\n // onChange will be called for each one instead of only once.\n onChange?.(newValue, ...args);\n }\n }, [\n onChange\n ]);\n return [\n currentValue,\n setValue\n ];\n}\n\n\nexport {$3e6197669829fe11$export$40bfa8c7b0832715 as useControlledState};\n//# sourceMappingURL=useControlledState.mjs.map\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ class $eb6255cbf080eb7d$export$7e0eeb9da702a085 {\n /**\n * @param type The type of element represented by this LayoutInfo. Should match the `type` of the corresponding collection node.\n * @param key A unique key for this LayoutInfo. Should match the `key` of the corresponding collection node.\n * @param rect The rectangle describing the size and position of this element.\n */ constructor(type, key, rect){\n this.type = type;\n this.key = key;\n this.parentKey = null;\n this.content = null;\n this.rect = rect;\n this.estimatedSize = false;\n this.isSticky = false;\n this.opacity = 1;\n this.transform = null;\n this.zIndex = 0;\n this.allowOverflow = false;\n }\n /**\n * Returns a copy of the LayoutInfo.\n */ copy() {\n let res = new $eb6255cbf080eb7d$export$7e0eeb9da702a085(this.type, this.key, this.rect.copy());\n res.estimatedSize = this.estimatedSize;\n res.opacity = this.opacity;\n res.transform = this.transform;\n res.parentKey = this.parentKey;\n res.content = this.content;\n res.isSticky = this.isSticky;\n res.zIndex = this.zIndex;\n res.allowOverflow = this.allowOverflow;\n return res;\n }\n}\n\n\nexport {$eb6255cbf080eb7d$export$7e0eeb9da702a085 as LayoutInfo};\n//# sourceMappingURL=LayoutInfo.mjs.map\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ class $b88f793813fc795e$export$baf26146a414f24a {\n constructor(x = 0, y = 0){\n this.x = x;\n this.y = y;\n }\n /**\n * Returns a copy of this point.\n */ copy() {\n return new $b88f793813fc795e$export$baf26146a414f24a(this.x, this.y);\n }\n /**\n * Checks if two points are equal.\n */ equals(point) {\n return this.x === point.x && this.y === point.y;\n }\n /**\n * Returns true if this point is the origin.\n */ isOrigin() {\n return this.x === 0 && this.y === 0;\n }\n}\n\n\nexport {$b88f793813fc795e$export$baf26146a414f24a as Point};\n//# sourceMappingURL=Point.mjs.map\n","import {Point as $b88f793813fc795e$export$baf26146a414f24a} from \"./Point.mjs\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nclass $af827553fd3cf456$export$c79fc6492f3af13d {\n constructor(x = 0, y = 0, width = 0, height = 0){\n this.x = x;\n this.y = y;\n this.width = width;\n this.height = height;\n }\n /**\n * The maximum x-coordinate in the rectangle.\n */ get maxX() {\n return this.x + this.width;\n }\n /**\n * The maximum y-coordinate in the rectangle.\n */ get maxY() {\n return this.y + this.height;\n }\n /**\n * The area of the rectangle.\n */ get area() {\n return this.width * this.height;\n }\n /**\n * The top left corner of the rectangle.\n */ get topLeft() {\n return new (0, $b88f793813fc795e$export$baf26146a414f24a)(this.x, this.y);\n }\n /**\n * The top right corner of the rectangle.\n */ get topRight() {\n return new (0, $b88f793813fc795e$export$baf26146a414f24a)(this.maxX, this.y);\n }\n /**\n * The bottom left corner of the rectangle.\n */ get bottomLeft() {\n return new (0, $b88f793813fc795e$export$baf26146a414f24a)(this.x, this.maxY);\n }\n /**\n * The bottom right corner of the rectangle.\n */ get bottomRight() {\n return new (0, $b88f793813fc795e$export$baf26146a414f24a)(this.maxX, this.maxY);\n }\n /**\n * Returns whether this rectangle intersects another rectangle.\n * @param rect - The rectangle to check.\n */ intersects(rect) {\n let isTestEnv = process.env.NODE_ENV === 'test' && !process.env.VIRT_ON;\n return (isTestEnv || this.area > 0 && rect.area > 0) && this.x <= rect.x + rect.width && rect.x <= this.x + this.width && this.y <= rect.y + rect.height && rect.y <= this.y + this.height;\n }\n /**\n * Returns whether this rectangle fully contains another rectangle.\n * @param rect - The rectangle to check.\n */ containsRect(rect) {\n return this.x <= rect.x && this.y <= rect.y && this.maxX >= rect.maxX && this.maxY >= rect.maxY;\n }\n /**\n * Returns whether the rectangle contains the given point.\n * @param point - The point to check.\n */ containsPoint(point) {\n return this.x <= point.x && this.y <= point.y && this.maxX >= point.x && this.maxY >= point.y;\n }\n /**\n * Returns the first corner of this rectangle (from top to bottom, left to right)\n * that is contained in the given rectangle, or null of the rectangles do not intersect.\n * @param rect - The rectangle to check.\n */ getCornerInRect(rect) {\n for (let key of [\n 'topLeft',\n 'topRight',\n 'bottomLeft',\n 'bottomRight'\n ]){\n if (rect.containsPoint(this[key])) return key;\n }\n return null;\n }\n equals(rect) {\n return rect.x === this.x && rect.y === this.y && rect.width === this.width && rect.height === this.height;\n }\n pointEquals(point) {\n return this.x === point.x && this.y === point.y;\n }\n sizeEquals(size) {\n return this.width === size.width && this.height === size.height;\n }\n /**\n * Returns the union of this Rect and another.\n */ union(other) {\n let x = Math.min(this.x, other.x);\n let y = Math.min(this.y, other.y);\n let width = Math.max(this.maxX, other.maxX) - x;\n let height = Math.max(this.maxY, other.maxY) - y;\n return new $af827553fd3cf456$export$c79fc6492f3af13d(x, y, width, height);\n }\n /**\n * Returns the intersection of this Rect with another.\n * If the rectangles do not intersect, an all zero Rect is returned.\n */ intersection(other) {\n if (!this.intersects(other)) return new $af827553fd3cf456$export$c79fc6492f3af13d(0, 0, 0, 0);\n let x = Math.max(this.x, other.x);\n let y = Math.max(this.y, other.y);\n return new $af827553fd3cf456$export$c79fc6492f3af13d(x, y, Math.min(this.maxX, other.maxX) - x, Math.min(this.maxY, other.maxY) - y);\n }\n /**\n * Returns a copy of this rectangle.\n */ copy() {\n return new $af827553fd3cf456$export$c79fc6492f3af13d(this.x, this.y, this.width, this.height);\n }\n}\n\n\nexport {$af827553fd3cf456$export$c79fc6492f3af13d as Rect};\n//# sourceMappingURL=Rect.mjs.map\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ class $cc8e610d5d6e3fe4$export$cb6da89c6af1a8ec {\n constructor(width = 0, height = 0){\n this.width = Math.max(width, 0);\n this.height = Math.max(height, 0);\n }\n /**\n * Returns a copy of this size.\n */ copy() {\n return new $cc8e610d5d6e3fe4$export$cb6da89c6af1a8ec(this.width, this.height);\n }\n /**\n * Returns whether this size is equal to another one.\n */ equals(other) {\n return this.width === other.width && this.height === other.height;\n }\n /**\n * The total area of the Size.\n */ get area() {\n return this.width * this.height;\n }\n}\n\n\nexport {$cc8e610d5d6e3fe4$export$cb6da89c6af1a8ec as Size};\n//# sourceMappingURL=Size.mjs.map\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ let $6bbafa22c92cc056$var$KEY = 0;\nclass $6bbafa22c92cc056$export$1a5223887c560441 {\n constructor(virtualizer, viewType){\n this.virtualizer = virtualizer;\n this.key = ++$6bbafa22c92cc056$var$KEY;\n this.viewType = viewType;\n this.children = new Set();\n this.reusableViews = new Map();\n this.layoutInfo = null;\n this.content = null;\n this.rendered = null;\n }\n /**\n * Prepares the view for reuse. Called just before the view is removed from the DOM.\n */ prepareForReuse() {\n this.content = null;\n this.rendered = null;\n this.layoutInfo = null;\n }\n getReusableView(reuseType) {\n // Reusable view queue should be FIFO so that DOM order remains consistent during scrolling.\n // For example, cells within a row should remain in the same order even if the row changes contents.\n // The cells within a row are removed from their parent in order. If the row is reused, the cells\n // should be reused in the new row in the same order they were before.\n let reusable = this.reusableViews.get(reuseType);\n let view = reusable && reusable.length > 0 ? reusable.shift() : new $6bbafa22c92cc056$export$7a41b6f219e61634(this.virtualizer, this, reuseType);\n return view;\n }\n reuseChild(child) {\n child.prepareForReuse();\n let reusable = this.reusableViews.get(child.viewType);\n if (!reusable) {\n reusable = [];\n this.reusableViews.set(child.viewType, reusable);\n }\n reusable.push(child);\n }\n}\nclass $6bbafa22c92cc056$export$e21886a4eef6b29a extends $6bbafa22c92cc056$export$1a5223887c560441 {\n constructor(virtualizer){\n super(virtualizer, 'root');\n }\n}\nclass $6bbafa22c92cc056$export$7a41b6f219e61634 extends $6bbafa22c92cc056$export$1a5223887c560441 {\n constructor(virtualizer, parent, viewType){\n super(virtualizer, viewType);\n this.parent = parent;\n }\n}\n\n\nexport {$6bbafa22c92cc056$export$1a5223887c560441 as ReusableView, $6bbafa22c92cc056$export$7a41b6f219e61634 as ChildView, $6bbafa22c92cc056$export$e21886a4eef6b29a as RootView};\n//# sourceMappingURL=ReusableView.mjs.map\n","import {Point as $b88f793813fc795e$export$baf26146a414f24a} from \"./Point.mjs\";\nimport {Rect as $af827553fd3cf456$export$c79fc6492f3af13d} from \"./Rect.mjs\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nclass $f64c7bdbe8bdc6dc$export$4455ee6afb38dcbb {\n setVisibleRect(rect) {\n let time = performance.now() - this.startTime;\n if (time < 500) {\n if (rect.x !== this.visibleRect.x && time > 0) this.velocity.x = (rect.x - this.visibleRect.x) / time;\n if (rect.y !== this.visibleRect.y && time > 0) this.velocity.y = (rect.y - this.visibleRect.y) / time;\n }\n this.startTime = performance.now();\n this.visibleRect = rect;\n }\n getOverscannedRect() {\n let overscanned = this.visibleRect.copy();\n let overscanY = this.visibleRect.height / 3;\n overscanned.height += overscanY;\n if (this.velocity.y < 0) overscanned.y -= overscanY;\n let overscanX = this.visibleRect.width / 3;\n overscanned.width += overscanX;\n if (this.velocity.x < 0) overscanned.x -= overscanX;\n return overscanned;\n }\n constructor(){\n this.startTime = 0;\n this.velocity = new (0, $b88f793813fc795e$export$baf26146a414f24a)(0, 0);\n this.visibleRect = new (0, $af827553fd3cf456$export$c79fc6492f3af13d)();\n }\n}\n\n\nexport {$f64c7bdbe8bdc6dc$export$4455ee6afb38dcbb as OverscanManager};\n//# sourceMappingURL=OverscanManager.mjs.map\n","import {RootView as $6bbafa22c92cc056$export$e21886a4eef6b29a} from \"./ReusableView.mjs\";\nimport {isSetEqual as $5225cf049274675d$export$a8d0d0c8d1c5df64} from \"./utils.mjs\";\nimport {OverscanManager as $f64c7bdbe8bdc6dc$export$4455ee6afb38dcbb} from \"./OverscanManager.mjs\";\nimport {Rect as $af827553fd3cf456$export$c79fc6492f3af13d} from \"./Rect.mjs\";\nimport {Size as $cc8e610d5d6e3fe4$export$cb6da89c6af1a8ec} from \"./Size.mjs\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\nclass $4537523c0f2a47dc$export$89be5a243e59c4b2 {\n constructor(options){\n this.delegate = options.delegate;\n this.collection = options.collection;\n this.layout = options.layout;\n this.contentSize = new (0, $cc8e610d5d6e3fe4$export$cb6da89c6af1a8ec);\n this.visibleRect = new (0, $af827553fd3cf456$export$c79fc6492f3af13d);\n this.size = new (0, $cc8e610d5d6e3fe4$export$cb6da89c6af1a8ec);\n this.persistedKeys = new Set();\n this._visibleViews = new Map();\n this._renderedContent = new WeakMap();\n this._rootView = new (0, $6bbafa22c92cc056$export$e21886a4eef6b29a)(this);\n this._isScrolling = false;\n this._invalidationContext = {};\n this._overscanManager = new (0, $f64c7bdbe8bdc6dc$export$4455ee6afb38dcbb)();\n }\n /** Returns whether the given key, or an ancestor, is persisted. */ isPersistedKey(key) {\n // Quick check if the key is directly in the set of persisted keys.\n if (this.persistedKeys.has(key)) return true;\n // If not, check if the key is an ancestor of any of the persisted keys.\n for (let k of this.persistedKeys)while(k != null){\n let layoutInfo = this.layout.getLayoutInfo(k);\n if (!layoutInfo || layoutInfo.parentKey == null) break;\n k = layoutInfo.parentKey;\n if (k === key) return true;\n }\n return false;\n }\n getParentView(layoutInfo) {\n return layoutInfo.parentKey != null ? this._visibleViews.get(layoutInfo.parentKey) : this._rootView;\n }\n getReusableView(layoutInfo) {\n let parentView = this.getParentView(layoutInfo);\n let view = parentView.getReusableView(layoutInfo.type);\n view.layoutInfo = layoutInfo;\n this._renderView(view);\n return view;\n }\n _renderView(reusableView) {\n if (reusableView.layoutInfo) {\n let { type: type, key: key, content: content } = reusableView.layoutInfo;\n reusableView.content = content || this.collection.getItem(key);\n reusableView.rendered = this._renderContent(type, reusableView.content);\n }\n }\n _renderContent(type, content) {\n let cached = content != null ? this._renderedContent.get(content) : null;\n if (cached != null) return cached;\n let rendered = this.delegate.renderView(type, content);\n if (content) this._renderedContent.set(content, rendered);\n return rendered;\n }\n /**\n * Returns the key for the item view currently at the given point.\n */ keyAtPoint(point) {\n let rect = new (0, $af827553fd3cf456$export$c79fc6492f3af13d)(point.x, point.y, 1, 1);\n let layoutInfos = rect.area === 0 ? [] : this.layout.getVisibleLayoutInfos(rect);\n // Layout may return multiple layout infos in the case of\n // persisted keys, so find the first one that actually intersects.\n for (let layoutInfo of layoutInfos){\n if (layoutInfo.rect.intersects(rect)) return layoutInfo.key;\n }\n return null;\n }\n relayout(context = {}) {\n // Update the layout\n this.layout.update(context);\n this.contentSize = this.layout.getContentSize();\n // Constrain scroll position.\n // If the content changed, scroll to the top.\n let visibleRect = this.visibleRect;\n let contentOffsetX = context.contentChanged ? 0 : visibleRect.x;\n let contentOffsetY = context.contentChanged ? 0 : visibleRect.y;\n contentOffsetX = Math.max(0, Math.min(this.contentSize.width - visibleRect.width, contentOffsetX));\n contentOffsetY = Math.max(0, Math.min(this.contentSize.height - visibleRect.height, contentOffsetY));\n if (contentOffsetX !== visibleRect.x || contentOffsetY !== visibleRect.y) {\n // If the offset changed, trigger a new re-render.\n let rect = new (0, $af827553fd3cf456$export$c79fc6492f3af13d)(contentOffsetX, contentOffsetY, visibleRect.width, visibleRect.height);\n this.delegate.setVisibleRect(rect);\n } else this.updateSubviews();\n }\n getVisibleLayoutInfos() {\n let isTestEnv = process.env.NODE_ENV === 'test' && !process.env.VIRT_ON;\n let isClientWidthMocked = isTestEnv && typeof HTMLElement !== 'undefined' && Object.getOwnPropertyNames(HTMLElement.prototype).includes('clientWidth');\n let isClientHeightMocked = isTestEnv && typeof HTMLElement !== 'undefined' && Object.getOwnPropertyNames(HTMLElement.prototype).includes('clientHeight');\n let rect;\n if (isTestEnv && !(isClientWidthMocked && isClientHeightMocked)) rect = new (0, $af827553fd3cf456$export$c79fc6492f3af13d)(0, 0, this.contentSize.width, this.contentSize.height);\n else rect = this._overscanManager.getOverscannedRect();\n let layoutInfos = this.layout.getVisibleLayoutInfos(rect);\n let map = new Map;\n for (let layoutInfo of layoutInfos)map.set(layoutInfo.key, layoutInfo);\n return map;\n }\n updateSubviews() {\n let visibleLayoutInfos = this.getVisibleLayoutInfos();\n let removed = new Set();\n for (let [key, view] of this._visibleViews){\n let layoutInfo = visibleLayoutInfos.get(key);\n // If a view's parent changed, treat it as a delete and re-create in the new parent.\n if (!layoutInfo || view.parent !== this.getParentView(layoutInfo)) {\n this._visibleViews.delete(key);\n view.parent.reuseChild(view);\n removed.add(view); // Defer removing in case we reuse this view.\n }\n }\n for (let [key, layoutInfo] of visibleLayoutInfos){\n let view = this._visibleViews.get(key);\n if (!view) {\n view = this.getReusableView(layoutInfo);\n view.parent.children.add(view);\n this._visibleViews.set(key, view);\n removed.delete(view);\n } else {\n view.layoutInfo = layoutInfo;\n let item = this.collection.getItem(layoutInfo.key);\n if (view.content !== item) {\n if (view.content != null) this._renderedContent.delete(view.content);\n this._renderView(view);\n }\n }\n }\n // The remaining views in `removed` were not reused to render new items.\n // They should be removed from the DOM. We also clear the reusable view queue\n // here since there's no point holding onto views that have been removed.\n // Doing so hurts performance in the future when reusing elements due to FIFO order.\n for (let view of removed){\n view.parent.children.delete(view);\n view.parent.reusableViews.clear();\n }\n // Reordering DOM nodes is costly, so we defer this until scrolling stops.\n // DOM order does not affect visual order (due to absolute positioning),\n // but does matter for assistive technology users.\n if (!this._isScrolling) // Layout infos must be in topological order (parents before children).\n for (let key of visibleLayoutInfos.keys()){\n let view = this._visibleViews.get(key);\n view.parent.children.delete(view);\n view.parent.children.add(view);\n }\n }\n /** Performs layout and updates visible views as needed. */ render(opts) {\n let mutableThis = this;\n let needsLayout = false;\n let offsetChanged = false;\n let sizeChanged = false;\n let itemSizeChanged = false;\n let layoutOptionsChanged = false;\n let needsUpdate = false;\n if (opts.collection !== this.collection) {\n mutableThis.collection = opts.collection;\n needsLayout = true;\n }\n if (opts.layout !== this.layout || this.layout.virtualizer !== this) {\n if (this.layout) this.layout.virtualizer = null;\n opts.layout.virtualizer = this;\n mutableThis.layout = opts.layout;\n needsLayout = true;\n }\n if (opts.persistedKeys && !(0, $5225cf049274675d$export$a8d0d0c8d1c5df64)(opts.persistedKeys, this.persistedKeys)) {\n mutableThis.persistedKeys = opts.persistedKeys;\n needsUpdate = true;\n }\n if (!this.visibleRect.equals(opts.visibleRect) || !this.size.equals(opts.size)) {\n this._overscanManager.setVisibleRect(opts.visibleRect);\n // Create a rectangle using the scroll position and layout size of the scroll view. This is not the same\n // as the visibleRect, whose width and height may change during window scrolling.\n let oldRect = new (0, $af827553fd3cf456$export$c79fc6492f3af13d)(this.visibleRect.x, this.visibleRect.y, this.size.width, this.size.height);\n let newRect = new (0, $af827553fd3cf456$export$c79fc6492f3af13d)(opts.visibleRect.x, opts.visibleRect.y, opts.size.width, opts.size.height);\n let shouldInvalidate = this.layout.shouldInvalidate(newRect, oldRect);\n if (shouldInvalidate) {\n offsetChanged = !opts.visibleRect.pointEquals(this.visibleRect);\n sizeChanged = !this.size.equals(opts.size);\n needsLayout = true;\n } else needsUpdate = true;\n mutableThis.visibleRect = opts.visibleRect;\n mutableThis.size = opts.size;\n }\n if (opts.invalidationContext !== this._invalidationContext) {\n if (opts.invalidationContext) {\n sizeChanged ||= opts.invalidationContext.sizeChanged || false;\n offsetChanged ||= opts.invalidationContext.offsetChanged || false;\n itemSizeChanged ||= opts.invalidationContext.itemSizeChanged || false;\n layoutOptionsChanged ||= opts.invalidationContext.layoutOptions != null && this._invalidationContext.layoutOptions != null && opts.invalidationContext.layoutOptions !== this._invalidationContext.layoutOptions && this.layout.shouldInvalidateLayoutOptions(opts.invalidationContext.layoutOptions, this._invalidationContext.layoutOptions);\n needsLayout ||= itemSizeChanged || sizeChanged || offsetChanged || layoutOptionsChanged;\n }\n this._invalidationContext = opts.invalidationContext;\n }\n if (opts.isScrolling !== this._isScrolling) {\n this._isScrolling = opts.isScrolling;\n if (!opts.isScrolling) // Update to fix the DOM order after scrolling.\n needsUpdate = true;\n }\n if (needsLayout) this.relayout({\n offsetChanged: offsetChanged,\n sizeChanged: sizeChanged,\n itemSizeChanged: itemSizeChanged,\n layoutOptionsChanged: layoutOptionsChanged,\n layoutOptions: this._invalidationContext.layoutOptions\n });\n else if (needsUpdate) this.updateSubviews();\n return Array.from(this._rootView.children);\n }\n getVisibleView(key) {\n return this._visibleViews.get(key);\n }\n invalidate(context) {\n this.delegate.invalidate(context);\n }\n updateItemSize(key, size) {\n if (!this.layout.updateItemSize) return;\n let changed = this.layout.updateItemSize(key, size);\n if (changed) this.invalidate({\n itemSizeChanged: true\n });\n }\n}\n\n\nexport {$4537523c0f2a47dc$export$89be5a243e59c4b2 as Virtualizer};\n//# sourceMappingURL=Virtualizer.mjs.map\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ /** Returns whether two sets are equal. */ function $5225cf049274675d$export$a8d0d0c8d1c5df64(a, b) {\n if (a === b) return true;\n if (a.size !== b.size) return false;\n for (let key of a){\n if (!b.has(key)) return false;\n }\n return true;\n}\n\n\nexport {$5225cf049274675d$export$a8d0d0c8d1c5df64 as isSetEqual};\n//# sourceMappingURL=utils.mjs.map\n","import {Rect as $af827553fd3cf456$export$c79fc6492f3af13d} from \"./Rect.mjs\";\nimport {Size as $cc8e610d5d6e3fe4$export$cb6da89c6af1a8ec} from \"./Size.mjs\";\nimport {Virtualizer as $4537523c0f2a47dc$export$89be5a243e59c4b2} from \"./Virtualizer.mjs\";\nimport $hZxmE$react, {useState as $hZxmE$useState, useRef as $hZxmE$useRef, useMemo as $hZxmE$useMemo, useCallback as $hZxmE$useCallback} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\nconst $51e619e0f141c3ec$export$e5c5a5f917a5871c = typeof document !== 'undefined' ? (0, $hZxmE$react).useLayoutEffect : ()=>{};\nfunction $51e619e0f141c3ec$export$1505db82fe357e65(opts) {\n let [visibleRect, setVisibleRect] = (0, $hZxmE$useState)(new (0, $af827553fd3cf456$export$c79fc6492f3af13d)(0, 0, 0, 0));\n let [size, setSize] = (0, $hZxmE$useState)(new (0, $cc8e610d5d6e3fe4$export$cb6da89c6af1a8ec)());\n let [isScrolling, setScrolling] = (0, $hZxmE$useState)(false);\n let [invalidationContext, setInvalidationContext] = (0, $hZxmE$useState)({});\n let visibleRectChanged = (0, $hZxmE$useRef)(false);\n let [virtualizer] = (0, $hZxmE$useState)(()=>new (0, $4537523c0f2a47dc$export$89be5a243e59c4b2)({\n collection: opts.collection,\n layout: opts.layout,\n delegate: {\n setVisibleRect (rect) {\n setVisibleRect(rect);\n visibleRectChanged.current = true;\n },\n // TODO: should changing these invalidate the entire cache?\n renderView: opts.renderView,\n invalidate: setInvalidationContext\n }\n }));\n // onVisibleRectChange must be called from an effect, not during render.\n $51e619e0f141c3ec$export$e5c5a5f917a5871c(()=>{\n if (visibleRectChanged.current) {\n visibleRectChanged.current = false;\n opts.onVisibleRectChange(visibleRect);\n }\n });\n let mergedInvalidationContext = (0, $hZxmE$useMemo)(()=>{\n if (opts.layoutOptions != null) return {\n ...invalidationContext,\n layoutOptions: opts.layoutOptions\n };\n return invalidationContext;\n }, [\n invalidationContext,\n opts.layoutOptions\n ]);\n let visibleViews = virtualizer.render({\n layout: opts.layout,\n collection: opts.collection,\n persistedKeys: opts.persistedKeys,\n layoutOptions: opts.layoutOptions,\n visibleRect: visibleRect,\n size: opts.allowsWindowScrolling ? size : visibleRect,\n invalidationContext: mergedInvalidationContext,\n isScrolling: isScrolling\n });\n let contentSize = virtualizer.contentSize;\n let startScrolling = (0, $hZxmE$useCallback)(()=>{\n setScrolling(true);\n }, []);\n let endScrolling = (0, $hZxmE$useCallback)(()=>{\n setScrolling(false);\n }, []);\n let state = (0, $hZxmE$useMemo)(()=>({\n virtualizer: virtualizer,\n visibleViews: visibleViews,\n setVisibleRect: setVisibleRect,\n size: size,\n setSize: setSize,\n contentSize: contentSize,\n isScrolling: isScrolling,\n startScrolling: startScrolling,\n endScrolling: endScrolling\n }), [\n virtualizer,\n visibleViews,\n setVisibleRect,\n size,\n setSize,\n contentSize,\n isScrolling,\n startScrolling,\n endScrolling\n ]);\n return state;\n}\n\n\nexport {$51e619e0f141c3ec$export$e5c5a5f917a5871c as useLayoutEffect, $51e619e0f141c3ec$export$1505db82fe357e65 as useVirtualizerState};\n//# sourceMappingURL=useVirtualizerState.mjs.map\n"],"names":["i","WeakMap","Error","Symbol","Set","Array","e","Object","Map","Math","r","l","s","t","c","n","clearTimeout","Date","setTimeout","document","performance"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunktechdocs_cli_embedded_app=self.webpackChunktechdocs_cli_embedded_app||[]).push([["3714"],{63690(e,t,l){l.d(t,{Ail:()=>g,Cap:()=>d,CwO:()=>H,Kt4:()=>M,Ld_:()=>r,Mzm:()=>w,NGz:()=>x,Qks:()=>n,avw:()=>m,eQr:()=>a,oev:()=>Z,qFd:()=>C,qGO:()=>c,s0:()=>h,sFm:()=>v,u8p:()=>p,vMW:()=>i,xNY:()=>V,ye6:()=>o,ze2:()=>L});var s=l(14041);let r=({color:e="currentColor",size:t=24,className:l,...r})=>s.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:e,...r,className:"remixicon "+(l||"")},s.createElement("path",{d:"M11 11V5H13V11H19V13H13V19H11V13H5V11H11Z"})),c=({color:e="currentColor",size:t=24,className:l,...r})=>s.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:e,...r,className:"remixicon "+(l||"")},s.createElement("path",{d:"M12.8659 3.00017L22.3922 19.5002C22.6684 19.9785 22.5045 20.5901 22.0262 20.8662C21.8742 20.954 21.7017 21.0002 21.5262 21.0002H2.47363C1.92135 21.0002 1.47363 20.5525 1.47363 20.0002C1.47363 19.8246 1.51984 19.6522 1.60761 19.5002L11.1339 3.00017C11.41 2.52187 12.0216 2.358 12.4999 2.63414C12.6519 2.72191 12.7782 2.84815 12.8659 3.00017ZM4.20568 19.0002H19.7941L11.9999 5.50017L4.20568 19.0002ZM10.9999 16.0002H12.9999V18.0002H10.9999V16.0002ZM10.9999 9.00017H12.9999V14.0002H10.9999V9.00017Z"})),a=({color:e="currentColor",size:t=24,className:l,...r})=>s.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:e,...r,className:"remixicon "+(l||"")},s.createElement("path",{d:"M11.9999 13.1714L16.9497 8.22168L18.3639 9.63589L11.9999 15.9999L5.63599 9.63589L7.0502 8.22168L11.9999 13.1714Z"})),i=({color:e="currentColor",size:t=24,className:l,...r})=>s.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:e,...r,className:"remixicon "+(l||"")},s.createElement("path",{d:"M10.8284 12.0007L15.7782 16.9504L14.364 18.3646L8 12.0007L14.364 5.63672L15.7782 7.05093L10.8284 12.0007Z"})),o=({color:e="currentColor",size:t=24,className:l,...r})=>s.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:e,...r,className:"remixicon "+(l||"")},s.createElement("path",{d:"M13.1717 12.0007L8.22192 7.05093L9.63614 5.63672L16.0001 12.0007L9.63614 18.3646L8.22192 16.9504L13.1717 12.0007Z"})),m=({color:e="currentColor",size:t=24,className:l,...r})=>s.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:e,...r,className:"remixicon "+(l||"")},s.createElement("path",{d:"M13.0001 7.82843V20H11.0001V7.82843L5.63614 13.1924L4.22192 11.7782L12.0001 4L19.7783 11.7782L18.3641 13.1924L13.0001 7.82843Z"})),w=({color:e="currentColor",size:t=24,className:l,...r})=>s.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:e,...r,className:"remixicon "+(l||"")},s.createElement("path",{d:"M20 22H4C3.44772 22 3 21.5523 3 21V3C3 2.44772 3.44772 2 4 2H20C20.5523 2 21 2.44772 21 3V21C21 21.5523 20.5523 22 20 22ZM19 20V4H5V20H19ZM7 6H11V10H7V6ZM7 12H17V14H7V12ZM7 16H17V18H7V16ZM13 7H17V9H13V7Z"})),h=({color:e="currentColor",size:t=24,className:l,...r})=>s.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:e,...r,className:"remixicon "+(l||"")},s.createElement("path",{d:"M9.9997 15.1709L19.1921 5.97852L20.6063 7.39273L9.9997 17.9993L3.63574 11.6354L5.04996 10.2212L9.9997 15.1709Z"})),C=({color:e="currentColor",size:t=24,className:l,...r})=>s.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:e,...r,className:"remixicon "+(l||"")},s.createElement("path",{d:"M12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22ZM12 20C16.4183 20 20 16.4183 20 12C20 7.58172 16.4183 4 12 4C7.58172 4 4 7.58172 4 12C4 16.4183 7.58172 20 12 20ZM12 10.5858L14.8284 7.75736L16.2426 9.17157L13.4142 12L16.2426 14.8284L14.8284 16.2426L12 13.4142L9.17157 16.2426L7.75736 14.8284L10.5858 12L7.75736 9.17157L9.17157 7.75736L12 10.5858Z"})),n=({color:e="currentColor",size:t=24,className:l,...r})=>s.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:e,...r,className:"remixicon "+(l||"")},s.createElement("path",{d:"M11.9997 10.5865L16.9495 5.63672L18.3637 7.05093L13.4139 12.0007L18.3637 16.9504L16.9495 18.3646L11.9997 13.4149L7.04996 18.3646L5.63574 16.9504L10.5855 12.0007L5.63574 7.05093L7.04996 5.63672L11.9997 10.5865Z"})),L=({color:e="currentColor",size:t=24,className:l,...r})=>s.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:e,...r,className:"remixicon "+(l||"")},s.createElement("path",{d:"M23 12L15.9289 19.0711L14.5147 17.6569L20.1716 12L14.5147 6.34317L15.9289 4.92896L23 12ZM3.82843 12L9.48528 17.6569L8.07107 19.0711L1 12L8.07107 4.92896L9.48528 6.34317L3.82843 12Z"})),g=({color:e="currentColor",size:t=24,className:l,...r})=>s.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:e,...r,className:"remixicon "+(l||"")},s.createElement("path",{d:"M3 19H21V21H3V19ZM13 13.1716L19.0711 7.1005L20.4853 8.51472L12 17L3.51472 8.51472L4.92893 7.1005L11 13.1716V2H13V13.1716Z"})),v=({color:e="currentColor",size:t=24,className:l,...r})=>s.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:e,...r,className:"remixicon "+(l||"")},s.createElement("path",{d:"M12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22ZM12 20C16.4183 20 20 16.4183 20 12C20 7.58172 16.4183 4 12 4C7.58172 4 4 7.58172 4 12C4 16.4183 7.58172 20 12 20ZM11 15H13V17H11V15ZM11 7H13V13H11V7Z"})),x=({color:e="currentColor",size:t=24,className:l,...r})=>s.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:e,...r,className:"remixicon "+(l||"")},s.createElement("path",{d:"M6.9998 6V3C6.9998 2.44772 7.44752 2 7.9998 2H19.9998C20.5521 2 20.9998 2.44772 20.9998 3V17C20.9998 17.5523 20.5521 18 19.9998 18H16.9998V20.9991C16.9998 21.5519 16.5499 22 15.993 22H4.00666C3.45059 22 3 21.5554 3 20.9991L3.0026 7.00087C3.0027 6.44811 3.45264 6 4.00942 6H6.9998ZM5.00242 8L5.00019 20H14.9998V8H5.00242ZM8.9998 6H16.9998V16H18.9998V4H8.9998V6Z"})),H=({color:e="currentColor",size:t=24,className:l,...r})=>s.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:e,...r,className:"remixicon "+(l||"")},s.createElement("path",{d:"M12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22ZM12 20C16.4183 20 20 16.4183 20 12C20 7.58172 16.4183 4 12 4C7.58172 4 4 7.58172 4 12C4 16.4183 7.58172 20 12 20ZM11 7H13V9H11V7ZM11 11H13V17H11V11Z"})),V=({color:e="currentColor",size:t=24,className:l,...r})=>s.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:e,...r,className:"remixicon "+(l||"")},s.createElement("path",{d:"M18.364 5.63604L16.9497 7.05025C15.683 5.7835 13.933 5 12 5C8.13401 5 5 8.13401 5 12C5 15.866 8.13401 19 12 19C15.866 19 19 15.866 19 12H21C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3C14.4853 3 16.7353 4.00736 18.364 5.63604Z"})),M=({color:e="currentColor",size:t=24,className:l,...r})=>s.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:e,...r,className:"remixicon "+(l||"")},s.createElement("path",{d:"M12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22ZM12 20C16.4183 20 20 16.4183 20 12C20 7.58172 16.4183 4 12 4C7.58172 4 4 7.58172 4 12C4 16.4183 7.58172 20 12 20ZM11 15H13V17H11V15ZM13 13.3551V14H11V12.5C11 11.9477 11.4477 11.5 12 11.5C12.8284 11.5 13.5 10.8284 13.5 10C13.5 9.17157 12.8284 8.5 12 8.5C11.2723 8.5 10.6656 9.01823 10.5288 9.70577L8.56731 9.31346C8.88637 7.70919 10.302 6.5 12 6.5C13.933 6.5 15.5 8.067 15.5 10C15.5 11.5855 14.4457 12.9248 13 13.3551Z"})),d=({color:e="currentColor",size:t=24,className:l,...r})=>s.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:e,...r,className:"remixicon "+(l||"")},s.createElement("path",{d:"M11 2C15.968 2 20 6.032 20 11C20 15.968 15.968 20 11 20C6.032 20 2 15.968 2 11C2 6.032 6.032 2 11 2ZM11 18C14.8675 18 18 14.8675 18 11C18 7.1325 14.8675 4 11 4C7.1325 4 4 7.1325 4 11C4 14.8675 7.1325 18 11 18ZM19.4853 18.0711L22.3137 20.8995L20.8995 22.3137L18.0711 19.4853L19.4853 18.0711Z"})),Z=({color:e="currentColor",size:t=24,className:l,...r})=>s.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:e,...r,className:"remixicon "+(l||"")},s.createElement("path",{d:"M5 11V13H19V11H5Z"})),p=({color:e="currentColor",size:t=24,className:l,...r})=>s.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:e,...r,className:"remixicon "+(l||"")},s.createElement("path",{d:"M11.9998 1L6 11H18L11.9998 1ZM11.9998 4.8873L14.4676 9H9.53232L11.9998 4.8873ZM6.75 20C5.23122 20 4 18.7688 4 17.25C4 15.7312 5.23122 14.5 6.75 14.5C8.26878 14.5 9.5 15.7312 9.5 17.25C9.5 18.7688 8.26878 20 6.75 20ZM6.75 22C9.37335 22 11.5 19.8734 11.5 17.25C11.5 14.6266 9.37335 12.5 6.75 12.5C4.12665 12.5 2 14.6266 2 17.25C2 19.8734 4.12665 22 6.75 22ZM15 15.5V19.5H19V15.5H15ZM13 21.5V13.5H21V21.5H13Z"}))}}]);
|
|
2
|
-
//# sourceMappingURL=module-remixicon.0feb7353.js.map
|