@synnaxlabs/pluto 0.21.1 → 0.21.2
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/{Keyboard-CEX8wqRX.js → Keyboard-C8cyKsao.js} +2 -2
- package/dist/{Keyboard-CEX8wqRX.js.map → Keyboard-C8cyKsao.js.map} +1 -1
- package/dist/{Keyboard-CDiwrDN_.cjs → Keyboard-CQoUT-k_.cjs} +2 -2
- package/dist/{Keyboard-CDiwrDN_.cjs.map → Keyboard-CQoUT-k_.cjs.map} +1 -1
- package/dist/{LinePlot-D3gQs_D3.js → LinePlot-D3us1amT.js} +2 -2
- package/dist/{LinePlot-D3gQs_D3.js.map → LinePlot-D3us1amT.js.map} +1 -1
- package/dist/{LinePlot-DLRPrgHN.cjs → LinePlot-FmPnet-3.cjs} +2 -2
- package/dist/{LinePlot-DLRPrgHN.cjs.map → LinePlot-FmPnet-3.cjs.map} +1 -1
- package/dist/{Link-DZF_mhiS.js → Link-3r9yGooG.js} +2 -2
- package/dist/{Link-DZF_mhiS.js.map → Link-3r9yGooG.js.map} +1 -1
- package/dist/{Link-BKZVZIk7.cjs → Link-pE5mGv-R.cjs} +2 -2
- package/dist/{Link-BKZVZIk7.cjs.map → Link-pE5mGv-R.cjs.map} +1 -1
- package/dist/{List-Cs01wqeH.js → List-A5VsgE6N.js} +3 -3
- package/dist/{List-Cs01wqeH.js.map → List-A5VsgE6N.js.map} +1 -1
- package/dist/{List-aushS6dz.cjs → List-DufMhjqX.cjs} +3 -3
- package/dist/{List-aushS6dz.cjs.map → List-DufMhjqX.cjs.map} +1 -1
- package/dist/{Toggle-DDY2Hs-p.js → Toggle-Blzh0A0b.js} +4 -3
- package/dist/{Toggle-DDY2Hs-p.js.map → Toggle-Blzh0A0b.js.map} +1 -1
- package/dist/{Toggle-J-_q32C5.cjs → Toggle-D1EoehhH.cjs} +4 -3
- package/dist/{Toggle-J-_q32C5.cjs.map → Toggle-D1EoehhH.cjs.map} +1 -1
- package/dist/{aggregator-B630XvUR.cjs → aggregator-Ca8xiVD2.cjs} +3 -2
- package/dist/{aggregator-B630XvUR.cjs.map → aggregator-Ca8xiVD2.cjs.map} +1 -1
- package/dist/{aggregator-CMccKfYY.js → aggregator-Dl2jHye5.js} +3 -2
- package/dist/{aggregator-CMccKfYY.js.map → aggregator-Dl2jHye5.js.map} +1 -1
- package/dist/button.cjs +1 -1
- package/dist/button.js +1 -1
- package/dist/color.cjs +1 -1
- package/dist/color.js +1 -1
- package/dist/dropdown.cjs +1 -1
- package/dist/dropdown.js +1 -1
- package/dist/ether.cjs +2 -2
- package/dist/ether.js +4 -4
- package/dist/{external-BEuegMjB.js → external-1LeSvPMo.js} +5 -5
- package/dist/{external-BEuegMjB.js.map → external-1LeSvPMo.js.map} +1 -1
- package/dist/{external-Dvfxbror.cjs → external-B8ILMNP2.cjs} +3 -3
- package/dist/{external-Dvfxbror.cjs.map → external-B8ILMNP2.cjs.map} +1 -1
- package/dist/{external-gnae-K0R.cjs → external-B8MvInOj.cjs} +3 -3
- package/dist/{external-gnae-K0R.cjs.map → external-B8MvInOj.cjs.map} +1 -1
- package/dist/{external-BapFfm1g.cjs → external-BC7QdjAs.cjs} +4 -4
- package/dist/{external-BapFfm1g.cjs.map → external-BC7QdjAs.cjs.map} +1 -1
- package/dist/{external-DxAWWXHr.cjs → external-BL3iWJdz.cjs} +3 -3
- package/dist/{external-DxAWWXHr.cjs.map → external-BL3iWJdz.cjs.map} +1 -1
- package/dist/{external-BMHtKaLv.js → external-BMK0UUaW.js} +3 -3
- package/dist/external-BMK0UUaW.js.map +1 -0
- package/dist/{external-D39DdEvO.cjs → external-BVW64h82.cjs} +4 -4
- package/dist/{external-D39DdEvO.cjs.map → external-BVW64h82.cjs.map} +1 -1
- package/dist/{external-DxRHU9kB.cjs → external-Bh2-N-ic.cjs} +5 -5
- package/dist/{external-DxRHU9kB.cjs.map → external-Bh2-N-ic.cjs.map} +1 -1
- package/dist/{external-Dv4zXi92.js → external-BlDgPWoN.js} +4 -4
- package/dist/{external-Dv4zXi92.js.map → external-BlDgPWoN.js.map} +1 -1
- package/dist/{external-BCAEiTdS.js → external-C0ssJO_w.js} +3 -3
- package/dist/{external-BCAEiTdS.js.map → external-C0ssJO_w.js.map} +1 -1
- package/dist/{external-CSkoe4lv.js → external-Cco96ysu.js} +3 -3
- package/dist/external-Cco96ysu.js.map +1 -0
- package/dist/{external-DZ7kcmNL.js → external-ClBFWQBO.js} +3 -3
- package/dist/{external-DZ7kcmNL.js.map → external-ClBFWQBO.js.map} +1 -1
- package/dist/{external-BI4uis0s.cjs → external-CygFOviM.cjs} +3 -3
- package/dist/{external-BI4uis0s.cjs.map → external-CygFOviM.cjs.map} +1 -1
- package/dist/{external-Dl-ZGt_l.js → external-D5cOWqK9.js} +4 -4
- package/dist/{external-Dl-ZGt_l.js.map → external-D5cOWqK9.js.map} +1 -1
- package/dist/{external-OfudrDkh.js → external-D9_xWvtb.js} +3 -3
- package/dist/{external-OfudrDkh.js.map → external-D9_xWvtb.js.map} +1 -1
- package/dist/{external-CJ0YZYhM.js → external-DJYiyF-g.js} +3 -3
- package/dist/{external-CJ0YZYhM.js.map → external-DJYiyF-g.js.map} +1 -1
- package/dist/{external-QMwhKJob.js → external-Dsqoldyc.js} +3 -3
- package/dist/{external-QMwhKJob.js.map → external-Dsqoldyc.js.map} +1 -1
- package/dist/{external-ik_rhtMe.cjs → external-QoTq138N.cjs} +3 -3
- package/dist/{external-ik_rhtMe.cjs.map → external-QoTq138N.cjs.map} +1 -1
- package/dist/{external-DETy3UAu.cjs → external-S9aNR1qN.cjs} +5 -5
- package/dist/{external-DETy3UAu.cjs.map → external-S9aNR1qN.cjs.map} +1 -1
- package/dist/{external-BsumfQ2H.cjs → external-XnNSUnBv.cjs} +3 -3
- package/dist/external-XnNSUnBv.cjs.map +1 -0
- package/dist/{external-mYfZ-ziq.cjs → external-ueyo2Jw7.cjs} +3 -3
- package/dist/external-ueyo2Jw7.cjs.map +1 -0
- package/dist/{external-DAIKvuBu.js → external-zennQBXe.js} +5 -5
- package/dist/{external-DAIKvuBu.js.map → external-zennQBXe.js.map} +1 -1
- package/dist/header.cjs +1 -1
- package/dist/header.js +1 -1
- package/dist/index.cjs +14 -14
- package/dist/index.js +24 -24
- package/dist/input.cjs +1 -1
- package/dist/input.js +1 -1
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/menu.cjs +1 -1
- package/dist/menu.js +1 -1
- package/dist/src/status/aether/aggregator.d.ts +10 -10
- package/dist/src/status/aether/types.d.ts +5 -5
- package/dist/src/status/aether/types.d.ts.map +1 -1
- package/dist/src/status/colors.d.ts.map +1 -1
- package/dist/src/telem/aether/transformers.d.ts +9 -9
- package/dist/src/telem/control/aether/chip.d.ts +10 -10
- package/dist/src/telem/control/aether/indicator.d.ts +10 -10
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/text.cjs +2 -2
- package/dist/text.js +2 -2
- package/dist/theming.cjs +2 -2
- package/dist/theming.js +2 -2
- package/dist/tree.cjs +1 -1
- package/dist/tree.js +1 -1
- package/dist/triggers.cjs +1 -1
- package/dist/triggers.js +1 -1
- package/package.json +2 -2
- package/dist/external-BMHtKaLv.js.map +0 -1
- package/dist/external-BsumfQ2H.cjs.map +0 -1
- package/dist/external-CSkoe4lv.js.map +0 -1
- package/dist/external-mYfZ-ziq.cjs.map +0 -1
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { j as jsxRuntimeExports } from "./jsx-runtime-mMz73N64.js";
|
|
2
2
|
import { memo, useState, useCallback, useMemo } from "react";
|
|
3
|
-
import { p as m0, v as useSelectionUtils, w as useDataUtilContext, m as useDragAndDrop, q as CONTEXT_TARGET, C as CONTEXT_SELECTED, M as MaybeEditable, x as useCombinedStateAndRef, o as useSyncedRef, y as useHeldRef, B as Button, z as Core, A as Selector, F as edit, G as componentRenderProp } from "./Toggle-
|
|
4
|
-
import { L as Link } from "./Link-
|
|
3
|
+
import { p as m0, v as useSelectionUtils, w as useDataUtilContext, m as useDragAndDrop, q as CONTEXT_TARGET, C as CONTEXT_SELECTED, M as MaybeEditable, x as useCombinedStateAndRef, o as useSyncedRef, y as useHeldRef, B as Button, z as Core, A as Selector, F as edit, G as componentRenderProp } from "./Toggle-Blzh0A0b.js";
|
|
4
|
+
import { L as Link } from "./Link-3r9yGooG.js";
|
|
5
5
|
import { C as CSS } from "./css-DoalWJF6.js";
|
|
6
|
-
import { A, i as usePassthrough } from "./aggregator-
|
|
6
|
+
import { A, i as usePassthrough } from "./aggregator-Dl2jHye5.js";
|
|
7
7
|
import "./Center-hbwH7rg9.js";
|
|
8
|
-
import { L as List } from "./List-
|
|
8
|
+
import { L as List } from "./List-A5VsgE6N.js";
|
|
9
9
|
const shouldExpand = (node, expanded) => expanded.includes(node.key);
|
|
10
10
|
const sortAndSplice = (nodes, sort) => {
|
|
11
11
|
if (sort) {
|
|
@@ -369,4 +369,4 @@ const external = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProp
|
|
|
369
369
|
export {
|
|
370
370
|
external as e
|
|
371
371
|
};
|
|
372
|
-
//# sourceMappingURL=external-
|
|
372
|
+
//# sourceMappingURL=external-zennQBXe.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"external-DAIKvuBu.js","sources":["../src/tree/core.ts","../src/tree/Tree.tsx"],"sourcesContent":["// Copyright 2023 Synnax Labs, Inc.\n//\n// Use of this software is governed by the Business Source License included in the file\n// licenses/BSL.txt.\n//\n// As of the Change Date specified in that file, in accordance with the Business Source\n// License, use of this software will be governed by the Apache License, Version 2.0,\n// included in the file licenses/APL.txt.\n\nimport { type ReactElement } from \"react\";\n\nimport { toArray } from \"@synnaxlabs/x\";\n\nimport { type Haul } from \"@/haul\";\n\nexport interface Node {\n key: string;\n name: string;\n renaming?: boolean;\n forcePosition?: number;\n icon?: ReactElement;\n allowRename?: boolean;\n hasChildren?: boolean;\n children?: Node[];\n haulItems?: Haul.Item[];\n canDrop?: (items: Haul.Item[]) => boolean;\n href?: string;\n}\n\nexport interface NodeWithPosition extends Node {\n depth: number;\n position: number;\n}\n\nexport interface FlattenedNode extends Node {\n index: number;\n depth: number;\n expanded: boolean;\n}\n\nexport const shouldExpand = (node: Node, expanded: string[]): boolean =>\n expanded.includes(node.key);\n\nexport interface FlattenProps {\n nodes: Node[];\n expanded: string[];\n depth?: number;\n sort?: boolean;\n}\n\nexport const sortAndSplice = (nodes: Node[], sort: boolean): Node[] => {\n if (sort) {\n nodes.sort((a, b) => a.name.localeCompare(b.name));\n }\n let found = false;\n for (let i = 0; i < nodes.length; i++) {\n const node = nodes[i];\n if (node.forcePosition != null && i !== node.forcePosition) {\n found = true;\n // remove the node from its current position\n nodes.splice(i, 1);\n // splice it into the forced position\n nodes.splice(node.forcePosition, 0, node);\n }\n }\n if (found) return sortAndSplice(nodes, false);\n return nodes;\n};\n\nexport const flatten = ({\n nodes,\n expanded,\n depth = 0,\n sort = true,\n}: FlattenProps): FlattenedNode[] => {\n // Sort the first level of the tree independently of the rest\n if (depth === 0 && sort) nodes = nodes.sort((a, b) => a.name.localeCompare(b.name));\n const flattened: FlattenedNode[] = [];\n nodes.forEach((node, index) => {\n const expand = shouldExpand(node, expanded);\n flattened.push({ ...node, depth, expanded: expand, index });\n if (expand && node.children != null) {\n node.children = sortAndSplice(node.children, sort);\n flattened.push(\n ...flatten({ nodes: node.children, expanded, depth: depth + 1, sort }),\n );\n }\n });\n return flattened;\n};\n\nexport interface MoveNodeProps {\n tree: Node[];\n destination: string;\n keys: string | string[];\n}\n\nexport const moveNode = ({ tree, destination, keys }: MoveNodeProps): Node[] => {\n keys = toArray(keys);\n keys.forEach((key) => {\n const node = findNode({ tree, key });\n if (node == null) return;\n removeNode({ tree, keys: key });\n setNode({ tree, destination, additions: node });\n });\n return tree;\n};\n\nexport interface RemoveNodeProps {\n tree: Node[];\n keys: string | string[];\n}\n\nexport const removeNode = ({ tree, keys }: RemoveNodeProps): Node[] => {\n keys = toArray(keys);\n const treeKeys = tree.map((node) => node.key);\n keys.forEach((key) => {\n const index = treeKeys.indexOf(key);\n if (index !== -1) tree.splice(index, 1);\n else {\n const parent = findNodeParent({ tree, key });\n if (parent != null)\n parent.children = parent.children?.filter((child) => child.key !== key);\n }\n });\n return tree;\n};\n\nexport interface SetNodeProps {\n tree: Node[];\n destination: string;\n additions: Node | Node[];\n}\n\nexport const setNode = ({ tree, destination, additions }: SetNodeProps): Node[] => {\n additions = toArray(additions);\n const node = findNode({ tree, key: destination });\n if (node == null) throw new Error(`Could not find node with key ${destination}`);\n if (node.children == null) node.children = [];\n const addedKeys = additions.map((node) => node.key);\n node.children = [\n ...additions,\n ...node.children.filter((child) => !addedKeys.includes(child.key)),\n ];\n return tree;\n};\n\nexport interface UpdateNodeProps {\n tree: Node[];\n key: string;\n updater: (node: Node) => Node;\n throwOnMissing?: boolean;\n}\n\nexport const updateNode = ({\n tree,\n key,\n updater,\n throwOnMissing = true,\n}: UpdateNodeProps): Node[] => {\n const node = findNode({ tree, key });\n if (node == null) {\n if (throwOnMissing) throw new Error(`Could not find node with key ${key}`);\n return tree;\n }\n const parent = findNodeParent({ tree, key });\n if (parent != null) {\n // splice the updated node into the parent's children\n const index = parent.children?.findIndex((child) => child.key === key);\n if (index != null && index !== -1) parent.children?.splice(index, 1, updater(node));\n } else {\n // we're in the root, so just update the node\n tree.splice(\n tree.findIndex((node) => node.key === key),\n 1,\n updater(node),\n );\n }\n return tree;\n};\n\nexport interface FindNodeProps {\n tree: Node[];\n key: string;\n depth?: number;\n}\n\nexport const findNode = ({\n tree,\n key,\n depth = 0,\n}: FindNodeProps): NodeWithPosition | null => {\n for (let i = 0; i < tree.length; i++) {\n const node = tree[i];\n if (node.key === key) {\n const n = node as NodeWithPosition;\n n.depth = depth;\n n.position = i;\n return n;\n }\n if (node.children != null) {\n const found = findNode({ tree: node.children, key, depth: depth + 1 });\n if (found != null) return found;\n }\n }\n return null;\n};\n\nexport interface FindNodesProps {\n tree: Node[];\n keys: string[];\n}\n\nexport const findNodes = ({ tree, keys }: FindNodesProps): NodeWithPosition[] => {\n const nodes: NodeWithPosition[] = [];\n for (const key of keys) {\n const node = findNode({ tree, key });\n if (node != null) nodes.push(node);\n }\n return nodes;\n};\n\nexport interface FindNodeParentProps {\n tree: Node[];\n key: string;\n}\n\nexport const findNodeParent = ({ tree, key }: FindNodeParentProps): Node | null => {\n for (const node of tree) {\n if (node.children != null) {\n if (node.children.some((child) => child.key === key)) return node;\n const found = findNodeParent({ tree: node.children, key });\n if (found != null) return found;\n }\n }\n return null;\n};\n","// Copyright 2023 Synnax Labs, Inc.\n//\n// Use of this software is governed by the Business Source License included in the file\n// licenses/BSL.txt.\n//\n// As of the Change Date specified in that file, in accordance with the Business Source\n// License, use of this software will be governed by the Apache License, Version 2.0,\n// included in the file licenses/APL.txt.\n\nimport {\n type ReactElement,\n useCallback,\n useMemo,\n useState,\n type FC,\n memo,\n} from \"react\";\n\nimport { Icon } from \"@synnaxlabs/media\";\n\nimport { Button } from \"@/button\";\nimport { CSS } from \"@/css\";\nimport { Haul } from \"@/haul\";\nimport { useSyncedRef, useCombinedStateAndRef } from \"@/hooks\";\nimport { List } from \"@/list\";\nimport { type UseSelectOnChangeExtra, type UseSelectProps } from \"@/list/useSelect\";\nimport { CONTEXT_SELECTED, CONTEXT_TARGET } from \"@/menu/ContextMenu\";\nimport { state } from \"@/state\";\nimport { Text } from \"@/text\";\nimport { flatten, type Node, type FlattenedNode } from \"@/tree/core\";\nimport { Triggers } from \"@/triggers\";\nimport { type RenderProp, componentRenderProp } from \"@/util/renderProp\";\n\nimport \"@/tree/Tree.css\";\n\nexport const HAUL_TYPE = \"tree-item\";\n\nexport interface HandleExpandProps {\n current: string[];\n action: \"expand\" | \"contract\";\n clicked: string;\n}\n\nexport interface UseProps {\n onExpand?: (props: HandleExpandProps) => void;\n selected?: string[];\n onSelectedChange?: state.Set<string[]>;\n initialExpanded?: string[];\n nodes: Node[];\n sort?: boolean;\n}\n\nexport interface UseReturn {\n selected: string[];\n expanded: string[];\n onSelect: UseSelectProps<string, FlattenedNode>[\"onChange\"];\n nodes: FlattenedNode[];\n}\n\nconst SHIFT_TRIGGERS: Triggers.Trigger[] = [[\"Shift\"]];\n\nexport const use = (props: UseProps): UseReturn => {\n const {\n onExpand,\n nodes,\n initialExpanded = [],\n sort = true,\n selected: propsSelected,\n onSelectedChange,\n } = props ?? {};\n const [expanded, setExpanded, ref] =\n useCombinedStateAndRef<string[]>(initialExpanded);\n const [selected, setSelected] = state.usePassthrough<string[]>({\n initial: [],\n value: propsSelected,\n onChange: onSelectedChange,\n });\n const flat = useMemo(\n () => flatten({ nodes, expanded, sort }),\n [nodes, expanded, sort],\n );\n const flatRef = useSyncedRef(flat);\n\n const shiftRef = Triggers.useHeldRef({ triggers: SHIFT_TRIGGERS });\n\n const handleSelect: UseSelectProps<string, FlattenedNode>[\"onChange\"] = useCallback(\n (\n keys: string[],\n { clicked }: UseSelectOnChangeExtra<string, FlattenedNode>,\n ): void => {\n setSelected(keys);\n const n = flatRef.current.find((node) => node.key === clicked);\n if (n?.hasChildren === false) return;\n if (clicked == null || shiftRef.current.held) return;\n const currentlyExpanded = ref.current;\n const action = currentlyExpanded.some((key) => key === clicked)\n ? \"contract\"\n : \"expand\";\n let nextExpanded = currentlyExpanded;\n if (action === \"contract\")\n nextExpanded = currentlyExpanded.filter((key) => key !== clicked);\n else nextExpanded = [...currentlyExpanded, clicked];\n setExpanded(nextExpanded);\n onExpand?.({ current: nextExpanded, action, clicked });\n },\n [onExpand, flatRef, setExpanded, setSelected],\n );\n\n return {\n onSelect: handleSelect,\n selected,\n expanded,\n nodes: flat,\n };\n};\n\nexport interface ItemProps extends List.ItemProps<string, FlattenedNode> {\n onDrop?: (key: string, props: Haul.OnDropProps) => Haul.Item[];\n onSuccessfulDrop?: (key: string, props: Haul.OnSuccessfulDropProps) => void;\n onRename?: (key: string, name: string) => void;\n onDoubleClick?: (key: string, e: React.MouseEvent) => void;\n loading?: boolean;\n useMargin?: boolean;\n}\n\ntype TreePropsInheritedFromItem = Pick<\n ItemProps,\n \"onDrop\" | \"onRename\" | \"onSuccessfulDrop\" | \"onDoubleClick\" | \"useMargin\"\n>;\n\ntype TreePropsInheritedFromList = Omit<\n List.VirtualCoreProps<string, FlattenedNode>,\n \"onDrop\" | \"onSelect\" | \"children\" | \"onDoubleClick\" | \"itemHeight\"\n> & {\n itemHeight?: number;\n};\n\nexport interface TreeProps\n extends TreePropsInheritedFromItem,\n TreePropsInheritedFromList {\n nodes: FlattenedNode[];\n selected?: string[];\n onSelect: UseSelectProps<string, FlattenedNode>[\"onChange\"];\n children?: RenderProp<ItemProps>;\n virtual?: boolean;\n}\n\nconst expandedCaret = <Icon.Caret.Down className={CSS.B(\"caret\")} />;\nconst collapsedCaret = <Icon.Caret.Right className={CSS.B(\"caret\")} />;\n\nexport type Item = FC<ItemProps>;\n\nexport const DefaultItem = memo(\n ({\n entry,\n selected,\n onSelect,\n onDrop,\n onRename,\n onSuccessfulDrop,\n onDoubleClick,\n loading = false,\n useMargin = false,\n translate,\n }: ItemProps): ReactElement => {\n const {\n key,\n hasChildren = false,\n allowRename = false,\n children,\n icon,\n name,\n depth,\n expanded,\n href,\n haulItems = [],\n } = entry;\n\n const { getSelected } = List.useSelectionUtils<string>();\n const { getSourceData } = List.useDataUtilContext<string, FlattenedNode>();\n\n const actuallyHasChildren =\n hasChildren || (children != null && children.length > 0);\n\n // Expand, contract, and loading items.\n const startIcons: ReactElement[] = [];\n if (actuallyHasChildren) startIcons.push(expanded ? expandedCaret : collapsedCaret);\n if (icon != null) startIcons.push(icon);\n const endIcons: ReactElement[] = [];\n if (loading) endIcons.push(<Icon.Loading className={CSS.B(\"loading-indicator\")} />);\n\n const [draggingOver, setDraggingOver] = useState(false);\n\n // Drag and Drop\n const { startDrag, ...dropProps } = Haul.useDragAndDrop({\n type: \"Tree.Item\",\n key,\n canDrop: useCallback(({ items: entities, source }) => {\n const keys = entities.map((item) => item.key);\n setDraggingOver(false);\n return source.type === \"Tree.Item\" && !keys.includes(key);\n }, []),\n onDrop: useCallback((props) => onDrop?.(key, props) ?? [], [key, onDrop]),\n onDragOver: useCallback(() => setDraggingOver(true), []),\n });\n\n const handleDragStart = (): void => {\n const selectedItemKeys = getSelected();\n const selectedItems = getSourceData().filter((item) =>\n selectedItemKeys.includes(item.key),\n );\n if (selectedItemKeys.includes(key)) {\n const selectedHaulItems = selectedItems\n .map(({ key, haulItems }) => [{ type: HAUL_TYPE, key }, ...(haulItems ?? [])])\n .flat();\n return startDrag(selectedHaulItems, (props) => onSuccessfulDrop?.(key, props));\n }\n startDrag([{ type: HAUL_TYPE, key }, ...haulItems], (props) =>\n onSuccessfulDrop?.(key, props),\n );\n };\n\n const offsetKey = useMargin ? \"marginLeft\" : \"paddingLeft\";\n\n const baseProps: Button.LinkProps | Button.ButtonProps = {\n id: key,\n variant: \"text\",\n draggable: true,\n className: CSS(\n CSS.BE(\"list\", \"item\"),\n CONTEXT_TARGET,\n draggingOver && CSS.M(\"dragging-over\"),\n selected && CONTEXT_SELECTED,\n CSS.selected(selected),\n actuallyHasChildren && CSS.M(\"has-children\"),\n ),\n onDragLeave: () => setDraggingOver(false),\n onDragStart: handleDragStart,\n onClick: () => onSelect?.(key),\n style: {\n position: translate != null ? \"absolute\" : \"relative\",\n transform: `translateY(${translate}px)`,\n [offsetKey]: `${depth * 1.5 + 1}rem`,\n },\n startIcon: startIcons,\n iconSpacing: \"small\",\n noWrap: true,\n endIcon: endIcons,\n onDoubleClick: (e) => onDoubleClick?.(key, e),\n href,\n ...dropProps,\n };\n\n const Base = href != null ? Button.Link : Button.Button;\n\n return (\n <Base className={CSS.BE(\"list\", \"item\")} {...baseProps}>\n <Text.MaybeEditable\n id={`text-${key}`}\n level=\"p\"\n allowDoubleClick={false}\n value={name}\n disabled={!allowRename}\n onChange={(name) => onRename?.(key, name)}\n />\n </Base>\n );\n },\n);\nDefaultItem.displayName = \"Tree.Item\";\n\nconst defaultChild = componentRenderProp(DefaultItem);\n\nexport const Tree = ({\n nodes,\n selected = [],\n onSelect,\n onDrop,\n onRename,\n onSuccessfulDrop,\n onDoubleClick,\n className,\n children = defaultChild,\n itemHeight = 27,\n useMargin = false,\n virtual = true,\n ...props\n}: TreeProps): ReactElement => {\n const Core = virtual ? List.Core.Virtual : List.Core;\n\n return (\n <List.List<string, FlattenedNode> data={nodes}>\n <List.Selector value={selected} onChange={onSelect} allowMultiple replaceOnSingle>\n <Core<string, FlattenedNode>\n itemHeight={itemHeight}\n className={CSS(className, CSS.B(\"tree\"))}\n {...props}\n >\n {(props) =>\n children({\n ...props,\n useMargin,\n onDrop,\n onRename,\n onSuccessfulDrop,\n onDoubleClick,\n })\n }\n </Core>\n </List.Selector>\n </List.List>\n );\n};\n\nexport const startRenaming = (key: string): void => Text.edit(`text-${key}`);\n"],"names":["toArray","node","state.usePassthrough","Triggers.useHeldRef","jsx","Icon","List.useSelectionUtils","List.useDataUtilContext","Haul.useDragAndDrop","key","haulItems","Button.Link","Button.Button","Text.MaybeEditable","name","Core","List.Core","List.List","List.Selector","props","Text.edit"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"external-zennQBXe.js","sources":["../src/tree/core.ts","../src/tree/Tree.tsx"],"sourcesContent":["// Copyright 2023 Synnax Labs, Inc.\n//\n// Use of this software is governed by the Business Source License included in the file\n// licenses/BSL.txt.\n//\n// As of the Change Date specified in that file, in accordance with the Business Source\n// License, use of this software will be governed by the Apache License, Version 2.0,\n// included in the file licenses/APL.txt.\n\nimport { type ReactElement } from \"react\";\n\nimport { toArray } from \"@synnaxlabs/x\";\n\nimport { type Haul } from \"@/haul\";\n\nexport interface Node {\n key: string;\n name: string;\n renaming?: boolean;\n forcePosition?: number;\n icon?: ReactElement;\n allowRename?: boolean;\n hasChildren?: boolean;\n children?: Node[];\n haulItems?: Haul.Item[];\n canDrop?: (items: Haul.Item[]) => boolean;\n href?: string;\n}\n\nexport interface NodeWithPosition extends Node {\n depth: number;\n position: number;\n}\n\nexport interface FlattenedNode extends Node {\n index: number;\n depth: number;\n expanded: boolean;\n}\n\nexport const shouldExpand = (node: Node, expanded: string[]): boolean =>\n expanded.includes(node.key);\n\nexport interface FlattenProps {\n nodes: Node[];\n expanded: string[];\n depth?: number;\n sort?: boolean;\n}\n\nexport const sortAndSplice = (nodes: Node[], sort: boolean): Node[] => {\n if (sort) {\n nodes.sort((a, b) => a.name.localeCompare(b.name));\n }\n let found = false;\n for (let i = 0; i < nodes.length; i++) {\n const node = nodes[i];\n if (node.forcePosition != null && i !== node.forcePosition) {\n found = true;\n // remove the node from its current position\n nodes.splice(i, 1);\n // splice it into the forced position\n nodes.splice(node.forcePosition, 0, node);\n }\n }\n if (found) return sortAndSplice(nodes, false);\n return nodes;\n};\n\nexport const flatten = ({\n nodes,\n expanded,\n depth = 0,\n sort = true,\n}: FlattenProps): FlattenedNode[] => {\n // Sort the first level of the tree independently of the rest\n if (depth === 0 && sort) nodes = nodes.sort((a, b) => a.name.localeCompare(b.name));\n const flattened: FlattenedNode[] = [];\n nodes.forEach((node, index) => {\n const expand = shouldExpand(node, expanded);\n flattened.push({ ...node, depth, expanded: expand, index });\n if (expand && node.children != null) {\n node.children = sortAndSplice(node.children, sort);\n flattened.push(\n ...flatten({ nodes: node.children, expanded, depth: depth + 1, sort }),\n );\n }\n });\n return flattened;\n};\n\nexport interface MoveNodeProps {\n tree: Node[];\n destination: string;\n keys: string | string[];\n}\n\nexport const moveNode = ({ tree, destination, keys }: MoveNodeProps): Node[] => {\n keys = toArray(keys);\n keys.forEach((key) => {\n const node = findNode({ tree, key });\n if (node == null) return;\n removeNode({ tree, keys: key });\n setNode({ tree, destination, additions: node });\n });\n return tree;\n};\n\nexport interface RemoveNodeProps {\n tree: Node[];\n keys: string | string[];\n}\n\nexport const removeNode = ({ tree, keys }: RemoveNodeProps): Node[] => {\n keys = toArray(keys);\n const treeKeys = tree.map((node) => node.key);\n keys.forEach((key) => {\n const index = treeKeys.indexOf(key);\n if (index !== -1) tree.splice(index, 1);\n else {\n const parent = findNodeParent({ tree, key });\n if (parent != null)\n parent.children = parent.children?.filter((child) => child.key !== key);\n }\n });\n return tree;\n};\n\nexport interface SetNodeProps {\n tree: Node[];\n destination: string;\n additions: Node | Node[];\n}\n\nexport const setNode = ({ tree, destination, additions }: SetNodeProps): Node[] => {\n additions = toArray(additions);\n const node = findNode({ tree, key: destination });\n if (node == null) throw new Error(`Could not find node with key ${destination}`);\n if (node.children == null) node.children = [];\n const addedKeys = additions.map((node) => node.key);\n node.children = [\n ...additions,\n ...node.children.filter((child) => !addedKeys.includes(child.key)),\n ];\n return tree;\n};\n\nexport interface UpdateNodeProps {\n tree: Node[];\n key: string;\n updater: (node: Node) => Node;\n throwOnMissing?: boolean;\n}\n\nexport const updateNode = ({\n tree,\n key,\n updater,\n throwOnMissing = true,\n}: UpdateNodeProps): Node[] => {\n const node = findNode({ tree, key });\n if (node == null) {\n if (throwOnMissing) throw new Error(`Could not find node with key ${key}`);\n return tree;\n }\n const parent = findNodeParent({ tree, key });\n if (parent != null) {\n // splice the updated node into the parent's children\n const index = parent.children?.findIndex((child) => child.key === key);\n if (index != null && index !== -1) parent.children?.splice(index, 1, updater(node));\n } else {\n // we're in the root, so just update the node\n tree.splice(\n tree.findIndex((node) => node.key === key),\n 1,\n updater(node),\n );\n }\n return tree;\n};\n\nexport interface FindNodeProps {\n tree: Node[];\n key: string;\n depth?: number;\n}\n\nexport const findNode = ({\n tree,\n key,\n depth = 0,\n}: FindNodeProps): NodeWithPosition | null => {\n for (let i = 0; i < tree.length; i++) {\n const node = tree[i];\n if (node.key === key) {\n const n = node as NodeWithPosition;\n n.depth = depth;\n n.position = i;\n return n;\n }\n if (node.children != null) {\n const found = findNode({ tree: node.children, key, depth: depth + 1 });\n if (found != null) return found;\n }\n }\n return null;\n};\n\nexport interface FindNodesProps {\n tree: Node[];\n keys: string[];\n}\n\nexport const findNodes = ({ tree, keys }: FindNodesProps): NodeWithPosition[] => {\n const nodes: NodeWithPosition[] = [];\n for (const key of keys) {\n const node = findNode({ tree, key });\n if (node != null) nodes.push(node);\n }\n return nodes;\n};\n\nexport interface FindNodeParentProps {\n tree: Node[];\n key: string;\n}\n\nexport const findNodeParent = ({ tree, key }: FindNodeParentProps): Node | null => {\n for (const node of tree) {\n if (node.children != null) {\n if (node.children.some((child) => child.key === key)) return node;\n const found = findNodeParent({ tree: node.children, key });\n if (found != null) return found;\n }\n }\n return null;\n};\n","// Copyright 2023 Synnax Labs, Inc.\n//\n// Use of this software is governed by the Business Source License included in the file\n// licenses/BSL.txt.\n//\n// As of the Change Date specified in that file, in accordance with the Business Source\n// License, use of this software will be governed by the Apache License, Version 2.0,\n// included in the file licenses/APL.txt.\n\nimport {\n type ReactElement,\n useCallback,\n useMemo,\n useState,\n type FC,\n memo,\n} from \"react\";\n\nimport { Icon } from \"@synnaxlabs/media\";\n\nimport { Button } from \"@/button\";\nimport { CSS } from \"@/css\";\nimport { Haul } from \"@/haul\";\nimport { useSyncedRef, useCombinedStateAndRef } from \"@/hooks\";\nimport { List } from \"@/list\";\nimport { type UseSelectOnChangeExtra, type UseSelectProps } from \"@/list/useSelect\";\nimport { CONTEXT_SELECTED, CONTEXT_TARGET } from \"@/menu/ContextMenu\";\nimport { state } from \"@/state\";\nimport { Text } from \"@/text\";\nimport { flatten, type Node, type FlattenedNode } from \"@/tree/core\";\nimport { Triggers } from \"@/triggers\";\nimport { type RenderProp, componentRenderProp } from \"@/util/renderProp\";\n\nimport \"@/tree/Tree.css\";\n\nexport const HAUL_TYPE = \"tree-item\";\n\nexport interface HandleExpandProps {\n current: string[];\n action: \"expand\" | \"contract\";\n clicked: string;\n}\n\nexport interface UseProps {\n onExpand?: (props: HandleExpandProps) => void;\n selected?: string[];\n onSelectedChange?: state.Set<string[]>;\n initialExpanded?: string[];\n nodes: Node[];\n sort?: boolean;\n}\n\nexport interface UseReturn {\n selected: string[];\n expanded: string[];\n onSelect: UseSelectProps<string, FlattenedNode>[\"onChange\"];\n nodes: FlattenedNode[];\n}\n\nconst SHIFT_TRIGGERS: Triggers.Trigger[] = [[\"Shift\"]];\n\nexport const use = (props: UseProps): UseReturn => {\n const {\n onExpand,\n nodes,\n initialExpanded = [],\n sort = true,\n selected: propsSelected,\n onSelectedChange,\n } = props ?? {};\n const [expanded, setExpanded, ref] =\n useCombinedStateAndRef<string[]>(initialExpanded);\n const [selected, setSelected] = state.usePassthrough<string[]>({\n initial: [],\n value: propsSelected,\n onChange: onSelectedChange,\n });\n const flat = useMemo(\n () => flatten({ nodes, expanded, sort }),\n [nodes, expanded, sort],\n );\n const flatRef = useSyncedRef(flat);\n\n const shiftRef = Triggers.useHeldRef({ triggers: SHIFT_TRIGGERS });\n\n const handleSelect: UseSelectProps<string, FlattenedNode>[\"onChange\"] = useCallback(\n (\n keys: string[],\n { clicked }: UseSelectOnChangeExtra<string, FlattenedNode>,\n ): void => {\n setSelected(keys);\n const n = flatRef.current.find((node) => node.key === clicked);\n if (n?.hasChildren === false) return;\n if (clicked == null || shiftRef.current.held) return;\n const currentlyExpanded = ref.current;\n const action = currentlyExpanded.some((key) => key === clicked)\n ? \"contract\"\n : \"expand\";\n let nextExpanded = currentlyExpanded;\n if (action === \"contract\")\n nextExpanded = currentlyExpanded.filter((key) => key !== clicked);\n else nextExpanded = [...currentlyExpanded, clicked];\n setExpanded(nextExpanded);\n onExpand?.({ current: nextExpanded, action, clicked });\n },\n [onExpand, flatRef, setExpanded, setSelected],\n );\n\n return {\n onSelect: handleSelect,\n selected,\n expanded,\n nodes: flat,\n };\n};\n\nexport interface ItemProps extends List.ItemProps<string, FlattenedNode> {\n onDrop?: (key: string, props: Haul.OnDropProps) => Haul.Item[];\n onSuccessfulDrop?: (key: string, props: Haul.OnSuccessfulDropProps) => void;\n onRename?: (key: string, name: string) => void;\n onDoubleClick?: (key: string, e: React.MouseEvent) => void;\n loading?: boolean;\n useMargin?: boolean;\n}\n\ntype TreePropsInheritedFromItem = Pick<\n ItemProps,\n \"onDrop\" | \"onRename\" | \"onSuccessfulDrop\" | \"onDoubleClick\" | \"useMargin\"\n>;\n\ntype TreePropsInheritedFromList = Omit<\n List.VirtualCoreProps<string, FlattenedNode>,\n \"onDrop\" | \"onSelect\" | \"children\" | \"onDoubleClick\" | \"itemHeight\"\n> & {\n itemHeight?: number;\n};\n\nexport interface TreeProps\n extends TreePropsInheritedFromItem,\n TreePropsInheritedFromList {\n nodes: FlattenedNode[];\n selected?: string[];\n onSelect: UseSelectProps<string, FlattenedNode>[\"onChange\"];\n children?: RenderProp<ItemProps>;\n virtual?: boolean;\n}\n\nconst expandedCaret = <Icon.Caret.Down className={CSS.B(\"caret\")} />;\nconst collapsedCaret = <Icon.Caret.Right className={CSS.B(\"caret\")} />;\n\nexport type Item = FC<ItemProps>;\n\nexport const DefaultItem = memo(\n ({\n entry,\n selected,\n onSelect,\n onDrop,\n onRename,\n onSuccessfulDrop,\n onDoubleClick,\n loading = false,\n useMargin = false,\n translate,\n }: ItemProps): ReactElement => {\n const {\n key,\n hasChildren = false,\n allowRename = false,\n children,\n icon,\n name,\n depth,\n expanded,\n href,\n haulItems = [],\n } = entry;\n\n const { getSelected } = List.useSelectionUtils<string>();\n const { getSourceData } = List.useDataUtilContext<string, FlattenedNode>();\n\n const actuallyHasChildren =\n hasChildren || (children != null && children.length > 0);\n\n // Expand, contract, and loading items.\n const startIcons: ReactElement[] = [];\n if (actuallyHasChildren) startIcons.push(expanded ? expandedCaret : collapsedCaret);\n if (icon != null) startIcons.push(icon);\n const endIcons: ReactElement[] = [];\n if (loading) endIcons.push(<Icon.Loading className={CSS.B(\"loading-indicator\")} />);\n\n const [draggingOver, setDraggingOver] = useState(false);\n\n // Drag and Drop\n const { startDrag, ...dropProps } = Haul.useDragAndDrop({\n type: \"Tree.Item\",\n key,\n canDrop: useCallback(({ items: entities, source }) => {\n const keys = entities.map((item) => item.key);\n setDraggingOver(false);\n return source.type === \"Tree.Item\" && !keys.includes(key);\n }, []),\n onDrop: useCallback((props) => onDrop?.(key, props) ?? [], [key, onDrop]),\n onDragOver: useCallback(() => setDraggingOver(true), []),\n });\n\n const handleDragStart = (): void => {\n const selectedItemKeys = getSelected();\n const selectedItems = getSourceData().filter((item) =>\n selectedItemKeys.includes(item.key),\n );\n if (selectedItemKeys.includes(key)) {\n const selectedHaulItems = selectedItems\n .map(({ key, haulItems }) => [{ type: HAUL_TYPE, key }, ...(haulItems ?? [])])\n .flat();\n return startDrag(selectedHaulItems, (props) => onSuccessfulDrop?.(key, props));\n }\n startDrag([{ type: HAUL_TYPE, key }, ...haulItems], (props) =>\n onSuccessfulDrop?.(key, props),\n );\n };\n\n const offsetKey = useMargin ? \"marginLeft\" : \"paddingLeft\";\n\n const baseProps: Button.LinkProps | Button.ButtonProps = {\n id: key,\n variant: \"text\",\n draggable: true,\n className: CSS(\n CSS.BE(\"list\", \"item\"),\n CONTEXT_TARGET,\n draggingOver && CSS.M(\"dragging-over\"),\n selected && CONTEXT_SELECTED,\n CSS.selected(selected),\n actuallyHasChildren && CSS.M(\"has-children\"),\n ),\n onDragLeave: () => setDraggingOver(false),\n onDragStart: handleDragStart,\n onClick: () => onSelect?.(key),\n style: {\n position: translate != null ? \"absolute\" : \"relative\",\n transform: `translateY(${translate}px)`,\n [offsetKey]: `${depth * 1.5 + 1}rem`,\n },\n startIcon: startIcons,\n iconSpacing: \"small\",\n noWrap: true,\n endIcon: endIcons,\n onDoubleClick: (e) => onDoubleClick?.(key, e),\n href,\n ...dropProps,\n };\n\n const Base = href != null ? Button.Link : Button.Button;\n\n return (\n <Base className={CSS.BE(\"list\", \"item\")} {...baseProps}>\n <Text.MaybeEditable\n id={`text-${key}`}\n level=\"p\"\n allowDoubleClick={false}\n value={name}\n disabled={!allowRename}\n onChange={(name) => onRename?.(key, name)}\n />\n </Base>\n );\n },\n);\nDefaultItem.displayName = \"Tree.Item\";\n\nconst defaultChild = componentRenderProp(DefaultItem);\n\nexport const Tree = ({\n nodes,\n selected = [],\n onSelect,\n onDrop,\n onRename,\n onSuccessfulDrop,\n onDoubleClick,\n className,\n children = defaultChild,\n itemHeight = 27,\n useMargin = false,\n virtual = true,\n ...props\n}: TreeProps): ReactElement => {\n const Core = virtual ? List.Core.Virtual : List.Core;\n\n return (\n <List.List<string, FlattenedNode> data={nodes}>\n <List.Selector value={selected} onChange={onSelect} allowMultiple replaceOnSingle>\n <Core<string, FlattenedNode>\n itemHeight={itemHeight}\n className={CSS(className, CSS.B(\"tree\"))}\n {...props}\n >\n {(props) =>\n children({\n ...props,\n useMargin,\n onDrop,\n onRename,\n onSuccessfulDrop,\n onDoubleClick,\n })\n }\n </Core>\n </List.Selector>\n </List.List>\n );\n};\n\nexport const startRenaming = (key: string): void => Text.edit(`text-${key}`);\n"],"names":["toArray","node","state.usePassthrough","Triggers.useHeldRef","jsx","Icon","List.useSelectionUtils","List.useDataUtilContext","Haul.useDragAndDrop","key","haulItems","Button.Link","Button.Button","Text.MaybeEditable","name","Core","List.Core","List.List","List.Selector","props","Text.edit"],"mappings":";;;;;;;;AAwCO,MAAM,eAAe,CAAC,MAAY,aACvC,SAAS,SAAS,KAAK,GAAG;AASf,MAAA,gBAAgB,CAAC,OAAe,SAA0B;AACrE,MAAI,MAAM;AACF,UAAA,KAAK,CAAC,GAAG,MAAM,EAAE,KAAK,cAAc,EAAE,IAAI,CAAC;AAAA,EACnD;AACA,MAAI,QAAQ;AACZ,WAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;AAC/B,UAAA,OAAO,MAAM,CAAC;AACpB,QAAI,KAAK,iBAAiB,QAAQ,MAAM,KAAK,eAAe;AAClD,cAAA;AAEF,YAAA,OAAO,GAAG,CAAC;AAEjB,YAAM,OAAO,KAAK,eAAe,GAAG,IAAI;AAAA,IAC1C;AAAA,EACF;AACI,MAAA;AAAc,WAAA,cAAc,OAAO,KAAK;AACrC,SAAA;AACT;AAEO,MAAM,UAAU,CAAC;AAAA,EACtB;AAAA,EACA;AAAA,EACA,QAAQ;AAAA,EACR,OAAO;AACT,MAAqC;AAEnC,MAAI,UAAU,KAAK;AAAc,YAAA,MAAM,KAAK,CAAC,GAAG,MAAM,EAAE,KAAK,cAAc,EAAE,IAAI,CAAC;AAClF,QAAM,YAA6B,CAAA;AAC7B,QAAA,QAAQ,CAAC,MAAM,UAAU;AACvB,UAAA,SAAS,aAAa,MAAM,QAAQ;AAChC,cAAA,KAAK,EAAE,GAAG,MAAM,OAAO,UAAU,QAAQ,OAAO;AACtD,QAAA,UAAU,KAAK,YAAY,MAAM;AACnC,WAAK,WAAW,cAAc,KAAK,UAAU,IAAI;AACvC,gBAAA;AAAA,QACR,GAAG,QAAQ,EAAE,OAAO,KAAK,UAAU,UAAU,OAAO,QAAQ,GAAG,MAAM;AAAA,MAAA;AAAA,IAEzE;AAAA,EAAA,CACD;AACM,SAAA;AACT;AAQO,MAAM,WAAW,CAAC,EAAE,MAAM,aAAa,WAAkC;AAC9E,SAAOA,EAAQ,IAAI;AACd,OAAA,QAAQ,CAAC,QAAQ;AACpB,UAAM,OAAO,SAAS,EAAE,MAAM,IAAK,CAAA;AACnC,QAAI,QAAQ;AAAM;AAClB,eAAW,EAAE,MAAM,MAAM,IAAK,CAAA;AAC9B,YAAQ,EAAE,MAAM,aAAa,WAAW,KAAM,CAAA;AAAA,EAAA,CAC/C;AACM,SAAA;AACT;AAOO,MAAM,aAAa,CAAC,EAAE,MAAM,WAAoC;AACrE,SAAOA,EAAQ,IAAI;AACnB,QAAM,WAAW,KAAK,IAAI,CAAC,SAAS,KAAK,GAAG;AACvC,OAAA,QAAQ,CAAC,QAAQ;;AACd,UAAA,QAAQ,SAAS,QAAQ,GAAG;AAClC,QAAI,UAAU;AAAS,WAAA,OAAO,OAAO,CAAC;AAAA,SACjC;AACH,YAAM,SAAS,eAAe,EAAE,MAAM,IAAK,CAAA;AAC3C,UAAI,UAAU;AACL,eAAA,YAAW,YAAO,aAAP,mBAAiB,OAAO,CAAC,UAAU,MAAM,QAAQ;AAAA,IACvE;AAAA,EAAA,CACD;AACM,SAAA;AACT;AAQO,MAAM,UAAU,CAAC,EAAE,MAAM,aAAa,gBAAsC;AACjF,cAAYA,EAAQ,SAAS;AAC7B,QAAM,OAAO,SAAS,EAAE,MAAM,KAAK,aAAa;AAChD,MAAI,QAAQ;AAAM,UAAM,IAAI,MAAM,gCAAgC,WAAW,EAAE;AAC/E,MAAI,KAAK,YAAY;AAAM,SAAK,WAAW;AAC3C,QAAM,YAAY,UAAU,IAAI,CAACC,UAASA,MAAK,GAAG;AAClD,OAAK,WAAW;AAAA,IACd,GAAG;AAAA,IACH,GAAG,KAAK,SAAS,OAAO,CAAC,UAAU,CAAC,UAAU,SAAS,MAAM,GAAG,CAAC;AAAA,EAAA;AAE5D,SAAA;AACT;AASO,MAAM,aAAa,CAAC;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA,iBAAiB;AACnB,MAA+B;;AAC7B,QAAM,OAAO,SAAS,EAAE,MAAM,IAAK,CAAA;AACnC,MAAI,QAAQ,MAAM;AACZ,QAAA;AAAgB,YAAM,IAAI,MAAM,gCAAgC,GAAG,EAAE;AAClE,WAAA;AAAA,EACT;AACA,QAAM,SAAS,eAAe,EAAE,MAAM,IAAK,CAAA;AAC3C,MAAI,UAAU,MAAM;AAEZ,UAAA,SAAQ,YAAO,aAAP,mBAAiB,UAAU,CAAC,UAAU,MAAM,QAAQ;AAC9D,QAAA,SAAS,QAAQ,UAAU;AAAI,mBAAO,aAAP,mBAAiB,OAAO,OAAO,GAAG,QAAQ,IAAI;AAAA,EAAC,OAC7E;AAEA,SAAA;AAAA,MACH,KAAK,UAAU,CAACA,UAASA,MAAK,QAAQ,GAAG;AAAA,MACzC;AAAA,MACA,QAAQ,IAAI;AAAA,IAAA;AAAA,EAEhB;AACO,SAAA;AACT;AAQO,MAAM,WAAW,CAAC;AAAA,EACvB;AAAA,EACA;AAAA,EACA,QAAQ;AACV,MAA8C;AAC5C,WAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AAC9B,UAAA,OAAO,KAAK,CAAC;AACf,QAAA,KAAK,QAAQ,KAAK;AACpB,YAAM,IAAI;AACV,QAAE,QAAQ;AACV,QAAE,WAAW;AACN,aAAA;AAAA,IACT;AACI,QAAA,KAAK,YAAY,MAAM;AACnB,YAAA,QAAQ,SAAS,EAAE,MAAM,KAAK,UAAU,KAAK,OAAO,QAAQ,EAAG,CAAA;AACrE,UAAI,SAAS;AAAa,eAAA;AAAA,IAC5B;AAAA,EACF;AACO,SAAA;AACT;AAOO,MAAM,YAAY,CAAC,EAAE,MAAM,WAA+C;AAC/E,QAAM,QAA4B,CAAA;AAClC,aAAW,OAAO,MAAM;AACtB,UAAM,OAAO,SAAS,EAAE,MAAM,IAAK,CAAA;AACnC,QAAI,QAAQ;AAAM,YAAM,KAAK,IAAI;AAAA,EACnC;AACO,SAAA;AACT;AAOO,MAAM,iBAAiB,CAAC,EAAE,MAAM,UAA4C;AACjF,aAAW,QAAQ,MAAM;AACnB,QAAA,KAAK,YAAY,MAAM;AACzB,UAAI,KAAK,SAAS,KAAK,CAAC,UAAU,MAAM,QAAQ,GAAG;AAAU,eAAA;AAC7D,YAAM,QAAQ,eAAe,EAAE,MAAM,KAAK,UAAU,KAAK;AACzD,UAAI,SAAS;AAAa,eAAA;AAAA,IAC5B;AAAA,EACF;AACO,SAAA;AACT;ACzMO,MAAM,YAAY;AAwBzB,MAAM,iBAAqC,CAAC,CAAC,OAAO,CAAC;AAExC,MAAA,MAAM,CAAC,UAA+B;AAC3C,QAAA;AAAA,IACJ;AAAA,IACA;AAAA,IACA,kBAAkB,CAAC;AAAA,IACnB,OAAO;AAAA,IACP,UAAU;AAAA,IACV;AAAA,EAAA,IACE,SAAS,CAAA;AACb,QAAM,CAAC,UAAU,aAAa,GAAG,IAC/B,uBAAiC,eAAe;AAClD,QAAM,CAAC,UAAU,WAAW,IAAIC,eAA+B;AAAA,IAC7D,SAAS,CAAC;AAAA,IACV,OAAO;AAAA,IACP,UAAU;AAAA,EAAA,CACX;AACD,QAAM,OAAO;AAAA,IACX,MAAM,QAAQ,EAAE,OAAO,UAAU,MAAM;AAAA,IACvC,CAAC,OAAO,UAAU,IAAI;AAAA,EAAA;AAElB,QAAA,UAAU,aAAa,IAAI;AAEjC,QAAM,WAAWC,WAAoB,EAAE,UAAU,eAAgB,CAAA;AAEjE,QAAM,eAAkE;AAAA,IACtE,CACE,MACA,EAAE,cACO;AACT,kBAAY,IAAI;AACV,YAAA,IAAI,QAAQ,QAAQ,KAAK,CAAC,SAAS,KAAK,QAAQ,OAAO;AAC7D,WAAI,uBAAG,iBAAgB;AAAO;AAC1B,UAAA,WAAW,QAAQ,SAAS,QAAQ;AAAM;AAC9C,YAAM,oBAAoB,IAAI;AACxB,YAAA,SAAS,kBAAkB,KAAK,CAAC,QAAQ,QAAQ,OAAO,IAC1D,aACA;AACJ,UAAI,eAAe;AACnB,UAAI,WAAW;AACb,uBAAe,kBAAkB,OAAO,CAAC,QAAQ,QAAQ,OAAO;AAAA;AAC9C,uBAAA,CAAC,GAAG,mBAAmB,OAAO;AAClD,kBAAY,YAAY;AACxB,2CAAW,EAAE,SAAS,cAAc,QAAQ,QAAS;AAAA,IACvD;AAAA,IACA,CAAC,UAAU,SAAS,aAAa,WAAW;AAAA,EAAA;AAGvC,SAAA;AAAA,IACL,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA,OAAO;AAAA,EAAA;AAEX;AAiCA,MAAM,gBAAiBC,kCAAA,IAAAC,GAAK,MAAM,MAAX,EAAgB,WAAW,IAAI,EAAE,OAAO,EAAG,CAAA;AAClE,MAAM,iBAAkBD,kCAAA,IAAAC,GAAK,MAAM,OAAX,EAAiB,WAAW,IAAI,EAAE,OAAO,EAAG,CAAA;AAI7D,MAAM,cAAc;AAAA,EACzB,CAAC;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV,YAAY;AAAA,IACZ;AAAA,EAAA,MAC6B;AACvB,UAAA;AAAA,MACJ;AAAA,MACA,cAAc;AAAA,MACd,cAAc;AAAA,MACd;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,YAAY,CAAC;AAAA,IACX,IAAA;AAEJ,UAAM,EAAE,gBAAgBC;AACxB,UAAM,EAAE,kBAAkBC;AAE1B,UAAM,sBACJ,eAAgB,YAAY,QAAQ,SAAS,SAAS;AAGxD,UAAM,aAA6B,CAAA;AAC/B,QAAA;AAAgC,iBAAA,KAAK,WAAW,gBAAgB,cAAc;AAClF,QAAI,QAAQ;AAAM,iBAAW,KAAK,IAAI;AACtC,UAAM,WAA2B,CAAA;AAC7B,QAAA;AAAkB,eAAA,KAAMH,sCAAAC,GAAK,SAAL,EAAa,WAAW,IAAI,EAAE,mBAAmB,EAAA,CAAG,CAAE;AAElF,UAAM,CAAC,cAAc,eAAe,IAAI,SAAS,KAAK;AAGtD,UAAM,EAAE,WAAW,GAAG,UAAU,IAAIG,eAAoB;AAAA,MACtD,MAAM;AAAA,MACN;AAAA,MACA,SAAS,YAAY,CAAC,EAAE,OAAO,UAAU,aAAa;AACpD,cAAM,OAAO,SAAS,IAAI,CAAC,SAAS,KAAK,GAAG;AAC5C,wBAAgB,KAAK;AACrB,eAAO,OAAO,SAAS,eAAe,CAAC,KAAK,SAAS,GAAG;AAAA,MAC1D,GAAG,EAAE;AAAA,MACL,QAAQ,YAAY,CAAC,WAAU,iCAAS,KAAK,WAAU,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC;AAAA,MACxE,YAAY,YAAY,MAAM,gBAAgB,IAAI,GAAG,CAAA,CAAE;AAAA,IAAA,CACxD;AAED,UAAM,kBAAkB,MAAY;AAClC,YAAM,mBAAmB;AACnB,YAAA,gBAAgB,gBAAgB;AAAA,QAAO,CAAC,SAC5C,iBAAiB,SAAS,KAAK,GAAG;AAAA,MAAA;AAEhC,UAAA,iBAAiB,SAAS,GAAG,GAAG;AAC5B,cAAA,oBAAoB,cACvB,IAAI,CAAC,EAAE,KAAAC,MAAK,WAAAC,iBAAgB,CAAC,EAAE,MAAM,WAAW,KAAAD,KAAO,GAAA,GAAIC,cAAa,CAAG,CAAA,CAAC,EAC5E;AACH,eAAO,UAAU,mBAAmB,CAAC,UAAU,qDAAmB,KAAK,MAAM;AAAA,MAC/E;AACA;AAAA,QAAU,CAAC,EAAE,MAAM,WAAW,IAAI,GAAG,GAAG,SAAS;AAAA,QAAG,CAAC,UACnD,qDAAmB,KAAK;AAAA,MAAK;AAAA,IAC/B;AAGI,UAAA,YAAY,YAAY,eAAe;AAE7C,UAAM,YAAmD;AAAA,MACvD,IAAI;AAAA,MACJ,SAAS;AAAA,MACT,WAAW;AAAA,MACX,WAAW;AAAA,QACT,IAAI,GAAG,QAAQ,MAAM;AAAA,QACrB;AAAA,QACA,gBAAgB,IAAI,EAAE,eAAe;AAAA,QACrC,YAAY;AAAA,QACZ,IAAI,SAAS,QAAQ;AAAA,QACrB,uBAAuB,IAAI,EAAE,cAAc;AAAA,MAC7C;AAAA,MACA,aAAa,MAAM,gBAAgB,KAAK;AAAA,MACxC,aAAa;AAAA,MACb,SAAS,MAAM,qCAAW;AAAA,MAC1B,OAAO;AAAA,QACL,UAAU,aAAa,OAAO,aAAa;AAAA,QAC3C,WAAW,cAAc,SAAS;AAAA,QAClC,CAAC,SAAS,GAAG,GAAG,QAAQ,MAAM,CAAC;AAAA,MACjC;AAAA,MACA,WAAW;AAAA,MACX,aAAa;AAAA,MACb,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,eAAe,CAAC,MAAM,+CAAgB,KAAK;AAAA,MAC3C;AAAA,MACA,GAAG;AAAA,IAAA;AAGL,UAAM,OAAO,QAAQ,OAAOC,OAAcC;AAGxC,WAAAR,sCAAC,QAAK,WAAW,IAAI,GAAG,QAAQ,MAAM,GAAI,GAAG,WAC3C,UAAAA,kCAAA;AAAA,MAACS;AAAAA,MAAA;AAAA,QACC,IAAI,QAAQ,GAAG;AAAA,QACf,OAAM;AAAA,QACN,kBAAkB;AAAA,QAClB,OAAO;AAAA,QACP,UAAU,CAAC;AAAA,QACX,UAAU,CAACC,UAAS,qCAAW,KAAKA;AAAAA,MAAI;AAAA,IAE5C,EAAA,CAAA;AAAA,EAEJ;AACF;AACA,YAAY,cAAc;AAE1B,MAAM,eAAe,oBAAoB,WAAW;AAE7C,MAAM,OAAO,CAAC;AAAA,EACnB;AAAA,EACA,WAAW,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,GAAG;AACL,MAA+B;AAC7B,QAAMC,SAAO,UAAUC,KAAU,UAAUA;AAE3C,+CACGC,MAAA,EAAiC,MAAM,OACtC,UAACb,kCAAA,IAAAc,UAAA,EAAc,OAAO,UAAU,UAAU,UAAU,eAAa,MAAC,iBAAe,MAC/E,UAAAd,kCAAA;AAAA,IAACW;AAAAA,IAAA;AAAA,MACC;AAAA,MACA,WAAW,IAAI,WAAW,IAAI,EAAE,MAAM,CAAC;AAAA,MACtC,GAAG;AAAA,MAEH,UAAA,CAACI,WACA,SAAS;AAAA,QACP,GAAGA;AAAAA,QACH;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA,CACD;AAAA,IAAA;AAAA,EAAA,EAGP,CAAA,EACF,CAAA;AAEJ;AAEO,MAAM,gBAAgB,CAAC,QAAsBC,KAAU,QAAQ,GAAG,EAAE;;;;;;;;;;;;;;;;;;;"}
|
package/dist/header.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const external = require("./external-
|
|
3
|
+
const external = require("./external-CygFOviM.cjs");
|
|
4
4
|
exports.Header = external.external;
|
|
5
5
|
//# sourceMappingURL=header.cjs.map
|
package/dist/header.js
CHANGED
package/dist/index.cjs
CHANGED
|
@@ -8,25 +8,25 @@ var __publicField = (obj, key, value2) => {
|
|
|
8
8
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
9
9
|
const jsxRuntime = require("./jsx-runtime-B3vWrP5x.cjs");
|
|
10
10
|
const React = require("react");
|
|
11
|
-
const Toggle$1 = require("./Toggle-
|
|
11
|
+
const Toggle$1 = require("./Toggle-D1EoehhH.cjs");
|
|
12
12
|
const css = require("./css-Pf9qxhQ4.cjs");
|
|
13
|
-
const external$l = require("./external-
|
|
14
|
-
const aggregator = require("./aggregator-
|
|
13
|
+
const external$l = require("./external-CygFOviM.cjs");
|
|
14
|
+
const aggregator = require("./aggregator-Ca8xiVD2.cjs");
|
|
15
15
|
const Center$1 = require("./Center-5NJ61qfA.cjs");
|
|
16
|
-
const LinePlot$2 = require("./LinePlot-
|
|
17
|
-
const external$k = require("./external-
|
|
18
|
-
const external$t = require("./external-
|
|
19
|
-
const external$q = require("./external-
|
|
16
|
+
const LinePlot$2 = require("./LinePlot-FmPnet-3.cjs");
|
|
17
|
+
const external$k = require("./external-B8MvInOj.cjs");
|
|
18
|
+
const external$t = require("./external-BC7QdjAs.cjs");
|
|
19
|
+
const external$q = require("./external-Bh2-N-ic.cjs");
|
|
20
20
|
const reactDom = require("react-dom");
|
|
21
|
-
const external$o = require("./external-
|
|
22
|
-
const external$n = require("./external-
|
|
21
|
+
const external$o = require("./external-QoTq138N.cjs");
|
|
22
|
+
const external$n = require("./external-BVW64h82.cjs");
|
|
23
23
|
const external$i = require("./external-D8dWmF4U.cjs");
|
|
24
|
-
const external$j = require("./external-
|
|
24
|
+
const external$j = require("./external-XnNSUnBv.cjs");
|
|
25
25
|
const color = require("./color-BVVyrgRF.cjs");
|
|
26
|
-
const external$m = require("./external-
|
|
27
|
-
const external$p = require("./external-
|
|
28
|
-
const external$r = require("./external-
|
|
29
|
-
const external$s = require("./external-
|
|
26
|
+
const external$m = require("./external-BL3iWJdz.cjs");
|
|
27
|
+
const external$p = require("./external-B8ILMNP2.cjs");
|
|
28
|
+
const external$r = require("./external-ueyo2Jw7.cjs");
|
|
29
|
+
const external$s = require("./external-S9aNR1qN.cjs");
|
|
30
30
|
const Video = require("./Video-BGNx94bQ.cjs");
|
|
31
31
|
const zod = require("zod");
|
|
32
32
|
const Circle$1 = ({ variant, ...props }) => {
|
package/dist/index.js
CHANGED
|
@@ -6,37 +6,37 @@ var __publicField = (obj, key, value2) => {
|
|
|
6
6
|
};
|
|
7
7
|
import { j as jsxRuntimeExports } from "./jsx-runtime-mMz73N64.js";
|
|
8
8
|
import React__default, { isValidElement, forwardRef, Children, useRef, useState, useCallback, useEffect, createElement, memo, createContext, useContext as useContext$6, useMemo, useLayoutEffect, useImperativeHandle, useId, createRef, Fragment } from "react";
|
|
9
|
-
import { p as m0, aG as variantColors, e as Text, N as DateTime, I as Icon$1, B as Button$4, aH as Aggregator, aI as Text$1, aJ as useAggregator, aK as useContext$5, aL as useNotifications, aM as Config, aN as Context$5, aO as Dialog, aP as chooseLocation, aQ as formatTip, aR as useConfig, aS as wrap, aa as mouseKey, o as useSyncedRef, M as MaybeEditable, aT as wrap$1, aU as use$b, aV as useResize, aW as Composite, aX as useEffectCompare, aY as useMemoDeepEqualProps, aZ as useUniqueKey, c as useTypography, a_ as useStateRef, f as useMemoCompare, a1 as compareModeConfigs, a6 as flattenConfig, a2 as determineMode, y as useHeldRef, X as use$c, W as WithIcon, j as use$d, a$ as useAsyncEffect, aw as selectValueIsZero, av as Search, v as useSelectionUtils, ah as Text$2, G as componentRenderProp, E as Editable, s as useContextMenu, r as ContextMenu, b0 as usePrevious, b1 as useDrop, l as filterByType, b2 as canDropOfType, k as useDraggingState, x as useCombinedStateAndRef, m as useDragAndDrop, b3 as Provider$9, as as useDebouncedCallback, u as use$e, ad as purgeMouse, b4 as useCombinedRefs, d as ToggleIcon, al as Switch$2, ak as Numeric, a0 as Provider$b, b5 as Provider$c, P as Provider$d, b6 as Provider$e } from "./Toggle-
|
|
10
|
-
import { b7, b8, D, b9, ba, be, bd, bb, bc } from "./Toggle-
|
|
9
|
+
import { p as m0, aG as variantColors, e as Text, N as DateTime, I as Icon$1, B as Button$4, aH as Aggregator, aI as Text$1, aJ as useAggregator, aK as useContext$5, aL as useNotifications, aM as Config, aN as Context$5, aO as Dialog, aP as chooseLocation, aQ as formatTip, aR as useConfig, aS as wrap, aa as mouseKey, o as useSyncedRef, M as MaybeEditable, aT as wrap$1, aU as use$b, aV as useResize, aW as Composite, aX as useEffectCompare, aY as useMemoDeepEqualProps, aZ as useUniqueKey, c as useTypography, a_ as useStateRef, f as useMemoCompare, a1 as compareModeConfigs, a6 as flattenConfig, a2 as determineMode, y as useHeldRef, X as use$c, W as WithIcon, j as use$d, a$ as useAsyncEffect, aw as selectValueIsZero, av as Search, v as useSelectionUtils, ah as Text$2, G as componentRenderProp, E as Editable, s as useContextMenu, r as ContextMenu, b0 as usePrevious, b1 as useDrop, l as filterByType, b2 as canDropOfType, k as useDraggingState, x as useCombinedStateAndRef, m as useDragAndDrop, b3 as Provider$9, as as useDebouncedCallback, u as use$e, ad as purgeMouse, b4 as useCombinedRefs, d as ToggleIcon, al as Switch$2, ak as Numeric, a0 as Provider$b, b5 as Provider$c, P as Provider$d, b6 as Provider$e } from "./Toggle-Blzh0A0b.js";
|
|
10
|
+
import { b7, b8, D, b9, ba, be, bd, bb, bc } from "./Toggle-Blzh0A0b.js";
|
|
11
11
|
import { C as CSS, J, d as f, g as Z, T as To, q, Y, h as clsx, j as k, _ as _$1, c as cssString, K as Ke, L, a as Color, Z as ZERO } from "./css-DoalWJF6.js";
|
|
12
12
|
import { n } from "./css-DoalWJF6.js";
|
|
13
|
-
import { H as Header, B as ButtonTitle, A as Actions } from "./external-
|
|
14
|
-
import { e } from "./external-
|
|
15
|
-
import { A, V as VARIANTS$1, n as specZ, v as variantZ, h as usePurePassthrough, m as w, _, C as ComponentSizeLevels, c as S, o as S$1, p as A$1, q as g, k as dimensions, x as _b, z as re, B as n2, D as o$1, l as levelZ, w as w$1, E as dk, F as is, G as i, H as a, I as h, J as B, y } from "./aggregator-
|
|
16
|
-
import { M, Q, N, O, U, K } from "./aggregator-
|
|
13
|
+
import { H as Header, B as ButtonTitle, A as Actions } from "./external-C0ssJO_w.js";
|
|
14
|
+
import { e } from "./external-C0ssJO_w.js";
|
|
15
|
+
import { A, V as VARIANTS$1, n as specZ, v as variantZ, h as usePurePassthrough, m as w, _, C as ComponentSizeLevels, c as S, o as S$1, p as A$1, q as g, k as dimensions, x as _b, z as re, B as n2, D as o$1, l as levelZ, w as w$1, E as dk, F as is, G as i, H as a, I as h, J as B, y } from "./aggregator-Dl2jHye5.js";
|
|
16
|
+
import { M, Q, N, O, U, K } from "./aggregator-Dl2jHye5.js";
|
|
17
17
|
import { S as Space, P as Pack } from "./Center-hbwH7rg9.js";
|
|
18
18
|
import { G } from "./Center-hbwH7rg9.js";
|
|
19
|
-
import { I as Canvas$2, J as canvasStateZ, K as useStore, M as shallow$1, N as cc, A as LinePlot$2, B as linePlotStateZ, O as filterGridEntries, P as Line$5, Q as stateZ, X as XAxis$2, Y as YAxis$2, S as coreAxisStateZ, T as parseAutoBounds, U as withinSizeThreshold, V as Tooltip$3, W as tooltipStateZ, Z as Measure$2, _ as measureStateZ, $ as Rule$2, a0 as ruleStateZ, a1 as Annotation$1, a2 as annotationStateZ, a3 as Provider$7, a4 as providerStateZ, a5 as streamChannelData, a6 as channelData, a7 as ZERO_CONTEXT_VALUE, a8 as Provider$8, a9 as Eraser$1, aa as eraserStateZ, ab as useReactFlow, ac as BaseEdge, ad as Diagram$1, ae as diagramStateZ, af as translateViewportBackward, ag as useOnViewportChange, ah as translateEdgesForward, ai as translateNodesForward, aj as nodeConverter, ak as edgeConverter, al as ReactFlow, am as translateViewportForward, an as ConnectionMode, ao as SelectionMode, ap as ReactFlowProvider, aq as applyNodeChanges, ar as applyEdgeChanges, as as updateEdge, at as addEdge, au as Value$2, av as Controller$1, aw as controllerStateZ, ax as StateProvider$1, ay as stateProviderStateZ, az as Indicator$1, aA as indicatorStateZ, aB as Chip$1, aC as chipStateZ, aD as Legend$2, aE as legendStateZ, aF as Button$6, aG as buttonStateZ, aH as Position, aI as useUpdateNodeInternals, aJ as Handle$1, aK as Toggle$1, aL as toggleStateZ, aM as useInitialViewport, aN as sourcePipelinePropsZ, aO as sinkPipelinePropsZ, aP as streamChannelValuePropsZ, aQ as setChannelValuePropsZ, aR as stringifyNumberProps, aS as rollingAverageProps, aT as sourcePipeline, aU as streamChannelValue, aV as withinBounds, aW as sinkPipeline, aX as setChannelValue, aY as setpoint, aZ as stringifyNumber, a_ as rollingAverage, a$ as authoritySource, b0 as acquireChannelControl, b1 as Provider$a, b2 as providerStateZ$1, b3 as BaseProvider, b4 as providerStateZ$2 } from "./LinePlot-
|
|
20
|
-
import { v } from "./LinePlot-
|
|
21
|
-
import { S as Swatch } from "./external-
|
|
22
|
-
import { e as e2 } from "./external-
|
|
23
|
-
import { u as useDrag, T as Text$3 } from "./external-
|
|
24
|
-
import { e as e3 } from "./external-
|
|
25
|
-
import { C as Core$2, B as Button$5, D as DropdownButton, a as BaseButton, d as defaultButton, S as SelectLevel } from "./external-
|
|
26
|
-
import { e as e4 } from "./external-
|
|
19
|
+
import { I as Canvas$2, J as canvasStateZ, K as useStore, M as shallow$1, N as cc, A as LinePlot$2, B as linePlotStateZ, O as filterGridEntries, P as Line$5, Q as stateZ, X as XAxis$2, Y as YAxis$2, S as coreAxisStateZ, T as parseAutoBounds, U as withinSizeThreshold, V as Tooltip$3, W as tooltipStateZ, Z as Measure$2, _ as measureStateZ, $ as Rule$2, a0 as ruleStateZ, a1 as Annotation$1, a2 as annotationStateZ, a3 as Provider$7, a4 as providerStateZ, a5 as streamChannelData, a6 as channelData, a7 as ZERO_CONTEXT_VALUE, a8 as Provider$8, a9 as Eraser$1, aa as eraserStateZ, ab as useReactFlow, ac as BaseEdge, ad as Diagram$1, ae as diagramStateZ, af as translateViewportBackward, ag as useOnViewportChange, ah as translateEdgesForward, ai as translateNodesForward, aj as nodeConverter, ak as edgeConverter, al as ReactFlow, am as translateViewportForward, an as ConnectionMode, ao as SelectionMode, ap as ReactFlowProvider, aq as applyNodeChanges, ar as applyEdgeChanges, as as updateEdge, at as addEdge, au as Value$2, av as Controller$1, aw as controllerStateZ, ax as StateProvider$1, ay as stateProviderStateZ, az as Indicator$1, aA as indicatorStateZ, aB as Chip$1, aC as chipStateZ, aD as Legend$2, aE as legendStateZ, aF as Button$6, aG as buttonStateZ, aH as Position, aI as useUpdateNodeInternals, aJ as Handle$1, aK as Toggle$1, aL as toggleStateZ, aM as useInitialViewport, aN as sourcePipelinePropsZ, aO as sinkPipelinePropsZ, aP as streamChannelValuePropsZ, aQ as setChannelValuePropsZ, aR as stringifyNumberProps, aS as rollingAverageProps, aT as sourcePipeline, aU as streamChannelValue, aV as withinBounds, aW as sinkPipeline, aX as setChannelValue, aY as setpoint, aZ as stringifyNumber, a_ as rollingAverage, a$ as authoritySource, b0 as acquireChannelControl, b1 as Provider$a, b2 as providerStateZ$1, b3 as BaseProvider, b4 as providerStateZ$2 } from "./LinePlot-D3us1amT.js";
|
|
20
|
+
import { v } from "./LinePlot-D3us1amT.js";
|
|
21
|
+
import { S as Swatch } from "./external-ClBFWQBO.js";
|
|
22
|
+
import { e as e2 } from "./external-ClBFWQBO.js";
|
|
23
|
+
import { u as useDrag, T as Text$3 } from "./external-D5cOWqK9.js";
|
|
24
|
+
import { e as e3 } from "./external-D5cOWqK9.js";
|
|
25
|
+
import { C as Core$2, B as Button$5, D as DropdownButton, a as BaseButton, d as defaultButton, S as SelectLevel } from "./external-1LeSvPMo.js";
|
|
26
|
+
import { e as e4 } from "./external-1LeSvPMo.js";
|
|
27
27
|
import { createPortal } from "react-dom";
|
|
28
|
-
import { e as e5 } from "./external-
|
|
29
|
-
import { F as Filter$2 } from "./external-
|
|
30
|
-
import { e as e6, c, f as f2, p } from "./external-
|
|
28
|
+
import { e as e5 } from "./external-D9_xWvtb.js";
|
|
29
|
+
import { F as Filter$2 } from "./external-BlDgPWoN.js";
|
|
30
|
+
import { e as e6, c, f as f2, p } from "./external-BlDgPWoN.js";
|
|
31
31
|
import { e as e7 } from "./external-SxB9IH0p.js";
|
|
32
|
-
import { e as e8 } from "./external-
|
|
32
|
+
import { e as e8 } from "./external-Cco96ysu.js";
|
|
33
33
|
import { c as c2, u } from "./color-DV-YGUvp.js";
|
|
34
|
-
import { I as Item } from "./external-
|
|
35
|
-
import { e as e9 } from "./external-
|
|
36
|
-
import { r as resetSelection, a as rename, T as Tabs, u as useStatic } from "./external-
|
|
37
|
-
import { e as e10 } from "./external-
|
|
38
|
-
import { e as e11 } from "./external-
|
|
39
|
-
import { e as e12 } from "./external-
|
|
34
|
+
import { I as Item } from "./external-DJYiyF-g.js";
|
|
35
|
+
import { e as e9 } from "./external-DJYiyF-g.js";
|
|
36
|
+
import { r as resetSelection, a as rename, T as Tabs, u as useStatic } from "./external-Dsqoldyc.js";
|
|
37
|
+
import { e as e10 } from "./external-Dsqoldyc.js";
|
|
38
|
+
import { e as e11 } from "./external-BMK0UUaW.js";
|
|
39
|
+
import { e as e12 } from "./external-zennQBXe.js";
|
|
40
40
|
import { V } from "./Video-B1oW8NLd.js";
|
|
41
41
|
import { z } from "zod";
|
|
42
42
|
const Circle$1 = ({ variant, ...props }) => {
|
package/dist/input.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const external = require("./external-
|
|
3
|
+
const external = require("./external-BL3iWJdz.cjs");
|
|
4
4
|
exports.Input = external.external;
|
|
5
5
|
//# sourceMappingURL=input.cjs.map
|
package/dist/input.js
CHANGED
package/dist/list.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const external = require("./external-
|
|
3
|
+
const external = require("./external-BVW64h82.cjs");
|
|
4
4
|
exports.List = external.external;
|
|
5
5
|
//# sourceMappingURL=list.cjs.map
|
package/dist/list.js
CHANGED
package/dist/menu.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const external = require("./external-
|
|
3
|
+
const external = require("./external-QoTq138N.cjs");
|
|
4
4
|
exports.Menu = external.external;
|
|
5
5
|
//# sourceMappingURL=menu.cjs.map
|
package/dist/menu.js
CHANGED
|
@@ -6,7 +6,7 @@ import { TimeStamp } from '@synnaxlabs/x';
|
|
|
6
6
|
export declare const aggregatorStateZ: z.ZodObject<{
|
|
7
7
|
statuses: z.ZodArray<z.ZodObject<{
|
|
8
8
|
key: z.ZodString;
|
|
9
|
-
variant: z.ZodEnum<["success", "error", "warning", "info", "loading", "disabled"]>;
|
|
9
|
+
variant: z.ZodEnum<["success", "error", "warning", "info", "loading", "disabled", "secondary"]>;
|
|
10
10
|
message: z.ZodString;
|
|
11
11
|
description: z.ZodOptional<z.ZodString>;
|
|
12
12
|
time: z.ZodUnion<[z.ZodEffects<z.ZodObject<{
|
|
@@ -23,7 +23,7 @@ export declare const aggregatorStateZ: z.ZodObject<{
|
|
|
23
23
|
message: string;
|
|
24
24
|
key: string;
|
|
25
25
|
time: TimeStamp;
|
|
26
|
-
variant: "disabled" | "loading" | "error" | "warning" | "success" | "info";
|
|
26
|
+
variant: "disabled" | "loading" | "error" | "secondary" | "warning" | "success" | "info";
|
|
27
27
|
description?: string | undefined;
|
|
28
28
|
data?: Record<string, unknown> | undefined;
|
|
29
29
|
}, {
|
|
@@ -44,7 +44,7 @@ export declare const aggregatorStateZ: z.ZodObject<{
|
|
|
44
44
|
} & number) | ({
|
|
45
45
|
value: bigint;
|
|
46
46
|
} & Number);
|
|
47
|
-
variant: "disabled" | "loading" | "error" | "warning" | "success" | "info";
|
|
47
|
+
variant: "disabled" | "loading" | "error" | "secondary" | "warning" | "success" | "info";
|
|
48
48
|
description?: string | undefined;
|
|
49
49
|
data?: Record<string, unknown> | undefined;
|
|
50
50
|
}>, "many">;
|
|
@@ -53,7 +53,7 @@ export declare const aggregatorStateZ: z.ZodObject<{
|
|
|
53
53
|
message: string;
|
|
54
54
|
key: string;
|
|
55
55
|
time: TimeStamp;
|
|
56
|
-
variant: "disabled" | "loading" | "error" | "warning" | "success" | "info";
|
|
56
|
+
variant: "disabled" | "loading" | "error" | "secondary" | "warning" | "success" | "info";
|
|
57
57
|
description?: string | undefined;
|
|
58
58
|
data?: Record<string, unknown> | undefined;
|
|
59
59
|
}[];
|
|
@@ -76,7 +76,7 @@ export declare const aggregatorStateZ: z.ZodObject<{
|
|
|
76
76
|
} & number) | ({
|
|
77
77
|
value: bigint;
|
|
78
78
|
} & Number);
|
|
79
|
-
variant: "disabled" | "loading" | "error" | "warning" | "success" | "info";
|
|
79
|
+
variant: "disabled" | "loading" | "error" | "secondary" | "warning" | "success" | "info";
|
|
80
80
|
description?: string | undefined;
|
|
81
81
|
data?: Record<string, unknown> | undefined;
|
|
82
82
|
}[];
|
|
@@ -87,7 +87,7 @@ export declare class Aggregator extends aether.Composite<typeof aggregatorStateZ
|
|
|
87
87
|
schema: z.ZodObject<{
|
|
88
88
|
statuses: z.ZodArray<z.ZodObject<{
|
|
89
89
|
key: z.ZodString;
|
|
90
|
-
variant: z.ZodEnum<["success", "error", "warning", "info", "loading", "disabled"]>;
|
|
90
|
+
variant: z.ZodEnum<["success", "error", "warning", "info", "loading", "disabled", "secondary"]>;
|
|
91
91
|
message: z.ZodString;
|
|
92
92
|
description: z.ZodOptional<z.ZodString>;
|
|
93
93
|
time: z.ZodUnion<[z.ZodEffects<z.ZodObject<{
|
|
@@ -104,7 +104,7 @@ export declare class Aggregator extends aether.Composite<typeof aggregatorStateZ
|
|
|
104
104
|
message: string;
|
|
105
105
|
key: string;
|
|
106
106
|
time: TimeStamp;
|
|
107
|
-
variant: "disabled" | "loading" | "error" | "warning" | "success" | "info";
|
|
107
|
+
variant: "disabled" | "loading" | "error" | "secondary" | "warning" | "success" | "info";
|
|
108
108
|
description?: string | undefined;
|
|
109
109
|
data?: Record<string, unknown> | undefined;
|
|
110
110
|
}, {
|
|
@@ -125,7 +125,7 @@ export declare class Aggregator extends aether.Composite<typeof aggregatorStateZ
|
|
|
125
125
|
} & number) | ({
|
|
126
126
|
value: bigint;
|
|
127
127
|
} & Number);
|
|
128
|
-
variant: "disabled" | "loading" | "error" | "warning" | "success" | "info";
|
|
128
|
+
variant: "disabled" | "loading" | "error" | "secondary" | "warning" | "success" | "info";
|
|
129
129
|
description?: string | undefined;
|
|
130
130
|
data?: Record<string, unknown> | undefined;
|
|
131
131
|
}>, "many">;
|
|
@@ -134,7 +134,7 @@ export declare class Aggregator extends aether.Composite<typeof aggregatorStateZ
|
|
|
134
134
|
message: string;
|
|
135
135
|
key: string;
|
|
136
136
|
time: TimeStamp;
|
|
137
|
-
variant: "disabled" | "loading" | "error" | "warning" | "success" | "info";
|
|
137
|
+
variant: "disabled" | "loading" | "error" | "secondary" | "warning" | "success" | "info";
|
|
138
138
|
description?: string | undefined;
|
|
139
139
|
data?: Record<string, unknown> | undefined;
|
|
140
140
|
}[];
|
|
@@ -157,7 +157,7 @@ export declare class Aggregator extends aether.Composite<typeof aggregatorStateZ
|
|
|
157
157
|
} & number) | ({
|
|
158
158
|
value: bigint;
|
|
159
159
|
} & Number);
|
|
160
|
-
variant: "disabled" | "loading" | "error" | "warning" | "success" | "info";
|
|
160
|
+
variant: "disabled" | "loading" | "error" | "secondary" | "warning" | "success" | "info";
|
|
161
161
|
description?: string | undefined;
|
|
162
162
|
data?: Record<string, unknown> | undefined;
|
|
163
163
|
}[];
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { Optional, TimeStamp } from '@synnaxlabs/x';
|
|
3
3
|
|
|
4
|
-
export declare const VARIANTS: readonly ["success", "error", "warning", "info", "loading", "disabled"];
|
|
5
|
-
export declare const variantZ: z.ZodEnum<["success", "error", "warning", "info", "loading", "disabled"]>;
|
|
4
|
+
export declare const VARIANTS: readonly ["success", "error", "warning", "info", "loading", "disabled", "secondary"];
|
|
5
|
+
export declare const variantZ: z.ZodEnum<["success", "error", "warning", "info", "loading", "disabled", "secondary"]>;
|
|
6
6
|
export type Variant = z.infer<typeof variantZ>;
|
|
7
7
|
export declare const specZ: z.ZodObject<{
|
|
8
8
|
key: z.ZodString;
|
|
9
|
-
variant: z.ZodEnum<["success", "error", "warning", "info", "loading", "disabled"]>;
|
|
9
|
+
variant: z.ZodEnum<["success", "error", "warning", "info", "loading", "disabled", "secondary"]>;
|
|
10
10
|
message: z.ZodString;
|
|
11
11
|
description: z.ZodOptional<z.ZodString>;
|
|
12
12
|
time: z.ZodUnion<[z.ZodEffects<z.ZodObject<{
|
|
@@ -23,7 +23,7 @@ export declare const specZ: z.ZodObject<{
|
|
|
23
23
|
message: string;
|
|
24
24
|
key: string;
|
|
25
25
|
time: TimeStamp;
|
|
26
|
-
variant: "disabled" | "loading" | "error" | "warning" | "success" | "info";
|
|
26
|
+
variant: "disabled" | "loading" | "error" | "secondary" | "warning" | "success" | "info";
|
|
27
27
|
description?: string | undefined;
|
|
28
28
|
data?: Record<string, unknown> | undefined;
|
|
29
29
|
}, {
|
|
@@ -44,7 +44,7 @@ export declare const specZ: z.ZodObject<{
|
|
|
44
44
|
} & number) | ({
|
|
45
45
|
value: bigint;
|
|
46
46
|
} & Number);
|
|
47
|
-
variant: "disabled" | "loading" | "error" | "warning" | "success" | "info";
|
|
47
|
+
variant: "disabled" | "loading" | "error" | "secondary" | "warning" | "success" | "info";
|
|
48
48
|
description?: string | undefined;
|
|
49
49
|
data?: Record<string, unknown> | undefined;
|
|
50
50
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/status/aether/types.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/status/aether/types.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,QAAQ,sFAQX,CAAC;AACX,eAAO,MAAM,QAAQ,wFAAmB,CAAC;AACzC,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAC;AAE/C,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOhB,CAAC;AAEH,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,CAAC,CAAC;AAEzC,MAAM,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../../src/status/colors.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAE9C,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../../src/status/colors.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAE9C,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAQxD,CAAC"}
|
|
@@ -126,27 +126,27 @@ export declare class Mean extends MultiSourceTransformer<number, number, typeof
|
|
|
126
126
|
}
|
|
127
127
|
export declare const mean: (props: z.input<typeof meanProps>) => BooleanSourceSpec;
|
|
128
128
|
export declare const booleanStatusProps: z.ZodObject<{
|
|
129
|
-
trueVariant: z.ZodDefault<z.ZodOptional<z.ZodEnum<["success", "error", "warning", "info", "loading", "disabled"]>>>;
|
|
129
|
+
trueVariant: z.ZodDefault<z.ZodOptional<z.ZodEnum<["success", "error", "warning", "info", "loading", "disabled", "secondary"]>>>;
|
|
130
130
|
}, "strip", z.ZodTypeAny, {
|
|
131
|
-
trueVariant: "disabled" | "loading" | "error" | "warning" | "success" | "info";
|
|
131
|
+
trueVariant: "disabled" | "loading" | "error" | "secondary" | "warning" | "success" | "info";
|
|
132
132
|
}, {
|
|
133
|
-
trueVariant?: "disabled" | "loading" | "error" | "warning" | "success" | "info" | undefined;
|
|
133
|
+
trueVariant?: "disabled" | "loading" | "error" | "secondary" | "warning" | "success" | "info" | undefined;
|
|
134
134
|
}>;
|
|
135
135
|
export declare class BooleanStatus extends UnarySourceTransformer<status.Spec, boolean, typeof booleanStatusProps> {
|
|
136
136
|
static readonly TYPE = "boolean-status";
|
|
137
137
|
static readonly propsZ: z.ZodObject<{
|
|
138
|
-
trueVariant: z.ZodDefault<z.ZodOptional<z.ZodEnum<["success", "error", "warning", "info", "loading", "disabled"]>>>;
|
|
138
|
+
trueVariant: z.ZodDefault<z.ZodOptional<z.ZodEnum<["success", "error", "warning", "info", "loading", "disabled", "secondary"]>>>;
|
|
139
139
|
}, "strip", z.ZodTypeAny, {
|
|
140
|
-
trueVariant: "disabled" | "loading" | "error" | "warning" | "success" | "info";
|
|
140
|
+
trueVariant: "disabled" | "loading" | "error" | "secondary" | "warning" | "success" | "info";
|
|
141
141
|
}, {
|
|
142
|
-
trueVariant?: "disabled" | "loading" | "error" | "warning" | "success" | "info" | undefined;
|
|
142
|
+
trueVariant?: "disabled" | "loading" | "error" | "secondary" | "warning" | "success" | "info" | undefined;
|
|
143
143
|
}>;
|
|
144
144
|
schema: z.ZodObject<{
|
|
145
|
-
trueVariant: z.ZodDefault<z.ZodOptional<z.ZodEnum<["success", "error", "warning", "info", "loading", "disabled"]>>>;
|
|
145
|
+
trueVariant: z.ZodDefault<z.ZodOptional<z.ZodEnum<["success", "error", "warning", "info", "loading", "disabled", "secondary"]>>>;
|
|
146
146
|
}, "strip", z.ZodTypeAny, {
|
|
147
|
-
trueVariant: "disabled" | "loading" | "error" | "warning" | "success" | "info";
|
|
147
|
+
trueVariant: "disabled" | "loading" | "error" | "secondary" | "warning" | "success" | "info";
|
|
148
148
|
}, {
|
|
149
|
-
trueVariant?: "disabled" | "loading" | "error" | "warning" | "success" | "info" | undefined;
|
|
149
|
+
trueVariant?: "disabled" | "loading" | "error" | "secondary" | "warning" | "success" | "info" | undefined;
|
|
150
150
|
}>;
|
|
151
151
|
protected transform(value: status.Spec): boolean;
|
|
152
152
|
}
|
|
@@ -7,7 +7,7 @@ export declare const chipStateZ: z.ZodObject<{
|
|
|
7
7
|
triggered: z.ZodBoolean;
|
|
8
8
|
status: z.ZodObject<{
|
|
9
9
|
key: z.ZodString;
|
|
10
|
-
variant: z.ZodEnum<["success", "error", "warning", "info", "loading", "disabled"]>;
|
|
10
|
+
variant: z.ZodEnum<["success", "error", "warning", "info", "loading", "disabled", "secondary"]>;
|
|
11
11
|
message: z.ZodString;
|
|
12
12
|
description: z.ZodOptional<z.ZodString>;
|
|
13
13
|
time: z.ZodUnion<[z.ZodEffects<z.ZodObject<{
|
|
@@ -24,7 +24,7 @@ export declare const chipStateZ: z.ZodObject<{
|
|
|
24
24
|
message: string;
|
|
25
25
|
key: string;
|
|
26
26
|
time: import('@synnaxlabs/client').TimeStamp;
|
|
27
|
-
variant: "disabled" | "loading" | "error" | "warning" | "success" | "info";
|
|
27
|
+
variant: "disabled" | "loading" | "error" | "secondary" | "warning" | "success" | "info";
|
|
28
28
|
description?: string | undefined;
|
|
29
29
|
data?: Record<string, unknown> | undefined;
|
|
30
30
|
}, {
|
|
@@ -45,7 +45,7 @@ export declare const chipStateZ: z.ZodObject<{
|
|
|
45
45
|
} & number) | ({
|
|
46
46
|
value: bigint;
|
|
47
47
|
} & Number);
|
|
48
|
-
variant: "disabled" | "loading" | "error" | "warning" | "success" | "info";
|
|
48
|
+
variant: "disabled" | "loading" | "error" | "secondary" | "warning" | "success" | "info";
|
|
49
49
|
description?: string | undefined;
|
|
50
50
|
data?: Record<string, unknown> | undefined;
|
|
51
51
|
}>;
|
|
@@ -92,7 +92,7 @@ export declare const chipStateZ: z.ZodObject<{
|
|
|
92
92
|
message: string;
|
|
93
93
|
key: string;
|
|
94
94
|
time: import('@synnaxlabs/client').TimeStamp;
|
|
95
|
-
variant: "disabled" | "loading" | "error" | "warning" | "success" | "info";
|
|
95
|
+
variant: "disabled" | "loading" | "error" | "secondary" | "warning" | "success" | "info";
|
|
96
96
|
description?: string | undefined;
|
|
97
97
|
data?: Record<string, unknown> | undefined;
|
|
98
98
|
};
|
|
@@ -130,7 +130,7 @@ export declare const chipStateZ: z.ZodObject<{
|
|
|
130
130
|
} & number) | ({
|
|
131
131
|
value: bigint;
|
|
132
132
|
} & Number);
|
|
133
|
-
variant: "disabled" | "loading" | "error" | "warning" | "success" | "info";
|
|
133
|
+
variant: "disabled" | "loading" | "error" | "secondary" | "warning" | "success" | "info";
|
|
134
134
|
description?: string | undefined;
|
|
135
135
|
data?: Record<string, unknown> | undefined;
|
|
136
136
|
};
|
|
@@ -161,7 +161,7 @@ export declare class Chip extends aether.Leaf<typeof chipStateZ, InternalState>
|
|
|
161
161
|
triggered: z.ZodBoolean;
|
|
162
162
|
status: z.ZodObject<{
|
|
163
163
|
key: z.ZodString;
|
|
164
|
-
variant: z.ZodEnum<["success", "error", "warning", "info", "loading", "disabled"]>;
|
|
164
|
+
variant: z.ZodEnum<["success", "error", "warning", "info", "loading", "disabled", "secondary"]>;
|
|
165
165
|
message: z.ZodString;
|
|
166
166
|
description: z.ZodOptional<z.ZodString>;
|
|
167
167
|
time: z.ZodUnion<[z.ZodEffects<z.ZodObject<{
|
|
@@ -178,7 +178,7 @@ export declare class Chip extends aether.Leaf<typeof chipStateZ, InternalState>
|
|
|
178
178
|
message: string;
|
|
179
179
|
key: string;
|
|
180
180
|
time: import('@synnaxlabs/client').TimeStamp;
|
|
181
|
-
variant: "disabled" | "loading" | "error" | "warning" | "success" | "info";
|
|
181
|
+
variant: "disabled" | "loading" | "error" | "secondary" | "warning" | "success" | "info";
|
|
182
182
|
description?: string | undefined;
|
|
183
183
|
data?: Record<string, unknown> | undefined;
|
|
184
184
|
}, {
|
|
@@ -199,7 +199,7 @@ export declare class Chip extends aether.Leaf<typeof chipStateZ, InternalState>
|
|
|
199
199
|
} & number) | ({
|
|
200
200
|
value: bigint;
|
|
201
201
|
} & Number);
|
|
202
|
-
variant: "disabled" | "loading" | "error" | "warning" | "success" | "info";
|
|
202
|
+
variant: "disabled" | "loading" | "error" | "secondary" | "warning" | "success" | "info";
|
|
203
203
|
description?: string | undefined;
|
|
204
204
|
data?: Record<string, unknown> | undefined;
|
|
205
205
|
}>;
|
|
@@ -246,7 +246,7 @@ export declare class Chip extends aether.Leaf<typeof chipStateZ, InternalState>
|
|
|
246
246
|
message: string;
|
|
247
247
|
key: string;
|
|
248
248
|
time: import('@synnaxlabs/client').TimeStamp;
|
|
249
|
-
variant: "disabled" | "loading" | "error" | "warning" | "success" | "info";
|
|
249
|
+
variant: "disabled" | "loading" | "error" | "secondary" | "warning" | "success" | "info";
|
|
250
250
|
description?: string | undefined;
|
|
251
251
|
data?: Record<string, unknown> | undefined;
|
|
252
252
|
};
|
|
@@ -284,7 +284,7 @@ export declare class Chip extends aether.Leaf<typeof chipStateZ, InternalState>
|
|
|
284
284
|
} & number) | ({
|
|
285
285
|
value: bigint;
|
|
286
286
|
} & Number);
|
|
287
|
-
variant: "disabled" | "loading" | "error" | "warning" | "success" | "info";
|
|
287
|
+
variant: "disabled" | "loading" | "error" | "secondary" | "warning" | "success" | "info";
|
|
288
288
|
description?: string | undefined;
|
|
289
289
|
data?: Record<string, unknown> | undefined;
|
|
290
290
|
};
|