@cupra/ui-react 2.0.0-canary.186 → 2.0.0-canary.187

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/dist/cjs/components/Badge/Badge.cjs +1 -1
  2. package/dist/cjs/components/BasicCardImage/BasicCardImage.cjs +1 -1
  3. package/dist/cjs/components/BasicCardSection/BasicCardSection.cjs +1 -1
  4. package/dist/cjs/components/Breadcrumbs/Breadcrumbs.cjs +1 -1
  5. package/dist/cjs/components/Bullets/Bullets.cjs +1 -1
  6. package/dist/cjs/components/CarouselIndicator/CarouselIndicator.cjs +1 -1
  7. package/dist/cjs/components/Checkbox/Checkbox.cjs +1 -1
  8. package/dist/cjs/components/CheckboxGroup/CheckboxGroup.cjs +1 -1
  9. package/dist/cjs/components/Chip/Chip.cjs +1 -1
  10. package/dist/cjs/components/Currency/Currency.cjs +1 -1
  11. package/dist/cjs/components/DialogBody/DialogBody.cjs +1 -1
  12. package/dist/cjs/components/DialogFooter/DialogFooter.cjs +1 -1
  13. package/dist/cjs/components/DialogHeader/DialogHeader.cjs +1 -1
  14. package/dist/cjs/components/Divider/Divider.cjs +1 -1
  15. package/dist/cjs/components/Hyperlink/Hyperlink.cjs +1 -1
  16. package/dist/cjs/components/Icon/Icon.cjs +1 -1
  17. package/dist/cjs/components/LinkButton/LinkButton.cjs +1 -1
  18. package/dist/cjs/components/List/List.cjs +1 -1
  19. package/dist/cjs/components/Logo/Logo.cjs +1 -1
  20. package/dist/cjs/components/MapPin/MapPin.cjs +1 -1
  21. package/dist/cjs/components/NavigationControls/NavigationControls.cjs +1 -1
  22. package/dist/cjs/components/ProgressBar/ProgressBar.cjs +1 -1
  23. package/dist/cjs/components/RadioButton/RadioButton.cjs +1 -1
  24. package/dist/cjs/components/Rating/Rating.cjs +1 -1
  25. package/dist/cjs/components/Selection/Selection.cjs +1 -1
  26. package/dist/cjs/components/Skeleton/Skeleton.cjs +1 -1
  27. package/dist/cjs/components/Stepper/Stepper.cjs +1 -1
  28. package/dist/cjs/components/Table/Table.cjs +1 -1
  29. package/dist/cjs/components/TableCell/TableCell.cjs +1 -1
  30. package/dist/cjs/components/TableRow/TableRow.cjs +1 -1
  31. package/dist/cjs/components/Text/Text.cjs +1 -1
  32. package/dist/cjs/components/ThemeProvider/ThemeProvider.cjs +1 -1
  33. package/dist/cjs/components/ThemeSwitch/ThemeSwitch.cjs +1 -1
  34. package/dist/cjs/components/ToggleButton/ToggleButton.cjs +1 -1
  35. package/dist/cjs/core/createDsComponent.cjs +1 -0
  36. package/dist/cjs/index.cjs +1 -1
  37. package/dist/esm/components/Badge/Badge.js +3 -11
  38. package/dist/esm/components/BasicCardImage/BasicCardImage.js +3 -13
  39. package/dist/esm/components/BasicCardSection/BasicCardSection.js +3 -13
  40. package/dist/esm/components/Breadcrumbs/Breadcrumbs.js +3 -12
  41. package/dist/esm/components/Bullets/Bullets.js +3 -8
  42. package/dist/esm/components/CarouselIndicator/CarouselIndicator.js +3 -12
  43. package/dist/esm/components/Checkbox/Checkbox.js +3 -14
  44. package/dist/esm/components/CheckboxGroup/CheckboxGroup.js +3 -15
  45. package/dist/esm/components/Chip/Chip.js +3 -13
  46. package/dist/esm/components/Currency/Currency.js +3 -12
  47. package/dist/esm/components/DialogBody/DialogBody.js +3 -13
  48. package/dist/esm/components/DialogFooter/DialogFooter.js +3 -13
  49. package/dist/esm/components/DialogHeader/DialogHeader.js +3 -13
  50. package/dist/esm/components/Divider/Divider.js +3 -11
  51. package/dist/esm/components/Hyperlink/Hyperlink.js +3 -14
  52. package/dist/esm/components/Icon/Icon.js +3 -13
  53. package/dist/esm/components/LinkButton/LinkButton.js +3 -14
  54. package/dist/esm/components/List/List.js +3 -12
  55. package/dist/esm/components/Logo/Logo.js +3 -12
  56. package/dist/esm/components/MapPin/MapPin.js +3 -13
  57. package/dist/esm/components/NavigationControls/NavigationControls.js +3 -13
  58. package/dist/esm/components/ProgressBar/ProgressBar.js +3 -12
  59. package/dist/esm/components/RadioButton/RadioButton.js +3 -15
  60. package/dist/esm/components/Rating/Rating.js +3 -12
  61. package/dist/esm/components/Selection/Selection.js +3 -12
  62. package/dist/esm/components/Skeleton/Skeleton.js +3 -11
  63. package/dist/esm/components/Stepper/Stepper.js +3 -8
  64. package/dist/esm/components/Table/Table.js +3 -13
  65. package/dist/esm/components/TableCell/TableCell.js +3 -13
  66. package/dist/esm/components/TableRow/TableRow.js +3 -13
  67. package/dist/esm/components/Text/Text.js +3 -13
  68. package/dist/esm/components/ThemeProvider/ThemeProvider.js +3 -8
  69. package/dist/esm/components/ThemeSwitch/ThemeSwitch.js +3 -13
  70. package/dist/esm/components/ToggleButton/ToggleButton.js +3 -13
  71. package/dist/esm/core/createDsComponent.js +35 -0
  72. package/dist/esm/index.js +3 -3
  73. package/dist/types/components/Badge/Badge.d.ts +6 -4
  74. package/dist/types/components/BasicCardImage/BasicCardImage.d.ts +3 -6
  75. package/dist/types/components/BasicCardSection/BasicCardSection.d.ts +3 -6
  76. package/dist/types/components/Breadcrumbs/Breadcrumbs.d.ts +4 -7
  77. package/dist/types/components/Bullets/Bullets.d.ts +7 -5
  78. package/dist/types/components/CarouselIndicator/CarouselIndicator.d.ts +4 -7
  79. package/dist/types/components/Checkbox/Checkbox.d.ts +14 -8
  80. package/dist/types/components/CheckboxGroup/CheckboxGroup.d.ts +7 -14
  81. package/dist/types/components/Chip/Chip.d.ts +4 -8
  82. package/dist/types/components/Currency/Currency.d.ts +7 -7
  83. package/dist/types/components/DialogBody/DialogBody.d.ts +4 -8
  84. package/dist/types/components/DialogFooter/DialogFooter.d.ts +4 -8
  85. package/dist/types/components/DialogHeader/DialogHeader.d.ts +4 -8
  86. package/dist/types/components/Divider/Divider.d.ts +7 -5
  87. package/dist/types/components/Hyperlink/Hyperlink.d.ts +12 -7
  88. package/dist/types/components/Icon/Icon.d.ts +7 -5
  89. package/dist/types/components/LinkButton/LinkButton.d.ts +12 -8
  90. package/dist/types/components/List/List.d.ts +6 -6
  91. package/dist/types/components/Logo/Logo.d.ts +4 -7
  92. package/dist/types/components/MapPin/MapPin.d.ts +12 -7
  93. package/dist/types/components/NavigationControls/NavigationControls.d.ts +4 -8
  94. package/dist/types/components/ProgressBar/ProgressBar.d.ts +7 -7
  95. package/dist/types/components/RadioButton/RadioButton.d.ts +7 -8
  96. package/dist/types/components/Rating/Rating.d.ts +4 -7
  97. package/dist/types/components/Selection/Selection.d.ts +4 -7
  98. package/dist/types/components/Skeleton/Skeleton.d.ts +6 -4
  99. package/dist/types/components/Stepper/Stepper.d.ts +4 -7
  100. package/dist/types/components/Table/Table.d.ts +7 -7
  101. package/dist/types/components/TableCell/TableCell.d.ts +7 -7
  102. package/dist/types/components/TableRow/TableRow.d.ts +7 -7
  103. package/dist/types/components/Text/Text.d.ts +4 -8
  104. package/dist/types/components/ThemeProvider/ThemeProvider.d.ts +8 -7
  105. package/dist/types/components/ThemeSwitch/ThemeSwitch.d.ts +4 -8
  106. package/dist/types/components/ToggleButton/ToggleButton.d.ts +12 -7
  107. package/dist/types/core/createDsComponent.d.ts +3 -0
  108. package/dist/types/core/types.d.ts +19 -0
  109. package/package.json +3 -3
@@ -1,8 +1,13 @@
1
- import { type ReactElement, type ReactNode } from 'react';
1
+ import type { DsHyperlinkAttrs } from '@cupra/ui-kit/react/types/ds-hyperlink';
2
2
  import '@cupra/ui-kit/react/ds-hyperlink';
3
- import { DsHyperlinkAttrs } from '@cupra/ui-kit/react/types/ds-hyperlink';
4
- export type HyperlinkProps = DsHyperlinkAttrs & {
5
- children: ReactNode;
6
- onClick?: (event: CustomEvent) => void;
7
- };
8
- export declare function Hyperlink({ children, onClick, ...rest }: HyperlinkProps): ReactElement;
3
+ import type { DsComponentProps } from '@core/types';
4
+ export type HyperlinkProps = DsComponentProps<DsHyperlinkAttrs, {
5
+ click: CustomEvent;
6
+ }>;
7
+ export declare const Hyperlink: import("react").ForwardRefExoticComponent<(DsHyperlinkAttrs & {
8
+ className?: string;
9
+ ref?: React.Ref<HTMLElement>;
10
+ children?: import("react").ReactNode;
11
+ }) & {
12
+ onClick?: (event: CustomEvent<any>) => void;
13
+ } & import("react").RefAttributes<HTMLElement>>;
@@ -1,7 +1,9 @@
1
- import { DsIconAttrs } from '@cupra/ui-kit/react/types/ds-icon';
2
- import { type ReactElement } from 'react';
1
+ import type { DsIconAttrs } from '@cupra/ui-kit/react/types/ds-icon';
3
2
  import '@cupra/ui-kit/react/ds-icon';
4
- export interface IconProps extends DsIconAttrs {
3
+ import type { DsComponentProps } from '@core/types';
4
+ export type IconProps = DsComponentProps<DsIconAttrs>;
5
+ export declare const Icon: import("react").ForwardRefExoticComponent<DsIconAttrs & {
5
6
  className?: string;
6
- }
7
- export declare function Icon(props: IconProps): ReactElement;
7
+ ref?: React.Ref<HTMLElement>;
8
+ children?: import("react").ReactNode;
9
+ } & {} & import("react").RefAttributes<HTMLElement>>;
@@ -1,9 +1,13 @@
1
- import { type ReactElement, type ReactNode } from 'react';
1
+ import type { DsLinkButtonAttrs } from '@cupra/ui-kit/react/types/ds-link-button';
2
2
  import '@cupra/ui-kit/react/ds-link-button';
3
- import { DsLinkButtonAttrs } from '@cupra/ui-kit/react/types/ds-link-button';
4
- type LinkButtonProps = DsLinkButtonAttrs & {
5
- children: ReactNode;
6
- onClick?: (event: CustomEvent) => void;
7
- };
8
- export declare function LinkButton({ children, onClick, ...rest }: LinkButtonProps): ReactElement;
9
- export {};
3
+ import type { DsComponentProps } from '@core/types';
4
+ export type LinkButtonProps = DsComponentProps<DsLinkButtonAttrs, {
5
+ click: CustomEvent;
6
+ }>;
7
+ export declare const LinkButton: import("react").ForwardRefExoticComponent<(DsLinkButtonAttrs & {
8
+ className?: string;
9
+ ref?: React.Ref<HTMLElement>;
10
+ children?: import("react").ReactNode;
11
+ }) & {
12
+ onClick?: (event: CustomEvent<any>) => void;
13
+ } & import("react").RefAttributes<HTMLElement>>;
@@ -1,9 +1,9 @@
1
1
  import type { DsListAttrs } from '@cupra/ui-kit/react/types/ds-list';
2
- import { ReactNode, type ReactElement } from 'react';
3
2
  import '@cupra/ui-kit/react/ds-list';
4
- export interface ListProps extends Partial<DsListAttrs> {
3
+ import type { DsComponentProps } from '@core/types';
4
+ export type ListProps = DsComponentProps<DsListAttrs>;
5
+ export declare const List: import("react").ForwardRefExoticComponent<DsListAttrs & {
5
6
  className?: string;
6
- children?: ReactNode;
7
- size?: 'medium' | 'large';
8
- }
9
- export declare function List({ className, children, ...rest }: ListProps): ReactElement;
7
+ ref?: React.Ref<HTMLElement>;
8
+ children?: import("react").ReactNode;
9
+ } & {} & import("react").RefAttributes<HTMLElement>>;
@@ -1,8 +1,5 @@
1
- import { DsLogoAttrs } from '@cupra/ui-kit/react/types/ds-logo';
2
- import { type ReactElement } from 'react';
1
+ import type { DsLogoAttrs } from '@cupra/ui-kit/react/types/ds-logo';
3
2
  import '@cupra/ui-kit/react/ds-logo';
4
- type LogoProps = DsLogoAttrs & {
5
- className?: string;
6
- };
7
- export declare function Logo(props: LogoProps): ReactElement;
8
- export {};
3
+ import type { DsComponent, DsComponentProps } from '@core/types';
4
+ export type LogoProps = DsComponentProps<DsLogoAttrs>;
5
+ export declare const Logo: DsComponent<DsLogoAttrs>;
@@ -1,8 +1,13 @@
1
- import { type ReactElement } from 'react';
1
+ import type { DsMapPinAttrs } from '@cupra/ui-kit/react/types/ds-map-pin';
2
2
  import '@cupra/ui-kit/react/ds-map-pin';
3
- import { type DsMapPinAttrs } from '@cupra/ui-kit/react/types/ds-map-pin';
4
- type MapPinProps = DsMapPinAttrs & {
5
- onChange?: (event: CustomEvent) => void;
6
- };
7
- export declare function MapPin({ onChange, ...rest }: MapPinProps): ReactElement;
8
- export {};
3
+ import type { DsComponentProps } from '@core/types';
4
+ export type MapPinProps = DsComponentProps<DsMapPinAttrs, {
5
+ change: CustomEvent;
6
+ }>;
7
+ export declare const MapPin: import("react").ForwardRefExoticComponent<DsMapPinAttrs & {
8
+ className?: string;
9
+ ref?: React.Ref<HTMLElement>;
10
+ children?: import("react").ReactNode;
11
+ } & {
12
+ onChange?: (event: CustomEvent<any>) => void;
13
+ } & import("react").RefAttributes<HTMLElement>>;
@@ -1,9 +1,5 @@
1
- import { type ReactElement, type ReactNode } from 'react';
2
- import '@cupra/ui-kit/react/ds-navigation-controls';
3
1
  import type { DsNavigationControlsAttrs } from '@cupra/ui-kit/react/types/ds-navigation-controls';
4
- type NavigationControlsProps = DsNavigationControlsAttrs & {
5
- className?: string;
6
- children: ReactNode;
7
- };
8
- export declare function NavigationControls(props: NavigationControlsProps): ReactElement;
9
- export {};
2
+ import '@cupra/ui-kit/react/ds-navigation-controls';
3
+ import type { DsComponent, DsComponentProps } from '@core/types';
4
+ export type NavigationControlsProps = DsComponentProps<DsNavigationControlsAttrs>;
5
+ export declare const NavigationControls: DsComponent<DsNavigationControlsAttrs>;
@@ -1,9 +1,9 @@
1
- import React, { ReactElement } from 'react';
2
- import '@cupra/ui-kit/react/ds-progress-bar';
3
1
  import type { DsProgressBarAttrs } from '@cupra/ui-kit/react/types/ds-progress-bar';
4
- type ProgressBarProps = {
2
+ import '@cupra/ui-kit/react/ds-progress-bar';
3
+ import type { DsComponentProps } from '@core/types';
4
+ export type ProgressBarProps = DsComponentProps<DsProgressBarAttrs>;
5
+ export declare const ProgressBar: import("react").ForwardRefExoticComponent<DsProgressBarAttrs & {
5
6
  className?: string;
6
- children?: React.ReactNode;
7
- } & DsProgressBarAttrs;
8
- export declare function ProgressBar(props: ProgressBarProps): ReactElement;
9
- export {};
7
+ ref?: React.Ref<HTMLElement>;
8
+ children?: import("react").ReactNode;
9
+ } & {} & import("react").RefAttributes<HTMLElement>>;
@@ -1,10 +1,9 @@
1
1
  import type { DsRadioButtonAttrs } from '@cupra/ui-kit/react/types/ds-radio-button';
2
- import { type ReactElement, type ReactNode } from 'react';
3
2
  import '@cupra/ui-kit/react/ds-radio-button';
4
- type RadioButtonProps = DsRadioButtonAttrs & {
5
- onChange?: (event: CustomEvent) => void;
6
- className?: string;
7
- children: ReactNode;
8
- };
9
- export declare function RadioButton(props: RadioButtonProps): ReactElement;
10
- export {};
3
+ import type { DsComponent, DsComponentProps } from '@core/types';
4
+ export type RadioButtonProps = DsComponentProps<DsRadioButtonAttrs, {
5
+ change: CustomEvent;
6
+ }>;
7
+ export declare const RadioButton: DsComponent<DsRadioButtonAttrs, {
8
+ change: CustomEvent;
9
+ }>;
@@ -1,8 +1,5 @@
1
- import { ReactElement } from 'react';
2
- import '@cupra/ui-kit/react/ds-rating';
3
1
  import type { DsRatingAttrs } from '@cupra/ui-kit/react/types/ds-rating';
4
- type RatingProps = DsRatingAttrs & {
5
- className?: string;
6
- };
7
- export declare function Rating(props: RatingProps): ReactElement;
8
- export {};
2
+ import '@cupra/ui-kit/react/ds-rating';
3
+ import type { DsComponent, DsComponentProps } from '@core/types';
4
+ export type RatingProps = DsComponentProps<DsRatingAttrs>;
5
+ export declare const Rating: DsComponent<DsRatingAttrs>;
@@ -1,8 +1,5 @@
1
- import { DsSelectionAttrs } from '@cupra/ui-kit/react/types/ds-selection';
2
- import { type ReactElement } from 'react';
1
+ import type { DsSelectionAttrs } from '@cupra/ui-kit/react/types/ds-selection';
3
2
  import '@cupra/ui-kit/react/ds-selection';
4
- type SelectionProps = DsSelectionAttrs & {
5
- className?: string;
6
- };
7
- export declare function Selection(props: SelectionProps): ReactElement;
8
- export {};
3
+ import type { DsComponent, DsComponentProps } from '@core/types';
4
+ export type SelectionProps = DsComponentProps<DsSelectionAttrs>;
5
+ export declare const Selection: DsComponent<DsSelectionAttrs>;
@@ -1,7 +1,9 @@
1
1
  import type { DsSkeletonAttrs } from '@cupra/ui-kit/react/types/ds-skeleton';
2
- import { type ReactElement } from 'react';
3
2
  import '@cupra/ui-kit/react/ds-skeleton';
4
- export interface SkeletonProps extends DsSkeletonAttrs {
3
+ import type { DsComponentProps } from '@core/types';
4
+ export type SkeletonProps = DsComponentProps<DsSkeletonAttrs>;
5
+ export declare const Skeleton: import("react").ForwardRefExoticComponent<DsSkeletonAttrs & {
5
6
  className?: string;
6
- }
7
- export declare function Skeleton({ className, ...rest }: SkeletonProps): ReactElement;
7
+ ref?: React.Ref<HTMLElement>;
8
+ children?: import("react").ReactNode;
9
+ } & {} & import("react").RefAttributes<HTMLElement>>;
@@ -1,8 +1,5 @@
1
- import { type ReactElement } from 'react';
2
- import '@cupra/ui-kit/react/ds-stepper';
3
1
  import type { DsStepperAttrs } from '@cupra/ui-kit/react/types/ds-stepper';
4
- type StepperProps = DsStepperAttrs & {
5
- className?: string;
6
- };
7
- export declare const Stepper: ({ className, ...restProps }: StepperProps) => ReactElement;
8
- export {};
2
+ import '@cupra/ui-kit/react/ds-stepper';
3
+ import type { DsComponent, DsComponentProps } from '@core/types';
4
+ export type StepperProps = DsComponentProps<DsStepperAttrs>;
5
+ export declare const Stepper: DsComponent<DsStepperAttrs>;
@@ -1,9 +1,9 @@
1
- import React, { type ReactElement } from 'react';
1
+ import type { DsTableAttrs } from '@cupra/ui-kit/react/types/ds-table';
2
2
  import '@cupra/ui-kit/react/ds-table';
3
- import { DsTableAttrs } from '@cupra/ui-kit/react/types/ds-table';
4
- type TableProps = DsTableAttrs & {
3
+ import type { DsComponentProps } from '@core/types';
4
+ export type TableProps = DsComponentProps<DsTableAttrs>;
5
+ export declare const Table: import("react").ForwardRefExoticComponent<DsTableAttrs & {
5
6
  className?: string;
6
- children?: React.ReactNode;
7
- };
8
- export declare function Table(props: Readonly<TableProps>): ReactElement;
9
- export {};
7
+ ref?: React.Ref<HTMLElement>;
8
+ children?: import("react").ReactNode;
9
+ } & {} & import("react").RefAttributes<HTMLElement>>;
@@ -1,9 +1,9 @@
1
- import React, { type ReactElement } from 'react';
1
+ import type { DsTableCellAttrs } from '@cupra/ui-kit/react/types/ds-table-cell';
2
2
  import '@cupra/ui-kit/react/ds-table-cell';
3
- import { DsTableCellAttrs } from '@cupra/ui-kit/react/types/ds-table-cell';
4
- type TableCellProps = DsTableCellAttrs & {
3
+ import type { DsComponentProps } from '@core/types';
4
+ export type TableCellProps = DsComponentProps<DsTableCellAttrs>;
5
+ export declare const TableCell: import("react").ForwardRefExoticComponent<DsTableCellAttrs & {
5
6
  className?: string;
6
- children?: React.ReactNode;
7
- };
8
- export declare function TableCell(props: Readonly<TableCellProps>): ReactElement;
9
- export {};
7
+ ref?: React.Ref<HTMLElement>;
8
+ children?: import("react").ReactNode;
9
+ } & {} & import("react").RefAttributes<HTMLElement>>;
@@ -1,9 +1,9 @@
1
- import React, { type ReactElement } from 'react';
1
+ import type { DsTableRowAttrs } from '@cupra/ui-kit/react/types/ds-table-row';
2
2
  import '@cupra/ui-kit/react/ds-table-row';
3
- import { DsTableRowAttrs } from '@cupra/ui-kit/react/types/ds-table-row';
4
- type TableRowProps = {
3
+ import type { DsComponentProps } from '@core/types';
4
+ export type TableRowProps = DsComponentProps<DsTableRowAttrs>;
5
+ export declare const TableRow: import("react").ForwardRefExoticComponent<DsTableRowAttrs & {
5
6
  className?: string;
6
- children?: React.ReactNode;
7
- } & DsTableRowAttrs;
8
- export declare function TableRow(props: Readonly<TableRowProps>): ReactElement;
9
- export {};
7
+ ref?: React.Ref<HTMLElement>;
8
+ children?: import("react").ReactNode;
9
+ } & {} & import("react").RefAttributes<HTMLElement>>;
@@ -1,9 +1,5 @@
1
- import { DsTextAttrs } from '@cupra/ui-kit/react/types/ds-text';
2
- import { ReactNode, type ReactElement } from 'react';
1
+ import type { DsTextAttrs } from '@cupra/ui-kit/react/types/ds-text';
3
2
  import '@cupra/ui-kit/react/ds-text';
4
- type TextProps = DsTextAttrs & {
5
- className?: string;
6
- children?: ReactNode | string;
7
- };
8
- export declare function Text(props: TextProps): ReactElement;
9
- export {};
3
+ import type { DsComponent, DsComponentProps } from '@core/types';
4
+ export type TextProps = DsComponentProps<DsTextAttrs>;
5
+ export declare const Text: DsComponent<DsTextAttrs>;
@@ -1,8 +1,9 @@
1
- import { type ReactElement, type ReactNode } from 'react';
1
+ import type { DsThemeProviderAttrs } from '@cupra/ui-kit/react/types/ds-theme-provider';
2
2
  import '@cupra/ui-kit/react/ds-theme-provider';
3
- import { DsThemeProviderAttrs } from '@cupra/ui-kit/react/types/ds-theme-provider';
4
- type ThemeProviderProps = DsThemeProviderAttrs & {
5
- children: ReactNode;
6
- };
7
- export declare const ThemeProvider: ({ children, ...restProps }: ThemeProviderProps) => ReactElement;
8
- export {};
3
+ import type { DsComponentProps } from '@core/types';
4
+ export type ThemeProviderProps = DsComponentProps<DsThemeProviderAttrs>;
5
+ export declare const ThemeProvider: import("react").ForwardRefExoticComponent<DsThemeProviderAttrs & {
6
+ className?: string;
7
+ ref?: React.Ref<HTMLElement>;
8
+ children?: import("react").ReactNode;
9
+ } & {} & import("react").RefAttributes<HTMLElement>>;
@@ -1,9 +1,5 @@
1
- import { type ReactElement, type ReactNode } from 'react';
2
- import '@cupra/ui-kit/react/ds-theme-switch';
3
1
  import type { DsThemeSwitchAttrs } from '@cupra/ui-kit/react/types/ds-theme-switch';
4
- type ThemeSwitchProps = {
5
- className?: string;
6
- children?: ReactNode;
7
- } & DsThemeSwitchAttrs;
8
- export declare function ThemeSwitch(props: Readonly<ThemeSwitchProps>): ReactElement;
9
- export {};
2
+ import '@cupra/ui-kit/react/ds-theme-switch';
3
+ import type { DsComponent, DsComponentProps } from '@core/types';
4
+ export type ThemeSwitchProps = DsComponentProps<DsThemeSwitchAttrs>;
5
+ export declare const ThemeSwitch: DsComponent<DsThemeSwitchAttrs>;
@@ -1,8 +1,13 @@
1
- import { type ReactElement } from 'react';
1
+ import type { DsToggleButtonAttrs } from '@cupra/ui-kit/react/types/ds-toggle-button';
2
2
  import '@cupra/ui-kit/react/ds-toggle-button';
3
- import { type DsToggleButtonAttrs } from '@cupra/ui-kit/react/types/ds-toggle-button';
4
- type ToggleButtonProps = DsToggleButtonAttrs & {
5
- onChange?: (event: CustomEvent) => void;
6
- };
7
- export declare function ToggleButton({ onChange, ...rest }: ToggleButtonProps): ReactElement;
8
- export {};
3
+ import type { DsComponentProps } from '@core/types';
4
+ export type ToggleButtonProps = DsComponentProps<DsToggleButtonAttrs, {
5
+ change: CustomEvent;
6
+ }>;
7
+ export declare const ToggleButton: import("react").ForwardRefExoticComponent<DsToggleButtonAttrs & {
8
+ className?: string;
9
+ ref?: React.Ref<HTMLElement>;
10
+ children?: import("react").ReactNode;
11
+ } & {
12
+ onChange?: (event: CustomEvent<any>) => void;
13
+ } & import("react").RefAttributes<HTMLElement>>;
@@ -0,0 +1,3 @@
1
+ import { ForwardRefExoticComponent, RefAttributes } from 'react';
2
+ import type { CreateDsComponentOptions, DsComponentProps } from './types';
3
+ export declare function createDsComponent<Attrs extends Record<string, any> = Record<string, unknown>, Events = {}>(tagName: string, options?: CreateDsComponentOptions<Attrs, Events>): ForwardRefExoticComponent<DsComponentProps<Attrs, Events> & RefAttributes<HTMLElement>>;
@@ -0,0 +1,19 @@
1
+ import type { ForwardRefExoticComponent, ReactNode, RefAttributes } from 'react';
2
+ export interface DsComponentRenderProps<Attrs, _Events = unknown> {
3
+ Tag: string;
4
+ props: Attrs;
5
+ ref: React.Ref<HTMLElement>;
6
+ children?: ReactNode;
7
+ }
8
+ export interface CreateDsComponentOptions<Attrs, Events = {}> {
9
+ events?: string[];
10
+ render?: (props: DsComponentRenderProps<Attrs, Events>) => React.ReactElement;
11
+ }
12
+ export type DsComponentProps<Attrs extends Record<string, any>, Events = {}> = Attrs & {
13
+ className?: string;
14
+ ref?: React.Ref<HTMLElement>;
15
+ children?: ReactNode;
16
+ } & {
17
+ [K in keyof Events as K extends string ? `on${Capitalize<K>}` : never]?: (event: Events[K]) => void;
18
+ };
19
+ export type DsComponent<Attrs extends Record<string, any>, Events = {}> = ForwardRefExoticComponent<DsComponentProps<Attrs, Events> & RefAttributes<HTMLElement>>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cupra/ui-react",
3
- "version": "2.0.0-canary.186",
3
+ "version": "2.0.0-canary.187",
4
4
  "description": "React components library",
5
5
  "author": "SEAT S.A.",
6
6
  "license": "SEAT S.A. Library EULA 1.0",
@@ -52,7 +52,7 @@
52
52
  "peerDependencies": {
53
53
  "react": ">= 18.3.1 < 20",
54
54
  "react-dom": ">= 18.3.1 < 20",
55
- "@cupra/ui-kit": "2.0.0-canary.172",
55
+ "@cupra/ui-kit": "2.0.0-canary.173",
56
56
  "typescript": ">=5.0.0"
57
57
  },
58
58
  "devDependencies": {
@@ -74,7 +74,7 @@
74
74
  "storybook": "^10.3.3",
75
75
  "typescript": "^5.8.2",
76
76
  "vite": "^8.0.16",
77
- "@cupra/ui-kit": "2.0.0-canary.172"
77
+ "@cupra/ui-kit": "2.0.0-canary.173"
78
78
  },
79
79
  "scripts": {
80
80
  "build": "rm -rf dist && pnpm --filter @cupra/ui-kit build:react && tsc --declaration --emitDeclarationOnly && BUILD_FORMAT=esm vite build --emptyOutDir false && BUILD_FORMAT=cjs vite build --emptyOutDir false",