@pstdio/ui 0.15.0 → 0.16.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 (216) hide show
  1. package/dist/{MermaidComponent-DBJsTOmj.js → MermaidComponent-BCMQqPqu.js} +11 -11
  2. package/dist/{MermaidComponent-DBJsTOmj.js.map → MermaidComponent-BCMQqPqu.js.map} +1 -1
  3. package/dist/browser-storage-BinyFNJX.js +40 -0
  4. package/dist/browser-storage-BinyFNJX.js.map +1 -0
  5. package/dist/chat-ui.js +1188 -1147
  6. package/dist/chat-ui.js.map +1 -1
  7. package/dist/checkbox-D5AzFRlb.js +70 -0
  8. package/dist/checkbox-D5AzFRlb.js.map +1 -0
  9. package/dist/components/chat-ui/components/ai-conversation.d.ts +1 -1
  10. package/dist/components/chat-ui/components/ai-message.d.ts +1 -1
  11. package/dist/components/chat-ui/components/ai-response.d.ts +0 -1
  12. package/dist/components/chat-ui/components/attachment-list.d.ts +1 -1
  13. package/dist/components/chat-ui/components/auto-scroll.d.ts +27 -0
  14. package/dist/components/chat-ui/components/chat-message-animation.d.ts +22 -0
  15. package/dist/components/chat-ui/components/timeline.d.ts +0 -2
  16. package/dist/components/chat-ui/performance/chat-performance-fixtures.d.ts +0 -1
  17. package/dist/components/chat-ui/tool-rendering/build-timeline.d.ts +2 -12
  18. package/dist/components/chat-ui/tool-rendering/shared.d.ts +1 -1
  19. package/dist/components/chat-ui/tool-rendering/types.d.ts +1 -2
  20. package/dist/components/command-palette/index.d.ts +4 -0
  21. package/dist/components/data-renderer/data-renderer-board.d.ts +1 -1
  22. package/dist/components/data-renderer/data-renderer-card.d.ts +1 -1
  23. package/dist/components/data-renderer/data-renderer-list.d.ts +1 -1
  24. package/dist/components/data-renderer/data-renderer.d.ts +1 -1
  25. package/dist/components/data-renderer/index.d.ts +18 -0
  26. package/dist/components/data-renderer/types.d.ts +0 -6
  27. package/dist/components/diff-viewer/diff-card.d.ts +1 -0
  28. package/dist/components/diff-viewer/diff-drawer-scroll.d.ts +0 -19
  29. package/dist/components/diff-viewer/diff-drawer.d.ts +1 -0
  30. package/dist/components/diff-viewer/index.d.ts +2 -0
  31. package/dist/components/diff-viewer/use-selected-diff-scroll.d.ts +7 -3
  32. package/dist/components/internal/style-guide.d.ts +14 -0
  33. package/dist/components/internal/token-editor-controls.d.ts +8 -0
  34. package/dist/components/internal/token-editor-data.d.ts +40 -0
  35. package/dist/components/internal/token-editor-state.d.ts +22 -0
  36. package/dist/components/layout/index.d.ts +6 -0
  37. package/dist/components/list-row/list-row.types.d.ts +1 -1
  38. package/dist/components/overlays/index.d.ts +12 -0
  39. package/dist/components/{search-modal-content.d.ts → overlays/search-modal-content.d.ts} +1 -1
  40. package/dist/components/{searchable-menu.d.ts → overlays/searchable-menu.d.ts} +1 -1
  41. package/dist/components/param-editor/index.d.ts +23 -0
  42. package/dist/components/param-editor/inputs/action-input.d.ts +13 -0
  43. package/dist/components/param-editor/inputs/anchor-grid-input.d.ts +12 -0
  44. package/dist/components/param-editor/inputs/anchor-grid.d.ts +4 -0
  45. package/dist/components/param-editor/inputs/file-accept.d.ts +22 -0
  46. package/dist/components/param-editor/inputs/file-drop-input.d.ts +14 -0
  47. package/dist/components/param-editor/inputs/numeric-value.d.ts +6 -0
  48. package/dist/components/param-editor/inputs/range-input.d.ts +17 -0
  49. package/dist/components/param-editor/inputs/range-value.d.ts +5 -0
  50. package/dist/components/param-editor/inputs/resource-input-chips.d.ts +15 -0
  51. package/dist/components/param-editor/inputs/resource-input.d.ts +18 -0
  52. package/dist/components/param-editor/inputs/segmented-input.d.ts +14 -0
  53. package/dist/components/param-editor/inputs/slider-marks.d.ts +5 -0
  54. package/dist/components/param-editor/inputs/vector-input.d.ts +17 -0
  55. package/dist/components/param-editor/inputs/vector-value.d.ts +7 -0
  56. package/dist/components/param-editor/param-editor-control-item.d.ts +15 -0
  57. package/dist/components/param-editor/param-editor-control-list.d.ts +5 -0
  58. package/dist/components/param-editor/param-editor-field-label.d.ts +1 -0
  59. package/dist/components/param-editor/param-editor-field.d.ts +11 -0
  60. package/dist/components/param-editor/param-editor-inline-group.d.ts +5 -0
  61. package/dist/components/param-editor/param-editor-section.d.ts +16 -0
  62. package/dist/components/param-editor/param-editor.d.ts +2 -1
  63. package/dist/components/param-editor/param-editor.types.d.ts +101 -19
  64. package/dist/components/{breadcrumb.d.ts → primitives/breadcrumb.d.ts} +1 -1
  65. package/dist/components/primitives/index.d.ts +28 -0
  66. package/dist/components/{number-input.d.ts → primitives/number-input.d.ts} +0 -2
  67. package/dist/components/{session-indicator.d.ts → primitives/session-indicator.d.ts} +2 -1
  68. package/dist/components/{tooltip.d.ts → primitives/tooltip.d.ts} +0 -1
  69. package/dist/components/rich-text/prompt-input/commands.d.ts +0 -17
  70. package/dist/components/rich-text/prompt-input/events.d.ts +0 -13
  71. package/dist/components/rich-text/prompt-input/plugins/CommentPlugin/nodes/CommentNode/CommentNode.d.ts +1 -2
  72. package/dist/components/rich-text/prompt-input/plugins/ReferencePlugin/nodes/ReferenceNode/ReferenceNode.d.ts +1 -2
  73. package/dist/components/rich-text/prompt-input/utils.d.ts +1 -2
  74. package/dist/components/rich-text/shared/plugins/MermaidPlugin/MermaidNode.d.ts +0 -1
  75. package/dist/components/rich-text/utils/inferResourceType.d.ts +1 -1
  76. package/dist/components/sidebar/sidebar.types.d.ts +1 -1
  77. package/dist/components/tab-strip/tab-visibility-filter.d.ts +1 -1
  78. package/dist/components/tag-editor/tag-editor-row.d.ts +1 -1
  79. package/dist/components/tag-editor/tag-editor.types.d.ts +1 -1
  80. package/dist/components/terminal/bind-session.d.ts +33 -0
  81. package/dist/components/terminal/index.d.ts +6 -0
  82. package/dist/components/terminal/scripted-bridge.d.ts +35 -0
  83. package/dist/components/terminal/terminal-contract.d.ts +22 -0
  84. package/dist/components/terminal/terminal-theme.d.ts +12 -0
  85. package/dist/components/terminal/terminal.d.ts +45 -0
  86. package/dist/components/terminal/types.d.ts +35 -0
  87. package/dist/components/terminal/use-terminal-session.d.ts +21 -0
  88. package/dist/components/tree-list/tree-list-order-filter.d.ts +1 -2
  89. package/dist/components/tree-list/tree-list-visibility-filter.d.ts +1 -1
  90. package/dist/components/tree-list/tree-list.d.ts +1 -1
  91. package/dist/data-renderer.js +1669 -0
  92. package/dist/data-renderer.js.map +1 -0
  93. package/dist/diff-editor-BnfV8cYB.js +182 -0
  94. package/dist/diff-editor-BnfV8cYB.js.map +1 -0
  95. package/dist/diff.js +1313 -0
  96. package/dist/diff.js.map +1 -0
  97. package/dist/empty-state-Bo4HVrgr.js +34 -0
  98. package/dist/empty-state-Bo4HVrgr.js.map +1 -0
  99. package/dist/foundations/gallery/gallery-frame.d.ts +21 -0
  100. package/dist/foundations/gallery/sections/badges-section.d.ts +1 -0
  101. package/dist/foundations/gallery/sections/buttons-section.d.ts +1 -0
  102. package/dist/foundations/gallery/sections/composite-chat-section.d.ts +1 -0
  103. package/dist/foundations/gallery/sections/composites-section.d.ts +1 -0
  104. package/dist/foundations/gallery/sections/feedback-section.d.ts +1 -0
  105. package/dist/foundations/gallery/sections/input-authoring-card.d.ts +1 -0
  106. package/dist/foundations/gallery/sections/inputs-section.d.ts +1 -0
  107. package/dist/foundations/gallery/sections/layout-section.d.ts +1 -0
  108. package/dist/foundations/gallery/sections/navigation-identity-section.d.ts +1 -0
  109. package/dist/foundations/gallery/sections/overlays-section.d.ts +1 -0
  110. package/dist/foundations/gallery/sections/panels-section.d.ts +1 -0
  111. package/dist/foundations/gallery/sections/param-editor-composite-card.d.ts +1 -0
  112. package/dist/foundations/gallery/sections/settings-composite-cards.d.ts +1 -0
  113. package/dist/index.d.ts +11 -84
  114. package/dist/index.js +3570 -7569
  115. package/dist/index.js.map +1 -1
  116. package/dist/list-row-mi3Hn-Um.js +740 -0
  117. package/dist/list-row-mi3Hn-Um.js.map +1 -0
  118. package/dist/mermaid-renderer-DZo3qj6D.js +425 -0
  119. package/dist/mermaid-renderer-DZo3qj6D.js.map +1 -0
  120. package/dist/mermaid.js +5 -0
  121. package/dist/mermaid.js.map +1 -0
  122. package/dist/radio-cLMEBBZk.js +76 -0
  123. package/dist/radio-cLMEBBZk.js.map +1 -0
  124. package/dist/resource-badge-qCWHP-wQ.js +99 -0
  125. package/dist/resource-badge-qCWHP-wQ.js.map +1 -0
  126. package/dist/{rich-message-DNSEhxXh.js → rich-message-DBf_5YlW.js} +462 -481
  127. package/dist/rich-message-DBf_5YlW.js.map +1 -0
  128. package/dist/rich-text.js +300 -299
  129. package/dist/rich-text.js.map +1 -1
  130. package/dist/scroll-area-BMbg1WcD.js +91 -0
  131. package/dist/scroll-area-BMbg1WcD.js.map +1 -0
  132. package/dist/style.css +1 -1
  133. package/dist/terminal.js +339 -0
  134. package/dist/terminal.js.map +1 -0
  135. package/dist/theme/global.d.ts +3 -0
  136. package/dist/theme/recipes/badge.d.ts +50 -0
  137. package/dist/theme/recipes/button.d.ts +24 -19
  138. package/dist/theme/recipes/color-picker.d.ts +1 -0
  139. package/dist/theme/recipes/dialog.d.ts +1 -1
  140. package/dist/theme/recipes/drawer.d.ts +1 -1
  141. package/dist/theme/recipes/input.d.ts +55 -0
  142. package/dist/theme/recipes/number-input.d.ts +98 -0
  143. package/dist/theme/recipes/tabs.d.ts +49 -28
  144. package/dist/theme/recipes/textarea.d.ts +62 -1
  145. package/dist/theme/recipes/timeline.d.ts +74 -0
  146. package/dist/theme/tokens/borders.d.ts +0 -3
  147. package/dist/theme/tokens/colors.d.ts +100 -70
  148. package/dist/{theme-25P7ij4C.js → theme-CJBYBJaA.js} +1194 -315
  149. package/dist/theme-CJBYBJaA.js.map +1 -0
  150. package/dist/theme-preference-DOzHx64J.js +123 -0
  151. package/dist/theme-preference-DOzHx64J.js.map +1 -0
  152. package/dist/theme.js +1 -1
  153. package/dist/tree-list-CcuZMLS5.js +930 -0
  154. package/dist/tree-list-CcuZMLS5.js.map +1 -0
  155. package/dist/workspace-badge-Fuo-1zPj.js +314 -0
  156. package/dist/workspace-badge-Fuo-1zPj.js.map +1 -0
  157. package/package.json +23 -3
  158. package/dist/components/file-tree-helpers.d.ts +0 -8
  159. package/dist/components/open-source-notices-screen.d.ts +0 -20
  160. package/dist/components/param-editor/input-group.d.ts +0 -10
  161. package/dist/components/rich-text/shared/plugins/MermaidPlugin/index.d.ts +0 -1
  162. package/dist/components/rich-text/shared/plugins/TableActionMenuPlugin/TableActionMenuPlugin.d.ts +0 -5
  163. package/dist/components/rich-text/shared/plugins/TableCellResizerPlugin/TableCellResizerPlugin.d.ts +0 -2
  164. package/dist/components/rich-text/theme/report-theme.d.ts +0 -3
  165. package/dist/components/style-guide-data.d.ts +0 -40
  166. package/dist/components/style-guide.d.ts +0 -1
  167. package/dist/mermaid-renderer-CPGj6vsb.js +0 -570
  168. package/dist/mermaid-renderer-CPGj6vsb.js.map +0 -1
  169. package/dist/radio-DJtQY9po.js +0 -286
  170. package/dist/radio-DJtQY9po.js.map +0 -1
  171. package/dist/resource-badge-CeJTOn8F.js +0 -188
  172. package/dist/resource-badge-CeJTOn8F.js.map +0 -1
  173. package/dist/rich-message-DNSEhxXh.js.map +0 -1
  174. package/dist/theme-25P7ij4C.js.map +0 -1
  175. package/dist/utils/formats.d.ts +0 -7
  176. /package/dist/components/{palette-filter.d.ts → command-palette/palette-filter.d.ts} +0 -0
  177. /package/dist/components/{palette-list.d.ts → command-palette/palette-list.d.ts} +0 -0
  178. /package/dist/components/{palette-shortcut.d.ts → command-palette/palette-shortcut.d.ts} +0 -0
  179. /package/dist/components/{palette.d.ts → command-palette/palette.d.ts} +0 -0
  180. /package/dist/components/{code-editor.d.ts → diff-viewer/code-editor.d.ts} +0 -0
  181. /package/dist/components/{column-file-browser.d.ts → file-browser/column-file-browser.d.ts} +0 -0
  182. /package/dist/components/{performance-panel.d.ts → internal/performance-panel.d.ts} +0 -0
  183. /package/dist/components/{header.d.ts → layout/header.d.ts} +0 -0
  184. /package/dist/components/{horizontal-menu-stack.d.ts → layout/horizontal-menu-stack.d.ts} +0 -0
  185. /package/dist/components/{item-section.d.ts → layout/item-section.d.ts} +0 -0
  186. /package/dist/components/{panel-header.constants.d.ts → layout/panel-header.constants.d.ts} +0 -0
  187. /package/dist/components/{resizable-split-layout.d.ts → layout/resizable-split-layout.d.ts} +0 -0
  188. /package/dist/components/{resizable-split-layout.handle.d.ts → layout/resizable-split-layout.handle.d.ts} +0 -0
  189. /package/dist/components/{attached-panel.d.ts → overlays/attached-panel.d.ts} +0 -0
  190. /package/dist/components/{bubble-button.d.ts → overlays/bubble-button.d.ts} +0 -0
  191. /package/dist/components/{bubble-panel.d.ts → overlays/bubble-panel.d.ts} +0 -0
  192. /package/dist/components/{delete-confirmation-modal.d.ts → overlays/delete-confirmation-modal.d.ts} +0 -0
  193. /package/dist/components/{repo-picker-dialog.d.ts → overlays/repo-picker-dialog.d.ts} +0 -0
  194. /package/dist/components/{resource-context-menu.d.ts → overlays/resource-context-menu.d.ts} +0 -0
  195. /package/dist/components/param-editor/{color-input.d.ts → inputs/color-input.d.ts} +0 -0
  196. /package/dist/components/param-editor/{date-input.d.ts → inputs/date-input.d.ts} +0 -0
  197. /package/dist/components/param-editor/{horizontal-text-input.d.ts → inputs/horizontal-text-input.d.ts} +0 -0
  198. /package/dist/components/param-editor/{number-input.d.ts → inputs/number-input.d.ts} +0 -0
  199. /package/dist/components/param-editor/{selection-input.d.ts → inputs/selection-input.d.ts} +0 -0
  200. /package/dist/components/param-editor/{text-input.d.ts → inputs/text-input.d.ts} +0 -0
  201. /package/dist/components/{alert.d.ts → primitives/alert.d.ts} +0 -0
  202. /package/dist/components/{checkbox.d.ts → primitives/checkbox.d.ts} +0 -0
  203. /package/dist/components/{content-placeholder.d.ts → primitives/content-placeholder.d.ts} +0 -0
  204. /package/dist/components/{empty-state.d.ts → primitives/empty-state.d.ts} +0 -0
  205. /package/dist/components/{error-boundary.d.ts → primitives/error-boundary.d.ts} +0 -0
  206. /package/dist/components/{icon-color-picker.d.ts → primitives/icon-color-picker.d.ts} +0 -0
  207. /package/dist/components/{info-card.d.ts → primitives/info-card.d.ts} +0 -0
  208. /package/dist/components/{integration-card.d.ts → primitives/integration-card.d.ts} +0 -0
  209. /package/dist/components/{radio.d.ts → primitives/radio.d.ts} +0 -0
  210. /package/dist/components/{resource-badge.d.ts → primitives/resource-badge.d.ts} +0 -0
  211. /package/dist/components/{scroll-area.d.ts → primitives/scroll-area.d.ts} +0 -0
  212. /package/dist/components/{simple-card.d.ts → primitives/simple-card.d.ts} +0 -0
  213. /package/dist/components/{slider.d.ts → primitives/slider.d.ts} +0 -0
  214. /package/dist/components/{switch.d.ts → primitives/switch.d.ts} +0 -0
  215. /package/dist/components/{toaster.d.ts → primitives/toaster.d.ts} +0 -0
  216. /package/dist/components/{workspace-badge.d.ts → primitives/workspace-badge.d.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-row-mi3Hn-Um.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.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.tsx"],"sourcesContent":["import { Menu, Portal } from \"@chakra-ui/react\";\nimport { type ComponentProps, Fragment, 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 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}\n\nexport const ResourceContextMenu = (props: ResourceContextMenuProps) => {\n const {\n actions,\n children,\n contentMinWidth = \"220px\",\n contentBackground = \"bg\",\n positioning = { placement: \"bottom-start\" },\n closeOnSelect,\n } = props;\n\n if (actions.length === 0) {\n return <>{children}</>;\n }\n\n return (\n <Menu.Root positioning={positioning} closeOnSelect={closeOnSelect}>\n <Menu.ContextTrigger asChild>{children}</Menu.ContextTrigger>\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 </Menu.Root>\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 (\n <ResourceContextMenu actions={createResourceContextActions(item.contextMenuItems)} contentMinWidth=\"180px\">\n {row}\n </ResourceContextMenu>\n );\n};\n","import { HStack, type StackProps } from \"@chakra-ui/react\";\nimport * as React from \"react\";\n\nexport type HeaderVariant = \"main\" | \"narrow\" | \"input\";\n\ninterface HeaderVariantStyles {\n h: string;\n px: string;\n}\n\nconst headerVariantStyles: Record<HeaderVariant, HeaderVariantStyles> = {\n main: {\n h: \"2.5rem\",\n px: \"xs\",\n },\n narrow: {\n h: \"2rem\",\n px: \"xs\",\n },\n input: {\n h: \"3rem\",\n px: \"0\",\n },\n};\n\nexport interface HeaderProps extends Omit<StackProps, \"variant\"> {\n variant?: HeaderVariant;\n}\n\nexport const Header = React.forwardRef<HTMLDivElement, HeaderProps>(function Header(props, ref) {\n const { variant = \"main\", children, ...rest } = props;\n\n return (\n <HStack ref={ref} as=\"header\" alignItems=\"center\" borderWidth=\"0\" {...headerVariantStyles[variant]} {...rest}>\n {children}\n </HStack>\n );\n});\n","import { Box, Icon, Input, InputGroup, Menu, Portal } from \"@chakra-ui/react\";\nimport { ChevronDown, Search } 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\";\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\nconst portalledMenuLayerZIndex = \"calc(var(--chakra-z-index-popover) + 2)\";\n\nconst searchInputChromeProps = {\n bg: \"transparent\",\n border: \"0\",\n borderColor: \"transparent\",\n borderRadius: \"0\",\n boxShadow: \"none\",\n transition: \"none\",\n _hover: { bg: \"transparent\", borderColor: \"transparent\" },\n _active: { bg: \"transparent\", borderColor: \"transparent\" },\n _focus: { borderColor: \"transparent\", outline: \"none\", boxShadow: \"none\" },\n _focusVisible: { borderColor: \"transparent\", outline: \"none\", boxShadow: \"none\" },\n} as const;\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 <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 value={query}\n placeholder={config.searchPlaceholder}\n aria-label={config.searchPlaceholder}\n autoComplete=\"off\"\n {...searchInputChromeProps}\n onChange={(event) => setQuery(event.target.value)}\n onKeyDown={(event) => event.stopPropagation()}\n />\n </InputGroup>\n </Header>\n ) : null;\n\n const menuPositioner = (\n <Menu.Positioner pointerEvents=\"auto\">\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}>\n {portalled ? (\n <Box position=\"fixed\" inset=\"0\" pointerEvents=\"none\" zIndex={portalledMenuLayerZIndex}>\n {menuPositioner}\n </Box>\n ) : (\n menuPositioner\n )}\n </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 } 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}\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, context } = props;\n if (actions.length === 0) return null;\n\n return (\n <HStack\n gap=\"0\"\n opacity=\"0\"\n pointerEvents=\"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 <Menu.Positioner>\n <Menu.Content minW=\"160px\" bg=\"bg\">\n {action.menuItems.map((item) => (\n <Tooltip key={item.id} 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 ))}\n </Menu.Content>\n </Menu.Positioner>\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 { 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\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) => {\n const { item, isExpanded, showChevron, isDisabled, variant, tone } = props;\n const isEmptyStateVariant = variant === \"empty-state\";\n const isDenseVariant = variant === \"compact\" || variant === \"full-width\" || variant === \"tree\" || 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\" ? \"16px\" : \"14px\";\n const iconLabelGap = variant === \"tree\" ? \"1\" : \"2\";\n\n const labelColor = resolveLabelColor({ isEmptyStateVariant, isDisabled, tone });\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 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 item: ListRowItem;\n isExpanded: boolean;\n showChevron: boolean;\n isDisabled: boolean;\n tone: ListRowProps[\"tone\"];\n variant: ListRowProps[\"variant\"];\n}) => {\n const { item, isDisabled, isExpanded, showChevron, tone = \"default\", variant = \"default\" } = props;\n\n return (\n <>\n <RowContent\n item={item}\n isExpanded={isExpanded}\n showChevron={showChevron}\n isDisabled={isDisabled}\n tone={tone}\n variant={variant}\n />\n {item.endContent ? (\n <Box flexShrink={0} color=\"fg.muted\" display=\"flex\" alignItems=\"center\">\n {item.endContent}\n </Box>\n ) : null}\n {item.actions && item.actions.length > 0 ? (\n <RowActions actions={item.actions} context={{ nodeId: item.id }} />\n ) : null}\n </>\n );\n};\n","import { chakra } from \"@chakra-ui/react\";\nimport {\n type ComponentPropsWithoutRef,\n forwardRef,\n type ReactElement,\n type KeyboardEvent as ReactKeyboardEvent,\n type MouseEvent as ReactMouseEvent,\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\";\n\ntype ListRowRootProps = ComponentPropsWithoutRef<typeof chakra.div>;\n\nconst 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\nconst resolveListRowSizing = (variant: ListRowProps[\"variant\"], hasDescription: boolean) => {\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\") return { outline: \"1px solid\", outlineColor: \"red.500\", outlineOffset: \"-1px\" };\n return { bg: input.hoverBg };\n })(),\n _active: input.variant === \"empty-state\" ? { bg: \"transparent\" } : { bg: input.selectedBg },\n});\n\nconst createListRowRootProps = (input: {\n rootProps: ListRowRootProps;\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 ...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\" ? \"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\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 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\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;\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 if (onActivate) {\n onActivate();\n return;\n }\n item.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 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 item={item}\n isExpanded={isExpanded}\n showChevron={showChevron}\n isDisabled={isDisabled}\n tone={tone}\n variant={variant}\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":["ResourceContextMenu","props","$","_c","actions","children","contentMinWidth","t0","contentBackground","t1","positioning","t2","closeOnSelect","undefined","t3","placement","length","t4","Menu","t5","map","_temp","t6","Portal","jsx","t7","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","filterSearchableMenuItems","query","normalizedQuery","trim","toLowerCase","filter","searchText","Boolean","join","includes","shouldResetSearchableMenuQuery","currentListId","nextListId","resolveActiveListConfig","isShowingParent","parentList","childConfig","filterItems","showSearch","searchPlaceholder","emptyState","contentTestId","listId","portalledMenuLayerZIndex","searchInputChromeProps","bg","border","borderColor","borderRadius","boxShadow","transition","_hover","_active","_focus","outline","_focusVisible","SearchableMenu","trigger","header","width","maxListHeight","lazyMount","onFocusOutside","portalled","hasParentList","internalOpen","setInternalOpen","useState","setQuery","activeList","setActiveList","inputRef","useRef","isOpen","config","filteredItems","previousListIdRef","useEffect","current","timeout","setTimeout","focus","clearTimeout","t8","handleOpenChange","t9","details_0","find","i","value","handleMenuItemSelect","renderIcon","t10","item_0","secondaryLabel","tooltipLabel","buildRowItem","t11","ariaLabel","_temp2","event_0","event","stopPropagation","_temp3","selectedLabel","selectedIcon","ChevronDown","resolvedHeader","shouldShowSeparator","searchInput","InputGroup","Search","Input","event_1","target","_temp4","t12","t13","t14","t15","t16","t17","t18","T0","ScrollArea","t19","overscrollBehavior","t20","t21","t22","item_1","isSelected","t23","t24","Content","t25","Positioner","menuPositioner","t26","t27","t28","t29","t30","t31","event_2","SearchableActionMenu","IconButton","emptyMenuLabel","preventDefault","keyedTooltip","child","RowActions","context","pointerEvents","resolveLabelColor","isEmptyStateVariant","tone","RowLabel","textStyle","color","RowDescription","marginLeft","RowContent","isExpanded","showChevron","isDenseVariant","labelTextStyle","descriptionTextStyle","descriptionMarginLeft","iconPx","iconLabelGap","labelColor","iconColor","descriptionColor","ChevronRight","height","indicator","ListRowContent","nodeId","computePaddingLeft","depth","isFixedHeightDenseVariant","resolveListRowSizing","hasDescription","rowHeight","minHeight","createRowBackgroundProps","selectedBg","outlineColor","outlineOffset","hoverBg","createListRowRootProps","rootProps","role","rowRole","className","minWidth","maxWidth","display","alignItems","justifyContent","gap","py","verticalPadding","pl","paddingLeft","overflow","textAlign","textDecoration","isContainer","isNavigable","href","navigationIntent","onActivate","showExpandToggle","asChild","roleProp","onToggleExpand","onPointerMove","draggable","onDragStart","onDragOver","onDragEnd","onDrop","onKeyDown","setMenuOpen","dragProps","hasChildren","hasMenuItems","hasActions","handleActivate","defaultPrevented","handleClick","handleMenuClick","handleKeyDown","activationProps","rowProps","content","children_0","menuItem","wrap","chakra","tabIndex","current_0"],"mappings":"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"}
@@ -0,0 +1,425 @@
1
+ import { jsx as d, jsxs as S } from "react/jsx-runtime";
2
+ import { c as T } from "react/compiler-runtime";
3
+ import { Text as X, Box as H, Dialog as A, Stack as Y, Portal as he, Icon as V, Button as ue, IconButton as W } from "@chakra-ui/react";
4
+ import { useState as $, useRef as le, useEffect as K } from "react";
5
+ import { S as ge, T as Q } from "./scroll-area-BMbg1WcD.js";
6
+ import { Download as pe, X as be, Pencil as xe, Maximize2 as we, Plus as ye, Minus as ve } from "lucide-react";
7
+ import se from "mermaid";
8
+ import { u as Se, g as Me } from "./theme-preference-DOzHx64J.js";
9
+ const ae = 0.5, ce = 3, de = 0.25, ee = (n) => Number(Math.min(ce, Math.max(ae, n)).toFixed(2)), Pe = (n) => ee(n + de), _e = (n) => ee(n - de), te = (n) => {
10
+ if (!n)
11
+ return 0;
12
+ const e = Number.parseFloat(n);
13
+ return Number.isFinite(e) ? e : 0;
14
+ }, J = (n, e) => n.match(new RegExp(`\\s${e}="([^"]+)"`))?.[1], me = (n) => {
15
+ const e = J(n, "viewBox")?.split(/\s+/).map(Number) ?? [], t = e[2] ?? 0, o = e[3] ?? 0;
16
+ return t > 0 && o > 0 ? {
17
+ width: t,
18
+ height: o
19
+ } : {
20
+ width: Math.max(te(J(n, "width")), 1),
21
+ height: Math.max(te(J(n, "height")), 1)
22
+ };
23
+ }, ze = (n) => n.replace(/<br(\s[^>]*)?>/g, "<br$1/>"), Ie = (n) => {
24
+ const {
25
+ width: e,
26
+ height: t
27
+ } = me(n), o = n.replace(/<svg\b[^>]*>/, (c) => {
28
+ const s = /\swidth=/.test(c) ? c.replace(/\swidth="[^"]*"/, ` width="${e}"`) : c.replace("<svg", `<svg width="${e}"`);
29
+ return /\sheight=/.test(s) ? s.replace(/\sheight="[^"]*"/, ` height="${t}"`) : s.replace("<svg", `<svg height="${t}"`);
30
+ });
31
+ return ze(o);
32
+ }, fe = (n) => {
33
+ const e = new TextEncoder().encode(Ie(n));
34
+ let t = "";
35
+ for (const o of e)
36
+ t += String.fromCharCode(o);
37
+ return `data:image/svg+xml;base64,${btoa(t)}`;
38
+ }, Re = (n) => new Promise((e, t) => {
39
+ const o = new Image();
40
+ o.style.position = "fixed", o.style.left = "-10000px", o.style.top = "0", o.style.pointerEvents = "none", o.onload = () => e({
41
+ image: o,
42
+ cleanup: () => o.remove()
43
+ }), o.onerror = () => {
44
+ o.remove(), t(new Error("Failed to load rendered Mermaid SVG for PNG export."));
45
+ }, document.body.append(o), o.src = n;
46
+ }), Ce = (n) => new Promise((e, t) => {
47
+ n.toBlob((o) => {
48
+ if (o) {
49
+ e(o);
50
+ return;
51
+ }
52
+ t(new Error("Failed to encode Mermaid diagram as PNG."));
53
+ }, "image/png");
54
+ }), Ee = (n, e) => {
55
+ const t = URL.createObjectURL(n), o = document.createElement("a");
56
+ o.href = t, o.download = e, document.body.append(o), o.click(), o.remove(), window.setTimeout(() => URL.revokeObjectURL(t), 0);
57
+ }, Ze = async (n) => {
58
+ const {
59
+ svg: e,
60
+ zoom: t,
61
+ filename: o = "mermaid-diagram.png"
62
+ } = n, c = fe(e), {
63
+ image: s,
64
+ cleanup: a
65
+ } = await Re(c);
66
+ try {
67
+ const {
68
+ width: i,
69
+ height: r
70
+ } = me(e), u = ee(t), l = document.createElement("canvas");
71
+ l.width = Math.ceil(i * u), l.height = Math.ceil(r * u);
72
+ const m = l.getContext("2d");
73
+ if (!m)
74
+ throw new Error("Canvas rendering is unavailable for Mermaid PNG export.");
75
+ m.scale(u, u), m.drawImage(s, 0, 0, i, r), Ee(await Ce(l), o);
76
+ } finally {
77
+ a();
78
+ }
79
+ }, De = (n) => {
80
+ const e = T(9), {
81
+ code: t,
82
+ error: o
83
+ } = n;
84
+ let c;
85
+ e[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (c = /* @__PURE__ */ d(X, { color: "fg.error", textStyle: "label/S/medium", children: "Mermaid parse failed" }), e[0] = c) : c = e[0];
86
+ let s;
87
+ e[1] !== o ? (s = /* @__PURE__ */ d(X, { color: "fg.muted", textStyle: "label/S/regular", mt: "2xs", whiteSpace: "pre-wrap", children: o }), e[1] = o, e[2] = s) : s = e[2];
88
+ let a;
89
+ e[3] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (a = {
90
+ p: "sm"
91
+ }, e[3] = a) : a = e[3];
92
+ let i;
93
+ e[4] !== t ? (i = /* @__PURE__ */ d(ge, { mt: "sm", borderRadius: "sm", bg: "bg.muted", showHorizontalScrollbar: !0, showVerticalScrollbar: !1, contentProps: a, children: /* @__PURE__ */ d(H, { as: "pre", m: "0", fontSize: "sm", children: t }) }), e[4] = t, e[5] = i) : i = e[5];
94
+ let r;
95
+ return e[6] !== s || e[7] !== i ? (r = /* @__PURE__ */ S(H, { role: "alert", borderRadius: "sm", bg: "bg.panel", p: "sm", children: [
96
+ c,
97
+ s,
98
+ i
99
+ ] }), e[6] = s, e[7] = i, e[8] = r) : r = e[8], r;
100
+ }, Oe = (n) => {
101
+ const e = T(24), {
102
+ children: t,
103
+ canDownload: o,
104
+ open: c,
105
+ onClose: s,
106
+ onDownload: a
107
+ } = n;
108
+ let i;
109
+ e[0] !== s ? (i = (R) => !R.open && s(), e[0] = s, e[1] = i) : i = e[1];
110
+ let r;
111
+ e[2] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (r = /* @__PURE__ */ d(A.Backdrop, {}), e[2] = r) : r = e[2];
112
+ let u;
113
+ e[3] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (u = {
114
+ base: "sm",
115
+ md: "lg"
116
+ }, e[3] = u) : u = e[3];
117
+ let l;
118
+ e[4] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (l = /* @__PURE__ */ d(A.Title, { asChild: !0, children: /* @__PURE__ */ d(X, { textStyle: "heading/S", children: "Mermaid diagram" }) }), e[4] = l) : l = e[4];
119
+ const m = !o;
120
+ let f;
121
+ e[5] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (f = /* @__PURE__ */ d(V, { as: pe, boxSize: "16px" }), e[5] = f) : f = e[5];
122
+ let g;
123
+ e[6] !== a || e[7] !== m ? (g = /* @__PURE__ */ S(ue, { size: "sm", variant: "subtle", onClick: a, disabled: m, children: [
124
+ f,
125
+ "Download as PNG"
126
+ ] }), e[6] = a, e[7] = m, e[8] = g) : g = e[8];
127
+ let b;
128
+ e[9] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (b = /* @__PURE__ */ d(V, { as: be, boxSize: "16px" }), e[9] = b) : b = e[9];
129
+ let h;
130
+ e[10] !== s ? (h = /* @__PURE__ */ d(W, { "aria-label": "Close", size: "sm", variant: "ghost", onClick: s, children: b }), e[10] = s, e[11] = h) : h = e[11];
131
+ let x;
132
+ e[12] !== g || e[13] !== h ? (x = /* @__PURE__ */ d(A.Header, { "data-testid": "mermaid-fullscreen-header", p: "sm", borderBottomWidth: "1px", borderColor: "border.subtle", children: /* @__PURE__ */ S(Y, { direction: "row", align: "center", justify: "space-between", width: "100%", gap: "sm", children: [
133
+ l,
134
+ /* @__PURE__ */ S(Y, { direction: "row", align: "center", gap: "xs", children: [
135
+ g,
136
+ h
137
+ ] })
138
+ ] }) }), e[12] = g, e[13] = h, e[14] = x) : x = e[14];
139
+ let w;
140
+ e[15] !== t ? (w = /* @__PURE__ */ d(A.Body, { "data-testid": "mermaid-fullscreen-body", p: "0", flex: "1", minH: "0", children: t }), e[15] = t, e[16] = w) : w = e[16];
141
+ let y;
142
+ e[17] !== w || e[18] !== x ? (y = /* @__PURE__ */ S(he, { children: [
143
+ r,
144
+ /* @__PURE__ */ d(A.Positioner, { padding: u, children: /* @__PURE__ */ S(A.Content, { width: "min(72rem, calc(100vw - 2rem))", height: "min(48rem, calc(100dvh - 2rem))", maxW: "none", borderRadius: "xs", overflow: "hidden", display: "flex", flexDirection: "column", children: [
145
+ x,
146
+ w
147
+ ] }) })
148
+ ] }), e[17] = w, e[18] = x, e[19] = y) : y = e[19];
149
+ let p;
150
+ return e[20] !== c || e[21] !== i || e[22] !== y ? (p = /* @__PURE__ */ d(A.Root, { lazyMount: !0, unmountOnExit: !0, open: c, onOpenChange: i, children: y }), e[20] = c, e[21] = i, e[22] = y, e[23] = p) : p = e[23], p;
151
+ }, $e = (n) => {
152
+ const e = T(9), {
153
+ isEditable: t,
154
+ onRequestEdit: o,
155
+ onOpenFullscreen: c
156
+ } = n;
157
+ let s;
158
+ e[0] !== t || e[1] !== o ? (s = t && o ? /* @__PURE__ */ d(Q, { content: "Edit source", children: /* @__PURE__ */ d(W, { "aria-label": "Edit", size: "xs", variant: "subtle", onClick: o, children: /* @__PURE__ */ d(V, { as: xe, boxSize: "14px" }) }) }) : null, e[0] = t, e[1] = o, e[2] = s) : s = e[2];
159
+ let a;
160
+ e[3] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (a = /* @__PURE__ */ d(V, { as: we, boxSize: "14px" }), e[3] = a) : a = e[3];
161
+ let i;
162
+ e[4] !== c ? (i = /* @__PURE__ */ d(Q, { content: "Open diagram", children: /* @__PURE__ */ d(W, { "aria-label": "Open diagram", size: "xs", variant: "subtle", onClick: c, children: a }) }), e[4] = c, e[5] = i) : i = e[5];
163
+ let r;
164
+ return e[6] !== s || e[7] !== i ? (r = /* @__PURE__ */ S(Y, { "data-testid": "mermaid-inline-toolbar", direction: "row", justify: "flex-end", align: "center", gap: "xs", position: "absolute", top: "sm", right: "sm", zIndex: "1", onPointerDown: Ae, children: [
165
+ s,
166
+ i
167
+ ] }), e[6] = s, e[7] = i, e[8] = r) : r = e[8], r;
168
+ }, Fe = (n) => {
169
+ const e = T(17), {
170
+ zoom: t,
171
+ onZoomChange: o
172
+ } = n;
173
+ let c;
174
+ e[0] !== o || e[1] !== t ? (c = () => o(Pe(t)), e[0] = o, e[1] = t, e[2] = c) : c = e[2];
175
+ const s = t >= ce;
176
+ let a;
177
+ e[3] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (a = /* @__PURE__ */ d(V, { as: ye, boxSize: "14px" }), e[3] = a) : a = e[3];
178
+ let i;
179
+ e[4] !== c || e[5] !== s ? (i = /* @__PURE__ */ d(Q, { content: "Zoom in", children: /* @__PURE__ */ d(W, { "aria-label": "Zoom in", size: "xs", variant: "subtle", onClick: c, disabled: s, children: a }) }), e[4] = c, e[5] = s, e[6] = i) : i = e[6];
180
+ let r;
181
+ e[7] !== o || e[8] !== t ? (r = () => o(_e(t)), e[7] = o, e[8] = t, e[9] = r) : r = e[9];
182
+ const u = t <= ae;
183
+ let l;
184
+ e[10] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (l = /* @__PURE__ */ d(V, { as: ve, boxSize: "14px" }), e[10] = l) : l = e[10];
185
+ let m;
186
+ e[11] !== r || e[12] !== u ? (m = /* @__PURE__ */ d(Q, { content: "Zoom out", children: /* @__PURE__ */ d(W, { "aria-label": "Zoom out", size: "xs", variant: "subtle", onClick: r, disabled: u, children: l }) }), e[11] = r, e[12] = u, e[13] = m) : m = e[13];
187
+ let f;
188
+ return e[14] !== i || e[15] !== m ? (f = /* @__PURE__ */ S(Y, { "data-testid": "mermaid-zoom-controls", gap: "2xs", position: "absolute", right: "sm", bottom: "sm", zIndex: "1", onPointerDown: He, children: [
189
+ i,
190
+ m
191
+ ] }), e[14] = i, e[15] = m, e[16] = f) : f = e[16], f;
192
+ };
193
+ function Ae(n) {
194
+ return n.stopPropagation();
195
+ }
196
+ function He(n) {
197
+ return n.stopPropagation();
198
+ }
199
+ const Te = (n) => {
200
+ const e = T(42), {
201
+ allowPanAtDefaultZoom: t,
202
+ maxHeight: o,
203
+ minHeight: c,
204
+ overlayActions: s,
205
+ svg: a,
206
+ zoom: i,
207
+ onZoomChange: r
208
+ } = n, u = t === void 0 ? !1 : t, l = o === void 0 ? "420px" : o, m = c === void 0 ? "220px" : c;
209
+ let f;
210
+ e[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (f = {
211
+ x: 0,
212
+ y: 0
213
+ }, e[0] = f) : f = e[0];
214
+ const [g, b] = $(f), [h, x] = $(!1);
215
+ let w;
216
+ e[1] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (w = {
217
+ pointerId: -1,
218
+ x: 0,
219
+ y: 0
220
+ }, e[1] = w) : w = e[1];
221
+ const y = le(w), p = u || i > 1;
222
+ let R;
223
+ e[2] !== p || e[3] !== g.x || e[4] !== g.y ? (R = (v) => {
224
+ p && (y.current = {
225
+ pointerId: v.pointerId,
226
+ x: v.clientX - g.x,
227
+ y: v.clientY - g.y
228
+ }, x(!0), v.currentTarget.setPointerCapture(v.pointerId));
229
+ }, e[2] = p, e[3] = g.x, e[4] = g.y, e[5] = R) : R = e[5];
230
+ const F = R;
231
+ let C;
232
+ e[6] !== p || e[7] !== h ? (C = (v) => {
233
+ !p || !h || y.current.pointerId !== v.pointerId || b({
234
+ x: v.clientX - y.current.x,
235
+ y: v.clientY - y.current.y
236
+ });
237
+ }, e[6] = p, e[7] = h, e[8] = C) : C = e[8];
238
+ const Z = C;
239
+ let E;
240
+ e[9] !== p ? (E = (v) => {
241
+ !p || y.current.pointerId !== v.pointerId || (x(!1), v.currentTarget.releasePointerCapture(v.pointerId));
242
+ }, e[9] = p, e[10] = E) : E = e[10];
243
+ const G = E;
244
+ let M, P;
245
+ e[11] !== p ? (M = () => {
246
+ p || (b({
247
+ x: 0,
248
+ y: 0
249
+ }), x(!1));
250
+ }, P = [p], e[11] = p, e[12] = M, e[13] = P) : (M = e[12], P = e[13]), K(M, P);
251
+ const D = p ? h ? "grabbing" : "grab" : "default", z = p ? "none" : "auto";
252
+ let _;
253
+ e[14] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (_ = () => {
254
+ x(!1);
255
+ }, e[14] = _) : _ = e[14];
256
+ const I = p ? "true" : "false", O = `translate3d(${g.x}px, ${g.y}px, 0) scale(${i})`, B = p ? h ? "grabbing" : "grab" : "default";
257
+ let k;
258
+ e[15] !== l ? (k = {
259
+ "& img": {
260
+ display: "inline-block",
261
+ width: "auto",
262
+ maxWidth: "100%",
263
+ maxHeight: l,
264
+ height: "auto",
265
+ userSelect: "none"
266
+ }
267
+ }, e[15] = l, e[16] = k) : k = e[16];
268
+ let L;
269
+ e[17] !== a ? (L = fe(a), e[17] = a, e[18] = L) : L = e[18];
270
+ let N;
271
+ e[19] !== L ? (N = /* @__PURE__ */ d("img", { alt: "Mermaid diagram", draggable: !1, src: L }), e[19] = L, e[20] = N) : N = e[20];
272
+ let U;
273
+ e[21] !== l || e[22] !== I || e[23] !== O || e[24] !== B || e[25] !== k || e[26] !== N ? (U = /* @__PURE__ */ d(H, { "data-testid": "mermaid-diagram-transform", "data-pan-enabled": I, width: "100%", maxHeight: l, textAlign: "center", transform: O, transformOrigin: "top left", cursor: B, css: k, children: N }), e[21] = l, e[22] = I, e[23] = O, e[24] = B, e[25] = k, e[26] = N, e[27] = U) : U = e[27];
274
+ let j;
275
+ e[28] !== r || e[29] !== i ? (j = /* @__PURE__ */ d(Fe, { zoom: i, onZoomChange: r }), e[28] = r, e[29] = i, e[30] = j) : j = e[30];
276
+ let q;
277
+ return e[31] !== F || e[32] !== Z || e[33] !== G || e[34] !== l || e[35] !== m || e[36] !== s || e[37] !== D || e[38] !== z || e[39] !== U || e[40] !== j ? (q = /* @__PURE__ */ S(H, { "data-testid": "mermaid-diagram-surface", position: "relative", minHeight: m, maxHeight: l, overflow: "hidden", cursor: D, touchAction: z, onPointerDown: F, onPointerMove: Z, onPointerUp: G, onPointerCancel: _, children: [
278
+ U,
279
+ s,
280
+ j
281
+ ] }), e[31] = F, e[32] = Z, e[33] = G, e[34] = l, e[35] = m, e[36] = s, e[37] = D, e[38] = z, e[39] = U, e[40] = j, e[41] = q) : q = e[41], q;
282
+ };
283
+ let oe = null, ne = 0, re = Promise.resolve();
284
+ const Be = (n) => n === "dark" ? "dark" : "default", ke = (n) => {
285
+ oe !== n && (se.initialize({
286
+ startOnLoad: !1,
287
+ htmlLabels: !0,
288
+ flowchart: {
289
+ htmlLabels: !0
290
+ },
291
+ securityLevel: "antiscript",
292
+ theme: Be(n)
293
+ }), oe = n);
294
+ }, Le = () => (ne += 1, `mermaid-${ne}`), Ne = (n, e) => {
295
+ const t = async () => (ke(n), se.render(Le(), e)), o = re.then(t, t);
296
+ return re = o.then(() => {
297
+ }, () => {
298
+ }), o;
299
+ }, Ue = (n) => {
300
+ if (!(n instanceof Error))
301
+ return "Failed to render Mermaid diagram.";
302
+ const e = n.message.trim();
303
+ return e ? e.split(`
304
+ `).filter(Boolean).slice(0, 3).join(`
305
+ `) : "Failed to render Mermaid diagram.";
306
+ }, je = (n) => {
307
+ const {
308
+ themePreference: e,
309
+ themePreferences: t
310
+ } = Se(), o = Me(e, t), [c, s] = $(""), [a, i] = $(""), [r, u] = $(!1);
311
+ return K(() => {
312
+ let l = !1;
313
+ return (async () => {
314
+ u(!0), i("");
315
+ try {
316
+ const f = await Ne(o, n);
317
+ if (l)
318
+ return;
319
+ s(f.svg);
320
+ } catch (f) {
321
+ if (l)
322
+ return;
323
+ s(""), i(Ue(f));
324
+ } finally {
325
+ l || u(!1);
326
+ }
327
+ })(), () => {
328
+ l = !0;
329
+ };
330
+ }, [n, o]), {
331
+ svg: c,
332
+ error: a,
333
+ isRendering: r
334
+ };
335
+ }, ie = (n) => {
336
+ const e = T(21), {
337
+ allowPanAtDefaultZoom: t,
338
+ code: o,
339
+ error: c,
340
+ isRendering: s,
341
+ maxHeight: a,
342
+ minHeight: i,
343
+ overlayActions: r,
344
+ svg: u,
345
+ zoom: l,
346
+ onZoomChange: m
347
+ } = n;
348
+ if (s) {
349
+ const g = i ?? "220px";
350
+ let b;
351
+ e[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (b = /* @__PURE__ */ d(X, { color: "fg.muted", textStyle: "paragraph/S/regular", children: "Rendering diagram..." }), e[0] = b) : b = e[0];
352
+ let h;
353
+ return e[1] !== a || e[2] !== r || e[3] !== g ? (h = /* @__PURE__ */ S(H, { position: "relative", minHeight: g, maxHeight: a, overflow: "hidden", children: [
354
+ b,
355
+ r
356
+ ] }), e[1] = a, e[2] = r, e[3] = g, e[4] = h) : h = e[4], h;
357
+ }
358
+ if (c) {
359
+ const g = i ?? "220px";
360
+ let b;
361
+ e[5] !== o || e[6] !== c ? (b = /* @__PURE__ */ d(De, { code: o, error: c }), e[5] = o, e[6] = c, e[7] = b) : b = e[7];
362
+ let h;
363
+ return e[8] !== a || e[9] !== r || e[10] !== g || e[11] !== b ? (h = /* @__PURE__ */ S(H, { position: "relative", minHeight: g, maxHeight: a, overflow: "hidden", children: [
364
+ b,
365
+ r
366
+ ] }), e[8] = a, e[9] = r, e[10] = g, e[11] = b, e[12] = h) : h = e[12], h;
367
+ }
368
+ let f;
369
+ return e[13] !== t || e[14] !== a || e[15] !== i || e[16] !== m || e[17] !== r || e[18] !== u || e[19] !== l ? (f = /* @__PURE__ */ d(Te, { allowPanAtDefaultZoom: t, maxHeight: a, minHeight: i, overlayActions: r, svg: u, zoom: l, onZoomChange: m }, u), e[13] = t, e[14] = a, e[15] = i, e[16] = m, e[17] = r, e[18] = u, e[19] = l, e[20] = f) : f = e[20], f;
370
+ }, Ke = (n) => {
371
+ const e = T(36), {
372
+ code: t,
373
+ initialFullscreenOpen: o,
374
+ initialZoom: c,
375
+ isEditable: s,
376
+ onRequestEdit: a
377
+ } = n, i = o === void 0 ? !1 : o, r = c === void 0 ? 1 : c, u = s === void 0 ? !1 : s, {
378
+ svg: l,
379
+ error: m,
380
+ isRendering: f
381
+ } = je(t), [g, b] = $(r), [h, x] = $(1), [w, y] = $(i);
382
+ let p;
383
+ e[0] !== t || e[1] !== r ? (p = {
384
+ code: t,
385
+ initialZoom: r
386
+ }, e[0] = t, e[1] = r, e[2] = p) : p = e[2];
387
+ const R = le(p), F = !!l && !m && !f;
388
+ let C, Z;
389
+ e[3] !== t || e[4] !== r ? (C = () => {
390
+ const B = R.current;
391
+ B.code === t && B.initialZoom === r || (R.current = {
392
+ code: t,
393
+ initialZoom: r
394
+ }, b(r), x(1));
395
+ }, Z = [t, r], e[3] = t, e[4] = r, e[5] = C, e[6] = Z) : (C = e[5], Z = e[6]), K(C, Z);
396
+ let E;
397
+ e[7] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (E = () => {
398
+ x(1), y(!0);
399
+ }, e[7] = E) : E = e[7];
400
+ const G = E;
401
+ let M;
402
+ e[8] !== u || e[9] !== a ? (M = /* @__PURE__ */ d($e, { isEditable: u, onRequestEdit: a, onOpenFullscreen: G }), e[8] = u, e[9] = a, e[10] = M) : M = e[10];
403
+ let P;
404
+ e[11] !== t || e[12] !== m || e[13] !== g || e[14] !== f || e[15] !== l || e[16] !== M ? (P = /* @__PURE__ */ d(ie, { code: t, error: m, isRendering: f, overlayActions: M, svg: l, zoom: g, onZoomChange: b }), e[11] = t, e[12] = m, e[13] = g, e[14] = f, e[15] = l, e[16] = M, e[17] = P) : P = e[17];
405
+ let D;
406
+ e[18] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (D = () => y(!1), e[18] = D) : D = e[18];
407
+ let z;
408
+ e[19] !== h || e[20] !== l ? (z = () => Ze({
409
+ svg: l,
410
+ zoom: h
411
+ }), e[19] = h, e[20] = l, e[21] = z) : z = e[21];
412
+ let _;
413
+ e[22] !== t || e[23] !== m || e[24] !== h || e[25] !== f || e[26] !== l ? (_ = /* @__PURE__ */ d(ie, { allowPanAtDefaultZoom: !0, code: t, error: m, isRendering: f, maxHeight: "100%", minHeight: "100%", svg: l, zoom: h, onZoomChange: x }), e[22] = t, e[23] = m, e[24] = h, e[25] = f, e[26] = l, e[27] = _) : _ = e[27];
414
+ let I;
415
+ e[28] !== F || e[29] !== w || e[30] !== z || e[31] !== _ ? (I = /* @__PURE__ */ d(Oe, { open: w, canDownload: F, onClose: D, onDownload: z, children: _ }), e[28] = F, e[29] = w, e[30] = z, e[31] = _, e[32] = I) : I = e[32];
416
+ let O;
417
+ return e[33] !== I || e[34] !== P ? (O = /* @__PURE__ */ S(H, { width: "100%", children: [
418
+ P,
419
+ I
420
+ ] }), e[33] = I, e[34] = P, e[35] = O) : O = e[35], O;
421
+ };
422
+ export {
423
+ Ke as M
424
+ };
425
+ //# sourceMappingURL=mermaid-renderer-DZo3qj6D.js.map