@pstdio/ui 0.40.0 → 0.42.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 (108) hide show
  1. package/dist/{MermaidComponent-81jr28u4.js → MermaidComponent-D7vhkpka.js} +3 -3
  2. package/dist/{MermaidComponent-81jr28u4.js.map → MermaidComponent-D7vhkpka.js.map} +1 -1
  3. package/dist/alert-MQ47wy7f.js +388 -0
  4. package/dist/alert-MQ47wy7f.js.map +1 -0
  5. package/dist/chat-ui.d.ts +129 -23
  6. package/dist/chat-ui.js +2596 -1591
  7. package/dist/chat-ui.js.map +1 -1
  8. package/dist/{types-DWA3enV6.d.ts → collection-view-fields-D3cysHNT.d.ts} +87 -37
  9. package/dist/collection-view-grouping-D4nZk8-3.js +90 -0
  10. package/dist/collection-view-grouping-D4nZk8-3.js.map +1 -0
  11. package/dist/collection-view-search-CpjJy76w.js +1973 -0
  12. package/dist/collection-view-search-CpjJy76w.js.map +1 -0
  13. package/dist/collection-view.d.ts +4 -0
  14. package/dist/collection-view.js +2 -0
  15. package/dist/{data-table-stats-row-CpRe_xK2.js → data-table-stats-row-64magT2g.js} +2 -2
  16. package/dist/{data-table-stats-row-CpRe_xK2.js.map → data-table-stats-row-64magT2g.js.map} +1 -1
  17. package/dist/data-table.d.ts +29 -7
  18. package/dist/data-table.js +1043 -878
  19. package/dist/data-table.js.map +1 -1
  20. package/dist/diff-bubble-DewUd_2w.js +61 -0
  21. package/dist/diff-bubble-DewUd_2w.js.map +1 -0
  22. package/dist/{diff-drawer-45rpk3aq.js → diff-drawer-IYpQ-QQK.js} +264 -242
  23. package/dist/diff-drawer-IYpQ-QQK.js.map +1 -0
  24. package/dist/diff-viewer-C-0VAt9P.js +574 -0
  25. package/dist/diff-viewer-C-0VAt9P.js.map +1 -0
  26. package/dist/diff.d.ts +11 -0
  27. package/dist/diff.js +107 -98
  28. package/dist/diff.js.map +1 -1
  29. package/dist/display-sort-control-f3rbILsV.js +588 -0
  30. package/dist/display-sort-control-f3rbILsV.js.map +1 -0
  31. package/dist/drop-indicator-HjlBSIeV.js +27 -0
  32. package/dist/drop-indicator-HjlBSIeV.js.map +1 -0
  33. package/dist/edit-mode-data-table-DnMB2jiy.js +1449 -0
  34. package/dist/edit-mode-data-table-DnMB2jiy.js.map +1 -0
  35. package/dist/host-storage-BIo5azql.js +31 -0
  36. package/dist/host-storage-BIo5azql.js.map +1 -0
  37. package/dist/host-storage-J0089Hyk.d.ts +17 -0
  38. package/dist/{slider-hwHYe98I.js → icon-options-Tt6Wzhtv.js} +86 -201
  39. package/dist/icon-options-Tt6Wzhtv.js.map +1 -0
  40. package/dist/{index-Bfddrlz8.d.ts → index-B79hwNcB.d.ts} +66 -14
  41. package/dist/index-CKsd23jv.d.ts +80 -0
  42. package/dist/{index-CbtbcvKm.d.ts → index-DlmvvQ6x.d.ts} +1 -1
  43. package/dist/index-ICoad2I_.d.ts +282 -0
  44. package/dist/index.d.ts +63 -22
  45. package/dist/index.js +1149 -1054
  46. package/dist/index.js.map +1 -1
  47. package/dist/kanban-renderer.d.ts +3 -326
  48. package/dist/kanban-renderer.js +980 -596
  49. package/dist/kanban-renderer.js.map +1 -1
  50. package/dist/list-row-Z4SHkseA.js +1195 -0
  51. package/dist/list-row-Z4SHkseA.js.map +1 -0
  52. package/dist/markdown-editor-Dd4mor7l.js +3236 -0
  53. package/dist/markdown-editor-Dd4mor7l.js.map +1 -0
  54. package/dist/{mermaid-renderer-DImi0fDp.js → mermaid-renderer-0PmNkOXI.js} +29 -29
  55. package/dist/mermaid-renderer-0PmNkOXI.js.map +1 -0
  56. package/dist/mermaid.js +1 -1
  57. package/dist/number-input-7K66wnSC.js +63 -0
  58. package/dist/number-input-7K66wnSC.js.map +1 -0
  59. package/dist/{param-editor-BQd4AOUP.js → param-editor-Dnix-fJo.js} +2 -2
  60. package/dist/{param-editor-BQd4AOUP.js.map → param-editor-Dnix-fJo.js.map} +1 -1
  61. package/dist/{param-editor-field-BJ_rLUnV.js → param-editor-field-B3vLST-B.js} +1436 -1427
  62. package/dist/param-editor-field-B3vLST-B.js.map +1 -0
  63. package/dist/param-editor.js +4 -3
  64. package/dist/prism-OG4H7Hu4.js +334 -0
  65. package/dist/prism-OG4H7Hu4.js.map +1 -0
  66. package/dist/queued-follow-up-Bj_vtMgd.js +208 -0
  67. package/dist/queued-follow-up-Bj_vtMgd.js.map +1 -0
  68. package/dist/{resource-badge-95WPVlZf.d.ts → resource-badge-nOWPqxFU.d.ts} +1 -0
  69. package/dist/rich-text-BgEnAHr2.js +1160 -0
  70. package/dist/rich-text-BgEnAHr2.js.map +1 -0
  71. package/dist/rich-text.d.ts +2 -2
  72. package/dist/rich-text.js +4 -2
  73. package/dist/style.css +1 -1
  74. package/dist/terminal.d.ts +5 -63
  75. package/dist/terminal.js +102 -122
  76. package/dist/terminal.js.map +1 -1
  77. package/dist/{theme-CbmSEbRF.js → theme-CMJdH59Z.js} +589 -265
  78. package/dist/theme-CMJdH59Z.js.map +1 -0
  79. package/dist/theme-kKuLN2jb.js +80 -0
  80. package/dist/theme-kKuLN2jb.js.map +1 -0
  81. package/dist/theme-preference-BV4cbJNB.js +115 -0
  82. package/dist/theme-preference-BV4cbJNB.js.map +1 -0
  83. package/dist/theme.js +3 -2
  84. package/dist/tree-list-jarhD31R.js +1652 -0
  85. package/dist/tree-list-jarhD31R.js.map +1 -0
  86. package/dist/use-virtualizer-uj43XjBp.js +10 -0
  87. package/dist/use-virtualizer-uj43XjBp.js.map +1 -0
  88. package/dist/{workspace-badge-Brm3Xr3m.d.ts → workspace-badge-BKtB805G.d.ts} +5 -1
  89. package/package.json +8 -4
  90. package/dist/diff-bubble-DZsarmSG.js +0 -61
  91. package/dist/diff-bubble-DZsarmSG.js.map +0 -1
  92. package/dist/diff-drawer-45rpk3aq.js.map +0 -1
  93. package/dist/diff-viewer-BP_mI6Wx.js +0 -558
  94. package/dist/diff-viewer-BP_mI6Wx.js.map +0 -1
  95. package/dist/list-row-uqD-q4gv.js +0 -1018
  96. package/dist/list-row-uqD-q4gv.js.map +0 -1
  97. package/dist/mermaid-renderer-DImi0fDp.js.map +0 -1
  98. package/dist/param-editor-field-BJ_rLUnV.js.map +0 -1
  99. package/dist/prism-BStPsJSB.js +0 -658
  100. package/dist/prism-BStPsJSB.js.map +0 -1
  101. package/dist/rich-text-VYAmEigU.js +0 -6979
  102. package/dist/rich-text-VYAmEigU.js.map +0 -1
  103. package/dist/slider-hwHYe98I.js.map +0 -1
  104. package/dist/theme-CbmSEbRF.js.map +0 -1
  105. package/dist/theme-preference-pzfuK5cH.js +0 -101
  106. package/dist/theme-preference-pzfuK5cH.js.map +0 -1
  107. package/dist/tree-list-BNZwjQZA.js +0 -1616
  108. package/dist/tree-list-BNZwjQZA.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-row-Z4SHkseA.js","names":["chakra","Menu","Portal","useMenu","ChevronRight","ComponentProps","Fragment","ReactElement","ReactNode","useRef","ListRow","ScrollArea","MenuRootProps","Root","ResourceContextAction","key","label","commandId","onClick","Promise","items","isDisabled","icon","endContent","separatorBefore","closeOnSelect","ResourceContextMenuProps","actions","children","contentMinWidth","contentBackground","positioning","keepMountedWhenEmpty","ResourceActionMenuProps","ResourceMenuContent","props","$","_c","onSelect","t0","Symbol","for","overscrollBehavior","tabIndex","t1","t2","action","placement","gutter","map","t3","useResourceMenuActions","pendingAction","current","action_0","onExitComplete","ResourceActionMenu","undefined","length","t4","t5","t6","ResourceContextMenu","keyboardTrigger","trigger","requestAnimationFrame","focus","onEscapeKeyDown","menu","t7","api","getContextTriggerProps","triggerProps","t8","event","pointerType","stopPropagation","onPointerDown","t9","event_0","defaultPrevented","shiftKey","preventDefault","bounds","currentTarget","getBoundingClientRect","dispatchEvent","MouseEvent","bubbles","cancelable","clientX","left","clientY","bottom","t10","event_1","onContextMenu","t11","t12","t13","t14","_c","Fragment","ScrollArea","_Fragment","Box","HStack","Icon","Menu","Portal","Stack","Text","Fragment","ReactElement","ListRowActionMenuItem","ListRowMenuPlacement","ListRowMenuProps","triggerId","items","open","placement","children","onOpenChange","onSelect","item","ListRowMenuItemIcon","props","$","_c","icon","t0","t1","ListRowMenu","undefined","trigger","t2","Symbol","for","mainAxis","t3","offset","t4","details","t5","t6","t7","id","separatorBefore","disabled","readOnly","opacity","cursor","description","label","endContent","map","t8","_c","Fragment","Icon","ReactElement","ResourceContextAction","ResourceContextMenu","Tooltip","ListRowItem","ListRowMenu","createResourceContextActions","items","NonNullable","map","entry","key","id","label","icon","endContent","isDisabled","disabled","separatorBefore","onClick","onAction","ListRowChromeProps","item","menuOpen","children","onMenuOpenChange","open","onMenuSelect","ListRowChrome","props","$","_c","menuItems","length","t0","menuPlacement","tooltip","row","contextMenuItems","t1","t2","_c","Tooltip","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","Ref","Header","SearchableMenuInputProps","inputRef","HTMLInputElement","value","placeholder","onValueChange","SearchableMenuInput","props","$","_c","t0","Symbol","for","t1","event","target","t2","_temp","event_0","stopPropagation","_c","_temp","Checkbox","ChakraCheckbox","React","CheckboxProps","RootProps","icon","ReactNode","inputProps","InputHTMLAttributes","HTMLInputElement","rootRef","RefObject","HTMLLabelElement","forwardRef","props","ref","$","_c","children","rest","t0","t1","disabled","readOnly","undefined","enabledCursor","interactiveCursor","t2","t3","t4","t5","Symbol","for","borderColor","outline","boxShadow","t6","bg","color","_hover","_active","t7","t8","t9","t10","t11","Checkbox","_c","ChakraCheckbox","Box","HStack","Icon","Menu","Text","Check","ReactNode","ListRow","Checkbox","SearchableMenuItem","SearchableMenuRowProps","item","multiple","SearchableMenuRow","props","$","_c","iconSize","variant","t0","isSelected","secondaryLabel","Boolean","tabIndex","undefined","endContent","t1","Symbol","for","t2","t3","bg","t4","t5","t6","t7","icon","iconColor","label","t8","t9","id","isDisabled","tooltipLabel","content","t10","t11","t12","onSelect","_c","Checkbox","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","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","isDenseVariant","labelTextStyle","descriptionTextStyle","descriptionMarginLeft","iconPx","iconLabelGap","labelColor","iconColor","descriptionColor","t1","t2","width","height","t3","indicator","tooltip","t4","t5","t6","t7","t8","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","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","ResourceMenuContent","$","c","props","t0","t1","actions","contentBackground","contentMinWidth","onSelect","t2","action","Menu","ListRow","ChevronRight","ScrollArea$1","t3","Portal","useResourceMenuActions","pendingAction","useRef","closeOnSelect","action_0","ResourceActionMenu","positioning","children","t4","t5","t6","onExitComplete","ResourceContextMenu","keepMountedWhenEmpty","keyboardTrigger","trigger","menu","useMenu","t7","triggerProps","t8","Fragment","event","t9","event_0","bounds","t10","event_1","t11","chakra","t12","t13","t14","ListRowMenuItemIcon","item","Icon","Box","ListRowMenu","placement","triggerId","onOpenChange","details","items","HStack","Stack","Text","open","createResourceContextActions","entry","ListRowChrome","menuOpen","onMenuOpenChange","onMenuSelect","row","headerVariantStyles","Header","rest","ref","SearchableMenuInput","Search","onValueChange","inputRef","placeholder","value","InputGroup","Input","_temp$4","Checkbox$1","icon","inputProps","rootRef","disabled","readOnly","interactiveCursor","Checkbox","SearchableMenuRow","iconSize","multiple","endContent","Check","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","t17","T0","t18","t21","item_0","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","index","iconLabelGaps","resolveLabelColor","input","RowLabel","label","color","textStyle","RowDescription","description","marginLeft","RowContent","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","forwardRef","roleProp","rootProps","isSelected","showExpandToggle","selectedBg","hoverBg","asChild","setMenuOpen","useId","href","id","indicator","isContainer","isNavigable","menuItems","menuPlacement","navigationIntent","onActivate","tooltip","draggable","onDragEnd","onDragOver","onDragStart","onDrop","dragProps","hasChildren","hasMenuItems","hasActions","onToggleExpand","handleActivate","onClick","_temp","handleClick","onKeyDown","_temp2","handleKeyDown","paddingLeft","verticalPadding","t15","activationProps","rowRole","rowProps","t16","children_0","wrap","onPointerMove","t19","t20","current_0"],"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/primitives/checkbox.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 { chakra, Menu, Portal, useMenu } from \"@chakra-ui/react\";\nimport { ChevronRight } from \"lucide-react\";\nimport { type ComponentProps, Fragment, type ReactElement, type ReactNode, useRef } from \"react\";\nimport { ListRow } from \"@/components/list-row/list-row\";\nimport { ScrollArea } from \"@/components/primitives/scroll-area\";\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 /** 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\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 {actions.map((action) => (\n <Fragment key={action.key}>\n {action.separatorBefore ? <Menu.Separator /> : null}\n {action.items && !action.isDisabled ? (\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 <ResourceMenuContent\n actions={action.items}\n contentMinWidth={contentMinWidth}\n contentBackground={contentBackground}\n onSelect={onSelect}\n />\n </Menu.Root>\n ) : (\n <Menu.Item\n value={action.key}\n disabled={action.isDisabled}\n closeOnSelect={action.closeOnSelect}\n asChild\n >\n <ListRow\n asChild\n variant=\"full-width\"\n label={action.label}\n icon={action.icon}\n endContent={action.items ? <ChevronRight size={14} /> : action.endContent}\n disabled={action.isDisabled}\n onActivate={() => onSelect(action)}\n />\n </Menu.Item>\n )}\n </Fragment>\n ))}\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 menu = useMenu({\n positioning,\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 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 keyboardTrigger.current = event.currentTarget;\n }}\n onContextMenu={(event) => {\n keyboardTrigger.current = null;\n if (actions.length > 0 && !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 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 } from \"react\";\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\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 >\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\nexport const createResourceContextActions = (\n items: NonNullable<ListRowItem[\"contextMenuItems\"]>,\n): 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 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 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 { Checkbox as ChakraCheckbox } from \"@chakra-ui/react\";\nimport * as React from \"react\";\n\nexport interface CheckboxProps extends ChakraCheckbox.RootProps {\n icon?: React.ReactNode;\n inputProps?: React.InputHTMLAttributes<HTMLInputElement>;\n rootRef?: React.RefObject<HTMLLabelElement | null>;\n}\n\nexport const Checkbox = React.forwardRef<HTMLInputElement, CheckboxProps>(function Checkbox(props, ref) {\n const { icon, children, inputProps, rootRef, disabled = false, readOnly = false, ...rest } = props;\n const enabledCursor = readOnly ? \"default\" : \"pointer\";\n const interactiveCursor = disabled ? \"not-allowed\" : enabledCursor;\n\n return (\n <ChakraCheckbox.Root ref={rootRef} disabled={disabled} readOnly={readOnly} cursor={interactiveCursor} {...rest}>\n <ChakraCheckbox.HiddenInput ref={ref} {...inputProps} />\n <ChakraCheckbox.Control\n bg=\"bg\"\n borderColor=\"border\"\n color=\"fg.button.primary.default\"\n cursor={interactiveCursor}\n transition=\"border-color 0.2s ease-in-out\"\n boxShadow=\"none\"\n _hover={{ borderColor: \"border.accent-light\" }}\n _active={{ borderColor: \"border.accent-light\" }}\n _focusVisible={{ borderColor: \"border.accent-light\", outline: \"none\", boxShadow: \"none\" }}\n _checked={{\n bg: \"bg.button.primary.default\",\n borderColor: \"bg.button.primary.default\",\n color: \"fg.button.primary.default\",\n _hover: { borderColor: \"bg.button.primary.default\" },\n _active: { borderColor: \"bg.button.primary.default\" },\n }}\n _indeterminate={{\n bg: \"bg.button.primary.default\",\n borderColor: \"bg.button.primary.default\",\n color: \"fg.button.primary.default\",\n _hover: { borderColor: \"bg.button.primary.default\" },\n _active: { borderColor: \"bg.button.primary.default\" },\n }}\n >\n {icon ? <ChakraCheckbox.Indicator>{icon}</ChakraCheckbox.Indicator> : <ChakraCheckbox.Indicator />}\n </ChakraCheckbox.Control>\n {children != null && <ChakraCheckbox.Label cursor={interactiveCursor}>{children}</ChakraCheckbox.Label>}\n </ChakraCheckbox.Root>\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 { Checkbox } from \"@/components/primitives/checkbox\";\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 <Checkbox\n checked={Boolean(item.isSelected)}\n readOnly\n pointerEvents=\"none\"\n size={item.variant === \"compact\" ? \"xs\" : \"sm\"}\n inputProps={{ tabIndex: -1, \"aria-hidden\": true }}\n />\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 isSelected={!multiple && item.isSelected}\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} onClick={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 } 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 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\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`} 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 ...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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"}