diff --git a/src/Accordion/Accordion.Skeleton.svelte b/src/Accordion/Accordion.Skeleton.svelte index 436d57ea..e9d94803 100644 --- a/src/Accordion/Accordion.Skeleton.svelte +++ b/src/Accordion/Accordion.Skeleton.svelte @@ -1,5 +1,14 @@ +
- {#each [0, 1, 2] as item, i (item)} + {#each Array.from({ length: count }, (_, i) => i) as item, i (item)}
 
diff --git a/src/Breadcrumb/Breadcrumb.Story.svelte b/src/Breadcrumb/Breadcrumb.Story.svelte index c42ecf85..ae7ca3f2 100644 --- a/src/Breadcrumb/Breadcrumb.Story.svelte +++ b/src/Breadcrumb/Breadcrumb.Story.svelte @@ -24,7 +24,7 @@ Breadcrumb 3 {:else if story === 'skeleton'} - + {:else} diff --git a/src/Breadcrumb/Breadcrumb.stories.js b/src/Breadcrumb/Breadcrumb.stories.js index 44e80de0..6baf69e3 100644 --- a/src/Breadcrumb/Breadcrumb.stories.js +++ b/src/Breadcrumb/Breadcrumb.stories.js @@ -1,4 +1,4 @@ -import { withKnobs, boolean } from "@storybook/addon-knobs"; +import { withKnobs, boolean, number } from "@storybook/addon-knobs"; import Component from "./Breadcrumb.Story.svelte"; export default { title: "Breadcrumb", decorators: [withKnobs] }; @@ -12,7 +12,11 @@ export const Default = () => ({ export const Skeleton = () => ({ Component, - props: { story: "skeleton" }, + props: { + story: "skeleton", + noTrailingSlash: boolean("No Trailing Slash (noTrailingSlash)", false), + count: number("Number of breadcrumb items (count)", 3), + }, }); export const CurrentPage = () => ({ diff --git a/src/Breadcrumb/Breadcrumb.svelte b/src/Breadcrumb/Breadcrumb.svelte index b49c9e28..0b052488 100644 --- a/src/Breadcrumb/Breadcrumb.svelte +++ b/src/Breadcrumb/Breadcrumb.svelte @@ -1,5 +1,14 @@ diff --git a/src/Button/Button.stories.js b/src/Button/Button.stories.js index e5527bdf..a868f1c5 100644 --- a/src/Button/Button.stories.js +++ b/src/Button/Button.stories.js @@ -6,6 +6,7 @@ export default { title: "Button", decorators: [withKnobs] }; const kinds = { "Primary button (primary)": "primary", "Secondary button (secondary)": "secondary", + "Tertiary button (tertiary)": "tertiary", "Danger button (danger)": "danger", "Ghost button (ghost)": "ghost", }; diff --git a/src/Button/Button.svelte b/src/Button/Button.svelte index 01330a2e..1f014da5 100644 --- a/src/Button/Button.svelte +++ b/src/Button/Button.svelte @@ -1,17 +1,88 @@
- export let type = "single"; // "single" | "inline" | "multi" + /** + * Set the type of code snippet + * @type {"single" | "inline" | "multi"} [type="single"] + */ + export let type = "single"; + + /** + * Set the code snippet text + * Alternatively, use the default slot (e.g. {`code`}) + * @type {string} [code] + */ export let code = undefined; + + /** + * Set to `true` to expand a multi-line code snippet (type="multi") + * @type {boolean} [expanded=false] + */ export let expanded = false; + + /** + * Set to `true` to enable the light variant + * @type {boolean} [light=false] + */ export let light = false; + + /** + * Set to `true` to display the skeleton state + * @type {boolean} [skeleton=false] + */ export let skeleton = false; + + /** + * Specify the ARIA label for the copy button icon + * @type {string} [copyButtonDescription] + */ export let copyButtonDescription = undefined; + + /** + * Specify the ARIA label of the copy button + * @type {string} [copyLabel] + */ export let copyLabel = undefined; + + /** + * Specify the feedback text displayed when clicking the snippet + * @type {string} [feedback="Copied!"] + */ export let feedback = "Copied!"; + + /** + * Set the timeout duration (ms) to display feedback text + * @type {number} [feedbackTimeout=2000] + */ export let feedbackTimeout = 2000; + + /** + * Specify the show less text + * `type` must be "multi" + * @type {string} [showLessText="Show less"] + */ export let showLessText = "Show less"; + + /** + * Specify the show more text + * `type` must be "multi" + * @type {string} [showLessText="Show more"] + */ export let showMoreText = "Show more"; + + /** + * Set to `true` to enable the show more/less button + * @type {boolean} [showMoreLess=false] + */ export let showMoreLess = false; + + /** + * Set an id for the code element + * @type {string} [id] + */ export let id = "ccs-" + Math.random().toString(36); + + /** + * Obtain a reference to the pre HTML element + * @type {null | HTMLPreElement} [ref=null] + */ export let ref = null; import { afterUpdate } from "svelte"; @@ -48,7 +120,7 @@ {expanded && 'bx--snippet--expand'} {light && 'bx--snippet--light'}" {...$$restProps} - on:clicks + on:click on:mouseover on:mouseenter on:mouseleave> diff --git a/src/ComboBox/ComboBox.svelte b/src/ComboBox/ComboBox.svelte index 18364891..3ebc33fc 100644 --- a/src/ComboBox/ComboBox.svelte +++ b/src/ComboBox/ComboBox.svelte @@ -1,21 +1,114 @@ diff --git a/src/ComposedModal/ModalFooter.svelte b/src/ComposedModal/ModalFooter.svelte index f4a4ea95..d59b74ac 100644 --- a/src/ComposedModal/ModalFooter.svelte +++ b/src/ComposedModal/ModalFooter.svelte @@ -1,9 +1,38 @@ @@ -91,7 +131,7 @@ sortHeader.set({ id: sortDirection === 'none' ? null : $thKeys[header.key], key: header.key, - sortDirection + sortDirection, }); }}> {header.value} diff --git a/src/DataTable/Table.svelte b/src/DataTable/Table.svelte index b57aa169..37bd41cb 100644 --- a/src/DataTable/Table.svelte +++ b/src/DataTable/Table.svelte @@ -1,9 +1,38 @@ diff --git a/src/DataTable/TableContainer.svelte b/src/DataTable/TableContainer.svelte index 60b6d6af..0eb474ec 100644 --- a/src/DataTable/TableContainer.svelte +++ b/src/DataTable/TableContainer.svelte @@ -1,7 +1,21 @@
+ /** + * Specify the `scope` attribute + * @type {string} [scope="col"] + */ export let scope = "col"; + + /** + * Override the default id translations + * @type {() => string;} [translateWithId = () => "";] + */ export let translateWithId = () => ""; + + /** + * Set an id for the top-level element + * @type {string} [id] + */ export let id = "ccs-" + Math.random().toString(36); import { getContext } from "svelte"; @@ -20,6 +34,7 @@ + /** + * Set to `true` to select the row + * @type {boolean} [isSelected=false] + */ export let isSelected = false; // TODO: include ariaLabel, onExpand, isExpanded, isSelected diff --git a/src/DataTableSkeleton/DataTableSkeleton.svelte b/src/DataTableSkeleton/DataTableSkeleton.svelte index 3ffe2cec..ec463ff0 100644 --- a/src/DataTableSkeleton/DataTableSkeleton.svelte +++ b/src/DataTableSkeleton/DataTableSkeleton.svelte @@ -1,8 +1,33 @@ diff --git a/src/DatePicker/DatePicker.svelte b/src/DatePicker/DatePicker.svelte index 3af2ccb2..835d7f42 100644 --- a/src/DatePicker/DatePicker.svelte +++ b/src/DatePicker/DatePicker.svelte @@ -1,35 +1,84 @@ diff --git a/src/Dropdown/Dropdown.svelte b/src/Dropdown/Dropdown.svelte index 399e66a6..4082a39f 100644 --- a/src/Dropdown/Dropdown.svelte +++ b/src/Dropdown/Dropdown.svelte @@ -1,21 +1,116 @@ diff --git a/src/FileUploader/FileUploaderDropContainer.svelte b/src/FileUploader/FileUploaderDropContainer.svelte index 9b61416d..9a21738b 100644 --- a/src/FileUploader/FileUploaderDropContainer.svelte +++ b/src/FileUploader/FileUploaderDropContainer.svelte @@ -1,13 +1,67 @@ + /** + * Specify the file name status + * @type {"uploading" | "edit" | "complete"} [status="uploading"] + */ + export let status = "uploading"; + + /** + * Specify the ARIA label used for the status icons + * @type {string} [iconDescription=""] + */ export let iconDescription = ""; + + /** + * Set to `true` to indicate an invalid state + * @type {boolean} [invalid=false] + */ export let invalid = false; - export let status = "uploading"; // "uploading" | "edit" | "complete" import Close16 from "carbon-icons-svelte/lib/Close16"; import CheckmarkFilled16 from "carbon-icons-svelte/lib/CheckmarkFilled16"; diff --git a/src/FormGroup/FormGroup.svelte b/src/FormGroup/FormGroup.svelte index f4ee9b1a..2d89e4dc 100644 --- a/src/FormGroup/FormGroup.svelte +++ b/src/FormGroup/FormGroup.svelte @@ -1,8 +1,13 @@
+ /** + * Set an id to be used by the label element + * @type {string} [id] + */ export let id = "ccs-" + Math.random().toString(36); diff --git a/src/Grid/Column.svelte b/src/Grid/Column.svelte index f98225a7..1c476c16 100644 --- a/src/Grid/Column.svelte +++ b/src/Grid/Column.svelte @@ -1,37 +1,61 @@ diff --git a/src/Icon/Icon.svelte b/src/Icon/Icon.svelte index fc724742..23058e6c 100644 --- a/src/Icon/Icon.svelte +++ b/src/Icon/Icon.svelte @@ -1,5 +1,15 @@ diff --git a/src/ListBox/ListBox.svelte b/src/ListBox/ListBox.svelte index 0a8b55b4..abeef665 100644 --- a/src/ListBox/ListBox.svelte +++ b/src/ListBox/ListBox.svelte @@ -1,10 +1,44 @@ @@ -21,7 +55,7 @@ class="{size && `bx--list-box--${size}`} {$$restProps.class}" on:keydown - on:keydown={e => { + on:keydown={(e) => { if (e.key === 'Escape') { e.stopPropagation(); } diff --git a/src/ListBox/ListBoxField.svelte b/src/ListBox/ListBoxField.svelte index 60a94ce2..81d71033 100644 --- a/src/ListBox/ListBoxField.svelte +++ b/src/ListBox/ListBoxField.svelte @@ -1,17 +1,56 @@
diff --git a/src/ListBox/ListBoxMenuIcon.svelte b/src/ListBox/ListBoxMenuIcon.svelte index bdff9302..5ccd3fc4 100644 --- a/src/ListBox/ListBoxMenuIcon.svelte +++ b/src/ListBox/ListBoxMenuIcon.svelte @@ -1,13 +1,32 @@ diff --git a/src/ListBox/ListBoxSelection.svelte b/src/ListBox/ListBoxSelection.svelte index 0acbd4a2..05961442 100644 --- a/src/ListBox/ListBoxSelection.svelte +++ b/src/ListBox/ListBoxSelection.svelte @@ -1,11 +1,40 @@ -
-{:else} - - - + on:mouseleave /> +{:else} + {#if filter} +
+ + {type} + + +
+ {:else} + + + + {/if} {/if} diff --git a/src/TextArea/TextArea.Skeleton.svelte b/src/TextArea/TextArea.Skeleton.svelte index 9f4e44d3..7594ce9c 100644 --- a/src/TextArea/TextArea.Skeleton.svelte +++ b/src/TextArea/TextArea.Skeleton.svelte @@ -1,4 +1,8 @@ diff --git a/src/TextArea/TextArea.svelte b/src/TextArea/TextArea.svelte index 7c83d0ec..b2364799 100644 --- a/src/TextArea/TextArea.svelte +++ b/src/TextArea/TextArea.svelte @@ -1,17 +1,86 @@ diff --git a/src/TextInput/TextInput.svelte b/src/TextInput/TextInput.svelte index e24e8179..47f196ef 100644 --- a/src/TextInput/TextInput.svelte +++ b/src/TextInput/TextInput.svelte @@ -1,17 +1,86 @@ diff --git a/src/Tile/ExpandableTile.svelte b/src/Tile/ExpandableTile.svelte index 4a2fe454..e708683a 100644 --- a/src/Tile/ExpandableTile.svelte +++ b/src/Tile/ExpandableTile.svelte @@ -1,12 +1,56 @@ diff --git a/src/Tile/TileGroup.svelte b/src/Tile/TileGroup.svelte index 1c06e3a2..023c5633 100644 --- a/src/Tile/TileGroup.svelte +++ b/src/Tile/TileGroup.svelte @@ -1,6 +1,20 @@
+ on:mouseleave>
{/if} + on:blur />
diff --git a/src/TimePicker/TimePickerSelect.svelte b/src/TimePicker/TimePickerSelect.svelte index 1f96c18a..525b7591 100644 --- a/src/TimePicker/TimePickerSelect.svelte +++ b/src/TimePicker/TimePickerSelect.svelte @@ -1,11 +1,51 @@
+ /** + * Set to `true` to toggle the checkbox input + * @type {boolean} [toggled=false] + */ export let toggled = false; + + /** + * Set to `true` to disable checkbox input + * @type {boolean} [disabled=false] + */ export let disabled = false; + + /** + * Specify the label for the untoggled state + * @type {string} [labelA="Off"] + */ export let labelA = "Off"; + + /** + * Specify the label for the toggled state + * @type {string} [labelB="On"] + */ export let labelB = "On"; + + /** + * Specify the label text + * @type {string} [labelText=""] + */ export let labelText = ""; + + /** + * Set an id for the input element + * @type {string} [id] + */ export let id = "ccs-" + Math.random().toString(36); + + /** + * Specify a name attribute for the checkbox input + * @type {string} [name] + */ export let name = undefined; @@ -24,7 +58,7 @@ toggled = !toggled; }} on:keyup - on:keyup={e => { + on:keyup={(e) => { if (e.key === ' ' || e.key === 'Enter') { e.preventDefault(); toggled = !toggled; diff --git a/src/ToggleSmall/ToggleSmall.Skeleton.svelte b/src/ToggleSmall/ToggleSmall.Skeleton.svelte index 3c18f40d..fe66cc53 100644 --- a/src/ToggleSmall/ToggleSmall.Skeleton.svelte +++ b/src/ToggleSmall/ToggleSmall.Skeleton.svelte @@ -1,5 +1,14 @@ diff --git a/src/ToggleSmall/ToggleSmall.svelte b/src/ToggleSmall/ToggleSmall.svelte index 96c29aff..1a3de00a 100644 --- a/src/ToggleSmall/ToggleSmall.svelte +++ b/src/ToggleSmall/ToggleSmall.svelte @@ -1,10 +1,44 @@ @@ -28,7 +62,7 @@ toggled = !toggled; }} on:keyup - on:keyup={e => { + on:keyup={(e) => { if (e.key === ' ' || e.key === 'Enter') { e.preventDefault(); toggled = !toggled; diff --git a/src/Tooltip/Tooltip.svelte b/src/Tooltip/Tooltip.svelte index 8a210613..86261e99 100644 --- a/src/Tooltip/Tooltip.svelte +++ b/src/Tooltip/Tooltip.svelte @@ -1,16 +1,81 @@ diff --git a/src/TooltipDefinition/TooltipDefinition.svelte b/src/TooltipDefinition/TooltipDefinition.svelte index 799d8d9c..be2c855e 100644 --- a/src/TooltipDefinition/TooltipDefinition.svelte +++ b/src/TooltipDefinition/TooltipDefinition.svelte @@ -1,8 +1,32 @@ { - if (e.key === 'Escape') { + on:keydown={({ key }) => { + if (key === 'Escape') { hidden = true; } }} /> diff --git a/src/TooltipIcon/TooltipIcon.Story.svelte b/src/TooltipIcon/TooltipIcon.Story.svelte index ba669f34..189a777d 100644 --- a/src/TooltipIcon/TooltipIcon.Story.svelte +++ b/src/TooltipIcon/TooltipIcon.Story.svelte @@ -1,6 +1,5 @@ diff --git a/src/TooltipIcon/TooltipIcon.svelte b/src/TooltipIcon/TooltipIcon.svelte index 0ec451bd..d1a4ea2f 100644 --- a/src/TooltipIcon/TooltipIcon.svelte +++ b/src/TooltipIcon/TooltipIcon.svelte @@ -1,8 +1,32 @@ diff --git a/src/UIShell/GlobalHeader/Header.svelte b/src/UIShell/GlobalHeader/Header.svelte index 06ac6789..1638ff98 100644 --- a/src/UIShell/GlobalHeader/Header.svelte +++ b/src/UIShell/GlobalHeader/Header.svelte @@ -1,9 +1,33 @@ @@ -18,10 +31,10 @@ diff --git a/src/UIShell/GlobalHeader/HeaderActionSearch.svelte b/src/UIShell/GlobalHeader/HeaderActionSearch.svelte index a478817c..fc743a95 100644 --- a/src/UIShell/GlobalHeader/HeaderActionSearch.svelte +++ b/src/UIShell/GlobalHeader/HeaderActionSearch.svelte @@ -1,5 +1,9 @@ diff --git a/src/UIShell/GlobalHeader/HeaderNavItem.svelte b/src/UIShell/GlobalHeader/HeaderNavItem.svelte index bcc31448..a2cf6f9f 100644 --- a/src/UIShell/GlobalHeader/HeaderNavItem.svelte +++ b/src/UIShell/GlobalHeader/HeaderNavItem.svelte @@ -1,5 +1,14 @@ diff --git a/src/UIShell/GlobalHeader/HeaderNavMenu.svelte b/src/UIShell/GlobalHeader/HeaderNavMenu.svelte index 52f51617..c1dea89f 100644 --- a/src/UIShell/GlobalHeader/HeaderNavMenu.svelte +++ b/src/UIShell/GlobalHeader/HeaderNavMenu.svelte @@ -1,7 +1,26 @@ diff --git a/src/UIShell/SideNav/HamburgerMenu.svelte b/src/UIShell/SideNav/HamburgerMenu.svelte index 04ebd768..53dcb38b 100644 --- a/src/UIShell/SideNav/HamburgerMenu.svelte +++ b/src/UIShell/SideNav/HamburgerMenu.svelte @@ -1,5 +1,14 @@