@jumpgroup/jump-design-system 0.3.77 → 0.3.79
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-230bcbae.js → index-e9479989.js} +5 -5
- package/dist/cjs/index-e9479989.js.map +1 -0
- package/dist/cjs/jump-accordion-group.cjs.entry.js +1 -1
- package/dist/cjs/jump-accordion.cjs.entry.js +1 -1
- package/dist/cjs/jump-badge.cjs.entry.js +1 -1
- package/dist/cjs/jump-button_2.cjs.entry.js +1 -1
- package/dist/cjs/jump-card-ecommerce-option.cjs.entry.js +1 -1
- package/dist/cjs/jump-card-ecommerce.cjs.entry.js +1 -1
- package/dist/cjs/jump-card.cjs.entry.js +1 -1
- package/dist/cjs/jump-design-system.cjs.js +2 -2
- package/dist/cjs/jump-filter-checkbox.cjs.entry.js +1 -1
- package/dist/cjs/jump-filter-range.cjs.entry.js +1 -1
- package/dist/cjs/jump-filter-select.cjs.entry.js +61 -21
- package/dist/cjs/jump-filter-select.cjs.entry.js.map +1 -1
- package/dist/cjs/jump-filter-switch.cjs.entry.js +2 -2
- package/dist/cjs/jump-filter.cjs.entry.js +1 -1
- package/dist/cjs/jump-filtergroup.cjs.entry.js +4 -4
- package/dist/cjs/jump-navbar.cjs.entry.js +6 -6
- package/dist/cjs/jump-pagination-table.cjs.entry.js +4 -4
- package/dist/cjs/jump-pagination.cjs.entry.js +4 -4
- package/dist/cjs/jump-quantity.cjs.entry.js +4 -4
- package/dist/cjs/jump-search-bar-dropdown-item.cjs.entry.js +2 -2
- package/dist/cjs/jump-search-bar-mobile.cjs.entry.js +5 -5
- package/dist/cjs/jump-search-bar.cjs.entry.js +3 -3
- package/dist/cjs/jump-search-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/jump-side-cart-example.cjs.entry.js +2 -2
- package/dist/cjs/jump-side-cart.cjs.entry.js +1 -1
- package/dist/cjs/jump-tab-item.cjs.entry.js +3 -3
- package/dist/cjs/jump-tab-panel.cjs.entry.js +2 -2
- package/dist/cjs/jump-tab.cjs.entry.js +2 -2
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/collection/components/jump-filter-select/jump-filter-select.js +60 -21
- package/dist/collection/components/jump-filter-select/jump-filter-select.js.map +1 -1
- package/dist/collection/components/jump-filter-select/jump-filter-select.stories.js +28 -10
- package/dist/collection/components/jump-filter-switch/jump-filter-switch.js +1 -1
- package/dist/collection/components/jump-filtergroup/jump-filtergroup.js +3 -3
- package/dist/collection/components/jump-navbar/jump-navbar.js +5 -5
- package/dist/collection/components/jump-pagination/jump-pagination.js +3 -3
- package/dist/collection/components/jump-pagination-table/jump-pagination-table.js +3 -3
- package/dist/collection/components/jump-quantity/jump-quantity.js +3 -3
- package/dist/collection/components/jump-search-bar/jump-search-bar.js +20 -3
- package/dist/collection/components/jump-search-bar/jump-search-bar.js.map +1 -1
- package/dist/collection/components/jump-search-bar/jump-search-bar.stories.js +9 -0
- package/dist/collection/components/jump-search-bar/jump-search-bar.stories.js.map +1 -1
- package/dist/collection/components/jump-search-bar-dropdown-item/jump-search-bar-dropdown-item.js +1 -1
- package/dist/collection/components/jump-search-bar-mobile/jump-search-bar-mobile.js +4 -4
- package/dist/collection/components/jump-side-cart/jump-side-cart.example.js +1 -1
- package/dist/collection/components/jump-tab/jump-tab.js +1 -1
- package/dist/collection/components/jump-tab-item/jump-tab-item.js +2 -2
- package/dist/collection/components/jump-tab-panel/jump-tab-panel.js +1 -1
- package/dist/collection/utils/utils.js +4 -0
- package/dist/collection/utils/utils.js.map +1 -1
- package/dist/components/jump-filter-select.js +60 -21
- package/dist/components/jump-filter-select.js.map +1 -1
- package/dist/components/jump-filter-switch.js +1 -1
- package/dist/components/jump-filtergroup.js +3 -3
- package/dist/components/jump-navbar.js +5 -5
- package/dist/components/jump-pagination-table.js +3 -3
- package/dist/components/jump-pagination.js +3 -3
- package/dist/components/jump-quantity.js +3 -3
- package/dist/components/jump-search-bar-dropdown-item.js +1 -1
- package/dist/components/jump-search-bar-mobile.js +4 -4
- package/dist/components/jump-search-bar.js +3 -3
- package/dist/components/jump-search-bar.js.map +1 -1
- package/dist/components/jump-side-cart-example.js +1 -1
- package/dist/components/jump-tab-item.js +2 -2
- package/dist/components/jump-tab-panel.js +1 -1
- package/dist/components/jump-tab.js +1 -1
- package/dist/esm/{index-4363ffe4.js → index-a94b3471.js} +5 -5
- package/dist/esm/index-a94b3471.js.map +1 -0
- package/dist/esm/jump-accordion-group.entry.js +1 -1
- package/dist/esm/jump-accordion.entry.js +1 -1
- package/dist/esm/jump-badge.entry.js +1 -1
- package/dist/esm/jump-button_2.entry.js +1 -1
- package/dist/esm/jump-card-ecommerce-option.entry.js +1 -1
- package/dist/esm/jump-card-ecommerce.entry.js +1 -1
- package/dist/esm/jump-card.entry.js +1 -1
- package/dist/esm/jump-design-system.js +3 -3
- package/dist/esm/jump-filter-checkbox.entry.js +1 -1
- package/dist/esm/jump-filter-range.entry.js +1 -1
- package/dist/esm/jump-filter-select.entry.js +61 -21
- package/dist/esm/jump-filter-select.entry.js.map +1 -1
- package/dist/esm/jump-filter-switch.entry.js +2 -2
- package/dist/esm/jump-filter.entry.js +1 -1
- package/dist/esm/jump-filtergroup.entry.js +4 -4
- package/dist/esm/jump-navbar.entry.js +6 -6
- package/dist/esm/jump-pagination-table.entry.js +4 -4
- package/dist/esm/jump-pagination.entry.js +4 -4
- package/dist/esm/jump-quantity.entry.js +4 -4
- package/dist/esm/jump-search-bar-dropdown-item.entry.js +2 -2
- package/dist/esm/jump-search-bar-mobile.entry.js +5 -5
- package/dist/esm/jump-search-bar.entry.js +3 -3
- package/dist/esm/jump-search-bar.entry.js.map +1 -1
- package/dist/esm/jump-side-cart-example.entry.js +2 -2
- package/dist/esm/jump-side-cart.entry.js +1 -1
- package/dist/esm/jump-tab-item.entry.js +3 -3
- package/dist/esm/jump-tab-panel.entry.js +2 -2
- package/dist/esm/jump-tab.entry.js +2 -2
- package/dist/esm/loader.js +3 -3
- package/dist/jump-design-system/jump-design-system.esm.js +1 -1
- package/dist/jump-design-system/jump-design-system.esm.js.map +1 -1
- package/dist/jump-design-system/{p-048d87ee.entry.js → p-0140b32c.entry.js} +2 -2
- package/dist/jump-design-system/{p-d40c487f.entry.js → p-02ab8fb7.entry.js} +2 -2
- package/dist/jump-design-system/p-038a2a14.entry.js +2 -0
- package/dist/jump-design-system/p-038a2a14.entry.js.map +1 -0
- package/dist/jump-design-system/{p-e7b3ebb1.entry.js → p-0d86819c.entry.js} +2 -2
- package/dist/jump-design-system/{p-79e5dac6.entry.js → p-18c359e3.entry.js} +2 -2
- package/dist/jump-design-system/{p-ae1435a6.entry.js → p-1ef1fc5c.entry.js} +2 -2
- package/dist/jump-design-system/{p-1f824808.entry.js → p-264fa972.entry.js} +2 -2
- package/dist/jump-design-system/{p-e7d1e3d8.entry.js → p-421ebb5a.entry.js} +2 -2
- package/dist/jump-design-system/{p-5092836a.entry.js → p-55fcebb1.entry.js} +5 -5
- package/dist/jump-design-system/p-55fcebb1.entry.js.map +1 -0
- package/dist/jump-design-system/{p-5fb2a919.entry.js → p-629835ac.entry.js} +2 -2
- package/dist/jump-design-system/{p-a7d5e687.entry.js → p-6905cee4.entry.js} +2 -2
- package/dist/jump-design-system/{p-6e497dd6.entry.js → p-6b8fccdb.entry.js} +2 -2
- package/dist/jump-design-system/{p-9035201c.entry.js → p-6d82feb3.entry.js} +2 -2
- package/dist/jump-design-system/{p-8f02eb5e.entry.js → p-7ac9382b.entry.js} +2 -2
- package/dist/jump-design-system/{p-48bb1cbf.entry.js → p-7e35d9f1.entry.js} +3 -3
- package/dist/jump-design-system/{p-a0237406.entry.js → p-87903fff.entry.js} +2 -2
- package/dist/jump-design-system/{p-40ca24a6.js → p-98d5dd1f.js} +3 -3
- package/dist/jump-design-system/{p-40ca24a6.js.map → p-98d5dd1f.js.map} +1 -1
- package/dist/jump-design-system/{p-66c79fb9.entry.js → p-b3765945.entry.js} +4 -4
- package/dist/jump-design-system/{p-b03b8328.entry.js → p-bb18f919.entry.js} +2 -2
- package/dist/jump-design-system/{p-0cc799f3.entry.js → p-bd692b1f.entry.js} +2 -2
- package/dist/jump-design-system/{p-83b3a560.entry.js → p-cdc5daf7.entry.js} +2 -2
- package/dist/jump-design-system/p-d0ea0f54.entry.js +2 -0
- package/dist/jump-design-system/p-d1fc1ddf.entry.js +2 -0
- package/dist/jump-design-system/{p-37b7b679.entry.js → p-d70793e3.entry.js} +2 -2
- package/dist/jump-design-system/{p-916742f5.entry.js → p-f36de1a8.entry.js} +2 -2
- package/dist/jump-design-system/{p-cdc53aae.entry.js → p-ff62e250.entry.js} +2 -2
- package/dist/jump-design-system-elements.json +4 -0
- package/dist/types/components/jump-filter-select/jump-filter-select.d.ts +1 -6
- package/dist/types/components/jump-search-bar/jump-search-bar.stories.d.ts +13 -0
- package/dist/types/components.d.ts +2 -0
- package/package.json +1 -1
- package/dist/cjs/index-230bcbae.js.map +0 -1
- package/dist/esm/index-4363ffe4.js.map +0 -1
- package/dist/jump-design-system/p-5092836a.entry.js.map +0 -1
- package/dist/jump-design-system/p-5b54b1f4.entry.js +0 -2
- package/dist/jump-design-system/p-5b54b1f4.entry.js.map +0 -1
- package/dist/jump-design-system/p-6134b84b.entry.js +0 -2
- package/dist/jump-design-system/p-64024e67.entry.js +0 -2
- /package/dist/jump-design-system/{p-048d87ee.entry.js.map → p-0140b32c.entry.js.map} +0 -0
- /package/dist/jump-design-system/{p-d40c487f.entry.js.map → p-02ab8fb7.entry.js.map} +0 -0
- /package/dist/jump-design-system/{p-e7b3ebb1.entry.js.map → p-0d86819c.entry.js.map} +0 -0
- /package/dist/jump-design-system/{p-79e5dac6.entry.js.map → p-18c359e3.entry.js.map} +0 -0
- /package/dist/jump-design-system/{p-ae1435a6.entry.js.map → p-1ef1fc5c.entry.js.map} +0 -0
- /package/dist/jump-design-system/{p-1f824808.entry.js.map → p-264fa972.entry.js.map} +0 -0
- /package/dist/jump-design-system/{p-e7d1e3d8.entry.js.map → p-421ebb5a.entry.js.map} +0 -0
- /package/dist/jump-design-system/{p-5fb2a919.entry.js.map → p-629835ac.entry.js.map} +0 -0
- /package/dist/jump-design-system/{p-a7d5e687.entry.js.map → p-6905cee4.entry.js.map} +0 -0
- /package/dist/jump-design-system/{p-6e497dd6.entry.js.map → p-6b8fccdb.entry.js.map} +0 -0
- /package/dist/jump-design-system/{p-9035201c.entry.js.map → p-6d82feb3.entry.js.map} +0 -0
- /package/dist/jump-design-system/{p-8f02eb5e.entry.js.map → p-7ac9382b.entry.js.map} +0 -0
- /package/dist/jump-design-system/{p-48bb1cbf.entry.js.map → p-7e35d9f1.entry.js.map} +0 -0
- /package/dist/jump-design-system/{p-a0237406.entry.js.map → p-87903fff.entry.js.map} +0 -0
- /package/dist/jump-design-system/{p-66c79fb9.entry.js.map → p-b3765945.entry.js.map} +0 -0
- /package/dist/jump-design-system/{p-b03b8328.entry.js.map → p-bb18f919.entry.js.map} +0 -0
- /package/dist/jump-design-system/{p-0cc799f3.entry.js.map → p-bd692b1f.entry.js.map} +0 -0
- /package/dist/jump-design-system/{p-83b3a560.entry.js.map → p-cdc5daf7.entry.js.map} +0 -0
- /package/dist/jump-design-system/{p-64024e67.entry.js.map → p-d0ea0f54.entry.js.map} +0 -0
- /package/dist/jump-design-system/{p-6134b84b.entry.js.map → p-d1fc1ddf.entry.js.map} +0 -0
- /package/dist/jump-design-system/{p-37b7b679.entry.js.map → p-d70793e3.entry.js.map} +0 -0
- /package/dist/jump-design-system/{p-916742f5.entry.js.map → p-f36de1a8.entry.js.map} +0 -0
- /package/dist/jump-design-system/{p-cdc53aae.entry.js.map → p-ff62e250.entry.js.map} +0 -0
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
const index = require('./index-
|
|
5
|
+
const index = require('./index-e9479989.js');
|
|
6
6
|
|
|
7
7
|
const jumpTabPanelCss = ":host{display:block}.JumpTabPanel__Content{display:none;padding:1rem 0}.JumpTabPanel__Content.active{display:block}";
|
|
8
8
|
const JumpTabPanelStyle0 = jumpTabPanelCss;
|
|
@@ -14,7 +14,7 @@ const JumpTabPanel = class {
|
|
|
14
14
|
this.active = false;
|
|
15
15
|
}
|
|
16
16
|
render() {
|
|
17
|
-
return (index.h(index.Host, { key: '
|
|
17
|
+
return (index.h(index.Host, { key: 'bde92a51266193503b490c29e2f5658625f7091e', class: "JumpTabPanel", id: this.identifier }, index.h("div", { key: '28668409b16c37eea9f10f602a83978412baad9a', class: "JumpTabPanel__Content " + (this.active ? 'active' : '') }, index.h("slot", { key: 'bb06f4ada692c89437dfd980253414240b52f375' }))));
|
|
18
18
|
}
|
|
19
19
|
};
|
|
20
20
|
JumpTabPanel.style = JumpTabPanelStyle0;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
const index = require('./index-
|
|
5
|
+
const index = require('./index-e9479989.js');
|
|
6
6
|
|
|
7
7
|
const jumpTabCss = ":host{display:block;--jump-tab-bg-color:var(--gray-ultralight, #f8f8f8);--jump-tab-border-color:var(--neutral-grey-disabled, #CBCBCB);overflow-x:auto;scrollbar-width:none;}:host::-webkit-scrollbar{display:none;}.Wrapper{display:flex;flex-direction:column;overflow-x:auto;scrollbar-width:none;}.Wrapper::-webkit-scrollbar{display:none;}.ContentWrapper{display:flex;flex-direction:column;width:100%;justify-content:var(--alignment, flex-start)}@media (max-width: 768px){.ContentWrapper.ContentWrapper--Items{justify-content:flex-start;overflow-x:auto}.ContentWrapper.ContentWrapper--Items .fullBorder{justify-content:flex-start}}.Content{display:flex;flex-direction:row;align-items:flex-end;width:fit-content}.Content.fullBorder{width:100%;border-bottom:1px solid var(--jump-tab-border-color);justify-content:var(--alignment, flex-start)}.Content.fullBorder.inline ::slotted([slot=tab-item]){margin-bottom:-1px}.Content.rounded{border-radius:50px;background-color:var(--jump-tab-bg-color)}.Content.disabled{cursor:not-allowed;opacity:0.5;pointer-events:none}jump-tab-item{display:flex;align-items:flex-end;overflow:hidden}jump-tab-item .tab-title{display:block;white-space:normal;text-align:center}";
|
|
8
8
|
const JumpTabStyle0 = jumpTabCss;
|
|
@@ -76,7 +76,7 @@ const JumpTab = class {
|
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
78
|
render() {
|
|
79
|
-
return (index.h(index.Host, { key: '
|
|
79
|
+
return (index.h(index.Host, { key: '59e43d82c8b42b021901c38df7e011b4214322c4', class: "JumpTab " + this.variant, id: this.tabGroupName, ref: (el) => { this.JumpTabEl = el; } }, index.h("div", { key: 'bf856ca2cdf08bedac4de091665a76fad3839035', class: "Wrapper " + (this.fullBorder ? 'fullBorder' : '') }, index.h("div", { key: 'e9972902f6be1b6e389a84cc13ebe0d143fd30ec', class: "ContentWrapper ContentWrapper--Items", style: { '--alignment': this.getAlignment(this.alignment) } }, index.h("div", { key: '7e2bbecf1a4ba7ca854edf4b632039300e3987ed', class: "Content " + this.variant + " " + (this.disabled ? 'disabled' : '') + " " + (this.fullBorder ? 'fullBorder' : ''), style: { '--alignment': this.getAlignment(this.alignment) } }, index.h("slot", { key: '99ed84c1151955db9c2df9b5ef992fa57ffdb49b', name: "tab-item" }))), index.h("div", { key: '6881b2bfa14e188654c31088c4a27b8de7ba14f1', class: "ContentWrapper ContentWrapper--Panel" }, index.h("slot", { key: 'c33f6ee0952db88e1237593a1e264beb9f8c7ed3', name: "tab-content" })))));
|
|
80
80
|
}
|
|
81
81
|
getAlignment(alignment) {
|
|
82
82
|
switch (alignment) {
|
package/dist/cjs/loader.cjs.js
CHANGED
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
const index = require('./index-
|
|
5
|
+
const index = require('./index-e9479989.js');
|
|
6
6
|
const appGlobals = require('./app-globals-3a1e7e63.js');
|
|
7
7
|
|
|
8
8
|
const defineCustomElements = async (win, options) => {
|
|
9
9
|
if (typeof window === 'undefined') return undefined;
|
|
10
10
|
await appGlobals.globalScripts();
|
|
11
|
-
return index.bootstrapLazy([["jump-card-ecommerce.cjs",[[1,"jump-card-ecommerce",{"onlyIconButton":[4,"only-icon-button"],"hasBackground":[4,"has-background"],"badge":[1],"favorite":[1540],"hasFavorite":[4,"has-favorite"],"hasSlotForFavorite":[4,"has-slot-for-favorite"],"hasSlotAddToCart":[4,"has-slot-add-to-cart"],"link":[1],"img":[1],"imgAlt":[1,"img-alt"],"hoverImg":[1,"hover-img"],"hoverImgAlt":[1,"hover-img-alt"],"videoSrc":[1,"video-src"],"notificationUrl":[1,"notification-url"],"notificationText":[1,"notification-text"],"productName":[1,"product-name"],"subtitle":[1],"productId":[1,"product-id"],"price":[2],"salePrice":[2,"sale-price"],"currency":[1],"addToCartColor":[1,"add-to-cart-color"],"badgeColor":[1,"badge-color"],"outOfStock":[1540,"out-of-stock"],"outOfStockText":[1,"out-of-stock-text"],"addToCartText":[1,"add-to-cart-text"],"waitingListText":[1,"waiting-list-text"],"addToWaitingList":[4,"add-to-waiting-list"],"isMini":[4,"is-mini"],"addedToCart":[4,"added-to-cart"],"endAddedToCart":[4,"end-added-to-cart"],"variations":[32],"selectedVariation":[32],"priceFormatted":[32],"salePriceFormatted":[32],"setPrice":[64]},[[0,"jump-card-ecommerce-option-connected","addOption"]]]]],["jump-filter.cjs",[[1,"jump-filter",{"direction":[1],"filterHeading":[1,"filter-heading"],"filterButtonLabel":[1,"filter-button-label"],"filterButtonIcon":[1,"filter-button-icon"],"mobileThreshold":[2,"mobile-threshold"],"filters":[8],"showCount":[4,"show-count"],"offCanvasOverlay":[4,"off-canvas-overlay"],"activeFilters":[32],"showMobileFilters":[32],"isMobile":[32],"offCanvasClasses":[32],"getFilters":[64]},[[0,"jump-filterchange","filterChangeHandler"],[9,"resize","handleResize"]],{"showMobileFilters":["watchHandler"]}]]],["jump-filtergroup.cjs",[[1,"jump-filtergroup",{"name":[1],"heading":[1],"otherLabel":[1,"other-label"],"lessLabel":[1,"less-label"],"maxElements":[2,"max-elements"],"variant":[1],"label":[32],"values":[32],"value":[32],"slotItems":[32],"inputs":[32],"showMore":[32],"getValues":[64],"getActiveAmount":[64],"getInputs":[64],"getName":[64]},null,{"showMore":["watchShowMore"]}]]],["jump-navbar.cjs",[[1,"jump-navbar",{"logo":[16],"navItems":[16],"secondaryNavItems":[16],"mobileThreshold":[2,"mobile-threshold"],"type":[1],"navPosition":[1,"nav-position"],"megaMenuAlignment":[1,"mega-menu-alignment"],"sticky":[4],"stickyThreshold":[2,"sticky-threshold"],"mobileLogo":[16],"user":[16],"isMobile":[32]},[[9,"resize","handleResize"]]]]],["jump-pagination.cjs",[[1,"jump-pagination",{"pagLabel":[1,"pag-label"],"last":[2],"showFirstAndLast":[4,"show-first-and-last"],"current":[32]},null,{"current":["watchcurrent"]}]]],["jump-pagination-table.cjs",[[0,"jump-pagination-table",{"elementsRanges":[1,"elements-ranges"],"elPerPage":[2,"el-per-page"],"pagLabel":[513,"pag-label"],"labelElementsPerPage":[513,"label-elements-per-page"],"total":[514],"first":[514],"last":[514],"showFirstAndLast":[516,"show-first-and-last"],"elementsRangesArray":[32]},null,{"elementsRanges":["elementsRangesChanged"],"elPerPage":["elPerPageChanged"]}]]],["jump-quantity.cjs",[[65,"jump-quantity",{"min":[2],"max":[2],"step":[2],"label":[1],"type":[1],"variant":[1],"showButtons":[4,"show-buttons"],"value":[2],"internalValue":[32],"getValue":[64],"setMax":[64],"reset":[64]},null,{"value":["onValueChange"]}]]],["jump-search-bar.cjs",[[1,"jump-search-bar",{"placeholder":[1],"noResultText":[1,"no-result-text"],"loadingText":[1,"loading-text"],"resultsText":[1,"results-text"],"showAllResText":[1,"show-all-res-text"],"identifier":[1],"debounceTime":[2,"debounce-time"],"variant":[1],"withBtn":[4,"with-btn"],"recentsTitle":[1,"recents-title"],"recents":[16],"results":[16],"dropdown":[4],"linearIconOnly":[4,"linear-icon-only"],"dropdownPosition":[1,"dropdown-position"],"dropdownVisible":[32],"
|
|
11
|
+
return index.bootstrapLazy([["jump-card-ecommerce.cjs",[[1,"jump-card-ecommerce",{"onlyIconButton":[4,"only-icon-button"],"hasBackground":[4,"has-background"],"badge":[1],"favorite":[1540],"hasFavorite":[4,"has-favorite"],"hasSlotForFavorite":[4,"has-slot-for-favorite"],"hasSlotAddToCart":[4,"has-slot-add-to-cart"],"link":[1],"img":[1],"imgAlt":[1,"img-alt"],"hoverImg":[1,"hover-img"],"hoverImgAlt":[1,"hover-img-alt"],"videoSrc":[1,"video-src"],"notificationUrl":[1,"notification-url"],"notificationText":[1,"notification-text"],"productName":[1,"product-name"],"subtitle":[1],"productId":[1,"product-id"],"price":[2],"salePrice":[2,"sale-price"],"currency":[1],"addToCartColor":[1,"add-to-cart-color"],"badgeColor":[1,"badge-color"],"outOfStock":[1540,"out-of-stock"],"outOfStockText":[1,"out-of-stock-text"],"addToCartText":[1,"add-to-cart-text"],"waitingListText":[1,"waiting-list-text"],"addToWaitingList":[4,"add-to-waiting-list"],"isMini":[4,"is-mini"],"addedToCart":[4,"added-to-cart"],"endAddedToCart":[4,"end-added-to-cart"],"variations":[32],"selectedVariation":[32],"priceFormatted":[32],"salePriceFormatted":[32],"setPrice":[64]},[[0,"jump-card-ecommerce-option-connected","addOption"]]]]],["jump-filter.cjs",[[1,"jump-filter",{"direction":[1],"filterHeading":[1,"filter-heading"],"filterButtonLabel":[1,"filter-button-label"],"filterButtonIcon":[1,"filter-button-icon"],"mobileThreshold":[2,"mobile-threshold"],"filters":[8],"showCount":[4,"show-count"],"offCanvasOverlay":[4,"off-canvas-overlay"],"activeFilters":[32],"showMobileFilters":[32],"isMobile":[32],"offCanvasClasses":[32],"getFilters":[64]},[[0,"jump-filterchange","filterChangeHandler"],[9,"resize","handleResize"]],{"showMobileFilters":["watchHandler"]}]]],["jump-filtergroup.cjs",[[1,"jump-filtergroup",{"name":[1],"heading":[1],"otherLabel":[1,"other-label"],"lessLabel":[1,"less-label"],"maxElements":[2,"max-elements"],"variant":[1],"label":[32],"values":[32],"value":[32],"slotItems":[32],"inputs":[32],"showMore":[32],"getValues":[64],"getActiveAmount":[64],"getInputs":[64],"getName":[64]},null,{"showMore":["watchShowMore"]}]]],["jump-navbar.cjs",[[1,"jump-navbar",{"logo":[16],"navItems":[16],"secondaryNavItems":[16],"mobileThreshold":[2,"mobile-threshold"],"type":[1],"navPosition":[1,"nav-position"],"megaMenuAlignment":[1,"mega-menu-alignment"],"sticky":[4],"stickyThreshold":[2,"sticky-threshold"],"mobileLogo":[16],"user":[16],"isMobile":[32]},[[9,"resize","handleResize"]]]]],["jump-pagination.cjs",[[1,"jump-pagination",{"pagLabel":[1,"pag-label"],"last":[2],"showFirstAndLast":[4,"show-first-and-last"],"current":[32]},null,{"current":["watchcurrent"]}]]],["jump-pagination-table.cjs",[[0,"jump-pagination-table",{"elementsRanges":[1,"elements-ranges"],"elPerPage":[2,"el-per-page"],"pagLabel":[513,"pag-label"],"labelElementsPerPage":[513,"label-elements-per-page"],"total":[514],"first":[514],"last":[514],"showFirstAndLast":[516,"show-first-and-last"],"elementsRangesArray":[32]},null,{"elementsRanges":["elementsRangesChanged"],"elPerPage":["elPerPageChanged"]}]]],["jump-quantity.cjs",[[65,"jump-quantity",{"min":[2],"max":[2],"step":[2],"label":[1],"type":[1],"variant":[1],"showButtons":[4,"show-buttons"],"value":[2],"internalValue":[32],"getValue":[64],"setMax":[64],"reset":[64]},null,{"value":["onValueChange"]}]]],["jump-search-bar.cjs",[[1,"jump-search-bar",{"searchValue":[1025,"search-value"],"placeholder":[1],"noResultText":[1,"no-result-text"],"loadingText":[1,"loading-text"],"resultsText":[1,"results-text"],"showAllResText":[1,"show-all-res-text"],"identifier":[1],"debounceTime":[2,"debounce-time"],"variant":[1],"withBtn":[4,"with-btn"],"recentsTitle":[1,"recents-title"],"recents":[16],"results":[16],"dropdown":[4],"linearIconOnly":[4,"linear-icon-only"],"dropdownPosition":[1,"dropdown-position"],"dropdownVisible":[32],"resType":[32],"innerResults":[32],"totalResults":[32],"isExpanded":[32],"setResults":[64]},[[0,"jump-search-bar-dropdown-item-connected","addOption"]],{"searchValue":["searchValueChanged"]}]]],["jump-search-bar-mobile.cjs",[[1,"jump-search-bar-mobile",{"identifier":[1],"placeholder":[1],"recents":[16],"recentsTitle":[1,"recents-title"],"debounceTime":[2,"debounce-time"],"loadingText":[1,"loading-text"],"noResultText":[1,"no-result-text"],"results":[16],"resultsText":[1,"results-text"],"showAllResText":[1,"show-all-res-text"],"isOpen":[32],"innerResults":[32],"totalResults":[32],"resType":[32],"searchValue":[32],"setResults":[64]},[[0,"jump-search-bar-dropdown-item-connected","addOption"]],{"searchValue":["searchValueChanged"]}]]],["jump-accordion.cjs",[[1,"jump-accordion",{"variant":[1],"summary":[1],"disabled":[4],"open":[516],"icon":[1],"identifier":[1]},[[0,"sl-show","handleShow"]]]]],["jump-side-cart-example.cjs",[[1,"jump-side-cart-example",{"isCartOpen":[32],"position":[32],"cartItems":[32]}]]],["jump-tab-item.cjs",[[1,"jump-tab-item",{"identifier":[1],"iconName":[1,"icon-name"],"iconPosition":[1,"icon-position"],"label":[1],"active":[4],"disabled":[4],"variant":[32]}]]],["jump-accordion-group.cjs",[[1,"jump-accordion-group",{"variant":[1],"groupIdentifier":[1,"group-identifier"]}]]],["jump-card.cjs",[[4,"jump-card",{"horizontal":[4],"dark":[4],"shadow":[4],"border":[4],"borderRadius":[4,"border-radius"],"topBorderContentRadius":[4,"top-border-content-radius"],"boxed":[4],"roundedMedia":[4,"rounded-media"],"imgSrc":[1,"img-src"],"imgAlt":[1,"img-alt"],"videoSrc":[1,"video-src"]}]]],["jump-card-ecommerce-option.cjs",[[1,"jump-card-ecommerce-option",{"code":[1],"imgUrl":[1,"img-url"],"label":[1],"sku":[1],"taxonomy":[1]}]]],["jump-filter-checkbox.cjs",[[1,"jump-filter-checkbox",{"value":[1],"label":[1],"checked":[516],"count":[8],"isChecked":[64]}]]],["jump-filter-range.cjs",[[1,"jump-filter-range",{"name":[1],"labelMinBefore":[1,"label-min-before"],"labelMinAfter":[1,"label-min-after"],"labelMaxBefore":[1,"label-max-before"],"labelMaxAfter":[1,"label-max-after"],"min":[2],"max":[2],"step":[2],"value":[1040],"disabled":[516],"minVal":[32],"maxVal":[32],"setValue":[64],"getValues":[64],"getName":[64]},null,{"value":["valueWatcher"]}]]],["jump-filter-select.cjs",[[1,"jump-filter-select",{"value":[1537],"placeholder":[1],"label":[1],"name":[1],"options":[1],"disabled":[516],"multiple":[4],"required":[4],"loading":[4],"open":[32],"values":[32],"getSelectedValue":[64],"getSelectedOption":[64],"getValues":[64],"getName":[64],"setValue":[64]}]]],["jump-filter-switch.cjs",[[1,"jump-filter-switch",{"value":[1],"label":[1],"name":[1],"checked":[1540],"disabled":[516],"values":[32],"setValue":[64],"isChecked":[64],"getValues":[64],"getName":[64]},null,{"checked":["checkedChanged"]}]]],["jump-search-bar-dropdown-item.cjs",[[1,"jump-search-bar-dropdown-item",{"value":[1],"img":[1],"href":[1],"details":[32]}]]],["jump-tab.cjs",[[1,"jump-tab",{"disabled":[4],"alignment":[1],"fullBorder":[4,"full-border"],"tabGroupName":[1,"tab-group-name"],"variant":[1]},[[0,"jump-change-active-tab","changeActiveTabHandler"]]]]],["jump-tab-panel.cjs",[[1,"jump-tab-panel",{"identifier":[1],"active":[4]}]]],["jump-side-cart.cjs",[[1,"jump-side-cart",{"isOpen":[4,"is-open"],"position":[1],"items":[16],"discountThreshold":[16],"freeShippingThreshold":[2,"free-shipping-threshold"],"progressPercentage":[2,"progress-percentage"],"checkoutLabel":[1,"checkout-label"],"viewCartLabel":[1,"view-cart-label"],"shippingInfo":[1,"shipping-info"],"cartItems":[32]}]]],["jump-badge.cjs",[[1,"jump-badge",{"label":[1],"variant":[513],"dimension":[513],"soft":[516],"outline":[516]}]]],["jump-button_2.cjs",[[1,"jump-button",{"disabled":[4],"variant":[1],"outline":[4],"size":[1],"full":[4],"pill":[4],"text":[4],"onlyIcon":[4,"only-icon"],"href":[1],"target":[1],"type":[1],"name":[1],"value":[1],"ariaLabel":[1,"aria-label"],"class":[1],"buttonId":[1,"button-id"]}],[1,"jump-icon",{"class":[1],"library":[1],"name":[1],"category":[1],"size":[1],"label":[1],"src":[1]}]]]], options);
|
|
12
12
|
};
|
|
13
13
|
|
|
14
14
|
exports.setNonce = index.setNonce;
|
|
@@ -17,17 +17,8 @@ export class JumpFilterSelect {
|
|
|
17
17
|
this.required = false;
|
|
18
18
|
this.loading = false;
|
|
19
19
|
this.open = false;
|
|
20
|
-
this.hasSlottedOptions = false;
|
|
21
20
|
this.values = [];
|
|
22
21
|
}
|
|
23
|
-
/**
|
|
24
|
-
* Controlla se ci sono opzioni definite come slot
|
|
25
|
-
*/
|
|
26
|
-
componentWillRender() {
|
|
27
|
-
// Verifica se ci sono elementi sl-option definiti come figli
|
|
28
|
-
const slotNodes = this.hostElement.childNodes;
|
|
29
|
-
this.hasSlottedOptions = Array.from(slotNodes).some(node => node.nodeName && node.nodeName.toLowerCase() === 'sl-option');
|
|
30
|
-
}
|
|
31
22
|
/**
|
|
32
23
|
* Converte le opzioni da string o array a array di oggetti
|
|
33
24
|
*/
|
|
@@ -50,36 +41,61 @@ export class JumpFilterSelect {
|
|
|
50
41
|
this.values = this.value ? [this.value] : [];
|
|
51
42
|
}
|
|
52
43
|
componentDidLoad() {
|
|
53
|
-
this.listenSLChange();
|
|
54
44
|
// Inizializza l'array dei valori
|
|
55
45
|
this.updateValues();
|
|
46
|
+
// Aspetta che il render sia completato e che Shoelace abbia processato gli slot
|
|
47
|
+
setTimeout(() => {
|
|
48
|
+
this.listenSLChange();
|
|
49
|
+
}, 100); // Aumentiamo il timeout per dare più tempo a Shoelace
|
|
50
|
+
}
|
|
51
|
+
componentDidRender() {
|
|
52
|
+
// Assicuriamoci che il listener sia attivo anche dopo ogni render
|
|
53
|
+
if (this.el && !this.el._jumpListenerAttached) {
|
|
54
|
+
this.listenSLChange();
|
|
55
|
+
}
|
|
56
56
|
}
|
|
57
57
|
/**
|
|
58
58
|
* Ascolta gli eventi di cambio selezione dal select Shoelace
|
|
59
59
|
*/
|
|
60
60
|
listenSLChange() {
|
|
61
|
-
if (this.
|
|
62
|
-
|
|
61
|
+
if (this.el && !this.el._jumpListenerAttached) {
|
|
62
|
+
// Marchiamo l'elemento per evitare listener multipli
|
|
63
|
+
this.el._jumpListenerAttached = true;
|
|
64
|
+
this.el.addEventListener('sl-change', (event) => {
|
|
63
65
|
if (this.disabled) {
|
|
64
66
|
return;
|
|
65
67
|
}
|
|
68
|
+
console.log('sl-change event received:', event.target.value);
|
|
69
|
+
// AGGIORNA PRIMA I VALORI INTERNI
|
|
66
70
|
this.value = event.target.value;
|
|
67
71
|
this.updateValues();
|
|
68
72
|
const optionsArray = this.getOptionsArray();
|
|
69
|
-
|
|
73
|
+
let selectedOption = optionsArray.find(option => option.value === this.value);
|
|
74
|
+
// Se non abbiamo trovato l'opzione nell'array (caso slot), proviamo a trovarla negli elementi sl-option
|
|
75
|
+
if (!selectedOption && this.value) {
|
|
76
|
+
const slotOptions = this.hostElement.querySelectorAll('sl-option');
|
|
77
|
+
const slotOption = Array.from(slotOptions).find((opt) => opt.value === this.value);
|
|
78
|
+
if (slotOption) {
|
|
79
|
+
selectedOption = {
|
|
80
|
+
value: this.value,
|
|
81
|
+
label: slotOption.textContent || this.value
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
}
|
|
70
85
|
// Evento specifico per il componente select
|
|
71
86
|
const selectEventData = {
|
|
72
87
|
value: this.value,
|
|
73
88
|
selectedOption
|
|
74
89
|
};
|
|
75
90
|
this.selectionChange.emit(selectEventData);
|
|
76
|
-
// Evento standard per il sistema di filtri
|
|
91
|
+
// CORREZIONE: Evento standard per il sistema di filtri con valori aggiornati
|
|
77
92
|
const filterEventData = {
|
|
78
93
|
name: this.name,
|
|
79
|
-
values: this.values,
|
|
80
|
-
value: this.value,
|
|
81
|
-
selectedOption
|
|
94
|
+
values: this.values, // Ora questo sarà popolato correttamente
|
|
95
|
+
value: this.value, // E anche questo
|
|
96
|
+
selectedOption // E anche questo
|
|
82
97
|
};
|
|
98
|
+
console.log('jump-filter-select: Emitting jump-filterchange with data:', filterEventData);
|
|
83
99
|
this.selectionFilterChange.emit(filterEventData);
|
|
84
100
|
});
|
|
85
101
|
}
|
|
@@ -97,7 +113,19 @@ export class JumpFilterSelect {
|
|
|
97
113
|
*/
|
|
98
114
|
async getSelectedOption() {
|
|
99
115
|
const optionsArray = this.getOptionsArray();
|
|
100
|
-
|
|
116
|
+
let selectedOption = optionsArray.find(option => option.value === this.value);
|
|
117
|
+
// Se non abbiamo trovato l'opzione nell'array (caso slot), proviamo a trovarla negli elementi sl-option
|
|
118
|
+
if (!selectedOption && this.value) {
|
|
119
|
+
const slotOptions = this.hostElement.querySelectorAll('sl-option');
|
|
120
|
+
const slotOption = Array.from(slotOptions).find((opt) => opt.value === this.value);
|
|
121
|
+
if (slotOption) {
|
|
122
|
+
selectedOption = {
|
|
123
|
+
value: this.value,
|
|
124
|
+
label: slotOption.textContent || this.value
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
return selectedOption;
|
|
101
129
|
}
|
|
102
130
|
/**
|
|
103
131
|
* Metodo pubblico per ottenere i valori selezionati come array
|
|
@@ -139,7 +167,18 @@ export class JumpFilterSelect {
|
|
|
139
167
|
// Emetti l'evento di cambio se richiesto
|
|
140
168
|
if (emitEvent) {
|
|
141
169
|
const optionsArray = this.getOptionsArray();
|
|
142
|
-
|
|
170
|
+
let selectedOption = optionsArray.find(option => option.value === this.value);
|
|
171
|
+
// Se non abbiamo trovato l'opzione nell'array (caso slot), proviamo a trovarla negli elementi sl-option
|
|
172
|
+
if (!selectedOption && this.value) {
|
|
173
|
+
const slotOptions = this.hostElement.querySelectorAll('sl-option');
|
|
174
|
+
const slotOption = Array.from(slotOptions).find((opt) => opt.value === this.value);
|
|
175
|
+
if (slotOption) {
|
|
176
|
+
selectedOption = {
|
|
177
|
+
value: this.value,
|
|
178
|
+
label: slotOption.textContent || this.value
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
}
|
|
143
182
|
// Evento specifico per il componente select
|
|
144
183
|
const selectEventData = {
|
|
145
184
|
value: this.value,
|
|
@@ -169,7 +208,8 @@ export class JumpFilterSelect {
|
|
|
169
208
|
}
|
|
170
209
|
render() {
|
|
171
210
|
const optionsArray = this.getOptionsArray();
|
|
172
|
-
|
|
211
|
+
const hasOptionsFromProp = optionsArray && optionsArray.length > 0;
|
|
212
|
+
return (h(Host, { key: '97473942caed469dfb681d77e1335542d5d67808', ref: (host) => (this.host = host) }, this.label && (h("div", { key: 'eb5d0f4a428642694bb47f1bedf1da14d375e592', class: "select-label" }, this.label)), h("sl-select", { key: 'c3d4cb422603fdf837e5433dddd061c47832723a', value: this.value, placeholder: this.placeholder, disabled: this.disabled, multiple: this.multiple, required: this.required, loading: this.loading, ref: (el) => (this.el = el) }, hasOptionsFromProp ? (optionsArray.map(option => (h("sl-option", { value: option.value }, option.label)))) : (h("slot", null)))));
|
|
173
213
|
}
|
|
174
214
|
static get is() { return "jump-filter-select"; }
|
|
175
215
|
static get encapsulation() { return "shadow"; }
|
|
@@ -350,7 +390,6 @@ export class JumpFilterSelect {
|
|
|
350
390
|
static get states() {
|
|
351
391
|
return {
|
|
352
392
|
"open": {},
|
|
353
|
-
"hasSlottedOptions": {},
|
|
354
393
|
"values": {}
|
|
355
394
|
};
|
|
356
395
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jump-filter-select.js","sourceRoot":"","sources":["../../../src/components/jump-filter-select/jump-filter-select.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, Prop, h, Event, EventEmitter, Method, State, Element } from '@stencil/core';\nimport '@shoelace-style/shoelace/dist/components/select/select.js';\nimport '@shoelace-style/shoelace/dist/components/option/option.js';\n\n/**\n * Componente select per filtri con supporto per opzioni e stato\n * @slot - Contenitore per elementi sl-option quando le opzioni sono definite come figli\n */\n@Component({\n tag: 'jump-filter-select',\n styleUrl: 'jump-filter-select.scss',\n shadow: true,\n})\nexport class JumpFilterSelect {\n /** Riferimento all'elemento host */\n @Element() hostElement: HTMLElement;\n\n /** Il valore selezionato */\n @Prop({ reflect: true, mutable: true }) value: string;\n\n /** Il placeholder da mostrare quando nessun valore è selezionato */\n @Prop() placeholder: string = 'Seleziona un\\'opzione';\n\n /** L'etichetta del select */\n @Prop() label: string;\n\n /** Nome identificativo del filtro, utilizzato negli eventi */\n @Prop() name: string = 'select-filter';\n \n /** Opzioni del select come array di oggetti {value, label} o come stringa JSON */\n @Prop() options: string | { value: string; label: string }[] = [];\n\n /** Stato del select (disabilitato) */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /** Flag per indicare se è possibile selezionare più opzioni */\n @Prop() multiple: boolean = false;\n\n /** Flag per indicare se la selezione è obbligatoria */\n @Prop() required: boolean = false;\n\n /** Flag per indicare se il select è in stato di caricamento */\n @Prop() loading: boolean = false;\n\n /** Stato interno per gestire l'apertura del dropdown */\n @State() open: boolean = false;\n\n /** Flag per determinare se sono presenti opzioni come slot */\n @State() hasSlottedOptions: boolean = false;\n \n /** Stato interno per tenere traccia dei valori selezionati come array per compatibilità con gli altri filtri */\n @State() values: string[] = [];\n\n /** Riferimento all'elemento host */\n host: HTMLElement;\n\n /** Riferimento all'elemento sl-select interno */\n el: any;\n\n /**\n * Controlla se ci sono opzioni definite come slot\n */\n componentWillRender() {\n // Verifica se ci sono elementi sl-option definiti come figli\n const slotNodes = this.hostElement.childNodes;\n this.hasSlottedOptions = Array.from(slotNodes).some(node =>\n node.nodeName && node.nodeName.toLowerCase() === 'sl-option'\n );\n }\n\n /**\n * Converte le opzioni da string o array a array di oggetti\n */\n private getOptionsArray(): { value: string; label: string }[] {\n if (typeof this.options === 'string') {\n try {\n return JSON.parse(this.options);\n } catch (e) {\n console.error('Errore nel parsing delle opzioni:', e);\n return [];\n }\n }\n return this.options;\n }\n \n /**\n * Aggiorna l'array dei valori in base al valore selezionato\n */\n private updateValues() {\n this.values = this.value ? [this.value] : [];\n }\n\n componentDidLoad() {\n this.listenSLChange();\n // Inizializza l'array dei valori\n this.updateValues();\n }\n\n /**\n * Ascolta gli eventi di cambio selezione dal select Shoelace\n */\n listenSLChange() {\n if (this.host) {\n this.host.addEventListener('sl-change', (event: any) => {\n if (this.disabled) {\n return;\n }\n\n this.value = event.target.value;\n this.updateValues();\n \n const optionsArray = this.getOptionsArray();\n const selectedOption = optionsArray.find(option => option.value === this.value);\n \n // Evento specifico per il componente select\n const selectEventData = {\n value: this.value,\n selectedOption\n };\n this.selectionChange.emit(selectEventData);\n \n // Evento standard per il sistema di filtri\n const filterEventData = {\n name: this.name,\n values: this.values,\n value: this.value,\n selectedOption\n };\n this.selectionFilterChange.emit(filterEventData);\n });\n }\n }\n\n /**\n * Evento emesso quando cambia la selezione\n */\n @Event({ eventName: 'jump-select-change' }) selectionChange: EventEmitter;\n @Event({ eventName: 'jump-filterchange' }) selectionFilterChange: EventEmitter;\n /**\n * Evento emesso quando il valore viene cambiato programmaticamente\n */\n @Event({ eventName: 'jump-select-value-change' }) valueChange: EventEmitter;\n\n /**\n * Metodo pubblico per ottenere il valore selezionato\n * @returns Il valore attualmente selezionato\n */\n @Method()\n async getSelectedValue() {\n return this.value;\n }\n\n /**\n * Metodo pubblico per ottenere l'opzione selezionata\n * @returns L'opzione attualmente selezionata come oggetto {value, label}\n */\n @Method()\n async getSelectedOption() {\n const optionsArray = this.getOptionsArray();\n return optionsArray.find(option => option.value === this.value);\n }\n \n /**\n * Metodo pubblico per ottenere i valori selezionati come array\n * @returns Array contenente il valore selezionato o un array vuoto\n */\n @Method()\n async getValues() {\n return this.values;\n }\n \n /**\n * Metodo pubblico per ottenere il nome del filtro\n * @returns Il nome del filtro\n */\n @Method()\n async getName() {\n return this.name;\n }\n\n /**\n * Metodo pubblico per impostare programmaticamente il valore selezionato\n * @param newValue - Il nuovo valore da selezionare\n * @param emitEvent - Se emettere l'evento di cambio (default: true)\n * @returns Il nuovo valore impostato\n */\n @Method()\n async setValue(newValue: string, emitEvent: boolean = true) {\n // Se il componente è disabilitato, non fare nulla\n if (this.disabled) {\n return this.value;\n }\n \n // Salva il valore precedente per l'evento\n const oldValue = this.value;\n \n // Non fare nulla se il valore non è cambiato\n if (oldValue === newValue) {\n return this.value;\n }\n \n this.value = newValue;\n this.updateValues();\n \n // Aggiorna anche il valore dell'elemento sl-select interno\n if (this.el) {\n this.el.value = newValue;\n }\n \n // Emetti l'evento di cambio se richiesto\n if (emitEvent) {\n const optionsArray = this.getOptionsArray();\n const selectedOption = optionsArray.find(option => option.value === this.value);\n \n // Evento specifico per il componente select\n const selectEventData = {\n value: this.value,\n oldValue: oldValue,\n selectedOption,\n programmatic: true // Flag per indicare che il cambio è avvenuto programmaticamente\n };\n this.selectionChange.emit(selectEventData);\n \n // Evento standard per il sistema di filtri\n const filterEventData = {\n name: this.name,\n values: this.values,\n value: this.value,\n oldValue: oldValue,\n selectedOption,\n programmatic: true\n };\n this.selectionFilterChange.emit(filterEventData);\n \n // Evento specifico per cambio programmato\n this.valueChange.emit({\n value: this.value,\n oldValue: oldValue,\n selectedOption\n });\n }\n\n return this.value;\n }\n\n render() {\n const optionsArray = this.getOptionsArray();\n\n return (\n <Host ref={(host: HTMLElement) => (this.host = host)}>\n {this.label && (\n <div class=\"select-label\">{this.label}</div>\n )}\n <sl-select\n value={this.value}\n placeholder={this.placeholder}\n disabled={this.disabled}\n multiple={this.multiple}\n required={this.required}\n loading={this.loading}\n ref={(el: any) => (this.el = el)}\n >\n {/* Renderizza le opzioni dalla prop options solo se non ci sono sl-option nello slot */}\n {!this.hasSlottedOptions && optionsArray.map(option => (\n <sl-option value={option.value}>{option.label}</sl-option>\n ))}\n\n {/* Slot per le opzioni definite come figli */}\n <slot></slot>\n </sl-select>\n </Host>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"jump-filter-select.js","sourceRoot":"","sources":["../../../src/components/jump-filter-select/jump-filter-select.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, Prop, h, Event, EventEmitter, Method, State, Element } from '@stencil/core';\nimport '@shoelace-style/shoelace/dist/components/select/select.js';\nimport '@shoelace-style/shoelace/dist/components/option/option.js';\n\n/**\n * Componente select per filtri con supporto per opzioni e stato\n * @slot - Contenitore per elementi sl-option quando le opzioni sono definite come figli\n */\n@Component({\n tag: 'jump-filter-select',\n styleUrl: 'jump-filter-select.scss',\n shadow: true,\n})\nexport class JumpFilterSelect {\n /** Riferimento all'elemento host */\n @Element() hostElement: HTMLElement;\n\n /** Il valore selezionato */\n @Prop({ reflect: true, mutable: true }) value: string;\n\n /** Il placeholder da mostrare quando nessun valore è selezionato */\n @Prop() placeholder: string = 'Seleziona un\\'opzione';\n\n /** L'etichetta del select */\n @Prop() label: string;\n\n /** Nome identificativo del filtro, utilizzato negli eventi */\n @Prop() name: string = 'select-filter';\n \n /** Opzioni del select come array di oggetti {value, label} o come stringa JSON */\n @Prop() options: string | { value: string; label: string }[] = [];\n\n /** Stato del select (disabilitato) */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /** Flag per indicare se è possibile selezionare più opzioni */\n @Prop() multiple: boolean = false;\n\n /** Flag per indicare se la selezione è obbligatoria */\n @Prop() required: boolean = false;\n\n /** Flag per indicare se il select è in stato di caricamento */\n @Prop() loading: boolean = false;\n\n /** Stato interno per gestire l'apertura del dropdown */\n @State() open: boolean = false;\n \n /** Stato interno per tenere traccia dei valori selezionati come array per compatibilità con gli altri filtri */\n @State() values: string[] = [];\n\n /** Riferimento all'elemento host */\n host: HTMLElement;\n\n /** Riferimento all'elemento sl-select interno */\n el: any;\n\n /**\n * Converte le opzioni da string o array a array di oggetti\n */\n private getOptionsArray(): { value: string; label: string }[] {\n if (typeof this.options === 'string') {\n try {\n return JSON.parse(this.options);\n } catch (e) {\n console.error('Errore nel parsing delle opzioni:', e);\n return [];\n }\n }\n return this.options;\n }\n \n /**\n * Aggiorna l'array dei valori in base al valore selezionato\n */\n private updateValues() {\n this.values = this.value ? [this.value] : [];\n }\n\n componentDidLoad() {\n // Inizializza l'array dei valori\n this.updateValues();\n \n // Aspetta che il render sia completato e che Shoelace abbia processato gli slot\n setTimeout(() => {\n this.listenSLChange();\n }, 100); // Aumentiamo il timeout per dare più tempo a Shoelace\n }\n\n componentDidRender() {\n // Assicuriamoci che il listener sia attivo anche dopo ogni render\n if (this.el && !this.el._jumpListenerAttached) {\n this.listenSLChange();\n }\n }\n\n /**\n * Ascolta gli eventi di cambio selezione dal select Shoelace\n */\n listenSLChange() {\n if (this.el && !this.el._jumpListenerAttached) {\n // Marchiamo l'elemento per evitare listener multipli\n this.el._jumpListenerAttached = true;\n \n this.el.addEventListener('sl-change', (event: any) => {\n if (this.disabled) {\n return;\n }\n\n console.log('sl-change event received:', event.target.value);\n\n // AGGIORNA PRIMA I VALORI INTERNI\n this.value = event.target.value;\n this.updateValues();\n \n const optionsArray = this.getOptionsArray();\n let selectedOption = optionsArray.find(option => option.value === this.value);\n \n // Se non abbiamo trovato l'opzione nell'array (caso slot), proviamo a trovarla negli elementi sl-option\n if (!selectedOption && this.value) {\n const slotOptions = this.hostElement.querySelectorAll('sl-option');\n const slotOption = Array.from(slotOptions).find((opt: any) => opt.value === this.value);\n if (slotOption) {\n selectedOption = {\n value: this.value,\n label: slotOption.textContent || this.value\n };\n }\n }\n \n // Evento specifico per il componente select\n const selectEventData = {\n value: this.value,\n selectedOption\n };\n this.selectionChange.emit(selectEventData);\n \n // CORREZIONE: Evento standard per il sistema di filtri con valori aggiornati\n const filterEventData = {\n name: this.name,\n values: this.values, // Ora questo sarà popolato correttamente\n value: this.value, // E anche questo\n selectedOption // E anche questo\n };\n \n console.log('jump-filter-select: Emitting jump-filterchange with data:', filterEventData);\n this.selectionFilterChange.emit(filterEventData);\n });\n }\n }\n\n /**\n * Evento emesso quando cambia la selezione\n */\n @Event({ eventName: 'jump-select-change' }) selectionChange: EventEmitter;\n @Event({ eventName: 'jump-filterchange' }) selectionFilterChange: EventEmitter;\n /**\n * Evento emesso quando il valore viene cambiato programmaticamente\n */\n @Event({ eventName: 'jump-select-value-change' }) valueChange: EventEmitter;\n\n /**\n * Metodo pubblico per ottenere il valore selezionato\n * @returns Il valore attualmente selezionato\n */\n @Method()\n async getSelectedValue() {\n return this.value;\n }\n\n /**\n * Metodo pubblico per ottenere l'opzione selezionata\n * @returns L'opzione attualmente selezionata come oggetto {value, label}\n */\n @Method()\n async getSelectedOption() {\n const optionsArray = this.getOptionsArray();\n let selectedOption = optionsArray.find(option => option.value === this.value);\n \n // Se non abbiamo trovato l'opzione nell'array (caso slot), proviamo a trovarla negli elementi sl-option\n if (!selectedOption && this.value) {\n const slotOptions = this.hostElement.querySelectorAll('sl-option');\n const slotOption = Array.from(slotOptions).find((opt: any) => opt.value === this.value);\n if (slotOption) {\n selectedOption = {\n value: this.value,\n label: slotOption.textContent || this.value\n };\n }\n }\n \n return selectedOption;\n }\n \n /**\n * Metodo pubblico per ottenere i valori selezionati come array\n * @returns Array contenente il valore selezionato o un array vuoto\n */\n @Method()\n async getValues() {\n return this.values;\n }\n \n /**\n * Metodo pubblico per ottenere il nome del filtro\n * @returns Il nome del filtro\n */\n @Method()\n async getName() {\n return this.name;\n }\n\n /**\n * Metodo pubblico per impostare programmaticamente il valore selezionato\n * @param newValue - Il nuovo valore da selezionare\n * @param emitEvent - Se emettere l'evento di cambio (default: true)\n * @returns Il nuovo valore impostato\n */\n @Method()\n async setValue(newValue: string, emitEvent: boolean = true) {\n // Se il componente è disabilitato, non fare nulla\n if (this.disabled) {\n return this.value;\n }\n \n // Salva il valore precedente per l'evento\n const oldValue = this.value;\n \n // Non fare nulla se il valore non è cambiato\n if (oldValue === newValue) {\n return this.value;\n }\n \n this.value = newValue;\n this.updateValues();\n \n // Aggiorna anche il valore dell'elemento sl-select interno\n if (this.el) {\n this.el.value = newValue;\n }\n \n // Emetti l'evento di cambio se richiesto\n if (emitEvent) {\n const optionsArray = this.getOptionsArray();\n let selectedOption = optionsArray.find(option => option.value === this.value);\n \n // Se non abbiamo trovato l'opzione nell'array (caso slot), proviamo a trovarla negli elementi sl-option\n if (!selectedOption && this.value) {\n const slotOptions = this.hostElement.querySelectorAll('sl-option');\n const slotOption = Array.from(slotOptions).find((opt: any) => opt.value === this.value);\n if (slotOption) {\n selectedOption = {\n value: this.value,\n label: slotOption.textContent || this.value\n };\n }\n }\n \n // Evento specifico per il componente select\n const selectEventData = {\n value: this.value,\n oldValue: oldValue,\n selectedOption,\n programmatic: true // Flag per indicare che il cambio è avvenuto programmaticamente\n };\n this.selectionChange.emit(selectEventData);\n \n // Evento standard per il sistema di filtri\n const filterEventData = {\n name: this.name,\n values: this.values,\n value: this.value,\n oldValue: oldValue,\n selectedOption,\n programmatic: true\n };\n this.selectionFilterChange.emit(filterEventData);\n \n // Evento specifico per cambio programmato\n this.valueChange.emit({\n value: this.value,\n oldValue: oldValue,\n selectedOption\n });\n }\n\n return this.value;\n }\n\n render() {\n const optionsArray = this.getOptionsArray();\n const hasOptionsFromProp = optionsArray && optionsArray.length > 0;\n\n return (\n <Host ref={(host: HTMLElement) => (this.host = host)}>\n {this.label && (\n <div class=\"select-label\">{this.label}</div>\n )}\n <sl-select\n value={this.value}\n placeholder={this.placeholder}\n disabled={this.disabled}\n multiple={this.multiple}\n required={this.required}\n loading={this.loading}\n ref={(el: any) => (this.el = el)}\n >\n {/* Renderizza le opzioni dalla prop options se disponibili, altrimenti usa lo slot */}\n {hasOptionsFromProp ? (\n optionsArray.map(option => (\n <sl-option value={option.value}>{option.label}</sl-option>\n ))\n ) : (\n <slot></slot>\n )}\n </sl-select>\n </Host>\n );\n }\n}"]}
|
|
@@ -25,14 +25,20 @@ const defaultOptions = [
|
|
|
25
25
|
|
|
26
26
|
const Template = (args) => {
|
|
27
27
|
const { options, ...otherArgs } = args;
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
|
|
30
29
|
// Crea le opzioni per il select
|
|
31
30
|
const optionsToUse = options || defaultOptions;
|
|
32
|
-
|
|
31
|
+
|
|
32
|
+
// Aggiungi l'attributo options agli args per permettere a generateAttributesFromArgs di gestirlo correttamente
|
|
33
|
+
const allArgs = {
|
|
34
|
+
...otherArgs,
|
|
35
|
+
options: JSON.stringify(optionsToUse)
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
const attributes = generateAttributesFromArgs(allArgs);
|
|
33
39
|
|
|
34
40
|
return formatHtml(`
|
|
35
|
-
<jump-filter-select ${attributes}
|
|
41
|
+
<jump-filter-select ${attributes}>
|
|
36
42
|
</jump-filter-select>
|
|
37
43
|
`);
|
|
38
44
|
};
|
|
@@ -120,10 +126,16 @@ OrderingExample.args = {
|
|
|
120
126
|
|
|
121
127
|
const TemplateCustomStyles = (args) => {
|
|
122
128
|
const { options, ...otherArgs } = args;
|
|
123
|
-
const attributes = generateAttributesFromArgs(otherArgs);
|
|
124
129
|
|
|
125
130
|
const optionsToUse = options || defaultOptions;
|
|
126
|
-
|
|
131
|
+
|
|
132
|
+
// Aggiungi l'attributo options agli args per permettere a generateAttributesFromArgs di gestirlo correttamente
|
|
133
|
+
const allArgs = {
|
|
134
|
+
...otherArgs,
|
|
135
|
+
options: JSON.stringify(optionsToUse)
|
|
136
|
+
};
|
|
137
|
+
|
|
138
|
+
const attributes = generateAttributesFromArgs(allArgs);
|
|
127
139
|
|
|
128
140
|
return formatHtml(`
|
|
129
141
|
<div>
|
|
@@ -138,7 +150,7 @@ const TemplateCustomStyles = (args) => {
|
|
|
138
150
|
--jump-select-font-size: 16px;
|
|
139
151
|
}
|
|
140
152
|
</style>
|
|
141
|
-
<jump-filter-select class="custom-select" ${attributes}
|
|
153
|
+
<jump-filter-select class="custom-select" ${attributes}>
|
|
142
154
|
</jump-filter-select>
|
|
143
155
|
</div>
|
|
144
156
|
`);
|
|
@@ -175,14 +187,20 @@ WithChildOptions.args = {
|
|
|
175
187
|
// Esempio con un pulsante che imposta il valore programmaticamente
|
|
176
188
|
export const WithSetValueMethod = args => {
|
|
177
189
|
const { options, ...otherArgs } = args;
|
|
178
|
-
const attributes = generateAttributesFromArgs(otherArgs);
|
|
179
190
|
|
|
180
191
|
const optionsToUse = options || defaultOptions;
|
|
181
|
-
|
|
192
|
+
|
|
193
|
+
// Aggiungi l'attributo options agli args per permettere a generateAttributesFromArgs di gestirlo correttamente
|
|
194
|
+
const allArgs = {
|
|
195
|
+
...otherArgs,
|
|
196
|
+
options: JSON.stringify(optionsToUse)
|
|
197
|
+
};
|
|
198
|
+
|
|
199
|
+
const attributes = generateAttributesFromArgs(allArgs);
|
|
182
200
|
|
|
183
201
|
return formatHtml(`
|
|
184
202
|
<div>
|
|
185
|
-
<jump-filter-select id="programmable-select" ${attributes}
|
|
203
|
+
<jump-filter-select id="programmable-select" ${attributes}>
|
|
186
204
|
</jump-filter-select>
|
|
187
205
|
|
|
188
206
|
<div style="margin-top: 20px;">
|
|
@@ -138,7 +138,7 @@ export class JumpFilterSwitch {
|
|
|
138
138
|
return this.name;
|
|
139
139
|
}
|
|
140
140
|
render() {
|
|
141
|
-
return (h(Host, { key: '
|
|
141
|
+
return (h(Host, { key: '8f226d3fe4682e7e62eb4a389e2951b6aaf41566', ref: (host) => (this.host = host) }, this.value && this.label && (h("sl-switch", { key: 'b12cb3cc7785e582da5917ebec5ff88c0dd91b30', value: this.value, ref: (el) => (this.el = el), checked: this.checked, disabled: this.disabled }, this.label))));
|
|
142
142
|
}
|
|
143
143
|
static get is() { return "jump-filter-switch"; }
|
|
144
144
|
static get encapsulation() { return "shadow"; }
|
|
@@ -126,10 +126,10 @@ export class JumpFiltergroup {
|
|
|
126
126
|
//this.toggleHiddenItems();
|
|
127
127
|
}
|
|
128
128
|
render() {
|
|
129
|
-
return (h(Host, { key: '
|
|
130
|
-
h("jump-button", { key: '
|
|
129
|
+
return (h(Host, { key: '9d03f151bffb805154f063a84bd714da00d2cf9f' }, this.heading && h("h5", { key: '473a7d0a040e46b3259f1085e1864340b3b59fc9' }, this.heading), h("div", { key: '554a6625704319500a216ece1cc13aeb06d0fef4', class: "filterGroup" }, h("slot", { key: '213781fec2a1faa8aaafd87958ffbd1983eb1b14', ref: (el) => (this.slotItemsWrapper = el) })), this.inputs.length > this.maxElements &&
|
|
130
|
+
h("jump-button", { key: 'd26b6ce118a5bf19208cb96394fd5972a56cf4ab', variant: "primary", size: "small", text: true, name: this.label, "aria-label": this.label, ref: (showMoreBtn) => {
|
|
131
131
|
this.showMoreBtn = showMoreBtn;
|
|
132
|
-
}, onClick: () => this.handleShowMore() }, this.label, h("jump-icon", { key: '
|
|
132
|
+
}, onClick: () => this.handleShowMore() }, this.label, h("jump-icon", { key: 'bb7a17a36943ffac73e5889eb69016771a6612cf', slot: "suffix", name: !this.showMore ? 'chevron-down' : 'chevron-up' }))));
|
|
133
133
|
}
|
|
134
134
|
static get is() { return "jump-filtergroup"; }
|
|
135
135
|
static get encapsulation() { return "shadow"; }
|
|
@@ -19,14 +19,14 @@ export class JumpNavbar {
|
|
|
19
19
|
}
|
|
20
20
|
render() {
|
|
21
21
|
var _a, _b;
|
|
22
|
-
return (h(Host, { key: '
|
|
23
|
-
h("div", { key: '
|
|
24
|
-
h("jump-button", { key: '
|
|
22
|
+
return (h(Host, { key: 'c3ca42acda8ec6b651b5aed19917da6f2e3b593d' }, h("jump-button", { key: 'a0bfb27d783b855384298cddea88bf8530dac309', variant: "primary", size: "small", text: true, href: this.logo['link'], target: (_a = this.logo['target']) !== null && _a !== void 0 ? _a : '_self' }, h("img", { key: '2341978b73481036ca8ff8705c18b532a258e0f2', src: this.logo['image_url'], alt: this.logo['alt'] })), this.isMobile &&
|
|
23
|
+
h("div", { key: '8c0f8a79828f53e0cddc70a282188c4795e626d7', class: "MobileMenuOffCanvas" }, h("div", { key: 'dd44366b3adc201a60f72e51d853ebc1ed492492', class: "MobileMenuOffCanvas__Header" }, "/* TODO: ricerca + pulsante chiusura + profilo utente con immagine */"), h("div", { key: '8fbd221bb8f3f574015c8d94976236f4557534ca', class: "MobileMenuOffCanvas__Navbar" }, this.navbar.cloneNode(true)), h("div", { key: '26e1fe3e3654d1d355780e09010fd9dbbcce91c8', class: "MobileMenuOffCanvas__Footer" }, "/* TODO: langswitcher */", this.mobileLogo &&
|
|
24
|
+
h("jump-button", { key: 'cc5738f24ab07fa9aa1e3a89b90e2310d3f570d2', variant: "primary", size: "small", text: true, href: this.mobileLogo['link'], target: (_b = this.mobileLogo['target']) !== null && _b !== void 0 ? _b : '_self' }, h("img", { key: 'f3dc96e3229fcdfd6a963b93d776d2611d87721b', src: this.mobileLogo['image_url'], alt: this.mobileLogo['alt'] })))), h("nav", { key: 'eb4c284f0e58f4a336c9076d47176f2660ef8c9c', ref: (el) => {
|
|
25
25
|
this.navbar = el;
|
|
26
|
-
} }, h("ul", { key: '
|
|
26
|
+
} }, h("ul", { key: 'e5745a9c684740c03b63431f250776ae7836779b' }, this.navItems.map((item) => (h("li", null, h("jump-button", { variant: "primary", size: "small", text: true, href: item.link, target: item.target, class: item.class }, item.text, this.secondaryNavItems.some(secondaryItem => secondaryItem.parent === item.id) &&
|
|
27
27
|
h("jump-icon", { slot: "suffix", library: "lucide", name: "chevron-down", size: "small" })), this.secondaryNavItems.map((secondaryItem) => (secondaryItem.parent === item.id &&
|
|
28
28
|
h("ul", { "data-parent": secondaryItem.parent }, secondaryItem.title &&
|
|
29
|
-
h("h4", null, secondaryItem.title), " /* TODO: utilizzare jump-heading? */", secondaryItem.items.map((subItem) => (h("li", null, h("jump-button", { variant: "primary", size: "small", text: true, href: subItem.link, target: subItem.target, class: subItem.class }, subItem.text)))))))))))), h("slot", { key: '
|
|
29
|
+
h("h4", null, secondaryItem.title), " /* TODO: utilizzare jump-heading? */", secondaryItem.items.map((subItem) => (h("li", null, h("jump-button", { variant: "primary", size: "small", text: true, href: subItem.link, target: subItem.target, class: subItem.class }, subItem.text)))))))))))), h("slot", { key: '09a7005e63bb12d5d1f8b35fa7db7178498359a2', name: "actions" }, h("slot", { key: '2dfabc1a5a007abb5b11b04e0b2457daae3938b4', name: "lang_switcher" }), h("slot", { key: '572997fa2c14881c73e39ca02bc233ac655d7214', name: "search" }), h("slot", { key: '4b5b99f65a35e86030b84a5c2500c68402f7aea4', name: "buttons" }), h("slot", { key: '838333c326920f01917c9d2f896c74e1d898cc9f', name: "cart" }))));
|
|
30
30
|
}
|
|
31
31
|
static get is() { return "jump-navbar"; }
|
|
32
32
|
static get encapsulation() { return "shadow"; }
|
|
@@ -22,7 +22,7 @@ export class JumpPagination {
|
|
|
22
22
|
}
|
|
23
23
|
/* --------------------- RENDER ------------------------------- */
|
|
24
24
|
render() {
|
|
25
|
-
return (h(Host, { key: '
|
|
25
|
+
return (h(Host, { key: '2c1e0c33955bc82a9371ccf1eca0c5350d05b136', class: "JumpPagination" }, h("div", { key: '85eb248c9268624057f16fc5e50f0ce058e06eac', class: "JumpPagination__Wrapper" }, h("div", { key: 'dd568d3a6f0f32fbed16705cef38f8f1a8613a1e', class: "indicators" }, h("div", { key: '0315ee98935597733bfba159e813699d3ab098e0', class: "elements" }, h("span", { key: '003e190b73aad2d0b88dab5575ce673a75efb35c' }, h("span", { key: 'a32cc0529a7f4ea719ee269425323b629bd0cd5a' }, this.current), " ", this.pagLabel, " ", h("span", { key: '11f60aecd7bdf4b8335bc6376ab25175a8a5fbc0' }, this.last))), h("div", { key: '8497b1df6e084bee3f7169b8112be2e958b9ead6', class: "arrow" }, this.showFirstAndLast &&
|
|
26
26
|
// <button
|
|
27
27
|
// onClick={() => {this.current = 1} }
|
|
28
28
|
// disabled={(this.current === 1) ? true : false}>
|
|
@@ -30,14 +30,14 @@ export class JumpPagination {
|
|
|
30
30
|
// disabled={(this.current === 1) ? true : false}
|
|
31
31
|
// ></jump-icon>
|
|
32
32
|
// </button>
|
|
33
|
-
h("jump-button", { key: '
|
|
33
|
+
h("jump-button", { key: 'aff51b684e01e98a22fc78a801a16cef92c89740', onClick: () => { this.current = 1; }, variant: "primary", text: true, size: "small", name: "scopri", value: "value", "aria-label": "Scopri di pi\u00F9", id: "button", onlyIcon: true, disabled: (this.current === 1) ? true : false }, " ", h("jump-icon", { key: '82fe2c7d55e3aeea6688249be096fff04d4e8a9e', slot: "suffix", name: "chevrons-left" }), " "), h("jump-button", { key: 'a6fa825586501964b252afe4c59d0b4ed6319cf5', onClick: () => { this.current--; }, variant: "primary", text: true, size: "small", name: "scopri", value: "value", "aria-label": "Scopri di pi\u00F9", id: "button", onlyIcon: true, disabled: (this.current === 1) ? true : false }, " ", h("jump-icon", { key: 'ad4fbb998ac7002620712352f0802f8e614988fc', slot: "suffix", name: "chevron-left" }), " "), h("jump-button", { key: 'ea53f48221f4282174a55ff6d3a4dc3b22ba193d', onClick: () => { this.current++; }, variant: "primary", text: true, size: "small", name: "scopri", value: "value", "aria-label": "Scopri di pi\u00F9", id: "button", onlyIcon: true, disabled: (this.current === this.last) ? true : false }, " ", h("jump-icon", { key: '2ae20415c41150bf4ad3c7edc6fcf2bae8cf7ea3', slot: "suffix", name: "chevron-right" }), " "), this.showFirstAndLast &&
|
|
34
34
|
// <button
|
|
35
35
|
// onClick={() => {this.current = this.last}}
|
|
36
36
|
// disabled={(this.current === this.last) ? true : false}
|
|
37
37
|
// >
|
|
38
38
|
// <jump-icon library="fa" category="regular" name="chevrons-right" size="small" slot="prefix"></jump-icon>
|
|
39
39
|
// </button>
|
|
40
|
-
h("jump-button", { key: '
|
|
40
|
+
h("jump-button", { key: '527c3431dbc4770eeed3dfcdfe19354d8164f1a0', onClick: () => { this.current = this.last; }, variant: "primary", text: true, size: "small", name: "scopri", value: "value", "aria-label": "Scopri di pi\u00F9", id: "button", onlyIcon: true, disabled: (this.current === this.last) ? true : false }, " ", h("jump-icon", { key: 'cd722d6c312b6c6511cd93da1dbcfe445d8998e2', slot: "suffix", name: "chevrons-right" }), " "))))));
|
|
41
41
|
}
|
|
42
42
|
static get is() { return "jump-pagination"; }
|
|
43
43
|
static get encapsulation() { return "shadow"; }
|
|
@@ -70,9 +70,9 @@ export class JumpPaginationTable {
|
|
|
70
70
|
/* --------------------- RENDER ------------------------------- */
|
|
71
71
|
render() {
|
|
72
72
|
var _a;
|
|
73
|
-
return (h(Host, { key: '
|
|
74
|
-
h("jump-button", { key: '
|
|
75
|
-
h("jump-button", { key: '
|
|
73
|
+
return (h(Host, { key: 'd127efd95559a5c741d63bd2b869b69a5b39c128', class: "JumpPaginationTable" }, h("div", { key: '6ae695734996467308c3ece3d931ea4773fb48f3', class: "JumpPaginationTable__Wrapper" }, h("div", { key: '20e32d72f26642116c5e1800ab1971f48cc1ed3e', class: "elementsPerPage" }, h("label", { key: 'f1836c0aedf64ac928cb6e7c27ca0af7b50f49f3', htmlFor: "elements" }, (_a = this.labelElementsPerPage) !== null && _a !== void 0 ? _a : 'Elements per page'), h("select", { key: 'e7bb459c1abbb5d2ee710519225379f336834c12', name: "elements", id: "elements", onChange: (e) => this.setElPerPage(e) }, this.elementsRangesArray.map((range) => (h("option", { value: range, selected: (this.elPerPage == range) && true }, range))))), h("div", { key: 'fe26f7119c313f7859fcf9effd7137d094dc4cee', class: "indicators" }, h("div", { key: 'b3ce48db1000836ae2ac10c870a1fe52419570b4', class: "elements" }, h("span", { key: 'ba414ac0d2b7133f1bcf9860807fbbb4c22745d4' }, h("span", { key: 'e3015bcb81df21d87950600a041140a165932742' }, this.first), " - ", h("span", { key: 'fb382f5773e9129dc4f3e7be6bca548d40140a1d' }, this.last), " ", this.pagLabel, " ", h("span", { key: '5bb6a635e9007f953c02bbbce227d34338d06598' }, this.total))), h("div", { key: '227fb2bad3a3357ee028e023a06df0f541d485d3', class: "arrow" }, this.showFirstAndLast &&
|
|
74
|
+
h("jump-button", { key: '834c49e3ecaed5c00329246b4404ad56cbb14468', onClick: () => this.doChangePage('first'), variant: "primary", text: true, size: "small", name: "scopri", value: "value", "aria-label": "Scopri di pi\u00F9", id: "button", onlyIcon: true, disabled: this.first === 1 }, " ", h("jump-icon", { key: '9e7518f27d91f012dc9eb39f80bf5f442820c6b4', slot: "suffix", name: "chevrons-left" }), " "), h("jump-button", { key: 'e96effd01cbdaed601b84df41a99b19ca8e8cd99', onClick: () => this.doChangePage('previous'), variant: "primary", text: true, size: "small", name: "scopri", value: "value", "aria-label": "Scopri di pi\u00F9", id: "button", onlyIcon: true, disabled: this.first === 1 }, " ", h("jump-icon", { key: '5431958c1b2efc1e10bf88c42a401ad599e26e10', slot: "suffix", name: "chevron-left" }), " "), h("jump-button", { key: '8220b582ecdcd455f56d589d2c40ce20afd2f3d8', onClick: () => this.doChangePage('next'), variant: "primary", text: true, size: "small", name: "scopri", value: "value", "aria-label": "Scopri di pi\u00F9", id: "button", onlyIcon: true, disabled: this.last === this.total }, " ", h("jump-icon", { key: '8720edbe060dd5d89a0166f71a728539c743f1c3', slot: "suffix", name: "chevron-right" }), " "), this.showFirstAndLast &&
|
|
75
|
+
h("jump-button", { key: '82db4d99ccff98c3982bfb31b124a08a58332c1a', onClick: () => this.doChangePage('last'), variant: "primary", text: true, size: "small", name: "scopri", value: "value", "aria-label": "Scopri di pi\u00F9", id: "button", onlyIcon: true, disabled: this.last === this.total }, " ", h("jump-icon", { key: '58bd9a9f71f852201052699d0683a9aa8ce6ee39', slot: "suffix", name: "chevrons-right" }), " "))))));
|
|
76
76
|
}
|
|
77
77
|
static get is() { return "jump-pagination-table"; }
|
|
78
78
|
static get originalStyleUrls() {
|
|
@@ -64,11 +64,11 @@ export class JumpQuantity {
|
|
|
64
64
|
}
|
|
65
65
|
}
|
|
66
66
|
render() {
|
|
67
|
-
return (h(Host, { key: '
|
|
68
|
-
h("jump-button", { key: '
|
|
67
|
+
return (h(Host, { key: '021ef771d6b764fc0038a82ab6342e52d4db9ca5', value: this.value, "data-variant": this.variant, "data-hasbuttons": this.showButtons }, this.label && h("label", { key: '861cb1566ead946d22146a46df9f3cc2a0ba5e7d' }, this.label), h("div", { key: '0b8f3ba368946a370d42237f79c4554381c4b34b', class: `jump-quantity__InnerWrapper` }, this.showButtons &&
|
|
68
|
+
h("jump-button", { key: 'd83c253c36c743ea4099e7116de9205ade6c4cb8', onClick: () => this.value = this.value - this.step, disabled: this.value <= this.min, variant: 'neutral', size: 'custom' }, h("jump-icon", { key: '5b51a4d777716767a4850afa196a9b3aa3b86eec', library: "lucide", name: "minus", size: "small" })), h("input", { key: 'a0a1f28ef43a4486a8a7fea980f8e4c28a31c11f', ref: (el) => {
|
|
69
69
|
this.inputEl = el;
|
|
70
70
|
}, type: 'number', value: this.internalValue, onInput: (event) => this.handleChange(event), min: this.min, max: this.max, step: this.step, "aria-hasbuttons": this.showButtons }), this.showButtons &&
|
|
71
|
-
h("jump-button", { key: '
|
|
71
|
+
h("jump-button", { key: '7d3feb5f929661778bbb6f14711bc0acf2f3d74d', onClick: () => this.value = this.value + this.step, disabled: this.value >= this.max, variant: 'neutral', size: 'custom' }, h("jump-icon", { key: '09e8032c6e0e81c24bed6cf41f01ef1c9f0ec607', library: "lucide", name: "plus", size: "small" })))));
|
|
72
72
|
}
|
|
73
73
|
static get is() { return "jump-quantity"; }
|
|
74
74
|
static get encapsulation() { return "shadow"; }
|