paris 0.8.12 → 0.8.13
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 +6 -0
- package/package.json +1 -1
- package/src/stories/combobox/Combobox.tsx +9 -1
- package/src/stories/drawer/Drawer.module.scss +2 -3
- package/src/stories/input/Input.module.scss +24 -0
- package/src/stories/input/Input.tsx +1 -0
- package/src/stories/select/Select.module.scss +1 -0
- package/src/stories/textarea/TextArea.tsx +1 -0
package/CHANGELOG.md
CHANGED
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.8.
|
|
5
|
+
"version": "0.8.13",
|
|
6
6
|
"homepage": "https://paris.slingshot.fm",
|
|
7
7
|
"license": "MIT",
|
|
8
8
|
"repository": {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import type { ComponentPropsWithoutRef, ReactNode } from 'react';
|
|
3
|
+
import type { ComponentPropsWithoutRef, CSSProperties, ReactNode } from 'react';
|
|
4
4
|
import { useId, useState } from 'react';
|
|
5
5
|
import { Combobox as HCombobox, Transition } from '@headlessui/react';
|
|
6
6
|
import clsx from 'clsx';
|
|
@@ -67,6 +67,10 @@ export type ComboboxProps<T extends Record<string, any>> = {
|
|
|
67
67
|
* @default Create "%v"...
|
|
68
68
|
*/
|
|
69
69
|
customValueString?: string;
|
|
70
|
+
/**
|
|
71
|
+
* The size of the options dropdown, in pixels. Only applicable to kind="listbox".
|
|
72
|
+
*/
|
|
73
|
+
maxHeight?: number;
|
|
70
74
|
/**
|
|
71
75
|
* Prop overrides for other rendered elements. Overrides for the input itself should be passed directly to the component.
|
|
72
76
|
*/
|
|
@@ -110,6 +114,7 @@ export function Combobox<T extends Record<string, any> = Record<string, any>>({
|
|
|
110
114
|
onInputChange,
|
|
111
115
|
allowCustomValue,
|
|
112
116
|
customValueString = 'Create "%v"',
|
|
117
|
+
maxHeight = 320,
|
|
113
118
|
overrides,
|
|
114
119
|
}: ComboboxProps<T>) {
|
|
115
120
|
const inputID = useId();
|
|
@@ -224,6 +229,9 @@ export function Combobox<T extends Record<string, any> = Record<string, any>>({
|
|
|
224
229
|
overrides?.optionsContainer,
|
|
225
230
|
styles.options,
|
|
226
231
|
)}
|
|
232
|
+
style={{
|
|
233
|
+
'--options-maxHeight': `${maxHeight}px`,
|
|
234
|
+
} as CSSProperties}
|
|
227
235
|
>
|
|
228
236
|
{(allowCustomValue && query.length > 0) && (
|
|
229
237
|
<HCombobox.Option
|
|
@@ -4,8 +4,7 @@ $translateOutX: 20%;
|
|
|
4
4
|
$translateOutY: 60%;
|
|
5
5
|
|
|
6
6
|
$panelMinMargin: 16px;
|
|
7
|
-
$defaultSize: 360px;
|
|
8
|
-
|
|
7
|
+
$defaultSize: 360px + $panelMinMargin;
|
|
9
8
|
$panelPaddingX: 20px;
|
|
10
9
|
$panelPaddingY: 20px;
|
|
11
10
|
|
|
@@ -276,7 +275,7 @@ $panelAnimationDelay: var(--pte-animations-duration-fast);
|
|
|
276
275
|
}
|
|
277
276
|
|
|
278
277
|
.content {
|
|
279
|
-
padding: 20px
|
|
278
|
+
padding: 20px;
|
|
280
279
|
overflow-y: scroll;
|
|
281
280
|
height: 100%;
|
|
282
281
|
}
|
|
@@ -98,6 +98,30 @@
|
|
|
98
98
|
&[type="file"]::-webkit-file-upload-button {
|
|
99
99
|
display: none;
|
|
100
100
|
}
|
|
101
|
+
|
|
102
|
+
&[data-status="disabled"] {
|
|
103
|
+
color: var(--pte-colors-contentDisabled);
|
|
104
|
+
|
|
105
|
+
&::placeholder {
|
|
106
|
+
color: var(--pte-colors-contentDisabled);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
&[data-status="error"] {
|
|
111
|
+
color: var(--pte-colors-contentNegative);
|
|
112
|
+
|
|
113
|
+
&::placeholder {
|
|
114
|
+
color: var(--pte-colors-contentNegative);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
&[data-status="success"] {
|
|
119
|
+
color: var(--pte-colors-contentPositive);
|
|
120
|
+
|
|
121
|
+
&::placeholder {
|
|
122
|
+
color: var(--pte-colors-contentPositive);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
101
125
|
}
|
|
102
126
|
}
|
|
103
127
|
|
|
@@ -121,6 +121,7 @@ export const Input: FC<InputProps & ComponentPropsWithoutRef<'input'>> = forward
|
|
|
121
121
|
aria-label={typeof label === 'string' ? label : props['aria-label']}
|
|
122
122
|
aria-describedby={`${inputID}-description`}
|
|
123
123
|
aria-disabled={disabled}
|
|
124
|
+
data-status={status}
|
|
124
125
|
readOnly={disabled}
|
|
125
126
|
className={clsx(
|
|
126
127
|
props.className,
|