paris 0.21.0 → 0.21.2

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,17 @@
1
1
  # paris
2
2
 
3
+ ## 0.21.2
4
+
5
+ ### Patch Changes
6
+
7
+ - 61edbc8: Fix portaled dropdowns (Select, Menu, Combobox) not appearing inside Drawers and Dialogs by moving the dropdown z-index layer (350) above the overlay layer (300).
8
+
9
+ ## 0.21.1
10
+
11
+ ### Patch Changes
12
+
13
+ - f930ca2: Fix portaled dropdowns (Menu, Select) animating from top-left corner on first render by only transitioning opacity and transform instead of all properties.
14
+
3
15
  ## 0.21.0
4
16
 
5
17
  ### Minor Changes
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.21.0",
5
+ "version": "0.21.2",
6
6
  "homepage": "https://paris.slingshot.fm",
7
7
  "license": "MIT",
8
8
  "repository": {
@@ -5,6 +5,7 @@ import { Callout } from '../callout';
5
5
  import { ChevronRight, Ellipsis } from '../icon';
6
6
  import { Menu, MenuButton, MenuItem, MenuItems } from '../menu';
7
7
  import { usePagination } from '../pagination';
8
+ import { Select } from '../select';
8
9
  import { Drawer } from './Drawer';
9
10
 
10
11
  const meta: Meta<typeof Drawer> = {
@@ -259,6 +260,42 @@ export const BottomPanelMultiSection: Story = {
259
260
  },
260
261
  };
261
262
 
263
+ export const WithSelectDropdown: Story = {
264
+ args: {
265
+ title: 'Settings',
266
+ size: 'default',
267
+ },
268
+ render: function Render(args) {
269
+ const [isOpen, setIsOpen] = useState(false);
270
+ const [selected, setSelected] = useState<string | null>(null);
271
+ return (
272
+ <>
273
+ <Button onClick={() => setIsOpen(true)}>Open drawer</Button>
274
+ <Drawer {...args} isOpen={isOpen} onClose={setIsOpen}>
275
+ <div style={{ display: 'flex', flexDirection: 'column', gap: '16px' }}>
276
+ <p>Try opening the Select dropdown below — it should appear above the Drawer.</p>
277
+ <Select
278
+ label="Country"
279
+ placeholder="Select a country"
280
+ value={selected}
281
+ onChange={setSelected}
282
+ options={[
283
+ { id: 'us', node: 'United States' },
284
+ { id: 'uk', node: 'United Kingdom' },
285
+ { id: 'ca', node: 'Canada' },
286
+ { id: 'au', node: 'Australia' },
287
+ { id: 'de', node: 'Germany' },
288
+ { id: 'fr', node: 'France' },
289
+ { id: 'jp', node: 'Japan' },
290
+ ]}
291
+ />
292
+ </div>
293
+ </Drawer>
294
+ </>
295
+ );
296
+ },
297
+ };
298
+
262
299
  export const Full: Story = {
263
300
  args: {
264
301
  title: 'Transaction details',
@@ -18,7 +18,7 @@
18
18
  overflow: hidden;
19
19
  z-index: var(--pte-new-layers-menu);
20
20
 
21
- transition: var(--pte-animations-interaction);
21
+ transition: opacity var(--pte-animations-interaction), transform var(--pte-animations-interaction);
22
22
  opacity: 1;
23
23
  transform: translateY(0);
24
24
 
@@ -41,7 +41,7 @@
41
41
  border-radius: var(--pte-borders-radius-rectangle);
42
42
  box-shadow: var(--pte-new-lighting-deepBelow);
43
43
 
44
- transition: var(--pte-animations-interaction);
44
+ transition: opacity var(--pte-animations-interaction), transform var(--pte-animations-interaction);
45
45
 
46
46
  &[data-closed] {
47
47
  opacity: 0;
@@ -435,8 +435,8 @@ export type Theme = {
435
435
  layers: {
436
436
  below: number;
437
437
  sticky: number;
438
- dropdown: number;
439
438
  overlay: number;
439
+ dropdown: number;
440
440
  popover: number;
441
441
  menu: number;
442
442
  };
@@ -1065,8 +1065,8 @@ export const LightTheme: Theme = {
1065
1065
  layers: {
1066
1066
  below: -1,
1067
1067
  sticky: 100,
1068
- dropdown: 200,
1069
1068
  overlay: 300,
1069
+ dropdown: 350,
1070
1070
  popover: 400,
1071
1071
  menu: 500,
1072
1072
  },