@raspberrypifoundation/design-system-react 2.0.0 → 2.2.0-beta.1

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.
@@ -0,0 +1,16 @@
1
+ export function Accordion({ content, title, className, id }: {
2
+ content: any;
3
+ title: any;
4
+ className: any;
5
+ id?: string | undefined;
6
+ }): import("react/jsx-runtime").JSX.Element;
7
+ export namespace Accordion {
8
+ namespace propTypes {
9
+ let content: PropTypes.Validator<string>;
10
+ let title: PropTypes.Validator<string>;
11
+ let id: PropTypes.Requireable<string>;
12
+ let className: PropTypes.Requireable<string>;
13
+ }
14
+ }
15
+ export default Accordion;
16
+ import PropTypes from "prop-types";
@@ -0,0 +1,24 @@
1
+ export function Alert({ title, text, children, type, actions, onClose }: {
2
+ title: any;
3
+ text: any;
4
+ children: any;
5
+ type: any;
6
+ actions: any;
7
+ onClose: any;
8
+ }): import("react/jsx-runtime").JSX.Element;
9
+ export namespace Alert {
10
+ namespace propTypes {
11
+ let title: PropTypes.Requireable<string>;
12
+ let text: PropTypes.Requireable<string>;
13
+ let type: PropTypes.Requireable<string>;
14
+ let actions: PropTypes.Requireable<(PropTypes.InferProps<{
15
+ href: PropTypes.Requireable<string>;
16
+ label: PropTypes.Requireable<string>;
17
+ onClick: PropTypes.Requireable<(...args: any[]) => any>;
18
+ }> | null | undefined)[]>;
19
+ let children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
20
+ let onClose: PropTypes.Requireable<(...args: any[]) => any>;
21
+ }
22
+ }
23
+ export default Alert;
24
+ import PropTypes from "prop-types";
@@ -0,0 +1,36 @@
1
+ export function Button({ text, href, title, className, type, variant, size, icon, iconOnly, iconPosition, fullWidth, disabled, onClick, "aria-label": ariaLabel, }: {
2
+ text: any;
3
+ href: any;
4
+ title: any;
5
+ className: any;
6
+ type?: string | undefined;
7
+ variant?: string | undefined;
8
+ size?: string | undefined;
9
+ icon?: string | undefined;
10
+ iconOnly?: boolean | undefined;
11
+ iconPosition?: string | undefined;
12
+ fullWidth?: boolean | undefined;
13
+ disabled?: boolean | undefined;
14
+ onClick?: (() => void) | undefined;
15
+ "aria-label"?: string | undefined;
16
+ }): import("react/jsx-runtime").JSX.Element;
17
+ export namespace Button {
18
+ let propTypes: {
19
+ type: PropTypes.Requireable<string>;
20
+ className: PropTypes.Requireable<string>;
21
+ disabled: PropTypes.Requireable<boolean>;
22
+ icon: PropTypes.Requireable<NonNullable<string | PropTypes.ReactElementLike | null | undefined>>;
23
+ href: PropTypes.Requireable<string>;
24
+ onClick: PropTypes.Requireable<(...args: any[]) => any>;
25
+ text: PropTypes.Requireable<string>;
26
+ iconOnly: PropTypes.Requireable<boolean>;
27
+ title: PropTypes.Requireable<string>;
28
+ iconPosition: PropTypes.Requireable<string>;
29
+ size: PropTypes.Requireable<string>;
30
+ "aria-label": PropTypes.Requireable<string>;
31
+ fullWidth: PropTypes.Requireable<boolean>;
32
+ variant: PropTypes.Requireable<string>;
33
+ };
34
+ }
35
+ export default Button;
36
+ import PropTypes from "prop-types";
@@ -0,0 +1,26 @@
1
+ export function CheckboxInput({ id, label, name, checked, disabled, error, onChange, value, className, }: {
2
+ id: any;
3
+ label: any;
4
+ name: any;
5
+ checked?: boolean | undefined;
6
+ disabled?: boolean | undefined;
7
+ error?: string | undefined;
8
+ onChange?: (() => void) | undefined;
9
+ value?: string | undefined;
10
+ className?: string | undefined;
11
+ }): import("react/jsx-runtime").JSX.Element;
12
+ export namespace CheckboxInput {
13
+ namespace propTypes {
14
+ let checked: PropTypes.Requireable<boolean>;
15
+ let disabled: PropTypes.Requireable<boolean>;
16
+ let error: PropTypes.Requireable<string>;
17
+ let id: PropTypes.Validator<string>;
18
+ let label: PropTypes.Validator<NonNullable<NonNullable<string | object | null | undefined>>>;
19
+ let name: PropTypes.Validator<string>;
20
+ let onChange: PropTypes.Requireable<(...args: any[]) => any>;
21
+ let value: PropTypes.Requireable<string>;
22
+ let className: PropTypes.Requireable<string>;
23
+ }
24
+ }
25
+ export default CheckboxInput;
26
+ import PropTypes from "prop-types";
@@ -0,0 +1,20 @@
1
+ export function Fieldset({ disabled, errorText, fullWidth, legendText, legendHintText, children, }: {
2
+ disabled?: boolean | undefined;
3
+ errorText?: string | undefined;
4
+ fullWidth?: boolean | undefined;
5
+ legendText: any;
6
+ legendHintText?: string | undefined;
7
+ children: any;
8
+ }): import("react/jsx-runtime").JSX.Element;
9
+ export namespace Fieldset {
10
+ namespace propTypes {
11
+ let disabled: PropTypes.Requireable<boolean>;
12
+ let errorText: PropTypes.Requireable<string>;
13
+ let fullWidth: PropTypes.Requireable<boolean>;
14
+ let legendText: PropTypes.Validator<string>;
15
+ let legendHintText: PropTypes.Requireable<string>;
16
+ let children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
17
+ }
18
+ }
19
+ export default Fieldset;
20
+ import PropTypes from "prop-types";
@@ -0,0 +1,20 @@
1
+ export function InputField({ id, label, children, disabled, error, hint, }: {
2
+ id: any;
3
+ label: any;
4
+ children: any;
5
+ disabled?: boolean | undefined;
6
+ error?: string | undefined;
7
+ hint?: string | undefined;
8
+ }): import("react/jsx-runtime").JSX.Element;
9
+ export namespace InputField {
10
+ namespace propTypes {
11
+ let disabled: PropTypes.Requireable<boolean>;
12
+ let error: PropTypes.Requireable<string>;
13
+ let hint: PropTypes.Requireable<NonNullable<string | object | null | undefined>>;
14
+ let label: PropTypes.Validator<NonNullable<NonNullable<string | object | null | undefined>>>;
15
+ let id: PropTypes.Validator<string>;
16
+ let children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
17
+ }
18
+ }
19
+ export default InputField;
20
+ import PropTypes from "prop-types";
@@ -0,0 +1,16 @@
1
+ export function InputLabel({ label, inputFieldId, disabled, hint, }: {
2
+ label: any;
3
+ inputFieldId: any;
4
+ disabled?: boolean | undefined;
5
+ hint?: string | undefined;
6
+ }): import("react/jsx-runtime").JSX.Element;
7
+ export namespace InputLabel {
8
+ namespace propTypes {
9
+ let disabled: PropTypes.Requireable<boolean>;
10
+ let hint: PropTypes.Requireable<NonNullable<string | object | null | undefined>>;
11
+ let label: PropTypes.Validator<NonNullable<NonNullable<string | object | null | undefined>>>;
12
+ let inputFieldId: PropTypes.Validator<string>;
13
+ }
14
+ }
15
+ export default InputLabel;
16
+ import PropTypes from "prop-types";
@@ -0,0 +1,24 @@
1
+ export function RadioInput({ id, label, name, checked, disabled, fullWidth, onChange, value, }: {
2
+ id: any;
3
+ label: any;
4
+ name: any;
5
+ checked?: boolean | undefined;
6
+ disabled?: boolean | undefined;
7
+ fullWidth?: boolean | undefined;
8
+ onChange?: (() => void) | undefined;
9
+ value?: string | undefined;
10
+ }): import("react/jsx-runtime").JSX.Element;
11
+ export namespace RadioInput {
12
+ namespace propTypes {
13
+ let checked: PropTypes.Requireable<boolean>;
14
+ let disabled: PropTypes.Requireable<boolean>;
15
+ let fullWidth: PropTypes.Requireable<boolean>;
16
+ let id: PropTypes.Validator<string>;
17
+ let label: PropTypes.Validator<NonNullable<NonNullable<string | object | null | undefined>>>;
18
+ let name: PropTypes.Validator<string>;
19
+ let onChange: PropTypes.Requireable<(...args: any[]) => any>;
20
+ let value: PropTypes.Requireable<string>;
21
+ }
22
+ }
23
+ export default RadioInput;
24
+ import PropTypes from "prop-types";
@@ -0,0 +1,26 @@
1
+ export function SearchInput({ label, inputFieldId, disabled, error, hint, placeholder, defaultValue, onClick, onChange, }: {
2
+ label: any;
3
+ inputFieldId: any;
4
+ disabled?: boolean | undefined;
5
+ error?: string | undefined;
6
+ hint?: string | undefined;
7
+ placeholder?: string | undefined;
8
+ defaultValue?: string | undefined;
9
+ onClick?: (() => void) | undefined;
10
+ onChange?: ((event: any) => void) | undefined;
11
+ }): import("react/jsx-runtime").JSX.Element;
12
+ export namespace SearchInput {
13
+ namespace propTypes {
14
+ let disabled: PropTypes.Requireable<boolean>;
15
+ let error: PropTypes.Requireable<string>;
16
+ let hint: PropTypes.Requireable<string>;
17
+ let inputFieldId: PropTypes.Validator<string>;
18
+ let label: PropTypes.Validator<string>;
19
+ let onClick: PropTypes.Requireable<(...args: any[]) => any>;
20
+ let onChange: PropTypes.Requireable<(...args: any[]) => any>;
21
+ let placeholder: PropTypes.Requireable<string>;
22
+ let defaultValue: PropTypes.Requireable<string>;
23
+ }
24
+ }
25
+ export default SearchInput;
26
+ import PropTypes from "prop-types";
@@ -0,0 +1,30 @@
1
+ export function SelectInput({ id, label, name, options, disabled, error, fullWidth, hint, onChange, placeholder, value, }: {
2
+ id: any;
3
+ label: any;
4
+ name: any;
5
+ options: any;
6
+ disabled?: boolean | undefined;
7
+ error?: string | undefined;
8
+ fullWidth?: boolean | undefined;
9
+ hint?: string | undefined;
10
+ onChange?: (() => void) | undefined;
11
+ placeholder?: string | undefined;
12
+ value?: string | undefined;
13
+ }): import("react/jsx-runtime").JSX.Element;
14
+ export namespace SelectInput {
15
+ namespace propTypes {
16
+ let disabled: PropTypes.Requireable<boolean>;
17
+ let error: PropTypes.Requireable<string>;
18
+ let fullWidth: PropTypes.Requireable<boolean>;
19
+ let hint: PropTypes.Requireable<NonNullable<string | object | null | undefined>>;
20
+ let label: PropTypes.Validator<NonNullable<NonNullable<string | object | null | undefined>>>;
21
+ let id: PropTypes.Validator<string>;
22
+ let name: PropTypes.Validator<string>;
23
+ let onChange: PropTypes.Requireable<(...args: any[]) => any>;
24
+ let options: PropTypes.Validator<any[]>;
25
+ let placeholder: PropTypes.Requireable<string>;
26
+ let value: PropTypes.Requireable<string>;
27
+ }
28
+ }
29
+ export default SelectInput;
30
+ import PropTypes from "prop-types";
@@ -0,0 +1,26 @@
1
+ export function TextInput({ id, label, name, value, disabled, error, fullWidth, hint, onChange, }: {
2
+ id: any;
3
+ label: any;
4
+ name: any;
5
+ value: any;
6
+ disabled?: boolean | undefined;
7
+ error?: string | undefined;
8
+ fullWidth?: boolean | undefined;
9
+ hint?: string | undefined;
10
+ onChange?: (() => void) | undefined;
11
+ }): import("react/jsx-runtime").JSX.Element;
12
+ export namespace TextInput {
13
+ namespace propTypes {
14
+ let disabled: PropTypes.Requireable<boolean>;
15
+ let error: PropTypes.Requireable<string>;
16
+ let fullWidth: PropTypes.Requireable<boolean>;
17
+ let hint: PropTypes.Requireable<NonNullable<string | object | null | undefined>>;
18
+ let label: PropTypes.Validator<NonNullable<NonNullable<string | object | null | undefined>>>;
19
+ let id: PropTypes.Validator<string>;
20
+ let name: PropTypes.Validator<string>;
21
+ let onChange: PropTypes.Requireable<(...args: any[]) => any>;
22
+ let value: PropTypes.Validator<string>;
23
+ }
24
+ }
25
+ export default TextInput;
26
+ import PropTypes from "prop-types";
@@ -0,0 +1,28 @@
1
+ export function TextareaInput({ id, label, name, value, disabled, readOnly, error, fullWidth, hint, onChange, }: {
2
+ id: any;
3
+ label: any;
4
+ name: any;
5
+ value: any;
6
+ disabled?: boolean | undefined;
7
+ readOnly?: boolean | undefined;
8
+ error?: string | undefined;
9
+ fullWidth?: boolean | undefined;
10
+ hint?: string | undefined;
11
+ onChange?: (() => void) | undefined;
12
+ }): import("react/jsx-runtime").JSX.Element;
13
+ export namespace TextareaInput {
14
+ namespace propTypes {
15
+ let disabled: PropTypes.Requireable<boolean>;
16
+ let readOnly: PropTypes.Requireable<boolean>;
17
+ let error: PropTypes.Requireable<string>;
18
+ let fullWidth: PropTypes.Requireable<boolean>;
19
+ let hint: PropTypes.Requireable<NonNullable<string | object | null | undefined>>;
20
+ let label: PropTypes.Validator<NonNullable<NonNullable<string | object | null | undefined>>>;
21
+ let id: PropTypes.Validator<string>;
22
+ let name: PropTypes.Validator<string>;
23
+ let onChange: PropTypes.Requireable<(...args: any[]) => any>;
24
+ let value: PropTypes.Validator<string>;
25
+ }
26
+ }
27
+ export default TextareaInput;
28
+ import PropTypes from "prop-types";
@@ -0,0 +1,12 @@
1
+ export function ProgressBar({ text, percent }: {
2
+ text?: string | undefined;
3
+ percent: any;
4
+ }): import("react/jsx-runtime").JSX.Element;
5
+ export namespace ProgressBar {
6
+ namespace propTypes {
7
+ let text: PropTypes.Requireable<string>;
8
+ let percent: PropTypes.Validator<number>;
9
+ }
10
+ }
11
+ export default ProgressBar;
12
+ import PropTypes from "prop-types";
@@ -0,0 +1,10 @@
1
+ export function BodyCell({ children }: {
2
+ children: any;
3
+ }): import("react/jsx-runtime").JSX.Element;
4
+ export namespace BodyCell {
5
+ namespace propTypes {
6
+ let children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
7
+ }
8
+ }
9
+ export default BodyCell;
10
+ import PropTypes from "prop-types";
@@ -0,0 +1,12 @@
1
+ export function HeaderCell({ sortDirection, children }: {
2
+ sortDirection: any;
3
+ children: any;
4
+ }): import("react/jsx-runtime").JSX.Element;
5
+ export namespace HeaderCell {
6
+ namespace propTypes {
7
+ let sortDirection: PropTypes.Requireable<string>;
8
+ let children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
9
+ }
10
+ }
11
+ export default HeaderCell;
12
+ import PropTypes from "prop-types";
@@ -0,0 +1,14 @@
1
+ export function Table({ headerRow, bodyRows, fullWidth }: {
2
+ headerRow: any;
3
+ bodyRows: any;
4
+ fullWidth: any;
5
+ }): import("react/jsx-runtime").JSX.Element;
6
+ export namespace Table {
7
+ namespace propTypes {
8
+ let headerRow: PropTypes.Validator<NonNullable<PropTypes.ReactNodeLike>>;
9
+ let bodyRows: PropTypes.Validator<PropTypes.ReactNodeLike[]>;
10
+ let fullWidth: PropTypes.Requireable<boolean>;
11
+ }
12
+ }
13
+ export default Table;
14
+ import PropTypes from "prop-types";
@@ -0,0 +1,18 @@
1
+ export function Tag({ text, variant, secondary, icon, iconPosition }: {
2
+ text: any;
3
+ variant: any;
4
+ secondary: any;
5
+ icon: any;
6
+ iconPosition: any;
7
+ }): import("react/jsx-runtime").JSX.Element;
8
+ export namespace Tag {
9
+ namespace propTypes {
10
+ let text: PropTypes.Validator<string>;
11
+ let variant: PropTypes.Requireable<string>;
12
+ let secondary: PropTypes.Requireable<boolean>;
13
+ let icon: PropTypes.Requireable<string>;
14
+ let iconPosition: PropTypes.Requireable<string>;
15
+ }
16
+ }
17
+ export default Tag;
18
+ import PropTypes from "prop-types";
@@ -0,0 +1,17 @@
1
+ export * from './components/Accordion';
2
+ export * from './components/Alert';
3
+ export * from './components/Button';
4
+ export * from './components/Form/CheckboxInput';
5
+ export * from './components/Form/Fieldset';
6
+ export * from './components/Form/InputField';
7
+ export * from './components/Form/InputLabel';
8
+ export * from './components/Form/RadioInput';
9
+ export * from './components/Form/SearchInput';
10
+ export * from './components/Form/SelectInput';
11
+ export * from './components/Form/TextInput';
12
+ export * from './components/Form/TextareaInput';
13
+ export * from './components/ProgressBar';
14
+ export * from './components/Table/BodyCell';
15
+ export * from './components/Table/HeaderCell';
16
+ export * from './components/Table/Table';
17
+ export * from './components/Tag';
package/package.json CHANGED
@@ -1,11 +1,12 @@
1
1
  {
2
2
  "name": "@raspberrypifoundation/design-system-react",
3
- "version": "2.0.0",
3
+ "version": "2.2.0-beta.1",
4
4
  "type": "module",
5
5
  "main": "./dist/rpf-design-system-react.umd.cjs",
6
6
  "files": [
7
7
  "dist"
8
8
  ],
9
+ "types": "dist/types/index.d.ts",
9
10
  "exports": {
10
11
  ".": {
11
12
  "import": "./dist/rpf-design-system-react.js",
@@ -17,7 +18,7 @@
17
18
  },
18
19
  "scripts": {
19
20
  "dev": "vite",
20
- "build": "yarn run build-core-scss && vite build",
21
+ "build": "yarn run build-core-scss && vite build && yarn run generate-types",
21
22
  "lint": "eslint .",
22
23
  "format": "prettier . --write",
23
24
  "preview": "vite preview",
@@ -25,7 +26,8 @@
25
26
  "build-core-scss": "rm -r public/scss/* && cp -R node_modules/@raspberrypifoundation/design-system-core/scss/* public/scss",
26
27
  "build-storybook": "storybook build",
27
28
  "test": "vitest run",
28
- "test:watch": "vitest"
29
+ "test:watch": "vitest",
30
+ "generate-types": "tsc && node scripts/generate-types-index.cjs"
29
31
  },
30
32
  "dependencies": {
31
33
  "@raspberrypifoundation/design-system-core": "^2.0.0",
@@ -33,38 +35,38 @@
33
35
  "material-symbols": "^0.27.2",
34
36
  "react": "^18.3.1",
35
37
  "react-dom": "^18.3.1",
36
- "react-router-dom": "^7.0.2"
38
+ "react-router-dom": "^7.2.0"
37
39
  },
38
40
  "devDependencies": {
39
- "@eslint/js": "^9.15.0",
40
- "@storybook/addon-essentials": "^8.4.7",
41
- "@storybook/addon-interactions": "^8.4.7",
42
- "@storybook/addon-onboarding": "^8.4.7",
43
- "@storybook/blocks": "^8.4.7",
44
- "@storybook/preview-api": "^8.4.7",
45
- "@storybook/react": "^8.4.7",
46
- "@storybook/react-vite": "^8.4.7",
47
- "@storybook/test": "^8.4.7",
41
+ "@eslint/js": "^9.21.0",
42
+ "@storybook/addon-essentials": "^8.6.0",
43
+ "@storybook/addon-interactions": "^8.6.0",
44
+ "@storybook/blocks": "^8.6.0",
45
+ "@storybook/preview-api": "^8.6.0",
46
+ "@storybook/react": "^8.6.0",
47
+ "@storybook/react-vite": "^8.6.0",
48
+ "@storybook/test": "^8.6.0",
48
49
  "@testing-library/jest-dom": "^6.6.3",
49
- "@testing-library/react": "^16.1.0",
50
- "@types/react": "^18.3.12",
51
- "@types/react-dom": "^18.3.1",
50
+ "@testing-library/react": "^16.2.0",
51
+ "@types/react": "^18.3.18",
52
+ "@types/react-dom": "^18.3.5",
52
53
  "@vitejs/plugin-react": "^4.3.4",
53
- "@vitest/coverage-v8": "^2.1.9",
54
- "eslint": "^9.15.0",
55
- "eslint-plugin-react": "^7.37.2",
56
- "eslint-plugin-react-hooks": "^5.0.0",
57
- "eslint-plugin-react-refresh": "^0.4.14",
58
- "eslint-plugin-storybook": "^0.11.1",
54
+ "@vitest/coverage-v8": "^3.0.7",
55
+ "eslint": "^9.21.0",
56
+ "eslint-plugin-react": "^7.37.4",
57
+ "eslint-plugin-react-hooks": "^5.1.0",
58
+ "eslint-plugin-react-refresh": "^0.4.19",
59
+ "eslint-plugin-storybook": "^0.11.3",
59
60
  "eslint-plugin-vitest-globals": "^1.5.0",
60
- "globals": "^15.12.0",
61
+ "globals": "^15.15.0",
61
62
  "jsdom": "^25.0.1",
62
- "prettier": "^3.4.2",
63
+ "prettier": "^3.5.2",
63
64
  "prop-types": "^15.8.1",
64
- "sass-embedded": "^1.83.1",
65
- "storybook": "^8.4.7",
66
- "vite": "^6.1.0",
67
- "vitest": "^2.1.9"
65
+ "sass-embedded": "^1.85.1",
66
+ "storybook": "^8.6.0",
67
+ "typescript": "^5.7.3",
68
+ "vite": "^6.2.0",
69
+ "vitest": "^3.0.7"
68
70
  },
69
71
  "peerDependencies": {
70
72
  "react-router-dom": "^6.24.0"