diff --git a/src/Elastic.Documentation.Site/.gitignore b/src/Elastic.Documentation.Site/.gitignore index 919143418..e7a86be8c 100644 --- a/src/Elastic.Documentation.Site/.gitignore +++ b/src/Elastic.Documentation.Site/.gitignore @@ -1,11 +1,7 @@ .parcel-cache/ node_modules/ -_static/main.js -_static/main.js.map -_static/custom-elements.js -_static/custom-elements.js.map -_static/pages-nav.js -_static/pages-nav.js.map _static/styles.css _static/styles.css.map _static/*.woff2 +_static/*.js +_static/*.js.map diff --git a/src/Elastic.Documentation.Site/Assets/web-components/SearchOrAskAi/SearchOrAskAiButton.tsx b/src/Elastic.Documentation.Site/Assets/web-components/SearchOrAskAi/SearchOrAskAiButton.tsx index 0006f0845..23ab5b61c 100644 --- a/src/Elastic.Documentation.Site/Assets/web-components/SearchOrAskAi/SearchOrAskAiButton.tsx +++ b/src/Elastic.Documentation.Site/Assets/web-components/SearchOrAskAi/SearchOrAskAiButton.tsx @@ -1,5 +1,5 @@ +/** @jsxImportSource @emotion/react */ import '../../eui-icons-cache' -import { SearchOrAskAiModal } from './SearchOrAskAiModal' import { useModalActions, useModalIsOpen } from './modal.store' import { useSearchActions, useSearchTerm } from './search.store' import { @@ -10,10 +10,18 @@ import { EuiPanel, EuiTextTruncate, EuiText, + EuiLoadingSpinner, } from '@elastic/eui' import { css } from '@emotion/react' import * as React from 'react' -import { useEffect } from 'react' +import { useEffect, Suspense, lazy } from 'react' + +// Lazy load the modal component +const SearchOrAskAiModal = lazy(() => + import('./SearchOrAskAiModal').then((module) => ({ + default: module.SearchOrAskAiModal, + })) +) export const SearchOrAskAiButton = () => { const searchTerm = useSearchTerm() @@ -30,6 +38,13 @@ export const SearchOrAskAiButton = () => { max-width: 100%; ` + const loadingCss = css` + display: flex; + justify-content: center; + align-items: center; + padding: 2rem; + ` + useEffect(() => { const handleKeydown = (event: KeyboardEvent) => { if (event.key === 'Escape') { @@ -81,7 +96,15 @@ export const SearchOrAskAiButton = () => { - + + + + } + > + + diff --git a/src/Elastic.Documentation.Site/Assets/web-components/SearchOrAskAi/SearchOrAskAiModal.tsx b/src/Elastic.Documentation.Site/Assets/web-components/SearchOrAskAi/SearchOrAskAiModal.tsx index 2580133af..ed4d91c3b 100644 --- a/src/Elastic.Documentation.Site/Assets/web-components/SearchOrAskAi/SearchOrAskAiModal.tsx +++ b/src/Elastic.Documentation.Site/Assets/web-components/SearchOrAskAi/SearchOrAskAiModal.tsx @@ -3,7 +3,6 @@ import { Suggestions } from './Suggestions' import { useAskAiTerm, useSearchActions, useSearchTerm } from './search.store' import { EuiFieldSearch, - EuiPanel, EuiSpacer, EuiBetaBadge, EuiText, @@ -20,12 +19,7 @@ export const SearchOrAskAiModal = () => { const { setSearchTerm, submitAskAiTerm } = useSearchActions() return ( - + <> { This feature is in beta. Got feedback? We'd love to hear it! - + ) }