@postnord/pn-marketweb-components 2.4.17 → 2.4.19

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.
Files changed (72) hide show
  1. package/cjs/index-4199ff85.js +12 -4
  2. package/cjs/index-e4882728.js +72 -0
  3. package/cjs/loader.cjs.js +1 -1
  4. package/cjs/pn-app-banner.cjs.entry.js +46 -0
  5. package/cjs/pn-date-and-time.cjs.entry.js +1 -1
  6. package/cjs/pn-dropdown-choice-adds-row.cjs.entry.js +254 -0
  7. package/cjs/pn-market-web-components.cjs.js +1 -1
  8. package/cjs/pn-multi-formfield.cjs.entry.js +2 -70
  9. package/collection/collection-manifest.json +2 -0
  10. package/collection/components/input/pn-date-and-time/pn-date-and-time.css +2 -1
  11. package/collection/components/input/pn-dropdown-choice-adds-row/pn-dropdown-choice-adds-row.css +58 -0
  12. package/collection/components/input/pn-dropdown-choice-adds-row/pn-dropdown-choice-adds-row.js +508 -0
  13. package/collection/components/input/pn-dropdown-choice-adds-row/pn-dropdown-choice-adds-row.stories.js +43 -0
  14. package/collection/components/input/pn-dropdown-choice-adds-row/types.js +1 -0
  15. package/collection/components/minor/pn-app-banner/pn-app-banner.css +35 -0
  16. package/collection/components/minor/pn-app-banner/pn-app-banner.js +141 -0
  17. package/collection/components/minor/pn-app-banner/pn-app-banner.stories.js +31 -0
  18. package/components/index.d.ts +2 -0
  19. package/components/index.js +2 -0
  20. package/components/index3.js +61 -178
  21. package/components/index4.js +187 -0
  22. package/components/pn-app-banner.d.ts +11 -0
  23. package/components/pn-app-banner.js +68 -0
  24. package/components/pn-date-and-time.js +1 -1
  25. package/components/pn-dropdown-choice-adds-row.d.ts +11 -0
  26. package/components/pn-dropdown-choice-adds-row.js +292 -0
  27. package/components/pn-find-price-result2.js +1 -1
  28. package/components/pn-find-service-and-price-result2.js +1 -1
  29. package/components/pn-mainnav-store.js +1 -1
  30. package/components/pn-marketweb-siteheader-login-linklist2.js +1 -1
  31. package/components/pn-marketweb-siteheader-search2.js +1 -1
  32. package/components/pn-multi-formfield.js +1 -69
  33. package/components/pn-product-pricelist-result.js +1 -1
  34. package/components/pn-profile-modal-store.js +1 -1
  35. package/components/pn-proxio-findprice.js +1 -1
  36. package/components/pn-sidenav-store.js +1 -1
  37. package/esm/index-8976f360.js +70 -0
  38. package/esm/index-ee44c065.js +12 -4
  39. package/esm/loader.js +1 -1
  40. package/esm/pn-app-banner.entry.js +42 -0
  41. package/esm/pn-date-and-time.entry.js +1 -1
  42. package/esm/pn-dropdown-choice-adds-row.entry.js +250 -0
  43. package/esm/pn-market-web-components.js +1 -1
  44. package/esm/pn-multi-formfield.entry.js +1 -69
  45. package/esm-es5/index-8976f360.js +1 -0
  46. package/esm-es5/index-ee44c065.js +1 -1
  47. package/esm-es5/loader.js +1 -1
  48. package/esm-es5/pn-app-banner.entry.js +1 -0
  49. package/esm-es5/pn-date-and-time.entry.js +1 -1
  50. package/esm-es5/pn-dropdown-choice-adds-row.entry.js +1 -0
  51. package/esm-es5/pn-market-web-components.js +1 -1
  52. package/esm-es5/pn-multi-formfield.entry.js +1 -1
  53. package/package.json +1 -1
  54. package/pn-market-web-components/p-07e0a50f.entry.js +1 -0
  55. package/pn-market-web-components/p-196b2316.system.entry.js +1 -0
  56. package/pn-market-web-components/p-296637c0.system.js +1 -0
  57. package/pn-market-web-components/p-3a897643.system.entry.js +1 -0
  58. package/pn-market-web-components/p-4e3d7a56.js +1 -0
  59. package/pn-market-web-components/p-4e7d4e69.entry.js +1 -0
  60. package/pn-market-web-components/p-6de99b6a.system.entry.js +1 -0
  61. package/pn-market-web-components/{p-8ac445d6.entry.js → p-76ce7256.entry.js} +1 -1
  62. package/pn-market-web-components/p-c0961278.system.entry.js +1 -0
  63. package/pn-market-web-components/p-e5d9f268.entry.js +1 -0
  64. package/pn-market-web-components/p-fcdb7381.system.js +1 -1
  65. package/pn-market-web-components/pn-market-web-components.esm.js +1 -1
  66. package/types/components/input/pn-dropdown-choice-adds-row/pn-dropdown-choice-adds-row.d.ts +43 -0
  67. package/types/components/input/pn-dropdown-choice-adds-row/types.d.ts +18 -0
  68. package/types/components/minor/pn-app-banner/pn-app-banner.d.ts +14 -0
  69. package/types/components.d.ts +66 -0
  70. package/pn-market-web-components/p-14d13eaa.system.entry.js +0 -1
  71. package/pn-market-web-components/p-f7867310.entry.js +0 -1
  72. package/pn-market-web-components/p-fbae553c.system.entry.js +0 -1
@@ -5,6 +5,7 @@
5
5
  * It contains typing information for all components that exist in this project.
6
6
  */
7
7
  import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
8
+ import { Root } from "./components/input/pn-dropdown-choice-adds-row/types";
8
9
  import { ProductPriceItem } from "./components/widgets/pn-find-price/pn-find-price-types";
9
10
  import { ProductPriceItem as ProductPriceItem1 } from "./globals/shared/productprice/product-price-types";
10
11
  import { LoginDialog, LoginDialogLink, ProfileSelectorCustomerItem, ProfileSelectorOrganization, SiteHeaderI18N, SiteHeaderSearch } from "./components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-types";
@@ -13,6 +14,13 @@ import { ProductGenericItem, ProxioPriceListGroupResponse } from "./components/w
13
14
  export namespace Components {
14
15
  interface PnAnimatedTile {
15
16
  }
17
+ interface PnAppBanner {
18
+ "appDescription": string;
19
+ "appName": string;
20
+ "appleStoreLink": string;
21
+ "ctaText": string;
22
+ "googleStoreLink": string;
23
+ }
16
24
  interface PnBonusProgressbar {
17
25
  "bonuspercentage": string;
18
26
  "currency": string;
@@ -88,6 +96,20 @@ export namespace Components {
88
96
  "timeHelperText": string;
89
97
  "validTimeRangeMinutes": number;
90
98
  }
99
+ interface PnDropdownChoiceAddsRow {
100
+ "addRowDropdownLabel": string;
101
+ "addRowDropdownName": string;
102
+ "addRowDropdownPlaceholder": string;
103
+ "dropdownData": string | Root[];
104
+ "inputLimitWarning": string;
105
+ "rowDeleteButtonText": string;
106
+ "rowDropdownLabel": string;
107
+ "rowDropdownPlaceholder": string;
108
+ "rowHasDropdown": boolean;
109
+ "rowInputLabel": string;
110
+ "rowNameLabel": string;
111
+ "totalInputLimit": number;
112
+ }
91
113
  interface PnFilterCheckbox {
92
114
  /**
93
115
  * The string you put here will be what you'd make the ID of a native radio button, you can't name props "id" because it's reserved so we went with the more descriptive name "checkboxid", if you want to create labels for your checkbox, you will bind it to this ID
@@ -761,6 +783,10 @@ export interface PnDateAndTimeCustomEvent<T> extends CustomEvent<T> {
761
783
  detail: T;
762
784
  target: HTMLPnDateAndTimeElement;
763
785
  }
786
+ export interface PnDropdownChoiceAddsRowCustomEvent<T> extends CustomEvent<T> {
787
+ detail: T;
788
+ target: HTMLPnDropdownChoiceAddsRowElement;
789
+ }
764
790
  export interface PnLanguageSelectorCustomEvent<T> extends CustomEvent<T> {
765
791
  detail: T;
766
792
  target: HTMLPnLanguageSelectorElement;
@@ -808,6 +834,12 @@ declare global {
808
834
  prototype: HTMLPnAnimatedTileElement;
809
835
  new (): HTMLPnAnimatedTileElement;
810
836
  };
837
+ interface HTMLPnAppBannerElement extends Components.PnAppBanner, HTMLStencilElement {
838
+ }
839
+ var HTMLPnAppBannerElement: {
840
+ prototype: HTMLPnAppBannerElement;
841
+ new (): HTMLPnAppBannerElement;
842
+ };
811
843
  interface HTMLPnBonusProgressbarElement extends Components.PnBonusProgressbar, HTMLStencilElement {
812
844
  }
813
845
  var HTMLPnBonusProgressbarElement: {
@@ -862,6 +894,12 @@ declare global {
862
894
  prototype: HTMLPnDateAndTimeElement;
863
895
  new (): HTMLPnDateAndTimeElement;
864
896
  };
897
+ interface HTMLPnDropdownChoiceAddsRowElement extends Components.PnDropdownChoiceAddsRow, HTMLStencilElement {
898
+ }
899
+ var HTMLPnDropdownChoiceAddsRowElement: {
900
+ prototype: HTMLPnDropdownChoiceAddsRowElement;
901
+ new (): HTMLPnDropdownChoiceAddsRowElement;
902
+ };
865
903
  interface HTMLPnFilterCheckboxElement extends Components.PnFilterCheckbox, HTMLStencilElement {
866
904
  }
867
905
  var HTMLPnFilterCheckboxElement: {
@@ -1278,6 +1316,7 @@ declare global {
1278
1316
  };
1279
1317
  interface HTMLElementTagNameMap {
1280
1318
  "pn-animated-tile": HTMLPnAnimatedTileElement;
1319
+ "pn-app-banner": HTMLPnAppBannerElement;
1281
1320
  "pn-bonus-progressbar": HTMLPnBonusProgressbarElement;
1282
1321
  "pn-bonus-progressbar-level": HTMLPnBonusProgressbarLevelElement;
1283
1322
  "pn-breakpoints": HTMLPnBreakpointsElement;
@@ -1287,6 +1326,7 @@ declare global {
1287
1326
  "pn-customernumber-selector": HTMLPnCustomernumberSelectorElement;
1288
1327
  "pn-customernumber-selector-option": HTMLPnCustomernumberSelectorOptionElement;
1289
1328
  "pn-date-and-time": HTMLPnDateAndTimeElement;
1329
+ "pn-dropdown-choice-adds-row": HTMLPnDropdownChoiceAddsRowElement;
1290
1330
  "pn-filter-checkbox": HTMLPnFilterCheckboxElement;
1291
1331
  "pn-find-price": HTMLPnFindPriceElement;
1292
1332
  "pn-find-price-result": HTMLPnFindPriceResultElement;
@@ -1361,6 +1401,13 @@ declare global {
1361
1401
  declare namespace LocalJSX {
1362
1402
  interface PnAnimatedTile {
1363
1403
  }
1404
+ interface PnAppBanner {
1405
+ "appDescription"?: string;
1406
+ "appName"?: string;
1407
+ "appleStoreLink"?: string;
1408
+ "ctaText"?: string;
1409
+ "googleStoreLink"?: string;
1410
+ }
1364
1411
  interface PnBonusProgressbar {
1365
1412
  "bonuspercentage"?: string;
1366
1413
  "currency"?: string;
@@ -1437,6 +1484,21 @@ declare namespace LocalJSX {
1437
1484
  "timeHelperText"?: string;
1438
1485
  "validTimeRangeMinutes"?: number;
1439
1486
  }
1487
+ interface PnDropdownChoiceAddsRow {
1488
+ "addRowDropdownLabel"?: string;
1489
+ "addRowDropdownName"?: string;
1490
+ "addRowDropdownPlaceholder"?: string;
1491
+ "dropdownData"?: string | Root[];
1492
+ "inputLimitWarning"?: string;
1493
+ "onRowvalues"?: (event: PnDropdownChoiceAddsRowCustomEvent<string>) => void;
1494
+ "rowDeleteButtonText"?: string;
1495
+ "rowDropdownLabel"?: string;
1496
+ "rowDropdownPlaceholder"?: string;
1497
+ "rowHasDropdown"?: boolean;
1498
+ "rowInputLabel"?: string;
1499
+ "rowNameLabel"?: string;
1500
+ "totalInputLimit"?: number;
1501
+ }
1440
1502
  interface PnFilterCheckbox {
1441
1503
  /**
1442
1504
  * The string you put here will be what you'd make the ID of a native radio button, you can't name props "id" because it's reserved so we went with the more descriptive name "checkboxid", if you want to create labels for your checkbox, you will bind it to this ID
@@ -2128,6 +2190,7 @@ declare namespace LocalJSX {
2128
2190
  }
2129
2191
  interface IntrinsicElements {
2130
2192
  "pn-animated-tile": PnAnimatedTile;
2193
+ "pn-app-banner": PnAppBanner;
2131
2194
  "pn-bonus-progressbar": PnBonusProgressbar;
2132
2195
  "pn-bonus-progressbar-level": PnBonusProgressbarLevel;
2133
2196
  "pn-breakpoints": PnBreakpoints;
@@ -2137,6 +2200,7 @@ declare namespace LocalJSX {
2137
2200
  "pn-customernumber-selector": PnCustomernumberSelector;
2138
2201
  "pn-customernumber-selector-option": PnCustomernumberSelectorOption;
2139
2202
  "pn-date-and-time": PnDateAndTime;
2203
+ "pn-dropdown-choice-adds-row": PnDropdownChoiceAddsRow;
2140
2204
  "pn-filter-checkbox": PnFilterCheckbox;
2141
2205
  "pn-find-price": PnFindPrice;
2142
2206
  "pn-find-price-result": PnFindPriceResult;
@@ -2213,6 +2277,7 @@ declare module "@stencil/core" {
2213
2277
  export namespace JSX {
2214
2278
  interface IntrinsicElements {
2215
2279
  "pn-animated-tile": LocalJSX.PnAnimatedTile & JSXBase.HTMLAttributes<HTMLPnAnimatedTileElement>;
2280
+ "pn-app-banner": LocalJSX.PnAppBanner & JSXBase.HTMLAttributes<HTMLPnAppBannerElement>;
2216
2281
  "pn-bonus-progressbar": LocalJSX.PnBonusProgressbar & JSXBase.HTMLAttributes<HTMLPnBonusProgressbarElement>;
2217
2282
  "pn-bonus-progressbar-level": LocalJSX.PnBonusProgressbarLevel & JSXBase.HTMLAttributes<HTMLPnBonusProgressbarLevelElement>;
2218
2283
  "pn-breakpoints": LocalJSX.PnBreakpoints & JSXBase.HTMLAttributes<HTMLPnBreakpointsElement>;
@@ -2222,6 +2287,7 @@ declare module "@stencil/core" {
2222
2287
  "pn-customernumber-selector": LocalJSX.PnCustomernumberSelector & JSXBase.HTMLAttributes<HTMLPnCustomernumberSelectorElement>;
2223
2288
  "pn-customernumber-selector-option": LocalJSX.PnCustomernumberSelectorOption & JSXBase.HTMLAttributes<HTMLPnCustomernumberSelectorOptionElement>;
2224
2289
  "pn-date-and-time": LocalJSX.PnDateAndTime & JSXBase.HTMLAttributes<HTMLPnDateAndTimeElement>;
2290
+ "pn-dropdown-choice-adds-row": LocalJSX.PnDropdownChoiceAddsRow & JSXBase.HTMLAttributes<HTMLPnDropdownChoiceAddsRowElement>;
2225
2291
  "pn-filter-checkbox": LocalJSX.PnFilterCheckbox & JSXBase.HTMLAttributes<HTMLPnFilterCheckboxElement>;
2226
2292
  "pn-find-price": LocalJSX.PnFindPrice & JSXBase.HTMLAttributes<HTMLPnFindPriceElement>;
2227
2293
  "pn-find-price-result": LocalJSX.PnFindPriceResult & JSXBase.HTMLAttributes<HTMLPnFindPriceResultElement>;
@@ -1 +0,0 @@
1
- var __awaiter=this&&this.__awaiter||function(e,t,r,n){function a(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,i){function o(e){try{u(n.next(e))}catch(t){i(t)}}function l(e){try{u(n["throw"](e))}catch(t){i(t)}}function u(e){e.done?r(e.value):a(e.value).then(o,l)}u((n=n.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var r={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},n,a,i,o;return o={next:l(0),throw:l(1),return:l(2)},typeof Symbol==="function"&&(o[Symbol.iterator]=function(){return this}),o;function l(e){return function(t){return u([e,t])}}function u(l){if(n)throw new TypeError("Generator is already executing.");while(o&&(o=0,l[0]&&(r=0)),r)try{if(n=1,a&&(i=l[0]&2?a["return"]:l[0]?a["throw"]||((i=a["return"])&&i.call(a),0):a.next)&&!(i=i.call(a,l[1])).done)return i;if(a=0,i)l=[l[0]&2,i.value];switch(l[0]){case 0:case 1:i=l;break;case 4:r.label++;return{value:l[1],done:false};case 5:r.label++;a=l[1];l=[0];continue;case 7:l=r.ops.pop();r.trys.pop();continue;default:if(!(i=r.trys,i=i.length>0&&i[i.length-1])&&(l[0]===6||l[0]===2)){r=0;continue}if(l[0]===3&&(!i||l[1]>i[0]&&l[1]<i[3])){r.label=l[1];break}if(l[0]===6&&r.label<i[1]){r.label=i[1];i=l;break}if(i&&r.label<i[2]){r.label=i[2];r.ops.push(l);break}if(i[2])r.ops.pop();r.trys.pop();continue}l=t.call(e,r)}catch(u){l=[6,u];a=0}finally{n=i=0}if(l[0]&5)throw l[1];return{value:l[0]?l[1]:void 0,done:true}}};var __spreadArray=this&&this.__spreadArray||function(e,t,r){if(r||arguments.length===2)for(var n=0,a=t.length,i;n<a;n++){if(i||!(n in t)){if(!i)i=Array.prototype.slice.call(t,0,n);i[n]=t[n]}}return e.concat(i||Array.prototype.slice.call(t))};System.register(["./p-7ffa5533.system.js","./p-e351523a.system.js"],(function(e){"use strict";var t,r,n,a,i,o;return{setters:[function(e){t=e.r;r=e.c;n=e.h;a=e.a;i=e.g},function(e){o=e.v}],execute:function(){function l(e,t,r){var n,a,i,o,l;if(null==t)t=100;function u(){var s=Date.now()-o;if(s<t&&s>=0){n=setTimeout(u,t-s)}else{n=null;if(!r){l=e.apply(i,a);i=a=null}}}var s=function(){i=this;a=arguments;o=Date.now();var s=r&&!n;if(!n)n=setTimeout(u,t);if(s){l=e.apply(i,a);i=a=null}return l};s.clear=function(){if(n){clearTimeout(n);n=null}};s.flush=function(){if(n){l=e.apply(i,a);i=a=null;clearTimeout(n);n=null}};return s}l.debounce=l;var u=l;var s=".pn-multi-formfield{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row}";var c=e("pn_multi_formfield",function(){function e(e){var n=this;t(this,e);this.changed=r(this,"changed",7);this.containerElm=null;this.slotElm=null;this.formFields=null;this.formFieldTypes=["input","textarea","select"];this.additionalRowStartIndex=2;this.formFieldEvent=function(e){if(e.target.matches(".".concat(n.formFieldClassName))){["change","keyup"].forEach((function(t){var r=u.debounce(n.updateValues.bind(n,e.target),1e3);e.target.addEventListener(t,r)}))}};this.formRow=[];this.formValues=[];this.elementToCopy=null;this.fieldsPerRowCount=0;this.newRowStartIndex=2;this.originalLabelNames=[];this.value=[];this.formFieldClassName="form-control";this.formFieldOuterParentClassName="formelement"}e.prototype.generateUniqueId=function(){return o()};e.prototype.componentDidLoad=function(){this.init()};e.prototype.init=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){this.addEventHandlers();this.setDefaultValues();return[2]}))}))};e.prototype.addEventHandlers=function(){this.hostElement.addEventListener("click",this.formFieldEvent)};e.prototype.setDefaultValues=function(){var e;var t=(e=this.containerElm)===null||e===void 0?void 0:e.querySelectorAll("label");if(t){this.fieldsPerRowCount=t.length;this.originalLabelNames=__spreadArray([],t,true).map((function(e){return e.innerHTML}));var r=this.originalLabelNames.map((function(e){var t={Name:e,Value:""};return t}));this.formValues=__spreadArray([],r,true);this.setHiddenValue()}};e.prototype.setHiddenValue=function(){var e;var t=(e=this.hostElement)===null||e===void 0?void 0:e.querySelector(".hiddenValue");if(t){t.value=JSON.stringify(this.formValues)}};e.prototype.updateValues=function(e,t){var r=this;var n;t.preventDefault();var a=e.closest(".pn-multi-formfield-slot");var i=!!a;var o=i?a:e.closest(".generated-parent");if(o){var l=(n=__spreadArray([],o===null||o===void 0?void 0:o.querySelectorAll(".".concat(this.formFieldClassName)),true))===null||n===void 0?void 0:n.filter((function(e){return r.formFieldTypes.includes(e.nodeName.toLowerCase())}));l===null||l===void 0?void 0:l.map((function(e){var t=e;var n=t.closest("div").querySelector("label");var a=(n===null||n===void 0?void 0:n.dataset.label)||(n===null||n===void 0?void 0:n.innerHTML);var i={Name:a,Value:t.value};r.setFormValues(i)}))}this.setHiddenValue()};e.prototype.setFormValues=function(e){var t=this.formValues.find((function(t){return t.Name===e.Name}));if(t===undefined){this.formValues.push(e)}if(t!==undefined){t.Value=e.Value}this.formValues=__spreadArray([],this.formValues,true);this.value=this.formValues;this.changed.emit(this.formValues)};e.prototype.addRow=function(e){if(e.type==="click"){this.addFormElements()}};e.prototype.addFormElements=function(){var e=this;if(!this.elementToCopy){var t=this.hostElement.querySelector(".pn-multi-formfield");var r=t.cloneNode(true);this.elementToCopy=r}var n=__spreadArray([],this.elementToCopy.querySelectorAll(".".concat(this.formFieldOuterParentClassName)),true).map((function(t){var r=t.querySelector("label");var n=t.querySelector(".".concat(e.formFieldClassName));var a=e.generateUniqueId();r.dataset.label="".concat(r.innerText," ").concat(e.newRowStartIndex);r.setAttribute("for",a);n.setAttribute("id",a);n.setAttribute("name","__".concat(a));return t}));this.newRowStartIndex++;var a=this.generateUniqueId();var i=document.createElement("div");i.setAttribute("id",a);i.setAttribute("class","generated-parent");n.map((function(e){i.innerHTML+=e.innerHTML}));i.appendChild(this.createDeleteButton());this.containerElm.appendChild(i)};e.prototype.createDeleteButton=function(){var e=this;var t=document.createElement("pn-button");t.onclick=function(t){return e.deleteRow(t)};t.setAttribute("icon-only","true");t.setAttribute("icon","minus");t.setAttribute("appearance","warning");t.appendChild(document.createTextNode("X"));return t};e.prototype.deleteRow=function(e){var t=this;e.preventDefault();var r=e.currentTarget;var n=r.parentElement;var a=n.querySelectorAll(".".concat(this.formFieldClassName));a.forEach((function(e){e.remove()}));n.remove();this.newRowStartIndex--;this.formValues=__spreadArray([],this.formValues.slice(0,this.fieldsPerRowCount),true);var i=__spreadArray([],this.containerElm.querySelectorAll(".generated-parent"),true);i.map((function(e,r){var n=__spreadArray([],e.querySelectorAll("label"),true);n.map((function(e){var n=t.getLabelParts(e.dataset.label);e.dataset.label=t.getLabelName(n[0],r);var a=e.parentElement.querySelector(".".concat(t.formFieldClassName));var i={Name:e.dataset.label,Value:a.value};t.setFormValues(i)}))}));this.setHiddenValue()};e.prototype.getLabelParts=function(e){var t=e.substring(0,e.lastIndexOf(" "));var r=e.substring(e.lastIndexOf(" ")+1);var n=[t,r];return n};e.prototype.getLabelName=function(e,t){return"".concat(e," ").concat(t+this.additionalRowStartIndex)};e.prototype.render=function(){var e=this;return n(a,null,n("div",{ref:function(t){return e.containerElm=t},class:"pn-multi-formfield"},n("div",{ref:function(t){return e.slotElm=t},class:"pn-multi-formfield-slot"},n("slot",null))),n("pn-button",{"icon-only":"true","aria-label":"Add",icon:"plus",onClick:function(t){return e.addRow(t)}},"+"))};Object.defineProperty(e.prototype,"hostElement",{get:function(){return i(this)},enumerable:false,configurable:true});return e}());c.style=s}}}));
@@ -1 +0,0 @@
1
- import{r as t,c as i,h as s,a as e,g as n}from"./p-57d37022.js";import{v as l}from"./p-d3d7fec8.js";function o(t,i,s){var e,n,l,o,h;function a(){var r=Date.now()-o;r<i&&r>=0?e=setTimeout(a,i-r):(e=null,s||(h=t.apply(l,n),l=n=null))}null==i&&(i=100);var r=function(){l=this,n=arguments,o=Date.now();var r=s&&!e;return e||(e=setTimeout(a,i)),r&&(h=t.apply(l,n),l=n=null),h};return r.clear=function(){e&&(clearTimeout(e),e=null)},r.flush=function(){e&&(h=t.apply(l,n),l=n=null,clearTimeout(e),e=null)},r}o.debounce=o;var h=o;const a=class{constructor(s){t(this,s),this.changed=i(this,"changed",7),this.containerElm=null,this.slotElm=null,this.formFields=null,this.formFieldTypes=["input","textarea","select"],this.additionalRowStartIndex=2,this.formFieldEvent=t=>{t.target.matches(`.${this.formFieldClassName}`)&&["change","keyup"].forEach((i=>{const s=h.debounce(this.updateValues.bind(this,t.target),1e3);t.target.addEventListener(i,s)}))},this.formRow=[],this.formValues=[],this.elementToCopy=null,this.fieldsPerRowCount=0,this.newRowStartIndex=2,this.originalLabelNames=[],this.value=[],this.formFieldClassName="form-control",this.formFieldOuterParentClassName="formelement"}generateUniqueId(){return l()}componentDidLoad(){this.init()}async init(){this.addEventHandlers(),this.setDefaultValues()}addEventHandlers(){this.hostElement.addEventListener("click",this.formFieldEvent)}setDefaultValues(){var t;const i=null===(t=this.containerElm)||void 0===t?void 0:t.querySelectorAll("label");if(i){this.fieldsPerRowCount=i.length,this.originalLabelNames=[...i].map((t=>t.innerHTML));const t=this.originalLabelNames.map((t=>({Name:t,Value:""})));this.formValues=[...t],this.setHiddenValue()}}setHiddenValue(){var t;const i=null===(t=this.hostElement)||void 0===t?void 0:t.querySelector(".hiddenValue");i&&(i.value=JSON.stringify(this.formValues))}updateValues(t,i){var s;i.preventDefault();const e=t.closest(".pn-multi-formfield-slot");let n=e||t.closest(".generated-parent");if(n){const t=null===(s=[...null==n?void 0:n.querySelectorAll(`.${this.formFieldClassName}`)])||void 0===s?void 0:s.filter((t=>this.formFieldTypes.includes(t.nodeName.toLowerCase())));null==t||t.map((t=>{const i=t,s=i.closest("div").querySelector("label");this.setFormValues({Name:(null==s?void 0:s.dataset.label)||(null==s?void 0:s.innerHTML),Value:i.value})}))}this.setHiddenValue()}setFormValues(t){const i=this.formValues.find((i=>i.Name===t.Name));void 0===i&&this.formValues.push(t),void 0!==i&&(i.Value=t.Value),this.formValues=[...this.formValues],this.value=this.formValues,this.changed.emit(this.formValues)}addRow(t){"click"===t.type&&this.addFormElements()}addFormElements(){if(!this.elementToCopy){const t=this.hostElement.querySelector(".pn-multi-formfield").cloneNode(!0);this.elementToCopy=t}const t=[...this.elementToCopy.querySelectorAll(`.${this.formFieldOuterParentClassName}`)].map((t=>{const i=t.querySelector("label"),s=t.querySelector(`.${this.formFieldClassName}`),e=this.generateUniqueId();return i.dataset.label=`${i.innerText} ${this.newRowStartIndex}`,i.setAttribute("for",e),s.setAttribute("id",e),s.setAttribute("name",`__${e}`),t}));this.newRowStartIndex++;const i=this.generateUniqueId(),s=document.createElement("div");s.setAttribute("id",i),s.setAttribute("class","generated-parent"),t.map((t=>{s.innerHTML+=t.innerHTML})),s.appendChild(this.createDeleteButton()),this.containerElm.appendChild(s)}createDeleteButton(){const t=document.createElement("pn-button");return t.onclick=t=>this.deleteRow(t),t.setAttribute("icon-only","true"),t.setAttribute("icon","minus"),t.setAttribute("appearance","warning"),t.appendChild(document.createTextNode("X")),t}deleteRow(t){t.preventDefault();const i=t.currentTarget.parentElement;i.querySelectorAll(`.${this.formFieldClassName}`).forEach((t=>{t.remove()})),i.remove(),this.newRowStartIndex--,this.formValues=[...this.formValues.slice(0,this.fieldsPerRowCount)],[...this.containerElm.querySelectorAll(".generated-parent")].map(((t,i)=>{[...t.querySelectorAll("label")].map((t=>{const s=this.getLabelParts(t.dataset.label);t.dataset.label=this.getLabelName(s[0],i);const e=t.parentElement.querySelector(`.${this.formFieldClassName}`);this.setFormValues({Name:t.dataset.label,Value:e.value})}))})),this.setHiddenValue()}getLabelParts(t){return[t.substring(0,t.lastIndexOf(" ")),t.substring(t.lastIndexOf(" ")+1)]}getLabelName(t,i){return`${t} ${i+this.additionalRowStartIndex}`}render(){return s(e,null,s("div",{ref:t=>this.containerElm=t,class:"pn-multi-formfield"},s("div",{ref:t=>this.slotElm=t,class:"pn-multi-formfield-slot"},s("slot",null))),s("pn-button",{"icon-only":"true","aria-label":"Add",icon:"plus",onClick:t=>this.addRow(t)},"+"))}get hostElement(){return n(this)}};a.style=".pn-multi-formfield{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row}";export{a as pn_multi_formfield}
@@ -1 +0,0 @@
1
- var __awaiter=this&&this.__awaiter||function(e,t,n,i){function r(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,a){function o(e){try{l(i.next(e))}catch(t){a(t)}}function s(e){try{l(i["throw"](e))}catch(t){a(t)}}function l(e){e.done?n(e.value):r(e.value).then(o,s)}l((i=i.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var n={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},i,r,a,o;return o={next:s(0),throw:s(1),return:s(2)},typeof Symbol==="function"&&(o[Symbol.iterator]=function(){return this}),o;function s(e){return function(t){return l([e,t])}}function l(s){if(i)throw new TypeError("Generator is already executing.");while(o&&(o=0,s[0]&&(n=0)),n)try{if(i=1,r&&(a=s[0]&2?r["return"]:s[0]?r["throw"]||((a=r["return"])&&a.call(r),0):r.next)&&!(a=a.call(r,s[1])).done)return a;if(r=0,a)s=[s[0]&2,a.value];switch(s[0]){case 0:case 1:a=s;break;case 4:n.label++;return{value:s[1],done:false};case 5:n.label++;r=s[1];s=[0];continue;case 7:s=n.ops.pop();n.trys.pop();continue;default:if(!(a=n.trys,a=a.length>0&&a[a.length-1])&&(s[0]===6||s[0]===2)){n=0;continue}if(s[0]===3&&(!a||s[1]>a[0]&&s[1]<a[3])){n.label=s[1];break}if(s[0]===6&&n.label<a[1]){n.label=a[1];a=s;break}if(a&&n.label<a[2]){n.label=a[2];n.ops.push(s);break}if(a[2])n.ops.pop();n.trys.pop();continue}s=t.call(e,n)}catch(l){s=[6,l];r=0}finally{i=a=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:true}}};System.register(["./p-7ffa5533.system.js"],(function(e){"use strict";var t,n,i,r,a;return{setters:[function(e){t=e.r;n=e.c;i=e.h;r=e.a;a=e.g}],execute:function(){var o="pn-date-and-time label{color:#5E554A;font-size:1.4rem}pn-date-and-time .time-separator{margin:auto}pn-date-and-time .date-and-time-group{margin-bottom:1rem}pn-date-and-time .date-and-time-row{display:-ms-flexbox;display:flex;gap:1rem}pn-date-and-time .helper-text{margin-top:0.2rem;color:#5E554A;display:block}pn-date-and-time .error-message{color:#a70707}";var s=e("pn_date_and_time",function(){function e(e){t(this,e);this.dateandtimerange=n(this,"dateandtimerange",7);this.pnDatePicker=null;this.pnTimeFromHourDropdown=null;this.pnTimeFromMinuteDropdown=null;this.pnTimeToHourDropdown=null;this.pnTimeToMinuteDropdown=null;this.languageCode=null;this.dateAndTimeLabel="";this.dateDaysFromToday=0;this.validTimeRangeMinutes=0;this.errorMessage="";this.dateHelperText="";this.timeHelperText="";this.disableWeekends=false;this.datePlacehodler="";this.language=null;this.hourArr=null;this.minuteArr=null;this.formValue=null;this.invalidTimespan=false;this.selectedDate=null;this.selectedFromHour=null;this.selectedFromMin=null;this.selectedToHour=null;this.selectedToMin=null;this.firstValidDateString="";this.lastValidDateString=""}e.prototype.componentWillLoad=function(){this.setInitialValues()};e.prototype.componentDidLoad=function(){this.setDefaultHiddenValue();this.addEventHandlers()};e.prototype.setInitialValues=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){this.setLangugaeCode();this.setFirstValidDate();this.hourArr=this.getNumbersAsStringArr(6,22,1);this.minuteArr=this.getNumbersAsStringArr(0,50,10);return[2]}))}))};e.prototype.setFirstValidDate=function(){var e;var t=new Date;t.setDate((e=t.getDate()+this.dateDaysFromToday)!==null&&e!==void 0?e:0);var n=t.getFullYear();var i=(t.getMonth()+1).toString().padStart(2,"0");var r=t.getDate().toString().padStart(2,"0");var a=n+2;this.firstValidDateString="".concat(n.toString(),"-").concat(i,"-").concat(r);this.lastValidDateString="".concat(a.toString(),"-").concat(i,"-").concat(r)};e.prototype.setLangugaeCode=function(){if(typeof this.languageCode==="string"&&this.languageCode.trim()===""){this.language=document.querySelector("html").lang}else{this.language=this.languageCode}};e.prototype.setDefaultHiddenValue=function(){this.selectedFromHour=parseInt(this.hourArr[8]);this.selectedFromMin=0;this.selectedToHour=parseInt(this.hourArr[12]);this.selectedToMin=0;this.updateHiddenValue()};e.prototype.addEventHandlers=function(){this.pnDatePicker.addEventListener("dateselection",this.handleChange.bind(this));this.pnTimeFromHourDropdown.addEventListener("selectchange",this.handleChange.bind(this));this.pnTimeFromMinuteDropdown.addEventListener("selectchange",this.handleChange.bind(this));this.pnTimeToHourDropdown.addEventListener("selectchange",this.handleChange.bind(this));this.pnTimeToMinuteDropdown.addEventListener("selectchange",this.handleChange.bind(this))};e.prototype.handleChange=function(e){var t=e.target;if(t===this.pnDatePicker){this.selectedDate=e.detail}if(t===this.pnTimeFromHourDropdown||t===this.pnTimeFromMinuteDropdown||t===this.pnTimeToHourDropdown||t===this.pnTimeToMinuteDropdown){this.handleTimeChange()}this.updateHiddenValue()};e.prototype.handleTimeChange=function(){var e,t,n,i;var r=(e=this.pnTimeFromHourDropdown.querySelector(".current-selection .pn-option-content"))===null||e===void 0?void 0:e.textContent;var a=(t=this.pnTimeFromMinuteDropdown.querySelector(".current-selection .pn-option-content"))===null||t===void 0?void 0:t.textContent;var o=(n=this.pnTimeToHourDropdown.querySelector(".current-selection .pn-option-content"))===null||n===void 0?void 0:n.textContent;var s=(i=this.pnTimeToMinuteDropdown.querySelector(".current-selection .pn-option-content"))===null||i===void 0?void 0:i.textContent;this.selectedFromHour=parseInt(r);this.selectedFromMin=parseInt(a);this.selectedToHour=parseInt(o);this.selectedToMin=parseInt(s)};e.prototype.updateHiddenValue=function(){var e=new Date;var t=new Date(e.getFullYear(),e.getMonth(),e.getDate(),this.selectedFromHour,this.selectedFromMin,0,0);var n=new Date(e.getFullYear(),e.getMonth(),e.getDate(),this.selectedToHour,this.selectedToMin,0,0);this.validateTimeRange(t.getTime(),n.getTime());if(this.invalidTimespan||!this.selectedDate){this.formValue=""}else{var i=this.selectedFromMin.toString().padStart(2,"0");var r=this.selectedToMin.toString().padStart(2,"0");this.formValue="".concat(this.selectedDate,", ").concat(this.selectedFromHour,":").concat(i,"-").concat(this.selectedToHour,":").concat(r)}this.dateandtimerange.emit(this.formValue)};e.prototype.validateTimeRange=function(e,t){var n=(t-e)/1e3;n/=60;this.invalidTimespan=n<this.validTimeRangeMinutes?true:false};e.prototype.getNumbersAsStringArr=function(e,t,n){var i=Array.from({length:(t-e)/n+1},(function(t,i){return e+i*n}));var r=[];i.forEach((function(e){var t=e.toString().padStart(2,"0");r.push(t)}));return r};e.prototype.removePnOptionSelected=function(){var e=this.hostElement.querySelectorAll("pn-option");e.forEach((function(e){e.removeAttribute("selected")}))};e.prototype.render=function(){var e=this;var t,n,a,o;return i(r,null,i("div",{class:"date-and-time-group"},this.dateAndTimeLabel?i("div",{class:"date-and-time-row"},i("label",null,this.dateAndTimeLabel)):null,i("div",{class:"date-and-time-row"},i("pn-date-picker",{ref:function(t){return e.pnDatePicker=t},range:"false","disable-weekends":this.disableWeekends,"min-date":this.firstValidDateString,"max-date":this.lastValidDateString,language:this.language,placeholder:this.datePlacehodler})),this.dateHelperText?i("small",{class:"date-and-time-row helper-text"},this.dateHelperText):null),i("div",{class:"date-and-time-group"},i("div",{class:"date-and-time-row"},i("pn-select",{ref:function(t){return e.pnTimeFromHourDropdown=t},name:"date-and-time-from-houre",placeholder:this.hourArr[8],class:"date-and-time-dropdown--time",invalid:this.invalidTimespan},(t=this.hourArr)===null||t===void 0?void 0:t.map((function(e){return i("pn-option",null,e)}))),i("pn-select",{ref:function(t){return e.pnTimeFromMinuteDropdown=t},name:"date-and-time-from-minute",placeholder:this.minuteArr[0],class:"date-and-time-dropdown--time",invalid:this.invalidTimespan},(n=this.minuteArr)===null||n===void 0?void 0:n.map((function(e){return i("pn-option",null,e)}))),i("div",{class:"time-separator"},i("span",null,"-")),i("pn-select",{ref:function(t){return e.pnTimeToHourDropdown=t},name:"date-and-time-to-hour",placeholder:this.hourArr[12],class:"date-and-time-dropdown--time",invalid:this.invalidTimespan},(a=this.hourArr)===null||a===void 0?void 0:a.map((function(e){return i("pn-option",null,e)}))),i("pn-select",{ref:function(t){return e.pnTimeToMinuteDropdown=t},name:"date-and-time-to-minute",placeholder:this.minuteArr[0],class:"date-and-time-dropdown--time",invalid:this.invalidTimespan},(o=this.minuteArr)===null||o===void 0?void 0:o.map((function(e){return i("pn-option",null,e)})))),this.timeHelperText?i("small",{class:"date-and-time-row helper-text"},this.timeHelperText):null,this.invalidTimespan&&this.errorMessage?i("small",{class:"date-and-time-row error-message"},i("pn-icon",{symbol:"alert-info-circle",small:"false",color:"warning"}),this.errorMessage):null))};Object.defineProperty(e.prototype,"hostElement",{get:function(){return a(this)},enumerable:false,configurable:true});return e}());s.style=o}}}));