diff --git a/packages/module/patternfly-docs/content/extensions/chatbot/examples/Messages/BotMessage.tsx b/packages/module/patternfly-docs/content/extensions/chatbot/examples/Messages/BotMessage.tsx index f68a929e..6f1233b3 100644 --- a/packages/module/patternfly-docs/content/extensions/chatbot/examples/Messages/BotMessage.tsx +++ b/packages/module/patternfly-docs/content/extensions/chatbot/examples/Messages/BotMessage.tsx @@ -2,35 +2,44 @@ import React from 'react'; import Message from '@patternfly/chatbot/dist/dynamic/Message'; import patternflyAvatar from './patternfly_avatar.jpg'; import squareImg from './PF-social-color-square.svg'; -import { AlertActionLink, Form, FormGroup, Radio } from '@patternfly/react-core'; +import { + AlertActionLink, + MenuToggle, + MenuToggleElement, + Select, + SelectList, + SelectOption +} from '@patternfly/react-core'; export const BotMessageExample: React.FunctionComponent = () => { - const [variant, setVariant] = React.useState('code'); + const [variant, setVariant] = React.useState('Code'); + const [isOpen, setIsOpen] = React.useState(false); + const [selected, setSelected] = React.useState('Message content type'); /* eslint-disable indent */ const renderContent = () => { switch (variant) { - case 'code': + case 'Code': return code; - case 'heading': + case 'Heading': return heading; - case 'emphasis': + case 'Emphasis': return emphasis; - case 'blockQuotes': + case 'Block quotes': return blockQuotes; - case 'orderedList': + case 'Ordered list': return orderedList; - case 'unorderedList': + case 'Unordered list': return unorderedList; - case 'moreComplexList': + case 'More complex list': return moreComplexList; - case 'inlineCode': + case 'Inline code': return inlineCode; - case 'link': + case 'Link': return link; - case 'table': + case 'Table': return table; - case 'image': + case 'Image': return image; default: return; @@ -155,6 +164,32 @@ _Italic text, formatted with single underscores_ ) }; + const onSelect = (_event: React.MouseEvent | undefined, value: string | number | undefined) => { + setVariant(value); + setSelected(value as string); + setIsOpen(false); + }; + + const onToggleClick = () => { + setIsOpen(!isOpen); + }; + + const toggle = (toggleRef: React.Ref) => ( + + {selected} + + ); + return ( <> - -
- - setVariant('code')} - name="bot-message-type" - label="Code" - id="code" - /> - setVariant('inlineCode')} - name="bot-message-type" - label="Inline code" - id="inline-code" - /> - setVariant('heading')} - name="bot-message-type" - label="Heading" - id="heading" - /> - setVariant('blockQuotes')} - name="bot-message-type" - label="Block quote" - id="block-quotes" - /> - setVariant('emphasis')} - name="bot-message-type" - label="Emphasis" - id="emphasis" - /> - setVariant('link')} - name="bot-message-type" - label="Link" - id="link" - /> - setVariant('unorderedList')} - name="bot-message-type" - label="Unordered list" - id="unordered-list" - /> - setVariant('orderedList')} - name="bot-message-type" - label="Ordered list" - id="ordered-list" - /> - setVariant('moreComplexList')} - name="bot-message-type" - label="More complex list" - id="more-complex-list" - /> - setVariant('table')} - name="bot-message-type" - label="Table" - id="table" - /> - setVariant('image')} - name="bot-message-type" - label="Image" - id="image" - /> - setVariant('error')} - name="bot-message-type" - label="Error" - id="error" - /> - -
+ ); diff --git a/packages/module/patternfly-docs/content/extensions/chatbot/examples/Messages/FileDetailsLabel.tsx b/packages/module/patternfly-docs/content/extensions/chatbot/examples/Messages/FileDetailsLabel.tsx index 0ce14f65..e9ee1c57 100644 --- a/packages/module/patternfly-docs/content/extensions/chatbot/examples/Messages/FileDetailsLabel.tsx +++ b/packages/module/patternfly-docs/content/extensions/chatbot/examples/Messages/FileDetailsLabel.tsx @@ -1,52 +1,63 @@ import React from 'react'; import FileDetailsLabel from '@patternfly/chatbot/dist/dynamic/FileDetailsLabel'; -import { Radio } from '@patternfly/react-core/dist/dynamic/Radio'; -import { FormGroup } from '@patternfly/react-core/dist/dynamic/FormGroup'; -import { Stack } from '@patternfly/react-core/dist/dynamic/Stack'; +import { Stack, MenuToggle, MenuToggleElement, Select, SelectList, SelectOption } from '@patternfly/react-core'; export const FileDetailsLabelExample: React.FunctionComponent = () => { - const [variant, setVariant] = React.useState('plain'); + const [variant, setVariant] = React.useState('plain'); + const [isOpen, setIsOpen] = React.useState(false); + const [selected, setSelected] = React.useState('Variant'); + + const onSelect = (_event: React.MouseEvent | undefined, value: string | number | undefined) => { + setVariant(value); + setSelected(value as string); + setIsOpen(false); + }; + + const onToggleClick = () => { + setIsOpen(!isOpen); + }; + + const toggle = (toggleRef: React.Ref) => ( + + {selected} + + ); return ( - - setVariant('plain')} - name="basic-inline-radio" - label="Plain" - id="plain" - /> - setVariant('closeable')} - name="basic-inline-radio" - label="Closeable" - id="closeable" - /> - setVariant('clickable')} - name="basic-inline-radio" - label="Clickable" - id="clickable" - /> - setVariant('loading')} - name="basic-inline-radio" - label="Loading" - id="loading" - /> - +
console.log('clicked close button!') })} + {...(variant === 'Closeable' && { onClose: () => console.log('clicked close button!') })} // eslint-disable-next-line no-console - {...(variant === 'clickable' && { onClick: () => console.log('clicked entire button!') })} - {...(variant === 'loading' && { isLoading: true })} + {...(variant === 'Clickable' && { onClick: () => console.log('clicked entire button!') })} + {...(variant === 'Loading' && { isLoading: true })} />
diff --git a/packages/module/patternfly-docs/content/extensions/chatbot/examples/Messages/UserMessage.tsx b/packages/module/patternfly-docs/content/extensions/chatbot/examples/Messages/UserMessage.tsx index 2bab9660..f615b489 100644 --- a/packages/module/patternfly-docs/content/extensions/chatbot/examples/Messages/UserMessage.tsx +++ b/packages/module/patternfly-docs/content/extensions/chatbot/examples/Messages/UserMessage.tsx @@ -2,36 +2,45 @@ import React from 'react'; import Message from '@patternfly/chatbot/dist/dynamic/Message'; import userAvatar from './user_avatar.svg'; -import { AlertActionLink, Form, FormGroup, Radio } from '@patternfly/react-core'; +import { + AlertActionLink, + MenuToggle, + MenuToggleElement, + Select, + SelectList, + SelectOption +} from '@patternfly/react-core'; export const UserMessageExample: React.FunctionComponent = () => { - const [variant, setVariant] = React.useState('code'); - const [isEditable, setIsEditable] = React.useState(true); + const [variant, setVariant] = React.useState('Code'); + const [isEditable, setIsEditable] = React.useState(true); + const [isOpen, setIsOpen] = React.useState(false); + const [selected, setSelected] = React.useState('Message content type'); /* eslint-disable indent */ const renderContent = () => { switch (variant) { - case 'code': + case 'Code': return code; - case 'inlineCode': + case 'Inline code': return inlineCode; - case 'heading': + case 'Heading': return heading; - case 'emphasis': + case 'Emphasis': return emphasis; - case 'blockQuotes': + case 'Block quotes': return blockQuotes; - case 'orderedList': + case 'Ordered list': return orderedList; - case 'unorderedList': + case 'Unordered list': return unorderedList; - case 'moreComplexList': + case 'More complex list': return moreComplexList; - case 'link': + case 'Link': return link; - case 'table': + case 'Table': return table; - case 'image': + case 'Image': return image; default: return ''; @@ -156,6 +165,32 @@ _Italic text, formatted with single underscores_ ) }; + const onSelect = (_event: React.MouseEvent | undefined, value: string | number | undefined) => { + setVariant(value); + setSelected(value as string); + setIsOpen(false); + }; + + const onToggleClick = () => { + setIsOpen(!isOpen); + }; + + const toggle = (toggleRef: React.Ref) => ( + + {selected} + + ); + return ( <> -
- - { - setVariant('code'); - setIsEditable(true); - }} - name="user-message-type" - label="Code" - id="user-code" - /> - { - setVariant('inlineCode'); - setIsEditable(true); - }} - name="user-message-type" - label="Inline code" - id="user-inline-code" - /> - { - setVariant('heading'); - setIsEditable(true); - }} - name="user-message-type" - label="Heading" - id="user-heading" - /> - { - setVariant('blockQuotes'); - setIsEditable(true); - }} - name="user-message-type" - label="Block quote" - id="user-block-quotes" - /> - { - setVariant('emphasis'); - setIsEditable(true); - }} - name="user-message-type" - label="Emphasis" - id="user-emphasis" - /> - { - setVariant('link'); - setIsEditable(true); - }} - name="user-message-type" - label="Link" - id="user-link" - /> - { - setVariant('unorderedList'); - setIsEditable(true); - }} - name="user-message-type" - label="Unordered list" - id="user-unordered-list" - /> - { - setVariant('orderedList'); - setIsEditable(true); - }} - name="user-message-type" - label="Ordered list" - id="user-ordered-list" - /> - { - setVariant('moreComplexList'); - setIsEditable(true); - }} - name="user-message-type" - label="More complex list" - id="user-more-complex-list" - /> - { - setVariant('table'); - setIsEditable(true); - }} - name="user-message-type" - label="Table" - id="user-table" - /> - { - setVariant('image'); - setIsEditable(true); - }} - name="user-message-type" - label="Image" - id="user-image" - /> - { - setVariant('error'); - setIsEditable(true); - }} - name="user-message-type" - label="Error" - id="user-error" - /> - setVariant('editable')} - name="user-message-type" - label="Editable" - id="user-edit" - /> - -
+ setIsEditable(false)} onEditCancel={() => setIsEditable(false)} />