paris 0.24.0 → 0.25.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 +50 -0
- package/README.md +2 -2
- package/dist/stories/accordion/Accordion.module.scss.js +1 -1
- package/dist/stories/accordionselect/{AccordionSelect.module.css → AccordionSelect.css} +3 -0
- package/dist/stories/accordionselect/AccordionSelect.d.ts +15 -14
- package/dist/stories/accordionselect/AccordionSelect.js +8 -3
- package/dist/stories/accordionselect/AccordionSelect.js.map +1 -1
- package/dist/stories/accordionselect/AccordionSelect.module.scss.js +1 -1
- package/dist/stories/avatar/Avatar.module.scss.js +1 -1
- package/dist/stories/button/{Button.module.css → Button.css} +17 -0
- package/dist/stories/button/Button.js +2 -1
- package/dist/stories/button/Button.js.map +1 -1
- package/dist/stories/button/Button.module.scss.js +6 -2
- package/dist/stories/button/Button.module.scss.js.map +1 -1
- package/dist/stories/callout/Callout.module.scss.js +1 -1
- package/dist/stories/card/Card.module.scss.js +1 -1
- package/dist/stories/cardbutton/{CardButton.module.css → CardButton.css} +1 -1
- package/dist/stories/cardbutton/CardButton.d.ts +9 -1
- package/dist/stories/cardbutton/CardButton.js +5 -2
- package/dist/stories/cardbutton/CardButton.js.map +1 -1
- package/dist/stories/cardbutton/CardButton.module.scss.js +1 -1
- package/dist/stories/checkbox/{Checkbox.module.css → Checkbox.css} +14 -0
- package/dist/stories/checkbox/Checkbox.d.ts +30 -2
- package/dist/stories/checkbox/Checkbox.js +91 -83
- package/dist/stories/checkbox/Checkbox.js.map +1 -1
- package/dist/stories/checkbox/Checkbox.module.scss.js +1 -1
- package/dist/stories/codeinput/CodeInput.d.ts +1 -2
- package/dist/stories/codeinput/CodeInput.js +100 -93
- package/dist/stories/codeinput/CodeInput.js.map +1 -1
- package/dist/stories/codeinput/CodeInput.module.scss.js +1 -1
- package/dist/stories/combobox/Combobox.d.ts +9 -4
- package/dist/stories/combobox/Combobox.js +13 -2
- package/dist/stories/combobox/Combobox.js.map +1 -1
- package/dist/stories/dialog/Dialog.module.scss.js +1 -1
- package/dist/stories/drawer/Drawer.d.ts +9 -0
- package/dist/stories/drawer/Drawer.js +11 -0
- package/dist/stories/drawer/Drawer.js.map +1 -1
- package/dist/stories/drawer/Drawer.module.scss.js +1 -1
- package/dist/stories/field/Field.js +6 -6
- package/dist/stories/field/Field.js.map +1 -1
- package/dist/stories/informationaltooltip/InformationalTooltip.module.scss.js +1 -1
- package/dist/stories/input/Input.d.ts +39 -2
- package/dist/stories/input/Input.js.map +1 -1
- package/dist/stories/input/Input.module.scss.js +1 -1
- package/dist/stories/markdown/Markdown.module.scss.js +1 -1
- package/dist/stories/markdowneditor/FixedToolbar.module.scss.js +1 -1
- package/dist/stories/markdowneditor/FloatingToolbar.module.scss.js +1 -1
- package/dist/stories/markdowneditor/LinkPopover.module.scss.js +1 -1
- package/dist/stories/markdowneditor/MarkdownEditor.d.ts +10 -2
- package/dist/stories/markdowneditor/MarkdownEditor.js +5 -4
- package/dist/stories/markdowneditor/MarkdownEditor.js.map +1 -1
- package/dist/stories/markdowneditor/MarkdownEditor.module.scss.js +1 -1
- package/dist/stories/markdowneditor/ToolbarButton.module.scss.js +1 -1
- package/dist/stories/menu/{Menu.module.css → Menu.css} +3 -0
- package/dist/stories/menu/Menu.d.ts +5 -2
- package/dist/stories/menu/Menu.js +4 -10
- package/dist/stories/menu/Menu.js.map +1 -1
- package/dist/stories/menu/Menu.module.scss.js +1 -1
- package/dist/stories/popover/Popover.module.scss.js +1 -1
- package/dist/stories/select/{Select.module.css → Select.css} +3 -0
- package/dist/stories/select/Select.d.ts +19 -14
- package/dist/stories/select/Select.js +249 -240
- package/dist/stories/select/Select.js.map +1 -1
- package/dist/stories/select/Select.module.scss.js +1 -1
- package/dist/stories/styledlink/StyledLink.module.scss.js +1 -1
- package/dist/stories/table/Table.module.scss.js +1 -1
- package/dist/stories/tabs/Tabs.d.ts +10 -4
- package/dist/stories/tabs/Tabs.js +1 -3
- package/dist/stories/tabs/Tabs.js.map +1 -1
- package/dist/stories/tabs/Tabs.module.scss.js +1 -1
- package/dist/stories/tag/Tag.module.scss.js +1 -1
- package/dist/stories/text/Text.module.scss.js +1 -1
- package/dist/stories/text/Typography.module.css.js +1 -1
- package/dist/stories/tilt/Tilt.module.scss.js +1 -1
- package/dist/stories/toast/Toast.module.scss.js +1 -1
- package/dist/stories/utility/TextWhenString.d.ts +3 -3
- package/dist/stories/utility/TextWhenString.js +2 -3
- package/dist/stories/utility/TextWhenString.js.map +1 -1
- package/dist/styles.css +41 -1
- package/package.json +2 -2
- /package/dist/stories/accordion/{Accordion.module.css → Accordion.css} +0 -0
- /package/dist/stories/avatar/{Avatar.module.css → Avatar.css} +0 -0
- /package/dist/stories/callout/{Callout.module.css → Callout.css} +0 -0
- /package/dist/stories/card/{Card.module.css → Card.css} +0 -0
- /package/dist/stories/codeinput/{CodeInput.module.css → CodeInput.css} +0 -0
- /package/dist/stories/dialog/{Dialog.module.css → Dialog.css} +0 -0
- /package/dist/stories/drawer/{Drawer.module.css → Drawer.css} +0 -0
- /package/dist/stories/informationaltooltip/{InformationalTooltip.module.css → InformationalTooltip.css} +0 -0
- /package/dist/stories/input/{Input.module.css → Input.css} +0 -0
- /package/dist/stories/markdown/{Markdown.module.css → Markdown.css} +0 -0
- /package/dist/stories/markdowneditor/{FixedToolbar.module.css → FixedToolbar.css} +0 -0
- /package/dist/stories/markdowneditor/{FloatingToolbar.module.css → FloatingToolbar.css} +0 -0
- /package/dist/stories/markdowneditor/{LinkPopover.module.css → LinkPopover.css} +0 -0
- /package/dist/stories/markdowneditor/{MarkdownEditor.module.css → MarkdownEditor.css} +0 -0
- /package/dist/stories/markdowneditor/{ToolbarButton.module.css → ToolbarButton.css} +0 -0
- /package/dist/stories/popover/{Popover.module.css → Popover.css} +0 -0
- /package/dist/stories/styledlink/{StyledLink.module.css → StyledLink.css} +0 -0
- /package/dist/stories/table/{Table.module.css → Table.css} +0 -0
- /package/dist/stories/tabs/{Tabs.module.css → Tabs.css} +0 -0
- /package/dist/stories/tag/{Tag.module.css → Tag.css} +0 -0
- /package/dist/stories/text/{Text.module.css → Text.css} +0 -0
- /package/dist/stories/text/{Typography.module.css → Typography.css} +0 -0
- /package/dist/stories/tilt/{Tilt.module.css → Tilt.css} +0 -0
- /package/dist/stories/toast/{Toast.module.css → Toast.css} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Input.js","sources":["../../../src/stories/input/Input.tsx"],"sourcesContent":["'use client';\n\nimport { clsx } from 'clsx';\nimport type { ComponentPropsWithoutRef, FC, ForwardedRef } from 'react';\nimport { forwardRef, useId } from 'react';\nimport { MemoizedEnhancer } from '../../helpers/renderEnhancer';\nimport type { Enhancer } from '../../types/Enhancer';\nimport type { FieldProps } from '../field';\nimport { Field } from '../field';\nimport type { TextProps } from '../text';\nimport { theme } from '../theme';\nimport styles from './Input.module.scss';\n\nexport type InputProps = {\n /**\n * This is required for accessibility. If the label is not a string, you should provide an `aria-label` prop directly to specify the text used for accessibility\n */\n label: React.ReactNode;\n /**\n * The status of the input field.\n * @default default\n */\n status?: 'default' | 'error' | 'success';\n /**\n * The input type. All HTML5 input types are supported, but some may require additional props to be set for full accessibility or aesthetic.\n * @default text\n */\n type?:\n | 'button'\n | 'checkbox'\n | 'color'\n | 'date'\n | 'datetime-local'\n | 'email'\n | 'file'\n | 'hidden'\n | 'image'\n | 'month'\n | 'number'\n | 'password'\n | 'radio'\n | 'range'\n | 'reset'\n | 'search'\n | 'submit'\n | 'tel'\n | 'text'\n | 'time'\n | 'url'\n | 'week';\n /**\n * The placeholder for the input.\n */\n placeholder?: string;\n /**\n * An icon or other element to render before the Input element. A `{ size }` argument is passed that should be used to determine the width & height of the content displayed.\n */\n startEnhancer?: Enhancer;\n /**\n * An icon or other element to render after the Input element. A `{ size }` argument is passed that should be used to determine the width & height of the content displayed.\n */\n endEnhancer?: Enhancer;\n /**\n * Prop overrides for other rendered elements. Overrides for the input itself should be passed directly to the component.\n */\n overrides?: {\n container?: ComponentPropsWithoutRef<'div'>;\n label?: TextProps<'label'>;\n description?: TextProps<'p'>;\n startEnhancerContainer?: ComponentPropsWithoutRef<'div'>;\n endEnhancerContainer?: ComponentPropsWithoutRef<'div'>;\n };\n} & FieldProps;\n\n/**\n * An `Input` is used to collect user input, such as text, numbers, or dates.\n *\n * > `overrides` available: `container`, `label`, `description`, `startEnhancerContainer`, `endEnhancerContainer`\n *\n * <hr />\n *\n * To use the `Input` component, import it as follows:\n *\n * ```js\n * import { Input } from 'paris/input';\n * ```\n * @constructor\n */\nexport const Input: FC<InputProps & ComponentPropsWithoutRef<'input'>> = forwardRef(\n (\n {\n label,\n status,\n type,\n hideLabel,\n description,\n hideDescription,\n descriptionPosition,\n startEnhancer,\n endEnhancer,\n disabled,\n overrides,\n ...props\n },\n ref: ForwardedRef<HTMLInputElement>,\n ) => {\n const inputID = useId();\n return (\n <Field\n htmlFor={inputID}\n label={label}\n hideLabel={hideLabel}\n description={description}\n hideDescription={hideDescription}\n disabled={disabled}\n descriptionPosition={descriptionPosition}\n overrides={{\n container: {\n ...overrides?.container,\n className: clsx(\n // styles.fieldContainer,\n overrides?.container?.className,\n ),\n },\n label: overrides?.label,\n description: overrides?.description,\n }}\n >\n <div\n className={styles.inputContainer}\n // data-status={status}\n // data-disabled={disabled}\n data-status={disabled ? 'disabled' : status || 'default'}\n >\n {!!startEnhancer && (\n <div\n {...overrides?.startEnhancerContainer}\n className={clsx(styles.enhancer, overrides?.startEnhancerContainer?.className)}\n data-status={disabled ? 'disabled' : status || 'default'}\n >\n {!!startEnhancer && (\n <MemoizedEnhancer\n enhancer={startEnhancer}\n size={parseInt(theme.typography.styles.paragraphSmall.fontSize, 10)}\n />\n )}\n </div>\n )}\n <div className={styles.inputScaleWrapper}>\n <input\n {...props}\n id={inputID}\n ref={ref}\n type={type || 'text'}\n aria-label={typeof label === 'string' ? label : props['aria-label']}\n aria-describedby={`${inputID}-description`}\n aria-disabled={disabled}\n data-status={disabled ? 'disabled' : status || 'default'}\n readOnly={disabled}\n className={clsx(props.className, styles.input)}\n />\n </div>\n {!!endEnhancer && (\n <div\n {...overrides?.endEnhancerContainer}\n className={clsx(styles.enhancer, overrides?.endEnhancerContainer?.className)}\n data-status={disabled ? 'disabled' : status || 'default'}\n >\n {!!endEnhancer && (\n <MemoizedEnhancer\n enhancer={endEnhancer}\n size={parseInt(theme.typography.styles.paragraphSmall.fontSize, 10)}\n />\n )}\n </div>\n )}\n </div>\n </Field>\n );\n },\n);\n"],"names":["styles"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Input.js","sources":["../../../src/stories/input/Input.tsx"],"sourcesContent":["'use client';\n\nimport { clsx } from 'clsx';\nimport type { ComponentPropsWithoutRef, ForwardedRef } from 'react';\nimport { forwardRef, useId } from 'react';\nimport { MemoizedEnhancer } from '../../helpers/renderEnhancer';\nimport type { Enhancer } from '../../types/Enhancer';\nimport type { FieldProps } from '../field';\nimport { Field } from '../field';\nimport type { TextProps } from '../text';\nimport { theme } from '../theme';\nimport styles from './Input.module.scss';\n\nexport type InputProps = {\n /**\n * This is required for accessibility. If the label is not a string, you should provide an `aria-label` prop directly to specify the text used for accessibility\n */\n label: React.ReactNode;\n /**\n * The status of the input field.\n * @default default\n */\n status?: 'default' | 'error' | 'success';\n /**\n * The input type. All HTML5 input types are supported, but some may require additional props to be set for full accessibility or aesthetic.\n * @default text\n */\n type?:\n | 'button'\n | 'checkbox'\n | 'color'\n | 'date'\n | 'datetime-local'\n | 'email'\n | 'file'\n | 'hidden'\n | 'image'\n | 'month'\n | 'number'\n | 'password'\n | 'radio'\n | 'range'\n | 'reset'\n | 'search'\n | 'submit'\n | 'tel'\n | 'text'\n | 'time'\n | 'url'\n | 'week';\n /**\n * The placeholder for the input.\n */\n placeholder?: string;\n /**\n * An icon or other element to render before the Input element. A `{ size }` argument is passed that should be used to determine the width & height of the content displayed.\n */\n startEnhancer?: Enhancer;\n /**\n * An icon or other element to render after the Input element. A `{ size }` argument is passed that should be used to determine the width & height of the content displayed.\n */\n endEnhancer?: Enhancer;\n /**\n * Prop overrides for other rendered elements. Overrides for the input itself should be passed directly to the component.\n */\n overrides?: {\n container?: ComponentPropsWithoutRef<'div'>;\n label?: TextProps<'label'>;\n description?: TextProps<'p'>;\n startEnhancerContainer?: ComponentPropsWithoutRef<'div'>;\n endEnhancerContainer?: ComponentPropsWithoutRef<'div'>;\n };\n} & FieldProps;\n\n/**\n * An `Input` is used to collect user input, such as text, numbers, or dates.\n *\n * > `overrides` available: `container`, `label`, `description`, `startEnhancerContainer`, `endEnhancerContainer`\n *\n * <hr />\n *\n * To use the `Input` component, import it as follows:\n *\n * ```js\n * import { Input } from 'paris/input';\n * ```\n * @constructor\n */\nexport const Input = forwardRef<HTMLInputElement, InputProps & ComponentPropsWithoutRef<'input'>>(\n (\n {\n label,\n status,\n type,\n hideLabel,\n description,\n hideDescription,\n descriptionPosition,\n startEnhancer,\n endEnhancer,\n disabled,\n overrides,\n ...props\n },\n ref: ForwardedRef<HTMLInputElement>,\n ) => {\n const inputID = useId();\n return (\n <Field\n htmlFor={inputID}\n label={label}\n hideLabel={hideLabel}\n description={description}\n hideDescription={hideDescription}\n disabled={disabled}\n descriptionPosition={descriptionPosition}\n overrides={{\n container: {\n ...overrides?.container,\n className: clsx(\n // styles.fieldContainer,\n overrides?.container?.className,\n ),\n },\n label: overrides?.label,\n description: overrides?.description,\n }}\n >\n <div\n className={styles.inputContainer}\n // data-status={status}\n // data-disabled={disabled}\n data-status={disabled ? 'disabled' : status || 'default'}\n >\n {!!startEnhancer && (\n <div\n {...overrides?.startEnhancerContainer}\n className={clsx(styles.enhancer, overrides?.startEnhancerContainer?.className)}\n data-status={disabled ? 'disabled' : status || 'default'}\n >\n {!!startEnhancer && (\n <MemoizedEnhancer\n enhancer={startEnhancer}\n size={parseInt(theme.typography.styles.paragraphSmall.fontSize, 10)}\n />\n )}\n </div>\n )}\n <div className={styles.inputScaleWrapper}>\n <input\n {...props}\n id={inputID}\n ref={ref}\n type={type || 'text'}\n aria-label={typeof label === 'string' ? label : props['aria-label']}\n aria-describedby={`${inputID}-description`}\n aria-disabled={disabled}\n data-status={disabled ? 'disabled' : status || 'default'}\n readOnly={disabled}\n className={clsx(props.className, styles.input)}\n />\n </div>\n {!!endEnhancer && (\n <div\n {...overrides?.endEnhancerContainer}\n className={clsx(styles.enhancer, overrides?.endEnhancerContainer?.className)}\n data-status={disabled ? 'disabled' : status || 'default'}\n >\n {!!endEnhancer && (\n <MemoizedEnhancer\n enhancer={endEnhancer}\n size={parseInt(theme.typography.styles.paragraphSmall.fontSize, 10)}\n />\n )}\n </div>\n )}\n </div>\n </Field>\n );\n },\n);\n"],"names":["styles"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import './Input.
|
|
1
|
+
import './Input.css';const inputContainer = "paris_inputContainer_a8TwY";
|
|
2
2
|
const inputScaleWrapper = "paris_inputScaleWrapper_XVKDd";
|
|
3
3
|
const enhancer = "paris_enhancer_dWZ5z";
|
|
4
4
|
const container = "paris_container_4aoux";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import './Markdown.
|
|
1
|
+
import './Markdown.css';const markdown = "paris_markdown_xr6-T";
|
|
2
2
|
const heading = "paris_heading_YY-2-";
|
|
3
3
|
const paragraph = "paris_paragraph_e4anz";
|
|
4
4
|
const strikethrough = "paris_strikethrough_zLlkK";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ComponentPropsWithoutRef,
|
|
1
|
+
import { ComponentPropsWithoutRef, ReactNode } from 'react';
|
|
2
2
|
import { MarkdownSize } from '../markdown';
|
|
3
3
|
import { MarkdownEditorFeature } from './features';
|
|
4
4
|
import { ImageUploadHandler } from './MarkdownEditorContext';
|
|
@@ -40,6 +40,14 @@ export type MarkdownEditorProps = {
|
|
|
40
40
|
*/
|
|
41
41
|
children?: ReactNode;
|
|
42
42
|
};
|
|
43
|
+
/**
|
|
44
|
+
* Imperative handle exposed via `ref`. Lets consumers focus the editor programmatically (e.g.
|
|
45
|
+
* react-hook-form's `setFocus`) without reaching into the underlying Tiptap instance.
|
|
46
|
+
*/
|
|
47
|
+
export type MarkdownEditorHandle = {
|
|
48
|
+
/** Move focus into the editor's content area. */
|
|
49
|
+
focus: () => void;
|
|
50
|
+
};
|
|
43
51
|
/**
|
|
44
52
|
* A WYSIWYG markdown editor built on Tiptap, styled with Paris design tokens.
|
|
45
53
|
* It pairs with the read-only `<Markdown>` component as its write counterpart.
|
|
@@ -67,4 +75,4 @@ export type MarkdownEditorProps = {
|
|
|
67
75
|
*
|
|
68
76
|
* @constructor
|
|
69
77
|
*/
|
|
70
|
-
export declare const MarkdownEditor:
|
|
78
|
+
export declare const MarkdownEditor: import('react').ForwardRefExoticComponent<MarkdownEditorProps & import('react').RefAttributes<MarkdownEditorHandle>>;
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
3
3
|
import { EditorContent } from '@tiptap/react';
|
|
4
4
|
import { clsx } from 'clsx';
|
|
5
|
-
import { useMemo } from 'react';
|
|
5
|
+
import { forwardRef, useImperativeHandle, useMemo } from 'react';
|
|
6
6
|
import { ALL_FEATURES } from './features.js';
|
|
7
7
|
import styles from './MarkdownEditor.module.scss.js';
|
|
8
8
|
import { MarkdownEditorContext } from './MarkdownEditorContext.js';
|
|
9
9
|
import { useMarkdownEditor } from './useMarkdownEditor.js';
|
|
10
10
|
|
|
11
|
-
const MarkdownEditor = ({
|
|
11
|
+
const MarkdownEditor = forwardRef(function MarkdownEditor2({
|
|
12
12
|
value,
|
|
13
13
|
onChange,
|
|
14
14
|
features = ALL_FEATURES,
|
|
@@ -21,7 +21,7 @@ const MarkdownEditor = ({
|
|
|
21
21
|
status = "default",
|
|
22
22
|
overrides,
|
|
23
23
|
children
|
|
24
|
-
})
|
|
24
|
+
}, ref) {
|
|
25
25
|
const { editor, featureSet } = useMarkdownEditor({
|
|
26
26
|
value,
|
|
27
27
|
onChange,
|
|
@@ -30,6 +30,7 @@ const MarkdownEditor = ({
|
|
|
30
30
|
editable,
|
|
31
31
|
autofocus
|
|
32
32
|
});
|
|
33
|
+
useImperativeHandle(ref, () => ({ focus: () => editor?.commands.focus() }), [editor]);
|
|
33
34
|
const contextValue = useMemo(
|
|
34
35
|
() => ({ editor, features: featureSet, handleImageUpload }),
|
|
35
36
|
[editor, featureSet, handleImageUpload]
|
|
@@ -56,7 +57,7 @@ const MarkdownEditor = ({
|
|
|
56
57
|
]
|
|
57
58
|
}
|
|
58
59
|
) }) });
|
|
59
|
-
};
|
|
60
|
+
});
|
|
60
61
|
|
|
61
62
|
export { MarkdownEditor };
|
|
62
63
|
//# sourceMappingURL=MarkdownEditor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MarkdownEditor.js","sources":["../../../src/stories/markdowneditor/MarkdownEditor.tsx"],"sourcesContent":["'use client';\n\nimport { EditorContent } from '@tiptap/react';\nimport { clsx } from 'clsx';\nimport type { ComponentPropsWithoutRef, FC, ReactNode } from 'react';\nimport { useMemo } from 'react';\nimport type { MarkdownSize } from '../markdown';\nimport type { MarkdownEditorFeature } from './features';\nimport { ALL_FEATURES } from './features';\nimport styles from './MarkdownEditor.module.scss';\nimport type { ImageUploadHandler } from './MarkdownEditorContext';\nimport { MarkdownEditorContext } from './MarkdownEditorContext';\nimport { useMarkdownEditor } from './useMarkdownEditor';\n\nexport type MarkdownEditorProps = {\n /** The markdown string value (controlled). */\n value: string;\n /** Fires with the updated markdown string on every edit. */\n onChange?: (value: string) => void;\n /** Whitelist of formatting features to enable. Defaults to all features. */\n features?: MarkdownEditorFeature[];\n /** Placeholder text shown when the editor is empty. */\n placeholder?: string;\n /**\n * Base text size for body content, matching the Markdown component's size prop.\n * @default 'paragraphSmall'\n */\n size?: MarkdownSize;\n /** Whether the editor is editable. @default true */\n editable?: boolean;\n /** Whether to autofocus the editor on mount. @default false */\n autofocus?: boolean;\n /** An optional CSS class name for the root wrapper. */\n className?: string;\n /**\n * Handler for image uploads. Receives a File, should return a Promise\n * resolving to the image URL. If not provided, the image button is hidden.\n */\n handleImageUpload?: ImageUploadHandler;\n /** Visual status for the editor container (follows Input pattern). */\n status?: 'default' | 'error' | 'success';\n /** Prop overrides for sub-elements. */\n overrides?: {\n root?: ComponentPropsWithoutRef<'div'>;\n editorContainer?: ComponentPropsWithoutRef<'div'>;\n };\n /**\n * Children are placed inside the context provider, before the editor content.\n * This is where toolbar components should be placed.\n */\n children?: ReactNode;\n};\n\n/**\n * A WYSIWYG markdown editor built on Tiptap, styled with Paris design tokens.\n * It pairs with the read-only `<Markdown>` component as its write counterpart.\n *\n * The editor uses a compound component pattern — toolbar components are passed\n * as children and communicate with the editor via React context.\n *\n * <hr />\n *\n * To use this component, import it as follows:\n *\n * ```tsx\n * import { MarkdownEditor, FixedToolbar, FloatingToolbar } from 'paris/markdowneditor';\n *\n * export const Example: FC = () => {\n * const [md, setMd] = useState('');\n * return (\n * <MarkdownEditor value={md} onChange={setMd} placeholder=\"Start writing...\">\n * <FixedToolbar />\n * <FloatingToolbar />\n * </MarkdownEditor>\n * );\n * };\n * ```\n *\n * @constructor\n */\nexport const MarkdownEditor: FC<MarkdownEditorProps> = ({\n value,\n onChange,\n features = ALL_FEATURES,\n placeholder,\n size = 'paragraphSmall',\n editable = true,\n autofocus = false,\n handleImageUpload,\n className,\n status = 'default',\n overrides,\n children,\n}) => {\n const { editor, featureSet } = useMarkdownEditor({\n value,\n onChange,\n features,\n placeholder,\n editable,\n autofocus,\n });\n\n const contextValue = useMemo(\n () => ({ editor, features: featureSet, handleImageUpload }),\n [editor, featureSet, handleImageUpload],\n );\n\n return (\n <MarkdownEditorContext.Provider value={contextValue}>\n <div {...overrides?.root} className={clsx(styles.root, className, overrides?.root?.className)}>\n <div\n {...overrides?.editorContainer}\n className={clsx(styles.editorContainer, overrides?.editorContainer?.className)}\n data-status={status}\n data-disabled={!editable}\n >\n {children}\n <div\n className={styles.editorContent}\n style={\n {\n '--markdown-base-font-size': `var(--pte-new-typography-styles-${size}-fontSize)`,\n } as React.CSSProperties\n }\n >\n <EditorContent editor={editor} />\n </div>\n </div>\n </div>\n </MarkdownEditorContext.Provider>\n );\n};\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MarkdownEditor.js","sources":["../../../src/stories/markdowneditor/MarkdownEditor.tsx"],"sourcesContent":["'use client';\n\nimport { EditorContent } from '@tiptap/react';\nimport { clsx } from 'clsx';\nimport type { ComponentPropsWithoutRef, ReactNode } from 'react';\nimport { forwardRef, useImperativeHandle, useMemo } from 'react';\nimport type { MarkdownSize } from '../markdown';\nimport type { MarkdownEditorFeature } from './features';\nimport { ALL_FEATURES } from './features';\nimport styles from './MarkdownEditor.module.scss';\nimport type { ImageUploadHandler } from './MarkdownEditorContext';\nimport { MarkdownEditorContext } from './MarkdownEditorContext';\nimport { useMarkdownEditor } from './useMarkdownEditor';\n\nexport type MarkdownEditorProps = {\n /** The markdown string value (controlled). */\n value: string;\n /** Fires with the updated markdown string on every edit. */\n onChange?: (value: string) => void;\n /** Whitelist of formatting features to enable. Defaults to all features. */\n features?: MarkdownEditorFeature[];\n /** Placeholder text shown when the editor is empty. */\n placeholder?: string;\n /**\n * Base text size for body content, matching the Markdown component's size prop.\n * @default 'paragraphSmall'\n */\n size?: MarkdownSize;\n /** Whether the editor is editable. @default true */\n editable?: boolean;\n /** Whether to autofocus the editor on mount. @default false */\n autofocus?: boolean;\n /** An optional CSS class name for the root wrapper. */\n className?: string;\n /**\n * Handler for image uploads. Receives a File, should return a Promise\n * resolving to the image URL. If not provided, the image button is hidden.\n */\n handleImageUpload?: ImageUploadHandler;\n /** Visual status for the editor container (follows Input pattern). */\n status?: 'default' | 'error' | 'success';\n /** Prop overrides for sub-elements. */\n overrides?: {\n root?: ComponentPropsWithoutRef<'div'>;\n editorContainer?: ComponentPropsWithoutRef<'div'>;\n };\n /**\n * Children are placed inside the context provider, before the editor content.\n * This is where toolbar components should be placed.\n */\n children?: ReactNode;\n};\n\n/**\n * Imperative handle exposed via `ref`. Lets consumers focus the editor programmatically (e.g.\n * react-hook-form's `setFocus`) without reaching into the underlying Tiptap instance.\n */\nexport type MarkdownEditorHandle = {\n /** Move focus into the editor's content area. */\n focus: () => void;\n};\n\n/**\n * A WYSIWYG markdown editor built on Tiptap, styled with Paris design tokens.\n * It pairs with the read-only `<Markdown>` component as its write counterpart.\n *\n * The editor uses a compound component pattern — toolbar components are passed\n * as children and communicate with the editor via React context.\n *\n * <hr />\n *\n * To use this component, import it as follows:\n *\n * ```tsx\n * import { MarkdownEditor, FixedToolbar, FloatingToolbar } from 'paris/markdowneditor';\n *\n * export const Example: FC = () => {\n * const [md, setMd] = useState('');\n * return (\n * <MarkdownEditor value={md} onChange={setMd} placeholder=\"Start writing...\">\n * <FixedToolbar />\n * <FloatingToolbar />\n * </MarkdownEditor>\n * );\n * };\n * ```\n *\n * @constructor\n */\nexport const MarkdownEditor = forwardRef<MarkdownEditorHandle, MarkdownEditorProps>(function MarkdownEditor(\n {\n value,\n onChange,\n features = ALL_FEATURES,\n placeholder,\n size = 'paragraphSmall',\n editable = true,\n autofocus = false,\n handleImageUpload,\n className,\n status = 'default',\n overrides,\n children,\n },\n ref,\n) {\n const { editor, featureSet } = useMarkdownEditor({\n value,\n onChange,\n features,\n placeholder,\n editable,\n autofocus,\n });\n\n useImperativeHandle(ref, () => ({ focus: () => editor?.commands.focus() }), [editor]);\n\n const contextValue = useMemo(\n () => ({ editor, features: featureSet, handleImageUpload }),\n [editor, featureSet, handleImageUpload],\n );\n\n return (\n <MarkdownEditorContext.Provider value={contextValue}>\n <div {...overrides?.root} className={clsx(styles.root, className, overrides?.root?.className)}>\n <div\n {...overrides?.editorContainer}\n className={clsx(styles.editorContainer, overrides?.editorContainer?.className)}\n data-status={status}\n data-disabled={!editable}\n >\n {children}\n <div\n className={styles.editorContent}\n style={\n {\n '--markdown-base-font-size': `var(--pte-new-typography-styles-${size}-fontSize)`,\n } as React.CSSProperties\n }\n >\n <EditorContent editor={editor} />\n </div>\n </div>\n </div>\n </MarkdownEditorContext.Provider>\n );\n});\n"],"names":["MarkdownEditor"],"mappings":"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"}
|
|
@@ -29,12 +29,15 @@ export declare const MenuButton: FC<MenuButtonProps<React.ElementType>>;
|
|
|
29
29
|
/**
|
|
30
30
|
* Container for menu item options, rendering the list of `MenuItem` components.
|
|
31
31
|
*
|
|
32
|
-
* Positions the menu items relative to the `MenuButton` based on the `position`
|
|
32
|
+
* Positions the menu items relative to the `MenuButton` based on the `position` and
|
|
33
|
+
* `verticalPosition` props.
|
|
33
34
|
*
|
|
34
|
-
* @param position - Controls the
|
|
35
|
+
* @param position - Controls the horizontal alignment of the menu items ('left' or 'right').
|
|
36
|
+
* @param verticalPosition - Controls whether the menu opens below or above the button ('bottom' or 'top').
|
|
35
37
|
*/
|
|
36
38
|
export declare const MenuItems: FC<MenuItemsProps<React.ElementType> & {
|
|
37
39
|
position?: 'left' | 'right';
|
|
40
|
+
verticalPosition?: 'bottom' | 'top';
|
|
38
41
|
}>;
|
|
39
42
|
/**
|
|
40
43
|
* Represents an individual item within a `MenuItems` container.
|
|
@@ -15,16 +15,10 @@ const Menu = ({
|
|
|
15
15
|
typeof children === "function" ? children({ open, close }) : children
|
|
16
16
|
] }) });
|
|
17
17
|
const MenuButton = ({ className, children, ...props }) => /* @__PURE__ */ jsx(MenuButton$1, { className: clsx(styles.menuButton, className), ...props, children });
|
|
18
|
-
const MenuItems = ({ className, children, position = "left", ...props }) =>
|
|
19
|
-
|
|
20
|
-
{
|
|
21
|
-
|
|
22
|
-
anchor: position === "left" ? "bottom start" : "bottom end",
|
|
23
|
-
className: clsx(styles.menuItems, className),
|
|
24
|
-
...props,
|
|
25
|
-
children
|
|
26
|
-
}
|
|
27
|
-
);
|
|
18
|
+
const MenuItems = ({ className, children, position = "left", verticalPosition = "bottom", ...props }) => {
|
|
19
|
+
const anchor = verticalPosition === "top" ? position === "left" ? "top start" : "top end" : position === "left" ? "bottom start" : "bottom end";
|
|
20
|
+
return /* @__PURE__ */ jsx(MenuItems$1, { transition: true, anchor, className: clsx(styles.menuItems, className), ...props, children });
|
|
21
|
+
};
|
|
28
22
|
const MenuItem = ({ className, children, isNew = false, ...props }) => /* @__PURE__ */ jsx(MenuItem$1, { className: clsx(styles.menuItem, isNew && styles.newItem, className), ...props, children });
|
|
29
23
|
|
|
30
24
|
export { Menu, MenuButton, MenuItem, MenuItems };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu.js","sources":["../../../src/stories/menu/Menu.tsx"],"sourcesContent":["'use client';\n\nimport type { MenuButtonProps, MenuItemProps, MenuItemsProps, MenuProps } from '@headlessui/react';\nimport {\n Menu as HeadlessMenu,\n MenuButton as HMenuButton,\n MenuItem as HMenuItem,\n MenuItems as HMenuItems,\n} from '@headlessui/react';\nimport { clsx } from 'clsx';\nimport type { FC } from 'react';\nimport { OpenChangeEffect } from '../../helpers/OpenChangeEffect';\n\nimport styles from './Menu.module.scss';\n\n/**\n * Wraps the `HeadlessMenu` component from `@headlessui/react` to provide a styled dropdown menu.\n *\n * This component serves as the root of the menu and should wrap `MenuButton`, `MenuItems`, and `MenuItem` components.\n *\n * Usage:\n *\n * ```tsx\n * <Menu>\n * <MenuButton>Options</MenuButton>\n * <MenuItems>\n * <MenuItem>Item 1</MenuItem>\n * <MenuItem>Item 2</MenuItem>\n * </MenuItems>\n * </Menu>\n * ```\n */\nexport const Menu: FC<MenuProps<React.ElementType> & { onOpenChange?: (open: boolean) => void }> = ({\n className,\n children,\n onOpenChange,\n ...props\n}) => (\n <HeadlessMenu as=\"div\" className={clsx(styles.menu, className)} {...props}>\n {({ open, close }) => (\n <>\n <OpenChangeEffect open={open} onOpenChange={onOpenChange} />\n {typeof children === 'function' ? children({ open, close }) : children}\n </>\n )}\n </HeadlessMenu>\n);\n\n/**\n * Renders a button that toggles the display of `MenuItems` in a `Menu`.\n *\n * Should be used inside a `Menu` component to serve as the toggle for `MenuItems`.\n */\nexport const MenuButton: FC<MenuButtonProps<React.ElementType>> = ({ className, children, ...props }) => (\n <HMenuButton className={clsx(styles.menuButton, className)} {...props}>\n {children}\n </HMenuButton>\n);\n\n/**\n * Container for menu item options, rendering the list of `MenuItem` components.\n *\n * Positions the menu items relative to the `MenuButton` based on the `position`
|
|
1
|
+
{"version":3,"file":"Menu.js","sources":["../../../src/stories/menu/Menu.tsx"],"sourcesContent":["'use client';\n\nimport type { MenuButtonProps, MenuItemProps, MenuItemsProps, MenuProps } from '@headlessui/react';\nimport {\n Menu as HeadlessMenu,\n MenuButton as HMenuButton,\n MenuItem as HMenuItem,\n MenuItems as HMenuItems,\n} from '@headlessui/react';\nimport { clsx } from 'clsx';\nimport type { FC } from 'react';\nimport { OpenChangeEffect } from '../../helpers/OpenChangeEffect';\n\nimport styles from './Menu.module.scss';\n\n/**\n * Wraps the `HeadlessMenu` component from `@headlessui/react` to provide a styled dropdown menu.\n *\n * This component serves as the root of the menu and should wrap `MenuButton`, `MenuItems`, and `MenuItem` components.\n *\n * Usage:\n *\n * ```tsx\n * <Menu>\n * <MenuButton>Options</MenuButton>\n * <MenuItems>\n * <MenuItem>Item 1</MenuItem>\n * <MenuItem>Item 2</MenuItem>\n * </MenuItems>\n * </Menu>\n * ```\n */\nexport const Menu: FC<MenuProps<React.ElementType> & { onOpenChange?: (open: boolean) => void }> = ({\n className,\n children,\n onOpenChange,\n ...props\n}) => (\n <HeadlessMenu as=\"div\" className={clsx(styles.menu, className)} {...props}>\n {({ open, close }) => (\n <>\n <OpenChangeEffect open={open} onOpenChange={onOpenChange} />\n {typeof children === 'function' ? children({ open, close }) : children}\n </>\n )}\n </HeadlessMenu>\n);\n\n/**\n * Renders a button that toggles the display of `MenuItems` in a `Menu`.\n *\n * Should be used inside a `Menu` component to serve as the toggle for `MenuItems`.\n */\nexport const MenuButton: FC<MenuButtonProps<React.ElementType>> = ({ className, children, ...props }) => (\n <HMenuButton className={clsx(styles.menuButton, className)} {...props}>\n {children}\n </HMenuButton>\n);\n\n/**\n * Container for menu item options, rendering the list of `MenuItem` components.\n *\n * Positions the menu items relative to the `MenuButton` based on the `position` and\n * `verticalPosition` props.\n *\n * @param position - Controls the horizontal alignment of the menu items ('left' or 'right').\n * @param verticalPosition - Controls whether the menu opens below or above the button ('bottom' or 'top').\n */\nexport const MenuItems: FC<\n MenuItemsProps<React.ElementType> & {\n position?: 'left' | 'right';\n verticalPosition?: 'bottom' | 'top';\n }\n> = ({ className, children, position = 'left', verticalPosition = 'bottom', ...props }) => {\n const anchor =\n verticalPosition === 'top'\n ? position === 'left'\n ? 'top start'\n : 'top end'\n : position === 'left'\n ? 'bottom start'\n : 'bottom end';\n\n return (\n <HMenuItems transition anchor={anchor} className={clsx(styles.menuItems, className)} {...props}>\n {children}\n </HMenuItems>\n );\n};\n\n/**\n * Represents an individual item within a `MenuItems` container.\n *\n * Should be used inside `MenuItems` to represent selectable options in the menu.\n *\n * @param isNew - Whether the menu items should be styled as new items.\n */\nexport const MenuItem: FC<\n MenuItemProps<React.ElementType> & {\n isNew?: boolean;\n }\n> = ({ className, children, isNew = false, ...props }) => (\n <HMenuItem className={clsx(styles.menuItem, isNew && styles.newItem, className)} {...props}>\n {children}\n </HMenuItem>\n);\n"],"names":["HeadlessMenu","HMenuButton","HMenuItems","HMenuItem"],"mappings":"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"}
|
|
@@ -35,6 +35,9 @@
|
|
|
35
35
|
box-shadow: var(--pte-new-lighting-deepBelow);
|
|
36
36
|
transition: opacity var(--pte-animations-interaction), transform var(--pte-animations-interaction);
|
|
37
37
|
}
|
|
38
|
+
.paris_options_OCbX8:empty {
|
|
39
|
+
display: none;
|
|
40
|
+
}
|
|
38
41
|
.paris_options_OCbX8[data-closed] {
|
|
39
42
|
opacity: 0;
|
|
40
43
|
transform: translateY(-8px);
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { ComponentPropsWithoutRef, ReactNode } from 'react';
|
|
1
|
+
import { ComponentPropsWithoutRef, ReactNode, RefAttributes } from 'react';
|
|
2
2
|
import { InputProps } from '../input';
|
|
3
3
|
import { TextProps } from '../text';
|
|
4
|
-
export type Option<T = Record<string,
|
|
4
|
+
export type Option<T extends Record<string, unknown> = Record<string, unknown>> = {
|
|
5
5
|
id: string;
|
|
6
6
|
node: ReactNode;
|
|
7
7
|
disabled?: boolean;
|
|
8
8
|
metadata?: T;
|
|
9
9
|
};
|
|
10
|
-
export type CommonSelectProps<T = Record<string,
|
|
10
|
+
export type CommonSelectProps<T extends Record<string, unknown> = Record<string, unknown>> = {
|
|
11
11
|
/**
|
|
12
12
|
* The {@link Option}s to render in the select box.
|
|
13
13
|
*
|
|
@@ -48,7 +48,7 @@ export type CommonSelectProps<T = Record<string, any>> = {
|
|
|
48
48
|
endEnhancerContainer?: ComponentPropsWithoutRef<'div'>;
|
|
49
49
|
};
|
|
50
50
|
} & Omit<InputProps, 'type' | 'overrides'>;
|
|
51
|
-
export type SingleSelectProps<T = Record<string,
|
|
51
|
+
export type SingleSelectProps<T extends Record<string, unknown> = Record<string, unknown>> = {
|
|
52
52
|
/**
|
|
53
53
|
* The option ID to render as selected in the select box.
|
|
54
54
|
*
|
|
@@ -58,9 +58,10 @@ export type SingleSelectProps<T = Record<string, any>> = {
|
|
|
58
58
|
/** The initial value for uncontrolled mode. If `value` is provided, this is ignored. */
|
|
59
59
|
defaultValue?: Option<T>['id'] | null;
|
|
60
60
|
/**
|
|
61
|
-
* The interaction handler for the Select.
|
|
61
|
+
* The interaction handler for the Select. Receives the full selected {@link Option} (including
|
|
62
|
+
* its typed `metadata`), or `null` when the selection is cleared.
|
|
62
63
|
*/
|
|
63
|
-
onChange?: (
|
|
64
|
+
onChange?: (option: Option<T> | null) => void | Promise<void>;
|
|
64
65
|
/**
|
|
65
66
|
* The visual variant of the Select. `listbox` will render as a dropdown menu, `radio` will render as a radio group, `card` will render as selectable cards, and `segmented` will render as a segmented control.
|
|
66
67
|
* @default listbox
|
|
@@ -68,8 +69,8 @@ export type SingleSelectProps<T = Record<string, any>> = {
|
|
|
68
69
|
kind?: 'listbox' | 'radio' | 'card' | 'segmented';
|
|
69
70
|
multiple?: false;
|
|
70
71
|
multipleItemsName?: never;
|
|
71
|
-
} & CommonSelectProps
|
|
72
|
-
export type MultiSelectProps<T = Record<string,
|
|
72
|
+
} & CommonSelectProps<T>;
|
|
73
|
+
export type MultiSelectProps<T extends Record<string, unknown> = Record<string, unknown>> = {
|
|
73
74
|
/**
|
|
74
75
|
* Controls the text of the Multiselect button when multiple items selected, such as "All ___" or "2 ___"
|
|
75
76
|
* @default items
|
|
@@ -91,14 +92,19 @@ export type MultiSelectProps<T = Record<string, any>> = {
|
|
|
91
92
|
/** The initial value for uncontrolled multi-select. If `value` is provided, this is ignored. */
|
|
92
93
|
defaultValue?: Option<T>['id'][] | null;
|
|
93
94
|
/**
|
|
94
|
-
* The interaction handler for the Select.
|
|
95
|
+
* The interaction handler for the Select. Receives the full selected {@link Option}s (including
|
|
96
|
+
* their typed `metadata`), or `null` when nothing is selected.
|
|
95
97
|
*/
|
|
96
|
-
onChange?: (
|
|
97
|
-
} & CommonSelectProps
|
|
98
|
-
type SelectProps<T = Record<string,
|
|
98
|
+
onChange?: (options: Option<T>[] | null) => void | Promise<void>;
|
|
99
|
+
} & CommonSelectProps<T>;
|
|
100
|
+
type SelectProps<T extends Record<string, unknown> = Record<string, unknown>> = SingleSelectProps<T> | MultiSelectProps<T>;
|
|
99
101
|
/**
|
|
100
102
|
* A Select component is used to render a `select` box.
|
|
101
103
|
*
|
|
104
|
+
* The component is generic over the option `metadata` type: pass a type parameter
|
|
105
|
+
* (`<Select<MyMeta> />`) and `options` / `onChange` become typed accordingly. `onChange` receives
|
|
106
|
+
* the full selected {@link Option} (single) or `Option[]` (multiple), including typed `metadata`.
|
|
107
|
+
*
|
|
102
108
|
* <hr />
|
|
103
109
|
*
|
|
104
110
|
* To use this component, import it as follows:
|
|
@@ -106,7 +112,6 @@ type SelectProps<T = Record<string, any>> = SingleSelectProps<T> | MultiSelectPr
|
|
|
106
112
|
* ```js
|
|
107
113
|
* import { Select } from 'paris/select';
|
|
108
114
|
* ```
|
|
109
|
-
* @constructor
|
|
110
115
|
*/
|
|
111
|
-
export declare const Select:
|
|
116
|
+
export declare const Select: <T extends Record<string, unknown> = Record<string, unknown>>(props: SelectProps<T> & RefAttributes<HTMLElement>) => ReactNode;
|
|
112
117
|
export {};
|