@mozaic-ds/web-components 0.15.0 → 0.16.0
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 +1 -1
- package/public/DataTableUtilities-e254e96d.js +2 -0
- package/public/DataTableUtilities-e254e96d.js.map +1 -0
- package/public/adeo/DataTableUtilities-e254e96d.js +2 -0
- package/public/adeo/DataTableUtilities-e254e96d.js.map +1 -0
- 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 +23 -16
- package/public/adeo/components/datatable/DataTable.js +1 -1
- package/public/adeo/components/datatable/DataTable.js.map +1 -1
- package/public/adeo/components/datatable/DataTable.svelte +1 -0
- package/public/adeo/components/datatable/data.d.ts +3 -1
- package/public/adeo/components/datatable/data.d.ts.map +1 -1
- package/public/adeo/components/datatable/datatable-default-action.nested.js +1 -1
- package/public/adeo/components/datatable/datatable-default-edtion.nested.js +1 -1
- package/public/adeo/components/datatable/datatable-default-filter-tags.nested.js +1 -1
- package/public/adeo/components/datatable/datatable-default-footer.nested.js +1 -1
- package/public/adeo/components/datatable/datatable-default-selection.nested.js +1 -1
- package/public/adeo/components/datatable/datatable-default-selection.nested.js.map +1 -1
- package/public/adeo/components/datatable/datatable-default-selection.nested.svelte +16 -1
- package/public/adeo/components/datatable/datatable.types.d.ts +2 -0
- package/public/adeo/components/datatable/datatable.types.d.ts.map +1 -1
- package/public/adeo/components/dropdown/Dropdown.js +1 -1
- package/public/adeo/components/dropdown/Dropdown.js.map +1 -1
- package/public/adeo/components/dropdown/Dropdown.svelte +3 -3
- package/public/adeo/components/fileuploader/FileUploader.js +1 -1
- package/public/adeo/components/fileuploader/FileUploader.js.map +1 -1
- package/public/adeo/components/fileuploader/FileUploader.svelte +5 -14
- package/public/adeo/components/fileuploader/fileuploader-result.js +1 -1
- package/public/adeo/components/fileuploader/fileuploader-result.js.map +1 -1
- package/public/adeo/components/fileuploader-result/fileuploader-result.svelte +4 -0
- package/public/adeo/components/pagination/Pagination.js +1 -1
- package/public/adeo/components/pagination/Pagination.js.map +1 -1
- package/public/adeo/components/pagination/Pagination.svelte +4 -6
- package/public/adeo/components/textinput/Textinput.js +1 -1
- package/public/adeo/components/textinput/Textinput.js.map +1 -1
- package/public/adeo/components/textinput/Textinput.svelte +9 -6
- package/public/adeo/utilities/DataTableUtilities.d.ts.map +1 -1
- package/public/adeo/utilities/DataTableUtilities.ts +3 -1
- package/public/bricoman/DataTableUtilities-e254e96d.js +2 -0
- package/public/bricoman/DataTableUtilities-e254e96d.js.map +1 -0
- 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 +23 -16
- package/public/bricoman/components/datatable/DataTable.js +1 -1
- package/public/bricoman/components/datatable/DataTable.js.map +1 -1
- package/public/bricoman/components/datatable/DataTable.svelte +1 -0
- package/public/bricoman/components/datatable/data.d.ts +3 -1
- package/public/bricoman/components/datatable/data.d.ts.map +1 -1
- package/public/bricoman/components/datatable/datatable-default-action.nested.js +1 -1
- package/public/bricoman/components/datatable/datatable-default-edtion.nested.js +1 -1
- package/public/bricoman/components/datatable/datatable-default-filter-tags.nested.js +1 -1
- package/public/bricoman/components/datatable/datatable-default-footer.nested.js +1 -1
- package/public/bricoman/components/datatable/datatable-default-selection.nested.js +1 -1
- package/public/bricoman/components/datatable/datatable-default-selection.nested.js.map +1 -1
- package/public/bricoman/components/datatable/datatable-default-selection.nested.svelte +16 -1
- package/public/bricoman/components/datatable/datatable.types.d.ts +2 -0
- package/public/bricoman/components/datatable/datatable.types.d.ts.map +1 -1
- package/public/bricoman/components/dropdown/Dropdown.js +1 -1
- package/public/bricoman/components/dropdown/Dropdown.js.map +1 -1
- package/public/bricoman/components/dropdown/Dropdown.svelte +3 -3
- package/public/bricoman/components/fileuploader/FileUploader.js +1 -1
- package/public/bricoman/components/fileuploader/FileUploader.js.map +1 -1
- package/public/bricoman/components/fileuploader/FileUploader.svelte +5 -14
- package/public/bricoman/components/fileuploader/fileuploader-result.js +1 -1
- package/public/bricoman/components/fileuploader/fileuploader-result.js.map +1 -1
- package/public/bricoman/components/fileuploader-result/fileuploader-result.svelte +4 -0
- package/public/bricoman/components/pagination/Pagination.js +1 -1
- package/public/bricoman/components/pagination/Pagination.js.map +1 -1
- package/public/bricoman/components/pagination/Pagination.svelte +4 -6
- package/public/bricoman/components/textinput/Textinput.js +1 -1
- package/public/bricoman/components/textinput/Textinput.js.map +1 -1
- package/public/bricoman/components/textinput/Textinput.svelte +9 -6
- package/public/bricoman/utilities/DataTableUtilities.d.ts.map +1 -1
- package/public/bricoman/utilities/DataTableUtilities.ts +3 -1
- package/public/components/autocomplete/Autocomplete.js +1 -1
- package/public/components/autocomplete/Autocomplete.js.map +1 -1
- package/public/components/autocomplete/Autocomplete.svelte +23 -16
- package/public/components/datatable/DataTable.js +1 -1
- package/public/components/datatable/DataTable.js.map +1 -1
- package/public/components/datatable/DataTable.svelte +1 -0
- package/public/components/datatable/data.d.ts +3 -1
- package/public/components/datatable/data.d.ts.map +1 -1
- package/public/components/datatable/datatable-default-action.nested.js +1 -1
- package/public/components/datatable/datatable-default-edtion.nested.js +1 -1
- package/public/components/datatable/datatable-default-filter-tags.nested.js +1 -1
- package/public/components/datatable/datatable-default-footer.nested.js +1 -1
- package/public/components/datatable/datatable-default-selection.nested.js +1 -1
- package/public/components/datatable/datatable-default-selection.nested.js.map +1 -1
- package/public/components/datatable/datatable-default-selection.nested.svelte +16 -1
- package/public/components/datatable/datatable.types.d.ts +2 -0
- package/public/components/datatable/datatable.types.d.ts.map +1 -1
- package/public/components/dropdown/Dropdown.js +1 -1
- package/public/components/dropdown/Dropdown.js.map +1 -1
- package/public/components/dropdown/Dropdown.svelte +3 -3
- package/public/components/fileuploader/FileUploader.js +1 -1
- package/public/components/fileuploader/FileUploader.js.map +1 -1
- package/public/components/fileuploader/FileUploader.svelte +5 -14
- package/public/components/fileuploader/fileuploader-result.js +1 -1
- package/public/components/fileuploader/fileuploader-result.js.map +1 -1
- package/public/components/fileuploader-result/fileuploader-result.svelte +4 -0
- package/public/components/pagination/Pagination.js +1 -1
- package/public/components/pagination/Pagination.js.map +1 -1
- package/public/components/pagination/Pagination.svelte +4 -6
- package/public/components/textinput/Textinput.js +1 -1
- package/public/components/textinput/Textinput.js.map +1 -1
- package/public/components/textinput/Textinput.svelte +9 -6
- package/public/utilities/ClickOutside.js +2 -0
- package/public/utilities/ClickOutside.js.map +1 -0
- package/public/utilities/DataTableUtilities.d.ts.map +1 -1
- package/public/utilities/DataTableUtilities.ts +3 -1
- package/public/utilities/components/datatable/data.d.ts +3 -1
- package/public/utilities/components/datatable/data.d.ts.map +1 -1
- package/public/utilities/components/datatable/datatable.types.d.ts +2 -0
- package/public/utilities/components/datatable/datatable.types.d.ts.map +1 -1
- package/public/utilities/stories/datatable/DataTable.stories.d.ts.map +1 -1
- package/public/utilities/utilities/DataTableUtilities.d.ts.map +1 -1
- package/public/DataTableUtilities-ccffa53e.js +0 -2
- package/public/DataTableUtilities-ccffa53e.js.map +0 -1
- package/public/adeo/DataTableUtilities-ccffa53e.js +0 -2
- package/public/adeo/DataTableUtilities-ccffa53e.js.map +0 -1
- package/public/bricoman/DataTableUtilities-ccffa53e.js +0 -2
- package/public/bricoman/DataTableUtilities-ccffa53e.js.map +0 -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 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 const component: any = get_current_component();\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 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 }\n\n async function setTagWidth(tagValue: any) {\n await tick();\n\n tagWidth =\n tag && tagValue && tagValue.length\n ? `${\n component.shadowRoot.querySelector('.mc-tag-removable').clientWidth\n }px`\n : '0px';\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>\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 <Listbox\n items={JSON.stringify(localItems)}\n open={openState}\n {multiple}\n {isfiltered}\n {emptysearchlabel}\n {maxwidth}\n {datatextexpr}\n {datavalueexpr}\n {selectall}\n {labelselectall}\n bind:value={listboxValue}\n on:change={onChange}\n on:scrollend={onScrollEnd}\n on:select-all={onSelectAll}\n />\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 &__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</style>\n"],"names":["ctx","insert","target","button","anchor","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_8","create_if_block_7","if_block2","create_if_block_6","JSON","stringify","if_block3","create_if_block_2","if_block4","create_if_block","style","div2_style_value","div2","span0","span1","current","maxwidth","$$props","tagid","taglabel","placeholder","filter","nofilter","disabled","size","isinvalid","inputvalue","loading","required","items","value","open","multiple","emptysearchlabel","datatextexpr","datavalueexpr","nosort","layertitle","showmoretagslabel","maxnumbertoshowtags","alltags","selectall","labelselectall","component","get_current_component","uuid","Math","random","tag","tagValue","sortedListItems","eventHandler","EventHandler","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","watchListboxValue","shadowRoot","querySelector","clientWidth","setTagWidth","eventName","attributes","Object","assign","$$restProps","class","e","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 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 <Listbox\n items={JSON.stringify(localItems)}\n open={openState}\n {multiple}\n {isfiltered}\n {emptysearchlabel}\n {maxwidth}\n {datatextexpr}\n {datavalueexpr}\n {selectall}\n {labelselectall}\n bind:value={listboxValue}\n on:change={onChange}\n on:scrollend={onScrollEnd}\n on:select-all={onSelectAll}\n />\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 &__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</style>\n"],"names":["ctx","insert","target","button","anchor","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_8","create_if_block_7","if_block2","create_if_block_6","JSON","stringify","if_block3","create_if_block_2","if_block4","create_if_block","style","div2_style_value","div2","span0","span1","current","component","maxwidth","$$props","tagid","taglabel","placeholder","filter","nofilter","disabled","size","isinvalid","inputvalue","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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"}
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
export let selectall = false;
|
|
45
45
|
export let labelselectall = 'Select all';
|
|
46
46
|
|
|
47
|
-
|
|
47
|
+
let component: HTMLDivElement;
|
|
48
48
|
const uuid = Math.random();
|
|
49
49
|
let eventHandler = new EventHandler(
|
|
50
50
|
get_current_component(),
|
|
@@ -185,25 +185,31 @@
|
|
|
185
185
|
|
|
186
186
|
// Watch Functions
|
|
187
187
|
async function watchListboxValue(value: any) {
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
188
|
+
try {
|
|
189
|
+
await tick();
|
|
190
|
+
selectedItems = getSelectedItems(value);
|
|
191
|
+
if (!multiple) {
|
|
192
|
+
const seletedLabels = selectedItems.map((item) => item[datatextexpr]);
|
|
193
|
+
localInputValue = seletedLabels.join(', ');
|
|
194
|
+
} else {
|
|
195
|
+
tagValue = value;
|
|
196
|
+
}
|
|
197
|
+
} catch (e) {
|
|
198
|
+
console.error(e);
|
|
195
199
|
}
|
|
196
200
|
}
|
|
197
201
|
|
|
198
202
|
async function setTagWidth(tagValue: any) {
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
203
|
+
try {
|
|
204
|
+
await tick();
|
|
205
|
+
|
|
206
|
+
tagWidth =
|
|
207
|
+
tag && tagValue && tagValue.length
|
|
208
|
+
? `${component?.querySelector('.mc-tag-removable')?.clientWidth}px`
|
|
209
|
+
: '0px';
|
|
210
|
+
} catch (e) {
|
|
211
|
+
console.error(e);
|
|
212
|
+
}
|
|
207
213
|
}
|
|
208
214
|
</script>
|
|
209
215
|
|
|
@@ -214,6 +220,7 @@
|
|
|
214
220
|
use:clickOutside
|
|
215
221
|
on:outclick={closeListBox}
|
|
216
222
|
{...attributes}
|
|
223
|
+
bind:this={component}
|
|
217
224
|
>
|
|
218
225
|
<div class="mc-autocomplete__main">
|
|
219
226
|
<!-- TAG REMOVABLE -->
|