@pstdio/ui 0.16.0 → 0.18.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 (210) hide show
  1. package/dist/{MermaidComponent-BCMQqPqu.js → MermaidComponent-BPiVFNYK.js} +2 -2
  2. package/dist/{MermaidComponent-BCMQqPqu.js.map → MermaidComponent-BPiVFNYK.js.map} +1 -1
  3. package/dist/chat-ui.js +1618 -1102
  4. package/dist/chat-ui.js.map +1 -1
  5. package/dist/{checkbox-D5AzFRlb.js → checkbox-B2zYVemL.js} +28 -28
  6. package/dist/checkbox-B2zYVemL.js.map +1 -0
  7. package/dist/components/chat-ui/components/chat-input-actions.d.ts +1 -0
  8. package/dist/components/chat-ui/components/chat-input.d.ts +8 -2
  9. package/dist/components/chat-ui/components/chat-panel.d.ts +11 -5
  10. package/dist/components/chat-ui/components/composer-constants.d.ts +1 -0
  11. package/dist/components/chat-ui/components/conversation-browse.d.ts +22 -0
  12. package/dist/components/chat-ui/components/message-types.d.ts +14 -0
  13. package/dist/components/chat-ui/components/queued-follow-up-list-state.d.ts +4 -0
  14. package/dist/components/chat-ui/components/queued-follow-up-list.d.ts +11 -0
  15. package/dist/components/chat-ui/components/timeline.d.ts +5 -0
  16. package/dist/components/chat-ui/components/working-indicator.d.ts +9 -0
  17. package/dist/components/chat-ui/components/workspace-hub.d.ts +8 -1
  18. package/dist/components/chat-ui/index.d.ts +4 -2
  19. package/dist/components/chat-ui/tool-rendering/build-timeline.d.ts +2 -2
  20. package/dist/components/chat-ui/tool-rendering/question-prompt.d.ts +9 -0
  21. package/dist/components/data-table/build-columns.d.ts +13 -2
  22. package/dist/components/data-table/categorical-color-cell.d.ts +8 -0
  23. package/dist/components/data-table/color-cell-style.d.ts +13 -0
  24. package/dist/components/data-table/color-scale-cell.d.ts +7 -0
  25. package/dist/components/data-table/data-table-column-menu.d.ts +15 -0
  26. package/dist/components/data-table/data-table-header.d.ts +10 -0
  27. package/dist/components/data-table/data-table-stat-chart.d.ts +21 -0
  28. package/dist/components/data-table/data-table-state.d.ts +27 -0
  29. package/dist/components/data-table/data-table-stats-row.d.ts +11 -0
  30. package/dist/components/data-table/data-table-stats.d.ts +19 -0
  31. package/dist/components/data-table/data-table-table-parts.d.ts +21 -0
  32. package/dist/components/data-table/data-table.story-descriptions.d.ts +6 -0
  33. package/dist/components/data-table/data-table.story-fixtures.d.ts +6 -0
  34. package/dist/components/data-table/editable-cells-story.d.ts +9 -0
  35. package/dist/components/data-table/friendly-json-display.d.ts +31 -0
  36. package/dist/components/data-table/index.d.ts +3 -1
  37. package/dist/components/data-table/json-cell.d.ts +6 -0
  38. package/dist/components/data-table/pagination-footer.d.ts +4 -1
  39. package/dist/components/data-table/selection-toolbar.d.ts +3 -1
  40. package/dist/components/data-table/types.d.ts +72 -0
  41. package/dist/components/diff-viewer/code-editor.d.ts +2 -0
  42. package/dist/components/diff-viewer/index.d.ts +1 -1
  43. package/dist/components/diff-viewer/monaco-browser.d.ts +1 -0
  44. package/dist/components/{data-renderer → kanban-renderer}/display-menu.d.ts +4 -4
  45. package/dist/components/{data-renderer → kanban-renderer}/filter-menu.d.ts +3 -3
  46. package/dist/components/kanban-renderer/index.d.ts +19 -0
  47. package/dist/components/kanban-renderer/kanban-renderer-attribute-badge.d.ts +7 -0
  48. package/dist/components/{data-renderer/data-renderer-board-column-header.d.ts → kanban-renderer/kanban-renderer-board-column-header.d.ts} +2 -2
  49. package/dist/components/{data-renderer/data-renderer-board-group-section.d.ts → kanban-renderer/kanban-renderer-board-group-section.d.ts} +2 -2
  50. package/dist/components/{data-renderer/data-renderer-board-move.d.ts → kanban-renderer/kanban-renderer-board-move.d.ts} +3 -3
  51. package/dist/components/{data-renderer/data-renderer-board.d.ts → kanban-renderer/kanban-renderer-board.d.ts} +15 -14
  52. package/dist/components/{data-renderer/data-renderer-card.d.ts → kanban-renderer/kanban-renderer-card.d.ts} +4 -3
  53. package/dist/components/{data-renderer/data-renderer-content.d.ts → kanban-renderer/kanban-renderer-content.d.ts} +8 -8
  54. package/dist/components/kanban-renderer/kanban-renderer-create-dialog.d.ts +12 -0
  55. package/dist/components/kanban-renderer/kanban-renderer-create-field.d.ts +10 -0
  56. package/dist/components/kanban-renderer/kanban-renderer-grouping.d.ts +23 -0
  57. package/dist/components/{data-renderer/data-renderer-helpers.d.ts → kanban-renderer/kanban-renderer-helpers.d.ts} +15 -15
  58. package/dist/components/kanban-renderer/kanban-renderer-list-items.d.ts +25 -0
  59. package/dist/components/kanban-renderer/kanban-renderer-list.d.ts +43 -0
  60. package/dist/components/{data-renderer/data-renderer-story-fixtures.d.ts → kanban-renderer/kanban-renderer-story-fixtures.d.ts} +3 -2
  61. package/dist/components/kanban-renderer/kanban-renderer-toolbar.d.ts +15 -0
  62. package/dist/components/kanban-renderer/kanban-renderer-view-bar.d.ts +14 -0
  63. package/dist/components/kanban-renderer/kanban-renderer-views.d.ts +12 -0
  64. package/dist/components/{data-renderer/data-renderer.d.ts → kanban-renderer/kanban-renderer.d.ts} +11 -8
  65. package/dist/components/{data-renderer → kanban-renderer}/types.d.ts +51 -8
  66. package/dist/components/kanban-renderer/use-kanban-renderer-store.d.ts +78 -0
  67. package/dist/components/layout/index.d.ts +1 -0
  68. package/dist/components/layout/panel-header.constants.d.ts +2 -0
  69. package/dist/components/layout/resizable-split-layout.d.ts +3 -2
  70. package/dist/components/layout/resizable-split-layout.geometry.d.ts +56 -0
  71. package/dist/components/layout/resizable-split-layout.handle.d.ts +6 -2
  72. package/dist/components/layout/resizable-split-layout.panels.d.ts +25 -0
  73. package/dist/components/list-row/list-row-actions.d.ts +1 -0
  74. package/dist/components/list-row/list-row-content.d.ts +7 -0
  75. package/dist/components/list-row/list-row.types.d.ts +4 -1
  76. package/dist/components/overlays/attached-menu.d.ts +6 -0
  77. package/dist/components/overlays/attachment-chip.d.ts +13 -0
  78. package/dist/components/overlays/index.d.ts +6 -2
  79. package/dist/components/overlays/resource-context-menu.d.ts +13 -1
  80. package/dist/components/overlays/searchable-menu-input.d.ts +9 -0
  81. package/dist/components/param-editor/index.d.ts +6 -2
  82. package/dist/components/param-editor/inputs/action-input.d.ts +1 -0
  83. package/dist/components/param-editor/inputs/boolean-input.d.ts +13 -0
  84. package/dist/components/param-editor/inputs/color-input.d.ts +1 -0
  85. package/dist/components/param-editor/inputs/date-input.d.ts +1 -0
  86. package/dist/components/param-editor/inputs/file-upload-input.d.ts +15 -0
  87. package/dist/components/param-editor/inputs/file-upload-value.d.ts +7 -0
  88. package/dist/components/param-editor/inputs/horizontal-text-input.d.ts +1 -0
  89. package/dist/components/param-editor/inputs/markdown-input.d.ts +13 -0
  90. package/dist/components/param-editor/inputs/number-input.d.ts +1 -0
  91. package/dist/components/param-editor/inputs/range-input.d.ts +1 -0
  92. package/dist/components/param-editor/inputs/resource-input.d.ts +2 -0
  93. package/dist/components/param-editor/inputs/segmented-input.d.ts +1 -0
  94. package/dist/components/param-editor/inputs/selection-input.d.ts +7 -6
  95. package/dist/components/param-editor/inputs/selection-menu.d.ts +33 -0
  96. package/dist/components/param-editor/inputs/text-input.d.ts +1 -0
  97. package/dist/components/param-editor/param-editor-advanced-field.d.ts +14 -0
  98. package/dist/components/param-editor/param-editor-control-fixtures.d.ts +24 -0
  99. package/dist/components/param-editor/param-editor-field.d.ts +2 -0
  100. package/dist/components/param-editor/param-editor-horizontal.d.ts +3 -2
  101. package/dist/components/param-editor/param-editor-label.d.ts +1 -0
  102. package/dist/components/param-editor/param-editor-presentation.d.ts +3 -0
  103. package/dist/components/param-editor/param-editor-read-only-field.d.ts +9 -0
  104. package/dist/components/param-editor/param-editor-section.d.ts +1 -0
  105. package/dist/components/param-editor/param-editor.d.ts +1 -0
  106. package/dist/components/param-editor/param-editor.types.d.ts +59 -18
  107. package/dist/components/param-editor/resolve-param-value.d.ts +2 -0
  108. package/dist/components/primitives/chip.d.ts +4 -0
  109. package/dist/components/primitives/index.d.ts +2 -0
  110. package/dist/components/primitives/resource-badge.d.ts +12 -10
  111. package/dist/components/rich-text/index.d.ts +1 -0
  112. package/dist/components/rich-text/lazy-markdown-editor.d.ts +2 -0
  113. package/dist/components/rich-text/prompt-input/plugins/ReferenceMenuPlugin/ReferenceMenuPlugin.d.ts +2 -1
  114. package/dist/components/rich-text/prompt-input/plugins/ReferenceMenuPlugin/hooks/useContextLookup.d.ts +2 -1
  115. package/dist/components/rich-text/prompt-input/plugins/ReferencePlugin/ReferencePlugin.d.ts +2 -1
  116. package/dist/components/rich-text/prompt-input/prompt-input.d.ts +3 -2
  117. package/dist/components/rich-text/types.d.ts +1 -1
  118. package/dist/components/rich-text/utils/inferResourceType.d.ts +1 -1
  119. package/dist/components/{sidebar/sidebar-footer.d.ts → sidenav/sidenav-footer.d.ts} +2 -2
  120. package/dist/components/{sidebar/sidebar-header.d.ts → sidenav/sidenav-header.d.ts} +2 -2
  121. package/dist/components/sidenav/sidenav.d.ts +2 -0
  122. package/dist/components/sidenav/sidenav.store.d.ts +49 -0
  123. package/dist/components/{sidebar/sidebar.types.d.ts → sidenav/sidenav.types.d.ts} +5 -5
  124. package/dist/components/tab-strip/tab-visibility-filter.d.ts +1 -0
  125. package/dist/components/terminal/terminal.d.ts +11 -0
  126. package/dist/components/tree-list/tree-list-visibility-filter.d.ts +0 -1
  127. package/dist/components/tree-list/tree-list.d.ts +1 -1
  128. package/dist/components/tree-list/tree-list.types.d.ts +4 -0
  129. package/dist/data-table.js +1321 -0
  130. package/dist/data-table.js.map +1 -0
  131. package/dist/diff.js +370 -366
  132. package/dist/diff.js.map +1 -1
  133. package/dist/font/css/prompt-studio-icons.css +690 -0
  134. package/dist/font/prompt-studio-icons.eot +0 -0
  135. package/dist/font/prompt-studio-icons.svg +1 -0
  136. package/dist/font/prompt-studio-icons.ttf +0 -0
  137. package/dist/font/prompt-studio-icons.woff +0 -0
  138. package/dist/font/prompt-studio-icons.woff2 +0 -0
  139. package/dist/index.d.ts +3 -3
  140. package/dist/index.js +1854 -3381
  141. package/dist/index.js.map +1 -1
  142. package/dist/kanban-renderer-toolbar-Db1mIWWd.js +1318 -0
  143. package/dist/kanban-renderer-toolbar-Db1mIWWd.js.map +1 -0
  144. package/dist/kanban-renderer.js +1101 -0
  145. package/dist/kanban-renderer.js.map +1 -0
  146. package/dist/lazy-markdown-editor-DwhqQ-NN.js +26 -0
  147. package/dist/lazy-markdown-editor-DwhqQ-NN.js.map +1 -0
  148. package/dist/list-row-BYWwcbGK.js +823 -0
  149. package/dist/list-row-BYWwcbGK.js.map +1 -0
  150. package/dist/markdown-DDd2ESoH.js +743 -0
  151. package/dist/markdown-DDd2ESoH.js.map +1 -0
  152. package/dist/markdown-editor-CYVkzt8t.js +741 -0
  153. package/dist/markdown-editor-CYVkzt8t.js.map +1 -0
  154. package/dist/monaco-browser-CO0NxK_Z.js +19 -0
  155. package/dist/monaco-browser-CO0NxK_Z.js.map +1 -0
  156. package/dist/param-editor-BCZOw5Gt.js +140 -0
  157. package/dist/param-editor-BCZOw5Gt.js.map +1 -0
  158. package/dist/param-editor-field-ZzZwgjZ_.js +2094 -0
  159. package/dist/param-editor-field-ZzZwgjZ_.js.map +1 -0
  160. package/dist/resource-badge-CuItchgL.js +98 -0
  161. package/dist/resource-badge-CuItchgL.js.map +1 -0
  162. package/dist/rich-message--eRzjWYK.js +730 -0
  163. package/dist/rich-message--eRzjWYK.js.map +1 -0
  164. package/dist/rich-text.js +114 -827
  165. package/dist/rich-text.js.map +1 -1
  166. package/dist/style.css +1 -1
  167. package/dist/terminal.js +197 -177
  168. package/dist/terminal.js.map +1 -1
  169. package/dist/theme/primitives/fonts.d.ts +3 -0
  170. package/dist/theme/primitives/sizes.d.ts +23 -0
  171. package/dist/theme/recipes/badge.d.ts +8 -0
  172. package/dist/theme/recipes/button.d.ts +6 -0
  173. package/dist/theme/recipes/color-picker.d.ts +18 -1
  174. package/dist/theme/recipes/switch.d.ts +17 -0
  175. package/dist/theme/recipes/tabs.d.ts +4 -4
  176. package/dist/theme/tokens/colors.d.ts +18 -24
  177. package/dist/{theme-CJBYBJaA.js → theme-poQlUgt0.js} +414 -240
  178. package/dist/theme-poQlUgt0.js.map +1 -0
  179. package/dist/theme.js +1 -1
  180. package/dist/tree-list-BAja2eXU.js +1033 -0
  181. package/dist/tree-list-BAja2eXU.js.map +1 -0
  182. package/package.json +11 -4
  183. package/dist/checkbox-D5AzFRlb.js.map +0 -1
  184. package/dist/components/data-renderer/card-interaction-guard.d.ts +0 -2
  185. package/dist/components/data-renderer/data-renderer-attribute-badge.d.ts +0 -7
  186. package/dist/components/data-renderer/data-renderer-grouping.d.ts +0 -23
  187. package/dist/components/data-renderer/data-renderer-list.d.ts +0 -39
  188. package/dist/components/data-renderer/data-renderer-toolbar.d.ts +0 -12
  189. package/dist/components/data-renderer/index.d.ts +0 -18
  190. package/dist/components/data-renderer/use-data-renderer-store.d.ts +0 -59
  191. package/dist/components/param-editor/inputs/file-accept.d.ts +0 -22
  192. package/dist/components/param-editor/inputs/file-drop-input.d.ts +0 -14
  193. package/dist/components/sidebar/sidebar.d.ts +0 -2
  194. package/dist/components/sidebar/sidebar.store.d.ts +0 -49
  195. package/dist/data-renderer.js +0 -1669
  196. package/dist/data-renderer.js.map +0 -1
  197. package/dist/list-row-mi3Hn-Um.js +0 -740
  198. package/dist/list-row-mi3Hn-Um.js.map +0 -1
  199. package/dist/resource-badge-qCWHP-wQ.js +0 -99
  200. package/dist/resource-badge-qCWHP-wQ.js.map +0 -1
  201. package/dist/rich-message-DBf_5YlW.js +0 -1450
  202. package/dist/rich-message-DBf_5YlW.js.map +0 -1
  203. package/dist/theme-CJBYBJaA.js.map +0 -1
  204. package/dist/tree-list-CcuZMLS5.js +0 -930
  205. package/dist/tree-list-CcuZMLS5.js.map +0 -1
  206. package/dist/workspace-badge-Fuo-1zPj.js +0 -314
  207. package/dist/workspace-badge-Fuo-1zPj.js.map +0 -1
  208. /package/dist/components/{data-renderer/data-renderer-badge-helpers.d.ts → kanban-renderer/kanban-renderer-badge-helpers.d.ts} +0 -0
  209. /package/dist/components/{data-renderer/data-renderer-enum-helpers.d.ts → kanban-renderer/kanban-renderer-enum-helpers.d.ts} +0 -0
  210. /package/dist/components/{data-renderer → kanban-renderer}/use-resolved-attributes.d.ts +0 -0
@@ -1 +0,0 @@
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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"}
@@ -1,99 +0,0 @@
1
- import { jsx as o, jsxs as E } from "react/jsx-runtime";
2
- import { c as C } from "react/compiler-runtime";
3
- import { chakra as _, Text as I, Spacer as L, IconButton as R } from "@chakra-ui/react";
4
- import { FileSpreadsheet as k, FileCode as A, FileChartLine as D, FileJson as N, FileText as O, FileCog as q, FileImage as B, FileArchive as H, File as P, X as U } from "lucide-react";
5
- import { T as Y } from "./scroll-area-BMbg1WcD.js";
6
- const Z = (l) => {
7
- const e = l.split(".").pop()?.toLowerCase() ?? "";
8
- return ["csv", "tsv", "xlsx", "xls", "parquet"].includes(e) ? k : ["sql", "py", "js", "ts", "jsx", "tsx", "java", "cpp", "c", "h", "css", "scss", "sass", "php", "rb", "go", "rs", "kt", "swift"].includes(e) ? A : ["json", "jsonl", "ndjson"].includes(e) ? l.includes("/visualizations/") ? D : N : ["md", "txt", "rst", "org", "pdf", "doc", "docx", "rtf"].includes(e) ? O : ["yaml", "yml", "toml", "ini", "conf", "config"].includes(e) ? q : ["png", "jpg", "jpeg", "gif", "svg", "webp", "ico"].includes(e) ? B : ["zip", "tar", "gz", "rar", "7z"].includes(e) ? H : P;
9
- }, $ = {
10
- sm: {
11
- container: {
12
- height: "20px",
13
- lineHeight: {
14
- base: "20px"
15
- },
16
- px: "2xs"
17
- },
18
- iconSize: 12,
19
- textStyle: "xs"
20
- },
21
- md: {
22
- container: {
23
- height: "24px",
24
- lineHeight: {
25
- base: "24px"
26
- },
27
- px: "xs"
28
- },
29
- iconSize: 14,
30
- textStyle: "sm"
31
- }
32
- }, J = {
33
- neutral: {
34
- color: "color.primary",
35
- bg: "bg.muted",
36
- _hover: {
37
- bg: "bg.emphasized"
38
- }
39
- },
40
- accent: {
41
- color: "var(--schub-foreground-accent)",
42
- bg: "var(--schub-accent-subtle)",
43
- _hover: {
44
- bg: "var(--schub-accent-subtle)"
45
- }
46
- }
47
- }, W = "md", X = "neutral", ee = (l) => {
48
- const e = C(39);
49
- let t, r, s, n, c, u, g;
50
- e[0] !== l ? ({
51
- fileName: t,
52
- onSelect: n,
53
- onRemove: s,
54
- size: u,
55
- tone: g,
56
- icon: r,
57
- ...c
58
- } = l, e[0] = l, e[1] = t, e[2] = r, e[3] = s, e[4] = n, e[5] = c, e[6] = u, e[7] = g) : (t = e[1], r = e[2], s = e[3], n = e[4], c = e[5], u = e[6], g = e[7]);
59
- const j = u === void 0 ? W : u, w = g === void 0 ? X : g;
60
- let h;
61
- e[8] !== t ? (h = Z(t), e[8] = t, e[9] = h) : h = e[9];
62
- const y = h, i = $[j], z = J[w], F = n ? "pointer" : "default";
63
- let a;
64
- e[10] !== t || e[11] !== n ? (a = (T) => {
65
- T.stopPropagation(), n?.(t);
66
- }, e[10] = t, e[11] = n, e[12] = a) : a = e[12];
67
- let p;
68
- e[13] !== y || e[14] !== r || e[15] !== i.iconSize ? (p = r ?? /* @__PURE__ */ o(y, { size: i.iconSize }), e[13] = y, e[14] = r, e[15] = i.iconSize, e[16] = p) : p = e[16];
69
- let f;
70
- e[17] !== p ? (f = /* @__PURE__ */ o(_.span, { mr: "xs", display: "inline-flex", children: p }), e[17] = p, e[18] = f) : f = e[18];
71
- let S;
72
- e[19] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (S = {
73
- base: "14rem"
74
- }, e[19] = S) : S = e[19];
75
- let x;
76
- e[20] !== t || e[21] !== i.textStyle ? (x = /* @__PURE__ */ o(I, { maxW: S, textOverflow: "ellipsis", whiteSpace: "nowrap", overflow: "hidden", textStyle: i.textStyle, children: t }), e[20] = t, e[21] = i.textStyle, e[22] = x) : x = e[22];
77
- let m;
78
- e[23] !== t || e[24] !== x ? (m = /* @__PURE__ */ o(Y, { content: t, children: x }), e[23] = t, e[24] = x, e[25] = m) : m = e[25];
79
- let b;
80
- e[26] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (b = /* @__PURE__ */ o(L, {}), e[26] = b) : b = e[26];
81
- let d;
82
- e[27] !== t || e[28] !== s ? (d = s && /* @__PURE__ */ o(R, { "aria-label": `Remove ${t}`, size: "2xs", ml: "xs", variant: "ghost", _hover: {
83
- bg: "transparent"
84
- }, onClick: (T) => {
85
- T.stopPropagation(), s?.(t);
86
- }, children: /* @__PURE__ */ o(U, { size: 12 }) }), e[27] = t, e[28] = s, e[29] = d) : d = e[29];
87
- let v;
88
- return e[30] !== c || e[31] !== i.container || e[32] !== d || e[33] !== F || e[34] !== a || e[35] !== f || e[36] !== m || e[37] !== z ? (v = /* @__PURE__ */ E(_.span, { display: "flex", flexDirection: "row", alignItems: "center", borderRadius: "9999px", gap: "2xs", cursor: F, ...z, ...i.container, onClick: a, ...c, children: [
89
- f,
90
- m,
91
- b,
92
- d
93
- ] }), e[30] = c, e[31] = i.container, e[32] = d, e[33] = F, e[34] = a, e[35] = f, e[36] = m, e[37] = z, e[38] = v) : v = e[38], v;
94
- };
95
- export {
96
- ee as R,
97
- Z as g
98
- };
99
- //# sourceMappingURL=resource-badge-qCWHP-wQ.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resource-badge-qCWHP-wQ.js","sources":["../src/utils/get-file-type-icon.ts","../src/components/primitives/resource-badge.tsx"],"sourcesContent":["import type { LucideIcon } from \"lucide-react\";\nimport {\n File,\n FileArchive,\n FileChartLine,\n FileCode,\n FileCog,\n FileImage,\n FileJson,\n FileSpreadsheet,\n FileText,\n} from \"lucide-react\";\n\nexport const getFileTypeIcon = (filename: string): LucideIcon => {\n const extension = filename.split(\".\").pop()?.toLowerCase() ?? \"\";\n\n if ([\"csv\", \"tsv\", \"xlsx\", \"xls\", \"parquet\"].includes(extension)) return FileSpreadsheet;\n if (\n [\n \"sql\",\n \"py\",\n \"js\",\n \"ts\",\n \"jsx\",\n \"tsx\",\n \"java\",\n \"cpp\",\n \"c\",\n \"h\",\n \"css\",\n \"scss\",\n \"sass\",\n \"php\",\n \"rb\",\n \"go\",\n \"rs\",\n \"kt\",\n \"swift\",\n ].includes(extension)\n ) {\n return FileCode;\n }\n if ([\"json\", \"jsonl\", \"ndjson\"].includes(extension)) {\n if (filename.includes(\"/visualizations/\")) return FileChartLine;\n return FileJson;\n }\n if ([\"md\", \"txt\", \"rst\", \"org\", \"pdf\", \"doc\", \"docx\", \"rtf\"].includes(extension)) return FileText;\n if ([\"yaml\", \"yml\", \"toml\", \"ini\", \"conf\", \"config\"].includes(extension)) return FileCog;\n if ([\"png\", \"jpg\", \"jpeg\", \"gif\", \"svg\", \"webp\", \"ico\"].includes(extension)) return FileImage;\n if ([\"zip\", \"tar\", \"gz\", \"rar\", \"7z\"].includes(extension)) return FileArchive;\n return File;\n};\n","import type { HTMLChakraProps } from \"@chakra-ui/react\";\nimport { chakra, IconButton, Spacer, Text } from \"@chakra-ui/react\";\nimport type { LucideIcon } from \"lucide-react\";\nimport { AlertTriangle, X } from \"lucide-react\";\nimport type { ReactNode } from \"react\";\nimport { Tooltip } from \"@/components/primitives/tooltip\";\nimport { getFileTypeIcon } from \"@/utils/get-file-type-icon\";\n\nconst SIZE_STYLES = {\n sm: {\n container: {\n height: \"20px\",\n lineHeight: { base: \"20px\" },\n px: \"2xs\",\n },\n iconSize: 12,\n textStyle: \"xs\",\n },\n md: {\n container: {\n height: \"24px\",\n lineHeight: { base: \"24px\" },\n px: \"xs\",\n },\n iconSize: 14,\n textStyle: \"sm\",\n },\n} as const;\n\nconst TONE_STYLES = {\n neutral: {\n color: \"color.primary\",\n bg: \"bg.muted\",\n _hover: {\n bg: \"bg.emphasized\",\n },\n },\n accent: {\n color: \"var(--schub-foreground-accent)\",\n bg: \"var(--schub-accent-subtle)\",\n _hover: {\n bg: \"var(--schub-accent-subtle)\",\n },\n },\n} as const;\n\nexport interface MissingResourceBadgeProps {\n referenceId: string;\n onRemove?: (referenceId: string) => void;\n}\n\n/**\n * Shown when a reference points to a resource that no longer exists\n */\nexport const MissingResourceBadge = (props: MissingResourceBadgeProps) => {\n const { referenceId, onRemove } = props;\n return (\n <chakra.span\n height=\"24px\"\n lineHeight={{ base: \"24px\" }}\n gap=\"2xs\"\n display=\"flex\"\n flexDirection=\"row\"\n alignItems=\"center\"\n paddingX=\"xs\"\n borderRadius=\"9999px\"\n color=\"blacks.50\"\n bg=\"red.500\"\n _hover={{\n bg: \"red.600\",\n }}\n >\n <chakra.span mr=\"xs\" display=\"inline-flex\">\n <AlertTriangle size={14} />\n </chakra.span>\n <Text maxW={{ base: \"17.5rem\" }} textOverflow=\"ellipsis\" whiteSpace=\"nowrap\" overflow=\"hidden\">\n Missing Reference\n </Text>\n <Spacer />\n {onRemove && (\n <IconButton\n color=\"blacks.50\"\n aria-label=\"Remove reference\"\n size=\"2xs\"\n ml=\"sm\"\n variant=\"ghost\"\n _hover={{\n bg: \"transparent\",\n }}\n onClick={(e) => {\n e.stopPropagation();\n onRemove?.(referenceId);\n }}\n >\n <X size={12} />\n </IconButton>\n )}\n </chakra.span>\n );\n};\n\nexport type ResourceBadgeSize = keyof typeof SIZE_STYLES;\nexport type ResourceBadgeTone = keyof typeof TONE_STYLES;\n\nexport interface ResourceBadgeProps extends Omit<HTMLChakraProps<\"span\">, \"onSelect\"> {\n fileName: string;\n onRemove?: (fileName: string) => void;\n onSelect?: (fileName: string) => void;\n size?: ResourceBadgeSize;\n tone?: ResourceBadgeTone;\n icon?: ReactNode;\n}\n\nconst DEFAULT_SIZE: ResourceBadgeSize = \"md\";\nconst DEFAULT_TONE: ResourceBadgeTone = \"neutral\";\n\nexport const ResourceBadge = (props: ResourceBadgeProps) => {\n const { fileName, onSelect, onRemove, size = DEFAULT_SIZE, tone = DEFAULT_TONE, icon, ...rest } = props;\n const IconComp: LucideIcon = getFileTypeIcon(fileName);\n const sizeStyles = SIZE_STYLES[size];\n const toneStyles = TONE_STYLES[tone];\n\n return (\n <chakra.span\n display=\"flex\"\n flexDirection=\"row\"\n alignItems=\"center\"\n borderRadius=\"9999px\"\n gap=\"2xs\"\n cursor={onSelect ? \"pointer\" : \"default\"}\n {...toneStyles}\n {...sizeStyles.container}\n onClick={(e) => {\n e.stopPropagation();\n onSelect?.(fileName);\n }}\n {...rest}\n >\n <chakra.span mr=\"xs\" display=\"inline-flex\">\n {icon ?? <IconComp size={sizeStyles.iconSize} />}\n </chakra.span>\n <Tooltip content={fileName}>\n <Text\n maxW={{ base: \"14rem\" }}\n textOverflow=\"ellipsis\"\n whiteSpace=\"nowrap\"\n overflow=\"hidden\"\n textStyle={sizeStyles.textStyle}\n >\n {fileName}\n </Text>\n </Tooltip>\n <Spacer />\n {onRemove && (\n <IconButton\n aria-label={`Remove ${fileName}`}\n size=\"2xs\"\n ml=\"xs\"\n variant=\"ghost\"\n _hover={{\n bg: \"transparent\",\n }}\n onClick={(e) => {\n e.stopPropagation();\n onRemove?.(fileName);\n }}\n >\n <X size={12} />\n </IconButton>\n )}\n </chakra.span>\n );\n};\n"],"names":["getFileTypeIcon","filename","extension","split","pop","toLowerCase","includes","FileSpreadsheet","FileCode","FileChartLine","FileJson","FileText","FileCog","FileImage","FileArchive","File","SIZE_STYLES","sm","container","height","lineHeight","base","px","iconSize","textStyle","md","TONE_STYLES","neutral","color","bg","_hover","accent","DEFAULT_SIZE","DEFAULT_TONE","ResourceBadge","props","$","_c","fileName","icon","onRemove","onSelect","rest","t0","t1","size","tone","undefined","t2","IconComp","sizeStyles","toneStyles","t3","t4","e","stopPropagation","t5","jsx","t6","chakra","t7","Symbol","for","t8","Text","t9","Tooltip","t10","Spacer","t11","IconButton","e_0","X","t12","jsxs"],"mappings":"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"}