diff --git a/.stylelintrc b/.stylelintrc index 052e25082..e2bc2639a 100644 --- a/.stylelintrc +++ b/.stylelintrc @@ -9,10 +9,10 @@ ], "rules": { "declaration-empty-line-before": null, - "declaration-property-unit-whitelist": { + "declaration-property-unit-allowed-list": { "/.*/": ["rem", "deg", "fr", "ms", "%", "px", "vw", "vh"] }, - "declaration-property-value-blacklist": { + "declaration-property-value-disallowed-list": { "/.*/": ["(\\d+[1]+px|[^1]+px)"] }, "value-keyword-case": ["lower", { "ignoreKeywords": ["dummyValue"] }] diff --git a/src/components/Accordion/docs/Accordion.stories.tsx b/src/components/Accordion/docs/Accordion.stories.tsx index 7cd79c1fe..682fefd42 100644 --- a/src/components/Accordion/docs/Accordion.stories.tsx +++ b/src/components/Accordion/docs/Accordion.stories.tsx @@ -1,4 +1,3 @@ -import React from 'react'; import { StoryObj, Meta } from '@storybook/react'; import { Accordion } from '../Accordion'; diff --git a/src/components/Banner/docs/Banner.stories.tsx b/src/components/Banner/docs/Banner.stories.tsx index a5d6d76b6..f0152e532 100644 --- a/src/components/Banner/docs/Banner.stories.tsx +++ b/src/components/Banner/docs/Banner.stories.tsx @@ -34,7 +34,7 @@ const meta: Meta = { ) }, decorators: [ - Story => ( + (Story: React.FC): JSX.Element => (
( +export const DefaultBreadcrumbs: React.FC = ({ ...props }: BreadcrumbsProps) => ( Path to diff --git a/src/components/ColorScheme/docs/CurrentScheme.tsx b/src/components/ColorScheme/docs/CurrentScheme.tsx index 9376a8711..0be76d8b0 100644 --- a/src/components/ColorScheme/docs/CurrentScheme.tsx +++ b/src/components/ColorScheme/docs/CurrentScheme.tsx @@ -5,13 +5,13 @@ import { Text } from '../../Text/Text'; const evalColorSchemeQuery = () => window.matchMedia('(prefers-color-scheme: dark)'); const getCurrentScheme = (query: MediaQueryList): 'dark' | 'light' => (query.matches ? 'dark' : 'light'); -export const CurrentScheme = () => { +export const CurrentScheme: React.FC = () => { const [currentScheme, setCurrentScheme] = useState(getCurrentScheme(evalColorSchemeQuery())); useEffect(() => { const mql = evalColorSchemeQuery(); - const onMediaQueryChange = (e: MediaQueryListEvent) => { - setCurrentScheme(getCurrentScheme(e)); + const onMediaQueryChange = () => { + setCurrentScheme(getCurrentScheme(mql)); }; mql.addEventListener('change', onMediaQueryChange); diff --git a/src/components/Dimming/docs/Dimming.stories.tsx b/src/components/Dimming/docs/Dimming.stories.tsx index 6ddcb4553..befccf0f5 100644 --- a/src/components/Dimming/docs/Dimming.stories.tsx +++ b/src/components/Dimming/docs/Dimming.stories.tsx @@ -33,7 +33,7 @@ const meta: Meta = { } }, decorators: [ - Story => ( + (Story: React.FC): JSX.Element => ( // use a workaround with `willChange: transform` to keep the fixed positioned element inside the container
diff --git a/src/components/Divider/docs/Divider.stories.tsx b/src/components/Divider/docs/Divider.stories.tsx index 7ad30fc2e..4faa1de8a 100644 --- a/src/components/Divider/docs/Divider.stories.tsx +++ b/src/components/Divider/docs/Divider.stories.tsx @@ -16,7 +16,7 @@ const meta: Meta = { } }, decorators: [ - (Story, context) => ( + (Story: React.FC, context: { args: { vertical?: boolean } }): JSX.Element => ( One diff --git a/src/components/FilePicker/docs/FilePicker.stories.tsx b/src/components/FilePicker/docs/FilePicker.stories.tsx index f57a6d3ee..b3f654134 100644 --- a/src/components/FilePicker/docs/FilePicker.stories.tsx +++ b/src/components/FilePicker/docs/FilePicker.stories.tsx @@ -36,7 +36,7 @@ export const WithMultilineLabel: Story = { label: 'A very long label which can stretch to more than one line without any issues' }, decorators: [ - Story => ( + (Story: React.FC): JSX.Element => ( diff --git a/src/components/Headline/Headline.tsx b/src/components/Headline/Headline.tsx index 5035a3537..341af4443 100644 --- a/src/components/Headline/Headline.tsx +++ b/src/components/Headline/Headline.tsx @@ -4,7 +4,6 @@ import styled from 'styled-components'; import { compose, margin, system, MarginProps, textAlign, TextAlignProps, ResponsiveValue } from 'styled-system'; import { theme } from '../../essentials/theme'; import { get } from '../../utils/themeGet'; -import { getSemanticValue } from '../../utils/cssVariables'; interface HeadlineProps extends ComponentPropsWithoutRef<'h1'>, MarginProps, TextAlignProps { /** diff --git a/src/components/Modal/docs/Modal.stories.tsx b/src/components/Modal/docs/Modal.stories.tsx index 43df3beed..27a294f2c 100644 --- a/src/components/Modal/docs/Modal.stories.tsx +++ b/src/components/Modal/docs/Modal.stories.tsx @@ -7,7 +7,7 @@ const meta: Meta = { title: 'Components/Modal', component: Modal, decorators: [ - Story => ( + (Story: React.FC): JSX.Element => (
diff --git a/src/components/Offcanvas/docs/Offcanvas.stories.tsx b/src/components/Offcanvas/docs/Offcanvas.stories.tsx index 9e802dca8..76c8fecf6 100644 --- a/src/components/Offcanvas/docs/Offcanvas.stories.tsx +++ b/src/components/Offcanvas/docs/Offcanvas.stories.tsx @@ -7,7 +7,7 @@ const meta: Meta = { title: 'Components/Offcanvas', component: Offcanvas, decorators: [ - Story => ( + (Story: React.FC): JSX.Element => (
diff --git a/src/components/Pagination/docs/Pagination.stories.tsx b/src/components/Pagination/docs/Pagination.stories.tsx index 0f9bc6091..cb9a9b77e 100644 --- a/src/components/Pagination/docs/Pagination.stories.tsx +++ b/src/components/Pagination/docs/Pagination.stories.tsx @@ -48,7 +48,7 @@ export const WithPageSizeSelector: Story = { ] }, decorators: [ - Story => ( + (Story: React.FC): JSX.Element => (
diff --git a/src/components/Table/docs/Table.stories.tsx b/src/components/Table/docs/Table.stories.tsx index 4d3d92071..555ace54b 100644 --- a/src/components/Table/docs/Table.stories.tsx +++ b/src/components/Table/docs/Table.stories.tsx @@ -32,32 +32,32 @@ export default meta; type TableStory = StoryObj; export const Default: TableStory = { - render: DefaultTable + render: () => }; export const WithActiveRow: TableStory = { - render: ActiveRowTable + render: () => }; export const WithComplexData: TableStory = { decorators: [ - Story => ( + (Story: React.FC): JSX.Element => (
) ], - render: ComplexDataTable + render: () => }; export const WithSkeletonLoader: TableStory = { - render: SkeletonTable + render: () => }; export const WithSortableTable: TableStory = { - render: SortableTable + render: () => }; export const WithDefaultSortedTable: TableStory = { - render: SortableTableDefault + render: () => }; diff --git a/src/components/Tooltip/docs/Tooltip.stories.tsx b/src/components/Tooltip/docs/Tooltip.stories.tsx index 78e17ec15..297111aa1 100644 --- a/src/components/Tooltip/docs/Tooltip.stories.tsx +++ b/src/components/Tooltip/docs/Tooltip.stories.tsx @@ -17,7 +17,7 @@ const meta: Meta = { content: 'This is a regular tooltip 🏓' }, decorators: [ - Story => ( + (Story: React.FC): JSX.Element => (
@@ -39,6 +39,6 @@ export const AlwaysVisible: Story = { export const WithCustomPosition: Story = { args: { - placement: 'bottom-center' + placement: 'bottom-end' } }; diff --git a/src/components/experimental/ComboBox/docs/ComboBox.stories.tsx b/src/components/experimental/ComboBox/docs/ComboBox.stories.tsx index 5180948e8..8bfd21a90 100644 --- a/src/components/experimental/ComboBox/docs/ComboBox.stories.tsx +++ b/src/components/experimental/ComboBox/docs/ComboBox.stories.tsx @@ -12,7 +12,7 @@ const meta: Meta = { layout: 'centered' }, decorators: [ - Story => ( + (Story: React.FC): JSX.Element => (
diff --git a/src/components/experimental/DateField/docs/DateField.stories.tsx b/src/components/experimental/DateField/docs/DateField.stories.tsx index 550909af5..46a07348d 100644 --- a/src/components/experimental/DateField/docs/DateField.stories.tsx +++ b/src/components/experimental/DateField/docs/DateField.stories.tsx @@ -13,7 +13,7 @@ const meta: Meta = { layout: 'centered' }, decorators: [ - Story => ( + (Story: React.FC): JSX.Element => (
diff --git a/src/components/experimental/Dialog/docs/Dialog.stories.tsx b/src/components/experimental/Dialog/docs/Dialog.stories.tsx index 6506058f9..692cbcbd8 100644 --- a/src/components/experimental/Dialog/docs/Dialog.stories.tsx +++ b/src/components/experimental/Dialog/docs/Dialog.stories.tsx @@ -1,5 +1,4 @@ import React, { useState } from 'react'; -import { DialogTrigger } from 'react-aria-components'; import { StoryObj, Meta } from '@storybook/react'; import { action } from '@storybook/addon-actions'; import { Dialog } from '../Dialog'; diff --git a/src/components/experimental/Divider/docs/Divider.stories.tsx b/src/components/experimental/Divider/docs/Divider.stories.tsx index 49e812184..eac507234 100644 --- a/src/components/experimental/Divider/docs/Divider.stories.tsx +++ b/src/components/experimental/Divider/docs/Divider.stories.tsx @@ -17,7 +17,7 @@ type Story = StoryObj; export const Default: Story = { decorators: [ - Story => ( + (Story: React.FC): JSX.Element => (
One @@ -32,7 +32,7 @@ export const Default: Story = { export const Inset: Story = { decorators: [ - Story => ( + (Story: React.FC): JSX.Element => (
One @@ -48,7 +48,7 @@ export const Inset: Story = { export const MiddleInset: Story = { decorators: [ - Story => ( + (Story: React.FC): JSX.Element => (
One @@ -67,7 +67,7 @@ export const VerticalDivider: Story = { vertical: true }, decorators: [ - Story => ( + (Story: React.FC): JSX.Element => (
( + (Story: React.FC): JSX.Element => (
( + (Story: React.FC): JSX.Element => (
alert('Clicked!'), + onPress: () => {}, isDisabled: false, isLoading: false } diff --git a/src/components/experimental/Select/docs/Select.stories.tsx b/src/components/experimental/Select/docs/Select.stories.tsx index f62ab32fc..3797bda18 100644 --- a/src/components/experimental/Select/docs/Select.stories.tsx +++ b/src/components/experimental/Select/docs/Select.stories.tsx @@ -11,7 +11,7 @@ const meta: Meta = { layout: 'centered' }, decorators: [ - Story => ( + (Story: React.FC): JSX.Element => (
diff --git a/src/components/experimental/TextField/docs/TextField.stories.tsx b/src/components/experimental/TextField/docs/TextField.stories.tsx index 9b2432b7d..fcaec8a2c 100644 --- a/src/components/experimental/TextField/docs/TextField.stories.tsx +++ b/src/components/experimental/TextField/docs/TextField.stories.tsx @@ -11,7 +11,7 @@ const meta: Meta = { layout: 'centered' }, decorators: [ - Story => ( + (Story: React.FC): JSX.Element => (
diff --git a/src/components/experimental/TimeField/docs/TimeField.stories.tsx b/src/components/experimental/TimeField/docs/TimeField.stories.tsx index 245ebcdac..49702f14a 100644 --- a/src/components/experimental/TimeField/docs/TimeField.stories.tsx +++ b/src/components/experimental/TimeField/docs/TimeField.stories.tsx @@ -13,7 +13,7 @@ const meta: Meta = { layout: 'centered' }, decorators: [ - Story => ( + (Story: React.FC): JSX.Element => (
diff --git a/src/docs/Source.tsx b/src/docs/Source.tsx index 3a5278e5d..c4c89a00f 100644 --- a/src/docs/Source.tsx +++ b/src/docs/Source.tsx @@ -2,7 +2,11 @@ import React from 'react'; import { Source as StorybookSource } from '@storybook/blocks'; import { useDarkMode } from 'storybook-dark-mode'; -export const Source = props => { +interface SourceProps { + [key: string]: unknown; +} + +export const Source: React.FC = props => { const isDark = useDarkMode(); return ; }; diff --git a/src/essentials/Colors/globalStyles.ts b/src/essentials/Colors/globalStyles.ts index 1b0475e99..2ac73e252 100644 --- a/src/essentials/Colors/globalStyles.ts +++ b/src/essentials/Colors/globalStyles.ts @@ -1,4 +1,4 @@ -import { createGlobalStyle } from 'styled-components'; +import { createGlobalStyle, DefaultTheme, GlobalStyleComponent } from 'styled-components'; import { generateBareTierCssVariables, @@ -12,7 +12,7 @@ export const createThemeGlobalStyle = ( bareVariables: TokenObject, lightScheme: SemanticColorsSchema, darkScheme: SemanticColorsSchema -) => createGlobalStyle` +): GlobalStyleComponent, DefaultTheme> => createGlobalStyle` :root { color-scheme: light; ${generateBareTierCssVariables(bareVariables)} diff --git a/src/essentials/experimental/Colors.ts b/src/essentials/experimental/Colors.ts index 15537dff3..eb8d250e8 100644 --- a/src/essentials/experimental/Colors.ts +++ b/src/essentials/experimental/Colors.ts @@ -165,7 +165,12 @@ type Accents = { onAccentDark?: SemanticColorsSchema['on-accent']; }; -export const createGlobalStyle = ({ accent, onAccent, accentDark, onAccentDark }: Accents) => +export const createGlobalStyle = ({ + accent, + onAccent, + accentDark, + onAccentDark +}: Accents): ReturnType => createThemeGlobalStyle( ColorPalette, { ...SemanticColorsLight, accent, 'on-accent': onAccent }, diff --git a/src/essentials/experimental/globalStyles.ts b/src/essentials/experimental/globalStyles.ts index e726fcc4b..f2ea31184 100644 --- a/src/essentials/experimental/globalStyles.ts +++ b/src/essentials/experimental/globalStyles.ts @@ -1,4 +1,4 @@ -import { createGlobalStyle, css, CSSObject } from 'styled-components'; +import { createGlobalStyle, css, CSSObject, GlobalStyleComponent, DefaultTheme } from 'styled-components'; import { TokenObject } from '../../utils/cssVariables'; import { generateBareCssVariables, generateSemanticCssVariables } from './cssVariables'; @@ -25,7 +25,7 @@ export const createThemeGlobalStyle = ( bareVariables: TokenObject, lightScheme: SemanticColorsSchema, darkScheme: SemanticColorsSchema -) => { +): GlobalStyleComponent, DefaultTheme> => { const bareCssVariables = generateBareCssVariables(bareVariables); const semanticCssVariablesForLightTheme = generateSemanticCssVariables(lightScheme); const semanticCssVariablesForDarkTheme = generateSemanticCssVariables(darkScheme);