le-kit 0.1.19 → 0.2.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/dist/cjs/index-pT2cVC5w.js.map +1 -1
- package/dist/cjs/le-button_13.cjs.entry.js +17 -21
- package/dist/cjs/le-icon.cjs.entry.js +108 -0
- package/dist/cjs/le-kit.cjs.js +1 -1
- package/dist/cjs/le-multiselect.cjs.entry.js +3 -3
- package/dist/cjs/le-navigation.cjs.entry.js +505 -0
- package/dist/cjs/le-number-input.cjs.entry.js +1 -1
- package/dist/cjs/le-round-progress.cjs.entry.js +1 -1
- package/dist/cjs/le-segmented-control.cjs.entry.js +1 -1
- package/dist/cjs/le-stack.cjs.entry.js +1 -1
- package/dist/cjs/le-tab-bar.cjs.entry.js +1 -1
- package/dist/cjs/le-tab-panel.cjs.entry.js +2 -2
- package/dist/cjs/le-tab.cjs.entry.js +1 -1
- package/dist/cjs/le-tabs.cjs.entry.js +2 -2
- package/dist/cjs/le-tag.cjs.entry.js +1 -1
- package/dist/cjs/le-turntable.cjs.entry.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/assets/icons/chevron-down.svg +3 -0
- package/dist/collection/collection-manifest.json +2 -0
- package/dist/collection/components/le-collapse/le-collapse.css +3 -3
- package/dist/collection/components/le-collapse/le-collapse.js +11 -15
- package/dist/collection/components/le-collapse/le-collapse.js.map +1 -1
- package/dist/collection/components/le-icon/le-icon.css +13 -0
- package/dist/collection/components/le-icon/le-icon.js +168 -0
- package/dist/collection/components/le-icon/le-icon.js.map +1 -0
- package/dist/collection/components/le-multiselect/le-multiselect.js +3 -3
- package/dist/collection/components/le-navigation/le-navigation.css +323 -0
- package/dist/collection/components/le-navigation/le-navigation.js +768 -0
- package/dist/collection/components/le-navigation/le-navigation.js.map +1 -0
- package/dist/collection/components/le-number-input/le-number-input.js +1 -1
- package/dist/collection/components/le-popover/le-popover.js +3 -3
- package/dist/collection/components/le-popup/le-popup.js +7 -7
- package/dist/collection/components/le-round-progress/le-round-progress.js +1 -1
- package/dist/collection/components/le-scroll-progress/le-scroll-progress.js +1 -1
- package/dist/collection/components/le-segmented-control/le-segmented-control.js +1 -1
- package/dist/collection/components/le-select/le-select.js +2 -2
- package/dist/collection/components/le-slot/le-slot.js +1 -1
- package/dist/collection/components/le-stack/le-stack.js +1 -1
- package/dist/collection/components/le-string-input/le-string-input.js +2 -2
- package/dist/collection/components/le-tab/le-tab.js +1 -1
- package/dist/collection/components/le-tab-bar/le-tab-bar.js +1 -1
- package/dist/collection/components/le-tab-panel/le-tab-panel.js +2 -2
- package/dist/collection/components/le-tabs/le-tabs.js +2 -2
- package/dist/collection/components/le-tag/le-tag.js +1 -1
- package/dist/collection/components/le-turntable/le-turntable.js +1 -1
- package/dist/collection/dist/components/assets/custom-elements.json +1278 -533
- package/dist/collection/dist/components/assets/icons/chevron-down.json +13 -0
- package/dist/collection/dist/components/assets/icons/chevron-down.svg +3 -0
- package/dist/collection/types/options.js.map +1 -1
- package/dist/components/assets/custom-elements.json +1278 -533
- package/dist/components/assets/icons/chevron-down.json +13 -0
- package/dist/components/assets/icons/chevron-down.svg +3 -0
- package/dist/components/index.js.map +1 -1
- package/dist/components/le-button2.js +5 -5
- package/dist/components/le-collapse.js +1 -137
- package/dist/components/le-collapse.js.map +1 -1
- package/dist/components/le-collapse2.js +138 -0
- package/dist/components/le-collapse2.js.map +1 -0
- package/dist/components/le-icon.d.ts +11 -0
- package/dist/components/le-icon.js +9 -0
- package/dist/components/le-icon.js.map +1 -0
- package/dist/components/le-icon2.js +133 -0
- package/dist/components/le-icon2.js.map +1 -0
- package/dist/components/le-multiselect.js +3 -3
- package/dist/components/le-navigation.d.ts +11 -0
- package/dist/components/le-navigation.js +605 -0
- package/dist/components/le-navigation.js.map +1 -0
- package/dist/components/le-number-input.js +1 -1
- package/dist/components/le-popover2.js +3 -3
- package/dist/components/le-round-progress.js +1 -1
- package/dist/components/le-scroll-progress.js +1 -1
- package/dist/components/le-segmented-control.js +1 -1
- package/dist/components/le-stack.js +1 -1
- package/dist/components/le-tab-bar.js +1 -1
- package/dist/components/le-tab-panel.js +2 -2
- package/dist/components/le-tab2.js +1 -1
- package/dist/components/le-tabs.js +2 -2
- package/dist/components/le-tag2.js +1 -1
- package/dist/components/le-turntable.js +1 -1
- package/dist/docs.json +544 -27
- package/dist/esm/index-CNv6tzAt.js.map +1 -1
- package/dist/esm/le-button_13.entry.js +17 -21
- package/dist/esm/le-icon.entry.js +106 -0
- package/dist/esm/le-icon.entry.js.map +1 -0
- package/dist/esm/le-kit.js +1 -1
- package/dist/esm/le-multiselect.entry.js +3 -3
- package/dist/esm/le-navigation.entry.js +503 -0
- package/dist/esm/le-navigation.entry.js.map +1 -0
- package/dist/esm/le-number-input.entry.js +1 -1
- package/dist/esm/le-round-progress.entry.js +1 -1
- package/dist/esm/le-segmented-control.entry.js +1 -1
- package/dist/esm/le-stack.entry.js +1 -1
- package/dist/esm/le-tab-bar.entry.js +1 -1
- package/dist/esm/le-tab-panel.entry.js +2 -2
- package/dist/esm/le-tab.entry.js +1 -1
- package/dist/esm/le-tabs.entry.js +2 -2
- package/dist/esm/le-tag.entry.js +1 -1
- package/dist/esm/le-turntable.entry.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/le-kit/dist/components/assets/custom-elements.json +1278 -533
- package/dist/le-kit/dist/components/assets/icons/chevron-down.json +13 -0
- package/dist/le-kit/dist/components/assets/icons/chevron-down.svg +3 -0
- package/dist/le-kit/le-kit.esm.js +1 -1
- package/dist/le-kit/{p-3327b089.entry.js → p-0ac4397c.entry.js} +2 -2
- package/dist/le-kit/{p-dfd20890.entry.js → p-25a29e69.entry.js} +2 -2
- package/dist/le-kit/{p-64c2cee1.entry.js → p-511fbb63.entry.js} +2 -2
- package/dist/le-kit/{p-4bdb03cb.entry.js → p-58120921.entry.js} +2 -2
- package/dist/le-kit/{p-b7c008de.entry.js → p-5ceb06d8.entry.js} +2 -2
- package/dist/le-kit/{p-e3f3cc8f.entry.js → p-9a3bdbe1.entry.js} +2 -2
- package/dist/le-kit/p-CNv6tzAt.js.map +1 -1
- package/dist/le-kit/{p-f88c804a.entry.js → p-a0d2c580.entry.js} +2 -2
- package/dist/le-kit/p-b1dc7e06.entry.js +2 -0
- package/dist/le-kit/p-b1dc7e06.entry.js.map +1 -0
- package/dist/le-kit/p-bb160082.entry.js +2 -0
- package/dist/le-kit/p-bb160082.entry.js.map +1 -0
- package/dist/le-kit/{p-da0265c5.entry.js → p-de5638c9.entry.js} +2 -2
- package/dist/le-kit/{p-1733d907.entry.js → p-e24d3e33.entry.js} +2 -2
- package/dist/le-kit/{p-6acdf000.entry.js → p-ec20e438.entry.js} +2 -2
- package/dist/le-kit/p-f2fa3bf5.entry.js +2 -0
- package/dist/le-kit/p-f2fa3bf5.entry.js.map +1 -0
- package/dist/le-kit/{p-02532919.entry.js → p-f4f2c3e7.entry.js} +2 -2
- package/dist/types/components/le-collapse/le-collapse.d.ts +5 -3
- package/dist/types/components/le-icon/le-icon.d.ts +28 -0
- package/dist/types/components/le-navigation/le-navigation.d.ts +116 -0
- package/dist/types/components.d.ts +204 -10
- package/dist/types/types/options.d.ts +5 -0
- package/package.json +1 -1
- package/dist/collection/dist/components/assets/.gitkeep +0 -1
- package/dist/components/assets/.gitkeep +0 -1
- package/dist/le-kit/dist/components/assets/.gitkeep +0 -1
- package/dist/le-kit/p-83007215.entry.js +0 -2
- package/dist/le-kit/p-83007215.entry.js.map +0 -1
- /package/dist/le-kit/{p-3327b089.entry.js.map → p-0ac4397c.entry.js.map} +0 -0
- /package/dist/le-kit/{p-dfd20890.entry.js.map → p-25a29e69.entry.js.map} +0 -0
- /package/dist/le-kit/{p-64c2cee1.entry.js.map → p-511fbb63.entry.js.map} +0 -0
- /package/dist/le-kit/{p-4bdb03cb.entry.js.map → p-58120921.entry.js.map} +0 -0
- /package/dist/le-kit/{p-b7c008de.entry.js.map → p-5ceb06d8.entry.js.map} +0 -0
- /package/dist/le-kit/{p-e3f3cc8f.entry.js.map → p-9a3bdbe1.entry.js.map} +0 -0
- /package/dist/le-kit/{p-f88c804a.entry.js.map → p-a0d2c580.entry.js.map} +0 -0
- /package/dist/le-kit/{p-da0265c5.entry.js.map → p-de5638c9.entry.js.map} +0 -0
- /package/dist/le-kit/{p-1733d907.entry.js.map → p-e24d3e33.entry.js.map} +0 -0
- /package/dist/le-kit/{p-6acdf000.entry.js.map → p-ec20e438.entry.js.map} +0 -0
- /package/dist/le-kit/{p-02532919.entry.js.map → p-f4f2c3e7.entry.js.map} +0 -0
|
@@ -59,7 +59,7 @@ const LeTag = class {
|
|
|
59
59
|
return index.h("span", { class: "tag-icon" }, this.icon);
|
|
60
60
|
}
|
|
61
61
|
render() {
|
|
62
|
-
return (index.h("le-component", { key: '
|
|
62
|
+
return (index.h("le-component", { key: '0cae0957e69fe0a1304f81e69d12d31c18ba9d19', component: "le-tag" }, index.h("span", { key: 'b9d141aa16c0d8a22f2a0ee274feae4af3f330a4', class: "tag" }, this.renderIcon(), index.h("span", { key: '721836b45727b79547f4207a59c0a42266f3b24a', class: "tag-label" }, index.h("le-slot", { key: '48be93bc17af5fa8fd8de18f6c53b81b26dee01b', name: "", tag: "span", type: "text" }, index.h("slot", { key: '482d37fe79b37fade8460a8abde4813e3ececa99' }, this.label))), this.dismissible && (index.h("button", { key: 'a0de79ab2ea5ce3e6f37b255028096a31ca06a33', type: "button", class: "tag-dismiss", onClick: this.handleDismiss, disabled: this.disabled, "aria-label": "Remove" }, index.h("svg", { key: 'ff30daa4aaffa92e7fc7d29b66c0ee401c9541ac', viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", "stroke-width": "2" }, index.h("path", { key: '3f7d739758c3213847f0214cb6377c4e5c48abab', d: "M4 4l8 8M12 4l-8 8" })))))));
|
|
63
63
|
}
|
|
64
64
|
};
|
|
65
65
|
LeTag.style = leTagCss();
|
|
@@ -127,7 +127,7 @@ const LeTurntable = class {
|
|
|
127
127
|
this.el.style.transform = `rotate(${angle}deg)`;
|
|
128
128
|
}
|
|
129
129
|
render() {
|
|
130
|
-
return (index.h("div", { key: '
|
|
130
|
+
return (index.h("div", { key: 'ddc71a1cc9dd4e1d61c460969b056e75a0c26e29', class: "turntable", onMouseDown: this.handleMouseDown.bind(this) }, index.h("slot", { key: '12df0788fd0baeae7d73badfdfe21976ff989497' })));
|
|
131
131
|
}
|
|
132
132
|
static get watchers() { return {
|
|
133
133
|
"value": ["updateValue"]
|
package/dist/cjs/loader.cjs.js
CHANGED
|
@@ -5,7 +5,7 @@ var index = require('./index-pT2cVC5w.js');
|
|
|
5
5
|
const defineCustomElements = async (win, options) => {
|
|
6
6
|
if (typeof window === 'undefined') return undefined;
|
|
7
7
|
await index.globalScripts();
|
|
8
|
-
return index.bootstrapLazy([["le-button_13.cjs",[[769,"le-
|
|
8
|
+
return index.bootstrapLazy([["le-button_13.cjs",[[769,"le-header",{"isStatic":[516,"static"],"sticky":[516],"fixed":[516],"revealOnScroll":[513,"reveal-on-scroll"],"shrinkOffset":[513,"shrink-offset"],"expandOnHover":[516,"expand-on-hover"],"revealed":[32],"shrunk":[32],"placeholderHeight":[32],"hoverActive":[32]},[[9,"scroll","onWindowScroll"],[9,"resize","onWindowResize"]],{"revealOnScroll":["onBehaviorPropsChange"],"shrinkOffset":["onBehaviorPropsChange"],"fixed":["onBehaviorPropsChange"],"sticky":["onBehaviorPropsChange"],"isStatic":["onBehaviorPropsChange"]}],[769,"le-current-heading",{"selector":[1],"activeText":[32]},[[9,"scroll","onScroll"],[9,"resize","onResize"]],{"selector":["onSelectorChange"]}],[769,"le-scroll-progress",{"trackScrollProgress":[513,"track-scroll-progress"],"progress":[32]},[[9,"scroll","onScroll"],[9,"resize","onResize"]],{"trackScrollProgress":["onTrackChange"]}],[769,"le-collapse",{"closed":[1540],"scrollDown":[516,"scroll-down"],"noFading":[516,"no-fading"],"collapseOnHeaderShrink":[516,"collapse-on-header-shrink"],"headerShrunk":[32]},[[8,"leHeaderShrinkChange","handleHeaderShrink"]],{"open":["onOpenChange"],"headerShrunk":["onDrivenStateChange"]}],[769,"le-dropdown-base",{"options":[16],"value":[8],"multiple":[4],"open":[1540],"disabled":[516],"filterFn":[16],"filterQuery":[1,"filter-query"],"emptyText":[1,"empty-text"],"showCheckboxes":[4,"show-checkboxes"],"maxHeight":[1,"max-height"],"width":[1],"fullWidth":[4,"full-width"],"closeOnClickOutside":[4,"close-on-click-outside"],"focusedIndex":[32],"filteredOptions":[32],"show":[64],"hide":[64],"toggle":[64]},null,{"options":["handleOptionsChange"],"filterQuery":["handleOptionsChange"]}],[769,"le-popup",{"mode":[1537],"open":[1540],"type":[1],"popupTitle":[1,"popup-title"],"message":[1],"modal":[4],"position":[1],"confirmText":[1,"confirm-text"],"cancelText":[1,"cancel-text"],"placeholder":[1],"defaultValue":[1,"default-value"],"closeOnBackdrop":[4,"close-on-backdrop"],"inputValue":[32],"show":[64],"hide":[64]}],[769,"le-button",{"mode":[1537],"variant":[1],"color":[1],"size":[1],"selected":[4],"fullWidth":[516,"full-width"],"iconOnly":[1,"icon-only"],"iconStart":[1,"icon-start"],"iconEnd":[1,"icon-end"],"disabled":[4],"type":[1],"href":[1],"target":[1],"align":[1]}],[769,"le-checkbox",{"checked":[1540],"disabled":[4],"name":[1],"value":[1],"externalId":[1,"external-id"]}],[769,"le-component",{"component":[1],"displayName":[1,"display-name"],"hostClass":[1,"host-class"],"hostStyle":[16],"adminMode":[32],"componentMeta":[32],"propertyValues":[32]}],[769,"le-select",{"options":[1],"value":[1032],"placeholder":[1],"disabled":[516],"required":[4],"name":[1],"fullWidth":[4,"full-width"],"size":[513],"variant":[513],"searchable":[4],"emptyText":[1,"empty-text"],"open":[1540],"selectedOption":[32],"searchQuery":[32],"showDropdown":[64],"hideDropdown":[64]},null,{"value":["handleValueChange"],"options":["handleOptionsChange"]}],[769,"le-slot",{"type":[1],"name":[1],"label":[1],"description":[1],"allowedComponents":[1,"allowed-components"],"multiple":[4],"required":[4],"placeholder":[1],"tag":[1],"slotStyle":[1,"slot-style"],"adminMode":[32],"textValue":[32],"isValidHtml":[32],"availableComponents":[32],"pickerOpen":[32]}],[769,"le-string-input",{"inputRef":[16],"mode":[1537],"value":[1537],"name":[1],"type":[1],"label":[1],"iconStart":[1,"icon-start"],"iconEnd":[1,"icon-end"],"placeholder":[1],"hideDescription":[4,"hide-description"],"disabled":[4],"readonly":[4],"externalId":[1,"external-id"]}],[769,"le-popover",{"mode":[1537],"open":[1540],"position":[1],"align":[1],"popoverTitle":[1,"popover-title"],"showClose":[4,"show-close"],"closeOnClickOutside":[4,"close-on-click-outside"],"closeOnEscape":[4,"close-on-escape"],"offset":[2],"width":[1],"minWidth":[1,"min-width"],"maxWidth":[1,"max-width"],"triggerFullWidth":[4,"trigger-full-width"],"isPositioned":[32],"updatePosition":[64],"show":[64],"hide":[64],"toggle":[64]}]]],["le-navigation.cjs",[[769,"le-navigation",{"items":[1],"orientation":[513],"wrap":[516],"overflowMode":[513,"overflow-mode"],"activeUrl":[1,"active-url"],"searchable":[4],"searchPlaceholder":[1,"search-placeholder"],"emptyText":[1,"empty-text"],"submenuSearchable":[4,"submenu-searchable"],"searchQuery":[32],"openState":[32],"overflowIds":[32],"hamburgerActive":[32],"submenuQueries":[32]},null,{"items":["handleLayoutInputsChange"],"orientation":["handleLayoutInputsChange"],"wrap":["handleLayoutInputsChange"],"overflowMode":["handleLayoutInputsChange"]}]]],["le-multiselect.cjs",[[769,"le-multiselect",{"options":[1],"value":[1040],"placeholder":[1],"disabled":[516],"required":[4],"name":[1],"fullWidth":[516,"full-width"],"size":[513],"maxSelections":[2,"max-selections"],"showSelectAll":[1032,"show-select-all"],"searchable":[4],"emptyText":[1,"empty-text"],"open":[1540],"selectAllLabel":[32],"deselectAllLabel":[32],"selectedOptions":[32],"searchQuery":[32],"showDropdown":[64],"hideDropdown":[64],"clearSelection":[64]},null,{"value":["handleValueChange"],"options":["handleOptionsChange"],"showSelectAll":["handleShowSelectAllChange"]}]]],["le-segmented-control.cjs",[[769,"le-segmented-control",{"options":[16],"value":[1032],"size":[1],"overflow":[1],"fullWidth":[4,"full-width"],"disabled":[4],"segmentConfigs":[32],"focusedIndex":[32],"isDeclarativeMode":[32]},[[0,"slotchange","handleSlotChange"]],{"options":["tabsChanged"]}]]],["le-tab-bar.cjs",[[769,"le-tab-bar",{"tabs":[16],"selected":[1032],"fullWidth":[4,"full-width"],"showLabels":[4,"show-labels"],"position":[1],"size":[1],"bordered":[4],"tabConfigs":[32],"isDeclarativeMode":[32],"focusedIndex":[32]},[[0,"slotchange","handleSlotChange"]],{"selected":["selectedChanged"],"tabs":["tabsChanged"]}]]],["le-tabs.cjs",[[769,"le-tabs",{"tabs":[16],"selected":[1032],"orientation":[1],"position":[1],"variant":[1],"fullWidth":[4,"full-width"],"size":[1],"wrap":[4],"overflow":[1],"tabConfigs":[32],"focusedIndex":[32],"isDeclarativeMode":[32]},[[0,"slotchange","handleSlotChange"]],{"selected":["selectedChanged"],"tabs":["tabsChanged"]}]]],["le-box.cjs",[[769,"le-box",{"grow":[2],"shrink":[2],"basis":[1],"width":[1],"height":[1],"minWidth":[1,"min-width"],"maxWidth":[1,"max-width"],"minHeight":[1,"min-height"],"maxHeight":[1,"max-height"],"background":[1],"borderRadius":[1,"border-radius"],"border":[1],"alignSelf":[1,"align-self"],"alignContent":[1,"align-content"],"justifyContent":[1,"justify-content"],"padding":[1],"order":[2],"displayFlex":[4,"display-flex"],"innerDirection":[1,"inner-direction"],"innerGap":[1,"inner-gap"]}]]],["le-card.cjs",[[769,"le-card",{"variant":[1],"interactive":[4]}]]],["le-combobox.cjs",[[769,"le-combobox",{"options":[1],"value":[1032],"placeholder":[1],"disabled":[516],"required":[4],"name":[1],"fullWidth":[516,"full-width"],"size":[513],"allowCustom":[4,"allow-custom"],"minSearchLength":[2,"min-search-length"],"emptyText":[1,"empty-text"],"open":[1540],"inputValue":[32],"selectedOption":[32],"showDropdown":[64],"hideDropdown":[64],"focusInput":[64]},[[8,"click","handleWindowClick"]],{"value":["handleValueChange"],"options":["handleOptionsChange"]}]]],["le-number-input.cjs",[[769,"le-number-input",{"value":[1538],"name":[1],"label":[1],"placeholder":[1],"min":[2],"max":[2],"step":[2],"required":[4],"disabled":[4],"readonly":[4],"iconStart":[1,"icon-start"],"showSpinners":[4,"show-spinners"],"externalId":[1,"external-id"],"isValid":[32],"validationMessage":[32]},null,{"value":["valueChanged"]}]]],["le-stack.cjs",[[769,"le-stack",{"direction":[1],"gap":[1],"align":[1],"justify":[1],"wrap":[4],"alignContent":[1,"align-content"],"reverse":[4],"maxItems":[2,"max-items"],"fullWidth":[4,"full-width"],"fullHeight":[4,"full-height"],"padding":[1]}]]],["le-tab-panel.cjs",[[769,"le-tab-panel",{"label":[1],"value":[1],"iconStart":[1,"icon-start"],"iconEnd":[1,"icon-end"],"disabled":[4],"lazy":[4],"active":[32],"hasBeenActive":[32],"getValue":[64],"getTabConfig":[64],"setActive":[64]},null,{"active":["activeChanged"]}]]],["le-text.cjs",[[769,"le-text",{"variant":[1537],"align":[513],"color":[1],"truncate":[4],"maxLines":[2,"max-lines"],"adminMode":[32],"content":[32],"isFocused":[32],"selectionState":[32]},null,{"variant":["onVariantChange"]}]]],["le-header-placeholder.cjs",[[256,"le-header-placeholder"]]],["le-round-progress.cjs",[[769,"le-round-progress",{"value":[2],"padding":[2],"paths":[1],"params":[32]},null,{"value":["updateValue"],"padding":["updatePadding"],"paths":["updateProgressBackgrounds"]}]]],["le-turntable.cjs",[[769,"le-turntable",{"center":[1],"value":[2]},[[9,"mousemove","handleMouseMove"],[9,"mouseup","handleMouseUp"],[9,"resize","handleWindowResize"]],{"value":["updateValue"]}]]],["le-tag.cjs",[[769,"le-tag",{"label":[1],"mode":[1537],"icon":[1],"dismissible":[4],"disabled":[516],"size":[513],"variant":[513]}]]],["le-icon.cjs",[[769,"le-icon",{"name":[1],"size":[2],"iconData":[32],"visible":[32]},null,{"name":["loadIconData"]}]]],["le-tab.cjs",[[769,"le-tab",{"mode":[1537],"label":[1],"value":[1],"variant":[1],"position":[1],"size":[1],"focusable":[4],"selected":[4],"fullWidth":[516,"full-width"],"icon":[1],"showLabel":[4,"show-label"],"iconStart":[1,"icon-start"],"iconEnd":[1,"icon-end"],"disabled":[4],"href":[1],"target":[1],"align":[1],"getTabConfig":[64]}]]]], options);
|
|
9
9
|
};
|
|
10
10
|
|
|
11
11
|
exports.setNonce = index.setNonce;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"entries": [
|
|
3
|
+
"components/le-navigation/le-navigation.js",
|
|
3
4
|
"components/le-popup/le-popup.js",
|
|
4
5
|
"components/le-box/le-box.js",
|
|
5
6
|
"components/le-button/le-button.js",
|
|
@@ -12,6 +13,7 @@
|
|
|
12
13
|
"components/le-dropdown-base/le-dropdown-base.js",
|
|
13
14
|
"components/le-header/le-header.js",
|
|
14
15
|
"components/le-header-placeholder/le-header-placeholder.js",
|
|
16
|
+
"components/le-icon/le-icon.js",
|
|
15
17
|
"components/le-multiselect/le-multiselect.js",
|
|
16
18
|
"components/le-number-input/le-number-input.js",
|
|
17
19
|
"components/le-popover/le-popover.js",
|
|
@@ -10,12 +10,12 @@
|
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
:host([data-open="false"]),
|
|
13
|
-
:host([
|
|
13
|
+
:host([closed]) {
|
|
14
14
|
grid-template-rows: 0fr;
|
|
15
15
|
opacity: 0;
|
|
16
16
|
}
|
|
17
17
|
:host([no-fading][data-open="false"]),
|
|
18
|
-
:host([no-fading][
|
|
18
|
+
:host([no-fading][closed]) {
|
|
19
19
|
opacity: 1;
|
|
20
20
|
}
|
|
21
21
|
|
|
@@ -26,6 +26,6 @@
|
|
|
26
26
|
overflow: hidden;
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
|
|
29
|
+
.region.scroll-down {
|
|
30
30
|
justify-content: flex-start;
|
|
31
31
|
}
|
|
@@ -17,8 +17,11 @@ import { h, Host } from "@stencil/core";
|
|
|
17
17
|
*/
|
|
18
18
|
export class LeCollapse {
|
|
19
19
|
el;
|
|
20
|
-
/**
|
|
21
|
-
|
|
20
|
+
/**
|
|
21
|
+
* Since Stencil boolean props default to `false` when the attribute is missing.
|
|
22
|
+
* instead of `open` defaulting to `true`, using a `closed` prop.
|
|
23
|
+
*/
|
|
24
|
+
closed = false;
|
|
22
25
|
/** Whether the content should scroll down from the top when open. */
|
|
23
26
|
scrollDown = false;
|
|
24
27
|
/** Stop fading the content when collapsing/expanding. */
|
|
@@ -34,13 +37,6 @@ export class LeCollapse {
|
|
|
34
37
|
this.headerShrunk = !!e.detail?.shrunk;
|
|
35
38
|
}
|
|
36
39
|
headerShrunk = false;
|
|
37
|
-
componentWillLoad() {
|
|
38
|
-
// Stencil boolean props default to `false` when the attribute is missing.
|
|
39
|
-
// For this component, the desired default is open=true.
|
|
40
|
-
if (!this.el.hasAttribute('open')) {
|
|
41
|
-
this.open = true;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
40
|
componentDidLoad() {
|
|
45
41
|
this.applyOpenState();
|
|
46
42
|
}
|
|
@@ -51,7 +47,7 @@ export class LeCollapse {
|
|
|
51
47
|
this.applyOpenState();
|
|
52
48
|
}
|
|
53
49
|
shouldBeOpen() {
|
|
54
|
-
if (
|
|
50
|
+
if (this.closed)
|
|
55
51
|
return false;
|
|
56
52
|
if (this.collapseOnHeaderShrink && this.headerShrunk)
|
|
57
53
|
return false;
|
|
@@ -62,7 +58,7 @@ export class LeCollapse {
|
|
|
62
58
|
this.el.toggleAttribute('data-open', nextOpen);
|
|
63
59
|
}
|
|
64
60
|
render() {
|
|
65
|
-
return (h(Host, { key: '
|
|
61
|
+
return (h(Host, { key: '946501d440fa391cfea13283072c387fd1e98b65', "data-open": this.shouldBeOpen() ? 'true' : 'false' }, h("le-component", { key: 'fb5c7e9f9e15dc3ef440f9703977ee7f09ffe676', component: "le-collapse" }, h("div", { key: '83ec865adb8a11cc9de7a6a173b85245414360e8', class: { 'region': true, 'scroll-down': this.scrollDown }, part: "region" }, h("slot", { key: '6b402e2beac8bde188da48719f47e5f9fc12581d' })))));
|
|
66
62
|
}
|
|
67
63
|
static get is() { return "le-collapse"; }
|
|
68
64
|
static get encapsulation() { return "shadow"; }
|
|
@@ -78,7 +74,7 @@ export class LeCollapse {
|
|
|
78
74
|
}
|
|
79
75
|
static get properties() {
|
|
80
76
|
return {
|
|
81
|
-
"
|
|
77
|
+
"closed": {
|
|
82
78
|
"type": "boolean",
|
|
83
79
|
"mutable": true,
|
|
84
80
|
"complexType": {
|
|
@@ -90,13 +86,13 @@ export class LeCollapse {
|
|
|
90
86
|
"optional": false,
|
|
91
87
|
"docs": {
|
|
92
88
|
"tags": [],
|
|
93
|
-
"text": "
|
|
89
|
+
"text": "Since Stencil boolean props default to `false` when the attribute is missing.\ninstead of `open` defaulting to `true`, using a `closed` prop."
|
|
94
90
|
},
|
|
95
91
|
"getter": false,
|
|
96
92
|
"setter": false,
|
|
97
93
|
"reflect": true,
|
|
98
|
-
"attribute": "
|
|
99
|
-
"defaultValue": "
|
|
94
|
+
"attribute": "closed",
|
|
95
|
+
"defaultValue": "false"
|
|
100
96
|
},
|
|
101
97
|
"scrollDown": {
|
|
102
98
|
"type": "boolean",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"le-collapse.js","sourceRoot":"","sources":["../../../src/components/le-collapse/le-collapse.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAIxF;;;;;;;;;;;;;;;GAeG;AAMH,MAAM,OAAO,UAAU;IACV,EAAE,CAAc;IAE3B
|
|
1
|
+
{"version":3,"file":"le-collapse.js","sourceRoot":"","sources":["../../../src/components/le-collapse/le-collapse.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAIxF;;;;;;;;;;;;;;;GAeG;AAMH,MAAM,OAAO,UAAU;IACV,EAAE,CAAc;IAE3B;;;OAGG;IACqC,MAAM,GAAY,KAAK,CAAC;IAEhE,qEAAqE;IAClB,UAAU,GAAY,KAAK,CAAC;IAE/E,yDAAyD;IACR,QAAQ,GAAY,KAAK,CAAC;IAE3E,yEAAyE;IACR,sBAAsB,GACrF,KAAK,CAAC;IAER;;;OAGG;IAEH,kBAAkB,CAAC,EAAS;QAC1B,MAAM,CAAC,GAAG,EAAsC,CAAC;QACjD,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC;IACzC,CAAC;IAEgB,YAAY,GAAY,KAAK,CAAC;IAE/C,gBAAgB;QACd,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAGS,YAAY;QACpB,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAGS,mBAAmB;QAC3B,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAEO,YAAY;QAClB,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAC9B,IAAI,IAAI,CAAC,sBAAsB,IAAI,IAAI,CAAC,YAAY;YAAE,OAAO,KAAK,CAAC;QACnE,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,cAAc;QACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACrC,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACjD,CAAC;IAED,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,kEAAY,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;YACrD,qEAAc,SAAS,EAAC,aAAa;gBACnC,4DAAK,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,EAAC,QAAQ;oBAC3E,8DAAa,CACT,CACO,CACV,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Element, h, Host, Listen, Prop, State, Watch } from '@stencil/core';\n\nexport type LeCollapseAnimation = 'fade' | 'collapse' | 'fade-collapse';\n\n/**\n * Animated show/hide wrapper.\n *\n * Supports height collapse (auto->0) and/or fading.\n * Can optionally listen to the nearest `le-header` shrink events.\n *\n * @slot - Content to animate\n *\n * @cssprop --le-collapse-duration - Transition duration\n *\n * @csspart region - Collapsible region\n * @csspart content - Inner content\n *\n * @cmsEditable true\n * @cmsCategory Layout\n */\n@Component({\n tag: 'le-collapse',\n styleUrl: 'le-collapse.css',\n shadow: true,\n})\nexport class LeCollapse {\n @Element() el: HTMLElement;\n\n /**\n * Since Stencil boolean props default to `false` when the attribute is missing.\n * instead of `open` defaulting to `true`, using a `closed` prop.\n */\n @Prop({ mutable: true, reflect: true }) closed: boolean = false;\n\n /** Whether the content should scroll down from the top when open. */\n @Prop({ attribute: 'scroll-down', reflect: true }) scrollDown: boolean = false;\n\n /** Stop fading the content when collapsing/expanding. */\n @Prop({ attribute: 'no-fading', reflect: true }) noFading: boolean = false;\n\n /** If true, collapse/expand based on the nearest header shrink event. */\n @Prop({ attribute: 'collapse-on-header-shrink', reflect: true }) collapseOnHeaderShrink: boolean =\n false;\n\n /**\n * Handles `leHeaderShrinkChange` events from the `le-header`.\n * In case multiple headers are present, only the nearest one in the DOM tree is used.\n */\n @Listen('leHeaderShrinkChange', { target: 'window' })\n handleHeaderShrink(ev: Event) {\n const e = ev as CustomEvent<{ shrunk: boolean }>;\n this.headerShrunk = !!e.detail?.shrunk;\n }\n\n @State() private headerShrunk: boolean = false;\n\n componentDidLoad() {\n this.applyOpenState();\n }\n\n @Watch('open')\n protected onOpenChange() {\n this.applyOpenState();\n }\n\n @Watch('headerShrunk')\n protected onDrivenStateChange() {\n this.applyOpenState();\n }\n\n private shouldBeOpen() {\n if (this.closed) return false;\n if (this.collapseOnHeaderShrink && this.headerShrunk) return false;\n return true;\n }\n\n private applyOpenState() {\n const nextOpen = this.shouldBeOpen();\n this.el.toggleAttribute('data-open', nextOpen);\n }\n\n render() {\n return (\n <Host data-open={this.shouldBeOpen() ? 'true' : 'false'}>\n <le-component component=\"le-collapse\">\n <div class={{ 'region': true, 'scroll-down': this.scrollDown }} part=\"region\">\n <slot></slot>\n </div>\n </le-component>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
display: inline-block;
|
|
3
|
+
|
|
4
|
+
width: var(--le-icon-size, var(--le-size-4));
|
|
5
|
+
height: var(--le-icon-size, var(--le-size-4));
|
|
6
|
+
|
|
7
|
+
color: var(--le-icon-color, var(--le-color-text-primary));
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
:host svg {
|
|
11
|
+
display: block;
|
|
12
|
+
fill: currentColor;
|
|
13
|
+
}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Based on the script from Paul Andreson's article:
|
|
3
|
+
* https://paulcpederson.com/articles/stencil-icons/
|
|
4
|
+
*/
|
|
5
|
+
import { Build, getAssetPath, h } from "@stencil/core";
|
|
6
|
+
const iconCache = {};
|
|
7
|
+
const requestCache = {};
|
|
8
|
+
async function fetchIcon({ name }) {
|
|
9
|
+
if (iconCache[name]) {
|
|
10
|
+
return iconCache[name];
|
|
11
|
+
}
|
|
12
|
+
if (!requestCache[name]) {
|
|
13
|
+
requestCache[name] = fetch(getAssetPath(`./assets/icons/${name}.json`))
|
|
14
|
+
.then(resp => resp.json())
|
|
15
|
+
.catch(() => {
|
|
16
|
+
console.error(`"${name}" is not a valid name`);
|
|
17
|
+
return '';
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
const path = await requestCache[name];
|
|
21
|
+
iconCache[name] = path;
|
|
22
|
+
return path;
|
|
23
|
+
}
|
|
24
|
+
export class LeIcon {
|
|
25
|
+
el;
|
|
26
|
+
/**
|
|
27
|
+
* Name of the icon to display. Corresponds to a JSON file in the assets folder.
|
|
28
|
+
* For example, "search" will load the "search.json" file.
|
|
29
|
+
*/
|
|
30
|
+
name = null;
|
|
31
|
+
/**
|
|
32
|
+
* Size of the icon in pixels. Default is 16.
|
|
33
|
+
*/
|
|
34
|
+
size = 16;
|
|
35
|
+
iconData = null;
|
|
36
|
+
visible = false;
|
|
37
|
+
async loadIconData() {
|
|
38
|
+
const { name, visible } = this;
|
|
39
|
+
if (!Build.isBrowser || !name || !visible) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
this.iconData = await fetchIcon({ name });
|
|
43
|
+
}
|
|
44
|
+
intersectionObserver;
|
|
45
|
+
connectedCallback() {
|
|
46
|
+
this.waitUntilVisible(() => {
|
|
47
|
+
this.visible = true;
|
|
48
|
+
this.loadIconData();
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
disconnectedCallback() {
|
|
52
|
+
if (this.intersectionObserver) {
|
|
53
|
+
this.intersectionObserver.disconnect();
|
|
54
|
+
this.intersectionObserver = null;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
async componentWillLoad() {
|
|
58
|
+
this.loadIconData();
|
|
59
|
+
}
|
|
60
|
+
waitUntilVisible(callback) {
|
|
61
|
+
if (!Build.isBrowser ||
|
|
62
|
+
typeof window === 'undefined' ||
|
|
63
|
+
!window.IntersectionObserver) {
|
|
64
|
+
callback();
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
this.intersectionObserver = new IntersectionObserver(entries => {
|
|
68
|
+
entries.forEach(entry => {
|
|
69
|
+
if (entry.isIntersecting) {
|
|
70
|
+
this.intersectionObserver.disconnect();
|
|
71
|
+
this.intersectionObserver = null;
|
|
72
|
+
callback();
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
}, { rootMargin: '50px' });
|
|
76
|
+
this.intersectionObserver.observe(this.el);
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Renders the SVG content out of a JSON data in a format:
|
|
80
|
+
* { "viewBox": "...", children: [{ "tag": "g", ""children": [ ... ], ...attrs }, ...] }
|
|
81
|
+
*
|
|
82
|
+
* @returns JSX.Element | null
|
|
83
|
+
*/
|
|
84
|
+
renderSVGContent(children) {
|
|
85
|
+
if (!children || children.length === 0) {
|
|
86
|
+
return null;
|
|
87
|
+
}
|
|
88
|
+
const createElement = node => {
|
|
89
|
+
const { tag, children, ...attrs } = node;
|
|
90
|
+
return h(tag, attrs, children ? children.map(createElement) : null);
|
|
91
|
+
};
|
|
92
|
+
const svgElements = children.map(createElement);
|
|
93
|
+
return svgElements;
|
|
94
|
+
}
|
|
95
|
+
render() {
|
|
96
|
+
return (h("svg", { key: 'bf1ded84a38f5d8fdb1723476f4709dc58f71def', xmlns: "http://www.w3.org/2000/svg", fill: "currentColor", height: this.size, width: this.size, viewBox: this.iconData?.viewBox || `0 0 ${this.size} ${this.size}` }, this.renderSVGContent(this.iconData?.children)));
|
|
97
|
+
}
|
|
98
|
+
static get is() { return "le-icon"; }
|
|
99
|
+
static get encapsulation() { return "shadow"; }
|
|
100
|
+
static get originalStyleUrls() {
|
|
101
|
+
return {
|
|
102
|
+
"$": ["le-icon.css"]
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
static get styleUrls() {
|
|
106
|
+
return {
|
|
107
|
+
"$": ["le-icon.css"]
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
static get properties() {
|
|
111
|
+
return {
|
|
112
|
+
"name": {
|
|
113
|
+
"type": "string",
|
|
114
|
+
"mutable": false,
|
|
115
|
+
"complexType": {
|
|
116
|
+
"original": "string",
|
|
117
|
+
"resolved": "string",
|
|
118
|
+
"references": {}
|
|
119
|
+
},
|
|
120
|
+
"required": false,
|
|
121
|
+
"optional": false,
|
|
122
|
+
"docs": {
|
|
123
|
+
"tags": [],
|
|
124
|
+
"text": "Name of the icon to display. Corresponds to a JSON file in the assets folder.\nFor example, \"search\" will load the \"search.json\" file."
|
|
125
|
+
},
|
|
126
|
+
"getter": false,
|
|
127
|
+
"setter": false,
|
|
128
|
+
"reflect": false,
|
|
129
|
+
"attribute": "name",
|
|
130
|
+
"defaultValue": "null"
|
|
131
|
+
},
|
|
132
|
+
"size": {
|
|
133
|
+
"type": "number",
|
|
134
|
+
"mutable": false,
|
|
135
|
+
"complexType": {
|
|
136
|
+
"original": "number",
|
|
137
|
+
"resolved": "number",
|
|
138
|
+
"references": {}
|
|
139
|
+
},
|
|
140
|
+
"required": false,
|
|
141
|
+
"optional": false,
|
|
142
|
+
"docs": {
|
|
143
|
+
"tags": [],
|
|
144
|
+
"text": "Size of the icon in pixels. Default is 16."
|
|
145
|
+
},
|
|
146
|
+
"getter": false,
|
|
147
|
+
"setter": false,
|
|
148
|
+
"reflect": false,
|
|
149
|
+
"attribute": "size",
|
|
150
|
+
"defaultValue": "16"
|
|
151
|
+
}
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
static get states() {
|
|
155
|
+
return {
|
|
156
|
+
"iconData": {},
|
|
157
|
+
"visible": {}
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
static get elementRef() { return "el"; }
|
|
161
|
+
static get watchers() {
|
|
162
|
+
return [{
|
|
163
|
+
"propName": "name",
|
|
164
|
+
"methodName": "loadIconData"
|
|
165
|
+
}];
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
//# sourceMappingURL=le-icon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"le-icon.js","sourceRoot":"","sources":["../../../src/components/le-icon/le-icon.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * Based on the script from Paul Andreson's article:\n * https://paulcpederson.com/articles/stencil-icons/\n */\nimport { Build, Component, Element, getAssetPath, h, Prop, State, Watch } from '@stencil/core';\n\nconst iconCache = {};\nconst requestCache = {};\n\nasync function fetchIcon({ name }): Promise<string> {\n if (iconCache[name]) {\n return iconCache[name];\n }\n if (!requestCache[name]) {\n requestCache[name] = fetch(getAssetPath(`./assets/icons/${name}.json`))\n .then(resp => resp.json())\n .catch(() => {\n console.error(`\"${name}\" is not a valid name`);\n return '';\n });\n }\n\n const path = await requestCache[name];\n iconCache[name] = path;\n\n return path;\n}\n\n@Component({\n tag: 'le-icon',\n styleUrl: 'le-icon.css',\n shadow: true,\n})\nexport class LeIcon {\n @Element() el: HTMLElement;\n\n /**\n * Name of the icon to display. Corresponds to a JSON file in the assets folder.\n * For example, \"search\" will load the \"search.json\" file.\n */\n @Prop() name: string = null;\n\n /**\n * Size of the icon in pixels. Default is 16.\n */\n @Prop() size: number = 16;\n\n @State() private iconData: any = null;\n\n @State() private visible = false;\n\n @Watch('name') private async loadIconData(): Promise<void> {\n const { name, visible } = this;\n\n if (!Build.isBrowser || !name || !visible) {\n return;\n }\n\n this.iconData = await fetchIcon({ name });\n }\n\n private intersectionObserver: IntersectionObserver;\n\n connectedCallback(): void {\n this.waitUntilVisible(() => {\n this.visible = true;\n this.loadIconData();\n });\n }\n\n disconnectedCallback(): void {\n if (this.intersectionObserver) {\n this.intersectionObserver.disconnect();\n this.intersectionObserver = null;\n }\n }\n\n async componentWillLoad(): Promise<void> {\n this.loadIconData();\n }\n\n private waitUntilVisible(callback: () => void): void {\n if (\n !Build.isBrowser ||\n typeof window === 'undefined' ||\n !(window as any).IntersectionObserver\n ) {\n callback();\n return;\n }\n\n this.intersectionObserver = new IntersectionObserver(\n entries => {\n entries.forEach(entry => {\n if (entry.isIntersecting) {\n this.intersectionObserver.disconnect();\n this.intersectionObserver = null;\n callback();\n }\n });\n },\n { rootMargin: '50px' },\n );\n\n this.intersectionObserver.observe(this.el);\n }\n\n /**\n * Renders the SVG content out of a JSON data in a format:\n * { \"viewBox\": \"...\", children: [{ \"tag\": \"g\", \"\"children\": [ ... ], ...attrs }, ...] }\n *\n * @returns JSX.Element | null\n */\n private renderSVGContent(children?: any[]) {\n if (!children || children.length === 0) {\n return null;\n }\n\n const createElement = node => {\n const { tag, children, ...attrs } = node;\n return h(tag, attrs, children ? children.map(createElement) : null);\n };\n\n const svgElements = children.map(createElement);\n return svgElements;\n }\n\n render() {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"currentColor\"\n height={this.size}\n width={this.size}\n viewBox={this.iconData?.viewBox || `0 0 ${this.size} ${this.size}`}\n >\n {this.renderSVGContent(this.iconData?.children)}\n </svg>\n );\n }\n}\n"]}
|
|
@@ -308,13 +308,13 @@ export class LeMultiselect {
|
|
|
308
308
|
render() {
|
|
309
309
|
const hasSelections = this.selectedOptions.length > 0;
|
|
310
310
|
const atMaxSelections = this.maxSelections && this.value.length >= this.maxSelections;
|
|
311
|
-
return (h("le-component", { key: '
|
|
311
|
+
return (h("le-component", { key: '6fa8274a23f2cc144150442ca9478d405fa9db59', component: "le-multiselect" }, h("le-dropdown-base", { key: 'eccf77b1d40bcc1dbae6d6e73523199dba89c02a', ref: el => (this.dropdownEl = el), options: this.effectiveOptions, value: this.value, multiple: true, disabled: this.disabled, filterFn: this.searchable ? this.filterOption : undefined, filterQuery: this.searchQuery, emptyText: this.emptyText, showCheckboxes: true, fullWidth: this.fullWidth, onLeOptionSelect: this.handleOptionSelect, onLeDropdownOpen: this.handleDropdownOpen, onLeDropdownClose: this.handleDropdownClose }, h("div", { key: '3c665ad3efc5543a9afcb836c8a996030460723a', slot: "trigger", class: {
|
|
312
312
|
'multiselect-trigger': true,
|
|
313
313
|
'has-selections': hasSelections,
|
|
314
314
|
'is-open': this.open,
|
|
315
315
|
'is-disabled': this.disabled,
|
|
316
|
-
}, tabIndex: this.disabled ? -1 : 0, role: "combobox", "aria-haspopup": "listbox", "aria-expanded": this.open ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : undefined, onClick: this.handleTriggerClick, onKeyDown: this.handleTriggerKeyDown }, this.renderTags(), h("div", { key: '
|
|
317
|
-
this.value.map(val => (h("input", { type: "hidden", name: this.name, value: val.toString(), key: val.toString() }))), atMaxSelections && (h("span", { key: '
|
|
316
|
+
}, tabIndex: this.disabled ? -1 : 0, role: "combobox", "aria-haspopup": "listbox", "aria-expanded": this.open ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : undefined, onClick: this.handleTriggerClick, onKeyDown: this.handleTriggerKeyDown }, this.renderTags(), h("div", { key: 'a19d6d1dfa9bfb757874bb4e39f75e3dc8e4f101', class: "multiselect-actions" }, hasSelections && !this.disabled && (h("button", { key: 'f639279dd53a1eaff6ff146c57129d598bc55ca5', type: "button", class: "multiselect-clear", onClick: this.handleClearAll, "aria-label": "Clear all", tabIndex: -1 }, h("svg", { key: 'a5458f2d7dae924b7f943df067269beca1d9bfdd', viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", "stroke-width": "2" }, h("path", { key: 'c2fd9f943f0496e2c0e0ecbb79e1a16993cb796d', d: "M4 4l8 8M12 4l-8 8" })))), h("span", { key: 'bd7fc5ef0af6b937fea089881f3d5fc881219247', class: "multiselect-arrow" }, h("svg", { key: '180c1c3b35713fc5de0aade07ef3524dd674cca5', viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", "stroke-width": "2" }, h("path", { key: '48c1e6e3f2c0c20b52d2ba551d2720e5da5f0bed', d: "M4 6l4 4 4-4" }))))), this.searchable && this.open && (h("div", { key: '3b6dbe407a4d33065ff50496c14a71ebd27e71bb', class: "multiselect-search", slot: "header" }, h("le-string-input", { key: '35ed3a229b0ca6f4e1f9e8732c94a531af2d7fb3', mode: "default", inputRef: el => (this.inputEl = el), class: "search-input", placeholder: "Search...", value: this.searchQuery, onInput: this.handleSearchInput })))), this.name &&
|
|
317
|
+
this.value.map(val => (h("input", { type: "hidden", name: this.name, value: val.toString(), key: val.toString() }))), atMaxSelections && (h("span", { key: '214ee34c77755375045fce655129736ff4a1ef0f', class: "multiselect-status" }, "Maximum ", this.maxSelections, " selections"))));
|
|
318
318
|
}
|
|
319
319
|
static get is() { return "le-multiselect"; }
|
|
320
320
|
static get encapsulation() { return "shadow"; }
|