diff --git a/packages/web-kitchensink-reactnext/src/base/selectcontrol/index.ts b/packages/web-kitchensink-reactnext/src/base/selectcontrol/index.ts index bc0c7da..949e6fc 100644 --- a/packages/web-kitchensink-reactnext/src/base/selectcontrol/index.ts +++ b/packages/web-kitchensink-reactnext/src/base/selectcontrol/index.ts @@ -1,4 +1,6 @@ -export interface SelectOption { +export type SelectOption = string | number | SelectOptionObject; + +interface SelectOptionObject { label: string; value?: string | number; children?: SelectOption[]; diff --git a/packages/web-kitchensink-reactnext/src/categories/freeform/react/components/MaskedTextInput/index.tsx b/packages/web-kitchensink-reactnext/src/categories/freeform/react/components/MaskedTextInput/index.tsx index ee81171..3115a2a 100644 --- a/packages/web-kitchensink-reactnext/src/categories/freeform/react/components/MaskedTextInput/index.tsx +++ b/packages/web-kitchensink-reactnext/src/categories/freeform/react/components/MaskedTextInput/index.tsx @@ -111,7 +111,7 @@ export const MaskedTextInput = React.forwardRef { label && ( -
-
+ {label} -
-
+ + ) } {hint && ( diff --git a/packages/web-kitchensink-reactnext/src/categories/freeform/react/components/MultilineTextInput/index.tsx b/packages/web-kitchensink-reactnext/src/categories/freeform/react/components/MultilineTextInput/index.tsx index f947c6e..6e749be 100644 --- a/packages/web-kitchensink-reactnext/src/categories/freeform/react/components/MultilineTextInput/index.tsx +++ b/packages/web-kitchensink-reactnext/src/categories/freeform/react/components/MultilineTextInput/index.tsx @@ -126,7 +126,7 @@ export const MultilineTextInput = React.forwardRef { label && ( -
-
+ {label} -
-
+ + ) } {hint && ( diff --git a/packages/web-kitchensink-reactnext/src/categories/freeform/react/components/TextInput/index.tsx b/packages/web-kitchensink-reactnext/src/categories/freeform/react/components/TextInput/index.tsx index 8ec5271..e01877b 100644 --- a/packages/web-kitchensink-reactnext/src/categories/freeform/react/components/TextInput/index.tsx +++ b/packages/web-kitchensink-reactnext/src/categories/freeform/react/components/TextInput/index.tsx @@ -118,7 +118,7 @@ export const TextInput = React.forwardRef { label && ( -
-
+ {label} -
-
+ + ) } {hint && ( diff --git a/packages/web-kitchensink-reactnext/src/categories/number/react/components/Slider/index.tsx b/packages/web-kitchensink-reactnext/src/categories/number/react/components/Slider/index.tsx index 64c4860..f1e6de5 100644 --- a/packages/web-kitchensink-reactnext/src/categories/number/react/components/Slider/index.tsx +++ b/packages/web-kitchensink-reactnext/src/categories/number/react/components/Slider/index.tsx @@ -1,102 +1,27 @@ import * as React from 'react'; +import * as SelectControlBase from '@tesseract-design/web-base-selectcontrol'; +import {RenderOptions} from '@tesseract-design/web-option-react'; import clsx from 'clsx'; import styles from './style.module.css'; -import * as SelectControlBase from '@tesseract-design/web-base-selectcontrol'; - -type SliderOrientation = 'horizontal' | 'vertical'; -interface RenderOptionsProps { - options: (number | SelectControlBase.SelectOption)[], - optionComponent?: React.ElementType, - optgroupComponent?: React.ElementType, - level?: number, -} - -const RenderOptions: React.FC = ({ - options, - optionComponent: Option = 'option', - optgroupComponent: Optgroup = 'optgroup', - level = 0, -}: RenderOptionsProps) => ( - <> - { - options.map((o) => { - if (typeof o === 'number') { - return ( - - ); - } - - if (typeof o.children !== 'undefined') { - if (level === 0) { - return ( - - - - ); - } - return ( - - - - - ); - } - - return null; - }) - } - -); +export type SliderOrientation = 'horizontal' | 'vertical'; type SliderDerivedElement = HTMLInputElement; export interface SliderProps extends Omit, 'type'> { orient?: SliderOrientation; - tickMarks?: (number | SelectControlBase.SelectOption)[]; + children?: React.ReactNode; length?: React.CSSProperties['width']; } export const Slider = React.forwardRef(({ className, style, - tickMarks = [], + children, orient = 'horizontal', length, + min = 0, + max = 100, ...etcProps }, forwardedRef) => { const [browser, setBrowser] = React.useState(); @@ -115,39 +40,53 @@ export const Slider = React.forwardRef(({ const tickMarkId = React.useId(); React.useEffect(() => { - if (!(typeof ref === 'object' && ref.current)) { + if (!(typeof ref === 'object' && ref)) { return; } - const {current: slider} = ref; + if (!slider) { + return; + } + const isFirefox = browser === 'firefox'; - const parent = slider?.parentElement as HTMLElement; + const wrapper = slider?.parentElement as HTMLElement; + const parent = wrapper?.parentElement as HTMLElement; const grandParent = parent?.parentElement as HTMLElement; if (isFirefox) { slider.setAttribute('orient', orient); - slider.removeAttribute('data-orient'); + wrapper.dataset[browser] = orient; + wrapper.removeAttribute('data-orient'); grandParent.style.width = '0px'; } return () => { if (slider && isFirefox) { grandParent.style.width = 'auto'; - slider.dataset.orient = slider.getAttribute(orient) ?? undefined; + wrapper.removeAttribute(`data-${browser}`); + wrapper.dataset.orient = slider.getAttribute(orient) ?? undefined; slider.removeAttribute('orient'); } }; }, [ref, orient, browser]); React.useEffect(() => { - if (!(typeof ref === 'object' && ref.current)) { + if (!(typeof ref === 'object' && ref)) { return; } - const {current: slider} = ref; - const parent = slider?.parentElement as HTMLElement; + if (!slider) { + return; + } + + const wrapper = slider?.parentElement as HTMLElement; + const parent = wrapper?.parentElement as HTMLElement; const grandParent = parent?.parentElement as HTMLElement; const isNotFirefox = typeof browser === 'string' && browser !== 'firefox'; + if (isNotFirefox) { + wrapper.dataset[browser] = orient; + } + const shouldEffectExecute = isNotFirefox && orient === 'vertical' && slider && parent && grandParent; if (shouldEffectExecute) { const trueHeight = parent.clientWidth; @@ -166,22 +105,52 @@ export const Slider = React.forwardRef(({ grandParent.removeAttribute('data-height'); grandParent.removeAttribute('data-width'); } + wrapper.removeAttribute(`data-${browser}`); }; }, [ref, orient, browser]); + React.useEffect(() => { + if (!(typeof ref === 'object' && ref)) { + return; + } + const {current: slider} = ref; + if (!slider) { + return; + } + + const isFirefox = browser === 'firefox'; + const isNotFirefox = typeof browser === 'string' && browser !== 'firefox'; + const tickMarkContainer = slider.nextElementSibling; + if (tickMarkContainer) { + const tickMarks = tickMarkContainer.children[0].children; + Array.from(tickMarks).forEach((tickMarkRaw) => { + const tickMark = tickMarkRaw as HTMLElement; + const offset = tickMark.dataset.offset as string; + if (isNotFirefox) { + tickMark.style.left = offset; + tickMark.style.bottom = ''; + } else if (isFirefox && orient === 'horizontal') { + tickMark.style.left = offset; + tickMark.style.bottom = ''; + } else { + tickMark.style.bottom = offset; + tickMark.style.left = ''; + } + }); + } + }, [ref, orient, browser]); + const block = typeof length === 'string' && length.trim() === '100%'; return ( <> { - tickMarks.length > 0 + children && ( - + {children} ) } @@ -203,18 +172,59 @@ export const Slider = React.forwardRef(({ position: 'relative', }} > - + + {Array.isArray(children) && ( +
+
+ {children.map((c) => ( +
+ {/* TODO fix translateX */} +
+
+ {c.props.children} +
+
+ ))} +
+
)} - /> +
diff --git a/packages/web-kitchensink-reactnext/src/categories/number/react/components/Slider/style.module.css b/packages/web-kitchensink-reactnext/src/categories/number/react/components/Slider/style.module.css index da4ee42..f8e20cc 100644 --- a/packages/web-kitchensink-reactnext/src/categories/number/react/components/Slider/style.module.css +++ b/packages/web-kitchensink-reactnext/src/categories/number/react/components/Slider/style.module.css @@ -11,12 +11,14 @@ .slider::-webkit-slider-container { width: 100%; height: 100%; + min-block-size: 0; background-color: rgb(var(--color-primary) / 50%); border-radius: 9999px; display: block; box-sizing: border-box; background-clip: content-box; padding: 0.25em; + appearance: none; } .slider::-webkit-slider-runnable-track { @@ -32,7 +34,7 @@ .slider::-webkit-slider-thumb { width: 1em; - height: 200%; + height: 1em; margin: -0.25em 0 0 0; border-radius: 9999px; @@ -60,7 +62,20 @@ box-shadow: -100000.5em 0 0 100000em rgb(var(--color-tertiary) / 50%); } -.slider[data-orient='vertical'] { +.slider-wrapper[data-orient='horizontal'] { + flex-direction: column; +} + +.slider-wrapper[data-firefox] { + flex-direction: column; +} + +.slider-wrapper[data-firefox='vertical'] { + flex-direction: row; +} + +.slider-wrapper[data-orient='vertical'] { + flex-direction: column; rotate: -90deg; translate: calc(-100% + 0.5em * 2); transform-origin: calc(100% - 0.5em) 0.5em; @@ -125,3 +140,22 @@ .slider[orient='vertical']:active::-moz-range-thumb { box-shadow: 0 100000.5em 0 100000em rgb(var(--color-tertiary) / 50%); } + +.slider[orient='vertical'] + .tick-mark-container { + flex-direction: row; +} + +.slider-wrapper[data-chrome] > input + * { + padding: 0 0.5em; + height: 1.5em; +} + +.slider-wrapper[data-firefox='horizontal'] > input + * { + padding: 0 0.5em; + height: 1.5em; +} + +.slider-wrapper[data-firefox='vertical'] > input + * { + padding: 0.5em 0; + width: 1.5em; +} diff --git a/packages/web-kitchensink-reactnext/src/categories/number/react/components/Spinner/index.tsx b/packages/web-kitchensink-reactnext/src/categories/number/react/components/Spinner/index.tsx index b1d1185..de5cf65 100644 --- a/packages/web-kitchensink-reactnext/src/categories/number/react/components/Spinner/index.tsx +++ b/packages/web-kitchensink-reactnext/src/categories/number/react/components/Spinner/index.tsx @@ -113,7 +113,7 @@ export const Spinner = React.forwardRef( /> { label && ( -
( }, )} > -
+ {label} -
-
+ + ) } {hint && ( diff --git a/packages/web-kitchensink-reactnext/src/categories/option/react/components/ComboBox/index.tsx b/packages/web-kitchensink-reactnext/src/categories/option/react/components/ComboBox/index.tsx new file mode 100644 index 0000000..48ff03d --- /dev/null +++ b/packages/web-kitchensink-reactnext/src/categories/option/react/components/ComboBox/index.tsx @@ -0,0 +1,203 @@ +import * as React from 'react'; +import * as TextControlBase from '@tesseract-design/web-base-textcontrol'; +import clsx from 'clsx'; + +type ComboBoxDerivedElement = HTMLInputElement; + +export interface ComboBoxProps extends Omit, 'size' | 'type' | 'style' | 'label' | 'list'> { + /** + * Short textual description indicating the nature of the component's value. + */ + label?: React.ReactNode, + /** + * Short textual description as guidelines for valid input values. + */ + hint?: React.ReactNode, + /** + * Size of the component. + */ + size?: TextControlBase.TextControlSize, + /** + * Additional description, usually graphical, indicating the nature of the component's value. + */ + indicator?: React.ReactNode, + /** + * Should the component display a border? + */ + border?: boolean, + /** + * Should the component occupy the whole width of its parent? + */ + block?: boolean, + /** + * Type of the component value. + */ + type?: TextControlBase.TextControlInputType, + /** + * Style of the component. + */ + variant?: TextControlBase.TextControlVariant, + /** + * Is the label hidden? + */ + hiddenLabel?: boolean, +} + +/** + * Component for inputting textual values. + * + * This component supports multiline input and adjusts its layout accordingly. + */ +export const ComboBox = React.forwardRef( + ( + { + label = '', + hint = '', + indicator, + size = 'medium' as const, + border = false, + block = false, + type = 'text' as const, + variant = 'default' as const, + hiddenLabel = false, + className, + ...etcProps + }: ComboBoxProps, + ref, + ) => { + const labelId = React.useId(); + + return ( +
+ + { + label && ( + + ) + } + {hint && ( +
+
+ {hint} +
+
+ )} + {indicator && ( +
+ {indicator} +
+ )} + { + border && ( + + ) + } +
+ ); + } +); + +ComboBox.displayName = 'ComboBox'; diff --git a/packages/web-kitchensink-reactnext/src/categories/option/react/components/DropdownSelect/index.tsx b/packages/web-kitchensink-reactnext/src/categories/option/react/components/DropdownSelect/index.tsx index 723f94c..ab835c8 100644 --- a/packages/web-kitchensink-reactnext/src/categories/option/react/components/DropdownSelect/index.tsx +++ b/packages/web-kitchensink-reactnext/src/categories/option/react/components/DropdownSelect/index.tsx @@ -1,5 +1,210 @@ -export const DropdownSelect = () => { - return ( - + {children} + + { + label && ( + + ) + } + {hint && ( +
+
+ {hint} +
+
+ )} + {indicator && ( +
+ {indicator} +
+ )} + { + border && ( + + ) + } + + ); + } +); + +DropdownSelect.displayName = 'DropdownSelect'; diff --git a/packages/web-kitchensink-reactnext/src/categories/option/react/components/MenuSelect/index.tsx b/packages/web-kitchensink-reactnext/src/categories/option/react/components/MenuSelect/index.tsx new file mode 100644 index 0000000..db9c7e1 --- /dev/null +++ b/packages/web-kitchensink-reactnext/src/categories/option/react/components/MenuSelect/index.tsx @@ -0,0 +1,23 @@ +import * as React from 'react'; + +type MenuSelectDerivedElement = HTMLSelectElement; + +export interface MenuSelectProps extends React.HTMLProps { + +} + +export const MenuSelect = React.forwardRef(({ + children, + ...etcProps +}, forwardedRef) => { + return ( +
+ +); diff --git a/packages/web-kitchensink-reactnext/src/categories/option/react/components/RadioTickBox/index.tsx b/packages/web-kitchensink-reactnext/src/categories/option/react/components/RadioTickBox/index.tsx new file mode 100644 index 0000000..417d395 --- /dev/null +++ b/packages/web-kitchensink-reactnext/src/categories/option/react/components/RadioTickBox/index.tsx @@ -0,0 +1,3 @@ +export const RadioTickBox = () => ( + +); diff --git a/packages/web-kitchensink-reactnext/src/categories/option/react/components/RenderOptions/index.tsx b/packages/web-kitchensink-reactnext/src/categories/option/react/components/RenderOptions/index.tsx new file mode 100644 index 0000000..6ebdb51 --- /dev/null +++ b/packages/web-kitchensink-reactnext/src/categories/option/react/components/RenderOptions/index.tsx @@ -0,0 +1,76 @@ +import * as SelectControlBase from '@/base/selectcontrol'; +import * as React from 'react'; + +export interface RenderOptionsProps { + options: SelectControlBase.SelectOption[], + optionComponent?: React.ElementType, + optgroupComponent?: React.ElementType, + level?: number, +} + +export const RenderOptions: React.FC = ({ + options, + optionComponent: Option = 'option', + optgroupComponent: Optgroup = 'optgroup', + level = 0, +}: RenderOptionsProps) => ( + options.map((o) => { + if (typeof o === 'number' || typeof o === 'string') { + return ( + + ); + } + + if (typeof o.children !== 'undefined') { + if (level === 0) { + return ( + + + + ); + } + return ( + + + + + ); + } + + return null; + }) +); diff --git a/packages/web-kitchensink-reactnext/src/categories/option/react/components/TagInput/index.tsx b/packages/web-kitchensink-reactnext/src/categories/option/react/components/TagInput/index.tsx new file mode 100644 index 0000000..d355256 --- /dev/null +++ b/packages/web-kitchensink-reactnext/src/categories/option/react/components/TagInput/index.tsx @@ -0,0 +1,203 @@ +import * as React from 'react'; +import * as TextControlBase from '@tesseract-design/web-base-textcontrol'; +import clsx from 'clsx'; + +type TagInputDerivedElement = HTMLInputElement; + +export interface TagInputProps extends Omit, 'size' | 'type' | 'style' | 'label' | 'list'> { + /** + * Short textual description indicating the nature of the component's value. + */ + label?: React.ReactNode, + /** + * Short textual description as guidelines for valid input values. + */ + hint?: React.ReactNode, + /** + * Size of the component. + */ + size?: TextControlBase.TextControlSize, + /** + * Additional description, usually graphical, indicating the nature of the component's value. + */ + indicator?: React.ReactNode, + /** + * Should the component display a border? + */ + border?: boolean, + /** + * Should the component occupy the whole width of its parent? + */ + block?: boolean, + /** + * Type of the component value. + */ + type?: TextControlBase.TextControlInputType, + /** + * Style of the component. + */ + variant?: TextControlBase.TextControlVariant, + /** + * Is the label hidden? + */ + hiddenLabel?: boolean, +} + +/** + * Component for inputting textual values. + * + * This component supports multiline input and adjusts its layout accordingly. + */ +export const TagInput = React.forwardRef( + ( + { + label = '', + hint = '', + indicator, + size = 'medium' as const, + border = false, + block = false, + type = 'text' as const, + variant = 'default' as const, + hiddenLabel = false, + className, + ...etcProps + }: TagInputProps, + ref, + ) => { + const labelId = React.useId(); + + return ( +
+ + { + label && ( + + ) + } + {hint && ( +
+
+ {hint} +
+
+ )} + {indicator && ( +
+ {indicator} +
+ )} + { + border && ( + + ) + } +
+ ); + } +); + +TagInput.displayName = 'TagInput'; diff --git a/packages/web-kitchensink-reactnext/src/categories/option/react/components/ToggleButton/index.tsx b/packages/web-kitchensink-reactnext/src/categories/option/react/components/ToggleButton/index.tsx new file mode 100644 index 0000000..357c4cc --- /dev/null +++ b/packages/web-kitchensink-reactnext/src/categories/option/react/components/ToggleButton/index.tsx @@ -0,0 +1,3 @@ +export const ToggleButton = () => ( + +); diff --git a/packages/web-kitchensink-reactnext/src/categories/option/react/components/ToggleSwitch/index.tsx b/packages/web-kitchensink-reactnext/src/categories/option/react/components/ToggleSwitch/index.tsx new file mode 100644 index 0000000..22b25e7 --- /dev/null +++ b/packages/web-kitchensink-reactnext/src/categories/option/react/components/ToggleSwitch/index.tsx @@ -0,0 +1,3 @@ +export const ToggleSwitch = () => ( + +); diff --git a/packages/web-kitchensink-reactnext/src/categories/option/react/components/ToggleTickBox/index.tsx b/packages/web-kitchensink-reactnext/src/categories/option/react/components/ToggleTickBox/index.tsx new file mode 100644 index 0000000..4b7cb6b --- /dev/null +++ b/packages/web-kitchensink-reactnext/src/categories/option/react/components/ToggleTickBox/index.tsx @@ -0,0 +1,3 @@ +export const ToggleTickBox = () => ( + +); diff --git a/packages/web-kitchensink-reactnext/src/categories/option/react/index.ts b/packages/web-kitchensink-reactnext/src/categories/option/react/index.ts index 97e0183..af1c6fb 100644 --- a/packages/web-kitchensink-reactnext/src/categories/option/react/index.ts +++ b/packages/web-kitchensink-reactnext/src/categories/option/react/index.ts @@ -1 +1,10 @@ +export * from './components/ComboBox'; export * from './components/DropdownSelect'; +export * from './components/MenuSelect'; +export * from './components/RadioButton'; +export * from './components/RadioTickBox'; +export * from './components/RenderOptions'; +export * from './components/TagInput'; +export * from './components/ToggleButton'; +export * from './components/ToggleSwitch'; +export * from './components/ToggleTickBox'; diff --git a/packages/web-kitchensink-reactnext/src/pages/categories/number/index.tsx b/packages/web-kitchensink-reactnext/src/pages/categories/number/index.tsx index ea6fc2b..104f5b2 100644 --- a/packages/web-kitchensink-reactnext/src/pages/categories/number/index.tsx +++ b/packages/web-kitchensink-reactnext/src/pages/categories/number/index.tsx @@ -21,16 +21,30 @@ const NumberPage: NextPage = () => { + + + + + + > + + A diff --git a/packages/web-kitchensink-reactnext/src/pages/categories/option/index.tsx b/packages/web-kitchensink-reactnext/src/pages/categories/option/index.tsx index fd58804..fca8afd 100644 --- a/packages/web-kitchensink-reactnext/src/pages/categories/option/index.tsx +++ b/packages/web-kitchensink-reactnext/src/pages/categories/option/index.tsx @@ -1,8 +1,6 @@ import { NextPage } from 'next'; -import { TextControlSize, TextControlVariant } from '@tesseract-design/web-base-textcontrol'; import * as Option from '@tesseract-design/web-option-react'; import * as SelectControlBase from '@tesseract-design/web-base-selectcontrol'; -import { ButtonSize, ButtonVariant } from '@tesseract-design/web-base-button'; import { DefaultLayout } from '@/components/DefaultLayout'; type Props = { @@ -70,17 +68,20 @@ const OptionPage: NextPage = ({
+ > + +
= ({
= ({
= ({ {' '} but you can call me @@ -203,7 +204,7 @@ const OptionPage: NextPage = ({ .
@@ -216,8 +217,8 @@ const OptionPage: NextPage = ({
= ({
= ({
= ({
= ({
= ({ = ({
= ({
= ({
= ({
= ({
= ({
= ({
= ({
= ({
= ({
= ({
= ({ = ({
= ({
= ({
= ({
= ({
= ({
= ({
@@ -637,7 +638,7 @@ const OptionPage: NextPage = ({
@@ -655,7 +656,7 @@ const OptionPage: NextPage = ({
= ({
= ({ Button @@ -705,8 +706,8 @@ const OptionPage: NextPage = ({ Button @@ -716,7 +717,7 @@ const OptionPage: NextPage = ({ Button @@ -726,8 +727,8 @@ const OptionPage: NextPage = ({ Button @@ -737,7 +738,7 @@ const OptionPage: NextPage = ({ Button @@ -747,8 +748,8 @@ const OptionPage: NextPage = ({ Button @@ -776,7 +777,7 @@ const OptionPage: NextPage = ({ block compact border - variant={ButtonVariant.FILLED} + variant="filled" name="RadioButton" > Button @@ -802,7 +803,7 @@ const OptionPage: NextPage = ({ block compact border - variant={ButtonVariant.FILLED} + variant="filled" name="RadioButton" subtext={ <> @@ -818,7 +819,7 @@ const OptionPage: NextPage = ({ block compact border - size={ButtonSize.SMALL} + size="small" name="RadioButton" subtext={ <> @@ -834,8 +835,8 @@ const OptionPage: NextPage = ({ block compact border - variant={ButtonVariant.FILLED} - size={ButtonSize.SMALL} + variant="filled" + size="small" name="RadioButton" subtext={ <> @@ -887,7 +888,7 @@ const OptionPage: NextPage = ({
= ({ = ({
= ({ = ({
= ({ = ({
= ({ = ({
= ({ enhanced border block - style={TextControlVariant.ALTERNATE} - size={TextControlSize.LARGE} + variant="alternate" + size="large" label="TagInput" hint="Type anything here…" indicator="A" @@ -1043,7 +1044,7 @@ const OptionPage: NextPage = ({
= ({
= ({
Button @@ -1105,7 +1106,7 @@ const OptionPage: NextPage = ({
Button @@ -1121,7 +1122,7 @@ const OptionPage: NextPage = ({
@@ -1140,7 +1141,7 @@ const OptionPage: NextPage = ({
@@ -1159,7 +1160,7 @@ const OptionPage: NextPage = ({
@@ -1177,7 +1178,7 @@ const OptionPage: NextPage = ({ Button @@ -1186,8 +1187,8 @@ const OptionPage: NextPage = ({ Button @@ -1196,7 +1197,7 @@ const OptionPage: NextPage = ({ Button @@ -1205,8 +1206,8 @@ const OptionPage: NextPage = ({ Button @@ -1215,7 +1216,7 @@ const OptionPage: NextPage = ({ Button @@ -1224,8 +1225,8 @@ const OptionPage: NextPage = ({ Button @@ -1251,7 +1252,7 @@ const OptionPage: NextPage = ({ block compact border - variant={ButtonVariant.FILLED} + variant="filled" > Button @@ -1275,7 +1276,7 @@ const OptionPage: NextPage = ({ block compact border - variant={ButtonVariant.FILLED} + variant="filled" subtext={ <> Subtext @@ -1290,7 +1291,7 @@ const OptionPage: NextPage = ({ block compact border - size={ButtonSize.SMALL} + size="small" subtext={ <> Subtext @@ -1305,8 +1306,8 @@ const OptionPage: NextPage = ({ block compact border - variant={ButtonVariant.FILLED} - size={ButtonSize.SMALL} + variant="filled" + size="small" subtext={ <> Subtext @@ -1422,7 +1423,7 @@ const OptionPage: NextPage = ({
= ({
= ({
= ({
= ({
= ({
= ({
= ({
= ({
= ({ = ({
= ({
= ({
= ({
= ({
= ({
= ({
= ({
= ({
= ({
= ({
= ({ = ({
= ({