@postnord/pn-marketweb-components 3.0.1 → 3.0.3

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 (47) hide show
  1. package/cjs/pn-dropdown-choice-adds-row.cjs.entry.js +1 -1
  2. package/cjs/pn-dropdown-choice-adds-row.cjs.entry.js.map +1 -1
  3. package/cjs/pn-dropdown-with-multi-input-rows.cjs.entry.js +2 -2
  4. package/cjs/pn-dropdown-with-multi-input-rows.cjs.entry.js.map +1 -1
  5. package/cjs/pn-multi-row-connected-dropdown-row.cjs.entry.js +4 -4
  6. package/cjs/pn-multi-row-connected-dropdown-row.cjs.entry.js.map +1 -1
  7. package/cjs/pn-multi-row-connected-dropdown.cjs.entry.js +2 -2
  8. package/cjs/pn-multi-row-connected-dropdown.cjs.entry.js.map +1 -1
  9. package/collection/components/input/pn-dropdown-choice-adds-row/pn-dropdown-choice-adds-row.js +1 -1
  10. package/collection/components/input/pn-dropdown-choice-adds-row/pn-dropdown-choice-adds-row.js.map +1 -1
  11. package/collection/components/input/pn-dropdown-with-multi-input-rows/pn-dropdown-with-multi-input-rows.js +2 -2
  12. package/collection/components/input/pn-dropdown-with-multi-input-rows/pn-dropdown-with-multi-input-rows.js.map +1 -1
  13. package/collection/components/input/pn-multi-row-connected-dropdown/pn-multi-row-connected-dropdown-row.js +4 -4
  14. package/collection/components/input/pn-multi-row-connected-dropdown/pn-multi-row-connected-dropdown-row.js.map +1 -1
  15. package/collection/components/input/pn-multi-row-connected-dropdown/pn-multi-row-connected-dropdown.js +2 -2
  16. package/collection/components/input/pn-multi-row-connected-dropdown/pn-multi-row-connected-dropdown.js.map +1 -1
  17. package/components/pn-dropdown-choice-adds-row.js +1 -1
  18. package/components/pn-dropdown-choice-adds-row.js.map +1 -1
  19. package/components/pn-dropdown-with-multi-input-rows.js +2 -2
  20. package/components/pn-dropdown-with-multi-input-rows.js.map +1 -1
  21. package/components/pn-multi-row-connected-dropdown-row2.js +4 -4
  22. package/components/pn-multi-row-connected-dropdown-row2.js.map +1 -1
  23. package/components/pn-multi-row-connected-dropdown.js +2 -2
  24. package/components/pn-multi-row-connected-dropdown.js.map +1 -1
  25. package/esm/pn-dropdown-choice-adds-row.entry.js +1 -1
  26. package/esm/pn-dropdown-choice-adds-row.entry.js.map +1 -1
  27. package/esm/pn-dropdown-with-multi-input-rows.entry.js +2 -2
  28. package/esm/pn-dropdown-with-multi-input-rows.entry.js.map +1 -1
  29. package/esm/pn-multi-row-connected-dropdown-row.entry.js +4 -4
  30. package/esm/pn-multi-row-connected-dropdown-row.entry.js.map +1 -1
  31. package/esm/pn-multi-row-connected-dropdown.entry.js +2 -2
  32. package/esm/pn-multi-row-connected-dropdown.entry.js.map +1 -1
  33. package/package.json +1 -1
  34. package/pn-market-web-components/p-07253be3.entry.js +2 -0
  35. package/pn-market-web-components/{p-3847f9af.entry.js.map → p-07253be3.entry.js.map} +1 -1
  36. package/pn-market-web-components/{p-23916c49.entry.js → p-3ae1657a.entry.js} +2 -2
  37. package/pn-market-web-components/{p-23916c49.entry.js.map → p-3ae1657a.entry.js.map} +1 -1
  38. package/pn-market-web-components/p-5ff663be.entry.js +2 -0
  39. package/pn-market-web-components/p-5ff663be.entry.js.map +1 -0
  40. package/pn-market-web-components/p-af16f7e3.entry.js +2 -0
  41. package/pn-market-web-components/p-af16f7e3.entry.js.map +1 -0
  42. package/pn-market-web-components/pn-market-web-components.esm.js +1 -1
  43. package/pn-market-web-components/p-00ea6211.entry.js +0 -2
  44. package/pn-market-web-components/p-00ea6211.entry.js.map +0 -1
  45. package/pn-market-web-components/p-3847f9af.entry.js +0 -2
  46. package/pn-market-web-components/p-67089fc8.entry.js +0 -2
  47. package/pn-market-web-components/p-67089fc8.entry.js.map +0 -1
@@ -1 +1 @@
1
- {"file":"pn-multi-row-connected-dropdown-row.entry.js","mappings":";;;;;AAAA,MAAM,iCAAiC,GAAG,0xEAA0xE,CAAC;AACr0E,6CAAe,iCAAiC;;MCSnC,8BAA8B;;;;;QAIzC,wBAAmB,GAAgB,IAAI,CAAC;QACxC,mCAA8B,GAAgB,IAAI,CAAC;QACnD,qBAAgB,GAAgB,IAAI,CAAC;QACrC,oBAAe,GAAgB,IAAI,CAAC;QACpC,qBAAgB,GAAgB,IAAI,CAAC;QACrC,iBAAY,GAAgB,IAAI,CAAC;QACjC,uBAAkB,GAAgB,IAAI,CAAC;QACvC,gBAAW,GAAgB,IAAI,CAAC;QAChC,cAAS,GAAgB,IAAI,CAAC;QAC9B,+BAA0B,GAAgB,IAAI,CAAC;QAC/C,yBAAoB,GAAgB,IAAI,CAAC;QACzC,0BAAqB,GAAgB,IAAI,CAAC;QAC1C,cAAS,GAAgB,IAAI,CAAC;QAC9B,yBAAoB,GAAgB,IAAI,CAAC;QACzC,+BAA0B,GAAgB,IAAI,CAAC;QAC/C,sBAAiB,GAAgB,IAAI,CAAC;4BAEE,IAAI;4BACb,IAAI;qBACX,IAAI;kCACS,IAAI;mCACH,IAAI;mCACJ,IAAI;0BACb,IAAI;8BACA,IAAI;oCACE,IAAI;8BACV,IAAI;+BACH,IAAI;iCACF,CAAC;kCACC,IAAI;8BACT,IAAI;4BACN,IAAI;mCACG,IAAI;uCACA,IAAI;kCACT,IAAI;2BACX,IAAI;qBACV,IAAI;+BACM,IAAI;mCACA,IAAI;4BAEJ,IAAI;gCACA,IAAI;iCACH,EAAE;kCACP,IAAI;mCACH,IAAI;oCACH,EAAE;mCACH,EAAE;wCACG,GAAG;yCACF,GAAG;6BACf,EAAE;4BACH,EAAE;iCACK,EAAE;mCACF,EAAE;+BACN,EAAE;yBACR,EAAE;uBACE,IAAI;;IAKrC,iBAAiB;QACf,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,iBAAiB,EAAE,CAAC;KAC1B;IAED,gBAAgB;QACd,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,cAAc,EAAE,CAAC;KACvB;IAED,eAAe;QACb,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ,EAAE;YACzC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SACpD;aAAM;YACL,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC;SACxC;KACF;IAED,mBAAmB;QACjB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;KAC1D;IAGD,oBAAoB;QAClB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,gBAAgB,EAAE,CAAC;KACzB;IAED,gBAAgB;QACd,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC/B,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAE5B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,WAAW,CAAC;QAClF,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,WAAW,CAAC;KACrF;IAED,eAAe;;QACb,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QAEvB,IAAI,MAAA,IAAI,CAAC,gBAAgB,CAAC,OAAO,0CAAE,MAAM,EAAE;YACzC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;YAElD,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI;gBAC5B,IAAI,IAAI,CAAC,QAAQ,EAAE;oBACjB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC;iBACvC;aACF,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI;gBAC7B,MAAM,MAAM,GAAe,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;gBACrF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aAChC,CAAC,CAAC;SACJ;KACF;IAED,sBAAsB;;QACpB,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAE3B,IAAI,MAAA,IAAI,CAAC,gBAAgB,CAAC,aAAa,0CAAE,MAAM,EAAE;YAC/C,IAAI,CAAC,gBAAgB,GAAG,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;SAClE;KACF;IAED,uBAAuB;;QACrB,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAE5B,IAAI,MAAA,IAAI,CAAC,gBAAgB,CAAC,cAAc,0CAAE,MAAM,EAAE;YAChD,IAAI,CAAC,iBAAiB,GAAG,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;SACpE;KACF;IAED,aAAa;;QACX,IAAI,CAAC,eAAe,GAAG,CAAA,MAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,0CAAE,MAAM,IAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,GAAG,EAAE,CAAC;KAC/F;IAED,YAAY;;QACV,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC3B,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,OAAO,GAAG,CAAA,MAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,0CAAE,MAAM,IAAG,EAAE,GAAG,MAAM,CAAC;YAC5F,IAAI,CAAC,iBAAiB,GAAG,CAAA,MAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,0CAAE,MAAM,IAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;YAC3G,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC3B;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,CAAA,MAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,0CAAE,MAAM,IAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,GAAG,EAAE,CAAC;SACzF;KACF;IAED,oBAAoB;;QAClB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC;QACpD,IAAI,CAAC,aAAa,GAAG,CAAA,MAAA,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,SAAS,0CAAE,MAAM,IAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,SAAS,GAAG,EAAE,CAAC;QACxH,IAAI,CAAC,YAAY,GAAG,CAAA,MAAA,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,OAAO,0CAAE,MAAM,IAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,OAAO,GAAG,EAAE,CAAC;KACpH;IAED,iBAAiB;;QACf,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC;QAC3E,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,MAAA,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,iBAAiB,mCAAI,CAAC,CAAC,CAAC;QAE3D,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAChE,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,IAAI,GAAG,UAAU,CAAC;QAElC,IAAI,CAAC,oBAAoB,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC;QACjE,IAAI,CAAC,mBAAmB,GAAG,GAAG,OAAO,CAAC,QAAQ,EAAE,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC;KACpE;IAED,gBAAgB;QACd,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;QAElE,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACzE,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1E,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACzE,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACzD,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAC1D,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAEzD,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC3B,IAAI,CAAC,0BAA0B,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC5F,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,eAAe,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC3F,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,eAAe,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACzF,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACpF,IAAI,CAAC,0BAA0B,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC9F,IAAI,CAAC,0BAA0B,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;SACxE;aAAM;YACL,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,eAAe,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC9F,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;SACxE;QAED,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE;YAClB,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;SAC7E;KACF;IAED,gBAAgB;QACd,OAAOA,EAAM,EAAE,CAAC;KACjB;IAED,mBAAmB,CAAC,GAAiB,EAAE,GAAW;QAChD,GAAG,CAAC,OAAO,CAAC,IAAI;YACd,IAAI,IAAI,CAAC,KAAK,KAAK,GAAG,EAAE;gBACtB,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;aAChC;iBAAM;gBACL,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;aACvB;SACF,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;KACZ;IAED,uBAAuB,CAAC,CAAC;;QACvB,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;QAEpC,IAAI,CAAC,YAAY,GAAG,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC/E,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,QAAQ,GAAG,EAAE,CAAC;QAEzG,IAAI,MAAA,IAAI,CAAC,mBAAmB,0CAAE,MAAM,EAAE;YACpC,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;YAC3B,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC;YACjF,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI;gBACnC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;aACvF,CAAC,CAAC;YAEH,IAAI,CAAC,gBAAgB,GAAG,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACnD,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,mBAAmB,CAAC;YACzD,MAAM,iBAAiB,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;YACxF,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC;YAEvD,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;YAC5B,IAAI,CAAC,yBAAyB,GAAG,GAAG,CAAC;YACrC,MAAM,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;YAC1F,kBAAkB,CAAC,SAAS,GAAG,IAAI,CAAC,yBAAyB,CAAC;SAC/D;aAAM;YACL,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;YAC3B,IAAI,CAAC,wBAAwB,GAAG,GAAG,CAAC;YACpC,MAAM,iBAAiB,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;YACxF,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,wBAAwB,CAAC;YAE5D,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;YAC5B,IAAI,CAAC,yBAAyB,GAAG,GAAG,CAAC;YACrC,MAAM,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;YAC1F,kBAAkB,CAAC,SAAS,GAAG,IAAI,CAAC,yBAAyB,CAAC;SAC/D;QAED,IAAI,CAAC,cAAc,EAAE,CAAC;KACvB;IAED,yBAAyB;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC;QAC5E,MAAM,aAAa,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,WAAW,CAAC;QAC5C,IAAI,CAAC,gBAAgB,GAAG,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC,CAAC;QAC5F,MAAM,iBAAiB,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;QACtF,iBAAiB,CAAC,SAAS,GAAG,aAAa,CAAC;QAE9C,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAC5B,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC;QACnF,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,CAAC;QAC5G,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,KAAK,aAAa,CAAC,CAAC;QACrF,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI;YAChC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;SACxF,CAAC,CAAC;QAEH,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,mBAAmB,CAAC;QAC1D,MAAM,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;QAC1F,kBAAkB,CAAC,SAAS,GAAG,IAAI,CAAC,yBAAyB,CAAC;QAC9D,IAAI,CAAC,cAAc,EAAE,CAAC;KACvB;IAED,0BAA0B;QACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC;QAC7E,MAAM,aAAa,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,WAAW,CAAC;QAC5C,IAAI,CAAC,iBAAiB,GAAG,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC,CAAC;QAC9F,MAAM,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;QAC1F,kBAAkB,CAAC,SAAS,GAAG,aAAa,CAAC;QAC7C,IAAI,CAAC,cAAc,EAAE,CAAC;KACvB;IAED,WAAW,CAAC,CAAC;QACX,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC;QACrB,IAAI,GAAG,CAAC,KAAK,KAAK,GAAG,EAAE;YACrB,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC,KAAK,CAAC;SAClC;KACF;IAED,gBAAgB;QACd,IAAI,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,OAAO,KAAK,MAAM,EAAE;YACtD,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;SAC9C;aAAM;YACL,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;SAClD;KACF;IAED,sBAAsB,CAAC,CAAC;QACtB,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC;QAErB,IAAI,GAAG,KAAK,IAAI,CAAC,WAAW,EAAE;YAC5B,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;SAC/B;QAED,IAAI,GAAG,KAAK,IAAI,CAAC,SAAS,EAAE;YAC1B,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;SAC9B;KACF;IAED,aAAa,CAAC,CAAC;;QACb,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;QAC5E,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAC5B,aAAa,CAAC,OAAO,CAAC,OAAO;YAC3B,MAAM,KAAK,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAC7C,IAAI,KAAK,CAAC,KAAK,EAAE;gBACf,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aAChC;SACF,CAAC,CAAC;QAEH,IAAI,YAAY,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,YAAY,EAAE;YAClE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI;gBACvB,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,EAAE;oBAC5C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;iBACtB;qBAAM;oBACL,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;iBACvB;aACF,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;YAC3D,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;YAExD,KAAK,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,EAAE;gBAChE,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;gBAE9E,IAAI,MAAA,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,0CAAE,QAAQ,EAAE;oBAC7B,MAAM,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;oBAC7B,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;oBAC7D,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;oBACpD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC,CAAC;iBACxD;aACF;SACF;KACF;IAED,sBAAsB,CAAC,KAAK;QAC1B,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACxC,IAAI,CAAC,iBAAiB,GAAG,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC;KACtD;IAED,kBAAkB;;QAChB,IAAI,MAAA,IAAI,CAAC,iBAAiB,0CAAE,MAAM,EAAE;YAClC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAChD,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;YAChD,MAAM,aAAa,GAAG,IAAI,CAAC,0BAA0B,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;YAC1F,aAAa,CAAC,SAAS,GAAG,SAAS,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,cAAc,KAAK,SAAS,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC;YACxG,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;KACF;IAED,kBAAkB,CAAC,CAAC;QAClB,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC;QACrB,IAAI,GAAG,KAAK,IAAI,CAAC,kBAAkB,EAAE;YACnC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC;SAC3B;KACF;IAED,cAAc;QACZ,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;YACvB,EAAE,EAAE,IAAI,CAAC,gBAAgB,CAAC,EAAE;YAC5B,OAAO,EAAE,IAAI,CAAC,YAAY;YAC1B,aAAa,EAAE,IAAI,CAAC,gBAAgB;YACpC,cAAc,EAAE,IAAI,CAAC,iBAAiB;YACtC,KAAK,EAAE,IAAI,CAAC,eAAe;YAC3B,KAAK,EAAE,IAAI,CAAC,SAAS;YACrB,SAAS,EAAE;gBACT,IAAI,EAAE,IAAI,CAAC,OAAO;gBAClB,SAAS,EAAE,IAAI,CAAC,aAAa;gBAC7B,OAAO,EAAE,IAAI,CAAC,YAAY;aAC3B;SACF,CAAC,CAAC;KACJ;IAED,SAAS;QACP,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;KACpD;IAED,SAAS,CAAC,MAAe;QACvB,OAAO,MAAM,GAAG,mCAAmC,GAAG,4BAA4B,CAAC;KACpF;IAED,MAAM;;QACJ,QACE,EAAC,IAAI,uDACH,4DAAK,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,8BAA8B,GAAG,EAAiB,CAAC,EAAE,KAAK,EAAC,iCAAiC,IAChH,4DAAK,KAAK,EAAC,sDAAsD,IAC/D,4DAAK,KAAK,EAAC,oCAAoC,IAC7C,gEAAQ,IAAI,CAAC,KAAK,CAAS,CACvB,EAEN,4DAAK,KAAK,EAAC,oCAAoC,IAC7C,4DAAK,KAAK,EAAC,qDAAqD,IAC7D,MAAA,IAAI,CAAC,YAAY,0CAAE,GAAG,CAAC,IAAI,KAC1B,cAAQ,KAAK,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,IAC7H,IAAI,CAAC,KAAK,CACJ,CACV,CAAC,CACE,EAEN,4DAAK,KAAK,EAAC,oDAAoD,IAC5D,IAAI,CAAC,KAAK,GAAG,CAAC,IACb,iBAAW,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,iBAAiB,GAAG,EAAiB,CAAC,EAAE,KAAK,EAAC,MAAM,EAAC,IAAI,EAAE,KAAK,EAAE,UAAU,EAAC,SAAS,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,aAExH,IACV,IAAI,CACJ,CACF,EAEN,4DAAK,KAAK,EAAC,mCAAmC,IAC5C,kEACE,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,eAAe,GAAG,EAAiB,CAAC,EACrD,KAAK,EAAC,2CAA2C,EACjD,WAAW,EAAE,IAAI,CAAC,wBAAwB,EAC1C,KAAK,EAAE,IAAI,CAAC,kBAAkB,IAE7B,MAAA,IAAI,CAAC,gBAAgB,0CAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,MAClC,iBAAW,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,GAAc,CACpK,CAAC,CACQ,EAEZ,kEACE,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,gBAAgB,GAAG,EAAiB,CAAC,EACtD,KAAK,EAAC,2CAA2C,EACjD,WAAW,EAAE,IAAI,CAAC,yBAAyB,EAC3C,KAAK,EAAE,IAAI,CAAC,mBAAmB,IAE9B,MAAA,IAAI,CAAC,iBAAiB,0CAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,MACnC,iBAAW,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,GAAc,CACrK,CAAC,CACQ,EAEZ,2EACE,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,YAAY,GAAG,EAAiB,CAAC,EAClD,IAAI,EAAC,QAAQ,EACb,WAAW,EAAC,GAAG,EACf,KAAK,EAAE,IAAI,CAAC,cAAc,EAC1B,KAAK,EAAE,IAAI,CAAC,eAAe,EAC3B,GAAG,EAAC,GAAG,GACa,EAErB,IAAI,CAAC,kBAAkB,IACtB,iBAAW,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,0BAA0B,GAAG,EAAiB,CAAC,EAAE,KAAK,EAAC,wCAAwC,EAAC,KAAK,EAAC,MAAM,EAAC,UAAU,EAAC,OAAO,IACxJ,IAAI,CAAC,cAAc,CACV,KAEZ,WAAK,KAAK,EAAC,oCAAoC,IAC7C,WAAK,KAAK,EAAC,qCAAqC,IAC9C,iBAAQ,IAAI,CAAC,cAAc,CAAS,CAChC,EACN,sBACE,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,kBAAkB,GAAG,EAAiB,CAAC,EACxD,KAAK,EAAC,OAAO,sBACK,IAAI,cACZ,IAAI,CAAC,oBAAoB,EACnC,QAAQ,EAAE,IAAI,CAAC,YAAY,EAC3B,WAAW,EAAE,IAAI,CAAC,eAAe,EACjC,KAAK,EAAC,iCAAiC,EACvC,KAAK,EAAE,CAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,MAAM,IAAG,IAAI,CAAC,SAAS,GAAG,IAAI,GACrC,CACd,CACP,CACG,EAEL,IAAI,CAAC,kBAAkB,IACtB,WAAK,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,oBAAoB,GAAG,EAAiB,CAAC,EAAE,KAAK,EAAC,oCAAoC,EAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,IACnI,IAAI,CAAC,mBAAmB,IACvB,WAAK,KAAK,EAAC,yBAAyB,IAClC,aAAI,IAAI,CAAC,mBAAmB,CAAK,CAC7B,IACJ,IAAI,EAER,WAAK,KAAK,EAAC,oCAAoC,IAC7C,WAAK,KAAK,EAAC,oCAAoC,IAC7C,WAAK,KAAK,EAAC,qCAAqC,IAC9C,iBAAQ,IAAI,CAAC,cAAc,CAAS,CAChC,EAEN,sBACE,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,WAAW,GAAG,EAAiB,CAAC,EACjD,KAAK,EAAC,OAAO,sBACK,IAAI,EACtB,KAAK,EAAC,iCAAiC,cAC7B,IAAI,CAAC,oBAAoB,cACzB,IAAI,CAAC,mBAAmB,EAClC,QAAQ,EAAE,IAAI,CAAC,YAAY,EAC3B,WAAW,EAAE,IAAI,CAAC,eAAe,EACjC,KAAK,EAAE,CAAA,MAAA,IAAI,CAAC,aAAa,0CAAE,MAAM,IAAG,IAAI,CAAC,aAAa,GAAG,IAAI,GAC7C,CACd,EAEN,WAAK,KAAK,EAAC,oCAAoC,IAC7C,WAAK,KAAK,EAAC,qCAAqC,IAC9C,iBAAQ,IAAI,CAAC,YAAY,CAAS,CAC9B,EACN,sBACE,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,SAAS,GAAG,EAAiB,CAAC,EAC/C,KAAK,EAAC,OAAO,sBACK,IAAI,EACtB,KAAK,EAAC,iCAAiC,cAC7B,IAAI,CAAC,oBAAoB,cACzB,IAAI,CAAC,mBAAmB,EAClC,QAAQ,EAAE,IAAI,CAAC,YAAY,EAC3B,WAAW,EAAE,IAAI,CAAC,eAAe,EACjC,KAAK,EAAE,CAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,MAAM,IAAG,IAAI,CAAC,YAAY,GAAG,IAAI,GAC3C,CACd,CACF,EACN,WAAK,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,SAAS,GAAG,EAAiB,CAAC,EAAE,KAAK,EAAC,oCAAoC,IAC7F,MAAA,IAAI,CAAC,OAAO,0CAAE,GAAG,CAAC,CAAC,GAAe,MACjC,WAAK,KAAK,EAAC,8BAA8B,IACvC,0BAAoB,UAAU,EAAE,MAAM,GAAG,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,GAAG,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,QAAQ,GAAuB,EAC1I,aAAO,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC,KAAK,IAAG,GAAG,CAAC,KAAK,CAAS,CACnD,CACP,CAAC,CACE,EAEN,WAAK,KAAK,EAAC,yBAAyB,IAClC,iBAAW,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,qBAAqB,GAAG,EAAiB,CAAC,EAAE,KAAK,EAAC,MAAM,IACjF,IAAI,CAAC,uBAAuB,CACnB,CACR,EAEN,WAAK,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,oBAAoB,GAAG,EAAiB,CAAC,EAAE,KAAK,EAAC,+BAA+B,IACnG,MAAA,IAAI,CAAC,iBAAiB;eAAE,GAAG,CAAC,CAAC,IAAY,EAAE,CAAC,MAC3C,WAAK,KAAK,EAAC,4CAA4C,IACrD,aAAI,IAAI,CAAK,EACb,iBAAW,KAAK,EAAE,CAAC,EAAE,KAAK,EAAC,MAAM,EAAC,IAAI,EAAE,KAAK,EAAE,UAAU,EAAC,SAAS,EAAC,EAAE,EAAE,cAAc,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAC3I,IAAI,CACK,CACR,CACP,CAAC,EAED,EAAC,MAAA,IAAI,CAAC,iBAAiB,0CAAE,MAAM,CAAA,GAAG,aAAI,IAAI,CAAC,WAAW,CAAK,GAAG,IAAI,CAC/D,EAEN,WAAK,KAAK,EAAC,yBAAyB,IAClC,iBAAW,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,0BAA0B,GAAG,EAAiB,CAAC,EAAE,KAAK,EAAC,kCAAkC,EAAC,KAAK,EAAC,MAAM,IAC/H,IAAI,CAAC,kBAAkB,CACd,CACR,CACF,IACJ,IAAI,CACJ,CACF,CACD,EACP;KACH;;;;;;;;;;","names":["uuidv4"],"sources":["src/components/input/pn-multi-row-connected-dropdown/pn-multi-row-connected-dropdown-row.scss?tag=pn-multi-row-connected-dropdown-row","src/components/input/pn-multi-row-connected-dropdown/pn-multi-row-connected-dropdown-row.tsx"],"sourcesContent":["@import '../../../globals/main.scss';\n\npn-multi-row-connected-dropdown-row {\n gap: 1rem;\n\n .connected-dropdown-parent-element {\n margin-bottom: 0.5rem;\n }\n\n pn-select {\n width: 35%;\n }\n\n pn-marketweb-input {\n width: 10%;\n\n input {\n height: 4.3rem;\n }\n }\n\n .connected-dropdown {\n padding: 1rem;\n border-left: 0.2rem solid $blue700;\n\n &:hover {\n background-color: $gray25;\n }\n\n &__toggle-date-button {\n width: 20%;\n margin-bottom: 0.5rem;\n }\n\n &__row {\n display: flex;\n align-items: flex-end;\n gap: 1rem;\n margin-bottom: 1rem;\n justify-content: space-between;\n\n &__no-margin {\n margin: 0;\n }\n }\n\n &__multi-date-row {\n display: flex;\n align-items: center;\n gap: 1rem;\n margin-bottom: 1rem;\n }\n\n &__button-container {\n display: flex;\n align-items: flex-end;\n gap: 1rem;\n }\n\n &__button {\n background-color: #ffffff;\n border: solid;\n border-width: 0.1rem;\n border-radius: 0.8rem;\n border-color: $blue700;\n padding: 0.4rem 0.8rem;\n color: $blue700;\n font-size: 1.4rem;\n text-align: center;\n text-decoration: none;\n cursor: pointer;\n\n &:hover,\n &.active {\n background-color: $blue900;\n border-color: $blue900;\n color: #ffffff;\n }\n }\n\n &__buttom-container-right {\n display: flex;\n }\n\n &__button-right {\n margin-left: auto;\n }\n\n &__label-container {\n margin-bottom: 0.4rem;\n color: $gray700;\n font-size: 0.875em;\n justify-content: space-between;\n align-items: flex-end;\n }\n\n &__checkbox {\n display: flex;\n gap: 0.5rem;\n }\n\n &__date-slot {\n border: 0.1rem solid $blue700;\n margin-bottom: 1rem;\n padding: 1rem;\n }\n }\n\n .generated-date-row {\n border-bottom: 0.1rem solid $blue700;\n }\n}\n","import { Component, Prop, h, Element, Host, State, Watch, Event, EventEmitter } from '@stencil/core';\nimport { Root, SelectItem, PredefinedValues } from './types';\nimport debounce from 'debounce';\nimport { v4 as uuidv4 } from 'uuid';\nimport { minus } from 'pn-design-assets/pn-assets/icons.js';\n\n@Component({\n tag: 'pn-multi-row-connected-dropdown-row',\n styleUrl: 'pn-multi-row-connected-dropdown-row.scss',\n})\nexport class PnMultiRowConnectedDropdownRow {\n @Element() hostElement: Element;\n private _dropdownData: Root[];\n private _predefinedValue: PredefinedValues;\n pnConnectedDropdown: HTMLElement = null;\n pnConnectedDropdownSlotElement: HTMLElement = null;\n pnAddFieldButton: HTMLElement = null;\n pnFirstDropdown: HTMLElement = null;\n pnSecondDropdown: HTMLElement = null;\n pnInputField: HTMLElement = null;\n pnSingleDatePicker: HTMLElement = null;\n pnStartDate: HTMLElement = null;\n pnEndDate: HTMLElement = null;\n pnShowDateRangeFiledButton: HTMLElement = null;\n pnDateRangeContainer: HTMLElement = null;\n pnGenerateDatesButton: HTMLElement = null;\n pnDaysRow: HTMLElement = null;\n pnGeneratedDatesSlot: HTMLElement = null;\n pnSaveGeneratedDatesButton: HTMLElement = null;\n pnDeleteRowButton: HTMLElement = null;\n\n @Prop() dropdownData: string | Root[] = null;\n @Prop() languageCode: string = null;\n @Prop() label: string = null;\n @Prop() firstDropdownLabel: string = null;\n @Prop() secondDropdownLabel: string = null;\n @Prop() dropdownPlaceholder: string = null;\n @Prop() addRowText: string = null;\n @Prop() inputFildLabel: string = null;\n @Prop() inputFildPlaceholder: string = null;\n @Prop() dateButtonText: string = null;\n @Prop() datePlaceholder: string = null;\n @Prop() dateDaysFromToday: number = 1;\n @Prop() allowMultipleDates: boolean = null;\n @Prop() startDateLabel: string = null;\n @Prop() endDateLabel: string = null;\n @Prop() multiDateHelperText: string = null;\n @Prop() generateDatesButtonText: string = null;\n @Prop() saveDateButtonText: string = null;\n @Prop() noDatesText: string = null;\n @Prop() index: number = null;\n @Prop() predefinedValue: string = null;\n @Prop() yearsToAddToEndDate: number = null;\n\n @State() buttonsArray: SelectItem[] = null;\n @State() firstDropdownArr: SelectItem[] = null;\n @State() secondDropdownArr: SelectItem[] = [];\n @State() firstDropdownClass: string = null;\n @State() secondDropdownClass: string = null;\n @State() firstValidDateString: string = '';\n @State() lastValidDateString: string = '';\n @State() firstDropdownPlaceholder: string = '-';\n @State() secondDropdownPlaceholder: string = '-';\n @State() starDateValue: string = '';\n @State() endDateValue: string = '';\n @State() generatedDatesArr: string[] = [];\n @State() selectedButtonValue: string = '';\n @State() inputFieldValue: string = '';\n @State() dateValue: string = '';\n @State() daysArr: SelectItem[] = null;\n\n @Event() rowValueChange: EventEmitter<PredefinedValues>;\n @Event() deleteRowEvent: EventEmitter<string>;\n\n componentWillLoad() {\n this.getPredefinedValues();\n this.setDropDownData();\n this.setFirstValidDate();\n }\n\n componentDidLoad() {\n this.setInitialValues();\n this.addEventHandlers();\n this.emittRowValues();\n }\n\n setDropDownData() {\n if (typeof this.dropdownData === 'string') {\n this._dropdownData = JSON.parse(this.dropdownData);\n } else {\n this._dropdownData = this.dropdownData;\n }\n }\n\n getPredefinedValues() {\n this._predefinedValue = JSON.parse(this.predefinedValue);\n }\n\n @Watch('predefinedValue')\n applyPredefinedValue() {\n this.getPredefinedValues();\n this.setInitialValues();\n }\n\n setInitialValues() {\n this.setButtonsValue();\n this.setFirstDropdownValues();\n this.setSecondDropdownValues();\n this.setInputField();\n this.setDateValue();\n this.setDateRangeDefaults();\n\n this.firstDropdownClass = this.firstDropdownLabel.replace(' ', '_') + '-dropdown';\n this.secondDropdownClass = this.secondDropdownLabel.replace(' ', '_') + '-dropdown';\n }\n\n setButtonsValue() {\n this.buttonsArray = [];\n\n if (this._predefinedValue.buttons?.length) {\n this.buttonsArray = this._predefinedValue.buttons;\n\n this.buttonsArray.forEach(item => {\n if (item.selected) {\n this.selectedButtonValue = item.value;\n }\n });\n } else {\n this._dropdownData.forEach(item => {\n const button: SelectItem = { selected: false, value: item.label, label: item.label };\n this.buttonsArray.push(button);\n });\n }\n }\n\n setFirstDropdownValues() {\n this.firstDropdownArr = [];\n\n if (this._predefinedValue.firstDropdown?.length) {\n this.firstDropdownArr = [...this._predefinedValue.firstDropdown];\n }\n }\n\n setSecondDropdownValues() {\n this.secondDropdownArr = [];\n\n if (this._predefinedValue.secondDropdown?.length) {\n this.secondDropdownArr = [...this._predefinedValue.secondDropdown];\n }\n }\n\n setInputField() {\n this.inputFieldValue = this._predefinedValue.input?.length ? this._predefinedValue.input : '';\n }\n\n setDateValue() {\n if (this.allowMultipleDates) {\n this.pnDateRangeContainer.style.display = this._predefinedValue.dates?.length ? '' : 'none';\n this.generatedDatesArr = this._predefinedValue.dates?.length ? this._predefinedValue.dates.split(',') : [];\n this.saveGeneratedDates();\n } else {\n this.dateValue = this._predefinedValue.dates?.length ? this._predefinedValue.dates : '';\n }\n }\n\n setDateRangeDefaults() {\n this.daysArr = this._predefinedValue.dateRange.days;\n this.starDateValue = this._predefinedValue.dateRange.startDate?.length ? this._predefinedValue.dateRange.startDate : '';\n this.endDateValue = this._predefinedValue.dateRange.endDate?.length ? this._predefinedValue.dateRange.endDate : '';\n }\n\n setFirstValidDate() {\n const yearsToadd = this.yearsToAddToEndDate ? this.yearsToAddToEndDate : 2;\n const date = new Date();\n date.setDate(date.getDate() + this.dateDaysFromToday ?? 0);\n\n const year = date.getFullYear();\n const month = (date.getMonth() + 1).toString().padStart(2, '0');\n const day = date.getDate().toString().padStart(2, '0');\n const endYear = year + yearsToadd;\n\n this.firstValidDateString = `${year.toString()}-${month}-${day}`;\n this.lastValidDateString = `${endYear.toString()}-${month}-${day}`;\n }\n\n addEventHandlers() {\n const emmitValues = debounce(this.emittRowValues.bind(this), 500);\n\n this.pnInputField.addEventListener('keyup', this.handleInput.bind(this));\n this.pnInputField.addEventListener('change', this.handleInput.bind(this));\n this.pnInputField.addEventListener('input', this.handleInput.bind(this));\n this.pnInputField.addEventListener('keyup', emmitValues);\n this.pnInputField.addEventListener('change', emmitValues);\n this.pnInputField.addEventListener('input', emmitValues);\n\n if (this.allowMultipleDates) {\n this.pnShowDateRangeFiledButton.addEventListener('click', this.showDateRangeRow.bind(this));\n this.pnStartDate.addEventListener('dateselection', this.HandleRangeDatePickers.bind(this));\n this.pnEndDate.addEventListener('dateselection', this.HandleRangeDatePickers.bind(this));\n this.pnGenerateDatesButton.addEventListener('click', this.generateDates.bind(this));\n this.pnSaveGeneratedDatesButton.addEventListener('click', this.saveGeneratedDates.bind(this));\n this.pnSaveGeneratedDatesButton.addEventListener('click', emmitValues);\n } else {\n this.pnSingleDatePicker.addEventListener('dateselection', this.setSingleDateValue.bind(this));\n this.pnSingleDatePicker.addEventListener('dateselection', emmitValues);\n }\n\n if (this.index > 0) {\n this.pnDeleteRowButton.addEventListener('click', this.deleteRow.bind(this));\n }\n }\n\n generateUniqueId() {\n return uuidv4();\n }\n\n updateSelectItemArr(arr: SelectItem[], val: string) {\n arr.forEach(item => {\n if (item.value === val) {\n item.selected = !item.selected;\n } else {\n item.selected = false;\n }\n });\n return arr;\n }\n\n handleOptionButtonClick(e) {\n e.preventDefault();\n const elmValue = e.target.innerHTML;\n\n this.buttonsArray = [...this.updateSelectItemArr(this.buttonsArray, elmValue)];\n this.selectedButtonValue = this.buttonsArray.filter(e => e.selected === true).length > 0 ? elmValue : '';\n\n if (this.selectedButtonValue?.length) {\n this.firstDropdownArr = [];\n const selectionChildren = this._dropdownData.find(arr => arr.label === elmValue);\n selectionChildren.values.forEach(item => {\n this.firstDropdownArr.push({ selected: false, value: item.label, label: item.label });\n });\n\n this.firstDropdownArr = [...this.firstDropdownArr];\n this.firstDropdownPlaceholder = this.dropdownPlaceholder;\n const firstDropdownText = this.pnFirstDropdown.querySelector('.pn-select-content span');\n firstDropdownText.innerHTML = this.dropdownPlaceholder;\n\n this.secondDropdownArr = [];\n this.secondDropdownPlaceholder = '-';\n const secondDropdownText = this.pnSecondDropdown.querySelector('.pn-select-content span');\n secondDropdownText.innerHTML = this.secondDropdownPlaceholder;\n } else {\n this.firstDropdownArr = [];\n this.firstDropdownPlaceholder = '-';\n const firstDropdownText = this.pnFirstDropdown.querySelector('.pn-select-content span');\n firstDropdownText.innerHTML = this.firstDropdownPlaceholder;\n\n this.secondDropdownArr = [];\n this.secondDropdownPlaceholder = '-';\n const secondDropdownText = this.pnSecondDropdown.querySelector('.pn-select-content span');\n secondDropdownText.innerHTML = this.secondDropdownPlaceholder;\n }\n\n this.emittRowValues();\n }\n\n handleFirstDropdownChange() {\n const selected = this.pnFirstDropdown.querySelector(\"[aria-selected=true]\");\n const selectedValue = selected?.textContent;\n this.firstDropdownArr = [...this.updateSelectItemArr(this.firstDropdownArr, selectedValue)];\n const firstDropdownText = this.pnFirstDropdown.querySelector('.pn-select-content span');\n firstDropdownText.innerHTML = selectedValue;\n\n this.secondDropdownArr = [];\n const selectedButton = this.buttonsArray.findIndex(item => item.selected === true);\n const firstChildren = this._dropdownData.find(arr => arr.label === this.buttonsArray[selectedButton].value);\n const secondChildren = firstChildren.values.find(arr => arr.label === selectedValue);\n secondChildren.values.forEach(item => {\n this.secondDropdownArr.push({ selected: false, value: item.label, label: item.label });\n });\n\n this.secondDropdownPlaceholder = this.dropdownPlaceholder;\n const secondDropdownText = this.pnSecondDropdown.querySelector('.pn-select-content span');\n secondDropdownText.innerHTML = this.secondDropdownPlaceholder;\n this.emittRowValues();\n }\n\n handleSecondDropdownChange() {\n const selected = this.pnSecondDropdown.querySelector(\"[aria-selected=true]\");\n const selectedValue = selected?.textContent;\n this.secondDropdownArr = [...this.updateSelectItemArr(this.secondDropdownArr, selectedValue)];\n const secondDropdownText = this.pnSecondDropdown.querySelector('.pn-select-content span');\n secondDropdownText.innerHTML = selectedValue;\n this.emittRowValues();\n }\n\n handleInput(e) {\n const elm = e.target;\n if (elm.value !== '0') {\n this.inputFieldValue = elm.value;\n }\n }\n\n showDateRangeRow() {\n if (this.pnDateRangeContainer.style.display === 'none') {\n this.pnDateRangeContainer.style.display = '';\n } else {\n this.pnDateRangeContainer.style.display = 'none';\n }\n }\n\n HandleRangeDatePickers(e) {\n const elm = e.target;\n\n if (elm === this.pnStartDate) {\n this.starDateValue = e.detail;\n }\n\n if (elm === this.pnEndDate) {\n this.endDateValue = e.detail;\n }\n }\n\n generateDates(e) {\n e.preventDefault();\n const allCheckboxes = this.pnDaysRow.querySelectorAll('pn-filter-checkbox');\n const selectedDays: string[] = [];\n this.generatedDatesArr = [];\n allCheckboxes.forEach(element => {\n const input = element.querySelector('input');\n if (input.value) {\n selectedDays.push(input.value);\n }\n });\n\n if (selectedDays.length && this.starDateValue && this.endDateValue) {\n this.daysArr.forEach(item => {\n if (selectedDays.some(x => x === item.value)) {\n item.selected = true;\n } else {\n item.selected = false;\n }\n });\n\n const startDate = new Date(Date.parse(this.starDateValue));\n const endDate = new Date(Date.parse(this.endDateValue));\n\n for (var d = startDate; d <= endDate; d.setDate(d.getDate() + 1)) {\n const i = this.daysArr.findIndex(item => parseInt(item.value) === d.getDay());\n\n if (this.daysArr[i]?.selected) {\n const year = d.getFullYear();\n const month = (d.getMonth() + 1).toString().padStart(2, '0');\n const day = d.getDate().toString().padStart(2, '0');\n this.generatedDatesArr.push(`${year}-${month}-${day}`);\n }\n }\n }\n }\n\n deleteGeneratedDateRow(index) {\n this.generatedDatesArr.splice(index, 1);\n this.generatedDatesArr = [...this.generatedDatesArr];\n }\n\n saveGeneratedDates() {\n if (this.generatedDatesArr?.length) {\n this.dateValue = String(this.generatedDatesArr);\n const dateCount = this.generatedDatesArr.length;\n const buttonTextElm = this.pnShowDateRangeFiledButton.querySelector('.pn-button-content');\n buttonTextElm.innerHTML = dateCount > 0 ? `${this.dateButtonText} (${dateCount})` : this.dateButtonText;\n this.showDateRangeRow();\n }\n }\n\n setSingleDateValue(e) {\n const elm = e.target;\n if (elm === this.pnSingleDatePicker) {\n this.dateValue = e.detail;\n }\n }\n\n emittRowValues() {\n this.rowValueChange.emit({\n id: this._predefinedValue.id,\n buttons: this.buttonsArray,\n firstDropdown: this.firstDropdownArr,\n secondDropdown: this.secondDropdownArr,\n input: this.inputFieldValue,\n dates: this.dateValue,\n dateRange: {\n days: this.daysArr,\n startDate: this.starDateValue,\n endDate: this.endDateValue,\n },\n });\n }\n\n deleteRow() {\n this.deleteRowEvent.emit(this._predefinedValue.id);\n }\n\n setActive(active: boolean) {\n return active ? 'connected-dropdown__button active' : 'connected-dropdown__button';\n }\n\n render() {\n return (\n <Host>\n <div ref={el => (this.pnConnectedDropdownSlotElement = el as HTMLElement)} class=\"connected-dropdown-slot-element\">\n <div class=\"connected-dropdown-parent-element connected-dropdown\">\n <div class=\"connected-dropdown__row__no-margin\">\n <label>{this.label}</label>\n </div>\n\n <div class=\"connected-dropdown__row button-row\">\n <div class=\"connected-dropdown__button-container option-buttons\">\n {this.buttonsArray?.map(item => (\n <button class={`${this.setActive(item.selected)}`} id={this.generateUniqueId()} onClick={this.handleOptionButtonClick.bind(this)}>\n {item.value}\n </button>\n ))}\n </div>\n\n <div class=\"connected-dropdown__button-container delete-button\">\n {this.index > 0 ? (\n <pn-button ref={el => (this.pnDeleteRowButton = el as HTMLElement)} small=\"true\" icon={minus} appearance=\"warning\" index={this.index}>\n Delete\n </pn-button>\n ) : null}\n </div>\n </div>\n\n <div class=\"connected-dropdown__row input-row\">\n <pn-select\n ref={el => (this.pnFirstDropdown = el as HTMLElement)}\n class=\"pn-row-select-dropdown dropDown1-dropdown\"\n placeholder={this.firstDropdownPlaceholder}\n label={this.firstDropdownLabel}\n >\n {this.firstDropdownArr?.map((item, i) => (\n <pn-option index={i} label={item.label} value={item.value} selected={item.selected} onClick={debounce(this.handleFirstDropdownChange.bind(this), 500)}></pn-option>\n ))}\n </pn-select>\n\n <pn-select\n ref={el => (this.pnSecondDropdown = el as HTMLElement)}\n class=\"pn-row-select-dropdown dropDown2-dropdown\"\n placeholder={this.secondDropdownPlaceholder}\n label={this.secondDropdownLabel}\n >\n {this.secondDropdownArr?.map((item, i) => (\n <pn-option index={i} label={item.label} value={item.value} selected={item.selected} onClick={debounce(this.handleSecondDropdownChange.bind(this), 500)}></pn-option>\n ))}\n </pn-select>\n\n <pn-marketweb-input\n ref={el => (this.pnInputField = el as HTMLElement)}\n type=\"number\"\n placeholder=\"0\"\n label={this.inputFildLabel}\n value={this.inputFieldValue}\n min=\"1\"\n ></pn-marketweb-input>\n\n {this.allowMultipleDates ? (\n <pn-button ref={el => (this.pnShowDateRangeFiledButton = el as HTMLElement)} class=\"connected-dropdown__toggle-date-button\" small=\"true\" appearance=\"light\">\n {this.dateButtonText}\n </pn-button>\n ) : (\n <div class=\"connected-dropdown__date-container\">\n <div class=\"connected-dropdown__label-container\">\n <label>{this.dateButtonText}</label>\n </div>\n <pn-date-picker\n ref={el => (this.pnSingleDatePicker = el as HTMLElement)}\n range=\"false\"\n disable-weekends={true}\n min-date={this.firstValidDateString}\n language={this.languageCode}\n placeholder={this.datePlaceholder}\n class=\"connected-dropdown__date-picker\"\n start={this.dateValue?.length ? this.dateValue : null}\n ></pn-date-picker>\n </div>\n )}\n </div>\n\n {this.allowMultipleDates ? (\n <div ref={el => (this.pnDateRangeContainer = el as HTMLElement)} class=\"connected-dropdown__date-container\" style={{ display: 'none' }}>\n {this.multiDateHelperText ? (\n <div class=\"connected-dropdown__row\">\n <p>{this.multiDateHelperText}</p>\n </div>\n ) : null}\n\n <div class=\"connected-dropdown__multi-date-row\">\n <div class=\"connected-dropdown__date-container\">\n <div class=\"connected-dropdown__label-container\">\n <label>{this.startDateLabel}</label>\n </div>\n\n <pn-date-picker\n ref={el => (this.pnStartDate = el as HTMLElement)}\n range=\"false\"\n disable-weekends={true}\n class=\"connected-dropdown__date-picker\"\n min-date={this.firstValidDateString}\n max-date={this.lastValidDateString}\n language={this.languageCode}\n placeholder={this.datePlaceholder}\n start={this.starDateValue?.length ? this.starDateValue : null}\n ></pn-date-picker>\n </div>\n\n <div class=\"connected-dropdown__date-container\">\n <div class=\"connected-dropdown__label-container\">\n <label>{this.endDateLabel}</label>\n </div>\n <pn-date-picker\n ref={el => (this.pnEndDate = el as HTMLElement)}\n range=\"false\"\n disable-weekends={true}\n class=\"connected-dropdown__date-picker\"\n min-date={this.firstValidDateString}\n max-date={this.lastValidDateString}\n language={this.languageCode}\n placeholder={this.datePlaceholder}\n start={this.endDateValue?.length ? this.endDateValue : null}\n ></pn-date-picker>\n </div>\n </div>\n <div ref={el => (this.pnDaysRow = el as HTMLElement)} class=\"connected-dropdown__multi-date-row\">\n {this.daysArr?.map((day: SelectItem) => (\n <div class=\"connected-dropdown__checkbox\">\n <pn-filter-checkbox checkboxid={'day-' + day.value} name={'__' + day.label} value={day.value} checked={day.selected}></pn-filter-checkbox>\n <label htmlFor={'day-' + day.value}>{day.label}</label>\n </div>\n ))}\n </div>\n\n <div class=\"connected-dropdown__row\">\n <pn-button ref={el => (this.pnGenerateDatesButton = el as HTMLElement)} small=\"true\">\n {this.generateDatesButtonText}\n </pn-button>\n </div>\n\n <div ref={el => (this.pnGeneratedDatesSlot = el as HTMLElement)} class=\"connected-dropdown__date-slot\">\n {this.generatedDatesArr?.map((date: string, i) => (\n <div class=\"connected-dropdown__row generated-date-row\">\n <p>{date}</p>\n <pn-button index={i} small=\"true\" icon={minus} appearance=\"warning\" id={'delete-date-' + i} onClick={this.deleteGeneratedDateRow.bind(this, i)}>\n {date}\n </pn-button>\n </div>\n ))}\n\n {!this.generatedDatesArr?.length ? <p>{this.noDatesText}</p> : null}\n </div>\n\n <div class=\"connected-dropdown__row\">\n <pn-button ref={el => (this.pnSaveGeneratedDatesButton = el as HTMLElement)} class=\"connected-dropdown__button-right\" small=\"true\">\n {this.saveDateButtonText}\n </pn-button>\n </div>\n </div>\n ) : null}\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"pn-multi-row-connected-dropdown-row.entry.js","mappings":";;;;;AAAA,MAAM,iCAAiC,GAAG,0xEAA0xE,CAAC;AACr0E,6CAAe,iCAAiC;;MCSnC,8BAA8B;;;;;QAIzC,wBAAmB,GAAgB,IAAI,CAAC;QACxC,mCAA8B,GAAgB,IAAI,CAAC;QACnD,qBAAgB,GAAgB,IAAI,CAAC;QACrC,oBAAe,GAAgB,IAAI,CAAC;QACpC,qBAAgB,GAAgB,IAAI,CAAC;QACrC,iBAAY,GAAgB,IAAI,CAAC;QACjC,uBAAkB,GAAgB,IAAI,CAAC;QACvC,gBAAW,GAAgB,IAAI,CAAC;QAChC,cAAS,GAAgB,IAAI,CAAC;QAC9B,+BAA0B,GAAgB,IAAI,CAAC;QAC/C,yBAAoB,GAAgB,IAAI,CAAC;QACzC,0BAAqB,GAAgB,IAAI,CAAC;QAC1C,cAAS,GAAgB,IAAI,CAAC;QAC9B,yBAAoB,GAAgB,IAAI,CAAC;QACzC,+BAA0B,GAAgB,IAAI,CAAC;QAC/C,sBAAiB,GAAgB,IAAI,CAAC;4BAEE,IAAI;4BACb,IAAI;qBACX,IAAI;kCACS,IAAI;mCACH,IAAI;mCACJ,IAAI;0BACb,IAAI;8BACA,IAAI;oCACE,IAAI;8BACV,IAAI;+BACH,IAAI;iCACF,CAAC;kCACC,IAAI;8BACT,IAAI;4BACN,IAAI;mCACG,IAAI;uCACA,IAAI;kCACT,IAAI;2BACX,IAAI;qBACV,IAAI;+BACM,IAAI;mCACA,IAAI;4BAEJ,IAAI;gCACA,IAAI;iCACH,EAAE;kCACP,IAAI;mCACH,IAAI;oCACH,EAAE;mCACH,EAAE;wCACG,GAAG;yCACF,GAAG;6BACf,EAAE;4BACH,EAAE;iCACK,EAAE;mCACF,EAAE;+BACN,EAAE;yBACR,EAAE;uBACE,IAAI;;IAKrC,iBAAiB;QACf,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,iBAAiB,EAAE,CAAC;KAC1B;IAED,gBAAgB;QACd,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,cAAc,EAAE,CAAC;KACvB;IAED,eAAe;QACb,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ,EAAE;YACzC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SACpD;aAAM;YACL,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC;SACxC;KACF;IAED,mBAAmB;QACjB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;KAC1D;IAGD,oBAAoB;QAClB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,gBAAgB,EAAE,CAAC;KACzB;IAED,gBAAgB;QACd,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC/B,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAE5B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,WAAW,CAAC;QAClF,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,WAAW,CAAC;KACrF;IAED,eAAe;;QACb,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QAEvB,IAAI,MAAA,IAAI,CAAC,gBAAgB,CAAC,OAAO,0CAAE,MAAM,EAAE;YACzC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;YAElD,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI;gBAC5B,IAAI,IAAI,CAAC,QAAQ,EAAE;oBACjB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC;iBACvC;aACF,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI;gBAC7B,MAAM,MAAM,GAAe,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;gBACrF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aAChC,CAAC,CAAC;SACJ;KACF;IAED,sBAAsB;;QACpB,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAE3B,IAAI,MAAA,IAAI,CAAC,gBAAgB,CAAC,aAAa,0CAAE,MAAM,EAAE;YAC/C,IAAI,CAAC,gBAAgB,GAAG,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;SAClE;KACF;IAED,uBAAuB;;QACrB,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAE5B,IAAI,MAAA,IAAI,CAAC,gBAAgB,CAAC,cAAc,0CAAE,MAAM,EAAE;YAChD,IAAI,CAAC,iBAAiB,GAAG,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;SACpE;KACF;IAED,aAAa;;QACX,IAAI,CAAC,eAAe,GAAG,CAAA,MAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,0CAAE,MAAM,IAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,GAAG,EAAE,CAAC;KAC/F;IAED,YAAY;;QACV,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC3B,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,OAAO,GAAG,CAAA,MAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,0CAAE,MAAM,IAAG,EAAE,GAAG,MAAM,CAAC;YACrG,IAAI,CAAC,iBAAiB,GAAG,CAAA,MAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,0CAAE,MAAM,IAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;YAC7H,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC3B;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,CAAA,MAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,0CAAE,MAAM,IAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;SAC3G;KACF;IAED,oBAAoB;;QAClB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC;QACpD,IAAI,CAAC,aAAa,GAAG,CAAA,MAAA,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,SAAS,0CAAE,MAAM,IAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,SAAS,GAAG,EAAE,CAAC;QACxH,IAAI,CAAC,YAAY,GAAG,CAAA,MAAA,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,OAAO,0CAAE,MAAM,IAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,OAAO,GAAG,EAAE,CAAC;KACpH;IAED,iBAAiB;;QACf,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC;QAC3E,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,MAAA,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,iBAAiB,mCAAI,CAAC,CAAC,CAAC;QAE3D,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAChE,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,IAAI,GAAG,UAAU,CAAC;QAElC,IAAI,CAAC,oBAAoB,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC;QACjE,IAAI,CAAC,mBAAmB,GAAG,GAAG,OAAO,CAAC,QAAQ,EAAE,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC;KACpE;IAED,gBAAgB;QACd,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;QAElE,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACzE,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1E,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACzE,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACzD,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAC1D,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAEzD,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC3B,IAAI,CAAC,0BAA0B,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC5F,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,eAAe,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC3F,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,eAAe,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACzF,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACpF,IAAI,CAAC,0BAA0B,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC9F,IAAI,CAAC,0BAA0B,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;SACxE;aAAM;YACL,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,eAAe,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC9F,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;SACxE;QAED,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE;YAClB,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;SAC7E;KACF;IAED,gBAAgB;QACd,OAAOA,EAAM,EAAE,CAAC;KACjB;IAED,mBAAmB,CAAC,GAAiB,EAAE,GAAW;QAChD,GAAG,CAAC,OAAO,CAAC,IAAI;YACd,IAAI,IAAI,CAAC,KAAK,KAAK,GAAG,EAAE;gBACtB,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;aAChC;iBAAM;gBACL,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;aACvB;SACF,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;KACZ;IAED,uBAAuB,CAAC,CAAC;;QACvB,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;QAEpC,IAAI,CAAC,YAAY,GAAG,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC/E,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,QAAQ,GAAG,EAAE,CAAC;QAEzG,IAAI,MAAA,IAAI,CAAC,mBAAmB,0CAAE,MAAM,EAAE;YACpC,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;YAC3B,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC;YACjF,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI;gBACnC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;aACvF,CAAC,CAAC;YAEH,IAAI,CAAC,gBAAgB,GAAG,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACnD,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,mBAAmB,CAAC;YACzD,MAAM,iBAAiB,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;YACxF,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC;YAEvD,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;YAC5B,IAAI,CAAC,yBAAyB,GAAG,GAAG,CAAC;YACrC,MAAM,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;YAC1F,kBAAkB,CAAC,SAAS,GAAG,IAAI,CAAC,yBAAyB,CAAC;SAC/D;aAAM;YACL,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;YAC3B,IAAI,CAAC,wBAAwB,GAAG,GAAG,CAAC;YACpC,MAAM,iBAAiB,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;YACxF,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,wBAAwB,CAAC;YAE5D,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;YAC5B,IAAI,CAAC,yBAAyB,GAAG,GAAG,CAAC;YACrC,MAAM,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;YAC1F,kBAAkB,CAAC,SAAS,GAAG,IAAI,CAAC,yBAAyB,CAAC;SAC/D;QAED,IAAI,CAAC,cAAc,EAAE,CAAC;KACvB;IAED,yBAAyB;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC;QAC5E,MAAM,aAAa,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,WAAW,CAAC;QAC5C,IAAI,CAAC,gBAAgB,GAAG,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC,CAAC;QAC5F,MAAM,iBAAiB,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;QACtF,iBAAiB,CAAC,SAAS,GAAG,aAAa,CAAC;QAE9C,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAC5B,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC;QACnF,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,CAAC;QAC5G,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,KAAK,aAAa,CAAC,CAAC;QACrF,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI;YAChC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;SACxF,CAAC,CAAC;QAEH,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,mBAAmB,CAAC;QAC1D,MAAM,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;QAC1F,kBAAkB,CAAC,SAAS,GAAG,IAAI,CAAC,yBAAyB,CAAC;QAC9D,IAAI,CAAC,cAAc,EAAE,CAAC;KACvB;IAED,0BAA0B;QACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC;QAC7E,MAAM,aAAa,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,WAAW,CAAC;QAC5C,IAAI,CAAC,iBAAiB,GAAG,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC,CAAC;QAC9F,MAAM,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;QAC1F,kBAAkB,CAAC,SAAS,GAAG,aAAa,CAAC;QAC7C,IAAI,CAAC,cAAc,EAAE,CAAC;KACvB;IAED,WAAW,CAAC,CAAC;QACX,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC;QACrB,IAAI,GAAG,CAAC,KAAK,KAAK,GAAG,EAAE;YACrB,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC,KAAK,CAAC;SAClC;KACF;IAED,gBAAgB;QACd,IAAI,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,OAAO,KAAK,MAAM,EAAE;YACtD,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;SAC9C;aAAM;YACL,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;SAClD;KACF;IAED,sBAAsB,CAAC,CAAC;QACtB,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC;QAErB,IAAI,GAAG,KAAK,IAAI,CAAC,WAAW,EAAE;YAC5B,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;SAC/B;QAED,IAAI,GAAG,KAAK,IAAI,CAAC,SAAS,EAAE;YAC1B,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;SAC9B;KACF;IAED,aAAa,CAAC,CAAC;;QACb,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;QAC5E,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAC5B,aAAa,CAAC,OAAO,CAAC,OAAO;YAC3B,MAAM,KAAK,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAC7C,IAAI,KAAK,CAAC,KAAK,EAAE;gBACf,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aAChC;SACF,CAAC,CAAC;QAEH,IAAI,YAAY,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,YAAY,EAAE;YAClE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI;gBACvB,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,EAAE;oBAC5C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;iBACtB;qBAAM;oBACL,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;iBACvB;aACF,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;YAC3D,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;YAExD,KAAK,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,EAAE;gBAChE,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;gBAE9E,IAAI,MAAA,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,0CAAE,QAAQ,EAAE;oBAC7B,MAAM,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;oBAC7B,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;oBAC7D,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;oBACpD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC,CAAC;iBACxD;aACF;SACF;KACF;IAED,sBAAsB,CAAC,KAAK;QAC1B,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACxC,IAAI,CAAC,iBAAiB,GAAG,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC;KACtD;IAED,kBAAkB;;QAChB,IAAI,MAAA,IAAI,CAAC,iBAAiB,0CAAE,MAAM,EAAE;YAClC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAChD,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;YAChD,MAAM,aAAa,GAAG,IAAI,CAAC,0BAA0B,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;YAC1F,aAAa,CAAC,SAAS,GAAG,SAAS,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,cAAc,KAAK,SAAS,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC;YACxG,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;KACF;IAED,kBAAkB,CAAC,CAAC;QAClB,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC;QACrB,IAAI,GAAG,KAAK,IAAI,CAAC,kBAAkB,EAAE;YACnC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC;SAC3B;KACF;IAED,cAAc;QACZ,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;YACvB,EAAE,EAAE,IAAI,CAAC,gBAAgB,CAAC,EAAE;YAC5B,OAAO,EAAE,IAAI,CAAC,YAAY;YAC1B,aAAa,EAAE,IAAI,CAAC,gBAAgB;YACpC,cAAc,EAAE,IAAI,CAAC,iBAAiB;YACtC,KAAK,EAAE,IAAI,CAAC,eAAe;YAC3B,KAAK,EAAE,IAAI,CAAC,SAAS;YACrB,SAAS,EAAE;gBACT,IAAI,EAAE,IAAI,CAAC,OAAO;gBAClB,SAAS,EAAE,IAAI,CAAC,aAAa;gBAC7B,OAAO,EAAE,IAAI,CAAC,YAAY;aAC3B;SACF,CAAC,CAAC;KACJ;IAED,SAAS;QACP,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;KACpD;IAED,SAAS,CAAC,MAAe;QACvB,OAAO,MAAM,GAAG,mCAAmC,GAAG,4BAA4B,CAAC;KACpF;IAED,MAAM;;QACJ,QACE,EAAC,IAAI,uDACH,4DAAK,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,8BAA8B,GAAG,EAAiB,CAAC,EAAE,KAAK,EAAC,iCAAiC,IAChH,4DAAK,KAAK,EAAC,sDAAsD,IAC/D,4DAAK,KAAK,EAAC,oCAAoC,IAC7C,gEAAQ,IAAI,CAAC,KAAK,CAAS,CACvB,EAEN,4DAAK,KAAK,EAAC,oCAAoC,IAC7C,4DAAK,KAAK,EAAC,qDAAqD,IAC7D,MAAA,IAAI,CAAC,YAAY,0CAAE,GAAG,CAAC,IAAI,KAC1B,cAAQ,KAAK,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,IAC7H,IAAI,CAAC,KAAK,CACJ,CACV,CAAC,CACE,EAEN,4DAAK,KAAK,EAAC,oDAAoD,IAC5D,IAAI,CAAC,KAAK,GAAG,CAAC,IACb,iBAAW,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,iBAAiB,GAAG,EAAiB,CAAC,EAAE,KAAK,EAAC,MAAM,EAAC,IAAI,EAAE,KAAK,EAAE,UAAU,EAAC,SAAS,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,aAExH,IACV,IAAI,CACJ,CACF,EAEN,4DAAK,KAAK,EAAC,mCAAmC,IAC5C,kEACE,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,eAAe,GAAG,EAAiB,CAAC,EACrD,KAAK,EAAC,2CAA2C,EACjD,WAAW,EAAE,IAAI,CAAC,wBAAwB,EAC1C,KAAK,EAAE,IAAI,CAAC,kBAAkB,kBACjB,MAAM,IAElB,MAAA,IAAI,CAAC,gBAAgB,0CAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,MAClC,iBAAW,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,GAAc,CACpK,CAAC,CACQ,EAEZ,kEACE,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,gBAAgB,GAAG,EAAiB,CAAC,EACtD,KAAK,EAAC,2CAA2C,EACjD,WAAW,EAAE,IAAI,CAAC,yBAAyB,EAC3C,KAAK,EAAE,IAAI,CAAC,mBAAmB,kBAClB,MAAM,IAElB,MAAA,IAAI,CAAC,iBAAiB,0CAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,MACnC,iBAAW,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,GAAc,CACrK,CAAC,CACQ,EAEZ,2EACE,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,YAAY,GAAG,EAAiB,CAAC,EAClD,IAAI,EAAC,QAAQ,EACb,WAAW,EAAC,GAAG,EACf,KAAK,EAAE,IAAI,CAAC,cAAc,EAC1B,KAAK,EAAE,IAAI,CAAC,eAAe,EAC3B,GAAG,EAAC,GAAG,GACa,EAErB,IAAI,CAAC,kBAAkB,IACtB,iBAAW,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,0BAA0B,GAAG,EAAiB,CAAC,EAAE,KAAK,EAAC,wCAAwC,EAAC,KAAK,EAAC,MAAM,EAAC,UAAU,EAAC,OAAO,IACxJ,IAAI,CAAC,cAAc,CACV,KAEZ,WAAK,KAAK,EAAC,oCAAoC,IAC7C,WAAK,KAAK,EAAC,qCAAqC,IAC9C,iBAAQ,IAAI,CAAC,cAAc,CAAS,CAChC,EACN,sBACE,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,kBAAkB,GAAG,EAAiB,CAAC,EACxD,KAAK,EAAC,OAAO,sBACK,IAAI,cACZ,IAAI,CAAC,oBAAoB,EACnC,QAAQ,EAAE,IAAI,CAAC,YAAY,EAC3B,WAAW,EAAE,IAAI,CAAC,eAAe,EACjC,KAAK,EAAC,iCAAiC,EACvC,KAAK,EAAE,CAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,MAAM,IAAG,IAAI,CAAC,SAAS,GAAG,IAAI,GACrC,CACd,CACP,CACG,EAEL,IAAI,CAAC,kBAAkB,IACtB,WAAK,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,oBAAoB,GAAG,EAAiB,CAAC,EAAE,KAAK,EAAC,oCAAoC,EAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,IACnI,IAAI,CAAC,mBAAmB,IACvB,WAAK,KAAK,EAAC,yBAAyB,IAClC,aAAI,IAAI,CAAC,mBAAmB,CAAK,CAC7B,IACJ,IAAI,EAER,WAAK,KAAK,EAAC,oCAAoC,IAC7C,WAAK,KAAK,EAAC,oCAAoC,IAC7C,WAAK,KAAK,EAAC,qCAAqC,IAC9C,iBAAQ,IAAI,CAAC,cAAc,CAAS,CAChC,EAEN,sBACE,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,WAAW,GAAG,EAAiB,CAAC,EACjD,KAAK,EAAC,OAAO,sBACK,IAAI,EACtB,KAAK,EAAC,iCAAiC,cAC7B,IAAI,CAAC,oBAAoB,cACzB,IAAI,CAAC,mBAAmB,EAClC,QAAQ,EAAE,IAAI,CAAC,YAAY,EAC3B,WAAW,EAAE,IAAI,CAAC,eAAe,EACjC,KAAK,EAAE,CAAA,MAAA,IAAI,CAAC,aAAa,0CAAE,MAAM,IAAG,IAAI,CAAC,aAAa,GAAG,IAAI,GAC7C,CACd,EAEN,WAAK,KAAK,EAAC,oCAAoC,IAC7C,WAAK,KAAK,EAAC,qCAAqC,IAC9C,iBAAQ,IAAI,CAAC,YAAY,CAAS,CAC9B,EACN,sBACE,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,SAAS,GAAG,EAAiB,CAAC,EAC/C,KAAK,EAAC,OAAO,sBACK,IAAI,EACtB,KAAK,EAAC,iCAAiC,cAC7B,IAAI,CAAC,oBAAoB,cACzB,IAAI,CAAC,mBAAmB,EAClC,QAAQ,EAAE,IAAI,CAAC,YAAY,EAC3B,WAAW,EAAE,IAAI,CAAC,eAAe,EACjC,KAAK,EAAE,CAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,MAAM,IAAG,IAAI,CAAC,YAAY,GAAG,IAAI,GAC3C,CACd,CACF,EACN,WAAK,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,SAAS,GAAG,EAAiB,CAAC,EAAE,KAAK,EAAC,oCAAoC,IAC7F,MAAA,IAAI,CAAC,OAAO,0CAAE,GAAG,CAAC,CAAC,GAAe,MACjC,WAAK,KAAK,EAAC,8BAA8B,IACvC,0BAAoB,UAAU,EAAE,MAAM,GAAG,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,GAAG,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,QAAQ,GAAuB,EAC1I,aAAO,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC,KAAK,IAAG,GAAG,CAAC,KAAK,CAAS,CACnD,CACP,CAAC,CACE,EAEN,WAAK,KAAK,EAAC,yBAAyB,IAClC,iBAAW,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,qBAAqB,GAAG,EAAiB,CAAC,EAAE,KAAK,EAAC,MAAM,IACjF,IAAI,CAAC,uBAAuB,CACnB,CACR,EAEN,WAAK,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,oBAAoB,GAAG,EAAiB,CAAC,EAAE,KAAK,EAAC,+BAA+B,IACnG,MAAA,IAAI,CAAC,iBAAiB;eAAE,GAAG,CAAC,CAAC,IAAY,EAAE,CAAC,MAC3C,WAAK,KAAK,EAAC,4CAA4C,IACrD,aAAI,IAAI,CAAK,EACb,iBAAW,KAAK,EAAE,CAAC,EAAE,KAAK,EAAC,MAAM,EAAC,IAAI,EAAE,KAAK,EAAE,UAAU,EAAC,SAAS,EAAC,EAAE,EAAE,cAAc,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAC3I,IAAI,CACK,CACR,CACP,CAAC,EAED,EAAC,MAAA,IAAI,CAAC,iBAAiB,0CAAE,MAAM,CAAA,GAAG,aAAI,IAAI,CAAC,WAAW,CAAK,GAAG,IAAI,CAC/D,EAEN,WAAK,KAAK,EAAC,yBAAyB,IAClC,iBAAW,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,0BAA0B,GAAG,EAAiB,CAAC,EAAE,KAAK,EAAC,kCAAkC,EAAC,KAAK,EAAC,MAAM,IAC/H,IAAI,CAAC,kBAAkB,CACd,CACR,CACF,IACJ,IAAI,CACJ,CACF,CACD,EACP;KACH;;;;;;;;;;","names":["uuidv4"],"sources":["src/components/input/pn-multi-row-connected-dropdown/pn-multi-row-connected-dropdown-row.scss?tag=pn-multi-row-connected-dropdown-row","src/components/input/pn-multi-row-connected-dropdown/pn-multi-row-connected-dropdown-row.tsx"],"sourcesContent":["@import '../../../globals/main.scss';\n\npn-multi-row-connected-dropdown-row {\n gap: 1rem;\n\n .connected-dropdown-parent-element {\n margin-bottom: 0.5rem;\n }\n\n pn-select {\n width: 35%;\n }\n\n pn-marketweb-input {\n width: 10%;\n\n input {\n height: 4.3rem;\n }\n }\n\n .connected-dropdown {\n padding: 1rem;\n border-left: 0.2rem solid $blue700;\n\n &:hover {\n background-color: $gray25;\n }\n\n &__toggle-date-button {\n width: 20%;\n margin-bottom: 0.5rem;\n }\n\n &__row {\n display: flex;\n align-items: flex-end;\n gap: 1rem;\n margin-bottom: 1rem;\n justify-content: space-between;\n\n &__no-margin {\n margin: 0;\n }\n }\n\n &__multi-date-row {\n display: flex;\n align-items: center;\n gap: 1rem;\n margin-bottom: 1rem;\n }\n\n &__button-container {\n display: flex;\n align-items: flex-end;\n gap: 1rem;\n }\n\n &__button {\n background-color: #ffffff;\n border: solid;\n border-width: 0.1rem;\n border-radius: 0.8rem;\n border-color: $blue700;\n padding: 0.4rem 0.8rem;\n color: $blue700;\n font-size: 1.4rem;\n text-align: center;\n text-decoration: none;\n cursor: pointer;\n\n &:hover,\n &.active {\n background-color: $blue900;\n border-color: $blue900;\n color: #ffffff;\n }\n }\n\n &__buttom-container-right {\n display: flex;\n }\n\n &__button-right {\n margin-left: auto;\n }\n\n &__label-container {\n margin-bottom: 0.4rem;\n color: $gray700;\n font-size: 0.875em;\n justify-content: space-between;\n align-items: flex-end;\n }\n\n &__checkbox {\n display: flex;\n gap: 0.5rem;\n }\n\n &__date-slot {\n border: 0.1rem solid $blue700;\n margin-bottom: 1rem;\n padding: 1rem;\n }\n }\n\n .generated-date-row {\n border-bottom: 0.1rem solid $blue700;\n }\n}\n","import { Component, Prop, h, Element, Host, State, Watch, Event, EventEmitter } from '@stencil/core';\nimport { Root, SelectItem, PredefinedValues } from './types';\nimport debounce from 'debounce';\nimport { v4 as uuidv4 } from 'uuid';\nimport { minus } from 'pn-design-assets/pn-assets/icons.js';\n\n@Component({\n tag: 'pn-multi-row-connected-dropdown-row',\n styleUrl: 'pn-multi-row-connected-dropdown-row.scss',\n})\nexport class PnMultiRowConnectedDropdownRow {\n @Element() hostElement: Element;\n private _dropdownData: Root[];\n private _predefinedValue: PredefinedValues;\n pnConnectedDropdown: HTMLElement = null;\n pnConnectedDropdownSlotElement: HTMLElement = null;\n pnAddFieldButton: HTMLElement = null;\n pnFirstDropdown: HTMLElement = null;\n pnSecondDropdown: HTMLElement = null;\n pnInputField: HTMLElement = null;\n pnSingleDatePicker: HTMLElement = null;\n pnStartDate: HTMLElement = null;\n pnEndDate: HTMLElement = null;\n pnShowDateRangeFiledButton: HTMLElement = null;\n pnDateRangeContainer: HTMLElement = null;\n pnGenerateDatesButton: HTMLElement = null;\n pnDaysRow: HTMLElement = null;\n pnGeneratedDatesSlot: HTMLElement = null;\n pnSaveGeneratedDatesButton: HTMLElement = null;\n pnDeleteRowButton: HTMLElement = null;\n\n @Prop() dropdownData: string | Root[] = null;\n @Prop() languageCode: string = null;\n @Prop() label: string = null;\n @Prop() firstDropdownLabel: string = null;\n @Prop() secondDropdownLabel: string = null;\n @Prop() dropdownPlaceholder: string = null;\n @Prop() addRowText: string = null;\n @Prop() inputFildLabel: string = null;\n @Prop() inputFildPlaceholder: string = null;\n @Prop() dateButtonText: string = null;\n @Prop() datePlaceholder: string = null;\n @Prop() dateDaysFromToday: number = 1;\n @Prop() allowMultipleDates: boolean = null;\n @Prop() startDateLabel: string = null;\n @Prop() endDateLabel: string = null;\n @Prop() multiDateHelperText: string = null;\n @Prop() generateDatesButtonText: string = null;\n @Prop() saveDateButtonText: string = null;\n @Prop() noDatesText: string = null;\n @Prop() index: number = null;\n @Prop() predefinedValue: string = null;\n @Prop() yearsToAddToEndDate: number = null;\n\n @State() buttonsArray: SelectItem[] = null;\n @State() firstDropdownArr: SelectItem[] = null;\n @State() secondDropdownArr: SelectItem[] = [];\n @State() firstDropdownClass: string = null;\n @State() secondDropdownClass: string = null;\n @State() firstValidDateString: string = '';\n @State() lastValidDateString: string = '';\n @State() firstDropdownPlaceholder: string = '-';\n @State() secondDropdownPlaceholder: string = '-';\n @State() starDateValue: string = '';\n @State() endDateValue: string = '';\n @State() generatedDatesArr: string[] = [];\n @State() selectedButtonValue: string = '';\n @State() inputFieldValue: string = '';\n @State() dateValue: string = '';\n @State() daysArr: SelectItem[] = null;\n\n @Event() rowValueChange: EventEmitter<PredefinedValues>;\n @Event() deleteRowEvent: EventEmitter<string>;\n\n componentWillLoad() {\n this.getPredefinedValues();\n this.setDropDownData();\n this.setFirstValidDate();\n }\n\n componentDidLoad() {\n this.setInitialValues();\n this.addEventHandlers();\n this.emittRowValues();\n }\n\n setDropDownData() {\n if (typeof this.dropdownData === 'string') {\n this._dropdownData = JSON.parse(this.dropdownData);\n } else {\n this._dropdownData = this.dropdownData;\n }\n }\n\n getPredefinedValues() {\n this._predefinedValue = JSON.parse(this.predefinedValue);\n }\n\n @Watch('predefinedValue')\n applyPredefinedValue() {\n this.getPredefinedValues();\n this.setInitialValues();\n }\n\n setInitialValues() {\n this.setButtonsValue();\n this.setFirstDropdownValues();\n this.setSecondDropdownValues();\n this.setInputField();\n this.setDateValue();\n this.setDateRangeDefaults();\n\n this.firstDropdownClass = this.firstDropdownLabel.replace(' ', '_') + '-dropdown';\n this.secondDropdownClass = this.secondDropdownLabel.replace(' ', '_') + '-dropdown';\n }\n\n setButtonsValue() {\n this.buttonsArray = [];\n\n if (this._predefinedValue.buttons?.length) {\n this.buttonsArray = this._predefinedValue.buttons;\n\n this.buttonsArray.forEach(item => {\n if (item.selected) {\n this.selectedButtonValue = item.value;\n }\n });\n } else {\n this._dropdownData.forEach(item => {\n const button: SelectItem = { selected: false, value: item.label, label: item.label };\n this.buttonsArray.push(button);\n });\n }\n }\n\n setFirstDropdownValues() {\n this.firstDropdownArr = [];\n\n if (this._predefinedValue.firstDropdown?.length) {\n this.firstDropdownArr = [...this._predefinedValue.firstDropdown];\n }\n }\n\n setSecondDropdownValues() {\n this.secondDropdownArr = [];\n\n if (this._predefinedValue.secondDropdown?.length) {\n this.secondDropdownArr = [...this._predefinedValue.secondDropdown];\n }\n }\n\n setInputField() {\n this.inputFieldValue = this._predefinedValue.input?.length ? this._predefinedValue.input : '';\n }\n\n setDateValue() {\n if (this.allowMultipleDates) {\n this.pnDateRangeContainer.style.display = this._predefinedValue.dates[\"start\"]?.length ? '' : 'none';\n this.generatedDatesArr = this._predefinedValue.dates[\"start\"]?.length ? this._predefinedValue.dates[\"start\"].split(',') : [];\n this.saveGeneratedDates();\n } else {\n this.dateValue = this._predefinedValue.dates[\"start\"]?.length ? this._predefinedValue.dates[\"start\"] : '';\n }\n }\n\n setDateRangeDefaults() {\n this.daysArr = this._predefinedValue.dateRange.days;\n this.starDateValue = this._predefinedValue.dateRange.startDate?.length ? this._predefinedValue.dateRange.startDate : '';\n this.endDateValue = this._predefinedValue.dateRange.endDate?.length ? this._predefinedValue.dateRange.endDate : '';\n }\n\n setFirstValidDate() {\n const yearsToadd = this.yearsToAddToEndDate ? this.yearsToAddToEndDate : 2;\n const date = new Date();\n date.setDate(date.getDate() + this.dateDaysFromToday ?? 0);\n\n const year = date.getFullYear();\n const month = (date.getMonth() + 1).toString().padStart(2, '0');\n const day = date.getDate().toString().padStart(2, '0');\n const endYear = year + yearsToadd;\n\n this.firstValidDateString = `${year.toString()}-${month}-${day}`;\n this.lastValidDateString = `${endYear.toString()}-${month}-${day}`;\n }\n\n addEventHandlers() {\n const emmitValues = debounce(this.emittRowValues.bind(this), 500);\n\n this.pnInputField.addEventListener('keyup', this.handleInput.bind(this));\n this.pnInputField.addEventListener('change', this.handleInput.bind(this));\n this.pnInputField.addEventListener('input', this.handleInput.bind(this));\n this.pnInputField.addEventListener('keyup', emmitValues);\n this.pnInputField.addEventListener('change', emmitValues);\n this.pnInputField.addEventListener('input', emmitValues);\n\n if (this.allowMultipleDates) {\n this.pnShowDateRangeFiledButton.addEventListener('click', this.showDateRangeRow.bind(this));\n this.pnStartDate.addEventListener('dateselection', this.HandleRangeDatePickers.bind(this));\n this.pnEndDate.addEventListener('dateselection', this.HandleRangeDatePickers.bind(this));\n this.pnGenerateDatesButton.addEventListener('click', this.generateDates.bind(this));\n this.pnSaveGeneratedDatesButton.addEventListener('click', this.saveGeneratedDates.bind(this));\n this.pnSaveGeneratedDatesButton.addEventListener('click', emmitValues);\n } else {\n this.pnSingleDatePicker.addEventListener('dateselection', this.setSingleDateValue.bind(this));\n this.pnSingleDatePicker.addEventListener('dateselection', emmitValues);\n }\n\n if (this.index > 0) {\n this.pnDeleteRowButton.addEventListener('click', this.deleteRow.bind(this));\n }\n }\n\n generateUniqueId() {\n return uuidv4();\n }\n\n updateSelectItemArr(arr: SelectItem[], val: string) {\n arr.forEach(item => {\n if (item.value === val) {\n item.selected = !item.selected;\n } else {\n item.selected = false;\n }\n });\n return arr;\n }\n\n handleOptionButtonClick(e) {\n e.preventDefault();\n const elmValue = e.target.innerHTML;\n\n this.buttonsArray = [...this.updateSelectItemArr(this.buttonsArray, elmValue)];\n this.selectedButtonValue = this.buttonsArray.filter(e => e.selected === true).length > 0 ? elmValue : '';\n\n if (this.selectedButtonValue?.length) {\n this.firstDropdownArr = [];\n const selectionChildren = this._dropdownData.find(arr => arr.label === elmValue);\n selectionChildren.values.forEach(item => {\n this.firstDropdownArr.push({ selected: false, value: item.label, label: item.label });\n });\n\n this.firstDropdownArr = [...this.firstDropdownArr];\n this.firstDropdownPlaceholder = this.dropdownPlaceholder;\n const firstDropdownText = this.pnFirstDropdown.querySelector('.pn-select-content span');\n firstDropdownText.innerHTML = this.dropdownPlaceholder;\n\n this.secondDropdownArr = [];\n this.secondDropdownPlaceholder = '-';\n const secondDropdownText = this.pnSecondDropdown.querySelector('.pn-select-content span');\n secondDropdownText.innerHTML = this.secondDropdownPlaceholder;\n } else {\n this.firstDropdownArr = [];\n this.firstDropdownPlaceholder = '-';\n const firstDropdownText = this.pnFirstDropdown.querySelector('.pn-select-content span');\n firstDropdownText.innerHTML = this.firstDropdownPlaceholder;\n\n this.secondDropdownArr = [];\n this.secondDropdownPlaceholder = '-';\n const secondDropdownText = this.pnSecondDropdown.querySelector('.pn-select-content span');\n secondDropdownText.innerHTML = this.secondDropdownPlaceholder;\n }\n\n this.emittRowValues();\n }\n\n handleFirstDropdownChange() {\n const selected = this.pnFirstDropdown.querySelector(\"[aria-selected=true]\");\n const selectedValue = selected?.textContent;\n this.firstDropdownArr = [...this.updateSelectItemArr(this.firstDropdownArr, selectedValue)];\n const firstDropdownText = this.pnFirstDropdown.querySelector('.pn-select-content span');\n firstDropdownText.innerHTML = selectedValue;\n\n this.secondDropdownArr = [];\n const selectedButton = this.buttonsArray.findIndex(item => item.selected === true);\n const firstChildren = this._dropdownData.find(arr => arr.label === this.buttonsArray[selectedButton].value);\n const secondChildren = firstChildren.values.find(arr => arr.label === selectedValue);\n secondChildren.values.forEach(item => {\n this.secondDropdownArr.push({ selected: false, value: item.label, label: item.label });\n });\n\n this.secondDropdownPlaceholder = this.dropdownPlaceholder;\n const secondDropdownText = this.pnSecondDropdown.querySelector('.pn-select-content span');\n secondDropdownText.innerHTML = this.secondDropdownPlaceholder;\n this.emittRowValues();\n }\n\n handleSecondDropdownChange() {\n const selected = this.pnSecondDropdown.querySelector(\"[aria-selected=true]\");\n const selectedValue = selected?.textContent;\n this.secondDropdownArr = [...this.updateSelectItemArr(this.secondDropdownArr, selectedValue)];\n const secondDropdownText = this.pnSecondDropdown.querySelector('.pn-select-content span');\n secondDropdownText.innerHTML = selectedValue;\n this.emittRowValues();\n }\n\n handleInput(e) {\n const elm = e.target;\n if (elm.value !== '0') {\n this.inputFieldValue = elm.value;\n }\n }\n\n showDateRangeRow() {\n if (this.pnDateRangeContainer.style.display === 'none') {\n this.pnDateRangeContainer.style.display = '';\n } else {\n this.pnDateRangeContainer.style.display = 'none';\n }\n }\n\n HandleRangeDatePickers(e) {\n const elm = e.target;\n\n if (elm === this.pnStartDate) {\n this.starDateValue = e.detail;\n }\n\n if (elm === this.pnEndDate) {\n this.endDateValue = e.detail;\n }\n }\n\n generateDates(e) {\n e.preventDefault();\n const allCheckboxes = this.pnDaysRow.querySelectorAll('pn-filter-checkbox');\n const selectedDays: string[] = [];\n this.generatedDatesArr = [];\n allCheckboxes.forEach(element => {\n const input = element.querySelector('input');\n if (input.value) {\n selectedDays.push(input.value);\n }\n });\n\n if (selectedDays.length && this.starDateValue && this.endDateValue) {\n this.daysArr.forEach(item => {\n if (selectedDays.some(x => x === item.value)) {\n item.selected = true;\n } else {\n item.selected = false;\n }\n });\n\n const startDate = new Date(Date.parse(this.starDateValue));\n const endDate = new Date(Date.parse(this.endDateValue));\n\n for (var d = startDate; d <= endDate; d.setDate(d.getDate() + 1)) {\n const i = this.daysArr.findIndex(item => parseInt(item.value) === d.getDay());\n\n if (this.daysArr[i]?.selected) {\n const year = d.getFullYear();\n const month = (d.getMonth() + 1).toString().padStart(2, '0');\n const day = d.getDate().toString().padStart(2, '0');\n this.generatedDatesArr.push(`${year}-${month}-${day}`);\n }\n }\n }\n }\n\n deleteGeneratedDateRow(index) {\n this.generatedDatesArr.splice(index, 1);\n this.generatedDatesArr = [...this.generatedDatesArr];\n }\n\n saveGeneratedDates() {\n if (this.generatedDatesArr?.length) {\n this.dateValue = String(this.generatedDatesArr);\n const dateCount = this.generatedDatesArr.length;\n const buttonTextElm = this.pnShowDateRangeFiledButton.querySelector('.pn-button-content');\n buttonTextElm.innerHTML = dateCount > 0 ? `${this.dateButtonText} (${dateCount})` : this.dateButtonText;\n this.showDateRangeRow();\n }\n }\n\n setSingleDateValue(e) {\n const elm = e.target;\n if (elm === this.pnSingleDatePicker) {\n this.dateValue = e.detail;\n }\n }\n\n emittRowValues() {\n this.rowValueChange.emit({\n id: this._predefinedValue.id,\n buttons: this.buttonsArray,\n firstDropdown: this.firstDropdownArr,\n secondDropdown: this.secondDropdownArr,\n input: this.inputFieldValue,\n dates: this.dateValue,\n dateRange: {\n days: this.daysArr,\n startDate: this.starDateValue,\n endDate: this.endDateValue,\n },\n });\n }\n\n deleteRow() {\n this.deleteRowEvent.emit(this._predefinedValue.id);\n }\n\n setActive(active: boolean) {\n return active ? 'connected-dropdown__button active' : 'connected-dropdown__button';\n }\n\n render() {\n return (\n <Host>\n <div ref={el => (this.pnConnectedDropdownSlotElement = el as HTMLElement)} class=\"connected-dropdown-slot-element\">\n <div class=\"connected-dropdown-parent-element connected-dropdown\">\n <div class=\"connected-dropdown__row__no-margin\">\n <label>{this.label}</label>\n </div>\n\n <div class=\"connected-dropdown__row button-row\">\n <div class=\"connected-dropdown__button-container option-buttons\">\n {this.buttonsArray?.map(item => (\n <button class={`${this.setActive(item.selected)}`} id={this.generateUniqueId()} onClick={this.handleOptionButtonClick.bind(this)}>\n {item.value}\n </button>\n ))}\n </div>\n\n <div class=\"connected-dropdown__button-container delete-button\">\n {this.index > 0 ? (\n <pn-button ref={el => (this.pnDeleteRowButton = el as HTMLElement)} small=\"true\" icon={minus} appearance=\"warning\" index={this.index}>\n Delete\n </pn-button>\n ) : null}\n </div>\n </div>\n\n <div class=\"connected-dropdown__row input-row\">\n <pn-select\n ref={el => (this.pnFirstDropdown = el as HTMLElement)}\n class=\"pn-row-select-dropdown dropDown1-dropdown\"\n placeholder={this.firstDropdownPlaceholder}\n label={this.firstDropdownLabel}\n empty-option=\"true\"\n >\n {this.firstDropdownArr?.map((item, i) => (\n <pn-option index={i} label={item.label} value={item.value} selected={item.selected} onClick={debounce(this.handleFirstDropdownChange.bind(this), 500)}></pn-option>\n ))}\n </pn-select>\n\n <pn-select\n ref={el => (this.pnSecondDropdown = el as HTMLElement)}\n class=\"pn-row-select-dropdown dropDown2-dropdown\"\n placeholder={this.secondDropdownPlaceholder}\n label={this.secondDropdownLabel}\n empty-option=\"true\"\n >\n {this.secondDropdownArr?.map((item, i) => (\n <pn-option index={i} label={item.label} value={item.value} selected={item.selected} onClick={debounce(this.handleSecondDropdownChange.bind(this), 500)}></pn-option>\n ))}\n </pn-select>\n\n <pn-marketweb-input\n ref={el => (this.pnInputField = el as HTMLElement)}\n type=\"number\"\n placeholder=\"0\"\n label={this.inputFildLabel}\n value={this.inputFieldValue}\n min=\"1\"\n ></pn-marketweb-input>\n\n {this.allowMultipleDates ? (\n <pn-button ref={el => (this.pnShowDateRangeFiledButton = el as HTMLElement)} class=\"connected-dropdown__toggle-date-button\" small=\"true\" appearance=\"light\">\n {this.dateButtonText}\n </pn-button>\n ) : (\n <div class=\"connected-dropdown__date-container\">\n <div class=\"connected-dropdown__label-container\">\n <label>{this.dateButtonText}</label>\n </div>\n <pn-date-picker\n ref={el => (this.pnSingleDatePicker = el as HTMLElement)}\n range=\"false\"\n disable-weekends={true}\n min-date={this.firstValidDateString}\n language={this.languageCode}\n placeholder={this.datePlaceholder}\n class=\"connected-dropdown__date-picker\"\n start={this.dateValue?.length ? this.dateValue : null}\n ></pn-date-picker>\n </div>\n )}\n </div>\n\n {this.allowMultipleDates ? (\n <div ref={el => (this.pnDateRangeContainer = el as HTMLElement)} class=\"connected-dropdown__date-container\" style={{ display: 'none' }}>\n {this.multiDateHelperText ? (\n <div class=\"connected-dropdown__row\">\n <p>{this.multiDateHelperText}</p>\n </div>\n ) : null}\n\n <div class=\"connected-dropdown__multi-date-row\">\n <div class=\"connected-dropdown__date-container\">\n <div class=\"connected-dropdown__label-container\">\n <label>{this.startDateLabel}</label>\n </div>\n\n <pn-date-picker\n ref={el => (this.pnStartDate = el as HTMLElement)}\n range=\"false\"\n disable-weekends={true}\n class=\"connected-dropdown__date-picker\"\n min-date={this.firstValidDateString}\n max-date={this.lastValidDateString}\n language={this.languageCode}\n placeholder={this.datePlaceholder}\n start={this.starDateValue?.length ? this.starDateValue : null}\n ></pn-date-picker>\n </div>\n\n <div class=\"connected-dropdown__date-container\">\n <div class=\"connected-dropdown__label-container\">\n <label>{this.endDateLabel}</label>\n </div>\n <pn-date-picker\n ref={el => (this.pnEndDate = el as HTMLElement)}\n range=\"false\"\n disable-weekends={true}\n class=\"connected-dropdown__date-picker\"\n min-date={this.firstValidDateString}\n max-date={this.lastValidDateString}\n language={this.languageCode}\n placeholder={this.datePlaceholder}\n start={this.endDateValue?.length ? this.endDateValue : null}\n ></pn-date-picker>\n </div>\n </div>\n <div ref={el => (this.pnDaysRow = el as HTMLElement)} class=\"connected-dropdown__multi-date-row\">\n {this.daysArr?.map((day: SelectItem) => (\n <div class=\"connected-dropdown__checkbox\">\n <pn-filter-checkbox checkboxid={'day-' + day.value} name={'__' + day.label} value={day.value} checked={day.selected}></pn-filter-checkbox>\n <label htmlFor={'day-' + day.value}>{day.label}</label>\n </div>\n ))}\n </div>\n\n <div class=\"connected-dropdown__row\">\n <pn-button ref={el => (this.pnGenerateDatesButton = el as HTMLElement)} small=\"true\">\n {this.generateDatesButtonText}\n </pn-button>\n </div>\n\n <div ref={el => (this.pnGeneratedDatesSlot = el as HTMLElement)} class=\"connected-dropdown__date-slot\">\n {this.generatedDatesArr?.map((date: string, i) => (\n <div class=\"connected-dropdown__row generated-date-row\">\n <p>{date}</p>\n <pn-button index={i} small=\"true\" icon={minus} appearance=\"warning\" id={'delete-date-' + i} onClick={this.deleteGeneratedDateRow.bind(this, i)}>\n {date}\n </pn-button>\n </div>\n ))}\n\n {!this.generatedDatesArr?.length ? <p>{this.noDatesText}</p> : null}\n </div>\n\n <div class=\"connected-dropdown__row\">\n <pn-button ref={el => (this.pnSaveGeneratedDatesButton = el as HTMLElement)} class=\"connected-dropdown__button-right\" small=\"true\">\n {this.saveDateButtonText}\n </pn-button>\n </div>\n </div>\n ) : null}\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -89,7 +89,7 @@ const PnMultiRowConnectedDropdown = class {
89
89
  const inputValue = { name: this._inputValueName, value: input };
90
90
  rowValue.row.push(inputValue);
91
91
  }
92
- const dates = item.dates;
92
+ const dates = item.dates["start"];
93
93
  if (dates === null || dates === void 0 ? void 0 : dates.length) {
94
94
  const datestValue = { name: this._dateValueName, value: dates };
95
95
  rowValue.row.push(datestValue);
@@ -189,7 +189,7 @@ const PnMultiRowConnectedDropdown = class {
189
189
  }
190
190
  render() {
191
191
  var _a;
192
- return (h(Host, { key: '6837a0780ef6d2a8f538ed29724a444f3a3e8c01' }, (_a = this.rowData) === null || _a === void 0 ? void 0 :
192
+ return (h(Host, { key: '35f9a37f73fc0713405c0f403c8f8df7eff987ae' }, (_a = this.rowData) === null || _a === void 0 ? void 0 :
193
193
  _a.map((data, i) => {
194
194
  return (h("div", { class: 'generated-row-' + i, id: 'generated-row-connected-dropdown-' + i }, h("pn-multi-row-connected-dropdown-row", { "dropdown-data": this.dropdownData, "language-code": this.languageCode, label: this.label, "first-dropdown-label": this.firstDropdownLabel, "second-dropdown-label": this.secondDropdownLabel, "dropdown-placeholder": this.dropdownPlaceholder, "add-row-text": this.addRowText, "input-fild-label": this.inputFildLabel, "input-fild-placeholder": this.inputFildPlaceholder, "date-button-text": this.dateButtonText, "date-placeholder": this.datePlaceholder, "date-days-from-today": this.dateDaysFromToday, "allow-multiple-dates": this.allowMultipleDates, "start-date-label": this.startDateLabel, "end-date-label": this.endDateLabel, "multi-date-helper-text": this.multiDateHelperText, "generate-dates-button-text": this.generateDatesButtonText, "save-date-button-text": this.saveDateButtonText, "no-dates-text": this.noDatesText, index: i, "predefined-value": JSON.stringify(data), "years-to-add-to-end-date": this.yearsToAddToEndDate })));
195
195
  }), this.allowMultipleRows ? (h("div", { class: "connected-dropdown__row" }, h("pn-button", { tooltip: this.addRowText ? this.addRowText : null, "left-icon": "true", arialabel: "Add", icon: plus, appearance: "light", variant: "borderless", class: "connected-dropdown__button-right", onClick: () => {
@@ -1 +1 @@
1
- {"file":"pn-multi-row-connected-dropdown.entry.js","mappings":"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","names":["uuidv4"],"sources":["src/components/input/pn-multi-row-connected-dropdown/pn-multi-row-connected-dropdown.scss?tag=pn-multi-row-connected-dropdown","src/components/input/pn-multi-row-connected-dropdown/pn-multi-row-connected-dropdown.tsx"],"sourcesContent":["@import '../../../globals/main.scss';\n\npn-multi-row-connected-dropdown {\n gap: 1rem;\n\n .connected-dropdown {\n &__row {\n display: flex;\n align-items: flex-end;\n gap: 1rem;\n margin-bottom: 1rem;\n justify-content: space-between;\n\n &__no-margin {\n margin: 0;\n }\n }\n\n &__button-right {\n margin-left: auto;\n }\n }\n}\n","import { Component, Prop, h, Element, State, Host, Watch, Event, EventEmitter, Listen } from '@stencil/core';\nimport { FormValue, PredefinedValues, Root, RowValue, SelectItem } from './types';\nimport { v4 as uuidv4 } from 'uuid';\nimport { plus } from 'pn-design-assets/pn-assets/icons.js';\n\n@Component({\n tag: 'pn-multi-row-connected-dropdown',\n styleUrl: 'pn-multi-row-connected-dropdown.scss',\n})\nexport class PnMultiRowConnectedDropdown {\n @Element() hostElement: Element;\n\n @Prop() dropdownData: string | Root[] = null;\n @Prop() languageCode: string = null;\n @Prop() label: string = null;\n @Prop() firstDropdownLabel: string = null;\n @Prop() secondDropdownLabel: string = null;\n @Prop() dropdownPlaceholder: string = null;\n @Prop() addRowText: string = null;\n @Prop() inputFildLabel: string = null;\n @Prop() inputFildPlaceholder: string = null;\n @Prop() dateButtonText: string = null;\n @Prop() datePlaceholder: string = null;\n @Prop() dateDaysFromToday: number = null;\n @Prop() allowMultipleRows: boolean = false;\n @Prop() allowMultipleDates: boolean = false;\n @Prop() startDateLabel: string = null;\n @Prop() endDateLabel: string = null;\n @Prop() multiDateHelperText: string = null;\n @Prop() generateDatesButtonText: string = null;\n @Prop() saveDateButtonText: string = null;\n @Prop() noDatesText: string = null;\n @Prop() yearsToAddToEndDate: number = null;\n\n @State() rowCount: number = null;\n @State() rowData: PredefinedValues[] = null;\n @State() formValues: FormValue[] = null;\n\n private _buttonValueName: string = null;\n private _firstDropdownValueName: string = null;\n private _secondDropdownValueName: string = null;\n private _inputValueName: string = null;\n private _dateValueName: string = null;\n\n @Event() allFormValues: EventEmitter<string>;\n\n private _defaultRow: PredefinedValues = {\n id: this.generateUniqueId(),\n buttons: [],\n firstDropdown: [],\n secondDropdown: [],\n input: '',\n dates: '',\n dateRange: {\n days: [],\n startDate: '',\n endDate: '',\n },\n };\n\n componentWillLoad() {\n this.setDaysArr();\n this.formValues = [];\n this.rowData = [this._defaultRow];\n this.rowCount = this.rowData.length;\n\n this._buttonValueName = this.label?.length ? this.label : 'value0';\n this._firstDropdownValueName = this.firstDropdownLabel?.length ? this.firstDropdownLabel : 'value1';\n this._secondDropdownValueName = this.secondDropdownLabel?.length ? this.secondDropdownLabel : 'value2';\n this._inputValueName = this.inputFildLabel?.length ? this.inputFildLabel : 'value3';\n this._dateValueName = this.dateButtonText?.length ? this.dateButtonText : 'value4';\n }\n\n componentDidLoad() {}\n\n emittValuesIfValid() {\n this.formValues = [];\n this.rowData.forEach(item => {\n const rowValue: FormValue = { row: [] };\n\n const buttonSelection = item.buttons.find(x => x.selected === true);\n if (buttonSelection) {\n const buttonValue: RowValue = { name: this._buttonValueName, value: buttonSelection.label };\n rowValue.row.push(buttonValue);\n }\n\n const firstDropdownSelection = item.firstDropdown.find(x => x.selected === true);\n if (firstDropdownSelection) {\n const firstDropdownValue: RowValue = { name: this._firstDropdownValueName, value: firstDropdownSelection.label };\n rowValue.row.push(firstDropdownValue);\n }\n\n const secondDropdownSelection = item.secondDropdown.find(x => x.selected === true);\n if (secondDropdownSelection) {\n const secondDropdownValue: RowValue = { name: this._secondDropdownValueName, value: secondDropdownSelection.label };\n rowValue.row.push(secondDropdownValue);\n }\n\n const input = item.input;\n if (input?.length) {\n const inputValue: RowValue = { name: this._inputValueName, value: input };\n rowValue.row.push(inputValue);\n }\n\n const dates = item.dates;\n if (dates?.length) {\n const datestValue: RowValue = { name: this._dateValueName, value: dates };\n rowValue.row.push(datestValue);\n }\n\n if (rowValue.row.length === 5) {\n this.formValues.push(rowValue);\n }\n });\n\n if (this.formValues.length === this.rowData.length) {\n const valueJsonString = JSON.stringify(this.formValues);\n this.allFormValues.emit(valueJsonString);\n } else {\n this.allFormValues.emit('');\n }\n }\n\n @Listen('rowValueChange')\n predefinedValueChange(e) {\n const indexToUpdate = this.rowData.findIndex(data => data.id === e.detail.id);\n const val: PredefinedValues = e.detail;\n this.rowData[indexToUpdate] = {\n ...this.rowData[indexToUpdate],\n buttons: val.buttons,\n firstDropdown: val.firstDropdown,\n secondDropdown: val.secondDropdown,\n input: val.input,\n dates: val.dates,\n dateRange: val.dateRange,\n };\n this.emittValuesIfValid();\n }\n\n @Listen('deleteRowEvent')\n deleteRowEvent(e) {\n const indexToRemove = this.rowData.findIndex(data => data.id === e.detail);\n this.rowData.splice(indexToRemove, 1);\n this.rowData = [...this.rowData];\n this.rowCount = this.rowData.length;\n this.emittValuesIfValid();\n }\n\n generateUniqueId() {\n return uuidv4();\n }\n\n addRow() {\n const newRow = this._defaultRow;\n newRow.id = this.generateUniqueId();\n\n this.rowData = [...this.rowData, newRow];\n this.rowCount = this.rowData.length;\n }\n\n setDaysArr() {\n const language = this.languageCode.toLowerCase();\n\n switch (language) {\n case 'en':\n this._defaultRow.dateRange.days = [\n { label: 'Monday', value: '1', selected: false },\n { label: 'Tuesday', value: '2', selected: false },\n { label: 'Wednesday', value: '3', selected: false },\n { label: 'Thursday', value: '4', selected: false },\n { label: 'Friday', value: '5', selected: false },\n ];\n break;\n\n case 'sv':\n this._defaultRow.dateRange.days = [\n { label: 'Måndag', value: '1', selected: false },\n { label: 'Tisdag', value: '2', selected: false },\n { label: 'Onsdag', value: '3', selected: false },\n { label: 'Torsdag', value: '4', selected: false },\n { label: 'Fredag', value: '5', selected: false },\n ];\n break;\n\n case 'da':\n this._defaultRow.dateRange.days = [\n { label: 'Mandag', value: '1', selected: false },\n { label: 'Tirsdag', value: '2', selected: false },\n { label: 'Onsdag', value: '3', selected: false },\n { label: 'Torsdag', value: '4', selected: false },\n { label: 'Fredag', value: '5', selected: false },\n ];\n break;\n\n case 'fi':\n this._defaultRow.dateRange.days = [\n { label: 'Maanantai', value: '1', selected: false },\n { label: 'Tiistai', value: '2', selected: false },\n { label: 'Keskiviikko', value: '3', selected: false },\n { label: 'Torstai', value: '4', selected: false },\n { label: 'Perjantai', value: '5', selected: false },\n ];\n break;\n\n case 'no':\n this._defaultRow.dateRange.days = [\n { label: 'Mandag', value: '1', selected: false },\n { label: 'Tirsdag', value: '2', selected: false },\n { label: 'Onsdag', value: '3', selected: false },\n { label: 'Torsdag', value: '4', selected: false },\n { label: 'Fredag', value: '5', selected: false },\n ];\n break;\n\n default:\n this._defaultRow.dateRange.days = [\n { label: 'Monday', value: '1', selected: false },\n { label: 'Tuesday', value: '2', selected: false },\n { label: 'Wednesday', value: '3', selected: false },\n { label: 'Thursday', value: '4', selected: false },\n { label: 'Friday', value: '5', selected: false },\n ];\n break;\n }\n }\n\n render() {\n return (\n <Host>\n {this.rowData?.map((data, i) => {\n return (\n <div class={'generated-row-' + i} id={'generated-row-connected-dropdown-' + i}>\n <pn-multi-row-connected-dropdown-row\n dropdown-data={this.dropdownData}\n language-code={this.languageCode}\n label={this.label}\n first-dropdown-label={this.firstDropdownLabel}\n second-dropdown-label={this.secondDropdownLabel}\n dropdown-placeholder={this.dropdownPlaceholder}\n add-row-text={this.addRowText}\n input-fild-label={this.inputFildLabel}\n input-fild-placeholder={this.inputFildPlaceholder}\n date-button-text={this.dateButtonText}\n date-placeholder={this.datePlaceholder}\n date-days-from-today={this.dateDaysFromToday}\n allow-multiple-dates={this.allowMultipleDates}\n start-date-label={this.startDateLabel}\n end-date-label={this.endDateLabel}\n multi-date-helper-text={this.multiDateHelperText}\n generate-dates-button-text={this.generateDatesButtonText}\n save-date-button-text={this.saveDateButtonText}\n no-dates-text={this.noDatesText}\n index={i}\n predefined-value={JSON.stringify(data)}\n years-to-add-to-end-date={this.yearsToAddToEndDate}\n ></pn-multi-row-connected-dropdown-row>\n </div>\n );\n })}\n\n {this.allowMultipleRows ? (\n <div class=\"connected-dropdown__row\">\n <pn-button\n tooltip={this.addRowText ? this.addRowText : null}\n left-icon=\"true\"\n arialabel=\"Add\"\n icon={plus}\n appearance=\"light\"\n variant=\"borderless\"\n class=\"connected-dropdown__button-right\"\n onClick={() => {\n this.addRow();\n }}\n >\n {this.addRowText}\n </pn-button>\n </div>\n ) : null}\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"pn-multi-row-connected-dropdown.entry.js","mappings":";;;;AAAA,MAAM,8BAA8B,GAAG,+aAA+a,CAAC;AACvd,0CAAe,8BAA8B;;MCQhC,2BAA2B;;;;QA6B9B,qBAAgB,GAAW,IAAI,CAAC;QAChC,4BAAuB,GAAW,IAAI,CAAC;QACvC,6BAAwB,GAAW,IAAI,CAAC;QACxC,oBAAe,GAAW,IAAI,CAAC;QAC/B,mBAAc,GAAW,IAAI,CAAC;QAI9B,gBAAW,GAAqB;YACtC,EAAE,EAAE,IAAI,CAAC,gBAAgB,EAAE;YAC3B,OAAO,EAAE,EAAE;YACX,aAAa,EAAE,EAAE;YACjB,cAAc,EAAE,EAAE;YAClB,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,EAAE;YACT,SAAS,EAAE;gBACT,IAAI,EAAE,EAAE;gBACR,SAAS,EAAE,EAAE;gBACb,OAAO,EAAE,EAAE;aACZ;SACF,CAAC;4BA9CsC,IAAI;4BACb,IAAI;qBACX,IAAI;kCACS,IAAI;mCACH,IAAI;mCACJ,IAAI;0BACb,IAAI;8BACA,IAAI;oCACE,IAAI;8BACV,IAAI;+BACH,IAAI;iCACF,IAAI;iCACH,KAAK;kCACJ,KAAK;8BACV,IAAI;4BACN,IAAI;mCACG,IAAI;uCACA,IAAI;kCACT,IAAI;2BACX,IAAI;mCACI,IAAI;wBAEd,IAAI;uBACO,IAAI;0BACR,IAAI;;IAwBvC,iBAAiB;;QACf,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAClC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QAEpC,IAAI,CAAC,gBAAgB,GAAG,CAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,MAAM,IAAG,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;QACnE,IAAI,CAAC,uBAAuB,GAAG,CAAA,MAAA,IAAI,CAAC,kBAAkB,0CAAE,MAAM,IAAG,IAAI,CAAC,kBAAkB,GAAG,QAAQ,CAAC;QACpG,IAAI,CAAC,wBAAwB,GAAG,CAAA,MAAA,IAAI,CAAC,mBAAmB,0CAAE,MAAM,IAAG,IAAI,CAAC,mBAAmB,GAAG,QAAQ,CAAC;QACvG,IAAI,CAAC,eAAe,GAAG,CAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,MAAM,IAAG,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;QACpF,IAAI,CAAC,cAAc,GAAG,CAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,MAAM,IAAG,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;KACpF;IAED,gBAAgB,MAAK;IAErB,kBAAkB;QAChB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI;YACvB,MAAM,QAAQ,GAAc,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;YAExC,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC;YACpE,IAAI,eAAe,EAAE;gBACnB,MAAM,WAAW,GAAa,EAAE,IAAI,EAAE,IAAI,CAAC,gBAAgB,EAAE,KAAK,EAAE,eAAe,CAAC,KAAK,EAAE,CAAC;gBAC5F,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;aAChC;YAED,MAAM,sBAAsB,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC;YACjF,IAAI,sBAAsB,EAAE;gBAC1B,MAAM,kBAAkB,GAAa,EAAE,IAAI,EAAE,IAAI,CAAC,uBAAuB,EAAE,KAAK,EAAE,sBAAsB,CAAC,KAAK,EAAE,CAAC;gBACjH,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;aACvC;YAED,MAAM,uBAAuB,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC;YACnF,IAAI,uBAAuB,EAAE;gBAC3B,MAAM,mBAAmB,GAAa,EAAE,IAAI,EAAE,IAAI,CAAC,wBAAwB,EAAE,KAAK,EAAE,uBAAuB,CAAC,KAAK,EAAE,CAAC;gBACpH,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;aACxC;YAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACzB,IAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,EAAE;gBACjB,MAAM,UAAU,GAAa,EAAE,IAAI,EAAE,IAAI,CAAC,eAAe,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;gBAC1E,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aAC/B;YAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAClC,IAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,EAAE;gBACjB,MAAM,WAAW,GAAa,EAAE,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;gBAC1E,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;aAChC;YAED,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC7B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAChC;SACF,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YAClD,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACxD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SAC1C;aAAM;YACL,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAC7B;KACF;IAGD,qBAAqB,CAAC,CAAC;QACrB,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC9E,MAAM,GAAG,GAAqB,CAAC,CAAC,MAAM,CAAC;QACvC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,mCACtB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAC9B,OAAO,EAAE,GAAG,CAAC,OAAO,EACpB,aAAa,EAAE,GAAG,CAAC,aAAa,EAChC,cAAc,EAAE,GAAG,CAAC,cAAc,EAClC,KAAK,EAAE,GAAG,CAAC,KAAK,EAChB,KAAK,EAAE,GAAG,CAAC,KAAK,EAChB,SAAS,EAAE,GAAG,CAAC,SAAS,GACzB,CAAC;QACF,IAAI,CAAC,kBAAkB,EAAE,CAAC;KAC3B;IAGD,cAAc,CAAC,CAAC;QACd,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;QAC3E,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QACpC,IAAI,CAAC,kBAAkB,EAAE,CAAC;KAC3B;IAED,gBAAgB;QACd,OAAOA,EAAM,EAAE,CAAC;KACjB;IAED,MAAM;QACJ,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC;QAChC,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAEpC,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;KACrC;IAED,UAAU;QACR,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;QAEjD,QAAQ,QAAQ;YACd,KAAK,IAAI;gBACP,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,GAAG;oBAChC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE;oBAChD,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE;oBACjD,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE;oBACnD,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE;oBAClD,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE;iBACjD,CAAC;gBACF,MAAM;YAER,KAAK,IAAI;gBACP,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,GAAG;oBAChC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE;oBAChD,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE;oBAChD,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE;oBAChD,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE;oBACjD,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE;iBACjD,CAAC;gBACF,MAAM;YAER,KAAK,IAAI;gBACP,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,GAAG;oBAChC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE;oBAChD,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE;oBACjD,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE;oBAChD,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE;oBACjD,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE;iBACjD,CAAC;gBACF,MAAM;YAER,KAAK,IAAI;gBACP,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,GAAG;oBAChC,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE;oBACnD,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE;oBACjD,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE;oBACrD,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE;oBACjD,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE;iBACpD,CAAC;gBACF,MAAM;YAER,KAAK,IAAI;gBACP,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,GAAG;oBAChC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE;oBAChD,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE;oBACjD,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE;oBAChD,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE;oBACjD,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE;iBACjD,CAAC;gBACF,MAAM;YAER;gBACE,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,GAAG;oBAChC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE;oBAChD,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE;oBACjD,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE;oBACnD,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE;oBAClD,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE;iBACjD,CAAC;gBACF,MAAM;SACT;KACF;IAED,MAAM;;QACJ,QACE,EAAC,IAAI,uDACF,MAAA,IAAI,CAAC,OAAO;eAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;gBACzB,QACE,WAAK,KAAK,EAAE,gBAAgB,GAAG,CAAC,EAAE,EAAE,EAAE,mCAAmC,GAAG,CAAC,IAC3E,4DACiB,IAAI,CAAC,YAAY,mBACjB,IAAI,CAAC,YAAY,EAChC,KAAK,EAAE,IAAI,CAAC,KAAK,0BACK,IAAI,CAAC,kBAAkB,2BACtB,IAAI,CAAC,mBAAmB,0BACzB,IAAI,CAAC,mBAAmB,kBAChC,IAAI,CAAC,UAAU,sBACX,IAAI,CAAC,cAAc,4BACb,IAAI,CAAC,oBAAoB,sBAC/B,IAAI,CAAC,cAAc,sBACnB,IAAI,CAAC,eAAe,0BAChB,IAAI,CAAC,iBAAiB,0BACtB,IAAI,CAAC,kBAAkB,sBAC3B,IAAI,CAAC,cAAc,oBACrB,IAAI,CAAC,YAAY,4BACT,IAAI,CAAC,mBAAmB,gCACpB,IAAI,CAAC,uBAAuB,2BACjC,IAAI,CAAC,kBAAkB,mBAC/B,IAAI,CAAC,WAAW,EAC/B,KAAK,EAAE,CAAC,sBACU,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,8BACZ,IAAI,CAAC,mBAAmB,GACb,CACnC,EACN;aACH,CAAC,EAED,IAAI,CAAC,iBAAiB,IACrB,WAAK,KAAK,EAAC,yBAAyB,IAClC,iBACE,OAAO,EAAE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,eACvC,MAAM,EAChB,SAAS,EAAC,KAAK,EACf,IAAI,EAAE,IAAI,EACV,UAAU,EAAC,OAAO,EAClB,OAAO,EAAC,YAAY,EACpB,KAAK,EAAC,kCAAkC,EACxC,OAAO,EAAE;gBACP,IAAI,CAAC,MAAM,EAAE,CAAC;aACf,IAEA,IAAI,CAAC,UAAU,CACN,CACR,IACJ,IAAI,CACH,EACP;KACH;;;;;;;","names":["uuidv4"],"sources":["src/components/input/pn-multi-row-connected-dropdown/pn-multi-row-connected-dropdown.scss?tag=pn-multi-row-connected-dropdown","src/components/input/pn-multi-row-connected-dropdown/pn-multi-row-connected-dropdown.tsx"],"sourcesContent":["@import '../../../globals/main.scss';\n\npn-multi-row-connected-dropdown {\n gap: 1rem;\n\n .connected-dropdown {\n &__row {\n display: flex;\n align-items: flex-end;\n gap: 1rem;\n margin-bottom: 1rem;\n justify-content: space-between;\n\n &__no-margin {\n margin: 0;\n }\n }\n\n &__button-right {\n margin-left: auto;\n }\n }\n}\n","import { Component, Prop, h, Element, State, Host, Watch, Event, EventEmitter, Listen } from '@stencil/core';\nimport { FormValue, PredefinedValues, Root, RowValue, SelectItem } from './types';\nimport { v4 as uuidv4 } from 'uuid';\nimport { plus } from 'pn-design-assets/pn-assets/icons.js';\n\n@Component({\n tag: 'pn-multi-row-connected-dropdown',\n styleUrl: 'pn-multi-row-connected-dropdown.scss',\n})\nexport class PnMultiRowConnectedDropdown {\n @Element() hostElement: Element;\n\n @Prop() dropdownData: string | Root[] = null;\n @Prop() languageCode: string = null;\n @Prop() label: string = null;\n @Prop() firstDropdownLabel: string = null;\n @Prop() secondDropdownLabel: string = null;\n @Prop() dropdownPlaceholder: string = null;\n @Prop() addRowText: string = null;\n @Prop() inputFildLabel: string = null;\n @Prop() inputFildPlaceholder: string = null;\n @Prop() dateButtonText: string = null;\n @Prop() datePlaceholder: string = null;\n @Prop() dateDaysFromToday: number = null;\n @Prop() allowMultipleRows: boolean = false;\n @Prop() allowMultipleDates: boolean = false;\n @Prop() startDateLabel: string = null;\n @Prop() endDateLabel: string = null;\n @Prop() multiDateHelperText: string = null;\n @Prop() generateDatesButtonText: string = null;\n @Prop() saveDateButtonText: string = null;\n @Prop() noDatesText: string = null;\n @Prop() yearsToAddToEndDate: number = null;\n\n @State() rowCount: number = null;\n @State() rowData: PredefinedValues[] = null;\n @State() formValues: FormValue[] = null;\n\n private _buttonValueName: string = null;\n private _firstDropdownValueName: string = null;\n private _secondDropdownValueName: string = null;\n private _inputValueName: string = null;\n private _dateValueName: string = null;\n\n @Event() allFormValues: EventEmitter<string>;\n\n private _defaultRow: PredefinedValues = {\n id: this.generateUniqueId(),\n buttons: [],\n firstDropdown: [],\n secondDropdown: [],\n input: '',\n dates: '',\n dateRange: {\n days: [],\n startDate: '',\n endDate: '',\n },\n };\n\n componentWillLoad() {\n this.setDaysArr();\n this.formValues = [];\n this.rowData = [this._defaultRow];\n this.rowCount = this.rowData.length;\n\n this._buttonValueName = this.label?.length ? this.label : 'value0';\n this._firstDropdownValueName = this.firstDropdownLabel?.length ? this.firstDropdownLabel : 'value1';\n this._secondDropdownValueName = this.secondDropdownLabel?.length ? this.secondDropdownLabel : 'value2';\n this._inputValueName = this.inputFildLabel?.length ? this.inputFildLabel : 'value3';\n this._dateValueName = this.dateButtonText?.length ? this.dateButtonText : 'value4';\n }\n\n componentDidLoad() {}\n\n emittValuesIfValid() {\n this.formValues = [];\n this.rowData.forEach(item => {\n const rowValue: FormValue = { row: [] };\n\n const buttonSelection = item.buttons.find(x => x.selected === true);\n if (buttonSelection) {\n const buttonValue: RowValue = { name: this._buttonValueName, value: buttonSelection.label };\n rowValue.row.push(buttonValue);\n }\n\n const firstDropdownSelection = item.firstDropdown.find(x => x.selected === true);\n if (firstDropdownSelection) {\n const firstDropdownValue: RowValue = { name: this._firstDropdownValueName, value: firstDropdownSelection.label };\n rowValue.row.push(firstDropdownValue);\n }\n\n const secondDropdownSelection = item.secondDropdown.find(x => x.selected === true);\n if (secondDropdownSelection) {\n const secondDropdownValue: RowValue = { name: this._secondDropdownValueName, value: secondDropdownSelection.label };\n rowValue.row.push(secondDropdownValue);\n }\n\n const input = item.input;\n if (input?.length) {\n const inputValue: RowValue = { name: this._inputValueName, value: input };\n rowValue.row.push(inputValue);\n }\n\n const dates = item.dates[\"start\"];\n if (dates?.length) {\n const datestValue: RowValue = { name: this._dateValueName, value: dates };\n rowValue.row.push(datestValue);\n }\n\n if (rowValue.row.length === 5) {\n this.formValues.push(rowValue);\n }\n });\n\n if (this.formValues.length === this.rowData.length) {\n const valueJsonString = JSON.stringify(this.formValues);\n this.allFormValues.emit(valueJsonString);\n } else {\n this.allFormValues.emit('');\n }\n }\n\n @Listen('rowValueChange')\n predefinedValueChange(e) {\n const indexToUpdate = this.rowData.findIndex(data => data.id === e.detail.id);\n const val: PredefinedValues = e.detail;\n this.rowData[indexToUpdate] = {\n ...this.rowData[indexToUpdate],\n buttons: val.buttons,\n firstDropdown: val.firstDropdown,\n secondDropdown: val.secondDropdown,\n input: val.input,\n dates: val.dates,\n dateRange: val.dateRange,\n };\n this.emittValuesIfValid();\n }\n\n @Listen('deleteRowEvent')\n deleteRowEvent(e) {\n const indexToRemove = this.rowData.findIndex(data => data.id === e.detail);\n this.rowData.splice(indexToRemove, 1);\n this.rowData = [...this.rowData];\n this.rowCount = this.rowData.length;\n this.emittValuesIfValid();\n }\n\n generateUniqueId() {\n return uuidv4();\n }\n\n addRow() {\n const newRow = this._defaultRow;\n newRow.id = this.generateUniqueId();\n\n this.rowData = [...this.rowData, newRow];\n this.rowCount = this.rowData.length;\n }\n\n setDaysArr() {\n const language = this.languageCode.toLowerCase();\n\n switch (language) {\n case 'en':\n this._defaultRow.dateRange.days = [\n { label: 'Monday', value: '1', selected: false },\n { label: 'Tuesday', value: '2', selected: false },\n { label: 'Wednesday', value: '3', selected: false },\n { label: 'Thursday', value: '4', selected: false },\n { label: 'Friday', value: '5', selected: false },\n ];\n break;\n\n case 'sv':\n this._defaultRow.dateRange.days = [\n { label: 'Måndag', value: '1', selected: false },\n { label: 'Tisdag', value: '2', selected: false },\n { label: 'Onsdag', value: '3', selected: false },\n { label: 'Torsdag', value: '4', selected: false },\n { label: 'Fredag', value: '5', selected: false },\n ];\n break;\n\n case 'da':\n this._defaultRow.dateRange.days = [\n { label: 'Mandag', value: '1', selected: false },\n { label: 'Tirsdag', value: '2', selected: false },\n { label: 'Onsdag', value: '3', selected: false },\n { label: 'Torsdag', value: '4', selected: false },\n { label: 'Fredag', value: '5', selected: false },\n ];\n break;\n\n case 'fi':\n this._defaultRow.dateRange.days = [\n { label: 'Maanantai', value: '1', selected: false },\n { label: 'Tiistai', value: '2', selected: false },\n { label: 'Keskiviikko', value: '3', selected: false },\n { label: 'Torstai', value: '4', selected: false },\n { label: 'Perjantai', value: '5', selected: false },\n ];\n break;\n\n case 'no':\n this._defaultRow.dateRange.days = [\n { label: 'Mandag', value: '1', selected: false },\n { label: 'Tirsdag', value: '2', selected: false },\n { label: 'Onsdag', value: '3', selected: false },\n { label: 'Torsdag', value: '4', selected: false },\n { label: 'Fredag', value: '5', selected: false },\n ];\n break;\n\n default:\n this._defaultRow.dateRange.days = [\n { label: 'Monday', value: '1', selected: false },\n { label: 'Tuesday', value: '2', selected: false },\n { label: 'Wednesday', value: '3', selected: false },\n { label: 'Thursday', value: '4', selected: false },\n { label: 'Friday', value: '5', selected: false },\n ];\n break;\n }\n }\n\n render() {\n return (\n <Host>\n {this.rowData?.map((data, i) => {\n return (\n <div class={'generated-row-' + i} id={'generated-row-connected-dropdown-' + i}>\n <pn-multi-row-connected-dropdown-row\n dropdown-data={this.dropdownData}\n language-code={this.languageCode}\n label={this.label}\n first-dropdown-label={this.firstDropdownLabel}\n second-dropdown-label={this.secondDropdownLabel}\n dropdown-placeholder={this.dropdownPlaceholder}\n add-row-text={this.addRowText}\n input-fild-label={this.inputFildLabel}\n input-fild-placeholder={this.inputFildPlaceholder}\n date-button-text={this.dateButtonText}\n date-placeholder={this.datePlaceholder}\n date-days-from-today={this.dateDaysFromToday}\n allow-multiple-dates={this.allowMultipleDates}\n start-date-label={this.startDateLabel}\n end-date-label={this.endDateLabel}\n multi-date-helper-text={this.multiDateHelperText}\n generate-dates-button-text={this.generateDatesButtonText}\n save-date-button-text={this.saveDateButtonText}\n no-dates-text={this.noDatesText}\n index={i}\n predefined-value={JSON.stringify(data)}\n years-to-add-to-end-date={this.yearsToAddToEndDate}\n ></pn-multi-row-connected-dropdown-row>\n </div>\n );\n })}\n\n {this.allowMultipleRows ? (\n <div class=\"connected-dropdown__row\">\n <pn-button\n tooltip={this.addRowText ? this.addRowText : null}\n left-icon=\"true\"\n arialabel=\"Add\"\n icon={plus}\n appearance=\"light\"\n variant=\"borderless\"\n class=\"connected-dropdown__button-right\"\n onClick={() => {\n this.addRow();\n }}\n >\n {this.addRowText}\n </pn-button>\n </div>\n ) : null}\n </Host>\n );\n }\n}\n"],"version":3}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@postnord/pn-marketweb-components",
3
- "version": "3.0.1",
3
+ "version": "3.0.3",
4
4
  "description": "PostNord Market Websites Components",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -0,0 +1,2 @@
1
+ import{r as t,c as e,h as o,d as n,g as d}from"./p-06555615.js";import{d as s}from"./p-aed52bc1.js";import{a as i}from"./p-76c2c01f.js";const c="pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}pn-dropdown-choice-adds-row{gap:1rem}pn-dropdown-choice-adds-row .dropdown-choice-form-row{display:flex;gap:1rem}pn-dropdown-choice-adds-row .pn-row-select-dropdown{width:50%;margin-bottom:1rem}@media only screen and (max-width: 640px){pn-dropdown-choice-adds-row .pn-row-select-dropdown{width:100%}}pn-dropdown-choice-adds-row .pn-dropdown-choice-table{width:100%;border-spacing:0rem}pn-dropdown-choice-adds-row .pn-dropdown-choice-table thead th{text-align:left;padding:1rem 0.5rem}pn-dropdown-choice-adds-row .pn-dropdown-choice-table thead th label{color:#5e554a;font-size:1.4rem;font-weight:400}pn-dropdown-choice-adds-row .pn-dropdown-choice-table thead .table-header--name{width:40%}pn-dropdown-choice-adds-row .pn-dropdown-choice-table thead .table-header--dropdown{width:40%}pn-dropdown-choice-adds-row .pn-dropdown-choice-table thead .table-header--input{width:10%}pn-dropdown-choice-adds-row .pn-dropdown-choice-table thead .table-header--delete{width:10%}pn-dropdown-choice-adds-row .pn-dropdown-choice-table tbody td{padding:0.5rem}pn-dropdown-choice-adds-row .pn-dropdown-choice-table tbody tr:nth-child(even){background-color:#effbff}pn-dropdown-choice-adds-row .pn-dropdown-choice-table tbody .tr-delete{text-align:center}pn-dropdown-choice-adds-row .pn-dropdown-choice-table tfoot td small{color:#a70707;vertical-align:middle}pn-dropdown-choice-adds-row .pn-dropdown-choice-table tfoot td pn-icon{margin-right:0.25em;vertical-align:middle}";const a=c;const r=class{constructor(o){t(this,o);this.rowvalues=e(this,"rowvalues",7);this.pnRowSelectDropdown=null;this.tableHead=null;this.tableBody=null;this.formRowEvent=t=>{var e;const o=s(this.updateHiddenFieldValue.bind(this),500);if(t.target.matches("input")){["change","keyup"].forEach((e=>{t.target.addEventListener(e,o)}))}else{const n=(e=t.target.closest(".generated-table-row"))===null||e===void 0?void 0:e.querySelector("pn-select");if(n){n.addEventListener("selectOption",o)}}};this.dropdownData=null;this.addRowDropdownName="";this.addRowDropdownPlaceholder="";this.addRowDropdownLabel="";this.rowNameLabel="";this.rowHasDropdown=true;this.rowDropdownLabel="";this.rowDropdownPlaceholder="";this.rowInputLabel="";this.rowDeleteButtonText="";this.totalInputLimit=0;this.inputLimitWarning=null;this.nextRowIndex=null;this.rowSelectDropdownArr=null;this.columnCount=null;this.showWarning=false;this.formValue=null}dropdownDataWatcher(){if(typeof this.dropdownData==="string"){this._dropdownData=JSON.parse(this.dropdownData)}else{this._dropdownData=this.dropdownData}}componentWillLoad(){this.dropdownDataWatcher()}componentDidLoad(){this.setInitialValues();this.addEventHandlers()}addEventHandlers(){this.pnRowSelectDropdown.addEventListener("selectOption",s(this.addRowElement.bind(this),500))}setInitialValues(){this.nextRowIndex=0;this.columnCount=this.rowHasDropdown?4:3;this.setRowSelectDropdownArr()}setRowSelectDropdownArr(){this.rowSelectDropdownArr=[];this._dropdownData.forEach((t=>{this.rowSelectDropdownArr.push(t.label)}))}updateHiddenFieldValue(){const t=[...this.tableBody.querySelectorAll("tr")];const e=this.rowHasDropdown?3:2;const o=[];if(t.length){t.forEach((t=>{var n,d,s;const i={row:[]};const c=t.querySelector(".tr-name");const a=t.querySelector(".tr-dropdown");const r=t.querySelector(".tr-input");const l={name:this.rowNameLabel,value:c===null||c===void 0?void 0:c.innerHTML};i.row.push(l);const h=a.querySelector(".current-selection");if(h){const t=(n=h.textContent)!==null&&n!==void 0?n:"";if(t.length){const e={name:this.rowDropdownLabel,value:t};i.row.push(e)}}if(!h&&e===3){const t={name:this.rowDropdownLabel,value:""};i.row.push(t)}const p=parseInt((s=(d=r.querySelector("input"))===null||d===void 0?void 0:d.value)!==null&&s!==void 0?s:"0");if(p>0){const t={name:this.rowInputLabel,value:p.toString()};i.row.push(t)}if(i.row.length===e){o.push(i)}}))}if(o.length&&o.length===t.length){const t=JSON.stringify(o);this.formValue=`PN-JSON|${t}`}else{this.formValue=""}this.rowvalues.emit(this.formValue);this.checkInputTotal()}addRowElement(){const t=this.pnRowSelectDropdown.querySelector("[aria-selected=true]");const e=t===null||t===void 0?void 0:t.textContent;const o=this.tableBody;const n=document.createElement("tr");n.setAttribute("index",`${this.nextRowIndex}`);n.setAttribute("class","generated-table-row");n.onclick=t=>this.formRowEvent(t);const d=document.createElement("td");d.setAttribute("class","tr-name");d.innerHTML=e;d.dataset.name=e;n.appendChild(d);if(this.rowHasDropdown){const t=this.createDropdownColumn(e);n.appendChild(t)}const s=this.createInputColumn(e);n.appendChild(s);const i=this.createDeleteButtonColumn();n.appendChild(i);o.appendChild(n);this.updateRowSelectDropdown();this.nextRowIndex++}getCurrentRow(t){return this.hostElement.querySelectorAll(`.tr-name[data-name='${t}'`)}createDropdownColumn(t){const e=document.createElement("td");e.setAttribute("class","tr-dropdown");const o=this._dropdownData.find((e=>e.label===t));const n=[];const d=this.getCurrentRow(t);d.forEach((t=>{var e,o;n.push((o=(e=t.parentElement)===null||e===void 0?void 0:e.querySelector(".tr-dropdown [aria-selected=true]"))===null||o===void 0?void 0:o.textContent)}));if(Array.isArray(o.values)&&o.values.length){const d=document.createElement("pn-select");d.setAttribute("name",`${t}-dropdown`);d.setAttribute("placeholder",this.rowDropdownPlaceholder);const s=o.values.filter((t=>!(n===null||n===void 0?void 0:n.includes(t.value))));s.forEach((t=>{const e=document.createElement("pn-option");e.setAttribute("label",t.label);e.setAttribute("value",t.label);d.appendChild(e)}));e.appendChild(d)}return e}createInputColumn(t){const e=document.createElement("td");e.setAttribute("class","tr-input");const o=document.createElement("pn-marketweb-input");o.setAttribute("type","number");o.setAttribute("name",`${t}-input`);o.setAttribute("placeholder","0");e.appendChild(o);return e}createDeleteButtonColumn(){const t=document.createElement("td");t.setAttribute("class","tr-delete");const e=document.createElement("pn-button");e.onclick=t=>this.deleteRow(t);e.setAttribute("appearance","warning");e.setAttribute("small","true");e.appendChild(document.createTextNode(this.rowDeleteButtonText));t.appendChild(e);return t}updateRowSelectDropdown(){const t=[].map.call(this.tableBody.querySelectorAll(".tr-name"),(t=>{var e,o,n;const d=(e=t===null||t===void 0?void 0:t.parentElement)===null||e===void 0?void 0:e.querySelector(".tr-dropdown");const s=(o=d===null||d===void 0?void 0:d.querySelector(".pn-select-content span"))===null||o===void 0?void 0:o.textContent;const i={rowName:t===null||t===void 0?void 0:t.innerHTML,selectedValue:(n=d===null||d===void 0?void 0:d.querySelector("[aria-selected=true]"))===null||n===void 0?void 0:n.textContent,placeholder:s};return i}));if(t.length){this.rowSelectDropdownArr=[];this._dropdownData.forEach((e=>{const o=t.filter((t=>t.rowName===e.label));const n=e.values.length>0&&o.length>=e.values.length||e.values.length===0&&o.length===1;if(!n){this.rowSelectDropdownArr.push(e.label)}}))}else{this.setRowSelectDropdownArr()}const e=this.pnRowSelectDropdown.querySelectorAll("pn-option");e.forEach((t=>{t.removeAttribute("selected")}));const o=this.pnRowSelectDropdown.querySelector(".pn-select-content span");o.innerHTML=this.addRowDropdownPlaceholder;this.updateHiddenFieldValue()}deleteRow(t){t.preventDefault();this.nextRowIndex--;const e=t.currentTarget;const o=e.closest("tr");o.remove();const n=[...this.tableBody.querySelectorAll("tr")];n.map(((t,e)=>{t.setAttribute("index",`${e}`)}));this.updateRowSelectDropdown()}checkInputTotal(){const t=this.tableBody.querySelectorAll("tr");if(this.totalInputLimit===0||t.length<1){this.showWarning=false;return}let e=0;t.forEach((t=>{var o;const n=t.querySelector("pn-marketweb-input");if(n.value){e+=(o=parseInt(n.value))!==null&&o!==void 0?o:0}}));this.showWarning=e>this.totalInputLimit?true:false}render(){var t;return o(n,{key:"e42637fdfbc059fe081da8fb8af2a2469f357d15"},o("div",{key:"da4240a50ed0be9b937bbcb998ca26569c1ffd8c",class:"dropdown-choice-form-row"},o("pn-select",{key:"7b57bbef46778d4ce63b937e80b2df10501e36c5",ref:t=>this.pnRowSelectDropdown=t,name:this.addRowDropdownName,placeholder:this.addRowDropdownPlaceholder,label:this.addRowDropdownLabel,class:"pn-row-select-dropdown","empty-option":"true"},(t=this.rowSelectDropdownArr)===null||t===void 0?void 0:t.map((t=>o("pn-option",{label:t,value:t}))))),o("div",{key:"ae290b0a39886fead6a6cf6cff9e7ff0329b0cf2",class:"dropdown-choice-form-row"},o("table",{key:"1fac0a253d5ea42876bda4a32dd43db1223bd650",class:"pn-dropdown-choice-table"},o("thead",{key:"dc119ee9a215b433e480d3ace1a04fc4c093fe5a",ref:t=>this.tableHead=t},this.nextRowIndex===0?null:o("tr",null,o("th",{class:"table-header--name"},o("label",null,this.rowNameLabel)),this.rowHasDropdown?o("th",{class:"table-header--dropdown"},o("label",null,this.rowDropdownLabel)):null,o("th",{class:"table-header--input"},o("label",null,this.rowInputLabel)),o("th",{class:"table-header--delete"}))),o("tbody",{key:"334d8505ff7214e80cf26ae638134b8efedf1c6e",ref:t=>this.tableBody=t,class:"pn-dropdown-choice-table-slot"},o("slot",{key:"40463ee8d5959bb3c2fbf10d7256883699eaf5ca"})),o("tfoot",{key:"8bc7637282d2e5656096233a7b431ae6d9961972"},this.showWarning?o("tr",null,o("td",{colSpan:this.columnCount},o("pn-icon",{icon:i,small:true,color:"warning"}),o("small",{class:"dropdown-choice-error-message"},this.inputLimitWarning))):null))))}get hostElement(){return d(this)}static get watchers(){return{dropdownData:["dropdownDataWatcher"]}}};r.style=a;export{r as pn_dropdown_choice_adds_row};
2
+ //# sourceMappingURL=p-07253be3.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["pnDropdownChoiceAddsRowCss","PnDropdownChoiceAddsRowStyle0","pnDropdownChoiceAddsRow","this","pnRowSelectDropdown","tableHead","tableBody","formRowEvent","e","debouncedAddValue","debounce","updateHiddenFieldValue","bind","target","matches","forEach","eventName","addEventListener","rowDropdown","_a","closest","querySelector","dropdownDataWatcher","dropdownData","_dropdownData","JSON","parse","componentWillLoad","componentDidLoad","setInitialValues","addEventHandlers","addRowElement","nextRowIndex","columnCount","rowHasDropdown","setRowSelectDropdownArr","rowSelectDropdownArr","element","push","label","allRows","querySelectorAll","columnValueCount","formValues","length","elm","row","nameElm","dropdownElm","inputElm","nameValue","name","rowNameLabel","value","innerHTML","dropdown","dropdownSelection","textContent","dropdownValue","rowDropdownLabel","inputValue","parseInt","_c","_b","inputColumnValue","rowInputLabel","toString","valueJsonString","stringify","formValue","rowvalues","emit","checkInputTotal","selected","selectedValue","slotElm","newRow","document","createElement","setAttribute","onclick","rowNameColumn","dataset","appendChild","rowDropdownColumn","createDropdownColumn","rowInputColumn","createInputColumn","deleteButton","createDeleteButtonColumn","updateRowSelectDropdown","getCurrentRow","hostElement","dropdownColumn","selectedItem","find","arr","selectedOptionValues","currentRow","parentElement","Array","isArray","values","rowDropdownPlaceholder","filtereredValues","filter","item","includes","childItem","childOption","inputColumn","buttonColumn","buttonElm","deleteRow","createTextNode","rowDeleteButtonText","rows","map","call","el","dropdownPlaceholder","rowName","placeholder","filteredRows","mainOptionReachedMaxPossibleRows","selectOptions","removeAttribute","addRowDropdownPlaceholder","preventDefault","targetElm","currentTarget","targetRow","remove","index","totalInputLimit","showWarning","totalInput","inputField","render","h","Host","key","class","ref","addRowDropdownName","addRowDropdownLabel","colSpan","icon","alert_exclamation_circle","small","color","inputLimitWarning"],"sources":["src/components/input/pn-dropdown-choice-adds-row/pn-dropdown-choice-adds-row.scss?tag=pn-dropdown-choice-adds-row","src/components/input/pn-dropdown-choice-adds-row/pn-dropdown-choice-adds-row.tsx"],"sourcesContent":["@import '../../../globals/main.scss';\n\npn-dropdown-choice-adds-row {\n gap: 1rem;\n\n .dropdown-choice-form-row {\n display: flex;\n gap: 1rem;\n }\n\n .pn-row-select-dropdown {\n width: 50%;\n margin-bottom: 1rem;\n }\n\n @media only screen and (max-width: 640px) {\n .pn-row-select-dropdown {\n width: 100%;\n }\n }\n\n .pn-dropdown-choice-table {\n width: 100%;\n border-spacing: 0rem;\n\n thead {\n th {\n text-align: left;\n padding: 1rem 0.5rem;\n\n label {\n color: $gray700;\n font-size: 1.4rem;\n font-weight: 400;\n }\n }\n\n .table-header {\n &--name {\n width: 40%;\n }\n\n &--dropdown {\n width: 40%;\n }\n\n &--input {\n width: 10%;\n }\n\n &--delete {\n width: 10%;\n }\n }\n }\n\n tbody {\n td {\n padding: 0.5rem;\n }\n\n tr:nth-child(even) {\n background-color: #effbff;\n }\n\n .tr-delete {\n text-align: center;\n }\n }\n\n tfoot {\n td {\n small {\n color: $warning;\n vertical-align: middle;\n }\n\n pn-icon {\n margin-right: 0.25em;\n vertical-align: middle;\n }\n }\n }\n }\n}\n","import { Component, Prop, h, Element, State, Host, Watch, Event, EventEmitter } from '@stencil/core';\nimport { FormValue, RowValue, Root } from './types';\nimport debounce from 'debounce';\nimport { alert_exclamation_circle } from 'pn-design-assets/pn-assets/icons.js';\n\n@Component({\n tag: 'pn-dropdown-choice-adds-row',\n styleUrl: 'pn-dropdown-choice-adds-row.scss',\n})\nexport class pnDropdownChoiceAddsRow {\n @Element() hostElement: Element;\n pnRowSelectDropdown: HTMLElement = null;\n tableHead: HTMLElement = null;\n tableBody: HTMLElement = null;\n private _dropdownData: Root[];\n\n @Prop() dropdownData: string | Root[] = null;\n @Prop() addRowDropdownName: string = '';\n @Prop() addRowDropdownPlaceholder: string = '';\n @Prop() addRowDropdownLabel: string = '';\n @Prop() rowNameLabel: string = '';\n @Prop() rowHasDropdown: boolean = true;\n @Prop() rowDropdownLabel: string = '';\n @Prop() rowDropdownPlaceholder: string = '';\n @Prop() rowInputLabel: string = '';\n @Prop() rowDeleteButtonText: string = '';\n @Prop() totalInputLimit: number = 0;\n @Prop() inputLimitWarning: string = null;\n\n @State() nextRowIndex: number = null;\n @State() rowSelectDropdownArr: string[] = null;\n @State() columnCount: number = null;\n @State() showWarning: boolean = false;\n @State() formValue: string = null;\n\n @Event() rowvalues: EventEmitter<string>;\n\n @Watch('dropdownData')\n dropdownDataWatcher() {\n if (typeof this.dropdownData === 'string') {\n this._dropdownData = JSON.parse(this.dropdownData);\n } else {\n this._dropdownData = this.dropdownData;\n }\n }\n\n componentWillLoad() {\n this.dropdownDataWatcher();\n }\n\n componentDidLoad() {\n this.setInitialValues();\n this.addEventHandlers();\n }\n\n addEventHandlers() {\n this.pnRowSelectDropdown.addEventListener('selectOption', debounce(this.addRowElement.bind(this), 500));\n }\n\n setInitialValues() {\n this.nextRowIndex = 0;\n this.columnCount = this.rowHasDropdown ? 4 : 3;\n this.setRowSelectDropdownArr();\n }\n\n setRowSelectDropdownArr() {\n this.rowSelectDropdownArr = [];\n this._dropdownData.forEach(element => {\n this.rowSelectDropdownArr.push(element.label);\n });\n }\n\n formRowEvent = e => {\n const debouncedAddValue = debounce(this.updateHiddenFieldValue.bind(this), 500);\n\n if (e.target.matches('input')) {\n ['change', 'keyup'].forEach(eventName => {\n e.target.addEventListener(eventName, debouncedAddValue);\n });\n } else {\n const rowDropdown = e.target.closest('.generated-table-row')?.querySelector('pn-select') as HTMLElement;\n if (rowDropdown) {\n rowDropdown.addEventListener('selectOption', debouncedAddValue);\n }\n }\n };\n\n updateHiddenFieldValue() {\n const allRows = [...this.tableBody.querySelectorAll('tr')];\n const columnValueCount = this.rowHasDropdown ? 3 : 2;\n const formValues: FormValue[] = [];\n\n if (allRows.length) {\n allRows.forEach(elm => {\n const row: FormValue = { row: [] };\n const nameElm = elm.querySelector('.tr-name');\n const dropdownElm = elm.querySelector('.tr-dropdown');\n const inputElm = elm.querySelector('.tr-input');\n\n const nameValue: RowValue = { name: this.rowNameLabel, value: nameElm?.innerHTML };\n row.row.push(nameValue);\n\n const dropdown = dropdownElm.querySelector('.current-selection');\n if (dropdown) {\n const dropdownSelection = dropdown.textContent ?? '';\n\n if (dropdownSelection.length) {\n const dropdownValue: RowValue = {\n name: this.rowDropdownLabel,\n value: dropdownSelection,\n };\n row.row.push(dropdownValue);\n }\n }\n if (!dropdown && columnValueCount === 3) {\n const dropdownValue: RowValue = {\n name: this.rowDropdownLabel,\n value: '',\n };\n row.row.push(dropdownValue);\n }\n\n const inputValue = parseInt(inputElm.querySelector('input')?.value ?? '0');\n if (inputValue > 0) {\n const inputColumnValue: RowValue = { name: this.rowInputLabel, value: inputValue.toString() };\n row.row.push(inputColumnValue);\n }\n\n if (row.row.length === columnValueCount) {\n formValues.push(row);\n }\n });\n }\n\n if (formValues.length && formValues.length === allRows.length) {\n const valueJsonString = JSON.stringify(formValues);\n this.formValue = `PN-JSON|${valueJsonString}`;\n } else {\n this.formValue = '';\n }\n\n this.rowvalues.emit(this.formValue);\n this.checkInputTotal();\n }\n\n addRowElement() {\n const selected = this.pnRowSelectDropdown.querySelector('[aria-selected=true]');\n const selectedValue = selected?.textContent;\n const slotElm = this.tableBody;\n const newRow = document.createElement('tr');\n newRow.setAttribute('index', `${this.nextRowIndex}`);\n newRow.setAttribute('class', 'generated-table-row');\n newRow.onclick = e => this.formRowEvent(e);\n const rowNameColumn = document.createElement('td');\n rowNameColumn.setAttribute('class', 'tr-name');\n rowNameColumn.innerHTML = selectedValue;\n rowNameColumn.dataset.name = selectedValue;\n newRow.appendChild(rowNameColumn);\n\n if (this.rowHasDropdown) {\n const rowDropdownColumn = this.createDropdownColumn(selectedValue);\n newRow.appendChild(rowDropdownColumn);\n }\n\n const rowInputColumn = this.createInputColumn(selectedValue);\n newRow.appendChild(rowInputColumn);\n const deleteButton = this.createDeleteButtonColumn();\n newRow.appendChild(deleteButton);\n\n slotElm.appendChild(newRow);\n this.updateRowSelectDropdown();\n this.nextRowIndex++;\n }\n\n getCurrentRow(selectedValue: string) {\n return this.hostElement.querySelectorAll(`.tr-name[data-name='${selectedValue}'`);\n }\n\n createDropdownColumn(selectedValue: string) {\n const dropdownColumn = document.createElement('td');\n dropdownColumn.setAttribute('class', 'tr-dropdown');\n const selectedItem = this._dropdownData.find(arr => arr.label === selectedValue);\n const selectedOptionValues = [];\n const currentRow = this.getCurrentRow(selectedValue);\n\n currentRow.forEach(row => {\n selectedOptionValues.push(row.parentElement?.querySelector('.tr-dropdown [aria-selected=true]')?.textContent);\n });\n\n if (Array.isArray(selectedItem.values) && selectedItem.values.length) {\n const dropdown = document.createElement('pn-select');\n dropdown.setAttribute('name', `${selectedValue}-dropdown`);\n dropdown.setAttribute('placeholder', this.rowDropdownPlaceholder);\n\n const filtereredValues = selectedItem.values.filter(item => !selectedOptionValues?.includes(item.value));\n\n filtereredValues.forEach(childItem => {\n const childOption = document.createElement('pn-option');\n childOption.setAttribute(\"label\", childItem.label);\n childOption.setAttribute(\"value\", childItem.label)\n dropdown.appendChild(childOption);\n });\n\n dropdownColumn.appendChild(dropdown);\n }\n\n return dropdownColumn;\n }\n\n createInputColumn(selectedValue: string) {\n const inputColumn = document.createElement('td');\n inputColumn.setAttribute('class', 'tr-input');\n const inputElm = document.createElement('pn-marketweb-input');\n inputElm.setAttribute('type', 'number');\n inputElm.setAttribute('name', `${selectedValue}-input`);\n inputElm.setAttribute('placeholder', '0');\n inputColumn.appendChild(inputElm);\n return inputColumn;\n }\n\n createDeleteButtonColumn() {\n const buttonColumn = document.createElement('td');\n buttonColumn.setAttribute('class', 'tr-delete');\n const buttonElm = document.createElement('pn-button');\n buttonElm.onclick = e => this.deleteRow(e);\n buttonElm.setAttribute('appearance', 'warning');\n buttonElm.setAttribute('small', 'true');\n buttonElm.appendChild(document.createTextNode(this.rowDeleteButtonText));\n buttonColumn.appendChild(buttonElm);\n return buttonColumn;\n }\n\n updateRowSelectDropdown() {\n type Row = { rowName: string; selectedValue: string; placeholder: string };\n\n const rows: Row[] = [].map.call(this.tableBody.querySelectorAll('.tr-name'), el => {\n const dropdownColumn = el?.parentElement?.querySelector('.tr-dropdown');\n const dropdownPlaceholder = dropdownColumn?.querySelector('.pn-select-content span')?.textContent;\n const row: Row = {\n rowName: el?.innerHTML,\n selectedValue: dropdownColumn?.querySelector('[aria-selected=true]')?.textContent,\n placeholder: dropdownPlaceholder,\n };\n return row;\n });\n\n if (rows.length) {\n this.rowSelectDropdownArr = [];\n\n this._dropdownData.forEach(element => {\n const filteredRows = rows.filter(row => row.rowName === element.label);\n const mainOptionReachedMaxPossibleRows =\n (element.values.length > 0 && filteredRows.length >= element.values.length) || (element.values.length === 0 && filteredRows.length === 1);\n if (!mainOptionReachedMaxPossibleRows) {\n this.rowSelectDropdownArr.push(element.label);\n }\n });\n } else {\n this.setRowSelectDropdownArr();\n }\n\n const selectOptions = this.pnRowSelectDropdown.querySelectorAll('pn-option');\n selectOptions.forEach(elm => {\n elm.removeAttribute('selected');\n });\n\n const placeholder = this.pnRowSelectDropdown.querySelector('.pn-select-content span');\n placeholder.innerHTML = this.addRowDropdownPlaceholder;\n\n this.updateHiddenFieldValue();\n }\n\n deleteRow(e: Event) {\n e.preventDefault();\n this.nextRowIndex--;\n const targetElm = e.currentTarget as HTMLButtonElement;\n const targetRow = targetElm.closest('tr');\n targetRow.remove();\n const allRows = [...this.tableBody.querySelectorAll('tr')];\n\n allRows.map((elm, index) => {\n elm.setAttribute('index', `${index}`);\n });\n\n this.updateRowSelectDropdown();\n }\n\n checkInputTotal() {\n const allRows = this.tableBody.querySelectorAll('tr');\n\n if (this.totalInputLimit === 0 || allRows.length < 1) {\n this.showWarning = false;\n return;\n }\n\n let totalInput = 0;\n\n allRows.forEach(element => {\n const inputField = element.querySelector('pn-marketweb-input');\n if (inputField.value) {\n totalInput += parseInt(inputField.value) ?? 0;\n }\n });\n this.showWarning = totalInput > this.totalInputLimit ? true : false;\n }\n\n render() {\n return (\n <Host>\n <div class=\"dropdown-choice-form-row\">\n <pn-select\n ref={el => (this.pnRowSelectDropdown = el as HTMLElement)}\n name={this.addRowDropdownName}\n placeholder={this.addRowDropdownPlaceholder}\n label={this.addRowDropdownLabel}\n class=\"pn-row-select-dropdown\"\n >\n {this.rowSelectDropdownArr?.map((value: string) => <pn-option label={value} value={value}></pn-option>)}\n </pn-select>\n </div>\n <div class=\"dropdown-choice-form-row\">\n <table class=\"pn-dropdown-choice-table\">\n <thead ref={el => (this.tableHead = el as HTMLElement)}>\n {this.nextRowIndex === 0 ? null : (\n <tr>\n <th class=\"table-header--name\">\n <label>{this.rowNameLabel}</label>\n </th>\n {this.rowHasDropdown ? (\n <th class=\"table-header--dropdown\">\n <label>{this.rowDropdownLabel}</label>\n </th>\n ) : null}\n <th class=\"table-header--input\">\n <label>{this.rowInputLabel}</label>\n </th>\n <th class=\"table-header--delete\"></th>\n </tr>\n )}\n </thead>\n <tbody ref={el => (this.tableBody = el as HTMLElement)} class=\"pn-dropdown-choice-table-slot\">\n <slot></slot>\n </tbody>\n <tfoot>\n {this.showWarning ? (\n <tr>\n <td colSpan={this.columnCount}>\n <pn-icon icon={alert_exclamation_circle} small color=\"warning\"></pn-icon>\n <small class=\"dropdown-choice-error-message\">{this.inputLimitWarning}</small>\n </td>\n </tr>\n ) : null}\n </tfoot>\n </table>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["pnDropdownChoiceAddsRowCss","PnDropdownChoiceAddsRowStyle0","pnDropdownChoiceAddsRow","this","pnRowSelectDropdown","tableHead","tableBody","formRowEvent","e","debouncedAddValue","debounce","updateHiddenFieldValue","bind","target","matches","forEach","eventName","addEventListener","rowDropdown","_a","closest","querySelector","dropdownDataWatcher","dropdownData","_dropdownData","JSON","parse","componentWillLoad","componentDidLoad","setInitialValues","addEventHandlers","addRowElement","nextRowIndex","columnCount","rowHasDropdown","setRowSelectDropdownArr","rowSelectDropdownArr","element","push","label","allRows","querySelectorAll","columnValueCount","formValues","length","elm","row","nameElm","dropdownElm","inputElm","nameValue","name","rowNameLabel","value","innerHTML","dropdown","dropdownSelection","textContent","dropdownValue","rowDropdownLabel","inputValue","parseInt","_c","_b","inputColumnValue","rowInputLabel","toString","valueJsonString","stringify","formValue","rowvalues","emit","checkInputTotal","selected","selectedValue","slotElm","newRow","document","createElement","setAttribute","onclick","rowNameColumn","dataset","appendChild","rowDropdownColumn","createDropdownColumn","rowInputColumn","createInputColumn","deleteButton","createDeleteButtonColumn","updateRowSelectDropdown","getCurrentRow","hostElement","dropdownColumn","selectedItem","find","arr","selectedOptionValues","currentRow","parentElement","Array","isArray","values","rowDropdownPlaceholder","filtereredValues","filter","item","includes","childItem","childOption","inputColumn","buttonColumn","buttonElm","deleteRow","createTextNode","rowDeleteButtonText","rows","map","call","el","dropdownPlaceholder","rowName","placeholder","filteredRows","mainOptionReachedMaxPossibleRows","selectOptions","removeAttribute","addRowDropdownPlaceholder","preventDefault","targetElm","currentTarget","targetRow","remove","index","totalInputLimit","showWarning","totalInput","inputField","render","h","Host","key","class","ref","addRowDropdownName","addRowDropdownLabel","colSpan","icon","alert_exclamation_circle","small","color","inputLimitWarning"],"sources":["src/components/input/pn-dropdown-choice-adds-row/pn-dropdown-choice-adds-row.scss?tag=pn-dropdown-choice-adds-row","src/components/input/pn-dropdown-choice-adds-row/pn-dropdown-choice-adds-row.tsx"],"sourcesContent":["@import '../../../globals/main.scss';\n\npn-dropdown-choice-adds-row {\n gap: 1rem;\n\n .dropdown-choice-form-row {\n display: flex;\n gap: 1rem;\n }\n\n .pn-row-select-dropdown {\n width: 50%;\n margin-bottom: 1rem;\n }\n\n @media only screen and (max-width: 640px) {\n .pn-row-select-dropdown {\n width: 100%;\n }\n }\n\n .pn-dropdown-choice-table {\n width: 100%;\n border-spacing: 0rem;\n\n thead {\n th {\n text-align: left;\n padding: 1rem 0.5rem;\n\n label {\n color: $gray700;\n font-size: 1.4rem;\n font-weight: 400;\n }\n }\n\n .table-header {\n &--name {\n width: 40%;\n }\n\n &--dropdown {\n width: 40%;\n }\n\n &--input {\n width: 10%;\n }\n\n &--delete {\n width: 10%;\n }\n }\n }\n\n tbody {\n td {\n padding: 0.5rem;\n }\n\n tr:nth-child(even) {\n background-color: #effbff;\n }\n\n .tr-delete {\n text-align: center;\n }\n }\n\n tfoot {\n td {\n small {\n color: $warning;\n vertical-align: middle;\n }\n\n pn-icon {\n margin-right: 0.25em;\n vertical-align: middle;\n }\n }\n }\n }\n}\n","import { Component, Prop, h, Element, State, Host, Watch, Event, EventEmitter } from '@stencil/core';\nimport { FormValue, RowValue, Root } from './types';\nimport debounce from 'debounce';\nimport { alert_exclamation_circle } from 'pn-design-assets/pn-assets/icons.js';\n\n@Component({\n tag: 'pn-dropdown-choice-adds-row',\n styleUrl: 'pn-dropdown-choice-adds-row.scss',\n})\nexport class pnDropdownChoiceAddsRow {\n @Element() hostElement: Element;\n pnRowSelectDropdown: HTMLElement = null;\n tableHead: HTMLElement = null;\n tableBody: HTMLElement = null;\n private _dropdownData: Root[];\n\n @Prop() dropdownData: string | Root[] = null;\n @Prop() addRowDropdownName: string = '';\n @Prop() addRowDropdownPlaceholder: string = '';\n @Prop() addRowDropdownLabel: string = '';\n @Prop() rowNameLabel: string = '';\n @Prop() rowHasDropdown: boolean = true;\n @Prop() rowDropdownLabel: string = '';\n @Prop() rowDropdownPlaceholder: string = '';\n @Prop() rowInputLabel: string = '';\n @Prop() rowDeleteButtonText: string = '';\n @Prop() totalInputLimit: number = 0;\n @Prop() inputLimitWarning: string = null;\n\n @State() nextRowIndex: number = null;\n @State() rowSelectDropdownArr: string[] = null;\n @State() columnCount: number = null;\n @State() showWarning: boolean = false;\n @State() formValue: string = null;\n\n @Event() rowvalues: EventEmitter<string>;\n\n @Watch('dropdownData')\n dropdownDataWatcher() {\n if (typeof this.dropdownData === 'string') {\n this._dropdownData = JSON.parse(this.dropdownData);\n } else {\n this._dropdownData = this.dropdownData;\n }\n }\n\n componentWillLoad() {\n this.dropdownDataWatcher();\n }\n\n componentDidLoad() {\n this.setInitialValues();\n this.addEventHandlers();\n }\n\n addEventHandlers() {\n this.pnRowSelectDropdown.addEventListener('selectOption', debounce(this.addRowElement.bind(this), 500));\n }\n\n setInitialValues() {\n this.nextRowIndex = 0;\n this.columnCount = this.rowHasDropdown ? 4 : 3;\n this.setRowSelectDropdownArr();\n }\n\n setRowSelectDropdownArr() {\n this.rowSelectDropdownArr = [];\n this._dropdownData.forEach(element => {\n this.rowSelectDropdownArr.push(element.label);\n });\n }\n\n formRowEvent = e => {\n const debouncedAddValue = debounce(this.updateHiddenFieldValue.bind(this), 500);\n\n if (e.target.matches('input')) {\n ['change', 'keyup'].forEach(eventName => {\n e.target.addEventListener(eventName, debouncedAddValue);\n });\n } else {\n const rowDropdown = e.target.closest('.generated-table-row')?.querySelector('pn-select') as HTMLElement;\n if (rowDropdown) {\n rowDropdown.addEventListener('selectOption', debouncedAddValue);\n }\n }\n };\n\n updateHiddenFieldValue() {\n const allRows = [...this.tableBody.querySelectorAll('tr')];\n const columnValueCount = this.rowHasDropdown ? 3 : 2;\n const formValues: FormValue[] = [];\n\n if (allRows.length) {\n allRows.forEach(elm => {\n const row: FormValue = { row: [] };\n const nameElm = elm.querySelector('.tr-name');\n const dropdownElm = elm.querySelector('.tr-dropdown');\n const inputElm = elm.querySelector('.tr-input');\n\n const nameValue: RowValue = { name: this.rowNameLabel, value: nameElm?.innerHTML };\n row.row.push(nameValue);\n\n const dropdown = dropdownElm.querySelector('.current-selection');\n if (dropdown) {\n const dropdownSelection = dropdown.textContent ?? '';\n\n if (dropdownSelection.length) {\n const dropdownValue: RowValue = {\n name: this.rowDropdownLabel,\n value: dropdownSelection,\n };\n row.row.push(dropdownValue);\n }\n }\n if (!dropdown && columnValueCount === 3) {\n const dropdownValue: RowValue = {\n name: this.rowDropdownLabel,\n value: '',\n };\n row.row.push(dropdownValue);\n }\n\n const inputValue = parseInt(inputElm.querySelector('input')?.value ?? '0');\n if (inputValue > 0) {\n const inputColumnValue: RowValue = { name: this.rowInputLabel, value: inputValue.toString() };\n row.row.push(inputColumnValue);\n }\n\n if (row.row.length === columnValueCount) {\n formValues.push(row);\n }\n });\n }\n\n if (formValues.length && formValues.length === allRows.length) {\n const valueJsonString = JSON.stringify(formValues);\n this.formValue = `PN-JSON|${valueJsonString}`;\n } else {\n this.formValue = '';\n }\n\n this.rowvalues.emit(this.formValue);\n this.checkInputTotal();\n }\n\n addRowElement() {\n const selected = this.pnRowSelectDropdown.querySelector('[aria-selected=true]');\n const selectedValue = selected?.textContent;\n const slotElm = this.tableBody;\n const newRow = document.createElement('tr');\n newRow.setAttribute('index', `${this.nextRowIndex}`);\n newRow.setAttribute('class', 'generated-table-row');\n newRow.onclick = e => this.formRowEvent(e);\n const rowNameColumn = document.createElement('td');\n rowNameColumn.setAttribute('class', 'tr-name');\n rowNameColumn.innerHTML = selectedValue;\n rowNameColumn.dataset.name = selectedValue;\n newRow.appendChild(rowNameColumn);\n\n if (this.rowHasDropdown) {\n const rowDropdownColumn = this.createDropdownColumn(selectedValue);\n newRow.appendChild(rowDropdownColumn);\n }\n\n const rowInputColumn = this.createInputColumn(selectedValue);\n newRow.appendChild(rowInputColumn);\n const deleteButton = this.createDeleteButtonColumn();\n newRow.appendChild(deleteButton);\n\n slotElm.appendChild(newRow);\n this.updateRowSelectDropdown();\n this.nextRowIndex++;\n }\n\n getCurrentRow(selectedValue: string) {\n return this.hostElement.querySelectorAll(`.tr-name[data-name='${selectedValue}'`);\n }\n\n createDropdownColumn(selectedValue: string) {\n const dropdownColumn = document.createElement('td');\n dropdownColumn.setAttribute('class', 'tr-dropdown');\n const selectedItem = this._dropdownData.find(arr => arr.label === selectedValue);\n const selectedOptionValues = [];\n const currentRow = this.getCurrentRow(selectedValue);\n\n currentRow.forEach(row => {\n selectedOptionValues.push(row.parentElement?.querySelector('.tr-dropdown [aria-selected=true]')?.textContent);\n });\n\n if (Array.isArray(selectedItem.values) && selectedItem.values.length) {\n const dropdown = document.createElement('pn-select');\n dropdown.setAttribute('name', `${selectedValue}-dropdown`);\n dropdown.setAttribute('placeholder', this.rowDropdownPlaceholder);\n\n const filtereredValues = selectedItem.values.filter(item => !selectedOptionValues?.includes(item.value));\n\n filtereredValues.forEach(childItem => {\n const childOption = document.createElement('pn-option');\n childOption.setAttribute(\"label\", childItem.label);\n childOption.setAttribute(\"value\", childItem.label)\n dropdown.appendChild(childOption);\n });\n\n dropdownColumn.appendChild(dropdown);\n }\n\n return dropdownColumn;\n }\n\n createInputColumn(selectedValue: string) {\n const inputColumn = document.createElement('td');\n inputColumn.setAttribute('class', 'tr-input');\n const inputElm = document.createElement('pn-marketweb-input');\n inputElm.setAttribute('type', 'number');\n inputElm.setAttribute('name', `${selectedValue}-input`);\n inputElm.setAttribute('placeholder', '0');\n inputColumn.appendChild(inputElm);\n return inputColumn;\n }\n\n createDeleteButtonColumn() {\n const buttonColumn = document.createElement('td');\n buttonColumn.setAttribute('class', 'tr-delete');\n const buttonElm = document.createElement('pn-button');\n buttonElm.onclick = e => this.deleteRow(e);\n buttonElm.setAttribute('appearance', 'warning');\n buttonElm.setAttribute('small', 'true');\n buttonElm.appendChild(document.createTextNode(this.rowDeleteButtonText));\n buttonColumn.appendChild(buttonElm);\n return buttonColumn;\n }\n\n updateRowSelectDropdown() {\n type Row = { rowName: string; selectedValue: string; placeholder: string };\n\n const rows: Row[] = [].map.call(this.tableBody.querySelectorAll('.tr-name'), el => {\n const dropdownColumn = el?.parentElement?.querySelector('.tr-dropdown');\n const dropdownPlaceholder = dropdownColumn?.querySelector('.pn-select-content span')?.textContent;\n const row: Row = {\n rowName: el?.innerHTML,\n selectedValue: dropdownColumn?.querySelector('[aria-selected=true]')?.textContent,\n placeholder: dropdownPlaceholder,\n };\n return row;\n });\n\n if (rows.length) {\n this.rowSelectDropdownArr = [];\n\n this._dropdownData.forEach(element => {\n const filteredRows = rows.filter(row => row.rowName === element.label);\n const mainOptionReachedMaxPossibleRows =\n (element.values.length > 0 && filteredRows.length >= element.values.length) || (element.values.length === 0 && filteredRows.length === 1);\n if (!mainOptionReachedMaxPossibleRows) {\n this.rowSelectDropdownArr.push(element.label);\n }\n });\n } else {\n this.setRowSelectDropdownArr();\n }\n\n const selectOptions = this.pnRowSelectDropdown.querySelectorAll('pn-option');\n selectOptions.forEach(elm => {\n elm.removeAttribute('selected');\n });\n\n const placeholder = this.pnRowSelectDropdown.querySelector('.pn-select-content span');\n placeholder.innerHTML = this.addRowDropdownPlaceholder;\n\n this.updateHiddenFieldValue();\n }\n\n deleteRow(e: Event) {\n e.preventDefault();\n this.nextRowIndex--;\n const targetElm = e.currentTarget as HTMLButtonElement;\n const targetRow = targetElm.closest('tr');\n targetRow.remove();\n const allRows = [...this.tableBody.querySelectorAll('tr')];\n\n allRows.map((elm, index) => {\n elm.setAttribute('index', `${index}`);\n });\n\n this.updateRowSelectDropdown();\n }\n\n checkInputTotal() {\n const allRows = this.tableBody.querySelectorAll('tr');\n\n if (this.totalInputLimit === 0 || allRows.length < 1) {\n this.showWarning = false;\n return;\n }\n\n let totalInput = 0;\n\n allRows.forEach(element => {\n const inputField = element.querySelector('pn-marketweb-input');\n if (inputField.value) {\n totalInput += parseInt(inputField.value) ?? 0;\n }\n });\n this.showWarning = totalInput > this.totalInputLimit ? true : false;\n }\n\n render() {\n return (\n <Host>\n <div class=\"dropdown-choice-form-row\">\n <pn-select\n ref={el => (this.pnRowSelectDropdown = el as HTMLElement)}\n name={this.addRowDropdownName}\n placeholder={this.addRowDropdownPlaceholder}\n label={this.addRowDropdownLabel}\n class=\"pn-row-select-dropdown\"\n empty-option=\"true\"\n >\n {this.rowSelectDropdownArr?.map((value: string) => <pn-option label={value} value={value}></pn-option>)}\n </pn-select>\n </div>\n <div class=\"dropdown-choice-form-row\">\n <table class=\"pn-dropdown-choice-table\">\n <thead ref={el => (this.tableHead = el as HTMLElement)}>\n {this.nextRowIndex === 0 ? null : (\n <tr>\n <th class=\"table-header--name\">\n <label>{this.rowNameLabel}</label>\n </th>\n {this.rowHasDropdown ? (\n <th class=\"table-header--dropdown\">\n <label>{this.rowDropdownLabel}</label>\n </th>\n ) : null}\n <th class=\"table-header--input\">\n <label>{this.rowInputLabel}</label>\n </th>\n <th class=\"table-header--delete\"></th>\n </tr>\n )}\n </thead>\n <tbody ref={el => (this.tableBody = el as HTMLElement)} class=\"pn-dropdown-choice-table-slot\">\n <slot></slot>\n </tbody>\n <tfoot>\n {this.showWarning ? (\n <tr>\n <td colSpan={this.columnCount}>\n <pn-icon icon={alert_exclamation_circle} small color=\"warning\"></pn-icon>\n <small class=\"dropdown-choice-error-message\">{this.inputLimitWarning}</small>\n </td>\n </tr>\n ) : null}\n </tfoot>\n </table>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as t,c as i,h as s,d as e,g as l}from"./p-06555615.js";import{d as n}from"./p-aed52bc1.js";import{p as h}from"./p-df8bfe03.js";import{v as o}from"./p-4ed69de7.js";const d="pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}pn-dropdown-with-multi-input-rows .dropdown-with-multi-input-elemet__row{margin-bottom:1rem}pn-dropdown-with-multi-input-rows .dropdown-with-multi-input-elemet__delete{display:flex;gap:1rem;margin-bottom:1rem;padding:1rem;background-color:#f9f8f8}pn-dropdown-with-multi-input-rows .dropdown-with-multi-input-elemet__delete pn-button{margin-top:0.9rem}pn-dropdown-with-multi-input-rows .dropdown-with-multi-input-elemet__label-row{display:flex;gap:1rem}pn-dropdown-with-multi-input-rows .dropdown-with-multi-input-elemet__label{width:30%;font-size:0.875em;color:#5e554a}pn-dropdown-with-multi-input-rows .sum-row{display:flex;justify-content:space-between}";const u=d;const a=class{constructor(s){t(this,s);this.allFormValues=i(this,"allFormValues",7);this.pnFirstDropdown=null;this.pnSecondDropdown=null;this.pnSumField=null;this.pnConfirmDeleteButton=null;this.pnAbortDeleteButton=null;this._firstDropdownSelection=null;this._secondDropdownSelection=null;this._defaultRow={id:this.generateUniqueId(),firstInput:"",secondInput:this.secondInputWarning.toString(),date:""};this.dropdownData=null;this.languageCode=null;this.firstDropdownLabel=null;this.firstDropdownHelperText=null;this.secondDropdownLabel=null;this.secondDropdownHelperText=null;this.secondDropdownMax=null;this.deleteMultipleRowsWarningText=null;this.confirmDeleteButtonText=null;this.abortDeleteButtonText=null;this.fristInputLabel=null;this.fristInputPlaceholder=null;this.firstInputMin=null;this.firstInputMax=null;this.firstInputWarning=null;this.firstInputWarningText=null;this.firstInputLowErrorText=null;this.firstInputHighErrorText=null;this.secondInputLabel=null;this.secondInputPlaceholder=null;this.secondInputMin=null;this.secondInputMax=null;this.secondInputWarning=null;this.secondInputWarningText=null;this.secondInputLowErrorText=null;this.secondInputHighErrorText=null;this.dateLabel=null;this.datePlaceholder=null;this.dateDaysFromToday=1;this.yearsToAddToEndDate=null;this.sumFieldLabel=null;this.addRowText=null;this.elementHelperText=null;this.dropdownDataRoot=null;this.secondDropdownArr=[];this.rowCount=null;this.rowData=null;this.formValues=null;this.firstValidDateString="";this.lastValidDateString="";this.rowSum=null;this.minRowCount=null;this.showDelteConfirm=false}componentWillLoad(){this.formValues=[];this.setDropDownData();this.updateSecondDropdown();this.setRowData();this.setFirstValidDate()}componentDidLoad(){this.updateSum()}setDropDownData(){var t;if(typeof this.dropdownData==="string"){this.dropdownDataRoot=JSON.parse(this.dropdownData)}else{this.dropdownDataRoot=this.dropdownData}if((t=this.dropdownDataRoot)===null||t===void 0?void 0:t.length){this.dropdownDataRoot.forEach((t=>{if(!t.value){t.value=0}}))}if(this.dropdownDataRoot.length>0){this.dropdownDataRoot[0].checked=true;this._firstDropdownSelection=this.dropdownDataRoot[0].label;this._secondDropdownSelection=this.dropdownDataRoot[0].value;this.minRowCount=this.dropdownDataRoot[0].value}}updateSecondDropdown(){const t=this.dropdownDataRoot.find((t=>t.checked===true));this.secondDropdownArr=[];for(let i=t.value;i<=this.secondDropdownMax;i++){this.secondDropdownArr.push(i)}}updateSelectItemArr(t,i){t.forEach((t=>{if(t.label===i){t.checked=!t.checked}else{t.checked=false}}));return t}setRowData(){this.rowData=[];for(let t=0;t<this._secondDropdownSelection;t++){const t=Object.assign({},this._defaultRow);t.id=this.generateUniqueId();this.rowData=[...this.rowData,t]}this.rowCount=this.rowData.length}generateUniqueId(){return o()}setFirstValidDate(){var t;const i=this.yearsToAddToEndDate?this.yearsToAddToEndDate:2;const s=new Date;s.setDate((t=s.getDate()+this.dateDaysFromToday)!==null&&t!==void 0?t:0);const e=s.getFullYear();const l=(s.getMonth()+1).toString().padStart(2,"0");const n=s.getDate().toString().padStart(2,"0");const h=e+i;this.firstValidDateString=`${e.toString()}-${l}-${n}`;this.lastValidDateString=`${h.toString()}-${l}-${n}`}addRow(t){const i=Object.assign({},this.rowData[0]);i.id=t?t:this.generateUniqueId();i.date="";this.rowData=[...this.rowData,i];this.rowCount=this.rowData.length;this._secondDropdownSelection=this.rowCount;this.secondDropdownArr=[...this.secondDropdownArr];this.updateSum();this.emitValuesIfValid()}handleFirstDropdown(){const t=this.pnFirstDropdown.querySelector("[aria-selected=true]");const i=t===null||t===void 0?void 0:t.textContent;if(!(i===null||i===void 0?void 0:i.length)){return}this.dropdownDataRoot.forEach((t=>{t.checked=false}));const s=this.dropdownDataRoot.find((t=>t.label===i));s.checked=true;this._firstDropdownSelection=s.label;this.minRowCount=s.value;if(s.value>this._secondDropdownSelection){this.dropdownDataRoot=[...this.dropdownDataRoot];for(let t=this.rowCount;t<s.value;t++){this.addRow(this.generateUniqueId())}}this.updateSecondDropdown();this.updateSum();this.emitValuesIfValid()}handleSecondDropdown(){const t=this.pnSecondDropdown.querySelector("[aria-selected=true]");const i=t===null||t===void 0?void 0:t.textContent;if(!(i===null||i===void 0?void 0:i.length)){return}const s=parseInt(i);if(s<this._secondDropdownSelection){this.showDelteConfirm=true}else{for(let t=this.rowCount;t<s;t++){this.addRow(this.generateUniqueId())}}this.updateSum();this.emitValuesIfValid()}predefinedValueChange(t){const i=this.rowData.findIndex((i=>i.id===t.detail.id));const s=t.detail;this.rowData[i]=Object.assign(Object.assign({},this.rowData[i]),{firstInput:s.firstInput,secondInput:s.secondInput,date:s.date});if(t.type==="firstInputChange"&&i===0){this.updateFirstInputOfRows(s.firstInput)}if(t.type==="secondInputChange"&&i===0){this.updateSecondInputOfRows(s.secondInput)}this.rowData=[...this.rowData];this.emitValuesIfValid();this.updateSum()}updateFirstInputOfRows(t){for(let i=1;i<this.rowCount;i++){this.rowData[i]=Object.assign(Object.assign({},this.rowData[i]),{firstInput:t})}}updateSecondInputOfRows(t){for(let i=1;i<this.rowCount;i++){this.rowData[i]=Object.assign(Object.assign({},this.rowData[i]),{secondInput:t})}}deleteRowEvent(t){const i=this.rowData.findIndex((i=>i.id===t.detail));if(i<0){return}this.rowData.splice(i,1);this.rowData=[...this.rowData];this.rowCount=this.rowData.length;this._secondDropdownSelection=this.rowCount;this.secondDropdownArr=[...this.secondDropdownArr];this.emitValuesIfValid();this.updateSum()}updateSum(){this.rowSum="";let t=0;this.rowData.forEach((i=>{var s;if((s=i===null||i===void 0?void 0:i.firstInput)===null||s===void 0?void 0:s.length){t+=parseInt(i.firstInput)}}));this.rowSum=t.toString()}deleteExcessRows(){const t=this.pnSecondDropdown.querySelector("[aria-selected=true]");const i=t===null||t===void 0?void 0:t.textContent;if(!(i===null||i===void 0?void 0:i.length)){return}const s=this.rowCount-parseInt(i);for(let t=0;t<s;t++){this.rowData.pop()}this.rowData=[...this.rowData];this.showDelteConfirm=false;this.updateSum()}abortDeleteRows(){this.showDelteConfirm=false}emitValuesIfValid(){this.formValues=[];this.rowData.forEach((t=>{var i,s,e,l;const n={row:[]};if((i=this._firstDropdownSelection)===null||i===void 0?void 0:i.length){const t={name:this.firstDropdownLabel,value:this._firstDropdownSelection};n.row.push(t)}if((s=t.firstInput)===null||s===void 0?void 0:s.length){const i={name:this.fristInputLabel,value:t.firstInput};n.row.push(i)}if((e=t.secondInput)===null||e===void 0?void 0:e.length){const i={name:this.secondInputLabel,value:t.secondInput};n.row.push(i)}if((l=t.date)===null||l===void 0?void 0:l.length){const i={name:this.dateLabel,value:t.date};n.row.push(i)}if(n.row.length===4){this.formValues.push(n)}}));if(this.formValues.length===this.rowData.length){const t=JSON.stringify(this.formValues);this.allFormValues.emit(t)}else{this.allFormValues.emit("")}}render(){var t,i,l,o,d,u;return s(e,{key:"db917d14641b4a13e6ed4d3a56f4b9ea52a8e0c1",class:"dropdown-with-multi-input-elemet"},s("div",{key:"bdc73044cdb1e6a791b9965086971ecbb796719d",class:"dropdown-with-multi-input-elemet__row"},s("div",{key:"b605ca3179d5884577c78abddf1b9a572a78b927"},s("pn-select",{key:"818b8536fd1a059ea6d44224bb31d4d21c79f2e2",ref:t=>this.pnFirstDropdown=t,class:"pn-row-select-dropdown dropDown1-dropdown",label:this.firstDropdownLabel},(t=this.dropdownDataRoot)===null||t===void 0?void 0:t.map(((t,i)=>s("pn-option",{index:i,label:t.value,value:t.value,selected:t.checked,onClick:n(this.handleFirstDropdown.bind(this),500)})))),((i=this.firstDropdownHelperText)===null||i===void 0?void 0:i.length)?s("small",null,this.firstDropdownHelperText):null)),s("div",{key:"dfa4ebccb31ec721055b6dfdecfc57fa992d6f3d",class:"dropdown-with-multi-input-elemet__row"},s("div",{key:"87942020905eec4fb90a6692403714a7ef1d45b5"},s("pn-select",{key:"4b05026897de69f086500034584c37507a560a25",ref:t=>this.pnSecondDropdown=t,class:"pn-row-select-dropdown dropDown2-dropdown",label:this.secondDropdownLabel},(l=this.secondDropdownArr)===null||l===void 0?void 0:l.map(((t,i)=>s("pn-option",{index:i,label:t,value:t,selected:t===this._secondDropdownSelection,onClick:n(this.handleSecondDropdown.bind(this),500)})))),((o=this.secondDropdownHelperText)===null||o===void 0?void 0:o.length)?s("small",null,this.secondDropdownHelperText):null)),this.showDelteConfirm?s("div",{class:"dropdown-with-multi-input-elemet__delete"},s("p",null,this.deleteMultipleRowsWarningText),s("pn-button",{ref:t=>this.pnConfirmDeleteButton=t,small:"true",appearance:"warning",onClick:this.deleteExcessRows.bind(this)},this.confirmDeleteButtonText),s("pn-button",{ref:t=>this.pnAbortDeleteButton=t,small:"true",appearance:"light",onClick:this.abortDeleteRows.bind(this)},this.abortDeleteButtonText)):null,s("div",{key:"2d5ffd243be28f35df836a5ef325a65787bb4133",class:"dropdown-with-multi-input-elemet__label-row"},s("div",{key:"6295be221f848b81ecfcb9c1dc0d892aa7224f16",class:"dropdown-with-multi-input-elemet__label"},s("label",{key:"9e26cd6e52a2b12d3efde90f8872b8f7ca0a6cca"},this.fristInputLabel)),s("div",{key:"4c54bebdb5d534e6746925acf78912fc8fa8a940",class:"dropdown-with-multi-input-elemet__label"},s("label",{key:"186394e29d44e7e3b291538a48a6b4d1d5a2b791"},this.secondInputLabel)),s("div",{key:"13505b00fba6657e96ad5e0f734a41d64a42883a",class:"dropdown-with-multi-input-elemet__label"},s("label",{key:"052ad00b40d8d4e324d9a7deed9a59b4d6b5bd8d"},this.dateLabel))),(d=this.rowData)===null||d===void 0?void 0:d.map(((t,i)=>s("div",{class:"dropdown-with-multi-input-elemet__row generated-row-"+i,id:"generated-row-"+i},s("pn-dropdown-with-multi-input-rows-row",{"language-code":this.languageCode,"frist-input-placeholder":this.fristInputPlaceholder,"first-input-min":this.firstInputMin,"first-input-max":this.firstInputMax,"first-input-warning":this.firstInputWarning,"first-input-warning-text":this.firstInputWarningText,"first-input-low-error-text":this.firstInputLowErrorText,"first-input-high-error-text":this.firstInputHighErrorText,"second-input-placeholder":this.secondInputPlaceholder,"second-input-min":this.secondInputMin,"second-input-max":this.secondInputMax,"second-input-warning":this.secondInputWarning,"second-input-warning-text":this.secondInputWarningText,"second-input-low-error-text":this.secondInputLowErrorText,"second-input-high-error-text":this.secondInputHighErrorText,datePlaceholder:this.datePlaceholder,firstValidDate:this.firstValidDateString,lastValidDate:this.lastValidDateString,"predefined-value":JSON.stringify(t),"min-row-count":this.minRowCount,"row-index":i})))),s("div",{key:"43f0c4f85f3196b317d8741569954147837773cf",class:"dropdown-with-multi-input-elemet__row sum-row"},s("pn-marketweb-input",{key:"6323b30bdf7cab36db4a484f079b2abe06c0d349",disabled:true,ref:t=>this.pnSumField=t,type:"number",value:this.rowSum,label:this.sumFieldLabel}),s("pn-button",{key:"6a2338b2e3c553aa51a41bb456b440a70f9e59f0",tooltip:this.addRowText?this.addRowText:null,"left-icon":"true",arialabel:"Add",icon:h,appearance:"light",variant:"borderless",class:"connected-dropdown__button-right",onClick:()=>{this.addRow(this.generateUniqueId())}},this.addRowText)),((u=this.elementHelperText)===null||u===void 0?void 0:u.length)?s("div",{class:"dropdown-with-multi-input-elemet__row"},this.elementHelperText):null)}get hostElement(){return l(this)}};a.style=u;export{a as pn_dropdown_with_multi_input_rows};
2
- //# sourceMappingURL=p-23916c49.entry.js.map
1
+ import{r as t,c as i,h as s,d as e,g as l}from"./p-06555615.js";import{d as n}from"./p-aed52bc1.js";import{p as h}from"./p-df8bfe03.js";import{v as o}from"./p-4ed69de7.js";const d="pn-button-dropdown .pn-button-dropdown>pn-button>.pn-button{min-height:initial}pn-dropdown-with-multi-input-rows .dropdown-with-multi-input-elemet__row{margin-bottom:1rem}pn-dropdown-with-multi-input-rows .dropdown-with-multi-input-elemet__delete{display:flex;gap:1rem;margin-bottom:1rem;padding:1rem;background-color:#f9f8f8}pn-dropdown-with-multi-input-rows .dropdown-with-multi-input-elemet__delete pn-button{margin-top:0.9rem}pn-dropdown-with-multi-input-rows .dropdown-with-multi-input-elemet__label-row{display:flex;gap:1rem}pn-dropdown-with-multi-input-rows .dropdown-with-multi-input-elemet__label{width:30%;font-size:0.875em;color:#5e554a}pn-dropdown-with-multi-input-rows .sum-row{display:flex;justify-content:space-between}";const u=d;const r=class{constructor(s){t(this,s);this.allFormValues=i(this,"allFormValues",7);this.pnFirstDropdown=null;this.pnSecondDropdown=null;this.pnSumField=null;this.pnConfirmDeleteButton=null;this.pnAbortDeleteButton=null;this._firstDropdownSelection=null;this._secondDropdownSelection=null;this._defaultRow={id:this.generateUniqueId(),firstInput:"",secondInput:this.secondInputWarning.toString(),date:""};this.dropdownData=null;this.languageCode=null;this.firstDropdownLabel=null;this.firstDropdownHelperText=null;this.secondDropdownLabel=null;this.secondDropdownHelperText=null;this.secondDropdownMax=null;this.deleteMultipleRowsWarningText=null;this.confirmDeleteButtonText=null;this.abortDeleteButtonText=null;this.fristInputLabel=null;this.fristInputPlaceholder=null;this.firstInputMin=null;this.firstInputMax=null;this.firstInputWarning=null;this.firstInputWarningText=null;this.firstInputLowErrorText=null;this.firstInputHighErrorText=null;this.secondInputLabel=null;this.secondInputPlaceholder=null;this.secondInputMin=null;this.secondInputMax=null;this.secondInputWarning=null;this.secondInputWarningText=null;this.secondInputLowErrorText=null;this.secondInputHighErrorText=null;this.dateLabel=null;this.datePlaceholder=null;this.dateDaysFromToday=1;this.yearsToAddToEndDate=null;this.sumFieldLabel=null;this.addRowText=null;this.elementHelperText=null;this.dropdownDataRoot=null;this.secondDropdownArr=[];this.rowCount=null;this.rowData=null;this.formValues=null;this.firstValidDateString="";this.lastValidDateString="";this.rowSum=null;this.minRowCount=null;this.showDelteConfirm=false}componentWillLoad(){this.formValues=[];this.setDropDownData();this.updateSecondDropdown();this.setRowData();this.setFirstValidDate()}componentDidLoad(){this.updateSum()}setDropDownData(){var t;if(typeof this.dropdownData==="string"){this.dropdownDataRoot=JSON.parse(this.dropdownData)}else{this.dropdownDataRoot=this.dropdownData}if((t=this.dropdownDataRoot)===null||t===void 0?void 0:t.length){this.dropdownDataRoot.forEach((t=>{if(!t.value){t.value=0}}))}if(this.dropdownDataRoot.length>0){this.dropdownDataRoot[0].checked=true;this._firstDropdownSelection=this.dropdownDataRoot[0].label;this._secondDropdownSelection=this.dropdownDataRoot[0].value;this.minRowCount=this.dropdownDataRoot[0].value}}updateSecondDropdown(){const t=this.dropdownDataRoot.find((t=>t.checked===true));this.secondDropdownArr=[];for(let i=t.value;i<=this.secondDropdownMax;i++){this.secondDropdownArr.push(i)}}updateSelectItemArr(t,i){t.forEach((t=>{if(t.label===i){t.checked=!t.checked}else{t.checked=false}}));return t}setRowData(){this.rowData=[];for(let t=0;t<this._secondDropdownSelection;t++){const t=Object.assign({},this._defaultRow);t.id=this.generateUniqueId();this.rowData=[...this.rowData,t]}this.rowCount=this.rowData.length}generateUniqueId(){return o()}setFirstValidDate(){var t;const i=this.yearsToAddToEndDate?this.yearsToAddToEndDate:2;const s=new Date;s.setDate((t=s.getDate()+this.dateDaysFromToday)!==null&&t!==void 0?t:0);const e=s.getFullYear();const l=(s.getMonth()+1).toString().padStart(2,"0");const n=s.getDate().toString().padStart(2,"0");const h=e+i;this.firstValidDateString=`${e.toString()}-${l}-${n}`;this.lastValidDateString=`${h.toString()}-${l}-${n}`}addRow(t){const i=Object.assign({},this.rowData[0]);i.id=t?t:this.generateUniqueId();i.date="";this.rowData=[...this.rowData,i];this.rowCount=this.rowData.length;this._secondDropdownSelection=this.rowCount;this.secondDropdownArr=[...this.secondDropdownArr];this.updateSum();this.emitValuesIfValid()}handleFirstDropdown(){const t=this.pnFirstDropdown.querySelector("[aria-selected=true]");const i=t===null||t===void 0?void 0:t.textContent;if(!(i===null||i===void 0?void 0:i.length)){return}this.dropdownDataRoot.forEach((t=>{t.checked=false}));const s=this.dropdownDataRoot.find((t=>t.label===i));s.checked=true;this._firstDropdownSelection=s.label;this.minRowCount=s.value;if(s.value>this._secondDropdownSelection){this.dropdownDataRoot=[...this.dropdownDataRoot];for(let t=this.rowCount;t<s.value;t++){this.addRow(this.generateUniqueId())}}this.updateSecondDropdown();this.updateSum();this.emitValuesIfValid()}handleSecondDropdown(){const t=this.pnSecondDropdown.querySelector("[aria-selected=true]");const i=t===null||t===void 0?void 0:t.textContent;if(!(i===null||i===void 0?void 0:i.length)){return}const s=parseInt(i);if(s<this._secondDropdownSelection){this.showDelteConfirm=true}else{for(let t=this.rowCount;t<s;t++){this.addRow(this.generateUniqueId())}}this.updateSum();this.emitValuesIfValid()}predefinedValueChange(t){const i=this.rowData.findIndex((i=>i.id===t.detail.id));const s=t.detail;this.rowData[i]=Object.assign(Object.assign({},this.rowData[i]),{firstInput:s.firstInput,secondInput:s.secondInput,date:s.date});if(t.type==="firstInputChange"&&i===0){this.updateFirstInputOfRows(s.firstInput)}if(t.type==="secondInputChange"&&i===0){this.updateSecondInputOfRows(s.secondInput)}this.rowData=[...this.rowData];this.emitValuesIfValid();this.updateSum()}updateFirstInputOfRows(t){for(let i=1;i<this.rowCount;i++){this.rowData[i]=Object.assign(Object.assign({},this.rowData[i]),{firstInput:t})}}updateSecondInputOfRows(t){for(let i=1;i<this.rowCount;i++){this.rowData[i]=Object.assign(Object.assign({},this.rowData[i]),{secondInput:t})}}deleteRowEvent(t){const i=this.rowData.findIndex((i=>i.id===t.detail));if(i<0){return}this.rowData.splice(i,1);this.rowData=[...this.rowData];this.rowCount=this.rowData.length;this._secondDropdownSelection=this.rowCount;this.secondDropdownArr=[...this.secondDropdownArr];this.emitValuesIfValid();this.updateSum()}updateSum(){this.rowSum="";let t=0;this.rowData.forEach((i=>{var s;if((s=i===null||i===void 0?void 0:i.firstInput)===null||s===void 0?void 0:s.length){t+=parseInt(i.firstInput)}}));this.rowSum=t.toString()}deleteExcessRows(){const t=this.pnSecondDropdown.querySelector("[aria-selected=true]");const i=t===null||t===void 0?void 0:t.textContent;if(!(i===null||i===void 0?void 0:i.length)){return}const s=this.rowCount-parseInt(i);for(let t=0;t<s;t++){this.rowData.pop()}this.rowData=[...this.rowData];this.showDelteConfirm=false;this.updateSum()}abortDeleteRows(){this.showDelteConfirm=false}emitValuesIfValid(){this.formValues=[];this.rowData.forEach((t=>{var i,s,e,l;const n={row:[]};if((i=this._firstDropdownSelection)===null||i===void 0?void 0:i.length){const t={name:this.firstDropdownLabel,value:this._firstDropdownSelection};n.row.push(t)}if((s=t.firstInput)===null||s===void 0?void 0:s.length){const i={name:this.fristInputLabel,value:t.firstInput};n.row.push(i)}if((e=t.secondInput)===null||e===void 0?void 0:e.length){const i={name:this.secondInputLabel,value:t.secondInput};n.row.push(i)}if((l=t.date)===null||l===void 0?void 0:l.length){const i={name:this.dateLabel,value:t.date};n.row.push(i)}if(n.row.length===4){this.formValues.push(n)}}));if(this.formValues.length===this.rowData.length){const t=JSON.stringify(this.formValues);this.allFormValues.emit(t)}else{this.allFormValues.emit("")}}render(){var t,i,l,o,d,u;return s(e,{key:"db917d14641b4a13e6ed4d3a56f4b9ea52a8e0c1",class:"dropdown-with-multi-input-elemet"},s("div",{key:"bdc73044cdb1e6a791b9965086971ecbb796719d",class:"dropdown-with-multi-input-elemet__row"},s("div",{key:"b605ca3179d5884577c78abddf1b9a572a78b927"},s("pn-select",{key:"fd3a84a88a5fb2eb1cae9288b2750f495d10f75d",ref:t=>this.pnFirstDropdown=t,class:"pn-row-select-dropdown dropDown1-dropdown",label:this.firstDropdownLabel,"empty-option":"true"},(t=this.dropdownDataRoot)===null||t===void 0?void 0:t.map(((t,i)=>s("pn-option",{index:i,label:t.value,value:t.value,selected:t.checked,onClick:n(this.handleFirstDropdown.bind(this),500)})))),((i=this.firstDropdownHelperText)===null||i===void 0?void 0:i.length)?s("small",null,this.firstDropdownHelperText):null)),s("div",{key:"8b44e50e1460925caec54bd4013ee38420d66761",class:"dropdown-with-multi-input-elemet__row"},s("div",{key:"5a0c06493c7a1176f0a98df2742766d876b2c605"},s("pn-select",{key:"7bcd69a360ef76ff93f610fe8f8d3a2346838538",ref:t=>this.pnSecondDropdown=t,class:"pn-row-select-dropdown dropDown2-dropdown",label:this.secondDropdownLabel,"empty-option":"true"},(l=this.secondDropdownArr)===null||l===void 0?void 0:l.map(((t,i)=>s("pn-option",{index:i,label:t,value:t,selected:t===this._secondDropdownSelection,onClick:n(this.handleSecondDropdown.bind(this),500)})))),((o=this.secondDropdownHelperText)===null||o===void 0?void 0:o.length)?s("small",null,this.secondDropdownHelperText):null)),this.showDelteConfirm?s("div",{class:"dropdown-with-multi-input-elemet__delete"},s("p",null,this.deleteMultipleRowsWarningText),s("pn-button",{ref:t=>this.pnConfirmDeleteButton=t,small:"true",appearance:"warning",onClick:this.deleteExcessRows.bind(this)},this.confirmDeleteButtonText),s("pn-button",{ref:t=>this.pnAbortDeleteButton=t,small:"true",appearance:"light",onClick:this.abortDeleteRows.bind(this)},this.abortDeleteButtonText)):null,s("div",{key:"442d4cb2e1929663d3c684ae2b8144354d6c1ca3",class:"dropdown-with-multi-input-elemet__label-row"},s("div",{key:"67ea3ffdd6145f4f54196c2d4661f44172ca862b",class:"dropdown-with-multi-input-elemet__label"},s("label",{key:"5f67d7f607818ef0734da82ec2319ff09a6e22aa"},this.fristInputLabel)),s("div",{key:"191274165ed68bc8d15192e1bae9fe0b51cfabfa",class:"dropdown-with-multi-input-elemet__label"},s("label",{key:"03b4feed9670e23d437c180be328638a6818d683"},this.secondInputLabel)),s("div",{key:"0ada8f9bb65f5328243b284717dd237a624a15bd",class:"dropdown-with-multi-input-elemet__label"},s("label",{key:"bb453907c1d3ede20e707799b194826fbbeffa71"},this.dateLabel))),(d=this.rowData)===null||d===void 0?void 0:d.map(((t,i)=>s("div",{class:"dropdown-with-multi-input-elemet__row generated-row-"+i,id:"generated-row-"+i},s("pn-dropdown-with-multi-input-rows-row",{"language-code":this.languageCode,"frist-input-placeholder":this.fristInputPlaceholder,"first-input-min":this.firstInputMin,"first-input-max":this.firstInputMax,"first-input-warning":this.firstInputWarning,"first-input-warning-text":this.firstInputWarningText,"first-input-low-error-text":this.firstInputLowErrorText,"first-input-high-error-text":this.firstInputHighErrorText,"second-input-placeholder":this.secondInputPlaceholder,"second-input-min":this.secondInputMin,"second-input-max":this.secondInputMax,"second-input-warning":this.secondInputWarning,"second-input-warning-text":this.secondInputWarningText,"second-input-low-error-text":this.secondInputLowErrorText,"second-input-high-error-text":this.secondInputHighErrorText,datePlaceholder:this.datePlaceholder,firstValidDate:this.firstValidDateString,lastValidDate:this.lastValidDateString,"predefined-value":JSON.stringify(t),"min-row-count":this.minRowCount,"row-index":i})))),s("div",{key:"f82a77eb8e120440084210f5cdec604a5dd05172",class:"dropdown-with-multi-input-elemet__row sum-row"},s("pn-marketweb-input",{key:"8197ba89d43c00fa04bd81c33a5e36dbca40b255",disabled:true,ref:t=>this.pnSumField=t,type:"number",value:this.rowSum,label:this.sumFieldLabel}),s("pn-button",{key:"6c11671b82b65dbf541d2b85c5dc79f437a62d67",tooltip:this.addRowText?this.addRowText:null,"left-icon":"true",arialabel:"Add",icon:h,appearance:"light",variant:"borderless",class:"connected-dropdown__button-right",onClick:()=>{this.addRow(this.generateUniqueId())}},this.addRowText)),((u=this.elementHelperText)===null||u===void 0?void 0:u.length)?s("div",{class:"dropdown-with-multi-input-elemet__row"},this.elementHelperText):null)}get hostElement(){return l(this)}};r.style=u;export{r as pn_dropdown_with_multi_input_rows};
2
+ //# sourceMappingURL=p-3ae1657a.entry.js.map