diff --git a/packages/ui/src/components/Button/Button.stories.tsx b/packages/ui/src/components/Button/Button.stories.tsx
index db8e999f98..6b74615eeb 100644
--- a/packages/ui/src/components/Button/Button.stories.tsx
+++ b/packages/ui/src/components/Button/Button.stories.tsx
@@ -18,7 +18,7 @@ import type { Meta, StoryObj } from '@storybook/react-vite';
import { Button } from './Button';
import { Flex } from '../Flex';
import { Text } from '../Text';
-import { Icon } from '../Icon';
+import { RiArrowRightSLine, RiCloudLine } from '@remixicon/react';
const meta = {
title: 'Backstage UI/Button',
@@ -57,13 +57,13 @@ export const Variants: Story = {
},
render: () => (
- } variant="primary">
+ } variant="primary">
Button
- } variant="secondary">
+ } variant="secondary">
Button
- } variant="tertiary">
+ } variant="tertiary">
Button
@@ -76,10 +76,10 @@ export const Sizes: Story = {
},
render: () => (
- }>
+ }>
Small
- }>
+ }>
Medium
@@ -92,12 +92,12 @@ export const WithIcons: Story = {
},
render: args => (
- } />
- } />
+ } />
+ } />
}
- iconEnd={}
+ iconStart={}
+ iconEnd={}
/>
),
@@ -109,12 +109,12 @@ export const FullWidth: Story = {
},
render: args => (
- } />
- } />
+ } />
+ } />
}
- iconEnd={}
+ iconStart={}
+ iconEnd={}
/>
),
@@ -167,23 +167,19 @@ export const Playground: Story = {
+ } variant={variant} size={size}>
+ Button
+
}
+ iconEnd={}
variant={variant}
size={size}
>
Button
}
- variant={variant}
- size={size}
- >
- Button
-
- }
- iconEnd={}
+ iconStart={}
+ iconEnd={}
style={{ width: '200px' }}
variant={variant}
size={size}
@@ -194,7 +190,7 @@ export const Playground: Story = {
Button
}
+ iconStart={}
variant={variant}
size={size}
isDisabled
@@ -202,7 +198,7 @@ export const Playground: Story = {
Button
}
+ iconEnd={}
variant={variant}
size={size}
isDisabled
diff --git a/packages/ui/src/components/ButtonIcon/ButtonIcon.stories.tsx b/packages/ui/src/components/ButtonIcon/ButtonIcon.stories.tsx
index 802a85bb19..c1a908119f 100644
--- a/packages/ui/src/components/ButtonIcon/ButtonIcon.stories.tsx
+++ b/packages/ui/src/components/ButtonIcon/ButtonIcon.stories.tsx
@@ -17,7 +17,7 @@
import type { Meta, StoryObj } from '@storybook/react-vite';
import { ButtonIcon } from './ButtonIcon';
import { Flex } from '../Flex';
-import { Icon } from '../Icon';
+import { RiCloudLine } from '@remixicon/react';
const meta = {
title: 'Backstage UI/ButtonIcon',
@@ -38,15 +38,15 @@ export default meta;
type Story = StoryObj;
export const Default: Story = {
- render: () => } />,
+ render: () => } />,
};
export const Variants: Story = {
render: () => (
- } variant="primary" />
- } variant="secondary" />
- } variant="tertiary" />
+ } variant="primary" />
+ } variant="secondary" />
+ } variant="tertiary" />
),
};
@@ -54,8 +54,8 @@ export const Variants: Story = {
export const Sizes: Story = {
render: () => (
- } size="small" />
- } size="medium" />
+ } size="small" />
+ } size="medium" />
),
};
@@ -63,9 +63,9 @@ export const Sizes: Story = {
export const Disabled: Story = {
render: () => (
- } variant="primary" />
- } variant="secondary" />
- } variant="tertiary" />
+ } variant="primary" />
+ } variant="secondary" />
+ } variant="tertiary" />
),
};
@@ -81,5 +81,5 @@ export const Responsive: Story = {
sm: 'medium',
},
},
- render: args => } />,
+ render: args => } />,
};
diff --git a/packages/ui/src/components/ButtonLink/ButtonLink.stories.tsx b/packages/ui/src/components/ButtonLink/ButtonLink.stories.tsx
index 239339a136..7d288065a4 100644
--- a/packages/ui/src/components/ButtonLink/ButtonLink.stories.tsx
+++ b/packages/ui/src/components/ButtonLink/ButtonLink.stories.tsx
@@ -17,8 +17,8 @@
import type { Meta, StoryFn, StoryObj } from '@storybook/react-vite';
import { ButtonLink } from './ButtonLink';
import { Flex } from '../Flex';
-import { Icon } from '../Icon';
import { MemoryRouter } from 'react-router-dom';
+import { RiArrowRightSLine, RiCloudLine } from '@remixicon/react';
const meta = {
title: 'Backstage UI/ButtonLink',
@@ -55,7 +55,7 @@ export const Variants: Story = {
render: () => (
}
+ iconStart={}
variant="primary"
href="https://ui.backstage.io"
target="_blank"
@@ -63,7 +63,7 @@ export const Variants: Story = {
Button
}
+ iconStart={}
variant="secondary"
href="https://ui.backstage.io"
target="_blank"
@@ -71,7 +71,7 @@ export const Variants: Story = {
Button
}
+ iconStart={}
variant="tertiary"
href="https://ui.backstage.io"
target="_blank"
@@ -88,10 +88,10 @@ export const Sizes: Story = {
},
render: () => (
- }>
+ }>
Small
- }>
+ }>
Medium
@@ -104,12 +104,12 @@ export const WithIcons: Story = {
},
render: args => (
- } />
- } />
+ } />
+ } />
}
- iconEnd={}
+ iconStart={}
+ iconEnd={}
/>
),
@@ -121,12 +121,12 @@ export const FullWidth: Story = {
},
render: args => (
- } />
- } />
+ } />
+ } />
}
- iconEnd={}
+ iconStart={}
+ iconEnd={}
/>
),
diff --git a/packages/ui/src/components/Checkbox/Checkbox.tsx b/packages/ui/src/components/Checkbox/Checkbox.tsx
index 98ccdbc674..2414f29f5f 100644
--- a/packages/ui/src/components/Checkbox/Checkbox.tsx
+++ b/packages/ui/src/components/Checkbox/Checkbox.tsx
@@ -16,11 +16,11 @@
import { forwardRef } from 'react';
import { Checkbox as CheckboxPrimitive } from '@base-ui-components/react/checkbox';
-import { Icon } from '../..';
import type { CheckboxProps } from './types';
import { useStyles } from '../../hooks/useStyles';
import clsx from 'clsx';
import styles from './Checkbox.module.css';
+import { RiCheckLine } from '@remixicon/react';
/** @public */
export const Checkbox = forwardRef(
@@ -38,7 +38,7 @@ export const Checkbox = forwardRef(
-
+
);
diff --git a/packages/ui/src/components/Collapsible/Collapsible.stories.tsx b/packages/ui/src/components/Collapsible/Collapsible.stories.tsx
index 7271e6f582..47b76f2f56 100644
--- a/packages/ui/src/components/Collapsible/Collapsible.stories.tsx
+++ b/packages/ui/src/components/Collapsible/Collapsible.stories.tsx
@@ -19,7 +19,7 @@ import { Collapsible } from './Collapsible';
import { Button } from '../Button';
import { Box } from '../Box';
import { Text } from '../Text';
-import { Icon } from '../Icon';
+import { RiArrowDownSLine, RiArrowUpSLine } from '@remixicon/react';
const meta = {
title: 'Backstage UI/Collapsible',
@@ -43,13 +43,7 @@ export const Default: Story = {
render={(props, state) => (
- ) : (
-
- )
- }
+ iconEnd={state.open ? : }
{...props}
>
{state.open ? 'Close Panel' : 'Open Panel'}
diff --git a/packages/ui/src/components/PasswordField/PasswordField.stories.tsx b/packages/ui/src/components/PasswordField/PasswordField.stories.tsx
index b89f891430..1867e5b7bf 100644
--- a/packages/ui/src/components/PasswordField/PasswordField.stories.tsx
+++ b/packages/ui/src/components/PasswordField/PasswordField.stories.tsx
@@ -17,9 +17,9 @@
import type { Meta, StoryObj } from '@storybook/react-vite';
import { PasswordField } from './PasswordField';
import { Form } from 'react-aria-components';
-import { Icon } from '../Icon';
import { Flex } from '../Flex';
import { FieldLabel } from '../FieldLabel';
+import { RiSparklingLine } from '@remixicon/react';
const meta = {
title: 'Backstage UI/PasswordField',
@@ -53,8 +53,8 @@ export const Sizes: Story = {
},
render: args => (
- } />
- } />
+ } />
+ } />
),
};
@@ -99,7 +99,7 @@ export const WithIcon: Story = {
...Default.args,
},
render: args => (
- } />
+ } />
),
};
diff --git a/packages/ui/src/components/SearchField/SearchField.stories.tsx b/packages/ui/src/components/SearchField/SearchField.stories.tsx
index 7cb89dfbfb..81bc090835 100644
--- a/packages/ui/src/components/SearchField/SearchField.stories.tsx
+++ b/packages/ui/src/components/SearchField/SearchField.stories.tsx
@@ -17,11 +17,10 @@
import type { Meta, StoryObj } from '@storybook/react-vite';
import { SearchField } from './SearchField';
import { Form } from 'react-aria-components';
-import { Icon } from '../Icon';
import { Flex } from '../Flex';
import { FieldLabel } from '../FieldLabel';
import { ButtonIcon } from '../ButtonIcon';
-import { RiCactusLine } from '@remixicon/react';
+import { RiCactusLine, RiEBike2Line } from '@remixicon/react';
import { Button } from '../Button';
import { Header } from '../Header';
import { MemoryRouter } from 'react-router-dom';
@@ -111,7 +110,7 @@ export const WithIcon: Story = {
{...args}
placeholder="Enter a URL"
size="small"
- icon={}
+ icon={}
/>
),
};
diff --git a/packages/ui/src/components/Select/Select.tsx b/packages/ui/src/components/Select/Select.tsx
index d325b8feec..733d0915e2 100644
--- a/packages/ui/src/components/Select/Select.tsx
+++ b/packages/ui/src/components/Select/Select.tsx
@@ -28,10 +28,10 @@ import clsx from 'clsx';
import { SelectProps } from './types';
import { useStyles } from '../../hooks/useStyles';
import { FieldLabel } from '../FieldLabel';
-import { Icon } from '../Icon';
import { FieldError } from '../FieldError';
import styles from './Select.module.css';
import stylesPopover from '../Popover/Popover.module.css';
+import { RiArrowDownSLine, RiCheckLine } from '@remixicon/react';
/** @public */
export const Select = forwardRef((props, ref) => {
@@ -91,7 +91,7 @@ export const Select = forwardRef((props, ref) => {
-
+
((props, ref) => {
styles[classNames.itemIndicator],
)}
>
-
+
{
@@ -51,9 +51,9 @@ export const Column = (props: ColumnProps) => {
)}
>
{sortDirection === 'ascending' ? (
-
+
) : (
-
+
)}
)}
diff --git a/packages/ui/src/components/TablePagination/TablePagination.tsx b/packages/ui/src/components/TablePagination/TablePagination.tsx
index 3fbaf77ccd..ebd585a0c3 100644
--- a/packages/ui/src/components/TablePagination/TablePagination.tsx
+++ b/packages/ui/src/components/TablePagination/TablePagination.tsx
@@ -15,10 +15,11 @@
*/
import clsx from 'clsx';
-import { Text, ButtonIcon, Select, Icon } from '../..';
+import { Text, ButtonIcon, Select } from '../..';
import type { TablePaginationProps } from './types';
import { useStyles } from '../../hooks/useStyles';
import styles from './TablePagination.module.css';
+import { RiArrowLeftSLine, RiArrowRightSLine } from '@remixicon/react';
/**
* Pagination controls for Table components with page navigation and size selection.
@@ -109,7 +110,7 @@ export function TablePagination(props: TablePaginationProps) {
size="small"
onClick={previousPage}
isDisabled={currentOffset === 0}
- icon={}
+ icon={}
aria-label="Previous"
/>
= rowCount
}
- icon={}
+ icon={}
aria-label="Next"
/>
diff --git a/packages/ui/src/components/TagGroup/TagGroup.stories.tsx b/packages/ui/src/components/TagGroup/TagGroup.stories.tsx
index 409956e049..0ccd83de1e 100644
--- a/packages/ui/src/components/TagGroup/TagGroup.stories.tsx
+++ b/packages/ui/src/components/TagGroup/TagGroup.stories.tsx
@@ -18,14 +18,20 @@ import { useState } from 'react';
import type { Meta, StoryObj } from '@storybook/react-vite';
import { TagGroup, Tag } from '.';
import type { Selection } from 'react-aria-components';
-import { Flex, Icon, IconNames } from '../../';
+import { Flex } from '../../';
import { useListData } from 'react-stately';
import { MemoryRouter } from 'react-router-dom';
+import {
+ RiAccountCircleLine,
+ RiBugLine,
+ RiEyeLine,
+ RiHeartLine,
+} from '@remixicon/react';
export interface ListItem {
id: string;
name: string;
- icon: IconNames;
+ icon: React.ReactNode;
isDisabled?: boolean;
}
@@ -54,13 +60,13 @@ export default meta;
type Story = StoryObj;
const initialList: ListItem[] = [
- { id: 'banana', name: 'Banana', icon: 'bug' },
- { id: 'apple', name: 'Apple', icon: 'account-circle', isDisabled: true },
- { id: 'orange', name: 'Orange', icon: 'eye', isDisabled: true },
- { id: 'pear', name: 'Pear', icon: 'heart' },
- { id: 'grape', name: 'Grape', icon: 'bug' },
- { id: 'pineapple', name: 'Pineapple', icon: 'eye' },
- { id: 'strawberry', name: 'Strawberry', icon: 'heart' },
+ { id: 'banana', name: 'Banana', icon: },
+ { id: 'apple', name: 'Apple', icon: },
+ { id: 'orange', name: 'Orange', icon: },
+ { id: 'pear', name: 'Pear', icon: },
+ { id: 'grape', name: 'Grape', icon: },
+ { id: 'pineapple', name: 'Pineapple', icon: },
+ { id: 'strawberry', name: 'Strawberry', icon: },
];
export const Default: Story = {
@@ -84,14 +90,14 @@ export const Sizes: Story = {
{initialList.map(item => (
- }>
+
{item.name}
))}
{initialList.map(item => (
- }>
+
{item.name}
))}
@@ -151,10 +157,7 @@ export const WithIcon: Story = {
render: args => (
{initialList.map(item => (
- : undefined}
- >
+
{item.name}
))}
@@ -231,9 +234,7 @@ export const WithIconAndRemoveButton: Story = {
{...args}
>
{item => (
- : undefined}>
- {item.name}
-
+ {item.name}
)}
);
diff --git a/packages/ui/src/components/TextField/TextField.stories.tsx b/packages/ui/src/components/TextField/TextField.stories.tsx
index 86da34d147..38115996ae 100644
--- a/packages/ui/src/components/TextField/TextField.stories.tsx
+++ b/packages/ui/src/components/TextField/TextField.stories.tsx
@@ -17,9 +17,9 @@
import type { Meta, StoryObj } from '@storybook/react-vite';
import { TextField } from './TextField';
import { Form } from 'react-aria-components';
-import { Icon } from '../Icon';
import { Flex } from '../Flex';
import { FieldLabel } from '../FieldLabel';
+import { RiEyeLine, RiSparklingLine } from '@remixicon/react';
const meta = {
title: 'Backstage UI/TextField',
@@ -53,8 +53,8 @@ export const Sizes: Story = {
},
render: args => (
- } />
- } />
+ } />
+ } />
),
};
@@ -103,7 +103,7 @@ export const WithIcon: Story = {
{...args}
placeholder="Enter a URL"
size="small"
- icon={}
+ icon={}
/>
),
};