@accelint/design-toolkit 5.0.0 → 5.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/accordion/index.js +2 -0
- package/dist/components/accordion/styles.js +1 -1
- package/dist/components/accordion/styles.js.map +1 -1
- package/dist/components/action-bar/index.js +2 -0
- package/dist/components/action-bar/styles.d.ts +1 -1
- package/dist/components/action-bar/styles.js +1 -1
- package/dist/components/action-bar/styles.js.map +1 -1
- package/dist/components/avatar/index.js +2 -0
- package/dist/components/badge/index.js +2 -0
- package/dist/components/breadcrumbs/index.d.ts +15 -0
- package/dist/components/breadcrumbs/index.js +4 -0
- package/dist/components/breadcrumbs/index.js.map +1 -0
- package/dist/components/breadcrumbs/styles.d.ts +48 -0
- package/dist/components/breadcrumbs/styles.js +2 -0
- package/dist/components/breadcrumbs/styles.js.map +1 -0
- package/dist/components/breadcrumbs/types.d.ts +20 -0
- package/dist/components/breadcrumbs/types.js +2 -0
- package/dist/components/breadcrumbs/types.js.map +1 -0
- package/dist/components/button/index.d.ts +2 -2
- package/dist/components/button/index.js +3 -1
- package/dist/components/button/index.js.map +1 -1
- package/dist/components/button/styles.d.ts +15 -15
- package/dist/components/button/styles.js +1 -1
- package/dist/components/button/styles.js.map +1 -1
- package/dist/components/button/types.d.ts +7 -5
- package/dist/components/checkbox/index.js +2 -0
- package/dist/components/chip/index.js +2 -0
- package/dist/components/classification-badge/index.js +3 -1
- package/dist/components/classification-badge/index.js.map +1 -1
- package/dist/components/classification-badge/styles.d.ts +1 -1
- package/dist/components/classification-badge/styles.js +1 -1
- package/dist/components/classification-badge/styles.js.map +1 -1
- package/dist/components/classification-banner/index.js +3 -1
- package/dist/components/classification-banner/index.js.map +1 -1
- package/dist/components/classification-banner/styles.d.ts +1 -1
- package/dist/components/classification-banner/styles.js +1 -1
- package/dist/components/classification-banner/styles.js.map +1 -1
- package/dist/components/color-picker/index.js +2 -0
- package/dist/components/color-picker/styles.d.ts +3 -3
- package/dist/components/combobox-field/index.js +2 -0
- package/dist/components/combobox-field/styles.d.ts +1 -1
- package/dist/components/combobox-field/styles.js +1 -1
- package/dist/components/combobox-field/styles.js.map +1 -1
- package/dist/components/date-field/index.js +2 -0
- package/dist/components/date-field/index.js.map +1 -1
- package/dist/components/date-field/styles.d.ts +1 -1
- package/dist/components/date-field/styles.js +1 -1
- package/dist/components/date-field/styles.js.map +1 -1
- package/dist/components/details-list/index.js +2 -0
- package/dist/components/dialog/index.js +2 -0
- package/dist/components/dialog/styles.d.ts +1 -1
- package/dist/components/dialog/styles.js +1 -1
- package/dist/components/dialog/styles.js.map +1 -1
- package/dist/components/divider/index.d.ts +32 -0
- package/dist/components/divider/index.js +4 -0
- package/dist/components/divider/index.js.map +1 -0
- package/dist/components/divider/styles.d.ts +5 -0
- package/dist/components/divider/styles.js +2 -0
- package/dist/components/divider/styles.js.map +1 -0
- package/dist/components/divider/types.d.ts +11 -0
- package/dist/components/divider/types.js +2 -0
- package/dist/components/divider/types.js.map +1 -0
- package/dist/components/drawer/index.d.ts +12 -2
- package/dist/components/drawer/index.js +3 -1
- package/dist/components/drawer/index.js.map +1 -1
- package/dist/components/drawer/styles.d.ts +3 -3
- package/dist/components/drawer/styles.js +1 -1
- package/dist/components/drawer/styles.js.map +1 -1
- package/dist/components/drawer/types.d.ts +13 -7
- package/dist/components/hero/index.js +2 -0
- package/dist/components/hotkey/index.js +2 -0
- package/dist/components/icon/index.js +3 -1
- package/dist/components/icon/index.js.map +1 -1
- package/dist/components/input/index.js +2 -0
- package/dist/components/input/styles.js +1 -1
- package/dist/components/input/styles.js.map +1 -1
- package/dist/components/label/index.js +2 -0
- package/dist/components/link/index.js +2 -0
- package/dist/components/link/styles.d.ts +1 -1
- package/dist/components/link/styles.js +1 -1
- package/dist/components/link/styles.js.map +1 -1
- package/dist/components/menu/index.js +2 -0
- package/dist/components/menu/styles.js +1 -1
- package/dist/components/menu/styles.js.map +1 -1
- package/dist/components/options/index.js +2 -0
- package/dist/components/options/styles.d.ts +1 -1
- package/dist/components/options/styles.js +1 -1
- package/dist/components/options/styles.js.map +1 -1
- package/dist/components/popover/index.js +2 -0
- package/dist/components/popover/index.js.map +1 -1
- package/dist/components/query-builder/action-element.js +2 -0
- package/dist/components/query-builder/group.js +2 -0
- package/dist/components/query-builder/rule.js +2 -0
- package/dist/components/query-builder/value-editor.js +2 -0
- package/dist/components/radio/index.js +2 -0
- package/dist/components/search-field/index.js +2 -0
- package/dist/components/search-field/styles.js +1 -1
- package/dist/components/search-field/styles.js.map +1 -1
- package/dist/components/select-field/index.js +2 -0
- package/dist/components/select-field/types.d.ts +0 -1
- package/dist/components/sidenav/index.d.ts +16 -8
- package/dist/components/sidenav/index.js +3 -1
- package/dist/components/sidenav/index.js.map +1 -1
- package/dist/components/sidenav/styles.d.ts +43 -1
- package/dist/components/sidenav/styles.js +1 -1
- package/dist/components/sidenav/styles.js.map +1 -1
- package/dist/components/sidenav/types.d.ts +40 -8
- package/dist/components/slider/index.js +2 -0
- package/dist/components/slider/styles.d.ts +1 -1
- package/dist/components/slider/styles.js +1 -1
- package/dist/components/slider/styles.js.map +1 -1
- package/dist/components/switch/index.js +2 -0
- package/dist/components/table/context.d.ts +11 -0
- package/dist/components/table/context.js +2 -0
- package/dist/components/table/context.js.map +1 -0
- package/dist/components/table/index.d.ts +27 -0
- package/dist/components/table/index.js +4 -0
- package/dist/components/table/index.js.map +1 -0
- package/dist/components/table/styles.d.ts +134 -0
- package/dist/components/table/styles.js +2 -0
- package/dist/components/table/styles.js.map +1 -0
- package/dist/components/table/table-body.d.ts +12 -0
- package/dist/components/table/table-body.js +2 -0
- package/dist/components/table/table-body.js.map +1 -0
- package/dist/components/table/table-cell.d.ts +12 -0
- package/dist/components/table/table-cell.js +2 -0
- package/dist/components/table/table-cell.js.map +1 -0
- package/dist/components/table/table-header-cell.d.ts +12 -0
- package/dist/components/table/table-header-cell.js +2 -0
- package/dist/components/table/table-header-cell.js.map +1 -0
- package/dist/components/table/table-header.d.ts +12 -0
- package/dist/components/table/table-header.js +2 -0
- package/dist/components/table/table-header.js.map +1 -0
- package/dist/components/table/table-row.d.ts +12 -0
- package/dist/components/table/table-row.js +2 -0
- package/dist/components/table/table-row.js.map +1 -0
- package/dist/components/table/types.d.ts +185 -0
- package/dist/components/table/types.js +2 -0
- package/dist/components/table/types.js.map +1 -0
- package/dist/components/tabs/index.js +2 -0
- package/dist/components/tabs/styles.d.ts +1 -1
- package/dist/components/tabs/styles.js +1 -1
- package/dist/components/tabs/styles.js.map +1 -1
- package/dist/components/text-area-field/index.js +2 -0
- package/dist/components/text-field/index.js +2 -0
- package/dist/components/time-field/index.d.ts +10 -0
- package/dist/components/time-field/index.js +4 -0
- package/dist/components/time-field/index.js.map +1 -0
- package/dist/components/time-field/styles.d.ts +69 -0
- package/dist/components/time-field/styles.js +2 -0
- package/dist/components/time-field/styles.js.map +1 -0
- package/dist/components/time-field/types.d.ts +23 -0
- package/dist/components/time-field/types.js +2 -0
- package/dist/components/time-field/types.js.map +1 -0
- package/dist/components/tooltip/index.js +3 -1
- package/dist/components/tooltip/index.js.map +1 -1
- package/dist/components/tree/index.js +3 -1
- package/dist/components/tree/index.js.map +1 -1
- package/dist/components/tree/styles.js +1 -1
- package/dist/components/tree/styles.js.map +1 -1
- package/dist/components/view-stack/index.js +2 -0
- package/dist/foundation/token-data.js +1 -1
- package/dist/foundation/token-data.js.map +1 -1
- package/dist/hooks/use-tree/actions/cache.js +1 -1
- package/dist/hooks/use-tree/actions/cache.js.map +1 -1
- package/dist/hooks/use-tree/actions/index.js +2 -0
- package/dist/index.d.ts +21 -2
- package/dist/index.js +1 -1
- package/dist/metafile-esm.json +1 -1
- package/dist/providers/theme-provider.js +2 -0
- package/dist/styles.css +3079 -901
- package/dist/tokens/themes.css +56 -24
- package/dist/tokens/tokens.css +8 -8
- package/dist/tokens/tokens.d.ts +18 -0
- package/dist/tokens/tokens.js +1 -1
- package/dist/tokens/tokens.js.map +1 -1
- package/dist/tokens/types.d.ts +9 -0
- package/dist/variants/variants.css +3 -0
- package/package.json +12 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/tree/index.tsx"],"names":["label","description","drag","expansion","TreeStyles","me","B","target","jsx","e","re","TreeLines","se","showRuleLines","variant","TreeContext","_","i","type","level","Lines","ce","spacing","Tree","children","className","disabledKeysProp","selectionMode","onVisibilityChange","k","onSelectionChange","items","defaultRenderDropIndicator","ae","nodes","P","le","disabledKeys","visibilityComputedKeys","acc","selectedKeysProp","visibleKeysProp","isExpanded","isSelected","isDisabled","key","isVisible","isVisibleComputed","expandedKeysProp","handleSelectionChange","selectedKeys","AriaTree","oe","O","expandedKeys","TreeItem","visibleKeys","isStatic","isViewable","ancestors","v","id","TreeItemContext","rest","item","ie","useContext","renderProps","allowsDragging","ne","state","isLastOfSet","hasChildItems","keys","size","jsxs","g","Ke","Button","handlePress","L","visibility","Hide","te","ee","ChevronUp","$","display","shouldShowSelection","j","ItemLabel","R","ItemDescription","ItemIcon","actions","ItemContent","ItemActions"],"mappings":"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","file":"index.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { ChevronDown, ChevronUp, DragVert, Hide, Show } from '@accelint/icons';\nimport {\n createContext,\n memo,\n type PropsWithChildren,\n useContext,\n useMemo,\n} from 'react';\nimport {\n Tree as AriaTree,\n TreeItem as AriaTreeItem,\n TreeItemContent as AriaTreeItemContent,\n composeRenderProps,\n DropIndicator,\n type DropTarget,\n Text,\n type TextProps,\n useDragAndDrop,\n} from 'react-aria-components';\nimport { Cache } from '@/hooks/use-tree/actions/cache';\nimport { Button } from '../button';\nimport { Checkbox } from '../checkbox';\nimport { Icon } from '../icon';\nimport { Lines } from '../lines';\nimport { TreeStyles, TreeStylesDefaults } from './styles';\nimport type { Key, Selection } from '@react-types/shared';\nimport type { IconProps } from '../icon/types';\nimport type {\n TreeContextValue,\n TreeItemContentProps,\n TreeItemContextValue,\n TreeItemProps,\n TreeProps,\n} from './types';\n\nconst {\n tree,\n item,\n content,\n display,\n icon,\n label,\n actions,\n spacing,\n description,\n drag,\n expansion,\n visibility,\n} = TreeStyles();\n\nexport const TreeContext = createContext<TreeContextValue>({\n visibilityComputedKeys: new Set(),\n showRuleLines: true,\n showVisibility: false,\n variant: TreeStylesDefaults.variant,\n isStatic: true,\n onVisibilityChange: () => undefined,\n});\n\nconst defaultRenderDropIndicator = (target: DropTarget) => (\n <DropIndicator target={target} className='border border-highlight-hover' />\n);\n\nconst TreeLines = memo(function TreeLines({\n level,\n isLastOfSet,\n}: {\n level: number;\n isLastOfSet: boolean;\n}) {\n const { showRuleLines, variant } = useContext(TreeContext);\n\n return Array.from({ length: level }).map((_, i) => {\n const type = i === level - 1 ? 'branch' : 'vert';\n const line = isLastOfSet && i > 0 ? 'last' : type;\n const size = variant === 'crammed' ? 'medium' : 'large';\n\n return (\n <Lines\n // biome-ignore lint/suspicious/noArrayIndexKey: index should be the key, only count matters\n key={i}\n variant={line}\n size={size}\n isVisible={showRuleLines}\n className={spacing({ variant })}\n />\n );\n });\n});\n\nexport function Tree<T>({\n children,\n className,\n disabledKeys: disabledKeysProp,\n dragAndDropConfig,\n expandedKeys: expandedKeysProp,\n items,\n selectedKeys: selectedKeysProp,\n showRuleLines = true,\n showVisibility = true,\n selectionMode = 'multiple',\n variant = TreeStylesDefaults.variant,\n visibleKeys: visibleKeysProp,\n onVisibilityChange,\n onSelectionChange,\n ...rest\n}: TreeProps<T>) {\n /**\n * A static collection is hard-coded. Dynamic is data-driven from an external source.\n * https://react-spectrum.adobe.com/react-aria/Tree.html#content\n *\n * Controlled state should only be used on a static tree.\n */\n if (\n items &&\n (disabledKeysProp ||\n expandedKeysProp ||\n selectedKeysProp ||\n visibleKeysProp)\n ) {\n throw new Error(\n 'Tree should only be controlled with state from either `items` or keys props, not both',\n );\n }\n\n /**\n * A static tree won't support the node iterator pattern.\n */\n if (!!items !== (typeof children === 'function')) {\n throw new Error(\n 'Tree `items` and node iterator `children` must be used together',\n );\n }\n\n const { dragAndDropHooks } = useDragAndDrop({\n renderDropIndicator: defaultRenderDropIndicator,\n getAllowedDropOperations: () => ['move'],\n getDropOperation: () => 'move',\n ...dragAndDropConfig,\n });\n const cache = useMemo(() => (items ? new Cache([...items]) : null), [items]);\n const nodes = useMemo(() => cache?.getAllNodes(), [cache]);\n const {\n disabledKeys,\n expandedKeys,\n selectedKeys,\n visibleKeys,\n visibilityComputedKeys,\n } = useMemo(() => {\n const acc = {\n disabledKeys: nodes ? new Set<Key>() : disabledKeysProp,\n expandedKeys: nodes ? new Set<Key>() : expandedKeysProp,\n selectedKeys: nodes ? new Set<Key>() : selectedKeysProp,\n visibleKeys: nodes ? new Set<Key>() : visibleKeysProp,\n visibilityComputedKeys: new Set<Key>(),\n };\n\n if (!nodes) {\n return acc;\n }\n\n return nodes.reduce(\n (\n acc,\n {\n key,\n isDisabled,\n isExpanded,\n isSelected,\n isVisible,\n isVisibleComputed,\n },\n ) => {\n if (isDisabled) {\n acc.disabledKeys?.add(key);\n }\n if (isExpanded) {\n acc.expandedKeys?.add(key);\n }\n if (isSelected) {\n acc.selectedKeys?.add(key);\n }\n if (isVisible) {\n acc.visibleKeys?.add(key);\n }\n if (isVisibleComputed) {\n acc.visibilityComputedKeys.add(key);\n }\n return acc;\n },\n acc,\n );\n }, [\n nodes,\n disabledKeysProp,\n expandedKeysProp,\n selectedKeysProp,\n visibleKeysProp,\n ]);\n\n const handleSelectionChange = selectedKeys\n ? (selection: Selection) => {\n if (selection !== 'all') {\n onSelectionChange?.(selection);\n }\n }\n : undefined;\n\n return (\n <TreeContext.Provider\n value={{\n disabledKeys,\n expandedKeys,\n selectedKeys,\n showRuleLines,\n showVisibility,\n variant,\n visibleKeys,\n visibilityComputedKeys,\n isStatic: typeof children !== 'function',\n onVisibilityChange: onVisibilityChange ?? (() => undefined), // TODO: improve\n }}\n >\n <AriaTree\n {...rest}\n className={composeRenderProps(className, (className) =>\n tree({ className, variant }),\n )}\n disabledKeys={disabledKeys}\n dragAndDropHooks={dragAndDropHooks}\n expandedKeys={expandedKeys}\n items={items}\n selectedKeys={selectedKeys}\n onSelectionChange={handleSelectionChange}\n selectionMode={selectionMode}\n >\n {children}\n </AriaTree>\n </TreeContext.Provider>\n );\n}\nTree.displayName = 'Tree';\n\nexport const TreeItemContext = createContext<TreeItemContextValue>({\n isVisible: true,\n isViewable: true,\n ancestors: [],\n});\n\nexport function TreeItem({ className, id, ...rest }: TreeItemProps) {\n const { visibilityComputedKeys, visibleKeys, isStatic } =\n useContext(TreeContext);\n const { ancestors } = useContext(TreeItemContext);\n const isViewable =\n visibilityComputedKeys?.has(id) ||\n (isStatic && ancestors.every((key) => visibleKeys?.has(key)));\n const isVisible = visibleKeys?.has(id);\n\n return (\n <TreeItemContext.Provider\n value={{\n isVisible,\n isViewable,\n ancestors: [...ancestors, id],\n }}\n >\n <AriaTreeItem\n {...rest}\n id={id}\n className={composeRenderProps(className, (className) =>\n item({ className }),\n )}\n data-viewable={isViewable || null}\n data-visible={isVisible || null}\n />\n </TreeItemContext.Provider>\n );\n}\nTreeItem.displayName = 'Tree.Item';\n\nfunction ItemContent({ children }: TreeItemContentProps) {\n const { showVisibility, variant, visibleKeys, onVisibilityChange } =\n useContext(TreeContext);\n const { isVisible, isViewable } = useContext(TreeItemContext);\n const size = variant === 'cozy' ? 'medium' : 'small';\n\n return (\n <AriaTreeItemContent>\n {(renderProps) => {\n const {\n id,\n allowsDragging,\n hasChildItems,\n level,\n selectionBehavior,\n selectionMode,\n state,\n isDisabled,\n isExpanded,\n isSelected,\n } = renderProps;\n\n const isLastOfSet = !(\n state.collection.getItem(id)?.nextKey || hasChildItems\n );\n const shouldShowSelection =\n selectionBehavior === 'toggle' && selectionMode !== 'none';\n\n const handlePress = () => {\n const keys = new Set<Key>(visibleKeys);\n visibleKeys?.has(id) ? keys.delete(id) : keys.add(id);\n onVisibilityChange?.(keys);\n };\n\n return (\n <Icon.Provider size={size}>\n <div\n className={content({ variant })}\n data-last-of-set={isLastOfSet}\n >\n {showVisibility && (\n <Button\n variant='icon'\n color='info'\n size={size}\n onPress={handlePress}\n isDisabled={isDisabled}\n className={visibility()}\n >\n <Icon>{isVisible ? <Show /> : <Hide />}</Icon>\n </Button>\n )}\n {level > 1 && (\n <TreeLines level={level} isLastOfSet={isLastOfSet} />\n )}\n {hasChildItems ? (\n <Button\n slot='chevron'\n variant='icon'\n size={size}\n className={expansion()}\n >\n <Icon>{isExpanded ? <ChevronDown /> : <ChevronUp />}</Icon>\n </Button>\n ) : (\n <div className={spacing({ variant })} />\n )}\n <div className={display({ variant })}>\n {typeof children === 'function'\n ? children({\n ...renderProps,\n variant,\n isVisible,\n isViewable: isViewable,\n defaultChildren: null,\n })\n : children}\n </div>\n {shouldShowSelection && (\n <Checkbox\n slot='selection'\n isSelected={isSelected}\n isDisabled={isDisabled}\n />\n )}\n {allowsDragging && (\n <Button\n slot='drag'\n variant='icon'\n size={size}\n isDisabled={isDisabled}\n className={drag({})}\n >\n <Icon>\n <DragVert />\n </Icon>\n </Button>\n )}\n </div>\n </Icon.Provider>\n );\n }}\n </AriaTreeItemContent>\n );\n}\nItemContent.displayName = 'Tree.Item.Content';\n\nfunction ItemLabel({ children, className }: TextProps) {\n return <Text className={label({ className })}>{children}</Text>;\n}\nItemLabel.displayName = 'Tree.Item.Label';\n\nfunction ItemDescription({ children, className }: TextProps) {\n const { variant } = useContext(TreeContext);\n\n return variant !== 'crammed' ? (\n <Text\n data-slot='description'\n className={description({ className, variant })}\n >\n {children}\n </Text>\n ) : null;\n}\nItemDescription.displayName = 'Tree.Item.Description';\n\nfunction ItemIcon({ children, className }: IconProps) {\n return <Icon className={icon({ className })}>{children}</Icon>;\n}\nItemIcon.displayName = 'Tree.Item.PrefixIcon';\n\nfunction ItemActions({\n children,\n className,\n}: PropsWithChildren & { className?: string }) {\n return <div className={actions({ className })}>{children}</div>;\n}\nItemActions.displayName = 'Tree.Icon.Actions';\n\nTree.Item = TreeItem;\nTreeItem.Content = ItemContent;\nTreeItem.Label = ItemLabel;\nTreeItem.Description = ItemDescription;\nTreeItem.PrefixIcon = ItemIcon;\nTreeItem.Actions = ItemActions;\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/tree/index.tsx"],"names":["label","description","drag","expansion","TreeStyles","me","B","target","jsx","e","ae","TreeLines","se","showRuleLines","variant","TreeContext","_","i","type","level","Lines","ce","spacing","Tree","children","className","disabledKeysProp","selectionMode","onVisibilityChange","k","onSelectionChange","items","defaultRenderDropIndicator","le","nodes","P","oe","disabledKeys","visibilityComputedKeys","acc","selectedKeysProp","visibleKeysProp","isExpanded","isSelected","isDisabled","key","isVisible","isVisibleComputed","expandedKeysProp","handleSelectionChange","selectedKeys","AriaTree","ie","O","expandedKeys","TreeItem","visibleKeys","isStatic","isViewable","ancestors","v","id","TreeItemContext","rest","item","ne","useContext","renderProps","allowsDragging","re","state","isLastOfSet","hasChildItems","keys","size","jsxs","g","Ke","Button","handlePress","L","visibility","Hide","te","ee","ChevronUp","$","display","shouldShowSelection","j","ItemLabel","R","ItemDescription","ItemIcon","actions","ItemContent","ItemActions"],"mappings":"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","file":"index.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n'use client';\n\nimport { ChevronDown, ChevronUp, DragVert, Hide, Show } from '@accelint/icons';\nimport { Cache } from '@/hooks/use-tree/actions/cache';\nimport type { Key, Selection } from '@react-types/shared';\nimport 'client-only';\nimport {\n createContext,\n memo,\n type PropsWithChildren,\n useContext,\n useMemo,\n} from 'react';\nimport {\n Tree as AriaTree,\n TreeItem as AriaTreeItem,\n TreeItemContent as AriaTreeItemContent,\n composeRenderProps,\n DropIndicator,\n type DropTarget,\n Text,\n type TextProps,\n useDragAndDrop,\n} from 'react-aria-components';\nimport { Button } from '../button';\nimport { Checkbox } from '../checkbox';\nimport { Icon } from '../icon';\nimport { Lines } from '../lines';\nimport { TreeStyles, TreeStylesDefaults } from './styles';\nimport type { IconProps } from '../icon/types';\nimport type {\n TreeContextValue,\n TreeItemContentProps,\n TreeItemContextValue,\n TreeItemProps,\n TreeProps,\n} from './types';\n\nconst {\n tree,\n item,\n content,\n display,\n icon,\n label,\n actions,\n spacing,\n description,\n drag,\n expansion,\n visibility,\n} = TreeStyles();\n\nexport const TreeContext = createContext<TreeContextValue>({\n visibilityComputedKeys: new Set(),\n showRuleLines: true,\n showVisibility: false,\n variant: TreeStylesDefaults.variant,\n isStatic: true,\n onVisibilityChange: () => undefined,\n});\n\nconst defaultRenderDropIndicator = (target: DropTarget) => (\n <DropIndicator target={target} className='border border-highlight-hover' />\n);\n\nconst TreeLines = memo(function TreeLines({\n level,\n isLastOfSet,\n}: {\n level: number;\n isLastOfSet: boolean;\n}) {\n const { showRuleLines, variant } = useContext(TreeContext);\n\n return Array.from({ length: level }).map((_, i) => {\n const type = i === level - 1 ? 'branch' : 'vert';\n const line = isLastOfSet && i > 0 ? 'last' : type;\n const size = variant === 'crammed' ? 'medium' : 'large';\n\n return (\n <Lines\n // biome-ignore lint/suspicious/noArrayIndexKey: index should be the key, only count matters\n key={i}\n variant={line}\n size={size}\n isVisible={showRuleLines}\n className={spacing({ variant })}\n />\n );\n });\n});\n\nexport function Tree<T>({\n children,\n className,\n disabledKeys: disabledKeysProp,\n dragAndDropConfig,\n expandedKeys: expandedKeysProp,\n items,\n selectedKeys: selectedKeysProp,\n showRuleLines = true,\n showVisibility = true,\n selectionMode = 'multiple',\n variant = TreeStylesDefaults.variant,\n visibleKeys: visibleKeysProp,\n onVisibilityChange,\n onSelectionChange,\n ...rest\n}: TreeProps<T>) {\n /**\n * A static collection is hard-coded. Dynamic is data-driven from an external source.\n * https://react-spectrum.adobe.com/react-aria/Tree.html#content\n *\n * Controlled state should only be used on a static tree.\n */\n if (\n items &&\n (disabledKeysProp ||\n expandedKeysProp ||\n selectedKeysProp ||\n visibleKeysProp)\n ) {\n throw new Error(\n 'Tree should only be controlled with state from either `items` or keys props, not both',\n );\n }\n\n /**\n * A static tree won't support the node iterator pattern.\n */\n if (!!items !== (typeof children === 'function')) {\n throw new Error(\n 'Tree `items` and node iterator `children` must be used together',\n );\n }\n\n const { dragAndDropHooks } = useDragAndDrop({\n renderDropIndicator: defaultRenderDropIndicator,\n getAllowedDropOperations: () => ['move'],\n getDropOperation: () => 'move',\n ...dragAndDropConfig,\n });\n const cache = useMemo(() => (items ? new Cache([...items]) : null), [items]);\n const nodes = useMemo(() => cache?.getAllNodes(), [cache]);\n const {\n disabledKeys,\n expandedKeys,\n selectedKeys,\n visibleKeys,\n visibilityComputedKeys,\n } = useMemo(() => {\n const acc = {\n disabledKeys: nodes ? new Set<Key>() : disabledKeysProp,\n expandedKeys: nodes ? new Set<Key>() : expandedKeysProp,\n selectedKeys: nodes ? new Set<Key>() : selectedKeysProp,\n visibleKeys: nodes ? new Set<Key>() : visibleKeysProp,\n visibilityComputedKeys: new Set<Key>(),\n };\n\n if (!nodes) {\n return acc;\n }\n\n return nodes.reduce(\n (\n acc,\n {\n key,\n isDisabled,\n isExpanded,\n isSelected,\n isVisible,\n isVisibleComputed,\n },\n ) => {\n if (isDisabled) {\n acc.disabledKeys?.add(key);\n }\n if (isExpanded) {\n acc.expandedKeys?.add(key);\n }\n if (isSelected) {\n acc.selectedKeys?.add(key);\n }\n if (isVisible) {\n acc.visibleKeys?.add(key);\n }\n if (isVisibleComputed) {\n acc.visibilityComputedKeys.add(key);\n }\n return acc;\n },\n acc,\n );\n }, [\n nodes,\n disabledKeysProp,\n expandedKeysProp,\n selectedKeysProp,\n visibleKeysProp,\n ]);\n\n const handleSelectionChange = selectedKeys\n ? (selection: Selection) => {\n if (selection !== 'all') {\n onSelectionChange?.(selection);\n }\n }\n : undefined;\n\n return (\n <TreeContext.Provider\n value={{\n disabledKeys,\n expandedKeys,\n selectedKeys,\n showRuleLines,\n showVisibility,\n variant,\n visibleKeys,\n visibilityComputedKeys,\n isStatic: typeof children !== 'function',\n onVisibilityChange: onVisibilityChange ?? (() => undefined), // TODO: improve\n }}\n >\n <AriaTree\n {...rest}\n className={composeRenderProps(className, (className) =>\n tree({ className, variant }),\n )}\n disabledKeys={disabledKeys}\n dragAndDropHooks={dragAndDropHooks}\n expandedKeys={expandedKeys}\n items={items}\n selectedKeys={selectedKeys}\n onSelectionChange={handleSelectionChange}\n selectionMode={selectionMode}\n >\n {children}\n </AriaTree>\n </TreeContext.Provider>\n );\n}\nTree.displayName = 'Tree';\n\nexport const TreeItemContext = createContext<TreeItemContextValue>({\n isVisible: true,\n isViewable: true,\n ancestors: [],\n});\n\nexport function TreeItem({ className, id, ...rest }: TreeItemProps) {\n const { visibilityComputedKeys, visibleKeys, isStatic } =\n useContext(TreeContext);\n const { ancestors } = useContext(TreeItemContext);\n const isViewable =\n visibilityComputedKeys?.has(id) ||\n (isStatic && ancestors.every((key) => visibleKeys?.has(key)));\n const isVisible = visibleKeys?.has(id);\n\n return (\n <TreeItemContext.Provider\n value={{\n isVisible,\n isViewable,\n ancestors: [...ancestors, id],\n }}\n >\n <AriaTreeItem\n {...rest}\n id={id}\n className={composeRenderProps(className, (className) =>\n item({ className }),\n )}\n data-viewable={isViewable || null}\n data-visible={isVisible || null}\n />\n </TreeItemContext.Provider>\n );\n}\nTreeItem.displayName = 'Tree.Item';\n\nfunction ItemContent({ children }: TreeItemContentProps) {\n const { showVisibility, variant, visibleKeys, onVisibilityChange } =\n useContext(TreeContext);\n const { isVisible, isViewable } = useContext(TreeItemContext);\n const size = variant === 'cozy' ? 'medium' : 'small';\n\n return (\n <AriaTreeItemContent>\n {(renderProps) => {\n const {\n id,\n allowsDragging,\n hasChildItems,\n level,\n selectionBehavior,\n selectionMode,\n state,\n isDisabled,\n isExpanded,\n isSelected,\n } = renderProps;\n\n const isLastOfSet = !(\n state.collection.getItem(id)?.nextKey || hasChildItems\n );\n const shouldShowSelection =\n selectionBehavior === 'toggle' && selectionMode !== 'none';\n\n const handlePress = () => {\n const keys = new Set<Key>(visibleKeys);\n visibleKeys?.has(id) ? keys.delete(id) : keys.add(id);\n onVisibilityChange?.(keys);\n };\n\n return (\n <Icon.Provider size={size}>\n <div\n className={content({ variant })}\n data-last-of-set={isLastOfSet}\n >\n {showVisibility && (\n <Button\n variant='icon'\n color='mono-bold'\n size={size}\n onPress={handlePress}\n isDisabled={isDisabled}\n className={visibility()}\n >\n <Icon>{isVisible ? <Show /> : <Hide />}</Icon>\n </Button>\n )}\n {level > 1 && (\n <TreeLines level={level} isLastOfSet={isLastOfSet} />\n )}\n {hasChildItems ? (\n <Button\n slot='chevron'\n variant='icon'\n size={size}\n className={expansion()}\n >\n <Icon>{isExpanded ? <ChevronDown /> : <ChevronUp />}</Icon>\n </Button>\n ) : (\n <div className={spacing({ variant })} />\n )}\n <div className={display({ variant })}>\n {typeof children === 'function'\n ? children({\n ...renderProps,\n variant,\n isVisible,\n isViewable: isViewable,\n defaultChildren: null,\n })\n : children}\n </div>\n {shouldShowSelection && (\n <Checkbox\n slot='selection'\n isSelected={isSelected}\n isDisabled={isDisabled}\n />\n )}\n {allowsDragging && (\n <Button\n slot='drag'\n variant='icon'\n size={size}\n isDisabled={isDisabled}\n className={drag({})}\n >\n <Icon>\n <DragVert />\n </Icon>\n </Button>\n )}\n </div>\n </Icon.Provider>\n );\n }}\n </AriaTreeItemContent>\n );\n}\nItemContent.displayName = 'Tree.Item.Content';\n\nfunction ItemLabel({ children, className }: TextProps) {\n return <Text className={label({ className })}>{children}</Text>;\n}\nItemLabel.displayName = 'Tree.Item.Label';\n\nfunction ItemDescription({ children, className }: TextProps) {\n const { variant } = useContext(TreeContext);\n\n return variant !== 'crammed' ? (\n <Text\n data-slot='description'\n className={description({ className, variant })}\n >\n {children}\n </Text>\n ) : null;\n}\nItemDescription.displayName = 'Tree.Item.Description';\n\nfunction ItemIcon({ children, className }: IconProps) {\n return <Icon className={icon({ className })}>{children}</Icon>;\n}\nItemIcon.displayName = 'Tree.Item.PrefixIcon';\n\nfunction ItemActions({\n children,\n className,\n}: PropsWithChildren & { className?: string }) {\n return <div className={actions({ className })}>{children}</div>;\n}\nItemActions.displayName = 'Tree.Icon.Actions';\n\nTree.Item = TreeItem;\nTreeItem.Content = ItemContent;\nTreeItem.Label = ItemLabel;\nTreeItem.Description = ItemDescription;\nTreeItem.PrefixIcon = ItemIcon;\nTreeItem.Actions = ItemActions;\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {tv}from'./../../lib/utils.js';const t={variant:"cozy"},a=tv({slots:{tree:"overflow-auto outline-hidden",item:["not-visible:fg-primary-muted not-viewable:fg-primary-muted fg-primary-bold px-s","group/tree-item rounded-medium hover:bg-interactive-muted-hover","drop-target:border drop-target:bg-accent-primary-muted/20 drop-target:outline-accent-primary-bold","disabled:cursor-not-allowed disabled:border-none disabled:hover:bg-transparent disabled:data-[drop-target=true]:bg-transparent"],content:["flex items-center justify-items-start px-xs","overflow-x group w-full outline-hidden"],display:'grid flex-1 grid-cols-[auto_auto_1fr_auto] items-center [grid-template-areas:"icon_label_space_action"_"icon_description_space_action"]',icon:"[grid-area:icon]",label:"not-has-[+[data-slot=description]]:row-span-full [grid-area:label]",description:"fg-primary-muted text-body-s [grid-area:description]",actions:"flex shrink-0 items-center [grid-area:action]",spacing:"",visibility:["group-not-visible/tree-item:enabled:color-
|
|
1
|
+
import {tv}from'./../../lib/utils.js';const t={variant:"cozy"},a=tv({slots:{tree:"overflow-auto outline-hidden",item:["not-visible:fg-primary-muted not-viewable:fg-primary-muted fg-primary-bold px-s","group/tree-item rounded-medium hover:bg-interactive-muted-hover","drop-target:border drop-target:bg-accent-primary-muted/20 drop-target:outline-accent-primary-bold","disabled:cursor-not-allowed disabled:border-none disabled:hover:bg-transparent disabled:data-[drop-target=true]:bg-transparent"],content:["flex items-center justify-items-start px-xs","overflow-x group w-full outline-hidden"],display:'grid flex-1 grid-cols-[auto_auto_1fr_auto] items-center [grid-template-areas:"icon_label_space_action"_"icon_description_space_action"]',icon:"[grid-area:icon]",label:"not-has-[+[data-slot=description]]:row-span-full [grid-area:label]",description:"fg-primary-muted text-body-s [grid-area:description]",actions:"flex shrink-0 items-center [grid-area:action]",spacing:"",visibility:["group-not-visible/tree-item:enabled:color-mono-bold:fg-primary-muted","group-not-viewable/tree-item:enabled:color-mono-bold:fg-primary-muted fg-primary-bold","fg-primary-bold"],expansion:["group-not-visible/tree-item:enabled:color-mono-bold:fg-primary-muted","group-not-viewable/tree-item:enabled:color-mono-bold:fg-primary-muted fg-primary-bold","fg-primary-bold"],drag:["group-not-visible/tree-item:enabled:color-mono-bold:fg-primary-muted","group-not-viewable/tree-item:enabled:color-mono-bold:fg-primary-muted fg-primary-bold","fg-primary-bold"]},variants:{variant:{cozy:{content:"min-h-[48px] text-header-m",display:"gap-x-s px-xs",label:"gap-xs",actions:"gap-x-xs",spacing:"min-h-[46px] w-[28px]",item:"min-h-s"},compact:{content:"min-h-[36px] gap-xs text-header-s",display:"gap-x-s px-xxs",label:"gap-xs",actions:"gap-x-xxs",spacing:"min-h-[38px] w-[20px]",item:"min-h-l"},crammed:{content:"gap-xs text-header-s",display:"gap-x-xs px-xxs",label:"gap-xs",actions:"gap-x-xxs",spacing:"min-h-xl w-[20px]",item:"min-h-s"}}},defaultVariants:t});export{a as TreeStyles,t as TreeStylesDefaults};//# sourceMappingURL=styles.js.map
|
|
2
2
|
//# sourceMappingURL=styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/tree/styles.ts"],"names":["TreeStyles","tv","e"],"mappings":"sCAeE,MAAA,CAAS,CAAA,CAAA,OAGEA,CAAaC,SACjB,CACLC,EAAA,CAAA,CAAA,KAAM,CAAA,CAAA,IAAA,CAAA,8BAEJ,CAAA,IAAA,CAAA,CAAA,iFACA,CAAA,iEACA,CAAA,mGACA,CAAA,gIAEO,CACP,CAAA,OAAA,CAAA,CAAA,6CACA,CAAA,wCAGA,CAAA,CAAA,OAAA,CAAA,yIACI,CAAA,IAAA,CAAA,kBACC,CAAA,KAAA,CAAA,gFACM,CAAA,sDACJ,CAAA,OAAA,CAAA,+CACA,CAAA,OACT,CAAA,EAAA,CAAA,UACE,CAAA,CAAA,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/tree/styles.ts"],"names":["TreeStyles","tv","e"],"mappings":"sCAeE,MAAA,CAAS,CAAA,CAAA,OAGEA,CAAaC,SACjB,CACLC,EAAA,CAAA,CAAA,KAAM,CAAA,CAAA,IAAA,CAAA,8BAEJ,CAAA,IAAA,CAAA,CAAA,iFACA,CAAA,iEACA,CAAA,mGACA,CAAA,gIAEO,CACP,CAAA,OAAA,CAAA,CAAA,6CACA,CAAA,wCAGA,CAAA,CAAA,OAAA,CAAA,yIACI,CAAA,IAAA,CAAA,kBACC,CAAA,KAAA,CAAA,gFACM,CAAA,sDACJ,CAAA,OAAA,CAAA,+CACA,CAAA,OACT,CAAA,EAAA,CAAA,UACE,CAAA,CAAA,sEACA,CAAA,uFACA,CAAA,iBAEF,CAAA,CAAW,SACT,CAAA,CAAA,sEACA,CAAA,uFACA,CAAA,iBAGA,CAAA,CAAA,IAAA,CAAA,CAAA,sEACA,CAAA,yGAIJ,CAAA,CAAU,CACR,QAAS,CACP,QACE,CAAA,CAAA,IAAS,CAAA,CAAA,OAAA,CAAA,4BACA,CAAA,OAAA,CAAA,qBAET,CAAA,QAAS,CAAA,OAAA,CAAA,UACA,CAAA,OAAA,CAAA,uBACH,CAAA,IACR,CAAA,SACS,CACP,CAAA,OAAS,CAAA,CAAA,OAAA,CAAA,mCACA,CAAA,OAAA,CAAA,sBAET,CAAA,QAAS,CAAA,OAAA,CAAA,WACA,CAAA,OAAA,CAAA,uBACH,CAAA,IACR,UACS,CACP,CAAA,OAAS,CAAA,CAAA,OAAA,CAAA,sBACA,CAAA,OAAA,CAAA,iBACF,CAAA,KACP,CAAA,QAAS,CAAA,OAAA,CAAA,WACA,CAAA,OAAA,CAAA,mBACH,CAAA,IACR,CACF,SAEF,CAAA,CAAA,CAAA,CAAA,eACD,CAAA,CAAA,CAAA","file":"styles.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { tv } from '@/lib/utils';\n\nexport const TreeStylesDefaults = {\n variant: 'cozy',\n} as const;\n\nexport const TreeStyles = tv({\n slots: {\n tree: 'overflow-auto outline-hidden',\n item: [\n 'not-visible:fg-primary-muted not-viewable:fg-primary-muted fg-primary-bold px-s',\n 'group/tree-item rounded-medium hover:bg-interactive-muted-hover',\n 'drop-target:border drop-target:bg-accent-primary-muted/20 drop-target:outline-accent-primary-bold',\n 'disabled:cursor-not-allowed disabled:border-none disabled:hover:bg-transparent disabled:data-[drop-target=true]:bg-transparent',\n ],\n content: [\n 'flex items-center justify-items-start px-xs',\n 'overflow-x group w-full outline-hidden',\n ],\n display:\n 'grid flex-1 grid-cols-[auto_auto_1fr_auto] items-center [grid-template-areas:\"icon_label_space_action\"_\"icon_description_space_action\"]',\n icon: '[grid-area:icon]',\n label: 'not-has-[+[data-slot=description]]:row-span-full [grid-area:label]',\n description: 'fg-primary-muted text-body-s [grid-area:description]',\n actions: 'flex shrink-0 items-center [grid-area:action]',\n spacing: '',\n visibility: [\n 'group-not-visible/tree-item:enabled:color-mono-bold:fg-primary-muted',\n 'group-not-viewable/tree-item:enabled:color-mono-bold:fg-primary-muted fg-primary-bold',\n 'fg-primary-bold',\n ],\n expansion: [\n 'group-not-visible/tree-item:enabled:color-mono-bold:fg-primary-muted',\n 'group-not-viewable/tree-item:enabled:color-mono-bold:fg-primary-muted fg-primary-bold',\n 'fg-primary-bold',\n ],\n drag: [\n 'group-not-visible/tree-item:enabled:color-mono-bold:fg-primary-muted',\n 'group-not-viewable/tree-item:enabled:color-mono-bold:fg-primary-muted fg-primary-bold',\n 'fg-primary-bold',\n ],\n },\n variants: {\n variant: {\n cozy: {\n content: 'min-h-[48px] text-header-m',\n display: 'gap-x-s px-xs',\n label: 'gap-xs',\n actions: 'gap-x-xs',\n spacing: 'min-h-[46px] w-[28px]',\n item: 'min-h-s',\n },\n compact: {\n content: 'min-h-[36px] gap-xs text-header-s',\n display: 'gap-x-s px-xxs',\n label: 'gap-xs',\n actions: 'gap-x-xxs',\n spacing: 'min-h-[38px] w-[20px]',\n item: 'min-h-l',\n },\n crammed: {\n content: 'gap-xs text-header-s',\n display: 'gap-x-xs px-xxs',\n label: 'gap-xs',\n actions: 'gap-x-xxs',\n spacing: 'min-h-xl w-[20px]',\n item: 'min-h-s',\n },\n },\n },\n defaultVariants: TreeStylesDefaults,\n});\n"]}
|
|
@@ -1,2 +1,4 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
1
3
|
import {jsx}from'react/jsx-runtime';import'client-only';import {Broadcast}from'@accelint/bus';import {isUUID}from'@accelint/core';import {createContext,useRef,useState,useCallback,useEffect,useContext}from'react';import {Pressable}from'react-aria-components';import {ViewStackEventTypes}from'./events.js';const u=Broadcast.getInstance(),p=createContext({parent:null,stack:[],view:null,register:()=>{},unregister:()=>{}}),T={back:e=>u.emit(ViewStackEventTypes.back,{stack:e}),clear:e=>u.emit(ViewStackEventTypes.clear,{stack:e}),push:e=>u.emit(ViewStackEventTypes.push,{view:e}),reset:e=>u.emit(ViewStackEventTypes.reset,{stack:e})};function P({children:e,for:k}){const{parent:r}=useContext(p);function i(){for(const n of Array.isArray(k)?k:[k]){let[s,a]=isUUID(n)?["push",n]:n.split(":");a??=r,a&&T[s](a);}}return jsx(Pressable,{onPress:i,children:e})}P.displayName="ViewStack.Trigger";function y({id:e,children:k}){const{parent:r,view:i,register:n,unregister:s}=useContext(p);if(!r)throw new Error("ViewStack.View must be implemented within a ViewStack");if(!isUUID(e))throw new Error("ViewStack.View's id must be a UniqueId");return useEffect(()=>{n(e);},[n,s,e]),i===e?k:null}y.displayName="ViewStack.View";function S({id:e,children:k,defaultView:r,onChange:i}){if(!isUUID(e))throw new Error("ViewStack's id must be a UniqueId");const n=useRef(new Set),[s,a]=useState(r?[r]:[]),U=s.at(-1)??null,V=useCallback(t=>{if(e===t?.payload?.stack){const c=s.slice(0,-1);!c.length&&r&&c.push(r),a(c),i?.(c.at(-1)??null);}},[e,r,i,s]),f=useCallback(t=>{e===t?.payload?.stack&&(a([]),i?.(null));},[e,i]),m=useCallback(t=>{n.current.has(t?.payload?.view)&&(a(c=>[...c,t?.payload?.view]),i?.(t?.payload?.view));},[i]),v=useCallback(t=>{e===t?.payload?.stack&&(a(r?[r]:[]),i?.(r??null));},[e,r,i]);return useEffect(()=>{const t=[u.on(ViewStackEventTypes.back,V),u.on(ViewStackEventTypes.clear,f),u.on(ViewStackEventTypes.push,m),u.on(ViewStackEventTypes.reset,v)];return ()=>{for(const c of t)c();}},[V,f,m,v]),jsx(p.Provider,{value:{parent:e,stack:s,view:U,register:t=>n.current.add(t),unregister:t=>n.current.delete(t)},children:k})}S.displayName="ViewStack",S.View=y,S.Trigger=P;export{S as ViewStack,p as ViewStackContext,T as ViewStackEventHandlers};//# sourceMappingURL=index.js.map
|
|
2
4
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e={bg:{base:["bg-surface-default","bg-surface-raised","bg-surface-overlay","bg-surface-muted","bg-interactive-bold","bg-interactive-bold-hover","bg-interactive-bold-pressed","bg-interactive-muted","bg-interactive-muted-hover","bg-interactive-muted-pressed","bg-interactive-disabled","bg-accent-primary-bold","bg-accent-primary-hover","bg-accent-primary-pressed","bg-accent-primary-muted"],utility:["bg-info-bold","bg-info-hover","bg-info-pressed","bg-info-muted","bg-advisory-bold","bg-advisory-hover","bg-advisory-pressed","bg-advisory-muted","bg-normal-bold","bg-normal-hover","bg-normal-pressed","bg-normal-muted","bg-serious-bold","bg-serious-hover","bg-serious-pressed","bg-serious-muted","bg-critical-bold","bg-critical-hover","bg-critical-pressed","bg-critical-muted"]},fg:{base:["fg-primary-bold","fg-primary-muted","fg-inverse-bold","fg-inverse-muted","fg-disabled"],utility:["fg-accent-primary-bold","fg-accent-primary-hover","fg-accent-primary-pressed","fg-info-bold","fg-info-hover","fg-info-pressed","fg-advisory-bold","fg-advisory-hover","fg-advisory-pressed","fg-normal-bold","fg-normal-hover","fg-normal-pressed","fg-serious-bold","fg-serious-hover","fg-serious-pressed","fg-critical-bold","fg-critical-hover","fg-critical-pressed"],a11y:["fg-a11y-on-accent","fg-a11y-on-utility"]},outline:{base:["outline-static","outline-interactive","outline-interactive-hover","outline-interactive-pressed","outline-interactive-disabled","outline-accent-primary-bold","outline-accent-primary-hover","outline-accent-primary-pressed"],utility:["outline-info-bold","outline-info-hover","outline-info-pressed","outline-advisory-bold","outline-advisory-hover","outline-advisory-pressed","outline-normal-bold","outline-normal-hover","outline-normal-pressed","outline-serious-bold","outline-serious-hover","outline-serious-pressed","outline-critical-bold","outline-critical-hover","outline-critical-pressed"]}};export{e as tokens};//# sourceMappingURL=token-data.js.map
|
|
1
|
+
const e={bg:{base:["bg-surface-default","bg-surface-raised","bg-surface-overlay","bg-surface-muted","bg-interactive-bold","bg-interactive-bold-hover","bg-interactive-bold-pressed","bg-interactive-muted","bg-interactive-muted-hover","bg-interactive-muted-pressed","bg-interactive-disabled","bg-accent-primary-bold","bg-accent-primary-hover","bg-accent-primary-pressed","bg-accent-primary-muted"],utility:["bg-info-bold","bg-info-hover","bg-info-pressed","bg-info-muted","bg-advisory-bold","bg-advisory-hover","bg-advisory-pressed","bg-advisory-muted","bg-normal-bold","bg-normal-hover","bg-normal-pressed","bg-normal-muted","bg-serious-bold","bg-serious-hover","bg-serious-pressed","bg-serious-muted","bg-critical-bold","bg-critical-hover","bg-critical-pressed","bg-critical-muted"]},fg:{base:["fg-primary-bold","fg-primary-muted","fg-inverse-bold","fg-inverse-muted","fg-disabled","fg-pressed","fg-hover"],utility:["fg-accent-primary-bold","fg-accent-primary-hover","fg-accent-primary-pressed","fg-info-bold","fg-info-hover","fg-info-pressed","fg-advisory-bold","fg-advisory-hover","fg-advisory-pressed","fg-normal-bold","fg-normal-hover","fg-normal-pressed","fg-serious-bold","fg-serious-hover","fg-serious-pressed","fg-critical-bold","fg-critical-hover","fg-critical-pressed"],a11y:["fg-a11y-on-accent","fg-a11y-on-utility"]},outline:{base:["outline-static","outline-interactive","outline-interactive-hover","outline-interactive-pressed","outline-interactive-disabled","outline-accent-primary-bold","outline-accent-primary-hover","outline-accent-primary-pressed"],utility:["outline-info-bold","outline-info-hover","outline-info-pressed","outline-advisory-bold","outline-advisory-hover","outline-advisory-pressed","outline-normal-bold","outline-normal-hover","outline-normal-pressed","outline-mono-bold","outline-mono-bold-hover","outline-mono-bold-pressed","outline-serious-bold","outline-serious-hover","outline-serious-pressed","outline-critical-bold","outline-critical-hover","outline-critical-pressed"]}};export{e as tokens};//# sourceMappingURL=token-data.js.map
|
|
2
2
|
//# sourceMappingURL=token-data.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/foundation/token-data.ts"],"names":["tokens"],"mappings":"AAgBO,MAAMA,CAAAA,CAAS,CACpB,EAAA,CAAI,CACF,IAAA,CAAM,CACJ,oBAAA,CACA,mBAAA,CACA,oBAAA,CACA,kBAAA,CACA,qBAAA,CACA,2BAAA,CACA,
|
|
1
|
+
{"version":3,"sources":["../../src/foundation/token-data.ts"],"names":["tokens"],"mappings":"AAgBO,MAAMA,CAAAA,CAAS,CACpB,EAAA,CAAI,CACF,IAAA,CAAM,CACJ,oBAAA,CACA,mBAAA,CACA,oBAAA,CACA,kBAAA,CACA,qBAAA,CACA,2BAAA,CACA,6BAAA,CACA,uBACA,4BAAA,CACA,8BAAA,CACA,yBAAA,CACA,wBAAA,CACA,yBAAA,CACA,2BAAA,CACA,yBACF,CAAA,CACA,OAAA,CAAS,CACP,cAAA,CACA,eAAA,CACA,iBAAA,CACA,eAAA,CACA,mBACA,mBAAA,CACA,qBAAA,CACA,mBAAA,CACA,gBAAA,CACA,iBAAA,CACA,mBAAA,CACA,iBAAA,CACA,iBAAA,CACA,kBAAA,CACA,oBAAA,CACA,kBAAA,CACA,kBAAA,CACA,mBAAA,CACA,qBAAA,CACA,mBACF,CACF,CAAA,CACA,EAAA,CAAI,CACF,IAAA,CAAM,CACJ,iBAAA,CACA,kBAAA,CACA,iBAAA,CACA,kBAAA,CACA,aAAA,CACA,YAAA,CACA,UACF,CAAA,CACA,OAAA,CAAS,CACP,wBAAA,CACA,yBAAA,CACA,2BAAA,CACA,cAAA,CACA,eAAA,CACA,iBAAA,CACA,kBAAA,CACA,mBAAA,CACA,qBAAA,CACA,gBAAA,CACA,iBAAA,CACA,mBAAA,CACA,iBAAA,CACA,kBAAA,CACA,oBAAA,CACA,kBAAA,CACA,mBAAA,CACA,qBACF,CAAA,CACA,IAAA,CAAM,CAAC,mBAAA,CAAqB,oBAAoB,CAClD,CAAA,CACA,OAAA,CAAS,CACP,IAAA,CAAM,CACJ,gBAAA,CACA,sBACA,2BAAA,CACA,6BAAA,CACA,8BAAA,CACA,6BAAA,CACA,8BAAA,CACA,gCACF,CAAA,CACA,OAAA,CAAS,CACP,mBAAA,CACA,oBAAA,CACA,sBAAA,CACA,uBAAA,CACA,wBAAA,CACA,0BAAA,CACA,qBAAA,CACA,sBAAA,CACA,wBAAA,CACA,mBAAA,CACA,yBAAA,CACA,2BAAA,CACA,sBAAA,CACA,uBAAA,CACA,yBAAA,CACA,uBAAA,CACA,wBAAA,CACA,0BACF,CACF,CACF","file":"token-data.js","sourcesContent":["// __private-exports\n/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n// These tokens drive the storybook stories.\n// future: generate these\n\nexport const tokens = {\n bg: {\n base: [\n 'bg-surface-default',\n 'bg-surface-raised',\n 'bg-surface-overlay',\n 'bg-surface-muted',\n 'bg-interactive-bold',\n 'bg-interactive-bold-hover',\n 'bg-interactive-bold-pressed',\n 'bg-interactive-muted',\n 'bg-interactive-muted-hover',\n 'bg-interactive-muted-pressed',\n 'bg-interactive-disabled',\n 'bg-accent-primary-bold',\n 'bg-accent-primary-hover',\n 'bg-accent-primary-pressed',\n 'bg-accent-primary-muted',\n ],\n utility: [\n 'bg-info-bold',\n 'bg-info-hover',\n 'bg-info-pressed',\n 'bg-info-muted',\n 'bg-advisory-bold',\n 'bg-advisory-hover',\n 'bg-advisory-pressed',\n 'bg-advisory-muted',\n 'bg-normal-bold',\n 'bg-normal-hover',\n 'bg-normal-pressed',\n 'bg-normal-muted',\n 'bg-serious-bold',\n 'bg-serious-hover',\n 'bg-serious-pressed',\n 'bg-serious-muted',\n 'bg-critical-bold',\n 'bg-critical-hover',\n 'bg-critical-pressed',\n 'bg-critical-muted',\n ],\n },\n fg: {\n base: [\n 'fg-primary-bold',\n 'fg-primary-muted',\n 'fg-inverse-bold',\n 'fg-inverse-muted',\n 'fg-disabled',\n 'fg-pressed',\n 'fg-hover',\n ],\n utility: [\n 'fg-accent-primary-bold',\n 'fg-accent-primary-hover',\n 'fg-accent-primary-pressed',\n 'fg-info-bold',\n 'fg-info-hover',\n 'fg-info-pressed',\n 'fg-advisory-bold',\n 'fg-advisory-hover',\n 'fg-advisory-pressed',\n 'fg-normal-bold',\n 'fg-normal-hover',\n 'fg-normal-pressed',\n 'fg-serious-bold',\n 'fg-serious-hover',\n 'fg-serious-pressed',\n 'fg-critical-bold',\n 'fg-critical-hover',\n 'fg-critical-pressed',\n ],\n a11y: ['fg-a11y-on-accent', 'fg-a11y-on-utility'],\n },\n outline: {\n base: [\n 'outline-static',\n 'outline-interactive',\n 'outline-interactive-hover',\n 'outline-interactive-pressed',\n 'outline-interactive-disabled',\n 'outline-accent-primary-bold',\n 'outline-accent-primary-hover',\n 'outline-accent-primary-pressed',\n ],\n utility: [\n 'outline-info-bold',\n 'outline-info-hover',\n 'outline-info-pressed',\n 'outline-advisory-bold',\n 'outline-advisory-hover',\n 'outline-advisory-pressed',\n 'outline-normal-bold',\n 'outline-normal-hover',\n 'outline-normal-pressed',\n 'outline-mono-bold',\n 'outline-mono-bold-hover',\n 'outline-mono-bold-pressed',\n 'outline-serious-bold',\n 'outline-serious-hover',\n 'outline-serious-pressed',\n 'outline-critical-bold',\n 'outline-critical-hover',\n 'outline-critical-pressed',\n ],\n },\n};\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
class d{cache={lookup:new Map,roots:[]};constructor(e=[]){this.rebuild(e);}rebuild(e,t=new Map,s=null){e.forEach(r=>{const{children:o,...n}=r;t.set(r.key,{isDisabled:false,isExpanded:false,isSelected:false,isVisible:false,isVisibleComputed:false,...n,parentKey:s,...o?{children:o.map(l=>l.key)}:{}}),r.children&&this.rebuild(r.children,t,r.key);});const i={lookup:t,roots:e.map(r=>r.key)};return s||(this.cache=i),this.deriveVisibility(),i}get(e){const t=this.cache.lookup.get(e);if(t===void 0)throw new Error(`Key of ${e} does not exist in tree`);return t}set(e,t){this.cache.lookup.set(e,t);}delete(e){this.cache.lookup.delete(e);}addToParent(e,t,s){const i=this.get(e),r=this.get(t),o=Math.max(0,s);this.set(t,{...r,parentKey:e});const n=(i.children??[]).slice(0);n.splice(o,0,t),this.set(e,{...i,children:n});}addToRoot(e,t){const s=this.get(e),i=Math.max(0,t);this.set(e,{...s,parentKey:null}),this.cache.roots.splice(i,0,e);}removeFromParent(e,t){const s=this.get(e),i=this.get(t);this.set(t,{...i,parentKey:null}),this.cache.lookup.set(e,{...s,children:s.children?.filter(r=>r!==t)});}removeFromRoot(e){const t=this.get(e),s=this.cache.roots.indexOf(e);s>=0&&(this.set(e,{...t,parentKey:null}),this.cache.roots.splice(s,1));}parentOrSibling(e,t){let s,i=null;if(e===null)s=t==="before"?0:this.cache.roots.length;else {const r=this.get(e);if(r.parentKey){const o=this.get(r.parentKey);i=o.key,s=o.children?.
|
|
1
|
+
class d{cache={lookup:new Map,roots:[]};constructor(e=[]){this.rebuild(e);}rebuild(e,t=new Map,s=null){e.forEach(r=>{const{children:o,...n}=r;t.set(r.key,{isDisabled:false,isExpanded:false,isSelected:false,isVisible:false,isVisibleComputed:false,...n,parentKey:s,...o?{children:o.map(l=>l.key)}:{}}),r.children&&this.rebuild(r.children,t,r.key);});const i={lookup:t,roots:e.map(r=>r.key)};return s||(this.cache=i),this.deriveVisibility(),i}get(e){const t=this.cache.lookup.get(e);if(t===void 0)throw new Error(`Key of ${e} does not exist in tree`);return t}set(e,t){this.cache.lookup.set(e,t);}delete(e){this.cache.lookup.delete(e);}addToParent(e,t,s){const i=this.get(e),r=this.get(t),o=Math.max(0,s);this.set(t,{...r,parentKey:e});const n=(i.children??[]).slice(0);n.splice(o,0,t),this.set(e,{...i,children:n});}addToRoot(e,t){const s=this.get(e),i=Math.max(0,t);this.set(e,{...s,parentKey:null}),this.cache.roots.splice(i,0,e);}removeFromParent(e,t){const s=this.get(e),i=this.get(t);this.set(t,{...i,parentKey:null}),this.cache.lookup.set(e,{...s,children:s.children?.filter(r=>r!==t)});}removeFromRoot(e){const t=this.get(e),s=this.cache.roots.indexOf(e);s>=0&&(this.set(e,{...t,parentKey:null}),this.cache.roots.splice(s,1));}parentOrSibling(e,t){let s,i=null;if(e===null)s=t==="before"?0:this.cache.roots.length;else {const r=this.get(e);if(r.parentKey){const o=this.get(r.parentKey);i=o.key,s=o.children?.indexOf(e)??0;}else s=this.cache.roots.indexOf(e);}return {parentKey:i,index:s}}traverse(e){const t=this.get(e);this.cache.lookup.set(e,{...t,isVisibleComputed:this.calculateVisibility(e)}),t.children?.map(s=>this.traverse(s));}calculateVisibility(e){let t=this.get(e);const s=[t];for(;t.parentKey;){const i=this.get(t.parentKey);i&&s.push(i),t=i;}return s.every(i=>i.isVisible)}deriveVisibility(){return this.cache.roots.map(e=>this.traverse(e))}buildNode(e){const t=this.get(e),s=(t.children??[]).reduce((i,r)=>{const o=this.cache.lookup.get(r);return o&&o.parentKey===e&&i.push(this.buildNode(r)),i},[]);return {...t,children:s}}toTree(e){return e&&this.deriveVisibility(),this.cache.roots.map(t=>this.buildNode(t))}getNode(e){const t=this.get(e);return {...t,children:t.children?.map(s=>this.buildNode(s))}}getAllKeys(){return this.cache.lookup.keys()}getAllNodes(){return this.cache.lookup.values()}setNode(e,t){this.set(e,{...t,children:(t.children??[]).map(s=>s.key)});}setAllNodes({parentKey:e,children:t,...s}){for(const i of this.cache.lookup.values())this.set(i.key,{...i,...s});}deleteNode(e){const t=this.cache.lookup.get(e);t&&(t.children?.map(s=>this.deleteNode(s)),t.parentKey?this.removeFromParent(t.parentKey,e):this.removeFromRoot(e),this.delete(e));}addNodes(e,t,s){const{parentKey:i,index:r}=this.parentOrSibling(e,s),o=r+(s==="before"?0:1);t.map((n,l)=>this.insertNode(i,n,o+l));}insertNode(e,t,s){const{children:i,...r}=t;this.set(t.key,{isDisabled:false,isExpanded:false,isSelected:false,isVisible:false,isVisibleComputed:false,...r,parentKey:e,...i?{children:i.map(o=>o.key)}:{}}),t.children?.map((o,n)=>this.insertNode(t.key,o,n)),e===null?this.addToRoot(t.key,s):this.addToParent(e,t.key,s);}moveNodes(e,t,s){const{parentKey:i,index:r}=this.parentOrSibling(e,s),o=r+(s==="before"?0:1);Array.from(t).map((n,l)=>this.moveNode(i,n,o+l));}moveNode(e,t,s){const i=this.get(t);i.parentKey?this.removeFromParent(i.parentKey,t):this.removeFromRoot(t),e?this.addToParent(e,t,s):this.addToRoot(t,s);}}export{d as Cache};//# sourceMappingURL=cache.js.map
|
|
2
2
|
//# sourceMappingURL=cache.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/hooks/use-tree/actions/cache.ts"],"names":["Cache","nodes","lookup","parentKey","node","children","rest","child","cache","key","childKey","idx","parent","index","target","position","targetNode","rootKey","current","ancestry","n","acc","childNode","deriveVisible","i"],"mappings":"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","file":"cache.js","sourcesContent":["// __private-exports\n/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport type { Key } from '@react-types/shared';\nimport type { TreeNode } from '../types';\n\ntype CacheTreeNode<T> = Omit<TreeNode<T>, 'children'> & {\n children?: Key[];\n};\n\n/**\n * This is a cache created only for performance reasons and is considered\n * to be only a temporary mirror of the data. The data is *always* correct\n * cache should be updated according to the data, only. If the data and\n * the cache do not match, the cache is invalidated and rebuilt.\n *\n * This will initialize once on load with data, then\n * updated with each tree operation.\n */\nexport class Cache<T> {\n protected cache: { lookup: Map<Key, CacheTreeNode<T>>; roots: Key[] } = {\n lookup: new Map(),\n roots: [],\n };\n\n constructor(nodes: TreeNode<T>[] = []) {\n this.rebuild(nodes);\n }\n\n /**\n * Recursively creates the cache object from tree data\n */\n rebuild(\n nodes: TreeNode<T>[],\n lookup: Map<Key, CacheTreeNode<T>> = new Map(),\n parentKey: Key | null = null,\n ) {\n nodes.forEach((node) => {\n const { children, ...rest } = node;\n\n lookup.set(node.key, {\n isDisabled: false,\n isExpanded: false,\n isSelected: false,\n isVisible: false,\n isVisibleComputed: false,\n ...rest,\n parentKey,\n ...(children ? { children: children.map((child) => child.key) } : {}),\n });\n\n if (node.children) {\n this.rebuild(node.children, lookup, node.key);\n }\n });\n\n const cache = { lookup, roots: nodes.map((node) => node.key) };\n\n if (!parentKey) {\n this.cache = cache;\n }\n\n this.deriveVisibility();\n return cache;\n }\n\n protected get(key: Key) {\n const node = this.cache.lookup.get(key);\n\n if (node === undefined) {\n throw new Error(`Key of ${key} does not exist in tree`);\n }\n\n return node;\n }\n\n protected set(key: Key, node: CacheTreeNode<T>) {\n this.cache.lookup.set(key, node);\n }\n\n protected delete(key: Key) {\n this.cache.lookup.delete(key);\n }\n\n protected addToParent(parentKey: Key, childKey: Key, idx: number) {\n const parent = this.get(parentKey);\n const child = this.get(childKey);\n const index = Math.max(0, idx);\n\n this.set(childKey, {\n ...child,\n parentKey,\n });\n\n const children = (parent.children ?? []).slice(0);\n\n children.splice(index, 0, childKey);\n\n this.set(parentKey, {\n ...parent,\n children,\n });\n }\n\n protected addToRoot(key: Key, idx: number) {\n const node = this.get(key);\n const index = Math.max(0, idx);\n\n this.set(key, {\n ...node,\n parentKey: null,\n });\n\n this.cache.roots.splice(index, 0, key);\n }\n\n protected removeFromParent(parentKey: Key, childKey: Key) {\n const parent = this.get(parentKey);\n const child = this.get(childKey);\n\n this.set(childKey, {\n ...child,\n parentKey: null,\n });\n\n this.cache.lookup.set(parentKey, {\n ...parent,\n children: parent.children?.filter((key) => key !== childKey),\n });\n }\n\n protected removeFromRoot(key: Key) {\n const node = this.get(key);\n const idx = this.cache.roots.indexOf(key);\n\n if (idx >= 0) {\n this.set(key, {\n ...node,\n parentKey: null,\n });\n\n this.cache.roots.splice(idx, 1);\n }\n }\n\n protected parentOrSibling(target: Key | null, position: 'before' | 'after') {\n let index: number;\n let parentKey: Key | null = null;\n\n if (target === null) {\n index = position === 'before' ? 0 : this.cache.roots.length;\n } else {\n const targetNode = this.get(target);\n\n if (targetNode.parentKey) {\n const parent = this.get(targetNode.parentKey);\n\n parentKey = parent.key;\n index = parent.children?.findIndex((key) => key === target) ?? 0;\n } else {\n index = this.cache.roots.findIndex((rootKey) => rootKey === target);\n }\n }\n\n return { parentKey, index };\n }\n\n protected traverse(key: Key) {\n const node = this.get(key);\n\n this.cache.lookup.set(key, {\n ...node,\n isVisibleComputed: this.calculateVisibility(key),\n });\n\n node.children?.map((child) => this.traverse(child));\n }\n\n protected calculateVisibility(key: Key) {\n let current = this.get(key);\n const ancestry = [current];\n\n while (current.parentKey) {\n const parent = this.get(current.parentKey);\n if (parent) {\n ancestry.push(parent);\n }\n current = parent;\n }\n\n return ancestry.every((n) => n.isVisible);\n }\n\n protected deriveVisibility() {\n return this.cache.roots.map((key) => this.traverse(key));\n }\n /**\n * Recursively builds a TreeNode from a key\n *\n * @param key\n */\n protected buildNode(key: Key): TreeNode<T> {\n const node = this.get(key);\n\n const children = (node.children ?? []).reduce(\n (acc: TreeNode<T>[], child) => {\n const childNode = this.cache.lookup.get(child);\n\n if (childNode && childNode.parentKey === key) {\n acc.push(this.buildNode(child));\n }\n\n return acc;\n },\n [],\n );\n\n return {\n ...node,\n children,\n };\n }\n\n /**\n * Builds a tree structure from cache\n *\n * TODO: optimization - rebuild only from change to root\n * Rebuild only from the changed node up the tree to avoid\n * rebuilding the entire tree\n *\n * @param deriveVisible boolean - if true, will recompute visibility for nodes based on ancestry\n */\n toTree(deriveVisible?: boolean): TreeNode<T>[] {\n if (deriveVisible) {\n this.deriveVisibility();\n }\n return this.cache.roots.map((key) => this.buildNode(key));\n }\n\n /**\n * CACHE FUNCTIONS\n * These manage cache operations. No cache operations should ever be done\n * outside this file.\n **/\n getNode(key: Key): TreeNode<T> {\n const node = this.get(key);\n\n return {\n ...node,\n children: node.children?.map((key) => this.buildNode(key)),\n };\n }\n\n getAllKeys() {\n return this.cache.lookup.keys();\n }\n\n getAllNodes() {\n return this.cache.lookup.values();\n }\n\n setNode(key: Key, node: TreeNode<T>) {\n this.set(key, {\n ...node,\n children: (node.children ?? []).map((child) => child.key),\n });\n }\n\n setAllNodes({ parentKey, children, ...rest }: Partial<TreeNode<T>>) {\n for (const node of this.cache.lookup.values()) {\n this.set(node.key, {\n ...node,\n ...rest,\n });\n }\n }\n\n deleteNode(key: Key) {\n const node = this.cache.lookup.get(key);\n\n if (!node) {\n return;\n }\n\n // remove children\n node.children?.map((key) => this.deleteNode(key));\n\n // remove node from previous parent or root\n node.parentKey\n ? this.removeFromParent(node.parentKey, key)\n : this.removeFromRoot(key);\n\n // remove the actual node\n this.delete(key);\n }\n\n addNodes(\n target: Key | null,\n nodes: TreeNode<T>[],\n position: 'before' | 'after',\n ) {\n const { parentKey, index } = this.parentOrSibling(target, position);\n const idx = index + (position === 'before' ? 0 : 1);\n\n nodes.map((node, i) => this.insertNode(parentKey, node, idx + i));\n }\n\n insertNode(parentKey: Key | null, node: TreeNode<T>, idx: number) {\n const { children, ...rest } = node;\n\n this.set(node.key, {\n isDisabled: false,\n isExpanded: false,\n isSelected: false,\n isVisible: false,\n isVisibleComputed: false,\n ...rest,\n parentKey,\n ...(children ? { children: children.map((child) => child.key) } : {}),\n });\n\n node.children?.map((child, i) => this.insertNode(node.key, child, i));\n\n parentKey === null\n ? this.addToRoot(node.key, idx)\n : this.addToParent(parentKey, node.key, idx);\n }\n\n moveNodes(target: Key | null, nodes: Set<Key>, position: 'before' | 'after') {\n const { parentKey, index } = this.parentOrSibling(target, position);\n const idx = index + (position === 'before' ? 0 : 1);\n\n Array.from(nodes).map((key, i) => this.moveNode(parentKey, key, idx + i));\n }\n\n moveNode(parentKey: Key | null, key: Key, idx: number) {\n const node = this.get(key);\n\n // remove from previous parent\n node.parentKey\n ? this.removeFromParent(node.parentKey, key)\n : this.removeFromRoot(key);\n\n // add as child to new parent or root at position\n parentKey\n ? this.addToParent(parentKey, key, idx)\n : this.addToRoot(key, idx);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/hooks/use-tree/actions/cache.ts"],"names":["Cache","nodes","lookup","parentKey","node","children","rest","child","cache","key","childKey","idx","parent","index","target","position","targetNode","current","ancestry","n","acc","childNode","deriveVisible","i"],"mappings":"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","file":"cache.js","sourcesContent":["// __private-exports\n/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport type { Key } from '@react-types/shared';\nimport type { TreeNode } from '../types';\n\ntype CacheTreeNode<T> = Omit<TreeNode<T>, 'children'> & {\n children?: Key[];\n};\n\n/**\n * This is a cache created only for performance reasons and is considered\n * to be only a temporary mirror of the data. The data is *always* correct\n * cache should be updated according to the data, only. If the data and\n * the cache do not match, the cache is invalidated and rebuilt.\n *\n * This will initialize once on load with data, then\n * updated with each tree operation.\n */\nexport class Cache<T> {\n protected cache: { lookup: Map<Key, CacheTreeNode<T>>; roots: Key[] } = {\n lookup: new Map(),\n roots: [],\n };\n\n constructor(nodes: TreeNode<T>[] = []) {\n this.rebuild(nodes);\n }\n\n /**\n * Recursively creates the cache object from tree data\n */\n rebuild(\n nodes: TreeNode<T>[],\n lookup: Map<Key, CacheTreeNode<T>> = new Map(),\n parentKey: Key | null = null,\n ) {\n nodes.forEach((node) => {\n const { children, ...rest } = node;\n\n lookup.set(node.key, {\n isDisabled: false,\n isExpanded: false,\n isSelected: false,\n isVisible: false,\n isVisibleComputed: false,\n ...rest,\n parentKey,\n ...(children ? { children: children.map((child) => child.key) } : {}),\n });\n\n if (node.children) {\n this.rebuild(node.children, lookup, node.key);\n }\n });\n\n const cache = { lookup, roots: nodes.map((node) => node.key) };\n\n if (!parentKey) {\n this.cache = cache;\n }\n\n this.deriveVisibility();\n return cache;\n }\n\n protected get(key: Key) {\n const node = this.cache.lookup.get(key);\n\n if (node === undefined) {\n throw new Error(`Key of ${key} does not exist in tree`);\n }\n\n return node;\n }\n\n protected set(key: Key, node: CacheTreeNode<T>) {\n this.cache.lookup.set(key, node);\n }\n\n protected delete(key: Key) {\n this.cache.lookup.delete(key);\n }\n\n protected addToParent(parentKey: Key, childKey: Key, idx: number) {\n const parent = this.get(parentKey);\n const child = this.get(childKey);\n const index = Math.max(0, idx);\n\n this.set(childKey, {\n ...child,\n parentKey,\n });\n\n const children = (parent.children ?? []).slice(0);\n\n children.splice(index, 0, childKey);\n\n this.set(parentKey, {\n ...parent,\n children,\n });\n }\n\n protected addToRoot(key: Key, idx: number) {\n const node = this.get(key);\n const index = Math.max(0, idx);\n\n this.set(key, {\n ...node,\n parentKey: null,\n });\n\n this.cache.roots.splice(index, 0, key);\n }\n\n protected removeFromParent(parentKey: Key, childKey: Key) {\n const parent = this.get(parentKey);\n const child = this.get(childKey);\n\n this.set(childKey, {\n ...child,\n parentKey: null,\n });\n\n this.cache.lookup.set(parentKey, {\n ...parent,\n children: parent.children?.filter((key) => key !== childKey),\n });\n }\n\n protected removeFromRoot(key: Key) {\n const node = this.get(key);\n const idx = this.cache.roots.indexOf(key);\n\n if (idx >= 0) {\n this.set(key, {\n ...node,\n parentKey: null,\n });\n\n this.cache.roots.splice(idx, 1);\n }\n }\n\n protected parentOrSibling(target: Key | null, position: 'before' | 'after') {\n let index: number;\n let parentKey: Key | null = null;\n\n if (target === null) {\n index = position === 'before' ? 0 : this.cache.roots.length;\n } else {\n const targetNode = this.get(target);\n\n if (targetNode.parentKey) {\n const parent = this.get(targetNode.parentKey);\n\n parentKey = parent.key;\n index = parent.children?.indexOf(target) ?? 0;\n } else {\n index = this.cache.roots.indexOf(target);\n }\n }\n\n return { parentKey, index };\n }\n\n protected traverse(key: Key) {\n const node = this.get(key);\n\n this.cache.lookup.set(key, {\n ...node,\n isVisibleComputed: this.calculateVisibility(key),\n });\n\n node.children?.map((child) => this.traverse(child));\n }\n\n protected calculateVisibility(key: Key) {\n let current = this.get(key);\n const ancestry = [current];\n\n while (current.parentKey) {\n const parent = this.get(current.parentKey);\n if (parent) {\n ancestry.push(parent);\n }\n current = parent;\n }\n\n return ancestry.every((n) => n.isVisible);\n }\n\n protected deriveVisibility() {\n return this.cache.roots.map((key) => this.traverse(key));\n }\n /**\n * Recursively builds a TreeNode from a key\n *\n * @param key\n */\n protected buildNode(key: Key): TreeNode<T> {\n const node = this.get(key);\n\n const children = (node.children ?? []).reduce(\n (acc: TreeNode<T>[], child) => {\n const childNode = this.cache.lookup.get(child);\n\n if (childNode && childNode.parentKey === key) {\n acc.push(this.buildNode(child));\n }\n\n return acc;\n },\n [],\n );\n\n return {\n ...node,\n children,\n };\n }\n\n /**\n * Builds a tree structure from cache\n *\n * TODO: optimization - rebuild only from change to root\n * Rebuild only from the changed node up the tree to avoid\n * rebuilding the entire tree\n *\n * @param deriveVisible boolean - if true, will recompute visibility for nodes based on ancestry\n */\n toTree(deriveVisible?: boolean): TreeNode<T>[] {\n if (deriveVisible) {\n this.deriveVisibility();\n }\n return this.cache.roots.map((key) => this.buildNode(key));\n }\n\n /**\n * CACHE FUNCTIONS\n * These manage cache operations. No cache operations should ever be done\n * outside this file.\n **/\n getNode(key: Key): TreeNode<T> {\n const node = this.get(key);\n\n return {\n ...node,\n children: node.children?.map((key) => this.buildNode(key)),\n };\n }\n\n getAllKeys() {\n return this.cache.lookup.keys();\n }\n\n getAllNodes() {\n return this.cache.lookup.values();\n }\n\n setNode(key: Key, node: TreeNode<T>) {\n this.set(key, {\n ...node,\n children: (node.children ?? []).map((child) => child.key),\n });\n }\n\n setAllNodes({ parentKey, children, ...rest }: Partial<TreeNode<T>>) {\n for (const node of this.cache.lookup.values()) {\n this.set(node.key, {\n ...node,\n ...rest,\n });\n }\n }\n\n deleteNode(key: Key) {\n const node = this.cache.lookup.get(key);\n\n if (!node) {\n return;\n }\n\n // remove children\n node.children?.map((key) => this.deleteNode(key));\n\n // remove node from previous parent or root\n node.parentKey\n ? this.removeFromParent(node.parentKey, key)\n : this.removeFromRoot(key);\n\n // remove the actual node\n this.delete(key);\n }\n\n addNodes(\n target: Key | null,\n nodes: TreeNode<T>[],\n position: 'before' | 'after',\n ) {\n const { parentKey, index } = this.parentOrSibling(target, position);\n const idx = index + (position === 'before' ? 0 : 1);\n\n nodes.map((node, i) => this.insertNode(parentKey, node, idx + i));\n }\n\n insertNode(parentKey: Key | null, node: TreeNode<T>, idx: number) {\n const { children, ...rest } = node;\n\n this.set(node.key, {\n isDisabled: false,\n isExpanded: false,\n isSelected: false,\n isVisible: false,\n isVisibleComputed: false,\n ...rest,\n parentKey,\n ...(children ? { children: children.map((child) => child.key) } : {}),\n });\n\n node.children?.map((child, i) => this.insertNode(node.key, child, i));\n\n parentKey === null\n ? this.addToRoot(node.key, idx)\n : this.addToParent(parentKey, node.key, idx);\n }\n\n moveNodes(target: Key | null, nodes: Set<Key>, position: 'before' | 'after') {\n const { parentKey, index } = this.parentOrSibling(target, position);\n const idx = index + (position === 'before' ? 0 : 1);\n\n Array.from(nodes).map((key, i) => this.moveNode(parentKey, key, idx + i));\n }\n\n moveNode(parentKey: Key | null, key: Key, idx: number) {\n const node = this.get(key);\n\n // remove from previous parent\n node.parentKey\n ? this.removeFromParent(node.parentKey, key)\n : this.removeFromRoot(key);\n\n // add as child to new parent or root at position\n parentKey\n ? this.addToParent(parentKey, key, idx)\n : this.addToRoot(key, idx);\n }\n}\n"]}
|
|
@@ -1,2 +1,4 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
1
3
|
import'client-only';import {useUpdateEffect}from'@react-aria/utils';import {useRef}from'react';import {Cache}from'./cache.js';function V({nodes:n}){const e=useRef(new Cache(n)).current;useUpdateEffect(()=>{e.rebuild(n);},[n]);function u(o){return e.getNode(o)}function i(o,t){return e.addNodes(o,t,"after"),e.toTree(true)}function l(o,t){return e.addNodes(o,t,"before"),e.toTree(true)}function f(o,t){for(const r of t)e.insertNode(o,r,0);return e.toTree(true)}function c(o,t){return e.moveNodes(o,t,"after"),e.toTree()}function N(o,t){return e.moveNodes(o,t,"before"),e.toTree()}function a(o,t){for(const r of t)e.moveNode(o,r,0);return e.toTree()}function y(o,t){const r=e.getNode(o);return e.setNode(o,t(r)),e.toTree(true)}function p(o){for(const t of o.values())e.deleteNode(t);return e.toTree(true)}function A(o){d();for(const t of o){const r=e.getNode(t);e.setNode(r.key,{...r,isSelected:true});}return e.toTree()}function m(){return e.setAllNodes({isSelected:true}),e.toTree()}function d(){return e.setAllNodes({isSelected:false}),e.toTree()}function K(o){T();for(const t of o){const r=e.getNode(t);e.setNode(r.key,{...r,isExpanded:true});}return e.toTree()}function S(){return e.setAllNodes({isExpanded:true}),e.toTree()}function T(){return e.setAllNodes({isExpanded:false}),e.toTree()}function g(o){s();for(const t of o){const r=e.getNode(t);e.setNode(r.key,{...r,isVisible:true});}return e.toTree(true)}function v(){return e.setAllNodes({isVisible:true}),e.toTree(true)}function s(){return e.setAllNodes({isVisible:false}),e.toTree(true)}return {getNode:u,insertAfter:i,insertBefore:l,insertInto:f,moveAfter:c,moveBefore:N,moveInto:a,remove:p,updateNode:y,collapseAll:T,expandAll:S,onExpandedChange:K,selectAll:m,unselectAll:d,onSelectionChange:A,hideAll:s,revealAll:v,onVisibilityChange:g}}export{V as useTreeActions};//# sourceMappingURL=index.js.map
|
|
2
4
|
//# sourceMappingURL=index.js.map
|
package/dist/index.d.ts
CHANGED
|
@@ -10,9 +10,12 @@ export { AvatarProps } from './components/avatar/types.js';
|
|
|
10
10
|
export { Badge, BadgeContext } from './components/badge/index.js';
|
|
11
11
|
export { BadgeStyles, BadgeStylesDefaults } from './components/badge/styles.js';
|
|
12
12
|
export { BadgeProps } from './components/badge/types.js';
|
|
13
|
+
export { Breadcrumbs } from './components/breadcrumbs/index.js';
|
|
14
|
+
export { BreadcrumbsStyles } from './components/breadcrumbs/styles.js';
|
|
15
|
+
export { BreadcrumbItemProps } from './components/breadcrumbs/types.js';
|
|
13
16
|
export { Button, ButtonContext, LinkButton, LinkButtonContext, ToggleButton, ToggleButtonContext } from './components/button/index.js';
|
|
14
17
|
export { ButtonStyles, ButtonStylesDefaults, LinkButtonStyles, ToggleButtonStyles } from './components/button/styles.js';
|
|
15
|
-
export { ButtonProps, ButtonStyleVariants, LinkButtonProps, ToggleButtonProps } from './components/button/types.js';
|
|
18
|
+
export { ButtonProps, ButtonStyleVariants, LinkButtonProps, ToggleButtonProps, ToggleButtonStyleVariants } from './components/button/types.js';
|
|
16
19
|
export { Checkbox, CheckboxContext, CheckboxGroupContext } from './components/checkbox/index.js';
|
|
17
20
|
export { CheckboxStyles } from './components/checkbox/styles.js';
|
|
18
21
|
export { CheckboxGroupProps, CheckboxProps } from './components/checkbox/types.js';
|
|
@@ -40,6 +43,9 @@ export { DetailsListLabelProps, DetailsListProps, DetailsListValueProps } from '
|
|
|
40
43
|
export { Dialog, DialogContext } from './components/dialog/index.js';
|
|
41
44
|
export { DialogStyles } from './components/dialog/styles.js';
|
|
42
45
|
export { DialogProps } from './components/dialog/types.js';
|
|
46
|
+
export { Divider, DividerContext } from './components/divider/index.js';
|
|
47
|
+
export { DividerStyles } from './components/divider/styles.js';
|
|
48
|
+
export { DividerProps } from './components/divider/types.js';
|
|
43
49
|
export { DrawerEventNamespace, DrawerEventTypes } from './components/drawer/events.js';
|
|
44
50
|
export { Drawer, DrawerContext, DrawerEventHandlers } from './components/drawer/index.js';
|
|
45
51
|
export { DrawerMenuStyles, DrawerMenuStylesDefaults, DrawerStyles, DrawerTitleStyles, DrawerTitleStylesDefaults } from './components/drawer/styles.js';
|
|
@@ -88,7 +94,7 @@ export { SelectFieldProps } from './components/select-field/types.js';
|
|
|
88
94
|
export { SidenavEventNamespace, SidenavEventTypes } from './components/sidenav/events.js';
|
|
89
95
|
export { Sidenav } from './components/sidenav/index.js';
|
|
90
96
|
export { SidenavStyles } from './components/sidenav/styles.js';
|
|
91
|
-
export { SidenavAvatarProps, SidenavContentProps, SidenavContextValue, SidenavDividerProps, SidenavFooterProps, SidenavHeaderProps, SidenavItemProps, SidenavLinkProps, SidenavProps, SidenavTriggerProps } from './components/sidenav/types.js';
|
|
97
|
+
export { SidenavAvatarProps, SidenavCloseEvent, SidenavContentProps, SidenavContextValue, SidenavDividerProps, SidenavEvent, SidenavFooterProps, SidenavHeaderProps, SidenavItemProps, SidenavLinkProps, SidenavMenuItemProps, SidenavMenuProps, SidenavOpenEvent, SidenavProps, SidenavToggleEvent, SidenavTriggerProps } from './components/sidenav/types.js';
|
|
92
98
|
export { Skeleton } from './components/skeleton/index.js';
|
|
93
99
|
export { SkeletonStyles, SkeletonStylesDefaults } from './components/skeleton/styles.js';
|
|
94
100
|
export { SkeletonProps, SkeletonStyleVariants } from './components/skeleton/types.js';
|
|
@@ -98,6 +104,10 @@ export { SliderProps } from './components/slider/types.js';
|
|
|
98
104
|
export { Switch, SwitchContext } from './components/switch/index.js';
|
|
99
105
|
export { SwitchStyles } from './components/switch/styles.js';
|
|
100
106
|
export { SwitchProps } from './components/switch/types.js';
|
|
107
|
+
export { TableContext } from './components/table/context.js';
|
|
108
|
+
export { Table } from './components/table/index.js';
|
|
109
|
+
export { TableBodyStyles, TableCellStyles, TableCellStylesDefaults, TableHeaderCellStyles, TableHeaderCellStylesDefaults, TableHeaderStyles, TableRowStyles, TableStyles } from './components/table/styles.js';
|
|
110
|
+
export { TableBodyProps, TableCellProps, TableContextValue, TableHeaderCellProps, TableHeaderProps, TableProps, TableRowProps } from './components/table/types.js';
|
|
101
111
|
export { Tabs, TabsContext } from './components/tabs/index.js';
|
|
102
112
|
export { TabStyles } from './components/tabs/styles.js';
|
|
103
113
|
export { TabsProps } from './components/tabs/types.js';
|
|
@@ -107,6 +117,9 @@ export { TextAreaFieldProps } from './components/text-area-field/types.js';
|
|
|
107
117
|
export { TextField, TextFieldContext } from './components/text-field/index.js';
|
|
108
118
|
export { TextFieldStyles } from './components/text-field/styles.js';
|
|
109
119
|
export { TextFieldProps } from './components/text-field/types.js';
|
|
120
|
+
export { TimeField } from './components/time-field/index.js';
|
|
121
|
+
export { TimeFieldStyles, TimeFieldSylesDefaults } from './components/time-field/styles.js';
|
|
122
|
+
export { TimeFieldProps } from './components/time-field/types.js';
|
|
110
123
|
export { Tooltip, TooltipContext } from './components/tooltip/index.js';
|
|
111
124
|
export { TooltipStyles } from './components/tooltip/styles.js';
|
|
112
125
|
export { TooltipBodyProps, TooltipProps, TooltipTriggerProps } from './components/tooltip/types.js';
|
|
@@ -143,4 +156,10 @@ import './components/query-builder/group.js';
|
|
|
143
156
|
import './components/query-builder/rule.js';
|
|
144
157
|
import './components/query-builder/action-element.js';
|
|
145
158
|
import 'type-fest';
|
|
159
|
+
import './components/table/table-header-cell.js';
|
|
160
|
+
import './components/table/table-body.js';
|
|
161
|
+
import './components/table/table-cell.js';
|
|
162
|
+
import './components/table/table-header.js';
|
|
163
|
+
import './components/table/table-row.js';
|
|
164
|
+
import '@tanstack/react-table';
|
|
146
165
|
import 'clsx';
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{Accordion,AccordionContext}from'./components/accordion/index.js';export{AccordionStyles,AccordionStylesDefaults}from'./components/accordion/styles.js';export{ActionBar}from'./components/action-bar/index.js';export{ActionBarStyles}from'./components/action-bar/styles.js';export{Avatar,AvatarContext}from'./components/avatar/index.js';export{AvatarStyles}from'./components/avatar/styles.js';export{Badge,BadgeContext}from'./components/badge/index.js';export{BadgeStyles,BadgeStylesDefaults}from'./components/badge/styles.js';export{Button,ButtonContext,LinkButton,LinkButtonContext,ToggleButton,ToggleButtonContext}from'./components/button/index.js';export{ButtonStyles,ButtonStylesDefaults,LinkButtonStyles,ToggleButtonStyles}from'./components/button/styles.js';export{Checkbox,CheckboxContext,CheckboxGroupContext}from'./components/checkbox/index.js';export{CheckboxStyles}from'./components/checkbox/styles.js';export{Chip,ChipContext}from'./components/chip/index.js';export{BaseChipStyles,ChipStyles,ChipStylesDefaults,DeletableChipStyles,SelectableChipStyles}from'./components/chip/styles.js';export{ClassificationBadge,ClassificationBadgeContext}from'./components/classification-badge/index.js';export{ClassificationBadgeStyles,ClassificationBadgeStylesDefaults}from'./components/classification-badge/styles.js';export{ClassificationBanner,ClassificationBannerContext}from'./components/classification-banner/index.js';export{ClassificationBannerStyles,ClassificationBannerStylesDefaults}from'./components/classification-banner/styles.js';export{ColorPicker}from'./components/color-picker/index.js';export{ColorPickerStyles}from'./components/color-picker/styles.js';export{ComboBoxField,ComboBoxFieldContext}from'./components/combobox-field/index.js';export{ComboBoxStyles}from'./components/combobox-field/styles.js';export{DateField}from'./components/date-field/index.js';export{DateFieldStyles,DateFieldStylesDefaults}from'./components/date-field/styles.js';export{DetailsList,DetailsListContext}from'./components/details-list/index.js';export{DetailsListStyles,DetailsListStylesDefaults}from'./components/details-list/styles.js';export{Dialog,DialogContext}from'./components/dialog/index.js';export{DialogStyles}from'./components/dialog/styles.js';export{DrawerEventNamespace,DrawerEventTypes}from'./components/drawer/events.js';export{Drawer,DrawerContext,DrawerEventHandlers}from'./components/drawer/index.js';export{DrawerMenuStyles,DrawerMenuStylesDefaults,DrawerStyles,DrawerTitleStyles,DrawerTitleStylesDefaults}from'./components/drawer/styles.js';export{Hero,HeroContext}from'./components/hero/index.js';export{HeroStyles}from'./components/hero/styles.js';export{Hotkey,HotkeyContext}from'./components/hotkey/index.js';export{HotkeyStyles,HotkeyStylesDefaults}from'./components/hotkey/styles.js';export{Icon,IconContext}from'./components/icon/index.js';export{IconStyles}from'./components/icon/styles.js';export{Input,InputContext}from'./components/input/index.js';export{InputStyles,InputStylesDefaults}from'./components/input/styles.js';export{Label,LabelContext}from'./components/label/index.js';export{LabelStyles}from'./components/label/styles.js';export{Lines}from'./components/lines/index.js';export{LinesStyles}from'./components/lines/styles.js';export{Link}from'./components/link/index.js';export{LinkStyles}from'./components/link/styles.js';export{Menu,MenuContext}from'./components/menu/index.js';export{MenuStyles,MenuStylesDefaults}from'./components/menu/styles.js';export{Options,OptionsContext}from'./components/options/index.js';export{OptionsStyles}from'./components/options/styles.js';export{Popover}from'./components/popover/index.js';export{PopoverStyles}from'./components/popover/styles.js';export{QueryBuilder}from'./components/query-builder/index.js';export{Radio,RadioContext}from'./components/radio/index.js';export{RadioStyles}from'./components/radio/styles.js';export{SearchField,SearchFieldContext}from'./components/search-field/index.js';export{SearchFieldStyles,SearchFieldStylesDefaults}from'./components/search-field/styles.js';export{SelectField,SelectFieldContext}from'./components/select-field/index.js';export{SelectFieldStyles}from'./components/select-field/styles.js';export{SidenavEventNamespace,SidenavEventTypes}from'./components/sidenav/events.js';export{Sidenav}from'./components/sidenav/index.js';export{SidenavStyles}from'./components/sidenav/styles.js';export{Skeleton}from'./components/skeleton/index.js';export{SkeletonStyles,SkeletonStylesDefaults}from'./components/skeleton/styles.js';export{Slider}from'./components/slider/index.js';export{SliderStyles}from'./components/slider/styles.js';export{Switch,SwitchContext}from'./components/switch/index.js';export{SwitchStyles}from'./components/switch/styles.js';export{Tabs,TabsContext}from'./components/tabs/index.js';export{TabStyles}from'./components/tabs/styles.js';export{TextAreaField,TextAreaFieldContext}from'./components/text-area-field/index.js';export{TextAreaStyles}from'./components/text-area-field/styles.js';export{TextField,TextFieldContext}from'./components/text-field/index.js';export{TextFieldStyles}from'./components/text-field/styles.js';export{Tooltip,TooltipContext}from'./components/tooltip/index.js';export{TooltipStyles}from'./components/tooltip/styles.js';export{Tree,TreeContext,TreeItem,TreeItemContext}from'./components/tree/index.js';export{TreeStyles,TreeStylesDefaults}from'./components/tree/styles.js';export{ViewStackEventNamespace,ViewStackEventTypes}from'./components/view-stack/events.js';export{ViewStack,ViewStackContext,ViewStackEventHandlers}from'./components/view-stack/index.js';export{useTreeActions}from'./hooks/use-tree/actions/index.js';export{useTreeState}from'./hooks/use-tree/state/index.js';export{containsAnyOfExactChildren,containsExactChildren,expectsIconWrapper}from'./lib/react.js';export{cn,isSlottedContextValue,mergeVariants,tv,twMerge}from'./lib/utils.js';export{ThemeProvider,useTheme}from'./providers/theme-provider.js';export{designTokens}from'./tokens/tokens.js';//# sourceMappingURL=index.js.map
|
|
1
|
+
export{Accordion,AccordionContext}from'./components/accordion/index.js';export{AccordionStyles,AccordionStylesDefaults}from'./components/accordion/styles.js';export{ActionBar}from'./components/action-bar/index.js';export{ActionBarStyles}from'./components/action-bar/styles.js';export{Avatar,AvatarContext}from'./components/avatar/index.js';export{AvatarStyles}from'./components/avatar/styles.js';export{Badge,BadgeContext}from'./components/badge/index.js';export{BadgeStyles,BadgeStylesDefaults}from'./components/badge/styles.js';export{Breadcrumbs}from'./components/breadcrumbs/index.js';export{BreadcrumbsStyles}from'./components/breadcrumbs/styles.js';export{Button,ButtonContext,LinkButton,LinkButtonContext,ToggleButton,ToggleButtonContext}from'./components/button/index.js';export{ButtonStyles,ButtonStylesDefaults,LinkButtonStyles,ToggleButtonStyles}from'./components/button/styles.js';export{Checkbox,CheckboxContext,CheckboxGroupContext}from'./components/checkbox/index.js';export{CheckboxStyles}from'./components/checkbox/styles.js';export{Chip,ChipContext}from'./components/chip/index.js';export{BaseChipStyles,ChipStyles,ChipStylesDefaults,DeletableChipStyles,SelectableChipStyles}from'./components/chip/styles.js';export{ClassificationBadge,ClassificationBadgeContext}from'./components/classification-badge/index.js';export{ClassificationBadgeStyles,ClassificationBadgeStylesDefaults}from'./components/classification-badge/styles.js';export{ClassificationBanner,ClassificationBannerContext}from'./components/classification-banner/index.js';export{ClassificationBannerStyles,ClassificationBannerStylesDefaults}from'./components/classification-banner/styles.js';export{ColorPicker}from'./components/color-picker/index.js';export{ColorPickerStyles}from'./components/color-picker/styles.js';export{ComboBoxField,ComboBoxFieldContext}from'./components/combobox-field/index.js';export{ComboBoxStyles}from'./components/combobox-field/styles.js';export{DateField}from'./components/date-field/index.js';export{DateFieldStyles,DateFieldStylesDefaults}from'./components/date-field/styles.js';export{DetailsList,DetailsListContext}from'./components/details-list/index.js';export{DetailsListStyles,DetailsListStylesDefaults}from'./components/details-list/styles.js';export{Dialog,DialogContext}from'./components/dialog/index.js';export{DialogStyles}from'./components/dialog/styles.js';export{Divider,DividerContext}from'./components/divider/index.js';export{DividerStyles}from'./components/divider/styles.js';export{DrawerEventNamespace,DrawerEventTypes}from'./components/drawer/events.js';export{Drawer,DrawerContext,DrawerEventHandlers}from'./components/drawer/index.js';export{DrawerMenuStyles,DrawerMenuStylesDefaults,DrawerStyles,DrawerTitleStyles,DrawerTitleStylesDefaults}from'./components/drawer/styles.js';export{Hero,HeroContext}from'./components/hero/index.js';export{HeroStyles}from'./components/hero/styles.js';export{Hotkey,HotkeyContext}from'./components/hotkey/index.js';export{HotkeyStyles,HotkeyStylesDefaults}from'./components/hotkey/styles.js';export{Icon,IconContext}from'./components/icon/index.js';export{IconStyles}from'./components/icon/styles.js';export{Input,InputContext}from'./components/input/index.js';export{InputStyles,InputStylesDefaults}from'./components/input/styles.js';export{Label,LabelContext}from'./components/label/index.js';export{LabelStyles}from'./components/label/styles.js';export{Lines}from'./components/lines/index.js';export{LinesStyles}from'./components/lines/styles.js';export{Link}from'./components/link/index.js';export{LinkStyles}from'./components/link/styles.js';export{Menu,MenuContext}from'./components/menu/index.js';export{MenuStyles,MenuStylesDefaults}from'./components/menu/styles.js';export{Options,OptionsContext}from'./components/options/index.js';export{OptionsStyles}from'./components/options/styles.js';export{Popover}from'./components/popover/index.js';export{PopoverStyles}from'./components/popover/styles.js';export{QueryBuilder}from'./components/query-builder/index.js';export{Radio,RadioContext}from'./components/radio/index.js';export{RadioStyles}from'./components/radio/styles.js';export{SearchField,SearchFieldContext}from'./components/search-field/index.js';export{SearchFieldStyles,SearchFieldStylesDefaults}from'./components/search-field/styles.js';export{SelectField,SelectFieldContext}from'./components/select-field/index.js';export{SelectFieldStyles}from'./components/select-field/styles.js';export{SidenavEventNamespace,SidenavEventTypes}from'./components/sidenav/events.js';export{Sidenav}from'./components/sidenav/index.js';export{SidenavStyles}from'./components/sidenav/styles.js';export{Skeleton}from'./components/skeleton/index.js';export{SkeletonStyles,SkeletonStylesDefaults}from'./components/skeleton/styles.js';export{Slider}from'./components/slider/index.js';export{SliderStyles}from'./components/slider/styles.js';export{Switch,SwitchContext}from'./components/switch/index.js';export{SwitchStyles}from'./components/switch/styles.js';export{TableContext}from'./components/table/context.js';export{Table}from'./components/table/index.js';export{TableBodyStyles,TableCellStyles,TableCellStylesDefaults,TableHeaderCellStyles,TableHeaderCellStylesDefaults,TableHeaderStyles,TableRowStyles,TableStyles}from'./components/table/styles.js';export{Tabs,TabsContext}from'./components/tabs/index.js';export{TabStyles}from'./components/tabs/styles.js';export{TextAreaField,TextAreaFieldContext}from'./components/text-area-field/index.js';export{TextAreaStyles}from'./components/text-area-field/styles.js';export{TextField,TextFieldContext}from'./components/text-field/index.js';export{TextFieldStyles}from'./components/text-field/styles.js';export{TimeField}from'./components/time-field/index.js';export{TimeFieldStyles,TimeFieldSylesDefaults}from'./components/time-field/styles.js';export{Tooltip,TooltipContext}from'./components/tooltip/index.js';export{TooltipStyles}from'./components/tooltip/styles.js';export{Tree,TreeContext,TreeItem,TreeItemContext}from'./components/tree/index.js';export{TreeStyles,TreeStylesDefaults}from'./components/tree/styles.js';export{ViewStackEventNamespace,ViewStackEventTypes}from'./components/view-stack/events.js';export{ViewStack,ViewStackContext,ViewStackEventHandlers}from'./components/view-stack/index.js';export{useTreeActions}from'./hooks/use-tree/actions/index.js';export{useTreeState}from'./hooks/use-tree/state/index.js';export{containsAnyOfExactChildren,containsExactChildren,expectsIconWrapper}from'./lib/react.js';export{cn,isSlottedContextValue,mergeVariants,tv,twMerge}from'./lib/utils.js';export{ThemeProvider,useTheme}from'./providers/theme-provider.js';export{designTokens}from'./tokens/tokens.js';//# sourceMappingURL=index.js.map
|
|
2
2
|
//# sourceMappingURL=index.js.map
|