@mozaic-ds/web-components 0.25.0 → 0.26.1
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/package.json +3 -3
- package/public/adeo/components/autocomplete/Autocomplete.js +1 -1
- package/public/adeo/components/autocomplete/Autocomplete.js.map +1 -1
- package/public/adeo/components/autocomplete/Autocomplete.svelte +1 -1
- package/public/adeo/components/datatable/DataTable.js +1 -1
- package/public/adeo/components/datatable/datatable-default-action.nested.js +1 -1
- package/public/adeo/components/datatable/datatable-default-action.nested.js.map +1 -1
- package/public/adeo/components/datatable/datatable-default-edtion.nested.js +1 -1
- package/public/adeo/components/datatable/datatable-default-edtion.nested.js.map +1 -1
- package/public/adeo/components/datatable/datatable-default-filter-tags.nested.js +1 -1
- package/public/adeo/components/datatable/datatable-default-filter-tags.nested.js.map +1 -1
- package/public/adeo/components/datatable/datatable-default-footer.nested.js +1 -1
- package/public/adeo/components/datatable/datatable-default-footer.nested.js.map +1 -1
- package/public/adeo/components/datatable/datatable-default-footer.nested.svelte +7 -3
- package/public/adeo/components/dropdown/Dropdown.js +1 -1
- package/public/adeo/components/listbox/Listbox.js +1 -1
- package/public/adeo/components/listbox/Listbox.js.map +1 -1
- package/public/adeo/components/listbox/Listbox.nested.js +1 -1
- package/public/adeo/components/listbox/Listbox.nested.js.map +1 -1
- package/public/adeo/components/listbox/Listbox.nested.svelte +1 -1
- package/public/adeo/components/listbox/Listbox.svelte +1 -1
- package/public/adeo/components/menu/Menu.js +1 -1
- package/public/adeo/components/passwordinput/PasswordInput.js +1 -1
- package/public/adeo/components/phonenumber/PhoneNumber.js +1 -1
- package/public/adeo/components/phonenumber/PhoneNumber.js.map +1 -1
- package/public/adeo/components/phonenumber/PhoneNumber.svelte +16 -13
- package/public/adeo/components/segmentedcontrol/SegmentedControl.js +1 -1
- package/public/adeo/components/segmentedcontrol/SegmentedControl.js.map +1 -1
- package/public/adeo/components/segmentedcontrol/SegmentedControl.svelte +1 -6
- package/public/adeo/components/stepper/Stepper.js +1 -1
- package/public/adeo/components/stepper/Stepper.js.map +1 -1
- package/public/adeo/components/tag/Tag.js +1 -1
- package/public/adeo/components/tag/Tag.js.map +1 -1
- package/public/adeo/components/tag/Tag.nested.js +1 -1
- package/public/adeo/components/tag/Tag.nested.js.map +1 -1
- package/public/adeo/components/tag/Tag.nested.svelte +5 -5
- package/public/adeo/components/tag/Tag.svelte +5 -5
- package/public/adeo/components/textarea/Textarea.js +1 -1
- package/public/bricoman/components/autocomplete/Autocomplete.js +1 -1
- package/public/bricoman/components/autocomplete/Autocomplete.js.map +1 -1
- package/public/bricoman/components/autocomplete/Autocomplete.svelte +1 -1
- package/public/bricoman/components/datatable/DataTable.js +1 -1
- package/public/bricoman/components/datatable/datatable-default-action.nested.js +1 -1
- package/public/bricoman/components/datatable/datatable-default-action.nested.js.map +1 -1
- package/public/bricoman/components/datatable/datatable-default-edtion.nested.js +1 -1
- package/public/bricoman/components/datatable/datatable-default-edtion.nested.js.map +1 -1
- package/public/bricoman/components/datatable/datatable-default-filter-tags.nested.js +1 -1
- package/public/bricoman/components/datatable/datatable-default-filter-tags.nested.js.map +1 -1
- package/public/bricoman/components/datatable/datatable-default-footer.nested.js +1 -1
- package/public/bricoman/components/datatable/datatable-default-footer.nested.js.map +1 -1
- package/public/bricoman/components/datatable/datatable-default-footer.nested.svelte +7 -3
- package/public/bricoman/components/dropdown/Dropdown.js +1 -1
- package/public/bricoman/components/listbox/Listbox.js +1 -1
- package/public/bricoman/components/listbox/Listbox.js.map +1 -1
- package/public/bricoman/components/listbox/Listbox.nested.js +1 -1
- package/public/bricoman/components/listbox/Listbox.nested.js.map +1 -1
- package/public/bricoman/components/listbox/Listbox.nested.svelte +1 -1
- package/public/bricoman/components/listbox/Listbox.svelte +1 -1
- package/public/bricoman/components/menu/Menu.js +1 -1
- package/public/bricoman/components/passwordinput/PasswordInput.js +1 -1
- package/public/bricoman/components/phonenumber/PhoneNumber.js +1 -1
- package/public/bricoman/components/phonenumber/PhoneNumber.js.map +1 -1
- package/public/bricoman/components/phonenumber/PhoneNumber.svelte +16 -13
- package/public/bricoman/components/segmentedcontrol/SegmentedControl.js +1 -1
- package/public/bricoman/components/segmentedcontrol/SegmentedControl.js.map +1 -1
- package/public/bricoman/components/segmentedcontrol/SegmentedControl.svelte +1 -6
- package/public/bricoman/components/stepper/Stepper.js +1 -1
- package/public/bricoman/components/stepper/Stepper.js.map +1 -1
- package/public/bricoman/components/tag/Tag.js +1 -1
- package/public/bricoman/components/tag/Tag.js.map +1 -1
- package/public/bricoman/components/tag/Tag.nested.js +1 -1
- package/public/bricoman/components/tag/Tag.nested.js.map +1 -1
- package/public/bricoman/components/tag/Tag.nested.svelte +5 -5
- package/public/bricoman/components/tag/Tag.svelte +5 -5
- package/public/bricoman/components/textarea/Textarea.js +1 -1
- package/public/components/autocomplete/Autocomplete.js +1 -1
- package/public/components/autocomplete/Autocomplete.js.map +1 -1
- package/public/components/autocomplete/Autocomplete.svelte +1 -1
- package/public/components/datatable/DataTable.js +1 -1
- package/public/components/datatable/datatable-default-action.nested.js +1 -1
- package/public/components/datatable/datatable-default-action.nested.js.map +1 -1
- package/public/components/datatable/datatable-default-edtion.nested.js +1 -1
- package/public/components/datatable/datatable-default-edtion.nested.js.map +1 -1
- package/public/components/datatable/datatable-default-filter-tags.nested.js +1 -1
- package/public/components/datatable/datatable-default-filter-tags.nested.js.map +1 -1
- package/public/components/datatable/datatable-default-footer.nested.js +1 -1
- package/public/components/datatable/datatable-default-footer.nested.js.map +1 -1
- package/public/components/datatable/datatable-default-footer.nested.svelte +7 -3
- package/public/components/dropdown/Dropdown.js +1 -1
- package/public/components/listbox/Listbox.js +1 -1
- package/public/components/listbox/Listbox.js.map +1 -1
- package/public/components/listbox/Listbox.nested.js +1 -1
- package/public/components/listbox/Listbox.nested.js.map +1 -1
- package/public/components/listbox/Listbox.nested.svelte +1 -1
- package/public/components/listbox/Listbox.svelte +1 -1
- package/public/components/menu/Menu.js +1 -1
- package/public/components/passwordinput/PasswordInput.js +1 -1
- package/public/components/phonenumber/PhoneNumber.js +1 -1
- package/public/components/phonenumber/PhoneNumber.js.map +1 -1
- package/public/components/phonenumber/PhoneNumber.svelte +16 -13
- package/public/components/segmentedcontrol/SegmentedControl.js +1 -1
- package/public/components/segmentedcontrol/SegmentedControl.js.map +1 -1
- package/public/components/segmentedcontrol/SegmentedControl.svelte +1 -6
- package/public/components/stepper/Stepper.js +1 -1
- package/public/components/tag/Tag.js +1 -1
- package/public/components/tag/Tag.js.map +1 -1
- package/public/components/tag/Tag.nested.js +1 -1
- package/public/components/tag/Tag.nested.js.map +1 -1
- package/public/components/tag/Tag.nested.svelte +5 -5
- package/public/components/tag/Tag.svelte +5 -5
- package/public/components/textarea/Textarea.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Autocomplete.js","sources":["../../../src/components/autocomplete/Autocomplete.svelte"],"sourcesContent":["<svelte:options tag={null} />\n\n<script lang=\"ts\">\n import { tick } from 'svelte';\n import {\n get_current_component,\n createEventDispatcher,\n } from 'svelte/internal';\n import { EventHandler } from '../../utilities/EventHandler';\n import { clickOutside } from '../../utilities/ClickOutside';\n import type { ListboxItems } from '../listbox/listbox.types';\n import type { TextInputSize } from '../textinput/textinput.types';\n\n import Tag from '../tag/Tag.nested.svelte';\n import Loader from '../loader/Loader.nested.svelte';\n import TextInput from '../textinput/Textinput.nested.svelte';\n import Listbox from '../listbox/Listbox.nested.svelte';\n\n export let maxwidth = '100%';\n export let tagid: string;\n export let taglabel = '';\n export let placeholder: string;\n export let filter = true;\n export let nofilter = false;\n export let disabled = false;\n export let size: TextInputSize = 'm';\n export let isinvalid: boolean;\n export let inputvalue: string;\n export let id: string;\n export let name: string;\n export let loading = false;\n export let required = false;\n export let items: string;\n export let value: any;\n export let open = false;\n export let multiple = false;\n export let emptysearchlabel = 'No results found';\n export let datatextexpr = 'label';\n export let datavalueexpr = 'value';\n export let nosort = false;\n export let layertitle = 'Title layer';\n export let showmoretagslabel = 'Show more';\n export let maxnumbertoshowtags = 12;\n export let alltags = false;\n export let selectall = false;\n export let labelselectall = 'Select all';\n\n let component: HTMLDivElement;\n const uuid = Math.random();\n let eventHandler = new EventHandler(\n get_current_component(),\n createEventDispatcher(),\n );\n let tag: any;\n let tagWidth = '0px';\n let tagValue: any;\n let sortedListItems: any;\n let isfiltered = false;\n let selectedItems: ListboxItems[] = [];\n let openLayer: any = null;\n\n $: localInputValue = inputvalue;\n $: parsedItems = items ? (JSON.parse(items) as ListboxItems[]) : [];\n $: localItems = parsedItems;\n $: listboxValue = !value && multiple ? [] : value ? JSON.parse(value) : value;\n $: setTagLabel = () => {\n return listboxValue.length.toString() + ' ' + taglabel;\n };\n $: watchListboxValue(listboxValue);\n $: setTagWidth(tagValue);\n $: openState = open;\n $: {\n const eventName = openState ? 'open' : 'close';\n eventHandler.dispatch(eventName, openState);\n }\n $: attributes = { ...$$restProps };\n $: delete attributes.class;\n\n function clearListbox() {\n if (!disabled) {\n listboxValue = multiple ? [] : '';\n closeListBox();\n eventHandler.dispatch('clear', true);\n }\n }\n\n function closeListBox() {\n openState = false;\n\n if (multiple && !nosort) {\n sortItems();\n } else {\n localItems = parsedItems;\n }\n }\n\n function onChange() {\n eventHandler.dispatch('onchange', listboxValue);\n\n if (!multiple) {\n closeListBox();\n }\n }\n\n function getSelectedItems(val?: string) {\n const value = val ? val : listboxValue;\n\n const selectedItems = parsedItems.filter((item: ListboxItems) => {\n return multiple\n ? value.includes(item[datavalueexpr])\n : value === item[datavalueexpr];\n });\n return selectedItems;\n }\n\n function sortItems() {\n sortedListItems = parsedItems;\n const selectedItems = getSelectedItems();\n\n sortedListItems.sort((a: any, b: any) => {\n const hasItemA = selectedItems.includes(a);\n const hasItemB = selectedItems.includes(b);\n\n if (hasItemA === hasItemB) {\n return a[datavalueexpr] - b[datavalueexpr];\n } else if (hasItemA < hasItemB) {\n return 1;\n } else {\n return -1;\n }\n });\n\n localItems = sortedListItems;\n }\n\n function openLayerFn() {\n openLayer = true;\n }\n\n function closeLayerFn() {\n openLayer = null;\n }\n\n function handleInputValue(value: any) {\n eventHandler.dispatch('oninput', value);\n }\n\n function filterListbox(value: any) {\n if (nofilter || !filter) {\n return;\n }\n\n if (value.length) {\n localItems = parsedItems.filter((item: any) =>\n item[datatextexpr].toUpperCase().includes(value.toUpperCase()),\n );\n } else {\n localItems = parsedItems;\n }\n\n isfiltered = !localItems.length;\n\n eventHandler.dispatch('onfilter', localItems);\n }\n\n function onInput(e: Event) {\n const value = (e.target as HTMLInputElement).value;\n handleInputValue(value);\n filterListbox(value);\n }\n\n function onScrollEnd() {\n eventHandler.dispatch('scrollend', true);\n }\n\n function onSelectAll(e: CustomEvent) {\n eventHandler.dispatch('select-all', e.detail);\n }\n\n function removeTagSelected(itemSelectedId: any) {\n listboxValue = listboxValue.filter(\n (value: any) => value !== itemSelectedId,\n );\n eventHandler.dispatch('onchange', listboxValue);\n }\n\n // Watch Functions\n async function watchListboxValue(value: any) {\n try {\n await tick();\n selectedItems = getSelectedItems(value);\n if (!multiple) {\n const seletedLabels = selectedItems.map((item) => item[datatextexpr]);\n localInputValue = seletedLabels.join(', ');\n } else {\n tagValue = value;\n }\n } catch (e) {\n console.error(e);\n }\n }\n\n async function setTagWidth(tagValue: any) {\n try {\n await tick();\n\n tagWidth =\n tag && tagValue && tagValue.length\n ? `${component?.querySelector('.mc-tag-removable')?.clientWidth}px`\n : '0px';\n } catch (e) {\n console.error(e);\n }\n }\n</script>\n\n<div\n class=\"mc-autocomplete\"\n class:mc-autocomplete--multi={multiple}\n style=\"--autocomplete-tag-width: {tagWidth}; --autocomplete-width: {maxwidth};\"\n use:clickOutside\n on:outclick={closeListBox}\n {...attributes}\n bind:this={component}\n>\n <div class=\"mc-autocomplete__main\">\n <!-- TAG REMOVABLE -->\n {#if multiple && listboxValue.length > 0 && !alltags}\n <Tag\n id={tagid ? tagid : `autocompleteTag-${uuid}`}\n class=\"mc-autocomplete__tag\"\n label={setTagLabel()}\n size=\"s\"\n type=\"removable\"\n dark={false}\n disabled={false}\n href=\"\"\n name=\"\"\n value=\"\"\n selected={false}\n bind:this={tag}\n on:tag-removed={clearListbox}\n />\n {/if}\n\n <!-- TEXT INPUT -->\n <TextInput\n classinput=\"mc-autocomplete__trigger\"\n name={id}\n bind:value={localInputValue}\n {placeholder}\n inputtype=\"text\"\n {isinvalid}\n {disabled}\n {size}\n {required}\n iconname=\"navigation-display-search-24px\"\n rightalign={false}\n isvalid={false}\n min=\"\"\n max=\"\"\n on:input={onInput}\n on:click={() => (openState = true)}\n on:change\n on:blur\n />\n\n <div class=\"mc-autocomplete__tools\">\n <!-- LOADER -->\n {#if loading}\n <Loader\n size=\"s\"\n theme=\"primary\"\n text=\"\"\n class=\"mc-autocomplete__loader\"\n />\n {/if}\n\n <!-- CLEAR BUTTON -->\n {#if localInputValue != null && localInputValue != '' && !disabled}\n <button\n class=\"mc-autocomplete__clear\"\n type=\"button\"\n on:click|stopPropagation={() => {\n localInputValue = '';\n localItems = parsedItems;\n isfiltered = false;\n if (!multiple) {\n clearListbox();\n }\n }}\n >\n <navigation-control-tag--cross-24px />\n <span class=\"mc-autocomplete__clear-text\">Clear</span>\n </button>\n {/if}\n </div>\n </div>\n\n <!-- LISTBOX -->\n {#if openState}\n <Listbox\n items={JSON.stringify(localItems)}\n {name}\n {multiple}\n {isfiltered}\n {emptysearchlabel}\n {maxwidth}\n {datatextexpr}\n {datavalueexpr}\n {selectall}\n {labelselectall}\n overlay={true}\n width=\"100%\"\n bind:value={listboxValue}\n on:change={onChange}\n on:scrollend={onScrollEnd}\n on:select-all={onSelectAll}\n />\n {/if}\n\n {#if multiple && alltags}\n <div class=\"tags-selected\">\n {#each selectedItems as selectedItem, index}\n {#if index < maxnumbertoshowtags}\n <div class=\"tag-selected\">\n {#if disabled}\n <m-tag\n type=\"link\"\n id={selectedItem.id}\n label={selectedItem.label}\n size=\"s\"\n dark={true}\n />\n {:else}\n <m-tag\n id={selectedItem.id}\n label={selectedItem.label}\n size=\"s\"\n type=\"removable\"\n on:tag-removed={() => removeTagSelected(selectedItem.id)}\n />\n {/if}\n </div>\n {/if}\n {/each}\n {#if listboxValue.length > maxnumbertoshowtags}\n <!-- svelte-ignore a11y-click-events-have-key-events -->\n <div class=\"tag-selected\" on:click={() => openLayerFn()}>\n <m-tag\n id=\"id-tag\"\n label=\"({listboxValue.length}) {showmoretagslabel} \"\n size=\"s\"\n type=\"link\"\n />\n </div>\n {/if}\n </div>\n {/if}\n\n <!-- <span class=\"mc-autocomplete__tag\" style=\"display:none;\" /> -->\n <span class=\"mc-autocomplete__loader\" style=\"display:none;\" />\n <span class=\"mc-text-input mc-autocomplete__trigger\" style=\"display:none;\" />\n\n {#if multiple && alltags}\n <div>\n <m-layer\n title={layertitle}\n layertitletag=\"h3\"\n isopen={openLayer}\n on:layer-closed={() => closeLayerFn()}\n >\n <small slot=\"content\">\n <div class=\"tags-selected\">\n {#each selectedItems as selectedItem}\n <div class=\"tag-selected\">\n {#if disabled}\n <m-tag\n type=\"text\"\n id={selectedItem.id}\n label={selectedItem.label}\n size=\"s\"\n />\n {:else}\n <m-tag\n id={selectedItem.id}\n label={selectedItem.label}\n size=\"s\"\n type=\"removable\"\n on:tag-removed={() => removeTagSelected(selectedItem.id)}\n />\n {/if}\n </div>\n {/each}\n </div>\n </small>\n </m-layer>\n </div>\n {/if}\n</div>\n\n<style lang=\"scss\">\n @import '@mozaic-ds/styles/settings-tools/all-settings';\n @import '@mozaic-ds/styles/components/c.autocomplete';\n\n // Autocomplete\n // NOTE: These styles with the \"!important\" allow to overload the edge effects\n // due to the scoping applied by Svelte on the CSS selectors\n .mc-autocomplete {\n min-width: auto;\n\n &__tag {\n position: absolute !important; // due to the Svelte CSS scope\n }\n\n &--multi {\n .mc-autocomplete__trigger {\n padding-left: calc(\n 2.9375rem + var(--autocomplete-tag-width)\n ) !important;\n }\n }\n }\n\n // Selected Tags\n .tags-selected {\n display: flex;\n flex-wrap: wrap;\n }\n\n .tag-selected {\n margin-top: 1em;\n margin-left: 5px;\n margin-right: 5px;\n }\n\n // Listbox\n .mc-listbox {\n &--overlay {\n top: calc(100% + 4px);\n }\n }\n</style>\n"],"names":["ctx","insert","target","button","anchor","JSON","stringify","length","i","create_if_block_3","div","create_if_block_5","set_custom_element_data","m_tag","m_tag_id_value","id","m_tag_label_value","label","dirty","if_block","create_if_block_4","append","div1","m_layer","small","div0","create_if_block_1","if_block0","create_if_block_9","create_if_block_8","if_block2","create_if_block_7","create_if_block_6","if_block4","create_if_block_2","if_block5","create_if_block","style","div2_style_value","div2","span0","span1","current","component","maxwidth","$$props","tagid","taglabel","placeholder","filter","nofilter","disabled","size","isinvalid","inputvalue","name","loading","required","items","value","open","multiple","emptysearchlabel","datatextexpr","datavalueexpr","nosort","layertitle","showmoretagslabel","maxnumbertoshowtags","alltags","selectall","labelselectall","uuid","Math","random","tag","tagValue","sortedListItems","eventHandler","EventHandler","get_current_component","createEventDispatcher","tagWidth","isfiltered","selectedItems","openLayer","clearListbox","listboxValue","closeListBox","dispatch","$$invalidate","openState","parsedItems","getSelectedItems","sort","a","b","hasItemA","includes","hasItemB","localItems","sortItems","val","item","openLayerFn","closeLayerFn","removeTagSelected","itemSelectedId","localInputValue","parse","setTagLabel","toString","async","tick","seletedLabels","map","join","e","console","error","watchListboxValue","_a","querySelector","clientWidth","setTagWidth","eventName","attributes","Object","assign","$$restProps","class","handleInputValue","toUpperCase","filterListbox","detail","$$value","value$1","selectedItem"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Autocomplete.js","sources":["../../../src/components/autocomplete/Autocomplete.svelte"],"sourcesContent":["<svelte:options tag={null} />\n\n<script lang=\"ts\">\n import { tick } from 'svelte';\n import {\n get_current_component,\n createEventDispatcher,\n } from 'svelte/internal';\n import { EventHandler } from '../../utilities/EventHandler';\n import { clickOutside } from '../../utilities/ClickOutside';\n import type { ListboxItems } from '../listbox/listbox.types';\n import type { TextInputSize } from '../textinput/textinput.types';\n\n import Tag from '../tag/Tag.nested.svelte';\n import Loader from '../loader/Loader.nested.svelte';\n import TextInput from '../textinput/Textinput.nested.svelte';\n import Listbox from '../listbox/Listbox.nested.svelte';\n\n export let maxwidth = '100%';\n export let tagid: string;\n export let taglabel = '';\n export let placeholder: string;\n export let filter = true;\n export let nofilter = false;\n export let disabled = false;\n export let size: TextInputSize = 'm';\n export let isinvalid: boolean;\n export let inputvalue: string;\n export let id: string;\n export let name: string;\n export let loading = false;\n export let required = false;\n export let items: string;\n export let value: any;\n export let open = false;\n export let multiple = false;\n export let emptysearchlabel = 'No results found';\n export let datatextexpr = 'label';\n export let datavalueexpr = 'value';\n export let nosort = false;\n export let layertitle = 'Title layer';\n export let showmoretagslabel = 'Show more';\n export let maxnumbertoshowtags = 12;\n export let alltags = false;\n export let selectall = false;\n export let labelselectall = 'Select all';\n\n let component: HTMLDivElement;\n const uuid = Math.random();\n let eventHandler = new EventHandler(\n get_current_component(),\n createEventDispatcher(),\n );\n let tag: any;\n let tagWidth = '0px';\n let tagValue: any;\n let sortedListItems: any;\n let isfiltered = false;\n let selectedItems: ListboxItems[] = [];\n let openLayer: any = null;\n\n $: localInputValue = inputvalue;\n $: parsedItems = items ? (JSON.parse(items) as ListboxItems[]) : [];\n $: localItems = parsedItems;\n $: listboxValue = !value && multiple ? [] : value ? JSON.parse(value) : value;\n $: setTagLabel = () => {\n return listboxValue.length.toString() + ' ' + taglabel;\n };\n $: watchListboxValue(listboxValue);\n $: setTagWidth(tagValue);\n $: openState = open;\n $: {\n const eventName = openState ? 'open' : 'close';\n eventHandler.dispatch(eventName, openState);\n }\n $: attributes = { ...$$restProps };\n $: delete attributes.class;\n\n function clearListbox() {\n if (!disabled) {\n listboxValue = multiple ? [] : '';\n closeListBox();\n eventHandler.dispatch('clear', true);\n }\n }\n\n function closeListBox() {\n openState = false;\n\n if (multiple && !nosort) {\n sortItems();\n } else {\n localItems = parsedItems;\n }\n }\n\n function onChange() {\n eventHandler.dispatch('onchange', listboxValue);\n\n if (!multiple) {\n closeListBox();\n }\n }\n\n function getSelectedItems(val?: string) {\n const value = val ? val : listboxValue;\n\n const selectedItems = parsedItems.filter((item: ListboxItems) => {\n return multiple\n ? value.includes(item[datavalueexpr])\n : value === item[datavalueexpr];\n });\n return selectedItems;\n }\n\n function sortItems() {\n sortedListItems = parsedItems;\n const selectedItems = getSelectedItems();\n\n sortedListItems.sort((a: any, b: any) => {\n const hasItemA = selectedItems.includes(a);\n const hasItemB = selectedItems.includes(b);\n\n if (hasItemA === hasItemB) {\n return a[datavalueexpr] - b[datavalueexpr];\n } else if (hasItemA < hasItemB) {\n return 1;\n } else {\n return -1;\n }\n });\n\n localItems = sortedListItems;\n }\n\n function openLayerFn() {\n openLayer = true;\n }\n\n function closeLayerFn() {\n openLayer = null;\n }\n\n function handleInputValue(value: any) {\n eventHandler.dispatch('oninput', value);\n }\n\n function filterListbox(value: any) {\n if (nofilter || !filter) {\n return;\n }\n\n if (value.length) {\n localItems = parsedItems.filter((item: any) =>\n item[datatextexpr].toUpperCase().includes(value.toUpperCase()),\n );\n } else {\n localItems = parsedItems;\n }\n\n isfiltered = !localItems.length;\n\n eventHandler.dispatch('onfilter', localItems);\n }\n\n function onInput(e: Event) {\n const value = (e.target as HTMLInputElement).value;\n handleInputValue(value);\n filterListbox(value);\n }\n\n function onScrollEnd() {\n eventHandler.dispatch('scrollend', true);\n }\n\n function onSelectAll(e: CustomEvent) {\n eventHandler.dispatch('select-all', e.detail);\n }\n\n function removeTagSelected(itemSelectedId: any) {\n listboxValue = listboxValue.filter(\n (value: any) => value !== itemSelectedId,\n );\n eventHandler.dispatch('onchange', listboxValue);\n }\n\n // Watch Functions\n async function watchListboxValue(value: any) {\n try {\n await tick();\n selectedItems = getSelectedItems(value);\n if (!multiple) {\n const seletedLabels = selectedItems.map((item) => item[datatextexpr]);\n localInputValue = seletedLabels.join(', ');\n } else {\n tagValue = value;\n }\n } catch (e) {\n console.error(e);\n }\n }\n\n async function setTagWidth(tagValue: any) {\n try {\n await tick();\n\n tagWidth =\n tag && tagValue && tagValue.length\n ? `${component?.querySelector('.mc-tag-removable')?.clientWidth}px`\n : '0px';\n } catch (e) {\n console.error(e);\n }\n }\n</script>\n\n<div\n class=\"mc-autocomplete\"\n class:mc-autocomplete--multi={multiple}\n style=\"--autocomplete-tag-width: {tagWidth}; --autocomplete-width: {maxwidth};\"\n use:clickOutside\n on:outclick={closeListBox}\n {...attributes}\n bind:this={component}\n>\n <div class=\"mc-autocomplete__main\">\n <!-- TAG REMOVABLE -->\n {#if multiple && listboxValue.length > 0 && !alltags}\n <Tag\n id={tagid ? tagid : `autocompleteTag-${uuid}`}\n class=\"mc-autocomplete__tag\"\n label={setTagLabel()}\n size=\"s\"\n type=\"removable\"\n dark={false}\n disabled={false}\n href=\"\"\n name=\"\"\n value=\"\"\n selected={false}\n bind:this={tag}\n on:tag-removed={clearListbox}\n />\n {/if}\n\n <!-- TEXT INPUT -->\n <TextInput\n classinput=\"mc-autocomplete__trigger\"\n name={id}\n bind:value={localInputValue}\n {placeholder}\n inputtype=\"text\"\n {isinvalid}\n {disabled}\n {size}\n {required}\n iconname=\"navigation-display-search-24px\"\n rightalign={false}\n isvalid={false}\n min=\"\"\n max=\"\"\n on:input={onInput}\n on:click={() => (openState = true)}\n on:change\n on:blur\n />\n\n <div class=\"mc-autocomplete__tools\">\n <!-- LOADER -->\n {#if loading}\n <Loader\n size=\"s\"\n theme=\"primary\"\n text=\"\"\n class=\"mc-autocomplete__loader\"\n />\n {/if}\n\n <!-- CLEAR BUTTON -->\n {#if localInputValue != null && localInputValue != '' && !disabled}\n <button\n class=\"mc-autocomplete__clear\"\n type=\"button\"\n on:click|stopPropagation={() => {\n localInputValue = '';\n localItems = parsedItems;\n isfiltered = false;\n if (!multiple) {\n clearListbox();\n }\n }}\n >\n <navigation-control-tag--cross-24px />\n <span class=\"mc-autocomplete__clear-text\">Clear</span>\n </button>\n {/if}\n </div>\n </div>\n\n <!-- LISTBOX -->\n {#if openState}\n <Listbox\n items={JSON.stringify(localItems)}\n {name}\n {multiple}\n {isfiltered}\n {emptysearchlabel}\n {maxwidth}\n {datatextexpr}\n {datavalueexpr}\n {selectall}\n {labelselectall}\n overlay={true}\n width={maxwidth}\n bind:value={listboxValue}\n on:change={onChange}\n on:scrollend={onScrollEnd}\n on:select-all={onSelectAll}\n />\n {/if}\n\n {#if multiple && alltags}\n <div class=\"tags-selected\">\n {#each selectedItems as selectedItem, index}\n {#if index < maxnumbertoshowtags}\n <div class=\"tag-selected\">\n {#if disabled}\n <m-tag\n type=\"link\"\n id={selectedItem.id}\n label={selectedItem.label}\n size=\"s\"\n dark={true}\n />\n {:else}\n <m-tag\n id={selectedItem.id}\n label={selectedItem.label}\n size=\"s\"\n type=\"removable\"\n on:tag-removed={() => removeTagSelected(selectedItem.id)}\n />\n {/if}\n </div>\n {/if}\n {/each}\n {#if listboxValue.length > maxnumbertoshowtags}\n <!-- svelte-ignore a11y-click-events-have-key-events -->\n <div class=\"tag-selected\" on:click={() => openLayerFn()}>\n <m-tag\n id=\"id-tag\"\n label=\"({listboxValue.length}) {showmoretagslabel} \"\n size=\"s\"\n type=\"link\"\n />\n </div>\n {/if}\n </div>\n {/if}\n\n <!-- <span class=\"mc-autocomplete__tag\" style=\"display:none;\" /> -->\n <span class=\"mc-autocomplete__loader\" style=\"display:none;\" />\n <span class=\"mc-text-input mc-autocomplete__trigger\" style=\"display:none;\" />\n\n {#if multiple && alltags}\n <div>\n <m-layer\n title={layertitle}\n layertitletag=\"h3\"\n isopen={openLayer}\n on:layer-closed={() => closeLayerFn()}\n >\n <small slot=\"content\">\n <div class=\"tags-selected\">\n {#each selectedItems as selectedItem}\n <div class=\"tag-selected\">\n {#if disabled}\n <m-tag\n type=\"text\"\n id={selectedItem.id}\n label={selectedItem.label}\n size=\"s\"\n />\n {:else}\n <m-tag\n id={selectedItem.id}\n label={selectedItem.label}\n size=\"s\"\n type=\"removable\"\n on:tag-removed={() => removeTagSelected(selectedItem.id)}\n />\n {/if}\n </div>\n {/each}\n </div>\n </small>\n </m-layer>\n </div>\n {/if}\n</div>\n\n<style lang=\"scss\">\n @import '@mozaic-ds/styles/settings-tools/all-settings';\n @import '@mozaic-ds/styles/components/c.autocomplete';\n\n // Autocomplete\n // NOTE: These styles with the \"!important\" allow to overload the edge effects\n // due to the scoping applied by Svelte on the CSS selectors\n .mc-autocomplete {\n min-width: auto;\n\n &__tag {\n position: absolute !important; // due to the Svelte CSS scope\n }\n\n &--multi {\n .mc-autocomplete__trigger {\n padding-left: calc(\n 2.9375rem + var(--autocomplete-tag-width)\n ) !important;\n }\n }\n }\n\n // Selected Tags\n .tags-selected {\n display: flex;\n flex-wrap: wrap;\n }\n\n .tag-selected {\n margin-top: 1em;\n margin-left: 5px;\n margin-right: 5px;\n }\n\n // Listbox\n .mc-listbox {\n &--overlay {\n top: calc(100% + 4px);\n }\n }\n</style>\n"],"names":["ctx","insert","target","button","anchor","JSON","stringify","length","i","create_if_block_3","div","create_if_block_5","set_custom_element_data","m_tag","m_tag_id_value","id","m_tag_label_value","label","dirty","if_block","create_if_block_4","append","div1","m_layer","small","div0","create_if_block_1","if_block0","create_if_block_9","create_if_block_8","if_block2","create_if_block_7","create_if_block_6","if_block4","create_if_block_2","if_block5","create_if_block","style","div2_style_value","div2","span0","span1","current","component","maxwidth","$$props","tagid","taglabel","placeholder","filter","nofilter","disabled","size","isinvalid","inputvalue","name","loading","required","items","value","open","multiple","emptysearchlabel","datatextexpr","datavalueexpr","nosort","layertitle","showmoretagslabel","maxnumbertoshowtags","alltags","selectall","labelselectall","uuid","Math","random","tag","tagValue","sortedListItems","eventHandler","EventHandler","get_current_component","createEventDispatcher","tagWidth","isfiltered","selectedItems","openLayer","clearListbox","listboxValue","closeListBox","dispatch","$$invalidate","openState","parsedItems","getSelectedItems","sort","a","b","hasItemA","includes","hasItemB","localItems","sortItems","val","item","openLayerFn","closeLayerFn","removeTagSelected","itemSelectedId","localInputValue","parse","setTagLabel","toString","async","tick","seletedLabels","map","join","e","console","error","watchListboxValue","_a","querySelector","clientWidth","setTagWidth","eventName","attributes","Object","assign","$$restProps","class","handleInputValue","toUpperCase","filterListbox","detail","$$value","value$1","selectedItem"],"mappings":"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"}
|