paris 0.16.1 → 0.17.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # paris
2
2
 
3
+ ## 0.17.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 079d8b7: chore: [Breaking] Upgrade to React v19 & NextJS 15
8
+
9
+ ## 0.16.2
10
+
11
+ ### Patch Changes
12
+
13
+ - 9e882cc: Added AI agent documentation files (AGENTS.md, CLAUDE.md, public/llms.txt) to help AI assistants work effectively with this codebase
14
+ - 6c9a661: Bump Next.js to 14.2.35
15
+
3
16
  ## 0.16.1
4
17
 
5
18
  ### Patch Changes
package/README.md CHANGED
@@ -4,7 +4,7 @@ Paris is Slingshot's React design system, meant to work universally across serve
4
4
 
5
5
  Currently, Paris is provided as a set of *unbundled* `.tsx` components styled with SCSS modules. This means that you can import only the components you need, and you can use your own bundler to optimize your bundle size. As a result, Paris works best with frameworks like Next.js that have built-in support for TypeScript and SCSS modules.
6
6
 
7
- Paris 1.x styling is heavily inspired by Uber's [Base Web](https://baseweb.design), which we previously used in our production apps. We built Paris to move away from Styletron and CSS-in-JS, since we're now largely working with React 18, RSC, and the Next.js `app` directory.
7
+ Paris 1.x styling is heavily inspired by Uber's [Base Web](https://baseweb.design), which we previously used in our production apps. We built Paris to move away from Styletron and CSS-in-JS, since we're now largely working with React 19, RSC, and the Next.js `app` directory.
8
8
 
9
9
  <br />
10
10
 
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "paris",
3
3
  "author": "Sanil Chawla <sanil@slingshot.fm> (https://sanil.co)",
4
4
  "description": "Paris is Slingshot's React design system. It's a collection of reusable components, design tokens, and guidelines that help us build consistent, accessible, and performant user interfaces.",
5
- "version": "0.16.1",
5
+ "version": "0.17.0",
6
6
  "homepage": "https://paris.slingshot.fm",
7
7
  "license": "MIT",
8
8
  "repository": {
@@ -62,26 +62,27 @@
62
62
  "./utility": "./src/stories/utility/index.ts"
63
63
  },
64
64
  "dependencies": {
65
- "@ariakit/react": "^0.2.3",
65
+ "@ariakit/react": "^0.4.20",
66
+ "@emotion/is-prop-valid": "^1.4.0",
66
67
  "@fortawesome/fontawesome-svg-core": "^6.4.2",
67
68
  "@fortawesome/free-regular-svg-icons": "^6.4.2",
68
69
  "@fortawesome/free-solid-svg-icons": "^6.4.2",
69
70
  "@fortawesome/react-fontawesome": "^0.2.0",
70
71
  "@headlessui/react": "^2.2.4",
71
- "@radix-ui/react-checkbox": "^1.0.4",
72
- "@radix-ui/react-tooltip": "^1.1.8",
72
+ "@radix-ui/react-checkbox": "^1.3.3",
73
+ "@radix-ui/react-tooltip": "^1.2.8",
73
74
  "clsx": "^1.2.1",
74
75
  "font-color-contrast": "^11.1.0",
75
- "framer-motion": "^10.16.4",
76
+ "framer-motion": "^12.24.10",
76
77
  "pte": "^0.5.0",
77
78
  "react-hot-toast": "^2.4.1",
78
- "react-parallax-tilt": "^1.7.144",
79
- "react-tiny-popover": "^8.0.4",
79
+ "react-parallax-tilt": "^1.7.315",
80
+ "react-tiny-popover": "^8.1.6",
80
81
  "ts-deepmerge": "^6.0.3"
81
82
  },
82
83
  "peerDependencies": {
83
- "react": "^18.x",
84
- "react-dom": "^18.x",
84
+ "react": "^19.x",
85
+ "react-dom": "^19.x",
85
86
  "sass": "^1.x",
86
87
  "typescript": "^5.0"
87
88
  },
@@ -102,8 +103,8 @@
102
103
  "@storybook/theming": "8.6.14",
103
104
  "@stylistic/eslint-plugin": "^5.2.0",
104
105
  "@types/node": "^22.0.0",
105
- "@types/react": "^18",
106
- "@types/react-dom": "^18",
106
+ "@types/react": "^19",
107
+ "@types/react-dom": "^19",
107
108
  "@typescript-eslint/eslint-plugin": "^8.46.1",
108
109
  "@typescript-eslint/parser": "^8.46.1",
109
110
  "autoprefixer": "^10.4.14",
@@ -121,9 +122,9 @@
121
122
  "husky": "^8.0.0",
122
123
  "jss": "^10.10.0",
123
124
  "jss-preset-default": "^10.10.0",
124
- "next": "^14.2.33",
125
- "react": "^18.2.0",
126
- "react-dom": "^18.2.0",
125
+ "next": "^15.1.6",
126
+ "react": "^19.0.0",
127
+ "react-dom": "^19.0.0",
127
128
  "sass": "^1.62.1",
128
129
  "storybook": "8.6.14",
129
130
  "storybook-dark-mode": "^4.0.2",
@@ -1,4 +1,4 @@
1
- import type { ComponentPropsWithoutRef, ReactNode } from 'react';
1
+ import type { ComponentPropsWithoutRef, ReactElement, ReactNode } from 'react';
2
2
  import { createElement, memo } from 'react';
3
3
  import { clsx } from 'clsx';
4
4
  import type { CSSColor } from '@ssh/csstypes';
@@ -69,7 +69,7 @@ export const Text = memo(<T extends TextElement = TextElement>({
69
69
  color,
70
70
  children,
71
71
  ...props
72
- }: TextProps<T>): JSX.Element => createElement(
72
+ }: TextProps<T>): ReactElement => createElement(
73
73
  as || 'span',
74
74
  {
75
75
  ...props,
@@ -1,5 +1,5 @@
1
1
  import type { Meta, StoryObj } from '@storybook/react';
2
- import type { Property } from 'csstype';
2
+ import type { CSSProperties } from 'react';
3
3
  import { Tilt } from './Tilt';
4
4
  import { Text } from '../text';
5
5
  import { pvar } from '../theme';
@@ -21,21 +21,25 @@ export const Default: Story = {
21
21
  onLeave: undefined,
22
22
  onMove: undefined,
23
23
  },
24
- render: ({ children, style, ...args }) => (
25
- <Tilt
26
- {...args}
27
- style={{
28
- width: 'max-content',
29
- userSelect: pvar('utils.defaultUserSelect') as Property.UserSelect,
30
- backgroundColor: pvar('new.colors.surfacePrimary'),
31
- boxShadow: pvar('new.lighting.shallowBelow'),
32
- padding: '8px 16px',
33
- // border: `1px solid ${pvar('new.borders.dropdown.color')}`,
34
- borderRadius: pvar('borders.radius.rounded'),
35
- ...style,
36
- }}
37
- >
38
- {children}
39
- </Tilt>
40
- ),
24
+ render: ({ children, style, ...args }) => {
25
+ const tiltStyle = {
26
+ width: 'max-content',
27
+ userSelect: pvar('utils.defaultUserSelect'),
28
+ backgroundColor: pvar('new.colors.surfacePrimary'),
29
+ boxShadow: pvar('new.lighting.shallowBelow'),
30
+ padding: '8px 16px',
31
+ // border: `1px solid ${pvar('new.borders.dropdown.color')}`,
32
+ borderRadius: pvar('borders.radius.rounded'),
33
+ ...style,
34
+ } as CSSProperties;
35
+
36
+ return (
37
+ <Tilt
38
+ {...args}
39
+ style={tiltStyle}
40
+ >
41
+ {children}
42
+ </Tilt>
43
+ );
44
+ },
41
45
  };