Alignment with Carbon version 10.32 (#588)

* feat(code-snippet): add copy functionality

- docs: add custom feedback copy text example

* feat(tile): support disabled state for SelectableTile, RadioTile

Closes #539

* build(rollup): add clipboard-copy to globals

* feat(copy-button): add copy functionality

* feat(content-switcher): deprecate the light prop

- docs: remove the light variant example

* fix(toolbar-search): remove outer div

* feat(search): add searchClass prop

* fix(composed-modal): set hasScrollingContent class on ModalBody

* docs(data-table): add expandable size examples

* feat(tooltip): add TooltipFooter component

* fix(time-picker): correctly display invalidText

* feat(breadcrumb): support overflow menu

* feat(multi-select): export inputRef prop

* chore(deps-dev): upgrade carbon-components to v10.32.0

* feat(form): add noMargin prop to FormGroup

* docs(tooltip): document TooltipFooter

* feat(context-menu): support danger kind for ContextMenuOption

* feat(data-table): support rendering empty table header in skeleton

* refactor(types): use shorter import path in DataTableSkeleton

* feat(data-table): allow sorting to be disabled for a specific header

* docs(data-table): update example to desort the Protocol header

As an example, it makes more sense because all the values ("http") are the same.

* fix(context-menu): set initial y offset of context menu based on window height #577

* fix(context-menu): render submenu based on viewport constraints #577
This commit is contained in:
Eric Liu 2021-04-02 13:31:53 -07:00 committed by GitHub
commit fa9b90cd79
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
61 changed files with 825 additions and 233 deletions

View file

@ -11,6 +11,7 @@ export interface CodeSnippetProps {
/**
* Set the code snippet text
* Alternatively, use the default slot (e.g., <CodeSnippet>{`code`}</CodeSnippet>)
* You must use the `code` prop to copy the code
*/
code?: string;
@ -115,6 +116,7 @@ export default class CodeSnippet extends SvelteComponentTyped<
mouseenter: WindowEventMap["mouseenter"];
mouseleave: WindowEventMap["mouseleave"];
animationend: WindowEventMap["animationend"];
copy: CustomEvent<any>;
},
{ default: {} }
> {}

View file

@ -3,6 +3,12 @@ import { SvelteComponentTyped } from "svelte";
export interface ContextMenuOptionProps
extends svelte.JSX.HTMLAttributes<HTMLElementTagNameMap["li"]> {
/**
* Specify the kind of option
* @default "default"
*/
kind?: "default" | "danger";
/**
* Set to `true` to enable the disabled state
* @default false

View file

@ -8,6 +8,11 @@ export interface CopyButtonProps extends CopyProps {
* @default "Copy to clipboard"
*/
iconDescription?: string;
/**
* Specify the text to copy
*/
text?: string;
}
export default class CopyButton extends SvelteComponentTyped<
@ -15,6 +20,7 @@ export default class CopyButton extends SvelteComponentTyped<
{
click: WindowEventMap["click"];
animationend: WindowEventMap["animationend"];
copy: CustomEvent<any>;
},
{}
> {}

View file

@ -9,7 +9,7 @@ export interface DataTableEmptyHeader {
key: DataTableKey;
empty: boolean;
display?: (item: Value) => DataTableValue;
sort?: (a: DataTableValue, b: DataTableValue) => 0 | -1 | 1;
sort?: false | ((a: DataTableValue, b: DataTableValue) => 0 | -1 | 1);
columnMenu?: boolean;
}
@ -17,7 +17,7 @@ export interface DataTableNonEmptyHeader {
key: DataTableKey;
value: DataTableValue;
display?: (item: Value) => DataTableValue;
sort?: (a: DataTableValue, b: DataTableValue) => 0 | -1 | 1;
sort?: false | ((a: DataTableValue, b: DataTableValue) => 0 | -1 | 1);
columnMenu?: boolean;
}
@ -141,7 +141,7 @@ export default class DataTable extends SvelteComponentTyped<
["click:header--expand"]: CustomEvent<{ expanded: boolean }>;
["click:header"]: CustomEvent<{
header: DataTableHeader;
sortDirection: "ascending" | "descending" | "none";
sortDirection?: "ascending" | "descending" | "none";
}>;
["click:row"]: CustomEvent<DataTableRow>;
["mouseenter:row"]: CustomEvent<DataTableRow>;

View file

@ -1,6 +1,6 @@
/// <reference types="svelte" />
import { SvelteComponentTyped } from "svelte";
import { DataTableHeader } from "../DataTable/DataTable";
import { DataTableHeader } from "./DataTable";
export interface DataTableSkeletonProps
extends DataTableHeader,

View file

@ -3,6 +3,12 @@ import { SvelteComponentTyped } from "svelte";
export interface TableHeaderProps
extends svelte.JSX.HTMLAttributes<HTMLElementTagNameMap["th"]> {
/**
* Set to `true` to disable sorting on this specific cell
* @default false
*/
disableSorting?: boolean;
/**
* Specify the `scope` attribute
* @default "col"

View file

@ -15,6 +15,12 @@ export interface FormGroupProps
*/
message?: boolean;
/**
* Set to `true` for to remove the bottom margin
* @default false
*/
noMargin?: boolean;
/**
* Specify the message text
* @default ""

View file

@ -174,6 +174,12 @@ export interface MultiSelectProps
* Specify a name attribute for the select
*/
name?: string;
/**
* Obtain a reference to the input HTML element
* @default null
*/
inputRef?: null | HTMLInputElement;
}
export default class MultiSelect extends SvelteComponentTyped<

View file

@ -13,6 +13,12 @@ export interface SearchProps {
*/
size?: "sm" | "lg" | "xl";
/**
* Specify the class name passed to the outer div element
* @default ""
*/
searchClass?: string;
/**
* Set to `true` to display the skeleton state
* @default false

View file

@ -15,6 +15,12 @@ export interface RadioTileProps
*/
light?: boolean;
/**
* Set to `true` to disable the tile
* @default false
*/
disabled?: boolean;
/**
* Specify the value of the radio input
* @default ""

View file

@ -15,6 +15,12 @@ export interface SelectableTileProps
*/
light?: boolean;
/**
* Set to `true` to disable the tile
* @default false
*/
disabled?: boolean;
/**
* Specify the title of the selectable tile
* @default "title"

16
types/Tooltip/TooltipFooter.d.ts vendored Normal file
View file

@ -0,0 +1,16 @@
/// <reference types="svelte" />
import { SvelteComponentTyped } from "svelte";
export interface TooltipFooterProps {
/**
* Specify a selector to be focused inside the footer when opening the tooltip
* @default "a[href], button:not([disabled])"
*/
selectorPrimaryFocus?: string;
}
export default class TooltipFooter extends SvelteComponentTyped<
TooltipFooterProps,
{},
{ default: {} }
> {}

1
types/index.d.ts vendored
View file

@ -139,6 +139,7 @@ export { default as ToggleSkeleton } from "./Toggle/ToggleSkeleton";
export { default as ToggleSmall } from "./ToggleSmall/ToggleSmall";
export { default as ToggleSmallSkeleton } from "./ToggleSmall/ToggleSmallSkeleton";
export { default as Tooltip } from "./Tooltip/Tooltip";
export { default as TooltipFooter } from "./Tooltip/TooltipFooter";
export { default as TooltipDefinition } from "./TooltipDefinition/TooltipDefinition";
export { default as TooltipIcon } from "./TooltipIcon/TooltipIcon";
export { default as Truncate } from "./Truncate/Truncate";