diff --git a/packages/materialdesign-components/src/List/List.svelte b/packages/materialdesign-components/src/List/List.svelte index f1686c43ee..eae7018d1b 100644 --- a/packages/materialdesign-components/src/List/List.svelte +++ b/packages/materialdesign-components/src/List/List.svelte @@ -17,33 +17,24 @@ export let onSelect = selectedItems => {} export let singleSelection = false - export let variant = "two-line" + export let variant = "one-line" export let inputElement = null let selectedItemsStore let role = "listbox" - function createOrAcceptItemStore() { - let store = _bb.getContext("BBMD:list:selectItemStore") - if (!!store) { - selectedItemsStore = store - } else { - selectedItemsStore = createItemsStore(() => onSelect($selectedItemsStore)) - _bb.setContext("BBMD:list:selectItemStore", selectedItemsStore) - } - } - onMount(() => { - createOrAcceptItemStore() + let ctx = getContext("BBMD:list:context") - if (!_bb.getContext("BBMD:list:props")) { - _bb.setContext("BBMD:list:props", { - inputElement, - variant, - singleSelection, - }) - } + selectedItemsStore = createItemsStore(() => onSelect($selectedItemsStore)) + _bb.setContext("BBMD:list:selectItemStore", selectedItemsStore) + + _bb.setContext("BBMD:list:props", { + inputElement, + variant, + singleSelection, + }) if (!!list) { if (!inputElement) { diff --git a/packages/materialdesign-components/src/List/ListItem.svelte b/packages/materialdesign-components/src/List/ListItem.svelte index 775d73d2e2..979ea3e8b3 100644 --- a/packages/materialdesign-components/src/List/ListItem.svelte +++ b/packages/materialdesign-components/src/List/ListItem.svelte @@ -7,8 +7,6 @@ const cb = new ClassBuilder("list-item") - export let onClick = item => {} - let _id let listProps = null @@ -24,6 +22,7 @@ export let trailingIcon = "" export let selected = false export let disabled = false + export let dividerAfter = false let role = "option" @@ -110,3 +109,6 @@ {/if} +{#if dividerAfter} +
+{/if} diff --git a/packages/materialdesign-components/src/Menu/Menu.svelte b/packages/materialdesign-components/src/Menu/Menu.svelte index b601d38f3e..5782652376 100644 --- a/packages/materialdesign-components/src/Menu/Menu.svelte +++ b/packages/materialdesign-components/src/Menu/Menu.svelte @@ -6,7 +6,6 @@ export let onSelect = selectedItems => {} - export let singleSelection = true export let width = "400px" export let open = true export let useFixedPosition = false @@ -17,21 +16,16 @@ export let _bb let menu = null + let menuList = null let instance = null let selectedItemsStore - function createOrAcceptItemStore() { - let store = _bb.getContext("BBMD:list:selectItemStore") - if (!!store) { - selectedItemsStore = store - } else { - selectedItemsStore = createItemsStore(() => onSelect($selectedItemsStore)) - _bb.setContext("BBMD:list:selectItemStore", selectedItemsStore) - } - } - onMount(() => { - createOrAcceptItemStore() + _bb.setContext("BBMD:list:context", "menu") + _bb.setContext("BBMD:list:props", { singleSelection: true }) + + selectedItemsStore = createItemsStore(() => onSelect($selectedItemsStore)) + _bb.setContext("BBMD:list:selectItemStore", selectedItemsStore) if (!!menu) { instance = new MDCMenu(menu) @@ -43,8 +37,9 @@ instance.setAbsolutePosition(x | 0, y | 0) } } - setContext("BBMD:list:context", "menu") }) + + $: menuList && _bb.attachChildren(menuList) {#if useFixedPosition || useAbsolutePosition} @@ -52,17 +47,17 @@ bind:this={menu} class="mdc-menu mdc-menu-surface" style={`width: ${width}`}> -