diff --git a/COMPONENT_INDEX.md b/COMPONENT_INDEX.md index 09468ccc..307d5e70 100644 --- a/COMPONENT_INDEX.md +++ b/COMPONENT_INDEX.md @@ -5372,7 +5372,8 @@ No exported props. ### Forwarded events -No forwarded events. +- `on:click` +- `on:keydown` ### Dispatched events diff --git a/docs/src/PUBLIC_API.json b/docs/src/PUBLIC_API.json index 4a9e4e57..f1202c00 100644 --- a/docs/src/PUBLIC_API.json +++ b/docs/src/PUBLIC_API.json @@ -1966,8 +1966,8 @@ [ "keydown", { - "start": 5616, - "end": 5626, + "start": 5618, + "end": 5628, "type": "EventHandler", "name": "keydown", "modifiers": [], @@ -1977,8 +1977,8 @@ [ "focus", { - "start": 6203, - "end": 6211, + "start": 6205, + "end": 6213, "type": "EventHandler", "name": "focus", "modifiers": [], @@ -1988,8 +1988,8 @@ [ "blur", { - "start": 6220, - "end": 6227, + "start": 6222, + "end": 6229, "type": "EventHandler", "name": "blur", "modifiers": [], @@ -1999,8 +1999,8 @@ [ "clear", { - "start": 6678, - "end": 6686, + "start": 6680, + "end": 6688, "type": "EventHandler", "name": "clear", "modifiers": [], @@ -2010,8 +2010,8 @@ [ "scroll", { - "start": 7220, - "end": 7229, + "start": 7246, + "end": 7255, "type": "EventHandler", "name": "scroll", "modifiers": [], @@ -15644,7 +15644,30 @@ } ] ], - "forwarded_events": [], + "forwarded_events": [ + [ + "click", + { + "start": 109, + "end": 117, + "type": "EventHandler", + "name": "click", + "modifiers": [], + "expression": null + } + ], + [ + "keydown", + { + "start": 118, + "end": 128, + "type": "EventHandler", + "name": "keydown", + "modifiers": [], + "expression": null + } + ] + ], "dispatched_events": [] }, "ToolbarSearch": { diff --git a/docs/src/pages/components/DataTable.svx b/docs/src/pages/components/DataTable.svx index 1aac612f..df5cdb5d 100644 --- a/docs/src/pages/components/DataTable.svx +++ b/docs/src/pages/components/DataTable.svx @@ -1,9 +1,9 @@ --- -components: ["DataTable", "Toolbar", "ToolbarContent", "ToolbarSearch", "ToolbarBatchActions"] +components: ["DataTable", "Toolbar", "ToolbarContent", "ToolbarSearch", "ToolbarMenu", "ToolbarMenuItem", "ToolbarBatchActions"] --- @@ -316,7 +316,12 @@ The slot name for the table header cells is `"cell-header"`. - + + Restart all + API Documentation + Stop all + + @@ -378,7 +383,12 @@ The slot name for the table header cells is `"cell-header"`. - + + Restart all + API Documentation + Stop all + + diff --git a/docs/src/pages/framed/DataTable/DataTableBatchSelectionToolbar.svelte b/docs/src/pages/framed/DataTable/DataTableBatchSelectionToolbar.svelte index 3824f668..b777b34c 100644 --- a/docs/src/pages/framed/DataTable/DataTableBatchSelectionToolbar.svelte +++ b/docs/src/pages/framed/DataTable/DataTableBatchSelectionToolbar.svelte @@ -4,6 +4,8 @@ Toolbar, ToolbarContent, ToolbarSearch, + ToolbarMenu, + ToolbarMenuItem, ToolbarBatchActions, Button, } from "carbon-components-svelte"; @@ -36,7 +38,14 @@ - + + Restart all + + API Documentation + + Stop all + + diff --git a/src/DataTable/Toolbar.svelte b/src/DataTable/Toolbar.svelte index e4307728..f0af4184 100644 --- a/src/DataTable/Toolbar.svelte +++ b/src/DataTable/Toolbar.svelte @@ -6,18 +6,17 @@ export let size = "default"; import { setContext } from "svelte"; + import { writable } from "svelte/store"; let ref = null; + const overflowVisible = writable(false); + setContext("Toolbar", { - setOverflow: (toggled) => { - if (ref) { - if (toggled) { - ref.style.overflow = "visible"; - } else { - ref.removeAttribute("style"); - } - } + overflowVisible, + setOverflowVisible: (visible) => { + overflowVisible.set(visible); + if (ref) ref.style.overflow = visible ? "visible" : "inherit"; }, }); diff --git a/src/DataTable/ToolbarBatchActions.svelte b/src/DataTable/ToolbarBatchActions.svelte index 0ac2b648..a5d1e0d5 100644 --- a/src/DataTable/ToolbarBatchActions.svelte +++ b/src/DataTable/ToolbarBatchActions.svelte @@ -18,27 +18,41 @@ batchSelectedIds = value; }); - onMount(() => unsubscribe); + let overflowVisible = false; + + const ctxToolbar = getContext("Toolbar"); + const unsubscribeOverflow = ctxToolbar.overflowVisible.subscribe((value) => { + overflowVisible = value; + }); + + onMount(() => { + return () => { + unsubscribe(); + unsubscribeOverflow(); + }; + }); -
-
-

- {formatTotalSelected(batchSelectedIds.length)} -

+{#if !overflowVisible} +
+
+

+ {formatTotalSelected(batchSelectedIds.length)} +

+
+
+ + +
-
- - -
-
+{/if} diff --git a/src/DataTable/ToolbarMenu.svelte b/src/DataTable/ToolbarMenu.svelte index eeb3d3c5..2fdf86d2 100644 --- a/src/DataTable/ToolbarMenu.svelte +++ b/src/DataTable/ToolbarMenu.svelte @@ -7,7 +7,7 @@ let menuRef = null; - $: ctx.setOverflow(menuRef != null); + $: ctx.setOverflowVisible(menuRef != null); $: if (menuRef) menuRef.style.top = "100%"; diff --git a/src/DataTable/ToolbarMenuItem.svelte b/src/DataTable/ToolbarMenuItem.svelte index 591ea67a..69a06656 100644 --- a/src/DataTable/ToolbarMenuItem.svelte +++ b/src/DataTable/ToolbarMenuItem.svelte @@ -2,6 +2,6 @@ import { OverflowMenuItem } from "../OverflowMenu"; - +