@databiosphere/findable-ui 49.0.0 → 49.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.release-please-manifest.json +1 -1
- package/CHANGELOG.md +12 -0
- package/lib/common/ai/config/types.d.ts +22 -0
- package/lib/common/ai/config/types.js +1 -0
- package/lib/common/ai/constants.d.ts +3 -0
- package/lib/common/ai/constants.js +3 -0
- package/lib/components/Filter/components/FilterLabel/filterLabel.js +1 -1
- package/lib/components/Filter/components/FilterLabel/filterLabel.stories.d.ts +3 -0
- package/lib/components/Filter/components/FilterLabel/filterLabel.stories.js +5 -0
- package/lib/components/Filter/components/Filters/stories/constants.js +21 -1
- package/lib/components/Filter/components/SearchAllFilters/searchAllFilters.styles.js +2 -0
- package/lib/components/Layout/components/Sidebar/components/SidebarTools/sidebarTools.styles.d.ts +4 -0
- package/lib/components/Layout/components/Sidebar/components/SidebarTools/sidebarTools.styles.js +4 -0
- package/lib/components/common/Chip/components/Beta/beta.d.ts +10 -0
- package/lib/components/common/Chip/components/Beta/beta.js +12 -0
- package/lib/components/common/Chip/components/Beta/beta.styles.d.ts +3 -0
- package/lib/components/common/Chip/components/Beta/beta.styles.js +14 -0
- package/lib/components/common/Chip/components/Beta/stories/beta.stories.d.ts +6 -0
- package/lib/components/common/Chip/components/Beta/stories/beta.stories.js +6 -0
- package/lib/components/common/CustomIcon/components/UpArrowIcon/upArrowIcon.d.ts +6 -0
- package/lib/components/common/CustomIcon/components/UpArrowIcon/upArrowIcon.js +8 -0
- package/lib/components/common/Tabs/tabs.js +1 -1
- package/lib/components/common/ToggleButtonGroup/provider/context.d.ts +2 -0
- package/lib/components/common/ToggleButtonGroup/provider/context.js +5 -0
- package/lib/components/common/ToggleButtonGroup/provider/hook.d.ts +7 -0
- package/lib/components/common/ToggleButtonGroup/provider/hook.js +9 -0
- package/lib/components/common/ToggleButtonGroup/provider/provider.d.ts +12 -0
- package/lib/components/common/ToggleButtonGroup/provider/provider.js +22 -0
- package/lib/components/common/ToggleButtonGroup/provider/types.d.ts +9 -0
- package/lib/components/common/ToggleButtonGroup/provider/types.js +1 -0
- package/lib/config/entities.d.ts +2 -0
- package/lib/hooks/ai/useAiRoutes/hook.d.ts +6 -0
- package/lib/hooks/ai/useAiRoutes/hook.js +18 -0
- package/lib/styles/common/mui/drawer.d.ts +9 -0
- package/lib/styles/common/mui/drawer.js +15 -0
- package/lib/styles/common/mui/inputBase.d.ts +13 -0
- package/lib/styles/common/mui/inputBase.js +25 -0
- package/lib/styles/common/mui/stack.d.ts +11 -0
- package/lib/styles/common/mui/stack.js +22 -0
- package/lib/tests/testIds.d.ts +3 -0
- package/lib/tests/testIds.js +3 -0
- package/lib/views/ExploreView/entityList/filters/components/ToggleButtonGroup/toggleButtonGroup.d.ts +7 -0
- package/lib/views/ExploreView/entityList/filters/components/ToggleButtonGroup/toggleButtonGroup.js +18 -0
- package/lib/views/ExploreView/entityList/filters/components/ToggleButtonGroup/toggleButtonGroup.styles.d.ts +6 -0
- package/lib/views/ExploreView/entityList/filters/components/ToggleButtonGroup/toggleButtonGroup.styles.js +23 -0
- package/lib/views/ExploreView/entityList/filters/filters.styles.d.ts +7 -0
- package/lib/views/ExploreView/entityList/filters/filters.styles.js +17 -0
- package/lib/views/ExploreView/exploreView.js +3 -2
- package/lib/views/ResearchView/adapter/useAdapter.d.ts +6 -0
- package/lib/views/ResearchView/adapter/useAdapter.js +15 -0
- package/lib/views/ResearchView/assistant/assistant.d.ts +6 -0
- package/lib/views/ResearchView/assistant/assistant.js +18 -0
- package/lib/views/ResearchView/assistant/components/Drawer/drawer.d.ts +9 -0
- package/lib/views/ResearchView/assistant/components/Drawer/drawer.js +15 -0
- package/lib/views/ResearchView/assistant/components/Drawer/drawer.styles.d.ts +4 -0
- package/lib/views/ResearchView/assistant/components/Drawer/drawer.styles.js +21 -0
- package/lib/views/ResearchView/assistant/components/Drawer/types.d.ts +4 -0
- package/lib/views/ResearchView/assistant/components/Drawer/types.js +1 -0
- package/lib/views/ResearchView/assistant/components/Form/constants.d.ts +3 -0
- package/lib/views/ResearchView/assistant/components/Form/constants.js +3 -0
- package/lib/views/ResearchView/assistant/components/Form/form.d.ts +12 -0
- package/lib/views/ResearchView/assistant/components/Form/form.js +40 -0
- package/lib/views/ResearchView/assistant/components/Form/form.styles.d.ts +4 -0
- package/lib/views/ResearchView/assistant/components/Form/form.styles.js +7 -0
- package/lib/views/ResearchView/assistant/components/Form/types.d.ts +4 -0
- package/lib/views/ResearchView/assistant/components/Form/types.js +1 -0
- package/lib/views/ResearchView/assistant/components/Form/utils.d.ts +16 -0
- package/lib/views/ResearchView/assistant/components/Form/utils.js +41 -0
- package/lib/views/ResearchView/assistant/components/Input/constants.d.ts +2 -0
- package/lib/views/ResearchView/assistant/components/Input/constants.js +14 -0
- package/lib/views/ResearchView/assistant/components/Input/hooks/UseKeyShortCuts/constants.d.ts +7 -0
- package/lib/views/ResearchView/assistant/components/Input/hooks/UseKeyShortCuts/constants.js +7 -0
- package/lib/views/ResearchView/assistant/components/Input/hooks/UseKeyShortCuts/hook.d.ts +6 -0
- package/lib/views/ResearchView/assistant/components/Input/hooks/UseKeyShortCuts/hook.js +32 -0
- package/lib/views/ResearchView/assistant/components/Input/hooks/UseKeyShortCuts/types.d.ts +8 -0
- package/lib/views/ResearchView/assistant/components/Input/hooks/UseKeyShortCuts/types.js +1 -0
- package/lib/views/ResearchView/assistant/components/Input/hooks/UseKeyShortCuts/utils.d.ts +32 -0
- package/lib/views/ResearchView/assistant/components/Input/hooks/UseKeyShortCuts/utils.js +74 -0
- package/lib/views/ResearchView/assistant/components/Input/input.d.ts +9 -0
- package/lib/views/ResearchView/assistant/components/Input/input.js +19 -0
- package/lib/views/ResearchView/assistant/components/Input/input.styles.d.ts +8 -0
- package/lib/views/ResearchView/assistant/components/Input/input.styles.js +19 -0
- package/lib/views/ResearchView/assistant/components/Input/stories/input.stories.d.ts +6 -0
- package/lib/views/ResearchView/assistant/components/Input/stories/input.stories.js +11 -0
- package/lib/views/ResearchView/assistant/components/Input/types.d.ts +2 -0
- package/lib/views/ResearchView/assistant/components/Input/types.js +1 -0
- package/lib/views/ResearchView/assistant/components/Input/utils.d.ts +9 -0
- package/lib/views/ResearchView/assistant/components/Input/utils.js +25 -0
- package/lib/views/ResearchView/assistant/components/Messages/components/AssistantMessage/assistantMessage.d.ts +9 -0
- package/lib/views/ResearchView/assistant/components/Messages/components/AssistantMessage/assistantMessage.js +15 -0
- package/lib/views/ResearchView/assistant/components/Messages/components/AssistantMessage/types.d.ts +4 -0
- package/lib/views/ResearchView/assistant/components/Messages/components/AssistantMessage/types.js +1 -0
- package/lib/views/ResearchView/assistant/components/Messages/components/AssistantMessage/utils.d.ts +13 -0
- package/lib/views/ResearchView/assistant/components/Messages/components/AssistantMessage/utils.js +25 -0
- package/lib/views/ResearchView/assistant/components/Messages/components/ErrorMessage/errorMessage.d.ts +9 -0
- package/lib/views/ResearchView/assistant/components/Messages/components/ErrorMessage/errorMessage.js +12 -0
- package/lib/views/ResearchView/assistant/components/Messages/components/ErrorMessage/types.d.ts +4 -0
- package/lib/views/ResearchView/assistant/components/Messages/components/ErrorMessage/types.js +1 -0
- package/lib/views/ResearchView/assistant/components/Messages/components/PromptMessage/components/Chips/chips.d.ts +3 -0
- package/lib/views/ResearchView/assistant/components/Messages/components/PromptMessage/components/Chips/chips.js +10 -0
- package/lib/views/ResearchView/assistant/components/Messages/components/PromptMessage/components/Chips/chips.styles.d.ts +3 -0
- package/lib/views/ResearchView/assistant/components/Messages/components/PromptMessage/components/Chips/chips.styles.js +26 -0
- package/lib/views/ResearchView/assistant/components/Messages/components/PromptMessage/components/Chips/types.d.ts +5 -0
- package/lib/views/ResearchView/assistant/components/Messages/components/PromptMessage/components/Chips/types.js +1 -0
- package/lib/views/ResearchView/assistant/components/Messages/components/PromptMessage/promptMessage.d.ts +10 -0
- package/lib/views/ResearchView/assistant/components/Messages/components/PromptMessage/promptMessage.js +14 -0
- package/lib/views/ResearchView/assistant/components/Messages/components/PromptMessage/types.d.ts +5 -0
- package/lib/views/ResearchView/assistant/components/Messages/components/PromptMessage/types.js +1 -0
- package/lib/views/ResearchView/assistant/components/Messages/components/UserMessage/types.d.ts +4 -0
- package/lib/views/ResearchView/assistant/components/Messages/components/UserMessage/types.js +1 -0
- package/lib/views/ResearchView/assistant/components/Messages/components/UserMessage/useMessage.styles.d.ts +5 -0
- package/lib/views/ResearchView/assistant/components/Messages/components/UserMessage/useMessage.styles.js +10 -0
- package/lib/views/ResearchView/assistant/components/Messages/components/UserMessage/userMessage.d.ts +9 -0
- package/lib/views/ResearchView/assistant/components/Messages/components/UserMessage/userMessage.js +13 -0
- package/lib/views/ResearchView/assistant/components/Messages/hooks/UseScroll/hook.d.ts +7 -0
- package/lib/views/ResearchView/assistant/components/Messages/hooks/UseScroll/hook.js +17 -0
- package/lib/views/ResearchView/assistant/components/Messages/messages.d.ts +9 -0
- package/lib/views/ResearchView/assistant/components/Messages/messages.js +16 -0
- package/lib/views/ResearchView/assistant/components/Messages/messages.styles.d.ts +3 -0
- package/lib/views/ResearchView/assistant/components/Messages/messages.styles.js +9 -0
- package/lib/views/ResearchView/assistant/components/Messages/selector/messageSelector.d.ts +17 -0
- package/lib/views/ResearchView/assistant/components/Messages/selector/messageSelector.js +32 -0
- package/lib/views/ResearchView/assistant/components/Messages/selector/types.d.ts +5 -0
- package/lib/views/ResearchView/assistant/components/Messages/selector/types.js +1 -0
- package/lib/views/ResearchView/assistant/components/Messages/stories/args.d.ts +3 -0
- package/lib/views/ResearchView/assistant/components/Messages/stories/args.js +109 -0
- package/lib/views/ResearchView/assistant/components/Messages/stories/messages.stories.d.ts +6 -0
- package/lib/views/ResearchView/assistant/components/Messages/stories/messages.stories.js +14 -0
- package/lib/views/ResearchView/assistant/components/Messages/types.d.ts +4 -0
- package/lib/views/ResearchView/assistant/components/Messages/types.js +1 -0
- package/lib/views/ResearchView/assistant/components/ToggleButtonGroup/stories/toggleButtonGroup.stories.d.ts +6 -0
- package/lib/views/ResearchView/assistant/components/ToggleButtonGroup/stories/toggleButtonGroup.stories.js +12 -0
- package/lib/views/ResearchView/assistant/components/ToggleButtonGroup/toggleButtonGroup.d.ts +7 -0
- package/lib/views/ResearchView/assistant/components/ToggleButtonGroup/toggleButtonGroup.js +17 -0
- package/lib/views/ResearchView/assistant/components/ToggleButtonGroup/toggleButtonGroup.styles.d.ts +6 -0
- package/lib/views/ResearchView/assistant/components/ToggleButtonGroup/toggleButtonGroup.styles.js +20 -0
- package/lib/views/ResearchView/assistant/stories/args.d.ts +4 -0
- package/lib/views/ResearchView/assistant/stories/args.js +30 -0
- package/lib/views/ResearchView/assistant/stories/assistant.stories.d.ts +6 -0
- package/lib/views/ResearchView/assistant/stories/assistant.stories.js +23 -0
- package/lib/views/ResearchView/query/constants.d.ts +5 -0
- package/lib/views/ResearchView/query/constants.js +5 -0
- package/lib/views/ResearchView/query/fetch.d.ts +17 -0
- package/lib/views/ResearchView/query/fetch.js +44 -0
- package/lib/views/ResearchView/query/types.d.ts +31 -0
- package/lib/views/ResearchView/query/types.js +1 -0
- package/lib/views/ResearchView/query/useQuery.d.ts +7 -0
- package/lib/views/ResearchView/query/useQuery.js +44 -0
- package/lib/views/ResearchView/researchView.d.ts +10 -0
- package/lib/views/ResearchView/researchView.js +13 -0
- package/lib/views/ResearchView/state/actions/setError/action.d.ts +10 -0
- package/lib/views/ResearchView/state/actions/setError/action.js +17 -0
- package/lib/views/ResearchView/state/actions/setError/dispatch.d.ts +7 -0
- package/lib/views/ResearchView/state/actions/setError/dispatch.js +12 -0
- package/lib/views/ResearchView/state/actions/setError/types.d.ts +14 -0
- package/lib/views/ResearchView/state/actions/setError/types.js +1 -0
- package/lib/views/ResearchView/state/actions/setMessage/action.d.ts +10 -0
- package/lib/views/ResearchView/state/actions/setMessage/action.js +21 -0
- package/lib/views/ResearchView/state/actions/setMessage/dispatch.d.ts +7 -0
- package/lib/views/ResearchView/state/actions/setMessage/dispatch.js +12 -0
- package/lib/views/ResearchView/state/actions/setMessage/types.d.ts +15 -0
- package/lib/views/ResearchView/state/actions/setMessage/types.js +1 -0
- package/lib/views/ResearchView/state/actions/setQuery/action.d.ts +10 -0
- package/lib/views/ResearchView/state/actions/setQuery/action.js +17 -0
- package/lib/views/ResearchView/state/actions/setQuery/dispatch.d.ts +7 -0
- package/lib/views/ResearchView/state/actions/setQuery/dispatch.js +12 -0
- package/lib/views/ResearchView/state/actions/setQuery/types.d.ts +14 -0
- package/lib/views/ResearchView/state/actions/setQuery/types.js +1 -0
- package/lib/views/ResearchView/state/actions/setStatus/action.d.ts +10 -0
- package/lib/views/ResearchView/state/actions/setStatus/action.js +13 -0
- package/lib/views/ResearchView/state/actions/setStatus/dispatch.d.ts +7 -0
- package/lib/views/ResearchView/state/actions/setStatus/dispatch.js +12 -0
- package/lib/views/ResearchView/state/actions/setStatus/types.d.ts +14 -0
- package/lib/views/ResearchView/state/actions/setStatus/types.js +1 -0
- package/lib/views/ResearchView/state/actions/types.d.ts +17 -0
- package/lib/views/ResearchView/state/actions/types.js +10 -0
- package/lib/views/ResearchView/state/constants.d.ts +5 -0
- package/lib/views/ResearchView/state/constants.js +7 -0
- package/lib/views/ResearchView/state/context.d.ts +5 -0
- package/lib/views/ResearchView/state/context.js +9 -0
- package/lib/views/ResearchView/state/guards/guards.d.ts +33 -0
- package/lib/views/ResearchView/state/guards/guards.js +41 -0
- package/lib/views/ResearchView/state/hooks/UseChatDispatch/hook.d.ts +6 -0
- package/lib/views/ResearchView/state/hooks/UseChatDispatch/hook.js +26 -0
- package/lib/views/ResearchView/state/hooks/UseChatDispatch/types.d.ts +10 -0
- package/lib/views/ResearchView/state/hooks/UseChatDispatch/types.js +1 -0
- package/lib/views/ResearchView/state/hooks/UseChatReducer/hook.d.ts +8 -0
- package/lib/views/ResearchView/state/hooks/UseChatReducer/hook.js +12 -0
- package/lib/views/ResearchView/state/hooks/UseChatState/hook.d.ts +7 -0
- package/lib/views/ResearchView/state/hooks/UseChatState/hook.js +11 -0
- package/lib/views/ResearchView/state/initializer/initializer.d.ts +8 -0
- package/lib/views/ResearchView/state/initializer/initializer.js +22 -0
- package/lib/views/ResearchView/state/initializer/types.d.ts +2 -0
- package/lib/views/ResearchView/state/initializer/types.js +1 -0
- package/lib/views/ResearchView/state/provider.d.ts +16 -0
- package/lib/views/ResearchView/state/provider.js +17 -0
- package/lib/views/ResearchView/state/reducer.d.ts +10 -0
- package/lib/views/ResearchView/state/reducer.js +32 -0
- package/lib/views/ResearchView/state/types.d.ts +125 -0
- package/lib/views/ResearchView/state/types.js +22 -0
- package/package.json +1 -1
- package/src/common/ai/config/types.ts +25 -0
- package/src/common/ai/constants.ts +3 -0
- package/src/components/Filter/components/FilterLabel/filterLabel.stories.tsx +6 -0
- package/src/components/Filter/components/FilterLabel/filterLabel.tsx +6 -1
- package/src/components/Filter/components/Filters/stories/constants.ts +25 -1
- package/src/components/Filter/components/SearchAllFilters/searchAllFilters.styles.ts +2 -0
- package/src/components/Layout/components/Sidebar/components/SidebarTools/sidebarTools.styles.ts +4 -0
- package/src/components/common/Chip/components/Beta/beta.styles.ts +15 -0
- package/src/components/common/Chip/components/Beta/beta.tsx +25 -0
- package/src/components/common/Chip/components/Beta/stories/beta.stories.tsx +12 -0
- package/src/components/common/CustomIcon/components/UpArrowIcon/upArrowIcon.tsx +21 -0
- package/src/components/common/Tabs/tabs.tsx +5 -1
- package/src/components/common/ToggleButtonGroup/provider/context.ts +9 -0
- package/src/components/common/ToggleButtonGroup/provider/hook.ts +16 -0
- package/src/components/common/ToggleButtonGroup/provider/provider.tsx +37 -0
- package/src/components/common/ToggleButtonGroup/provider/types.ts +17 -0
- package/src/config/entities.ts +2 -0
- package/src/hooks/ai/useAiRoutes/hook.ts +22 -0
- package/src/styles/common/mui/drawer.ts +24 -0
- package/src/styles/common/mui/inputBase.ts +38 -0
- package/src/styles/common/mui/stack.ts +33 -0
- package/src/tests/testIds.ts +3 -0
- package/src/views/ExploreView/entityList/filters/components/ToggleButtonGroup/toggleButtonGroup.styles.ts +25 -0
- package/src/views/ExploreView/entityList/filters/components/ToggleButtonGroup/toggleButtonGroup.tsx +31 -0
- package/src/views/ExploreView/entityList/filters/filters.styles.ts +19 -0
- package/src/views/ExploreView/exploreView.tsx +16 -12
- package/src/views/ResearchView/adapter/useAdapter.ts +19 -0
- package/src/views/ResearchView/assistant/assistant.tsx +30 -0
- package/src/views/ResearchView/assistant/components/Drawer/drawer.styles.ts +24 -0
- package/src/views/ResearchView/assistant/components/Drawer/drawer.tsx +26 -0
- package/src/views/ResearchView/assistant/components/Drawer/types.ts +5 -0
- package/src/views/ResearchView/assistant/components/Form/constants.ts +3 -0
- package/src/views/ResearchView/assistant/components/Form/form.styles.ts +8 -0
- package/src/views/ResearchView/assistant/components/Form/form.tsx +55 -0
- package/src/views/ResearchView/assistant/components/Form/types.ts +11 -0
- package/src/views/ResearchView/assistant/components/Form/utils.ts +51 -0
- package/src/views/ResearchView/assistant/components/Input/constants.ts +16 -0
- package/src/views/ResearchView/assistant/components/Input/hooks/UseKeyShortCuts/constants.ts +7 -0
- package/src/views/ResearchView/assistant/components/Input/hooks/UseKeyShortCuts/hook.ts +45 -0
- package/src/views/ResearchView/assistant/components/Input/hooks/UseKeyShortCuts/types.ts +10 -0
- package/src/views/ResearchView/assistant/components/Input/hooks/UseKeyShortCuts/utils.ts +93 -0
- package/src/views/ResearchView/assistant/components/Input/input.styles.ts +21 -0
- package/src/views/ResearchView/assistant/components/Input/input.tsx +37 -0
- package/src/views/ResearchView/assistant/components/Input/stories/input.stories.tsx +21 -0
- package/src/views/ResearchView/assistant/components/Input/types.ts +3 -0
- package/src/views/ResearchView/assistant/components/Input/utils.ts +34 -0
- package/src/views/ResearchView/assistant/components/Messages/components/AssistantMessage/assistantMessage.tsx +49 -0
- package/src/views/ResearchView/assistant/components/Messages/components/AssistantMessage/types.ts +5 -0
- package/src/views/ResearchView/assistant/components/Messages/components/AssistantMessage/utils.ts +31 -0
- package/src/views/ResearchView/assistant/components/Messages/components/ErrorMessage/errorMessage.tsx +21 -0
- package/src/views/ResearchView/assistant/components/Messages/components/ErrorMessage/types.ts +5 -0
- package/src/views/ResearchView/assistant/components/Messages/components/PromptMessage/components/Chips/chips.styles.ts +27 -0
- package/src/views/ResearchView/assistant/components/Messages/components/PromptMessage/components/Chips/chips.tsx +31 -0
- package/src/views/ResearchView/assistant/components/Messages/components/PromptMessage/components/Chips/types.ts +6 -0
- package/src/views/ResearchView/assistant/components/Messages/components/PromptMessage/promptMessage.tsx +26 -0
- package/src/views/ResearchView/assistant/components/Messages/components/PromptMessage/types.ts +6 -0
- package/src/views/ResearchView/assistant/components/Messages/components/UserMessage/types.ts +5 -0
- package/src/views/ResearchView/assistant/components/Messages/components/UserMessage/useMessage.styles.ts +11 -0
- package/src/views/ResearchView/assistant/components/Messages/components/UserMessage/userMessage.tsx +21 -0
- package/src/views/ResearchView/assistant/components/Messages/hooks/UseScroll/hook.ts +22 -0
- package/src/views/ResearchView/assistant/components/Messages/messages.styles.ts +10 -0
- package/src/views/ResearchView/assistant/components/Messages/messages.tsx +29 -0
- package/src/views/ResearchView/assistant/components/Messages/selector/messageSelector.tsx +37 -0
- package/src/views/ResearchView/assistant/components/Messages/selector/types.ts +6 -0
- package/src/views/ResearchView/assistant/components/Messages/stories/args.ts +115 -0
- package/src/views/ResearchView/assistant/components/Messages/stories/messages.stories.tsx +24 -0
- package/src/views/ResearchView/assistant/components/Messages/types.ts +5 -0
- package/src/views/ResearchView/assistant/components/ToggleButtonGroup/stories/toggleButtonGroup.stories.tsx +22 -0
- package/src/views/ResearchView/assistant/components/ToggleButtonGroup/toggleButtonGroup.styles.ts +22 -0
- package/src/views/ResearchView/assistant/components/ToggleButtonGroup/toggleButtonGroup.tsx +30 -0
- package/src/views/ResearchView/assistant/stories/args.ts +36 -0
- package/src/views/ResearchView/assistant/stories/assistant.stories.tsx +39 -0
- package/src/views/ResearchView/query/constants.ts +5 -0
- package/src/views/ResearchView/query/fetch.ts +58 -0
- package/src/views/ResearchView/query/types.ts +37 -0
- package/src/views/ResearchView/query/useQuery.ts +60 -0
- package/src/views/ResearchView/researchView.tsx +19 -0
- package/src/views/ResearchView/state/actions/setError/action.ts +22 -0
- package/src/views/ResearchView/state/actions/setError/dispatch.ts +14 -0
- package/src/views/ResearchView/state/actions/setError/types.ts +16 -0
- package/src/views/ResearchView/state/actions/setMessage/action.ts +26 -0
- package/src/views/ResearchView/state/actions/setMessage/dispatch.ts +14 -0
- package/src/views/ResearchView/state/actions/setMessage/types.ts +19 -0
- package/src/views/ResearchView/state/actions/setQuery/action.ts +22 -0
- package/src/views/ResearchView/state/actions/setQuery/dispatch.ts +14 -0
- package/src/views/ResearchView/state/actions/setQuery/types.ts +16 -0
- package/src/views/ResearchView/state/actions/setStatus/action.ts +19 -0
- package/src/views/ResearchView/state/actions/setStatus/dispatch.ts +14 -0
- package/src/views/ResearchView/state/actions/setStatus/types.ts +16 -0
- package/src/views/ResearchView/state/actions/types.ts +23 -0
- package/src/views/ResearchView/state/constants.ts +9 -0
- package/src/views/ResearchView/state/context.ts +11 -0
- package/src/views/ResearchView/state/guards/guards.ts +58 -0
- package/src/views/ResearchView/state/hooks/UseChatDispatch/hook.ts +46 -0
- package/src/views/ResearchView/state/hooks/UseChatDispatch/types.ts +11 -0
- package/src/views/ResearchView/state/hooks/UseChatReducer/hook.ts +15 -0
- package/src/views/ResearchView/state/hooks/UseChatState/hook.ts +14 -0
- package/src/views/ResearchView/state/initializer/initializer.ts +23 -0
- package/src/views/ResearchView/state/initializer/types.ts +3 -0
- package/src/views/ResearchView/state/provider.tsx +27 -0
- package/src/views/ResearchView/state/reducer.ts +34 -0
- package/src/views/ResearchView/state/types.ts +149 -0
- package/tests/research.assistantMessageUtils.test.ts +149 -0
- package/tests/research.chatState.test.ts +463 -0
- package/tests/research.fetchResponse.test.ts +164 -0
- package/tests/research.useKeyShortCuts.test.ts +254 -0
- package/tests/research.useQuery.test.ts +165 -0
- package/tests/toggleButtonGroupProvider.test.tsx +125 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [49.1.0](https://github.com/DataBiosphere/findable-ui/compare/v49.0.0...v49.1.0) (2026-02-28)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* add research mode with chat-driven dataset discovery ([#778](https://github.com/DataBiosphere/findable-ui/issues/778)) ([#800](https://github.com/DataBiosphere/findable-ui/issues/800)) ([a844aaf](https://github.com/DataBiosphere/findable-ui/commit/a844aaf2927c76e80e97aa2b9dd7d1929da9bdfa))
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* improve tooltip ux with delay and better placement ([#775](https://github.com/DataBiosphere/findable-ui/issues/775)) ([#776](https://github.com/DataBiosphere/findable-ui/issues/776)) ([2d60b92](https://github.com/DataBiosphere/findable-ui/commit/2d60b927f91d28eabc8177ac81aa8fb8c8107db2))
|
|
14
|
+
|
|
3
15
|
## [49.0.0](https://github.com/DataBiosphere/findable-ui/compare/v48.1.0...v49.0.0) (2026-02-17)
|
|
4
16
|
|
|
5
17
|
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AI configuration.
|
|
3
|
+
*/
|
|
4
|
+
export interface AiConfig {
|
|
5
|
+
enabled: boolean;
|
|
6
|
+
prompt?: AiPrompt;
|
|
7
|
+
routes: {
|
|
8
|
+
research: string;
|
|
9
|
+
search: string;
|
|
10
|
+
};
|
|
11
|
+
url: string;
|
|
12
|
+
}
|
|
13
|
+
export interface AiPrompt {
|
|
14
|
+
inputPlaceholder?: string;
|
|
15
|
+
suggestions?: AiSuggestions[];
|
|
16
|
+
text: string;
|
|
17
|
+
}
|
|
18
|
+
export interface AiSuggestions {
|
|
19
|
+
label: string;
|
|
20
|
+
query: string;
|
|
21
|
+
variant: "CHIP";
|
|
22
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -4,5 +4,5 @@ import { Tooltip } from "../../../DataDictionary/components/Tooltip/tooltip";
|
|
|
4
4
|
import { StyledButton } from "./filterLabel.styles";
|
|
5
5
|
export const FilterLabel = ({ annotation, count, disabled = false, isOpen, label, onClick, surfaceType, }) => {
|
|
6
6
|
const filterLabel = count ? `${label}\xa0(${count})` : label; // When the count is present, a non-breaking space is used to prevent it from being on its own line
|
|
7
|
-
return (_jsx(Tooltip, { description: annotation?.description, title: annotation?.label, children: _jsx(StyledButton, { color: "inherit", disabled: disabled, endIcon: _jsx(ArrowDropDownRounded, { fontSize: "small" }), fullWidth: true, isOpen: isOpen, onClick: onClick, surfaceType: surfaceType, children: filterLabel }) }));
|
|
7
|
+
return (_jsx(Tooltip, { description: annotation?.description, enterDelay: 300, placement: "right", title: annotation?.label, children: _jsx(StyledButton, { color: "inherit", disabled: disabled, endIcon: _jsx(ArrowDropDownRounded, { fontSize: "small" }), fullWidth: true, isOpen: isOpen, onClick: onClick, surfaceType: surfaceType, children: filterLabel }) }));
|
|
8
8
|
};
|
|
@@ -3,6 +3,7 @@ import { SURFACE_TYPE } from "../surfaces/types";
|
|
|
3
3
|
import { FilterLabel } from "./filterLabel";
|
|
4
4
|
const meta = {
|
|
5
5
|
argTypes: {
|
|
6
|
+
annotation: { control: "object" },
|
|
6
7
|
count: { control: "number" },
|
|
7
8
|
disabled: { control: "boolean" },
|
|
8
9
|
isOpen: { control: "boolean" },
|
|
@@ -17,6 +18,10 @@ const meta = {
|
|
|
17
18
|
export default meta;
|
|
18
19
|
export const FilterLabelStory = {
|
|
19
20
|
args: {
|
|
21
|
+
annotation: {
|
|
22
|
+
description: "This is a description of the filter label that provides additional context to the user.",
|
|
23
|
+
label: "Label",
|
|
24
|
+
},
|
|
20
25
|
count: 123,
|
|
21
26
|
disabled: false,
|
|
22
27
|
isOpen: false,
|
|
@@ -92,6 +92,10 @@ const PROCESSED = {
|
|
|
92
92
|
* Biological Sex select category view
|
|
93
93
|
*/
|
|
94
94
|
export const BIOLOGICAL_SEX = {
|
|
95
|
+
annotation: {
|
|
96
|
+
description: "The biological sex of the donor organism, typically determined by chromosomal composition.",
|
|
97
|
+
label: "Biological Sex",
|
|
98
|
+
},
|
|
95
99
|
key: "biologicalSex",
|
|
96
100
|
label: "Biological Sex",
|
|
97
101
|
values: [MALE, FEMALE],
|
|
@@ -100,6 +104,10 @@ export const BIOLOGICAL_SEX = {
|
|
|
100
104
|
* Genus Species select category view
|
|
101
105
|
*/
|
|
102
106
|
export const GENUS_SPECIES = {
|
|
107
|
+
annotation: {
|
|
108
|
+
description: "The scientific name of the organism from which the sample was derived.",
|
|
109
|
+
label: "Genus Species",
|
|
110
|
+
},
|
|
103
111
|
key: "genusSpecies",
|
|
104
112
|
label: "Genus Species",
|
|
105
113
|
values: [HOMO_SAPIENS, MUS_MUSCLES],
|
|
@@ -108,7 +116,11 @@ export const GENUS_SPECIES = {
|
|
|
108
116
|
* Donor Count range category view
|
|
109
117
|
*/
|
|
110
118
|
export const DONOR_COUNT = {
|
|
111
|
-
|
|
119
|
+
annotation: {
|
|
120
|
+
description: "The number of unique donors contributing to the dataset.",
|
|
121
|
+
label: "Donor Count",
|
|
122
|
+
},
|
|
123
|
+
key: "donorCount",
|
|
112
124
|
label: "Donor Count",
|
|
113
125
|
max: 200,
|
|
114
126
|
min: 10,
|
|
@@ -119,6 +131,10 @@ export const DONOR_COUNT = {
|
|
|
119
131
|
* File Format select category view
|
|
120
132
|
*/
|
|
121
133
|
export const FILE_FORMAT = {
|
|
134
|
+
annotation: {
|
|
135
|
+
description: "The format of the file, such as BAM, CSV, FASTQ, or TSV, indicating how the data is structured.",
|
|
136
|
+
label: "File Format",
|
|
137
|
+
},
|
|
122
138
|
key: "fileFormat",
|
|
123
139
|
label: "File Format",
|
|
124
140
|
values: [BAM, CSV, FASTQ, TSV],
|
|
@@ -127,6 +143,10 @@ export const FILE_FORMAT = {
|
|
|
127
143
|
* File Type select category view
|
|
128
144
|
*/
|
|
129
145
|
export const FILE_TYPE = {
|
|
146
|
+
annotation: {
|
|
147
|
+
description: "The type of file, indicating whether the data is raw or has been processed.",
|
|
148
|
+
label: "File Type",
|
|
149
|
+
},
|
|
130
150
|
isDisabled: true,
|
|
131
151
|
key: "fileType",
|
|
132
152
|
label: "File Type",
|
package/lib/components/Layout/components/Sidebar/components/SidebarTools/sidebarTools.styles.d.ts
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Container for sidebar tools, including the mode toggle and filter controls.
|
|
3
|
+
* @deprecated - This styled component is deprecated and will be removed in a future release.
|
|
4
|
+
*/
|
|
1
5
|
export declare const SidebarTools: import("@emotion/styled").StyledComponent<{
|
|
2
6
|
theme?: import("@emotion/react").Theme;
|
|
3
7
|
as?: React.ElementType;
|
package/lib/components/Layout/components/Sidebar/components/SidebarTools/sidebarTools.styles.js
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import styled from "@emotion/styled";
|
|
2
2
|
import { bpUpMd } from "../../../../../../styles/common/mixins/breakpoints";
|
|
3
|
+
/**
|
|
4
|
+
* Container for sidebar tools, including the mode toggle and filter controls.
|
|
5
|
+
* @deprecated - This styled component is deprecated and will be removed in a future release.
|
|
6
|
+
*/
|
|
3
7
|
export const SidebarTools = styled.div `
|
|
4
8
|
display: grid;
|
|
5
9
|
gap: 8px 0;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ChipProps } from "@mui/material";
|
|
2
|
+
import { JSX } from "react";
|
|
3
|
+
import { BaseComponentProps } from "../../../../types";
|
|
4
|
+
/**
|
|
5
|
+
* Beta chip component to indicate features that are in beta.
|
|
6
|
+
* @param props - Component props.
|
|
7
|
+
* @param props.className - Classname.
|
|
8
|
+
* @returns Beta chip JSX element.
|
|
9
|
+
*/
|
|
10
|
+
export declare const Beta: ({ className, ...props }: BaseComponentProps & ChipProps) => JSX.Element;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { CHIP_PROPS } from "../../../../../styles/common/mui/chip";
|
|
3
|
+
import { StyledChip } from "./beta.styles";
|
|
4
|
+
/**
|
|
5
|
+
* Beta chip component to indicate features that are in beta.
|
|
6
|
+
* @param props - Component props.
|
|
7
|
+
* @param props.className - Classname.
|
|
8
|
+
* @returns Beta chip JSX element.
|
|
9
|
+
*/
|
|
10
|
+
export const Beta = ({ className, ...props }) => {
|
|
11
|
+
return (_jsx(StyledChip, { className: className, label: "Beta", size: CHIP_PROPS.SIZE.SMALL, ...props }));
|
|
12
|
+
};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export declare const StyledChip: import("@emotion/styled").StyledComponent<import("@mui/material").ChipOwnProps & import("@mui/material").ChipSlotsAndSlotProps & import("@mui/material/OverridableComponent").CommonProps & Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "size" | "label" | "style" | "className" | "classes" | "children" | "disabled" | "sx" | "tabIndex" | "color" | "variant" | "slots" | "slotProps" | "icon" | "avatar" | "clickable" | "deleteIcon" | "onDelete" | "skipFocusWhenDisabled"> & {
|
|
2
|
+
theme?: import("@emotion/react").Theme;
|
|
3
|
+
}, {}, {}>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import styled from "@emotion/styled";
|
|
2
|
+
import { Chip } from "@mui/material";
|
|
3
|
+
import { PALETTE } from "../../../../../styles/common/constants/palette";
|
|
4
|
+
import { FONT } from "../../../../../styles/common/constants/font";
|
|
5
|
+
export const StyledChip = styled(Chip) `
|
|
6
|
+
background-color: ${PALETTE.PRIMARY_LIGHTEST};
|
|
7
|
+
border-radius: 4px;
|
|
8
|
+
color: ${PALETTE.PRIMARY_MAIN};
|
|
9
|
+
|
|
10
|
+
.MuiChip-label {
|
|
11
|
+
font: ${FONT.BODY_SMALL_500};
|
|
12
|
+
padding: 0 5px;
|
|
13
|
+
}
|
|
14
|
+
`;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { SvgIcon } from "@mui/material";
|
|
3
|
+
/**
|
|
4
|
+
* Custom up arrow icon.
|
|
5
|
+
*/
|
|
6
|
+
export const UpArrowIcon = ({ fontSize = "xsmall", viewBox = "0 0 18 18", ...props /* SvgIconProps */ }) => {
|
|
7
|
+
return (_jsx(SvgIcon, { fontSize: fontSize, viewBox: viewBox, ...props, children: _jsx("path", { d: "M8.24985 6.60005L6.07485 8.77505C5.93735 8.91255 5.76235 8.9813 5.54985 8.9813C5.33735 8.9813 5.16235 8.91255 5.02485 8.77505C4.88735 8.63755 4.8186 8.46255 4.8186 8.25005C4.8186 8.03755 4.88735 7.86255 5.02485 7.72505L8.47485 4.27505C8.62485 4.12505 8.79985 4.05005 8.99985 4.05005C9.19985 4.05005 9.37485 4.12505 9.52485 4.27505L12.9749 7.72505C13.1124 7.86255 13.1811 8.03755 13.1811 8.25005C13.1811 8.46255 13.1124 8.63755 12.9749 8.77505C12.8374 8.91255 12.6624 8.9813 12.4499 8.9813C12.2374 8.9813 12.0624 8.91255 11.9249 8.77505L9.74985 6.60005V12.75C9.74985 12.9625 9.67798 13.1407 9.53423 13.2844C9.39048 13.4282 9.21235 13.5 8.99985 13.5C8.78735 13.5 8.60923 13.4282 8.46548 13.2844C8.32173 13.1407 8.24985 12.9625 8.24985 12.75V6.60005Z", fill: "currentColor" }) }));
|
|
8
|
+
};
|
|
@@ -14,5 +14,5 @@ export const Tabs = ({ className, onTabChange, tabs, value, }) => {
|
|
|
14
14
|
* @returns Tab label with optional count and tooltip.
|
|
15
15
|
*/
|
|
16
16
|
function buildTabLabel(label, count, annotation) {
|
|
17
|
-
return (_jsx(Tooltip, { description: annotation?.description, title: annotation?.label, children: _jsx("span", { children: count ? `${label} (${count})` : label }) }));
|
|
17
|
+
return (_jsx(Tooltip, { description: annotation?.description, enterDelay: 300, title: annotation?.label, children: _jsx("span", { children: count ? `${label} (${count})` : label }) }));
|
|
18
18
|
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ToggleButtonGroupProps } from "@mui/material";
|
|
2
|
+
import { ToggleButtonGroupContextProps } from "./types";
|
|
3
|
+
/**
|
|
4
|
+
* Returns the toggle button group context.
|
|
5
|
+
* @returns toggle button group context.
|
|
6
|
+
*/
|
|
7
|
+
export declare const useToggleButtonGroup: <T extends ToggleButtonGroupProps["value"]>() => ToggleButtonGroupContextProps<T>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { useContext } from "react";
|
|
2
|
+
import { ToggleButtonGroupContext } from "./context";
|
|
3
|
+
/**
|
|
4
|
+
* Returns the toggle button group context.
|
|
5
|
+
* @returns toggle button group context.
|
|
6
|
+
*/
|
|
7
|
+
export const useToggleButtonGroup = () => {
|
|
8
|
+
return useContext(ToggleButtonGroupContext);
|
|
9
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ToggleButtonGroupProps } from "@mui/material";
|
|
2
|
+
import { JSX } from "react";
|
|
3
|
+
import { ToggleButtonGroupProviderProps } from "./types";
|
|
4
|
+
/**
|
|
5
|
+
* ToggleButtonGroup provider component.
|
|
6
|
+
* Manages toggle button group state for child components.
|
|
7
|
+
* @param props - Component props.
|
|
8
|
+
* @param props.children - Child elements to render.
|
|
9
|
+
* @param props.initialValue - Initial value for the toggle button group.
|
|
10
|
+
* @returns ToggleButtonGroup provider component.
|
|
11
|
+
*/
|
|
12
|
+
export declare function ToggleButtonGroupProvider<T extends ToggleButtonGroupProps["value"]>({ children, initialValue, }: ToggleButtonGroupProviderProps<T>): JSX.Element;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useCallback, useState } from "react";
|
|
3
|
+
import { ToggleButtonGroupContext } from "./context";
|
|
4
|
+
/**
|
|
5
|
+
* ToggleButtonGroup provider component.
|
|
6
|
+
* Manages toggle button group state for child components.
|
|
7
|
+
* @param props - Component props.
|
|
8
|
+
* @param props.children - Child elements to render.
|
|
9
|
+
* @param props.initialValue - Initial value for the toggle button group.
|
|
10
|
+
* @returns ToggleButtonGroup provider component.
|
|
11
|
+
*/
|
|
12
|
+
export function ToggleButtonGroupProvider({ children, initialValue = null, }) {
|
|
13
|
+
const [value, setValue] = useState(initialValue);
|
|
14
|
+
const onChange = useCallback((_, value) => {
|
|
15
|
+
if (value === null)
|
|
16
|
+
return;
|
|
17
|
+
setValue(value);
|
|
18
|
+
}, []);
|
|
19
|
+
return (_jsx(ToggleButtonGroupContext.Provider, { value: { onChange, value }, children: typeof children === "function"
|
|
20
|
+
? children({ onChange, value })
|
|
21
|
+
: children }));
|
|
22
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ToggleButtonGroupProps } from "@mui/material";
|
|
2
|
+
import { ReactNode } from "react";
|
|
3
|
+
export type ToggleButtonGroupContextProps<T extends ToggleButtonGroupProps["value"]> = Pick<ToggleButtonGroupProps, "onChange"> & {
|
|
4
|
+
value: T | null;
|
|
5
|
+
};
|
|
6
|
+
export type ToggleButtonGroupProviderProps<T extends ToggleButtonGroupProps["value"]> = {
|
|
7
|
+
children: ReactNode | ((props: ToggleButtonGroupContextProps<T>) => ReactNode);
|
|
8
|
+
initialValue?: T | null;
|
|
9
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/lib/config/entities.d.ts
CHANGED
|
@@ -14,6 +14,7 @@ import { ProviderId } from "../providers/authentication/common/types";
|
|
|
14
14
|
import { ExploreState } from "../providers/exploreState";
|
|
15
15
|
import { FileManifestState } from "../providers/fileManifestState";
|
|
16
16
|
import { SystemStatus, SystemStatusResponse } from "../providers/systemStatus";
|
|
17
|
+
import { AiConfig } from "../common/ai/config/types";
|
|
17
18
|
/**
|
|
18
19
|
* Interface to define the analytics configuration for a given site.
|
|
19
20
|
*/
|
|
@@ -291,6 +292,7 @@ interface TrackingConfig {
|
|
|
291
292
|
* Interface that will hold the whole configuration for a given site.
|
|
292
293
|
*/
|
|
293
294
|
export interface SiteConfig {
|
|
295
|
+
ai?: AiConfig;
|
|
294
296
|
analytics?: AnalyticsConfig;
|
|
295
297
|
appTitle: string;
|
|
296
298
|
authentication?: AuthenticationConfig;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { AiConfig } from "../../../common/ai/config/types";
|
|
2
|
+
/**
|
|
3
|
+
* Returns AI route configuration when the AI feature is enabled.
|
|
4
|
+
* @returns AI routes, or undefined if AI is not configured or enabled.
|
|
5
|
+
*/
|
|
6
|
+
export declare const useAiRoutes: () => Pick<AiConfig, "routes"> | undefined;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { FEATURE_FLAG } from "../../../common/ai/constants";
|
|
2
|
+
import { useConfig } from "../../useConfig";
|
|
3
|
+
import { useFeatureFlag } from "../../useFeatureFlag/useFeatureFlag";
|
|
4
|
+
/**
|
|
5
|
+
* Returns AI route configuration when the AI feature is enabled.
|
|
6
|
+
* @returns AI routes, or undefined if AI is not configured or enabled.
|
|
7
|
+
*/
|
|
8
|
+
export const useAiRoutes = () => {
|
|
9
|
+
const flagEnabled = useFeatureFlag(FEATURE_FLAG.CHAT);
|
|
10
|
+
const { config } = useConfig();
|
|
11
|
+
const { ai } = config;
|
|
12
|
+
if (!ai)
|
|
13
|
+
return;
|
|
14
|
+
const { enabled, routes } = ai;
|
|
15
|
+
if (enabled || flagEnabled) {
|
|
16
|
+
return { routes };
|
|
17
|
+
}
|
|
18
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { DrawerProps } from "@mui/material";
|
|
2
|
+
type DrawerPropsOptions = {
|
|
3
|
+
ANCHOR: typeof ANCHOR;
|
|
4
|
+
VARIANT: typeof VARIANT;
|
|
5
|
+
};
|
|
6
|
+
declare const ANCHOR: Record<string, DrawerProps["anchor"]>;
|
|
7
|
+
declare const VARIANT: Record<string, DrawerProps["variant"]>;
|
|
8
|
+
export declare const DRAWER_PROPS: DrawerPropsOptions;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
const ANCHOR = {
|
|
2
|
+
BOTTOM: "bottom",
|
|
3
|
+
LEFT: "left",
|
|
4
|
+
RIGHT: "right",
|
|
5
|
+
TOP: "top",
|
|
6
|
+
};
|
|
7
|
+
const VARIANT = {
|
|
8
|
+
PERMANENT: "permanent",
|
|
9
|
+
PERSISTENT: "persistent",
|
|
10
|
+
TEMPORARY: "temporary",
|
|
11
|
+
};
|
|
12
|
+
export const DRAWER_PROPS = {
|
|
13
|
+
ANCHOR,
|
|
14
|
+
VARIANT,
|
|
15
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { InputBaseProps } from "@mui/material";
|
|
2
|
+
type InputBasePropsOptions = {
|
|
3
|
+
COLOR: typeof COLOR;
|
|
4
|
+
MARGIN: typeof MARGIN;
|
|
5
|
+
SIZE: typeof SIZE;
|
|
6
|
+
TYPE: typeof TYPE;
|
|
7
|
+
};
|
|
8
|
+
declare const COLOR: Record<string, InputBaseProps["color"]>;
|
|
9
|
+
declare const MARGIN: Record<string, InputBaseProps["margin"]>;
|
|
10
|
+
declare const SIZE: Record<string, InputBaseProps["size"]>;
|
|
11
|
+
declare const TYPE: Record<string, InputBaseProps["type"]>;
|
|
12
|
+
export declare const INPUT_BASE_PROPS: InputBasePropsOptions;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
const COLOR = {
|
|
2
|
+
ERROR: "error",
|
|
3
|
+
INFO: "info",
|
|
4
|
+
PRIMARY: "primary",
|
|
5
|
+
SECONDARY: "secondary",
|
|
6
|
+
SUCCESS: "success",
|
|
7
|
+
WARNING: "warning",
|
|
8
|
+
};
|
|
9
|
+
const MARGIN = {
|
|
10
|
+
DENSE: "dense",
|
|
11
|
+
NONE: "none",
|
|
12
|
+
};
|
|
13
|
+
const SIZE = {
|
|
14
|
+
MEDIUM: "medium",
|
|
15
|
+
SMALL: "small",
|
|
16
|
+
};
|
|
17
|
+
const TYPE = {
|
|
18
|
+
TEXT: "text",
|
|
19
|
+
};
|
|
20
|
+
export const INPUT_BASE_PROPS = {
|
|
21
|
+
COLOR,
|
|
22
|
+
MARGIN,
|
|
23
|
+
SIZE,
|
|
24
|
+
TYPE,
|
|
25
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { StackProps } from "@mui/material";
|
|
2
|
+
type StackPropsOptions = {
|
|
3
|
+
ALIGN_ITEMS: typeof ALIGN_ITEMS;
|
|
4
|
+
DIRECTION: typeof DIRECTION;
|
|
5
|
+
FLEX_WRAP: typeof FLEX_WRAP;
|
|
6
|
+
};
|
|
7
|
+
declare const ALIGN_ITEMS: Record<string, StackProps["alignItems"]>;
|
|
8
|
+
declare const DIRECTION: Record<string, StackProps["direction"]>;
|
|
9
|
+
declare const FLEX_WRAP: Record<string, StackProps["flexWrap"]>;
|
|
10
|
+
export declare const STACK_PROPS: StackPropsOptions;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
const ALIGN_ITEMS = {
|
|
2
|
+
BASELINE: "baseline",
|
|
3
|
+
CENTER: "center",
|
|
4
|
+
FLEX_END: "flex-end",
|
|
5
|
+
FLEX_START: "flex-start",
|
|
6
|
+
STRETCH: "stretch",
|
|
7
|
+
};
|
|
8
|
+
const DIRECTION = {
|
|
9
|
+
COLUMN: "column",
|
|
10
|
+
COLUMN_REVERSE: "column-reverse",
|
|
11
|
+
ROW: "row",
|
|
12
|
+
ROW_REVERSE: "row-reverse",
|
|
13
|
+
};
|
|
14
|
+
const FLEX_WRAP = {
|
|
15
|
+
WRAP: "wrap",
|
|
16
|
+
WRAP_REVERSE: "wrap-reverse",
|
|
17
|
+
};
|
|
18
|
+
export const STACK_PROPS = {
|
|
19
|
+
ALIGN_ITEMS,
|
|
20
|
+
DIRECTION,
|
|
21
|
+
FLEX_WRAP,
|
|
22
|
+
};
|
package/lib/tests/testIds.d.ts
CHANGED
|
@@ -12,7 +12,10 @@ export declare const TEST_IDS: {
|
|
|
12
12
|
FILTER_SORT_BUTTON: string;
|
|
13
13
|
FILTER_SORT_MENU: string;
|
|
14
14
|
FILTER_TERM: string;
|
|
15
|
+
RESEARCH_FORM: string;
|
|
16
|
+
RESEARCH_PANEL: string;
|
|
15
17
|
SEARCH_ALL_FILTERS: string;
|
|
18
|
+
SEARCH_PANEL: string;
|
|
16
19
|
SIDEBAR: string;
|
|
17
20
|
SIDEBAR_DRAWER: string;
|
|
18
21
|
TABLE_FIRST_CELL: string;
|
package/lib/tests/testIds.js
CHANGED
|
@@ -12,7 +12,10 @@ export const TEST_IDS = {
|
|
|
12
12
|
FILTER_SORT_BUTTON: "filter-sort-button",
|
|
13
13
|
FILTER_SORT_MENU: "filter-sort-menu",
|
|
14
14
|
FILTER_TERM: "filter-term",
|
|
15
|
+
RESEARCH_FORM: "research-form",
|
|
16
|
+
RESEARCH_PANEL: "research-panel",
|
|
15
17
|
SEARCH_ALL_FILTERS: "search-all-filters",
|
|
18
|
+
SEARCH_PANEL: "search-panel",
|
|
16
19
|
SIDEBAR: "sidebar",
|
|
17
20
|
SIDEBAR_DRAWER: "sidebar-drawer",
|
|
18
21
|
TABLE_FIRST_CELL: "table-first-cell",
|
package/lib/views/ExploreView/entityList/filters/components/ToggleButtonGroup/toggleButtonGroup.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { JSX } from "react";
|
|
2
|
+
/**
|
|
3
|
+
* ToggleButtonGroup component for navigating to ResearchView.
|
|
4
|
+
* Only navigates to ResearchView when the "Research" button is clicked, otherwise remains on ExploreView.
|
|
5
|
+
* @returns ToggleButtonGroup JSX element.
|
|
6
|
+
*/
|
|
7
|
+
export declare const ToggleButtonGroup: () => JSX.Element | null;
|
package/lib/views/ExploreView/entityList/filters/components/ToggleButtonGroup/toggleButtonGroup.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { ToggleButton } from "@mui/material";
|
|
3
|
+
import { StyledBox } from "./toggleButtonGroup.styles";
|
|
4
|
+
import Link from "next/link";
|
|
5
|
+
import { useAiRoutes } from "../../../../../../hooks/ai/useAiRoutes/hook";
|
|
6
|
+
import { StyledToggleButtonGroup } from "./toggleButtonGroup.styles";
|
|
7
|
+
import { Beta } from "../../../../../../components/common/Chip/components/Beta/beta";
|
|
8
|
+
/**
|
|
9
|
+
* ToggleButtonGroup component for navigating to ResearchView.
|
|
10
|
+
* Only navigates to ResearchView when the "Research" button is clicked, otherwise remains on ExploreView.
|
|
11
|
+
* @returns ToggleButtonGroup JSX element.
|
|
12
|
+
*/
|
|
13
|
+
export const ToggleButtonGroup = () => {
|
|
14
|
+
const { routes } = useAiRoutes() || {};
|
|
15
|
+
if (!routes)
|
|
16
|
+
return null;
|
|
17
|
+
return (_jsx(StyledBox, { children: _jsxs(StyledToggleButtonGroup, { exclusive: true, children: [_jsxs(ToggleButton, { component: Link, href: routes.research, value: "research", children: ["Research ", _jsx(Beta, {})] }), _jsx(ToggleButton, { selected: true, value: "search", children: "Search" })] }) }));
|
|
18
|
+
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const StyledBox: import("@emotion/styled").StyledComponent<import("@mui/system").BoxOwnProps<import("@mui/material").Theme> & Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof import("@mui/system").BoxOwnProps<import("@mui/material").Theme>> & {
|
|
2
|
+
theme?: import("@emotion/react").Theme;
|
|
3
|
+
}, {}, {}>;
|
|
4
|
+
export declare const StyledToggleButtonGroup: import("@emotion/styled").StyledComponent<import("@mui/material").ToggleButtonGroupProps & {
|
|
5
|
+
theme?: import("@emotion/react").Theme;
|
|
6
|
+
}, {}, {}>;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import styled from "@emotion/styled";
|
|
2
|
+
import { Box, ToggleButtonGroup } from "@mui/material";
|
|
3
|
+
import { bpDownMd } from "../../../../../../styles/common/mixins/breakpoints";
|
|
4
|
+
import { PALETTE } from "../../../../../../styles/common/constants/palette";
|
|
5
|
+
export const StyledBox = styled(Box) `
|
|
6
|
+
margin-bottom: -16px;
|
|
7
|
+
padding: 16px;
|
|
8
|
+
|
|
9
|
+
${bpDownMd} {
|
|
10
|
+
margin-bottom: 0;
|
|
11
|
+
}
|
|
12
|
+
`;
|
|
13
|
+
export const StyledToggleButtonGroup = styled(ToggleButtonGroup) `
|
|
14
|
+
.MuiToggleButton-root {
|
|
15
|
+
gap: 4px;
|
|
16
|
+
padding: 6px 16px;
|
|
17
|
+
text-transform: none;
|
|
18
|
+
|
|
19
|
+
&.Mui-disabled {
|
|
20
|
+
color: ${PALETTE.INK_LIGHT};
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
`;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare const StyledStack: import("@emotion/styled").StyledComponent<import("@mui/material").StackOwnProps & import("@mui/material/OverridableComponent").CommonProps & Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof import("@mui/material/OverridableComponent").CommonProps | keyof import("@mui/material").StackOwnProps> & {
|
|
2
|
+
theme?: import("@emotion/react").Theme;
|
|
3
|
+
}, {}, {}>;
|
|
4
|
+
export declare const StyledGrid: import("@emotion/styled").StyledComponent<{
|
|
5
|
+
theme?: import("@emotion/react").Theme;
|
|
6
|
+
as?: React.ElementType;
|
|
7
|
+
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import styled from "@emotion/styled";
|
|
2
|
+
import { Stack } from "@mui/material";
|
|
3
|
+
import { bpDownMd } from "../../../../styles/common/mixins/breakpoints";
|
|
4
|
+
export const StyledStack = styled(Stack) `
|
|
5
|
+
gap: 8px;
|
|
6
|
+
margin: 16px 0;
|
|
7
|
+
padding: 0 16px;
|
|
8
|
+
|
|
9
|
+
${bpDownMd} {
|
|
10
|
+
margin: 8px 0;
|
|
11
|
+
}
|
|
12
|
+
`;
|
|
13
|
+
export const StyledGrid = styled.div `
|
|
14
|
+
display: grid;
|
|
15
|
+
gap: 16px;
|
|
16
|
+
grid-template-columns: 1fr auto;
|
|
17
|
+
`;
|