@dxos/plugin-sheet 0.7.0 → 0.7.1-staging.7f6f91c
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/dist/lib/browser/{SheetContainer-P3NF5KEI.mjs → SheetContainer-YAMIOFC6.mjs} +10 -8
- package/dist/lib/browser/SheetContainer-YAMIOFC6.mjs.map +7 -0
- package/dist/lib/browser/{chunk-4LKIURJA.mjs → chunk-QHQFM7LV.mjs} +19 -13
- package/dist/lib/browser/chunk-QHQFM7LV.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +1 -1
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/node/{SheetContainer-MPFKXY26.cjs → SheetContainer-BSDHHYXE.cjs} +22 -20
- package/dist/lib/node/SheetContainer-BSDHHYXE.cjs.map +7 -0
- package/dist/lib/node/{chunk-OO24XJBV.cjs → chunk-J5ZFWMOD.cjs} +24 -18
- package/dist/lib/node/chunk-J5ZFWMOD.cjs.map +7 -0
- package/dist/lib/node/index.cjs +5 -5
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node-esm/{SheetContainer-22IOAW3B.mjs → SheetContainer-T47T2NYJ.mjs} +10 -8
- package/dist/lib/node-esm/SheetContainer-T47T2NYJ.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-BW36PM2Y.mjs → chunk-6GSTEN7N.mjs} +19 -13
- package/dist/lib/node-esm/chunk-6GSTEN7N.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +1 -1
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/types/src/components/FunctionEditor/FunctionEditor.d.ts.map +1 -1
- package/dist/types/src/components/GridSheet/GridSheet.d.ts.map +1 -1
- package/dist/types/src/components/SheetContainer/SheetContainer.d.ts +2 -1
- package/dist/types/src/components/SheetContainer/SheetContainer.d.ts.map +1 -1
- package/dist/types/src/components/SheetContext/SheetContext.d.ts +3 -1
- package/dist/types/src/components/SheetContext/SheetContext.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +2 -1
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/package.json +38 -38
- package/src/components/FunctionEditor/FunctionEditor.tsx +1 -2
- package/src/components/GridSheet/GridSheet.stories.tsx +2 -2
- package/src/components/GridSheet/GridSheet.tsx +7 -6
- package/src/components/GridSheet/util.ts +1 -1
- package/src/components/SheetContainer/SheetContainer.stories.tsx +2 -2
- package/src/components/SheetContainer/SheetContainer.tsx +13 -3
- package/src/components/SheetContext/SheetContext.tsx +16 -3
- package/src/components/Toolbar/Toolbar.tsx +1 -1
- package/dist/lib/browser/SheetContainer-P3NF5KEI.mjs.map +0 -7
- package/dist/lib/browser/chunk-4LKIURJA.mjs.map +0 -7
- package/dist/lib/node/SheetContainer-MPFKXY26.cjs.map +0 -7
- package/dist/lib/node/chunk-OO24XJBV.cjs.map +0 -7
- package/dist/lib/node-esm/SheetContainer-22IOAW3B.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-BW36PM2Y.mjs.map +0 -7
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/ComputeGraph/ComputeGraphContextProvider.tsx", "../../../src/extensions/compute.ts", "../../../src/extensions/editor/extension.ts", "../../../src/components/SheetContext/SheetContext.tsx", "../../../src/model/sheet-model.ts", "../../../src/model/useSheetModel.ts", "../../../src/components/GridSheet/GridSheet.tsx", "../../../src/components/GridSheet/util.ts", "../../../src/integrations/thread-ranges.ts", "../../../src/components/index.ts", "../../../src/components/RangeList/RangeList.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { createContext, type PropsWithChildren, useContext } from 'react';\n\nimport { raise } from '@dxos/debug';\nimport { type Space } from '@dxos/react-client/echo';\nimport { useAsyncState } from '@dxos/react-hooks';\n\nimport { type ComputeGraph, type ComputeGraphRegistry } from '../../compute-graph';\n\nexport type ComputeGraphContextType = {\n registry: ComputeGraphRegistry;\n};\n\n/**\n * The compute graph context manages a ComputeGraph for each space.\n */\nexport const ComputeGraphContext = createContext<ComputeGraphContextType | undefined>(undefined);\n\nexport const ComputeGraphContextProvider = ({ registry, children }: PropsWithChildren<ComputeGraphContextType>) => {\n return <ComputeGraphContext.Provider value={{ registry }}>{children}</ComputeGraphContext.Provider>;\n};\n\nexport const useComputeGraph = (space?: Space): ComputeGraph | undefined => {\n const { registry } = useContext(ComputeGraphContext) ?? raise(new Error('Missing ComputeGraphContext'));\n const [graph] = useAsyncState(async () => {\n if (space) {\n const graph = registry.getOrCreateGraph(space);\n await graph.open();\n return graph;\n }\n }, [space, registry]);\n\n return graph;\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { syntaxTree } from '@codemirror/language';\nimport {\n type EditorState,\n type Extension,\n type RangeSet,\n RangeSetBuilder,\n StateEffect,\n StateField,\n type Transaction,\n} from '@codemirror/state';\nimport { Decoration, EditorView, ViewPlugin, WidgetType } from '@codemirror/view';\n\nimport { type UnsubscribeCallback, debounce } from '@dxos/async';\nimport { invariant } from '@dxos/invariant';\nimport { documentId, singleValueFacet } from '@dxos/react-ui-editor';\n\nimport { type ComputeGraph, type ComputeNode, createSheetName } from '../compute-graph';\nimport { type CellAddress } from '../defs';\nimport { type CellScalarValue } from '../types';\n\nconst LANGUAGE_TAG = 'dx';\n\n// TODO(burdon): Create marker just for our decorator?\nconst updateAllDecorations = StateEffect.define<void>();\n\nexport const computeGraphFacet = singleValueFacet<ComputeGraph>();\n\nexport type ComputeOptions = {};\n\nexport const compute = (options: ComputeOptions = {}): Extension => {\n let computeNode: ComputeNode | undefined;\n\n const update = (state: EditorState, current?: RangeSet<Decoration>) => {\n const builder = new RangeSetBuilder<Decoration>();\n if (computeNode) {\n computeNode.clear();\n syntaxTree(state).iterate({\n enter: (node) => {\n switch (node.name) {\n case 'FencedCode': {\n const cursor = state.selection.main.head;\n if (state.readOnly || cursor < node.from || cursor > node.to) {\n const info = node.node.getChild('CodeInfo');\n if (info) {\n const type = state.sliceDoc(info.from, info.to);\n const text = node.node.getChild('CodeText');\n if (type === LANGUAGE_TAG && text) {\n const formula = state.sliceDoc(text.from, text.to);\n\n const iter = current?.iter(node.node.from);\n if (iter?.value && iter?.value.spec.formula === formula) {\n // Add existing widget.\n builder.add(node.from, node.to, iter.value);\n } else {\n // TODO(burdon): Create ordered list of cells on each decoration run.\n const cell: CellAddress = { col: node.node.from, row: 0 };\n invariant(computeNode);\n // NOTE: This triggers re-render (below).\n computeNode.setValue(cell, formula);\n const value = computeNode.getValue(cell);\n builder.add(\n node.from,\n node.to,\n Decoration.replace({\n widget: new ComputeWidget(formula, value),\n formula,\n }),\n );\n }\n }\n }\n }\n\n break;\n }\n }\n },\n });\n }\n\n return builder.finish();\n };\n\n return [\n ViewPlugin.fromClass(\n class {\n // Graph subscription.\n private _subscription?: UnsubscribeCallback;\n constructor(view: EditorView) {\n const id = view.state.facet(documentId);\n const computeGraph = view.state.facet(computeGraphFacet);\n if (id && computeGraph) {\n queueMicrotask(async () => {\n computeNode = computeGraph.getOrCreateNode(createSheetName({ type: '', id }));\n await computeNode.open();\n\n // Trigger re-render if values updated.\n // TODO(burdon): Trigger only if formula value updated (currently triggered during render).\n this._subscription = computeNode.update.on(\n debounce(({ type, ...rest }) => {\n if (type === 'valuesUpdated') {\n view.dispatch({\n effects: updateAllDecorations.of(),\n });\n }\n }, 250),\n );\n });\n }\n }\n\n destroy() {\n this._subscription?.();\n void computeNode?.close();\n computeNode = undefined;\n }\n },\n ),\n\n StateField.define<RangeSet<Decoration>>({\n create: (state) => update(state),\n update: (rangeSet: RangeSet<Decoration>, tr: Transaction) => update(tr.state, rangeSet),\n provide: (field) => EditorView.decorations.from(field),\n }),\n ];\n};\n\n// TODO(burdon): Click to edit.\nclass ComputeWidget extends WidgetType {\n constructor(\n private readonly formula: string,\n private readonly value: CellScalarValue,\n ) {\n super();\n }\n\n override toDOM(_view: EditorView) {\n const div = document.createElement('div');\n div.setAttribute('title', this.formula);\n div.innerText = String(this.value);\n return div;\n }\n}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport {\n type Completion,\n type CompletionContext,\n type CompletionResult,\n acceptCompletion,\n autocompletion,\n completionStatus,\n startCompletion,\n} from '@codemirror/autocomplete';\nimport { HighlightStyle, type Language, syntaxHighlighting } from '@codemirror/language';\nimport { type Extension } from '@codemirror/state';\nimport { type EditorView, ViewPlugin, type ViewUpdate, keymap } from '@codemirror/view';\nimport { type SyntaxNode } from '@lezer/common';\nimport { tags } from '@lezer/highlight';\nimport { spreadsheet } from 'codemirror-lang-spreadsheet';\n\nimport { singleValueFacet } from '@dxos/react-ui-editor';\nimport { mx } from '@dxos/react-ui-theme';\n\nimport { type FunctionDefinition } from '../../compute-graph';\nimport { RANGE_NOTATION } from '../../defs';\n\n/**\n * https://codemirror.net/examples/styling\n * https://lezer.codemirror.net/docs/ref/#highlight\n * https://github.com/luizzappa/codemirror-lang-spreadsheet/blob/main/src/index.ts#L28 (mapping)\n */\n// TODO(burdon): Define light/dark.\nconst highlightStyles = HighlightStyle.define([\n // Function.\n {\n tag: tags.name,\n class: 'text-accentText',\n },\n // Range.\n {\n tag: tags.tagName,\n class: 'text-pinkText',\n },\n // Values.\n {\n tag: tags.number,\n class: 'text-tealText',\n },\n {\n tag: tags.bool,\n class: 'text-tealText',\n },\n {\n tag: tags.string,\n class: 'text-tealText',\n },\n // Error.\n {\n tag: tags.invalid,\n class: 'text-unAccent',\n },\n]);\n\nconst languageFacet = singleValueFacet<Language>();\n\nexport type SheetExtensionOptions = {\n functions?: FunctionDefinition[];\n};\n\n/**\n * Spreadsheet formula extension and parser.\n * https://github.com/luizzappa/codemirror-lang-spreadsheet\n * https://github.com/luizzappa/codemirror-app-spreadsheet/blob/master/src/editor.ts\n * https://github.com/codemirror/lang-example\n * https://hyperformula.handsontable.com/guide/key-concepts.html#grammar\n */\nexport const sheetExtension = ({ functions = [] }: SheetExtensionOptions): Extension => {\n const { extension, language } = spreadsheet({ idiom: 'en-US', decimalSeparator: '.' });\n\n const createCompletion = (name: string) => {\n const { section = 'Custom', description, syntax } = functions.find((value) => value.name === name) ?? {};\n\n return {\n section,\n label: name,\n info: () => {\n if (!description && !syntax) {\n return null;\n }\n\n // TODO(burdon): Standardize color styles.\n const root = document.createElement('div');\n root.className = 'flex flex-col gap-2 text-sm';\n\n const title = document.createElement('h2');\n title.innerText = name;\n title.className = 'text-lg font-mono text-accentText';\n root.appendChild(title);\n\n if (description) {\n const info = document.createElement('p');\n info.innerText = description;\n info.className = 'text-subdued';\n root.appendChild(info);\n }\n\n if (syntax) {\n const detail = document.createElement('pre');\n detail.innerText = syntax;\n detail.className = 'whitespace-pre-wrap text-greenText';\n root.appendChild(detail);\n }\n\n return root;\n },\n apply: (view, completion, from, to) => {\n const insertParens = to === view.state.doc.toString().length;\n view.dispatch(\n view.state.update({\n changes: {\n from,\n to,\n insert: completion.label + (insertParens ? '()' : ''),\n },\n selection: {\n anchor: from + completion.label.length + 1,\n },\n }),\n );\n },\n } satisfies Completion;\n };\n\n return [\n extension,\n languageFacet.of(language),\n language.data.of({\n autocomplete: (context: CompletionContext): CompletionResult | null => {\n if (context.state.doc.toString()[0] !== '=') {\n return null;\n }\n const match = context.matchBefore(/\\w*/);\n if (!match || match.from === match.to) {\n return null;\n }\n\n const text = match.text.toUpperCase();\n if (!context.explicit && match.text.length < 2) {\n return null;\n }\n\n return {\n from: match.from,\n options:\n functions?.filter(({ name }) => name.startsWith(text)).map(({ name }) => createCompletion(name)) ?? [],\n };\n },\n }),\n\n syntaxHighlighting(highlightStyles),\n autocompletion({\n aboveCursor: false,\n defaultKeymap: true,\n activateOnTyping: true,\n // NOTE: Useful for debugging.\n closeOnBlur: false,\n icons: false,\n tooltipClass: () =>\n mx(\n '!-left-[1px] !top-[33px] !-m-0 border !border-t-0 [&>ul]:!min-w-[198px]',\n '[&>ul>li[aria-selected]]:!bg-accentSurface',\n 'border-separator',\n ),\n }),\n keymap.of([\n {\n key: 'Tab',\n run: (view) => {\n return completionStatus(view.state) === 'active' ? acceptCompletion(view) : startCompletion(view);\n },\n },\n ]),\n\n // Parsing.\n // StateField.define({\n // create: (state) => {},\n // update: (value, tr) => {\n // log.info('update');\n // syntaxTree(tr.state).iterate({\n // enter: ({ type, from, to }) => {\n // log.info('node', { type: type.name, from, to });\n // },\n // });\n // },\n // }),\n ];\n};\n\nexport type SelectionRange = { from: number; to: number };\n\nexport interface RangeController {\n setRange(range: string): void;\n}\n\nexport type RangeExtensionOptions = {\n /**\n * Provides controller callback when extension is initialized.\n */\n onInit?: (controller: RangeController) => void;\n /**\n * Called when the active range changes.\n * @param state The current state.\n * @param state.activeRange undefined if no range is active, otherwise a possibly partially defined range.\n */\n onStateChange?: (state: { activeRange: string | undefined }) => void;\n};\n\n/**\n * Tracks the currently active cell within a formula and provides a callback to modify it.\n */\nexport const rangeExtension = ({ onInit, onStateChange }: RangeExtensionOptions): Extension => {\n let view: EditorView;\n let activeRange: SelectionRange | undefined;\n\n // Called externally to provide current range.\n const notifier: RangeController = {\n setRange: (range: string) => {\n if (activeRange) {\n view.dispatch(\n view.state.update({\n changes: { ...activeRange, insert: range.toString() },\n selection: { anchor: activeRange.from + range.length },\n }),\n );\n }\n\n view.focus();\n },\n };\n\n return ViewPlugin.fromClass(\n class {\n constructor(_view: EditorView) {\n view = _view;\n onInit?.(notifier);\n }\n\n update(view: ViewUpdate) {\n const { anchor } = view.state.selection.ranges[0];\n\n // Find first Range or cell at cursor.\n activeRange = undefined;\n const language = view.state.facet(languageFacet);\n const { topNode } = language.parser.parse(view.state.doc.toString());\n visitTree(topNode, ({ type, from, to }) => {\n if (from <= anchor && to >= anchor) {\n switch (type.name) {\n case 'Function':\n // Mark but keep looking.\n activeRange = { from: to, to };\n break;\n\n case 'CloseParen':\n // Mark but keep looking.\n activeRange = { from, to: from };\n break;\n\n case 'RangeToken':\n case 'CellToken':\n activeRange = { from, to };\n return true;\n }\n }\n\n return false;\n });\n\n // Allow start of formula.\n if (!activeRange && view.state.doc.toString()[0] === '=') {\n const str = view.state.doc.sliceString(1);\n if (RANGE_NOTATION.test(str)) {\n activeRange = { from: 1, to: str.length + 1 };\n }\n }\n\n onStateChange?.({\n activeRange: activeRange ? view.state.doc.sliceString(activeRange.from, activeRange.to) : undefined,\n });\n }\n },\n );\n};\n\n/**\n * Lezer parse result visitor.\n */\nconst visitTree = (node: SyntaxNode, callback: (node: SyntaxNode) => boolean): boolean => {\n if (callback(node)) {\n return true;\n }\n\n for (let child = node.firstChild; child !== null; child = child.nextSibling) {\n if (visitTree(child, callback)) {\n return true;\n }\n }\n\n return false;\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { type PropsWithChildren, createContext, useCallback, useContext, useState } from 'react';\n\nimport { invariant } from '@dxos/invariant';\nimport { fullyQualifiedId } from '@dxos/react-client/echo';\nimport {\n Grid,\n type GridContentProps,\n type GridEditing,\n type GridScopedProps,\n useGridContext,\n} from '@dxos/react-ui-grid';\n\nimport { type ComputeGraph } from '../../compute-graph';\nimport { type CellAddress, type CellRange, type CompleteCellRange } from '../../defs';\nimport { type SheetModel, useSheetModel } from '../../model';\nimport { type SheetType } from '../../types';\n\nexport type SheetContextValue = {\n id: string;\n\n model: SheetModel;\n\n // Cursor state.\n // TODO(burdon): Cursor and range should use indices.\n cursor?: CellAddress;\n setCursor: (cell: CellAddress | undefined) => void;\n range?: CellRange;\n setRange: (range: CellRange | undefined) => void;\n cursorFallbackRange?: CompleteCellRange;\n\n // Editing state (undefined if not editing).\n editing: GridEditing;\n setEditing: (editing: GridEditing) => void;\n\n // Active refs\n activeRefs: GridContentProps['activeRefs'];\n setActiveRefs: (activeRefs: GridContentProps['activeRefs']) => void;\n\n // Events.\n // TODO(burdon): Generalize.\n onInfo?: () => void;\n\n // Flags\n ignoreAttention?: boolean;\n};\n\nconst SheetContext = createContext<SheetContextValue | undefined>(undefined);\n\nexport const useSheetContext = (): SheetContextValue => {\n const context = useContext(SheetContext);\n invariant(context);\n return context;\n};\n\nconst SheetProviderImpl = ({\n model,\n onInfo,\n ignoreAttention,\n children,\n __gridScope,\n}: GridScopedProps<PropsWithChildren<Pick<SheetContextValue, 'onInfo' | 'model' | 'ignoreAttention'>>>) => {\n const { id, editing, setEditing } = useGridContext('SheetProvider', __gridScope);\n\n const [cursor, setCursorInternal] = useState<CellAddress>();\n const [range, setRangeInternal] = useState<CellRange>();\n const [cursorFallbackRange, setCursorFallbackRange] = useState<CompleteCellRange>();\n const [activeRefs, setActiveRefs] = useState<GridContentProps['activeRefs']>('');\n\n const setCursor = useCallback(\n (nextCursor?: CellAddress) => {\n setCursorInternal(nextCursor);\n setCursorFallbackRange(\n range?.to ? (range as CompleteCellRange) : nextCursor ? { from: nextCursor!, to: nextCursor! } : undefined,\n );\n },\n [range],\n );\n const setRange = useCallback(\n (nextRange?: CellRange) => {\n setRangeInternal(nextRange);\n setCursorFallbackRange(\n nextRange?.to ? (nextRange as CompleteCellRange) : cursor ? { from: cursor!, to: cursor! } : undefined,\n );\n },\n [cursor],\n );\n\n return (\n <SheetContext.Provider\n value={{\n id,\n model,\n editing,\n setEditing,\n cursor,\n setCursor,\n range,\n setRange,\n cursorFallbackRange,\n activeRefs,\n setActiveRefs,\n // TODO(burdon): Change to event.\n onInfo,\n ignoreAttention,\n }}\n >\n {children}\n </SheetContext.Provider>\n );\n};\n\nexport type SheetProviderProps = {\n graph: ComputeGraph;\n sheet: SheetType;\n readonly?: boolean;\n ignoreAttention?: boolean;\n} & Pick<SheetContextValue, 'onInfo'>;\n\nexport const SheetProvider = ({\n children,\n graph,\n sheet,\n readonly,\n ignoreAttention,\n onInfo,\n}: PropsWithChildren<SheetProviderProps>) => {\n const model = useSheetModel(graph, sheet, { readonly });\n\n return !model ? null : (\n <Grid.Root id={fullyQualifiedId(sheet)}>\n <SheetProviderImpl model={model} onInfo={onInfo} ignoreAttention={ignoreAttention}>\n {children}\n </SheetProviderImpl>\n </Grid.Root>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { type SimpleCellRange } from 'hyperformula/typings/AbsoluteCellRange';\nimport { type SimpleCellAddress } from 'hyperformula/typings/Cell';\nimport { type SimpleDate, type SimpleDateTime } from 'hyperformula/typings/DateTimeHelper';\n\nimport { Event } from '@dxos/async';\nimport { Resource } from '@dxos/context';\nimport { getTypename, FormatEnum, TypeEnum } from '@dxos/echo-schema';\nimport { invariant } from '@dxos/invariant';\nimport { PublicKey } from '@dxos/keys';\nimport { log } from '@dxos/log';\n\nimport { DetailedCellError, ExportedCellChange } from '#hyperformula';\nimport { type ComputeGraph, type ComputeNode, type ComputeNodeEvent, createSheetName } from '../compute-graph';\nimport {\n addressFromA1Notation,\n addressFromIndex,\n addressToA1Notation,\n addressToIndex,\n initialize,\n insertIndices,\n isFormula,\n type CellAddress,\n type CellRange,\n ReadonlyException,\n MAX_COLUMNS,\n MAX_ROWS,\n} from '../defs';\nimport { type CellScalarValue, type CellValue, type SheetType, type RestoreAxis } from '../types';\n\n// Map sheet types to system types.\n// https://hyperformula.handsontable.com/guide/types-of-values.html\n// - https://github.com/handsontable/hyperformula/blob/master/src/Cell.ts (CellValueType)\n// - https://github.com/handsontable/hyperformula/blob/master/src/interpreter/InterpreterValue.ts (NumberType)\nconst typeMap: Record<string, { type: TypeEnum; format?: FormatEnum }> = {\n BOOLEAN: { type: TypeEnum.Boolean },\n NUMBER_RAW: { type: TypeEnum.Number },\n NUMBER_PERCENT: { type: TypeEnum.Number, format: FormatEnum.Percent },\n NUMBER_CURRENCY: { type: TypeEnum.Number, format: FormatEnum.Currency },\n NUMBER_DATETIME: { type: TypeEnum.String, format: FormatEnum.DateTime },\n NUMBER_DATE: { type: TypeEnum.String, format: FormatEnum.Date },\n NUMBER_TIME: { type: TypeEnum.String, format: FormatEnum.Time },\n};\n\nconst getTopLeft = (range: CellRange): CellAddress => {\n const to = range.to ?? range.from;\n return { row: Math.min(range.from.row, to.row), col: Math.min(range.from.col, to.col) };\n};\n\nconst toSimpleCellAddress = (sheet: number, cell: CellAddress): SimpleCellAddress => ({\n sheet,\n row: cell.row,\n col: cell.col,\n});\n\nconst toModelRange = (sheet: number, range: CellRange): SimpleCellRange => ({\n start: toSimpleCellAddress(sheet, range.from),\n end: toSimpleCellAddress(sheet, range.to ?? range.from),\n});\n\nexport type SheetModelOptions = {\n readonly?: boolean;\n};\n\n/**\n * Spreadsheet data model.\n *\n * [ComputeGraphContext] > [SheetContext]:[SheetModel] > [Sheet.Root]\n */\n// TODO(burdon): Factor out commonality with ComputeNode. Factor out HF.\nexport class SheetModel extends Resource {\n public readonly id = `model-${PublicKey.random().truncate()}`;\n\n // Wraps compute node.\n public readonly update = new Event<ComputeNodeEvent>();\n\n private _node?: ComputeNode;\n\n constructor(\n private readonly _graph: ComputeGraph,\n private readonly _sheet: SheetType,\n private readonly _options: SheetModelOptions = {},\n ) {\n super();\n }\n\n get graph() {\n return this._graph;\n }\n\n get sheet() {\n return this._sheet;\n }\n\n get readonly() {\n return this._options.readonly;\n }\n\n get bounds() {\n return {\n rows: this._sheet.rows.length,\n columns: this._sheet.columns.length,\n };\n }\n\n /**\n * Initialize sheet and engine.\n */\n protected override async _open() {\n log('initialize', { id: this.id });\n initialize(this._sheet);\n\n this._graph.update.on((event) => {\n if (event.type === 'functionsUpdated') {\n this.reset();\n }\n });\n\n // TODO(burdon): SheetModel should extend ComputeNode and be constructed via the graph.\n this._node = this._graph.getOrCreateNode(createSheetName({ type: getTypename(this._sheet)!, id: this._sheet.id }));\n await this._node.open();\n\n // Listen for model updates (e.g., async calculations).\n const unsubscribe = this._node.update.on((event) => this.update.emit(event));\n this._ctx.onDispose(unsubscribe);\n\n this.reset();\n }\n\n /**\n * Update engine.\n * NOTE: This resets the undo history.\n * @deprecated\n */\n reset() {\n invariant(this._node);\n this._node.graph.hf.clearSheet(this._node.sheetId);\n Object.entries(this._sheet.cells).forEach(([key, { value }]) => {\n invariant(this._node);\n const { col, row } = addressFromIndex(this._sheet, key);\n if (isFormula(value)) {\n const binding = this._graph.mapFunctionBindingFromId(this.mapFormulaIndicesToRefs(value));\n if (binding) {\n value = this._graph.mapFormulaToNative(binding);\n } else {\n // If binding is not found, render the cell as empty.\n // This prevents the cell from momentarily rendering an error while the binding is being loaded.\n value = '';\n }\n }\n\n this._node.graph.hf.setCellContents({ sheet: this._node.sheetId, row, col }, value);\n });\n }\n\n /**\n * Recalculate formulas.\n * NOTE: This resets the undo history.\n * https://hyperformula.handsontable.com/guide/volatile-functions.html#volatile-actions\n * @deprecated\n */\n // TODO(burdon): Remove.\n recalculate() {\n this._node?.graph.hf.rebuildAndRecalculate();\n }\n\n insertRows(i: number, n = 1) {\n const idx = insertIndices(this._sheet.rows, i, n, MAX_ROWS);\n this.reset();\n return idx;\n }\n\n insertColumns(i: number, n = 1) {\n const idx = insertIndices(this._sheet.columns, i, n, MAX_COLUMNS);\n this.reset();\n return idx;\n }\n\n dropRow(rowIndex: string): RestoreAxis {\n const range = {\n from: addressFromIndex(this._sheet, `${this._sheet.columns[0]}@${rowIndex}`),\n to: addressFromIndex(this._sheet, `${this._sheet.columns[this._sheet.columns.length - 1]}@${rowIndex}`),\n };\n const values = this.getCellValues(range).flat();\n const index = this._sheet.rows.indexOf(rowIndex);\n this.clear(range);\n this._sheet.rows.splice(index, 1);\n delete this._sheet.rowMeta[rowIndex];\n this.reset();\n return { axis: 'row', index, axisIndex: rowIndex, axisMeta: this._sheet.rowMeta[rowIndex], values };\n }\n\n dropColumn(colIndex: string): RestoreAxis {\n const range = {\n from: addressFromIndex(this._sheet, `${colIndex}@${this._sheet.rows[0]}`),\n to: addressFromIndex(this._sheet, `${colIndex}@${this._sheet.rows[this._sheet.rows.length - 1]}`),\n };\n const values = this.getCellValues(range).flat();\n const index = this._sheet.columns.indexOf(colIndex);\n this.clear(range);\n this._sheet.columns.splice(index, 1);\n delete this._sheet.columnMeta[colIndex];\n this.reset();\n return { axis: 'col', index, axisIndex: colIndex, axisMeta: this._sheet.rowMeta[colIndex], values };\n }\n\n restoreRow({ index, axisIndex, axisMeta, values }: RestoreAxis) {\n this._sheet.rows.splice(index, 0, axisIndex);\n values.forEach((value, col) => {\n if (value) {\n this._sheet.cells[`${this._sheet.columns[col]}@${axisIndex}`] = { value };\n }\n });\n if (axisMeta) {\n this._sheet.rowMeta[axisIndex] = axisMeta;\n }\n this.reset();\n }\n\n restoreColumn({ index, axisIndex, axisMeta, values }: RestoreAxis) {\n this._sheet.columns.splice(index, 0, axisIndex);\n values.forEach((value, row) => {\n if (value) {\n this._sheet.cells[`${axisIndex}@${this._sheet.rows[row]}`] = { value };\n }\n });\n if (axisMeta) {\n this._sheet.columnMeta[axisIndex] = axisMeta;\n }\n this.reset();\n }\n\n //\n // Undoable actions.\n // TODO(burdon): Group undoable methods; consistently update hf/sheet.\n //\n\n /**\n * Clear range of values.\n */\n clear(range: CellRange) {\n invariant(this._node);\n const topLeft = getTopLeft(range);\n const values = this._iterRange(range, () => null);\n this._node.graph.hf.setCellContents(toSimpleCellAddress(this._node.sheetId, topLeft), values);\n this._iterRange(range, (cell) => {\n const idx = addressToIndex(this._sheet, cell);\n delete this._sheet.cells[idx];\n });\n }\n\n cut(range: CellRange) {\n invariant(this._node);\n this._node.graph.hf.cut(toModelRange(this._node.sheetId, range));\n this._iterRange(range, (cell) => {\n const idx = addressToIndex(this._sheet, cell);\n delete this._sheet.cells[idx];\n });\n }\n\n copy(range: CellRange) {\n invariant(this._node);\n this._node.graph.hf.copy(toModelRange(this._node.sheetId, range));\n }\n\n paste(cell: CellAddress) {\n invariant(this._node);\n if (!this._node.graph.hf.isClipboardEmpty()) {\n const changes = this._node.graph.hf.paste(toSimpleCellAddress(this._node.sheetId, cell));\n for (const change of changes) {\n if (change instanceof ExportedCellChange) {\n const { address, newValue } = change;\n const idx = addressToIndex(this._sheet, { row: address.row, col: address.col });\n this._sheet.cells[idx] = { value: newValue };\n }\n }\n }\n }\n\n // TODO(burdon): Display undo/redo state.\n undo() {\n invariant(this._node);\n if (this._node.graph.hf.isThereSomethingToUndo()) {\n this._node.graph.hf.undo();\n // this.update.emit();\n }\n }\n\n redo() {\n invariant(this._node);\n if (this._node.graph.hf.isThereSomethingToRedo()) {\n this._node.graph.hf.redo();\n // this.update.emit();\n }\n }\n\n /**\n * Get value from sheet.\n */\n getCellValue(cell: CellAddress): CellScalarValue {\n const idx = addressToIndex(this._sheet, cell);\n return this._sheet.cells[idx]?.value ?? null;\n }\n\n /**\n * Get value as a string for editing.\n */\n getCellText(cell: CellAddress): string | undefined {\n const value = this.getCellValue(cell);\n if (value == null) {\n return undefined;\n }\n\n if (isFormula(value)) {\n return this._graph.mapFunctionBindingFromId(this.mapFormulaIndicesToRefs(value));\n } else {\n return String(value);\n }\n }\n\n /**\n * Get array of raw values from sheet.\n */\n getCellValues(range: CellRange): CellScalarValue[][] {\n return this._iterRange(range, (cell) => this.getCellValue(cell));\n }\n\n /**\n * Gets the regular or computed value from the engine.\n */\n getValue(cell: CellAddress): CellScalarValue {\n // Applies rounding and post-processing.\n invariant(this._node);\n const address = toSimpleCellAddress(this._node.sheetId, cell);\n const value = this._node.graph.hf.getCellValue(address);\n if (value instanceof DetailedCellError) {\n // TODO(wittjosiah): Error details should be shown in cell `title`.\n log.info('cell error', { cell, error: value });\n return value.toString();\n }\n\n return value;\n }\n\n /**\n * Get value type.\n */\n getValueDescription(cell: CellAddress): { type: TypeEnum; format?: FormatEnum } | undefined {\n invariant(this._node);\n const addr = toSimpleCellAddress(this._node.sheetId, cell);\n const type = this._node.graph.hf.getCellValueDetailedType(addr);\n return typeMap[type];\n }\n\n /**\n * Sets the value, updating the sheet and engine.\n */\n setValue(cell: CellAddress, value: CellScalarValue) {\n invariant(this._node);\n if (this._options.readonly) {\n throw new ReadonlyException();\n }\n\n // Reallocate if > current bounds.\n let refresh = false;\n if (cell.row >= this._sheet.rows.length) {\n insertIndices(this._sheet.rows, cell.row, 1, MAX_ROWS);\n refresh = true;\n }\n if (cell.col >= this._sheet.columns.length) {\n insertIndices(this._sheet.columns, cell.col, 1, MAX_COLUMNS);\n refresh = true;\n }\n\n if (refresh) {\n // TODO(burdon): Remove.\n this.reset();\n }\n\n // Insert into engine.\n this._node.graph.hf.setCellContents({ sheet: this._node.sheetId, row: cell.row, col: cell.col }, [\n [isFormula(value) ? this._graph.mapFormulaToNative(value) : value],\n ]);\n\n // Insert into sheet.\n const idx = addressToIndex(this._sheet, cell);\n if (value === undefined || value === null) {\n delete this._sheet.cells[idx];\n } else {\n if (isFormula(value)) {\n value = this._graph.mapFunctionBindingToId(this.mapFormulaRefsToIndices(value));\n }\n\n this._sheet.cells[idx] = { value };\n }\n }\n\n /**\n * Sets values from a simple map.\n */\n setValues(values: Record<string, CellValue>) {\n Object.entries(values).forEach(([key, { value }]) => {\n this.setValue(addressFromA1Notation(key), value);\n });\n }\n\n /**\n * Iterate range.\n */\n private _iterRange(range: CellRange, cb: (cell: CellAddress) => CellScalarValue | void): CellScalarValue[][] {\n const to = range.to ?? range.from;\n const rowRange = [Math.min(range.from.row, to.row), Math.max(range.from.row, to.row)];\n const columnRange = [Math.min(range.from.col, to.col), Math.max(range.from.col, to.col)];\n const rows: CellScalarValue[][] = [];\n for (let row = rowRange[0]; row <= rowRange[1]; row++) {\n const rowCells: CellScalarValue[] = [];\n for (let column = columnRange[0]; column <= columnRange[1]; column++) {\n const value = cb({ row, col: column });\n if (value !== undefined) {\n rowCells.push(value);\n }\n }\n\n rows.push(rowCells);\n }\n\n return rows;\n }\n\n // TODO(burdon): Delete index.\n private _deleteIndices(indices: string[], i: number, n: number) {\n throw new Error('Not implemented');\n }\n\n // TODO(burdon): Move. Cannot use fractional without changing. Switch back to using unique IDs?\n private _moveIndices(indices: string[], i: number, j: number, n: number) {\n throw new Error('Not implemented');\n }\n\n //\n // Indices.\n //\n\n /**\n * Map from A1 notation to indices.\n */\n mapFormulaRefsToIndices(formula: string): string {\n invariant(isFormula(formula));\n return formula.replace(/([a-zA-Z]+)([0-9]+)/g, (match) => {\n return addressToIndex(this._sheet, addressFromA1Notation(match));\n });\n }\n\n /**\n * Map from indices to A1 notation.\n */\n mapFormulaIndicesToRefs(formula: string): string {\n invariant(isFormula(formula));\n return formula.replace(/([a-zA-Z0-9]+)@([a-zA-Z0-9]+)/g, (idx) => {\n return addressToA1Notation(addressFromIndex(this._sheet, idx));\n });\n }\n\n //\n // Values\n //\n\n /**\n * https://hyperformula.handsontable.com/guide/date-and-time-handling.html#example\n * https://hyperformula.handsontable.com/api/interfaces/configparams.html#nulldate\n * NOTE: TODAY() is number of FULL days since nullDate. It will typically be -1 days from NOW().\n */\n toLocalDate(num: number): Date {\n const { year, month, day, hours, minutes, seconds } = this.toDateTime(num);\n return new Date(year, month - 1, day, hours, minutes, seconds);\n }\n\n toDateTime(num: number): SimpleDateTime {\n invariant(this._node);\n return this._node.graph.hf.numberToDateTime(num) as SimpleDateTime;\n }\n\n toDate(num: number): SimpleDate {\n invariant(this._node);\n return this._node.graph.hf.numberToDate(num) as SimpleDate;\n }\n\n toTime(num: number): SimpleDate {\n invariant(this._node);\n return this._node.graph.hf.numberToTime(num) as SimpleDate;\n }\n}\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { useEffect, useState } from 'react';\n\nimport { type ComputeGraph } from '../compute-graph';\nimport { SheetModel } from '../model';\nimport { type SheetType } from '../types';\n\nexport type UseSheetModelOptions = {\n readonly?: boolean;\n};\n\nexport const useSheetModel = (\n graph?: ComputeGraph,\n sheet?: SheetType,\n { readonly }: UseSheetModelOptions = {},\n): SheetModel | undefined => {\n const [model, setModel] = useState<SheetModel>();\n useEffect(() => {\n if (!graph || !sheet) {\n return;\n }\n\n let model: SheetModel | undefined;\n const t = setTimeout(async () => {\n model = new SheetModel(graph, sheet, { readonly });\n await model.open();\n setModel(model);\n });\n\n return () => {\n clearTimeout(t);\n void model?.close();\n };\n }, [graph, sheet, readonly]);\n\n return model;\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, {\n useCallback,\n useMemo,\n useRef,\n type FocusEvent,\n type KeyboardEvent,\n type WheelEvent,\n type MouseEvent,\n useState,\n} from 'react';\n\nimport { useIntentDispatcher } from '@dxos/app-framework';\nimport { DropdownMenu, Icon, useTranslation } from '@dxos/react-ui';\nimport { useAttention } from '@dxos/react-ui-attention';\nimport {\n closestCell,\n defaultSizeRow,\n editorKeys,\n Grid,\n GridCellEditor,\n type DxGridElement,\n type EditorKeyHandler,\n type EditorBlurHandler,\n type GridContentProps,\n type DxGridPosition,\n} from '@dxos/react-ui-grid';\n\nimport { colLabelCell, dxGridCellIndexToSheetCellAddress, rowLabelCell, useSheetModelDxGridProps } from './util';\nimport { DEFAULT_COLUMNS, DEFAULT_ROWS, rangeToA1Notation, type CellRange } from '../../defs';\nimport { rangeExtension, sheetExtension, type RangeController } from '../../extensions';\nimport { useSelectThreadOnCellFocus, useUpdateFocusedCellOnThreadSelection } from '../../integrations';\nimport { SHEET_PLUGIN } from '../../meta';\nimport { SheetAction } from '../../types';\nimport { useSheetContext } from '../SheetContext';\n\nconst inertPosition: DxGridPosition = { plane: 'grid', col: 0, row: 0 };\n\nconst initialCells = {\n grid: {},\n frozenColsStart: [...Array(64)].reduce((acc, _, i) => {\n acc[`0,${i}`] = rowLabelCell(i);\n return acc;\n }, {}),\n frozenRowsStart: [...Array(12)].reduce((acc, _, i) => {\n acc[`${i},0`] = colLabelCell(i);\n return acc;\n }, {}),\n};\n\nconst frozen = {\n frozenColsStart: 1,\n frozenRowsStart: 1,\n};\n\nconst sheetRowDefault = {\n frozenRowsStart: { size: defaultSizeRow, readonly: true },\n grid: { size: defaultSizeRow, resizeable: true },\n};\nconst sheetColDefault = { frozenColsStart: { size: 48, readonly: true }, grid: { size: 180, resizeable: true } };\n\nexport const GridSheet = () => {\n const { t } = useTranslation(SHEET_PLUGIN);\n const { id, model, editing, setCursor, setRange, cursor, cursorFallbackRange, activeRefs, ignoreAttention } =\n useSheetContext();\n // NOTE(thure): using `useState` instead of `useRef` works with refs provided by `@lit/react` and gives us\n // a reliable dependency for `useEffect` whereas `useLayoutEffect` does not guarantee the element will be defined.\n const [dxGrid, setDxGrid] = useState<DxGridElement | null>(null);\n const [extraplanarFocus, setExtraplanarFocus] = useState<DxGridPosition | null>(null);\n const dispatch = useIntentDispatcher();\n const rangeController = useRef<RangeController>();\n const { hasAttention } = useAttention(id);\n\n const handleFocus = useCallback(\n (event: FocusEvent) => {\n if (!editing) {\n const cell = closestCell(event.target);\n if (cell) {\n if (cell.plane === 'grid') {\n setCursor({ col: cell.col, row: cell.row });\n setExtraplanarFocus(null);\n } else {\n setExtraplanarFocus(cell);\n }\n } else {\n setExtraplanarFocus(null);\n }\n }\n },\n [editing],\n );\n\n // TODO(burdon): Validate formula before closing: hf.validateFormula();\n const handleClose = useCallback<EditorKeyHandler>(\n (_value, event) => {\n if (event) {\n const { key, shift } = event;\n const axis = ['Enter', 'ArrowUp', 'ArrowDown'].includes(key)\n ? 'row'\n : ['Tab', 'ArrowLeft', 'ArrowRight'].includes(key)\n ? 'col'\n : undefined;\n const delta = key.startsWith('Arrow') ? (['ArrowUp', 'ArrowLeft'].includes(key) ? -1 : 1) : shift ? -1 : 1;\n dxGrid?.refocus(axis, delta);\n }\n },\n [model, editing, dxGrid],\n );\n\n const handleBlur = useCallback<EditorBlurHandler>(\n (value) => {\n if (value !== undefined) {\n model.setValue(dxGridCellIndexToSheetCellAddress(editing!.index), value);\n }\n },\n [model, editing],\n );\n\n const handleAxisResize = useCallback<NonNullable<GridContentProps['onAxisResize']>>(\n ({ axis, size, index: numericIndex }) => {\n if (axis === 'row') {\n const rowId = model.sheet.rows[parseInt(numericIndex)];\n model.sheet.rowMeta[rowId] ??= {};\n model.sheet.rowMeta[rowId].size = size;\n } else {\n const columnId = model.sheet.columns[parseInt(numericIndex)];\n model.sheet.columnMeta[columnId] ??= {};\n model.sheet.columnMeta[columnId].size = size;\n }\n },\n [model],\n );\n\n const handleSelect = useCallback<NonNullable<GridContentProps['onSelect']>>(\n ({ minCol, maxCol, minRow, maxRow }) => {\n const range: CellRange = { from: { col: minCol, row: minRow } };\n if (minCol !== maxCol || minRow !== maxRow) {\n range.to = { col: maxCol, row: maxRow };\n }\n if (editing) {\n // Update range selection in formula.\n rangeController.current?.setRange(rangeToA1Notation(range));\n } else {\n // Setting range while editing causes focus to move to null, avoid doing so.\n setRange(range.to ? range : undefined);\n }\n },\n [editing],\n );\n const handleWheel = useCallback(\n (event: WheelEvent) => {\n if (!ignoreAttention && !hasAttention) {\n event.stopPropagation();\n }\n },\n [hasAttention, ignoreAttention],\n );\n\n const selectEntireAxis = useCallback(\n (pos: DxGridPosition) => {\n switch (pos.plane) {\n case 'frozenRowsStart':\n return dxGrid?.setSelection({\n start: { col: pos.col, row: 0, plane: 'grid' },\n end: { col: pos.col, row: model.sheet.rows.length - 1, plane: 'grid' },\n });\n case 'frozenColsStart':\n return dxGrid?.setSelection({\n start: { row: pos.row, col: 0, plane: 'grid' },\n end: { row: pos.row, col: model.sheet.columns.length - 1, plane: 'grid' },\n });\n }\n },\n [dxGrid, model.sheet],\n );\n\n const handleClick = useCallback(\n (event: MouseEvent) => {\n const cell = closestCell(event.target);\n if (cell) {\n selectEntireAxis(cell);\n }\n },\n [selectEntireAxis],\n );\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent) => {\n switch (event.key) {\n case 'Backspace':\n case 'Delete':\n event.preventDefault();\n return cursorFallbackRange && model.clear(cursorFallbackRange);\n case 'Enter':\n case 'Space':\n if (dxGrid && extraplanarFocus) {\n switch (extraplanarFocus.plane) {\n case 'frozenRowsStart':\n case 'frozenColsStart':\n event.preventDefault();\n return selectEntireAxis(extraplanarFocus);\n }\n }\n }\n if (event.metaKey || event.ctrlKey) {\n switch (event.key) {\n case 'x':\n case 'X':\n event.preventDefault();\n return cursorFallbackRange && model.cut(cursorFallbackRange);\n case 'c':\n case 'C':\n event.preventDefault();\n return cursorFallbackRange && model.copy(cursorFallbackRange);\n case 'v':\n case 'V':\n event.preventDefault();\n return cursor && model.paste(cursor);\n case 'z':\n event.preventDefault();\n return event.shiftKey ? model.redo() : model.undo();\n case 'Z':\n case 'y':\n event.preventDefault();\n return model.redo();\n }\n }\n },\n [cursorFallbackRange, model, cursor, extraplanarFocus, selectEntireAxis],\n );\n\n const contextMenuAnchorRef = useRef<HTMLButtonElement | null>(null);\n const [contextMenuOpen, setContextMenuOpen] = useState<DxGridPosition | null>(null);\n const contextMenuAxis = contextMenuOpen?.plane.startsWith('frozenRows') ? 'col' : 'row';\n\n const handleContextMenu = useCallback((event: MouseEvent) => {\n const cell = closestCell(event.target);\n if (cell && cell.plane.startsWith('frozen')) {\n event.preventDefault();\n contextMenuAnchorRef.current = event.target as HTMLButtonElement;\n setContextMenuOpen(cell);\n }\n }, []);\n\n const handleAxisMenuAction = useCallback(\n (operation: 'insert-before' | 'insert-after' | 'drop') => {\n switch (operation) {\n case 'insert-before':\n case 'insert-after':\n return dispatch({\n action: SheetAction.INSERT_AXIS,\n data: {\n model,\n axis: contextMenuAxis,\n index: contextMenuOpen![contextMenuAxis] + (operation === 'insert-before' ? 0 : 1),\n } satisfies SheetAction.InsertAxis,\n });\n break;\n case 'drop':\n return dispatch({\n action: SheetAction.DROP_AXIS,\n data: {\n model,\n axis: contextMenuAxis,\n axisIndex: model.sheet[contextMenuAxis === 'row' ? 'rows' : 'columns'][contextMenuOpen![contextMenuAxis]],\n } satisfies SheetAction.DropAxis,\n });\n }\n },\n [contextMenuAxis, contextMenuOpen, model, dispatch],\n );\n\n const { columns, rows } = useSheetModelDxGridProps(dxGrid, model);\n\n const extension = useMemo(\n () => [\n editorKeys({ onClose: handleClose, ...(editing?.initialContent && { onNav: handleClose }) }),\n sheetExtension({ functions: model.graph.getFunctions() }),\n rangeExtension({\n onInit: (fn) => (rangeController.current = fn),\n onStateChange: (state) => {\n if (dxGrid) {\n // This can’t dispatch a setState in this component, otherwise the cell editor remounts and loses focus.\n dxGrid.mode = typeof state.activeRange === 'undefined' ? 'edit' : 'edit-select';\n }\n },\n }),\n ],\n [model, handleClose, editing],\n );\n\n const getCellContent = useCallback(\n (index: string) => {\n const cell = dxGridCellIndexToSheetCellAddress(index);\n return model.getCellText(cell);\n },\n [model],\n );\n\n useUpdateFocusedCellOnThreadSelection(dxGrid);\n useSelectThreadOnCellFocus();\n\n return (\n <div role='none' className='relative min-bs-0'>\n <GridCellEditor getCellContent={getCellContent} extension={extension} onBlur={handleBlur} />\n <Grid.Content\n initialCells={initialCells}\n limitColumns={DEFAULT_COLUMNS}\n limitRows={DEFAULT_ROWS}\n columns={columns}\n rows={rows}\n onAxisResize={handleAxisResize}\n onSelect={handleSelect}\n rowDefault={sheetRowDefault}\n columnDefault={sheetColDefault}\n frozen={frozen}\n onFocus={handleFocus}\n onWheelCapture={handleWheel}\n onKeyDown={handleKeyDown}\n onContextMenu={handleContextMenu}\n onClick={handleClick}\n overscroll='trap'\n className='[--dx-grid-base:var(--surface-bg)] [&_.dx-grid]:border-bs [&_.dx-grid]:absolute [&_.dx-grid]:inset-0 [&_.dx-grid]:border-separator'\n activeRefs={activeRefs}\n ref={setDxGrid}\n />\n <DropdownMenu.Root\n modal={false}\n open={!!contextMenuOpen}\n onOpenChange={(nextOpen) => setContextMenuOpen(nextOpen ? inertPosition : null)}\n >\n <DropdownMenu.VirtualTrigger virtualRef={contextMenuAnchorRef} />\n <DropdownMenu.Content side={contextMenuAxis === 'col' ? 'bottom' : 'right'} sideOffset={4} collisionPadding={8}>\n <DropdownMenu.Viewport>\n <DropdownMenu.Item onClick={() => handleAxisMenuAction('insert-before')}>\n <Icon\n size={5}\n icon={contextMenuAxis === 'col' ? 'ph--columns-plus-left--regular' : 'ph--rows-plus-top--regular'}\n />\n <span>{t(`add ${contextMenuAxis} before label`)}</span>\n </DropdownMenu.Item>\n <DropdownMenu.Item onClick={() => handleAxisMenuAction('insert-after')}>\n <Icon\n size={5}\n icon={contextMenuAxis === 'col' ? 'ph--columns-plus-right--regular' : 'ph--rows-plus-bottom--regular'}\n />\n <span>{t(`add ${contextMenuAxis} after label`)}</span>\n </DropdownMenu.Item>\n <DropdownMenu.Item onClick={() => handleAxisMenuAction('drop')}>\n <Icon size={5} icon='ph--backspace--regular' />\n <span>{t(`delete ${contextMenuAxis} label`)}</span>\n </DropdownMenu.Item>\n </DropdownMenu.Viewport>\n <DropdownMenu.Arrow />\n </DropdownMenu.Content>\n </DropdownMenu.Root>\n </div>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { useEffect, useState } from 'react';\n\nimport { createDocAccessor, fullyQualifiedId } from '@dxos/react-client/echo';\nimport { parseValue, cellClassesForFieldType } from '@dxos/react-ui-form';\nimport {\n type GridContentProps,\n type DxGridElement,\n type DxGridAxisMeta,\n type DxGridPlane,\n type DxGridPlaneRange,\n type DxGridPlaneCells,\n type DxGridCellValue,\n colToA1Notation,\n rowToA1Notation,\n commentedClassName,\n} from '@dxos/react-ui-grid';\nimport { mx } from '@dxos/react-ui-theme';\n\nimport { type CellAddress, inRange, cellClassNameForRange, rangeFromIndex } from '../../defs';\nimport { parseThreadAnchorAsCellRange } from '../../integrations';\nimport { type SheetModel } from '../../model';\n\nexport const dxGridCellIndexToSheetCellAddress = (index: string): CellAddress => {\n const [colStr, rowStr] = index.split(',');\n return {\n col: parseInt(colStr),\n row: parseInt(rowStr),\n };\n};\n\nconst createDxGridColumns = (model: SheetModel): DxGridAxisMeta => {\n return model.sheet.columns.reduce(\n (acc: DxGridAxisMeta, columnId, numericIndex) => {\n if (model.sheet.columnMeta[columnId] && model.sheet.columnMeta[columnId].size) {\n acc.grid[numericIndex] = { size: model.sheet.columnMeta[columnId].size, resizeable: true };\n }\n return acc;\n },\n { grid: {} },\n );\n};\n\nconst createDxGridRows = (model: SheetModel): DxGridAxisMeta => {\n return model.sheet.rows.reduce(\n (acc: DxGridAxisMeta, rowId, numericIndex) => {\n if (model.sheet.rowMeta[rowId] && model.sheet.rowMeta[rowId].size) {\n acc.grid[numericIndex] = { size: model.sheet.rowMeta[rowId].size, resizeable: true };\n }\n return acc;\n },\n { grid: {} },\n );\n};\n\nconst projectCellProps = (model: SheetModel, col: number, row: number): DxGridCellValue => {\n const address = { col, row };\n const rawValue = model.getValue(address);\n const ranges = model.sheet.ranges?.filter(({ range }) => inRange(rangeFromIndex(model.sheet, range), address));\n const threadRefs = model.sheet.threads\n ?.filter((thread) => {\n const range = thread?.anchor && parseThreadAnchorAsCellRange(thread!.anchor);\n return thread && range ? inRange(range, address) : false;\n })\n .map((thread) => fullyQualifiedId(thread!))\n .join(' ');\n\n const description = model.getValueDescription(address);\n const type = description?.type;\n const format = description?.format;\n const classNames = ranges?.map(cellClassNameForRange).reverse();\n\n return {\n value: parseValue({ type, format, value: rawValue }),\n className: mx(cellClassesForFieldType({ type, format }), threadRefs && commentedClassName, classNames),\n dataRefs: threadRefs,\n };\n};\nconst gridCellGetter = (model: SheetModel) => {\n // TODO(thure): Actually use the cache.\n const cachedGridCells: DxGridPlaneCells = {};\n return (nextBounds: DxGridPlaneRange): DxGridPlaneCells => {\n [...Array(nextBounds.end.col - nextBounds.start.col)].forEach((_, c0) => {\n return [...Array(nextBounds.end.row - nextBounds.start.row)].forEach((_, r0) => {\n const col = nextBounds.start.col + c0;\n const row = nextBounds.start.row + r0;\n cachedGridCells[`${col},${row}`] = projectCellProps(model, col, row);\n });\n });\n return cachedGridCells;\n };\n};\n\nexport const rowLabelCell = (row: number) => ({\n value: rowToA1Notation(row),\n className: 'text-end !pie-1 text-subdued',\n resizeHandle: 'row',\n});\n\nexport const colLabelCell = (col: number) => ({\n value: colToA1Notation(col),\n className: 'text-subdued',\n resizeHandle: 'col',\n});\n\nconst cellGetter = (model: SheetModel) => {\n const getGridCells = gridCellGetter(model);\n return (nextBounds: DxGridPlaneRange, plane: DxGridPlane): DxGridPlaneCells => {\n switch (plane) {\n case 'grid':\n return getGridCells(nextBounds);\n case 'frozenColsStart':\n return [...Array(nextBounds.end.row - nextBounds.start.row)].reduce((acc, _, r0) => {\n const r = nextBounds.start.row + r0;\n acc[`0,${r}`] = rowLabelCell(r);\n return acc;\n }, {});\n case 'frozenRowsStart':\n return [...Array(nextBounds.end.col - nextBounds.start.col)].reduce((acc, _, c0) => {\n const c = nextBounds.start.col + c0;\n acc[`${c},0`] = colLabelCell(c);\n return acc;\n }, {});\n default:\n return {};\n }\n };\n};\n\nexport const useSheetModelDxGridProps = (\n dxGrid: DxGridElement | null,\n model: SheetModel,\n): Pick<GridContentProps, 'columns' | 'rows'> => {\n const [columns, setColumns] = useState<DxGridAxisMeta>(createDxGridColumns(model));\n const [rows, setRows] = useState<DxGridAxisMeta>(createDxGridRows(model));\n\n useEffect(() => {\n const cellsAccessor = createDocAccessor(model.sheet, ['cells']);\n if (dxGrid) {\n dxGrid.getCells = cellGetter(model);\n }\n const handleCellsUpdate = () => {\n dxGrid?.requestUpdate('initialCells');\n };\n cellsAccessor.handle.addListener('change', handleCellsUpdate);\n const unsubscribe = model.graph.update.on(handleCellsUpdate);\n return () => {\n cellsAccessor.handle.removeListener('change', handleCellsUpdate);\n unsubscribe();\n };\n }, [model, dxGrid]);\n\n useEffect(() => {\n const columnMetaAccessor = createDocAccessor(model.sheet, ['columnMeta']);\n const rowMetaAccessor = createDocAccessor(model.sheet, ['rowMeta']);\n const handleColumnMetaUpdate = () => {\n setColumns(createDxGridColumns(model));\n };\n const handleRowMetaUpdate = () => {\n setRows(createDxGridRows(model));\n };\n columnMetaAccessor.handle.addListener('change', handleColumnMetaUpdate);\n rowMetaAccessor.handle.addListener('change', handleRowMetaUpdate);\n return () => {\n columnMetaAccessor.handle.removeListener('change', handleColumnMetaUpdate);\n rowMetaAccessor.handle.removeListener('change', handleRowMetaUpdate);\n };\n }, [model, dxGrid]);\n\n return { columns, rows };\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { useCallback, useEffect, useMemo } from 'react';\n\nimport { type IntentResolver, LayoutAction, useIntentDispatcher, useIntentResolver } from '@dxos/app-framework';\nimport { debounce } from '@dxos/async';\nimport { fullyQualifiedId } from '@dxos/react-client/echo';\nimport { type DxGridElement, type DxGridPosition } from '@dxos/react-ui-grid';\n\nimport { useSheetContext } from '../components';\nimport { type CellAddress, type CompleteCellRange, inRange } from '../defs';\nimport { SHEET_PLUGIN } from '../meta';\n\nexport const completeCellRangeToThreadCursor = (range: CompleteCellRange): string => {\n return `${range.from.col},${range.from.row},${range.to.col},${range.to.row}`;\n};\n\nexport const parseThreadAnchorAsCellRange = (cursor: string): CompleteCellRange | null => {\n const coords = cursor.split(',');\n if (coords.length !== 4) {\n return null;\n } else {\n const [fromCol, fromRow, toCol, toRow] = coords;\n return {\n from: { col: parseInt(fromCol), row: parseInt(fromRow) },\n to: { col: parseInt(toCol), row: parseInt(toRow) },\n };\n }\n};\n\nexport const useUpdateFocusedCellOnThreadSelection = (grid: DxGridElement | null) => {\n const { model, setActiveRefs } = useSheetContext();\n const handleScrollIntoView: IntentResolver = useCallback(\n ({ action, data }) => {\n switch (action) {\n case LayoutAction.SCROLL_INTO_VIEW: {\n if (!data?.id || data?.cursor === undefined || data?.id !== fullyQualifiedId(model.sheet)) {\n return;\n }\n setActiveRefs(data.thread);\n // TODO(Zan): Everywhere we refer to the cursor in a thread context should change to `anchor`.\n const range = parseThreadAnchorAsCellRange(data.cursor);\n range && grid?.setFocus({ ...range.to, plane: 'grid' }, true);\n }\n }\n },\n [model.sheet, setActiveRefs],\n );\n\n useIntentResolver(SHEET_PLUGIN, handleScrollIntoView);\n};\n\nexport const useSelectThreadOnCellFocus = () => {\n const { model, cursor } = useSheetContext();\n const dispatch = useIntentDispatcher();\n\n const threads = useMemo(\n () => model.sheet.threads?.filter((thread): thread is NonNullable<typeof thread> => !!thread) ?? [],\n [\n // TODO(thure): Surely we can find a better dependency for this…\n JSON.stringify(model.sheet.threads),\n ],\n );\n\n const selectClosestThread = useCallback(\n (cellAddress: CellAddress) => {\n if (!cellAddress || !threads) {\n return;\n }\n\n const closestThread = threads?.find(({ anchor }) => {\n if (anchor) {\n const range = parseThreadAnchorAsCellRange(anchor);\n return range ? inRange(range, cellAddress) : false;\n } else {\n return false;\n }\n });\n\n if (closestThread) {\n void dispatch([\n { action: 'dxos.org/plugin/thread/action/select', data: { current: fullyQualifiedId(closestThread) } },\n ]);\n }\n },\n [dispatch, threads],\n );\n\n const debounced = useMemo(() => {\n return debounce((cellCoords: DxGridPosition) => requestAnimationFrame(() => selectClosestThread(cellCoords)), 50);\n }, [selectClosestThread]);\n\n useEffect(() => {\n if (!cursor) {\n return;\n }\n debounced(cursor);\n }, [cursor, debounced]);\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { lazy } from 'react';\n\nexport * from './ComputeGraph';\nexport * from './GridSheet';\nexport * from './RangeList';\nexport * from './SheetContext';\n\nexport const SheetContainer = lazy(() => import('./SheetContainer'));\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { useCallback } from 'react';\n\nimport { S } from '@dxos/echo-schema';\nimport { useTranslation } from '@dxos/react-ui';\nimport { List } from '@dxos/react-ui-list';\nimport { ghostHover } from '@dxos/react-ui-theme';\n\nimport { rangeFromIndex, rangeToA1Notation } from '../../defs';\nimport { SHEET_PLUGIN } from '../../meta';\nimport { Range, type SheetType } from '../../types';\n\nexport type RangeListProps = {\n sheet: SheetType;\n};\n\nexport const RangeList = ({ sheet }: RangeListProps) => {\n const { t } = useTranslation(SHEET_PLUGIN);\n // TODO(thure): Implement similar to comments, #8121\n const handleSelectRange = (range: Range) => {};\n const handleDeleteRange = useCallback(\n (range: Range) => {\n const index = sheet.ranges.findIndex((sheetRange) => sheetRange === range);\n sheet.ranges.splice(index, 1);\n },\n [sheet],\n );\n return (\n <>\n <h2 className='p-2 text-sm font-semibold'>{t('range list heading')}</h2>\n <List.Root<Range> items={sheet.ranges} isItem={S.is(Range)}>\n {({ items: ranges }) =>\n ranges.map((range, i) => (\n <List.Item key={i} item={range} classNames={['p-2', ghostHover]}>\n <List.ItemDragHandle />\n <List.ItemTitle onClick={() => handleSelectRange(range)}>\n {t('range title', {\n position: rangeToA1Notation(rangeFromIndex(sheet, range.range)),\n key: t(`range key ${range.key} label`),\n value: t(`range value ${range.value} label`),\n })}\n </List.ItemTitle>\n <List.ItemDeleteButton onClick={() => handleDeleteRange(range)} />\n </List.Item>\n ))\n }\n </List.Root>\n </>\n );\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,OAAOA,SAASC,eAAuCC,kBAAkB;AAEzE,SAASC,aAAa;AAEtB,SAASC,qBAAqB;AAWvB,IAAMC,sBAAsBC,8BAAmDC,MAAAA;AAE/E,IAAMC,8BAA8B,CAAC,EAAEC,UAAUC,SAAQ,MAA8C;AAC5G,SAAO,sBAAA,cAACL,oBAAoBM,UAAQ;IAACC,OAAO;MAAEH;IAAS;KAAIC,QAAAA;AAC7D;AAEO,IAAMG,kBAAkB,CAACC,UAAAA;AAC9B,QAAM,EAAEL,SAAQ,IAAKM,WAAWV,mBAAAA,KAAwBW,MAAM,IAAIC,MAAM,6BAAA,CAAA;AACxE,QAAM,CAACC,KAAAA,IAASC,cAAc,YAAA;AAC5B,QAAIL,OAAO;AACT,YAAMI,SAAQT,SAASW,iBAAiBN,KAAAA;AACxC,YAAMI,OAAMG,KAAI;AAChB,aAAOH;IACT;EACF,GAAG;IAACJ;IAAOL;GAAS;AAEpB,SAAOS;AACT;;;AChCA,SAASI,kBAAkB;AAC3B,SAIEC,iBACAC,aACAC,kBAEK;AACP,SAASC,YAAYC,YAAYC,YAAYC,kBAAkB;AAE/D,SAAmCC,gBAAgB;AACnD,SAASC,iBAAiB;AAC1B,SAASC,YAAYC,wBAAwB;AAS7C,IAAMC,uBAAuBC,YAAYC,OAAM;AAExC,IAAMC,oBAAoBC,iBAAAA;;;ACzBjC,SAIEC,kBACAC,gBACAC,kBACAC,uBACK;AACP,SAASC,gBAA+BC,0BAA0B;AAElE,SAA0BC,cAAAA,aAA6BC,cAAc;AAErE,SAASC,YAAY;AACrB,SAASC,mBAAmB;AAE5B,SAASC,oBAAAA,yBAAwB;AACjC,SAASC,UAAU;AAWnB,IAAMC,kBAAkBC,eAAeC,OAAO;;EAE5C;IACEC,KAAKC,KAAKC;IACVC,OAAO;EACT;;EAEA;IACEH,KAAKC,KAAKG;IACVD,OAAO;EACT;;EAEA;IACEH,KAAKC,KAAKI;IACVF,OAAO;EACT;EACA;IACEH,KAAKC,KAAKK;IACVH,OAAO;EACT;EACA;IACEH,KAAKC,KAAKM;IACVJ,OAAO;EACT;;EAEA;IACEH,KAAKC,KAAKO;IACVL,OAAO;EACT;CACD;AAED,IAAMM,gBAAgBC,kBAAAA;AAaf,IAAMC,iBAAiB,CAAC,EAAEC,YAAY,CAAA,EAAE,MAAyB;AACtE,QAAM,EAAEC,WAAWC,SAAQ,IAAKC,YAAY;IAAEC,OAAO;IAASC,kBAAkB;EAAI,CAAA;AAEpF,QAAMC,mBAAmB,CAAChB,SAAAA;AACxB,UAAM,EAAEiB,UAAU,UAAUC,aAAaC,OAAM,IAAKT,UAAUU,KAAK,CAACC,UAAUA,MAAMrB,SAASA,IAAAA,KAAS,CAAC;AAEvG,WAAO;MACLiB;MACAK,OAAOtB;MACPuB,MAAM,MAAA;AACJ,YAAI,CAACL,eAAe,CAACC,QAAQ;AAC3B,iBAAO;QACT;AAGA,cAAMK,OAAOC,SAASC,cAAc,KAAA;AACpCF,aAAKG,YAAY;AAEjB,cAAMC,QAAQH,SAASC,cAAc,IAAA;AACrCE,cAAMC,YAAY7B;AAClB4B,cAAMD,YAAY;AAClBH,aAAKM,YAAYF,KAAAA;AAEjB,YAAIV,aAAa;AACf,gBAAMK,OAAOE,SAASC,cAAc,GAAA;AACpCH,eAAKM,YAAYX;AACjBK,eAAKI,YAAY;AACjBH,eAAKM,YAAYP,IAAAA;QACnB;AAEA,YAAIJ,QAAQ;AACV,gBAAMY,SAASN,SAASC,cAAc,KAAA;AACtCK,iBAAOF,YAAYV;AACnBY,iBAAOJ,YAAY;AACnBH,eAAKM,YAAYC,MAAAA;QACnB;AAEA,eAAOP;MACT;MACAQ,OAAO,CAACC,MAAMC,YAAYC,MAAMC,OAAAA;AAC9B,cAAMC,eAAeD,OAAOH,KAAKK,MAAMC,IAAIC,SAAQ,EAAGC;AACtDR,aAAKS,SACHT,KAAKK,MAAMK,OAAO;UAChBC,SAAS;YACPT;YACAC;YACAS,QAAQX,WAAWZ,SAASe,eAAe,OAAO;UACpD;UACAS,WAAW;YACTC,QAAQZ,OAAOD,WAAWZ,MAAMmB,SAAS;UAC3C;QACF,CAAA,CAAA;MAEJ;IACF;EACF;AAEA,SAAO;IACL9B;IACAJ,cAAcyC,GAAGpC,QAAAA;IACjBA,SAASqC,KAAKD,GAAG;MACfE,cAAc,CAACC,YAAAA;AACb,YAAIA,QAAQb,MAAMC,IAAIC,SAAQ,EAAG,CAAA,MAAO,KAAK;AAC3C,iBAAO;QACT;AACA,cAAMY,QAAQD,QAAQE,YAAY,KAAA;AAClC,YAAI,CAACD,SAASA,MAAMjB,SAASiB,MAAMhB,IAAI;AACrC,iBAAO;QACT;AAEA,cAAMkB,OAAOF,MAAME,KAAKC,YAAW;AACnC,YAAI,CAACJ,QAAQK,YAAYJ,MAAME,KAAKb,SAAS,GAAG;AAC9C,iBAAO;QACT;AAEA,eAAO;UACLN,MAAMiB,MAAMjB;UACZsB,SACE/C,WAAWgD,OAAO,CAAC,EAAE1D,KAAI,MAAOA,KAAK2D,WAAWL,IAAAA,CAAAA,EAAOM,IAAI,CAAC,EAAE5D,KAAI,MAAOgB,iBAAiBhB,IAAAA,CAAAA,KAAU,CAAA;QACxG;MACF;IACF,CAAA;IAEA6D,mBAAmBlE,eAAAA;IACnBmE,eAAe;MACbC,aAAa;MACbC,eAAe;MACfC,kBAAkB;;MAElBC,aAAa;MACbC,OAAO;MACPC,cAAc,MACZC,GACE,2EACA,8CACA,kBAAA;IAEN,CAAA;IACAC,OAAOtB,GAAG;MACR;QACEuB,KAAK;QACLC,KAAK,CAACvC,SAAAA;AACJ,iBAAOwC,iBAAiBxC,KAAKK,KAAK,MAAM,WAAWoC,iBAAiBzC,IAAAA,IAAQ0C,gBAAgB1C,IAAAA;QAC9F;MACF;KACD;;AAeL;AAwBO,IAAM2C,iBAAiB,CAAC,EAAEC,QAAQC,cAAa,MAAyB;AAC7E,MAAI7C;AACJ,MAAI8C;AAGJ,QAAMC,WAA4B;IAChCC,UAAU,CAACC,UAAAA;AACT,UAAIH,aAAa;AACf9C,aAAKS,SACHT,KAAKK,MAAMK,OAAO;UAChBC,SAAS;YAAE,GAAGmC;YAAalC,QAAQqC,MAAM1C,SAAQ;UAAG;UACpDM,WAAW;YAAEC,QAAQgC,YAAY5C,OAAO+C,MAAMzC;UAAO;QACvD,CAAA,CAAA;MAEJ;AAEAR,WAAKkD,MAAK;IACZ;EACF;AAEA,SAAOC,YAAWC,UAChB,MAAA;IACEC,YAAYC,OAAmB;AAC7BtD,aAAOsD;AACPV,eAASG,QAAAA;IACX;IAEArC,OAAOV,OAAkB;AACvB,YAAM,EAAEc,OAAM,IAAKd,MAAKK,MAAMQ,UAAU0C,OAAO,CAAA;AAG/CT,oBAAcU;AACd,YAAM7E,WAAWqB,MAAKK,MAAMoD,MAAMnF,aAAAA;AAClC,YAAM,EAAEoF,QAAO,IAAK/E,SAASgF,OAAOC,MAAM5D,MAAKK,MAAMC,IAAIC,SAAQ,CAAA;AACjEsD,gBAAUH,SAAS,CAAC,EAAEI,MAAM5D,MAAMC,GAAE,MAAE;AACpC,YAAID,QAAQY,UAAUX,MAAMW,QAAQ;AAClC,kBAAQgD,KAAK/F,MAAI;YACf,KAAK;AAEH+E,4BAAc;gBAAE5C,MAAMC;gBAAIA;cAAG;AAC7B;YAEF,KAAK;AAEH2C,4BAAc;gBAAE5C;gBAAMC,IAAID;cAAK;AAC/B;YAEF,KAAK;YACL,KAAK;AACH4C,4BAAc;gBAAE5C;gBAAMC;cAAG;AACzB,qBAAO;UACX;QACF;AAEA,eAAO;MACT,CAAA;AAGA,UAAI,CAAC2C,eAAe9C,MAAKK,MAAMC,IAAIC,SAAQ,EAAG,CAAA,MAAO,KAAK;AACxD,cAAMwD,MAAM/D,MAAKK,MAAMC,IAAI0D,YAAY,CAAA;AACvC,YAAIC,eAAeC,KAAKH,GAAAA,GAAM;AAC5BjB,wBAAc;YAAE5C,MAAM;YAAGC,IAAI4D,IAAIvD,SAAS;UAAE;QAC9C;MACF;AAEAqC,sBAAgB;QACdC,aAAaA,cAAc9C,MAAKK,MAAMC,IAAI0D,YAAYlB,YAAY5C,MAAM4C,YAAY3C,EAAE,IAAIqD;MAC5F,CAAA;IACF;EACF,CAAA;AAEJ;AAKA,IAAMK,YAAY,CAACM,MAAkBC,aAAAA;AACnC,MAAIA,SAASD,IAAAA,GAAO;AAClB,WAAO;EACT;AAEA,WAASE,QAAQF,KAAKG,YAAYD,UAAU,MAAMA,QAAQA,MAAME,aAAa;AAC3E,QAAIV,UAAUQ,OAAOD,QAAAA,GAAW;AAC9B,aAAO;IACT;EACF;AAEA,SAAO;AACT;;;AChTA,OAAOI,UAAiCC,iBAAAA,gBAAeC,aAAaC,cAAAA,aAAYC,YAAAA,iBAAgB;AAEhG,SAASC,aAAAA,kBAAiB;AAC1B,SAASC,wBAAwB;AACjC,SACEC,MAIAC,sBACK;;;ACNP,SAASC,aAAa;AACtB,SAASC,gBAAgB;AACzB,SAASC,aAAaC,YAAYC,gBAAgB;AAClD,SAASC,aAAAA,kBAAiB;AAC1B,SAASC,iBAAiB;AAC1B,SAASC,WAAW;AAEpB,SAASC,mBAAmBC,0BAA0B;;AAsBtD,IAAMC,UAAmE;EACvEC,SAAS;IAAEC,MAAMC,SAASC;EAAQ;EAClCC,YAAY;IAAEH,MAAMC,SAASG;EAAO;EACpCC,gBAAgB;IAAEL,MAAMC,SAASG;IAAQE,QAAQC,WAAWC;EAAQ;EACpEC,iBAAiB;IAAET,MAAMC,SAASG;IAAQE,QAAQC,WAAWG;EAAS;EACtEC,iBAAiB;IAAEX,MAAMC,SAASW;IAAQN,QAAQC,WAAWM;EAAS;EACtEC,aAAa;IAAEd,MAAMC,SAASW;IAAQN,QAAQC,WAAWQ;EAAK;EAC9DC,aAAa;IAAEhB,MAAMC,SAASW;IAAQN,QAAQC,WAAWU;EAAK;AAChE;AAEA,IAAMC,aAAa,CAACC,UAAAA;AAClB,QAAMC,KAAKD,MAAMC,MAAMD,MAAME;AAC7B,SAAO;IAAEC,KAAKC,KAAKC,IAAIL,MAAME,KAAKC,KAAKF,GAAGE,GAAG;IAAGG,KAAKF,KAAKC,IAAIL,MAAME,KAAKI,KAAKL,GAAGK,GAAG;EAAE;AACxF;AAEA,IAAMC,sBAAsB,CAACC,OAAeC,UAA0C;EACpFD;EACAL,KAAKM,KAAKN;EACVG,KAAKG,KAAKH;AACZ;AAEA,IAAMI,eAAe,CAACF,OAAeR,WAAuC;EAC1EW,OAAOJ,oBAAoBC,OAAOR,MAAME,IAAI;EAC5CU,KAAKL,oBAAoBC,OAAOR,MAAMC,MAAMD,MAAME,IAAI;AACxD;AAYO,IAAMW,aAAN,cAAyBC,SAAAA;EAQ9BC,YACmBC,QACAC,QACAC,WAA8B,CAAC,GAChD;AACA,UAAK;SAJYF,SAAAA;SACAC,SAAAA;SACAC,WAAAA;SAVHC,KAAK,SAASC,UAAUC,OAAM,EAAGC,SAAQ,CAAA;SAGzCC,SAAS,IAAIC,MAAAA;EAU7B;EAEA,IAAIC,QAAQ;AACV,WAAO,KAAKT;EACd;EAEA,IAAIR,QAAQ;AACV,WAAO,KAAKS;EACd;EAEA,IAAIS,WAAW;AACb,WAAO,KAAKR,SAASQ;EACvB;EAEA,IAAIC,SAAS;AACX,WAAO;MACLC,MAAM,KAAKX,OAAOW,KAAKC;MACvBC,SAAS,KAAKb,OAAOa,QAAQD;IAC/B;EACF;;;;EAKA,MAAyBE,QAAQ;AAC/BC,QAAI,cAAc;MAAEb,IAAI,KAAKA;IAAG,GAAA;;;;;;AAChCc,eAAW,KAAKhB,MAAM;AAEtB,SAAKD,OAAOO,OAAOW,GAAG,CAACC,UAAAA;AACrB,UAAIA,MAAMtD,SAAS,oBAAoB;AACrC,aAAKuD,MAAK;MACZ;IACF,CAAA;AAGA,SAAKC,QAAQ,KAAKrB,OAAOsB,gBAAgBC,gBAAgB;MAAE1D,MAAM2D,YAAY,KAAKvB,MAAM;MAAIE,IAAI,KAAKF,OAAOE;IAAG,CAAA,CAAA;AAC/G,UAAM,KAAKkB,MAAMI,KAAI;AAGrB,UAAMC,cAAc,KAAKL,MAAMd,OAAOW,GAAG,CAACC,UAAU,KAAKZ,OAAOoB,KAAKR,KAAAA,CAAAA;AACrE,SAAKS,KAAKC,UAAUH,WAAAA;AAEpB,SAAKN,MAAK;EACZ;;;;;;EAOAA,QAAQ;AACNU,IAAAA,WAAU,KAAKT,OAAK,QAAA;;;;;;;;;AACpB,SAAKA,MAAMZ,MAAMsB,GAAGC,WAAW,KAAKX,MAAMY,OAAO;AACjDC,WAAOC,QAAQ,KAAKlC,OAAOmC,KAAK,EAAEC,QAAQ,CAAC,CAACC,KAAK,EAAEC,MAAK,CAAE,MAAC;AACzDT,MAAAA,WAAU,KAAKT,OAAK,QAAA;;;;;;;;;AACpB,YAAM,EAAE/B,KAAKH,IAAG,IAAKqD,iBAAiB,KAAKvC,QAAQqC,GAAAA;AACnD,UAAIG,UAAUF,KAAAA,GAAQ;AACpB,cAAMG,UAAU,KAAK1C,OAAO2C,yBAAyB,KAAKC,wBAAwBL,KAAAA,CAAAA;AAClF,YAAIG,SAAS;AACXH,kBAAQ,KAAKvC,OAAO6C,mBAAmBH,OAAAA;QACzC,OAAO;AAGLH,kBAAQ;QACV;MACF;AAEA,WAAKlB,MAAMZ,MAAMsB,GAAGe,gBAAgB;QAAEtD,OAAO,KAAK6B,MAAMY;QAAS9C;QAAKG;MAAI,GAAGiD,KAAAA;IAC/E,CAAA;EACF;;;;;;;;EASAQ,cAAc;AACZ,SAAK1B,OAAOZ,MAAMsB,GAAGiB,sBAAAA;EACvB;EAEAC,WAAWC,GAAWC,IAAI,GAAG;AAC3B,UAAMC,MAAMC,cAAc,KAAKpD,OAAOW,MAAMsC,GAAGC,GAAGG,QAAAA;AAClD,SAAKlC,MAAK;AACV,WAAOgC;EACT;EAEAG,cAAcL,GAAWC,IAAI,GAAG;AAC9B,UAAMC,MAAMC,cAAc,KAAKpD,OAAOa,SAASoC,GAAGC,GAAGK,WAAAA;AACrD,SAAKpC,MAAK;AACV,WAAOgC;EACT;EAEAK,QAAQC,UAA+B;AACrC,UAAM1E,QAAQ;MACZE,MAAMsD,iBAAiB,KAAKvC,QAAQ,GAAG,KAAKA,OAAOa,QAAQ,CAAA,CAAE,IAAI4C,QAAAA,EAAU;MAC3EzE,IAAIuD,iBAAiB,KAAKvC,QAAQ,GAAG,KAAKA,OAAOa,QAAQ,KAAKb,OAAOa,QAAQD,SAAS,CAAA,CAAE,IAAI6C,QAAAA,EAAU;IACxG;AACA,UAAMC,SAAS,KAAKC,cAAc5E,KAAAA,EAAO6E,KAAI;AAC7C,UAAMC,QAAQ,KAAK7D,OAAOW,KAAKmD,QAAQL,QAAAA;AACvC,SAAKM,MAAMhF,KAAAA;AACX,SAAKiB,OAAOW,KAAKqD,OAAOH,OAAO,CAAA;AAC/B,WAAO,KAAK7D,OAAOiE,QAAQR,QAAAA;AAC3B,SAAKtC,MAAK;AACV,WAAO;MAAE+C,MAAM;MAAOL;MAAOM,WAAWV;MAAUW,UAAU,KAAKpE,OAAOiE,QAAQR,QAAAA;MAAWC;IAAO;EACpG;EAEAW,WAAWC,UAA+B;AACxC,UAAMvF,QAAQ;MACZE,MAAMsD,iBAAiB,KAAKvC,QAAQ,GAAGsE,QAAAA,IAAY,KAAKtE,OAAOW,KAAK,CAAA,CAAE,EAAE;MACxE3B,IAAIuD,iBAAiB,KAAKvC,QAAQ,GAAGsE,QAAAA,IAAY,KAAKtE,OAAOW,KAAK,KAAKX,OAAOW,KAAKC,SAAS,CAAA,CAAE,EAAE;IAClG;AACA,UAAM8C,SAAS,KAAKC,cAAc5E,KAAAA,EAAO6E,KAAI;AAC7C,UAAMC,QAAQ,KAAK7D,OAAOa,QAAQiD,QAAQQ,QAAAA;AAC1C,SAAKP,MAAMhF,KAAAA;AACX,SAAKiB,OAAOa,QAAQmD,OAAOH,OAAO,CAAA;AAClC,WAAO,KAAK7D,OAAOuE,WAAWD,QAAAA;AAC9B,SAAKnD,MAAK;AACV,WAAO;MAAE+C,MAAM;MAAOL;MAAOM,WAAWG;MAAUF,UAAU,KAAKpE,OAAOiE,QAAQK,QAAAA;MAAWZ;IAAO;EACpG;EAEAc,WAAW,EAAEX,OAAOM,WAAWC,UAAUV,OAAM,GAAiB;AAC9D,SAAK1D,OAAOW,KAAKqD,OAAOH,OAAO,GAAGM,SAAAA;AAClCT,WAAOtB,QAAQ,CAACE,OAAOjD,QAAAA;AACrB,UAAIiD,OAAO;AACT,aAAKtC,OAAOmC,MAAM,GAAG,KAAKnC,OAAOa,QAAQxB,GAAAA,CAAI,IAAI8E,SAAAA,EAAW,IAAI;UAAE7B;QAAM;MAC1E;IACF,CAAA;AACA,QAAI8B,UAAU;AACZ,WAAKpE,OAAOiE,QAAQE,SAAAA,IAAaC;IACnC;AACA,SAAKjD,MAAK;EACZ;EAEAsD,cAAc,EAAEZ,OAAOM,WAAWC,UAAUV,OAAM,GAAiB;AACjE,SAAK1D,OAAOa,QAAQmD,OAAOH,OAAO,GAAGM,SAAAA;AACrCT,WAAOtB,QAAQ,CAACE,OAAOpD,QAAAA;AACrB,UAAIoD,OAAO;AACT,aAAKtC,OAAOmC,MAAM,GAAGgC,SAAAA,IAAa,KAAKnE,OAAOW,KAAKzB,GAAAA,CAAI,EAAE,IAAI;UAAEoD;QAAM;MACvE;IACF,CAAA;AACA,QAAI8B,UAAU;AACZ,WAAKpE,OAAOuE,WAAWJ,SAAAA,IAAaC;IACtC;AACA,SAAKjD,MAAK;EACZ;;;;;;;;EAUA4C,MAAMhF,OAAkB;AACtB8C,IAAAA,WAAU,KAAKT,OAAK,QAAA;;;;;;;;;AACpB,UAAMsD,UAAU5F,WAAWC,KAAAA;AAC3B,UAAM2E,SAAS,KAAKiB,WAAW5F,OAAO,MAAM,IAAA;AAC5C,SAAKqC,MAAMZ,MAAMsB,GAAGe,gBAAgBvD,oBAAoB,KAAK8B,MAAMY,SAAS0C,OAAAA,GAAUhB,MAAAA;AACtF,SAAKiB,WAAW5F,OAAO,CAACS,SAAAA;AACtB,YAAM2D,MAAMyB,eAAe,KAAK5E,QAAQR,IAAAA;AACxC,aAAO,KAAKQ,OAAOmC,MAAMgB,GAAAA;IAC3B,CAAA;EACF;EAEA0B,IAAI9F,OAAkB;AACpB8C,IAAAA,WAAU,KAAKT,OAAK,QAAA;;;;;;;;;AACpB,SAAKA,MAAMZ,MAAMsB,GAAG+C,IAAIpF,aAAa,KAAK2B,MAAMY,SAASjD,KAAAA,CAAAA;AACzD,SAAK4F,WAAW5F,OAAO,CAACS,SAAAA;AACtB,YAAM2D,MAAMyB,eAAe,KAAK5E,QAAQR,IAAAA;AACxC,aAAO,KAAKQ,OAAOmC,MAAMgB,GAAAA;IAC3B,CAAA;EACF;EAEA2B,KAAK/F,OAAkB;AACrB8C,IAAAA,WAAU,KAAKT,OAAK,QAAA;;;;;;;;;AACpB,SAAKA,MAAMZ,MAAMsB,GAAGgD,KAAKrF,aAAa,KAAK2B,MAAMY,SAASjD,KAAAA,CAAAA;EAC5D;EAEAgG,MAAMvF,MAAmB;AACvBqC,IAAAA,WAAU,KAAKT,OAAK,QAAA;;;;;;;;;AACpB,QAAI,CAAC,KAAKA,MAAMZ,MAAMsB,GAAGkD,iBAAgB,GAAI;AAC3C,YAAMC,UAAU,KAAK7D,MAAMZ,MAAMsB,GAAGiD,MAAMzF,oBAAoB,KAAK8B,MAAMY,SAASxC,IAAAA,CAAAA;AAClF,iBAAW0F,UAAUD,SAAS;AAC5B,YAAIC,kBAAkBC,oBAAoB;AACxC,gBAAM,EAAEC,SAASC,SAAQ,IAAKH;AAC9B,gBAAM/B,MAAMyB,eAAe,KAAK5E,QAAQ;YAAEd,KAAKkG,QAAQlG;YAAKG,KAAK+F,QAAQ/F;UAAI,CAAA;AAC7E,eAAKW,OAAOmC,MAAMgB,GAAAA,IAAO;YAAEb,OAAO+C;UAAS;QAC7C;MACF;IACF;EACF;;EAGAC,OAAO;AACLzD,IAAAA,WAAU,KAAKT,OAAK,QAAA;;;;;;;;;AACpB,QAAI,KAAKA,MAAMZ,MAAMsB,GAAGyD,uBAAsB,GAAI;AAChD,WAAKnE,MAAMZ,MAAMsB,GAAGwD,KAAI;IAE1B;EACF;EAEAE,OAAO;AACL3D,IAAAA,WAAU,KAAKT,OAAK,QAAA;;;;;;;;;AACpB,QAAI,KAAKA,MAAMZ,MAAMsB,GAAG2D,uBAAsB,GAAI;AAChD,WAAKrE,MAAMZ,MAAMsB,GAAG0D,KAAI;IAE1B;EACF;;;;EAKAE,aAAalG,MAAoC;AAC/C,UAAM2D,MAAMyB,eAAe,KAAK5E,QAAQR,IAAAA;AACxC,WAAO,KAAKQ,OAAOmC,MAAMgB,GAAAA,GAAMb,SAAS;EAC1C;;;;EAKAqD,YAAYnG,MAAuC;AACjD,UAAM8C,QAAQ,KAAKoD,aAAalG,IAAAA;AAChC,QAAI8C,SAAS,MAAM;AACjB,aAAOsD;IACT;AAEA,QAAIpD,UAAUF,KAAAA,GAAQ;AACpB,aAAO,KAAKvC,OAAO2C,yBAAyB,KAAKC,wBAAwBL,KAAAA,CAAAA;IAC3E,OAAO;AACL,aAAO9D,OAAO8D,KAAAA;IAChB;EACF;;;;EAKAqB,cAAc5E,OAAuC;AACnD,WAAO,KAAK4F,WAAW5F,OAAO,CAACS,SAAS,KAAKkG,aAAalG,IAAAA,CAAAA;EAC5D;;;;EAKAqG,SAASrG,MAAoC;AAE3CqC,IAAAA,WAAU,KAAKT,OAAK,QAAA;;;;;;;;;AACpB,UAAMgE,UAAU9F,oBAAoB,KAAK8B,MAAMY,SAASxC,IAAAA;AACxD,UAAM8C,QAAQ,KAAKlB,MAAMZ,MAAMsB,GAAG4D,aAAaN,OAAAA;AAC/C,QAAI9C,iBAAiBwD,mBAAmB;AAEtC/E,UAAIgF,KAAK,cAAc;QAAEvG;QAAMwG,OAAO1D;MAAM,GAAA;;;;;;AAC5C,aAAOA,MAAM2D,SAAQ;IACvB;AAEA,WAAO3D;EACT;;;;EAKA4D,oBAAoB1G,MAAwE;AAC1FqC,IAAAA,WAAU,KAAKT,OAAK,QAAA;;;;;;;;;AACpB,UAAM+E,OAAO7G,oBAAoB,KAAK8B,MAAMY,SAASxC,IAAAA;AACrD,UAAM5B,OAAO,KAAKwD,MAAMZ,MAAMsB,GAAGsE,yBAAyBD,IAAAA;AAC1D,WAAOzI,QAAQE,IAAAA;EACjB;;;;EAKAyI,SAAS7G,MAAmB8C,OAAwB;AAClDT,IAAAA,WAAU,KAAKT,OAAK,QAAA;;;;;;;;;AACpB,QAAI,KAAKnB,SAASQ,UAAU;AAC1B,YAAM,IAAI6F,kBAAAA;IACZ;AAGA,QAAIC,UAAU;AACd,QAAI/G,KAAKN,OAAO,KAAKc,OAAOW,KAAKC,QAAQ;AACvCwC,oBAAc,KAAKpD,OAAOW,MAAMnB,KAAKN,KAAK,GAAGmE,QAAAA;AAC7CkD,gBAAU;IACZ;AACA,QAAI/G,KAAKH,OAAO,KAAKW,OAAOa,QAAQD,QAAQ;AAC1CwC,oBAAc,KAAKpD,OAAOa,SAASrB,KAAKH,KAAK,GAAGkE,WAAAA;AAChDgD,gBAAU;IACZ;AAEA,QAAIA,SAAS;AAEX,WAAKpF,MAAK;IACZ;AAGA,SAAKC,MAAMZ,MAAMsB,GAAGe,gBAAgB;MAAEtD,OAAO,KAAK6B,MAAMY;MAAS9C,KAAKM,KAAKN;MAAKG,KAAKG,KAAKH;IAAI,GAAG;MAC/F;QAACmD,UAAUF,KAAAA,IAAS,KAAKvC,OAAO6C,mBAAmBN,KAAAA,IAASA;;KAC7D;AAGD,UAAMa,MAAMyB,eAAe,KAAK5E,QAAQR,IAAAA;AACxC,QAAI8C,UAAUsD,UAAatD,UAAU,MAAM;AACzC,aAAO,KAAKtC,OAAOmC,MAAMgB,GAAAA;IAC3B,OAAO;AACL,UAAIX,UAAUF,KAAAA,GAAQ;AACpBA,gBAAQ,KAAKvC,OAAOyG,uBAAuB,KAAKC,wBAAwBnE,KAAAA,CAAAA;MAC1E;AAEA,WAAKtC,OAAOmC,MAAMgB,GAAAA,IAAO;QAAEb;MAAM;IACnC;EACF;;;;EAKAoE,UAAUhD,QAAmC;AAC3CzB,WAAOC,QAAQwB,MAAAA,EAAQtB,QAAQ,CAAC,CAACC,KAAK,EAAEC,MAAK,CAAE,MAAC;AAC9C,WAAK+D,SAASM,sBAAsBtE,GAAAA,GAAMC,KAAAA;IAC5C,CAAA;EACF;;;;EAKQqC,WAAW5F,OAAkB6H,IAAwE;AAC3G,UAAM5H,KAAKD,MAAMC,MAAMD,MAAME;AAC7B,UAAM4H,WAAW;MAAC1H,KAAKC,IAAIL,MAAME,KAAKC,KAAKF,GAAGE,GAAG;MAAGC,KAAK2H,IAAI/H,MAAME,KAAKC,KAAKF,GAAGE,GAAG;;AACnF,UAAM6H,cAAc;MAAC5H,KAAKC,IAAIL,MAAME,KAAKI,KAAKL,GAAGK,GAAG;MAAGF,KAAK2H,IAAI/H,MAAME,KAAKI,KAAKL,GAAGK,GAAG;;AACtF,UAAMsB,OAA4B,CAAA;AAClC,aAASzB,MAAM2H,SAAS,CAAA,GAAI3H,OAAO2H,SAAS,CAAA,GAAI3H,OAAO;AACrD,YAAM8H,WAA8B,CAAA;AACpC,eAASC,SAASF,YAAY,CAAA,GAAIE,UAAUF,YAAY,CAAA,GAAIE,UAAU;AACpE,cAAM3E,QAAQsE,GAAG;UAAE1H;UAAKG,KAAK4H;QAAO,CAAA;AACpC,YAAI3E,UAAUsD,QAAW;AACvBoB,mBAASE,KAAK5E,KAAAA;QAChB;MACF;AAEA3B,WAAKuG,KAAKF,QAAAA;IACZ;AAEA,WAAOrG;EACT;;EAGQwG,eAAeC,SAAmBnE,GAAWC,GAAW;AAC9D,UAAM,IAAImE,MAAM,iBAAA;EAClB;;EAGQC,aAAaF,SAAmBnE,GAAWsE,GAAWrE,GAAW;AACvE,UAAM,IAAImE,MAAM,iBAAA;EAClB;;;;;;;EASAZ,wBAAwBe,SAAyB;AAC/C3F,IAAAA,WAAUW,UAAUgF,OAAAA,GAAAA,QAAAA;;;;;;;;;AACpB,WAAOA,QAAQC,QAAQ,wBAAwB,CAACC,UAAAA;AAC9C,aAAO9C,eAAe,KAAK5E,QAAQ2G,sBAAsBe,KAAAA,CAAAA;IAC3D,CAAA;EACF;;;;EAKA/E,wBAAwB6E,SAAyB;AAC/C3F,IAAAA,WAAUW,UAAUgF,OAAAA,GAAAA,QAAAA;;;;;;;;;AACpB,WAAOA,QAAQC,QAAQ,kCAAkC,CAACtE,QAAAA;AACxD,aAAOwE,oBAAoBpF,iBAAiB,KAAKvC,QAAQmD,GAAAA,CAAAA;IAC3D,CAAA;EACF;;;;;;;;;EAWAyE,YAAYC,KAAmB;AAC7B,UAAM,EAAEC,MAAMC,OAAOC,KAAKC,OAAOC,SAASC,QAAO,IAAK,KAAKC,WAAWP,GAAAA;AACtE,WAAO,IAAIlJ,KAAKmJ,MAAMC,QAAQ,GAAGC,KAAKC,OAAOC,SAASC,OAAAA;EACxD;EAEAC,WAAWP,KAA6B;AACtChG,IAAAA,WAAU,KAAKT,OAAK,QAAA;;;;;;;;;AACpB,WAAO,KAAKA,MAAMZ,MAAMsB,GAAGuG,iBAAiBR,GAAAA;EAC9C;EAEAS,OAAOT,KAAyB;AAC9BhG,IAAAA,WAAU,KAAKT,OAAK,QAAA;;;;;;;;;AACpB,WAAO,KAAKA,MAAMZ,MAAMsB,GAAGyG,aAAaV,GAAAA;EAC1C;EAEAW,OAAOX,KAAyB;AAC9BhG,IAAAA,WAAU,KAAKT,OAAK,QAAA;;;;;;;;;AACpB,WAAO,KAAKA,MAAMZ,MAAMsB,GAAG2G,aAAaZ,GAAAA;EAC1C;AACF;;;AC1eA,SAASa,WAAWC,gBAAgB;AAU7B,IAAMC,gBAAgB,CAC3BC,OACAC,OACA,EAAEC,SAAQ,IAA2B,CAAC,MAAC;AAEvC,QAAM,CAACC,OAAOC,QAAAA,IAAYC,SAAAA;AAC1BC,YAAU,MAAA;AACR,QAAI,CAACN,SAAS,CAACC,OAAO;AACpB;IACF;AAEA,QAAIE;AACJ,UAAMI,IAAIC,WAAW,YAAA;AACnBL,MAAAA,SAAQ,IAAIM,WAAWT,OAAOC,OAAO;QAAEC;MAAS,CAAA;AAChD,YAAMC,OAAMO,KAAI;AAChBN,eAASD,MAAAA;IACX,CAAA;AAEA,WAAO,MAAA;AACLQ,mBAAaJ,CAAAA;AACb,WAAKJ,QAAOS,MAAAA;IACd;EACF,GAAG;IAACZ;IAAOC;IAAOC;GAAS;AAE3B,SAAOC;AACT;;;;AFWA,IAAMU,eAAeC,gBAAAA,eAA6CC,MAAAA;AAE3D,IAAMC,kBAAkB,MAAA;AAC7B,QAAMC,UAAUC,YAAWL,YAAAA;AAC3BM,EAAAA,WAAUF,SAAAA,QAAAA;;;;;;;;;AACV,SAAOA;AACT;AAEA,IAAMG,oBAAoB,CAAC,EACzBC,OACAC,QACAC,iBACAC,UACAC,YAAW,MACyF;AACpG,QAAM,EAAEC,IAAIC,SAASC,WAAU,IAAKC,eAAe,iBAAiBJ,WAAAA;AAEpE,QAAM,CAACK,QAAQC,iBAAAA,IAAqBC,UAAAA;AACpC,QAAM,CAACC,OAAOC,gBAAAA,IAAoBF,UAAAA;AAClC,QAAM,CAACG,qBAAqBC,sBAAAA,IAA0BJ,UAAAA;AACtD,QAAM,CAACK,YAAYC,aAAAA,IAAiBN,UAAyC,EAAA;AAE7E,QAAMO,YAAYC,YAChB,CAACC,eAAAA;AACCV,sBAAkBU,UAAAA;AAClBL,2BACEH,OAAOS,KAAMT,QAA8BQ,aAAa;MAAEE,MAAMF;MAAaC,IAAID;IAAY,IAAI1B,MAAAA;EAErG,GACA;IAACkB;GAAM;AAET,QAAMW,WAAWJ,YACf,CAACK,cAAAA;AACCX,qBAAiBW,SAAAA;AACjBT,2BACES,WAAWH,KAAMG,YAAkCf,SAAS;MAAEa,MAAMb;MAASY,IAAIZ;IAAQ,IAAIf,MAAAA;EAEjG,GACA;IAACe;GAAO;AAGV,SACE,gBAAAgB,OAAA,cAACjC,aAAakC,UAAQ;IACpBC,OAAO;MACLtB;MACAL;MACAM;MACAC;MACAE;MACAS;MACAN;MACAW;MACAT;MACAE;MACAC;;MAEAhB;MACAC;IACF;KAECC,QAAAA;AAGP;AASO,IAAMyB,gBAAgB,CAAC,EAC5BzB,UACA0B,OACAC,OACAC,UACA7B,iBACAD,OAAM,MACgC;AACtC,QAAMD,QAAQgC,cAAcH,OAAOC,OAAO;IAAEC;EAAS,CAAA;AAErD,SAAO,CAAC/B,QAAQ,OACd,gBAAAyB,OAAA,cAACQ,KAAKC,MAAI;IAAC7B,IAAI8B,iBAAiBL,KAAAA;KAC9B,gBAAAL,OAAA,cAAC1B,mBAAAA;IAAkBC;IAAcC;IAAgBC;KAC9CC,QAAAA,CAAAA;AAIT;;;AGvIA,OAAOiC,UACLC,eAAAA,cACAC,WAAAA,UACAC,QAKAC,YAAAA,iBACK;AAEP,SAASC,uBAAAA,4BAA2B;AACpC,SAASC,cAAcC,MAAMC,kBAAAA,uBAAsB;AACnD,SAASC,oBAAoB;AAC7B,SACEC,aACAC,gBACAC,YACAC,QAAAA,OACAC,sBAMK;;;ACzBP,SAASC,aAAAA,YAAWC,YAAAA,iBAAgB;AAEpC,SAASC,mBAAmBC,oBAAAA,yBAAwB;AACpD,SAASC,YAAYC,+BAA+B;AACpD,SAQEC,iBACAC,iBACAC,0BACK;AACP,SAASC,MAAAA,WAAU;;;AChBnB,SAASC,eAAAA,cAAaC,aAAAA,YAAWC,eAAe;AAEhD,SAA8BC,cAAcC,qBAAqBC,yBAAyB;AAC1F,SAASC,YAAAA,iBAAgB;AACzB,SAASC,oBAAAA,yBAAwB;;;ACJjC,SAASC,YAAY;;;ACArB,OAAOC,UAASC,eAAAA,oBAAmB;AAEnC,SAASC,SAAS;AAClB,SAASC,sBAAsB;AAC/B,SAASC,YAAY;AACrB,SAASC,kBAAkB;AAUpB,IAAMC,YAAY,CAAC,EAAEC,MAAK,MAAkB;AACjD,QAAM,EAAEC,EAAC,IAAKC,eAAeC,YAAAA;AAE7B,QAAMC,oBAAoB,CAACC,UAAAA;EAAkB;AAC7C,QAAMC,oBAAoBC,aACxB,CAACF,UAAAA;AACC,UAAMG,QAAQR,MAAMS,OAAOC,UAAU,CAACC,eAAeA,eAAeN,KAAAA;AACpEL,UAAMS,OAAOG,OAAOJ,OAAO,CAAA;EAC7B,GACA;IAACR;GAAM;AAET,SACE,gBAAAa,OAAA,cAAAA,OAAA,UAAA,MACE,gBAAAA,OAAA,cAACC,MAAAA;IAAGC,WAAU;KAA6Bd,EAAE,oBAAA,CAAA,GAC7C,gBAAAY,OAAA,cAACG,KAAKC,MAAI;IAAQC,OAAOlB,MAAMS;IAAQU,QAAQC,EAAEC,GAAGC,KAAAA;KACjD,CAAC,EAAEJ,OAAOT,OAAM,MACfA,OAAOc,IAAI,CAAClB,OAAOmB,MACjB,gBAAAX,OAAA,cAACG,KAAKS,MAAI;IAACC,KAAKF;IAAGG,MAAMtB;IAAOuB,YAAY;MAAC;MAAOC;;KAClD,gBAAAhB,OAAA,cAACG,KAAKc,gBAAc,IAAA,GACpB,gBAAAjB,OAAA,cAACG,KAAKe,WAAS;IAACC,SAAS,MAAM5B,kBAAkBC,KAAAA;KAC9CJ,EAAE,eAAe;IAChBgC,UAAUC,kBAAkBC,eAAenC,OAAOK,MAAMA,KAAK,CAAA;IAC7DqB,KAAKzB,EAAE,aAAaI,MAAMqB,GAAG,QAAQ;IACrCU,OAAOnC,EAAE,eAAeI,MAAM+B,KAAK,QAAQ;EAC7C,CAAA,CAAA,GAEF,gBAAAvB,OAAA,cAACG,KAAKqB,kBAAgB;IAACL,SAAS,MAAM1B,kBAAkBD,KAAAA;;AAOtE;;;ADzCO,IAAMiC,iBAAiBC,KAAK,MAAM,OAAO,+BAAA,CAAA;;;ADIzC,IAAMC,kCAAkC,CAACC,UAAAA;AAC9C,SAAO,GAAGA,MAAMC,KAAKC,GAAG,IAAIF,MAAMC,KAAKE,GAAG,IAAIH,MAAMI,GAAGF,GAAG,IAAIF,MAAMI,GAAGD,GAAG;AAC5E;AAEO,IAAME,+BAA+B,CAACC,WAAAA;AAC3C,QAAMC,SAASD,OAAOE,MAAM,GAAA;AAC5B,MAAID,OAAOE,WAAW,GAAG;AACvB,WAAO;EACT,OAAO;AACL,UAAM,CAACC,SAASC,SAASC,OAAOC,KAAAA,IAASN;AACzC,WAAO;MACLN,MAAM;QAAEC,KAAKY,SAASJ,OAAAA;QAAUP,KAAKW,SAASH,OAAAA;MAAS;MACvDP,IAAI;QAAEF,KAAKY,SAASF,KAAAA;QAAQT,KAAKW,SAASD,KAAAA;MAAO;IACnD;EACF;AACF;AAEO,IAAME,wCAAwC,CAACC,SAAAA;AACpD,QAAM,EAAEC,OAAOC,cAAa,IAAKC,gBAAAA;AACjC,QAAMC,uBAAuCC,aAC3C,CAAC,EAAEC,QAAQC,KAAI,MAAE;AACf,YAAQD,QAAAA;MACN,KAAKE,aAAaC,kBAAkB;AAClC,YAAI,CAACF,MAAMG,MAAMH,MAAMjB,WAAWqB,UAAaJ,MAAMG,OAAOE,kBAAiBX,MAAMY,KAAK,GAAG;AACzF;QACF;AACAX,sBAAcK,KAAKO,MAAM;AAEzB,cAAM9B,QAAQK,6BAA6BkB,KAAKjB,MAAM;AACtDN,iBAASgB,MAAMe,SAAS;UAAE,GAAG/B,MAAMI;UAAI4B,OAAO;QAAO,GAAG,IAAA;MAC1D;IACF;EACF,GACA;IAACf,MAAMY;IAAOX;GAAc;AAG9Be,oBAAkBC,cAAcd,oBAAAA;AAClC;AAEO,IAAMe,6BAA6B,MAAA;AACxC,QAAM,EAAElB,OAAOX,OAAM,IAAKa,gBAAAA;AAC1B,QAAMiB,WAAWC,oBAAAA;AAEjB,QAAMC,UAAUC,QACd,MAAMtB,MAAMY,MAAMS,SAASE,OAAO,CAACV,WAAiD,CAAC,CAACA,MAAAA,KAAW,CAAA,GACjG;;IAEEW,KAAKC,UAAUzB,MAAMY,MAAMS,OAAO;GACnC;AAGH,QAAMK,sBAAsBtB,aAC1B,CAACuB,gBAAAA;AACC,QAAI,CAACA,eAAe,CAACN,SAAS;AAC5B;IACF;AAEA,UAAMO,gBAAgBP,SAASQ,KAAK,CAAC,EAAEC,OAAM,MAAE;AAC7C,UAAIA,QAAQ;AACV,cAAM/C,QAAQK,6BAA6B0C,MAAAA;AAC3C,eAAO/C,QAAQgD,QAAQhD,OAAO4C,WAAAA,IAAe;MAC/C,OAAO;AACL,eAAO;MACT;IACF,CAAA;AAEA,QAAIC,eAAe;AACjB,WAAKT,SAAS;QACZ;UAAEd,QAAQ;UAAwCC,MAAM;YAAE0B,SAASrB,kBAAiBiB,aAAAA;UAAe;QAAE;OACtG;IACH;EACF,GACA;IAACT;IAAUE;GAAQ;AAGrB,QAAMY,YAAYX,QAAQ,MAAA;AACxB,WAAOY,UAAS,CAACC,eAA+BC,sBAAsB,MAAMV,oBAAoBS,UAAAA,CAAAA,GAAc,EAAA;EAChH,GAAG;IAACT;GAAoB;AAExBW,EAAAA,WAAU,MAAA;AACR,QAAI,CAAChD,QAAQ;AACX;IACF;AACA4C,cAAU5C,MAAAA;EACZ,GAAG;IAACA;IAAQ4C;GAAU;AACxB;;;AD1EO,IAAMK,oCAAoC,CAACC,UAAAA;AAChD,QAAM,CAACC,QAAQC,MAAAA,IAAUF,MAAMG,MAAM,GAAA;AACrC,SAAO;IACLC,KAAKC,SAASJ,MAAAA;IACdK,KAAKD,SAASH,MAAAA;EAChB;AACF;AAEA,IAAMK,sBAAsB,CAACC,UAAAA;AAC3B,SAAOA,MAAMC,MAAMC,QAAQC,OACzB,CAACC,KAAqBC,UAAUC,iBAAAA;AAC9B,QAAIN,MAAMC,MAAMM,WAAWF,QAAAA,KAAaL,MAAMC,MAAMM,WAAWF,QAAAA,EAAUG,MAAM;AAC7EJ,UAAIK,KAAKH,YAAAA,IAAgB;QAAEE,MAAMR,MAAMC,MAAMM,WAAWF,QAAAA,EAAUG;QAAME,YAAY;MAAK;IAC3F;AACA,WAAON;EACT,GACA;IAAEK,MAAM,CAAC;EAAE,CAAA;AAEf;AAEA,IAAME,mBAAmB,CAACX,UAAAA;AACxB,SAAOA,MAAMC,MAAMW,KAAKT,OACtB,CAACC,KAAqBS,OAAOP,iBAAAA;AAC3B,QAAIN,MAAMC,MAAMa,QAAQD,KAAAA,KAAUb,MAAMC,MAAMa,QAAQD,KAAAA,EAAOL,MAAM;AACjEJ,UAAIK,KAAKH,YAAAA,IAAgB;QAAEE,MAAMR,MAAMC,MAAMa,QAAQD,KAAAA,EAAOL;QAAME,YAAY;MAAK;IACrF;AACA,WAAON;EACT,GACA;IAAEK,MAAM,CAAC;EAAE,CAAA;AAEf;AAEA,IAAMM,mBAAmB,CAACf,OAAmBJ,KAAaE,QAAAA;AACxD,QAAMkB,UAAU;IAAEpB;IAAKE;EAAI;AAC3B,QAAMmB,WAAWjB,MAAMkB,SAASF,OAAAA;AAChC,QAAMG,SAASnB,MAAMC,MAAMkB,QAAQC,OAAO,CAAC,EAAEC,MAAK,MAAOC,QAAQC,eAAevB,MAAMC,OAAOoB,KAAAA,GAAQL,OAAAA,CAAAA;AACrG,QAAMQ,aAAaxB,MAAMC,MAAMwB,SAC3BL,OAAO,CAACM,WAAAA;AACR,UAAML,QAAQK,QAAQC,UAAUC,6BAA6BF,OAAQC,MAAM;AAC3E,WAAOD,UAAUL,QAAQC,QAAQD,OAAOL,OAAAA,IAAW;EACrD,CAAA,EACCa,IAAI,CAACH,WAAWI,kBAAiBJ,MAAAA,CAAAA,EACjCK,KAAK,GAAA;AAER,QAAMC,cAAchC,MAAMiC,oBAAoBjB,OAAAA;AAC9C,QAAMkB,OAAOF,aAAaE;AAC1B,QAAMC,SAASH,aAAaG;AAC5B,QAAMC,aAAajB,QAAQU,IAAIQ,qBAAAA,EAAuBC,QAAAA;AAEtD,SAAO;IACLC,OAAOC,WAAW;MAAEN;MAAMC;MAAQI,OAAOtB;IAAS,CAAA;IAClDwB,WAAWC,IAAGC,wBAAwB;MAAET;MAAMC;IAAO,CAAA,GAAIX,cAAcoB,oBAAoBR,UAAAA;IAC3FS,UAAUrB;EACZ;AACF;AACA,IAAMsB,iBAAiB,CAAC9C,UAAAA;AAEtB,QAAM+C,kBAAoC,CAAC;AAC3C,SAAO,CAACC,eAAAA;AACN;SAAIC,MAAMD,WAAWE,IAAItD,MAAMoD,WAAWG,MAAMvD,GAAG;MAAGwD,QAAQ,CAACC,GAAGC,OAAAA;AAChE,aAAO;WAAIL,MAAMD,WAAWE,IAAIpD,MAAMkD,WAAWG,MAAMrD,GAAG;QAAGsD,QAAQ,CAACC,IAAGE,OAAAA;AACvE,cAAM3D,MAAMoD,WAAWG,MAAMvD,MAAM0D;AACnC,cAAMxD,MAAMkD,WAAWG,MAAMrD,MAAMyD;AACnCR,wBAAgB,GAAGnD,GAAAA,IAAOE,GAAAA,EAAK,IAAIiB,iBAAiBf,OAAOJ,KAAKE,GAAAA;MAClE,CAAA;IACF,CAAA;AACA,WAAOiD;EACT;AACF;AAEO,IAAMS,eAAe,CAAC1D,SAAiB;EAC5CyC,OAAOkB,gBAAgB3D,GAAAA;EACvB2C,WAAW;EACXiB,cAAc;AAChB;AAEO,IAAMC,eAAe,CAAC/D,SAAiB;EAC5C2C,OAAOqB,gBAAgBhE,GAAAA;EACvB6C,WAAW;EACXiB,cAAc;AAChB;AAEA,IAAMG,aAAa,CAAC7D,UAAAA;AAClB,QAAM8D,eAAehB,eAAe9C,KAAAA;AACpC,SAAO,CAACgD,YAA8Be,UAAAA;AACpC,YAAQA,OAAAA;MACN,KAAK;AACH,eAAOD,aAAad,UAAAA;MACtB,KAAK;AACH,eAAO;aAAIC,MAAMD,WAAWE,IAAIpD,MAAMkD,WAAWG,MAAMrD,GAAG;UAAGK,OAAO,CAACC,KAAKiD,GAAGE,OAAAA;AAC3E,gBAAMS,IAAIhB,WAAWG,MAAMrD,MAAMyD;AACjCnD,cAAI,KAAK4D,CAAAA,EAAG,IAAIR,aAAaQ,CAAAA;AAC7B,iBAAO5D;QACT,GAAG,CAAC,CAAA;MACN,KAAK;AACH,eAAO;aAAI6C,MAAMD,WAAWE,IAAItD,MAAMoD,WAAWG,MAAMvD,GAAG;UAAGO,OAAO,CAACC,KAAKiD,GAAGC,OAAAA;AAC3E,gBAAMW,IAAIjB,WAAWG,MAAMvD,MAAM0D;AACjClD,cAAI,GAAG6D,CAAAA,IAAK,IAAIN,aAAaM,CAAAA;AAC7B,iBAAO7D;QACT,GAAG,CAAC,CAAA;MACN;AACE,eAAO,CAAC;IACZ;EACF;AACF;AAEO,IAAM8D,2BAA2B,CACtCC,QACAnE,UAAAA;AAEA,QAAM,CAACE,SAASkE,UAAAA,IAAcC,UAAyBtE,oBAAoBC,KAAAA,CAAAA;AAC3E,QAAM,CAACY,MAAM0D,OAAAA,IAAWD,UAAyB1D,iBAAiBX,KAAAA,CAAAA;AAElEuE,EAAAA,WAAU,MAAA;AACR,UAAMC,gBAAgBC,kBAAkBzE,MAAMC,OAAO;MAAC;KAAQ;AAC9D,QAAIkE,QAAQ;AACVA,aAAOO,WAAWb,WAAW7D,KAAAA;IAC/B;AACA,UAAM2E,oBAAoB,MAAA;AACxBR,cAAQS,cAAc,cAAA;IACxB;AACAJ,kBAAcK,OAAOC,YAAY,UAAUH,iBAAAA;AAC3C,UAAMI,cAAc/E,MAAMgF,MAAMC,OAAOC,GAAGP,iBAAAA;AAC1C,WAAO,MAAA;AACLH,oBAAcK,OAAOM,eAAe,UAAUR,iBAAAA;AAC9CI,kBAAAA;IACF;EACF,GAAG;IAAC/E;IAAOmE;GAAO;AAElBI,EAAAA,WAAU,MAAA;AACR,UAAMa,qBAAqBX,kBAAkBzE,MAAMC,OAAO;MAAC;KAAa;AACxE,UAAMoF,kBAAkBZ,kBAAkBzE,MAAMC,OAAO;MAAC;KAAU;AAClE,UAAMqF,yBAAyB,MAAA;AAC7BlB,iBAAWrE,oBAAoBC,KAAAA,CAAAA;IACjC;AACA,UAAMuF,sBAAsB,MAAA;AAC1BjB,cAAQ3D,iBAAiBX,KAAAA,CAAAA;IAC3B;AACAoF,uBAAmBP,OAAOC,YAAY,UAAUQ,sBAAAA;AAChDD,oBAAgBR,OAAOC,YAAY,UAAUS,mBAAAA;AAC7C,WAAO,MAAA;AACLH,yBAAmBP,OAAOM,eAAe,UAAUG,sBAAAA;AACnDD,sBAAgBR,OAAOM,eAAe,UAAUI,mBAAAA;IAClD;EACF,GAAG;IAACvF;IAAOmE;GAAO;AAElB,SAAO;IAAEjE;IAASU;EAAK;AACzB;;;ADtIA,IAAM4E,gBAAgC;EAAEC,OAAO;EAAQC,KAAK;EAAGC,KAAK;AAAE;AAEtE,IAAMC,eAAe;EACnBC,MAAM,CAAC;EACPC,iBAAiB;OAAIC,MAAM,EAAA;IAAKC,OAAO,CAACC,KAAKC,GAAGC,MAAAA;AAC9CF,QAAI,KAAKE,CAAAA,EAAG,IAAIC,aAAaD,CAAAA;AAC7B,WAAOF;EACT,GAAG,CAAC,CAAA;EACJI,iBAAiB;OAAIN,MAAM,EAAA;IAAKC,OAAO,CAACC,KAAKC,GAAGC,MAAAA;AAC9CF,QAAI,GAAGE,CAAAA,IAAK,IAAIG,aAAaH,CAAAA;AAC7B,WAAOF;EACT,GAAG,CAAC,CAAA;AACN;AAEA,IAAMM,SAAS;EACbT,iBAAiB;EACjBO,iBAAiB;AACnB;AAEA,IAAMG,kBAAkB;EACtBH,iBAAiB;IAAEI,MAAMC;IAAgBC,UAAU;EAAK;EACxDd,MAAM;IAAEY,MAAMC;IAAgBE,YAAY;EAAK;AACjD;AACA,IAAMC,kBAAkB;EAAEf,iBAAiB;IAAEW,MAAM;IAAIE,UAAU;EAAK;EAAGd,MAAM;IAAEY,MAAM;IAAKG,YAAY;EAAK;AAAE;AAExG,IAAME,YAAY,MAAA;AACvB,QAAM,EAAEC,EAAC,IAAKC,gBAAeC,YAAAA;AAC7B,QAAM,EAAEC,IAAIC,OAAOC,SAASC,WAAWC,UAAUC,QAAQC,qBAAqBC,YAAYC,gBAAe,IACvGC,gBAAAA;AAGF,QAAM,CAACC,QAAQC,SAAAA,IAAaC,UAA+B,IAAA;AAC3D,QAAM,CAACC,kBAAkBC,mBAAAA,IAAuBF,UAAgC,IAAA;AAChF,QAAMG,WAAWC,qBAAAA;AACjB,QAAMC,kBAAkBC,OAAAA;AACxB,QAAM,EAAEC,aAAY,IAAKC,aAAapB,EAAAA;AAEtC,QAAMqB,cAAcC,aAClB,CAACC,UAAAA;AACC,QAAI,CAACrB,SAAS;AACZ,YAAMsB,OAAOC,YAAYF,MAAMG,MAAM;AACrC,UAAIF,MAAM;AACR,YAAIA,KAAKjD,UAAU,QAAQ;AACzB4B,oBAAU;YAAE3B,KAAKgD,KAAKhD;YAAKC,KAAK+C,KAAK/C;UAAI,CAAA;AACzCqC,8BAAoB,IAAA;QACtB,OAAO;AACLA,8BAAoBU,IAAAA;QACtB;MACF,OAAO;AACLV,4BAAoB,IAAA;MACtB;IACF;EACF,GACA;IAACZ;GAAQ;AAIX,QAAMyB,cAAcL,aAClB,CAACM,QAAQL,UAAAA;AACP,QAAIA,OAAO;AACT,YAAM,EAAEM,KAAKC,MAAK,IAAKP;AACvB,YAAMQ,OAAO;QAAC;QAAS;QAAW;QAAaC,SAASH,GAAAA,IACpD,QACA;QAAC;QAAO;QAAa;QAAcG,SAASH,GAAAA,IAC1C,QACAI;AACN,YAAMC,QAAQL,IAAIM,WAAW,OAAA,IAAY;QAAC;QAAW;QAAaH,SAASH,GAAAA,IAAO,KAAK,IAAKC,QAAQ,KAAK;AACzGpB,cAAQ0B,QAAQL,MAAMG,KAAAA;IACxB;EACF,GACA;IAACjC;IAAOC;IAASQ;GAAO;AAG1B,QAAM2B,aAAaf,aACjB,CAACgB,UAAAA;AACC,QAAIA,UAAUL,QAAW;AACvBhC,YAAMsC,SAASC,kCAAkCtC,QAASuC,KAAK,GAAGH,KAAAA;IACpE;EACF,GACA;IAACrC;IAAOC;GAAQ;AAGlB,QAAMwC,mBAAmBpB,aACvB,CAAC,EAAES,MAAMxC,MAAMkD,OAAOE,aAAY,MAAE;AAClC,QAAIZ,SAAS,OAAO;AAClB,YAAMa,QAAQ3C,MAAM4C,MAAMC,KAAKC,SAASJ,YAAAA,CAAAA;AACxC1C,YAAM4C,MAAMG,QAAQJ,KAAAA,MAAW,CAAC;AAChC3C,YAAM4C,MAAMG,QAAQJ,KAAAA,EAAOrD,OAAOA;IACpC,OAAO;AACL,YAAM0D,WAAWhD,MAAM4C,MAAMK,QAAQH,SAASJ,YAAAA,CAAAA;AAC9C1C,YAAM4C,MAAMM,WAAWF,QAAAA,MAAc,CAAC;AACtChD,YAAM4C,MAAMM,WAAWF,QAAAA,EAAU1D,OAAOA;IAC1C;EACF,GACA;IAACU;GAAM;AAGT,QAAMmD,eAAe9B,aACnB,CAAC,EAAE+B,QAAQC,QAAQC,QAAQC,OAAM,MAAE;AACjC,UAAMC,QAAmB;MAAEC,MAAM;QAAElF,KAAK6E;QAAQ5E,KAAK8E;MAAO;IAAE;AAC9D,QAAIF,WAAWC,UAAUC,WAAWC,QAAQ;AAC1CC,YAAME,KAAK;QAAEnF,KAAK8E;QAAQ7E,KAAK+E;MAAO;IACxC;AACA,QAAItD,SAAS;AAEXe,sBAAgB2C,SAASxD,SAASyD,kBAAkBJ,KAAAA,CAAAA;IACtD,OAAO;AAELrD,eAASqD,MAAME,KAAKF,QAAQxB,MAAAA;IAC9B;EACF,GACA;IAAC/B;GAAQ;AAEX,QAAM4D,cAAcxC,aAClB,CAACC,UAAAA;AACC,QAAI,CAACf,mBAAmB,CAACW,cAAc;AACrCI,YAAMwC,gBAAe;IACvB;EACF,GACA;IAAC5C;IAAcX;GAAgB;AAGjC,QAAMwD,mBAAmB1C,aACvB,CAAC2C,QAAAA;AACC,YAAQA,IAAI1F,OAAK;MACf,KAAK;AACH,eAAOmC,QAAQwD,aAAa;UAC1BC,OAAO;YAAE3F,KAAKyF,IAAIzF;YAAKC,KAAK;YAAGF,OAAO;UAAO;UAC7C6F,KAAK;YAAE5F,KAAKyF,IAAIzF;YAAKC,KAAKwB,MAAM4C,MAAMC,KAAKuB,SAAS;YAAG9F,OAAO;UAAO;QACvE,CAAA;MACF,KAAK;AACH,eAAOmC,QAAQwD,aAAa;UAC1BC,OAAO;YAAE1F,KAAKwF,IAAIxF;YAAKD,KAAK;YAAGD,OAAO;UAAO;UAC7C6F,KAAK;YAAE3F,KAAKwF,IAAIxF;YAAKD,KAAKyB,MAAM4C,MAAMK,QAAQmB,SAAS;YAAG9F,OAAO;UAAO;QAC1E,CAAA;IACJ;EACF,GACA;IAACmC;IAAQT,MAAM4C;GAAM;AAGvB,QAAMyB,cAAchD,aAClB,CAACC,UAAAA;AACC,UAAMC,OAAOC,YAAYF,MAAMG,MAAM;AACrC,QAAIF,MAAM;AACRwC,uBAAiBxC,IAAAA;IACnB;EACF,GACA;IAACwC;GAAiB;AAGpB,QAAMO,gBAAgBjD,aACpB,CAACC,UAAAA;AACC,YAAQA,MAAMM,KAAG;MACf,KAAK;MACL,KAAK;AACHN,cAAMiD,eAAc;AACpB,eAAOlE,uBAAuBL,MAAMwE,MAAMnE,mBAAAA;MAC5C,KAAK;MACL,KAAK;AACH,YAAII,UAAUG,kBAAkB;AAC9B,kBAAQA,iBAAiBtC,OAAK;YAC5B,KAAK;YACL,KAAK;AACHgD,oBAAMiD,eAAc;AACpB,qBAAOR,iBAAiBnD,gBAAAA;UAC5B;QACF;IACJ;AACA,QAAIU,MAAMmD,WAAWnD,MAAMoD,SAAS;AAClC,cAAQpD,MAAMM,KAAG;QACf,KAAK;QACL,KAAK;AACHN,gBAAMiD,eAAc;AACpB,iBAAOlE,uBAAuBL,MAAM2E,IAAItE,mBAAAA;QAC1C,KAAK;QACL,KAAK;AACHiB,gBAAMiD,eAAc;AACpB,iBAAOlE,uBAAuBL,MAAM4E,KAAKvE,mBAAAA;QAC3C,KAAK;QACL,KAAK;AACHiB,gBAAMiD,eAAc;AACpB,iBAAOnE,UAAUJ,MAAM6E,MAAMzE,MAAAA;QAC/B,KAAK;AACHkB,gBAAMiD,eAAc;AACpB,iBAAOjD,MAAMwD,WAAW9E,MAAM+E,KAAI,IAAK/E,MAAMgF,KAAI;QACnD,KAAK;QACL,KAAK;AACH1D,gBAAMiD,eAAc;AACpB,iBAAOvE,MAAM+E,KAAI;MACrB;IACF;EACF,GACA;IAAC1E;IAAqBL;IAAOI;IAAQQ;IAAkBmD;GAAiB;AAG1E,QAAMkB,uBAAuBhE,OAAiC,IAAA;AAC9D,QAAM,CAACiE,iBAAiBC,kBAAAA,IAAsBxE,UAAgC,IAAA;AAC9E,QAAMyE,kBAAkBF,iBAAiB5G,MAAM4D,WAAW,YAAA,IAAgB,QAAQ;AAElF,QAAMmD,oBAAoBhE,aAAY,CAACC,UAAAA;AACrC,UAAMC,OAAOC,YAAYF,MAAMG,MAAM;AACrC,QAAIF,QAAQA,KAAKjD,MAAM4D,WAAW,QAAA,GAAW;AAC3CZ,YAAMiD,eAAc;AACpBU,2BAAqBtB,UAAUrC,MAAMG;AACrC0D,yBAAmB5D,IAAAA;IACrB;EACF,GAAG,CAAA,CAAE;AAEL,QAAM+D,uBAAuBjE,aAC3B,CAACkE,cAAAA;AACC,YAAQA,WAAAA;MACN,KAAK;MACL,KAAK;AACH,eAAOzE,SAAS;UACd0E,QAAQC,YAAYC;UACpBC,MAAM;YACJ3F;YACA8B,MAAMsD;YACN5C,OAAO0C,gBAAiBE,eAAAA,KAAoBG,cAAc,kBAAkB,IAAI;UAClF;QACF,CAAA;AACA;MACF,KAAK;AACH,eAAOzE,SAAS;UACd0E,QAAQC,YAAYG;UACpBD,MAAM;YACJ3F;YACA8B,MAAMsD;YACNS,WAAW7F,MAAM4C,MAAMwC,oBAAoB,QAAQ,SAAS,SAAA,EAAWF,gBAAiBE,eAAAA,CAAgB;UAC1G;QACF,CAAA;IACJ;EACF,GACA;IAACA;IAAiBF;IAAiBlF;IAAOc;GAAS;AAGrD,QAAM,EAAEmC,SAASJ,KAAI,IAAKiD,yBAAyBrF,QAAQT,KAAAA;AAE3D,QAAM+F,YAAYC,SAChB,MAAM;IACJC,WAAW;MAAEC,SAASxE;MAAa,GAAIzB,SAASkG,kBAAkB;QAAEC,OAAO1E;MAAY;IAAG,CAAA;IAC1F2E,eAAe;MAAEC,WAAWtG,MAAMuG,MAAMC,aAAY;IAAG,CAAA;IACvDC,eAAe;MACbC,QAAQ,CAACC,OAAQ3F,gBAAgB2C,UAAUgD;MAC3CC,eAAe,CAACC,UAAAA;AACd,YAAIpG,QAAQ;AAEVA,iBAAOqG,OAAO,OAAOD,MAAME,gBAAgB,cAAc,SAAS;QACpE;MACF;IACF,CAAA;KAEF;IAAC/G;IAAO0B;IAAazB;GAAQ;AAG/B,QAAM+G,iBAAiB3F,aACrB,CAACmB,UAAAA;AACC,UAAMjB,OAAOgB,kCAAkCC,KAAAA;AAC/C,WAAOxC,MAAMiH,YAAY1F,IAAAA;EAC3B,GACA;IAACvB;GAAM;AAGTkH,wCAAsCzG,MAAAA;AACtC0G,6BAAAA;AAEA,SACE,gBAAAC,OAAA,cAACC,OAAAA;IAAIC,MAAK;IAAOC,WAAU;KACzB,gBAAAH,OAAA,cAACI,gBAAAA;IAAeR;IAAgCjB;IAAsB0B,QAAQrF;MAC9E,gBAAAgF,OAAA,cAACM,MAAKC,SAAO;IACXlJ;IACAmJ,cAAcC;IACdC,WAAWC;IACX9E;IACAJ;IACAmF,cAAcvF;IACdwF,UAAU9E;IACV+E,YAAY7I;IACZ8I,eAAezI;IACfN;IACAgJ,SAAShH;IACTiH,gBAAgBxE;IAChByE,WAAWhE;IACXiE,eAAelD;IACfmD,SAASnE;IACToE,YAAW;IACXlB,WAAU;IACVjH;IACAoI,KAAKhI;MAEP,gBAAA0G,OAAA,cAACuB,aAAaC,MAAI;IAChBC,OAAO;IACPC,MAAM,CAAC,CAAC5D;IACR6D,cAAc,CAACC,aAAa7D,mBAAmB6D,WAAW3K,gBAAgB,IAAA;KAE1E,gBAAA+I,OAAA,cAACuB,aAAaM,gBAAc;IAACC,YAAYjE;MACzC,gBAAAmC,OAAA,cAACuB,aAAahB,SAAO;IAACwB,MAAM/D,oBAAoB,QAAQ,WAAW;IAASgE,YAAY;IAAGC,kBAAkB;KAC3G,gBAAAjC,OAAA,cAACuB,aAAaW,UAAQ,MACpB,gBAAAlC,OAAA,cAACuB,aAAaY,MAAI;IAACf,SAAS,MAAMlD,qBAAqB,eAAA;KACrD,gBAAA8B,OAAA,cAACoC,MAAAA;IACClK,MAAM;IACNmK,MAAMrE,oBAAoB,QAAQ,mCAAmC;MAEvE,gBAAAgC,OAAA,cAACsC,QAAAA,MAAM9J,EAAE,OAAOwF,eAAAA,eAA8B,CAAA,CAAA,GAEhD,gBAAAgC,OAAA,cAACuB,aAAaY,MAAI;IAACf,SAAS,MAAMlD,qBAAqB,cAAA;KACrD,gBAAA8B,OAAA,cAACoC,MAAAA;IACClK,MAAM;IACNmK,MAAMrE,oBAAoB,QAAQ,oCAAoC;MAExE,gBAAAgC,OAAA,cAACsC,QAAAA,MAAM9J,EAAE,OAAOwF,eAAAA,cAA6B,CAAA,CAAA,GAE/C,gBAAAgC,OAAA,cAACuB,aAAaY,MAAI;IAACf,SAAS,MAAMlD,qBAAqB,MAAA;KACrD,gBAAA8B,OAAA,cAACoC,MAAAA;IAAKlK,MAAM;IAAGmK,MAAK;MACpB,gBAAArC,OAAA,cAACsC,QAAAA,MAAM9J,EAAE,UAAUwF,eAAAA,QAAuB,CAAA,CAAA,CAAA,GAG9C,gBAAAgC,OAAA,cAACuB,aAAagB,OAAK,IAAA,CAAA,CAAA,CAAA;AAK7B;",
|
|
6
|
+
"names": ["React", "createContext", "useContext", "raise", "useAsyncState", "ComputeGraphContext", "createContext", "undefined", "ComputeGraphContextProvider", "registry", "children", "Provider", "value", "useComputeGraph", "space", "useContext", "raise", "Error", "graph", "useAsyncState", "getOrCreateGraph", "open", "syntaxTree", "RangeSetBuilder", "StateEffect", "StateField", "Decoration", "EditorView", "ViewPlugin", "WidgetType", "debounce", "invariant", "documentId", "singleValueFacet", "updateAllDecorations", "StateEffect", "define", "computeGraphFacet", "singleValueFacet", "acceptCompletion", "autocompletion", "completionStatus", "startCompletion", "HighlightStyle", "syntaxHighlighting", "ViewPlugin", "keymap", "tags", "spreadsheet", "singleValueFacet", "mx", "highlightStyles", "HighlightStyle", "define", "tag", "tags", "name", "class", "tagName", "number", "bool", "string", "invalid", "languageFacet", "singleValueFacet", "sheetExtension", "functions", "extension", "language", "spreadsheet", "idiom", "decimalSeparator", "createCompletion", "section", "description", "syntax", "find", "value", "label", "info", "root", "document", "createElement", "className", "title", "innerText", "appendChild", "detail", "apply", "view", "completion", "from", "to", "insertParens", "state", "doc", "toString", "length", "dispatch", "update", "changes", "insert", "selection", "anchor", "of", "data", "autocomplete", "context", "match", "matchBefore", "text", "toUpperCase", "explicit", "options", "filter", "startsWith", "map", "syntaxHighlighting", "autocompletion", "aboveCursor", "defaultKeymap", "activateOnTyping", "closeOnBlur", "icons", "tooltipClass", "mx", "keymap", "key", "run", "completionStatus", "acceptCompletion", "startCompletion", "rangeExtension", "onInit", "onStateChange", "activeRange", "notifier", "setRange", "range", "focus", "ViewPlugin", "fromClass", "constructor", "_view", "ranges", "undefined", "facet", "topNode", "parser", "parse", "visitTree", "type", "str", "sliceString", "RANGE_NOTATION", "test", "node", "callback", "child", "firstChild", "nextSibling", "React", "createContext", "useCallback", "useContext", "useState", "invariant", "fullyQualifiedId", "Grid", "useGridContext", "Event", "Resource", "getTypename", "FormatEnum", "TypeEnum", "invariant", "PublicKey", "log", "DetailedCellError", "ExportedCellChange", "typeMap", "BOOLEAN", "type", "TypeEnum", "Boolean", "NUMBER_RAW", "Number", "NUMBER_PERCENT", "format", "FormatEnum", "Percent", "NUMBER_CURRENCY", "Currency", "NUMBER_DATETIME", "String", "DateTime", "NUMBER_DATE", "Date", "NUMBER_TIME", "Time", "getTopLeft", "range", "to", "from", "row", "Math", "min", "col", "toSimpleCellAddress", "sheet", "cell", "toModelRange", "start", "end", "SheetModel", "Resource", "constructor", "_graph", "_sheet", "_options", "id", "PublicKey", "random", "truncate", "update", "Event", "graph", "readonly", "bounds", "rows", "length", "columns", "_open", "log", "initialize", "on", "event", "reset", "_node", "getOrCreateNode", "createSheetName", "getTypename", "open", "unsubscribe", "emit", "_ctx", "onDispose", "invariant", "hf", "clearSheet", "sheetId", "Object", "entries", "cells", "forEach", "key", "value", "addressFromIndex", "isFormula", "binding", "mapFunctionBindingFromId", "mapFormulaIndicesToRefs", "mapFormulaToNative", "setCellContents", "recalculate", "rebuildAndRecalculate", "insertRows", "i", "n", "idx", "insertIndices", "MAX_ROWS", "insertColumns", "MAX_COLUMNS", "dropRow", "rowIndex", "values", "getCellValues", "flat", "index", "indexOf", "clear", "splice", "rowMeta", "axis", "axisIndex", "axisMeta", "dropColumn", "colIndex", "columnMeta", "restoreRow", "restoreColumn", "topLeft", "_iterRange", "addressToIndex", "cut", "copy", "paste", "isClipboardEmpty", "changes", "change", "ExportedCellChange", "address", "newValue", "undo", "isThereSomethingToUndo", "redo", "isThereSomethingToRedo", "getCellValue", "getCellText", "undefined", "getValue", "DetailedCellError", "info", "error", "toString", "getValueDescription", "addr", "getCellValueDetailedType", "setValue", "ReadonlyException", "refresh", "mapFunctionBindingToId", "mapFormulaRefsToIndices", "setValues", "addressFromA1Notation", "cb", "rowRange", "max", "columnRange", "rowCells", "column", "push", "_deleteIndices", "indices", "Error", "_moveIndices", "j", "formula", "replace", "match", "addressToA1Notation", "toLocalDate", "num", "year", "month", "day", "hours", "minutes", "seconds", "toDateTime", "numberToDateTime", "toDate", "numberToDate", "toTime", "numberToTime", "useEffect", "useState", "useSheetModel", "graph", "sheet", "readonly", "model", "setModel", "useState", "useEffect", "t", "setTimeout", "SheetModel", "open", "clearTimeout", "close", "SheetContext", "createContext", "undefined", "useSheetContext", "context", "useContext", "invariant", "SheetProviderImpl", "model", "onInfo", "ignoreAttention", "children", "__gridScope", "id", "editing", "setEditing", "useGridContext", "cursor", "setCursorInternal", "useState", "range", "setRangeInternal", "cursorFallbackRange", "setCursorFallbackRange", "activeRefs", "setActiveRefs", "setCursor", "useCallback", "nextCursor", "to", "from", "setRange", "nextRange", "React", "Provider", "value", "SheetProvider", "graph", "sheet", "readonly", "useSheetModel", "Grid", "Root", "fullyQualifiedId", "React", "useCallback", "useMemo", "useRef", "useState", "useIntentDispatcher", "DropdownMenu", "Icon", "useTranslation", "useAttention", "closestCell", "defaultSizeRow", "editorKeys", "Grid", "GridCellEditor", "useEffect", "useState", "createDocAccessor", "fullyQualifiedId", "parseValue", "cellClassesForFieldType", "colToA1Notation", "rowToA1Notation", "commentedClassName", "mx", "useCallback", "useEffect", "useMemo", "LayoutAction", "useIntentDispatcher", "useIntentResolver", "debounce", "fullyQualifiedId", "lazy", "React", "useCallback", "S", "useTranslation", "List", "ghostHover", "RangeList", "sheet", "t", "useTranslation", "SHEET_PLUGIN", "handleSelectRange", "range", "handleDeleteRange", "useCallback", "index", "ranges", "findIndex", "sheetRange", "splice", "React", "h2", "className", "List", "Root", "items", "isItem", "S", "is", "Range", "map", "i", "Item", "key", "item", "classNames", "ghostHover", "ItemDragHandle", "ItemTitle", "onClick", "position", "rangeToA1Notation", "rangeFromIndex", "value", "ItemDeleteButton", "SheetContainer", "lazy", "completeCellRangeToThreadCursor", "range", "from", "col", "row", "to", "parseThreadAnchorAsCellRange", "cursor", "coords", "split", "length", "fromCol", "fromRow", "toCol", "toRow", "parseInt", "useUpdateFocusedCellOnThreadSelection", "grid", "model", "setActiveRefs", "useSheetContext", "handleScrollIntoView", "useCallback", "action", "data", "LayoutAction", "SCROLL_INTO_VIEW", "id", "undefined", "fullyQualifiedId", "sheet", "thread", "setFocus", "plane", "useIntentResolver", "SHEET_PLUGIN", "useSelectThreadOnCellFocus", "dispatch", "useIntentDispatcher", "threads", "useMemo", "filter", "JSON", "stringify", "selectClosestThread", "cellAddress", "closestThread", "find", "anchor", "inRange", "current", "debounced", "debounce", "cellCoords", "requestAnimationFrame", "useEffect", "dxGridCellIndexToSheetCellAddress", "index", "colStr", "rowStr", "split", "col", "parseInt", "row", "createDxGridColumns", "model", "sheet", "columns", "reduce", "acc", "columnId", "numericIndex", "columnMeta", "size", "grid", "resizeable", "createDxGridRows", "rows", "rowId", "rowMeta", "projectCellProps", "address", "rawValue", "getValue", "ranges", "filter", "range", "inRange", "rangeFromIndex", "threadRefs", "threads", "thread", "anchor", "parseThreadAnchorAsCellRange", "map", "fullyQualifiedId", "join", "description", "getValueDescription", "type", "format", "classNames", "cellClassNameForRange", "reverse", "value", "parseValue", "className", "mx", "cellClassesForFieldType", "commentedClassName", "dataRefs", "gridCellGetter", "cachedGridCells", "nextBounds", "Array", "end", "start", "forEach", "_", "c0", "r0", "rowLabelCell", "rowToA1Notation", "resizeHandle", "colLabelCell", "colToA1Notation", "cellGetter", "getGridCells", "plane", "r", "c", "useSheetModelDxGridProps", "dxGrid", "setColumns", "useState", "setRows", "useEffect", "cellsAccessor", "createDocAccessor", "getCells", "handleCellsUpdate", "requestUpdate", "handle", "addListener", "unsubscribe", "graph", "update", "on", "removeListener", "columnMetaAccessor", "rowMetaAccessor", "handleColumnMetaUpdate", "handleRowMetaUpdate", "inertPosition", "plane", "col", "row", "initialCells", "grid", "frozenColsStart", "Array", "reduce", "acc", "_", "i", "rowLabelCell", "frozenRowsStart", "colLabelCell", "frozen", "sheetRowDefault", "size", "defaultSizeRow", "readonly", "resizeable", "sheetColDefault", "GridSheet", "t", "useTranslation", "SHEET_PLUGIN", "id", "model", "editing", "setCursor", "setRange", "cursor", "cursorFallbackRange", "activeRefs", "ignoreAttention", "useSheetContext", "dxGrid", "setDxGrid", "useState", "extraplanarFocus", "setExtraplanarFocus", "dispatch", "useIntentDispatcher", "rangeController", "useRef", "hasAttention", "useAttention", "handleFocus", "useCallback", "event", "cell", "closestCell", "target", "handleClose", "_value", "key", "shift", "axis", "includes", "undefined", "delta", "startsWith", "refocus", "handleBlur", "value", "setValue", "dxGridCellIndexToSheetCellAddress", "index", "handleAxisResize", "numericIndex", "rowId", "sheet", "rows", "parseInt", "rowMeta", "columnId", "columns", "columnMeta", "handleSelect", "minCol", "maxCol", "minRow", "maxRow", "range", "from", "to", "current", "rangeToA1Notation", "handleWheel", "stopPropagation", "selectEntireAxis", "pos", "setSelection", "start", "end", "length", "handleClick", "handleKeyDown", "preventDefault", "clear", "metaKey", "ctrlKey", "cut", "copy", "paste", "shiftKey", "redo", "undo", "contextMenuAnchorRef", "contextMenuOpen", "setContextMenuOpen", "contextMenuAxis", "handleContextMenu", "handleAxisMenuAction", "operation", "action", "SheetAction", "INSERT_AXIS", "data", "DROP_AXIS", "axisIndex", "useSheetModelDxGridProps", "extension", "useMemo", "editorKeys", "onClose", "initialContent", "onNav", "sheetExtension", "functions", "graph", "getFunctions", "rangeExtension", "onInit", "fn", "onStateChange", "state", "mode", "activeRange", "getCellContent", "getCellText", "useUpdateFocusedCellOnThreadSelection", "useSelectThreadOnCellFocus", "React", "div", "role", "className", "GridCellEditor", "onBlur", "Grid", "Content", "limitColumns", "DEFAULT_COLUMNS", "limitRows", "DEFAULT_ROWS", "onAxisResize", "onSelect", "rowDefault", "columnDefault", "onFocus", "onWheelCapture", "onKeyDown", "onContextMenu", "onClick", "overscroll", "ref", "DropdownMenu", "Root", "modal", "open", "onOpenChange", "nextOpen", "VirtualTrigger", "virtualRef", "side", "sideOffset", "collisionPadding", "Viewport", "Item", "Icon", "icon", "span", "Arrow"]
|
|
7
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"inputs":{"packages/plugins/plugin-sheet/src/components/ComputeGraph/ComputeGraphContextProvider.tsx":{"bytes":4118,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/ComputeGraph/index.ts":{"bytes":572,"imports":[{"path":"packages/plugins/plugin-sheet/src/components/ComputeGraph/ComputeGraphContextProvider.tsx","kind":"import-statement","original":"./ComputeGraphContextProvider"}],"format":"esm"},"packages/plugins/plugin-sheet/src/defs/sheet-range-types.ts":{"bytes":3812,"imports":[],"format":"esm"},"packages/plugins/plugin-sheet/src/defs/types.ts":{"bytes":9728,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-sheet/src/meta.ts":{"bytes":1402,"imports":[],"format":"esm"},"packages/plugins/plugin-sheet/src/types.ts":{"bytes":10371,"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-sheet/src/defs/util.ts":{"bytes":13423,"imports":[{"path":"@dxos/crypto","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/defs/types.ts","kind":"import-statement","original":"./types"},{"path":"packages/plugins/plugin-sheet/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-sheet/src/defs/index.ts":{"bytes":692,"imports":[{"path":"packages/plugins/plugin-sheet/src/defs/sheet-range-types.ts","kind":"import-statement","original":"./sheet-range-types"},{"path":"packages/plugins/plugin-sheet/src/defs/types.ts","kind":"import-statement","original":"./types"},{"path":"packages/plugins/plugin-sheet/src/defs/util.ts","kind":"import-statement","original":"./util"}],"format":"esm"},"packages/plugins/plugin-sheet/src/integrations/thread-ranges.ts":{"bytes":12290,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/components/index.ts","kind":"import-statement","original":"../components"},{"path":"packages/plugins/plugin-sheet/src/defs/index.ts","kind":"import-statement","original":"../defs"},{"path":"packages/plugins/plugin-sheet/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-sheet/src/integrations/index.ts":{"bytes":527,"imports":[{"path":"packages/plugins/plugin-sheet/src/integrations/thread-ranges.ts","kind":"import-statement","original":"./thread-ranges"}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/GridSheet/util.ts":{"bytes":22197,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-data","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/defs/index.ts","kind":"import-statement","original":"../../defs"},{"path":"packages/plugins/plugin-sheet/src/integrations/index.ts","kind":"import-statement","original":"../../integrations"}],"format":"esm"},"packages/plugins/plugin-sheet/src/compute-graph/compute-node.ts":{"bytes":5958,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"#hyperformula","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/defs/index.ts","kind":"import-statement","original":"../defs"}],"format":"esm"},"packages/plugins/plugin-sheet/src/compute-graph/functions/async-function.ts":{"bytes":19212,"imports":[{"path":"lodash.defaultsdeep","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"#hyperformula","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-sheet/src/compute-graph/functions/edge-function.ts":{"bytes":14333,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/plugin-script/edge","kind":"import-statement","external":true},{"path":"@dxos/plugin-script/types","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"#hyperformula","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/compute-graph/functions/async-function.ts","kind":"import-statement","original":"./async-function"}],"format":"esm"},"packages/plugins/plugin-sheet/src/compute-graph/functions/function-defs.ts":{"bytes":204669,"imports":[],"format":"esm"},"packages/plugins/plugin-sheet/src/compute-graph/functions/index.ts":{"bytes":749,"imports":[{"path":"packages/plugins/plugin-sheet/src/compute-graph/functions/async-function.ts","kind":"import-statement","original":"./async-function"},{"path":"packages/plugins/plugin-sheet/src/compute-graph/functions/edge-function.ts","kind":"import-statement","original":"./edge-function"},{"path":"packages/plugins/plugin-sheet/src/compute-graph/functions/function-defs.ts","kind":"import-statement","original":"./function-defs"}],"format":"esm"},"packages/plugins/plugin-sheet/src/compute-graph/compute-graph.ts":{"bytes":29202,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/plugin-script/types","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"#hyperformula","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/compute-graph/compute-node.ts","kind":"import-statement","original":"./compute-node"},{"path":"packages/plugins/plugin-sheet/src/compute-graph/functions/index.ts","kind":"import-statement","original":"./functions"}],"format":"esm"},"packages/plugins/plugin-sheet/src/compute-graph/compute-graph-registry.ts":{"bytes":9451,"imports":[{"path":"lodash.defaultsdeep","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"#hyperformula","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/compute-graph/compute-graph.ts","kind":"import-statement","original":"./compute-graph"},{"path":"packages/plugins/plugin-sheet/src/compute-graph/functions/index.ts","kind":"import-statement","original":"./functions"}],"format":"esm"},"packages/plugins/plugin-sheet/src/compute-graph/index.ts":{"bytes":847,"imports":[{"path":"packages/plugins/plugin-sheet/src/compute-graph/compute-graph.ts","kind":"import-statement","original":"./compute-graph"},{"path":"packages/plugins/plugin-sheet/src/compute-graph/compute-graph-registry.ts","kind":"import-statement","original":"./compute-graph-registry"},{"path":"packages/plugins/plugin-sheet/src/compute-graph/compute-node.ts","kind":"import-statement","original":"./compute-node"},{"path":"packages/plugins/plugin-sheet/src/compute-graph/functions/index.ts","kind":"import-statement","original":"./functions"}],"format":"esm"},"packages/plugins/plugin-sheet/src/extensions/compute.ts":{"bytes":18005,"imports":[{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/compute-graph/index.ts","kind":"import-statement","original":"../compute-graph"}],"format":"esm"},"packages/plugins/plugin-sheet/src/extensions/editor/extension.ts":{"bytes":28505,"imports":[{"path":"@codemirror/autocomplete","kind":"import-statement","external":true},{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@lezer/highlight","kind":"import-statement","external":true},{"path":"codemirror-lang-spreadsheet","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/defs/index.ts","kind":"import-statement","original":"../../defs"}],"format":"esm"},"packages/plugins/plugin-sheet/src/extensions/editor/index.ts":{"bytes":520,"imports":[{"path":"packages/plugins/plugin-sheet/src/extensions/editor/extension.ts","kind":"import-statement","original":"./extension"}],"format":"esm"},"packages/plugins/plugin-sheet/src/extensions/index.ts":{"bytes":593,"imports":[{"path":"packages/plugins/plugin-sheet/src/extensions/compute.ts","kind":"import-statement","original":"./compute"},{"path":"packages/plugins/plugin-sheet/src/extensions/editor/index.ts","kind":"import-statement","original":"./editor"}],"format":"esm"},"packages/plugins/plugin-sheet/src/model/sheet-model.ts":{"bytes":59722,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"#hyperformula","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/compute-graph/index.ts","kind":"import-statement","original":"../compute-graph"},{"path":"packages/plugins/plugin-sheet/src/defs/index.ts","kind":"import-statement","original":"../defs"}],"format":"esm"},"packages/plugins/plugin-sheet/src/model/useSheetModel.ts":{"bytes":3105,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/model/index.ts","kind":"import-statement","original":"../model"}],"format":"esm"},"packages/plugins/plugin-sheet/src/model/index.ts":{"bytes":619,"imports":[{"path":"packages/plugins/plugin-sheet/src/model/sheet-model.ts","kind":"import-statement","original":"./sheet-model"},{"path":"packages/plugins/plugin-sheet/src/model/useSheetModel.ts","kind":"import-statement","original":"./useSheetModel"}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/SheetContext/SheetContext.tsx":{"bytes":10187,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/model/index.ts","kind":"import-statement","original":"../../model"}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/SheetContext/index.ts":{"bytes":537,"imports":[{"path":"packages/plugins/plugin-sheet/src/components/SheetContext/SheetContext.tsx","kind":"import-statement","original":"./SheetContext"}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/GridSheet/GridSheet.tsx":{"bytes":44289,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/components/GridSheet/util.ts","kind":"import-statement","original":"./util"},{"path":"packages/plugins/plugin-sheet/src/defs/index.ts","kind":"import-statement","original":"../../defs"},{"path":"packages/plugins/plugin-sheet/src/extensions/index.ts","kind":"import-statement","original":"../../extensions"},{"path":"packages/plugins/plugin-sheet/src/integrations/index.ts","kind":"import-statement","original":"../../integrations"},{"path":"packages/plugins/plugin-sheet/src/meta.ts","kind":"import-statement","original":"../../meta"},{"path":"packages/plugins/plugin-sheet/src/types.ts","kind":"import-statement","original":"../../types"},{"path":"packages/plugins/plugin-sheet/src/components/SheetContext/index.ts","kind":"import-statement","original":"../SheetContext"}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/GridSheet/index.ts":{"bytes":523,"imports":[{"path":"packages/plugins/plugin-sheet/src/components/GridSheet/GridSheet.tsx","kind":"import-statement","original":"./GridSheet"}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/RangeList/RangeList.tsx":{"bytes":6853,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-list","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/defs/index.ts","kind":"import-statement","original":"../../defs"},{"path":"packages/plugins/plugin-sheet/src/meta.ts","kind":"import-statement","original":"../../meta"},{"path":"packages/plugins/plugin-sheet/src/types.ts","kind":"import-statement","original":"../../types"}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/RangeList/index.ts":{"bytes":523,"imports":[{"path":"packages/plugins/plugin-sheet/src/components/RangeList/RangeList.tsx","kind":"import-statement","original":"./RangeList"}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/FunctionEditor/FunctionEditor.tsx":{"bytes":5059,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/defs/index.ts","kind":"import-statement","original":"../../defs"},{"path":"packages/plugins/plugin-sheet/src/components/SheetContext/index.ts","kind":"import-statement","original":"../SheetContext"}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/FunctionEditor/index.ts":{"bytes":545,"imports":[{"path":"packages/plugins/plugin-sheet/src/components/FunctionEditor/FunctionEditor.tsx","kind":"import-statement","original":"./FunctionEditor"}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/Toolbar/Toolbar.tsx":{"bytes":32666,"imports":[{"path":"@radix-ui/react-context","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/defs/index.ts","kind":"import-statement","original":"../../defs"},{"path":"packages/plugins/plugin-sheet/src/integrations/index.ts","kind":"import-statement","original":"../../integrations"},{"path":"packages/plugins/plugin-sheet/src/meta.ts","kind":"import-statement","original":"../../meta"},{"path":"packages/plugins/plugin-sheet/src/components/SheetContext/index.ts","kind":"import-statement","original":"../SheetContext"}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/Toolbar/index.ts":{"bytes":519,"imports":[{"path":"packages/plugins/plugin-sheet/src/components/Toolbar/Toolbar.tsx","kind":"import-statement","original":"./Toolbar"}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/SheetContainer/SheetContainer.tsx":{"bytes":4074,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/components/ComputeGraph/index.ts","kind":"import-statement","original":"../ComputeGraph"},{"path":"packages/plugins/plugin-sheet/src/components/FunctionEditor/index.ts","kind":"import-statement","original":"../FunctionEditor"},{"path":"packages/plugins/plugin-sheet/src/components/GridSheet/index.ts","kind":"import-statement","original":"../GridSheet"},{"path":"packages/plugins/plugin-sheet/src/components/SheetContext/index.ts","kind":"import-statement","original":"../SheetContext"},{"path":"packages/plugins/plugin-sheet/src/components/Toolbar/index.ts","kind":"import-statement","original":"../Toolbar"}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/SheetContainer/index.ts":{"bytes":721,"imports":[{"path":"packages/plugins/plugin-sheet/src/components/SheetContainer/SheetContainer.tsx","kind":"import-statement","original":"./SheetContainer"}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/index.ts":{"bytes":1188,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/components/ComputeGraph/index.ts","kind":"import-statement","original":"./ComputeGraph"},{"path":"packages/plugins/plugin-sheet/src/components/GridSheet/index.ts","kind":"import-statement","original":"./GridSheet"},{"path":"packages/plugins/plugin-sheet/src/components/RangeList/index.ts","kind":"import-statement","original":"./RangeList"},{"path":"packages/plugins/plugin-sheet/src/components/SheetContext/index.ts","kind":"import-statement","original":"./SheetContext"},{"path":"packages/plugins/plugin-sheet/src/components/SheetContainer/index.ts","kind":"dynamic-import","original":"./SheetContainer"}],"format":"esm"},"packages/plugins/plugin-sheet/src/serializer.ts":{"bytes":2746,"imports":[{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"packages/plugins/plugin-sheet/src/translations.ts":{"bytes":5078,"imports":[{"path":"packages/plugins/plugin-sheet/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-sheet/src/SheetPlugin.tsx":{"bytes":31482,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/plugin-script/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/components/index.ts","kind":"import-statement","original":"./components"},{"path":"packages/plugins/plugin-sheet/src/defs/index.ts","kind":"import-statement","original":"./defs"},{"path":"packages/plugins/plugin-sheet/src/extensions/index.ts","kind":"import-statement","original":"./extensions"},{"path":"packages/plugins/plugin-sheet/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-sheet/src/serializer.ts","kind":"import-statement","original":"./serializer"},{"path":"packages/plugins/plugin-sheet/src/translations.ts","kind":"import-statement","original":"./translations"},{"path":"packages/plugins/plugin-sheet/src/types.ts","kind":"import-statement","original":"./types"},{"path":"packages/plugins/plugin-sheet/src/compute-graph/index.ts","kind":"dynamic-import","original":"./compute-graph"}],"format":"esm"},"packages/plugins/plugin-sheet/src/index.ts":{"bytes":769,"imports":[{"path":"packages/plugins/plugin-sheet/src/SheetPlugin.tsx","kind":"import-statement","original":"./SheetPlugin"},{"path":"packages/plugins/plugin-sheet/src/SheetPlugin.tsx","kind":"import-statement","original":"./SheetPlugin"}],"format":"esm"}},"outputs":{"packages/plugins/plugin-sheet/dist/lib/node-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":17447},"packages/plugins/plugin-sheet/dist/lib/node-esm/index.mjs":{"imports":[{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-BW36PM2Y.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-CR4K75EL.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-UIBWRHW7.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-BM2Q3FFC.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/plugin-script/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/compute-graph-2SCZT7N5.mjs","kind":"dynamic-import"}],"exports":["SheetPlugin","default"],"entryPoint":"packages/plugins/plugin-sheet/src/index.ts","inputs":{"packages/plugins/plugin-sheet/src/SheetPlugin.tsx":{"bytesInOutput":8563},"packages/plugins/plugin-sheet/src/serializer.ts":{"bytesInOutput":474},"packages/plugins/plugin-sheet/src/translations.ts":{"bytesInOutput":1526},"packages/plugins/plugin-sheet/src/index.ts":{"bytesInOutput":31}},"bytes":11373},"packages/plugins/plugin-sheet/dist/lib/node-esm/meta.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-sheet/dist/lib/node-esm/meta.mjs":{"imports":[{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-BM2Q3FFC.mjs","kind":"import-statement"}],"exports":["SHEET_PLUGIN","default"],"entryPoint":"packages/plugins/plugin-sheet/src/meta.ts","inputs":{},"bytes":251},"packages/plugins/plugin-sheet/dist/lib/node-esm/types.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-sheet/dist/lib/node-esm/types.mjs":{"imports":[{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-UIBWRHW7.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-BM2Q3FFC.mjs","kind":"import-statement"}],"exports":["CellValue","Range","RowColumnMeta","SheetAction","SheetType"],"entryPoint":"packages/plugins/plugin-sheet/src/types.ts","inputs":{},"bytes":342},"packages/plugins/plugin-sheet/dist/lib/node-esm/compute-graph-2SCZT7N5.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-sheet/dist/lib/node-esm/compute-graph-2SCZT7N5.mjs":{"imports":[{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-CR4K75EL.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-UIBWRHW7.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-BM2Q3FFC.mjs","kind":"import-statement"}],"exports":["AsyncFunctionPlugin","ComputeGraph","ComputeGraphRegistry","ComputeNode","EDGE_FUNCTION_NAME","EdgeFunctionPlugin","EdgeFunctionPluginTranslations","FunctionContext","createSheetName","defaultFunctionContextOptions","defaultFunctions","defaultOptions","defaultPlugins","parseSheetName"],"entryPoint":"packages/plugins/plugin-sheet/src/compute-graph/index.ts","inputs":{},"bytes":858},"packages/plugins/plugin-sheet/dist/lib/node-esm/SheetContainer-22IOAW3B.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":21696},"packages/plugins/plugin-sheet/dist/lib/node-esm/SheetContainer-22IOAW3B.mjs":{"imports":[{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-BW36PM2Y.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-CR4K75EL.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-UIBWRHW7.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-BM2Q3FFC.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@radix-ui/react-context","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-sheet/src/components/SheetContainer/index.ts","inputs":{"packages/plugins/plugin-sheet/src/components/SheetContainer/SheetContainer.tsx":{"bytesInOutput":856},"packages/plugins/plugin-sheet/src/components/FunctionEditor/FunctionEditor.tsx":{"bytesInOutput":1278},"packages/plugins/plugin-sheet/src/components/FunctionEditor/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-sheet/src/components/Toolbar/Toolbar.tsx":{"bytesInOutput":7499},"packages/plugins/plugin-sheet/src/components/Toolbar/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-sheet/src/components/SheetContainer/index.ts":{"bytesInOutput":45}},"bytes":10655},"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-BW36PM2Y.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":101355},"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-BW36PM2Y.mjs":{"imports":[{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-CR4K75EL.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-UIBWRHW7.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-BM2Q3FFC.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true},{"path":"@codemirror/autocomplete","kind":"import-statement","external":true},{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@lezer/highlight","kind":"import-statement","external":true},{"path":"codemirror-lang-spreadsheet","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"#hyperformula","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-data","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-list","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/SheetContainer-22IOAW3B.mjs","kind":"dynamic-import"}],"exports":["ComputeGraphContextProvider","GridSheet","RangeList","SheetContainer","SheetProvider","completeCellRangeToThreadCursor","computeGraphFacet","useComputeGraph","useSheetContext"],"inputs":{"packages/plugins/plugin-sheet/src/components/ComputeGraph/ComputeGraphContextProvider.tsx":{"bytesInOutput":775},"packages/plugins/plugin-sheet/src/components/ComputeGraph/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-sheet/src/extensions/compute.ts":{"bytesInOutput":460},"packages/plugins/plugin-sheet/src/extensions/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-sheet/src/extensions/editor/extension.ts":{"bytesInOutput":5970},"packages/plugins/plugin-sheet/src/extensions/editor/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-sheet/src/components/SheetContext/SheetContext.tsx":{"bytesInOutput":2243},"packages/plugins/plugin-sheet/src/model/sheet-model.ts":{"bytesInOutput":14689},"packages/plugins/plugin-sheet/src/model/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-sheet/src/model/useSheetModel.ts":{"bytesInOutput":543},"packages/plugins/plugin-sheet/src/components/SheetContext/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-sheet/src/components/GridSheet/GridSheet.tsx":{"bytesInOutput":10742},"packages/plugins/plugin-sheet/src/components/GridSheet/util.ts":{"bytesInOutput":5286},"packages/plugins/plugin-sheet/src/integrations/thread-ranges.ts":{"bytesInOutput":2800},"packages/plugins/plugin-sheet/src/components/index.ts":{"bytesInOutput":104},"packages/plugins/plugin-sheet/src/components/GridSheet/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-sheet/src/components/RangeList/RangeList.tsx":{"bytesInOutput":1515},"packages/plugins/plugin-sheet/src/components/RangeList/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-sheet/src/integrations/index.ts":{"bytesInOutput":0}},"bytes":47049},"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-CR4K75EL.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":144433},"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-CR4K75EL.mjs":{"imports":[{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-UIBWRHW7.mjs","kind":"import-statement"},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/plugin-script/types","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"#hyperformula","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"#hyperformula","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/crypto","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"lodash.defaultsdeep","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"#hyperformula","kind":"import-statement","external":true},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/plugin-script/edge","kind":"import-statement","external":true},{"path":"@dxos/plugin-script/types","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"#hyperformula","kind":"import-statement","external":true},{"path":"lodash.defaultsdeep","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"#hyperformula","kind":"import-statement","external":true}],"exports":["AsyncFunctionPlugin","ComputeGraph","ComputeGraphRegistry","ComputeNode","DEFAULT_COLUMNS","DEFAULT_ROWS","EDGE_FUNCTION_NAME","EdgeFunctionPlugin","EdgeFunctionPluginTranslations","FunctionContext","MAX_COLUMNS","MAX_ROWS","RANGE_NOTATION","ReadonlyException","addressFromA1Notation","addressFromIndex","addressToA1Notation","addressToIndex","alignKey","cellClassNameForRange","compareIndexPositions","createSheet","createSheetName","defaultFunctionContextOptions","defaultFunctions","defaultOptions","defaultPlugins","inRange","initialize","insertIndices","isFormula","parseSheetName","rangeFromIndex","rangeToA1Notation","rangeToIndex","styleKey"],"inputs":{"packages/plugins/plugin-sheet/src/compute-graph/compute-graph.ts":{"bytesInOutput":6625},"packages/plugins/plugin-sheet/src/compute-graph/compute-node.ts":{"bytesInOutput":993},"packages/plugins/plugin-sheet/src/defs/sheet-range-types.ts":{"bytesInOutput":709},"packages/plugins/plugin-sheet/src/defs/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-sheet/src/defs/types.ts":{"bytesInOutput":2045},"packages/plugins/plugin-sheet/src/defs/util.ts":{"bytesInOutput":2468},"packages/plugins/plugin-sheet/src/compute-graph/functions/async-function.ts":{"bytesInOutput":4094},"packages/plugins/plugin-sheet/src/compute-graph/functions/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-sheet/src/compute-graph/functions/edge-function.ts":{"bytesInOutput":3599},"packages/plugins/plugin-sheet/src/compute-graph/functions/function-defs.ts":{"bytesInOutput":68677},"packages/plugins/plugin-sheet/src/compute-graph/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-sheet/src/compute-graph/compute-graph-registry.ts":{"bytesInOutput":1918}},"bytes":92772},"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-UIBWRHW7.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5748},"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-UIBWRHW7.mjs":{"imports":[{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-BM2Q3FFC.mjs","kind":"import-statement"},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true}],"exports":["CellValue","Range","RowColumnMeta","SheetAction","SheetType"],"inputs":{"packages/plugins/plugin-sheet/src/types.ts":{"bytesInOutput":1811}},"bytes":2128},"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-BM2Q3FFC.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":674},"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-BM2Q3FFC.mjs":{"imports":[],"exports":["SHEET_PLUGIN","meta_default"],"inputs":{"packages/plugins/plugin-sheet/src/meta.ts":{"bytesInOutput":267}},"bytes":493}}}
|
|
1
|
+
{"inputs":{"packages/plugins/plugin-sheet/src/components/ComputeGraph/ComputeGraphContextProvider.tsx":{"bytes":4118,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/ComputeGraph/index.ts":{"bytes":572,"imports":[{"path":"packages/plugins/plugin-sheet/src/components/ComputeGraph/ComputeGraphContextProvider.tsx","kind":"import-statement","original":"./ComputeGraphContextProvider"}],"format":"esm"},"packages/plugins/plugin-sheet/src/defs/sheet-range-types.ts":{"bytes":3812,"imports":[],"format":"esm"},"packages/plugins/plugin-sheet/src/defs/types.ts":{"bytes":9728,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-sheet/src/meta.ts":{"bytes":1402,"imports":[],"format":"esm"},"packages/plugins/plugin-sheet/src/types.ts":{"bytes":10371,"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-sheet/src/defs/util.ts":{"bytes":13423,"imports":[{"path":"@dxos/crypto","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/defs/types.ts","kind":"import-statement","original":"./types"},{"path":"packages/plugins/plugin-sheet/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-sheet/src/defs/index.ts":{"bytes":692,"imports":[{"path":"packages/plugins/plugin-sheet/src/defs/sheet-range-types.ts","kind":"import-statement","original":"./sheet-range-types"},{"path":"packages/plugins/plugin-sheet/src/defs/types.ts","kind":"import-statement","original":"./types"},{"path":"packages/plugins/plugin-sheet/src/defs/util.ts","kind":"import-statement","original":"./util"}],"format":"esm"},"packages/plugins/plugin-sheet/src/integrations/thread-ranges.ts":{"bytes":12290,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/components/index.ts","kind":"import-statement","original":"../components"},{"path":"packages/plugins/plugin-sheet/src/defs/index.ts","kind":"import-statement","original":"../defs"},{"path":"packages/plugins/plugin-sheet/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-sheet/src/integrations/index.ts":{"bytes":527,"imports":[{"path":"packages/plugins/plugin-sheet/src/integrations/thread-ranges.ts","kind":"import-statement","original":"./thread-ranges"}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/GridSheet/util.ts":{"bytes":22197,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/defs/index.ts","kind":"import-statement","original":"../../defs"},{"path":"packages/plugins/plugin-sheet/src/integrations/index.ts","kind":"import-statement","original":"../../integrations"}],"format":"esm"},"packages/plugins/plugin-sheet/src/compute-graph/compute-node.ts":{"bytes":5958,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"#hyperformula","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/defs/index.ts","kind":"import-statement","original":"../defs"}],"format":"esm"},"packages/plugins/plugin-sheet/src/compute-graph/functions/async-function.ts":{"bytes":19212,"imports":[{"path":"lodash.defaultsdeep","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"#hyperformula","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-sheet/src/compute-graph/functions/edge-function.ts":{"bytes":14333,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/plugin-script/edge","kind":"import-statement","external":true},{"path":"@dxos/plugin-script/types","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"#hyperformula","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/compute-graph/functions/async-function.ts","kind":"import-statement","original":"./async-function"}],"format":"esm"},"packages/plugins/plugin-sheet/src/compute-graph/functions/function-defs.ts":{"bytes":204669,"imports":[],"format":"esm"},"packages/plugins/plugin-sheet/src/compute-graph/functions/index.ts":{"bytes":749,"imports":[{"path":"packages/plugins/plugin-sheet/src/compute-graph/functions/async-function.ts","kind":"import-statement","original":"./async-function"},{"path":"packages/plugins/plugin-sheet/src/compute-graph/functions/edge-function.ts","kind":"import-statement","original":"./edge-function"},{"path":"packages/plugins/plugin-sheet/src/compute-graph/functions/function-defs.ts","kind":"import-statement","original":"./function-defs"}],"format":"esm"},"packages/plugins/plugin-sheet/src/compute-graph/compute-graph.ts":{"bytes":29202,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/plugin-script/types","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"#hyperformula","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/compute-graph/compute-node.ts","kind":"import-statement","original":"./compute-node"},{"path":"packages/plugins/plugin-sheet/src/compute-graph/functions/index.ts","kind":"import-statement","original":"./functions"}],"format":"esm"},"packages/plugins/plugin-sheet/src/compute-graph/compute-graph-registry.ts":{"bytes":9451,"imports":[{"path":"lodash.defaultsdeep","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"#hyperformula","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/compute-graph/compute-graph.ts","kind":"import-statement","original":"./compute-graph"},{"path":"packages/plugins/plugin-sheet/src/compute-graph/functions/index.ts","kind":"import-statement","original":"./functions"}],"format":"esm"},"packages/plugins/plugin-sheet/src/compute-graph/index.ts":{"bytes":847,"imports":[{"path":"packages/plugins/plugin-sheet/src/compute-graph/compute-graph.ts","kind":"import-statement","original":"./compute-graph"},{"path":"packages/plugins/plugin-sheet/src/compute-graph/compute-graph-registry.ts","kind":"import-statement","original":"./compute-graph-registry"},{"path":"packages/plugins/plugin-sheet/src/compute-graph/compute-node.ts","kind":"import-statement","original":"./compute-node"},{"path":"packages/plugins/plugin-sheet/src/compute-graph/functions/index.ts","kind":"import-statement","original":"./functions"}],"format":"esm"},"packages/plugins/plugin-sheet/src/extensions/compute.ts":{"bytes":18005,"imports":[{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/compute-graph/index.ts","kind":"import-statement","original":"../compute-graph"}],"format":"esm"},"packages/plugins/plugin-sheet/src/extensions/editor/extension.ts":{"bytes":28505,"imports":[{"path":"@codemirror/autocomplete","kind":"import-statement","external":true},{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@lezer/highlight","kind":"import-statement","external":true},{"path":"codemirror-lang-spreadsheet","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/defs/index.ts","kind":"import-statement","original":"../../defs"}],"format":"esm"},"packages/plugins/plugin-sheet/src/extensions/editor/index.ts":{"bytes":520,"imports":[{"path":"packages/plugins/plugin-sheet/src/extensions/editor/extension.ts","kind":"import-statement","original":"./extension"}],"format":"esm"},"packages/plugins/plugin-sheet/src/extensions/index.ts":{"bytes":593,"imports":[{"path":"packages/plugins/plugin-sheet/src/extensions/compute.ts","kind":"import-statement","original":"./compute"},{"path":"packages/plugins/plugin-sheet/src/extensions/editor/index.ts","kind":"import-statement","original":"./editor"}],"format":"esm"},"packages/plugins/plugin-sheet/src/model/sheet-model.ts":{"bytes":59722,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"#hyperformula","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/compute-graph/index.ts","kind":"import-statement","original":"../compute-graph"},{"path":"packages/plugins/plugin-sheet/src/defs/index.ts","kind":"import-statement","original":"../defs"}],"format":"esm"},"packages/plugins/plugin-sheet/src/model/useSheetModel.ts":{"bytes":3105,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/model/index.ts","kind":"import-statement","original":"../model"}],"format":"esm"},"packages/plugins/plugin-sheet/src/model/index.ts":{"bytes":619,"imports":[{"path":"packages/plugins/plugin-sheet/src/model/sheet-model.ts","kind":"import-statement","original":"./sheet-model"},{"path":"packages/plugins/plugin-sheet/src/model/useSheetModel.ts","kind":"import-statement","original":"./useSheetModel"}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/SheetContext/SheetContext.tsx":{"bytes":10656,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/model/index.ts","kind":"import-statement","original":"../../model"}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/SheetContext/index.ts":{"bytes":537,"imports":[{"path":"packages/plugins/plugin-sheet/src/components/SheetContext/SheetContext.tsx","kind":"import-statement","original":"./SheetContext"}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/GridSheet/GridSheet.tsx":{"bytes":44781,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/components/GridSheet/util.ts","kind":"import-statement","original":"./util"},{"path":"packages/plugins/plugin-sheet/src/defs/index.ts","kind":"import-statement","original":"../../defs"},{"path":"packages/plugins/plugin-sheet/src/extensions/index.ts","kind":"import-statement","original":"../../extensions"},{"path":"packages/plugins/plugin-sheet/src/integrations/index.ts","kind":"import-statement","original":"../../integrations"},{"path":"packages/plugins/plugin-sheet/src/meta.ts","kind":"import-statement","original":"../../meta"},{"path":"packages/plugins/plugin-sheet/src/types.ts","kind":"import-statement","original":"../../types"},{"path":"packages/plugins/plugin-sheet/src/components/SheetContext/index.ts","kind":"import-statement","original":"../SheetContext"}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/GridSheet/index.ts":{"bytes":523,"imports":[{"path":"packages/plugins/plugin-sheet/src/components/GridSheet/GridSheet.tsx","kind":"import-statement","original":"./GridSheet"}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/RangeList/RangeList.tsx":{"bytes":6853,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-list","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/defs/index.ts","kind":"import-statement","original":"../../defs"},{"path":"packages/plugins/plugin-sheet/src/meta.ts","kind":"import-statement","original":"../../meta"},{"path":"packages/plugins/plugin-sheet/src/types.ts","kind":"import-statement","original":"../../types"}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/RangeList/index.ts":{"bytes":523,"imports":[{"path":"packages/plugins/plugin-sheet/src/components/RangeList/RangeList.tsx","kind":"import-statement","original":"./RangeList"}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/FunctionEditor/FunctionEditor.tsx":{"bytes":4952,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/defs/index.ts","kind":"import-statement","original":"../../defs"},{"path":"packages/plugins/plugin-sheet/src/components/SheetContext/index.ts","kind":"import-statement","original":"../SheetContext"}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/FunctionEditor/index.ts":{"bytes":545,"imports":[{"path":"packages/plugins/plugin-sheet/src/components/FunctionEditor/FunctionEditor.tsx","kind":"import-statement","original":"./FunctionEditor"}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/Toolbar/Toolbar.tsx":{"bytes":32708,"imports":[{"path":"@radix-ui/react-context","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/defs/index.ts","kind":"import-statement","original":"../../defs"},{"path":"packages/plugins/plugin-sheet/src/integrations/index.ts","kind":"import-statement","original":"../../integrations"},{"path":"packages/plugins/plugin-sheet/src/meta.ts","kind":"import-statement","original":"../../meta"},{"path":"packages/plugins/plugin-sheet/src/components/SheetContext/index.ts","kind":"import-statement","original":"../SheetContext"}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/Toolbar/index.ts":{"bytes":519,"imports":[{"path":"packages/plugins/plugin-sheet/src/components/Toolbar/Toolbar.tsx","kind":"import-statement","original":"./Toolbar"}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/SheetContainer/SheetContainer.tsx":{"bytes":4440,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/components/ComputeGraph/index.ts","kind":"import-statement","original":"../ComputeGraph"},{"path":"packages/plugins/plugin-sheet/src/components/FunctionEditor/index.ts","kind":"import-statement","original":"../FunctionEditor"},{"path":"packages/plugins/plugin-sheet/src/components/GridSheet/index.ts","kind":"import-statement","original":"../GridSheet"},{"path":"packages/plugins/plugin-sheet/src/components/SheetContext/index.ts","kind":"import-statement","original":"../SheetContext"},{"path":"packages/plugins/plugin-sheet/src/components/Toolbar/index.ts","kind":"import-statement","original":"../Toolbar"}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/SheetContainer/index.ts":{"bytes":721,"imports":[{"path":"packages/plugins/plugin-sheet/src/components/SheetContainer/SheetContainer.tsx","kind":"import-statement","original":"./SheetContainer"}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/index.ts":{"bytes":1188,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/components/ComputeGraph/index.ts","kind":"import-statement","original":"./ComputeGraph"},{"path":"packages/plugins/plugin-sheet/src/components/GridSheet/index.ts","kind":"import-statement","original":"./GridSheet"},{"path":"packages/plugins/plugin-sheet/src/components/RangeList/index.ts","kind":"import-statement","original":"./RangeList"},{"path":"packages/plugins/plugin-sheet/src/components/SheetContext/index.ts","kind":"import-statement","original":"./SheetContext"},{"path":"packages/plugins/plugin-sheet/src/components/SheetContainer/index.ts","kind":"dynamic-import","original":"./SheetContainer"}],"format":"esm"},"packages/plugins/plugin-sheet/src/serializer.ts":{"bytes":2746,"imports":[{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"packages/plugins/plugin-sheet/src/translations.ts":{"bytes":5078,"imports":[{"path":"packages/plugins/plugin-sheet/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-sheet/src/SheetPlugin.tsx":{"bytes":31482,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/plugin-script/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/components/index.ts","kind":"import-statement","original":"./components"},{"path":"packages/plugins/plugin-sheet/src/defs/index.ts","kind":"import-statement","original":"./defs"},{"path":"packages/plugins/plugin-sheet/src/extensions/index.ts","kind":"import-statement","original":"./extensions"},{"path":"packages/plugins/plugin-sheet/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-sheet/src/serializer.ts","kind":"import-statement","original":"./serializer"},{"path":"packages/plugins/plugin-sheet/src/translations.ts","kind":"import-statement","original":"./translations"},{"path":"packages/plugins/plugin-sheet/src/types.ts","kind":"import-statement","original":"./types"},{"path":"packages/plugins/plugin-sheet/src/compute-graph/index.ts","kind":"dynamic-import","original":"./compute-graph"}],"format":"esm"},"packages/plugins/plugin-sheet/src/index.ts":{"bytes":769,"imports":[{"path":"packages/plugins/plugin-sheet/src/SheetPlugin.tsx","kind":"import-statement","original":"./SheetPlugin"},{"path":"packages/plugins/plugin-sheet/src/SheetPlugin.tsx","kind":"import-statement","original":"./SheetPlugin"}],"format":"esm"}},"outputs":{"packages/plugins/plugin-sheet/dist/lib/node-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":17447},"packages/plugins/plugin-sheet/dist/lib/node-esm/index.mjs":{"imports":[{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-6GSTEN7N.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-CR4K75EL.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-UIBWRHW7.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-BM2Q3FFC.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/plugin-script/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/compute-graph-2SCZT7N5.mjs","kind":"dynamic-import"}],"exports":["SheetPlugin","default"],"entryPoint":"packages/plugins/plugin-sheet/src/index.ts","inputs":{"packages/plugins/plugin-sheet/src/SheetPlugin.tsx":{"bytesInOutput":8563},"packages/plugins/plugin-sheet/src/serializer.ts":{"bytesInOutput":474},"packages/plugins/plugin-sheet/src/translations.ts":{"bytesInOutput":1526},"packages/plugins/plugin-sheet/src/index.ts":{"bytesInOutput":31}},"bytes":11373},"packages/plugins/plugin-sheet/dist/lib/node-esm/meta.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-sheet/dist/lib/node-esm/meta.mjs":{"imports":[{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-BM2Q3FFC.mjs","kind":"import-statement"}],"exports":["SHEET_PLUGIN","default"],"entryPoint":"packages/plugins/plugin-sheet/src/meta.ts","inputs":{},"bytes":251},"packages/plugins/plugin-sheet/dist/lib/node-esm/types.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-sheet/dist/lib/node-esm/types.mjs":{"imports":[{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-UIBWRHW7.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-BM2Q3FFC.mjs","kind":"import-statement"}],"exports":["CellValue","Range","RowColumnMeta","SheetAction","SheetType"],"entryPoint":"packages/plugins/plugin-sheet/src/types.ts","inputs":{},"bytes":342},"packages/plugins/plugin-sheet/dist/lib/node-esm/compute-graph-2SCZT7N5.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-sheet/dist/lib/node-esm/compute-graph-2SCZT7N5.mjs":{"imports":[{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-CR4K75EL.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-UIBWRHW7.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-BM2Q3FFC.mjs","kind":"import-statement"}],"exports":["AsyncFunctionPlugin","ComputeGraph","ComputeGraphRegistry","ComputeNode","EDGE_FUNCTION_NAME","EdgeFunctionPlugin","EdgeFunctionPluginTranslations","FunctionContext","createSheetName","defaultFunctionContextOptions","defaultFunctions","defaultOptions","defaultPlugins","parseSheetName"],"entryPoint":"packages/plugins/plugin-sheet/src/compute-graph/index.ts","inputs":{},"bytes":858},"packages/plugins/plugin-sheet/dist/lib/node-esm/SheetContainer-T47T2NYJ.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":21835},"packages/plugins/plugin-sheet/dist/lib/node-esm/SheetContainer-T47T2NYJ.mjs":{"imports":[{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-6GSTEN7N.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-CR4K75EL.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-UIBWRHW7.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-BM2Q3FFC.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@radix-ui/react-context","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-sheet/src/components/SheetContainer/index.ts","inputs":{"packages/plugins/plugin-sheet/src/components/SheetContainer/SheetContainer.tsx":{"bytesInOutput":919},"packages/plugins/plugin-sheet/src/components/FunctionEditor/FunctionEditor.tsx":{"bytesInOutput":1259},"packages/plugins/plugin-sheet/src/components/FunctionEditor/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-sheet/src/components/Toolbar/Toolbar.tsx":{"bytesInOutput":7517},"packages/plugins/plugin-sheet/src/components/Toolbar/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-sheet/src/components/SheetContainer/index.ts":{"bytesInOutput":45}},"bytes":10717},"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-6GSTEN7N.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":101842},"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-6GSTEN7N.mjs":{"imports":[{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-CR4K75EL.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-UIBWRHW7.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-BM2Q3FFC.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true},{"path":"@codemirror/autocomplete","kind":"import-statement","external":true},{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@lezer/highlight","kind":"import-statement","external":true},{"path":"codemirror-lang-spreadsheet","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"#hyperformula","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-list","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/SheetContainer-T47T2NYJ.mjs","kind":"dynamic-import"}],"exports":["ComputeGraphContextProvider","GridSheet","RangeList","SheetContainer","SheetProvider","completeCellRangeToThreadCursor","computeGraphFacet","useComputeGraph","useSheetContext"],"inputs":{"packages/plugins/plugin-sheet/src/components/ComputeGraph/ComputeGraphContextProvider.tsx":{"bytesInOutput":775},"packages/plugins/plugin-sheet/src/components/ComputeGraph/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-sheet/src/extensions/compute.ts":{"bytesInOutput":460},"packages/plugins/plugin-sheet/src/extensions/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-sheet/src/extensions/editor/extension.ts":{"bytesInOutput":5970},"packages/plugins/plugin-sheet/src/extensions/editor/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-sheet/src/components/SheetContext/SheetContext.tsx":{"bytesInOutput":2321},"packages/plugins/plugin-sheet/src/model/sheet-model.ts":{"bytesInOutput":14689},"packages/plugins/plugin-sheet/src/model/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-sheet/src/model/useSheetModel.ts":{"bytesInOutput":543},"packages/plugins/plugin-sheet/src/components/SheetContext/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-sheet/src/components/GridSheet/GridSheet.tsx":{"bytesInOutput":10887},"packages/plugins/plugin-sheet/src/components/GridSheet/util.ts":{"bytesInOutput":5286},"packages/plugins/plugin-sheet/src/integrations/thread-ranges.ts":{"bytesInOutput":2800},"packages/plugins/plugin-sheet/src/components/index.ts":{"bytesInOutput":104},"packages/plugins/plugin-sheet/src/components/GridSheet/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-sheet/src/components/RangeList/RangeList.tsx":{"bytesInOutput":1515},"packages/plugins/plugin-sheet/src/components/RangeList/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-sheet/src/integrations/index.ts":{"bytesInOutput":0}},"bytes":47272},"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-CR4K75EL.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":144433},"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-CR4K75EL.mjs":{"imports":[{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-UIBWRHW7.mjs","kind":"import-statement"},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/plugin-script/types","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"#hyperformula","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"#hyperformula","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/crypto","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"lodash.defaultsdeep","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"#hyperformula","kind":"import-statement","external":true},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/plugin-script/edge","kind":"import-statement","external":true},{"path":"@dxos/plugin-script/types","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"#hyperformula","kind":"import-statement","external":true},{"path":"lodash.defaultsdeep","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"#hyperformula","kind":"import-statement","external":true}],"exports":["AsyncFunctionPlugin","ComputeGraph","ComputeGraphRegistry","ComputeNode","DEFAULT_COLUMNS","DEFAULT_ROWS","EDGE_FUNCTION_NAME","EdgeFunctionPlugin","EdgeFunctionPluginTranslations","FunctionContext","MAX_COLUMNS","MAX_ROWS","RANGE_NOTATION","ReadonlyException","addressFromA1Notation","addressFromIndex","addressToA1Notation","addressToIndex","alignKey","cellClassNameForRange","compareIndexPositions","createSheet","createSheetName","defaultFunctionContextOptions","defaultFunctions","defaultOptions","defaultPlugins","inRange","initialize","insertIndices","isFormula","parseSheetName","rangeFromIndex","rangeToA1Notation","rangeToIndex","styleKey"],"inputs":{"packages/plugins/plugin-sheet/src/compute-graph/compute-graph.ts":{"bytesInOutput":6625},"packages/plugins/plugin-sheet/src/compute-graph/compute-node.ts":{"bytesInOutput":993},"packages/plugins/plugin-sheet/src/defs/sheet-range-types.ts":{"bytesInOutput":709},"packages/plugins/plugin-sheet/src/defs/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-sheet/src/defs/types.ts":{"bytesInOutput":2045},"packages/plugins/plugin-sheet/src/defs/util.ts":{"bytesInOutput":2468},"packages/plugins/plugin-sheet/src/compute-graph/functions/async-function.ts":{"bytesInOutput":4094},"packages/plugins/plugin-sheet/src/compute-graph/functions/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-sheet/src/compute-graph/functions/edge-function.ts":{"bytesInOutput":3599},"packages/plugins/plugin-sheet/src/compute-graph/functions/function-defs.ts":{"bytesInOutput":68677},"packages/plugins/plugin-sheet/src/compute-graph/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-sheet/src/compute-graph/compute-graph-registry.ts":{"bytesInOutput":1918}},"bytes":92772},"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-UIBWRHW7.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5748},"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-UIBWRHW7.mjs":{"imports":[{"path":"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-BM2Q3FFC.mjs","kind":"import-statement"},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true}],"exports":["CellValue","Range","RowColumnMeta","SheetAction","SheetType"],"inputs":{"packages/plugins/plugin-sheet/src/types.ts":{"bytesInOutput":1811}},"bytes":2128},"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-BM2Q3FFC.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":674},"packages/plugins/plugin-sheet/dist/lib/node-esm/chunk-BM2Q3FFC.mjs":{"imports":[],"exports":["SHEET_PLUGIN","meta_default"],"inputs":{"packages/plugins/plugin-sheet/src/meta.ts":{"bytesInOutput":267}},"bytes":493}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FunctionEditor.d.ts","sourceRoot":"","sources":["../../../../../src/components/FunctionEditor/FunctionEditor.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"FunctionEditor.d.ts","sourceRoot":"","sources":["../../../../../src/components/FunctionEditor/FunctionEditor.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,eAAO,MAAM,cAAc,yBA4B1B,CAAC"}
|