@equinor/eds-core-react 1.0.2 → 2.0.0

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 (57) hide show
  1. package/README.md +16 -1
  2. package/dist/eds-core-react.cjs +421 -136
  3. package/dist/esm/components/Accordion/Accordion.js +4 -3
  4. package/dist/esm/components/Autocomplete/Autocomplete.js +90 -23
  5. package/dist/esm/components/Autocomplete/Autocomplete.tokens.js +1 -1
  6. package/dist/esm/components/Button/tokens/contained.js +1 -1
  7. package/dist/esm/components/Button/tokens/contained_icon.js +1 -1
  8. package/dist/esm/components/Button/tokens/ghost.js +1 -1
  9. package/dist/esm/components/Button/tokens/icon.js +1 -1
  10. package/dist/esm/components/Button/tokens/outlined.js +1 -1
  11. package/dist/esm/components/Datepicker/fields/FieldWrapper.js +8 -2
  12. package/dist/esm/components/Icon/Icon.js +2 -3
  13. package/dist/esm/components/Input/Input.tokens.js +1 -1
  14. package/dist/esm/components/InputWrapper/InputWrapper.tokens.js +1 -1
  15. package/dist/esm/components/InputWrapper/useInputField.js +61 -0
  16. package/dist/esm/components/SideBar/SideBarAccordion/index.js +4 -3
  17. package/dist/esm/components/Slider/Slider.js +8 -5
  18. package/dist/esm/components/Table/DataCell/DataCell.tokens.js +1 -1
  19. package/dist/esm/components/Tabs/Tabs.js +4 -3
  20. package/dist/esm/components/TextField/TextField.js +23 -56
  21. package/dist/esm/components/Textarea/Textarea.js +64 -33
  22. package/dist/esm/components/Typography/Heading.js +51 -0
  23. package/dist/esm/components/Typography/Paragraph.js +28 -0
  24. package/dist/esm/components/Typography/Typography.js +15 -1
  25. package/dist/esm/components/Typography/Typography.new.js +67 -0
  26. package/dist/esm/index.js +5 -0
  27. package/dist/types/components/Button/tokens/contained.d.ts +3 -4
  28. package/dist/types/components/Button/tokens/outlined.d.ts +3 -4
  29. package/dist/types/components/InputWrapper/index.d.ts +3 -0
  30. package/dist/types/components/InputWrapper/types.d.ts +21 -0
  31. package/dist/types/components/InputWrapper/useInputField.d.ts +31 -0
  32. package/dist/types/components/TextField/TextField.d.ts +5 -25
  33. package/dist/types/components/Textarea/Textarea.d.ts +6 -27
  34. package/dist/types/components/Typography/Heading.d.ts +7 -0
  35. package/dist/types/components/Typography/Heading.types.d.ts +6 -0
  36. package/dist/types/components/Typography/Paragraph.d.ts +7 -0
  37. package/dist/types/components/Typography/Paragraph.types.d.ts +7 -0
  38. package/dist/types/components/Typography/Typography.d.ts +13 -0
  39. package/dist/types/components/Typography/Typography.new.d.ts +43 -0
  40. package/dist/types/components/Typography/Typography.new.types.d.ts +28 -0
  41. package/dist/types/components/Typography/Typography.stories.shared.d.ts +79 -0
  42. package/dist/types/components/Typography/index.d.ts +7 -0
  43. package/dist/types/components/Typography/types.d.ts +9 -0
  44. package/dist/types/components/Typography/utils.d.ts +15 -0
  45. package/dist/types/index.d.ts +1 -0
  46. package/package.json +56 -40
  47. /package/dist/esm/node_modules/.pnpm/{ramda@0.31.3 → ramda@0.32.0}/node_modules/ramda/es/internal/_curry1.js +0 -0
  48. /package/dist/esm/node_modules/.pnpm/{ramda@0.31.3 → ramda@0.32.0}/node_modules/ramda/es/internal/_curry2.js +0 -0
  49. /package/dist/esm/node_modules/.pnpm/{ramda@0.31.3 → ramda@0.32.0}/node_modules/ramda/es/internal/_curry3.js +0 -0
  50. /package/dist/esm/node_modules/.pnpm/{ramda@0.31.3 → ramda@0.32.0}/node_modules/ramda/es/internal/_has.js +0 -0
  51. /package/dist/esm/node_modules/.pnpm/{ramda@0.31.3 → ramda@0.32.0}/node_modules/ramda/es/internal/_isObject.js +0 -0
  52. /package/dist/esm/node_modules/.pnpm/{ramda@0.31.3 → ramda@0.32.0}/node_modules/ramda/es/internal/_isPlaceholder.js +0 -0
  53. /package/dist/esm/node_modules/.pnpm/{ramda@0.31.3 → ramda@0.32.0}/node_modules/ramda/es/mergeDeepRight.js +0 -0
  54. /package/dist/esm/node_modules/.pnpm/{ramda@0.31.3 → ramda@0.32.0}/node_modules/ramda/es/mergeDeepWithKey.js +0 -0
  55. /package/dist/esm/node_modules/.pnpm/{ramda@0.31.3 → ramda@0.32.0}/node_modules/ramda/es/mergeWith.js +0 -0
  56. /package/dist/esm/node_modules/.pnpm/{ramda@0.31.3 → ramda@0.32.0}/node_modules/ramda/es/mergeWithKey.js +0 -0
  57. /package/dist/esm/node_modules/.pnpm/{ramda@0.31.3 → ramda@0.32.0}/node_modules/ramda/es/pickBy.js +0 -0
@@ -0,0 +1,79 @@
1
+ import { Heading } from './Heading';
2
+ import { Paragraph } from './Paragraph';
3
+ import type { TypographyNextProps } from './Typography.new.types';
4
+ export declare const SAMPLE_TEXT = "The quick brown fox jumps over the lazy dog";
5
+ export declare const SIZES: readonly ["xs", "sm", "md", "lg", "xl", "2xl", "3xl", "4xl", "5xl", "6xl"];
6
+ export declare const WEIGHTS: readonly ["lighter", "normal", "bolder"];
7
+ export declare const TRACKING_OPTIONS: readonly ["tight", "normal", "wide"];
8
+ export declare const LINE_HEIGHTS: readonly ["default", "squished"];
9
+ export declare const HEADING_LEVELS: readonly ["h1", "h2", "h3", "h4", "h5", "h6"];
10
+ export declare const ComparisonGrid: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
11
+ export declare const ComparisonRow: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
12
+ export declare const Label: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("styled-components/dist/types").Substitute<import("styled-components/dist/types").Substitute<{
13
+ family: import("./types").FontFamily;
14
+ size: import("./types").FontSize;
15
+ baseline: import("./types").BaselineAlignment;
16
+ as?: import("react").ElementType;
17
+ } & import("./Typography.new.types").BaseTypographyProps & import("react").HTMLAttributes<HTMLElement> & import("react").RefAttributes<HTMLElement>, {
18
+ family: import("./types").FontFamily;
19
+ size: import("./types").FontSize;
20
+ baseline: import("./types").BaselineAlignment;
21
+ as?: import("react").ElementType;
22
+ } & import("./Typography.new.types").BaseTypographyProps & import("react").HTMLAttributes<HTMLElement> & import("react").RefAttributes<HTMLElement>>, Partial<TypographyNextProps>>, Partial<TypographyNextProps>>> & string & Omit<import("react").ForwardRefExoticComponent<{
23
+ family: import("./types").FontFamily;
24
+ size: import("./types").FontSize;
25
+ baseline: import("./types").BaselineAlignment;
26
+ as?: import("react").ElementType;
27
+ } & import("./Typography.new.types").BaseTypographyProps & import("react").HTMLAttributes<HTMLElement> & import("react").RefAttributes<HTMLElement>>, keyof import("react").Component<any, {}, any>>;
28
+ export declare const GridBackground: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
29
+ export declare const RealWorldGrid: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLElement>, HTMLElement>, never>> & string;
30
+ export declare const IntroductionGrid: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLElement>, HTMLElement>, never>> & string;
31
+ export declare const Button: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, {
32
+ $size?: string;
33
+ }>> & string;
34
+ export declare const IconTextContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
35
+ export declare const ShowcaseGrid: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
36
+ export declare const ShowcaseCard: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
37
+ export declare const ShowcaseItem: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
38
+ export declare const UsageSection: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLElement>, HTMLElement>, never>> & string;
39
+ export declare const UsageCategory: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
40
+ export declare const CategoryHeader: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
41
+ export declare const GridShowcaseWrapper: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
42
+ export declare const ComparisonSection: ({ title, marginTop, children, }: {
43
+ title: string;
44
+ marginTop?: string;
45
+ children: React.ReactNode;
46
+ }) => import("react/jsx-runtime").JSX.Element;
47
+ export declare const ComparisonRowItem: ({ label, children, }: {
48
+ label: string;
49
+ children: React.ReactNode;
50
+ }) => import("react/jsx-runtime").JSX.Element;
51
+ export declare const HeadingLevelComparison: ({ text, }: {
52
+ text?: string;
53
+ }) => import("react/jsx-runtime").JSX.Element;
54
+ export declare const WeightComparison: ({ component: Component, text, ...componentProps }: {
55
+ component: typeof Heading | typeof Paragraph;
56
+ text?: string;
57
+ } & Record<string, unknown>) => import("react/jsx-runtime").JSX.Element;
58
+ export declare const TrackingComparison: ({ component: Component, text, ...componentProps }: {
59
+ component: typeof Heading | typeof Paragraph;
60
+ text?: string;
61
+ } & Record<string, unknown>) => import("react/jsx-runtime").JSX.Element;
62
+ export declare const SizeComparison: ({ component: Component, text, ...componentProps }: {
63
+ component: typeof Paragraph;
64
+ text?: string;
65
+ } & Record<string, unknown>) => import("react/jsx-runtime").JSX.Element;
66
+ export declare const LineHeightComparison: ({ text, }: {
67
+ text?: string;
68
+ }) => import("react/jsx-runtime").JSX.Element;
69
+ export declare const IconTextRow: ({ label, size, text, iconName, }: {
70
+ label: string;
71
+ size: (typeof SIZES)[number];
72
+ text?: string;
73
+ iconName?: string;
74
+ }) => import("react/jsx-runtime").JSX.Element;
75
+ export declare const ButtonRow: ({ label, size, children, ...extraProps }: {
76
+ label: string;
77
+ size: string;
78
+ children: React.ReactNode;
79
+ } & Record<string, unknown>) => import("react/jsx-runtime").JSX.Element;
@@ -1 +1,8 @@
1
1
  export * from './Typography';
2
+ export { TypographyNext } from './Typography.new';
3
+ export { Heading } from './Heading';
4
+ export { Paragraph } from './Paragraph';
5
+ export type { TypographyNextProps } from './Typography.new.types';
6
+ export type { HeadingProps } from './Heading.types';
7
+ export type { ParagraphProps } from './Paragraph.types';
8
+ export type { FontFamily, FontSize, LineHeight, BaselineAlignment, FontWeight, Tracking, } from './types';
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Shared typography primitive types used across all typography components
3
+ */
4
+ export type FontFamily = 'ui' | 'header';
5
+ export type FontSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl' | '5xl' | '6xl';
6
+ export type LineHeight = 'default' | 'squished';
7
+ export type BaselineAlignment = 'grid' | 'center';
8
+ export type FontWeight = 'lighter' | 'normal' | 'bolder';
9
+ export type Tracking = 'tight' | 'normal' | 'wide';
@@ -0,0 +1,15 @@
1
+ import { FontFamily, FontSize, LineHeight, BaselineAlignment, FontWeight, Tracking } from './types';
2
+ type CreateTypographyClassNamesParams = {
3
+ family?: FontFamily;
4
+ size?: FontSize;
5
+ baseline?: BaselineAlignment;
6
+ lineHeight?: LineHeight;
7
+ weight?: FontWeight;
8
+ tracking?: Tracking;
9
+ className?: string;
10
+ };
11
+ /**
12
+ * Builds a className string from typography properties
13
+ */
14
+ export declare const createTypographyClassNames: ({ family, size, lineHeight, baseline, weight, tracking, className, }: CreateTypographyClassNamesParams) => string;
15
+ export {};
@@ -3,6 +3,7 @@ export * from './components/Typography';
3
3
  export * from './components/Table';
4
4
  export * from './components/Divider';
5
5
  export * from './components/TextField';
6
+ export * from './components/Textarea';
6
7
  export * from './components/Icon';
7
8
  export * from './components/List';
8
9
  export * from './components/Accordion';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@equinor/eds-core-react",
3
- "version": "1.0.2",
3
+ "version": "2.0.0",
4
4
  "description": "The React implementation of the Equinor Design System",
5
5
  "sideEffects": [
6
6
  "**/*.css"
@@ -25,6 +25,13 @@
25
25
  "files": [
26
26
  "dist/*"
27
27
  ],
28
+ "exports": {
29
+ ".": {
30
+ "types": "./dist/types/index.d.ts",
31
+ "import": "./dist/esm/index.js",
32
+ "require": "./dist/eds-core-react.cjs"
33
+ }
34
+ },
28
35
  "keywords": [
29
36
  "eds",
30
37
  "design system",
@@ -32,67 +39,76 @@
32
39
  "react"
33
40
  ],
34
41
  "devDependencies": {
35
- "@rollup/plugin-babel": "^6.0.4",
36
- "@rollup/plugin-commonjs": "^28.0.6",
37
- "@rollup/plugin-node-resolve": "^16.0.1",
38
- "@storybook/addon-a11y": "^9.1.5",
39
- "@storybook/addon-docs": "^9.1.5",
40
- "@storybook/addon-links": "^9.1.5",
41
- "@storybook/react-vite": "^9.1.5",
42
+ "@playwright/test": "^1.55.0",
43
+ "@rollup/plugin-babel": "^6.1.0",
44
+ "@rollup/plugin-commonjs": "^28.0.8",
45
+ "@rollup/plugin-node-resolve": "^16.0.3",
46
+ "@storybook/addon-a11y": "^9.1.13",
47
+ "@storybook/addon-docs": "^9.1.13",
48
+ "@storybook/addon-links": "^9.1.13",
49
+ "@storybook/react-vite": "^9.1.13",
42
50
  "@testing-library/dom": "^10.4.1",
43
- "@testing-library/jest-dom": "^6.8.0",
51
+ "@testing-library/jest-dom": "^6.9.1",
44
52
  "@testing-library/react": "16.3.0",
45
- "@testing-library/user-event": "14.5.2",
46
- "@types/jest": "^29.5.14",
47
- "@types/ramda": "^0.30.2",
48
- "@types/react": "^19.1.12",
49
- "@types/react-dom": "^19.1.9",
53
+ "@testing-library/user-event": "14.6.1",
54
+ "@types/jest": "^30.0.0",
55
+ "@types/mdx": "^2.0.13",
56
+ "@types/node": "^24.9.1",
57
+ "@types/ramda": "^0.31.1",
58
+ "@types/react": "^19.2.2",
59
+ "@types/react-dom": "^19.2.2",
50
60
  "babel-plugin-styled-components": "^2.1.4",
51
- "eslint-plugin-storybook": "9.1.5",
52
- "jest": "^29.7.0",
53
- "jest-environment-jsdom": "^29.7.0",
61
+ "eslint-plugin-storybook": "9.1.13",
62
+ "jest": "^30.2.0",
63
+ "jest-environment-jsdom": "^30.2.0",
54
64
  "jest-styled-components": "^7.2.0",
55
65
  "js-file-download": "^0.4.12",
56
66
  "postcss": "^8.5.6",
57
- "ramda": "^0.31.3",
58
- "react": "^19.1.1",
59
- "react-dom": "^19.1.1",
60
- "react-hook-form": "^7.62.0",
61
- "react-router-dom": "^6.30.1",
62
- "rollup": "^4.50.0",
63
- "rollup-plugin-delete": "^2.2.0",
67
+ "postcss-import": "^16.1.1",
68
+ "ramda": "^0.32.0",
69
+ "react": "^19.2.0",
70
+ "react-dom": "^19.2.0",
71
+ "react-hook-form": "^7.65.0",
72
+ "react-router-dom": "^7.9.4",
73
+ "rollup": "^4.52.5",
74
+ "rollup-plugin-delete": "^3.0.1",
64
75
  "rollup-plugin-postcss": "^4.0.2",
65
76
  "rollup-preserve-directives": "^1.1.3",
66
- "storybook": "^9.1.5",
77
+ "storybook": "^9.1.13",
67
78
  "styled-components": "6.1.19",
68
- "tsc-watch": "^6.3.1",
69
- "typescript": "^5.9.2"
79
+ "tsc-watch": "^7.2.0",
80
+ "typescript": "^5.9.3"
70
81
  },
71
82
  "peerDependencies": {
72
83
  "react": "^19",
73
84
  "react-dom": "^19",
74
- "styled-components": "^6"
85
+ "styled-components": "^6",
86
+ "@equinor/eds-tokens": "^2"
75
87
  },
76
88
  "dependencies": {
77
- "@babel/runtime": "^7.28.3",
89
+ "@babel/runtime": "^7.28.4",
78
90
  "@floating-ui/react": "^0.27.16",
79
- "@internationalized/date": "^3.9.0",
80
- "@react-aria/utils": "^3.30.1",
81
- "@react-stately/calendar": "^3.8.4",
82
- "@react-stately/datepicker": "^3.15.1",
83
- "@react-types/shared": "^3.32.0",
91
+ "@internationalized/date": "^3.10.0",
92
+ "@react-aria/utils": "^3.31.0",
93
+ "@react-stately/calendar": "^3.9.0",
94
+ "@react-stately/datepicker": "^3.15.2",
95
+ "@react-types/shared": "^3.32.1",
84
96
  "@tanstack/react-virtual": "3.13.12",
85
- "downshift": "9.0.8",
86
- "react-aria": "^3.43.1",
87
- "@equinor/eds-icons": "^1.0.0",
88
- "@equinor/eds-utils": "1.0.1",
89
- "@equinor/eds-tokens": "1.1.3"
97
+ "downshift": "9.0.10",
98
+ "react-aria": "^3.44.0",
99
+ "@equinor/eds-icons": "^1.0.1",
100
+ "@equinor/eds-utils": "^2.0.0",
101
+ "@equinor/eds-tokens": "^2.0.0"
90
102
  },
91
103
  "scripts": {
92
- "build": "rollup -c --bundleConfigAsCjs && tsc -p tsconfig.build.json",
104
+ "build": "rollup -c && tsc -p tsconfig.build.json",
93
105
  "test": "tsc -p tsconfig.test.json && jest",
94
106
  "test:watch": "tsc-watch -p tsconfig.test.json --onFirstSuccess \"jest --watch\"",
95
107
  "test:update-snapshots": "jest --updateSnapshot",
108
+ "test:visual": "playwright test",
109
+ "test:visual:ui": "playwright test --ui",
110
+ "test:visual:update": "playwright test --update-snapshots",
111
+ "test:visual:report": "playwright show-report",
96
112
  "storybook": "storybook dev -p 9000 --ci",
97
113
  "build:storybook": "storybook build -o storybook-build",
98
114
  "types": "tsc -p tsconfig.build.json"