@pstdio/ui 0.21.0 → 0.22.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.
Files changed (111) hide show
  1. package/dist/{MermaidComponent-BVMyKttu.js → MermaidComponent-D92GMhht.js} +3 -3
  2. package/dist/{MermaidComponent-BVMyKttu.js.map → MermaidComponent-D92GMhht.js.map} +1 -1
  3. package/dist/chat-ui.d.ts +2 -0
  4. package/dist/chat-ui.js +2 -2
  5. package/dist/components/data-table/build-columns.d.ts +1 -0
  6. package/dist/components/data-table/data-table-column-menu.d.ts +2 -0
  7. package/dist/components/data-table/data-table-row-display.d.ts +11 -0
  8. package/dist/components/data-table/data-table-table-parts.d.ts +1 -0
  9. package/dist/components/data-table/edit-mode-data-table-body.d.ts +1 -0
  10. package/dist/components/data-table/edit-mode-data-table-cell.d.ts +1 -0
  11. package/dist/components/data-table/edit-mode-data-table-header.d.ts +1 -0
  12. package/dist/components/diff-viewer/code-editor.d.ts +8 -2
  13. package/dist/components/kanban-renderer/collection-badge.d.ts +7 -0
  14. package/dist/components/kanban-renderer/index.d.ts +1 -1
  15. package/dist/components/kanban-renderer/kanban-renderer-helpers.d.ts +2 -1
  16. package/dist/components/kanban-renderer/types.d.ts +20 -1
  17. package/dist/components/list-row/list-row-content.d.ts +1 -0
  18. package/dist/components/param-editor/param-editor-presentation.d.ts +1 -1
  19. package/dist/components/param-editor/param-editor.types.d.ts +5 -193
  20. package/dist/components/rich-text/shared/markdown-ast.d.ts +1 -0
  21. package/dist/components/rich-text/shared/markdown-source-document.d.ts +7 -0
  22. package/dist/components/rich-text/shared/markdown-source-links.d.ts +11 -0
  23. package/dist/components/rich-text/shared/markdown-source-map.d.ts +10 -0
  24. package/dist/components/rich-text/utils/inferResourceType.d.ts +1 -1
  25. package/dist/components/tag-editor/tag-editor-row.d.ts +1 -1
  26. package/dist/components/tag-editor/tag-editor.types.d.ts +12 -0
  27. package/dist/components/tag-editor/tag-settings-panel.d.ts +1 -1
  28. package/dist/components/tree-list/tree-list-drag-provider.d.ts +13 -0
  29. package/dist/components/tree-list/tree-list-order.store.d.ts +4 -1
  30. package/dist/components/tree-list/tree-list-reorder.d.ts +14 -3
  31. package/dist/components/tree-list/tree-list-sortable.d.ts +2 -0
  32. package/dist/components/tree-list/tree-list-visibility-filter.d.ts +2 -2
  33. package/dist/components/tree-list/tree-list.d.ts +3 -0
  34. package/dist/components/tree-list/tree-list.types.d.ts +4 -0
  35. package/dist/data-table.d.ts +2 -0
  36. package/dist/data-table.js +806 -793
  37. package/dist/data-table.js.map +1 -1
  38. package/dist/diff.d.ts +2 -0
  39. package/dist/diff.js +529 -533
  40. package/dist/diff.js.map +1 -1
  41. package/dist/edit-mode-data-table-DGgRuSW3.js +846 -0
  42. package/dist/edit-mode-data-table-DGgRuSW3.js.map +1 -0
  43. package/dist/index.d.ts +2 -0
  44. package/dist/index.js +1516 -1413
  45. package/dist/index.js.map +1 -1
  46. package/dist/{kanban-renderer-toolbar-CpegGbwq.js → kanban-renderer-toolbar-Bl8xXdwU.js} +527 -469
  47. package/dist/kanban-renderer-toolbar-Bl8xXdwU.js.map +1 -0
  48. package/dist/kanban-renderer.d.ts +2 -0
  49. package/dist/kanban-renderer.js +21 -21
  50. package/dist/kanban-renderer.js.map +1 -1
  51. package/dist/lazy-markdown-editor-CCOchoJX.js +235 -0
  52. package/dist/lazy-markdown-editor-CCOchoJX.js.map +1 -0
  53. package/dist/list-row-DCgdza1i.js +812 -0
  54. package/dist/list-row-DCgdza1i.js.map +1 -0
  55. package/dist/markdown-CASvn1Z2.js +1643 -0
  56. package/dist/markdown-CASvn1Z2.js.map +1 -0
  57. package/dist/markdown-editor-C4GCyebp.js +1019 -0
  58. package/dist/markdown-editor-C4GCyebp.js.map +1 -0
  59. package/dist/{mermaid-renderer-H3IhLqnQ.js → mermaid-renderer-CVnuKs-A.js} +2 -2
  60. package/dist/{mermaid-renderer-H3IhLqnQ.js.map → mermaid-renderer-CVnuKs-A.js.map} +1 -1
  61. package/dist/mermaid.d.ts +2 -0
  62. package/dist/mermaid.js +1 -1
  63. package/dist/monaco-browser-CgvlArN7.js +21 -0
  64. package/dist/monaco-browser-CgvlArN7.js.map +1 -0
  65. package/dist/{param-editor-B8Ff9Nm8.js → param-editor-CkDq623X.js} +2 -2
  66. package/dist/{param-editor-B8Ff9Nm8.js.map → param-editor-CkDq623X.js.map} +1 -1
  67. package/dist/param-editor-field-DRgbnL7-.js +2809 -0
  68. package/dist/param-editor-field-DRgbnL7-.js.map +1 -0
  69. package/dist/rich-message-DARuDVOX.js +628 -0
  70. package/dist/{rich-message-DdFYRzTo.js.map → rich-message-DARuDVOX.js.map} +1 -1
  71. package/dist/rich-text.d.ts +2 -0
  72. package/dist/rich-text.js +48 -47
  73. package/dist/rich-text.js.map +1 -1
  74. package/dist/style.css +1 -1
  75. package/dist/terminal.d.ts +2 -0
  76. package/dist/theme/primitives/sizes.d.ts +9 -0
  77. package/dist/{theme-BH4fSst9.js → theme-B-l5_a6F.js} +69 -50
  78. package/dist/theme-B-l5_a6F.js.map +1 -0
  79. package/dist/theme-preference-Bpobguh4.js +114 -0
  80. package/dist/theme-preference-Bpobguh4.js.map +1 -0
  81. package/dist/theme.d.ts +2 -0
  82. package/dist/theme.js +1 -1
  83. package/dist/tree-list-AlO5ZmxQ.js +1262 -0
  84. package/dist/tree-list-AlO5ZmxQ.js.map +1 -0
  85. package/dist/utils/theme-preference.d.ts +4 -1
  86. package/dist/workspace-badge-BR_GgsAG.js +175 -0
  87. package/dist/workspace-badge-BR_GgsAG.js.map +1 -0
  88. package/package.json +5 -42
  89. package/dist/dialog-accept-shortcut-DAEBsoWW.js +0 -7
  90. package/dist/dialog-accept-shortcut-DAEBsoWW.js.map +0 -1
  91. package/dist/edit-mode-data-table-D6NeiDJx.js +0 -775
  92. package/dist/edit-mode-data-table-D6NeiDJx.js.map +0 -1
  93. package/dist/editor-config-D9OksZ93.js +0 -2416
  94. package/dist/editor-config-D9OksZ93.js.map +0 -1
  95. package/dist/kanban-renderer-toolbar-CpegGbwq.js.map +0 -1
  96. package/dist/lazy-markdown-editor-B7uP2ALS.js +0 -26
  97. package/dist/lazy-markdown-editor-B7uP2ALS.js.map +0 -1
  98. package/dist/list-row-9oxy-F0v.js +0 -796
  99. package/dist/list-row-9oxy-F0v.js.map +0 -1
  100. package/dist/monaco-browser-CO0NxK_Z.js +0 -19
  101. package/dist/monaco-browser-CO0NxK_Z.js.map +0 -1
  102. package/dist/number-input-WUfejtNx.js +0 -343
  103. package/dist/number-input-WUfejtNx.js.map +0 -1
  104. package/dist/param-editor-field-Cu4pto_a.js +0 -2845
  105. package/dist/param-editor-field-Cu4pto_a.js.map +0 -1
  106. package/dist/rich-message-DdFYRzTo.js +0 -658
  107. package/dist/theme-BH4fSst9.js.map +0 -1
  108. package/dist/theme-preference-DyymrYpR.js +0 -123
  109. package/dist/theme-preference-DyymrYpR.js.map +0 -1
  110. package/dist/tree-list-uV4UFj0x.js +0 -1116
  111. package/dist/tree-list-uV4UFj0x.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-row-DCgdza1i.js","sources":["../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.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 { chakra, Menu, Portal, useMenu } from \"@chakra-ui/react\";\nimport { type ComponentProps, Fragment, type ReactElement, type ReactNode } from \"react\";\nimport { ListRow } from \"@/components/list-row/list-row\";\n\ntype MenuRootProps = ComponentProps<typeof Menu.Root>;\n\nexport interface ResourceContextAction {\n key: string;\n label: string;\n commandId?: string;\n onClick: () => Promise<void> | void;\n isDisabled?: boolean;\n icon?: ReactNode;\n endContent?: ReactNode;\n separatorBefore?: 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}) => {\n const { actions, contentBackground, contentMinWidth } = props;\n\n return (\n <Portal>\n <Menu.Positioner>\n <Menu.Content minW={contentMinWidth} bg={contentBackground}>\n {actions.map((action) => (\n <Fragment key={action.key}>\n {action.separatorBefore ? <Menu.Separator /> : null}\n <Menu.Item value={action.key} disabled={action.isDisabled} asChild>\n <ListRow\n asChild\n variant=\"full-width\"\n label={action.label}\n icon={action.icon}\n endContent={action.endContent}\n disabled={action.isDisabled}\n onActivate={action.onClick}\n />\n </Menu.Item>\n </Fragment>\n ))}\n </Menu.Content>\n </Menu.Positioner>\n </Portal>\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\n if (actions.length === 0) return children;\n\n return (\n <Menu.Root positioning={positioning} closeOnSelect={closeOnSelect}>\n <Menu.Trigger asChild>{children}</Menu.Trigger>\n <ResourceMenuContent actions={actions} contentMinWidth={contentMinWidth} contentBackground={contentBackground} />\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 menu = useMenu({ positioning, closeOnSelect });\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 onContextMenu={(event) => {\n if (!event.defaultPrevented) triggerProps.onContextMenu?.(event);\n }}\n >\n {children}\n </chakra.div>\n {/* Descendant resource menus are independent menus, not submenus. */}\n <Menu.RootProvider value={menu} lazyMount unmountOnExit>\n {actions.length > 0 ? (\n <ResourceMenuContent\n actions={actions}\n contentMinWidth={contentMinWidth}\n contentBackground={contentBackground}\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 } from \"react\";\nimport type { ListRowActionMenuItem, ListRowMenuPlacement } from \"./list-row.types\";\n\ninterface ListRowMenuProps {\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\" } = props;\n\n return (\n <Menu.Root\n open={open}\n positioning={{ placement, offset: { mainAxis: 4 } }}\n onOpenChange={(details) => onOpenChange(details.open)}\n >\n <Menu.Trigger asChild>{children}</Menu.Trigger>\n <Portal>\n <Menu.Positioner>\n <Menu.Content minW=\"200px\" bg=\"bg\">\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 </Menu.Content>\n </Menu.Positioner>\n </Portal>\n </Menu.Root>\n );\n};\n","import { Icon } from \"@chakra-ui/react\";\nimport type { ReactElement } from \"react\";\nimport { type ResourceContextAction, ResourceContextMenu } from \"@/components/overlays/resource-context-menu\";\nimport { Tooltip } from \"@/components/primitives/tooltip\";\nimport type { ListRowItem } from \"./list-row.types\";\nimport { ListRowMenu } from \"./list-row-menu\";\n\nconst createResourceContextActions = (items: NonNullable<ListRowItem[\"contextMenuItems\"]>): ResourceContextAction[] =>\n items.map((entry) => ({\n key: entry.id,\n label: entry.label,\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\n if (item.menuItems && item.menuItems.length > 0) {\n return (\n <ListRowMenu\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 const row = item.tooltip ? <Tooltip content={item.tooltip}>{children}</Tooltip> : children;\n if (!item.contextMenuItems || item.contextMenuItems.length === 0) return row;\n\n return <ResourceContextMenu actions={createResourceContextActions(item.contextMenuItems)}>{row}</ResourceContextMenu>;\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 { 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}\n\nexport const SearchableMenuInput = (props: SearchableMenuInputProps) => {\n const { inputRef, value, placeholder, onValueChange } = 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) => event.stopPropagation()}\n />\n </InputGroup>\n </Header>\n );\n};\n","import { Box, 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 type { ListRowItem } from \"@/components/list-row/list-row.types\";\nimport { ScrollArea } from \"@/components/primitives/scroll-area\";\nimport { SearchableMenuInput } from \"./searchable-menu-input\";\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 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}\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 } = 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 renderIcon = (icon: ElementType | undefined) => (icon ? <Icon as={icon} boxSize=\"14px\" /> : undefined);\n\n const buildRowItem = (item: T): ListRowItem => ({\n id: item.id,\n label: item.label,\n description: item.secondaryLabel,\n icon: renderIcon(item.icon),\n disabled: item.isDisabled,\n tooltip: item.tooltipLabel,\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={renderIcon(parentList.selectedIcon)}\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 <Menu.Item key={item.id} value={item.id} disabled={item.isDisabled} onClick={item.onSelect} asChild>\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 {...buildRowItem(item)}\n role=\"presentation\"\n variant={item.variant ?? \"full-width\"}\n isSelected={item.isSelected}\n />\n </Box>\n </Menu.Item>\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 } 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 if (actions.length === 0) return null;\n\n return (\n <HStack\n gap=\"0\"\n opacity={alwaysVisible ? \"1\" : \"0\"}\n pointerEvents={alwaysVisible ? \"auto\" : \"none\"}\n _groupHover={{ opacity: \"1\", pointerEvents: \"auto\" }}\n _groupFocusWithin={{ opacity: \"1\", pointerEvents: \"auto\" }}\n transition=\"opacity 120ms ease\"\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 } 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 = true) => {\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 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 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 = variant === \"collection\" ? \"compact\" : variant === \"tree\" ? \"1\" : \"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\n as={ChevronRight}\n boxSize=\"12px\"\n transform={isExpanded ? \"rotate(90deg)\" : \"rotate(0deg)\"}\n transition=\"transform 120ms ease\"\n />\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`} flexShrink={0} color=\"fg.muted\" 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 \"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\" as const,\n alignItems: \"center\" as const,\n justifyContent: \"space-between\" as const,\n gap: \"xs\" as const,\n px: \"sm\",\n py: input.verticalPadding,\n pl: input.paddingLeft,\n borderRadius: input.variant === \"full-width\" || input.variant === \"collection\" ? \"0\" : (\"xs\" as const),\n ...createRowBackgroundProps({ ...input }),\n cursor:\n input.variant === \"empty-state\"\n ? (\"default\" as const)\n : input.isDisabled\n ? (\"not-allowed\" as const)\n : (\"pointer\" as const),\n overflow: \"hidden\" as const,\n textAlign: \"left\" as const,\n color: \"inherit\",\n textDecoration: \"none\",\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 = true,\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 handleActivate();\n };\n\n const handleMenuClick = (event: ReactMouseEvent<HTMLElement>) => {\n onClick?.(event);\n if (event.defaultPrevented) return;\n\n if (isDisabled) {\n event.preventDefault();\n return;\n }\n\n setMenuOpen((current) => !current);\n };\n\n const handleKeyDown = (event: ReactKeyboardEvent<HTMLDivElement>) => {\n onKeyDown?.(event);\n if (event.defaultPrevented) 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 = hasMenuItems ? { onClick: handleMenuClick } : { onClick: handleClick };\n const { rowHeight, minHeight } = resolveListRowSizing(variant, hasDescription);\n const rowRole = roleProp ?? (hasMenuItems ? \"button\" : \"option\");\n\n const rowProps = createListRowRootProps({\n rootProps,\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"],"names":["ResourceMenuContent","props","$","_c","actions","contentBackground","contentMinWidth","t0","map","_temp","t1","Portal","jsx","Menu","ResourceActionMenu","children","positioning","t2","closeOnSelect","undefined","t3","placement","length","t4","t5","t6","ResourceContextMenu","keepMountedWhenEmpty","menu","useMenu","api","getContextTriggerProps","triggerProps","t7","event","defaultPrevented","onContextMenu","t8","t9","t10","t11","action","jsxs","Fragment","separatorBefore","key","isDisabled","ListRow","label","icon","endContent","onClick","ListRowMenuItemIcon","item","Icon","Box","ListRowMenu","items","onOpenChange","onSelect","open","Symbol","for","mainAxis","offset","details","id","disabled","readOnly","opacity","cursor","HStack","description","Stack","Text","createResourceContextActions","entry","onAction","ListRowChrome","menuOpen","onMenuOpenChange","onMenuSelect","menuItems","menuPlacement","tooltip","Tooltip","row","contextMenuItems","headerVariantStyles","main","h","px","narrow","input","Header","React","forwardRef","ref","rest","variant","SearchableMenuInput","inputRef","value","placeholder","onValueChange","Search","target","InputGroup","Input","event_0","stopPropagation","filterSearchableMenuItems","query","normalizedQuery","trim","toLowerCase","filter","searchText","Boolean","join","includes","shouldResetSearchableMenuQuery","currentListId","nextListId","resolveActiveListConfig","isShowingParent","parentList","childConfig","filterItems","showSearch","searchPlaceholder","emptyState","contentTestId","listId","SearchableMenu","trigger","header","width","maxListHeight","lazyMount","onFocusOutside","portalled","hasParentList","internalOpen","setInternalOpen","useState","setQuery","activeList","setActiveList","useRef","isOpen","config","filteredItems","previousListIdRef","useEffect","current","timeout","setTimeout","focus","clearTimeout","handleOpenChange","details_0","find","i","handleMenuItemSelect","renderIcon","item_0","secondaryLabel","tooltipLabel","buildRowItem","ariaLabel","_temp2","_temp3","selectedLabel","selectedIcon","ChevronDown","resolvedHeader","shouldShowSeparator","searchInput","t12","t13","t14","t15","t16","t17","T0","ScrollArea","t18","overscrollBehavior","t19","t20","t21","item_1","bg","isSelected","t22","t23","Content","t24","Positioner","menuPositioner","t25","t26","t27","t28","t29","SearchableActionMenu","IconButton","emptyMenuLabel","preventDefault","keyedTooltip","child","RowActions","alwaysVisible","context","pointerEvents","createResourceRowActions","showContextMenuTrigger","inlineMenuItems","flatMap","nodeId","inlineIds","Set","menuItem","resourceMenuItems","has","index","resolveLabelColor","isEmptyStateVariant","tone","RowLabel","textStyle","color","RowDescription","marginLeft","RowContent","isExpanded","showChevron","labelId","isDenseVariant","labelTextStyle","descriptionTextStyle","descriptionMarginLeft","iconPx","iconLabelGap","labelColor","iconColor","descriptionColor","ChevronRight","height","indicator","ListRowContent","computePaddingLeft","depth","isFixedHeightDenseVariant","resolveListRowSizing","hasDescription","rowHeight","minHeight","createRowBackgroundProps","selectedBg","_hover","outline","outlineColor","outlineOffset","hoverBg","_active","rowLabelIds","hasEndContent","createListRowRootProps","rootProps","role","rowRole","className","minWidth","maxWidth","display","alignItems","justifyContent","gap","py","verticalPadding","pl","paddingLeft","borderRadius","overflow","textAlign","textDecoration","isContainer","isNavigable","href","navigationIntent","onActivate","showExpandToggle","asChild","roleProp","onToggleExpand","onPointerMove","draggable","onDragStart","onDragOver","onDragEnd","onDrop","onKeyDown","setMenuOpen","useId","dragProps","hasChildren","hasMenuItems","hasActions","handleActivate","handleClick","handleMenuClick","event_1","handleKeyDown","activationProps","rowProps","content","children_0","wrap","chakra","tabIndex","current_0"],"mappings":"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"}