@digitransit-component/digitransit-component-favourite-modal 1.0.4 → 1.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.development.js +2 -2
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/package.json +4 -4
package/lib/index.development.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("prop-types"),require("classnames"),require("i18next"),require("lodash/isEmpty"),require("lodash/isNumber"),require("@hsl-fi/modal"),require("@digitransit-component/digitransit-component-icon")):"function"==typeof define&&define.amd?define(["exports","react","prop-types","classnames","i18next","lodash/isEmpty","lodash/isNumber","@hsl-fi/modal","@digitransit-component/digitransit-component-icon"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["@digitransit-component/digitransit-component-favourite-modal"]={},e.React,e.PropTypes,e.cx,e.i18next,e.isEmpty,e.isNumber,e.Modal,e.Icon)}(this,(function(e,t,o,a,i,n,l,r,d){"use strict";function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var u=s(t),c=s(o),f=s(a),p=s(i),m=s(n),_=s(l),v=s(r),b=s(d);function h(){return h=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var o=arguments[t];for(var a in o)Object.prototype.hasOwnProperty.call(o,a)&&(e[a]=o[a])}return e},h.apply(this,arguments)}function g(e,t){void 0===t&&(t={});var o=t.insertAt;if(e&&"undefined"!=typeof document){var a=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css","top"===o&&a.firstChild?a.insertBefore(i,a.firstChild):a.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}var k={"generic-table":"styles_generic-table__ZDktB",row:"styles_row__2H9Yg","generic-table__label-container":"styles_generic-table__label-container__BFaCU","favourite-icon-table-column":"styles_favourite-icon-table-column__fIdH1",place:"styles_place__NQ5kk",work:"styles_work__1IJjU",home:"styles_home__1tTd4",school:"styles_school__X2Mcv",sport:"styles_sport__EfCxT",shopping:"styles_shopping__XNGKI","selected-icon":"styles_selected-icon__vfbGq"};g(".styles_generic-table__ZDktB > .styles_row__2H9Yg {\n display: flex; }\n\n.styles_generic-table__label-container__BFaCU {\n font-size: 0.8rem;\n margin-top: 3px;\n color: #666;\n height: 16px;\n max-width: 62.5rem;\n margin-left: auto;\n margin-right: auto; }\n\n.styles_favourite-icon-table-column__fIdH1 {\n cursor: pointer;\n flex: 1;\n align-items: center;\n padding: 0;\n background: #fff;\n float: left;\n height: 50px;\n margin: 0;\n line-height: 1;\n text-align: center;\n font-size: 17px;\n border-top: solid 1px #d9d9d9;\n border-bottom: solid 1px #d9d9d9;\n border-right: solid 1px #d9d9d9;\n border-left: none; }\n .styles_favourite-icon-table-column__fIdH1.styles_place__NQ5kk svg {\n width: 24px;\n height: 24px; }\n .styles_favourite-icon-table-column__fIdH1.styles_work__1IJjU svg {\n width: 20px;\n height: 20px; }\n .styles_favourite-icon-table-column__fIdH1.styles_home__1tTd4 svg, .styles_favourite-icon-table-column__fIdH1.styles_school__X2Mcv svg, .styles_favourite-icon-table-column__fIdH1.styles_sport__EfCxT svg, .styles_favourite-icon-table-column__fIdH1.styles_shopping__XNGKI svg {\n width: 18px;\n height: 18px; }\n .styles_favourite-icon-table-column__fIdH1:active, .styles_favourite-icon-table-column__fIdH1:hover, .styles_favourite-icon-table-column__fIdH1:focus, .styles_favourite-icon-table-column__fIdH1 .styles_selected-icon__vfbGq {\n background: #333;\n color: #fff; }\n\n.styles_favourite-icon-table-column__fIdH1:first-child {\n border-left: solid 1px #d9d9d9;\n border-top-left-radius: 5px;\n border-bottom-left-radius: 5px; }\n\n.styles_favourite-icon-table-column__fIdH1:last-child {\n border-top-right-radius: 5px;\n border-bottom-right-radius: 5px; }\n\n.styles_favourite-icon-table-column__fIdH1.styles_selected-icon__vfbGq {\n background: #333;\n color: #fff; }\n");const x={de:{cancel:"Abbrechen","choose-icon":"Wählen Sie ein Symbol für diesen Ort","close-favourite-modal":"Favoriten-Dialog schließen","edit-place":"Ort bearbeiten","favourite-modal-on-add-new":"Neuen Favoriten hinzufügen","favourite-modal-on-edit":"Favorit bearbeiten: {{favourite.name}}","input-placeholder":"Einen Namen für Ort setzen (optional)",save:"Speichern","save-place":"Favorit speichern"},en:{cancel:"Cancel","choose-icon":"Select the place's icon","close-favourite-modal":"Close the favourite modal","edit-place":"Edit place","favourite-modal-on-add-new":"Add a new favorite","favourite-modal-on-edit":"Editing favourite: {{favourite.name}}","input-placeholder":"Give the name a place (optional)",save:"Save","save-place":"Save place","cannot-save-place":"Cannot save a place without address or icon",place:"a place",home:"home",work:"work",sport:"sport",school:"school",shopping:"shopping","required-text":"required field"},fi:{cancel:"Peruuta","choose-icon":"Valitse paikan kuvake","close-favourite-modal":"Sulje suosikkimodaali","edit-place":"Muokkaa paikkaa","favourite-modal-on-add-new":"Lisää uusi suosikki","favourite-modal-on-edit":"Muokkaa suosikkia {{favourite.name}}","input-placeholder":"Anna paikalle nimi (vapaaehtoinen)",save:"Tallenna","save-place":"Tallenna paikka","cannot-save-place":"Paikkaa ilman osoitetta tai ikonia ei voida tallentaa",place:"paikka",home:"koti",work:"työ",sport:"urheilu",school:"koulu",shopping:"ostokset","required-text":"pakollinen kenttä"},sv:{cancel:"Avbryt","choose-icon":"Välj platsens ikon","close-favourite-modal":"Stäng favoritmodalen","edit-place":"Redigera plats","favourite-modal-on-add-new":"Lägg till ny favorit","favourite-modal-on-edit":"Redigera platsen: {{favourite.name}}","input-placeholder":"Ange platsens namn (frivilligt)",save:"Spara","save-place":"Spara plats","cannot-save-place":"Det går inte att spara en plats utan adress eller ikon",place:"en plats",home:"hem",work:"arbete",sport:"sport",school:"skola",shopping:"shoppa","required-field":"obligatoriskt fält"}};var y="desktop_favourite-modal-desktop-container__JeGRK",R="desktop_favourite-modal-desktop-top__SRAj7",E="desktop_favourite-modal-desktop-header__LzO65",q="desktop_favourite-modal-desktop-main__3SYc5",I="desktop_favourite-modal-desktop-location-search__ajBVr",N="desktop_favourite-modal-desktop-name__BmsiY",w="desktop_favourite-modal-desktop-input__6L7ez",S="desktop_favourite-modal-desktop-text__Gs-U3",T="desktop_favourite-modal-desktop-icons__LtHSO",G="desktop_icons-container__rs22H",C="desktop_favourite-modal-desktop-buttons__2Ag9q",O="desktop_favourite-modal-desktop-button__8Gh8t",H="desktop_save__I0AgO",A="desktop_disabled__Greqy",U="desktop_edit__t9NzU",J="desktop_sr-only__VJyNM";g(".desktop_favourite-modal-desktop-container__JeGRK {\n display: flex;\n flex-direction: column; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-top__SRAj7 {\n display: flex;\n flex-direction: row;\n width: 100%; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-top__SRAj7 .desktop_favourite-modal-desktop-header__LzO65 {\n width: 100%;\n font-size: 18px;\n font-weight: var(--font-weight-medium);\n line-height: 1.33;\n letter-spacing: -0.6px;\n color: #333333;\n margin-bottom: 25px; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-main__3SYc5 {\n text-align: left;\n margin-bottom: 27px; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-main__3SYc5 .desktop_favourite-modal-desktop-location-search__ajBVr {\n margin-bottom: 9px; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-main__3SYc5 .desktop_favourite-modal-desktop-name__BmsiY .desktop_favourite-modal-desktop-input__6L7ez {\n display: flex;\n position: relative;\n width: 100%;\n height: 44px;\n font-family: 'Gotham Rounded A', 'Gotham Rounded B', 'Roboto', Arial, Georgia, Serif;\n border-radius: 5px;\n border: solid 1px #888888;\n background-color: #ffffff;\n padding-left: 20px;\n font-size: 15px;\n line-height: 1.2;\n letter-spacing: -0.5px;\n color: #333;\n box-sizing: border-box;\n -webkit-appearance: none;\n appearance: none; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-main__3SYc5 .desktop_favourite-modal-desktop-name__BmsiY .desktop_favourite-modal-desktop-input__6L7ez::placeholder {\n color: #666; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-main__3SYc5 .desktop_favourite-modal-desktop-name__BmsiY .desktop_favourite-modal-desktop-input__6L7ez:focus {\n background: #fff;\n outline: none;\n border: 1px solid var(--color);\n box-shadow: 0px 0px 2px 1px var(--hover-color);\n -webkit-appearance: none; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-text__Gs-U3 {\n font-size: 16px;\n font-weight: var(--font-weight-medium);\n letter-spacing: -0.53px;\n color: #333333;\n margin: 0 0 11px 0;\n padding: 0; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-icons__LtHSO {\n margin-bottom: 30px; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_icons-container__rs22H {\n border: none;\n margin: 0;\n padding: 0; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q {\n display: flex;\n flex-direction: column; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t {\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n width: 100%;\n height: 50px;\n font-size: 18px;\n font-family: 'Gotham Rounded A', 'Gotham Rounded B', 'Roboto', Arial, Georgia, Serif;\n font-weight: var(--font-weight-medium);\n letter-spacing: -0.5px;\n background: var(--color);\n color: #fff;\n line-height: 0;\n text-align: center;\n padding: 0;\n margin: 0;\n border-width: 0;\n transition: background-color 300ms ease-out;\n border-radius: 25px;\n cursor: pointer; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_save__I0AgO:active, .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_save__I0AgO:focus, .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_save__I0AgO:hover {\n border-color: var(--hover-color);\n background: var(--hover-color);\n color: #fff; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_save__I0AgO.desktop_disabled__Greqy {\n background: #bbb; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_save__I0AgO.desktop_disabled__Greqy:active {\n background: #bbb; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_edit__t9NzU {\n margin-top: 9px;\n background: #fff;\n border: solid 1px var(--color);\n color: var(--color); }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_edit__t9NzU:active, .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_edit__t9NzU:hover {\n border-color: var(--hover-color);\n background-color: #fff;\n color: var(--hover-color); }\n\n.desktop_sr-only__VJyNM:not(:focus):not(:active) {\n clip: rect(0 0 0 0);\n -webkit-clip-path: inset(50%);\n clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px; }\n");const B=({headerText:e,autosuggestComponent:t,inputPlaceholder:o,specifyName:a,name:i,chooseIconText:n,favouriteIconTable:l,saveFavourite:r,saveText:d,canSave:s,isEdit:c,cancelText:f,cancelSelected:p,color:m,hoverColor:_,savePlaceText:v,cantSaveText:b,requiredText:h,fontWeights:g})=>u.default.createElement("div",{className:y,style:{"--color":`${m}`,"--hover-color":`${_}`,"--font-weight-medium":g.medium}},u.default.createElement("div",{className:R},u.default.createElement("div",{className:E},e)),u.default.createElement("div",{className:q},u.default.createElement("div",{className:I},t),u.default.createElement("div",{className:N},u.default.createElement("input",{"aria-label":o,className:w,value:i,placeholder:o,onChange:a}))),u.default.createElement("fieldset",{className:G},u.default.createElement("legend",{className:S},n,u.default.createElement("p",{className:J},h)),u.default.createElement("div",{className:T},l)),u.default.createElement("div",{className:C},u.default.createElement("button",{type:"button",className:`${O} ${H} ${s()?"":A}`,onClick:r,"aria-label":`${s()?v:b}`,"aria-disabled":!s()},d),c&&u.default.createElement("button",{type:"button",className:`${O} ${U} ${s()?"":A}`,onClick:p},f)));"production"!==process.env.NODE_ENV&&(B.propTypes={headerText:c.default.string.isRequired,autosuggestComponent:c.default.node.isRequired,inputPlaceholder:c.default.string.isRequired,specifyName:c.default.func.isRequired,name:c.default.string.isRequired,chooseIconText:c.default.string.isRequired,favouriteIconTable:c.default.node.isRequired,saveFavourite:c.default.func.isRequired,saveText:c.default.string.isRequired,canSave:c.default.func.isRequired,isEdit:c.default.bool,cancelText:c.default.string.isRequired,cancelSelected:c.default.func,color:c.default.string.isRequired,hoverColor:c.default.string.isRequired,savePlaceText:c.default.string.isRequired,cantSaveText:c.default.string.isRequired,requiredText:c.default.string.isRequired,fontWeights:c.default.shape({medium:c.default.number.isRequired}).isRequired}),B.defaultProps={isEdit:!1,cancelSelected:()=>({})};var z={"favourite-modal-mobile-container":"mobile_favourite-modal-mobile-container__rahUH","favourite-modal-mobile-top":"mobile_favourite-modal-mobile-top__RZX-c","favourite-modal-mobile-header":"mobile_favourite-modal-mobile-header__XR22e","favourite-modal-mobile-main":"mobile_favourite-modal-mobile-main__3SYyB","favourite-modal-mobile-location-search":"mobile_favourite-modal-mobile-location-search__DNNd-","favourite-modal-mobile-input":"mobile_favourite-modal-mobile-input__Q16OP","favourite-modal-mobile-text":"mobile_favourite-modal-mobile-text__5JRgC","favourite-modal-mobile-save":"mobile_favourite-modal-mobile-save__E-p51","favourite-modal-mobile-button":"mobile_favourite-modal-mobile-button__7aFOZ",disabled:"mobile_disabled__NTpua","sr-only":"mobile_sr-only__24tpU"};g(".mobile_favourite-modal-mobile-container__rahUH {\n display: flex;\n flex-direction: column; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-top__RZX-c {\n display: flex;\n flex-direction: row;\n width: 100%;\n border-bottom: 1px solid #ddd;\n margin-bottom: 30px; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-top__RZX-c .mobile_favourite-modal-mobile-header__XR22e {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 100%;\n height: inherit;\n font-size: 18px;\n font-weight: var(--font-weight-medium);\n letter-spacing: -0.6px;\n text-align: center;\n color: #333333;\n margin-bottom: 37px; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-main__3SYyB {\n text-align: left;\n margin-bottom: 28px; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-main__3SYyB .mobile_favourite-modal-mobile-location-search__DNNd- {\n margin-bottom: 9px; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-main__3SYyB .mobile_favourite-modal-mobile-input__Q16OP {\n display: flex;\n position: relative;\n width: 100%;\n height: 44px;\n font-family: 'Gotham Rounded A', 'Gotham Rounded B', 'Roboto', Arial, Georgia, Serif;\n border-radius: 5px;\n border: solid 1px #888888;\n background-color: #ffffff;\n padding-left: 20px;\n font-size: 16px;\n line-height: 1.2;\n letter-spacing: -0.5px;\n color: #333333;\n box-sizing: border-box;\n -webkit-appearance: none;\n appearance: none; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-main__3SYyB .mobile_favourite-modal-mobile-input__Q16OP:focus {\n background: #fff;\n outline: none;\n border: 1px solid var(--color);\n box-shadow: 0px 0px 2px 1px var(--hover-color);\n -webkit-appearance: none; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-main__3SYyB .mobile_favourite-modal-mobile-input__Q16OP::placeholder {\n color: #666666;\n font-size: 15px; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-text__5JRgC {\n font-size: 16px;\n font-weight: var(--font-weight-medium);\n letter-spacing: -0.53px;\n color: #333333;\n margin-bottom: 18px; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-save__E-p51 {\n width: 100%;\n margin-top: 30px; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-save__E-p51 .mobile_favourite-modal-mobile-button__7aFOZ {\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n width: 100%;\n height: 50px;\n font-size: 18px;\n font-family: 'Gotham Rounded A', 'Gotham Rounded B', 'Roboto', Arial, Georgia, Serif;\n font-weight: var(--font-weight-medium);\n letter-spacing: -0.5px;\n background: var(--color);\n line-height: 0;\n text-align: center;\n padding: 0;\n margin: 0;\n color: #fff;\n border-width: 0;\n transition: background-color 300ms ease-out;\n border-radius: 25px;\n cursor: pointer; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-save__E-p51 .mobile_favourite-modal-mobile-button__7aFOZ:active, .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-save__E-p51 .mobile_favourite-modal-mobile-button__7aFOZ:focus, .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-save__E-p51 .mobile_favourite-modal-mobile-button__7aFOZ:hover {\n border-color: var(--hover-color);\n background: var(--hover-color);\n color: #fff; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-save__E-p51 .mobile_favourite-modal-mobile-button__7aFOZ.mobile_disabled__NTpua {\n background: #bbb; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-save__E-p51 .mobile_favourite-modal-mobile-button__7aFOZ.mobile_disabled__NTpua:active {\n background: #bbb; }\n\n.mobile_sr-only__24tpU:not(:focus):not(:active) {\n clip: rect(0 0 0 0);\n -webkit-clip-path: inset(50%);\n clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px; }\n");const F=({headerText:e,autosuggestComponent:t,inputPlaceholder:o,specifyName:a,name:i,chooseIconText:n,favouriteIconTable:l,saveFavourite:r,saveText:d,canSave:s,color:c,hoverColor:f,savePlaceText:p,cantSaveText:m,requiredText:_,fontWeights:v})=>u.default.createElement("div",{className:z["favourite-modal-mobile-container"],style:{"--color":`${c}`,"--hover-color":`${f}`,"--font-weight-medium":v.medium}},u.default.createElement("div",{className:z["favourite-modal-mobile-top"]},u.default.createElement("div",{className:z["favourite-modal-mobile-header"]},e)),u.default.createElement("div",{className:z["favourite-modal-mobile-main"]},u.default.createElement("div",{className:z["favourite-modal-mobile-location-search"]},t),u.default.createElement("input",{className:z["favourite-modal-mobile-input"],value:i||"",placeholder:o,onChange:a})),u.default.createElement("div",{className:z["favourite-modal-mobile-text"]},n,u.default.createElement("p",{className:z["sr-only"]},_)),u.default.createElement("div",{className:z["favourite-modal-mobile-icons"]},l),u.default.createElement("div",{className:z["favourite-modal-mobile-save"]},u.default.createElement("button",{type:"button",className:`${z["favourite-modal-mobile-button"]} ${s()?"":z.disabled}`,onClick:r,"aria-label":`${s()?p:m}`},d)));"production"!==process.env.NODE_ENV&&(F.propTypes={headerText:c.default.string.isRequired,autosuggestComponent:c.default.node.isRequired,inputPlaceholder:c.default.string.isRequired,specifyName:c.default.func.isRequired,name:c.default.string.isRequired,chooseIconText:c.default.string.isRequired,favouriteIconTable:c.default.node.isRequired,saveFavourite:c.default.func.isRequired,saveText:c.default.string.isRequired,canSave:c.default.func.isRequired,color:c.default.string.isRequired,hoverColor:c.default.string.isRequired,savePlaceText:c.default.string.isRequired,cantSaveText:c.default.string.isRequired,requiredText:c.default.string.isRequired,fontWeights:c.default.shape({medium:c.default.number.isRequired}).isRequired}),p.default.init({lng:"fi",fallbackLng:"fi",defaultNS:"translation",interpolation:{escapeValue:!1}}),Object.keys(x).forEach((e=>{p.default.addResourceBundle(e,"translation",x[e])}));const K={"icon-icon_place":"place","icon-icon_home":"home","icon-icon_work":"work","icon-icon_sport":"sport","icon-icon_school":"school","icon-icon_shopping":"shopping"},P=({value:e,selectedIconId:o,handleClick:a,color:i})=>{const[n,l]=t.useState(!1),[r,d]=t.useState(!1),s=e===K[o]||n||r?"#ffffff":i;return u.default.createElement("button",{type:"button",className:f.default(k["favourite-icon-table-column"],k[e],e===K[o]&&k["selected-icon"]),onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1),onFocus:()=>d(!0),onBlur:()=>d(!1),onClick:()=>a(e),"aria-label":p.default.t(e)},u.default.createElement(b.default,{img:e,color:s}))};"production"!==process.env.NODE_ENV&&(P.propTypes={handleClick:c.default.func.isRequired,value:c.default.string,selectedIconId:c.default.string,color:c.default.string.isRequired});const j=({favouriteIconIds:e,selectedIconId:t,handleClick:o,color:a})=>{const i=e.map((e=>u.default.createElement(P,{key:`favourite-icon-table-${e}`,value:e,selectedIconId:t,handleClick:o,color:a})));return u.default.createElement("div",{className:k["generic-table"]},u.default.createElement("div",{className:k.row},i))};"production"!==process.env.NODE_ENV&&(j.propTypes={handleClick:c.default.func.isRequired,favouriteIconIds:c.default.array,selectedIconId:c.default.string,color:c.default.string.isRequired});class M extends u.default.Component{constructor(e){super(e),this.componentDidUpdate=()=>{p.default.language!==this.props.lang&&p.default.changeLanguage(this.props.lang)},this.componentWillUnmount=()=>{this.setState({favourite:null})},this.specifyName=e=>{const t=e.target.value;this.setState((e=>({favourite:h({},e.favourite,{name:t})})))},this.selectIcon=e=>{this.setState((t=>({favourite:h({},t.favourite,{selectedIconId:`icon-icon_${e}`})})))},this.isEdit=()=>this.state.favourite&&void 0!==this.state.favourite.favouriteId,this.canSave=()=>this.state.favourite&&!m.default(this.state.favourite.selectedIconId)&&_.default(this.state.favourite.lat)&&_.default(this.state.favourite.lon),this.closeModal=()=>{this.props.handleClose(),setTimeout((()=>{this.setState({favourite:null})}),250)},this.cancelSelected=()=>{this.props.cancelSelected(),setTimeout((()=>{this.setState({favourite:null})}),250)},this.save=()=>{if(this.canSave()){const e=m.default(this.state.favourite.name)?this.state.favourite.defaultName:this.state.favourite.name,t=h({},this.state.favourite,{name:e});delete t.defaultName,this.props.saveFavourite(h({},t,{type:"place"})),this.props.addAnalyticsEvent&&this.props.addAnalyticsEvent({category:"Favourite",action:"SaveFavourite",name:this.state.favourite.selectedIconId}),this.isEdit()&&this.props.cancelSelected?this.cancelSelected():this.closeModal()}},this.render=()=>{const{favourite:e}=this.state,{color:t,hoverColor:o,fontWeights:a}=this.props,i={headerText:this.isEdit()?p.default.t("edit-place"):p.default.t("save-place"),autosuggestComponent:h({},this.props.autosuggestComponent,{color:t,hoverColor:o}),inputPlaceholder:p.default.t("input-placeholder"),specifyName:this.specifyName,name:e&&e.name||"",chooseIconText:p.default.t("choose-icon"),favouriteIconTable:u.default.createElement(j,{selectedIconId:(()=>{if(e&&void 0!==e.selectedIconId)return e.selectedIconId})(),favouriteIconIds:M.favouriteIconIds,handleClick:this.selectIcon,color:t}),saveFavourite:this.save,saveText:p.default.t("save"),canSave:this.canSave,isEdit:this.isEdit(),cancelText:p.default.t("cancel"),cancelSelected:()=>this.cancelSelected(),color:t,hoverColor:o,savePlaceText:p.default.t("save-place"),cantSaveText:p.default.t("cannot-save-place"),requiredText:p.default.t("required-text"),fontWeights:a};return u.default.createElement(v.default,{appElement:this.props.appElement,contentLabel:this.isEdit()?p.default.t("favourite-modal-on-edit",e):p.default.t("favourite-modal-on-add-new"),closeButtonLabel:p.default.t("close-favourite-modal"),variant:this.props.isMobile?"large":"small",isOpen:this.props.isModalOpen,onCrossClick:()=>this.closeModal()},!this.props.isMobile&&u.default.createElement(B,i),this.props.isMobile&&u.default.createElement(F,i))},p.default.changeLanguage(e.lang),this.state={favourite:null},Object.keys(x).forEach((e=>{p.default.addResourceBundle(e,"translation",x[e])}))}}M.defaultProps={cancelSelected:()=>({}),lang:"fi",isMobile:!1,favourite:null,color:"#007ac9",hoverColor:"#0062a1",fontWeights:{medium:500}},M.favouriteIconIds=["place","home","work","sport","school","shopping"],M.getDerivedStateFromProps=(e,t)=>{const o=t.favourite,a=e.favourite;return m.default(a)?{favourite:null}:m.default(o)&&!m.default(a)?{favourite:h({},a)}:m.default(o)||m.default(a)||a.address===o.address&&a.lat===o.lat&&a.lon===o.lon?null:{favourite:h({},o,{address:a.address,lat:a.lat,lon:a.lon,gid:a.gid||null,name:o.name||a.name||"",defaultName:a.defaultName})}},"production"!==process.env.NODE_ENV&&(M.propTypes={isModalOpen:c.default.bool.isRequired,handleClose:c.default.func.isRequired,saveFavourite:c.default.func.isRequired,cancelSelected:c.default.func,autosuggestComponent:c.default.node,favourite:c.default.shape({type:c.default.string,address:c.default.string,gtfsId:c.default.string,gid:c.default.string,lat:c.default.number,lon:c.default.number,name:c.default.string,selectedIconId:c.default.string,favouriteId:c.default.string,layer:c.default.string,defaultName:c.default.string}),addAnalyticsEvent:c.default.func,lang:c.default.string,isMobile:c.default.bool,appElement:c.default.string.isRequired,color:c.default.string,hoverColor:c.default.string,fontWeights:c.default.shape({medium:c.default.number})}),e.default=M,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
2
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZGV2ZWxvcG1lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9leHRlbmRzLmpzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWluamVjdC9kaXN0L3N0eWxlLWluamVjdC5lcy5qcyIsIi4uL3NyYy9oZWxwZXJzL3RyYW5zbGF0aW9ucy5qcyIsIi4uL3NyYy9oZWxwZXJzL0Rlc2t0b3BNb2RhbC5qcyIsIi4uL3NyYy9oZWxwZXJzL01vYmlsZU1vZGFsLmpzIiwiLi4vc3JjL2luZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIF9leHRlbmRzKCkge1xuICBfZXh0ZW5kcyA9IE9iamVjdC5hc3NpZ24gPyBPYmplY3QuYXNzaWduLmJpbmQoKSA6IGZ1bmN0aW9uICh0YXJnZXQpIHtcbiAgICBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXTtcbiAgICAgIGZvciAodmFyIGtleSBpbiBzb3VyY2UpIHtcbiAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzb3VyY2UsIGtleSkpIHtcbiAgICAgICAgICB0YXJnZXRba2V5XSA9IHNvdXJjZVtrZXldO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0YXJnZXQ7XG4gIH07XG4gIHJldHVybiBfZXh0ZW5kcy5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xufSIsImZ1bmN0aW9uIHN0eWxlSW5qZWN0KGNzcywgcmVmKSB7XG4gIGlmICggcmVmID09PSB2b2lkIDAgKSByZWYgPSB7fTtcbiAgdmFyIGluc2VydEF0ID0gcmVmLmluc2VydEF0O1xuXG4gIGlmICghY3NzIHx8IHR5cGVvZiBkb2N1bWVudCA9PT0gJ3VuZGVmaW5lZCcpIHsgcmV0dXJuOyB9XG5cbiAgdmFyIGhlYWQgPSBkb2N1bWVudC5oZWFkIHx8IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF07XG4gIHZhciBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7XG4gIHN0eWxlLnR5cGUgPSAndGV4dC9jc3MnO1xuXG4gIGlmIChpbnNlcnRBdCA9PT0gJ3RvcCcpIHtcbiAgICBpZiAoaGVhZC5maXJzdENoaWxkKSB7XG4gICAgICBoZWFkLmluc2VydEJlZm9yZShzdHlsZSwgaGVhZC5maXJzdENoaWxkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaGVhZC5hcHBlbmRDaGlsZChzdHlsZSk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGhlYWQuYXBwZW5kQ2hpbGQoc3R5bGUpO1xuICB9XG5cbiAgaWYgKHN0eWxlLnN0eWxlU2hlZXQpIHtcbiAgICBzdHlsZS5zdHlsZVNoZWV0LmNzc1RleHQgPSBjc3M7XG4gIH0gZWxzZSB7XG4gICAgc3R5bGUuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoY3NzKSk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgc3R5bGVJbmplY3Q7XG4iLCJjb25zdCB0cmFuc2xhdGlvbnMgPSB7XG4gIGRlOiB7XG4gICAgY2FuY2VsOiAnQWJicmVjaGVuJyxcbiAgICAnY2hvb3NlLWljb24nOiAnV8OkaGxlbiBTaWUgZWluIFN5bWJvbCBmw7xyIGRpZXNlbiBPcnQnLFxuICAgICdjbG9zZS1mYXZvdXJpdGUtbW9kYWwnOiAnRmF2b3JpdGVuLURpYWxvZyBzY2hsaWXDn2VuJyxcbiAgICAnZWRpdC1wbGFjZSc6ICdPcnQgYmVhcmJlaXRlbicsXG4gICAgJ2Zhdm91cml0ZS1tb2RhbC1vbi1hZGQtbmV3JzogJ05ldWVuIEZhdm9yaXRlbiBoaW56dWbDvGdlbicsXG4gICAgJ2Zhdm91cml0ZS1tb2RhbC1vbi1lZGl0JzogJ0Zhdm9yaXQgYmVhcmJlaXRlbjoge3tmYXZvdXJpdGUubmFtZX19JyxcbiAgICAnaW5wdXQtcGxhY2Vob2xkZXInOiAnRWluZW4gTmFtZW4gZsO8ciBPcnQgc2V0emVuIChvcHRpb25hbCknLFxuICAgIHNhdmU6ICdTcGVpY2hlcm4nLFxuICAgICdzYXZlLXBsYWNlJzogJ0Zhdm9yaXQgc3BlaWNoZXJuJyxcbiAgfSxcbiAgZW46IHtcbiAgICBjYW5jZWw6ICdDYW5jZWwnLFxuICAgICdjaG9vc2UtaWNvbic6IFwiU2VsZWN0IHRoZSBwbGFjZSdzIGljb25cIixcbiAgICAnY2xvc2UtZmF2b3VyaXRlLW1vZGFsJzogJ0Nsb3NlIHRoZSBmYXZvdXJpdGUgbW9kYWwnLFxuICAgICdlZGl0LXBsYWNlJzogJ0VkaXQgcGxhY2UnLFxuICAgICdmYXZvdXJpdGUtbW9kYWwtb24tYWRkLW5ldyc6ICdBZGQgYSBuZXcgZmF2b3JpdGUnLFxuICAgICdmYXZvdXJpdGUtbW9kYWwtb24tZWRpdCc6ICdFZGl0aW5nIGZhdm91cml0ZToge3tmYXZvdXJpdGUubmFtZX19JyxcbiAgICAnaW5wdXQtcGxhY2Vob2xkZXInOiAnR2l2ZSB0aGUgbmFtZSBhIHBsYWNlIChvcHRpb25hbCknLFxuICAgIHNhdmU6ICdTYXZlJyxcbiAgICAnc2F2ZS1wbGFjZSc6ICdTYXZlIHBsYWNlJyxcbiAgICAnY2Fubm90LXNhdmUtcGxhY2UnOiAnQ2Fubm90IHNhdmUgYSBwbGFjZSB3aXRob3V0IGFkZHJlc3Mgb3IgaWNvbicsXG4gICAgcGxhY2U6ICdhIHBsYWNlJyxcbiAgICBob21lOiAnaG9tZScsXG4gICAgd29yazogJ3dvcmsnLFxuICAgIHNwb3J0OiAnc3BvcnQnLFxuICAgIHNjaG9vbDogJ3NjaG9vbCcsXG4gICAgc2hvcHBpbmc6ICdzaG9wcGluZycsXG4gICAgJ3JlcXVpcmVkLXRleHQnOiAncmVxdWlyZWQgZmllbGQnLFxuICB9LFxuICBmaToge1xuICAgIGNhbmNlbDogJ1BlcnV1dGEnLFxuICAgICdjaG9vc2UtaWNvbic6ICdWYWxpdHNlIHBhaWthbiBrdXZha2UnLFxuICAgICdjbG9zZS1mYXZvdXJpdGUtbW9kYWwnOiAnU3VsamUgc3Vvc2lra2ltb2RhYWxpJyxcbiAgICAnZWRpdC1wbGFjZSc6ICdNdW9ra2FhIHBhaWtrYWEnLFxuICAgICdmYXZvdXJpdGUtbW9kYWwtb24tYWRkLW5ldyc6ICdMaXPDpMOkIHV1c2kgc3Vvc2lra2knLFxuICAgICdmYXZvdXJpdGUtbW9kYWwtb24tZWRpdCc6ICdNdW9ra2FhIHN1b3Npa2tpYSB7e2Zhdm91cml0ZS5uYW1lfX0nLFxuICAgICdpbnB1dC1wbGFjZWhvbGRlcic6ICdBbm5hIHBhaWthbGxlIG5pbWkgKHZhcGFhZWh0b2luZW4pJyxcbiAgICBzYXZlOiAnVGFsbGVubmEnLFxuICAgICdzYXZlLXBsYWNlJzogJ1RhbGxlbm5hIHBhaWtrYScsXG4gICAgJ2Nhbm5vdC1zYXZlLXBsYWNlJzpcbiAgICAgICdQYWlra2FhIGlsbWFuIG9zb2l0ZXR0YSB0YWkgaWtvbmlhIGVpIHZvaWRhIHRhbGxlbnRhYScsXG4gICAgcGxhY2U6ICdwYWlra2EnLFxuICAgIGhvbWU6ICdrb3RpJyxcbiAgICB3b3JrOiAndHnDticsXG4gICAgc3BvcnQ6ICd1cmhlaWx1JyxcbiAgICBzY2hvb2w6ICdrb3VsdScsXG4gICAgc2hvcHBpbmc6ICdvc3Rva3NldCcsXG4gICAgJ3JlcXVpcmVkLXRleHQnOiAncGFrb2xsaW5lbiBrZW50dMOkJyxcbiAgfSxcbiAgc3Y6IHtcbiAgICBjYW5jZWw6ICdBdmJyeXQnLFxuICAgICdjaG9vc2UtaWNvbic6ICdWw6RsaiBwbGF0c2VucyBpa29uJyxcbiAgICAnY2xvc2UtZmF2b3VyaXRlLW1vZGFsJzogJ1N0w6RuZyBmYXZvcml0bW9kYWxlbicsXG4gICAgJ2VkaXQtcGxhY2UnOiAnUmVkaWdlcmEgcGxhdHMnLFxuICAgICdmYXZvdXJpdGUtbW9kYWwtb24tYWRkLW5ldyc6ICdMw6RnZyB0aWxsIG55IGZhdm9yaXQnLFxuICAgICdmYXZvdXJpdGUtbW9kYWwtb24tZWRpdCc6ICdSZWRpZ2VyYSBwbGF0c2VuOiB7e2Zhdm91cml0ZS5uYW1lfX0nLFxuICAgICdpbnB1dC1wbGFjZWhvbGRlcic6ICdBbmdlIHBsYXRzZW5zIG5hbW4gKGZyaXZpbGxpZ3QpJyxcbiAgICBzYXZlOiAnU3BhcmEnLFxuICAgICdzYXZlLXBsYWNlJzogJ1NwYXJhIHBsYXRzJyxcbiAgICAnY2Fubm90LXNhdmUtcGxhY2UnOlxuICAgICAgJ0RldCBnw6VyIGludGUgYXR0IHNwYXJhIGVuIHBsYXRzIHV0YW4gYWRyZXNzIGVsbGVyIGlrb24nLFxuICAgIHBsYWNlOiAnZW4gcGxhdHMnLFxuICAgIGhvbWU6ICdoZW0nLFxuICAgIHdvcms6ICdhcmJldGUnLFxuICAgIHNwb3J0OiAnc3BvcnQnLFxuICAgIHNjaG9vbDogJ3Nrb2xhJyxcbiAgICBzaG9wcGluZzogJ3Nob3BwYScsXG4gICAgJ3JlcXVpcmVkLWZpZWxkJzogJ29ibGlnYXRvcmlza3QgZsOkbHQnLFxuICB9LFxufTtcblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRpb25zO1xuIiwiLyogZXNsaW50LWRpc2FibGUganN4LWExMXkvY2xpY2stZXZlbnRzLWhhdmUta2V5LWV2ZW50cyAqL1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgY3ggZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgc3R5bGVzIGZyb20gJy4vZGVza3RvcC5zY3NzJztcblxuY29uc3QgRGVza3RvcE1vZGFsID0gKHtcbiAgaGVhZGVyVGV4dCxcbiAgYXV0b3N1Z2dlc3RDb21wb25lbnQsXG4gIGlucHV0UGxhY2Vob2xkZXIsXG4gIHNwZWNpZnlOYW1lLFxuICBuYW1lLFxuICBjaG9vc2VJY29uVGV4dCxcbiAgZmF2b3VyaXRlSWNvblRhYmxlLFxuICBzYXZlRmF2b3VyaXRlLFxuICBzYXZlVGV4dCxcbiAgY2FuU2F2ZSxcbiAgaXNFZGl0LFxuICBjYW5jZWxUZXh0LFxuICBjYW5jZWxTZWxlY3RlZCxcbiAgY29sb3IsXG4gIGhvdmVyQ29sb3IsXG4gIHNhdmVQbGFjZVRleHQsXG4gIGNhbnRTYXZlVGV4dCxcbiAgcmVxdWlyZWRUZXh0LFxuICBmb250V2VpZ2h0cyxcbn0pID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjbGFzc05hbWU9e3N0eWxlc1snZmF2b3VyaXRlLW1vZGFsLWRlc2t0b3AtY29udGFpbmVyJ119XG4gICAgICBzdHlsZT17e1xuICAgICAgICAnLS1jb2xvcic6IGAke2NvbG9yfWAsXG4gICAgICAgICctLWhvdmVyLWNvbG9yJzogYCR7aG92ZXJDb2xvcn1gLFxuICAgICAgICAnLS1mb250LXdlaWdodC1tZWRpdW0nOiBmb250V2VpZ2h0cy5tZWRpdW0sXG4gICAgICB9fVxuICAgID5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2Zhdm91cml0ZS1tb2RhbC1kZXNrdG9wLXRvcCddfT5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snZmF2b3VyaXRlLW1vZGFsLWRlc2t0b3AtaGVhZGVyJ119PlxuICAgICAgICAgIHtoZWFkZXJUZXh0fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snZmF2b3VyaXRlLW1vZGFsLWRlc2t0b3AtbWFpbiddfT5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snZmF2b3VyaXRlLW1vZGFsLWRlc2t0b3AtbG9jYXRpb24tc2VhcmNoJ119PlxuICAgICAgICAgIHthdXRvc3VnZ2VzdENvbXBvbmVudH1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2Zhdm91cml0ZS1tb2RhbC1kZXNrdG9wLW5hbWUnXX0+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBhcmlhLWxhYmVsPXtpbnB1dFBsYWNlaG9sZGVyfVxuICAgICAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXNbJ2Zhdm91cml0ZS1tb2RhbC1kZXNrdG9wLWlucHV0J119XG4gICAgICAgICAgICB2YWx1ZT17bmFtZX1cbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtpbnB1dFBsYWNlaG9sZGVyfVxuICAgICAgICAgICAgb25DaGFuZ2U9e3NwZWNpZnlOYW1lfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZmllbGRzZXQgY2xhc3NOYW1lPXtzdHlsZXNbJ2ljb25zLWNvbnRhaW5lciddfT5cbiAgICAgICAgPGxlZ2VuZCBjbGFzc05hbWU9e3N0eWxlc1snZmF2b3VyaXRlLW1vZGFsLWRlc2t0b3AtdGV4dCddfT5cbiAgICAgICAgICB7Y2hvb3NlSWNvblRleHR9XG4gICAgICAgICAgPHAgY2xhc3NOYW1lPXtzdHlsZXNbJ3NyLW9ubHknXX0+e3JlcXVpcmVkVGV4dH08L3A+XG4gICAgICAgIDwvbGVnZW5kPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydmYXZvdXJpdGUtbW9kYWwtZGVza3RvcC1pY29ucyddfT5cbiAgICAgICAgICB7ZmF2b3VyaXRlSWNvblRhYmxlfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZmllbGRzZXQ+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydmYXZvdXJpdGUtbW9kYWwtZGVza3RvcC1idXR0b25zJ119PlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgY2xhc3NOYW1lPXtjeChcbiAgICAgICAgICAgIGAke3N0eWxlc1snZmF2b3VyaXRlLW1vZGFsLWRlc2t0b3AtYnV0dG9uJ119ICR7c3R5bGVzLnNhdmV9ICR7XG4gICAgICAgICAgICAgIGNhblNhdmUoKSA/ICcnIDogc3R5bGVzLmRpc2FibGVkXG4gICAgICAgICAgICB9YCxcbiAgICAgICAgICApfVxuICAgICAgICAgIG9uQ2xpY2s9e3NhdmVGYXZvdXJpdGV9XG4gICAgICAgICAgYXJpYS1sYWJlbD17YCR7Y2FuU2F2ZSgpID8gc2F2ZVBsYWNlVGV4dCA6IGNhbnRTYXZlVGV4dH1gfVxuICAgICAgICAgIGFyaWEtZGlzYWJsZWQ9eyFjYW5TYXZlKCl9XG4gICAgICAgID5cbiAgICAgICAgICB7c2F2ZVRleHR9XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICB7aXNFZGl0ICYmIChcbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y3goXG4gICAgICAgICAgICAgIGAke3N0eWxlc1snZmF2b3VyaXRlLW1vZGFsLWRlc2t0b3AtYnV0dG9uJ119ICR7c3R5bGVzLmVkaXR9ICR7XG4gICAgICAgICAgICAgICAgY2FuU2F2ZSgpID8gJycgOiBzdHlsZXMuZGlzYWJsZWRcbiAgICAgICAgICAgICAgfWAsXG4gICAgICAgICAgICApfVxuICAgICAgICAgICAgb25DbGljaz17Y2FuY2VsU2VsZWN0ZWR9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge2NhbmNlbFRleHR9XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbkRlc2t0b3BNb2RhbC5wcm9wVHlwZXMgPSB7XG4gIGhlYWRlclRleHQ6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgYXV0b3N1Z2dlc3RDb21wb25lbnQ6IFByb3BUeXBlcy5ub2RlLmlzUmVxdWlyZWQsXG4gIGlucHV0UGxhY2Vob2xkZXI6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgc3BlY2lmeU5hbWU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIG5hbWU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgY2hvb3NlSWNvblRleHQ6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgZmF2b3VyaXRlSWNvblRhYmxlOiBQcm9wVHlwZXMubm9kZS5pc1JlcXVpcmVkLFxuICBzYXZlRmF2b3VyaXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICBzYXZlVGV4dDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBjYW5TYXZlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICBpc0VkaXQ6IFByb3BUeXBlcy5ib29sLFxuICBjYW5jZWxUZXh0OiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIGNhbmNlbFNlbGVjdGVkOiBQcm9wVHlwZXMuZnVuYyxcbiAgY29sb3I6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgaG92ZXJDb2xvcjogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBzYXZlUGxhY2VUZXh0OiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIGNhbnRTYXZlVGV4dDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICByZXF1aXJlZFRleHQ6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgZm9udFdlaWdodHM6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgbWVkaXVtOiBQcm9wVHlwZXMubnVtYmVyLmlzUmVxdWlyZWQsXG4gIH0pLmlzUmVxdWlyZWQsXG59O1xuXG5EZXNrdG9wTW9kYWwuZGVmYXVsdFByb3BzID0ge1xuICBpc0VkaXQ6IGZhbHNlLFxuICBjYW5jZWxTZWxlY3RlZDogKCkgPT4gKHt9KSxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IERlc2t0b3BNb2RhbDtcbiIsIi8qIGVzbGludC1kaXNhYmxlIGpzeC1hMTF5L2NsaWNrLWV2ZW50cy1oYXZlLWtleS1ldmVudHMgKi9cbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IGN4IGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHN0eWxlcyBmcm9tICcuL21vYmlsZS5zY3NzJztcblxuY29uc3QgTW9iaWxlTW9kYWwgPSAoe1xuICBoZWFkZXJUZXh0LFxuICBhdXRvc3VnZ2VzdENvbXBvbmVudCxcbiAgaW5wdXRQbGFjZWhvbGRlcixcbiAgc3BlY2lmeU5hbWUsXG4gIG5hbWUsXG4gIGNob29zZUljb25UZXh0LFxuICBmYXZvdXJpdGVJY29uVGFibGUsXG4gIHNhdmVGYXZvdXJpdGUsXG4gIHNhdmVUZXh0LFxuICBjYW5TYXZlLFxuICBjb2xvcixcbiAgaG92ZXJDb2xvcixcbiAgc2F2ZVBsYWNlVGV4dCxcbiAgY2FudFNhdmVUZXh0LFxuICByZXF1aXJlZFRleHQsXG4gIGZvbnRXZWlnaHRzLFxufSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGNsYXNzTmFtZT17c3R5bGVzWydmYXZvdXJpdGUtbW9kYWwtbW9iaWxlLWNvbnRhaW5lciddfVxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgJy0tY29sb3InOiBgJHtjb2xvcn1gLFxuICAgICAgICAnLS1ob3Zlci1jb2xvcic6IGAke2hvdmVyQ29sb3J9YCxcbiAgICAgICAgJy0tZm9udC13ZWlnaHQtbWVkaXVtJzogZm9udFdlaWdodHMubWVkaXVtLFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydmYXZvdXJpdGUtbW9kYWwtbW9iaWxlLXRvcCddfT5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snZmF2b3VyaXRlLW1vZGFsLW1vYmlsZS1oZWFkZXInXX0+XG4gICAgICAgICAge2hlYWRlclRleHR9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydmYXZvdXJpdGUtbW9kYWwtbW9iaWxlLW1haW4nXX0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2Zhdm91cml0ZS1tb2RhbC1tb2JpbGUtbG9jYXRpb24tc2VhcmNoJ119PlxuICAgICAgICAgIHthdXRvc3VnZ2VzdENvbXBvbmVudH1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIGNsYXNzTmFtZT17c3R5bGVzWydmYXZvdXJpdGUtbW9kYWwtbW9iaWxlLWlucHV0J119XG4gICAgICAgICAgdmFsdWU9e25hbWUgfHwgJyd9XG4gICAgICAgICAgcGxhY2Vob2xkZXI9e2lucHV0UGxhY2Vob2xkZXJ9XG4gICAgICAgICAgb25DaGFuZ2U9e3NwZWNpZnlOYW1lfVxuICAgICAgICAvPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydmYXZvdXJpdGUtbW9kYWwtbW9iaWxlLXRleHQnXX0+XG4gICAgICAgIHtjaG9vc2VJY29uVGV4dH1cbiAgICAgICAgPHAgY2xhc3NOYW1lPXtzdHlsZXNbJ3NyLW9ubHknXX0+e3JlcXVpcmVkVGV4dH08L3A+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2Zhdm91cml0ZS1tb2RhbC1tb2JpbGUtaWNvbnMnXX0+XG4gICAgICAgIHtmYXZvdXJpdGVJY29uVGFibGV9XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2Zhdm91cml0ZS1tb2RhbC1tb2JpbGUtc2F2ZSddfT5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGNsYXNzTmFtZT17Y3goXG4gICAgICAgICAgICBgJHtzdHlsZXNbJ2Zhdm91cml0ZS1tb2RhbC1tb2JpbGUtYnV0dG9uJ119ICR7XG4gICAgICAgICAgICAgIGNhblNhdmUoKSA/ICcnIDogc3R5bGVzLmRpc2FibGVkXG4gICAgICAgICAgICB9YCxcbiAgICAgICAgICApfVxuICAgICAgICAgIG9uQ2xpY2s9e3NhdmVGYXZvdXJpdGV9XG4gICAgICAgICAgYXJpYS1sYWJlbD17YCR7Y2FuU2F2ZSgpID8gc2F2ZVBsYWNlVGV4dCA6IGNhbnRTYXZlVGV4dH1gfVxuICAgICAgICA+XG4gICAgICAgICAge3NhdmVUZXh0fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuTW9iaWxlTW9kYWwucHJvcFR5cGVzID0ge1xuICBoZWFkZXJUZXh0OiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIGF1dG9zdWdnZXN0Q29tcG9uZW50OiBQcm9wVHlwZXMubm9kZS5pc1JlcXVpcmVkLFxuICBpbnB1dFBsYWNlaG9sZGVyOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIHNwZWNpZnlOYW1lOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICBuYW1lOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIGNob29zZUljb25UZXh0OiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIGZhdm91cml0ZUljb25UYWJsZTogUHJvcFR5cGVzLm5vZGUuaXNSZXF1aXJlZCxcbiAgc2F2ZUZhdm91cml0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgc2F2ZVRleHQ6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgY2FuU2F2ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgY29sb3I6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgaG92ZXJDb2xvcjogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBzYXZlUGxhY2VUZXh0OiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIGNhbnRTYXZlVGV4dDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICByZXF1aXJlZFRleHQ6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgZm9udFdlaWdodHM6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgbWVkaXVtOiBQcm9wVHlwZXMubnVtYmVyLmlzUmVxdWlyZWQsXG4gIH0pLmlzUmVxdWlyZWQsXG59O1xuXG5leHBvcnQgZGVmYXVsdCBNb2JpbGVNb2RhbDtcbiIsIi8qIGVzbGludC1kaXNhYmxlIGpzeC1hMTF5L2NsaWNrLWV2ZW50cy1oYXZlLWtleS1ldmVudHMgKi9cbmltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgY3ggZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgaTE4bmV4dCBmcm9tICdpMThuZXh0JztcbmltcG9ydCBpc0VtcHR5IGZyb20gJ2xvZGFzaC9pc0VtcHR5JztcbmltcG9ydCBpc051bWJlciBmcm9tICdsb2Rhc2gvaXNOdW1iZXInO1xuaW1wb3J0IE1vZGFsIGZyb20gJ0Boc2wtZmkvbW9kYWwnO1xuaW1wb3J0IEljb24gZnJvbSAnQGRpZ2l0cmFuc2l0LWNvbXBvbmVudC9kaWdpdHJhbnNpdC1jb21wb25lbnQtaWNvbic7XG5pbXBvcnQgc3R5bGVzIGZyb20gJy4vaGVscGVycy9zdHlsZXMuc2Nzcyc7XG5pbXBvcnQgdHJhbnNsYXRpb25zIGZyb20gJy4vaGVscGVycy90cmFuc2xhdGlvbnMnO1xuaW1wb3J0IERlc2t0b3BNb2RhbCBmcm9tICcuL2hlbHBlcnMvRGVza3RvcE1vZGFsJztcbmltcG9ydCBNb2JpbGVNb2RhbCBmcm9tICcuL2hlbHBlcnMvTW9iaWxlTW9kYWwnO1xuXG5pMThuZXh0LmluaXQoe1xuICBsbmc6ICdmaScsXG4gIGZhbGxiYWNrTG5nOiAnZmknLFxuICBkZWZhdWx0TlM6ICd0cmFuc2xhdGlvbicsXG4gIGludGVycG9sYXRpb246IHtcbiAgICBlc2NhcGVWYWx1ZTogZmFsc2UsIC8vIG5vdCBuZWVkZWQgZm9yIHJlYWN0IGFzIGl0IGVzY2FwZXMgYnkgZGVmYXVsdFxuICB9LFxufSk7XG5cbk9iamVjdC5rZXlzKHRyYW5zbGF0aW9ucykuZm9yRWFjaChsYW5nID0+IHtcbiAgaTE4bmV4dC5hZGRSZXNvdXJjZUJ1bmRsZShsYW5nLCAndHJhbnNsYXRpb24nLCB0cmFuc2xhdGlvbnNbbGFuZ10pO1xufSk7XG5cbmNvbnN0IEZhdm91cml0ZUljb25JZFRvTmFtZU1hcCA9IHtcbiAgJ2ljb24taWNvbl9wbGFjZSc6ICdwbGFjZScsXG4gICdpY29uLWljb25faG9tZSc6ICdob21lJyxcbiAgJ2ljb24taWNvbl93b3JrJzogJ3dvcmsnLFxuICAnaWNvbi1pY29uX3Nwb3J0JzogJ3Nwb3J0JyxcbiAgJ2ljb24taWNvbl9zY2hvb2wnOiAnc2Nob29sJyxcbiAgJ2ljb24taWNvbl9zaG9wcGluZyc6ICdzaG9wcGluZycsXG59O1xuXG5jb25zdCBGYXZvdXJpdGVJY29uVGFibGVCdXR0b24gPSAoe1xuICB2YWx1ZSxcbiAgc2VsZWN0ZWRJY29uSWQsXG4gIGhhbmRsZUNsaWNrLFxuICBjb2xvcixcbn0pID0+IHtcbiAgY29uc3QgW2lzSG92ZXJlZCwgc2V0SG92ZXJdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBbaXNGb2N1c2VkLCBzZXRGb2N1c10gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IGljb25Db2xvciA9XG4gICAgdmFsdWUgPT09IEZhdm91cml0ZUljb25JZFRvTmFtZU1hcFtzZWxlY3RlZEljb25JZF0gfHwgaXNIb3ZlcmVkIHx8IGlzRm9jdXNlZFxuICAgICAgPyAnI2ZmZmZmZidcbiAgICAgIDogY29sb3I7XG4gIHJldHVybiAoXG4gICAgPGJ1dHRvblxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBjbGFzc05hbWU9e2N4KHN0eWxlc1snZmF2b3VyaXRlLWljb24tdGFibGUtY29sdW1uJ10sIHN0eWxlc1t2YWx1ZV0sIHtcbiAgICAgICAgW3N0eWxlc1snc2VsZWN0ZWQtaWNvbiddXTpcbiAgICAgICAgICB2YWx1ZSA9PT0gRmF2b3VyaXRlSWNvbklkVG9OYW1lTWFwW3NlbGVjdGVkSWNvbklkXSxcbiAgICAgIH0pfVxuICAgICAgb25Nb3VzZUVudGVyPXsoKSA9PiBzZXRIb3Zlcih0cnVlKX1cbiAgICAgIG9uTW91c2VMZWF2ZT17KCkgPT4gc2V0SG92ZXIoZmFsc2UpfVxuICAgICAgb25Gb2N1cz17KCkgPT4gc2V0Rm9jdXModHJ1ZSl9XG4gICAgICBvbkJsdXI9eygpID0+IHNldEZvY3VzKGZhbHNlKX1cbiAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZUNsaWNrKHZhbHVlKX1cbiAgICAgIGFyaWEtbGFiZWw9e2kxOG5leHQudCh2YWx1ZSl9XG4gICAgPlxuICAgICAgPEljb24gaW1nPXt2YWx1ZX0gY29sb3I9e2ljb25Db2xvcn0gLz5cbiAgICA8L2J1dHRvbj5cbiAgKTtcbn07XG5cbkZhdm91cml0ZUljb25UYWJsZUJ1dHRvbi5wcm9wVHlwZXMgPSB7XG4gIGhhbmRsZUNsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICB2YWx1ZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgc2VsZWN0ZWRJY29uSWQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gIGNvbG9yOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG59O1xuXG5jb25zdCBGYXZvdXJpdGVJY29uVGFibGUgPSAoe1xuICBmYXZvdXJpdGVJY29uSWRzLFxuICBzZWxlY3RlZEljb25JZCxcbiAgaGFuZGxlQ2xpY2ssXG4gIGNvbG9yLFxufSkgPT4ge1xuICBjb25zdCBjb2x1bW5zID0gZmF2b3VyaXRlSWNvbklkcy5tYXAodmFsdWUgPT4gKFxuICAgIDxGYXZvdXJpdGVJY29uVGFibGVCdXR0b25cbiAgICAgIGtleT17YGZhdm91cml0ZS1pY29uLXRhYmxlLSR7dmFsdWV9YH1cbiAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgIHNlbGVjdGVkSWNvbklkPXtzZWxlY3RlZEljb25JZH1cbiAgICAgIGhhbmRsZUNsaWNrPXtoYW5kbGVDbGlja31cbiAgICAgIGNvbG9yPXtjb2xvcn1cbiAgICAvPlxuICApKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2dlbmVyaWMtdGFibGUnXX0+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzLnJvd30+e2NvbHVtbnN9PC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5GYXZvdXJpdGVJY29uVGFibGUucHJvcFR5cGVzID0ge1xuICBoYW5kbGVDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgZmF2b3VyaXRlSWNvbklkczogUHJvcFR5cGVzLmFycmF5LFxuICBzZWxlY3RlZEljb25JZDogUHJvcFR5cGVzLnN0cmluZyxcbiAgY29sb3I6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbn07XG5cbi8qKlxuICogQGV4YW1wbGVcbiAqIDxGYXZvdXJpdGVNb2RhbFxuICogICBzaG93PXttb2RhbE9wZW59XG4gKiAgIGhhbmRsZUNsb3NlPXtoYW5kbGVDbG9zZX1cbiAqICAgc2F2ZUZhdm91cml0ZT17b25TYXZlRmF2b3VyaXRlfVxuICogICBsb2NhdGlvbj17c2VsZWN0ZWRMb2NhdGlvbn1cbiAqICAgZmF2b3VyaXRlPXtmYXZvdXJpdGV9XG4gKiAgIGxhbmc9e2xhbmd9XG4gKiAgIGF1dG9zdWdnZXN0Q29tcG9uZW50PXtcbiAqICAgICA8QXV0b1N1Z2dlc3RcbiAqICAgICAgIHNvdXJjZXM9e1snSGlzdG9yeScsICdEYXRhc291cmNlJ119XG4gKiAgICAgICB0YXJnZXRzPXtbJ0xvY2F0aW9ucycsICdDdXJyZW50UG9zaXRpb24nXX1cbiAqICAgICAgIGlkPVwiZmF2b3VyaXRlXCJcbiAqICAgICAgIGF1dG9Gb2N1cz17ZmFsc2V9XG4gKiAgICAgICBwbGFjZWhvbGRlcj1cInNlYXJjaC1hZGRyZXNzLW9yLXBsYWNlXCJcbiAqICAgICAgIHZhbHVlPXtzZWxlY3RlZExvY2F0aW9uLmFkZHJlc3MgfHwgJyd9XG4gKiAgICAgICBvbkZhdm91cml0ZVNlbGVjdGVkPXt0aGlzLnNldExvY2F0aW9uUHJvcGVydGllc31cbiAqICAgICAgIGxhbmc9e2xhbmd9XG4gKiAgICAgLz5cbiAqICAgfVxuICogLz5cbiAqL1xuY2xhc3MgRmF2b3VyaXRlTW9kYWwgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIGlzTW9kYWxPcGVuOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICAgIC8qKiBSZXF1aXJlZC5cbiAgICAgKiBAdHlwZXtmdW5jdGlvbn0gKi9cbiAgICBoYW5kbGVDbG9zZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAvKiogUmVxdWlyZWQuXG4gICAgICogQHR5cGV7ZnVuY3Rpb259ICovXG4gICAgc2F2ZUZhdm91cml0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAvKiogUmVxdWlyZWQuIE9ubHkgdXNlZCB3aGVuIGVkaXRpbmcgZmF2b3VyaXRlLlxuICAgICAqIEB0eXBle2Z1bmN0aW9ufSAqL1xuICAgIGNhbmNlbFNlbGVjdGVkOiBQcm9wVHlwZXMuZnVuYyxcbiAgICAvKiogT3B0aW9uYWwuXG4gICAgICogQXV0b3N1Z2dlc3QgY29tcG9uZW50IGZvciBzZWFyY2hpbmcgbmV3IGZhdm91cml0ZXMuXG4gICAgICogQHR5cGV7bm9kZX1cbiAgICAgKi9cbiAgICBhdXRvc3VnZ2VzdENvbXBvbmVudDogUHJvcFR5cGVzLm5vZGUsXG4gICAgLyoqIE9wdGlvbmFsLlxuICAgICAqIE9iamVjdCB0byBwcmVmaWxsIGlucHV0IGZpZWxkIGZvciBuYW1lIGFuZC9vciBzZWxlY3RlZCBpY29uLlxuICAgICAqIEB0eXBlIHtvYmplY3R9XG4gICAgICogQHByb3BlcnR5IHtzdHJpbmd9IHR5cGVcbiAgICAgKiBAcHJvcGVydHkge3N0cmluZ30gYWRkcmVzc1xuICAgICAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBndGZzSWRcbiAgICAgKiBAcHJvcGVydHkge3N0cmluZ30gZ2lkXG4gICAgICogQHByb3BlcnR5IHtudW1iZXJ9IGxhdFxuICAgICAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBsb25cbiAgICAgKiBAcHJvcGVydHkge3N0cmluZ30gbmFtZVxuICAgICAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBzZWxlY3RlZEljb25JZFxuICAgICAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBmYXZvdXJpdGVJZFxuICAgICAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBsYXllclxuICAgICAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBkZWZhdWx0TmFtZVxuICAgICAqL1xuICAgIGZhdm91cml0ZTogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICAgIHR5cGU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICBhZGRyZXNzOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgZ3Rmc0lkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgZ2lkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgbGF0OiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgbG9uOiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgbmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgIHNlbGVjdGVkSWNvbklkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgZmF2b3VyaXRlSWQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICBsYXllcjogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgIGRlZmF1bHROYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIH0pLFxuICAgIC8qKiBPcHRpb25hbC5cbiAgICAgKiBAdHlwZSB7ZnVuY3Rpb259ICovXG4gICAgYWRkQW5hbHl0aWNzRXZlbnQ6IFByb3BUeXBlcy5mdW5jLFxuICAgIC8qKiBPcHRpb25hbC4gTGFuZ3VhZ2UsIGZpLCBlbiBvciBzdi5cbiAgICAgKiBAdHlwZSB7c3RyaW5nfSAqL1xuICAgIGxhbmc6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgLyoqIE9wdGlvbmFsLiAqL1xuICAgIGlzTW9iaWxlOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBhcHBFbGVtZW50OiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgY29sb3I6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgaG92ZXJDb2xvcjogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAvKiogT3B0aW9uYWwuICovXG4gICAgZm9udFdlaWdodHM6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICAvKiogRGVmYXVsdCB2YWx1ZSBpcyA1MDAuICovXG4gICAgICBtZWRpdW06IFByb3BUeXBlcy5udW1iZXIsXG4gICAgfSksXG4gIH07XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBjYW5jZWxTZWxlY3RlZDogKCkgPT4gKHt9KSxcbiAgICBsYW5nOiAnZmknLFxuICAgIGlzTW9iaWxlOiBmYWxzZSxcbiAgICBmYXZvdXJpdGU6IG51bGwsXG4gICAgY29sb3I6ICcjMDA3YWM5JyxcbiAgICBob3ZlckNvbG9yOiAnIzAwNjJhMScsXG4gICAgZm9udFdlaWdodHM6IHtcbiAgICAgIG1lZGl1bTogNTAwLFxuICAgIH0sXG4gIH07XG5cbiAgc3RhdGljIGZhdm91cml0ZUljb25JZHMgPSBbXG4gICAgJ3BsYWNlJyxcbiAgICAnaG9tZScsXG4gICAgJ3dvcmsnLFxuICAgICdzcG9ydCcsXG4gICAgJ3NjaG9vbCcsXG4gICAgJ3Nob3BwaW5nJyxcbiAgXTtcblxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcbiAgICBpMThuZXh0LmNoYW5nZUxhbmd1YWdlKHByb3BzLmxhbmcpO1xuICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICBmYXZvdXJpdGU6IG51bGwsXG4gICAgfTtcbiAgICBPYmplY3Qua2V5cyh0cmFuc2xhdGlvbnMpLmZvckVhY2gobGFuZyA9PiB7XG4gICAgICBpMThuZXh0LmFkZFJlc291cmNlQnVuZGxlKGxhbmcsICd0cmFuc2xhdGlvbicsIHRyYW5zbGF0aW9uc1tsYW5nXSk7XG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzID0gKG5leHRQcm9wcywgcHJldlN0YXRlKSA9PiB7XG4gICAgY29uc3QgcHJldkZhdiA9IHByZXZTdGF0ZS5mYXZvdXJpdGU7XG4gICAgY29uc3QgbmV4dEZhdiA9IG5leHRQcm9wcy5mYXZvdXJpdGU7XG5cbiAgICBpZiAoaXNFbXB0eShuZXh0RmF2KSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZmF2b3VyaXRlOiBudWxsLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBpZiAoaXNFbXB0eShwcmV2RmF2KSAmJiAhaXNFbXB0eShuZXh0RmF2KSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZmF2b3VyaXRlOiB7XG4gICAgICAgICAgLi4ubmV4dEZhdixcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfVxuICAgIGlmIChcbiAgICAgICFpc0VtcHR5KHByZXZGYXYpICYmXG4gICAgICAhaXNFbXB0eShuZXh0RmF2KSAmJlxuICAgICAgKG5leHRGYXYuYWRkcmVzcyAhPT0gcHJldkZhdi5hZGRyZXNzIHx8XG4gICAgICAgIG5leHRGYXYubGF0ICE9PSBwcmV2RmF2LmxhdCB8fFxuICAgICAgICBuZXh0RmF2LmxvbiAhPT0gcHJldkZhdi5sb24pXG4gICAgKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBmYXZvdXJpdGU6IHtcbiAgICAgICAgICAuLi5wcmV2RmF2LFxuICAgICAgICAgIGFkZHJlc3M6IG5leHRGYXYuYWRkcmVzcyxcbiAgICAgICAgICBsYXQ6IG5leHRGYXYubGF0LFxuICAgICAgICAgIGxvbjogbmV4dEZhdi5sb24sXG4gICAgICAgICAgZ2lkOiBuZXh0RmF2LmdpZCB8fCBudWxsLFxuICAgICAgICAgIG5hbWU6IHByZXZGYXYubmFtZSB8fCBuZXh0RmF2Lm5hbWUgfHwgJycsXG4gICAgICAgICAgZGVmYXVsdE5hbWU6IG5leHRGYXYuZGVmYXVsdE5hbWUsXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfTtcblxuICBjb21wb25lbnREaWRVcGRhdGUgPSAoKSA9PiB7XG4gICAgaWYgKGkxOG5leHQubGFuZ3VhZ2UgIT09IHRoaXMucHJvcHMubGFuZykge1xuICAgICAgaTE4bmV4dC5jaGFuZ2VMYW5ndWFnZSh0aGlzLnByb3BzLmxhbmcpO1xuICAgIH1cbiAgfTtcblxuICBjb21wb25lbnRXaWxsVW5tb3VudCA9ICgpID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHsgZmF2b3VyaXRlOiBudWxsIH0pO1xuICB9O1xuXG4gIHNwZWNpZnlOYW1lID0gZXZlbnQgPT4ge1xuICAgIGNvbnN0IG5hbWUgPSBldmVudC50YXJnZXQudmFsdWU7XG4gICAgdGhpcy5zZXRTdGF0ZShwcmV2U3RhdGUgPT4gKHtcbiAgICAgIGZhdm91cml0ZTogeyAuLi5wcmV2U3RhdGUuZmF2b3VyaXRlLCBuYW1lIH0sXG4gICAgfSkpO1xuICB9O1xuXG4gIHNlbGVjdEljb24gPSBpZCA9PiB7XG4gICAgdGhpcy5zZXRTdGF0ZShwcmV2U3RhdGUgPT4gKHtcbiAgICAgIGZhdm91cml0ZToge1xuICAgICAgICAuLi5wcmV2U3RhdGUuZmF2b3VyaXRlLFxuICAgICAgICBzZWxlY3RlZEljb25JZDogYGljb24taWNvbl8ke2lkfWAsXG4gICAgICB9LFxuICAgIH0pKTtcbiAgfTtcblxuICBpc0VkaXQgPSAoKSA9PlxuICAgIHRoaXMuc3RhdGUuZmF2b3VyaXRlICYmIHRoaXMuc3RhdGUuZmF2b3VyaXRlLmZhdm91cml0ZUlkICE9PSB1bmRlZmluZWQ7XG5cbiAgY2FuU2F2ZSA9ICgpID0+XG4gICAgdGhpcy5zdGF0ZS5mYXZvdXJpdGUgJiZcbiAgICAhaXNFbXB0eSh0aGlzLnN0YXRlLmZhdm91cml0ZS5zZWxlY3RlZEljb25JZCkgJiZcbiAgICBpc051bWJlcih0aGlzLnN0YXRlLmZhdm91cml0ZS5sYXQpICYmXG4gICAgaXNOdW1iZXIodGhpcy5zdGF0ZS5mYXZvdXJpdGUubG9uKTtcblxuICBjbG9zZU1vZGFsID0gKCkgPT4ge1xuICAgIHRoaXMucHJvcHMuaGFuZGxlQ2xvc2UoKTtcbiAgICAvLyBoc2wtZmkvbW9kYWwgY2xvc2UgYW5pbWF0aW9uIGxhc3RzIDI1MG1zXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgZmF2b3VyaXRlOiBudWxsIH0pO1xuICAgIH0sIDI1MCk7XG4gIH07XG5cbiAgY2FuY2VsU2VsZWN0ZWQgPSAoKSA9PiB7XG4gICAgdGhpcy5wcm9wcy5jYW5jZWxTZWxlY3RlZCgpO1xuICAgIC8vIGhzbC1maS9tb2RhbCBjbG9zZSBhbmltYXRpb24gbGFzdHMgMjUwbXNcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBmYXZvdXJpdGU6IG51bGwgfSk7XG4gICAgfSwgMjUwKTtcbiAgfTtcblxuICBzYXZlID0gKCkgPT4ge1xuICAgIGlmICh0aGlzLmNhblNhdmUoKSkge1xuICAgICAgY29uc3QgbmFtZSA9IGlzRW1wdHkodGhpcy5zdGF0ZS5mYXZvdXJpdGUubmFtZSlcbiAgICAgICAgPyB0aGlzLnN0YXRlLmZhdm91cml0ZS5kZWZhdWx0TmFtZVxuICAgICAgICA6IHRoaXMuc3RhdGUuZmF2b3VyaXRlLm5hbWU7XG5cbiAgICAgIGNvbnN0IGZhdm91cml0ZSA9IHsgLi4udGhpcy5zdGF0ZS5mYXZvdXJpdGUsIG5hbWUgfTtcbiAgICAgIGRlbGV0ZSBmYXZvdXJpdGUuZGVmYXVsdE5hbWU7XG4gICAgICB0aGlzLnByb3BzLnNhdmVGYXZvdXJpdGUoeyAuLi5mYXZvdXJpdGUsIHR5cGU6ICdwbGFjZScgfSk7XG4gICAgICBpZiAodGhpcy5wcm9wcy5hZGRBbmFseXRpY3NFdmVudCkge1xuICAgICAgICB0aGlzLnByb3BzLmFkZEFuYWx5dGljc0V2ZW50KHtcbiAgICAgICAgICBjYXRlZ29yeTogJ0Zhdm91cml0ZScsXG4gICAgICAgICAgYWN0aW9uOiAnU2F2ZUZhdm91cml0ZScsXG4gICAgICAgICAgbmFtZTogdGhpcy5zdGF0ZS5mYXZvdXJpdGUuc2VsZWN0ZWRJY29uSWQsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuaXNFZGl0KCkgJiYgdGhpcy5wcm9wcy5jYW5jZWxTZWxlY3RlZCkge1xuICAgICAgICB0aGlzLmNhbmNlbFNlbGVjdGVkKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNsb3NlTW9kYWwoKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgZmF2b3VyaXRlIH0gPSB0aGlzLnN0YXRlO1xuICAgIGNvbnN0IHsgY29sb3IsIGhvdmVyQ29sb3IsIGZvbnRXZWlnaHRzIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGhlYWRlclRleHQgPSB0aGlzLmlzRWRpdCgpXG4gICAgICA/IGkxOG5leHQudCgnZWRpdC1wbGFjZScpXG4gICAgICA6IGkxOG5leHQudCgnc2F2ZS1wbGFjZScpO1xuICAgIGNvbnN0IG1vZGFsUHJvcHMgPSB7XG4gICAgICBoZWFkZXJUZXh0LFxuICAgICAgYXV0b3N1Z2dlc3RDb21wb25lbnQ6IHtcbiAgICAgICAgLi4udGhpcy5wcm9wcy5hdXRvc3VnZ2VzdENvbXBvbmVudCxcbiAgICAgICAgY29sb3IsXG4gICAgICAgIGhvdmVyQ29sb3IsXG4gICAgICB9LFxuICAgICAgaW5wdXRQbGFjZWhvbGRlcjogaTE4bmV4dC50KCdpbnB1dC1wbGFjZWhvbGRlcicpLFxuICAgICAgc3BlY2lmeU5hbWU6IHRoaXMuc3BlY2lmeU5hbWUsXG4gICAgICBuYW1lOiAoZmF2b3VyaXRlICYmIGZhdm91cml0ZS5uYW1lKSB8fCAnJyxcbiAgICAgIGNob29zZUljb25UZXh0OiBpMThuZXh0LnQoJ2Nob29zZS1pY29uJyksXG4gICAgICBmYXZvdXJpdGVJY29uVGFibGU6IChcbiAgICAgICAgPEZhdm91cml0ZUljb25UYWJsZVxuICAgICAgICAgIHNlbGVjdGVkSWNvbklkPXsoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKChmYXZvdXJpdGUgJiYgZmF2b3VyaXRlLnNlbGVjdGVkSWNvbklkICE9PSB1bmRlZmluZWQpIHx8IG51bGwpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGZhdm91cml0ZS5zZWxlY3RlZEljb25JZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgICAgfSkoKX1cbiAgICAgICAgICBmYXZvdXJpdGVJY29uSWRzPXtGYXZvdXJpdGVNb2RhbC5mYXZvdXJpdGVJY29uSWRzfVxuICAgICAgICAgIGhhbmRsZUNsaWNrPXt0aGlzLnNlbGVjdEljb259XG4gICAgICAgICAgY29sb3I9e2NvbG9yfVxuICAgICAgICAvPlxuICAgICAgKSxcbiAgICAgIHNhdmVGYXZvdXJpdGU6IHRoaXMuc2F2ZSxcbiAgICAgIHNhdmVUZXh0OiBpMThuZXh0LnQoJ3NhdmUnKSxcbiAgICAgIGNhblNhdmU6IHRoaXMuY2FuU2F2ZSxcbiAgICAgIGlzRWRpdDogdGhpcy5pc0VkaXQoKSxcbiAgICAgIGNhbmNlbFRleHQ6IGkxOG5leHQudCgnY2FuY2VsJyksXG4gICAgICBjYW5jZWxTZWxlY3RlZDogKCkgPT4gdGhpcy5jYW5jZWxTZWxlY3RlZCgpLFxuICAgICAgY29sb3IsXG4gICAgICBob3ZlckNvbG9yLFxuICAgICAgc2F2ZVBsYWNlVGV4dDogaTE4bmV4dC50KCdzYXZlLXBsYWNlJyksXG4gICAgICBjYW50U2F2ZVRleHQ6IGkxOG5leHQudCgnY2Fubm90LXNhdmUtcGxhY2UnKSxcbiAgICAgIHJlcXVpcmVkVGV4dDogaTE4bmV4dC50KCdyZXF1aXJlZC10ZXh0JyksXG4gICAgICBmb250V2VpZ2h0cyxcbiAgICB9O1xuICAgIHJldHVybiAoXG4gICAgICA8TW9kYWxcbiAgICAgICAgYXBwRWxlbWVudD17dGhpcy5wcm9wcy5hcHBFbGVtZW50fVxuICAgICAgICBjb250ZW50TGFiZWw9e1xuICAgICAgICAgIHRoaXMuaXNFZGl0KClcbiAgICAgICAgICAgID8gaTE4bmV4dC50KCdmYXZvdXJpdGUtbW9kYWwtb24tZWRpdCcsIGZhdm91cml0ZSlcbiAgICAgICAgICAgIDogaTE4bmV4dC50KCdmYXZvdXJpdGUtbW9kYWwtb24tYWRkLW5ldycpXG4gICAgICAgIH1cbiAgICAgICAgY2xvc2VCdXR0b25MYWJlbD17aTE4bmV4dC50KCdjbG9zZS1mYXZvdXJpdGUtbW9kYWwnKX1cbiAgICAgICAgdmFyaWFudD17IXRoaXMucHJvcHMuaXNNb2JpbGUgPyAnc21hbGwnIDogJ2xhcmdlJ31cbiAgICAgICAgaXNPcGVuPXt0aGlzLnByb3BzLmlzTW9kYWxPcGVufVxuICAgICAgICBvbkNyb3NzQ2xpY2s9eygpID0+IHRoaXMuY2xvc2VNb2RhbCgpfVxuICAgICAgPlxuICAgICAgICB7IXRoaXMucHJvcHMuaXNNb2JpbGUgJiYgPERlc2t0b3BNb2RhbCB7Li4ubW9kYWxQcm9wc30gLz59XG4gICAgICAgIHt0aGlzLnByb3BzLmlzTW9iaWxlICYmIDxNb2JpbGVNb2RhbCB7Li4ubW9kYWxQcm9wc30gLz59XG4gICAgICA8L01vZGFsPlxuICAgICk7XG4gIH07XG59XG5cbmV4cG9ydCBkZWZhdWx0IEZhdm91cml0ZU1vZGFsO1xuIl0sIm5hbWVzIjpbIl9leHRlbmRzIiwiT2JqZWN0IiwiYXNzaWduIiwiYmluZCIsInRhcmdldCIsImkiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJzb3VyY2UiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJhcHBseSIsInRoaXMiLCJzdHlsZUluamVjdCIsImNzcyIsInJlZiIsImluc2VydEF0IiwiZG9jdW1lbnQiLCJoZWFkIiwiZ2V0RWxlbWVudHNCeVRhZ05hbWUiLCJzdHlsZSIsImNyZWF0ZUVsZW1lbnQiLCJ0eXBlIiwiZmlyc3RDaGlsZCIsImluc2VydEJlZm9yZSIsImFwcGVuZENoaWxkIiwic3R5bGVTaGVldCIsImNzc1RleHQiLCJjcmVhdGVUZXh0Tm9kZSIsInRyYW5zbGF0aW9ucyIsImRlIiwiY2FuY2VsIiwic2F2ZSIsImVuIiwicGxhY2UiLCJob21lIiwid29yayIsInNwb3J0Iiwic2Nob29sIiwic2hvcHBpbmciLCJmaSIsInN2IiwiRGVza3RvcE1vZGFsIiwiaGVhZGVyVGV4dCIsImF1dG9zdWdnZXN0Q29tcG9uZW50IiwiaW5wdXRQbGFjZWhvbGRlciIsInNwZWNpZnlOYW1lIiwibmFtZSIsImNob29zZUljb25UZXh0IiwiZmF2b3VyaXRlSWNvblRhYmxlIiwic2F2ZUZhdm91cml0ZSIsInNhdmVUZXh0IiwiY2FuU2F2ZSIsImlzRWRpdCIsImNhbmNlbFRleHQiLCJjYW5jZWxTZWxlY3RlZCIsImNvbG9yIiwiaG92ZXJDb2xvciIsInNhdmVQbGFjZVRleHQiLCJjYW50U2F2ZVRleHQiLCJyZXF1aXJlZFRleHQiLCJmb250V2VpZ2h0cyIsIlJlYWN0IiwiY2xhc3NOYW1lIiwic3R5bGVzIiwibWVkaXVtIiwidmFsdWUiLCJwbGFjZWhvbGRlciIsIm9uQ2hhbmdlIiwib25DbGljayIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsInN0cmluZyIsImlzUmVxdWlyZWQiLCJub2RlIiwiZnVuYyIsImJvb2wiLCJzaGFwZSIsIm51bWJlciIsImRlZmF1bHRQcm9wcyIsIk1vYmlsZU1vZGFsIiwiZGlzYWJsZWQiLCJpbml0IiwibG5nIiwiZmFsbGJhY2tMbmciLCJkZWZhdWx0TlMiLCJpbnRlcnBvbGF0aW9uIiwiZXNjYXBlVmFsdWUiLCJrZXlzIiwiZm9yRWFjaCIsImxhbmciLCJpMThuZXh0IiwiYWRkUmVzb3VyY2VCdW5kbGUiLCJGYXZvdXJpdGVJY29uSWRUb05hbWVNYXAiLCJGYXZvdXJpdGVJY29uVGFibGVCdXR0b24iLCJzZWxlY3RlZEljb25JZCIsImhhbmRsZUNsaWNrIiwiaXNIb3ZlcmVkIiwic2V0SG92ZXIiLCJ1c2VTdGF0ZSIsImlzRm9jdXNlZCIsInNldEZvY3VzIiwiaWNvbkNvbG9yIiwiY3giLCJvbk1vdXNlRW50ZXIiLCJvbk1vdXNlTGVhdmUiLCJvbkZvY3VzIiwib25CbHVyIiwidCIsIkljb24iLCJpbWciLCJGYXZvdXJpdGVJY29uVGFibGUiLCJmYXZvdXJpdGVJY29uSWRzIiwiY29sdW1ucyIsIm1hcCIsInJvdyIsImFycmF5IiwiRmF2b3VyaXRlTW9kYWwiLCJDb21wb25lbnQiLCJjb25zdHJ1Y3RvciIsInByb3BzIiwic3VwZXIiLCJjb21wb25lbnREaWRVcGRhdGUiLCJsYW5ndWFnZSIsImNoYW5nZUxhbmd1YWdlIiwiY29tcG9uZW50V2lsbFVubW91bnQiLCJzZXRTdGF0ZSIsImZhdm91cml0ZSIsImV2ZW50IiwicHJldlN0YXRlIiwic2VsZWN0SWNvbiIsImlkIiwic3RhdGUiLCJ1bmRlZmluZWQiLCJmYXZvdXJpdGVJZCIsImlzRW1wdHkiLCJpc051bWJlciIsImxhdCIsImxvbiIsImNsb3NlTW9kYWwiLCJoYW5kbGVDbG9zZSIsInNldFRpbWVvdXQiLCJkZWZhdWx0TmFtZSIsImFkZEFuYWx5dGljc0V2ZW50IiwiY2F0ZWdvcnkiLCJhY3Rpb24iLCJyZW5kZXIiLCJtb2RhbFByb3BzIiwiTW9kYWwiLCJhcHBFbGVtZW50IiwiY29udGVudExhYmVsIiwiY2xvc2VCdXR0b25MYWJlbCIsInZhcmlhbnQiLCJpc01vYmlsZSIsImlzT3BlbiIsImlzTW9kYWxPcGVuIiwib25Dcm9zc0NsaWNrIiwiZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzIiwibmV4dFByb3BzIiwicHJldkZhdiIsIm5leHRGYXYiLCJhZGRyZXNzIiwiZ2lkIiwiZ3Rmc0lkIiwibGF5ZXIiXSwibWFwcGluZ3MiOiJnM0JBQWUsU0FBU0EsSUFZdEIsT0FYQUEsRUFBV0MsT0FBT0MsT0FBU0QsT0FBT0MsT0FBT0MsT0FBUyxTQUFVQyxHQUMxRCxJQUFLLElBQUlDLEVBQUksRUFBR0EsRUFBSUMsVUFBVUMsT0FBUUYsSUFBSyxDQUN6QyxJQUFJRyxFQUFTRixVQUFVRCxHQUN2QixJQUFLLElBQUlJLEtBQU9ELEVBQ1ZQLE9BQU9TLFVBQVVDLGVBQWVDLEtBQUtKLEVBQVFDLEtBQy9DTCxFQUFPSyxHQUFPRCxFQUFPQyxJQUkzQixPQUFPTCxHQUVGSixFQUFTYSxNQUFNQyxLQUFNUixVQUM5QixDQ2JBLFNBQVNTLEVBQVlDLEVBQUtDLFFBQ1gsSUFBUkEsSUFBaUJBLEVBQU0sSUFDNUIsSUFBSUMsRUFBV0QsRUFBSUMsU0FFbkIsR0FBS0YsR0FBMkIsb0JBQWJHLFNBQW5CLENBRUEsSUFBSUMsRUFBT0QsU0FBU0MsTUFBUUQsU0FBU0UscUJBQXFCLFFBQVEsR0FD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
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("prop-types"),require("classnames"),require("i18next"),require("lodash/isEmpty"),require("lodash/isNumber"),require("@hsl-fi/modal"),require("@digitransit-component/digitransit-component-icon")):"function"==typeof define&&define.amd?define(["exports","react","prop-types","classnames","i18next","lodash/isEmpty","lodash/isNumber","@hsl-fi/modal","@digitransit-component/digitransit-component-icon"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["@digitransit-component/digitransit-component-favourite-modal"]={},e.React,e.PropTypes,e.cx,e.i18next,e.isEmpty,e.isNumber,e.Modal,e.Icon)}(this,(function(e,t,o,a,i,n,l,r,d){"use strict";function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var u=s(t),c=s(o),f=s(a),p=s(i),m=s(n),_=s(l),v=s(r),b=s(d);function h(e){return h="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},h(e)}function g(e){var t=function(e,t){if("object"!=h(e)||!e)return e;var o=e[Symbol.toPrimitive];if(void 0!==o){var a=o.call(e,t||"default");if("object"!=h(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==h(t)?t:String(t)}function k(e,t,o){return(t=g(t))in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function y(e,t){(null==t||t>e.length)&&(t=e.length);for(var o=0,a=new Array(t);o<t;o++)a[o]=e[o];return a}function x(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a,i,n,l,r=[],d=!0,s=!1;try{if(n=(o=o.call(e)).next,0===t){if(Object(o)!==o)return;d=!1}else for(;!(d=(a=n.call(o)).done)&&(r.push(a.value),r.length!==t);d=!0);}catch(e){s=!0,i=e}finally{try{if(!d&&null!=o.return&&(l=o.return(),Object(l)!==l))return}finally{if(s)throw i}}return r}}(e,t)||function(e,t){if(e){if("string"==typeof e)return y(e,t);var o=Object.prototype.toString.call(e).slice(8,-1);return"Object"===o&&e.constructor&&(o=e.constructor.name),"Map"===o||"Set"===o?Array.from(e):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?y(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function R(e,t){void 0===t&&(t={});var o=t.insertAt;if(e&&"undefined"!=typeof document){var a=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css","top"===o&&a.firstChild?a.insertBefore(i,a.firstChild):a.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}var E={"generic-table":"styles_generic-table__ZDktB",row:"styles_row__2H9Yg","generic-table__label-container":"styles_generic-table__label-container__BFaCU","favourite-icon-table-column":"styles_favourite-icon-table-column__fIdH1",place:"styles_place__NQ5kk",work:"styles_work__1IJjU",home:"styles_home__1tTd4",school:"styles_school__X2Mcv",sport:"styles_sport__EfCxT",shopping:"styles_shopping__XNGKI","selected-icon":"styles_selected-icon__vfbGq"};R(".styles_generic-table__ZDktB > .styles_row__2H9Yg {\n display: flex; }\n\n.styles_generic-table__label-container__BFaCU {\n font-size: 0.8rem;\n margin-top: 3px;\n color: #666;\n height: 16px;\n max-width: 62.5rem;\n margin-left: auto;\n margin-right: auto; }\n\n.styles_favourite-icon-table-column__fIdH1 {\n cursor: pointer;\n flex: 1;\n align-items: center;\n padding: 0;\n background: #fff;\n float: left;\n height: 50px;\n margin: 0;\n line-height: 1;\n text-align: center;\n font-size: 17px;\n border-top: solid 1px #d9d9d9;\n border-bottom: solid 1px #d9d9d9;\n border-right: solid 1px #d9d9d9;\n border-left: none; }\n .styles_favourite-icon-table-column__fIdH1.styles_place__NQ5kk svg {\n width: 24px;\n height: 24px; }\n .styles_favourite-icon-table-column__fIdH1.styles_work__1IJjU svg {\n width: 20px;\n height: 20px; }\n .styles_favourite-icon-table-column__fIdH1.styles_home__1tTd4 svg, .styles_favourite-icon-table-column__fIdH1.styles_school__X2Mcv svg, .styles_favourite-icon-table-column__fIdH1.styles_sport__EfCxT svg, .styles_favourite-icon-table-column__fIdH1.styles_shopping__XNGKI svg {\n width: 18px;\n height: 18px; }\n .styles_favourite-icon-table-column__fIdH1:active, .styles_favourite-icon-table-column__fIdH1:hover, .styles_favourite-icon-table-column__fIdH1:focus,\n .styles_favourite-icon-table-column__fIdH1 .styles_selected-icon__vfbGq {\n background: #333;\n color: #fff; }\n\n.styles_favourite-icon-table-column__fIdH1:first-child {\n border-left: solid 1px #d9d9d9;\n border-top-left-radius: 5px;\n border-bottom-left-radius: 5px; }\n\n.styles_favourite-icon-table-column__fIdH1:last-child {\n border-top-right-radius: 5px;\n border-bottom-right-radius: 5px; }\n\n.styles_favourite-icon-table-column__fIdH1.styles_selected-icon__vfbGq {\n background: #333;\n color: #fff; }\n");var q={de:{cancel:"Abbrechen","choose-icon":"Wählen Sie ein Symbol für diesen Ort","close-favourite-modal":"Favoriten-Dialog schließen","edit-place":"Ort bearbeiten","favourite-modal-on-add-new":"Neuen Favoriten hinzufügen","favourite-modal-on-edit":"Favorit bearbeiten: {{favourite.name}}","input-placeholder":"Einen Namen für Ort setzen (optional)",save:"Speichern","save-place":"Favorit speichern"},en:{cancel:"Cancel","choose-icon":"Select the place's icon","close-favourite-modal":"Close the favourite modal","edit-place":"Edit place","favourite-modal-on-add-new":"Add a new favorite","favourite-modal-on-edit":"Editing favourite: {{favourite.name}}","input-placeholder":"Give the name a place (optional)",save:"Save","save-place":"Save place","cannot-save-place":"Cannot save a place without address or icon",place:"a place",home:"home",work:"work",sport:"sport",school:"school",shopping:"shopping","required-text":"required field"},fi:{cancel:"Peruuta","choose-icon":"Valitse paikan kuvake","close-favourite-modal":"Sulje suosikkimodaali","edit-place":"Muokkaa paikkaa","favourite-modal-on-add-new":"Lisää uusi suosikki","favourite-modal-on-edit":"Muokkaa suosikkia {{favourite.name}}","input-placeholder":"Anna paikalle nimi (vapaaehtoinen)",save:"Tallenna","save-place":"Tallenna paikka","cannot-save-place":"Paikkaa ilman osoitetta tai ikonia ei voida tallentaa",place:"paikka",home:"koti",work:"työ",sport:"urheilu",school:"koulu",shopping:"ostokset","required-text":"pakollinen kenttä"},sv:{cancel:"Avbryt","choose-icon":"Välj platsens ikon","close-favourite-modal":"Stäng favoritmodalen","edit-place":"Redigera plats","favourite-modal-on-add-new":"Lägg till ny favorit","favourite-modal-on-edit":"Redigera platsen: {{favourite.name}}","input-placeholder":"Ange platsens namn (frivilligt)",save:"Spara","save-place":"Spara plats","cannot-save-place":"Det går inte att spara en plats utan adress eller ikon",place:"en plats",home:"hem",work:"arbete",sport:"sport",school:"skola",shopping:"shoppa","required-field":"obligatoriskt fält"}},w="desktop_favourite-modal-desktop-container__JeGRK",I="desktop_favourite-modal-desktop-top__SRAj7",S="desktop_favourite-modal-desktop-header__LzO65",N="desktop_favourite-modal-desktop-main__3SYc5",T="desktop_favourite-modal-desktop-location-search__ajBVr",O="desktop_favourite-modal-desktop-name__BmsiY",G="desktop_favourite-modal-desktop-input__6L7ez",C="desktop_favourite-modal-desktop-text__Gs-U3",A="desktop_favourite-modal-desktop-icons__LtHSO",H="desktop_icons-container__rs22H",j="desktop_favourite-modal-desktop-buttons__2Ag9q",P="desktop_favourite-modal-desktop-button__8Gh8t",z="desktop_save__I0AgO",U="desktop_disabled__Greqy",J="desktop_edit__t9NzU",B="desktop_sr-only__VJyNM";R(".desktop_favourite-modal-desktop-container__JeGRK {\n display: flex;\n flex-direction: column; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-top__SRAj7 {\n display: flex;\n flex-direction: row;\n width: 100%; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-top__SRAj7 .desktop_favourite-modal-desktop-header__LzO65 {\n width: 100%;\n font-size: 18px;\n font-weight: var(--font-weight-medium);\n line-height: 1.33;\n letter-spacing: -0.6px;\n color: #333;\n margin-bottom: 25px; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-main__3SYc5 {\n text-align: left;\n margin-bottom: 27px; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-main__3SYc5 .desktop_favourite-modal-desktop-location-search__ajBVr {\n margin-bottom: 9px; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-main__3SYc5 .desktop_favourite-modal-desktop-name__BmsiY .desktop_favourite-modal-desktop-input__6L7ez {\n display: flex;\n position: relative;\n width: 100%;\n height: 44px;\n font-family: 'Gotham Rounded A', 'Gotham Rounded B', Roboto, Arial, Georgia, serif;\n border-radius: 5px;\n border: solid 1px #888;\n background-color: #fff;\n padding-left: 20px;\n font-size: 15px;\n line-height: 1.2;\n letter-spacing: -0.5px;\n color: #333;\n box-sizing: border-box;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-main__3SYc5 .desktop_favourite-modal-desktop-name__BmsiY .desktop_favourite-modal-desktop-input__6L7ez::-moz-placeholder {\n color: #666; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-main__3SYc5 .desktop_favourite-modal-desktop-name__BmsiY .desktop_favourite-modal-desktop-input__6L7ez::placeholder {\n color: #666; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-main__3SYc5 .desktop_favourite-modal-desktop-name__BmsiY .desktop_favourite-modal-desktop-input__6L7ez:focus {\n background: #fff;\n outline: none;\n border: 1px solid var(--color);\n box-shadow: 0 0 2px 1px var(--hover-color);\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-text__Gs-U3 {\n font-size: 16px;\n font-weight: var(--font-weight-medium);\n letter-spacing: -0.53px;\n color: #333;\n margin: 0 0 11px 0;\n padding: 0; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-icons__LtHSO {\n margin-bottom: 30px; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_icons-container__rs22H {\n border: none;\n margin: 0;\n padding: 0; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q {\n display: flex;\n flex-direction: column; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t {\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n width: 100%;\n height: 50px;\n font-size: 18px;\n font-family: 'Gotham Rounded A', 'Gotham Rounded B', Roboto, Arial, Georgia, serif;\n font-weight: var(--font-weight-medium);\n letter-spacing: -0.5px;\n background: var(--color);\n color: #fff;\n line-height: 0;\n text-align: center;\n padding: 0;\n margin: 0;\n border-width: 0;\n transition: background-color 300ms ease-out;\n border-radius: 25px;\n cursor: pointer; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_save__I0AgO:active, .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_save__I0AgO:focus, .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_save__I0AgO:hover {\n border-color: var(--hover-color);\n background: var(--hover-color);\n color: #fff; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_save__I0AgO.desktop_disabled__Greqy {\n background: #bbb; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_save__I0AgO.desktop_disabled__Greqy:active {\n background: #bbb; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_edit__t9NzU {\n margin-top: 9px;\n background: #fff;\n border: solid 1px var(--color);\n color: var(--color); }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_edit__t9NzU:active, .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_edit__t9NzU:hover {\n border-color: var(--hover-color);\n background-color: #fff;\n color: var(--hover-color); }\n\n.desktop_sr-only__VJyNM:not(:focus, :active) {\n clip: rect(0 0 0 0);\n -webkit-clip-path: inset(50%);\n clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px; }\n");var K=e=>{var t=e.headerText,o=e.autosuggestComponent,a=e.inputPlaceholder,i=e.specifyName,n=e.name,l=e.chooseIconText,r=e.favouriteIconTable,d=e.saveFavourite,s=e.saveText,c=e.canSave,f=e.isEdit,p=e.cancelText,m=e.cancelSelected,_=e.color,v=e.hoverColor,b=e.savePlaceText,h=e.cantSaveText,g=e.requiredText,k=e.fontWeights;return u.default.createElement("div",{className:w,style:{"--color":`${_}`,"--hover-color":`${v}`,"--font-weight-medium":k.medium}},u.default.createElement("div",{className:I},u.default.createElement("div",{className:S},t)),u.default.createElement("div",{className:N},u.default.createElement("div",{className:T},o),u.default.createElement("div",{className:O},u.default.createElement("input",{"aria-label":a,className:G,value:n,placeholder:a,onChange:i}))),u.default.createElement("fieldset",{className:H},u.default.createElement("legend",{className:C},l,u.default.createElement("p",{className:B},g)),u.default.createElement("div",{className:A},r)),u.default.createElement("div",{className:j},u.default.createElement("button",{type:"button",className:`${P} ${z} ${c()?"":U}`,onClick:d,"aria-label":`${c()?b:h}`,"aria-disabled":!c()},s),f&&u.default.createElement("button",{type:"button",className:`${P} ${J} ${c()?"":U}`,onClick:m},p)))};"production"!==process.env.NODE_ENV&&(K.propTypes={headerText:c.default.string.isRequired,autosuggestComponent:c.default.node.isRequired,inputPlaceholder:c.default.string.isRequired,specifyName:c.default.func.isRequired,name:c.default.string.isRequired,chooseIconText:c.default.string.isRequired,favouriteIconTable:c.default.node.isRequired,saveFavourite:c.default.func.isRequired,saveText:c.default.string.isRequired,canSave:c.default.func.isRequired,isEdit:c.default.bool,cancelText:c.default.string.isRequired,cancelSelected:c.default.func,color:c.default.string.isRequired,hoverColor:c.default.string.isRequired,savePlaceText:c.default.string.isRequired,cantSaveText:c.default.string.isRequired,requiredText:c.default.string.isRequired,fontWeights:c.default.shape({medium:c.default.number.isRequired}).isRequired}),K.defaultProps={isEdit:!1,cancelSelected:()=>({})};var F={"favourite-modal-mobile-container":"mobile_favourite-modal-mobile-container__rahUH","favourite-modal-mobile-top":"mobile_favourite-modal-mobile-top__RZX-c","favourite-modal-mobile-header":"mobile_favourite-modal-mobile-header__XR22e","favourite-modal-mobile-main":"mobile_favourite-modal-mobile-main__3SYyB","favourite-modal-mobile-location-search":"mobile_favourite-modal-mobile-location-search__DNNd-","favourite-modal-mobile-input":"mobile_favourite-modal-mobile-input__Q16OP","favourite-modal-mobile-text":"mobile_favourite-modal-mobile-text__5JRgC","favourite-modal-mobile-save":"mobile_favourite-modal-mobile-save__E-p51","favourite-modal-mobile-button":"mobile_favourite-modal-mobile-button__7aFOZ",disabled:"mobile_disabled__NTpua","sr-only":"mobile_sr-only__24tpU"};R(".mobile_favourite-modal-mobile-container__rahUH {\n display: flex;\n flex-direction: column; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-top__RZX-c {\n display: flex;\n flex-direction: row;\n width: 100%;\n border-bottom: 1px solid #ddd;\n margin-bottom: 30px; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-top__RZX-c .mobile_favourite-modal-mobile-header__XR22e {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 100%;\n height: inherit;\n font-size: 18px;\n font-weight: var(--font-weight-medium);\n letter-spacing: -0.6px;\n text-align: center;\n color: #333;\n margin-bottom: 37px; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-main__3SYyB {\n text-align: left;\n margin-bottom: 28px; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-main__3SYyB .mobile_favourite-modal-mobile-location-search__DNNd- {\n margin-bottom: 9px; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-main__3SYyB .mobile_favourite-modal-mobile-input__Q16OP {\n display: flex;\n position: relative;\n width: 100%;\n height: 44px;\n font-family: 'Gotham Rounded A', 'Gotham Rounded B', Roboto, Arial, Georgia, serif;\n border-radius: 5px;\n border: solid 1px #888;\n background-color: #fff;\n padding-left: 20px;\n font-size: 16px;\n line-height: 1.2;\n letter-spacing: -0.5px;\n color: #333;\n box-sizing: border-box;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-main__3SYyB .mobile_favourite-modal-mobile-input__Q16OP:focus {\n background: #fff;\n outline: none;\n border: 1px solid var(--color);\n box-shadow: 0 0 2px 1px var(--hover-color);\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-main__3SYyB .mobile_favourite-modal-mobile-input__Q16OP::-moz-placeholder {\n color: #666;\n font-size: 15px; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-main__3SYyB .mobile_favourite-modal-mobile-input__Q16OP::placeholder {\n color: #666;\n font-size: 15px; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-text__5JRgC {\n font-size: 16px;\n font-weight: var(--font-weight-medium);\n letter-spacing: -0.53px;\n color: #333;\n margin-bottom: 18px; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-save__E-p51 {\n width: 100%;\n margin-top: 30px; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-save__E-p51 .mobile_favourite-modal-mobile-button__7aFOZ {\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n width: 100%;\n height: 50px;\n font-size: 18px;\n font-family: 'Gotham Rounded A', 'Gotham Rounded B', Roboto, Arial, Georgia, serif;\n font-weight: var(--font-weight-medium);\n letter-spacing: -0.5px;\n background: var(--color);\n line-height: 0;\n text-align: center;\n padding: 0;\n margin: 0;\n color: #fff;\n border-width: 0;\n transition: background-color 300ms ease-out;\n border-radius: 25px;\n cursor: pointer; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-save__E-p51 .mobile_favourite-modal-mobile-button__7aFOZ:active, .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-save__E-p51 .mobile_favourite-modal-mobile-button__7aFOZ:focus, .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-save__E-p51 .mobile_favourite-modal-mobile-button__7aFOZ:hover {\n border-color: var(--hover-color);\n background: var(--hover-color);\n color: #fff; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-save__E-p51 .mobile_favourite-modal-mobile-button__7aFOZ.mobile_disabled__NTpua {\n background: #bbb; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-save__E-p51 .mobile_favourite-modal-mobile-button__7aFOZ.mobile_disabled__NTpua:active {\n background: #bbb; }\n\n.mobile_sr-only__24tpU:not(:focus, :active) {\n clip: rect(0 0 0 0);\n -webkit-clip-path: inset(50%);\n clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px; }\n");var M=e=>{var t=e.headerText,o=e.autosuggestComponent,a=e.inputPlaceholder,i=e.specifyName,n=e.name,l=e.chooseIconText,r=e.favouriteIconTable,d=e.saveFavourite,s=e.saveText,c=e.canSave,f=e.color,p=e.hoverColor,m=e.savePlaceText,_=e.cantSaveText,v=e.requiredText,b=e.fontWeights;return u.default.createElement("div",{className:F["favourite-modal-mobile-container"],style:{"--color":`${f}`,"--hover-color":`${p}`,"--font-weight-medium":b.medium}},u.default.createElement("div",{className:F["favourite-modal-mobile-top"]},u.default.createElement("div",{className:F["favourite-modal-mobile-header"]},t)),u.default.createElement("div",{className:F["favourite-modal-mobile-main"]},u.default.createElement("div",{className:F["favourite-modal-mobile-location-search"]},o),u.default.createElement("input",{className:F["favourite-modal-mobile-input"],value:n||"",placeholder:a,onChange:i})),u.default.createElement("div",{className:F["favourite-modal-mobile-text"]},l,u.default.createElement("p",{className:F["sr-only"]},v)),u.default.createElement("div",{className:F["favourite-modal-mobile-icons"]},r),u.default.createElement("div",{className:F["favourite-modal-mobile-save"]},u.default.createElement("button",{type:"button",className:`${F["favourite-modal-mobile-button"]} ${c()?"":F.disabled}`,onClick:d,"aria-label":`${c()?m:_}`},s)))};function Y(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,a)}return o}function D(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?Y(Object(o),!0).forEach((function(t){k(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):Y(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}"production"!==process.env.NODE_ENV&&(M.propTypes={headerText:c.default.string.isRequired,autosuggestComponent:c.default.node.isRequired,inputPlaceholder:c.default.string.isRequired,specifyName:c.default.func.isRequired,name:c.default.string.isRequired,chooseIconText:c.default.string.isRequired,favouriteIconTable:c.default.node.isRequired,saveFavourite:c.default.func.isRequired,saveText:c.default.string.isRequired,canSave:c.default.func.isRequired,color:c.default.string.isRequired,hoverColor:c.default.string.isRequired,savePlaceText:c.default.string.isRequired,cantSaveText:c.default.string.isRequired,requiredText:c.default.string.isRequired,fontWeights:c.default.shape({medium:c.default.number.isRequired}).isRequired}),p.default.init({lng:"fi",fallbackLng:"fi",defaultNS:"translation",interpolation:{escapeValue:!1}}),Object.keys(q).forEach((e=>{p.default.addResourceBundle(e,"translation",q[e])}));var L={"icon-icon_place":"place","icon-icon_home":"home","icon-icon_work":"work","icon-icon_sport":"sport","icon-icon_school":"school","icon-icon_shopping":"shopping"},$=e=>{var o=e.value,a=e.selectedIconId,i=e.handleClick,n=e.color,l=x(t.useState(!1),2),r=l[0],d=l[1],s=x(t.useState(!1),2),c=s[0],m=s[1],_=o===L[a]||r||c?"#ffffff":n;return u.default.createElement("button",{type:"button",className:f.default(E["favourite-icon-table-column"],E[o],o===L[a]&&E["selected-icon"]),onMouseEnter:()=>d(!0),onMouseLeave:()=>d(!1),onFocus:()=>m(!0),onBlur:()=>m(!1),onClick:()=>i(o),"aria-label":p.default.t(o)},u.default.createElement(b.default,{img:o,color:_}))};"production"!==process.env.NODE_ENV&&($.propTypes={handleClick:c.default.func.isRequired,value:c.default.string.isRequired,selectedIconId:c.default.string.isRequired,color:c.default.string.isRequired});var V=e=>{var t=e.favouriteIconIds,o=e.selectedIconId,a=e.handleClick,i=e.color,n=t.map((e=>u.default.createElement($,{key:`favourite-icon-table-${e}`,value:e,selectedIconId:o,handleClick:a,color:i})));return u.default.createElement("div",{className:E["generic-table"]},u.default.createElement("div",{className:E.row},n))};"production"!==process.env.NODE_ENV&&(V.propTypes={handleClick:c.default.func.isRequired,favouriteIconIds:c.default.arrayOf(c.default.string).isRequired,selectedIconId:c.default.string,color:c.default.string.isRequired}),V.defaultProps={selectedIconId:""};class Z extends u.default.Component{constructor(e){super(e),k(this,"specifyName",(e=>{var t=e.target.value;this.setState((e=>({favourite:D(D({},e.favourite),{},{name:t})})))})),k(this,"selectIcon",(e=>{this.setState((t=>({favourite:D(D({},t.favourite),{},{selectedIconId:`icon-icon_${e}`})})))})),k(this,"isEdit",(()=>this.state.favourite&&void 0!==this.state.favourite.favouriteId)),k(this,"canSave",(()=>this.state.favourite&&!m.default(this.state.favourite.selectedIconId)&&_.default(this.state.favourite.lat)&&_.default(this.state.favourite.lon))),k(this,"closeModal",(()=>{this.props.handleClose(),setTimeout((()=>{this.setState({favourite:null})}),250)})),k(this,"cancelSelected",(()=>{this.props.cancelSelected(),setTimeout((()=>{this.setState({favourite:null})}),250)})),k(this,"save",(()=>{if(this.canSave()){var e=m.default(this.state.favourite.name)?this.state.favourite.defaultName:this.state.favourite.name,t=D(D({},this.state.favourite),{},{name:e});delete t.defaultName,this.props.saveFavourite(D(D({},t),{},{type:"place"})),this.props.addAnalyticsEvent&&this.props.addAnalyticsEvent({category:"Favourite",action:"SaveFavourite",name:this.state.favourite.selectedIconId}),this.isEdit()&&this.props.cancelSelected?this.cancelSelected():this.closeModal()}})),p.default.changeLanguage(e.lang),this.state={favourite:null},Object.keys(q).forEach((e=>{p.default.addResourceBundle(e,"translation",q[e])}))}static getDerivedStateFromProps(e,t){var o=t.favourite,a=e.favourite;return m.default(a)?{favourite:null}:m.default(o)&&!m.default(a)?{favourite:D({},a)}:m.default(o)||m.default(a)||a.address===o.address&&a.lat===o.lat&&a.lon===o.lon?null:{favourite:D(D({},o),{},{address:a.address,lat:a.lat,lon:a.lon,gid:a.gid||null,name:o.name||a.name||"",defaultName:a.defaultName})}}componentDidUpdate(){p.default.language!==this.props.lang&&p.default.changeLanguage(this.props.lang)}componentWillUnmount(){this.setState({favourite:null})}render(){var e=this.state.favourite,t=this.props,o=t.color,a=t.hoverColor,i=t.fontWeights,n={headerText:this.isEdit()?p.default.t("edit-place"):p.default.t("save-place"),autosuggestComponent:D(D({},this.props.autosuggestComponent),{},{color:o,hoverColor:a}),inputPlaceholder:p.default.t("input-placeholder"),specifyName:this.specifyName,name:e&&e.name||"",chooseIconText:p.default.t("choose-icon"),favouriteIconTable:u.default.createElement(V,{selectedIconId:(()=>{if(e&&void 0!==e.selectedIconId)return e.selectedIconId})(),favouriteIconIds:Z.favouriteIconIds,handleClick:this.selectIcon,color:o}),saveFavourite:this.save,saveText:p.default.t("save"),canSave:this.canSave,isEdit:this.isEdit(),cancelText:p.default.t("cancel"),cancelSelected:()=>this.cancelSelected(),color:o,hoverColor:a,savePlaceText:p.default.t("save-place"),cantSaveText:p.default.t("cannot-save-place"),requiredText:p.default.t("required-text"),fontWeights:i};return u.default.createElement(v.default,{appElement:this.props.appElement,contentLabel:this.isEdit()?p.default.t("favourite-modal-on-edit",e):p.default.t("favourite-modal-on-add-new"),closeButtonLabel:p.default.t("close-favourite-modal"),variant:this.props.isMobile?"large":"small",isOpen:this.props.isModalOpen,onCrossClick:()=>this.closeModal()},!this.props.isMobile&&u.default.createElement(K,n),this.props.isMobile&&u.default.createElement(M,n))}}k(Z,"defaultProps",{cancelSelected:()=>({}),lang:"fi",isMobile:!1,favourite:null,autosuggestComponent:void 0,addAnalyticsEvent:void 0,color:"#007ac9",hoverColor:"#0062a1",fontWeights:{medium:500}}),k(Z,"favouriteIconIds",["place","home","work","sport","school","shopping"]),"production"!==process.env.NODE_ENV&&(Z.propTypes={isModalOpen:c.default.bool.isRequired,handleClose:c.default.func.isRequired,saveFavourite:c.default.func.isRequired,cancelSelected:c.default.func,autosuggestComponent:c.default.node,favourite:c.default.shape({type:c.default.string,address:c.default.string,gtfsId:c.default.string,gid:c.default.string,lat:c.default.number,lon:c.default.number,name:c.default.string,selectedIconId:c.default.string,favouriteId:c.default.string,layer:c.default.string,defaultName:c.default.string}),addAnalyticsEvent:c.default.func,lang:c.default.string,isMobile:c.default.bool,appElement:c.default.string.isRequired,color:c.default.string,hoverColor:c.default.string,fontWeights:c.default.shape({medium:c.default.number})}),e.default=Z,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZGV2ZWxvcG1lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS90eXBlb2YuanMiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vdG9Qcm9wZXJ0eUtleS5qcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS90b1ByaW1pdGl2ZS5qcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9kZWZpbmVQcm9wZXJ0eS5qcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9hcnJheUxpa2VUb0FycmF5LmpzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL3NsaWNlZFRvQXJyYXkuanMiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vYXJyYXlXaXRoSG9sZXMuanMiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vaXRlcmFibGVUb0FycmF5TGltaXQuanMiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkuanMiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vbm9uSXRlcmFibGVSZXN0LmpzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWluamVjdC9kaXN0L3N0eWxlLWluamVjdC5lcy5qcyIsIi4uL3NyYy9oZWxwZXJzL3RyYW5zbGF0aW9ucy5qcyIsIi4uL3NyYy9oZWxwZXJzL0Rlc2t0b3BNb2RhbC5qcyIsIi4uL3NyYy9oZWxwZXJzL01vYmlsZU1vZGFsLmpzIiwiLi4vc3JjL2luZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIF90eXBlb2Yobykge1xuICBcIkBiYWJlbC9oZWxwZXJzIC0gdHlwZW9mXCI7XG5cbiAgcmV0dXJuIF90eXBlb2YgPSBcImZ1bmN0aW9uXCIgPT0gdHlwZW9mIFN5bWJvbCAmJiBcInN5bWJvbFwiID09IHR5cGVvZiBTeW1ib2wuaXRlcmF0b3IgPyBmdW5jdGlvbiAobykge1xuICAgIHJldHVybiB0eXBlb2YgbztcbiAgfSA6IGZ1bmN0aW9uIChvKSB7XG4gICAgcmV0dXJuIG8gJiYgXCJmdW5jdGlvblwiID09IHR5cGVvZiBTeW1ib2wgJiYgby5jb25zdHJ1Y3RvciA9PT0gU3ltYm9sICYmIG8gIT09IFN5bWJvbC5wcm90b3R5cGUgPyBcInN5bWJvbFwiIDogdHlwZW9mIG87XG4gIH0sIF90eXBlb2Yobyk7XG59IiwiaW1wb3J0IF90eXBlb2YgZnJvbSBcIi4vdHlwZW9mLmpzXCI7XG5pbXBvcnQgdG9QcmltaXRpdmUgZnJvbSBcIi4vdG9QcmltaXRpdmUuanNcIjtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHRvUHJvcGVydHlLZXkodCkge1xuICB2YXIgaSA9IHRvUHJpbWl0aXZlKHQsIFwic3RyaW5nXCIpO1xuICByZXR1cm4gXCJzeW1ib2xcIiA9PSBfdHlwZW9mKGkpID8gaSA6IFN0cmluZyhpKTtcbn0iLCJpbXBvcnQgX3R5cGVvZiBmcm9tIFwiLi90eXBlb2YuanNcIjtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHRvUHJpbWl0aXZlKHQsIHIpIHtcbiAgaWYgKFwib2JqZWN0XCIgIT0gX3R5cGVvZih0KSB8fCAhdCkgcmV0dXJuIHQ7XG4gIHZhciBlID0gdFtTeW1ib2wudG9QcmltaXRpdmVdO1xuICBpZiAodm9pZCAwICE9PSBlKSB7XG4gICAgdmFyIGkgPSBlLmNhbGwodCwgciB8fCBcImRlZmF1bHRcIik7XG4gICAgaWYgKFwib2JqZWN0XCIgIT0gX3R5cGVvZihpKSkgcmV0dXJuIGk7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkBAdG9QcmltaXRpdmUgbXVzdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUuXCIpO1xuICB9XG4gIHJldHVybiAoXCJzdHJpbmdcIiA9PT0gciA/IFN0cmluZyA6IE51bWJlcikodCk7XG59IiwiaW1wb3J0IHRvUHJvcGVydHlLZXkgZnJvbSBcIi4vdG9Qcm9wZXJ0eUtleS5qc1wiO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gX2RlZmluZVByb3BlcnR5KG9iaiwga2V5LCB2YWx1ZSkge1xuICBrZXkgPSB0b1Byb3BlcnR5S2V5KGtleSk7XG4gIGlmIChrZXkgaW4gb2JqKSB7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7XG4gICAgICB2YWx1ZTogdmFsdWUsXG4gICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgd3JpdGFibGU6IHRydWVcbiAgICB9KTtcbiAgfSBlbHNlIHtcbiAgICBvYmpba2V5XSA9IHZhbHVlO1xuICB9XG4gIHJldHVybiBvYmo7XG59IiwiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gX2FycmF5TGlrZVRvQXJyYXkoYXJyLCBsZW4pIHtcbiAgaWYgKGxlbiA9PSBudWxsIHx8IGxlbiA+IGFyci5sZW5ndGgpIGxlbiA9IGFyci5sZW5ndGg7XG4gIGZvciAodmFyIGkgPSAwLCBhcnIyID0gbmV3IEFycmF5KGxlbik7IGkgPCBsZW47IGkrKykgYXJyMltpXSA9IGFycltpXTtcbiAgcmV0dXJuIGFycjI7XG59IiwiaW1wb3J0IGFycmF5V2l0aEhvbGVzIGZyb20gXCIuL2FycmF5V2l0aEhvbGVzLmpzXCI7XG5pbXBvcnQgaXRlcmFibGVUb0FycmF5TGltaXQgZnJvbSBcIi4vaXRlcmFibGVUb0FycmF5TGltaXQuanNcIjtcbmltcG9ydCB1bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSBmcm9tIFwiLi91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheS5qc1wiO1xuaW1wb3J0IG5vbkl0ZXJhYmxlUmVzdCBmcm9tIFwiLi9ub25JdGVyYWJsZVJlc3QuanNcIjtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIF9zbGljZWRUb0FycmF5KGFyciwgaSkge1xuICByZXR1cm4gYXJyYXlXaXRoSG9sZXMoYXJyKSB8fCBpdGVyYWJsZVRvQXJyYXlMaW1pdChhcnIsIGkpIHx8IHVuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5KGFyciwgaSkgfHwgbm9uSXRlcmFibGVSZXN0KCk7XG59IiwiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gX2FycmF5V2l0aEhvbGVzKGFycikge1xuICBpZiAoQXJyYXkuaXNBcnJheShhcnIpKSByZXR1cm4gYXJyO1xufSIsImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIF9pdGVyYWJsZVRvQXJyYXlMaW1pdChyLCBsKSB7XG4gIHZhciB0ID0gbnVsbCA9PSByID8gbnVsbCA6IFwidW5kZWZpbmVkXCIgIT0gdHlwZW9mIFN5bWJvbCAmJiByW1N5bWJvbC5pdGVyYXRvcl0gfHwgcltcIkBAaXRlcmF0b3JcIl07XG4gIGlmIChudWxsICE9IHQpIHtcbiAgICB2YXIgZSxcbiAgICAgIG4sXG4gICAgICBpLFxuICAgICAgdSxcbiAgICAgIGEgPSBbXSxcbiAgICAgIGYgPSAhMCxcbiAgICAgIG8gPSAhMTtcbiAgICB0cnkge1xuICAgICAgaWYgKGkgPSAodCA9IHQuY2FsbChyKSkubmV4dCwgMCA9PT0gbCkge1xuICAgICAgICBpZiAoT2JqZWN0KHQpICE9PSB0KSByZXR1cm47XG4gICAgICAgIGYgPSAhMTtcbiAgICAgIH0gZWxzZSBmb3IgKDsgIShmID0gKGUgPSBpLmNhbGwodCkpLmRvbmUpICYmIChhLnB1c2goZS52YWx1ZSksIGEubGVuZ3RoICE9PSBsKTsgZiA9ICEwKTtcbiAgICB9IGNhdGNoIChyKSB7XG4gICAgICBvID0gITAsIG4gPSByO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0cnkge1xuICAgICAgICBpZiAoIWYgJiYgbnVsbCAhPSB0W1wicmV0dXJuXCJdICYmICh1ID0gdFtcInJldHVyblwiXSgpLCBPYmplY3QodSkgIT09IHUpKSByZXR1cm47XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBpZiAobykgdGhyb3cgbjtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGE7XG4gIH1cbn0iLCJpbXBvcnQgYXJyYXlMaWtlVG9BcnJheSBmcm9tIFwiLi9hcnJheUxpa2VUb0FycmF5LmpzXCI7XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkobywgbWluTGVuKSB7XG4gIGlmICghbykgcmV0dXJuO1xuICBpZiAodHlwZW9mIG8gPT09IFwic3RyaW5nXCIpIHJldHVybiBhcnJheUxpa2VUb0FycmF5KG8sIG1pbkxlbik7XG4gIHZhciBuID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG8pLnNsaWNlKDgsIC0xKTtcbiAgaWYgKG4gPT09IFwiT2JqZWN0XCIgJiYgby5jb25zdHJ1Y3RvcikgbiA9IG8uY29uc3RydWN0b3IubmFtZTtcbiAgaWYgKG4gPT09IFwiTWFwXCIgfHwgbiA9PT0gXCJTZXRcIikgcmV0dXJuIEFycmF5LmZyb20obyk7XG4gIGlmIChuID09PSBcIkFyZ3VtZW50c1wiIHx8IC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KG4pKSByZXR1cm4gYXJyYXlMaWtlVG9BcnJheShvLCBtaW5MZW4pO1xufSIsImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIF9ub25JdGVyYWJsZVJlc3QoKSB7XG4gIHRocm93IG5ldyBUeXBlRXJyb3IoXCJJbnZhbGlkIGF0dGVtcHQgdG8gZGVzdHJ1Y3R1cmUgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxcbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC5cIik7XG59IiwiZnVuY3Rpb24gc3R5bGVJbmplY3QoY3NzLCByZWYpIHtcbiAgaWYgKCByZWYgPT09IHZvaWQgMCApIHJlZiA9IHt9O1xuICB2YXIgaW5zZXJ0QXQgPSByZWYuaW5zZXJ0QXQ7XG5cbiAgaWYgKCFjc3MgfHwgdHlwZW9mIGRvY3VtZW50ID09PSAndW5kZWZpbmVkJykgeyByZXR1cm47IH1cblxuICB2YXIgaGVhZCA9IGRvY3VtZW50LmhlYWQgfHwgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXTtcbiAgdmFyIHN0eWxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTtcbiAgc3R5bGUudHlwZSA9ICd0ZXh0L2Nzcyc7XG5cbiAgaWYgKGluc2VydEF0ID09PSAndG9wJykge1xuICAgIGlmIChoZWFkLmZpcnN0Q2hpbGQpIHtcbiAgICAgIGhlYWQuaW5zZXJ0QmVmb3JlKHN0eWxlLCBoZWFkLmZpcnN0Q2hpbGQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBoZWFkLmFwcGVuZENoaWxkKHN0eWxlKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgaGVhZC5hcHBlbmRDaGlsZChzdHlsZSk7XG4gIH1cblxuICBpZiAoc3R5bGUuc3R5bGVTaGVldCkge1xuICAgIHN0eWxlLnN0eWxlU2hlZXQuY3NzVGV4dCA9IGNzcztcbiAgfSBlbHNlIHtcbiAgICBzdHlsZS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShjc3MpKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBzdHlsZUluamVjdDtcbiIsImNvbnN0IHRyYW5zbGF0aW9ucyA9IHtcbiAgZGU6IHtcbiAgICBjYW5jZWw6ICdBYmJyZWNoZW4nLFxuICAgICdjaG9vc2UtaWNvbic6ICdXw6RobGVuIFNpZSBlaW4gU3ltYm9sIGbDvHIgZGllc2VuIE9ydCcsXG4gICAgJ2Nsb3NlLWZhdm91cml0ZS1tb2RhbCc6ICdGYXZvcml0ZW4tRGlhbG9nIHNjaGxpZcOfZW4nLFxuICAgICdlZGl0LXBsYWNlJzogJ09ydCBiZWFyYmVpdGVuJyxcbiAgICAnZmF2b3VyaXRlLW1vZGFsLW9uLWFkZC1uZXcnOiAnTmV1ZW4gRmF2b3JpdGVuIGhpbnp1ZsO8Z2VuJyxcbiAgICAnZmF2b3VyaXRlLW1vZGFsLW9uLWVkaXQnOiAnRmF2b3JpdCBiZWFyYmVpdGVuOiB7e2Zhdm91cml0ZS5uYW1lfX0nLFxuICAgICdpbnB1dC1wbGFjZWhvbGRlcic6ICdFaW5lbiBOYW1lbiBmw7xyIE9ydCBzZXR6ZW4gKG9wdGlvbmFsKScsXG4gICAgc2F2ZTogJ1NwZWljaGVybicsXG4gICAgJ3NhdmUtcGxhY2UnOiAnRmF2b3JpdCBzcGVpY2hlcm4nLFxuICB9LFxuICBlbjoge1xuICAgIGNhbmNlbDogJ0NhbmNlbCcsXG4gICAgJ2Nob29zZS1pY29uJzogXCJTZWxlY3QgdGhlIHBsYWNlJ3MgaWNvblwiLFxuICAgICdjbG9zZS1mYXZvdXJpdGUtbW9kYWwnOiAnQ2xvc2UgdGhlIGZhdm91cml0ZSBtb2RhbCcsXG4gICAgJ2VkaXQtcGxhY2UnOiAnRWRpdCBwbGFjZScsXG4gICAgJ2Zhdm91cml0ZS1tb2RhbC1vbi1hZGQtbmV3JzogJ0FkZCBhIG5ldyBmYXZvcml0ZScsXG4gICAgJ2Zhdm91cml0ZS1tb2RhbC1vbi1lZGl0JzogJ0VkaXRpbmcgZmF2b3VyaXRlOiB7e2Zhdm91cml0ZS5uYW1lfX0nLFxuICAgICdpbnB1dC1wbGFjZWhvbGRlcic6ICdHaXZlIHRoZSBuYW1lIGEgcGxhY2UgKG9wdGlvbmFsKScsXG4gICAgc2F2ZTogJ1NhdmUnLFxuICAgICdzYXZlLXBsYWNlJzogJ1NhdmUgcGxhY2UnLFxuICAgICdjYW5ub3Qtc2F2ZS1wbGFjZSc6ICdDYW5ub3Qgc2F2ZSBhIHBsYWNlIHdpdGhvdXQgYWRkcmVzcyBvciBpY29uJyxcbiAgICBwbGFjZTogJ2EgcGxhY2UnLFxuICAgIGhvbWU6ICdob21lJyxcbiAgICB3b3JrOiAnd29yaycsXG4gICAgc3BvcnQ6ICdzcG9ydCcsXG4gICAgc2Nob29sOiAnc2Nob29sJyxcbiAgICBzaG9wcGluZzogJ3Nob3BwaW5nJyxcbiAgICAncmVxdWlyZWQtdGV4dCc6ICdyZXF1aXJlZCBmaWVsZCcsXG4gIH0sXG4gIGZpOiB7XG4gICAgY2FuY2VsOiAnUGVydXV0YScsXG4gICAgJ2Nob29zZS1pY29uJzogJ1ZhbGl0c2UgcGFpa2FuIGt1dmFrZScsXG4gICAgJ2Nsb3NlLWZhdm91cml0ZS1tb2RhbCc6ICdTdWxqZSBzdW9zaWtraW1vZGFhbGknLFxuICAgICdlZGl0LXBsYWNlJzogJ011b2trYWEgcGFpa2thYScsXG4gICAgJ2Zhdm91cml0ZS1tb2RhbC1vbi1hZGQtbmV3JzogJ0xpc8Okw6QgdXVzaSBzdW9zaWtraScsXG4gICAgJ2Zhdm91cml0ZS1tb2RhbC1vbi1lZGl0JzogJ011b2trYWEgc3Vvc2lra2lhIHt7ZmF2b3VyaXRlLm5hbWV9fScsXG4gICAgJ2lucHV0LXBsYWNlaG9sZGVyJzogJ0FubmEgcGFpa2FsbGUgbmltaSAodmFwYWFlaHRvaW5lbiknLFxuICAgIHNhdmU6ICdUYWxsZW5uYScsXG4gICAgJ3NhdmUtcGxhY2UnOiAnVGFsbGVubmEgcGFpa2thJyxcbiAgICAnY2Fubm90LXNhdmUtcGxhY2UnOlxuICAgICAgJ1BhaWtrYWEgaWxtYW4gb3NvaXRldHRhIHRhaSBpa29uaWEgZWkgdm9pZGEgdGFsbGVudGFhJyxcbiAgICBwbGFjZTogJ3BhaWtrYScsXG4gICAgaG9tZTogJ2tvdGknLFxuICAgIHdvcms6ICd0ecO2JyxcbiAgICBzcG9ydDogJ3VyaGVpbHUnLFxuICAgIHNjaG9vbDogJ2tvdWx1JyxcbiAgICBzaG9wcGluZzogJ29zdG9rc2V0JyxcbiAgICAncmVxdWlyZWQtdGV4dCc6ICdwYWtvbGxpbmVuIGtlbnR0w6QnLFxuICB9LFxuICBzdjoge1xuICAgIGNhbmNlbDogJ0F2YnJ5dCcsXG4gICAgJ2Nob29zZS1pY29uJzogJ1bDpGxqIHBsYXRzZW5zIGlrb24nLFxuICAgICdjbG9zZS1mYXZvdXJpdGUtbW9kYWwnOiAnU3TDpG5nIGZhdm9yaXRtb2RhbGVuJyxcbiAgICAnZWRpdC1wbGFjZSc6ICdSZWRpZ2VyYSBwbGF0cycsXG4gICAgJ2Zhdm91cml0ZS1tb2RhbC1vbi1hZGQtbmV3JzogJ0zDpGdnIHRpbGwgbnkgZmF2b3JpdCcsXG4gICAgJ2Zhdm91cml0ZS1tb2RhbC1vbi1lZGl0JzogJ1JlZGlnZXJhIHBsYXRzZW46IHt7ZmF2b3VyaXRlLm5hbWV9fScsXG4gICAgJ2lucHV0LXBsYWNlaG9sZGVyJzogJ0FuZ2UgcGxhdHNlbnMgbmFtbiAoZnJpdmlsbGlndCknLFxuICAgIHNhdmU6ICdTcGFyYScsXG4gICAgJ3NhdmUtcGxhY2UnOiAnU3BhcmEgcGxhdHMnLFxuICAgICdjYW5ub3Qtc2F2ZS1wbGFjZSc6XG4gICAgICAnRGV0IGfDpXIgaW50ZSBhdHQgc3BhcmEgZW4gcGxhdHMgdXRhbiBhZHJlc3MgZWxsZXIgaWtvbicsXG4gICAgcGxhY2U6ICdlbiBwbGF0cycsXG4gICAgaG9tZTogJ2hlbScsXG4gICAgd29yazogJ2FyYmV0ZScsXG4gICAgc3BvcnQ6ICdzcG9ydCcsXG4gICAgc2Nob29sOiAnc2tvbGEnLFxuICAgIHNob3BwaW5nOiAnc2hvcHBhJyxcbiAgICAncmVxdWlyZWQtZmllbGQnOiAnb2JsaWdhdG9yaXNrdCBmw6RsdCcsXG4gIH0sXG59O1xuXG5leHBvcnQgZGVmYXVsdCB0cmFuc2xhdGlvbnM7XG4iLCIvKiBlc2xpbnQtZGlzYWJsZSBqc3gtYTExeS9jbGljay1ldmVudHMtaGF2ZS1rZXktZXZlbnRzICovXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBjeCBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCBzdHlsZXMgZnJvbSAnLi9kZXNrdG9wLnNjc3MnO1xuXG5jb25zdCBEZXNrdG9wTW9kYWwgPSAoe1xuICBoZWFkZXJUZXh0LFxuICBhdXRvc3VnZ2VzdENvbXBvbmVudCxcbiAgaW5wdXRQbGFjZWhvbGRlcixcbiAgc3BlY2lmeU5hbWUsXG4gIG5hbWUsXG4gIGNob29zZUljb25UZXh0LFxuICBmYXZvdXJpdGVJY29uVGFibGUsXG4gIHNhdmVGYXZvdXJpdGUsXG4gIHNhdmVUZXh0LFxuICBjYW5TYXZlLFxuICBpc0VkaXQsXG4gIGNhbmNlbFRleHQsXG4gIGNhbmNlbFNlbGVjdGVkLFxuICBjb2xvcixcbiAgaG92ZXJDb2xvcixcbiAgc2F2ZVBsYWNlVGV4dCxcbiAgY2FudFNhdmVUZXh0LFxuICByZXF1aXJlZFRleHQsXG4gIGZvbnRXZWlnaHRzLFxufSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGNsYXNzTmFtZT17c3R5bGVzWydmYXZvdXJpdGUtbW9kYWwtZGVza3RvcC1jb250YWluZXInXX1cbiAgICAgIHN0eWxlPXt7XG4gICAgICAgICctLWNvbG9yJzogYCR7Y29sb3J9YCxcbiAgICAgICAgJy0taG92ZXItY29sb3InOiBgJHtob3ZlckNvbG9yfWAsXG4gICAgICAgICctLWZvbnQtd2VpZ2h0LW1lZGl1bSc6IGZvbnRXZWlnaHRzLm1lZGl1bSxcbiAgICAgIH19XG4gICAgPlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snZmF2b3VyaXRlLW1vZGFsLWRlc2t0b3AtdG9wJ119PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydmYXZvdXJpdGUtbW9kYWwtZGVza3RvcC1oZWFkZXInXX0+XG4gICAgICAgICAge2hlYWRlclRleHR9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydmYXZvdXJpdGUtbW9kYWwtZGVza3RvcC1tYWluJ119PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydmYXZvdXJpdGUtbW9kYWwtZGVza3RvcC1sb2NhdGlvbi1zZWFyY2gnXX0+XG4gICAgICAgICAge2F1dG9zdWdnZXN0Q29tcG9uZW50fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snZmF2b3VyaXRlLW1vZGFsLWRlc2t0b3AtbmFtZSddfT5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIGFyaWEtbGFiZWw9e2lucHV0UGxhY2Vob2xkZXJ9XG4gICAgICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1snZmF2b3VyaXRlLW1vZGFsLWRlc2t0b3AtaW5wdXQnXX1cbiAgICAgICAgICAgIHZhbHVlPXtuYW1lfVxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9e2lucHV0UGxhY2Vob2xkZXJ9XG4gICAgICAgICAgICBvbkNoYW5nZT17c3BlY2lmeU5hbWV9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxmaWVsZHNldCBjbGFzc05hbWU9e3N0eWxlc1snaWNvbnMtY29udGFpbmVyJ119PlxuICAgICAgICA8bGVnZW5kIGNsYXNzTmFtZT17c3R5bGVzWydmYXZvdXJpdGUtbW9kYWwtZGVza3RvcC10ZXh0J119PlxuICAgICAgICAgIHtjaG9vc2VJY29uVGV4dH1cbiAgICAgICAgICA8cCBjbGFzc05hbWU9e3N0eWxlc1snc3Itb25seSddfT57cmVxdWlyZWRUZXh0fTwvcD5cbiAgICAgICAgPC9sZWdlbmQ+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2Zhdm91cml0ZS1tb2RhbC1kZXNrdG9wLWljb25zJ119PlxuICAgICAgICAgIHtmYXZvdXJpdGVJY29uVGFibGV9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9maWVsZHNldD5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2Zhdm91cml0ZS1tb2RhbC1kZXNrdG9wLWJ1dHRvbnMnXX0+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzc05hbWU9e2N4KFxuICAgICAgICAgICAgYCR7c3R5bGVzWydmYXZvdXJpdGUtbW9kYWwtZGVza3RvcC1idXR0b24nXX0gJHtzdHlsZXMuc2F2ZX0gJHtcbiAgICAgICAgICAgICAgY2FuU2F2ZSgpID8gJycgOiBzdHlsZXMuZGlzYWJsZWRcbiAgICAgICAgICAgIH1gLFxuICAgICAgICAgICl9XG4gICAgICAgICAgb25DbGljaz17c2F2ZUZhdm91cml0ZX1cbiAgICAgICAgICBhcmlhLWxhYmVsPXtgJHtjYW5TYXZlKCkgPyBzYXZlUGxhY2VUZXh0IDogY2FudFNhdmVUZXh0fWB9XG4gICAgICAgICAgYXJpYS1kaXNhYmxlZD17IWNhblNhdmUoKX1cbiAgICAgICAgPlxuICAgICAgICAgIHtzYXZlVGV4dH1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIHtpc0VkaXQgJiYgKFxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjeChcbiAgICAgICAgICAgICAgYCR7c3R5bGVzWydmYXZvdXJpdGUtbW9kYWwtZGVza3RvcC1idXR0b24nXX0gJHtzdHlsZXMuZWRpdH0gJHtcbiAgICAgICAgICAgICAgICBjYW5TYXZlKCkgPyAnJyA6IHN0eWxlcy5kaXNhYmxlZFxuICAgICAgICAgICAgICB9YCxcbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICBvbkNsaWNrPXtjYW5jZWxTZWxlY3RlZH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7Y2FuY2VsVGV4dH1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuRGVza3RvcE1vZGFsLnByb3BUeXBlcyA9IHtcbiAgaGVhZGVyVGV4dDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBhdXRvc3VnZ2VzdENvbXBvbmVudDogUHJvcFR5cGVzLm5vZGUuaXNSZXF1aXJlZCxcbiAgaW5wdXRQbGFjZWhvbGRlcjogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBzcGVjaWZ5TmFtZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgbmFtZTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBjaG9vc2VJY29uVGV4dDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBmYXZvdXJpdGVJY29uVGFibGU6IFByb3BUeXBlcy5ub2RlLmlzUmVxdWlyZWQsXG4gIHNhdmVGYXZvdXJpdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIHNhdmVUZXh0OiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIGNhblNhdmU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIGlzRWRpdDogUHJvcFR5cGVzLmJvb2wsXG4gIGNhbmNlbFRleHQ6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgY2FuY2VsU2VsZWN0ZWQ6IFByb3BUeXBlcy5mdW5jLFxuICBjb2xvcjogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBob3ZlckNvbG9yOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIHNhdmVQbGFjZVRleHQ6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgY2FudFNhdmVUZXh0OiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIHJlcXVpcmVkVGV4dDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBmb250V2VpZ2h0czogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICBtZWRpdW06IFByb3BUeXBlcy5udW1iZXIuaXNSZXF1aXJlZCxcbiAgfSkuaXNSZXF1aXJlZCxcbn07XG5cbkRlc2t0b3BNb2RhbC5kZWZhdWx0UHJvcHMgPSB7XG4gIGlzRWRpdDogZmFsc2UsXG4gIGNhbmNlbFNlbGVjdGVkOiAoKSA9PiAoe30pLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgRGVza3RvcE1vZGFsO1xuIiwiLyogZXNsaW50LWRpc2FibGUganN4LWExMXkvY2xpY2stZXZlbnRzLWhhdmUta2V5LWV2ZW50cyAqL1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgY3ggZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgc3R5bGVzIGZyb20gJy4vbW9iaWxlLnNjc3MnO1xuXG5jb25zdCBNb2JpbGVNb2RhbCA9ICh7XG4gIGhlYWRlclRleHQsXG4gIGF1dG9zdWdnZXN0Q29tcG9uZW50LFxuICBpbnB1dFBsYWNlaG9sZGVyLFxuICBzcGVjaWZ5TmFtZSxcbiAgbmFtZSxcbiAgY2hvb3NlSWNvblRleHQsXG4gIGZhdm91cml0ZUljb25UYWJsZSxcbiAgc2F2ZUZhdm91cml0ZSxcbiAgc2F2ZVRleHQsXG4gIGNhblNhdmUsXG4gIGNvbG9yLFxuICBob3ZlckNvbG9yLFxuICBzYXZlUGxhY2VUZXh0LFxuICBjYW50U2F2ZVRleHQsXG4gIHJlcXVpcmVkVGV4dCxcbiAgZm9udFdlaWdodHMsXG59KSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY2xhc3NOYW1lPXtzdHlsZXNbJ2Zhdm91cml0ZS1tb2RhbC1tb2JpbGUtY29udGFpbmVyJ119XG4gICAgICBzdHlsZT17e1xuICAgICAgICAnLS1jb2xvcic6IGAke2NvbG9yfWAsXG4gICAgICAgICctLWhvdmVyLWNvbG9yJzogYCR7aG92ZXJDb2xvcn1gLFxuICAgICAgICAnLS1mb250LXdlaWdodC1tZWRpdW0nOiBmb250V2VpZ2h0cy5tZWRpdW0sXG4gICAgICB9fVxuICAgID5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2Zhdm91cml0ZS1tb2RhbC1tb2JpbGUtdG9wJ119PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydmYXZvdXJpdGUtbW9kYWwtbW9iaWxlLWhlYWRlciddfT5cbiAgICAgICAgICB7aGVhZGVyVGV4dH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2Zhdm91cml0ZS1tb2RhbC1tb2JpbGUtbWFpbiddfT5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snZmF2b3VyaXRlLW1vZGFsLW1vYmlsZS1sb2NhdGlvbi1zZWFyY2gnXX0+XG4gICAgICAgICAge2F1dG9zdWdnZXN0Q29tcG9uZW50fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXNbJ2Zhdm91cml0ZS1tb2RhbC1tb2JpbGUtaW5wdXQnXX1cbiAgICAgICAgICB2YWx1ZT17bmFtZSB8fCAnJ31cbiAgICAgICAgICBwbGFjZWhvbGRlcj17aW5wdXRQbGFjZWhvbGRlcn1cbiAgICAgICAgICBvbkNoYW5nZT17c3BlY2lmeU5hbWV9XG4gICAgICAgIC8+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2Zhdm91cml0ZS1tb2RhbC1tb2JpbGUtdGV4dCddfT5cbiAgICAgICAge2Nob29zZUljb25UZXh0fVxuICAgICAgICA8cCBjbGFzc05hbWU9e3N0eWxlc1snc3Itb25seSddfT57cmVxdWlyZWRUZXh0fTwvcD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snZmF2b3VyaXRlLW1vZGFsLW1vYmlsZS1pY29ucyddfT5cbiAgICAgICAge2Zhdm91cml0ZUljb25UYWJsZX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snZmF2b3VyaXRlLW1vZGFsLW1vYmlsZS1zYXZlJ119PlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgY2xhc3NOYW1lPXtjeChcbiAgICAgICAgICAgIGAke3N0eWxlc1snZmF2b3VyaXRlLW1vZGFsLW1vYmlsZS1idXR0b24nXX0gJHtcbiAgICAgICAgICAgICAgY2FuU2F2ZSgpID8gJycgOiBzdHlsZXMuZGlzYWJsZWRcbiAgICAgICAgICAgIH1gLFxuICAgICAgICAgICl9XG4gICAgICAgICAgb25DbGljaz17c2F2ZUZhdm91cml0ZX1cbiAgICAgICAgICBhcmlhLWxhYmVsPXtgJHtjYW5TYXZlKCkgPyBzYXZlUGxhY2VUZXh0IDogY2FudFNhdmVUZXh0fWB9XG4gICAgICAgID5cbiAgICAgICAgICB7c2F2ZVRleHR9XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5Nb2JpbGVNb2RhbC5wcm9wVHlwZXMgPSB7XG4gIGhlYWRlclRleHQ6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgYXV0b3N1Z2dlc3RDb21wb25lbnQ6IFByb3BUeXBlcy5ub2RlLmlzUmVxdWlyZWQsXG4gIGlucHV0UGxhY2Vob2xkZXI6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgc3BlY2lmeU5hbWU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIG5hbWU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgY2hvb3NlSWNvblRleHQ6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgZmF2b3VyaXRlSWNvblRhYmxlOiBQcm9wVHlwZXMubm9kZS5pc1JlcXVpcmVkLFxuICBzYXZlRmF2b3VyaXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICBzYXZlVGV4dDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBjYW5TYXZlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICBjb2xvcjogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBob3ZlckNvbG9yOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIHNhdmVQbGFjZVRleHQ6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgY2FudFNhdmVUZXh0OiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIHJlcXVpcmVkVGV4dDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBmb250V2VpZ2h0czogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICBtZWRpdW06IFByb3BUeXBlcy5udW1iZXIuaXNSZXF1aXJlZCxcbiAgfSkuaXNSZXF1aXJlZCxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IE1vYmlsZU1vZGFsO1xuIiwiLyogZXNsaW50LWRpc2FibGUganN4LWExMXkvY2xpY2stZXZlbnRzLWhhdmUta2V5LWV2ZW50cyAqL1xuaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBjeCBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCBpMThuZXh0IGZyb20gJ2kxOG5leHQnO1xuaW1wb3J0IGlzRW1wdHkgZnJvbSAnbG9kYXNoL2lzRW1wdHknO1xuaW1wb3J0IGlzTnVtYmVyIGZyb20gJ2xvZGFzaC9pc051bWJlcic7XG5pbXBvcnQgTW9kYWwgZnJvbSAnQGhzbC1maS9tb2RhbCc7XG5pbXBvcnQgSWNvbiBmcm9tICdAZGlnaXRyYW5zaXQtY29tcG9uZW50L2RpZ2l0cmFuc2l0LWNvbXBvbmVudC1pY29uJztcbmltcG9ydCBzdHlsZXMgZnJvbSAnLi9oZWxwZXJzL3N0eWxlcy5zY3NzJztcbmltcG9ydCB0cmFuc2xhdGlvbnMgZnJvbSAnLi9oZWxwZXJzL3RyYW5zbGF0aW9ucyc7XG5pbXBvcnQgRGVza3RvcE1vZGFsIGZyb20gJy4vaGVscGVycy9EZXNrdG9wTW9kYWwnO1xuaW1wb3J0IE1vYmlsZU1vZGFsIGZyb20gJy4vaGVscGVycy9Nb2JpbGVNb2RhbCc7XG5cbmkxOG5leHQuaW5pdCh7XG4gIGxuZzogJ2ZpJyxcbiAgZmFsbGJhY2tMbmc6ICdmaScsXG4gIGRlZmF1bHROUzogJ3RyYW5zbGF0aW9uJyxcbiAgaW50ZXJwb2xhdGlvbjoge1xuICAgIGVzY2FwZVZhbHVlOiBmYWxzZSwgLy8gbm90IG5lZWRlZCBmb3IgcmVhY3QgYXMgaXQgZXNjYXBlcyBieSBkZWZhdWx0XG4gIH0sXG59KTtcblxuT2JqZWN0LmtleXModHJhbnNsYXRpb25zKS5mb3JFYWNoKGxhbmcgPT4ge1xuICBpMThuZXh0LmFkZFJlc291cmNlQnVuZGxlKGxhbmcsICd0cmFuc2xhdGlvbicsIHRyYW5zbGF0aW9uc1tsYW5nXSk7XG59KTtcblxuY29uc3QgRmF2b3VyaXRlSWNvbklkVG9OYW1lTWFwID0ge1xuICAnaWNvbi1pY29uX3BsYWNlJzogJ3BsYWNlJyxcbiAgJ2ljb24taWNvbl9ob21lJzogJ2hvbWUnLFxuICAnaWNvbi1pY29uX3dvcmsnOiAnd29yaycsXG4gICdpY29uLWljb25fc3BvcnQnOiAnc3BvcnQnLFxuICAnaWNvbi1pY29uX3NjaG9vbCc6ICdzY2hvb2wnLFxuICAnaWNvbi1pY29uX3Nob3BwaW5nJzogJ3Nob3BwaW5nJyxcbn07XG5cbmNvbnN0IEZhdm91cml0ZUljb25UYWJsZUJ1dHRvbiA9ICh7XG4gIHZhbHVlLFxuICBzZWxlY3RlZEljb25JZCxcbiAgaGFuZGxlQ2xpY2ssXG4gIGNvbG9yLFxufSkgPT4ge1xuICBjb25zdCBbaXNIb3ZlcmVkLCBzZXRIb3Zlcl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtpc0ZvY3VzZWQsIHNldEZvY3VzXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgaWNvbkNvbG9yID1cbiAgICB2YWx1ZSA9PT0gRmF2b3VyaXRlSWNvbklkVG9OYW1lTWFwW3NlbGVjdGVkSWNvbklkXSB8fCBpc0hvdmVyZWQgfHwgaXNGb2N1c2VkXG4gICAgICA/ICcjZmZmZmZmJ1xuICAgICAgOiBjb2xvcjtcbiAgcmV0dXJuIChcbiAgICA8YnV0dG9uXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGNsYXNzTmFtZT17Y3goc3R5bGVzWydmYXZvdXJpdGUtaWNvbi10YWJsZS1jb2x1bW4nXSwgc3R5bGVzW3ZhbHVlXSwge1xuICAgICAgICBbc3R5bGVzWydzZWxlY3RlZC1pY29uJ11dOlxuICAgICAgICAgIHZhbHVlID09PSBGYXZvdXJpdGVJY29uSWRUb05hbWVNYXBbc2VsZWN0ZWRJY29uSWRdLFxuICAgICAgfSl9XG4gICAgICBvbk1vdXNlRW50ZXI9eygpID0+IHNldEhvdmVyKHRydWUpfVxuICAgICAgb25Nb3VzZUxlYXZlPXsoKSA9PiBzZXRIb3ZlcihmYWxzZSl9XG4gICAgICBvbkZvY3VzPXsoKSA9PiBzZXRGb2N1cyh0cnVlKX1cbiAgICAgIG9uQmx1cj17KCkgPT4gc2V0Rm9jdXMoZmFsc2UpfVxuICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlQ2xpY2sodmFsdWUpfVxuICAgICAgYXJpYS1sYWJlbD17aTE4bmV4dC50KHZhbHVlKX1cbiAgICA+XG4gICAgICA8SWNvbiBpbWc9e3ZhbHVlfSBjb2xvcj17aWNvbkNvbG9yfSAvPlxuICAgIDwvYnV0dG9uPlxuICApO1xufTtcblxuRmF2b3VyaXRlSWNvblRhYmxlQnV0dG9uLnByb3BUeXBlcyA9IHtcbiAgaGFuZGxlQ2xpY2s6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIHZhbHVlOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIHNlbGVjdGVkSWNvbklkOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIGNvbG9yOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG59O1xuXG5jb25zdCBGYXZvdXJpdGVJY29uVGFibGUgPSAoe1xuICBmYXZvdXJpdGVJY29uSWRzLFxuICBzZWxlY3RlZEljb25JZCxcbiAgaGFuZGxlQ2xpY2ssXG4gIGNvbG9yLFxufSkgPT4ge1xuICBjb25zdCBjb2x1bW5zID0gZmF2b3VyaXRlSWNvbklkcy5tYXAodmFsdWUgPT4gKFxuICAgIDxGYXZvdXJpdGVJY29uVGFibGVCdXR0b25cbiAgICAgIGtleT17YGZhdm91cml0ZS1pY29uLXRhYmxlLSR7dmFsdWV9YH1cbiAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgIHNlbGVjdGVkSWNvbklkPXtzZWxlY3RlZEljb25JZH1cbiAgICAgIGhhbmRsZUNsaWNrPXtoYW5kbGVDbGlja31cbiAgICAgIGNvbG9yPXtjb2xvcn1cbiAgICAvPlxuICApKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2dlbmVyaWMtdGFibGUnXX0+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzLnJvd30+e2NvbHVtbnN9PC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5GYXZvdXJpdGVJY29uVGFibGUucHJvcFR5cGVzID0ge1xuICBoYW5kbGVDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgZmF2b3VyaXRlSWNvbklkczogUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLnN0cmluZykuaXNSZXF1aXJlZCxcbiAgc2VsZWN0ZWRJY29uSWQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gIGNvbG9yOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG59O1xuXG5GYXZvdXJpdGVJY29uVGFibGUuZGVmYXVsdFByb3BzID0ge1xuICBzZWxlY3RlZEljb25JZDogJycsXG59O1xuXG4vKipcbiAqIEBleGFtcGxlXG4gKiA8RmF2b3VyaXRlTW9kYWxcbiAqICAgc2hvdz17bW9kYWxPcGVufVxuICogICBoYW5kbGVDbG9zZT17aGFuZGxlQ2xvc2V9XG4gKiAgIHNhdmVGYXZvdXJpdGU9e29uU2F2ZUZhdm91cml0ZX1cbiAqICAgbG9jYXRpb249e3NlbGVjdGVkTG9jYXRpb259XG4gKiAgIGZhdm91cml0ZT17ZmF2b3VyaXRlfVxuICogICBsYW5nPXtsYW5nfVxuICogICBhdXRvc3VnZ2VzdENvbXBvbmVudD17XG4gKiAgICAgPEF1dG9TdWdnZXN0XG4gKiAgICAgICBzb3VyY2VzPXtbJ0hpc3RvcnknLCAnRGF0YXNvdXJjZSddfVxuICogICAgICAgdGFyZ2V0cz17WydMb2NhdGlvbnMnLCAnQ3VycmVudFBvc2l0aW9uJ119XG4gKiAgICAgICBpZD1cImZhdm91cml0ZVwiXG4gKiAgICAgICBhdXRvRm9jdXM9e2ZhbHNlfVxuICogICAgICAgcGxhY2Vob2xkZXI9XCJzZWFyY2gtYWRkcmVzcy1vci1wbGFjZVwiXG4gKiAgICAgICB2YWx1ZT17c2VsZWN0ZWRMb2NhdGlvbi5hZGRyZXNzIHx8ICcnfVxuICogICAgICAgb25GYXZvdXJpdGVTZWxlY3RlZD17dGhpcy5zZXRMb2NhdGlvblByb3BlcnRpZXN9XG4gKiAgICAgICBsYW5nPXtsYW5nfVxuICogICAgIC8+XG4gKiAgIH1cbiAqIC8+XG4gKi9cbmNsYXNzIEZhdm91cml0ZU1vZGFsIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc01vZGFsT3BlbjogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICAvKiogUmVxdWlyZWQuXG4gICAgICogQHR5cGV7ZnVuY3Rpb259ICovXG4gICAgaGFuZGxlQ2xvc2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgLyoqIFJlcXVpcmVkLlxuICAgICAqIEB0eXBle2Z1bmN0aW9ufSAqL1xuICAgIHNhdmVGYXZvdXJpdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgLyoqIFJlcXVpcmVkLiBPbmx5IHVzZWQgd2hlbiBlZGl0aW5nIGZhdm91cml0ZS5cbiAgICAgKiBAdHlwZXtmdW5jdGlvbn0gKi9cbiAgICBjYW5jZWxTZWxlY3RlZDogUHJvcFR5cGVzLmZ1bmMsXG4gICAgLyoqIE9wdGlvbmFsLlxuICAgICAqIEF1dG9zdWdnZXN0IGNvbXBvbmVudCBmb3Igc2VhcmNoaW5nIG5ldyBmYXZvdXJpdGVzLlxuICAgICAqIEB0eXBle25vZGV9XG4gICAgICovXG4gICAgYXV0b3N1Z2dlc3RDb21wb25lbnQ6IFByb3BUeXBlcy5ub2RlLFxuICAgIC8qKiBPcHRpb25hbC5cbiAgICAgKiBPYmplY3QgdG8gcHJlZmlsbCBpbnB1dCBmaWVsZCBmb3IgbmFtZSBhbmQvb3Igc2VsZWN0ZWQgaWNvbi5cbiAgICAgKiBAdHlwZSB7b2JqZWN0fVxuICAgICAqIEBwcm9wZXJ0eSB7c3RyaW5nfSB0eXBlXG4gICAgICogQHByb3BlcnR5IHtzdHJpbmd9IGFkZHJlc3NcbiAgICAgKiBAcHJvcGVydHkge3N0cmluZ30gZ3Rmc0lkXG4gICAgICogQHByb3BlcnR5IHtzdHJpbmd9IGdpZFxuICAgICAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBsYXRcbiAgICAgKiBAcHJvcGVydHkge251bWJlcn0gbG9uXG4gICAgICogQHByb3BlcnR5IHtzdHJpbmd9IG5hbWVcbiAgICAgKiBAcHJvcGVydHkge3N0cmluZ30gc2VsZWN0ZWRJY29uSWRcbiAgICAgKiBAcHJvcGVydHkge3N0cmluZ30gZmF2b3VyaXRlSWRcbiAgICAgKiBAcHJvcGVydHkge3N0cmluZ30gbGF5ZXJcbiAgICAgKiBAcHJvcGVydHkge3N0cmluZ30gZGVmYXVsdE5hbWVcbiAgICAgKi9cbiAgICBmYXZvdXJpdGU6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICB0eXBlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgYWRkcmVzczogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgIGd0ZnNJZDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgIGdpZDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgIGxhdDogUHJvcFR5cGVzLm51bWJlcixcbiAgICAgIGxvbjogUHJvcFR5cGVzLm51bWJlcixcbiAgICAgIG5hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICBzZWxlY3RlZEljb25JZDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgIGZhdm91cml0ZUlkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgbGF5ZXI6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICBkZWZhdWx0TmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICB9KSxcbiAgICAvKiogT3B0aW9uYWwuXG4gICAgICogQHR5cGUge2Z1bmN0aW9ufSAqL1xuICAgIGFkZEFuYWx5dGljc0V2ZW50OiBQcm9wVHlwZXMuZnVuYyxcbiAgICAvKiogT3B0aW9uYWwuIExhbmd1YWdlLCBmaSwgZW4gb3Igc3YuXG4gICAgICogQHR5cGUge3N0cmluZ30gKi9cbiAgICBsYW5nOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIC8qKiBPcHRpb25hbC4gKi9cbiAgICBpc01vYmlsZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgYXBwRWxlbWVudDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIGNvbG9yOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGhvdmVyQ29sb3I6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgLyoqIE9wdGlvbmFsLiAqL1xuICAgIGZvbnRXZWlnaHRzOiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgLyoqIERlZmF1bHQgdmFsdWUgaXMgNTAwLiAqL1xuICAgICAgbWVkaXVtOiBQcm9wVHlwZXMubnVtYmVyLFxuICAgIH0pLFxuICB9O1xuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgY2FuY2VsU2VsZWN0ZWQ6ICgpID0+ICh7fSksXG4gICAgbGFuZzogJ2ZpJyxcbiAgICBpc01vYmlsZTogZmFsc2UsXG4gICAgZmF2b3VyaXRlOiBudWxsLFxuICAgIGF1dG9zdWdnZXN0Q29tcG9uZW50OiB1bmRlZmluZWQsXG4gICAgYWRkQW5hbHl0aWNzRXZlbnQ6IHVuZGVmaW5lZCxcbiAgICBjb2xvcjogJyMwMDdhYzknLFxuICAgIGhvdmVyQ29sb3I6ICcjMDA2MmExJyxcbiAgICBmb250V2VpZ2h0czoge1xuICAgICAgbWVkaXVtOiA1MDAsXG4gICAgfSxcbiAgfTtcblxuICBzdGF0aWMgZmF2b3VyaXRlSWNvbklkcyA9IFtcbiAgICAncGxhY2UnLFxuICAgICdob21lJyxcbiAgICAnd29yaycsXG4gICAgJ3Nwb3J0JyxcbiAgICAnc2Nob29sJyxcbiAgICAnc2hvcHBpbmcnLFxuICBdO1xuXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuICAgIGkxOG5leHQuY2hhbmdlTGFuZ3VhZ2UocHJvcHMubGFuZyk7XG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIGZhdm91cml0ZTogbnVsbCxcbiAgICB9O1xuICAgIE9iamVjdC5rZXlzKHRyYW5zbGF0aW9ucykuZm9yRWFjaChsYW5nID0+IHtcbiAgICAgIGkxOG5leHQuYWRkUmVzb3VyY2VCdW5kbGUobGFuZywgJ3RyYW5zbGF0aW9uJywgdHJhbnNsYXRpb25zW2xhbmddKTtcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMobmV4dFByb3BzLCBwcmV2U3RhdGUpIHtcbiAgICBjb25zdCBwcmV2RmF2ID0gcHJldlN0YXRlLmZhdm91cml0ZTtcbiAgICBjb25zdCBuZXh0RmF2ID0gbmV4dFByb3BzLmZhdm91cml0ZTtcblxuICAgIGlmIChpc0VtcHR5KG5leHRGYXYpKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBmYXZvdXJpdGU6IG51bGwsXG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmIChpc0VtcHR5KHByZXZGYXYpICYmICFpc0VtcHR5KG5leHRGYXYpKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBmYXZvdXJpdGU6IHtcbiAgICAgICAgICAuLi5uZXh0RmF2LFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9XG4gICAgaWYgKFxuICAgICAgIWlzRW1wdHkocHJldkZhdikgJiZcbiAgICAgICFpc0VtcHR5KG5leHRGYXYpICYmXG4gICAgICAobmV4dEZhdi5hZGRyZXNzICE9PSBwcmV2RmF2LmFkZHJlc3MgfHxcbiAgICAgICAgbmV4dEZhdi5sYXQgIT09IHByZXZGYXYubGF0IHx8XG4gICAgICAgIG5leHRGYXYubG9uICE9PSBwcmV2RmF2LmxvbilcbiAgICApIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGZhdm91cml0ZToge1xuICAgICAgICAgIC4uLnByZXZGYXYsXG4gICAgICAgICAgYWRkcmVzczogbmV4dEZhdi5hZGRyZXNzLFxuICAgICAgICAgIGxhdDogbmV4dEZhdi5sYXQsXG4gICAgICAgICAgbG9uOiBuZXh0RmF2LmxvbixcbiAgICAgICAgICBnaWQ6IG5leHRGYXYuZ2lkIHx8IG51bGwsXG4gICAgICAgICAgbmFtZTogcHJldkZhdi5uYW1lIHx8IG5leHRGYXYubmFtZSB8fCAnJyxcbiAgICAgICAgICBkZWZhdWx0TmFtZTogbmV4dEZhdi5kZWZhdWx0TmFtZSxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29tcG9uZW50RGlkVXBkYXRlKCkge1xuICAgIGlmIChpMThuZXh0Lmxhbmd1YWdlICE9PSB0aGlzLnByb3BzLmxhbmcpIHtcbiAgICAgIGkxOG5leHQuY2hhbmdlTGFuZ3VhZ2UodGhpcy5wcm9wcy5sYW5nKTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICB0aGlzLnNldFN0YXRlKHsgZmF2b3VyaXRlOiBudWxsIH0pO1xuICB9XG5cbiAgc3BlY2lmeU5hbWUgPSBldmVudCA9PiB7XG4gICAgY29uc3QgbmFtZSA9IGV2ZW50LnRhcmdldC52YWx1ZTtcbiAgICB0aGlzLnNldFN0YXRlKHByZXZTdGF0ZSA9PiAoe1xuICAgICAgZmF2b3VyaXRlOiB7IC4uLnByZXZTdGF0ZS5mYXZvdXJpdGUsIG5hbWUgfSxcbiAgICB9KSk7XG4gIH07XG5cbiAgc2VsZWN0SWNvbiA9IGlkID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHByZXZTdGF0ZSA9PiAoe1xuICAgICAgZmF2b3VyaXRlOiB7XG4gICAgICAgIC4uLnByZXZTdGF0ZS5mYXZvdXJpdGUsXG4gICAgICAgIHNlbGVjdGVkSWNvbklkOiBgaWNvbi1pY29uXyR7aWR9YCxcbiAgICAgIH0sXG4gICAgfSkpO1xuICB9O1xuXG4gIGlzRWRpdCA9ICgpID0+XG4gICAgdGhpcy5zdGF0ZS5mYXZvdXJpdGUgJiYgdGhpcy5zdGF0ZS5mYXZvdXJpdGUuZmF2b3VyaXRlSWQgIT09IHVuZGVmaW5lZDtcblxuICBjYW5TYXZlID0gKCkgPT5cbiAgICB0aGlzLnN0YXRlLmZhdm91cml0ZSAmJlxuICAgICFpc0VtcHR5KHRoaXMuc3RhdGUuZmF2b3VyaXRlLnNlbGVjdGVkSWNvbklkKSAmJlxuICAgIGlzTnVtYmVyKHRoaXMuc3RhdGUuZmF2b3VyaXRlLmxhdCkgJiZcbiAgICBpc051bWJlcih0aGlzLnN0YXRlLmZhdm91cml0ZS5sb24pO1xuXG4gIGNsb3NlTW9kYWwgPSAoKSA9PiB7XG4gICAgdGhpcy5wcm9wcy5oYW5kbGVDbG9zZSgpO1xuICAgIC8vIGhzbC1maS9tb2RhbCBjbG9zZSBhbmltYXRpb24gbGFzdHMgMjUwbXNcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBmYXZvdXJpdGU6IG51bGwgfSk7XG4gICAgfSwgMjUwKTtcbiAgfTtcblxuICBjYW5jZWxTZWxlY3RlZCA9ICgpID0+IHtcbiAgICB0aGlzLnByb3BzLmNhbmNlbFNlbGVjdGVkKCk7XG4gICAgLy8gaHNsLWZpL21vZGFsIGNsb3NlIGFuaW1hdGlvbiBsYXN0cyAyNTBtc1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7IGZhdm91cml0ZTogbnVsbCB9KTtcbiAgICB9LCAyNTApO1xuICB9O1xuXG4gIHNhdmUgPSAoKSA9PiB7XG4gICAgaWYgKHRoaXMuY2FuU2F2ZSgpKSB7XG4gICAgICBjb25zdCBuYW1lID0gaXNFbXB0eSh0aGlzLnN0YXRlLmZhdm91cml0ZS5uYW1lKVxuICAgICAgICA/IHRoaXMuc3RhdGUuZmF2b3VyaXRlLmRlZmF1bHROYW1lXG4gICAgICAgIDogdGhpcy5zdGF0ZS5mYXZvdXJpdGUubmFtZTtcblxuICAgICAgY29uc3QgZmF2b3VyaXRlID0geyAuLi50aGlzLnN0YXRlLmZhdm91cml0ZSwgbmFtZSB9O1xuICAgICAgZGVsZXRlIGZhdm91cml0ZS5kZWZhdWx0TmFtZTtcbiAgICAgIHRoaXMucHJvcHMuc2F2ZUZhdm91cml0ZSh7IC4uLmZhdm91cml0ZSwgdHlwZTogJ3BsYWNlJyB9KTtcbiAgICAgIGlmICh0aGlzLnByb3BzLmFkZEFuYWx5dGljc0V2ZW50KSB7XG4gICAgICAgIHRoaXMucHJvcHMuYWRkQW5hbHl0aWNzRXZlbnQoe1xuICAgICAgICAgIGNhdGVnb3J5OiAnRmF2b3VyaXRlJyxcbiAgICAgICAgICBhY3Rpb246ICdTYXZlRmF2b3VyaXRlJyxcbiAgICAgICAgICBuYW1lOiB0aGlzLnN0YXRlLmZhdm91cml0ZS5zZWxlY3RlZEljb25JZCxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5pc0VkaXQoKSAmJiB0aGlzLnByb3BzLmNhbmNlbFNlbGVjdGVkKSB7XG4gICAgICAgIHRoaXMuY2FuY2VsU2VsZWN0ZWQoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuY2xvc2VNb2RhbCgpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyBmYXZvdXJpdGUgfSA9IHRoaXMuc3RhdGU7XG4gICAgY29uc3QgeyBjb2xvciwgaG92ZXJDb2xvciwgZm9udFdlaWdodHMgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgaGVhZGVyVGV4dCA9IHRoaXMuaXNFZGl0KClcbiAgICAgID8gaTE4bmV4dC50KCdlZGl0LXBsYWNlJylcbiAgICAgIDogaTE4bmV4dC50KCdzYXZlLXBsYWNlJyk7XG4gICAgY29uc3QgbW9kYWxQcm9wcyA9IHtcbiAgICAgIGhlYWRlclRleHQsXG4gICAgICBhdXRvc3VnZ2VzdENvbXBvbmVudDoge1xuICAgICAgICAuLi50aGlzLnByb3BzLmF1dG9zdWdnZXN0Q29tcG9uZW50LFxuICAgICAgICBjb2xvcixcbiAgICAgICAgaG92ZXJDb2xvcixcbiAgICAgIH0sXG4gICAgICBpbnB1dFBsYWNlaG9sZGVyOiBpMThuZXh0LnQoJ2lucHV0LXBsYWNlaG9sZGVyJyksXG4gICAgICBzcGVjaWZ5TmFtZTogdGhpcy5zcGVjaWZ5TmFtZSxcbiAgICAgIG5hbWU6IChmYXZvdXJpdGUgJiYgZmF2b3VyaXRlLm5hbWUpIHx8ICcnLFxuICAgICAgY2hvb3NlSWNvblRleHQ6IGkxOG5leHQudCgnY2hvb3NlLWljb24nKSxcbiAgICAgIGZhdm91cml0ZUljb25UYWJsZTogKFxuICAgICAgICA8RmF2b3VyaXRlSWNvblRhYmxlXG4gICAgICAgICAgc2VsZWN0ZWRJY29uSWQ9eygoKSA9PiB7XG4gICAgICAgICAgICBpZiAoKGZhdm91cml0ZSAmJiBmYXZvdXJpdGUuc2VsZWN0ZWRJY29uSWQgIT09IHVuZGVmaW5lZCkgfHwgbnVsbCkge1xuICAgICAgICAgICAgICByZXR1cm4gZmF2b3VyaXRlLnNlbGVjdGVkSWNvbklkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgICB9KSgpfVxuICAgICAgICAgIGZhdm91cml0ZUljb25JZHM9e0Zhdm91cml0ZU1vZGFsLmZhdm91cml0ZUljb25JZHN9XG4gICAgICAgICAgaGFuZGxlQ2xpY2s9e3RoaXMuc2VsZWN0SWNvbn1cbiAgICAgICAgICBjb2xvcj17Y29sb3J9XG4gICAgICAgIC8+XG4gICAgICApLFxuICAgICAgc2F2ZUZhdm91cml0ZTogdGhpcy5zYXZlLFxuICAgICAgc2F2ZVRleHQ6IGkxOG5leHQudCgnc2F2ZScpLFxuICAgICAgY2FuU2F2ZTogdGhpcy5jYW5TYXZlLFxuICAgICAgaXNFZGl0OiB0aGlzLmlzRWRpdCgpLFxuICAgICAgY2FuY2VsVGV4dDogaTE4bmV4dC50KCdjYW5jZWwnKSxcbiAgICAgIGNhbmNlbFNlbGVjdGVkOiAoKSA9PiB0aGlzLmNhbmNlbFNlbGVjdGVkKCksXG4gICAgICBjb2xvcixcbiAgICAgIGhvdmVyQ29sb3IsXG4gICAgICBzYXZlUGxhY2VUZXh0OiBpMThuZXh0LnQoJ3NhdmUtcGxhY2UnKSxcbiAgICAgIGNhbnRTYXZlVGV4dDogaTE4bmV4dC50KCdjYW5ub3Qtc2F2ZS1wbGFjZScpLFxuICAgICAgcmVxdWlyZWRUZXh0OiBpMThuZXh0LnQoJ3JlcXVpcmVkLXRleHQnKSxcbiAgICAgIGZvbnRXZWlnaHRzLFxuICAgIH07XG4gICAgcmV0dXJuIChcbiAgICAgIDxNb2RhbFxuICAgICAgICBhcHBFbGVtZW50PXt0aGlzLnByb3BzLmFwcEVsZW1lbnR9XG4gICAgICAgIGNvbnRlbnRMYWJlbD17XG4gICAgICAgICAgdGhpcy5pc0VkaXQoKVxuICAgICAgICAgICAgPyBpMThuZXh0LnQoJ2Zhdm91cml0ZS1tb2RhbC1vbi1lZGl0JywgZmF2b3VyaXRlKVxuICAgICAgICAgICAgOiBpMThuZXh0LnQoJ2Zhdm91cml0ZS1tb2RhbC1vbi1hZGQtbmV3JylcbiAgICAgICAgfVxuICAgICAgICBjbG9zZUJ1dHRvbkxhYmVsPXtpMThuZXh0LnQoJ2Nsb3NlLWZhdm91cml0ZS1tb2RhbCcpfVxuICAgICAgICB2YXJpYW50PXshdGhpcy5wcm9wcy5pc01vYmlsZSA/ICdzbWFsbCcgOiAnbGFyZ2UnfVxuICAgICAgICBpc09wZW49e3RoaXMucHJvcHMuaXNNb2RhbE9wZW59XG4gICAgICAgIG9uQ3Jvc3NDbGljaz17KCkgPT4gdGhpcy5jbG9zZU1vZGFsKCl9XG4gICAgICA+XG4gICAgICAgIHshdGhpcy5wcm9wcy5pc01vYmlsZSAmJiA8RGVza3RvcE1vZGFsIHsuLi5tb2RhbFByb3BzfSAvPn1cbiAgICAgICAge3RoaXMucHJvcHMuaXNNb2JpbGUgJiYgPE1vYmlsZU1vZGFsIHsuLi5tb2RhbFByb3BzfSAvPn1cbiAgICAgIDwvTW9kYWw+XG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBGYXZvdXJpdGVNb2RhbDtcbiJdLCJuYW1lcyI6WyJfdHlwZW9mIiwibyIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiY29uc3RydWN0b3IiLCJwcm90b3R5cGUiLCJ0b1Byb3BlcnR5S2V5IiwidCIsImkiLCJyIiwiZSIsInRvUHJpbWl0aXZlIiwiY2FsbCIsIlR5cGVFcnJvciIsIlN0cmluZyIsIk51bWJlciIsIl9kZWZpbmVQcm9wZXJ0eSIsIm9iaiIsImtleSIsInZhbHVlIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJlbnVtZXJhYmxlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJfYXJyYXlMaWtlVG9BcnJheSIsImFyciIsImxlbiIsImxlbmd0aCIsImFycjIiLCJBcnJheSIsIl9zbGljZWRUb0FycmF5IiwiaXNBcnJheSIsImFycmF5V2l0aEhvbGVzIiwibCIsIm4iLCJ1IiwiYSIsImYiLCJuZXh0IiwiZG9uZSIsInB1c2giLCJpdGVyYWJsZVRvQXJyYXlMaW1pdCIsIm1pbkxlbiIsImFycmF5TGlrZVRvQXJyYXkiLCJ0b1N0cmluZyIsInNsaWNlIiwibmFtZSIsImZyb20iLCJ0ZXN0IiwidW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJub25JdGVyYWJsZVJlc3QiLCJzdHlsZUluamVjdCIsImNzcyIsInJlZiIsImluc2VydEF0IiwiZG9jdW1lbnQiLCJoZWFkIiwiZ2V0RWxlbWVudHNCeVRhZ05hbWUiLCJzdHlsZSIsImNyZWF0ZUVsZW1lbnQiLCJ0eXBlIiwiZmlyc3RDaGlsZCIsImluc2VydEJlZm9yZSIsImFwcGVuZENoaWxkIiwic3R5bGVTaGVldCIsImNzc1RleHQiLCJjcmVhdGVUZXh0Tm9kZSIsInRyYW5zbGF0aW9ucyIsImRlIiwiY2FuY2VsIiwic2F2ZSIsImVuIiwicGxhY2UiLCJob21lIiwid29yayIsInNwb3J0Iiwic2Nob29sIiwic2hvcHBpbmciLCJmaSIsInN2IiwiRGVza3RvcE1vZGFsIiwiX3JlZiIsImhlYWRlclRleHQiLCJhdXRvc3VnZ2VzdENvbXBvbmVudCIsImlucHV0UGxhY2Vob2xkZXIiLCJzcGVjaWZ5TmFtZSIsImNob29zZUljb25UZXh0IiwiZmF2b3VyaXRlSWNvblRhYmxlIiwic2F2ZUZhdm91cml0ZSIsInNhdmVUZXh0IiwiY2FuU2F2ZSIsImlzRWRpdCIsImNhbmNlbFRleHQiLCJjYW5jZWxTZWxlY3RlZCIsImNvbG9yIiwiaG92ZXJDb2xvciIsInNhdmVQbGFjZVRleHQiLCJjYW50U2F2ZVRleHQiLCJyZXF1aXJlZFRleHQiLCJmb250V2VpZ2h0cyIsIlJlYWN0IiwiY2xhc3NOYW1lIiwic3R5bGVzIiwibWVkaXVtIiwicGxhY2Vob2xkZXIiLCJvbkNoYW5nZSIsIm9uQ2xpY2siLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJzdHJpbmciLCJpc1JlcXVpcmVkIiwibm9kZSIsImZ1bmMiLCJib29sIiwic2hhcGUiLCJudW1iZXIiLCJkZWZhdWx0UHJvcHMiLCJNb2JpbGVNb2RhbCIsImRpc2FibGVkIiwiaW5pdCIsImxuZyIsImZhbGxiYWNrTG5nIiwiZGVmYXVsdE5TIiwiaW50ZXJwb2xhdGlvbiIsImVzY2FwZVZhbHVlIiwia2V5cyIsImZvckVhY2giLCJsYW5nIiwiaTE4bmV4dCIsImFkZFJlc291cmNlQnVuZGxlIiwiRmF2b3VyaXRlSWNvbklkVG9OYW1lTWFwIiwiRmF2b3VyaXRlSWNvblRhYmxlQnV0dG9uIiwic2VsZWN0ZWRJY29uSWQiLCJoYW5kbGVDbGljayIsIl91c2VTdGF0ZTIiLCJ1c2VTdGF0ZSIsImlzSG92ZXJlZCIsInNldEhvdmVyIiwiX3VzZVN0YXRlNCIsImlzRm9jdXNlZCIsInNldEZvY3VzIiwiaWNvbkNvbG9yIiwiY3giLCJvbk1vdXNlRW50ZXIiLCJvbk1vdXNlTGVhdmUiLCJvbkZvY3VzIiwib25CbHVyIiwiSWNvbiIsImltZyIsIkZhdm91cml0ZUljb25UYWJsZSIsIl9yZWYyIiwiZmF2b3VyaXRlSWNvbklkcyIsImNvbHVtbnMiLCJtYXAiLCJyb3ciLCJhcnJheU9mIiwiRmF2b3VyaXRlTW9kYWwiLCJDb21wb25lbnQiLCJwcm9wcyIsInN1cGVyIiwiZXZlbnQiLCJ0YXJnZXQiLCJ0aGlzIiwic2V0U3RhdGUiLCJwcmV2U3RhdGUiLCJmYXZvdXJpdGUiLCJfb2JqZWN0U3ByZWFkIiwiaWQiLCJzdGF0ZSIsInVuZGVmaW5lZCIsImZhdm91cml0ZUlkIiwiaXNFbXB0eSIsImlzTnVtYmVyIiwibGF0IiwibG9uIiwiaGFuZGxlQ2xvc2UiLCJzZXRUaW1lb3V0IiwiZGVmYXVsdE5hbWUiLCJhZGRBbmFseXRpY3NFdmVudCIsImNhdGVnb3J5IiwiYWN0aW9uIiwiY2xvc2VNb2RhbCIsImNoYW5nZUxhbmd1YWdlIiwiZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzIiwibmV4dFByb3BzIiwicHJldkZhdiIsIm5leHRGYXYiLCJhZGRyZXNzIiwiZ2lkIiwiY29tcG9uZW50RGlkVXBkYXRlIiwibGFuZ3VhZ2UiLCJjb21wb25lbnRXaWxsVW5tb3VudCIsInJlbmRlciIsIl90aGlzJHByb3BzIiwibW9kYWxQcm9wcyIsInNlbGVjdEljb24iLCJNb2RhbCIsImFwcEVsZW1lbnQiLCJjb250ZW50TGFiZWwiLCJjbG9zZUJ1dHRvbkxhYmVsIiwidmFyaWFudCIsImlzTW9iaWxlIiwiaXNPcGVuIiwiaXNNb2RhbE9wZW4iLCJvbkNyb3NzQ2xpY2siLCJndGZzSWQiLCJsYXllciJdLCJtYXBwaW5ncyI6ImczQkFBZSxTQUFTQSxFQUFRQyxHQUc5QixPQUFPRCxFQUFVLG1CQUFxQkUsUUFBVSxpQkFBbUJBLE9BQU9DLFNBQVcsU0FBVUYsR0FDN0YsY0FBY0EsR0FDWixTQUFVQSxHQUNaLE9BQU9BLEdBQUssbUJBQXFCQyxRQUFVRCxFQUFFRyxjQUFnQkYsUUFBVUQsSUFBTUMsT0FBT0csVUFBWSxnQkFBa0JKLEdBQ2pIRCxFQUFRQyxFQUNiLENDTmUsU0FBU0ssRUFBY0MsR0FDcEMsSUFBSUMsRUNGUyxTQUFxQkQsRUFBR0UsR0FDckMsR0FBSSxVQUFZVCxFQUFRTyxLQUFPQSxFQUFHLE9BQU9BLEVBQ3pDLElBQUlHLEVBQUlILEVBQUVMLE9BQU9TLGFBQ2pCLFFBQUksSUFBV0QsRUFBRyxDQUNoQixJQUFJRixFQUFJRSxFQUFFRSxLQUFLTCxFQUFHRSxHQUFLLFdBQ3ZCLEdBQUksVUFBWVQsRUFBUVEsR0FBSSxPQUFPQSxFQUNuQyxNQUFNLElBQUlLLFVBQVUsZ0RBRXRCLE9BQVEsV0FBYUosRUFBSUssT0FBU0MsUUFBUVIsRUFDNUMsQ0RQVUksQ0FBWUosRUFBRyxVQUN2QixNQUFPLFVBQVlQLEVBQVFRLEdBQUtBLEVBQUlNLE9BQU9O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
|
package/lib/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("prop-types"),require("classnames"),require("i18next"),require("lodash/isEmpty"),require("lodash/isNumber"),require("@hsl-fi/modal"),require("@digitransit-component/digitransit-component-icon")):"function"==typeof define&&define.amd?define(["exports","react","prop-types","classnames","i18next","lodash/isEmpty","lodash/isNumber","@hsl-fi/modal","@digitransit-component/digitransit-component-icon"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["@digitransit-component/digitransit-component-favourite-modal"]={},e.React,e.PropTypes,e.cx,e.i18next,e.isEmpty,e.isNumber,e.Modal,e.Icon)}(this,(function(e,t,o,a,i,n,l,r,d){"use strict";function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var u=s(t),c=s(o),f=s(a),p=s(i),m=s(n),_=s(l),v=s(r),b=s(d);function h(){return h=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var o=arguments[t];for(var a in o)Object.prototype.hasOwnProperty.call(o,a)&&(e[a]=o[a])}return e},h.apply(this,arguments)}function g(e,t){void 0===t&&(t={});var o=t.insertAt;if(e&&"undefined"!=typeof document){var a=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css","top"===o&&a.firstChild?a.insertBefore(i,a.firstChild):a.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}var k={"generic-table":"styles_generic-table__ZDktB",row:"styles_row__2H9Yg","generic-table__label-container":"styles_generic-table__label-container__BFaCU","favourite-icon-table-column":"styles_favourite-icon-table-column__fIdH1",place:"styles_place__NQ5kk",work:"styles_work__1IJjU",home:"styles_home__1tTd4",school:"styles_school__X2Mcv",sport:"styles_sport__EfCxT",shopping:"styles_shopping__XNGKI","selected-icon":"styles_selected-icon__vfbGq"};g(".styles_generic-table__ZDktB > .styles_row__2H9Yg {\n display: flex; }\n\n.styles_generic-table__label-container__BFaCU {\n font-size: 0.8rem;\n margin-top: 3px;\n color: #666;\n height: 16px;\n max-width: 62.5rem;\n margin-left: auto;\n margin-right: auto; }\n\n.styles_favourite-icon-table-column__fIdH1 {\n cursor: pointer;\n flex: 1;\n align-items: center;\n padding: 0;\n background: #fff;\n float: left;\n height: 50px;\n margin: 0;\n line-height: 1;\n text-align: center;\n font-size: 17px;\n border-top: solid 1px #d9d9d9;\n border-bottom: solid 1px #d9d9d9;\n border-right: solid 1px #d9d9d9;\n border-left: none; }\n .styles_favourite-icon-table-column__fIdH1.styles_place__NQ5kk svg {\n width: 24px;\n height: 24px; }\n .styles_favourite-icon-table-column__fIdH1.styles_work__1IJjU svg {\n width: 20px;\n height: 20px; }\n .styles_favourite-icon-table-column__fIdH1.styles_home__1tTd4 svg, .styles_favourite-icon-table-column__fIdH1.styles_school__X2Mcv svg, .styles_favourite-icon-table-column__fIdH1.styles_sport__EfCxT svg, .styles_favourite-icon-table-column__fIdH1.styles_shopping__XNGKI svg {\n width: 18px;\n height: 18px; }\n .styles_favourite-icon-table-column__fIdH1:active, .styles_favourite-icon-table-column__fIdH1:hover, .styles_favourite-icon-table-column__fIdH1:focus, .styles_favourite-icon-table-column__fIdH1 .styles_selected-icon__vfbGq {\n background: #333;\n color: #fff; }\n\n.styles_favourite-icon-table-column__fIdH1:first-child {\n border-left: solid 1px #d9d9d9;\n border-top-left-radius: 5px;\n border-bottom-left-radius: 5px; }\n\n.styles_favourite-icon-table-column__fIdH1:last-child {\n border-top-right-radius: 5px;\n border-bottom-right-radius: 5px; }\n\n.styles_favourite-icon-table-column__fIdH1.styles_selected-icon__vfbGq {\n background: #333;\n color: #fff; }\n");const x={de:{cancel:"Abbrechen","choose-icon":"Wählen Sie ein Symbol für diesen Ort","close-favourite-modal":"Favoriten-Dialog schließen","edit-place":"Ort bearbeiten","favourite-modal-on-add-new":"Neuen Favoriten hinzufügen","favourite-modal-on-edit":"Favorit bearbeiten: {{favourite.name}}","input-placeholder":"Einen Namen für Ort setzen (optional)",save:"Speichern","save-place":"Favorit speichern"},en:{cancel:"Cancel","choose-icon":"Select the place's icon","close-favourite-modal":"Close the favourite modal","edit-place":"Edit place","favourite-modal-on-add-new":"Add a new favorite","favourite-modal-on-edit":"Editing favourite: {{favourite.name}}","input-placeholder":"Give the name a place (optional)",save:"Save","save-place":"Save place","cannot-save-place":"Cannot save a place without address or icon",place:"a place",home:"home",work:"work",sport:"sport",school:"school",shopping:"shopping","required-text":"required field"},fi:{cancel:"Peruuta","choose-icon":"Valitse paikan kuvake","close-favourite-modal":"Sulje suosikkimodaali","edit-place":"Muokkaa paikkaa","favourite-modal-on-add-new":"Lisää uusi suosikki","favourite-modal-on-edit":"Muokkaa suosikkia {{favourite.name}}","input-placeholder":"Anna paikalle nimi (vapaaehtoinen)",save:"Tallenna","save-place":"Tallenna paikka","cannot-save-place":"Paikkaa ilman osoitetta tai ikonia ei voida tallentaa",place:"paikka",home:"koti",work:"työ",sport:"urheilu",school:"koulu",shopping:"ostokset","required-text":"pakollinen kenttä"},sv:{cancel:"Avbryt","choose-icon":"Välj platsens ikon","close-favourite-modal":"Stäng favoritmodalen","edit-place":"Redigera plats","favourite-modal-on-add-new":"Lägg till ny favorit","favourite-modal-on-edit":"Redigera platsen: {{favourite.name}}","input-placeholder":"Ange platsens namn (frivilligt)",save:"Spara","save-place":"Spara plats","cannot-save-place":"Det går inte att spara en plats utan adress eller ikon",place:"en plats",home:"hem",work:"arbete",sport:"sport",school:"skola",shopping:"shoppa","required-field":"obligatoriskt fält"}};var y="desktop_favourite-modal-desktop-container__JeGRK",R="desktop_favourite-modal-desktop-top__SRAj7",E="desktop_favourite-modal-desktop-header__LzO65",q="desktop_favourite-modal-desktop-main__3SYc5",I="desktop_favourite-modal-desktop-location-search__ajBVr",N="desktop_favourite-modal-desktop-name__BmsiY",w="desktop_favourite-modal-desktop-input__6L7ez",S="desktop_favourite-modal-desktop-text__Gs-U3",T="desktop_favourite-modal-desktop-icons__LtHSO",G="desktop_icons-container__rs22H",C="desktop_favourite-modal-desktop-buttons__2Ag9q",O="desktop_favourite-modal-desktop-button__8Gh8t",H="desktop_save__I0AgO",A="desktop_disabled__Greqy",U="desktop_edit__t9NzU",J="desktop_sr-only__VJyNM";g(".desktop_favourite-modal-desktop-container__JeGRK {\n display: flex;\n flex-direction: column; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-top__SRAj7 {\n display: flex;\n flex-direction: row;\n width: 100%; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-top__SRAj7 .desktop_favourite-modal-desktop-header__LzO65 {\n width: 100%;\n font-size: 18px;\n font-weight: var(--font-weight-medium);\n line-height: 1.33;\n letter-spacing: -0.6px;\n color: #333333;\n margin-bottom: 25px; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-main__3SYc5 {\n text-align: left;\n margin-bottom: 27px; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-main__3SYc5 .desktop_favourite-modal-desktop-location-search__ajBVr {\n margin-bottom: 9px; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-main__3SYc5 .desktop_favourite-modal-desktop-name__BmsiY .desktop_favourite-modal-desktop-input__6L7ez {\n display: flex;\n position: relative;\n width: 100%;\n height: 44px;\n font-family: 'Gotham Rounded A', 'Gotham Rounded B', 'Roboto', Arial, Georgia, Serif;\n border-radius: 5px;\n border: solid 1px #888888;\n background-color: #ffffff;\n padding-left: 20px;\n font-size: 15px;\n line-height: 1.2;\n letter-spacing: -0.5px;\n color: #333;\n box-sizing: border-box;\n -webkit-appearance: none;\n appearance: none; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-main__3SYc5 .desktop_favourite-modal-desktop-name__BmsiY .desktop_favourite-modal-desktop-input__6L7ez::placeholder {\n color: #666; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-main__3SYc5 .desktop_favourite-modal-desktop-name__BmsiY .desktop_favourite-modal-desktop-input__6L7ez:focus {\n background: #fff;\n outline: none;\n border: 1px solid var(--color);\n box-shadow: 0px 0px 2px 1px var(--hover-color);\n -webkit-appearance: none; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-text__Gs-U3 {\n font-size: 16px;\n font-weight: var(--font-weight-medium);\n letter-spacing: -0.53px;\n color: #333333;\n margin: 0 0 11px 0;\n padding: 0; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-icons__LtHSO {\n margin-bottom: 30px; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_icons-container__rs22H {\n border: none;\n margin: 0;\n padding: 0; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q {\n display: flex;\n flex-direction: column; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t {\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n width: 100%;\n height: 50px;\n font-size: 18px;\n font-family: 'Gotham Rounded A', 'Gotham Rounded B', 'Roboto', Arial, Georgia, Serif;\n font-weight: var(--font-weight-medium);\n letter-spacing: -0.5px;\n background: var(--color);\n color: #fff;\n line-height: 0;\n text-align: center;\n padding: 0;\n margin: 0;\n border-width: 0;\n transition: background-color 300ms ease-out;\n border-radius: 25px;\n cursor: pointer; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_save__I0AgO:active, .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_save__I0AgO:focus, .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_save__I0AgO:hover {\n border-color: var(--hover-color);\n background: var(--hover-color);\n color: #fff; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_save__I0AgO.desktop_disabled__Greqy {\n background: #bbb; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_save__I0AgO.desktop_disabled__Greqy:active {\n background: #bbb; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_edit__t9NzU {\n margin-top: 9px;\n background: #fff;\n border: solid 1px var(--color);\n color: var(--color); }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_edit__t9NzU:active, .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_edit__t9NzU:hover {\n border-color: var(--hover-color);\n background-color: #fff;\n color: var(--hover-color); }\n\n.desktop_sr-only__VJyNM:not(:focus):not(:active) {\n clip: rect(0 0 0 0);\n -webkit-clip-path: inset(50%);\n clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px; }\n");const B=({headerText:e,autosuggestComponent:t,inputPlaceholder:o,specifyName:a,name:i,chooseIconText:n,favouriteIconTable:l,saveFavourite:r,saveText:d,canSave:s,isEdit:c,cancelText:f,cancelSelected:p,color:m,hoverColor:_,savePlaceText:v,cantSaveText:b,requiredText:h,fontWeights:g})=>u.default.createElement("div",{className:y,style:{"--color":`${m}`,"--hover-color":`${_}`,"--font-weight-medium":g.medium}},u.default.createElement("div",{className:R},u.default.createElement("div",{className:E},e)),u.default.createElement("div",{className:q},u.default.createElement("div",{className:I},t),u.default.createElement("div",{className:N},u.default.createElement("input",{"aria-label":o,className:w,value:i,placeholder:o,onChange:a}))),u.default.createElement("fieldset",{className:G},u.default.createElement("legend",{className:S},n,u.default.createElement("p",{className:J},h)),u.default.createElement("div",{className:T},l)),u.default.createElement("div",{className:C},u.default.createElement("button",{type:"button",className:`${O} ${H} ${s()?"":A}`,onClick:r,"aria-label":`${s()?v:b}`,"aria-disabled":!s()},d),c&&u.default.createElement("button",{type:"button",className:`${O} ${U} ${s()?"":A}`,onClick:p},f)));"production"!==process.env.NODE_ENV&&(B.propTypes={headerText:c.default.string.isRequired,autosuggestComponent:c.default.node.isRequired,inputPlaceholder:c.default.string.isRequired,specifyName:c.default.func.isRequired,name:c.default.string.isRequired,chooseIconText:c.default.string.isRequired,favouriteIconTable:c.default.node.isRequired,saveFavourite:c.default.func.isRequired,saveText:c.default.string.isRequired,canSave:c.default.func.isRequired,isEdit:c.default.bool,cancelText:c.default.string.isRequired,cancelSelected:c.default.func,color:c.default.string.isRequired,hoverColor:c.default.string.isRequired,savePlaceText:c.default.string.isRequired,cantSaveText:c.default.string.isRequired,requiredText:c.default.string.isRequired,fontWeights:c.default.shape({medium:c.default.number.isRequired}).isRequired}),B.defaultProps={isEdit:!1,cancelSelected:()=>({})};var z={"favourite-modal-mobile-container":"mobile_favourite-modal-mobile-container__rahUH","favourite-modal-mobile-top":"mobile_favourite-modal-mobile-top__RZX-c","favourite-modal-mobile-header":"mobile_favourite-modal-mobile-header__XR22e","favourite-modal-mobile-main":"mobile_favourite-modal-mobile-main__3SYyB","favourite-modal-mobile-location-search":"mobile_favourite-modal-mobile-location-search__DNNd-","favourite-modal-mobile-input":"mobile_favourite-modal-mobile-input__Q16OP","favourite-modal-mobile-text":"mobile_favourite-modal-mobile-text__5JRgC","favourite-modal-mobile-save":"mobile_favourite-modal-mobile-save__E-p51","favourite-modal-mobile-button":"mobile_favourite-modal-mobile-button__7aFOZ",disabled:"mobile_disabled__NTpua","sr-only":"mobile_sr-only__24tpU"};g(".mobile_favourite-modal-mobile-container__rahUH {\n display: flex;\n flex-direction: column; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-top__RZX-c {\n display: flex;\n flex-direction: row;\n width: 100%;\n border-bottom: 1px solid #ddd;\n margin-bottom: 30px; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-top__RZX-c .mobile_favourite-modal-mobile-header__XR22e {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 100%;\n height: inherit;\n font-size: 18px;\n font-weight: var(--font-weight-medium);\n letter-spacing: -0.6px;\n text-align: center;\n color: #333333;\n margin-bottom: 37px; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-main__3SYyB {\n text-align: left;\n margin-bottom: 28px; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-main__3SYyB .mobile_favourite-modal-mobile-location-search__DNNd- {\n margin-bottom: 9px; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-main__3SYyB .mobile_favourite-modal-mobile-input__Q16OP {\n display: flex;\n position: relative;\n width: 100%;\n height: 44px;\n font-family: 'Gotham Rounded A', 'Gotham Rounded B', 'Roboto', Arial, Georgia, Serif;\n border-radius: 5px;\n border: solid 1px #888888;\n background-color: #ffffff;\n padding-left: 20px;\n font-size: 16px;\n line-height: 1.2;\n letter-spacing: -0.5px;\n color: #333333;\n box-sizing: border-box;\n -webkit-appearance: none;\n appearance: none; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-main__3SYyB .mobile_favourite-modal-mobile-input__Q16OP:focus {\n background: #fff;\n outline: none;\n border: 1px solid var(--color);\n box-shadow: 0px 0px 2px 1px var(--hover-color);\n -webkit-appearance: none; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-main__3SYyB .mobile_favourite-modal-mobile-input__Q16OP::placeholder {\n color: #666666;\n font-size: 15px; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-text__5JRgC {\n font-size: 16px;\n font-weight: var(--font-weight-medium);\n letter-spacing: -0.53px;\n color: #333333;\n margin-bottom: 18px; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-save__E-p51 {\n width: 100%;\n margin-top: 30px; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-save__E-p51 .mobile_favourite-modal-mobile-button__7aFOZ {\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n width: 100%;\n height: 50px;\n font-size: 18px;\n font-family: 'Gotham Rounded A', 'Gotham Rounded B', 'Roboto', Arial, Georgia, Serif;\n font-weight: var(--font-weight-medium);\n letter-spacing: -0.5px;\n background: var(--color);\n line-height: 0;\n text-align: center;\n padding: 0;\n margin: 0;\n color: #fff;\n border-width: 0;\n transition: background-color 300ms ease-out;\n border-radius: 25px;\n cursor: pointer; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-save__E-p51 .mobile_favourite-modal-mobile-button__7aFOZ:active, .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-save__E-p51 .mobile_favourite-modal-mobile-button__7aFOZ:focus, .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-save__E-p51 .mobile_favourite-modal-mobile-button__7aFOZ:hover {\n border-color: var(--hover-color);\n background: var(--hover-color);\n color: #fff; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-save__E-p51 .mobile_favourite-modal-mobile-button__7aFOZ.mobile_disabled__NTpua {\n background: #bbb; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-save__E-p51 .mobile_favourite-modal-mobile-button__7aFOZ.mobile_disabled__NTpua:active {\n background: #bbb; }\n\n.mobile_sr-only__24tpU:not(:focus):not(:active) {\n clip: rect(0 0 0 0);\n -webkit-clip-path: inset(50%);\n clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px; }\n");const F=({headerText:e,autosuggestComponent:t,inputPlaceholder:o,specifyName:a,name:i,chooseIconText:n,favouriteIconTable:l,saveFavourite:r,saveText:d,canSave:s,color:c,hoverColor:f,savePlaceText:p,cantSaveText:m,requiredText:_,fontWeights:v})=>u.default.createElement("div",{className:z["favourite-modal-mobile-container"],style:{"--color":`${c}`,"--hover-color":`${f}`,"--font-weight-medium":v.medium}},u.default.createElement("div",{className:z["favourite-modal-mobile-top"]},u.default.createElement("div",{className:z["favourite-modal-mobile-header"]},e)),u.default.createElement("div",{className:z["favourite-modal-mobile-main"]},u.default.createElement("div",{className:z["favourite-modal-mobile-location-search"]},t),u.default.createElement("input",{className:z["favourite-modal-mobile-input"],value:i||"",placeholder:o,onChange:a})),u.default.createElement("div",{className:z["favourite-modal-mobile-text"]},n,u.default.createElement("p",{className:z["sr-only"]},_)),u.default.createElement("div",{className:z["favourite-modal-mobile-icons"]},l),u.default.createElement("div",{className:z["favourite-modal-mobile-save"]},u.default.createElement("button",{type:"button",className:`${z["favourite-modal-mobile-button"]} ${s()?"":z.disabled}`,onClick:r,"aria-label":`${s()?p:m}`},d)));"production"!==process.env.NODE_ENV&&(F.propTypes={headerText:c.default.string.isRequired,autosuggestComponent:c.default.node.isRequired,inputPlaceholder:c.default.string.isRequired,specifyName:c.default.func.isRequired,name:c.default.string.isRequired,chooseIconText:c.default.string.isRequired,favouriteIconTable:c.default.node.isRequired,saveFavourite:c.default.func.isRequired,saveText:c.default.string.isRequired,canSave:c.default.func.isRequired,color:c.default.string.isRequired,hoverColor:c.default.string.isRequired,savePlaceText:c.default.string.isRequired,cantSaveText:c.default.string.isRequired,requiredText:c.default.string.isRequired,fontWeights:c.default.shape({medium:c.default.number.isRequired}).isRequired}),p.default.init({lng:"fi",fallbackLng:"fi",defaultNS:"translation",interpolation:{escapeValue:!1}}),Object.keys(x).forEach((e=>{p.default.addResourceBundle(e,"translation",x[e])}));const K={"icon-icon_place":"place","icon-icon_home":"home","icon-icon_work":"work","icon-icon_sport":"sport","icon-icon_school":"school","icon-icon_shopping":"shopping"},P=({value:e,selectedIconId:o,handleClick:a,color:i})=>{const[n,l]=t.useState(!1),[r,d]=t.useState(!1),s=e===K[o]||n||r?"#ffffff":i;return u.default.createElement("button",{type:"button",className:f.default(k["favourite-icon-table-column"],k[e],e===K[o]&&k["selected-icon"]),onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1),onFocus:()=>d(!0),onBlur:()=>d(!1),onClick:()=>a(e),"aria-label":p.default.t(e)},u.default.createElement(b.default,{img:e,color:s}))};"production"!==process.env.NODE_ENV&&(P.propTypes={handleClick:c.default.func.isRequired,value:c.default.string,selectedIconId:c.default.string,color:c.default.string.isRequired});const j=({favouriteIconIds:e,selectedIconId:t,handleClick:o,color:a})=>{const i=e.map((e=>u.default.createElement(P,{key:`favourite-icon-table-${e}`,value:e,selectedIconId:t,handleClick:o,color:a})));return u.default.createElement("div",{className:k["generic-table"]},u.default.createElement("div",{className:k.row},i))};"production"!==process.env.NODE_ENV&&(j.propTypes={handleClick:c.default.func.isRequired,favouriteIconIds:c.default.array,selectedIconId:c.default.string,color:c.default.string.isRequired});class M extends u.default.Component{constructor(e){super(e),this.componentDidUpdate=()=>{p.default.language!==this.props.lang&&p.default.changeLanguage(this.props.lang)},this.componentWillUnmount=()=>{this.setState({favourite:null})},this.specifyName=e=>{const t=e.target.value;this.setState((e=>({favourite:h({},e.favourite,{name:t})})))},this.selectIcon=e=>{this.setState((t=>({favourite:h({},t.favourite,{selectedIconId:`icon-icon_${e}`})})))},this.isEdit=()=>this.state.favourite&&void 0!==this.state.favourite.favouriteId,this.canSave=()=>this.state.favourite&&!m.default(this.state.favourite.selectedIconId)&&_.default(this.state.favourite.lat)&&_.default(this.state.favourite.lon),this.closeModal=()=>{this.props.handleClose(),setTimeout((()=>{this.setState({favourite:null})}),250)},this.cancelSelected=()=>{this.props.cancelSelected(),setTimeout((()=>{this.setState({favourite:null})}),250)},this.save=()=>{if(this.canSave()){const e=m.default(this.state.favourite.name)?this.state.favourite.defaultName:this.state.favourite.name,t=h({},this.state.favourite,{name:e});delete t.defaultName,this.props.saveFavourite(h({},t,{type:"place"})),this.props.addAnalyticsEvent&&this.props.addAnalyticsEvent({category:"Favourite",action:"SaveFavourite",name:this.state.favourite.selectedIconId}),this.isEdit()&&this.props.cancelSelected?this.cancelSelected():this.closeModal()}},this.render=()=>{const{favourite:e}=this.state,{color:t,hoverColor:o,fontWeights:a}=this.props,i={headerText:this.isEdit()?p.default.t("edit-place"):p.default.t("save-place"),autosuggestComponent:h({},this.props.autosuggestComponent,{color:t,hoverColor:o}),inputPlaceholder:p.default.t("input-placeholder"),specifyName:this.specifyName,name:e&&e.name||"",chooseIconText:p.default.t("choose-icon"),favouriteIconTable:u.default.createElement(j,{selectedIconId:(()=>{if(e&&void 0!==e.selectedIconId)return e.selectedIconId})(),favouriteIconIds:M.favouriteIconIds,handleClick:this.selectIcon,color:t}),saveFavourite:this.save,saveText:p.default.t("save"),canSave:this.canSave,isEdit:this.isEdit(),cancelText:p.default.t("cancel"),cancelSelected:()=>this.cancelSelected(),color:t,hoverColor:o,savePlaceText:p.default.t("save-place"),cantSaveText:p.default.t("cannot-save-place"),requiredText:p.default.t("required-text"),fontWeights:a};return u.default.createElement(v.default,{appElement:this.props.appElement,contentLabel:this.isEdit()?p.default.t("favourite-modal-on-edit",e):p.default.t("favourite-modal-on-add-new"),closeButtonLabel:p.default.t("close-favourite-modal"),variant:this.props.isMobile?"large":"small",isOpen:this.props.isModalOpen,onCrossClick:()=>this.closeModal()},!this.props.isMobile&&u.default.createElement(B,i),this.props.isMobile&&u.default.createElement(F,i))},p.default.changeLanguage(e.lang),this.state={favourite:null},Object.keys(x).forEach((e=>{p.default.addResourceBundle(e,"translation",x[e])}))}}M.defaultProps={cancelSelected:()=>({}),lang:"fi",isMobile:!1,favourite:null,color:"#007ac9",hoverColor:"#0062a1",fontWeights:{medium:500}},M.favouriteIconIds=["place","home","work","sport","school","shopping"],M.getDerivedStateFromProps=(e,t)=>{const o=t.favourite,a=e.favourite;return m.default(a)?{favourite:null}:m.default(o)&&!m.default(a)?{favourite:h({},a)}:m.default(o)||m.default(a)||a.address===o.address&&a.lat===o.lat&&a.lon===o.lon?null:{favourite:h({},o,{address:a.address,lat:a.lat,lon:a.lon,gid:a.gid||null,name:o.name||a.name||"",defaultName:a.defaultName})}},"production"!==process.env.NODE_ENV&&(M.propTypes={isModalOpen:c.default.bool.isRequired,handleClose:c.default.func.isRequired,saveFavourite:c.default.func.isRequired,cancelSelected:c.default.func,autosuggestComponent:c.default.node,favourite:c.default.shape({type:c.default.string,address:c.default.string,gtfsId:c.default.string,gid:c.default.string,lat:c.default.number,lon:c.default.number,name:c.default.string,selectedIconId:c.default.string,favouriteId:c.default.string,layer:c.default.string,defaultName:c.default.string}),addAnalyticsEvent:c.default.func,lang:c.default.string,isMobile:c.default.bool,appElement:c.default.string.isRequired,color:c.default.string,hoverColor:c.default.string,fontWeights:c.default.shape({medium:c.default.number})}),e.default=M,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("prop-types"),require("classnames"),require("i18next"),require("lodash/isEmpty"),require("lodash/isNumber"),require("@hsl-fi/modal"),require("@digitransit-component/digitransit-component-icon")):"function"==typeof define&&define.amd?define(["exports","react","prop-types","classnames","i18next","lodash/isEmpty","lodash/isNumber","@hsl-fi/modal","@digitransit-component/digitransit-component-icon"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["@digitransit-component/digitransit-component-favourite-modal"]={},e.React,e.PropTypes,e.cx,e.i18next,e.isEmpty,e.isNumber,e.Modal,e.Icon)}(this,(function(e,t,o,a,i,n,l,r,d){"use strict";function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var u=s(t),c=s(o),f=s(a),p=s(i),m=s(n),_=s(l),v=s(r),b=s(d);function h(e){return h="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},h(e)}function g(e){var t=function(e,t){if("object"!=h(e)||!e)return e;var o=e[Symbol.toPrimitive];if(void 0!==o){var a=o.call(e,t||"default");if("object"!=h(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==h(t)?t:String(t)}function k(e,t,o){return(t=g(t))in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function y(e,t){(null==t||t>e.length)&&(t=e.length);for(var o=0,a=new Array(t);o<t;o++)a[o]=e[o];return a}function x(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a,i,n,l,r=[],d=!0,s=!1;try{if(n=(o=o.call(e)).next,0===t){if(Object(o)!==o)return;d=!1}else for(;!(d=(a=n.call(o)).done)&&(r.push(a.value),r.length!==t);d=!0);}catch(e){s=!0,i=e}finally{try{if(!d&&null!=o.return&&(l=o.return(),Object(l)!==l))return}finally{if(s)throw i}}return r}}(e,t)||function(e,t){if(e){if("string"==typeof e)return y(e,t);var o=Object.prototype.toString.call(e).slice(8,-1);return"Object"===o&&e.constructor&&(o=e.constructor.name),"Map"===o||"Set"===o?Array.from(e):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?y(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function R(e,t){void 0===t&&(t={});var o=t.insertAt;if(e&&"undefined"!=typeof document){var a=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css","top"===o&&a.firstChild?a.insertBefore(i,a.firstChild):a.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}var E={"generic-table":"styles_generic-table__ZDktB",row:"styles_row__2H9Yg","generic-table__label-container":"styles_generic-table__label-container__BFaCU","favourite-icon-table-column":"styles_favourite-icon-table-column__fIdH1",place:"styles_place__NQ5kk",work:"styles_work__1IJjU",home:"styles_home__1tTd4",school:"styles_school__X2Mcv",sport:"styles_sport__EfCxT",shopping:"styles_shopping__XNGKI","selected-icon":"styles_selected-icon__vfbGq"};R(".styles_generic-table__ZDktB > .styles_row__2H9Yg {\n display: flex; }\n\n.styles_generic-table__label-container__BFaCU {\n font-size: 0.8rem;\n margin-top: 3px;\n color: #666;\n height: 16px;\n max-width: 62.5rem;\n margin-left: auto;\n margin-right: auto; }\n\n.styles_favourite-icon-table-column__fIdH1 {\n cursor: pointer;\n flex: 1;\n align-items: center;\n padding: 0;\n background: #fff;\n float: left;\n height: 50px;\n margin: 0;\n line-height: 1;\n text-align: center;\n font-size: 17px;\n border-top: solid 1px #d9d9d9;\n border-bottom: solid 1px #d9d9d9;\n border-right: solid 1px #d9d9d9;\n border-left: none; }\n .styles_favourite-icon-table-column__fIdH1.styles_place__NQ5kk svg {\n width: 24px;\n height: 24px; }\n .styles_favourite-icon-table-column__fIdH1.styles_work__1IJjU svg {\n width: 20px;\n height: 20px; }\n .styles_favourite-icon-table-column__fIdH1.styles_home__1tTd4 svg, .styles_favourite-icon-table-column__fIdH1.styles_school__X2Mcv svg, .styles_favourite-icon-table-column__fIdH1.styles_sport__EfCxT svg, .styles_favourite-icon-table-column__fIdH1.styles_shopping__XNGKI svg {\n width: 18px;\n height: 18px; }\n .styles_favourite-icon-table-column__fIdH1:active, .styles_favourite-icon-table-column__fIdH1:hover, .styles_favourite-icon-table-column__fIdH1:focus,\n .styles_favourite-icon-table-column__fIdH1 .styles_selected-icon__vfbGq {\n background: #333;\n color: #fff; }\n\n.styles_favourite-icon-table-column__fIdH1:first-child {\n border-left: solid 1px #d9d9d9;\n border-top-left-radius: 5px;\n border-bottom-left-radius: 5px; }\n\n.styles_favourite-icon-table-column__fIdH1:last-child {\n border-top-right-radius: 5px;\n border-bottom-right-radius: 5px; }\n\n.styles_favourite-icon-table-column__fIdH1.styles_selected-icon__vfbGq {\n background: #333;\n color: #fff; }\n");var q={de:{cancel:"Abbrechen","choose-icon":"Wählen Sie ein Symbol für diesen Ort","close-favourite-modal":"Favoriten-Dialog schließen","edit-place":"Ort bearbeiten","favourite-modal-on-add-new":"Neuen Favoriten hinzufügen","favourite-modal-on-edit":"Favorit bearbeiten: {{favourite.name}}","input-placeholder":"Einen Namen für Ort setzen (optional)",save:"Speichern","save-place":"Favorit speichern"},en:{cancel:"Cancel","choose-icon":"Select the place's icon","close-favourite-modal":"Close the favourite modal","edit-place":"Edit place","favourite-modal-on-add-new":"Add a new favorite","favourite-modal-on-edit":"Editing favourite: {{favourite.name}}","input-placeholder":"Give the name a place (optional)",save:"Save","save-place":"Save place","cannot-save-place":"Cannot save a place without address or icon",place:"a place",home:"home",work:"work",sport:"sport",school:"school",shopping:"shopping","required-text":"required field"},fi:{cancel:"Peruuta","choose-icon":"Valitse paikan kuvake","close-favourite-modal":"Sulje suosikkimodaali","edit-place":"Muokkaa paikkaa","favourite-modal-on-add-new":"Lisää uusi suosikki","favourite-modal-on-edit":"Muokkaa suosikkia {{favourite.name}}","input-placeholder":"Anna paikalle nimi (vapaaehtoinen)",save:"Tallenna","save-place":"Tallenna paikka","cannot-save-place":"Paikkaa ilman osoitetta tai ikonia ei voida tallentaa",place:"paikka",home:"koti",work:"työ",sport:"urheilu",school:"koulu",shopping:"ostokset","required-text":"pakollinen kenttä"},sv:{cancel:"Avbryt","choose-icon":"Välj platsens ikon","close-favourite-modal":"Stäng favoritmodalen","edit-place":"Redigera plats","favourite-modal-on-add-new":"Lägg till ny favorit","favourite-modal-on-edit":"Redigera platsen: {{favourite.name}}","input-placeholder":"Ange platsens namn (frivilligt)",save:"Spara","save-place":"Spara plats","cannot-save-place":"Det går inte att spara en plats utan adress eller ikon",place:"en plats",home:"hem",work:"arbete",sport:"sport",school:"skola",shopping:"shoppa","required-field":"obligatoriskt fält"}},w="desktop_favourite-modal-desktop-container__JeGRK",I="desktop_favourite-modal-desktop-top__SRAj7",S="desktop_favourite-modal-desktop-header__LzO65",N="desktop_favourite-modal-desktop-main__3SYc5",T="desktop_favourite-modal-desktop-location-search__ajBVr",O="desktop_favourite-modal-desktop-name__BmsiY",G="desktop_favourite-modal-desktop-input__6L7ez",C="desktop_favourite-modal-desktop-text__Gs-U3",A="desktop_favourite-modal-desktop-icons__LtHSO",H="desktop_icons-container__rs22H",j="desktop_favourite-modal-desktop-buttons__2Ag9q",P="desktop_favourite-modal-desktop-button__8Gh8t",z="desktop_save__I0AgO",U="desktop_disabled__Greqy",J="desktop_edit__t9NzU",B="desktop_sr-only__VJyNM";R(".desktop_favourite-modal-desktop-container__JeGRK {\n display: flex;\n flex-direction: column; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-top__SRAj7 {\n display: flex;\n flex-direction: row;\n width: 100%; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-top__SRAj7 .desktop_favourite-modal-desktop-header__LzO65 {\n width: 100%;\n font-size: 18px;\n font-weight: var(--font-weight-medium);\n line-height: 1.33;\n letter-spacing: -0.6px;\n color: #333;\n margin-bottom: 25px; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-main__3SYc5 {\n text-align: left;\n margin-bottom: 27px; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-main__3SYc5 .desktop_favourite-modal-desktop-location-search__ajBVr {\n margin-bottom: 9px; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-main__3SYc5 .desktop_favourite-modal-desktop-name__BmsiY .desktop_favourite-modal-desktop-input__6L7ez {\n display: flex;\n position: relative;\n width: 100%;\n height: 44px;\n font-family: 'Gotham Rounded A', 'Gotham Rounded B', Roboto, Arial, Georgia, serif;\n border-radius: 5px;\n border: solid 1px #888;\n background-color: #fff;\n padding-left: 20px;\n font-size: 15px;\n line-height: 1.2;\n letter-spacing: -0.5px;\n color: #333;\n box-sizing: border-box;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-main__3SYc5 .desktop_favourite-modal-desktop-name__BmsiY .desktop_favourite-modal-desktop-input__6L7ez::-moz-placeholder {\n color: #666; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-main__3SYc5 .desktop_favourite-modal-desktop-name__BmsiY .desktop_favourite-modal-desktop-input__6L7ez::placeholder {\n color: #666; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-main__3SYc5 .desktop_favourite-modal-desktop-name__BmsiY .desktop_favourite-modal-desktop-input__6L7ez:focus {\n background: #fff;\n outline: none;\n border: 1px solid var(--color);\n box-shadow: 0 0 2px 1px var(--hover-color);\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-text__Gs-U3 {\n font-size: 16px;\n font-weight: var(--font-weight-medium);\n letter-spacing: -0.53px;\n color: #333;\n margin: 0 0 11px 0;\n padding: 0; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-icons__LtHSO {\n margin-bottom: 30px; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_icons-container__rs22H {\n border: none;\n margin: 0;\n padding: 0; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q {\n display: flex;\n flex-direction: column; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t {\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n width: 100%;\n height: 50px;\n font-size: 18px;\n font-family: 'Gotham Rounded A', 'Gotham Rounded B', Roboto, Arial, Georgia, serif;\n font-weight: var(--font-weight-medium);\n letter-spacing: -0.5px;\n background: var(--color);\n color: #fff;\n line-height: 0;\n text-align: center;\n padding: 0;\n margin: 0;\n border-width: 0;\n transition: background-color 300ms ease-out;\n border-radius: 25px;\n cursor: pointer; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_save__I0AgO:active, .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_save__I0AgO:focus, .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_save__I0AgO:hover {\n border-color: var(--hover-color);\n background: var(--hover-color);\n color: #fff; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_save__I0AgO.desktop_disabled__Greqy {\n background: #bbb; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_save__I0AgO.desktop_disabled__Greqy:active {\n background: #bbb; }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_edit__t9NzU {\n margin-top: 9px;\n background: #fff;\n border: solid 1px var(--color);\n color: var(--color); }\n .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_edit__t9NzU:active, .desktop_favourite-modal-desktop-container__JeGRK .desktop_favourite-modal-desktop-buttons__2Ag9q .desktop_favourite-modal-desktop-button__8Gh8t.desktop_edit__t9NzU:hover {\n border-color: var(--hover-color);\n background-color: #fff;\n color: var(--hover-color); }\n\n.desktop_sr-only__VJyNM:not(:focus, :active) {\n clip: rect(0 0 0 0);\n -webkit-clip-path: inset(50%);\n clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px; }\n");var K=e=>{var t=e.headerText,o=e.autosuggestComponent,a=e.inputPlaceholder,i=e.specifyName,n=e.name,l=e.chooseIconText,r=e.favouriteIconTable,d=e.saveFavourite,s=e.saveText,c=e.canSave,f=e.isEdit,p=e.cancelText,m=e.cancelSelected,_=e.color,v=e.hoverColor,b=e.savePlaceText,h=e.cantSaveText,g=e.requiredText,k=e.fontWeights;return u.default.createElement("div",{className:w,style:{"--color":`${_}`,"--hover-color":`${v}`,"--font-weight-medium":k.medium}},u.default.createElement("div",{className:I},u.default.createElement("div",{className:S},t)),u.default.createElement("div",{className:N},u.default.createElement("div",{className:T},o),u.default.createElement("div",{className:O},u.default.createElement("input",{"aria-label":a,className:G,value:n,placeholder:a,onChange:i}))),u.default.createElement("fieldset",{className:H},u.default.createElement("legend",{className:C},l,u.default.createElement("p",{className:B},g)),u.default.createElement("div",{className:A},r)),u.default.createElement("div",{className:j},u.default.createElement("button",{type:"button",className:`${P} ${z} ${c()?"":U}`,onClick:d,"aria-label":`${c()?b:h}`,"aria-disabled":!c()},s),f&&u.default.createElement("button",{type:"button",className:`${P} ${J} ${c()?"":U}`,onClick:m},p)))};"production"!==process.env.NODE_ENV&&(K.propTypes={headerText:c.default.string.isRequired,autosuggestComponent:c.default.node.isRequired,inputPlaceholder:c.default.string.isRequired,specifyName:c.default.func.isRequired,name:c.default.string.isRequired,chooseIconText:c.default.string.isRequired,favouriteIconTable:c.default.node.isRequired,saveFavourite:c.default.func.isRequired,saveText:c.default.string.isRequired,canSave:c.default.func.isRequired,isEdit:c.default.bool,cancelText:c.default.string.isRequired,cancelSelected:c.default.func,color:c.default.string.isRequired,hoverColor:c.default.string.isRequired,savePlaceText:c.default.string.isRequired,cantSaveText:c.default.string.isRequired,requiredText:c.default.string.isRequired,fontWeights:c.default.shape({medium:c.default.number.isRequired}).isRequired}),K.defaultProps={isEdit:!1,cancelSelected:()=>({})};var F={"favourite-modal-mobile-container":"mobile_favourite-modal-mobile-container__rahUH","favourite-modal-mobile-top":"mobile_favourite-modal-mobile-top__RZX-c","favourite-modal-mobile-header":"mobile_favourite-modal-mobile-header__XR22e","favourite-modal-mobile-main":"mobile_favourite-modal-mobile-main__3SYyB","favourite-modal-mobile-location-search":"mobile_favourite-modal-mobile-location-search__DNNd-","favourite-modal-mobile-input":"mobile_favourite-modal-mobile-input__Q16OP","favourite-modal-mobile-text":"mobile_favourite-modal-mobile-text__5JRgC","favourite-modal-mobile-save":"mobile_favourite-modal-mobile-save__E-p51","favourite-modal-mobile-button":"mobile_favourite-modal-mobile-button__7aFOZ",disabled:"mobile_disabled__NTpua","sr-only":"mobile_sr-only__24tpU"};R(".mobile_favourite-modal-mobile-container__rahUH {\n display: flex;\n flex-direction: column; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-top__RZX-c {\n display: flex;\n flex-direction: row;\n width: 100%;\n border-bottom: 1px solid #ddd;\n margin-bottom: 30px; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-top__RZX-c .mobile_favourite-modal-mobile-header__XR22e {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 100%;\n height: inherit;\n font-size: 18px;\n font-weight: var(--font-weight-medium);\n letter-spacing: -0.6px;\n text-align: center;\n color: #333;\n margin-bottom: 37px; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-main__3SYyB {\n text-align: left;\n margin-bottom: 28px; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-main__3SYyB .mobile_favourite-modal-mobile-location-search__DNNd- {\n margin-bottom: 9px; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-main__3SYyB .mobile_favourite-modal-mobile-input__Q16OP {\n display: flex;\n position: relative;\n width: 100%;\n height: 44px;\n font-family: 'Gotham Rounded A', 'Gotham Rounded B', Roboto, Arial, Georgia, serif;\n border-radius: 5px;\n border: solid 1px #888;\n background-color: #fff;\n padding-left: 20px;\n font-size: 16px;\n line-height: 1.2;\n letter-spacing: -0.5px;\n color: #333;\n box-sizing: border-box;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-main__3SYyB .mobile_favourite-modal-mobile-input__Q16OP:focus {\n background: #fff;\n outline: none;\n border: 1px solid var(--color);\n box-shadow: 0 0 2px 1px var(--hover-color);\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-main__3SYyB .mobile_favourite-modal-mobile-input__Q16OP::-moz-placeholder {\n color: #666;\n font-size: 15px; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-main__3SYyB .mobile_favourite-modal-mobile-input__Q16OP::placeholder {\n color: #666;\n font-size: 15px; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-text__5JRgC {\n font-size: 16px;\n font-weight: var(--font-weight-medium);\n letter-spacing: -0.53px;\n color: #333;\n margin-bottom: 18px; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-save__E-p51 {\n width: 100%;\n margin-top: 30px; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-save__E-p51 .mobile_favourite-modal-mobile-button__7aFOZ {\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n width: 100%;\n height: 50px;\n font-size: 18px;\n font-family: 'Gotham Rounded A', 'Gotham Rounded B', Roboto, Arial, Georgia, serif;\n font-weight: var(--font-weight-medium);\n letter-spacing: -0.5px;\n background: var(--color);\n line-height: 0;\n text-align: center;\n padding: 0;\n margin: 0;\n color: #fff;\n border-width: 0;\n transition: background-color 300ms ease-out;\n border-radius: 25px;\n cursor: pointer; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-save__E-p51 .mobile_favourite-modal-mobile-button__7aFOZ:active, .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-save__E-p51 .mobile_favourite-modal-mobile-button__7aFOZ:focus, .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-save__E-p51 .mobile_favourite-modal-mobile-button__7aFOZ:hover {\n border-color: var(--hover-color);\n background: var(--hover-color);\n color: #fff; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-save__E-p51 .mobile_favourite-modal-mobile-button__7aFOZ.mobile_disabled__NTpua {\n background: #bbb; }\n .mobile_favourite-modal-mobile-container__rahUH .mobile_favourite-modal-mobile-save__E-p51 .mobile_favourite-modal-mobile-button__7aFOZ.mobile_disabled__NTpua:active {\n background: #bbb; }\n\n.mobile_sr-only__24tpU:not(:focus, :active) {\n clip: rect(0 0 0 0);\n -webkit-clip-path: inset(50%);\n clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px; }\n");var M=e=>{var t=e.headerText,o=e.autosuggestComponent,a=e.inputPlaceholder,i=e.specifyName,n=e.name,l=e.chooseIconText,r=e.favouriteIconTable,d=e.saveFavourite,s=e.saveText,c=e.canSave,f=e.color,p=e.hoverColor,m=e.savePlaceText,_=e.cantSaveText,v=e.requiredText,b=e.fontWeights;return u.default.createElement("div",{className:F["favourite-modal-mobile-container"],style:{"--color":`${f}`,"--hover-color":`${p}`,"--font-weight-medium":b.medium}},u.default.createElement("div",{className:F["favourite-modal-mobile-top"]},u.default.createElement("div",{className:F["favourite-modal-mobile-header"]},t)),u.default.createElement("div",{className:F["favourite-modal-mobile-main"]},u.default.createElement("div",{className:F["favourite-modal-mobile-location-search"]},o),u.default.createElement("input",{className:F["favourite-modal-mobile-input"],value:n||"",placeholder:a,onChange:i})),u.default.createElement("div",{className:F["favourite-modal-mobile-text"]},l,u.default.createElement("p",{className:F["sr-only"]},v)),u.default.createElement("div",{className:F["favourite-modal-mobile-icons"]},r),u.default.createElement("div",{className:F["favourite-modal-mobile-save"]},u.default.createElement("button",{type:"button",className:`${F["favourite-modal-mobile-button"]} ${c()?"":F.disabled}`,onClick:d,"aria-label":`${c()?m:_}`},s)))};function Y(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,a)}return o}function D(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?Y(Object(o),!0).forEach((function(t){k(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):Y(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}"production"!==process.env.NODE_ENV&&(M.propTypes={headerText:c.default.string.isRequired,autosuggestComponent:c.default.node.isRequired,inputPlaceholder:c.default.string.isRequired,specifyName:c.default.func.isRequired,name:c.default.string.isRequired,chooseIconText:c.default.string.isRequired,favouriteIconTable:c.default.node.isRequired,saveFavourite:c.default.func.isRequired,saveText:c.default.string.isRequired,canSave:c.default.func.isRequired,color:c.default.string.isRequired,hoverColor:c.default.string.isRequired,savePlaceText:c.default.string.isRequired,cantSaveText:c.default.string.isRequired,requiredText:c.default.string.isRequired,fontWeights:c.default.shape({medium:c.default.number.isRequired}).isRequired}),p.default.init({lng:"fi",fallbackLng:"fi",defaultNS:"translation",interpolation:{escapeValue:!1}}),Object.keys(q).forEach((e=>{p.default.addResourceBundle(e,"translation",q[e])}));var L={"icon-icon_place":"place","icon-icon_home":"home","icon-icon_work":"work","icon-icon_sport":"sport","icon-icon_school":"school","icon-icon_shopping":"shopping"},$=e=>{var o=e.value,a=e.selectedIconId,i=e.handleClick,n=e.color,l=x(t.useState(!1),2),r=l[0],d=l[1],s=x(t.useState(!1),2),c=s[0],m=s[1],_=o===L[a]||r||c?"#ffffff":n;return u.default.createElement("button",{type:"button",className:f.default(E["favourite-icon-table-column"],E[o],o===L[a]&&E["selected-icon"]),onMouseEnter:()=>d(!0),onMouseLeave:()=>d(!1),onFocus:()=>m(!0),onBlur:()=>m(!1),onClick:()=>i(o),"aria-label":p.default.t(o)},u.default.createElement(b.default,{img:o,color:_}))};"production"!==process.env.NODE_ENV&&($.propTypes={handleClick:c.default.func.isRequired,value:c.default.string.isRequired,selectedIconId:c.default.string.isRequired,color:c.default.string.isRequired});var V=e=>{var t=e.favouriteIconIds,o=e.selectedIconId,a=e.handleClick,i=e.color,n=t.map((e=>u.default.createElement($,{key:`favourite-icon-table-${e}`,value:e,selectedIconId:o,handleClick:a,color:i})));return u.default.createElement("div",{className:E["generic-table"]},u.default.createElement("div",{className:E.row},n))};"production"!==process.env.NODE_ENV&&(V.propTypes={handleClick:c.default.func.isRequired,favouriteIconIds:c.default.arrayOf(c.default.string).isRequired,selectedIconId:c.default.string,color:c.default.string.isRequired}),V.defaultProps={selectedIconId:""};class Z extends u.default.Component{constructor(e){super(e),k(this,"specifyName",(e=>{var t=e.target.value;this.setState((e=>({favourite:D(D({},e.favourite),{},{name:t})})))})),k(this,"selectIcon",(e=>{this.setState((t=>({favourite:D(D({},t.favourite),{},{selectedIconId:`icon-icon_${e}`})})))})),k(this,"isEdit",(()=>this.state.favourite&&void 0!==this.state.favourite.favouriteId)),k(this,"canSave",(()=>this.state.favourite&&!m.default(this.state.favourite.selectedIconId)&&_.default(this.state.favourite.lat)&&_.default(this.state.favourite.lon))),k(this,"closeModal",(()=>{this.props.handleClose(),setTimeout((()=>{this.setState({favourite:null})}),250)})),k(this,"cancelSelected",(()=>{this.props.cancelSelected(),setTimeout((()=>{this.setState({favourite:null})}),250)})),k(this,"save",(()=>{if(this.canSave()){var e=m.default(this.state.favourite.name)?this.state.favourite.defaultName:this.state.favourite.name,t=D(D({},this.state.favourite),{},{name:e});delete t.defaultName,this.props.saveFavourite(D(D({},t),{},{type:"place"})),this.props.addAnalyticsEvent&&this.props.addAnalyticsEvent({category:"Favourite",action:"SaveFavourite",name:this.state.favourite.selectedIconId}),this.isEdit()&&this.props.cancelSelected?this.cancelSelected():this.closeModal()}})),p.default.changeLanguage(e.lang),this.state={favourite:null},Object.keys(q).forEach((e=>{p.default.addResourceBundle(e,"translation",q[e])}))}static getDerivedStateFromProps(e,t){var o=t.favourite,a=e.favourite;return m.default(a)?{favourite:null}:m.default(o)&&!m.default(a)?{favourite:D({},a)}:m.default(o)||m.default(a)||a.address===o.address&&a.lat===o.lat&&a.lon===o.lon?null:{favourite:D(D({},o),{},{address:a.address,lat:a.lat,lon:a.lon,gid:a.gid||null,name:o.name||a.name||"",defaultName:a.defaultName})}}componentDidUpdate(){p.default.language!==this.props.lang&&p.default.changeLanguage(this.props.lang)}componentWillUnmount(){this.setState({favourite:null})}render(){var e=this.state.favourite,t=this.props,o=t.color,a=t.hoverColor,i=t.fontWeights,n={headerText:this.isEdit()?p.default.t("edit-place"):p.default.t("save-place"),autosuggestComponent:D(D({},this.props.autosuggestComponent),{},{color:o,hoverColor:a}),inputPlaceholder:p.default.t("input-placeholder"),specifyName:this.specifyName,name:e&&e.name||"",chooseIconText:p.default.t("choose-icon"),favouriteIconTable:u.default.createElement(V,{selectedIconId:(()=>{if(e&&void 0!==e.selectedIconId)return e.selectedIconId})(),favouriteIconIds:Z.favouriteIconIds,handleClick:this.selectIcon,color:o}),saveFavourite:this.save,saveText:p.default.t("save"),canSave:this.canSave,isEdit:this.isEdit(),cancelText:p.default.t("cancel"),cancelSelected:()=>this.cancelSelected(),color:o,hoverColor:a,savePlaceText:p.default.t("save-place"),cantSaveText:p.default.t("cannot-save-place"),requiredText:p.default.t("required-text"),fontWeights:i};return u.default.createElement(v.default,{appElement:this.props.appElement,contentLabel:this.isEdit()?p.default.t("favourite-modal-on-edit",e):p.default.t("favourite-modal-on-add-new"),closeButtonLabel:p.default.t("close-favourite-modal"),variant:this.props.isMobile?"large":"small",isOpen:this.props.isModalOpen,onCrossClick:()=>this.closeModal()},!this.props.isMobile&&u.default.createElement(K,n),this.props.isMobile&&u.default.createElement(M,n))}}k(Z,"defaultProps",{cancelSelected:()=>({}),lang:"fi",isMobile:!1,favourite:null,autosuggestComponent:void 0,addAnalyticsEvent:void 0,color:"#007ac9",hoverColor:"#0062a1",fontWeights:{medium:500}}),k(Z,"favouriteIconIds",["place","home","work","sport","school","shopping"]),"production"!==process.env.NODE_ENV&&(Z.propTypes={isModalOpen:c.default.bool.isRequired,handleClose:c.default.func.isRequired,saveFavourite:c.default.func.isRequired,cancelSelected:c.default.func,autosuggestComponent:c.default.node,favourite:c.default.shape({type:c.default.string,address:c.default.string,gtfsId:c.default.string,gid:c.default.string,lat:c.default.number,lon:c.default.number,name:c.default.string,selectedIconId:c.default.string,favouriteId:c.default.string,layer:c.default.string,defaultName:c.default.string}),addAnalyticsEvent:c.default.func,lang:c.default.string,isMobile:c.default.bool,appElement:c.default.string.isRequired,color:c.default.string,hoverColor:c.default.string,fontWeights:c.default.shape({medium:c.default.number})}),e.default=Z,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../node_modules/@babel/runtime/helpers/esm/extends.js","../../../../node_modules/style-inject/dist/style-inject.es.js","../src/helpers/translations.js","../src/helpers/DesktopModal.js","../src/helpers/MobileModal.js","../src/index.js"],"sourcesContent":["export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","const translations = {\n de: {\n cancel: 'Abbrechen',\n 'choose-icon': 'Wählen Sie ein Symbol für diesen Ort',\n 'close-favourite-modal': 'Favoriten-Dialog schließen',\n 'edit-place': 'Ort bearbeiten',\n 'favourite-modal-on-add-new': 'Neuen Favoriten hinzufügen',\n 'favourite-modal-on-edit': 'Favorit bearbeiten: {{favourite.name}}',\n 'input-placeholder': 'Einen Namen für Ort setzen (optional)',\n save: 'Speichern',\n 'save-place': 'Favorit speichern',\n },\n en: {\n cancel: 'Cancel',\n 'choose-icon': \"Select the place's icon\",\n 'close-favourite-modal': 'Close the favourite modal',\n 'edit-place': 'Edit place',\n 'favourite-modal-on-add-new': 'Add a new favorite',\n 'favourite-modal-on-edit': 'Editing favourite: {{favourite.name}}',\n 'input-placeholder': 'Give the name a place (optional)',\n save: 'Save',\n 'save-place': 'Save place',\n 'cannot-save-place': 'Cannot save a place without address or icon',\n place: 'a place',\n home: 'home',\n work: 'work',\n sport: 'sport',\n school: 'school',\n shopping: 'shopping',\n 'required-text': 'required field',\n },\n fi: {\n cancel: 'Peruuta',\n 'choose-icon': 'Valitse paikan kuvake',\n 'close-favourite-modal': 'Sulje suosikkimodaali',\n 'edit-place': 'Muokkaa paikkaa',\n 'favourite-modal-on-add-new': 'Lisää uusi suosikki',\n 'favourite-modal-on-edit': 'Muokkaa suosikkia {{favourite.name}}',\n 'input-placeholder': 'Anna paikalle nimi (vapaaehtoinen)',\n save: 'Tallenna',\n 'save-place': 'Tallenna paikka',\n 'cannot-save-place':\n 'Paikkaa ilman osoitetta tai ikonia ei voida tallentaa',\n place: 'paikka',\n home: 'koti',\n work: 'työ',\n sport: 'urheilu',\n school: 'koulu',\n shopping: 'ostokset',\n 'required-text': 'pakollinen kenttä',\n },\n sv: {\n cancel: 'Avbryt',\n 'choose-icon': 'Välj platsens ikon',\n 'close-favourite-modal': 'Stäng favoritmodalen',\n 'edit-place': 'Redigera plats',\n 'favourite-modal-on-add-new': 'Lägg till ny favorit',\n 'favourite-modal-on-edit': 'Redigera platsen: {{favourite.name}}',\n 'input-placeholder': 'Ange platsens namn (frivilligt)',\n save: 'Spara',\n 'save-place': 'Spara plats',\n 'cannot-save-place':\n 'Det går inte att spara en plats utan adress eller ikon',\n place: 'en plats',\n home: 'hem',\n work: 'arbete',\n sport: 'sport',\n school: 'skola',\n shopping: 'shoppa',\n 'required-field': 'obligatoriskt fält',\n },\n};\n\nexport default translations;\n","/* eslint-disable jsx-a11y/click-events-have-key-events */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport cx from 'classnames';\nimport styles from './desktop.scss';\n\nconst DesktopModal = ({\n headerText,\n autosuggestComponent,\n inputPlaceholder,\n specifyName,\n name,\n chooseIconText,\n favouriteIconTable,\n saveFavourite,\n saveText,\n canSave,\n isEdit,\n cancelText,\n cancelSelected,\n color,\n hoverColor,\n savePlaceText,\n cantSaveText,\n requiredText,\n fontWeights,\n}) => {\n return (\n <div\n className={styles['favourite-modal-desktop-container']}\n style={{\n '--color': `${color}`,\n '--hover-color': `${hoverColor}`,\n '--font-weight-medium': fontWeights.medium,\n }}\n >\n <div className={styles['favourite-modal-desktop-top']}>\n <div className={styles['favourite-modal-desktop-header']}>\n {headerText}\n </div>\n </div>\n <div className={styles['favourite-modal-desktop-main']}>\n <div className={styles['favourite-modal-desktop-location-search']}>\n {autosuggestComponent}\n </div>\n <div className={styles['favourite-modal-desktop-name']}>\n <input\n aria-label={inputPlaceholder}\n className={styles['favourite-modal-desktop-input']}\n value={name}\n placeholder={inputPlaceholder}\n onChange={specifyName}\n />\n </div>\n </div>\n <fieldset className={styles['icons-container']}>\n <legend className={styles['favourite-modal-desktop-text']}>\n {chooseIconText}\n <p className={styles['sr-only']}>{requiredText}</p>\n </legend>\n <div className={styles['favourite-modal-desktop-icons']}>\n {favouriteIconTable}\n </div>\n </fieldset>\n <div className={styles['favourite-modal-desktop-buttons']}>\n <button\n type=\"button\"\n className={cx(\n `${styles['favourite-modal-desktop-button']} ${styles.save} ${\n canSave() ? '' : styles.disabled\n }`,\n )}\n onClick={saveFavourite}\n aria-label={`${canSave() ? savePlaceText : cantSaveText}`}\n aria-disabled={!canSave()}\n >\n {saveText}\n </button>\n {isEdit && (\n <button\n type=\"button\"\n className={cx(\n `${styles['favourite-modal-desktop-button']} ${styles.edit} ${\n canSave() ? '' : styles.disabled\n }`,\n )}\n onClick={cancelSelected}\n >\n {cancelText}\n </button>\n )}\n </div>\n </div>\n );\n};\n\nDesktopModal.propTypes = {\n headerText: PropTypes.string.isRequired,\n autosuggestComponent: PropTypes.node.isRequired,\n inputPlaceholder: PropTypes.string.isRequired,\n specifyName: PropTypes.func.isRequired,\n name: PropTypes.string.isRequired,\n chooseIconText: PropTypes.string.isRequired,\n favouriteIconTable: PropTypes.node.isRequired,\n saveFavourite: PropTypes.func.isRequired,\n saveText: PropTypes.string.isRequired,\n canSave: PropTypes.func.isRequired,\n isEdit: PropTypes.bool,\n cancelText: PropTypes.string.isRequired,\n cancelSelected: PropTypes.func,\n color: PropTypes.string.isRequired,\n hoverColor: PropTypes.string.isRequired,\n savePlaceText: PropTypes.string.isRequired,\n cantSaveText: PropTypes.string.isRequired,\n requiredText: PropTypes.string.isRequired,\n fontWeights: PropTypes.shape({\n medium: PropTypes.number.isRequired,\n }).isRequired,\n};\n\nDesktopModal.defaultProps = {\n isEdit: false,\n cancelSelected: () => ({}),\n};\n\nexport default DesktopModal;\n","/* eslint-disable jsx-a11y/click-events-have-key-events */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport cx from 'classnames';\nimport styles from './mobile.scss';\n\nconst MobileModal = ({\n headerText,\n autosuggestComponent,\n inputPlaceholder,\n specifyName,\n name,\n chooseIconText,\n favouriteIconTable,\n saveFavourite,\n saveText,\n canSave,\n color,\n hoverColor,\n savePlaceText,\n cantSaveText,\n requiredText,\n fontWeights,\n}) => {\n return (\n <div\n className={styles['favourite-modal-mobile-container']}\n style={{\n '--color': `${color}`,\n '--hover-color': `${hoverColor}`,\n '--font-weight-medium': fontWeights.medium,\n }}\n >\n <div className={styles['favourite-modal-mobile-top']}>\n <div className={styles['favourite-modal-mobile-header']}>\n {headerText}\n </div>\n </div>\n <div className={styles['favourite-modal-mobile-main']}>\n <div className={styles['favourite-modal-mobile-location-search']}>\n {autosuggestComponent}\n </div>\n <input\n className={styles['favourite-modal-mobile-input']}\n value={name || ''}\n placeholder={inputPlaceholder}\n onChange={specifyName}\n />\n </div>\n <div className={styles['favourite-modal-mobile-text']}>\n {chooseIconText}\n <p className={styles['sr-only']}>{requiredText}</p>\n </div>\n <div className={styles['favourite-modal-mobile-icons']}>\n {favouriteIconTable}\n </div>\n <div className={styles['favourite-modal-mobile-save']}>\n <button\n type=\"button\"\n className={cx(\n `${styles['favourite-modal-mobile-button']} ${\n canSave() ? '' : styles.disabled\n }`,\n )}\n onClick={saveFavourite}\n aria-label={`${canSave() ? savePlaceText : cantSaveText}`}\n >\n {saveText}\n </button>\n </div>\n </div>\n );\n};\n\nMobileModal.propTypes = {\n headerText: PropTypes.string.isRequired,\n autosuggestComponent: PropTypes.node.isRequired,\n inputPlaceholder: PropTypes.string.isRequired,\n specifyName: PropTypes.func.isRequired,\n name: PropTypes.string.isRequired,\n chooseIconText: PropTypes.string.isRequired,\n favouriteIconTable: PropTypes.node.isRequired,\n saveFavourite: PropTypes.func.isRequired,\n saveText: PropTypes.string.isRequired,\n canSave: PropTypes.func.isRequired,\n color: PropTypes.string.isRequired,\n hoverColor: PropTypes.string.isRequired,\n savePlaceText: PropTypes.string.isRequired,\n cantSaveText: PropTypes.string.isRequired,\n requiredText: PropTypes.string.isRequired,\n fontWeights: PropTypes.shape({\n medium: PropTypes.number.isRequired,\n }).isRequired,\n};\n\nexport default MobileModal;\n","/* eslint-disable jsx-a11y/click-events-have-key-events */\nimport React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport cx from 'classnames';\nimport i18next from 'i18next';\nimport isEmpty from 'lodash/isEmpty';\nimport isNumber from 'lodash/isNumber';\nimport Modal from '@hsl-fi/modal';\nimport Icon from '@digitransit-component/digitransit-component-icon';\nimport styles from './helpers/styles.scss';\nimport translations from './helpers/translations';\nimport DesktopModal from './helpers/DesktopModal';\nimport MobileModal from './helpers/MobileModal';\n\ni18next.init({\n lng: 'fi',\n fallbackLng: 'fi',\n defaultNS: 'translation',\n interpolation: {\n escapeValue: false, // not needed for react as it escapes by default\n },\n});\n\nObject.keys(translations).forEach(lang => {\n i18next.addResourceBundle(lang, 'translation', translations[lang]);\n});\n\nconst FavouriteIconIdToNameMap = {\n 'icon-icon_place': 'place',\n 'icon-icon_home': 'home',\n 'icon-icon_work': 'work',\n 'icon-icon_sport': 'sport',\n 'icon-icon_school': 'school',\n 'icon-icon_shopping': 'shopping',\n};\n\nconst FavouriteIconTableButton = ({\n value,\n selectedIconId,\n handleClick,\n color,\n}) => {\n const [isHovered, setHover] = useState(false);\n const [isFocused, setFocus] = useState(false);\n const iconColor =\n value === FavouriteIconIdToNameMap[selectedIconId] || isHovered || isFocused\n ? '#ffffff'\n : color;\n return (\n <button\n type=\"button\"\n className={cx(styles['favourite-icon-table-column'], styles[value], {\n [styles['selected-icon']]:\n value === FavouriteIconIdToNameMap[selectedIconId],\n })}\n onMouseEnter={() => setHover(true)}\n onMouseLeave={() => setHover(false)}\n onFocus={() => setFocus(true)}\n onBlur={() => setFocus(false)}\n onClick={() => handleClick(value)}\n aria-label={i18next.t(value)}\n >\n <Icon img={value} color={iconColor} />\n </button>\n );\n};\n\nFavouriteIconTableButton.propTypes = {\n handleClick: PropTypes.func.isRequired,\n value: PropTypes.string,\n selectedIconId: PropTypes.string,\n color: PropTypes.string.isRequired,\n};\n\nconst FavouriteIconTable = ({\n favouriteIconIds,\n selectedIconId,\n handleClick,\n color,\n}) => {\n const columns = favouriteIconIds.map(value => (\n <FavouriteIconTableButton\n key={`favourite-icon-table-${value}`}\n value={value}\n selectedIconId={selectedIconId}\n handleClick={handleClick}\n color={color}\n />\n ));\n\n return (\n <div className={styles['generic-table']}>\n <div className={styles.row}>{columns}</div>\n </div>\n );\n};\n\nFavouriteIconTable.propTypes = {\n handleClick: PropTypes.func.isRequired,\n favouriteIconIds: PropTypes.array,\n selectedIconId: PropTypes.string,\n color: PropTypes.string.isRequired,\n};\n\n/**\n * @example\n * <FavouriteModal\n * show={modalOpen}\n * handleClose={handleClose}\n * saveFavourite={onSaveFavourite}\n * location={selectedLocation}\n * favourite={favourite}\n * lang={lang}\n * autosuggestComponent={\n * <AutoSuggest\n * sources={['History', 'Datasource']}\n * targets={['Locations', 'CurrentPosition']}\n * id=\"favourite\"\n * autoFocus={false}\n * placeholder=\"search-address-or-place\"\n * value={selectedLocation.address || ''}\n * onFavouriteSelected={this.setLocationProperties}\n * lang={lang}\n * />\n * }\n * />\n */\nclass FavouriteModal extends React.Component {\n static propTypes = {\n isModalOpen: PropTypes.bool.isRequired,\n /** Required.\n * @type{function} */\n handleClose: PropTypes.func.isRequired,\n /** Required.\n * @type{function} */\n saveFavourite: PropTypes.func.isRequired,\n /** Required. Only used when editing favourite.\n * @type{function} */\n cancelSelected: PropTypes.func,\n /** Optional.\n * Autosuggest component for searching new favourites.\n * @type{node}\n */\n autosuggestComponent: PropTypes.node,\n /** Optional.\n * Object to prefill input field for name and/or selected icon.\n * @type {object}\n * @property {string} type\n * @property {string} address\n * @property {string} gtfsId\n * @property {string} gid\n * @property {number} lat\n * @property {number} lon\n * @property {string} name\n * @property {string} selectedIconId\n * @property {string} favouriteId\n * @property {string} layer\n * @property {string} defaultName\n */\n favourite: PropTypes.shape({\n type: PropTypes.string,\n address: PropTypes.string,\n gtfsId: PropTypes.string,\n gid: PropTypes.string,\n lat: PropTypes.number,\n lon: PropTypes.number,\n name: PropTypes.string,\n selectedIconId: PropTypes.string,\n favouriteId: PropTypes.string,\n layer: PropTypes.string,\n defaultName: PropTypes.string,\n }),\n /** Optional.\n * @type {function} */\n addAnalyticsEvent: PropTypes.func,\n /** Optional. Language, fi, en or sv.\n * @type {string} */\n lang: PropTypes.string,\n /** Optional. */\n isMobile: PropTypes.bool,\n appElement: PropTypes.string.isRequired,\n color: PropTypes.string,\n hoverColor: PropTypes.string,\n /** Optional. */\n fontWeights: PropTypes.shape({\n /** Default value is 500. */\n medium: PropTypes.number,\n }),\n };\n\n static defaultProps = {\n cancelSelected: () => ({}),\n lang: 'fi',\n isMobile: false,\n favourite: null,\n color: '#007ac9',\n hoverColor: '#0062a1',\n fontWeights: {\n medium: 500,\n },\n };\n\n static favouriteIconIds = [\n 'place',\n 'home',\n 'work',\n 'sport',\n 'school',\n 'shopping',\n ];\n\n constructor(props) {\n super(props);\n i18next.changeLanguage(props.lang);\n this.state = {\n favourite: null,\n };\n Object.keys(translations).forEach(lang => {\n i18next.addResourceBundle(lang, 'translation', translations[lang]);\n });\n }\n\n static getDerivedStateFromProps = (nextProps, prevState) => {\n const prevFav = prevState.favourite;\n const nextFav = nextProps.favourite;\n\n if (isEmpty(nextFav)) {\n return {\n favourite: null,\n };\n }\n\n if (isEmpty(prevFav) && !isEmpty(nextFav)) {\n return {\n favourite: {\n ...nextFav,\n },\n };\n }\n if (\n !isEmpty(prevFav) &&\n !isEmpty(nextFav) &&\n (nextFav.address !== prevFav.address ||\n nextFav.lat !== prevFav.lat ||\n nextFav.lon !== prevFav.lon)\n ) {\n return {\n favourite: {\n ...prevFav,\n address: nextFav.address,\n lat: nextFav.lat,\n lon: nextFav.lon,\n gid: nextFav.gid || null,\n name: prevFav.name || nextFav.name || '',\n defaultName: nextFav.defaultName,\n },\n };\n }\n return null;\n };\n\n componentDidUpdate = () => {\n if (i18next.language !== this.props.lang) {\n i18next.changeLanguage(this.props.lang);\n }\n };\n\n componentWillUnmount = () => {\n this.setState({ favourite: null });\n };\n\n specifyName = event => {\n const name = event.target.value;\n this.setState(prevState => ({\n favourite: { ...prevState.favourite, name },\n }));\n };\n\n selectIcon = id => {\n this.setState(prevState => ({\n favourite: {\n ...prevState.favourite,\n selectedIconId: `icon-icon_${id}`,\n },\n }));\n };\n\n isEdit = () =>\n this.state.favourite && this.state.favourite.favouriteId !== undefined;\n\n canSave = () =>\n this.state.favourite &&\n !isEmpty(this.state.favourite.selectedIconId) &&\n isNumber(this.state.favourite.lat) &&\n isNumber(this.state.favourite.lon);\n\n closeModal = () => {\n this.props.handleClose();\n // hsl-fi/modal close animation lasts 250ms\n setTimeout(() => {\n this.setState({ favourite: null });\n }, 250);\n };\n\n cancelSelected = () => {\n this.props.cancelSelected();\n // hsl-fi/modal close animation lasts 250ms\n setTimeout(() => {\n this.setState({ favourite: null });\n }, 250);\n };\n\n save = () => {\n if (this.canSave()) {\n const name = isEmpty(this.state.favourite.name)\n ? this.state.favourite.defaultName\n : this.state.favourite.name;\n\n const favourite = { ...this.state.favourite, name };\n delete favourite.defaultName;\n this.props.saveFavourite({ ...favourite, type: 'place' });\n if (this.props.addAnalyticsEvent) {\n this.props.addAnalyticsEvent({\n category: 'Favourite',\n action: 'SaveFavourite',\n name: this.state.favourite.selectedIconId,\n });\n }\n if (this.isEdit() && this.props.cancelSelected) {\n this.cancelSelected();\n } else {\n this.closeModal();\n }\n }\n };\n\n render = () => {\n const { favourite } = this.state;\n const { color, hoverColor, fontWeights } = this.props;\n const headerText = this.isEdit()\n ? i18next.t('edit-place')\n : i18next.t('save-place');\n const modalProps = {\n headerText,\n autosuggestComponent: {\n ...this.props.autosuggestComponent,\n color,\n hoverColor,\n },\n inputPlaceholder: i18next.t('input-placeholder'),\n specifyName: this.specifyName,\n name: (favourite && favourite.name) || '',\n chooseIconText: i18next.t('choose-icon'),\n favouriteIconTable: (\n <FavouriteIconTable\n selectedIconId={(() => {\n if ((favourite && favourite.selectedIconId !== undefined) || null) {\n return favourite.selectedIconId;\n }\n return undefined;\n })()}\n favouriteIconIds={FavouriteModal.favouriteIconIds}\n handleClick={this.selectIcon}\n color={color}\n />\n ),\n saveFavourite: this.save,\n saveText: i18next.t('save'),\n canSave: this.canSave,\n isEdit: this.isEdit(),\n cancelText: i18next.t('cancel'),\n cancelSelected: () => this.cancelSelected(),\n color,\n hoverColor,\n savePlaceText: i18next.t('save-place'),\n cantSaveText: i18next.t('cannot-save-place'),\n requiredText: i18next.t('required-text'),\n fontWeights,\n };\n return (\n <Modal\n appElement={this.props.appElement}\n contentLabel={\n this.isEdit()\n ? i18next.t('favourite-modal-on-edit', favourite)\n : i18next.t('favourite-modal-on-add-new')\n }\n closeButtonLabel={i18next.t('close-favourite-modal')}\n variant={!this.props.isMobile ? 'small' : 'large'}\n isOpen={this.props.isModalOpen}\n onCrossClick={() => this.closeModal()}\n >\n {!this.props.isMobile && <DesktopModal {...modalProps} />}\n {this.props.isMobile && <MobileModal {...modalProps} />}\n </Modal>\n );\n };\n}\n\nexport default FavouriteModal;\n"],"names":["_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","styleInject","css","ref","insertAt","document","head","getElementsByTagName","style","createElement","type","firstChild","insertBefore","appendChild","styleSheet","cssText","createTextNode","translations","de","cancel","save","en","place","home","work","sport","school","shopping","fi","sv","DesktopModal","headerText","autosuggestComponent","inputPlaceholder","specifyName","name","chooseIconText","favouriteIconTable","saveFavourite","saveText","canSave","isEdit","cancelText","cancelSelected","color","hoverColor","savePlaceText","cantSaveText","requiredText","fontWeights","React","className","styles","medium","value","placeholder","onChange","onClick","process","env","NODE_ENV","propTypes","PropTypes","string","isRequired","node","func","bool","shape","number","defaultProps","MobileModal","disabled","init","lng","fallbackLng","defaultNS","interpolation","escapeValue","keys","forEach","lang","i18next","addResourceBundle","FavouriteIconIdToNameMap","FavouriteIconTableButton","selectedIconId","handleClick","isHovered","setHover","useState","isFocused","setFocus","iconColor","cx","onMouseEnter","onMouseLeave","onFocus","onBlur","t","Icon","img","FavouriteIconTable","favouriteIconIds","columns","map","row","array","FavouriteModal","Component","constructor","props","super","componentDidUpdate","language","changeLanguage","componentWillUnmount","setState","favourite","event","prevState","selectIcon","id","state","undefined","favouriteId","isEmpty","isNumber","lat","lon","closeModal","handleClose","setTimeout","defaultName","addAnalyticsEvent","category","action","render","modalProps","Modal","appElement","contentLabel","closeButtonLabel","variant","isMobile","isOpen","isModalOpen","onCrossClick","getDerivedStateFromProps","nextProps","prevFav","nextFav","address","gid","gtfsId","layer"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../node_modules/@babel/runtime/helpers/esm/typeof.js","../../../../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../../../../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../../../../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../../../../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../../../../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../../../../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../../../../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../../../../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../../../../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../../../../node_modules/style-inject/dist/style-inject.es.js","../src/helpers/translations.js","../src/helpers/DesktopModal.js","../src/helpers/MobileModal.js","../src/index.js"],"sourcesContent":["export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : String(i);\n}","import _typeof from \"./typeof.js\";\nexport default function toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","const translations = {\n de: {\n cancel: 'Abbrechen',\n 'choose-icon': 'Wählen Sie ein Symbol für diesen Ort',\n 'close-favourite-modal': 'Favoriten-Dialog schließen',\n 'edit-place': 'Ort bearbeiten',\n 'favourite-modal-on-add-new': 'Neuen Favoriten hinzufügen',\n 'favourite-modal-on-edit': 'Favorit bearbeiten: {{favourite.name}}',\n 'input-placeholder': 'Einen Namen für Ort setzen (optional)',\n save: 'Speichern',\n 'save-place': 'Favorit speichern',\n },\n en: {\n cancel: 'Cancel',\n 'choose-icon': \"Select the place's icon\",\n 'close-favourite-modal': 'Close the favourite modal',\n 'edit-place': 'Edit place',\n 'favourite-modal-on-add-new': 'Add a new favorite',\n 'favourite-modal-on-edit': 'Editing favourite: {{favourite.name}}',\n 'input-placeholder': 'Give the name a place (optional)',\n save: 'Save',\n 'save-place': 'Save place',\n 'cannot-save-place': 'Cannot save a place without address or icon',\n place: 'a place',\n home: 'home',\n work: 'work',\n sport: 'sport',\n school: 'school',\n shopping: 'shopping',\n 'required-text': 'required field',\n },\n fi: {\n cancel: 'Peruuta',\n 'choose-icon': 'Valitse paikan kuvake',\n 'close-favourite-modal': 'Sulje suosikkimodaali',\n 'edit-place': 'Muokkaa paikkaa',\n 'favourite-modal-on-add-new': 'Lisää uusi suosikki',\n 'favourite-modal-on-edit': 'Muokkaa suosikkia {{favourite.name}}',\n 'input-placeholder': 'Anna paikalle nimi (vapaaehtoinen)',\n save: 'Tallenna',\n 'save-place': 'Tallenna paikka',\n 'cannot-save-place':\n 'Paikkaa ilman osoitetta tai ikonia ei voida tallentaa',\n place: 'paikka',\n home: 'koti',\n work: 'työ',\n sport: 'urheilu',\n school: 'koulu',\n shopping: 'ostokset',\n 'required-text': 'pakollinen kenttä',\n },\n sv: {\n cancel: 'Avbryt',\n 'choose-icon': 'Välj platsens ikon',\n 'close-favourite-modal': 'Stäng favoritmodalen',\n 'edit-place': 'Redigera plats',\n 'favourite-modal-on-add-new': 'Lägg till ny favorit',\n 'favourite-modal-on-edit': 'Redigera platsen: {{favourite.name}}',\n 'input-placeholder': 'Ange platsens namn (frivilligt)',\n save: 'Spara',\n 'save-place': 'Spara plats',\n 'cannot-save-place':\n 'Det går inte att spara en plats utan adress eller ikon',\n place: 'en plats',\n home: 'hem',\n work: 'arbete',\n sport: 'sport',\n school: 'skola',\n shopping: 'shoppa',\n 'required-field': 'obligatoriskt fält',\n },\n};\n\nexport default translations;\n","/* eslint-disable jsx-a11y/click-events-have-key-events */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport cx from 'classnames';\nimport styles from './desktop.scss';\n\nconst DesktopModal = ({\n headerText,\n autosuggestComponent,\n inputPlaceholder,\n specifyName,\n name,\n chooseIconText,\n favouriteIconTable,\n saveFavourite,\n saveText,\n canSave,\n isEdit,\n cancelText,\n cancelSelected,\n color,\n hoverColor,\n savePlaceText,\n cantSaveText,\n requiredText,\n fontWeights,\n}) => {\n return (\n <div\n className={styles['favourite-modal-desktop-container']}\n style={{\n '--color': `${color}`,\n '--hover-color': `${hoverColor}`,\n '--font-weight-medium': fontWeights.medium,\n }}\n >\n <div className={styles['favourite-modal-desktop-top']}>\n <div className={styles['favourite-modal-desktop-header']}>\n {headerText}\n </div>\n </div>\n <div className={styles['favourite-modal-desktop-main']}>\n <div className={styles['favourite-modal-desktop-location-search']}>\n {autosuggestComponent}\n </div>\n <div className={styles['favourite-modal-desktop-name']}>\n <input\n aria-label={inputPlaceholder}\n className={styles['favourite-modal-desktop-input']}\n value={name}\n placeholder={inputPlaceholder}\n onChange={specifyName}\n />\n </div>\n </div>\n <fieldset className={styles['icons-container']}>\n <legend className={styles['favourite-modal-desktop-text']}>\n {chooseIconText}\n <p className={styles['sr-only']}>{requiredText}</p>\n </legend>\n <div className={styles['favourite-modal-desktop-icons']}>\n {favouriteIconTable}\n </div>\n </fieldset>\n <div className={styles['favourite-modal-desktop-buttons']}>\n <button\n type=\"button\"\n className={cx(\n `${styles['favourite-modal-desktop-button']} ${styles.save} ${\n canSave() ? '' : styles.disabled\n }`,\n )}\n onClick={saveFavourite}\n aria-label={`${canSave() ? savePlaceText : cantSaveText}`}\n aria-disabled={!canSave()}\n >\n {saveText}\n </button>\n {isEdit && (\n <button\n type=\"button\"\n className={cx(\n `${styles['favourite-modal-desktop-button']} ${styles.edit} ${\n canSave() ? '' : styles.disabled\n }`,\n )}\n onClick={cancelSelected}\n >\n {cancelText}\n </button>\n )}\n </div>\n </div>\n );\n};\n\nDesktopModal.propTypes = {\n headerText: PropTypes.string.isRequired,\n autosuggestComponent: PropTypes.node.isRequired,\n inputPlaceholder: PropTypes.string.isRequired,\n specifyName: PropTypes.func.isRequired,\n name: PropTypes.string.isRequired,\n chooseIconText: PropTypes.string.isRequired,\n favouriteIconTable: PropTypes.node.isRequired,\n saveFavourite: PropTypes.func.isRequired,\n saveText: PropTypes.string.isRequired,\n canSave: PropTypes.func.isRequired,\n isEdit: PropTypes.bool,\n cancelText: PropTypes.string.isRequired,\n cancelSelected: PropTypes.func,\n color: PropTypes.string.isRequired,\n hoverColor: PropTypes.string.isRequired,\n savePlaceText: PropTypes.string.isRequired,\n cantSaveText: PropTypes.string.isRequired,\n requiredText: PropTypes.string.isRequired,\n fontWeights: PropTypes.shape({\n medium: PropTypes.number.isRequired,\n }).isRequired,\n};\n\nDesktopModal.defaultProps = {\n isEdit: false,\n cancelSelected: () => ({}),\n};\n\nexport default DesktopModal;\n","/* eslint-disable jsx-a11y/click-events-have-key-events */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport cx from 'classnames';\nimport styles from './mobile.scss';\n\nconst MobileModal = ({\n headerText,\n autosuggestComponent,\n inputPlaceholder,\n specifyName,\n name,\n chooseIconText,\n favouriteIconTable,\n saveFavourite,\n saveText,\n canSave,\n color,\n hoverColor,\n savePlaceText,\n cantSaveText,\n requiredText,\n fontWeights,\n}) => {\n return (\n <div\n className={styles['favourite-modal-mobile-container']}\n style={{\n '--color': `${color}`,\n '--hover-color': `${hoverColor}`,\n '--font-weight-medium': fontWeights.medium,\n }}\n >\n <div className={styles['favourite-modal-mobile-top']}>\n <div className={styles['favourite-modal-mobile-header']}>\n {headerText}\n </div>\n </div>\n <div className={styles['favourite-modal-mobile-main']}>\n <div className={styles['favourite-modal-mobile-location-search']}>\n {autosuggestComponent}\n </div>\n <input\n className={styles['favourite-modal-mobile-input']}\n value={name || ''}\n placeholder={inputPlaceholder}\n onChange={specifyName}\n />\n </div>\n <div className={styles['favourite-modal-mobile-text']}>\n {chooseIconText}\n <p className={styles['sr-only']}>{requiredText}</p>\n </div>\n <div className={styles['favourite-modal-mobile-icons']}>\n {favouriteIconTable}\n </div>\n <div className={styles['favourite-modal-mobile-save']}>\n <button\n type=\"button\"\n className={cx(\n `${styles['favourite-modal-mobile-button']} ${\n canSave() ? '' : styles.disabled\n }`,\n )}\n onClick={saveFavourite}\n aria-label={`${canSave() ? savePlaceText : cantSaveText}`}\n >\n {saveText}\n </button>\n </div>\n </div>\n );\n};\n\nMobileModal.propTypes = {\n headerText: PropTypes.string.isRequired,\n autosuggestComponent: PropTypes.node.isRequired,\n inputPlaceholder: PropTypes.string.isRequired,\n specifyName: PropTypes.func.isRequired,\n name: PropTypes.string.isRequired,\n chooseIconText: PropTypes.string.isRequired,\n favouriteIconTable: PropTypes.node.isRequired,\n saveFavourite: PropTypes.func.isRequired,\n saveText: PropTypes.string.isRequired,\n canSave: PropTypes.func.isRequired,\n color: PropTypes.string.isRequired,\n hoverColor: PropTypes.string.isRequired,\n savePlaceText: PropTypes.string.isRequired,\n cantSaveText: PropTypes.string.isRequired,\n requiredText: PropTypes.string.isRequired,\n fontWeights: PropTypes.shape({\n medium: PropTypes.number.isRequired,\n }).isRequired,\n};\n\nexport default MobileModal;\n","/* eslint-disable jsx-a11y/click-events-have-key-events */\nimport React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport cx from 'classnames';\nimport i18next from 'i18next';\nimport isEmpty from 'lodash/isEmpty';\nimport isNumber from 'lodash/isNumber';\nimport Modal from '@hsl-fi/modal';\nimport Icon from '@digitransit-component/digitransit-component-icon';\nimport styles from './helpers/styles.scss';\nimport translations from './helpers/translations';\nimport DesktopModal from './helpers/DesktopModal';\nimport MobileModal from './helpers/MobileModal';\n\ni18next.init({\n lng: 'fi',\n fallbackLng: 'fi',\n defaultNS: 'translation',\n interpolation: {\n escapeValue: false, // not needed for react as it escapes by default\n },\n});\n\nObject.keys(translations).forEach(lang => {\n i18next.addResourceBundle(lang, 'translation', translations[lang]);\n});\n\nconst FavouriteIconIdToNameMap = {\n 'icon-icon_place': 'place',\n 'icon-icon_home': 'home',\n 'icon-icon_work': 'work',\n 'icon-icon_sport': 'sport',\n 'icon-icon_school': 'school',\n 'icon-icon_shopping': 'shopping',\n};\n\nconst FavouriteIconTableButton = ({\n value,\n selectedIconId,\n handleClick,\n color,\n}) => {\n const [isHovered, setHover] = useState(false);\n const [isFocused, setFocus] = useState(false);\n const iconColor =\n value === FavouriteIconIdToNameMap[selectedIconId] || isHovered || isFocused\n ? '#ffffff'\n : color;\n return (\n <button\n type=\"button\"\n className={cx(styles['favourite-icon-table-column'], styles[value], {\n [styles['selected-icon']]:\n value === FavouriteIconIdToNameMap[selectedIconId],\n })}\n onMouseEnter={() => setHover(true)}\n onMouseLeave={() => setHover(false)}\n onFocus={() => setFocus(true)}\n onBlur={() => setFocus(false)}\n onClick={() => handleClick(value)}\n aria-label={i18next.t(value)}\n >\n <Icon img={value} color={iconColor} />\n </button>\n );\n};\n\nFavouriteIconTableButton.propTypes = {\n handleClick: PropTypes.func.isRequired,\n value: PropTypes.string.isRequired,\n selectedIconId: PropTypes.string.isRequired,\n color: PropTypes.string.isRequired,\n};\n\nconst FavouriteIconTable = ({\n favouriteIconIds,\n selectedIconId,\n handleClick,\n color,\n}) => {\n const columns = favouriteIconIds.map(value => (\n <FavouriteIconTableButton\n key={`favourite-icon-table-${value}`}\n value={value}\n selectedIconId={selectedIconId}\n handleClick={handleClick}\n color={color}\n />\n ));\n\n return (\n <div className={styles['generic-table']}>\n <div className={styles.row}>{columns}</div>\n </div>\n );\n};\n\nFavouriteIconTable.propTypes = {\n handleClick: PropTypes.func.isRequired,\n favouriteIconIds: PropTypes.arrayOf(PropTypes.string).isRequired,\n selectedIconId: PropTypes.string,\n color: PropTypes.string.isRequired,\n};\n\nFavouriteIconTable.defaultProps = {\n selectedIconId: '',\n};\n\n/**\n * @example\n * <FavouriteModal\n * show={modalOpen}\n * handleClose={handleClose}\n * saveFavourite={onSaveFavourite}\n * location={selectedLocation}\n * favourite={favourite}\n * lang={lang}\n * autosuggestComponent={\n * <AutoSuggest\n * sources={['History', 'Datasource']}\n * targets={['Locations', 'CurrentPosition']}\n * id=\"favourite\"\n * autoFocus={false}\n * placeholder=\"search-address-or-place\"\n * value={selectedLocation.address || ''}\n * onFavouriteSelected={this.setLocationProperties}\n * lang={lang}\n * />\n * }\n * />\n */\nclass FavouriteModal extends React.Component {\n static propTypes = {\n isModalOpen: PropTypes.bool.isRequired,\n /** Required.\n * @type{function} */\n handleClose: PropTypes.func.isRequired,\n /** Required.\n * @type{function} */\n saveFavourite: PropTypes.func.isRequired,\n /** Required. Only used when editing favourite.\n * @type{function} */\n cancelSelected: PropTypes.func,\n /** Optional.\n * Autosuggest component for searching new favourites.\n * @type{node}\n */\n autosuggestComponent: PropTypes.node,\n /** Optional.\n * Object to prefill input field for name and/or selected icon.\n * @type {object}\n * @property {string} type\n * @property {string} address\n * @property {string} gtfsId\n * @property {string} gid\n * @property {number} lat\n * @property {number} lon\n * @property {string} name\n * @property {string} selectedIconId\n * @property {string} favouriteId\n * @property {string} layer\n * @property {string} defaultName\n */\n favourite: PropTypes.shape({\n type: PropTypes.string,\n address: PropTypes.string,\n gtfsId: PropTypes.string,\n gid: PropTypes.string,\n lat: PropTypes.number,\n lon: PropTypes.number,\n name: PropTypes.string,\n selectedIconId: PropTypes.string,\n favouriteId: PropTypes.string,\n layer: PropTypes.string,\n defaultName: PropTypes.string,\n }),\n /** Optional.\n * @type {function} */\n addAnalyticsEvent: PropTypes.func,\n /** Optional. Language, fi, en or sv.\n * @type {string} */\n lang: PropTypes.string,\n /** Optional. */\n isMobile: PropTypes.bool,\n appElement: PropTypes.string.isRequired,\n color: PropTypes.string,\n hoverColor: PropTypes.string,\n /** Optional. */\n fontWeights: PropTypes.shape({\n /** Default value is 500. */\n medium: PropTypes.number,\n }),\n };\n\n static defaultProps = {\n cancelSelected: () => ({}),\n lang: 'fi',\n isMobile: false,\n favourite: null,\n autosuggestComponent: undefined,\n addAnalyticsEvent: undefined,\n color: '#007ac9',\n hoverColor: '#0062a1',\n fontWeights: {\n medium: 500,\n },\n };\n\n static favouriteIconIds = [\n 'place',\n 'home',\n 'work',\n 'sport',\n 'school',\n 'shopping',\n ];\n\n constructor(props) {\n super(props);\n i18next.changeLanguage(props.lang);\n this.state = {\n favourite: null,\n };\n Object.keys(translations).forEach(lang => {\n i18next.addResourceBundle(lang, 'translation', translations[lang]);\n });\n }\n\n static getDerivedStateFromProps(nextProps, prevState) {\n const prevFav = prevState.favourite;\n const nextFav = nextProps.favourite;\n\n if (isEmpty(nextFav)) {\n return {\n favourite: null,\n };\n }\n\n if (isEmpty(prevFav) && !isEmpty(nextFav)) {\n return {\n favourite: {\n ...nextFav,\n },\n };\n }\n if (\n !isEmpty(prevFav) &&\n !isEmpty(nextFav) &&\n (nextFav.address !== prevFav.address ||\n nextFav.lat !== prevFav.lat ||\n nextFav.lon !== prevFav.lon)\n ) {\n return {\n favourite: {\n ...prevFav,\n address: nextFav.address,\n lat: nextFav.lat,\n lon: nextFav.lon,\n gid: nextFav.gid || null,\n name: prevFav.name || nextFav.name || '',\n defaultName: nextFav.defaultName,\n },\n };\n }\n return null;\n }\n\n componentDidUpdate() {\n if (i18next.language !== this.props.lang) {\n i18next.changeLanguage(this.props.lang);\n }\n }\n\n componentWillUnmount() {\n this.setState({ favourite: null });\n }\n\n specifyName = event => {\n const name = event.target.value;\n this.setState(prevState => ({\n favourite: { ...prevState.favourite, name },\n }));\n };\n\n selectIcon = id => {\n this.setState(prevState => ({\n favourite: {\n ...prevState.favourite,\n selectedIconId: `icon-icon_${id}`,\n },\n }));\n };\n\n isEdit = () =>\n this.state.favourite && this.state.favourite.favouriteId !== undefined;\n\n canSave = () =>\n this.state.favourite &&\n !isEmpty(this.state.favourite.selectedIconId) &&\n isNumber(this.state.favourite.lat) &&\n isNumber(this.state.favourite.lon);\n\n closeModal = () => {\n this.props.handleClose();\n // hsl-fi/modal close animation lasts 250ms\n setTimeout(() => {\n this.setState({ favourite: null });\n }, 250);\n };\n\n cancelSelected = () => {\n this.props.cancelSelected();\n // hsl-fi/modal close animation lasts 250ms\n setTimeout(() => {\n this.setState({ favourite: null });\n }, 250);\n };\n\n save = () => {\n if (this.canSave()) {\n const name = isEmpty(this.state.favourite.name)\n ? this.state.favourite.defaultName\n : this.state.favourite.name;\n\n const favourite = { ...this.state.favourite, name };\n delete favourite.defaultName;\n this.props.saveFavourite({ ...favourite, type: 'place' });\n if (this.props.addAnalyticsEvent) {\n this.props.addAnalyticsEvent({\n category: 'Favourite',\n action: 'SaveFavourite',\n name: this.state.favourite.selectedIconId,\n });\n }\n if (this.isEdit() && this.props.cancelSelected) {\n this.cancelSelected();\n } else {\n this.closeModal();\n }\n }\n };\n\n render() {\n const { favourite } = this.state;\n const { color, hoverColor, fontWeights } = this.props;\n const headerText = this.isEdit()\n ? i18next.t('edit-place')\n : i18next.t('save-place');\n const modalProps = {\n headerText,\n autosuggestComponent: {\n ...this.props.autosuggestComponent,\n color,\n hoverColor,\n },\n inputPlaceholder: i18next.t('input-placeholder'),\n specifyName: this.specifyName,\n name: (favourite && favourite.name) || '',\n chooseIconText: i18next.t('choose-icon'),\n favouriteIconTable: (\n <FavouriteIconTable\n selectedIconId={(() => {\n if ((favourite && favourite.selectedIconId !== undefined) || null) {\n return favourite.selectedIconId;\n }\n return undefined;\n })()}\n favouriteIconIds={FavouriteModal.favouriteIconIds}\n handleClick={this.selectIcon}\n color={color}\n />\n ),\n saveFavourite: this.save,\n saveText: i18next.t('save'),\n canSave: this.canSave,\n isEdit: this.isEdit(),\n cancelText: i18next.t('cancel'),\n cancelSelected: () => this.cancelSelected(),\n color,\n hoverColor,\n savePlaceText: i18next.t('save-place'),\n cantSaveText: i18next.t('cannot-save-place'),\n requiredText: i18next.t('required-text'),\n fontWeights,\n };\n return (\n <Modal\n appElement={this.props.appElement}\n contentLabel={\n this.isEdit()\n ? i18next.t('favourite-modal-on-edit', favourite)\n : i18next.t('favourite-modal-on-add-new')\n }\n closeButtonLabel={i18next.t('close-favourite-modal')}\n variant={!this.props.isMobile ? 'small' : 'large'}\n isOpen={this.props.isModalOpen}\n onCrossClick={() => this.closeModal()}\n >\n {!this.props.isMobile && <DesktopModal {...modalProps} />}\n {this.props.isMobile && <MobileModal {...modalProps} />}\n </Modal>\n );\n }\n}\n\nexport default FavouriteModal;\n"],"names":["_typeof","o","Symbol","iterator","constructor","prototype","toPropertyKey","t","i","r","e","toPrimitive","call","TypeError","String","Number","_defineProperty","obj","key","value","Object","defineProperty","enumerable","configurable","writable","_arrayLikeToArray","arr","len","length","arr2","Array","_slicedToArray","isArray","arrayWithHoles","l","n","u","a","f","next","done","push","iterableToArrayLimit","minLen","arrayLikeToArray","toString","slice","name","from","test","unsupportedIterableToArray","nonIterableRest","styleInject","css","ref","insertAt","document","head","getElementsByTagName","style","createElement","type","firstChild","insertBefore","appendChild","styleSheet","cssText","createTextNode","translations","de","cancel","save","en","place","home","work","sport","school","shopping","fi","sv","DesktopModal","_ref","headerText","autosuggestComponent","inputPlaceholder","specifyName","chooseIconText","favouriteIconTable","saveFavourite","saveText","canSave","isEdit","cancelText","cancelSelected","color","hoverColor","savePlaceText","cantSaveText","requiredText","fontWeights","React","className","styles","medium","placeholder","onChange","onClick","process","env","NODE_ENV","propTypes","PropTypes","string","isRequired","node","func","bool","shape","number","defaultProps","MobileModal","disabled","init","lng","fallbackLng","defaultNS","interpolation","escapeValue","keys","forEach","lang","i18next","addResourceBundle","FavouriteIconIdToNameMap","FavouriteIconTableButton","selectedIconId","handleClick","_useState2","useState","isHovered","setHover","_useState4","isFocused","setFocus","iconColor","cx","onMouseEnter","onMouseLeave","onFocus","onBlur","Icon","img","FavouriteIconTable","_ref2","favouriteIconIds","columns","map","row","arrayOf","FavouriteModal","Component","props","super","event","target","this","setState","prevState","favourite","_objectSpread","id","state","undefined","favouriteId","isEmpty","isNumber","lat","lon","handleClose","setTimeout","defaultName","addAnalyticsEvent","category","action","closeModal","changeLanguage","getDerivedStateFromProps","nextProps","prevFav","nextFav","address","gid","componentDidUpdate","language","componentWillUnmount","render","_this$props","modalProps","selectIcon","Modal","appElement","contentLabel","closeButtonLabel","variant","isMobile","isOpen","isModalOpen","onCrossClick","gtfsId","layer"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@digitransit-component/digitransit-component-favourite-modal",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.5",
|
|
4
4
|
"description": "digitransit-component favourite-modal module",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"files": [
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
},
|
|
13
13
|
"scripts": {
|
|
14
14
|
"build:index": "ENV=production NAME=digitransit-component-favourite-modal webpack --config ../webpack.config.babel.js && yarn run docs",
|
|
15
|
-
"build:test": "babel test.js --presets=@babel/preset-react,@babel/preset-env --plugins=@babel/plugin-
|
|
15
|
+
"build:test": "babel test.js --presets=@babel/preset-react,@babel/preset-env --plugins=@babel/plugin-transform-class-properties,@babel/plugin-transform-numeric-separator --out-file test.generated",
|
|
16
16
|
"watch": "ENV=development NAME=digitransit-component-favourite-modal webpack --watch --config ../webpack.config.babel.js",
|
|
17
17
|
"clean": "rm -rf ./lib ./node_modules",
|
|
18
18
|
"test": "mocha -r esm test.generated",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"license": "(AGPL-3.0 OR EUPL-1.2)",
|
|
31
31
|
"peerDependencies": {
|
|
32
32
|
"@digitransit-component/digitransit-component-icon": "^1.0.1",
|
|
33
|
-
"@hsl-fi/modal": "^0.3.
|
|
33
|
+
"@hsl-fi/modal": "^0.3.2",
|
|
34
34
|
"@hsl-fi/sass": "^0.2.0",
|
|
35
35
|
"classnames": "2.2.6",
|
|
36
36
|
"i18next": "^19.3.3",
|
|
@@ -39,5 +39,5 @@
|
|
|
39
39
|
"prop-types": "^15.7.2",
|
|
40
40
|
"react": "^16.13.0"
|
|
41
41
|
},
|
|
42
|
-
"gitHead": "
|
|
42
|
+
"gitHead": "ec8983842715dc421b7f806fc943f1c729ac42c3"
|
|
43
43
|
}
|