diff --git a/5/bundle.3b2767e4ee15d8b31e4b.js b/5/bundle.3b2767e4ee15d8b31e4b.js new file mode 100644 index 0000000..3da583c --- /dev/null +++ b/5/bundle.3b2767e4ee15d8b31e4b.js @@ -0,0 +1,2 @@ +(()=>{var e={10:(e,t,i)=>{"use strict";i.d(t,{Z:()=>o});var n=i(537),s=i.n(n),a=i(645),r=i.n(a)()(s());r.push([e.id,".shake {\n animation: shake 0.6s;\n position: relative;\n z-index: 10;\n}\n\n@keyframes shake {\n 0%,\n 100% {\n transform: translateX(0);\n }\n\n 10%,\n 30%,\n 50%,\n 70%,\n 90% {\n transform: translateX(-5px);\n }\n\n 20%,\n 40%,\n 60%,\n 80% {\n transform: translateX(5px);\n }\n}\n","",{version:3,sources:["webpack://./src/framework/view/abstract-view.css"],names:[],mappings:"AAAA;EACE,qBAAqB;EACrB,kBAAkB;EAClB,WAAW;AACb;;AAEA;EACE;;IAEE,wBAAwB;EAC1B;;EAEA;;;;;IAKE,2BAA2B;EAC7B;;EAEA;;;;IAIE,0BAA0B;EAC5B;AACF",sourcesContent:[".shake {\n animation: shake 0.6s;\n position: relative;\n z-index: 10;\n}\n\n@keyframes shake {\n 0%,\n 100% {\n transform: translateX(0);\n }\n\n 10%,\n 30%,\n 50%,\n 70%,\n 90% {\n transform: translateX(-5px);\n }\n\n 20%,\n 40%,\n 60%,\n 80% {\n transform: translateX(5px);\n }\n}\n"],sourceRoot:""}]);const o=r},645:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var i="",n=void 0!==t[5];return t[4]&&(i+="@supports (".concat(t[4],") {")),t[2]&&(i+="@media ".concat(t[2]," {")),n&&(i+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),i+=e(t),n&&(i+="}"),t[2]&&(i+="}"),t[4]&&(i+="}"),i})).join("")},t.i=function(e,i,n,s,a){"string"==typeof e&&(e=[[null,e,void 0]]);var r={};if(n)for(var o=0;o0?" ".concat(f[5]):""," {").concat(f[1],"}")),f[5]=a),i&&(f[2]?(f[1]="@media ".concat(f[2]," {").concat(f[1],"}"),f[2]=i):f[2]=i),s&&(f[4]?(f[1]="@supports (".concat(f[4],") {").concat(f[1],"}"),f[4]=s):f[4]="".concat(s)),t.push(f))}},t}},537:e=>{"use strict";e.exports=function(e){var t=e[1],i=e[3];if(!i)return t;if("function"==typeof btoa){var n=btoa(unescape(encodeURIComponent(JSON.stringify(i)))),s="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(n),a="/*# ".concat(s," */");return[t].concat([a]).join("\n")}return[t].join("\n")}},484:function(e){e.exports=function(){"use strict";var e=6e4,t=36e5,i="millisecond",n="second",s="minute",a="hour",r="day",o="week",c="month",d="quarter",f="year",l="date",u="Invalid Date",p=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,h=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,b={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(e){var t=["th","st","nd","rd"],i=e%100;return"["+e+(t[(i-20)%10]||t[i]||t[0])+"]"}},m=function(e,t,i){var n=String(e);return!n||n.length>=t?e:""+Array(t+1-n.length).join(i)+e},v={s:m,z:function(e){var t=-e.utcOffset(),i=Math.abs(t),n=Math.floor(i/60),s=i%60;return(t<=0?"+":"-")+m(n,2,"0")+":"+m(s,2,"0")},m:function e(t,i){if(t.date()1)return e(r[0])}else{var o=t.name;_[o]=t,s=o}return!n&&s&&(y=s),s||!n&&y},T=function(e,t){if($(e))return e.clone();var i="object"==typeof t?t:{};return i.date=e,i.args=arguments,new w(i)},M=v;M.l=g,M.i=$,M.w=function(e,t){return T(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var w=function(){function b(e){this.$L=g(e.locale,null,!0),this.parse(e)}var m=b.prototype;return m.parse=function(e){this.$d=function(e){var t=e.date,i=e.utc;if(null===t)return new Date(NaN);if(M.u(t))return new Date;if(t instanceof Date)return new Date(t);if("string"==typeof t&&!/Z$/i.test(t)){var n=t.match(p);if(n){var s=n[2]-1||0,a=(n[7]||"0").substring(0,3);return i?new Date(Date.UTC(n[1],s,n[3]||1,n[4]||0,n[5]||0,n[6]||0,a)):new Date(n[1],s,n[3]||1,n[4]||0,n[5]||0,n[6]||0,a)}}return new Date(t)}(e),this.$x=e.x||{},this.init()},m.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},m.$utils=function(){return M},m.isValid=function(){return!(this.$d.toString()===u)},m.isSame=function(e,t){var i=T(e);return this.startOf(t)<=i&&i<=this.endOf(t)},m.isAfter=function(e,t){return T(e){"use strict";var t=[];function i(e){for(var i=-1,n=0;n{"use strict";var t={};e.exports=function(e,i){var n=function(e){if(void 0===t[e]){var i=document.querySelector(e);if(window.HTMLIFrameElement&&i instanceof window.HTMLIFrameElement)try{i=i.contentDocument.head}catch(e){i=null}t[e]=i}return t[e]}(e);if(!n)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");n.appendChild(i)}},216:e=>{"use strict";e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},565:(e,t,i)=>{"use strict";e.exports=function(e){var t=i.nc;t&&e.setAttribute("nonce",t)}},795:e=>{"use strict";e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var t=e.insertStyleElement(e);return{update:function(i){!function(e,t,i){var n="";i.supports&&(n+="@supports (".concat(i.supports,") {")),i.media&&(n+="@media ".concat(i.media," {"));var s=void 0!==i.layer;s&&(n+="@layer".concat(i.layer.length>0?" ".concat(i.layer):""," {")),n+=i.css,s&&(n+="}"),i.media&&(n+="}"),i.supports&&(n+="}");var a=i.sourceMap;a&&"undefined"!=typeof btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a))))," */")),t.styleTagTransform(n,e,t.options)}(t,e,i)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},589:e=>{"use strict";e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}}},t={};function i(n){var s=t[n];if(void 0!==s)return s.exports;var a=t[n]={id:n,exports:{}};return e[n].call(a.exports,a,a.exports,i),a.exports}i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},i.d=(e,t)=>{for(var n in t)i.o(t,n)&&!i.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),i.nc=void 0,(()=>{"use strict";function e(e,t,i="beforeend"){if(!(e instanceof y))throw new Error("Can render only components");if(null===t)throw new Error("Container element doesn't exist");t.insertAdjacentElement(i,e.element)}function t(e,t){if(!(e instanceof y&&t instanceof y))throw new Error("Can replace only components");const i=e.element,n=t.element,s=n.parentElement;if(null===s)throw new Error("Parent element doesn't exist");s.replaceChild(i,n)}var n=i(379),s=i.n(n),a=i(795),r=i.n(a),o=i(569),c=i.n(o),d=i(565),f=i.n(d),l=i(216),u=i.n(l),p=i(589),h=i.n(p),b=i(10),m={};m.styleTagTransform=h(),m.setAttributes=f(),m.insert=c().bind(null,"head"),m.domAPI=r(),m.insertStyleElement=u(),s()(b.Z,m),b.Z&&b.Z.locals&&b.Z.locals;const v="shake";class y{#e=null;constructor(){if(new.target===y)throw new Error("Can't instantiate AbstractView, only concrete one.")}get element(){return this.#e||(this.#e=function(e){const t=document.createElement("div");return t.innerHTML=e,t.firstElementChild}(this.template)),this.#e}get template(){throw new Error("Abstract method not implemented: get template")}removeElement(){this.#e=null}shake(e){this.element.classList.add(v),setTimeout((()=>{this.element.classList.remove(v),e?.()}),600)}}class _ extends y{get template(){return'
\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n
'}}const $=["taxi","bus","train","ship","drive","flight","check-in","sightseeing","restaurant"];var g=i(484),T=i.n(g),M=i(178),w=i.n(M),S=i(646),D=i.n(S);function k(e){return e?T().utc(e).format("HH:mm"):""}function j(e){return e?T().utc(e).format("DD/MM/YY HH:mm"):""}T().extend(w()),T().extend(D());class F extends y{#t=null;#i=null;#n=null;#s=null;#a=null;constructor({point:e,offers:t,destinations:i,onRollupBtnClick:n,onFormSubmit:s}){super(),this.#t=e,this.#i=t,this.#n=i,this.#s=n,this.#a=s,this.element.querySelector(".event__rollup-btn").addEventListener("click",this.#r),this.element.querySelector("form").addEventListener("submit",this.#o)}get template(){return function(e,t,i){const{basePrice:n,type:s,dateFrom:a,dateTo:r}=e,o=i.find((t=>t.id===e.destination)),{description:c,name:d}=o,f=function(e){return $.map((t=>{return`
\n \n \n
`;var i})).join("")}(s),l=function(e,t){const i=t.find((t=>t.type===e.type)).offers,n=i.filter((t=>e.offers.includes(t.id)));return'
\n '+(i.length?`
\n

Offers

\n
\n\n ${i.map((e=>{const t=n.map((e=>e.id)).includes(e.id)?"checked":"";return`
\n \n \n
`})).join("")}\n
\n
`:"")}(e,t),u=function(e){return e.map((e=>``)).join("")}(i);return`
  • \n
    \n
    \n
    \n \n \n\n
    \n
    \n Event type\n ${f}\n
    \n
    \n
    \n\n
    \n \n \n \n ${u}\n \n
    \n\n
    \n \n \n —\n \n \n
    \n\n
    \n \n \n
    \n\n \n \n \n
    \n ${l}\n
    \n

    Destination

    \n

    ${c}

    \n
    \n
  • \n \n `}(this.#t,this.#i,this.#n)}#r=e=>{e.preventDefault(),this.#s()};#o=e=>{e.preventDefault(),this.#a()}}class C extends y{get template(){return'
      '}}class E extends y{#t=null;#i=null;#n=null;#c=null;constructor({point:e,offers:t,destinations:i,onUnrollBtnClick:n}){super(),this.#t=e,this.#i=t,this.#n=i,this.#c=n,this.element.querySelector(".event__rollup-btn").addEventListener("click",this.#d)}get template(){return function(e,t,i){const{basePrice:n,type:s,dateFrom:a,dateTo:r,isFavorite:o}=e,c=(d=a)?T().utc(d).format("MMM D"):"";var d;const f=function(e,t){const i=T()(e),n=T()(t);return T().duration(i.diff(n)).format("DD[D] HH[H] mm[M]").replace(/\b00D 00H\b/,"").replace(/\b00D\b/,"")}(r,a),l=k(a),u=k(r),p=i.find((t=>t.id===e.destination)),h=t.find((t=>t.type===e.type)).offers.filter((t=>e.offers.includes(t.id))),b=o?"event__favorite-btn--active":"";return`
    • \n
      \n \n
      \n Event type icon\n
      \n

      ${s} ${p.name}

      \n
      \n

      \n \n —\n \n

      \n

      ${f}

      \n
      \n

      \n € ${n}\n

      \n

      Offers:

      \n
        \n ${h.map((e=>`
      • \n ${e.title}\n +€ \n ${e.price}\n
      • `)).join("")}\n
      \n \n \n
      \n
    • `}(this.#t,this.#i,this.#n)}#d=e=>{e.preventDefault(),this.#c()}}const A=[{id:"54d2f62a-6862-45f7-a1da-331713ec17ce",description:"Saint Petersburg - full of of cozy canteens where you can try the best coffee in the Middle East",name:"Saint Petersburg",pictures:[]},{id:"dd43c534-f518-48c1-b3cd-fb4b7b2f787e",description:"Vien - in a middle of Europe",name:"Vien",pictures:[]},{id:"4ab18ebc-63f5-487d-8957-b710a649ca50",description:"Rome - famous for its crowded street markets with the best street food in Asia",name:"Rome",pictures:[{src:"https://22.objects.htmlacademy.pro/static/destinations/4.jpg",description:"Rome is a beautiful city"},{src:"https://22.objects.htmlacademy.pro/static/destinations/6.jpg",description:"Rome is a beautiful city"},{src:"https://22.objects.htmlacademy.pro/static/destinations/10.jpg",description:"Rome in a middle of Europe"},{src:"https://22.objects.htmlacademy.pro/static/destinations/16.jpg",description:"Rome is a beautiful city"},{src:"https://22.objects.htmlacademy.pro/static/destinations/4.jpg",description:"Rome middle-eastern paradise"}]},{id:"a30baa99-560e-499b-a722-064fdb220eb6",description:"Naples - with a beautiful old town",name:"Naples",pictures:[{src:"https://22.objects.htmlacademy.pro/static/destinations/10.jpg",description:"Naples famous for its crowded street markets with the best street food in Asia"},{src:"https://22.objects.htmlacademy.pro/static/destinations/20.jpg",description:"Naples middle-eastern paradise"},{src:"https://22.objects.htmlacademy.pro/static/destinations/11.jpg",description:"Naples for those who value comfort and coziness"},{src:"https://22.objects.htmlacademy.pro/static/destinations/9.jpg",description:"Naples is a beautiful city"}]},{id:"88aa152d-9bda-4d6c-b002-81a34dc7914e",description:"Tokio - with an embankment of a mighty river as a centre of attraction",name:"Tokio",pictures:[{src:"https://22.objects.htmlacademy.pro/static/destinations/10.jpg",description:"Tokio middle-eastern paradise"},{src:"https://22.objects.htmlacademy.pro/static/destinations/18.jpg",description:"Tokio in a middle of Europe"},{src:"https://22.objects.htmlacademy.pro/static/destinations/11.jpg",description:"Tokio is a beautiful city"},{src:"https://22.objects.htmlacademy.pro/static/destinations/19.jpg",description:"Tokio a perfect place to stay with a family"}]},{id:"2c2eeb4d-8fe2-4852-ba52-ad3afdf22ca1",description:"Valencia - with an embankment of a mighty river as a centre of attraction",name:"Valencia",pictures:[{src:"https://22.objects.htmlacademy.pro/static/destinations/9.jpg",description:"Valencia a true asian pearl"},{src:"https://22.objects.htmlacademy.pro/static/destinations/16.jpg",description:"Valencia with a beautiful old town"},{src:"https://22.objects.htmlacademy.pro/static/destinations/14.jpg",description:"Valencia full of of cozy canteens where you can try the best coffee in the Middle East"}]},{id:"22fdb8aa-6682-4f67-a2c4-3ba172eeede9",description:"",name:"Oslo",pictures:[]},{id:"a8f0f30d-f243-45d0-af43-8d663a40712d",description:"Monaco - middle-eastern paradise",name:"Monaco",pictures:[{src:"https://22.objects.htmlacademy.pro/static/destinations/12.jpg",description:"Monaco with crowded streets"}]},{id:"4d516e51-d32e-4fee-9c3c-31024699e7c3",description:"Madrid - with an embankment of a mighty river as a centre of attraction",name:"Madrid",pictures:[{src:"https://22.objects.htmlacademy.pro/static/destinations/9.jpg",description:"Madrid middle-eastern paradise"},{src:"https://22.objects.htmlacademy.pro/static/destinations/9.jpg",description:"Madrid in a middle of Europe"},{src:"https://22.objects.htmlacademy.pro/static/destinations/14.jpg",description:"Madrid is a beautiful city"},{src:"https://22.objects.htmlacademy.pro/static/destinations/1.jpg",description:"Madrid in a middle of Europe"}]},{id:"24514db9-cd07-4129-a377-8c6bd73d2e99",description:"Rotterdam - for those who value comfort and coziness",name:"Rotterdam",pictures:[{src:"https://22.objects.htmlacademy.pro/static/destinations/8.jpg",description:"Rotterdam with crowded streets"},{src:"https://22.objects.htmlacademy.pro/static/destinations/3.jpg",description:"Rotterdam full of of cozy canteens where you can try the best coffee in the Middle East"},{src:"https://22.objects.htmlacademy.pro/static/destinations/14.jpg",description:"Rotterdam for those who value comfort and coziness"},{src:"https://22.objects.htmlacademy.pro/static/destinations/20.jpg",description:"Rotterdam middle-eastern paradise"},{src:"https://22.objects.htmlacademy.pro/static/destinations/17.jpg",description:"Rotterdam a perfect place to stay with a family"}]}],Z=[{type:"taxi",offers:[{id:"d5d70b4c-27bf-4680-9f8c-07e02f10b16e",title:"Upgrade to a business class",price:158},{id:"1ef388a5-0a48-4e27-957f-6e265c8c3958",title:"Choose the radio station",price:92},{id:"cdd79f71-1520-4b85-9135-98f009f4a5d6",title:"Choose temperature",price:180},{id:"d44375b4-467b-4111-a86e-11a1f6e209a5",title:"Drive quickly, I'm in a hurry",price:141},{id:"6e77caf0-e083-497d-9b05-226272a3c557",title:"Drive slowly",price:170}]},{type:"bus",offers:[{id:"70b8b20a-aee2-4716-93a8-6090e90aaa5f",title:"Infotainment system",price:46},{id:"f5ecc997-833b-4794-8a19-c9bf61830e15",title:"Order meal",price:125},{id:"a3ebdd4e-9021-43be-ae41-6ba5b1a2c8c7",title:"Choose seats",price:135}]},{type:"train",offers:[{id:"5ac88f21-7096-40bf-b505-70f2ecda701c",title:"Book a taxi at the arrival point",price:80},{id:"59644519-f72b-4be3-b914-e8bf034ece5a",title:"Order a breakfast",price:178},{id:"4406d403-df60-4ede-bc53-cdb424cc40f1",title:"Wake up at a certain time",price:34}]},{type:"flight",offers:[{id:"21403e61-3256-485d-b648-771a1f2b3a1e",title:"Choose meal",price:151},{id:"f50debc7-c76f-425b-bf31-edd84c5877ad",title:"Choose seats",price:169},{id:"d64143b4-9527-4470-8ed1-5290d589b96b",title:"Upgrade to comfort class",price:185},{id:"0e87c0f3-7abc-4ba4-b4c8-e8774c6b86b0",title:"Upgrade to business class",price:147},{id:"3968d985-0310-490e-a0c7-f49f5f0b07a1",title:"Add luggage",price:143},{id:"471bf489-5102-4f18-a58e-69291145a936",title:"Business lounge",price:31}]},{type:"check-in",offers:[{id:"34adc3d6-9d70-4f96-ad91-5fb75a3a6e6d",title:"Choose the time of check-in",price:85},{id:"f1a1984c-c1a7-4a8d-883d-5c8fcdb2fc84",title:"Choose the time of check-out",price:82},{id:"7daefd03-2d9a-4143-9419-ebba3b2247fd",title:"Add breakfast",price:89},{id:"b75c96ec-f12f-403b-91be-abc0110b643f",title:"Laundry",price:169},{id:"1108cac6-d5e7-48ec-aebd-2e213444b1ee",title:"Order a meal from the restaurant",price:42}]},{type:"sightseeing",offers:[]},{type:"ship",offers:[{id:"7356e656-94e6-4f36-8bb5-163a17cfa841",title:"Choose meal",price:162},{id:"b1bd6cc2-51ce-42b2-99f5-9df12a7f97f9",title:"Choose seats",price:109},{id:"f91cfb4a-c241-4e22-8bf1-e5e8ab4bb222",title:"Upgrade to comfort class",price:72},{id:"c5424871-ab68-48e9-95ae-da33312cb24d",title:"Upgrade to business class",price:133},{id:"f0484591-cfda-45c8-9286-c222d8e1b701",title:"Add luggage",price:118},{id:"2fcaf275-8d86-4eb4-b4d8-e12f8c07edf3",title:"Business lounge",price:94}]},{type:"drive",offers:[{id:"b8681284-e9c9-4b79-b14b-e33b0acc7591",title:"With automatic transmission",price:134},{id:"b892f09d-d7c1-43d5-bb61-c320125af75d",title:"With air conditioning",price:68}]},{type:"restaurant",offers:[{id:"aebb0086-2a49-4cfd-966f-969802c90981",title:"Choose live music",price:119},{id:"6b59afee-9409-41ec-9a52-ce3d0829c4ef",title:"Choose VIP area",price:73}]}],x=[{id:"ab11c7ec-63d2-4e49-bb4e-f000db081e9f",basePrice:6284,dateFrom:"2025-02-11T09:46:12.970Z",dateTo:"2025-02-12T08:12:12.970Z",destination:"24514db9-cd07-4129-a377-8c6bd73d2e99",isFavorite:!0,offers:["b8681284-e9c9-4b79-b14b-e33b0acc7591","b892f09d-d7c1-43d5-bb61-c320125af75d"],type:"drive"},{id:"754792f7-52a1-4a8a-93a6-7ce14ca86c14",basePrice:3890,dateFrom:"2025-02-13T06:46:12.970Z",dateTo:"2025-02-14T12:13:12.970Z",destination:"a8f0f30d-f243-45d0-af43-8d663a40712d",isFavorite:!1,offers:["1108cac6-d5e7-48ec-aebd-2e213444b1ee"],type:"check-in"},{id:"bc3c49dd-9f9c-426a-ae6d-5f1f6237c35e",basePrice:9509,dateFrom:"2025-02-15T03:07:12.970Z",dateTo:"2025-02-15T10:44:12.970Z",destination:"22fdb8aa-6682-4f67-a2c4-3ba172eeede9",isFavorite:!0,offers:["4406d403-df60-4ede-bc53-cdb424cc40f1"],type:"train"},{id:"5f5d0057-7442-451f-bb14-1041cf12674b",basePrice:6618,dateFrom:"2025-02-16T17:02:12.970Z",dateTo:"2025-02-17T04:45:12.970Z",destination:"24514db9-cd07-4129-a377-8c6bd73d2e99",isFavorite:!1,offers:["70b8b20a-aee2-4716-93a8-6090e90aaa5f","f5ecc997-833b-4794-8a19-c9bf61830e15","a3ebdd4e-9021-43be-ae41-6ba5b1a2c8c7"],type:"bus"},{id:"02a1a91f-d8d7-4f60-8a8b-f0ad309d5298",basePrice:8736,dateFrom:"2025-02-17T13:12:12.970Z",dateTo:"2025-02-18T05:41:12.970Z",destination:"24514db9-cd07-4129-a377-8c6bd73d2e99",isFavorite:!1,offers:["b1bd6cc2-51ce-42b2-99f5-9df12a7f97f9","f91cfb4a-c241-4e22-8bf1-e5e8ab4bb222","c5424871-ab68-48e9-95ae-da33312cb24d","f0484591-cfda-45c8-9286-c222d8e1b701","2fcaf275-8d86-4eb4-b4d8-e12f8c07edf3"],type:"ship"},{id:"a22a4304-5d7a-436e-83b3-e4e52c5b0987",basePrice:3075,dateFrom:"2025-02-20T01:38:12.970Z",dateTo:"2025-02-21T07:31:12.970Z",destination:"22fdb8aa-6682-4f67-a2c4-3ba172eeede9",isFavorite:!0,offers:["70b8b20a-aee2-4716-93a8-6090e90aaa5f","f5ecc997-833b-4794-8a19-c9bf61830e15","a3ebdd4e-9021-43be-ae41-6ba5b1a2c8c7"],type:"bus"},{id:"848b6def-66dd-4a30-8bc7-868f308c558b",basePrice:9889,dateFrom:"2025-02-22T01:34:12.970Z",dateTo:"2025-02-23T12:31:12.970Z",destination:"88aa152d-9bda-4d6c-b002-81a34dc7914e",isFavorite:!1,offers:["a3ebdd4e-9021-43be-ae41-6ba5b1a2c8c7"],type:"bus"},{id:"8dbbd41b-851d-4ce0-b791-e4c4b5ad9c0b",basePrice:9609,dateFrom:"2025-02-23T20:06:12.970Z",dateTo:"2025-02-24T07:49:12.970Z",destination:"2c2eeb4d-8fe2-4852-ba52-ad3afdf22ca1",isFavorite:!1,offers:["471bf489-5102-4f18-a58e-69291145a936"],type:"flight"},{id:"f19ad34d-fd8e-4924-88c3-41e1288fd8fd",basePrice:9311,dateFrom:"2025-02-26T01:57:12.970Z",dateTo:"2025-02-27T23:52:12.970Z",destination:"88aa152d-9bda-4d6c-b002-81a34dc7914e",isFavorite:!0,offers:[],type:"sightseeing"},{id:"584f2b32-c787-4711-8455-e32cfe5322e6",basePrice:8060,dateFrom:"2025-02-28T19:39:12.970Z",dateTo:"2025-03-02T17:31:12.970Z",destination:"4d516e51-d32e-4fee-9c3c-31024699e7c3",isFavorite:!1,offers:[],type:"sightseeing"},{id:"99658020-6d08-43fc-bca9-385caf33ebcb",basePrice:2653,dateFrom:"2025-03-03T12:47:12.970Z",dateTo:"2025-03-04T13:58:12.970Z",destination:"dd43c534-f518-48c1-b3cd-fb4b7b2f787e",isFavorite:!0,offers:["cdd79f71-1520-4b85-9135-98f009f4a5d6","d44375b4-467b-4111-a86e-11a1f6e209a5","6e77caf0-e083-497d-9b05-226272a3c557"],type:"taxi"},{id:"12e7ea0d-e79f-4f3a-8da9-9261eddd4e5b",basePrice:6690,dateFrom:"2025-03-06T06:48:12.970Z",dateTo:"2025-03-07T06:11:12.970Z",destination:"88aa152d-9bda-4d6c-b002-81a34dc7914e",isFavorite:!0,offers:["34adc3d6-9d70-4f96-ad91-5fb75a3a6e6d","f1a1984c-c1a7-4a8d-883d-5c8fcdb2fc84","7daefd03-2d9a-4143-9419-ebba3b2247fd","b75c96ec-f12f-403b-91be-abc0110b643f","1108cac6-d5e7-48ec-aebd-2e213444b1ee"],type:"check-in"},{id:"1b830b3b-ff20-4674-8b0f-c3214cfbae73",basePrice:7284,dateFrom:"2025-03-08T16:42:12.970Z",dateTo:"2025-03-10T13:09:12.970Z",destination:"88aa152d-9bda-4d6c-b002-81a34dc7914e",isFavorite:!1,offers:[],type:"taxi"},{id:"1a0e0ffd-0b1b-4779-bff8-6ca0a32af658",basePrice:3362,dateFrom:"2025-03-12T00:38:12.970Z",dateTo:"2025-03-13T07:12:12.970Z",destination:"24514db9-cd07-4129-a377-8c6bd73d2e99",isFavorite:!1,offers:["6e77caf0-e083-497d-9b05-226272a3c557"],type:"taxi"},{id:"9e8ce435-52f2-40b6-b6f6-10e5b73ba3dc",basePrice:7708,dateFrom:"2025-03-13T16:25:12.970Z",dateTo:"2025-03-14T19:39:12.970Z",destination:"22fdb8aa-6682-4f67-a2c4-3ba172eeede9",isFavorite:!0,offers:["b892f09d-d7c1-43d5-bb61-c320125af75d"],type:"drive"},{id:"6102fd03-5945-4cdf-9045-cc8034827077",basePrice:8632,dateFrom:"2025-03-16T06:31:12.970Z",dateTo:"2025-03-17T13:30:12.970Z",destination:"88aa152d-9bda-4d6c-b002-81a34dc7914e",isFavorite:!0,offers:[],type:"bus"},{id:"00ab297b-0e95-49a5-b671-542ee80b8b56",basePrice:1569,dateFrom:"2025-03-18T11:21:12.970Z",dateTo:"2025-03-19T09:25:12.970Z",destination:"22fdb8aa-6682-4f67-a2c4-3ba172eeede9",isFavorite:!1,offers:[],type:"train"},{id:"00362c5a-5c49-4f32-8ecd-7fda767c5c08",basePrice:4101,dateFrom:"2025-03-20T09:33:12.970Z",dateTo:"2025-03-21T17:57:12.970Z",destination:"a8f0f30d-f243-45d0-af43-8d663a40712d",isFavorite:!0,offers:[],type:"check-in"},{id:"a6b37366-b464-4756-9a68-34c3e34d80ae",basePrice:8463,dateFrom:"2025-03-23T00:15:12.970Z",dateTo:"2025-03-24T00:26:12.970Z",destination:"22fdb8aa-6682-4f67-a2c4-3ba172eeede9",isFavorite:!1,offers:["471bf489-5102-4f18-a58e-69291145a936"],type:"flight"},{id:"b42ff727-a449-4e22-bf89-2334d73f739e",basePrice:6184,dateFrom:"2025-03-25T10:12:12.970Z",dateTo:"2025-03-27T06:18:12.970Z",destination:"24514db9-cd07-4129-a377-8c6bd73d2e99",isFavorite:!1,offers:["d5d70b4c-27bf-4680-9f8c-07e02f10b16e","1ef388a5-0a48-4e27-957f-6e265c8c3958","cdd79f71-1520-4b85-9135-98f009f4a5d6","d44375b4-467b-4111-a86e-11a1f6e209a5","6e77caf0-e083-497d-9b05-226272a3c557"],type:"taxi"},{id:"a716774c-e921-4ede-bc6e-5c3c49a09d37",basePrice:5781,dateFrom:"2025-03-28T03:31:12.970Z",dateTo:"2025-03-29T17:57:12.970Z",destination:"88aa152d-9bda-4d6c-b002-81a34dc7914e",isFavorite:!1,offers:["f50debc7-c76f-425b-bf31-edd84c5877ad","d64143b4-9527-4470-8ed1-5290d589b96b","0e87c0f3-7abc-4ba4-b4c8-e8774c6b86b0","3968d985-0310-490e-a0c7-f49f5f0b07a1","471bf489-5102-4f18-a58e-69291145a936"],type:"flight"},{id:"01288957-597b-4926-a545-b3506d792081",basePrice:8592,dateFrom:"2025-03-31T02:56:12.970Z",dateTo:"2025-04-02T02:12:12.970Z",destination:"a8f0f30d-f243-45d0-af43-8d663a40712d",isFavorite:!1,offers:["b1bd6cc2-51ce-42b2-99f5-9df12a7f97f9","f91cfb4a-c241-4e22-8bf1-e5e8ab4bb222","c5424871-ab68-48e9-95ae-da33312cb24d","f0484591-cfda-45c8-9286-c222d8e1b701","2fcaf275-8d86-4eb4-b4d8-e12f8c07edf3"],type:"ship"},{id:"0f705908-1a03-4e67-baa6-5791e3dcc1fc",basePrice:4241,dateFrom:"2025-04-02T15:01:12.970Z",dateTo:"2025-04-03T23:53:12.970Z",destination:"4d516e51-d32e-4fee-9c3c-31024699e7c3",isFavorite:!0,offers:[],type:"sightseeing"},{id:"26e2447f-f49d-412b-a983-35c0f7770dad",basePrice:698,dateFrom:"2025-04-05T20:55:12.970Z",dateTo:"2025-04-07T05:36:12.970Z",destination:"22fdb8aa-6682-4f67-a2c4-3ba172eeede9",isFavorite:!0,offers:[],type:"train"},{id:"7415e8ca-88eb-43a5-b6d1-dec78f489322",basePrice:39,dateFrom:"2025-04-07T23:11:12.970Z",dateTo:"2025-04-09T21:34:12.970Z",destination:"24514db9-cd07-4129-a377-8c6bd73d2e99",isFavorite:!0,offers:[],type:"sightseeing"}];function O(){return(e=x)[Math.floor(Math.random()*e.length)];var e}const P=document.querySelector(".trip-main"),H=P.querySelector(".trip-controls__filters"),Y=document.querySelector(".trip-events"),B=new class{#f=Array.from({length:5},O);#i=Z;#n=A;get points(){return this.#f}get offers(){return this.#i}get destinations(){return this.#n}},L=new class{#l=null;#u=null;#p=new C;#h=[];#i=[];#n=[];constructor({container:e,pointsModel:t}){this.#l=e,this.#u=t}init(){this.#h=[...this.#u.points],this.#i=[...this.#u.offers],this.#n=[...this.#u.destinations],this.#b()}#m(i,n,s){const a=e=>{"Escape"===e.key&&(e.preventDefault(),c(),document.removeEventListener("keydown",a))},r=new E({point:i,offers:n,destinations:s,onUnrollBtnClick:()=>{t(o,r),document.addEventListener("keydown",a)}}),o=new F({point:i,offers:n,destinations:s,onRollupBtnClick:()=>{c(),document.removeEventListener("keydown",a)},onFormSubmit:()=>{c(),document.removeEventListener("keydown",a)}});function c(){t(r,o)}e(r,this.#p.element),e(o,this.#p.element)}#b(){e(new _,this.#l),e(this.#p,this.#l);for(let e=0;e\n
      \n \n \n
      \n\n
      \n \n \n
      \n\n
      \n \n \n
      \n\n
      \n \n \n
      \n\n \n '}},H),e(new class extends y{get template(){return'
      \n
      \n

      Amsterdam — Chamonix — Geneva

      \n\n

      18 — 20 Mar

      \n
      \n\n

      \n Total: € 1230\n

      \n
      '}},P,"afterbegin"),L.init()})()})(); +//# sourceMappingURL=bundle.3b2767e4ee15d8b31e4b.js.map \ No newline at end of file diff --git a/5/bundle.3b2767e4ee15d8b31e4b.js.map b/5/bundle.3b2767e4ee15d8b31e4b.js.map new file mode 100644 index 0000000..4a441e7 --- /dev/null +++ b/5/bundle.3b2767e4ee15d8b31e4b.js.map @@ -0,0 +1 @@ +{"version":3,"file":"bundle.3b2767e4ee15d8b31e4b.js","mappings":"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","sources":["webpack://big-trip/./src/framework/view/abstract-view.css","webpack://big-trip/./node_modules/css-loader/dist/runtime/api.js","webpack://big-trip/./node_modules/css-loader/dist/runtime/sourceMaps.js","webpack://big-trip/./node_modules/dayjs/dayjs.min.js","webpack://big-trip/./node_modules/dayjs/plugin/duration.js","webpack://big-trip/./node_modules/dayjs/plugin/utc.js","webpack://big-trip/./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack://big-trip/./node_modules/style-loader/dist/runtime/insertBySelector.js","webpack://big-trip/./node_modules/style-loader/dist/runtime/insertStyleElement.js","webpack://big-trip/./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack://big-trip/./node_modules/style-loader/dist/runtime/styleDomAPI.js","webpack://big-trip/./node_modules/style-loader/dist/runtime/styleTagTransform.js","webpack://big-trip/webpack/bootstrap","webpack://big-trip/webpack/runtime/compat get default export","webpack://big-trip/webpack/runtime/define property getters","webpack://big-trip/webpack/runtime/hasOwnProperty shorthand","webpack://big-trip/webpack/runtime/nonce","webpack://big-trip/./src/framework/render.js","webpack://big-trip/./src/framework/view/abstract-view.css?dfa6","webpack://big-trip/./src/framework/view/abstract-view.js","webpack://big-trip/./src/view/sort-view.js","webpack://big-trip/./src/const.js","webpack://big-trip/./src/utils.js","webpack://big-trip/./src/view/edit-form-view.js","webpack://big-trip/./src/view/route-point-list-view.js","webpack://big-trip/./src/view/route-point-view.js","webpack://big-trip/./src/mock/destinations.js","webpack://big-trip/./src/mock/offers.js","webpack://big-trip/./src/mock/points.js","webpack://big-trip/./src/main.js","webpack://big-trip/./src/model/points-model.js","webpack://big-trip/./src/presenter/trip-presenter.js","webpack://big-trip/./src/view/filter-view.js","webpack://big-trip/./src/view/header-info-view.js"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".shake {\\n animation: shake 0.6s;\\n position: relative;\\n z-index: 10;\\n}\\n\\n@keyframes shake {\\n 0%,\\n 100% {\\n transform: translateX(0);\\n }\\n\\n 10%,\\n 30%,\\n 50%,\\n 70%,\\n 90% {\\n transform: translateX(-5px);\\n }\\n\\n 20%,\\n 40%,\\n 60%,\\n 80% {\\n transform: translateX(5px);\\n }\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/framework/view/abstract-view.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,qBAAqB;EACrB,kBAAkB;EAClB,WAAW;AACb;;AAEA;EACE;;IAEE,wBAAwB;EAC1B;;EAEA;;;;;IAKE,2BAA2B;EAC7B;;EAEA;;;;IAIE,0BAA0B;EAC5B;AACF\",\"sourcesContent\":[\".shake {\\n animation: shake 0.6s;\\n position: relative;\\n z-index: 10;\\n}\\n\\n@keyframes shake {\\n 0%,\\n 100% {\\n transform: translateX(0);\\n }\\n\\n 10%,\\n 30%,\\n 50%,\\n 70%,\\n 90% {\\n transform: translateX(-5px);\\n }\\n\\n 20%,\\n 40%,\\n 60%,\\n 80% {\\n transform: translateX(5px);\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","\"use strict\";\n\nmodule.exports = function (item) {\n var content = item[1];\n var cssMapping = item[3];\n if (!cssMapping) {\n return content;\n }\n if (typeof btoa === \"function\") {\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n return [content].concat([sourceMapping]).join(\"\\n\");\n }\n return [content].join(\"\\n\");\n};","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",f=\"month\",h=\"quarter\",c=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},w=function(t,e){if(p(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},O=v;O.l=S,O.i=p,O.w=function(t,e){return w(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=S(t.locale,null,!0),this.parse(t)}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(O.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.$x=t.x||{},this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return O},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=w(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return w(t) 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n css += obj.css;\n if (needLayer) {\n css += \"}\";\n }\n if (obj.media) {\n css += \"}\";\n }\n if (obj.supports) {\n css += \"}\";\n }\n var sourceMap = obj.sourceMap;\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n }\n\n // For old IE\n /* istanbul ignore if */\n options.styleTagTransform(css, styleElement, options.options);\n}\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n styleElement.parentNode.removeChild(styleElement);\n}\n\n/* istanbul ignore next */\nfunction domAPI(options) {\n if (typeof document === \"undefined\") {\n return {\n update: function update() {},\n remove: function remove() {}\n };\n }\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\nmodule.exports = domAPI;","\"use strict\";\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css;\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild);\n }\n styleElement.appendChild(document.createTextNode(css));\n }\n}\nmodule.exports = styleTagTransform;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","__webpack_require__.nc = undefined;","import AbstractView from './view/abstract-view.js';\n\n/** @enum {string} Перечисление возможных позиций для отрисовки */\nconst RenderPosition = {\n BEFOREBEGIN: 'beforebegin',\n AFTERBEGIN: 'afterbegin',\n BEFOREEND: 'beforeend',\n AFTEREND: 'afterend',\n};\n\n/**\n * Функция для создания элемента на основе разметки\n * @param {string} template Разметка в виде строки\n * @returns {HTMLElement} Созданный элемент\n */\nfunction createElement(template) {\n const newElement = document.createElement('div');\n newElement.innerHTML = template;\n\n return newElement.firstElementChild;\n}\n\n/**\n * Функция для отрисовки элемента\n * @param {AbstractView} component Компонент, который должен был отрисован\n * @param {HTMLElement} container Элемент в котором будет отрисован компонент\n * @param {string} place Позиция компонента относительно контейнера. По умолчанию - `beforeend`\n */\nfunction render(component, container, place = RenderPosition.BEFOREEND) {\n if (!(component instanceof AbstractView)) {\n throw new Error('Can render only components');\n }\n\n if (container === null) {\n throw new Error('Container element doesn\\'t exist');\n }\n\n container.insertAdjacentElement(place, component.element);\n}\n\n/**\n * Функция для замены одного компонента на другой\n * @param {AbstractView} newComponent Компонент, который нужно показать\n * @param {AbstractView} oldComponent Компонент, который нужно скрыть\n */\nfunction replace(newComponent, oldComponent) {\n if (!(newComponent instanceof AbstractView && oldComponent instanceof AbstractView)) {\n throw new Error('Can replace only components');\n }\n\n const newElement = newComponent.element;\n const oldElement = oldComponent.element;\n\n const parent = oldElement.parentElement;\n\n if (parent === null) {\n throw new Error('Parent element doesn\\'t exist');\n }\n\n parent.replaceChild(newElement, oldElement);\n}\n\n/**\n * Функция для удаления компонента\n * @param {AbstractView} component Компонент, который нужно удалить\n */\nfunction remove(component) {\n if (component === null) {\n return;\n }\n\n if (!(component instanceof AbstractView)) {\n throw new Error('Can remove only components');\n }\n\n component.element.remove();\n component.removeElement();\n}\n\nexport {RenderPosition, createElement, render, replace, remove};\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!./abstract-view.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!./abstract-view.css\";\n export default content && content.locals ? content.locals : undefined;\n","import {createElement} from '../render.js';\nimport './abstract-view.css';\n\n/** @const {string} Класс, реализующий эффект \"покачивания головой\" */\nconst SHAKE_CLASS_NAME = 'shake';\n\n/** @const {number} Время анимации в миллисекундах */\nconst SHAKE_ANIMATION_TIMEOUT = 600;\n\n/**\n * Абстрактный класс представления\n */\nexport default class AbstractView {\n /** @type {HTMLElement|null} Элемент представления */\n #element = null;\n\n constructor() {\n if (new.target === AbstractView) {\n throw new Error('Can\\'t instantiate AbstractView, only concrete one.');\n }\n }\n\n /**\n * Геттер для получения элемента\n * @returns {HTMLElement} Элемент представления\n */\n get element() {\n if (!this.#element) {\n this.#element = createElement(this.template);\n }\n\n return this.#element;\n }\n\n /**\n * Геттер для получения разметки элемента\n * @abstract\n * @returns {string} Разметка элемента в виде строки\n */\n get template() {\n throw new Error('Abstract method not implemented: get template');\n }\n\n /** Метод для удаления элемента */\n removeElement() {\n this.#element = null;\n }\n\n /**\n * Метод, реализующий эффект \"покачивания головой\"\n * @param {shakeCallback} [callback] Функция, которая будет вызвана после завершения анимации\n */\n shake(callback) {\n this.element.classList.add(SHAKE_CLASS_NAME);\n setTimeout(() => {\n this.element.classList.remove(SHAKE_CLASS_NAME);\n callback?.();\n }, SHAKE_ANIMATION_TIMEOUT);\n }\n}\n\n/**\n * Функция, которая будет вызвана методом shake после завершения анимации\n * @callback shakeCallback\n */\n","import AbstractView from '../framework/view/abstract-view.js';\n\nfunction createSortTemplate() {\n return (`
      \n
      \n \n \n
      \n\n
      \n \n \n
      \n\n
      \n \n \n
      \n\n
      \n \n \n
      \n\n
      \n \n \n
      \n
      `);\n}\n\nexport default class SortView extends AbstractView {\n get template() {\n return createSortTemplate();\n }\n}\n","const POINT_COUNT = 5;\n\nconst POINT_TYPES = ['taxi','bus','train','ship','drive','flight','check-in','sightseeing','restaurant'];\n\nexport {POINT_COUNT, POINT_TYPES};\n","import dayjs from 'dayjs';\n\nimport utc from 'dayjs/plugin/utc';\ndayjs.extend(utc);\n\nimport duration from 'dayjs/plugin/duration';\ndayjs.extend(duration);\n\nconst DATE_FORMAT = 'MMM D';\nconst DATE_TIME_FORMAT = 'DD/MM/YY HH:mm';\nconst TIME_FORMAT = 'HH:mm';\n\nconst firstLetterCap = (word) => `${word[0].toUpperCase()}${word.slice(1)}`;\n\nfunction getRandomArrayElement(items) {\n return items[Math.floor(Math.random() * items.length)];\n}\n\nfunction humanizeDate(date) {\n return date ? dayjs.utc(date).format(DATE_FORMAT) : '';\n}\n\nfunction humanizeTime(time) {\n return time ? dayjs.utc(time).format(TIME_FORMAT) : '';\n}\n\nfunction humanizeDateTime(dateTime) {\n return dateTime ? dayjs.utc(dateTime).format(DATE_TIME_FORMAT) : '';\n}\n\nfunction getTimeDifference(firstDate, secondDate) {\n const date1 = dayjs(firstDate);\n const date2 = dayjs(secondDate);\n const difference = dayjs.duration(date1.diff(date2));\n\n const format = 'DD[D] HH[H] mm[M]';\n\n return difference.format(format).replace(/\\b00D 00H\\b/, '').replace(/\\b00D\\b/, '');\n}\n\nexport {firstLetterCap, getRandomArrayElement, humanizeDate, getTimeDifference, humanizeDateTime , humanizeTime};\n","import AbstractView from '../framework/view/abstract-view.js';\nimport {POINT_TYPES} from '../const.js';\nimport {firstLetterCap, humanizeDateTime} from '../utils.js';\n\nfunction createDestinationListTemplate(destinations) {\n return (destinations.map((destination) => ``).join(''));\n}\n\nfunction createTypeOfferTemplate(point, offers) {\n const typeOffers = offers.find((offer) => offer.type === point.type).offers;\n const pointOffers = typeOffers.filter((typeOffer) => point.offers.includes(typeOffer.id));\n\n return (\n `
      \n ${typeOffers.length ?\n `
      \n

      Offers

      \n
      \n\n ${typeOffers.map((typeOffer) => {\n const checkedOffers = pointOffers.map((offer) => offer.id).includes(typeOffer.id) ? 'checked' : '';\n\n return (`
      \n \n \n
      `\n );\n }).join('')}\n
      \n
      ` : ''}`\n );\n}\n\nfunction createPointTypeTemplate(type) {\n return (POINT_TYPES.map((pointType) => (\n `
      \n \n \n
      `\n )).join(''));\n}\n\nfunction createEditFormTemplate(point, offers, destinations) {\n const {basePrice, type, dateFrom, dateTo} = point;\n const pointDestination = destinations.find((dest) => dest.id === point.destination);\n const {description, name} = pointDestination;\n\n const pointTypeTemplate = createPointTypeTemplate(type);\n const typeOfferTemplate = createTypeOfferTemplate(point, offers);\n const destinationListTemplate = createDestinationListTemplate(destinations);\n\n const humanizedTimeFrom = humanizeDateTime(dateFrom);\n const humanizedTimeTo = humanizeDateTime(dateTo);\n\n return (`
    • \n
      \n
      \n
      \n \n \n\n
      \n
      \n Event type\n ${pointTypeTemplate}\n
      \n
      \n
      \n\n
      \n \n \n \n ${destinationListTemplate}\n \n
      \n\n
      \n \n \n —\n \n \n
      \n\n
      \n \n \n
      \n\n \n \n \n
      \n ${typeOfferTemplate}\n
      \n

      Destination

      \n

      ${description}

      \n
      \n
    • \n \n `);\n}\n\nexport default class EditFormView extends AbstractView {\n #point = null;\n #offers = null;\n #destinations = null;\n #rollupBtnClick = null;\n #formSubmitEvent = null;\n\n constructor({point, offers, destinations, onRollupBtnClick, onFormSubmit}) {\n super();\n this.#point = point;\n this.#offers = offers;\n this.#destinations = destinations;\n\n this.#rollupBtnClick = onRollupBtnClick;\n this.#formSubmitEvent = onFormSubmit;\n\n this.element.querySelector('.event__rollup-btn').addEventListener('click', this.#rollupBtnHandler);\n this.element.querySelector('form').addEventListener('submit', this.#formSubmitHandler);\n }\n\n get template() {\n return createEditFormTemplate(this.#point, this.#offers, this.#destinations);\n }\n\n #rollupBtnHandler = (evt) => {\n evt.preventDefault();\n this.#rollupBtnClick();\n };\n\n #formSubmitHandler = (evt) => {\n evt.preventDefault();\n this.#formSubmitEvent();\n };\n}\n","import AbstractView from '../framework/view/abstract-view.js';\n\nfunction createRoutePointList() {\n return '
        ';\n}\n\nexport default class RoutePointListView extends AbstractView {\n get template() {\n return createRoutePointList();\n }\n}\n","import AbstractView from '../framework/view/abstract-view.js';\nimport {humanizeDate, getTimeDifference, humanizeTime} from '../utils.js';\n\nfunction createRoutePointTemplate(point, offers, destinations) {\n const {basePrice, type, dateFrom, dateTo, isFavorite} = point;\n\n const pointDateFrom = humanizeDate(dateFrom);\n const timeDifference = getTimeDifference(dateTo, dateFrom);\n const poinTimeFrom = humanizeTime(dateFrom);\n const pointTimeTo = humanizeTime(dateTo);\n\n const pointDestination = destinations.find((dest) => dest.id === point.destination);\n const typeOffers = offers.find((offer) => offer.type === point.type).offers;\n const pointOffers = typeOffers.filter((typeOffer) => point.offers.includes(typeOffer.id));\n\n const favoriteClassName = isFavorite ? 'event__favorite-btn--active' : '';\n\n return (`
      • \n
        \n \n
        \n \"Event\n
        \n

        ${type} ${pointDestination.name}

        \n
        \n

        \n \n —\n \n

        \n

        ${timeDifference}

        \n
        \n

        \n € ${basePrice}\n

        \n

        Offers:

        \n
          \n ${pointOffers.map((offer) => (\n `
        • \n ${offer.title}\n +€ \n ${offer.price}\n
        • `\n )).join('')}\n
        \n \n \n
        \n
      • `);\n}\n\nexport default class RoutePointView extends AbstractView {\n #point = null;\n #offers = null;\n #destinations = null;\n #unrollBtnClick = null;\n\n constructor({point, offers, destinations, onUnrollBtnClick}) {\n super();\n this.#point = point;\n this.#offers = offers;\n this.#destinations = destinations;\n this.#unrollBtnClick = onUnrollBtnClick;\n this.element.querySelector('.event__rollup-btn').addEventListener('click', this.#unrollBtnHandler);\n }\n\n get template() {\n return createRoutePointTemplate(this.#point, this.#offers, this.#destinations);\n }\n\n #unrollBtnHandler = (evt) => {\n evt.preventDefault();\n this.#unrollBtnClick();\n };\n}\n","\nconst mockDestinations = [\n {\n id: '54d2f62a-6862-45f7-a1da-331713ec17ce',\n description: 'Saint Petersburg - full of of cozy canteens where you can try the best coffee in the Middle East',\n name: 'Saint Petersburg',\n pictures: []\n },\n {\n id: 'dd43c534-f518-48c1-b3cd-fb4b7b2f787e',\n description: 'Vien - in a middle of Europe',\n name: 'Vien',\n pictures: []\n },\n {\n id: '4ab18ebc-63f5-487d-8957-b710a649ca50',\n description: 'Rome - famous for its crowded street markets with the best street food in Asia',\n name: 'Rome',\n pictures: [\n {\n src: 'https://22.objects.htmlacademy.pro/static/destinations/4.jpg',\n description: 'Rome is a beautiful city'\n },\n {\n src: 'https://22.objects.htmlacademy.pro/static/destinations/6.jpg',\n description: 'Rome is a beautiful city'\n },\n {\n src: 'https://22.objects.htmlacademy.pro/static/destinations/10.jpg',\n description: 'Rome in a middle of Europe'\n },\n {\n src: 'https://22.objects.htmlacademy.pro/static/destinations/16.jpg',\n description: 'Rome is a beautiful city'\n },\n {\n src: 'https://22.objects.htmlacademy.pro/static/destinations/4.jpg',\n description: 'Rome middle-eastern paradise'\n }\n ]\n },\n {\n id: 'a30baa99-560e-499b-a722-064fdb220eb6',\n description: 'Naples - with a beautiful old town',\n name: 'Naples',\n pictures: [\n {\n src: 'https://22.objects.htmlacademy.pro/static/destinations/10.jpg',\n description: 'Naples famous for its crowded street markets with the best street food in Asia'\n },\n {\n src: 'https://22.objects.htmlacademy.pro/static/destinations/20.jpg',\n description: 'Naples middle-eastern paradise'\n },\n {\n src: 'https://22.objects.htmlacademy.pro/static/destinations/11.jpg',\n description: 'Naples for those who value comfort and coziness'\n },\n {\n src: 'https://22.objects.htmlacademy.pro/static/destinations/9.jpg',\n description: 'Naples is a beautiful city'\n }\n ]\n },\n {\n id: '88aa152d-9bda-4d6c-b002-81a34dc7914e',\n description: 'Tokio - with an embankment of a mighty river as a centre of attraction',\n name: 'Tokio',\n pictures: [\n {\n src: 'https://22.objects.htmlacademy.pro/static/destinations/10.jpg',\n description: 'Tokio middle-eastern paradise'\n },\n {\n src: 'https://22.objects.htmlacademy.pro/static/destinations/18.jpg',\n description: 'Tokio in a middle of Europe'\n },\n {\n src: 'https://22.objects.htmlacademy.pro/static/destinations/11.jpg',\n description: 'Tokio is a beautiful city'\n },\n {\n src: 'https://22.objects.htmlacademy.pro/static/destinations/19.jpg',\n description: 'Tokio a perfect place to stay with a family'\n }\n ]\n },\n {\n id: '2c2eeb4d-8fe2-4852-ba52-ad3afdf22ca1',\n description: 'Valencia - with an embankment of a mighty river as a centre of attraction',\n name: 'Valencia',\n pictures: [\n {\n src: 'https://22.objects.htmlacademy.pro/static/destinations/9.jpg',\n description: 'Valencia a true asian pearl'\n },\n {\n src: 'https://22.objects.htmlacademy.pro/static/destinations/16.jpg',\n description: 'Valencia with a beautiful old town'\n },\n {\n src: 'https://22.objects.htmlacademy.pro/static/destinations/14.jpg',\n description: 'Valencia full of of cozy canteens where you can try the best coffee in the Middle East'\n }\n ]\n },\n {\n id: '22fdb8aa-6682-4f67-a2c4-3ba172eeede9',\n description: '',\n name: 'Oslo',\n pictures: []\n },\n {\n id: 'a8f0f30d-f243-45d0-af43-8d663a40712d',\n description: 'Monaco - middle-eastern paradise',\n name: 'Monaco',\n pictures: [\n {\n src: 'https://22.objects.htmlacademy.pro/static/destinations/12.jpg',\n description: 'Monaco with crowded streets'\n }\n ]\n },\n {\n id: '4d516e51-d32e-4fee-9c3c-31024699e7c3',\n description: 'Madrid - with an embankment of a mighty river as a centre of attraction',\n name: 'Madrid',\n pictures: [\n {\n src: 'https://22.objects.htmlacademy.pro/static/destinations/9.jpg',\n description: 'Madrid middle-eastern paradise'\n },\n {\n src: 'https://22.objects.htmlacademy.pro/static/destinations/9.jpg',\n description: 'Madrid in a middle of Europe'\n },\n {\n src: 'https://22.objects.htmlacademy.pro/static/destinations/14.jpg',\n description: 'Madrid is a beautiful city'\n },\n {\n src: 'https://22.objects.htmlacademy.pro/static/destinations/1.jpg',\n description: 'Madrid in a middle of Europe'\n }\n ]\n },\n {\n id: '24514db9-cd07-4129-a377-8c6bd73d2e99',\n description: 'Rotterdam - for those who value comfort and coziness',\n name: 'Rotterdam',\n pictures: [\n {\n src: 'https://22.objects.htmlacademy.pro/static/destinations/8.jpg',\n description: 'Rotterdam with crowded streets'\n },\n {\n src: 'https://22.objects.htmlacademy.pro/static/destinations/3.jpg',\n description: 'Rotterdam full of of cozy canteens where you can try the best coffee in the Middle East'\n },\n {\n src: 'https://22.objects.htmlacademy.pro/static/destinations/14.jpg',\n description: 'Rotterdam for those who value comfort and coziness'\n },\n {\n src: 'https://22.objects.htmlacademy.pro/static/destinations/20.jpg',\n description: 'Rotterdam middle-eastern paradise'\n },\n {\n src: 'https://22.objects.htmlacademy.pro/static/destinations/17.jpg',\n description: 'Rotterdam a perfect place to stay with a family'\n }\n ]\n }\n];\n\nexport {mockDestinations};\n","const mockOffers = [\n {\n type: 'taxi',\n offers: [\n {\n id: 'd5d70b4c-27bf-4680-9f8c-07e02f10b16e',\n title: 'Upgrade to a business class',\n price: 158\n },\n {\n id: '1ef388a5-0a48-4e27-957f-6e265c8c3958',\n title: 'Choose the radio station',\n price: 92\n },\n {\n id: 'cdd79f71-1520-4b85-9135-98f009f4a5d6',\n title: 'Choose temperature',\n price: 180\n },\n {\n id: 'd44375b4-467b-4111-a86e-11a1f6e209a5',\n title: 'Drive quickly, I\\'m in a hurry',\n price: 141\n },\n {\n id: '6e77caf0-e083-497d-9b05-226272a3c557',\n title: 'Drive slowly',\n price: 170\n }\n ]\n },\n {\n type: 'bus',\n offers: [\n {\n id: '70b8b20a-aee2-4716-93a8-6090e90aaa5f',\n title: 'Infotainment system',\n price: 46\n },\n {\n id: 'f5ecc997-833b-4794-8a19-c9bf61830e15',\n title: 'Order meal',\n price: 125\n },\n {\n id: 'a3ebdd4e-9021-43be-ae41-6ba5b1a2c8c7',\n title: 'Choose seats',\n price: 135\n }\n ]\n },\n {\n type: 'train',\n offers: [\n {\n id: '5ac88f21-7096-40bf-b505-70f2ecda701c',\n title: 'Book a taxi at the arrival point',\n price: 80\n },\n {\n id: '59644519-f72b-4be3-b914-e8bf034ece5a',\n title: 'Order a breakfast',\n price: 178\n },\n {\n id: '4406d403-df60-4ede-bc53-cdb424cc40f1',\n title: 'Wake up at a certain time',\n price: 34\n }\n ]\n },\n {\n type: 'flight',\n offers: [\n {\n id: '21403e61-3256-485d-b648-771a1f2b3a1e',\n title: 'Choose meal',\n price: 151\n },\n {\n id: 'f50debc7-c76f-425b-bf31-edd84c5877ad',\n title: 'Choose seats',\n price: 169\n },\n {\n id: 'd64143b4-9527-4470-8ed1-5290d589b96b',\n title: 'Upgrade to comfort class',\n price: 185\n },\n {\n id: '0e87c0f3-7abc-4ba4-b4c8-e8774c6b86b0',\n title: 'Upgrade to business class',\n price: 147\n },\n {\n id: '3968d985-0310-490e-a0c7-f49f5f0b07a1',\n title: 'Add luggage',\n price: 143\n },\n {\n id: '471bf489-5102-4f18-a58e-69291145a936',\n title: 'Business lounge',\n price: 31\n }\n ]\n },\n {\n type: 'check-in',\n offers: [\n {\n id: '34adc3d6-9d70-4f96-ad91-5fb75a3a6e6d',\n title: 'Choose the time of check-in',\n price: 85\n },\n {\n id: 'f1a1984c-c1a7-4a8d-883d-5c8fcdb2fc84',\n title: 'Choose the time of check-out',\n price: 82\n },\n {\n id: '7daefd03-2d9a-4143-9419-ebba3b2247fd',\n title: 'Add breakfast',\n price: 89\n },\n {\n id: 'b75c96ec-f12f-403b-91be-abc0110b643f',\n title: 'Laundry',\n price: 169\n },\n {\n id: '1108cac6-d5e7-48ec-aebd-2e213444b1ee',\n title: 'Order a meal from the restaurant',\n price: 42\n }\n ]\n },\n {\n type: 'sightseeing',\n offers: []\n },\n {\n type: 'ship',\n offers: [\n {\n id: '7356e656-94e6-4f36-8bb5-163a17cfa841',\n title: 'Choose meal',\n price: 162\n },\n {\n id: 'b1bd6cc2-51ce-42b2-99f5-9df12a7f97f9',\n title: 'Choose seats',\n price: 109\n },\n {\n id: 'f91cfb4a-c241-4e22-8bf1-e5e8ab4bb222',\n title: 'Upgrade to comfort class',\n price: 72\n },\n {\n id: 'c5424871-ab68-48e9-95ae-da33312cb24d',\n title: 'Upgrade to business class',\n price: 133\n },\n {\n id: 'f0484591-cfda-45c8-9286-c222d8e1b701',\n title: 'Add luggage',\n price: 118\n },\n {\n id: '2fcaf275-8d86-4eb4-b4d8-e12f8c07edf3',\n title: 'Business lounge',\n price: 94\n }\n ]\n },\n {\n type: 'drive',\n offers: [\n {\n id: 'b8681284-e9c9-4b79-b14b-e33b0acc7591',\n title: 'With automatic transmission',\n price: 134\n },\n {\n id: 'b892f09d-d7c1-43d5-bb61-c320125af75d',\n title: 'With air conditioning',\n price: 68\n }\n ]\n },\n {\n type: 'restaurant',\n offers: [\n {\n id: 'aebb0086-2a49-4cfd-966f-969802c90981',\n title: 'Choose live music',\n price: 119\n },\n {\n id: '6b59afee-9409-41ec-9a52-ce3d0829c4ef',\n title: 'Choose VIP area',\n price: 73\n }\n ]\n }\n];\n\nexport {mockOffers};\n","import {getRandomArrayElement} from '../utils.js';\n\nconst mockPoints = [\n {\n id: 'ab11c7ec-63d2-4e49-bb4e-f000db081e9f',\n basePrice: 6284,\n dateFrom: '2025-02-11T09:46:12.970Z',\n dateTo: '2025-02-12T08:12:12.970Z',\n destination: '24514db9-cd07-4129-a377-8c6bd73d2e99',\n isFavorite: true,\n offers: [\n 'b8681284-e9c9-4b79-b14b-e33b0acc7591',\n 'b892f09d-d7c1-43d5-bb61-c320125af75d'\n ],\n type: 'drive'\n },\n {\n id: '754792f7-52a1-4a8a-93a6-7ce14ca86c14',\n basePrice: 3890,\n dateFrom: '2025-02-13T06:46:12.970Z',\n dateTo: '2025-02-14T12:13:12.970Z',\n destination: 'a8f0f30d-f243-45d0-af43-8d663a40712d',\n isFavorite: false,\n offers: [\n '1108cac6-d5e7-48ec-aebd-2e213444b1ee'\n ],\n type: 'check-in'\n },\n {\n id: 'bc3c49dd-9f9c-426a-ae6d-5f1f6237c35e',\n basePrice: 9509,\n dateFrom: '2025-02-15T03:07:12.970Z',\n dateTo: '2025-02-15T10:44:12.970Z',\n destination: '22fdb8aa-6682-4f67-a2c4-3ba172eeede9',\n isFavorite: true,\n offers: [\n '4406d403-df60-4ede-bc53-cdb424cc40f1'\n ],\n type: 'train'\n },\n {\n id: '5f5d0057-7442-451f-bb14-1041cf12674b',\n basePrice: 6618,\n dateFrom: '2025-02-16T17:02:12.970Z',\n dateTo: '2025-02-17T04:45:12.970Z',\n destination: '24514db9-cd07-4129-a377-8c6bd73d2e99',\n isFavorite: false,\n offers: [\n '70b8b20a-aee2-4716-93a8-6090e90aaa5f',\n 'f5ecc997-833b-4794-8a19-c9bf61830e15',\n 'a3ebdd4e-9021-43be-ae41-6ba5b1a2c8c7'\n ],\n type: 'bus'\n },\n {\n id: '02a1a91f-d8d7-4f60-8a8b-f0ad309d5298',\n basePrice: 8736,\n dateFrom: '2025-02-17T13:12:12.970Z',\n dateTo: '2025-02-18T05:41:12.970Z',\n destination: '24514db9-cd07-4129-a377-8c6bd73d2e99',\n isFavorite: false,\n offers: [\n 'b1bd6cc2-51ce-42b2-99f5-9df12a7f97f9',\n 'f91cfb4a-c241-4e22-8bf1-e5e8ab4bb222',\n 'c5424871-ab68-48e9-95ae-da33312cb24d',\n 'f0484591-cfda-45c8-9286-c222d8e1b701',\n '2fcaf275-8d86-4eb4-b4d8-e12f8c07edf3'\n ],\n type: 'ship'\n },\n {\n id: 'a22a4304-5d7a-436e-83b3-e4e52c5b0987',\n basePrice: 3075,\n dateFrom: '2025-02-20T01:38:12.970Z',\n dateTo: '2025-02-21T07:31:12.970Z',\n destination: '22fdb8aa-6682-4f67-a2c4-3ba172eeede9',\n isFavorite: true,\n offers: [\n '70b8b20a-aee2-4716-93a8-6090e90aaa5f',\n 'f5ecc997-833b-4794-8a19-c9bf61830e15',\n 'a3ebdd4e-9021-43be-ae41-6ba5b1a2c8c7'\n ],\n type: 'bus'\n },\n {\n id: '848b6def-66dd-4a30-8bc7-868f308c558b',\n basePrice: 9889,\n dateFrom: '2025-02-22T01:34:12.970Z',\n dateTo: '2025-02-23T12:31:12.970Z',\n destination: '88aa152d-9bda-4d6c-b002-81a34dc7914e',\n isFavorite: false,\n offers: [\n 'a3ebdd4e-9021-43be-ae41-6ba5b1a2c8c7'\n ],\n type: 'bus'\n },\n {\n id: '8dbbd41b-851d-4ce0-b791-e4c4b5ad9c0b',\n basePrice: 9609,\n dateFrom: '2025-02-23T20:06:12.970Z',\n dateTo: '2025-02-24T07:49:12.970Z',\n destination: '2c2eeb4d-8fe2-4852-ba52-ad3afdf22ca1',\n isFavorite: false,\n offers: [\n '471bf489-5102-4f18-a58e-69291145a936'\n ],\n type: 'flight'\n },\n {\n id: 'f19ad34d-fd8e-4924-88c3-41e1288fd8fd',\n basePrice: 9311,\n dateFrom: '2025-02-26T01:57:12.970Z',\n dateTo: '2025-02-27T23:52:12.970Z',\n destination: '88aa152d-9bda-4d6c-b002-81a34dc7914e',\n isFavorite: true,\n offers: [],\n type: 'sightseeing'\n },\n {\n id: '584f2b32-c787-4711-8455-e32cfe5322e6',\n basePrice: 8060,\n dateFrom: '2025-02-28T19:39:12.970Z',\n dateTo: '2025-03-02T17:31:12.970Z',\n destination: '4d516e51-d32e-4fee-9c3c-31024699e7c3',\n isFavorite: false,\n offers: [],\n type: 'sightseeing'\n },\n {\n id: '99658020-6d08-43fc-bca9-385caf33ebcb',\n basePrice: 2653,\n dateFrom: '2025-03-03T12:47:12.970Z',\n dateTo: '2025-03-04T13:58:12.970Z',\n destination: 'dd43c534-f518-48c1-b3cd-fb4b7b2f787e',\n isFavorite: true,\n offers: [\n 'cdd79f71-1520-4b85-9135-98f009f4a5d6',\n 'd44375b4-467b-4111-a86e-11a1f6e209a5',\n '6e77caf0-e083-497d-9b05-226272a3c557'\n ],\n type: 'taxi'\n },\n {\n id: '12e7ea0d-e79f-4f3a-8da9-9261eddd4e5b',\n basePrice: 6690,\n dateFrom: '2025-03-06T06:48:12.970Z',\n dateTo: '2025-03-07T06:11:12.970Z',\n destination: '88aa152d-9bda-4d6c-b002-81a34dc7914e',\n isFavorite: true,\n offers: [\n '34adc3d6-9d70-4f96-ad91-5fb75a3a6e6d',\n 'f1a1984c-c1a7-4a8d-883d-5c8fcdb2fc84',\n '7daefd03-2d9a-4143-9419-ebba3b2247fd',\n 'b75c96ec-f12f-403b-91be-abc0110b643f',\n '1108cac6-d5e7-48ec-aebd-2e213444b1ee'\n ],\n type: 'check-in'\n },\n {\n id: '1b830b3b-ff20-4674-8b0f-c3214cfbae73',\n basePrice: 7284,\n dateFrom: '2025-03-08T16:42:12.970Z',\n dateTo: '2025-03-10T13:09:12.970Z',\n destination: '88aa152d-9bda-4d6c-b002-81a34dc7914e',\n isFavorite: false,\n offers: [],\n type: 'taxi'\n },\n {\n id: '1a0e0ffd-0b1b-4779-bff8-6ca0a32af658',\n basePrice: 3362,\n dateFrom: '2025-03-12T00:38:12.970Z',\n dateTo: '2025-03-13T07:12:12.970Z',\n destination: '24514db9-cd07-4129-a377-8c6bd73d2e99',\n isFavorite: false,\n offers: [\n '6e77caf0-e083-497d-9b05-226272a3c557'\n ],\n type: 'taxi'\n },\n {\n id: '9e8ce435-52f2-40b6-b6f6-10e5b73ba3dc',\n basePrice: 7708,\n dateFrom: '2025-03-13T16:25:12.970Z',\n dateTo: '2025-03-14T19:39:12.970Z',\n destination: '22fdb8aa-6682-4f67-a2c4-3ba172eeede9',\n isFavorite: true,\n offers: [\n 'b892f09d-d7c1-43d5-bb61-c320125af75d'\n ],\n type: 'drive'\n },\n {\n id: '6102fd03-5945-4cdf-9045-cc8034827077',\n basePrice: 8632,\n dateFrom: '2025-03-16T06:31:12.970Z',\n dateTo: '2025-03-17T13:30:12.970Z',\n destination: '88aa152d-9bda-4d6c-b002-81a34dc7914e',\n isFavorite: true,\n offers: [],\n type: 'bus'\n },\n {\n id: '00ab297b-0e95-49a5-b671-542ee80b8b56',\n basePrice: 1569,\n dateFrom: '2025-03-18T11:21:12.970Z',\n dateTo: '2025-03-19T09:25:12.970Z',\n destination: '22fdb8aa-6682-4f67-a2c4-3ba172eeede9',\n isFavorite: false,\n offers: [],\n type: 'train'\n },\n {\n id: '00362c5a-5c49-4f32-8ecd-7fda767c5c08',\n basePrice: 4101,\n dateFrom: '2025-03-20T09:33:12.970Z',\n dateTo: '2025-03-21T17:57:12.970Z',\n destination: 'a8f0f30d-f243-45d0-af43-8d663a40712d',\n isFavorite: true,\n offers: [],\n type: 'check-in'\n },\n {\n id: 'a6b37366-b464-4756-9a68-34c3e34d80ae',\n basePrice: 8463,\n dateFrom: '2025-03-23T00:15:12.970Z',\n dateTo: '2025-03-24T00:26:12.970Z',\n destination: '22fdb8aa-6682-4f67-a2c4-3ba172eeede9',\n isFavorite: false,\n offers: [\n '471bf489-5102-4f18-a58e-69291145a936'\n ],\n type: 'flight'\n },\n {\n id: 'b42ff727-a449-4e22-bf89-2334d73f739e',\n basePrice: 6184,\n dateFrom: '2025-03-25T10:12:12.970Z',\n dateTo: '2025-03-27T06:18:12.970Z',\n destination: '24514db9-cd07-4129-a377-8c6bd73d2e99',\n isFavorite: false,\n offers: [\n 'd5d70b4c-27bf-4680-9f8c-07e02f10b16e',\n '1ef388a5-0a48-4e27-957f-6e265c8c3958',\n 'cdd79f71-1520-4b85-9135-98f009f4a5d6',\n 'd44375b4-467b-4111-a86e-11a1f6e209a5',\n '6e77caf0-e083-497d-9b05-226272a3c557'\n ],\n type: 'taxi'\n },\n {\n id: 'a716774c-e921-4ede-bc6e-5c3c49a09d37',\n basePrice: 5781,\n dateFrom: '2025-03-28T03:31:12.970Z',\n dateTo: '2025-03-29T17:57:12.970Z',\n destination: '88aa152d-9bda-4d6c-b002-81a34dc7914e',\n isFavorite: false,\n offers: [\n 'f50debc7-c76f-425b-bf31-edd84c5877ad',\n 'd64143b4-9527-4470-8ed1-5290d589b96b',\n '0e87c0f3-7abc-4ba4-b4c8-e8774c6b86b0',\n '3968d985-0310-490e-a0c7-f49f5f0b07a1',\n '471bf489-5102-4f18-a58e-69291145a936'\n ],\n type: 'flight'\n },\n {\n id: '01288957-597b-4926-a545-b3506d792081',\n basePrice: 8592,\n dateFrom: '2025-03-31T02:56:12.970Z',\n dateTo: '2025-04-02T02:12:12.970Z',\n destination: 'a8f0f30d-f243-45d0-af43-8d663a40712d',\n isFavorite: false,\n offers: [\n 'b1bd6cc2-51ce-42b2-99f5-9df12a7f97f9',\n 'f91cfb4a-c241-4e22-8bf1-e5e8ab4bb222',\n 'c5424871-ab68-48e9-95ae-da33312cb24d',\n 'f0484591-cfda-45c8-9286-c222d8e1b701',\n '2fcaf275-8d86-4eb4-b4d8-e12f8c07edf3'\n ],\n type: 'ship'\n },\n {\n id: '0f705908-1a03-4e67-baa6-5791e3dcc1fc',\n basePrice: 4241,\n dateFrom: '2025-04-02T15:01:12.970Z',\n dateTo: '2025-04-03T23:53:12.970Z',\n destination: '4d516e51-d32e-4fee-9c3c-31024699e7c3',\n isFavorite: true,\n offers: [],\n type: 'sightseeing'\n },\n {\n id: '26e2447f-f49d-412b-a983-35c0f7770dad',\n basePrice: 698,\n dateFrom: '2025-04-05T20:55:12.970Z',\n dateTo: '2025-04-07T05:36:12.970Z',\n destination: '22fdb8aa-6682-4f67-a2c4-3ba172eeede9',\n isFavorite: true,\n offers: [],\n type: 'train'\n },\n {\n id: '7415e8ca-88eb-43a5-b6d1-dec78f489322',\n basePrice: 39,\n dateFrom: '2025-04-07T23:11:12.970Z',\n dateTo: '2025-04-09T21:34:12.970Z',\n destination: '24514db9-cd07-4129-a377-8c6bd73d2e99',\n isFavorite: true,\n offers: [],\n type: 'sightseeing'\n }\n];\n\nfunction getRandomPoints() {\n return getRandomArrayElement(mockPoints);\n}\nexport {getRandomPoints};\n","import FilterView from './view/filter-view.js';\nimport HeaderInfoView from './view/header-info-view.js';\nimport {render} from './framework/render.js';\nimport TripPresenter from './presenter/trip-presenter.js';\nimport PointsModel from './model/points-model.js';\n\nconst headerContainer = document.querySelector('.trip-main');\nconst filterContainer = headerContainer.querySelector('.trip-controls__filters');\nconst tripEventsContainer = document.querySelector('.trip-events');\n\nconst pointsModel = new PointsModel();\nconst tripPresenter = new TripPresenter({\n container: tripEventsContainer,\n pointsModel,\n});\n\nrender (new FilterView(), filterContainer);\nrender (new HeaderInfoView(), headerContainer, 'afterbegin');\n\ntripPresenter.init();\n","import {mockDestinations} from '../mock/destinations.js';\nimport {mockOffers} from '../mock/offers.js';\nimport {getRandomPoints} from '../mock/points.js';\nimport {POINT_COUNT} from '../const.js';\n\nexport default class PointsModel {\n #points = Array.from({length: POINT_COUNT}, getRandomPoints);\n #offers = mockOffers;\n #destinations = mockDestinations;\n\n get points() {\n return this.#points;\n }\n\n get offers() {\n return this.#offers;\n }\n\n get destinations() {\n return this.#destinations;\n }\n}\n","import SortView from '../view/sort-view.js';\nimport EditFormView from '../view/edit-form-view.js';\nimport RoutePointListView from '../view/route-point-list-view.js';\nimport RoutePointView from '../view/route-point-view.js';\nimport {render, replace} from '../framework/render.js';\n\nexport default class TripPresenter {\n #container = null;\n #pointsModel = null;\n\n #pointListElement = new RoutePointListView();\n\n #routePoints = [];\n #offers = [];\n #destinations = [];\n\n constructor({container, pointsModel}) {\n this.#container = container;\n this.#pointsModel = pointsModel;\n }\n\n init() {\n this.#routePoints = [...this.#pointsModel.points];\n this.#offers = [...this.#pointsModel.offers];\n this.#destinations = [...this.#pointsModel.destinations];\n\n this.#renderTripBoard();\n }\n\n #renderRoutePoint(point, offers, destinations) {\n\n const escKeyDownHandler = (evt) => {\n if (evt.key === 'Escape') {\n evt.preventDefault();\n replaceEditFormToRoutePoint();\n document.removeEventListener('keydown', escKeyDownHandler);\n }\n };\n\n const pointElement = new RoutePointView({\n point,\n offers,\n destinations,\n onUnrollBtnClick: () => {\n replaceRoutePointToEditForm();\n document.addEventListener('keydown', escKeyDownHandler);\n }\n });\n\n const editFormElement = new EditFormView({\n point,\n offers,\n destinations,\n onRollupBtnClick: () => {\n replaceEditFormToRoutePoint();\n document.removeEventListener('keydown', escKeyDownHandler);\n },\n onFormSubmit: () => {\n replaceEditFormToRoutePoint();\n document.removeEventListener('keydown', escKeyDownHandler);\n }\n });\n\n function replaceRoutePointToEditForm() {\n replace(editFormElement, pointElement);\n }\n\n function replaceEditFormToRoutePoint() {\n replace(pointElement, editFormElement);\n }\n\n render(pointElement, this.#pointListElement.element);\n render(editFormElement, this.#pointListElement.element);\n }\n\n #renderTripBoard() {\n render(new SortView(), this.#container);\n render(this.#pointListElement, this.#container);\n\n for (let i = 0; i < this.#routePoints.length; i++) {\n this.#renderRoutePoint(this.#routePoints[i], this.#offers, this.#destinations);\n }\n }\n}\n","import AbstractView from '../framework/view/abstract-view.js';\n\nfunction createFilterTemplate() {\n return (`
        \n
        \n \n \n
        \n\n
        \n \n \n
        \n\n
        \n \n \n
        \n\n
        \n \n \n
        \n\n \n
        `);\n}\n\nexport default class FilterView extends AbstractView {\n get template() {\n return createFilterTemplate();\n }\n}\n","import AbstractView from '../framework/view/abstract-view.js';\n\nfunction createHeaderInfoTemplate() {\n return (`
        \n
        \n

        Amsterdam — Chamonix — Geneva

        \n\n

        18 — 20 Mar

        \n
        \n\n

        \n Total: € 1230\n

        \n
        `);\n}\n\nexport default class HeaderInfoView extends AbstractView {\n get template() {\n return createHeaderInfoTemplate();\n }\n}\n"],"names":["___CSS_LOADER_EXPORT___","push","module","id","exports","cssWithMappingToString","list","toString","this","map","item","content","needLayer","concat","length","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","_k","cssMapping","btoa","base64","unescape","encodeURIComponent","JSON","stringify","data","sourceMapping","e","n","r","s","u","a","o","f","h","c","d","l","$","y","M","name","weekdays","split","months","ordinal","t","m","String","Array","v","z","utcOffset","Math","abs","floor","date","year","month","clone","add","ceil","p","w","D","ms","Q","toLowerCase","replace","g","_","S","args","arguments","O","locale","$L","utc","$u","x","$x","$offset","parse","prototype","$d","Date","NaN","test","match","substring","UTC","init","$y","getFullYear","$M","getMonth","$D","getDate","$W","getDay","$H","getHours","$m","getMinutes","$s","getSeconds","$ms","getMilliseconds","$utils","isValid","isSame","startOf","endOf","isAfter","isBefore","$g","set","unix","valueOf","getTime","toDate","apply","slice","$locale","weekStart","$set","min","daysInMonth","get","Number","round","subtract","format","invalidDate","meridiem","YY","YYYY","MM","MMM","monthsShort","MMMM","DD","dd","weekdaysMin","ddd","weekdaysShort","dddd","H","HH","hh","A","mm","ss","SSS","Z","getTimezoneOffset","diff","toJSON","toISOString","toUTCString","T","forEach","extend","$i","isDayjs","en","Ls","years","days","hours","minutes","seconds","milliseconds","weeks","$l","negative","parseFromMilliseconds","Object","keys","calMilliseconds","reduce","Y","as","humanize","fromNow","asMilliseconds","asSeconds","asMinutes","asHours","asDays","asWeeks","asMonths","asYears","duration","isDuration","bind","local","call","getUTCFullYear","getUTCMonth","getUTCDate","getUTCDay","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","$localOffset","isUTC","stylesInDOM","getIndexByIdentifier","identifier","result","modulesToDom","options","idCountMap","identifiers","base","count","indexByIdentifier","obj","css","sourceMap","references","updater","addElementStyle","byIndex","splice","api","domAPI","update","newObj","remove","lastIdentifiers","newList","index","newLastIdentifiers","_i","_index","memo","insert","style","target","styleTarget","document","querySelector","window","HTMLIFrameElement","contentDocument","head","getTarget","Error","appendChild","element","createElement","setAttributes","attributes","styleElement","nonce","setAttribute","insertStyleElement","styleTagTransform","parentNode","removeChild","removeStyleElement","styleSheet","cssText","firstChild","createTextNode","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","__esModule","definition","key","defineProperty","enumerable","prop","hasOwnProperty","nc","render","component","container","place","AbstractView","insertAdjacentElement","newComponent","oldComponent","newElement","oldElement","parent","parentElement","replaceChild","SHAKE_CLASS_NAME","constructor","template","innerHTML","firstElementChild","removeElement","shake","callback","classList","setTimeout","SortView","POINT_TYPES","humanizeTime","time","dayjs","humanizeDateTime","dateTime","EditFormView","point","offers","destinations","onRollupBtnClick","onFormSubmit","super","addEventListener","basePrice","type","dateFrom","dateTo","pointDestination","find","dest","destination","description","pointTypeTemplate","pointType","word","toUpperCase","createPointTypeTemplate","typeOfferTemplate","typeOffers","offer","pointOffers","filter","typeOffer","includes","checkedOffers","title","price","createTypeOfferTemplate","destinationListTemplate","createDestinationListTemplate","createEditFormTemplate","evt","preventDefault","RoutePointListView","RoutePointView","onUnrollBtnClick","isFavorite","pointDateFrom","timeDifference","firstDate","secondDate","date1","date2","getTimeDifference","poinTimeFrom","pointTimeTo","favoriteClassName","createRoutePointTemplate","mockDestinations","pictures","src","mockOffers","mockPoints","getRandomPoints","items","random","headerContainer","filterContainer","tripEventsContainer","pointsModel","from","points","tripPresenter","escKeyDownHandler","replaceEditFormToRoutePoint","removeEventListener","pointElement","editFormElement"],"sourceRoot":""} \ No newline at end of file diff --git a/5/css/style.css b/5/css/style.css new file mode 100644 index 0000000..c6c86ec --- /dev/null +++ b/5/css/style.css @@ -0,0 +1,833 @@ +@font-face { + font-family: 'Montserrat'; + font-style: normal; + font-weight: 400; + src: local('Montserrat Regular'), local('Montserrat-Regular'), url('../fonts/Montserrat-Regular.woff2') format('woff2'); +} + +@font-face { + font-family: 'Montserrat'; + font-style: normal; + font-weight: 500; + src: local('Montserrat Medium'), local('Montserrat-Medium'), url('../fonts/Montserrat-Medium.woff2') format('woff2'); +} + +@font-face { + font-family: 'Montserrat'; + font-style: normal; + font-weight: 600; + src: local('Montserrat SemiBold'), local('Montserrat-SemiBold'), url('../fonts/Montserrat-SemiBold.woff2') format('woff2'); +} + +@font-face { + font-family: 'Montserrat'; + font-style: normal; + font-weight: 700; + src: local('Montserrat Bold'), local('Montserrat-Bold'), url('../fonts/Montserrat-Bold.woff2') format('woff2'); +} + +@font-face { + font-family: 'Montserrat'; + font-style: normal; + font-weight: 800; + src: local('Montserrat ExtraBold'), local('Montserrat-ExtraBold'), url('../fonts/Montserrat-ExtraBold.woff2') format('woff2'); +} + +html { + height: 100%; } + +body { + padding: 0; + margin: 0; + -webkit-font-smoothing: antialiased; + -webkit-text-size-adjust: 100%; + -webkit-tap-highlight-color: transparent; } + +main { + display: block; } + +@-moz-document url-prefix() { + body { + font-weight: 200; + -moz-osx-font-smoothing: grayscale; } } + +.visually-hidden { + position: absolute; + overflow: hidden; + clip: rect(0 0 0 0); + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + border: 0; } + +.page-body { + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; + height: 100%; + min-width: 1200px; + padding: 0; + margin: 0; + font-size: 17px; + line-height: 1.2; + font-family: "Montserrat", "Arial", sans-serif; + color: #000000; + background-color: #f2f2f2; } + +.page-body__container { + -ms-flex-positive: 1; + flex-grow: 1; + position: relative; + z-index: 0; + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 1200px; + padding: 0 10px; + margin: 0 auto; } + .page-body__container::after { + content: ""; + position: absolute; + z-index: -1; + top: 0; + bottom: 0; + left: 130px; + width: 2px; + background-color: rgba(255, 255, 255, 0.58); } + +.page-body__page-main { + -ms-flex-positive: 1; + flex-grow: 1; + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; } + +.btn { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: center; + justify-content: center; + padding: 4px 16px 5px; + font-weight: 500; + font-size: 17px; + line-height: 21px; + font-family: inherit; + text-decoration: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + border: none; + border-radius: 15px; + cursor: pointer; + -webkit-transition: opacity 0.2s; + transition: opacity 0.2s; } + .btn:hover { + opacity: 0.8; } + .btn:active { + opacity: 0.6; } + .btn--big { + padding: 17px 29px 16px; + font-size: 18px; + line-height: 21px; + border-radius: 27px; } + .btn--yellow { + color: #424242; + background-color: #ffd054; } + .btn--blue { + color: #ffffff; + background-color: #0d8ae4; } + .btn:disabled { + opacity: 0.46; + cursor: default; } + +.page-header { + padding-top: 23px; + color: #ffffff; + background-color: #078ff0; + background-image: url("../img/header-bg.png"); + background-size: cover; + background-repeat: no-repeat; } + @media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi), (min-resolution: 1.5dppx) { + .page-header { + background-image: url("../img/header-bg@2x.png"); } } + +.page-header__container { + display: -ms-flexbox; + display: flex; + -ms-flex-align: start; + align-items: flex-start; + padding-left: 110px; } + +.page-header__logo { + display: block; + width: 42px; + height: 42px; + margin-right: 18px; } + +.trip-main { + -ms-flex-positive: 1; + flex-grow: 1; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -ms-flex-align: start; + align-items: flex-start; + -ms-flex-pack: justify; + justify-content: space-between; + padding-bottom: 10px; } + .trip-main--hidden { + display: none; } + +.trip-main__trip-info { + width: 100%; + margin-bottom: 35px; } + +.trip-main__trip-controls { + margin-top: 36px; + width: 600px; } + +.trip-main__event-add-btn { + min-width: 170px; + margin-left: auto; } + .trip-main__event-add-btn::before { + content: "\002B\000A0"; } + .trip-main__event-add-btn--hidden { + display: none; } + +.trip-info { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: justify; } + +.trip-info__main { + width: 600px; } + +.trip-info__title { + margin: 0; + margin-bottom: 4px; + font-weight: 800; + font-size: 17px; + line-height: 21px; } + +.trip-info__dates { + margin: 0; + font-weight: 800; + font-size: 13px; + line-height: 16px; + text-transform: uppercase; + opacity: 0.8; } + +.trip-info__cost { + width: 170px; + margin: 0 0 0 auto; + font-weight: 700; + font-size: 21px; + line-height: 25px; + text-align: center; } + +.trip-controls__trip-tabs { + margin-bottom: 9px; } + +.trip-tabs { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -ms-flex-align: start; + align-items: flex-start; } + +.trip-tabs__btn { + display: block; + font-weight: 500; + font-size: 21px; + line-height: 25px; + text-decoration: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + color: inherit; + opacity: 0.8; + -webkit-transition: opacity 0.2s; + transition: opacity 0.2s; } + .trip-tabs__btn:not(:last-of-type) { + margin-right: 26px; } + .trip-tabs__btn:hover { + opacity: 1; } + .trip-tabs__btn:active { + opacity: 0.6; } + .trip-tabs__btn--active, .trip-tabs__btn--active:hover, .trip-tabs__btn--active:active { + opacity: 1; + cursor: default; } + +.trip-filters { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -ms-flex-align: start; + align-items: flex-start; } + .trip-filters--hidden { + display: none; } + +.trip-filters__filter:not(:last-of-type) { + margin-right: 19px; } + +.trip-filters__filter-label { + font-weight: 800; + font-size: 14px; + line-height: 17px; + letter-spacing: 0.5px; + text-transform: uppercase; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + opacity: 0.6; + cursor: pointer; + -webkit-transition: opacity 0.2s; + transition: opacity 0.2s; } + .trip-filters__filter-label:hover { + opacity: 1; } + .trip-filters__filter-label:active { + opacity: 0.6; } + .trip-filters__filter-input:checked + .trip-filters__filter-label { + opacity: 1; + cursor: default; } + .trip-filters__filter-input:disabled + .trip-filters__filter-label { + opacity: 0.4; + cursor: default; } + +.trip-events { + padding-top: 22px; } + .trip-events--hidden { + display: none; } + +.trip-events__trip-sort { + margin-bottom: 8px; } + +.trip-events__msg { + margin: 0; + margin-top: 280px; + font-weight: 500; + font-size: 44px; + line-height: 60px; + text-align: center; + opacity: 0.89; } + .trip-events__msg--hidden { + display: none; } + +.trip-events__list { + padding: 0; + margin: 0; + list-style: none; } + +.trip-events__item { + margin-bottom: 54px; + margin-left: auto; } + +.trip-sort { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -ms-flex-align: center; + align-items: center; } + +.trip-sort__item { + margin-right: 15px; + font-weight: 800; + font-size: 13px; + line-height: 16px; + letter-spacing: 0.6px; + text-transform: uppercase; + color: #b4b4b4; + cursor: default; + -webkit-transition: color 0.2s; + transition: color 0.2s; } + .trip-sort__item:last-child { + margin-right: 0; } + .trip-sort__item--day { + width: 55px; + text-align: center; + margin-right: 83px; } + .trip-sort__item--event { + width: 300px; } + .trip-sort__item--time { + width: 225px; } + .trip-sort__item--price { + width: 90px; } + +.trip-sort__btn { + display: -ms-inline-flexbox; + display: inline-flex; + -ms-flex-align: center; + align-items: center; + padding: 7px 15px 6px 22px; + border: 1px solid transparent; + border-radius: 14px; + cursor: pointer; } + .trip-sort__btn:hover { + color: #000000; } + .trip-sort__input:checked + .trip-sort__btn { + position: relative; + color: #000000; + border-color: #000000; } + .trip-sort__input:checked + .trip-sort__btn::before { + content: ""; + position: absolute; + top: 50%; + left: 8px; + width: 8px; + height: 8px; + background-color: #ffd054; + border-radius: 50%; + -webkit-transform: translateY(-50%); + transform: translateY(-50%); } + +.trip-sort__input:disabled + .trip-sort__btn { + opacity: 0.6; } +.trip-sort__input:disabled + .trip-sort__btn:hover { + color: #b4b4b4; + cursor: default; } + +.event { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + -webkit-box-sizing: border-box; + box-sizing: border-box; + padding: 20px; + font-size: 17px; + line-height: 21px; } + .event--edit { + display: block; + margin-left: 80px; + padding: 0; + background-color: #ffffff; + border-radius: 18px; + -webkit-box-shadow: 0 11px 20px rgba(0, 0, 0, 0.043); + box-shadow: 0 11px 20px rgba(0, 0, 0, 0.043); } + +.event__header { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + padding: 20px; } + +.event__date { + display: block; + min-width: 80px; + font-size: 13px; + line-height: 16px; + text-transform: uppercase; + text-align: left; } + +.event__type-wrapper { + position: relative; } + +.event__type { + -ms-flex-negative: 0; + flex-shrink: 0; + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 42px; + height: 42px; + margin-right: 18px; + background-color: #ffffff; + border-radius: 50%; } + +.event__type-btn { + padding: 0; + border: 1px solid #0d8ae4; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; } + +.event__type-icon { + display: block; + width: 17px; + height: 17px; } + +.event__type-list { + position: absolute; + z-index: 2; + top: calc(100% + 7px); + left: -20px; + display: none; + width: 180px; + background-color: #ffffff; + border: 1px solid rgba(151, 151, 151, 0.169724); + -webkit-box-shadow: 0 11px 20px rgba(0, 0, 0, 0.219146); + box-shadow: 0 11px 20px rgba(0, 0, 0, 0.219146); + border-radius: 4px; } + +.event__type-toggle:checked + .event__type-list { + display: block; } + +.event__type-group { + padding: 13px 0 11px; + margin: 0; + border: none; } + .event__type-group:not(:last-of-type) { + border-bottom: 1px solid rgba(151, 151, 151, 0.33); } + +.event__type-item:not(:last-child) { + margin-bottom: 5px; } + +.event__type-label { + position: relative; + display: block; + padding: 5px 10px 5px 62px; + font-size: 17px; + line-height: 21px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; + -webkit-transition: color 0.2s; + transition: color 0.2s; } + .event__type-label::before { + content: ""; + position: absolute; + top: calc(50% - 3px); + left: 32px; + width: 17px; + height: 17px; + background-position: 0 0; + background-size: 17px 17px; + background-repeat: no-repeat; + -webkit-transform: translateY(-50%); + transform: translateY(-50%); } + .event__type-label--taxi::before { + background-image: url("../img/icons/taxi.png"); } + .event__type-label--bus::before { + background-image: url("../img/icons/bus.png"); } + .event__type-label--train::before { + background-image: url("../img/icons/train.png"); } + .event__type-label--ship::before { + background-image: url("../img/icons/ship.png"); } + .event__type-label--drive::before { + background-image: url("../img/icons/drive.png"); } + .event__type-label--flight::before { + background-image: url("../img/icons/flight.png"); } + .event__type-label--check-in::before { + background-image: url("../img/icons/check-in.png"); } + .event__type-label--sightseeing::before { + background-image: url("../img/icons/sightseeing.png"); } + .event__type-label--restaurant::before { + background-image: url("../img/icons/restaurant.png"); } + .event__type-label:hover { + color: #ffd054; } + +.event__type-input:checked + .event__type-label { + color: #000000; + background-color: #ffd054; } + .event__type-input:checked + .event__type-label::after { + content: ""; + position: absolute; + top: 50%; + left: 11px; + width: 8px; + height: 8px; + background-color: #ffffff; + border-radius: 50%; + -webkit-transform: translateY(-50%); + transform: translateY(-50%); } + +.event__title { + -ms-flex-negative: 0; + flex-shrink: 0; + width: 298px; + margin: 0; + margin-right: 15px; + font-weight: 400; + font-size: inherit; } + .event__title::first-letter { + text-transform: capitalize; } + +.event__schedule { + -ms-flex-negative: 0; + flex-shrink: 0; + width: 230px; + margin-right: 15px; } + +.event__time { + margin: 0; + margin-bottom: 4px; } + +.event__duration { + margin: 0; + font-size: 14px; + line-height: 17px; + letter-spacing: 0.6px; + text-transform: uppercase; + color: #999999; + opacity: 0.9; } + +.event__price { + -ms-flex-negative: 0; + flex-shrink: 0; + width: 90px; + margin: 0; + margin-right: 15px; } + +.event__selected-offers { + width: 220px; + padding: 0; + margin: 0; + font-weight: 600; + list-style: none; } + +.event__rollup-btn { + position: relative; + display: block; + width: 40px; + height: 40px; + padding: 0; + margin: 0; + background-color: transparent; + border: none; + cursor: pointer; } + .event__rollup-btn::after { + content: ""; + position: absolute; + top: calc(50% - 5px); + left: 50%; + width: 10px; + height: 10px; + border-right: 2px solid #000000; + border-bottom: 2px solid #000000; + -webkit-transform: translate(-50%, -50%) rotate(45deg); + transform: translate(-50%, -50%) rotate(45deg); + -webkit-transition: border-color 0.2s, -webkit-transform 0.6s; + transition: border-color 0.2s, -webkit-transform 0.6s; + transition: border-color 0.2s, transform 0.6s; + transition: border-color 0.2s, transform 0.6s, -webkit-transform 0.6s; } + .event__rollup-btn:hover::after { + border-color: #0d8ae4; } + +.event--edit .event__rollup-btn { + margin-left: auto; } +.event--edit .event__rollup-btn::after { + top: calc(50% + 3px); + -webkit-transform: translate(-50%, -50%) rotate(225deg); + transform: translate(-50%, -50%) rotate(225deg); } + +.event__field-group { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + padding: 5px 2px; + margin-right: 18px; + border-bottom: 1px solid #0d8ae4; } + .event__field-group--destination { + width: 290px; } + +.event__label { + margin-right: 5px; + cursor: pointer; } + .event__label::first-letter { + text-transform: capitalize; } + +.event__input { + -ms-flex-positive: 1; + flex-grow: 1; + padding: 0; + font-size: inherit; + line-height: inherit; + font-family: inherit; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + border: none; } + .event__input--destination { + width: 150px; } + .event__input--destination::-webkit-calendar-picker-indicator { + display: none; } + .event__input--time { + width: 130px; + text-align: center; } + .event__input--price { + width: 66px; } + +.event__save-btn { + margin-right: 18px; } + +.event__reset-btn { + display: block; + padding: 0; + font-weight: 500; + font-size: 17px; + line-height: 21px; + font-family: inherit; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + color: #0d8ae4; + background-color: transparent; + border: none; + cursor: pointer; + -webkit-transition: opacity 0.2s; + transition: opacity 0.2s; } + .event__reset-btn:hover { + opacity: 0.8; } + .event__reset-btn:active { + opacity: 0.6; } + +.event__favorite-btn { + margin: 0 10px; + margin-left: auto; + color: #ebebeb; + background-color: transparent; + border: none; + cursor: pointer; + outline: none; + -webkit-transition: color 0.2s; + transition: color 0.2s; } + .event__favorite-btn:hover, + .event__favorite-btn:focus { + color: rgba(255, 208, 84, 0.6); } + .event__favorite-btn--active { + color: #ffd054; + } + +.event__favorite-icon { + display: block; + width: 28px; + height: 28px; + fill: currentColor; + -webkit-transition: fill 0.2s; + transition: fill 0.2s; } + +.event__details { + padding: 20px 0 27px; + border-top: 2px solid #ffd054; } + +.event--blocked .event__details { + position: relative; } + .event--blocked .event__details::after { + content: ""; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + background: rgba(255, 255, 255, 0.8); + border-radius: 0 0 18px 18px; } + +.event__details-title { + padding-left: 20px; + margin: 0; + margin-bottom: 24px; + font-weight: 500; + font-size: 23px; + line-height: 27px; } + +.event__section:not(:last-child) { + margin-bottom: 28px; } + +.event__section--offers { + padding: 0 20px; } + +.event__section-title { + margin: 0; + font-weight: 800; + font-size: 14px; + line-height: 17px; + letter-spacing: 0.6px; + text-transform: uppercase; + color: #ffd054; } + .event__section-title--offers { + margin-bottom: 15px; } + .event__section-title--destination { + margin-bottom: 8px; + margin-left: 20px; } + +.event__available-offers { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + margin-bottom: -6px; } + +.event__offer::first-letter { + text-transform: capitalize; } + +.event__offer-selector { + margin-bottom: 6px; } + .event__offer-selector:not(:last-of-type) { + margin-right: 6px; } + +.event__offer-label { + display: block; + padding: 22px 30px 21px; + font-size: 17px; + line-height: 21px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background-color: #f2f2f2; + border-radius: 32px; + cursor: pointer; + -webkit-transition: background-color 0.2s; + transition: background-color 0.2s; } + .event__offer-label:hover { + background-color: rgba(13, 138, 228, 0.6); } + .event__offer-label::first-letter { + text-transform: capitalize; } + +.event__offer-checkbox:checked + .event__offer-label { + background-color: #0d8ae4; } + +.event__destination-description { + width: 560px; + margin: 0; + margin-bottom: 16px; + margin-left: 20px; + font-size: 15px; + line-height: 18px; } + +.event__photos-container { + width: 100%; + overflow-x: scroll; } + +.event__photos-tape { + display: -ms-flexbox; + display: flex; + -ms-flex-align: start; + align-items: flex-start; } + +.event__photo { + display: block; + height: 152px; + width: auto; + border-radius: 4px; } + .event__photo:first-child { + padding-left: 20px; } + .event__photo:last-child { + padding-right: 20px; } + .event__photo:not(:last-child) { + margin-right: 5px; } diff --git a/5/fonts/Montserrat-Bold.woff2 b/5/fonts/Montserrat-Bold.woff2 new file mode 100644 index 0000000..3d0b409 Binary files /dev/null and b/5/fonts/Montserrat-Bold.woff2 differ diff --git a/5/fonts/Montserrat-ExtraBold.woff2 b/5/fonts/Montserrat-ExtraBold.woff2 new file mode 100644 index 0000000..0abb707 Binary files /dev/null and b/5/fonts/Montserrat-ExtraBold.woff2 differ diff --git a/5/fonts/Montserrat-Medium.woff2 b/5/fonts/Montserrat-Medium.woff2 new file mode 100644 index 0000000..9dc5c7f Binary files /dev/null and b/5/fonts/Montserrat-Medium.woff2 differ diff --git a/5/fonts/Montserrat-Regular.woff2 b/5/fonts/Montserrat-Regular.woff2 new file mode 100644 index 0000000..70788c2 Binary files /dev/null and b/5/fonts/Montserrat-Regular.woff2 differ diff --git a/5/fonts/Montserrat-SemiBold.woff2 b/5/fonts/Montserrat-SemiBold.woff2 new file mode 100644 index 0000000..29cc1a9 Binary files /dev/null and b/5/fonts/Montserrat-SemiBold.woff2 differ diff --git a/5/img/header-bg.png b/5/img/header-bg.png new file mode 100644 index 0000000..c7ccbda Binary files /dev/null and b/5/img/header-bg.png differ diff --git a/5/img/header-bg@2x.png b/5/img/header-bg@2x.png new file mode 100644 index 0000000..26716e3 Binary files /dev/null and b/5/img/header-bg@2x.png differ diff --git a/5/img/icons/bus.png b/5/img/icons/bus.png new file mode 100644 index 0000000..bb2bad6 Binary files /dev/null and b/5/img/icons/bus.png differ diff --git a/5/img/icons/check-in.png b/5/img/icons/check-in.png new file mode 100644 index 0000000..866702e Binary files /dev/null and b/5/img/icons/check-in.png differ diff --git a/5/img/icons/drive.png b/5/img/icons/drive.png new file mode 100644 index 0000000..ef3522d Binary files /dev/null and b/5/img/icons/drive.png differ diff --git a/5/img/icons/flight.png b/5/img/icons/flight.png new file mode 100644 index 0000000..3e690ca Binary files /dev/null and b/5/img/icons/flight.png differ diff --git a/5/img/icons/restaurant.png b/5/img/icons/restaurant.png new file mode 100644 index 0000000..d677771 Binary files /dev/null and b/5/img/icons/restaurant.png differ diff --git a/5/img/icons/ship.png b/5/img/icons/ship.png new file mode 100644 index 0000000..e854301 Binary files /dev/null and b/5/img/icons/ship.png differ diff --git a/5/img/icons/sightseeing.png b/5/img/icons/sightseeing.png new file mode 100644 index 0000000..a87e06b Binary files /dev/null and b/5/img/icons/sightseeing.png differ diff --git a/5/img/icons/taxi.png b/5/img/icons/taxi.png new file mode 100644 index 0000000..f052e81 Binary files /dev/null and b/5/img/icons/taxi.png differ diff --git a/5/img/icons/train.png b/5/img/icons/train.png new file mode 100644 index 0000000..1dfd1f3 Binary files /dev/null and b/5/img/icons/train.png differ diff --git a/5/img/icons/transport.png b/5/img/icons/transport.png new file mode 100644 index 0000000..9200b63 Binary files /dev/null and b/5/img/icons/transport.png differ diff --git a/5/img/logo.png b/5/img/logo.png new file mode 100644 index 0000000..f11c3ae Binary files /dev/null and b/5/img/logo.png differ diff --git a/5/img/photos/1.jpg b/5/img/photos/1.jpg new file mode 100644 index 0000000..2234819 Binary files /dev/null and b/5/img/photos/1.jpg differ diff --git a/5/img/photos/2.jpg b/5/img/photos/2.jpg new file mode 100644 index 0000000..833055b Binary files /dev/null and b/5/img/photos/2.jpg differ diff --git a/5/img/photos/3.jpg b/5/img/photos/3.jpg new file mode 100644 index 0000000..b63e90a Binary files /dev/null and b/5/img/photos/3.jpg differ diff --git a/5/img/photos/4.jpg b/5/img/photos/4.jpg new file mode 100644 index 0000000..de034f4 Binary files /dev/null and b/5/img/photos/4.jpg differ diff --git a/5/img/photos/5.jpg b/5/img/photos/5.jpg new file mode 100644 index 0000000..fa162ab Binary files /dev/null and b/5/img/photos/5.jpg differ diff --git a/5/index.html b/5/index.html new file mode 100644 index 0000000..314c24e --- /dev/null +++ b/5/index.html @@ -0,0 +1 @@ +Big Trip

        Trip events

        \ No newline at end of file