@pstdio/ui 0.44.0-nightly.20261018030230 → 0.44.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/{MermaidComponent-DIHl8p85.js → MermaidComponent-DhNTaUMt.js} +2 -2
- package/dist/{MermaidComponent-DIHl8p85.js.map → MermaidComponent-DhNTaUMt.js.map} +1 -1
- package/dist/apply-theme-preference-B0vCu8zY.d.ts +26 -0
- package/dist/chat-ui.d.ts +50 -50
- package/dist/chat-ui.js +143 -141
- package/dist/chat-ui.js.map +1 -1
- package/dist/{collection-view-fields-Sa5HO5P7.d.ts → collection-view-fields-tMtZmuhS.d.ts} +0 -2
- package/dist/{collection-view-grouping-aKZhxYfX.js → collection-view-grouping-BKIr4QAb.js} +2 -2
- package/dist/{collection-view-grouping-aKZhxYfX.js.map → collection-view-grouping-BKIr4QAb.js.map} +1 -1
- package/dist/{collection-view-search-mHPkdyxT.js → collection-view-search-D7HFymZW.js} +160 -166
- package/dist/collection-view-search-D7HFymZW.js.map +1 -0
- package/dist/collection-view.d.ts +3 -90
- package/dist/collection-view.js +1 -1
- package/dist/data-table.d.ts +3 -2
- package/dist/data-table.js +98 -88
- package/dist/data-table.js.map +1 -1
- package/dist/{diff-drawer-BMl0zobj.js → diff-drawer-ByJsQg8F.js} +10 -10
- package/dist/diff-drawer-ByJsQg8F.js.map +1 -0
- package/dist/{diff-viewer-C5KXwq7E.js → diff-viewer-Cpiw-1ut.js} +4 -4
- package/dist/{diff-viewer-C5KXwq7E.js.map → diff-viewer-Cpiw-1ut.js.map} +1 -1
- package/dist/diff.js +2 -2
- package/dist/{display-sort-control-0_gG-W9g.js → display-sort-control-BuqijDAl.js} +3 -3
- package/dist/{display-sort-control-0_gG-W9g.js.map → display-sort-control-BuqijDAl.js.map} +1 -1
- package/dist/{edit-mode-data-table-BI_UDPfF.js → edit-mode-data-table-BwNTRik5.js} +147 -136
- package/dist/edit-mode-data-table-BwNTRik5.js.map +1 -0
- package/dist/host-storage-28AkEy1N.js +98 -0
- package/dist/host-storage-28AkEy1N.js.map +1 -0
- package/dist/index-3H4B61XK.d.ts +38 -0
- package/dist/{index-BTABZd25.d.ts → index-DTjRTEez.d.ts} +2 -2
- package/dist/index-kYQwGcym.d.ts +91 -0
- package/dist/index.d.ts +114 -101
- package/dist/index.js +763 -761
- package/dist/index.js.map +1 -1
- package/dist/kanban-renderer.d.ts +2 -2
- package/dist/kanban-renderer.js +509 -494
- package/dist/kanban-renderer.js.map +1 -1
- package/dist/list-row-BDDAVuVd.js +1228 -0
- package/dist/list-row-BDDAVuVd.js.map +1 -0
- package/dist/{markdown-editor-Dx41ftfs.js → markdown-editor-DUBUE7M-.js} +150 -138
- package/dist/markdown-editor-DUBUE7M-.js.map +1 -0
- package/dist/{param-editor-C4IUuO77.js → param-editor-DK1uCOh3.js} +2 -2
- package/dist/{param-editor-C4IUuO77.js.map → param-editor-DK1uCOh3.js.map} +1 -1
- package/dist/{param-editor-field-uBStVJ48.js → param-editor-field-B5z6200g.js} +278 -282
- package/dist/param-editor-field-B5z6200g.js.map +1 -0
- package/dist/param-editor.js +2 -2
- package/dist/{rich-text-Dlv0q1r_.js → rich-text-2c_ra5gK.js} +3 -3
- package/dist/{rich-text-Dlv0q1r_.js.map → rich-text-2c_ra5gK.js.map} +1 -1
- package/dist/rich-text.js +3 -3
- package/dist/terminal.d.ts +28 -0
- package/dist/terminal.js +59 -32
- package/dist/terminal.js.map +1 -1
- package/dist/{theme-DJE3KvWt.js → theme-Chgjys_o.js} +124 -96
- package/dist/theme-Chgjys_o.js.map +1 -0
- package/dist/theme.d.ts +1 -1
- package/dist/theme.js +1 -1
- package/dist/{tree-list-Ces1hpRd.js → tree-list-B8Gtot1M.js} +99 -99
- package/dist/tree-list-B8Gtot1M.js.map +1 -0
- package/dist/{use-virtualizer-CfDHoDer.js → use-virtualizer-CqDYJolY.js} +8 -3
- package/dist/use-virtualizer-CqDYJolY.js.map +1 -0
- package/dist/{workspace-badge-CvQBU6Hs.d.ts → workspace-badge-BMjS8ii4.d.ts} +6 -1
- package/package.json +2 -2
- package/dist/collection-view-search-mHPkdyxT.js.map +0 -1
- package/dist/diff-drawer-BMl0zobj.js.map +0 -1
- package/dist/edit-mode-data-table-BI_UDPfF.js.map +0 -1
- package/dist/host-storage-BIo5azql.js +0 -31
- package/dist/host-storage-BIo5azql.js.map +0 -1
- package/dist/index-Dd6e8lU_.d.ts +0 -61
- package/dist/list-row-F8kBQGB-.js +0 -1232
- package/dist/list-row-F8kBQGB-.js.map +0 -1
- package/dist/markdown-editor-Dx41ftfs.js.map +0 -1
- package/dist/param-editor-field-uBStVJ48.js.map +0 -1
- package/dist/theme-DJE3KvWt.js.map +0 -1
- package/dist/tree-list-Ces1hpRd.js.map +0 -1
- package/dist/use-virtualizer-CfDHoDer.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-row-BDDAVuVd.js","names":["HStack","Icon","Menu","Portal","Check","ChevronRight","Fragment","ListRow","ResourceContextAction","ResourceMenuItemsProps","actions","onSelect","action","ResourceMenuItem","props","$","_c","items","isDisabled","t0","Symbol","for","placement","gutter","t1","t2","icon","label","t3","t4","endContent","isSelected","closeOnSelect","key","ResourceMenuItems","groups","Map","id","group","get","push","set","entries","map","index","actionIndex","separatorBefore","ResourceSubmenu","_c","Fragment","chakra","Menu","Portal","useMenu","useMenuContext","ComponentProps","ReactElement","ReactNode","useRef","ScrollArea","ResourceMenuItems","MenuRootProps","Root","ResourceContextAction","key","label","commandId","group","id","isSelected","onClick","Promise","items","isDisabled","icon","endContent","separatorBefore","closeOnSelect","ResourceContextMenuProps","actions","children","contentMinWidth","contentBackground","positioning","keepMountedWhenEmpty","ResourceActionMenuProps","ResourceMenuContent","props","$","_c","onSelect","menu","t0","Symbol","for","overscrollBehavior","tabIndex","t1","open","t2","t3","useResourceMenuActions","pendingAction","action","current","action_0","onExitComplete","ResourceActionMenu","undefined","placement","length","t4","t5","t6","ResourceContextMenu","keyboardTrigger","x","y","width","height","contextAnchor","t7","strategy","getAnchorRect","t8","trigger","requestAnimationFrame","focus","t9","onEscapeKeyDown","t10","api","getContextTriggerProps","triggerProps","t11","event","pointerType","stopPropagation","clientX","clientY","onPointerDown","t12","event_0","defaultPrevented","shiftKey","preventDefault","bounds","currentTarget","getBoundingClientRect","dispatchEvent","MouseEvent","bubbles","cancelable","left","bottom","target","HTMLElement","t13","event_1","onContextMenu","t14","t15","t16","t17","_c","ScrollArea","_Fragment","Box","HStack","Icon","Menu","Portal","Stack","Text","Fragment","ReactElement","useRef","ResourceContextAction","ResourceMenuItems","ListRowActionMenuItem","ListRowMenuPlacement","ListRowMenuProps","triggerId","items","open","placement","children","onOpenChange","onSelect","item","ListRowMenuItemIcon","props","$","_c","icon","t0","t1","ListRowMenu","undefined","pending","trigger","t2","Symbol","for","mainAxis","t3","offset","t4","details","t5","action","current","onClick","t6","t7","some","_temp","map","key","id","label","group","endContent","isDisabled","disabled","readOnly","separatorBefore","action_0","item_0","opacity","cursor","description","t8","t9","item_1","_c","_temp","Fragment","Tooltip","ChakraTooltip","Icon","Portal","ReactElement","useId","ResourceContextAction","ResourceContextMenu","ListRowItem","ListRowMenu","createResourceContextActions","items","NonNullable","map","entry","key","id","label","commandId","group","icon","endContent","isDisabled","disabled","separatorBefore","onClick","onAction","ListRowChromeProps","item","menuOpen","children","onMenuOpenChange","open","onMenuSelect","ListRowChrome","props","$","_c","generatedTriggerId","menuItems","length","t0","menuPlacement","triggerId","tooltip","trigger","t1","contextMenuItems","row","t2","t3","t4","_c","ChakraTooltip","HStack","StackProps","React","HeaderVariant","HeaderVariantStyles","h","px","headerVariantStyles","Record","main","narrow","input","HeaderProps","Omit","variant","Header","forwardRef","HTMLDivElement","props","ref","$","_c","children","rest","t0","undefined","t1","t2","_c","Input","InputGroup","Search","KeyboardEventHandler","Ref","Header","SearchableMenuInputProps","inputRef","HTMLInputElement","value","placeholder","onValueChange","onKeyDown","SearchableMenuInput","props","$","_c","t0","Symbol","for","t1","event","target","t2","event_0","key","stopPropagation","t3","_c","Box","HStack","Icon","Menu","Text","Check","ReactNode","ListRow","SearchableMenuItem","SearchableMenuRowProps","item","multiple","SearchableMenuRow","props","$","_c","iconSize","variant","t0","isSelected","secondaryLabel","undefined","endContent","t1","Symbol","for","t2","t3","bg","t4","t5","t6","icon","iconColor","label","t7","t8","id","isDisabled","tooltipLabel","content","t9","t10","Boolean","t11","onSelect","_c","Icon","Menu","Portal","ChevronDown","ElementType","ReactNode","useEffect","useRef","useState","Header","ListRow","ScrollArea","SearchableMenuInput","SearchableMenuRow","MenuRootProps","React","ComponentProps","Root","MenuContentProps","Content","SearchableMenuItem","id","label","searchText","secondaryLabel","tooltipLabel","icon","iconColor","variant","isDisabled","isSelected","onSelect","SearchableMenuParentList","items","T","selectedLabel","selectedIcon","ariaLabel","disabled","emptyState","filterItems","query","searchPlaceholder","showSearch","contentTestId","item","ListConfig","closeOnSelect","listId","SearchableMenuProps","trigger","header","width","maxListHeight","lazyMount","open","positioning","onOpenChange","onFocusOutside","portalled","parentList","multiple","filterSearchableMenuItems","normalizedQuery","trim","toLowerCase","filter","content","Boolean","join","includes","shouldResetSearchableMenuQuery","currentListId","nextListId","resolveActiveListConfig","isShowingParent","childConfig","SearchableMenu","props","$","_c","t0","t1","t2","t3","t4","t5","t6","t7","undefined","hasParentList","internalOpen","setInternalOpen","setQuery","activeList","setActiveList","inputRef","isOpen","config","filteredItems","previousListIdRef","current","t8","timeout","setTimeout","focus","clearTimeout","t9","details","handleOpenChange","t10","details_0","find","i","value","handleMenuItemSelect","t11","_temp","event_0","event","stopPropagation","_temp2","parentListHeader","resolvedHeader","shouldShowSeparator","searchInput","t12","t13","t14","t15","t16","t17","T0","t18","Symbol","for","overscrollBehavior","t19","t20","t21","length","map","item_0","t22","t23","t24","Positioner","menuPositioner","t25","t26","t27","t28","t29","_c","_temp","_temp2","parentListHeader","ScrollArea","IconButton","Menu","SearchableMenu","ListRow","ListRowAction","SearchableActionMenuProps","action","SearchableActionMenu","props","$","_c","t0","menuItems","t1","map","_temp","items","t2","icon","label","t3","searchPlaceholder","t4","emptyMenuLabel","t5","t6","_temp2","item","id","searchText","description","filter","Boolean","join","tooltipLabel","variant","const","onSelect","onAction","event","preventDefault","_c","_temp","_temp2","Box","HStack","IconButton","Menu","Portal","useRecipe","Fragment","ReactElement","Tooltip","ListRowAction","SearchableActionMenu","RowActionsProps","actions","context","sectionId","nodeId","alwaysVisible","keyedTooltip","action","child","tooltip","id","RowActions","props","$","_c","t0","undefined","t1","Symbol","for","key","accessoryRecipe","length","t2","t3","visibility","t4","t5","menuItems","label","icon","map","_temp2","event_0","event","stopPropagation","onAction","_temp","item","separatorBefore","description","disabled","readOnly","endContent","Tooltip","Fragment","_c","_temp2","_temp","Box","HStack","Icon","Stack","Text","useRecipe","ChevronDown","ChevronRight","Tooltip","ListRowItem","ListRowProps","RowContentProps","RowActions","createResourceRowActions","item","showContextMenuTrigger","contextMenuItems","length","actions","inlineMenuItems","flatMap","action","menuItems","id","label","icon","onAction","nodeId","inlineIds","Set","map","menuItem","resourceMenuItems","filter","has","index","separatorBefore","iconLabelGaps","Record","collection","tree","resolveLabelColor","input","isEmptyStateVariant","isDisabled","tone","RowLabel","props","$","_c","textStyle","color","t0","RowDescription","description","marginLeft","RowContent","isExpanded","showChevron","variant","labelId","Symbol","for","key","chevron","isDenseVariant","labelTextStyle","descriptionTextStyle","descriptionMarginLeft","iconPx","iconLabelGap","t1","labelColor","iconColor","descriptionColor","t2","t3","width","height","t4","indicator","tooltip","t5","t6","t7","t8","t9","ListRowContent","undefined","endContent","_c","Tooltip","_Fragment","chakra","ComponentPropsWithoutRef","ListRowProps","ListRowRootProps","div","computePaddingLeft","depth","undefined","isFixedHeightDenseVariant","variant","resolveListRowSizing","hasDescription","rowHeight","minHeight","createRowBackgroundProps","input","isSelected","selectedBg","hoverBg","tone","NonNullable","bg","_hover","outline","outlineColor","outlineOffset","_active","rowLabelIds","labelId","hasEndContent","createListRowRootProps","rootProps","rowRole","className","isExpanded","showChevron","verticalPadding","paddingLeft","isDisabled","interactiveCursor","props","role","width","minWidth","maxWidth","height","display","position","alignItems","justifyContent","gap","px","py","pl","borderRadius","startsWith","cursor","overflow","textAlign","color","textDecoration","chakra","forwardRef","ReactElement","KeyboardEvent","ReactKeyboardEvent","MouseEvent","ReactMouseEvent","useId","useState","ListRowItem","ListRowProps","ListRowChrome","ListRowContent","computePaddingLeft","createListRowRootProps","resolveListRowSizing","ListRow","HTMLElement","props","ref","$","_c","id","label","description","icon","iconColor","indicator","endContent","tooltip","disabled","isContainer","isNavigable","href","navigationIntent","menuItems","menuPlacement","contextMenuItems","actions","children","onActivate","depth","t0","isSelected","t1","isExpanded","t2","showExpandToggle","t3","showContextMenuTrigger","t4","variant","t5","tone","t6","selectedBg","t7","hoverBg","t8","asChild","t9","className","role","roleProp","onToggleExpand","onPointerMove","draggable","onDragStart","onDragOver","onDragEnd","onDrop","onClick","onKeyDown","rootProps","undefined","menuOpen","setMenuOpen","labelId","t10","item","t11","dragProps","hasChildren","length","hasMenuItems","hasActions","showChevron","isDisabled","t12","handleActivate","t13","event","defaultPrevented","preventDefault","_temp","handleClick","t14","event_0","target","currentTarget","key","_temp2","handleKeyDown","hasDescription","paddingLeft","verticalPadding","t15","activationProps","rowHeight","minHeight","rowRole","rowProps","hasEndContent","Boolean","t16","content","t17","children_0","menuItem","onAction","wrap","t18","t19","t20","tabIndex","t21","current","current_0","_c","Tooltip$1","React","Fragment$1","ResourceMenuItem","$","c","props","action","t0","t1","ChevronRight","t2","Menu","ListRow","t3","onSelect","ResourceSubmenu","t4","HStack","Icon","Check","ResourceMenuItems","groups","actions","id","group","index","actionIndex","Portal","ResourceMenuContent","menu","useMenuContext","ScrollArea$1","contentBackground","contentMinWidth","useResourceMenuActions","pendingAction","useRef","closeOnSelect","action_0","ResourceActionMenu","positioning","children","t5","t6","onExitComplete","ResourceContextMenu","keepMountedWhenEmpty","keyboardTrigger","contextAnchor","t7","t8","trigger","t9","useMenu","t10","triggerProps","t11","Fragment","event","t12","event_0","bounds","t13","event_1","t14","chakra","t15","t16","t17","ListRowMenuItemIcon","item","Box","ListRowMenu","placement","pending","triggerId","onOpenChange","details","items","_temp$4","item_0","Stack","Text","open","item_1","createResourceContextActions","entry","ListRowChrome","generatedTriggerId","useId","menuOpen","onMenuOpenChange","onMenuSelect","Tooltip","row","headerVariantStyles","Header","rest","ref","SearchableMenuInput","Search","onValueChange","onKeyDown","inputRef","placeholder","value","InputGroup","Input","SearchableMenuRow","iconSize","multiple","endContent","content","filterSearchableMenuItems","normalizedQuery","query","shouldResetSearchableMenuQuery","currentListId","nextListId","resolveActiveListConfig","isShowingParent","parentList","childConfig","SearchableMenu","filterItems","width","maxListHeight","showSearch","lazyMount","portalled","hasParentList","internalOpen","setInternalOpen","useState","setQuery","activeList","setActiveList","isOpen","config","listId","filteredItems","previousListIdRef","useEffect","timeout","handleOpenChange","i","details_0","handleMenuItemSelect","_temp$3","_temp2$3","ChevronDown","resolvedHeader","header","shouldShowSeparator","searchInput","T0","t18","t21","t22","t23","t24","menuPositioner","t25","t26","t27","t28","t29","onFocusOutside","current","SearchableActionMenu","_temp$2","IconButton","_temp2$2","keyedTooltip","child","RowActions","alwaysVisible","accessoryRecipe","useRecipe","context","_temp2$1","_temp$1","createResourceRowActions","contextMenuItems","showContextMenuTrigger","inlineMenuItems","inlineIds","menuItem","resourceMenuItems","iconLabelGaps","resolveLabelColor","input","RowLabel","label","color","textStyle","RowDescription","description","marginLeft","RowContent","chevron","isEmptyStateVariant","variant","isDenseVariant","labelTextStyle","descriptionTextStyle","descriptionMarginLeft","iconPx","iconLabelGap","isDisabled","tone","labelColor","iconColor","descriptionColor","isExpanded","showChevron","labelId","ListRowContent","computePaddingLeft","depth","isFixedHeightDenseVariant","resolveListRowSizing","hasDescription","createRowBackgroundProps","rowLabelIds","hasEndContent","createListRowRootProps","interactiveCursor","forwardRef","roleProp","rootProps","isSelected","showExpandToggle","selectedBg","hoverBg","asChild","setMenuOpen","disabled","href","icon","indicator","isContainer","isNavigable","menuItems","menuPlacement","navigationIntent","onActivate","tooltip","draggable","onDragEnd","onDragOver","onDragStart","onDrop","dragProps","hasChildren","hasMenuItems","hasActions","onToggleExpand","handleActivate","onClick","_temp","handleClick","_temp2","handleKeyDown","paddingLeft","verticalPadding","activationProps","rowRole","rowProps","children_0","wrap","onPointerMove","t19","t20","current_0"],"sources":["../src/components/overlays/resource-menu-items.tsx","../src/components/overlays/resource-context-menu.tsx","../src/components/list-row/list-row-menu.tsx","../src/components/list-row/list-row-chrome.tsx","../src/components/layout/header.tsx","../src/components/overlays/searchable-menu-input.tsx","../src/components/overlays/searchable-menu-row.tsx","../src/components/overlays/searchable-menu.tsx","../src/components/list-row/searchable-action-menu.tsx","../src/components/list-row/list-row-actions.tsx","../src/components/list-row/list-row-content.tsx","../src/components/list-row/list-row-root-props.ts","../src/components/list-row/list-row.tsx"],"sourcesContent":["import { HStack, Icon, Menu, Portal } from \"@chakra-ui/react\";\nimport { Check, ChevronRight } from \"lucide-react\";\nimport { Fragment } from \"react\";\nimport { ListRow } from \"../list-row/list-row\";\nimport type { ResourceContextAction } from \"./resource-context-menu\";\n\ninterface ResourceMenuItemsProps {\n actions: ResourceContextAction[];\n onSelect(action: ResourceContextAction): void;\n}\nconst ResourceMenuItem = (props: { action: ResourceContextAction; onSelect: ResourceMenuItemsProps[\"onSelect\"] }) => {\n const { action, onSelect } = props;\n if (action.items && !action.isDisabled)\n return (\n <Menu.Root positioning={{ placement: \"right-start\", gutter: 2 }} closeOnSelect={false}>\n <Menu.TriggerItem asChild>\n <ListRow\n asChild\n variant=\"full-width\"\n label={action.label}\n icon={action.icon}\n endContent={<ChevronRight size={14} />}\n />\n </Menu.TriggerItem>\n <ResourceSubmenu actions={action.items} onSelect={onSelect} />\n </Menu.Root>\n );\n return (\n <Menu.Item\n value={action.key}\n disabled={action.isDisabled}\n closeOnSelect={action.closeOnSelect}\n onSelect={() => onSelect(action)}\n asChild\n >\n <ListRow\n asChild\n variant=\"full-width\"\n label={action.label}\n icon={action.icon}\n endContent={\n action.isSelected ? (\n <HStack gap=\"xs\">\n {action.endContent}\n <Icon as={Check} boxSize=\"3.5\" />\n </HStack>\n ) : (\n action.endContent\n )\n }\n disabled={action.isDisabled}\n />\n </Menu.Item>\n );\n};\n\nexport const ResourceMenuItems = (props: ResourceMenuItemsProps) => {\n const { actions, onSelect } = props;\n const groups = new Map<string, { label?: string; actions: ResourceContextAction[] }>();\n for (const action of actions) {\n const id = action.group?.id ?? \"ungrouped\";\n const group = groups.get(id) ?? { label: action.group?.label, actions: [] };\n group.actions.push(action);\n groups.set(id, group);\n }\n return [...groups.entries()].map(([id, group], index) => (\n <Fragment key={id}>\n {index > 0 ? <Menu.Separator /> : null}\n <Menu.ItemGroup>\n {group.label ? <Menu.ItemGroupLabel>{group.label}</Menu.ItemGroupLabel> : null}\n {group.actions.map((action, actionIndex) => (\n <Fragment key={action.key}>\n {action.separatorBefore && actionIndex > 0 ? <Menu.Separator /> : null}\n <ResourceMenuItem action={action} onSelect={onSelect} />\n </Fragment>\n ))}\n </Menu.ItemGroup>\n </Fragment>\n ));\n};\n\nconst ResourceSubmenu = (props: ResourceMenuItemsProps) => (\n <Portal>\n <Menu.Positioner>\n <Menu.Content>\n <ResourceMenuItems {...props} />\n </Menu.Content>\n </Menu.Positioner>\n </Portal>\n);\n","import { chakra, Menu, Portal, useMenu, useMenuContext } from \"@chakra-ui/react\";\nimport { type ComponentProps, type ReactElement, type ReactNode, useRef } from \"react\";\nimport { ScrollArea } from \"@/components/primitives/scroll-area\";\nimport { ResourceMenuItems } from \"./resource-menu-items\";\n\ntype MenuRootProps = ComponentProps<typeof Menu.Root>;\n\nexport interface ResourceContextAction {\n key: string;\n label: string;\n commandId?: string;\n group?: { id: string; label?: string };\n isSelected?: boolean;\n onClick?: () => Promise<void> | void;\n /** Nested actions, opened by hover or the arrow keys. */\n items?: ResourceContextAction[];\n isDisabled?: boolean;\n icon?: ReactNode;\n endContent?: ReactNode;\n separatorBefore?: boolean;\n /** Override the menu's selection behavior for this action. */\n closeOnSelect?: boolean;\n}\n\ninterface ResourceContextMenuProps {\n actions: ResourceContextAction[];\n children: ReactNode;\n contentMinWidth?: string;\n contentBackground?: string;\n positioning?: MenuRootProps[\"positioning\"];\n /** Keep the menu open after selecting an item — useful for menus that toggle several entries in one pass. */\n closeOnSelect?: MenuRootProps[\"closeOnSelect\"];\n /** Preserve the trigger tree while actions load or change. */\n keepMountedWhenEmpty?: boolean;\n}\n\nexport interface ResourceActionMenuProps {\n actions: ResourceContextAction[];\n children: ReactElement;\n contentMinWidth?: string;\n contentBackground?: string;\n positioning?: MenuRootProps[\"positioning\"];\n closeOnSelect?: MenuRootProps[\"closeOnSelect\"];\n}\n\nconst ResourceMenuContent = (props: {\n actions: ResourceContextAction[];\n contentMinWidth: string;\n contentBackground: string;\n onSelect: (action: ResourceContextAction) => void;\n}) => {\n const { actions, contentBackground, contentMinWidth, onSelect } = props;\n const menu = useMenuContext();\n\n return (\n <Portal>\n <Menu.Positioner>\n {/* Long menus, such as Sidenav customization, scroll inside the space left in the viewport. */}\n <Menu.Content minW={contentMinWidth} bg={contentBackground} maxH=\"var(--available-height)\">\n <ScrollArea flex=\"1\" minH=\"0\" viewportProps={{ overscrollBehavior: \"contain\", tabIndex: -1 }}>\n {menu.open ? <ResourceMenuItems actions={actions} onSelect={onSelect} /> : null}\n </ScrollArea>\n </Menu.Content>\n </Menu.Positioner>\n </Portal>\n );\n};\n\nconst useResourceMenuActions = (closeOnSelect: boolean | undefined) => {\n const pendingAction = useRef<ResourceContextAction | null>(null);\n return {\n onSelect: (action: ResourceContextAction) => {\n if (action.closeOnSelect ?? closeOnSelect ?? true) pendingAction.current = action;\n else void action.onClick?.();\n },\n onExitComplete: () => {\n const action = pendingAction.current;\n pendingAction.current = null;\n // Closing menus finish their scheduled focus changes before an action focuses an input or dialog.\n void action?.onClick?.();\n },\n };\n};\n\nexport const ResourceActionMenu = (props: ResourceActionMenuProps) => {\n const {\n actions,\n children,\n contentMinWidth = \"17.5rem\",\n contentBackground = \"bg\",\n positioning = { placement: \"bottom-start\" },\n closeOnSelect,\n } = props;\n const { onSelect, onExitComplete } = useResourceMenuActions(closeOnSelect);\n\n if (actions.length === 0) return children;\n\n return (\n <Menu.Root positioning={positioning} closeOnSelect={closeOnSelect} onExitComplete={onExitComplete}>\n <Menu.Trigger asChild>{children}</Menu.Trigger>\n <ResourceMenuContent\n actions={actions}\n contentMinWidth={contentMinWidth}\n contentBackground={contentBackground}\n onSelect={onSelect}\n />\n </Menu.Root>\n );\n};\n\nexport const ResourceContextMenu = (props: ResourceContextMenuProps) => {\n const {\n actions,\n children,\n contentMinWidth = \"17.5rem\",\n contentBackground = \"bg\",\n positioning = { placement: \"bottom-start\" },\n closeOnSelect,\n keepMountedWhenEmpty = false,\n } = props;\n const { onSelect, onExitComplete } = useResourceMenuActions(closeOnSelect);\n const keyboardTrigger = useRef<HTMLElement | null>(null);\n const contextAnchor = useRef({ x: 0, y: 0, width: 0, height: 0 });\n const menu = useMenu({\n positioning: { ...positioning, strategy: \"fixed\", getAnchorRect: () => contextAnchor.current },\n closeOnSelect,\n onEscapeKeyDown: () => {\n // Positioned context menus do not restore trigger focus themselves.\n const trigger = keyboardTrigger.current;\n keyboardTrigger.current = null;\n if (trigger) requestAnimationFrame(() => trigger.focus());\n },\n });\n const triggerProps = menu.api.getContextTriggerProps();\n\n if (actions.length === 0 && !keepMountedWhenEmpty) {\n return <>{children}</>;\n }\n\n return (\n <>\n <chakra.div\n asChild\n {...triggerProps}\n onPointerDown={(event) => {\n if (actions.length === 0 || event.pointerType === \"mouse\") return;\n keyboardTrigger.current = null;\n // Only the nearest populated menu starts the shared touch-hold gesture.\n event.stopPropagation();\n contextAnchor.current = { x: event.clientX, y: event.clientY, width: 0, height: 0 };\n triggerProps.onPointerDown?.(event);\n }}\n onKeyDown={(event) => {\n if (event.defaultPrevented || actions.length === 0) return;\n if (event.key !== \"ContextMenu\" && !(event.shiftKey && event.key === \"F10\")) return;\n event.preventDefault();\n event.stopPropagation();\n const bounds = event.currentTarget.getBoundingClientRect();\n event.currentTarget.dispatchEvent(\n new MouseEvent(\"contextmenu\", {\n bubbles: true,\n cancelable: true,\n clientX: bounds.left,\n clientY: bounds.bottom,\n }),\n );\n // A context trigger may wrap the control that received the keyboard event.\n keyboardTrigger.current = event.target as HTMLElement;\n }}\n onContextMenu={(event) => {\n keyboardTrigger.current = null;\n if (actions.length > 0 && !event.defaultPrevented) {\n contextAnchor.current = { x: event.clientX, y: event.clientY, width: 0, height: 0 };\n event.stopPropagation();\n triggerProps.onContextMenu?.(event);\n }\n }}\n >\n {children}\n </chakra.div>\n {/* Descendant resource menus are independent menus, not submenus. */}\n <Menu.RootProvider value={menu} lazyMount unmountOnExit onExitComplete={onExitComplete}>\n {actions.length > 0 ? (\n <ResourceMenuContent\n actions={actions}\n contentMinWidth={contentMinWidth}\n contentBackground={contentBackground}\n onSelect={onSelect}\n />\n ) : null}\n </Menu.RootProvider>\n </>\n );\n};\n","import { Box, HStack, Icon, Menu, Portal, Stack, Text } from \"@chakra-ui/react\";\nimport { Fragment, type ReactElement, useRef } from \"react\";\nimport type { ResourceContextAction } from \"../overlays/resource-context-menu\";\nimport { ResourceMenuItems } from \"../overlays/resource-menu-items\";\nimport type { ListRowActionMenuItem, ListRowMenuPlacement } from \"./list-row.types\";\n\ninterface ListRowMenuProps {\n triggerId?: string;\n items: ListRowActionMenuItem[];\n open: boolean;\n placement?: ListRowMenuPlacement;\n children: ReactElement;\n onOpenChange: (open: boolean) => void;\n onSelect: (item: ListRowActionMenuItem) => void;\n}\n\nconst ListRowMenuItemIcon = (props: { item: ListRowActionMenuItem }) => {\n const { item } = props;\n if (!item.icon) return null;\n\n return (\n <Box color=\"fg.muted\" flexShrink={0} display=\"inline-flex\">\n {typeof item.icon === \"function\" ? <Icon as={item.icon} boxSize=\"14px\" /> : item.icon}\n </Box>\n );\n};\n\nexport const ListRowMenu = (props: ListRowMenuProps) => {\n const { children, items, onOpenChange, onSelect, open, placement = \"right-start\", triggerId } = props;\n const pending = useRef<ResourceContextAction | null>(null);\n\n return (\n <Menu.Root\n ids={{ trigger: triggerId }}\n open={open}\n positioning={{ placement, offset: { mainAxis: 4 } }}\n onOpenChange={(details) => onOpenChange(details.open)}\n onExitComplete={() => {\n const action = pending.current;\n pending.current = null;\n void action?.onClick?.();\n }}\n >\n <Menu.Trigger asChild>{children}</Menu.Trigger>\n <Portal>\n <Menu.Positioner>\n <Menu.Content minW=\"200px\" bg=\"bg\">\n {items.some((item) => item.group) ? (\n <ResourceMenuItems\n actions={items.map((item) => ({\n key: item.id,\n label: item.label,\n group: item.group,\n icon: typeof item.icon === \"function\" ? <Icon as={item.icon} boxSize=\"4\" /> : item.icon,\n endContent: item.endContent,\n isDisabled: item.disabled || item.readOnly,\n separatorBefore: item.separatorBefore,\n onClick: () => onSelect(item),\n }))}\n onSelect={(action) => {\n pending.current = action;\n }}\n />\n ) : (\n items.map((item) => (\n <Fragment key={item.id}>\n {item.separatorBefore ? <Menu.Separator /> : null}\n <Menu.Item\n value={item.id}\n disabled={item.disabled || item.readOnly}\n _disabled={item.readOnly ? { opacity: 1, cursor: \"default\" } : undefined}\n onClick={() => {\n if (!item.readOnly) onSelect(item);\n }}\n >\n <HStack gap=\"2\" minW=\"0\" w=\"full\" justify=\"space-between\" alignItems=\"center\">\n <HStack gap=\"2\" minW=\"0\" flex=\"1\" alignItems={item.description ? \"flex-start\" : \"center\"}>\n <ListRowMenuItemIcon item={item} />\n <Stack gap=\"0\" minW=\"0\">\n <Text textStyle=\"label/S/regular\" truncate>\n {item.label}\n </Text>\n {item.description ? (\n <Text textStyle=\"label/XS\" color=\"fg.menu-item.secondary\" truncate>\n {item.description}\n </Text>\n ) : null}\n </Stack>\n </HStack>\n {item.endContent ? <Box flexShrink={0}>{item.endContent}</Box> : null}\n </HStack>\n </Menu.Item>\n </Fragment>\n ))\n )}\n </Menu.Content>\n </Menu.Positioner>\n </Portal>\n </Menu.Root>\n );\n};\n","import { Tooltip as ChakraTooltip, Icon, Portal } from \"@chakra-ui/react\";\nimport { type ReactElement, useId } from \"react\";\nimport { type ResourceContextAction, ResourceContextMenu } from \"@/components/overlays/resource-context-menu\";\nimport type { ListRowItem } from \"./list-row.types\";\nimport { ListRowMenu } from \"./list-row-menu\";\n\nexport const createResourceContextActions = (\n items: NonNullable<ListRowItem[\"contextMenuItems\"]>,\n): ResourceContextAction[] =>\n items.map((entry) => ({\n key: entry.id,\n label: entry.label,\n commandId: entry.commandId,\n group: entry.group,\n icon: typeof entry.icon === \"function\" ? <Icon as={entry.icon} boxSize=\"16px\" /> : entry.icon,\n endContent: entry.endContent,\n isDisabled: entry.disabled,\n separatorBefore: entry.separatorBefore,\n onClick: () => entry.onAction?.(),\n }));\n\ninterface ListRowChromeProps {\n item: ListRowItem;\n menuOpen: boolean;\n children: ReactElement;\n onMenuOpenChange: (open: boolean) => void;\n onMenuSelect: (item: NonNullable<ListRowItem[\"menuItems\"]>[number]) => void;\n}\n\nexport const ListRowChrome = (props: ListRowChromeProps) => {\n const { children, item, menuOpen, onMenuOpenChange, onMenuSelect } = props;\n const generatedTriggerId = useId();\n\n if (item.menuItems && item.menuItems.length > 0) {\n return (\n <ListRowMenu\n triggerId={item.id}\n items={item.menuItems}\n open={menuOpen}\n placement={item.menuPlacement}\n onOpenChange={onMenuOpenChange}\n onSelect={onMenuSelect}\n >\n {children}\n </ListRowMenu>\n );\n }\n\n // The context menu clones its direct child, so the tooltip trigger part must be that child: both then attach\n // their handlers to the row. The row keeps its own id when the props merge, so the tooltip finds it by that id.\n const triggerId = (children.props as { id?: string }).id ?? generatedTriggerId;\n const trigger = item.tooltip ? (\n <ChakraTooltip.Trigger asChild id={triggerId}>\n {children}\n </ChakraTooltip.Trigger>\n ) : (\n children\n );\n const row =\n item.contextMenuItems && item.contextMenuItems.length > 0 ? (\n <ResourceContextMenu actions={createResourceContextActions(item.contextMenuItems)}>{trigger}</ResourceContextMenu>\n ) : (\n trigger\n );\n if (!item.tooltip) return row;\n\n return (\n <ChakraTooltip.Root openDelay={100} closeDelay={100} ids={{ trigger: triggerId }}>\n {row}\n <Portal>\n <ChakraTooltip.Positioner>\n <ChakraTooltip.Content>{item.tooltip}</ChakraTooltip.Content>\n </ChakraTooltip.Positioner>\n </Portal>\n </ChakraTooltip.Root>\n );\n};\n","import { HStack, type StackProps } from \"@chakra-ui/react\";\nimport * as React from \"react\";\n\nexport type HeaderVariant = \"main\" | \"narrow\" | \"input\";\n\ninterface HeaderVariantStyles {\n h: string;\n px: string;\n}\n\nconst headerVariantStyles: Record<HeaderVariant, HeaderVariantStyles> = {\n main: {\n h: \"2.5rem\",\n px: \"xs\",\n },\n narrow: {\n h: \"2rem\",\n px: \"xs\",\n },\n input: {\n h: \"3rem\",\n px: \"0\",\n },\n};\n\nexport interface HeaderProps extends Omit<StackProps, \"variant\"> {\n variant?: HeaderVariant;\n}\n\nexport const Header = React.forwardRef<HTMLDivElement, HeaderProps>(function Header(props, ref) {\n const { variant = \"main\", children, ...rest } = props;\n\n return (\n <HStack ref={ref} as=\"header\" alignItems=\"center\" borderWidth=\"0\" {...headerVariantStyles[variant]} {...rest}>\n {children}\n </HStack>\n );\n});\n","import { Input, InputGroup } from \"@chakra-ui/react\";\nimport { Search } from \"lucide-react\";\nimport type { KeyboardEventHandler, Ref } from \"react\";\nimport { Header } from \"@/components/layout/header\";\n\ninterface SearchableMenuInputProps {\n inputRef?: Ref<HTMLInputElement>;\n value: string;\n placeholder: string;\n onValueChange: (value: string) => void;\n onKeyDown?: KeyboardEventHandler<HTMLInputElement>;\n}\n\nexport const SearchableMenuInput = (props: SearchableMenuInputProps) => {\n const { inputRef, value, placeholder, onValueChange, onKeyDown } = props;\n\n return (\n <Header variant=\"input\" borderBottomWidth=\"1px\" borderColor=\"border.subtle\" flexShrink={0}>\n <InputGroup startElement={<Search size={14} />} width=\"full\">\n <Input\n ref={inputRef}\n mx=\"xs\"\n variant=\"borderless\"\n value={value}\n placeholder={placeholder}\n aria-label={placeholder}\n autoComplete=\"off\"\n onChange={(event) => onValueChange(event.target.value)}\n onKeyDown={(event) => {\n onKeyDown?.(event);\n if (!onKeyDown || event.key !== \"Escape\") event.stopPropagation();\n }}\n />\n </InputGroup>\n </Header>\n );\n};\n","import { Box, HStack, Icon, Menu, Text } from \"@chakra-ui/react\";\nimport { Check } from \"lucide-react\";\nimport type { ReactNode } from \"react\";\nimport { ListRow } from \"@/components/list-row/list-row\";\nimport type { SearchableMenuItem } from \"./searchable-menu\";\n\ninterface SearchableMenuRowProps {\n item: SearchableMenuItem;\n multiple: boolean;\n}\n\nexport const SearchableMenuRow = (props: SearchableMenuRowProps) => {\n const { item, multiple } = props;\n const iconSize = item.variant === \"compact\" ? \"3\" : \"3.5\";\n let endContent: ReactNode = multiple ? (\n <HStack gap=\"xs\">\n {item.secondaryLabel}\n {item.isSelected ? <Icon as={Check} boxSize=\"3.5\" /> : null}\n </HStack>\n ) : undefined;\n if (!multiple && item.isSelected) endContent = <Icon as={Check} boxSize=\"3.5\" />;\n const content = (\n <Box\n bg=\"transparent\"\n h=\"auto\"\n p=\"0\"\n _hover={{ bg: \"transparent\" }}\n _focus={{ bg: \"transparent\" }}\n _active={{ bg: \"transparent\" }}\n >\n <ListRow\n asChild\n id={item.id}\n role=\"presentation\"\n variant={item.variant ?? \"full-width\"}\n disabled={item.isDisabled}\n tooltip={item.tooltipLabel}\n description={multiple ? undefined : item.secondaryLabel}\n label={\n multiple ? (\n <HStack minW=\"0\" gap=\"xs\">\n {item.icon ? <Icon as={item.icon} boxSize={iconSize} color={item.iconColor ?? \"fg.muted\"} /> : null}\n <Text textStyle=\"label/S/regular\" truncate>\n {item.label}\n </Text>\n </HStack>\n ) : (\n item.label\n )\n }\n icon={\n !multiple && item.icon ? (\n <Icon as={item.icon} boxSize={iconSize} color={item.iconColor ?? \"fg.muted\"} />\n ) : undefined\n }\n endContent={endContent}\n />\n </Box>\n );\n if (multiple)\n return (\n <Menu.CheckboxItem\n value={item.id}\n checked={Boolean(item.isSelected)}\n disabled={item.isDisabled}\n onCheckedChange={item.onSelect}\n asChild\n >\n {content}\n </Menu.CheckboxItem>\n );\n return (\n <Menu.Item value={item.id} disabled={item.isDisabled} onSelect={item.onSelect} asChild>\n {content}\n </Menu.Item>\n );\n};\n","import { Icon, Menu, Portal } from \"@chakra-ui/react\";\nimport { ChevronDown } from \"lucide-react\";\nimport { type ElementType, type ReactNode, useEffect, useRef, useState } from \"react\";\nimport { Header } from \"@/components/layout/header\";\nimport { ListRow } from \"@/components/list-row/list-row\";\nimport { ScrollArea } from \"@/components/primitives/scroll-area\";\nimport { SearchableMenuInput } from \"./searchable-menu-input\";\nimport { SearchableMenuRow } from \"./searchable-menu-row\";\n\ntype MenuRootProps = React.ComponentProps<typeof Menu.Root>;\ntype MenuContentProps = React.ComponentProps<typeof Menu.Content>;\n\nexport interface SearchableMenuItem {\n id: string;\n label: string;\n searchText?: string;\n secondaryLabel?: string;\n tooltipLabel?: ReactNode;\n icon?: ElementType;\n iconColor?: string;\n variant?: \"default\" | \"compact\" | \"full-width\";\n isDisabled?: boolean;\n isSelected?: boolean;\n onSelect?: () => void;\n}\n\nexport interface SearchableMenuParentList<T extends SearchableMenuItem> {\n items: T[];\n selectedLabel: string;\n selectedIcon?: ElementType;\n ariaLabel?: string;\n disabled?: boolean;\n emptyState?: ReactNode;\n filterItems?: (items: T[], query: string) => T[];\n searchPlaceholder?: string;\n showSearch?: boolean;\n contentTestId?: string;\n onSelect?: (item: T) => void;\n}\n\ninterface ListConfig<T extends SearchableMenuItem> {\n items: T[];\n filterItems: (items: T[], query: string) => T[];\n showSearch: boolean;\n searchPlaceholder: string;\n emptyState: ReactNode;\n contentTestId?: string;\n closeOnSelect: boolean;\n listId: string;\n}\n\ninterface SearchableMenuProps<T extends SearchableMenuItem> {\n trigger: ReactNode;\n items: T[];\n searchPlaceholder: string;\n emptyState: ReactNode;\n filterItems?: (items: T[], query: string) => T[];\n listId?: string;\n header?: ReactNode;\n width?: MenuContentProps[\"width\"];\n maxListHeight?: string;\n showSearch?: boolean;\n closeOnSelect?: MenuRootProps[\"closeOnSelect\"];\n lazyMount?: MenuRootProps[\"lazyMount\"];\n open?: MenuRootProps[\"open\"];\n positioning?: MenuRootProps[\"positioning\"];\n onOpenChange?: MenuRootProps[\"onOpenChange\"];\n onFocusOutside?: MenuRootProps[\"onFocusOutside\"];\n contentTestId?: string;\n portalled?: boolean;\n parentList?: SearchableMenuParentList<T>;\n multiple?: boolean;\n}\n\nexport const filterSearchableMenuItems = <T extends SearchableMenuItem>(items: T[], query: string) => {\n const normalizedQuery = query.trim().toLowerCase();\n\n if (!normalizedQuery) {\n return items;\n }\n\n return items.filter((item) => {\n const content = [item.label, item.searchText].filter(Boolean).join(\" \").toLowerCase();\n return content.includes(normalizedQuery);\n });\n};\n\nexport const shouldResetSearchableMenuQuery = (currentListId?: string, nextListId?: string) => {\n if (!currentListId || !nextListId) {\n return false;\n }\n\n return currentListId !== nextListId;\n};\n\nexport const resolveActiveListConfig = <T extends SearchableMenuItem>(\n isShowingParent: boolean,\n parentList: SearchableMenuParentList<T> | undefined,\n childConfig: ListConfig<T>,\n): ListConfig<T> => {\n if (!isShowingParent || !parentList) {\n return childConfig;\n }\n\n return {\n items: parentList.items,\n filterItems: parentList.filterItems ?? childConfig.filterItems,\n showSearch: parentList.showSearch ?? childConfig.showSearch,\n searchPlaceholder: parentList.searchPlaceholder ?? childConfig.searchPlaceholder,\n emptyState: parentList.emptyState ?? childConfig.emptyState,\n contentTestId: parentList.contentTestId ?? childConfig.contentTestId,\n closeOnSelect: false,\n listId: \"parent\",\n };\n};\n\nexport const SearchableMenu = <T extends SearchableMenuItem>(props: SearchableMenuProps<T>) => {\n const {\n trigger,\n items,\n searchPlaceholder,\n emptyState,\n filterItems = filterSearchableMenuItems,\n listId,\n header,\n width = \"260px\",\n maxListHeight = \"18rem\",\n showSearch = true,\n closeOnSelect = true,\n lazyMount = false,\n open,\n positioning,\n onOpenChange,\n onFocusOutside,\n contentTestId,\n portalled = true,\n parentList,\n multiple = false,\n } = props;\n const hasParentList = Boolean(parentList);\n const [internalOpen, setInternalOpen] = useState(false);\n const [query, setQuery] = useState(\"\");\n const [activeList, setActiveList] = useState<\"child\" | \"parent\">(\"child\");\n const inputRef = useRef<HTMLInputElement>(null);\n const isOpen = open ?? internalOpen;\n const isShowingParent = hasParentList && activeList === \"parent\";\n\n const childConfig: ListConfig<T> = {\n items,\n filterItems,\n showSearch,\n searchPlaceholder,\n emptyState,\n contentTestId,\n closeOnSelect,\n listId: hasParentList ? \"child\" : (listId ?? \"\"),\n };\n\n const config = resolveActiveListConfig(isShowingParent, parentList, childConfig);\n const filteredItems = config.filterItems(config.items, query);\n const previousListIdRef = useRef(config.listId);\n\n useEffect(() => {\n if (!isOpen) {\n previousListIdRef.current = config.listId;\n return;\n }\n\n if (shouldResetSearchableMenuQuery(previousListIdRef.current, config.listId)) {\n setQuery(\"\");\n }\n\n previousListIdRef.current = config.listId;\n }, [isOpen, config.listId]);\n\n useEffect(() => {\n if (!isOpen || !config.showSearch) {\n return;\n }\n\n const timeout = setTimeout(() => inputRef.current?.focus(), 0);\n return () => clearTimeout(timeout);\n }, [isOpen, config.showSearch]);\n\n const handleOpenChange: NonNullable<MenuRootProps[\"onOpenChange\"]> = (details) => {\n if (open === undefined) {\n setInternalOpen(details.open);\n }\n\n setQuery(\"\");\n\n if (details.open && hasParentList) {\n setActiveList(\"child\");\n }\n\n onOpenChange?.(details);\n };\n\n const handleMenuItemSelect = (details: { value: string }) => {\n if (!isShowingParent || !parentList) return;\n\n const item = parentList.items.find((i) => i.id === details.value);\n if (!item) return;\n\n parentList.onSelect?.(item);\n setActiveList(\"child\");\n };\n\n const parentListHeader = parentList ? (\n <Header\n as=\"div\"\n role=\"menuitem\"\n aria-label={parentList.ariaLabel}\n aria-disabled={parentList.disabled || undefined}\n tabIndex={parentList.disabled ? -1 : 0}\n variant=\"narrow\"\n px=\"0\"\n borderBottomWidth=\"1px\"\n borderColor=\"border.subtle\"\n flexShrink={0}\n onPointerDownCapture={(event) => event.stopPropagation()}\n onClickCapture={(event) => {\n event.stopPropagation();\n if (parentList.disabled) return;\n setActiveList((current) => (current === \"child\" ? \"parent\" : \"child\"));\n }}\n >\n <ListRow\n asChild\n role=\"presentation\"\n variant=\"full-width\"\n id=\"__parent-toggle\"\n label={parentList.selectedLabel}\n icon={parentList.selectedIcon ? <Icon as={parentList.selectedIcon} boxSize=\"14px\" /> : undefined}\n disabled={parentList.disabled}\n endContent={parentList.disabled ? undefined : <Icon as={ChevronDown} boxSize=\"14px\" />}\n />\n </Header>\n ) : null;\n\n const resolvedHeader = parentList ? parentListHeader : header;\n const shouldShowSeparator = Boolean(resolvedHeader) && !config.showSearch;\n\n const searchInput = config.showSearch ? (\n <SearchableMenuInput\n inputRef={inputRef}\n value={query}\n placeholder={config.searchPlaceholder}\n onValueChange={setQuery}\n />\n ) : null;\n\n const menuPositioner = (\n <Menu.Positioner>\n <Menu.Content w={width} bg=\"bg\" gap=\"0\" p=\"0\">\n {resolvedHeader}\n {searchInput}\n {shouldShowSeparator ? <Menu.Separator margin=\"0\" /> : null}\n <ScrollArea\n maxH={maxListHeight}\n data-testid={config.contentTestId}\n viewportProps={{ overscrollBehavior: \"contain\" }}\n p=\"0\"\n gap=\"0\"\n >\n {filteredItems.length > 0\n ? filteredItems.map((item) => (\n <SearchableMenuRow key={item.id} item={item} multiple={multiple && !isShowingParent} />\n ))\n : config.emptyState}\n </ScrollArea>\n </Menu.Content>\n </Menu.Positioner>\n );\n\n return (\n <Menu.Root\n lazyMount={lazyMount}\n closeOnSelect={config.closeOnSelect}\n open={open}\n positioning={positioning}\n onOpenChange={handleOpenChange}\n onFocusOutside={onFocusOutside}\n onSelect={hasParentList ? handleMenuItemSelect : undefined}\n >\n <Menu.Trigger asChild>{trigger}</Menu.Trigger>\n <Portal disabled={!portalled}>{menuPositioner}</Portal>\n </Menu.Root>\n );\n};\n","import { IconButton, Menu } from \"@chakra-ui/react\";\nimport { SearchableMenu } from \"@/components/overlays/searchable-menu\";\nimport { ListRow } from \"./list-row\";\nimport type { ListRowAction } from \"./list-row.types\";\n\ninterface SearchableActionMenuProps {\n action: ListRowAction;\n}\n\nexport const SearchableActionMenu = (props: SearchableActionMenuProps) => {\n const { action } = props;\n const items = (action.menuItems ?? []).map((item) => ({\n id: item.id,\n label: item.label,\n searchText: [item.label, item.description].filter(Boolean).join(\" \"),\n tooltipLabel: item.description,\n variant: \"full-width\" as const,\n onSelect: () => item.onAction?.(),\n }));\n\n return (\n <SearchableMenu\n trigger={\n <IconButton variant=\"ghost\" size=\"2xs\" aria-label={action.label}>\n {action.icon}\n </IconButton>\n }\n items={items}\n searchPlaceholder={action.searchPlaceholder ?? \"Search...\"}\n emptyState={\n <Menu.Item value=\"empty\" asChild>\n <ListRow asChild variant=\"full-width\" label={action.emptyMenuLabel ?? \"No results found\"} disabled />\n </Menu.Item>\n }\n onFocusOutside={(event) => event.preventDefault()}\n />\n );\n};\n","import { Box, HStack, IconButton, Menu, Portal, useRecipe } from \"@chakra-ui/react\";\nimport { Fragment, type ReactElement } from \"react\";\nimport { Tooltip } from \"@/components/primitives/tooltip\";\nimport type { ListRowAction } from \"./list-row.types\";\nimport { SearchableActionMenu } from \"./searchable-action-menu\";\n\ninterface RowActionsProps {\n actions: ListRowAction[];\n context: { sectionId?: string; nodeId?: string };\n alwaysVisible?: boolean;\n}\n\nconst keyedTooltip = (action: ListRowAction, child: ReactElement) => {\n if (action.tooltip) {\n return (\n <Tooltip key={action.id} content={action.tooltip} openDelay={300}>\n {child}\n </Tooltip>\n );\n }\n return <Fragment key={action.id}>{child}</Fragment>;\n};\n\nexport const RowActions = (props: RowActionsProps) => {\n const { actions, alwaysVisible = false, context } = props;\n const accessoryRecipe = useRecipe({ key: \"listRowAccessory\" });\n if (actions.length === 0) return null;\n\n return (\n <HStack\n gap=\"0\"\n css={accessoryRecipe({ visibility: alwaysVisible ? \"always\" : \"hover\" })}\n onClick={(event) => event.stopPropagation()}\n >\n {actions.map((action) => {\n if (action.menuItems && action.menuItems.length >= 8) {\n return <SearchableActionMenu key={action.id} action={action} />;\n }\n\n if (action.menuItems && action.menuItems.length > 0) {\n return keyedTooltip(\n action,\n <Menu.Root>\n <Menu.Trigger asChild>\n <IconButton variant=\"ghost\" size=\"2xs\" aria-label={action.label}>\n {action.icon}\n </IconButton>\n </Menu.Trigger>\n <Portal>\n <Menu.Positioner>\n <Menu.Content minW=\"160px\" bg=\"bg\">\n {action.menuItems.map((item) => (\n <Fragment key={item.id}>\n {item.separatorBefore ? <Menu.Separator /> : null}\n <Tooltip content={item.description} disabled={!item.description} openDelay={300}>\n <Menu.Item\n value={item.id}\n disabled={item.disabled || item.readOnly}\n onClick={() => {\n if (!item.readOnly) item.onAction?.();\n }}\n >\n <HStack gap=\"2\" minW=\"0\" w=\"full\" justify=\"space-between\">\n <HStack gap=\"2\" minW=\"0\">\n {item.icon ? <Box>{item.icon as never}</Box> : null}\n <Box minW=\"0\">{item.label}</Box>\n </HStack>\n {item.endContent ? <Box flexShrink={0}>{item.endContent}</Box> : null}\n </HStack>\n </Menu.Item>\n </Tooltip>\n </Fragment>\n ))}\n </Menu.Content>\n </Menu.Positioner>\n </Portal>\n </Menu.Root>,\n );\n }\n\n return keyedTooltip(\n action,\n <IconButton\n variant=\"ghost\"\n size=\"2xs\"\n aria-label={action.label}\n onClick={(event) => {\n event.stopPropagation();\n action.onAction?.(context);\n }}\n >\n {action.icon}\n </IconButton>,\n );\n })}\n </HStack>\n );\n};\n","import { Box, HStack, Icon, Stack, Text, useRecipe } from \"@chakra-ui/react\";\nimport { ChevronDown, ChevronRight } from \"lucide-react\";\nimport { Tooltip } from \"@/components/primitives/tooltip\";\nimport type { ListRowItem, ListRowProps, RowContentProps } from \"./list-row.types\";\nimport { RowActions } from \"./list-row-actions\";\n\nexport const createResourceRowActions = (item: ListRowItem, showContextMenuTrigger = false) => {\n const contextMenuItems = item.contextMenuItems ?? [];\n if (contextMenuItems.length === 0 || !showContextMenuTrigger) return item.actions ?? [];\n\n const inlineMenuItems =\n item.actions?.flatMap((action) =>\n action.menuItems?.length\n ? action.menuItems\n : [\n {\n id: action.id,\n label: action.label,\n icon: action.icon,\n onAction: () => action.onAction?.({ nodeId: item.id }),\n },\n ],\n ) ?? [];\n const inlineIds = new Set(inlineMenuItems.map((menuItem) => menuItem.id));\n const resourceMenuItems = contextMenuItems\n .filter((menuItem) => !inlineIds.has(menuItem.id))\n .map((menuItem, index) => ({\n ...menuItem,\n separatorBefore: menuItem.separatorBefore || (index === 0 && inlineMenuItems.length > 0),\n }));\n\n return [\n {\n id: \"resource-actions\",\n label: \"Resource actions\",\n icon: <Icon as={ChevronDown} boxSize=\"14px\" />,\n menuItems: [...inlineMenuItems, ...resourceMenuItems],\n },\n ];\n};\n\nconst iconLabelGaps: Record<string, string> = { collection: \"compact\", tree: \"1\" };\n\nconst resolveLabelColor = (input: {\n isEmptyStateVariant: boolean;\n isDisabled: boolean;\n tone: ListRowProps[\"tone\"];\n}) => {\n if (input.isEmptyStateVariant) return \"fg.menu-item.secondary\";\n if (input.isDisabled) return \"fg.muted\";\n if (input.tone === \"danger\") return \"red.500\";\n return \"fg\";\n};\n\nconst RowLabel = (props: { label: ListRowItem[\"label\"]; textStyle: string; color: string }) => {\n const { label, textStyle, color } = props;\n\n if (typeof label === \"string\") {\n return (\n <Text textStyle={textStyle} color={color} truncate>\n {label}\n </Text>\n );\n }\n\n return (\n <Box minW=\"0\" maxW=\"full\" overflow=\"hidden\" color={color}>\n {label}\n </Box>\n );\n};\n\nconst RowDescription = (props: {\n description: ListRowItem[\"description\"];\n textStyle: string;\n color: string;\n marginLeft: string;\n}) => {\n const { description, textStyle, color, marginLeft } = props;\n if (!description) return null;\n\n if (typeof description === \"string\") {\n return (\n <Text ml={marginLeft} textStyle={textStyle} color={color} truncate>\n {description}\n </Text>\n );\n }\n\n return (\n <Box ml={marginLeft} minW=\"0\" maxW=\"full\" overflow=\"hidden\">\n {description}\n </Box>\n );\n};\n\nconst RowContent = (props: RowContentProps & { labelId: string }) => {\n const { item, isExpanded, showChevron, isDisabled, variant, tone, labelId } = props;\n const chevron = useRecipe({ key: \"treeChevron\" });\n const isEmptyStateVariant = variant === \"empty-state\";\n const isDenseVariant =\n variant === \"compact\" ||\n variant === \"collection\" ||\n variant === \"full-width\" ||\n variant === \"tree\" ||\n isEmptyStateVariant;\n const labelTextStyle = isDenseVariant ? \"label/S/regular\" : \"label/M/regular\";\n const descriptionTextStyle = isDenseVariant ? \"label/XS\" : \"label/S/regular\";\n const descriptionMarginLeft = isDenseVariant ? \"0\" : \"2px\";\n const iconPx = variant === \"tree\" || variant === \"collection\" ? \"16px\" : \"14px\";\n const iconLabelGap = iconLabelGaps[variant ?? \"\"] ?? \"2\";\n\n const labelColor = resolveLabelColor({\n isEmptyStateVariant,\n isDisabled,\n tone,\n });\n const iconColor = item.iconColor ?? (tone === \"danger\" ? \"red.500\" : \"fg.muted\");\n const descriptionColor = tone === \"danger\" ? \"red.400\" : \"fg.menu-item.secondary\";\n\n return (\n <HStack id={labelId} gap=\"2\" minW=\"0\" flex=\"1\" overflow=\"hidden\" alignItems=\"center\">\n {showChevron ? (\n <Box color=\"fg.muted\" flexShrink={0} display=\"flex\" alignItems=\"center\">\n <Icon as={ChevronRight} boxSize=\"12px\" css={chevron()} data-open={isExpanded} />\n </Box>\n ) : null}\n <Stack gap=\"0\" minW=\"0\" flex=\"1\">\n <HStack gap={iconLabelGap} minW=\"0\" alignItems=\"center\">\n {item.icon ? (\n <Box\n color={iconColor}\n flexShrink={0}\n display=\"inline-flex\"\n alignItems=\"center\"\n justifyContent=\"center\"\n boxSize={iconPx}\n fontSize={iconPx}\n lineHeight=\"1\"\n css={{ \"& > svg\": { width: iconPx, height: iconPx } }}\n >\n {item.icon}\n </Box>\n ) : null}\n {item.indicator ? (\n <Tooltip content={item.indicator.tooltip} disabled={!item.indicator.tooltip} openDelay={300}>\n <Box color={item.indicator.color ?? \"fg.muted\"} flexShrink={0}>\n {item.indicator.icon}\n </Box>\n </Tooltip>\n ) : null}\n <RowLabel label={item.label} textStyle={labelTextStyle} color={labelColor} />\n </HStack>\n <RowDescription\n description={item.description}\n textStyle={descriptionTextStyle}\n color={descriptionColor}\n marginLeft={descriptionMarginLeft}\n />\n </Stack>\n </HStack>\n );\n};\n\nexport const ListRowContent = (props: {\n labelId: string;\n item: ListRowItem;\n isExpanded: boolean;\n showChevron: boolean;\n isDisabled: boolean;\n tone: ListRowProps[\"tone\"];\n variant: ListRowProps[\"variant\"];\n showContextMenuTrigger: boolean;\n}) => {\n const {\n labelId,\n item,\n isDisabled,\n isExpanded,\n showChevron,\n tone = \"default\",\n variant = \"default\",\n showContextMenuTrigger,\n } = props;\n const actions = createResourceRowActions(item, showContextMenuTrigger);\n\n return (\n <>\n <RowContent\n labelId={labelId}\n item={item}\n isExpanded={isExpanded}\n showChevron={showChevron}\n isDisabled={isDisabled}\n tone={tone}\n variant={variant}\n />\n {item.endContent ? (\n <Box id={`${labelId}-end`} color=\"fg.muted\" flexShrink={0} display=\"flex\" alignItems=\"center\">\n {item.endContent}\n </Box>\n ) : null}\n {actions.length > 0 ? (\n <RowActions\n actions={actions}\n context={{ nodeId: item.id }}\n alwaysVisible={showContextMenuTrigger && (item.contextMenuItems?.length ?? 0) > 0}\n />\n ) : null}\n </>\n );\n};\n","import type { chakra } from \"@chakra-ui/react\";\nimport type { ComponentPropsWithoutRef } from \"react\";\nimport type { ListRowProps } from \"./list-row.types\";\n\ntype ListRowRootProps = ComponentPropsWithoutRef<typeof chakra.div>;\n\nexport const computePaddingLeft = (depth: number) => {\n if (depth <= 0) return undefined;\n return `calc(var(--chakra-spacing-1) + ${depth} * 12px)`;\n};\n\nconst isFixedHeightDenseVariant = (variant: ListRowProps[\"variant\"]) =>\n variant === \"compact\" || variant === \"full-width\" || variant === \"empty-state\";\n\nexport const resolveListRowSizing = (variant: ListRowProps[\"variant\"], hasDescription: boolean) => {\n if (variant === \"collection\" && !hasDescription) {\n return { rowHeight: \"collection-row\", minHeight: undefined };\n }\n\n if (isFixedHeightDenseVariant(variant) && !hasDescription) {\n return { rowHeight: \"1.75rem\", minHeight: undefined };\n }\n\n return {\n rowHeight: \"auto\",\n minHeight: variant === \"default\" ? \"2.25rem\" : \"1.75rem\",\n };\n};\n\nconst createRowBackgroundProps = (input: {\n isSelected: boolean;\n selectedBg: ListRowProps[\"selectedBg\"];\n hoverBg: ListRowProps[\"hoverBg\"];\n tone: NonNullable<ListRowProps[\"tone\"]>;\n variant: ListRowProps[\"variant\"];\n}) => ({\n bg: input.isSelected ? input.selectedBg : \"transparent\",\n _hover: (() => {\n if (input.variant === \"empty-state\") return { bg: \"transparent\" };\n if (input.isSelected) return { bg: input.selectedBg };\n if (input.tone === \"danger\")\n return {\n outline: \"1px solid\",\n outlineColor: \"red.500\",\n outlineOffset: \"-1px\",\n };\n return { bg: input.hoverBg };\n })(),\n _active: input.variant === \"empty-state\" ? { bg: \"transparent\" } : { bg: input.selectedBg },\n});\n\nconst rowLabelIds = (labelId: string, hasEndContent: boolean) =>\n hasEndContent ? `${labelId} ${labelId}-end` : labelId;\n\nexport const createListRowRootProps = (input: {\n rootProps: ListRowRootProps;\n labelId: string;\n hasEndContent: boolean;\n rowRole: ListRowRootProps[\"role\"];\n className?: string;\n isSelected: boolean;\n isExpanded: boolean;\n showChevron: boolean;\n rowHeight: ListRowRootProps[\"height\"];\n minHeight: ListRowRootProps[\"minHeight\"];\n verticalPadding: ListRowRootProps[\"py\"];\n paddingLeft: ListRowRootProps[\"pl\"];\n selectedBg: ListRowProps[\"selectedBg\"];\n hoverBg: ListRowProps[\"hoverBg\"];\n tone: NonNullable<ListRowProps[\"tone\"]>;\n isDisabled: boolean;\n variant: ListRowProps[\"variant\"];\n}) => {\n const interactiveCursor = input.isDisabled ? \"not-allowed\" : \"pointer\";\n const props: ListRowRootProps = {\n \"aria-labelledby\": input.rootProps[\"aria-label\"] ? undefined : rowLabelIds(input.labelId, input.hasEndContent),\n ...input.rootProps,\n role: input.rowRole,\n \"aria-selected\": input.rootProps[\"aria-selected\"] ?? (input.rowRole === \"option\" ? input.isSelected : undefined),\n \"aria-expanded\": input.showChevron ? input.isExpanded : undefined,\n className: input.className ? `group ${input.className}` : \"group\",\n width: \"full\",\n minWidth: \"0\",\n maxWidth: \"full\",\n height: input.rowHeight,\n minHeight: input.minHeight,\n display: \"flex\",\n position: \"relative\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n gap: \"xs\",\n px: \"sm\",\n py: input.verticalPadding,\n pl: input.paddingLeft,\n borderRadius: input.variant === \"full-width\" || input.variant === \"collection\" ? \"0\" : \"xs\",\n ...(input.rowRole?.startsWith(\"menuitem\") ? {} : createRowBackgroundProps(input)),\n cursor: input.variant === \"empty-state\" ? \"default\" : interactiveCursor,\n overflow: \"hidden\",\n textAlign: \"left\",\n color: \"inherit\",\n textDecoration: \"none\",\n };\n return props;\n};\n","import { chakra } from \"@chakra-ui/react\";\nimport {\n forwardRef,\n type ReactElement,\n type KeyboardEvent as ReactKeyboardEvent,\n type MouseEvent as ReactMouseEvent,\n useId,\n useState,\n} from \"react\";\nimport type { ListRowItem, ListRowProps } from \"./list-row.types\";\nimport { ListRowChrome } from \"./list-row-chrome\";\nimport { ListRowContent } from \"./list-row-content\";\nimport { computePaddingLeft, createListRowRootProps, resolveListRowSizing } from \"./list-row-root-props\";\n\nexport const ListRow = forwardRef<HTMLElement, ListRowProps>((props, ref) => {\n const {\n id,\n label,\n description,\n icon,\n iconColor,\n indicator,\n endContent,\n tooltip,\n disabled,\n isContainer,\n isNavigable,\n href,\n navigationIntent,\n menuItems,\n menuPlacement,\n contextMenuItems,\n actions,\n children,\n onActivate,\n depth = 0,\n isSelected = false,\n isExpanded = false,\n showExpandToggle = false,\n showContextMenuTrigger = false,\n variant = \"default\",\n tone = \"default\",\n selectedBg = \"bg.active\",\n hoverBg = \"bg.hover\",\n asChild = false,\n className,\n role: roleProp,\n onToggleExpand,\n onPointerMove,\n draggable,\n onDragStart,\n onDragOver,\n onDragEnd,\n onDrop,\n onClick,\n onKeyDown,\n ...rootProps\n } = props;\n const [menuOpen, setMenuOpen] = useState(false);\n const labelId = useId();\n\n const item: ListRowItem = {\n id,\n label,\n description,\n icon,\n iconColor,\n indicator,\n endContent,\n tooltip,\n disabled,\n isContainer,\n isNavigable,\n href,\n navigationIntent,\n menuItems,\n menuPlacement,\n contextMenuItems,\n actions,\n children,\n onActivate,\n };\n\n const dragProps = { draggable, onDragStart, onDragOver, onDragEnd, onDrop };\n\n const hasChildren = (item.children?.length ?? 0) > 0 || item.isContainer === true;\n const hasMenuItems = (item.menuItems?.length ?? 0) > 0;\n const hasActions = (item.actions?.length ?? 0) > 0 || (item.contextMenuItems?.length ?? 0) > 0;\n const showChevron = showExpandToggle && hasChildren;\n const isDisabled = item.disabled === true;\n\n const handleActivate = () => {\n if (isDisabled) return;\n if (hasMenuItems) return;\n if (showChevron) {\n onToggleExpand?.();\n return;\n }\n onActivate?.();\n };\n\n const handleClick = (event: ReactMouseEvent<HTMLElement>) => {\n onClick?.(event);\n if (event.defaultPrevented) return;\n\n if (isDisabled) {\n event.preventDefault();\n return;\n }\n if (hasMenuItems) setMenuOpen((current) => !current);\n else handleActivate();\n };\n\n const handleKeyDown = (event: ReactKeyboardEvent<HTMLDivElement>) => {\n onKeyDown?.(event);\n if (event.defaultPrevented) return;\n if (event.target !== event.currentTarget) return;\n if (event.key !== \"Enter\" && event.key !== \" \") return;\n\n event.preventDefault();\n if (isDisabled) return;\n if (hasMenuItems) {\n setMenuOpen((current) => !current);\n return;\n }\n\n handleActivate();\n };\n\n const hasDescription = item.description !== undefined;\n const paddingLeft = computePaddingLeft(depth);\n const verticalPadding = variant === \"default\" || hasDescription ? \"xs\" : \"2xs\";\n const activationProps = { onClick: handleClick };\n const { rowHeight, minHeight } = resolveListRowSizing(variant, hasDescription);\n const rowRole = roleProp ?? (hasMenuItems ? \"button\" : \"option\");\n\n const rowProps = createListRowRootProps({\n rootProps: { ...rootProps, id },\n labelId,\n hasEndContent: Boolean(item.endContent),\n rowRole,\n className,\n isSelected,\n isExpanded,\n showChevron,\n rowHeight,\n minHeight,\n verticalPadding,\n paddingLeft,\n selectedBg,\n hoverBg,\n tone,\n isDisabled,\n variant,\n });\n\n const content = (\n <ListRowContent\n labelId={labelId}\n item={item}\n isExpanded={isExpanded}\n showChevron={showChevron}\n isDisabled={isDisabled}\n tone={tone}\n variant={variant}\n showContextMenuTrigger={showContextMenuTrigger}\n />\n );\n\n const wrap = (children: ReactElement) => (\n <ListRowChrome\n item={item}\n menuOpen={menuOpen}\n onMenuOpenChange={setMenuOpen}\n onMenuSelect={(menuItem) => {\n setMenuOpen(false);\n menuItem.onAction?.();\n }}\n >\n {children}\n </ListRowChrome>\n );\n\n if (asChild) {\n return wrap(\n <chakra.div ref={ref} {...rowProps} {...dragProps} {...activationProps} onPointerMove={onPointerMove}>\n {content}\n </chakra.div>,\n );\n }\n if (item.href && !showChevron && !isDisabled && !hasMenuItems) {\n return wrap(\n <chakra.a\n ref={ref}\n href={item.href}\n {...(rowProps as object)}\n {...dragProps}\n onClick={handleClick}\n onPointerMove={onPointerMove}\n >\n {content}\n </chakra.a>,\n );\n }\n\n if (hasActions) {\n return wrap(\n <chakra.div\n ref={ref}\n aria-disabled={isDisabled || undefined}\n {...rowProps}\n {...dragProps}\n {...activationProps}\n tabIndex={rootProps.tabIndex ?? 0}\n onKeyDown={handleKeyDown}\n onPointerMove={onPointerMove}\n >\n {content}\n </chakra.div>,\n );\n }\n\n return wrap(\n <chakra.button\n ref={ref}\n type=\"button\"\n disabled={isDisabled}\n {...(rowProps as object)}\n {...dragProps}\n {...activationProps}\n onPointerMove={onPointerMove}\n >\n {content}\n </chakra.button>,\n );\n});\n"],"mappings":"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"}
|