Back to Fluentui

Slider component Migration guide

apps/public-docsite-v9/src/Concepts/Migration/FromV0/Components/Slider.mdx

4.40.2-hotfix24.2 KB
Original Source

import { Meta } from '@storybook/addon-docs/blocks';

<Meta title="Concepts/Migration/from v0/Components/Slider Migration" />

Slider component Migration guide

Overview:

To help with the migration we also offer a mixin that can be checked here

Before:

tsx
import { Slider } from '@fluentui/react-northstar';
const Component = () => <Slider />;

After:

tsx
import { Slider } from '@fluentui/react-components';
const Component = () => <Slider />;

More examples: Sandbox

Slider upgrade doc in V9: Slider upgrade to V9

How to migrate props:

Slider propsmigrate guide
accessibilitysee [migrate-custom-accessibility.md](?path=/docs/concepts-migration-from-v0-custom-accessibility--docs)
as, classNamekeep it as is
defaultValuekeep it as is
disabledkeep it as is
getA11yValueMessageOnChangecreate your own message for a11y attr `aria-valuetext` by listening `onChange` and updating state value
fluiduse `slider.fluid()` mixin in Slider component's style file
inputkeep it as is
max, minkeep it as is
onChangekeep it as is
stepkeep it as is
valuekeep it as is
verticalkeep it as is
variables, styles, designsee [Migrate style overrides](#migrate-style-overrides) in this document

Here is comparison for both versions: Sandbox


Migrate style overrides

⚠️ If this is your first migration, please read the general guide on how to migrate styles.

Example for migrate boolean variables:

Before:

tsx
// in COMPONENT_NAME.tsx
import { Slider } from '@fluentui/react-northstar';

export const Component = ({ menuItems }) => <Slider variables={{ isVolumeControl: true }} />;

// in slider-styles.ts
export const sliderStyles1 = {
  root: ({ variables: { colorSchemeDefault, isVolumeControl } }) => ({
    ...(isVolumeControl && {
      color: colorSchemeDefault.foreground,
    }),
  }),
};

After:

tsx
// in COMPONENT_NAME.tsx
import { Slider } from '@fluentui/react-components';
import { useStyles } from './COMPONENT_NAME.styles.ts';

export const Component = () => {
  const classes = useStyles();
  return <Slider className={classes.isVolumeControl} />;
};

// in COMPONENT_NAME.styles.ts
import { makeStyles, tokens } from '@fluentui/react-components';

export const useStyles = makeStyles({
  isVolumeControl: {
    color: tokens.colorNeutralForeground1,
  },
});

Find more examples here: Sandbox