@digitransit-component/digitransit-component-favourite-modal 1.0.7 → 2.0.0
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 +2 -2
package/lib/index.development.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,o){"object"==typeof exports&&"undefined"!=typeof module?o(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"],o):o((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,o,t,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(o),c=s(t),f=s(a),m=s(i),p=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 o=function(e,o){if("object"!=h(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var a=t.call(e,o||"default");if("object"!=h(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===o?String:Number)(e)}(e,"string");return"symbol"==h(o)?o:o+""}function k(e,o,t){return(o=g(o))in e?Object.defineProperty(e,o,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[o]=t,e}function y(e,o){void 0===o&&(o={});var t=o.insertAt;if(e&&"undefined"!=typeof document){var a=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css","top"===t&&a.firstChild?a.insertBefore(i,a.firstChild):a.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}var x={"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"};y(".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");const R={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ä"},pl:{cancel:"Anuluj","choose-icon":"Wybierz ikonę miejsca","close-favourite-modal":"Zamknij modal ulubionych","edit-place":"Edytuj miejsce","favourite-modal-on-add-new":"Dodaj ulubione miejsce","favourite-modal-on-edit":"Edycja ulubionego miejsca: {{favourite.name}}","input-placeholder":"Nadaj nazwę miejscu (opcjonalne)",save:"Zapisz","save-place":"Zapisz miejsce","cannot-save-place":"Nie można zapisać miejsca bez nazwy lub ikony",place:"miejsce",home:"dom",work:"praca",sport:"sport",school:"szkoła",shopping:"zakupy","required-text":"pole wymagane"},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 E="desktop_favourite-modal-desktop-container__JeGRK",q="desktop_favourite-modal-desktop-top__SRAj7",N="desktop_favourite-modal-desktop-header__LzO65",I="desktop_favourite-modal-desktop-main__3SYc5",w="desktop_favourite-modal-desktop-location-search__ajBVr",S="desktop_favourite-modal-desktop-name__BmsiY",T="desktop_favourite-modal-desktop-input__6L7ez",G="desktop_favourite-modal-desktop-text__Gs-U3",O="desktop_favourite-modal-desktop-icons__LtHSO",C="desktop_icons-container__rs22H",j="desktop_favourite-modal-desktop-buttons__2Ag9q",A="desktop_favourite-modal-desktop-button__8Gh8t",z="desktop_save__I0AgO",H="desktop_disabled__Greqy",P="desktop_edit__t9NzU",U="desktop_sr-only__VJyNM";y(".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 -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::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 -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 clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px; }\n");const J=({headerText:e,autosuggestComponent:o,inputPlaceholder:t,specifyName:a,name:i,chooseIconText:n,favouriteIconTable:l,saveFavourite:r,saveText:d,canSave:s,isEdit:c,cancelText:f,cancelSelected:m,color:p,hoverColor:_,savePlaceText:v,cantSaveText:b,requiredText:h,fontWeights:g})=>u.default.createElement("div",{className:E,style:{"--color":`${p}`,"--hover-color":`${_}`,"--font-weight-medium":g.medium}},u.default.createElement("div",{className:q},u.default.createElement("div",{className:N},e)),u.default.createElement("div",{className:I},u.default.createElement("div",{className:w},o),u.default.createElement("div",{className:S},u.default.createElement("input",{"aria-label":t,className:T,value:i,placeholder:t,onChange:a}))),u.default.createElement("fieldset",{className:C},u.default.createElement("legend",{className:G},n,u.default.createElement("p",{className:U},h)),u.default.createElement("div",{className:O},l)),u.default.createElement("div",{className:j},u.default.createElement("button",{type:"button",className:`${A} ${z} ${s()?"":H}`,onClick:r,"aria-label":`${s()?v:b}`,"aria-disabled":!s()},d),c&&u.default.createElement("button",{type:"button",className:`${A} ${P} ${s()?"":H}`,onClick:m},f)));"production"!==process.env.NODE_ENV&&(J.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}),J.defaultProps={isEdit:!1,cancelSelected:()=>({})};var B={"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"};y(".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 -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 -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::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 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:o,inputPlaceholder:t,specifyName:a,name:i,chooseIconText:n,favouriteIconTable:l,saveFavourite:r,saveText:d,canSave:s,color:c,hoverColor:f,savePlaceText:m,cantSaveText:p,requiredText:_,fontWeights:v})=>u.default.createElement("div",{className:B["favourite-modal-mobile-container"],style:{"--color":`${c}`,"--hover-color":`${f}`,"--font-weight-medium":v.medium}},u.default.createElement("div",{className:B["favourite-modal-mobile-top"]},u.default.createElement("div",{className:B["favourite-modal-mobile-header"]},e)),u.default.createElement("div",{className:B["favourite-modal-mobile-main"]},u.default.createElement("div",{className:B["favourite-modal-mobile-location-search"]},o),u.default.createElement("input",{className:B["favourite-modal-mobile-input"],value:i||"",placeholder:t,onChange:a})),u.default.createElement("div",{className:B["favourite-modal-mobile-text"]},n,u.default.createElement("p",{className:B["sr-only"]},_)),u.default.createElement("div",{className:B["favourite-modal-mobile-icons"]},l),u.default.createElement("div",{className:B["favourite-modal-mobile-save"]},u.default.createElement("button",{type:"button",className:`${B["favourite-modal-mobile-button"]} ${s()?"":B.disabled}`,onClick:r,"aria-label":`${s()?m:p}`},d)));function K(e,o){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);o&&(a=a.filter((function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable}))),t.push.apply(t,a)}return t}function M(e){for(var o=1;o<arguments.length;o++){var t=null!=arguments[o]?arguments[o]:{};o%2?K(Object(t),!0).forEach((function(o){k(e,o,t[o])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):K(Object(t)).forEach((function(o){Object.defineProperty(e,o,Object.getOwnPropertyDescriptor(t,o))}))}return e}"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}),m.default.init({lng:"fi",fallbackLng:"fi",defaultNS:"translation",interpolation:{escapeValue:!1}}),Object.keys(R).forEach((e=>{m.default.addResourceBundle(e,"translation",R[e])}));const D={"icon-icon_place":"place","icon-icon_home":"home","icon-icon_work":"work","icon-icon_sport":"sport","icon-icon_school":"school","icon-icon_shopping":"shopping"},Y=({value:e,selectedIconId:t,handleClick:a,color:i})=>{const[n,l]=o.useState(!1),[r,d]=o.useState(!1),s=e===D[t]||n||r?"#ffffff":i;return u.default.createElement("button",{type:"button",className:f.default(x["favourite-icon-table-column"],x[e],e===D[t]&&x["selected-icon"]),onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1),onFocus:()=>d(!0),onBlur:()=>d(!1),onClick:()=>a(e),"aria-label":m.default.t(e)},u.default.createElement(b.default,{img:e,color:s}))};"production"!==process.env.NODE_ENV&&(Y.propTypes={handleClick:c.default.func.isRequired,value:c.default.string.isRequired,selectedIconId:c.default.string.isRequired,color:c.default.string.isRequired});const L=({favouriteIconIds:e,selectedIconId:o,handleClick:t,color:a})=>{const i=e.map((e=>u.default.createElement(Y,{key:`favourite-icon-table-${e}`,value:e,selectedIconId:o,handleClick:t,color:a})));return u.default.createElement("div",{className:x["generic-table"]},u.default.createElement("div",{className:x.row},i))};"production"!==process.env.NODE_ENV&&(L.propTypes={handleClick:c.default.func.isRequired,favouriteIconIds:c.default.arrayOf(c.default.string).isRequired,selectedIconId:c.default.string,color:c.default.string.isRequired}),L.defaultProps={selectedIconId:""};class $ extends u.default.Component{constructor(e){super(e),k(this,"specifyName",(e=>{const o=e.target.value;this.setState((e=>({favourite:M(M({},e.favourite),{},{name:o})})))})),k(this,"selectIcon",(e=>{this.setState((o=>({favourite:M(M({},o.favourite),{},{selectedIconId:`icon-icon_${e}`})})))})),k(this,"isEdit",(()=>this.state.favourite&&void 0!==this.state.favourite.favouriteId)),k(this,"canSave",(()=>this.state.favourite&&!p.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()){const e=p.default(this.state.favourite.name)?this.state.favourite.defaultName:this.state.favourite.name,o=M(M({},this.state.favourite),{},{name:e});delete o.defaultName,this.props.saveFavourite(M(M({},o),{},{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()}})),m.default.changeLanguage(e.lang),this.state={favourite:null},Object.keys(R).forEach((e=>{m.default.addResourceBundle(e,"translation",R[e])}))}static getDerivedStateFromProps(e,o){const t=o.favourite,a=e.favourite;return p.default(a)?{favourite:null}:p.default(t)&&!p.default(a)?{favourite:M({},a)}:p.default(t)||p.default(a)||a.address===t.address&&a.lat===t.lat&&a.lon===t.lon?null:{favourite:M(M({},t),{},{address:a.address,lat:a.lat,lon:a.lon,gid:a.gid||null,name:t.name||a.name||"",defaultName:a.defaultName})}}componentDidUpdate(){m.default.language!==this.props.lang&&m.default.changeLanguage(this.props.lang)}componentWillUnmount(){this.setState({favourite:null})}render(){const{favourite:e}=this.state,{color:o,hoverColor:t,fontWeights:a}=this.props,i={headerText:this.isEdit()?m.default.t("edit-place"):m.default.t("save-place"),autosuggestComponent:M(M({},this.props.autosuggestComponent),{},{color:o,hoverColor:t}),inputPlaceholder:m.default.t("input-placeholder"),specifyName:this.specifyName,name:e&&e.name||"",chooseIconText:m.default.t("choose-icon"),favouriteIconTable:u.default.createElement(L,{selectedIconId:(()=>{if(e&&void 0!==e.selectedIconId)return e.selectedIconId})(),favouriteIconIds:$.favouriteIconIds,handleClick:this.selectIcon,color:o}),saveFavourite:this.save,saveText:m.default.t("save"),canSave:this.canSave,isEdit:this.isEdit(),cancelText:m.default.t("cancel"),cancelSelected:()=>this.cancelSelected(),color:o,hoverColor:t,savePlaceText:m.default.t("save-place"),cantSaveText:m.default.t("cannot-save-place"),requiredText:m.default.t("required-text"),fontWeights:a};return u.default.createElement(v.default,{appElement:this.props.appElement,contentLabel:this.isEdit()?m.default.t("favourite-modal-on-edit",e):m.default.t("favourite-modal-on-add-new"),closeButtonLabel:m.default.t("close-favourite-modal"),variant:this.props.isMobile?"large":"small",isOpen:this.props.isModalOpen,onCrossClick:()=>this.closeModal()},!this.props.isMobile&&u.default.createElement(J,i),this.props.isMobile&&u.default.createElement(F,i))}}k($,"defaultProps",{cancelSelected:()=>({}),lang:"fi",isMobile:!1,favourite:null,autosuggestComponent:void 0,addAnalyticsEvent:void 0,color:"#007ac9",hoverColor:"#0062a1",fontWeights:{medium:500}}),k($,"favouriteIconIds",["place","home","work","sport","school","shopping"]),"production"!==process.env.NODE_ENV&&($.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=$,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
2
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZGV2ZWxvcG1lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS90eXBlb2YuanMiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vdG9Qcm9wZXJ0eUtleS5qcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS90b1ByaW1pdGl2ZS5qcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9kZWZpbmVQcm9wZXJ0eS5qcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1pbmplY3QvZGlzdC9zdHlsZS1pbmplY3QuZXMuanMiLCIuLi9zcmMvaGVscGVycy90cmFuc2xhdGlvbnMuanMiLCIuLi9zcmMvaGVscGVycy9EZXNrdG9wTW9kYWwuanMiLCIuLi9zcmMvaGVscGVycy9Nb2JpbGVNb2RhbC5qcyIsIi4uL3NyYy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBfdHlwZW9mKG8pIHtcbiAgXCJAYmFiZWwvaGVscGVycyAtIHR5cGVvZlwiO1xuXG4gIHJldHVybiBfdHlwZW9mID0gXCJmdW5jdGlvblwiID09IHR5cGVvZiBTeW1ib2wgJiYgXCJzeW1ib2xcIiA9PSB0eXBlb2YgU3ltYm9sLml0ZXJhdG9yID8gZnVuY3Rpb24gKG8pIHtcbiAgICByZXR1cm4gdHlwZW9mIG87XG4gIH0gOiBmdW5jdGlvbiAobykge1xuICAgIHJldHVybiBvICYmIFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgU3ltYm9sICYmIG8uY29uc3RydWN0b3IgPT09IFN5bWJvbCAmJiBvICE9PSBTeW1ib2wucHJvdG90eXBlID8gXCJzeW1ib2xcIiA6IHR5cGVvZiBvO1xuICB9LCBfdHlwZW9mKG8pO1xufVxuZXhwb3J0IHsgX3R5cGVvZiBhcyBkZWZhdWx0IH07IiwiaW1wb3J0IF90eXBlb2YgZnJvbSBcIi4vdHlwZW9mLmpzXCI7XG5pbXBvcnQgdG9QcmltaXRpdmUgZnJvbSBcIi4vdG9QcmltaXRpdmUuanNcIjtcbmZ1bmN0aW9uIHRvUHJvcGVydHlLZXkodCkge1xuICB2YXIgaSA9IHRvUHJpbWl0aXZlKHQsIFwic3RyaW5nXCIpO1xuICByZXR1cm4gXCJzeW1ib2xcIiA9PSBfdHlwZW9mKGkpID8gaSA6IGkgKyBcIlwiO1xufVxuZXhwb3J0IHsgdG9Qcm9wZXJ0eUtleSBhcyBkZWZhdWx0IH07IiwiaW1wb3J0IF90eXBlb2YgZnJvbSBcIi4vdHlwZW9mLmpzXCI7XG5mdW5jdGlvbiB0b1ByaW1pdGl2ZSh0LCByKSB7XG4gIGlmIChcIm9iamVjdFwiICE9IF90eXBlb2YodCkgfHwgIXQpIHJldHVybiB0O1xuICB2YXIgZSA9IHRbU3ltYm9sLnRvUHJpbWl0aXZlXTtcbiAgaWYgKHZvaWQgMCAhPT0gZSkge1xuICAgIHZhciBpID0gZS5jYWxsKHQsIHIgfHwgXCJkZWZhdWx0XCIpO1xuICAgIGlmIChcIm9iamVjdFwiICE9IF90eXBlb2YoaSkpIHJldHVybiBpO1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJAQHRvUHJpbWl0aXZlIG11c3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLlwiKTtcbiAgfVxuICByZXR1cm4gKFwic3RyaW5nXCIgPT09IHIgPyBTdHJpbmcgOiBOdW1iZXIpKHQpO1xufVxuZXhwb3J0IHsgdG9QcmltaXRpdmUgYXMgZGVmYXVsdCB9OyIsImltcG9ydCB0b1Byb3BlcnR5S2V5IGZyb20gXCIuL3RvUHJvcGVydHlLZXkuanNcIjtcbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShlLCByLCB0KSB7XG4gIHJldHVybiAociA9IHRvUHJvcGVydHlLZXkocikpIGluIGUgPyBPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwgciwge1xuICAgIHZhbHVlOiB0LFxuICAgIGVudW1lcmFibGU6ICEwLFxuICAgIGNvbmZpZ3VyYWJsZTogITAsXG4gICAgd3JpdGFibGU6ICEwXG4gIH0pIDogZVtyXSA9IHQsIGU7XG59XG5leHBvcnQgeyBfZGVmaW5lUHJvcGVydHkgYXMgZGVmYXVsdCB9OyIsImZ1bmN0aW9uIHN0eWxlSW5qZWN0KGNzcywgcmVmKSB7XG4gIGlmICggcmVmID09PSB2b2lkIDAgKSByZWYgPSB7fTtcbiAgdmFyIGluc2VydEF0ID0gcmVmLmluc2VydEF0O1xuXG4gIGlmICghY3NzIHx8IHR5cGVvZiBkb2N1bWVudCA9PT0gJ3VuZGVmaW5lZCcpIHsgcmV0dXJuOyB9XG5cbiAgdmFyIGhlYWQgPSBkb2N1bWVudC5oZWFkIHx8IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF07XG4gIHZhciBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7XG4gIHN0eWxlLnR5cGUgPSAndGV4dC9jc3MnO1xuXG4gIGlmIChpbnNlcnRBdCA9PT0gJ3RvcCcpIHtcbiAgICBpZiAoaGVhZC5maXJzdENoaWxkKSB7XG4gICAgICBoZWFkLmluc2VydEJlZm9yZShzdHlsZSwgaGVhZC5maXJzdENoaWxkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaGVhZC5hcHBlbmRDaGlsZChzdHlsZSk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGhlYWQuYXBwZW5kQ2hpbGQoc3R5bGUpO1xuICB9XG5cbiAgaWYgKHN0eWxlLnN0eWxlU2hlZXQpIHtcbiAgICBzdHlsZS5zdHlsZVNoZWV0LmNzc1RleHQgPSBjc3M7XG4gIH0gZWxzZSB7XG4gICAgc3R5bGUuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoY3NzKSk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgc3R5bGVJbmplY3Q7XG4iLCJjb25zdCB0cmFuc2xhdGlvbnMgPSB7XG4gIGRlOiB7XG4gICAgY2FuY2VsOiAnQWJicmVjaGVuJyxcbiAgICAnY2hvb3NlLWljb24nOiAnV8OkaGxlbiBTaWUgZWluIFN5bWJvbCBmw7xyIGRpZXNlbiBPcnQnLFxuICAgICdjbG9zZS1mYXZvdXJpdGUtbW9kYWwnOiAnRmF2b3JpdGVuLURpYWxvZyBzY2hsaWXDn2VuJyxcbiAgICAnZWRpdC1wbGFjZSc6ICdPcnQgYmVhcmJlaXRlbicsXG4gICAgJ2Zhdm91cml0ZS1tb2RhbC1vbi1hZGQtbmV3JzogJ05ldWVuIEZhdm9yaXRlbiBoaW56dWbDvGdlbicsXG4gICAgJ2Zhdm91cml0ZS1tb2RhbC1vbi1lZGl0JzogJ0Zhdm9yaXQgYmVhcmJlaXRlbjoge3tmYXZvdXJpdGUubmFtZX19JyxcbiAgICAnaW5wdXQtcGxhY2Vob2xkZXInOiAnRWluZW4gTmFtZW4gZsO8ciBPcnQgc2V0emVuIChvcHRpb25hbCknLFxuICAgIHNhdmU6ICdTcGVpY2hlcm4nLFxuICAgICdzYXZlLXBsYWNlJzogJ0Zhdm9yaXQgc3BlaWNoZXJuJyxcbiAgfSxcbiAgZW46IHtcbiAgICBjYW5jZWw6ICdDYW5jZWwnLFxuICAgICdjaG9vc2UtaWNvbic6IFwiU2VsZWN0IHRoZSBwbGFjZSdzIGljb25cIixcbiAgICAnY2xvc2UtZmF2b3VyaXRlLW1vZGFsJzogJ0Nsb3NlIHRoZSBmYXZvdXJpdGUgbW9kYWwnLFxuICAgICdlZGl0LXBsYWNlJzogJ0VkaXQgcGxhY2UnLFxuICAgICdmYXZvdXJpdGUtbW9kYWwtb24tYWRkLW5ldyc6ICdBZGQgYSBuZXcgZmF2b3JpdGUnLFxuICAgICdmYXZvdXJpdGUtbW9kYWwtb24tZWRpdCc6ICdFZGl0aW5nIGZhdm91cml0ZToge3tmYXZvdXJpdGUubmFtZX19JyxcbiAgICAnaW5wdXQtcGxhY2Vob2xkZXInOiAnR2l2ZSB0aGUgbmFtZSBhIHBsYWNlIChvcHRpb25hbCknLFxuICAgIHNhdmU6ICdTYXZlJyxcbiAgICAnc2F2ZS1wbGFjZSc6ICdTYXZlIHBsYWNlJyxcbiAgICAnY2Fubm90LXNhdmUtcGxhY2UnOiAnQ2Fubm90IHNhdmUgYSBwbGFjZSB3aXRob3V0IGFkZHJlc3Mgb3IgaWNvbicsXG4gICAgcGxhY2U6ICdhIHBsYWNlJyxcbiAgICBob21lOiAnaG9tZScsXG4gICAgd29yazogJ3dvcmsnLFxuICAgIHNwb3J0OiAnc3BvcnQnLFxuICAgIHNjaG9vbDogJ3NjaG9vbCcsXG4gICAgc2hvcHBpbmc6ICdzaG9wcGluZycsXG4gICAgJ3JlcXVpcmVkLXRleHQnOiAncmVxdWlyZWQgZmllbGQnLFxuICB9LFxuICBmaToge1xuICAgIGNhbmNlbDogJ1BlcnV1dGEnLFxuICAgICdjaG9vc2UtaWNvbic6ICdWYWxpdHNlIHBhaWthbiBrdXZha2UnLFxuICAgICdjbG9zZS1mYXZvdXJpdGUtbW9kYWwnOiAnU3VsamUgc3Vvc2lra2ltb2RhYWxpJyxcbiAgICAnZWRpdC1wbGFjZSc6ICdNdW9ra2FhIHBhaWtrYWEnLFxuICAgICdmYXZvdXJpdGUtbW9kYWwtb24tYWRkLW5ldyc6ICdMaXPDpMOkIHV1c2kgc3Vvc2lra2knLFxuICAgICdmYXZvdXJpdGUtbW9kYWwtb24tZWRpdCc6ICdNdW9ra2FhIHN1b3Npa2tpYSB7e2Zhdm91cml0ZS5uYW1lfX0nLFxuICAgICdpbnB1dC1wbGFjZWhvbGRlcic6ICdBbm5hIHBhaWthbGxlIG5pbWkgKHZhcGFhZWh0b2luZW4pJyxcbiAgICBzYXZlOiAnVGFsbGVubmEnLFxuICAgICdzYXZlLXBsYWNlJzogJ1RhbGxlbm5hIHBhaWtrYScsXG4gICAgJ2Nhbm5vdC1zYXZlLXBsYWNlJzpcbiAgICAgICdQYWlra2FhIGlsbWFuIG9zb2l0ZXR0YSB0YWkgaWtvbmlhIGVpIHZvaWRhIHRhbGxlbnRhYScsXG4gICAgcGxhY2U6ICdwYWlra2EnLFxuICAgIGhvbWU6ICdrb3RpJyxcbiAgICB3b3JrOiAndHnDticsXG4gICAgc3BvcnQ6ICd1cmhlaWx1JyxcbiAgICBzY2hvb2w6ICdrb3VsdScsXG4gICAgc2hvcHBpbmc6ICdvc3Rva3NldCcsXG4gICAgJ3JlcXVpcmVkLXRleHQnOiAncGFrb2xsaW5lbiBrZW50dMOkJyxcbiAgfSxcbiAgcGw6IHtcbiAgICBjYW5jZWw6ICdBbnVsdWonLFxuICAgICdjaG9vc2UtaWNvbic6ICdXeWJpZXJ6IGlrb27EmSBtaWVqc2NhJyxcbiAgICAnY2xvc2UtZmF2b3VyaXRlLW1vZGFsJzogJ1phbWtuaWogbW9kYWwgdWx1YmlvbnljaCcsXG4gICAgJ2VkaXQtcGxhY2UnOiAnRWR5dHVqIG1pZWpzY2UnLFxuICAgICdmYXZvdXJpdGUtbW9kYWwtb24tYWRkLW5ldyc6ICdEb2RhaiB1bHViaW9uZSBtaWVqc2NlJyxcbiAgICAnZmF2b3VyaXRlLW1vZGFsLW9uLWVkaXQnOiAnRWR5Y2phIHVsdWJpb25lZ28gbWllanNjYToge3tmYXZvdXJpdGUubmFtZX19JyxcbiAgICAnaW5wdXQtcGxhY2Vob2xkZXInOiAnTmFkYWogbmF6d8SZIG1pZWpzY3UgKG9wY2pvbmFsbmUpJyxcbiAgICBzYXZlOiAnWmFwaXN6JyxcbiAgICAnc2F2ZS1wbGFjZSc6ICdaYXBpc3ogbWllanNjZScsXG4gICAgJ2Nhbm5vdC1zYXZlLXBsYWNlJzogJ05pZSBtb8W8bmEgemFwaXNhxIcgbWllanNjYSBiZXogbmF6d3kgbHViIGlrb255JyxcbiAgICBwbGFjZTogJ21pZWpzY2UnLFxuICAgIGhvbWU6ICdkb20nLFxuICAgIHdvcms6ICdwcmFjYScsXG4gICAgc3BvcnQ6ICdzcG9ydCcsXG4gICAgc2Nob29sOiAnc3prb8WCYScsXG4gICAgc2hvcHBpbmc6ICd6YWt1cHknLFxuICAgICdyZXF1aXJlZC10ZXh0JzogJ3BvbGUgd3ltYWdhbmUnLFxuICB9LFxuICBzdjoge1xuICAgIGNhbmNlbDogJ0F2YnJ5dCcsXG4gICAgJ2Nob29zZS1pY29uJzogJ1bDpGxqIHBsYXRzZW5zIGlrb24nLFxuICAgICdjbG9zZS1mYXZvdXJpdGUtbW9kYWwnOiAnU3TDpG5nIGZhdm9yaXRtb2RhbGVuJyxcbiAgICAnZWRpdC1wbGFjZSc6ICdSZWRpZ2VyYSBwbGF0cycsXG4gICAgJ2Zhdm91cml0ZS1tb2RhbC1vbi1hZGQtbmV3JzogJ0zDpGdnIHRpbGwgbnkgZmF2b3JpdCcsXG4gICAgJ2Zhdm91cml0ZS1tb2RhbC1vbi1lZGl0JzogJ1JlZGlnZXJhIHBsYXRzZW46IHt7ZmF2b3VyaXRlLm5hbWV9fScsXG4gICAgJ2lucHV0LXBsYWNlaG9sZGVyJzogJ0FuZ2UgcGxhdHNlbnMgbmFtbiAoZnJpdmlsbGlndCknLFxuICAgIHNhdmU6ICdTcGFyYScsXG4gICAgJ3NhdmUtcGxhY2UnOiAnU3BhcmEgcGxhdHMnLFxuICAgICdjYW5ub3Qtc2F2ZS1wbGFjZSc6XG4gICAgICAnRGV0IGfDpXIgaW50ZSBhdHQgc3BhcmEgZW4gcGxhdHMgdXRhbiBhZHJlc3MgZWxsZXIgaWtvbicsXG4gICAgcGxhY2U6ICdlbiBwbGF0cycsXG4gICAgaG9tZTogJ2hlbScsXG4gICAgd29yazogJ2FyYmV0ZScsXG4gICAgc3BvcnQ6ICdzcG9ydCcsXG4gICAgc2Nob29sOiAnc2tvbGEnLFxuICAgIHNob3BwaW5nOiAnc2hvcHBhJyxcbiAgICAncmVxdWlyZWQtZmllbGQnOiAnb2JsaWdhdG9yaXNrdCBmw6RsdCcsXG4gIH0sXG59O1xuXG5leHBvcnQgZGVmYXVsdCB0cmFuc2xhdGlvbnM7XG4iLCIvKiBlc2xpbnQtZGlzYWJsZSBqc3gtYTExeS9jbGljay1ldmVudHMtaGF2ZS1rZXktZXZlbnRzICovXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBjeCBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCBzdHlsZXMgZnJvbSAnLi9kZXNrdG9wLnNjc3MnO1xuXG5jb25zdCBEZXNrdG9wTW9kYWwgPSAoe1xuICBoZWFkZXJUZXh0LFxuICBhdXRvc3VnZ2VzdENvbXBvbmVudCxcbiAgaW5wdXRQbGFjZWhvbGRlcixcbiAgc3BlY2lmeU5hbWUsXG4gIG5hbWUsXG4gIGNob29zZUljb25UZXh0LFxuICBmYXZvdXJpdGVJY29uVGFibGUsXG4gIHNhdmVGYXZvdXJpdGUsXG4gIHNhdmVUZXh0LFxuICBjYW5TYXZlLFxuICBpc0VkaXQsXG4gIGNhbmNlbFRleHQsXG4gIGNhbmNlbFNlbGVjdGVkLFxuICBjb2xvcixcbiAgaG92ZXJDb2xvcixcbiAgc2F2ZVBsYWNlVGV4dCxcbiAgY2FudFNhdmVUZXh0LFxuICByZXF1aXJlZFRleHQsXG4gIGZvbnRXZWlnaHRzLFxufSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGNsYXNzTmFtZT17c3R5bGVzWydmYXZvdXJpdGUtbW9kYWwtZGVza3RvcC1jb250YWluZXInXX1cbiAgICAgIHN0eWxlPXt7XG4gICAgICAgICctLWNvbG9yJzogYCR7Y29sb3J9YCxcbiAgICAgICAgJy0taG92ZXItY29sb3InOiBgJHtob3ZlckNvbG9yfWAsXG4gICAgICAgICctLWZvbnQtd2VpZ2h0LW1lZGl1bSc6IGZvbnRXZWlnaHRzLm1lZGl1bSxcbiAgICAgIH19XG4gICAgPlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snZmF2b3VyaXRlLW1vZGFsLWRlc2t0b3AtdG9wJ119PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydmYXZvdXJpdGUtbW9kYWwtZGVza3RvcC1oZWFkZXInXX0+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+XG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBGYXZvdXJpdGVNb2RhbDtcbiJdLCJuYW1lcyI6WyJfdHlwZW9mIiwibyIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiY29uc3RydWN0b3IiLCJwcm90b3R5cGUiLCJ0b1Byb3BlcnR5S2V5IiwidCIsImkiLCJyIiwiZSIsInRvUHJpbWl0aXZlIiwiY2FsbCIsIlR5cGVFcnJvciIsIlN0cmluZyIsIk51bWJlciIsIl9kZWZpbmVQcm9wZXJ0eSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJzdHlsZUluamVjdCIsImNzcyIsInJlZiIsImluc2VydEF0IiwiZG9jdW1lbnQiLCJoZWFkIiwiZ2V0RWxlbWVudHNCeVRhZ05hbWUiLCJzdHlsZSIsImNyZWF0ZUVsZW1lbnQiLCJ0eXBlIiwiZmlyc3RDaGlsZCIsImluc2VydEJlZm9yZSIsImFwcGVuZENoaWxkIiwic3R5bGVTaGVldCIsImNzc1RleHQiLCJjcmVhdGVUZXh0Tm9kZSIsInRyYW5zbGF0aW9ucyIsImRlIiwiY2FuY2VsIiwic2F2ZSIsImVuIiwicGxhY2UiLCJob21lIiwid29yayIsInNwb3J0Iiwic2Nob29sIiwic2hvcHBpbmciLCJmaSIsInBsIiwic3YiLCJEZXNrdG9wTW9kYWwiLCJoZWFkZXJUZXh0IiwiYXV0b3N1Z2dlc3RDb21wb25lbnQiLCJpbnB1dFBsYWNlaG9sZGVyIiwic3BlY2lmeU5hbWUiLCJuYW1lIiwiY2hvb3NlSWNvblRleHQiLCJmYXZvdXJpdGVJY29uVGFibGUiLCJzYXZlRmF2b3VyaXRlIiwic2F2ZVRleHQiLCJjYW5TYXZlIiwiaXNFZGl0IiwiY2FuY2VsVGV4dCIsImNhbmNlbFNlbGVjdGVkIiwiY29sb3IiLCJob3ZlckNvbG9yIiwic2F2ZVBsYWNlVGV4dCIsImNhbnRTYXZlVGV4dCIsInJlcXVpcmVkVGV4dCIsImZvbnRXZWlnaHRzIiwiUmVhY3QiLCJjbGFzc05hbWUiLCJzdHlsZXMiLCJtZWRpdW0iLCJwbGFjZWhvbGRlciIsIm9uQ2hhbmdlIiwib25DbGljayIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsInN0cmluZyIsImlzUmVxdWlyZWQiLCJub2RlIiwiZnVuYyIsImJvb2wiLCJzaGFwZSIsIm51bWJlciIsImRlZmF1bHRQcm9wcyIsIk1vYmlsZU1vZGFsIiwiZGlzYWJsZWQiLCJpMThuZXh0X19kZWZhdWx0IiwiaW5pdCIsImxuZyIsImZhbGxiYWNrTG5nIiwiZGVmYXVsdE5TIiwiaW50ZXJwb2xhdGlvbiIsImVzY2FwZVZhbHVlIiwia2V5cyIsImZvckVhY2giLCJsYW5nIiwiaTE4bmV4dCIsImFkZFJlc291cmNlQnVuZGxlIiwiRmF2b3VyaXRlSWNvbklkVG9OYW1lTWFwIiwiRmF2b3VyaXRlSWNvblRhYmxlQnV0dG9uIiwic2VsZWN0ZWRJY29uSWQiLCJoYW5kbGVDbGljayIsImlzSG92ZXJlZCIsInNldEhvdmVyIiwidXNlU3RhdGUiLCJpc0ZvY3VzZWQiLCJzZXRGb2N1cyIsImljb25Db2xvciIsImN4Iiwib25Nb3VzZUVudGVyIiwib25Nb3VzZUxlYXZlIiwib25Gb2N1cyIsIm9uQmx1ciIsIkljb24iLCJpbWciLCJGYXZvdXJpdGVJY29uVGFibGUiLCJmYXZvdXJpdGVJY29uSWRzIiwiY29sdW1ucyIsIm1hcCIsImtleSIsInJvdyIsImFycmF5T2YiLCJGYXZvdXJpdGVNb2RhbCIsIkNvbXBvbmVudCIsInByb3BzIiwic3VwZXIiLCJ0aGlzIiwiZXZlbnQiLCJ0YXJnZXQiLCJzZXRTdGF0ZSIsInByZXZTdGF0ZSIsImZhdm91cml0ZSIsIl9vYmplY3RTcHJlYWQiLCJpZCIsInN0YXRlIiwidW5kZWZpbmVkIiwiZmF2b3VyaXRlSWQiLCJpc0VtcHR5IiwiaXNOdW1iZXIiLCJsYXQiLCJsb24iLCJoYW5kbGVDbG9zZSIsInNldFRpbWVvdXQiLCJkZWZhdWx0TmFtZSIsImFkZEFuYWx5dGljc0V2ZW50IiwiY2F0ZWdvcnkiLCJhY3Rpb24iLCJjbG9zZU1vZGFsIiwiY2hhbmdlTGFuZ3VhZ2UiLCJnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMiLCJuZXh0UHJvcHMiLCJwcmV2RmF2IiwibmV4dEZhdiIsImFkZHJlc3MiLCJnaWQiLCJjb21wb25lbnREaWRVcGRhdGUiLCJsYW5ndWFnZSIsImNvbXBvbmVudFdpbGxVbm1vdW50IiwicmVuZGVyIiwibW9kYWxQcm9wcyIsInNlbGVjdEljb24iLCJNb2RhbCIsImFwcEVsZW1lbnQiLCJjb250ZW50TGFiZWwiLCJjbG9zZUJ1dHRvbkxhYmVsIiwidmFyaWFudCIsImlzTW9iaWxlIiwiaXNPcGVuIiwiaXNNb2RhbE9wZW4iLCJvbkNyb3NzQ2xpY2siLCJndGZzSWQiLCJsYXllciJdLCJtYXBwaW5ncyI6ImczQkFBQSxTQUFTQSxFQUFRQyxHQUdmLE9BQU9ELEVBQVUsbUJBQXFCRSxRQUFVLGlCQUFtQkEsT0FBT0MsU0FBVyxTQUFVRixHQUM3RixjQUFj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
|
|
1
|
+
!function(e,o){"object"==typeof exports&&"undefined"!=typeof module?o(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"],o):o((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,o,t,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(o),c=s(t),f=s(a),m=s(i),p=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 o=function(e,o){if("object"!=h(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var a=t.call(e,o||"default");if("object"!=h(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===o?String:Number)(e)}(e,"string");return"symbol"==h(o)?o:o+""}function k(e,o,t){return(o=g(o))in e?Object.defineProperty(e,o,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[o]=t,e}function y(e,o){void 0===o&&(o={});var t=o.insertAt;if(e&&"undefined"!=typeof document){var a=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css","top"===t&&a.firstChild?a.insertBefore(i,a.firstChild):a.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}var x={"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"};y(".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");const R={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ä"},pl:{cancel:"Anuluj","choose-icon":"Wybierz ikonę miejsca","close-favourite-modal":"Zamknij modal ulubionych","edit-place":"Edytuj miejsce","favourite-modal-on-add-new":"Dodaj ulubione miejsce","favourite-modal-on-edit":"Edycja ulubionego miejsca: {{favourite.name}}","input-placeholder":"Nadaj nazwę miejscu (opcjonalne)",save:"Zapisz","save-place":"Zapisz miejsce","cannot-save-place":"Nie można zapisać miejsca bez nazwy lub ikony",place:"miejsce",home:"dom",work:"praca",sport:"sport",school:"szkoła",shopping:"zakupy","required-text":"pole wymagane"},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 E="desktop_favourite-modal-desktop-container__JeGRK",q="desktop_favourite-modal-desktop-top__SRAj7",I="desktop_favourite-modal-desktop-header__LzO65",N="desktop_favourite-modal-desktop-main__3SYc5",w="desktop_favourite-modal-desktop-location-search__ajBVr",S="desktop_favourite-modal-desktop-name__BmsiY",T="desktop_favourite-modal-desktop-input__6L7ez",G="desktop_favourite-modal-desktop-text__Gs-U3",O="desktop_favourite-modal-desktop-icons__LtHSO",C="desktop_icons-container__rs22H",j="desktop_favourite-modal-desktop-buttons__2Ag9q",A="desktop_favourite-modal-desktop-button__8Gh8t",z="desktop_save__I0AgO",H="desktop_disabled__Greqy",P="desktop_edit__t9NzU",U="desktop_sr-only__VJyNM";y(".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 -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::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 -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 clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px; }\n");const J=({headerText:e,autosuggestComponent:o,inputPlaceholder:t,specifyName:a,name:i,chooseIconText:n,favouriteIconTable:l,saveFavourite:r,saveText:d,canSave:s,isEdit:c,cancelText:f,cancelSelected:m,color:p,hoverColor:_,savePlaceText:v,cantSaveText:b,requiredText:h,fontWeights:g})=>u.default.createElement("div",{className:E,style:{"--color":`${p}`,"--hover-color":`${_}`,"--font-weight-medium":g.medium}},u.default.createElement("div",{className:q},u.default.createElement("div",{className:I},e)),u.default.createElement("div",{className:N},u.default.createElement("div",{className:w},o),u.default.createElement("div",{className:S},u.default.createElement("input",{"aria-label":t,className:T,value:i,placeholder:t,onChange:a}))),u.default.createElement("fieldset",{className:C},u.default.createElement("legend",{className:G},n,u.default.createElement("p",{className:U},h)),u.default.createElement("div",{className:O},l)),u.default.createElement("div",{className:j},u.default.createElement("button",{type:"button",className:`${A} ${z} ${s()?"":H}`,onClick:r,"aria-label":`${s()?v:b}`,"aria-disabled":!s()},d),c&&u.default.createElement("button",{type:"button",className:`${A} ${P} ${s()?"":H}`,onClick:m},f)));"production"!==process.env.NODE_ENV&&(J.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}),J.defaultProps={isEdit:!1,cancelSelected:()=>({})};var B={"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"};y(".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 -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 -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::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 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:o,inputPlaceholder:t,specifyName:a,name:i,chooseIconText:n,favouriteIconTable:l,saveFavourite:r,saveText:d,canSave:s,color:c,hoverColor:f,savePlaceText:m,cantSaveText:p,requiredText:_,fontWeights:v})=>u.default.createElement("div",{className:B["favourite-modal-mobile-container"],style:{"--color":`${c}`,"--hover-color":`${f}`,"--font-weight-medium":v.medium}},u.default.createElement("div",{className:B["favourite-modal-mobile-top"]},u.default.createElement("div",{className:B["favourite-modal-mobile-header"]},e)),u.default.createElement("div",{className:B["favourite-modal-mobile-main"]},u.default.createElement("div",{className:B["favourite-modal-mobile-location-search"]},o),u.default.createElement("input",{className:B["favourite-modal-mobile-input"],value:i||"",placeholder:t,onChange:a})),u.default.createElement("div",{className:B["favourite-modal-mobile-text"]},n,u.default.createElement("p",{className:B["sr-only"]},_)),u.default.createElement("div",{className:B["favourite-modal-mobile-icons"]},l),u.default.createElement("div",{className:B["favourite-modal-mobile-save"]},u.default.createElement("button",{type:"button",className:`${B["favourite-modal-mobile-button"]} ${s()?"":B.disabled}`,onClick:r,"aria-label":`${s()?m:p}`},d)));function K(e,o){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);o&&(a=a.filter((function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable}))),t.push.apply(t,a)}return t}function M(e){for(var o=1;o<arguments.length;o++){var t=null!=arguments[o]?arguments[o]:{};o%2?K(Object(t),!0).forEach((function(o){k(e,o,t[o])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):K(Object(t)).forEach((function(o){Object.defineProperty(e,o,Object.getOwnPropertyDescriptor(t,o))}))}return e}"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}),Object.keys(R).forEach((e=>m.default.addResourceBundle(e,"translation",R[e],!0)));const Y={"icon-icon_place":"place","icon-icon_home":"home","icon-icon_work":"work","icon-icon_sport":"sport","icon-icon_school":"school","icon-icon_shopping":"shopping"},D=({value:e,selectedIconId:t,handleClick:a,color:i,lang:n})=>{const[l,r]=o.useState(!1),[d,s]=o.useState(!1),c=e===Y[t]||l||d?"#ffffff":i;return u.default.createElement("button",{type:"button",className:f.default(x["favourite-icon-table-column"],x[e],e===Y[t]&&x["selected-icon"]),onMouseEnter:()=>r(!0),onMouseLeave:()=>r(!1),onFocus:()=>s(!0),onBlur:()=>s(!1),onClick:()=>a(e),"aria-label":m.default.t(e,{lng:n})},u.default.createElement(b.default,{img:e,color:c}))};"production"!==process.env.NODE_ENV&&(D.propTypes={handleClick:c.default.func.isRequired,value:c.default.string.isRequired,selectedIconId:c.default.string.isRequired,color:c.default.string.isRequired,lang:c.default.string.isRequired});const $=({favouriteIconIds:e,selectedIconId:o,handleClick:t,color:a,lang:i})=>{const n=e.map((e=>u.default.createElement(D,{key:`favourite-icon-table-${e}`,value:e,selectedIconId:o,handleClick:t,color:a,lang:i})));return u.default.createElement("div",{className:x["generic-table"]},u.default.createElement("div",{className:x.row},n))};"production"!==process.env.NODE_ENV&&($.propTypes={handleClick:c.default.func.isRequired,favouriteIconIds:c.default.arrayOf(c.default.string).isRequired,selectedIconId:c.default.string,color:c.default.string.isRequired,lang:c.default.string.isRequired}),$.defaultProps={selectedIconId:""};class Z extends u.default.Component{constructor(e){super(e),k(this,"specifyName",(e=>{const o=e.target.value;this.setState((e=>({favourite:M(M({},e.favourite),{},{name:o})})))})),k(this,"selectIcon",(e=>{this.setState((o=>({favourite:M(M({},o.favourite),{},{selectedIconId:`icon-icon_${e}`})})))})),k(this,"isEdit",(()=>this.state.favourite&&void 0!==this.state.favourite.favouriteId)),k(this,"canSave",(()=>this.state.favourite&&!p.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()){const e=p.default(this.state.favourite.name)?this.state.favourite.defaultName:this.state.favourite.name,o=M(M({},this.state.favourite),{},{name:e});delete o.defaultName,this.props.saveFavourite(M(M({},o),{},{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.state={favourite:null}}static getDerivedStateFromProps(e,o){const t=o.favourite,a=e.favourite;return p.default(a)?{favourite:null}:p.default(t)&&!p.default(a)?{favourite:M({},a)}:p.default(t)||p.default(a)||a.address===t.address&&a.lat===t.lat&&a.lon===t.lon?null:{favourite:M(M({},t),{},{address:a.address,lat:a.lat,lon:a.lon,gid:a.gid||null,name:t.name||a.name||"",defaultName:a.defaultName})}}componentWillUnmount(){this.setState({favourite:null})}render(){const{favourite:e}=this.state,{color:o,hoverColor:t,fontWeights:a,lang:i}=this.props,n={headerText:this.isEdit()?m.default.t("edit-place",{lng:i}):m.default.t("save-place",{lng:i}),autosuggestComponent:M(M({},this.props.autosuggestComponent),{},{color:o,hoverColor:t}),inputPlaceholder:m.default.t("input-placeholder",{lng:i}),specifyName:this.specifyName,name:e&&e.name||"",chooseIconText:m.default.t("choose-icon",{lng:i}),favouriteIconTable:u.default.createElement($,{selectedIconId:(()=>{if(e&&void 0!==e.selectedIconId)return e.selectedIconId})(),favouriteIconIds:Z.favouriteIconIds,handleClick:this.selectIcon,color:o,lang:i}),saveFavourite:this.save,saveText:m.default.t("save",{lng:i}),canSave:this.canSave,isEdit:this.isEdit(),cancelText:m.default.t("cancel",{lng:i}),cancelSelected:()=>this.cancelSelected(),color:o,hoverColor:t,savePlaceText:m.default.t("save-place",{lng:i}),cantSaveText:m.default.t("cannot-save-place",{lng:i}),requiredText:m.default.t("required-text",{lng:i}),fontWeights:a};return u.default.createElement(v.default,{appElement:this.props.appElement,contentLabel:this.isEdit()?m.default.t("favourite-modal-on-edit",{lng:i,favourite:e}):m.default.t("favourite-modal-on-add-new",{lng:i}),closeButtonLabel:m.default.t("close-favourite-modal",{lng:i}),variant:this.props.isMobile?"large":"small",isOpen:this.props.isModalOpen,onCrossClick:()=>this.closeModal()},!this.props.isMobile&&u.default.createElement(J,n),this.props.isMobile&&u.default.createElement(F,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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZGV2ZWxvcG1lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS90eXBlb2YuanMiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vdG9Qcm9wZXJ0eUtleS5qcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS90b1ByaW1pdGl2ZS5qcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9kZWZpbmVQcm9wZXJ0eS5qcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1pbmplY3QvZGlzdC9zdHlsZS1pbmplY3QuZXMuanMiLCIuLi9zcmMvaGVscGVycy90cmFuc2xhdGlvbnMuanMiLCIuLi9zcmMvaGVscGVycy9EZXNrdG9wTW9kYWwuanMiLCIuLi9zcmMvaGVscGVycy9Nb2JpbGVNb2RhbC5qcyIsIi4uL3NyYy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBfdHlwZW9mKG8pIHtcbiAgXCJAYmFiZWwvaGVscGVycyAtIHR5cGVvZlwiO1xuXG4gIHJldHVybiBfdHlwZW9mID0gXCJmdW5jdGlvblwiID09IHR5cGVvZiBTeW1ib2wgJiYgXCJzeW1ib2xcIiA9PSB0eXBlb2YgU3ltYm9sLml0ZXJhdG9yID8gZnVuY3Rpb24gKG8pIHtcbiAgICByZXR1cm4gdHlwZW9mIG87XG4gIH0gOiBmdW5jdGlvbiAobykge1xuICAgIHJldHVybiBvICYmIFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgU3ltYm9sICYmIG8uY29uc3RydWN0b3IgPT09IFN5bWJvbCAmJiBvICE9PSBTeW1ib2wucHJvdG90eXBlID8gXCJzeW1ib2xcIiA6IHR5cGVvZiBvO1xuICB9LCBfdHlwZW9mKG8pO1xufVxuZXhwb3J0IHsgX3R5cGVvZiBhcyBkZWZhdWx0IH07IiwiaW1wb3J0IF90eXBlb2YgZnJvbSBcIi4vdHlwZW9mLmpzXCI7XG5pbXBvcnQgdG9QcmltaXRpdmUgZnJvbSBcIi4vdG9QcmltaXRpdmUuanNcIjtcbmZ1bmN0aW9uIHRvUHJvcGVydHlLZXkodCkge1xuICB2YXIgaSA9IHRvUHJpbWl0aXZlKHQsIFwic3RyaW5nXCIpO1xuICByZXR1cm4gXCJzeW1ib2xcIiA9PSBfdHlwZW9mKGkpID8gaSA6IGkgKyBcIlwiO1xufVxuZXhwb3J0IHsgdG9Qcm9wZXJ0eUtleSBhcyBkZWZhdWx0IH07IiwiaW1wb3J0IF90eXBlb2YgZnJvbSBcIi4vdHlwZW9mLmpzXCI7XG5mdW5jdGlvbiB0b1ByaW1pdGl2ZSh0LCByKSB7XG4gIGlmIChcIm9iamVjdFwiICE9IF90eXBlb2YodCkgfHwgIXQpIHJldHVybiB0O1xuICB2YXIgZSA9IHRbU3ltYm9sLnRvUHJpbWl0aXZlXTtcbiAgaWYgKHZvaWQgMCAhPT0gZSkge1xuICAgIHZhciBpID0gZS5jYWxsKHQsIHIgfHwgXCJkZWZhdWx0XCIpO1xuICAgIGlmIChcIm9iamVjdFwiICE9IF90eXBlb2YoaSkpIHJldHVybiBpO1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJAQHRvUHJpbWl0aXZlIG11c3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLlwiKTtcbiAgfVxuICByZXR1cm4gKFwic3RyaW5nXCIgPT09IHIgPyBTdHJpbmcgOiBOdW1iZXIpKHQpO1xufVxuZXhwb3J0IHsgdG9QcmltaXRpdmUgYXMgZGVmYXVsdCB9OyIsImltcG9ydCB0b1Byb3BlcnR5S2V5IGZyb20gXCIuL3RvUHJvcGVydHlLZXkuanNcIjtcbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShlLCByLCB0KSB7XG4gIHJldHVybiAociA9IHRvUHJvcGVydHlLZXkocikpIGluIGUgPyBPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwgciwge1xuICAgIHZhbHVlOiB0LFxuICAgIGVudW1lcmFibGU6ICEwLFxuICAgIGNvbmZpZ3VyYWJsZTogITAsXG4gICAgd3JpdGFibGU6ICEwXG4gIH0pIDogZVtyXSA9IHQsIGU7XG59XG5leHBvcnQgeyBfZGVmaW5lUHJvcGVydHkgYXMgZGVmYXVsdCB9OyIsImZ1bmN0aW9uIHN0eWxlSW5qZWN0KGNzcywgcmVmKSB7XG4gIGlmICggcmVmID09PSB2b2lkIDAgKSByZWYgPSB7fTtcbiAgdmFyIGluc2VydEF0ID0gcmVmLmluc2VydEF0O1xuXG4gIGlmICghY3NzIHx8IHR5cGVvZiBkb2N1bWVudCA9PT0gJ3VuZGVmaW5lZCcpIHsgcmV0dXJuOyB9XG5cbiAgdmFyIGhlYWQgPSBkb2N1bWVudC5oZWFkIHx8IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF07XG4gIHZhciBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7XG4gIHN0eWxlLnR5cGUgPSAndGV4dC9jc3MnO1xuXG4gIGlmIChpbnNlcnRBdCA9PT0gJ3RvcCcpIHtcbiAgICBpZiAoaGVhZC5maXJzdENoaWxkKSB7XG4gICAgICBoZWFkLmluc2VydEJlZm9yZShzdHlsZSwgaGVhZC5maXJzdENoaWxkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaGVhZC5hcHBlbmRDaGlsZChzdHlsZSk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGhlYWQuYXBwZW5kQ2hpbGQoc3R5bGUpO1xuICB9XG5cbiAgaWYgKHN0eWxlLnN0eWxlU2hlZXQpIHtcbiAgICBzdHlsZS5zdHlsZVNoZWV0LmNzc1RleHQgPSBjc3M7XG4gIH0gZWxzZSB7XG4gICAgc3R5bGUuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoY3NzKSk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgc3R5bGVJbmplY3Q7XG4iLCJjb25zdCB0cmFuc2xhdGlvbnMgPSB7XG4gIGRlOiB7XG4gICAgY2FuY2VsOiAnQWJicmVjaGVuJyxcbiAgICAnY2hvb3NlLWljb24nOiAnV8OkaGxlbiBTaWUgZWluIFN5bWJvbCBmw7xyIGRpZXNlbiBPcnQnLFxuICAgICdjbG9zZS1mYXZvdXJpdGUtbW9kYWwnOiAnRmF2b3JpdGVuLURpYWxvZyBzY2hsaWXDn2VuJyxcbiAgICAnZWRpdC1wbGFjZSc6ICdPcnQgYmVhcmJlaXRlbicsXG4gICAgJ2Zhdm91cml0ZS1tb2RhbC1vbi1hZGQtbmV3JzogJ05ldWVuIEZhdm9yaXRlbiBoaW56dWbDvGdlbicsXG4gICAgJ2Zhdm91cml0ZS1tb2RhbC1vbi1lZGl0JzogJ0Zhdm9yaXQgYmVhcmJlaXRlbjoge3tmYXZvdXJpdGUubmFtZX19JyxcbiAgICAnaW5wdXQtcGxhY2Vob2xkZXInOiAnRWluZW4gTmFtZW4gZsO8ciBPcnQgc2V0emVuIChvcHRpb25hbCknLFxuICAgIHNhdmU6ICdTcGVpY2hlcm4nLFxuICAgICdzYXZlLXBsYWNlJzogJ0Zhdm9yaXQgc3BlaWNoZXJuJyxcbiAgfSxcbiAgZW46IHtcbiAgICBjYW5jZWw6ICdDYW5jZWwnLFxuICAgICdjaG9vc2UtaWNvbic6IFwiU2VsZWN0IHRoZSBwbGFjZSdzIGljb25cIixcbiAgICAnY2xvc2UtZmF2b3VyaXRlLW1vZGFsJzogJ0Nsb3NlIHRoZSBmYXZvdXJpdGUgbW9kYWwnLFxuICAgICdlZGl0LXBsYWNlJzogJ0VkaXQgcGxhY2UnLFxuICAgICdmYXZvdXJpdGUtbW9kYWwtb24tYWRkLW5ldyc6ICdBZGQgYSBuZXcgZmF2b3JpdGUnLFxuICAgICdmYXZvdXJpdGUtbW9kYWwtb24tZWRpdCc6ICdFZGl0aW5nIGZhdm91cml0ZToge3tmYXZvdXJpdGUubmFtZX19JyxcbiAgICAnaW5wdXQtcGxhY2Vob2xkZXInOiAnR2l2ZSB0aGUgbmFtZSBhIHBsYWNlIChvcHRpb25hbCknLFxuICAgIHNhdmU6ICdTYXZlJyxcbiAgICAnc2F2ZS1wbGFjZSc6ICdTYXZlIHBsYWNlJyxcbiAgICAnY2Fubm90LXNhdmUtcGxhY2UnOiAnQ2Fubm90IHNhdmUgYSBwbGFjZSB3aXRob3V0IGFkZHJlc3Mgb3IgaWNvbicsXG4gICAgcGxhY2U6ICdhIHBsYWNlJyxcbiAgICBob21lOiAnaG9tZScsXG4gICAgd29yazogJ3dvcmsnLFxuICAgIHNwb3J0OiAnc3BvcnQnLFxuICAgIHNjaG9vbDogJ3NjaG9vbCcsXG4gICAgc2hvcHBpbmc6ICdzaG9wcGluZycsXG4gICAgJ3JlcXVpcmVkLXRleHQnOiAncmVxdWlyZWQgZmllbGQnLFxuICB9LFxuICBmaToge1xuICAgIGNhbmNlbDogJ1BlcnV1dGEnLFxuICAgICdjaG9vc2UtaWNvbic6ICdWYWxpdHNlIHBhaWthbiBrdXZha2UnLFxuICAgICdjbG9zZS1mYXZvdXJpdGUtbW9kYWwnOiAnU3VsamUgc3Vvc2lra2ltb2RhYWxpJyxcbiAgICAnZWRpdC1wbGFjZSc6ICdNdW9ra2FhIHBhaWtrYWEnLFxuICAgICdmYXZvdXJpdGUtbW9kYWwtb24tYWRkLW5ldyc6ICdMaXPDpMOkIHV1c2kgc3Vvc2lra2knLFxuICAgICdmYXZvdXJpdGUtbW9kYWwtb24tZWRpdCc6ICdNdW9ra2FhIHN1b3Npa2tpYSB7e2Zhdm91cml0ZS5uYW1lfX0nLFxuICAgICdpbnB1dC1wbGFjZWhvbGRlcic6ICdBbm5hIHBhaWthbGxlIG5pbWkgKHZhcGFhZWh0b2luZW4pJyxcbiAgICBzYXZlOiAnVGFsbGVubmEnLFxuICAgICdzYXZlLXBsYWNlJzogJ1RhbGxlbm5hIHBhaWtrYScsXG4gICAgJ2Nhbm5vdC1zYXZlLXBsYWNlJzpcbiAgICAgICdQYWlra2FhIGlsbWFuIG9zb2l0ZXR0YSB0YWkgaWtvbmlhIGVpIHZvaWRhIHRhbGxlbnRhYScsXG4gICAgcGxhY2U6ICdwYWlra2EnLFxuICAgIGhvbWU6ICdrb3RpJyxcbiAgICB3b3JrOiAndHnDticsXG4gICAgc3BvcnQ6ICd1cmhlaWx1JyxcbiAgICBzY2hvb2w6ICdrb3VsdScsXG4gICAgc2hvcHBpbmc6ICdvc3Rva3NldCcsXG4gICAgJ3JlcXVpcmVkLXRleHQnOiAncGFrb2xsaW5lbiBrZW50dMOkJyxcbiAgfSxcbiAgcGw6IHtcbiAgICBjYW5jZWw6ICdBbnVsdWonLFxuICAgICdjaG9vc2UtaWNvbic6ICdXeWJpZXJ6IGlrb27EmSBtaWVqc2NhJyxcbiAgICAnY2xvc2UtZmF2b3VyaXRlLW1vZGFsJzogJ1phbWtuaWogbW9kYWwgdWx1YmlvbnljaCcsXG4gICAgJ2VkaXQtcGxhY2UnOiAnRWR5dHVqIG1pZWpzY2UnLFxuICAgICdmYXZvdXJpdGUtbW9kYWwtb24tYWRkLW5ldyc6ICdEb2RhaiB1bHViaW9uZSBtaWVqc2NlJyxcbiAgICAnZmF2b3VyaXRlLW1vZGFsLW9uLWVkaXQnOiAnRWR5Y2phIHVsdWJpb25lZ28gbWllanNjYToge3tmYXZvdXJpdGUubmFtZX19JyxcbiAgICAnaW5wdXQtcGxhY2Vob2xkZXInOiAnTmFkYWogbmF6d8SZIG1pZWpzY3UgKG9wY2pvbmFsbmUpJyxcbiAgICBzYXZlOiAnWmFwaXN6JyxcbiAgICAnc2F2ZS1wbGFjZSc6ICdaYXBpc3ogbWllanNjZScsXG4gICAgJ2Nhbm5vdC1zYXZlLXBsYWNlJzogJ05pZSBtb8W8bmEgemFwaXNhxIcgbWllanNjYSBiZXogbmF6d3kgbHViIGlrb255JyxcbiAgICBwbGFjZTogJ21pZWpzY2UnLFxuICAgIGhvbWU6ICdkb20nLFxuICAgIHdvcms6ICdwcmFjYScsXG4gICAgc3BvcnQ6ICdzcG9ydCcsXG4gICAgc2Nob29sOiAnc3prb8WCYScsXG4gICAgc2hvcHBpbmc6ICd6YWt1cHknLFxuICAgICdyZXF1aXJlZC10ZXh0JzogJ3BvbGUgd3ltYWdhbmUnLFxuICB9LFxuICBzdjoge1xuICAgIGNhbmNlbDogJ0F2YnJ5dCcsXG4gICAgJ2Nob29zZS1pY29uJzogJ1bDpGxqIHBsYXRzZW5zIGlrb24nLFxuICAgICdjbG9zZS1mYXZvdXJpdGUtbW9kYWwnOiAnU3TDpG5nIGZhdm9yaXRtb2RhbGVuJyxcbiAgICAnZWRpdC1wbGFjZSc6ICdSZWRpZ2VyYSBwbGF0cycsXG4gICAgJ2Zhdm91cml0ZS1tb2RhbC1vbi1hZGQtbmV3JzogJ0zDpGdnIHRpbGwgbnkgZmF2b3JpdCcsXG4gICAgJ2Zhdm91cml0ZS1tb2RhbC1vbi1lZGl0JzogJ1JlZGlnZXJhIHBsYXRzZW46IHt7ZmF2b3VyaXRlLm5hbWV9fScsXG4gICAgJ2lucHV0LXBsYWNlaG9sZGVyJzogJ0FuZ2UgcGxhdHNlbnMgbmFtbiAoZnJpdmlsbGlndCknLFxuICAgIHNhdmU6ICdTcGFyYScsXG4gICAgJ3NhdmUtcGxhY2UnOiAnU3BhcmEgcGxhdHMnLFxuICAgICdjYW5ub3Qtc2F2ZS1wbGFjZSc6XG4gICAgICAnRGV0IGfDpXIgaW50ZSBhdHQgc3BhcmEgZW4gcGxhdHMgdXRhbiBhZHJlc3MgZWxsZXIgaWtvbicsXG4gICAgcGxhY2U6ICdlbiBwbGF0cycsXG4gICAgaG9tZTogJ2hlbScsXG4gICAgd29yazogJ2FyYmV0ZScsXG4gICAgc3BvcnQ6ICdzcG9ydCcsXG4gICAgc2Nob29sOiAnc2tvbGEnLFxuICAgIHNob3BwaW5nOiAnc2hvcHBhJyxcbiAgICAncmVxdWlyZWQtZmllbGQnOiAnb2JsaWdhdG9yaXNrdCBmw6RsdCcsXG4gIH0sXG59O1xuXG5leHBvcnQgZGVmYXVsdCB0cmFuc2xhdGlvbnM7XG4iLCIvKiBlc2xpbnQtZGlzYWJsZSBqc3gtYTExeS9jbGljay1ldmVudHMtaGF2ZS1rZXktZXZlbnRzICovXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBjeCBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCBzdHlsZXMgZnJvbSAnLi9kZXNrdG9wLnNjc3MnO1xuXG5jb25zdCBEZXNrdG9wTW9kYWwgPSAoe1xuICBoZWFkZXJUZXh0LFxuICBhdXRvc3VnZ2VzdENvbXBvbmVudCxcbiAgaW5wdXRQbGFjZWhvbGRlcixcbiAgc3BlY2lmeU5hbWUsXG4gIG5hbWUsXG4gIGNob29zZUljb25UZXh0LFxuICBmYXZvdXJpdGVJY29uVGFibGUsXG4gIHNhdmVGYXZvdXJpdGUsXG4gIHNhdmVUZXh0LFxuICBjYW5TYXZlLFxuICBpc0VkaXQsXG4gIGNhbmNlbFRleHQsXG4gIGNhbmNlbFNlbGVjdGVkLFxuICBjb2xvcixcbiAgaG92ZXJDb2xvcixcbiAgc2F2ZVBsYWNlVGV4dCxcbiAgY2FudFNhdmVUZXh0LFxuICByZXF1aXJlZFRleHQsXG4gIGZvbnRXZWlnaHRzLFxufSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGNsYXNzTmFtZT17c3R5bGVzWydmYXZvdXJpdGUtbW9kYWwtZGVza3RvcC1jb250YWluZXInXX1cbiAgICAgIHN0eWxlPXt7XG4gICAgICAgICctLWNvbG9yJzogYCR7Y29sb3J9YCxcbiAgICAgICAgJy0taG92ZXItY29sb3InOiBgJHtob3ZlckNvbG9yfWAsXG4gICAgICAgICctLWZvbnQtd2VpZ2h0LW1lZGl1bSc6IGZvbnRXZWlnaHRzLm1lZGl1bSxcbiAgICAgIH19XG4gICAgPlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snZmF2b3VyaXRlLW1vZGFsLWRlc2t0b3AtdG9wJ119PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydmYXZvdXJpdGUtbW9kYWwtZGVza3RvcC1oZWFkZXInXX0+XG4gICAgICAgICAge2hlYWRlclRleHR9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydmYXZvdXJpdGUtbW9kYWwtZGVza3RvcC1tYWluJ119PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydmYXZvdXJpdGUtbW9kYWwtZGVza3RvcC1sb2NhdGlvbi1zZWFyY2gnXX0+XG4gICAgICAgICAge2F1dG9zdWdnZXN0Q29tcG9uZW50fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snZmF2b3VyaXRlLW1vZGFsLWRlc2t0b3AtbmFtZSddfT5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIGFyaWEtbGFiZWw9e2lucHV0UGxhY2Vob2xkZXJ9XG4gICAgICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1snZmF2b3VyaXRlLW1vZGFsLWRlc2t0b3AtaW5wdXQnXX1cbiAgICAgICAgICAgIHZhbHVlPXtuYW1lfVxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9e2lucHV0UGxhY2Vob2xkZXJ9XG4gICAgICAgICAgICBvbkNoYW5nZT17c3BlY2lmeU5hbWV9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxmaWVsZHNldCBjbGFzc05hbWU9e3N0eWxlc1snaWNvbnMtY29udGFpbmVyJ119PlxuICAgICAgICA8bGVnZW5kIGNsYXNzTmFtZT17c3R5bGVzWydmYXZvdXJpdGUtbW9kYWwtZGVza3RvcC10ZXh0J119PlxuICAgICAgICAgIHtjaG9vc2VJY29uVGV4dH1cbiAgICAgICAgICA8cCBjbGFzc05hbWU9e3N0eWxlc1snc3Itb25seSddfT57cmVxdWlyZWRUZXh0fTwvcD5cbiAgICAgICAgPC9sZWdlbmQ+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2Zhdm91cml0ZS1tb2RhbC1kZXNrdG9wLWljb25zJ119PlxuICAgICAgICAgIHtmYXZvdXJpdGVJY29uVGFibGV9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9maWVsZHNldD5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2Zhdm91cml0ZS1tb2RhbC1kZXNrdG9wLWJ1dHRvbnMnXX0+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzc05hbWU9e2N4KFxuICAgICAgICAgICAgYCR7c3R5bGVzWydmYXZvdXJpdGUtbW9kYWwtZGVza3RvcC1idXR0b24nXX0gJHtzdHlsZXMuc2F2ZX0gJHtcbiAgICAgICAgICAgICAgY2FuU2F2ZSgpID8gJycgOiBzdHlsZXMuZGlzYWJsZWRcbiAgICAgICAgICAgIH1gLFxuICAgICAgICAgICl9XG4gICAgICAgICAgb25DbGljaz17c2F2ZUZhdm91cml0ZX1cbiAgICAgICAgICBhcmlhLWxhYmVsPXtgJHtjYW5TYXZlKCkgPyBzYXZlUGxhY2VUZXh0IDogY2FudFNhdmVUZXh0fWB9XG4gICAgICAgICAgYXJpYS1kaXNhYmxlZD17IWNhblNhdmUoKX1cbiAgICAgICAgPlxuICAgICAgICAgIHtzYXZlVGV4dH1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIHtpc0VkaXQgJiYgKFxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjeChcbiAgICAgICAgICAgICAgYCR7c3R5bGVzWydmYXZvdXJpdGUtbW9kYWwtZGVza3RvcC1idXR0b24nXX0gJHtzdHlsZXMuZWRpdH0gJHtcbiAgICAgICAgICAgICAgICBjYW5TYXZlKCkgPyAnJyA6IHN0eWxlcy5kaXNhYmxlZFxuICAgICAgICAgICAgICB9YCxcbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICBvbkNsaWNrPXtjYW5jZWxTZWxlY3RlZH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7Y2FuY2VsVGV4dH1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuRGVza3RvcE1vZGFsLnByb3BUeXBlcyA9IHtcbiAgaGVhZGVyVGV4dDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBhdXRvc3VnZ2VzdENvbXBvbmVudDogUHJvcFR5cGVzLm5vZGUuaXNSZXF1aXJlZCxcbiAgaW5wdXRQbGFjZWhvbGRlcjogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBzcGVjaWZ5TmFtZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgbmFtZTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBjaG9vc2VJY29uVGV4dDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBmYXZvdXJpdGVJY29uVGFibGU6IFByb3BUeXBlcy5ub2RlLmlzUmVxdWlyZWQsXG4gIHNhdmVGYXZvdXJpdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIHNhdmVUZXh0OiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIGNhblNhdmU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIGlzRWRpdDogUHJvcFR5cGVzLmJvb2wsXG4gIGNhbmNlbFRleHQ6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgY2FuY2VsU2VsZWN0ZWQ6IFByb3BUeXBlcy5mdW5jLFxuICBjb2xvcjogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBob3ZlckNvbG9yOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIHNhdmVQbGFjZVRleHQ6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgY2FudFNhdmVUZXh0OiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIHJlcXVpcmVkVGV4dDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBmb250V2VpZ2h0czogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICBtZWRpdW06IFByb3BUeXBlcy5udW1iZXIuaXNSZXF1aXJlZCxcbiAgfSkuaXNSZXF1aXJlZCxcbn07XG5cbkRlc2t0b3BNb2RhbC5kZWZhdWx0UHJvcHMgPSB7XG4gIGlzRWRpdDogZmFsc2UsXG4gIGNhbmNlbFNlbGVjdGVkOiAoKSA9PiAoe30pLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgRGVza3RvcE1vZGFsO1xuIiwiLyogZXNsaW50LWRpc2FibGUganN4LWExMXkvY2xpY2stZXZlbnRzLWhhdmUta2V5LWV2ZW50cyAqL1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgY3ggZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgc3R5bGVzIGZyb20gJy4vbW9iaWxlLnNjc3MnO1xuXG5jb25zdCBNb2JpbGVNb2RhbCA9ICh7XG4gIGhlYWRlclRleHQsXG4gIGF1dG9zdWdnZXN0Q29tcG9uZW50LFxuICBpbnB1dFBsYWNlaG9sZGVyLFxuICBzcGVjaWZ5TmFtZSxcbiAgbmFtZSxcbiAgY2hvb3NlSWNvblRleHQsXG4gIGZhdm91cml0ZUljb25UYWJsZSxcbiAgc2F2ZUZhdm91cml0ZSxcbiAgc2F2ZVRleHQsXG4gIGNhblNhdmUsXG4gIGNvbG9yLFxuICBob3ZlckNvbG9yLFxuICBzYXZlUGxhY2VUZXh0LFxuICBjYW50U2F2ZVRleHQsXG4gIHJlcXVpcmVkVGV4dCxcbiAgZm9udFdlaWdodHMsXG59KSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY2xhc3NOYW1lPXtzdHlsZXNbJ2Zhdm91cml0ZS1tb2RhbC1tb2JpbGUtY29udGFpbmVyJ119XG4gICAgICBzdHlsZT17e1xuICAgICAgICAnLS1jb2xvcic6IGAke2NvbG9yfWAsXG4gICAgICAgICctLWhvdmVyLWNvbG9yJzogYCR7aG92ZXJDb2xvcn1gLFxuICAgICAgICAnLS1mb250LXdlaWdodC1tZWRpdW0nOiBmb250V2VpZ2h0cy5tZWRpdW0sXG4gICAgICB9fVxuICAgID5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2Zhdm91cml0ZS1tb2RhbC1tb2JpbGUtdG9wJ119PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydmYXZvdXJpdGUtbW9kYWwtbW9iaWxlLWhlYWRlciddfT5cbiAgICAgICAgICB7aGVhZGVyVGV4dH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2Zhdm91cml0ZS1tb2RhbC1tb2JpbGUtbWFpbiddfT5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snZmF2b3VyaXRlLW1vZGFsLW1vYmlsZS1sb2NhdGlvbi1zZWFyY2gnXX0+XG4gICAgICAgICAge2F1dG9zdWdnZXN0Q29tcG9uZW50fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXNbJ2Zhdm91cml0ZS1tb2RhbC1tb2JpbGUtaW5wdXQnXX1cbiAgICAgICAgICB2YWx1ZT17bmFtZSB8fCAnJ31cbiAgICAgICAgICBwbGFjZWhvbGRlcj17aW5wdXRQbGFjZWhvbGRlcn1cbiAgICAgICAgICBvbkNoYW5nZT17c3BlY2lmeU5hbWV9XG4gICAgICAgIC8+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2Zhdm91cml0ZS1tb2RhbC1tb2JpbGUtdGV4dCddfT5cbiAgICAgICAge2Nob29zZUljb25UZXh0fVxuICAgICAgICA8cCBjbGFzc05hbWU9e3N0eWxlc1snc3Itb25seSddfT57cmVxdWlyZWRUZXh0fTwvcD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snZmF2b3VyaXRlLW1vZGFsLW1vYmlsZS1pY29ucyddfT5cbiAgICAgICAge2Zhdm91cml0ZUljb25UYWJsZX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snZmF2b3VyaXRlLW1vZGFsLW1vYmlsZS1zYXZlJ119PlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgY2xhc3NOYW1lPXtjeChcbiAgICAgICAgICAgIGAke3N0eWxlc1snZmF2b3VyaXRlLW1vZGFsLW1vYmlsZS1idXR0b24nXX0gJHtcbiAgICAgICAgICAgICAgY2FuU2F2ZSgpID8gJycgOiBzdHlsZXMuZGlzYWJsZWRcbiAgICAgICAgICAgIH1gLFxuICAgICAgICAgICl9XG4gICAgICAgICAgb25DbGljaz17c2F2ZUZhdm91cml0ZX1cbiAgICAgICAgICBhcmlhLWxhYmVsPXtgJHtjYW5TYXZlKCkgPyBzYXZlUGxhY2VUZXh0IDogY2FudFNhdmVUZXh0fWB9XG4gICAgICAgID5cbiAgICAgICAgICB7c2F2ZVRleHR9XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5Nb2JpbGVNb2RhbC5wcm9wVHlwZXMgPSB7XG4gIGhlYWRlclRleHQ6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgYXV0b3N1Z2dlc3RDb21wb25lbnQ6IFByb3BUeXBlcy5ub2RlLmlzUmVxdWlyZWQsXG4gIGlucHV0UGxhY2Vob2xkZXI6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgc3BlY2lmeU5hbWU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIG5hbWU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgY2hvb3NlSWNvblRleHQ6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgZmF2b3VyaXRlSWNvblRhYmxlOiBQcm9wVHlwZXMubm9kZS5pc1JlcXVpcmVkLFxuICBzYXZlRmF2b3VyaXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICBzYXZlVGV4dDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBjYW5TYXZlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICBjb2xvcjogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBob3ZlckNvbG9yOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIHNhdmVQbGFjZVRleHQ6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgY2FudFNhdmVUZXh0OiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIHJlcXVpcmVkVGV4dDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBmb250V2VpZ2h0czogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICBtZWRpdW06IFByb3BUeXBlcy5udW1iZXIuaXNSZXF1aXJlZCxcbiAgfSkuaXNSZXF1aXJlZCxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IE1vYmlsZU1vZGFsO1xuIiwiLyogZXNsaW50LWRpc2FibGUganN4LWExMXkvY2xpY2stZXZlbnRzLWhhdmUta2V5LWV2ZW50cyAqL1xuaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBjeCBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCBpMThuZXh0IGZyb20gJ2kxOG5leHQnO1xuaW1wb3J0IGlzRW1wdHkgZnJvbSAnbG9kYXNoL2lzRW1wdHknO1xuaW1wb3J0IGlzTnVtYmVyIGZyb20gJ2xvZGFzaC9pc051bWJlcic7XG5pbXBvcnQgTW9kYWwgZnJvbSAnQGhzbC1maS9tb2RhbCc7XG5pbXBvcnQgSWNvbiBmcm9tICdAZGlnaXRyYW5zaXQtY29tcG9uZW50L2RpZ2l0cmFuc2l0LWNvbXBvbmVudC1pY29uJztcbmltcG9ydCBzdHlsZXMgZnJvbSAnLi9oZWxwZXJzL3N0eWxlcy5zY3NzJztcbmltcG9ydCB0cmFuc2xhdGlvbnMgZnJvbSAnLi9oZWxwZXJzL3RyYW5zbGF0aW9ucyc7XG5pbXBvcnQgRGVza3RvcE1vZGFsIGZyb20gJy4vaGVscGVycy9EZXNrdG9wTW9kYWwnO1xuaW1wb3J0IE1vYmlsZU1vZGFsIGZyb20gJy4vaGVscGVycy9Nb2JpbGVNb2RhbCc7XG5cbk9iamVjdC5rZXlzKHRyYW5zbGF0aW9ucykuZm9yRWFjaChsYW5nID0+XG4gIGkxOG5leHQuYWRkUmVzb3VyY2VCdW5kbGUobGFuZywgJ3RyYW5zbGF0aW9uJywgdHJhbnNsYXRpb25zW2xhbmddLCB0cnVlKSxcbik7XG5cbmNvbnN0IEZhdm91cml0ZUljb25JZFRvTmFtZU1hcCA9IHtcbiAgJ2ljb24taWNvbl9wbGFjZSc6ICdwbGFjZScsXG4gICdpY29uLWljb25faG9tZSc6ICdob21lJyxcbiAgJ2ljb24taWNvbl93b3JrJzogJ3dvcmsnLFxuICAnaWNvbi1pY29uX3Nwb3J0JzogJ3Nwb3J0JyxcbiAgJ2ljb24taWNvbl9zY2hvb2wnOiAnc2Nob29sJyxcbiAgJ2ljb24taWNvbl9zaG9wcGluZyc6ICdzaG9wcGluZycsXG59O1xuXG5jb25zdCBGYXZvdXJpdGVJY29uVGFibGVCdXR0b24gPSAoe1xuICB2YWx1ZSxcbiAgc2VsZWN0ZWRJY29uSWQsXG4gIGhhbmRsZUNsaWNrLFxuICBjb2xvcixcbiAgbGFuZyxcbn0pID0+IHtcbiAgY29uc3QgW2lzSG92ZXJlZCwgc2V0SG92ZXJdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBbaXNGb2N1c2VkLCBzZXRGb2N1c10gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IGljb25Db2xvciA9XG4gICAgdmFsdWUgPT09IEZhdm91cml0ZUljb25JZFRvTmFtZU1hcFtzZWxlY3RlZEljb25JZF0gfHwgaXNIb3ZlcmVkIHx8IGlzRm9jdXNlZFxuICAgICAgPyAnI2ZmZmZmZidcbiAgICAgIDogY29sb3I7XG4gIHJldHVybiAoXG4gICAgPGJ1dHRvblxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBjbGFzc05hbWU9e2N4KHN0eWxlc1snZmF2b3VyaXRlLWljb24tdGFibGUtY29sdW1uJ10sIHN0eWxlc1t2YWx1ZV0sIHtcbiAgICAgICAgW3N0eWxlc1snc2VsZWN0ZWQtaWNvbiddXTpcbiAgICAgICAgICB2YWx1ZSA9PT0gRmF2b3VyaXRlSWNvbklkVG9OYW1lTWFwW3NlbGVjdGVkSWNvbklkXSxcbiAgICAgIH0pfVxuICAgICAgb25Nb3VzZUVudGVyPXsoKSA9PiBzZXRIb3Zlcih0cnVlKX1cbiAgICAgIG9uTW91c2VMZWF2ZT17KCkgPT4gc2V0SG92ZXIoZmFsc2UpfVxuICAgICAgb25Gb2N1cz17KCkgPT4gc2V0Rm9jdXModHJ1ZSl9XG4gICAgICBvbkJsdXI9eygpID0+IHNldEZvY3VzKGZhbHNlKX1cbiAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZUNsaWNrKHZhbHVlKX1cbiAgICAgIGFyaWEtbGFiZWw9e2kxOG5leHQudCh2YWx1ZSwgeyBsbmc6IGxhbmcgfSl9XG4gICAgPlxuICAgICAgPEljb24gaW1nPXt2YWx1ZX0gY29sb3I9e2ljb25Db2xvcn0gLz5cbiAgICA8L2J1dHRvbj5cbiAgKTtcbn07XG5cbkZhdm91cml0ZUljb25UYWJsZUJ1dHRvbi5wcm9wVHlwZXMgPSB7XG4gIGhhbmRsZUNsaWNrOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICB2YWx1ZTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBzZWxlY3RlZEljb25JZDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBjb2xvcjogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBsYW5nOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG59O1xuXG5jb25zdCBGYXZvdXJpdGVJY29uVGFibGUgPSAoe1xuICBmYXZvdXJpdGVJY29uSWRzLFxuICBzZWxlY3RlZEljb25JZCxcbiAgaGFuZGxlQ2xpY2ssXG4gIGNvbG9yLFxuICBsYW5nLFxufSkgPT4ge1xuICBjb25zdCBjb2x1bW5zID0gZmF2b3VyaXRlSWNvbklkcy5tYXAodmFsdWUgPT4gKFxuICAgIDxGYXZvdXJpdGVJY29uVGFibGVCdXR0b25cbiAgICAgIGtleT17YGZhdm91cml0ZS1pY29uLXRhYmxlLSR7dmFsdWV9YH1cbiAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgIHNlbGVjdGVkSWNvbklkPXtzZWxlY3RlZEljb25JZH1cbiAgICAgIGhhbmRsZUNsaWNrPXtoYW5kbGVDbGlja31cbiAgICAgIGNvbG9yPXtjb2xvcn1cbiAgICAgIGxhbmc9e2xhbmd9XG4gICAgLz5cbiAgKSk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydnZW5lcmljLXRhYmxlJ119PlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlcy5yb3d9Pntjb2x1bW5zfTwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuRmF2b3VyaXRlSWNvblRhYmxlLnByb3BUeXBlcyA9IHtcbiAgaGFuZGxlQ2xpY2s6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIGZhdm91cml0ZUljb25JZHM6IFByb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5zdHJpbmcpLmlzUmVxdWlyZWQsXG4gIHNlbGVjdGVkSWNvbklkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBjb2xvcjogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBsYW5nOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG59O1xuXG5GYXZvdXJpdGVJY29uVGFibGUuZGVmYXVsdFByb3BzID0ge1xuICBzZWxlY3RlZEljb25JZDogJycsXG59O1xuXG4vKipcbiAqIEBleGFtcGxlXG4gKiA8RmF2b3VyaXRlTW9kYWxcbiAqICAgc2hvdz17bW9kYWxPcGVufVxuICogICBoYW5kbGVDbG9zZT17aGFuZGxlQ2xvc2V9XG4gKiAgIHNhdmVGYXZvdXJpdGU9e29uU2F2ZUZhdm91cml0ZX1cbiAqICAgbG9jYXRpb249e3NlbGVjdGVkTG9jYXRpb259XG4gKiAgIGZhdm91cml0ZT17ZmF2b3VyaXRlfVxuICogICBsYW5nPXtsYW5nfVxuICogICBhdXRvc3VnZ2VzdENvbXBvbmVudD17XG4gKiAgICAgPEF1dG9TdWdnZXN0XG4gKiAgICAgICBzb3VyY2VzPXtbJ0hpc3RvcnknLCAnRGF0YXNvdXJjZSddfVxuICogICAgICAgdGFyZ2V0cz17WydMb2NhdGlvbnMnLCAnQ3VycmVudFBvc2l0aW9uJ119XG4gKiAgICAgICBpZD1cImZhdm91cml0ZVwiXG4gKiAgICAgICBhdXRvRm9jdXM9e2ZhbHNlfVxuICogICAgICAgcGxhY2Vob2xkZXI9XCJzZWFyY2gtYWRkcmVzcy1vci1wbGFjZVwiXG4gKiAgICAgICB2YWx1ZT17c2VsZWN0ZWRMb2NhdGlvbi5hZGRyZXNzIHx8ICcnfVxuICogICAgICAgb25GYXZvdXJpdGVTZWxlY3RlZD17dGhpcy5zZXRMb2NhdGlvblByb3BlcnRpZXN9XG4gKiAgICAgICBsYW5nPXtsYW5nfVxuICogICAgIC8+XG4gKiAgIH1cbiAqIC8+XG4gKi9cbmNsYXNzIEZhdm91cml0ZU1vZGFsIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBpc01vZGFsT3BlbjogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICAvKiogUmVxdWlyZWQuXG4gICAgICogQHR5cGV7ZnVuY3Rpb259ICovXG4gICAgaGFuZGxlQ2xvc2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgLyoqIFJlcXVpcmVkLlxuICAgICAqIEB0eXBle2Z1bmN0aW9ufSAqL1xuICAgIHNhdmVGYXZvdXJpdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgLyoqIFJlcXVpcmVkLiBPbmx5IHVzZWQgd2hlbiBlZGl0aW5nIGZhdm91cml0ZS5cbiAgICAgKiBAdHlwZXtmdW5jdGlvbn0gKi9cbiAgICBjYW5jZWxTZWxlY3RlZDogUHJvcFR5cGVzLmZ1bmMsXG4gICAgLyoqIE9wdGlvbmFsLlxuICAgICAqIEF1dG9zdWdnZXN0IGNvbXBvbmVudCBmb3Igc2VhcmNoaW5nIG5ldyBmYXZvdXJpdGVzLlxuICAgICAqIEB0eXBle25vZGV9XG4gICAgICovXG4gICAgYXV0b3N1Z2dlc3RDb21wb25lbnQ6IFByb3BUeXBlcy5ub2RlLFxuICAgIC8qKiBPcHRpb25hbC5cbiAgICAgKiBPYmplY3QgdG8gcHJlZmlsbCBpbnB1dCBmaWVsZCBmb3IgbmFtZSBhbmQvb3Igc2VsZWN0ZWQgaWNvbi5cbiAgICAgKiBAdHlwZSB7b2JqZWN0fVxuICAgICAqIEBwcm9wZXJ0eSB7c3RyaW5nfSB0eXBlXG4gICAgICogQHByb3BlcnR5IHtzdHJpbmd9IGFkZHJlc3NcbiAgICAgKiBAcHJvcGVydHkge3N0cmluZ30gZ3Rmc0lkXG4gICAgICogQHByb3BlcnR5IHtzdHJpbmd9IGdpZFxuICAgICAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBsYXRcbiAgICAgKiBAcHJvcGVydHkge251bWJlcn0gbG9uXG4gICAgICogQHByb3BlcnR5IHtzdHJpbmd9IG5hbWVcbiAgICAgKiBAcHJvcGVydHkge3N0cmluZ30gc2VsZWN0ZWRJY29uSWRcbiAgICAgKiBAcHJvcGVydHkge3N0cmluZ30gZmF2b3VyaXRlSWRcbiAgICAgKiBAcHJvcGVydHkge3N0cmluZ30gbGF5ZXJcbiAgICAgKiBAcHJvcGVydHkge3N0cmluZ30gZGVmYXVsdE5hbWVcbiAgICAgKi9cbiAgICBmYXZvdXJpdGU6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICB0eXBlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgYWRkcmVzczogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgIGd0ZnNJZDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgIGdpZDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgIGxhdDogUHJvcFR5cGVzLm51bWJlcixcbiAgICAgIGxvbjogUHJvcFR5cGVzLm51bWJlcixcbiAgICAgIG5hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICBzZWxlY3RlZEljb25JZDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgIGZhdm91cml0ZUlkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgbGF5ZXI6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICBkZWZhdWx0TmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICB9KSxcbiAgICAvKiogT3B0aW9uYWwuXG4gICAgICogQHR5cGUge2Z1bmN0aW9ufSAqL1xuICAgIGFkZEFuYWx5dGljc0V2ZW50OiBQcm9wVHlwZXMuZnVuYyxcbiAgICAvKiogT3B0aW9uYWwuIExhbmd1YWdlLCBmaSwgZW4gb3Igc3YuXG4gICAgICogQHR5cGUge3N0cmluZ30gKi9cbiAgICBsYW5nOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIC8qKiBPcHRpb25hbC4gKi9cbiAgICBpc01vYmlsZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgYXBwRWxlbWVudDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIGNvbG9yOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGhvdmVyQ29sb3I6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgLyoqIE9wdGlvbmFsLiAqL1xuICAgIGZvbnRXZWlnaHRzOiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgLyoqIERlZmF1bHQgdmFsdWUgaXMgNTAwLiAqL1xuICAgICAgbWVkaXVtOiBQcm9wVHlwZXMubnVtYmVyLFxuICAgIH0pLFxuICB9O1xuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgY2FuY2VsU2VsZWN0ZWQ6ICgpID0+ICh7fSksXG4gICAgbGFuZzogJ2ZpJyxcbiAgICBpc01vYmlsZTogZmFsc2UsXG4gICAgZmF2b3VyaXRlOiBudWxsLFxuICAgIGF1dG9zdWdnZXN0Q29tcG9uZW50OiB1bmRlZmluZWQsXG4gICAgYWRkQW5hbHl0aWNzRXZlbnQ6IHVuZGVmaW5lZCxcbiAgICBjb2xvcjogJyMwMDdhYzknLFxuICAgIGhvdmVyQ29sb3I6ICcjMDA2MmExJyxcbiAgICBmb250V2VpZ2h0czoge1xuICAgICAgbWVkaXVtOiA1MDAsXG4gICAgfSxcbiAgfTtcblxuICBzdGF0aWMgZmF2b3VyaXRlSWNvbklkcyA9IFtcbiAgICAncGxhY2UnLFxuICAgICdob21lJyxcbiAgICAnd29yaycsXG4gICAgJ3Nwb3J0JyxcbiAgICAnc2Nob29sJyxcbiAgICAnc2hvcHBpbmcnLFxuICBdO1xuXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICBmYXZvdXJpdGU6IG51bGwsXG4gICAgfTtcbiAgfVxuXG4gIHN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMobmV4dFByb3BzLCBwcmV2U3RhdGUpIHtcbiAgICBjb25zdCBwcmV2RmF2ID0gcHJldlN0YXRlLmZhdm91cml0ZTtcbiAgICBjb25zdCBuZXh0RmF2ID0gbmV4dFByb3BzLmZhdm91cml0ZTtcblxuICAgIGlmIChpc0VtcHR5KG5leHRGYXYpKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBmYXZvdXJpdGU6IG51bGwsXG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmIChpc0VtcHR5KHByZXZGYXYpICYmICFpc0VtcHR5KG5leHRGYXYpKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBmYXZvdXJpdGU6IHtcbiAgICAgICAgICAuLi5uZXh0RmF2LFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9XG4gICAgaWYgKFxuICAgICAgIWlzRW1wdHkocHJldkZhdikgJiZcbiAgICAgICFpc0VtcHR5KG5leHRGYXYpICYmXG4gICAgICAobmV4dEZhdi5hZGRyZXNzICE9PSBwcmV2RmF2LmFkZHJlc3MgfHxcbiAgICAgICAgbmV4dEZhdi5sYXQgIT09IHByZXZGYXYubGF0IHx8XG4gICAgICAgIG5leHRGYXYubG9uICE9PSBwcmV2RmF2LmxvbilcbiAgICApIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGZhdm91cml0ZToge1xuICAgICAgICAgIC4uLnByZXZGYXYsXG4gICAgICAgICAgYWRkcmVzczogbmV4dEZhdi5hZGRyZXNzLFxuICAgICAgICAgIGxhdDogbmV4dEZhdi5sYXQsXG4gICAgICAgICAgbG9uOiBuZXh0RmF2LmxvbixcbiAgICAgICAgICBnaWQ6IG5leHRGYXYuZ2lkIHx8IG51bGwsXG4gICAgICAgICAgbmFtZTogcHJldkZhdi5uYW1lIHx8IG5leHRGYXYubmFtZSB8fCAnJyxcbiAgICAgICAgICBkZWZhdWx0TmFtZTogbmV4dEZhdi5kZWZhdWx0TmFtZSxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IGZhdm91cml0ZTogbnVsbCB9KTtcbiAgfVxuXG4gIHNwZWNpZnlOYW1lID0gZXZlbnQgPT4ge1xuICAgIGNvbnN0IG5hbWUgPSBldmVudC50YXJnZXQudmFsdWU7XG4gICAgdGhpcy5zZXRTdGF0ZShwcmV2U3RhdGUgPT4gKHtcbiAgICAgIGZhdm91cml0ZTogeyAuLi5wcmV2U3RhdGUuZmF2b3VyaXRlLCBuYW1lIH0sXG4gICAgfSkpO1xuICB9O1xuXG4gIHNlbGVjdEljb24gPSBpZCA9PiB7XG4gICAgdGhpcy5zZXRTdGF0ZShwcmV2U3RhdGUgPT4gKHtcbiAgICAgIGZhdm91cml0ZToge1xuICAgICAgICAuLi5wcmV2U3RhdGUuZmF2b3VyaXRlLFxuICAgICAgICBzZWxlY3RlZEljb25JZDogYGljb24taWNvbl8ke2lkfWAsXG4gICAgICB9LFxuICAgIH0pKTtcbiAgfTtcblxuICBpc0VkaXQgPSAoKSA9PlxuICAgIHRoaXMuc3RhdGUuZmF2b3VyaXRlICYmIHRoaXMuc3RhdGUuZmF2b3VyaXRlLmZhdm91cml0ZUlkICE9PSB1bmRlZmluZWQ7XG5cbiAgY2FuU2F2ZSA9ICgpID0+XG4gICAgdGhpcy5zdGF0ZS5mYXZvdXJpdGUgJiZcbiAgICAhaXNFbXB0eSh0aGlzLnN0YXRlLmZhdm91cml0ZS5zZWxlY3RlZEljb25JZCkgJiZcbiAgICBpc051bWJlcih0aGlzLnN0YXRlLmZhdm91cml0ZS5sYXQpICYmXG4gICAgaXNOdW1iZXIodGhpcy5zdGF0ZS5mYXZvdXJpdGUubG9uKTtcblxuICBjbG9zZU1vZGFsID0gKCkgPT4ge1xuICAgIHRoaXMucHJvcHMuaGFuZGxlQ2xvc2UoKTtcbiAgICAvLyBoc2wtZmkvbW9kYWwgY2xvc2UgYW5pbWF0aW9uIGxhc3RzIDI1MG1zXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgZmF2b3VyaXRlOiBudWxsIH0pO1xuICAgIH0sIDI1MCk7XG4gIH07XG5cbiAgY2FuY2VsU2VsZWN0ZWQgPSAoKSA9PiB7XG4gICAgdGhpcy5wcm9wcy5jYW5jZWxTZWxlY3RlZCgpO1xuICAgIC8vIGhzbC1maS9tb2RhbCBjbG9zZSBhbmltYXRpb24gbGFzdHMgMjUwbXNcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBmYXZvdXJpdGU6IG51bGwgfSk7XG4gICAgfSwgMjUwKTtcbiAgfTtcblxuICBzYXZlID0gKCkgPT4ge1xuICAgIGlmICh0aGlzLmNhblNhdmUoKSkge1xuICAgICAgY29uc3QgbmFtZSA9IGlzRW1wdHkodGhpcy5zdGF0ZS5mYXZvdXJpdGUubmFtZSlcbiAgICAgICAgPyB0aGlzLnN0YXRlLmZhdm91cml0ZS5kZWZhdWx0TmFtZVxuICAgICAgICA6IHRoaXMuc3RhdGUuZmF2b3VyaXRlLm5hbWU7XG5cbiAgICAgIGNvbnN0IGZhdm91cml0ZSA9IHsgLi4udGhpcy5zdGF0ZS5mYXZvdXJpdGUsIG5hbWUgfTtcbiAgICAgIGRlbGV0ZSBmYXZvdXJpdGUuZGVmYXVsdE5hbWU7XG4gICAgICB0aGlzLnByb3BzLnNhdmVGYXZvdXJpdGUoeyAuLi5mYXZvdXJpdGUsIHR5cGU6ICdwbGFjZScgfSk7XG4gICAgICBpZiAodGhpcy5wcm9wcy5hZGRBbmFseXRpY3NFdmVudCkge1xuICAgICAgICB0aGlzLnByb3BzLmFkZEFuYWx5dGljc0V2ZW50KHtcbiAgICAgICAgICBjYXRlZ29yeTogJ0Zhdm91cml0ZScsXG4gICAgICAgICAgYWN0aW9uOiAnU2F2ZUZhdm91cml0ZScsXG4gICAgICAgICAgbmFtZTogdGhpcy5zdGF0ZS5mYXZvdXJpdGUuc2VsZWN0ZWRJY29uSWQsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuaXNFZGl0KCkgJiYgdGhpcy5wcm9wcy5jYW5jZWxTZWxlY3RlZCkge1xuICAgICAgICB0aGlzLmNhbmNlbFNlbGVjdGVkKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNsb3NlTW9kYWwoKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgZmF2b3VyaXRlIH0gPSB0aGlzLnN0YXRlO1xuICAgIGNvbnN0IHsgY29sb3IsIGhvdmVyQ29sb3IsIGZvbnRXZWlnaHRzLCBsYW5nIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGhlYWRlclRleHQgPSB0aGlzLmlzRWRpdCgpXG4gICAgICA/IGkxOG5leHQudCgnZWRpdC1wbGFjZScsIHsgbG5nOiBsYW5nIH0pXG4gICAgICA6IGkxOG5leHQudCgnc2F2ZS1wbGFjZScsIHsgbG5nOiBsYW5nIH0pO1xuICAgIGNvbnN0IG1vZGFsUHJvcHMgPSB7XG4gICAgICBoZWFkZXJUZXh0LFxuICAgICAgYXV0b3N1Z2dlc3RDb21wb25lbnQ6IHtcbiAgICAgICAgLi4udGhpcy5wcm9wcy5hdXRvc3VnZ2VzdENvbXBvbmVudCxcbiAgICAgICAgY29sb3IsXG4gICAgICAgIGhvdmVyQ29sb3IsXG4gICAgICB9LFxuICAgICAgaW5wdXRQbGFjZWhvbGRlcjogaTE4bmV4dC50KCdpbnB1dC1wbGFjZWhvbGRlcicsIHsgbG5nOiBsYW5nIH0pLFxuICAgICAgc3BlY2lmeU5hbWU6IHRoaXMuc3BlY2lmeU5hbWUsXG4gICAgICBuYW1lOiAoZmF2b3VyaXRlICYmIGZhdm91cml0ZS5uYW1lKSB8fCAnJyxcbiAgICAgIGNob29zZUljb25UZXh0OiBpMThuZXh0LnQoJ2Nob29zZS1pY29uJywgeyBsbmc6IGxhbmcgfSksXG4gICAgICBmYXZvdXJpdGVJY29uVGFibGU6IChcbiAgICAgICAgPEZhdm91cml0ZUljb25UYWJsZVxuICAgICAgICAgIHNlbGVjdGVkSWNvbklkPXsoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKChmYXZvdXJpdGUgJiYgZmF2b3VyaXRlLnNlbGVjdGVkSWNvbklkICE9PSB1bmRlZmluZWQpIHx8IG51bGwpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGZhdm91cml0ZS5zZWxlY3RlZEljb25JZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgICAgfSkoKX1cbiAgICAgICAgICBmYXZvdXJpdGVJY29uSWRzPXtGYXZvdXJpdGVNb2RhbC5mYXZvdXJpdGVJY29uSWRzfVxuICAgICAgICAgIGhhbmRsZUNsaWNrPXt0aGlzLnNlbGVjdEljb259XG4gICAgICAgICAgY29sb3I9e2NvbG9yfVxuICAgICAgICAgIGxhbmc9e2xhbmd9XG4gICAgICAgIC8+XG4gICAgICApLFxuICAgICAgc2F2ZUZhdm91cml0ZTogdGhpcy5zYXZlLFxuICAgICAgc2F2ZVRleHQ6IGkxOG5leHQudCgnc2F2ZScsIHsgbG5nOiBsYW5nIH0pLFxuICAgICAgY2FuU2F2ZTogdGhpcy5jYW5TYXZlLFxuICAgICAgaXNFZGl0OiB0aGlzLmlzRWRpdCgpLFxuICAgICAgY2FuY2VsVGV4dDogaTE4bmV4dC50KCdjYW5jZWwnLCB7IGxuZzogbGFuZyB9KSxcbiAgICAgIGNhbmNlbFNlbGVjdGVkOiAoKSA9PiB0aGlzLmNhbmNlbFNlbGVjdGVkKCksXG4gICAgICBjb2xvcixcbiAgICAgIGhvdmVyQ29sb3IsXG4gICAgICBzYXZlUGxhY2VUZXh0OiBpMThuZXh0LnQoJ3NhdmUtcGxhY2UnLCB7IGxuZzogbGFuZyB9KSxcbiAgICAgIGNhbnRTYXZlVGV4dDogaTE4bmV4dC50KCdjYW5ub3Qtc2F2ZS1wbGFjZScsIHsgbG5nOiBsYW5nIH0pLFxuICAgICAgcmVxdWlyZWRUZXh0OiBpMThuZXh0LnQoJ3JlcXVpcmVkLXRleHQnLCB7IGxuZzogbGFuZyB9KSxcbiAgICAgIGZvbnRXZWlnaHRzLFxuICAgIH07XG4gICAgcmV0dXJuIChcbiAgICAgIDxNb2RhbFxuICAgICAgICBhcHBFbGVtZW50PXt0aGlzLnByb3BzLmFwcEVsZW1lbnR9XG4gICAgICAgIGNvbnRlbnRMYWJlbD17XG4gICAgICAgICAgdGhpcy5pc0VkaXQoKVxuICAgICAgICAgICAgPyBpMThuZXh0LnQoJ2Zhdm91cml0ZS1tb2RhbC1vbi1lZGl0JywgeyBsbmc6IGxhbmcsIGZhdm91cml0ZSB9KVxuICAgICAgICAgICAgOiBpMThuZXh0LnQoJ2Zhdm91cml0ZS1tb2RhbC1vbi1hZGQtbmV3JywgeyBsbmc6IGxhbmcgfSlcbiAgICAgICAgfVxuICAgICAgICBjbG9zZUJ1dHRvbkxhYmVsPXtpMThuZXh0LnQoJ2Nsb3NlLWZhdm91cml0ZS1tb2RhbCcsIHsgbG5nOiBsYW5nIH0pfVxuICAgICAgICB2YXJpYW50PXshdGhpcy5wcm9wcy5pc01vYmlsZSA/ICdzbWFsbCcgOiAnbGFyZ2UnfVxuICAgICAgICBpc09wZW49e3RoaXMucHJvcHMuaXNNb2RhbE9wZW59XG4gICAgICAgIG9uQ3Jvc3NDbGljaz17KCkgPT4gdGhpcy5jbG9zZU1vZGFsKCl9XG4gICAgICA+XG4gICAgICAgIHshdGhpcy5wcm9wcy5pc01vYmlsZSAmJiA8RGVza3RvcE1vZGFsIHsuLi5tb2RhbFByb3BzfSAvPn1cbiAgICAgICAge3RoaXMucHJvcHMuaXNNb2JpbGUgJiYgPE1vYmlsZU1vZGFsIHsuLi5tb2RhbFByb3BzfSAvPn1cbiAgICAgIDwvTW9kYWw+XG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBGYXZvdXJpdGVNb2RhbDtcbiJdLCJuYW1lcyI6WyJfdHlwZW9mIiwibyIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiY29uc3RydWN0b3IiLCJwcm90b3R5cGUiLCJ0b1Byb3BlcnR5S2V5IiwidCIsImkiLCJyIiwiZSIsInRvUHJpbWl0aXZlIiwiY2FsbCIsIlR5cGVFcnJvciIsIlN0cmluZyIsIk51bWJlciIsIl9kZWZpbmVQcm9wZXJ0eSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJzdHlsZUluamVjdCIsImNzcyIsInJlZiIsImluc2VydEF0IiwiZG9jdW1lbnQiLCJoZWFkIiwiZ2V0RWxlbWVudHNCeVRhZ05hbWUiLCJzdHlsZSIsImNyZWF0ZUVsZW1lbnQiLCJ0eXBlIiwiZmlyc3RDaGlsZCIsImluc2VydEJlZm9yZSIsImFwcGVuZENoaWxkIiwic3R5bGVTaGVldCIsImNzc1RleHQiLCJjcmVhdGVUZXh0Tm9kZSIsInRyYW5zbGF0aW9ucyIsImRlIiwiY2FuY2VsIiwic2F2ZSIsImVuIiwicGxhY2UiLCJob21lIiwid29yayIsInNwb3J0Iiwic2Nob29sIiwic2hvcHBpbmciLCJmaSIsInBsIiwic3YiLCJEZXNrdG9wTW9kYWwiLCJoZWFkZXJUZXh0IiwiYXV0b3N1Z2dlc3RDb21wb25lbnQiLCJpbnB1dFBsYWNlaG9sZGVyIiwic3BlY2lmeU5hbWUiLCJuYW1lIiwiY2hvb3NlSWNvblRleHQiLCJmYXZvdXJpdGVJY29uVGFibGUiLCJzYXZlRmF2b3VyaXRlIiwic2F2ZVRleHQiLCJjYW5TYXZlIiwiaXNFZGl0IiwiY2FuY2VsVGV4dCIsImNhbmNlbFNlbGVjdGVkIiwiY29sb3IiLCJob3ZlckNvbG9yIiwic2F2ZVBsYWNlVGV4dCIsImNhbnRTYXZlVGV4dCIsInJlcXVpcmVkVGV4dCIsImZvbnRXZWlnaHRzIiwiUmVhY3QiLCJjbGFzc05hbWUiLCJzdHlsZXMiLCJtZWRpdW0iLCJwbGFjZWhvbGRlciIsIm9uQ2hhbmdlIiwib25DbGljayIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsInN0cmluZyIsImlzUmVxdWlyZWQiLCJub2RlIiwiZnVuYyIsImJvb2wiLCJzaGFwZSIsIm51bWJlciIsImRlZmF1bHRQcm9wcyIsIk1vYmlsZU1vZGFsIiwiZGlzYWJsZWQiLCJrZXlzIiwiZm9yRWFjaCIsImxhbmciLCJpMThuZXh0IiwiYWRkUmVzb3VyY2VCdW5kbGUiLCJGYXZvdXJpdGVJY29uSWRUb05hbWVNYXAiLCJGYXZvdXJpdGVJY29uVGFibGVCdXR0b24iLCJzZWxlY3RlZEljb25JZCIsImhhbmRsZUNsaWNrIiwiaXNIb3ZlcmVkIiwic2V0SG92ZXIiLCJ1c2VTdGF0ZSIsImlzRm9jdXNlZCIsInNldEZvY3VzIiwiaWNvbkNvbG9yIiwiY3giLCJvbk1vdXNlRW50ZXIiLCJvbk1vdXNlTGVhdmUiLCJvbkZvY3VzIiwib25CbHVyIiwibG5nIiwiSWNvbiIsImltZyIsIkZhdm91cml0ZUljb25UYWJsZSIsImZhdm91cml0ZUljb25JZHMiLCJjb2x1bW5zIiwibWFwIiwia2V5Iiwicm93IiwiYXJyYXlPZiIsIkZhdm91cml0ZU1vZGFsIiwiQ29tcG9uZW50IiwicHJvcHMiLCJzdXBlciIsInRoaXMiLCJldmVudCIsInRhcmdldCIsInNldFN0YXRlIiwicHJldlN0YXRlIiwiZmF2b3VyaXRlIiwiX29iamVjdFNwcmVhZCIsImlkIiwic3RhdGUiLCJ1bmRlZmluZWQiLCJmYXZvdXJpdGVJZCIsImlzRW1wdHkiLCJpc051bWJlciIsImxhdCIsImxvbiIsImhhbmRsZUNsb3NlIiwic2V0VGltZW91dCIsImRlZmF1bHROYW1lIiwiYWRkQW5hbHl0aWNzRXZlbnQiLCJjYXRlZ29yeSIsImFjdGlvbiIsImNsb3NlTW9kYWwiLCJnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMiLCJuZXh0UHJvcHMiLCJwcmV2RmF2IiwibmV4dEZhdiIsImFkZHJlc3MiLCJnaWQiLCJjb21wb25lbnRXaWxsVW5tb3VudCIsInJlbmRlciIsIm1vZGFsUHJvcHMiLCJzZWxlY3RJY29uIiwiTW9kYWwiLCJhcHBFbGVtZW50IiwiY29udGVudExhYmVsIiwiY2xvc2VCdXR0b25MYWJlbCIsInZhcmlhbnQiLCJpc01vYmlsZSIsImlzT3BlbiIsImlzTW9kYWxPcGVuIiwib25Dcm9zc0NsaWNrIiwiZ3Rmc0lkIiwibGF5ZXIiXSwibWFwcGluZ3MiOiJnM0JBQUEsU0FBU0EsRUFBUUMsR0FHZixPQUFPRCxFQUFVLG1CQUFxQkUsUUFBVSxpQkFBbUJBLE9BQU9DLFNBQVcsU0FBVUYsR0FDN0YsY0FBY0EsQ0FDZixFQUFHLFNBQVVBLEdBQ1osT0FBT0EsR0FBSyxtQkFBcUJDLFFBQVVELEVBQUVHLGNBQWdCRixRQUFVRCxJQUFNQyxPQUFPRyxVQUFZLGdCQUFrQkosQ0FDdEgsRUFBS0QsRUFBUUMsRUFDYixDQ05BLFNBQVNLLEVBQWNDLEdBQ3JCLElBQUlDLEVDRk4sU0FBcUJELEVBQUdFLEdBQ3RCLEdBQUksVUFBWVQsRUFBUU8sS0FBT0EsRUFBRyxPQUFPQSxFQUN6QyxJQUFJRyxFQUFJSCxFQUFFTCxPQUFPUyxhQUNqQixRQUFJLElBQVdELEVBQUcsQ0FDaEIsSUFBSUYsRUFBSUUsRUFBRUUsS0FBS0wsRUFBR0UsR0FBSyxXQUN2QixHQUFJLFVBQVlULEVBQVFRLEdBQUksT0FBT0EsRUFDbkMsTUFBTSxJQUFJSyxVQUFVLCtDQUNyQixDQUNELE9BQVEsV0FBYUosRUFBSUssT0FBU0MsUUFBUVIsRUFDNUMsQ0RQVUksQ0FBWUosRUFBRyxVQUN2QixNQUFPLFVBQVlQLEVBQVFRLEdBQUtBLEVBQUlBLEVBQUksRUFDMUMsQ0VKQSxTQUFTUSxFQUFnQk4sRUFBR0QsRUFBR0YsR0FDN0IsT0FBUUUsRUFBSUgsRUFBY0csTUFBT0MsRUFBSU8sT0FBT0MsZUFBZVIsRUFBR0QsRUFBRyxDQUMvRFUsTUFBT1osRUFDUGEsWUFBWSxFQUNaQyxjQUFjLEVBQ2RDLFVBQVUsSUFDUFosRUFBRUQsR0FBS0YsRUFBR0csQ0FDakIsQ0NSQSxTQUFTYSxFQUFZQyxFQUFLQyxRQUNYLElBQVJBLElBQWlCQSxFQUFNLENBQUEsR0FDNUIsSUFBSUMsRUFBV0QsRUFBSUMsU0FFbkIsR0FBS0YsR0FBMkIsb0JBQWJHLFNBQW5CLENBRUEsSUFBSUMsRUFBT0QsU0FBU0MsTUFBUUQsU0FBU0UscUJBQXFCLFFBQVEsR0FDOURDLEVBQVFILFNBQVNJLGNBQWMsU0FDbkNELEVBQU1FLEtBQU8sV0FFSSxRQUFiTixHQUNFRSxFQUFLSyxXQUNQTCxFQUFLTSxhQUFhSixFQUFPRixFQUFLSyxZQUtoQ0wsRUFBS08sWUFBWUwsR0FHZkEsRUFBTU0sV0FDUk4sRUFBTU0sV0FBV0MsUUFBVWIsRUFFM0JNLEVBQU1LLFlBQVlSLFNBQVNXLGVBQWVkLEdBbkJZLENBcUIxRCx3eEVDekJBLE1BQU1lLEVBQWUsQ0FDbkJDLEdBQUksQ0FDRkMsT0FBUSxZQUNSLGNBQWUsdUNBQ2Ysd0JBQXlCLDZCQUN6QixhQUFjLGlCQUNkLDZCQUE4Qiw2QkFDOUIsMEJBQTJCLHlDQUMzQixvQkFBcUIsd0NBQ3JCQyxLQUFNLFlBQ04sYUFBYyxxQkFFaEJDLEdBQUksQ0FDRkYsT0FBUSxTQUNSLGNBQWUsMEJBQ2Ysd0JBQXlCLDRCQUN6QixhQUFjLGFBQ2QsNkJBQThCLHFCQUM5QiwwQkFBMkIsd0NBQzNCLG9CQUFxQixtQ0FDckJDLEtBQU0sT0FDTixhQUFjLGFBQ2Qsb0JBQXFCLDhDQUNyQkUsTUFBTyxVQUNQQyxLQUFNLE9BQ05DLEtBQU0sT0FDTkMsTUFBTyxRQUNQQyxPQUFRLFNBQ1JDLFNBQVUsV0FDVixnQkFBaUIsa0JBRW5CQyxHQUFJLENBQ0ZULE9BQVEsVUFDUixjQUFlLHdCQUNmLHdCQUF5Qix3QkFDekIsYUFBYyxrQkFDZCw2QkFBOEIsc0JBQzlCLDBCQUEyQix1Q0FDM0Isb0JBQXFCLHFDQUNyQkMsS0FBTSxXQUNOLGFBQWMsa0JBQ2Qsb0JBQ0Usd0RBQ0ZFLE1BQU8sU0FDUEMsS0FBTSxPQUNOQyxLQUFNLE1BQ05DLE1BQU8sVUFDUEMsT0FBUSxRQUNSQyxTQUFVLFdBQ1YsZ0JBQWlCLHFCQUVuQkUsR0FBSSxDQUNGVixPQUFRLFNBQ1IsY0FBZSx3QkFDZix3QkFBeUIsMkJBQ3pCLGFBQWMsaUJBQ2QsNkJBQThCLHlCQUM5QiwwQkFBMkIsZ0RBQzNCLG9CQUFxQixtQ0FDckJDLEtBQU0sU0FDTixhQUFjLGlCQUNkLG9CQUFxQixnREFDckJFLE1BQU8sVUFDUEMsS0FBTSxNQUNOQyxLQUFNLFFBQ05DLE1BQU8sUUFDUEMsT0FBUSxTQUNSQyxTQUFVLFNBQ1YsZ0JBQWlCLGlCQUVuQkcsR0FBSSxDQUNGWCxPQUFRLFNBQ1IsY0FBZSxxQkFDZix3QkFBeUIsdUJBQ3pCLGFBQWMsaUJBQ2QsNkJBQThCLHVCQUM5QiwwQkFBMkIsdUNBQzNCLG9CQUFxQixrQ0FDckJDLEtBQU0sUUFDTixhQUFjLGNBQ2Qsb0JBQ0UseURBQ0ZFLE1BQU8sV0FDUEMsS0FBTSxNQUNOQyxLQUFNLFNBQ05DLE1BQU8sUUFDUEMsT0FBUSxRQUNSQyxTQUFVLFNBQ1YsaUJBQWtCLHkzTUNsRnRCLE1BQU1JLEVBQWVBLEVBQ25CQyxhQUNBQyx1QkFDQUMsbUJBQ0FDLGNBQ0FDLE9BQ0FDLGlCQUNBQyxxQkFDQUMsZ0JBQ0FDLFdBQ0FDLFVBQ0FDLFNBQ0FDLGFBQ0FDLGlCQUNBQyxRQUNBQyxhQUNBQyxnQkFDQUMsZUFDQUMsZUFDQUMsaUJBR0VDLEVBQUEsUUFBQTFDLGNBQUEsTUFBQSxDQUNFMkMsVUFBV0MsRUFDWDdDLE1BQU8sQ0FDTCxVQUFXLEdBQUdxQyxJQUNkLGdCQUFpQixHQUFHQyxJQUNwQix1QkFBd0JJLEVBQVlJLFNBR3RDSCxFQUFBLFFBQUExQyxjQUFBLE1BQUEsQ0FBSzJDLFVBQVdDLEdBQ2RGLEVBQUEsUUFBQTFDLGNBQUEsTUFBQSxDQUFLMkMsVUFBV0MsR0FDYnJCLElBR0xtQixVQUFBMUMsY0FBQSxNQUFBLENBQUsyQyxVQUFXQyxHQUNkRixFQUFBLFFBQUExQyxjQUFBLE1BQUEsQ0FBSzJDLFVBQVdDLEdBQ2JwQixHQUVIa0IsVUFBQTFDLGNBQUEsTUFBQSxDQUFLMkMsVUFBV0MsR0FDZEYsRUFBQSxRQUFBMUMsY0FBQSxRQUFBLENBQ0UsYUFBWXlCLEVBQ1prQixVQUFXQyxFQUNYeEQsTUFBT3VDLEVBQ1BtQixZQUFhckIsRUFDYnNCLFNBQVVyQixNQUloQmdCLFVBQUExQyxjQUFBLFdBQUEsQ0FBVTJDLFVBQVdDLEdBQ25CRixFQUFBLFFBQUExQyxjQUFBLFNBQUEsQ0FBUTJDLFVBQVdDLEdBQ2hCaEIsRUFDRGMsRUFBQUEsUUFBQTFDLGNBQUEsSUFBQSxDQUFHMkMsVUFBV0MsR0FBb0JKLElBRXBDRSxVQUFBMUMsY0FBQSxNQUFBLENBQUsyQyxVQUFXQyxHQUNiZixJQUdMYSxVQUFBMUMsY0FBQSxNQUFBLENBQUsyQyxVQUFXQyxHQUNkRixFQUFBLFFBQUExQyxjQUFBLFNBQUEsQ0FDRUMsS0FBSyxTQUNMMEMsVUFDRSxHQUFHQyxLQUE0Q0EsS0FDN0NaLElBQVksR0FBS1ksSUFHckJJLFFBQVNsQixFQUNULGFBQVksR0FBR0UsSUFBWU0sRUFBZ0JDLElBQzNDLGlCQUFnQlAsS0FFZkQsR0FFRkUsR0FDQ1MsRUFBQUEsUUFBQTFDLGNBQUEsU0FBQSxDQUNFQyxLQUFLLFNBQ0wwQyxVQUNFLEdBQUdDLEtBQTRDQSxLQUM3Q1osSUFBWSxHQUFLWSxJQUdyQkksUUFBU2IsR0FFUkQsb0JBUWJlLFFBQUFDLElBQUFDLFdBQUE3QixFQUFhOEIsVUFBWSxDQUN2QjdCLFdBQVk4QixFQUFBQSxRQUFVQyxPQUFPQyxXQUM3Qi9CLHFCQUFzQjZCLEVBQUFBLFFBQVVHLEtBQUtELFdBQ3JDOUIsaUJBQWtCNEIsRUFBQUEsUUFBVUMsT0FBT0MsV0FDbkM3QixZQUFhMkIsRUFBQUEsUUFBVUksS0FBS0YsV0FDNUI1QixLQUFNMEIsRUFBQUEsUUFBVUMsT0FBT0MsV0FDdkIzQixlQUFnQnlCLEVBQUFBLFFBQVVDLE9BQU9DLFdBQ2pDMUIsbUJBQW9Cd0IsRUFBQUEsUUFBVUcsS0FBS0QsV0FDbkN6QixjQUFldUIsRUFBQUEsUUFBVUksS0FBS0YsV0FDOUJ4QixTQUFVc0IsRUFBQUEsUUFBVUMsT0FBT0MsV0FDM0J2QixRQUFTcUIsRUFBQUEsUUFBVUksS0FBS0YsV0FDeEJ0QixPQUFRb0IsRUFBUyxRQUFDSyxLQUNsQnhCLFdBQVltQixFQUFBQSxRQUFVQyxPQUFPQyxXQUM3QnBCLGVBQWdCa0IsRUFBUyxRQUFDSSxLQUMxQnJCLE1BQU9pQixFQUFBQSxRQUFVQyxPQUFPQyxXQUN4QmxCLFdBQVlnQixFQUFBQSxRQUFVQyxPQUFPQyxXQUM3QmpCLGNBQWVlLEVBQUFBLFFBQVVDLE9BQU9DLFdBQ2hDaEIsYUFBY2MsRUFBQUEsUUFBVUMsT0FBT0MsV0FDL0JmLGFBQWNhLEVBQUFBLFFBQVVDLE9BQU9DLFdBQy9CZCxZQUFhWSxFQUFTLFFBQUNNLE1BQU0sQ0FDM0JkLE9BQVFRLEVBQUFBLFFBQVVPLE9BQU9MLGFBQ3hCQSxhQUdMakMsRUFBYXVDLGFBQWUsQ0FDMUI1QixRQUFRLEVBQ1JFLGVBQWdCQSxLQUFPLENBQUUsNnZLQ3BIM0IsTUFBTTJCLEVBQWNBLEVBQ2xCdkMsYUFDQUMsdUJBQ0FDLG1CQUNBQyxjQUNBQyxPQUNBQyxpQkFDQUMscUJBQ0FDLGdCQUNBQyxXQUNBQyxVQUNBSSxRQUNBQyxhQUNBQyxnQkFDQUMsZUFDQUMsZUFDQUMsaUJBR0VDLEVBQUEsUUFBQTFDLGNBQUEsTUFBQSxDQUNFMkMsVUFBV0MsRUFBTyxvQ0FDbEI3QyxNQUFPLENBQ0wsVUFBVyxHQUFHcUMsSUFDZCxnQkFBaUIsR0FBR0MsSUFDcEIsdUJBQXdCSSxFQUFZSSxTQUd0Q0gsRUFBQSxRQUFBMUMsY0FBQSxNQUFBLENBQUsyQyxVQUFXQyxFQUFPLCtCQUNyQkYsRUFBQSxRQUFBMUMsY0FBQSxNQUFBLENBQUsyQyxVQUFXQyxFQUFPLGtDQUNwQnJCLElBR0xtQixVQUFBMUMsY0FBQSxNQUFBLENBQUsyQyxVQUFXQyxFQUFPLGdDQUNyQkYsRUFBQSxRQUFBMUMsY0FBQSxNQUFBLENBQUsyQyxVQUFXQyxFQUFPLDJDQUNwQnBCLEdBRUhrQixVQUFBMUMsY0FBQSxRQUFBLENBQ0UyQyxVQUFXQyxFQUFPLGdDQUNsQnhELE1BQU91QyxHQUFRLEdBQ2ZtQixZQUFhckIsRUFDYnNCLFNBQVVyQixLQUdkZ0IsRUFBQUEsUUFBQTFDLGNBQUEsTUFBQSxDQUFLMkMsVUFBV0MsRUFBTyxnQ0FDcEJoQixFQUNEYyxFQUFBQSxRQUFBMUMsY0FBQSxJQUFBLENBQUcyQyxVQUFXQyxFQUFPLFlBQWFKLElBRXBDRSxVQUFBMUMsY0FBQSxNQUFBLENBQUsyQyxVQUFXQyxFQUFPLGlDQUNwQmYsR0FFSGEsVUFBQTFDLGNBQUEsTUFBQSxDQUFLMkMsVUFBV0MsRUFBTyxnQ0FDckJGLEVBQUEsUUFBQTFDLGNBQUEsU0FBQSxDQUNFQyxLQUFLLFNBQ0wwQyxVQUNFLEdBQUdDLEVBQU8sb0NBQ1JaLElBQVksR0FBS1ksRUFBT21CLFdBRzVCZixRQUFTbEIsRUFDVCxhQUFZLEdBQUdFLElBQVlNLEVBQWdCQyxLQUUxQ1IsbWxCQU9Ya0IsUUFBQUMsSUFBQUMsV0FBQVcsRUFBWVYsVUFBWSxDQUN0QjdCLFdBQVk4QixFQUFBQSxRQUFVQyxPQUFPQyxXQUM3Qi9CLHFCQUFzQjZCLEVBQUFBLFFBQVVHLEtBQUtELFdBQ3JDOUIsaUJBQWtCNEIsRUFBQUEsUUFBVUMsT0FBT0MsV0FDbkM3QixZQUFhMkIsRUFBQUEsUUFBVUksS0FBS0YsV0FDNUI1QixLQUFNMEIsRUFBQUEsUUFBVUMsT0FBT0MsV0FDdkIzQixlQUFnQnlCLEVBQUFBLFFBQVVDLE9BQU9DLFdBQ2pDMUIsbUJBQW9Cd0IsRUFBQUEsUUFBVUcsS0FBS0QsV0FDbkN6QixjQUFldUIsRUFBQUEsUUFBVUksS0FBS0YsV0FDOUJ4QixTQUFVc0IsRUFBQUEsUUFBVUMsT0FBT0MsV0FDM0J2QixRQUFTcUIsRUFBQUEsUUFBVUksS0FBS0YsV0FDeEJuQixNQUFPaUIsRUFBQUEsUUFBVUMsT0FBT0MsV0FDeEJsQixXQUFZZ0IsRUFBQUEsUUFBVUMsT0FBT0MsV0FDN0JqQixjQUFlZSxFQUFBQSxRQUFVQyxPQUFPQyxXQUNoQ2hCLGFBQWNjLEVBQUFBLFFBQVVDLE9BQU9DLFdBQy9CZixhQUFjYSxFQUFBQSxRQUFVQyxPQUFPQyxXQUMvQmQsWUFBYVksRUFBUyxRQUFDTSxNQUFNLENBQzNCZCxPQUFRUSxFQUFBQSxRQUFVTyxPQUFPTCxhQUN4QkEsYUM5RUxyRSxPQUFPOEUsS0FBS3hELEdBQWN5RCxTQUFRQyxHQUNoQ0MsRUFBQUEsUUFBUUMsa0JBQWtCRixFQUFNLGNBQWUxRCxFQUFhMEQsSUFBTyxLQUdyRSxNQUFNRyxFQUEyQixDQUMvQixrQkFBbUIsUUFDbkIsaUJBQWtCLE9BQ2xCLGlCQUFrQixPQUNsQixrQkFBbUIsUUFDbkIsbUJBQW9CLFNBQ3BCLHFCQUFzQixZQUdsQkMsRUFBMkJBLEVBQy9CbEYsUUFDQW1GLGlCQUNBQyxjQUNBcEMsUUFDQThCLFdBRUEsTUFBT08sRUFBV0MsR0FBWUMsRUFBUUEsVUFBQyxJQUNoQ0MsRUFBV0MsR0FBWUYsRUFBUUEsVUFBQyxHQUNqQ0csRUFDSjFGLElBQVVpRixFQUF5QkUsSUFBbUJFLEdBQWFHLEVBQy9ELFVBQ0F4QyxFQUNOLE9BQ0VNLEVBQUEsUUFBQTFDLGNBQUEsU0FBQSxDQUNFQyxLQUFLLFNBQ0wwQyxVQUFXb0MsRUFBQUEsUUFBR25DLEVBQU8sK0JBQWdDQSxFQUFPeEQsR0FFeERBLElBQVVpRixFQUF5QkUsSUFEcEMzQixFQUFPLGtCQUdWb0MsYUFBY0EsSUFBTU4sR0FBUyxHQUM3Qk8sYUFBY0EsSUFBTVAsR0FBUyxHQUM3QlEsUUFBU0EsSUFBTUwsR0FBUyxHQUN4Qk0sT0FBUUEsSUFBTU4sR0FBUyxHQUN2QjdCLFFBQVNBLElBQU13QixFQUFZcEYsR0FDM0IsYUFBWStFLEVBQUFBLFFBQVEzRixFQUFFWSxFQUFPLENBQUVnRyxJQUFLbEIsS0FFcEN4QixFQUFBLFFBQUExQyxjQUFDcUYsVUFBSSxDQUFDQyxJQUFLbEcsRUFBT2dELE1BQU8wQyxJQUNsQixpQkFJYjdCLFFBQUFDLElBQUFDLFdBQUFtQixFQUF5QmxCLFVBQVksQ0FDbkNvQixZQUFhbkIsRUFBQUEsUUFBVUksS0FBS0YsV0FDNUJuRSxNQUFPaUUsRUFBQUEsUUFBVUMsT0FBT0MsV0FDeEJnQixlQUFnQmxCLEVBQUFBLFFBQVVDLE9BQU9DLFdBQ2pDbkIsTUFBT2lCLEVBQUFBLFFBQVVDLE9BQU9DLFdBQ3hCVyxLQUFNYixFQUFBQSxRQUFVQyxPQUFPQyxhQUd6QixNQUFNZ0MsRUFBcUJBLEVBQ3pCQyxtQkFDQWpCLGlCQUNBQyxjQUNBcEMsUUFDQThCLFdBRUEsTUFBTXVCLEVBQVVELEVBQWlCRSxLQUFJdEcsR0FDbkNzRCxFQUFBLFFBQUExQyxjQUFDc0UsRUFBd0IsQ0FDdkJxQixJQUFLLHdCQUF3QnZHLElBQzdCQSxNQUFPQSxFQUNQbUYsZUFBZ0JBLEVBQ2hCQyxZQUFhQSxFQUNicEMsTUFBT0EsRUFDUDhCLEtBQU1BLE1BSVYsT0FDRXhCLEVBQUEsUUFBQTFDLGNBQUEsTUFBQSxDQUFLMkMsVUFBV0MsRUFBTyxrQkFDckJGLEVBQUEsUUFBQTFDLGNBQUEsTUFBQSxDQUFLMkMsVUFBV0MsRUFBT2dELEtBQU1ILEdBQ3pCLGlCQUlWeEMsUUFBQUMsSUFBQUMsV0FBQW9DLEVBQW1CbkMsVUFBWSxDQUM3Qm9CLFlBQWFuQixFQUFBQSxRQUFVSSxLQUFLRixXQUM1QmlDLGlCQUFrQm5DLEVBQUFBLFFBQVV3QyxRQUFReEMsRUFBQUEsUUFBVUMsUUFBUUMsV0FDdERnQixlQUFnQmxCLEVBQVMsUUFBQ0MsT0FDMUJsQixNQUFPaUIsRUFBQUEsUUFBVUMsT0FBT0MsV0FDeEJXLEtBQU1iLEVBQUFBLFFBQVVDLE9BQU9DLGFBR3pCZ0MsRUFBbUIxQixhQUFlLENBQ2hDVSxlQUFnQixJQTBCbEIsTUFBTXVCLFVBQXVCcEQsRUFBSyxRQUFDcUQsVUFzRmpDMUgsV0FBQUEsQ0FBWTJILEdBQ1ZDLE1BQU1ELEdBQU8vRyxFQUFBaUgsS0FBQSxlQWlEREMsSUFDWixNQUFNeEUsRUFBT3dFLEVBQU1DLE9BQU9oSCxNQUMxQjhHLEtBQUtHLFVBQVNDLElBQWMsQ0FDMUJDLFVBQVNDLEVBQUFBLEVBQU9GLENBQUFBLEVBQUFBLEVBQVVDLFdBQVMsR0FBQSxDQUFFNUUsWUFDcEMsSUFDSjFDLEVBQUFpSCxLQUFBLGNBRVlPLElBQ1hQLEtBQUtHLFVBQVNDLElBQWMsQ0FDMUJDLFVBQVNDLEVBQUFBLEVBQ0pGLENBQUFBLEVBQUFBLEVBQVVDLFdBQVMsR0FBQSxDQUN0QmhDLGVBQWdCLGFBQWFrQyxTQUU5QixJQUNKeEgsaUJBRVEsSUFDUGlILEtBQUtRLE1BQU1ILGdCQUFrREksSUFBckNULEtBQUtRLE1BQU1ILFVBQVVLLGNBQXlCM0gsa0JBRTlELElBQ1JpSCxLQUFLUSxNQUFNSCxZQUNWTSxFQUFPLFFBQUNYLEtBQUtRLE1BQU1ILFVBQVVoQyxpQkFDOUJ1QyxFQUFBQSxRQUFTWixLQUFLUSxNQUFNSCxVQUFVUSxNQUM5QkQsVUFBU1osS0FBS1EsTUFBTUgsVUFBVVMsT0FBSS9ILHFCQUV2QixLQUNYaUgsS0FBS0YsTUFBTWlCLGNBRVhDLFlBQVcsS0FDVGhCLEtBQUtHLFNBQVMsQ0FBRUUsVUFBVyxNQUFPLEdBQ2pDLElBQUksSUFDUnRILHlCQUVnQixLQUNmaUgsS0FBS0YsTUFBTTdELGlCQUVYK0UsWUFBVyxLQUNUaEIsS0FBS0csU0FBUyxDQUFFRSxVQUFXLE1BQU8sR0FDakMsSUFBSSxJQUNSdEgsZUFFTSxLQUNMLEdBQUlpSCxLQUFLbEUsVUFBVyxDQUNsQixNQUFNTCxFQUFPa0YsRUFBQUEsUUFBUVgsS0FBS1EsTUFBTUgsVUFBVTVFLE1BQ3RDdUUsS0FBS1EsTUFBTUgsVUFBVVksWUFDckJqQixLQUFLUSxNQUFNSCxVQUFVNUUsS0FFbkI0RSxFQUFTQyxFQUFBQSxLQUFRTixLQUFLUSxNQUFNSCxXQUFTLEdBQUEsQ0FBRTVFLGdCQUN0QzRFLEVBQVVZLFlBQ2pCakIsS0FBS0YsTUFBTWxFLGNBQWEwRSxFQUFBQSxFQUFBLEdBQU1ELEdBQVMsR0FBQSxDQUFFdEcsS0FBTSxXQUMzQ2lHLEtBQUtGLE1BQU1vQixtQkFDYmxCLEtBQUtGLE1BQU1vQixrQkFBa0IsQ0FDM0JDLFNBQVUsWUFDVkMsT0FBUSxnQkFDUjNGLEtBQU11RSxLQUFLUSxNQUFNSCxVQUFVaEMsaUJBRzNCMkIsS0FBS2pFLFVBQVlpRSxLQUFLRixNQUFNN0QsZUFDOUIrRCxLQUFLL0QsaUJBRUwrRCxLQUFLcUIsWUFFVCxLQTlHQXJCLEtBQUtRLE1BQVEsQ0FDWEgsVUFBVyxLQUVmLENBRUEsK0JBQU9pQixDQUF5QkMsRUFBV25CLEdBQ3pDLE1BQU1vQixFQUFVcEIsRUFBVUMsVUFDcEJvQixFQUFVRixFQUFVbEIsVUFFMUIsT0FBSU0sRUFBQUEsUUFBUWMsR0FDSCxDQUNMcEIsVUFBVyxNQUlYTSxFQUFPLFFBQUNhLEtBQWFiLEVBQU8sUUFBQ2MsR0FDeEIsQ0FDTHBCLFVBQVNDLEVBQUEsQ0FBQSxFQUNKbUIsSUFLTmQsRUFBQUEsUUFBUWEsSUFDUmIsRUFBTyxRQUFDYyxJQUNSQSxFQUFRQyxVQUFZRixFQUFRRSxTQUMzQkQsRUFBUVosTUFBUVcsRUFBUVgsS0FDeEJZLEVBQVFYLE1BQVFVLEVBQVFWLElBY3JCLEtBWkUsQ0FDTFQsVUFBU0MsRUFBQUEsS0FDSmtCLEdBQU8sQ0FBQSxFQUFBLENBQ1ZFLFFBQVNELEVBQVFDLFFBQ2pCYixJQUFLWSxFQUFRWixJQUNiQyxJQUFLVyxFQUFRWCxJQUNiYSxJQUFLRixFQUFRRSxLQUFPLEtBQ3BCbEcsS0FBTStGLEVBQVEvRixNQUFRZ0csRUFBUWhHLE1BQVEsR0FDdEN3RixZQUFhUSxFQUFRUixjQUs3QixDQUVBVyxvQkFBQUEsR0FDRTVCLEtBQUtHLFNBQVMsQ0FBRUUsVUFBVyxNQUM3QixDQW1FQXdCLE1BQUFBLEdBQ0UsTUFBTXhCLFVBQUVBLEdBQWNMLEtBQUtRLE9BQ3JCdEUsTUFBRUEsRUFBS0MsV0FBRUEsRUFBVUksWUFBRUEsRUFBV3lCLEtBQUVBLEdBQVNnQyxLQUFLRixNQUloRGdDLEVBQWEsQ0FDakJ6RyxXQUppQjJFLEtBQUtqRSxTQUNwQmtDLEVBQU8sUUFBQzNGLEVBQUUsYUFBYyxDQUFFNEcsSUFBS2xCLElBQy9CQyxFQUFBQSxRQUFRM0YsRUFBRSxhQUFjLENBQUU0RyxJQUFLbEIsSUFHakMxQyxxQkFBb0JnRixFQUFBQSxLQUNmTixLQUFLRixNQUFNeEUsc0JBQW9CLEdBQUEsQ0FDbENZLFFBQ0FDLGVBRUZaLGlCQUFrQjBDLEVBQUFBLFFBQVEzRixFQUFFLG9CQUFxQixDQUFFNEcsSUFBS2xCLElBQ3hEeEMsWUFBYXdFLEtBQUt4RSxZQUNsQkMsS0FBTzRFLEdBQWFBLEVBQVU1RSxNQUFTLEdBQ3ZDQyxlQUFnQnVDLEVBQUFBLFFBQVEzRixFQUFFLGNBQWUsQ0FBRTRHLElBQUtsQixJQUNoRHJDLG1CQUNFYSxFQUFBQSxRQUFBMUMsY0FBQ3VGLEVBQWtCLENBQ2pCaEIsZUFBZ0IsTUFDZCxHQUFLZ0MsUUFBMENJLElBQTdCSixFQUFVaEMsZUFDMUIsT0FBT2dDLEVBQVVoQyxjQUdwQixFQUxlLEdBTWhCaUIsaUJBQWtCTSxFQUFlTixpQkFDakNoQixZQUFhMEIsS0FBSytCLFdBQ2xCN0YsTUFBT0EsRUFDUDhCLEtBQU1BLElBR1ZwQyxjQUFlb0UsS0FBS3ZGLEtBQ3BCb0IsU0FBVW9DLEVBQUFBLFFBQVEzRixFQUFFLE9BQVEsQ0FBRTRHLElBQUtsQixJQUNuQ2xDLFFBQVNrRSxLQUFLbEUsUUFDZEMsT0FBUWlFLEtBQUtqRSxTQUNiQyxXQUFZaUMsRUFBQUEsUUFBUTNGLEVBQUUsU0FBVSxDQUFFNEcsSUFBS2xCLElBQ3ZDL0IsZUFBZ0JBLElBQU0rRCxLQUFLL0QsaUJBQzNCQyxRQUNBQyxhQUNBQyxjQUFlNkIsRUFBQUEsUUFBUTNGLEVBQUUsYUFBYyxDQUFFNEcsSUFBS2xCLElBQzlDM0IsYUFBYzRCLEVBQUFBLFFBQVEzRixFQUFFLG9CQUFxQixDQUFFNEcsSUFBS2xCLElBQ3BEMUIsYUFBYzJCLEVBQUFBLFFBQVEzRixFQUFFLGdCQUFpQixDQUFFNEcsSUFBS2xCLElBQ2hEekIsZUFFRixPQUNFQyxFQUFBLFFBQUExQyxjQUFDa0ksVUFBSyxDQUNKQyxXQUFZakMsS0FBS0YsTUFBTW1DLFdBQ3ZCQyxhQUNFbEMsS0FBS2pFLFNBQ0RrQyxFQUFBQSxRQUFRM0YsRUFBRSwwQkFBMkIsQ0FBRTRHLElBQUtsQixFQUFNcUMsY0FDbERwQyxFQUFBQSxRQUFRM0YsRUFBRSw2QkFBOEIsQ0FBRTRHLElBQUtsQixJQUVyRG1FLGlCQUFrQmxFLEVBQUFBLFFBQVEzRixFQUFFLHdCQUF5QixDQUFFNEcsSUFBS2xCLElBQzVEb0UsUUFBVXBDLEtBQUtGLE1BQU11QyxTQUFxQixRQUFWLFFBQ2hDQyxPQUFRdEMsS0FBS0YsTUFBTXlDLFlBQ25CQyxhQUFjQSxJQUFNeEMsS0FBS3FCLGVBRXZCckIsS0FBS0YsTUFBTXVDLFVBQVk3RixFQUFBQSxRQUFBMUMsY0FBQ3NCLEVBQWlCMEcsR0FDMUM5QixLQUFLRixNQUFNdUMsVUFBWTdGLEVBQUEsUUFBQTFDLGNBQUM4RCxFQUFnQmtFLEdBRy9DLEVBQ0QvSSxFQXZRSzZHLEVBK0RrQixlQUFBLENBQ3BCM0QsZUFBZ0JBLEtBQU8sQ0FBRSxHQUN6QitCLEtBQU0sS0FDTnFFLFVBQVUsRUFDVmhDLFVBQVcsS0FDWC9FLDBCQUFzQm1GLEVBQ3RCUyx1QkFBbUJULEVBQ25CdkUsTUFBTyxVQUNQQyxXQUFZLFVBQ1pJLFlBQWEsQ0FDWEksT0FBUSxPQUVYNUQsRUEzRUc2RyxFQTZFc0IsbUJBQUEsQ0FDeEIsUUFDQSxPQUNBLE9BQ0EsUUFDQSxTQUNBLDRCQUNEN0MsUUFBQUMsSUFBQUMsV0FwRkcyQyxFQUNHMUMsVUFBWSxDQUNqQnFGLFlBQWFwRixFQUFBQSxRQUFVSyxLQUFLSCxXQUc1QjBELFlBQWE1RCxFQUFBQSxRQUFVSSxLQUFLRixXQUc1QnpCLGNBQWV1QixFQUFBQSxRQUFVSSxLQUFLRixXQUc5QnBCLGVBQWdCa0IsRUFBUyxRQUFDSSxLQUsxQmpDLHFCQUFzQjZCLEVBQVMsUUFBQ0csS0FnQmhDK0MsVUFBV2xELEVBQVMsUUFBQ00sTUFBTSxDQUN6QjFELEtBQU1vRCxFQUFTLFFBQUNDLE9BQ2hCc0UsUUFBU3ZFLEVBQVMsUUFBQ0MsT0FDbkJxRixPQUFRdEYsRUFBUyxRQUFDQyxPQUNsQnVFLElBQUt4RSxFQUFTLFFBQUNDLE9BQ2Z5RCxJQUFLMUQsRUFBUyxRQUFDTyxPQUNmb0QsSUFBSzNELEVBQVMsUUFBQ08sT0FDZmpDLEtBQU0wQixFQUFTLFFBQUNDLE9BQ2hCaUIsZUFBZ0JsQixFQUFTLFFBQUNDLE9BQzFCc0QsWUFBYXZELEVBQVMsUUFBQ0MsT0FDdkJzRixNQUFPdkYsRUFBUyxRQUFDQyxPQUNqQjZELFlBQWE5RCxFQUFTLFFBQUNDLFNBSXpCOEQsa0JBQW1CL0QsRUFBUyxRQUFDSSxLQUc3QlMsS0FBTWIsRUFBUyxRQUFDQyxPQUVoQmlGLFNBQVVsRixFQUFTLFFBQUNLLEtBQ3BCeUUsV0FBWTlFLEVBQUFBLFFBQVVDLE9BQU9DLFdBQzdCbkIsTUFBT2lCLEVBQVMsUUFBQ0MsT0FDakJqQixXQUFZZ0IsRUFBUyxRQUFDQyxPQUV0QmIsWUFBYVksRUFBUyxRQUFDTSxNQUFNLENBRTNCZCxPQUFRUSxFQUFTLFFBQUNPIn0=
|
package/lib/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,o){"object"==typeof exports&&"undefined"!=typeof module?o(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"],o):o((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,o,t,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(o),c=s(t),f=s(a),m=s(i),p=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 o=function(e,o){if("object"!=h(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var a=t.call(e,o||"default");if("object"!=h(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===o?String:Number)(e)}(e,"string");return"symbol"==h(o)?o:o+""}function k(e,o,t){return(o=g(o))in e?Object.defineProperty(e,o,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[o]=t,e}function y(e,o){void 0===o&&(o={});var t=o.insertAt;if(e&&"undefined"!=typeof document){var a=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css","top"===t&&a.firstChild?a.insertBefore(i,a.firstChild):a.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}var x={"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"};y(".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");const R={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ä"},pl:{cancel:"Anuluj","choose-icon":"Wybierz ikonę miejsca","close-favourite-modal":"Zamknij modal ulubionych","edit-place":"Edytuj miejsce","favourite-modal-on-add-new":"Dodaj ulubione miejsce","favourite-modal-on-edit":"Edycja ulubionego miejsca: {{favourite.name}}","input-placeholder":"Nadaj nazwę miejscu (opcjonalne)",save:"Zapisz","save-place":"Zapisz miejsce","cannot-save-place":"Nie można zapisać miejsca bez nazwy lub ikony",place:"miejsce",home:"dom",work:"praca",sport:"sport",school:"szkoła",shopping:"zakupy","required-text":"pole wymagane"},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 E="desktop_favourite-modal-desktop-container__JeGRK",q="desktop_favourite-modal-desktop-top__SRAj7",N="desktop_favourite-modal-desktop-header__LzO65",I="desktop_favourite-modal-desktop-main__3SYc5",w="desktop_favourite-modal-desktop-location-search__ajBVr",S="desktop_favourite-modal-desktop-name__BmsiY",T="desktop_favourite-modal-desktop-input__6L7ez",G="desktop_favourite-modal-desktop-text__Gs-U3",O="desktop_favourite-modal-desktop-icons__LtHSO",C="desktop_icons-container__rs22H",j="desktop_favourite-modal-desktop-buttons__2Ag9q",A="desktop_favourite-modal-desktop-button__8Gh8t",z="desktop_save__I0AgO",H="desktop_disabled__Greqy",P="desktop_edit__t9NzU",U="desktop_sr-only__VJyNM";y(".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 -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::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 -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 clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px; }\n");const J=({headerText:e,autosuggestComponent:o,inputPlaceholder:t,specifyName:a,name:i,chooseIconText:n,favouriteIconTable:l,saveFavourite:r,saveText:d,canSave:s,isEdit:c,cancelText:f,cancelSelected:m,color:p,hoverColor:_,savePlaceText:v,cantSaveText:b,requiredText:h,fontWeights:g})=>u.default.createElement("div",{className:E,style:{"--color":`${p}`,"--hover-color":`${_}`,"--font-weight-medium":g.medium}},u.default.createElement("div",{className:q},u.default.createElement("div",{className:N},e)),u.default.createElement("div",{className:I},u.default.createElement("div",{className:w},o),u.default.createElement("div",{className:S},u.default.createElement("input",{"aria-label":t,className:T,value:i,placeholder:t,onChange:a}))),u.default.createElement("fieldset",{className:C},u.default.createElement("legend",{className:G},n,u.default.createElement("p",{className:U},h)),u.default.createElement("div",{className:O},l)),u.default.createElement("div",{className:j},u.default.createElement("button",{type:"button",className:`${A} ${z} ${s()?"":H}`,onClick:r,"aria-label":`${s()?v:b}`,"aria-disabled":!s()},d),c&&u.default.createElement("button",{type:"button",className:`${A} ${P} ${s()?"":H}`,onClick:m},f)));"production"!==process.env.NODE_ENV&&(J.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}),J.defaultProps={isEdit:!1,cancelSelected:()=>({})};var B={"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"};y(".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 -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 -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::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 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:o,inputPlaceholder:t,specifyName:a,name:i,chooseIconText:n,favouriteIconTable:l,saveFavourite:r,saveText:d,canSave:s,color:c,hoverColor:f,savePlaceText:m,cantSaveText:p,requiredText:_,fontWeights:v})=>u.default.createElement("div",{className:B["favourite-modal-mobile-container"],style:{"--color":`${c}`,"--hover-color":`${f}`,"--font-weight-medium":v.medium}},u.default.createElement("div",{className:B["favourite-modal-mobile-top"]},u.default.createElement("div",{className:B["favourite-modal-mobile-header"]},e)),u.default.createElement("div",{className:B["favourite-modal-mobile-main"]},u.default.createElement("div",{className:B["favourite-modal-mobile-location-search"]},o),u.default.createElement("input",{className:B["favourite-modal-mobile-input"],value:i||"",placeholder:t,onChange:a})),u.default.createElement("div",{className:B["favourite-modal-mobile-text"]},n,u.default.createElement("p",{className:B["sr-only"]},_)),u.default.createElement("div",{className:B["favourite-modal-mobile-icons"]},l),u.default.createElement("div",{className:B["favourite-modal-mobile-save"]},u.default.createElement("button",{type:"button",className:`${B["favourite-modal-mobile-button"]} ${s()?"":B.disabled}`,onClick:r,"aria-label":`${s()?m:p}`},d)));function K(e,o){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);o&&(a=a.filter((function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable}))),t.push.apply(t,a)}return t}function M(e){for(var o=1;o<arguments.length;o++){var t=null!=arguments[o]?arguments[o]:{};o%2?K(Object(t),!0).forEach((function(o){k(e,o,t[o])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):K(Object(t)).forEach((function(o){Object.defineProperty(e,o,Object.getOwnPropertyDescriptor(t,o))}))}return e}"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}),m.default.init({lng:"fi",fallbackLng:"fi",defaultNS:"translation",interpolation:{escapeValue:!1}}),Object.keys(R).forEach((e=>{m.default.addResourceBundle(e,"translation",R[e])}));const D={"icon-icon_place":"place","icon-icon_home":"home","icon-icon_work":"work","icon-icon_sport":"sport","icon-icon_school":"school","icon-icon_shopping":"shopping"},Y=({value:e,selectedIconId:t,handleClick:a,color:i})=>{const[n,l]=o.useState(!1),[r,d]=o.useState(!1),s=e===D[t]||n||r?"#ffffff":i;return u.default.createElement("button",{type:"button",className:f.default(x["favourite-icon-table-column"],x[e],e===D[t]&&x["selected-icon"]),onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1),onFocus:()=>d(!0),onBlur:()=>d(!1),onClick:()=>a(e),"aria-label":m.default.t(e)},u.default.createElement(b.default,{img:e,color:s}))};"production"!==process.env.NODE_ENV&&(Y.propTypes={handleClick:c.default.func.isRequired,value:c.default.string.isRequired,selectedIconId:c.default.string.isRequired,color:c.default.string.isRequired});const L=({favouriteIconIds:e,selectedIconId:o,handleClick:t,color:a})=>{const i=e.map((e=>u.default.createElement(Y,{key:`favourite-icon-table-${e}`,value:e,selectedIconId:o,handleClick:t,color:a})));return u.default.createElement("div",{className:x["generic-table"]},u.default.createElement("div",{className:x.row},i))};"production"!==process.env.NODE_ENV&&(L.propTypes={handleClick:c.default.func.isRequired,favouriteIconIds:c.default.arrayOf(c.default.string).isRequired,selectedIconId:c.default.string,color:c.default.string.isRequired}),L.defaultProps={selectedIconId:""};class $ extends u.default.Component{constructor(e){super(e),k(this,"specifyName",(e=>{const o=e.target.value;this.setState((e=>({favourite:M(M({},e.favourite),{},{name:o})})))})),k(this,"selectIcon",(e=>{this.setState((o=>({favourite:M(M({},o.favourite),{},{selectedIconId:`icon-icon_${e}`})})))})),k(this,"isEdit",(()=>this.state.favourite&&void 0!==this.state.favourite.favouriteId)),k(this,"canSave",(()=>this.state.favourite&&!p.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()){const e=p.default(this.state.favourite.name)?this.state.favourite.defaultName:this.state.favourite.name,o=M(M({},this.state.favourite),{},{name:e});delete o.defaultName,this.props.saveFavourite(M(M({},o),{},{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()}})),m.default.changeLanguage(e.lang),this.state={favourite:null},Object.keys(R).forEach((e=>{m.default.addResourceBundle(e,"translation",R[e])}))}static getDerivedStateFromProps(e,o){const t=o.favourite,a=e.favourite;return p.default(a)?{favourite:null}:p.default(t)&&!p.default(a)?{favourite:M({},a)}:p.default(t)||p.default(a)||a.address===t.address&&a.lat===t.lat&&a.lon===t.lon?null:{favourite:M(M({},t),{},{address:a.address,lat:a.lat,lon:a.lon,gid:a.gid||null,name:t.name||a.name||"",defaultName:a.defaultName})}}componentDidUpdate(){m.default.language!==this.props.lang&&m.default.changeLanguage(this.props.lang)}componentWillUnmount(){this.setState({favourite:null})}render(){const{favourite:e}=this.state,{color:o,hoverColor:t,fontWeights:a}=this.props,i={headerText:this.isEdit()?m.default.t("edit-place"):m.default.t("save-place"),autosuggestComponent:M(M({},this.props.autosuggestComponent),{},{color:o,hoverColor:t}),inputPlaceholder:m.default.t("input-placeholder"),specifyName:this.specifyName,name:e&&e.name||"",chooseIconText:m.default.t("choose-icon"),favouriteIconTable:u.default.createElement(L,{selectedIconId:(()=>{if(e&&void 0!==e.selectedIconId)return e.selectedIconId})(),favouriteIconIds:$.favouriteIconIds,handleClick:this.selectIcon,color:o}),saveFavourite:this.save,saveText:m.default.t("save"),canSave:this.canSave,isEdit:this.isEdit(),cancelText:m.default.t("cancel"),cancelSelected:()=>this.cancelSelected(),color:o,hoverColor:t,savePlaceText:m.default.t("save-place"),cantSaveText:m.default.t("cannot-save-place"),requiredText:m.default.t("required-text"),fontWeights:a};return u.default.createElement(v.default,{appElement:this.props.appElement,contentLabel:this.isEdit()?m.default.t("favourite-modal-on-edit",e):m.default.t("favourite-modal-on-add-new"),closeButtonLabel:m.default.t("close-favourite-modal"),variant:this.props.isMobile?"large":"small",isOpen:this.props.isModalOpen,onCrossClick:()=>this.closeModal()},!this.props.isMobile&&u.default.createElement(J,i),this.props.isMobile&&u.default.createElement(F,i))}}k($,"defaultProps",{cancelSelected:()=>({}),lang:"fi",isMobile:!1,favourite:null,autosuggestComponent:void 0,addAnalyticsEvent:void 0,color:"#007ac9",hoverColor:"#0062a1",fontWeights:{medium:500}}),k($,"favouriteIconIds",["place","home","work","sport","school","shopping"]),"production"!==process.env.NODE_ENV&&($.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=$,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
1
|
+
!function(e,o){"object"==typeof exports&&"undefined"!=typeof module?o(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"],o):o((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,o,t,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(o),c=s(t),f=s(a),m=s(i),p=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 o=function(e,o){if("object"!=h(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var a=t.call(e,o||"default");if("object"!=h(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===o?String:Number)(e)}(e,"string");return"symbol"==h(o)?o:o+""}function k(e,o,t){return(o=g(o))in e?Object.defineProperty(e,o,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[o]=t,e}function y(e,o){void 0===o&&(o={});var t=o.insertAt;if(e&&"undefined"!=typeof document){var a=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css","top"===t&&a.firstChild?a.insertBefore(i,a.firstChild):a.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}var x={"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"};y(".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");const R={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ä"},pl:{cancel:"Anuluj","choose-icon":"Wybierz ikonę miejsca","close-favourite-modal":"Zamknij modal ulubionych","edit-place":"Edytuj miejsce","favourite-modal-on-add-new":"Dodaj ulubione miejsce","favourite-modal-on-edit":"Edycja ulubionego miejsca: {{favourite.name}}","input-placeholder":"Nadaj nazwę miejscu (opcjonalne)",save:"Zapisz","save-place":"Zapisz miejsce","cannot-save-place":"Nie można zapisać miejsca bez nazwy lub ikony",place:"miejsce",home:"dom",work:"praca",sport:"sport",school:"szkoła",shopping:"zakupy","required-text":"pole wymagane"},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 E="desktop_favourite-modal-desktop-container__JeGRK",q="desktop_favourite-modal-desktop-top__SRAj7",I="desktop_favourite-modal-desktop-header__LzO65",N="desktop_favourite-modal-desktop-main__3SYc5",w="desktop_favourite-modal-desktop-location-search__ajBVr",S="desktop_favourite-modal-desktop-name__BmsiY",T="desktop_favourite-modal-desktop-input__6L7ez",G="desktop_favourite-modal-desktop-text__Gs-U3",O="desktop_favourite-modal-desktop-icons__LtHSO",C="desktop_icons-container__rs22H",j="desktop_favourite-modal-desktop-buttons__2Ag9q",A="desktop_favourite-modal-desktop-button__8Gh8t",z="desktop_save__I0AgO",H="desktop_disabled__Greqy",P="desktop_edit__t9NzU",U="desktop_sr-only__VJyNM";y(".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 -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::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 -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 clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px; }\n");const J=({headerText:e,autosuggestComponent:o,inputPlaceholder:t,specifyName:a,name:i,chooseIconText:n,favouriteIconTable:l,saveFavourite:r,saveText:d,canSave:s,isEdit:c,cancelText:f,cancelSelected:m,color:p,hoverColor:_,savePlaceText:v,cantSaveText:b,requiredText:h,fontWeights:g})=>u.default.createElement("div",{className:E,style:{"--color":`${p}`,"--hover-color":`${_}`,"--font-weight-medium":g.medium}},u.default.createElement("div",{className:q},u.default.createElement("div",{className:I},e)),u.default.createElement("div",{className:N},u.default.createElement("div",{className:w},o),u.default.createElement("div",{className:S},u.default.createElement("input",{"aria-label":t,className:T,value:i,placeholder:t,onChange:a}))),u.default.createElement("fieldset",{className:C},u.default.createElement("legend",{className:G},n,u.default.createElement("p",{className:U},h)),u.default.createElement("div",{className:O},l)),u.default.createElement("div",{className:j},u.default.createElement("button",{type:"button",className:`${A} ${z} ${s()?"":H}`,onClick:r,"aria-label":`${s()?v:b}`,"aria-disabled":!s()},d),c&&u.default.createElement("button",{type:"button",className:`${A} ${P} ${s()?"":H}`,onClick:m},f)));"production"!==process.env.NODE_ENV&&(J.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}),J.defaultProps={isEdit:!1,cancelSelected:()=>({})};var B={"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"};y(".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 -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 -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::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 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:o,inputPlaceholder:t,specifyName:a,name:i,chooseIconText:n,favouriteIconTable:l,saveFavourite:r,saveText:d,canSave:s,color:c,hoverColor:f,savePlaceText:m,cantSaveText:p,requiredText:_,fontWeights:v})=>u.default.createElement("div",{className:B["favourite-modal-mobile-container"],style:{"--color":`${c}`,"--hover-color":`${f}`,"--font-weight-medium":v.medium}},u.default.createElement("div",{className:B["favourite-modal-mobile-top"]},u.default.createElement("div",{className:B["favourite-modal-mobile-header"]},e)),u.default.createElement("div",{className:B["favourite-modal-mobile-main"]},u.default.createElement("div",{className:B["favourite-modal-mobile-location-search"]},o),u.default.createElement("input",{className:B["favourite-modal-mobile-input"],value:i||"",placeholder:t,onChange:a})),u.default.createElement("div",{className:B["favourite-modal-mobile-text"]},n,u.default.createElement("p",{className:B["sr-only"]},_)),u.default.createElement("div",{className:B["favourite-modal-mobile-icons"]},l),u.default.createElement("div",{className:B["favourite-modal-mobile-save"]},u.default.createElement("button",{type:"button",className:`${B["favourite-modal-mobile-button"]} ${s()?"":B.disabled}`,onClick:r,"aria-label":`${s()?m:p}`},d)));function K(e,o){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);o&&(a=a.filter((function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable}))),t.push.apply(t,a)}return t}function M(e){for(var o=1;o<arguments.length;o++){var t=null!=arguments[o]?arguments[o]:{};o%2?K(Object(t),!0).forEach((function(o){k(e,o,t[o])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):K(Object(t)).forEach((function(o){Object.defineProperty(e,o,Object.getOwnPropertyDescriptor(t,o))}))}return e}"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}),Object.keys(R).forEach((e=>m.default.addResourceBundle(e,"translation",R[e],!0)));const Y={"icon-icon_place":"place","icon-icon_home":"home","icon-icon_work":"work","icon-icon_sport":"sport","icon-icon_school":"school","icon-icon_shopping":"shopping"},D=({value:e,selectedIconId:t,handleClick:a,color:i,lang:n})=>{const[l,r]=o.useState(!1),[d,s]=o.useState(!1),c=e===Y[t]||l||d?"#ffffff":i;return u.default.createElement("button",{type:"button",className:f.default(x["favourite-icon-table-column"],x[e],e===Y[t]&&x["selected-icon"]),onMouseEnter:()=>r(!0),onMouseLeave:()=>r(!1),onFocus:()=>s(!0),onBlur:()=>s(!1),onClick:()=>a(e),"aria-label":m.default.t(e,{lng:n})},u.default.createElement(b.default,{img:e,color:c}))};"production"!==process.env.NODE_ENV&&(D.propTypes={handleClick:c.default.func.isRequired,value:c.default.string.isRequired,selectedIconId:c.default.string.isRequired,color:c.default.string.isRequired,lang:c.default.string.isRequired});const $=({favouriteIconIds:e,selectedIconId:o,handleClick:t,color:a,lang:i})=>{const n=e.map((e=>u.default.createElement(D,{key:`favourite-icon-table-${e}`,value:e,selectedIconId:o,handleClick:t,color:a,lang:i})));return u.default.createElement("div",{className:x["generic-table"]},u.default.createElement("div",{className:x.row},n))};"production"!==process.env.NODE_ENV&&($.propTypes={handleClick:c.default.func.isRequired,favouriteIconIds:c.default.arrayOf(c.default.string).isRequired,selectedIconId:c.default.string,color:c.default.string.isRequired,lang:c.default.string.isRequired}),$.defaultProps={selectedIconId:""};class Z extends u.default.Component{constructor(e){super(e),k(this,"specifyName",(e=>{const o=e.target.value;this.setState((e=>({favourite:M(M({},e.favourite),{},{name:o})})))})),k(this,"selectIcon",(e=>{this.setState((o=>({favourite:M(M({},o.favourite),{},{selectedIconId:`icon-icon_${e}`})})))})),k(this,"isEdit",(()=>this.state.favourite&&void 0!==this.state.favourite.favouriteId)),k(this,"canSave",(()=>this.state.favourite&&!p.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()){const e=p.default(this.state.favourite.name)?this.state.favourite.defaultName:this.state.favourite.name,o=M(M({},this.state.favourite),{},{name:e});delete o.defaultName,this.props.saveFavourite(M(M({},o),{},{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.state={favourite:null}}static getDerivedStateFromProps(e,o){const t=o.favourite,a=e.favourite;return p.default(a)?{favourite:null}:p.default(t)&&!p.default(a)?{favourite:M({},a)}:p.default(t)||p.default(a)||a.address===t.address&&a.lat===t.lat&&a.lon===t.lon?null:{favourite:M(M({},t),{},{address:a.address,lat:a.lat,lon:a.lon,gid:a.gid||null,name:t.name||a.name||"",defaultName:a.defaultName})}}componentWillUnmount(){this.setState({favourite:null})}render(){const{favourite:e}=this.state,{color:o,hoverColor:t,fontWeights:a,lang:i}=this.props,n={headerText:this.isEdit()?m.default.t("edit-place",{lng:i}):m.default.t("save-place",{lng:i}),autosuggestComponent:M(M({},this.props.autosuggestComponent),{},{color:o,hoverColor:t}),inputPlaceholder:m.default.t("input-placeholder",{lng:i}),specifyName:this.specifyName,name:e&&e.name||"",chooseIconText:m.default.t("choose-icon",{lng:i}),favouriteIconTable:u.default.createElement($,{selectedIconId:(()=>{if(e&&void 0!==e.selectedIconId)return e.selectedIconId})(),favouriteIconIds:Z.favouriteIconIds,handleClick:this.selectIcon,color:o,lang:i}),saveFavourite:this.save,saveText:m.default.t("save",{lng:i}),canSave:this.canSave,isEdit:this.isEdit(),cancelText:m.default.t("cancel",{lng:i}),cancelSelected:()=>this.cancelSelected(),color:o,hoverColor:t,savePlaceText:m.default.t("save-place",{lng:i}),cantSaveText:m.default.t("cannot-save-place",{lng:i}),requiredText:m.default.t("required-text",{lng:i}),fontWeights:a};return u.default.createElement(v.default,{appElement:this.props.appElement,contentLabel:this.isEdit()?m.default.t("favourite-modal-on-edit",{lng:i,favourite:e}):m.default.t("favourite-modal-on-add-new",{lng:i}),closeButtonLabel:m.default.t("close-favourite-modal",{lng:i}),variant:this.props.isMobile?"large":"small",isOpen:this.props.isModalOpen,onCrossClick:()=>this.closeModal()},!this.props.isMobile&&u.default.createElement(J,n),this.props.isMobile&&u.default.createElement(F,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/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/style-inject/dist/style-inject.es.js","../src/helpers/translations.js","../src/helpers/DesktopModal.js","../src/helpers/MobileModal.js","../src/index.js"],"sourcesContent":["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}\nexport { _typeof as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import _typeof from \"./typeof.js\";\nfunction 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}\nexport { toPrimitive as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","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 pl: {\n cancel: 'Anuluj',\n 'choose-icon': 'Wybierz ikonę miejsca',\n 'close-favourite-modal': 'Zamknij modal ulubionych',\n 'edit-place': 'Edytuj miejsce',\n 'favourite-modal-on-add-new': 'Dodaj ulubione miejsce',\n 'favourite-modal-on-edit': 'Edycja ulubionego miejsca: {{favourite.name}}',\n 'input-placeholder': 'Nadaj nazwę miejscu (opcjonalne)',\n save: 'Zapisz',\n 'save-place': 'Zapisz miejsce',\n 'cannot-save-place': 'Nie można zapisać miejsca bez nazwy lub ikony',\n place: 'miejsce',\n home: 'dom',\n work: 'praca',\n sport: 'sport',\n school: 'szkoła',\n shopping: 'zakupy',\n 'required-text': 'pole wymagane',\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","Object","defineProperty","value","enumerable","configurable","writable","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","pl","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","placeholder","onChange","onClick","process","env","NODE_ENV","propTypes","PropTypes","string","isRequired","node","func","bool","shape","number","defaultProps","MobileModal","disabled","i18next__default","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","Icon","img","FavouriteIconTable","favouriteIconIds","columns","map","key","row","arrayOf","FavouriteModal","Component","props","super","this","event","target","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","modalProps","selectIcon","Modal","appElement","contentLabel","closeButtonLabel","variant","isMobile","isOpen","isModalOpen","onCrossClick","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/style-inject/dist/style-inject.es.js","../src/helpers/translations.js","../src/helpers/DesktopModal.js","../src/helpers/MobileModal.js","../src/index.js"],"sourcesContent":["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}\nexport { _typeof as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import _typeof from \"./typeof.js\";\nfunction 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}\nexport { toPrimitive as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","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 pl: {\n cancel: 'Anuluj',\n 'choose-icon': 'Wybierz ikonę miejsca',\n 'close-favourite-modal': 'Zamknij modal ulubionych',\n 'edit-place': 'Edytuj miejsce',\n 'favourite-modal-on-add-new': 'Dodaj ulubione miejsce',\n 'favourite-modal-on-edit': 'Edycja ulubionego miejsca: {{favourite.name}}',\n 'input-placeholder': 'Nadaj nazwę miejscu (opcjonalne)',\n save: 'Zapisz',\n 'save-place': 'Zapisz miejsce',\n 'cannot-save-place': 'Nie można zapisać miejsca bez nazwy lub ikony',\n place: 'miejsce',\n home: 'dom',\n work: 'praca',\n sport: 'sport',\n school: 'szkoła',\n shopping: 'zakupy',\n 'required-text': 'pole wymagane',\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\nObject.keys(translations).forEach(lang =>\n i18next.addResourceBundle(lang, 'translation', translations[lang], true),\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 lang,\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, { lng: lang })}\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 lang: PropTypes.string.isRequired,\n};\n\nconst FavouriteIconTable = ({\n favouriteIconIds,\n selectedIconId,\n handleClick,\n color,\n lang,\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 lang={lang}\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 lang: 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 this.state = {\n favourite: null,\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 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, lang } = this.props;\n const headerText = this.isEdit()\n ? i18next.t('edit-place', { lng: lang })\n : i18next.t('save-place', { lng: lang });\n const modalProps = {\n headerText,\n autosuggestComponent: {\n ...this.props.autosuggestComponent,\n color,\n hoverColor,\n },\n inputPlaceholder: i18next.t('input-placeholder', { lng: lang }),\n specifyName: this.specifyName,\n name: (favourite && favourite.name) || '',\n chooseIconText: i18next.t('choose-icon', { lng: lang }),\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 lang={lang}\n />\n ),\n saveFavourite: this.save,\n saveText: i18next.t('save', { lng: lang }),\n canSave: this.canSave,\n isEdit: this.isEdit(),\n cancelText: i18next.t('cancel', { lng: lang }),\n cancelSelected: () => this.cancelSelected(),\n color,\n hoverColor,\n savePlaceText: i18next.t('save-place', { lng: lang }),\n cantSaveText: i18next.t('cannot-save-place', { lng: lang }),\n requiredText: i18next.t('required-text', { lng: lang }),\n fontWeights,\n };\n return (\n <Modal\n appElement={this.props.appElement}\n contentLabel={\n this.isEdit()\n ? i18next.t('favourite-modal-on-edit', { lng: lang, favourite })\n : i18next.t('favourite-modal-on-add-new', { lng: lang })\n }\n closeButtonLabel={i18next.t('close-favourite-modal', { lng: lang })}\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","Object","defineProperty","value","enumerable","configurable","writable","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","pl","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","placeholder","onChange","onClick","process","env","NODE_ENV","propTypes","PropTypes","string","isRequired","node","func","bool","shape","number","defaultProps","MobileModal","disabled","keys","forEach","lang","i18next","addResourceBundle","FavouriteIconIdToNameMap","FavouriteIconTableButton","selectedIconId","handleClick","isHovered","setHover","useState","isFocused","setFocus","iconColor","cx","onMouseEnter","onMouseLeave","onFocus","onBlur","lng","Icon","img","FavouriteIconTable","favouriteIconIds","columns","map","key","row","arrayOf","FavouriteModal","Component","props","super","this","event","target","setState","prevState","favourite","_objectSpread","id","state","undefined","favouriteId","isEmpty","isNumber","lat","lon","handleClose","setTimeout","defaultName","addAnalyticsEvent","category","action","closeModal","getDerivedStateFromProps","nextProps","prevFav","nextFav","address","gid","componentWillUnmount","render","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": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"description": "digitransit-component favourite-modal module",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"files": [
|
|
@@ -39,5 +39,5 @@
|
|
|
39
39
|
"prop-types": "^15.8.1",
|
|
40
40
|
"react": "^16.13.0"
|
|
41
41
|
},
|
|
42
|
-
"gitHead": "
|
|
42
|
+
"gitHead": "5d7fa412a74387a69eb6783a6b796eef337588fb"
|
|
43
43
|
}
|