@postnord/pn-marketweb-components 2.4.23 → 2.4.25
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/cjs/index-4199ff85.js +16 -8
- package/cjs/loader.cjs.js +1 -1
- package/cjs/pn-market-web-components.cjs.js +1 -1
- package/cjs/pn-marketweb-siteheader.cjs.entry.js +2 -1
- package/cjs/pn-multi-row-connected-dropdown-row.cjs.entry.js +372 -0
- package/cjs/pn-multi-row-connected-dropdown.cjs.entry.js +205 -0
- package/collection/collection-manifest.json +2 -0
- package/collection/components/input/pn-multi-row-connected-dropdown/pn-multi-row-connected-dropdown-row.css +90 -0
- package/collection/components/input/pn-multi-row-connected-dropdown/pn-multi-row-connected-dropdown-row.js +836 -0
- package/collection/components/input/pn-multi-row-connected-dropdown/pn-multi-row-connected-dropdown.css +16 -0
- package/collection/components/input/pn-multi-row-connected-dropdown/pn-multi-row-connected-dropdown.js +631 -0
- package/collection/components/input/pn-multi-row-connected-dropdown/pn-multi-row-connected-dropdown.stories.js +62 -0
- package/collection/components/input/pn-multi-row-connected-dropdown/types.js +1 -0
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader.js +19 -1
- package/components/index.d.ts +2 -0
- package/components/index.js +2 -0
- package/components/pn-filter-checkbox.js +1 -88
- package/components/pn-filter-checkbox2.js +90 -0
- package/components/pn-marketweb-siteheader.js +3 -1
- package/components/pn-multi-row-connected-dropdown-row.d.ts +11 -0
- package/components/pn-multi-row-connected-dropdown-row.js +6 -0
- package/components/pn-multi-row-connected-dropdown-row2.js +434 -0
- package/components/pn-multi-row-connected-dropdown.d.ts +11 -0
- package/components/pn-multi-row-connected-dropdown.js +262 -0
- package/esm/index-ee44c065.js +16 -8
- package/esm/loader.js +1 -1
- package/esm/pn-market-web-components.js +1 -1
- package/esm/pn-marketweb-siteheader.entry.js +2 -1
- package/esm/pn-multi-row-connected-dropdown-row.entry.js +368 -0
- package/esm/pn-multi-row-connected-dropdown.entry.js +201 -0
- package/esm-es5/index-ee44c065.js +1 -1
- package/esm-es5/loader.js +1 -1
- package/esm-es5/pn-market-web-components.js +1 -1
- package/esm-es5/pn-marketweb-siteheader.entry.js +1 -1
- package/esm-es5/pn-multi-row-connected-dropdown-row.entry.js +1 -0
- package/esm-es5/pn-multi-row-connected-dropdown.entry.js +1 -0
- package/package.json +1 -1
- package/pn-market-web-components/{p-256ba011.system.entry.js → p-5d0e8295.system.entry.js} +1 -1
- package/pn-market-web-components/p-5d2a19e3.entry.js +1 -0
- package/pn-market-web-components/p-6789a592.entry.js +1 -0
- package/pn-market-web-components/p-7e81b501.system.entry.js +1 -0
- package/pn-market-web-components/p-83c85053.system.entry.js +1 -0
- package/pn-market-web-components/p-b4416838.entry.js +1 -0
- package/pn-market-web-components/p-fcdb7381.system.js +1 -1
- package/pn-market-web-components/pn-market-web-components.esm.js +1 -1
- package/types/components/input/pn-multi-row-connected-dropdown/pn-multi-row-connected-dropdown-row.d.ts +93 -0
- package/types/components/input/pn-multi-row-connected-dropdown/pn-multi-row-connected-dropdown.d.ts +45 -0
- package/types/components/input/pn-multi-row-connected-dropdown/types.d.ts +32 -0
- package/types/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader.d.ts +1 -0
- package/types/components.d.ts +126 -0
- package/pn-market-web-components/p-90d2fb46.entry.js +0 -1
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import readme from './readme.md';
|
|
2
|
+
|
|
3
|
+
export default {
|
|
4
|
+
title: 'input/Multi Row Connected Dropdown',
|
|
5
|
+
parameters: {
|
|
6
|
+
notes: readme,
|
|
7
|
+
},
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
const Template = ({ ...args }) => {
|
|
11
|
+
return `
|
|
12
|
+
<pn-multi-row-connected-dropdown
|
|
13
|
+
dropdown-data='${args.dropdownData}'
|
|
14
|
+
label='${args.buttonsLabel}'
|
|
15
|
+
dropdown-placeholder='${args.dropdownPlaceholder}'
|
|
16
|
+
first-dropdown-label='${args.firstDropdownLabel}'
|
|
17
|
+
second-dropdown-label='${args.secondDropdownLabel}'
|
|
18
|
+
input-fild-label='${args.inputFildLabel}'
|
|
19
|
+
input-fild-placeholder='${args.inputFildPlaceholder}'
|
|
20
|
+
allow-multiple-rows='${args.allowMultipleRows}'
|
|
21
|
+
allow-multiple-dates='${args.allowMultipleDates}'
|
|
22
|
+
date-button-text='${args.dateButtonText}'
|
|
23
|
+
date-placeholder='${args.datePlaceHolder}'
|
|
24
|
+
date-days-from-today='${args.dateDaysFromToday}'
|
|
25
|
+
language-code='${args.languageCode}'
|
|
26
|
+
add-row-text='${args.addRowText}'
|
|
27
|
+
generate-dates-button-text='${args.generateDatesButtonText}'
|
|
28
|
+
multi-date-helper-text='${args.multiDateHelperText}'
|
|
29
|
+
save-date-button-text='${args.saveDateButtonText}'
|
|
30
|
+
no-dates-text='${args.noDatesText}'
|
|
31
|
+
start-date-label='${args.startDateLabel}'
|
|
32
|
+
end-date-label='${args.endDateLabel}'
|
|
33
|
+
years-to-add-to-end-date='${args.yearsToAddToEndDate}'
|
|
34
|
+
>
|
|
35
|
+
</pn-multi-row-connected-dropdown>`;
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
export const Primary = Template.bind({});
|
|
39
|
+
Primary.args = {
|
|
40
|
+
dropdownData:
|
|
41
|
+
'[{"caption":"First","value":"First","values":[{"caption":"First-1","value":"First-1","values":[{"caption":"First-1-1","value":"First-1-1"}]},{"caption":"First-2","value":"First-2","values":[{"caption":"First-2-1","value":"First-2-1"}]}]},{"caption":"Second","value":"Second","values":[{"caption":"Second-1","value":"Second-1","values":[{"caption":"Second-1-1","value":"Second-1-1"}]},{"caption":"Second-2","value":"Second-2","values":[{"caption":"Second-2-1","value":"Second-2-1"}]}]}]',
|
|
42
|
+
buttonsLabel: 'ButtonOptions',
|
|
43
|
+
dropdownPlaceholder: 'Chose',
|
|
44
|
+
firstDropdownLabel: 'dropDown1',
|
|
45
|
+
secondDropdownLabel: 'dropDown2',
|
|
46
|
+
inputFildLabel: 'Amount',
|
|
47
|
+
inputFildPlaceholder: '0',
|
|
48
|
+
allowMultipleRows: false,
|
|
49
|
+
allowMultipleDates: false,
|
|
50
|
+
dateButtonText: 'Delivery dates',
|
|
51
|
+
datePlaceHolder: 'YYYY-MM-DD',
|
|
52
|
+
dateDaysFromToday: '1',
|
|
53
|
+
languageCode: 'en',
|
|
54
|
+
addRowText: 'Add field',
|
|
55
|
+
generateDatesButtonText: 'Generate dates',
|
|
56
|
+
saveDateButtonText: 'Save dates',
|
|
57
|
+
multiDateHelperText: 'Some helpful text',
|
|
58
|
+
noDatesText: 'No dates',
|
|
59
|
+
startDateLabel: 'Start date',
|
|
60
|
+
endDateLabel: 'End date',
|
|
61
|
+
yearsToAddToEndDate: 2,
|
|
62
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader.js
CHANGED
|
@@ -30,6 +30,7 @@ export class PnMarketwebSiteheader {
|
|
|
30
30
|
this.searchPlaceholder = '';
|
|
31
31
|
this.spaMode = false;
|
|
32
32
|
this.checkUserLoggedInStateInterval = 0;
|
|
33
|
+
this.pageId = undefined;
|
|
33
34
|
this.i18n = {
|
|
34
35
|
searchlabel: '',
|
|
35
36
|
searchplaceholder: '',
|
|
@@ -116,7 +117,7 @@ export class PnMarketwebSiteheader {
|
|
|
116
117
|
}
|
|
117
118
|
this.fetchingData = true;
|
|
118
119
|
const endpointBase = this.endpoint.lastIndexOf('/') === this.endpoint.length - 1 ? this.endpoint.substring(0, this.endpoint.length - 1) : this.endpoint;
|
|
119
|
-
const fetchUrl = `${endpointBase}${this.endpointPath}?market=${this.market}&language=${this.language}`;
|
|
120
|
+
const fetchUrl = `${endpointBase}${this.endpointPath}?market=${this.market}&language=${this.language}¤tPage=${this.pageId}`;
|
|
120
121
|
const data = (await this.fetchHelper.fetchJson(fetchUrl, {
|
|
121
122
|
mode: 'cors',
|
|
122
123
|
}, this.cache));
|
|
@@ -726,6 +727,23 @@ export class PnMarketwebSiteheader {
|
|
|
726
727
|
"attribute": "check-user-logged-in-state-interval",
|
|
727
728
|
"reflect": false,
|
|
728
729
|
"defaultValue": "0"
|
|
730
|
+
},
|
|
731
|
+
"pageId": {
|
|
732
|
+
"type": "string",
|
|
733
|
+
"mutable": false,
|
|
734
|
+
"complexType": {
|
|
735
|
+
"original": "string",
|
|
736
|
+
"resolved": "string",
|
|
737
|
+
"references": {}
|
|
738
|
+
},
|
|
739
|
+
"required": false,
|
|
740
|
+
"optional": false,
|
|
741
|
+
"docs": {
|
|
742
|
+
"tags": [],
|
|
743
|
+
"text": ""
|
|
744
|
+
},
|
|
745
|
+
"attribute": "page-id",
|
|
746
|
+
"reflect": false
|
|
729
747
|
}
|
|
730
748
|
};
|
|
731
749
|
}
|
package/components/index.d.ts
CHANGED
|
@@ -37,6 +37,8 @@ export { PnMarketwebSiteheaderLoginProfileselection as PnMarketwebSiteheaderLogi
|
|
|
37
37
|
export { PnMarketwebSiteheaderSearch as PnMarketwebSiteheaderSearch } from '../types/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-search';
|
|
38
38
|
export { PnMarketwebSiteheaderUnifiedLogin as PnMarketwebSiteheaderUnifiedLogin } from '../types/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-unified-login';
|
|
39
39
|
export { PnMultiFormField as PnMultiFormfield } from '../types/components/input/pn-multi-formfield/pn-multi-formfield';
|
|
40
|
+
export { PnMultiRowConnectedDropdown as PnMultiRowConnectedDropdown } from '../types/components/input/pn-multi-row-connected-dropdown/pn-multi-row-connected-dropdown';
|
|
41
|
+
export { PnMultiRowConnectedDropdownRow as PnMultiRowConnectedDropdownRow } from '../types/components/input/pn-multi-row-connected-dropdown/pn-multi-row-connected-dropdown-row';
|
|
40
42
|
export { PnSpotlight as PnParcelTracker } from '../types/components/cta/pn-parcel-tracker/pn-parcel-tracker';
|
|
41
43
|
export { PnPexPricefinder as PnPexPricefinder } from '../types/components/widgets/pn-pex-pricefinder/pn-pex-pricefinder';
|
|
42
44
|
export { PnPlayOnScroll as PnPlayOnScroll } from '../types/components/animation/pn-play-on-scroll/pn-play-on-scroll';
|
package/components/index.js
CHANGED
|
@@ -37,6 +37,8 @@ export { PnMarketwebSiteheaderLoginProfileselection, defineCustomElement as defi
|
|
|
37
37
|
export { PnMarketwebSiteheaderSearch, defineCustomElement as defineCustomElementPnMarketwebSiteheaderSearch } from './pn-marketweb-siteheader-search.js';
|
|
38
38
|
export { PnMarketwebSiteheaderUnifiedLogin, defineCustomElement as defineCustomElementPnMarketwebSiteheaderUnifiedLogin } from './pn-marketweb-siteheader-unified-login.js';
|
|
39
39
|
export { PnMultiFormfield, defineCustomElement as defineCustomElementPnMultiFormfield } from './pn-multi-formfield.js';
|
|
40
|
+
export { PnMultiRowConnectedDropdown, defineCustomElement as defineCustomElementPnMultiRowConnectedDropdown } from './pn-multi-row-connected-dropdown.js';
|
|
41
|
+
export { PnMultiRowConnectedDropdownRow, defineCustomElement as defineCustomElementPnMultiRowConnectedDropdownRow } from './pn-multi-row-connected-dropdown-row.js';
|
|
40
42
|
export { PnParcelTracker, defineCustomElement as defineCustomElementPnParcelTracker } from './pn-parcel-tracker.js';
|
|
41
43
|
export { PnPexPricefinder, defineCustomElement as defineCustomElementPnPexPricefinder } from './pn-pex-pricefinder.js';
|
|
42
44
|
export { PnPlayOnScroll, defineCustomElement as defineCustomElementPnPlayOnScroll } from './pn-play-on-scroll.js';
|
|
@@ -1,91 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
const pnFilterCheckboxCss = ":host{display:inline-block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host input{opacity:0;position:absolute}:host input[type=checkbox]+label.pn-checkbox{width:1.5em;min-width:1.5em;height:1.5em;min-height:1.5em;background:#fff;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;position:relative;border:0.1rem solid #969087;cursor:pointer;border-radius:0.4rem;cursor:pointer;-webkit-transition-duration:220ms;transition-duration:220ms;-webkit-transition-timing-function:cubic-bezier(0.79, 0.14, 0.15, 0.86);transition-timing-function:cubic-bezier(0.79, 0.14, 0.15, 0.86);-webkit-transition-property:border, background, -webkit-box-shadow;transition-property:border, background, -webkit-box-shadow;transition-property:border, background, box-shadow;transition-property:border, background, box-shadow, -webkit-box-shadow}:host input[type=checkbox]+label.pn-checkbox svg{width:80%;fill:none}:host input[type=checkbox]+label.pn-checkbox svg polyline{stroke:#FFF;-webkit-transform-origin:0 0;transform-origin:0 0;stroke-linecap:round;stroke-dasharray:23;stroke-dashoffset:23;-webkit-transition-delay:none;transition-delay:none;-webkit-transition:stroke-dashoffset 180ms cubic-bezier(0.79, 0.14, 0.15, 0.86);transition:stroke-dashoffset 180ms cubic-bezier(0.79, 0.14, 0.15, 0.86)}:host input[type=checkbox]:hover+label.pn-checkbox{border:0.1rem solid #005D92;background:#E0F8FF}:host input[type=checkbox]:checked+label.pn-checkbox,:host input[type=checkbox]:indeterminate+label.pn-checkbox{background:#005D92;border:0.1rem solid #005D92}:host input[type=checkbox]:checked+label.pn-checkbox svg polyline,:host input[type=checkbox]:indeterminate+label.pn-checkbox svg polyline{-webkit-transition-delay:220ms;transition-delay:220ms}:host input[type=checkbox]:checked+label.pn-checkbox svg polyline.checkmark-path{stroke-dashoffset:0}:host input[type=checkbox]:indeterminate+label.pn-checkbox svg polyline.indeterminate-path{stroke-dashoffset:0}:host input[type=checkbox]:focus+label.pn-checkbox,:host input[type=checkbox]:active+label.pn-checkbox{-webkit-box-shadow:0 0 0 0.1rem white, 0 0 0 0.3rem #005D92;box-shadow:0 0 0 0.1rem white, 0 0 0 0.3rem #005D92}:host input[type=checkbox]:disabled+label.pn-checkbox{background-color:#D3CECB;border:0.1rem solid #969087;cursor:not-allowed}:host input[type=checkbox]:disabled+label.pn-checkbox svg polyline{stroke:#969087}:host input[type=checkbox]:disabled:checked+label.pn-checkbox{border:0.1rem solid transparent}:host input[type=checkbox]:disabled:active+label.pn-checkbox{-webkit-box-shadow:none;box-shadow:none}";
|
|
4
|
-
|
|
5
|
-
const PnFilterCheckbox$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
6
|
-
constructor() {
|
|
7
|
-
super();
|
|
8
|
-
this.__registerHost();
|
|
9
|
-
this.__attachShadow();
|
|
10
|
-
this.value = undefined;
|
|
11
|
-
this.name = undefined;
|
|
12
|
-
this.checkboxid = undefined;
|
|
13
|
-
this.disabled = false;
|
|
14
|
-
this.checked = false;
|
|
15
|
-
this.indeterminate = false;
|
|
16
|
-
}
|
|
17
|
-
handlechange() {
|
|
18
|
-
this.indeterminate = false;
|
|
19
|
-
}
|
|
20
|
-
componentDidLoad() {
|
|
21
|
-
this.checkAndSetIndeterminateState();
|
|
22
|
-
this.bindEvents();
|
|
23
|
-
}
|
|
24
|
-
componentDidUpdate() {
|
|
25
|
-
this.checkAndSetIndeterminateState();
|
|
26
|
-
}
|
|
27
|
-
bindEvents() {
|
|
28
|
-
const labels = document.querySelectorAll('label[for="' + this.checkboxid + '"]');
|
|
29
|
-
labels.forEach((label) => {
|
|
30
|
-
label.addEventListener('click', () => {
|
|
31
|
-
this.hostElement.shadowRoot.querySelector('label').click();
|
|
32
|
-
});
|
|
33
|
-
});
|
|
34
|
-
const checkboxInput = this.hostElement.shadowRoot.querySelector('input');
|
|
35
|
-
checkboxInput.addEventListener('change', this.onCheckboxChange.bind(this, checkboxInput));
|
|
36
|
-
}
|
|
37
|
-
onCheckboxChange(checkboxInput) {
|
|
38
|
-
let outsideInput = this.hostElement.querySelector("input.hidden-" + this.checkboxid);
|
|
39
|
-
if (outsideInput) {
|
|
40
|
-
outsideInput.value = (checkboxInput.checked) ? this.value : "";
|
|
41
|
-
outsideInput.dispatchEvent(new CustomEvent("change", { detail: outsideInput }));
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
checkAndSetIndeterminateState() {
|
|
45
|
-
let checkbox = this.hostElement.querySelector(`#${this.checkboxid}`);
|
|
46
|
-
if (checkbox) {
|
|
47
|
-
checkbox.indeterminate = this.indeterminate;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
renderInputOutsideShadowRoot() {
|
|
51
|
-
var _a;
|
|
52
|
-
let input = this.hostElement.querySelector("input.hidden-" + this.checkboxid);
|
|
53
|
-
if (!input) {
|
|
54
|
-
input = this.hostElement.ownerDocument.createElement("input");
|
|
55
|
-
input.type = "hidden";
|
|
56
|
-
input.classList.add("hidden-" + this.checkboxid);
|
|
57
|
-
this.hostElement.appendChild(input);
|
|
58
|
-
}
|
|
59
|
-
input.name = (_a = this.name) !== null && _a !== void 0 ? _a : this.checkboxid;
|
|
60
|
-
}
|
|
61
|
-
render() {
|
|
62
|
-
this.renderInputOutsideShadowRoot();
|
|
63
|
-
return (h(Host, { checked: this.checked, id: this.checkboxid }, h("input", { type: "checkbox", id: this.checkboxid, value: this.value, name: this.name || this.checkboxid, disabled: this.disabled, checked: this.checked }), h("label", { htmlFor: this.checkboxid, class: "pn-checkbox" }, h("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "none" }, h("polyline", { class: "checkmark-path", points: "4,12 9,17 20,6", "stroke-width": "3" }), h("polyline", { class: "indeterminate-path", points: "4,12 20,12", "stroke-width": "3" })))));
|
|
64
|
-
}
|
|
65
|
-
get hostElement() { return this; }
|
|
66
|
-
static get style() { return pnFilterCheckboxCss; }
|
|
67
|
-
}, [1, "pn-filter-checkbox", {
|
|
68
|
-
"value": [520],
|
|
69
|
-
"name": [1],
|
|
70
|
-
"checkboxid": [1],
|
|
71
|
-
"disabled": [4],
|
|
72
|
-
"checked": [4],
|
|
73
|
-
"indeterminate": [1028]
|
|
74
|
-
}, [[0, "change", "handlechange"]]]);
|
|
75
|
-
function defineCustomElement$1() {
|
|
76
|
-
if (typeof customElements === "undefined") {
|
|
77
|
-
return;
|
|
78
|
-
}
|
|
79
|
-
const components = ["pn-filter-checkbox"];
|
|
80
|
-
components.forEach(tagName => { switch (tagName) {
|
|
81
|
-
case "pn-filter-checkbox":
|
|
82
|
-
if (!customElements.get(tagName)) {
|
|
83
|
-
customElements.define(tagName, PnFilterCheckbox$1);
|
|
84
|
-
}
|
|
85
|
-
break;
|
|
86
|
-
} });
|
|
87
|
-
}
|
|
88
|
-
defineCustomElement$1();
|
|
1
|
+
import { P as PnFilterCheckbox$1, d as defineCustomElement$1 } from './pn-filter-checkbox2.js';
|
|
89
2
|
|
|
90
3
|
const PnFilterCheckbox = PnFilterCheckbox$1;
|
|
91
4
|
const defineCustomElement = defineCustomElement$1;
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
|
|
2
|
+
|
|
3
|
+
const pnFilterCheckboxCss = ":host{display:inline-block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host input{opacity:0;position:absolute}:host input[type=checkbox]+label.pn-checkbox{width:1.5em;min-width:1.5em;height:1.5em;min-height:1.5em;background:#fff;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;position:relative;border:0.1rem solid #969087;cursor:pointer;border-radius:0.4rem;cursor:pointer;-webkit-transition-duration:220ms;transition-duration:220ms;-webkit-transition-timing-function:cubic-bezier(0.79, 0.14, 0.15, 0.86);transition-timing-function:cubic-bezier(0.79, 0.14, 0.15, 0.86);-webkit-transition-property:border, background, -webkit-box-shadow;transition-property:border, background, -webkit-box-shadow;transition-property:border, background, box-shadow;transition-property:border, background, box-shadow, -webkit-box-shadow}:host input[type=checkbox]+label.pn-checkbox svg{width:80%;fill:none}:host input[type=checkbox]+label.pn-checkbox svg polyline{stroke:#FFF;-webkit-transform-origin:0 0;transform-origin:0 0;stroke-linecap:round;stroke-dasharray:23;stroke-dashoffset:23;-webkit-transition-delay:none;transition-delay:none;-webkit-transition:stroke-dashoffset 180ms cubic-bezier(0.79, 0.14, 0.15, 0.86);transition:stroke-dashoffset 180ms cubic-bezier(0.79, 0.14, 0.15, 0.86)}:host input[type=checkbox]:hover+label.pn-checkbox{border:0.1rem solid #005D92;background:#E0F8FF}:host input[type=checkbox]:checked+label.pn-checkbox,:host input[type=checkbox]:indeterminate+label.pn-checkbox{background:#005D92;border:0.1rem solid #005D92}:host input[type=checkbox]:checked+label.pn-checkbox svg polyline,:host input[type=checkbox]:indeterminate+label.pn-checkbox svg polyline{-webkit-transition-delay:220ms;transition-delay:220ms}:host input[type=checkbox]:checked+label.pn-checkbox svg polyline.checkmark-path{stroke-dashoffset:0}:host input[type=checkbox]:indeterminate+label.pn-checkbox svg polyline.indeterminate-path{stroke-dashoffset:0}:host input[type=checkbox]:focus+label.pn-checkbox,:host input[type=checkbox]:active+label.pn-checkbox{-webkit-box-shadow:0 0 0 0.1rem white, 0 0 0 0.3rem #005D92;box-shadow:0 0 0 0.1rem white, 0 0 0 0.3rem #005D92}:host input[type=checkbox]:disabled+label.pn-checkbox{background-color:#D3CECB;border:0.1rem solid #969087;cursor:not-allowed}:host input[type=checkbox]:disabled+label.pn-checkbox svg polyline{stroke:#969087}:host input[type=checkbox]:disabled:checked+label.pn-checkbox{border:0.1rem solid transparent}:host input[type=checkbox]:disabled:active+label.pn-checkbox{-webkit-box-shadow:none;box-shadow:none}";
|
|
4
|
+
|
|
5
|
+
const PnFilterCheckbox = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
6
|
+
constructor() {
|
|
7
|
+
super();
|
|
8
|
+
this.__registerHost();
|
|
9
|
+
this.__attachShadow();
|
|
10
|
+
this.value = undefined;
|
|
11
|
+
this.name = undefined;
|
|
12
|
+
this.checkboxid = undefined;
|
|
13
|
+
this.disabled = false;
|
|
14
|
+
this.checked = false;
|
|
15
|
+
this.indeterminate = false;
|
|
16
|
+
}
|
|
17
|
+
handlechange() {
|
|
18
|
+
this.indeterminate = false;
|
|
19
|
+
}
|
|
20
|
+
componentDidLoad() {
|
|
21
|
+
this.checkAndSetIndeterminateState();
|
|
22
|
+
this.bindEvents();
|
|
23
|
+
}
|
|
24
|
+
componentDidUpdate() {
|
|
25
|
+
this.checkAndSetIndeterminateState();
|
|
26
|
+
}
|
|
27
|
+
bindEvents() {
|
|
28
|
+
const labels = document.querySelectorAll('label[for="' + this.checkboxid + '"]');
|
|
29
|
+
labels.forEach((label) => {
|
|
30
|
+
label.addEventListener('click', () => {
|
|
31
|
+
this.hostElement.shadowRoot.querySelector('label').click();
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
const checkboxInput = this.hostElement.shadowRoot.querySelector('input');
|
|
35
|
+
checkboxInput.addEventListener('change', this.onCheckboxChange.bind(this, checkboxInput));
|
|
36
|
+
}
|
|
37
|
+
onCheckboxChange(checkboxInput) {
|
|
38
|
+
let outsideInput = this.hostElement.querySelector("input.hidden-" + this.checkboxid);
|
|
39
|
+
if (outsideInput) {
|
|
40
|
+
outsideInput.value = (checkboxInput.checked) ? this.value : "";
|
|
41
|
+
outsideInput.dispatchEvent(new CustomEvent("change", { detail: outsideInput }));
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
checkAndSetIndeterminateState() {
|
|
45
|
+
let checkbox = this.hostElement.querySelector(`#${this.checkboxid}`);
|
|
46
|
+
if (checkbox) {
|
|
47
|
+
checkbox.indeterminate = this.indeterminate;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
renderInputOutsideShadowRoot() {
|
|
51
|
+
var _a;
|
|
52
|
+
let input = this.hostElement.querySelector("input.hidden-" + this.checkboxid);
|
|
53
|
+
if (!input) {
|
|
54
|
+
input = this.hostElement.ownerDocument.createElement("input");
|
|
55
|
+
input.type = "hidden";
|
|
56
|
+
input.classList.add("hidden-" + this.checkboxid);
|
|
57
|
+
this.hostElement.appendChild(input);
|
|
58
|
+
}
|
|
59
|
+
input.name = (_a = this.name) !== null && _a !== void 0 ? _a : this.checkboxid;
|
|
60
|
+
}
|
|
61
|
+
render() {
|
|
62
|
+
this.renderInputOutsideShadowRoot();
|
|
63
|
+
return (h(Host, { checked: this.checked, id: this.checkboxid }, h("input", { type: "checkbox", id: this.checkboxid, value: this.value, name: this.name || this.checkboxid, disabled: this.disabled, checked: this.checked }), h("label", { htmlFor: this.checkboxid, class: "pn-checkbox" }, h("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "none" }, h("polyline", { class: "checkmark-path", points: "4,12 9,17 20,6", "stroke-width": "3" }), h("polyline", { class: "indeterminate-path", points: "4,12 20,12", "stroke-width": "3" })))));
|
|
64
|
+
}
|
|
65
|
+
get hostElement() { return this; }
|
|
66
|
+
static get style() { return pnFilterCheckboxCss; }
|
|
67
|
+
}, [1, "pn-filter-checkbox", {
|
|
68
|
+
"value": [520],
|
|
69
|
+
"name": [1],
|
|
70
|
+
"checkboxid": [1],
|
|
71
|
+
"disabled": [4],
|
|
72
|
+
"checked": [4],
|
|
73
|
+
"indeterminate": [1028]
|
|
74
|
+
}, [[0, "change", "handlechange"]]]);
|
|
75
|
+
function defineCustomElement() {
|
|
76
|
+
if (typeof customElements === "undefined") {
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
const components = ["pn-filter-checkbox"];
|
|
80
|
+
components.forEach(tagName => { switch (tagName) {
|
|
81
|
+
case "pn-filter-checkbox":
|
|
82
|
+
if (!customElements.get(tagName)) {
|
|
83
|
+
customElements.define(tagName, PnFilterCheckbox);
|
|
84
|
+
}
|
|
85
|
+
break;
|
|
86
|
+
} });
|
|
87
|
+
}
|
|
88
|
+
defineCustomElement();
|
|
89
|
+
|
|
90
|
+
export { PnFilterCheckbox as P, defineCustomElement as d };
|
|
@@ -182,6 +182,7 @@ const PnMarketwebSiteheader$1 = /*@__PURE__*/ proxyCustomElement(class extends H
|
|
|
182
182
|
this.searchPlaceholder = '';
|
|
183
183
|
this.spaMode = false;
|
|
184
184
|
this.checkUserLoggedInStateInterval = 0;
|
|
185
|
+
this.pageId = undefined;
|
|
185
186
|
this.i18n = {
|
|
186
187
|
searchlabel: '',
|
|
187
188
|
searchplaceholder: '',
|
|
@@ -268,7 +269,7 @@ const PnMarketwebSiteheader$1 = /*@__PURE__*/ proxyCustomElement(class extends H
|
|
|
268
269
|
}
|
|
269
270
|
this.fetchingData = true;
|
|
270
271
|
const endpointBase = this.endpoint.lastIndexOf('/') === this.endpoint.length - 1 ? this.endpoint.substring(0, this.endpoint.length - 1) : this.endpoint;
|
|
271
|
-
const fetchUrl = `${endpointBase}${this.endpointPath}?market=${this.market}&language=${this.language}`;
|
|
272
|
+
const fetchUrl = `${endpointBase}${this.endpointPath}?market=${this.market}&language=${this.language}¤tPage=${this.pageId}`;
|
|
272
273
|
const data = (await this.fetchHelper.fetchJson(fetchUrl, {
|
|
273
274
|
mode: 'cors',
|
|
274
275
|
}, this.cache));
|
|
@@ -493,6 +494,7 @@ const PnMarketwebSiteheader$1 = /*@__PURE__*/ proxyCustomElement(class extends H
|
|
|
493
494
|
"searchPlaceholder": [1, "search-placeholder"],
|
|
494
495
|
"spaMode": [4, "spa-mode"],
|
|
495
496
|
"checkUserLoggedInStateInterval": [2, "check-user-logged-in-state-interval"],
|
|
497
|
+
"pageId": [1, "page-id"],
|
|
496
498
|
"i18n": [32],
|
|
497
499
|
"gotData": [32],
|
|
498
500
|
"fetchingData": [32],
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../types/components";
|
|
2
|
+
|
|
3
|
+
interface PnMultiRowConnectedDropdownRow extends Components.PnMultiRowConnectedDropdownRow, HTMLElement {}
|
|
4
|
+
export const PnMultiRowConnectedDropdownRow: {
|
|
5
|
+
prototype: PnMultiRowConnectedDropdownRow;
|
|
6
|
+
new (): PnMultiRowConnectedDropdownRow;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { P as PnMultiRowConnectedDropdownRow$1, d as defineCustomElement$1 } from './pn-multi-row-connected-dropdown-row2.js';
|
|
2
|
+
|
|
3
|
+
const PnMultiRowConnectedDropdownRow = PnMultiRowConnectedDropdownRow$1;
|
|
4
|
+
const defineCustomElement = defineCustomElement$1;
|
|
5
|
+
|
|
6
|
+
export { PnMultiRowConnectedDropdownRow, defineCustomElement };
|