diff --git a/packages/react-core/src/demos/DatePicker/DatePicker.md b/packages/react-core/src/demos/DatePicker/DatePicker.md index 53329fd0b42..41257a44762 100644 --- a/packages/react-core/src/demos/DatePicker/DatePicker.md +++ b/packages/react-core/src/demos/DatePicker/DatePicker.md @@ -13,53 +13,7 @@ import { Modal as ModalDeprecated, ModalVariant as ModalVariantDeprecated } from This is intended to be used as a filter. After selecting a start date, the next date is automatically selected. -```js -import { useState } from 'react'; -import { Split, SplitItem, DatePicker, isValidDate, yyyyMMddFormat } from '@patternfly/react-core'; - -DateRangePicker = () => { - const [from, setFrom] = useState(); - const [to, setTo] = useState(); - - const toValidator = (date) => - isValidDate(from) && date >= from ? '' : 'The "to" date must be after the "from" date'; - - const onFromChange = (_event, _value, date) => { - setFrom(new Date(date)); - if (isValidDate(date)) { - date.setDate(date.getDate() + 1); - setTo(yyyyMMddFormat(date)); - } else { - setTo(''); - } - }; - - const onToChange = (_event, _value, date) => { - if (isValidDate(date)) { - setTo(yyyyMMddFormat(date)); - } - }; - - return ( - - - - - to - - - - - ); -}; +```ts file="./examples/DatePickerRange.tsx" ``` ### Date and time pickers in modal diff --git a/packages/react-core/src/demos/DatePicker/examples/DatePickerRange.tsx b/packages/react-core/src/demos/DatePicker/examples/DatePickerRange.tsx new file mode 100644 index 00000000000..bb460d4abd6 --- /dev/null +++ b/packages/react-core/src/demos/DatePicker/examples/DatePickerRange.tsx @@ -0,0 +1,46 @@ +import { useState } from 'react'; +import { Split, SplitItem, DatePicker, isValidDate, yyyyMMddFormat } from '@patternfly/react-core'; + +export const DatePickerRange: React.FunctionComponent = () => { + const [from, setFrom] = useState(); + const [to, setTo] = useState(''); + + const toValidator = (date: Date) => + isValidDate(from) && date >= from ? '' : 'The "to" date must be after the "from" date'; + + const onFromChange = (_event: React.MouseEvent, _value: string, date: Date) => { + setFrom(new Date(date)); + if (isValidDate(date)) { + date.setDate(date.getDate() + 1); + setTo(yyyyMMddFormat(date)); + } else { + setTo(''); + } + }; + + const onToChange = (_event: React.MouseEvent, _value: string, date: Date) => { + if (isValidDate(date)) { + setTo(yyyyMMddFormat(date)); + } + }; + + return ( + + + + + to + + + + + ); +}; diff --git a/packages/react-core/src/demos/Wizard/WizardDemo.md b/packages/react-core/src/demos/Wizard/WizardDemo.md index fda29f8b4ea..35addbcc0f8 100644 --- a/packages/react-core/src/demos/Wizard/WizardDemo.md +++ b/packages/react-core/src/demos/Wizard/WizardDemo.md @@ -14,30 +14,30 @@ import { DashboardWrapper } from '@patternfly/react-core/dist/js/demos/Dashboard ### In modal -```js file="../examples/Wizard/InModal.tsx" isFullscreen +```ts file="../examples/Wizard/InModal.tsx" isFullscreen ``` ### In modal, with drawer -```js file="../examples/Wizard/InModalWithDrawer.tsx" isFullscreen +```ts file="../examples/Wizard/InModalWithDrawer.tsx" isFullscreen ``` ### In modal, with drawer and informational step -```js file="../examples/Wizard/InModalWithDrawerInformationalStep.tsx" isFullscreen +```ts file="../examples/Wizard/InModalWithDrawerInformationalStep.tsx" isFullscreen ``` ### In page -```js file="../examples/Wizard/InPage.tsx" isFullscreen +```ts file="../examples/Wizard/InPage.tsx" isFullscreen ``` ### In page, with drawer -```js file="../examples/Wizard/InPageWithDrawer.tsx" isFullscreen +```ts file="../examples/Wizard/InPageWithDrawer.tsx" isFullscreen ``` ### In page, with drawer and informational step -```js file="../examples/Wizard/InPageWithDrawerInformationalStep.tsx" isFullscreen +```ts file="../examples/Wizard/InPageWithDrawerInformationalStep.tsx" isFullscreen ```