@epam/ai-dial-ui-kit 0.13.0 → 0.14.0-dev.11
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/README.md +7 -1
- package/dist/CHANGELOG.md +56 -1
- package/dist/{JsonEditor-BSP5Z3Xw.js → JsonEditor-B-EMx5BY.js} +1 -1
- package/dist/{JsonEditor-CcU9RmZg.cjs → JsonEditor-BAWk7XXc.cjs} +1 -1
- package/dist/{MarkdownEditor-DF_jStOx.cjs → MarkdownEditor-B4VOwIVY.cjs} +1 -1
- package/dist/{MarkdownEditor-DjKuq5lz.js → MarkdownEditor-BJnJ74CN.js} +1 -1
- package/dist/{MarkdownEditor-9XU06KHN.cjs → MarkdownEditor-BkkQlx9o.cjs} +1 -1
- package/dist/{MarkdownEditor-ClquLQAD.js → MarkdownEditor-DPlMgApq.js} +1 -1
- package/dist/components-manifest.json +1434 -206
- package/dist/dial-ui-kit.cjs.js +1 -1
- package/dist/dial-ui-kit.es.js +214 -194
- package/dist/{index-Hb-5oCTq.js → index-C30-CsGh.js} +14418 -13205
- package/dist/{index-ZeU1Gm87.cjs → index-DL9rE-US.cjs} +31 -31
- package/dist/index.css +2 -2
- package/dist/migration-guides/0.14.0/button-tooltip-2-0.md +111 -0
- package/dist/migration-guides/0.14.0/control-color-token-rename.md +143 -0
- package/dist/migration-guides/0.14.0/focus-border-token-role-naming.md +87 -0
- package/dist/migration-guides/0.14.0/select-multiselect-option-row.md +99 -0
- package/dist/migration-guides/0.14.0/shadow-token-per-step-rename.md +104 -0
- package/dist/migration-guides/0.14.0/tag-single-size.md +121 -0
- package/dist/migration-guides/README.md +6 -0
- package/dist/src/components/Analytics/Card/Card.d.ts +2 -1
- package/dist/src/components/Analytics/Histogram/Histogram.d.ts +6 -4
- package/dist/src/components/Analytics/Histogram/utils.d.ts +10 -0
- package/dist/src/components/New/Button/Button.d.ts +4 -3
- package/dist/src/components/New/Calendar/constants.d.ts +5 -5
- package/dist/src/components/New/Checkbox/Checkbox.d.ts +50 -0
- package/dist/src/components/New/Checkbox/CheckboxBox.d.ts +30 -0
- package/dist/src/components/New/Checkbox/constants.d.ts +10 -0
- package/dist/src/components/New/CollapsibleSidebar/CollapsibleSidebar.d.ts +82 -0
- package/dist/src/components/New/Dropdown/constants.d.ts +3 -1
- package/dist/src/components/New/EllipsisTooltip/EllipsisTooltip.d.ts +51 -0
- package/dist/src/components/New/EllipsisTooltip/use-truncation.d.ts +21 -0
- package/dist/src/components/New/Highlight/Highlight.d.ts +1 -1
- package/dist/src/components/New/IconButton/IconButton.d.ts +4 -4
- package/dist/src/components/New/Input/Button/constants.d.ts +1 -1
- package/dist/src/components/New/Label/Label.d.ts +5 -0
- package/dist/src/components/New/Notification/Notification.d.ts +7 -0
- package/dist/src/components/New/Notification/NotificationWrapper.d.ts +2 -0
- package/dist/src/components/New/Popup/Popup.d.ts +48 -9
- package/dist/src/components/New/Popup/constants.d.ts +7 -0
- package/dist/src/components/New/Radio/Radio.d.ts +48 -0
- package/dist/src/components/New/RadioGroup/RadioGroup.d.ts +78 -0
- package/dist/src/components/New/RadioGroup/constants.d.ts +11 -0
- package/dist/src/components/New/RadioGroupPopupField/RadioGroupPopupField.d.ts +93 -0
- package/dist/src/components/New/RadioGroupPopupField/constants.d.ts +22 -0
- package/dist/src/components/New/ResizableContainer/ConditionalResizableContainer.d.ts +34 -0
- package/dist/src/components/New/ResizableContainer/ResizableContainer.d.ts +76 -0
- package/dist/src/components/New/ResizableContainer/components/ResizeHandle.d.ts +21 -0
- package/dist/src/components/New/SegmentedControl/SegmentedControl.d.ts +54 -0
- package/dist/src/components/New/SegmentedControl/constants.d.ts +16 -0
- package/dist/src/components/New/Select/constants.d.ts +2 -2
- package/dist/src/components/New/Slider/Slider.d.ts +70 -0
- package/dist/src/components/New/Tag/Tag.d.ts +26 -4
- package/dist/src/components/New/Tag/constants.d.ts +23 -0
- package/dist/src/components/New/ToggleIconButton/ToggleIconButton.d.ts +47 -0
- package/dist/src/components/New/Tooltip/Tooltip.d.ts +43 -0
- package/dist/src/components/New/Tooltip/TooltipContainer.d.ts +32 -0
- package/dist/src/components/New/Tooltip/TooltipContent.d.ts +18 -0
- package/dist/src/components/New/Tooltip/TooltipContext.d.ts +115 -0
- package/dist/src/components/New/Tooltip/TooltipTrigger.d.ts +18 -0
- package/dist/src/components/New/Tooltip/constants.d.ts +30 -0
- package/dist/src/components/New/constants/overlay.d.ts +12 -3
- package/dist/src/index.d.ts +34 -1
- package/dist/src/models/dropdown.d.ts +10 -0
- package/dist/src/types/notification.d.ts +2 -1
- package/dist/src/types/tag.d.ts +4 -0
- package/dist/src/types/tooltip.d.ts +6 -0
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.
|
|
3
|
-
"generatedAt": "2026-08-
|
|
2
|
+
"version": "0.14.0-dev.11",
|
|
3
|
+
"generatedAt": "2026-08-27T13:05:00.350Z",
|
|
4
4
|
"kit": {
|
|
5
5
|
"name": "@epam/ai-dial-ui-kit",
|
|
6
6
|
"description": "A modern UI kit for building AI DIAL interfaces with React",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"setupNotes": "## Next.js Integration\n1. Install the package and peer dependencies that are not currently in your project\n``` bash\nnpm install @epam/ai-dial-ui-kit\nnpm install react react-dom @tabler/icons-react classnames\nnpm install @floating-ui/react monaco-editor @monaco-editor/react\n```\n\n2. Import style in the root layout of the project:\n\n```tsx\n// app/layout.tsx\nimport \"@epam/ai-dial-ui-kit/styles.css\";\n```\n\n3. Usage example\n\n```tsx\n// app/page.tsx\n\"use client\";\nimport { DialPrimaryButton } from \"@epam/ai-dial-ui-kit\";\n\nexport default function Home() {\n return (\n <div className=\"w-full h-full flex flex-col gap-3 items-center justify-center\">\n <h1>Test library</h1>\n <DialPrimaryButton onClick={() => alert('Hello AI DIAL!')} />\n </div>\n );\n}\n```\nSee \"🎨 Theming & Customization\" section in README."
|
|
22
22
|
},
|
|
23
23
|
"styles": "# Typography CSS Utility Classes\n\n## Design-system-compliant classes (`dial-*-text`)\n\nUse these by default. They follow the design system type scale.\n\n| Class | Design name | Weight | Size / Line-height |\n| --------------------------------- | --------------------------- | -------- | ----------------------------------- |\n| `.dial-display1-text` | Display 1 | semibold | 32px / 48px |\n| `.dial-display2-text` | Display 2 | semibold | 28px / 40px |\n| `.dial-display3-text` | Display 3 | semibold | 22px / 32px |\n| `.dial-h1-text` | Heading 1 | semibold | 20px / 28px |\n| `.dial-h2-text` | Heading 2 | semibold | 18px / 26px |\n| `.dial-h3-text` | Heading 3 | semibold | 16px / 24px |\n| `.dial-body-text` | Body Text | normal | 16px / 24px |\n| `.dial-body-semi-text` | Body Text (Semi Bold) | semibold | 16px / 24px |\n| `.dial-body-paragraph-text` | Body Paragraph | normal | 16px / 26px |\n| `.dial-body-paragraph-semi-text` | Body Paragraph (Semi Bold) | semibold | 16px / 26px |\n| `.dial-small-text` | Small Text | normal | 14px / 20px |\n| `.dial-small-semi-text` | Small Text (Semi Bold) | semibold | 14px / 20px |\n| `.dial-small-paragraph-text` | Small Paragraph | normal | 14px / 24px |\n| `.dial-small-paragraph-semi-text` | Small Paragraph (Semi Bold) | semibold | 14px / 24px |\n| `.dial-tiny-text` | Tiny Text | normal | 12px / 16px |\n| `.dial-tiny-lead-text` | Tiny Text Lead | normal | 12px / 16px (+0.03em, uppercase) |\n| `.dial-tiny-semi-text` | Tiny Text (Semi Bold) | semibold | 12px / 16px |\n| `.dial-tiny-lead-semi-text` | Tiny Text Lead (Semi Bold) | semibold | 12px / 16px (+0.03em, uppercase) |\n| `.dial-caption-text` | Caption | normal | 10px / 12px |\n| `.dial-caption-lead-semi-text` | Caption Lead (Semi Bold) | semibold | 10px / 12px (+0.06em, uppercase) |\n| `.dial-code-text` | Code | normal | 14px / 20px (Fira Code / monospace) |\n\nThe three `*-lead-*` classes apply `text-transform: uppercase` themselves — pass them the sentence-case string, not a pre-uppercased one, so the accessible name stays readable.\n\n`.dial-code-text` resolves its family through `var(--theme-font-mono, var(--font-fira-code, 'Fira Code'))` before falling back to the system monospace stack. The kit ships no font file; the host provides the face.\n\n## Legacy classes (avoid in new code)\n\nClasses like `dial-h1`, `dial-h2`, `dial-body`, `dial-small*`, `dial-tiny*`, `dial-caption` are legacy. They can be used in legacy projects if user explicidly specify they need legacy typography.\n\n## Raw SCSS source\n",
|
|
24
|
-
"theming": "# Theming & CSS Variable Tokens\n\nAI DIAL UI Kit uses CSS custom properties (variables) for theming.\nDark and light themes are switched by setting different values for these variables on `:root` or a theme wrapper element.\n\n## Usage in Tailwind\n\nThe Tailwind config maps CSS variables to utility classes.\nUse these classes in your components:\n\n```tsx\n// Backgrounds\n<div className=\"bg-layer-0\" /> // darkest background\n<div className=\"bg-layer-1\" /> // main content area\n<div className=\"bg-layer-2\" /> // elevated panels\n\n// Text\n<span className=\"text-primary\" /> // main text color\n<span className=\"text-secondary\" /> // muted text\n<span className=\"text-error\" /> // error state\n\n// Borders\n<div className=\"border border-primary\" /> // standard border\n<div className=\"border border-error\" /> // error border\n```\n\n## Override CSS Variables\n\n```css\n:root {\n --bg-layer-0: #000000;\n --bg-layer-1: #0c101d;\n --bg-layer-2: #161b2d;\n --bg-layer-3: #1d2439;\n --text-primary: #eef1f7;\n --text-secondary: #9fa6bd;\n --text-error: #f76464;\n --stroke-primary: #696e7c;\n --controls-bg-accent-primary: #3664e2;\n /* ... see tailwind.config.js for full list */\n}\n```\n\n## Token Reference\n\n\n### backgroundsColors\n| Tailwind class suffix | CSS variable | Default value |\n|---|---|---|\n| `layer-sunken` | `var(--bg-layer-sunken)` | `#EEF1F7` |\n| `layer-base` | `var(--bg-layer-base)` | `#F5F7FA` |\n| `layer-raised` | `var(--bg-layer-raised)` | `#FCFCFC` |\n
|
|
24
|
+
"theming": "# Theming & CSS Variable Tokens\n\nAI DIAL UI Kit uses CSS custom properties (variables) for theming.\nDark and light themes are switched by setting different values for these variables on `:root` or a theme wrapper element.\n\n## Usage in Tailwind\n\nThe Tailwind config maps CSS variables to utility classes.\nUse these classes in your components:\n\n```tsx\n// Backgrounds\n<div className=\"bg-layer-0\" /> // darkest background\n<div className=\"bg-layer-1\" /> // main content area\n<div className=\"bg-layer-2\" /> // elevated panels\n\n// Text\n<span className=\"text-primary\" /> // main text color\n<span className=\"text-secondary\" /> // muted text\n<span className=\"text-error\" /> // error state\n\n// Borders\n<div className=\"border border-primary\" /> // standard border\n<div className=\"border border-error\" /> // error border\n```\n\n## Override CSS Variables\n\n```css\n:root {\n --bg-layer-0: #000000;\n --bg-layer-1: #0c101d;\n --bg-layer-2: #161b2d;\n --bg-layer-3: #1d2439;\n --text-primary: #eef1f7;\n --text-secondary: #9fa6bd;\n --text-error: #f76464;\n --stroke-primary: #696e7c;\n --controls-bg-accent-primary: #3664e2;\n /* ... see tailwind.config.js for full list */\n}\n```\n\n## Token Reference\n\n\n### backgroundsColors\n| Tailwind class suffix | CSS variable | Default value |\n|---|---|---|\n| `layer-sunken` | `var(--bg-layer-sunken)` | `#EEF1F7` |\n| `layer-base` | `var(--bg-layer-base)` | `#F5F7FA` |\n| `layer-raised` | `var(--bg-layer-raised)` | `#FCFCFC` |\n| `gradient-1` | `var(--bg-gradient-1)` | `#1D4ED8` |\n| `gradient-1-hover` | `var(--bg-gradient-1-hover)` | `#6785FB` |\n| `gradient-1-active` | `var(--bg-gradient-1-active)` | `#1D4ED8` |\n| `gradient-2` | `var(--bg-gradient-2)` | `#885DF2` |\n| `gradient-2-hover` | `var(--bg-gradient-2-hover)` | `#885DF2` |\n| `gradient-2-active` | `var(--bg-gradient-2-active)` | `#7C3AED` |\n| `control-accent-alpha` | `var(--bg-control-accent-alpha)` | `#2764D90F` |\n| `control-accent-alpha-hover` | `var(--bg-control-accent-alpha-hover)` | `#2764D924` |\n| `control-accent-alpha-active` | `var(--bg-control-accent-alpha-active)` | `#2764D933` |\n| `control-accent` | `var(--bg-control-accent)` | `#1D4ED8` |\n| `control-accent-hover` | `var(--bg-control-accent-hover)` | `#5976E9` |\n| `control-neutral` | `var(--bg-control-neutral)` | `#FCFCFC` |\n| `control-neutral-hover-strong` | `var(--bg-control-neutral-hover-strong)` | `#848E9C` |\n| `control-neutral-active` | `var(--bg-control-neutral-active)` | `#D1DBEA` |\n| `control-neutral-default` | `var(--bg-control-neutral-default)` | `#ACB3C3` |\n| `control-inverted` | `var(--bg-control-inverted)` | `#57647A` |\n| `control-error` | `var(--bg-control-error)` | `#AE2F2F` |\n| `control-error-hover` | `var(--bg-control-error-hover)` | `#BF3939` |\n| `control-error-active` | `var(--bg-control-error-active)` | `#CC4545` |\n| `control-error-alpha-hover` | `var(--bg-control-error-alpha-hover)` | `#F764641A` |\n| `control-error-alpha-active` | `var(--bg-control-error-alpha-active)` | `#F7646433` |\n| `control-disable-primary` | `var(--bg-control-disable-primary)` | `#DCE0E8` |\n| `control-disable-secondary` | `var(--bg-control-disable-secondary)` | `#ACB3C3` |\n| `green-1` | `var(--bg-visual-green-1)` | `#CDE8E5` |\n| `green-2` | `var(--bg-visual-green-2)` | `#D1F0DC` |\n| `violet-1` | `var(--bg-visual-violet-1)` | `#DDE3F9` |\n| `violet-2` | `var(--bg-visual-violet-2)` | `#F1E9FF` |\n\n### shadowColors\n| Tailwind class suffix | CSS variable | Default value |\n|---|---|---|\n| `xs-sm-1` | `var(--shadow-xs-sm-1)` | `#2764D933` |\n| `xs-sm-2` | `var(--shadow-xs-sm-2)` | `#161B2D08` |\n\n### borderColors\n| Tailwind class suffix | CSS variable | Default value |\n|---|---|---|\n| `accent-alpha` | `var(--stroke-accent-alpha)` | `#2764D933` |\n| `gradient-1` | `var(--stroke-gradient-1)` | `#5976E9` |\n| `gradient-2` | `var(--stroke-gradient-2)` | `#885DF2` |\n| `accent-focus` | `var(--stroke-accent-focus)` | `#6785FB` |\n| `error-alpha` | `var(--stroke-error-alpha)` | `#AE2F2F73` |\n| `control-disable-primary` | `var(--stroke-control-disable-primary)` | `#848E9C` |\n\n### textColors\n| Tailwind class suffix | CSS variable | Default value |\n|---|---|---|\n| `warning-icon` | `var(--text-warning-icon)` | `#EEC840` |\n| `green-1` | `var(--text-visual-green-1)` | `#059669` |\n| `green-2` | `var(--text-visual-green-2)` | `#0D6E72` |\n| `green-3` | `var(--text-visual-green-3)` | `#065F46` |\n| `brown-1` | `var(--text-visual-brown-1)` | `#D36817` |\n| `brown-2` | `var(--text-visual-brown-2)` | `#B45309` |\n| `violet-1` | `var(--text-visual-violet-1)` | `#7C3AED` |\n| `violet-2` | `var(--text-visual-violet-2)` | `#3730B7` |\n| `control-permanent` | `var(--text-control-permanent)` | `#FCFCFC` |\n| `control-inverted` | `var(--text-control-inverted)` | `#FCFCFC` |\n| `control-disable-primary` | `var(--text-control-disable-primary)` | `#848E9C` |\n| `control-disable-secondary` | `var(--text-control-disable-secondary)` | `#DCE0E8` |\n| `control-accent-hover` | `var(--text-control-accent-hover)` | `#5976E9` |\n| `control-accent-active` | `var(--text-control-accent-active)` | `#6785FB` |\n\n### backgroundsColorsToRemove\n| Tailwind class suffix | CSS variable | Default value |\n|---|---|---|\n| `layer-0` | `var(--bg-layer-0)` | `#FCFCFC` |\n| `layer-1` | `var(--bg-layer-1)` | `#E0E6F0` |\n| `layer-2` | `var(--bg-layer-2)` | `#EEF1F7` |\n| `layer-3` | `var(--bg-layer-3)` | `#FCFCFC` |\n| `layer-4` | `var(--bg-layer-4)` | `#D1DBEA` |\n| `accent-primary-alpha` | `var(--bg-accent-primary-alpha)` | `#7DA4FF26` |\n| `accent-secondary-alpha` | `var(--bg-accent-secondary-alpha)` | `#37BABC2E` |\n| `accent-tertiary-alpha` | `var(--bg-accent-tertiary-alpha)` | `#A972FF2E` |\n| `accent-primary` | `var(--bg-accent-primary)` | `#5C8DEA` |\n| `accent-secondary` | `var(--bg-accent-secondary)` | `#37BABC` |\n| `red-400` | `var(--bg-red-400)` | `#F76464` |\n| `controls-accent-primary` | `var(--controls-bg-accent-primary)` | `#124ACE` |\n| `controls-accent-primary-hover` | `var(--controls-bg-accent-primary-hover)` | `#2656D9` |\n| `controls-accent-primary-active` | `var(--controls-bg-accent-primary-active)` | `#3664E2` |\n| `controls-accent-primary-alpha-active` | `var(--controls-bg-accent-primary-alpha-active)` | `#7DA4FF5C` |\n| `controls-accent-secondary-alpha-active` | `var(--controls-bg-accent-secondary-alpha-active)` | `#37BABC5C` |\n| `controls-accent-tertiary-alpha-active` | `var(--controls-bg-accent-tertiary-alpha-active)` | `#A972FF5C` |\n| `controls-error` | `var(--controls-bg-error)` | `#AE2F2F` |\n| `controls-error-hover` | `var(--controls-bg-error-hover)` | `#BF3939` |\n| `controls-error-active` | `var(--controls-bg-error-active)` | `#CC4545` |\n| `controls-error-alpha-active` | `var(--controls-bg-error-alpha-active)` | `#F764645C` |\n| `controls-disable-accent` | `var(--controls-bg-disable-accent)` | `#7C8293` |\n| `controls-disable` | `var(--controls-bg-disable)` | `#D1DBEA` |\n| `controls-neutral-hover` | `var(--controls-bg-neutral-hover)` | `#D1DBEA` |\n| `controls-neutral-active` | `var(--controls-bg-neutral-active)` | `#9FA6BD` |\n| `controls-accent-success-alpha-hover` | `var(--controls-bg-accent-success-alpha-hover)` | `#37BABC2E` |\n| `controls-accent-success-alpha-active` | `var(--controls-bg-accent-success-alpha-active)` | `#37BABC5C` |\n| `controls-enable-primary` | `var(--controls-enable-primary)` | `#FCFCFC` |\n\n### borderColorsToRemove\n| Tailwind class suffix | CSS variable | Default value |\n|---|---|---|\n| `accent-primary` | `var(--stroke-accent-primary)` | `#124ACE` |\n| `accent-secondary` | `var(--stroke-accent-secondary)` | `#007274` |\n| `controls-accent` | `var(--controls-bg-accent)` | `#5C8DEA` |\n| `red-900` | `var(--red-900)` | `#402027` |\n\n### textColorsToRemove\n| Tailwind class suffix | CSS variable | Default value |\n|---|---|---|\n| `accent-primary` | `var(--text-accent-primary)` | `#7DA4FF` |\n| `accent-secondary` | `var(--text-accent-secondary)` | `#37BABC` |\n| `accent-tertiary` | `var(--text-accent-tertiary)` | `#A972FF` |\n| `controls-permanent` | `var(--controls-text-permanent)` | `#FCFCFC` |\n| `controls-accent-disable` | `var(--controls-text-accent-disable)` | `#D1DBEA` |\n| `controls-primary-disable` | `var(--controls-text-primary-disable)` | `#696E7C` |\n| `controls-secondary-disable` | `var(--controls-text-secondary-disable)` | `#9FA6BD` |\n| `controls-neutral` | `var(--controls-text-neutral)` | `#161B2D` |\n| `controls-accent-primary-hover` | `var(--controls-text-accent-primary-hover)` | `#3664E2` |\n| `controls-accent-primary-active` | `var(--controls-text-accent-primary-active)` | `#7DA4FF` |",
|
|
25
25
|
"components": [
|
|
26
26
|
{
|
|
27
27
|
"name": "Spinner",
|
|
@@ -251,7 +251,7 @@
|
|
|
251
251
|
}
|
|
252
252
|
],
|
|
253
253
|
"examples": [
|
|
254
|
-
"<Notification\n variant={NotificationVariant.Info}\n message=\"This is an info alert.\"\n/>\n\n<Notification\n variant={NotificationVariant.Success}\n title=\"Saved\"\n message=\"Changes saved successfully.\"\n/>\n\n<Notification\n variant={NotificationVariant.Error}\n closable\n message=\"Something went wrong.\"\n onClose={(e) => console.log('closed', e)}\n/>\n\n<Notification\n variant={NotificationVariant.Loading}\n title=\"Processing\"\n message=\"Please wait...\"\n/>"
|
|
254
|
+
"<Notification\n variant={NotificationVariant.Info}\n message=\"This is an info alert.\"\n/>\n\n<Notification\n variant={NotificationVariant.Success}\n title=\"Saved\"\n message=\"Changes saved successfully.\"\n/>\n\n<Notification\n variant={NotificationVariant.Error}\n closable\n message=\"Something went wrong.\"\n onClose={(e) => console.log('closed', e)}\n/>\n\n<Notification\n variant={NotificationVariant.Loading}\n title=\"Processing\"\n message=\"Please wait...\"\n/>\n\n<Notification\n variant={NotificationVariant.General}\n type={NotificationType.SectionMessage}\n title=\"Title\"\n message=\"Description text example\"\n/>"
|
|
255
255
|
],
|
|
256
256
|
"sourceFile": "components/New/Notification/Notification.tsx"
|
|
257
257
|
},
|
|
@@ -318,6 +318,24 @@
|
|
|
318
318
|
"examples": [],
|
|
319
319
|
"sourceFile": "components/New/Notification/NotificationWrapper.tsx"
|
|
320
320
|
},
|
|
321
|
+
{
|
|
322
|
+
"name": "GeneralMessageNotification",
|
|
323
|
+
"category": "Components_2_0",
|
|
324
|
+
"generation": "2.0",
|
|
325
|
+
"description": "",
|
|
326
|
+
"props": [],
|
|
327
|
+
"examples": [],
|
|
328
|
+
"sourceFile": "components/New/Notification/NotificationWrapper.tsx"
|
|
329
|
+
},
|
|
330
|
+
{
|
|
331
|
+
"name": "GeneralToastNotification",
|
|
332
|
+
"category": "Components_2_0",
|
|
333
|
+
"generation": "2.0",
|
|
334
|
+
"description": "",
|
|
335
|
+
"props": [],
|
|
336
|
+
"examples": [],
|
|
337
|
+
"sourceFile": "components/New/Notification/NotificationWrapper.tsx"
|
|
338
|
+
},
|
|
321
339
|
{
|
|
322
340
|
"name": "InfoMessageNotification",
|
|
323
341
|
"category": "Components_2_0",
|
|
@@ -703,8 +721,9 @@
|
|
|
703
721
|
},
|
|
704
722
|
{
|
|
705
723
|
"name": "tooltipProps",
|
|
706
|
-
"type": "
|
|
707
|
-
"required": false
|
|
724
|
+
"type": "ButtonTooltipProps",
|
|
725
|
+
"required": false,
|
|
726
|
+
"description": "Props of the 2.0 wrapping the button"
|
|
708
727
|
},
|
|
709
728
|
{
|
|
710
729
|
"name": "href",
|
|
@@ -765,8 +784,9 @@
|
|
|
765
784
|
},
|
|
766
785
|
{
|
|
767
786
|
"name": "tooltipProps",
|
|
768
|
-
"type": "
|
|
769
|
-
"required": false
|
|
787
|
+
"type": "IconButtonTooltipProps",
|
|
788
|
+
"required": false,
|
|
789
|
+
"description": "Props of the 2.0 wrapping the button"
|
|
770
790
|
}
|
|
771
791
|
],
|
|
772
792
|
"examples": [
|
|
@@ -1301,6 +1321,12 @@
|
|
|
1301
1321
|
"required": false,
|
|
1302
1322
|
"defaultValue": "ElementSize.Small",
|
|
1303
1323
|
"description": "The size of the label, which can be 'small', 'medium', or 'large'."
|
|
1324
|
+
},
|
|
1325
|
+
{
|
|
1326
|
+
"name": "containerClassName",
|
|
1327
|
+
"type": "string",
|
|
1328
|
+
"required": false,
|
|
1329
|
+
"description": "Additional classes for the wrapper holding the\n`<label>` and its info button. Needed when the label is a flex item that has\nto shrink: a wrapper left at `min-width: auto` cannot, so its text overflows\ninstead of truncating."
|
|
1304
1330
|
}
|
|
1305
1331
|
],
|
|
1306
1332
|
"examples": [
|
|
@@ -1526,7 +1552,7 @@
|
|
|
1526
1552
|
"name": "Popup",
|
|
1527
1553
|
"category": "Components_2_0",
|
|
1528
1554
|
"generation": "2.0",
|
|
1529
|
-
"description": "An accessible modal dialog using Floating UI.\naliases: Modal|Dialog\nDesign system 2.0\n\nRenders in a portal with a scrim overlay, focus management, a header with the\ntitle and close control, a scrollable body and an optional footer. Sections\nare separated by spacing rather than rules;
|
|
1555
|
+
"description": "An accessible modal dialog using Floating UI.\naliases: Modal|Dialog\nDesign system 2.0\n\nRenders in a portal with a scrim overlay, focus management, a header with the\ntitle and close control, a scrollable body and an optional footer. Sections\nare separated by spacing rather than rules; opt into a rule with\n`headerDivider` / `footerDivider`.\n\nThe header grows from the title alone: `onBack` prepends a back control,\n`headerActions` sits between the title and the close button.\n\nThe footer is declared as data, not markup: `mainButtons` and\n`additionalButtons` take and the popup renders the\ns itself, so spacing, order and the neutral default are the\nsame on every dialog. `additionalButtonsOnLeft` moves the secondary group to\nthe opposite edge. A `footer` node still wins over both, for the rare surface\nthat needs something other than a row of buttons.\n\nA string `header` names the dialog automatically. A `header` node cannot —\npass `ariaLabel` in that case, or the dialog opens unnamed.",
|
|
1530
1556
|
"props": [
|
|
1531
1557
|
{
|
|
1532
1558
|
"name": "open",
|
|
@@ -1593,7 +1619,13 @@
|
|
|
1593
1619
|
"name": "footer",
|
|
1594
1620
|
"type": "ReactNode",
|
|
1595
1621
|
"required": false,
|
|
1596
|
-
"description": "
|
|
1622
|
+
"description": "Custom footer node; overrides `mainButtons` and `additionalButtons`"
|
|
1623
|
+
},
|
|
1624
|
+
{
|
|
1625
|
+
"name": "footerClassName",
|
|
1626
|
+
"type": "string",
|
|
1627
|
+
"required": false,
|
|
1628
|
+
"description": "Additional CSS classes applied to the built-in footer container"
|
|
1597
1629
|
},
|
|
1598
1630
|
{
|
|
1599
1631
|
"name": "onClose",
|
|
@@ -1601,6 +1633,58 @@
|
|
|
1601
1633
|
"required": false,
|
|
1602
1634
|
"description": "Callback fired when the popup requests to close"
|
|
1603
1635
|
},
|
|
1636
|
+
{
|
|
1637
|
+
"name": "onBack",
|
|
1638
|
+
"type": "(e: MouseEvent<HTMLButtonElement>) => void",
|
|
1639
|
+
"required": false,
|
|
1640
|
+
"description": "Callback for the header back button; the button renders only when set"
|
|
1641
|
+
},
|
|
1642
|
+
{
|
|
1643
|
+
"name": "backAriaLabel",
|
|
1644
|
+
"type": "string",
|
|
1645
|
+
"required": false,
|
|
1646
|
+
"defaultValue": "'Back'",
|
|
1647
|
+
"description": "Accessible name of the back button"
|
|
1648
|
+
},
|
|
1649
|
+
{
|
|
1650
|
+
"name": "headerActions",
|
|
1651
|
+
"type": "ReactNode",
|
|
1652
|
+
"required": false,
|
|
1653
|
+
"description": "Controls rendered between the title and the close button"
|
|
1654
|
+
},
|
|
1655
|
+
{
|
|
1656
|
+
"name": "headerDivider",
|
|
1657
|
+
"type": "boolean",
|
|
1658
|
+
"required": false,
|
|
1659
|
+
"defaultValue": "false",
|
|
1660
|
+
"description": "Whether a rule is drawn under the header"
|
|
1661
|
+
},
|
|
1662
|
+
{
|
|
1663
|
+
"name": "mainButtons",
|
|
1664
|
+
"type": "ButtonProps[]",
|
|
1665
|
+
"required": false,
|
|
1666
|
+
"description": "Primary footer buttons, aligned to the trailing edge; each defaults to `ButtonVariant.Neutral`"
|
|
1667
|
+
},
|
|
1668
|
+
{
|
|
1669
|
+
"name": "additionalButtons",
|
|
1670
|
+
"type": "ButtonProps[]",
|
|
1671
|
+
"required": false,
|
|
1672
|
+
"description": "Secondary footer buttons, next to `mainButtons` unless moved left"
|
|
1673
|
+
},
|
|
1674
|
+
{
|
|
1675
|
+
"name": "additionalButtonsOnLeft",
|
|
1676
|
+
"type": "boolean",
|
|
1677
|
+
"required": false,
|
|
1678
|
+
"defaultValue": "false",
|
|
1679
|
+
"description": "Whether `additionalButtons` sit on the leading edge"
|
|
1680
|
+
},
|
|
1681
|
+
{
|
|
1682
|
+
"name": "footerDivider",
|
|
1683
|
+
"type": "boolean",
|
|
1684
|
+
"required": false,
|
|
1685
|
+
"defaultValue": "false",
|
|
1686
|
+
"description": "Whether a rule is drawn above the footer"
|
|
1687
|
+
},
|
|
1604
1688
|
{
|
|
1605
1689
|
"name": "size",
|
|
1606
1690
|
"type": "PopupSize",
|
|
@@ -1638,7 +1722,7 @@
|
|
|
1638
1722
|
}
|
|
1639
1723
|
],
|
|
1640
1724
|
"examples": [
|
|
1641
|
-
"<Popup\n open\n header=\"Title\"\n size={PopupSize.Md}\n
|
|
1725
|
+
"<Popup\n open\n header=\"Title\"\n size={PopupSize.Md}\n onBack={() => setStep(step - 1)}\n headerActions={<InfoButton caption=\"What is this?\" />}\n additionalButtonsOnLeft\n additionalButtons={[\n {\n label: 'Back',\n variant: ButtonVariant.Primary,\n appearance: ButtonAppearance.Link,\n iconBefore: <IconArrowLeft />,\n onClick: goBack,\n },\n ]}\n mainButtons={[\n { label: 'Cancel', onClick: () => setOpen(false) },\n { label: 'Confirm', variant: ButtonVariant.Primary, onClick: submit },\n ]}\n onClose={() => setOpen(false)}\n>\n <div className=\"px-6 py-4\">Dialog content goes here…</div>\n</Popup>"
|
|
1642
1726
|
],
|
|
1643
1727
|
"sourceFile": "components/New/Popup/Popup.tsx"
|
|
1644
1728
|
},
|
|
@@ -2095,359 +2179,1355 @@
|
|
|
2095
2179
|
"sourceFile": "components/New/Switch/Switch.tsx"
|
|
2096
2180
|
},
|
|
2097
2181
|
{
|
|
2098
|
-
"name": "
|
|
2182
|
+
"name": "Radio",
|
|
2099
2183
|
"category": "Components_2_0",
|
|
2100
2184
|
"generation": "2.0",
|
|
2101
|
-
"description": "A
|
|
2185
|
+
"description": "A radio button from the 2.0 design system.\naliases: RadioButton|ChoiceOption|RadioInput\nDesign system 2.0",
|
|
2102
2186
|
"props": [
|
|
2103
2187
|
{
|
|
2104
|
-
"name": "
|
|
2105
|
-
"type": "
|
|
2188
|
+
"name": "name",
|
|
2189
|
+
"type": "string",
|
|
2106
2190
|
"required": true,
|
|
2107
|
-
"description": "
|
|
2191
|
+
"description": "The group this radio belongs to; radios sharing it are mutually exclusive"
|
|
2108
2192
|
},
|
|
2109
2193
|
{
|
|
2110
|
-
"name": "
|
|
2194
|
+
"name": "value",
|
|
2111
2195
|
"type": "string",
|
|
2112
2196
|
"required": true,
|
|
2113
|
-
"description": "
|
|
2197
|
+
"description": "The value reported to `onChange` when this radio is selected"
|
|
2114
2198
|
},
|
|
2115
2199
|
{
|
|
2116
|
-
"name": "
|
|
2117
|
-
"type": "
|
|
2118
|
-
"required":
|
|
2119
|
-
"description": "
|
|
2200
|
+
"name": "labelProps",
|
|
2201
|
+
"type": "LabelProps",
|
|
2202
|
+
"required": false,
|
|
2203
|
+
"description": "Props of the rendered next to the control"
|
|
2120
2204
|
},
|
|
2121
2205
|
{
|
|
2122
|
-
"name": "
|
|
2123
|
-
"type": "
|
|
2206
|
+
"name": "isSelected",
|
|
2207
|
+
"type": "boolean",
|
|
2124
2208
|
"required": false,
|
|
2125
|
-
"
|
|
2209
|
+
"defaultValue": "false",
|
|
2210
|
+
"description": "Whether this radio is the selected one of its group"
|
|
2126
2211
|
},
|
|
2127
2212
|
{
|
|
2128
|
-
"name": "
|
|
2129
|
-
"type": "
|
|
2213
|
+
"name": "disabled",
|
|
2214
|
+
"type": "boolean",
|
|
2130
2215
|
"required": false,
|
|
2131
|
-
"description": "
|
|
2216
|
+
"description": "Whether the radio is disabled"
|
|
2132
2217
|
},
|
|
2133
2218
|
{
|
|
2134
|
-
"name": "
|
|
2219
|
+
"name": "onChange",
|
|
2220
|
+
"type": "(value: string) => void",
|
|
2221
|
+
"required": false,
|
|
2222
|
+
"description": "Callback fired with `value` when this radio becomes selected"
|
|
2223
|
+
},
|
|
2224
|
+
{
|
|
2225
|
+
"name": "caption",
|
|
2135
2226
|
"type": "string",
|
|
2136
2227
|
"required": false,
|
|
2137
|
-
"description": "
|
|
2228
|
+
"description": "Caption text rendered below the label, and described by the radio"
|
|
2138
2229
|
}
|
|
2139
2230
|
],
|
|
2140
2231
|
"examples": [
|
|
2141
|
-
"<
|
|
2232
|
+
"<Radio\n name=\"plan\"\n value=\"pro\"\n labelProps={{ label: 'Pro' }}\n isSelected={plan === 'pro'}\n onChange={setPlan}\n/>"
|
|
2142
2233
|
],
|
|
2143
|
-
"sourceFile": "components/New/
|
|
2234
|
+
"sourceFile": "components/New/Radio/Radio.tsx"
|
|
2144
2235
|
},
|
|
2145
2236
|
{
|
|
2146
|
-
"name": "
|
|
2237
|
+
"name": "RadioGroup",
|
|
2147
2238
|
"category": "Components_2_0",
|
|
2148
2239
|
"generation": "2.0",
|
|
2149
|
-
"description": "A
|
|
2240
|
+
"description": "A set of mutually exclusive options with one group label.\naliases: SelectionGroup|OptionGroup|RadioList\nDesign system 2.0",
|
|
2150
2241
|
"props": [
|
|
2151
2242
|
{
|
|
2152
|
-
"name": "
|
|
2153
|
-
"type": "
|
|
2154
|
-
"required": false,
|
|
2155
|
-
"description": "Props of the naming the field, rendered above the area."
|
|
2156
|
-
},
|
|
2157
|
-
{
|
|
2158
|
-
"name": "label",
|
|
2159
|
-
"type": "ReactNode",
|
|
2243
|
+
"name": "items",
|
|
2244
|
+
"type": "RadioGroupItem[]",
|
|
2160
2245
|
"required": true,
|
|
2161
|
-
"description": "
|
|
2246
|
+
"description": "Options to render; each needs a unique `value` and may carry a `label`, `caption`, `content` and `disabled` flag"
|
|
2162
2247
|
},
|
|
2163
2248
|
{
|
|
2164
|
-
"name": "
|
|
2165
|
-
"type": "
|
|
2249
|
+
"name": "value",
|
|
2250
|
+
"type": "string",
|
|
2166
2251
|
"required": false,
|
|
2167
|
-
"description": "
|
|
2252
|
+
"description": "The `value` of the selected option"
|
|
2168
2253
|
},
|
|
2169
2254
|
{
|
|
2170
2255
|
"name": "onChange",
|
|
2171
|
-
"type": "(
|
|
2256
|
+
"type": "(value: string) => void",
|
|
2172
2257
|
"required": true,
|
|
2173
|
-
"description": "
|
|
2258
|
+
"description": "Callback fired with the newly selected `value`"
|
|
2174
2259
|
},
|
|
2175
2260
|
{
|
|
2176
|
-
"name": "
|
|
2177
|
-
"type": "
|
|
2261
|
+
"name": "name",
|
|
2262
|
+
"type": "string",
|
|
2178
2263
|
"required": false,
|
|
2179
|
-
"description": "
|
|
2264
|
+
"description": "The `name` shared by the underlying radios; defaults to the group id"
|
|
2180
2265
|
},
|
|
2181
2266
|
{
|
|
2182
|
-
"name": "
|
|
2267
|
+
"name": "id",
|
|
2183
2268
|
"type": "string",
|
|
2184
2269
|
"required": false,
|
|
2185
|
-
"description": "
|
|
2270
|
+
"description": "Base id for the group; option ids are derived from it"
|
|
2186
2271
|
},
|
|
2187
2272
|
{
|
|
2188
|
-
"name": "
|
|
2189
|
-
"type": "
|
|
2273
|
+
"name": "orientation",
|
|
2274
|
+
"type": "RadioGroupOrientation",
|
|
2190
2275
|
"required": false,
|
|
2191
|
-
"defaultValue": "
|
|
2192
|
-
"description": "Whether
|
|
2276
|
+
"defaultValue": "RadioGroupOrientation.Column",
|
|
2277
|
+
"description": "Whether the options stack or sit in a row"
|
|
2278
|
+
},
|
|
2279
|
+
{
|
|
2280
|
+
"name": "labelProps",
|
|
2281
|
+
"type": "LabelProps",
|
|
2282
|
+
"required": false,
|
|
2283
|
+
"description": "Props of the rendered above the options"
|
|
2193
2284
|
},
|
|
2194
2285
|
{
|
|
2195
2286
|
"name": "disabled",
|
|
2196
2287
|
"type": "boolean",
|
|
2197
2288
|
"required": false,
|
|
2198
|
-
"
|
|
2199
|
-
"description": "Disables picking and dropping."
|
|
2289
|
+
"description": "Disables every option"
|
|
2200
2290
|
},
|
|
2201
2291
|
{
|
|
2202
|
-
"name": "
|
|
2292
|
+
"name": "error",
|
|
2203
2293
|
"type": "string",
|
|
2204
2294
|
"required": false,
|
|
2205
|
-
"description": "Error message rendered below the
|
|
2295
|
+
"description": "Error message rendered below the options"
|
|
2206
2296
|
},
|
|
2207
2297
|
{
|
|
2208
|
-
"name": "
|
|
2209
|
-
"type": "
|
|
2298
|
+
"name": "caption",
|
|
2299
|
+
"type": "string",
|
|
2210
2300
|
"required": false,
|
|
2211
|
-
"description": "
|
|
2301
|
+
"description": "Helper text rendered below the options when there is no `error`"
|
|
2212
2302
|
},
|
|
2213
2303
|
{
|
|
2214
|
-
"name": "
|
|
2304
|
+
"name": "ariaLabel",
|
|
2215
2305
|
"type": "string",
|
|
2216
2306
|
"required": false,
|
|
2217
|
-
"description": "
|
|
2307
|
+
"description": "Names the group when there is no string `labelProps.label`"
|
|
2218
2308
|
},
|
|
2219
2309
|
{
|
|
2220
|
-
"name": "
|
|
2310
|
+
"name": "className",
|
|
2221
2311
|
"type": "string",
|
|
2222
2312
|
"required": false,
|
|
2223
|
-
"description": "
|
|
2313
|
+
"description": "Additional classes for the outer container"
|
|
2224
2314
|
},
|
|
2225
2315
|
{
|
|
2226
|
-
"name": "
|
|
2316
|
+
"name": "optionsClassName",
|
|
2227
2317
|
"type": "string",
|
|
2228
2318
|
"required": false,
|
|
2229
|
-
"description": "Additional
|
|
2319
|
+
"description": "Additional classes for the options wrapper"
|
|
2320
|
+
},
|
|
2321
|
+
{
|
|
2322
|
+
"name": "radioClassName",
|
|
2323
|
+
"type": "string",
|
|
2324
|
+
"required": false,
|
|
2325
|
+
"description": "Additional classes for every option's control row"
|
|
2326
|
+
},
|
|
2327
|
+
{
|
|
2328
|
+
"name": "contentClassName",
|
|
2329
|
+
"type": "string",
|
|
2330
|
+
"required": false,
|
|
2331
|
+
"description": "Additional classes for the selected option's content"
|
|
2230
2332
|
}
|
|
2231
2333
|
],
|
|
2232
2334
|
"examples": [
|
|
2233
|
-
"<
|
|
2335
|
+
"<RadioGroup\n labelProps={{ label: 'Delivery' }}\n value={delivery}\n onChange={setDelivery}\n items={[\n { value: 'pickup', label: 'Pickup', caption: 'Free, ready today' },\n { value: 'courier', label: 'Courier', content: <AddressForm /> },\n ]}\n/>"
|
|
2234
2336
|
],
|
|
2235
|
-
"sourceFile": "components/New/
|
|
2337
|
+
"sourceFile": "components/New/RadioGroup/RadioGroup.tsx"
|
|
2236
2338
|
},
|
|
2237
2339
|
{
|
|
2238
|
-
"name": "
|
|
2340
|
+
"name": "RadioGroupPopupField",
|
|
2239
2341
|
"category": "Components_2_0",
|
|
2240
2342
|
"generation": "2.0",
|
|
2241
|
-
"description": "A
|
|
2343
|
+
"description": "A field whose value is picked from a inside a .\naliases: PopupRadio|ChoicePopup|RadioPopupField\nDesign system 2.0",
|
|
2242
2344
|
"props": [
|
|
2243
2345
|
{
|
|
2244
|
-
"name": "
|
|
2245
|
-
"type": "
|
|
2346
|
+
"name": "items",
|
|
2347
|
+
"type": "RadioGroupItem[]",
|
|
2246
2348
|
"required": true,
|
|
2247
|
-
"description": "
|
|
2349
|
+
"description": "Options offered inside the popup"
|
|
2248
2350
|
},
|
|
2249
2351
|
{
|
|
2250
|
-
"name": "
|
|
2352
|
+
"name": "value",
|
|
2353
|
+
"type": "string",
|
|
2354
|
+
"required": false,
|
|
2355
|
+
"description": "The committed value, shown in the collapsed field"
|
|
2356
|
+
},
|
|
2357
|
+
{
|
|
2358
|
+
"name": "customValue",
|
|
2359
|
+
"type": "string",
|
|
2360
|
+
"required": false,
|
|
2361
|
+
"description": "Text shown in the field in place of the selected option's label"
|
|
2362
|
+
},
|
|
2363
|
+
{
|
|
2364
|
+
"name": "header",
|
|
2251
2365
|
"type": "ReactNode",
|
|
2366
|
+
"required": true,
|
|
2367
|
+
"description": "Title of the popup"
|
|
2368
|
+
},
|
|
2369
|
+
{
|
|
2370
|
+
"name": "onApply",
|
|
2371
|
+
"type": "(value?: string) => void",
|
|
2372
|
+
"required": true,
|
|
2373
|
+
"description": "Callback fired with the selected value when Apply is clicked"
|
|
2374
|
+
},
|
|
2375
|
+
{
|
|
2376
|
+
"name": "id",
|
|
2377
|
+
"type": "string",
|
|
2252
2378
|
"required": false,
|
|
2253
|
-
"description": "
|
|
2379
|
+
"description": "Base id for the field; the label and the options derive theirs from it"
|
|
2380
|
+
},
|
|
2381
|
+
{
|
|
2382
|
+
"name": "labelProps",
|
|
2383
|
+
"type": "LabelProps",
|
|
2384
|
+
"required": false,
|
|
2385
|
+
"description": "Props of the rendered above the field"
|
|
2386
|
+
},
|
|
2387
|
+
{
|
|
2388
|
+
"name": "placeholder",
|
|
2389
|
+
"type": "string",
|
|
2390
|
+
"required": false,
|
|
2391
|
+
"description": "Text shown in the field while no value is selected"
|
|
2392
|
+
},
|
|
2393
|
+
{
|
|
2394
|
+
"name": "selectedValue",
|
|
2395
|
+
"type": "string",
|
|
2396
|
+
"required": false,
|
|
2397
|
+
"description": "Controlled draft selection inside the popup"
|
|
2398
|
+
},
|
|
2399
|
+
{
|
|
2400
|
+
"name": "onSelectionChange",
|
|
2401
|
+
"type": "(value: string) => void",
|
|
2402
|
+
"required": false,
|
|
2403
|
+
"description": "Callback fired when the draft selection changes"
|
|
2404
|
+
},
|
|
2405
|
+
{
|
|
2406
|
+
"name": "onCancel",
|
|
2407
|
+
"type": "() => void",
|
|
2408
|
+
"required": false,
|
|
2409
|
+
"description": "Callback fired when Cancel is clicked, before the popup closes"
|
|
2410
|
+
},
|
|
2411
|
+
{
|
|
2412
|
+
"name": "onClose",
|
|
2413
|
+
"type": "() => void",
|
|
2414
|
+
"required": false,
|
|
2415
|
+
"description": "Callback fired whenever the popup closes"
|
|
2416
|
+
},
|
|
2417
|
+
{
|
|
2418
|
+
"name": "isValid",
|
|
2419
|
+
"type": "boolean",
|
|
2420
|
+
"required": false,
|
|
2421
|
+
"defaultValue": "true",
|
|
2422
|
+
"description": "Whether Apply is enabled"
|
|
2423
|
+
},
|
|
2424
|
+
{
|
|
2425
|
+
"name": "applyButtonLabel",
|
|
2426
|
+
"type": "string",
|
|
2427
|
+
"required": false,
|
|
2428
|
+
"defaultValue": "defaultApplyLabel",
|
|
2429
|
+
"description": "Label of the Apply button"
|
|
2430
|
+
},
|
|
2431
|
+
{
|
|
2432
|
+
"name": "cancelButtonLabel",
|
|
2433
|
+
"type": "string",
|
|
2434
|
+
"required": false,
|
|
2435
|
+
"defaultValue": "defaultCancelLabel",
|
|
2436
|
+
"description": "Label of the Cancel button"
|
|
2254
2437
|
},
|
|
2255
2438
|
{
|
|
2256
2439
|
"name": "size",
|
|
2257
|
-
"type": "
|
|
2440
|
+
"type": "PopupSize",
|
|
2441
|
+
"required": false,
|
|
2442
|
+
"defaultValue": "PopupSize.Md",
|
|
2443
|
+
"description": "Size of the popup"
|
|
2444
|
+
},
|
|
2445
|
+
{
|
|
2446
|
+
"name": "portalId",
|
|
2447
|
+
"type": "string",
|
|
2448
|
+
"required": false,
|
|
2449
|
+
"description": "Portal container id for the popup"
|
|
2450
|
+
},
|
|
2451
|
+
{
|
|
2452
|
+
"name": "disabled",
|
|
2453
|
+
"type": "boolean",
|
|
2454
|
+
"required": false,
|
|
2455
|
+
"description": "Disables the field, so the popup cannot be opened"
|
|
2456
|
+
},
|
|
2457
|
+
{
|
|
2458
|
+
"name": "invalid",
|
|
2459
|
+
"type": "boolean",
|
|
2460
|
+
"required": false,
|
|
2461
|
+
"description": "Paints the field with the error border"
|
|
2462
|
+
},
|
|
2463
|
+
{
|
|
2464
|
+
"name": "error",
|
|
2465
|
+
"type": "string",
|
|
2466
|
+
"required": false,
|
|
2467
|
+
"description": "Error message rendered below the field"
|
|
2468
|
+
},
|
|
2469
|
+
{
|
|
2470
|
+
"name": "caption",
|
|
2471
|
+
"type": "string",
|
|
2472
|
+
"required": false,
|
|
2473
|
+
"description": "Helper text rendered below the field when there is no `error`"
|
|
2474
|
+
},
|
|
2475
|
+
{
|
|
2476
|
+
"name": "ariaLabel",
|
|
2477
|
+
"type": "string",
|
|
2478
|
+
"required": false,
|
|
2479
|
+
"description": "Names the field when there is no string `labelProps.label`"
|
|
2480
|
+
},
|
|
2481
|
+
{
|
|
2482
|
+
"name": "className",
|
|
2483
|
+
"type": "string",
|
|
2484
|
+
"required": false,
|
|
2485
|
+
"description": "Additional classes for the outer container"
|
|
2486
|
+
},
|
|
2487
|
+
{
|
|
2488
|
+
"name": "fieldClassName",
|
|
2489
|
+
"type": "string",
|
|
2490
|
+
"required": false,
|
|
2491
|
+
"description": "Additional classes for the collapsed field"
|
|
2492
|
+
}
|
|
2493
|
+
],
|
|
2494
|
+
"examples": [
|
|
2495
|
+
"<RadioGroupPopupField\n labelProps={{ label: 'Status' }}\n header=\"Select status\"\n placeholder=\"None\"\n items={[\n { value: 'draft', label: 'Draft' },\n { value: 'published', label: 'Published' },\n ]}\n value={status}\n onApply={(next) => setStatus(next)}\n/>"
|
|
2496
|
+
],
|
|
2497
|
+
"sourceFile": "components/New/RadioGroupPopupField/RadioGroupPopupField.tsx"
|
|
2498
|
+
},
|
|
2499
|
+
{
|
|
2500
|
+
"name": "Checkbox",
|
|
2501
|
+
"category": "Components_2_0",
|
|
2502
|
+
"generation": "2.0",
|
|
2503
|
+
"description": "A checkbox from the 2.0 design system.\naliases: ToggleCheckbox|MultiSelectOption|TriStateCheckbox\nDesign system 2.0",
|
|
2504
|
+
"props": [
|
|
2505
|
+
{
|
|
2506
|
+
"name": "labelProps",
|
|
2507
|
+
"type": "LabelProps",
|
|
2508
|
+
"required": false,
|
|
2509
|
+
"description": "Props of the rendered next to the control"
|
|
2510
|
+
},
|
|
2511
|
+
{
|
|
2512
|
+
"name": "isSelected",
|
|
2513
|
+
"type": "boolean",
|
|
2514
|
+
"required": false,
|
|
2515
|
+
"defaultValue": "false",
|
|
2516
|
+
"description": "The current value of the checkbox"
|
|
2517
|
+
},
|
|
2518
|
+
{
|
|
2519
|
+
"name": "isIndeterminate",
|
|
2520
|
+
"type": "boolean",
|
|
2521
|
+
"required": false,
|
|
2522
|
+
"defaultValue": "false",
|
|
2523
|
+
"description": "Whether the checkbox is in the mixed state"
|
|
2524
|
+
},
|
|
2525
|
+
{
|
|
2526
|
+
"name": "invalid",
|
|
2527
|
+
"type": "boolean",
|
|
2528
|
+
"required": false,
|
|
2529
|
+
"defaultValue": "false",
|
|
2530
|
+
"description": "Whether the checkbox failed validation (applies error styling)"
|
|
2531
|
+
},
|
|
2532
|
+
{
|
|
2533
|
+
"name": "disabled",
|
|
2534
|
+
"type": "boolean",
|
|
2535
|
+
"required": false,
|
|
2536
|
+
"description": "Whether the checkbox is disabled"
|
|
2537
|
+
},
|
|
2538
|
+
{
|
|
2539
|
+
"name": "onChange",
|
|
2540
|
+
"type": "(value: boolean) => void",
|
|
2541
|
+
"required": false,
|
|
2542
|
+
"description": "Callback fired with the new value when toggled"
|
|
2543
|
+
},
|
|
2544
|
+
{
|
|
2545
|
+
"name": "caption",
|
|
2546
|
+
"type": "string",
|
|
2547
|
+
"required": false,
|
|
2548
|
+
"description": "Caption text rendered below the label, and described by the checkbox"
|
|
2549
|
+
},
|
|
2550
|
+
{
|
|
2551
|
+
"name": "boxClassName",
|
|
2552
|
+
"type": "string",
|
|
2553
|
+
"required": false,
|
|
2554
|
+
"description": "Additional classes for the box itself. Use it to drop\nthe box's own focus ring where the container already draws one, as a\nmultiselect row does."
|
|
2555
|
+
}
|
|
2556
|
+
],
|
|
2557
|
+
"examples": [
|
|
2558
|
+
"<Checkbox\n labelProps={{ label: 'Accept terms' }}\n isSelected={accepted}\n onChange={setAccepted}\n/>"
|
|
2559
|
+
],
|
|
2560
|
+
"sourceFile": "components/New/Checkbox/Checkbox.tsx"
|
|
2561
|
+
},
|
|
2562
|
+
{
|
|
2563
|
+
"name": "CheckboxBox",
|
|
2564
|
+
"category": "Components_2_0",
|
|
2565
|
+
"generation": "2.0",
|
|
2566
|
+
"description": "The 20px box a checkbox draws — the square, its border, its fill and the\ncheck or dash inside.\nDesign system 2.0\n\nTwo things render it: , where it is the `<label for>` that\ntoggles the input next to it, and rows that only *look* like a checkbox —\na `menuitemcheckbox` in a dropdown, whose state lives on `aria-checked` and\nwhose whole row is the control. Passing `htmlFor` picks the first: the box\nbecomes a label with a pointer target of its own. Without it the box is a\ndecorative `<span>`, hidden from assistive technology, and the row around it\ncarries both the state and the pointer target.",
|
|
2567
|
+
"props": [
|
|
2568
|
+
{
|
|
2569
|
+
"name": "isSelected",
|
|
2570
|
+
"type": "boolean",
|
|
2571
|
+
"required": false,
|
|
2572
|
+
"defaultValue": "false",
|
|
2573
|
+
"description": "Whether the box is filled with a check"
|
|
2574
|
+
},
|
|
2575
|
+
{
|
|
2576
|
+
"name": "isIndeterminate",
|
|
2577
|
+
"type": "boolean",
|
|
2578
|
+
"required": false,
|
|
2579
|
+
"defaultValue": "false",
|
|
2580
|
+
"description": "Whether the box is filled with a dash; takes precedence over `isSelected`"
|
|
2581
|
+
},
|
|
2582
|
+
{
|
|
2583
|
+
"name": "invalid",
|
|
2584
|
+
"type": "boolean",
|
|
2585
|
+
"required": false,
|
|
2586
|
+
"defaultValue": "false",
|
|
2587
|
+
"description": "Paints the box with the error colour"
|
|
2588
|
+
},
|
|
2589
|
+
{
|
|
2590
|
+
"name": "disabled",
|
|
2591
|
+
"type": "boolean",
|
|
2592
|
+
"required": false,
|
|
2593
|
+
"defaultValue": "false",
|
|
2594
|
+
"description": "Greys the box out"
|
|
2595
|
+
},
|
|
2596
|
+
{
|
|
2597
|
+
"name": "htmlFor",
|
|
2598
|
+
"type": "string",
|
|
2599
|
+
"required": false,
|
|
2600
|
+
"description": "Id of the input this box labels; omit for a decorative box"
|
|
2601
|
+
},
|
|
2602
|
+
{
|
|
2603
|
+
"name": "className",
|
|
2604
|
+
"type": "string",
|
|
2605
|
+
"required": false,
|
|
2606
|
+
"description": "Additional classes for the box"
|
|
2607
|
+
}
|
|
2608
|
+
],
|
|
2609
|
+
"examples": [],
|
|
2610
|
+
"sourceFile": "components/New/Checkbox/CheckboxBox.tsx"
|
|
2611
|
+
},
|
|
2612
|
+
{
|
|
2613
|
+
"name": "ToggleIconButton",
|
|
2614
|
+
"category": "Components_2_0",
|
|
2615
|
+
"generation": "2.0",
|
|
2616
|
+
"description": "An icon button that stays pressed, for a setting the icon itself represents.\naliases: IconToggle|ToggleButton|BookmarkButton\nDesign system 2.0",
|
|
2617
|
+
"props": [
|
|
2618
|
+
{
|
|
2619
|
+
"name": "icon",
|
|
2620
|
+
"type": "ReactNode",
|
|
2621
|
+
"required": true,
|
|
2622
|
+
"description": "Icon shown while unselected; rendered at 16px"
|
|
2623
|
+
},
|
|
2624
|
+
{
|
|
2625
|
+
"name": "selectedIcon",
|
|
2626
|
+
"type": "ReactNode",
|
|
2627
|
+
"required": false,
|
|
2628
|
+
"description": "Icon shown while selected; falls back to `icon`"
|
|
2629
|
+
},
|
|
2630
|
+
{
|
|
2631
|
+
"name": "isSelected",
|
|
2632
|
+
"type": "boolean",
|
|
2633
|
+
"required": false,
|
|
2634
|
+
"defaultValue": "false",
|
|
2635
|
+
"description": "Whether the toggle is on"
|
|
2636
|
+
},
|
|
2637
|
+
{
|
|
2638
|
+
"name": "onToggle",
|
|
2639
|
+
"type": "(isSelected: boolean) => void",
|
|
2640
|
+
"required": false,
|
|
2641
|
+
"description": "Callback fired with the next value when clicked"
|
|
2642
|
+
},
|
|
2643
|
+
{
|
|
2644
|
+
"name": "tooltipProps",
|
|
2645
|
+
"type": "ToggleTooltipProps",
|
|
2646
|
+
"required": false,
|
|
2647
|
+
"description": "Props of the 2.0 wrapping the button"
|
|
2648
|
+
}
|
|
2649
|
+
],
|
|
2650
|
+
"examples": [
|
|
2651
|
+
"<ToggleIconButton\n icon={<IconBookmark />}\n selectedIcon={<IconBookmarkFilled />}\n isSelected={isBookmarked}\n onToggle={setIsBookmarked}\n tooltipProps={{ tooltip: 'Bookmark' }}\n/>"
|
|
2652
|
+
],
|
|
2653
|
+
"sourceFile": "components/New/ToggleIconButton/ToggleIconButton.tsx"
|
|
2654
|
+
},
|
|
2655
|
+
{
|
|
2656
|
+
"name": "SegmentedControl",
|
|
2657
|
+
"category": "Components_2_0",
|
|
2658
|
+
"generation": "2.0",
|
|
2659
|
+
"description": "A single-select switch between a few mutually exclusive, equally sized options.\naliases: SegmentedButton|ViewSwitcher|ButtonGroup\nDesign system 2.0",
|
|
2660
|
+
"props": [
|
|
2661
|
+
{
|
|
2662
|
+
"name": "items",
|
|
2663
|
+
"type": "SegmentedControlItem<T>[]",
|
|
2664
|
+
"required": true,
|
|
2665
|
+
"description": "Segments to render; each needs a unique `value` and may carry a `label`, `icon` and `disabled` flag"
|
|
2666
|
+
},
|
|
2667
|
+
{
|
|
2668
|
+
"name": "value",
|
|
2669
|
+
"type": "T",
|
|
2670
|
+
"required": true,
|
|
2671
|
+
"description": "The currently selected `value`"
|
|
2672
|
+
},
|
|
2673
|
+
{
|
|
2674
|
+
"name": "onChange",
|
|
2675
|
+
"type": "(value: T) => void",
|
|
2676
|
+
"required": true,
|
|
2677
|
+
"description": "Callback fired with the newly selected `value`"
|
|
2678
|
+
},
|
|
2679
|
+
{
|
|
2680
|
+
"name": "disabled",
|
|
2681
|
+
"type": "boolean",
|
|
2682
|
+
"required": false,
|
|
2683
|
+
"description": "Disables every segment"
|
|
2684
|
+
},
|
|
2685
|
+
{
|
|
2686
|
+
"name": "className",
|
|
2687
|
+
"type": "string",
|
|
2688
|
+
"required": false,
|
|
2689
|
+
"description": "Additional classes for the track"
|
|
2690
|
+
},
|
|
2691
|
+
{
|
|
2692
|
+
"name": "segmentClassName",
|
|
2693
|
+
"type": "string",
|
|
2694
|
+
"required": false,
|
|
2695
|
+
"description": "Additional classes for every segment"
|
|
2696
|
+
},
|
|
2697
|
+
{
|
|
2698
|
+
"name": "'aria-label'",
|
|
2699
|
+
"type": "string",
|
|
2700
|
+
"required": false
|
|
2701
|
+
}
|
|
2702
|
+
],
|
|
2703
|
+
"examples": [
|
|
2704
|
+
"<SegmentedControl\n aria-label=\"View\"\n value={view}\n onChange={setView}\n items={[\n { value: 'list', icon: <IconList />, 'aria-label': 'List' },\n { value: 'grid', icon: <IconGrid />, 'aria-label': 'Grid' },\n ]}\n/>"
|
|
2705
|
+
],
|
|
2706
|
+
"sourceFile": "components/New/SegmentedControl/SegmentedControl.tsx"
|
|
2707
|
+
},
|
|
2708
|
+
{
|
|
2709
|
+
"name": "Tabs",
|
|
2710
|
+
"category": "Components_2_0",
|
|
2711
|
+
"generation": "2.0",
|
|
2712
|
+
"description": "A horizontal row of tabs, underlining the active one and showing optional count badges.\naliases: TabRow|TabNavigation|TabBar\nDesign system 2.0\n\nFollows the ARIA tabs pattern with automatic activation: only the active tab is\nin the tab order, and the arrow keys move both focus and selection. `Home` and\n`End` jump to the first and last tab, and the arrows wrap around the ends.\nTabs marked `disabled` are greyed out, cannot be clicked, and are skipped by\nkeyboard navigation.\n\nThe component renders the tabs only; the panels stay with the consumer.",
|
|
2713
|
+
"props": [
|
|
2714
|
+
{
|
|
2715
|
+
"name": "tabs",
|
|
2716
|
+
"type": "TabItem[]",
|
|
2717
|
+
"required": true,
|
|
2718
|
+
"description": "Ordered list of tabs to render."
|
|
2719
|
+
},
|
|
2720
|
+
{
|
|
2721
|
+
"name": "activeTabId",
|
|
2722
|
+
"type": "string",
|
|
2723
|
+
"required": true,
|
|
2724
|
+
"description": "ID of the currently selected tab."
|
|
2725
|
+
},
|
|
2726
|
+
{
|
|
2727
|
+
"name": "onTabChange",
|
|
2728
|
+
"type": "(tabId: string) => void",
|
|
2729
|
+
"required": true,
|
|
2730
|
+
"description": "Fired with the tab's `id` when the user selects a tab."
|
|
2731
|
+
},
|
|
2732
|
+
{
|
|
2733
|
+
"name": "ariaLabel",
|
|
2734
|
+
"type": "string",
|
|
2735
|
+
"required": false,
|
|
2736
|
+
"description": "Accessible name for the tab list."
|
|
2737
|
+
},
|
|
2738
|
+
{
|
|
2739
|
+
"name": "className",
|
|
2740
|
+
"type": "string",
|
|
2741
|
+
"required": false,
|
|
2742
|
+
"description": "Additional CSS classes for the tab list container."
|
|
2743
|
+
},
|
|
2744
|
+
{
|
|
2745
|
+
"name": "tabClassName",
|
|
2746
|
+
"type": "string",
|
|
2747
|
+
"required": false,
|
|
2748
|
+
"description": "Additional CSS classes applied to every tab."
|
|
2749
|
+
}
|
|
2750
|
+
],
|
|
2751
|
+
"examples": [
|
|
2752
|
+
"<Tabs\n ariaLabel=\"Conversation views\"\n tabs={[\n { id: 'all', label: 'All', count: 12 },\n { id: 'shared', label: 'Shared with me' },\n ]}\n activeTabId={activeTabId}\n onTabChange={setActiveTabId}\n/>"
|
|
2753
|
+
],
|
|
2754
|
+
"sourceFile": "components/New/Tabs/Tabs.tsx"
|
|
2755
|
+
},
|
|
2756
|
+
{
|
|
2757
|
+
"name": "FileDropzone",
|
|
2758
|
+
"category": "Components_2_0",
|
|
2759
|
+
"generation": "2.0",
|
|
2760
|
+
"description": "A dashed drop area that takes files by drag-and-drop or through the file picker.\naliases: LoadFileArea|FileUpload|DragDropUpload|UploadArea\nDesign system 2.0\n\nThe area is a label over a visually hidden file input, so the picker opens on\nclick and the control stays operable by keyboard and announced as a file input\nwithout any extra wiring. The border highlights while a drag hovers it.\n\n`accept` is enforced on drops as well as in the picker — the browser only\nfilters the latter — so `onChange` never receives a file the caller excluded.\nRejected files go to `onReject`; all copy stays with the caller, which keeps\nvalidation messages in the consumer's own wording and language.",
|
|
2761
|
+
"props": [
|
|
2762
|
+
{
|
|
2763
|
+
"name": "labelProps",
|
|
2764
|
+
"type": "LabelProps",
|
|
2765
|
+
"required": false,
|
|
2766
|
+
"description": "Props of the naming the field, rendered above the area."
|
|
2767
|
+
},
|
|
2768
|
+
{
|
|
2769
|
+
"name": "label",
|
|
2770
|
+
"type": "ReactNode",
|
|
2771
|
+
"required": true,
|
|
2772
|
+
"description": "Primary line of copy."
|
|
2773
|
+
},
|
|
2774
|
+
{
|
|
2775
|
+
"name": "description",
|
|
2776
|
+
"type": "ReactNode",
|
|
2777
|
+
"required": false,
|
|
2778
|
+
"description": "Secondary line of copy."
|
|
2779
|
+
},
|
|
2780
|
+
{
|
|
2781
|
+
"name": "onChange",
|
|
2782
|
+
"type": "(files: File[]) => void",
|
|
2783
|
+
"required": true,
|
|
2784
|
+
"description": "Fired with the accepted files."
|
|
2785
|
+
},
|
|
2786
|
+
{
|
|
2787
|
+
"name": "onReject",
|
|
2788
|
+
"type": "(files: File[]) => void",
|
|
2789
|
+
"required": false,
|
|
2790
|
+
"description": "Fired with dropped files that `accept` excluded."
|
|
2791
|
+
},
|
|
2792
|
+
{
|
|
2793
|
+
"name": "accept",
|
|
2794
|
+
"type": "string",
|
|
2795
|
+
"required": false,
|
|
2796
|
+
"description": "Comma-separated `accept` tokens."
|
|
2797
|
+
},
|
|
2798
|
+
{
|
|
2799
|
+
"name": "multiple",
|
|
2800
|
+
"type": "boolean",
|
|
2801
|
+
"required": false,
|
|
2802
|
+
"defaultValue": "false",
|
|
2803
|
+
"description": "Whether more than one file can be selected."
|
|
2804
|
+
},
|
|
2805
|
+
{
|
|
2806
|
+
"name": "disabled",
|
|
2807
|
+
"type": "boolean",
|
|
2808
|
+
"required": false,
|
|
2809
|
+
"defaultValue": "false",
|
|
2810
|
+
"description": "Disables picking and dropping."
|
|
2811
|
+
},
|
|
2812
|
+
{
|
|
2813
|
+
"name": "errorText",
|
|
2814
|
+
"type": "string",
|
|
2815
|
+
"required": false,
|
|
2816
|
+
"description": "Error message rendered below the area."
|
|
2817
|
+
},
|
|
2818
|
+
{
|
|
2819
|
+
"name": "icon",
|
|
2820
|
+
"type": "ReactNode",
|
|
2821
|
+
"required": false,
|
|
2822
|
+
"description": "Icon rendered above the copy."
|
|
2823
|
+
},
|
|
2824
|
+
{
|
|
2825
|
+
"name": "id",
|
|
2826
|
+
"type": "string",
|
|
2827
|
+
"required": false,
|
|
2828
|
+
"description": "`id` of the underlying file input."
|
|
2829
|
+
},
|
|
2830
|
+
{
|
|
2831
|
+
"name": "ariaLabel",
|
|
2832
|
+
"type": "string",
|
|
2833
|
+
"required": false,
|
|
2834
|
+
"description": "Accessible name; needed when `label` carries no text."
|
|
2835
|
+
},
|
|
2836
|
+
{
|
|
2837
|
+
"name": "className",
|
|
2838
|
+
"type": "string",
|
|
2839
|
+
"required": false,
|
|
2840
|
+
"description": "Additional CSS classes for the drop area."
|
|
2841
|
+
}
|
|
2842
|
+
],
|
|
2843
|
+
"examples": [
|
|
2844
|
+
"<FileDropzone\n label=\"Drag and drop it or click here to upload\"\n description=\"File formats .md, .zip and .skill\"\n accept=\".md,.zip,.skill\"\n onChange={(files) => upload(files)}\n onReject={() => setError('Unsupported file format')}\n/>"
|
|
2845
|
+
],
|
|
2846
|
+
"sourceFile": "components/New/FileDropzone/FileDropzone.tsx"
|
|
2847
|
+
},
|
|
2848
|
+
{
|
|
2849
|
+
"name": "Tag",
|
|
2850
|
+
"category": "Components_2_0",
|
|
2851
|
+
"generation": "2.0",
|
|
2852
|
+
"description": "A compact label element used for selections, filters, or categories.\naliases: Chip|Pill\nDesign system 2.0\n\nThe tag has one height — the 32px pill of the 2.0 design. There is no `size`\nprop: a tag sizes itself, and a caller that needs a different height is\nusually reaching for a button.\n\nThe label truncates rather than wrapping, and carries a native `title` so the\nfull text stays reachable when it does.\n\nA tag with `onClick` becomes a `role=\"button\"` operable with Enter and Space.\nIts remove control is a real nested `<button>`, so keep the two roles apart in\nthe caller: a clickable tag that is also closable gives a screen reader two\nactions with no way to tell which one it landed on.\n\nNo tag draws a rim; the two appearances are told apart by their fill.\n`TagAppearance.Selectable` is the filter chip of the 2.0 design: no fill\nat all until it is selected, one hover tint shared by both states, a semibold\nlabel once selected, and the state carried on `aria-pressed` rather than by\nthe tint alone. Give it an `onClick` — a selectable tag that cannot be\nactivated is a colour and nothing else.\n\nSelecting one therefore changes its width by the difference between the\nregular and semibold label. In a wrapping filter row that is what the design\nasks for; if a fixed width matters, give the chip one.",
|
|
2853
|
+
"props": [
|
|
2854
|
+
{
|
|
2855
|
+
"name": "label",
|
|
2856
|
+
"type": "string",
|
|
2857
|
+
"required": true,
|
|
2858
|
+
"description": "Text content displayed inside the tag."
|
|
2859
|
+
},
|
|
2860
|
+
{
|
|
2861
|
+
"name": "icon",
|
|
2862
|
+
"type": "ReactNode",
|
|
2863
|
+
"required": false,
|
|
2864
|
+
"description": "Icon rendered before the label."
|
|
2865
|
+
},
|
|
2866
|
+
{
|
|
2867
|
+
"name": "appearance",
|
|
2868
|
+
"type": "TagAppearance",
|
|
2869
|
+
"required": false,
|
|
2870
|
+
"defaultValue": "TagAppearance.Outlined",
|
|
2871
|
+
"description": "`outlined` is the filled chip on the raised\nlayer; `selectable` is the unfilled filter chip that tints and turns semibold when selected."
|
|
2872
|
+
},
|
|
2873
|
+
{
|
|
2874
|
+
"name": "selected",
|
|
2875
|
+
"type": "boolean",
|
|
2876
|
+
"required": false,
|
|
2877
|
+
"defaultValue": "false",
|
|
2878
|
+
"description": "Applies the accent-tinted selected styling."
|
|
2879
|
+
},
|
|
2880
|
+
{
|
|
2881
|
+
"name": "disabled",
|
|
2882
|
+
"type": "boolean",
|
|
2883
|
+
"required": false,
|
|
2884
|
+
"defaultValue": "false",
|
|
2885
|
+
"description": "Stops the tag responding: no click handling, no remove control. The design defines no disabled tag, so the colours stay put."
|
|
2886
|
+
},
|
|
2887
|
+
{
|
|
2888
|
+
"name": "closable",
|
|
2889
|
+
"type": "boolean",
|
|
2890
|
+
"required": false,
|
|
2891
|
+
"defaultValue": "false",
|
|
2892
|
+
"description": "Renders the remove button. Needs `onRemove` to appear."
|
|
2893
|
+
},
|
|
2894
|
+
{
|
|
2895
|
+
"name": "removeLabel",
|
|
2896
|
+
"type": "string",
|
|
2897
|
+
"required": false,
|
|
2898
|
+
"description": "Accessible name of the remove button; defaults to `Remove <label>`."
|
|
2899
|
+
},
|
|
2900
|
+
{
|
|
2901
|
+
"name": "onRemove",
|
|
2902
|
+
"type": "(event: MouseEvent<HTMLButtonElement>) => void",
|
|
2903
|
+
"required": false,
|
|
2904
|
+
"description": "Called when the remove button is clicked. The click does not bubble to `onClick`."
|
|
2905
|
+
}
|
|
2906
|
+
],
|
|
2907
|
+
"examples": [
|
|
2908
|
+
"<Tag label=\"TypeScript\" />\n<Tag label=\"TypeScript\" closable onRemove={() => remove('TypeScript')} />\n<Tag label=\"Drafts\" selected onClick={() => toggle('Drafts')} />\n<Tag\n label=\"Drafts\"\n appearance={TagAppearance.Selectable}\n selected={isSelected}\n onClick={() => toggle('Drafts')}\n/>"
|
|
2909
|
+
],
|
|
2910
|
+
"sourceFile": "components/New/Tag/Tag.tsx"
|
|
2911
|
+
},
|
|
2912
|
+
{
|
|
2913
|
+
"name": "TagInput",
|
|
2914
|
+
"category": "Components_2_0",
|
|
2915
|
+
"generation": "2.0",
|
|
2916
|
+
"description": "A tag input field: type a value and commit it with Enter or comma.\naliases: MultiTag|TagField|ChipInput\nDesign system 2.0\n\nThe field is an , so it carries the 2.0 field styling, sizes,\nlabel, caption and error states, and the tags render as s in its\ncontent slot. The field grows as tags wrap, unless `collapseTagOverflow` keeps\nthem on one line behind a `+N` chip.\n\nWorks controlled (`value` + `onChange`) or uncontrolled (`defaultValue`).\nDuplicate tags are ignored. Backspace on an empty input removes the last tag.",
|
|
2917
|
+
"props": [
|
|
2918
|
+
{
|
|
2919
|
+
"name": "id",
|
|
2920
|
+
"type": "string",
|
|
2921
|
+
"required": false,
|
|
2922
|
+
"description": "The id of the text input, linked to the label."
|
|
2923
|
+
},
|
|
2924
|
+
{
|
|
2925
|
+
"name": "value",
|
|
2926
|
+
"type": "string[]",
|
|
2927
|
+
"required": false,
|
|
2928
|
+
"description": "Controlled tag list."
|
|
2929
|
+
},
|
|
2930
|
+
{
|
|
2931
|
+
"name": "defaultValue",
|
|
2932
|
+
"type": "string[]",
|
|
2933
|
+
"required": false,
|
|
2934
|
+
"description": "Initial tag list when uncontrolled."
|
|
2935
|
+
},
|
|
2936
|
+
{
|
|
2937
|
+
"name": "size",
|
|
2938
|
+
"type": "ElementSize",
|
|
2939
|
+
"required": false,
|
|
2940
|
+
"defaultValue": "ElementSize.Standard",
|
|
2941
|
+
"description": "Field height: standard is 40px, small is 24px."
|
|
2942
|
+
},
|
|
2943
|
+
{
|
|
2944
|
+
"name": "labelProps",
|
|
2945
|
+
"type": "LabelProps",
|
|
2946
|
+
"required": false,
|
|
2947
|
+
"description": "Props of the rendered above the field."
|
|
2948
|
+
},
|
|
2949
|
+
{
|
|
2950
|
+
"name": "placeholder",
|
|
2951
|
+
"type": "string",
|
|
2952
|
+
"required": false,
|
|
2953
|
+
"description": "Placeholder shown while there are no tags."
|
|
2954
|
+
},
|
|
2955
|
+
{
|
|
2956
|
+
"name": "caption",
|
|
2957
|
+
"type": "string",
|
|
2958
|
+
"required": false,
|
|
2959
|
+
"description": "Helper text rendered below the field when there is no `error`."
|
|
2960
|
+
},
|
|
2961
|
+
{
|
|
2962
|
+
"name": "error",
|
|
2963
|
+
"type": "string",
|
|
2964
|
+
"required": false,
|
|
2965
|
+
"description": "Error message rendered below the field (pass `invalid` too for error styling)."
|
|
2966
|
+
},
|
|
2967
|
+
{
|
|
2968
|
+
"name": "invalid",
|
|
2969
|
+
"type": "boolean",
|
|
2970
|
+
"required": false,
|
|
2971
|
+
"description": "Applies the field's error styling."
|
|
2972
|
+
},
|
|
2973
|
+
{
|
|
2974
|
+
"name": "disabled",
|
|
2975
|
+
"type": "boolean",
|
|
2976
|
+
"required": false,
|
|
2977
|
+
"defaultValue": "false",
|
|
2978
|
+
"description": "Disables typing and tag removal."
|
|
2979
|
+
},
|
|
2980
|
+
{
|
|
2981
|
+
"name": "readOnly",
|
|
2982
|
+
"type": "boolean",
|
|
2983
|
+
"required": false,
|
|
2984
|
+
"defaultValue": "false",
|
|
2985
|
+
"description": "Shows the tags without allowing new ones or removal."
|
|
2986
|
+
},
|
|
2987
|
+
{
|
|
2988
|
+
"name": "collapseTagOverflow",
|
|
2989
|
+
"type": "boolean",
|
|
2990
|
+
"required": false,
|
|
2991
|
+
"defaultValue": "false",
|
|
2992
|
+
"description": "Keep the tags on one line, replacing the ones that do not fit with a `+N` chip."
|
|
2993
|
+
},
|
|
2994
|
+
{
|
|
2995
|
+
"name": "ariaLabel",
|
|
2996
|
+
"type": "string",
|
|
2997
|
+
"required": false,
|
|
2998
|
+
"description": "Accessible name for the text input; use it when there is no visible label."
|
|
2999
|
+
},
|
|
3000
|
+
{
|
|
3001
|
+
"name": "tagListLabel",
|
|
3002
|
+
"type": "string",
|
|
3003
|
+
"required": false,
|
|
3004
|
+
"defaultValue": "'Tags'",
|
|
3005
|
+
"description": "Accessible name of the tag list."
|
|
3006
|
+
},
|
|
3007
|
+
{
|
|
3008
|
+
"name": "className",
|
|
3009
|
+
"type": "string",
|
|
3010
|
+
"required": false,
|
|
3011
|
+
"description": "Additional CSS classes for the outer container."
|
|
3012
|
+
},
|
|
3013
|
+
{
|
|
3014
|
+
"name": "fieldClassName",
|
|
3015
|
+
"type": "string",
|
|
3016
|
+
"required": false,
|
|
3017
|
+
"description": "Additional CSS classes for the field itself."
|
|
3018
|
+
},
|
|
3019
|
+
{
|
|
3020
|
+
"name": "tagClassName",
|
|
3021
|
+
"type": "string",
|
|
3022
|
+
"required": false,
|
|
3023
|
+
"description": "Additional CSS classes applied to every tag."
|
|
3024
|
+
},
|
|
3025
|
+
{
|
|
3026
|
+
"name": "onChange",
|
|
3027
|
+
"type": "(tags: string[]) => void",
|
|
3028
|
+
"required": false,
|
|
3029
|
+
"description": "Called with the new list whenever a tag is added or removed."
|
|
3030
|
+
}
|
|
3031
|
+
],
|
|
3032
|
+
"examples": [
|
|
3033
|
+
"const [tags, setTags] = useState<string[]>(['React']);\n\n<TagInput\n id=\"skills\"\n labelProps={{ label: 'Skills' }}\n placeholder=\"Add a skill\"\n caption=\"Press Enter or comma to add\"\n value={tags}\n onChange={setTags}\n/>"
|
|
3034
|
+
],
|
|
3035
|
+
"sourceFile": "components/New/TagInput/TagInput.tsx"
|
|
3036
|
+
},
|
|
3037
|
+
{
|
|
3038
|
+
"name": "Search",
|
|
3039
|
+
"category": "Components_2_0",
|
|
3040
|
+
"generation": "2.0",
|
|
3041
|
+
"description": "A search field with a leading magnifier and a clear button, built on .\naliases: SearchField|QueryInput|SearchBox\nDesign system 2.0\n\nFully controlled: it renders exactly the `value` it is given and reports every\nedit through `onChange`, which receives `undefined` for an empty field. The\nclear button appears only while there is something to clear, and returns focus\nto the input once pressed so keyboard users are not dropped to the page body.\n\n`type` and both icon slots are owned by this component; every other\n prop is passed through.",
|
|
3042
|
+
"props": [
|
|
3043
|
+
{
|
|
3044
|
+
"name": "withoutBorder",
|
|
3045
|
+
"type": "boolean",
|
|
3046
|
+
"required": false,
|
|
3047
|
+
"defaultValue": "false",
|
|
3048
|
+
"description": "Renders the field without its border and background"
|
|
3049
|
+
},
|
|
3050
|
+
{
|
|
3051
|
+
"name": "clearLabel",
|
|
3052
|
+
"type": "string",
|
|
3053
|
+
"required": false,
|
|
3054
|
+
"defaultValue": "'Clear search'",
|
|
3055
|
+
"description": "Accessible name of the clear button"
|
|
3056
|
+
}
|
|
3057
|
+
],
|
|
3058
|
+
"examples": [
|
|
3059
|
+
"<Search\n id=\"search\"\n value={query}\n placeholder=\"Search\"\n onChange={setQuery}\n/>"
|
|
3060
|
+
],
|
|
3061
|
+
"sourceFile": "components/New/Search/Search.tsx"
|
|
3062
|
+
},
|
|
3063
|
+
{
|
|
3064
|
+
"name": "Slider",
|
|
3065
|
+
"category": "Components_2_0",
|
|
3066
|
+
"generation": "2.0",
|
|
3067
|
+
"description": "A range slider from the 2.0 design system.\naliases: RangeInput|TemperatureSlider|RangeSlider\nDesign system 2.0",
|
|
3068
|
+
"props": [
|
|
3069
|
+
{
|
|
3070
|
+
"name": "value",
|
|
3071
|
+
"type": "number",
|
|
3072
|
+
"required": true,
|
|
3073
|
+
"description": "Current slider value"
|
|
3074
|
+
},
|
|
3075
|
+
{
|
|
3076
|
+
"name": "min",
|
|
3077
|
+
"type": "number",
|
|
3078
|
+
"required": false,
|
|
3079
|
+
"defaultValue": "0",
|
|
3080
|
+
"description": "Minimum value"
|
|
3081
|
+
},
|
|
3082
|
+
{
|
|
3083
|
+
"name": "max",
|
|
3084
|
+
"type": "number",
|
|
3085
|
+
"required": false,
|
|
3086
|
+
"defaultValue": "1",
|
|
3087
|
+
"description": "Maximum value"
|
|
3088
|
+
},
|
|
3089
|
+
{
|
|
3090
|
+
"name": "step",
|
|
3091
|
+
"type": "number",
|
|
3092
|
+
"required": false,
|
|
3093
|
+
"defaultValue": "0.1",
|
|
3094
|
+
"description": "Step increment"
|
|
3095
|
+
},
|
|
3096
|
+
{
|
|
3097
|
+
"name": "disabled",
|
|
3098
|
+
"type": "boolean",
|
|
3099
|
+
"required": false,
|
|
3100
|
+
"description": "Whether the slider is disabled"
|
|
3101
|
+
},
|
|
3102
|
+
{
|
|
3103
|
+
"name": "labelProps",
|
|
3104
|
+
"type": "LabelProps",
|
|
3105
|
+
"required": false,
|
|
3106
|
+
"description": "Props of the rendered above the track"
|
|
3107
|
+
},
|
|
3108
|
+
{
|
|
3109
|
+
"name": "labels",
|
|
3110
|
+
"type": "[string, string] | [string, string, string]",
|
|
3111
|
+
"required": false,
|
|
3112
|
+
"description": "2 or 3 strings rendered below the track (start, [middle,] end)"
|
|
3113
|
+
},
|
|
3114
|
+
{
|
|
3115
|
+
"name": "formatValue",
|
|
3116
|
+
"type": "(value: number) => string",
|
|
3117
|
+
"required": false,
|
|
3118
|
+
"description": "Custom formatter for the displayed value; also becomes the announced `aria-valuetext`"
|
|
3119
|
+
},
|
|
3120
|
+
{
|
|
3121
|
+
"name": "showValue",
|
|
3122
|
+
"type": "boolean",
|
|
3123
|
+
"required": false,
|
|
3124
|
+
"defaultValue": "false",
|
|
3125
|
+
"description": "Renders the current value at the end of the label row"
|
|
3126
|
+
},
|
|
3127
|
+
{
|
|
3128
|
+
"name": "caption",
|
|
3129
|
+
"type": "string",
|
|
3130
|
+
"required": false,
|
|
3131
|
+
"description": "Helper text rendered below the track, and described by the slider"
|
|
3132
|
+
},
|
|
3133
|
+
{
|
|
3134
|
+
"name": "error",
|
|
3135
|
+
"type": "string",
|
|
3136
|
+
"required": false,
|
|
3137
|
+
"description": "Error message rendered below the track; replaces the caption"
|
|
3138
|
+
},
|
|
3139
|
+
{
|
|
3140
|
+
"name": "onChange",
|
|
3141
|
+
"type": "(value: number) => void",
|
|
3142
|
+
"required": false,
|
|
3143
|
+
"description": "Callback fired with the new value"
|
|
3144
|
+
},
|
|
3145
|
+
{
|
|
3146
|
+
"name": "containerClassName",
|
|
3147
|
+
"type": "string",
|
|
3148
|
+
"required": false,
|
|
3149
|
+
"description": "Additional classes for the outer container"
|
|
3150
|
+
},
|
|
3151
|
+
{
|
|
3152
|
+
"name": "trackClassName",
|
|
3153
|
+
"type": "string",
|
|
3154
|
+
"required": false,
|
|
3155
|
+
"description": "Additional classes for the unfilled track"
|
|
3156
|
+
},
|
|
3157
|
+
{
|
|
3158
|
+
"name": "fillClassName",
|
|
3159
|
+
"type": "string",
|
|
3160
|
+
"required": false,
|
|
3161
|
+
"description": "Additional classes for the filled portion of the track"
|
|
3162
|
+
}
|
|
3163
|
+
],
|
|
3164
|
+
"examples": [
|
|
3165
|
+
"<Slider\n id=\"temperature\"\n labelProps={{ label: 'Temperature' }}\n value={temperature}\n labels={['Precise', 'Neutral', 'Creative']}\n onChange={setTemperature}\n/>"
|
|
3166
|
+
],
|
|
3167
|
+
"sourceFile": "components/New/Slider/Slider.tsx"
|
|
3168
|
+
},
|
|
3169
|
+
{
|
|
3170
|
+
"name": "Tooltip",
|
|
3171
|
+
"category": "Components_2_0",
|
|
3172
|
+
"generation": "2.0",
|
|
3173
|
+
"description": "Shows a short explanation next to an element while it is hovered or focused.\naliases: HoverPopover|InfoPopover\nDesign system 2.0\n\nThe tooltip is placed on one of the four sides of the trigger and follows it\non scroll, flipping to the opposite side when it would not fit.\n\nTooltip text does not reach assistive technology unless the trigger itself\ncarries it: pass `asChild` so the `aria-describedby` lands on the control\nrather than on a wrapper `<span>`, and never let a tooltip be the only\naccessible name of a control — it renders nothing on mobile screens.",
|
|
3174
|
+
"props": [
|
|
3175
|
+
{
|
|
3176
|
+
"name": "hideTooltip",
|
|
3177
|
+
"type": "boolean",
|
|
3178
|
+
"required": false,
|
|
3179
|
+
"defaultValue": "false",
|
|
3180
|
+
"description": "Suppress the tooltip while keeping the trigger rendered"
|
|
3181
|
+
},
|
|
3182
|
+
{
|
|
3183
|
+
"name": "tooltip",
|
|
3184
|
+
"type": "ReactNode",
|
|
3185
|
+
"required": false,
|
|
3186
|
+
"description": "The content to display in the tooltip"
|
|
3187
|
+
},
|
|
3188
|
+
{
|
|
3189
|
+
"name": "children",
|
|
3190
|
+
"type": "ReactNode",
|
|
3191
|
+
"required": true,
|
|
3192
|
+
"description": "The element that triggers the tooltip"
|
|
3193
|
+
},
|
|
3194
|
+
{
|
|
3195
|
+
"name": "asChild",
|
|
3196
|
+
"type": "boolean",
|
|
3197
|
+
"required": false,
|
|
3198
|
+
"defaultValue": "false",
|
|
3199
|
+
"description": "Use the child as the trigger instead of wrapping it in a `<span>`"
|
|
3200
|
+
},
|
|
3201
|
+
{
|
|
3202
|
+
"name": "triggerClassName",
|
|
3203
|
+
"type": "string",
|
|
3204
|
+
"required": false,
|
|
3205
|
+
"description": "Additional CSS classes for the trigger element"
|
|
3206
|
+
},
|
|
3207
|
+
{
|
|
3208
|
+
"name": "contentClassName",
|
|
3209
|
+
"type": "string",
|
|
3210
|
+
"required": false,
|
|
3211
|
+
"description": "Additional CSS classes for the tooltip bubble"
|
|
3212
|
+
}
|
|
3213
|
+
],
|
|
3214
|
+
"examples": [
|
|
3215
|
+
"<Tooltip tooltip=\"Tooltip text\" placement={TooltipPlacement.Top} asChild>\n <button>Hover me</button>\n</Tooltip>"
|
|
3216
|
+
],
|
|
3217
|
+
"sourceFile": "components/New/Tooltip/Tooltip.tsx"
|
|
3218
|
+
},
|
|
3219
|
+
{
|
|
3220
|
+
"name": "TooltipContainer",
|
|
3221
|
+
"category": "Components_2_0",
|
|
3222
|
+
"generation": "2.0",
|
|
3223
|
+
"description": "Provides tooltip positioning and open state to a trigger and a content pair.\naliases: TooltipProvider|TooltipRoot\nDesign system 2.0\n\nUse it directly only when the trigger and the content cannot be rendered by\n`Tooltip` itself — for example when the content needs custom markup.",
|
|
3224
|
+
"props": [],
|
|
3225
|
+
"examples": [
|
|
3226
|
+
"<TooltipContainer placement={TooltipPlacement.Top}>\n <TooltipTrigger asChild>\n <button>Hover me</button>\n </TooltipTrigger>\n <TooltipContent>Tooltip text</TooltipContent>\n</TooltipContainer>"
|
|
3227
|
+
],
|
|
3228
|
+
"sourceFile": "components/New/Tooltip/TooltipContainer.tsx"
|
|
3229
|
+
},
|
|
3230
|
+
{
|
|
3231
|
+
"name": "TooltipContent",
|
|
3232
|
+
"category": "Components_2_0",
|
|
3233
|
+
"generation": "2.0",
|
|
3234
|
+
"description": "The floating bubble that carries the tooltip text.\nDesign system 2.0\n\nRendered in a portal, above popups and dropdowns, with an arrow pointing back\nat the trigger. Renders nothing on a mobile screen, where there is no hover\nto reveal it — so a control must never depend on a tooltip alone to be\nunderstood, or to have an accessible name.",
|
|
3235
|
+
"props": [
|
|
3236
|
+
{
|
|
3237
|
+
"name": "style",
|
|
3238
|
+
"type": "CSSProperties",
|
|
3239
|
+
"required": false,
|
|
3240
|
+
"description": "Additional inline styles for the tooltip bubble"
|
|
3241
|
+
}
|
|
3242
|
+
],
|
|
3243
|
+
"examples": [],
|
|
3244
|
+
"sourceFile": "components/New/Tooltip/TooltipContent.tsx"
|
|
3245
|
+
},
|
|
3246
|
+
{
|
|
3247
|
+
"name": "TooltipTrigger",
|
|
3248
|
+
"category": "Components_2_0",
|
|
3249
|
+
"generation": "2.0",
|
|
3250
|
+
"description": "The element a tooltip is anchored to and opened from.\nDesign system 2.0\n\nPrefer `asChild` whenever the trigger is a single element: it puts the\n`aria-describedby` that names the tooltip on the control itself instead of on\na wrapper `<span>`, which is the only way the tooltip text reaches assistive\ntechnology.",
|
|
3251
|
+
"props": [
|
|
3252
|
+
{
|
|
3253
|
+
"name": "asChild",
|
|
3254
|
+
"type": "boolean",
|
|
3255
|
+
"required": false,
|
|
3256
|
+
"defaultValue": "false",
|
|
3257
|
+
"description": "Render the child as the trigger instead of wrapping it in a `<span>`"
|
|
3258
|
+
}
|
|
3259
|
+
],
|
|
3260
|
+
"examples": [],
|
|
3261
|
+
"sourceFile": "components/New/Tooltip/TooltipTrigger.tsx"
|
|
3262
|
+
},
|
|
3263
|
+
{
|
|
3264
|
+
"name": "EllipsisTooltip",
|
|
3265
|
+
"category": "Components_2_0",
|
|
3266
|
+
"generation": "2.0",
|
|
3267
|
+
"description": "Single-line text with a CSS ellipsis that reveals the full string in a\ntooltip **only when it is actually clipped**.\naliases: TruncatedText|TruncationTooltip\nDesign system 2.0\n\nText that fits gets no tooltip at all, so a row of labels does not sprout\ntooltips that repeat what is already on screen.\n\nThe width has to be finite for anything to truncate: the element is a\n`min-w-0`, `flex-1` block, and `className` sets the width it should fit into.\n\na11y: while truncated, the full string is exposed as the element's\n`aria-label`, so a screen reader reads the whole label even though the\ntooltip itself renders nothing on mobile screens.",
|
|
3268
|
+
"props": [
|
|
3269
|
+
{
|
|
3270
|
+
"name": "text",
|
|
3271
|
+
"type": "ReactNode",
|
|
3272
|
+
"required": true,
|
|
3273
|
+
"description": "The text or node to display, truncated with an ellipsis when it does not fit"
|
|
3274
|
+
},
|
|
3275
|
+
{
|
|
3276
|
+
"name": "className",
|
|
3277
|
+
"type": "string",
|
|
3278
|
+
"required": false,
|
|
3279
|
+
"description": "Additional CSS classes for the text element, typically its width"
|
|
3280
|
+
},
|
|
3281
|
+
{
|
|
3282
|
+
"name": "contentClassName",
|
|
3283
|
+
"type": "string",
|
|
3284
|
+
"required": false,
|
|
3285
|
+
"description": "Additional CSS classes for the tooltip bubble"
|
|
3286
|
+
},
|
|
3287
|
+
{
|
|
3288
|
+
"name": "hideTooltip",
|
|
3289
|
+
"type": "boolean",
|
|
3290
|
+
"required": false,
|
|
3291
|
+
"defaultValue": "false",
|
|
3292
|
+
"description": "Suppress the tooltip even while the text is truncated"
|
|
3293
|
+
},
|
|
3294
|
+
{
|
|
3295
|
+
"name": "id",
|
|
3296
|
+
"type": "string",
|
|
3297
|
+
"required": false,
|
|
3298
|
+
"description": "`id` of the text element"
|
|
3299
|
+
},
|
|
3300
|
+
{
|
|
3301
|
+
"name": "customTooltipContent",
|
|
3302
|
+
"type": "ReactNode",
|
|
3303
|
+
"required": false,
|
|
3304
|
+
"description": "Shown instead of the full text while truncated"
|
|
3305
|
+
}
|
|
3306
|
+
],
|
|
3307
|
+
"examples": [
|
|
3308
|
+
"<EllipsisTooltip text=\"Very long message that will be truncated\" />\n\n<EllipsisTooltip\n text={<span className=\"dial-small-semi-text\">Custom node</span>}\n className=\"max-w-[160px]\"\n/>\n\n<EllipsisTooltip text=\"Tooltip suppressed even when clipped\" hideTooltip />"
|
|
3309
|
+
],
|
|
3310
|
+
"sourceFile": "components/New/EllipsisTooltip/EllipsisTooltip.tsx"
|
|
3311
|
+
},
|
|
3312
|
+
{
|
|
3313
|
+
"name": "CollapsibleSidebar",
|
|
3314
|
+
"category": "Components_2_0",
|
|
3315
|
+
"generation": "2.0",
|
|
3316
|
+
"description": "A side panel that collapses to a narrow rail carrying its title vertically.\naliases: ToggleSidebar|CollapsiblePanel|SidePanel\nDesign system 2.0\n\nWorks as a controlled component when `isOpened` is provided, otherwise it keeps\nits own state from `defaultOpened`. The width is derived from the open state, so\nchanging `width` on an open sidebar takes effect immediately.\n\nThe panel is an `aside` named by `ariaLabel`, and the toggle is a real\n`aria-expanded` control pointing at the content region. Content stays mounted\nwhile collapsed — hidden with `display: none` — so scroll position and any\nform state inside it survive a collapse.\n\nThe container paints no background and no radius: it is meant to sit on the\nsurface it belongs to. Pass `className` for either.",
|
|
3317
|
+
"props": [
|
|
3318
|
+
{
|
|
3319
|
+
"name": "children",
|
|
3320
|
+
"type": "ReactNode",
|
|
3321
|
+
"required": true,
|
|
3322
|
+
"description": "Content shown while the sidebar is expanded."
|
|
3323
|
+
},
|
|
3324
|
+
{
|
|
3325
|
+
"name": "title",
|
|
3326
|
+
"type": "ReactNode",
|
|
3327
|
+
"required": true,
|
|
3328
|
+
"description": "Name of the panel, rendered as vertical text while collapsed."
|
|
3329
|
+
},
|
|
3330
|
+
{
|
|
3331
|
+
"name": "width",
|
|
3332
|
+
"type": "number",
|
|
3333
|
+
"required": false,
|
|
3334
|
+
"defaultValue": "280",
|
|
3335
|
+
"description": "Width in px while expanded."
|
|
3336
|
+
},
|
|
3337
|
+
{
|
|
3338
|
+
"name": "collapsedWidth",
|
|
3339
|
+
"type": "number",
|
|
3340
|
+
"required": false,
|
|
3341
|
+
"defaultValue": "COLLAPSED_WIDTH",
|
|
3342
|
+
"description": "Width in px while collapsed."
|
|
3343
|
+
},
|
|
3344
|
+
{
|
|
3345
|
+
"name": "isOpened",
|
|
3346
|
+
"type": "boolean",
|
|
3347
|
+
"required": false,
|
|
3348
|
+
"description": "Controlled open state."
|
|
3349
|
+
},
|
|
3350
|
+
{
|
|
3351
|
+
"name": "defaultOpened",
|
|
3352
|
+
"type": "boolean",
|
|
3353
|
+
"required": false,
|
|
3354
|
+
"defaultValue": "true",
|
|
3355
|
+
"description": "Initial open state when uncontrolled."
|
|
3356
|
+
},
|
|
3357
|
+
{
|
|
3358
|
+
"name": "onToggle",
|
|
3359
|
+
"type": "(nextOpened: boolean, e: MouseEvent<HTMLButtonElement>) => void",
|
|
3360
|
+
"required": false,
|
|
3361
|
+
"description": "Fired when the toggle is clicked. Receives the next open state."
|
|
3362
|
+
},
|
|
3363
|
+
{
|
|
3364
|
+
"name": "additionalButtons",
|
|
3365
|
+
"type": "ReactNode",
|
|
3366
|
+
"required": false,
|
|
3367
|
+
"description": "Extra footer controls, rendered while expanded."
|
|
3368
|
+
},
|
|
3369
|
+
{
|
|
3370
|
+
"name": "ariaLabel",
|
|
3371
|
+
"type": "string",
|
|
3372
|
+
"required": false,
|
|
3373
|
+
"defaultValue": "'Sidebar'",
|
|
3374
|
+
"description": "Accessible name of the sidebar region."
|
|
3375
|
+
},
|
|
3376
|
+
{
|
|
3377
|
+
"name": "collapseLabel",
|
|
3378
|
+
"type": "string",
|
|
2258
3379
|
"required": false,
|
|
2259
|
-
"defaultValue": "
|
|
2260
|
-
"description": "
|
|
3380
|
+
"defaultValue": "'Collapse sidebar'",
|
|
3381
|
+
"description": "Name and tooltip of the toggle while expanded."
|
|
2261
3382
|
},
|
|
2262
3383
|
{
|
|
2263
|
-
"name": "
|
|
2264
|
-
"type": "
|
|
3384
|
+
"name": "expandLabel",
|
|
3385
|
+
"type": "string",
|
|
2265
3386
|
"required": false,
|
|
2266
|
-
"defaultValue": "
|
|
2267
|
-
"description": "
|
|
3387
|
+
"defaultValue": "'Expand sidebar'",
|
|
3388
|
+
"description": "Name and tooltip of the toggle while collapsed."
|
|
2268
3389
|
},
|
|
2269
3390
|
{
|
|
2270
|
-
"name": "
|
|
2271
|
-
"type": "
|
|
3391
|
+
"name": "className",
|
|
3392
|
+
"type": "string",
|
|
2272
3393
|
"required": false,
|
|
2273
|
-
"
|
|
2274
|
-
"description": "Dims the tag and suppresses the remove control and click handling."
|
|
3394
|
+
"description": "Additional CSS classes for the outer container."
|
|
2275
3395
|
},
|
|
2276
3396
|
{
|
|
2277
|
-
"name": "
|
|
2278
|
-
"type": "
|
|
3397
|
+
"name": "titleClassName",
|
|
3398
|
+
"type": "string",
|
|
2279
3399
|
"required": false,
|
|
2280
|
-
"
|
|
2281
|
-
"description": "Renders the remove button. Needs `onRemove` to appear."
|
|
3400
|
+
"description": "Additional CSS classes for the vertical title."
|
|
2282
3401
|
},
|
|
2283
3402
|
{
|
|
2284
|
-
"name": "
|
|
3403
|
+
"name": "contentClassName",
|
|
2285
3404
|
"type": "string",
|
|
2286
3405
|
"required": false,
|
|
2287
|
-
"description": "
|
|
3406
|
+
"description": "Additional CSS classes for the content region."
|
|
2288
3407
|
},
|
|
2289
3408
|
{
|
|
2290
|
-
"name": "
|
|
2291
|
-
"type": "
|
|
3409
|
+
"name": "footerClassName",
|
|
3410
|
+
"type": "string",
|
|
2292
3411
|
"required": false,
|
|
2293
|
-
"description": "
|
|
3412
|
+
"description": "Additional CSS classes for the footer."
|
|
2294
3413
|
}
|
|
2295
3414
|
],
|
|
2296
3415
|
"examples": [
|
|
2297
|
-
"<
|
|
3416
|
+
"<CollapsibleSidebar title=\"Filters\" width={320}>\n <FilterForm />\n</CollapsibleSidebar>\n\n<CollapsibleSidebar\n title=\"Filters\"\n isOpened={opened}\n onToggle={setOpened}\n>\n <FilterForm />\n</CollapsibleSidebar>"
|
|
2298
3417
|
],
|
|
2299
|
-
"sourceFile": "components/New/
|
|
3418
|
+
"sourceFile": "components/New/CollapsibleSidebar/CollapsibleSidebar.tsx"
|
|
2300
3419
|
},
|
|
2301
3420
|
{
|
|
2302
|
-
"name": "
|
|
3421
|
+
"name": "ResizableContainer",
|
|
2303
3422
|
"category": "Components_2_0",
|
|
2304
3423
|
"generation": "2.0",
|
|
2305
|
-
"description": "A
|
|
3424
|
+
"description": "A panel the user can widen or narrow by dragging its edge.\naliases: ResizePanel|SizableContainer|Splitter\nDesign system 2.0\n\nWorks as a controlled component when `width` is provided, otherwise it keeps\nits own width from `defaultWidth`. The handle appears on hover and while\ndragging, and stays within `minWidth`–`maxWidth` in both modes.\n\nThe handle is a focusable `separator`, so the panel resizes with the arrow\nkeys — `Home` and `End` jump to the bounds — and each press reports through\n`onResize` and `onResizeStop`. Unlike the 1.0 container this one draws no\ndividers between its children; pass `divide-y divide-tertiary` through\n`className` if you want them.",
|
|
2306
3425
|
"props": [
|
|
2307
3426
|
{
|
|
2308
|
-
"name": "
|
|
2309
|
-
"type": "
|
|
2310
|
-
"required":
|
|
2311
|
-
"description": "
|
|
2312
|
-
},
|
|
2313
|
-
{
|
|
2314
|
-
"name": "value",
|
|
2315
|
-
"type": "string[]",
|
|
2316
|
-
"required": false,
|
|
2317
|
-
"description": "Controlled tag list."
|
|
2318
|
-
},
|
|
2319
|
-
{
|
|
2320
|
-
"name": "defaultValue",
|
|
2321
|
-
"type": "string[]",
|
|
2322
|
-
"required": false,
|
|
2323
|
-
"description": "Initial tag list when uncontrolled."
|
|
2324
|
-
},
|
|
2325
|
-
{
|
|
2326
|
-
"name": "size",
|
|
2327
|
-
"type": "ElementSize",
|
|
2328
|
-
"required": false,
|
|
2329
|
-
"defaultValue": "ElementSize.Standard",
|
|
2330
|
-
"description": "Field height: standard is 40px, small is 24px."
|
|
3427
|
+
"name": "children",
|
|
3428
|
+
"type": "ReactNode",
|
|
3429
|
+
"required": true,
|
|
3430
|
+
"description": "Content placed inside the container."
|
|
2331
3431
|
},
|
|
2332
3432
|
{
|
|
2333
|
-
"name": "
|
|
2334
|
-
"type": "
|
|
2335
|
-
"required":
|
|
2336
|
-
"description": "
|
|
3433
|
+
"name": "minWidth",
|
|
3434
|
+
"type": "number",
|
|
3435
|
+
"required": true,
|
|
3436
|
+
"description": "Minimum allowed width in px."
|
|
2337
3437
|
},
|
|
2338
3438
|
{
|
|
2339
|
-
"name": "
|
|
2340
|
-
"type": "
|
|
2341
|
-
"required":
|
|
2342
|
-
"description": "
|
|
3439
|
+
"name": "maxWidth",
|
|
3440
|
+
"type": "number",
|
|
3441
|
+
"required": true,
|
|
3442
|
+
"description": "Maximum allowed width in px."
|
|
2343
3443
|
},
|
|
2344
3444
|
{
|
|
2345
|
-
"name": "
|
|
2346
|
-
"type": "
|
|
3445
|
+
"name": "width",
|
|
3446
|
+
"type": "number",
|
|
2347
3447
|
"required": false,
|
|
2348
|
-
"description": "
|
|
3448
|
+
"description": "Controlled width. If omitted the container is uncontrolled."
|
|
2349
3449
|
},
|
|
2350
3450
|
{
|
|
2351
|
-
"name": "
|
|
2352
|
-
"type": "
|
|
3451
|
+
"name": "defaultWidth",
|
|
3452
|
+
"type": "number",
|
|
2353
3453
|
"required": false,
|
|
2354
|
-
"description": "
|
|
3454
|
+
"description": "Initial width when uncontrolled. Defaults to `minWidth`."
|
|
2355
3455
|
},
|
|
2356
3456
|
{
|
|
2357
|
-
"name": "
|
|
2358
|
-
"type": "
|
|
3457
|
+
"name": "onResizeStop",
|
|
3458
|
+
"type": "(width: number) => void",
|
|
2359
3459
|
"required": false,
|
|
2360
|
-
"description": "
|
|
3460
|
+
"description": "Fired when a resize ends, and once per arrow key press."
|
|
2361
3461
|
},
|
|
2362
3462
|
{
|
|
2363
|
-
"name": "
|
|
2364
|
-
"type": "
|
|
3463
|
+
"name": "onResize",
|
|
3464
|
+
"type": "(width: number) => void",
|
|
2365
3465
|
"required": false,
|
|
2366
|
-
"
|
|
2367
|
-
"description": "Disables typing and tag removal."
|
|
3466
|
+
"description": "Fired continuously while dragging."
|
|
2368
3467
|
},
|
|
2369
3468
|
{
|
|
2370
|
-
"name": "
|
|
2371
|
-
"type": "
|
|
3469
|
+
"name": "side",
|
|
3470
|
+
"type": "ResizableContainerSide",
|
|
2372
3471
|
"required": false,
|
|
2373
|
-
"defaultValue": "
|
|
2374
|
-
"description": "
|
|
3472
|
+
"defaultValue": "ResizableContainerSide.Right",
|
|
3473
|
+
"description": "Edge carrying the resize handle."
|
|
2375
3474
|
},
|
|
2376
3475
|
{
|
|
2377
|
-
"name": "
|
|
2378
|
-
"type": "
|
|
3476
|
+
"name": "keyboardStep",
|
|
3477
|
+
"type": "number",
|
|
2379
3478
|
"required": false,
|
|
2380
|
-
"defaultValue": "
|
|
2381
|
-
"description": "
|
|
3479
|
+
"defaultValue": "DEFAULT_KEYBOARD_STEP",
|
|
3480
|
+
"description": "Width change per arrow key press."
|
|
2382
3481
|
},
|
|
2383
3482
|
{
|
|
2384
3483
|
"name": "ariaLabel",
|
|
2385
3484
|
"type": "string",
|
|
2386
3485
|
"required": false,
|
|
2387
|
-
"
|
|
2388
|
-
|
|
2389
|
-
{
|
|
2390
|
-
"name": "tagListLabel",
|
|
2391
|
-
"type": "string",
|
|
2392
|
-
"required": false,
|
|
2393
|
-
"defaultValue": "'Tags'",
|
|
2394
|
-
"description": "Accessible name of the tag list."
|
|
3486
|
+
"defaultValue": "'Resize panel'",
|
|
3487
|
+
"description": "Accessible name of the handle."
|
|
2395
3488
|
},
|
|
2396
3489
|
{
|
|
2397
3490
|
"name": "className",
|
|
2398
3491
|
"type": "string",
|
|
2399
3492
|
"required": false,
|
|
2400
|
-
"description": "Additional CSS classes for the
|
|
2401
|
-
},
|
|
2402
|
-
{
|
|
2403
|
-
"name": "fieldClassName",
|
|
2404
|
-
"type": "string",
|
|
2405
|
-
"required": false,
|
|
2406
|
-
"description": "Additional CSS classes for the field itself."
|
|
3493
|
+
"description": "Additional CSS classes for the inner content wrapper."
|
|
2407
3494
|
},
|
|
2408
3495
|
{
|
|
2409
|
-
"name": "
|
|
3496
|
+
"name": "resizeHandlerClassName",
|
|
2410
3497
|
"type": "string",
|
|
2411
3498
|
"required": false,
|
|
2412
|
-
"description": "Additional CSS classes
|
|
3499
|
+
"description": "Additional CSS classes for the resize handle."
|
|
2413
3500
|
},
|
|
2414
3501
|
{
|
|
2415
|
-
"name": "
|
|
2416
|
-
"type": "
|
|
3502
|
+
"name": "resizeHandler",
|
|
3503
|
+
"type": "ReactNode",
|
|
2417
3504
|
"required": false,
|
|
2418
|
-
"description": "
|
|
3505
|
+
"description": "Custom node rendered inside the handle."
|
|
2419
3506
|
}
|
|
2420
3507
|
],
|
|
2421
3508
|
"examples": [
|
|
2422
|
-
"
|
|
3509
|
+
"<ResizableContainer minWidth={180} maxWidth={520} defaultWidth={260}>\n <Sidebar />\n</ResizableContainer>\n\n<ResizableContainer\n minWidth={180}\n maxWidth={520}\n width={sidebarWidth}\n onResizeStop={setSidebarWidth}\n>\n <Sidebar />\n</ResizableContainer>"
|
|
2423
3510
|
],
|
|
2424
|
-
"sourceFile": "components/New/
|
|
3511
|
+
"sourceFile": "components/New/ResizableContainer/ResizableContainer.tsx"
|
|
2425
3512
|
},
|
|
2426
3513
|
{
|
|
2427
|
-
"name": "
|
|
3514
|
+
"name": "ConditionalResizableContainer",
|
|
2428
3515
|
"category": "Components_2_0",
|
|
2429
3516
|
"generation": "2.0",
|
|
2430
|
-
"description": "
|
|
3517
|
+
"description": "Renders its children inside a only while `enabled`.\naliases: OptionalResize|ConditionalPanel\nDesign system 2.0\n\nWhen `enabled` is false the children are rendered on their own, with no\nwrapper element and no resize behaviour — useful for a panel that is only\nresizable while it is expanded. Every other prop is passed straight through;\nsee for controlled and uncontrolled sizing, sides\nand callbacks.",
|
|
2431
3518
|
"props": [
|
|
2432
3519
|
{
|
|
2433
|
-
"name": "
|
|
3520
|
+
"name": "enabled",
|
|
2434
3521
|
"type": "boolean",
|
|
2435
3522
|
"required": false,
|
|
2436
|
-
"defaultValue": "
|
|
2437
|
-
"description": "
|
|
2438
|
-
},
|
|
2439
|
-
{
|
|
2440
|
-
"name": "clearLabel",
|
|
2441
|
-
"type": "string",
|
|
2442
|
-
"required": false,
|
|
2443
|
-
"defaultValue": "'Clear search'",
|
|
2444
|
-
"description": "Accessible name of the clear button"
|
|
3523
|
+
"defaultValue": "true",
|
|
3524
|
+
"description": "Whether resizing is enabled."
|
|
2445
3525
|
}
|
|
2446
3526
|
],
|
|
2447
3527
|
"examples": [
|
|
2448
|
-
"<
|
|
3528
|
+
"<ConditionalResizableContainer\n enabled={isExpanded}\n minWidth={180}\n maxWidth={520}\n defaultWidth={260}\n>\n <Sidebar />\n</ConditionalResizableContainer>"
|
|
2449
3529
|
],
|
|
2450
|
-
"sourceFile": "components/New/
|
|
3530
|
+
"sourceFile": "components/New/ResizableContainer/ConditionalResizableContainer.tsx"
|
|
2451
3531
|
},
|
|
2452
3532
|
{
|
|
2453
3533
|
"name": "DialCaptionText",
|
|
@@ -2489,7 +3569,7 @@
|
|
|
2489
3569
|
"name": "DialAnalyticsCard",
|
|
2490
3570
|
"category": "Analytics",
|
|
2491
3571
|
"generation": "1.0",
|
|
2492
|
-
"description": "A simple analytics summary card that displays a single metric as a title,\na prominent value, and an optional description.\naliases: MetricCard|StatCard|KpiCard\nDesign system 1.0\n\nTwo visual variants are available via the enum:\n- `Default` — `bg-layer-3`, large `dial-display2-text` value, supports a description.\n- `Compact` — denser `bg-layer-2` card with a `dial-body-semi-text` value and no\n description (the `description` prop is ignored in this variant).\n\n**Compare mode** — pass `compareValues` to split the value area 50/50 between two\nmetrics, each with its own sub-title. Pair with `delta` to show a change badge next\nto the card title, and `deltaUnit` for a suffix such as `\"s\"`.",
|
|
3572
|
+
"description": "A simple analytics summary card that displays a single metric as a title,\na prominent value, and an optional description.\naliases: MetricCard|StatCard|KpiCard\nDesign system 1.0\n\nTwo visual variants are available via the enum:\n- `Default` — `bg-layer-3`, large `dial-display2-text` value, supports a description.\n- `Compact` — denser `bg-layer-2` card with a `dial-body-semi-text` value and no\n description (the `description` prop is ignored in this variant).\n\n**Compare mode** — pass `compareValues` to split the value area 50/50 between two\nmetrics, each with its own sub-title. Long sub-titles truncate to a single line and\nshow the full text in a tooltip. Pair with `delta` to show a change badge next\nto the card title, and `deltaUnit` for a suffix such as `\"s\"`.",
|
|
2493
3573
|
"props": [
|
|
2494
3574
|
{
|
|
2495
3575
|
"name": "title",
|
|
@@ -2802,7 +3882,7 @@
|
|
|
2802
3882
|
"name": "DialAnalyticsHistogram",
|
|
2803
3883
|
"category": "Analytics",
|
|
2804
3884
|
"generation": "1.0",
|
|
2805
|
-
"description": "A histogram that distributes `values` across the bands of a color map and draws a\ncolumn per band. Each column's height is relative to the
|
|
3885
|
+
"description": "A histogram that distributes `values` across the bands of a color map and draws a\ncolumn per band. Each column's height is relative to the Y-axis max (an even\nceiling of the dataset size — the \"out of N\" in the tooltip). Empty columns\nare outlined, populated columns are filled with their band color. A left\nY-axis (count) and horizontal grid lines provide scale; interval labels run\nalong the bottom. Hovering a column reveals a tooltip with its share of the\ntotal.\naliases: Distribution|ColumnChart|FrequencyChart\nDesign system 1.0",
|
|
2806
3886
|
"props": [
|
|
2807
3887
|
{
|
|
2808
3888
|
"name": "title",
|
|
@@ -3200,7 +4280,8 @@
|
|
|
3200
4280
|
"examples": [
|
|
3201
4281
|
"<DialCheckbox\n id=\"checkbox\"\n label=\"Dial Checkbox\"\n checked={true}\n disabled={false}\n onChange={(value) => console.log(value)}\n/>"
|
|
3202
4282
|
],
|
|
3203
|
-
"sourceFile": "components/Checkbox/Checkbox.tsx"
|
|
4283
|
+
"sourceFile": "components/Checkbox/Checkbox.tsx",
|
|
4284
|
+
"supersededBy": "Checkbox"
|
|
3204
4285
|
},
|
|
3205
4286
|
{
|
|
3206
4287
|
"name": "DialSteps",
|
|
@@ -3448,7 +4529,8 @@
|
|
|
3448
4529
|
"examples": [
|
|
3449
4530
|
"<DialRadioGroup\n fieldTitle=\"Delivery\"\n elementId=\"delivery\"\n orientation={RadioGroupOrientation.Column}\n activeRadioButton=\"courier\"\n radioButtons={[\n { id: 'pickup', name: 'Pickup', content: <span>Free, ready today</span> },\n { id: 'courier', name: 'Courier', content: <span>Arrives tomorrow</span> },\n ]}\n onChange={(id) => console.log('selected', id)}\n/>"
|
|
3450
4531
|
],
|
|
3451
|
-
"sourceFile": "components/RadioGroup/RadioGroup.tsx"
|
|
4532
|
+
"sourceFile": "components/RadioGroup/RadioGroup.tsx",
|
|
4533
|
+
"supersededBy": "RadioGroup"
|
|
3452
4534
|
},
|
|
3453
4535
|
{
|
|
3454
4536
|
"name": "DialSlider",
|
|
@@ -3542,7 +4624,8 @@
|
|
|
3542
4624
|
"examples": [
|
|
3543
4625
|
"<DialSlider\n value={0.5}\n min={0}\n max={1}\n step={0.1}\n labels={['Precise', 'Neutral', 'Creative']}\n aria-label=\"Temperature\"\n onChange={(v) => console.log(v)}\n/>"
|
|
3544
4626
|
],
|
|
3545
|
-
"sourceFile": "components/Slider/Slider.tsx"
|
|
4627
|
+
"sourceFile": "components/Slider/Slider.tsx",
|
|
4628
|
+
"supersededBy": "Slider"
|
|
3546
4629
|
},
|
|
3547
4630
|
{
|
|
3548
4631
|
"name": "DialNoDataContent",
|
|
@@ -3665,7 +4748,8 @@
|
|
|
3665
4748
|
"examples": [
|
|
3666
4749
|
"<DialCollapsibleSidebar\n width={300}\n title=\"Menu\"\n titleClassName=\"text-primary font-bold\"\n containerClassName=\"bg-gray-100 shadow-md\"\n iconSize={24}\n additionalButtons={<button>Extra</button>}\n>\n <div>Content goes here</div>\n</DialCollapsibleSidebar>"
|
|
3667
4750
|
],
|
|
3668
|
-
"sourceFile": "components/CollapsibleSidebar/CollapsibleSidebar.tsx"
|
|
4751
|
+
"sourceFile": "components/CollapsibleSidebar/CollapsibleSidebar.tsx",
|
|
4752
|
+
"supersededBy": "CollapsibleSidebar"
|
|
3669
4753
|
},
|
|
3670
4754
|
{
|
|
3671
4755
|
"name": "DialLabelledText",
|
|
@@ -3807,7 +4891,8 @@
|
|
|
3807
4891
|
"examples": [
|
|
3808
4892
|
"<DialEllipsisTooltip text=\"Very long message that will be truncated\" />\n<DialEllipsisTooltip text={<span className=\"font-medium\">Custom node</span>} className=\"max-w-[160px]\" />\n<DialEllipsisTooltip text=\"Tooltip disabled even if truncated\" hideTooltip />"
|
|
3809
4893
|
],
|
|
3810
|
-
"sourceFile": "components/EllipsisTooltip/EllipsisTooltip.tsx"
|
|
4894
|
+
"sourceFile": "components/EllipsisTooltip/EllipsisTooltip.tsx",
|
|
4895
|
+
"supersededBy": "EllipsisTooltip"
|
|
3811
4896
|
},
|
|
3812
4897
|
{
|
|
3813
4898
|
"name": "DialDraggableItem",
|
|
@@ -4259,7 +5344,8 @@
|
|
|
4259
5344
|
}
|
|
4260
5345
|
],
|
|
4261
5346
|
"examples": [],
|
|
4262
|
-
"sourceFile": "components/ResizableContainer/ResizableContainer.tsx"
|
|
5347
|
+
"sourceFile": "components/ResizableContainer/ResizableContainer.tsx",
|
|
5348
|
+
"supersededBy": "ResizableContainer"
|
|
4263
5349
|
},
|
|
4264
5350
|
{
|
|
4265
5351
|
"name": "DialConditionalResizableContainer",
|
|
@@ -4278,7 +5364,8 @@
|
|
|
4278
5364
|
"examples": [
|
|
4279
5365
|
"<DialConditionalResizableContainer\n enabled={!isCollapsed}\n defaultWidth={260}\n minWidth={180}\n maxWidth={520}\n onResize={(w) => console.log('Current width:', w)}\n onResizeStop={(w) => setSidebarWidth(w)}\n>\n <Sidebar />\n</DialConditionalResizableContainer>"
|
|
4280
5366
|
],
|
|
4281
|
-
"sourceFile": "components/ResizableContainer/ConditionalResizableContainer.tsx"
|
|
5367
|
+
"sourceFile": "components/ResizableContainer/ConditionalResizableContainer.tsx",
|
|
5368
|
+
"supersededBy": "ConditionalResizableContainer"
|
|
4282
5369
|
},
|
|
4283
5370
|
{
|
|
4284
5371
|
"name": "DialGrid",
|
|
@@ -5106,7 +6193,8 @@
|
|
|
5106
6193
|
"examples": [
|
|
5107
6194
|
"<DialTooltip tooltip=\"This is helpful information\">\n <button>Hover me</button>\n</DialTooltip>"
|
|
5108
6195
|
],
|
|
5109
|
-
"sourceFile": "components/Tooltip/Tooltip.tsx"
|
|
6196
|
+
"sourceFile": "components/Tooltip/Tooltip.tsx",
|
|
6197
|
+
"supersededBy": "Tooltip"
|
|
5110
6198
|
},
|
|
5111
6199
|
{
|
|
5112
6200
|
"name": "DialTooltipContainer",
|
|
@@ -5115,7 +6203,8 @@
|
|
|
5115
6203
|
"description": "The container component that provides tooltip context and state management\nDesign system 1.0",
|
|
5116
6204
|
"props": [],
|
|
5117
6205
|
"examples": [],
|
|
5118
|
-
"sourceFile": "components/Tooltip/TooltipContainer.tsx"
|
|
6206
|
+
"sourceFile": "components/Tooltip/TooltipContainer.tsx",
|
|
6207
|
+
"supersededBy": "TooltipContainer"
|
|
5119
6208
|
},
|
|
5120
6209
|
{
|
|
5121
6210
|
"name": "DialTooltipContent",
|
|
@@ -5124,7 +6213,8 @@
|
|
|
5124
6213
|
"description": "The content area of a tooltip that displays the tooltip information\nDesign system 1.0",
|
|
5125
6214
|
"props": [],
|
|
5126
6215
|
"examples": [],
|
|
5127
|
-
"sourceFile": "components/Tooltip/TooltipContent.tsx"
|
|
6216
|
+
"sourceFile": "components/Tooltip/TooltipContent.tsx",
|
|
6217
|
+
"supersededBy": "TooltipContent"
|
|
5128
6218
|
},
|
|
5129
6219
|
{
|
|
5130
6220
|
"name": "DialTooltipTrigger",
|
|
@@ -5133,7 +6223,8 @@
|
|
|
5133
6223
|
"description": "The trigger element for a tooltip that can be clicked or hovered\nDesign system 1.0",
|
|
5134
6224
|
"props": [],
|
|
5135
6225
|
"examples": [],
|
|
5136
|
-
"sourceFile": "components/Tooltip/TooltipTrigger.tsx"
|
|
6226
|
+
"sourceFile": "components/Tooltip/TooltipTrigger.tsx",
|
|
6227
|
+
"supersededBy": "TooltipTrigger"
|
|
5137
6228
|
},
|
|
5138
6229
|
{
|
|
5139
6230
|
"name": "DialSwitch",
|
|
@@ -5230,7 +6321,8 @@
|
|
|
5230
6321
|
"examples": [
|
|
5231
6322
|
"<DialSegmentedControl\n ariaLabel=\"View\"\n value={view}\n onChange={setView}\n options={[\n { value: 'list', label: 'List' },\n { value: 'grid', label: 'Grid' },\n ]}\n/>"
|
|
5232
6323
|
],
|
|
5233
|
-
"sourceFile": "components/SegmentedControl/SegmentedControl.tsx"
|
|
6324
|
+
"sourceFile": "components/SegmentedControl/SegmentedControl.tsx",
|
|
6325
|
+
"supersededBy": "SegmentedControl"
|
|
5234
6326
|
},
|
|
5235
6327
|
{
|
|
5236
6328
|
"name": "DialPopup",
|
|
@@ -5441,7 +6533,8 @@
|
|
|
5441
6533
|
"examples": [
|
|
5442
6534
|
"<DialRadioGroupPopupField\n fieldTitle=\"Status\"\n htmlFor=\"status\"\n header=\"Select status\"\n emptyValueText=\"None\"\n radioButtons={[\n { id: 'draft', name: 'Draft' },\n { id: 'review', name: 'In Review' },\n { id: 'published', name: 'Published' },\n ]}\n selectedValue=\"draft\"\n selectedRadioValue=\"draft\"\n onChangeRadioField={(id) => console.log('radio changed', id)}\n id=\"status-group\"\n isValid={true}\n onApply={() => console.log('applied')}\n/>"
|
|
5443
6535
|
],
|
|
5444
|
-
"sourceFile": "components/RadioGroupPopupField/RadioGroupPopupField.tsx"
|
|
6536
|
+
"sourceFile": "components/RadioGroupPopupField/RadioGroupPopupField.tsx",
|
|
6537
|
+
"supersededBy": "RadioGroupPopupField"
|
|
5445
6538
|
},
|
|
5446
6539
|
{
|
|
5447
6540
|
"name": "DialFormPopup",
|
|
@@ -8167,6 +9260,14 @@
|
|
|
8167
9260
|
"name": "danger?",
|
|
8168
9261
|
"value": "boolean"
|
|
8169
9262
|
},
|
|
9263
|
+
{
|
|
9264
|
+
"name": "selectable?",
|
|
9265
|
+
"value": "boolean"
|
|
9266
|
+
},
|
|
9267
|
+
{
|
|
9268
|
+
"name": "checked?",
|
|
9269
|
+
"value": "boolean"
|
|
9270
|
+
},
|
|
8170
9271
|
{
|
|
8171
9272
|
"name": "type?",
|
|
8172
9273
|
"value": "DropdownItemType"
|
|
@@ -8685,6 +9786,10 @@
|
|
|
8685
9786
|
{
|
|
8686
9787
|
"name": "Loading",
|
|
8687
9788
|
"value": "'loading'"
|
|
9789
|
+
},
|
|
9790
|
+
{
|
|
9791
|
+
"name": "General",
|
|
9792
|
+
"value": "'general'"
|
|
8688
9793
|
}
|
|
8689
9794
|
],
|
|
8690
9795
|
"sourceFile": "types/notification.ts"
|
|
@@ -8733,6 +9838,64 @@
|
|
|
8733
9838
|
"sourceFile": "components/New/Calendar/Calendar.tsx",
|
|
8734
9839
|
"typeBody": "Date | string | null"
|
|
8735
9840
|
},
|
|
9841
|
+
{
|
|
9842
|
+
"name": "RadioGroupItem",
|
|
9843
|
+
"kind": "interface",
|
|
9844
|
+
"members": [
|
|
9845
|
+
{
|
|
9846
|
+
"name": "value",
|
|
9847
|
+
"value": "string"
|
|
9848
|
+
},
|
|
9849
|
+
{
|
|
9850
|
+
"name": "label?",
|
|
9851
|
+
"value": "ReactNode"
|
|
9852
|
+
},
|
|
9853
|
+
{
|
|
9854
|
+
"name": "caption?",
|
|
9855
|
+
"value": "string"
|
|
9856
|
+
},
|
|
9857
|
+
{
|
|
9858
|
+
"name": "content?",
|
|
9859
|
+
"value": "ReactNode"
|
|
9860
|
+
},
|
|
9861
|
+
{
|
|
9862
|
+
"name": "disabled?",
|
|
9863
|
+
"value": "boolean"
|
|
9864
|
+
},
|
|
9865
|
+
{
|
|
9866
|
+
"name": "'aria-label'?",
|
|
9867
|
+
"value": "string"
|
|
9868
|
+
}
|
|
9869
|
+
],
|
|
9870
|
+
"sourceFile": "components/New/RadioGroup/RadioGroup.tsx"
|
|
9871
|
+
},
|
|
9872
|
+
{
|
|
9873
|
+
"name": "SegmentedControlItem",
|
|
9874
|
+
"kind": "interface",
|
|
9875
|
+
"members": [
|
|
9876
|
+
{
|
|
9877
|
+
"name": "value",
|
|
9878
|
+
"value": "T"
|
|
9879
|
+
},
|
|
9880
|
+
{
|
|
9881
|
+
"name": "label?",
|
|
9882
|
+
"value": "ReactNode"
|
|
9883
|
+
},
|
|
9884
|
+
{
|
|
9885
|
+
"name": "icon?",
|
|
9886
|
+
"value": "ReactNode"
|
|
9887
|
+
},
|
|
9888
|
+
{
|
|
9889
|
+
"name": "disabled?",
|
|
9890
|
+
"value": "boolean"
|
|
9891
|
+
},
|
|
9892
|
+
{
|
|
9893
|
+
"name": "'aria-label'?",
|
|
9894
|
+
"value": "string"
|
|
9895
|
+
}
|
|
9896
|
+
],
|
|
9897
|
+
"sourceFile": "components/New/SegmentedControl/SegmentedControl.tsx"
|
|
9898
|
+
},
|
|
8736
9899
|
{
|
|
8737
9900
|
"name": "TabItem",
|
|
8738
9901
|
"kind": "interface",
|
|
@@ -8756,6 +9919,71 @@
|
|
|
8756
9919
|
],
|
|
8757
9920
|
"sourceFile": "components/New/Tabs/Tabs.tsx",
|
|
8758
9921
|
"description": "A single tab entry rendered by ."
|
|
9922
|
+
},
|
|
9923
|
+
{
|
|
9924
|
+
"name": "TagAppearance",
|
|
9925
|
+
"kind": "enum",
|
|
9926
|
+
"members": [
|
|
9927
|
+
{
|
|
9928
|
+
"name": "Outlined",
|
|
9929
|
+
"value": "'outlined'"
|
|
9930
|
+
},
|
|
9931
|
+
{
|
|
9932
|
+
"name": "Selectable",
|
|
9933
|
+
"value": "'selectable'"
|
|
9934
|
+
}
|
|
9935
|
+
],
|
|
9936
|
+
"sourceFile": "types/tag.ts"
|
|
9937
|
+
},
|
|
9938
|
+
{
|
|
9939
|
+
"name": "TooltipContainerOptions",
|
|
9940
|
+
"kind": "interface",
|
|
9941
|
+
"members": [
|
|
9942
|
+
{
|
|
9943
|
+
"name": "initialOpen?",
|
|
9944
|
+
"value": "boolean"
|
|
9945
|
+
},
|
|
9946
|
+
{
|
|
9947
|
+
"name": "placement?",
|
|
9948
|
+
"value": "TooltipPlacement"
|
|
9949
|
+
},
|
|
9950
|
+
{
|
|
9951
|
+
"name": "isTriggerClickable?",
|
|
9952
|
+
"value": "boolean"
|
|
9953
|
+
},
|
|
9954
|
+
{
|
|
9955
|
+
"name": "open?",
|
|
9956
|
+
"value": "boolean"
|
|
9957
|
+
},
|
|
9958
|
+
{
|
|
9959
|
+
"name": "onOpenChange?",
|
|
9960
|
+
"value": "(open: boolean) => void"
|
|
9961
|
+
}
|
|
9962
|
+
],
|
|
9963
|
+
"sourceFile": "components/New/Tooltip/TooltipContext.tsx"
|
|
9964
|
+
},
|
|
9965
|
+
{
|
|
9966
|
+
"name": "TooltipPlacement",
|
|
9967
|
+
"kind": "enum",
|
|
9968
|
+
"members": [
|
|
9969
|
+
{
|
|
9970
|
+
"name": "Top",
|
|
9971
|
+
"value": "'top'"
|
|
9972
|
+
},
|
|
9973
|
+
{
|
|
9974
|
+
"name": "Right",
|
|
9975
|
+
"value": "'right'"
|
|
9976
|
+
},
|
|
9977
|
+
{
|
|
9978
|
+
"name": "Bottom",
|
|
9979
|
+
"value": "'bottom'"
|
|
9980
|
+
},
|
|
9981
|
+
{
|
|
9982
|
+
"name": "Left",
|
|
9983
|
+
"value": "'left'"
|
|
9984
|
+
}
|
|
9985
|
+
],
|
|
9986
|
+
"sourceFile": "types/tooltip.ts"
|
|
8759
9987
|
}
|
|
8760
9988
|
],
|
|
8761
9989
|
"hooks": [
|